Двумерное дискретное косинусное преобразование
Пример
Рассмотрим пример, в котором блок из восьми пикселов одноцветного изображения подвергается дискретному косинусному преобразованию. Как правило, двумерное дискретное косинусное преобразование применяется к блоку размером 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), двумерный массив пикселов может быть представлен произведениями пространственно-частотных компонентов в горизонтальном и вертикальном измерениях. Отдельные косинусные сомножители те же самые, что и в одномерном случае. Таким образом, для дискретного косинусного преобразования 8 x 8 используются те же косинусные функции, что и на рис. 10.3. Как и при одномерном преобразовании, слагаемое с нулевой частотой должно быть равно среднему значению функции р(х). В данном случае это — S(0, 0)/N. Поэтому
|
Формула (10.4) называется двумерным дискретным косинусным преобразованием функции р(х, у).