Aritmetické kódování – applet

V apletu je možné si vyzkoušet aritmetické kódování zadaného slova krok po kroku.

Ovládání apletu

Po startu apletu je ve vstupním poli přednastavený řetězec – abcaab. Ten je možné editovat, ale řetězec je omezen na max. 13 různých znaků při 15 znacích celkově (to je z důvodu limitované numerické přesnosti počítače, která by jinak způsobila, že zpráva není zakódována jednoznačně; to platí pro zcela základní algoritmus aritmetického kódování jako je tento).

Tlačítkem Spustit započne kódování. Ihned poté se vypíše tabulka obsahující četnosti znaků ve vstupní zprávě, aktivují se tlačítka Krok a Reset. Prvním z nich posouváme celý výpočet po jednom kroku. Pri každém takovém posunutí se mění údaje v tabulce – nyní obsahují i informace o aktuálním kódovaném intervalu. Zároveň se nad tabulkou zobrazuje aktuálně kódovaný znak (červeně). Jakmile je kódovací proces na konci, tlačítko Krok se deaktivuje. Výsledné slovo vzniká z dočasného krokovacího slova ořezáním na takový počet platných bitů, aby dekodér mohl jednoznačně rekonstruovat z této posloupnosti jedniček a nul původní zprávu.

Po kódování je možné projít krok po kroku i procesem dekódování. Z binárního řetězce, který zastupuje desetinné číslo mezi nulou a jedničkou, se pak postupně určují jednotlivé znaky zprávy.

Aplet ukazuje také kompresní poměr tj. počet bitů kódované zprávy ku počtu bitů původní zprávy, kdy se předpokládá, že každý nekódovaný znak je popsán šestnácti bity.

Setkáme se i s algoritmy, kdy tabulka četností již existuje předem. To není tento případ, zde se tabulka vytváří pro každou zprávu zvlášť.


(c) 2014 Miroslav Riško, Pavel Rajmic, Ústav telekomunikací, FEKT, VUT v Brně