JPEG-сжатие цифрового изображения

Одним из наиболее полных и популярных стандартов сжатия изображений является стандарт JPEG.

Сам процесс сжатия состоит из трех последовательных шагов:

а) Вычисление дискретного косинусного преобразования (ДКП) для матриц 8*8-блоков, полученных после стандартного разбиения матрицы ЦИ;

б) квантование коэффициентов ДКП;

в) кодирование неравномерным кодом.

Сначала ЦИ разбивается на отдельные блоки размером 8*8 элементов, которые обрабатываются последовательно слева направо и сверху вниз. Обработка каждого блока начинается со сдвига по яркости значений всех его 64 элементов, что достигается вычитанием величины JPEG-сжатие цифрового изображения - student2.ru , где JPEG-сжатие цифрового изображения - student2.ru - максимальное число уровней яркости. Затем вычисляется двумерное ДКП элементов блока. Полученные значения коэффициентов квантуются в соответствии с формулой:

JPEG-сжатие цифрового изображения - student2.ru ,

где JPEG-сжатие цифрового изображения - student2.ru - результат квантования значения коэффициента ДКП JPEG-сжатие цифрового изображения - student2.ru , а JPEG-сжатие цифрового изображения - student2.ru - соответствующий элемент матрицы коэффициентов квантования:

JPEG-сжатие цифрового изображения - student2.ru .

(Необходимо отметить, что перед тем, как квантованные коэффициенты ДКП JPEG-сжатие цифрового изображения - student2.ru могут быть подвергнуты обратному ДКП для восстановления блока изображения, они должны быть умножены на JPEG-сжатие цифрового изображения - student2.ru :

JPEG-сжатие цифрового изображения - student2.ru . (2.5)

Очевидно, что обратное преобразование полученных значений JPEG-сжатие цифрового изображения - student2.ru даст в результате приближение восстановливаемого блока изображения.)

Отквантованные значения коэффициентов переупорядочиваются зигзаг-преобразованием согласно:

JPEG-сжатие цифрового изображения - student2.ru

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

Одномерный массив, полученный после зигзаг-преобразования, упорядочивается по возрастанию пространственной частоты, при этом, как правило, возникают длинные последовательности нулей, что эффективно используется процедурой JPEG-кодирования. Рекомендованная JPEG матрица квантования имеет следующий вид:

JPEG-сжатие цифрового изображения - student2.ru

Пример. Последовательное кодирование и декодирование JPEG. Рассмотрим сжатие и восстановление следующего блока 8*8 элементов согласно стандарту последовательного кодирования JPEG:

JPEG-сжатие цифрового изображения - student2.ru

Исходные пиксели могут иметь 256 или 28 уровней яркости, так что процесс кодирования начинается со сдвига диапазона значений – вычитания из значений пикселей величины 27 или 128. В результате получается массив:

JPEG-сжатие цифрового изображения - student2.ru

который после прямого ДКП будет иметь вид:

JPEG-сжатие цифрового изображения - student2.ru

Если для квантования полученных данных используется приведенная выше матрица квантования, то после квантования коэффициенты примут вид:

JPEG-сжатие цифрового изображения - student2.ru

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

(-26 -31 -3 -2 -6 2 -4 1 -4 1 1 5 0 2 0 0 -1 2 0 0 0 0 0 -1 -1 КБ)

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

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

JPEG-сжатие цифрового изображения - student2.ru

Полностью восстановленный блок получается после выполнения обратного ДКП полученного массива:

JPEG-сжатие цифрового изображения - student2.ru

и обратного сдвига диапазона значений на +27=+128. В результате получаем:

JPEG-сжатие цифрового изображения - student2.ru

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

JPEG-сжатие цифрового изображения - student2.ru

Характерные особенности сингулярных чисел блоков матрицы цифрового изображения при JPEG-сжатии. Пусть исходное ЦИ в градациях серого, хранящееся в некотором формате без потерь, например, в формате TIF, матрица которого JPEG-сжатие цифрового изображения - student2.ru имеет размеры JPEG-сжатие цифрового изображения - student2.ru , разбивается стандартным образом на блоки JPEG-сжатие цифрового изображения - student2.ru . Если для каждого блока JPEG-сжатие цифрового изображения - student2.ru ЦИ определить множество всех СНЧ (сингулярный спектр), то оказывается, что в среднем лишь 2.40% от общего числа блоков (ОЧБ) имеют нулевые СНЧ.

Данный факт не случаен. Ранг любой матрицы определяется количеством ее ненулевых СНЧ, а значит наличие нулей в сингулярном спектре будет говорить о том, что число ее линейно независимых строк (столбцов) меньше размера. Однако, для произвольного реального ЦИ, даже с учетом коррелированности значений яркости пикселей, вероятность того, что строки (столбцы) очередного блока окажутся линейно зависимыми, невелика.

Квантование коэффициентов DCT, которое происходит в процессе сохранения ЦИ в формате JPEG (с потерями), является необратимой процедурой и приводит к некоторым особенностям возмущений СНЧ блоков.

Пусть исходное ЦИ подверглось JPEG-сжатию. Проведем для него операцию частичного восстановления (ЧВ), которая включает в себя: 1) энтропийное декодирование; 2) умножение полученных коэффициентов на соответствующие элементы массива нормализации (матрицы квантования); 3) применение обратного DCT, но без последующего округления.

У полученной матрицы практически все блоки содержат нулевые СНЧ, причем таких значений в блоках будет достаточно много (табл.2.1). Такая ситуация закономерна. После квантования и округления коэффициентов DCT блоков многие из них, отвечающие высоким и средним частотам, обнулятся, оставаясь нулями после ЧВ, что, учитывая соответствие между коэффициентами дискретного преобразования Фурье и сингулярными тройками JPEG-сжатие цифрового изображения - student2.ru матрицы изображения, где JPEG-сжатие цифрового изображения - student2.ru - СНЧ и отвечающие ему левый и правый СНВ соответственно, приведет к обнулению наименьших (а возможно и средних по величине) СНЧ матриц блоков.

