Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БИЛЕТЫ кроме 36.doc
Скачиваний:
5
Добавлен:
08.09.2019
Размер:
1.9 Mб
Скачать

Билет №9

1. Основные понятия теории кодирования. Оптимальный код Шеннона-Фано.

Код — правило (алгоритме сопоставления каждом) конкретному сообщению строго

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

Кодирование. Процесс преобразования сообщения в комбинацию символов в соответствии с кодом называется кодированием. Процесс восстановления сообщения из комбинации символов называется декодированием.

Операции кодирования и декодирования называются обратимыми, если их последовательное применение обеспечивает возврат к исходной информации без каких-либо потерь.

Алфавиты. Множество символов, при помощи которых записываются исходные сообщения называется первичным алфавитом, количество его элементов обозначается mI.

Множество символов, из которых могут состоять кодовые слова, называется

вторичным алфавитом, количество элементов этого множества обозначается m2.

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

Примером обратимого кодирования является представление знаков в телеграфном коде и их восстановление после передачи. Примером кодирования необратимого может служить перевод с одного естественного языка на другой - обратный перевод, вообще говоря, не восстанавливает исходного текста.

Шеннон ввел понятие избыточности - мера бесполезно совершаемых альтернативных выборов при чтении текста. Оптимальные способы кодирования уменьшают длину сообщения при передаче по каналу связи. Под термином «оптим. код» будем подразумевать коды с практически нулевой избыточностью. Кроме того, являясь оптим-м с т.зр. скорости передачи информации, код может быть не оптимальным с т.зр. предъявляемых к нему требований помехоустойчивости.

Главная идея кодирования Шеннона-Фано(ШФ)-заменить часто встречающиеся символы более короткими кодами, а редко встречающиеся- более длинными. Алгоритм основывается на кодах переменной длины. Для того, чтобы декомпрессор смог раскодировать сжатую последовательность, коды ШФ должны обладать уникальностью (каждый код уникально определяет один закодированный символ и не является префиксом любого другого кода).Рассмотрим алгоритм вычисления кодов ШФ. Например, последовательность aabbbccccddddd.Для вычисления кодов необходимо создать таблицу уникальных символов сообщения c(i) и их вероятностей p(c(i)), и отсортировать ее в порядке возрастания вероятности символов. C(i) p(c(i)) d 5/17, c 4/17, spase 3/17, b 3/17, a 2/17.

Далее таблица символов делится на две группы т.о., чтобы каждая из групп имела приблизительно одинаковую частоту по сумме символов. Первой группе устанавливается начало кода в «0», второй – в «1». Для вычисления следующих бит символов, данная процедура повторяется рекурсивно для каждой группы, в которой больше одного символа. Получаем: символ код d 00, c 01, spase 10, b 110, a 111.

Длина кода s(i) в полученной таблице равна int(-lg p(c(i))), если символы удалось разделить на группы с одинаковой частотой, в противном случае, длина кода равна int(-lg p(c(i)))+1. То есть int(-lg p(c(i)))<=s(i)<= int(-lg p(c(i)))+1.

Используя полученную таблицу кодов, кодируем входной поток-заменяя каждый символ соответствующим кодом. Естественно для рассжатия полученной последовательности, данную таблицу необходимо сохранять вместе сжатым потоком, что является одним из недостатков данного метода. В сжатом виде таблица: 111111101101101101001010101100000000000 длиной 39 бит. Оригинал 139 бит. Коэффициент сжатия -28%.

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