Преобразование и квантование для блоков 0–15 и 18–25




 

 

Это преобразование используется для блоков размером 4×4 с номерами

 

0–15 и 18–25 на рис.1.9 после осуществления INTER- или INTRA-обработки.

 

Преобразование основано на ДКП, но имеет некоторые фундаментальные отличия:

 

 

1) Это целочисленное преобразование (все операции могут быть выполнены в целочисленной арифметике без потери точности).

 

2) Обратное преобразование, определенное в рекомендации H.264, производит восстановление исходных данных с искажениями, то есть является приблизительным.

 

3) Основная часть преобразования не имеет умножений, то есть оно основано только на суммированиях и сдвигах.

 

4) Масштабирующее умножение (входящее в процесс преобразования) интегрировано в процесс квантования (что сокращает общее количество умножений).

 

Полный процесс преобразования и квантования может быть выполнен при помощи 16-разрядной целочисленной арифметики, и только одно умножение выполняется с небольшой потерей точности.

 


1.5.3. Приблизительное ДКП 4×4

 

 

ДКП для входного массива X размером 4×4 определяется соотношением (1)

[ ] [ ] [ ], (1)

 

 

где

√ () √

 

 

Данное матричное умножение может быть факторизировано и формула

 

(1) примет следующий вид (2).

([ ] [ ] [ ]) [ ], (2)

 

Произведение матриц CXCT является «ядром» преобразования.

 

Матрица E представляет собой набор коэффициентов, причем каждый элемент матрицы (CXCT) должен быть умножен на соответствующий элемент матрицы E (скалярное поэлементное умножение матриц).

 

коэффициент d = c/b (≈0.414).

 

 

Для упрощения процедуры выполнения преобразования предлагается принять d = 0.5. Для того чтобы гарантировать ортогональность преобразования, необходимо изменить и коэффициент b, так что получим следующие значения коэффициентов:

 

 


Второй и четвертый ряды, а также вторая и четвертая колонки матрицы

 

C умножаются на 2, а матрица E изменяется так, чтобы компенсировать данное умножение. (Это позволяет исключить деление на 2 в «ядре» преобразования CXCT, которое привело бы к потере точности при целочисленной арифметике.) Окончательно преобразование примет вид (3).

([ ] [ ] [ ]),(3)

[ ]

 

 

Данное преобразование является аппроксимированным

 

(приблизительным) ДКП размером 4×4, так как изменение коэффициентов d

 

и b привело к появлению нового преобразования, не идентичного исходному ДКП размером 4×4.

 

 

Применяемое в кодеке H.264 приблизительное преобразование позволяет получить практически такую же степень сжатия, что и ДКП, и,

 

кроме того, обладает рядом важных преимуществ. Во-первых, «ядро» преобразования CXCT может быть выполнено в целочисленной арифметике при помощи только операций суммирования, вычитания и сдвига

 

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

 

разрядная арифметика без риска выхода за пределы диапазона ±255. В-

 

третьих, масштабирование при помощи матрицы E требует только одного умножения для каждого коэффициента, которое может быть «включено» в

 

процесс квантования (см. ниже).

 

 

Обратное преобразование определяется соотношением (4).

[ ] [ ] [ ],(4)
  ( [ ])  

 


В этом случае матрица Y вначале масштабируется матрицей Ei, путем поэлементного умножения.

 

Прямое и обратное преобразования являются ортогональными, то есть:

 

,(5)

 

 

Квантование

 

 

В рекомендации H.264 используется скалярное квантование. К его определению и выполнению предъявляются следующие требования: (a)

 

исключить деление и арифметику с плавающей точкой, (b) включить в процесс квантования масштабирование при помощи матриц Ef и Ei,

 

описанных выше.

 

 

Базовой операцией прямого квантования является следующее действие:

