JP4270469B2 - 符号化装置及び符号化方法 - Google Patents

符号化装置及び符号化方法 Download PDF

Info

Publication number
JP4270469B2
JP4270469B2 JP2006119844A JP2006119844A JP4270469B2 JP 4270469 B2 JP4270469 B2 JP 4270469B2 JP 2006119844 A JP2006119844 A JP 2006119844A JP 2006119844 A JP2006119844 A JP 2006119844A JP 4270469 B2 JP4270469 B2 JP 4270469B2
Authority
JP
Japan
Prior art keywords
numerical data
data
significant bit
lsb
value
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
JP2006119844A
Other languages
English (en)
Other versions
JP2006314097A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2006314097A publication Critical patent/JP2006314097A/ja
Application granted granted Critical
Publication of JP4270469B2 publication Critical patent/JP4270469B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、データの圧縮及び伸長の分野に関する。
データ圧縮は、大量のデータの記憶及び伝送のために極めて有用な手段である。例えば、文書のファクシミリ送信のような画像伝送に要する時間は、圧縮を利用して、その画像の再生に必要なビット数を減らすと、著しく短縮される。
従来より、多くの様々なデータ圧縮手法が存在している。圧縮手法は、おおまかに分類すると2つのカテゴリー、つまり、ロッシー(lossy)符号化とロスレス(lossless)符号化とに分けることができる。ロッシー符号化とは、情報の損失が生じ、したがって元のデータの完全な再現が保証されない符号化のことである。ロッシー圧縮の目標とするところは、元のデータから変わったとしても、その変化が不快であったり目だったりしないようにすることである。ロスレス圧縮では、情報はすべて保存され、データは完全に復元可能な方法で圧縮される。
ロッシー圧縮の場合、信号もしくは輝度データ又はその変換データのような数値データは、量子化されてから出力符号語に変換される。量子化は、データの重要な特徴は保存しつつ重要でない特徴を除去するためのものである。ロッシー圧縮システムは、量子化に先立って、エネルギー集中のための変換を利用することが多い。JPEGは画像データ用ロッシー符号化法の一例である。
圧縮画像ファイルのような、変換・符号化された圧縮データセットのデータは変換係数である。この圧縮データは、そのような係数を丸めた整数値を表している。丸め後の係数はその大部分が0である。しかし、統計的符号化であるので、圧縮ファイルの大部分のビットは非0係数を詳細に表すために費やされる。
係数又は他の符号語の最下位ビットが意味を持つのは、圧縮装置のSNRが最下位ビットの次位ビットの重要性の水準より6.02デシベル高い場合のみである。多くの場合、最下位ビットは圧縮信号の品質にはこれといって殆ど影響を及ぼさない。圧縮データセットにおいて、最下位ビットが何等の意味をも持たない場合には、その最下位ビットを削除するのが望ましいであろう。しかしながら、JPEG及び多くの類似方法にあっては、そのようなビットは圧縮ファイル中に必ずなければならないものである。
最下位ビットが含まれることによって必然的に無駄になる圧縮ファイルのスペースを若干埋め合わせるための別の方法が、例えば非特許文献1に示されている。この方法では、最下位ビット・チャネルの通常ビットが埋め込まれた独立したロスレス・チャネルを得るため、ある閾値に近い係数が特殊処理される。
Silverstein and Klein,"Restoration of Compressed Image,"Proceedings of SPIE on Image and Video Compression,pp.56-64,vol.2186,Feb.1994,San Jose,California
本発明の一般的な目的は、新規なロッシー符号化方法及び装置を提供することにあり、より具体的な目的は、圧縮データセット(例えば圧縮ファイル)中の最下位ビット数を削減してさらに圧縮することができる符号化装置及び符号化方法、特に、圧縮と同時にレート・歪み性能を向上させることが可能な符号化装置及び符号化方法を提供することにある。
本発明による符号化装置は、量子化対象の数値データを受信する手段と、前記数値データ中の各数値データ値に基づいて、単一の最下位ビットを算出する手段と、前記数値データ中の各数値データ値の最下位ビットを、前記算出された単一の最下位ビットに置き換える手段と、前記最下位ビットが置き換えられた数値データを符号化して符号化データを生成する手段とを具備し、前記単一の最下位ビットを算出する手段は、平均2乗誤差(MSE)に基づいて前記単一の最下位ビットを算出し、前記生成された符号化データは、前記符号化データにおける前記単一の最下位ビットを指示するための識別子を含むことを特徴とする。
また、本発明による符号化装置は、量子化対象の数値データを受信する手段と、前記数値データ中の各数値データ値に基づいて、単一の最下位ビットを算出する手段と、前記数値データ中の各数値データ値の最下位ビットを、前記算出された単一の最下位ビットに置き換える手段と、前記最下位ビットが置き換えられた数値データを符号化して符号化データを生成する手段とを具備し、前記単一の最下位ビットを算出する手段は、前記数値データ中の数値データ値の最下位ビットの中で、どちらの2進値の出現頻度が最高であるかに応じて前記の最下位ビットを決め、前記生成された符号化データは、前記符号化データにおける前記単一の最下位ビットを指示するための識別子を含むことを特徴とする。
また、本発明による符号化装置は、量子化対象の数値データを受信する手段と、前記数値データ中の各数値データ値に基づいて、単一の最下位ビットを算出する手段と、前記数値データ中の各数値データ値の最下位ビットを、前記算出された単一の最下位ビットに置き換える手段と、前記最下位ビットが置き換えられた数値データを符号化して符号化データを生成する手段とを具備し、前記単一の最下位ビットを算出する手段は、前記数値データを含む画像データの1領域全体の最下位ビットの中で、どちらの2進値の出現頻度が最高であるかに応じて前記単一の最下位ビットを決め、前記生成された符号化データは、前記符号化データにおける前記単一の最下位ビットを指示するための識別子を含むことを特徴とする。
また、本発明による符号化装置は、前記量子化対象の数値データは、所定のデータを複数に分割したブロックの1つに含まれるデータであることを特徴とする。
また、本発明による符号化装置は、前記識別子は、前記符号化データのヘッダに格納されていることを特徴とする。
また、本発明による符号化装置は、前記識別子は、各ブロックの数値データに基づいて算出された単一の最下位ビットを、複数指定することを特徴とする。
本発明による符号化方法の特徴は、上記に列記した本発明による符号化装置の特徴と同様である。
本発明によれば、複数の数値データ値間で最下位ビットを共有させることにより、例えば圧縮ファイル中の最下位ビット数を削減して、さらなる圧縮が可能であり、また、圧縮と同時にレート・歪み性能を向上させることが可能である等々の効果を得られる。
以下、添付図面を参照し、本発明の実施の形態を説明する。説明の簡略化のため、添付図面中の複数の図面において、同一部分又は対応部分には同一又は同様の参照番号を用いる。
以下の記述中に、ビット数、ブロック・サイズ等々、様々な具体例が示される。しかし、当業者には、そのような具体例によらずに本発明を実施し得ることは明白であろう。他方、本発明をいたずらに難解にしないため、周知の構造やデバイスはブロック図で示される。
以下の詳細説明で、コンピュータ・メモリ内のデータビットに対する操作に関するアルゴリズム及び記号表現によって表された部分がある。このようなアルゴリズム記述及び表現は、データ処理技術分野の当業者が、その研究内容を他の当業者に対し最も効率的に伝えるために用いる手段である。あるアルゴリズムがあり、それが概して所望の結果に至る筋の通ったステップの系列だと理解されるとする。これらステップは、物理量を物理的に操作する必要があるものである。必ずという訳ではないが、通常、これらの物理量は記憶、転送、結合、比較、その他操作が可能な電気的または磁気的信号の形をとる。これらの信号をビット、数値、要素、記号、文字、用語、番号等で呼ぶのが、主に慣用上の理由から便利な場合があることが分かっている。
しかしながら、このような用語や同様の用語は、適切な物理量と対応付けられるべきであり、また、これら物理量につけた便宜上のラベルに過ぎないということに留意すべきである。以下の説明から明らかなように、特に断わらない限り、「処理」「演算」「計算」「判定」「表示」等の用語を用いて論じることは、コンピュータシステムのレジスタやメモリの内部の物理的(電子的)な量として表現されたデータを処理して、コンピュータシステムのメモリやレジスタ、その他同様の情報記憶装置、情報伝送装置又は表示装置の内部の同様に物理量として表現された他のデータへ変換する、コンピュータシステムや同様の電子演算装置の作用及びプロセスを指すものである。
また、本発明は、ここに述べる操作を実行するための装置にも関係するものである。この装置は、所望の目的のために専用に作られてもよいし、汎用コンピュータを内蔵のコンピュータ・プログラムにより選択駆動もしくは再構成してなるものでもよい。そのようなコンピュータ・プログラムは、コンピュータが読み取り可能な記憶媒体、限定するわけではないが例えば、フロッピーディスク、光ディスク、CD−ROM、光磁気ディスクなどの任意の種類のディスク、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カード又は光カード、すなわち電子的命令の格納に適しコンピュータのシステムバスに接続される任意種類の媒体に格納してよい。ここに提示するアルゴリズムは、本質的に、いかなる特定のコンピュータ、その他の装置とも関わりがない。様々な汎用マシンを、ここに述べる内容に従ったプログラムと一緒に使用し得るが、所要の方法のためのステップの実行用により特化した装置を作るほうが好都合であるかもしれない。これら多様なマシンに要求される構造は以下の説明から明らかになろう。さらに、どのような特定のプログラミング言語とも関連付けることなく本発明を説明する。ここに述べる本発明の内容を実現するために、様々なプログラミング言語を利用し得ることが理解されよう。
本発明によって提供されるロッシー・データ符号化においては、1ブロックの量子化可能数値データの(又は、それ以外のひとまとまりの量子化可能数値データの)最下位ビット(LSBs)が、同ブロックの数値データ間で共有される単一のLSBで置き換えられる。よって、量子化可能数値データは最下位ビットを持つ2進形式のデータである。この置換によって、数値データは量子化された数値データとなる。
図1は、本発明の一実施例の流れ図である。本発明は、処理ロジックによって遂行される。この処理ロジックは、ハードウェア(例えば布線ロジック)でも、ソフトウェアでも、それらの組み合わせ(例えばファームウェアなど)でもよい。例えば、本発明を、コンピュータシステムを利用して実行してもよい。
図1を参照する。まず、処理ロジックは1グループの量子化可能な数値データ値を選び出す(処理ブロック101)。これらのデータは、そうでなければならないということではないが、例えば離散コサイン変換(DCT)やウェーブレット変換のような変換を施すことによって生成された係数であろう。その1グループをどのように選ぶかは、データの形式によって決めてよい。例えば、1ブロックが64画素からなり各ブロックが64係数からなるJPEGシステムにおいては、選択される1グループは、1ブロック全体の係数又はその一部の係数でよい。しかし、数値データ値の1グループはブロックを基準にしたものでなくともよく、要するに、特定可能などのような領域、集合又はグループを用いてもよい。
1グループの数値データ値を選び出した後、処理ロジックは、それら数値データ値のそれぞれの最下位ビット(LSB)を単一の共有LSBによって置き換える(処理ブロック102)。したがって、1グループのN個のデータの全てについて、N個のLSBが1個のLSBで置き換えられる。すなわち、本発明はN個のLSBの符号化のために1ビットだけ使用する。
一実施例によれば、共有LSBの値は、量子化可能数値データのLSBの値に基づいて設定される。例えば、共有LSBの値は、それら数値データ中の数値データ値のLSBにおいて発生頻度が最っとも高い2進値としてよい。
それらLSBが全て同じ値ならば、それらLSBの全部を符号化しないことによってもたらされる削減量は大きく、しかも画像の品質には影響を与えない。それらLSBの過半数がdon't care値(すなわち閾値に近い値)である場合には、例えば、グループ中の1つの量子化可能数値データ値を、グループ全体のLSBを与えるために選んでよい。例えば、グループ中に9個の数値データ値があるときに、常に9番目の数値データ値のLSBを用いて共有LSBの値を設定してもよい。
これに代わる実施例によれば、平均2乗誤差(MSE)を最適化することを基準に共有LSBが選定されるであろう。このような最適化の一実施例によれば、本発明は、共有LSBの設定に多数決投票を利用し、次の条件が成立したときにのみ共有LSBを1に設定する。
Figure 0004270469
上式中の上に開いた括弧|_・_|は下向きに丸めること、すなわち切り捨てを意味し、床関数と呼ばれることがある。
後で詳述するように、LSB値を設定した後に、数値データ中の数値データ値に補正を施してもよい。この補正の目的は、複数のLSBを単一のLSBで置き換えることによる歪みを減らすためである。
図2は、一様データの符号化プロセスの一実施例の流れ図である。このプロセスは処理ロジックによって実行されるが、この処理ロジックはハードウェアでも、ソフトウェアでも、それらの組み合わせでもよい。たいていが0であるデータような、強く集中したデータに対する適応性を向上させるため、図2のプロセスを修正してもよい。そのような変更については後に詳しく説明する。
図2を参照する。この一様データ符号化プロセスは、まず、量子化すべき数値データ値の1グループを選択する(処理ブロック110)。これらのデータ値を、ここではx1,X2,...XNと呼ぶ。この数値データ値のグループは1つのブロック(又は、任意の他の特定可能なひとまとまり)を構成することになろう。次に、これらの数値データ値を利用し、処理ロジックは次の関数を計算する(処理ブロック111)。
Figure 0004270469
ここで、xiはデータ値を指す。なお、他の関数を用いてもよい。
次に、処理ロジックは、その関数の計算結果が0以上であるか(又は0未満であるか)判定する(処理ブロック112)。関数の計算結果が0未満であるときには、処理ブロック113に移行してLSB(Lと呼ぶ)を1に設定し、処理ブロック115から処理を続ける。関数の計算結果が0以上であるときには、処理ブロック114に移行しいLSB値Lを0に設定し、処理ブロック115から処理を続ける。
処理ブロック115において、変数iが1に設定される。次に、処理ロジックは、次のようなemit関数を使用して、共有LSB以外の、量子化対象データ値の全ビットを出力する(処理ブロック116)。
Figure 0004270469
そして変数iは1だけインクリメントされる。
なお、共有LSBによって生じた歪みを減らすようにデータ値は修正されることに注意されたい。
次に、処理ロジックは、変数iがN以下であるか判定する(処理ブロック117)。N以下ならば、処理ブロック116に戻る。N以下でなければ、処理ブロック118に進み、LSB値のLが数値データ値x1,X2,...XNの共有LSBとして出力される。次に、符号化すべきデータがまだあるか判定される(処理ブロック119)。ほかのデータを符号化する必要があるならば、処理ブロック110に戻り、プロセスが繰り返される。ほかのデータを符号化する必要がなければ、プロセスは終了する。
一実施例によれば、処理ブロック116において、共有LSBを用いることによって生じる歪みを減らすための調整が行われる。この調整は、共有LSBの選定を考慮して、それぞれの数値データに対して行われる。個々のグループのデータ値全部には調整が必要でないかもしれない。すなわち、調整が必要なのは、共有LSBを用いることにより生じる歪みが調整で減少するデータ値だけである。この調整について、図6に示す例によって説明する。
図7において、最初の行(a)は、LSBの共有化を行わない普通の量子化を表す。ここでは、LSB共有化が適用されて共有LSBが0になると仮定する。2番目の行(b)は、共有LSBを適用したが調整ステップを用いない場合の結果を表す。歪みは、0.3から1.3へ(|15-15.3|から|14-15.3|へ)増加している。3番目の行(c)は、共有LSBを適用し、かつ、調整ステップで最上位ビット(MSB)を修正した場合の結果を表している。この場合、歪みは0.7(|16-15.3|)に過ぎない。ゆえに、このプロセスでデータ値を基にして調整を行うのである。この調整は、処理ブロック116で行われ、また、処理ブロック111の計算式に影響を及ぼす。
図1に従って符号化されたデータの復号化手順のポイントは、再構成データxiの計算である。一実施例によれば再構成データは次式によって計算される。
Figure 0004270469
ここで、Yiは処理ブロック116で出力されたMSBデータであり、Lは共有LSBである。
本発明によってもたらされる信号雑音比(SNR)の向上を、一様分布データについて解析的に計算できる。様々なブロック・サイズでの信号雑音比ゲイン及び対応する平均2乗誤差(MSE)を図7に示す。
図7において、SNRゲインはMSEから次式(5)によって計算される。なお、式(5)中のLはブロック・サイズを意味する。
Figure 0004270469
L=1の場合、“共有化”はない。L=2の場合、共有化を行ってもよいが、SNRゲインは0である。図7に示すように、L=9の場合にSNRゲインが最高であり、各LSBの符号化に平均して0.111ビットが用いられる。しかしながら、余分な0.1901ビットを常に使用した場合と同じ程度だけ期待精度(SNR)は改善される(不適切さもしくは粗れの要因の減少による)。このように、本発明は、各LSBを保存するのにほぼ0ビットを使って、各LSBを非常に不正確に保存する。さらに、ビットレート又はSNRの制御のためにブロック・サイズの選択を利用し得る。
また、本発明は、前述のSilversteinの方法より有利であり、特に大きなブロックサイズを扱う場合に有利である。Silversteinの方法では小さなブロックサイズを用いる必要があるのに対し、本発明は大きなブロックを用いる場合でも性能の向上をもたらす。
図3は、本発明の圧縮/伸長システムの一例のブロック図を示している。図3において、入力データ201が圧縮ブロック202に受信され、圧縮ブロック202は量子化可能な数値データ203を生成する。圧縮ブロック202は、DCT、ウェーブレット変換、その他の変換のための変換器でよい。このような場合、圧縮ブロック202の出力は係数からなる。圧縮ブロック202は1つの圧縮手法を遂行しても複数の圧縮手法を遂行してもよい。圧縮ブロック202は、例えばジグザグ順序付けや埋め込み順序付けのような順序付けも行ってもよい。この場合、圧縮ブロック202の出力は順序付けられた係数のような順序データからなる。
量子化可能数値データ203の値はメモリ204に格納される。メモリ204は、バッファ、FIFO、ランダムアクセスメモリ(例えば、ダイナミックメモリ(DRAM)、スタティックラム(SRAM)、ラムバスDRAM(RDRAM)、シンクロナスDRAM(SDRAM)など)、又は、処理のためにアクセス可能な任意の記憶域から構成してよい。LSB処理ブロック205は、メモリ204をアクセスして同メモリ204に格納されている量子化可能数値データを取り込み、そのデータ値のための共有LSBを生成する。それら量子化可能数値データは、少なくとも1グループ単位(例えば1ブロック又は複数ブロック)である。LSB処理ブロック205は1つの共有LSBの生成を終わると、そのさらに符号化されたデータをメモリ204に書き戻す。
その後、メモリ204に格納されている符号化データは符号化データ出力206として通信路及び/又は記憶装置へ出力される。一実施例によれば、符号化データ出力206は、データのある部分のための共有LSBの値の指示情報を含むヘッダ又はタグを含んでいる。例えば、そのデータの部分は、1グループ又は1ブロック分の数値データであろう。この場合、ヘッダはグループ内又はブロック内の数値データのためのLSBを指定する。別の実施例によれば、1つのヘッダ(又はタグ)によって複数のグループもしくはブロックの数値データのための複数のLSBを指定するであろう。他の実施例によれば、独立した通信路又は側波帯信号パスが、共有LSB(s)(及び/又はメッセージ)の復号化装置への送信に使用されるであろう。当該技術分野の当業者には、それ以外の多くの転送方法も明らかであろう。
なお、他の実施例によれば、共有LSBを生成後のデータ値に対し、さらに符号化法が適用される。例えば、データ値(LSBを除く)と、それらの共有LSBに対しハフマン符号化を適用してもよい。伸長時には、対応した復号化法が適用されることになろう。どのような符号化法を用いてもよい。同様に、圧縮時においてLSB処理の前に1種類以上の符号化法を適用してもよいが、復号化時に、LSB処理の後に対応した復号化法が適用されることになろう。
復号化装置210は、符号化データ出力206の復号化のために利用し得る。復号化装置210はメモリ211を有する。このメモリ211は、バッファ、FIFO、RAM、又は任意の記憶域から構成してもよく、符号化データ出力206を格納する。伸長ブロック212は、メモリ211に格納されている符号化データを伸長して復号化データ214を生成する。復号化装置210は、符号化装置で使用された各符号化法に対し必要とされる伸長方法のための、対応した復号化ハードウェア及び/又はソフトウェアを具備するであろう。
復号化時には、伸長ブロック212は、データを適切に再構成するために、ビットストリームのどこに共有LSBがあるか判断する。データストリームは、データ値グループの共有LSBを指示するための識別子(例えばコード)を含むであろう。特にグループの大きさが変動する場合には、共有LSBを“共有”するデータ値の数に関する確認情報も指示させるであろう。
なお、符号化装置200及び復号化装置210を、1つの集積回路チップ上に形成した単一のデバイスとしてもよい。他の実施例によれば、符号化装置200及び復号化装置210は、1つ以上の集積回路チップ又はデバイスである。もう一つの実施例によれば、符号化装置200及び/又は復号化装置210は、コンピュータシステムで実行されるソフトウェアからなる。
一実施例によれば、0係数が非0係数と区別され、LSB共有化は非0係数にのみ適用される。このようにするのは、0に非常に近い値に関しては、複数の係数又は他の数値データで共有されるLSBの選び方によって、そのデータを0から離れるように変化させることがあるからである。
一実施例によれば、殆どが0である非常に高い周波数のサブバンドは、LSB共有化法を用いずに符号化される。それ以外のサブバンドについては、0係数にLSB共有化が施されるであろう。
一実施例によれば、共有LSBは、ブロック内の係数中で閾値から最も離れた1つの係数には効いても、閾値に近い係数には大して効果がない。
ある実施例によれば、再構成係数レベルは非0にされ、かつ/又は、0に近いデータの扱いが簡単になるようにスケーリングされる。そのような再構成係数の領域には例えば次のようなものがある。
(a) 整数+0.5:
...,-1.5,-.5,+.5,+1.5,+2.5,...
(b) 整数+0.25 or 0.75:
...,-2.5,-1.25,-.75,-.25,+.25,+.75,+1.25,...
(c) 上記(b)の例に誤差を0に近づけるように調整を施したもの:
...,-1.25,-.75,-.15,+.15,+.75,+1.25,...
このように、上記(a)の場合、LSBは0.5の重みを持ち、再構成係数レベルがLSBを持たず、かつ、共有LSBがオン(LSB=1)ならば、再構成レベルは2.5である。
0の近傍では保存的再構成法を利用してよい。例えば、正規な再構成レベル
-2,-2,-1,-1,0,0,+1,+1,...
が与えられたとすると、LSB共有化に適したレベルは
-2,-2,-1,-1,0,0,+1,+1,...
であろう。
JPEG方式のシステムに応用する場合、同一ブロック内の64係数の全部を、全体で1つの共有LSBを持つ単一ブロックとして処理し得る。JPEGでは、高周波数係数の多くが0であるか0に近いため、ブロック内の係数の一部に対してLSB共有化を適用し得る。例えば、64係数からなる各ブロックを、いくつかのサブブロックもしくはサブグループに分割し、サブブロックもしくはサブグループ毎に共有LSBを持たせることができる。
また、ここで述べたLSB共有化法を、ブロック内の初めの32係数(ジグザグ順序付けで決まる)に適用してもよい。この場合、これら係数のためのLSBを指示するための1ビットがブロックに挿入されるかもしれない。
一実施例によれば、この追加ビットの挿入は、特定のインプリメンテーション用のq−マトリクスの修正によって行うことができる。このような場合、q−マトリクス内の数を2分の1にしてもよい。このことは、カスタマイズされたJPEG伸長装置に対し、ブロック内の全係数に対し1つの共有LSBが存在していることを指示するであろう。この場合、一般的なJPEG伸長装置は、単純に、そのq−マトリクス値が半減された1つの係数に対して共有LSBを適用するであろう、したがって、そのようなインプリメンテーションを利用して多少忠実度が悪化した画像を生成するであろう。他方、“LSBの共有化を意識している(witting)”伸長装置は忠実度を向上させるであろう。
このように係数が小さなグループに分割されているJPEGに適合したファイルにLSB共有化を埋め込むことができ、そして、そのファイルは共有LSBがグループ内の係数のただ1つにのみ付加されるように構成される。“LSB共有化を意識している(witting)”伸長装置はSNRが向上するであろう。しかし、“LSB共有化を意識していない”伸長装置はSNRがやや悪化する。
係数を例えば7ビットで表現した場合、ある一定量の歪みがある。この歪み量は、係数を8ビットで表現した場合より6.02デシベルだけ大きい。すなわち、ビット数が多いほど歪みが少ない。歪み曲線を1つ作成すれば、スケーリング因子を用いることにより、ビット数が増減した場合の歪みの補正が可能であろう。ここに述べたLSB共有化を利用すれば、容易にこの歪み曲線以下にできる。すなわち、本発明によれば、様々な量子化の場合に忠実度の改善が可能である。
他の実施例によれば、例えば、JPEGファイルに、そのサイズを増加させることなく、追加情報を付加するためにモジュラ剰余側波帯を用いる前記Silversteinとkleinの論文に述べられてる方法などと、ここに述べたLSB共有化が組み合わされる。この実施例によれば、LSB群がブロックに分けられ、そして、ブロック毎の和(modulo 2)がロスレス側波帯の1つのビットになる。サイズがLのブロックに対し本発明のLSB共有化を実行することにより、LSBを共有するK個のブロックから1つのモジュラ側波帯ビットを生成できる(すなわち、側波帯ビットレート=1/K×L)。このような場合、最高のSNRゲインはL=5かつK=4の場合に得られ、これはLSB共有化だけの場合よりかなり高いゲインとなる。
しばしば、データは一様には分布せず、0の近くに強く集中して例えば鐘形の分布曲線を形作る。このようなデータが“0に偏った”(zeroish)データであり、これは通常、0か0に近い値(特に−1又は+1)に量子化されるだろう。この場合には、図1に示したプロセスは適当ではないかもしれない。
量子化系の作用を変化させるための3つの変数B,D,Kを導入する。したがって、これら変数は共有LSBの選定の際に量子化を最適化するために利用される。変数±Bは、LSB共有化によってバイアスをかけられた全ての0に対する再構成レベルである(このバイアスと、それによる再構成レベルへの影響については、後に詳細に説明する)。変数Dは量子化閾値に対するバイアスであり、この量子化閾値は圧縮器によって圧縮対象データ値に対する圧縮値を決定するために用いられる。2D+0.5の値は“0−幅”である(したがって、D=0.25は公称単位幅を与える)。変数Kは、2つの符号化コストに関する特性であるレートと歪みの比である。圧縮システムのレートと歪みは両方とも、B,D,K及び入力信号統計量の関数である。変数Kは、レートと歪みを同時に代替可能にするためのラグランジュ乗数の働きをする。B,D,Kを同時に最適化することによって、レートと歪みの最良の組み合わせを得ることができる。
圧縮装置によって適用される共有LSBの2つの設定のための量子化閾値と、共有LSB=0(S−LSB off)、共有LSB無し(“LSB共有化を意識していない(unwitting)”伸長装置)及びLSB=1(S−LSB on)の3つのケースのための再構成レベルを図8に示す。一実施例によれば、圧縮装置はZ格子を用いる“LSB共有化を意識していない”伸長装置、例えばベースラインJPEGに対応している。すなわち、本発明は、JPEGのような“LSB共有化を意識していない”標準に組み込まれる。(ミラーとサイン(sign;符号)が共に反転されるならば、LSB−offのシステムとLSB−onのシステムは互いに同一である) B=D=0.25で普通の一様クラスタリングとなる。
図8において、(0に対応する±B以外の)全ての再構成レベルが非整数のJ±1/4であるのは、“LSB共有化を意識していない(JPEG)伸長装置”をサポートした結果であり、非束縛システムでは任意のZ格子を利用可能である。
量子化方式は、上記の閾値を充足する計算式で明示的に与えられる。共有LSBがオンの時にL=1、共有LSBがオフの時にL=0とする。この場合、Xiに対して出力される量子化(整数)値は次式で与えられる。
Figure 0004270469
なお、量子化がLSB共有化を利用することを前提にしているため、従来アルゴリズムの閾値及び再構成レベルをそのままここで適用することは、難しいか不可能でさえあろう。
その対応策は、次式の条件の場合に、かつ、次式の条件の場合にのみ、共有LSBを1にすることである。
Figure 0004270469
ここで、
Figure 0004270469
3つのパラメータK,B,Dは、一定の基準及びトレーニング・セットを用いれば、特に図9に示す最適なK,B,Dの表からスタート値を補間すれば、選択した実施例及び選択したビットレートに合うように調整することができる。図9において、ビットレートは、1つのデータもしくは信号点(例えば白黒画像の場合は画素)あたりのビット数で表されている。
図4は、多くが0のデータのような強く集中したデータの符号化プロセスの流れ図である。図4において、このプロセスは初めに量子化すべき数値データ値の1グループを選ぶ(処理ブロック301)。ここで、選択されたデータ値をx1,x2,...,xNと呼ぶ。次に、これら数値データ値を使って、処理ロジックは前に定義した下記関数の計算を行う(処理ブロック302)。
Figure 0004270469
次に、処理ロジックは上記関数の計算結果が0より大きいか判定する(処理ブロック303)。この関数の計算結果が0より大きければ、Lと呼ぶところのLSBは1に設定され(処理ブロック304)、そして処理ブロック306に進む。上記関数の計算結果が0以下ならば、LSBは0に設定され(処理ブロック305)、そして処理ブロック306へ進む。
処理ブロック306で、変数iが1に設定される。次に、処理ロジックはデータ値xiが0より大きいか判定する(処理ブロック307)。データ値xiが0より大きければ、処理ロジックは、次のemit関数を使用して、共有LSB以外の、量子化対象のデータ値の全ビットを出力させる(処理ブロック308)。
Figure 0004270469
データ値xiが0以下ならば、処理ロジックは、次のemit関数を適用して、共有LSB以外の、量子化対象のデータ値の全ビットを出力させる(処理ブロック309)。
Figure 0004270469
次に処理ロジックは、変数iをインクリメントし(処理ブロック310)、そして変数iがNより大きいか判定する(処理ブロック311)。変数iがN以下ならば、処理ブロック307に戻る。変数iがNより大きければ、処理ブロック312に進み、LSB値のLが数値データ値x1,x2,...,xNのための共有LSBとして出力される。
その後、処理ロジックは符号化すべきデータがほかにあるか調べる(処理ブロック313)。ほかのデータを符号化する必要があるならば、処理ブロック301に戻ってプロセスが繰り返される。他方、データの終わりに達したならば、プロセスは終了する。
LSBを共有化して0に偏ったデータを量子化する環境においては、圧縮された(例えばウェーブレット)係数の+1が、共有LSBがオフに設定されている時(例えば、共有LSBが論理0すなわちlowである時)には、−1よりはるかに多く発生し、かつ、共有LSBがオンに設定されている時(例えば共有LSBが論理1すなわちhighである時)には、ごくまれにしか発生しない。LSBがオフ(例えば0)の時に、1,0,+1に対する再構成レベルは−1.25,−B,+0.75である(典型的なビットレートで性能を向上させるためにはB≒0.15)。
要するに、量子化トークンの確率関数はトークンを頻度順にソートすると幾何級数にかなり近い。このソート後の順序は、LSBがオフ(0又は負)の時には
0,+1,-1,+2,-2,+3,-3,+4,4,+5...
であり、LSBがオン(1又は正)の時には、
0,-1,+1,-2,+2,-3,+3,-4,+4,-5...
である。
模擬ラプラシアンデータの広範囲にわたる確率は、幾何級数に似ていることが知られている。正確な幾何分布であれば、コンパクト符号化が非常に容易になる。一実施例によれば、単項(unary)コードが、そのような幾何分布に対して最適であろう。この単項コードは図10に示すとおりである。
これらの特徴ゆえに、圧縮装置は、LSB共有化を適用したのちに圧縮データに単項コードを適用し得る。確率級数の幾何級数に対する類似の程度はそこそこではあるが、それでも圧縮符号化の少なくとも予備ステップとして単項コードを適用するには十分である。すなわち、単項コードを適用した後に、さらなる圧縮符号化は必要でないかもしれない。
別の符号化装置を使用する場合でも、圧縮コストの推定に幾何級数を使用できる。さらに、共有LSBがオフの時には正サインのほうが負サインより多く、共有LSBがオンの時には負サインのほうが正サインより多いことに着目すると、排他的論理和(XOR)関数を用いてサインの反転を行うことにより圧縮性能を上げること、殊に、“0に偏った”データの1ブロックによって1つのLSBが共有される、任意の非束縛方式で圧縮性能を上げることを思いつく。したがって、一実施例によれば、符号化装置は、量子化データのサインと共有LSBの排他論理和(XOR)を取ってから、IBM社のQ−コーダすなわちQM−コーダやその他の既存の符号化装置のような統計的符号化装置へサイン・ビットを送る。これを、ここではサイン反転と呼ぶ。前に示したLSBがオンの場合のソート済み順序リストとLSBがオフの場合のソート済み順序リストは、XOR関数を用いた場合には互いに等価である。したがって、共有LSBの生成後、それ以上の符号化の前に、サイン・ビットを反転させることにより、共有LSBと排他的論理和をとったサイン・ビットと等しい修正サイン・ビットとすることができる。他の実施例によれば、サイン・ビットは、それが所定の状態(例えば、正、負など)である確率と排他的論理和をとられる。
さらに、符号化装置において、共有LSBの設定を選ぶ際に、歪みに対する符号化コストを考慮してもよい。分布が、例として定義した“折返し指数関数”に従う場合、非常に柔軟な量子化則が浮上する。“折返し指数関数コード”は、
0,+1,-1,+2,-2,+3,...
を、折返し順序付けにより
0,1,2,3,4,5,...
に写像する、すなわち、“単項”で表せば
0,10,110,1110,11110,111110,...
に写像するコードと定義される。なお、全てのペアについて、負数が正数より先に出現するように負の数と正の数を入れ替えてもよい。
上に示したコードの確率分布は、順に連続した項の間の比prob(X=0),prob(X=+l),prob(X=-l),prob(X=+2),prob(X=-2),prob(X=+3),...が一定である任意の確率分布である。この確率分布は、共有LSBシステムにおけるトークンの分布をよく近似する。
“折返し指数関数”コードの一例は図11に示すとおりである。p=Prob(LPS)は(内部の)符号化対象シンボルの確率を表すものとする。
Xに対する出力は、単に、y個のLPS(“1”)の後にMPS(“0”)を続けたものである。ここで、yは次式で与えられる。
Figure 0004270469
ここで、Lは共有LSBである。
この折返し指数関数コードが適用されるのは、調整及び量子化したxiを用意しかつ条件付サイン反転を適用した後であって、その結果を汎用エントロピ符号化装置(例えば算術符号化装置)へ送る前である。LPSの符号化コストが均等であると仮定すれば、符号化コスト間に、前記量子化則を導くところの単純な関係が存在する。
図5は、サイン反転及び折返し指数関数符号化(又は単項符号化)とともに共有LSB処理を利用し、復号化時に各処理の逆処理を利用する符号化装置及び復号化装置の一実施例を示している。すなわち、図5において、207はサイン反転のためのブロック、208は折返し指数関数符号化又は単項符号化のためのブロック、209はエントロピ符号化器(例えば算術符号化器)である。また、215はエントロピ復号化器(例えば算術符号化器)、216は折返し指数関数復号化又は単項復号化のためのブロック、217はサイン反転のためのブロックである。
なお、前記折返し指数関数符号化は、データが適当な統計量を持つ任意の圧縮用途に利用し得る。すなわち、折返し指数関数符号化は共有LSB符号化と無関係に使用し得る。
以上の説明から理解されるように、本発明には、以下に列挙するような方法及び装置並びコンピュータ読み取り可能記録媒体が包含される。
(1) 量子化対象の数値データを選択し、前記数値データの最下位ビット(LSBs)を、前記数値データ中の各数値データ値により共有される単一のLSBで置き換えることを特徴とするデータ符号化方法。
(2) 前記単一のLSBとして選ばれた値に基づいて数値データ値を調整することを特徴とする前記(1)記載のデータ符号化方法。
(3) 前記数値データt@一様分布であることを特徴とする前記(1)記載のデータ符号化方法。
(4) 前記数値データが0の近くに集中していることを特徴とする前記(1)記載のデータ符号化方法。
(5) 前記数値データの各値が1つの係数からなることを特徴とする前記(1)記載のデータ符号化方法。
(6) 前記数値データが1ブロックの変換データからなることを特徴とする前記(1)記載のデータ符号化方法。
(7) 前記LSBsの置き換えにおいて、平均2乗誤差(MSE)に基づいて前記単一LSBを設定することを特徴とする前記(1)記載のデータ符号化方法。
(8) 前記LSBsの置き換えにおいて、前記数値データ中の数値データ値のLSBsの中で、どちらの2進値の出現頻度が最高であるかに応じて前記単一LSBを設定することを特徴とする前記(1)記載のデータ符号化方法。
(9) 前記LSBsの置き換えにおいて、前記数値データを含む画像データの1領域全体のLSBsの中で、どちらの2進値の出現頻度が最高であるかに応じて前記単一LSBを設定することを特徴とする前記(1)記載のデータ符号化方法。
(10) 前記LSBsの置き換えにおいて、
Figure 0004270469
が成立する場合に前記単一LSBを所定の2進値に設定することを特徴とする前記(1)記載のデータ符号化方法。
(11) 前記所定の2進値が1であることを特徴とする前記(10)記載のデータ符号化方法。
(12) 前記単一LSBを“LSB共有化を意識していない”標準に適合したファイルに埋め込むことを特徴とする前記(1)記載のデータ符号化方法。
(13) 前記“LSB共有化を意識していない”標準がJPEGであることを特徴とする前記(12)記載のデータ符号化方法。
(14) 前記単一LSBの前記ファイルへの埋め込みにおいて、前記単一LSBを前記各数値データ値の1つに付加することを特徴とする前記(12)記載のデータ符号化方法。
(15) 前記各数値データ値が1つの係数からなることを特徴とする前記(14)記載のデータ符号化方法。
(16) 前記単一LSBの前記ファイルへの埋め込みにおいて、q−マトリクスを修正することを特徴とする前記(12)記載のデータ符号化方法。
(17) 前記q−マトリクスの修正において、前記q−マトリクス内の数を半分にすることを特徴とする前記(16)記載のデータ符号化方法。
(18) 前記数値データの最下位ビット(LSBs)の単一のLSBによる置き換えにおいて、前記(7)式の条件が成立する場合に、前記単一LSBを所定の2進値に設定することを特徴とする前記(1)記載のデータ符号化方法。
(19) 圧縮データに単項コードを適用することを特徴とする前記(1)記載のデータ符号化方法。
(20) 前記各数値データ値のサインを、前記単一LSBとの排他的論理和をとることによって反転させることを特徴とする前記(1)記載のデータ符号化方法。
(21) 前記各数値データ値のサインを、それが所定の状態である確率との排他的論理和をとることによって反転させることを特徴とする前記(1)記載のデータ符号化方法。
(22) 前記所定の状態が負であることを特徴とする前記(21)記載のデータ符号化方法。
(23) 0,+1,-1,+2,-2,+3,....を0,1,2,3,4,5,....にそれぞれ写像するコードを用いて各数値データ値を符号化することを特徴とする前記(1)記載のデータ符号化方法。
(24) 0,+1,-1,+2,-2,+3,....を0,1,2,3,4,5,....にそれぞれ写像するコードを用いて各数値データ値を符号化することを特徴とする前記(20)記載のデータ符号化方法。
(25) 量子化対象の数値データを受信する手段と、前記数値データの最下位ビット(LSBs)を、前記数値データ中の各数値データ値によって共有される単一のLSBで置き換える手段とを具備する符号化装置。
(26) 前記単一のLSBとして選ばれた値に基づいて数値データ値を調整する手段をさらに具備することを特徴とする前記(25)記載の符号化装置。
(27) 前記数値データが一様分布であることを特徴とする前記(25)記載の符号化装置。
(28) 前記数値データが0の近くに集中していることを特徴とする前記(25)記載の符号化装置。
(29) 前記数値データ中の各数値データ値が1つの係数からなることを特徴とする前記(25)記載の符号化装置。
(30) 前記数値データが1ブロックの変換データからなることを特徴とする前記(25)記載の符号化装置。
(31) 前記置き換えのための手段が平均2乗誤差(MSE)に基づいて前記単一LSBを設定する手段を具備することを特徴とする前記(25)記載の符号化装置。
(32) 前記置き換えのための手段が、前記数値データ中の数値データ値のLSBsの中で、どちらの2進値の出現頻度が最高であるかに応じて前記単一LSBを設定する手段を具備することを特徴とする前記(25)記載の符号化装置。
(33) 前記置き換えのための手段が、前記数値データを含む画像データの1領域全体のLSBsの中でどちらの2進値の出現頻度が最高であるかに応じて前記単一LSBを設定する手段を具備することを特徴とする前記(25)記載の符号化装置。
(34) 前記置き換えのための手段が、前記(13)式の条件が成立する場合に前記単一LSBを所定の2進値に設定する手段を具備することを特徴とする前記(25)記載の符号化装置。
(35) 前記所定の2進値が1であることを特徴とする前記(34)記載の符号化装置。
(36) 前記単一LSBを“LSB共有化を意識していない”標準に適合したファイルに埋め込む手段をさらに具備することを特徴とする前記(25)記載の符号化装置。
(37) 前記unwitting標準がJPEGであることを特徴とする前記(36)記載の符号化装置。
(38) 前記単一LSBを前記ファイルへ埋め込む手段が、前記単一LSBを前記各数値データ値の1つに付加する手段を具備することを特徴とする前記(36)記載の符号化装置。
(39) 前記各数値データ値が1つの係数からなることを特徴とする前記(38)記載の符号化装置。
(40) 前記単一LSBを前記ファイルへ埋め込む手段がq−マトリクスを修正する手段を具備することを特徴とする前記(36)記載の符号化装置。
(41) 前記q−マトリクスを修正する手段が前記q−マトリクス内の数を半分にすることを特徴とする前記(40)記載の符号化装置。
(42) 前記数値データの最下位ビット(LSBs)を単一のLSBで置き換える手段が、前記(7)式の条件が成立する場合に前記単一LSBを所定の2進値に設定する手段を具備することを特徴とする前記(25)記載の符号化装置。
(43) 圧縮データに単項コードを適用するとこを特徴とする前記(25)記載の符号化装置。
(44) 前記各数値データ値のサインを、前記単一LSBとの排他的論理和をとることによって反転させる手段をさらに具備することを特徴とする前記(25)記載の符号化装置。
(45) 各数値データ値のサインを、それが所定の状態である確率との排他的論理和をとることによって反転させる手段をさらに具備することを特徴とする前記(25)記載の符号化装置。
(46) 前記所定の状態が負であることを特徴とする前記(45)記載の符号化装置。
(47) 0,+1,-1,+2,-2,+3,....を0,1,2,3,4,5,....にそれぞれ写像するコードを用いて各数値データ値を符号化する手段をさらに具備することを特徴とする前記(25)記載の符号化装置。
(48) 0,+1,-1,+2,-2,+3,....を0,1,2,3,4,5,....にそれぞれ写像するコードを用いて各数値データ値を符号化する手段をさらに具備することを特徴とする前記(44)記載の符号化装置。
(49) 複数の数値データ値を記憶するためのメモリと、前記複数の数値データ値のLSBsを、それら数値データ値によって共有される単一のLSBで置き換える、前記メモリに接続された最下位ビット(LSB)処理ロジックとを具備する符号化装置。
(50) 前記複数の数値データ値がそれぞれは1つの係数からなることを特徴とする前記(49)記載の符号化装置。
(51) 前記複数の数値データ値が1ブロックの変換データからなることを特徴とする前記(49)記載の符号化装置。
(52) 前記LSB処理ロジックが平均2乗誤差(MSE)に基づいて前記単一LSBを設定することを特徴とする前記(49)記載の符号化装置。
(53) 前記LSB処理ロジックが、前記複数の数値データ値のLSBsの中で、どちらの2進値の出現頻度が最高であるかに応じて前記単一LSBを設定することを特徴とする前記(49)記載の符号化装置。
(54) 前記LSB処理ロジックが、前記(13)式の条件が成立する場合に前記単一LSBを所定の2進値に設定することを特徴とする前記(49)記載の符号化装置。
(55) 前記所定の2進値が1であることを特徴とする前記(54)記載の符号化装置。
(56) 前記LSB処理ロジックが、前記(7)式の条件が成立する場合に前記単一LSBを所定の2進値に設定することを特徴とする前記(49)記載の符号化装置。
(57) 圧縮データに単項コードを適用することを特徴とする前記(49)記載の符号化装置。
(58) 前記各数値データ値のサインを前記単一LSBとの排他的論理和をとることによって反転させる手段をさらに具備することを特徴とする前記(49)記載の符号化装置。
(59) 各数値データ値のサインを、それが所定の状態である確率との排他的論理和をとることによって反転させる手段をさらに具備することを特徴とする前記(49)記載の符号化装置。
(60) 前記所定の状態が負であることを特徴とする前記(59)記載の符号化装置。
(61) 0,+1,-1,+2,-2,+3,....を0,1,2,3,4,5,....にそれぞれ写像するコードを用いて各数値データ値を符号化する手段をさらに具備することを特徴とする前記(49)記載の符号化装置。
(62) 0,+1,-1,+2,-2,+3,....を0,1,2,3,4,5,....にそれぞれ写像するコードを用いて各数値データ値を符号化する手段をさらに具備することを特徴とする前記(58)記載の符号化装置。
(63) システムの少なくとも1つの処理装置で実行された時に、前記少なくとも1つの処理装置に、データセットの数値データを選択させ、そして、前記数値データの最下位ビット(LSBs)を、前記数値データ中の数値データ値により共有される単一のLSBで置き換えさせる命令シーケンスが記録されたコンピュータ読み取り可能記録媒体。
(64) 少なくとも1つの処理装置に実行された時に、前記少なくとも1つの処理装置に、前記単一のLSBとして選ばれた値に基づいて数値データ値を調整させる命令が<前記命令シーケンスに含まれることを特徴とする前記(63)記載の記録媒体。
(65) 少なくとも1つの処理装置に実行された時に、前記少なくとも1つの処理装置に、平均2乗誤差(MSE)に基づいて前記単一LSBを設定させる命令が前記命令シーケンスに含まれることを特徴とする前記(63)記載の記録媒体。
(66) 少なくとも1つの処理装置に実行された時に、前記少なくとも1つの処理装置に、前記数値データ中の数値データ値のLSBsの中で、どちらの2進値の出現頻度が最高であるかに応じて前記単一LSBを設定させる命令が前記命令シーケンスに含まれることを特徴とする前記(63)記載の記録媒体。
(67) 少なくとも1つの処理装置に実行された時に、前記少なくとも1つの処理装置に、前記数値データを含む画像の1領域全体のLSBsの中で、どちらの2進値の出現頻度が最高であるかに応じて前記単一LSBを設定させる命令が前記命令シーケンスに含まれることを特徴とする前記(63)記載の記録媒体。
(68) 少なくとも1つの処理装置に実行された時に、前記少なくとも1つの処理装置に、前記(13)式の条件が成立する場合に前記単一LSBを所定の2進値に設定させる命令が前記命令シーケンスに含まれることを特徴とする前記(63)記載の記録媒体。
(69) 少なくとも1つの処理装置に実行された時に、前記少なくとも1つの処理装置に、前記各数値データ値のサインを、前記単一LSBとの排他的論理和をとることによって反転させる命令が前記命令シーケンスに含まれることを特徴とする前記(63)記載の記録媒体。
(70) 少なくとも1つの処理装置に実行された時に、前記少なくとも1つの処理装置に、前記各数値データ値のサインを、それが所定の状態である確率との排他的論理和をとることによって反転させる命令が前記命令シーケンスに含まれることを特徴とする前記(63)記載の記録媒体。
(71) 前記所定の状態が負であることを特徴とする前記(70)記載の記録媒体。
(72) 少なくとも1つの処理装置に実行された時に、前記少なくとも1つの処理装置に、0,+1,-1,+2,-2,+3,....を0,1,2,3,4,5,....にそれぞれ写像するコードを用いて各数値データ値を符号化させる命令が前記命令シーケンスに含まれることを特徴とする前記(63)記載の記録媒体。
(73) 少なくとも1つの処理装置に実行された時に、前記少なくとも1つの処理装置に、0,+1,-1,+2,-2,+3,....を0,1,2,3,4,5,....にそれぞれ写像するコードを用いて各数値データ値を符号化させる命令が前記命令シーケンスに含まれることを特徴とする前記(69)記載の記録媒体。
(74) 少なくとも1つの処理装置に実行された時に、前記少なくとも1つの処理装置に、前記単一LSBを“LSB共有化を意識していない”標準に適合したファイルに埋め込ませる命令が前記命令シーケンスに含まれることを特徴とする前記(63)記載の記録媒体。
(75) 少なくとも1つの処理装置に実行された時に、前記少なくとも1つの処理装置に、前記(7)式の条件が成立する場合に前記単一LSBを所定の2進値に設定させる命令が前記命令シーケンスに含まれることを特徴とする前記(63)記載の記録媒体。
(76) 少なくとも1つの処理装置に実行された時に、前記少なくとも1つの処理装置に、単項コードを圧縮データに適用させる命令が前記命令シーケンスに含まれることを特徴とする前記(63)記載の記録媒体。
(77) 単一のLSBを共有する量子化数値データを受け受信するレシーバと前記単一LSBを各数値データ値に対し用いることにより前記量子化数値データを復号化する、前記レシーバに接続された復号化器とを具備する復号化装置。
(78) 前記復号化器が、数値データの最下位ビット(LSBs)を1群の数値データの各数値データ値に共有される単一のLSBで置き換えることによって符号化されているデータを、前記(7)式の条件が成立する場合に前記単一LSBを所定の2進値に設定することにより復号化することを特徴とする前記(77)記載の復号化装置。
(79) 複数の符号化データが単一のLSBを共有しており、前記単一LSBを用いて、前記複数の符号化データの各符号化データに対する再構成データ値を生成し、前記複数の符号化データの各符号化データに対する前記再構成データ値を送出するデータ復号化方法。
(80) 前記再構成データ値の生成が下式によって行われる、
Figure 0004270469
ただし、xiは再構成データ値、yは再構成対象の符号化データ値の最上位ビット、Lは共有される前記単一LSBである、ことを特徴とする前記(79)記載のデータ復号化方法。
(81) 量子化対象の1群の数値データを選択し、前記数値データの最下位ビット(LSBs)を前記1群の数値データの各数値データ値により共有される単一のLSBで置き換えることからなり、前記LSBsの置き換えにおいて、前記(7)式の条件が成立する場合に前記単一LSBを所定の2進値に設定する符号化方法。
(82) 前記単一LSBを、前記(7)式の関数の計算結果が0より大きければ第1の所定値に設定し、前記(7)式の関数の計算結果が0以下ならば第2の所定値に設定することを特徴とする前記(81)記載の符号化方法。
(83) データ値が0より大きいか判定し、データ値が0以下ならば、前記(10)式のemit関数を使用して、共有LSB以外の量子化対象データ値のビットを全て出力し、データ値が0より大きければ、前記(11)式のemit関数を使用して共有LSB以外の量子化対象データ値のビットを全て出力することを特徴とする前記(82)記載の符号化方法。
(84) 各数値データのサインを、単一LSBと排他的論理和をとることによって反転させることを特徴とする前記(81)記載の符号化方法。
(85) 各数値データ値のサインを、それが所定の状態である確率との排他的論理和をとることによって反転させることを特徴とする前記(81)記載の符号化方法。
(86) 前記所定の状態が負であることを特徴とする前記(85)記載の符号化方法。
(87) 量子化対象の1群の数値データを選択する手段と、前記数値データの最下位ビット(LSBs)を前記1群の数値データの各数値データ値により共有される単一のLSBで置き換える手段とを具備し、前記LSBsの置き換えにおいて前記(7)式の条件が成立する場合に前記単一LSBを所定の2進値に設定する符号化装置。
(88) 前記単一LSBを、前記関数の計算結果が0より大きければ第1の所定値に設定し、前記関数を適用した結果が0以下ならば第2の所定値に設定するための手段をさらに具備することを特徴とする前記(87)記載の符号化装置。
(89) データ値が0より大きいか判定する手段と、データ値が0以下のときに前記(10)式のemit関数を使用して共有LSB以外の量子化対象データ値のビットを全て出力し、データ値が0より大きいときに前記(11)式のemit関数を使用して共有LSB以外の量子化対象データ値のビットを全て出力する手段とをさらに具備することを特徴とする前記(87)記載の符号化装置。
(90) 各数値データのサインを、単一LSBとの排他的論理和をとることによって反転させる手段をさらに具備することを特徴とする前記(89)記載の符号化装置。
(91) 各数値データ値のサインを、それが所定の状態である確率との排他的論理和をとることによって反転させる手段をさらに具備することを特徴とする前記(87)記載の符号化装置。
(92) 前記所定の状態が負であることを特徴とする前記(91)記載の符号化装置。
(93) システムの少なくとも1つの処理装置で実行された時に、前記少なくとも1つの処理装置に、量子化対照の1群の数値データを選択させ、そして前記数値データの最下位ビット(LSBs)を前記1群の数値データの各数値データ値により共有される単一のLSBで置き換えさせる命令シーケンスが記録され、前記LSBsの置き換えにおいて、前記(7)式の条件が成立する場合に前記単一LSBを所定の2進値に設定する、コンピュータ読み取り可能記録媒体。
(94) 少なくとも1つの処理装置で実行された時に、前記少なくとも1つの処理装置に、前記単一LSBを、前記関数の計算結果が0より大きければ第1の所定値に設定させ、前記関数の計算結果が0以下ならば第2の所定値に設定させる命令が前記命令シーケンスに含まれることを特徴とする前記(93)記載の記録媒体。
(95) 少なくとも1つの処理装置で実行された時に、前記少なくとも1つの処理装置に、データ値が0より大きいか判定させ、前記データ値が0以下のときに前記(10)式のemit関数を使用して共有LSB以外の量子化対象データ値のビットを全て出力させ、データ値が0より大きいときに前記(11)式のemit関数を使用して共有LSB以外の量子化対象データ値のビットを全て出力させる命令が前記命令シーケンスに含まれることを特徴とする前記(94)記載の記録媒体。
(96) 値の系列0,+1,-1,+2,-2,+3,....を0,1,2,3,4,5,....に写像することを特徴とするデータ符号化方法。
(97) 各数値データ値のサインを、単一LSBとの排他的論理和をとることにより反転させることを特徴とする前記(96)記載のデータ符号化方法。
(98) 各数値データ値のサインを、それが所定の状態である確率との排他的論理和をとることによって反転させることを特徴とする前記(96)記載のデータ符号化方法。
(99) 前記所定の状態が負であることを特徴とする前記(98)記載のデータ符号化方法。
(100)データを受信する手段と、値の系列0,+1,-1,+2,-2,+3,....を0,1,2,3,4,5,....に写像する手段とを具備する符号化装置。
(101)各数値データ値のサインを、単一LSBとの排他的論理和をとることにより反転させる手段をさらに具備することを特徴とする前記(100)記載の符号化装置。
(102)各数値データ値のサインを、それが所定の状態である確率との排他的論理和をとることによって反転させる手段をさらに具備することを特徴とする前記(100)記載の符号化装置。
(103)前記所定の状態が負であることを特徴とする前記(102)記載の符号化装置。
LSB符号化の処理フローの一例を示す。 LSB符号化の処理フローの他の例を示す。 本発明による圧縮/伸長システムの一例を示す。 LSB符号化の処理フローの一例を示す。 本発明による圧縮/伸長システムの他の例を示す。 LSB共有化による歪み、その補正のための調整を説明するためのデータを示す。 様々なブロック・サイズでの信号雑音比ゲイン及び対応する平均2乗誤差(MSE)を示す。 量子化閾値と再構成レベルを示す。 ビットレートに対応したパラメータK,B,Gの最適な値を示す。 単項コードを示す。 折返し指数関数コードの例を示す。
200 符号化装置
202 圧縮ブロック
204 メモリ
205 LSB処理ブロック
210 復号化装置
211 メモリ
212 伸長ブロック
207,217 サイン反転のブロック
208 折返し指数関数符号化又は単項符号化のブロック
209 エントロピ符号化器
215 エントロピ復号化器
216 折返し指数関数復号化又は単項復号化のブロック

