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

реклама
Лекция 1
Алгоритмы сжатия изображений
Медведева Елена Викторовна
25.12.2012
дисц. Цифровая обработка изображений
1
КЛАССИФИКАЦИЯ АЛГОРИТМОВ
СЖАТИЯ ИЗОБРАЖЕНИЙ
1. Алгоритмы сжатия без потерь
- кодирование длин серий (RLE);
- словарные методы (LZW);
- алгоритм Хаффмана;
- Арифметическое кодирование.
2. Алгоритмы сжатия с потерями
- Дискретное косинусное преобразование (DCT);
- Вейвлет-преобразование;
-Перспективные технологии сжатия:
фрактальное кодирование;
нейросетевые методы сжатия.
2
Требования к алгоритмам сжатия





высокая степень компрессии;
высокое качество изображений;
высокая скорость компрессии и
декомпрессии;
симметричность по времени;
небольшая стоимость аппаратной
реализации. Эффективность программной
реализации.
3
Оценка качества изображения

Субъективная оценка качества
(рекомендация ITU-R BT.500-11 )
4
Объективные критерии качества
1. Пиковое соотношение сигнал/шум:
ПОСШ  20 lg
255
,
СКО
2
1 N
СКО   xi  yi 
N i 1
- среднеквадратичная ошибка,
пикселей в изображении,
xi , yi - значения пикселей исходного и восстановленного изображений
соответственно.
2. Среднеквадратичная ошибка.
3. Минимаксный критерий, или критерий максимального
правдоподобия:
ML  max xi  yi .
i 1,, N
N -число
5
АЛГОРИТМ RLE
Групповое кодирование (Run Length Encoding).
В данном алгоритме признаком счетчика служат единицы в двух
верхних битах считанного файла.
Строка из 64 повторяющихся байтов представляется с помощью
счетчика двумя байтами, т.е. сжатие в 32 раза.
6
Пример алгоритма RLE
1. Если в изображении встречается цепочка 7,7,7,0,0,0,0,5,5,
то она заменяется на пары (3,7), (4,0), (2,5).
2. Вычислить максимальный и минимальный коэффициент
сжатия для метода RLE.
- Кмах=64/2=32;
- Kmin=8/16=0,5 – для однократной передачи.
7
ХАРАКТЕРИСТИКИ АЛГОРИТМА RLE
Алгоритм рассчитан на изображения с большими областями
повторяющегося цвета. Применяется как дополнение к другим методам.
Различные
модификации
алгоритма
реализованы
в
графических
форматах: BMP, PCX, TIFF, GIF, JPEG.
Характеристики алгоритма:
- средний коэффициент сжатия 2-3;
- максимальный коэффициент сжатия – 32-64;
- возможно увеличение файла;
- высокая скорость компрессии и декомпрессии;
- симметричность алгоритма примерно единица;
- не требует дополнительной памяти при архивации и разархивации.
8
Первоначальная таблица кода LZW
(для 8-ми разрядных изображений)
Индекс
Значение
Примечание
0
0
1
1
Всевозможные строки,
состоящие из одного элемента изображения
2
2
…
…
255
255
256
256
Код очистки
257
257
Код конца информации
258
Коды строк (9 бит)
…
511
9
Конечная таблица.
Пример. Пусть исходное
содержит 8 бит/отсчет.
изображение
7,7,5,5,0,0,0,0,0,0,5,5,0
Индекс
Значение строк
Выходной поток
256
256
256
258
7,7
7
259
7,5
7
260
5,5
5
261
5,0
5
262
0,0
0
263
0,0,0
262
264
0,0,0,5
263
265
5,5,0
260
K c  13  9 9  9  1,44
10
ХАРАКТЕРИСТИКИ АЛГОРИТМА LZW
LZW ориентирован на 8-битные изображения. Сжимает за счет
одинаковых подцепочек в потоке.
Характеристики алгоритма:
- минимальный коэффициент сжатия – 5/7;
- средний коэффициент сжатия – 4;
- максимальный коэффициент сжатия – 1000;
- симметричность: 1,2-3;
- для определения одного элемента изображений требуется некоторое
количество сравнений. Требуется память для хранения таблицы кодов.
- варианты LZW используются в архиваторах GIF, TIFF, WinRAR.
11
АЛГОРИТМ ХАФФМАНА
Использует частоту появления одинаковых байт в
изображении. Сопоставляет символам входного потока,
которые встречаются большее число раз, цепочку бит
меньшей длины. И, напротив, встречающимся редко —
цепочку большей длины. Для сбора статистики требует двух
проходов по изображению.
Применяется для кодирования:
1.
N – уровней квантования;
2.
Векторов движения;
3.
Коэффициентов преобразования в стандартах JPEG,
MPEG.
4.
Для сжатия бинарных изображений (при сжатии
факсимильных изображений)
12
Алгоритм ХАФФМАНА
Все имеющиеся K сообщений располагают в один столбик в порядке
убывания вероятностей.
1.
2.
Затем два самых маловероятных сообщения
сообщение
сообщения
b,
которое имеет вероятность
a1 , a 2 ,..., a K  2 , b ,
a K 1 , a K
p K 1  p K .
вероятности которых
объединяют в одно
В результате получают
p1 , p2 ,..., p K  2 , pK 1  pK .
Эти
сообщения вновь располагают в порядке убывания вероятностей.
3. Далее берут два сообщения, имеющие наименьшие вероятности,
объединяют их в одно и вычисляют их общую вероятность.
Шаги 2 и 3 повторяют до тех пор, пока не получат единственное
сообщение, вероятность которого равна единице.
5. Проводя
линии, объединяющие сообщения и образующие
последовательные подмножества, получают дерево, в котором отдельные
сообщения являются концевыми узлами. Соответствующие им кодовые слова
можно построить, приписывая ветви, которые идут вниз - «0», а вверх - «1».
4.
13
Построение кода ХАФФМАНА
11
01
101
000
0011
0010
1001
1000
p (a1 )  0,3
p(a2 )  0,23
p (a3 )  0,15
p(a4 )  0,08
p(a5 )  0,06
p(a6 )  0,06
p(a7 )  0,06
p (a8 )  0,06
0,43
1
0,2
0,12
0,57
0,27
0,12
14
Модифицированный код Хаффмана
(для сжатия факсимильных изображений)
1. Вычисляется вероятность появления разных длин элементов
одного знака (серий).
2. Составляются таблицы кодов приближений (КП) и завершений
(КЗ).
Если длина серии элементов  63, то кодовое слово (КС) = КЗ;
Если длина серии элементов > 63, то кодовое слово КС = КП+КЗ.
3. Передача всегда начинается с кодового слова для белого поля.
15
Таблицы кодирования
Завершающие коды
Коды приближения
16
ХАРАКТЕРИСТИКИ АЛГОРИТМА
ХАФФМАНА
- минимальный коэффициент сжатия – 1/5;
- средний коэффициент сжатия – 2;
- максимальный коэффициент сжатия – 213;
- симметричность: близка к единице;
- используются в формате JPEG;
- ориентирован для двуцветных черно-белые изображения, с большими
областями повторяющегося цвета;
- алгоритм
прост в реализации, быстр и может быть легко реализован
аппаратно;
- требуется память для хранения статистических словарей.
17
АРИФМЕТИЧЕСКИЙ КОД
При арифметическом кодировании каждый символ исходного текста представляется
отрезком на числовой оси с длиной, равной вероятности его появления, и началом,
совпадающим с концом отрезка символа, предшествующего ему в алфавите. Результатом
арифметического кодирования является некоторая двоичная дробь из интервала [0, 1).
Пример. Закодировать сообщение «аава».
0,11
1
0
a
3/4
0,1001
b
0
9/16
a
0,011011
0,100100
0
a
27/64
b 36/64
0,01101100
108/256
b 12/16
0,10000111
a
b
144/256
135/256
В качестве кода можно взять любое число из диапазона, полученного на шаге 4.
Например, 0,510  0,12 .
18
ХАРАКТЕРИСТИКИ
АРИФМЕТИЧЕСКОГО КОДИРОВАНИЯ
- средний коэффициент сжатия 5-6;
- требует больших вычислительных ресурсов;
- используются в формате JPEG2000.
19
АЛГОРИТМ JPEG
Основан на дискретном косинусоидальном преобразовании,
применяемом к матрице изображения X (размерами NxN) для
получения некоторой новой матрицы коэффициентов Y .
1) прямое дискретное косинус-преобразование (DCT)
Y  AXAT ,
где элементы матрицы A :
2 j  1i
1
2
, где Ci 
, i  0  , Ci 
, i  0  ;
Aij  Ci cos
N
N
2N
X - матрица сэмплов.
2) В матрице Y заменяют все коэффициенты нулями, за исключением
одного или нескольких самых значимых из них.
3) Дальнейшее свертывание коэффициентов производится с помощью
RLE и метода Хаффмана.
4) При восстановление вычисляют обратное DCT
X  AYAT .
20
КОНВЕЙЕР ОПЕРАЦИЙ,
ИСПОЛЬЗУЕМЫЙ В АЛГОРИТМЕ JPEG
21
ПРИМЕР АЛГОРИТМА JPEG
159
178
181
151
181
181
35.6
80
137
178
156
-42.7 46.5
10.3
-9.8
75
114
88
68
-20.2 12.9
3.9
-8.5
126
Исходный блок
134
134
178
134
181
134
134
151
134
181
134
181
134
134
80
137
134
178
134
181
134
156
75
134
114
151
134
181
88
134
68
181
134
Блок ограниченный 1 коэффициентом
537.2 -76.0 -54.8 -7.8
-12.7 -6.1
Коэффициенты FDCT
159
179
194
138
159
173
95
110
130
145
75
89
110
124
144
Блок ограниченный 3 коэффициентами
22
Блок после ДКП и квантования
Наибольшие
коэффициенты и,
следовательно,
большая
часть
энергии
сосредоточена
в
верхнем
левом
углу и вблизи него.
Коэффициенты
округляют
до
целого числа.
После
зигзагсканирования
длинная
последовательност
ь нулей заменяется
кодом
23
ХАРАКТЕРИСТИКИ АЛГОРИТМА
JPEG
 коэффициенты компрессии: 2-200, средний 20-25;
 класс изображений: полноцветные 24 битные изображения или
