arithdeco

Декодируйте двоичный код арифметическим декодированием

Описание

пример

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

Примеры

свернуть все

Используя источник с алфавитом 2D символа, произведите набор тестовых данных, в котором 99% символов составляют 1 с. Закодируйте 1 000 символов из этого источника, чтобы дать вектор кода меньше чем с 1 000 элементов. Фактическое число элементов в закодированной последовательности варьируется в зависимости от конкретной случайной последовательности.

Задайте для символа 1 от исходного алфавита, чтобы произойти 99 раз в наборе тестовых данных.

counts = [99 1];

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

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

Входные параметры

свернуть все

Код двоичной арифметики в виде неотрицательного вектора строки двоичных знаков. Это значение должно быть кодом двоичной арифметики, произведенным arithenco функция.

Типы данных: double

Статистика символов в виде положительного числового вектора. Этот вход задает число раз, каждый символ исходного алфавита происходит в наборе тестовых данных.

Типы данных: double

Длина последовательности, чтобы декодировать в виде положительной скалярной величины.

Типы данных: double

Выходные аргументы

свернуть все

Декодируемый арифметический код с последовательностью len исходные символы в виде положительного числового вектора-строки.

Алгоритмы

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

Ссылки

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

Смотрите также

Функции

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