Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
30
Добавлен:
02.05.2014
Размер:
225.79 Кб
Скачать

ЛЕКЦИЯ 1. История развития компьютерной графики.

1950 год- появляются компы. Они используются для решения научных и производственных задач, результатом которых были числовые данные.

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

Затем появляются специальные устройства для вывода на бумагу, так называемые графопостроители, или перьевые плоттеры. Для управления работой графопостроителей стали создавать спец. ПО. Следующий важный шаг произошёл с появлением графических дисплеев. Графический дисплей формирует рисунок из множества точек, выстроенных в равные ряды или строки, образующие растр. Мониторы, работающие по принципу построчного сканирования, называются растровыми. Плата компа, обеспечивающего формирование видеосигнала и тем самым определяющие изображение называются видеоадаптером, видеоплатой и т.д.Выводимое изображение формируется в видеопамяти. Дисплейный процессорчитает содержимое видеопамяти и управляет работой монитора. К видеопамяти имеет доступ 2 процессора- центр. и диспл.Центральный записывает видеоинформацию, а дисплейный читает её и передаёт на монитор. В видеопамяти хранится последовательность кодов, определяющих цвет каждой точки. Видеоадаптеры могут работать в различных режимах: текстовый и графический.

В текстовом режиме экран монитора разбивается на отдельные участки, т.е. знакоместа. Каждое знакоместо может быть выделено 250 символами по таблице ASCIкодов.

В графическом режиме информация отображается в виде прямоугольной сетки точек, цвет каждой задаётся программой. Первый комп JBMPC-1986 году был оснащен видеоадаптеромMDA. Видеосистема была предназначена для работы только в текстовом режиме. Через год появляются видеоадаптерйййййййййййййй, который поддерживал уже графический видеорежим, с размером роста 720*348. Следующим шагом был видеоадаптерCGA. Это была первая цветная модель. Он позволил работать в цветном текстовом и графическом режиме.(640*200-цветной, 320*200-белый)

В 1984 году появился видеоадаптер EGA. У него был 16 цветной режим, размером 640*350pi. В 1987 появились адаптерыMCGAиVGA. Появляются видеоадаптеры, обеспечивающие видеорежимы 800*600, 640*480, 1024*768-SuperVGA.1995год-Targa24-16 000 000 цветов, т.е. 24 бита/pi. На данный момент на компьютерыJBMPCс процессоромPentiumиспользуется огромное кол-во видеокарт с глубиной цвета 32 бита/piпри размерах растра 1600*1200. В видеопамяти могут хранится несколько кадров изображения. Это используется в анимации, для их сохранения используется отдельные страницы видеопамяти с одинаковой логической организацией, но разной адресацией. Обмен данными по системе шин обеспечивает процессор, адаптер и контроллер локальной шины. До недавнего времени использовалась шинаPSI. Эта шина является стандартом для подключения модемов и т.д.

В настоящее время подключается через шину AGP. НаличиеAGPпорта повышает быстродействие компа. Кроме видеопамяти на плате видеоадаптера располагается дисплейный процессор, который по сложности приближается к центральному. Этот графический дисплейный процессор выполняет следующие функции: рисование массивовpi, манипуляции, копирование, наложение текстуры и т.д. Ранее эти функции выполнялись центральным процессором, а графически использовались лишь для рисования линий и т.д.

Видеоадаптер выполняет эти операции аппаратно, что позволяет намного ускорить их в сравнении с программой реализации данных центрального процессора. Наиболее известными являются APJ,OpenJF,DirectX.APJимеют несколько сотен графических функций операционной системыWindows. Графический интерфейсDirectXимеет подсистему 3-х мерной графикиDirect3Dи подсистемуDirectDRAW,который обеспечивает доступ к памяти. Одним из наиболее распространенных являетсяOpenGL. Он является библиотекой графической функции и поддерживается многими операционными системами, в том числе иWindows.

ЛЕКЦИЯ 2. Основные понятия компьютерной графики.

