4.14. Коды Хэмминга — Хаффмена
Можно ли объединить процессы сжатия источников кодами Хаффмена и защиты от шумов кодами Хэмминга? Известный до сих пор процесс состоит в том, что сперва производится кодирование Кодом Хаффмена, затем выходная последовательность разбивается на блоки, которые кодируются подходящим кодом Хэмминга, защищающим от шума. Для декодирования используется обратный процесс: сперва декодируется код Хэмминга, а затем — код Хаффмена.
Возникает естественный вопрос: нельзя ли добиться лучшего результата с помощью единого процесса кодирования? Возможность сделать это представляется читателю. Заметим, что при декодировании вершины дерева, близкие к концевым, не должны использоваться другими ветвями дерева. Один из таких обнаруживающих ошибки неравномерных кодов приведен ниже:
Задачи
4.14.1. Для последнего кода изобразите дерево декодирования и убедитесь, что дерево «работает».
4.14.2. Рассмотрите использование для кодов Хэмминга дерева декодирования, а не вычислительных методов, приведенных в гл. 3.
4.14.3. Покажите, что ошибка в одном символе для кода с запятой
может распространяться как угодно далеко. Указание: Рассмотрите