Скажи ТВ-рекламе НЕТ!
Введение
Реклама по телевизору способна вывести из терпения даже самых стойких из нас. По данным статистики, 45% россиян сразу после начала рекламы по телевизору переключают на другой канал. Если же вы записываете программу на видеомагнитофон или DVD-рекордер, то с первыми кадрами рекламы надо успеть поставить запись на паузу. От телевизора или видеомагнитофона ждать каких-то фантастических возможностей по удалению рекламы мы не привыкли. Но другое дело - компьютер с установленным ТВ-тюнером. Неужели нет возможности каким-то образом определять начало рекламы? К счастью, такая возможность недавно появилась и теперь прогрессивная часть наших соотечественников получила отличное оружие в борьбе с телевизионной рекламой. А случилось вот что - компания Beholder, лидер в производстве ТВ-тюнеров, выпустила программный модуль, определяющий трансляцию рекламы по наличию или отсутствию логотипа канала. Какие возможности нам это даёт, мы сейчас и попытаемся разобраться.
Реклама без логотипов
Наверное, многие из вас замечали, что во время трансляции телевизионной рекламы по какому-либо каналу, на экране исчезает логотип канала. В соответствии со статьей 5 Федерального закона о рекламе, каждый из вещателей обязан обозначать "прохождение" рекламы во время трансляции. Для этого во время показа рекламной информации с экрана убирают логотип канала. Исключение составляют ролики, в которых канал анонсирует свои передачи или фильмы.

По наличию или отсутствию логотипа можно определить, что по данному каналу сейчас транслируется реклама и предпринять какое-либо действие. Идея с детектором логотипов витала в воздухе достаточно давно, а её реализацией занимались в России ещё с конца девяностых годов. Были даже телевизоры с детекторами рекламы, которые могли переключаться на другой канал, где рекламу не показывают. Но к нашей теме это имеет довольно косвенное отношение.

Конкуренция на рынке ТВ-тюнеров заставляет выпускать всё более и более функциональные продукты, которые по своим возможностям уже давно превосходят обычные телевизоры с видеомагнитофонами. У нас не было никакого сомнения, что рано или поздно какой-нибудь производитель ТВ-тюнеров введёт поддержку этой функции в своё программное обеспечение. Был только вопрос - кто именно? Лидерство в очередной раз перехватила компания Beholder. Программное обеспечение Behold TV единственное в своём роде, которое имеет поддержку подключаемых модулей. Благодаря этому Beholder уже добавил в свои ТВ-тюнеры такие возможности, как избавление это эффектов многолучевого приёма, увеличение чёткости, дополнительные фильтры деинтерлейсинга и шумоподавления. Более подробно о программных особенностях тюнеров Beholder написано в нашей статье "Превосходя возможности телевизора...". Она будет полезна тем, кто не знает о подключаемых программных модулях Beholder. Ну а если вы уже в курсе, то вперёд - к вырезанию рекламы!

Детектор логотипов
Подключаемый модуль BPP_LogoDetector доступен для скачивания с официального сайта www.beholder.ru. В архиве находятся сама библиотека BPP_LogoDetector.dll и каталог [LogoPatterns], в котором находятся образцы логотипов телевизионных каналов. Содержимое этого каталога распаковываем в каталог Plugins вашей программы Behold TV и запускаем ТВ-тюнер.

В настройках видео нажимаем кнопку "Видеообработка изображения при просмотре" и в появившемся окошке нажимаем самую верхнюю кнопку - "добавить фильтр". Выбираем "детектор логотипов" и жмём кнопку "добавить". Теперь он в вашей системе, а галочка напротив его названия говорит о том, что он активен.

Теперь пришло время приступить к настройке этого модуля.

Вот единственное окно настройки столь полезного модуля. Итак, начнём по порядку. Переключаемся на нужный канал, затем выбираем шаблон логотипа этого канала и загружаем его. Теперь он появился в левом верхнем углу и плагин тут же включился. Теперь надо стрелочками в левом верхнем углу совместить загруженный вами логотип с логотипом канала. Тогда уровень второго слева индикатора (уровень детектирования) достигнет своего максимума. Теперь слово "реклама" пропадает с экрана и плагин начинает работать полноценно.