Графика-результат визуального представления реального или воображаемого объекта, получаемые традиционными методами, рисованием или печатанием художественных образов. Компьютерная графика-графика, включающая любые данные, предназначенные для отображения на устройстве вывода. В компьютерной графике различают понятия создание и визуализация изображения. В компьютерной графике выполнение работы иногда отделено от его графического исполнения. Одним из способов завершения компьютерно графического процесса является виртуальный вывод, т.е. вывод файла на запоминающее устройство. Данные, которые были выведены в файл, могут быть впоследствии восстановлены и использованы для графического представления. Изображением считается визуальное представление реального объекта, зафиксируемого человеком с помощью некоторого механического процесса. В компьютерной графике изображением считается объект, воспринимаемый устройством вывода. САПР используется во всех областях жизни, таких как машиностроение, электроника и тд.Гео информационные стстемы(ГИС)-разновидность системы компьютерной графики. Они позволяют выполнять ввод и редактирование объектов с учетом их расположения на поверхности земли.

ГРАФИЧЕСКИЙ ФОРМАТ.

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

ГРАФИЧЕСКИЕ ФАЙЛЫ.

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

Графические данные: 1 растровые

2 векторные

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

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

ФИЗИЧЕСКИЕ И ЛОГИЧЕСКИЕ ПИКСЕЛИ.

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

ПИКСЕЛЬНАЯ ГЛУБИНА УСТРОЙСТВА ИЗОБРАЖЕНИЯ.

Принятая пиксельная глубина 1,4,8,24,32 бита соответственно монохроматический режим 16 цветов, 256 цветов и т.д.

ОТОБРАЖЕНИЯ ЦВЕТОВ.

Набор цветов, который задаётся пиксельными значениями в файле не всегда совпадает с тем, который может быть отображен на физическом устройстве вывода. Задача согласования набора цветов решается программой визуализации. Существует 2 варианта:

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

2 устройство вывода способно отобразить меньше цветов, чем записью в исходных данных

( квантование самостоятельно.)

ЛЕКЦИЯ 3. ПИКСЕЛЬНЫЕ ДАННЫЕ И ПАЛИТРА.

Пиксельные данные, содержащие более 1 бита на пиксель могут представляться:

1)как набор индексов палитры цветов

2)определяется в соответствии со схемой определения цветов.

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

ЦВЕТОВЫЕ ПРОСТРАНСТВА.

Чтобы передать цвет, нужно задать несколько значений, определяющих интенсивность каждого из основных цветов, которые смешивают для получения составных цветов. Составной цвет задаётся упорядоченным набором значений и представляют собой точку в цветовом пространстве. Наиболее распространенным способом передачи цвета является модель RGB. В моделиRGB–(0,0,0)-черный,

(255,255,255)-белый. Порядок следования цветовых составляющих может быть произвольный. А порядок и обработка цветовых составляющих разная.

ТИПЫ ПАЛИТРЫ.

Различают одноканальные и многоканальные палитры. Одноканальная палитра предусматривает только одну цветовую величину для каждого элемента изображения, причем эта цветовая величина явно указывает цвет пикселя. Многоканальная палитра предусматривает 2 или более цветовые величины для каждого цветового элемента .Палитры могут быть как пиксельные так и плоскоориентированные. Пиксельно ориентированные палитры хранят все данные о цветах пикселей в виде последовательности битов в каждом элементе массива. В плоскоориентированной палитре цветовые составляющие пикселя разделены. Величины, соотв. определ. цветовому каналу сохраняются вместе, и палитра состоит из 3 –ходноммммм палитр, по одной для каждого цветового канала .Одноканальная пиксельно ориентированная палитра содержит одно пиксельное значение на элемент. Многоканальная пиксель-ориентированная палитра также хранит по 1 пикселю на элемент, но каждый пиксель содержит 2 или более цветовых канала. Одноканальная плоскоориентированная хранит 1 пиксель на элемент и 1 бит на плоскость. Многоканальная плоскоориентированная палитра содержит одно значение цветового канала на элемент. Количество элементов в палитре определяется по формуле 2 в степn,гдеn-размер пиксельного значения

ЦВЕТ.

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

Цветовые модели- аддитивная и субаддитивная.

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

Субаддитивные-основные цвета ??????????????????из белого. Чем больше интенсивность цвета, тем ближе результат к черному. Смешивание всех цветов максимально-черный, минимально-белый. Они отражающие.

МОДЕЛИ RGB.

