- •Особенности изображения как типа данных
- •Классы изображений
- •Алгоритм rle
- •Характеристики алгоритма rle:
- •Алгоритм lzw
- •Характеристики алгоритма lzw:
- •Проблемы алгоритмов сжатия с потерями
- •Алгоритм jpeg
- •Алгоритм jpeg 2000
- •Характеристики фрактального алгоритма:
- •Рекурсивный (волновой) алгоритм
- •Общая схема алгоритма
- •16Cif и отдельно настраиваемые разрешения.
- •Подходы к сжатию звуковых сигналов. Форматы кодирования цифрового звука икм, дикм, адикм, дельта-модуляция.
- •Особенности восприятия звука человеком. Порог слышимости. Спецификация mpeg-1
Алгоритм rle
ПЕРВЫЙ ВАРИАНТ АЛГОРИТМА
Данный алгоритм необычайно прост в реализации. Кодирование длин повторов - от английского RunLengthEncoding (RLE) - один из самых старых и самых простых алгоритмов архивации графики. Изображение в нем (как и в нескольких алгоритмах, описанных ниже) вытягивается в цепочку байтов по строкам растра. Само сжатие в RLE происходит за счет того, что в исходном изображении встречаются цепочки одинаковых байтов.
Замена их на пары <счетчик повторений, значение> уменьшает избыточность данных. Алгоритм рассчитан на деловую графику - изображения с большими областями повторяющегося цвета. Ситуация, когда файл увеличивается, для этого простого алгоритма не так уж редка. Ее можно легко получить, при меняя групповое кодирование к обработанным цветным фотографиям. Для того чтобы увеличить изображение в 2 раза, его надо применить к изображению, в котором значения всех пикселов больше двоичного 11000000 и подряд попарно не повторяются.
ВТОРОЙ ВАРИАНТ АЛГОРИТМА
Второй вариант этого алгоритма имеет большую максимальную степень сжатия и меньше увеличивает в размерах исходный файл. Как можно легко подсчитать, в лучшем случае этот алгоритм сжимает файл в 64 раза (а не в 32 раза, как в предыдущем варианте), в худшем увеличивает на 1/128. Средние показатели степени компрессии данного алгоритма находятся на уровне показателей первого варианта.
Характеристики алгоритма rle:
Степени сжатия: первый вариант: 32, 2, 0,5. Второй вариант: 64, 3,128/129. (Лучшая, средняя, худшая степени).
Класс изображений: ориентирован алгоритм на изображения с небольшим количеством цветов: деловую и научную графику.
Симметричность: примерно единица.
Характерные особенности: к положительным сторонам алгоритма, пожалуй, можно отнести только то, что он не требует дополнительной памятипри архивации и разархивации, а также быстро работает. Интересная особенность группового кодирования состоит в том, что степень архивации для некоторых изображений может быть существенно повышена всего лишь за счет изменения порядка цветов в палитре изображения.
Алгоритм lzw
Рассматриваемый нами ниже вариант алгоритма будет использовать дерево для представления и хранения цепочек (фраз словаря в терминах разд. 1). Очевидно, что это достаточно сильное ограничение на вид цепочек
и далеко не все одинаковые подцепочки в нашем изображении будут использованы при сжатии. Однако в предлагаемом алгоритме выгодно сжимать даже цепочки, состоящие из 2 байт.Процесс сжатия выглядит достаточно просто. Мы считываем последовательно символы входного потока и проверяем, есть ли в созданной нами таблице строк такая строка. Если строка есть, то мы считываем следующий символ, а если строки нет, то мы заносим в поток код для предыдущей найденной строки, заносим строку в таблицу и начинаем поиск снова. Особенность LZW заключается в том, что для декомпрессии нам не надо сохранять таблицу строк в файл для распаковки. Алгоритм построен таким образом, что мы в состоянии восстановить таблицу строк, пользуясь только
потоком кодов. Мы знаем, что для каждого кода надо добавлять в таблицу строку, состоящую из уже присутствующей там строки и символа, с которого начинается следующая строка в потоке.
