Презентация к лекции "Принципы сжатия видеоинформации"

реклама
ФГБОУ ВПО «ВЯТСКИЙ ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ»
Лекции
Изображения
Аналоговое
изображение
- это двумерное изображение F(x,y),
характеризующееся бесконечной точностью
представления
по
пространственным
параметрам x и y и бесконечной точностью
представления значений интенсивности в
каждой пространственной точке (x,y)
Цифровое
изображение
- это двумерное изображение I(r,c),
представленное в виде двумерного массива
дискретных
значений
интенсивности,
каждое из которых представлено с
ограниченной точностью
Цветные изображения описываются тремя значениями для
каждого пикселя, а монохромные – одним
Сетка квадратов,
каждый из которых
содержит один цвет
Каждый квадрат
называется пикселем
(элем. изображения)
Изображения
Полутоновое
- это монохромное (черно-белое) цифровое
изображение, у которого каждому пикселю
соответствует одно значение интенсивности
Цветное
- это двумерное изображение, у которого
каждой пространственной точке или пикселю
соответствует вектор значений
Бинарное
- это цифровое изображение, пиксели
которого имеют значения 0 или 1
Любой цвет считается состоящим
из трех основных компонентов:
Синий
[0, 0, 1]
Пурпурный
[1, 0, 1]
Голубой
[0, 1, 1]
красного (Red)
зеленого (Green)
синего (Blue)
Белый
[1, 1, 1]
Зеленый
[0, 1, 0]
Черный
[0, 0, 0]
Красный
[1, 0, 0]
Желтый
[1, 1, 0]
Серый
Цветовой куб в нормированных
координатах RGB
Метод получения нового оттенка
суммированием яркостей
составляющих компонентов
называют аддитивным методом.
Например, спектральные
функции:
черного цвета: fblack = 0,
(R,G,B) = (0,0,0);
фиолетового цвета:
fviolet = fred + fblue,
(R,G,B) = (1,0,1);
белого цвета:
fwhite = fred + fgreen + fblue,
(R,G,B) = (1,1,1).
Исходное изображение
R
G
B
Буква Y в таких цветовых пространствах обозначает компоненту светимость,
которая вычисляется как взвешенное усреднение компонент R, G и B по
следующей формуле:
Y  kr R  k g G  kb B
где k обозначает соответствующий весовой множитель
Остальные цветовые компоненты определяются в виде разностей между
светимостью Y и компонентами R, G и B:
Cb  B  Y
Cr  R  Y
Cg  G  Y
При этом получаются четыре компоненты нового пространства вместо трех RGB.
Однако число Cb+Cr+Cg является постоянным, поэтому только две из трех
хроматических компонент необходимо хранить, а третью вычислять на основе них.
Чаще всего в качестве две искомых цветовых компонент используют Cb и Cr.
Преимущество пространства YCbCr по сравнению с RGB заключается в том, что Cb и Cr
можно представлять с меньшим разрешением, чем Y, т.к. глаз человека менее
чувствителен к цвету предметов, чем к их яркости. Это позволяет сократить объем
информации, требуемый для представления хроматических компонент, без
заметного ухудшения качества передачи цветовых оттенков изображения.
Исходное изображение
Сb
Сg
Cr
Алгоритмы сжатия без потерь
Кодирование длин серий
RLE
Групповое кодирование
LZW
Алгоритм Хаффмана
Арифметическое кодирование
Алгоритмы сжатия с потерями
Дискретное косинусное
преобразование (стандарт JPEG)
Вейвлет-преобразование
(стандарт JPEG2000)
Фрактальное кодирование
Нейросетевые методы сжатия
 высокая степень компрессии
 высокое качество изображений
 высокая скорость компрессии и декомпрессии
 симметричность по времени
 небольшая стоимость аппаратной реализации
 эффективность программной реализации
