Принцип кодирования по методу Фано заключается в использовании кодов переменной длины: часто встречающиеся символы кодируются меньшим числом бит, редко встречающиеся — большим. bibl.nngasu.ru ru.wikipedia.org
При этом соблюдается условие Фано: ни одно кодовое слово не должно быть началом другого. itchief.ru umschool.net Это гарантирует, что любое сообщение, закодированное с использованием таких кодов, можно будет расшифровать без ошибок и неоднозначностей. itchief.ru
Алгоритм кодирования по методу Фано включает следующие шаги: cito-web.yspu.org
- Все сообщения записываются в таблицу по степени убывания вероятности и разбиваются на две группы примерно равной вероятности. cito-web.yspu.org
- Из корня кодового дерева исходят два ребра, которым в качестве весов присваиваются полученные вероятности. cito-web.yspu.org
- Двум образовавшимся вершинам приписываются кодовые символы 0 и 1. cito-web.yspu.org
- Каждая из групп вероятностей вновь делится на две подгруппы примерно равной вероятности. cito-web.yspu.org
- Из каждой вершины 0 и 1 исходят по два ребра с весами, равными вероятностям подгрупп, а вновь образованным вершинам приписываются символы 00 и 01, 10 и 11. cito-web.yspu.org
- В результате многократного повторения процедуры разделения вероятностей и образования вершин вновь образованная вершина оказывается листом дерева, так как процесс деления вероятностей для неё завершён. cito-web.yspu.org
- Задача кодирования считается решённой, когда на всех ветвях кодового бинарного дерева образуются листья. cito-web.yspu.org