Двумерное дискретное косинусное преобразование

Пример

Рассмотрим пример, в котором блок из восьми пикселов одноцветного изображе­ния подвергается дискретному косинусному преобразованию. Как правило, дву­мерное дискретное косинусное преобразование применяется к блоку размером 8x8 пикселов, так что данный пример представляет собой вполне реалистичную одномерную версию. В примере для обозначения яркости пикселов используются 8-битовые значения, так что 0 обозначает белый цвет, а 255 — черный. Это также типично для одноцветных изображений.

Рис. 10.1.

На рис. 10.1 (а) показано исходное изображение, а на рис. 10.1 (б) — вектор зна­чений яркости для этого изображения. Для удобства вычтем из каждого изображения 128 — такая операция называется смещением уровня (level shift) — так, что­бы диапазон всех возможных значений яркости был симметричен относительно 0 (от -128 до 127), в результате получим рис. 10.1 (в). Затем производится дискрет­ное косинусное преобразование:

Эти вычисления соответствуют значениям, показанным на рис. 10.1 (г). Чтобы проверить полученные значения, сосчитаем обратное дискретное косинусное пре­образование:

 

 

В результате мы получим значения, показанные на рис. 10.1 (д), которые точно совпадают с исходными значениями.

Стоит показать предыдущую формулу в развернутом виде, чтобы подчеркнуть природу дискретного косинусного преобразования:

Таким образом, функция р(х) может быть представлена в виде взвешенной сум­мы восьми косинусных функций. На рис. 10.2 показаны эти восемь функций, на­зываемые базисными косинусными функциями. На каждом графике изображена косинусная функция дискретной пространственной переменной х. Каждая из этих дискретных функций представляет собой обычную косинусную функцию, дискретизированную по восьми отсчетам. Этим функциям присущи несколько важных свойств.

 

Рис. 10.2 Базисные дискретные косинусные функции

Рис. 10.3 Суммирование дискретных косинусных функций для примера на рис. 10.1

 

· Завершенность. Взвешенная сумма этих восьми функций может быть вы­числена для каждого из восьми значений пикселов.

· Минимальность. Ни одна из восьми волновых форм не может быть представ­лена взвешенной комбинацией других волновых функций, и для завершен­ности требуются все восемь волновых форм.

· Уникальность. Никакой другой набор косинусных функций, кроме масш­табированных версий этих восьми волновых форм, не может использо­ваться для представления всех возможных последовательностей восьмизначений пикселов.

Эти свойства также применимы к общему случаю использования N косинус­ных функций для представления одномерного изображения из N пикселов.

 

Двумерное дискретное косинусное преобразование является ключевым для стан­дартов JPEG и MPEG.

 

Так же как любой линейный массив из N пикселов может быть представлен в виде взвешенной суммы N косинусных функций с различными частотами, и матрица из N x N пикселов может быть представлена взвешенной суммой N x N косинус­ных функций. Формула выглядит следующим образом:

 

(10.3)

Как следует из формулы (10.3), двумерный массив пикселов может быть пред­ставлен произведениями пространственно-частотных компонентов в горизонтальном и вертикальном измерениях. Отдельные косинусные сомножители те же са­мые, что и в одномерном случае. Таким образом, для дискретного косинусного преобразования 8 x 8 используются те же косинусные функции, что и на рис. 10.3. Как и при одномерном преобразовании, слагаемое с нулевой частотой должно быть равно среднему значению функции р(х). В данном случае это — S(0, 0)/N. Поэтому

(10.4)

Формула (10.4) называется двумерным дискретным косинусным преобразова­нием функции р(х, у).