Entry tags:
DVB. Часть 3. MPEG2 Video - параметры кадров
Остальные части
Когда говорят о MPEG2, в первую очередь подразумевают видео, которым мы сейчас и займёмся. В общих чертах, конечно.
На самом деле, стандарт MPEG2 включает в себя много всего другого, в частности, кодирование аудио, разбивку данных на пакеты, объединение пакетов в потоки, мультиплексирование потоков, служебную информацию, и прочая, и прочая. Всё это подробно, с картинками и формулами, описано в группе документов под общим названием ISO/IEC 13818.
Кодирование видео описано во второй части стандарта, которую любой желающий может купить себе всего за каких-то 244 швейцарских франка. Если купите, не забудьте прислать мне. Вместе с остальными девятью частями.
Изначально (или после оцифровки) цифровое видео представляет собой набор кадров, каждый из которых состоит из цветных пикселов. Ну, иногда чёрно-белых, но это частный случай цветных.
Кадры должны показываться с определённой частотой.
Количество строк в кадре происходит от систем аналогового телевидения: 576 для PAL и SECAM, 480 для NTSC, либо вдвое уменьшенное: 288 или 240, как в бытовых видеомагнитофонах соответствующих систем.
Количество точек в строке в аналоговом телевидении не имееет физического смысла, по какому принципу оно было выбрано в MPEG2, я не знаю. Их бывает 720, 704, 640, 544, 480 или 352. Все эти числа нацело делятся на 16, что связано с особенностями алгоритмов кодирования.
Замечу, что обычное соотношение сторон кадра - 4:3. Поэтому в абсолютном большинстве случаев пикселы в кадре получаются вовсе не квадратные. Единственное исключение - 640x480. Правда, при кодировании и декодировании это никакого значения не имеет, это следует учитывать только при собственно показе видео.
А ещё от аналогового телевидения по наследству передалась частота кадров - 25 для PAL/SECAM, 24/1.001, 24, 30/1.001 и 30 для NTSC.
И возможность чересстрочной развертки (interlacing), которую изобрели в древности в связи с ограниченностью технических возможностей тогдашних телевизионных приемников, тоже пришла из аналогового телевидения.
Проблема была в том, что пока луч в кинескопе доходил до нижней части экрана, в верхней люминофор уже начинал гаснуть, и картинка ощутимо мерцала. Для борьбы с этим явлением придумали поделить кадр на две половины - сначала рисовать четные строки, потом нечётные. А чтобы картинка при показе выглядела цельной, эти две половины сдвинуты по времени на полкадра (1/50 секунды для PAL/SECAM). С телевизорами-то всё нормально, а вот если оба полукадра выводить вместе и с обычной частотой - 25 кадров/с - на устройство с прогрессивной развёрткой (все строки по порядку), например, на компьютерный монитор, то из-за временнОго сдвига половины строк появляется гребёнка.
Современные телевизоры уже давно научились прогрессивной развёртке без мерцания, но чересстрочная так прочно укоренилась, что переползла и в цифровое телевидение, и доставляет много головной боли. Гребёнка, возникающая при перекодировании некоторых DVD в DivX - это она самая.
Upd: как справедливо написал в комментах
jorje, чересстрочность позволяет при просмотре получить более плавные движения из-за фактически удвоенной частоты кадров. Видимо, поэтому она до сих пор и существует.
Вот тут можно почитать (на английском) про телевизионные стандарты и чересстрочность и посмотреть в картинках.
Прогрессивная развёртка в MPEG2 также присутствует.
Ещё раз уточняю, что говорить о PAL, SECAM или NTSC применительно к цифровому изображению - неправильно. Это аналоговые стандарты, от которых в цифре остались только некоторые очень отдельные параметры.
Кроме вышеуказанных, для телевидения высокой чёткости определены и другие варианты размеров кадра, вплоть до 1920 x 1080 пикселов.
Когда говорят о MPEG2, в первую очередь подразумевают видео, которым мы сейчас и займёмся. В общих чертах, конечно.
На самом деле, стандарт MPEG2 включает в себя много всего другого, в частности, кодирование аудио, разбивку данных на пакеты, объединение пакетов в потоки, мультиплексирование потоков, служебную информацию, и прочая, и прочая. Всё это подробно, с картинками и формулами, описано в группе документов под общим названием ISO/IEC 13818.
Кодирование видео описано во второй части стандарта, которую любой желающий может купить себе всего за каких-то 244 швейцарских франка. Если купите, не забудьте прислать мне. Вместе с остальными девятью частями.
Изначально (или после оцифровки) цифровое видео представляет собой набор кадров, каждый из которых состоит из цветных пикселов. Ну, иногда чёрно-белых, но это частный случай цветных.
Кадры должны показываться с определённой частотой.
Количество строк в кадре происходит от систем аналогового телевидения: 576 для PAL и SECAM, 480 для NTSC, либо вдвое уменьшенное: 288 или 240, как в бытовых видеомагнитофонах соответствующих систем.
Количество точек в строке в аналоговом телевидении не имееет физического смысла, по какому принципу оно было выбрано в MPEG2, я не знаю. Их бывает 720, 704, 640, 544, 480 или 352. Все эти числа нацело делятся на 16, что связано с особенностями алгоритмов кодирования.
Замечу, что обычное соотношение сторон кадра - 4:3. Поэтому в абсолютном большинстве случаев пикселы в кадре получаются вовсе не квадратные. Единственное исключение - 640x480. Правда, при кодировании и декодировании это никакого значения не имеет, это следует учитывать только при собственно показе видео.
А ещё от аналогового телевидения по наследству передалась частота кадров - 25 для PAL/SECAM, 24/1.001, 24, 30/1.001 и 30 для NTSC.
И возможность чересстрочной развертки (interlacing), которую изобрели в древности в связи с ограниченностью технических возможностей тогдашних телевизионных приемников, тоже пришла из аналогового телевидения.
Проблема была в том, что пока луч в кинескопе доходил до нижней части экрана, в верхней люминофор уже начинал гаснуть, и картинка ощутимо мерцала. Для борьбы с этим явлением придумали поделить кадр на две половины - сначала рисовать четные строки, потом нечётные. А чтобы картинка при показе выглядела цельной, эти две половины сдвинуты по времени на полкадра (1/50 секунды для PAL/SECAM). С телевизорами-то всё нормально, а вот если оба полукадра выводить вместе и с обычной частотой - 25 кадров/с - на устройство с прогрессивной развёрткой (все строки по порядку), например, на компьютерный монитор, то из-за временнОго сдвига половины строк появляется гребёнка.
Современные телевизоры уже давно научились прогрессивной развёртке без мерцания, но чересстрочная так прочно укоренилась, что переползла и в цифровое телевидение, и доставляет много головной боли. Гребёнка, возникающая при перекодировании некоторых DVD в DivX - это она самая.
Upd: как справедливо написал в комментах
Вот тут можно почитать (на английском) про телевизионные стандарты и чересстрочность и посмотреть в картинках.
Прогрессивная развёртка в MPEG2 также присутствует.
Ещё раз уточняю, что говорить о PAL, SECAM или NTSC применительно к цифровому изображению - неправильно. Это аналоговые стандарты, от которых в цифре остались только некоторые очень отдельные параметры.
Кроме вышеуказанных, для телевидения высокой чёткости определены и другие варианты размеров кадра, вплоть до 1920 x 1080 пикселов.
no subject
no subject
no subject
no subject
Про происхождение и реализацию я написал. А деинтерлейсинг - это попытки вернуть картинку в прогрессивное состояние. Простейший способ - просто убрать половину строк. Более сложные - усреднение пар строк, интерполяции, попытки инвертировать алгоритм интерлейсинга, если известно, что исходный материал был прогрессивным. Вкратце можно почитать в википедии: http://en.wikipedia.org/wiki/Deinterlacing
Почему нельзя на компьютере чересстрочную картинку выводить на монитор в два полукадра с удвоенной частотой (50 полукадров в секунду), я не знаю. И почему при перекодировании MPEG2 в MPEG4 (в тот же DivX, например) нельзя оставить интерлейсинг, как он был, раздельно кодируя половинки кадров, - для меня тоже загадка. Сам по себе стандарт MPEG4 чересстрочность допускает.
no subject
Можно. PowerDVD так делает когда interlaced dvd проигрывает.
no subject
можно, Divx понимает черезстрочное видео и при кодировании и при проигрывании, умеет делать деинтерлейсинг если надо.
no subject
А почему во всех руководствах по перекодированию в divx написано про много разных способов деинтерлейсинга, а про то, что его можно и не делать, не написано?
no subject
New:
* Support for interlaced video in both the encoder and decoder. If the content you're encoding is interlaced, you can either de-interlace the content so that it is progressive, or preserve the interlaced fields. Preserving the interlaced fields may sometimes result in better video quality during playback.
no subject
no subject
no subject
no subject
а отдельная история - это upper first и lower first!
Просмотр видео удвоенная частота кадров