66
Приложение Б (справочное)
Основные особенности кодирования сигналов ЦТВЧ по ИСО/МЭК 14496-10
По ИСО/МЭК 14496 -10 (AVC/H264) предусмотрена возможность использования других цветовых пространств: ахроматического (только яркость), RGB, YCoCg (яркость, зеленый, оранжевый), а также других трехстимульных пространств XYZ. Кроме того, имеется возможность передачи сигнала прозрачности (ключевого сигнала, альфаканала).
Сигналы цветового пространства YCRCB кодируются макроблоками со структурой "16х16+16х16+16х16" для формата субдискретизации цвета 4:4:4, "16х1б+8х16+8х16" для формата 4:2:2 и "16х16+8х8+8х8" для формата 4:2:0.
В пределах последовательности может использоваться кодирование как по кадрам, так и по полям. Для чересстрочного изображения возможен выбор способа кодирования для каждой пары вертикально смежных макроблоков. В этом случае один макроблок содержит четные строки, а другой — нечетные.
Слайс представляет собой последовательность макроблоков, не обязательно соседних по горизонтали. Обычно весь кадр (поле) кодируется как один слайс. Допускается 5 видов слайсов: I-, P-, B-, SI- и SP-. Наличие слайсов дополнительных типов SI- и SP- делает возможным быстрое переключение декодера с обработки одного закодированного видеопотока на обработку другого (например, переключение между потоками, используемыми для передачи одного и того же видеоконтента с разным разрешением или с разным соотношением битрейт/ качество). Слайсы одного кадра могут объединяться в группы с различным (в том числе шахматным) расположением макроблоков, относящихся к разным слайсам.
При межкадровом предсказании с компенсацией движения для прогнозирования любого P-макроблока может быть использовано до 4 опорных кадров (8 полей) из 16 кадров (32 поля), хранящихся в буфере и используемых в качестве опорных для кодируемого слайса. Для B-макроблока количество опорных кадров (полей) может достигать 8. В качестве опорных могут использоваться I-, P- и B-кадры. Прогнозы для яркостной компоненты формируются с точностью ± 1/4 пиксела, а для цветоразностных компонент — ± 1/8 пиксела. Формирование прогнозов со смещением ± 1/2 осуществляется при помощи 6-отсчетного фильтра, а со смещением ± 1/4 — линейной интерполяцией прогнозов, полученных со смещением ± 1/2. Цветоразностные прогнозы формируются только линейной интерполяцией. Комбинирование прогноза B-макроблока из различных кадров может осуществляться не усреднением, а взвешенным суммированием с изменением контраста и яркости макроблоков каждого из опорных кадров. Прогнозы могут формироваться как для макроблока в целом, так и для его отдельных частей — субмакроблоков и секций. Для каждого формата дискретизации цвета допускается несколько вариантов разбиения макроблоков:
- для формата 4:4:4 — на два субмакроблока "8х16+8х16+8х16", на два субмакроблока "16х8+16х8+16х8" или на четыре субмакроблока "8х8+8х8+8х8";
- для формата 4:2:2 — на два субмакроблока "16х8+8х8+8х8" или на четыре субмакроблока "8х8+4х8+4х8"»;
- для формата 4:2:0 — на два субмакроблока «8х16+4х8+4х8", на два субмакроблока "16х8+8х4+8х4" или на четыре субмакроблока "8х8+4х4+4х4".
Количество субмакроблоков в макроблоке определяет число используемых опорных кадров.
При разбиении макроблока на 4 субмакроблока каждый из них, в свою очередь, может дробиться на две или четыре секции по одному из трех вариантов. Так, например, для субмакроблока "8х8+4х4+4х4" возможно дробление на две секции "4х8+2х4+2х4", на две секции "8х4+4х2+4х2" или на четыре секции "4х4+2х2+2х2" (рисунок Б.1).
Яркостные компоненты субмакроблоков Яркостные компоненты секций
Рисунок Б.1 — Разбиение макроблока на субмакроблоки и секции (яркостная компонента)
Разделение макроблоков на составные части составляет основу древовидной структуры компенсации движения. Наименьшими элементами прогнозирования являются компоненты 16 секций, т. е. блоки 4х4 отсчетов яркости и блоки 4х4 либо 2х2 цветоразностных отсчетов. Таким образом, при двунаправленном предсказании частей B-макроблока в предельном случае требуется передача 32 векторов движения.
В дополнение к межкадровому предсказанию применяется внутрикадровое прогнозирование I-макроблоков без компенсации движения. Для построения внутрикадровых Infra-прогнозов используются реконструированные отсчеты последней закодированной строки (прилегает к кодируемому блоку сверху) и последнего закодированного столбца (прилегает к текущему блоку слева). Предусмотрено три варианта построения Infra-прогнозов яркостной компоненты: для блоков 16х16, 8х8 и 4х4. Наилучший прогноз для блока яркостных отсчетов 16х16 выбирается среди четырех альтернативных — с направлением предсказания вправо, вниз, по диагонали и без