JP5453399B2 - 特有数値でデータを符号化および復号するための方法および装置 - Google Patents

特有数値でデータを符号化および復号するための方法および装置 Download PDF

Info

Publication number
JP5453399B2
JP5453399B2 JP2011510446A JP2011510446A JP5453399B2 JP 5453399 B2 JP5453399 B2 JP 5453399B2 JP 2011510446 A JP2011510446 A JP 2011510446A JP 2011510446 A JP2011510446 A JP 2011510446A JP 5453399 B2 JP5453399 B2 JP 5453399B2
Authority
JP
Japan
Prior art keywords
holder
value
encoding
values
tcl
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011510446A
Other languages
English (en)
Other versions
JP2011521587A (ja
Inventor
ファン・デン・ボーム、イポ・パウルス・ウィレム・マリヌス・マリア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of JP2011521587A publication Critical patent/JP2011521587A/ja
Application granted granted Critical
Publication of JP5453399B2 publication Critical patent/JP5453399B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、スペースを節約する方法で、情報損失がなくデジタル画像、音声および/またはテキスト情報が符号化され、記憶され、受信され、復号される符号化/復号の分野に関する。
デジタル画像はB*H画像点または画素のマトリックスである(画素=ピクチャエレメント)。各画素の色はDビットのある値により決定される。完全な画像はしたがってB*H*Dビットにより記述される。
[例:]
画素当り24ビットを有する720×576(DVDフィルムの標準的な解像度)の画像(トゥルーカラー)は720×576×24=9,953,280ビットまたは1,244,160バイトまたは1.19MB.8ビット=1バイト、1024バイト=1KB(キロバイト)、1024KB=1MB(メガバイト)により表される。
ビデオフィルムの典型的な再生速度は1秒当り25画像(秒当りのフレーム、fps)である。このことは前述の例からのデータを有するフィルムの1秒間が1秒当り30MBまたは単位時間当り100,000を超えるMBを含んでいることを意味している。コンピュータの通常のメモリ容量はかなり大きいが、実際にはフィルムの時間当り100GB(ギガバイト=1024MB)を記憶することは可能ではない。DVDは例えば5と17GBの間の記憶容量を提供する。単純な記憶方法、即ちフィルムの全てのビットの記憶はしたがって実際には応用可能ではない。
特に、必要とされるデータのメモリ容量を減少するための異なる方法が2つ存在する。即ち、
1)冗長の減少:この場合、情報は別の表示に変換され、それによって同じ情報は少ないスペースに記憶されることができる。オリジナル情報は常に損失なしに検索されることができる。
2)入力情報の変更:この場合、例えば情報の無関係の部分、例えば音声の場合の不可聴周波数または画像情報の場合の不可視部は除去され、或いは入力情報は別の方法で変更され、それによって連続的な圧縮ステップはより効率的に動作を開始する。この種のデータの減少の場合には、オリジナル情報は正確に検索されることができない。
W. D. Hagamen, e.a.の“Encoding verbal information as unique numbers”、IBM syst、No.4、1972年、278-315頁(以後、短くHagamen, e.a.[1972]と呼ぶ)はテキストの損失のない符号化方式を提案している。第1に、数値が全ての文字、数字、句読点、ブランクに割当てられる。その後各ワードの文字がひとまとめに考えられ、ある方式の補助によって、ワード当りのコードが計算される。したがって同一のワードは同一のコードを受ける。連続的なワードのコードは一時的なワードリストに連続的に置かれる。一時的なワードリスト中の全ての特有コードは一度に永久的なワードリストに記憶される。その後、永久的なワードリスト中の特有の対応する値の位置を参照するインデックスによりその各コードを置換することによって、一時的なワードリストに基づいてホルダが作成される。勿論、大きなオリジナルテキストの場合、このホルダは通常、依然として冗長を含んでいる。プロセスはそれ故ワードのグループおよび後続するワードのグループ等のように、全体的なオリジナルテキストを表す1つのエンドコードに到達するまで反復される。
各符号化のラウンドでは、Hagamen, e.a.[1972]は以下の形式を有する式を使用している。
Hagamen, e.a.[1972]では、復号ユニットはエンドコードと全ての永久的なワードリスト、および各ラウンドで取られた符号化ステップ、即ちラウンド当りに使用されたベース値BNと、使用された符号化ラウンドの総数を知っているならば、完全に失われていないオリジナルテキストを検索できる。
Hagamen, e.a.[1972]により説明された技術の欠点は実現されることのできるデータの減少に関して依然として完全に最適ではないことである。
本発明の目的は、データ減少の方法を提供し、同じ量のデータが少ないメモリスペースを使用して記憶されることができ、所望されるときに受信機/復号ユニットへ送信できるようにすることである。ここで記載され請求されているデータの符号化/復号プロセスは1)ではここで前述した技術を使用する。したがってデータの符号化はデータの任意の損失なく行われ、符号化は完全に「損失がなく」行われる。オリジナルの符号化データは復号手段によりそのオリジナル形式において損失なく完全に検索されることができる。請求された技術はHagamen, e.a.[1972]により開示されている符号化機構の改良である。
本発明は後述する種々の独立した請求項により特徴付けされる。実施形態の形式は独立請求項で請求されている。
要約すると、本発明による符号化方法は少なくとも以下の動作を含んでいる。
a)整数i=0と参照データベースを規定し、
b)i番目の一時的コードリスト(TCL(i))にデータを記憶し、
c)値を含んでいるその各位置において、参照データベースに記憶されているものと同じ対応値の位置を参照するインデックスにより値を置換することによって、i番目の一時的コードリスト(TCL(i))からi番目のホルダ(ホルダ(i))を発生し、
d)一連の新しい一時的コードを発生し、それを(i+1)番目の一時的コードリスト(TCL(i+1))に配置し、ここで各新しい一時的コードは常にi番目のホルダ(ホルダ(i))から少なくとも2つの値を組み合わせる予め定められた式Fを使用して計算され、
e)値を含んでいるその各位置において、参照データベースに記憶されているものと同じ対応値の位置を参照するインデックスにより値を置換することによって、(i+1)番目の一時的コードリスト(TCL(i+1))から(i+1)番目のホルダ(ホルダ(i+1))を発生し、
f)(i+1)番目の一時的コードリスト(TCL(i+1))と(i+1)番目のホルダ(ホルダ(i+1))の少なくとも一方が2度以上1以上の値を含むか否かをチェックし、ノーならば動作g)へジャンプし、イエスならばi値を1インクリメントし、動作d)へジャンプし、
g)符号化を終端する。
しかしながら、本発明はまた、プロセッサおよびメモリを有する符号化ユニットに関しており、ここでメモリデータとコンピュータプログラムの指令が記憶され、これらがプロセッサにこの方法を実行する能力を与えるように構成される。
本発明はまた、データおよび命令を有するコンピュータプログラムプロダクトに関し、これらはプロセッサにより受信された後、この方法を実行する能力をプロセッサに提供する。
本発明はまた、このようなコンピュータプログラムプロダクトが与えられたデータキャリア又は信号に関する。
要約すると、本発明による復号方法は少なくとも以下の動作を含んでいる。
a)符号化ユニットまたは特有のその参照によって最終的に発生されたi+1番目のホルダ(ホルダ(i+1))を含むエンドコードを受信し、
b)参照データベース中の値を参照するインデックス値として(i+1)番目のホルダ(ホルダ(i+1))中の値を使用し、
c)その位置に対応するインデックス値を有する参照データベースからの値をi+1番目のホルダ(ホルダ(i+1))の各位置に配置することにより(i+1)番目の一時的コードリスト(TCL(i+1))中の値を計算し、
d)復号式を(i+1)番目の一時的コードリスト(TCL(i+1))へ適用することによりi番目のホルダ(ホルダ(i))中の値を計算し、その復号式はi番目のホルダ(ホルダ(i))から(i+1)番目の一時的コードリストを計算するために符号化ユニットにより使用されている式の逆公式であり、ここでi番目のホルダ(ホルダ(i))は(i+1)番目の一時的コードリスト(TCL(i+1))のN倍もの値を具備し、N≧2であり、
e)参照データベース中の値を参照するインデックス値としてi番目のホルダ(ホルダ(i1))中の値を使用し、
f)i番目のホルダ(ホルダ(i))中の各位置において、その位置に対応するインデックスを有する参照データベースからの値を位置付けることによって、i番目の一時的コードリスト(TDCL(i)中の値を計算し、
g)i値を1だけデクリメントし、i≧0ならば、復号式を(i+1)番目の一時的コードリスト(TCL(i+1))へ適用することによりi番目のホルダ(ホルダ(i))中の値を計算し、復号式はi番目のホルダ(ホルダ(i))から(i+1)番目の一時的コードリストを計算するため符号化ユニットにより使用されている式の逆公式であり、ここでi番目のホルダ(ホルダ(i))は(i+1)番目の一時的コードリスト(TCL(i+1))のN倍もの値を具備し、N≧2であり、動作e)に戻り、i<0ならば、動作h)にジャンプし、
h)i番目のホルダからオリジナルデータセットを得る。i=0である。
復号期間中、エンドコードは符号化ユニットにより作られた最後のホルダに位置されている事実が使用される。エンドコードは関連する最後のホルダ中の1以上のインデックス値からなる。復号期間中、関連されるホルダからのインデックス値は参照データベース中の数値の位置を参照する各復号ラウンドで得られる。参照データベース中の数値の位置に対する参照は新しい一時的コードリストを生じる。そこから、逆公式を使用して、対応する新しいホルダが得られる。復号プロセスはオリジナルホルダが得られるまで反復される。
本発明はまたプロセッサおよびメモリを具備する復号ユニットに関し、メモリデータとコンピュータプログラムの命令は記憶され、これらが復号方法を実行する能力をプロセッサに与えるように構成される。
本発明またデータおよび命令を有するコンピュータプログラムプロダクトに関し、これらはプロセッサにより受信された後、復号方法を実行する能力をプロセッサに提供する。
本発明はまたこのような符号化ユニットと復号ユニットを具備する符号化/復号システムに関する。
本発明を以後幾つかの図面を参照して詳細に説明する。図面は実施形態を示すだけで、本発明を限定するものではなく、本発明は特許請求の範囲によって決定される。技術的に等価の解決策は特許請求の範囲の技術的範囲内に入るものと考えられる。
符号化ユニットと復号ユニットの概略構造を示す図である。 本発明の連続的な符号化動作を説明する表である。 例示的なビデオフレームにおける4つの連続的な8*8マトリックスから発生する4つのDCTマトリックスを示す図である。 ジグザグパターンで読み出された後、これらの4つのDCTマトリックスから生じる4つのDCTマトリックスを示す図である。 これらの4つのジグザグパターンマトリックスで実行される第1の符号化ラウンドの結果を示す図である。 これらの4つのジグザグパターンマトリックスで実行される第1の符号化ラウンドの結果を示す図である。 これらの4つのジグザグパターンマトリックスで実行される第1の符号化ラウンドの結果を示す図である。 これらの4つのジグザグパターンマトリックスで実行される第1の符号化ラウンドの結果を示す図である。 第1の符号化ラウンドの結果で実行される第2の符号化ラウンドの結果を示す図である。 第1の符号化ラウンドの結果で実行される第2の符号化ラウンドの結果を示す図である。 符号化ラウンド1と2から生じる参照データベースおよびあるコードが生じる回数を示す図である。 あるコードがデータベースで生じる頻度を考慮するとき図7の参照データベースが認識されることができる態様を示す図であり、最も頻繁な値が関係する参照データベースで可能な限りの最低位置に位置される。 図4の4つのジグザグパターンマトリックスで行われるが、図8の参照方式を使用しながら行われる第1の符号化ラウンドの結果を示す図である。 図4の4つのジグザグパターンマトリックスで行われるが、図8の参照方式を使用しながら行われる第1の符号化ラウンドの結果を示す図である。 図4の4つのジグザグパターンマトリックスで行われるが、図8の参照方式を使用しながら行われる第1の符号化ラウンドの結果を示す図である。 図4の4つのジグザグパターンマトリックスで行われるが、図8の参照方式を使用しながら行われる第1の符号化ラウンドの結果を示す図である。 図9a1、9a2、9b1、9b2の第1の符号化ラウンドの結果に置いて行われる第2の符号化ラウンドの結果を示す図である。 図9a1、9a2、9b1、9b2の第1の符号化ラウンドの結果に置いて行われる第2の符号化ラウンドの結果を示す図である。 図3の4つの連続的な8*8マトリックスから生じる4つのDCTマトリックスを示す図であり、第1のマトリックスは後続するジグザグパターンでそれを読取った後に図3の第1のマトリックスから生じ、第2、第3、第4のマトリックスはジグザグパターンでそれらを読取った後に、それぞれオリジナルの第2、第3、第4のマトリックスとそれらのプレデセッサーとの間の差の決定から決定される。 図11の4つのジグザグパターンマトリックスで行われる第1の符号化ラウンドの結果を示す図である。 図11の4つのジグザグパターンマトリックスで行われる第1の符号化ラウンドの結果を示す図である。 図11の4つのジグザグパターンマトリックスで行われる第1の符号化ラウンドの結果を示す図である。 図11の4つのジグザグパターンマトリックスで行われる第1の符号化ラウンドの結果を示す図である。 図12a1、12a2、12b1、12b2の第1の符号化ラウンドの結果で行われる第2の符号化ラウンドの結果を示す図である。 図12a1、12a2、12b1、12b2の第1の符号化ラウンドの結果で行われる第2の符号化ラウンドの結果を示す図である。 図12a1、12a2、12b1、12b2と13−1、13−2の符号化ラウンド1と2から生じた参照データベースと、あるコードが生じる回数を示す図である。 あるコードがデータベースで生じる頻度を考慮するとき図14の参照データベースが認識されることができる態様を示す図であり、最も頻繁な値が関係する参照データベースで可能な限りの最低位置に位置される図である。 図11の4つのジグザグパターンマトリックスで行われるが、図15の参照方式を使用しながら行われる第1の符号化ラウンドの結果を示す図である。 図11の4つのジグザグパターンマトリックスで行われるが、図15の参照方式を使用しながら行われる第1の符号化ラウンドの結果を図である。 図11の4つのジグザグパターンマトリックスで行われるが、図15の参照方式を使用しながら行われる第1の符号化ラウンドの結果を図である。 図11の4つのジグザグパターンマトリックスで行われるが、図15の参照方式を使用しながら行われる第1の符号化ラウンドの結果を図である。 図16a1、16a2、16b1、16b2の結果で行われる第2の符号化ラウンドの結果を示す図である。 図16a1、16a2、16b1、16b2の結果で行われる第2の符号化ラウンドの結果を示す図である。 64値ベクトルの最初の34値は予め定められた式で2つの連続的な値の組合せを使用して符号化され、64値ベクトルの最後の30値は一度に符号化される符号化の1例を示す図である。 64値ベクトルの最初の34値は予め定められた式で2つの連続的な値の組合せを使用して符号化され、64値ベクトルの最後の30値は一度に符号化される符号化の1例を示す図である。 64値ベクトルの最初の34値は予め定められた式で2つの連続的な値の組合せを使用して符号化され、64値ベクトルの最後の30値は一度に符号化される符号化の1例を示す図である。 64値ベクトルの最初の34値は予め定められた式で2つの連続的な値の組合せを使用して符号化され、64値ベクトルの最後の30値は一度に符号化される符号化の1例を示す図である。 64値ベクトルの最初の34値は予め定められた式で2つの連続的な値の組合せを使用して符号化され、64値ベクトルの最後の30値は一度に符号化される符号化の1例を示す図である。 図18乃至図20−2と同じ動作を示す図であるが、異なるマトリックスに適用されている。 18乃至図20−2と同じ動作を示す図であるが、異なるマトリックスに適用されている。 18乃至図20−2と同じ動作を示す図であるが、異なるマトリックスに適用されている。 18乃至図20−2と同じ動作を示す図であるが、異なるマトリックスに適用されている。 18乃至図20−2と同じ動作を示す図であるが、異なるマトリックスに適用されている。
[序文]
図1は本発明が適用されることができるシステムの通常のセットアップを示している。このシステムは符号化ユニット1を有し、これは送信機の機能を実現することもできる。符号化ユニット1はメモリ7に接続されているプロセッサ5を具備している。プロセッサ5は入力/出力装置(I/O)9とI/O11にも接続されている。I/O9を介して、プロセッサ5は接続13を通してデータを受信できる。接続13はワイヤでもよく、無線で構成されてもよい。本発明では、どのような波長の電磁放射が無線通信で使用されるかは重要ではない。I/O11を介して、プロセッサ5は接続15を介してデータを出力でき、これはワイヤ接続または無線接続に関係することもできる。
メモリでは、プロセッサ5が、本発明によるデータの符号化およびその後のその送信のようなある機能を提供することを可能にする1以上のソフトウェアプログラムおよびデータが記憶される。
図1はプロセッサ5により生成される符号化されたデータが送信されることができる異なる方法を示している。送信は例えばワイヤを介して行われることができる。二重矢印31はその代りに、生成されたデータが無線で受信機に送信されることができることを示している。これは無線、テレビジョンの文脈内で、または1端末から別の端末で行われることができる。端末は例えば移動体電話、PDA(パーソナル・デジタル・アシスタント)、MP3プレーヤ或いはマルチメディアプレーヤ等である。代わりに、発生されたデータは光ディスク(例えばCD、DVD)、磁気テープ35またはメモリスティックのようなメモリカード37のようなデータキャリアに記憶されることができる。他の記憶形態も勿論可能である。
符号化ユニット1により発生される信号は受信機又は復号ユニット3により受信される。復号ユニット3はメモリ23に接続されるプロセッサ21を具備している。プロセッサ21は入力/出力装置(I/O)19とI/O25にも接続されている。I/O19を介して、プロセッサ21は接続17を通してデータを受信できる。I/O25を介して、プロセッサ21はデータ、例えばオーディオデータを高声器(ヘッドホン)へ出力でき、および/またはビデオデータをモニタまたはディスプレイ29へ出力できる。
復号ユニット3はCDまたはDVDプレーヤ、テープレコーダ、(今日のMP3プレーヤのような)メモリチップに記憶されたデータに基づくプレーヤ、移動体電話、PDA、ブラックベリー等のような任意の所望の構造を有することができる。
示されているメモリは、ハードディスク、読取り専用メモリ(ROM)、電気的消去可能なプログラム可能の読取り専用メモリ(EEPROM)とランダムアクセスメモリ(RAM)の1以上を具備することができる。これらのメモリタイプ全てが必ずしも存在する必要はない。さらに、これらはそれぞれのプロセッサに対して物理的に近くに位置される必要はない。これらはそれに関して遠隔的に位置されることもできる。
実施形態では、それぞれのプロセッサはキーボードおよびマウスのようなユーザによる命令、データ等の入力手段に接続されている。当業者に知られているタッチスクリーン、トラックボールおよび/またはスピーチ変換器のような他の入力手段も使用することができる。
それぞれのプロセッサに接続されている読取りユニットも設けられる。このような読取りユニットはフロッピー(登録商標)ディスク、メモリスティック、磁気テープ、CD−R、DVD−RまたはCDROMのようなデータキャリアからデータを読取るように構成されている。
それぞれのプロセッサは、出力データを紙面に印刷するためのプリンタおよび表示ユニット、例えばモニタ或いはLCD(液晶ディスプレイ)スクリーン又は当業者に知られている任意のタイプの表示ユニットに接続されることができる。
プロセッサはデータの受信および送信のための適切な入力/出力手段により、通信ネットワーク、例えばPSTN(公衆交換電話網)、広域網(WAN)、インターネット等に接続されることができる。
プロセッサは個々のシステムとして、またはそれぞれがより大きいプログラムのサブタスクを実行するように構成されている並列して動作する複数のプロセッサとして、或いは種々のサブプロセッサを有する1以上のプロセッサとして構成されることができる。本発明の機能の一部は、所望ならば、ネットワークを介してそれぞれのプロセッサと通信する遠隔プロセッサにより実行されることさえもできる。
[特有数値におけるデータの符号化]
コード化プログラムはデジタルデータ(画像、音声、テキスト、文字)をスペースを節約したフォーマットに変換する。デジタルデータは少なくとも画像、音声および/またはテキスト(この場合では、テキストは文字のシーケンスの任意のランダムな形態を意味するものと理解される)を含んでいる。本発明による符号化ステップでは、データの損失が生じる圧縮技術は使用しない。圧縮技術はデータが省略されるか事前処理され、それによってオリジナルデータが検索できなくなる技術である。このような既知の圧縮技術の使用結果はデータ処理前に存在するようなオリジナルデータに関して品質の(何等か)損失を発生する。このような圧縮技術の幾つかは例えばFPEG、MPEG、MP3等の場合に行われる符号化ステップの一部として使用される。これらの既知の符号化技術の他の部分はしかしながら損失がない。
以後説明する符号化技術はデータの損失を生じるいかなる圧縮技術も使用しない。全てのオリジナルデータは符号化され、そのオリジナル状知で損失のない方法で完全に復号されることができる。勿論、このようなオリジナルデータはそれ自体、幾つかのデータ入力が符号化され必ずしも損失がない他の復号技術の出力であることができる。勿論、入力データに到達するようにこのようなオリジナルデータへ復号プロセスを適用することはこのような入力データを損失無く得ることにつながる。これはオリジナルデータがある入力データにおけるDCT(デジタルコサイン変換)の最終結果である1実施形態出を説明するとき以後さらに詳細に説明され、それにおいては量子化の動作も行われる。
付加的で重要ではない利点は、本発明の使用によって、オリジナル画像、音声および/またはテキストデータが符号化されそのオリジナル形態で復号されることができ、記憶容量はJPEG、MPEG、MP3により使用される圧縮技術よりも低いことである。
[符号化プロセス]
符号化プロセスは幾つかの符号化ラウンドからなり、これは原理的に、ラウンド数に関して、完全に自由に決定されることができる。Hagamenによる従来技術では、符号化ラウンドの最大数は、ただ1つのエンドコードが最後のホルダで発生される瞬間によって決定される。
しかしながら、本発明によれば符号化ラウンドの最大数は、符号化ラウンドにおいて、もはや更なるデータ減少に到達できなくなった瞬間により決定される。即ち、符号化プロセスはすぐに終端されることができ、減少がもはや実現されなくなる瞬間は1つのみのエンドコードがホルダに存在するときよりもすぐに(時には非常にはやく)終端されることが発見されている。符号化プロセスは記載されているように、あるホルダが1、2、3、4,………Nのような直接連続する数値のみからなると、すぐに完了されることができる。符号化ラウンド当りの特有の結果は参照データベースで記憶される。
本質的に、またさらに説明されるように、参照データベースは2つの異なる形式でコンパイルされることができ、第1の形式では、ユニバーサル参照データベースが使用され、第2の形式では参照データベースは符号化ユニット1による符号化期間中に作成される。第2の技術では、符号化が行われる符号化ユニット1により後に拡張される最小のユニバーサル標準データベースを使用して恐らく開始される。
符号化されるデータは符号化されるデータの1以上のバイトを表す数値として提示されるか、または符号化されるデータは特有の数値による先行する符号化により表される。1以上のバイトの配置は本発明には本来必要ではないが、現在のコンピュータでは最も明白である。バイトの符号化の場合、これらの数値は0乃至255の範囲内、即ち256の異なる数値に存在する。本発明による符号化/復号はバイトレベルにおける符号化/復号に限定されない。画像情報の符号化/復号の場合、符号化/復号は個々の画像線R、G、B、バイトマトリックス、画素マトリックス等のレベルでさえもこれらのマトリックスのサイズにかかわりなく行われることができる。
連続的な符号化ラウンドについて本発明をさらに説明する。開始点は次のように規定されることのできるデータセットである。即ちデータセットはコンピュータファイルまたはストリームから発生するランダムディメンションのランダムデータを含んでいる。ほとんど、あらゆるコンピュータファイルはバイトのあるセットを具備する。これらのバイトは二進形態でコンピュータに記憶され、各バイトはほとんどが8ビットであるが、他の数も可能である。1バイト(8ビット)の範囲はコンピュータファイルで使用されるバイト数よりも非常に小さいので、反復は回避できず、その結果としてここで提案されているアルゴリズムは異種のデータセットに適用可能である。
[符号化ラウンド1]
図2を参照すると、連続的な符号化ラウンドの動作および結果を表示している表が示されている。実施形態では、本発明は一時的コードリストTCL(i)(i=0、1、2、3…I)と共に参照データベースを形成するFi永久コードリストPCL(i)、ホルダ、ホルダ(i)および関数Fiを使用する。実施形態では、第1の一時的コードリストTCL(0)は符号化アルゴリズムの入力に等しく、符号化されるデータセットから得られる。第1の永久コードリストPCL(0)はまた説明するようにオリジナルデータセットから得られる。
図2の表は例示として、16バイトのデータセットに基づいた連続的な動作を示している(図2の表のバイトの表示は16進数の形式であり、FFは例えば11111111を表し、0Cは00001100を表す)。実際に、ビデオファイル(DVD)またはオーディオファイル(CD)のような非常に大きなデータセットが使用される。そのデータセットは符号化ユニット1のメモリに記憶されることができるが、外部ソースから符号化ユニット1により受信されてもよい。第1の一時的コードリストTCL(0)は読込まれたデータセットに等しく、プロセッサ5がその動作を行うとき記憶装置に存在する。
プロセッサ5は一時的コードリストTCL(0)中の全てのファイルをチェックする。バイトがプロセッサ5により読み出されて既に先に読まれたデータセットのバイトに等しくないことが判明する度に、プロセッサ5は永久コードリストPCL(0)でその新しいコードを作る。示されているように、データセットが全ての論理的に可能なバイト値を有しないならば、永久コードリストPCL(0)もしたがって全ての論理的に可能なバイト値を有しない。しかし一時的コードリストTCL(0)は全ての論理的に可能なバイト値を含まない。図2のデータセットでは、4つのみの特有値、即ちFF、12、0C、13が生じ、これは永久コードリストPCL(0)に一度だけ含まれる。永久コードリストPCL(0)はプロセッサ5によりメモリ7に記憶される。
その後、プロセッサ5は第1のホルダであるホルダ(0)を発生する。ホルダ(0)は一時的コードリストTCL(0)と丁度同数のエレメントを含む。バイトが一時的コードリストTCL(0)に存在した各位置では、ホルダ(0)はしかしながら永久コードリストPCL(0)中のこのオリジナルバイトの値の位置に対する参照(インデックス)だけを含む。インデックスは永久コードリストPCL(i)に記憶されるとしてこの値を参照する。したがって“1”は“FF”を指し、“2”は“12”を指し、“3”は“0C”を指し、“4”は“13”を指す。
実施形態では、ホルダ(0)の内容はプロセッサ5によって、例えばランレングス符号化の適用よって長さを減少される。したがって、成功すれば、ホルダ(0)中のエレメント数は減少され、符号化に必要とされるインデックス値は少なくなる。これはその後、対応する永久コードリストPCL(0)の必要とされる記憶容量を少なくする。さらに、これはより高速度の符号化プロセスにつながる。データ減少の同じ形態が1以上のその後のホルダであるホルダ(i)でも適用されることができる。
非常に大きいデータセットの場合には、幾つかのバイト値は他のバイト値よりも非常に頻繁に生じることが発見される可能性がある。プロセッサ5はオリジナルデータセットまたは一時的コードリストTCL(0)のいずれかを解析することによりこのことを確立することができる。原理的に、永久コードリストPCL(0)中のバイト値はその後例えば当業者に知られているような可変ビット符号化方式を使用することによってメモリ7中にスペースを節約する方法で記憶されることができる。あるバイト値がより頻繁に発生する程、特有バイト値を永久コードリストPCL(0)に記憶するのに必要とされるビット数は少なくなる。それに加えて、例えばハフマン符号化方式はより効率的にPCL(0)中にバイト値を記憶するために使用されることができるが、本発明はそれに限定されない。(例えばJPEGで使用されるような)2次元符号化方式を含めた当業者に知られている他の損失のない方式が使用されることができる。
第1の符号化ラウンドでは、したがって第1の永久コードリストPCL(0)が形成され記憶される。代わりに、出発点としてユニバーサルコードリストを取ることが可能であり、ここではバイトの全ての可能な値が生じ(即ち256ピース)、バイト値は可変のビット符号化方式にしたがって前もって規定されることができる。符号化方式はその後、あるバイト値が平均してデータセットで生じる頻度に基づく。これはデータセットがビデオ、オーディオまたはテキストを表すかに基づいている。データセットがテキストを表すならば、符号化方式は言語またはテキストのタイプ(例えばソフトウェアプログラム)に基づく。あるバイト値がより頻繁に生じると、永久コードリストPCL(0)に記憶される必要のあるビット数は少なくなる。ハフマン符号化方式は例えばこのために使用されることができるが本発明はそれに限定されない。2次元符号化方式も含めた任意の他の損失のない方式が使用されることができる。
[符号化ラウンド2]
符号化ラウンド2では、ホルダ(0)に記憶されるインデックス値は新しい一時的コードリストTCL(1)を構築するために使用される。この場合、新しいコード値は予め定められた関数F1(ホルダ(0))を使用してプロセッサ5により計算される。したがって例えばホルダ(0)からの少なくとも好ましくは2つの連続する値に対して関数F1が適用される。しかしながら本発明はそれに限定されない。図2の表に示されているように、一時的コードリストTCL(1)中に連続する値F1(1;2)、F1(1;1)、F1(3;4)等を生じる。
プロセッサ5は一時的コードリストTCL(1)に存在する異なる値の数を再度チェックし、プロセッサ5は一時的コードリストTCL(1)で生じる特有値のみが存在する永久コードリストPCL(1)を構築する。図2の表に示されている例では、これらは値F1(1;2)、F1(1;1)、F1(3;4)である。プロセッサ5はまた永久コードリストPCL(1)をメモリ7に記憶し、これをこれらが永久コードリストPCL(0)から弁別されることができる方法で行う。その後、プロセッサ5は一時的コードリストTCL(1)と丁度同数のエレメントを有する新しいホルダであるホルダ(1)を構築するが、ここでは各位置において、一時的コードリストTCL(1)からのオリジナル値の代わりに、永久コードリストPCL(1)中の値の位置を参照するインデックスが存在する。
前述したように、プロセッサ5は一時的コードリストTCL(1)またはホルダ(1)のいずれかに基づいて、ある値が永久コードリストPCL(1)で生じる頻度を確立する。これは最も頻繁に生じる値が最短のコードで記憶される可変ビット符号化方式で、値を永久コードリストPCL(1)に確立するためプロセッサ5によって使用されることができる。これはハフマン符号化または当業者に知られている別の方式を使用して行われることができる。
関数F1に対して使用されることができるコンピュータに適した式を以下述べる。
→Vはホルダ(0)の連続値から形成されたベクトルであり、これは一時的コードリストTCL(1)を構築するため関数F1において共に使用される。前述の例では、ベクトル→Vは毎回2つの値(V1,V2)だけを有する。図2の表によれば、ベクトル→Vは連続する値(1;2)、(1;1)、(3;4)等を有する。
ベース値BN1は関数F1があらゆる特有ベクトル→Vで特有値を供給できるように選択されなければならない。符号化ラウンド毎に正確なベース値BN1を選択することは復号では主として重要である。誤ったベース値BN1の使用は復号時にオリジナルデータを与えない。別の言い方をすれば、ベース値BN1はホルダのホルダ(i)中のインデックス値を単一の数値に変換することができるエンティティである。ベース値BN1の大きさは、ホルダで生じる符号化されるインデックス値数、またはホルダで生じる最高のインデックス値に基づいている。ベース値は生成される最高のインデックス値よりも少なくとも1高くなければならない。適切に、コンピュータが式を計算できる速度を増加するので、ベース値は2の乗数として選択される。ベース値BN1はこれらが毎回1だけインクリメントされて1、2、3等からN−2、N−1、Nへ変化するならば、関連されるホルダ中のエレメント数に基づいている。この場合、ホルダ中のエレメント数はホルダ中の最高のインデックス値に等しい。最高の値が関連されるホルダ中のエレメント数と対応しない場合、ベース値は最小であり、最高のインデックス値プラス1である。
式(1)で与えられた計算の代替として、マトリックス乗算を使用でき、ここではベクトル→VはM×N次元のマトリックスである。これは幾つかのケースにおいて有効な結果につながることができる。
永久コードリストがそれ自体符号化されるデータセットに100%基づくならば、僅かに変形された式が使用されることができる。
これは次のように説明されることができる。符号化が2数値毎に行われるならば、各符号化ラウンドでは、各計算後、使用されるベース値は計算の結果から減算されることができる。復号期間中、ベース値は再度各符号化ラウンドで付加される。符号化ラウンド当りのベース値は常に同じ定数である。その理由は、このようにして記憶スペースが節約されることができるからである。それに加えて、符号化後に符号化結果のサイズにしたがって増加する順序によりコードリストを分類することが可能である。式(1a)の使用により、分類されたコードリストは数値1で開始する。それと共に、数値は分類されたコードリストにおけるそれらのホルダ位置を既に示している。
さらに一般的な式では、1*BNは2数値の各計算後に結果から減算されることができる。
符号化が3数値当りで行われるならば、次の定数値、1*BNは+1*BNは各計算後に減算される。
4数値当りの符号化の場合、式は1*BNは+1*BN+1*BN等である。
[例]
第1の符号化ラウンドでは、第1の符号化ラウンドで最低の可能な数値である1の数値の4倍がベース値257により符号化される。これは次の特有の数値を与える。
1*257+1*257+1*257+1*257=17,040,900
この特有の数値はその後、永久コードリストPCL(1)に記憶される。しかしながら1*257+1*257+1*257が前述の符号化結果から減算されるならば、1の数値のみが残る。その場合には、17,040,900の代わりに1だけが永久コードリストPCL(1)に記憶される。
以下の符号化ラウンドについて、同じ種類の変形が実行されることができる。
[符号化ラウンド3]
ホルダ(1)に基づいて、プロセッサ5はプロセッサ5がホルダ(1)を生成したのと類似の方法でその後のホルダ(2)を発生する。したがってプロセッサ5は機能F2(ホルダ(1))を適用し、これはホルダ(1)中の2以上の連続するインデックス値を1の新しい値に組み合わせる。ホルダ(1)から発生する組合された値の数は関数F1(ホルダ(0))と同じ数に関することができるだけでなく、そこから異なることもできる。関数F2は原理的に関数F1と異なることができる。しかしながらここで与えられた例では、関数F2(ホルダ(1))は式(1)/(1a)で示されているのと同じ構造を有する。関数F2だけが関数F1のベース値BN1と異なることができるベース値BN2を有する。
プロセッサ5は次式によりその後の一時的コードリストTCL(2)を計算する。
式(3)の代わりに、BN1がBN2により置換される式(1a)が使用されることができる。
便宜上、この式は式F2が適用される度に、式(1)と丁度同数のアーギュメント(N)を有するベクトル→Vに基づいている。図の表に適用されている例では、例えば式は常に各符号化ラウンドでN=2エレメントに適用される。しかしながらこれは異なることを許容されている。
図2の表に示されている例では、一時的コードリストTCL(2)は、4つの値F2(1;2)、F2(3;2)、F2(1;3)、F2(1;2)を有する。それに基づいて、プロセッサ5は一時的コードリストTCL(2):F2(1;2)、F2(3;2)、F2(1;3)で発生する特有値のみを依然として含んでいる後続する永久コードリストPCL(2)を構築する。プロセッサ5はその後、開始点として一時的コードリストTCL(2)を取るが永久コードリストPCL(2)中の値の1つの位置を参照するインデックスによってそこの各値を置換することによりホルダ(2)を発生する。再度、永久コードリスト中の値は既に前述したように、所望によりスペース節約方法で記憶されることができる。図2の表に示されているように、ホルダ(2)は依然として4つのみの値、1、2、3、4を有している。
[符号化ラウンド4]
符号化ラウンド4では、プロセッサ5は再度一時的コードリストTCL(3)、永久コードリストPCL(3)、ホルダ(3)を発生する。原理的に、これは一時的コードリストTCL(2)、永久コードリストPCL(2)、ホルダ(2)の発生に関して前述した方法と同じ方法で行われる。これに使用される関数F3は再度式(1)/(1a)に類似することができ、ベース値BN3はベース値BN1およびBN2とは異なる。
一時的コードリストTCL(3)はその後依然として2つの値、F3(1;2)とF3(3;1)を含んでいる。これらは相互に異なっている。一時的コードリストTCL(3)で発生する全ての特有値を含まなければならない永久コードリストPCL(3)はそれ故、一時的コードリストTCL(3)に等しくなければならない。したがってホルダ(3)は2つの異なるインデックス値1,2を含んでいる。この例の一時的コードリストTCL(3)としたがってホルダ(3)は任意の冗長をもはやもたないので、さらにデータの減少はこれ以上実現可能ではない。それ故、プロセッサ5は各符号化ラウンドにおいて、発生された永久コードリストPCL(i)が一時的コードリストTCL(i)に存在する値数よりも少数の特有値を含んでいるか否かを確立するためにプログラムされる。プロセッサ5はホルダ(i)が特有のインデックス値のみを含むか否かをチェックすることによって、依然として冗長が存在するか否かを代替方法で確立することができる。別の言い方をすれば、ホルダ(i)中のエレメント数がホルダ(i)中の最高の数の位置に等しくなるとすぐに、関連される一時的コードリストTCL(i)中の全ての数値は特有になり、冗長はもはや存在しない。冗長がもはや存在しないならば、さらに符号化することは、データの増加につながるだけであり、したがってより必要とされる不必要な記憶スペースを多くするので、プロセッサ5は符号化を停止する。
図2の表は原理的に、1つのエンドコードが残るまで符号化が継続されることができることを示している。これはさらにデータの減少が実現されることができるならば、道理にかなっている。しかしながらそれに当てはまらない図2の状態では、以下のステップは依然として完全性のために示されている。ホルダ(3)に存在する2つのコードは式(1)または式(1a)で先に示されたような式により、ひとまとめに考えられ、一時的コードリストTCL(4)=F4(1;2)により図2の表で示されている1つの新しい値を生じる。新しい値F4(1;2)は一時的コードリストTCL(4)に同一の永久コードリストPCL(4)と一致する。最後のホルダ(4)は永久コードリストPCL(4)中の単一コードを参照する“1”のみを含んでいる。ホルダ(4)に記憶される値F4(1;2)はしたがって全体的な符号化されたデータファイルを表しているとして考慮されることができる。
ホルダ(4)中の値“1”はエンドコードである。しかしながら本発明の技術的範囲では、プロセッサ5は符号化ラウンド4を完了後、一時的コードリストTCL(3)も永久コードリストPCL(3)も、ホルダ(3)もこれ以上冗長を含まないことを確立する。プロセッサ5はそれ故、本発明によれば符号化ラウンド4後、更に符号化が行われることを終了する。その場合には、符号化のエンドコードはホルダ(3)の内容に等しく、したがって2つの値、即ち“1”と“2”からなる。
[参照データベース]
前述の符号化プロセスの終了後、全ての永久コードリストPCL(i)は共に、各符号化ラウンドからの各特有の数値が一度だけ記憶される参照データベースを形成する。この参照データベースは符号化されたデータからこの方法で構築される。コンテキストでは、参照データベースは自己発生データベースであると考えることができる。
符号化プログラムのパワーは符号化されるその学習効果である。行われる符号化がより多い程、既に符号化された数値の認識が行われる機会は大きくなる。学習効果はしたがって記憶スペースの節約を与える。
前述したように、参照データベースは符号化プロセスの前にコンパイルされることができる。
大きな利点は、各受信機がそのメモリに記憶されているこのような参照データベースを既に有し、したがって参照データベースは送信機から受信機へ送信される必要が無いことであり、これはデータの減少に貢献する。世界中の誰もがさらに自由に同じデータベースを有することができる。世界中で、エンドコードのみを送信するのに十分である。
符号化ラウンド当りの他のベース値BNである予め定められたベース値は、開始点として取られることができる。各符号化ラウンドでは、使用されるベース値は既に前もって知られていることと、符号化されるホルダ位置の数および符号化ラウンド数が自由に決定されることができることとによって、ユニバーサル参照データベースは符号化プロセスが開始される前に既に計算されることができる。特に、この参照データベースは決定されたベース値が使用されるときに関連される符号化ラウンド用に採択されることができる全ての値を含む。ソフトウェアプログラム中の参照データベースの計算を設定することも可能である。このような計算プログラムノ記憶は全ての可能な値を有する参照データベースを確立することに加えて少ないスペースしか占有せず、参照データベース自体の送信の必要性を阻止する。
中間解として、プロセッサ5は部分的にユニバーサルデータベースを開始点として取り、このユニバーサルデータベースにまだ存在しない、一時的コードリストTLC(i)で遭遇する数値を有するこのユニバーサルデータベースを拡張する。ある意味では、部分的にユニバーサルであるものを除いて、自己発生データベースも発生する。
[復号プロセス]
復号ユニット3(図1)はオリジナルデータセットを再構成するために以下のデータを必要とするだけである。
1.エンドコード;本発明の技術的範囲では、これは一時的コードリストTCL(3)、永久コードリストPCL(3)、ホルダ(3)の発生後に、これらのリストがもはや任意の冗長を含まないことをプロセッサ5が確立し、したがってプロセッサ5はその後符号化プロセスを終了して以来の、最後のホルダ(3)に存在する全てのインデックス値のアセンブリである。この場合、エンドコードはしたがって2つの値、即ち“1”と“2”を含んでいる。
2.符号化ユニット1により適用された符号化ラウンドの数と、先の符号化ラウンドのホルダから一時的コードリストを計算するため関連される符号化ラウンドで使用された関数。好ましくはある固定された復号プログラムに関連される固定された復号プログラムが使用される。使用される関数および任意のベース値はその後、ラウンド毎に定められ、それによって復号ユニットはこのことに関して任意のデータを受信する必要はない。代わりに、復号ユニットは(多くの既知の関数のうちの1つの参照であることができる)符号化ラウンド当りに使用される関数に関してデータを受信する。関数(1)または(1a)のような関数が使用されるならば、復号ユニットが、これを示すデータを受信するのに十分であり、いずれのベース値BNが使用されたかをラウンド単位で知ることを必要とするだけには十分である。
3.参照データベースは、符号化ラウンド当りの全ての永久コードリストPCL(i)(100%自己発生データベース)と、完全にユニバーサルなデータベースまたは両者の組合せ(部分的に自己発生データベース)からなることができる。符号化ユニット1により発生された部分は復号ユニット3へ送信されなければならない。可変ビット符号化方式はその永久コードリストに適用されることができる。その場合には、復号ユニット3は符号化ユニット1からその規則を受信しなければならず、またはそうでなければ知らなければならない。(恐らく部分的に)ユニバーサルナコードリストは復号ユニット3に前もって記憶されなければならない。
この全てが復号ユニット3に知られているならば、復号ユニット3は損失のない方法で復号プロセスを実行できる。復号プロセスは符号化プロセスと逆の順序で行われる。復号ユニット1が(1)に示されている式を使用して、永久コードリスト自体をコンパイルする状況について簡単に説明する。
最後に形成されたホルダ(3)からのエンドコードは1又は幾つかのインデックス値からなる。全てのこれらのインデックス値は先のホルダ(2)中のホルダ値が回復されるまで、最後の符号化ストロークに対応して、ベース値BN3により(したがってBN3、BN3、…、BN3により)反復的に割算される。したがって得られたホルダ値であるホルダ(2)は先のホルダ(1)を得るために永久コードリストPCL(2)と共に使用される。したがって、ホルダ(2)中のホルダ値は、対応する永久コードリストPCL(1)中の数値を参照する先のホルダ(1)中のホルダ値が回復されるまでベース値BN2により反復的に除算される。
このプロセスはオリジナルデータセットが回復されるまで反復される。
それにより、オリジナル符号化データは任意の情報損失なく、再度オリジナル状態および形式で検索される。
[所見/変形]
[データのバイト符号化]
バイト符号化は任意のいかなる形式、画像、音声又はテキストの全てのデータに適用されることができる。プロセッサ5は符号化ラウンド当りの結果が数値で表され、相互に比較され、特有の数値だけが永久コードリストに一度だけ記憶されるようにバイトレベルで符号化する、このようにして、画像、音声、テキストが同じ符号化/復号プログラムを使用して同時に符号化および復号されることが可能である。さらに、バイト符号化は画像、音声、テキストの符号化の場合に、混合されることを可能にし、絶対的なランダムシーケンスにおいて1および同じ参照データベースからなりさえすればよく、またはこれらからなることができるように使用される。
符号化ラウンド当り、例えば式(1)により新しいコードに集合的に符号化されることができるバイト数は符号化ラウンド当り自由に決定されることができるが、符号化ラウンド期間中に変化することはできない。これは例えば画素値、数値、線等、データバイト以外のレベルで符合化する選択がなされる場合にも適用される。
[テキストデータの数符号化]
テキストの符号化/復号の場合、特有の数値で個々の文字、句読点、数字等(文字)の事前の符号化を使用することもまた可能である。そのため例えばHagamen, e.a.[1972]が参照とされる。
可能な数値の符号化はアルファベット文字の位置であることができ、文字“a”は“1”を表し、文字“b”は“2”を表す等である。ブランクは例えば“0”として符号化される。それに加えてこの場合、最も頻繁に発生する文字が最低の可能な数値として表され、少ないビットを使用してメモリに記憶される可変ビット符号化方式を適用することが可能である。したがって、例えばハフマン符号化が適用されることができる。
このようにして、文字の組合せ、即ちワードはそれぞれの永久コードリストに一度だけ記憶される特有の数値による数の組合せとして表される。その場合には、式(1)と(1a)が使用されることができる。バイトの固定数の集合的な符号化はここでは行われないが、ワード当りの文字である符合または句読点、数字、ブランク等の全てまたは最大数の符号化が行われる、
その後、数値であるワードのグループはさらに線、文章の部分、文、段落、頁等が一度のみ記憶される特有の数値として表されるように符号化される。
それ故、記憶容量における効率の尺度はテキストデータにおけるワード、文章の部分、線等のアグリーメントの尺度に依存する。同じワード、文章の部分が符号化されるテキストデータでより頻繁に発生すると、記憶効率は大きくなる。
Hagamen, e.a.[1972]はドイツ国の文献に研究を開示しており、ドイツ国のテキストでは、1000ワードがテキストデータの約70%を表していることを示している。これらの1000ワードはそれ故、ドイツ国のテキストに関しては標準的な永久コードリストに含まれることができる。したがって残りの30%だけが残りのデータと共にプロセッサ5により決定され、記憶され、復号器3へ送信される必要がある。他の文献では、類似のパターンが設立されることができる。
テキストデータの符号化/復号は言語特有ではない。任意のテキストデータは如何なる言語でも、同時であってさえも特有の数値へ符号化されることができる。
[参照データベース]
バイト符号化、数符号化または画素コード化の場合、符号化ラウンドあたりの特有の数値は有限であり、その結果最終的な参照データベースが大きさにおいても有限である。全ての符号化の変形では、偶然にも同じ参照データベースが使用されることができる。
例示:
オランダ語、他のゲルマン系およびアングロサクソン系言語は全体的に約128の文字、数字、スクリプト符合等を有し、ここで可能な組合せ数は実際に有限である。多数の論理的組合せ、例えば5דf”は連続的には、実際にほとんど生じない。同じことが画像および音声にも適用され、多数の論理的組合せは実際には(ほとんど)生じない。
要約すると、参照データベースは異なる方法でコンパイルされることができる。
1.自己発生参照データベース
プロセッサ5はいかなるコードもまだ含まれていない空の参照データベースを開始点として取上げる。符号化されるデータに応じて、プロセッサ5はゼロコードで開始する参照データベース(即ち永久コードリストを有する)を拡張する。それにより、形成される参照データベースは直接符号化データセットに関連される。全ての論理的に可能に生じる数値の組合せが自己発生参照データベースで生じるわけではなく、実際に生じている数値の組合せだけが参照データベースに含まれる。例示により、オランダ語の語彙に生じない文字の組合せはそれ故、自己発生参照データベースでも生じない。自己発生データベースは1又は幾つかのデータセットの符号化に使用されることができる。ただ1つのデータセットの符号化に使用されるならば、自己発生データベースは自主的な参照データベースとも呼ばれる。エンドコードと共に、このような自主的な参照データベースは符号化されたオリジナルデータファイルよりも小さいことができる。この特別なデータベースの送信および記憶では、それ故少ないスペースしか必要とされない。これはある応用では、即ち装置が自由に限定された記憶容量を有する場合には興味がある。それに関して、写真および小さいフィルムの送信用の移動体電話に留意する。自己発生参照データベースが(非常に)多くのデータセットの符号化に使用される場合、このデータセットはユニバーサル参照データベースへ「発展」することができる。
自己発生データベースは固有(特有)のベース値が使用されることを可能にし、これは符号化される他のデータは使用できない。例示により、DVD1ばモノクロフィルムであり、DVD2がカラーフィルムであるならば、両フィルムのコードは非常に異なっている。DVD1では仮定の話ではただ2のRGB値が発生する。それと共に、第1の符号化ラウンドでは、3のベース値だけで十分である。しかしながら、このようなベース値を使用してDVD2を符号化することは、ここでは256の異なるRGB値が生じる可能性があるので、絶対的に不可能である。他方で、DVD2の第1の符号化ラウンドに必要な257のベース値は、モノクロDVD1の符号化に使用されるには不必要に高い値を有するコードになる。
2.既存の最小の標準データベースに基づいた自己発生参照データベース
プロセッサ5は符号化の前に、頻繁に生じるコードが既に含まれる最小の標準参照データベースを出発点として採用する。符号化されるデータにしたがって、プロセッサ5は参照データベース(即ち永久コードリスト)を拡張する。それにより、形成される参照データベースは直接的であるが100%ではなく、符号化されたデータに関連される。新しく符号化されるデータの各アイテムは既に利用可能な参照データベースを使用し、これをデータベースにまだ発生していない特有の数値で拡張し、または拡張しない。
最小の標準的な参照データベースはユニバーサルであることができるが、その必要なものではない。最小の標準参照データベースは先のデータのセットに基づき、例えば先に符号化されたDVDに結合されることができる。より多くのデータが符号化されるとき、参照データベースでまだ生じていない新しい特有の数値の拡張は減少する。符号化されるデータが多くなると、特有の数値が既に参照データベースに含まれるようになる機会が大きくなる。
論理的に可能な発生する数値の全ての組合せがこのような自己発生参照データベースで生じるわけではない。例示によれば、オランダ語の語彙で生じない文字の組合せはそれ故、このような自己発生参照データベースでも生じない。例えばオランダ語では、例えば5つの同一の連続する文字の組合せは通常可能ではない。
この場合、標準的なユニバーサルデータベースは既に復号器に記憶されることができ、符号化ユニットは依然として参照データベースについての拡張された情報を送信すればよい。データセットが符号化される毎に、復号器の参照データベースは参照データベースに付加されることができる新しい値、およびこれらの新しい値を参照するコードにより拡張されることができる。このような新しい値と新しいコードの組合せは、これらが将来復号器により使用されるのに有効であるように、1以上の符号化装置へ分配されることができる。これは最終的に最も関連するデータを有する参照データベースを生じる。
3.ユニバーサル参照データベース
データの符号化と、それにかかわりなく、実行される符号化ラウンド数、符号化される数値および符号化ラウンド当たりに使用されるベース値の数を知る前に、参照データベースは例えばソフトウェア計算プログラムによりコンパイルされることができる。その場合、参照データベースは実行される符号化ラウンド当りの全ての「論理的に」最大の可能な発生する特有の数値からなる。データの符号化はこの場合には参照データベースにおける特有の符号化結果の位置を決定するために必要である。自己発生データベースとは対照的に、実際には生じない符号化されるデータの組合せはユニバーサルデータベースに含まれる。ユニバーサル参照データベースは、これが常に新しく符号化されるデータセットに使用されるならば、自己発生データベースから作成されることもできる。先にコンパイルされたユニバーサルデータベースと対照的に、全ての「論理的に」最大に可能な特有の数値が自己発生ユニバーサルデータベースで生じるわけではない。
ユニバーサル参照データベースは以下のように有効な方法で使用されることができる。ユニバーサル参照データベースは、ラウンド当り固定された公式およびベース値を有して、符号化ラウンドの予め定められた数、例えば15の符号化ラウンドで形成されることを仮定する。これは必ずしも各符号化プロセスが実際に15の符号化ラウンドからならなければならないことを示唆しているものではない。ある符号化プロセスにおいて、4符号化ラウンド後、PCL(i)=TCL(i)で状況が既に進んでいることが発見されたならば、プロセッサ5はこのデータセットでの符号化プロセスを終了でき、プロセッサ5は残りの11の符号化ラウンドを実行する必要はない。これは不必要な記憶容量と符号化/復号時間を要求するだけである。復号では、復号プロセスが4つの復号ラウンドからなる情報だけが与えられる必要がある。それにより、個々のデータセットの符号化はかなりフレキシブルになり、各符号化プロセスでは、記憶および符号化/復号時間に関して最大の可能な効率を有する結果を目標とされ、この例では15の符号化ラウンド数が与えられ、これは超過されることはない。
[中央参照データベース]
自己発生参照データベースの場合、および既存の最小の標準データベースに基づく自己発生参照データベースの場合、ただ1つのおよび同じ参照データベースは全ての可能なデータタイプを符号化するとき開始点として取られる必要がある。これは種々のデータファイルの符号化後、さらに多くのデータファイルが符号化されるとき増々少ない特有の符号化結果が参照データベースに付加される必要があるという利点を有する。これらのデータファイルの各符号化の場合に使用される同じ参照データベースが受信者に対して使用可能であるならば、少数の新しい特有の符号化結果だけが特有のエンドコードに加えて受信者へ送信される必要があり、これは既に所有されている参照データベースへ受信者によって付加される必要がある。
受信者がより多くの符号化データファイル(ビデオ、オーディオ、テキスト等)を受信することを望むとき、「受信者の」参照データベースが依然として不足しているという特有の符号化結果は増々少なくなるが、いずれの場合でも、オリジナル符号化データファイルよりも(非常に)少数である。
[エンドコード]
符号化されたデータ当りの特有のエンドコードの結果は以下によって得られることができる。
1.1つの特有のエンドコード
全体的な符号化プロセスは1つでも特有の数値がPCL(i)、TCL(i)、ホルダ(i)に残っている限り行われる。ホルダ(i)の特有の数値は関連される符号化されたデータファイルのエンドコードとして考慮されることができる。この場合、ホルダ(i)中の最後のインデックス値は“1”に等しい。このことはこの値“1”が何を指しているかおよび符号化ラウンドが行われる数を正確に知っていない限り、復号期間中に問題を生じる可能性がある。他方で、一時的コードリストTCL(i)、永久コードリストPCL(i)、およびホルダ(i)に冗長がないためにさらに符号化することはが有益ではないので、符号化がすぐに終端するのであれば、関連されるエンドホルダは構成に関しては絶対的に特有である一連のインデックス値からなる。
2.PCL(i)=TCL(i)
符号化期間中に、一時的コードリストTCL(i)で、全てのコードが異なる状況が発生するとすぐに、PCL(i)=TCL(i)を保持する。これは符号化プロセスをさらに継続することが符号化された数値の記憶容量に関して有益をもたらさないことを意味している。その後の永久コードリストPCL(i)中の全ての特有の数値も一時的コードリストTCL(i)中のそれぞれのコードと対応する。さらに符号化することに意味はなく、これは記憶容量に関して到達できる有益さを減じる。その場合、永久コードリストPCL(i)または一時的コードリストTCL(i)に関連される最後のホルダ(i)はエンドコードとみなされることができる。
3.PCL(i)=TCL(i)の場合の特有の数値
PCL(i)=TCL(i)ならば、関連されるホルダ(i)中の第1の数値と最後の数値も知られている。最後の数値は知られており、関連されるホルダ(i)中のエレメント数もまた知られている。その場合、代りに関連されるホルダ(i)中の最高値はエンドコードとしてみなされることができる。図2の状態では、例えばホルダ(3)がエンドコードとしてみなされることができる。しかしながら代わりに、値“2”、即ちホルダ(3)の最高値がエンドコードとしてみなされることができることができる。特に、復号ユニットがエンドコードとして値“2”を受信したならば、最後に発生されたホルダもまた値“1”を含まなければならないことも知る。
[符号化/復号]
データの符号化および復号は物理的に異なる位置で独立して行われることができる。したがってデータの符号化は中心的な物理位置で行われることができ、復号は世界のどこでもランダムな位置で行われることができる。
[送信]
エンドコード、参照データベース等の送信はCD、DVD、ブルーレイ、メモリスティックのようなデータキャリア、さらに例えばSMSまたはeメールによって電気通信網を含めた多くの異なる方法で行われることができる。
[符号化]
データの各形式の符号化は一度だけ行われる必要があり、一度符号化されると、データは再度符号化される必要はない。
データの符号化の速度は「実時間」ベースで行われることができ、特に符号化されたTVプログラムがTV、インターネット、移動体電話等で生放送されることを可能にし、これは利用可能な大域幅の容量においてかなりの節約を行う。
[復号]
復号について、「受信者」は復号プログラム、参照データベース、特有のエンドコードをもつ必要がある。
参照データベースがコンパイルされる方法、即ち自己発生またはユニバーサルにしたがって、復号プログラムに関するエンドコードと幾つかのデータ(適用するのに必要なラウンド数および符号化ラウンド当りのベース値が何であるか)の捕捉が符号化されたデータの復号に必要である。復号では、以下が利用可能でなければならない。
1.復号プログラム、
2.自己発生又はユニバーサルな参照データベース(自主データベースは自己発生データベースの特別な形態である)、
3.行われる符号化ラウンド数、
4.各符号化ラウンドで使用されるベース値、
5.特有のエンドコード。
(自己発生の)ユニバーサルデータベースを使用する場合、行われる符号化ラウンド数と符号化ラウンド当りに使用されるベース値は前もって規定され、したがって復号プログラムで事前にプログラムされることができる。それ故この情報は別々に受信者へ送信される必要はない。その場合、単に特有のエンドコードを受信することで十分である。
[ベース値]
使用されるベース値はホルダ(i)で符号化されるエレメントの数、または符号化されるホルダ(i)中の最高の数値にしたがう。あるホルダ(i)で、全てのインデックス値が連続的である(即ち常に“1”により値が変化する)ならば、ベース値は最小にエレメント数よりも1高いか、ホルダ(i)中の最大数でなければならない。ベース値は再度プロセッサ5によって毎回、符号化ラウンド毎に自動的に決定されることができる。プロセッサ5はその後、その点についての情報を永久コードリストと共に、受信機へ送信されなければならないデータに付加する。同じベース値がデフォルトによって開始点として取られるならば、後者は必要ではない。これにより復号プログラムは既に知られている。
[ユニバーサルデータベース]
ユニバーサルデータベースが使用される場合、各符号化ラウンドに使用されるベース値が固定されることができる。
[自己発生および自主データベース]
この場合、ホルダ(i)当りの実際のエレメント数または先のホルダ(i)からの最高数値が考慮される。各符号化ラウンド前に、最も最適なベース値の変数が符号化プログラムにより計算されることができる。
自己発生データベースが幾つかのデータセットの符号化に使用されるならば、理論的に最大のベース値はベース値として選択されなければならない。
[参照データベースの分類および差計算]
参照データベースはこれらがコンパイルされる方法にかかわりなく、受信機への送信が行われる前にコードのサイズにしたがって分類されることができる。最高である最後の数値が開始点として取られるならば、数値間の相互の差が計算されることができる。例えば参照データベースで発生する残りの値を有する差値と同様に、この最高値のみが記憶されることができる。これらの差値はこの最高値と共に、参照データベース中でオリジナル値よりも非常に少数のバイトで登録されることができる。このようにして、情報の損失なしに、記憶およびデータベースの送信においてかなりの効率が実現されることができる。
[セキュリティ符号化データ]
オリジナルデータが再度検索されるように符号化されたデータを復号することは、復号器が符号化式、ベース値、エンドコードと同様に符号化に使用される符号化ラウンド数と精通しているならば可能である。
これらの必要とされるパーツの1つと精通していないとは、本来符号化されたデータを検索するための復号を生じるが、これは不可能である。それ故、例えば使用されるベース値のみが復号器により知られていないならば、関連する復号器がオリジナルデータを検索することは不可能である。あらゆる者(個人、企業、組織、機関、政府等)はそこで人により符号化されたデータが誰によって可視/可聴のオリジナルデータに復号されることができるかを自身で決定できる。
それに加えて、参照データベースおよび/またはエンドコードを処理(「暗号化」)することが可能であり、それによって例えば参照データベース中のデータおよび/または参照データベース中のエンドコード又はデータの順序をランダムに変更することによって、実行される動作に精通していないことが正確な復号を不可能にする。
[符号化されるデータの事前処理]
符号化プロセス前にオリジナルデータセットで実行されることができる可能な準備ステップを以下述べる(注意:全ての例が損失のない動作ではない)。
1.ビデオ/写真におけるRGBからYUV値への変換、
2.画素自体の平均による画素の置換。右へ、右下へ、下へまたは平均画素値の他の計算方法、
3.量子化、
4.連続するフレーム間の差のみの登録、
5.ディスクリートなコサイン変換、
6.雑音フィルタ、
7.可変のランレングスの符号化、
8.ハフマン符号化、
9.ブルームフィルタ、
10.ハッシュ表、
11.ハッシュ関数、
12.クロマサブサンプリング、
13.バターワースフィルタ、
14.DCTマトリックス(ディスクリートなコサイン変換)、
15.連続的なDCTマトリックスにおけるDCおよび/またはAC値間の差の登録のみ。
[符号化されたデータの事後処理]
永久コードリストにおける可能な事後処理動作を以下述べる。
1.Rar、
2.Zip、
3.デフレート。
[本発明の要約]
図1および2を参照して示された本発明による符号化方法は少なくとも以下の動作を含んでいる。
a)整数値i=0と参照データベースを規定し、
b)i番目の一時的コードリスト(TCL(i))中へデータを記憶し、
c)値を含んでいるその各位置において、参照データベースに記憶されているものと同じ対応する値の位置を参照するインデックスによって値を置換することにより、i番目の一時的コードリスト(TCL(i))からi番目のホルダ(ホルダ(i))を発生し、
d)一連の新しい一時的コードを発生し、i+1番目の一時的コードリスト(TCL(i+1))中にそれを配置し、それにおいて各新しい一時的コードがi番目のホルダ(ホルダ(i))からの少なくとも2つの値を常に組み合わせる予め定められた式Fを使用して計算され、
e)値を含んでいるその各位置において、参照データベースに記憶されているものと同じ対応する値の位置を参照するインデックスによって値を置換することにより、i+1番目の一時的コードリスト(TCL(i+1))からi+1番目のホルダ(ホルダ(i+1))を発生し、
f)i+1番目の一時的コードリスト(TCL(i+1))とi+1番目のホルダ(ホルダ(i+1))の少なくとも一方が2度以上1以上の値を含むか否かをチェックし、ノーであるならば、動作g)にジャンプし、イエスであるならば、iの値を1増加し、動作d)にジャンプし、
g)符号化を終了する。
しかしながら本発明はまたプロセッサおよびメモリを有する符号化ユニットにも関し、それにおいてはメモリにデータとコンピュータプログラムの命令が記憶され、これらがプロセッサにこの方法を実行する能力を提供するように構成される。
本発明はまたプロセッサによる受信後、プロセッサにこの方法を実行する能力を与えるように構成されたデータおよび命令を有するコンピュータプログラムプロダクトにも関する。
本発明はまた、このようなコンピュータプログラムプロダクトが与えられたデータキャリア又は信号にも関する。
要約すると、本発明による復号方法は少なくとも以下の動作を含んでいる。
a)符号化ユニット又はその特有の参照によって最終的に発生された(i+1)番目のホルダ(ホルダ(i+1))を含むエンドコードを受信し、iの値を受信し、
b)参照データベース中の値を参照するインデックス値として(i+1)番目のホルダ(ホルダ(i+1))中の値を使用し、
c)i+1番目のホルダ(ホルダ(i+1))中の各位置において、その位置に対応するインデックス値を有する参照データベースからの値を配置することにより、(i+1)番目の一時的コードリスト(TCL(i+1))中の値を計算し、
d)(i+1)番目の一時的コードリスト(TCL(i+1))へ復号式を適用することによりi番目のホルダ(ホルダ(i))中の値を計算し、復号式は(i+1)番目のホルダ(ホルダ(i+1))から(i+1)番目の一時的コードリスト(TCL(i+1))を計算するための符号化ユニットにより使用されている式の逆公式であり、(i+1)番目のホルダ(ホルダ(i+1))のN倍の数の値を具備し、N≧2であり、
e)参照データベース中の値を参照するインデックス値としてi番目のホルダ(ホルダ(i))中の値を使用し、
f)i番目のホルダ(ホルダ(i))中の各位置において、その位置に対応するインデックス値を有する参照データベースからの値を配置することにより、i番目の一時的コードリスト(TCL(i))中の値を計算し、
g)iの値を1デクリメントし、i≧0ならば、(i+1)番目の一時的コードリスト(TCL(i+1))に復号式を適用することによりi番目のホルダ(ホルダ(i))中の値を計算し、復号式はi番目のホルダ(ホルダ(i))から(i+1)番目の一時的コードリスト(TCL(i+1))を計算するための符号化ユニットにより使用されている式の逆公式であり、i番目のホルダ(ホルダ(i))は(i+1)番目の一時的コードリスト(TCL(i+1))のN倍の数の値を有し、N≧2であり、動作e)へジャンプして戻り、i<0ならば、動作h)へジャンプし、
h)i番目のホルダからオリジナルデータセットを導出し、i=0である。
[事前に符号化されたオリジナルデータに基づく実施形態]
本発明の符号化技術により符号化されたオリジナルデータがそれ自体、既にDCT(デジタルコサイン変換)プロセスが使用された符号化の結果である本発明の実施形態を説明する。例えばJPEG符号化プロセスでこのようなDCTプロセスが使用され、量子化動作と組み合わせて使用されるとき損失のある符号化技術である。
参照データベースのサイズと最後のファイル(…)中のコードの数との関連は「連通管」のようであり、一方が大きくなると、他方は小さくなる。このような「連通管」関係はテキスト、オーディオ、ビデオであるいずれのデータが符号化されるとき存在し、DCT変換は入力でデータのタイプ、即ちテキスト、オーディオ又はビデオとは無関係に使用されることができる。
より多くの符号化ラウンドが行われると、符号化ステップの結果が特有になり参照データベースに記憶されるべきである機会が大きくなる。さらに、各符号化結果は、ベース値の値を必然的に増加するので、その値に関する限り大きくなる。しかしながら次の各符号化ラウンド後、ファイル(i)中のコード数が小さくなるが、増加された参照データベースによりファイル(i)中のコード値は大きくなる。
それ故、幾つかのケースでは、最後のファイル(i)の全てのコードが前述したように特有であるという基準が満たされるまで符号化ラウンドを適用することは、したがって最後のファイル(i)中に少数のファイルを生じるが、容認しがたい程に大きな参照データベースも生じる。このような大きい参照データベースの送信はそれ故、実際に不可能である。
詳細に説明する1実施形態においてはこれについて考慮する。この実施形態では、DCTプロセスが使用される。DCTプロセスは例えばよく知られたJPED符号化で使用される。簡潔に述べると、JPEGは以下のプロセスステップを使用する。
1.RGB(赤、緑、青)のデータをYCbCrまたはYUVデータへ変換する。
2.YCbCrまたはYUVデータをサブサンプリングする。
3.ビデオフレームの画素を8*8画素マトリックスへ分割する。
4.DCTプロセスを8*8画素マトリックスへ適用する。
5.0から100の間の値について8*8DCT画素マトリックスの全ての値の量子化を行う。
6.これらのマトリックスにおいて「ジグザグ」読取りパターンを使用して8*8DCT画素マトリックスを64のベクトル値へ変換する。
7.RLE(ランレングス符号化)/ハフマン符号化を使用して64ベクトル値をエントロピー符号化する。
実験が示しているように、本発明の原理はステップ5または6の後に得られたデータに有効に適用されることができ、ここではステップ2は随意選択的なものであることが観察される。さらに、ステップ3への入力データは必ずしもビデオフレームに関する必要はない。この実施形態の原理は同等にビデオ以外の他のソースからのデータに良好に適用可能である。このような他のソースからのデータはDCTプロセスを受けることができる8*8マトリックスへグループ化されることもできる。
ビデオデータで開始して、入力8*8画素マトリックスは例えば以下の値を含んでいる。
DCTプロセスをこのマトリックスに適用することは50(Q=50)の量子化が適用されるとき以下の8*8DCT画素マトリックスを生じる。
この例から明白であるように、8*8DCT画素マトリックスは当業者により明白であるようにさらにデータ圧縮に良好な基礎を与える多くのゼロ値を有する。
このような更に圧縮する2つの代りの方法が本発明の原理を使用して示されている。更なる説明の基礎はDCTマトリックス1であり、これは各連続的な差DCTマトリックスがDCTマトリックスk(k=2、3、4)をそのプレデセサーDCTマトリックスk−1から減算することによって、例示的なビデオフレームの3つの連続的な画素ブロックから得られる3つの他のDCTマトリックス、即ち差DCTマトリックス2、差DCTマトリックス3、差DCTマトリックス4と組み合わせることにより、前述した表Bに等しい。図3はこれらの4つのマトリックスを示している。
[代替例1]
第1の代替例では、表Aの8*8DCT画素マトリックスは前述したようなJPEGプロセスでも使用されるようなジグザグパターンにしたがって読取られる。これは端部において多くのゼロ値を有する64のCDT画素値でベクトルをレンダリングする。
これらの64DCT値はもはや2次元のマトリックスではなく1次元の線で組織されることに注意すべきである。
[符号化ラウンド1]
符号化は2つのDCT値のセット、即ち2つの連続的なバイトにおいて図2を参照して説明されているような符号化機構を適用することにより行われる。8ビットの2つのこのようなバイトの可能な異なる特有値の数は2^16=65.536である。したがって、これは第1の符号化ラウンド後に参照データベース1に存在することができる異なる値の最大数でもある。また、キーコードの最大数は第1の符号化ラウンド後65.536である。これらの異なる値のそれぞれは2つのバイトで表されるので、第1の符号化ラウンド後の参照データベース1の最大サイズは128Kbに等しい65.536*2バイト=131.072バイトである。
[符号化ラウンド2]
ファイル(0)からの2つの位置が符号化される。このような各位置は2バイト(第1のラウンドでの符号化を参照)を有し、全部で4バイトが共に符号化される。したがって第2のラウンドの異なる組合せの総数は2^32=4.294.967.296である。これは参照データベース2に記憶される必要がある符号化ラウンド2から生じた値の異なる特有の組合せの最大数である。キーコードの最大数も4.294.967.296である。
値のあらゆる組合わせは最大値として4バイトを有するので、符号化ラウンド2からの参照データベースの最大サイズは16Gbである。
換言すると、それぞれの値が1バイトのサイズを有する2倍の2つの値の符号化の組合せ(即ち2ラウンドにおいて)、参照データベースの最大のサイズは16Gbである。このような参照データベースは容易に第3のパーティに送信されることができるユニバーサルデータベースと考えられることができる。
さらに1例でこれを示すことができる。この例の符号化技術を使用して、全部で19のDVDからのビデオデータの120Gbが符号化された。これらの120Gbの符号化から生じる参照データベースは365MBのサイズを有していた。ウィンラー(Winrar)による圧縮動作をこれらの365Mbに適用後、130Mbの参照データベースが生じた。
添付図面では、これらの符号化ラウンドが4つのDCTマトリックスに付いて詳細に説明されている。
・図3乃至図10−2は、例示的なビデオフレームにおける4つの連続的なDCTマトリックスのこれらの符号化ラウンドを説明している(注:これらはJPEGピクチャまたはMP3オーディオファイルから生じることができる)。
・図11乃至図17−2は、図3の第1のDCTマトリックスと、図3の他の3つのDCTマトリックスに基づいた3つの連続的なさDCTマトリックスについてのこれらの符号化ラウンドを説明している。
図3は例示的なビデオフレームにおける4つの連続的な8*8マトリックスから発生する4つのDCTマトリックスを示している。
図4はジグザグパターンで読み出した後のこれらの4つのDCTマトリックスから生じる4つのDCTマトリックスを示している。
図5a1、図5a2、図5b1、図5b2は式(1)を使用しながらこれらの4つのジグザグパターンマトリックスで行われる第1の符号化ラウンドの結果を共に示している。符号化ラウンド1では、符号化された各値はそれ自体8ビット(1バイト)であるので、ベース値BN=256である。一時的コードリストTCL(0)、永久コードリストPCL(0)、ファイル(0)は先の例を参照して前述したように同じ方法で得られる。ここでの例では、永久コードリストPCL(0)はそれ自体の符号化プロセス期間中に発生される。しかしながら、既に利用可能な参照コードリストが使用されることができる。
図6−1乃至図6−2は、第1の符号化ラウンドの結果において行われる第2の符号化ラウンドの結果を示している。再び2つの値は式(1)を使用して共に符号化される。2バイトの2値はこの式でそれぞれ符号化される必要があるので、ベース数はBN=2^16=65.536である必要がある。一時的コードリストTCL(1)と、永久コードリストPCL(1)と、ファイル(1)とは先の例を参照して前述した方法と同じ方法で得られる。ここでの例では、永久コードリストPCL(1)はそれ自体の符号化プロセスの期間中に発生される。しかしながら既に利用可能な参照コードリストを使用できる。
図7は、符号化ラウンド1および2から生じる参照データベースと、あるコードが発生する回数を示している。
図8は、あるコードがデータベースで発生する頻度を考慮するときに図7の参照データベースが再組織されることができる態様を示している。再組織された参照データベースでは、最も頻繁な値は最低の可能な位置に位置され、コード、即ち「キーコード」への参照は、最高の頻度で生じるコードが最短の可能な参照番号(またはキーコード)を得るようにされている。
図9a1、図9a2、図9b1、図9b2は、図4の4つのジグザグパターンマトリックスで行われるが、図8の第1の符号化ラウンドの結果において行われる第1の符号化ラウンドの結果を共に示している。
図10−1と図10−2は、図9a1、図9a2、図9b1、図9b2の第1の符号化ラウンドの結果について行われる第2の符号化ラウンドの結果を示している。
図11乃至図17−2は、図3乃至図10−2で行われる方法と本質的に同じ方法を差DCTマトリックスにおいて基本的に示している。即ち、図11は図3の4つの連続的な8*8マトリックスから発生する4つのDCTマトリックスを示し、第1のマトリックスはジグザグパターンにしたがってそれを読み出した後に図3の第1のマトリックスから生じる。第2、第3、第4のマトリックスはジグザグパターンでそれらを読み出した後、それぞれオリジナルの第2、第3、第4のマトリックスおよびそれらのプレデセサーの間の差の決定から生じる。
図12a1、図12a2、図12b1、図12b2は共に、図11の4つのジグザグパターンマトリックスで行われる第1の符号化ラウンドの結果を共に示している。一時的コードリストTCL(0)、永久コードリストPCL(0)、ファイル(0)は先の例を参照して前述した方法と同じ方法で得られる。ここでの例では、永久コードリストPCL(0)はそれ自体の符号化プロセス期間中に発生される。しかしながら、既に利用可能な参照コードリストが使用されることができる。
図13−1と図13−2は、図12a1、図12a2、図12b1、図12b2の第1の符号化ラウンドの結果で行われる第2の符号化ラウンドの結果を示している。一時的コードリストTCL(1)、永久コードリストPCL(1)、ファイル(1)は先の例を参照して前述した方法と同じ方法で得られる。ここでの例では、永久コードリストPCL(1)はそれ自体符号化プロセス期間中に発生される。しかしながら、既に利用可能な参照コードリストが使用されることができる。
図14は、図12a1、図12a2、図12b1、図12b2と、図13−1と13−2から生じた参照データベースと、あるコードが生じる回数を示している。
図15は、データベース中であるコードが生じる頻度を考慮するとき図14の参照データベースが再組織されることができる態様を示しており、最も頻繁な値は関係する参照データベース中で最低の可能な位置に位置される。
図16a1、図16a2、図16b1、図16b2は、図11の4つのジグザグパターンマトリックスで行われるが、図15の参照方式を使用しながら行われる第1の符号化ラウンドの結果を示している。
図17−1と、図17−2は、図16a1、図16a2、図16b1、図16b2の第1の符号化ラウンドの結果で行われる第2の符号化ラウンドの結果を示している。
図11乃至図17−2を使用するとき、基本的な利点は差DCTマトリックスに関連される64値ベクトルの第1の値がさらに低いことである。この第1の値はDCコンポーネントである。ビデオフレームの連続的なDCマトリックスのDC値はほとんどの場合、相互に近く、それ故差DCTマトリックスを決定後、これらのDC値は非常に低くなることが知られている。
連続的なDCTマトリックスのDCコンポーネント間の差はDPCM(差分パルス符合変調)を使用して決定されることができる。
図3乃至図17−2の例は、それぞれDCTマトリックスおよび差DCTマトリックスにおいて本発明による符号化技術を適用するとき参照データベース1および2中のエレメント数が以下のようになることを示している。
DCT符号化 差DCT符号化
参照データベース1 32 23
参照データベース2 32 30
したがって、差DCTマトリックスに基づく符号化を使用するとき、ファイル(0)とファイル(1)中のより多くの位置が同じ値を有する。それ故、例えばハフマン、ランレングス符号化、ZIPまたはウィンラーに基づいた付加的な符号化動作を適用した後、結果的な損失のない圧縮は純粋なDCTマトリックスに基づくよりも良好である。
したがって、図3乃至図10−2を参照して示された方法により行われる基本的なステップは以下のように要約されることができる。
a)入力データエレメントを受信し、その入力データエレメントは以下のようにして得られる。
I.Mを整数値として、M*Mマトリックスへデータエレメントを分割し、
II.これらのM*MマトリックスへDCTプロセスを適用し、DCTデータエレメントを有するM*MDCTマトリックスをレンダリングし、
III.前記入力データエレメントをレンダリングする予め定められた下限と上限との間の値で前記M*MDCTマトリックスの全ての値を量子化する。
b)少なくとも以下のコンポーネントを有する予め定められた式Fを適用する。
c)第1の一時的コードリスト(TCL(0))中に第1の一連のコードを記憶する。
d)値を含むその各位置において、参照データベースに記憶されているのと同じ対応する値の位置を参照するインデックスにより値を置換することによって、第1の一時的コードリスト(TCL(0))から第1のホルダ(ホルダ(0))を発生する。
e)一連の第2の一時的コードを発生し、それを第2の一時的コードリスト(TCL(1))中に配置し、それにおいて各新しい一時的コードはベース値BNの異なる値を使用して、第1のホルダ(ホルダ(0))から少なくとも2つの値を常に組み合わせる前記予め定められた式Fを使用して計算される。
f)値を含むその各位置において、参照データベースに記憶されているのと同じ対応する値の位置を参照するインデックスにより値を置換することによって、第2の一時的コードリスト(TCL(1))から第2のホルダ(ホルダ(1))を発生する。
前述したようにMは8に等しくすることができる。
図11乃至図17−2による実施形態では、第2、第3等のDCTマトリックスは差DCTマトリックスである。
1実施形態では、動作I、II、IIIもまた請求されているような本発明の一部である。
第2のホルダであるホルダ(1)に含まれている値において先に規定された符号化動作の逆動作を使用しながら復号が行われる。式(1)または(1a)の使用により得られた復号コードについてのこのような逆動作は前述した。
図8乃至図10−2による方法が適用されるとき、付加的な動作がこれらの基本動作に付加される。これらの図8乃至図11の付加的な動作の結果を復号する必要があるとき、これらの付加的な動作の逆動作も適用する必要がある。
同じことがそれぞれ図11乃至図13−2と、図15乃至図17−2を参照して示された符号化プロセスの結果の復号にも適用される。
全てのこれらの方法の動作は図1に示されているように適切にプログラムされたコンピュータ構成により行われることができる。さらに、これらの方法動作はこのようなコンバータ装置によりロードされることができるコンピュータプログラムにおける適切な命令として実行されることができる。このようなコンピュータプログラムは物理的なデータキャリアまたは適切なキャリア信号であれば、ワイヤ接合又は無線接続によって送信されるように、CD−ROMを介して、インターネット等を介して、即ち任意の適切なキャリアを介して分配されることができる。
図1および2を参照して説明された例のように、永久コードリストにおける可能な事後処理動作は、
1.Rar
2.Zip
3.Deflateである。
[さらに別の実施形態]
図3乃至図17−2の例では、2つの符号化ラウンドだけが適用され、第1のラウンドでは、2バイトのセットが符号化され、第2のラウンドでは、それぞれ16ビットを有する2つの値のセットが符号化される。以下さらに別の実施形態を説明する。
ジグザグ読出し後に表BのDCTマトリックスから生じるような前述の64値ベクトルを参照する。最後には39個のゼロ値が存在する。ランレングス符号化はこれらの39個のゼロに適用されることができる。
全体で64値ベクトルはこの64値ベクトルが既に参照データベース中に存在するか否かをチェックすることにより符号化される。まだ存在していないならば、それは参照データベースに付加され、新しい参照(キーコード)が発生される。その後64値ベクトルは新しい参照により置換される。しかしながら既に存在するならば、64値ベクトルは単に参照データベース中のこの64値ベクトルに関連される参照により置換される。
この実施形態では、参照データベースの最大のサイズは16Gbではない。これは16Gbよりも非常に大きいサイズを得る可能性がある。しかしながらキーコードの数は、2つのDCT値のセットが式(1)または(1a)を使用して共に符号化されるという前述した実施形態の場合よりも非常に小さい。
64値ベクトルの代わりに、4、8、16、32等のセットがこのようにして符号化されることができる。
この変形では、式(1)が使用されないことに注意する。
[さらに別の実施形態]
さらに別の実施形態では、式(1)または(1a)を使用しながら2以上のデータエレメントを組み合わせる前述の技術が前述のベクトル符号化と組み合わせられる符号化技術が使用される。
これらの2つの異なる技術の結果は以下のように要約されることができる。
2バイト当りの 64値ベクトルの符号化
2つの符号化ラウンド
サイズ;
参照データベース より小さい より大きい
キーコード より大きい より小さい
したがって、式(1)または(1a)を使用しながら2(以上の)データエレメントを共に符号化することはサイズにおいて参照データベースを64値ベクトルの符号化の場合よりも小さくする。しかしながらキーコードのサイズは2(以上の)データエレメントを共に符号化する場合よりも大きい。
前述したように64値ベクトルの2つのデータエレメントの符号化の場合、ベクトルの最後には39個ものゼロ値が存在することができる。したがってこれらの最後の39DCT値は全てゼロである。2ラウンドで連続的に2つのデータエレメントを組み合わせる技術を適用すると、2倍のゼロのさらに多数の符号化の組合せを生じる。この2倍のゼロの組合せは参照データベースで一度置かれさえすればよいが、これらはこれらの二倍のゼロの組合せを参照する不必要に高いキーコード数を発生しない。これらは記憶され、受信機へ送信されなければならない。
これに対処する1方法は前述の符号化技術を組み合わせることであり、即ち、2(以上の)連続的なデータエレメントを組合せ式(1)または(1a)をこれらに適用することにより64値ベクトルの一部を符号化することができ、全てのDCT値の残りを共に符号化する。
これは1例によってより詳細に示されることができる。
8*8DCTマトリックスはジグザグ順序付けを受け、64値ベクトルをレンダリングし、それにおいて大部分のゼロ値はベクトル値の最後に位置される。
64値ベクトルは少なくとも1つの第1の部分および少なくとも1つの第2の部分に分割される。第1の部分は64値ベクトルの最初に位置され、他方で第2の部分は第1の部分の後方に位置される。第1の部分のベクトル値は2(以上の)値の連続的な組合せに適用される式(1)または(1a)を使用して符号化される。多くのゼロ値を有する可能性が最も高い第2の部分のベクトル値はコードをそれらに一度帰属させることにより符号化される。
図18乃至図20−2では、64値ベクトルの最初の34値が2つの連続的な値および式(1)の組合せを使用して符号化され、64値ベクトルの最後の30値は一度に符号化される1例が示されている。2つの連続的な値当りの符号化と一度による最後の30値の符号化は実質的にキーコードを少なくし、即ち192対108である。参照データベースのサイズはほぼ同じである。図21乃至図23−2は図18乃至図20−2と同じ動作を示しているが、差マトリックスに適用される。前述の例で与えられた数は本発明の技術的範囲を限定することを意図しないことに注意すべきである。例えば3以上の連続的な値の組合せは式(1)または(1a)を使用しながら符号化されることができ、30を超えるまたは30未満の値が一度に符号化されることができる。
この符号化の組合せ方法により得られたコードを復号するためには、第2のホルダであるホルダ(1)に含まれる値について先に限定された符号化動作の逆動作を単に行う必要がある。式(1)または(1a)の使用により得られるコードの復号についてのこのような逆動作を前述した。
全ての実施形態において、本発明は以下を含むことが認められる。
1)符号化方法、
2)例えばコンピュータのような、このような符号化方法を行うための装置、
3)使用において前記符号化方法を行うための、このような装置によりロードされることができるコンピュータプログラムプロダクト、
4)データキャリアが物理的なデータキャリアまたは搬送波であることができるこのようなコンピュータプログラムプロダクトを有するデータキャリア、
5)復号方法、
6)例えばコンピュータのようなこのような復号方法を行うための装置、
7)使用において前記復号方法を行うための、このような装置によりロードされることができるコンピュータプログラムプロダクト、
8)データキャリアが物理的なデータキャリアまたは搬送波であることができるこのようなコンピュータプログラムプロダクトを有するデータキャリア、
9)前記符号化および復号方法の両者を含む方法、
10)例えばコンピュータのような前記符号化および復号方法の両者を行う装置、
11)使用において前記符号化および復号方法の両者を行うための、このような装置によりロードされることができるコンピュータプログラムプロダクト、
12)データキャリアが物理的なデータキャリアまたは搬送波であることができるこのようなコンピュータプログラムプロダクトを含むデータキャリア。
以下に、本願出願時の特許請求の範囲に記載された発明を付記する。
[1]データセットにおけるデータの符号化方法において、
a)整数値i=0と参照データベースを規定し、
b)i番目の一時的コードリスト(TCL(i))中にデータを記憶し、
c)値を含んでいるその各位置において、前記参照データベースに記憶されているものと同じ対応値の位置を参照するインデックスにより前記値を置換することによって、前記i番目の一時的コードリスト(TCL(i))からi番目のホルダ(ホルダ(i))を発生し、
d)一連の新しい一時的コードを発生し、それを(i+1)番目の一時的コードリスト(TCL(i+1))中に配置し、ここで各新しい一時的コードは常に前記i番目のホルダ(ホルダ(i))から少なくとも2つの値を組み合わせる予め定められた式Fを使用して計算され、
e)値を含んでいるその各位置において、前記参照データベースに記憶されているものと同じ対応値の位置を参照するインデックスにより前記値を置換することによって、(i+1)番目の一時的コードリスト(TCL(i+1))から(i+1)番目のホルダ(ホルダ(i+1))を発生し、
f)前記(i+1)番目の一時的コードリスト(TCL(i+1))と前記(i+1)番目のホルダ(ホルダ(i+1))の少なくとも一方が2度以上1以上の値を含むか否かをチェックし、ノーならば動作g)へジャンプし、イエスならばi値を1インクリメントして動作d)へジャンプし、
g)前記符号化を終了する方法。
[2]一度のみ前記i番目の一時的コードリスト(TCL(i))からの全ての特有値を含んでいるものだけのリストを生成し、それを前記参照データベースの一部分を形成するi番目の永久コードリスト(PCL(i))に記憶することにより動作c)を開始し、
一度のみ前記(i+1)番目の一時的コードリスト(TCL(i+1))からの全ての特有値を含んでいるものだけの後続するリストを生成し、それを前記参照データベースの一部分を形成する(i+1)番目の永久コードリスト(PCL(i+1))に記憶することにより動作e)を開始するステップを含んでいる前記[1]記載のデータの符号化方法。
[3]前もって設定された完全な又は部分的なユニバーサル参照データベースの使用を含んでいる前記[1]記載のデータの符号化方法。
[4]前記参照データベースは部分的にユニバーサルであり、前記方法は、
前記i番目の一時的コードリスト(TCL(i))からの値が前記部分的にユニバーサルな参照データベースでまだ発生していないならば、この値を前記部分的にユニバーサルな参照データベースに付加する動作c)の開始と、
前記(i+1)番目の一時的コードリスト(TCL(i+1))からの値が前記部分的にユニバーサルな参照データベースでまだ発生していないならば、この値を前記部分的にユニバーサルな参照データベースに付加する動作c)の開始とにより、前記部分的にユニバーサルな参照データベースの拡張を含んでいる前記[3]記載のデータの符号化方法。
[5]前記参照データベース中の値を参照する前記インデックスは可変ビット符号化方式に従って配置される前記[3]記載のデータの符号化方法。
[6]損失のない圧縮アルゴリズムが前記参照データベースに適用される前記[2]または[4]記載の方法。
[7]各i番目および(i+1)番目の永久コードリストが別々に記憶され、各i番目および(i+1)番目のホルダは最小の可能な整数値でコンパイルされる前記[2]記載の方法。
[8]予め定められた式は少なくとも以下のコンポーネントを含んでおり、即ち、
前記[1]乃至前記[7]のいずれか1つに記載のデータの符号化方法。
[9]前記予め定められた式は以下のとおりであり、即ち、
前記[8]記載のデータの符号化方法。
[10]Nはiの各値について定数値を有している前記[8]または[9]記載の方法。
[11]Nはiの同じ値についての定数値を有するが、iの異なる値に対しては別の値を有することができる前記[8]又は[9]記載の方法。
[12]各ホルダは相互から常に1の値異なる連続的なインデックス値を有し、前記ベース値は前記予め定められた式が適用されるホルダ中の最高のインデックス値よりも少なくとも1高い値を有している前記[8]乃至[11]のいずれか1つに記載の方法。
[13]動作g)の後、最終的に発生されたホルダ(ホルダ(i+1))又はその参照を含むエンドコードがコンパイルされ、前記エンドコードと、各iおよび(i+1)番目の一時的コードリストの計算に使用される前記式に関するデータとを復号ユニットに対して利用可能にする前記[1]乃至[12]のいずれか1つに記載の方法。
[14]前記最終的に発生されたホルダ(ホルダ(i+1))は相互から常に1の値異なるインデックス値を含み、前記エンドコードは最高のインデックス値に等しいことを特徴とする前記[13]記載の方法。
[15]前記参照データベースはサイズ順に分類された一連のコードを有し、前記一連のコードからの最大値および前記一連のコードからの最大値と前記一連のコードからの残りのコードとの間の全ての差値のみを含む新しい一連のコードにより前記一連のコードを置換する前記[1]乃至[14]のいずれか1つに記載の方法。
[16]プロセッサおよびメモリを具備し、前記プロセッサに前記[1]乃至[15]のいずれか1つに記載の方法を実行する能力を与えるように構成されたメモリデータおよびコンピュータプログラムの命令が記憶されている符号化装置。
[17]プロセッサにより受信された後、前記プロセッサに前記[1]乃至[14]のいずれか1つに記載の方法を実行する能力を与えるように構成されたデータおよび命令を含んでいるコンピュータプログラムプロダクト。
[18]前記[17]記載のコンピュータプログラムプロダクトが与えられたデータキャリア又は信号。
[19]a)符号化ユニットまたは特有のその参照によって最終的に発生された(i+1)番目のホルダ(ホルダ(i+1))を含む前記エンドコードを受信し、前記i値を受信し、
b)参照データベース中の値を参照するインデックス値として(i+1)番目のホルダ(ホルダ(i+1))中の値を使用し、
c)その位置に対応する前記インデックス値を有する前記参照データベースからの値を(i+1)番目のホルダ(ホルダ(i+1))の各位置に配置することにより(i+1)番目の一時的コードリスト(TCL(i+1))中の値を計算し、
d)復号式を前記(i+1)番目の一時的コードリスト(TCL(i+1))へ適用することによりi番目のホルダ(ホルダ(i))中の値を計算し、前記復号式は前記(i)番目のホルダ(ホルダ(i))から前記(i+1)番目の一時的コードリストを計算するために前記符号化ユニットにより使用されている式の逆公式であり、ここで前記i番目のホルダ(ホルダ(i))は前記(i+1)番目の一時的コードリスト(TCL(i+1))のN倍の値を有し、N≧2であり、
e)前記参照データベース中の値を参照するインデックス値として前記i番目のホルダ(ホルダ(i1))中の前記値を使用し、
f)前記i番目のホルダ(ホルダ(i))中の各位置において、その位置に対応する前記インデックス値を有する前記参照データベースからの値を位置させることによって、i番目の一時的コードリスト(TDCL(i)中の値を計算し、
g)1だけ前記i値をデクリメントし、i≧0ならば、前記復号式を前記(i+1)番目の一時的コードリスト(TCL(i+1))へ適用することによりi番目のホルダ(ホルダ(i))中の値を計算し、前記復号式は前記i番目のホルダ(ホルダ(i))から前記(i+1)番目の一時的コードリストを計算するために前記符号化ユニットにより使用されている式の逆公式であり、ここでi番目のホルダ(ホルダ(i))は前記(i+1)番目の一時的コードリスト(TCL(i+1))のN倍の値を有し、N≧2であり、動作e)に戻り、i<0ならば、動作h)にジャンプし、
h)i=0である前記i番目のホルダからオリジナルデータセットを獲得する動作によるエンドコードの復号方法。
[20]プロセッサおよびメモリを具備し、前記プロセッサに前記[19]記載の方法を実行する能力を与えるように構成されたメモリデータおよびコンピュータプログラムの命令が記憶されている復号装置。
[21]プロセッサにより受信された後、前記プロセッサに前記[19]記載の方法を実行する能力を与えるように構成されたデータおよび命令を有しているコンピュータプログラムプロダクト。
[22]前記[21]記載のコンピュータプログラムプロダクトが与えられているデータキャリア又は信号。
[23]前記[16]記載の符号化ユニットと前記[20]記載の復号ユニットを具備している符号化/復号システム。
[24]a)入力データエレメントを受信し、その入力データエレメントは、
I.M*Mマトリックスへ前記データエレメントを分割し、Mは整数値であり、
II.これらのM*MマトリックスへDCTプロセスを適用し、DCTデータエレメントを有するM*M DCTマトリックスをレンダリングし、
III.前記入力データエレメントをレンダリングする予め定められた下限と上限との間の値で前記M*M DCTマトリックスの全ての値を量子化することによって得られ、
b)少なくとも以下のコンポーネントを有する予め定められた式Fを適用し、
c)第1の一時的コードリスト(TCL(0))中に第1の一連のコードを記憶し、
d)値を含むその各位置において、参照データベースに記憶されているのと同じ対応する値の位置を参照するインデックスにより前記値を置換することによって、前記第1の一時的コードリスト(TCL(0))から第1のホルダ(ホルダ(0))を発生し、
e)一連の第2の一時的コードを発生し、それを第2の一時的コードリスト(TCL(1))中に配置し、それにおいて各新しい一時的コードはベース値BNの異なる値を使用して、前記第1のホルダ(ホルダ(0))から少なくとも2つの値を常に組み合わせる前記予め定められた式Fを使用して計算され、
f)値を含むその各位置において、前記参照データベースに記憶されているのと同じ対応する値の前記位置を参照するインデックスにより前記値を置換することによって、前記第2の一時的コードリスト(TCL(1))から第2のホルダ(ホルダ(1))を発生するステップを含んでいる符号化方法。