Аддитивная цветовая модель имеет различное количество красного, зеленого, голубого. Если все три цвета равны, то это оттенки серого цвета. Модель CMYголубой, пурпурный, желтый для???????????????? цветов на белом устройстве вывода.При освещении каждый из основных цветов потому дополнительный цвет.(голубой-красный, пурпурный-зеленый, желтый-синий)

Теоритически при вычитании всех основных цветов, суммой является черный, но на практике получить черный сложней, поэтому модель дополнена отдельным черным цветовым компонентом.. Результат модели-4-х цветовая печать.

ЛЕКЦИЯ 4.

HSV- оттенок, насыщенность , величина. В этой модели изменяют свойства цвета. Весь оттенок-это цветовая насыщенность (цветность) определяют количество белого в оттенке . В полностью насыщенные 100% оттенке не содержится белого и такой оттенок считается чистым. Красный оттенок 50% насыщенности- это розовый. Величина, которая называется яркостью , определяют интенсивностью свечения света. Оттенок с высокой интенсивностью является очень ярким. Черный и белый цвет, смешанный с основными цветами для получения оттенковtint,Shade,tone.

Tint- чистый, полный, насыщенный цветом, смешан с белым.Shade-, насыщенный цветом, смешан с черным.Tone–цвет, смешанный с серым.(белый+черный)

Насыщение-количество черного.

Величина-количество красного.

Оттенок-цвет.

YUL-состоит из 3-х сигналов. Она основана на линейном преображении данных

AGB-изображение, применяется для кодирования цвета в телевидении.

Полутоновая модель состоит из черного, белого и серого.

Гамма всех цветов серого цвета. Каждая точка состоит из 3-х составляющих с равной величиной, не имеющей насыщенности и различающиеся только интенсивностью.

Цвет

RGB

CMY

HCV

красный

255,0,0

0,255,250

0,240,120

желтый

255,255,0

0,0,255

40,240,120

зеленый

0,255,0

255,0,255

30,240,120

синий

0,0,255

255,255,0

160,240,120

черный

0,0,0

250,250,0

160,0,0

белый

255,255,255

0,0,0

160,0,240

серый

127,127,127

127,127,127

160,0,120

НАЛОЖЕНИЕ И ПРОЗРАЧНОСТЬ.

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

16 бит=5 бит+5 бит+5 бит+1 овер. бит.

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

32 бита=8 бит+8 бит+8 бит+8 бит прозр.

0= прозрачен на 100%

255-полностью не прозрачен.

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

ВЕКТОРНЫЙ ФАЙЛ (ВФ)

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

Векторные данные- включают данные о типе линии и её атрибутах. Линии используются для построения геометрических фигур, т.е. в свою очередь может быть использованы для создания объекта 3Dфигур. ВД представляют собой список операций черчения и математическое описание элементов изображения, записанные в файле в той последовательности , в которой они создавались. Простейшие ВФ исполняются текстовыми редакторами и электронными таблицами. Большие ВФ разработаны для хранения и создания рисунков программами САПР.

ОРГАНИЗАЦИЯ ВЕКТОРНЫХ ФАЙЛОВ.

Базовая структура ВФ –это заголовок и ВД.

заголовок

данное

изображение


заголовок

Данные изображения

палитра

концовка

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

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

ЛЕКЦИЯ 5. ВЕКТОРНЫЕ ДАННЫЕ.

- Элементарные частицы векторного файла, которые содержат информацию об отдельных элементах изображения. Объем данных, используемых для представления каждого объекта зависит от сложности и от возможности по уменьшению файла, которые заложены в этом формате. Каждый элемент векторных данных либо однозначно связан с информацией по умолчанию, либо сопровождается информацией, задающей его размер, форму, относительную позицию в изображении, цвет и другие атрибуты. При расшифровке векторного формата, программа визуализации должна найти векторные данные и понять принятие в этом формате соглашения. Элементы векторных данных поименованы и разделены символом ; , вслед за наименованием идут числовой параметр и информация. Возможно в векторных данных упрощение элементов. Можно задать по умолчанию значение линии и значение цвет.

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

ПАЛИТРА И ЦВЕТОВАЯ ИНФОРМАЦИЯ.

Если в файле используется палитра, то перед тем, как воспроизводить изображение, программа визуализации должна найти определение цвета в палитре цветов.

