Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 - Форматы_1.doc
Скачиваний:
7
Добавлен:
19.11.2018
Размер:
122.37 Кб
Скачать

Сравнение растровой и векторной графики

Критерий сравнения

Растровая графика

Векторная графика

Способ представления изображения

Растровое изображение строится из множества пикселей

Векторное изображение описывается в виде последовательности команд

Представление объектов реального мира

Растровые рисунки эффективно используются для представления реальных образов

Векторная графика не позволяет получать изображения фотографического качества 

Качество редактирования изображения  

При масштабировании и вращении растровых картинок возникают искажения

Векторные изображения могут быть легко преобразованы без потери качества

Особенности печати изображения

 

Растровые рисунки могут быть легко распечатаны на принтерах

Векторные рисунки иногда не печатаются или выглядят на бумаге не так, как хотелось бы  

Методы сжатия растровых изображений

Большинство форматов растровых файлов включают технологию сжатия. Все технологии сжатия основаны на выявлении повторяемости отдельных участков внутри данных изображения. Такие повторяющиеся участки заменяются эквивалентным представлением, занимающим меньший объем. Сжатие полностью случайных данных невозможно.

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

Краткое описание популярных технологий сжатия.

Метод RLE (Run Length Encoding – кодирование длин серий). Последовательные пикселы с одинаковым значением (цвета или номера цвета в палитре) кодируются с помощью пары чисел – длины серии (run length) и значение пиксела.

Рассмотрим весьма условный пример. Пусть растр выглядит так (естественно, R, G и B – это цвета, соответственно, красный, зеленый и синий, R=0xFF0000, G=0x00FF00, B=0x0000FF). Глубина цвета 24 bpp.

R

R

R

G

B

R

G

B

B

B

B

B

B

B

R

R

R

G

B

B

B

B

B

B

B

Компактная запись растра, закодированного при помощи RLE:

3R1G1B1R1G7B3R1G7B

Можно рассчитать размер памяти, выделяемый под хранение растра, до и после сжатия. Количество байт, необходимых для хранения растра, до сжатия можно рассчитать по формуле (5*5*24+7)/8 = 75,875 Байт.

Размер сжатого растра посчитаем так. На представление цвета у нас уходит по 3 байта (24 бит), на представление количества пикселов одинакового цвета в последовательности – 1 байт. Итого: (1+3)*9 = 36 байт.

Метод сжатия LZW (Lempel-Ziv-Welch) разработан в 1978 году израильтянами Лемпелом и Зивом и доработан позднее в США. Сжимает данные путем поиска одинаковых последовательностей (они называются фразы) во всем файле. Выявленные последовательности сохраняются в таблице (словаре), им присваиваются более короткие маркеры (ключи). Сжатый файл содержит коды, указывающие на элементы словаря. Так, если в изображении имеются наборы из розового, оранжевого и зеленого пикселов, повторяющиеся 50 раз, LZW выявляет это, присваивает данному набору отдельное число (например, 7) и затем сохраняет эти данные 50 раз в виде числа 7. Метод LZW, так же, как и RLE, лучше действует на участках однородных, свободных от шума цветов, он действует гораздо лучше, чем RLE, при сжатии произвольных графических данных, но процесс кодирования и распаковки происходит медленнее.

LZW и RLE хорошо работает с искусственными и пастеризованными картинками и плохо с фотографиями. В действительности, если фотография детализирована, RLE может даже увеличить размер файла.

LZW дает хорошее сжатие, но обладает недостатком – это запатентованный алгоритм. В 1995 году американская компания Unisys запатентовала этот алгоритм и требует денежную компенсацию за его использование.

Условный пример, демонстрирующий работу алгоритма LZW.

Растр оставим тот же.

Словарь может выглядеть примерно так:

Ключ

Последовательность

1

RR

2

RGB

3

BBBBBB

С указанным словарем растр можно представить так: 1223123

Метод сжатия Хаффмана (Huffman) разработан в 1952 году и используется как составная часть в ряде других схем сжатия, таких как LZW, JPEG. В методе Хаффмана берется набор символов, который анализируется, чтобы определить частоту каждого символа. Затем для наиболее часто встречающихся символов используется представление в виде минимально возможного количества битов. Например, буква "е" чаще всего встречается в английских текстах. Используя кодировку Хаффмана, можно представить "е" всего лишь двумя битами (1 и 0), вместо восьми битов, необходимых для представления буквы "е" в кодировке ASCII.

Метод Хаффмана не используется в качестве самостоятельного метода сжатия файлов, но используется, например, в алгоритме сжатия JPEG как один из этапом процесса кодирования.

Метод DCT (Discrete Cosine Transform – дискретное косинусное преобразование) – блоки пикселов представляются с помощью косинусных функций с разными частотами. Ключевой метод сжатия в JPEG. Для хранения значений функций достаточно запомнить частоты.

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