Блокировка ТВ рекламы

В продолжение темы, затронутой в записи ТВ и Android.

Я хочу блокировать звук в телевизионной рекламе с помощью видео и аудио fingerprinting — мне это показалось самым надежным способом. На каждую рекламу, транслирующуюся по ТВ, в базе данных есть отпечатки аудио и видео. Готовые ролики для обучения системы можно предположительно и незабесплатно взять здесь. В любом случае, должна быть предусмотрена возможность самостоятельного добавления пользователем отпечатков в базу. Детект ролика происходит по совпадению обоих отпечатков: и аудио, и видео. В хитрых рекламах используются фрагменты фильмов или популярная музыка, — чтобы избежать ложного определения, нужно опираться на оба фактора, хотя в большинстве случаев достаточно чего-то одного.

Телевизионные каналы ведут войну громкости в пользу рекламы, т. е. громкость рекламы значительно выше громкости передач. Система могла бы задетектить повышение усредненного уровня громкости и попытаться скомпенсировать его и фильтровать всплески аудиосигнала.

Предположим, что момент начала рекламы определен. Что же делать дальше? Вариантов много, но пока всё, что мне нужно — это приглушить звук телевизора до еле различимого минимума. Восстановление звука по окончании рекламы не требуется, да и мне кажется это непосильной задачей. Кроме того, если начало рекламы можно определить по вставкам, которые делают каналы на доли секунды, то начало передачи засечь гораздо сложнее.

У меня нет математической подготовки, чтобы всё это сделать в одиночку, но при наличии свободного времени я смог бы попытаться использовать библиотеку компьютерного зрения OpenCV и какой-нибудь открытый алгоритм экстракции аудио-отпечатков и сделать тестовый прототип для десктопа.

Добавить комментарий

Ваш e-mail не будет опубликован.