Вспомним, что это была за 35 мм киноплёнка, и какими способами на ней кодировались аудиоданные. В частности, обратим внимание на технологию Dolby Digital и попутно заглянем в патент, который поможет прояснить некоторые детали.
Недавно я решил прикупить 35 мм киноплёнку для экспериментов с проекционной оптикой. Самый дешёвый вариант – это достать такую из кассет с трейлерами к старым фильмам, которые на eBay стоят всего по несколько долларов.
Для тех, кто не ходил в кино последние несколько лет — поясню, что речь идёт о коротких рулонах плёнки, содержащей демо-ролики, показываемые перед началом фильма.
В данном случае я купил трейлер к посредственному фильму-катастрофе 1997 года «Вулкан». По содержанию он более-менее похож на этот.
Несмотря на то что практически во всех кинотеатрах сейчас используется цифровая проекция, аналоговые фильмы все ещё хранят в себе определённое очарование. Для меня это как минимум интересно – иметь возможность видеть сам носитель видеоматериала и взаимодействовать с ним. На изображении ниже показана «А» из “A News Corporation Company”. Здесь отчётливо видна зернистость и ограниченность оптического разрешения формата:
Ещё один любопытный факт из поздней эры аналогового кино состоит в том, что звук обычно кодировался в одном из четырёх аналоговых или цифровых форматов. На следующем изображении видно, что в кадр внедрялись дополнительные данные:
Аналоговая звуковая дорожка использовалась для устаревших проекторов, не оснащённых цифровым декодером. Тайм-код также может быть использован для синхронизации проекции с внешними (часто цифровыми) источниками звука.
Однако форматы SDDS (Sony) и Dolby Digital уже кодировались в виде матриц на саму плёнку и затем декодировались оптическим считывателем или специальным устройством. Лично я считаю эту технологию довольно впечатляющей для 90-х годов. Каждый кадр содержит 4 таких матрицы 78х78, проматываемые через проектор со скоростью 24 к/с, то есть 96 матриц в секунду. Сегодня четверть века спустя, вы можете найти QR-сканер, который выполняет около 60 считываний в секунду, хотя я думаю, что это всё ещё «непростая задача», особенно в реальном времени.
Мне не удалось отыскать публичные ссылки на формат Dolby matrix, но кое-какую полезную информацию можно найти вот в этом патенте. Матрицы на представленной выше плёнке имеют размер 78х78 пикселей. В патенте предполагается, что каждая матрица содержит 5776 бит (38*19 байт). Это значение приблизительно соотносится с 6084 битами, доступными на участке 78х78, где после вычитания опорных точек мы получаем 5684 бита. Возможно, это более поздний метод, который несколько отличается от представленного в патенте, но, скорее всего, он всё же вписывается в правильный диапазон.
В патенте предполагается, что данные хранятся в 8-битных байтах. Учитывая скорость потока 584 КБ/с, я думаю, что аудиоданные сохраняются в несжатом виде, хотя и не уверен. Согласно патенту, в процессе также задействовалась технология Reed-Solomon ECC.
Использование несжатых данных и применение коррекции ошибок Reed-Solomon, вероятно, помогло существенно упростить электронику. QR-коды относительно сложно декодируются, требуя от декодера перебора нескольких шаблонов масок в поиске подходящего.
В методе Dolby опорные точки, скорее всего, используются для сохранения правильного выравнивания кода относительно сенсора, а байты кодируются непосредственно в матрице. Затем код Рида-Соломона компенсирует порой значительные механические повреждения и ошибки считывания.
Если посмотреть на саму матрицу, то, похоже, что одиночные байты кодируются по оси X. При этом по оси Y часто встречаются одинаковые смежные блоки из 8 пикселей:
Из этого следует, что матрица должна относительно легко декодироваться. И было бы интересно собрать подходящий матричный декодер Dolby digital… Так что, возможно, однажды мы к этому формату ещё вернёмся.
При изучении эволюции плёнки и сопутствующих ей цифровых методов кодирования аудио формируется интересное представление об общем инженерном пути, связанном с ограничениями 35 мм стандарта. И несмотря на то что сегодня аналоговая плёнка уже практически полностью забыта и вытеснена цифрой, она всё ещё имеет своих приверженцев.
Комментарии (10)
serge-sb
15.04.2022 15:09+4Слушайте, ну на самом интересном месте же! Думал, что вы расскажете, как оно там кодировалось-декодировалось. "Учитывая скорость потока 584 КБ/с, я думаю, что аудиоданные сохраняются в несжатом виде". Это сомнительно. Был бы 1500, в полтора раза больше, тогда да - получилось бы 48 кГц на 16 бит стерео. А вот 584 - это больше похоже на максимум 448 ac3 (5.1) плюс данные для коррекции ошибок.
Bright_Translate Автор
15.04.2022 15:12+1К сожалению, я не автор, лишь переводчик. Но насчет скорости потока вы верно подметили - скорее всего, сжатие все же присутствует. И об этом в комментариях к оригиналу тоже обсуждение было.
FanatPHP
15.04.2022 15:19+6Ну и зачем вообще переводить такой огрызок? Действительно же выглядит как вступление к статье, а не как полноценная статья.
demoded
16.04.2022 06:32да, материал выглядит неполноценно, но сканы пленки с qr-кодами промеж перфорации этот недостаток компенсируют. достаточно редкий артефакт.
Tolik-5
17.04.2022 09:30"584 КБ/с" - сначала я подумал, что вы путаете биты и байты. Но потом умножил число бит в матрице на 96 (матриц в сек) и получилось примерно 555 кб/с. Строчная "к" = 1000, строчная "б" = бит.
Так что откуда взялось "584 КБ/с" = 4 784 128 бит в сек - непонятно.
Да, маловато для несжатого аудио, да всем и так известно, что ДД - это формат сжатия с потерями.
Bright_Translate Автор
17.04.2022 09:41+1Согласен с вашими расчетами, но тут странный момент. Авто оригинала (Nava Whiteford) сам в дискуссии под постом объясняет, что имел ввиду именно КилоБайты.
serge-sb
17.04.2022 13:19Честно, я путаю порой эти строчные и прописные "Б". Поэтому тут я просто скопипастил кусок текста "как есть" из статьи. Убедившись, конечно, что таки речь идёт о 584064 битах в секунду (включая спец-маркеры, логотип и всё-всё-всё).
Spaceoddity
16.04.2022 10:09Здесь отчётливо видна зернистость и ограниченность оптического разрешения формата:
Ага, а у цифры типа нет ограничения на разрешение?
Ds02006
Вместо фразы "функция Reed-Solomon" уместнее использовать "код Рида-Соломона". Подробности любознательный читатель может найти здесь же, на нашем Хабре: https://habr.com/ru/post/84041/
Bright_Translate Автор
Благодарю, поправим