Можно наконец похвастаться некоторыми результатами работы в Самсунге. В 2015 году в продажу вышли вот такие изогнутые телевизоры.
Модель телевизора: Samsung UN65JS9500F. Диагональ экрана — 65 дюймов. Разрешение картинки: 4096 x 2160 точек. В общем, большой, чёткий, изогнутый и по совокупности — дорогой: стоит примерно 10 тысяч долларов. На работе у нас стоят ещё более крупные экземпляры.
Если присмотреться, то сверху на металлической рамке экрана можно заметить два пятнышка:
Это очень аккуратно просверленные массивы отверстий под микрофоны. Звук, принимаемый этими микрофонами, поступает непосредственно на вход системы эхоподавления, которую, собственно, и написал автор настоящих строк.
Задача у системы весьма очевидная. Когда телевизор работает, мы слышим звук телеканала. Этот же звук слышат и микрофоны в верхней части телевизора. Причём, микрофоны обычно гораздо ближе к динамикам, чем пользователь. Так вот, задача системы эхоподавления состоит в том, чтобы вычистить из микрофонного сигнала этот самый звук телевизора. Одновременно необходимо оставить весь остальной звук, поступающий в микрофоны, вот ведь как.
Когда мне впервые рассказали об этой проблеме, я подумал, что не так уж это и сложно. Ведь на вход системы эхоподавления можно подать тот же самый сигнал, который идёт на динамики. Дальше всё просто: в микрофонном сигнале есть звук из динамика плюс, например, голос пользователя. Остаётся только вычесть из этой суммы сигнал динамиков, который нам достоверно известен через внутренности телевизора. Такие же мысли посещают и других людей, более-менее знакомых с обработкой сигналов, но не знающих специфики данной конкретной задачи.
Оказывается, не всё так просто. Можно на пальцах показать, с чем придётся столкнуться в идеальном мире. Допустим, — это сигнал микрофона, который содержит сигнал
, пришедший из динамиков, и голос пользователя
. То есть,
. Нужно оставить только голос
, но мы ведь не знаем
, чтобы просто взять и вычесть, не правда ли? Нам известен сигнал, поступающий на динамики:
. Если сделать тупое вычитание
, получится
, то есть голос и разность каких-то похожих сигналов. Звук из динамика доходит до микрофона через воздух, да и динамик не направлен прямо в микрофон. Поэтому, как минимум, сигнал в микрофоне окажется несколько слабее сигнала, поступающего на динамик, то есть
, где
. Если посчитать в этом случае разность:
, то получаем тот самый сигнал динамика, умноженный, на какую-то константу. Как же уследить за этой константой? И так было бы в бесконечном пространстве или в безэховой камере при идеальной звукоизоляции динамиков и микрофонов от корпуса телевизора, а также идеальном динамике и идеальном микрофоне. В реальной же обстановке сигнал
представляет сумму бесконечного количества задержанных и переотражённых разными поверхностями (пол, потолок, стол, стул) версий сигнала
. Переотражение меняет громкость, пробег в воздухе добавляет задержку. Динамики и микрофоны тоже накладывают свои отпечатки. За всем этим необходимо следить.
Для решения проблемы люди придумали и продолжают придумывать так называемые адаптивные фильтры. А с ними приходится применять ещё целую кучу дополнительных подсистем. В общем, работать было интересно, трудно и весело. Приятно, что результат получился достойным выпуска в серийное производство такого крупного производителя как Самсунг. Этот крупный производитель, вообще говоря, легко позволяет себе зарубать неудачные проекты, поэтому можно порадоваться уже только тому, что год работы не пропал впустую.
Дед меня хотел в строители отправить, мол, построил мост — оставил о себе памятник. Однако миллионы телевизоров по всему миру, на которых работают твои алгоритмы — это тоже неплохой памятник, я считаю. Не такой, конечно, долговечный, как мост, но разве это важно? В данном случае важнее тираж 🙂 В конце концов, на таких памятниках даже имён авторов не пишут, так что они лишь утеха самолюбию инженера и какая-никакая гордость за него его семьи, друзей и знакомых.
3 комментария на «Результаты работы»