(57)【特許請求の範囲】
【請求項１】
データセットにおけるデータの符号化方法であって、
以下の動作、即ち、
ａ）整数値ｉ＝０と参照データベースとを規定することと、
ｂ）ｉ番目の一時的コードリスト（ＴＣＬ（ｉ））中にデータを記憶することと、
ｃ）値を含んでいる前記ｉ番目の一時的コードリスト（ＴＣＬ（ｉ））中の各位置において、前記参照データベースに記憶されている同じ対応する値の位置を指示するインデックスにより前記値を置換することによって、前記ｉ番目の一時的コードリスト（ＴＣＬ（ｉ））からｉ番目のホルダ（ホルダ（ｉ））を生成することと、
ｄ）一連の新しい一時的コードを生成し、前記一連の新しい一時的コードを（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））中に配置することと、
ここで、前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））において、各新しい一時的コードは、前記ｉ番目のホルダ（ホルダ（ｉ））からの少なくとも２つの値を常に組み合わせる予め定められた式Ｆを使用して計算される、
ｅ）値を含んでいる前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））中の各位置において、前記参照データベースに記憶されている同じ対応する値の位置を指示するインデックスにより前記値を置換することによって、前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））から（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））を生成することと、
ｆ）前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））と前記（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））とのうちの少なくとも一方が、２度以上１以上の値を含むか否かをチェックし、
ノーならば、動作ｇ）へジャンプし、
イエスならば、ｉの値を１インクリメントして、動作ｄ）へジャンプすることと、
ｇ）符号化を終了することと、
を含む、データの符号化方法。
【請求項２】
前記ｉ番目の一時的コードリスト（ＴＣＬ（ｉ））からの全ての特有値のみを一度のみ含んでいるリストを生成し、それを前記参照データベースの一部分を形成するｉ番目の永久コードリスト（ＰＣＬ（ｉ））に記憶することにより、動作ｃ）を開始することと、
前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））からの全ての特有値のみを一度のみ含んでいる後続するリストを生成し、それを前記参照データベースの一部分を形成する（ｉ＋１）番目の永久コードリスト（ＰＣＬ（ｉ＋１））に記憶することにより、動作ｅ）を開始することと、
を含んでいる請求項１記載のデータの符号化方法。
【請求項３】
前もって設定された完全な又は部分的なユニバーサル参照データベースを使用すること、を含んでいる請求項１記載のデータの符号化方法。
【請求項４】
前記参照データベースは部分的にユニバーサルであり、
前記符号化方法は、
前記ｉ番目の一時的コードリスト（ＴＣＬ（ｉ））からの複数の値が前記部分的にユニバーサルな参照データベースにまだ現れていないならば、前記ｉ番目の一時的コードリスト（ＴＣＬ（ｉ））からの複数の値を前記部分的にユニバーサルな参照データベースに付加することにより、動作ｃ）を開始することと、
前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））からの複数の値が前記部分的にユニバーサルな参照データベースにまだ現れていないならば、前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））からの複数の値を前記部分的にユニバーサルな参照データベースに付加することにより、動作ｅ）を開始することと、
により、前記部分的にユニバーサルな参照データベースを拡張すること、を含んでいる請求項３記載のデータの符号化方法。
【請求項５】
前記参照データベース中の値を指示する前記インデックスは、可変ビット符号化方式に従って構成される請求項３記載のデータの符号化方法。
【請求項６】
損失のない圧縮アルゴリズムが前記参照データベースに適用される請求項２または４記載のデータの符号化方法。
【請求項７】
各ｉ番目および（ｉ＋１）番目の永久コードリストが別々に記憶され、
各ｉ番目および（ｉ＋１）番目のホルダは、可能な限り小さい整数値でコンパイルされる請求項２記載のデータの符号化方法。
【請求項８】
前記予め定められた式は、少なくとも、以下のコンポーネント、即ち、
【数１】
0005453399.tif 000013
を有する請求項１乃至７のいずれか１項記載のデータの符号化方法。
【請求項９】
前記予め定められた式は、
【数２】
0005453399.tif 000014
請求項１乃至７のいずれか１項記載のデータの符号化方法。
【請求項１０】
Ｎは、ｉの各値に対して定数値を有している請求項８または９記載のデータの符号化方法。
【請求項１１】
Ｎは、ｉの同じ値に対して定数値を有するが、ｉの異なる値に対して別の値を有することができる請求項８又は９記載のデータの符号化方法。
【請求項１２】
各ホルダは、複数の連続的なインデックス値を含み、
前記複数の連続的なインデックス値は、１の値ずつ互いに常に異なっており、
ベース値は、前記予め定められた式が適用されるホルダ中の最高のインデックス値よりも少なくとも１高い値を有している請求項８乃至１１のいずれか１項記載のデータの符号化方法。
【請求項１３】
動作ｇ）の後、最終的に生成されたホルダ（ホルダ（ｉ＋１））又はその参照を含むエンドコードがコンパイルされ、
前記エンドコードと、各ｉおよび（ｉ＋１）番目の一時的コードリストの計算に使用される前記予め定められた式に関するデータとを、復号ユニットに対して利用可能にする請求項１乃至１２のいずれか１項記載のデータの符号化方法。
【請求項１４】
前記最終的に生成されたホルダ（ホルダ（ｉ＋１））は、複数のインデックス値を含み、
前記複数のインデックス値は、１の値ずつ互いに常に異なっており、
前記エンドコードは、最高のインデックス値に等しいことを特徴とする請求項１３記載のデータの符号化方法。
【請求項１５】
前記参照データベースは、
サイズ順に分類された一連のコードを有し、
前記一連のコードを新しい一連のコードにより置換することによって、サイズを圧縮され、
前記新しい一連のコードは、
前記一連のコードからの最大値と、
前記一連のコードからの最大値と、前記一連のコードからの複数の残りのコードとの間における全ての差の値と、
のみを含む請求項１乃至１４のいずれか１項記載のデータの符号化方法。
【請求項１６】
プロセッサとメモリとを具備し、
前記プロセッサに請求項１乃至１５のいずれか１項記載の方法を実行する能力を与えるように構成されたメモリデータおよびコンピュータプログラムの複数の命令が記憶されている符号化ユニット。
【請求項１７】
プロセッサに請求項１乃至１４のいずれか１項記載の方法を実行させるように構成されたコンピュータプログラム。
【請求項１８】
請求項１７記載のコンピュータプログラムを記憶しているコンピュータ読み出し可能記録媒体。
【請求項１９】
エンドコードの復号方法であって、
以下の動作、即ち、
ａ）エンドコードとｉの値とを受信することと、
ここで、前記エンドコードは、符号化ユニットまたは特有のその参照によって最終的に生成された（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））を含む、
ｂ）参照データベース中の複数の値を指示する複数のインデックス値として、前記（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））中の複数の値を使用することと、
ｃ）（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））中の各位置において、その位置に対応するインデックス値により指示される前記参照データベース中の値を配置することにより、前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））中の複数の値を計算することと、
ｄ）復号式を前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））へ適用することにより、ｉ番目のホルダ（ホルダ（ｉ））中の複数の値を計算することと、
ここで、前記復号式は、前記（ｉ）番目のホルダ（ホルダ（ｉ））からの少なくとも２つの値を常に組み合わせる予め定められた式Ｆの逆公式である、
ｅ）前記参照データベース中の複数の値を指示する複数のインデックス値として前記ｉ番目のホルダ（ホルダ（ｉ））中の前記複数の値を使用することと、
ｆ）前記ｉ番目のホルダ（ホルダ（ｉ））中の各位置において、その位置に対応するインデックス値により指示される前記参照データベース中の値を配置することによって、ｉ番目の一時的コードリスト（ＴＣＬ（ｉ））中の複数の値を計算することと、
ｇ）１だけ前記ｉの値をデクリメントし、
ｉ≧０ならば、復号式を前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））へ適用することによりｉ番目のホルダ（ホルダ（ｉ））中の複数の値を計算し、
ここで、前記復号式は、前記ｉ番目のホルダ（ホルダ（ｉ））からの少なくとも２つの値を常に組み合わせる予め定められた式Ｆの逆公式である、
動作ｅ）に戻り、
ｉ＜０ならば、動作ｈ）にジャンプすることと、
ｈ）ｉ＝０である場合は、前記ｉ番目のホルダからオリジナルデータセットを獲得することと、
による、エンドコードの復号方法。
【請求項２０】
プロセッサおよびメモリを具備し、
前記プロセッサに請求項１９記載の方法を実行する能力を与えるように構成されたメモリデータおよびコンピュータプログラムの複数の命令が記憶されている復号ユニット。
【請求項２１】
プロセッサに請求項１９記載の方法を実行させるように構成されたコンピュータプログラム。
【請求項２２】
請求項２１記載のコンピュータプログラムを記憶しているコンピュータ読み出し可能記録媒体。
【請求項２３】
請求項１６記載の符号化ユニットと請求項２０記載の復号ユニットとを具備している符号化／復号システム。
【請求項２４】
ａ）複数の入力データエレメントを受信することと、
ここで、前記複数の入力データエレメントは、
I．Ｍ＊Ｍマトリックスへ複数のデータエレメントを分割し、なお、Ｍは整数値である、
II．前記Ｍ＊ＭマトリックスへＤＣＴプロセスを適用し、複数のＤＣＴデータエレメントを有するＭ＊Ｍ  ＤＣＴマトリックスをレンダリングし、
III．前記複数の入力データエレメントをレンダリングする予め定められた下限と上限との間の複数の値で前記Ｍ＊Ｍ  ＤＣＴマトリックスにおける全ての値を量子化する、
ことによって得られる、
ｂ）少なくとも以下のコンポーネントを有する予め定められた式Ｆを適用し、  
【数３】
0005453399.tif 000015
第１の一連のコードをレンダリングすることと、
ｃ）第１の一時的コードリスト（ＴＣＬ（０））中に、前記第１の一連のコードを記憶することと、  
ｄ）値を含む前記第１の一時的コードリスト（ＴＣＬ（０））の各位置において、参照データベースに記憶されている同じ対応する値の位置を指示するインデックスにより前記値を置換することによって、前記第１の一時的コードリスト（ＴＣＬ（０））から第１のホルダ（ホルダ（０））を生成することと、  
ｅ）一連の第２の一時的コードを生成し、第２の一時的コードリスト（ＴＣＬ（１））中に前記一連の第２の一時的コードを配置することと、
ここで、前記第２の一時的コードリスト（ＴＣＬ（１））において、各新しい一時的コードは、ベース値ＢＮの異なる値を使用して、前記第１のホルダ（ホルダ（０））からの少なくとも２つの値を常に組み合わせる前記予め定められた式Ｆを使用して計算される、
ｆ）値を含む前記第２の一時的コードリスト（ＴＣＬ（１））中の各位置において、前記参照データベースに記憶されている同じ対応する値の位置を指示するインデックスにより前記値を置換することによって、前記第２の一時的コードリスト（ＴＣＬ（１））から第２のホルダ（ホルダ（１））を生成することと、
を含んでいる、符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スペースを節約する方法で、情報損失がなくデジタル画像、音声および／またはテキスト情報が符号化され、記憶され、受信され、復号される符号化／復号の分野に関する。
【背景技術】
【０００２】
デジタル画像はＢ＊Ｈ画像点または画素のマトリックスである（画素＝ピクチャエレメント）。各画素の色はＤビットのある値により決定される。完全な画像はしたがってＢ＊Ｈ＊Ｄビットにより記述される。
【０００３】
［例：］  
画素当り２４ビットを有する７２０×５７６（ＤＶＤフィルムの標準的な解像度）の画像（トゥルーカラー）は７２０×５７６×２４＝９，９５３，２８０ビットまたは１，２４４，１６０バイトまたは１．１９ＭＢ．８ビット＝１バイト、１０２４バイト＝１ＫＢ（キロバイト）、１０２４ＫＢ＝１ＭＢ（メガバイト）により表される。
【０００４】
ビデオフィルムの典型的な再生速度は１秒当り２５画像（秒当りのフレーム、ｆｐｓ）である。このことは前述の例からのデータを有するフィルムの１秒間が１秒当り３０ＭＢまたは単位時間当り１００，０００を超えるＭＢを含んでいることを意味している。コンピュータの通常のメモリ容量はかなり大きいが、実際にはフィルムの時間当り１００ＧＢ（ギガバイト＝１０２４ＭＢ）を記憶することは可能ではない。ＤＶＤは例えば５と１７ＧＢの間の記憶容量を提供する。単純な記憶方法、即ちフィルムの全てのビットの記憶はしたがって実際には応用可能ではない。
【０００５】
特に、必要とされるデータのメモリ容量を減少するための異なる方法が２つ存在する。即ち、  
１）冗長の減少：この場合、情報は別の表示に変換され、それによって同じ情報は少ないスペースに記憶されることができる。オリジナル情報は常に損失なしに検索されることができる。  
２）入力情報の変更：この場合、例えば情報の無関係の部分、例えば音声の場合の不可聴周波数または画像情報の場合の不可視部は除去され、或いは入力情報は別の方法で変更され、それによって連続的な圧縮ステップはより効率的に動作を開始する。この種のデータの減少の場合には、オリジナル情報は正確に検索されることができない。
【０００６】
W. D. Hagamen, e.a.の“Encoding verbal information as unique numbers”、IBM syst、No.4、1972年、278-315頁（以後、短くHagamen, e.a.[1972]と呼ぶ）はテキストの損失のない符号化方式を提案している。第１に、数値が全ての文字、数字、句読点、ブランクに割当てられる。その後各ワードの文字がひとまとめに考えられ、ある方式の補助によって、ワード当りのコードが計算される。したがって同一のワードは同一のコードを受ける。連続的なワードのコードは一時的なワードリストに連続的に置かれる。一時的なワードリスト中の全ての特有コードは一度に永久的なワードリストに記憶される。その後、永久的なワードリスト中の特有の対応する値の位置を参照するインデックスによりその各コードを置換することによって、一時的なワードリストに基づいてホルダが作成される。勿論、大きなオリジナルテキストの場合、このホルダは通常、依然として冗長を含んでいる。プロセスはそれ故ワードのグループおよび後続するワードのグループ等のように、全体的なオリジナルテキストを表す１つのエンドコードに到達するまで反復される。
【０００７】
各符号化のラウンドでは、Hagamen, e.a.[1972]は以下の形式を有する式を使用している。
【数１】
0005453399.tif 000002
【０００８】
Hagamen, e.a.[1972]では、復号ユニットはエンドコードと全ての永久的なワードリスト、および各ラウンドで取られた符号化ステップ、即ちラウンド当りに使用されたベース値ＢＮと、使用された符号化ラウンドの総数を知っているならば、完全に失われていないオリジナルテキストを検索できる。
【０００９】
Hagamen, e.a.[1972]により説明された技術の欠点は実現されることのできるデータの減少に関して依然として完全に最適ではないことである。
【発明の概要】
【００１０】
本発明の目的は、データ減少の方法を提供し、同じ量のデータが少ないメモリスペースを使用して記憶されることができ、所望されるときに受信機／復号ユニットへ送信できるようにすることである。ここで記載され請求されているデータの符号化／復号プロセスは１）ではここで前述した技術を使用する。したがってデータの符号化はデータの任意の損失なく行われ、符号化は完全に「損失がなく」行われる。オリジナルの符号化データは復号手段によりそのオリジナル形式において損失なく完全に検索されることができる。請求された技術はHagamen, e.a.[1972]により開示されている符号化機構の改良である。
【００１１】
本発明は後述する種々の独立した請求項により特徴付けされる。実施形態の形式は独立請求項で請求されている。
【００１２】
要約すると、本発明による符号化方法は少なくとも以下の動作を含んでいる。  
ａ）整数ｉ＝０と参照データベースを規定し、
ｂ）ｉ番目の一時的コードリスト（ＴＣＬ（ｉ））にデータを記憶し、
ｃ）値を含んでいるその各位置において、参照データベースに記憶されているものと同じ対応値の位置を参照するインデックスにより値を置換することによって、ｉ番目の一時的コードリスト（ＴＣＬ（ｉ））からｉ番目のホルダ（ホルダ（ｉ））を発生し、
ｄ）一連の新しい一時的コードを発生し、それを（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））に配置し、ここで各新しい一時的コードは常にｉ番目のホルダ（ホルダ（ｉ））から少なくとも２つの値を組み合わせる予め定められた式Ｆを使用して計算され、
ｅ）値を含んでいるその各位置において、参照データベースに記憶されているものと同じ対応値の位置を参照するインデックスにより値を置換することによって、（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））から（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））を発生し、
ｆ）（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））と（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））の少なくとも一方が２度以上１以上の値を含むか否かをチェックし、ノーならば動作ｇ）へジャンプし、イエスならばｉ値を１インクリメントし、動作ｄ）へジャンプし、
ｇ）符号化を終端する。
【００１３】
しかしながら、本発明はまた、プロセッサおよびメモリを有する符号化ユニットに関しており、ここでメモリデータとコンピュータプログラムの指令が記憶され、これらがプロセッサにこの方法を実行する能力を与えるように構成される。
【００１４】
本発明はまた、データおよび命令を有するコンピュータプログラムプロダクトに関し、これらはプロセッサにより受信された後、この方法を実行する能力をプロセッサに提供する。
【００１５】
本発明はまた、このようなコンピュータプログラムプロダクトが与えられたデータキャリア又は信号に関する。
【００１６】
要約すると、本発明による復号方法は少なくとも以下の動作を含んでいる。  
ａ）符号化ユニットまたは特有のその参照によって最終的に発生されたｉ＋１番目のホルダ（ホルダ（ｉ＋１））を含むエンドコードを受信し、
ｂ）参照データベース中の値を参照するインデックス値として（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））中の値を使用し、
ｃ）その位置に対応するインデックス値を有する参照データベースからの値をｉ＋１番目のホルダ（ホルダ（ｉ＋１））の各位置に配置することにより（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））中の値を計算し、
ｄ）復号式を（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））へ適用することによりｉ番目のホルダ（ホルダ（ｉ））中の値を計算し、その復号式はｉ番目のホルダ（ホルダ（ｉ））から（ｉ＋１）番目の一時的コードリストを計算するために符号化ユニットにより使用されている式の逆公式であり、ここでｉ番目のホルダ（ホルダ（ｉ））は（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））のＮ倍もの値を具備し、Ｎ≧２であり、
ｅ）参照データベース中の値を参照するインデックス値としてｉ番目のホルダ（ホルダ（ｉ１））中の値を使用し、
ｆ）ｉ番目のホルダ（ホルダ（ｉ））中の各位置において、その位置に対応するインデックスを有する参照データベースからの値を位置付けることによって、ｉ番目の一時的コードリスト（ＴＤＣＬ（ｉ）中の値を計算し、
ｇ）ｉ値を１だけデクリメントし、ｉ≧０ならば、復号式を（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））へ適用することによりｉ番目のホルダ（ホルダ（ｉ））中の値を計算し、復号式はｉ番目のホルダ（ホルダ（ｉ））から（ｉ＋１）番目の一時的コードリストを計算するため符号化ユニットにより使用されている式の逆公式であり、ここでｉ番目のホルダ（ホルダ（ｉ））は（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））のＮ倍もの値を具備し、Ｎ≧２であり、動作ｅ）に戻り、ｉ＜０ならば、動作ｈ）にジャンプし、
ｈ）ｉ番目のホルダからオリジナルデータセットを得る。ｉ＝０である。
【００１７】
復号期間中、エンドコードは符号化ユニットにより作られた最後のホルダに位置されている事実が使用される。エンドコードは関連する最後のホルダ中の１以上のインデックス値からなる。復号期間中、関連されるホルダからのインデックス値は参照データベース中の数値の位置を参照する各復号ラウンドで得られる。参照データベース中の数値の位置に対する参照は新しい一時的コードリストを生じる。そこから、逆公式を使用して、対応する新しいホルダが得られる。復号プロセスはオリジナルホルダが得られるまで反復される。
【００１８】
本発明はまたプロセッサおよびメモリを具備する復号ユニットに関し、メモリデータとコンピュータプログラムの命令は記憶され、これらが復号方法を実行する能力をプロセッサに与えるように構成される。
【００１９】
本発明またデータおよび命令を有するコンピュータプログラムプロダクトに関し、これらはプロセッサにより受信された後、復号方法を実行する能力をプロセッサに提供する。
【００２０】
本発明はまたこのような符号化ユニットと復号ユニットを具備する符号化／復号システムに関する。
【００２１】
本発明を以後幾つかの図面を参照して詳細に説明する。図面は実施形態を示すだけで、本発明を限定するものではなく、本発明は特許請求の範囲によって決定される。技術的に等価の解決策は特許請求の範囲の技術的範囲内に入るものと考えられる。
【図面の簡単な説明】
【００２２】
【図１】符号化ユニットと復号ユニットの概略構造を示す図である。
【図２】本発明の連続的な符号化動作を説明する表である。
【図３】例示的なビデオフレームにおける４つの連続的な８＊８マトリックスから発生する４つのＤＣＴマトリックスを示す図である。
【図４】ジグザグパターンで読み出された後、これらの４つのＤＣＴマトリックスから生じる４つのＤＣＴマトリックスを示す図である。
【図５ａ１】これらの４つのジグザグパターンマトリックスで実行される第１の符号化ラウンドの結果を示す図である。
【図５ａ２】これらの４つのジグザグパターンマトリックスで実行される第１の符号化ラウンドの結果を示す図である。
【図５ｂ１】これらの４つのジグザグパターンマトリックスで実行される第１の符号化ラウンドの結果を示す図である。
【図５ｂ２】これらの４つのジグザグパターンマトリックスで実行される第１の符号化ラウンドの結果を示す図である。
【図６−１】第１の符号化ラウンドの結果で実行される第２の符号化ラウンドの結果を示す図である。
【図６−２】第１の符号化ラウンドの結果で実行される第２の符号化ラウンドの結果を示す図である。
【図７】符号化ラウンド１と２から生じる参照データベースおよびあるコードが生じる回数を示す図である。
【図８】あるコードがデータベースで生じる頻度を考慮するとき図７の参照データベースが認識されることができる態様を示す図であり、最も頻繁な値が関係する参照データベースで可能な限りの最低位置に位置される。
【図９ａ１】図４の４つのジグザグパターンマトリックスで行われるが、図８の参照方式を使用しながら行われる第１の符号化ラウンドの結果を示す図である。
【図９ａ２】図４の４つのジグザグパターンマトリックスで行われるが、図８の参照方式を使用しながら行われる第１の符号化ラウンドの結果を示す図である。
【図９ｂ１】図４の４つのジグザグパターンマトリックスで行われるが、図８の参照方式を使用しながら行われる第１の符号化ラウンドの結果を示す図である。
【図９ｂ２】図４の４つのジグザグパターンマトリックスで行われるが、図８の参照方式を使用しながら行われる第１の符号化ラウンドの結果を示す図である。
【図１０−１】図９ａ１、９ａ２、９ｂ１、９ｂ２の第１の符号化ラウンドの結果に置いて行われる第２の符号化ラウンドの結果を示す図である。
【図１０−２】図９ａ１、９ａ２、９ｂ１、９ｂ２の第１の符号化ラウンドの結果に置いて行われる第２の符号化ラウンドの結果を示す図である。
【図１１】図３の４つの連続的な８＊８マトリックスから生じる４つのＤＣＴマトリックスを示す図であり、第１のマトリックスは後続するジグザグパターンでそれを読取った後に図３の第１のマトリックスから生じ、第２、第３、第４のマトリックスはジグザグパターンでそれらを読取った後に、それぞれオリジナルの第２、第３、第４のマトリックスとそれらのプレデセッサーとの間の差の決定から決定される。
【図１２ａ１】図１１の４つのジグザグパターンマトリックスで行われる第１の符号化ラウンドの結果を示す図である。
【図１２ａ２】図１１の４つのジグザグパターンマトリックスで行われる第１の符号化ラウンドの結果を示す図である。
【図１２ｂ１】図１１の４つのジグザグパターンマトリックスで行われる第１の符号化ラウンドの結果を示す図である。
【図１２ｂ２】図１１の４つのジグザグパターンマトリックスで行われる第１の符号化ラウンドの結果を示す図である。
【図１３−１】図１２ａ１、１２ａ２、１２ｂ１、１２ｂ２の第１の符号化ラウンドの結果で行われる第２の符号化ラウンドの結果を示す図である。
【図１３−２】図１２ａ１、１２ａ２、１２ｂ１、１２ｂ２の第１の符号化ラウンドの結果で行われる第２の符号化ラウンドの結果を示す図である。
【図１４】図１２ａ１、１２ａ２、１２ｂ１、１２ｂ２と１３−１、１３−２の符号化ラウンド１と２から生じた参照データベースと、あるコードが生じる回数を示す図である。
【図１５】あるコードがデータベースで生じる頻度を考慮するとき図１４の参照データベースが認識されることができる態様を示す図であり、最も頻繁な値が関係する参照データベースで可能な限りの最低位置に位置される図である。
【図１６ａ１】図１１の４つのジグザグパターンマトリックスで行われるが、図１５の参照方式を使用しながら行われる第１の符号化ラウンドの結果を示す図である。
【図１６ａ２】図１１の４つのジグザグパターンマトリックスで行われるが、図１５の参照方式を使用しながら行われる第１の符号化ラウンドの結果を図である。
【図１６ｂ１】図１１の４つのジグザグパターンマトリックスで行われるが、図１５の参照方式を使用しながら行われる第１の符号化ラウンドの結果を図である。
【図１６ｂ２】図１１の４つのジグザグパターンマトリックスで行われるが、図１５の参照方式を使用しながら行われる第１の符号化ラウンドの結果を図である。
【図１７−１】図１６ａ１、１６ａ２、１６ｂ１、１６ｂ２の結果で行われる第２の符号化ラウンドの結果を示す図である。
【図１７−２】図１６ａ１、１６ａ２、１６ｂ１、１６ｂ２の結果で行われる第２の符号化ラウンドの結果を示す図である。
【図１８】６４値ベクトルの最初の３４値は予め定められた式で２つの連続的な値の組合せを使用して符号化され、６４値ベクトルの最後の３０値は一度に符号化される符号化の１例を示す図である。
【図１９−１】６４値ベクトルの最初の３４値は予め定められた式で２つの連続的な値の組合せを使用して符号化され、６４値ベクトルの最後の３０値は一度に符号化される符号化の１例を示す図である。
【図１９−２】６４値ベクトルの最初の３４値は予め定められた式で２つの連続的な値の組合せを使用して符号化され、６４値ベクトルの最後の３０値は一度に符号化される符号化の１例を示す図である。
【図２０−１】６４値ベクトルの最初の３４値は予め定められた式で２つの連続的な値の組合せを使用して符号化され、６４値ベクトルの最後の３０値は一度に符号化される符号化の１例を示す図である。
【図２０−２】６４値ベクトルの最初の３４値は予め定められた式で２つの連続的な値の組合せを使用して符号化され、６４値ベクトルの最後の３０値は一度に符号化される符号化の１例を示す図である。
【図２１】図１８乃至図２０−２と同じ動作を示す図であるが、異なるマトリックスに適用されている。
【図２２−１】１８乃至図２０−２と同じ動作を示す図であるが、異なるマトリックスに適用されている。
【図２２−２】１８乃至図２０−２と同じ動作を示す図であるが、異なるマトリックスに適用されている。
【図２３−１】１８乃至図２０−２と同じ動作を示す図であるが、異なるマトリックスに適用されている。
【図２３−２】１８乃至図２０−２と同じ動作を示す図であるが、異なるマトリックスに適用されている。
【発明を実施するための形態】
【００２３】
［序文］  
図１は本発明が適用されることができるシステムの通常のセットアップを示している。このシステムは符号化ユニット１を有し、これは送信機の機能を実現することもできる。符号化ユニット１はメモリ７に接続されているプロセッサ５を具備している。プロセッサ５は入力／出力装置（Ｉ／Ｏ）９とＩ／Ｏ11にも接続されている。Ｉ／Ｏ９を介して、プロセッサ５は接続13を通してデータを受信できる。接続13はワイヤでもよく、無線で構成されてもよい。本発明では、どのような波長の電磁放射が無線通信で使用されるかは重要ではない。Ｉ／Ｏ11を介して、プロセッサ５は接続15を介してデータを出力でき、これはワイヤ接続または無線接続に関係することもできる。
【００２４】
メモリでは、プロセッサ５が、本発明によるデータの符号化およびその後のその送信のようなある機能を提供することを可能にする１以上のソフトウェアプログラムおよびデータが記憶される。
【００２５】
図１はプロセッサ５により生成される符号化されたデータが送信されることができる異なる方法を示している。送信は例えばワイヤを介して行われることができる。二重矢印31はその代りに、生成されたデータが無線で受信機に送信されることができることを示している。これは無線、テレビジョンの文脈内で、または１端末から別の端末で行われることができる。端末は例えば移動体電話、ＰＤＡ（パーソナル・デジタル・アシスタント）、ＭＰ３プレーヤ或いはマルチメディアプレーヤ等である。代わりに、発生されたデータは光ディスク（例えばＣＤ、ＤＶＤ）、磁気テープ35またはメモリスティックのようなメモリカード37のようなデータキャリアに記憶されることができる。他の記憶形態も勿論可能である。
【００２６】
符号化ユニット１により発生される信号は受信機又は復号ユニット３により受信される。復号ユニット３はメモリ23に接続されるプロセッサ21を具備している。プロセッサ21は入力／出力装置（Ｉ／Ｏ）19とＩ／Ｏ25にも接続されている。Ｉ／Ｏ19を介して、プロセッサ21は接続17を通してデータを受信できる。Ｉ／Ｏ25を介して、プロセッサ21はデータ、例えばオーディオデータを高声器（ヘッドホン）へ出力でき、および／またはビデオデータをモニタまたはディスプレイ29へ出力できる。
【００２７】
復号ユニット３はＣＤまたはＤＶＤプレーヤ、テープレコーダ、（今日のＭＰ３プレーヤのような）メモリチップに記憶されたデータに基づくプレーヤ、移動体電話、ＰＤＡ、ブラックベリー等のような任意の所望の構造を有することができる。
【００２８】
示されているメモリは、ハードディスク、読取り専用メモリ（ＲＯＭ）、電気的消去可能なプログラム可能の読取り専用メモリ（ＥＥＰＲＯＭ）とランダムアクセスメモリ（ＲＡＭ）の１以上を具備することができる。これらのメモリタイプ全てが必ずしも存在する必要はない。さらに、これらはそれぞれのプロセッサに対して物理的に近くに位置される必要はない。これらはそれに関して遠隔的に位置されることもできる。
【００２９】
実施形態では、それぞれのプロセッサはキーボードおよびマウスのようなユーザによる命令、データ等の入力手段に接続されている。当業者に知られているタッチスクリーン、トラックボールおよび／またはスピーチ変換器のような他の入力手段も使用することができる。
【００３０】
それぞれのプロセッサに接続されている読取りユニットも設けられる。このような読取りユニットはフロッピー（登録商標）ディスク、メモリスティック、磁気テープ、ＣＤ−Ｒ、ＤＶＤ−ＲまたはＣＤＲＯＭのようなデータキャリアからデータを読取るように構成されている。
【００３１】
それぞれのプロセッサは、出力データを紙面に印刷するためのプリンタおよび表示ユニット、例えばモニタ或いはＬＣＤ（液晶ディスプレイ）スクリーン又は当業者に知られている任意のタイプの表示ユニットに接続されることができる。
【００３２】
プロセッサはデータの受信および送信のための適切な入力／出力手段により、通信ネットワーク、例えばＰＳＴＮ（公衆交換電話網）、広域網（ＷＡＮ）、インターネット等に接続されることができる。
【００３３】
プロセッサは個々のシステムとして、またはそれぞれがより大きいプログラムのサブタスクを実行するように構成されている並列して動作する複数のプロセッサとして、或いは種々のサブプロセッサを有する１以上のプロセッサとして構成されることができる。本発明の機能の一部は、所望ならば、ネットワークを介してそれぞれのプロセッサと通信する遠隔プロセッサにより実行されることさえもできる。
【００３４】
［特有数値におけるデータの符号化］  
コード化プログラムはデジタルデータ（画像、音声、テキスト、文字）をスペースを節約したフォーマットに変換する。デジタルデータは少なくとも画像、音声および／またはテキスト（この場合では、テキストは文字のシーケンスの任意のランダムな形態を意味するものと理解される）を含んでいる。本発明による符号化ステップでは、データの損失が生じる圧縮技術は使用しない。圧縮技術はデータが省略されるか事前処理され、それによってオリジナルデータが検索できなくなる技術である。このような既知の圧縮技術の使用結果はデータ処理前に存在するようなオリジナルデータに関して品質の（何等か）損失を発生する。このような圧縮技術の幾つかは例えばＦＰＥＧ、ＭＰＥＧ、ＭＰ３等の場合に行われる符号化ステップの一部として使用される。これらの既知の符号化技術の他の部分はしかしながら損失がない。
【００３５】
以後説明する符号化技術はデータの損失を生じるいかなる圧縮技術も使用しない。全てのオリジナルデータは符号化され、そのオリジナル状知で損失のない方法で完全に復号されることができる。勿論、このようなオリジナルデータはそれ自体、幾つかのデータ入力が符号化され必ずしも損失がない他の復号技術の出力であることができる。勿論、入力データに到達するようにこのようなオリジナルデータへ復号プロセスを適用することはこのような入力データを損失無く得ることにつながる。これはオリジナルデータがある入力データにおけるＤＣＴ（デジタルコサイン変換）の最終結果である１実施形態出を説明するとき以後さらに詳細に説明され、それにおいては量子化の動作も行われる。
【００３６】
付加的で重要ではない利点は、本発明の使用によって、オリジナル画像、音声および／またはテキストデータが符号化されそのオリジナル形態で復号されることができ、記憶容量はＪＰＥＧ、ＭＰＥＧ、ＭＰ３により使用される圧縮技術よりも低いことである。
【００３７】
［符号化プロセス］  
符号化プロセスは幾つかの符号化ラウンドからなり、これは原理的に、ラウンド数に関して、完全に自由に決定されることができる。Hagamenによる従来技術では、符号化ラウンドの最大数は、ただ１つのエンドコードが最後のホルダで発生される瞬間によって決定される。
【００３８】
しかしながら、本発明によれば符号化ラウンドの最大数は、符号化ラウンドにおいて、もはや更なるデータ減少に到達できなくなった瞬間により決定される。即ち、符号化プロセスはすぐに終端されることができ、減少がもはや実現されなくなる瞬間は１つのみのエンドコードがホルダに存在するときよりもすぐに（時には非常にはやく）終端されることが発見されている。符号化プロセスは記載されているように、あるホルダが１、２、３、４，………Ｎのような直接連続する数値のみからなると、すぐに完了されることができる。符号化ラウンド当りの特有の結果は参照データベースで記憶される。
【００３９】
本質的に、またさらに説明されるように、参照データベースは２つの異なる形式でコンパイルされることができ、第１の形式では、ユニバーサル参照データベースが使用され、第２の形式では参照データベースは符号化ユニット１による符号化期間中に作成される。第２の技術では、符号化が行われる符号化ユニット１により後に拡張される最小のユニバーサル標準データベースを使用して恐らく開始される。
【００４０】
符号化されるデータは符号化されるデータの１以上のバイトを表す数値として提示されるか、または符号化されるデータは特有の数値による先行する符号化により表される。１以上のバイトの配置は本発明には本来必要ではないが、現在のコンピュータでは最も明白である。バイトの符号化の場合、これらの数値は０乃至２５５の範囲内、即ち２５６の異なる数値に存在する。本発明による符号化／復号はバイトレベルにおける符号化／復号に限定されない。画像情報の符号化／復号の場合、符号化／復号は個々の画像線Ｒ、Ｇ、Ｂ、バイトマトリックス、画素マトリックス等のレベルでさえもこれらのマトリックスのサイズにかかわりなく行われることができる。
【００４１】
連続的な符号化ラウンドについて本発明をさらに説明する。開始点は次のように規定されることのできるデータセットである。即ちデータセットはコンピュータファイルまたはストリームから発生するランダムディメンションのランダムデータを含んでいる。ほとんど、あらゆるコンピュータファイルはバイトのあるセットを具備する。これらのバイトは二進形態でコンピュータに記憶され、各バイトはほとんどが８ビットであるが、他の数も可能である。１バイト（８ビット）の範囲はコンピュータファイルで使用されるバイト数よりも非常に小さいので、反復は回避できず、その結果としてここで提案されているアルゴリズムは異種のデータセットに適用可能である。
【００４２】
［符号化ラウンド１］  
図２を参照すると、連続的な符号化ラウンドの動作および結果を表示している表が示されている。実施形態では、本発明は一時的コードリストＴＣＬ（ｉ）（ｉ＝０、１、２、３…Ｉ）と共に参照データベースを形成するＦｉ永久コードリストＰＣＬ（ｉ）、ホルダ、ホルダ（ｉ）および関数Ｆｉを使用する。実施形態では、第１の一時的コードリストＴＣＬ（０）は符号化アルゴリズムの入力に等しく、符号化されるデータセットから得られる。第１の永久コードリストＰＣＬ（０）はまた説明するようにオリジナルデータセットから得られる。
【００４３】
図２の表は例示として、１６バイトのデータセットに基づいた連続的な動作を示している（図２の表のバイトの表示は１６進数の形式であり、ＦＦは例えば１１１１１１１１を表し、０Ｃは００００１１００を表す）。実際に、ビデオファイル（ＤＶＤ）またはオーディオファイル（ＣＤ）のような非常に大きなデータセットが使用される。そのデータセットは符号化ユニット１のメモリに記憶されることができるが、外部ソースから符号化ユニット１により受信されてもよい。第１の一時的コードリストＴＣＬ（０）は読込まれたデータセットに等しく、プロセッサ５がその動作を行うとき記憶装置に存在する。
【００４４】
プロセッサ５は一時的コードリストＴＣＬ（０）中の全てのファイルをチェックする。バイトがプロセッサ５により読み出されて既に先に読まれたデータセットのバイトに等しくないことが判明する度に、プロセッサ５は永久コードリストＰＣＬ（０）でその新しいコードを作る。示されているように、データセットが全ての論理的に可能なバイト値を有しないならば、永久コードリストＰＣＬ（０）もしたがって全ての論理的に可能なバイト値を有しない。しかし一時的コードリストＴＣＬ（０）は全ての論理的に可能なバイト値を含まない。図２のデータセットでは、４つのみの特有値、即ちＦＦ、１２、０Ｃ、１３が生じ、これは永久コードリストＰＣＬ（０）に一度だけ含まれる。永久コードリストＰＣＬ（０）はプロセッサ５によりメモリ７に記憶される。
【００４５】
その後、プロセッサ５は第１のホルダであるホルダ（０）を発生する。ホルダ（０）は一時的コードリストＴＣＬ（０）と丁度同数のエレメントを含む。バイトが一時的コードリストＴＣＬ（０）に存在した各位置では、ホルダ（０）はしかしながら永久コードリストＰＣＬ（０）中のこのオリジナルバイトの値の位置に対する参照（インデックス）だけを含む。インデックスは永久コードリストＰＣＬ（ｉ）に記憶されるとしてこの値を参照する。したがって“１”は“ＦＦ”を指し、“２”は“１２”を指し、“３”は“０Ｃ”を指し、“４”は“１３”を指す。
【００４６】
実施形態では、ホルダ（０）の内容はプロセッサ５によって、例えばランレングス符号化の適用よって長さを減少される。したがって、成功すれば、ホルダ（０）中のエレメント数は減少され、符号化に必要とされるインデックス値は少なくなる。これはその後、対応する永久コードリストＰＣＬ（０）の必要とされる記憶容量を少なくする。さらに、これはより高速度の符号化プロセスにつながる。データ減少の同じ形態が１以上のその後のホルダであるホルダ（ｉ）でも適用されることができる。
【００４７】
非常に大きいデータセットの場合には、幾つかのバイト値は他のバイト値よりも非常に頻繁に生じることが発見される可能性がある。プロセッサ５はオリジナルデータセットまたは一時的コードリストＴＣＬ（０）のいずれかを解析することによりこのことを確立することができる。原理的に、永久コードリストＰＣＬ（０）中のバイト値はその後例えば当業者に知られているような可変ビット符号化方式を使用することによってメモリ７中にスペースを節約する方法で記憶されることができる。あるバイト値がより頻繁に発生する程、特有バイト値を永久コードリストＰＣＬ（０）に記憶するのに必要とされるビット数は少なくなる。それに加えて、例えばハフマン符号化方式はより効率的にＰＣＬ（０）中にバイト値を記憶するために使用されることができるが、本発明はそれに限定されない。（例えばＪＰＥＧで使用されるような）２次元符号化方式を含めた当業者に知られている他の損失のない方式が使用されることができる。
【００４８】
第１の符号化ラウンドでは、したがって第１の永久コードリストＰＣＬ（０）が形成され記憶される。代わりに、出発点としてユニバーサルコードリストを取ることが可能であり、ここではバイトの全ての可能な値が生じ（即ち２５６ピース）、バイト値は可変のビット符号化方式にしたがって前もって規定されることができる。符号化方式はその後、あるバイト値が平均してデータセットで生じる頻度に基づく。これはデータセットがビデオ、オーディオまたはテキストを表すかに基づいている。データセットがテキストを表すならば、符号化方式は言語またはテキストのタイプ（例えばソフトウェアプログラム）に基づく。あるバイト値がより頻繁に生じると、永久コードリストＰＣＬ（０）に記憶される必要のあるビット数は少なくなる。ハフマン符号化方式は例えばこのために使用されることができるが本発明はそれに限定されない。２次元符号化方式も含めた任意の他の損失のない方式が使用されることができる。
【００４９】
［符号化ラウンド２］  
符号化ラウンド２では、ホルダ（０）に記憶されるインデックス値は新しい一時的コードリストＴＣＬ（１）を構築するために使用される。この場合、新しいコード値は予め定められた関数Ｆ１（ホルダ（０））を使用してプロセッサ５により計算される。したがって例えばホルダ（０）からの少なくとも好ましくは２つの連続する値に対して関数Ｆ１が適用される。しかしながら本発明はそれに限定されない。図２の表に示されているように、一時的コードリストＴＣＬ（１）中に連続する値Ｆ１（１；２）、Ｆ１（１；１）、Ｆ１（３；４）等を生じる。
【００５０】
プロセッサ５は一時的コードリストＴＣＬ（１）に存在する異なる値の数を再度チェックし、プロセッサ５は一時的コードリストＴＣＬ（１）で生じる特有値のみが存在する永久コードリストＰＣＬ（１）を構築する。図２の表に示されている例では、これらは値Ｆ１（１；２）、Ｆ１（１；１）、Ｆ１（３；４）である。プロセッサ５はまた永久コードリストＰＣＬ（１）をメモリ７に記憶し、これをこれらが永久コードリストＰＣＬ（０）から弁別されることができる方法で行う。その後、プロセッサ５は一時的コードリストＴＣＬ（１）と丁度同数のエレメントを有する新しいホルダであるホルダ（１）を構築するが、ここでは各位置において、一時的コードリストＴＣＬ（１）からのオリジナル値の代わりに、永久コードリストＰＣＬ（１）中の値の位置を参照するインデックスが存在する。
【００５１】
前述したように、プロセッサ５は一時的コードリストＴＣＬ（１）またはホルダ（１）のいずれかに基づいて、ある値が永久コードリストＰＣＬ（１）で生じる頻度を確立する。これは最も頻繁に生じる値が最短のコードで記憶される可変ビット符号化方式で、値を永久コードリストＰＣＬ（１）に確立するためプロセッサ５によって使用されることができる。これはハフマン符号化または当業者に知られている別の方式を使用して行われることができる。
【００５２】
関数Ｆ１に対して使用されることができるコンピュータに適した式を以下述べる。  
【数２】
0005453399.tif 000003
【００５３】
→Ｖはホルダ（０）の連続値から形成されたベクトルであり、これは一時的コードリストＴＣＬ（１）を構築するため関数Ｆ１において共に使用される。前述の例では、ベクトル→Ｖは毎回２つの値（Ｖ１，Ｖ２）だけを有する。図２の表によれば、ベクトル→Ｖは連続する値（１；２）、（１；１）、（３；４）等を有する。
【００５４】
ベース値ＢＮ１は関数Ｆ１があらゆる特有ベクトル→Ｖで特有値を供給できるように選択されなければならない。符号化ラウンド毎に正確なベース値ＢＮ１を選択することは復号では主として重要である。誤ったベース値ＢＮ１の使用は復号時にオリジナルデータを与えない。別の言い方をすれば、ベース値ＢＮ１はホルダのホルダ（ｉ）中のインデックス値を単一の数値に変換することができるエンティティである。ベース値ＢＮ１の大きさは、ホルダで生じる符号化されるインデックス値数、またはホルダで生じる最高のインデックス値に基づいている。ベース値は生成される最高のインデックス値よりも少なくとも１高くなければならない。適切に、コンピュータが式を計算できる速度を増加するので、ベース値は２の乗数として選択される。ベース値ＢＮ１はこれらが毎回１だけインクリメントされて１、２、３等からＮ−２、Ｎ−１、Ｎへ変化するならば、関連されるホルダ中のエレメント数に基づいている。この場合、ホルダ中のエレメント数はホルダ中の最高のインデックス値に等しい。最高の値が関連されるホルダ中のエレメント数と対応しない場合、ベース値は最小であり、最高のインデックス値プラス１である。
【００５５】
式（１）で与えられた計算の代替として、マトリックス乗算を使用でき、ここではベクトル→ＶはＭ×Ｎ次元のマトリックスである。これは幾つかのケースにおいて有効な結果につながることができる。
【００５６】
永久コードリストがそれ自体符号化されるデータセットに１００％基づくならば、僅かに変形された式が使用されることができる。  
【数３】
0005453399.tif 000004
【００５７】
これは次のように説明されることができる。符号化が２数値毎に行われるならば、各符号化ラウンドでは、各計算後、使用されるベース値は計算の結果から減算されることができる。復号期間中、ベース値は再度各符号化ラウンドで付加される。符号化ラウンド当りのベース値は常に同じ定数である。その理由は、このようにして記憶スペースが節約されることができるからである。それに加えて、符号化後に符号化結果のサイズにしたがって増加する順序によりコードリストを分類することが可能である。式（１ａ）の使用により、分類されたコードリストは数値１で開始する。それと共に、数値は分類されたコードリストにおけるそれらのホルダ位置を既に示している。
【００５８】
さらに一般的な式では、１＊ＢＮ１は２数値の各計算後に結果から減算されることができる。
【００５９】
符号化が３数値当りで行われるならば、次の定数値、１＊ＢＮ２は＋１＊ＢＮ１は各計算後に減算される。
【００６０】
４数値当りの符号化の場合、式は１＊ＢＮ３は＋１＊ＢＮ２＋１＊ＢＮ１等である。
【００６１】
［例］  
第１の符号化ラウンドでは、第１の符号化ラウンドで最低の可能な数値である１の数値の４倍がベース値２５７により符号化される。これは次の特有の数値を与える。  
１＊２５７３＋１＊２５７２＋１＊２５７１＋１＊２５７０＝１７，０４０，９００  
この特有の数値はその後、永久コードリストＰＣＬ（１）に記憶される。しかしながら１＊２５７３＋１＊２５７２＋１＊２５７１が前述の符号化結果から減算されるならば、１の数値のみが残る。その場合には、１７，０４０，９００の代わりに１だけが永久コードリストＰＣＬ（１）に記憶される。
【００６２】
以下の符号化ラウンドについて、同じ種類の変形が実行されることができる。
【００６３】
［符号化ラウンド３］  
ホルダ（１）に基づいて、プロセッサ５はプロセッサ５がホルダ（１）を生成したのと類似の方法でその後のホルダ（２）を発生する。したがってプロセッサ５は機能Ｆ２（ホルダ（１））を適用し、これはホルダ（１）中の２以上の連続するインデックス値を１の新しい値に組み合わせる。ホルダ（１）から発生する組合された値の数は関数Ｆ１（ホルダ（０））と同じ数に関することができるだけでなく、そこから異なることもできる。関数Ｆ２は原理的に関数Ｆ１と異なることができる。しかしながらここで与えられた例では、関数Ｆ２（ホルダ（１））は式（１）／（１ａ）で示されているのと同じ構造を有する。関数Ｆ２だけが関数Ｆ１のベース値ＢＮ１と異なることができるベース値ＢＮ２を有する。
【００６４】
プロセッサ５は次式によりその後の一時的コードリストＴＣＬ（２）を計算する。  
【数４】
0005453399.tif 000005
【００６５】
式（３）の代わりに、ＢＮ１がＢＮ２により置換される式（１ａ）が使用されることができる。
【００６６】
便宜上、この式は式Ｆ２が適用される度に、式（１）と丁度同数のアーギュメント（Ｎ）を有するベクトル→Ｖに基づいている。図の表に適用されている例では、例えば式は常に各符号化ラウンドでＮ＝２エレメントに適用される。しかしながらこれは異なることを許容されている。
【００６７】
図２の表に示されている例では、一時的コードリストＴＣＬ（２）は、４つの値Ｆ２（１；２）、Ｆ２（３；２）、Ｆ２（１；３）、Ｆ２（１；２）を有する。それに基づいて、プロセッサ５は一時的コードリストＴＣＬ（２）：Ｆ２（１；２）、Ｆ２（３；２）、Ｆ２（１；３）で発生する特有値のみを依然として含んでいる後続する永久コードリストＰＣＬ（２）を構築する。プロセッサ５はその後、開始点として一時的コードリストＴＣＬ（２）を取るが永久コードリストＰＣＬ（２）中の値の１つの位置を参照するインデックスによってそこの各値を置換することによりホルダ（２）を発生する。再度、永久コードリスト中の値は既に前述したように、所望によりスペース節約方法で記憶されることができる。図２の表に示されているように、ホルダ（２）は依然として４つのみの値、１、２、３、４を有している。
【００６８】
［符号化ラウンド４］  
符号化ラウンド４では、プロセッサ５は再度一時的コードリストＴＣＬ（３）、永久コードリストＰＣＬ（３）、ホルダ（３）を発生する。原理的に、これは一時的コードリストＴＣＬ（２）、永久コードリストＰＣＬ（２）、ホルダ（２）の発生に関して前述した方法と同じ方法で行われる。これに使用される関数Ｆ３は再度式（１）／（１ａ）に類似することができ、ベース値ＢＮ３はベース値ＢＮ１およびＢＮ２とは異なる。
【００６９】
一時的コードリストＴＣＬ（３）はその後依然として２つの値、Ｆ３（１；２）とＦ３（３；１）を含んでいる。これらは相互に異なっている。一時的コードリストＴＣＬ（３）で発生する全ての特有値を含まなければならない永久コードリストＰＣＬ（３）はそれ故、一時的コードリストＴＣＬ（３）に等しくなければならない。したがってホルダ（３）は２つの異なるインデックス値１，２を含んでいる。この例の一時的コードリストＴＣＬ（３）としたがってホルダ（３）は任意の冗長をもはやもたないので、さらにデータの減少はこれ以上実現可能ではない。それ故、プロセッサ５は各符号化ラウンドにおいて、発生された永久コードリストＰＣＬ（ｉ）が一時的コードリストＴＣＬ（ｉ）に存在する値数よりも少数の特有値を含んでいるか否かを確立するためにプログラムされる。プロセッサ５はホルダ（ｉ）が特有のインデックス値のみを含むか否かをチェックすることによって、依然として冗長が存在するか否かを代替方法で確立することができる。別の言い方をすれば、ホルダ（ｉ）中のエレメント数がホルダ（ｉ）中の最高の数の位置に等しくなるとすぐに、関連される一時的コードリストＴＣＬ（ｉ）中の全ての数値は特有になり、冗長はもはや存在しない。冗長がもはや存在しないならば、さらに符号化することは、データの増加につながるだけであり、したがってより必要とされる不必要な記憶スペースを多くするので、プロセッサ５は符号化を停止する。
【００７０】
図２の表は原理的に、１つのエンドコードが残るまで符号化が継続されることができることを示している。これはさらにデータの減少が実現されることができるならば、道理にかなっている。しかしながらそれに当てはまらない図２の状態では、以下のステップは依然として完全性のために示されている。ホルダ（３）に存在する２つのコードは式（１）または式（１ａ）で先に示されたような式により、ひとまとめに考えられ、一時的コードリストＴＣＬ（４）＝Ｆ４（１；２）により図２の表で示されている１つの新しい値を生じる。新しい値Ｆ４（１；２）は一時的コードリストＴＣＬ（４）に同一の永久コードリストＰＣＬ（４）と一致する。最後のホルダ（４）は永久コードリストＰＣＬ（４）中の単一コードを参照する“１”のみを含んでいる。ホルダ（４）に記憶される値Ｆ４（１；２）はしたがって全体的な符号化されたデータファイルを表しているとして考慮されることができる。
【００７１】
ホルダ（４）中の値“１”はエンドコードである。しかしながら本発明の技術的範囲では、プロセッサ５は符号化ラウンド４を完了後、一時的コードリストＴＣＬ（３）も永久コードリストＰＣＬ（３）も、ホルダ（３）もこれ以上冗長を含まないことを確立する。プロセッサ５はそれ故、本発明によれば符号化ラウンド４後、更に符号化が行われることを終了する。その場合には、符号化のエンドコードはホルダ（３）の内容に等しく、したがって２つの値、即ち“１”と“２”からなる。
【００７２】
［参照データベース］  
前述の符号化プロセスの終了後、全ての永久コードリストＰＣＬ（ｉ）は共に、各符号化ラウンドからの各特有の数値が一度だけ記憶される参照データベースを形成する。この参照データベースは符号化されたデータからこの方法で構築される。コンテキストでは、参照データベースは自己発生データベースであると考えることができる。
【００７３】
符号化プログラムのパワーは符号化されるその学習効果である。行われる符号化がより多い程、既に符号化された数値の認識が行われる機会は大きくなる。学習効果はしたがって記憶スペースの節約を与える。
【００７４】
前述したように、参照データベースは符号化プロセスの前にコンパイルされることができる。
【００７５】
大きな利点は、各受信機がそのメモリに記憶されているこのような参照データベースを既に有し、したがって参照データベースは送信機から受信機へ送信される必要が無いことであり、これはデータの減少に貢献する。世界中の誰もがさらに自由に同じデータベースを有することができる。世界中で、エンドコードのみを送信するのに十分である。
【００７６】
符号化ラウンド当りの他のベース値ＢＮである予め定められたベース値は、開始点として取られることができる。各符号化ラウンドでは、使用されるベース値は既に前もって知られていることと、符号化されるホルダ位置の数および符号化ラウンド数が自由に決定されることができることとによって、ユニバーサル参照データベースは符号化プロセスが開始される前に既に計算されることができる。特に、この参照データベースは決定されたベース値が使用されるときに関連される符号化ラウンド用に採択されることができる全ての値を含む。ソフトウェアプログラム中の参照データベースの計算を設定することも可能である。このような計算プログラムノ記憶は全ての可能な値を有する参照データベースを確立することに加えて少ないスペースしか占有せず、参照データベース自体の送信の必要性を阻止する。
【００７７】
中間解として、プロセッサ５は部分的にユニバーサルデータベースを開始点として取り、このユニバーサルデータベースにまだ存在しない、一時的コードリストＴＬＣ（ｉ）で遭遇する数値を有するこのユニバーサルデータベースを拡張する。ある意味では、部分的にユニバーサルであるものを除いて、自己発生データベースも発生する。
【００７８】
［復号プロセス］  
復号ユニット３（図１）はオリジナルデータセットを再構成するために以下のデータを必要とするだけである。  
１．エンドコード；本発明の技術的範囲では、これは一時的コードリストＴＣＬ（３）、永久コードリストＰＣＬ（３）、ホルダ（３）の発生後に、これらのリストがもはや任意の冗長を含まないことをプロセッサ５が確立し、したがってプロセッサ５はその後符号化プロセスを終了して以来の、最後のホルダ（３）に存在する全てのインデックス値のアセンブリである。この場合、エンドコードはしたがって２つの値、即ち“１”と“２”を含んでいる。
【００７９】
２．符号化ユニット１により適用された符号化ラウンドの数と、先の符号化ラウンドのホルダから一時的コードリストを計算するため関連される符号化ラウンドで使用された関数。好ましくはある固定された復号プログラムに関連される固定された復号プログラムが使用される。使用される関数および任意のベース値はその後、ラウンド毎に定められ、それによって復号ユニットはこのことに関して任意のデータを受信する必要はない。代わりに、復号ユニットは（多くの既知の関数のうちの１つの参照であることができる）符号化ラウンド当りに使用される関数に関してデータを受信する。関数（１）または（１ａ）のような関数が使用されるならば、復号ユニットが、これを示すデータを受信するのに十分であり、いずれのベース値ＢＮが使用されたかをラウンド単位で知ることを必要とするだけには十分である。
【００８０】
３．参照データベースは、符号化ラウンド当りの全ての永久コードリストＰＣＬ（ｉ）（１００％自己発生データベース）と、完全にユニバーサルなデータベースまたは両者の組合せ（部分的に自己発生データベース）からなることができる。符号化ユニット１により発生された部分は復号ユニット３へ送信されなければならない。可変ビット符号化方式はその永久コードリストに適用されることができる。その場合には、復号ユニット３は符号化ユニット１からその規則を受信しなければならず、またはそうでなければ知らなければならない。（恐らく部分的に）ユニバーサルナコードリストは復号ユニット３に前もって記憶されなければならない。
【００８１】
この全てが復号ユニット３に知られているならば、復号ユニット３は損失のない方法で復号プロセスを実行できる。復号プロセスは符号化プロセスと逆の順序で行われる。復号ユニット１が（１）に示されている式を使用して、永久コードリスト自体をコンパイルする状況について簡単に説明する。
【００８２】
最後に形成されたホルダ（３）からのエンドコードは１又は幾つかのインデックス値からなる。全てのこれらのインデックス値は先のホルダ（２）中のホルダ値が回復されるまで、最後の符号化ストロークに対応して、ベース値ＢＮ３により（したがってＢＮ３０、ＢＮ３１、…、ＢＮ３Ｎにより）反復的に割算される。したがって得られたホルダ値であるホルダ（２）は先のホルダ（１）を得るために永久コードリストＰＣＬ（２）と共に使用される。したがって、ホルダ（２）中のホルダ値は、対応する永久コードリストＰＣＬ（１）中の数値を参照する先のホルダ（１）中のホルダ値が回復されるまでベース値ＢＮ２により反復的に除算される。
【００８３】
このプロセスはオリジナルデータセットが回復されるまで反復される。
【００８４】
それにより、オリジナル符号化データは任意の情報損失なく、再度オリジナル状態および形式で検索される。
【００８５】
［所見／変形］  
［データのバイト符号化］
バイト符号化は任意のいかなる形式、画像、音声又はテキストの全てのデータに適用されることができる。プロセッサ５は符号化ラウンド当りの結果が数値で表され、相互に比較され、特有の数値だけが永久コードリストに一度だけ記憶されるようにバイトレベルで符号化する、このようにして、画像、音声、テキストが同じ符号化／復号プログラムを使用して同時に符号化および復号されることが可能である。さらに、バイト符号化は画像、音声、テキストの符号化の場合に、混合されることを可能にし、絶対的なランダムシーケンスにおいて１および同じ参照データベースからなりさえすればよく、またはこれらからなることができるように使用される。
【００８６】
符号化ラウンド当り、例えば式（１）により新しいコードに集合的に符号化されることができるバイト数は符号化ラウンド当り自由に決定されることができるが、符号化ラウンド期間中に変化することはできない。これは例えば画素値、数値、線等、データバイト以外のレベルで符合化する選択がなされる場合にも適用される。
【００８７】
［テキストデータの数符号化］  
テキストの符号化／復号の場合、特有の数値で個々の文字、句読点、数字等（文字）の事前の符号化を使用することもまた可能である。そのため例えばHagamen, e.a.[1972]が参照とされる。
【００８８】
可能な数値の符号化はアルファベット文字の位置であることができ、文字“ａ”は“１”を表し、文字“ｂ”は“２”を表す等である。ブランクは例えば“０”として符号化される。それに加えてこの場合、最も頻繁に発生する文字が最低の可能な数値として表され、少ないビットを使用してメモリに記憶される可変ビット符号化方式を適用することが可能である。したがって、例えばハフマン符号化が適用されることができる。
【００８９】
このようにして、文字の組合せ、即ちワードはそれぞれの永久コードリストに一度だけ記憶される特有の数値による数の組合せとして表される。その場合には、式（１）と（１ａ）が使用されることができる。バイトの固定数の集合的な符号化はここでは行われないが、ワード当りの文字である符合または句読点、数字、ブランク等の全てまたは最大数の符号化が行われる、
その後、数値であるワードのグループはさらに線、文章の部分、文、段落、頁等が一度のみ記憶される特有の数値として表されるように符号化される。
【００９０】
それ故、記憶容量における効率の尺度はテキストデータにおけるワード、文章の部分、線等のアグリーメントの尺度に依存する。同じワード、文章の部分が符号化されるテキストデータでより頻繁に発生すると、記憶効率は大きくなる。
【００９１】
Hagamen, e.a.[1972]はドイツ国の文献に研究を開示しており、ドイツ国のテキストでは、１０００ワードがテキストデータの約７０％を表していることを示している。これらの１０００ワードはそれ故、ドイツ国のテキストに関しては標準的な永久コードリストに含まれることができる。したがって残りの３０％だけが残りのデータと共にプロセッサ５により決定され、記憶され、復号器３へ送信される必要がある。他の文献では、類似のパターンが設立されることができる。
【００９２】
テキストデータの符号化／復号は言語特有ではない。任意のテキストデータは如何なる言語でも、同時であってさえも特有の数値へ符号化されることができる。
【００９３】
［参照データベース］  
バイト符号化、数符号化または画素コード化の場合、符号化ラウンドあたりの特有の数値は有限であり、その結果最終的な参照データベースが大きさにおいても有限である。全ての符号化の変形では、偶然にも同じ参照データベースが使用されることができる。
【００９４】
例示：  
オランダ語、他のゲルマン系およびアングロサクソン系言語は全体的に約１２８の文字、数字、スクリプト符合等を有し、ここで可能な組合せ数は実際に有限である。多数の論理的組合せ、例えば５×“ｆ”は連続的には、実際にほとんど生じない。同じことが画像および音声にも適用され、多数の論理的組合せは実際には（ほとんど）生じない。
【００９５】
要約すると、参照データベースは異なる方法でコンパイルされることができる。
【００９６】
１．自己発生参照データベース  
プロセッサ５はいかなるコードもまだ含まれていない空の参照データベースを開始点として取上げる。符号化されるデータに応じて、プロセッサ５はゼロコードで開始する参照データベース（即ち永久コードリストを有する）を拡張する。それにより、形成される参照データベースは直接符号化データセットに関連される。全ての論理的に可能に生じる数値の組合せが自己発生参照データベースで生じるわけではなく、実際に生じている数値の組合せだけが参照データベースに含まれる。例示により、オランダ語の語彙に生じない文字の組合せはそれ故、自己発生参照データベースでも生じない。自己発生データベースは１又は幾つかのデータセットの符号化に使用されることができる。ただ１つのデータセットの符号化に使用されるならば、自己発生データベースは自主的な参照データベースとも呼ばれる。エンドコードと共に、このような自主的な参照データベースは符号化されたオリジナルデータファイルよりも小さいことができる。この特別なデータベースの送信および記憶では、それ故少ないスペースしか必要とされない。これはある応用では、即ち装置が自由に限定された記憶容量を有する場合には興味がある。それに関して、写真および小さいフィルムの送信用の移動体電話に留意する。自己発生参照データベースが（非常に）多くのデータセットの符号化に使用される場合、このデータセットはユニバーサル参照データベースへ「発展」することができる。
【００９７】
自己発生データベースは固有（特有）のベース値が使用されることを可能にし、これは符号化される他のデータは使用できない。例示により、ＤＶＤ１ばモノクロフィルムであり、ＤＶＤ２がカラーフィルムであるならば、両フィルムのコードは非常に異なっている。ＤＶＤ１では仮定の話ではただ２のＲＧＢ値が発生する。それと共に、第１の符号化ラウンドでは、３のベース値だけで十分である。しかしながら、このようなベース値を使用してＤＶＤ２を符号化することは、ここでは２５６の異なるＲＧＢ値が生じる可能性があるので、絶対的に不可能である。他方で、ＤＶＤ２の第１の符号化ラウンドに必要な２５７のベース値は、モノクロＤＶＤ１の符号化に使用されるには不必要に高い値を有するコードになる。
【００９８】
２．既存の最小の標準データベースに基づいた自己発生参照データベース  
プロセッサ５は符号化の前に、頻繁に生じるコードが既に含まれる最小の標準参照データベースを出発点として採用する。符号化されるデータにしたがって、プロセッサ５は参照データベース（即ち永久コードリスト）を拡張する。それにより、形成される参照データベースは直接的であるが１００％ではなく、符号化されたデータに関連される。新しく符号化されるデータの各アイテムは既に利用可能な参照データベースを使用し、これをデータベースにまだ発生していない特有の数値で拡張し、または拡張しない。
【００９９】
最小の標準的な参照データベースはユニバーサルであることができるが、その必要なものではない。最小の標準参照データベースは先のデータのセットに基づき、例えば先に符号化されたＤＶＤに結合されることができる。より多くのデータが符号化されるとき、参照データベースでまだ生じていない新しい特有の数値の拡張は減少する。符号化されるデータが多くなると、特有の数値が既に参照データベースに含まれるようになる機会が大きくなる。
【０１００】
論理的に可能な発生する数値の全ての組合せがこのような自己発生参照データベースで生じるわけではない。例示によれば、オランダ語の語彙で生じない文字の組合せはそれ故、このような自己発生参照データベースでも生じない。例えばオランダ語では、例えば５つの同一の連続する文字の組合せは通常可能ではない。
【０１０１】
この場合、標準的なユニバーサルデータベースは既に復号器に記憶されることができ、符号化ユニットは依然として参照データベースについての拡張された情報を送信すればよい。データセットが符号化される毎に、復号器の参照データベースは参照データベースに付加されることができる新しい値、およびこれらの新しい値を参照するコードにより拡張されることができる。このような新しい値と新しいコードの組合せは、これらが将来復号器により使用されるのに有効であるように、１以上の符号化装置へ分配されることができる。これは最終的に最も関連するデータを有する参照データベースを生じる。
【０１０２】
３．ユニバーサル参照データベース  
データの符号化と、それにかかわりなく、実行される符号化ラウンド数、符号化される数値および符号化ラウンド当たりに使用されるベース値の数を知る前に、参照データベースは例えばソフトウェア計算プログラムによりコンパイルされることができる。その場合、参照データベースは実行される符号化ラウンド当りの全ての「論理的に」最大の可能な発生する特有の数値からなる。データの符号化はこの場合には参照データベースにおける特有の符号化結果の位置を決定するために必要である。自己発生データベースとは対照的に、実際には生じない符号化されるデータの組合せはユニバーサルデータベースに含まれる。ユニバーサル参照データベースは、これが常に新しく符号化されるデータセットに使用されるならば、自己発生データベースから作成されることもできる。先にコンパイルされたユニバーサルデータベースと対照的に、全ての「論理的に」最大に可能な特有の数値が自己発生ユニバーサルデータベースで生じるわけではない。
【０１０３】
ユニバーサル参照データベースは以下のように有効な方法で使用されることができる。ユニバーサル参照データベースは、ラウンド当り固定された公式およびベース値を有して、符号化ラウンドの予め定められた数、例えば１５の符号化ラウンドで形成されることを仮定する。これは必ずしも各符号化プロセスが実際に１５の符号化ラウンドからならなければならないことを示唆しているものではない。ある符号化プロセスにおいて、４符号化ラウンド後、ＰＣＬ（ｉ）＝ＴＣＬ（ｉ）で状況が既に進んでいることが発見されたならば、プロセッサ５はこのデータセットでの符号化プロセスを終了でき、プロセッサ５は残りの１１の符号化ラウンドを実行する必要はない。これは不必要な記憶容量と符号化／復号時間を要求するだけである。復号では、復号プロセスが４つの復号ラウンドからなる情報だけが与えられる必要がある。それにより、個々のデータセットの符号化はかなりフレキシブルになり、各符号化プロセスでは、記憶および符号化／復号時間に関して最大の可能な効率を有する結果を目標とされ、この例では１５の符号化ラウンド数が与えられ、これは超過されることはない。
【０１０４】
［中央参照データベース］  
自己発生参照データベースの場合、および既存の最小の標準データベースに基づく自己発生参照データベースの場合、ただ１つのおよび同じ参照データベースは全ての可能なデータタイプを符号化するとき開始点として取られる必要がある。これは種々のデータファイルの符号化後、さらに多くのデータファイルが符号化されるとき増々少ない特有の符号化結果が参照データベースに付加される必要があるという利点を有する。これらのデータファイルの各符号化の場合に使用される同じ参照データベースが受信者に対して使用可能であるならば、少数の新しい特有の符号化結果だけが特有のエンドコードに加えて受信者へ送信される必要があり、これは既に所有されている参照データベースへ受信者によって付加される必要がある。
【０１０５】
受信者がより多くの符号化データファイル（ビデオ、オーディオ、テキスト等）を受信することを望むとき、「受信者の」参照データベースが依然として不足しているという特有の符号化結果は増々少なくなるが、いずれの場合でも、オリジナル符号化データファイルよりも（非常に）少数である。
【０１０６】
［エンドコード］  
符号化されたデータ当りの特有のエンドコードの結果は以下によって得られることができる。  
１．１つの特有のエンドコード  
全体的な符号化プロセスは１つでも特有の数値がＰＣＬ（ｉ）、ＴＣＬ（ｉ）、ホルダ（ｉ）に残っている限り行われる。ホルダ（ｉ）の特有の数値は関連される符号化されたデータファイルのエンドコードとして考慮されることができる。この場合、ホルダ（ｉ）中の最後のインデックス値は“１”に等しい。このことはこの値“１”が何を指しているかおよび符号化ラウンドが行われる数を正確に知っていない限り、復号期間中に問題を生じる可能性がある。他方で、一時的コードリストＴＣＬ（ｉ）、永久コードリストＰＣＬ（ｉ）、およびホルダ（ｉ）に冗長がないためにさらに符号化することはが有益ではないので、符号化がすぐに終端するのであれば、関連されるエンドホルダは構成に関しては絶対的に特有である一連のインデックス値からなる。
【０１０７】
２．ＰＣＬ（ｉ）＝ＴＣＬ（ｉ）  
符号化期間中に、一時的コードリストＴＣＬ（ｉ）で、全てのコードが異なる状況が発生するとすぐに、ＰＣＬ（ｉ）＝ＴＣＬ（ｉ）を保持する。これは符号化プロセスをさらに継続することが符号化された数値の記憶容量に関して有益をもたらさないことを意味している。その後の永久コードリストＰＣＬ（ｉ）中の全ての特有の数値も一時的コードリストＴＣＬ（ｉ）中のそれぞれのコードと対応する。さらに符号化することに意味はなく、これは記憶容量に関して到達できる有益さを減じる。その場合、永久コードリストＰＣＬ（ｉ）または一時的コードリストＴＣＬ（ｉ）に関連される最後のホルダ（ｉ）はエンドコードとみなされることができる。
【０１０８】
３．ＰＣＬ（ｉ）＝ＴＣＬ（ｉ）の場合の特有の数値  
ＰＣＬ（ｉ）＝ＴＣＬ（ｉ）ならば、関連されるホルダ（ｉ）中の第１の数値と最後の数値も知られている。最後の数値は知られており、関連されるホルダ（ｉ）中のエレメント数もまた知られている。その場合、代りに関連されるホルダ（ｉ）中の最高値はエンドコードとしてみなされることができる。図２の状態では、例えばホルダ（３）がエンドコードとしてみなされることができる。しかしながら代わりに、値“２”、即ちホルダ（３）の最高値がエンドコードとしてみなされることができることができる。特に、復号ユニットがエンドコードとして値“２”を受信したならば、最後に発生されたホルダもまた値“１”を含まなければならないことも知る。
【０１０９】
［符号化／復号］  
データの符号化および復号は物理的に異なる位置で独立して行われることができる。したがってデータの符号化は中心的な物理位置で行われることができ、復号は世界のどこでもランダムな位置で行われることができる。
【０１１０】
［送信］  
エンドコード、参照データベース等の送信はＣＤ、ＤＶＤ、ブルーレイ、メモリスティックのようなデータキャリア、さらに例えばＳＭＳまたはｅメールによって電気通信網を含めた多くの異なる方法で行われることができる。
【０１１１】
［符号化］  
データの各形式の符号化は一度だけ行われる必要があり、一度符号化されると、データは再度符号化される必要はない。
【０１１２】
データの符号化の速度は「実時間」ベースで行われることができ、特に符号化されたＴＶプログラムがＴＶ、インターネット、移動体電話等で生放送されることを可能にし、これは利用可能な大域幅の容量においてかなりの節約を行う。
【０１１３】
［復号］  
復号について、「受信者」は復号プログラム、参照データベース、特有のエンドコードをもつ必要がある。
【０１１４】
参照データベースがコンパイルされる方法、即ち自己発生またはユニバーサルにしたがって、復号プログラムに関するエンドコードと幾つかのデータ（適用するのに必要なラウンド数および符号化ラウンド当りのベース値が何であるか）の捕捉が符号化されたデータの復号に必要である。復号では、以下が利用可能でなければならない。  
１．復号プログラム、
２．自己発生又はユニバーサルな参照データベース（自主データベースは自己発生データベースの特別な形態である）、
３．行われる符号化ラウンド数、
４．各符号化ラウンドで使用されるベース値、
５．特有のエンドコード。
【０１１５】
（自己発生の）ユニバーサルデータベースを使用する場合、行われる符号化ラウンド数と符号化ラウンド当りに使用されるベース値は前もって規定され、したがって復号プログラムで事前にプログラムされることができる。それ故この情報は別々に受信者へ送信される必要はない。その場合、単に特有のエンドコードを受信することで十分である。
【０１１６】
［ベース値］  
使用されるベース値はホルダ（ｉ）で符号化されるエレメントの数、または符号化されるホルダ（ｉ）中の最高の数値にしたがう。あるホルダ（ｉ）で、全てのインデックス値が連続的である（即ち常に“１”により値が変化する）ならば、ベース値は最小にエレメント数よりも１高いか、ホルダ（ｉ）中の最大数でなければならない。ベース値は再度プロセッサ５によって毎回、符号化ラウンド毎に自動的に決定されることができる。プロセッサ５はその後、その点についての情報を永久コードリストと共に、受信機へ送信されなければならないデータに付加する。同じベース値がデフォルトによって開始点として取られるならば、後者は必要ではない。これにより復号プログラムは既に知られている。
【０１１７】
［ユニバーサルデータベース］  
ユニバーサルデータベースが使用される場合、各符号化ラウンドに使用されるベース値が固定されることができる。
【０１１８】
［自己発生および自主データベース］  
この場合、ホルダ（ｉ）当りの実際のエレメント数または先のホルダ（ｉ）からの最高数値が考慮される。各符号化ラウンド前に、最も最適なベース値の変数が符号化プログラムにより計算されることができる。
【０１１９】
自己発生データベースが幾つかのデータセットの符号化に使用されるならば、理論的に最大のベース値はベース値として選択されなければならない。
【０１２０】
［参照データベースの分類および差計算］  
参照データベースはこれらがコンパイルされる方法にかかわりなく、受信機への送信が行われる前にコードのサイズにしたがって分類されることができる。最高である最後の数値が開始点として取られるならば、数値間の相互の差が計算されることができる。例えば参照データベースで発生する残りの値を有する差値と同様に、この最高値のみが記憶されることができる。これらの差値はこの最高値と共に、参照データベース中でオリジナル値よりも非常に少数のバイトで登録されることができる。このようにして、情報の損失なしに、記憶およびデータベースの送信においてかなりの効率が実現されることができる。
【０１２１】
［セキュリティ符号化データ］  
オリジナルデータが再度検索されるように符号化されたデータを復号することは、復号器が符号化式、ベース値、エンドコードと同様に符号化に使用される符号化ラウンド数と精通しているならば可能である。
【０１２２】
これらの必要とされるパーツの１つと精通していないとは、本来符号化されたデータを検索するための復号を生じるが、これは不可能である。それ故、例えば使用されるベース値のみが復号器により知られていないならば、関連する復号器がオリジナルデータを検索することは不可能である。あらゆる者（個人、企業、組織、機関、政府等）はそこで人により符号化されたデータが誰によって可視／可聴のオリジナルデータに復号されることができるかを自身で決定できる。
【０１２３】
それに加えて、参照データベースおよび／またはエンドコードを処理（「暗号化」）することが可能であり、それによって例えば参照データベース中のデータおよび／または参照データベース中のエンドコード又はデータの順序をランダムに変更することによって、実行される動作に精通していないことが正確な復号を不可能にする。
【０１２４】
［符号化されるデータの事前処理］  
符号化プロセス前にオリジナルデータセットで実行されることができる可能な準備ステップを以下述べる（注意：全ての例が損失のない動作ではない）。  
１．ビデオ／写真におけるＲＧＢからＹＵＶ値への変換、  
２．画素自体の平均による画素の置換。右へ、右下へ、下へまたは平均画素値の他の計算方法、
３．量子化、
４．連続するフレーム間の差のみの登録、
５．ディスクリートなコサイン変換、
６．雑音フィルタ、
７．可変のランレングスの符号化、
８．ハフマン符号化、
９．ブルームフィルタ、
１０．ハッシュ表、
１１．ハッシュ関数、
１２．クロマサブサンプリング、
１３．バターワースフィルタ、
１４．ＤＣＴマトリックス（ディスクリートなコサイン変換）、
１５．連続的なＤＣＴマトリックスにおけるＤＣおよび／またはＡＣ値間の差の登録のみ。
【０１２５】
［符号化されたデータの事後処理］  
永久コードリストにおける可能な事後処理動作を以下述べる。  
１．Ｒａｒ、
２．Ｚｉｐ、
３．デフレート。
【０１２６】
［本発明の要約］  
図１および２を参照して示された本発明による符号化方法は少なくとも以下の動作を含んでいる。  
ａ）整数値ｉ＝０と参照データベースを規定し、
ｂ）ｉ番目の一時的コードリスト（ＴＣＬ（ｉ））中へデータを記憶し、
ｃ）値を含んでいるその各位置において、参照データベースに記憶されているものと同じ対応する値の位置を参照するインデックスによって値を置換することにより、ｉ番目の一時的コードリスト（ＴＣＬ（ｉ））からｉ番目のホルダ（ホルダ（ｉ））を発生し、
ｄ）一連の新しい一時的コードを発生し、ｉ＋１番目の一時的コードリスト（ＴＣＬ（ｉ＋１））中にそれを配置し、それにおいて各新しい一時的コードがｉ番目のホルダ（ホルダ（ｉ））からの少なくとも２つの値を常に組み合わせる予め定められた式Ｆを使用して計算され、
ｅ）値を含んでいるその各位置において、参照データベースに記憶されているものと同じ対応する値の位置を参照するインデックスによって値を置換することにより、ｉ＋１番目の一時的コードリスト（ＴＣＬ（ｉ＋１））からｉ＋１番目のホルダ（ホルダ（ｉ＋１））を発生し、
ｆ）ｉ＋１番目の一時的コードリスト（ＴＣＬ（ｉ＋１））とｉ＋１番目のホルダ（ホルダ（ｉ＋１））の少なくとも一方が２度以上１以上の値を含むか否かをチェックし、ノーであるならば、動作ｇ）にジャンプし、イエスであるならば、ｉの値を１増加し、動作ｄ）にジャンプし、
ｇ）符号化を終了する。
【０１２７】
しかしながら本発明はまたプロセッサおよびメモリを有する符号化ユニットにも関し、それにおいてはメモリにデータとコンピュータプログラムの命令が記憶され、これらがプロセッサにこの方法を実行する能力を提供するように構成される。
【０１２８】
本発明はまたプロセッサによる受信後、プロセッサにこの方法を実行する能力を与えるように構成されたデータおよび命令を有するコンピュータプログラムプロダクトにも関する。
【０１２９】
本発明はまた、このようなコンピュータプログラムプロダクトが与えられたデータキャリア又は信号にも関する。
【０１３０】
要約すると、本発明による復号方法は少なくとも以下の動作を含んでいる。  
ａ）符号化ユニット又はその特有の参照によって最終的に発生された（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））を含むエンドコードを受信し、ｉの値を受信し、
ｂ）参照データベース中の値を参照するインデックス値として（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））中の値を使用し、
ｃ）ｉ＋１番目のホルダ（ホルダ（ｉ＋１））中の各位置において、その位置に対応するインデックス値を有する参照データベースからの値を配置することにより、（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））中の値を計算し、
ｄ）（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））へ復号式を適用することによりｉ番目のホルダ（ホルダ（ｉ））中の値を計算し、復号式は（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））から（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））を計算するための符号化ユニットにより使用されている式の逆公式であり、（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））のＮ倍の数の値を具備し、Ｎ≧２であり、
ｅ）参照データベース中の値を参照するインデックス値としてｉ番目のホルダ（ホルダ（ｉ））中の値を使用し、
ｆ）ｉ番目のホルダ（ホルダ（ｉ））中の各位置において、その位置に対応するインデックス値を有する参照データベースからの値を配置することにより、ｉ番目の一時的コードリスト（ＴＣＬ（ｉ））中の値を計算し、
ｇ）ｉの値を１デクリメントし、ｉ≧０ならば、（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））に復号式を適用することによりｉ番目のホルダ（ホルダ（ｉ））中の値を計算し、復号式はｉ番目のホルダ（ホルダ（ｉ））から（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））を計算するための符号化ユニットにより使用されている式の逆公式であり、ｉ番目のホルダ（ホルダ（ｉ））は（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））のＮ倍の数の値を有し、Ｎ≧２であり、動作ｅ）へジャンプして戻り、ｉ＜０ならば、動作ｈ）へジャンプし、
ｈ）ｉ番目のホルダからオリジナルデータセットを導出し、ｉ＝０である。
【０１３１】
［事前に符号化されたオリジナルデータに基づく実施形態］  
本発明の符号化技術により符号化されたオリジナルデータがそれ自体、既にＤＣＴ（デジタルコサイン変換）プロセスが使用された符号化の結果である本発明の実施形態を説明する。例えばＪＰＥＧ符号化プロセスでこのようなＤＣＴプロセスが使用され、量子化動作と組み合わせて使用されるとき損失のある符号化技術である。
【０１３２】
参照データベースのサイズと最後のファイル（…）中のコードの数との関連は「連通管」のようであり、一方が大きくなると、他方は小さくなる。このような「連通管」関係はテキスト、オーディオ、ビデオであるいずれのデータが符号化されるとき存在し、ＤＣＴ変換は入力でデータのタイプ、即ちテキスト、オーディオ又はビデオとは無関係に使用されることができる。
【０１３３】
より多くの符号化ラウンドが行われると、符号化ステップの結果が特有になり参照データベースに記憶されるべきである機会が大きくなる。さらに、各符号化結果は、ベース値の値を必然的に増加するので、その値に関する限り大きくなる。しかしながら次の各符号化ラウンド後、ファイル（ｉ）中のコード数が小さくなるが、増加された参照データベースによりファイル（ｉ）中のコード値は大きくなる。
【０１３４】
それ故、幾つかのケースでは、最後のファイル（ｉ）の全てのコードが前述したように特有であるという基準が満たされるまで符号化ラウンドを適用することは、したがって最後のファイル（ｉ）中に少数のファイルを生じるが、容認しがたい程に大きな参照データベースも生じる。このような大きい参照データベースの送信はそれ故、実際に不可能である。
【０１３５】
詳細に説明する１実施形態においてはこれについて考慮する。この実施形態では、ＤＣＴプロセスが使用される。ＤＣＴプロセスは例えばよく知られたＪＰＥＤ符号化で使用される。簡潔に述べると、ＪＰＥＧは以下のプロセスステップを使用する。  
１．ＲＧＢ（赤、緑、青）のデータをＹＣｂＣｒまたはＹＵＶデータへ変換する。  
２．ＹＣｂＣｒまたはＹＵＶデータをサブサンプリングする。  
３.ビデオフレームの画素を８＊８画素マトリックスへ分割する。  
４．ＤＣＴプロセスを８＊８画素マトリックスへ適用する。  
５．０から１００の間の値について８＊８ＤＣＴ画素マトリックスの全ての値の量子化を行う。  
６．これらのマトリックスにおいて「ジグザグ」読取りパターンを使用して８＊８ＤＣＴ画素マトリックスを６４のベクトル値へ変換する。  
７．ＲＬＥ（ランレングス符号化）／ハフマン符号化を使用して６４ベクトル値をエントロピー符号化する。
【０１３６】
実験が示しているように、本発明の原理はステップ５または６の後に得られたデータに有効に適用されることができ、ここではステップ２は随意選択的なものであることが観察される。さらに、ステップ３への入力データは必ずしもビデオフレームに関する必要はない。この実施形態の原理は同等にビデオ以外の他のソースからのデータに良好に適用可能である。このような他のソースからのデータはＤＣＴプロセスを受けることができる８＊８マトリックスへグループ化されることもできる。
【０１３７】
ビデオデータで開始して、入力８＊８画素マトリックスは例えば以下の値を含んでいる。  
【表１】
0005453399.tif 000006
【０１３８】
ＤＣＴプロセスをこのマトリックスに適用することは５０（Ｑ＝５０）の量子化が適用されるとき以下の８＊８ＤＣＴ画素マトリックスを生じる。  
【表２】
0005453399.tif 000007
【０１３９】
この例から明白であるように、８＊８ＤＣＴ画素マトリックスは当業者により明白であるようにさらにデータ圧縮に良好な基礎を与える多くのゼロ値を有する。
【０１４０】
このような更に圧縮する２つの代りの方法が本発明の原理を使用して示されている。更なる説明の基礎はＤＣＴマトリックス１であり、これは各連続的な差ＤＣＴマトリックスがＤＣＴマトリックスｋ（ｋ＝２、３、４）をそのプレデセサーＤＣＴマトリックスｋ−１から減算することによって、例示的なビデオフレームの３つの連続的な画素ブロックから得られる３つの他のＤＣＴマトリックス、即ち差ＤＣＴマトリックス２、差ＤＣＴマトリックス３、差ＤＣＴマトリックス４と組み合わせることにより、前述した表Ｂに等しい。図３はこれらの４つのマトリックスを示している。
【０１４１】
［代替例１］  
第１の代替例では、表Ａの８＊８ＤＣＴ画素マトリックスは前述したようなＪＰＥＧプロセスでも使用されるようなジグザグパターンにしたがって読取られる。これは端部において多くのゼロ値を有する６４のＣＤＴ画素値でベクトルをレンダリングする。
【表３】
0005453399.tif 000008
【０１４２】
これらの６４ＤＣＴ値はもはや２次元のマトリックスではなく１次元の線で組織されることに注意すべきである。
【０１４３】
［符号化ラウンド１］  
符号化は２つのDCT値のセット、即ち２つの連続的なバイトにおいて図２を参照して説明されているような符号化機構を適用することにより行われる。８ビットの２つのこのようなバイトの可能な異なる特有値の数は２＾１６＝６５．５３６である。したがって、これは第１の符号化ラウンド後に参照データベース１に存在することができる異なる値の最大数でもある。また、キーコードの最大数は第１の符号化ラウンド後６５．５３６である。これらの異なる値のそれぞれは２つのバイトで表されるので、第１の符号化ラウンド後の参照データベース１の最大サイズは１２８Ｋｂに等しい６５．５３６＊２バイト＝１３１．０７２バイトである。
【０１４４】
［符号化ラウンド２］  
ファイル（０）からの２つの位置が符号化される。このような各位置は２バイト（第１のラウンドでの符号化を参照）を有し、全部で４バイトが共に符号化される。したがって第２のラウンドの異なる組合せの総数は２＾３２＝４．２９４．９６７．２９６である。これは参照データベース２に記憶される必要がある符号化ラウンド２から生じた値の異なる特有の組合せの最大数である。キーコードの最大数も４．２９４．９６７．２９６である。
【０１４５】
値のあらゆる組合わせは最大値として４バイトを有するので、符号化ラウンド２からの参照データベースの最大サイズは１６Ｇｂである。
【０１４６】
換言すると、それぞれの値が１バイトのサイズを有する２倍の２つの値の符号化の組合せ（即ち２ラウンドにおいて）、参照データベースの最大のサイズは１６Ｇｂである。このような参照データベースは容易に第３のパーティに送信されることができるユニバーサルデータベースと考えられることができる。
【０１４７】
さらに１例でこれを示すことができる。この例の符号化技術を使用して、全部で１９のＤＶＤからのビデオデータの１２０Ｇｂが符号化された。これらの１２０Ｇｂの符号化から生じる参照データベースは３６５ＭＢのサイズを有していた。ウィンラー（Winrar）による圧縮動作をこれらの３６５Ｍｂに適用後、１３０Ｍｂの参照データベースが生じた。
【０１４８】
添付図面では、これらの符号化ラウンドが４つのＤＣＴマトリックスに付いて詳細に説明されている。  
・図３乃至図１０−２は、例示的なビデオフレームにおける４つの連続的なＤＣＴマトリックスのこれらの符号化ラウンドを説明している（注：これらはＪＰＥＧピクチャまたはＭＰ３オーディオファイルから生じることができる）。
【０１４９】
・図１１乃至図１７−２は、図３の第１のＤＣＴマトリックスと、図３の他の３つのＤＣＴマトリックスに基づいた３つの連続的なさＤＣＴマトリックスについてのこれらの符号化ラウンドを説明している。
【０１５０】
図３は例示的なビデオフレームにおける４つの連続的な８＊８マトリックスから発生する４つのＤＣＴマトリックスを示している。
【０１５１】
図４はジグザグパターンで読み出した後のこれらの４つのＤＣＴマトリックスから生じる４つのＤＣＴマトリックスを示している。
【０１５２】
図５ａ１、図５ａ２、図５ｂ１、図５ｂ２は式（１）を使用しながらこれらの４つのジグザグパターンマトリックスで行われる第１の符号化ラウンドの結果を共に示している。符号化ラウンド１では、符号化された各値はそれ自体８ビット（１バイト）であるので、ベース値ＢＮ＝２５６である。一時的コードリストＴＣＬ（０）、永久コードリストＰＣＬ（０）、ファイル（０）は先の例を参照して前述したように同じ方法で得られる。ここでの例では、永久コードリストＰＣＬ（０）はそれ自体の符号化プロセス期間中に発生される。しかしながら、既に利用可能な参照コードリストが使用されることができる。
【０１５３】
図６−１乃至図６−２は、第１の符号化ラウンドの結果において行われる第２の符号化ラウンドの結果を示している。再び２つの値は式（１）を使用して共に符号化される。２バイトの２値はこの式でそれぞれ符号化される必要があるので、ベース数はＢＮ＝２＾１６＝６５．５３６である必要がある。一時的コードリストＴＣＬ（１）と、永久コードリストＰＣＬ（１）と、ファイル（１）とは先の例を参照して前述した方法と同じ方法で得られる。ここでの例では、永久コードリストＰＣＬ（１）はそれ自体の符号化プロセスの期間中に発生される。しかしながら既に利用可能な参照コードリストを使用できる。
【０１５４】
図７は、符号化ラウンド１および２から生じる参照データベースと、あるコードが発生する回数を示している。
【０１５５】
図８は、あるコードがデータベースで発生する頻度を考慮するときに図７の参照データベースが再組織されることができる態様を示している。再組織された参照データベースでは、最も頻繁な値は最低の可能な位置に位置され、コード、即ち「キーコード」への参照は、最高の頻度で生じるコードが最短の可能な参照番号（またはキーコード）を得るようにされている。
【０１５６】
図９ａ１、図９ａ２、図９ｂ１、図９ｂ２は、図４の４つのジグザグパターンマトリックスで行われるが、図８の第１の符号化ラウンドの結果において行われる第１の符号化ラウンドの結果を共に示している。
【０１５７】
図１０−１と図１０−２は、図９ａ１、図９ａ２、図９ｂ１、図９ｂ２の第１の符号化ラウンドの結果について行われる第２の符号化ラウンドの結果を示している。
【０１５８】
図１１乃至図１７−２は、図３乃至図１０−２で行われる方法と本質的に同じ方法を差ＤＣＴマトリックスにおいて基本的に示している。即ち、図１１は図３の４つの連続的な８＊８マトリックスから発生する４つのＤＣＴマトリックスを示し、第１のマトリックスはジグザグパターンにしたがってそれを読み出した後に図３の第１のマトリックスから生じる。第２、第３、第４のマトリックスはジグザグパターンでそれらを読み出した後、それぞれオリジナルの第２、第３、第４のマトリックスおよびそれらのプレデセサーの間の差の決定から生じる。
【０１５９】
図１２ａ１、図１２ａ２、図１２ｂ１、図１２ｂ２は共に、図１１の４つのジグザグパターンマトリックスで行われる第１の符号化ラウンドの結果を共に示している。一時的コードリストＴＣＬ（０）、永久コードリストＰＣＬ（０）、ファイル（０）は先の例を参照して前述した方法と同じ方法で得られる。ここでの例では、永久コードリストＰＣＬ（０）はそれ自体の符号化プロセス期間中に発生される。しかしながら、既に利用可能な参照コードリストが使用されることができる。
【０１６０】
図１３−１と図１３−２は、図１２ａ１、図１２ａ２、図１２ｂ１、図１２ｂ２の第１の符号化ラウンドの結果で行われる第２の符号化ラウンドの結果を示している。一時的コードリストＴＣＬ（１）、永久コードリストＰＣＬ（１）、ファイル（１）は先の例を参照して前述した方法と同じ方法で得られる。ここでの例では、永久コードリストＰＣＬ（１）はそれ自体符号化プロセス期間中に発生される。しかしながら、既に利用可能な参照コードリストが使用されることができる。
【０１６１】
図１４は、図１２ａ１、図１２ａ２、図１２ｂ１、図１２ｂ２と、図１３−１と１３−２から生じた参照データベースと、あるコードが生じる回数を示している。
【０１６２】
図１５は、データベース中であるコードが生じる頻度を考慮するとき図１４の参照データベースが再組織されることができる態様を示しており、最も頻繁な値は関係する参照データベース中で最低の可能な位置に位置される。
【０１６３】
図１６ａ１、図１６ａ２、図１６ｂ１、図１６ｂ２は、図１１の４つのジグザグパターンマトリックスで行われるが、図１５の参照方式を使用しながら行われる第１の符号化ラウンドの結果を示している。
【０１６４】
図１７−１と、図１７−２は、図１６ａ１、図１６ａ２、図１６ｂ１、図１６ｂ２の第１の符号化ラウンドの結果で行われる第２の符号化ラウンドの結果を示している。
【０１６５】
図１１乃至図１７−２を使用するとき、基本的な利点は差ＤＣＴマトリックスに関連される６４値ベクトルの第１の値がさらに低いことである。この第１の値はＤＣコンポーネントである。ビデオフレームの連続的なＤＣマトリックスのＤＣ値はほとんどの場合、相互に近く、それ故差ＤＣＴマトリックスを決定後、これらのＤＣ値は非常に低くなることが知られている。
【０１６６】
連続的なＤＣＴマトリックスのＤＣコンポーネント間の差はＤＰＣＭ（差分パルス符合変調）を使用して決定されることができる。
【０１６７】
図３乃至図１７−２の例は、それぞれＤＣＴマトリックスおよび差ＤＣＴマトリックスにおいて本発明による符号化技術を適用するとき参照データベース１および２中のエレメント数が以下のようになることを示している。  
ＤＣＴ符号化      差ＤＣＴ符号化  
参照データベース１            ３２                ２３  
参照データベース２            ３２                ３０  
したがって、差ＤＣＴマトリックスに基づく符号化を使用するとき、ファイル（０）とファイル（１）中のより多くの位置が同じ値を有する。それ故、例えばハフマン、ランレングス符号化、ＺＩＰまたはウィンラーに基づいた付加的な符号化動作を適用した後、結果的な損失のない圧縮は純粋なＤＣＴマトリックスに基づくよりも良好である。
【０１６８】
したがって、図３乃至図１０−２を参照して示された方法により行われる基本的なステップは以下のように要約されることができる。  
ａ）入力データエレメントを受信し、その入力データエレメントは以下のようにして得られる。  
I．Ｍを整数値として、Ｍ＊Ｍマトリックスへデータエレメントを分割し、
II．これらのＭ＊ＭマトリックスへＤＣＴプロセスを適用し、ＤＣＴデータエレメントを有するＭ＊ＭＤＣＴマトリックスをレンダリングし、
III．前記入力データエレメントをレンダリングする予め定められた下限と上限との間の値で前記Ｍ＊ＭＤＣＴマトリックスの全ての値を量子化する。  
ｂ）少なくとも以下のコンポーネントを有する予め定められた式Ｆを適用する。  
【数５】
0005453399.tif 000009
【０１６９】
ｃ）第１の一時的コードリスト（ＴＣＬ（０））中に第１の一連のコードを記憶する。  
ｄ）値を含むその各位置において、参照データベースに記憶されているのと同じ対応する値の位置を参照するインデックスにより値を置換することによって、第１の一時的コードリスト（ＴＣＬ（０））から第１のホルダ（ホルダ（０））を発生する。  
ｅ）一連の第２の一時的コードを発生し、それを第２の一時的コードリスト（ＴＣＬ（１））中に配置し、それにおいて各新しい一時的コードはベース値ＢＮの異なる値を使用して、第１のホルダ（ホルダ（０））から少なくとも２つの値を常に組み合わせる前記予め定められた式Ｆを使用して計算される。  
ｆ）値を含むその各位置において、参照データベースに記憶されているのと同じ対応する値の位置を参照するインデックスにより値を置換することによって、第２の一時的コードリスト（ＴＣＬ（１））から第２のホルダ（ホルダ（１））を発生する。
【０１７０】
前述したようにＭは８に等しくすることができる。
【０１７１】
図１１乃至図１７−２による実施形態では、第２、第３等のＤＣＴマトリックスは差ＤＣＴマトリックスである。
【０１７２】
１実施形態では、動作I、II、IIIもまた請求されているような本発明の一部である。
【０１７３】
第２のホルダであるホルダ（１）に含まれている値において先に規定された符号化動作の逆動作を使用しながら復号が行われる。式（１）または（１ａ）の使用により得られた復号コードについてのこのような逆動作は前述した。
【０１７４】
図８乃至図１０−２による方法が適用されるとき、付加的な動作がこれらの基本動作に付加される。これらの図８乃至図１１の付加的な動作の結果を復号する必要があるとき、これらの付加的な動作の逆動作も適用する必要がある。
【０１７５】
同じことがそれぞれ図１１乃至図１３−２と、図１５乃至図１７−２を参照して示された符号化プロセスの結果の復号にも適用される。
【０１７６】
全てのこれらの方法の動作は図１に示されているように適切にプログラムされたコンピュータ構成により行われることができる。さらに、これらの方法動作はこのようなコンバータ装置によりロードされることができるコンピュータプログラムにおける適切な命令として実行されることができる。このようなコンピュータプログラムは物理的なデータキャリアまたは適切なキャリア信号であれば、ワイヤ接合又は無線接続によって送信されるように、ＣＤ−ＲＯＭを介して、インターネット等を介して、即ち任意の適切なキャリアを介して分配されることができる。
【０１７７】
図１および２を参照して説明された例のように、永久コードリストにおける可能な事後処理動作は、  
１．Ｒａｒ  
２．Ｚｉｐ  
３．Ｄｅｆｌａｔｅである。
【０１７８】
［さらに別の実施形態］  
図３乃至図１７−２の例では、２つの符号化ラウンドだけが適用され、第１のラウンドでは、２バイトのセットが符号化され、第２のラウンドでは、それぞれ１６ビットを有する２つの値のセットが符号化される。以下さらに別の実施形態を説明する。
【０１７９】
ジグザグ読出し後に表ＢのＤＣＴマトリックスから生じるような前述の６４値ベクトルを参照する。最後には３９個のゼロ値が存在する。ランレングス符号化はこれらの３９個のゼロに適用されることができる。
【０１８０】
全体で６４値ベクトルはこの６４値ベクトルが既に参照データベース中に存在するか否かをチェックすることにより符号化される。まだ存在していないならば、それは参照データベースに付加され、新しい参照（キーコード）が発生される。その後６４値ベクトルは新しい参照により置換される。しかしながら既に存在するならば、６４値ベクトルは単に参照データベース中のこの６４値ベクトルに関連される参照により置換される。
【０１８１】
この実施形態では、参照データベースの最大のサイズは１６Ｇｂではない。これは１６Ｇｂよりも非常に大きいサイズを得る可能性がある。しかしながらキーコードの数は、２つのＤＣＴ値のセットが式（１）または（１ａ）を使用して共に符号化されるという前述した実施形態の場合よりも非常に小さい。
【０１８２】
６４値ベクトルの代わりに、４、８、１６、３２等のセットがこのようにして符号化されることができる。
【０１８３】
この変形では、式（１）が使用されないことに注意する。
【０１８４】
［さらに別の実施形態］  
さらに別の実施形態では、式（１）または（１ａ）を使用しながら２以上のデータエレメントを組み合わせる前述の技術が前述のベクトル符号化と組み合わせられる符号化技術が使用される。
【０１８５】
これらの２つの異なる技術の結果は以下のように要約されることができる。  
２バイト当りの              ６４値ベクトルの符号化  
２つの符号化ラウンド      
サイズ；    
参照データベース      より小さい                      より大きい  
キーコード            より大きい                      より小さい  
したがって、式（１）または（１ａ）を使用しながら２（以上の）データエレメントを共に符号化することはサイズにおいて参照データベースを６４値ベクトルの符号化の場合よりも小さくする。しかしながらキーコードのサイズは２（以上の）データエレメントを共に符号化する場合よりも大きい。
【０１８６】
前述したように６４値ベクトルの２つのデータエレメントの符号化の場合、ベクトルの最後には３９個ものゼロ値が存在することができる。したがってこれらの最後の３９ＤＣＴ値は全てゼロである。２ラウンドで連続的に２つのデータエレメントを組み合わせる技術を適用すると、２倍のゼロのさらに多数の符号化の組合せを生じる。この２倍のゼロの組合せは参照データベースで一度置かれさえすればよいが、これらはこれらの二倍のゼロの組合せを参照する不必要に高いキーコード数を発生しない。これらは記憶され、受信機へ送信されなければならない。
【０１８７】
これに対処する１方法は前述の符号化技術を組み合わせることであり、即ち、２（以上の）連続的なデータエレメントを組合せ式（１）または（１ａ）をこれらに適用することにより６４値ベクトルの一部を符号化することができ、全てのＤＣＴ値の残りを共に符号化する。
【０１８８】
これは１例によってより詳細に示されることができる。
【０１８９】
８＊８ＤＣＴマトリックスはジグザグ順序付けを受け、６４値ベクトルをレンダリングし、それにおいて大部分のゼロ値はベクトル値の最後に位置される。
【０１９０】
６４値ベクトルは少なくとも１つの第１の部分および少なくとも１つの第２の部分に分割される。第１の部分は６４値ベクトルの最初に位置され、他方で第２の部分は第１の部分の後方に位置される。第１の部分のベクトル値は２（以上の）値の連続的な組合せに適用される式（１）または（１ａ）を使用して符号化される。多くのゼロ値を有する可能性が最も高い第２の部分のベクトル値はコードをそれらに一度帰属させることにより符号化される。
【０１９１】
図１８乃至図２０−２では、６４値ベクトルの最初の３４値が２つの連続的な値および式（１）の組合せを使用して符号化され、６４値ベクトルの最後の３０値は一度に符号化される１例が示されている。２つの連続的な値当りの符号化と一度による最後の３０値の符号化は実質的にキーコードを少なくし、即ち１９２対１０８である。参照データベースのサイズはほぼ同じである。図２１乃至図２３−２は図１８乃至図２０−２と同じ動作を示しているが、差マトリックスに適用される。前述の例で与えられた数は本発明の技術的範囲を限定することを意図しないことに注意すべきである。例えば３以上の連続的な値の組合せは式（１）または（１ａ）を使用しながら符号化されることができ、３０を超えるまたは３０未満の値が一度に符号化されることができる。
【０１９２】
この符号化の組合せ方法により得られたコードを復号するためには、第２のホルダであるホルダ（１）に含まれる値について先に限定された符号化動作の逆動作を単に行う必要がある。式（１）または（１ａ）の使用により得られるコードの復号についてのこのような逆動作を前述した。
【０１９３】
全ての実施形態において、本発明は以下を含むことが認められる。  
１）符号化方法、  
２）例えばコンピュータのような、このような符号化方法を行うための装置、
３）使用において前記符号化方法を行うための、このような装置によりロードされることができるコンピュータプログラムプロダクト、
４）データキャリアが物理的なデータキャリアまたは搬送波であることができるこのようなコンピュータプログラムプロダクトを有するデータキャリア、
５）復号方法、
６）例えばコンピュータのようなこのような復号方法を行うための装置、
７）使用において前記復号方法を行うための、このような装置によりロードされることができるコンピュータプログラムプロダクト、
８）データキャリアが物理的なデータキャリアまたは搬送波であることができるこのようなコンピュータプログラムプロダクトを有するデータキャリア、
９）前記符号化および復号方法の両者を含む方法、
１０）例えばコンピュータのような前記符号化および復号方法の両者を行う装置、
１１）使用において前記符号化および復号方法の両者を行うための、このような装置によりロードされることができるコンピュータプログラムプロダクト、
１２）データキャリアが物理的なデータキャリアまたは搬送波であることができるこのようなコンピュータプログラムプロダクトを含むデータキャリア。  
以下に、本願出願時の特許請求の範囲に記載された発明を付記する。
［１］データセットにおけるデータの符号化方法において、
ａ）整数値ｉ＝０と参照データベースを規定し、
ｂ）ｉ番目の一時的コードリスト（ＴＣＬ（ｉ））中にデータを記憶し、
ｃ）値を含んでいるその各位置において、前記参照データベースに記憶されているものと同じ対応値の位置を参照するインデックスにより前記値を置換することによって、前記ｉ番目の一時的コードリスト（ＴＣＬ（ｉ））からｉ番目のホルダ（ホルダ（ｉ））を発生し、
ｄ）一連の新しい一時的コードを発生し、それを（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））中に配置し、ここで各新しい一時的コードは常に前記ｉ番目のホルダ（ホルダ（ｉ））から少なくとも２つの値を組み合わせる予め定められた式Ｆを使用して計算され、
ｅ）値を含んでいるその各位置において、前記参照データベースに記憶されているものと同じ対応値の位置を参照するインデックスにより前記値を置換することによって、（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））から（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））を発生し、
ｆ）前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））と前記（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））の少なくとも一方が２度以上１以上の値を含むか否かをチェックし、ノーならば動作ｇ）へジャンプし、イエスならばｉ値を１インクリメントして動作ｄ）へジャンプし、
ｇ）前記符号化を終了する方法。
［２］一度のみ前記ｉ番目の一時的コードリスト（ＴＣＬ（ｉ））からの全ての特有値を含んでいるものだけのリストを生成し、それを前記参照データベースの一部分を形成するｉ番目の永久コードリスト（ＰＣＬ（ｉ））に記憶することにより動作ｃ）を開始し、
一度のみ前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））からの全ての特有値を含んでいるものだけの後続するリストを生成し、それを前記参照データベースの一部分を形成する（ｉ＋１）番目の永久コードリスト（ＰＣＬ（ｉ＋１））に記憶することにより動作ｅ）を開始するステップを含んでいる前記［１］記載のデータの符号化方法。
［３］前もって設定された完全な又は部分的なユニバーサル参照データベースの使用を含んでいる前記［１］記載のデータの符号化方法。
［４］前記参照データベースは部分的にユニバーサルであり、前記方法は、
前記ｉ番目の一時的コードリスト（ＴＣＬ（ｉ））からの値が前記部分的にユニバーサルな参照データベースでまだ発生していないならば、この値を前記部分的にユニバーサルな参照データベースに付加する動作ｃ）の開始と、
前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））からの値が前記部分的にユニバーサルな参照データベースでまだ発生していないならば、この値を前記部分的にユニバーサルな参照データベースに付加する動作ｃ）の開始とにより、前記部分的にユニバーサルな参照データベースの拡張を含んでいる前記［３］記載のデータの符号化方法。
［５］前記参照データベース中の値を参照する前記インデックスは可変ビット符号化方式に従って配置される前記［３］記載のデータの符号化方法。
［６］損失のない圧縮アルゴリズムが前記参照データベースに適用される前記［２］または［４］記載の方法。
［７］各ｉ番目および（ｉ＋１）番目の永久コードリストが別々に記憶され、各ｉ番目および（ｉ＋１）番目のホルダは最小の可能な整数値でコンパイルされる前記［２］記載の方法。
［８］予め定められた式は少なくとも以下のコンポーネントを含んでおり、即ち、
【数６】
0005453399.tif 000010
前記［１］乃至前記［７］のいずれか１つに記載のデータの符号化方法。
［９］前記予め定められた式は以下のとおりであり、即ち、
【数７】
0005453399.tif 000011
前記［８］記載のデータの符号化方法。
［１０］Ｎはｉの各値について定数値を有している前記［８］または［９］記載の方法。
［１１］Ｎはｉの同じ値についての定数値を有するが、ｉの異なる値に対しては別の値を有することができる前記［８］又は［９］記載の方法。
［１２］各ホルダは相互から常に１の値異なる連続的なインデックス値を有し、前記ベース値は前記予め定められた式が適用されるホルダ中の最高のインデックス値よりも少なくとも１高い値を有している前記［８］乃至［１１］のいずれか１つに記載の方法。
［１３］動作ｇ）の後、最終的に発生されたホルダ（ホルダ（ｉ＋１））又はその参照を含むエンドコードがコンパイルされ、前記エンドコードと、各ｉおよび（ｉ＋１）番目の一時的コードリストの計算に使用される前記式に関するデータとを復号ユニットに対して利用可能にする前記［１］乃至［１２］のいずれか１つに記載の方法。
［１４］前記最終的に発生されたホルダ（ホルダ（ｉ＋１））は相互から常に１の値異なるインデックス値を含み、前記エンドコードは最高のインデックス値に等しいことを特徴とする前記［１３］記載の方法。
［１５］前記参照データベースはサイズ順に分類された一連のコードを有し、前記一連のコードからの最大値および前記一連のコードからの最大値と前記一連のコードからの残りのコードとの間の全ての差値のみを含む新しい一連のコードにより前記一連のコードを置換する前記［１］乃至［１４］のいずれか１つに記載の方法。
［１６］プロセッサおよびメモリを具備し、前記プロセッサに前記［１］乃至［１５］のいずれか１つに記載の方法を実行する能力を与えるように構成されたメモリデータおよびコンピュータプログラムの命令が記憶されている符号化装置。
［１７］プロセッサにより受信された後、前記プロセッサに前記［１］乃至［１４］のいずれか１つに記載の方法を実行する能力を与えるように構成されたデータおよび命令を含んでいるコンピュータプログラムプロダクト。
［１８］前記［１７］記載のコンピュータプログラムプロダクトが与えられたデータキャリア又は信号。
［１９］ａ）符号化ユニットまたは特有のその参照によって最終的に発生された（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））を含む前記エンドコードを受信し、前記ｉ値を受信し、
ｂ）参照データベース中の値を参照するインデックス値として（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））中の値を使用し、
ｃ）その位置に対応する前記インデックス値を有する前記参照データベースからの値を（ｉ＋１）番目のホルダ（ホルダ（ｉ＋１））の各位置に配置することにより（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））中の値を計算し、
ｄ）復号式を前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））へ適用することによりｉ番目のホルダ（ホルダ（ｉ））中の値を計算し、前記復号式は前記（ｉ）番目のホルダ（ホルダ（ｉ））から前記（ｉ＋１）番目の一時的コードリストを計算するために前記符号化ユニットにより使用されている式の逆公式であり、ここで前記ｉ番目のホルダ（ホルダ（ｉ））は前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））のＮ倍の値を有し、Ｎ≧２であり、
ｅ）前記参照データベース中の値を参照するインデックス値として前記ｉ番目のホルダ（ホルダ（ｉ１））中の前記値を使用し、
ｆ）前記ｉ番目のホルダ（ホルダ（ｉ））中の各位置において、その位置に対応する前記インデックス値を有する前記参照データベースからの値を位置させることによって、ｉ番目の一時的コードリスト（ＴＤＣＬ（ｉ）中の値を計算し、
ｇ）１だけ前記ｉ値をデクリメントし、ｉ≧０ならば、前記復号式を前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））へ適用することによりｉ番目のホルダ（ホルダ（ｉ））中の値を計算し、前記復号式は前記ｉ番目のホルダ（ホルダ（ｉ））から前記（ｉ＋１）番目の一時的コードリストを計算するために前記符号化ユニットにより使用されている式の逆公式であり、ここでｉ番目のホルダ（ホルダ（ｉ））は前記（ｉ＋１）番目の一時的コードリスト（ＴＣＬ（ｉ＋１））のＮ倍の値を有し、Ｎ≧２であり、動作ｅ）に戻り、ｉ＜０ならば、動作ｈ）にジャンプし、
ｈ）ｉ＝０である前記ｉ番目のホルダからオリジナルデータセットを獲得する動作によるエンドコードの復号方法。
［２０］プロセッサおよびメモリを具備し、前記プロセッサに前記［１９］記載の方法を実行する能力を与えるように構成されたメモリデータおよびコンピュータプログラムの命令が記憶されている復号装置。
［２１］プロセッサにより受信された後、前記プロセッサに前記［１９］記載の方法を実行する能力を与えるように構成されたデータおよび命令を有しているコンピュータプログラムプロダクト。
［２２］前記［２１］記載のコンピュータプログラムプロダクトが与えられているデータキャリア又は信号。
［２３］前記［１６］記載の符号化ユニットと前記［２０］記載の復号ユニットを具備している符号化／復号システム。
［２４］ａ）入力データエレメントを受信し、その入力データエレメントは、
I．Ｍ＊Ｍマトリックスへ前記データエレメントを分割し、Ｍは整数値であり、
II．これらのＭ＊ＭマトリックスへＤＣＴプロセスを適用し、ＤＣＴデータエレメントを有するＭ＊Ｍ  ＤＣＴマトリックスをレンダリングし、
III．前記入力データエレメントをレンダリングする予め定められた下限と上限との間の値で前記Ｍ＊Ｍ  ＤＣＴマトリックスの全ての値を量子化することによって得られ、
ｂ）少なくとも以下のコンポーネントを有する予め定められた式Ｆを適用し、 
【数８】
0005453399.tif 000012
ｃ）第１の一時的コードリスト（ＴＣＬ（０））中に第１の一連のコードを記憶し、 
ｄ）値を含むその各位置において、参照データベースに記憶されているのと同じ対応する値の位置を参照するインデックスにより前記値を置換することによって、前記第１の一時的コードリスト（ＴＣＬ（０））から第１のホルダ（ホルダ（０））を発生し、 
ｅ）一連の第２の一時的コードを発生し、それを第２の一時的コードリスト（ＴＣＬ（１））中に配置し、それにおいて各新しい一時的コードはベース値ＢＮの異なる値を使用して、前記第１のホルダ（ホルダ（０））から少なくとも２つの値を常に組み合わせる前記予め定められた式Ｆを使用して計算され、 
ｆ）値を含むその各位置において、前記参照データベースに記憶されているのと同じ対応する値の前記位置を参照するインデックスにより前記値を置換することによって、前記第２の一時的コードリスト（ＴＣＬ（１））から第２のホルダ（ホルダ（１））を発生するステップを含んでいる符号化方法。
【図１】
0005453399.tif 000016
【図２】
0005453399.tif 000017
【図３】
0005453399.tif 000018
【図４】
0005453399.tif 000019
【図５ａ１】
0005453399.tif 000020
【図５ａ２】
0005453399.tif 000021
【図５ｂ１】
0005453399.tif 000022
【図５ｂ２】
0005453399.tif 000023
【図６−１】
0005453399.tif 000024
【図６−２】
0005453399.tif 000025
【図７】
0005453399.tif 000026
【図８】
0005453399.tif 000027
【図９ａ１】
0005453399.tif 000028
【図９ａ２】
0005453399.tif 000029
【図９ｂ１】
0005453399.tif 000030
【図９ｂ２】
0005453399.tif 000031
【図１０−１】
0005453399.tif 000032
【図１０−２】
0005453399.tif 000033
【図１１】
0005453399.tif 000034
【図１２ａ１】
0005453399.tif 000035
【図１２ａ２】
0005453399.tif 000036
【図１２ｂ１】
0005453399.tif 000037
【図１２ｂ２】
0005453399.tif 000038
【図１３−１】
0005453399.tif 000039
【図１３−２】
0005453399.tif 000040
【図１４】
0005453399.tif 000041
【図１５】
0005453399.tif 000042
【図１６ａ１】
0005453399.tif 000043
【図１６ａ２】
0005453399.tif 000044
【図１６ｂ１】
0005453399.tif 000045
【図１６ｂ２】
0005453399.tif 000046
【図１７−１】
0005453399.tif 000047
【図１７−２】
0005453399.tif 000048
【図１８】
0005453399.tif 000049
【図１９−１】
0005453399.tif 000050
【図１９−２】
0005453399.tif 000051
【図２０−１】
0005453399.tif 000052
【図２０−２】
0005453399.tif 000053
【図２１】
0005453399.tif 000054
【図２２−１】
0005453399.tif 000055
【図２２−２】
0005453399.tif 000056
【図２３−１】
0005453399.tif 000057
【図２３−２】
0005453399.tif 000058