Субъективная оценка качества изображения формируется на основе
экспертных оценок. Она зависит от различных внешних факторов,
например, условий окружающей среды, освещения, настроения специалиста, который производит оценку, качества монитора, характера рассматриваемых изображений и др. Каждая процедура начинается с отбора участников, которые не должны быть экспертами, и
проверки их зрения. В
контролируемых условиях
участники просматривают
до 30 мин тестовых сцен и
для
каждой
сцены
выставляют оценку качества изображения.
 Среднеквадратичная ошибка
2
1 N
СКО   xi  yi 
N i 1
N - число пикселей в изображении,
xi , yi - значения пикселей исходного и
восстановленного изображений соответственно.
 Пиковое отношение сигнал/шум
255
ПОСШ  20 lg
СКО
Критерий максимального правдоподобия
ML  max xi  yi
i 1,, N
Это один из самых старых и самых простых алгоритмов
архивации графики. Изображение в нем вытягивается в цепочку
байт по строкам растра. Само сжатие в RLE происходит за счет
того, что в исходном изображении встречаются цепочки
одинаковых байт.
Замена их на пары <счетчик повторений, значение>
уменьшает избыточность данных.
Если в изображении встречается цепочка 7,7,7,0,0,0,0,5,5,
то она заменяется на пары (3,7), (4,0), (2,5).
Алгоритм рассчитан на деловую графику - изображения с
большими областями повторяющегося цвета. Применяется как
дополнение к другим методам. Различные модификации
алгоритма реализованы в графических форматах: BMP, PCX,
TIFF, GIF, JPEG.
 средний коэффициент сжатия 2-3;
 максимальный коэффициент сжатия – 32-64;
 возможно увеличение файла;
 высокая скорость компрессии и декомпрессии;
 симметричность алгоритма примерно единица;
 не требует дополнительной памяти при архивации и
разархивации
Процесс сжатия осуществляется за счет одинаковых цепочек
байт.
Алгоритм выглядит следующим образом:
последовательно считываются символы входного потока и
проверяется наличие в созданной таблице строк такой строки.
Если строка есть, то считывается следующий символ, а если
строки нет, то в поток заносится код для предыдущей
найденной строки, строка заносится в таблицу и поиск
начинается снова.
Сначала создается таблица, состоящая из одного элемента.
Кроме того, таблица включает код очистки и код конца
информации. Под коды для строк остаются значения от 258 до
511. Добавляемые строки записываются в таблицу
последовательно, при этом индекс строки в таблице становится
ее кодом.
Пусть исходное изображение
{7,7,5,5,0,0,0,0,0,0,5,5,0}
содержит 8 бит/отсчет.
Первоначальная таблица кода LZW
(для 8-ми разрядных изображений)
Инде
кс
Значе
ние
0
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
511
265
5,5,0
260
Всевозможные строки,
состоящие
из
одного
изображения
1
1
2
2
…
…
255
255
256
256
Код очистки
257
257
Код конца информации
258
Коды строк (9 бит)
Коэффициент сжатия:
K c  13  9 9  9  1,44
элемента
Алгоритм LZW ориентирован на 8-битные изображения.
Сжимает за счет одинаковых подцепочек в потоке.
Характеристики алгоритма:
 минимальный коэффициент сжатия – 5/7;
 средний коэффициент сжатия – 4;
 максимальный коэффициент сжатия – 1000;
 симметричность: 1,2 - 3;
 для определения одного элемента изображений
требуется некоторое количество сравнений. Требуется
память для хранения таблицы кодов.
 варианты LZW используются в архиваторах GIF, TIFF,