Какие действия можно настроить программе при появлении рекламы? При записи это, естественно, постановка на паузу - зачем вам тратить драгоценное место на жёстком диске для записи рекламы, а потом её ещё и вырезать в видео редакторе? А вот при просмотре пока что можно только выключать звук и выводить на экран какую-нибудь надпись. Переключать канал автоматически при начале рекламы не получится, ведь тюнер не может принимать сразу два канала, а следовательно не сможет отследить, когда на предыдущем канале идёт реклама.
Теперь давайте разберёмся с настройками, их тут не так уж и много.
-
Допуск на смещение логотипа
-
Логотипы каналов периодически, время от времени, могут менять своё местоположение на экране, смещаясь влево и вправо от среднего положения на несколько пикселов. Данная настройка позволяет загрубить детектор таким образом, чтобы его показания не так сильно зависели от положения логотипа в кадре. Однако, чем больше значение допуска на смещение, тем больше вероятность ошибочного обнаружения логотипа, когда его в кадре нет.
-
-
Скорость реакции на пропадание логотипа
-
Настройка, которая обеспечивает некоторую инерционность в принятии решения при пропадании логотипа с экрана. Чувствительность детектора крайне высока и очень мало зависит от яркости самого логотипа и установок яркости и контраста для конкретного канала в целом. Поэтому в большинстве случаев значение этой настройки можно установить равным 5-10, что позволит детектору практически сразу среагировать на исчезновение логотипа.
-
-
Скорость реакции на появление логотипа
-
Настройка, которая наоборот, вносит инертность при оценке момента появления логотипа в кадре. Так как вероятность ложного обнаружения несуществующего логотипа выше, чем вероятность "пропуска" существующего логотипа, то и скорость реакции на появление логотипа должна быть ниже. Нормальное значение для большинства случаев 2-3.
-
-
Уровень детектирования
-
Уровень, ниже которого детектор будет считать, что логотип отсутствует в кадре. Соответствующий настройке индикатор показывает текущее состояние детектора. Скорость, с которой меняется состояние детектора, задают первые два параметра настройки.
-
-
Уровень соответствия логотипов
-
Настройка, введённая для того, чтобы помочь детектору точнее определиться с моментом появления логотипа, если он отсутствует. Соответствующий настройке индикатор показывает абсолютный уровень соответствия шаблона логотипа и фрагмента изображения на экране. Когда уровень соответствия логотипов ниже установленного, детектор вносит поправку в "Скорость реакции на появление логотипа", тем самым уменьшая вероятность ошибки ложного распознавании несуществующего логотипа. Для почти прозрачных логотипов эта настройка практически бесполезна, т.к. разница между шаблоном и реальным логотипом может меняться в очень широких пределах. В этом случае уровень соответствия можно установить равным нулю. На работу детектора это повлияет не сильно. Для непрозрачных логотипов уровень соответствия должен быть установлен таким образом, чтобы при наличии логотипа в кадре индикатор никогда не опускался ниже красного уровня.
-
Настройки индивидуальны для каждого канала. По умолчанию они установлены таким образом, что детектор определяет рекламу на каждом из каналов. Но основная проблема может проявиться на каналах, имеющих сложные логотипы. К примеру, ОРТ имеет почти прозрачный логотип, исчезающий на светлом фоне. Здесь возможны ложные срабатывания детектора и здесь потребуется тщательная настройка.
Есть на нашем телевидении и подвижные логотипы. Например, MTV имеет лого, переливающееся разными цветами. Разработчики определили неподвижную составляющую этого логотипа и детектирование проводят именно по ней. Вот как выглядит маска логотипа MTV для детектора:
Внутри буквы "М" может происходить всё, что угодно - это не будет отражаться на работе алгоритма.
Что делать, если в вашем регионе транслируется канал, чей логотип не поставляется в комплекте с модулем? Надо сделать его своими руками. Дождитесь, пока логотип вашего канала будет показан на однородном фоне, чёрном или белом и сделайте скриншот в разрешении 768x576. После в любом графическом редакторе вырежьте логотип и сделайте из него маску - всё, изображения, которые не относятся к самому логотипу или являются его подвижными частями, закрасьте однородным цветом. Сохраните логотип в формате BMP в директорию LogoPatterns. Учтите, что программа автоматически выбирает цвет подложки по цвету первого пикселя (левый верхний). Так что если его цвет будет отличаться от фона маски, он будет отображаться на экране с тёмным фоном.
Оценка эффективности
Мы проверяли эффективность детектора логотипов на всех каналах, которые принимает наш ТВ-тюнер. При просмотре телепрограмм очень удобно заставить программу отключать звук - в этом случае можно отойти от компьютера и вернуться, когда снова появится звук - значит реклама кончилась. Ещё удобнее оказывается возможность оставлять логотип, даже когда он исчезает на время рекламы. Сама программа Behold TV оставляет логотип канала даже на время рекламы (это можно отключить). Так что если вы смотрите телевизор на полный экран, даже во время рекламы у вас будет отображаться логотип, по которому вы сможете узнать, какой же канал вы смотрите.

