Область применения компьютерной графики



страница2/5
Дата19.05.2016
Размер1.35 Mb.
1   2   3   4   5

Реальной и широко распространенной реализацией этапов рендеринга для универсального конвейера стал программный интерфейс для 3D графики OpenGL. Открытая Графическая Библиотека (OpenGL) появилась в середине 90-х. В настоящее время многие функции этой библиотеки реализованы аппаратно.


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

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


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

Вершины и примитивы


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

С каждой вершиной ассоциируются ее атрибуты. В число основных атрибутов входят положение вершины в пространстве, цвет вершины и вектор нормали


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


Реализации OpenGL показывают хорошую производительность на компьютерах самого разного класса - от ПК до графических суперкомпьютеров.

OpenGL не занимается выводом на экран - результирующее изображение помещается в буфер кадра, а управление дисплеем возлагается на оконную систему. Поэтому OpenGL работает, например, в среде X Window System, NT, Windows 95 и OS/2.

Для подключения к новой среде требуется создание интерфейса с оконной системой.

Эти свойства сделали OpenGL стандартом в технологии открытых систем.


Представление графических данных

Форматы графических данных

Способ организации информации в файл называется форматом.

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



Графические форматы различаются по

- виду хранимых данных (растровая, векторная и смешанная формы),

- по допустимому объему данных

- параметрам изображения

- хранению палитры

- методике сжатия данных - по способам организации файла (текстовый, двоичный)

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

Растровый файл состоит из точек, число которых определяется разрешением, измеряемым обычно в точках на дюйм (dpi) или на сантиметр (dpc). Очень важным фактором, влияющим, с одной стороны, на качество вывода изображения, а с другой - на размер файла, является глубина цвета, т.е. число разрядов, отводимых для хранения информации о трех составляющих (если это цветная картинка) или одной составляющей (для полутонового не цветного изображения). Например, при использовании модели RGB глубина 24 разряда на точку означает, что на каждый цвет (красный, синий, зеленый) отводится по 8 разрядов и поэтому в таком файле может храниться информация о 2^24 = 16,777,216 цветах (Обычно в этом случае говорят о 16 млн. цветов). Очевидно, что даже файлы с низким разрешением содержат в себе тысячи или десятки тысяч точек. Так, растровая картинка размером 1024х768 точек и с 256 цветами занимает 768 Кбайт. По сравнению с векторными форматами растровые устроены проще. Это прямоугольная таблица или матрица bitmap, в каждой ячейке или клетке которой установлен пиксель.

Считывание информации из файла растрового изображения сводится к следующим действиям:

1 - Определяется размер изображения в виде произведения пикселей по горизонтали и вертикали;

2 - Определяется размер пикселя;

3 - Определяется битовая глубина, она характеризует информационную емкость пикселя в битах или цветовую разрешающую способность (количество цветов).

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

Векторный способ записи графических данных применяется в системах автоматического проектирования (CAD) и в графических пакетах. В этом случае изображение состоит из простейших элементов (линия, ломаная, кривая Безье, эллипс, прямоугольник и т.д.), для каждого из которых определен ряд атрибутов (например, для замкнутого многоугольника - координаты угловых точек, толщина и цвет контурной линии, тип и цвета заливки и т.д.). Записывается также место объектов на странице и расположение их друг относительно друга (какой из них "лежит" выше, а какой ниже).

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

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

Основные критерии выбора формата – это совместимость программ и компактность записи.

Растровые форматы

В заголовке растрового формата располагаются:



  1. Идентификатор формата (первые несколько байт). Например, в формате BMP это - 2 символа 'BM' (BitMap), в формате GIF - GIF87a.

  2. Тип данных (RGB или палитра, тип упаковки, кол-во битов на пиксель)

  3. Размеры изображения

  4. Дополнительные параметры (разрешение, строка описания и т.п.)

5 Далее располагается палитра (если она требуется) и массив пикселей. В некоторых форматах начало палитры и массива пикселей указывается в заголовке, в других - они следуют непосредственно после него.

TIFF (Tagged Image File Format). Формат предназначен для хранения растровых изображений высокого качества (расширение имени файла .ТIF). Относится к числу широко распространенных, отличается переносимостью между платформами (IBM PC к Apple Macintosh), обеспечен поддержкой со стороны большинства графических, верстальных и дизайнерских программ. Предусматривает широкий диапазон цвето­вого охвата — от монохромного черно-белого до 32-разрядной модели цветоделе­ния CMYK. Начиная с версии 6.0 в формате TIFF можно хранить сведения о масках (контурах обтравки) изображений. Для уменьшения размера файла применяется встроенный алгоритм сжатия LZW. Формат .ТIF считается лучшим для импорта растровой графики в векторные программы.

