реклама
Звук и акустика

Процесс перевода киноплёнки в видео

Автор: Евгений Сучев


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

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

Теперь логично мне задать вопрос, а как же быть владельцам видеомагнитофонов и DVD проигрывателей, которые хотят насладится просмотром не в кинотеатра, а дома? Ведь для этого нужно перевести с киноленты на видео. Это ещё пол беды, для этого есть специальные станки. Беда в том, что частота кадров на киноленте 24 кадра в секунду, а видео работает с 25 (для PAL, SECAM) и 30 (для NTSC) кадров в секунду. Вот тут начинаются проблемы.

Естественно, эти проблемы решены, а я просто хочу вам рассказать пути, которыми это сделано. В обычной жизни эти знания вам на вряд ли пригодятся. Они могут пригодится, если вы собираетесь взять какой-нибудь фильм на видео (изначально снятый на киноплёнку) и вернуть ему первозданный вид. То есть, восстановить стандартные 24 кадра и ничего при этом не потерять (я имею ввиду качество). Ведь при переводе из 24 кадров в 25 (или 30) происходит искажение картинки, а нам нужно сделать, что бы их не стало.

Если вас беспокоит, как вы будете хранить 24 кадровое видео, отвечу - в цифровой форме. В своей предыдущей статье я изложил процесс перевода видео в цифровую форму, так что, проблем возникнуть не должно. Вернёмся же к начальной теме статьи. Есть 3 пути перевода из 24 кадров в 25 (про 30 расскажу в конце).

Как это происходит

Первый способ, пожалуй самый простой. Ускорить воспроизведение киноленты на 4%. При этом, 24 кадровое видео превращается в 25 кадровое. Естественно, продолжительность фильма так же сокращается на 4%. Можно посчитать, что с 2 часового фильма срежется около 5 минут. В целом, это конечно мелочи. И всё вроде бы красиво, если бы не одно но. При ускорении видео, вместе с ним ускоряется звук. Естественно, при этом повышается тональность звука. Я не обладаю музыкальным слухом, но у некоторых он есть, и они явно услышат изменение тональности звука. Это является единственным минусом данного метода.

Второй метод уже более сложен. Его уже не получится реализовать на простом оборудовании. Основан он на добавлении к 24 кадру дублирующего 25. В процессе просмотра его должно быть не заметно. Но есть сообщения в Интернете, что некоторые видят при просмотре этот кадр. Он проявляется в виде подёргивания изображения (при движении) каждую секунду. Опять же, заметность этого метода зависит от оборудования, на котором производится просмотр и от самого человека. Зато этот метод избавлен от предыдущего недостатка, звук точно такой же, как в оригинале.

Вот мы и добрались до третьего метода. Это достаточно сложный метод. Для того, что бы его понять, нам придётся разобраться, что же такое поля и кадры в представлении электрической передачи сигналов. Я уже писал ранее, что для передачи изображения по радиолиниям используют чересстрочную развёртку. Суть её состоит в том, что для того, что бы выстроить целый кадр нам нужно передать 2 полукадра (называемые полями). Эти поля передаются с пониженным разрешением 288 строк, но рассредотачиваются на весь экран таким образом, как показано на рисунке.



Показано с увеличением

Слева изображено первое (верхнее, чётное) поле, справа второе (нижнее, нечётное). Но такая картинка возможна на телевизоре при отсутствии инерции свечения люминофора. Реально же, после прохождения первого поля, экран продолжает светиться (люминофор на месте прохождения луча не гаснет сразу). И после прохождения второго поля, на экране получим следующую картинку


Как мы можем заметить, картинка не идеальна. Но смена полей происходит 50 раз в секунду и человеческий глаз этого не замечает. По большому счёту, для телевизора нет понятия кадров, состоящих из 2 полей. Телевизор принимает последовательность полей и в соответствии с порядком их прихода выводит на экран.

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



Увеличено

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

№ кадра (видео)123456789101112...
№ входящего поля








10в
10н
11в
11н
12в
12н
...в
...н

В этой таблице буквами обозначены поля: в - верхнее; н - нижнее. Для большего удобства, мы будем считать не просто номер поля, а поле номер 1 верхнее и поле номер один нижнее… Нам же, нужно произвести преобразование 24 кадров в 25. Это можно сделать добавлением 1 кадра (о чём сказано выше), или добавлением 2 полей. Естественно, эти поля не будут браться ниоткуда, а просто будут дублировать предыдущие. Если учесть, что у нас на входе не видео, а киноматериал (то есть, каждое поле несёт не индивидуальную информацию, а 2 поля верхнее и нижнее несут информацию об одном кадре), то можно выстраивать новую цепочку.

Одна секунда видео или компьютерного материала

