Алгоритмы сжатия изображений. Сжатие изображений с потерями. Методы обхода плоскости

Страницы работы

17 страниц (Word-файл)

Фрагмент текста работы

Алгоритмы сжатия изображений

Особенности

  • Изображение обычно требует для хранения гораздо большего объема памяти, чем текст, что определяет актуальность алгоритмов архивации графики.
  • Человеческое зрение сравнительно нечувствительно к малым изменениям в изображении, что позволяет создавать алгоритмы сжатия с потерями.
  • При создании алгоритмов сжатия используются особенности структуры изображения.

Сжатие изображений с потерями

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

Сжатие изображений с потерями

Принцип сжатия изображений. Если случайно выбрать пиксел изображения, то с большой вероятностью ближайшие к нему пикселы будут иметь тот же или близкий цвет. Итак, сжатие изображений основывается на сильной корреляции соседних символов. Эта корреляция также называется пространственной избыточностью. Принцип сжатия изображений имеет и другую сторону. Нам хорошо известно по опыту, что яркость близких пикселов тоже коррелирована. Два смежных пиксела могут иметь разные цвета, однако, если первый пиксел был ярким, то его сосед, обычно, тоже будет ярким.

Сжатие изображений с потерями

Это свойство можно использовать для перевода представления пикселов RGB (reg, green, blue) в виде трех других компонентов: яркости и двух хроматических компонентов, определяющих цвет. Одним таким форматом (или пространством цветов) служит YCbCr, где Y - (компонента «светимости») отвечает за яркость пиксела, а Cb и Cr (хроматический голубой и хроматический красных) определяют его цвет. Наш глаз чувствителен к маленьким изменение яркости, но не цвета. Поэтому потеря информации в Cb и Cr сжимает образ, внося искажения, которые глаз не замечает.

Сжатие изображений с потерями

Связь между пространством RGB и пространством YCbCr устанавливается в виде простых линейных соотношений: Y = (77/256)*R + (150/256)*G + (29/256)*B, Cb = - (44/256)*R – (87/256)*G + (131/256)*B + 128, Cr = (131/256)*R – (110/256)*G – (21/256)*B +128, а обратное преобразование равно R = Y + 1.371*(Cr – 128), G = Y – 0.698 *(Cr – 128) – 0.336*(Cb – 128), B = Y + 1.732*(Cb – 128).

Методы обхода плоскости

Растровые изображения представляют собой двумерный массив чисел S, элементы которого называются пикселями. В памяти изображение хранится в виде одномерного массива D. Желательно создавать массив D так, чтобы рядом было как можно больше похожих точек. Возможные варианты: обход строками, обход полосами, обход змейкой (зигзаг- сканирование), контурный обход, обход по спирали и др.

Матричные преобразования

Рассмотрим двумерный массив данных, представленный в виде матрицы D: 4 7 6 9 и матрицу W 1 1 1 1 симметричная 6 8 3 6 1 1 -1 -1 5 4 7 6 1 -1 -1 1 2 4 5 9 1 -1 1 -1 Если произвести преобразование C=W*D*WT, то получим матрицу C: 22.75 -2.75 0.75 -3.75 1.75 3.25 -0.25 -1.75 0.25 -3.25 0.25 -2.25 1.25 -1.25 -0.75 1.75

Матричные преобразования

Самый верхний левый элемент матрицы доминирует. Следовательно двухстадийное преобразование матричных данных сокращает корреляцию по обоим направлениям: по вертикали и по горизонтали. Термин «квантование» при использовании в сжатии данных означает округление вещественных чисел до целых или преобразование целых чисел в меньшие целые. При использовании векторного квантования изображение делится на равные блоки пикселов, которые называются векторами, а у кодера имеется список таких же блоков, называемых кодовой книгой. Каждый блок В изображения сравнивается со всеми блоками из кодовой книги и находится «ближайший» в В блок С. После чего в выходной файл записывается указатель на блок С. Если размер указателя меньше размера блока, то достигается сжатие.

Матричные преобразования

Множество грубо квантованных коэффициентов обладает четырьмя свойствами, которые делают преобразование идеальным для сжатия, причем с замечательной декомпрессией при малой потере данных. Вот эти четыре свойства: (1) множество состоит только из целых чисел

Похожие материалы

Информация о работе