изображения в градациях серого без резких переходов цветов;
 симметричен;
 искажения:
1)“ореол”
вокруг
резких
горизонтальных
и
вертикальных границ в изображении; эффект блочности
 требует относительно больших вычислительных затрат.
24
Вейвлет-преобразование
При вейвлетной схеме сжатия используется разложение сигнала по
набору базисных функций:
f  x    ci i  x  ,
i
где  i  x  - базисная функция, ci - весовой коэффициент.
Широкобазисные функции позволяют исследовать большие области и точно описать НЧ детали (границы), а короткобазисные функции
позволяют исследовать малоразмерные области (ВЧ детали).
В связи с этим базисные функции формируются как множество
 i  x  с конечными носителями разной ширины. В этом случае все базисные функции получаются из одного прототипа  i  x  (материнского
вейвлета) путем его растяжения (или сжатия) и смещения по оси времени.
25
Быстрое вейвлет-преобразование
(Алгоритм Малла)
Основные этапы:
1. Подаем одномерный сигнал cn0 n0 (верхний индекс показывает
уровень разложения, нижний – конкретную точку сигнала) на
низкочастотный h и высокочастотный g фильтры разложения.
N 1
2. Результат обработки фильтров подаем на блоки децимации или
прореживания в 2 раза.
3. Результатом обработки п.1 и п.2 являются два набора вейвлет-
1
1
коэффициентов c n  и d n . Высокочастотные коэффициенты d n1 
оставляем без изменения, а низкочастотные
аналогично преобразованию исходного сигнала.
c 
1
n
преобразуем
26
Схема вейвлет - преобразования
LL
L
h
c11
c10
h
Прореживание
по горизонтали
c12
LH
Прореживание
по вертикали
g
Прореживание
по горизонтали
d 22
HL
g
h
Прореживание
по вертикали
Прореживание
по горизонтали
d
2
3
d
2
4
HH
d n1
g
Прореживание
по горизонтали
H
27
Математическое представление
вейвлет-преобразования
 cnm   hl 2 n clm1

