6.5. Дискретное косинусное преобразование
Одним из дискретных ортогональных преобразований, которое широко используется при сжатии цифровых изображений с потерями, является дискретное косинусное преобразование (ДКП). В частности, на использовании такого преобразования для сжатия изображений ориентирован широко распространенный стандарт JPEG, предложенный в 1985 году .
Основной этап процедуры сжатия цифровых изображений. заключается в преобразовании небольших блоков изображения при помощи двумерного ДКП. Обработка ведется блоками 8х8 пикселов. Выбор ДКП в качестве стандартного решения диктуется следующими причинами:
Для изображений с сильно коррелированными отсчетами (коэффициент корреляции >0,7) эффективность ДКП в смысле компактности представления данных близка к преобразованию Карунена-Лоэва (это преобразование является оптимальным в том смысле, что оно ортонормированно и гарантирует некоррелированность коэффициентов преобразования – элементов яркости изображения Y).
ДКП представляет собой ортогональное сепарабельное преобразование, независящее от изображения, поэтому его вычислительная сложность невелика.
Обработка каждой клетки выполняется независимо и заключается в выполнении ДКП по строкам и столбцам клетки, которое имеет вид:
(6.19)
В выражении (6.19) множитель C(u,v) является нормирующим и равен 1/2 при u=0 или v=0 и равен единице для остальных значений индексов.
Общим недостатком дискретных ортогональных преобразований является их высокая вычислительная сложность. В связи с этим используются так называемые быстрые алгоритмы выполнения косинусного преобразования. Известные из литературы алгоритмы быстрых преобразований в базисах косинусных функций, хотя и отличаются меньшим числом операций умножения, но требуют дополнительных перекомпоновок после каждой итерации алгоритма. Одномерное косинусное преобразование может быть вычислено через одномерное преобразование Хартли [2]. При этом вначале производится перестановка элементов вектора исходных данных таким образом, что первую половину последовательности составляют нечетные элементы, а вторую половину последовательности - четные элементы в порядке возрастания номеров, а затем выполняется одномерное преобразование Хартли над модифицированным вектором [2]:
(где cas[...] = cos[....] + sin[...]), которое может быть вычислено по быстрому алгоритму; после чего выполняются дополнительные вычисления с элементами вектора результатов преобразования Хартли:
(6.20)
где k = [1,...,N-1], причем .
Процедура обратного косинусного преобразования отличается от прямого алгоритма другой последовательностью вычислений - вначале выполняются преобразования, подобные выражению (6.20), после чего выполняется преобразование Хартли и лишь затем производится перестановка элементов вектора результатов.
К неудобствам косинусного преобразования следует отнести:
неразделимость ядра преобразования для двумерного варианта;
негибкие алгоритмы для различного размера ядра;
несимметричный алгоритм обратного косинусного преобразования.
Заметим, что строго определяемое двумерное косинусное преобразование не обладает разделимым по координатам ядром, поэтому выполнение двумерного косинусного преобразования в целях сокращения объема вычислений может быть выполнено как модифицированное преобразование строчно-столбцовым методом, подобно тому, как поступают при выполнении двумерного преобразования Хартли [2].
В результате выполнения ДКП формируется 64 частотных компоненты фрагмента (или, что тоже, коэффициентов ДКП). В результате исходный фрагмент представлен в области пространственных частот. Этот шаг еще не приводит к сжатию изображения. Однако, при его выполнении полагается, что в подавляющем большинстве изображений близкие по своим координатам пикселы имеют и близкие значения. Поэтому, при переходе от фрагмента к его частотному представлению большая часть энергии сигнала сосредотачивается в области низких частот, т.е. компоненты с меньшим значением индекса k в выражении (6.20) имеют большие значения (см. рис. 6.1.).
При выполнении этой операции 64 исходных пикселов преобразуются в матрицу из 64 коэффициентов, которые характеризуют "энергию" исходных пикселов. Важнейшей особенностью этой матрицы коэффициентов является то, что первый коэффициент передает подавляющую часть "энергии", а количество "энергии", передаваемой остальными коэффициентами, очень быстро убывает. То есть, большая часть информации исходной матрицы 8х8 пикселов представляется первым элементом матрицы, преобразованной по способу ДКП.
На этом этапе происходит некоторая потеря информации, связанная с принципиальной невозможностью точного обратного преобразования (на этапе восстановления изображения). Однако эта потеря информации весьма незначительна по сравнению с потерями на следующем этапе.
Рис.6.1. Спектр ДКП отдельного фрагмента изображения
Преобразованная матрица из 64 пикселов затем проходит операцию квантования, которая применяется для сокращения разрядности коэффициентов. Процесс квантования, который ведет к сжатию коэффициентов ДКП, выражается следующим образом [11]:
zkl=round(ykl/qkl)=(yklqkl/2 )/qkl , k,l=0,1,...,7,
где qkl - весовой множитель матрицы квантования Q размера 8х8 с номером kl (xобозначает наибольшее целое меньшее или равное x).
Иногда для формирования матрицы квантования может использоваться специальная весовая функция, позволяющая сформировать коэффициенты квантования, обращающие в 0 наибольшее число высоко и средне частотных коэффициентов. Согласно литературе [3,7], элементы матрицы Q линейно возрастают пропорционально сумме индексов элемента матрицы, например:
3 | 5 | 7 | 9 | 11 | 13 | 15 | 17 |
5 | 7 | 9 | 11 | 13 | 15 | 17 | 19 |
7 | 9 | 11 | 13 | 15 | 17 | 19 | 21 |
9 | 11 | 13 | 15 | 17 | 19 | 21 | 23 |
11 | 13 | 15 | 17 | 19 | 21 | 23 | 25 |
13 | 15 | 17 | 19 | 21 | 23 | 25 | 27 |
15 | 17 | 19 | 21 | 23 | 25 | 27 | 29 |
17 | 19 | 21 | 23 | 25 | 27 | 29 | 31 |
В результате квантования произошло обнуление многих коэффициентов ykl. Выбор матрицы Q определяется требуемым коэффициентом сжатия.
Именно здесь происходит самая значительная потеря информации - отбрасываются малые изменения коэффициентов. Поэтому в процессе восстановления изображения после операции обратного ДКП получаются уже другие параметры пикселов. Квантование также обеспечивает возможность последующего эффективного сжатия данных при помощи любого способа сжатия без потерь.
После квантования компоненты спектра всех обработанных фрагментов «вытягиваются» в последовательность чисел с помощью алгоритма диагонального сканирования. Схема обхода матрицы спектральных коэффициентов фрагмента показана на рис. 6.2. В основе такого сканирования лежит прием, позволяющий достичь большего уплотнения и основывающийся также на характерном виде спектра изображений реальных сцен.
Статистически доказано, что для реальных многоуровневых изображений двумерный квантованный спектр представляет собой матрицу треугольного вида. Большинство значений снизу и справа – нули. Построение элементов матрицы в цепочку производится так, как это показано на рис. 1.6. При этом в последовательность включаются только элементы от первого до последнего ненулевого. После него в последовательность включается специальный стоп – код. Это позволяет исключить из последовательности встречающиеся нули.
Далее обычно применяется метод однопроходного кодирования Хаффмана. Сначала анализируется вся последовательность символов. Часто повторяющимся сериям бит присваиваются короткие обозначения (маркеры). Различие размеров маркеров и представляемых ими битовых серий определяет достигаемую степень сжатия.
Рис. 6.2. Диагональное «зиг-заг» сканирование спектральных компонент
Восстановление. При восстановлении изображений перечисленные выше шаги выполняются в обратном порядке. Декодирование начинается с восстановления из полученного битового потока закодированных неравномерным кодом длин серий нулей и значащих элементов матрицы Z. Восстановление коэффициентов разложения Y^ по квантованным значениям Z выполняется по формуле
y^kl=z kl q kl (1.16)
Далее выполняется обратное ДКП:
После этого цветовое пространство данных изображения можно преобразовать в исходный вид. Потери при обратном ДКП также не велики по сравнению с потерями квантования.
Коэффициент архивации в JPEG может изменятся в пределах от 2 до 200 раз (на практике коэффициент сжатия не превосходит 20-25) [11].
- Цифровая обработка сигналов
- Санкт-Петербург
- Содержание
- 7.2. Вейвлеты 106
- Введение
- 1. Основные понятия цифровой обработки сигналов
- Понятие о первичной и вторичной обработке сигналов
- Основные требования к системам цос
- 2. Понятие сигналов. Виды сигналов
- 2.1. Виды сигналов
- 2.2. Энергия и мощность сигнала
- 2.3. Представление периодических сигналов в частотной области
- 2.4. Представление в частотной области непериодических сигналов
- Введение в теорию ортогональных преобразований
- 2.4.2. Интегральное преобразование Фурье
- 2.5. Свойства преобразования Фурье
- 2.5.1. Фурье-анализ неинтегрируемых сигналов
- 2.6. Интегральное преобразование Хартли
- 2.7. Случайные сигналы
- 2.7.1.Модели случайных процессов
- 2.7.2. Вероятностные характеристики случайного процесса Функциональные характеристики.
- Числовые характеристики
- Примеры случайных процессов с различными законами распределения
- 3. Корреляционный анализ сигналов
- 3.1. Корреляционная функция (кф):
- 3.2. Взаимная корреляционная функция
- 3.3. Взаимный спектр сигналов
- 3.4. Корреляционные функции случайных процессов
- 3.4.1. Стационарные и эргодические случайные процессы
- 3.5. Спектральные характеристики случайных процессов
- 3.5.1. Теорема Винера-Хинчина
- 3.6. Комплексная огибающая сигнала
- 4. Переход от аналоговых сигналов к цифровым
- 4.1. Дискретизация сигналов
- 4.1.1. Влияние формы дискретизирующих импульсов
- 4.1.2. Теорема Котельникова
- 4.1.3. Дискретизация при использовании квадратурных сигналов
- 4.1.4. Определение шага временной дискретизации при восстановлении сигнала полиномами 0-го порядка
- 4.1.5. Определение шага дискретизации при заданной автокорреляционной функции
- Изменение частоты дискретизации. При решение различных задач обработки сигналов достаточно часто требуется изменение частоты дискретизации сигнала.
- 4.2. Квантование непрерывных сигналов по уровню
- 5. Основные типы дискретных алгоритмов цифровой обработки сигналов
- 5.1. Линейные и нелинейные преобразования
- 5.2. Характеристики линейных систем
- 5.4. Апериодическая свертка и корреляция
- 5.5. Двумерная апериодическая свертка и корреляция
- 5.6 Нерекурсивные и рекурсивные фильтры
- 5.7. Метод синхронного или когерентного накопления
- 5.8. Адаптивные фильтры.
- 5.8.1. Фильтр Винера-Хопфа.
- 5.10. Фильтр Калмана.
- 6. Дискретные ортогональные преобразования
- Задачи цос, решаемые методами дискретных ортогональных преобразований
- 6.1. Дискретное преобразование Фурье
- 6.2. Дискретное преобразование Хартли
- 6.3. Двумерные дискретные преобразования Фурье и Хартли
- 6.4. Ортогональные преобразования в диадных базисах
- 6.5. Дискретное косинусное преобразование
- 6.6. Оконное преобразование Фурье
- 6.7. Выполнение фильтрации в частотной области
- Виды фильтров
- 7. Вейвлет преобразования или разложение по всплескам
- 7.1. Понятие о Wavelet-преобразованиях. Преобразование Хаара
- 7.2. Вейвлеты
- 7.2.1. Непрерывные вейвлет преобразования
- 7.2.2. Частотный подход к вейвлет преобразованиям
- 7.2.3. Вейвлет-ряды дискретного времени
- 7.2.4. Дискретное вейвлет-преобразование
- 7.2.4.1. Условия полного восстановления сигнала
- 7.2.5. Пакеты вейвлетов (алгоритм одиночного дерева)
- 7.2.6. Целочисленное вейвлет-преобразование
- Целочисленное вычисление вейвлет–преобразование (2,2). Это преобразование эквивалентно вейвлет-преобразованию Хаара, использующему следующие фильтры декомпозиции:
- Целочисленное вычисление вейвлет-преобразования (2,6). Данное преобразование эквивалентно использованию следующих фильтров анализа:
- Целочисленное вычисление вейвлет –преобразования (5,3). Такое преобразование также является разновидностью биортогонального преобразования и использует следующую пару фильтров:
- 7.3. Применение вейвлет-преобразований для сжатия изображения
- 8. Быстрые алгоритмы ортогональных преобразований
- 8.1. Вычислительная сложность дпф и способы её сокращения
- 8.2. Запись алгоритма бпф в векторно-матричной форме
- 8.3. Представление алгоритма бпф в виде рекурсивных соотношений
- 8.4. Алгоритмы бпф с прореживанием по времени и по частоте
- 8.6. Вычислительная сложность алгоритмов бпф
- 8.7. Выполнение бпф для случаев
- 8.8. Быстрое преобразование Хартли
- 8.9. Быстрое преобразование Адамара
- 8.10. Выбор метода вычисления свертки / корреляции
- 9. Алгоритмы нелинейной обработки сигналов
- 9.1. Ранговая фильтрация
- 9.2. Взвешенная ранговая фильтрация
- 9.3. Скользящая эквализация гистограмм
- 9.4. Преобразование гистограмм распределения
- Контрольные вопросы и задания. Разделы 1-3.
- Раздел 4
- Разделы 5 и 6
- Раздел 5
- Раздел 8
- Раздел 9
- Кафедра вычислительной техники