АТРИБУТЫ ЗАПОЛНЕНИЯ.

Не цветовые элементы информации, необходимые для визуализации изображения называются элементарными атрибутами. Замкнутые элементы векторных данных могут быть спроектированы с учетом их цвета. Цвет элемента не зависит от цвета контура. Т о. каждый элемент может быть связан с двумя или более цветами. Первый из них задается для контура элемента, остальные-цвета заполнения. Замкнутые элементы могут заполняться чистыми цветами, могут содержать штриховку или полутона, создаваемые атрибутами заполнения. Также для заполнения могут использоваться шаблоны. Если замкнутый элемент заполнен несколькими цветами, то в описании элемента содержатся либо наименование шаблона заполнения, либо информация о цветах заполнения. Простейший способ - градиентное заполнение. Оно хранится в виде информации о начальных и конечных цветах, направлений и типы заполнений. Оно представляет собой плавный переход от одного цвета к другому с максимально возможным расширением. Типы заполнения могут быть горизонтальные, вертикальные и кольцевые.

КОНЦОВКА ВЕКТОРНЫХ ФАЙЛОВ.

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

Проблему создания повторяющихся элементов решают след. Образом:

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

ТЕКСТ ВЕКТОРНЫХ ФАЙЛОВ.

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

ПРЕИМУЩЕСТВА И НЕДОСТАТКИ ВЕКТОРНЫХ ФАЙЛОВ.

ПРЕИМУЩЕСТВА:

  1. векторные файлы наиболее удобны для хранения изображений, состоящих из элементов.

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

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

НЕДОСТАТКИ:

  1. векторные файлы не применяются для хранения сложных изображений, как фотография.

  2. внешние представления векторных изображений может изменятся в зависимости от отображающей программы

  3. векторные данные плохо отображаются на растровых устройствах вывода.

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

Лекция 6. Растровые файлы и их организация

Заголовок растровых данных(РД)

или или

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

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

Если файловый формат позволяет иметь каждому изо-ю свою

палитру палитру, то она сохраняется непосредственно перед данным

изо-ем с кот. она связана. В таком случае структура

изменится и будет иметь вид.

Заголовок – раздел данных и символов в формате

ASCIIданных, хранящий общ. инфо о РД , структура и

Содержимое конкретного заголовка определяется исполнением форматов.

рис.2

Типичный набор полей заголовка.

1поле: магическое число/идентификатор файлов

2поле: версия файлов

3поле: количество строк изображении

4поле: количество пикселей в строке

5поле: количество видов пикселей

6поле: количество цветовых плоскостей

7поле: тип сжатия

8поле: х координата начала изображения

9поле: у координата нач. изо-я

10поле: текстовое описание

11поле: неиспользованное пространство

идентификатор файла– во всех структурах заголовок начинается с уникальногоID-значения. Он позволяет программам определить формат графики файла с которым она работает. Идентификаторы файлов выбираются разработчиками произвольно и содержат последовательность символовASCIIили любое числовое значение.

Например, формат bmpимеет значениеbmp.gif. Идентификаторы могут быть уникальными даже для платформы, т.к. если значение, прочитанное в начале файла совпадает с имеющимся идентификатором, то программа, читающая заголовок предполагает что ей известен данный формат. Существуют 3 обстоятельства, когда этот простой способ не работает:

1) в нек. Форматах идентификатор файла опущен и на этом месте находятся любые данные. 2) автор формата специально воспроизвел ID-значение другого формата, кот. например позаимствовал с другой платформы. 3) распространители формата дополняют его новыми возможностями, сохраняя при этомIDфайла и его спецификацию.

Поле - версия файла

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

Поле – тип сжатия

Если с целью уменьшения формат поддерживает какой-либо вид кодирования, то в заголовок включается данное поле, т.к. несколько форматов поддерживают несколько алгоритмов компрессии, то все они должны быть указаны в форме – тип сжатия.

Координаты начала опред. точку у нач. изо-я на устройство вывода.

Текстовое описание –комментарий содержащий произвольные символьные в форматеASCIIданные, имя автора.

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

Лекция 7. Растровые данные.