l
 m
m1
c
g

d
 n l l 2 n l ,
(1)
где индекс m указывает на уровень разложения, а выражение (1)
представляет собой свертку сигнала или его низкочастотных
компонент с импульсными характеристиками НЧ и ВЧ фильтров.
Для вейвлета Хаара коэффициенты фильтров h и g
соответственно равны:
1 
1
1  
1

, .


g
,

g
,

h
,

h
и  0
 0
1
1
2
2
2 
2

28
Вычисление последовательностей
коэффициентов
c1m  ci , j  ci 1, j  ci , j 1  ci1, j 1 / 4 ;
d 2m  ci , j  ci 1, j  ci , j 1  ci 1, j 1 / 4 ;
d 3m  ci , j  ci 1, j  ci , j 1  ci 1, j 1 / 4 ;
d 4m  ci , j  ci 1, j  ci , j 1  ci 1, j 1 / 4
29
Вейвлеты Добеши
Для вейвлетов Добеши коэффициенты равны:
g 0  h1 
3 3
3 3
g


h


0
, 1
4 2 ,
4 2
1 3
1 3
g


h


g 2  h1 
2
, 1
4 2 .
4 2
Разложение сигнала, децимация, формирование НЧ и ВЧ компонент
выполняется по формулам:
2

 c j   hk c2 j k

