Main Content

arithdeco

算術復号化によるバイナリ符号の復号化

説明

dseq = arithdeco(code,counts,len) は、code 内の 2 値算術符号を復号化して、len シンボルの対応するシーケンスを復元します。入力 counts で、ソースのアルファベットの各シンボルがテスト データセット内に出現する回数をリストしてソースの統計値を指定します。code は関数 arithenco の出力でなければなりません。

すべて折りたたむ

2 シンボル アルファベットを含むソースを使用して、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

入力引数

すべて折りたたむ

2 値算術符号。非負のバイナリ行ベクトルとして指定します。この値は関数 arithenco で生成される 2 値算術符号でなければなりません。

データ型: double

シンボルの統計値。正の数値ベクトルとして指定します。この入力で、ソースのアルファベットの各シンボルがテスト データ セット内に出現する回数を指定します。

データ型: double

復号化するシーケンスの長さ。正のスカラーとして指定します。

データ型: double

出力引数

すべて折りたたむ

len 個のソース シンボルのシーケンスからなる、復号化された算術符号。正の数値行ベクトルとして指定されます。

アルゴリズム

関数 arithdeco は、[1]で説明されているアルゴリズムを使います。

参照

[1] Sayood, Khalid. Introduction to Data Compression. 2nd ed. San Francisco: Morgan Kaufmann Publishers, 2000.

バージョン履歴

R2006a より前に導入

参考

関数

トピック