Кодиране на информация за знаци - MT1402 Теоретични основи на информатиката
Азбучно неравномерно двоично кодиране със сигнали с еднаква продължителност. Префикс кодове
Както подсказва името, при методите за кодиране, свързани с тази група, символите на първичната азбука (например руска) се кодират чрез комбинации от символи на двоичната азбука (т.е. 0 и 1), освен това дължината на кодовете и съответно продължителността на предаването на отделен код може да варира. Продължителността на елементарните сигнали е еднаква %% (τ_0 = τ_1 = τ) %%. Очевидно е необходимо време %% K (A, 2) \ cdot τ %% за прехвърляне на информация, средно, на знак от първичната азбука.
По този начин проблемът с оптимизирането на неравномерното кодиране може да бъде формулиран по следния начин: да се изгради кодираща схема, при която общата продължителност на кодовете по време на предаването (или общият брой на кодовете по време на съхранението) на дадено съобщение би била най-малка.
Как е възможна тази оптимизация? Очевидно е, че общата продължителност на съобщението ще бъде по-кратка, ако се приложи следният подход: на тези знаци от първичната азбука, които се срещат по-често в съобщението, се присвояват по-кратки кодове, а на тези, чиято относителна честота е по-малка - по-дълги кодове. С други думи, кодовете от символи на първичната азбука, чиято вероятност в съобщението е по-голяма, трябва да се конструират от възможно най-малкия брой елементарни сигнали, а дълги кодове да се използват за знаци с ниска вероятност.
Успоредно с това трябва да се реши проблемът с разграничаването на кодовете. Представете си, че на изхода на кодера се получава следната последователност от елементарни сигнали:
Как може да се декодира? Ако кодът беше еднороден, приемащото устройство просто би преброило даден (фиксиран) брой чипове (например 5, както е в кода на Бодо) и ги интерпретира според кодовата таблица. Когато се използва неравномерно кодиране, са възможни два подхода за осигуряване на различимостта на кодовете. Първият е да се използва специален чип модел, който се интерпретира от декодера като разделител на символи. Втората е в използването на префикс кодове. Нека разгледаме по-отблизо всеки от подходите.