(57)【特許請求の範囲】
【請求項１】
画像をディスクリート・ウェーブレット変換することにより、複数種類のサブバンドを取得する変換ステップと、
前記複数種類のサブバンドの各々を独立した一つの選択領域として選択する選択ステップと、
前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」である場合に非有意であり、少なくとも１つの「１」が存在する場合に有意であると判定する有意性判定ステップと、
前記有意性判定ステップで有意でないと判定された時に、第１のトークンを符号化データとして出力すると共に、最上位ビットプレーンから最下位ビットプレーンに向かう方向に、着目するビットプレーンを変更する着目ビットプレーン変更ステップと、
前記有意性判定ステップで有意であると判定されない限り、前記着目するビットプレーンが、所定の最低ビットレベルに達するまで、前記有意性判定ステップ及び前記着目ビットプレーン変更ステップを反復する反復ステップと、
前記有意性判定ステップで有意であると判定された時に、前記反復ステップを抜け、第２のトークンを符号化データとして出力すると共に、前記選択領域が所定のサイズより大きい場合には該選択領域を所定の形状を有する複数の部分領域に分割し、前記部分領域の各々を前記選択領域としてセットし、各選択領域に対して更に前記反復ステップを実施させる分割ステップと、
前記選択領域が所定のサイズになった場合に、前記選択領域の内部の係数を符号化する符号化ステップと、
を含むことを特徴とする画像符号化方法。
【請求項２】
前記第１と第２のトークンは各々ビット値０と１を含むことを特徴とする請求項１に記載の画像符号化方法。
【請求項３】
前記部分領域はそれぞれ等しいサイズであることを特徴とする請求項１に記載の画像符号化方法。
【請求項４】
前記部分領域は四角形であることを特徴とする請求項３に記載の画像符号化方法。
【請求項５】
前記所定のサイズは２×２係数よりも小さいか又はそれと同サイズであることを特徴とする請求項１に記載の画像符号化方法。
【請求項６】
画像をディスクリート・ウェーブレット変換することにより、複数種類のサブバンドを取得する変換手段と、
前記複数種類のサブバンドの各々を独立した一つの選択領域として選択する選択手段と、
前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」である場合に非有意であり、少なくとも１つの「１」が存在する場合に有意であると判定する有意性判定手段と、
前記有意性判定手段で有意でないと判定された時に、第１のトークンを符号化データとして出力すると共に、最上位ビットプレーンから最下位ビットプレーンに向かう方向に、着目するビットプレーンを変更する着目ビットプレーン変更手段と、
前記有意性判定ステップで有意であると判定されない限り、前記着目するビットプレーンが、所定の最低ビットレベルに達するまで、前記有意性判定手段による判定及び着目ビットプレーン変更手段による着目するビットプレーンの変更を反復する反復手段と、
前記有意性判定手段で有意であると判定された時に、前記反復手段での反復を抜け、第２のトークンを符号化データとして出力すると共に、前記選択領域が所定のサイズより大きい場合には該選択領域を所定の形状を有する複数の部分領域に分割し、前記部分領域の各々を前記選択領域としてセットし、各選択領域に対して更に前記反復手段による反復処理を実施させる分割手段と、
前記選択領域が所定のサイズになった場合に、前記選択領域の内部の係数を符号化する符号化手段と、
を含むことを特徴とする画像符号化装置。
【請求項７】
コンピュータプログラムが記憶されているコンピュータ読取可能な記憶媒体であって、前記コンピュータプログラムは、
画像をディスクリート・ウェーブレット変換することにより、複数種類のサブバンドを取得する変換ステップと、
前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」である場合に非有意であり、少なくとも１つの「１」が存在する場合に有意であると判定する有意性判定ステップと、
前記有意性判定ステップで有意でないと判定された時に、第１のトークンを符号化データとして出力すると共に、最上位ビットプレーンから最下位ビットプレーンに向かう方向に、着目するビットプレーンを変更する着目ビットプレーン変更ステップと、
前記有意性判定ステップで有意であると判定されない限り、前記着目するビットプレーンが、所定の最低ビットレベルに達するまで、前記有意性判定ステップ及び前記着目ビットプレーン変更ステップを反復する反復ステップと、
前記有意性判定ステップで有意であると判定された時に、前記反復ステップを抜け、第２のトークンを符号化データとして出力すると共に、前記選択領域が所定のサイズより大きい場合には該選択領域を所定の形状を有する複数の部分領域に分割し、前記部分領域の各々を前記選択領域としてセットし、各選択領域に対して更に前記反復ステップを実施させる分割ステップと、
前記選択領域が所定のサイズになった場合に、前記選択領域の内部の係数を符号化する符号化ステップと、
をコンピュータに実行させることを特徴とする記憶媒体。
【請求項８】
画像をディスクリート・ウェーブレット変換することにより複数種類のサブバンドを取得し、各サブバンドが符号化表現されたデジタル画像を復号する方法であって、
前記サブバンドの各々を独立した１つの選択領域として選択する選択ステップと、
前記選択領域の符号化表現におけるビットを入力する入力ステップと、
前記入力されたビットが、前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」であることを示す第１のトークンであるか、前記選択領域内に含まれる各々の多値係数について、少なくとも１つの「１」が存在する場合に有意であることを示す第２のトークンであるかを判定する判定ステップと、
前記入力されたビットが第１のトークンであると判定された時、前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」であるビットプレーンを提供し、最上位ビットプレーンから最下位ビットプレーンに向かう方向に、着目するビットプレーンを変更する着目ビットプレーン変更ステップと、
前記入力されたビットが第２のトークンであると判定された時、前記選択領域が所定のサイズより大きい場合には該選択領域を所定の形状を有する複数の部分領域に分割し、前記部分領域の各々を前記選択領域としてセットする分割ステップと、
前記着目するビットプレーンが最上位のビットプレーンから始めて所定の最低ビットレベルに達するまで、前記分割ステップで前記選択領域としてセットされた前記部分領域のそれぞれに対して、前記判定ステップ及び着目ビットプレーン変更ステップを反復する反復ステップと、
前記選択領域が所定のサイズになった場合に、前記選択領域の符号化表現に基づいて、前記選択領域の内部の係数を復号する復号ステップと、
前記復号により得られた係数を逆ディスクリート・ウェーブレット変換することにより、画像を復元する画像復元ステップと、
を有することを特徴とする画像復号方法。
【請求項９】
前記所定のサイズは２×２係数よりも小さいか又はそれと同サイズであることを特徴とする請求項８に記載の画像復号方法。
【請求項１０】
画像をディスクリート・ウェーブレット変換することにより複数種類のサブバンドを取得し、各サブバンドが符号化表現されたデジタル画像を復号する装置であって、
前記サブバンドの各々を独立した１つの選択領域として選択する選択手段と、
前記選択領域の符号化表現におけるビットを入力する入力手段と、
前記入力されたビットが、前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」であることを示す第１のトークンであるか、前記選択領域内に含まれる各々の多値係数について、少なくとも１つの「１」が存在する場合に有意であることを示す第２のトークンであるかを判定する判定手段と、
前記入力されたビットが第１のトークンであると判定された時、前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」であるビットプレーンを提供し、最上位ビットプレーンから最下位ビットプレーンに向かう方向に、着目するビットプレーンを変更する着目ビットプレーン変更手段と、
前記入力されたビットが第２のトークンであると判定された時、前記選択領域が所定のサイズより大きい場合には該選択領域を所定の形状を有する複数の部分領域に分割し、前記部分領域の各々を前記選択領域としてセットする分割手段と、
前記着目するビットプレーンが最上位のビットプレーンから始めて所定の最低ビットレベルに達するまで、前記分割手段で前記選択領域としてセットされた前記部分領域のそれぞれに対して、前記判定手段での判定及び着目ビットプレーン変更手段による着目するビットプレーンの変更を反復する反復手段と、
前記選択領域が所定のサイズになった場合に、前記選択領域の符号化表現に基づいて、前記選択領域の内部の係数を復号する復号手段と、
前記復号により得られた係数を逆ディスクリート・ウェーブレット変換することにより、画像を復元する画像復元手段と、
を有することを特徴とする画像復号装置。
【請求項１１】
画像をディスクリート・ウェーブレット変換することにより複数種類のサブバンドを取得し、各サブバンドが符号化表現されたデジタル画像を復号するコンピュータプログラムが記憶されているコンピュータ読取可能な記憶媒体であって、前記コンピュータプログラムは、
前記サブバンドの各々を独立した１つの選択領域として選択する選択ステップと、
前記選択領域の符号化表現におけるビットを入力する入力ステップと、
前記入力されたビットが、前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」であることを示す第１のトークンであるか、前記選択領域内に含まれる各々の多値係数について、少なくとも１つの「１」が存在する場合に有意であることを示す第２のトークンであるかを判定する判定ステップと、
前記入力されたビットが第１のトークンであると判定された時、前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」であるビットプレーンを提供し、最上位ビットプレーンから最下位ビットプレーンに向かう方向に、着目するビットプレーンを変更する着目ビットプレーン変更ステップと、
前記入力されたビットが第２のトークンであると判定された時、前記選択領域が所定のサイズより大きい場合には該選択領域を所定の形状を有する複数の部分領域に分割し、前記部分領域の各々を前記選択領域としてセットする分割ステップと、
前記着目するビットプレーンが最上位のビットプレーンから始めて所定の最低ビットレベルに達するまで、前記分割ステップで前記選択領域としてセットされた前記部分領域のそれぞれに対して、前記判定ステップ及び着目ビットプレーン変更ステップを反復する反復ステップと、
前記選択領域が所定のサイズになった場合に、前記選択領域の符号化表現に基づいて、前記選択領域の内部の係数を復号する復号ステップと、
前記復号により得られた係数を逆ディスクリート・ウェーブレット変換することにより、画像を復元する画像復元ステップと、
をコンピュータに実行させることを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデジタル画像データを表現するための方法及びその装置に関し、詳しくはデジタル画像データから得られた変換係数を符号化又は復号化するための方法及びその装置に関する。
【０００２】
【従来の技術】
ソース画像を線形変換してデータを非相関させ変換係数を符号化することによる変換に基づく多数の画像符号化技術が知られている。このようなコンベンショナルな技術には、８×８ブロックディスクリートコサイン変換（ＤＣＴ）を使用するＪＰＥＧ規格画像圧縮法が含まれる。ＪＰＥＧ符号化はＤＣＴを用いてソース画像のブロックを変換し、得られた変換係数を量子化することによっており、圧縮の大半はそこで行なわれるもので、最も低い周波数係数から最も高い周波数係数へと所定のジグザグなシーケンスで量子化係数を無損失符号化する。
【０００３】
他にも埋め込み(embedded)ゼロツリー・ウェーブレット（ＥＺＷ）法と呼ばれる圧縮技術がある。ＥＺＷは、ディスクリート・ウェーブレット変換をソース画像に適用して、通常は多数の異なる解像度レベルまたはスケールで多数の高周波サブバンドと最低周波数サブバンドに画像を分解する。ゼロツリー符号化をスケール間の係数の自己相似性の予測にしたがってサブバンドに適用する。ゼロツリー符号化した係数は算術符号化を用いて無損失符号化する。
【０００４】
【発明の解決しようとする課題】
しかし、両方の技術とも位置情報を符号化するために比較的複雑な方法を用いており無損失符号化を使用している。つまり、前述の方法は柔軟性の欠如や符号化技術の複雑さを含む多数の欠点を有している。
【０００５】
上記課題を解決するため、本発明の第１の態様としての方法は、
画像をディスクリート・ウェーブレット変換することにより、複数種類のサブバンドを取得する変換ステップと、
前記複数種類のサブバンドの各々を独立した一つの選択領域として選択する選択ステップと、
前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」である場合に非有意であり、少なくとも１つの「１」が存在する場合に有意であると判定する有意性判定ステップと、
前記有意性判定ステップで有意でないと判定された時に、第１のトークンを符号化データとして出力すると共に、最上位ビットプレーンから最下位ビットプレーンに向かう方向に、着目するビットプレーンを変更する着目ビットプレーン変更ステップと、
前記有意性判定ステップで有意であると判定されない限り、前記着目するビットプレーンが、所定の最低ビットレベルに達するまで、前記有意性判定ステップ及び前記着目ビットプレーン変更ステップを反復する反復ステップと、
前記有意性判定ステップで有意であると判定された時に、前記反復ステップを抜け、第２のトークンを符号化データとして出力すると共に、前記選択領域が所定のサイズより大きい場合には該選択領域を所定の形状を有する複数の部分領域に分割し、前記部分領域の各々を前記選択領域としてセットし、各選択領域に対して更に前記反復ステップを実施させる分割ステップと、
前記選択領域が所定のサイズになった場合に、前記選択領域の内部の係数を符号化する符号化ステップと、
を含むことを特徴とする。
【０００６】
前記第１と第２のトークンは各々ビット値０と１を含むことを特徴とする。
【０００７】
前記部分領域はそれぞれ等しいサイズであることを特徴とする。
【０００８】
前記部分領域は四角形であることを特徴とする。
【０００９】
前記所定のサイズは２×２係数よりも小さいか又はそれと同サイズであることを特徴とする。
【００１１】
上記課題を解決するため、本発明の第２の態様としての装置は、
画像をディスクリート・ウェーブレット変換することにより、複数種類のサブバンドを取得する変換手段と、
前記複数種類のサブバンドの各々を独立した一つの選択領域として選択する選択手段と、
前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」である場合に非有意であり、少なくとも１つの「１」が存在する場合に有意であると判定する有意性判定手段と、
前記有意性判定手段で有意でないと判定された時に、第１のトークンを符号化データとして出力すると共に、最上位ビットプレーンから最下位ビットプレーンに向かう方向に、着目するビットプレーンを変更する着目ビットプレーン変更手段と、
前記有意性判定ステップで有意であると判定されない限り、前記着目するビットプレーンが、所定の最低ビットレベルに達するまで、前記有意性判定手段による判定及び着目ビットプレーン変更手段による着目するビットプレーンの変更を反復する反復手段と、
前記有意性判定手段で有意であると判定された時に、前記反復手段での反復を抜け、第２のトークンを符号化データとして出力すると共に、前記選択領域が所定のサイズより大きい場合には該選択領域を所定の形状を有する複数の部分領域に分割し、前記部分領域の各々を前記選択領域としてセットし、各選択領域に対して更に前記反復ステップを実施させる分割手段と、
前記選択領域が所定のサイズになった場合に、前記選択領域の内部の係数を符号化する符号化手段と、
を含むことを特徴とする。
【００１２】
上記課題を解決するため、本発明の第３の態様としての記憶媒体は、
コンピュータプログラムが記憶されているコンピュータ読取可能な記憶媒体であって、前記コンピュータプログラムは、
画像をディスクリート・ウェーブレット変換することにより、複数種類のサブバンドを取得する変換ステップと、
前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」である場合に非有意であり、少なくとも１つの「１」が存在する場合に有意であると判定する有意性判定ステップと、
前記有意性判定ステップで有意でないと判定された時に、第１のトークンを符号化データとして出力すると共に、最上位ビットプレーンから最下位ビットプレーンに向かう方向に、着目するビットプレーンを変更する着目ビットプレーン変更ステップと、
前記有意性判定ステップで有意であると判定されない限り、前記着目するビットプレーンが、所定の最低ビットレベルに達するまで、前記有意性判定ステップ及び前記着目ビットプレーン変更ステップを反復する反復ステップと、
前記有意性判定ステップで有意であると判定された時に、前記反復ステップを抜け、第２のトークンを符号化データとして出力すると共に、前記選択領域が所定のサイズより大きい場合には該選択領域を所定の形状を有する複数の部分領域に分割し、前記部分領域の各々を前記選択領域としてセットし、各選択領域に対して更に前記反復ステップを実施させる分割ステップと、
前記選択領域が所定のサイズになった場合に、前記選択領域の内部の係数を符号化する符号化ステップと、
をコンピュータに実行させることを特徴とする。
【００１３】
上記課題を解決するため、本発明の第４の態様としての方法は、
画像をディスクリート・ウェーブレット変換することにより複数種類のサブバンドを取得し、各サブバンドが符号化表現されたデジタル画像を復号する方法であって、
前記サブバンドの各々を独立した１つの選択領域として選択する選択ステップと、
前記選択領域の符号化表現におけるビットを入力する入力ステップと、
前記入力されたビットが、前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」であることを示す第１のトークンであるか、前記選択領域内に含まれる各々の多値係数について、少なくとも１つの「１」が存在する場合に有意であることを示す第２のトークンであるかを判定する判定ステップと、
前記入力されたビットが第１のトークンであると判定された時、前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」であるビットプレーンを提供し、最上位ビットプレーンから最下位ビットプレーンに向かう方向に、着目するビットプレーンを変更する着目ビットプレーン変更ステップと、
前記入力されたビットが第２のトークンであると判定された時、前記選択領域が所定のサイズより大きい場合には該選択領域を所定の形状を有する複数の部分領域に分割し、前記部分領域の各々を前記選択領域としてセットする分割ステップと、
前記着目するビットプレーンが最上位のビットプレーンから始めて所定の最低ビットレベルに達するまで、前記分割ステップで前記選択領域としてセットされた前記部分領域のそれぞれに対して、前記判定ステップ及び着目ビットプレーン変更ステップを反復する反復ステップと、
前記選択領域が所定のサイズになった場合に、前記選択領域の符号化表現に基づいて、前記選択領域の内部の係数を復号する復号ステップと、
前記復号により得られた係数を逆ディスクリート・ウェーブレット変換することにより、画像を復元する画像復元ステップと、
を有することを特徴とする。
【００１４】
前記所定のサイズは２×２係数よりも小さいか又はそれと同サイズであることを特徴とする。
【００１５】
前記反復ステップにおいて、前記スキャニングステップから前記分割ステップまでのステップは、前記選択領域の各々のビットプレーンがスキャンされるまで、反復されることを特徴とする。
【００１６】
前記スキャニングステップは最上位ビットプレーンから最下位ビットプレーンに向かって行われ、前記所定のビットプレーンは前記有意なビットプレーンであることを特徴とする。
【００１７】
上記課題を解決するため、本発明の第５の態様としての装置は、
画像をディスクリート・ウェーブレット変換することにより複数種類のサブバンドを取得し、各サブバンドが符号化表現されたデジタル画像を復号する装置であって、
前記サブバンドの各々を独立した１つの選択領域として選択する選択手段と、
前記選択領域の符号化表現におけるビットを入力する入力手段と、
前記入力されたビットが、前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」であることを示す第１のトークンであるか、前記選択領域内に含まれる各々の多値係数について、少なくとも１つの「１」が存在する場合に有意であることを示す第２のトークンであるかを判定する判定手段と、
前記入力されたビットが第１のトークンであると判定された時、前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」であるビットプレーンを提供し、最上位ビットプレーンから最下位ビットプレーンに向かう方向に、着目するビットプレーンを変更する着目ビットプレーン変更手段と、
前記入力されたビットが第２のトークンであると判定された時、前記選択領域が所定のサイズより大きい場合には該選択領域を所定の形状を有する複数の部分領域に分割し、前記部分領域の各々を前記選択領域としてセットする分割手段と、
前記着目するビットプレーンが最上位のビットプレーンから始めて所定の最低ビットレベルに達するまで、前記分割手段で前記選択領域としてセットされた前記部分領域のそれぞれに対して、前記判定手段での判定及び着目ビットプレーン変更手段による着目するビットプレーンの変更を反復する反復手段と、
前記選択領域が所定のサイズになった場合に、前記選択領域の符号化表現に基づいて、前記選択領域の内部の係数を復号する復号手段と、
前記復号により得られた係数を逆ディスクリート・ウェーブレット変換することにより、画像を復元する画像復元手段と、
を有することを特徴とする。
【００１８】
上記課題を解決するため、本発明の第６の態様としての記憶媒体は、
画像をディスクリート・ウェーブレット変換することにより複数種類のサブバンドを取得し、各サブバンドが符号化表現されたデジタル画像を復号するコンピュータプログラムが記憶されているコンピュータ読取可能な記憶媒体であって、前記コンピュータプログラムは、
前記サブバンドの各々を独立した１つの選択領域として選択する選択ステップと、
前記選択領域の符号化表現におけるビットを入力する入力ステップと、
前記入力されたビットが、前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」であることを示す第１のトークンであるか、前記選択領域内に含まれる各々の多値係数について、少なくとも１つの「１」が存在する場合に有意であることを示す第２のトークンであるかを判定する判定ステップと、
前記入力されたビットが第１のトークンであると判定された時、前記選択領域内に含まれる各々の多値係数について、着目するビットプレーンおよびその上位ビットプレーンが全て「０」であるビットプレーンを提供し、最上位ビットプレーンから最下位ビットプレーンに向かう方向に、着目するビットプレーンを変更する着目ビットプレーン変更ステップと、
前記入力されたビットが第２のトークンであると判定された時、前記選択領域が所定のサイズより大きい場合には該選択領域を所定の形状を有する複数の部分領域に分割し、前記部分領域の各々を前記選択領域としてセットする分割ステップと、
前記着目するビットプレーンが最上位のビットプレーンから始めて所定の最低ビットレベルに達するまで、前記分割ステップで前記選択領域としてセットされた前記部分領域のそれぞれに対して、前記判定ステップ及び着目ビットプレーン変更ステップを反復する反復ステップと、
前記選択領域が所定のサイズになった場合に、前記選択領域の符号化表現に基づいて、前記選択領域の内部の係数を復号する復号ステップと、
前記復号により得られた係数を逆ディスクリート・ウェーブレット変換することにより、画像を復元する画像復元ステップと、
をコンピュータに実行させることを特徴とする。
【００２９】
【発明の実施の形態】
本発明の実施例の概要を示すために高レベルブロック図が図１に図示してある。入力画像１０２は線形変換が望ましい変換ブロック１１０に提供されて対応する変換係数１１２を生成する。ディスクリート・ウェーブレット変換（ＤＷＴ）を用いるのが望ましい。
【００３０】
画像の２次元ＤＷＴは画像に対する低周波近似と３つの高周波細部コンポーネントを用いて画像を表現する変換である。従来、これらのコンポーネントはサブバンドと呼ばれている。ＤＷＴで形成された４枚の部分画像の各々はもとの画像のサイズの１／４である。低周波画像はもとの画像についての情報の大半を含む。この情報、またはエネルギー・コンパクションは、画像圧縮に活用されるディスクリート・ウェーブレット変換画像サブバンドの特徴である。
【００３１】
単一レベルＤＷＴを低周波画像、またはサブバンドに対して再帰的に任意の反復回数だけ適用できる。例えば、画像の３レベルＤＷＴは、１回変換を適用してから変換によって得られた低周波サブバンドにＤＷＴを適用することで得られる。つまり、これにより９個の細かいサブバンドと１つの（非常に）低周波のサブバンドが得られる。３レベルＤＷＴの後でも、得られた低周波サブバンドはもとの画像についての相当量の情報を含んでおり、なおかつ６４分の１の小ささ（１／４×１／４×１／４）であることから、圧縮において係数６４倍となる。
【００３２】
しかし、画像データを非相関させるための他の線形変換も本発明の範囲から逸脱することなく実行できる。例えば、ディスクリートコサイン変換（ＤＣＴ）を実行できる。変換係数１１２，または、さらに特定すれば符号化表現１２２を提供する効率的な方法でビット再構成ブロック１２０によりビット・シーケンスが表わす値を符号化する。
【００３３】
復号処理は符号化処理の単なる逆である。符号化係数は変換係数に復号される。（変換ドメインの）画像は逆変換されてもとの画像、またはそのある程度の近似を形成する。
【００３４】
本発明の実施例は例えば図８に図示してあるようなコンベンショナルな汎用コンピュータを用いて実施するのが望ましく、図３から図６または図９から図１２の処理がコンピュータ上で動作するソフトウェアとして実装される。
【００３５】
詳しくは、符号化及び／又は復号化の手順はコンピュータで実行されるソフトウェア内の指示によって影響される。
【００３６】
そのソフトウェアは、例として以下に説明されている記憶デバイスを含むコンピュータで読みとり可能な媒体に記録されることができる。そのソフトウェアは、そのコンピュータで読みとり可能な媒体から、そのコンピュータへロードされ、そのコンピュータにより動作される。そのようなソフトウェアやコンピュータ・プログラムが記録されているコンピュータ読取り可能媒体は、コンピュータ・プログラム製品である。そのコンピュータ内でそのようなコンピュータ・プログラム製品を使用することは、本発明の実施例に関連してデジタル画像の符号化及びデジタル画像の符号化表現の復号化に有利な装置にはむしろ効果的である。デジタル画像を符号化し、対応する画像の符号化表現を復号化するため、又はその逆のことをするため、一つのシステムを用いてもよい。
【００３７】
コンピュータシステム８００は、コンピュータ８０２とビデオディスプレイ８１６と、入力デバイス８１８と、８２０を含む。更に、ライン印刷装置、レーザ印刷装置、プロッタ、及びコンピュータ８０２に接続されている他の複写装置等を含む数種類の出力デバイスのいずれかをコンピュータシステム８００に接続することができる。コンピュータシステム８００は、モデム通信経路、コンピュータ・ネットワーク等のような適切な通信チャンネルを使用して、１台または２台以上の他のコンピュータに接続することができる。そのコンピュータ・ネットワークはローカル・エリア・ネットワーク（ＬＡＮ）及び／又はワイド・エリア・ネットワーク（ＷＡＮ）及び／又はイントラネット及び／又はインターネットを含むことができる。
【００３８】
コンピュータ８０２自体は中央演算処理ユニット（以下プロセッサ）８０４と、ランダム・アクセス・メモリ（ＲＡＭ）とリード・オンリー・メモリー（ＲＯＭ）と、入出力（Ｉ／Ｏ）インタフェース８０８と、ビデオインタフェース８１０と、１台又は２台以上の基本的に図８においてブロック８によって示されている記憶デバイスを有する。
【００３９】
記憶デバイス８には、フロッピーディスク、ハードディスク・ドライブ、光磁気ディスク・ドライブ、ＣＤ−ＲＯＭ、磁気テープ、又は他多数の当業者に周知の不揮発性記憶デバイスの内１又は２以上のものを有することができる。
【００４０】
各コンポーネント８０４から８１２は典型的に、更にデータ、アドレス、制御バスを含むことのできるバス８１４経由で他の１台又は２台以上のデバイスに接続されている。
【００４１】
ビデオ・インタフェース８１０は、ビデオ・ディスプレイ８１６に接続されて、ビデオ・ディスプレイ８１６上でディスプレイするためコンピュータ８０２からビデオ信号を提供する。コンピュータ８０２を操作するためのユーザ入力は１台又は２台以上の入力デバイスにより提供されることができる。例えば、操作をする者は、キーボード８１８及び／又はコンピュータ８０２に入力を提供するためのマウス８２０のようなポインティング・デバイスを使用できる。
【００４２】
そのコンピュータ・システム８００は図示の目的で単に提供されたものであり、本発明の趣旨および範囲から逸脱することなく他の設定を使用することができる。コンピュータ・システムはＩＢＭ−ＰＣ／ＡＴまたはその互換機、またはマッキントッシュ（ＴＭ）ファミリーのＰＣやサン・マイクロシステムズのSparcstation(TM)またはその他のうちのひとつを用いて実現することができる。前述のコンピュータの種類は本発明の実施例を実施することのできる一例に過ぎない。概して、以下示される実施例における処理は、ソフトウェア、又は、コンピュータで読みとり可能な媒体としてのハードディスクドライブ（基本的に図８でブロック８１２として描写されている）上に記録されたプログラム、として内在し、プロセッサ８０４を用いて読みとり、制御される。プログラムと画素のデータと、ネットワークから取ってきたデータのいずれもの中間記録は、ハードディスクドライブ８１２と協調している可能性のあるセミコンダクタ・メモリ８０６を用いて行うことも可能である。
【００４３】
幾つかの場合においては、そのプログラムはＣＤ−ＲＯＭ又はフロッピーディスク（共に基本的にブロック８１２により描写される）上で復号化され、ユーザに提供されることができ、あるいは、例えば、代りにユーザが、コンピュータに接続したモデム・デバイス経由でネットワークから読みとることもできる。
【００４４】
更には、そのソフトウェアは磁気テープ、ＲＯＭ又は集積回路、光磁気ディスク、コンピュータと他のデバイスの間の電磁波又は赤外線伝達チャンネル、ＰＣＭＣＩＡカードのようなコンピュータで読みとり可能なカード、 E-Mail通信やウェブサイトに記録された情報を含むインターネットやイントラネット等、を含む他のコンピュータで読みとり可能な媒体から、コンピュータシステム８００にロードすることもできる。前述のものは適切なコンピュータで読みとり可能な媒体の一例にすぎない。本発明の趣旨及び範囲から逸脱することなくコンピュータで読みとり可能な他の媒体を使用することができる。
【００４５】
本実施例の更なる説明を進める前に、以下で用いる術語の概略を提供する。数「ビットｎ」または「ビット数ｎ」の二進整数表現は最下位ビットの左側で２進数の桁ｎ番目を表わす。例えば、８ビットのバイナリ表現を仮定すると、十進数９は００００１００１で表わされる。この数で、ビット３は１に等しく、ビット２、ビット１、ビット０は各々０，０，１に等しい。
【００４６】
変換符号化用途で、係数の可能な範囲を表わすために必要とされる係数あたりのビット数は線形変換と入力画素の（画素あたりビット数で）各画素の解像度により決定される。各画素の値の範囲は代表的には変換係数の大半の値に対して大きく、大半の係数はゼロが先行する大きな数を有する。例えば、数値９は８ビット表現で４個のゼロが先行し、１６ビット表現では１２個のゼロが先行する。本発明の実施例は、効率的な方法で、係数のブロックに対して、これらの先行するゼロを表現する（または符号化する）方法ならびにその装置を提供する。残りのビットと数値の符号は変更なしに直接符号化される。
【００４７】
説明を簡略化して不必要に本発明を不明瞭にしないために、以降で変換係数は符号なし２進数の形で符号１ビットをつけて表現されるものと仮定する。つまり、十進数−９と９は同じビット列即ち１００１で表わされ、前者は１に等しい符号ビットで負の値であることを表わし、後者は０に等しい符号ビットで正の値を表わす。先行するゼロの個数は変換係数の範囲によって決まる。整数表現を用いる場合に、係数はすでに暗黙のうちに最も近い整数値へ量子化されているが、これは本発明の本実施例では必ずしも必要ではない。さらに、圧縮目的で、小数点以下のビットに含まれる何らかの情報は通常無視される。
【００４８】
領域は一組の連続的な画像係数で構成される。係数という述語は、以降で画素と相互交換可能なように使用されるが、当業者には良く理解されるように、前者は変換ドメイン（例えばＤＷＴドメイン）内の画素を表わすために用いられるのが代表的である。
【００４９】
（好適な実施例における符号化処理）
図３と４とを参考にして、好適実施例のより詳細な説明をおこなう。
【００５０】
図３は好適実施例による画像符号化の方法を示すフロー図である。ステップ３０２において、入力画像を用いて処理が開始される。ステップ３０４で、入力画像は線形変換望ましくはディスクリート・ウェーブレット変換を用いて変換される。
【００５１】
ステップ３０６では、絶対値が最大の変換係数の最上位ビット（ＭＳＢ）が決定され、パラメータmaxBitNumberがこの係数値にセットされる。例えば、最大の変換係数が二進数の値００００１００１（十進数９）の場合、パラメータmaxBitNumberは３にセットされるが、これはＭＳＢがビット番号３であるためである。これ以外に、パラメータmaxBitNumberは絶対値が最大の変換係数のＭＳＢより大きい何らかの値となるようにセットしても良い。
【００５２】
当該サブバンドの全体に各初期領域をセットすることにより、各サブバンドは別々に処理することができる。例えば、その画像の３レベルＤＷＴの場合、その領域として１０のサブバンドにより構成される結果の係数が指定されてもよい
さらに、ステップ３０６で、符号化パラメータminBitNumberが符号化画像品質を指定するようにセットされる。さらに詳しくは、この符号化パラメータは、変換される画像の全ての係数の精度を指定し、必要に応じて変更できる。例えば、minBitNumberが３では、値が１より元の画像の再現がより粗くなる。
【００５３】
オプションとして、本技術が入力画像の符号化表現で出力ヘッダを提供するステップ３０８を含む。こうすれば、実際上の実装において、ヘッダ情報は符号化表現の一部として出力される。例えば、本発明の実施例の出力ヘッダは、画像の高さと幅、ＤＷＴのレベル数、ＤＣサブバンドの平均値、パラメータmaxBitNumber、パラメータminBitNumberを含むソース画像についての情報を含む。
【００５４】
ステップ３１０が始まると、変換画像の各々のサブバンドがステップ３１２とステップ３１４で別々に符号化される。各サブバンドは独立して、低周波から高周波の順番に符号化される。ＤＣサブバンドでは、符号化の前に平均値が除去されステップ３０８でヘッダ情報に符号化される。ステップ３１２では、各々のサブバンドはサブバンド全体として初期領域をセットすることにより符号化される。ステップ３１４では、パラメータとしてmaxBitNumberおよびminBitNumberにより領域が符号化される。これは、画像の低解像度バージョンが高解像度以前にビットストリームに符号化されるため階層化コードを提供する。処理はステップ３１６で終了する。
【００５５】
図４は各々の領域を符号化するために図３のステップ３１４でコールされる手順"Code region(currentBitNumber,minBitNumber)の詳細なフロー図である。ここでmaxBitNumberがcurrentBitNumberとして提供される。ステップ４０２で処理が始まる。図４の領域符号化処理への入力はcurrentBitNumberとminBitNumberパラメータを含む。望ましくは、本方法は、選択領域または部分領域で処理がそれ自体をコールできるような再帰的技術として実装される。しかし、処理は本発明の範囲と趣旨から逸脱することなく非再帰的な方法で実装してもよい。
【００５６】
決定ブロック４０４で、currentBitNumberパラメータがminBitNumberパラメータより小さいか判定するチェックを行なう。それ以外に、決定ブロック４０４が真（イエス）を返す場合には何も行なわずに処理はステップ４０６の呼び出し手順に戻る。この条件は、選択領域のあらゆる係数がminBitNumberより小さいＭＳＢ番号を有することを表わしている。決定ブロック４０４が偽（ノー）を返す場合、処理は決定ブロック４０８に進む。
【００５７】
決定ブロック４０８では、選択領域が１×１画素か調べるチェックを行なう。本実施例においては所定の１×１画素を用いて説明しているが、等業者にとって本発明の趣旨及び範囲から逸脱することなく他のサイズを用いることができることは明らかである。所定のサイズはＭ×Ｎ画素であることが可能であり、ＭもＮも正の整数である。例えば、所定のサイズは２×２の画素又は係数よりも小さいか同じサイズであってもよい。決定ブロック４０８が真（イエス）を返す場合、処理はステップ４１０に進む。ステップ４１０では、１×１画素が符号化される。再び等業者にとって異なる所定サイズ(Ｍ×Ｎ画素)を用いることができることは明らかである。更に、所定のサイズは２×２の画素又は係数よりも小さいか同じサイズであってもよい。望ましくは、これは符号化表現にminBitNumberより上の残りのビットを直接出力することからなる。ステップ４１２では、処理は呼び出し手順に戻る。それ以外の場合、決定ブロック４０８が偽（ノー）を返す場合、領域は１つ以上の係数から構成されており処理は決定ブロック４１４に続く。
【００５８】
決定ブロック４１４では、有意かどうか決定するために選択領域をチェックする。つまり、領域の有意性を調べる。領域内で各々の係数のＭＳＢがcurrentBitNumberパラメータの値より小さい場合には領域は有意でないとされる。領域有意性の考え方を正確にするため、式（１）に数学的定義を掲載する。任意のビット番号で、仮にcurrentBitNumber＝ｎで、領域は次のような場合に有意でないとされる：
【００５９】
【数１】
0003976876.tif 000002
【００６０】
ここでＲは領域、またｃijはこの領域内の係数(i,j)を表わす。
【００６１】
決定ブロック４１４が偽（ノー）を返した場合、処理はステップ４１６に続く。ステップ４１６では、値０（すなわち第１のトークン）が符号化表現ストリームに出力され、currentBitNumberパラメータが１だけデクリメントされる。つまり、この領域の次に低いビットプレーンが処理のために選択される。処理は決定ブロック４０４に続き、ここでパラメータcurrentBitNumber-1とminBitNumberによりその領域が再処理される。それ以外の場合、決定ブロック４１４が真（イエス）を返した場合、つまり領域が有意な場合、処理はステップ４１８に続く。
【００６２】
ステップ４１８では、値１（すなわち第２のトークン）が符号化表現ストリームに出力される。ステップ４２０では、指定した分割アルゴリズムを用いて選択領域が所定数（望ましくは４）の部分領域に分割される。使用する分割アルゴリズムでコーダに分かっている。
【００６３】
本発明の本実施例では正方形領域を使用する。領域は４個の等しいサイズの（正方形）部分領域に分割されるのが望ましい。図２に図示してあるように、選択領域（Ｒ）２００はＭ×Ｍ係数のサイズを有し４つの等しいサイズの部分領域２１０，２１２，２１４，２１６に分割される。部分領域の各々はＮ×Ｎのサイズで、ＮはＭ／２に等しい。初期領域のサイズと形状によってはこれが常に可能になるわけではない。不可能な場合には、初期領域を多数の正方形領域に分割し、各々が２のべき乗の寸法を取るようにし、これらの区画を別々に符号化できる。いずれの場合にも、インテリジェントな方法で行なわれれば総合的な結果に対してこの初期化がもたらす影響は最少である。別の実施例においては、ブロック単位のコーダに適している異なる分割が用いられる。
【００６４】
ステップ４２２では、各々の部分領域が同じcurrentBitNumberとminBitNumberパラメータで符号化される。これは図４の手順 "Code region (currentBitNumber,minBitNumber)"の再帰的呼び出しを用いて行なうのが望ましい。部分領域の符号化は並列にまたは逐次的に実施できる。後者の場合、処理は低周波サブバンドから高周波サブバンドへ向かって始める。
【００６５】
符号化表現において、変換係数はcurrentBitNumberからminBitNumberへ画素ビットを単純に出力することで符号化する。望ましくは、標記にしたがい係数ビットの幾つかが非ゼロの場合にのみ符号を出力する。例えば、currentBitNumber=3の場合で、minBitNumber=1であれば、−９（００００１００１）は符号ビット「１」に続く「１００」に符号化される。
【００６６】
適宜、上記好適な実施例における符号化処理は、(他の実施例と同様)単純な形式の量子化を用いて行ってもよい。量子化は符号化の前に幾つかのスケール要素によりデータをスケーリングする(分割する)ことによって行うことができる。同様に、もし、そのスケーリングのステップが関連する符号化処理の一部として実行されるなら、以下に示す復号化処理は逆スケーリングのステップの後に行えばよい。
【００６７】
更には、エントロピーコード化(例えば、２進算術コード化)は、適宜、本発明の実施例の符号化処理と共に用いることができる。つまり、上記符号化処理の後に、符号化ストリームを符号化するエントロピーのステップを行うことができる。そのようにする場合には、以下の復号化ステップは、エントロピーコード化されたストリームを符号化するためのエントロピー符号化ステップを先に行えばよい。
【００６８】
（好適実施例の復号処理）
図５は、図３および図４の処理を用いて得られた画像の符号化表現を復号する方法を示すフロー図である。ステップ５０２において、符号化表現を用いて処理を開始する。ステップ５０４では、ヘッダ情報が符号化表現から読み取られてもとの画像のサイズを決定し、これによって初期領域サイズを決定する。また、maxBitNumber（符号化処理における初期のcurrentBitNumberに等しい）やminBitNumberなどの情報が入力される。更なる情報としてはＤＣサブバンドの平均値などが挙げあれる。
【００６９】
ステップ５０６では、各サブバンドの復号が各々のサブバンドへ領域を設定することから開始される。ステップ５０８では、maxBitNumberとminBitNumberパラメータを用いて選択領域が復号される。ステップ５１０では、逆ＤＷＴを復号した選択領域にて起用する。処理はステップ５１２で終了する。
【００７０】
図６は手順コール"Decode region(currentBitNumber, minBitNumber)を用いて各領域を符号化するための図５のステップ５０８の詳細なフロー図である。ここでmaxBitNumberはcurrentBitNumberとして提供される。ステップ６０２で処理が始まる。図６の領域復号処理への入力はcurrentBitNumberとminBitNumberパラメータである。また、本方法は再帰的技術として実装するのが望ましい。しかし、本発明の趣旨と範囲から逸脱することなく処理を非再帰的な方法で実現することもできる。
【００７１】
決定ブロック６０４では、currentBitNumberがminBitNumberより小さいか決定するチェックを行なう。決定ブロック６０４が真（イエス）を返す場合、処理はステップ６０６に続き、ここで呼び出し手順に処理が復帰する。それ以外の場合、決定ブロック６０４が偽（ノー）を返した場合、処理は決定ブロック６０８に続く。
【００７２】
決定ブロック６０８では、選択領域が１×１画素のサイズを有するか決定するチェックを行なう。決定ブロック６０８が真（イエス）を返す場合、処理はステップ６１０に続く。ステップ６１０では、１×１領域が復号される。同様にそのサイズは所定のもので、ＭとＮが共に正の整数であるところの、Ｍ×Ｎ画素と同等であってもよい。例えば、２×２の画素あるいは係数と同サイズあるいはそれ未満であってもよい。処理はステップ６１２で呼び出し手順に戻る。決定ブロック６０８が偽（ノー）を返した場合、処理はステップ６１４に続く。ステップ６１４では、符号化表現からビットが入力される。
【００７３】
決定ブロック６１６では、ビットが１に等しいか決定するチェックを行なう。即ち領域が有意か決定するために入力をチェックする。決定ブロック６１６が偽（ノー）を返した場合処理はステップ６１８に進む。ステップ６１８では、currentBitNumberが決定され、処理は決定ブロック６０４に続く。それ以外の場合、決定ブロック６１６が真（イエス）を返した場合、処理はステップ６２０に進む。ステップ６２０では、領域が所定の個数（望ましくは４）の部分領域に分割される。ステップ６２２では、部分領域の各々がcurrentBitNumberとminBitNumberを用いて復号される。好適実施例において、これは図６に図示してある処理への再帰的呼び出しを用いて行なわれる。ステップ６２４で処理は呼び出し手順に戻る。
【００７４】
このように、エンコーダでの有意性の決定から出力されたビットがその処理のどのパスを取るかデコーダに指示し、こうしてエンコーダに倣う。画素とおそらくは符号も適当なビット数（currentBitNumberからminBitNumberまで、及び、それらに非ゼロがある場合には符号ビット）で単純に読み出すことにより復号される。
【００７５】
（２次元的な例）
本方法は大半の変換係数の先行するゼロを効率的に符号化し、一方で最上位ビットから所定の最下位ビットへ、パラメータminBitNumberにより指定されるビットを符号化し、符号は単純にそのままとする。このようにして、本発明の好適実施例ではうまく先行するゼロを表現している。本方法はある状況で、即ちディスクリート・ウェーブレット変換画像係数の符号化で非常に有効であり、代表的には広いダイナミックレンジが示される。代表的には少数の係数が非常に大きな値を有しているが、大半は非常に小さい値を有している。
【００７６】
４×４係数を含む２次元領域の符号化の例について、図７Ａから図７Ｄを参照して説明する。図２８Ａの４×４領域７００の処理は、係数全部のうちで最大のビット番号（ビットプレーン）である７にmaxBitNumberをセットして開始する。
【００７７】
【数２】
0003976876.tif 000003
【００７８】
図示の目的では、minBitNumberは３にセットされる。ヘッダはmaxBitNumberとminBitNumberを含む符号化表現に出力されるのが望ましい。領域７００を符号化する処理は次のように進む。
【００７９】
currentBitNumber＝７で、領域７００はビット番号７（図４の決定ブロック４０４，４０８，４１４およびステップ４１８を参照）に対して有意であるから出力される。領域７００は、図７Ａの左上の領域７１０，右上の領域７１２，左下の領域７１４，右下の領域７１６の４個の部分領域に分割される（図４のステップ４２０参照）。部分領域各々は２×２係数で構成される。
【００８０】
図７Ａの部分領域７１０，７１２，７１４，７１６はさらに図７Ｂに図示してある所定の処理シーケンスで符号化される。領域７５０は４個の部分領域７５０Ａ〜７５０Ｄで構成される。図面に示してある３本の矢印は処理の順番またはシーケンス、即ち左上の部分領域７５０Ａ、右上の部分領域７５０Ｂ、左下の部分領域７５０Ｃ、右下の部分領域７５０Ｄそれぞれの処理を表わす。
【００８１】
図７Ａの部分領域７１０は最初に符号化される（図４のステップ４２２参照）。currentBitNumberが７に等しい場合、１が符号化表現に出力される。部分領域７１０は十進数の値２００，１３，−１３，３を有する４個の１×１画素に分割される。これらの係数の各々はcurrentBitNumber＝７からminBitNumber＝３までの各係数のビットを出力することで符号化される（図４の決定ブロック４０８とステップ４１０参照）。符号ビットは必要なら出力される。このようにして、十進数での値が２００なら符号ビット０に続けて１１００１と符号化される。係数値１３は符号ビット０付きで００００１として符号化される。係数値−１３では符号ビット１のついた００００１に符号化される。最後に、係数値３は０００００（符号ビットなし）に符号化される。各係数の符号化表現は、currentBitNumberとminBitNumberの間に、係数「２００」のビットに先行する２個の「１」ビットを含む。これで左上の部分領域７１０の符号化が完了する。この状態での符号化出力は次のようになる：
【００８２】
【数３】
0003976876.tif 000004
【００８３】
ヘッダ情報は前述の表現に示していない。
【００８４】
右上の部分領域７１２が次に符号化される（図７Ｂ参照）。領域７１２は、７，６，５，４に等しいcurrentBitNumberの各々について有意でないので、これらのビット番号で０が出力される。currentBitNumber＝３では１が出力されるが、これはビットプレーンがビット番号３に対して有意であるためである。部分領域７１２は値−１１，−８，−４，−３を有する１×１画素４個に分割される。これらの十進数の値は、符号ビット１のついたビット値１，符号ビット１のビット値１，符号ビットなしのビット値０，０に各々符号化される。つまりこの段階で、符号化表現は次のようになる：
【００８５】
【数４】
0003976876.tif 000005
【００８６】
左下の部分領域７１４が次に符号化される。領域７１４は、７，６，５，４に等しいcurrentBitNumberの各々について有意でないので、これらのビット番号で０が出力される。currentBitNumber＝３では１が出力されるが、これはビットプレーンがビット番号３に対して有意であるためである。部分領域７１４は値８，１，２，−１を有する１×１画素４個に分割される。これらが各々、符号ビット０の２進数１、および符号ビットのない２進数０，０，０に符号化される。
【００８７】
最後に、値−２，−２，−３，−３を有する右下の部分領域７１６が符号化される。currentBitNumber＝７，６，５，４，３の各々で部分領域７１６がこれらのビット数に対して有意ではないため０を出力する。符号ビットは出力されない。つまり符号化表現は次のようになる：
【００８８】
【数５】
0003976876.tif 000006
【００８９】
デコーダは単純に符号化処理にならって図７Ｃに図示したように符号化表現から領域を再構成する。
【００９０】
復号処理は多数の方法で「よりスマート」に行なうことができる。このような「よりスマート」な方法の１つが図７Ｄに図示してある。この場合、非ゼロ係数の大きさは２のminBitNumberのべき乗の半分ずつ各々増加する。これが図２８Ｄに図示してある。このようにすると、「スマート」な復号処理は、復号した係数ともとの係数の間の平均二乗誤差を一般的に減少できる。さらに、エンコーダはこれ以外にもこの（種の）演算を実行でき、これによってデコーダに図７Ｃに図示した最も簡単な方法を利用させる。
【００９１】
（他の実施例の符号化処理）
他の実施例における符号化処理について、図９から図１２を参照して説明する。図９から図１２に図示したフロー図に図示してある処理は前述した処理に対応する汎用コンピュータ・システム上で動作するソフトウェア、例えば図８に示されているものを用いて実装できる。
【００９２】
デジタル画像全体のディスクリート・ウェーブレット変換はブロック単位で実行できる。各ブロックでの変換の結果は一組の係数となり、これは基本的に画像全体のディスクリート・ウェーブレット変換の一組の空間的に対応する係数と等しい。例えば、画像全体についてのディスクリート・ウェーブレット変換の所定の係数の組から、デジタル画像の一部またはブロックを指定された細部まで再現できる。周波数ドメインから所定の係数の組を選択することは実質的に空間ドメインからのデジタル画像（ブロック）の対応する部分を表現することになる。デジタル画像のブロック単位のディスクリート・ウェーブレット変換は、画像を複数ブロックに分割し各ブロックに対して独立して変換を適用することにより実行でき、これによって実質的に現在の空間的な位置に関連したＤＷＴ係数を評価することができる。ブロック単位の変換アプローチを採用する利点は、画像の他のブロックとの最小限の相互作用で（実質的に独立して）ブロックを実質的に符号化できることである。ブロック単位の技術は本質的にメモリーにローカライズされており、そのためコンピュータ・システムを用いて実現した場合には一般に効率的である。
【００９３】
ブロッキングすることは望ましいことであるが、本発明の実施例はこのステップ抜きに実施されてもよい。実際、画像のブロッキングは概念的にのみなされるもので、実際になされるものではない。すなわち、ブロッキングはある特定のアプリケーションにおいては必要ないものである。必要なのはＤＷＴ係数において空間的に対応しているブロックが、一つのブロックを形成するためにグループ化されることである。例えば、重なり合う可能性のあるブロックは以下に示すように利用することができる。
【００９４】
図９は本発明の他の実施例によるブロック単位の符号化処理を示すフロー図である。処理はステップ９０２から始まる。ステップ９０４で、ヘッダが出力される。この情報は画像の高さと幅、ＤＷＴのレベル数、２個のパラメータmaxBitNumberとminBitNumberを含むのが望ましい。オプションとして、用途によっては多少なりともヘッダ情報を使用できる。
【００９５】
符号化パラメータmaxBitNumberは様々な方法で選択できる。全ての画像ブロックについて、これらのうちのどれかを符号化する前にブロックＤＷＴを実行する場合、maxBitNumberは全部のＤＷＴブロックにわたる最大の係数のＭＳＢ番号となるように選択できる。例えば、最大の係数が１００００００１（十進数１２９）だとすると、maxBitNumberはＭＳＢがビット番号７であるため７にセットされる。これ以外に、入力画像の変換と解像度によって決まる決定閾値を用いることができる。例えば、８ビット入力画像（７ビットと符号にレベルがシフトされる）およびハール変換では、最大のＭＳＢはＪ＋７で区切られ、ＪはＤＷＴのレベル数である。ブロックが小さい場合、このパラメータの選択は圧縮に対して有意な影響を有することがある。場合によっては、maxBitNumberを選択するもっと洗練された方法を用いることがある。しかし、これは特定のアプリケーションに依存する。
【００９６】
パラメータminBitNumberは圧縮比に対する画質の兼ね合いを決定し変更できる。例えば、ほぼ直交に近い変換では、値３が８ビットグレースケールまたは２４ビットＲＧＢ画像で充分な画質を提供する。
【００９７】
ステップ９０６では、画像がブロックに分解される（または画像ブロックが形成される）。画像は重複するブロックに分割されるのが望ましい。しかし、重複しないブロックを用いることもある。係数のブロックはもとの画像全体と同程度の大きさとするか、または８×８係数（３レベル変換で）と同程度の小ささにできる。メモリーの少ないアプリケーションでは、できる限り小さいブロックを使用する。一般に、１６係数のブロックサイズが、３乃至４レベルＤＷＴによる高レベルの圧縮に充分である。３レベルＤＷＴでの８×８係数のブロックサイズは各ブロックのＤＣ係数に対して差動パルス符号変調（ＤＰＣＭ）を用いることで良好な符号化効率を維持できる。
【００９８】
ステップ９０８で、各ブロックはレベルシフトされ変換が実行される。望ましくは、ＤＷＴが使用される。画像値はレベルシフトされ（例えば、８ビット画像では１２８だけシフトされる）、望ましくない平均バイアスを減少または排除し、画像の各々の空間ブロックが変換される。ＤＷＴでは、現在のブロックを包囲するブロックについての何らかの知識が必要とされるのが普通だが（また逆ＤＷＴでも同様だが）、これは厳密には必要とされない。
【００９９】
ステップ９１０では、maxBitNumberとminBitNumberパラメータを用いてブロックを符号化する。処理はステップ９１２で終了する。
【０１００】
ブロックを符号化するステップ９１０が図１０のフロー図に詳細に図示してある。図１０のブロック符号化処理への入力はcurrentBitNumberおよびminBitNumberパラメータを含む。処理はステップ１００２で始まる。決定ブロック１００４では、currentBitNumberがminBitNumberより小さいか決定するチェックを行なう。決定ブロック１００４が真（イエス）を返した場合、処理はステップ１００６に進む。ステップ１００６では、実行が呼び出し処理に返され、これによってブロック内の全ての係数がminBitNumberより小さいＭＳＢ番号を有することを表わす。それ以外の場合で、決定ブロック１００４は偽（ノー）を返すと、処理は決定ブロック１００８に進む。
【０１０１】
決定ブロック１００８では、現在のブロックが有意か決定するチェックを行なう。決定ブロック１００８が偽（ノー）を返した場合、処理はステップ１０１０に進む。ステップ１０１０では、符号化表現に０が出力されてcurrentBitNumberがデクリメントされ、言い換えれば次に低いビットプレーンを選択する。処理は決定ブロック１００４に進む。これ以外の場合、決定ブロック１００８が真（イエス）を返した場合、処理はステップ１０１２に進む。
【０１０２】
ステップ１０１０と併せて決定ブロック１００４と１００８により処理はブロック内で最大の係数のＭＳＢ番号を見つけ出すことができるようになる。ブロック内の全ての係数のＭＳＢ番号がcurrentBitNumberより小さければcurrentBitNumberに対してブロックは有意でない。これは、ブロックのビットプレーンが有意かまたはminBitNumberよりcurrentBitNumberが小さくなるまで反復される。
【０１０３】
ステップ１０１２で、ビットプレーンが有意であることを表わすように、符号化表現には１が出力される。ステップ１０１４では、ＤＣサブバンドが符号化される。ステップ１０１６では、ブロックの細部が、パラメータＪ，currentBitNumber，minBitNumberを用いて符号化される。ステップ１０１８では、実行が呼び出し手順に戻る。つまり、ブロックが有意であれば、ステップ１０１２，１０１４，１０１６が実行され、（一般化）クワドツリー・セグメンテーションを用いてminBitNumberより大きなＭＳＢ番号を有する全ての係数を見付けようとする。ブロックが有意な場合には、ＤＣサブバンド係数と、レベルＪに対して「ブロック細部」と呼ばれる残りの係数で構成されるブロックとの、２個の「サブブロック」に分割される。これは全ての低いレベルでレベルＪのブロックについての高周波情報を表わすためである。
【０１０４】
図１３は係数のブロック１３００のレベル又はオクターブ分割を図示するブロック図である。空間的に関連する変換係数のブロック１３００が与えられると、周波数の増加によって分類され、オクターブ分割される。この分割はブロック１３００の境界内の交差する線により示されている。例えば、図１３のブロック１３００は、その線がサブバンド１３０２から１３２０の境界を示すような、空間的に関連するＤＷＴ係数のブロックであってよい。代わりに、そのブロック１３００はディスクリート・コサイン変換（ＤＣＴ）係数のブロックを同等に表現したものでもよい。
【０１０５】
ブロック１３００の初期分割は２つのサブブロックにするものである。それは、ＤＣ係数を含むスモールブロック１３０２（レベル１として分類され、示されている）と、残り全ての係数を含む１つのディテールブロック（すなわち、ディテール）である。このディテールブロックは、更に１３０４、１３０６、１３０８の３つのスモールブロック（すなわちレベル２）と、残りの係数を含む更なるディテールブロック１つ（すなわちより大きいブロック１３１０〜１３２０）の４つのブロックに分割される。
【０１０６】
同様に、この更なるディテールブロック（すなわちレベル３）はもう４つのサブブロック、３つのミッドサイズブロック１３１０、１３１２、１３１４と、残りの係数を含む新たなディテールブロック１つ、に分割される。最後に、最終ディテールブロックは３つのラージブロック１３１６、１３１８、１３２０（すなわちレベル４）に分割される。そのレベル３とレベル４のブロック１３１０から３１２０（そしてレベル１、２のブロックも可能性としてある）はクワッドツリー分割によって分割される。
【０１０７】
ＤＣサブバンド符号化についての図１０のステップ１０１４が図１２のフロー図で詳細に図示してある。つまり、図１２はcurrentBitNumberとminBitNumberパラメータを使用するサブバンドまたはサブブロックの符号化処理を示している。ステップ１２０２で処理が始まる。決定ブロック１２０４では、currentBitNumberがminBitNumberより小さいか判定するチェックを行なう。決定ブロック１２０４では、currentBitNumberがminBitNumberより小さいか判定するチェックを行なう。決定ブロック１２０４が真（イエス）を返したなら、処理はステップ１２０６に続く。ステップ１２０６では、実行が呼びだし手順に戻る。それ以外の場合、決定ブロック１２０４が偽（ノー）を返した場合、処理は決定ブロック１２０８に進む。
【０１０８】
決定ブロック１２０８では（サブバンドの）ブロックサイズが１×１画素か調べるチェックを行なう。決定ブロック１２０８が真（イエス）を返した場合、処理はステップ１２１０に進む。ステップ１２１０では、１×１画素が符号化される。これは、必要なら符号ビットに続けて、currentBitNumberとminBitNumberを含め、これらの間にあるビットを出力することによる。処理はステップ１２１２で呼びだし手順に戻る。それ以外の場合、決定ブロック１２０８が偽（ノー）を返したなら、処理は決定ブロック１２１４に進む。
【０１０９】
決定ブロック１２１４では、（サブバンドの）ブロックが有意か調べるチェックを行なう。決定ブロック１２１４が偽（ノー）を返した場合、処理はステップ１２１６に進む。ステップ１２１６では、符号化表現に０が出力されcurrentBitNumberがデクリメントされる。処理は決定ブロック１２０４に続く。それ以外の場合で、決定ブロック１２１４が真（イエス）を返したなら、処理はステップ１２１８に進む。
【０１１０】
ステップ１２１８では、（サブバンド）ブロックが有意であることを表わすよう１が符号化表現に出力される。ステップ１２２０では、（サブバンドの）ブロックが４個のサブブロックに分割される。ステップ１２２２では、図３２の処理に再帰的呼び出しを行ない、currentBitNumberとminBitNumberを用いて各々のサブブロックを符号化する。ステップ１２２４では、実行が呼び出し手順に戻る。
【０１１１】
つまり図１２に図示した処理では、サブバンドまたはそのサブブロックが符号化される。最大のＭＳＢ番号は前述のように分離される。サブブロックが１つの画素だけで構成される場合、単一の係数として符号化される。それ以外の場合、currentBitNumberがデクリメントされて、currentBitNumberがminBitNumberより小さくなるまで、またはサブバンド（サブブロック）が有意になるまで符号化表現には０が出力される。サブバンド（サブブロック）が有意な場合、４個の（できるだけ等しくなるように）サブブロックに分割され、これらがさらに符号化される。単一の係数、例えばＤＣ係数は、currentBitNumberからminBitNumberへ係数ビットを出力することにより符号化される。また、符号は係数ビットの幾つかが非ゼロの場合にだけ出力するのが望ましい。
【０１１２】
ブロック細部を符号化するための図１０のステップ１０１６は図１１のフロー図に図示してある。ステップ１１０２で処理が始まる。決定ブロック１１０４では、currentBitNumberがminBitNumberより小さいか判定するチェックを行なう。決定ブロック１１０４が真（イエス）を返した場合、ステップ１１０６で実行は呼び出し手順に戻る。それ以外の場合、決定ブロック１１０４が偽（ノー）を返したならには、処理は決定ブロック１１０８へ進む。
【０１１３】
決定ブロック１１０８では、ブロック（細部）が有意か判定するチェックを行なう。決定ブロック１１０８が偽（ノー）を返した場合、処理はステップ１１１０に進む。ステップ１１１０では、符号化表現に０が出力されcurrentBitNumberがデクリメントされる。処理は決定ブロック１１０４に進む。それ以外の場合には、決定ブロック１１０８が真（イエス）を返したなら、処理はステップ１１１２に進む。
【０１１４】
ステップ１１１２では、ブロック（細部）が有意であることを表わすよう符号化表現に１が出力される。ステップ１１１４では、ハイ−ロー（ＨＬ）、ロー−ハイ（ＬＨ）、ハイ−ハイ（ＨＨ）周波数サブバンドの各々が符号化される。各々の解像度のＨＬ，ＬＨ，ＨＨ周波数サブバンドは共通にＡＣサブバンドと呼ばれる。これらのサブバンドの各々は図１２の処理にしたがって符号化される。ステップ１１１６では、（ブロック細部が存在する場合）図１１に図示してある処理への再帰的呼び出しにより、パラメータＪ−１，currentBitNumber，minBitNumberを用いてブロック細部が符号化される。ステップ１１１８で実行は呼び出し手順に戻る。
【０１１５】
このように、レベルＪでのブロック細部は最大の係数のＭＳＢ番号を最初に分離するように処理される。これはcurrentBitNumberをデクリメントしてブロックが有意になるまでゼロを出力することにより行なう。ブロックは次にレベルＪでの３個の高周波サブバンドとレベルＪ−１について（Ｊ−１が０より大きい場合）ブロック細部に分割される。この分割アプローチはいわゆる１／ｆ形式のスペクトルモデルにより誘導される。
【０１１６】
他の実施例での復号処理は図９から図１２を参照して説明した符号化処理に倣うことにより実現できる。
【０１１７】
したがって本発明の実施例は、画像を記憶するか送信するかのいずれか或いは両方のために表現が適しているような効率的かつ柔軟性のある方法でデジタル画像データを表現するための方法並びに装置を提供する。符号化技術は一般に変換係数のアレイを表わすために使用でき、またディスクリート・ウェーブレット変換ドメインにおいて画像を表現することにより効率的な表現を提供するために使用できる。さらに詳しくは、実施例は入力画像から取得した変換係数のブロックの先行するゼロを表現する（または符号化する）方法ならびにその装置を提供する。本技術は、任意のサイズのコードで元の画像の良好な再現を与える点に関してと、高速な復号処理を提供する点に関して効率的である。さらに、本技術は線形変換から得られた係数がエントロピー符号化を使用することなく独立して符号化される点で柔軟性がある。実施例の有利な側面としては符号化の深さ第１の性質が挙げられる。さらに、サブバンドを符号化する場合、本発明の有利な側面には各々のサブバンドを別々に階層符号化することが含まれる。
【０１１８】
上記説明は本発明の一部の実施例を示したものにすぎず、本発明の趣旨と範囲から逸脱することなく当業者がこれに変更および変化を加えることができる。例えば、上記説明において、本発明の実施例として部分領域が所定サイズである１×１係数を有しているとしている。しかし、本発明の趣旨と範囲から逸脱することなく、他のサイズを適用できるということは当業者にとっても明らかであろう。例えば、本発明の実施例としては２×２係数を適用することもできる。
【０１１９】
【図面の簡単な説明】
【図１】本発明の実施例における画像表現技術を示す高レベルでのブロック図である。
【図２】好適な実施例における分割を示す略図である。
【図３】好適な実施例における画像の表現または符号化の方法を示すフロー図である。
【図４】図３での領域のコーディングステップを示す詳細なフロー図である。
【図５】図３の方法にしたがって作成した画像のコード表現の復号化方法を示すフロー図である。
【図６】図５における領域を復号化するステップを示した詳細なフロー図である。
【図７】図３から図５の符号化および復号化方法に従った２次元８計数領域の処理を示す略図である。
【図８】実施例を実現できる汎用コンピュータのブロック図である。
【図９】他の実施例の方法による画像の表現または符号化方法を示すフロー図である。
【図１０】他の実施例の方法による画像の表現または符号化方法を示すフロー図である。
【図１１】他の実施例の方法による画像の表現または符号化方法を示すフロー図である。
【図１２】他の実施例の方法による画像の表現または符号化方法を示すフロー図である。
【図１３】変換関数のブロックのレベル或いはオクターブ分割を示すブロック図である。
【図１】
0003976876.tif 000007
【図２】
0003976876.tif 000008
【図３】
0003976876.tif 000009
【図４】
0003976876.tif 000010
【図５】
0003976876.tif 000011
【図６】
0003976876.tif 000012
【図７】
0003976876.tif 000013
【図８】
0003976876.tif 000014
【図９】
0003976876.tif 000015
【図１０】
0003976876.tif 000016
【図１１】
0003976876.tif 000017
【図１２】
0003976876.tif 000018
【図１３】
0003976876.tif 000019