最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

arithenco

算術符号化を使用したシンボル シーケンスの符号化

構文

code = arithenco(seq,counts)

説明

code = arithenco(seq,counts) は、ベクトル seq で指定されたシンボル シーケンスに対応する 2 値算術符号を生成します。ベクトル counts は、ソースのアルファベットの各シンボルがテスト データ セット内に出現する回数をリストして、ソースの統計値を示します。

すべて折りたたむ

この例は、状況によって算術符号化で可能な圧縮を説明します。ソースは、2 シンボル アルファベットを含み、99% のシンボルが 1 であるテスト データ セットを生成します。このソースから 1000 個のシンボルを符号化すると、1000 要素よりも少ないコード ベクトルを生成します。符号化されたシーケンス内の実際の要素数は個々のランダム シーケンスに応じて異なります。

99% の確率で 1 が発生するように counts を設定します。

counts = [99 1];

長さ 1000 のランダム データ シーケンスを生成します。

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

シーケンスを符号化し、符号化された長さを表示します。

code = arithenco(seq,counts);
s = size(code)
s = 1×2

     1    57

符号化シーケンスの長さは元のシーケンスの長さのわずか 5.7% になります。

アルゴリズム

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

参照

[1] Sayood, Khalid, Introduction to Data Compression, San Francisco, Morgan Kaufmann, 2000.

参考

トピック

R2006a より前に導入