PSD (PhotoShop Document). Собственный формат программы Adobe Photoshop (расширение имени файла .PSD), один из наиболее мощных по возможностям хране­ния растровой графической информации. Позволяет запоминать параметры слоев, каналов, степени прозрачности, множества масок. Поддерживаются 48-разрядное кодирование цвета, цветоделение и различные цветовые модели. Основной недостаток выражен в том, что отсутствие эффективного алгоритма сжатия информации приводит к большому объему файлов, однако данный формат постоянно совершенствуется. Существует еще один формат программы Adobe Photoshop

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

GIF (Graphics Interchange Format). Формат GIF (Graphics Interchange Format, Формат Взаимообмена Графикой).

Преимущественное использование GIF - передача графических данных в режиме "онлайн" по компьютерным сетям. Эксклюзивный владелец - CompuServe Incorporated. Стандартизирован в 1987 году как средство хранения сжатых изображений с фиксированным (256) количеством цветов (расши­рение имени файла .GIF). Получил популярность в Интернете благодаря высокой степени сжатия. Последняя версия формата GIF89a позволяет выполнять черес­строчную загрузку изображений и создавать рисунки с прозрачным фоном, поддерживает анимированные иллюстрации. Суть чересстрочной записи изображения состоит в том, что в начале файла хранятся строки изображения с номерами кратными 8, потом кратными 4 и т.д. Просмотр изображения идет с нарастающим уровнем детализации, т.е. видно приблизительное изображение до окончания полной загрузки. Ограни­ченные возможности по количеству цветов обусловливают его применение исклю­чительно в электронных публикациях.

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

RAW – формат хранения фотографий.

Это сравнительно новый формат, относится к профессиональным, размер немного больше, чем .TIFF. Данный формат обрабатывается не всеми версиями PhotoShop, только Adobe PhotoShop CS и Adobe PhotoShop CS2. Формат существует в нескольких вариантах и фотография, сделанная на фотоаппарате Panasonic, может не открыться в программе Olympus Master.

Достоинства .RAW – очень высокое качество изображений и низкие потери информации, при пересохранении не происходит потерь качества.

Недостатки .RAW – большой объем фотографий, несовместимость со старым программным обеспечением и некоторыми цифровыми устройствами, например DVD плеером.



Формат PNG – формат разработан для замены формата .GIF. Этот формат использует сжатие без потерь, алгоритм сжатия похож на алгоритм LZW, сжатые файлы меньше, чем файлы .GIF. Глубина цвета может любой до 48 бит, используется двухмерная запись изображения через строчку не только строк, но и столбцов, поддерживаются полупрозрачные пиксели, в файл записывается информация о гамме коррекции. Гамма коррекция помогает реализации основной цели передачи изображений в Интернете – передаче одинакового отображения информации независимо от аппаратуры пользователя. Распространяется бесплатно.

Для хранения векторных изображений ОС Windows имеет собственный формат .WMF, этот формат обеспечивает быстрый вывод изображения на экран, но искажает цвет и имеет огромные размеры. WMF - Windows Metafile Format. В системе Windows фирмы Microsoft для сохранения и последующего использования цветных изображений используется свой формат метафайла. Метафайл содержит заголовок и собственно описание изображения в виде записей GDI (Graphical Device Interface) функций. Поддерживает векторную и растровую графику. В метафайле записаны команды интерфейса графических устройств (GDI-команды), каждая из которых описывает одну графическую функцию. Для того, чтобы отобразить метафайл, программа передает эти команды специальной функции, которая воспроизводит изображение. Метафайлы обеспечивают независимые от устройства средства хранения и выборки графической информации.
В отличие от растровых файлов, хранящих графическую информацию непосредственно а виде пикселей, метафайлы идеально подходят для таких изображений, как карты, диаграммы, архитектурные чертежи и другие рисунки, состоящие из перекрывающихся фрагментов. Так, например, в САПР, метафайлы могут применяться для запоминания данных. Они также полезны при передаче изображений в их собственных форматах в системный буфер Windows (clipboard) для использования их другими приложениями. Если изображение может быть нарисовано с помощью команд GDI, оно может быть передано другой программе как метафайл. При этом подразумевается, что программа знает, как интерпретировать команды метафайла. Популярные приложения Windows используют WMF-файлы для хранения графической информации.

К универсальным форматам хранения изображения относится формат .EPS, он описывает как векторные, так и растровые изображения на языке описания страниц PostScript. На экран векторные изображения выводятся в формате - .WMF, растровые - .TIFF.

Итак, форматы растровых изображений - BMP, TIFF, PCX, PSD, IPEG, GIF; форматы векторных изображений – WMF; Универсальные форматы – EPS, PICT, CDR, FLA и др.


Алгоритмы сжатия изображений

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

