Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


3.4.2.2. DCT

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

                (3.1)

а обратное преобразование DCT (IDCT):

                (3.2)

где  — это матрица сэмплов,  — матрица коэффициентов, а  — -матрица преобразования. Элементы матрицы  равны:

, где         (3.3)

Уравнения (3.1) и (3.2) можно переписать в виде следующих сумм:

          (3.4)

          (3.5)

Пример

. Матрица преобразования  для 4x4 DCT имеет вид:

Функция косинус является симметричной и имеет период , поэтому матрицу  можно упростить:

,

или

 где

Вычислив косинусы, получаем матрицу числовых коэффициентов

Выходом двухмерного FDCT служит матрица  коэффициентов, которая представляет блок сэмплов изображения в области преобразования DCT. Эти коэффициенты можно рассматривать в качестве некоторых «весов» в стандартном базисе «шаблонов» или «образцов». Стандартные шаблонные базисы для преобразования DCT блоков 4х4 и 8х8 приведены на рис. 3.27 и 3.28. Они построены с помощью комбинаций по вертикали и горизонтали значений функции cos в соответствующих точках. Любой блок изображения можно восстановить с помощью линейной комбинации базисных шаблонов, где базисные шаблоны умножаются на соответствующие весовые множители (коэффициенты преобразования).

Рис. 3.27. Шаблонный базис для DCT 4x4

Рис. 3.28. Шаблонный базис для DCT 8x8.

Пример

Вычисление DCT для блока 4х4.  блок сэмплов изображения:

Прямое DCT для  задается формулой: . Произведение первых двух матриц  соответствует вычислению одномерного DCT для каждого столбца матрицы . Например, коэффициент  вычисляется по следующей формуле:

Для всех четырех столбцов получаем:

Взяв второе произведение матриц , что эквивалентно выполнению одномерного DCT для каждого столбца матрицы , имеем:

(Замечание: порядок выполнения матричных операций умножения по строкам или по столбцам не влияет на результат.)

Пример

Блок-изображение и его коэффициенты DCT. На рис. 3.29 дано изображение с выбранным на нем блоком 4х4, а на рис. 3.30 показан этот блок крупным планом вместе с его числовыми значениями и коэффициентами DCT. На первый взгляд трудно обнаружить, в чем состоит преимущество представления изображения в виде его коэффициентов DCT с точки зрения сокращения количества данных: вместо 16 числовых сэмплов необходимо сохранять 16 коэффициентов DCT. Польза от преобразования станет ясна при реконструкции исходного блока по его коэффициентам.

Рис. 3.30. Увеличенный блок 4 х 4 и его коэффициенты DCT.

Если заменить все коэффициенты нулями за исключением самого значимого из них (коэффициента с координатами (0,0), который называется коэффициентом DC) и применить обратное DCT, то получится блок, показанный на рис. 3.31 (а), — среднее значение всех исходных пикселов. Результат вычисления IDCT для двух самых значимых коэффициентов показан на рис. 3.31 (б). Добавление большего числа коэффициентов перед применением IDCT приводит к более точным результатам восстановления блока. Пять коэффициентов позволяют достаточно хорошо восстановить исходный блок (рис. 3.31 (г)). Таким образом, имеется возможность приближенного восстановления исходного блока изображения лишь по части полного набора из 16 коэффициентов DCT. Удаление малых коэффициентов (например, методом квантования, см. § 3.4.3) позволяет представить изображение меньшим числом чисел или коэффициентов, но платой за это будет определенное снижение его качества.

Рис. 3.29. Масть изображения с выбранным блоком 4x4.

Рис. 3.31. Блок, ограниченный одним (а), двумя (б), тремя (в) и пятью (г) коэффициентами.

 



<< ПредыдущаяОглавлениеСледующая >>