В создаются на основании кадров I и Р, которые к этому времени уже должны иметься в кодере. Степень сжатия каждого из трех типов кадров различна: она меньше всего у кадров типа I, у кадров типа Р она примерно в 3 раза больше, чем у кадров типа I, а у кадров типа В она примерно в 4,5 раза превышает степень сжатия кадров типа I.
Организация этих трех типов изображений в последовательность изменяется, в зависимости от приложения.
В стандарте предусмотрен еще один тип кадров – D (кодирование только DC коэффициентов, A(0,0)). Эти кадры, обеспечивающие низкое качество изображения, используются только для быстрого поиска в режиме «быстрой прокрутки вперед».
Входное изображение видеопоследовательности должно быть оцифровано и представлено как яркость и два цветоразностных сигнала YCrCb. Далее выполняется предобработка и преобразование форматов для задания соответствующего разрешения. Для цветного телевидения широко используются два стандарта 525 строк разложения при кадровой частоте 29,97 Гц (NTSC) и 625 строк при кадровой частоте 25 Гц (PAL, SECAM). Размер кадра в стандартах PAL, SECAM составляет 720x576 элементов, а в стандарте NTSC – 640x480 элементов. Рекомендация МККР 601 (CCIR 601) (теперь ITU BT-R 601) определяет стандарты для цифрового кодирования цветных ТВ сигналов в компонентном режиме. В случае стандартов PAL, SECAM, в соответствии с рекомендацией для стандарта 4:2:2 тактовая частота для яркостного сигнала составляет 13,5 МГц, для цветоразностных
сигналов – 6,75 МГц. Число отсчетов яркостного компонента составляет
720 активных элементов в строке.
Для обеспечения эффективного кодирования при скорости данных от 1 до 1,5 Мб/с используют децимацию по строкам и столбцам, так называемый SIF (source input format) формат. Кодируемый кадр после соответствующей интерполяции имеет размер 360x288 для Y компонента и 180x144 для цветоразностных компонентов. Поскольку выделяется макроблок размером 16x16 элементов, чтобы получить целое число блоков в SIF формате игнорируются 4 первых и 4 последних элемента в каждой строке, в результате чего размер кодируемого кадра становится равным 352x288 для Y компонента и 176x144 – для цветоразностных компонентов. Изображения кодируются по полосам, состоящим из макроблоков, расположенных сверху вниз и слева направо. Макроблок соответствует макроблоку, рассмотренному в формате JPEG (рисунок 8.13), и состоит из 6 блоков.
Оценка векторов движения. Широкое распространение получил метод согласования блоков для оценки вектора движения. Метод состоит в следующем. Исходная последовательность кадров движущегося изображения разбивается на макроблоки размером 16x16 отсчетов, как это было сделано в стандарте JPEG. Выбор макроблока размером 16x16 элементов как единицы компенсации движения является результатом компромисса между повышением эффективности кодирования, обеспечиваемым компенсацией движения, и увеличением потока вследствие необходимости хранения информации о векторах движения. Текущий блок сравнивается со всеми блоками ссылочного (предыдущего, последующего или их комбинации) кадра в пределах некоторой области поиска. Критерием схожести является, например, величина СКО сигнала разности двух сравниваемых блоков. Тот блок, который меньше всего отличается от текущего, принимается за прогноз для целей предсказания, а смещение между прогнозом и текущим блоками определяет вектор движения. Остаточный блок формируется как разность текущего блока и блока прогноза. Остаточный блок кодируется и передается декодеру. Кроме того, декодер получает координаты вектора смещения текущего блока относительно прогноза. Декодер использует вектор движения для нахождения блока прогноза, декодирует остаточный блок и складывает его с прогнозом, реконструируя исходный блок. Центр области поиска на ссылочном кадре устанавливается в положение центра текущего блока.
Каждый макроблок может быть одного из введенных для кадров типа. Например, в B - кадрах могут быть макроблоки I, B, P. Вектор движения кодируется дифференциально относительно последнего закодированного вектора движения с использованием кодов переменной длины. Предсказанное значение сигнала вычитается из сигнала макроблока. Полученный сигнал ошибок разделяется на блоки (4 яркостных и 2 цветности).
Сокращения пространственной избыточности достигают ДКП блоков изображений для I - кадра и сигнала ошибок для блоков B, P - кадров. Дальнейшее сжатие достигается за счет квантования, зигзагообразного сканирования и кодирования длин серий для квантованных значений ДКП и энтропийного кодирования, как было рассмотрено для JPEG.
Если канал имеет фиксированную скорость, необходимо использовать буфер FIFO (первым вошел, - первым вышел) для согласования выхода кодера с каналом. Состояние этого буфера учитывается при управлении квантованием.
Декодирование. Этот процесс существенно проще, чем кодирование, так как не требует оценки векторов движения. При фиксированной скорости канала заполняется буфер FIFO. Декодер считывает и декодирует элементы данных потока в соответствии с определенным синтаксисом. Прежде всего, идентифицирует начало и тип изображения. Затем выполняется декодирование последовательности макроблоков. Тип макроблока и векторы движения, если они присутствуют, используются для реконструирования предсказания текущего макроблока по изображениям ссылок на предшествующие и последующие кадры, которые сохранены в декодере. Коэффициенты декодируются и деквантуются. Выполняется ОДКП каждого блока коэффициентов ДКП размером 8x8, результат складывается с сигналом предсказания. После декодирования всех макроблоков кадра, производится реконструкция кадра. I и P кадры заменяют прежние ссылочные кадры. Перед воспроизведением выполняется преобразование последовательности кадров в последовательность, соответствующую временной входной последовательности кадров.
Do'stlaringiz bilan baham: |