РД в большинстве форматов расположены непосредственно после заголовков, но могут быть и в любом другом месте растрового файла т.к. после заголовка может быть палитра или др. данные. В таком случае в заголовке поле смещения данных изо-я или в поле каталога изо-я указ. Местоположение начала данных изо-я. РД состоящие из пиксельных значений обычно выводятся на устройства в виде строк разверткипо всей ширине поверхности изо-я. Иногда РД записываются в файл в видеплоскостей.

Организация данных в виде строк развертки.

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

Пусть в строке 21 пиксель, на 1 пиксель – 8 бит, тогда смещение будет:

1строка: 0…..20

2строка: 21…41

3строка: 42…62

4строка: 63…

Если 24 бита, то 0…62

63…125

126…

21 пиксель ------ 24 пикселя. 8 бит

0…23

24…47

48…71

Существует правило согласно кот. строки РД выравниваются по границе байта. Рассмотренное выше изо-е будет занимать 24 байта.

Пиксельные данные организованные в виде строк развертки могут быть сохранены в файле 3 способами: 1) в виде непрерывных данных 2) в виде полос 3) в виде фрагментов.

Непрерывные данные.

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

Строка развертки 0

Строка развертки 1

Строка развертки 2

Полосы.

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

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

Пример: 1280 x1024. на 1 пиксель – 8 бит инфо, т.е. 1 байт на пиксель.

Т.е. получим изо-е размером 1310720 байт (1280 Кб, 1,25 Мб).

128 строк x8 полос = 1024.

160 Кб на обработку одной полосы.

Организация данных в виде полос позвол. программе визуализации обрабатывать Тольку одну полосу за раз поэтому примен. на компьютерах с ограниченной памятью.

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

Фрагменты

Фрагменты подобны полосам, но кажд фрагмент соот-ет прямоугольной (вертикальной области изображения). Ф. могут иметь любую ширину от 1 пикселя до ширины всего изо-я. Ф. организованы т.о. что пиксельные данные соответствующие одному ф-ту имеют кратно 16 Кб(8), а их высота и ширина кратны 16 пикселям. Если данные изо-я организованы в виде ф., то фрагментируется все изображение, все ф-ты имеют одинаковый размер и не перекрываются.

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

Организация РД в виде плоскостей.

В таких файлах данные изо-я делятся на 2 и более плоскости и наз. плоскостными файлами. Изо-е кот. использует несколько цветов наз. составным изо-ем. Составное изо-е м.б. представлено несколькими блоками РД, причем кажд. блок будет содержать одну из цветовых составляющих используемых в данном изо-ии. Конструирование блока – это размножение изо-я на цветовые составляющие. Блоки м.б. сохранены в файле последовательно или физически раздельно. Организация данных в виде плоскостей – это обычная ориентация на какое-либо устройство вывода, конструкция кот. позволяет в кажд. момент времени только 1 цветом.

Пример. 2 строки на 3 столбца.

В виде строк развертки.

(00, 01, 02) (03, 04, 05) (06, 07, 08)

(09, 10, 11) (12, 13, 14) (15, 16, 17)

В виде плоскостей.

Красная плоскость Синяя плоскость Зеленая плоскость

00 03 06 02 05 08 01 04 07

09 12 15 11 14 17 10 13 16

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

Палитра аналогична векторным файлам.

Дополнительные структуры данных растрового файла (рф).

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

Концовка

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

Лекция 8. Преимущества и недостатки РФ

1) РФ специально разрабатывались для хранения реальных изо-й, получаемых со сканирующего фотографического или видеооборудования.

2) пиксельные данные могут изменяться индивидуально или большими группами с помощью полей.

3) РФ легко преобразуются для передачи на точечное устройство вывода.

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

-- растровые форматы плохо поддаются масштабированию.

Фрактальная графика

Фрактал – это объект, отдельные элементы которого наследуют свойства родительских структур.

Фрактальные объекты – дерево, снежинка. Фрактал – это та структура, кот. состоит из подобных форм и рисунков и встречается в различных размерах. Термин “фрактал” применил Мандельброт в 1975 г. Фракталы описываются математически и создаются с помощью очень простых алгоритмов.

y=x2+c

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

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

В процессе преоб-я раст. изо-ий во фрак-ые коды реализ-ся 2 огромных преимущества:

1) возможность масштабировать фрактальные изо-я.

2) размер физич. данных используемых для записи фрак-ых кодов до 200 раз меньше своего растрового оригинала.

Фрактальное сжатие обязательно сопровождается потерями, т.к. оно не предусматривает точного поиска соответствия фракталов. Ищется наилучшее соответствие на основе параметров сжатия. Этими параметрами можно управлять доводя изо-е до того состояния в кот. оно визуально не имеет потерь. Фрактальное сжатие примен-ся в БД изо-й. наиболее известные фрактальные пакеты FractalиFractalTransform.

Сжатие данных

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

Схемы сжатия.

1) RLE– метод группового кодирования.

2) LZW– метод Лемпела-Зива-Велча.

3) CCITT– частный случай алгоритма Хаффмана.

4) DCT– метод дискретных косинус-преобразований. Применяется при сжатииjpeg.

5) Фрактальное сжатие.

В РФ обычно сжимаются только данные изо-я, заголовок и др. остаются не сжатыми.

Векторные файлы не имеют родной схемы сжатия. Они не сжимаются.

1) т.к. данные уже представ-ны в компактной форме.

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

3) если векторные файлы все-таки сжать, то сжимается весь файл целиком, включая заголовок (это сжатие архиваторами ZIP,RARи др.)

Физическое и логическое сжатие.

Алгоритмы сжатия используют для повторного кодирования данных.

Различие между методами физич. и логич. сжатия основано на том, как данные преобразуются. В результате физического сжатия данные преоб-ся без учета содержащейся в них инфо. Происходит просто переход серии битов из 1 шаблона в другой более компактно. Алгоритм физического сжатия удаляет существующую в данных избыточность.

Все рассмотренные методы будут физическими.

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

Методы физического сжатия делятся на две категории:

1) сжатие всего файла

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

2) сжатие включенное в структуру файла

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

Лекция 9. Симметричное и ассиметричное сжатие.

ГФ делятся на 2 большие категории: симметр. и ассиметр.

1) симм. основан на тех же алгоритмах и позволяет выполнить тот же объем работы, что и распаковка файлов (RLE,LZW).

В программах обмена данными используют как сжатие так и распаковку.

в одном направлении увелич. объем работ чем в другом (сжатие увелич. объем, время, чем на распаковку) – это для БД изо.

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

Адаптивное, неадаптивное и полуадаптивное кодирование.

Например, нак для сжатия текстов содержит словарь: end(1 код),but(2 код),then(3 код) и т.д.

Для графики 4 черных пикселя 1

8 белых 2

8 черных 3

АК не принадл. педопр.правил для сжимаемых данных, адаптивные компрессоры такие как LZVне зависят от типа обработки данных, поскольку строят словари из поступивших данных, т.е. строят дополнительные данные о процессе кодирования.

АК – любой тип данных, добиваясь максимально возможной степени сжатия.

ПАК – применение обоих методов кодирования. Работает в 2-х проходах.

1) работает как АК (viewdata+buildсловарь)

2) НАК выполняет кодирование на основе полученных на 1 этапе подстроф.

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

Сжатие с потерями и без них.

СБП – порция данных сжимается и распаковывается и содержащаяся в данных инфо сохр-ся (было=есть). Данные не должны быть изменены, потеряны или повреждены.

ССП предусматривает отбрасывание нескольких данных изо-я для достижения лучшей степени сжатия, чем в большом количестве СБП.

*.jpg– ССП.

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

Классификация приложений использующих алгоритмы компрессий.

1) высокие требования ко времени архивации и разархивации (издательские системы, инфо узлы в интернете). Сами илюстр. > часть от общего объема. Используются алгоритмы СБП (LZW,RLEи т.д.)

2) степень архивации и времени разархивации (справочники и энциклопедии на CD-ROM). Ассиметрич. алгоритмы время компрессии >> времени разархивации (фрактальное сжатие).

3) очень высокие требования к степени разархивации (jpeg, хотя большое время разархивации).

Требования, прилагаемые к алгоритмам компрессии.

Определяются характером использования изо-я.

Требования:

1) степень компрессии

2) качество изо-я

3) скорость компрессии

4) скорость декомпрессии

5) масштабирование изо-я

