69
Приложение В (справочное)
Особенности кодирования сигналов ЦТВЧ по стандарту VC-1
Стандарт VC-1 [9], принятый в 2005 году, объединяет в себе много общих подходов, характерных для AVC/H.264 и MPEG-2.
Особенности кодирования сигналов ЦТВЧ по стандарту VC-1 заключаются в следующем:
- Используется только один формат субдискретизации цвета 4:2:0.
- Введен дополнительный структурный элемент — точка подключения (entry-point), предназначенная для инициализации декодирования цифрового потока в приемных устройствах.
- Номенклатура типов кадров (полей) дополнена В/-типом. Кадр (поле) В/-типа содержит только /-макроблоки и в качестве опорного не используется.
- Слайс представляет собой последовательность макроблоков "16х16+8х8+8х8" в пределах кадра или поля. Присутствует только в расширенном профиле, но и в нем не является обязательным, поскольку обычно кадр кодируется как один слайс, и в этом случае достаточно кадра как структурной единицы. Разбиение на слайсы может использоваться для сброса предикторов.
- Предусмотрено динамическое изменение разрешения. Для каждой группы построчных кадров все кадры могут быть дополнительно масштабированы по отношению к исходному разрешению в два раза по горизонтали или вертикали либо одновременно по горизонтали и вертикали. Информация о масштабировании передается в заголовке /-кадра.
- Блоки 8х8, входящие в состав макроблока, могут иметь индивидуальный характер кодирования, т. е. быть /-типа (для любых кадров или полей), P-типа (для P-кадров, кроме чересстрочных) и B-типа (для построчных B-кадров или B-полей).
- Кодирование квантованной постоянной составляющей S^0, 0) блока яркости осуществляется дифференциально по отношению к аналогичной постоянной составляющей S^0, 0) одного из соседних (расположенных слева, справа и диагонально) ранее закодированных и реконструированных блоков: dS(0, 0) = S^0, 0) - S^0, 0). Для кодирования значений dS(0, 0) используются 4 таблицы кодов переменной длины: для медленного и быстрого движения, а также для яркостного и цветоразностных сигналов. Количество используемых значений коэффициентов квантования постоянной составляющей увеличено с четырех до шестнадцати (2, 4 и от 8 до 21), причем для разных блоков одного макроблока они могут различаться. В улучшенном профиле прогнозы S^0, 0) перед формированием разности dS(0, 0) приводятся к единому фактору квантования (переквантуются).
Либо верхняя строка, либо левый столбец квантованных трансформант /-блока (кроме постоянной составляющей) могут кодироваться дифференциально по отношению к таким же трансформантам соседних /-блоков, расположенных соответственно выше или левее, в том числе входящих в тот же макроблок. Дифференциальное кодирование может применяться для /-блоков в /-кадрах, а также в P- или B-кадрах, если соседние блоки имеют /-тип. При этом в улучшенном профиле прогнозы в необходимых случаях переквантуются.
- Для P-макроблоков число векторов движения, передаваемых в элементарном потоке, может быть равно 1, 2 или 4. Если формируется один вектор, то он используется для макроблока в целом. Один вектор применяется при кодировании полей или построчных кадров. Для P-макроблока в чересстрочном кадре требуется как минимум два вектора: один для верхнего поля, другой для нижнего. При передаче четырех векторов каждый из них используется для своего блока яркости 8х8. Кроме того, по ним вычисляются векторы движения цветоразностных блоков, для чего применяется несколько альтернативных методов, включая усреднение и медианную выборку.
Для B-макроблока формируется 1, 2 или 4 (для чересстрочных кадров) вектора движения, которые всегда применяются к макроблоку в целом. При этом один вектор может использоваться как при однонаправленном предсказании (вперед или назад), так и при двунаправленном предсказании, если одноименные координатные элементы двух векторов одинаковы по абсолютной величине, но различаются знаком.
Прогнозы макроблоков (блоков) могут быть скомпенсированы по контрасту и яркости. Значения корректирующих коэффициентов едины для всех макроблоков в опорном кадре.
Предикторы векторов движения могут формироваться из векторов, ранее сформированных для соседних макроблоков (расположенных левее, выше и диагонально), а в случае четырехвекторных P-макроблоков и из векторов, сформированных ранее для блоков текущего P-макроблока.
Прогноз блоков яркости осуществляется с точностью в 1/4 пиксела. Прогнозы со смещением формируются билинейной или бикубической интерполяцией.
- Для P- и B-макроблоков разностные блоки 8х8, содержащие ошибки предсказания, могут разбиваться на субблоки 8х4, 4х8, 4х4 с целью спектрального преобразования, квантования и энтропийного кодирования трансформант для каждого субблока в отдельности.
Используется сепарабельное прямое преобразование специального вида, для которого стандартизованы значения норм, представленных рациональной дробью. В обратном преобразовании применяются целые коэффициенты и детерминированный порядок вычислений с округлением промежуточных и конечного результатов. Применяются два ядра одномерных преобразований, одно из которых предназначено для четырехэлементного вектора, а другое — для восьмиэлементного. Комбинирование и поочередное применение таких одномерных преобразований позволяет реализовать все типы двумерных преобразований (8х8, 8х4, 4х8 и 4х4). Взаи- мообратимость прямого и обратного преобразований из-за округлений и применения целочисленной арифметики не обеспечивается.