№ кадра (видео)12..111213141516171819202122232425
№ входящего поля
2..11в
2..11н
12в
12н
12в
13н
13в
14н
14в
15н
15в
16н
16в
17н
17в
18н
18в
19н
19в
20н
20в
21н
21в
22н
22в
23н
23в
24н
24в
24н

Мы видим, что в кадры (видео или компьютерные) №1-12 попадают нормальные кадры кино материала (ведь для получения одного кадра кино, нужно верхнее и нижнее поле, из одного и того же кадра), а вот на 13 кадре происходит дублирование предыдущего поля. Этот, 13 кадр не будет воспринят, как похожий на предыдущий (что устраняет проблему с дёрганием картинки, в отличии от добавления кадра), но он уже будет с "гребёнкой". На телевизоре мы не видим никакой гребёнки, а вот на компьютере… На 25 кадре происходит добавление ещё одного поля. Таким образом, преобразовывая из 24 кадров в 25, мы не получаем ни одного похожего кадра. Для телевидения этот метод можно считать идеальным. А вот на компьютере придётся бороться с интерлейсной картинкой.

Теперь вернусь к NTSC формату. Ведь у него 60 полей в секунду (это равно 30 кадров). Здесь первые два метода не подойдут. Ускорение даст прирост скорости на 25%, что естественно не приемлемо. Добавление к 24 кадрам ещё 6, то же нельзя назвать правильным, картинка в этом случае получится вообще дёрганой. Остаётся только 3 метод. Здесь, так же происходит дублирование полей. Но на этот раз, нам нужно добавить 12 полей Опять же, составим таблицу:

№ кадра (видео)123456789101112131415
№ входящего поля










10в
10н
10в
11н
11в
12н
12в
12н

№ кадра (видео)161718192021222324252627282930
№ входящего поля13в
13н
14в
14н
14в
15н
15в
16н
16в
16н
17в
17н
18в
18н
18в
19н
19в
20н
20в
20н
21в
21н
22в
22н
22в
23н
23в
24н
24в
24н

После такого процесса 24 кадровый киноматериал превращается в 30 кадровое видео. Этот процесс достаточно стандартен и имеет название Telecine (обратный процесс, перевода в 24 кадровое видео имеет название InverseTelecine).

Как от этого избавиться

Ну вот, мы и разобрались, как можно преобразовать из 24 кадрового киноматериала в 25 и 30 кадровое видео. Теперь нужно разобраться, как из стандартного видео (25 или 30 кадров) перевести в первозданные 24 кадра. Это можно сделать в два этапа:

  1. Нужно определить, каким методом было произведено преобразование. Если фильм в NTSC формате, то метод только один - Telecine. Для PAL или SECAM придётся определять.
  2. Преобразовать обратно в 24 кадра.

Вы можете спросить, а зачем возвращать первозданный вид? Отвечу, при этом картинка будет чётче, и движения будут менее смазанными.

Теперь расскажу, как же определить, каким способом было произведено преобразование частоты кадров. Фильмы, преобразованные первым способом, физически определить невозможно. Здесь нужно знать, что изначально фильм был снят на киноплёнке. Но даже если мы будем это знать, всё равно, преобразовывать обратно нет никакого смысла, проблем с видео не будет никаких, а звук… оставить всё как есть. Фильмы, преобразованные вторым способом, определить достаточно просто. Нужно его открыть в VirtualDub и на динамических эпизодах клавишами "лево" и "право" перемещаться по кадрам. На динамических сценах каждый кадр должен отличаться от предыдущего. Если вы нашли 2 одинаковых кадра, то перемещайтесь вперёд или назад на 25 кадров. Если там ситуация повторяется, значит этот фильм был преобразован вторым способом. Избавится от этого так же достаточно просто. Для этого нужно, что бы у вас была установлена утилита Avisynth. Сам по себе это скриптовый язык, в суть которого сейчас я углубляться не буду. В нём можно производить огромное количество операций с цифровым видео. Вот как будет выглядеть скрипт для удаления одного кадра из 25 кадрового видео.


avisource("С:...путь…ваш_фильм.avi")
LoadPlugin("C:...путь...decomb.dll")
Telecide(order=1,guide=2)
Decimate(cycle=25)

Этот скрипт можно написать в любом текстовом редакторе и сохранить с расширением AVS. Как только вы его откроете в любой программе редактирования или в плеере, то получите уже 24 кадровое видео.

Фильмы, преобразованные третьим способом определить несколько сложнее. Для того, кто не так давно занимается видео монтажом на компьютере, есть один достаточно простой способ как это определить. Открываем исследуемый фильм в программе VirtualDub. Далее, нужно найти кусок видео, где движение происходит 1 секунду и более. При помощи клавиш "лево" и "право" исследуем этот динамический промежуток, если после каждых 12 кадров происходит разложение картинки из нормальной (прогрессивной) в интерлейсную и обратно, значит фильм был преобразован в 25 кадров 3 способом. Опять же, лечится это при помощи утилиты Avisynth. Скрипт, для преобразования из 25 кадрового видео (произведённое третьим способом) в 24 кадровое будет выглядеть точно так же, как и для удаления 1 кадра:


avisource("С:...путь…ваш_фильм.avi")
LoadPlugin("C:...путь...decomb.dll")
Telecide(order=1,guide=2)
Decimate(cycle=25)

Теперь пришёл черёд разобраться с фильмами в NTSC формате. Для обнаружения был ли применён процесс Telecine при преобразовании из 24 кадров в 30, мы воспользуемся предыдущим методом. Если изначально это был кинофильм, то других методов и не может быть, но убедиться, что это был изначально кинофильм, не помещает. Опять же, открываем фильм в VirtualDub и ищем динамическое место продолжительностью не менее 1 секунды. При помощи клавиш "лево" и "право" смотрим, что происходит с картинкой. Если на каждые 3 прогрессивных кадра приходится 2 интерлейсных, значит был применён процесс Telecine. Для избавления от этого произведём процесс InverseTelecine при помощи всё той же утилиты Avisynth.


avisource("С:...путь…ваш_фильм.avi")
LoadPlugin("C:...путь...decomb.dll")
Telecide(order=1,guide=1)
Decimate()

После открытия этого скрипта в программе монтажа, вместо 30 кадрового видео, мы уже будем иметь 24 кадровый фильм.

На этом я хотел бы закончить исследование процесса перевода киноматериалов на видео. Я понимаю, что у новичков (и возможно не только) осталась (или возникла в процессе чтения статьи) масса нерешённых вопросов. Ответы на эти вопросы нужно искать уже не в том, что я написал, а теории видеосигналов и видеообработки. Эти вопросы вы можете направлять мне, что поможет мне при выборе темы для написания следующей статьи.

Идейным вдохновителем написания данной статьи является форум http://forum.playland.ru/forum15.phtml

Дополнительные материалы

 
 
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Вечерний 3DNews
Каждый будний вечер мы рассылаем сводку новостей без белиберды и рекламы. Две минуты на чтение — и вы в курсе главных событий.
window-new
Soft
Hard
Тренды 🔥
WhatsApp научился расшифровывать голосовые сообщения в текст — русский язык поддерживается 30 мин.
Новая игра создателей The Invincible отправит в сердце ада выживать и спасать жизни — первый трейлер и подробности Dante’s Ring 2 ч.
Центр ФСБ по компьютерным инцидентам разорвал договор с Positive Technologies 3 ч.
Android упростит смену смартфона — авторизовываться в приложениях вручную больше не придётся 3 ч.
OpenAI обдумывает создание собственного интернет-браузера и поисковых систем для противостояния Google 4 ч.
Apple разрабатывает LLM Siri — она будет больше похожа на человека и выйдет с iOS 19 5 ч.
Новая статья: Верные спутники: 20+ полезных Telegram-ботов для путешественников 10 ч.
Итоги Golden Joystick Awards 2024 — Final Fantasy VII Rebirth и Helldivers 2 забрали больше всех наград, а Black Myth: Wukong стала игрой года 12 ч.
В программу сохранения классических игр от GOG вошли S.T.A.L.K.E.R. Shadow of Chernobyl и Call of Pripyat, а Clear Sky — на подходе 13 ч.
Star Wars Outlaws вышла в Steam с крупным обновлением и дополнением про Лэндо Калриссиана 14 ч.
Kioxia подала заявку на IPO — третьего крупнейшего производителя флеш-памяти оценили всего в $4,85 млрд 19 мин.
«Джеймс Уэбб» первым в истории нашёл «зигзаг Эйнштейна» — уникальное искривление пространства-времени 21 мин.
Второй электромобиль Xiaomi выйдет через год после первого и будет заметно от него отличаться 2 ч.
Oracle объявила о доступности облачного ИИ-суперкомпьютера на базе NVIDIA H200 2 ч.
Positive Technologies получила сертификат ФСТЭК на межсетевой экран PT NGFW 3 ч.
Google снова уходит с рынка планшетов, сворачивая разработку Pixel Tablet 2 4 ч.
Представлен внешний SSD SanDisk Extreme на 8 Тбайт за $800 и скоростной SanDisk Extreme PRO с USB4 12 ч.
Представлен безбуферный SSD WD_Black SN7100 со скоростью до 7250 Мбайт/с и внешний SSD WD_Black C50 для Xbox 12 ч.
Новая статья: Обзор ноутбука ASUS Zenbook S 16 (UM5606W): Ryzen AI в естественной среде 12 ч.
Redmi показала флагманский смартфон K80 Pro и объявила дату его премьеры 14 ч.