Компрессия данных. Метод арифметического кодирования

Классификация алгоритмов компрессии даны

-кодирование повторов (простой алгоритм сжатия данных, который оперирует сериями данных, то есть последовательностями, в которых один и тот же символ встречается несколько раз подряд)

- метод словарей (разбиение данных на слова и замена их на индексы в словаре)-служит экономией передаваемой информации.

- вероятностные методы (в основе вероятностных методов сжатия (алгоритмов Шеннона-Фано (Shannon Fano) и Хаффмена (Huffman)) лежит идея построения "дерева", положение символа на "ветвях" которого определяется частотой его появления. Каждому символу присваивается код, длина которого обратно пропорциональна частоте появления этого символа)

- математические методы

Алгоритмы делятся на:

Неискажающие (loseless) методы сжатия (называемые также методами сжатия без потерь) гарантируют, что декодированные данные будут в точности совпадать с исходными;

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

Компрессия данных. Метод Running и его модификации

Сжатие данных (compression) — алгоритмическое преобразование данных, производимое с целью уменьшения их объёма. Применяется для более рационального использования устройств хранения и передачи данных.

Компрессия данных. Метод арифметического кодирования - student2.ru

M-метка В- символ 4-счетчик

Выполнять замену имеет смысл только при выгоде ‘МАМВ4СССD’

Легче всего сжимаются черно-белые рисунки, чертежи и схемы.

Компрессия данных. Метод LZW

Сжатие данных (compression) — алгоритмическое преобразование данных, производимое с целью уменьшения их объёма. Применяется для более рационального использования устройств хранения и передачи данных.

Message= object ACollection is a part of class TCollection

M|9|A

M-метка 9-адресс А-счетчик(10); счетчик- цифры от 0 до 9 и буквы от A до Z

RATIO=43/49*100%=87.75 (количество символов после сжатия делить на количество символов до сжатия)

Компрессия данных методом Huffman-а

Сжатие данных (compression) — алгоритмическое преобразование данных, производимое с целью уменьшения их объёма. Применяется для более рационального использования устройств хранения и передачи данных.

Файл(1000 байт: А=100, B=300, C=200, D=300, E=100)

Компрессия данных. Метод арифметического кодирования - student2.ru

1-направо 0-налево

A=000(3 бита) B=10(2 бита) C=01(2 бита) D=11(2 бита) E=001(2 бита)

3*100+2*200+2*300 +2*300+3*100=2200

RATIO=2200/8*1000

Реальная степень сжатия несколько хуже, так как нужно хранить словарь

Компрессия данных. Метод арифметического кодирования

Сжатие данных (compression) — алгоритмическое преобразование данных, производимое с целью уменьшения их объёма. Применяется для более рационального использования устройств хранения и передачи данных.

Основан на преобразовании сообщения в дробное двоичное число

{A=0,1; B=0,2; C=0,2; D=0,5} message=’BAC’

Компрессия данных. Метод арифметического кодирования - student2.ru

0,106*2=0,212 0,212*2=0,424 0,424*2=0,848 0,848*2=1,696 0,696*2=1,392 0,392*2=0,784

0,11*2=0,22 0,22*2=0,44 0,44*2=0,88 0,88*2=1,76 0,76*2=1,52 0,52*2=1,4

0,000111-закодированное сообщение

Наши рекомендации