Claims (12)

  1. 量子化対象の数値データを受信する手段と、前記数値データ中の各数値データ値に基づいて、単一の最下位ビットを算出する手段と、前記数値データ中の各数値データ値の最下位ビットを、前記算出された単一の最下位ビットに置き換える手段と、前記最下位ビットが置き換えられた数値データを符号化して符号化データを生成する手段とを具備し、
    前記単一の最下位ビットを算出する手段は、平均2乗誤差(MSE)に基づいて前記単一の最下位ビットを算出し、
    前記生成された符号化データは、前記符号化データにおける前記単一の最下位ビットを指示するための識別子を含むことを特徴とする符号化装置。
  2. 量子化対象の数値データを受信する手段と、前記数値データ中の各数値データ値に基づいて、単一の最下位ビットを算出する手段と、前記数値データ中の各数値データ値の最下位ビットを、前記算出された単一の最下位ビットに置き換える手段と、前記最下位ビットが置き換えられた数値データを符号化して符号化データを生成する手段とを具備し、
    前記単一の最下位ビットを算出する手段は、前記数値データ中の数値データ値の最下位ビットの中で、どちらの2進値の出現頻度が最高であるかに応じて前記の最下位ビットを決め、
    前記生成された符号化データは、前記符号化データにおける前記単一の最下位ビットを指示するための識別子を含むことを特徴とする符号化装置。
  3. 量子化対象の数値データを受信する手段と、前記数値データ中の各数値データ値に基づいて、単一の最下位ビットを算出する手段と、前記数値データ中の各数値データ値の最下位ビットを、前記算出された単一の最下位ビットに置き換える手段と、前記最下位ビットが置き換えられた数値データを符号化して符号化データを生成する手段とを具備し、
    前記単一の最下位ビットを算出する手段は、前記数値データを含む画像データの1領域全体の最下位ビットの中で、どちらの2進値の出現頻度が最高であるかに応じて前記単一の最下位ビットを決め、
    前記生成された符号化データは、前記符号化データにおける前記単一の最下位ビットを指示するための識別子を含むことを特徴とする符号化装置。
  4. 前記量子化対象の数値データは、所定のデータを複数に分割したブロックの1つに含まれるデータであることを特徴とする請求項1乃至3のいずれか1項に記載の符号化装置。
  5. 前記識別子は、前記符号化データのヘッダに格納されていることを特徴とする請求項1乃至3のいずれか1項に記載の符号化装置。
  6. 前記識別子は、各ブロックの数値データに基づいて算出された単一の最下位ビットを、複数指定することを特徴とする請求項5に記載の符号化装置。
  7. 量子化対象の数値データを受信するステップと、前記数値データ中の各数値データ値に基づいて、単一の最下位ビットを算出するステップと、前記数値データ中の各数値データ値の最下位ビットを、前記算出された単一の最下位ビットに置き換えるステップと、前記最下位ビットが置き換えられた数値データを符号化して符号化データを生成するステップとを有し、
    前記単一の最下位ビットを算出するステップは、平均2乗誤差(MSE)に基づいて前記単一の最下位ビットを算出し、
    前記生成された符号化データは、前記符号化データにおける前記単一の最下位ビットを指示するための識別子を含むことを特徴とする符号化方法。
  8. 量子化対象の数値データを受信するステップと、前記数値データ中の各数値データ値に基づいて、単一の最下位ビットを算出するステップと、前記数値データ中の各数値データ値の最下位ビットを、前記算出された単一の最下位ビットに置き換えるステップと、前記最下位ビットが置き換えられた数値データを符号化して符号化データを生成するステップとを有し、
    前記単一の最下位ビットを算出するステップは、前記数値データ中の数値データ値の最下位ビットの中で、どちらの2進値の出現頻度が最高であるかに応じて前記の最下位ビットを決め、
    前記生成された符号化データは、前記符号化データにおける前記単一の最下位ビットを指示するための識別子を含むことを特徴とする符号化方法。
  9. 量子化対象の数値データを受信するステップと、前記数値データ中の各数値データ値に基づいて、単一の最下位ビットを算出するステップと、前記数値データ中の各数値データ値の最下位ビットを、前記算出された単一の最下位ビットに置き換えるステップと、前記最下位ビットが置き換えられた数値データを符号化して符号化データを生成するステップとを有し、
    前記単一の最下位ビットを算出するステップは、前記数値データを含む画像データの1領域全体の最下位ビットの中で、どちらの2進値の出現頻度が最高であるかに応じて前記単一の最下位ビットを決め、
    前記生成された符号化データは、前記符号化データにおける前記単一の最下位ビットを指示するための識別子を含むことを特徴とする符号化方法。
  10. 前記量子化対象の数値データは、所定のデータを複数に分割したブロックの1つに含まれるデータであることを特徴とする請求項7乃至9のいずれか1項に記載の符号化方法。
  11. 前記識別子は、前記符号化データのヘッダに格納されていることを特徴とする請求項7乃至9のいずれか1項に記載の符号化方法。
  12. 前記識別子は、各ブロックの数値データに基づいて算出された単一の最下位ビットを、複数指定することを特徴とする請求項11に記載の符号化方法。
