Главное


Основные этапы кодирования по стандарту MPEG

Во-первых, кадр изображения разбивается на макроблоки и блоки. В зависимости от выбранной модели сжатия количество блоков в макроблоке может отличаться. Каждому Y, Сb и Сr блоку сопоставляется матрица соответствующего размера.

Далее над матрицами производится прямое дискретное косинус-преобразование (пДКП, fDCT, forward Discrete Cosine Transform) каждого 8x8 блока (разложение в спектр). Одномерное ДКП по п дискретным значениям амплитуды сигнала формирует вектор длины n, состоящий из коэффициентов разложения. То есть рассматривая строку матрицы как вектор значений амплитуды некоего сигнала, можно применить одномерное ДКП. В результирующем векторе сначала будут находиться низкочастотные, а в конце - высокочастотные компоненты сигнала.

с0=128 с1 7=2^1/2

После обработки строк матриц, ДКП применяется для столбцов

c0=l/1024 c1 7=c0*2^l/2

В итоге получается матрица коэффициентов разложения, которая в левом верхнем углу содержит низкочастотные составляющие, а в правом нижнем - высокочастотные. Далее идет процесс квантования коэффициентов разложения, а по сути уменьшение динамического диапазона, путем деления на матрицы квантования.

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

После квантования часть коэффициентов из-за выравнивания сравняется, а большинство малых коэффициентов округлится до нуля, образовав подобласти с нулевым значением. Это обстоятельство позволяет произвести упаковку длинных цепочек одинаковых значений методом группового кодирования (RLE, Run Length Encoding). Для этого квадратная матрица преобразуется зиг-заг обходом в вектор, и цепочки повторяющихся коэффициентов упаковываются в пары (длина, значение).

В формате MJPEG и MPEG-1 используется обычный для JPEG зигзаг обход, но в MPEG-2 используется немного другой способ. Такой модифицированный обход повышает эффективность группового кодирования для чересстрочного видеопотока.

Далее производится уменьшение энтропии по алгоритму Хаффмана. Суть его заключается в статистическом анализе потока данных и составления специальной кодирующей таблицы. В такой таблице наиболее часто встречающимся данным сопоставляется наиболее короткие коды, а редко встречающимся - длинные.

Матрица квантования для вступительного кадра

Зиг-заг обход Зиг-заг обход

MPEG-1 MPEG-2

Рисунок 8 - К вопросу об основных этапах кодирования по стандарту MPEG

Другие статьи по теме

Блок выполнения операций десятичной арифметики
Каноническая структура синтеза синхронного вычислительного устройства состоит из двух автоматов - операционного (ОА) и управляющего (УА). Каноническая структура вычислительного ус ...

Анализ существующей ВОЛС компании ЗАО Мобиком-Хабаровск в Забайкальском крае
Процесс глобального развития информатизации общества происходит колоссальными темпами. С каждым годом значительно увеличивается объем потоков передаваемой информации. Вместе с тем повыш ...

Электропреобразовательные устройства РЭС
Курс «Электропреобразовательные устройства РЭС» является одной из первых инженерных дисциплин специальности «Радиотехника», обеспечивающей подготовку радиоинженера в области силовых рад ...

www.techspirit.ru © 2019