Зміст:
Визначення - Що означає кодування Хаффмана?
Кодування Хаффмана - алгоритм кодування даних без втрат. Процес, що стоїть за його схемою, включає сортування числових значень із набору в порядку їх частоти. Найменш часті числа поступово усуваються за допомогою дерева Хаффмана, яке додає дві найнижчі частоти із відсортованого списку у кожній новій "гілці". Потім сума розміщується над двома виключеними нижчими значеннями частоти та замінює їх у новому відсортованому списку . Щоразу, коли створюється нова гілка, вона переміщує загальний напрямок дерева або вправо (для більш високих значень), або вліво (для нижчих значень). Коли відсортований список вичерпується і дерево завершене, остаточне значення дорівнює нулю, якщо дерево закінчилося на лівому номері, або воно таке, якщо воно закінчилося праворуч. Це метод зведення складного коду на більш прості послідовності і поширений у кодуванні відео.
Техопедія пояснює Хаффмана Кодування
Стиснення даних має історію, що передує фізичним обчисленням. Наприклад, код Морзе стискає інформацію, присвоюючи короткі коди символам, які статистично є загальними в англійській мові (наприклад, букви "е" і "т"). Кодування Хаффмана виникла в результаті класового проекту в MIT його тодішнім студентом Девідом Хаффманом.
У 1951 році Хаффман брав заняття під Робертом Фано, який (за допомогою інженера і математика на ім'я Клода Шеннона) винайшов схему ефективності, відому як кодування Шеннона-Фано. Коли Фано дав своєму класу можливість написати курсову роботу або скласти підсумковий іспит, Хаффман обрав курсову роботу, яка прагнула знайти ефективний метод бінарного кодування. Це призвело до кодування Хаффмана, яке до 1970-х років стало визначним алгоритмом цифрового кодування.