Канонический код Хаффмана

Оглавление1 Канонический код Хаффмана1.1 Основы канонического кода Хаффмана1.2 Мотивация и реализация1.3 Алгоритм канонизации1.4 Представление кодовой книги1.5 Рекомендации2 Канонический код Хаффмана […]

Канонический код Хаффмана

  • Основы канонического кода Хаффмана

    • Канонические коды Хаффмана – это особый тип кодов Хаффмана с уникальными свойствами. 
    • Вместо сохранения структуры кодового дерева, они упорядочены по длине кодовых слов, что снижает нагрузку на кодовую книгу. 
  • Мотивация и реализация

    • Компрессоры данных обычно используют каноническую кодовую книгу для эффективной работы. 
    • Канонизация кодовой книги Хаффмана начинается с создания обычной кодовой книги и затем преобразуется в каноническую. 
    • Для распаковки данных декодеру требуется та же модель, что и для сжатия. 
  • Алгоритм канонизации

    • Обычный алгоритм Хаффмана присваивает символам коды переменной длины, но канонизация сортирует коды по длине и алфавиту. 
    • Кодирование канонической кодовой книги может быть выполнено меньшим количеством битов по сравнению с произвольным деревом Хаффмана. 
  • Представление кодовой книги

    • Кодовая книга может быть закодирована с использованием количества битов для каждого символа или с указанием количества символов для каждой разрядности. 
    • Псевдокод для реконструкции кодовой книги представлен в статье. 
  • Рекомендации

    • Алгоритм описан в статье “Способ построения кодов с минимальной избыточностью” Дэвида А. Хаффмана. 

Полный текст статьи:

Канонический код Хаффмана — Википедия

Оставьте комментарий

Прокрутить вверх