6) возможность показать изо нужного разрешения

7) устойчивость к ошибкам, это противоречит высокой степени архивации, т.к. необходимо вводить избыточную инфо.

8) учет специфики изо, т.е. более высокая степень архивации, чаще применяемая в ваших приложениях.

9) редактируемость (минимальное сжатие ухудшает качество изо при его повторном сохранении)

10) небольшая стоимость аппаратной и программной реализации

Алгоритм группового кодирования или RLE

Алгоритм сжатия, поддерживающий большое число растровых форматов (tif,wmpи т.д.)

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

Суть метода: RLEуменьшает физический размер повторяющихся строк символов. Повторяющиеся строки – группы, и обычно кодируются в 2-х байтах.

1 байт: количество символов в группе – счетчик группы. Закодируемая группа содержит 1-128(256)символов, что записывается в счетчик группы как количество символов – 1.

2 байт: содержит значение символов группы, значение группы.

Если программа считает подряд несколько пикселей с одинаковыми значениями она не записывает значение пикселя еще раз, а запоминает сколько пикселей с этими значениями следуют др. за другом.

Этот код сгенерированный для представления строки – RLEпакет.

Он создается всякий раз когда изменяется группа или когда количество символов в группе больше максимального значения счетчика. Простой растровый рисунок с помощью RLE– пакета сжат следующим образом.


(3-1).255, (4-1).0, (3-1).255, (6-1).0

Для кодирования в RLEтребуется минимум 2 байта.

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

Групповое кодирование не является форматом файла. Это метод кодирования который может быть включен в некоторые графические форматы (gif,tif,jpeg)

Лекция 10. Варианты группового кодирования

Данные изображения кодируются последовательно. Растр кодируется, начиная с верхнего левого угла по оси Х слева на право конец нижнему правому углу.

Альтернативные схемы позволяют записывать закодированные данные по высоте растра по оси У. Иначе кодировать растр зигзагами.

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

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

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

выигрыше вывод несколько байтов процессы сжатия без «конца строки» усложняется вывод процессе декодирования информации. Программа должна понимать закодированные данные маркера конца строки развертки. Этот маркер – уникальный пакет, определенный вывод спецификации RLE. Маркер конца строки – 1 байт.

Ещё одно преимущество построчного кодирования - программа легко воспроизводит любую часть изображения .

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

RlEсхемы битового, байтового, пиксельного уровня.

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

  1. битовый уровень

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

RLE кодирует в группу от 1 до 128 битов, создавая из них 1 байтовые пакеты.

7 младших битов содержат счетчик группы, старший бит содержит значение группы.

8 –ой бит – (0\1), значение группы

1-7 – ой биты – счетчик группы (0-127)

  1. байтовый уровень

Кодирует одинаковые байтовые значения, игнорируя отдельные биты. RLE кодируется в 2-х байтовый пакет

1-ый байт – счетчик группы(0-255)

2-ой байт – значение группы (0-255)

Используемая схема 2х байтового кодирования, позволяет хранить в потоке данных как закодированные, так и не закодированные группы.

Незакодированные группы – литералы. В этом случае 1-7 бит 1- го байта пакета содержит счетчик группы, а самый старший бит 1-го байта – тип группы:

1- закодированная группа

0 – литеральная группа, т. е следующие байты должны читаться на прямую из закодированных данных изображения в количестве, указанном счетчиком группы +1.

1 – ый байт 1-127 - счетчик

0-255 – значение группы

1

0-127

0-255

0

0-127

1,2,3,4,…,255

закод.

литеральная

Эффективно для изображений ,хранящихся в виде 1 байта на пиксель.

  1. пиксельного уровня

Используется для хранения 1 пиксельного значения , 2 или более смежных байтов изображения.

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

Сведения о количестве битов или байтов пикселя записаны в заголовке файла изображения.

1-ый байт – счетчик(0-255)

N

red

green

blue

2-ой байт – пиксель1 го канала(0-255)

3-ий байт – пиксель 2го канала(0-255)

4-ый байт – пиксель 3 го канала(0-255)

Существуют литеральные группы пиксельного уровня для этого также как и в схемах байтового уровня используется старший бит 1 го байта.

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

Соседние файлы в папке Шпоры по компьютерной графике