(57)【要約】【課題】  高速なＪＰＥＧ２０００圧縮を行う。【解決手段】  あるコードブロックのあるビットプレーンの各ビットが第１のパスで処理されるべきであるのか否かを判定する第１の処理手段と、あるコードブロックのあるビットプレーンの各ビットが第２のパスで処理されるべきであるのか否かを判定する第２の処理手段と、を備え、前記第１の処理手段と前記第２の処理手段とが、同一のコードブロックの同一のビットプレーンについて並列して動作する。【選択図】        図５
2005184511.tif 000002
【特許請求の範囲】
【請求項１】
あるコードブロックのあるビットプレーンの各ビットが第１のパスで処理されるべきであるのか否かを判定する第１の処理手段と、
あるコードブロックのあるビットプレーンの各ビットが第２のパスで処理されるべきであるのか否かを判定する第２の処理手段と、
を備え、
前記第１の処理手段と前記第２の処理手段とが、同一のコードブロックの同一のビットプレーンについて並列して動作することを特徴とする画像符号化装置。
【請求項２】
請求項１に記載の画像符号化装置において、
前記第２の処理手段は、前記第１の処理手段による処理の結果を用いることを特徴とする画像符号化装置。
【請求項３】
請求項１に記載の画像符号化装置において、
前記第１の処理手段は、各ビットのシグニフィカンス状態を記憶手段に対して読み書きし、各ビットが前記第１のパスで処理されるべきであるのか否かを示すフラグを操作することを特徴とする画像符号化装置。
【請求項４】
請求項１に記載の画像符号化装置において、
前記第１の処理手段は、前記第１のパスで処理されるべきであることが判断されたビットについて前記第１のパスに関連したコンテキストを生成することを特徴とする画像符号化装置。
【請求項５】
請求項１に記載の画像符号化装置において、
前記第２の処理手段は、前記第２のパスで処理されるべきことが判断されたビットについて前記第２のパスに関連したコンテキストを生成することを特徴とする画像符号化装置。
【請求項６】
請求項１に記載の画像符号化装置において、
あるコードブロックのあるビットプレーンの各ビットがある第３のパスで処理されるべきであるのか否かを判定する第３の処理手段を更に備え、
前記第１の処理手段と前記第２の処理手段のみならず前記第３の処理手段もが、同一のコードブロックの同一のビットプレーンについて並列して動作することを特徴とする画像符号化装置。
【請求項７】
請求項６に記載の画像符号化装置において、
前記第３の処理手段は、前記第３のパスで処理されるべきであることが判断されたビットについて前記第３のパスに関連したコンテキストを生成することを特徴とする画像符号化装置。
【請求項８】
あるコードブロックのあるビットプレーンの各ビットが第1のパスで処理されるべきであるのか否かを判定する第１の処理手段と、
あるコードブロックのあるビットプレーンの各ビットが第２のパスで処理されるべきであるのか否かを判定する第２の処理手段と、
を備え、
前記第１の処理手段と前記第２の処理手段とが、同一のコードブロックの同一のビットプレーンについて並列して動作することを特徴とする画像復号化装置。
【請求項９】
請求項８に記載の画像復号化装置において、
前記第２の処理手段は、前記第１の処理手段による処理の結果を用いることを特徴とする画像復号化装置。
【請求項１０】
請求項８に記載の画像復号化装置において、
前記第１の処理手段は、各ビットのシグニフィカンス状態を記憶手段に対して読み書きし、各ビットが前記第１のパスで処理されるべきであるのか否かを示すフラグを操作することを特徴とする画像復号化装置。
【請求項１１】
請求項８に記載の画像復号化装置において、
前記第１の処理手段は、前記第１のパスで処理されるべきであることが判断されたビットについて前記第１のパスに関連したコンテキストを生成することを特徴とする画像復号化装置。
【請求項１２】
請求項８に記載の画像復号化装置において、
前記第２の処理手段は、前記第２のパスで処理されるべきことが判断されたビットについて前記第２のパスに関連したコンテキストを生成することを特徴とする画像復号化装置。
【請求項１３】
請求項８に記載の画像復号化装置において、
あるコードブロックのあるビットプレーンの各ビットがある第３のパスで処理されるべきであるのか否かを判定する第３の処理手段を更に備え、
前記第１の処理手段と前記第２の処理手段とが、同一のコードブロックの同一のビットプレーンについて並列して動作した後に、前記第３の処理手段がそのコードブロックのそのビットプレーンについて動作することを特徴とする画像復号化装置。
【請求項１４】
請求項１３に記載の画像復号化装置において、
前記第３の処理手段は、前記第３のパスで処理されるべきであることが判断されたビットについて前記第３のパスに関連したコンテキストを生成することを特徴とする画像復号化装置。
【請求項１５】
あるコードブロックのあるビットプレーンの各ビットが第1のパスで処理されるべきであるのか否かを判定する第１の処理ステップと、
あるコードブロックのあるビットプレーンの各ビットが第２のパスで処理されるべきであるのか否かを判定する第２の処理ステップと、
を備え、
前記第１の処理ステップと前記第２の処理ステップとが、同一のコードブロックの同一のビットプレーンについて並列して動作することを特徴とする画像符号化方法。
【請求項１６】
請求項１５に記載の画像符号化方法において、
前記第２の処理ステップは、前記第１の処理ステップの結果を用いることを特徴とする画像符号化方法。
【請求項１７】
請求項１５に記載の画像符号化方法において、
前記第１の処理ステップは、各ビットのシグニフィカンス状態を記憶ステップに対して読み書きし、各ビットが前記第１のパスで処理されるべきであるのか否かを示すフラグを操作することを特徴とする画像符号化方法。
【請求項１８】
請求項１５に記載の画像符号化方法において、
前記第１の処理ステップは、前記第１のパスで処理されるべきであることが判断されたビットについて前記第１のパスに関連したコンテキストを生成することを特徴とする画像符号化方法。
【請求項１９】
請求項１５に記載の画像符号化方法において、
前記第２の処理ステップは、前記第２のパスで処理されるべきことが判断されたビットについて前記第２のパスに関連したコンテキストを生成することを特徴とする画像符号化方法。
【請求項２０】
請求項１５に記載の画像符号化方法において、
あるコードブロックのあるビットプレーンの各ビットがある第３のパスで処理されるべきであるのか否かを判定する第３の処理ステップを更に備え、
前記第１の処理ステップと前記第２の処理ステップのみならず前記第３の処理ステップもが、同一のコードブロックの同一のビットプレーンについて並列して動作することを特徴とする画像符号化方法。
【請求項２１】
請求項２０に記載の画像符号化方法において、
前記第３の処理ステップは、前記第３のパスで処理されるべきであることが判断されたビットについて前記第３のパスに関連したコンテキストを生成することを特徴とする画像符号化方法。
【請求項２２】
あるコードブロックのあるビットプレーンの各ビットが第1のパスで処理されるべきであるのか否かを判定する第１の処理ステップと、
あるコードブロックのあるビットプレーンの各ビットが第２のパスで処理されるべきであるのか否かを判定する第２の処理ステップと、
を備え、
前記第１の処理ステップと前記第２の処理ステップとが、同一のコードブロックの同一のビットプレーンについて並列して動作することを特徴とする画像復号化方法。
【請求項２３】
請求項２２に記載の画像復号化方法において、
前記第２の処理ステップは、前記第１の処理ステップの結果を用いることを特徴とする画像復号化方法。
【請求項２４】
請求項２２に記載の画像復号化方法において、
前記第１の処理ステップは、各ビットのシグニフィカンス状態を記憶ステップに対して読み書きし、各ビットが前記第１のパスで処理されるべきであるのか否かを示すフラグを操作することを特徴とする画像復号化方法。
【請求項２５】
請求項２２に記載の画像復号化方法において、
前記第１の処理ステップは、前記第１のパスで処理されるべきであることが判断されたビットについて前記第１のパスに関連したコンテキストを生成することを特徴とする画像復号化方法。
【請求項２６】
請求項２２に記載の画像復号化方法において、
前記第２の処理ステップは、前記第２のパスで処理されるべきことが判断されたビットについて前記第２のパスに関連したコンテキストを生成することを特徴とする画像復号化方法。
【請求項２７】
請求項２２に記載の画像復号化方法において、
あるコードブロックのあるビットプレーンの各ビットがある第３のパスで処理されるべきであるのか否かを判定する第３の処理ステップを更に備え、
前記第１の処理ステップと前記第２の処理ステップとが、同一のコードブロックの同一のビットプレーンについて並列して動作した後に、前記第３の処理ステップがそのコードブロックのそのビットプレーンについて動作することを特徴とする画像復号化方法。
【請求項２８】
請求項２７に記載の画像復号化方法において、
前記第３の処理ステップは、前記第３のパスで処理されるべきであることが判断されたビットについて前記第３のパスに関連したコンテキストを生成することを特徴とする画像復号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像を符号化するデジタル画像符号化装置及びその方法並びに符号化されたデジタル画像を復号するデジタル画像復号化装置及びその方法に関する。
【背景技術】
【０００２】
インターネットやデジタルスチルカメラなどの普及により、デジタル画像を利用する機会が益々多くなってきている。しかしながら、デジタル画像はデータサイズが大きく、保存や通信で使用したりする場合にはデータの圧縮が必要になってくる。一般的な画像圧縮方式としてＪＰＥＧ(Joint Photographic Experts Group)が広く知られている。国際標準として標準化されているＪＰＥＧは現在ではデジタル画像を扱う上では必要不可欠な圧縮方式となっている。このＪＰＥＧに代わる次世代の画像圧縮国際標準としてＪＰＥＧ２０００(ISO/IEC 15444-1 | ITU-T Recommendation T.800)が標準化された。従来のＪＰＥＧに比べ低ビットレートでの画質が向上しており、またロスレス・ロッシー圧縮対応、多彩なプログレッシブ機能などのハンドリング性も向上し、今後の普及が期待されている。しかしながら、ＪＰＥＧに比べ演算が複雑化し、演算回数も増加している。そのため、ハードウエアやソフトウエアでＪＰＥＧ２０００コーデックを実現した場合、必然的にＪＰＥＧよりも処理速度が低下することになる。
【０００３】
図１にＪＰＥＧ２０００の処理ブロック図を示す。画像データをＪＰＥＧ２０００で圧縮する場合は、図１の左のブロックから右のブロックの順に処理を行うこととなり、逆にＪＰＥＧ２０００で圧縮されたデータから画像を伸張する場合は、図１の右のブロックから左のブロックの順に処理を行うこととなる。
【０００４】
圧縮処理時は、色変換部１で色変換された画像データは離散ウェーブレット変換部２でウェーブレット変換が行われウェーブレット係数が生成される。生成されたウェーブレット係数は量子化部３で量子化された後、係数ビットモデリング部４において、各ビットプレーン毎に次の算術符号化部５で使用されるコンテキストとビット（圧縮の対象となるビット）を決定する。算術符号化部５では、係数ビットモデリング部４で決定されたコンテキストを使用してビットを符号化し、符号化されたデータは符号順序制御部６において、規定のフォーマットで並べ替えられてＪＰＥＧ２０００コードストリームが生成される。
【０００５】
伸張処理時は、反対に、ＪＰＥＧ２０００コードストリームから符号データが抽出され、係数ビットモデリング部４で決定されたコンテキストを用いて、算術符号化部５でビットが復号される。復号されたビットを用いて、係数ビットモデリング部４では、ウェーブレット係数を構成する各ビットプレーンのデータを決定する。さらに、前記復号されたビットは、次のビットを復号するためのコンテキストを生成するためにも使用される。全ビットプレーンのデータの復号が終了したあと、量子化部３において逆量子化が行われる。その後、離散ウェーブレット変換部２で逆ウェーブレット変換が行われ画像データに変換される。変換されたデータは色変換部１で色変換された後、最終的に画像が復元されることになる。
【０００６】
ＪＰＥＧ２０００の詳細な処理の説明は、ＩＳＯ／ＩＥＣ  １５４４４−１または、ＩＴＵ−Ｔ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ  Ｔ．８００を参照されたい。
【０００７】
図１において、係数ビットモデリング部４と算術符号化部５では、ウェーブレット変換、量子化を経て得られたウェーブレット係数をビットプレーンごとに１ビットづつ処理することになる。そのために膨大な量の演算が発生し、本処理を効率よく行うことにより処理の高速化が可能となる。以下、係数ビットモデリング部４により行われる係数ビットモデリング処理を説明する。
【０００８】
画像データにウェーブレット変換と量子化を行って得られたウェーブレット係数は、コードブロックと呼ばれる符号化処理の単位に区切られ、符号化処理はこのコードブロックの単位で行われる。１つのコードブロックが終了したら次のコードブロックの処理へと移る。コードブロックのサイズは、ＪＰＥＧ２０００の標準で、ある程度規制されており、通常、６４×６４（水平方向６４画素、垂直方向６４画素）、または、３２×３２が主に使われる。係数ビットプレーン処理及び算術符号化処理も、このコードブロックの単位で行われる。コードブロック内の各ウェーブレット係数は、上位のビットプレーンから順に処理される。つまり、コードブロック内のウェーブレット係数の最上位のビットプレーンの符号化が終了した時点で、次のビットプレーンの符号化処理に移り、順に繰り返して、所定の下位ビットプレーンまで処理を行う。ビットプレーン内では、図３に示されるように、まず垂直方向の４つの係数（Ｐ０、Ｐ３２、Ｐ６４、Ｐ９６）の符号化を行い、次に水平方向の右隣の４つの係数（Ｐ１、Ｐ３３、Ｐ６５、Ｐ９７）の処理を行い、コードブロックの右端の４つの係数（Ｐ３１、Ｐ６３、Ｐ９５、Ｐ１２７）の処理が終了したら、水平方向座標はコードブロックの左端に戻り、垂直方向に４つ進んだ次の４つの係数（Ｐ１２８、Ｐ１６０、Ｐ１９２、Ｐ２２４）の処理というように処理が行われる。
【０００９】
係数ビットモデリング処理では、各ビットプレーンに対して、Significance propagation pass（シグニフィカンス・プロパゲーション・パス）、 Magnitude refinement pass（マグニチュード・リファインメント・パス）、Cleanup pass（クリーンアップ・パス）の３つのパスのうちの１つを使用して、コンテキスト生成と圧縮するビットの生成が行われる。ここで、コンテキストとは圧縮対象係数の周辺の状態に応じて生成される値であり、算術符号化で使用される。
【００１０】
Significance propagation pass（以下ＳＩＧパスと呼ぶ）では、自分自身がSignificantではなく(Insignificant)、周辺の８近隣に少なくとも１つSignificantとなっている係数がある場合に、その係数に対して本パスでの処理が行われる。ここでSignificantである係数とは、本ビットプレーンよりも上位のビットプレーン、または、本ビットプレーン上ですでに処理済みの係数において、すでに“１”が出現している係数のことをいう。ＳＩＧパスの処理対象係数である場合、対象係数の近隣の状態を見て、ＳＩＧパスのコンテキスト生成ルールに従いコンテキストＣＸが生成され、その係数の現ビットプレーンの値が圧縮される対象ビットＤとなる。コンテキスト生成ルールの詳細はＪＰＥＧ２０００の規格書を参照されたい。このコンテキストＣＸを用いて算術符号化処理において対象ビットＤを符号化することになる。対象ビットＤの符号化終了後、この対象ビットＤが“１”であった場合には、この係数の正負を示すサインビットが符号化される。また、対象ビットＤが“１”の場合、その係数は今後Significantである係数として扱われることになる。
【００１１】
Magnitude refinement pass（以下、ＲＥＦパスと呼ぶ）では、本ビットプレーンより上位のビットプレーンですでにSignificantとなった係数に対して処理が行われる。ここで、現在処理中のビットプレーンでSignificantとなった係数は対象ではない。ＲＥＦパスの処理対象係数である場合、対象係数の周辺の状態、及び、直上のビットプレーンでSignificantとなったかどうかを判断して、コンテキストＣＸと圧縮対象となるビットＤが生成され算術符号化される。
【００１２】
Cleanup pass（以下、ＣＬＮパスと呼ぶ）では、上記ＳＩＧパス、ＲＥＦパスで処理されなかった係数が処理の対象となり、コンテキストＣＸと圧縮対象となるビットＤが生成され、算術符号化される。
【００１３】
この３つのパスは、ＳＩＧパス、ＲＥＦパス、ＣＬＮパスの順に処理される。各パスの処理がコードブロック全体に対して行われた後、次のパスの処理に移行することになる。したがって、係数ビットモデリングでは各ビットプレーンに対して、パスの探索が３回行われる。したがって、膨大な計算回数が必要になってくる。また伸張処理時には、算術符号化で復号されたビットを参照し、次のパスの決定及びコンテキストＣＸの決定を行う必要があり、圧縮処理時よりも高速化が困難である。
【特許文献１】特開２００３−０３２４９６号公報
【特許文献２】特開２００３−０８７５７１号公報
【特許文献３】特開２００３−１０１９５１号公報
【特許文献４】特開２００３−１５３２２８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
図２に伸張時の係数ビットモデリング処理と算術符号化処理を行うブロックを示す。符号データは算術符号化器１０に入力され、復号データが生成されることになる。この際、算術符号化では、係数ビットモデリング処理で生成されたコンテキストが使用される。コンテキストはＳＩＧパスＣＸ生成部１２、ＲＥＦパスＣＸ生成部１３、ＣＬＮパスＣＸ生成部１４のどれか１つによって生成される。最初に、ＳＩＧパスＣＸ生成部１２において、ＳＩＧパスの対象データであるかのパス判定が行われ、対象データである場合は、コンテキストを算術符号器１０へ出力する。対象データでない場合は、何も出力せず次のデータのパス判定を行う。現ビットプレーンでの現コードブロックに対してのＳＩＧパスＣＸ生成部１２での処理が終了した後、次にＲＥＦパスＣＸ生成部１３において、ＲＥＦパスの対象データであるかのパス判定が行われる。対象データである場合は、演算して求められたコンテキストを算術符号器１０へ出力し、対象データでない場合は、次のデータのパス判定を行う。現ビットプレーンでの現コードブロックに対してのＲＥＦパスＣＸ生成部１３での処理が終了した後、最後にＣＬＮパスＣＸ生成部１４において、ＣＬＮパスの対象データに対するコンテキスト生成が行われる。現ビットプレーンでの現コードブロックに対してのＣＬＮパスＣＸ生成部１４での処理が終了した後は、次のビットプレーンの処理へと移行し、再びＳＩＧパスＣＸ生成部１２での処理が行われる。パスセレクター１１は、現在の処理パスを選択するセレクターであり、１つのパスの処理終了ごとに次のパスへと切り替わる。また、メモリ１５には、現コードブロックに対する各係数の状態（Significantかどうか、最初のＲＥＦパスかどうか、すでに処理済みかどうか等）の情報が蓄積され、各パスの処理において必要に応じて参照／更新される。また、復号されたデータは、次のコンテキストＣＸを生成するために、対応するコンテキスト生成部へも出力される。
【００１５】
このブロックの動作でも分かるように、各パスの処理がシーケンシャルになるため、必然的に演算時間がかかってしまう。
【００１６】
本発明はＪＰＥＧ２０００の圧縮／伸張処理において効果的に係数ビットモデリング処理を行い、高速なＪＰＥＧ２０００圧縮を行うデジタル画像符号化装置及び高速なＪＰＥＧ２０００伸張を行うデジタル画像復号化装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明の第１の観点によれば、あるコードブロックのあるビットプレーンの各ビットが第１のパスで処理されるべきであるのか否かを判定する第１の処理手段と、あるコードブロックのあるビットプレーンの各ビットが第２のパスで処理されるべきであるのか否かを判定する第２の処理手段と、を備え、前記第１の処理手段と前記第２の処理手段とが、同一のコードブロックの同一のビットプレーンについて並列して動作することを特徴とする画像符号化装置が提供される。
【００１８】
本発明の第１の観点による画像符号化装置において、前記第２の処理手段は、前記第１の処理手段による処理の結果を用いてもよい。
【００１９】
本発明の第１の観点による画像符号化装置において、前記第１の処理手段は、各ビットのシグニフィカンス状態を記憶手段に対して読み書きし、各ビットが前記第１のパスで処理されるべきであるのか否かを示すフラグを操作してもよい。
【００２０】
本発明の第１の観点による画像符号化装置において、前記第１の処理手段は、前記第１のパスで処理されるべきであることが判断されたビットについて前記第１のパスに関連したコンテキストを生成してもよい。
【００２１】
本発明の第１の観点による画像符号化装置において、前記第２の処理手段は、前記第２のパスで処理されるべきことが判断されたビットについて前記第２のパスに関連したコンテキストを生成してもよい。
【００２２】
本発明の第１の観点による画像符号化装置は、あるコードブロックのあるビットプレーンの各ビットがある第３のパスで処理されるべきであるのか否かを判定する第３の処理手段を更に備え、前記第１の処理手段と前記第２の処理手段のみならず前記第３の処理手段もが、同一のコードブロックの同一のビットプレーンについて並列して動作してもよい。
【００２３】
本発明の第１の観点による画像符号化装置において、前記第３の処理手段は、前記第３のパスで処理されるべきであることが判断されたビットについて前記第３のパスに関連したコンテキストを生成してもよい。
【００２４】
本発明の第２の観点によれば、あるコードブロックのあるビットプレーンの各ビットが第１のパスで処理されるべきであるのか否かを判定する第１の処理手段と、あるコードブロックのあるビットプレーンの各ビットが第２のパスで処理されるべきであるのか否かを判定する第２の処理手段と、を備え、前記第１の処理手段と前記第２の処理手段とが、同一のコードブロックの同一のビットプレーンについて並列して動作することを特徴とする画像復号化装置が提供される。
【００２５】
本発明の第２の観点によるにおいて、前記第２の処理手段は、前記第１の処理手段による処理の結果を用いてもよい。
【００２６】
本発明の第２の観点による画像復号化装置において、前記第１の処理手段は、各ビットのシグニフィカンス状態を記憶手段に対して読み書きし、各ビットが前記第１のパスで処理されるべきであるのか否かを示すフラグを操作してもよい。
【００２７】
本発明の第２の観点による画像復号化装置において、前記第１の処理手段は、前記第１のパスで処理されるべきであることが判断されたビットについて前記第１のパスに関連したコンテキストを生成してもよい。
【００２８】
本発明の第２の観点による画像復号化装置において、前記第２の処理手段は、前記第２のパスで処理されるべきことが判断されたビットについて前記第２のパスに関連したコンテキストを生成してもよい。
【００２９】
本発明の第２の観点による画像復号化装置は、あるコードブロックのあるビットプレーンの各ビットがある第３のパスで処理されるべきであるのか否かを判定する第３の処理手段を更に備え、前記第１の処理手段と前記第２の処理手段とが、同一のコードブロックの同一のビットプレーンについて並列して動作した後に、前記第３の処理手段がそのコードブロックのそのビットプレーンについて動作してもよい。
【００３０】
本発明の第２の観点による画像復号化装置において、前記第３の処理手段は、前記第３のパスで処理されるべきであることが判断されたビットについて前記第３のパスに関連したコンテキストを生成してもよい。
【発明の効果】
【００３１】
従来のＪＰＥＧ２０００の圧縮を行うデジタル画像符号化装置及びＪＰＥＧ２０００の伸張を行うデジタル画像復号化装置においては、シーケンシャルに係数ビットモデリング処理を行い、同一ビットプレーンで３回もの判定処理を行う必要がある。これに対し、本発明によれば、係数ビットモデリング処理において、各パスの特性を考慮して、各パスの処理開始タイミングを制御し、また、判定して求めたコンテキスト等をバッファに保持しておくことにより、コンテキスト等のデータの出力をパス判定処理なしに連続して出力することができ、高速な圧縮処理及び伸張処理が可能となる。
【発明を実施するための最良の形態】
【００３２】
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。
【００３３】
本発明は、デジタル画像をＪＰＥＧ２０００で圧縮するデジタル画像委符号化装置及びＪＰＥＧ２０００で圧縮された符号データからデジタル画像を復元するデジタル画像復号化装置に関して、算術符号化及び算術復号化で使用するコンテキストを生成する係数ビットモデリング処理において、従来ならばシーケンシャルに実行していた各符号化パスの演算を、一部並行して行い、並行して生成したデータをバッファリングし、必要なときに即座にデータ出力を行うことによって、パスの探索に要していた時間を削除することができ、伸張処理／圧縮処理共に高速な演算を行うことができることを特徴とする。
【００３４】
本発明を用いたデジタル符号化装置及びデジタル復号化装置は、図１に示されるようなＪＰＥＧ２０００の基本的な圧縮／伸張を行うことができるブロックから構成される。その中で、本発明は係数ビットモデリング処理４の内部の構成にある。以下に、本発明を用いたデジタル符号化装置の係数ビットモデリング処理の構成を示す。
【００３５】
図５に本発明を用いたデジタル符号化装置の係数ビットモデリング処理のブロックを示す。本ブロック図は、圧縮と伸張処理の両方に対応している。図５によると、本発明を用いたデジタル符号化装置の係数ビットモデリング処理は、圧縮時には入力されたコンテキストを用いてビットプレーンデータを符号化して符号データを出力し、伸張時には入力されたコンテキストを用いて入力された符号データの復号を行い復号したデータを出力する算術符号器１００と、圧縮時にはコードブロック内のウェーブレット係数を上位ビットから順に前記算術符号化器１００へ出力し、伸張時には算術符号化器１００から出力される符号データを用いてウェーブレット係数を形成するビットプレーン制御部１０１と、現コードブロック内の係数のSignificant状態を参照してＳＩＧパスの対象係数であるかの判定をし、対象となる係数に対して、圧縮処理の場合には符号化するために必要なコンテキストと圧縮対象ビットを生成し出力し、伸張処理の場合には復号化するために必要なコンテキストを出力し、また、同時にＲＥＦパスのパス判定も行うＳＩＧパスＣＸ生成部１０２と、現コードブロック内の係数のSignificant状態と現ビットプレーンでの処理済みであるかどうかのフラグを参照し、ＣＬＮパスの対象係数であるかの判定を行い、対象となる係数に関して、圧縮処理の場合には符号化するために必要なコンテキストと圧縮対象ビットを生成し出力し、伸張処理の場合には復号化のために必要なコンテキストを出力するＣＬＮパスＣＸ生成部１０３と、現コードブロック内の各係数のSignificant状態等のフラグを保持するＳＩＧメモリ１０４と、現コードブロック内の係数のSignificant状態を参照し、ＲＥＦパスの対象係数であるかの判定を行い、対象となる係数に関して、圧縮処理の場合には符号化するために必要なコンテキストと圧縮対象ビットを生成し出力し、伸張処理の場合には復号化するために必要なコンテキストを出力するＲＥＦパスＣＸ生成部１０５と、圧縮処理の場合にはＲＥＦパスＣＸ生成部１０５で生成されたコンテキストと圧縮ビットを順にバッファリングし、伸張処理の場合にはコンテキストのみを順にバッファリングするするＣＸバッファ１０６と、ＲＥＦパスの対象係数であるかどうかの判定で参照するための状態フラグを保持するＲＥＦメモリ１０７と、ＳＩＧパスＣＸ生成部１０２で生成されたコンテキストを使用するか、ＣＬＮパスＣＸ生成部１０３で生成されたコンテキストを使用するか、またはＲＥＦパスＣＸ生成部１０５で生成されたコンテキストを使用するかの制御を行うパス制御１０８とで構成される。
【００３６】
図１及び図５のデジタル画像符号化装置の動作に関して、伸張処理の動作から説明する。
【００３７】
本デジタル画像符号化装置に入力される符号データはインターネットやファクシミリなどの通信機器及び通信モジュールや、メモリ、ＣＤ等の蓄積媒体から得られ、本デジタル符号化装置に入力される前にファイルフォーマット等の解析を終了したＪＰＥＧ２０００のコードストリームまたは、ＪＰＥＧ２０００コードストリーム中のあるタイルに関するコードストリームとされる。また、さらに符号データは、図５の算術符号化器１００に入力する前に、ヘッダ等の解析が終了し、復号化されるべき任意の順序で並べられた算術符号データとする。算術符号化器１００は、パス制御１０８から出力されるコンテキストを用いて、この符号データを復号することになる。算術符号器１００内部の復号処理の動作は、例えばＪＰＥＧ２０００で使用されているＭＱ−ＣＯＤＥＣの伸張動作であり、詳細はＪＰＥＧ２０００の規格書を参照されたい。
【００３８】
ＪＰＥＧ２０００の係数ビットモデリング処理では、各ビットプレーンに対してＳＩＧパス、ＲＥＦパス、ＣＬＮパスの３つの内のどのパスでデータが符号化されるべきか、あるいは、符号化されているかのパス判定を行い、適合するパスの処理を用いてコンテキストを生成する。パスの判定順は、ＳＩＧパス、ＲＥＦパス、ＣＬＮパスの順に行われ、現コードブロック中のビットプレーン全体のチェックがあるパスについて終了したら次のパスのパス判定へ移行する。したがって、現コードブロックのビットプレーンに対して、最初にＳＩＧパスのチェックが行われる。
【００３９】
ＳＩＧパスＣＸ生成部１０２では、現コードブロックの現ビットプレーンの現データが、ＳＩＧパスで処理されるべきであるかどうかのパス判定を行い、ＳＩＧパスでの処理対象データである場合はコンテキストを生成する。ＳＩＧパスＣＸ生成部１０２では、ビットプレーン内でのデータのパス判定は、図３に示されるような順で、それぞれのデータに対して行われる。パス判定では、現対象データの図４に示されるような近隣画素のSignificant状態を参照して行われる。ここで、Ｂは現在符号化しようとしているビットプレーン中のデータである。したがって、パス判定時には、現コードブロックに対するSignificant状態をＳＩＧメモリ１０４から読み込んでおく必要があり、さらに、現在のパス判定終了後、次データのパス判定のためにSignificant状態を更新する必要がある。すなわち、直前のデータがＳＩＧパス対象データであった場合は、直前のデータ、すなわち復号結果を反映させる必要がある。パス判定によりＳＩＧパスの対象データと判定された場合には、ＳＩＧパスで規定されたコンテキスト決定方法にしたがってコンテキストが求められる。また、本パスで処理されたことを表すフラグも同時に更新される。このフラグは、前記のSignificant状態と併せて、ＳＩＧメモリ１０４に蓄積される。ここで、ＳＩＧメモリ１０４の更新は、１データ毎に行っても良いが、通常数データ分まとめて更新される。したがって、ＳＩＧパスＣＸ生成部１０２では、数データ分の近隣画素のSignificant状態及び処理完了フラグを保持している。
【００４０】
ＳＩＧパスＣＸ生成部１０２では、上記の処理に加えさらに次の処理を行う。ＳＩＧパスのパス判定時に同時にＲＥＦパスの判定も行う。ＲＥＦパスの判定は、現ビットプレーンより上位のビットプレーンの係数ビットモデリング処理において、現データがSignificantとなっているかどうかの判定である。このＲＥＦパスのパス判定においてＲＥＦパスで処理されるデータであると判定された場合には、処理完了フラグを処理完了とし更新する。これにより、ＲＥＦパスのパス判定処理がＳＩＧパスのパス判定処理と同時に完了したかの判定が行われることになる。
【００４１】
ＲＥＦパスのパス判定は、通常、ＳＩＧパスの処理が現コードブロックの現ビットプレーンで終了した後開始されるが、本発明では、全ビットプレーン終了する前に、ＲＥＦパスのパス判定処理を開始する。ＲＥＦパスのコンテキスト生成では、図４に示される近隣画素のSignificant状態が参照される。ＳＩＧパス、ＲＥＦパスの処理は共に図３に示される順でビットプレーン上を走査されるため、ＲＥＦパスの処理を行うには、最低でも現データの周辺のＳＩＧパスの処理が終了している必要がある。したがって、図３でいうと、Ｐ０がＲＥＦパスであった場合、Ｐ１、Ｐ３２、Ｐ３３のＳＩＧパスの判定処理を終了しておく必要がある。また、Ｐ９６のデータの場合は、Ｐ６４、Ｐ６５、Ｐ９７、Ｐ１２８、Ｐ１２９のデータのＳＩＧパスの判定処理を終了しておく必要がある。したがって、図３の場合、ＲＥＦパスのパス判定処理は、ＳＩＧパスのパス判定処理が、最短でＰ１２９の位置のデータの処理が終了した時点で開始すれば良い。また、ＲＥＦパスの処理では、Significant状態の参照は行うが、その復号結果が次のデータのパス判定あるいはコンテキスト生成に影響を与えない。そのため、Significant状態を正しく与えておくことで、独立して処理を行うことが可能である。ＳＩＧパスＣＸ生成部１０２は、前記のＲＥＦパスのパス判定処理開始信号と、ＲＥＦパスのパス判定及びコンテキスト生成用にSignificant状態をＲＥＦパスＣＸ生成部１０５へ出力する。
【００４２】
ＲＥＦパスＣＸ生成部１０５では、現データがＲＥＦパスで処理されるべきデータであるかのパス判定を行い、ＲＥＦパスで処理されるべきデータであった場合にはコンテキストを生成しＣＸバッファ１０６へ出力する。ＲＥＦパスＣＸ生成部１０５の処理はＳＩＧパスＣＸ生成部１０２から出力される開始信号により開始され、パス判定及びコンテキスト生成は、ＳＩＧパスＣＸ生成部１０２から出力されたSignificant状態を参照して行われる。ＳＩＧパスＣＸ生成部１０２から出力されるSignificant状態は、ＲＥＦパスＣＸ生成部１０５の動作が開始される前から出力されるため、ＲＥＦパスＣＸ生成部１０５はこのSignificant状態を保持し、ＲＥＦパスＣＸ処理部１０５自身で使用するまで保持しておく必要がある。また、コンテキスト生成時には、データがその係数内で最初のＲＥＦパスであるかの情報が必要であるため、データのパス判定を行う前に最初のＲＥＦパスであるかのフラグをＲＥＦメモリ１０７から読み出しておく必要があり、パス判定処理後必要であれば更新する必要がある。このＲＥＦメモリ１０７の更新は、１データ毎に行っても良いが、通常数データ分まとめて行う方が処理の高速化の観点から良い。
【００４３】
ＲＥＦパスＣＸ生成部１０５で生成されたコンテキストは、ＣＸバッファ１０６で一時保持される。ＣＸバッファ１０６で保持されたコンテキストは、ＳＩＧパスＣＸ生成部１０２の処理が現ビットプレーンに対して終了した時点で、パス制御部１０８にて読み込まれ、算術符号器１００へと出力される。ＲＥＦパスＣＸ生成部１０５は、ＳＩＧパスＣＸ生成部１０２とほぼ同時に処理を開始しているため、ＣＸバッファ１０６の読み込み開始時には、ほぼＲＥＦパスＣＸ生成部１０５の処理も終了しており、ＲＥＦパスのコンテキストはＣＸバッファ１０６をリードするだけでよくなる。したがって、ＲＥＦパスＣＸ生成部１０５のパス判定処理時間が大きく短縮されたことになる。ＣＸバッファ１０６のサイズは、ＲＥＦパスのコンテキスト数が３つであるため、伸張時には、３ｂｉｔ×コードブロックサイズ、あればよい。
【００４４】
ＳＩＧパスＣＸ生成部１０２とＲＥＦパスＣＸ生成部１０５の処理が終了した後、すなわち、ＣＸバッファ１０６内の全データが使用された後は、ＣＬＮパスＣＸ生成部１０３の処理が開始される。ＣＬＮパスＣＸ生成部１０３では、現データが、ＣＬＮパスで処理されるかどうかのパス判定を行い、ＣＬＮパスでの処理対象データである場合はコンテキストを生成する。ＣＬＮパスＣＸ生成部１０３では、現ビットプレーン内でＳＩＧパスＣＸ生成部１０２及びＲＥＦパスＣＸ生成部１０５で処理されなかったデータに対して処理が行われる。したがって、ＳＩＧパスＣＸ生成部１０２で更新された、ＳＩＧパスとＲＥＦパスの処理完了フラグを参照してパス判定される。ＣＬＮパスＣＸ生成部１０３でのコンテキスト生成では、ＳＩＧパスＣＸ生成部１０２と同様に近隣画素のSignificant状態が必要であり、また値の復号結果により、次に復号化するデータが変化する。したがって、ＣＬＮパスＣＸ生成部１０３は、伸張時にＳＩＧパスＣＸ生成部１０２やＲＥＦパスＣＸ生成部１０５と同時に処理を行うことができない。Significant状態は、ＳＩＧパスＣＸ生成部１０２と同様に、ＳＩＧメモリ１０４から読み込んでおく必要があり、さらに、現在のデータの復号後、次データのパス判定のためにSignificant状態を更新する。また、処理完了フラグはビットプレーン内での処理完了フラグであるため初期化される。
【００４５】
以上のように、ＳＩＧパスＣＸ生成部１０２、ＲＥＦパスＣＸ生成部１０５、ＣＬＮパスＣＸ生成部１０３での各処理が終了したら、次のビットプレーンに対して再び、ＳＩＧパスＣＸ生成部１０２の処理から開始されることになる。このようにして求められたコンテキストを用いて算術符号化器１００はデータの復号を行う。ビットプレーン制御部１０１は、算術符号化器１００で復号されたデータを用いて、ウェーブレット係数を再構成することになる。
【００４６】
再構成されたウェーブレット係数に対して、逆量子化、逆ウェーブレット変換、色変換等が行われ、画像が復元される。復元された画像は、ディスプレイ用の表示機器、プリンタ等の出力機器、または、メモリやＣＤ、ＤＶＤ等の記録媒体へと出力される。
【００４７】
次に圧縮処理の動作に関して説明する。
【００４８】
本デジタル画像符号化装置に入力される画像データはスキャナやデジタルスチルカメラ等の入力機器や、メモリ、ＣＤ等の蓄積媒体から得られ、本デジタル符号化装置に入力される。入力された画像データは、色変換、ウェーブレット変換、量子化等を経て、ウェーブレット係数へと変換され、図５の係数ビットモデリング処理へと入力される。ビットプレーン制御部１０１へ入力されたウェーブレット係数は、コードブロックごとに、上位のビットプレーンから順にＳＩＧパスＣＸ生成部１０２、ＲＥＦパスＣＸ生成部１０５、ＣＬＮパスＣＸ生成部１０３へとそれぞれ出力される。
【００４９】
各パスの生成処理は、伸張時と同様にＳＩＧパスＣＸ生成部１０２から行われる。ＳＩＧパスＣＸ生成部１０２では、伸張時と同様にＳＩＧパスのパス判定とコンテキスト生成、ＲＥＦパスのパス判定、ＳＩＧメモリ１０４の更新等を行う。さらに、圧縮処理であるため、実際に圧縮されるビットの生成を行う。したがって、パス制御１０８へは、コンテキストと共に圧縮されるビットを出力する。
【００５０】
ＲＥＦパスＣＸ生成部１０５は、伸張処理と同様に、ＳＩＧパスＣＸ生成部１０２から出力された開始信号によって処理を開始し、ＳＩＧパスＣＸ生成部１０２から出力されるSignificant状態を用いてパス判定及びコンテキスト生成を行う。また、圧縮されるビットの生成も行い、ＣＸバッファ１０６へ出力する。したがって、圧縮処理時、ＣＸバッファ１０６は、（３ｂｉｔ＋１ｂｉｔ）×コードブロックサイズ、の容量が必要となる。
【００５１】
ＣＬＮパスＣＸ生成部１０３でも、伸張時の処理と同様の処理が行われ、加えて、実際に圧縮されるビットの生成も行われ、生成されたコンテキスト及び圧縮されるビットがパス制御部１０８へ出力される。
【００５２】
生成されたコンテキスト及び圧縮されるビットは、パス制御部１０８から算術符号器１００へと出力され、算術符号器１００で符号化され出力される。算術符号化器１００の処理は、例えば、ＪＰＥＧ２０００で使用されるＭＱ−ＣＯＤＥＣの圧縮動作となる。出力された符号データは、この後、ＪＰＥＧ２０００のコードストリームとして形成され、ＪＰＥＧ２０００コードストリームまたは、コードストリームを内包したファイルとして、インターネットや、ファクシミリ等の通信機器、メモリやＣＤ、ＤＶＤといった記録媒体へと出力される。
【００５３】
以上が、本発明の圧縮伸張処理の動作例である。本動作例では圧縮伸張の両方に対応したブロック構成をあげているが、圧縮ブロックと伸張ブロックを別々に構成することも可能である。この場合、圧縮ブロックにおいて、さらなる改良を行うことができる。図６に本発明のデジタル符号化装置の圧縮処理部のブロック図を示す。構成は、図５とほぼ同様であるため、差分のみ説明すると、ＣＬＮバッファ２０４はＣＬＮパスＣＸ生成部２０３で生成されたコンテキスト及び圧縮されるビットを一時保持するバッファである。以下に、図６の圧縮ブロックの動作の説明を行う。ただし、特に説明がないものは、図５の圧縮動作と同様の動作である。
【００５４】
前記動作例では、ＳＩＧパスＣＸ生成部１０２及びＲＥＦパスＣＸ生成部１０５の動作が終了後、ＣＬＮパスＣＸ生成部１０３の動作が開始されたが、圧縮時は現データ伸張時のように復号結果を待つ必要がなくすでに判明しているため、現データの近隣画素のSignificant状態が正しく更新され、ＣＬＮパスＣＸ生成部２０３で処理されるべきデータが判定できれば、独立にパス判定及びコンテキスト生成、圧縮ビット生成を行うことが可能である。ＣＬＮパスＣＸ生成部２０３でのパス判定及びコンテキスト生成では、図４に示されるような近隣画素のSignificant状態が参照される。したがって、図３において、例えばＰ０がＣＬＮパスであった場合、Ｐ１、Ｐ３２、Ｐ３３のＣＬＮパスの判定処理を終了しておく必要があり、Ｐ９６がＣＬＮパスのデータである場合は、Ｐ６４、Ｐ６５、Ｐ９７、Ｐ１２８、Ｐ１２９のデータのＣＬＮパスの判定処理を終了しておく必要がある。したがってＣＬＮパスのパス判定処理は、ＳＩＧパスのパス判定処理が、最短でＰ１２９の位置のデータの処理が終了した時点で開始すれば良い。
【００５５】
ＳＩＧパスＣＸ生成部２０２は、ＲＥＦパスＣＸ生成部１０５へsignificant状態を出力するのと同様に、ＣＬＮパスＣＸ生成部２０３へもSignificant状態を生成する。さらに、処理完了フラグも出力することになる。そのため、ＣＬＮパスＣＸ生成部２０３は、ある程度のsignificant状態及び処理完了フラグを保持するバッファを内部にもつことになる。ＣＬＮパスＣＸ生成部２０３は、各データの処理が終了した後、ＳＩＧメモリ２０５の状態を更新する。これは、１データごとでも良いが、数データ分まとめて更新した方が望ましい。ＳＩＧメモリ２０５は、Significant状態のみを保持することになる。
【００５６】
ＣＬＮパスＣＸ生成部２０３で生成されたコンテキスト及び圧縮されるビットは、ＣＬＮバッファ２０４で一時保持される。ＣＬＮバッファ２０４の各データは、ＲＥＦパスＣＸ生成部１０５の処理が終了した後、つまり、ＲＥＦバッファ１０６のデータがなくなった後、パス制御部２０６へ順次出力される。
【００５７】
これにより、ＳＩＧパスＣＸ生成部２０２の処理とほぼ同時にＲＥＦパスＣＸ生成部１０５とＣＬＮパスＣＸ生成部２０３のパス判定が行うことができ、ＳＩＧパスＣＸ生成部２０２の処理終了後、連続してＲＥＦパスの圧縮処理、ＣＬＮパスの圧縮処理ができ、処理速度が向上する。
【００５８】
以上が、本発明を利用したデジタル画像符号化装置の圧縮処理部分に関する動作の一例である。これを応用すると、ＣＬＮパスの処理時間までを考慮して、複数のビットプレーンの処理を、ある特定時間の間隔をもって並行して行うことも可能である。この場合、処理速度は向上するが、回路規模、メモリ等の資源は増加する。
【００５９】
本実施例では、デジタル画像符号化装置を説明したが、ハードウエアのみでの構成や一部をソフトウエアで実現することも可能である。また、本発明は、画像の入出力が可能な機器、例えば、スキャナ、ファクシミリ、デジタルコピア、デジタルスチルカメラ、カメラ機能付き携帯端末、プリンタ、ディスプレイ、プロジェクタなどといった機器に応用することが可能である。
【産業上の利用可能性】
【００６０】
本発明は、画像の符号化及び復号化に利用することができる。
【図面の簡単な説明】
【００６１】
【図１】ＪＰＥＧ２０００画像圧縮／伸張装置の構成を示すブロック図である。
【図２】従来例による係数ビットモデリング部の構成を示すブロック図である。
【図３】係数ビットモデリングにおけるビットプレーン上の走査方向を示す図である。
【図４】パス判定されるビットとパス判定に用いられるビットを示す図である。
【図５】本発明の実施形態による係数ビットモデリング部の構成を示すブロック図である。
【図６】本発明の他の実施形態による係数ビットモデリング部の構成を示すブロック図である。
【符号の説明】
【００６２】
１  色変換部
２  離散ウェーブレット変換部
３  量子化部
４  係数ビットモデリング部
５  算術符号化部
６  符号順序制御部
１００  算術符号器
１０１  ビットプレーン制御部
１０２  ＳＩＧパスＣＸ生成部
１０３  ＣＬＮパスＣＸ生成部
１０４  ＳＩＧメモリ
１０５  ＲＥＦパスＣＸ生成部
１０６  ＣＸバッファ
１０７  ＲＥＦメモリ
２０２  ＳＩＧパスＣＸ生成部
２０３  ＣＬＮパスＣＸ生成部
２０４  ＣＬＮバッファ
２０５  ＳＩＧメモリ
２０６  パス制御部
【図１】
2005184511.tif 000003
【図２】
2005184511.tif 000004
【図３】
2005184511.tif 000005
【図４】
2005184511.tif 000006
【図５】
2005184511.tif 000007
【図６】
2005184511.tif 000008