TVGuardian. Задача: заменить ругательства в реальном времени

vnoh6wugev8j8npfkxh6fip447w.jpeg
«Он похож на зануду?» Реплика также может быть оценена, будто Уоллеса сравнивают с клячей, старой лошадью. Видеоролик Джерри Ноулза

Телеприставка подключается к аналоговому телевизору. Её шероховатый пластиковый корпус выглядит так, будто это пришелец из восьмидесятых. Действительно, устройство построено на технологиях конца прошлого века.

Затем из телесигнала пропадает любая обсценная лексика. Когда на экране звучит ругательство, аудиодорожка затихает. Чтобы не терять смысл реплики, на экране появляются субтитры с заменой цензурируемого слова или выражения. Затем звук немедленно включается снова. Уровень фильтрации настраивается переключателем на устройстве.

Даже сегодня умные колонки не транскрибируют речь пользователя, а отсылают её в облако. Очевидно, что четверь века назад точное машинное распознавание речи было в лучшем случае мечтой. Принцип работы приставки куда проще, но также он поражает остроумием и скромностью задействованных ресурсов: вся логика работы занимает меньше 4 КиБ.

Дано:


До появления звука в кино реплики персонажей и комментарии сюжетных поворотов звучали в виде интертитров. Во время монтажа между двумя кадрами вставлялся кадр с нужным текстом. Практика долгие годы сохранялась в любительской съёмке, поскольку техникой для записи звука обладал не каждый демиург хоум-видео. На самом деле интертитры всерьёз используются и по сей день: они живут как вставки текста в программах демосцены.

Субтитры появились как ответ на появление звуковых фильмов и глобализацию кинематографа. На утверждение визуальных норм субтитров ушли десятки лет.

В 1970 году в США проводят первые серьёзные эксперименты по кодированию субтитров для глухих и слабослышащих в телевизионном сигнале. Работы вели Национальный институт стандартов и технологий и ABC: они попытались отвести в телесигнале место для кодирования информации с точными таймингами. В декабре 1971 года созывается первая конференция Национального института субтитров, где демонстрируются технические предложения.

Впрочем, субтитры можно показывать для всех, прямо поверх телесигнала, а не изобретать новые протоколы передачи данных. Впервые такое происходит в 1972 году — это повтор French Chef на PBS.

cyfzfsbvdb9rnet3y7albe-1by4.jpeg
Первая передача с субтитрами в США. Джулия Чайлдс знакомит американцев с французской кухней, 1972 год. Hackaday

Минусы подобного решения:

  • Отключить субтитры невозможно, их будут видеть все зрители.
  • Субтитры занимают драгоценное место на экране, их размер никак не изменить. На тот момент крупным считался экран в 25 дюймов.
  • Часто передачи с субтитрами выходят только в повторе.


Задержка для передач с субтитрами большая даже для новостей. По 1982 год глухие вынуждены смотреть вечерние выпуски новостей телеканала ABC в повторах на PBS с хардсабом. Повторы шли как минимум через 5 часов после изначальной трансляции, в 23:00 или 23:30, иногда даже утром в 06:30. Лишь после 1982 года субтитры добавили в главный показ.

В 1976 году Федеральная комиссия по связи США отводит 21-ю строчку телесигнала для кодирования информации со скрытыми субтитрами. В североамериканском стандарте NTSC передаются 525 строк, из которых на экране видимы 483. Избыток в 42 строки на два полукадра нужен для обратного хода электронного луча. Соответственно, строки с 1 по 21 в каждом полукадре не видны из-за вылетов развёртки, поскольку попадают в область гашения. Почему бы не задействовать одну из этих строк?

В наши дни картинка цифровая и без помех, а добавить даже несколько мегабит в поток данных не составит такого большого труда. Современные протоколы легко расширить, часто в них зарезервировано место для такой необходимости. А вот чтобы втиснуть 480 бит/с в аналоговый телеэфир семидесятых, потребовалось много усилий и тестов.

mtk6ibgpluaras3uxzt5cdetzlq.jpeg
Карточка со схемой стандарта EIA-608. Hackaday

