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

//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

100 пикселей черного цвета

0

127(в двоичном коде)

0

71(в двоичном коде)

7

6

5

4

3

2

1

0

7

6

5

4

3

2

1

0

200 черных пикселей

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

100 черных пикселей

(возможно 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-хпиксельных групп более эффективно, чем кодирование этих групп, т.к. позволяет избежать отрицательного сжатия, т.е. увеличения объема данных в процессе сжатия.

Соседние файлы в предмете Компьютерная Графика