Сделай Сам Свою Работу на 5

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

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

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

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

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

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

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



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

При этом, вывод каждой точки будет происходить с частотой:

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

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

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

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

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

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

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

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

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

 

 

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

В графическом режиме имеется возможность индивидуального управления свечением каждой точки экрана независимо от остальных. Обозначение этого режима следущее: GrAPA (Graphics All Points Addressable) - графический,все точки адресуемы.

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

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

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

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

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

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

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

Принципы организации видеопамяти.

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

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

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

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

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

V= pxnxb

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

 

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

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

Графический конвейер (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 бита на пиксел). Конечно же, эти цели достигаются не ускорением расчетов для каждого элемента модели, а разными приемами вроде текстур.

 



©2015- 2019 stydopedia.ru Все материалы защищены законодательством РФ.