k 1

2
d 
g k c2 j k
 j k
1
30
Восстановление изображения
При реконструкции НЧ- и ВЧ коэффициенты равны:
g 0  h1 
3 3
1 3
g


h


2
, 1
,
4 2
4 2
3 3
1 3
g


h


g 2  h1 
0
, 1
4 2 .
4 2
При одномерном ОДВП при реконструкции отсчетов сигнала необходимо:
1. увеличить входную последовательность коэффициентов в два раза, вставив нули между отсчетами;
2. выполнить свертку с соответствующими НЧ и ВЧ фильтрами
3. сложить полученные результаты.
31
АЛГОРИТМ JPEG 2000
Характеристики алгоритма JPEG 2000:
 степень сжатия: 2-200;
 класс
изображений:
полноцветные
24-битные
изображения;
изображения в градациях серого без резких переходов цветов;
однобитные изображения;
 симметричность: 1-1,5;
 искажения: при большом сжатии –артефакты в виде окантовок и
посторонних узоров;

требует больших вычислительных затрат.
32
JPEG/JPEG2000: «Lena»
33
JPEG/JPEG2000 (Сжатие в 130 раз)
34
Принципы сжатия видео в стандартах
H.261, H.263, H.264, MPEG-4
1.
2.
3.
Устранение пространственной
избыточности.
Учет избыточности в цветовых
плоскостях.
Подобие между кадрами.
35
Типы кадров



I-кадры - являются своеобразными входными точками в
поток данных для декодера; сжаты независимо от других
кадров (I - Intra pictures) по алгоритму JPEG.
Р-кадры - сжаты с использованием ссылки на одно
изображение (Р - Predicted); повышают степень сжатия
видео в целом.
В-кадры - сжаты с использованием ссылки на два
изображения (В - Bidirection); декодирование В-кадров
требует больше вычислительных мощностей, однако
позволяет повысить степень сжатия
36
H.264/ Термины
Изображение разбивается на макроблоки размера 16 x 16 по
яркостной компоненте и размера 8x8 для цветовых компонент.
 I-кадры – состоят исключительно из intra-макроблоков.
Макроблоки могут ссылаться только на уже закодированные
макроблоки из той же плоскости.
 P,B-кадры – состоят из intrer-макроблоков.
 Intra – блоки – предсказание элементов в них осуществляется
по предыдущим блокам текущего кадра.
 Inter – блоки – предсказание выполняется с использованием
компенсации движения (т.е. по предыдущим или последующим
кадрам)
 Макроблок A предсказывается макроблоком B, если из
всевозможных макроблоков предшествующих кадров, разница
между блоками B и А минимальна. Эта разница называется
компенсацией движения (motion compensation)

37
Intra-предсказание
38
Intra-предсказание
39
Принципы компенсации движения
1. Кадры разбивают на блоки 4  4 элемента
или блоки со сторонами кратными четырем
( 8  8 , 16 16 ).
2. Сравнивают блоки в k -м и  k  1 -м
кадрах возможной области поиска и
выбирают блок, имеющий наименьшее
количество отличительных элементов.
3. По направлению смещения блоков в
 k  1 -м кадре оценивают вектора движения
Область поиска
и получают преобразованный  k  1 кадр.
4. Формируется разностный кадр k   k  (k  1) .
5. Преобразованный разностный кадр подвергают ДКП, зигзагсканированию, кодированию кодами переменной длины. Вектора движения
кодируют кодами переменной длины.
40
Пример разностных кадров без компенсации и с
компенсацией движения
а) первый кадр
б) второй кадр
в) разностный без
компенсации движения
г) с компенсацией на основе
блока 4x4
д) на основе блока 8x8
е) на основе блока 16x16
Рис.
41
Основа стандартов H.261, H.263, H.264,
MPEG-4
I.
Используя схожесть соседних кадров, получают разностный кадр.
II. В разностном кадре энергия может быть уменьшена методом
компенсации движения блоков.
III. Удаляют статистическую и визуальную избыточность разностного
кадра, используя дискретное косинусоидальное преобразование,
квантование и кодирование кодами переменной длины (RLE,
Хаффмана)
42
СРАВНИТЕЛЬНАЯ ХАРАКТЕРИСТИКА
СТАНДАРТОВ ВИДЕО
43
Скачать