Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Стандарты сжатия изображений

Разработан группой экспертов в области фотографии специально для сжатия 24‑битных изображений и стандартизован в 1991 году. Фактически он является стандартом для полноцветных изображений. Алгоритм оперирует областями 8x8, на которых яркость и цвет меняются сравнительно плавно. Вследствие этого, при разложении матрицы такой области в двойной ряд по косинусам (дискретное косинусное преобразование, ДКП) значимыми оказываются только первые коэффициенты. Таким образом, сжатие в JPEG осуществляется за счет плавности изменения цветов в изображении.

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

Шаг 1 (преобразование в новое цветовое пространство)

Переводим изображение из цветового пространства RGB, с компонентами, отвечающими за красную (Red), зеленую (Green) и синюю (Blue) составляющие цвета точки, в цветовое пространство YCrCb (иногда называют YUV). В нем Y — яркостная составляющая, a Cr, Cb — компоненты, отвечающие за цвет (хроматический красный и хроматический синий). За счет того, что человеческий глаз менее чувствителен к цвету, чем к яркости, появляется возможность архивировать массивы для цветовых компонент с большими потерями и, соответственно, большими степенями сжатия.

RGB to YUV
Y = (0.257 * R) + (0.504 * G) + (0.098 * B) + 16
V = (0.439 * R) - (0.368 * G) - (0.071 * B) + 128
U = -(0.148 * R) - (0.291 * G) + (0.439 * B) + 128

YUV to RGB
B = 1.164(Y - 16) + 2.018(U - 128)
G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128)
R = 1.164(Y - 16) + 1.596(V - 128)

Шаг 2 (субдискретизация)

Исходное изображение разбивается на матрицы 8x8 элементов. Каждый элемент описывается с помощью 3 байт (3 байта цветности в пространстве RGB, 1 байт яркости и 2 байта цветности в пространстве YCrCb). Производится сохранение информации о яркости всех 64 элементов матрицы, а информация о цветности сохраняется только для каждых вторых строки и столбца. При таком представлении каждый байт цветности будет относиться к области 2х2 пиксела исходного изображения. В результате для каждого блока 2х2 необходимо хранить всего 6 байт информации (4 байта яркости и 2 байта цветности) вместо 12 байт при обычном описании (1 байт яркости и 2 байта цветности для каждого из 4 пикселов). Практика показала, что уменьшение объема данных на 50% почти незаметно отражается на качестве большинства изображений.

Шаг 3 (дискретное косинусное преобразование)

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

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

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

Шаг 4 (квантование коэффициентов ДКП)

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

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

Пример матрицы квантования

               
               
               
               
               
               
               
               

В результате получается матрица, содержащая достаточно большое количество нулей.

Шаг 5 (вторичное кодирование)

Полученная в результате квантования матрица 8x8 преобразуется в 64-элементный вектор при помощи «зигзаг»-сканирования.

Таким образом, в начале вектора располагаются коэффициенты, соответствующие низким частотам, а в конце — высоким. Зигзаг-сканирование позволяет получить длинные цепочки нулей. Поэтому 64-элементный вектор кодируется сначала с помощью алгоритма RLE, а затем – алгоритма Хаффмана (сжатие без потерь).

Недостатки алгоритма:

- При повышении степени сжатия изображение распадается на отдельные квадраты (8x8).

- Проявляется эффект Гиббса — ореолы вокруг резких вертикальных и горизонтальных границ.

- Плохая приспособленность для сжатия черно-белых изображений, сканированного текста, векторной графики.

Достоинства алгоритма:

- Высокий коэффициент сжатия при приемлемом качестве восстановления (3..20 раз) изображений без резких переходов цвета (большинство фотографий).

- Симметричность алгоритма (кодирование и декодирование производятся за одинаковое время).

Степень сжатия алгоритма: 2..200 (задается пользователем).

 

Progressive JPEG, Motion JPEG.

 

Стандарт JPEG-2000 Основные отличия от JPEG: вместо дискретного косинусного преобразования используется дискретное вейвлет-преобразование; вместо алгоритма Хаффмана используется арифметическое кодирование; не применяется субдискретизация цветовых компонент, поскольку использование вейвлетов позволяет достичь того же результата, но с меньшими потерями и др.

<== предыдущая лекция | следующая лекция ==>
Принципы кодирования звука в формате MPEG | Форматы сжатия видеоинформации семейства MPEG
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 915; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.019 сек.