WinRAR.
Использует только частоту появления одинаковых байт
в изображении. Сопоставляет символам входного потока,
которые встречаются большее число раз, цепочку бит
меньшей длины. И, напротив, встречающимся редко —
цепочку большей длины. Для сбора статистики требует двух
проходов по изображению.
Применяется для кодирования:
1. N – уровней квантования;
2. Векторов движения;
3. Коэффициентов преобразования в стандарте JPEG,
MPEG.
4. Для сжатия бинарных изображений (при сжатии
факсимильных изображений)
Все имеющиеся 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 .
Эти
сообщения вновь располагают в порядке убывания вероятностей.
Далее берут два сообщения, имеющие наименьшие вероятности,
объединяют их в одно и вычисляют их общую вероятность.
4. Шаги 2 и 3 повторяют до тех пор, пока не получат единственное
сообщение, вероятность которого равна единице.
5. Проводя
линии, объединяющие сообщения и образующие
последовательные подмножества, получают дерево, в котором отдельные
сообщения являются концевыми узлами. Соответствующие им кодовые слова
можно построить, приписывая ветви, которые идут вниз - «0», а вверх - «1».
3.
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,27
0,12
0,57
 минимальный коэффициент сжатия – 1/5;
 средний коэффициент сжатия – 2;
 максимальный коэффициент сжатия – 213;
 симметричность: близка к единице;
 используются в формате JPEG;
 ориентирован на двуцветные черно-белые изображения, с
большими областями повторяющегося цвета;
 алгоритм прост в реализации, быстр и может быть легко
реализован аппаратно;
 требуется память для хранения статистических словарей.
При арифметическом кодировании каждый символ исходного текста
представляется отрезком на числовой оси с длиной, равной вероятности
его появления, и началом, совпадающим с концом отрезка символа,
предшествующего ему в алфавите. Результатом арифметического
кодирования является некоторая двоичная дробь из интервала [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 .
 средний коэффициент сжатия 5-6;
 требует больших вычислительных ресурсов;
 используются в формате JPEG2000.




Joint Photographic Experts Group (объединенная группа экспертов
по фотографии)
Проект JPEG был инициирован совместно комитетом CCITT
(International Telegraph and Telephone Consultative Committee международный консультативный комитет по телеграфной и
телефонной связи) и ISO (the International Standard Organization –
международная организация по стандартизации)
Проект JPEG начался в конце 80-х с целью создания стандарта
общего назначения для сжатия почти всех неподвижных
изображений с непрерывными тонами
Опубликованный стандарт: "Digital Compression and Coding of
Continuous-tone Still Images – Requirements and Guidelines“,
ISO/IEC 10918-1:1993(E)

Быть современным алгоритмом в смысле степени сжатия и
качества сжатого изображения

Пользователь имеет возможность принимать решение о
компромиссе между качеством изображения и степенью
сжатия

Быть применимым для любого рода источников цифровых
изображений с непрерывными тонами, то есть
изображений с плавным изменением тона (без ограничений
на контент, сложность, цветовой диапазон, статистику и т.п.)

Иметь подходящую вычислительную сложность для
реализации в широком спектре вычислительных аппаратных
средств
Основан на дискретном косинусоидальном преобразовании,
применяемом к матрице изображения 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) Переводим матрицу в вектор при помощи "зигзаг"-сканирования
4) Дальнейшее свертывание коэффициентов производится с помощью
RLE и метода Хаффмана.
5) При восстановление вычисляют обратное DCT
X  AYAT .
Дискретное косинус-преобразование применяют к блокам размером 8х8:
1) с точки зрения аппаратной и программной реализации не накладывает
существенных ограничений на размер требуемой памяти;
2) вычислительная сложность ДКП является приемлемой для
большинства вычислительных платформ.
RGB в
YCbCr
Дискретизация
YCbCr
ДКП
Квантование
Зигзаг
сканирование
Сжатие
RLE
по
Хаффману
 коэффициенты компрессии: 2-200, средний 20-25;
 класс изображений: полноцветные 24-битные
изображения или изображения в градациях серого без
резких переходов цветов;
 симметричен;
 искажения: “ореол” вокруг резких горизонтальных и
вертикальных границ в изображении (эффект Гиббса);
эффект блочности
 требует относительно больших вычислительных затрат.
Исходное изображение
Сжатое изображение
При вейвлетной схеме сжатия используется разложение
сигнала по набору базисных функций:
f  x    ci i  x  ,
i
где
 i  x
