Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kompyuternaya_grafika.doc
Скачиваний:
90
Добавлен:
23.04.2019
Размер:
5.45 Mб
Скачать

70.Алгоритмы сжатия со словарем (lz-алгоритмы).

Базовым алгоритмом для данной группы является алгоритм,предложенный израильскими инженерами Лемпелем и Зивом (Abraham Lempel, Jacob Ziv) в 1977 году (ныне носит название Lempel-Ziv1977, или LZ77). Алгоритмы группы LZ лежат в основе большинства

архиваторов (compress, zoo, lha, pkzip, arj и др.), а также включены в стандарты на факсмодемную связь (V.42 bis) и на язык описания страниц PostScript (level 2).

В 1978 вышла авторская модернизация алгоритма (LZ78), которая была запатентована в 1984 году (патент № 4464650). В этом же году появилась наиболее популярная полностью целочисленная модернизация LZ - LZW, предложенная американским инженером Терри Велчем(Welch T.A.). В 1985 году Велч получил патент на свой вариант алгоритма (№ 4558302), который получил название LZW (Lempel-Ziv-Welch) и был ориентирован на применение в высокоскоростных дисковых контроллерах. В дальнейшем права на этот алгоритм принадлежали ряду фирм (Sperry Corp., Unisys). В настоящее время владельцем является America Online. Именно этот вариант алгоритма стал широко использоваться во многих разработках (в том числе в компьютерной графике – в форматах GIF3 87/89 (CompuServe) и TIFF 5.0 (Aldus Corp.), атакже в стандарте на PostScript (Adobe Systems Corp.), что привело кмногочисленным и долголетним юридическим разбирательствам.

3 GIF - Graphics Interchange Format – графический формат обмена дан-

ными

В 1981 году известным автором архиватора ARC Филом Кацем была разработана другая популярная версия LZ-алгоритма – Deflate, которая не была запатентована и поэтому может использоваться в любых разработках без каких-либо ограничений. Она легла в основу архиваторов семейства pkzip, а также используется при сжатии графической информации в формате PNG4 Алгоритмы группы LZ называются также алгоритмами со словарями, или алгоритмами подстановок. По входному потоку данных осуществляется построение словаря (таблицы строк, или переводной таблицы), в которой каждому выделенному элементу (слову, строке) сопоставляется код словаря (порядковый номер вхождения в словарь). После этого элементы словаря выделяются их входного потока, а выходной поток формируется из соответствующих кодов словаря. Очевидно, что замена слов и строк на их коды приведет к существенному сжатию информации. Существует множество вариантов выделения строк и формирования словаря. В отдельных случаях бывает необязательно хранить словарь (например, при сжатии текста может использо-

ваться заранее известный словарь).

Конец 70 вопроса.

71.Алгоритм сжатия jpeg.

Алгоритмы сжатия без потерь позволяют сжимать информацию не более чем в 5-10 раз. Последнее время с появлением изображения фотореалистичного качества значительно увеличился объем графической информации. Для получения файлов приемлемого размера показателей сжатия 10:1 оказалось недостаточно. Кроме того, алгоритмы сжатия без потерь имеют следующие недостатки.

1. При повышении цветности (режимы HiColor, TrueColor – соответственно 16 и 24/32 бита/пиксель) данные алгоритмы не только неудовлетворительные результаты сжатия, но могут приводить к отрицательным результатам (к увеличению объемов).

2. Все алгоритмы сжатия без потерь ориентированны на обработку строк битов или строк символов, то есть на обработку одномерных потоков данных. Графические данные и геометрические можно представить в виде двух- или трехмерных потоков информации.

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

Поэтому в конце 70-х годов в рамках объединенной группы экспертов по фотографии (Joint Photographic Expert Group) начались работы по созданию специализированных алгоритмов сжатия для растровых изображений фотореалистичного качества. В середине 80-х годов комитетом CCITT5 и международной организацией стандартов ISO6 были приняты первые версии стандартов, определяющие как сам алгоритм

сжатия, так и формат графического файла JPEG Image File Format

(JFIF). При разработке стандартов был учтен опыт, как инженеров, так и ученых. Последние версии содержат рекомендации по применению, основанные на опыте использования JPEG-сжатия. Стандарт определяет два алгоритма: алгоритм компрессии и декомпрессии.

Алгоритм сжатия (компрессии) состоит из четырех этапов:

1) преобразование цветов;

2) дискретно-косинусное преобразование;

3) квантование;

4) кодирование энтропии.

Алгоритм декомпрессии реализует те же самые этапы в обратном

порядке.

Этап 1. Преобразование цветов

JPEG-преобразование на первом этапе позволяет учитывать особенности человеческого зрения, которые были введены в телевизионных стандартах на цветовые модели (см. раздел 2). В качестве базовой модели цвета используется YUV-модель (Y - яркостная составляющая, U,V -света - разностная составляющая), которая в данном стандарте носит название YCbCr. Преобразование из RGB в YCbCr позволяет выявить данные и сократить их объем. Этот процесс называется подвыборкой, так как различные данные выбирается с различной частотой.Стандарт JPEG рекомендует 2 вида подвыборки: YCbCr 422, YCbCr

411. После прямого преобразования из RGB получается полный сигнал YCbCr 444 (всего 12 выборок) по 4 выборки на каждый цвет. Формат YCbCr 422 позволяет сократить число выборок до 8, а формат YCbCr 411 - до 6. Таким образом, без существенной потери качества мы можем уменьшить объем графических данных в 1,5 или 2 раза.

При пересчете цветового пространства RGB в YCbCr используются следующие формулы:

Y = 0,299R+0,587G+0,114B;

Cb = – 0.1687R – 0.3313G + 0.5B +128;

Cr = 0.5R – 0.4187G – 0.0813B + 128.

На данном этапе происходит потеря информации, но она незначительна, т.к. учитывает особенность восприятия цвета человеком.

Этап 2. Дискретно-косинусное преобразование

Дискретно-косинусное преобразование (ДКП) является разновидностью преобразования Фурье, которое всегда имеет обратное преобразование (ОДКП), что гарантирует процесс компрессии / декомпрессии.

5 CCITT - Comite Conssultatif International de Telegraphique et

Telephonique (фр.) – Консультативный комитет по телеграфии и телефонии

6 ISO - International Standard Organization – Международная организация

стандартизации

Графические изображения рассматриваются как пространственная волна: X,Y-координаты совпадают с высотой и шириной изображения, Z - определяется кодом цвета. ДКП выполняет переход от пространственного представления к спектральному (ОДКП – в обратном направлении). Спектральное представление – ряд Фурье - состоит из гармоник, имеющих различный вес. Первые члены получаемого ряда Фурье соответствуют наиболее

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

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

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

Для упрощения вычислений предварительно рассчитывается ряд коэффициентов и сводятся матрицы. Коэффициенты матрицы определяются по следующим формулам.

1/√N , если i=0;

С (i,j)=

√2/N × cos((2j+1) × i × π / 2N) , если i>0.

После вычисления матрицы C формула ДКП принимает матричный вид - преобразование конгруэнтности:

F = C × P × CT

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

ДКП потери информации не происходит.

Этап 3. Квантование

Этап ДКП готовит информацию для проведения сжатия с потерями. Такое сжатие осуществляется за счет округления. Округление это уменьшение ненулевых элементов матрицы ДКП F за счет снижения точности. Стандарт JPEG определяет реализацию этой процедуры через матрицу округления. Поступающая на вход преобразования матрица F содержит элементы в следующем порядке: в верхнем левом углу располагаются низ-

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

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

определяются элементы матрицы округления M=||mi,j||:

mi,j = 1 + (1 + I + j) × Q.

Чтобы был виден самый редкий элемент (правый нижний), он должен иметь значение fi,j≥16. Если значение fi,j < 16 этот элемент будет обнуляться (аналогично для остальных элементов). Полученные после округления нулевые элементы можно не хранить, уменьшая, таким образом, объем матрицы F. Этап квантования - единственный этап JPEG- сжатия, на котором может происходить существенная потеря информации.

Этап 4. Кодирование энтропии.

На этом этапе выполняется четыре шага, в результате чего степень

сжатия графической информации повышается:

1) кодирование верхнего левого элемента (0,0);

2) построение линейной последовательности;

3) применение метода группового кодирования;

4) сжатие при помощи алгоритмов Хаффмена или арифметического кодирования.

Шаг 1. Соседние блоки размером N*N

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

Шаг 2. Линейная последовательность

стирания при помощи обхода модернизированной матрицы F по траектории зигзага

(рис.9.4).

Шаг 3. В полученной строке высока вероятность появления повторяющихся элементов. Поэтому имеет смысл уплотнить ее RLE-алгоритмом.

Шаг 4. После реализации RLE алгоритмов графическая информация может восприниматься как поток бит и подаваться на вход одного из алгоритмо сжатия битовых последовательностей

Конец 71 вопроса.

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