Каждый кадр (30 раз в секунду) вместо 21-й строки протокол синхронизировался с приёмником за несколько циклов, передавал 3-битный паттерн, затем 2 защищённых битами чётности 7-битных символа текста. Текст почти всегда кодировалися в ASCII. Хотя строчные буквы были, обычно реплики передавались только заглавными.

Приёмник затем либо записывал данные в буфер (POP-ON), либо сразу же выводил их на экран (ROLL-UP).

i-fyr2fq78caclkrnmbf5cv7kno.jpeg
Так выводились субтитры, которые передавались в 21-й строчке. Hackaday

Для трансляции кинофильмов и сериалов подходил метод POP-ON: сначала данные передавались, затем шла команда вывести содержимое буфера, и субтитр выводился на экран, когда персонаж произносил свою реплику. Периодически шла команда на очистку экрана. ROLL-ON был нужен для выпусков новостей и трансляции спортивных соревнований. В этом режиме текст немедленно оказывался на экране.

Субтитры работали не только в трансляции. Запись на видеокассету и LaserDisc — это тоже телевизионный сигнал, поэтому строка 21 в нём присутствует.

Информацию декодировал не сам телевизор, а специальная приставка стоимостью $200–$250. На тот момент столько стоил небольшой телеприёмник. В восьмидесятых глухие и слабослышащие в США редко покупали эти приставки не только из-за дороговизны, но и отсутствия контента. Телеканалы созданием субтитров заниматься не желали, обосновывая это стоимостью процесса.

nv8oplmricd1zxjqmryzsxznwui.jpeg
Реклама первой приставки для декодирования субтитров Sears TeleCaption из летнего/весеннего каталога Sears от 1980 года. Реклама обещает как минимум 20 часов телепередач с субтитрами в неделю. Catalog Blog

Нужно отметить: американские субтитры стандарта вещания NTSC — это не телетекст. Последний разработали тоже в семидесятые, но по другую сторону Атлантического океана, в Великобритании. В телетекст заложили не только передачу субтитров, но и другой текстовой информации.

Вообще, США в этом плане радикально отличаются от Европы: телетекст в Америке популярности не снискал. К примеру, в Норвегии в наши дни 280 тысяч человек пользуются телетекстом каждый день. Для сравнения: в Twitter ежедневно заходят всего 120 тыс. норвежцев.

a2ebsyn3dxjyllzv7t0hjoc14f4.jpeg
«В 1970-х и 80-х годах многие крупные медиакомпании исследовали новые способы доставки новостей. Они без отдачи вливали сотни миллионов в сервисы телетекста и видеотекста по типу службы Ceefax корпорации «Би-би-си». Так телетекст описывает Музей журналистики и новостей в Вашингтоне в округе Колумбия. Телетекст существует по сей день, а вот сам музей закрылся в 2019 году. Фотография Эвана Дэвиса

С середины 1993 года на американском рынке декодер субтитров стал обязательной частью телевизоров диагональю от 13 дюймов.

В девяностых вещателей США на законодательном уровне обязали добавлять субтитры в сигнал. В 1990 году принят закон об американцах с ограниченными возможностями. Телекоммуникационный акт 1996 года вводит восьмилетний план добавления субтитров во все новые телепередачи с 1 января 1998.

Найти:


Табуированная лексика в английском языке заметно отличается от страны к стране и даже внутри неё.

Американец немедленно выпадет в осадок, если в его присутствии прозвучит слово «cunt». Даже в качестве ругательства такая брань недопустима. В Австралии это слово не приветствуется, но к нему относятся значительно спокойнее: его позволяют себе члены парламента или премьер-министры.

ucqhfivpozznnj4gqgwdq_znjtm.png
Исследование Джека Грива не учитывает многозначность некоторых слов, но всё равно выявляет, какая замена относительно допустима в библейском поясе США

Религиозный житель американского юга не произнесёт в сердцах даже «hell» или «god». Этим словам существуют замены (так называемые minced oath) в виде «heck» и «gosh».

Решение:


На задней части TVGuardian 101 расположен переключатель режимов фильтрации:

  • Строгий. Убережёт даже от религиозных восклицаний всуе.
  • Умеренный. Допускаются не только упоминания Иисуса, но и альтернативные сексуальные ориентации или детские ругательства уровня «попы» («butt»).
  • Без фильтра.