Claims (24)

  1. データセットにおけるデータの符号化方法であって、
    以下の動作、即ち、
    a)整数値i=0と参照データベースとを規定することと、
    b)i番目の一時的コードリスト(TCL(i))中にデータを記憶することと、
    c)値を含んでいる前記i番目の一時的コードリスト(TCL(i))中の各位置において、前記参照データベースに記憶されている同じ対応する値の位置を指示するインデックスにより前記値を置換することによって、前記i番目の一時的コードリスト(TCL(i))からi番目のホルダ(ホルダ(i))を生成することと、
    d)一連の新しい一時的コードを生成し、前記一連の新しい一時的コードを(i+1)番目の一時的コードリスト(TCL(i+1))中に配置することと、
    ここで、前記(i+1)番目の一時的コードリスト(TCL(i+1))において、各新しい一時的コードは、前記i番目のホルダ(ホルダ(i))からの少なくとも2つの値を常に組み合わせる予め定められた式Fを使用して計算される、
    e)値を含んでいる前記(i+1)番目の一時的コードリスト(TCL(i+1))中の各位置において、前記参照データベースに記憶されている同じ対応する値の位置を指示するインデックスにより前記値を置換することによって、前記(i+1)番目の一時的コードリスト(TCL(i+1))から(i+1)番目のホルダ(ホルダ(i+1))を生成することと、
    f)前記(i+1)番目の一時的コードリスト(TCL(i+1))と前記(i+1)番目のホルダ(ホルダ(i+1))とのうちの少なくとも一方が、2度以上1以上の値を含むか否かをチェックし、
    ノーならば、動作g)へジャンプし、
    イエスならば、iの値を1インクリメントして、動作d)へジャンプすることと、
    g)符号化を終了することと、
    を含む、データの符号化方法。
  2. 前記i番目の一時的コードリスト(TCL(i))からの全ての特有値のみを一度のみ含んでいるリストを生成し、それを前記参照データベースの一部分を形成するi番目の永久コードリスト(PCL(i))に記憶することにより、動作c)を開始することと、
    前記(i+1)番目の一時的コードリスト(TCL(i+1))からの全ての特有値のみを一度のみ含んでいる後続するリストを生成し、それを前記参照データベースの一部分を形成する(i+1)番目の永久コードリスト(PCL(i+1))に記憶することにより、動作e)を開始することと、
    を含んでいる請求項1記載のデータの符号化方法。
  3. 前もって設定された完全な又は部分的なユニバーサル参照データベースを使用すること、を含んでいる請求項1記載のデータの符号化方法。
  4. 前記参照データベースは部分的にユニバーサルであり、
    前記符号化方法は、
    前記i番目の一時的コードリスト(TCL(i))からの複数の値が前記部分的にユニバーサルな参照データベースにまだ現れていないならば、前記i番目の一時的コードリスト(TCL(i))からの複数の値を前記部分的にユニバーサルな参照データベースに付加することにより、動作c)を開始することと、
    前記(i+1)番目の一時的コードリスト(TCL(i+1))からの複数の値が前記部分的にユニバーサルな参照データベースにまだ現れていないならば、前記(i+1)番目の一時的コードリスト(TCL(i+1))からの複数の値を前記部分的にユニバーサルな参照データベースに付加することにより、動作e)を開始することと、
    により、前記部分的にユニバーサルな参照データベースを拡張すること、を含んでいる請求項3記載のデータの符号化方法。
  5. 前記参照データベース中の値を指示する前記インデックスは、可変ビット符号化方式に従って構成される請求項3記載のデータの符号化方法。
  6. 損失のない圧縮アルゴリズムが前記参照データベースに適用される請求項2または4記載のデータの符号化方法。
  7. 各i番目および(i+1)番目の永久コードリストが別々に記憶され、
    各i番目および(i+1)番目のホルダは、可能な限り小さい整数値でコンパイルされる請求項2記載のデータの符号化方法。
  8. 前記予め定められた式は、少なくとも、以下のコンポーネント、即ち、
    を有する請求項1乃至7のいずれか1項記載のデータの符号化方法。
  9. 前記予め定められた式は、
    請求項1乃至7のいずれか1項記載のデータの符号化方法。
  10. Nは、iの各値に対して定数値を有している請求項8または9記載のデータの符号化方法。
  11. Nは、iの同じ値に対して定数値を有するが、iの異なる値に対して別の値を有することができる請求項8又は9記載のデータの符号化方法。
  12. 各ホルダは、複数の連続的なインデックス値を含み、
    前記複数の連続的なインデックス値は、1の値ずつ互いに常に異なっており、
    ベース値は、前記予め定められた式が適用されるホルダ中の最高のインデックス値よりも少なくとも1高い値を有している請求項8乃至11のいずれか1項記載のデータの符号化方法。
  13. 動作g)の後、最終的に生成されたホルダ(ホルダ(i+1))又はその参照を含むエンドコードがコンパイルされ、
    前記エンドコードと、各iおよび(i+1)番目の一時的コードリストの計算に使用される前記予め定められた式に関するデータとを、復号ユニットに対して利用可能にする請求項1乃至12のいずれか1項記載のデータの符号化方法。
  14. 前記最終的に生成されたホルダ(ホルダ(i+1))は、複数のインデックス値を含み、
    前記複数のインデックス値は、1の値ずつ互いに常に異なっており、
    前記エンドコードは、最高のインデックス値に等しいことを特徴とする請求項13記載のデータの符号化方法。
  15. 前記参照データベースは、
    サイズ順に分類された一連のコードを有し、
    前記一連のコードを新しい一連のコードにより置換することによって、サイズを圧縮され、
    前記新しい一連のコードは、
    前記一連のコードからの最大値と、
    前記一連のコードからの最大値と、前記一連のコードからの複数の残りのコードとの間における全ての差の値と、
    のみを含む請求項1乃至14のいずれか1項記載のデータの符号化方法。
  16. プロセッサとメモリとを具備し、
    前記プロセッサに請求項1乃至15のいずれか1項記載の方法を実行する能力を与えるように構成されたメモリデータおよびコンピュータプログラムの複数の命令が記憶されている符号化ユニット。
  17. プロセッサに請求項1乃至14のいずれか1項記載の方法を実行させるように構成されたコンピュータプログラム。
  18. 請求項17記載のコンピュータプログラムを記憶しているコンピュータ読み出し可能記録媒体。
  19. エンドコードの復号方法であって、
    以下の動作、即ち、
    a)エンドコードとiの値とを受信することと、
    ここで、前記エンドコードは、符号化ユニットまたは特有のその参照によって最終的に生成された(i+1)番目のホルダ(ホルダ(i+1))を含む、
    b)参照データベース中の複数の値を指示する複数のインデックス値として、前記(i+1)番目のホルダ(ホルダ(i+1))中の複数の値を使用することと、
    c)(i+1)番目のホルダ(ホルダ(i+1))中の各位置において、その位置に対応するインデックス値により指示される前記参照データベース中の値を配置することにより、前記(i+1)番目の一時的コードリスト(TCL(i+1))中の複数の値を計算することと、
    d)復号式を前記(i+1)番目の一時的コードリスト(TCL(i+1))へ適用することにより、i番目のホルダ(ホルダ(i))中の複数の値を計算することと、
    ここで、前記復号式は、前記(i)番目のホルダ(ホルダ(i))からの少なくとも2つの値を常に組み合わせる予め定められた式Fの逆公式である、
    e)前記参照データベース中の複数の値を指示する複数のインデックス値として前記i番目のホルダ(ホルダ(i))中の前記複数の値を使用することと、
    f)前記i番目のホルダ(ホルダ(i))中の各位置において、その位置に対応するインデックス値により指示される前記参照データベース中の値を配置することによって、i番目の一時的コードリスト(TCL(i))中の複数の値を計算することと、
    g)1だけ前記iの値をデクリメントし、
    i≧0ならば、復号式を前記(i+1)番目の一時的コードリスト(TCL(i+1))へ適用することによりi番目のホルダ(ホルダ(i))中の複数の値を計算し、
    ここで、前記復号式は、前記i番目のホルダ(ホルダ(i))からの少なくとも2つの値を常に組み合わせる予め定められた式Fの逆公式である、
    動作e)に戻り、
    i<0ならば、動作h)にジャンプすることと、
    h)i=0である場合は、前記i番目のホルダからオリジナルデータセットを獲得することと、
    による、エンドコードの復号方法。
  20. プロセッサおよびメモリを具備し、
    前記プロセッサに請求項19記載の方法を実行する能力を与えるように構成されたメモリデータおよびコンピュータプログラムの複数の命令が記憶されている復号ユニット。
  21. プロセッサに請求項19記載の方法を実行させるように構成されたコンピュータプログラム。
  22. 請求項21記載のコンピュータプログラムを記憶しているコンピュータ読み出し可能記録媒体。
  23. 請求項16記載の符号化ユニットと請求項20記載の復号ユニットとを具備している符号化/復号システム。
  24. a)複数の入力データエレメントを受信することと、
    ここで、前記複数の入力データエレメントは、
    I.M*Mマトリックスへ複数のデータエレメントを分割し、なお、Mは整数値である、
    II.前記M*MマトリックスへDCTプロセスを適用し、複数のDCTデータエレメントを有するM*M DCTマトリックスをレンダリングし、
    III.前記複数の入力データエレメントをレンダリングする予め定められた下限と上限との間の複数の値で前記M*M DCTマトリックスにおける全ての値を量子化する、
    ことによって得られる、
    b)少なくとも以下のコンポーネントを有する予め定められた式Fを適用し、
    第1の一連のコードをレンダリングすることと、
    c)第1の一時的コードリスト(TCL(0))中に、前記第1の一連のコードを記憶することと、
    d)値を含む前記第1の一時的コードリスト(TCL(0))の各位置において、参照データベースに記憶されている同じ対応する値の位置を指示するインデックスにより前記値を置換することによって、前記第1の一時的コードリスト(TCL(0))から第1のホルダ(ホルダ(0))を生成することと、
    e)一連の第2の一時的コードを生成し、第2の一時的コードリスト(TCL(1))中に前記一連の第2の一時的コードを配置することと、
    ここで、前記第2の一時的コードリスト(TCL(1))において、各新しい一時的コードは、ベース値BNの異なる値を使用して、前記第1のホルダ(ホルダ(0))からの少なくとも2つの値を常に組み合わせる前記予め定められた式Fを使用して計算される、
    f)値を含む前記第2の一時的コードリスト(TCL(1))中の各位置において、前記参照データベースに記憶されている同じ対応する値の位置を指示するインデックスにより前記値を置換することによって、前記第2の一時的コードリスト(TCL(1))から第2のホルダ(ホルダ(1))を生成することと、
    を含んでいる、符号化方法。
