Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
345
Добавлен:
15.03.2016
Размер:
2.59 Mб
Скачать

Модуль арифметического кодирования

Арифметический кодер подробно описан в стандарте, и он имеет три специфических свойства.

  1. Оценка вероятностей осуществляется переходным процессом между 64 отдельными состояниями вероятностей для «символа с наименьшей вероятностью» LPS(он является наименее вероятным из двух возможных решений 0 или 1).

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

  3. Используются упрощенные процессы кодирования и декодирования (в которых опущена часть контекстного моделирования) для символов с распределением вероятностей, близким к равномерному.

Процесс декодирования спроектирован так, чтобы облегчить программную реализацию схемы арифметического кодирования и декодирования. В среднем алгоритм САВАС обеспечивает лучшее сжатие по сравнению со схемой кодирования VLC.

3.4.4. Расширенный профиль

Расширенный профиль может оказаться особенно полезным в приложениях типа потоковое видео. Он включает все инструменты кодирования базового профиля (то есть он является действительным расширением базового про­филя в отличие от основного), а также В-слои и взвешенное прогнозирование. Помимо этого, здесь имеются дополнительные инструменты, обеспечивающие эффективную передачу потоковых данных по сетям типа Интернет. Слои SP и SI облегчают переключение между разными кодовыми потоками, а функционирование по типу VCR и слои разделения данных позволяют повысить устойчивость передачи по каналам, подверженным ошибкам [33].

Слои sPиSi

SP- иSI-слои представляют собой слои, закодированные специальным способом, которые обеспечивают, помимо всего прочего, эффективное переключение между видеопотоками и организуют быстрый случайный доступ для видеокодеров. Общее требование к потоковым приложениям заключается в обеспечении возможности декодеру переключаться между одним или несколькими кодированными потоками. Например, один и тот же видеоматериал кодируется на нескольких битовых скоростях для передачи по Интернету, и декодер сначала пытается декодировать самый высокоскоростной видеопоток, который он может получить, а потом ему может понадобиться переключиться на более низкую скорость видеопотока, например, из-за падения пропускной способности сети.

S

Рис. 3.47.Схема переключения потоков с помощьюSP-слоев

P-слои были разработаны для обеспечения переключений между подобными кодированными видеопоследовательностями (например, для кодирования одного и того же видеоконтента с разными битовыми скоростями), но без недостатка увеличения битовой скорости при использованииI-слоев (рис. 3.47).

В точке переключения (кадр 2 в каждой последовательности) ставятся три SP-слоя, каждый из которых кодируется с использованием прогноза компенсации движения (что делает их более эффективными по сравнению сI-слоями).SP-слойA2можно декодировать с помощью ссылочного снимкаА1, а слойВ2– с помощью снимкаВ1. Ключевым элементом процесса переключения служитSP-слойАВ2(он называетсяпереключающим SP-слоем), который построен таким образом, что его можно декодировать с использованием ссылочного снимкаА1для получения декодированного кадраВ2(то есть выход декодераВ2будет идентичен, как если бы ему предшествовал кадрВ1). В каждой точке переключения требуется поместитьSP-слой (на самом деле еще одинSP-слойВА2, который будет необходим при переключении в обратном направлении), однако это займет меньший информационный объем, чем кодированиеА2иВ2какI-слоев. В табл. 3.20 перечислены шаги, которые необходимо совершить декодеру при переключении с потокаАна потокВ.

Н

Таблица 3.20

Схема переключения с потока Ана потокВс помощьюSP-слоев

Вход декодера

Ссылочный МС

Выход декодера

Р-слой А0

Р-слой А1

SР-слой АВ2

Р-слой В3

[Более ранний кадр]

Декодир. кадр А0

Декодир. кадр А1

Декодир. кадр В2

Декодир. кадр А0

Декодир. кадр А1

Декодир. кадр В2

Декодир. кадр В3

арис. 3.48показана упрощенная блок-схема процесса кодированияSP-слоя, при котором совершается вычитание версии с компенсацией движения(декодированного кадра) из кадра, за которым следует кодирование получившегося остатка. В отличие от «обычного»Р-слоя вычитание производится в области преобразования (после совершения преобразования блока).SP-слойВ2кодируется аналогично (см. рис. 3.49).

Декодер, имея предыдущий кадр А2, может декодироватьSP-слойА2, как показано на рис. 3.50.

Заметим, что приведенные структурные схемы являются упрощенными. На практике требуются еще шаги квантования и деквантования во избежание разночтений кодера и декодера.

Рис. 3.48.Упрощенная схема кодированияSP-слояА2

Рис. 3.49.Упрощенная схема кодированияSP-слояВ2

Рис. 3.50.Упрощенная схема декодированияSP-слояА2

Рис. 3.51.Упрощенная схема кодированияSP-слояАВ2

Рис. 3.52.Упрощенная схема декодированияSP-слояАВ2

Упрощенное кодирование SP-слояАВ2показано на рис. 3.51.

Кадр В2(это кадр потока, куда происходит переключение) преобразуется и прогноз компенсации движения строится по(это кадр потока, откуда идет переключение). Блок МС на этой блок-схеме пытается обнаружить наилучшее совпадение для каждого макроблока кадраВ2, используя в качестве ссылки кадрА1. Прогноз компенсации движения преобразуется, затем вычитается из преобразованногоВ2(то есть в случае слояSPвычитание производится в области преобразования). Остаток (после вычитания) квантуется, кодируется и посылается.

Декодер, который ранее декодировал , может декодироватьSP-слойАВ2для построения(рис. 3.52). Кадрпрогнозируется с компенсацией движения (с помощью вектора движения, закодированного как частьАВ2), преобразуется и прибавляется к декодированному и деквантованному остатку, после чего к результату применяется обратное преобразование для получения.

Если потоки АиВпредставляют собой версии одной и той же видеопоследовательности, закодированной с разными битовыми скоростями, то прогноз компенсации движения кадраВ2по кадру(SP-слойАВ2) должен быть достаточно эффективным. Дополнительные исследования показывают, что использованиеSP-слоев при переключении между различными версиями одной и той же последовательности является значительно более эффективным, чем вставкаI-слоев в точках переключения. Другое применениеSP-слоев заключается в обеспечении случайного доступа и функционирования по типуVCR. Например,SP-слой и переключающийSP-слой помещаются вместо кадра 10 (см. рис. 3.53). Декодер может быстро перейти вперед от кадраА0к кадруА10, продекодировавА0, а затем продекодировав переключающийSP-слойА0–10для полученияА10, прогнозируя его поА0.

Расширенный профиль поддерживает еще один тип переключающих слоев, а именно SI-слои. Эти слои используются так же, как иSP-слои, за исключением того, что прогнозы формируются в модах прогнозовintra-б

Рис. 3.53.Схема быстрого перехода вперед с использованиемSP-слоев

локов 44 по ранее декодированным пикселям реконструируемого кадра. Этот слой можно использовать, например, при переключении от одной последовательности к другой (в этом случае нет смысла строить прогноз компенсации движения, так как нет корреляции между двумя этими последовательностями).

Соседние файлы в папке 399_Mamchev-Cifrovoe_televizionnoe_veschanie_2012