Сложнее всего с логотипом "ОРТ", который плохо виден, даже когда он показывается. Но настройками мы смогли добиться эффективности примерно 90%. Хотя, ложные срабатывания всё равно происходили.
Логотипы каналов "ТНТ", "СТС", "MTV", "Домашний", "РТР", "RenTV", "НТВ", "МузТВ", "ТВ-3" и "ТВц" очень контрастны и эффективность детектора на этих каналов приближается к 100%. За всё время работы с детектором логотипов на этих каналах не было зафиксировано ни единого ложного срабатывания.
При записи детектор логотипов оперативно срабатывает и ставит паузу. Когда же реклама кончается, он так же оперативно продолжает записывать программу. Реакция автоматики сравнима с реакцией пользователя, выжидающего последние кадры рекламной заставки, чтобы нажать соответствующую клавишу на пульте. По крайней мере, мы не заметили, чтобы тюнер что-либо пропустил и не записал, когда закончилась реклама.
Самое главное - при записи вы экономите место на жёстком диске и свои нервы. Теперь вам не нужно следить за процессом записи и ставить паузу вручную. Конечно, при записи программа захватывает рекламные ролики, в которых канал анонсирует свои будущие передачи, но их продолжительность несравнимо меньше, чем у рекламных пауз. Впоследствии вырезать их будет легче, а можно и вовсе не вырезать. В зависимости от алчности телевизионного канала, вы можете сэкономить 30-40% места на винчестере при записи фильма на автомате с использованием детектора логотипов.
Выводы
Очередная мечта о ТВ-тюнерах сбылась. Наконец-то вы можете полностью доверить процесс записи нужной программы своему компьютеру. Оставляйте его без присмотра хоть на несколько дней. Компьютер, оборудованный ТВ-тюнером Beholder, сам запишет нужную телепередачу в нужное время и БЕЗ РЕКЛАМЫ!
Надеюсь, что компания Beholder не остановится на текущей версии детектора логотипов. Хотелось бы видеть его работу при сёрфинге каналов (многоканальном предпросмотре), хотелось бы более агрессивные действия при просмотре - переключение каналов, может быть сворачивание активного окна или что-нибудь в этом роде.
Ну а пока коллектив разработчиков будет думать о том, как сделать этот модуль ещё лучше, мы молча запишем очередную победу ТВ-тюнеров Beholder над недостатками отечественного телевещания. А обилие рекламы на наших каналах я считаю основным недостатком. Жаль, что Beholder не выпускает телевизоры...
Официальный русскоязычный сайт компании "Beholder" - www.beholder.ru
Михаил Дегтярёв (aka LIKE OFF)
22/05.2005








