Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
58
Добавлен:
02.05.2014
Размер:
458.75 Кб
Скачать

38. Rle схемы битового, байтового и пиксельного уровней

Разл.алг-мы гр.кодир-ия отлич-ся др.от др.длиной групп данных.Больш-во форматов использ-т RLE схемы бит,байт,пикс. уровня

RLE-схемы битового уровня

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

RLE схемы битового уровня кодируют в группу от 1 до 128 битов, создавая из них однобайтовые пакеты. 7 младших битов этого байта – это счетчик группы, старший бит содержит значение группы(0или 1).RLEсх бит.уровня игнорируют при кодир-ии границы битов и слов.

Зн-е

Счетчик

0/1

0-127

6 0

1 127 1 127 1 127 1 127 1 127 1 127 1 31

RLE-схемы байтового уровня

Кодируют группы байтов в двухбайтовые пакеты

1-ый байт – счетчик группы(0-255)

2-ой байт – значение группы (0-255)

Часто примен-ся сх.байтового уровня, позволяющие хранить литералы – незакодированные данные.

В такой схеме 7 младших битов 1-го байта содержит счетчик группы, а старший бит 1-го байта – тип группы:

1 – закодированная группа.Эта группа декодир-ся путем чтения значения групп и повторения его столько раз,ск-ко указано в счетчике гр+1.

0 – литеральная группа, т. е следующие байты в количестве, указанном счетчиком группы должны читаться напрямую.При этом счетчик гр.содержит значение от 0 до 128.Они использ-ся для данных изобр-ия в виде одного байта *пиксель

1-ый байт 1-127 – счетчик

2-ой байт 0-255 – значение группы

закодированная группа

счетчик группы

значение группы

1

1-127

0-255

7

6

0

6

0

литеральная группа

счетчик значений

Значение гр.

0-255

0-255

7

0

7

0

кодируем гр.из 800 белых пикселей

255 255 255 255 255 255 31 255

Счетчик в литеральном RLE-пакете показывает ск-ко незакодир.данных следует др.за др.

RLE-схемы пиксельного уровня

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

счетчик

значение

0-255

0-255

0-255

0-255

7 0

7 0

7 0

7 0

RGB – 800 белых пикселей

255 255 255 255 255 255 255 255 255 255 255 255 31 255 255 255

Сведения о количестве байтов в пикселе указ-ся в заголовке файла.Если изобр-ие состоит из 3 байт пиксельных значений,то кодир-ся оно будет в виде 4хбайтового пакета:

1-ый байт – счетчик (0-255)

2-ой байт – пиксель 1-го канала (0-255)

3-ий байт – пиксель 2-го канала (0-255)

4-ый байт – пиксель 3-го канала (0-255)

В RLE схемах пиксельного уровня счетчик содержит сведения о количестве пикселей.

Незакодир.данные также представл-ся в виде литеральной гр.,организация кот.аналогично организ-ии литер.гр.байтового уровня.

Перед кодир-ем прога-кодировщик просматривает или анализирует поток исх.данных,чтобы опеределить целесообразность литеральной пискельной гр.Для представл-ия незакодир.данных с пом. RLE-схем также использ-ся флаговая RLE-сх.В этой сх.для представл-ия гр.использ-ся 3 байта:

1-флаг,знач.кот.указывает на то,что след.2 байта явл-ся частью закодир.пакета.,

2-счетчик гр.

3-значение гр.

Если в процессе кодир-ия встреч-ся гр.,состоящая из 1,2 или 3 символов(пикселей),то эти значение записыв-ся напрямую в поток сжатых данных

флаг

счечтик

значение

100

0-255

0-255

При декодир-ии анализир-ся 1-ое знач.пакета,если это флаговое знач.,то счит-ся знач. Из счетчика гр.и знач из 3-го байта гр. запис-ся в вых. поток столько раз,ск-ко указано во 2м байте или счетчике гр+1.Если в 1-ом байте стоит не флаговое знач.,то он запис-ся в вых. поток напрямую.Если поток незакодир-х данных сод-т знач. Символа,равное флаговому знач,то этот символ д.б.закодирован в 3хбайтовый пакет.Алг-м RLE,анализируя поток исх.дан. должен выбирать флаговые знач.,кот. встреч-ся в потоке несжатых дан.очень редко.