JP2006119844A 1998-09-30 2006-04-24 符号化装置及び符号化方法 Expired - Fee Related JP4270469B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/165,007 US6289128B1 (en) 1998-09-30 1998-09-30 Method and apparatus for sharing a least significant bit of encoded data between multiple numeric data values

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP26152899A Division JP3832797B2 (ja) 1998-09-30 1999-09-16 符号化装置及び符号化方法

Publications (2)

Publication Number Publication Date
JP2006314097A JP2006314097A (ja) 2006-11-16
JP4270469B2 true JP4270469B2 (ja) 2009-06-03

Family

ID=22597018

Family Applications (2)

Application Number Title Priority Date Filing Date
JP26152899A Expired - Fee Related JP3832797B2 (ja) 1998-09-30 1999-09-16 符号化装置及び符号化方法
JP2006119844A Expired - Fee Related JP4270469B2 (ja) 1998-09-30 2006-04-24 符号化装置及び符号化方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP26152899A Expired - Fee Related JP3832797B2 (ja) 1998-09-30 1999-09-16 符号化装置及び符号化方法

Country Status (2)

Country Link
US (1) US6289128B1 (ja)
JP (2) JP3832797B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100302436B1 (ko) * 1998-03-24 2001-09-26 포만 제프리 엘 동화상 전자 워터마크 시스템
US6384748B1 (en) * 1998-12-21 2002-05-07 Base One International Corporation Method of encoding numeric data and manipulating the same
US7986733B2 (en) * 2004-07-30 2011-07-26 Broadcom Corporation Tertiary content addressable memory based motion estimator
EP2060124A2 (en) * 2006-08-30 2009-05-20 Koninklijke Philips Electronics N.V. Device and method for coding a data signal and device and method for decoding a data signal
KR20100136890A (ko) * 2009-06-19 2010-12-29 삼성전자주식회사 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법
ES2674876T3 (es) 2010-07-12 2018-07-04 Nestec S.A. Soporte para tazas asegurado para máquina de bebidas
US9087459B2 (en) 2012-11-30 2015-07-21 The Nielsen Company (Us), Llc Methods, apparatus, and articles of manufacture to encode auxilary data into text data and methods, apparatus, and articles of manufacture to obtain encoded data from text data
US9990478B2 (en) 2012-11-30 2018-06-05 The Nielsen Company (Us), Llc Methods, apparatus, and articles of manufacture to encode auxiliary data into relational database keys and methods, apparatus, and articles of manufacture to obtain encoded data from relational database keys
US9042554B2 (en) 2012-11-30 2015-05-26 The Nielsen Company (Us), Llc Methods, apparatus, and articles of manufacture to encode auxilary data into text data and methods, apparatus, and articles of manufacture to obtain encoded data from text data
GB2545503B (en) 2015-12-18 2020-04-08 Imagination Tech Ltd Lossy data compression
US11290209B2 (en) * 2020-07-17 2022-03-29 Audiowise Technology Inc. Wireless communication method and wireless communication device which uses the wireless communication method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764807A (en) * 1995-09-14 1998-06-09 Primacomp, Inc. Data compression using set partitioning in hierarchical trees
US5751860A (en) * 1996-09-03 1998-05-12 Acer Peripherals, Inc. Method for compressing and decompressing digital image data
US5757852A (en) * 1997-01-24 1998-05-26 Western Atlas International, Inc. Method for compression of high resolution seismic data

