Введение

Структура данных на основе матриц

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

Этимология

Слово "растр" происходит от латинского rastrum (гребень), которое, в свою очередь, произошло от radere (скрести, соскребать). Изначально оно связано с растровым сканированием видеомониторов на электронно-лучевой трубке (ЭЛТ), которые формируют изображение, последовательно прорисовывая линии с помощью управляемого магнитным или электростатическим полем сфокусированного электронного луча. По аналогии, "растр" также может обозначать прямоугольную сетку пикселей. Слово "раструм" сейчас используется для обозначения устройства для проведения линий нотной бумаги.

Модель данных

Основная стратегия, лежащая в основе растровой модели данных, – это разбиение плоскости на двухмерный массив квадратов, каждый из которых называется ячейкой или пикселем (от "элемент изображения"). В цифровой фотографии плоскость представляет собой визуальное поле, проецируемое на светочувствительный сенсор; в компьютерной графике плоскость – виртуальный холст; в географических информационных системах плоскость – проекция земной поверхности. Размер каждого квадратного пикселя, известный как разрешение или поддержка, постоянен по всей сетке. Растровые или сетчатые данные могут быть результатом процедуры растеризации. Затем для каждого пикселя сохраняется одно числовое значение. Для большинства изображений это значение представляет собой видимый цвет, но возможны и другие измерения, вплоть до числовых кодов для качественных категорий. Каждая растровая сетка имеет заданный формат пикселей, определяющий тип данных для каждого числа. Распространенные форматы пикселей включают бинарный, оттенки серого, палитризованный и полноцветный, где глубина цвета определяет точность цветопередачи, а цветовое пространство – диапазон цветового охвата (который часто меньше полного диапазона человеческого цветового зрения). Большинство современных полноцветных растровых форматов представляют цвет, используя 24 бита (более 16 миллионов различных цветов), с 8 битами (значения 0–255) для каждого цветового канала (красный, зеленый и синий). Цифровые сенсоры, используемые для дистанционного зондирования и астрономии, часто способны обнаруживать и хранить длины волн за пределами видимого спектра; большой матричный сенсор CCD в обсерватории им. Веры С. Рубин захватывает 3,2 гигапикселя в одном изображении (6,4 ГБ в необработанном виде) по более чем шести цветовым каналам, которые превышают спектральный диапазон человеческого цветового зрения.

Сжатие

Растровые сетки высокого разрешения содержат большое количество пикселей и, следовательно, потребляют значительный объем памяти. Это привело к разработке множества подходов для сжатия объема данных в более компактные файлы. Наиболее распространенная стратегия заключается в поиске закономерностей или трендов в значениях пикселей, а затем хранении параметризованного представления этой закономерности вместо исходных данных. К распространенным алгоритмам сжатия растровых изображений относятся кодирование длин серий (RLE), JPEG, LZ (лежащий в основе PNG и ZIP), Lempel–Ziv–Welch (LZW) (лежащий в основе GIF) и другие. Например, кодирование длин серий ищет повторяющиеся значения в массиве и заменяет их значением и количеством повторений. Таким образом, вышеуказанный растр можно представить следующим образом:

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

Растровое-векторное преобразование

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

Дисплеи

Ранние механические телевизоры, разработанные в 1920-х годах, использовали принципы растровой развертки. Электронные телевизоры, основанные на дисплеях с электронно-лучевой трубкой, растрово сканируются горизонтальными растрами, рисуемыми слева направо, а растровые линии – сверху вниз. Современные плоскопанельные дисплеи, такие как LED-мониторы, по-прежнему используют растровый подход. Каждый пиксель на экране напрямую соответствует небольшому количеству битов в памяти. Обновление экрана происходит путем последовательного сканирования пикселей и их окрашивания в соответствии с соответствующим набором битов. Процедура обновления, критичная к скорости, часто реализуется специализированной схемой, как правило, являющейся частью графического процессора. При таком подходе компьютер содержит область памяти, хранящую все данные, предназначенные для отображения. Центральный процессор записывает данные в эту область памяти, а видеоконтроллер считывает их оттуда. Биты данных, хранящиеся в этом блоке памяти, соответствуют будущему расположению пикселей, которые будут использованы для формирования изображения на дисплее. Ранний сканированный дисплей с растровой компьютерной графикой был изобретен в конце 1960-х годов А. Майклом Ноллом в Bell Labs, однако его патентная заявка, поданная 5 февраля 1970 года, была отклонена Верховным судом в 1977 году из-за вопроса о патентоспособности компьютерного программного обеспечения.

Печать

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

Трехмерные растры

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

Географические информационные системы

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

Резолюция

Растровые изображения зависят от разрешения, то есть они не могут быть масштабированы до произвольного разрешения без потери воспринимаемого качества. Это свойство контрастирует с возможностями векторной графики, которая легко масштабируется до качества устройства, на котором она отображается. Растровая графика более практична, чем векторная, для работы с фотографиями и фотореалистичными изображениями, в то время как векторная графика часто лучше подходит для верстки или графического дизайна. Современные компьютерные мониторы обычно отображают от 72 до 130 пикселей на дюйм (PPI), а некоторые современные потребительские принтеры могут достигать разрешения 2400 точек на дюйм (DPI) и выше; определение оптимального разрешения изображения для конкретного разрешения принтера может быть сложной задачей, поскольку печатный результат может содержать больше деталей, чем способен различить наблюдатель на мониторе. Как правило, разрешение от 150 до 300 PPI хорошо подходит для полноцветной печати (CMYK). Однако для технологий печати, использующих дитеринг (полутоновую растризацию) для смешивания цветов, а не наслаивание красок (практически все домашние и офисные струйные и лазерные принтеры), значения DPI принтера и PPI изображения имеют совершенно разный смысл, что может ввести в заблуждение. Поскольку в процессе дитеринга принтер формирует один пиксель изображения из нескольких точек для увеличения глубины цвета, настройка DPI принтера должна быть значительно выше желаемого значения PPI, чтобы обеспечить достаточную глубину цвета без снижения разрешения изображения. Например, для печати изображения с разрешением 250 PPI может потребоваться настройка принтера на 1200 DPI.

Растровые редакторы изображений

Растровые графические редакторы, такие как PaintShop Pro, Corel Painter, Adobe Photoshop, Paint.NET, Microsoft Paint и GIMP, работают с отдельными пикселями, в отличие от векторных графических редакторов, таких как Xfig, CorelDRAW, Adobe Illustrator или Inkscape, которые работают с линиями и фигурами (векторами). При отрисовке изображения в растровом графическом редакторе, оно состоит из миллионов пикселей. В основе работы растрового графического редактора лежит манипулирование каждым отдельным пикселем.