Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦОС, УПОиС (Витязев В.В.).doc
Скачиваний:
8
Добавлен:
01.04.2025
Размер:
6.03 Mб
Скачать

3.14Кодирование изображений: кодеки jpeg.

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

Возможности сокращения описания изображения обусловлено 2 факторами:

  1. Ограничение зрительного восприятия - изображение можно аппроксимировать более простой моделью.

  2. Избыточность цифрового изображения даже после первичного сжатия. Дополнительное сжатие можно обеспечить методами неравномерного статистического кодирования.

Первый класс методов сжатия основан на свойствах самого изображения и динамике его изменения от кадра к кадру. Данные методы ведут к потере части информации об изображении. Реализованы как в виде внутрикадрового, так межкадрового кодирования. К первому классу можно отнести:

  1. Кодирование предсказанием АДИКМ.

  2. Линейное кодирование с предсказанием.

  3. Мужкадровое кодирование (большая часть изображения незначительно изменяется друг относительно друг от кадра к кадру).

  4. Прореживание отсчетов с последующей интерполяцией.

  5. Гибридное межкадровое и внутрикадровое кодирование.

Статическое кодирование обеспечивает сжатие за счет статистических свойств сигнала изображения и в принципе не ведет к потерям изображения. Ко второму классу можно отнести:

  1. Использование статистических кодов, арифметических кодов.

  2. Векторное кодирование.

  3. Фрактальные методы – медленная архивация, но быстрая распаковка.

Алгоритм JPEG.

Разработан группой экспертов для сжатия 24 битных полноцветных изображений (алгоритм ДКП участков изображения 8*8, равномерное квантование, кодирование Хаффмана). На участке 8*8 яркость и цвет меняются сравнительно плавно. При разложении матрицы такой области в двойной ряд по косинусам значимыми оказываются только первые коэффициенты. Цветовое восприятие слабо распознает некоторые частоты, то есть более грубая аппроксимация некоторых компонент будет происходить без потери качества.

Характеристики JPEG:

  1. Коэффициент компрессии от 2 до 200.

  2. Полноцветные 24 битные изображения.

Недостатки:

  1. Создается ореол вокруг резких горизонтальных и вертикальных границ изображения (эффект Гиббса).

  2. При высокой степени сжатия изображение распадается на блоки 8*8 пикселей.

Последовательность операций JPEG.

Y - яркостная компонента.

U,V - цветовые компоненты.

V - хроматический синий

U - хроматический красный.

RLE - алгоритм группового кодирования.

Шаг 1.

Переводим изображение из цветового пространства RGB в цветовое пространство YUV, что делается для последующего обеспечения более грубого квантования цветовых компонент U,V при более точном квантовании яркостной компоненты Y. Упрощенно перевод можно представить в виде:

Шаг 2.

Разбиваем исходное изображение на матрицы 8*8. Формируем из каждой матрицы 3 рабочих матрицы по 8 бит для каждой компоненты. Для U,V элементы матрицы набираются через строчку и столбец (децимация). Теряется ¾ информации о цветовой составляющей и достигается сжатие в два раза.

Шаг 3.

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

Y(u, )=1/4*

где C=(i,u)=A(u)*cos((2i+1)Un/2N)

A(u)=1/ при u=0

A9u)=1 при u 0

Шаг 4.

Производим квантование. Для каждой компоненты задается матрица квантования. Выполняется управление сжатием, и происходят самые большие потери. Переводим матрицу в 64 элементный вектор при помощи зигзаг-сканирования.

В начале вектора получим коэффициенты соответствующие низкочастотным составляющим, а в конце высокочастотным.

Шаг 5.

Свертывание вектора с помощью алгоритма . Получим пары типа:

«пропустить» «число»

счетчик пропуска нулей значение необходимое поставить

в следующей ячейки

42 3 0 0 0 -2 0 0 0 0 1

(0,42) (0,3) (3,-2) (4,1)

Шаг 6

Свертывание поученных пар с помощью кодирования по Хаффману с фиксированной таблицей.

Процесс восстановления изображения полностью идентичен. Сжатие до 15 раз без существенных потерь.

Алгоритм Хаффмана.

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

и другой алфавит .

Шаг1.

Упорядочиваем все символы ai входного алфавита в порядке убывания вероятности. В начале кодирования слова bi были пустые.

Шаг 2.

Объединяем два символа ak,r-1,ak,r имеющих меньшую вероятность в общий псевдосимвол a с суммарной вероятностью. Дописываем 0 в начале слова bk,r-1 и 1 в начале слова bk,r.

Шаг 3.

Удаляем из списка символы ak,r-1,ak,r и заносим символ a. Теперь снова проводим шаг 2 (вторая итерация), добавляя 1 или 0 для всех слов bi соответствующих псевдосимволам, до тех пор пока не останется один псевдосимвол.

P1=0,5 P2=0,24 P3=0,15 P4=0,11

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]