arithdeco

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

Описание

пример

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

Примеры

свернуть все

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

Укажите для символа 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 исходные символы, заданные в виде положительного числового вектора-строки.

Алгоритмы

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

Ссылки

[1] Сайуд, Халид. Введение в сжатие данных. 2nd ed. San Francisco: Morgan Kaufmann Publishers, 2000.

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