Выделяют также пропущенный макроблок – информация о котором не передается. Представляется, что местоположение пропущенного макроблока может служить для записи дополнительной информации.
Запись дополнительной информации возможна за счет варьирования кодовыми словами энтропийного кодера.
Предусмотрено четыре способа кодирования В-кадров. За счет выбора способа можно передавать определенное количество информации.
Возможен и другой порядок следования кадров.
Как показывает практика, искажение векторов движения приводят к видимым артефактам на восстановленной видеопоследовательности. Поэтому, вряд ли целесообразна их модификация для записи дополнительной информации.
Таким образом, стандарт предусматривает обязательность наличия полей для записи дополнительных параметров кодирования как всей последовательности, так и каждого кадра.
Если код дополнения будет равным зарезервированному значению, то декодер пропустит все данные до следующего стартового кода. Отсюда следует, что в эти данные можно внедрять информацию, так как она все равно не читается декодером.
Часть значения vbv_buffer_size может быть использовано для записи дополнительной информации.
Пользовательские данные – произвольное число произвольных байтов.
8-битный параметр transfer_characteristics, описывающий характеристику передачи оптоэлектронного источника изображения. В заголовке группы кадров имеется параметр broken_link. Если он равен 1, то декодер считает следующие за I-кадром В-кадры утерянными и не декодирует их. В них можно записать информацию.
Флаг top_field_first в КК кадрах может быть равным как нулю (первым декодируется нижний кадр), так и 1. Можно передавать 1 бит информации на кадр.
Предсказание может быть как на уровне поля, так и на уровне кадра.
Существуют флаги, не влияющие на процесс декодирования. Существуют также флаги специфичные только для PAL-систем – v_axis и field_sequence. Флаг sub_carrier и параметр sub_carrier_phase связаны с фазой поднесущего колебания, в параметре burst_amplitude содержится информация об амплитуде импульса (только для NTSC и PAL систем).
Значения матриц квантования могут быть модулированы дополнительной информацией.
Расширения копирайта могут применяться для переноса информации (64 бита).
Квантованные коэффициенты.
Для улучшения микширования MPEG2 видео потоков в режиме реального времени было сделано следующее:
Рис. 2.1.1
Большое внимание при разработке данной системы уделялось быстродействию каждого модуля в отдельности (декодера и кодера). Оптимизация производилась под процессоры архитектуры i386, поддерживающие SIMD инструкции MMX, SSE, SSE2. Данная оптимизация увеличила скорость декодера в среднем в 2 раза, скорость кодера в 1.7 раза.
Для тестирования системы микширования использовались видеопотоки с размером кадра 320x240 в формате YUV (без сжатия). Для получения полной картины использовались различные изображения с разными по сложности текстурами:
1. Sputnik.yuv
На данном видеофрагменте представлен спутник, которые совершает вращающиеся движение по окружности. Данный видеофрагмент является трудным для кодирования, так как имеет сложную текстуру и сложное для кодера движение – круговое.
2. Animation.yuv
Этот видеофрагмент является простым, так как обладает несложной текстурой (однотонный фон) и простым движением.
1. ccir39_normal
На этом видеофрагменте присутствует быстрое движение по всему кадру, что позволяет сказать, что данный видеопоток является сложным для енкодера.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.