Если приставка обнаружит в субтитрах плохое слово, она временно отключит аудиодорожку. Чтобы не терять смысл, TVGuardian покажет субтитры с заменой произнесённому.

Ещё один трёхпозиционный переключатель настраивает режим их отображения:

  • Режим без субтитров, с потерей смысла.
  • Субтитры только для замены проблемного слова на допустимый аналог.
  • Отображение всех субтитров. Кстати, в результате некоторые покупали TVGuardian как декодер субтитров для старых телевизоров.


9rzlrckjwytg2tzqj_k30idyucy.jpeg
Retrostuff

Корпус выполнен грубо и с ошибками:

  • «Тюльпаны» для пропуска аудио- и видеосигнала аккуратно размечены, но вот где вход, а где выход, пометки нет.
  • Переключатели утоплены глубоко внутрь, и пальцем их поддеть не получится — нужна отвёртка. Возможно, что это намеренно.
  • Корпус указывает питание постоянным током 9 В, поставляется приставка с блоком питания в 6 В, а внутри стоит регулятор на 5 В. Куда более важно знать полярность разъёма, но этой информации на корпусе нет.
  • Справа сверху от шести «тюльпанов» RCA в дырке скрыта кнопка для переключения телевизионного модулятора между каналами 3 или 4. Назначение переключателя получится узнать только по инструкции.


К счастью, производитель до сих пор сохраняет эту инструкцию у себя на сайте. Не каждая компания может похвастать таким сроком жизни документации.

qduejw1bjkjzo2l4mvbrhhc2vdq.gif
Схема подключения TVGuardian 101 для телевизоров, у которых нет композитного входа, с помощью модулятора. По форме корпуса легко предположить, что когда-то были планы иметь тюнер прямо в приставке. В конечном варианте приставка требует использовать тюнер видеомагнитофона. Family Safe

Установить точный год начала разработки сейчас тяжело.

Идея TVGuardian явно появилась к середине девяностых. Прототип приставки показали на заседании сената США по вопросу насилия на телевидении в 1995 году. По крайней мере, название встречается в транскрипции слушания.

На доработку и производство ушли годы. Следующие упоминания TVGuardian в прессе — уже в конце десятилетия. Реклама появляется, к примеру, в 1998 году в журнале Screen Digest, в 1999 — в журнале Electronics Now. Сама компания заявляет, что запустила устройство в 1998.

Печатные платы первых ревизий выполнены со сквозным монтажом компонентов, и поэтому масштабирование производства вести было тяжело. В 1999 году приставку переделывают на компоненты с поверхностным монтажом. Полученное назвали моделью 101. Заметно, что на печатной плате оставили оба варианта монтажа микросхем микроконтроллера и процессора, поскольку иногда возникали проблемы с поставками.

tuc7ttdrue-kttj95udd62pfq8a.jpeg
На чип со словарём плохой лексики нанесена наклейка 1.06, указывающая на версию прошивки. Хотя сам чип допускает перезапись, на плате ножка микросхемы PE для переключения в режим программирования постоянно заземлена, то есть работает он в режиме только для чтения. А жаль: легко представить обновления софта, выпускаемые с помощью видеокассет. Retrostuff

Производитель заломил ценник в $100, но «под капотом» TVGuardian 101 не впечатляет. Вот компоненты в ревизии B:

  • U3A — 8-битный CMOS-микроконтроллер Microchip PIC16C622A (2 КиБ ПЗУ, 128 байт ОЗУ)
  • U6A — память EEPROM Microchip 93LC86 объёмом 16 килобит.
  • U7 — четыре двунаправленных переключателя Philips 74HC4066.
  • U8 — NJRC NJM2207 для отображения текста в видеопотоке.
  • U9A — декодер строки 21 стандарта вещания NTSC Zilog Z86129.
  • U10 — двухканальный маломощный операционный усилитель NS LM358.
  • U11 — сдвоенный компаратор напряжения NS LM393.


Вообще, в патенте компании содержится много разных теоретически возможных идей, например, идентификация и замена насилия в видеопотоке. Но работа в приставке идёт только с текстом.

