(57)【要約】【課題】符号化方向に形成された画質単位で構成された符号のプログレッシブ復号・表示を効率的に行う。【解決手段】例えば、JPEG2000のLRCPプログレッション符号の場合、そのメインヘッダのＣＯＤマーカのＳＰｃｏｄパラメータからレイヤ単位（画質単位）での独立性を判定する（ステップ３０２）。コーディングパス毎に符号終端処理とコンテキスト確率のリセットが行われた設定ならば、独立性が有ると判定し、処理ブロック３０４により復号処理を実行する。各レイヤ毎に独立して、エントロピー復号と逆量子化を行うが（ステップ３１１）、エントロピー復号ではコーディングパス毎にコンテキスト確率をリセットし、逆量子化はリコンストラクションパラメータを０として行う。【選択図】図１７
2006196969.tif 000002
【特許請求の範囲】
【請求項１】
符号化方向に形成された画質単位で構成された符号を順次入力して復号処理を行う復号処理装置を有し、
前記復号処理装置は、符号の画質単位での独立性を判定する独立性判定手段を含み、この独立性判定手段により画質単位での独立性が有ると判定された符号の復号処理において、入力した画質単位を、それに先行した少なくとも１の画質単位を再度エントロピー復号することなく、エントロピー復号することを特徴とする画像処理装置。
【請求項２】
前記復号処理装置は、前記独立性判定手段により画質単位での独立性が有ると判定された符号の復号処理において、各画質単位のエントロピー復号を終了する都度、その時点でエントロピー復号済みの全ての画質単位の復号データを用いて画像復元のための処理を行うことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記復号処理装置は、前記独立性判定手段により画質単位での独立性が有ると判定された符号の復号処理において、画像復元のための処理の途中で新たな画質単位が入力したときには、当該画像復元のための処理を打ち切ることを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記復号処理装置は、前記独立性判定手段により画質単位での独立性が有ると判定された符号の復号処理において、エントロピー復号された画質単位の復号データに対し、リコンストラクションパラメータを０として逆量子化を行うことを特徴とする請求項１，２又は３記載の画像処理装置。
【請求項５】
前記独立性判定手段は、画質単位境界における、符号終端処理の有無及びエントロピー復号化の状態リセットの必要性を調べることによって、符号の画質単位での独立性を判定することを特徴とする請求項１，２，３又は４記載の画像処理装置。
【請求項６】
符号はJPEG2000に準拠した符号であり、
前記独立性判定手段は、コーディングパス毎の、符号終端処理の有無及びエントロピー復号化のコンテキスト確率のリセットの必要性を調べることによって、符号の画質単位での独立性を判定することを特徴とする請求項１，２，３又は４記載の画像処理装置。
【請求項７】
画像の符号化処理を行い符号を生成する符号化処理装置を有し、
前記符号化処理装置は、生成すべき符号が、符号化方向に形成される画質単位で構成された符号であるか判定する判定手段を含み、この判定手段により、生成すべき符号が符号化方向に形成される画質単位で構成された符号であると判定された場合に、符号化処理において、符号に画質単位での独立性を持たせることを特徴とする画像処理装置。
【請求項８】
前記符号化処理装置は、前記判定手段により、生成すべき符号が、符号化方向に形成される画質単位で構成された符号であると判定された場合に、符号化処理において、符号に画質単位での独立性を持たせるため、画質単位境界で、符号終端処理及びエントロピー符号化の状態リセットを行うことを特徴とする請求項７記載の画像処理装置。
【請求項９】
前記符号化処理装置は、前記判定手段により、生成すべき符号が、符号化方向に形成される画質単位で構成されたJPEG2000準拠の符号であると判定された場合に、符号化処理において、符号に画質単位での独立性を持たせるため、コーディングパス毎に、符号終端処理及びエントロピー符号化のコンテキスト確率のリセットを行うことを特徴とする請求項７記載の画像処理装置。
【請求項１０】
符号化方向に形成された画質単位で構成された符号を順次入力して復号処理を行う復号処理工程を有し、
前記復号処理工程は、符号の画質単位での独立性を判定する独立性判定工程を含み、この独立性判定工程により画質単位での独立性が有ると判定された符号の復号処理において、入力した画質単位を、それに先行した少なくとも１の画質単位を再度エントロピー復号することなく、エントロピー復号することを特徴とする画像処理方法。
【請求項１１】
前記復号処理工程は、前記独立性判定工程により画質単位での独立性が有ると判定された符号の復号処理において、各画質単位のエントロピー復号を終了する都度、その時点でエントロピー復号済みの全ての画質単位の復号データを用いて画像復元のための処理を行うことを特徴とする請求項１０記載の画像処理方法。
【請求項１２】
前記復号処理工程は、前記独立性判定工程により画質単位での独立性が有ると判定された符号の復号処理において、画像復元のための処理の途中で新たな画質単位が入力したときには、当該画像復元のための処理を打ち切ることを特徴とする請求項１１記載の画像処理方法。
【請求項１３】
前記復号処理工程は、前記独立性判定工程により画質単位での独立性が有ると判定された符号の復号処理において、エントロピー復号された画質単位の復号データに対し、リコンストラクションパラメータを０として逆量子化を行うことを特徴とする請求項１０，１１又は１２記載の画像処理方法。
【請求項１４】
画像の符号化処理を行い符号を生成する符号化処理工程を有し、
前記符号処理工程は、生成すべき符号が、符号化方向に形成される画質単位で構成された符号であるか判定する判定工程を含み、この判定工程で、生成すべき符号が符号化方向に形成される画質単位で構成された符号であると判定された場合に、符号化処理において符号に画質単位での独立性を持たせることを特徴とする画像処理方法。
【請求項１５】
前記符号化処理工程は、前記判定工程により、生成すべき符号が、符号化方向に形成される画質単位で構成された符号であると判定された場合に、符号化処理において、符号に画質単位での独立性を持たせるため、画質単位境界で、符号終端処理及びエントロピー符号化の状態リセットを行うことを特徴とする請求項１４記載の画像処理方法。
【請求項１６】
前記符号化処理工程は、前記判定工程により、生成すべき符号が、符号化方向に形成される画質単位で構成されたJPEG2000準拠の符号であると判定された場合に、符号化処理において、符号に画質単位での独立性を持たせるため、コーディングパス毎に、符号終端処理及びエントロピー符号化のコンテキスト確率のリセットを行うことを特徴とする請求項１４記載の画像処理方法。
【請求項１７】
請求項１０，１１，１２又は１３記載の復号処理工程をコンピュータに実行させるプログラム。
【請求項１８】
請求項１４，１５又は１６記載の符号化処理工程をコンピュータに実行させるプログラム。
【請求項１９】
請求項１７又は１８記載のプログラムが記録された、コンピュータが読み取り可能な情報記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化方向に形成された画質単位で構成された符号の復号又は生成を行う画像処理装置及び方法に関し、JPIPのサーバ・クライアントシステム等に効果的に応用し得るものである。
【背景技術】
【０００２】
近年、JPEG（Joint  Photographic  Coding  Experts  Group）で採用されているDCT（離散コサイン変換）に代わる周波数変換として、ウェーブレット変換の採用が増加している。その代表例は、2001年に国際標準になった、JPEG後継の画像圧縮伸長方式JPEG2000である。
【０００３】
JPEG2000の符号化処理は、概ね図１に示す手順で行われる。まず、画像は矩形のタイルに分割される(分割数≧１)。各タイルは、輝度・色差等のコンポ−ネントへ色変換される。ＲＧＢ画像データなどの場合には、色変換に先立ってダイナミックレンジの半分を減ずるDCレベルシフトが施される。
【０００４】
色変換後のコンポ−ネント（タイルコンポ−ネントと呼ばれる）は、ウェーブレット変換によって、LL、HL、LH、HHと略称される４つのサブバンドに分割される。そして、LLサブバンドに対して再帰的にウェーブレット変換（デコンポジション）を繰返すと、最終的に１つのLLサブバンドと複数のHL、LH、HHサブバンドが生成される。
【０００５】
JPEG2000では、ウェーブレット変換として可逆の５×３変換と非可逆の９×７変換が規定されているが、９×７変換が用いられる場合には、ウェーブレット係数に対しサブバンド毎に線形量子化が施される。また、色変換として、９×７変換用の非可逆色変換ICTと、５×３変換用の可逆色変換RCTが規定されている。
【０００６】
次に、各サブバンドはプリシンクトとよばれる矩形に分割される。プリシンクトとは、サブバンドを矩形に分割したものであり、ＨＬ、ＬＨ、ＨＨサブバンドのプリシンクトは３つで１まとまりである（図２参照）。ただし、ＬＬサブバンドを分割したプリシンクトは１つで１まとまりである。プリシンクトは、大まかには画像中の場所（Position）を表すものである。プリシンクトはサブバンドと同じサイズにでき、プリシンクトをさらに矩形に分割したものがコードブロックである(図２参照)。よって、物理的な大きさの序列は、画像≧タイル＞サブバンド≧プリシンクト≧コードブロックとなる。尚、後の説明のため、デコンポジションレベル（施すウェーブレット変換の回数）と解像度レベルの関係を図３に示す。
【０００７】
以上の分割の後、係数に対し、算術符号化の一種であるＭＱ符号化と呼ばれるエントロピー符号化（ビットプレーン符号化）が、コードブロック毎かつビットプレーン順に成される。プリシンクトに含まれる全てのコードブロックから、ビットプレーンの符号の一部を取り出して集めたもの（例えば、全てのコードブロックのMSBから３枚目までのビットプレーンの符号を集めたもの）に、ヘッダをつけたものをパケットと呼ぶ。上記“一部”は“空”でもいいので、パケットの中身が符号的には“空(から)”ということもある。パケットヘッダには、当該パケットに含まれる符号に関する情報が含まれ、各パケットは独立に扱うことができる。いわばパケットは符号の単位である。
【０００８】
そして全てのプリシンクト（＝全てコードブロック＝全てのサブバンド）のパケットを集めると、画像全域の符号の一部（例えば、画像全域のウェーブレット係数の、MSBから３枚目までのビットプレーンの符号）ができるが、これをレイヤと呼ぶ。レイヤは、大まかには画像全体のビットプレーンの符号の一部であるから、復号されるレイヤ数が増えれば画質は上がることになる。すなわち、レイヤはビット深さ方向（＝符号化方向）に形成された画質単位である。すべてのレイヤを集めると、画像全域の全てのビットプレーンの符号になる。
【０００９】
図４の上側の図はデコンポジションレベル数＝２、プリシンクトサイズ＝サブバンドサイズとしたときのレイヤの例を示す。図４の下側の図に、レイヤに含まれるパケットの一部を太線で囲んで示す。パケットは、プリシンクトを単位とするものであるから、プリシンクト＝サブバンドとした場合、ＨＬ〜ＨＨサブバンドをまたいだものとなる。
【００１０】
さて、生成されたパケットやレイヤの区切りに従い、パケットを並べる作業を符号形成とよぶ。以上の様にJPEG2000のパケットは、
どのコンポ−ネント（記号C）に属するか、
どの解像度レベル（記号R）に属するか、
どのプリシンクト（“場所”）（記号P）に属するか、
どのレイヤ（記号L）に属するか
という４つの属性を有する。パケットの配列とは、どの属性の順に階層的に並べるかを意味する。この配列順をプログレッションオーダと呼び、図５に示すLRCP,RLCP,RPCL,PCRL,CPRLの５通りのプログレッションオーダが規定されている。
【００１１】
ここで、エンコーダ（符号器）がプログレッションオーダの順にパケットを並べる様子、およびデコーダ（復号器）がプログレッションオーダの順にパケットの属性を解釈する様子を、LRCPプログレッションを例に説明する。
【００１２】
ＬＲＣＰプログレッションの場合、ネストされたforループ
for(レイヤ)｛
for(解像度)｛
for(コンポ−ネント)｛
for(プリシンクト)｛
エンコード時：パケットを配置
デコード時：パケットの属性を解釈
｝
｝
｝
｝
に従って、パケットの配列（エンコード時）および解釈（デコード時）がなされる。各パケットはパケットヘッダを有し、パケットヘッダには、
・そのパケットが空かどうか
・そのパケットにどのコードブロックが含まれるか
・そのパケットに含まれる各コードブロックのゼロビットプレーン数
・そのパケットに含まれる各コードブロック符号のコーディングパス数（ビットプレーン数）
・そのパケットに含まれる各コードブロックの符号長
が記載されている。しかし、パケットヘッダには、レイヤ番号や解像度レベル等は一切記載されていない。デコード時に、そのパケットがどのレイヤのどの解像度のものかを判別するには、メインヘッダ中のＣＯＤマーカに記述されたプログレッションオーダから上記のようなforループを形成し、そのパケットに含まれる各コードブロックの符号長の和からパケットの切れ目を判別し、各パケットがforループ内のどの位置でハンドリングされたかによって、各パケットがどのレイヤのどの解像度レベルのものかが分かる。これは、パケットヘッダ中の符号長さえ読み出せば、エントロピー符号自体をデコードしなくても、次のパケットを検出できること、すなわち任意のパケットにアクセスできることを意味する。
【００１３】
図６は、LRCPの様な、レイヤがforループの最も外側に位置するレイヤ（画質）プログレッシブ符号の概念図である。図７は、画像サイズ１００×１００画素、２レイヤ、解像度レベル３（０〜２）、３コンポ−ネント、プリシンクトサイズ３２×３２、LRCPプログレッションの場合の３６個のパケットの配列例である。図８は、RLCPの様な、解像度レベルがforループの最も外側に位置する解像度プログレッシブ符号の概念図である。図９は、プリシンクトサイズ３２×３２、RPCLプログレッションの場合の３６個のパケットの配列例である。
【００１４】
さて、上に述べたようなRLCPプログレッションの符号の全てのパケットを受け取ってから復号し画像を表示する場合は、図１０に示すような処理の流れとなる。
【００１５】
また、上述したようにJPEG2000の符号はパケット単位でのアクセスが可能であり、これは、原符号から必要に応じて部分的な符号だけを復号できることをも意味する。つまり、サーバにある大きな画像をクライアント側で表示する場合に、必要な画質だけの符号、必要な解像度だけの符号、見たい場所だけの符号、見たいコンポ−ネントだけの符号をサーバから受信後、復号することができるのである。
【００１６】
例えば、ＲＬＣＰプログレッションの符号の受信時に、サーバ・クライアント間の帯域が狭く、符号の全てのパケットの受信終了を待たずに復号画像を表示したい場合には、図１１に示すような処理により、解像度毎のパケットの受信直後に、その解像度の復号画像を表示（解像度プログレッシブ表示）することができる。図１１から理解されるように、以前のループで保持された解像度のウェーブレット係数が利用され、同じパケットを何度も復号する必要がいため効率的な復号が可能である。解像度プログレッシブ表示の場合に、同様の係数の再利用により復号効率を高める発明が特許文献１に記載されている。
【００１７】
なお、サーバ上にある画像の符号にクライアントがアクセスしてプログレッシブ表示を行う場合には、クライアントは必要な符号の受信と復号を繰り返すことになる。サーバにあるJPEG2000符号から、クライアントが必要とする部分符号だけを受信するためのプロトコルをJPIP（JPEG2000  Interactive  Protocol）と呼び、現在標準化の途上にある。このような、階層的な符号を部分的にアクセスするためのプロトコルは、古くは画像の多重解像度表現であるFlashPix（登録商標）と、それにアクセスするためのプロトコルであるIIP（Internet  Imaging  Protocol）に見ることができ、これに関する公知文献としては例えば特許文献２がある。また、JPIPにおけるキャッシュモデル等に関する公知文献としては例えば特許文献３がある。
【００１８】
【特許文献１】特開2000-124890号公報
【特許文献２】特開平11-205786号公報
【特許文献３】特開2003−23630号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
従来、レイヤプログレッシブ符号（ここではLRCPプログレッションの符号）を受信しつつ復号し、全てのパケットの受信終了を待たずに復号画像の表示をする場合には、通常、図１２に示すような処理の流れとなっていた。このように、各レイヤのパケットのエントロピー復号時に、それに先行した全レイヤのパケットについて再度エントロピー復号を行うのでは処理効率が悪い。
【００２０】
よって、本発明の目的は、JPEG2000のLRCPプログレッションの符号のような、符号化方向に形成された画質単位で構成された符号に対して、より効率的な画質プログレッシブ復号・表示を可能にする画像処理装置及び方法を提供すること、並びに、効率的な画質プログレッシブ復号・表示が可能な符号を生成する画像処理装置及び方法を提供することにある。
【課題を解決するための手段】
【００２１】
従来、JPEG2000のLRCPプログレッションの符号のような、符号化方向に形成された画質単位で構成された符号に対する画質プログレッシブ復号・表示が、通常、図１２に示したような処理の流れで行われていた理由を、JPEG2000のレイヤプログレッシブ符号を例にして説明する。
【００２２】
JPEG2000のエントロピー符号化はコードブロック単位でビットプレーン順になされ、例えば、
for(コンポ−ネント)｛
for(解像度)｛
for(サブバンド)｛
for(プリシンクト)｛
for(コードブロック)｛
for(ビットプレーン)｛
ＭＱ符号化  （C）
｝
｝
｝
｝
｝
｝
という順で処理される。この場合、ＭＱ符号化で生成されるMQ符号は、図１３に示すようにビットプレーン順に生成されるため、図１４に示すようなシーケンシャルに連結されたものとなる。一般的な算術符号化の場合と同様、符号化方向(この場合はビット深さ方向)に対して連結された符号が生成されるのである。
【００２３】
ここで、２以上のレイヤ（画質単位）を構成しようとする場合には、図１４の連結された符号をレイヤ数分に分割する必要がある。しかし、MQ符号の場合、桁上がりの関係で、ｎbit目のビットプレーンの符号を正しく復号するためには、(n-1)bit目のビットプレーンのMQ符号が数ビット必要になる。例えば、図１４に示すように、上位３枚のビットプレーンの符号でレイヤ０を構成しようとしても、このレイヤを構成する符号の長さは、それよりも長い必要がある（図１４中のマージンが必要になる)。つまり、レイヤの切れ目は、ビットプレーンごとの符号の切れ目とは異なる位置となるのである。
【００２４】
したがって、例えば図１４におけるレイヤ０の符号を復号した時点で、デコーダ中にすでに８bit目の符号の先頭が読み込まれた状態となっている。この読み込まれた先頭の符号を使用せずに、残りのレイヤ１の符号を復号することはできないため、レイヤｎの復号とレイヤ(n-1)の復号は連続して行わなければならないことになる。結局、下位レイヤを復号するためには、その上位の全てのレイヤを再度復号する必要がある。これが、第１の理由である。
【００２５】
また、MQ符号化では、過去の符号化結果を反映した、符号化対象のビットが０か１かである確率（コンテキスト確率）を、原則としてビットプレーン間で引き継ぐことになっており、このコンテキスト確率は復号時にも使用される（以上は算術符号化一般にいえることである）。よって、レイヤ（画質単位）間でもコンテキスト確率を引き継ぐ必要があるため、やはりレイヤ（画質単位）の復号は、その上位レイヤと連続して行わなければならない。これが、第２の理由である。
【００２６】
以上の第１と第２の理由は、結局のところ、符号に画質単位での独立性がない（画質単位毎に独立して正しく復号できない）ということに帰着する。逆に言えば、符号に画質単位での独立性が有る（画質単位毎に独立して正しく復号できる）場合には、図１２のような処理の流れに限定されるわけではなく、より効率的な処理が可能であるということである。
【００２７】
さて、符号に画質単位での独立性を持たせるには、前記第１と第２の理由を解消すればよい。これについてJPEG2000のレイヤプログレッシブ符号を例に説明する。
【００２８】
まず前記理由１の解消には、図１４に示すマージン部分に後続のMQ符号を入れないようにし、レイヤ（画質単位）毎の符号のシーケンシャルな関係を断ってしまえばよい。JPEG2000では、伝送中のエラーへの耐性を高めることを目的として、ビットプレーン(正確にはサブビットプレーン)ごとの符号の連続性を断ち、上位ビットプレーンで生じたエラーに下位ビットプレーンが影響されないようにするオプションが用意されている。このオプションによれば、各ビットプレーン(正確にはサブビットプレーン)の符号化が終わった後で、上記マージンとして終端記号を付すことにより（符号終端処理）、正確な復号ができるようになるため、前記理由１を解消できる。ここで、サブビットプレーンとは、ビットプレーンを仮想的に３枚に分割したものであり、コーディングパスとも呼ばれる。すなわち、上記オプションは、コーディングパス毎に符号終端処理を行うものである。
【００２９】
また、JPEG2000には、やはりエラーへの耐性を高めることを目的としたものであるが、ビットプレーン(正確にはサブビットプレーン)ごとの符号の連続性を断つために、サブビットプレーン（コーディングパス）毎にコンテキスト確率をリセットするオプションが存在する。このオプションによれば、上記理由２を解消することができる。
【００３０】
ここまではJPEG2000を前提としたが、より一般的には、符号化方向に形成される画質単位で構成された符号を生成する場合に、少なくとも画質単位境界において、符号終端処理とエントロピー符号化の状態リセットを行うことにより、符号に画質単位での独立性を持たせることができる。
【００３１】
本発明は、以上の考察を基に前記目的を達成しようとするものである。
【００３２】
すなわち、請求項１記載の発明は、符号化方向に形成された画質単位で構成された符号を順次入力して復号処理を行う復号処理装置を有し、こ復号処理装置は、符号の画質単位での独立性を判定する独立性判定手段を含み、この独立性判定手段により画質単位での独立性が有ると判定された符号の復号処理において、入力した画質単位を、それに先行した少なくとも１の画質単位を再度エントロピー復号することなく、エントロピー復号することを特徴とする画像処理装置である。
【００３３】
また、請求項１０記載の発明は、符号化方向に形成された画質単位で構成された符号を順次入力して復号処理を行う復号処理工程を有し、この復号処理工程は、符号の画質単位での独立性を判定する独立性判定工程を含み、この独立性判定工程により画質単位での独立性が有ると判定された符号の復号処理において、入力した画質単位を、それに先行した少なくとも１の画質単位を再度エントロピー復号することなく、エントロピー復号することを特徴とする画像処理方法である。
【００３４】
なお、請求項１，１０記載の発明において、入力した画質単位のエントロピー復号の際に、先行した画質単位の全てについて再エントロピー復号を行わないようにするのが、復号効率を最も高めることができるという点で最も好ましい態様である。
【００３５】
請求項２記載の発明は、請求項１記載の発明に係る画像処理装置であって、前記復号処理装置は、前記独立性判定手段により画質単位での独立性が有ると判定された符号の復号処理において、各画質単位のエントロピー復号を終了する都度、その時点でエントロピー復号済みの全ての画質単位の復号データを用いて画像復元のための処理を行うことを特徴とする画像処理装置であり、復号画像の画質プログレッシブ表示が可能である。
【００３６】
また、請求項１１記載の発明は、請求項１０記載の発明に係る画像処理方法であって、前記復号処理工程は、前記独立性判定工程により画質単位での独立性が有ると判定された符号の復号処理において、各画質単位のエントロピー復号を終了する都度、その時点でエントロピー復号済みの全ての画質単位の復号データを用いて画像復元のための処理を行うことを特徴とする画像処理方法であり、復号画像の画質プログレッシブ表示が可能である。
【００３７】
符号を通信路などを介して受信し、受信と並行して復号を行うような場合、エントロピー復号済みの画質単位の復号データを用いた画像復元のための処理を終了する前に、新たな画質単位が入力されたときには、新たに入力した画質単位のエントロピー復号を優先して行うのが請求項３，１２記載の発明である。
【００３８】
すなわち、請求項３記載の発明は、請求項２記載の発明に係る画像処理装置であって、前記復号処理装置は、前記独立性判定手段により画質単位での独立性が有ると判定された符号の復号処理において、画像復元のための処理の途中で新たな画質単位が入力したときには、当該画像復元のための処理を打ち切ることを特徴とする画像処理装置である。
【００３９】
また、請求項１２記載の発明は、請求項１１記載の発明に係る画像処理方法であって、前記復号処理工程は、前記独立性判定工程により画質単位での独立性が有ると判定された符号の復号処理において、画像復元のための処理の途中で新たな画質単位が入力したときには、当該画像復元のための処理を打ち切ることを特徴とする画像処理方法である。
【００４０】
さて、例えばJPEG2000では、９×７変換が用いられる場合に、ウェーブレット係数（一般的には周波数変換係数）に対し、切り捨てにより整数化を行う線形量子化を適用するので、その符号の復号処理においてエントロピー復号された係数に逆量子化を施す。この逆量子化では、係数に量子化ステップ数のｒ倍(０≦ｒ＜１)のオフセットを加えるが、このｒをリコンストラクションパラメータという。
【００４１】
例えば、(n-1)bit目以下の下位ビットプレーンが全てトランケートされ、ｎbit目のビットプレーンだけが残っている場合を考える。このｎbit目のビットプレーンに含まれるビットが復号され、これが１であるとき、このビットを係数値になおすと、
１×２＾(n-1)
であるが、量子化前の係数ｋは、実際には
２＾(n-1)≦ｋ＜２＾(n)
の範囲の値を撮りうることになる。そこで、
ｋ＝（１＋ｒ）×２＾(n-1)      (ただし、０≦ｒ＜１)
としてオフセットを加えるのである。
【００４２】
しかし、複数レイヤの符号の場合のように、ｎbit目のビットプレーンが最初に復号・逆量子化されて値αとなり、後から(n-1)bit以降の下位ビットプレーンが復号・逆量子化されて値βとなった場合、α自体の逆量子化時に０でないリコンストラクションパラメータが使用されていると、αにβを加算した場合にオフセット分の誤差を生じることになる。αに０でないリコンストラクションパラメータを適用するということは、後からβが加算されないことを前提にしているからである。
【００４３】
以上に鑑み、請求項４記載の発明は、請求項１，２又は３記載の発明に係る画像処理装置であって、前記復号処理装置は、前記独立性判定手段により画質単位での独立性が有ると判定された符号の復号処理において、エントロピー復号された画質単位の復号データに対し、リコンストラクションパラメータを０として逆量子化を行うことを特徴とする画像処理装置である。
【００４４】
また、請求項１３記載の発明は、請求項１０，１１又は１２記載の発明に係る画像処理方法であって、前記復号処理工程は、前記独立性判定工程により画質単位での独立性が有ると判定された符号の復号処理において、エントロピー復号された画質単位の復号データに対し、リコンストラクションパラメータを０として逆量子化処理を行うことを特徴とする画像処理方法である。
【００４５】
請求項５記載の発明は、請求項１，２，３又は４記載の発明に係る画像処理装置であって、前記独立性判定手段は、画質単位境界における、符号終端処理の有無及びエントロピー復号化の状態リセットの必要性を調べることによって、符号の画質単位での独立性を判定することを特徴とする画像処理装置である。請求項６記載の発明は、請求項１，２，３又は４記載の発明に係る画像処理装置であって、符号はJPEG2000に準拠した符号であり、前記独立性判定手段は、コーディングパス毎の、符号終端処理の有無及びエントロピー復号化のコンテキスト確率のリセットの必要性を調べることによって、符号の画質単位での独立性を判定することを特徴とする画像処理装置である。
【００４６】
以上説明したように、請求項１〜４，１１〜１３記載の発明によれば、画質単位での独立性の有る符号に対し、プログレッシブな復号処理・画像表示を効率的に行うことができる。このような利益を享受できる符号を生成しようとするのが請求項７〜９，１４〜１６記載の発明である。
【００４７】
すなわち、請求項７記載の発明は、画像の符号化処理を行い符号を生成する符号化処理装置を有し、この符号化処理装置は、生成すべき符号が、符号化方向に形成される画質単位で構成された符号であるか判定する判定手段を含み、この判定手段により、生成すべき符号が符号化方向に形成される画質単位で構成された符号であると判定された場合に、符号化処理において、符号に画質単位での独立性を持たせることを特徴とする画像処理装置である。
【００４８】
請求項８記載の発明は、請求項７記載の発明に係る画像処理装置であって、前記符号化処理装置は、前記判定手段により、生成すべき符号が、符号化方向に形成される画質単位で構成された符号であると判定された場合に、符号化処理において、符号に画質単位での独立性を持たせるため、画質単位境界で、符号終端処理及びエントロピー符号化の状態リセットを行うことを特徴とする画像処理装置である。
【００４９】
請求項９記載の発明は、請求項７記載の発明に係る画像処理装置であって、前記符号化処理装置は、前記判定手段により、生成すべき符号が、符号化方向に形成される画質単位で構成されたJPEG2000準拠の符号であると判定された場合に、符号化処理において、符号に画質単位での独立性を持たせるため、コーディングパス毎に、符号終端処理及びエントロピー符号化のコンテキスト確率のリセットを行うことを特徴とする画像処理装置である。
【００５０】
請求項１４記載の発明は、画像の符号化処理を行い符号を生成する符号化処理工程を有し、この符号処理工程は、生成すべき符号が、符号化方向に形成される画質単位で構成された符号であるか判定する判定工程を含み、この判定工程で、生成すべき符号が符号化方向に形成される画質単位で構成された符号であると判定された場合に、符号化処理において符号に画質単位での独立性を持たせることを特徴とする画像処理方法である。
【００５１】
請求項１５記載の発明は、請求項１４記載の発明に係る画像処理方法であって、前記符号化処理工程は、前記判定工程により、生成すべき符号が、符号化方向に形成される画質単位で構成された符号であると判定された場合に、符号化処理において、符号に画質単位での独立性を持たせるため、画質単位境界で、符号終端処理及びエントロピー符号化の状態リセットを行うことを特徴とする画像処理方法である。
【００５２】
請求項１６記載の発明は、請求項１４記載の発明に係る画像処理方法であって、前記符号化処理工程は、前記判定工程により、生成すべき符号が、符号化方向に形成される画質単位で構成されたJPEG2000準拠の符号であると判定された場合に、符号化処理において、符号に画質単位での独立性を持たせるため、コーディングパス毎に、符号終端処理及びエントロピー符号化のコンテキスト確率のリセットを行うことを特徴とする画像処理方法である。
【００５３】
請求項１７〜１９記載の発明は、請求項１０〜１６記載の発明をコンピュータを利用して実施するための発明である。すなわち、請求項１７記載の発明は、請求項１０，１１，１２又は１３記載の発明に係る復号処理工程をコンピュータに実行させるプログラムである。請求項１８記載の発明は、請求項１４，１５又は１６記載の発明に係る符号化処理工程をコンピュータに実行させるプログラムである。また、請求項１９記載の発明は、請求項１７又は１８記載の発明に係るプログラムが記録された、コンピュータが読み取り可能な情報記録媒体である。
【発明の効果】
【００５４】
請求項１〜６，１０〜１３記載の発明によれば、画質単位での独立性がある符号に対しては、エントロピー復号済みの画質単位のエントロピー復号の繰り返しを減らし、効率的な復号処理が可能となり、請求項２，１１記載の発明によれば、効率的な復号と復号画像のプログレッシブ表示が可能となり、また、請求項４，１３記載の発明によれば、符号が非０のリコンストラクションパラメータを用いて量子化されたものであっても、２以上の画質単位の復号データを加算したときにオフセット分の誤差が生じなくなる等の効果を得られる。請求項７〜９，１４〜１６記載の発明によれば、請求項１〜６，１０〜１３記載の発明の上記効果を享受できる符号を生成することができる効果を得られる。請求項１７〜１９記載の発明によれば、請求項１０〜１３，１４〜１６記載の発明をコンピュータを利用して容易に実施することが可能になるという効果を得られる。
【発明を実施するための最良の形態】
【００５５】
以下、本発明の実施の形態を説明する。
【００５６】
図１５は、本発明の第１の実施の形態を説明するためのブロック図である。図１５において、１００は請求項１〜６記載の発明に係る画像処理装置に相当するクライアントであり、通信路１０１（インターネット等）を通じてサーバ１０２と接続される。
【００５７】
クライアント１００は、通信路１０１を介してサーバ１０２との通信処理を行うための通信装置１１０、通信路１０１を介してサーバ１０２より受信され順次入力する符号の復号処理を行う復号処理装置１１１、この復号処理装置１１１による復号画像を表示する表示装置１１２、以上の各部の制御等を行う制御装置１１３等を備えた構成である。
【００５８】
復号処理装置１１１は、入力された符号が画質単位での独立性を有するか判定するための独立性判定手段１１４を含み、この独立性判定手段１１４による判定結果に応じて復号処理動作を制御する。また、復号処理装置１１１は、復号処理において、エントロピー復号済みの画質単位の復号データを用いて画像復元のための処理を実行中に、次の画質単位が入力したか監視する監視手段１１５を含み、次の画質単位が入力したときに画像復元の処理を途中で打ち切る制御を行う。
【００５９】
このようなクライアント１００は、例えば、図１６に示すようなＣＰＵ２００、メモリ２０１、ハードディスク装置２０２、通信インターフェース２０３、ディスプレイ装置２０４、外部インターフェース２０５、キーボードやマウス等のユーザ入力装置２０６などをシステムバス２０７で接続したような構成のコンピュータ上でソフトウェアにより実現される。このソフトウェア、すなわち、クライアント１００の通信装置１１０、復号処理装置１１１、表示装置１１３、制御装置１１３としてコンピュータを機能させるための１以上のプログラムは、例えばハードディスク装置２０２に保存されており、メモリ２０１へロードされてＣＰＵ２００に実行されることにより、コンピュータ上にクライアント１００が実現される。このようなプログラム、及び、それが記録された磁気ディスク、光ディスク、光磁気ディスク、半導体記憶素子等の情報記録（記憶）媒体も本発明に包含される。
【００６０】
以下、サーバ１０２よりJPEG2000のＬＲＣＰプログレッションの符号を受信してレイヤプログレッシブ復号・表示を行う場合を想定して、クライアント１００の動作を説明する。図１７は、その説明のための簡略化したフローチャートである。
【００６１】
クライアント１００は、符号送信要求をサーバ１０２へ送信し、符号の受信を開始する（ステップ３０１）。
【００６２】
クライアント１００の復号処理装置１１１において、最初に受信されるメインヘッダを解析し、当該符号がレイヤ単位（画質単位）での独立性を有すか判定する（ステップ３０２）。このステップが独立性判定手段１１４に対応する。具体的には、メインヘッダ中のＣＯＤマーカのＳＰｃｏｄパラメータを調べ、コーディングバス毎に、符号終端処理が「有り」、かつ、エントロピー復号化のコンテキスト確率のリセットが「必要」、と設定されているならば、レイヤ単位での独立性が「有る」と判定し、そうでないならばレイヤ単位での独立性が「無い」と判定する。
【００６３】
復号処理装置１１１は、レイヤ単位での独立性が「無い」と判定した場合には、復号処理ブロック３０３を選択する。復号処理ブロック３０３では、先に言及した図１２に示したような処理フローによって符号の復号処理を実行する。すなわち、新たにレイヤが受信されると、当該レイヤに先行する全ての上位レイヤのパケットと当該レイヤのパケットを連続してエントロピー復号（ＭＱ復号）する。先行する上位レイヤのパケットを再度エントロピー復号するわけである。このように、レイヤ単位での独立性がない符号の場合には、各レイヤのエントロピー復号の際に、それに先行する全てのレイヤのエントロピー復号をやり直す必要があり、これが復号・表示の効率を悪化させることは前述した。
【００６４】
復号処理装置１１１は、レイヤ単位での独立性が「有る」と判定した場合は、復号処理ブロック３０４を選択する。この復号処理ブロック３０４においては、受信したパケットを、どのレイヤの、どの解像度の、どのコンポーネントの、どのプリシンクトのパケットであるか解釈しながらメモリ（２０１）に保存する（ステップ３１０）。
【００６５】
１つのレイヤのパケットがすべて受信され保存されると、先行した上位レイヤのパケットとは独立して（それらの再エントロピー復号を行わずに）、当該レイヤのパケットをエントロピー復号し、当該符号が線形量子化されたものである場合には、得られたウェーブレット係数の逆量子化を行った後、ウェーブレット係数を保持する（ステップ３１１）。このエントロピー復号では、コーディングパス毎に、コンテキスト確率をリセットする。また、逆量子化は、リコンストラクションパラメータを０として行う。
【００６６】
次に画像復元のための処理を行う。すなわち、保持されている、当該レイヤのウェーブレット係数と先行する上位レイヤのウェーブレット係数とを加算してから逆ウェーブレット変換を行うことにより画素値データを得る（ステップ３１２）。この画素値データに逆色変換を行い（ステップ３１３）、続いて逆ＤＣレベルシフトを行う（ステップ３１４）。かくして、元の表色系に戻された画素値データをメモリ（２０１）の所定領域に書き出すことにより、当該レイヤまでの復号画像を表示させる（ステップ３１５）。
【００６７】
同様の処理がレイヤ毎に繰り返し実行され、最下位レイヤまで（又は指定されたレイヤまで）処理が終わると、１つの符号に対する復号処理を終了する。
【００６８】
以上に述べたように、ステップ３１１では、先行するレイヤのパケットの再エントロピー復号をすることがないため、そのような再エントロピー復号を行う処理ブロック３０３の場合に比べ、より効率的なレイヤ（画質）プログレッシブ復号・表示が可能である。また、ステップ３１１の逆量子化はリコンストラクションパラメータ０として行うため、符号の符号化時の線形量子化で非０のリコンストラクションパラメータが適用されたとしても、ステップ３１２でウェーブレット係数を加算した場合にオフセット分の誤差を生じない。
【００６９】
処理ブロック３０４には示されていないが、復号処理装置１１１においては、監視手段１１５が、画像復元のための処理（ステップ３１２〜３１５）の途中で次のレイヤのパケットが入力したか監視しており、画像復元のための処理の途中で次レイヤのパケットの入力が検知された時には、復号処理装置１１１は、その時点で画像復元のための処理を打ち切り、ステップ３１０の処理に移行する。以上のことは、処理ブロック３０３でも同様である。
【００７０】
なお、以上の説明は、請求項１０〜１３記載の発明の実施形態の説明でもあることは明らかであり、図１７中のステップ３０２が独立性判定工程に相当する。また、図１７のフローチャートに示されるステップ３０２，処理ブロック３０４の手順をコンピュータ上で実行するためのプログラムは、請求項１７記載の発明の実施の形態でもある。
【００７１】
図１８は、本発明の第２の実施の形態を説明するためのブロック図である。図１８において、４００は請求項７〜９記載の発明に係る画像処理装置に相当するサーバであり、通信路４０１（インターネット等）を通じてクライアント４０２と接続される。
【００７２】
このサーバ４００は、通信路４０２を介してクライアント２等の外部機器との通信処理を行うための通信装置４１０、ローカルなイメージスキャナ等の画像入力機器やパソコン、各種情報記録媒体より画像データを入力する画像データ入力装置４１１、画像データの符号化処理を行って符号を生成する符号化処理装置４１２、画像データ入力装置４１１より入力された画像データや符号化処理装置４１２により生成された符号を蓄積するためのデータ蓄積装置４１３、それらの制御等を行う制御装置４１４等を備えた構成である。
【００７３】
符号化処理装置４１２は、生成すべき符号が、符号化方向に形成された画質単位で構成された符号であるか判定する判定手段４１５を含み、この判定手段４１５で、生成すべき符号が符号化方向に形成された画質単位で構成された符号であると判定された場合には、符号化処理において、生成する符号に画質単位での独立性を持たせるように動作する。
【００７４】
このようなサーバ４００は、例えば図１６に示すような構成のコンピュータ上でソフトウェアにより実現される。このソフトウェア、すなわち、サーバ４００の通信装置４１０、画像データ入力装置４１１，符号化処理装置４１２、データ蓄積装置４１３、制御装置４１４としてコンピュータを機能させるための１以上のプログラムは、例えばハードディスク装置２０２に保存されており、メモリ２０１へロードされてＣＰＵ２００に実行されることにより、コンピュータ上にサーバ４００が実現される。このようなプログラム、及び、それが記録された磁気ディスク、光ディスク、光磁気ディスク、半導体記憶素子等の情報記録（記憶）媒体も本発明に包含される。
【００７５】
以下、データ蓄積装置４１３に蓄積された画像データをJPEG2000のアルゴリズムにより符号化処理し、生成した符号のファイルをデータ蓄積装置４１３に保存する場合を想定して、符号化処理装置４１２の動作を説明する。図１９は、その説明のための簡略化したフローチャートである。
【００７６】
符号化処理装置４１２においては、判定手段４１５で、生成すべき符号が符号化方向に形成された画質単位で構成された符号（ここではＬＲＣＰプログレッションの符号）であるか判定する（ステップ５０１）。ＬＲＣＰ以外のプログレッションの符号と判定した場合、符号化処理装置４１２は、そのプログレッションの符号を生成するための処理ブロック５０２を選び、符号処理を実行する。
【００７７】
ＬＲＣＰプログレッションの符号を生成するものと判定した場合、符号化処理装置４１２は、生成しようとする符号のメインヘッダ中のＣＯＤマーカのＳＰｃｏｄパラメータを、コーディングパス毎の符号終端処理が「有る」、コーディングパス毎のコンテキスト確率のリセットが「必要」に設定する（ステップ５０３）。
【００７８】
次に、データ蓄積装置４１３より符号化対象の画像データを読み込み、ＤＣレベルシフト、色変換を行い（ステップ５０４，５０５）、ウェーブレット変換を実行する（ステップ５０６）。線形量子化を行う場合には、ステップ５０６においてウェーブレット係数の線形量子化を行う。
【００７９】
次に、全コードブロックのウェーブレット係数の全ビットプレーンのＭＱ符号化（エントロピー符号化）を行うが、この際、コーディングパス毎に符号終端処理及びコンテキスト確率のリセットを行う（ステップ５０７）。このようなコーディングパス毎の符号終端処理とコンテキスト確率のリセットを行うことにより、生成される符号にレイヤ単位での独立性を持たせることができる。
【００８０】
符号化処理装置４１２は、以上のＭＱ符号化が終了すると、パケットの生成と符号形成を行うことにより、レイヤ単位での独立性のあるＬＲＣＰプログレッションの符号を生成する（ステップ５０８）。そして、生成した符号のファイルをデータ蓄積装置４１３に保存し（ステップ５０９）、一連の処理を終了する。
【００８１】
このようなレイヤ単位での独立性のあるＬＲＣＰプログレッションの符号をクライアント４０２へ送信した場合、クライアント４０２が前記第１実施形態に係る構成であるならば、エントロピー復号済みのレイヤに対する再エントロピー復号を行うことなく、効率的なレイヤ（画質）プログレッシブ復号・表示を行うことができる。
【００８２】
なお、以上の説明は、請求項１４〜１６記載の発明の実施形態の説明でもあることは明らかであり、図１９中のステップ５０１が判定工程に相当する。また、図１９に示すフローチャートのステップ５０１，５０３〜５０８の手順をコンピュータ上で実行するためのプログラムは、請求項１８記載の発明の実施形態でもある。
【００８３】
以上、JPEG2000の符号を例に説明したが、JPEG2000以外の符号に対しても本発明を適用可能である。
【図面の簡単な説明】
【００８４】
【図１】JPEG2000の符号化処理を説明するためのブロック図である。
【図２】画像、タイル、サブバンド、プリシンクト、コードブロックの関係を示す図である。
【図３】デコンポジションレベルと解像度レベルの関係を示す図である。
【図４】レイヤとパケットの例を示す図である。
【図５】JPEG2000のプログレッションオーダの説明図である。
【図６】レイヤプログレッシブ符号の概要を示す図である。
【図７】LRCPプログレッションのパケット配列例を示す図である。
【図８】解像度プログレッシブ符号の概要を示す図である。
【図９】RLCPプログレッションのパケット配列例を示す図である。
【図１０】RLCPプログレッション符号の非プログレッシブ復号・表示の処理フローを示すフローチャートである。
【図１１】LRCPプログレッション符号のプログレッシブ復号・表示の処理フローを示すフローチャートである。
【図１２】LRCPプログレッション符号の従来のプログレッシブ復号・表示の処理フローを示すフローチャートである。
【図１３】コードブロックのビットプレーンの符号化順の説明図である。
【図１４】MQ符号とレイヤの関係の説明図である。
【図１５】本発明の第１の実施形態を説明するためのブロック図である。
【図１６】本発明に係るクライアント又はサーバをソフトウェアにより実現するために使用し得るコンピュータの例を示すブロック図である。
【図１７】本発明の第１の実施形態に係るクライアント内の復号処理装置の動作を説明するためのフローチャートである。
【図１８】本発明の第２の実施形態を説明するためのブロック図である。
【図１９】本発明の第２の実施形態に係るサーバ内の符号処理装置の動作を説明するためのフローチャートである。
【符号の説明】
【００８５】
１００    クライアント
１０１    通信路
１０２    サーバ
１１０    通信装置
１１１    復号処理装置
１１２    表示装置
１１３    制御装置
１１４    独立性判定手段
１１５    監視手段
４００    サーバ
４０１    通信路
４０２    クライアント
４１０    通信装置
４１１    画像データ入力装置
４１２    符号処理装置
４１３    データ蓄積装置
４１４    制御装置
４１５    判定手段
【図１】
2006196969.tif 000003
【図２】
2006196969.tif 000004
【図３】
2006196969.tif 000005
【図４】
2006196969.tif 000006
【図５】
2006196969.tif 000007
【図６】
2006196969.tif 000008
【図７】
2006196969.tif 000009
【図８】
2006196969.tif 000010
【図９】
2006196969.tif 000011
【図１０】
2006196969.tif 000012
【図１１】
2006196969.tif 000013
【図１２】
2006196969.tif 000014
【図１３】
2006196969.tif 000015
【図１４】
2006196969.tif 000016
【図１５】
2006196969.tif 000017
【図１６】
2006196969.tif 000018
【図１７】
2006196969.tif 000019
【図１８】
2006196969.tif 000020
【図１９】
2006196969.tif 000021