- •Содержание
- •//28. 09.04.Лекция 1// История развития компьютерной графики
- •//5.10.04.Лекция 2// Основные понятия компьютерной графики
- •Физические и логические пиксели
- •Отображение цветов
- •//12.10.04.Лекция3// Определение цвета с помощью палитры
- •Цветовые пространства
- •Типы палитры
- •//26.10.04. Лекция 4// Цвет
- •Цветовые модели – аддитивная и субтрактивная
- •Модели rgb (Red Green Blue)
- •Наложение и прозрачность
- •Векторные файлы
- •Организация векторных файлов
- •//2.11.04. Лекция 5// Векторные данные
- •Палитра и цветовая информация
- •Атрибуты заполнения и цветовые атрибуты
- •Концовка векторных файлов
- •Текст векторных файлов
- •Преимущества и недостатки векторных файлов
- •//9.11.04. Лекция 6// Растровые файлы и их организация
- •Идентификатор файла
- •Версия файла
- •Тип сжатия
- •Координаты изображения
- •Текстовое описание растра
- •Неиспользуемое пространство
- •Организация данных в виде строк развертки
- •Непрерывные данные
- •Фрагменты
- •Организация данных в виде плоскостей
- •Концовка
- •//16.11.04. Лекция 7// Дополнительные структуры растровых файлов
- •Преимущества рф
- •Недостатки рф
- •Сжатие данных
- •Схемы сжатия
- •Физическое и логическое сжатие
- •Симметричное и ассиметричное сжатие
- •Адаптивное, полуадаптивное и неадаптивное кодирование
- •Сжатие с потерями и без потерь
- •Алгоритм группового кодирования илиRle
- •//23.11.04. Лекция 8// rlEсхемы битового, байтового и пиксельного уровней
- •RlEсхемы с использованием флага
- •RlEпакеты вертикального повторения
- •//30.11.04 Лекция 9// lwz сжатие
- •Кодирование по алгоритму Хаффмена
- •Алгоритм Хаффмена для символьных групп
- •//7.12.04 Лекция 10// Фрактальная графика
- •Фрактальное сжатие
- •//14.12.04. Лекция 11// СжатиеJpeg
- •АлгоритмJpeg
- •Сжатие Mpeg
- •Mpeg кодирование
- •Сравнительный анализMpegстандартов
Алгоритм группового кодирования илиRle
Алгоритм сжатия, поддерживающийся большинством растровых форматов (tif,wmpи т.д.).Этот алгоритм позволяет сжимать данные любых типов независимо от содержащейся в них информации. Сама информация влияет лишь на полноту сжатия.RLEне достигает большой степени сжатия (3:1), но выполняется легко и быстро, является альтернативой сложным методам.
Суть метода: RLEуменьшает физический размер повторяющихся строк символов. Такие повторяющиеся строки называются группами и обычно кодируются в 2-х байтах.
1 байт определяет количество символов в группе и называется счетчиком группы. Кодируемая группа содержит от 1 до 128 или от 0 до 256 символов, что записывается в счетчик группы как количество символов – 1(т.к. считают с 0).
2 байт содержит значение символов группы и называется значением группы.
Программа, читающая подряд несколько пикселей с одинаковыми значениями, считает сколько пикселей с одним значением следуют друг за другом, записывает это значение в счетчик, затем записывает само значение.
ААА.....АА 14А – RLE-пакет
15
Этот код сгенерированный для представления символов называется RLEпакетом.
Новый пакет генерируется всегда, когда меняется группа символов или когда количество символов в группе больше максимального значения счетчика. Простой растровый рисунок с помощью RLE– пакета сжат следующим образом.
|
|
|
|
|
|
|
|
|
|
|
|
|
2 255 2 0 0 255 5 0 8 байт
255 255 255 0 0 0 255 0 0 0 0 0 0 13 байт
Для кодирования в RLEтребуется минимум 2 байта.
Эффективность сжатия зависит от типа данных изображения. Для сложного изображения с большим количеством цветов групповое кодирование практически не используется.
Группа из одиночных символов, закодированная с помощью RLE-пакета, займет в 2 раза больше памяти, чем непосредственное представление этих данных.
Групповое кодирование не является форматом файла. Это метод кодирования, который может быть включен в некоторые графические форматы (gif,tif,jpeg)
Варианты группового кодирования
Обычно с помощью RLEданные изображения кодируются последовательно, по линиям развертки слева направо.
Существуют альтернативные схемы кодирования, когда данные кодируются колонками вдоль оси у или 2-хмерными фрагментами вдоль оси х. Существует разновидность группового кодирования RLEс потерями. Заключается в отбрасывании данных в процессе кодирования (отбрасывается младший бит в каждом пикселе). Это повышает степень сжатия сложных изображений, но использовать этот метод можно лишь для многоцветных реалистичных изображений.
Чтобы избежать перекрестного кодирования, RLE-кодировщики всегда останавливаются в конце каждой строки развертки растровых данных.
Программа-кодировщик должна помещать в закодированные данные маркеры конца строки развертки, которые имеют длину всего в 1 байт и уникальны, чтобы не спутать их с другими данными.
//Ещё одно преимущество построчного кодирования – программа легко воспроизводит любую часть изображения.//
Второй способ избежать перекрестного кодирования создать таблицу строк развертки.
(Другим способом определения в блоке закодированных данных начальных точек каждой строки развертки является создание таблицы строк развертки, содержащих по 1 элементу для каждой строки, в этот элемент записана информация о смещении начала каждой строки развертки в файле.)