Микроконтроллер U3A получает данные с субтитрами от декодера U9A и сравнивает их со специально составленным словарём в ПЗУ U6A. Если выставленные пользователем настройки того требуют, то аудиосигнал будет временно заглушён переключателем U7, а на экране будут нарисованы субтитры чипом U8.

Содержимое словаря — это самая интересная часть, поскольку даже в инструкции перечислены только примеры допускаемых ругательств для умеренного режима фильтрации. На данный момент как минимум четыре энтузиаста независимо друг от друга брались за реверс-инжиниринг приставки и слили в сеть словари версий 1.05 и 1.06.

lknkhqj91vaisfugnpmcftcqdg4.png
Это — весь словарь версии 1.06. Он содержит не только ругательства, но также флаги для методов замены и фильтрации. Retrostuff

Удивительно, но небольшого списка на 2 КиБ хватает для относительно успешной фильтрации всего современного английского языка. Дело в хитрой организации данных.

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

В седьмом блоке находятся слова для замены. Последний, восьмой блок — это информация о производителе и авторских правах.

Слова для замены в седьмом блоке отделены друг от друга одним нулём 0x00. Слова в шести первых блоках отделяются байтом, в котором закодированы указание на серьёзность ругательства и адрес слова-замены.

Байт легко распотрошить на восемь двоичных чисел.


Бен Итер выложил полный список слов словаря версии 1.06 в таблице на Google Sheets. Фун распарсил и опубликовал словарь версии 1.05.

Слова из белого списка имеют два типа:

  • Ложные срабатывания, которые нужно пропускать всегда.

    Слово «cum» ознает «кончать», если это глагол, или соответствующую секрецию, если имя существительное. Фраза MAGNA CUM (часть латинской фразы «magna cum laude» для обозначения закончивших учебное заведение с отличием) в фильтрацию попадать не будет.

    Кстати, ещё бывает «summa cum laude», но составитель словаря про него забыл. (Именно забыл — в блоке со словами на «S» место ещё было.)

    В этом случае номер слова-замены будет выставлен 00000.

  • Некоторые из слов — это артикли, предлоги и союзы.

    Словарь требует вырезать THE FUCK из выражений вида «What the fuck?», превращая их в «What?». Вероятно, что в силу особенностей работы алгоритмов для предотвращения ложных срабатываний пришлось добавить в белый список всякие THE и HIS.

    В этом случае номер слова-замены будет выставлен 00001.


Список забавен. К примеру, под цензуру попало не самое популярное «nooner», которым американцы обозначают половой акт в середине дня. Вместо этого на экране появится «kiss». Вообще, «поцелуем» приставка назовёт даже групповое изнасилование («gangbang»).

Другая интересная деталь: слово «gay» при цензуре заменяется само в себя, в «gay». Это нужно для режима работы без отображения замен. Если пользователь выбрал режим без каких-либо субтитров (и строгий режим фильтрации — такая метка стоит у «gay»), слово не прозвучит и не появится на экране.

Иногда в субтитрах в особо грубых бранных словах часть слогов закрыта звёздочками или иными символами. Словарь предугадывает подобное, поэтому содержит брань не в полном виде. Например, вместо BULLSHIT в ПЗУ записано BULLSH.

Оценка:


Как правило, откопавшие TVGuardian в вонючих залах магазинов Goodwill относятся к самой идее устройства свысока. К примеру, обзорщик может отфильтровать через приставку криминальную драму «Славные парни», а затем заявить: матюки запиканы, но от насилия и секса на экране спасу нет.

Вторая причина для критики: сам принцип ошибочен. В фильмах субтитры иногда идут с рассинхроном речи, а не точно в тот же момент, когда персонаж на экране говорит свою реплику. Часть субтитров показывается сразу для двух говорящих персонажей. Наконец, нехорошему всегда научат сверстники в школе.

Впрочем, производитель не даёт обещаний по поводу воспитания детей и даже сам признаёт, что приставка часть ругани неизбежно пропустит. Прямо на упаковке он приводит статистику «просочившихся» нехороших слов.

y9_eg6q1c5jrfpx-uxuds-w1vw4.jpeg
Примеры эффективности работы с коробки TVGuardian модели 201, Retrostuff

9kk_7gob-bztfzxco9e1idtlase.gif
Примеры эффективности работы с сайта TVGuardian