В настоящее время не существует алгоритмов, одинаково сжимающих файлы любых форматов. Степень сжатия изображений может колебаться от 4:1 до 200:1. Различают алгоритмы сжатия с потерями качества изображения и без потерь. Суть алгоритмов сжатия без потерь в том, что при наличии больших областей однотонной закраски или однотипных узорах в растровых изображениях повторяющиеся одинаковые пиксельные области запоминают один раз и впоследствии повторяют его необходимое количество раз. При этом в исходных данных ничего не отбрасывается и не теряется. Такие алгоритмы используются в форматах TIFF или GIF. Пример такого алгоритма – LZW.

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


    1 Типы изображений.

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



  • Схематические изображения. Изображения с небольшим количеством цветов, и большими областями, заполненными одним цветом (деловая графика, чертежи).

  • Фотореалистичные изображения (цифровые или отсканированные фотографии, изображения созданные в программах 3D –визуализации).

  • Текстуры, накладываемые на поверхности.

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



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

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

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

  • Высокое качество изображения, которое, вообще говоря, противоречит выполнению предыдущего. Кстати, довольно часто алгоритм предоставляет возможность выбора качества архивации (например, JPEG), и соответственно, степени архивации. В случае необходимости 100% соответствия используются алгоритмы сжатия без потерь.

  • Высокая скорость компрессии. Интуитивно понятно, что чем больше времени мы будем анализировать изображение, тем лучше будет результат. Таким образом, оно также может входить в противоречие с двумя предыдущими. В некоторых алгоритмах, например фрактальном, можно управлять временем компрессии, естественно, в некоторый (возможно незаметный) ущерб качеству.

    Стоит также отметить, что важно также не только сама скорость, а скорее ее зависимость от, например, размеров изображения. Реализация фрактального алгоритма “в лоб” приведет вообще говоря, к зависимости n2 от площади изображения.

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

  • Возможность постепенного проявления изображения, т.е. возможность показать огрубленное изображение, использовав только начало файла. Данное требование стало актуально в web, когда пользователь может, например, решить, продолжать ему закачку большой картинки или нет, скачав только его часть. Иногда эта возможность является свойством алгоритма (например, wavelet), иногда алгоритм можно модифицировать. (В алгоритме Motion JPEG, например, изменили порядок записи коэффициентов, чтобы сначала шли низко, потом средне, а потом высокочастотные компоненты изображения. В алгоритме Interlaced GIF поступили еще проще, просто записывая строчки изображения не подряд, а через четыре)

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

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

  • Небольшая стоимость аппаратной и (или) эффективность программной реализации. Это требование важно, например, при проектировании алгоритмов сжатия текстур, с учетом дальнейшей интеграции этих алгоритмов в видеочип. Также стоит оценить эффективность таких технологий MMX, 3DNow! и Katmai, и возможность эффективного распараллеливания алгоритмов.

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



  1. Критерии сравнения алгоритмов.

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

  1. Алгоритмы архивации без потерь.

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

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





Методы сжатия


Метод

BMP

GIF

PNG

JPEG

RLE

X







X

LZ




X

X




Huffman







X

X

DCT










X


Метод RLE – кодирование длин серий.

Последовательные пиксели с одинаковым значением кодируются с помощью пары чисел. Эти числа включают длину серии и значение пикселя. Например, 9 повторяющихся пикселей со значением равным 8, можно представить в виде 2-байтовой последовательности

09160816 вместо 081608160816081608160816081608160816

Метод LZ. Программа сжатия ведет словарь, который содержит уже встречавшиеся последовательности значений пикселей. Сжатый поток содержит коды, указывающие элементы словаря.

Кодирование Хаффмана (Huffman). Для представления значений компонент используются коды переменной длины. Значениям, которые повторяются чаще, присваиваются более короткие коды.

Метод DCT (дискретное косинусное преобразование). Блоки пикселов представляются с помощью косинусных функций с разными частотами. Высокие частоты, которые обычно вносят малый вклад в данные изображений, отбрасываются.

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


Каталог: wp-content -> uploads -> 2012
2012 -> Система социальной помощи семье, воспитывающей ребенка с ограниченными возможностями здоровья, в учреждениях социального обслуживания семьи и детей
2012 -> Коалиция организаций ветеранов боевых действий Дальневосточного Федерального округа «Боевое братство дв»
2012 -> Стерлитамакский филиал
2012 -> Питання про виникнення людини хвилює людство здавна. У XIX ст
2012 -> Методические рекомендации по проведению занятий с применением интерактивных форм обучения
2012 -> Тема опыта
2012 -> Вопросы к экзамену Планирование и организация работы кадровой службы Современные концепции управления персоналом
2012 -> Танцевально двигательная
2012 -> Современной


Поделитесь с Вашими друзьями:
1   2   3   4   5


База данных защищена авторским правом ©dogmon.org 2019
обратиться к администрации

    Главная страница