- базисная функция, ci - весовой коэффициент.
Широкобазисные функции позволяют исследовать большие области и точно описать НЧ детали (границы), а короткобазисные функции позволяют исследовать малоразмерные области (ВЧ детали).
В связи с этим базисные функции формируются как множество  i  x  с конечными носителями разной ширины. В
этом случае все базисные функции получаются из одного
прототипа  i  x  (материнского вейвлета) путем его растяжения (или сжатия) и смещения по оси времени.
Двумерное вейвлет-преобразование является разделимым
преобразованием и сводится к двум независимо выполняемым
одномерным преобразованиям.
Одномерное вейвлет-преобразование - это совокупность
процессов высокочастотной (ВЧ) и низкочастотной (НЧ) фильтрации
и децимации. Преобразуемый сигнал подвергается фильтрации с
помощью фильтров нижних и верхних частот, которые делят
диапазон частот исходного сигнала на две субполосы. ВЧ и НЧ
поддиапазоны (субполосы) сигнала, полученные при фильтрации,
имеют в два раза более узкую полосу, чем исходный сигнал.
Поэтому выборку можно осуществлять с частотой, равной половине
частоты дискретизации сигнала, что позволяет отбросить каждый
второй отсчет в направлении фильтрации (по строкам или
столбцам), то есть выполнить децимацию.
Последующие процессы фильтрации производятся над НЧ и ВЧ
коэффициентами преобразования. Этот процесс продолжается, пока
сигнал не будет полностью разделен или остановлен на заданной
стадии разложения.
LL
L
h
1
1
Прореживание
по горизонтали
c12
c
c10
h
LH
Прореживание
по вертикали
g
Прореживание
по горизонтали
d 22
HL
g
h
Прореживание
по вертикали
Прореживание
по горизонтали
d
2
3
d
2
4
HH
d n1
g
H
Прореживание
по горизонтали
Алгоритм JPEG-2000 разработан той же группой экспертов в области
фотографии, что и JPEG.
Основные отличия алгоритма в JPEG 2000 от алгоритма в JPEG заключаются
в следующем:
Лучшее качество изображения при сильной степени сжатия. Или, что то
же самое, большая степень сжатия при том же качестве для высоких
степеней сжатия.
Поддержка кодирования отдельных областей с лучшим качеством.
Известно, что отдельные области изображения критичны для восприятия
человеком (например, глаза на фотографии), в то время как качеством других
можно пожертвовать (например, задний план). При "ручной" оптимизации
увеличение степени сжатия проводится до тех пор, пока не будет потеряно
качество в какой-то важной части изображения. Сейчас появляется
возможность задать качество в критичных областях, сжав остальные области
сильнее, т.е. мы получаем еще большую окончательную степень сжатия при
субъективно равном качестве изображения.
Основной алгоритм сжатия заменен на вейвлет-преобразование. Помимо
указанного повышения степени сжатия это позволило избавиться от 8пиксельной блочности, возникающей при повышении степени сжатия.
Для повышения степени сжатия в алгоритме используется
арифметическое сжатие. Изначально в стандарте JPEG также было
заложено арифметическое сжатие, однако позднее оно было заменено
менее эффективным сжатием по Хаффману, поскольку арифметическое
сжатие было защищено патентами. Сейчас срок действия
основного патента истек, и появилась возможность улучшить алгоритм.
Поддержка сжатия без потерь. Помимо привычного сжатия с потерями
новый JPEG теперь будет поддерживать и сжатие без потерь. Таким
образом, становится возможным использование JPEG для сжатия
медицинских изображений, в полиграфии, при сохранении текста под
распознавание OCR системами и т.д.
Поддержка сжатия однобитных (2-цветных) изображений. Для
сохранения однобитных изображений (рисунки тушью, отсканированный
текст и т.п.) ранее повсеместно рекомендовался формат GIF, поскольку
сжатие с использованием ДКП весьма неэффективно к изображениям с
резкими переходами цветов. Сейчас можно рекомендовать JPEG 2000
как универсальный алгоритм.
Сдвиг по
яркости
RGB в YCbCr
Дискр.
вейвлетпреобраз-е
Квантование
Арифметическое
сжатие
 степень сжатия: 2-200;
 класс изображений: полноцветные 24-битные
