- •Содержание
- •//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стандартов
//23.11.04. Лекция 8// rlEсхемы битового, байтового и пиксельного уровней
Различие между этими способами кодирования заключается в формировании пакетов, соответствующих группам символов.
Большинство форматов графических файлов в зависимости от уровня обрабатываемых данных выделяют 3 класса RLEсхем.
RLE-схемы битового уровня
Кодируют в группы биты строк развертки, игнорируя при этом границы байтов и слов. Используются только для обработки монохромных, т.е. однобитовых изображений, содержащих достаточное количество битовых групп.
RLEсхемы битового уровня кодируют в группу от 1 до 128 битов, создавая из них однобайтовые пакеты. 7 младших битов этого байта – это счетчик группы, старший бит содержит значение группы.
7 – ой бит – (0/1), значение группы
6-0 – ой биты – счетчик группы (0-127)
Зн-е |
Счетчик | ||||||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 |
99(в двоичном коде) | ||||||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 |
127(в двоичном коде) |
0 |
71(в двоичном коде) | ||||||||||||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
RLE-схемы байтового уровня
Кодируют в группы одинаковые байтовые значения, игнорируя отдельные биты и слова.
Используются для изображений, в которых каждый пиксель содержит 8 бит информации.
RLEкодирует группы байтов в 2-х байтовые пакеты
1-ый байт – счетчик группы(0-255)
2-ой байт – значение группы (0-255)
99(в двоичном коде) |
0(в двоичном коде) | ||||||||||||||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
(возможно 256 цветов)
255(в двоичном коде) |
0(в двоичном коде) |
43(в двоичном коде) |
0(в двоичном коде) | ||||||||||||||||||||||||||||
7 |
|
|
|
|
|
|
0 |
7 |
|
|
|
|
|
|
0 |
7 |
|
|
|
|
|
|
0 |
7 |
|
|
|
|
|
|
0 |
300 черных пикселей
Существует схема 2-х байтового кодирования, позволяющая хранить в потоке закодированных данных – литералы – незакодированные группы байтов.
В такой схеме 7 младших битов 1-го байта пакета содержат счетчик группы, а старший бит 1-го байта – тип группы:
1 – закодированная группа
0 – литеральная группа, т. е следующие байты должны читаться напрямую из закодированных данных изображения в количестве, указанном счетчиком группы +1.
1-ый байт 1-127 – счетчик
2-ой байт 0-255 – значение группы
|
счетчик группы |
значение группы | |||||||||||||
1 |
99(в двоичном коде) |
0(в двоичном коде) | |||||||||||||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
закодированная группа
|
счетчик значений |
| |||||||||
0 |
|
зн1 |
зн2 |
зн3 |
… | ||||||
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
7 0 |
7 0 |
7 0 |
7 0 |
литеральная группа
Эффективно для изображений, содержащих 1 байт информации на пиксель.
RLE-схемы пиксельного уровня
Применяется, когда для хранения одного пиксельного значения используется два или более смежных байтов изображения.
На пиксельном уровне биты игнорируются, а байты принимаются во внимание только для идентификации цветового канала. Размер закодированного пакета зависит от размера пиксельных значений , подлежащих кодированию.
счетчик |
значение | ||
99 |
0 |
0 |
255 |
7 0 |
7 0 |
7 0 |
7 0 |
RGB– 100 синих пикселей
1-ый байт – счетчик (0-255)
2-ой байт – пиксель 1-го канала (0-255)
3-ий байт – пиксель 2-го канала (0-255)
4-ый байт – пиксель 3-го канала (0-255)
Сведения о количестве битов или байтов в пикселе записаны в заголовке файла изображения, там же сведения о схеме кодирования.
В RLEсхемах пиксельного уровня счетчик содержит сведения о количестве пикселей, а не о количестве байтов.
Существуют литеральные группы пиксельного уровня.
Самый старший бит 1-го байта группы содержит указатель на то, является ли группа литеральной. 7 младших битов этого байта содержат счетчик группы. Остальные 3 байта информации содержат значения группы.
Если старший бит установлен в 1, то это закодированная группа. Закодированные группы декодируются посредством чтения значения группы и повторения его столько раз, сколько указано в счетчике +1.
Если самый старший бит установлен в 0, то он указывает на литеральную группу, т.е. следующие байты в количестве, указанном в счетчике группы +1, должны читаться напрямую из закодированных данных. В литеральных группах максимальное значение счетчика 128 байт.
Применение литеральных RLEгрупп при обработке потока данных, содержащих много одно- и 2-хпиксельных групп более эффективно, чем кодирование этих групп, т.к. позволяет избежать отрицательного сжатия, т.е. увеличения объема данных в процессе сжатия.