Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика учебное пособие часть 1.doc
Скачиваний:
29
Добавлен:
16.09.2019
Размер:
882.18 Кб
Скачать

7. Кодирование графической и звуковой информации

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

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

В соответствии с методами, применяемыми для их представления, все изображения можно разделить на 2 категории: растровые (bitmap techniques) и векторные (vector techniques).

Растровые изображения представляют собой набор точек, которые называются пикселами (pixel). Самое простое представление имеет вид длинной последовательности битов, каждый из которых равен 0 или 1 (белый/черный) цвет пиксела. Цветные изображения намного сложнее, так как каждый пиксел должен быть представлен комбинацией битов, обозначающей его цвет.

Для отображения цвета многие внешние устройства компьютера (факсы, видеокамеры, сканеры) представляют цвет пиксела в виде комбинации трех составляющих: красный (Red), зеленый (Green) и синий (Blue) – RGB. Этот же подход с использованием 3-х составляющих цвета используется также в мониторе ПК.

Для представления интенсивности каждого цвета используется 1 байт. В этом случае для представления целого пиксела требуется 3 байта.

Формат, в котором одному пикселу соответствует 3 байта, подразумевает, что для изображения 1024720 точек потребуется несколько мегабайтов памяти (1024*720*3 = 2 211 840 байт  2.2МБ). Для того чтобы уменьшить требования к памяти, разработаны различные схемы сжатия.

Одна из них – GIF (Graphic Interchange Format). Этот стандарт сжатия решает проблему путем сокращения количества цветов, которые могут быть приписаны пикселу, до 256. Это означает, что значение каждого пиксела можно представить с помощью 1 байта, а не трех.

Каждому из 256 значений при помощи таблицы, которая называется палитрой, ставится в соответствие определенное сочетание RGB цветов. Изменяя палитру, можно менять цвета изображения.

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

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

Другой стандарт сжатия – JPEG (Joint Photographic Experts Group) – очень эффективен для представления цветных фотографий.

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

Но применение этого метода не дает изображений, размер которых можно легко менять, и поэтому используется редко. Вместо него используется базисный стандарт JPEG, который сокращает размер кода изображения, используя для определения состояния пикселов 2 параметра: яркость и цвет.

Причина такого разделения в том, что человеческий глаз более чувствителен к изменению яркости, чем к изменению цвета (например, 2 синих фона: на одном яркая синяя точка, на другом – зеленая точка той же яркости, что и фон. Человеческий глаз быстрее обнаружит яркую синюю точку, чем зеленую). Базисный формат использует это свойство человеческого глаза и кодирует каждую компоненту яркости, но при этом изображение разделяется на блоки размером 4 пиксела, и записывается только средний цвет каждого блока. Следовательно, в окончательном представлении сохраняются все быстрые изменения яркости, но при этом стираются быстрые изменения цвета.

Дополнительное пространство экономится при записи изменений яркости и цвета, а не их фактических значений. Степень различия соседних пикселов можно представить более коротким двоичным кодом, чем тот, который потребовался бы для записи фактических значений цвета. Например, для последовательности кодов (970 980 500) изменение значение может быть закодировано так: (970(база), +10, -320).

При помощи стандарта JPEG можно кодировать высококачественные цветные изображения, используя двоичный код, который занимает примерно в 20 раз меньше памяти, чем код формата «три байта на пиксел».

Растровый формат представления изображений имеет один недостаток, а именно – размер изображения не может быть произвольно изменен. В сущности, единственный способ увеличить изображение – увеличить размер пикселов. Но это приводит к «зернистому» искажению изображения.

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

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