изображения; изображения в градациях серого без
резких переходов цветов; однобитные изображения;
 симметричность: 1-1,5;
 искажения: при большом сжатии –артефакты в виде
окантовок и посторонних узоров;
 требует больших вычислительных затрат.
JPEG: сохранено больше деталей JPEG 2000: отсутствие блочных артефактов
Алгоритм
RLE
LZW
Хаффмана
JPEG 2000
JPEG
Особенности изображения, за счет которых
происходит сжатие
Подряд идущие одинаковые цвета: 2 2 2 2 2 2 15 15 15
Одинаковые подцепочки: 2 3 15 40 2 3 15 40
Разная частота появления цвета: 2 2 3 2 2 4 3 2 2 2 4
Плавные переходы цветов и отсутствие резких границ
Отсутствие резких границ
Технологии видеосжатия уменьшают количество излишних
видеоданных, и благодаря этому цифровой видеофайл может
быть более эффективно передан через сеть и сохранён на
компьютерных дисках.
Использование эффективных технологий сжатия позволяет
достичь значительного уменьшения размера файла с маленьким
или неважным влиянием на качество изображения. Хотя, если
размер файла будет слишком сильно уменьшен засчёт увеличения
уровня сжатия, качество видеоизображения может пострадать.
Существуют
различные
стандарты
сжатия
видео.
Стандартизация важна для совместимости. Применительно к
видеосжатию совместимость может применяться для разных
целей и может быть необходима для некоторых приложений,
например, для просмотра записей через много лет после записи.
Наиболее известные стандарты сжатия видео на сегодняшний
день – это Motion JPEG, MPEG-4, H.261, H.263, H.264
Процесс сжатия включает в себя применение к исходным
видеоданным алгоритма для создания сжатого видеофайла,
который можно передавать и хранить. Для воспроизведения
сжатого файла используется обратный алгоритм, который
воссоздаёт изначальный видеопоток.
Пара
алгоритмов,
которые
работают
вместе,
называется видеокодеком (кодирование/декодирование).
Видеокодеки различных стандартов обычно не совместимы
друг в другом; это означает, что видеоинформация, сжатая с
помощью одного стандартного кодека не может быть извлечена
с помощью другого стандартного кодека. Например,
декодер MPEG-4 не сможет извлечь информацию, сжатую с
помощью кодера H.264. Это естественно, что один алгоритм не
может декодировать сжатые другим алгоритмом данные; но
некоторые программные и аппаратные продукты поддерживают
различные алгоритмы.
В этом стандарте используется внутрикадровая технология
кодирования. Объём данных уменьшается в кадре с помощью
простого удаления излишней информации, которая незаметна
для человеческого глаза.
Motion JPEG кодирует и сжимает изображения как очередь
из отдельных JPEG-изображений.
Эти три изображения с помощью Motion JPEG формата будут сжаты и
отосланы как отдельные, независимые друг от друга, кадры .
В этих стандартах используется межкадровое предсказание для серий
кадров для уменьшения объёма данных. Оно включает в себя технику
дифференцированного кодирования, когда кадр сравнивается с опорным
кадром и кодируются только изменившиеся пиксели. В этом случае
количество меняющихся пикселей определяет качество сжатия. При
визуализации таким образом сжатого видеосигнала, изображения
показываются как в оригинальном видеопотоке.
При использовании дифференциального кодирования только первый
кадр (I-кадр) сохраняется полностью. Два последующих изображения (Pкадры) позволяют создать так называемый дом — статичные элементы. С
помощью векторов движения кодируются только двигающиеся части
(например, бегущий человек), что уменьшает количество информации,
которую необходимо передавать и хранить.
Современное цифровое телевещание стало доступным
именно благодаря видеокомпрессии. Телевизионные станции
могут транслировать не только видео высокой четкости (HDTV), но
и несколько телеканалов в одном физическом телеканале (6 МГц).
Хотя большинство видеоконтента сегодня транслируется с
использованием стандарта сжатия видео MPEG-2, тем не менее
новые и более эффективные стандарты сжатия видео уже
используются в телевещании — например, H.264.
Скачать