Главная страница
Навигация по странице:

  • 1. Общая характеристика методов вывода изображений.

  • Графический режим.

  • Трехмерное изображение

  • Лекция 3Принципы вывода изображений. Лекция Принципы вывода изображений


    Скачать 209 Kb.
    НазваниеЛекция Принципы вывода изображений
    АнкорЛекция 3Принципы вывода изображений.doc
    Дата13.08.2018
    Размер209 Kb.
    Формат файлаdoc
    Имя файлаЛекция 3Принципы вывода изображений.doc
    ТипЛекция
    #22886

    Лекция 3. Принципы вывода изображений.
    Вопросы:

    1. Общая характеристика методов вывода изображений.

    2. Графический режим.

    3. Текстовый режим.

    4. Трехмерная графика и способы обработки видеоизображений.


    Литература: [1.] с. 468-498
    С самого начала видео систему компьютера стремились поострить по принципу WYSIWYG (What You See Is What You Get=Что имеешь, то и видишь) Стремление к этим идеалам обеспечивает неуклонный прогресс видео систем и использование компьютерных технологий для хранения точных копий произведения искусства в электронном виде. Что в настоящее время является одной из востребованных и больших проблем.
    1. Общая характеристика методов вывода изображений.

    Существуют два основных метода вывода изображения: векторный метод и растровый метод.

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

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



    пиксель


    Рис. 3.1

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














    Рис.3.2.

    Так, как инерционность зрения человека находится на частоте 40-60 Гц, то частота смена кадра не должна быть ниже этого значения, чтобы человек не мог заметить эту смену, т.е. на уровне 50Гц. Для обеспечения качественного изображения на экране луч должен иметь как можно больше количество светящихся точек на экране. Например: 600 строк по 800 точек каждая строка, но при этом луч долен прочертит еще невидимые строки, то же 600. Следовательно частота строк составит:

    50Гц х (600+600)=60 000 Гц= 60 кГц

    При этом , для вывода каждой точки необходима частота:

    60кГц х 800= 48000кГц= 48 мГц

    А это уже высокая частота для электронных схем.

    Кроме того, соседние точки выводимого сигнала не связаны друг с другом, поэтому частоту управления интенсивностью луча должна быть еще увеличена на 25% и тогда составит около 60 мГц.

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

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

    нечетные строки – в другом полукадре.

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

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


    1. Графический режим.

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

    G r (Graphics) графический;

    APA (All Points Addressable) все точки адресуемы.

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

    Количество бит памяти, отводимое на каждый пиксел, определяет возможное состояние цветов пиксела, его яркость, мерцание и др. Например, при 1 бите на пиксел возможно только 2 состояния6 светится или не светится пиксел.

    При 2 битах на пиксел – 4 цвета на экране;

    при 4 битах на пиксел – 16 цветов на экране;

    при 8 битах на пиксел – 256 цветов на экране – цветная фотография;

    В настоящее время имеем 15 или 16 бит на пиксел (режим HighColor), что соответствует 65 536 цветов, а при 24 битах на пиксел (режим TruColor) соответствует 16,7 миллиона цветов.

    При 15 или 24 битах на пиксел распределение между базисными цветами К:З:С равномерное, при 16 битах – не равномерное с учетом восприятия цветов ( 5:6:5 или 6:6:4).
    2.1. Принципы организации видеопамяти.

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

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








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

    Рис. 3.3, а . Линейное отображение групп памяти 1 бит на пиксел.

    4



    Пиксел 3







    Рис.3.3,б. Линейное отображение групп памяти 2 бит на пиксел.



    Рис. 3.4. Многослойное отображение пикселов памяти
    Таким образом, объем видеопамяти (в битах) V, требуемый для хранения образа экрана, определяется, как произведение количества пикселов p в строке на количество строк n и на количество бит на пиксел b.

    V= pxnxb

    Так, для режима HGC 720 х 350 с одним битом на точку он составляет 252 000 бит или около 31 Кбайт, а 800 х 600 х 256 цветов — 480 000 бит или около 469 Кбайт.

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

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

    1. Повышение быстродействия памяти.

    2. Расширение разрядности шин графического адаптера, причем как внутренней (шины видеопамяти), так и интерфейсной.

    3. Повышение скорости видеопостроений с помощью кэширования видеопамяти или затенением видеопамяти, что, по сути, почти одно и то же. В этом случае при записи в область видеопамяти данные будут записаны как в видеопамять, так и в ОЗУ (или даже в кэш), а при считывании из этой области обращение будет только к быстродействующему ОЗУ.

    4. Принципиальное сокращение объема информации, передаваемой графическому адаптеру за счет наделения адаптера своим «интеллектом», т.е. процессором.

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

    2.2.Особенности работы видеоадаптера.

    К основным типам команд «интеллектуального» видео адаптера относятся:

    - Команды рисования(Drawing Commands) обеспечивают построение графических примитивов — точки, отрезка прямой, прямоугольника, дуги, эллипса. Примитивы такого типа в командах описываются в векторном виде, что гораздо компактнее, чем их растровый образ. Таким образом, удается значительно сокра­тить объем передаваемой графической информации за счет применения более эффективного способа описания изображений. К командам рисования относит­ся и заливка замкнутого контура, заданного в растровом виде, некоторым цветом или узором (pattern). Она ускоряется особенно эффективно: при программной реализации процессор должен просмотреть содержимое видеопамяти вокруг за­данной точки, двигаясь по всем направлениям до обнаружения границы контура и изменяя цвет пикселов на своем пути.

    - Копирование блокас одного места экрана на другое применяется для «прокрутки» изображения экрана в разных направлениях. Эта команда сводится к пересылке блока бит — BitBIT(Bit Block Transferring), и эта операция интеллектуальным адаптером может быть сильно ускорена.

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

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

    Вышеописанные функции интеллектуального адаптера относятся к двумерной графике (2D).

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

    Ускорение построений в интеллектуальном адаптере обеспечивается несколькими факторами:

    Во-первых, это сокращение объема передачи по магистрали.

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

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

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

    Современные адаптеры с ЗD-акселераторами (самые критичные к производительности памяти) строятся на памяти SGRAM (SDRAM) со 128-разрядной шиной, а в самых мощных применяется память с удвоенной частотой передачи DDR SGRAM/SDRAM.

    Для построения сложных трехмерных изображений графическому акселератору будет явно тесно в ограниченном объеме видеопамяти. Для обеспечения доступа к основной памяти компьютера он должен иметь возможность управления шиной (bus mastering). Специально для мощных графических адаптеров в 1996 году появился новый канал связи с памятью — AGP(Accelerated Graphic Port). Обеспечив высокую пропускную способность порта, разработчики AGP предложили технологию DIME(Direct Memory Execute). По этой технологии графический акселератор является мастером шины AGP и может пользоваться основной памятью компьютера для своих нужд при трехмерных построениях. Например, в основной памяти могут храниться текстуры, которые акселератор накладывает на трехмерные поверхности. При этом снимается ограничение на размер описания текстур, которые без AGP приходится держать в ограниченном объеме видеопамяти. На дешевое решение проблемы «тесноты» нацелена и архитектура однородной памяти UMA, которая может быть реализована с помощью AGP. Однако AGP позволяет сохранить и локальную память на графическом адаптере (видеобуфер) и расширение доступной памяти не отзывается снижением производительности.


    1. Текстовый режим.

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

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

    В ячейке видеопамяти хранится код символа, определяющий его индекс в таблице символов, и атрибуты символа, определяющие вид его отображения. К атрибутам относится цвет фона, цвет символа, инверсия, мигание и подчеркивание символа. Поскольку изначально в дисплеях использовали только алфавитно-цифровые символы, такой режим работы иногда сокращенно называют AN(Alpha-Numerical — алфавитно-цифровой), но чаще — TXT(text — текстовый), что корректнее: символы псевдографики, которые широко применяются для оформления текстовой информации, к алфавитно-цифровым не отнесешь.

    В текстовом режиме экран организуется в виде матрицы знакомест, образованной горизонтальными линиями LIN (Line) и вертикальными колонками COL (Column). Этой матрице соответствует аналогичным образом организованная видеопамять. Адаптер, работающий в текстовом режиме, имеет дополнительный блок — знакогенератор. Во время сканирования экрана выборка данных из очередной ячейки видеопамяти происходит при подходе к соответствующему знакоместу (рис. 3.5), причем одна и та же ячейка видеопамяти будет выбираться при проходе по всем строкам растра, образующим линию знакомест. Считанные данные попадают в знакогенератор, который вырабатывает построчную развертку соответствующего символа — его изображение на экране.

    Знакогенератор представляет собой запоминающее устройство — ОЗУ или ПЗУ. На его старшие адресные входы поступает код текущего символа из "видеопамяти, а на младшие — номер текущей строки в отображаемой линии знакомест. Выходные данные содержат побитную развертку текущей строки разложения символа (в графическом режиме эти данные поступали из видеопамяти). Необходимый объем памяти знакогенератора определяется форматом знакоместа и количеством отображаемых символов. Самый «скромный» знакогенератор имеет формат знакоместа 8х8 точек, причем для алфавитно-цифровых символов туда же входят и межсимвольные зазоры, необходимые для читаемости текста. Поскольку в PC принято 8-битное кодирование символов, для такого знакогенератора требуется 8х28 =2К 8-разрядных слов. Лучшую читаемость имеют матрицы 9 х14и9х16 символов. Если знакогенератор выполнен на микросхеме ПЗУ, то набор отображаемых символов оказывается жестко фиксированным (в лучшем случае переключаемым, для чего может использоваться несколько выбираемых банков памяти знакогенератора). Для знакогенераторов на ПЗУ изменение таблицы символов (например, русификация) становится сложным делом.



    Рис. 3.5. Формирование изображения в текстовом режиме

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


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


    Потребности работы с трехмерными изображениями или ЗD-графикой (3Dimensions — 3 измерения), имеются в широком спектре приложений — от игр до систем автоматического проектирования, используемых в архитектуре, машиностроении и других областях. Конечно же, компьютер оперирует не самими трехмерными объектами, а их математическими описаниями. Трехмерное приложение оперирует объектами, описанными в некоторой системе координат. Чаще всего здесь используется ортогональная, она же декартова, система координат, в которой положение каждой точки задается ее расстоянием от начала координат по трем взаимно перпендикулярным осям X, Y и Z. В некоторых случаях используется и сферическая система координат, в которой положение точки задается удалением от центра и двумя углами направления. Большинство устройств визуализации, имеет лишь плоский (двумерный) экран, с помощью которого необходимо создать иллюзию трехмерного изображения.

    Графический конвейер (Graphic Pipeline) — это некоторое программно-аппаратное средство, которое преобразует действительное описание объектов в матрицу ячеек видеопамяти растрового дисплея. Его задача — создать иллюзию этого изображения.

    Взаимное расположение объектов относительно друг друга и их видимость зафиксированным наблюдателем обрабатывается на первой стадии графического конвейера, называемой трансформацией (Transformation). На этой стадии выполняются вращения, перемещения и масштабирование объектов, а затем и преобразование из глобального пространства в пространство наблюдения (world-to-viewspace transform), а из него и преобразование в «окно» наблюдения (viewspace-to-window transform), включая и проецирование с учетом перспективы. При преобразовании из глобального пространства в пространство наблюдения (до него или после) выполняется удаление невидимых поверхностей, что значительно сокращает объем информации, участвующей в дальнейшей обработке.

    На следующей стадии конвейера (Lighting) определяется освещенность (и цвет) каждой точки проекции объектов, обусловленной установленными источниками освещения и свойствами поверхностей объектов.

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

    Весь процесс создания растрового изображения трехмерных объектов называется рендерингом (rendering). Рендеринг модели может производиться только поэлементно. Результатом создания объемов является набор многоугольников (обычно четырехугольников или треугольников, с которыми манипулировать проще), аппроксимирующих поверхности объектов. Плоское растровое представление должно формироваться с учетом взаимного расположения элементов (их поверхностей) — те из них, что ближе к наблюдателю, естественно, будут перекрывать изображение более удаленных элементов. Многоугольники, оставшиеся после удаления невидимых поверхностей, сортируются по глубине: реалистичную картину удобнее получать, начиная обработку с наиболее удаленных элементов. Для учета взаимного расположения применяют так называемый Z-буфер, названный по имени координаты третьего измерения. Этот буфер представляет собой матрицу ячеек памяти, каждая из которых соответствует ячейке видеопамяти, хранящей цвет одного пиксела. В процессе рендеринга для очередного элемента формируется его растровое изображение (bitmap) и для каждого пиксела этого фрагмента вычисляется параметр глубины Z (координатой его можно назвать лишь условно). В видеопамять этот фрагмент поступает с учетом результата попикселного сравнения информации из Z-буфера, с его собственными значениями. Если глубина Z данного пиксела фрагмента оказывается меньше величины Z той ячейки видеопамяти, куда должен попасть этот фрагмент, это означает, что выводимый элемент оказался ближе к наблюдателю, чем ранее обработанные, отображение которых уже находится в видеопамяти. В этом случае выполняется изменение пиксела видеопамяти, а в ячейку Z-буфера видеопамяти помещается новая величина, взятая от данного фрагмента. Если же результат сравнения иной, то текущий пиксел фрагмента оказывается перекрытым прежде сформированными элементами, и его параметр глубины в Z-буфер не попадет. Z-буфер позволяет определить взаимное расположение текущего и ранее сформированного пиксела, которое учитывается при формировании нового значения пиксела в видеопамяти. От разрядности Z-буфера зависит разрешающая способность графического конвейера по глубине.

    В последнее время стали использовать и трехмерные текстуры (3D textures) — трехмерные массивы пикселов. Они позволяют, например, имитировать объем­ный туман, динамические источники света (языки пламени).

    Реализация рендеринга требует значительного объема вычислений и оперирования с большими объемами информации, причем конечная цель потока обработанных данных — видеопамять графического адаптера. Решением проблемы вывода трехмерной графики, как и раньше, явилось усиление «интеллекта» графической карты — появились ЗD-акселераторы, реализующие значительную часть графического конвейера. На долю центрального процессора обычно выпадает начало конвейера, а его окончание (растеризация) выполняется акселератором графической карты.

    Как ни странно, основным двигателем прогресса ЗD-технологий являются игры — именно любители компьютерных игр являются главными (самыми мас­совыми) потребителями ЗD-акселераторов. Более «серьезные» применения дви­жущейся трехмерной графики — различные тренажеры-имитаторы полетов и езды — по сути тоже являются играми, только для серьезных людей. Трехмерная анимация, применяемая в современном телевидении и кинематографии, пока что реализуется не на массовых персональных компьютерах, а на более мощных ра­бочих станциях, но и там используются практически все вышеописанные эле­менты технологии.

    Технологии построений, выполняемых ЗD-акселераторами, постоянно совершенствуются, и описать все применяемые приемы просто невозможно. Все новшества нацелены на достижение фотореалистических изображе­ний игровых сцен с большой скоростью смены кадров (до 100 кадров/с), на экранах с большим разрешением (до 2048 х 1536) и в полноцветном режиме (True Color, 32 бита на пиксел). Конечно же, эти цели достигаются не ускорением расчетов для каждого элемента модели, а разными приемами вроде текстур.


    написать администратору сайта