(57)【特許請求の範囲】
【請求項１】
データストリーム（ＤＳ）の符号化方法であって、
前記データストリーム（ＤＳ）は、アルファベットから成るシンボル（Ｓ）である複数のキャラクタを含み、前記データストリーム（ＤＳ）の前記キャラクタは、複数のブロック（Ｂ）にまとめられており、前記ブロック（Ｂ）は、個々のブロック（Ｂ）ごとに適用される符号テーブル（ＣＴ）に基づき、エントロピー符号化される、
データストリーム（ＤＳ）の符号化方法において、
・前記複数のブロック（Ｂ）を、距離値（ｄ）に基づき反復処理（ＩＴ）を通して、複数のクラスタ（ＣＬ）に割り当て、ただし前記距離値（ｄ）は、あるブロック（Ｂ）をあるクラスタ（ＣＬ）に追加したときの、該クラスタ（ＣＬ）のエントロピー（ＥＴ）の変化が小さくなるにつれて、該ブロック（Ｂ）と該クラスタ（ＣＬ）との距離値（ｄ）が小さくなるように、定義されており、前記各ブロックは、ブロックとクラスタとの距離値（ｄ）が最小のクラスタに、ブロックがそれぞれ割り当てられるように、前記反復処理（ＩＴ）の各反復ステップのたびに、前記各クラスタ（ＣＬ）に対して再割り当てされ、
・前記反復処理（ＩＴ）を通して決定されたクラスタ（ＣＬ）に、それぞれ１つの符号テーブル（ＣＴ）を割り当てる、なお、該符号テーブル（ＣＴ）は、個々のクラスタ（ＣＬ）中に含まれる複数のブロック（Ｂ）の少なくとも一部におけるシンボル（Ｓ）の頻度分布に基づき規定され、該符号テーブル（ＣＴ）は、個々のクラスタ（ＣＬ）のすべてのブロック（Ｂ）に適用される、
符号化方法において、
それぞれ１つのブロックから成る複数のクラスタ（ＣＬ）を決定し、ついで残りのブロック（Ｂ）を、該ブロック（Ｂ）とクラスタ（ＣＬ）との距離値（ｄ）が最小となるクラスタ（ＣＬ）にそれぞれ割り当てるように、前記反復処理（ＩＴ）を初期化し、
前記反復処理の初期化は、
最初に、データストリーム（ＤＳ）中、エントロピー（ＥＴ）が最小のブロック（Ｂ）を１つ決定し、該ブロック（Ｂ）から成る１つのクラスタ（ＣＬ）を形成し、
次に、既存のクラスタ（ＣＬ）までの最小距離値（ｄ）が最大であるブロック（Ｂ）を漸次決定し、この決定したブロックに対し、前記複数のクラスタ（ＣＬ）がそれぞれ１つのブロックを有するまで、この決定されたブロックから成るさらに別のクラスタを形成する、ことを含む
ことを特徴とする、符号化方法。
【請求項２】
各反復ステップごとに、すべてのクラスタ（ＣＬ）のエントロピーの和として総エントロピー（ＴＥ）を算出し、個々の反復ステップにおいて算出された総エントロピー（ＴＥ）と、先行の反復ステップにおいて算出された総エントロピー（ＴＥ）との差が、予め定められた閾値よりも小さければ、前記反復処理（ＩＴ）を中止する、
請求項１記載の方法。
【請求項３】
反復ステップの最大回数を超えたならば、前記反復処理（ＩＴ）を中止する、
請求項１または２記載の方法。
【請求項４】
前記ブロック（Ｂ）をハフマン符号化によってエントロピー符号化する、
請求項１から３のいずれか１項記載の方法。
【請求項５】
前記データストリーム（ＤＳ）は、ソフトウェア更新データ、例えば移動電話用のソフトウェア更新データを含む、
請求項１から４のいずれか１項記載の方法。
【請求項６】
データストリームを符号化するための符号化装置であって、
前記データストリーム（ＤＳ）は、アルファベットから成るシンボル（Ｓ）である複数のキャラクタを含み、前記データストリーム（ＤＳ）の前記キャラクタは、複数のブロック（Ｂ）にまとめられており、前記符号化装置（ＣＭ）は、個々のブロック（Ｂ）ごとに適用される符号テーブル（ＣＴ）に基づき、前記ブロック（Ｂ）をエントロピー符号化するために設けられており、
該符号化装置（ＣＭ）は、第１手段（Ｍ１）および第２手段（Ｍ２）を含み、
前記第１手段（Ｍ１）は、距離値（ｄ）に基づき反復処理を通して、前記複数のブロック（Ｂ）を複数のクラスタ（ＣＬ）に割り当てるものであり、ただし前記距離値（ｄ）は、あるブロック（Ｂ）をあるクラスタ（ＣＬ）に追加したときの、該クラスタ（ＣＬ）のエントロピー（ＥＴ）の変化が小さくなるにつれて、該ブロック（Ｂ）と該クラスタ（ＣＬ）との距離値（ｄ）が小さくなるように、定義されており、かつ、前記ブロック（Ｂ）は、ブロック（Ｂ）とクラスタ（ＣＬ）との距離値（ｄ）が最小のクラスタ（ＣＬ）に、該ブロック（Ｂ）がそれぞれ割り当てられるように、前記反復処理（ＩＴ）の反復ステップごとに、前記クラスタ（ＣＬ）に対しての再割り当てが行われ、
前記第２手段（Ｍ２）は、前記反復処理（ＩＴ）を通して決定されたクラスタ（ＣＬ）に、それぞれ１つの符号テーブル（ＣＴ）を割り当てるものであり、該符号テーブル（ＣＴ）は該第２手段（Ｍ２）によって、個々のクラスタ（ＣＬ）中に含まれる複数のブロック（Ｂ）の少なくとも一部におけるシンボル（Ｓ）の頻度分布に基づき規定され、かつ、該符号テーブル（ＣＴ）は、個々のクラスタ（ＣＬ）のすべてのブロック（Ｂ）に適用される、
符号化装置において、
前記符号化装置は以下のように構成されている、すなわち、
それぞれ１つのブロックから成る複数のクラスタ（ＣＬ）を決定し、ついで残りのブロック（Ｂ）を、該ブロック（Ｂ）とクラスタ（ＣＬ）との距離値（ｄ）が最小となるクラスタ（ＣＬ）にそれぞれ割り当てるように、前記反復処理（ＩＴ）を初期化し、
前記反復処理の初期化は、
最初に、データストリーム（ＤＳ）中、エントロピー（ＥＴ）が最小のブロック（Ｂ）を１つ決定し、該ブロック（Ｂ）から成る１つのクラスタ（ＣＬ）を形成し、
次に、既存のクラスタ（ＣＬ）までの最小距離値（ｄ）が最大であるブロック（Ｂ）を漸次決定し、この決定したブロックに対し、前記複数のクラスタ（ＣＬ）がそれぞれ１つのブロックを有するまで、この決定されたブロックから成るさらに別のクラスタを形成する、ことを含む、
ように構成されていることを特徴とする、
データストリームを符号化するための符号化装置。
【請求項７】
請求項２から５のいずれか１項記載の方法を実施するように構成されている、請求項６記載の符号化装置。
【請求項８】
データストリーム（ＤＳ）の送信方法において、
請求項１から５のいずれか１項記載の方法によってデータストリーム（ＤＳ）を符号化し、
該符号化したデータストリーム（ＣＤ）と、複数のクラスタ（ＣＬ）のための符号テーブル（ＣＴ）と、該符号テーブル（ＣＴ）がいずれのブロック（Ｂ）に適用されるのかの情報とを送信する
ことを特徴とする、
データストリーム（ＤＳ）の送信方法。
【請求項９】
データストリーム（ＤＳ）を送信するための送信装置において、
請求項６または７記載の符号化装置（ＣＭ）と、
該符号化装置（ＣＭ）により符号化されたデータストリーム（ＣＤ）と、複数のクラスタ（ＣＬ）のための符号テーブル（ＣＴ）と、該符号テーブル（ＣＴ）がいずれのブロック（Ｂ）に適用されるのかの情報とを送信する手段（ＳＭ）と
が設けられている
ことを特徴とする、
データストリーム（ＤＳ）を送信するための送信装置。
【請求項１０】
データストリームの伝送方法において、
前記データストリーム（ＤＳ）を、請求項８記載の方法によって送信し、受信装置（ＲＥ）により受信し、該受信装置は、複数のクラスタ（ＣＬ）のための符号テーブル（ＣＴ）と、該符号テーブル（ＣＴ）がいずれのブロック（Ｂ）に適用されるのかの情報とを用いて、符号化されたデータストリーム（ＣＤ）を復号化する
ことを特徴とする、
データストリームの伝送方法。
【請求項１１】
データストリーム（ＤＳ）の伝送装置において、
前記データストリーム（ＤＳ）を送信するための請求項９記載の送信装置（ＳＥ）と、受信手段（ＲＭ）および復号化装置（ＤＭ）を備えた受信装置（ＲＥ）とが設けられており、
前記受信手段（ＲＭ）は、符合化されたデータストリーム（ＣＤ）、および複数のクラスタ（ＣＬ）のための符号テーブル（ＣＴ）、ならびに該符号テーブル（ＣＴ）がいずれのブロック（Ｂ）に適用されるのかの情報を受信し、
前記復号化装置（ＤＭ）は、前記符号テーブル（ＣＴ）と、該符号テーブル（ＣＴ）がいずれのブロック（Ｂ）に適用されるのかの前記情報とを用いて、前記符号化されたデータストリーム（ＣＤ）を復号化する
ことを特徴とする、
データストリーム（ＤＳ）の伝送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データストリームの符号化方法、対応する符号化装置および送信装置に関する。この場合、データストリームには多数のキャラクタが含まれており、これらのキャラクタはアルファベットから成るシンボルを表す。さらに本発明は、データストリームの伝送方法および伝送装置にも関する。
【０００２】
従来技術から、データストリームを損失なくいわゆるエントロピー符号化によって圧縮することが知られている。この場合、データストリームにおいていっそう高い頻度で現れるシンボルには、いっそう短い符号が割り当てられるので、符号化されたデータストリームの全長が低減される。相応のシンボルと符号との対応づけは、シンボルに対応する符号が割り振られた符号テーブルに基づき行われる。シンボルの頻度は、データストリーム中の種々のセクションにおいてそれぞれ異なる可能性があるので、データストリームの種々のセクションもしくはブロックのために、場合によってはそれぞれ異なる符号テーブルを使用することができる。ただし、データストリームを復号化するための符号テーブルを対応する復号化器に伝送する必要があるので、テーブル数を適切に制限するのが望ましい。このため、制限された個数の符号テーブルを用いて、データストリームの効率的な符号化を実現する要求が存在する。
【０００３】
Farshid Golchin等による文献"Minimum-entropy cluster-ing and ist application to lossless image coding", PROC. OF INT. CONF. ON IMAGE PROCESSING, Bd. 2, １９９７年１０月２６日、第２６２〜２６５頁に開示されているエントロピー符号化によれば、符号化すべきブロックが反復的にクラスタに割り当てられる。この場合、クラスタへの割り当ては、個々のクラスタのエントロピーができるかぎり小さくなるようにして行われる。個々のクラスタに属するブロックは、個々のクラスタ内のシンボルの確率分布に基づきエントロピー符号化される。
【０００４】
本発明の課題は、符号テーブルを使用しながら、データストリームを損失なく高い圧縮率で符号化することにある。
【０００５】
この課題は、独立請求項に記載された特徴により解決される。従属請求項には、本発明の実施形態が記載されている。
【０００６】
本発明による方法は、アルファベットから成るシンボルを表す複数のキャラクタを含むデータストリームを符号化するために用いられる。たとえばそれらのキャラクタを相応のASCIIシンボルとすることができ、これはデータストリーム中、適切なビットシーケンスを介して表現される。データストリーム中のキャラクタは、データストリームにおいて相前後して続く複数のキャラクタから成る複数のブロックとしてまとめられる。その際、これら複数のブロックは、個々のブロックに対して適用される符号テーブルに基づき、エントロピー符号化される。
【０００７】
本発明による方法によれば、ブロックを反復処理を通して、距離値に基づき複数のクラスタに割り当てるものであって、この距離値は、あるブロックをあるクラスタに追加したとき、クラスタのエントロピーの（絶対値の）変化もしくは増加が小さくなるにつれて、ブロックとクラスタとの距離値が小さくなるように定義されている。この場合、反復処理における個々の反復ステップごとに、クラスタに対するブロックの再割り当てを行うのであるが、この再割り当ての際に、クラスタに対するブロックの距離値が最小のクラスタに、ブロックがそれぞれ割り当てられるようにする。ブロックと、このブロックが目下割り当てられているクラスタとの距離値は、このブロックとこのクラスタとの距離値を、このブロックを含めずに算出するようにして求められる。
【０００８】
エントロピーの上述の概念は、当業者にはよく知られている。エントロピーは、１つのクラスタ内で用いられている、アルファベットから成るシンボルを表す複数のキャラクタの平均情報量に対する尺度である。複数のシンボルｓの集合から成る全体でｎ個のキャラクタを含む１つまたは複数のブロックから成るクラスタに対するエントロピーは、次式のように定義される：
【数１】
0006005273.tif 000002
ここでＥＴはエントロピーを表し、クラスタ中に出現するシンボルｓが合計される。ただしｆ（ｓ）は、クラスタ中の対応するシンボルｓの頻度を表す。
【０００９】
本発明による方法によれば、反復処理を通して決定されたクラスタに、それぞれ１つの符号テーブルが割り当てられる。この符号テーブルは、個々のクラスタ中に含まれる複数のブロックの少なくとも一部におけるシンボルの頻度分布に基づき、特に個々のクラスタ中に含まれるすべてのブロックにおけるシンボルの頻度分布に基づき規定され、個々のクラスタのすべてのブロックに適用される。
【００１０】
本発明による方法によれば、適切なエントロピーベースの距離値を介して、頻度分布が類似している複数のブロックがクラスタにまとめられ、その結果、適切に規定された符号テーブルを介して、１つのクラスタにおける複数のブロックに対して、無損失のエントロピー符号化が高圧縮効率で達成されるようになる。本発明によれば、従来技術により知られているｋ平均アルゴリズムに依拠する反復処理に基づきクラスタリングが達成されるが、データ符号化の分野においてエントロピーベースの距離値とともにｋ平均アルゴリズムが用いられるのは初めてである。
【００１１】
本発明によれば、反復処理は次のようにして初期化される。すなわち、それぞれ１つのブロックから成る複数のクラスタが決定され、ついで残りのブロックすなわちまだいずれのクラスタにも割り当てられていないブロックが、そのブロックとクラスタとの距離値が最小のクラスタにそれぞれ割り当てられる。この場合、複数のクラスタはｋ個のクラスタに相応する（ｋ≧２）。ここでｋは、形成すべきクラスタについて予め定められた定数であり、したがって符号テーブルの個数と一致する。
【００１２】
本発明の一部ではないが、反復処理の上述の初期化に関する１つの簡単な変形によれば、それぞれ１つのブロックから成る複数のクラスタがランダムに決定される。本発明によれば、最初にデータストリーム中、エントロピーが最小のブロックが決定され、このブロックから成る１つのクラスタが形成される。次に、既存のクラスタまでの最小距離値が最大であるブロックがステップごとに決定され、この決定されたブロックのために、この決定されたブロックから成るさらに別のクラスタが形成されことが、それぞれ１つのブロックから成る上記の個数のクラスタが生成されるまで行われる。
【００１３】
本発明による方法の１つの実施形態によれば、各反復ステップごとに、すべてのクラスタのエントロピーの和として総エントロピーが算出され、個々の反復ステップにおいて算出された総エントロピーと、先行の反復ステップにおいて算出された総エントロピーとの差が、予め定められた閾値よりも小さければ、反復処理が中止される。これに加えて、または択一的に、反復ステップの最大回数を反復処理の中止判定基準として設定することができ、この場合、反復ステップの最大回数を超えると、反復処理が中止される。
【００１４】
本発明による方法において実施される、符号テーブルを用いたエントロピー符号化を、任意の無損失符号化法に依拠させることができる。１つの有利な実施形態によれば、エントロピー符号化はそれ自体公知のハフマン符号化である。
【００１５】
本発明による方法を、任意のデータストリームの符号化に利用することができる。本発明の１つの実施形態によれば、データストリームには、ソフトウェア更新データが含まれており、たとえば移動電話のためのソフトウェア更新データが含まれている。これらのデータによって、対応する機器のソフトウェアを最新の状態にすることができる。その際、ソフトウェア更新データには、以前のソフトウェアと新たな最新のソフトウェアとの差分が、ソフトウェア更新データに含まれるようにすると有利である。
【００１６】
本発明は上述の符号化方法のほか、データストリームを符号化するための符号化装置にも関する。この場合、データストリームには、アルファベットから成るシンボルを表す複数のキャラクタが含まれており、データストリーム中のこれらのキャラクタが複数のブロックにまとめられる。この符号化装置は、個々のブロックに適用される符号テーブルに基づき、ブロックをエントロピー符号化するために設けられている。
【００１７】
本発明による符号化装置には、距離値に基づき反復処理を通して、ブロックを複数のクラスタに割り当てるための第１手段が設けられている。ただし距離値は、あるブロックをあるクラスタに追加したときの、このクラスタのエントロピーの増大が小さくなるにつれて、このブロックとこのクラスタとの距離値が小さくなるように、定義されている。反復処理における個々の反復ステップ中、クラスタに対するブロックの再割り当てが行われるが、その際、このブロックとこのクラスタとの距離値が最小のクラスタに、このブロックがそれぞれ割り当てられるようにする。さらに符号化装置には、反復処理を通して決定されたクラスタに、それぞれ１つの符号テーブルを割り当てられるための第２手段が設けられている。その際、第２手段によって符号テーブルは、個々のクラスタ中に含まれる複数のブロックの少なくとも一部におけるシンボルの頻度分布に基づき、特に個々のクラスタ中に含まれるすべてのブロックにおけるシンボルの頻度分布に基づき規定され、かつ、個々のクラスタのすべてのブロックに適用される。本発明による符号化装置は、本発明による方法を実施するように構成されている。
【００１８】
有利には本発明による符号化装置は、本発明による方法に関する１つまたは複数の有利な実施形態をこの符号化装置によって実施できるように構成されている。
【００１９】
さらに本発明は、データストリームの送信方法にも関する。この場合、データストリームは、本発明による上述の方法によって符号化される。ついで、符号化されたデータストリームと、複数のクラスタのために適切に規定された符号テーブルと、これらの符号テーブルがいずれのブロックに適用されるのかの情報とが、送信される。
【００２０】
さらに本発明は、データストリームを送信するための送信装置にも関する。この送信装置には、上述の本発明による符号化装置と、この符号化装置によって符号化されたデータストリーム、および複数のクラスタのための符号テーブル、ならびにこれらの符号テーブルがいずれのブロックに適用されるのかの情報を送信するための手段とが設けられている。
【００２１】
さらに本発明は、データストリームの伝送方法にも関する。この場合、データストリームは、上述の本発明による送信方法によって送信され、受信装置により受信される。この受信装置は、複数のクラスタのための符号テーブルと、これらの符号テーブルがいずれのブロックに適用されるのかの情報とを用いて、符号化されたデータストリームを復号化する。
【００２２】
さらに本発明は、データストリームの伝送装置にも関する。この伝送装置には、データストリームを送信するための上述の本発明による送信装置と、受信装置とが含まれている。この受信装置は、符号化されたデータストリーム、および複数のクラスタのための符号テーブル、ならびにこれらの符号テーブルをいずれのブロックに適用するのかの情報を受信するための受信手段を備えている。受信装置にはさらに、符号テーブルと、これらの符号テーブルをいずれのブロックに適用するのかの情報とを用いて、符号化されているデータストリームを復号化するための復号化装置も設けられている。
【００２３】
次に、添付の図面を参照しながら本発明の実施例について説明する。
【図面の簡単な説明】
【００２４】
【図１】本発明による方法において実施されるクラスタの決定について示す図
【図２】本発明による方法に基づき、データストリームが送信装置により符号化されて送信され、ついで受信装置により受信されて復号化されるシステムを示す図
【００２５】
ここで説明する本発明による方法の実施形態によれば、アルファベット（例えばASCIIシンボル）から成るシンボルとして多数のキャラクタを表すデータストリームが、損失のないエントロピー符号化によって符号化される。符号化にあたり、データストリーム中で相前後する複数のキャラクタがブロックとしてまとめられ、各ブロックは対応する符号テーブルによってエントロピー符号化される。その際に各ブロックの符号テーブルを介して、シンボルの頻度分布に基づき対応する符号ワードがシンボルに割り当てられる。つまり対応するブロックにおいて、あるシンボルの頻度が少なければ少ないほど、符号ワードが短くなる。損失のないこのようなエントロピー符号化自体は、従来技術で知られているものであり、有利な実施形態ではハフマン符号化が適用される。本発明において重要であるのは、類似した頻度分布をもつ複数のブロックが、適切な手法でクラスタとしてまとめられ、常に個々のクラスタごとにしか符号テーブルが作成されないことである。このようにすれば、効率的な符号化を最大の圧縮率で達成することができる。
【００２６】
次に図１を参照しながら、データストリームの個々のブロックとクラスタとの対応づけについて説明する。入力量として、シンボルＳの形態で対応するキャラクタを含むデータストリームＤＳが処理され、それらのシンボルＳは複数のブロックＢとしてまとめられている。ここで説明する方法においては、相応の距離値ｄとエントロピーＥＴとが考慮され、後述するように、これらを介してブロックとクラスタとの対応づけが行われる。ブロックとクラスタとの対応づけは、従来技術から公知のｋ平均アルゴリズムに依拠しており、このアルゴリズムが初めてエントロピー符号化の分野において、エントロピーに依存する特別な距離値に基づき使用される。
【００２７】
一般にｋ平均アルゴリズムの目標は、各オブジェクトからそれらの個々のクラスタの重心までの距離の和を最小化することである。この目的で、複数の反復ステップにおいて各オブジェクトが、重心が最も近くにあるクラスタに対応づけられる。各反復ステップが終了するたびに、クラスタ重心（クラスタにおける対応するオブジェクトの平均値）が新たに計算される。この目的で、適切な距離の定義が必要とされる。本発明による方法によれば、符号化すべきデータストリーム中の対応するブロックによってオブジェクトが表現され、そして、距離が、あるブロックがクラスタに追加されるときのそのクラスタにおけるエントロピーの値の増加に基づいて、定義される。その際、このようなエントロピーに基づく距離関数を用いることによって、類似したシンボル頻度分布をもつブロックがまとめられので、１つのクラスタの複数のブロックのために同じ符号テーブルが使用されることから、きわめて良好な圧縮が行われるようになる。
【００２８】
ブロックもしくはクラスタのエントロピーは、従来技術においてよく知られている値であり、ブロックもしくはクラスタ内の相応のシンボルの圧縮率の下方限界を表している。エントロピー値が高い場合、ブロックもしくはクラスタ中に現れるすべてのシンボルの頻度は類似している。これに対しエントロピー値が低い場合、大きい頻度は僅かなシンボルでしか発生しない。
【００２９】
数学的には、それぞれ対応する１つのシンボルｓによって表されているｎ個のキャラクタから成るブロックもしくはクラスタのエントロピーＥＴは、そのブロックもしくはクラスタ中に含まれるシンボルｓの頻度ｆ（ｓ）に基づき、以下のように記述することができる：
【数２】
0006005273.tif 000003
上記の式および以下では、ｌｏｇは２を底とする対数である。この場合、ブロックもしくはクラスタにおいて現れるすべてのシンボルｓが加算される。上記の式と等価なものとして、エントロピーを以下のように記述することもできる；
【数３】
0006005273.tif 000004
【００３０】
ここで、ｎb個のキャラクタを有するブロックｂが、ｎc個のキャラクタを有するクラスタｃに追加されると、組み合わせのエントロピーが、以下の値だけ増大する：
【数４】
0006005273.tif 000005
【００３１】
0006005273.tif 000006
は、ブロックｂ内のブロックｂで出現する相応のシンボルＳbの頻度に対応し、
0006005273.tif 000007
は、クラスタｃ内のブロックｂで出現する相応のシンボルの頻度に対応する。
ここで、
0006005273.tif 000008
が成り立つとき、上記の式の最後の項がなくなる。上記の値δc,bは、ブロックｂがクラスタｃに追加されたときのクラスタｃのエントロピーの変化を表しており、特許請求の範囲に記載されているような距離値の１つの実施形態である。図１において、距離値は参照符号ｄによって表されている。ここで述べた距離値δc,bは、あとで説明するｋ平均アルゴリズムによる反復処理において用いられる。
【００３２】
図１によれば、ｋ平均アルゴリズムに依拠する反復処理ＩＴが実際に行われる前に、ステップＳ１およびＳ２において適切な初期化が実行される。予め定められたｋ個の作成すべき符号テーブルに基づき、最初に初期化の第１ステップＳ１において、それぞれ単一のブロックから成るｋ個のクラスタが形成される。ここで説明する実施形態の場合にはその際に、上述の距離値δc,bに従って互いにかなり離れて位置するブロックが探索される。この場合、データストリーム中、最小のエントロピーを有するブロックが最初に探索される。このブロックによって第１クラスタが形成される。その後、（ｋ―１）回、すでに形成された各クラスタに対して最小間隔が最大であるブロックが探索される。このブロックから新たなクラスタが形成される。
【００３３】
ここで述べたステップＳ１について、および以降のステップについても、以下では適切な疑似コードによって表す。なお、それらの疑似コード中のコメントを、二本のスラッシュで表す。疑似コード中の値entropy (b)は、上記の通り定義された相応のブロックｂのエントロピーＥＴに対応する。同様に、distance (b, c)は、上記の通り定義されたブロックｂとクラスタｃとの間の距離値ｄもしくはδc,bに対応する。
【００３４】
上記のステップＳ１の疑似コードは以下の通りである：
0006005273.tif 000009
【００３５】
0006005273.tif 000010
【００３６】
このようにしてステップＳ１の実行後、それぞれ１つのブロックを含むｋ個のクラスが生成される。ついでステップＳ２において、まだクラスタに割り当てられていない残りの各ブロックが、それら個々のブロックまでの距離値が最小のクラスタに割り当てられる。これは以下の疑似コードに基づき行われる：
0006005273.tif 000011
【００３７】
そしてステップＳ２に続いて、本来の反復処理ＩＴが行われる。この場合、反復ステップ各々において、クラスタに対するブロックの再割り当てが実行され、この再割り当ては、エントロピーベースの距離値に基づき、最も近いクラスタを決定して、そのブロックをそのクラスタ中へ移動させることによって行われる。ここで、ブロックとそのブロックが目下存在しているクラスタとの間の距離値を求めるために、そのクラスタからそのブロックを取り出して、そのブロックとそのクラスタとの距離値が求められる。個々の反復ステップの実行後は、各クラスタが変更されてしまい、その結果として、次の反復ステップにおいて、ブロックのクラスタへの割り当てにおいて差異が発生する可能性がある。
【００３８】
クラスタに対するブロックの反復的な再割り当てを、以下の疑似コードによって表すことができる。これによれば以下に示すwhileループは、変数changeが状態trueにセットされるまで続けられる：
0006005273.tif 000012
【００３９】
上記の疑似コードによれば、個々の反復ステップにおいて決定されたすべてのクラスタのエントロピーの和によって、総エントロピーが求められる。ここでnew_entropyは、目下の反復ステップにおいて求められた総エントロピーを表し、old_entropyは、先行の反復ステップにおいて求められた総エントロピーを表す。図１では参照符号ＴＥが付されている、目下の反復ステップにおいて求められたエントロピーは、反復処理ＩＴの中止判定基準として用いられ、このことは矢印Ｐによって表されている。この目下のエントロピーが、先行の反復ステップによる総エントロピーに対し、まえもって定められた閾値（疑似コードでは"epsilon"と称されている）よりも僅かにしか隔たっていなければ、反復処理ＩＴは終了する。なぜならば、総エントロピーにおいて変化が生じておらず、もしくは僅かな変化しか生じていないからである。別の中止判定基準として上記の疑似コードによれば、最大反復回数max_iterが用いられる。最大反復回数を超えると、同様に反復処理ＩＴが中止される。
【００４０】
上述の方法の結果としてｋ個のクラスタが得られ、これらは図１では参照符号ＣＬで表されている。この場合、各クラスタに対し、データストリームから相応のブロックが割り当てられている。同じクラスタに属するすべてのブロックは、同じ符号テーブルによってエントロピー符号化される。そのため、本発明による方法の次のステップにおいて（このステップは図１にはもはや示されていない）、個々のクラスタに属するブロック中のシンボルの頻度分布に基づき、それ自体公知の手法で符号テーブルが生成され、このテーブルは図１では全体として参照符号ＣＴで表されている。これらの符号テーブルを用いることで、ブロック中のシンボルに符号ワードが割り当てられ、これによってデータストリームのエントロピー符号化が達成される。次に、符号化されたデータストリームを、符号テーブルおよびブロックと符号テーブルとの対応づけとともに、相応の伝送区間を介して伝送することができ、符号テーブルおよびブロックと符号テーブルとの相応の対応づけを用いることによって、受信側でデータストリームを復号化することができる。図２には、これに対応するシナリオが描かれている。
【００４１】
図２に示されているシステムによれば、元のデータストリームＤＳが符号化され、伝送区間を介して伝送され、ついでそれらが復号化される。この場合、データストリームＤＳが送信装置ＳＥによって処理される。この送信装置ＳＥには、本発明による方法を実施するための手段Ｍ１およびＭ２を備えた符号化装置ＣＭが含まれている。手段Ｍ１において、相応のクラスタが上述の反復期間内で決定される。次に手段Ｍ２において、適切な符号テーブルがクラスタ中のシンボルの頻度分布に基づき規定され、対応するブロックに割り当てられる。その後、これらの符号テーブルを用いて、符号化装置ＣＭにおいてエントロピー符号化が行われる。これによって生成された符号化されたデータストリームＣＤが、次に付加情報ＩＮとともに、送信装置ＳＥの相応の送信手段ＳＭを介して送信され、伝送区間Ｕを介して伝送される。送信手段ＳＭには例えばアンテナを含めることができ、したがって符号化されたデータストリームＣＤおよび情報ＩＮがワイヤレスで伝達される。情報ＩＮには、適切に規定された符号テーブルならびにデータストリームのブロックと符号テーブルとの対応づけが含まれている。
【００４２】
データストリームＣＤおよび情報ＩＮは、次に受信装置ＲＥにより相応の受信手段ＲＭを介して受信される。ワイヤレス伝送であれば、受信手段に相応の受信アンテナを設けることができる。次に復号化装置ＤＭにおいて、情報ＩＮに含まれる符号テーブルとそれらの符号テーブルとブロックとの対応づけを利用して、符号化されたデータストリームが復号化される。そして最終的に、本来のデータストリームＤＳが再び取得され、これはエントロピー符号化によって損失なく再現可能である。
【００４３】
本発明による方法の既述の実施形態は、一連の利点を有している。適切なエントロピーベースの距離値によって、データストリームにおける符号化すべきブロックを、類似したシンボル頻度分布をもつクラスタにまとめることができる。このようにして、各クラスタについて規定された相応の符号テーブルを介して、データストリームの効率的なエントロピー符号化を達成することができる。この場合、クラスタは、データ符号化の分野ではこれまで用いられていなかったｋ平均法に依拠して決定される。まえもって生成された符号テーブルセットを用いてデータストリームを符号化する従来の方法に比べて、いっそう改善された圧縮結果を達成することができる。
【図１】
0006005273.tif 000013
【図２】
0006005273.tif 000014