Показать сообщение отдельно
Старый 25.07.2003, 00:24     # 18
jarnsk
Newbie
 
Регистрация: 07.01.2003
Сообщения: 39

jarnsk Путь к славе только начался
Как пишут С.Корбут и И.Антипов:
"При перекодировании фильмов с DVD-дисков во всем известный формат DivX ;-) зачастую попадаются фильмы, к которым был применён метод преобразования частоты кадров из 24 в 30 кадров в секунду, называемый Telecine.
Если сказать в двух словах, то его суть состоит в том, что к каждой четвёрке кадров добавляется пятый кадр. Делается это делением кадров на черезстрочные поля и использованием двух полей из двух кадров четвёрки дважды. Очень подробно об этом написано в этой статье: http://hiroko.ee.ntu.edu.tw/ivtc/
Если фильм интерлейсный, то границы всех движущихся объектов во всех кадрах будут как-бы "расчёсанными".
Если фильму было применено Telecine, то "расчёсанные" кадры будут чередоваться с нормальными. Причем последовательность чередования будет такой: три нормальных кадра - два расчёсанных - три нормальных - два расчёсанных и т.д. Исправлять такие расчёсанные кадры с помощью деинтерлейсинга - очень некорректно. Для восстановления исходной последовательности кадров необходимо применить алгоритм, который называется IVTC - Inverse Telecine
Долгие поиски программы, хорошо делающей IVTC ни к чему не привели.
Поэтому нами был написан полностью свой алгоритм IVTC, который не был универсальным и предназначался для обработки только *.vob-файлов, сграбленных с DVD-дисков. Этот алгоритм был добавлен к основному и сделана возможность выбора алгоритма пользователем в меню: Video -> Frame Rate -> Reconstruct from fields - adaptive (for VOB). Новый алгоритм при обработке *.vob-ов практически не ошибается - ошибки возникают только в местах склейки эпизодов в фильме и в отредактированных местах, когда меняется последовательность Telecine. Впрочем в таких местах ошибаются абсолютно все программы, в которых реализован алгоритм IVTC.

Проиллюстрировать смену последовательности Telecine, можно на следующем примере:

как уже было сказано выше, правильной является последовательность кадров 3+2, то есть три нормальных (Н) кадра - два "расчёсанных" (Р) - три нормальных - два "расчёсанных" и т.д.:

1 2 3 4 5 | 6 7 8 9 10 | 11 12 13 14 15 | 16 17 18 19 20 | 21 22 23
Н Н Н Р Р | Н Н Н Р Р | Н Н Н Р Р | Н Н Н Р Р | Н Н Н

Для того, чтобы устранить "расчёски" программа должна правильно обнаружить "расчёсанные" кадры и рекомбинировать их, то есть из двух "расчёсанных" кадров сделать один нерасчёсанный, а один - выкинуть. Результатом работы программы будет вот такая последовательность (здесь "В" - восстановленный кадр):

1 2 3 4 | 6 7 8 9 | 11 12 13 14 | 16 17 18 19 | 21 22 23
Н Н Н B | H Н Н B | H H Н B | Н H H B | Н Н Н

Но, как правило, фильм обработанный Telecine потом редактируется. Например, из него могут быть вырезаны какие-нибудь сцены или отдельные кадры. И уже в таком виде фильм записывается на DVD. Поэтому в таких отредактированных местах фильма последовательность Telecine нарушается. Вместо 3+2 может получиться, например, 1+2 или 3+1 или 2+2 и т.д.:

1 2 3 4 5 | 6 7 8 9 10 | 11 12 13 14 15 | 16 17 18 19 20 | 21 22 23
Н Н Н Р Р | P P Н Р Р | Н Н Н Р H | Н Н P Р H | Н Н P

Как видим из этого примера, вторая пятёрка кадров содержит не два, а четыре "расчёсанных" кадра, а третья - всего один. Поэтому при обработке второй и третьей пятёрки возникнут ошибки и останутся расчёсанные кадры. Произойдёт это вследствие того, что первым правилом алгоритма IVTC является: алгоритм обязан рекомбинировать два кадра из пяти и сделать из них один. Оставшиеся неиспользованными два поля просто выбрасываются. Если алгоритм не соблюдает это правило, то неизбежно наступает рассинхронизация звука и изображения. Поэтому после обработки приведённой выше неправильной последовательности будет вот такой результат:

1 2 3 4 | 6 8 9 10 | 11 12 13 15 | 16 17 18 20 | 21 22 23
Н Н Н B | B Н P P | H H B/P Н | Н H B Н | Н Н B

или вот такой, в зависимости от "содержимого" кадров:

1 2 3 4 | 6 7 8 9 | 11 12 13 14 | 16 17 18 20 | 21 22 23
Н Н Н B | P P H B | Н H H B/P | Н Н B H | Н Н B

Как видим, во второй четвёрке осталось два "расчёсанных" кадра, а в третьей получился один восстановленный, но всё равно "расчёсанный" кадр.

Такие "подправленные" места являются "камнем преткновения" для всех программ выполняющих IVTC. И нет никакой возможности обойти этот "камень".

Особенно подвержены этой проблеме видеоклипы - их очень сильно правят после обработки Telecine. На них буквально "нет живого места" - сплошные нарушения последовательности. Поэтому при обработке видеоклипов вам придётся помимо IVTC использовать деинтерлейсинг.

Это VirtualDub_1.4d_patched.exe был обкатан на нескольких фильмах - результат очень хороший. Предлагаем Вам опробовать его на практике.

Для нормальной работы этой программы необходимо наличие всех файлов, идущих вместе со стандартной версией VirtualDub 1.4d. После инсталляции оригинальной версии программы необходимо просто заменить оригинальный VirtualDub.exe на патченный."

От себя добавлю что работает это очень хорошо. К сожалению не знаю, есть ли патчи для новых версий VirtualDub.
jarnsk вне форума