Тезисы лекции Дәрістер тезистері Аbstracts of lectures про уа 03-09-20 Стр из 67
Контенты лекции- комп графика
200 черных пикселей RLE-схемы байтового уровня Кодируют в группы одинаковые байтовые значения, игнорируя отдельные биты и слова. Используются для изображений, в которых каждый пиксель содержит 8 бит информации. RLE кодирует группы байтов в 2-х байтовые пакеты 1-ый байт – счетчик группы(0-255) 2-ой байт – значение группы (0-255)
100 черных пикселей (возможно 256 цветов)
300 черных пикселей Существует схема 2-х байтового кодирования, позволяющая хранить в потоке закодированных данных – литералы – незакодированные группы байтов. В такой схеме 7 младших битов 1-го байта пакета содержат счетчик группы, а старший бит 1-го байта – тип группы: 1 – закодированная группа 0 – литеральная группа, т. е следующие байты должны читаться напрямую из закодированных данных изображения в количестве, указанном счетчиком группы +1. 1-ый байт 1-127 – счетчик 2-ой байт 0-255 – значение группы
закодированная группа
литеральная группа Эффективно для изображений, содержащих 1 байт информации на пиксель. RLE-схемы пиксельного уровня Применяется, когда для хранения одного пиксельного значения используется два или более смежных байтов изображения. На пиксельном уровне биты игнорируются, а байты принимаются во внимание только для идентификации цветового канала. Размер закодированного пакета зависит от размера пиксельных значений , подлежащих кодированию.
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-хпиксельных групп более эффективно, чем кодирование этих групп, т.к. позволяет избежать отрицательного сжатия, т.е. увеличения объема данных в процессе сжатия. RLE схемы с использованием флагаПри этом способе для представления группы используется не 2, а 3 байта. 1-ый байт – флаговое значение, указывает на то, что следующие 2 байта являются частью закодированного пакета 2-ой байт – счетчик группы 3-ий байт – значение группы Если в процессе кодирования встречаются группы, состоящие из 1, 2х или 3х символов, то эти данные не кодируются, а непосредственно записываются в поток сжатых данных.
Для значения флага выбирают значение, которое редко встречается. При декодировании флаговое значение анализируется прочитанный символ, если это флаговое значение, то следующий байт обрабатывается как счетчик., 3-ий байт – как значение. Результат записывается в выходной поток данных. Если прочитанный символ не является флаговым значением, то он записывается в выходной поток напрямую. Минимальный размер группы, пригодный для кодирования таким способом возрастает с 3 до 4 одинаковых символов. Если поток незакодированных данных содержит значение символов, равное флаговому значению, то этот символ должен быть закодирован в 3-х байтовый пакет. Алгоритмы RLE используют такие флаговые значения, которые в потоке несжатых данных встречаются крайне редко. RLE пакеты вертикального повторенияМногие RLE схемы для повышения эффективности сжатия используют пакеты повторения строк развертки, называемые пакетами вертикального повторения. Этот пакет не хранит реальных данных строк развертки, он лишь указывает на то, что необходимо повторить предыдущую строку. Пакет вертикального повторения, если содержит 1 байт информации, то это счетчик группы =0, указывает на то, что строка должна быть повторена 1 раз. Если за этим байтом следует значение, то это значение повторяющихся строк развертки. Т.е. одним пакетом, состоящим из счетчика группы + значением, можно описать количество повторяющихся строк. 100 строк развертки белых пикселей, в строке – 12380 пикселей 1 строка – 5 пакетов по 256 пикселей
В данном примере: 10 байт – описывается сама строка 1 байт – маркер конца строки 2 байта – пакет вертикального повторения (всего 13 байт) жүктеу/скачать 99,96 Kb. Достарыңызбен бөлісу: |