(   * (6)  
   

 

 

где Yij — коэффициенты преобразования, описанные выше, Qstep — шаг квантования, и Zij — квантованные коэффициенты.

 

Общее количество значений шага квантования Qstep, определенное в стандарте, равно 52, они передаются как параметр QP, показанный в таблице

 

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

 

Таблица 1

 

Размер шага квантования в кодеке H.264

 

QP                          
Qstep 0.6 0.68 0.81 0.87   1.12 1.2 1.37 1.62 1.7   2.25 2.  
                             
QP              
Qstep                            
                             

Коэффициенты масштабирования 2, ab/2 или b2/4 включены в прямое квантование. Вначале входной блок X преобразуется, и получается блок промежуточных коэффициентов W = CXCT. Затем каждый коэффициент Wij

 

квантуется и масштабируется при помощи одной операции:

(   * (7)  
   

 

 

Где PF может принимать значения a2, b2/4 или ab/2 в зависимости от позиции в блоке X.

 

Операция (PF/Qstep) осуществляется в рекомендации H.264 как умножение на коэффициент MF (коэффициент-фактор) и сдвиг вправо, таким образом, исключается операция деления:

(   * (8)  
   

 

где

 

 

В целочисленной арифметике (8) может быть выполнено следующим образом:

(), (9)

 

 

где «>>» определяет логический сдвиг вправо. В рекомендации определяется коэффициент ƒ как 2qbits/3 для INTRA-блоков и 2qbits/6 для INTER-блоков.

 

Первые 6 значений MF, в зависимости от QP и позиции коэффициента в блоке, могут быть рассчитаны по таблице 2.

 


Таблица 2

 

Коэффициент умножения MF

 

QP Позиция Позиция В остальных
  (0,0), (2,0), (1,1), (1,3), случаях
  (0,2), (2,2) (3,1), (3,3)  
       
       
       
       
       
       
       
       
       
       
       
       
       

 

 

Для значений QP > 5 коэффициенты умножения MF будут повторяться в соответствии с таблицей 2, а делитель 2qbits будет увеличиваться в два раза для каждого приращения QP на 6. Например, qbits = 16 для 6≤QP≤11; qbits = 17 для 6≤QP≤17; и так далее.

 

Обратное квантование

 

 

Базовая операция обратного квантования определяется соотношением:

 

 

, (10)

 

 

Коэффициенты масштабирования для инверсного преобразования

 

(матрица Ei, содержащая коэффициенты a2, ab и b2 в зависимости от позиции) включаются в эту операцию совместно с постоянным множителем

 

64, чтобы избежать ошибки округления:

 

 

, (11)

 

 

Коэффициенты W'ij являются результатом выполнения «ядра» обратного преобразования (CiTWCi:). Значения полученных коэффициентов


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

 

Стандарт H.264 непосредственно не определяет Qstep или PF. Вместо этого определяется параметр V = (QstepPF64) для 0≤QP≤5 и для каждого коэффициента в блоке производится пересчет по формуле:

 

, (12)

 

 

1.5.6. Преобразование и квантование яркостных DC коэффициентов блока размером 4×4

 

 

Если макроблок размером 16×16 обрабатывается в INTRA-режиме, то каждый остаточный блок размером 4×4 сначала преобразуется «ядром»

 

CƒXCƒT, описанным выше. Полученные яркостные DC-коэффициенты каждого блока размером 4×4 выделяются в отдельный блок и обрабатываются в соответствии с преобразованием Адаманта:

[ ] [ ] [ ], (13)

 

Матрица WD представляет собой блок DC-коэффициентов размером

 

4×4, а матрица YD — это блок коэффициентов после преобразования.

 

Полученные коэффициенты YD(i, j) делятся на два (с округлением).

 

После этого коэффициенты YD(i, j) квантуются по формуле:

() (14)

 

 

где MF, ƒ и qbits определяются как обычно, при этом MF зависит от позиции

 

(i, j) в пределах блока DC-коэффициентов размером 4×4, как было описано выше.

 


В декодере обратное преобразование выполняется следующим образом:

[ ] [ ] [ ], (15)

 

 

Если QP больше или равно 12, то обратное квантование выполняется следующим образом:

 

, (16)

 

 

Если QP меньше 12, то обратное квантование определяется как:

[ ], (17)

 

Коэффициенты V определяется, как было описано выше. Полученная после процедуры обратного квантования матрица W'D является блоком DC-

 

коэффициентов, которые вставляются в соответствующие блоки, и

 

выполняется «ядро» обратного преобразования (CiT W'Ci).

 

 

Так как в INTRA-макроблоках большая часть энергии сконцентрирована в DC-коэффициентах, данное дополнительное преобразование DC-коэффициентов помогает декоррелировать блок яркостных коэффициентов размером 4×4 (то есть использовать в своих интересах корреляцию между коэффициентами).

 

1.5.7. Преобразование и квантование блока цветоразностных коэффициентов размером 2×2

 

 

Каждый цветоразностный компонент в макроблоке состоит из четырех блоков размером 4×4. Каждый блок размером 4×4 преобразуется так, как это было описано в рвзделе «Формирование INTRA-прогноза». Коэффициенты

 

 


DC каждого блока размером 4×4 группируются в блок размера 2×2 (WD), а

 

затем полученный блок преобразуется и квантуется:

* + [ ] * +, (18)

 

 

Квантование блока YD размером 2×2 выполняется следующим образом:

(), (19)

 

 

где коэффициенты MF, ƒ и qbits определяются как было описано выше.

 

 

Затем проводится декодирование, обратная трансформация и обратное квантование:

* + [ ] * +, (20)

 

 

Если QP больше или равен 6, обратное квантование выполняется следующим образом:

 

, (21)

 

 

Если QP меньше, чем 6, обратное квантование выполняется в соответствии с выражением:

[ ], (22)

 

 

Коэффициенты, полученные после обратного квантования,

 

размещаются в соответствующих цветоразностных блоках размером 4×4,

 

которые затем обрабатываются, как это описано выше (CiTW'Ci). Как и в случае с кодированием яркостных DC-коэффициентов в INTRA-режиме,

 

применяется дополнительное преобразование, помогающее декоррелировать блок размера 2×2 цветоразностных DC-коэффициентов и, следовательно,

 

увеличивающее степень сжатия.

 

 


На рис. 1.10 представлен описанный выше полный процесс прямого и обратного преобразования и квантования от момента поступления на вход обрабатываемого блока X до получения на выходе восстановленного блока

 

X'.

 

Рис.1.10. Процесс прямого и обратного преобразования и квантования

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-07 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: