Метод Фано в современных системах передачи данных работает на основе алгоритма Шеннона — Фано. ru.wikipedia.org spravochnick.ru Он использует коды переменной длины: часто встречающийся символ кодируется кодом меньшей длины, редко встречающийся — кодом большей длины. ru.wikipedia.org
Основные этапы алгоритма: ru.wikipedia.org
- Символы первичного алфавита выписывают по убыванию вероятностей. ru.wikipedia.org
- Символы полученного алфавита делят на две части, суммарные вероятности символов которых максимально близки друг другу. ru.wikipedia.org
- В префиксном коде для первой части алфавита присваивается двоичная цифра «0», второй части — «1». ru.wikipedia.org
- Полученные части рекурсивно делятся, и их частям назначаются соответствующие двоичные цифры в префиксном коде. ru.wikipedia.org
- Когда размер подалфавита становится равен нулю или единице, то дальнейшего удлинения префиксного кода для соответствующих ему символов первичного алфавита не происходит, таким образом, алгоритм присваивает различным символам префиксные коды разной длины. ru.wikipedia.org
Коды Шеннона — Фано — префиксные, то есть никакое кодовое слово не является префиксом любого другого. ru.wikipedia.org Это свойство позволяет однозначно декодировать любую последовательность кодовых слов. ru.wikipedia.org