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

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

Разбить на страницы
Показывать лекцию целиком

В этом разделе дается краткий обзор основных устройств, использующих растровое представление для отображения двумерной информации. В качестве примера реализации аппаратных средств для работы с растровой графической информацией рассмотрена архитектура современных компьютеров типа ПК (англ. PC - Personal ComputerИзначально они назывались IBM PC, так как производство таких компьютеров было начато фирмой IBM в 1981 году. ).

2.1. Основные понятия

В предыдущем разделе было рассказано о растре как об абстрактном математическом объекте. При физической реализации растров возникают дополнительные характеристики. Основной из них является Разрешающая способность (англ. resolution) - количество точек физического растра в единице длины. Чаще всего это

  • ppi - пикселей на дюйм (англ. pixels per inch1 дюйм = 25,4 мм ).
  • Также употребляются термины

  • dpi - точек на дюйм (англ. dots per inch). Правильно употреблять по отношению к принтерам, хотя широко используется везде вместо ppi.
  • spi - проб на дюйм. (англ. samples per inch) Иногда употребляется по отношению к сканерам вместо dpi.
  • В большинстве случаев пиксели растра расположены равномерно по ширине и высоте, и для таких растров разрешающая способность одинакова по ширине и высоте. Если это не так (для некоторых принтеров и сканеров в частности), то в этом случае обычно пишут " 1200x2400 dpi ", где 1200 - разрешающая способность по горизонтали, а 2400 - по вертикали. Также термин разрешение употребляется в другом смысле - как размер растра в пикселях. Например, " разрешение экрана равно 1280x1024 ".

    С точки зрения представления цвета важны два параметра:

  • Цветовая гамма, это понятие было введено в предыдущей лекции (см. раздел 1.2);
  • Динамический диапазон (англ. dynamic range) - диапазон уровней яркости для данного устройства. Это понятие пришло из традиционной (пленочной) фото- и видеосъемки, в которой являлось одной из важных характеристик пленки. Важно отметить, что динамический диапазон зависит как от характеристик устройства отображения, так и от способа представления графической информации. Например, типично представление каждого из компонентов цвета в RGB-модели 8 битами, что дает всего 256 возможных уровней яркости.
  • Достаточно широкой цветовой гаммой обладают плазменные дисплеи и фотографическая пленка, а самой узкой - монохромные устройства (на диаграмме цветности соответствующаяся область вырождается в точку) (см. рис. 1.9).

    Для представления графической информации в памяти используется термин Глубина цвета (англ. color depth) - количество информации для представления одного цвета. Измеряется в bpp - bits per pixel (англ. бит на пиксель). Типичные значения: 1 (монохромное изображение), 8, 16, 24, 48.

    Более подробно это понятие рассматривается в разделе 2.4.

    2.2. Устройства ввода

    Сканеры

    Сканер - устройство получения изображений высокого разрешения (до 11000 spi). Принцип работы состоит в последовательном освещении сканируемого материала ксеноновой или флюоресцентной лампой и регистрации отраженного цвета ПЗСПЗС - "Прибор с Зарядовой Связью" (англ. CCD) матрицей (за исключением барабанных сканеров, где используется фотоумножитель). Если материал является полупрозрачным (например, фотопленка), то он, наоборот, подсвечивается с обратной к сенсору стороны.

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

  • Барабанные сканеры относятся к классу high-end. Сканируемый объект (чаще всего фотопленка) сначала вымачивается в специальном растворе, а затем помещается на барабан, который вращается перед перемещающимся в одном направлении фотоэлектронным умножителем. Эти устройства гораздо более чувствительны, чем ПЗС-матрицы, поэтому и разрешающая способность у них значительно выше - от 4000 до 11000 spi. Глубина цвета - 48 бит/пиксель. Такие сканеры имеют сравнительно крупные габариты.
  • Планшетные сканеры - преобладающий на данный момент тип сканеров. Под стеклом одного из стандартных размеров (чаще всего A4; реже A3) находится сканирующая головка, последовательно проходящая всю площадь под стеклом в процессе сканирования. Для сканирования фотопленки в крышку может быть встроена лампа подсветки (что и показано на рис. 2.1). Типичные разрешения - 600-3200 spi. Глубина цвета - до 48 бит/пиксель.
  • Протяжные сканеры предназначены для сканирования листов бумаги заданной ширины. Сканирущая головка перемещается только в одном направлении, а протяжной механизм обеспечивает последовательное смещение бумаги относительно сканирующей головки вдоль другого измерения. Такие устройства компактней планшетных сканеров и позволяют сканировать более протяженные в одном измерении материалы.
  • Ручные сканеры. Сканирующая головка перемещается над сканируемой поверхностью при помощи руки человека. Соответственно, для данного типа сканеров требуется более сложное программное обеспечение, которое обеспечивало бы правильное совмещение отдельных фрагментов (так как траектория перемещения руки не идеальна). К этому типу относятся самые компактные сканеры в форме авторучки. В связи со сравнительной трудоемкостью и сложностью обработки результатов в последнее время интерес к ним незначителен.
  • Слайд-сканеры похожи на планшетные, но предназначены специально для сканирования фотопленки. Важным отличием от первых является отсутствие стекла между сенсором и пленкой. Это важно, так как стекло является дополнительной промежуточной средой, преломляющей световые лучи и, соответственно, вносящей определенные искажения, заметные при сканировании с высоким разрешением.
  • (рис 2.1) Планшетный сканер.

    Цифровые фотоаппараты и видеокамеры

    (рис 2.2) Цифровой фотоаппарат.

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

  • Макросветофильтр
  • Первый вариант. Для получения одного изображения информация снимается с матрицы сенсора 3 раза подряд, при этом каждый раз используется светофильтр для одного из базисных цветов RGB. Этот процесс сравнительно медленный и сложный, поэтому такая технология применяется только в high-end цифровых фотокамерах при съемке неподвижных объектов.
  • Второй вариант. С помощью призмы поступающий световой поток разлагается на три, соответствующих базисным RGB цветам. Каждый из этих потоков направляется на свою ПЗС-матрицу. Поэтому эта технология получила название 3CCD. Она используется в видеокамерах верхнего ценового диапазона. Для фотографии она пока слишком дорога.
  • Микросветофильтры Каждый элемент ПЗС матрицы имеет свой светофильтр, соответствующий одному из базисных RGB цветов. Обычно в квадрате 2x2 располагаются 2 зеленых, 1 синий и 1 красный элемент, т.н. маска Байера (англ. Bayer mask), см. рис. 2.3. Для получения обычного изображения используются различные алгоритмы интерполяции. Это самая распространенная технология как для фото-, так и для видеокамер.
  • (рис 2.3) Маска Байера.

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

    Понятие разрешающей способности для таких устройств обычно не применяетсяхотя говорят о разрешающей способности с точки зрения фотографии - размере наименьшего различимого объекта . Часто употребляется понятие мегапиксель (Мп), равное общему количеству пикселей на матрице сенсора, деленному на 10242. Разрешение, как размер растра, варьируется от 640x480 (0,29 Мп) до 7216x5412 (39 Мп) для фотокамер и от 320x240 (0,07 Мп) до 7680x4320 (33 Мп) - для видеокамер.

    Глубина цвета у большинства фото- и видеокамер - стандартные 24 бита/пиксель. У профессиональных моделей она больше - до 48 бит/пиксель.

    Аспектовое соотношение у фотокамер - 4:3 (как у стандартных дисплеев) или 3:2 (соответствует пленке). У видеокамер - 4:3 или 16:9 (т.н. широкоэкранное видео).

    2.3. Устройства вывода

    Дисплеи

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

    Дисплеи на ЭЛТ

    Самый распространенныйс учетом телевизоров тип дисплеев среднего размера. Основан на использовании ЭЛТ - Электронно-Лучевой Трубки (англ. CRT). ЭЛТ устроена следующим образом.

    Электроны сначала ускоряются электромагнитным полем, а затем отклоняются в нужном направлении перпендикулярным полем (эта часть ЭЛТ называется пушкой ). При попадании на поверхность экрана они вызывают свечение установленных там частиц люминофора, которое и воспринимается наблюдателем. Чем большее ускорение (а следовательно, большую энергию) получил электрон, тем ярче светится люминофор. У цветных дисплеев имеется 3 пушки для каждого из базисных RGB-цветов, а по поверхности экрана равномерно распределены частицы люминофора, соответствующие базисным цветам. Чтобы электроны, выпущенные из соответствующей пушки, попали только на люминофор своего цвета перед экраном ставится щелевая маска или апертурная решетка. Время послесвечения люминофора незначительно, и изображение постоянно обновляется; для вывода одного кадра пушка выпускает электроны последовательно слева направо в каждой строке и по строкам снизу вверх. Количество обновлений всего изображения в секунду носит название частота обновления или частота развертки (англ. refresh rate). Она должна быть достаточно высокой (> 75 Гц), чтобы не возникало утомляющего глаза мерцания.

    (рис 2.4) Дисплей на ЭЛТ.

    Проблемой мониторов на ЭЛТ является то, что яркость свечения люминофора зависит от энергии попавшего на него электрона (в свою очередь определяемой напряжением в пушке Vs ) не линейно, а по закону $${\rm{I}} \sim {\rm{V_s^{\rm{ \gamma}}}}$$. Для большинства ЭЛТ $$\gamma \sim 2, 2$$. Для того чтобы компенсировать этот эффект, применяют т.н. гамма-коррекцию, т.е. подачу на пушку скорректированного напряжения $$V_{c} = V_{s}^{(1/\gamma )}$$.

    Гамма-коррекция может также осуществляться программно, соответствующим изменением цвета пикселей. Для цветных ЭЛТ дисплеев, вообще говоря, $$\gamma$$ своя для каждого из базисных RGB-цветов, но в простых системах это не учитывают.

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

    Разрешение зависит от плотности частиц люминофора на поверхности дисплея. Типичные значения - 85-130 ppi. Практически все ЭЛТ-дисплеи имеют аспектовое отношение 4:3.

    Жидкокристаллические дисплеи

    (рис 2.5) Жидкокристаллический дисплей.

    В настоящее время занимают доминирующую позицию (по сравнению с ЭЛТ) в качестве дисплеев персональных компьютеров. Единственный вид дисплеев, используемый в ноутбуках на настоящий момент. Устроены они следующим образом:

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

    Основными достоинствами жидкокристаллических дисплеев являются меньшие, чем у ЭЛТ-дисплеев, размер в глубину, вес и энергопотребление, большая четкость. Помимо этого отсутствует мерцание изображения, наблюдающееся у ЭЛТ-дисплеев, что приводит к меньшему утомлению глаз. Недостатками являются: худшая, чем у ЭЛТ-дисплеев, цветопередача; цветовые искажения при косых углах зрения; большое среднее время реакции (время переключения с одного цвета на другой, типичное значение - 25 мс, т.е. максимум 40 кадр/с), что приводит к "смазыванию" динамично меняющихся изображений (прежде всего в видео и компьютерных играх), а также недостаточно темный черный цвет (т.к. на самом деле не весь свет удается блокировать кристаллом).

    Типичное разрешение такое же, как и у ЭЛТ-дисплеев, - 85-130 ppi. Аспектовое отношение - 4:3 или 16:10 (т.н. широкоэкранные дисплеи ).

    Другие типы дисплеев

    Также существуют менее распространенные типы дисплеев, в том числе и те, которые только появляются на рынке.

  • Плазменные панели. В плазменных панелях, подобно ЖК-панелям, экран состоит из нескольких слоев; так же, как и у ЖК-панелей, с двух сторон подведены электроды, только между ними находятся уже не жидкие кристаллы, а смесь инертных газов неона и ксенона. При подаче напряжения на электроды через смесь газов начинает проходить ток, что приводит к испусканию ионов, которые, как и в ЭЛТ-дисплеях, попадая на находящиеся в верхнем слое частицы люминофора вызывают его свечение. Так как в плазменных дисплеях используется люминофор, подобный тому, что используется в ЭЛТ-дисплеях, то и цветовые гаммы у них близки. Основные достоинства: они имеют малую глубину (порядка 10 см) и в то же время легко можно получить дисплей большого размера; помимо этого они обладают отличной яркостью. К недостаткам следует отнести высокую цену и большое энергопотребление, сравнимое с ЭЛТ для одинаковой площади экрана.
  • Дисплеи на светодиодах. Светоизлучающий диод (англ. LED - Light Emission Diode) - это полупроводниковый диод, обладающий дополнительным свойством испускания фотонов определенного цвета при прохождении через него электрического тока. Для построения цветного дисплея для каждого пикселя берется три светодиода - с соответствующими красному, зеленому и синему цветами излучения. Множество таких троек, расположенных на прямоугольной сетке, и образуют экран. Используются в основном для больших наружных дисплеев (реклама и т.п.).
  • Дисплеи на органических светодиодах. Органические светодиоды (англ. OLED - Organic LED) - это светодиоды, при производстве которых используются органические материалы, в частности полимеры, которые обладают свойством гибкости, что позволяет производить гибкие дисплеи. Также их достоинством является то, что их можно производить путем процесса, напоминающего струйную печать, т.е. сравнительно дешево. В настоящее время они используются в основном в портативных устройствах, таких как MP3-плейеры, но возможно найдут более широкое применение в будущем.
  • "Электронная бумага". Гибкие дисплеи, способные заменить обычную бумагу. От других типов отличаются тем, что рассчитаны не на постоянное обновление изображения, а наоборот, на его длительное сохранение без электрической энергии. Это является одним из основных требований. Разработано несколько технологий, удовлетворяющих этим требованиям, на данный момент они находятся на стадии прототипов.
  • Существуют еще некоторые перспективные технологии, которые потенциально могут служить для производства дисплеев, но они остаются за рамками данной книги ввиду своей незрелости.

    Проекторы

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

  • Проекторы на ЭЛТ . Эта технология рассмотрена выше в разделе про ЭЛТ-дисплеи.
  • Проекторы на ЖК. Эта технология рассмотрена выше в разделе про ЖК-дисплеи.
  • Проекторы на технологии DLP. DLP - Digital Light Processing (англ. Цифровая Обработка Света) - фирменная технология компании Texas Instruments. Для создания первичного изображения в таких проекторах используется лампа, освещающая систему микрозеркал (по одному на пиксель). При постоянном быстром изменении положения этих зеркал от полного пропускания света до полного его блокирования получаются оттенки серого. Для получения цветного изображения используют два метода: либо вращающийся цветовой круг с базисными RGB-цветами (при прохождении соответствующего светофильтра электромеханика подстраивает зеркала для соответствующего цветового канала), либо белый свет сначала разлагается призмой, затем поток для каждой RGB-компоненты проходит через свою систему зеркал, и потом они вновь соединяются.
  • Следует отметить, что для проекторов требуются внутренние дисплеи повышенной яркости, так как площадь изображения при проецировании значительно увеличивается.

    Типичное разрешение - 1024x768, а максимальное достигает 2048x1080 для некоторых DLP-моделей. Типичное аспектовое отношение - 4:3, хотя есть и разные широкоэкранные варианты.

    Принтеры

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

    Следует заметить, что многие принтеры сами по себе могут иметь довольно сложные встроенные Процессоры Растровых Изображений (англ. RIP - Raster Image Processor), служащие для формирования растровых изображений. Чаще всего такой процессор может растеризовать изображение, описанное программой на языке PostScript [11] или PCLангл. Printer Control Language, разработан фирмой Hewlett Packard., которые были специально созданы для этих целей. Тем не менее в последнее время возможность аппаратной растеризации мало используется, и большинство изображений приходит в принтер в виде готовых растров, так как программная растеризация - это более гибкий подходИногда это называют "Software RIP"..

    Матричные принтеры

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

    Разрешающая способность - от 60x72 до 360x360 dpi.

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

    Струйные принтеры

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

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

    Разрешающая способность - от 600x300 до 5760x1440 dpi.

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

    Лазерные принтеры

    Лазерные принтеры являются самыми эффективными с точки зрения стоимости печати страницы. В настоящее время преобладают в черно-белой печати.

    Принцип действия следующий:

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

    Разрешающая способность - от 300 до 1200 dpi.

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

    2.4. Архитектура графической подсистемы ПК

    Архитектура

    За вывод графической информации на дисплей в ПК отвечает специальный набор микросхем, обычно помещаемый на отдельную плату, которая называется видеоплатой или видеокартой. Основной задачей является преобразование образа экрана, находящегося в памяти, т.н. кадрового буфера (англ. frame buffer), в набор сигналов, понятных дисплею. Для подключения дисплеев к компьютерам используются стандарты, устанавливающие логические и физические параметры соединения. В настоящее время два самых распространенных из них - это аналоговый VGA и цифровой DVI. Первый используется для подключения как аналоговых по сути дисплеев на ЭЛТ, так и цифровыхЖК-дисплеев (аналого-цифровое преобразование в этом случае происходит в самом дисплее), второй - исключительно для ЖК-дисплеев.

    На видеокарте присутствует видеопамять, характерной особенностью которой является то, что она двухпортовая - подсоединена как к шине, по которой передаются данные от центрального процессора, так и к микросхеме, отвечающей за вывод на дисплей, и они могут одновременно обращаться к ней. В дешевых устройствах в качестве видеопамяти используется часть основной памяти, что значительно замедляет обработку данных на видеокарте. Объем памяти должен быть достаточным для хранения данных кадрового буфера, а желательно еще и вторичного буфера (англ. back buffer), если используется технология двойной буферизации. Дело в том, что если менять значения пикселей прямо в момент вывода их на экран, то при высокой частоте обновления могут возникать артефакты, связанные с тем, что на экран выводится еще не отрисованное до конца изображение. Чтобы этого избежать, при двойной буферизации во время вывода изображения из области видеопамяти, которая назначена кадровым буфером (называемым в этом случае также первичным буфером (англ. front buffer)), изображение следующего кадра строится во вторичном буфере, а при показе следующего кадра эти области памяти меняются ролями. Эта технология используется для показа динамичных изображений, таких как игры. Дополнительная видеопамять также ускоряет обработку графики, позволяя держать дополнительные графические элементы, которые отображаются в кадровом буфере с помощью блиттинга (об этом см. ниже).

    Доступ к видеопамяти со стороны процессора может быть организован двояко - либо видеопамять, как часть адресов, включается в адресное пространство процессора, либо для копирования данных между основной и видеопамятью контроллеру на видеокарте посылается специальная команда и копирование происходит с помощью DMA (от англ. Direct Memory Access - микросхема, позволяющая осуществлять передачу данных в/из оперативной памяти периферийным устройствам без участия центрального процессора).

    Микросхема, отвечающая за вывод на дисплей, постоянно сканирует видеопамять, преобразует ее в форму, соответствующую интерфейсу дисплея, и формирует выходной сигнал, передаваемый по кабелю на дисплей (см. рис. 2.6). Если видеоплата оснащена аналоговым выходом, то в нее должен быть встроен цифро-аналоговый преобразователь, называемый RAMDAC - Random Access Memory Digital to Analog Converter. Так как информация о пикселях передается последовательно, то RAMDAC должен обладать достаточно высокой тактовой частотой, чтобы позволять выводить изображения высокого разрешения с достаточной частотой обновления. Например, изображение 1600x1200 для вывода с частотой 75 Гц требует частоты RAMDAC равной 1600x1200x75 = 144 МГц. Частота работы RAMDAC является важной характеристикой видеокарты.

    (рис 2.7) Архитектура видеоподсистемы ПК.(рис 2.6) Пример отрисовки спрайтов.

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

  • Работа с прямоугольными блоками. Эта микросхема называется блиттер, потому что основная операция которую она производит - это BitBlt (Bit Block Transfer), то есть копирование прямоугольного блока изображения в другое изображение с возможным применением побитовых логических операций ( И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ ). Это часто используемая операция для помещения объектов произвольной формы, т.н. спрайтов, на изображение. Пример того, как это можно сделать с помощью двух BitBlt операций см. на рис. 2.7 (для понимания необходимо учесть, что пиксели черного цвета состоят из одних 0 битов, а белого - из одних 1 битов). Также видеокарта может поддерживать операцию StretchBlt, - это то же самое, что и BitBlt, но с растяжением по осям.
  • Растеризация примитивов позволяет производить растеризацию простейших объектов, таких как отрезки, окружности, эллипсы, прямоугольники, многоугольники. Также может поддерживаться заливка одноцветных зон другим цветом или по шаблону. При этом может использоваться и аппаратный антиалиасинг. Эти алгоритмы подробно рассмотрены в данной книге. К этой группе также можно отнести аппаратную поддержку отрисовки курсора.
  • Поддержка вывода символов. Этот блок отвечает за вывод символов на экран определенным шрифтом. Иногда шрифт можно варьировать или загружать из основной памяти свой. Данный блок активно используется, когда видеокарта находится в текстовом режиме, когда дисплей логически делится на определенное количество прямоугольных ячеек, чаще всего 80x25, в каждую из которых может быть помещен один символ из ограниченного поднабора ASCIIAmerican Standard Code for Information Interchange - распространенная 8-битная кодировка символов . Вид каждого из этих символов определяется в специальной таблице видеокарты, которая может быть изменена. В настоящее время этот режим используется при загрузке ПК, а также при работе в режиме терминала (чаще используется в ОС Linux), см. рис. 2.8.
  • Аппаратное ускорение видео и фильтрация изображения. Кодирование и декодирование видео - очень ресурсоемкая операция, связанная с обработкой больших объемов данных. Некоторые видеокарты способны аппаратно декодировать видеопоток, т.е. последовательность сжатых видеоданных, которая соответствует определенному формату. Чаще всего это стандарт MPEG-2сокр. от Motion Picture Experts Group - группа исседователей, разработавшая данный стандарт , которым закодированы фильмы на DVDDigital Video Disc - самый распространенный стандарт цифрового видео . В современных видеокартах также начинает появляться поддержка Телевидения высокой четкости (англ. HDTV - High Definition Television). Также возможно и аппаратное масштабирование видео. Аппаратное отображение видео в части экрана носит название оверлея (англ. overlay). Некоторые видеокарты также могут аппаратно производить фильтрацию изображений (см. лекцию 8), а также осуществлять гамма-коррекцию (см. раздел 2.3).
  • Практически все современные видеокарты содержат также процессор обработки трехмерной графики, но эта тема выходит за рамки данной книги.

    Дополнительно на той же плате часто выведены стандартные разъемы для подключения телевизоров и видеотехники (т.н. TV In/Out) и установлены микросхемы первичной обработки этой информации, в частности, YUV/RGB преобразования.

    Некоторые современные видеокарты позволяют подключать сразу несколько дисплеев одновременно.

    Представление изображений

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

    По глубине цвета изображения делятся на:

    Глубина цвета в bpp Название Примечания
    1 Монохромное Представимы 2 цвета - черный и белый
    8 Палитровое Байт является индексом в таблице палитры, с помощью этой палитры представимо любое 256-элементное подмножество всех True Color цветов
    8 Полутоновое (Оттенки серого) Содержит только один канал интенсивности без цветовой информации с точностью 8 бит. Можно рассматривать как подвид палитрового, где элементы палитры соответствуют оттенкам серого
    16 High Color Полноцветное, количество бит на каждую компоненту R-G-B: 5-5-5 (т.е. на самом деле 15 бит, один не используется) или 5-6-5
    24 True Color Полноцветное, на каждую из RGB компонент по 8 бит
    32 True Color То же самое, что и предыдущее, только добавляется еще один байт для выравнивания информации по машинному слову. Этот байт может также использоваться как альфа-канал, т.е. задавать степень прозрачности

    2- и 4-битные режимы CGA и EGA, применявшиеся в ПК в 1980-х гг., но устаревшие на данный момент, в таблице не представлены.

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

    Как нетрудно подсчитать, True Color позволяет представить 16,7 млн возможных оттенков, чего вполне достаточно для полноценного восприятия человеком большинства фотографий. В то же время, в некоторых случаях заметна недостаточность диапазона яркости. Серьезной проблемой является также потеря точности при операциях над пикселями с целочисленным описанием. Например, при работе в True Color режиме сначала уменьшим яркость в два раза, а затем увеличим. При этом младший значащий бит каждого компонента обнулится, т.к. сначала биты были сдвинуты вправо, а потом обратно влево с дополнением 0. Поэтому, несмотря на то, что графическая подсистема ПК пока может воспроизводить изображения с не более чем 8 бит/канал, некоторые программы обработки изображений имеют режим 16 бит/канал (48 bpp), служащий для предотвращения потери точности при редактировании.

    К тому же некоторые из устройств ввода, рассмотренных выше, позволяют получать изображения с большей глубиной цвета. Некоторые high-end видеокарты уже способны работать с точностью 10 и 12 бит/канал (т.е. 30 и 36 bpp).

    В последнее время становится достаточно популярной концепция Изображений с увеличенным динамическим диапазоном (англ. HDRI - High Dynamic Range Images), которые могли бы одновременно описывать очень разную степень освещенности, комбинируя, например, съемку фотоаппаратом сразу с несколькими значениями экспозиции. Во многих реализациях каждый канал описывается числом с плавающей точкой одинарной точности (размером 32 бита). Современные дисплеи могут однако показывать такие изображения только с определенной экспозицией.

    Программный интерфейс

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

    (рис 2.8) Текстовый режим в ОС Linux.

    Потом появились карты с графическими возможностями. В связи с малым размером адресного пространства (1 Мб) процессора Intel 8086 приходилось отображать только часть видеопамяти в адресное пространство процессора и специальными командами задавать, какая именно это часть. Такая технология получила название bank switching. Команды видеокарте посылались путем прерываний или записи информации непосредственно в ее аппаратный порт. Для использования дополнительных возможностей видеокарт разработчикам прикладных программ и игр приходилось самим реализовывать простейшие операции для каждого их типа, т.к. поддержка видеокарт со стороны ОСОперационная Система была минимальной.

    С появлением ОС с графическим интерфейсом ситуация изменилась. Прослойка между прикладной программой и аппаратурой стала "толще". Непосредственно на низком уровне видеокартой управляет ее драйвер - программа, поставляемая, как правило, самой фирмой-разработчиком видеокарты. А прикладная программа обращается к нему через вызовы четко определенного общего для всех драйверов абстрактного интерфейса (англ. API - Application Programming Interface). Таким образом, появилась аппаратная независимость, что явилось важным шагом вперед, с учетом все более разраставшегося множества видеокарт с ограниченной совместимостью друг с другом.

    (рис 2.9) Графический интерфейс ОС Windows XP.

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

    В UNIX-подобных ОС графический интерфейс предоставляется системой X Windows, работающей по принципу "клиент-сервер". Программа-клиент отправляет какой-либо запрос API по сети (хотя для самой программы это выглядит как просто вызов функции); получив этот запрос, программа-сервер отвечает за его исполнение. Хотя такая схема и является гибкой (можно, например, иметь несколько дисплеев у одного компьютера или, наоборот, много компьютеров, подключенных к одному дисплею), но в то же время она требует и дополнительных затрат на передачу данных по сетевому протоколу. На самом деле, в ПК не используется эта гибкость, а все запросы передаются в рамках одной системы (через разделяемую между процессами клиента и сервера память).

    Страницы:

    В этом разделе дается краткий обзор основных устройств, использующих растровое представление для отображения двумерной информации. В качестве примера реализации аппаратных средств для работы с растровой графической информацией рассмотрена архитектура современных компьютеров типа ПК (англ. PC - Personal ComputerИзначально они назывались IBM PC, так как производство таких компьютеров было начато фирмой IBM в 1981 году. ).

    2.1. Основные понятия

    В предыдущем разделе было рассказано о растре как об абстрактном математическом объекте. При физической реализации растров возникают дополнительные характеристики. Основной из них является Разрешающая способность (англ. resolution) - количество точек физического растра в единице длины. Чаще всего это

  • ppi - пикселей на дюйм (англ. pixels per inch1 дюйм = 25,4 мм ).
  • Также употребляются термины

  • dpi - точек на дюйм (англ. dots per inch). Правильно употреблять по отношению к принтерам, хотя широко используется везде вместо ppi.
  • spi - проб на дюйм. (англ. samples per inch) Иногда употребляется по отношению к сканерам вместо dpi.
  • В большинстве случаев пиксели растра расположены равномерно по ширине и высоте, и для таких растров разрешающая способность одинакова по ширине и высоте. Если это не так (для некоторых принтеров и сканеров в частности), то в этом случае обычно пишут " 1200x2400 dpi ", где 1200 - разрешающая способность по горизонтали, а 2400 - по вертикали. Также термин разрешение употребляется в другом смысле - как размер растра в пикселях. Например, " разрешение экрана равно 1280x1024 ".

    С точки зрения представления цвета важны два параметра:

  • Цветовая гамма, это понятие было введено в предыдущей лекции (см. раздел 1.2);
  • Динамический диапазон (англ. dynamic range) - диапазон уровней яркости для данного устройства. Это понятие пришло из традиционной (пленочной) фото- и видеосъемки, в которой являлось одной из важных характеристик пленки. Важно отметить, что динамический диапазон зависит как от характеристик устройства отображения, так и от способа представления графической информации. Например, типично представление каждого из компонентов цвета в RGB-модели 8 битами, что дает всего 256 возможных уровней яркости.
  • Достаточно широкой цветовой гаммой обладают плазменные дисплеи и фотографическая пленка, а самой узкой - монохромные устройства (на диаграмме цветности соответствующаяся область вырождается в точку) (см. рис. 1.9).

    Для представления графической информации в памяти используется термин Глубина цвета (англ. color depth) - количество информации для представления одного цвета. Измеряется в bpp - bits per pixel (англ. бит на пиксель). Типичные значения: 1 (монохромное изображение), 8, 16, 24, 48.

    Более подробно это понятие рассматривается в разделе 2.4.

    2.2. Устройства ввода

    Сканеры

    Сканер - устройство получения изображений высокого разрешения (до 11000 spi). Принцип работы состоит в последовательном освещении сканируемого материала ксеноновой или флюоресцентной лампой и регистрации отраженного цвета ПЗСПЗС - "Прибор с Зарядовой Связью" (англ. CCD) матрицей (за исключением барабанных сканеров, где используется фотоумножитель). Если материал является полупрозрачным (например, фотопленка), то он, наоборот, подсвечивается с обратной к сенсору стороны.

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

  • Барабанные сканеры относятся к классу high-end. Сканируемый объект (чаще всего фотопленка) сначала вымачивается в специальном растворе, а затем помещается на барабан, который вращается перед перемещающимся в одном направлении фотоэлектронным умножителем. Эти устройства гораздо более чувствительны, чем ПЗС-матрицы, поэтому и разрешающая способность у них значительно выше - от 4000 до 11000 spi. Глубина цвета - 48 бит/пиксель. Такие сканеры имеют сравнительно крупные габариты.
  • Планшетные сканеры - преобладающий на данный момент тип сканеров. Под стеклом одного из стандартных размеров (чаще всего A4; реже A3) находится сканирующая головка, последовательно проходящая всю площадь под стеклом в процессе сканирования. Для сканирования фотопленки в крышку может быть встроена лампа подсветки (что и показано на рис. 2.1). Типичные разрешения - 600-3200 spi. Глубина цвета - до 48 бит/пиксель.
  • Протяжные сканеры предназначены для сканирования листов бумаги заданной ширины. Сканирущая головка перемещается только в одном направлении, а протяжной механизм обеспечивает последовательное смещение бумаги относительно сканирующей головки вдоль другого измерения. Такие устройства компактней планшетных сканеров и позволяют сканировать более протяженные в одном измерении материалы.
  • Ручные сканеры. Сканирующая головка перемещается над сканируемой поверхностью при помощи руки человека. Соответственно, для данного типа сканеров требуется более сложное программное обеспечение, которое обеспечивало бы правильное совмещение отдельных фрагментов (так как траектория перемещения руки не идеальна). К этому типу относятся самые компактные сканеры в форме авторучки. В связи со сравнительной трудоемкостью и сложностью обработки результатов в последнее время интерес к ним незначителен.
  • Слайд-сканеры похожи на планшетные, но предназначены специально для сканирования фотопленки. Важным отличием от первых является отсутствие стекла между сенсором и пленкой. Это важно, так как стекло является дополнительной промежуточной средой, преломляющей световые лучи и, соответственно, вносящей определенные искажения, заметные при сканировании с высоким разрешением.
  • (рис 2.1) Планшетный сканер.

    Цифровые фотоаппараты и видеокамеры

    (рис 2.2) Цифровой фотоаппарат.

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

  • Макросветофильтр
  • Первый вариант. Для получения одного изображения информация снимается с матрицы сенсора 3 раза подряд, при этом каждый раз используется светофильтр для одного из базисных цветов RGB. Этот процесс сравнительно медленный и сложный, поэтому такая технология применяется только в high-end цифровых фотокамерах при съемке неподвижных объектов.
  • Второй вариант. С помощью призмы поступающий световой поток разлагается на три, соответствующих базисным RGB цветам. Каждый из этих потоков направляется на свою ПЗС-матрицу. Поэтому эта технология получила название 3CCD. Она используется в видеокамерах верхнего ценового диапазона. Для фотографии она пока слишком дорога.
  • Микросветофильтры Каждый элемент ПЗС матрицы имеет свой светофильтр, соответствующий одному из базисных RGB цветов. Обычно в квадрате 2x2 располагаются 2 зеленых, 1 синий и 1 красный элемент, т.н. маска Байера (англ. Bayer mask), см. рис. 2.3. Для получения обычного изображения используются различные алгоритмы интерполяции. Это самая распространенная технология как для фото-, так и для видеокамер.
  • (рис 2.3) Маска Байера.

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

    Понятие разрешающей способности для таких устройств обычно не применяетсяхотя говорят о разрешающей способности с точки зрения фотографии - размере наименьшего различимого объекта . Часто употребляется понятие мегапиксель (Мп), равное общему количеству пикселей на матрице сенсора, деленному на 10242. Разрешение, как размер растра, варьируется от 640x480 (0,29 Мп) до 7216x5412 (39 Мп) для фотокамер и от 320x240 (0,07 Мп) до 7680x4320 (33 Мп) - для видеокамер.

    Глубина цвета у большинства фото- и видеокамер - стандартные 24 бита/пиксель. У профессиональных моделей она больше - до 48 бит/пиксель.

    Аспектовое соотношение у фотокамер - 4:3 (как у стандартных дисплеев) или 3:2 (соответствует пленке). У видеокамер - 4:3 или 16:9 (т.н. широкоэкранное видео).

    2.3. Устройства вывода

    Дисплеи

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

    Дисплеи на ЭЛТ

    Самый распространенныйс учетом телевизоров тип дисплеев среднего размера. Основан на использовании ЭЛТ - Электронно-Лучевой Трубки (англ. CRT). ЭЛТ устроена следующим образом.

    Электроны сначала ускоряются электромагнитным полем, а затем отклоняются в нужном направлении перпендикулярным полем (эта часть ЭЛТ называется пушкой ). При попадании на поверхность экрана они вызывают свечение установленных там частиц люминофора, которое и воспринимается наблюдателем. Чем большее ускорение (а следовательно, большую энергию) получил электрон, тем ярче светится люминофор. У цветных дисплеев имеется 3 пушки для каждого из базисных RGB-цветов, а по поверхности экрана равномерно распределены частицы люминофора, соответствующие базисным цветам. Чтобы электроны, выпущенные из соответствующей пушки, попали только на люминофор своего цвета перед экраном ставится щелевая маска или апертурная решетка. Время послесвечения люминофора незначительно, и изображение постоянно обновляется; для вывода одного кадра пушка выпускает электроны последовательно слева направо в каждой строке и по строкам снизу вверх. Количество обновлений всего изображения в секунду носит название частота обновления или частота развертки (англ. refresh rate). Она должна быть достаточно высокой (> 75 Гц), чтобы не возникало утомляющего глаза мерцания.

    (рис 2.4) Дисплей на ЭЛТ.

    Проблемой мониторов на ЭЛТ является то, что яркость свечения люминофора зависит от энергии попавшего на него электрона (в свою очередь определяемой напряжением в пушке Vs ) не линейно, а по закону $${\rm{I}} \sim {\rm{V_s^{\rm{ \gamma}}}}$$. Для большинства ЭЛТ $$\gamma \sim 2, 2$$. Для того чтобы компенсировать этот эффект, применяют т.н. гамма-коррекцию, т.е. подачу на пушку скорректированного напряжения $$V_{c} = V_{s}^{(1/\gamma )}$$.

    Гамма-коррекция может также осуществляться программно, соответствующим изменением цвета пикселей. Для цветных ЭЛТ дисплеев, вообще говоря, $$\gamma$$ своя для каждого из базисных RGB-цветов, но в простых системах это не учитывают.

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

    Разрешение зависит от плотности частиц люминофора на поверхности дисплея. Типичные значения - 85-130 ppi. Практически все ЭЛТ-дисплеи имеют аспектовое отношение 4:3.

    Жидкокристаллические дисплеи

    (рис 2.5) Жидкокристаллический дисплей.

    В настоящее время занимают доминирующую позицию (по сравнению с ЭЛТ) в качестве дисплеев персональных компьютеров. Единственный вид дисплеев, используемый в ноутбуках на настоящий момент. Устроены они следующим образом:

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

    Основными достоинствами жидкокристаллических дисплеев являются меньшие, чем у ЭЛТ-дисплеев, размер в глубину, вес и энергопотребление, большая четкость. Помимо этого отсутствует мерцание изображения, наблюдающееся у ЭЛТ-дисплеев, что приводит к меньшему утомлению глаз. Недостатками являются: худшая, чем у ЭЛТ-дисплеев, цветопередача; цветовые искажения при косых углах зрения; большое среднее время реакции (время переключения с одного цвета на другой, типичное значение - 25 мс, т.е. максимум 40 кадр/с), что приводит к "смазыванию" динамично меняющихся изображений (прежде всего в видео и компьютерных играх), а также недостаточно темный черный цвет (т.к. на самом деле не весь свет удается блокировать кристаллом).

    Типичное разрешение такое же, как и у ЭЛТ-дисплеев, - 85-130 ppi. Аспектовое отношение - 4:3 или 16:10 (т.н. широкоэкранные дисплеи ).

    Другие типы дисплеев

    Также существуют менее распространенные типы дисплеев, в том числе и те, которые только появляются на рынке.

  • Плазменные панели. В плазменных панелях, подобно ЖК-панелям, экран состоит из нескольких слоев; так же, как и у ЖК-панелей, с двух сторон подведены электроды, только между ними находятся уже не жидкие кристаллы, а смесь инертных газов неона и ксенона. При подаче напряжения на электроды через смесь газов начинает проходить ток, что приводит к испусканию ионов, которые, как и в ЭЛТ-дисплеях, попадая на находящиеся в верхнем слое частицы люминофора вызывают его свечение. Так как в плазменных дисплеях используется люминофор, подобный тому, что используется в ЭЛТ-дисплеях, то и цветовые гаммы у них близки. Основные достоинства: они имеют малую глубину (порядка 10 см) и в то же время легко можно получить дисплей большого размера; помимо этого они обладают отличной яркостью. К недостаткам следует отнести высокую цену и большое энергопотребление, сравнимое с ЭЛТ для одинаковой площади экрана.
  • Дисплеи на светодиодах. Светоизлучающий диод (англ. LED - Light Emission Diode) - это полупроводниковый диод, обладающий дополнительным свойством испускания фотонов определенного цвета при прохождении через него электрического тока. Для построения цветного дисплея для каждого пикселя берется три светодиода - с соответствующими красному, зеленому и синему цветами излучения. Множество таких троек, расположенных на прямоугольной сетке, и образуют экран. Используются в основном для больших наружных дисплеев (реклама и т.п.).
  • Дисплеи на органических светодиодах. Органические светодиоды (англ. OLED - Organic LED) - это светодиоды, при производстве которых используются органические материалы, в частности полимеры, которые обладают свойством гибкости, что позволяет производить гибкие дисплеи. Также их достоинством является то, что их можно производить путем процесса, напоминающего струйную печать, т.е. сравнительно дешево. В настоящее время они используются в основном в портативных устройствах, таких как MP3-плейеры, но возможно найдут более широкое применение в будущем.
  • "Электронная бумага". Гибкие дисплеи, способные заменить обычную бумагу. От других типов отличаются тем, что рассчитаны не на постоянное обновление изображения, а наоборот, на его длительное сохранение без электрической энергии. Это является одним из основных требований. Разработано несколько технологий, удовлетворяющих этим требованиям, на данный момент они находятся на стадии прототипов.
  • Существуют еще некоторые перспективные технологии, которые потенциально могут служить для производства дисплеев, но они остаются за рамками данной книги ввиду своей незрелости.

    Проекторы

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

  • Проекторы на ЭЛТ . Эта технология рассмотрена выше в разделе про ЭЛТ-дисплеи.
  • Проекторы на ЖК. Эта технология рассмотрена выше в разделе про ЖК-дисплеи.
  • Проекторы на технологии DLP. DLP - Digital Light Processing (англ. Цифровая Обработка Света) - фирменная технология компании Texas Instruments. Для создания первичного изображения в таких проекторах используется лампа, освещающая систему микрозеркал (по одному на пиксель). При постоянном быстром изменении положения этих зеркал от полного пропускания света до полного его блокирования получаются оттенки серого. Для получения цветного изображения используют два метода: либо вращающийся цветовой круг с базисными RGB-цветами (при прохождении соответствующего светофильтра электромеханика подстраивает зеркала для соответствующего цветового канала), либо белый свет сначала разлагается призмой, затем поток для каждой RGB-компоненты проходит через свою систему зеркал, и потом они вновь соединяются.
  • Следует отметить, что для проекторов требуются внутренние дисплеи повышенной яркости, так как площадь изображения при проецировании значительно увеличивается.

    Типичное разрешение - 1024x768, а максимальное достигает 2048x1080 для некоторых DLP-моделей. Типичное аспектовое отношение - 4:3, хотя есть и разные широкоэкранные варианты.

    Принтеры

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

    Следует заметить, что многие принтеры сами по себе могут иметь довольно сложные встроенные Процессоры Растровых Изображений (англ. RIP - Raster Image Processor), служащие для формирования растровых изображений. Чаще всего такой процессор может растеризовать изображение, описанное программой на языке PostScript [11] или PCLангл. Printer Control Language, разработан фирмой Hewlett Packard., которые были специально созданы для этих целей. Тем не менее в последнее время возможность аппаратной растеризации мало используется, и большинство изображений приходит в принтер в виде готовых растров, так как программная растеризация - это более гибкий подходИногда это называют "Software RIP"..

    Матричные принтеры

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

    Разрешающая способность - от 60x72 до 360x360 dpi.

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

    Струйные принтеры

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

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

    Разрешающая способность - от 600x300 до 5760x1440 dpi.

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

    Лазерные принтеры

    Лазерные принтеры являются самыми эффективными с точки зрения стоимости печати страницы. В настоящее время преобладают в черно-белой печати.

    Принцип действия следующий:

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

    Разрешающая способность - от 300 до 1200 dpi.

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

    2.4. Архитектура графической подсистемы ПК

    Архитектура

    За вывод графической информации на дисплей в ПК отвечает специальный набор микросхем, обычно помещаемый на отдельную плату, которая называется видеоплатой или видеокартой. Основной задачей является преобразование образа экрана, находящегося в памяти, т.н. кадрового буфера (англ. frame buffer), в набор сигналов, понятных дисплею. Для подключения дисплеев к компьютерам используются стандарты, устанавливающие логические и физические параметры соединения. В настоящее время два самых распространенных из них - это аналоговый VGA и цифровой DVI. Первый используется для подключения как аналоговых по сути дисплеев на ЭЛТ, так и цифровыхЖК-дисплеев (аналого-цифровое преобразование в этом случае происходит в самом дисплее), второй - исключительно для ЖК-дисплеев.

    На видеокарте присутствует видеопамять, характерной особенностью которой является то, что она двухпортовая - подсоединена как к шине, по которой передаются данные от центрального процессора, так и к микросхеме, отвечающей за вывод на дисплей, и они могут одновременно обращаться к ней. В дешевых устройствах в качестве видеопамяти используется часть основной памяти, что значительно замедляет обработку данных на видеокарте. Объем памяти должен быть достаточным для хранения данных кадрового буфера, а желательно еще и вторичного буфера (англ. back buffer), если используется технология двойной буферизации. Дело в том, что если менять значения пикселей прямо в момент вывода их на экран, то при высокой частоте обновления могут возникать артефакты, связанные с тем, что на экран выводится еще не отрисованное до конца изображение. Чтобы этого избежать, при двойной буферизации во время вывода изображения из области видеопамяти, которая назначена кадровым буфером (называемым в этом случае также первичным буфером (англ. front buffer)), изображение следующего кадра строится во вторичном буфере, а при показе следующего кадра эти области памяти меняются ролями. Эта технология используется для показа динамичных изображений, таких как игры. Дополнительная видеопамять также ускоряет обработку графики, позволяя держать дополнительные графические элементы, которые отображаются в кадровом буфере с помощью блиттинга (об этом см. ниже).

    Доступ к видеопамяти со стороны процессора может быть организован двояко - либо видеопамять, как часть адресов, включается в адресное пространство процессора, либо для копирования данных между основной и видеопамятью контроллеру на видеокарте посылается специальная команда и копирование происходит с помощью DMA (от англ. Direct Memory Access - микросхема, позволяющая осуществлять передачу данных в/из оперативной памяти периферийным устройствам без участия центрального процессора).

    Микросхема, отвечающая за вывод на дисплей, постоянно сканирует видеопамять, преобразует ее в форму, соответствующую интерфейсу дисплея, и формирует выходной сигнал, передаваемый по кабелю на дисплей (см. рис. 2.6). Если видеоплата оснащена аналоговым выходом, то в нее должен быть встроен цифро-аналоговый преобразователь, называемый RAMDAC - Random Access Memory Digital to Analog Converter. Так как информация о пикселях передается последовательно, то RAMDAC должен обладать достаточно высокой тактовой частотой, чтобы позволять выводить изображения высокого разрешения с достаточной частотой обновления. Например, изображение 1600x1200 для вывода с частотой 75 Гц требует частоты RAMDAC равной 1600x1200x75 = 144 МГц. Частота работы RAMDAC является важной характеристикой видеокарты.

    (рис 2.7) Архитектура видеоподсистемы ПК.(рис 2.6) Пример отрисовки спрайтов.

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

  • Работа с прямоугольными блоками. Эта микросхема называется блиттер, потому что основная операция которую она производит - это BitBlt (Bit Block Transfer), то есть копирование прямоугольного блока изображения в другое изображение с возможным применением побитовых логических операций ( И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ ). Это часто используемая операция для помещения объектов произвольной формы, т.н. спрайтов, на изображение. Пример того, как это можно сделать с помощью двух BitBlt операций см. на рис. 2.7 (для понимания необходимо учесть, что пиксели черного цвета состоят из одних 0 битов, а белого - из одних 1 битов). Также видеокарта может поддерживать операцию StretchBlt, - это то же самое, что и BitBlt, но с растяжением по осям.
  • Растеризация примитивов позволяет производить растеризацию простейших объектов, таких как отрезки, окружности, эллипсы, прямоугольники, многоугольники. Также может поддерживаться заливка одноцветных зон другим цветом или по шаблону. При этом может использоваться и аппаратный антиалиасинг. Эти алгоритмы подробно рассмотрены в данной книге. К этой группе также можно отнести аппаратную поддержку отрисовки курсора.
  • Поддержка вывода символов. Этот блок отвечает за вывод символов на экран определенным шрифтом. Иногда шрифт можно варьировать или загружать из основной памяти свой. Данный блок активно используется, когда видеокарта находится в текстовом режиме, когда дисплей логически делится на определенное количество прямоугольных ячеек, чаще всего 80x25, в каждую из которых может быть помещен один символ из ограниченного поднабора ASCIIAmerican Standard Code for Information Interchange - распространенная 8-битная кодировка символов . Вид каждого из этих символов определяется в специальной таблице видеокарты, которая может быть изменена. В настоящее время этот режим используется при загрузке ПК, а также при работе в режиме терминала (чаще используется в ОС Linux), см. рис. 2.8.
  • Аппаратное ускорение видео и фильтрация изображения. Кодирование и декодирование видео - очень ресурсоемкая операция, связанная с обработкой больших объемов данных. Некоторые видеокарты способны аппаратно декодировать видеопоток, т.е. последовательность сжатых видеоданных, которая соответствует определенному формату. Чаще всего это стандарт MPEG-2сокр. от Motion Picture Experts Group - группа исседователей, разработавшая данный стандарт , которым закодированы фильмы на DVDDigital Video Disc - самый распространенный стандарт цифрового видео . В современных видеокартах также начинает появляться поддержка Телевидения высокой четкости (англ. HDTV - High Definition Television). Также возможно и аппаратное масштабирование видео. Аппаратное отображение видео в части экрана носит название оверлея (англ. overlay). Некоторые видеокарты также могут аппаратно производить фильтрацию изображений (см. лекцию 8), а также осуществлять гамма-коррекцию (см. раздел 2.3).
  • Практически все современные видеокарты содержат также процессор обработки трехмерной графики, но эта тема выходит за рамки данной книги.

    Дополнительно на той же плате часто выведены стандартные разъемы для подключения телевизоров и видеотехники (т.н. TV In/Out) и установлены микросхемы первичной обработки этой информации, в частности, YUV/RGB преобразования.

    Некоторые современные видеокарты позволяют подключать сразу несколько дисплеев одновременно.

    Представление изображений

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

    По глубине цвета изображения делятся на:

    Глубина цвета в bpp Название Примечания
    1 Монохромное Представимы 2 цвета - черный и белый
    8 Палитровое Байт является индексом в таблице палитры, с помощью этой палитры представимо любое 256-элементное подмножество всех True Color цветов
    8 Полутоновое (Оттенки серого) Содержит только один канал интенсивности без цветовой информации с точностью 8 бит. Можно рассматривать как подвид палитрового, где элементы палитры соответствуют оттенкам серого
    16 High Color Полноцветное, количество бит на каждую компоненту R-G-B: 5-5-5 (т.е. на самом деле 15 бит, один не используется) или 5-6-5
    24 True Color Полноцветное, на каждую из RGB компонент по 8 бит
    32 True Color То же самое, что и предыдущее, только добавляется еще один байт для выравнивания информации по машинному слову. Этот байт может также использоваться как альфа-канал, т.е. задавать степень прозрачности

    2- и 4-битные режимы CGA и EGA, применявшиеся в ПК в 1980-х гг., но устаревшие на данный момент, в таблице не представлены.

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

    Как нетрудно подсчитать, True Color позволяет представить 16,7 млн возможных оттенков, чего вполне достаточно для полноценного восприятия человеком большинства фотографий. В то же время, в некоторых случаях заметна недостаточность диапазона яркости. Серьезной проблемой является также потеря точности при операциях над пикселями с целочисленным описанием. Например, при работе в True Color режиме сначала уменьшим яркость в два раза, а затем увеличим. При этом младший значащий бит каждого компонента обнулится, т.к. сначала биты были сдвинуты вправо, а потом обратно влево с дополнением 0. Поэтому, несмотря на то, что графическая подсистема ПК пока может воспроизводить изображения с не более чем 8 бит/канал, некоторые программы обработки изображений имеют режим 16 бит/канал (48 bpp), служащий для предотвращения потери точности при редактировании.

    К тому же некоторые из устройств ввода, рассмотренных выше, позволяют получать изображения с большей глубиной цвета. Некоторые high-end видеокарты уже способны работать с точностью 10 и 12 бит/канал (т.е. 30 и 36 bpp).

    В последнее время становится достаточно популярной концепция Изображений с увеличенным динамическим диапазоном (англ. HDRI - High Dynamic Range Images), которые могли бы одновременно описывать очень разную степень освещенности, комбинируя, например, съемку фотоаппаратом сразу с несколькими значениями экспозиции. Во многих реализациях каждый канал описывается числом с плавающей точкой одинарной точности (размером 32 бита). Современные дисплеи могут однако показывать такие изображения только с определенной экспозицией.

    Программный интерфейс

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

    (рис 2.8) Текстовый режим в ОС Linux.

    Потом появились карты с графическими возможностями. В связи с малым размером адресного пространства (1 Мб) процессора Intel 8086 приходилось отображать только часть видеопамяти в адресное пространство процессора и специальными командами задавать, какая именно это часть. Такая технология получила название bank switching. Команды видеокарте посылались путем прерываний или записи информации непосредственно в ее аппаратный порт. Для использования дополнительных возможностей видеокарт разработчикам прикладных программ и игр приходилось самим реализовывать простейшие операции для каждого их типа, т.к. поддержка видеокарт со стороны ОСОперационная Система была минимальной.

    С появлением ОС с графическим интерфейсом ситуация изменилась. Прослойка между прикладной программой и аппаратурой стала "толще". Непосредственно на низком уровне видеокартой управляет ее драйвер - программа, поставляемая, как правило, самой фирмой-разработчиком видеокарты. А прикладная программа обращается к нему через вызовы четко определенного общего для всех драйверов абстрактного интерфейса (англ. API - Application Programming Interface). Таким образом, появилась аппаратная независимость, что явилось важным шагом вперед, с учетом все более разраставшегося множества видеокарт с ограниченной совместимостью друг с другом.

    (рис 2.9) Графический интерфейс ОС Windows XP.

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

    В UNIX-подобных ОС графический интерфейс предоставляется системой X Windows, работающей по принципу "клиент-сервер". Программа-клиент отправляет какой-либо запрос API по сети (хотя для самой программы это выглядит как просто вызов функции); получив этот запрос, программа-сервер отвечает за его исполнение. Хотя такая схема и является гибкой (можно, например, иметь несколько дисплеев у одного компьютера или, наоборот, много компьютеров, подключенных к одному дисплею), но в то же время она требует и дополнительных затрат на передачу данных по сетевому протоколу. На самом деле, в ПК не используется эта гибкость, а все запросы передаются в рамках одной системы (через разделяемую между процессами клиента и сервера память).

    Вернуться к учебному плану