JP2011510446A 2008-05-21 2009-05-25 特有数値でデータを符号化および復号するための方法および装置 Expired - Fee Related JP5453399B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
NL2001597 2008-05-21
NL2001597A NL2001597C2 (nl) 2008-05-21 2008-05-21 Werkwijze en inrichting voor coderen en decoderen van data in unieke getalswaarden.
PCT/NL2009/050289 WO2009142502A2 (en) 2008-05-21 2009-05-25 Method and device for encoding and decoding of data in unique number values

Publications (2)

Publication Number Publication Date
JP2011521587A JP2011521587A (ja) 2011-07-21
JP5453399B2 true JP5453399B2 (ja) 2014-03-26

Family

ID=39672674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011510446A Expired - Fee Related JP5453399B2 (ja) 2008-05-21 2009-05-25 特有数値でデータを符号化および復号するための方法および装置

Country Status (5)

Country Link
US (1) US8446299B2 (ja)
EP (1) EP2279561A2 (ja)
JP (1) JP5453399B2 (ja)
NL (1) NL2001597C2 (ja)
WO (1) WO2009142502A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386471B2 (en) * 2010-05-27 2013-02-26 Salesforce.Com, Inc. Optimizing queries in a multi-tenant database system environment
NL2005336C2 (en) * 2010-09-09 2012-03-12 Ipo Paulus Willem Marinus Maria Boom Method and device for encoding and decoding of digital information.
US10754859B2 (en) * 2016-10-28 2020-08-25 Microsoft Technology Licensing, Llc Encoding edges in graph databases
AU2021372452A1 (en) * 2020-10-29 2023-06-08 Pacific Investment Management Company LLC Surrogate data generation of private data

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3449338B2 (ja) * 1993-06-22 2003-09-22 セイコーエプソン株式会社 データ圧縮方法、データ復元方法及び情報処理装置
JP3522331B2 (ja) * 1994-04-22 2004-04-26 株式会社セタ データ圧縮方法
JP3837841B2 (ja) * 1996-06-14 2006-10-25 セイコーエプソン株式会社 データ送信装置およびデータ受信装置ならびにデータ圧縮方法
JP3401762B2 (ja) * 1997-11-19 2003-04-28 日本電信電話株式会社 画像圧縮符号化・復号化方法、画像圧縮符号化・復号化装置、画像圧縮符号化伝送方法、画像圧縮符号化伝送システムおよび画像圧縮符号化・復号化プログラムを記録した記録媒体
JP3555506B2 (ja) * 1999-06-17 2004-08-18 日本電信電話株式会社 文字列データ圧縮符号化装置及び文字列データ復元装置及び文字列データ演算処理装置
US6732155B2 (en) * 2000-12-01 2004-05-04 Microsoft Corporation Dynamic controlling of attribute-specific list for improved object organization
JP2002368623A (ja) * 2001-06-05 2002-12-20 Nec Corp 低速回線を使用したデータ転送システム及びその転送方法
US6993166B2 (en) * 2003-12-16 2006-01-31 Motorola, Inc. Method and apparatus for enrollment and authentication of biometric images
JP4418762B2 (ja) * 2004-05-07 2010-02-24 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US7814165B2 (en) * 2005-12-29 2010-10-12 Sap Ag Message classification system and method
US7917584B2 (en) * 2007-10-22 2011-03-29 Xcerion Aktiebolag Gesture-based collaboration
JP5106045B2 (ja) * 2007-10-30 2012-12-26 株式会社日立製作所 検索エンジン連携ファイル共有システム
US7966758B2 (en) * 2008-06-16 2011-06-28 Susan Scott Watts Positionable file tab

