Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vstup.docx
Скачиваний:
26
Добавлен:
13.03.2016
Размер:
1.28 Mб
Скачать

3. Статичні методи стиснення інформації. Алгоритм арифметичного стиснення.

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

Все методы сжатия информации основаны на двух стратегиях:

  1. стратегия преобразования информации, где учитывается поведение сигнала на предыдущем интервале времени;

  2. статистическая стратегия, которая основывается на вероятностной характеристике. Код при статистическом кодировании выбирается таким образом, чтобы более вероятные значения передавались с помощью более коротких комбинаций кода, а менее вероятные – с помощью более длинных. В результате уменьшается средняя длина кода.

Арифметический код предназначен для сжатия без потерь на основе представления данных в виде чисел нормированных в интервале от 0 до 1.

Кодированиеосуществляется в несколько этапов:

  1. составление таблицы кода. Каждому символу выделяется интервал чисел внутри диапазона [0, 1], который пропорциональный вероятности данного символа. Например, слово РАДИОВИЗИР:

Символ

Вероятность

Интервал

А

0.1

0 – 0.1

Д

0.1

0.1 – 0.2

В

0.1

0.2 – 0.3

И

0.3

0.3 – 0.6

З

0.1

0.6 – 0.7

О

0.1

0.7 – 0.8

Р

0.2

0.8 – 1.0

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

Шаг

Символ

Интервал

0

начало кода

0 – 1

1

Р

0.8 – 1

2

А

0.8 – 0.82

3

Д

0.802 – 0.804

4

И

0.8026 – 0.8032

5

О

6

В

7

И

8

З

9

О

10

Р

Границы нового интервала определяются путем прибавления границ очередного кодируемого символа умноженных на вершину интервала кодируемого символа к нижней границе предыдущего символа.

(для А: [0.8 + 0.2*0 = 0.8] – [0.8 + 0.1*0.2 = 0.82])

Добавление очередного символа приводит к сужению интервала. Наиболее вероятные сужают интервал наименьше. Т.е., чем шире конечный интервал, тем больше степень сжатия можно достичь.

Декодирование осуществляется по любому числу из конечного интервала путем обратного алгоритма пересчета. Пересчет чисел в декодировании производится вычитанием из имеющегося числа нижней границы интервала декодированного символа и делением разности на величину интервала декодированного символа.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]