Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Компьютерная графика.doc
Скачиваний:
44
Добавлен:
10.12.2018
Размер:
572.93 Кб
Скачать

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

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

  • растровая развертка в реальном времени;

  • групповое кодирование;

  • клеточная организация;

  • память буфера кадра.

4.1. Растровая развертка в реальном времени

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

4.2. Групповое кодирование

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

Интенсивность

Длина участка

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

Интенсивность красного

Интенсивность зеленого

Интенсивность синего

Длина участка

Сжатие данных для изображений, закодированных группами, может приближаться к 10:1. Это существенно не только потому, что групповое кодирование просто экономит память, но и потому, что оно экономит память для машинно-синтезированных последовательностей кадров или фильма. Оно также экономит время передачи изображения по сети.

У группового кодирования есть и недостатки:

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

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

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