Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
345
Добавлен:
15.03.2016
Размер:
2.59 Mб
Скачать
  1. Выбор контекстной модели. «Контекстная модель» – это вероятностная модель для одного или нескольких бит двоичных символов. Она выбирается из набора доступных моделей, зависящих от статистики недавно закодированных символов. Контекстная модель хранит вероятности каждого бита 1 или 0.

  2. А

    Таблица 3.16

    Экспоненциальные коды Голомба

    code_num

    Кодовое слово

    0

    1

    2

    3

    4

    5

    6

    7

    8

    1

    010

    011

    00100

    00101

    00110

    00111

    0001000

    0001001

    рифметическое кодирование: арифметический кодер кодирует каждый бит в соответствии с выбранной вероятностной моделью.

  3. Обновление вероятностей: выбранная контекстная модель подправляется на основе фактических закодированных значений (например, если значение бита было 1, то увеличивается счетчик частоты бит 1).

Процесс кодирования

Проиллюстрируем этот процесс на примере кодирования величины mvdx(координатахразности векторов движения, которая кодируется для каждого блока или подблока в модеinter).

1. Перевести mvdxв двоичную форму. Применяется следующая таблица однозначно декодируемых, кодовых слов при условии(табл. 3.17) (большие значенияmvdxпереводятся в двоичную форму с помощьюэкспоненциальных кодов Голомба, относящихся к семействуэнтропийных кодов).

Таблица 3.17

Схема перевода разности векторов в двоичную форму

Двоичный код (s = знак)

0

1

2

3

4

5

6

7

8

1

10s

110s

1110s

11110s

111110s

1111110s

11111110s

111111110s

Таблица 3.18

Контекстные модели для первого бита

Контекстная модель для первого бита

Модель 0

Модель 1

Модель 2

Таблица 3.19

Контекстные модели

Бит

Контекстная модель

1

2

3

4

5 и выше

0, 1 или 2 в зависимости от ek

Модель 3

Модель 4

Модель 5

Модель 6

2. Выбрать контекстную модель для каждого бита. Для первого бита выбирается одна из трех моделей (табл. 3.18) на основе нормы двух значений предыдущих закодированных векторов mvdx,ek:

,

где АиВ– блоки, лежащие левее и выше текущего блока.

Если ekмало, то с большой вероятностью текущийMVDбудет иметь маленький модуль, и наоборот, при большомekмодуль текущегоMVDбудет большим. Вероятностная таблица (контекстная модель) выбирается соответственно. Все остальные биты используют одну из оставшихся четырех моделей (табл. 3.19).

3. Кодировать каждый бит. Выбранная контекстная модель снабжена двумя оценками вероятностей: вероятность того, что бит равен 1 и вероятность того, что бит равен 0. Эти два числа определяют разбиение на подынтегралы, используемые при арифметическом кодировании.

4. Обновить контекстную модель. Например, если для первого бита выбрана контекстная модель 2 и значение первого бита равно 0, то счетчик частоты 0 увеличивается на 1, и поэтому в следующий раз при выборе этой модели вероятность 0 будет немного больше. Когда общее число появления данной модели превосходит некоторый порог, происходит пропорциональное уменьшение счетчиков 0 и 1, что означает повышение приоритета неравных наблюдений.

Контекстные модели

Контекстные модели и схемы двоичных представлений всех синтаксических элементов определены стандартом. Имеется около 400 разных контекстных моделей для различных синтаксических элементов. В начале кодирования каждого слоя происходит инициализация контекстных моделей в зависимости от начальных значений параметра квантования QP(поскольку он оказывает значительное влияние на вероятности появления различных синтаксических символов). Дополнительно при кодированииР-,SP- иВ-слоев, кодер может выбрать одно из трех множеств параметров инициализации контекстных моделей, которые позволяют лучше адаптироваться к различным типам видеоконтента.

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