русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Алгоритм сжатия RLE


Дата добавления: 2015-07-23; просмотров: 2459; Нарушение авторских прав


 

Алгоритм RLE (Run Length Coding, кодирование длин повторов) – один из самых простых. Сжатие в этом алгоритма производится за счет того, что в изображении встречаются последовательности одинаковых байтов. Замена этих последовательностей на два значения (счетчик повторений и значение) уменьшает избыточность данных. Существует две реализации алгоритма (Рис. 3.1 ).

 

Рисунок 3.1. Два варианта алгоритма RLE

 

Первый вариант учитывает только повторы. Для этого первый байт содержит признак счетчика (единицы в двух старших разрядах), а также шестиразрядный счетчик, имеющий 64 состояния. Второй байт содержит общее повторяющееся значение последовательности.

Таким образом, в лучшем случае можно сжать строку из 64 повторяющихся байт до двух байт, т.е. коэффициент сжатия составит 32. В худшем случае, когда все байты последовательности не повторяются общий объем данных не только не уменьшается, а наоборот увеличивается в два раза.

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

В лучшем случае алгоритм сжимает последовательность в 64 раза, а в худшем случае будет небольшое увеличение последовательности (к каждым 128 байтам добавится еще один байт).

В чистом виде это алгоритм применяется для сжатия изображений с небольшим числом цветов (деловая графика). Для сжатия цифрового фото и видеоинформации он используется в сочетании с другими алгоритмами.

 



<== предыдущая лекция | следующая лекция ==>
Методы сжатия без потери информации | Алгоритм Хаффмана


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.