Also Published As

Publication number Publication date
US6289128B1 (en) 2001-09-11
JP2000114974A (ja) 2000-04-21
JP2006314097A (ja) 2006-11-16
JP3832797B2 (ja) 2006-10-11

Similar Documents

Publication Publication Date Title
JP4270469B2 (ja) 符号化装置及び符号化方法
JP3653183B2 (ja) ウェーブレット係数再構成処理方法及び装置、並びに記録媒体
Celik et al. Lossless generalized-LSB data embedding
US6931159B2 (en) Size reduction method and device for compressed images
US8565298B2 (en) Encoder rate control
US7016545B1 (en) Reversible embedded wavelet system implementation
JP5736032B2 (ja) 算術符号化のための適応型2値化
US7501964B2 (en) Entropy coding for digital codecs
JPH11284843A (ja) ウォ―タマ―クをディジタル画像シ―ケンスのビットストリ―ム表現に組み込むための方法及び装置
JP2000174628A (ja) 情報処理装置及び方法並びにコンピュータ読み取り可能な記憶媒体
JP2007267384A (ja) 圧縮装置及び圧縮方法
WO1999011072A1 (en) Method and apparatus for optimizing storage of compressed images in memory
JP2004502395A (ja) ディジタル信号中へのデータのステガノグラフィック埋め込み
RU2434356C2 (ru) Создание водяных знаков в кодированном информационном наполнении
TW201320757A (zh) 位元串流型式之畫像的解碼方法
US7751636B2 (en) Method for decoding transform coefficients corresponding to an image
US7643689B2 (en) Encoded data conversion method
US8014612B2 (en) Image processing device and method for compressing and decompressing images
US10805623B2 (en) Method for encoding and decoding data, device for encoding and decoding data, and corresponding computer programs
KR20160040930A (ko) 이미지 재부호화 방법 및 그 장치
JP4919213B2 (ja) 電子透かし挿入方式および検出方式
US8073270B2 (en) Image decoding apparatus and method
US8385664B2 (en) Method for progressive JPEG image decoding
US11308572B1 (en) Method and system for invisible watermarking of images and video
JP4315431B2 (ja) 直交変換器、逆直交変換器、直交変換方法及び逆直交変換方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090108

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: 20090218

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090219

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140306

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees