Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция №8 по КГиГ.doc
Скачиваний:
2
Добавлен:
12.07.2019
Размер:
1.65 Mб
Скачать

Конспект лекций по дисциплине «Компьютерная геометрия и графика» Лекция 6

Тема 7 - Форматы и стандарты компьютерной графики

Графические форматы

Создание большого количества разнообразных аппаратных графических средств потребовало для их взаимодействия разработки графических форматов. Графические форматы потребовались для ввода и вывода информации, для представления в памяти компьютера, для архивирования и передачи по сетям связи.

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

Рассмотрим различные методы записи и сжатия дискретных изображений без потерь исходных данных при восстановлении изображения.

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

Рассмотрим наиболее распространенные форматы файлов растровой графики (табл.6.1).

Файлы с расширениями BMP, TIF, GIF, PCX и JPG содержат растровые графические изображения. Расширение в имени файла говорит о том, в каком формате хранится информация. Размещение информации в этих форматах отличается друг от друга как по содержанию, так и по структуре данных.

Формат файла BMP (сокращенно от BitMaP) - это формат растровой графики для операционной системы Windows, поскольку он наиболее близко соответствует внутреннему формату Windows, в котором эта система хранит свои растровые массивы. Для имени файла, представленного в BMP - формате, чаще всего используется расширение BMP, хотя некоторые файлы имеют расширение RLE, означающее run length encoding (кодирование длины серий). Расширение RLE имени файла обычно указывает на то, что произведено сжатие растровой информации файла одним из двух способов сжатия RLE, которые допустимы для файлов BMP - формата.

Таблица 6.1 Параметры форматов растровой графики

Формат

Макс. число

бит/пиксел

Макс. число

цветов

Макс. размер

изображения,

пиксел

Методы

сжатия

Кодирование

нескольких

изображений

BMP

24

16 777 216

65535x65535

RLE

-

TIFF

24

16 777 216

4 294 967 295

LZW, RLE

+

GIF

8

256

65535x65535

LZW

+

PCX

24

16 777 216

65535x65535

RLE

-

JPEG

24

16 777 216

65535x65535

JPEG

-

В файлах BMP информация о цвете каждого пиксела кодируется 1, 4, 8, 16 или 24 бит (бит/пиксел). Числом бит/пиксел, называемым также глубиной представления цвета, определяется максимальное число цветов в изображении. Изображение при глубине 1 бит/пиксел может иметь всего два цвета, а при глубине 24 бит/пиксел - более 16 млн. различных цветов.

Рассмотрим структуру файла BMP. В табл.1.2 показаны: последовательность, наименование и размер записываемой в файл информации.

Формат собственно данных растрового массива в файле BMP зависит от числа бит, используемых для кодирования данных о цвете каждого пиксела. При 256-цветном изображении каждый пиксел в той части файла, где содержатся собственно данные растрового массива, описывается одним байтом (8 бит).

Таблица 3.2 Размещение информации в файле BMP

п/п

Наименование информации

Размер в байтах

1

Заголовок файла растровой графики

14

2

Сигнатура файла BMP

2

3

Размер файла

4

4

Не используется

2

5

Не используется

2

6

Местонахождение данных растрового массива

4

7

Информационный заголовок растрового массива

40

8

Длина этого заголовка

4

9

Ширина изображения

4

10

Высота изображения

4

11

Число цветовых плоскостей

2

12

Бит/пиксел

2

13

Метод сжатия

4

14

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

4

15

Горизонтальное разрешение

4

16

Вертикальное разрешение

4

17

Число цветов изображения

4

18

Число основных цветов

4

19

Таблица цветов

длина

изменяется

от 8 до 1024 байт

20

Собственно данные растрового массива

длина

переменная

Это описание пиксела не представляет значений цветов RGB, а служит указателем для входа в таблицу цветов файла.

Например, если в качестве первого значения цвета RGB в таблице цветов файла BMP хранится R/G/B=255/0/0, то значению пиксела 0 в растровом массиве будет поставлен в соответствие ярко-красный цвет.

Значения пикселов хранятся в порядке их расположения слева направо, начиная (как правило) с нижней строки изображения. Например, в 256-цветном BMP-файле первый байт данных растрового массива представляет собой индекс для цвета пиксела, находящегося в нижнем левом углу изображения; второй байт представляет индекс для цвета соседнего справа пиксела и т. д. Если число байт в каждой строке нечетно, то к каждой строке добавляется дополнительный байт, чтобы выровнять данные растрового массива по 16-бит границам.

Не все файлы BMP имеют одинаковую структуру. Например, файлы BMP с глубиной 16 и 24 бит/пиксел не имеют таблиц цветов; в этих файлах значения пикселов растрового массива непосредственно характеризуют значения цветов RGB. Также могут различаться внутренние форматы хранения отдельных разделов файла. Например, информация растрового массива в некоторых 16 и 256-цветных BMP-файлах может сжиматься посредством алгоритма RLE, который заменяет последовательности идентичных пикселов изображения на лексемы, определяющие число пикселов в последовательности и их цвет. В Windows допускается работа с BMP -файлами стиля OS/2, в которых используются различные форматы информационного заголовка растрового массива и таблицы цветов.

PCX стал первым стандартным форматом графических файлов для хранения файлов растровой графики в компьютерах IBM PC. На этот формат, применявшийся в программе Paintbrush фирмы ZSoft, в начале 80-х гг. фирмой Microsoft была приобретена лицензия, и затем он распространялся вместе с изделиями Microsoft. В дальнейшем формат был преобразован в Windows Paintbrush и начал распространяться с Windows. Хотя область применения этого популярного формата сокращается, файлы формата PCX, которые легко узнать по расширению PCX, все еще широко распространены сегодня.

Файлы PCX разделены на следующие три части: заголовок PCX, данные растрового массива и факультативная таблица цветов. 128-байт заголовок PCX содержит несколько полей, в том числе поля размера изображения и числа бит для кодирования информации о цвете каждого пиксела. Информация растрового массива сжимается с использованием простого метода сжатия RLE; факультативная таблица цветов в конце файла содержит 256 значений цветов RGB, определяющих цвета изображения. Формат PCX первоначально был разработан для адаптеров CGA- и EGA-дисплеев и в дальнейшем был модифицирован для использования в адаптерах VGA и адаптерах истинных цветов. Кодирование цвета каждого пиксела в современных изображениях PCX может производиться с глубиной 1, 4, 8 или 24 бит.

TIFF (Tagged Image File Format, формат файлов изображения, снабженных тегами) - один из самых сложных. Файлы TIFF имеют расширение TIFF. Каждый файл начинается 8-байт заголовком файла изображения (IFH), важнейший элемент которого - каталог файла изображения (Image File Directory, IFD) - служит указателем к структуре данных. IFD представляет собой таблицу для идентификации одной или нескольких порций данных переменной длины, называемых тегами; теги хранят информацию об изображении. В спецификации формата файлов TIFF определено более 70 различных типов тегов. Например, тег одного типа хранит информацию о ширине изображения в пикселах, другого - информацию о его высоте. В теге третьего типа хранится таблица цветов (при необходимости), а тег четвертого типа содержит сами данные растрового массива. Изображение, закодированное в файле TIFF, полностью определяется его тегами, и этот формат файла легко расширяется, поскольку для придания файлу дополнительных свойств достаточно лишь определить дополнительные типы тегов.

В настоящее время TIFF широко используется в устройствах считывания информации сканерах.

Формат файлов растровой графики GIF (Graphics Interchange Format - формат обмена графическими данными, разработан компанией CompuServe. Обычно для имени файлов GIF используется расширение GIF.

Основные достоинства GIF заключаются в широком распространении этого формата и его компактности. Однако в изображениях, хранящихся в виде GIF-файла, не может быть использовано более 256 цветов.

Формат файла JPEG (Joint Photographic Experts Group - Объединенная экспертная группа по фотографии) был разработан компанией C-Cube Microsystems как эффективный метод хранения изображений с большой глубиной цвета, например, получаемых при сканировании фотографий с многочисленными едва уловимыми (а иногда и неуловимыми) оттенками цвета. Самое большое отличие формата JPEG от других рассмотренных здесь форматов состоит в том, что в JPEG используется алгоритм сжатия с потерями и без потерь информации. Алгоритм сжатия без потерь так сохраняет информацию об изображении, что распакованное изображение в точности соответствует оригиналу. При сжатии с потерями приносится в жертву часть информации об изображении, чтобы достичь большего коэффициента сжатия. Распакованное изображение JPEG редко соответствует оригиналу абсолютно точно, но очень часто эти различия столь незначительны, что их едва можно (если вообще можно) обнаружить.

Compression of the maps

Существуют два вида сжатия изображений: без потерь (сжатие и восстановление изображений не меняет качество изображения) и с потерями (сжатие и восстановление изображений приводит к снижению качества изображения).

Алгоритм Run Length Encoding (RLE) - Групповое кодирование. Данный алгоритм необычайно прост в реализации. Это один из самых старых и самых простых алгоритмов архивации графики. Изображение в нем вытягивается в цепочку байт по строкам растра. Само сжатие в RLE происходит за счет того, что в исходном изображении встречаются цепочки одинаковых байт. Замена их на пары (счетчик повторений, значение) уменьшает избыточность данных.

Алгоритм рассчитан на деловую графику — изображения с большими областями повторяющегося цвета.

Характерные особенности: К положительным сторонам алгоритма, пожалуй, можно отнести только то, что он не требует дополнительной памяти при архивации и разархивации, а также быстро работает. Интересная особенность группового кодирования состоит в том, что степень архивации для некоторых изображений может быть существенно повышена всего лишь за счет изменения порядка цветов в палитре изображения.