Табл.2.1. Результаты сингулярного разложения блоков JPEG-сжатие цифрового изображения - student2.ru частично восстановленных изображений

    Изображение в формате без потерь (TIF)     ОЧБ Количества блоков, имеющих JPEG-сжатие цифрового изображения - student2.ru нулевых СНЧ Кол-во блоков, у кот-х нулевых СНЧ больше 2-х, по отношению к ОЧБ (в %)
    m=8       m=7     m=6         m=5     m=4     m=3     m=2     m=1     m=0
POUT
CAMERAMAN
TIRE
MOON 99.8
CELL

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

Для наглядного представления справедливости вышесказанного рассмотрим изображение СELL.TIF (рис.2.5(а)). На рис.2.5(б) представлена матрица нулевых СНЧ блоков (МНСЧБ) размерности JPEG-сжатие цифрового изображения - student2.ru ЧВ-изображения, каждый элемент которой равен количеству нулевых СНЧ в соответствующем блоке. На рисунке выделены элементы, имеющие наименьшие значения, что позволяет наглядно увидеть соответствие между контурами исходного ЦИ и блоками, содержащими наименьшее количество нулевых СНЧ.

Пусть исходное изображение, подвергшееся JPEG-сжатию, восстанавливается полностью. Это означает, что после ЧВ все значения яркости пикселей округляются до целых и вводятся в диапазон JPEG-сжатие цифрового изображения - student2.ru . Это действие возмутит матрицу изображения, полученную после ЧВ, определенным образом изменится количество нулевых СНЧ в блоках (табл.2.2). Там, где после ЧВ не было элементов, значительно меньших 0 или больших 255, возмущение матрицы будет небольшим. В соответствии с соотношением

JPEG-сжатие цифрового изображения - student2.ru , (2.6)

имеющим место для произвольной матрицы, где JPEG-сжатие цифрового изображения - student2.ru - СНЧ исходной и возмущенной матриц соответственно, JPEG-сжатие цифрового изображения - student2.ru - матрица возмущений блока, JPEG-сжатие цифрового изображения - student2.ru - спектральная матричная норма, СНЧ являются нечувствительными к возмущающим воздействиям. Если некоторые из нулевых СНЧ блоков матрицы ЧВ-изображения станут ненулями после полного восстановления (ПВ), то их значения будут сравнимы с погрешностью округления, что не характерно для блоков исходного ЦИ.

JPEG-сжатие цифрового изображения - student2.ru

Рис.2.5. Исходное изображение СELL.TIF (а); МНСЧБ после ЧВ (б); МНСЧБ после полного восстановления (в)

Наиболее заметным различие между совокупным исходным изображением и полностью восстановленным после JPEG-сжатия будет при сравнении их МНСЧБ. Типичная картина представлена на рис.2.5(в), при этом МНСЧБ для CELL.TIF имела только нулевые значения.

Таблица 2.2. Результаты сингулярного разложения блоков полностью восстановленных изображений

    Изображение в формате без потерь (TIF)     ОЧБ Количества блоков, имеющих JPEG-сжатие цифрового изображения - student2.ru нулевых СНЧ Кол-во блоков, у которых нулевых СЧ больше двух, по отношению к ОЧБ (%)
    m=8     m=7     m=6     m=5     m=4     m=3     m=2     m=1     m=0
POUT
CAMERAMAN
TIRE
MOON
CELL

Вопросы

  1. Что означает сжатие даннях? Что такое избыточность даннях?
  2. Основные виды избыточности данных.
  3. Как реализуется сжатие посредством квантования?
  4. Что такое малоранговая оппроксимация изображения? Как реализуется сжатие посредством использования малоранговых аппроксимаций изображения?
  5. Что такое сингулярное разложение матрицы?
  6. Что такое спектральное разложение матрицы?
  7. Соответствие между параметрами цифрового изображения в пространственной и частотной областях.
  8. Основные шаги JPEG-сжатие цифрового изображения. Матрицы квантования.
  9. Характерные особенности сингулярных чисел блоков матрицы цифрового изображения при JPEG-сжатии.
  10. Частичное и полное восстановление цифрового изображения после сжатия.

Литература

  1. Кобозева А.А. Анализ информационной безопасности / А.А.Кобозева, В.А.Хорошко. – К.: Изд. ГУИКТ, 2009. – 251 с.
  2. Деммель Дж. Вычислительная линейная алгебра / Дж.Деммель; пер.с англ. Х.Д.Икрамова. — М.: Мир, 2001. — 430 с.
  3. Бахвалов Н.С. Численные методы / Н.С.Бахвалов, Н.П.Жидков, Г.М.Кобельков. — М.: БИНОМ. Лаборатория знаний, 2006. — 636 с.
  4. Гонсалес Р. Цифровая обработка изображений / Р.Гонсалес, Р.Вудс; пер. с англ. под ред. П.А.Чочиа. — М.: Техносфера, 2005. — 1072 с.
  5. Каханер Д. Численные методы и программное обеспечение / Д.Каханер, К.Моулер, С.Нэш; пер. с англ. Х.Д.Икрамова. — М.: Мир, 2001. — 575 с.
  6. Гантмахер Ф.Р. Теория матриц / Ф.Р.Гантмахер. — М.: Наука, 1988. — 552 с.
  7. Воеводин В.В. Вычислительные основы линейной алгебры / В.В.Воеводин. — М.: Наука. Гл.ред.физ.-мат.лит., 1977. — 304 с.

Наши рекомендации