Статистика собрана на фильмах категорий PG и PG-13, а не кино для старших возрастных категорий R или, пока он ещё применялся, рейтинга NC-17. TVGuardian решает несколько иную проблему.

Система возрастных рейтингов Американской киноассоциации вышла за рамки руководства для родителей и взяла на себя функции оценки целевой аудитории. Иногда студии даже сами мечтают получить рейтинг повыше. Если нужен рейтинг R для издания на видео, а с первого раза «взрослый» шильдик не дали, картину повторно отправят цензорам с несколькими дополнительными «fuck».

Самые «младшие» рейтинги G и PG стали синонимом детских развлечений, поскольку фильмы такой категории Американская киноассоциация допускает к просмотру любым возрастным категориям. Это не повод для гордости, а чёрная метка: никто не хочет смотреть кино для дошколят.

В сценарий фильма намеренно добавляют несколько лёгких ругательств по типу «damn», «shit» или «hell», чтобы добиться хотя бы PG-13 или даже R. Для трансляции по телевидению слово без проблем удаляется или заменяется, поскольку вставлено в незначительный диалог.

У явления много задокументированных примеров. Вот только один из них: «Прибытие» 2016 года в целом проходит в PG. Точная f-бомба в исполнении Джереми Реннера в одной из сцен торпедировала рейтинг строго в PG-13. Впрочем, это правильно, поскольку такую сложную научную фантастику восьмилетний ребёнок не осилит.

Легендарная тирада про «motherfucking snakes» в «Змеином полёте» появилась с целью повысить возрастной рейтинг фильма, который изначально с трудом наскрёб хотя бы PG-13. Также для фильма досняли откровенную сцену секса, чтобы получить полноценный R

Можно ли понять родителей, которые хотят убрать эти ругательства, добавленные в подростковое кино только ради маркетинга и продаж?


Блог Christians Who Curse Sometimes (буквально «Христиане, которые иногда используют ругательства») сумел найти несколько отзывов от людей, которые росли под присмотром коробочки для дезинфекции телеэфира.

Набор слов было достаточен, но в некоторых контекстах приводил к забавным результатам. К примеру, один из главных персонажей «Истории игрушек» — ковбой Вуди. Слово «woody» убиралось, поскольку в одном из значений звучит как «стоячок». Аналогичная судьба ждала любых Ричардов (сокращённая форма имени — Dick).

Реалити-шоу Survivor (адаптация британского Expedition Robinson, в России аналог известен как «Последний герой») иногда упоминало «water jugs», фляги с водой. Слово «jugs» TVGuardian бездумно вырезал: как в основном, так и в переносном значении это слово побратим русскому «бидоны».

«Sex» всегда превращался «hugs», «обнимашки», и «they had hugs» даже звучит подозрительно. Также у слова есть значение «пол», что примитивный словарь не учитывал («What«s the baby«s hugs?»).

s0fawehkvgkuiuzdo9rnqp6tbni.jpeg
Выходные разъёмы TVGuardian 501 HD, TVGuardian.com

Дело не закончилось одной моделью: производитель выпустил пять поколений устройств, постепенно переключившись на цифровое телевидение. Но за выпущенной в начале 2010-х годов моделью 501 HD новых продуктов не последовало, стриминг и планшеты покорить не удалось. А современные дети даже телевизор больше не включают, предпочитая часами свайпать TikTok или, если дошкольник, наблюдать анбоксинг игрушек на YouTube.

Небольшой спрос существовал. По крайней мере, некоторые из отзывов на Amazon упоминают, что покупают TVGuardian далеко не впервые. Сейчас приставок в продаже больше нет. Средний рейтинг продукта навечно замер на 3,4 баллах из 5.

Как показывает пример TVGuardian, иногда хватает работы на «троечку». Даже технически несовершенное решение помогло создать свою нишу и продаваться в ней.

По материалам National Captioning Institute, Hackaday (1, 2), Joan Ganz Cooney Center, Retrostuff, видеоотчёта Бена Итера, треда в Twitter Фуна Тьюринга, файлов Джейсона и партнёрской новостной вставки главы TVGuardian Рика Брэя.

© Habrahabr.ru