- •Теория информации Учебное пособие
- •Введение
- •1. Информационные характеристики источников сообщений
- •Энтропия как мера неопределенности физической системы
- •1.2 Энтропия сложной системы
- •Сложение энтропии независимых систем
- •Условная энтропия
- •1.3. Количественные аспекты информации
- •1.4. Количество информации, как мера снятой неопределенности
- •1.5. Объем информации
- •1.6. Взаимная информация
- •Упражнения
- •Решение
- •Лабораторная работа Свойства энтропии
- •2. Неопределенность непрерывных случайных величин
- •2.1. Энтропия непрерывной случайной величины х
- •2.2. Количество информации для непрерывных систем
- •2.3. Принцип экстремума энтропии и экстремальные распределения
- •Подставим (2.9) в (2.6)
- •При взятии интеграла учтем, что имеется соответствующий табличный интеграл
- •Сравнительная оценка сообщений, передаваемых по нормальному закону и равновероятному закону распределений
- •2.4. Епсилон энтропия (ε-энтропия )
- •3. Передача информации по каналам связи
- •3.1. Источники сообщений
- •3.2. Избыточность информации
- •3.3. Передача информации по каналу связи. Пропускная способность канала
- •Матрица для нахождения условной вероятности
- •Матрица условных вероятностей имеет вид
- •3.4. Пропускная способность непрерывных каналов связи
- •Скорость передачи информации будет равняться
- •Тогда , (3.8) где p мощность сигнала, а n мощность помехи
- •3.5. Согласование скорости выдачи информации, выдаваемой источником, с пропускной способностью канала связи
- •3.6. Согласование оконечных устройств с каналами связи
- •Упражнения
- •Лабораторная работа
- •4. Кодирование информации
- •4.1. Префиксные коды
- •Коды 1,2,3 не обладают свойством префикса, а код 4 обладает.
- •4.2. Основные теоремы кодирования
- •4.3. Оптимальное кодирование
- •4.4. Код Шеннона – Фано
- •Средняя длина полученного кода будет равна
- •4.5. Блочное кодирование
- •4.6. Код Хаффмана
- •4.7. Совмещенный способ построения кода Хаффмана Совмещенный способ построения кода Хаффмана представляет объединение двух процессов: обычного алгоритма построения и метода дерева.
- •Лабораторная работа
- •5. Сжатие информации
- •5.1. Основные понятия
- •5.2. Методы сжатия без потерь
- •Кодирование длин серий (rle - кодирование)
- •Коды Фибоначчи
- •Методы энтропийного сжатия
- •Метод арифметического сжатия
- •Методы контекстного моделирования
- •Словарные методы сжатия
- •5.3. Методы сжатия с потерями
- •6. Помехоустойчивое кодирование
- •6.1 Коды с обнаружением ошибок
- •Код с проверкой на четность.
- •Код Грея записывается следующим образом
- •Обратный переход из кода Грея в двоичный код
- •6.2. Корректирующие коды
- •6.3. Код Хемминга
- •Проверяем ее
- •6.4. Техническая реализация кода Хэмминга
- •6.5 Циклические коды
- •Декодирование циклических кодов
- •Аппаратурная реализация циклических кодов.
- •Пусть на вход подается комбинация 1101001
- •Теперь пусть на вход подается комбинация с ошибкой 1100001
- •Упражнения
- •Лабораторная работа
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Задание 7
- •Задание 8
- •Задание 9
- •Задание 10
- •Задание 11
- •Задание 12
- •Задание 13
- •Задание 14
- •Задание 15
- •Задание 16
- •Задание 17
- •Задание 18
- •Задание 19
- •Задание 20
- •Список литературы
- •Оглавление
Методы контекстного моделирования
При применении методов контекстного моделирования процесс сжатия символа условно разделяют на два этапа:
этап моделирования,
этап кодирования.
На этапе моделирования строят вероятностную контекстную модель. На этапе кодирования символу присваивают код в рамках текущей контекстной модели.
Вероятностная контекстная модель n – го порядка – это список символов (и их частот), появившихся в контексте n – го порядка. Контекст n – го порядка – набор последовательных n символов.
Пример 5.8. Найти контексты 2 – го порядка для символов a, b, c последовательности
abacab.
Для символа a можно указать два контекста 2 – го порядка: ab и ac.
Для символа b можно указать один контекст 2 – го порядка: ca.
Для символа c можно указать один контекст 2 – го порядка: ba.
При использовании методов контекстного моделирования вводят также контекстные модели 0 – го и (–1) – го порядков. Контекстная модель 0 – го порядка содержит частоты символов исходной последовательности, меняющиеся по мере выполнения сжатия. Контекстная модель (–1) – го порядка содержит одинаковые частоты (обычно равные 1) для всех возможных входных символов.
Алгоритм сжатия по методу контекстного моделирования заключается в следующем.
Построить контекстные модели (–1) – го, 0 – го, 1 – го, …, Nmax – го порядков, где Nmax – максимальный порядок контекстной модели. В контекстной модели (–1) – го порядка частотам всех символов присвоить одинаковые значения. Ввести в рассмотрение во всех моделях 0 – го, 1 – го, …, Nmax – го порядков символ ESC с частотой 1. Установить в качестве текущего контекста произвольный контекст порядка от (–1) – го до Nmax – го.
Прочитать символ входной последовательности.
Если в текущей контекстной модели символ невозможно закодировать, то выдать код символа ESC, уменьшить на 1 порядок контекста и повторить п. 3, иначе – получить и выдать его код. Кодирование выполняется по методу энтропийного или арифметического сжатия.
Увеличить на 1 частоту символа во всех контекстных моделях, связанных с текущим контекстом.
Изменить текущий контекст в соотвествии с закодированным символом.
Перейти к п. 2.
Пример 5.9. Сжать последовательность символов
aba.
с помощью метода контекстного моделирования с максимальным порядком контекста Nmax = 1.
Построить контекстные модели.
Контекстная модель (–1) – го порядка:
Символ |
a |
b |
Частота |
1 |
1 |
Контекстная модель 0 – го порядка:
Символ |
a |
b |
ESC |
Частота |
0 |
0 |
1 |
Контекстные модели 1 – го порядка:
Контекст |
a |
b |
||||
Символ |
a |
b |
ESC |
a |
b |
ESC |
Частота |
0 |
0 |
1 |
0 |
0 |
1 |
Сделать текущим контекстом контекст (–1) – го порядка.
Прочитать символ a. В текущем контексте этому символу можно присвоить по методу Хаффмена код 1.
Изменить контекстные модели.
Контекстная модель (–1) – го порядка:
Символ |
a |
b |
Частота |
2 |
1 |
Контекстная модель 0 – го порядка:
Символ |
a |
b |
ESC |
Частота |
1 |
0 |
1 |
Контекстные модели 1 – го порядка:
Контекст |
a |
b |
||||
Символ |
a |
b |
ESC |
a |
b |
ESC |
Частота |
0 |
0 |
1 |
0 |
0 |
1 |
Сделать текущим контекстом контекст 1 – го порядка: a.
Прочитать символ b. В текущем контексте этот символ закодировать невозможно, поэтому выдать 0 – код символа ESC и перейти к контексту 0 –го порядка. Так как в данном контексте символ b также невозможно закодировать, то выдать 1 – код символа ESC и перейти к контексту (–1) – го порядка и выдать код 10.
Изменить контекстные модели.
Контекстная модель (–1) – го порядка:
Символ |
a |
b |
Частота |
2 |
2 |
Контекстная модель 0 – го порядка:
Символ |
a |
b |
ESC |
Частота |
1 |
1 |
1 |
Контекстные модели 1 – го порядка:
Контекст |
a |
b |
||||
Символ |
a |
b |
ESC |
a |
b |
ESC |
Частота |
0 |
1 |
1 |
0 |
0 |
1 |
Сделать текущим контекстом контекст 1 – го порядка: b.
Прочитать символ a. В текущем контексте этот символ закодировать невозможно, поэтому выдать 0 – код символа ESC и перейти к контексту 0 –го порядка. В этом контексте символу a можно присвоить код 1.
Изменить контекстные модели.
Контекстная модель (–1) – го порядка:
Символ |
a |
b |
Частота |
3 |
2 |
Контекстная модель 0 – го порядка:
Символ |
a |
b |
ESC |
Частота |
2 |
1 |
1 |
Контекстные модели 1 – го порядка:
Контекст |
a |
b |
||||
Символ |
a |
b |
ESC |
a |
b |
ESC |
Частота |
0 |
1 |
1 |
1 |
0 |
1 |
Сделать текущим контекстом контекст 1 – го порядка: a.
Таким образом, выходная последовательность имеет вид:
1011001.
