english version here
Немного о DVD-rip и о DVD-build
Необходимая отмазка
Данный текст подразумевает рассмотрение исключительно технических
сторон дела. Вся информация в данном тексте может применяться для
законного копирования и создания материалов. Автор не несёт
ответственности за применение информации, содержащейся в
данном тексте, для незаконного копирования каких-либо
материалов.
Зачем и для кого это написано?
Данный текст написан ПРЕЖДЕ ВСЕГО для
более ясного понимания читателем трёх вещей:
- Какие бывают оригиналы видеопотока и основные способы их смотреть
- Что есть "правильный" DVD, то есть DVD создающий наименьшие проблемы
ВСЕМ желающим его посмотреть и скопировать?
- Есть определённый материал. Как сделать из него правильный DVD?
Рекомендую этот текст всем, кто сталкивается с необходимостью работать с
видеоматериалами в цифровом виде.
Этот текст НЕ заменяет документации на соответствующие форматы и НЕ
претендует на полноту и подробность изложения.
С чего всё начинается?
Есть ДВА основных вида исходного видеопотока
(того, который сгенерён при СЪЁМКЕ фильма):
- FILM - это киноплёнка.
- с частотой 24 кадра в секунду - для показа в кинотеатрах.
- с частотой 25 кадров в секунду - киноплёнка, предназначенная для показа на ТВ в PAL/SECAM
- с частотой 16 кадров в секунду (старые немые фильмы, любительские фильмы на плёнке 16мм)
- с иной частотой кадров. так, аниме FILM 30fps нами уже встречено.
- Interlaced Video, чересстрочное. Снятое теле- и видеокамерами
с чересстрочной развёрткой.
- с частотой 30 (29.97) кадров и 60 полей в секунду - NTSC
- с частотой 25 кадров в секунду и 50 полей в секунду - PAL/SECAM/MESECAM
Терминология
Английские термины:
"кадр" - frame
"поле" - Field
чересстрочный - interlaced
прогрессивный - progressive
"кадр" для FILM - это то, что изображено на ОДНОМ
физическом кадре киноплёнки, или результат оцифровки оного изображения в виде
картинки из пикселов, например - 640*400 пикселов размером.
"поле" для FILM - это одна из половинок изображения,
образованного четными (0,2,4,6.. - это "верхнее", Top поле)
или нечётными (1,3,5,...- это "нижнее", Bottom поле)
строками картинки. Для описываемого примера имеет размер 640*200 пикселов.
"поле" для чересстрочного материала - это тот видеопоток, что
оказался на чувствительном элементе камеры за время одного прохода
сканирования поля зрения камеры сверху вниз. Начала сканирования
чётного и нечётного поля смещены по вертикали, и "верхнее" поле считается
"чётным", "нижнее" - "нечётным". Информация о чётности полей
в видеопотоке содержится в величине смещения начала
кадрового синхроимпульса относительно строчных.
"кадр" для чересстрочного материала собирается из полей на
вопроизводящем оборудовании или на карте видеозахвата. Далее
мы считаем, что такой "кадр" - это два последовательных поля
- чётное и нечётное.
Принципиальная разница FILM и Interlaced заключается в том, что:
- в FILM все части картинки, все её "видеостроки" сняты в
ОДИН И ТОТ ЖЕ момент времени (точнее, в пределах некоего времени
экспозиции кадра), и близко расположенные друг к другу
элементы всегда сняты в очень близкие моменты времени.
Такой видеопоток мы называем "прогрессивным". Если такой оригнал
в дальнейшем преобразуется в чересстрочное состояние, и объект на экране
двигается, позиции его изображения в полях, относящихся к одному кадру -
НЕ отличаются.
в Interlaced Video поля сняты с интервалом в 1/60 или 1/50 секунды.
Поэтому если мы "сводим" вместе видеостроки двух полей чересстрочного кадра -
то РЯДОМ по вертикали оказываются "пикселы", "сфотографированные"
НЕ одновременно. Если объект на экране двигается - то позиции его
изображения в полях отличаются. Таким образом, в настоящем
чересстрочном видеопотоке "полный кадр" всегда "расчёсан"
по полям.
На компьютере, в DivX/Mpeg4 потоке кадры пакуются и показываются как
прогрессивные.
Из этого следует, что основная задача риппера:
- в случае, если снятый оригинал был FILM - ВОССТАНОВИТЬ
исходную последовательность FILM кадров, в каждом из которых
должна содержаться только та информация, которая попала на
плёнку одновременно. И обеспечить показ этих FILM кадров с
правильной частотой.
- В случае, если оргинал был Interlaced - каким-либо образом
сделать так, чтобы в каждом воспроизводимом на экране КОМПА
_прогрессивном_ кадре содержалась только та информация, что
попала в оригинал одновременно. Если одновременность будет
нарушена - появится "расчёска".
Наилучшие решения для FILM оригинала при обработке сделанного из него DVD:
- Идеальное решение - найти НЕпреобразованные прогрессивные кадры
- Наиболее доступное решение - определить правильную последовательность
нужных полей, выкинуть лишнее и собрать прогрессивные кадры из полей.
Решения для Interlaced Video (наилучшего всё равно нет, не надейтесь :-):
- удвоить частоту кадров, используя поля в качестве кадров,
одновременно удвоив или интерполировав недостающие строки в
каждом поле-кадре, не смешивая поля-кадры между собой.
Даёт наилучший по качеству результат, но увеличивает размер
получившегося видеопотока и необходимые мощности декодирования.
- взять top поля как основные и уменьшить размер вдвое,
выкинув всё остальное. Тем самым сохранив только четверть
информации из потока. Полезно для создания Preview материалов.
- взять top поля как основные и интерполировать
недостающие им bottom-строки, забив на bottom-поля. Теряется половина
информации о картинке
- взять top поля как основные и интерполировать недостающие им
bottom-строки из bottom полей.
- применить кодек, понимающий, что перед ним Interlaced поток,
пакующий и воспроизводящий его "как Interlaced".
Недостатком этого метода является то, что при показе
на экране с распакованным видео НА САМОМ ДЕЛЕ будет
происходить одно из описанных выше преобразований.
Однако при выводе такого фильма на TV-Out при совпадении
стандарта телевизора и оригинала будет достигнут наилучший результат.
(при НЕсовпадении - пожалуй, наихудший..%)
ПОМНИТЕ! НАИХУДШЕЕ, что Вы можете сделать с чересстрочным видеопотоком
при риповании - это применить к нему "фильтр Deinterlace" в режиме
"blend" - при этом образуются сдвоенные контуры, и это действие ГУБИТ
всякую возможность восстановить картинку в более приличное состояние.
Форматы DVD
Есть пять основных "честных" (то есть записанных наиболее "соответствующим"
оригиналу способом с наименьшими искажениями) формата DVD:
- Идеален тот случай, когда оригинал FILM, и на DVD лежат
Progressive Frames под 24fps, а в заголовке DVD прописаны
таблички показа полей И для NTSC (30fps) И для PAL
(25fps, с повтором одного из 24-х кадров). Такой диск и
совершенно идеально проигрывается аппаратными проигрывателями, и
совершенно нормально играется на компьютере, и рипается без проблем.
- Оригинал FILM, из которого сделан PAL DVD путём ускорения звуковой
дорожки (если оригинал был 24fps, высота звука возрастает почти на полтона).
БЕЗ добавления лишних полей или кадров. То есть - лежат на DVD все
Progressive Frames оригинала, прописана им тривиальная таблица показа
полей, и показываются они с частотой 25fps вместо 24fps.
- Оригинал FILM 24fps, из которого сделан NTSC DVD с 30 или 29.98fps.
На таком DVD лежат Progressive Frames, которым задана таблица показа
NTSC полей.
Историческая справка про NTSC
На самом деле, изменение частоты строк с 15750 на 15734 и частоты кадров с 30 на 29.97 произошло в 1955 году, когда NTSC только придумали.
Телевизионный спектр дискретен.
Спектральные составляющие состоят из веников.
Ось веника - гармоника частоты строк.
Расстояние между прутьев веника - частота полей.
Ширина прутьев веника - скорость движения объекта по экрану.
Чтобы поднесущая цвета не мешала чёрно-белому сигналу,
её выбрали равной 227.5 частоты строк. Проблема в том еще,
что полоса сигнала в NTSC всего 4.25 Мгц
Частота поднесущей звука в NTSC - 4 500 000 Гц.
Пришлось изменить частоту строк, чтобы поднесущая звука стала
точной гармоникой частоты строк, чтобы хвосты поднесущей цвета
попадали и там тоже в дырки.
В современных же цифровых условиях 29.98 частота вместо 30 при
создании DVD воспринимается как подлость, сделанная ИСКЛЮЧИТЕЛЬНО
для того, чтобы НЕВОЗМОЖНО хорошо играть такой DVD
И на NTSC И на PAL оборудовании - так как эта разница влияет
на уползание звуковой дорожки, имеющей фиксированную частоту
дискретизации.
- Interlaced PAL видеосигнал, помещённый на DVD
- Interlaced NTSC видеосигнал, помещённый на DVD
Я намеренно НЕ рассматриваю всех возможных промежуточных
преобразований ДО попадания потока на DVD, а также всех
возможных преобразований, порождённых идиотизмом и невнимательностью
творцов mpeg2 потока... Конечно, именно с последствиями
ОТСТУПЛЕНИЯ от вышеописанных 5-ти состояний рипперу приходится
бороться чаще всего.
Проблемы риппера
mpeg2 декодеки, разобрав поток PAL/NTSC, получают "pulldown"
последовательность и скармливают его AviSynth и плеерам
"интерлейснутым".
Программы Mpeg Mediator 1.4 и FlaskMpeg 0.6+ читают файлы
.vob непосредственно и разбирают мпег-поток сами.
При наличии в нём FILM кладут на pulldown и
читают непосредственно Progressive frames.
Основной же проблемой риппера, как правило, является то, что
он получает Interlaced DVD, зная, что оригинал был FILM. И стремится
восстановить оригинал.
Автоматически это делает, например, фильтр Decomb для AviSynth,
хотя его повышенный интеллект порой делает не совсем то, что хотелось
бы - см.здесь.
Sergej Qkowlew AKA Radahnar. FIDO 2:5020/122