Also Published As

Publication number Publication date
US20110122003A1 (en) 2011-05-26
EP2279561A2 (en) 2011-02-02
NL2001597C2 (nl) 2009-11-24
WO2009142502A2 (en) 2009-11-26
WO2009142502A3 (en) 2010-10-07
JP2011521587A (ja) 2011-07-21
US8446299B2 (en) 2013-05-21

Similar Documents

Publication Publication Date Title
US8666179B2 (en) Image encoding apparatus and decoding apparatus
US8494295B2 (en) Variable length coding for clustered transform coefficients in video compression
JP3778087B2 (ja) データ符号化装置及びデータ復号装置
US20060056720A1 (en) Extended amplitude coding for clustered transform coefficients
JP6431487B2 (ja) データエンコーダ、データデコーダ及び方法
CN113795870B (zh) 一种对点云属性编解码的方法、装置及存储介质
JP2016512004A5 (ja)
JP5453399B2 (ja) 特有数値でデータを符号化および復号するための方法および装置
JP2010166520A (ja) 画像符号化・復号化装置
US7123656B1 (en) Systems and methods for video compression
JP2004032698A (ja) 差動映像圧縮方法及びその装置
JP3932244B2 (ja) 画像符号/復号方法及びその装置並びにそのプログラムを記録した記録媒体
CN111246249A (zh) 一种图像编码方法、编码装置、解码方法、解码装置及存储介质
JP3952116B2 (ja) 画像圧縮装置及び方法
US20120243798A1 (en) Image processing apparatus, image processing method, and non-transitory computer readable medium storing image processing program
JP4241517B2 (ja) 画像符号化装置及び画像復号装置
JP3953411B2 (ja) 座標インタポレータのキー値データ符号化/復号化方法及び装置
JP3859325B2 (ja) 画像の反復変換復号化装置及び方法、並びに記録媒体
JP2022510733A (ja) 複数の画像全体の圧縮
KR20200107745A (ko) 임베디드 이미지 코덱을 위한 서브-블록 기반 엔트로피 코딩
US10778994B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
JPWO2019021552A1 (ja) 符号化装置、復号装置、符号列のデータ構造、符号化方法、復号方法、符号化プログラム、復号プログラム
JPH10341345A (ja) 画像データ処理システム
WO2023231710A1 (zh) 一种图片的处理方法及相关设备
Erdal Huffman-based lossless image encoding scheme

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110125

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131015

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140106

R150 Certificate of patent or registration of utility model

Ref document number: 5453399

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees