arithdeco

Декодируйте двоичный код с помощью арифметического декодирования

Синтаксис

dseq = arithdeco(code,counts,len)

Описание

dseq = arithdeco(code,counts,len) декодирует код двоичной арифметики в векторном code восстановить соответствующую последовательность len символы. Векторный counts представляет статистику источника путем листинга числа раз, каждый символ алфавита источника происходит в наборе тестовых данных. Эта функция принимает что данные в code был произведен arithenco функция.

Примеры

свернуть все

Установите counts вектор так, чтобы тот произошел 99% времени.

counts = [99 1];

Установите длину последовательности на 1 000. Сгенерируйте случайную последовательность.

len = 1000;
seq = randsrc(1,len,[1 2; .99 .01]);

Арифметически закодируйте случайную последовательность затем, декодируйте закодированную последовательность.

code = arithenco(seq,counts);
dseq = arithdeco(code,counts,length(seq));

Проверьте, что декодируемая последовательность совпадает с исходной последовательностью.

isequal(seq,dseq)
ans = logical
   1

Алгоритмы

Эта функция использует алгоритм, описанный в [1].

Ссылки

[1] Sayood, Халид, введение в сжатие данных, Сан-Франциско, Моргана Кофманна, 2000.

Представлено до R2006a