(57)【特許請求の範囲】
【請求項１】
符号化表現のデジタル画像を生成する生成方法であって、
（ｉ）複数の係数のブロックを取得するために、前記デジタル画像を変換する変換ステップと、
（ｉｉ）前記複数の係数のブロックそれぞれを、同一ビット位置で表わされるビットプレーン毎に符号化するビットプレーン符号化ステップと、
（ｉｉｉ）前記複数の係数のブロックそれぞれの符号化ビットプレーンごとに、ブロックを符号化するために使用するビット数であるブロックレートを決定するブロックレート決定ステップと、
（ｉｖ）前記複数の係数のブロックそれぞれの符号化ビットプレーンごとに、その符号化ビットプレーンを復号して再構成されるブロックと、対応する符号化前のブロックとの間の歪みである歪み度を決定する歪み度決定ステップと、
（ｖ）前記複数の係数のブロックそれぞれのビットプレーンに対し、最上位ビットプレーンから前記ビットプレーン符号化ステップによる符号化を開始して、前記歪み度が可視しきい値より小さくなるビットプレーンで、該ビットプレーン符号化ステップによる符号化を終了する終了ステップと、
（ｖｉ）前記終了ステップによって、前記複数の係数のブロックそれぞれについて前記ビットプレーン符号化ステップによって得られる符号化ビットプレーン毎の先頭の符号化ブロックから連続する符号化ブロックの合計ブロックレートが、前記歪み度が最小となる指定のブロックレート以下となる符号化ブロックまで残して、残りの符号化ブロックを切り捨てる切捨ステップと、
（ｖｉｉ）前記切捨ステップによって前記残りの符号化ブロックが切り捨てられて残った符号化ブロックを連結して、符号化表現のビットストリームを生成する連結ステップと
を備えることを特徴とする生成方法。
【請求項２】
前記ブロックは、離散ウェーブレット変換係数のサブバンドである
ことを特徴とする請求項１に記載の生成方法。
【請求項３】
前記ブロックは、離散ウェーブレット変換係数のサブバンドのサブブロックである
ことを特徴とする請求項１に記載の生成方法。
【請求項４】
前記切捨ステップは、ラグランジュ乗数を用いて、前記歪み度が最小となる指定のブロックレートを決定する
ことを特徴とする請求項１に記載の生成方法。
【請求項５】
前記ブロックレート決定ステップおよび前記歪み度決定ステップは、前記ビットプレーン符号化ステップのサブステップであり、前記ビットプレーン符号化ステップの間に実行される
ことを特徴とする請求項１に記載の生成方法。
【請求項６】
前記ビットプレーン符号化ステップと、前記ブロックレート決定ステップと、前記歪み度決定ステップは、前記ブロックそれぞれの前記ビットプレーンごとに実行され、以下のサブステップとして、
（ａ）前記ビットプレーンの第１部分を符号化する第１符号化サブステップと、
（ｂ）前記ビットプレーンの第１部分に関連付けられた前記第１ブロックレートを決定するサブステップと、
（ｃ）前記ビットプレーンの第１部分に関連付けられた前記第１歪み度を決定するサブステップと、
（ｄ）前記ビットプレーンの第２部分を符号化する第２符号化サブステップと、
（ｅ）前記ビットプレーンの第２部分に関連付けられた前記第２ブロックレートを決定するサブステップと、
（ｆ）前記ビットプレーンの第２部分に関連付けられた前記第２歪み度を決定するサブステップと、
（ｇ）前記ビットプレーンの第３部分を符号化する第３符号化サブステップと、
（ｈ）前記ビットプレーンの第３部分に関連付けられた前記第３ブロックレートを決定するサブステップと、
（ｉ）前記ビットプレーンの第３部分に関連付けられた前記第３歪み度を決定するサブステップと
を備えることを特徴とする請求項５に記載の生成方法。
【請求項７】
符号化表現のデジタル画像を生成する生成装置であって、
複数の係数のブロックを取得するために、前記デジタル画像を変換する変換手段と、
前記複数のブロックそれぞれを、同一ビット位置で表わされるビットプレーン毎に符号化するビットプレーン符号化手段と、
前記複数の係数のブロックそれぞれの符号化ビットプレーンごとに、ブロックを符号化するために使用するビット数であるブロックレートを決定するブロックレート決定手段と、
前記複数の係数のブロックそれぞれの符号化ビットプレーンごとに、その符号化ビットプレーンを復号して再構成されるブロックと、対応する符号化前のブロックとの間の歪みである歪み度を決定する歪み度決定手段と、
前記複数の係数のブロックそれぞれのビットプレーンに対し、最上位ビットプレーンから前記ビットプレーン符号化手段による符号化を開始して、前記歪み度が可視しきい値より小さくなるビットプレーンで、該ビットプレーン符号化手段による符号化を終了する終了手段と、
前記終了手段によって、前記複数の係数のブロックそれぞれについて前記ビットプレーン符号化手段によって得られる符号化ビットプレーン毎の先頭の符号化ブロックから連続する符号化ブロックの合計ブロックレートが、前記歪み度が最小となる指定のブロックレート以下となる符号化ブロックまで残して、残りの符号化ブロックを切り捨てる切捨手段と、
前記切捨手段によって前記残りの符号化ブロックが切り捨てられて残った符号化ブロックを連結して、符号化表現のビットストリームを生成する連結手段と
を備えることを特徴とする生成装置。
【請求項８】
符号化表現のデジタル画像を生成することをコンピュータに機能させるためのコンピュータプログラムであって、
前記コンピュータを、
複数の係数のブロックを取得するために、前記デジタル画像を変換する変換手段と、
前記複数のブロックそれぞれを、同一ビット位置で表わされるビットプレーン毎に符号化するビットプレーン符号化手段と、
前記複数の係数のブロックそれぞれの符号化ビットプレーンごとに、ブロックを符号化するために使用するビット数であるブロックレートを決定するブロックレート決定手段と、
前記複数の係数のブロックそれぞれの符号化ビットプレーンごとに、その符号化ビットプレーンを復号して再構成されるブロックと、対応する符号化前のブロックとの間の歪みである歪み度を決定する歪み度決定手段と、
前記複数の係数のブロックそれぞれのビットプレーンに対し、最上位ビットプレーンから前記ビットプレーン符号化手段による符号化を開始して、前記歪み度が可視しきい値より小さくなるビットプレーンで、該ビットプレーン符号化手段による符号化を終了する終了手段と、
前記終了手段によって、前記複数の係数のブロックそれぞれについて前記ビットプレーン符号化手段によって得られる符号化ビットプレーン毎の先頭の符号化ブロックから連続する符号化ブロックの合計ブロックレートが、前記歪み度が最小となる指定のブロックレート以下となる符号化ブロックまで残して、残りの符号化ブロックを切り捨てる切捨手段と、
前記切捨手段によって前記残りの符号化ブロックが切り捨てられて残った符号化ブロックを連結して、符号化表現のビットストリームを生成する連結手段と
して機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号化表現を提供するデジタル画像を生成する符号化方法および装置に関するものである。本発明は、また符号化表現を提供するデジタル画像を生成するコンピュータプログラムを記録したコンピュータ可読媒体を含むコンピュータプログラム製品に関するものである。
【０００２】
【従来の技術】
米国特許出願第５,７５４、７９３号は、ヒューマン・ビジュアル・システム（ＨＶＳモデル）を使用するウェーブレット・ベースの画像圧縮方式を開示する。この方法はＤＣサブバンド内の係数ごとのエッジ状態および背景輝度に基づき、その後ＤＷＴレベルおよび方向を重み付けされる量子化因数を有することでスペクトルと空間の両面で量子化を調整し、量子化因数には伝送オーバヘッドは不要であるがこの方法ではＤＣ係数が量子化されないことを必要とする。このようにして量子化因数が符号化器と復号化器の両方で決定できる。この結果、この方法の圧縮性能は制限され、圧縮率を上げるためにしばしば必要なように、ＤＷＴのレベル数が増加した場合の空間適合の精度が低下するという欠点がある。さらに、米国特許第５，７５４，７９３号で開示された方法は異なる表示条件またはディスプレイには適合できない。これはサブバンド量子化因数が復号化器のルックアップ・テーブルに記憶されているからである。この方法はメモリが制約された符号化器にも適合できない。これは各サブバンド内のコントラスト・マスキングを評価するのにＤＣサブバンドからの係数を必要とするからである。
【０００３】
【発明が解決しようとする課題】
本発明の一目的は、従来技術の１つまたは複数の欠点を改善することである。
【０００４】
【課題を解決するための手段】
本発明の一態様によれば、符号化表現を提供するデジタル画像の生成方法が提供され、前記方法は、（ｉ）係数の複数のブロックを取得するために前記デジタル画像を変換する変換ステップと、（ｉｉ）前記係数の前記ブロックそれぞれをビットプレーン符号化するビットプレーン符号化ステップと、（ｉｉｉ）前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも１つの歪み度を決定する歪み度決定ステップと、（ｉｖ）前記歪み度に基づいて画像歪みを最小化する前記ビットプレーンで前記符号化ブロックそれぞれを終了する終了ステップと、（ｖ）前記符号化表現を形成するために前記終了した符号化ブロックを連結する連結ステップとを含む。
【０００５】
本発明の別の態様によれば、符号化表現を提供するデジタル画像の生成方法が提供され、前記方法は、（ｉ）係数の複数のブロックを取得するために前記デジタル画像を変換する変換ステップと、（ｉｉ）前記係数の前記ブロックそれぞれをビットプレーン符号化するビットプレーン符号化ステップと、（ｉｉｉ）前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも１つのブロックレートを決定するブロックレート決定ステップと、（ｉｖ）前記ブロックレートに基づいて合計ブロックレートを最小化する前記ビットプレーンで前記符号化ブロックそれぞれを終了する終了ステップと、（ｖ）前記符号化表現を形成するために前記終了した符号化ブロックを連結する連結ステップとを含む。
【０００６】
本発明のさらに別の態様によれば、符号化表現を提供するデジタル画像の生成方法が提供され、前記方法は、（ｉ）元の係数の複数のブロックを取得するために前記デジタル画像を変換する変換ステップであって、前記ブロックそれぞれは、対応最小ビットプレーンおよび最小ビットプレーンを有し、（ｉｉ）前記対応最大ビットプレーンから前記対応最小ビットプレーンに前記係数の前記ブロックそれぞれをビットプレーン符号化するビットプレーン符号化ステップと、（ｉｉｉ）前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも１つのブロックレートを決定するブロックレート決定ステップであり、指定ブロックの指定符号化ビットプレーンの前記少なくとも１つのブロックレートは、指定ブロックを、対応最大ビットプレーンから指定符号化ビットプレーンのそれぞれ少なくとも１つの部分に前記ビットプレーン符号化ステップの間に符号化されたコード・ビットの数を表し、（ｉｖ）前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも１つの歪み度を決定する歪み度決定ステップであり、指定ブロックの指定符号化ビットプレーンの前記少なくとも１つの歪み度は、前記指定ブロックの対応符号化最大ビットプレーンから指定符号化ビットプレーンのそれぞれ少なくとも１つの部分に前記符号化ビットプレーンから復号化された前記係数の関数であり、また、前記指定ブロックの元の係数の関数であり、（ｖ）前記歪み度と前記ブロックレートの所定の合計に基づいて画像歪みを最小化する前記ビットプレーンで前記符号化ブロックを終了する終了ステップと、（ｖｉ）前記符号化表現を形成するために前記終了した符号化ブロックを連結する連結ステップとを含む。
【０００７】
本発明のさらに別の態様によれば、符号化表現を提供するデジタル画像の生成方法が提供され、前記方法は、（ｉ）元の係数の複数のブロックを取得するために前記デジタル画像を変換する変換ステップであり、前記ブロックそれぞれは、対応最大ビットプレーンおよび最小ビットプレーンを有し、（ｉｉ）前記対応最大ビットプレーンから前記対応最小ビットプレーンに前記係数の前記ブロックそれぞれをビットプレーン符号化するビットプレーン符号化ステップと、（ｉｉｉ）前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも１つのブロックレートを決定するブロックレート決定ステップであり、指定ブロックの指定符号化ビットプレーンの前記少なくとも１つのブロックレートは、指定ブロックを、対応最大ビットプレーンから指定符号化ビットプレーンのそれぞれ少なくとも１つの部分に前記ビットプレーン符号化ステップの間に符号化されたコード・ビットの数を表し、（ｉｖ）前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも１つの歪み度を決定する歪み度決定ステップであり、指定ブロックの指定符号化ビットプレーンの前記少なくとも１つの歪み度は、前記指定ブロックの対応符号化最大ビットプレーンから指定符号化ビットプレーンのそれぞれ少なくとも１つの部分に前記符号化ビットプレーンから復号化された前記係数の関数であり、また、前記指定ブロックの元の係数の関数であり、（ｖ）前記ブロックレートと所定の画像歪みに基づいて合計ブロックレートを最小化する前記ビットプレーンで前記符号化ブロックそれぞれを終了する終了ステップと、（ｖｉ）前記符号化表現を形成するために前記終了した符号化ブロックを連結する連結ステップとを含む。
【０００８】
本発明のさらに別の態様によれば、符号化表現を提供するデジタル画像の生成装置が提供され、前記装置は、係数の複数のブロックを取得するために前記デジタル画像を変換する変換手段と、前記係数の前記ブロックそれぞれをビットプレーン符号化するビットプレーン符号化手段と、前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも１つの歪み度を決定する歪み度決定手段と、前記歪み度に基づいて画像歪みを最小化する前記ビットプレーンで前記符号化ブロックそれぞれを終了する終了手段と、前記符号化表現を形成する前記終了した符号化ブロックを連結する連結手段とを含む。
【０００９】
本発明のさらに別の態様によれば、符号化表現を提供するデジタル画像の生成装置が提供され、前記装置は、係数の複数のブロックを取得する前記デジタル画像を変換する変換手段と、前記係数の前記ブロックそれぞれをビットプレーン符号化するビットプレーン符号化手段と、前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも１つのブロックレートを決定するブロックレート決定手段と、前記ブロックレートに基づいて合計ブロックレートを最小化する前記ビットプレーンで前記符号化ブロックそれぞれを終了する終了手段と、前記符号化表現を形成するために前記終了した符号化ブロックを連結する連結手段とを含む。
【００１０】
本発明のさらに別の態様によれば、符号化表現を提供するデジタル画像の生成装置が提供され、前記装置は、元の係数の複数のブロックを取得するために前記デジタル画像を変換する変換手段であり、前記ブロックそれぞれは、対応最大ビットプレーンおよび最小ビットプレーンを有し、前記対応最大ビットプレーンから前記対応最小ビットプレーンに前記係数の前記ブロックそれぞれをビットプレーン符号化するビットプレーン符号化手段と、前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも１つのブロックレートを決定する第１決定手段であり、指定ブロックの指定符号化ビットプレーンの前記少なくとも１つのブロックレートは、指定ブロックを、対応最大ビットプレーンから指定符号化ビットプレーンのそれぞれ少なくとも１つの部分に前記ビットプレーン符号化手段の実行中に符号化されたコード・ビットの数を表し、前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも１つの歪み度を決定する第２決定手段であり、指定ブロックの指定符号化ビットプレーンの前記少なくとも１つの歪み度は、前記指定ブロックの対応符号化最大ビットプレーンから指定符号化ビットプレーンのそれぞれ少なくとも１つの部分に前記符号化ビットプレーンから復号化された前記係数の関数であり、また、前記指定ブロックの元の係数の関数であり、前記歪み度と前記ブロックレートの所定の合計に基づいて画像歪みを最小化する前記ビットプレーンで前記符号化ブロックを終了する終了手段と、前記符号化表現を形成するために前記終了した符号化ブロックを連結する連結手段とを含む。
【００１１】
本発明のさらに別の態様によれば、符号化表現を提供するデジタル画像の生成装置が提供され、前記装置は、元の係数の複数のブロックを取得するために前記デジタル画像を変換する変換手段であり、前記ブロックそれぞれは、対応最大ビットプレーンおよび最小ビットプレーンを有し、前記対応最大ビットプレーンから前記対応最小ビットプレーンに前記係数の前記ブロックそれぞれをビットプレーン符号化するビットプレーン符号化手段と、前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも１つのブロックレートを決定する第１決定手段であり、指定ブロックの指定符号化ビットプレーンの前記少なくとも１つのブロックレートは、指定ブロックを、対応最大ビットプレーンから指定符号化ビットプレーンのそれぞれ少なくとも１つの部分に前記ビットプレーン符号化手段の実行中に符号化されたコード・ビットの数を表し、前記ブロックそれぞれの符号化ビットプレーンごとに少なくとも１つの歪み度を決定する第２決定手段であり、指定ブロックの指定符号化ビットプレーンの前記少なくとも１つの歪み度は、前記指定ブロックの対応符号化最大ビットプレーンから指定符号化ビットプレーンのそれぞれ少なくとも１つの部分に前記符号化ビットプレーンから復号化された前記係数の関数であり、また、前記指定ブロックの元の係数の関数であり、前記ブロックレートと所定の画像歪みに基づいて合計ブロックレートを最小化する前記ビットプレーンで前記符号化ブロックそれぞれを終了する終了手段と、前記符号化表現を形成する前記終了した符号化ブロックを連結する連結手段とを含む。
【００１２】
【発明の実施の形態】
１つまたは複数の添付の図面でステップおよび／または特徴に同じ参照番号で言及する場合、それらのステップおよび／または特徴は本明細書では、特に反対の意図がない限り、同じ特徴または動作を示す。
本方法の実施形態
本実施形態は、まず画像データのウェーブレット変換を行う。ウェーブレット変換処理の説明は多数の標準的な文献、特にI. Stollinitz他の著書「Wavelets for Computer Graphics」、１９９６年、Morgan Kaufmann Publishers Inc.に記載されている。以下にウェーブレット処理の概要について添付図面を参照しながら説明する。
離散ウェーブレット変換
図１Ａおよび図１Ｂを参照すると、オリジナル画像１が離散ウェーブレット変換（ＷＤＴ）を用いて４つのサブ画像３〜６に変換される。サブ画像またはサブバンドは通常ＬＬ１，ＨＬ１，ＬＨ１、およびＨＨ１と表示される。サブバンド名の１つのサフィックスがレベル１を示す。ＬＬ１サブバンドはオリジナル画像のロー・パス・デシメーションされたバージョンである。
【００１３】
使用されるウェーブレット変換は変形することができ、Ｈａｒｒベースの関数、Ｄａｕｂｅｃｈｉｅｓベースの関数などを含むことができる。次いで、ＬＬＩサブバンドが使用され、図２に示すように、第２離散ウェーブレット変換が適用され、サブバンドＬＬ２（８）、ＨＬ２（９）、ＬＨ２（１０）、ＨＨ２（１１）が生成される。この処理は例えばＬＬ４サブバンドが示される図３に示すように続けられる。明らかに、入力画像のサイズに応じてさらに上のレベルの分解が提供される。最低周波数サブバンドはＤＣサブバンドと呼ばれる。図３の場合、ＤＣサブバンドはＬＬ４サブバンドである。
【００１４】
次いで、オリジナル画像を得るために各単一レベルの逆ＤＷＴが逆変換される。従って、ＪレベルのＤＷＴは一連のＪ単一レベルの逆ＤＷＴとして逆変換される。
【００１５】
画像を階層的に符号化する場合、ＤＣサブバンドが最初に符号化される。次いで、レベルの降順に残りのサブバンドが符号化される。４レベルＤＷＴの場合、レベル４のサブバンドはＤＣサブバンド（ＬＬ４）の後に符号化される。つまり、ＨＬ４、ＬＨ４およびＨＨ４サブバンドである。次いでレベル３のサブバンド（ＨＬ３、ＬＨ３、およびＨＨ３）が符号化され、その後でレベル２のサブバンド（ＨＬ２、ＬＨ２、およびＨＨ２）、レベル１のサブバンド（ＨＬ１、ＬＨ１、およびＨＨ１）の順に符号化される。
【００１６】
標準画像の場合、符号化サブバンドは一般に画像内に「詳細」情報を含む。従って、符号化サブバンドはしばしば値の疎配列を含み、サブバンドの量子化とその疎行列形式の効率的な符号化によってかなりの圧縮が達成される。
符号化および復号化処理の概要
符号化処理の概要を図４に示し、復号化処理の概要を図５に示す。入力画像、ディスプレイ装置、および周囲の照明条件によっては、画像の符号化の前に画像を前処理し、復号化の後に画像を後処理する必要がある。これによって照度マスキング効果の明示的なモデル化が可能になるが、表示装置の照度関数と人間の目の照度感度の両方のモデル化が必要になる。これらの関数は従来技術で知られ、一般に対数またはべき法則モデルを用いてモデル化される。本実施形態では、画像の濃度レベルはおおよそ人間の観察者が見た知覚輝度の線形関数であるものとしている。これによって大半の場合にこの非線形前処理および後処理の必要がなくなる。
【００１７】
まず、図４についてみると、前述したように、４１０で離散ウェーブレット変換を用いてデジタル画像がいくつかのサブバンド成分に変換される。好ましくは、ステップ４２０で各サブバンドは階層順に、具体的にはＤＣ、ＨＬ４、ＬＨ４、ＨＨ４、ＨＬ３、ＬＨ３、ＨＨ３、ＨＬ２、ＬＨ２、ＨＨ２、ＨＬ１、ＬＨ１、ＨＨ１の順に符号化される。ステップ４３０でサブバンドはいくつかのブロックにタイル化される。一般に、各ブロックはステップ４４０で好ましいクワドツリー組込符号化器で任意の最小ビットプレーンに符号化できる。特に、各ブロックは好ましくは視覚的に無損失の点まで符号化される。すべてのブロックとサブバンドが符号化後、ステップ４５０で各ブロックの最適切り捨てポイントが決定される。次いで各ブロックはそれに従って切り捨てられ、ステップ４６０でブロックのコードは出力ビット・ストリーム内で適当な符号化画像ヘッダに連結される。
【００１８】
符号化デジタル画像は、図５に示すように復号化される。ステップ５１０で、画像の各サブバンドの各ブロックはクワドツリー復号化器で復号化される。ステップ５２０で、復号化サブバンドは逆離散ウェーブレット変換される。ステップ５３０で、復号化画像が出力される。
【００１９】
図４の各符号化ステップ４３０、４４０、４５０および４６０について図６〜図１４を参照しながら詳述する。
サブバンド・タイル化
図６を参照すると、サブバンド６１０に対する図４のステップ４３０の処理結果が示されている。サブバンド６１０はブロック６２０、６３０、６４０および６５０にタイル化される。好ましくは、サブバンドは、左上角から始まる係数の３２×３２のブロックでタイル化される。表現３２×３２とは、それぞれ３２行×３２列を指す。タイルの最小ブロック・サイズは３２×３２である。サブバンドが最小ブロック・サイズの倍数でない場合、ブロック端はサイズが３２×３２から６４×６４の範囲に拡張される。例えば、サイズが１１０×１１２係数の図６のサブバンド６１０の場合、３２×３２サブバンド（６２０）が４つと、３２×４８サブバンド（６３０）が２つと、４６×３２サブバンド（６４０）が２つと、４６×４８サブバンド（６５０）が１つある。ステップ４３０は最小ブロック・サイズより大きいかまたはそれに等しいサブバンド上でだけ実行される。
組込クワドツリー符号化
実施形態の説明に進む前に、以下に用いる用語を簡潔にまとめる。ある数の２進整数表現の「ビットｎ」または「ビット番号ｎ」は最下位ビットの左からｎ番目の２進桁を指す（ビット０から数えて）。例えば、８ビットの２進化表現の場合、１０進数９は００００１００１で表される。この数で、ビット３は１に等しく、ビット２、１、および０はそれぞれ０、０、１に等しい。さらに、画像の変換は行と列に配置された、それぞれのビット・シーケンスで表される係数を有する行列で表すことができる。概念的に言うと、この行列は３つの次元を有すると見なされる。第１次元は行方向に延び、第２次元は列方向に延び、第３次元はビット・シーケンス方向に延びている。同じビット番号で各ビット・シーケンスを通過するこの３次元空間内の平面は「ビットプレーン」または「ビット・プレーン」と呼ばれる。「ビットプレーン番号ｎ」という用語はビット番号ｎを通過するビットプレーンを指す。
【００２０】
画像フレームの領域は、連続する画像係数のセットを含む。係数と言う用語はこれ以後、画素と同義に使用するが、当業者には明らかなように、前者は通常、変換定義域（例えばＤＷＴ定義域）内の画素を参照するために使用される。これらのセットまたは領域Ｔは変換画像係数｛Ｃｉ，ｊ｝有すると定義され、（ｉ，ｊ）は係数座標である。
【００２１】
注目ビットプレーンの画素セットまたは領域Ｔは領域内の各係数のｍｓｂ数が注目ビットプレーンの値より小さい場合には無効であると言われる。領域の重みの概念を正確にするために、数学的定義が式（１）で与えられる。画素セットまたは領域Ｔは、
【００２２】
【数１】
0004365956.tif 000002
【００２３】
の場合にビットプレーンｎに関して（またはビットプレーンｎで）無効であると言われる。
【００２４】
座標のセットＴの区分化によって、次式を満たすＴのサブセットの集合体｛Ｔｍ｝を指す。
【００２５】
【数２】
0004365956.tif 000003
【００２６】
言い換えると、ｃｉ，ｊ∈Ｔならば、サブセットＴｍの１つについて、また１つだけについて、ｃｉ，ｊ∈Ｔｍである。好ましくは、Ｔは矩形定義域であり、セット｛Ｔｍ｝はＴの４つの象限からなるセットである。
【００２７】
本実施形態はクワドツリー区分化を用いる組込方法で係数のセットを符号化する。組込および変形の組み込まれたという用語を使用する場合、上位ビットプレーン内のあらゆるビットが下位ビットプレーンのどのビットよりも先に符号化されるという意味である。例えば、ビットプレーン７内のあらゆるビットはビットプレーン６内のどのビットよりも先に符号化される。次いで、ビットプレーン６内のあらゆるビットはビットプレーン５内のどのビットよりも先に符号化され、以下同様である。すなわち、ビットプレーンｎはビットプレーンｎ−１より先に符号化され符号化ビットストリーム内に挿入される。好ましくは、各ビットプレーンは３つのパス、すなわち、後述するＬＩＣ、ＬＩＲ、およびＬＳＣパスで符号化される。
【００２８】
図７は図４のステップ４４０で使用する好ましい組込クワドツリー符号化処理の詳細なフローチャートである。ステップ４４０で、係数のブロックは、組込クワドツリー符号化処理を用いて視覚的に無損失の点まで符号化されるのが好ましい。ＤＷＴ係数は有限ビット数を有するサイン付き大きさ形式で表されるものとする。好ましくは、１５ビットを用いてＤＷＴ係数の大きさを表し、１つの追加のサインビットを用いて合計１６ビットを構成する。当然そのような有限ビット数の使用は量子化形式である。ただし、８ビット（色あたり）入力画像の場合、１６ビットＤＷＴ係数が表す画像は、一般に可視歪みしきい値よりもはるかに下である。
【００２９】
ステップ７１０で、ブロック内のすべての係数の最上位ビットｎｍａｘが決定される。すなわち、ｎｍａｘはブロック内のすべての係数ｃについて
【００３０】
【数３】
0004365956.tif 000004
【００３１】
を満たす最小整数ｎである。ステップ７２０で、ビットプレーン変数ｎはｎｍａｘに設定される。
【００３２】
ステップ７３０で、無効係数リスト（ＬＩＣ）と、有効係数リスト（ＬＳＣ）と、無効領域リスト（ＬＩＲ）が初期化される。ＬＩＣとＬＳＣは空に初期化される。ＬＩＲは４つのブロックの象限に初期化される。変数ｎｕｍ＿ｓｉｇ＿ｃｏｅｆｆｓ＿ｔｏ＿ｃｏｄｅは０に初期化される。これらのリストと、それが符号化される方法を以下に詳述する。ただしリストが空の場合、処理はその空のリストを符号化せずに次の符号化に移行する。
【００３３】
ステップ７４０で、ＬＩＣ内の各係数のビットｎが符号化される。最初、ビットｎはｎｍａｘに設定されループ７４０から７９０のパスごとにデクリメントされる。ステップ７４５で、注目ブロックレートと歪みが計算される。注目ブロックレートは単にこれまでブロックを符号化するために使用したビット数である。符号化ビット・ストリームを与えると、符号化手順の逆を実行する復号化器はビット精度ｎ＋１まで各係数を復号化でき、さらに注目ＬＩＣ内の係数をビット精度ｎまで復号化できる。注目ブロック歪みは、実際のブロック・データと与えられたブロックの注目コードの場合、復号化器が再構成するブロックとの間の歪みである。復号化器がブロック内の係数ごとに再構成する値について以下に詳述する。さらに、歪みの計算について図１３を参照しながら詳述する。次いで、ステップ７５０で、注目ブロック歪みが可視しきい値に照らしてチェックされる。歪みが可視しきい値より小さい場合、処理はステップ７９５で終了する。ブロックが可視しきい値より小さくない場合、可視しきい値処理はステップ７６０に続く。
【００３４】
ステップ７６０で、無効領域リスト内の各領域がビットプレーンｎで符号化される。注目ブロックレートおよび歪みがステップ７６５で計算される。ステップ７７０で注目ブロック歪みが可視しきい値に照らしてチェックされる。歪みが可視しきい値より小さい場合、処理はステップ７９５で終了する。ブロックが可視しきい値より小さくない場合、可視しきい値処理はステップ７７５に続く。
【００３５】
ステップ７７５で、無効係数リスト内の各係数のビットｎが符号化される。ステップ７７６で、注目ブロックレートおよび歪みが決定される。ステップ７７７で、ｎｕｍ＿ｓｉｇ＿ｃｏｅｆｆｓ＿ｔｏ＿ｃｏｄｅがＬＳＣ内の係数の数に設定される。この変数が使用されるので、ステップ７４０および７６０でＬＳＣに追加される有効な係数は注目処理中では符号化されない。ステップ７８０で、注目ブロック歪みが可視しきい値に照らしてチェックされる。歪みが可視しきい値より小さい場合、処理はステップ７９５で終了する。ブロックが可視しきい値より小さくない場合、可視しきい値処理はステップ７９０に続く。前述したように、各ブロックは任意のビットプレーンに合わせて符号化できる。この実施形態では、判定ブロック７５０および７７０を省略でき、その代わりに判定ブロック７８０で注目ビットプレーンｎが任意の選択した最小ビットプレーンと等しいかまたはそれより小さいか否かをチェックできる。そうである場合、処理はステップ７９５で終了する。
【００３６】
ステップ７９０で、注目ビットプレーン変数ｎはデクリメントされ、処理はステップ７４０に続く。
【００３７】
注目ブロックレートおよび歪み測定ステップ７４５、７６５、および７７６は、ビットプレーンの符号化の間に実行される。あるいは、これらの決定ステップは、符号化処理の後に実行されてもよい。
ＬＩＲリストの符号化
無効領域リストは、領域のリストまたはベクトルである。領域は係数のブロックのサブブロックである。領域（ブロック内の）はブロック内の領域の左上角の座標と領域のサイズによって記述できる。無効領域リストは４つの領域、すなわち、ブロック内の４つの象限で初期化される。
【００３８】
図８を参照すると、８００がブロックを表す場合、４つの領域は８１０、８２０、８３０および８４０である。これらの領域はこの順にＬＩＲに挿入される。
【００３９】
図９を参照すると、ＬＩＲは以下のように図７のステップ７６０のビットプレーンｎで符号化される。ステップ９１０で、注目領域ＲはＬＩＲの第１領域に設定され、ＬはＬＩＲの領域数に設定され、ｒｅｇｉｏｎ＿ｎｕｍ、すなわちＬＩＲ内の注目領域のインデックスは１に設定される。判定ブロック９１２で、ｒｅｇｉｏｎ＿ｎｕｍがＬより小さいかまたはそれに等しいか否かを判定するためにチェックがなされる。判定ブロック９１２がｙｅｓを返すと、処理はステップ９１４に続く。ステップ９１４で、領域Ｒの重みが出力される。
【００４０】
【数４】
0004365956.tif 000005
【００４１】
である場合、係数ｃはビットプレーンｎで無効である。
領域内のすべての係数がビットプレーンｎで無効な場合、領域はビットプレーンｎで無効である。領域または係数がビットプレーンｎで無効でない場合、領域または係数は、ビットプレーンｎで有効である。ステップ９１２で、Ｒが有効な場合、１を出力してＲの重みが符号化され、Ｒが無効な場合、０を出力してＲの重みが符号化される。次いで処理はステップ９２０で再開する。判定ブロック９１２がｎｏを返すと、処理はただちにステップ９２０に移行する。
【００４２】
判定ブロック９２０で、Ｒがビットプレーンｎで有効か否かを判定するためにチェックがなされる。判定ブロック９２０がｎｏを返すと、処理はステップ９５０に続く。
【００４３】
判定ブロック９２０がｙｅｓを返すと、処理はステップ９２５に続く。ステップ９２５で、ＲはＬＩＲから削除される。ステップ９３０で２×２の重みマスクが１５レベル・ハフマン・コードで符号化される。このステップについてはステップ９４０の説明の後に詳述する。判定ブロック９３５はＲが２×２の係数からなる領域であるか否かをチェックする。判定ブロック９３５がｎｏを返すと、処理はステップ９４０に続く。ステップ９４０で、Ｒは４つの領域、すなわち、その４つの象限に区分化され、これらはＬＩＲの最後に追加される。例えば、図８のブロック８００が領域Ｒの場合、８１０、８２０、８３０および８４０が４つの象限である。ステップ９３０で符号化された重みマスクは、Ｒ内の２×２の象限のそれぞれの重み（ｎに関する）を示す２×２の２進マスクである。例えば、８１０、８２０および８４０がｎに関して無効であり、一方８３０がｎに関して有効な場合、重みマスクは、
【００４４】
【数５】
0004365956.tif 000006
【００４５】
になる。ここで０は無効、１は有効を示す。１つの象限だけが有効でなければならないので１５の異なる重みマスクしかないことに留意する必要がある。
【００４６】
ステップ９４０で、ＬＩＲの最後に追加された４つの領域のそれぞれの重みはステップ９３０で重みマスクを介してすでに符号化されていることに留意する必要がある。この理由から、判定ブロック９１２で、ｒｅｇｉｏｎ＿ｎｕｍがＬより小さいかまたはそれに等しいか否かがチェックされる。ｒｅｇｉｏｎ＿ｎｕｍがＬより大きい場合、領域の重みは何か以前の領域（インデックスがｒｅｇｉｏｎ＿ｎｕｍより小さい）の符号化の間にステップ９３０ですでに符号化されている。
【００４７】
判定ブロック９３５に戻ると、前記ブロックがｙｅｓを返した場合、処理はステップ９４５に続く。Ｒが係数の２×２のブロックの場合、重みマスクは２×２の係数のそれぞれのの重みを示す。Ｒが２×２の領域の場合の例を挙げると、８１０、８２０、８３０および８４０は１×１の領域（すなわち、個々の係数）である。ステップ９４５で、２×２の領域Ｒ内の係数が有効な場合、この係数は有効係数リストに追加され、サインビットが出力される、すなわち、係数が正の場合は０が出力され、係数が負の場合は１が出力される。ステップ９４５で、２×２の領域Ｒ内の係数が無効な場合、この係数は無効係数リストに追加される。ステップ９４０とステップ９４５の後で処理はステップ９５０で再開する。
【００４８】
判定ブロック９５０で、ＲがＬＩＲ内の最後の領域か否かを判定するためにチェックがなされる。判定ブロック９５０がｙｅｓを返すと、処理はステップ９６０で終了する。判定ブロック９５０がｎｏを返すと、処理はステップ９５５で再開する。ステップ９５５で注目領域インデックスｒｅｇｉｏｎ＿ｎｕｍがインクリメントされ、ＲはＬＩＲ内の次の領域に設定される。次いで処理はステップ９１２で再開する。
ＬＩＣリストの符号化
図１０を参照すると、以下のように図７のステップ７４０で、無効係数リストＬＩＣがビットプレーンｎで符号化される。無効係数リストは、単にＬＩＲ符号化処理で追加された係数のリストである。ステップ１０１０で注目係数ｃがＬＩＣ内の最初の係数に設定される。ステップ１０２０でｃのビットｎが出力される。すなわち、ｃのビットｎが１の場合は１が出力され、そうでなければ０が出力される。判定ブロック１０３０で、ｃがビットプレーンｎで有効か否かを判定するためにチェックがなされる。判定ブロック１０３０がｙｅｓを返すと（すなわち、ステップ１０２０で１が出力されると）、処理はステップ１０４０に続く。ステップ１０４０で、サインビットが出力され係数ｃがＬＩＣから削除されてＬＳＣの最後に追加される。次いで処理はステップ１０５０に続く。判定ブロック１０３０がｎｏを返すと、処理はステップ１０５０で再開する。判定ブロック１０５０で、ｃがＬＩＣ内の最後の係数か否かを判定するためにチェックがなされる。判定ブロック１０５０がｎｏを返すと、処理はステップ１０７０で終了する。判定ブロック１０５０がｙｅｓを返すと、処理はステップ１０６０に続く。ステップ１０６０で、注目係数ｃがＬＩＣ内の次の係数に設定される。次いで処理はステップ１０２０に続く。
ＬＳＩリストの符号化
図１１を参照すると、以下のように図７のステップ７７５で有効係数リストＬＩＣがビットプレーンｎで符号化される。有効係数リストは、単にＬＩＲおよびＬＩＣ符号化処理で追加された係数のリストである。ステップ１１１０で注目係数ｃがＬＩＣ内の最初の係数に設定され、注目係数インデックスｃｏｅｆｆｉｃｉｅｎｔ＿ｎｕｍが１に設定される。ステップ１１２０でｃのビットｎが出力される。すなわち、ｃのビットｎが１の場合は１が出力され、そうでなければ０が出力される。判定ブロック１１３０で、ｃｏｅｆｆｉｃｉｅｎｔ＿ｎｕｍがｎｕｍ＿ｓｉｇ＿ｃｏｅｆｆｓ＿ｔｏ＿ｃｏｄｅより大きいかまたはそれと等しいか否かを判定するためにチェックがなされる。変数ｎｕｍ＿ｓｉｇ＿ｃｏｅｆｆｓ＿ｔｏ＿ｃｏｄｅはステップ７３０および７７７で設定され使用されるので、ステップ７４０および７６０でビットプレーンｎについてＬＳＣに追加される係数はビットプレーンｎでのＬＳＣの符号化の間では、再符号化されない。判定ブロック１１３０がｙｅｓを返すと、処理はステップ１１５０で終了する。判定ブロック１１３０がｎｏを返すと、処理はステップ１１４０に続く。ステップ１１４０で注目係数ｃはＬＳＣ内の次の係数に設定され、注目係数インデックスｃｏｅｆｆｉｃｉｅｎｔ＿ｎｕｍはインクリメントされる。次いで、処理はステップ１１２０に続く。
組込クワドツリー復号化
ブロックの組込クワドツリー・コードが与えらると、ブロックはクワドツリー符号化手順の逆を用いて符号化器内の最後のパスが決定した精度まで再構成できる。復号化器は基本的に同じアルゴリズムを実行する。アルゴリズム内の分岐または判定点の方向は、対応する点の符号化器が出力した符号化ビット・ストリーム内のビットから決定される。
【００４９】
任意のパス（ＬＩＣ、ＬＳＣのＬＩＲ）の終了時に、復号化器はブロック内の各係数を一定のビット精度で決定できる。例えば、最後のパスがビットプレーンｎ＝３のＬＳＣの場合、復号化器によってブロック内の各係数についてビット３以上が決定され、それぞれの復号化された係数はビット精度３を有するという。好ましくは、復号化器は復号化された係数の不確実性間隔の中間で各係数を再構成する。すなわち、復号化された係数がビット精度ｎを有し、（復号化された、または実際の）係数がビットプレーンｎ以上に非ゼロのビットを有すると仮定する。ｍを、係数の復号化されたビットに従ってビットプレーン０〜ｎ―１にゼロを有し、上位ビットプレーンにビットを有する数の大きさとする。この場合、好ましくは、復号化された係数の大きさはＭ＋２ｎ−１で与えられる。これは復号化器が現在確認できる限り、元の係数はｍとｍ＋２ｎの間の大きさを有することを反映する。間隔［ｍ，ｍ＋２ｎ］は不確実性間隔と呼ばれる。ビット精度ｎに関して、ビットプレーンｎ以上に係数が非ゼロのビットを有する場合、復号化された値は０である。
歪みの計算
図７を参照すると、ステップ７４５、７６５、および７７６で画像歪みが計算され保持される。本実施形態では、画像歪みは注目ブロックおよび同じレベルの方向が異なるブロック内のウェーブレット係数に基づく簡単化された知覚モデルを用いて計算される。これによってモデルの信頼性が改善され、他のレベルの分解の係数が（まだ）使用できない知覚歪みメトリックがメモリ制限のある実施形態に適したものになる。
【００５０】
図１３を参照すると、判定ブロック１３０５がＤＷＴ係数の注目ブロックについてしきい値上昇（ＴＥ）が計算されているか否かをチェックする。判定ブロック１３０５がｙｅｓを返すと、処理はステップ１３５０に続く。判定ブロック１３０５がｎｏを返すと、ステップ１３１０、１３２０、１３３０、および１３４０で次のようにＤＷＴ係数の注目ブロックについてＴＥが計算される。しきい値上昇はクワドツリー組込符号化処理による符号化に先立って元のＤＷＴ係数について計算される。ステップ１３１０で、注目ブロックのＤＷＴ係数の大きさ（絶対値）が計算される。これらの大きさは次いでその隣接する（大きさ）係数と共にプールされ、ステップ１３２０でローカル空間マスキング効果が計算される。好ましくは、各係数に加えられるプーリング関数は重み付き行列によるその８つの最も近い隣接係数の重み付き総和
【００５１】
【数６】
0004365956.tif 000007
【００５２】
であり、ここで最大の重み付け（４／１６）がしきい値上昇（ＴＥ）が計算される係数に加えられる。次いで処理はステップ１３３０に続き、ここでプールされた係数はそれに対応する兄弟（sibling）係数、すなわち、同じＤＷＴレベルの、方位が異なるサブバンド内の同じ空間位置に関係する係数と共にさらにプールされる。好ましくは、使用されるプーリング関数は以下の通りである。
【００５３】
サブバンド／重み      ＬＨ          ＨＬ          ＨＨ
ＬＨ                  ０．６        ０．１５      ０．２５
ＨＬ                  ０．１５      ０．６        ０．２５
ＨＨ                  ０．２５      ０．２５      ０．５
例えば、サブバンドＬＨ内の係数Ａは、プールされてＡ’＝０．６Ａ＋０．１５Ｃ＋０．２５Ｂ、ただしＣはＡと同じ空間位置にあるがサブバンドＨＬの係数、ＢはＡと同じ空間位置にあるがサブバンドＨＨの係数、に従って新しい係数Ａ’が決定される。各兄弟のための重み付けが係数の大きさに再び加えられる。好ましくはサブバンドの重みは行と列の両方の重みに制限され、従って、概して、各サブバンドはマスキング処理に等しい効果を有するということに留意する必要がある。
【００５４】
ステップ１３４０で、しきい値上昇（ＴＥ）は次のように計算される。
【００５５】
【数７】
0004365956.tif 000008
【００５６】
この関数を図１４に示す。ここでプールは両方のステップ１３２０および１３３０に適用する関数であり、ｍは最大しきい値（好ましくはｍ＝２００）、ｂはマスキング関数の倍率、または傾き、ｔは最小マスキング・レベルである。本実施形態では、ＤＷＴの最初の３つのレベルでｂ＝１の値が使用され、第４（または上位）のレベルではｂ＝０．７の値を使用する。しきい値上昇関数を単位傾き付きの線形関数としてモデル化することは、位相インコヒーレント（雑音）マスキングに関して知られている結果に適合し、０．７の傾きは位相コヒーレント（正弦）マスキングに適合する。最小しきい値ｔはＤＷＴ分解とその方位、例えば、垂直（ＬＨサブバンド）、水平（ＨＬサブバンド）または斜め（ＨＨサブバンド）内のブロックのレベルにだけ依存する最小しきい値上昇である。最小しきい値レベルはＤＷＴベースのコントラストしきい値関数（ＣＴＦ）、すなわち、ＤＷＴの各サブバンドのベース関数の最小検出可能コントラストによって定義される。ＣＴＦは任意のＤＷＴベース関数について精神物理学的な試行を用いて測定できる。例えば、画像処理についてのＩＥＥＥトランザクションで発表されたA. Watson他の論文「Visibility of Wavelet Quantisation Noise」、Ｖｏｌ．６、Ｎｏ．８、ｐｐ．１１６４−１１７５、１９９７年は、線形位相９／７二重直交ウェーブレットのコントラストしきい値関数の測定方法を記載している。本実施形態では、二重直交９／７ウェーブレットも使用して次のように最小しきい値を計算する。
【００５７】
【数８】
0004365956.tif 000009
【００５８】
上式でｗ＝ｆ（ｌ、ｒ、ｖ）は、ウェーブレットサブバンドの最小空間周波数であり、これは、ｌ、ＤＷＴサブバンド・レベル、ｒ、表示解像度およびｖ、表示距離から決定され、ｇはそれぞれＬＬ、ＬＨ／ＨＬ、およびＨＨサブバンドに対応する１．５０１、１、および０．５３４の等しいパラメータ、ｐＬはローパス合成フィルタの最大係数振幅である（ｐＬ≒０．７８８４８５）。パラメータｐ１およびｐ２はＬＬサブバンドの両方のｐＬ、ＨＨサブバンドの両方のｐＨ、ＬＨおよびＨＬサブバンドのｐＬ、ｐＨである（ｐＨはハイパス合成フフィルタの最大係数振幅である（ｐＨ≒０．８５２６９９））。
【００５９】
ＤＷＴ係数の注目ブロックの係数ごとにＴＥが計算された後で、処理はステップ１３６０で再開し、ジャスト・ノーティサブル・ディファレンス（ＪＮＤ）の数がブロック内の係数ごとに計算される。これは元のＤＷＴ係数ｃとその量子化解除された値ｃｄの差をステップ１３１０〜ステップ１３４０で計算されたしきい値上昇（ＴＥ）で除算することで実行される。
【００６０】
【数９】
0004365956.tif 000010
【００６１】
従って、１つのＪＮＤを再構成誤差（｜ｃ−ｃｄ｜）がしきい値上昇（ＴＥ）に等しくなる点であると定義する。逆量子化されたＤＷＴ係数ｃｄは、復号化器で再構成される（適宜任意の復号化器丸めを用いて）係数であることに留意する必要がある。
【００６２】
ブロックの歪みを計算する最後のステップはステップ１３５０で、これによって以下のミンコフスキー総和を用いてブロック内の誤差がプールされる。
【００６３】
【数１０】
0004365956.tif 000011
【００６４】
本実施形態では、ブロック内の最大ＪＮＤを効果的に計算する（因数１／Ｎを用いずに）β＝∞の値を使用する。ベータの他の値も使用でき、β＝４およびβ＝２の値は一定の状況でよい結果を生むことが知られている。
レート歪みの最適化
図４のステップ４５０について詳述する。図７のステップ７４５、７６５および７７６で、注目ブロックレートと歪みが計算されて保持され、それぞれの符号化されたビットプレーンの前記ステップのそれぞれについてレート歪み点を与える。この結果、ビットプレーンごと、すなわち、ＬＩＣ、ＬＩＲ、およびＬＳＣパスごとにレート歪み点が決定される。レート歪み点は、計算された順序に従って、すなわち、レートを上昇することで配列される。
【００６５】
ブロックｎで、レート点の配列された最終番号をｒ１ｎ，ｒ２ｎ，...，ｒＮｎで表し、それに関連付けられた歪み点をｄ１ｎ，ｄ２ｎ，...，ｄＮｎで表すとする。速度が
【００６６】
【数１１】
0004365956.tif 000012
【００６７】
であるコード点でブロックｎを終了することで、符号化画像の合計レートは（すなわち、すべてのブロックの速度）は次式で与えられる。
【００６８】
【数１２】
0004365956.tif 000013
【００６９】
上式でＮｐは画像内の画素数である。本方法は歪みの合計を最小化する。
【００７０】
【数１３】
0004365956.tif 000014
【００７１】
上式で与えられる合計レートＲｄｅｓｉｒｅｄについてＮｈ個のブロックが存在する。すなわち、
【００７２】
【数１４】
0004365956.tif 000015
【００７３】
が得られる。これはラグランジュ乗数方法を用いて達成される。すなわち、ｎｉが
【００７４】
【数１５】
0004365956.tif 000016
【００７５】
を解き、対応するＲｔｏｔａｌ＝Ｒｄｅｓｉｒｅｄになるλ≧０がある場合、これらのｎｉも（９）の制約問題を解く。実際、正確な制約がいかなるλとも一致しないのでＲｔｏｔａｌ＜ＲｄｅｓｉｒｅｄであるレートＲｔｏｔａｌ≒Ｒｄｅｓｉｒｅｄを不満足ながら受け入れる。
【００７６】
（１１）を介して（１０）を解く手順を以下に図１２を参照しながら説明する。ステップ１２１０で各ブロックについて各レート歪み点に対応する傾きが計算される。ブロックｎに関して傾きのセットλ１ｎ，λ２ｎ，...，λＮ＋１ｎが
【００７７】
【数１６】
0004365956.tif 000017
【００７８】
で与えられる。
【００７９】
傾きは減少するものとする。すなわち、各ブロックｎについてλ１ｎ≧λ２ｎ≧...λＮ＋１ｎである。λｊｎ＜λｊ＋１ｎの場合、レート歪み点（ｒｉｎ，ｄｉｎ）はブロックｎの可能なレート歪み点のセットから削除される。次いで残りのレート歪み点は再ラベリングされ傾きが再計算される。この手順は傾きが減少してゆくまで継続する。この手順の最後にＭ≦ＮであるＭ個のレート歪み点があるとすると、λ１ｎ≧λ２ｎ≧...λＭ＋１ｎになる。
【００８０】
ステップ１２２０で、初期傾きλが選択され、λｌｏｗおよびλｈｉｇｈがそれぞれ０と無限大に設定される。好ましくは初期傾きとしてλ＝１０の傾きが選択される。ステップ１２３０でλに関連付けられた最適な合計レートＲ（λ）が計算され、各ブロックｎについて関連付けられた最適終了点
【００８１】
【数１７】
0004365956.tif 000018
【００８２】
が計算される。これらの終了点は（１１）のラグランジュ最小化問題の解である。このステップについて以下に説明する。判定ブロック１２４０で、Ｒ（λ）＜Ｒｄｅｓｉｒｅｄか否かを判定するためにチェックがなされる。判定ブロック１２４０がｎｏを返すと、処理はステップ１２５０に続く。ステップ１２５０でλｌｏｗはλに設定される。次いで処理はステップ１２７０で再開する。判定ブロック１２４０がｙｅｓを返すと、処理はステップ１２６０に続く。ステップ１２６０でλｈｉｇｈはλに設定される。次いで処理はステップ１２７０で再開する。
【００８３】
判定ブロック１２７０で、Ｒ（λ）＜ＲｄｅｓｉｒｅｄかつＲ（λ）＞αＲｄｅｓｉｒｅｄ（αは１より小さいレート許容値）か否かを判定するためにチェックがなされる。好ましくはα＝０．９９が使用される。図１２には示されていないが、繰り返しカウントが保持され、このカウントを超過すると判定ブロック１２７０がｙｅｓを返す。判定ブロック１２７０がｙｅｓを返すと、処理はステップ１２８５に続く。ステップ１２８５で、各ブロックの最適速度点
【００８４】
【数１８】
0004365956.tif 000019
【００８５】
が出力される。次いで処理はステップ１２９０で終了する。判定ブロック１２７０がｎｏを返すと、処理はステップ１２８０に続く。ステップ１２８０で、注目傾きλは更新され、処理はステップ１２３０で再開する。
【００８６】
最適合計レートおよびそれに関連付けられた終了点が以下のようにステップ１２３０で計算される。ブロックｎについて動作傾きλの最適終了点は
【００８７】
【数１９】
0004365956.tif 000020
【００８８】
で、
【００８９】
【数２０】
0004365956.tif 000021
【００９０】
である。
【００９１】
次いで最適合計レートが次式で与えられる。
【００９２】
【数２１】
0004365956.tif 000022
【００９３】
（１３）を満たす複数のｉｎがある場合、それぞれの可能なｎｉの記録をとる。それに対応して、その場合、異なる可能な合計最適レートのセット｛Ｒ（λ）｝があり、この有限のセット内に最小Ｒｍｉｎ（λ）と最大Ｒｍａｘ（λ）がある。判定ブロック１２７０でＲｍｉｎ（λ）＜ＲｄｅｓｉｒｅｄかつＲｍａｘ（λ）＞Ｒｄｅｓｉｒｅｄの場合、判定ブロック１２７０はｙｅｓを返し、Ｒｄｅｓｉｒｅｄより小さいかそれに等しい最大Ｒ（λ）に対応する終了点のセット
【００９４】
【数２２】
0004365956.tif 000023
【００９５】
がステップ１２８５で出力される。
【００９６】
別の本実施形態では、所与の合計歪みレートについて合計レートが最小化される。これは上記と同様の方法で達成される。
圧縮ビット・ストリームの形成
図４のステップ４６０で、各ブロックの切り捨てられたコードはビット・ストリームに連結される。各ブロックの終了点を描写するには特殊なコードが必要である。好ましくは、ブロックのコードに続けてバイト整合の０ｘＦＦの８ビット２進コードが並び、注目ブロックのコードの終了を示す。すなわち、ブロックコードの最後にいくつかのゼロ・ビットが出力されてバイトを完成する。次いで０ｘＦＦの８ビット２進コードが出力される。そのような終了コードの使用はこれ以外の時間にバイト整合の０ｘＦＦコードが符号化器によって出力されないことを必要とする。これはバイト整合の０ｘＦＦまたは０ｘＦＥが出力される場合、ビット・ストリームのこのバイトの最後のビットの直前に０を挿入することで保証される。
本実施形態の装置
提案される方法の符号化処理は、好ましくは、この処理がコンピュータ上で実行されるソフトウェアとして実施できる図１５に示すような従来の汎用コンピュータを用いて実行される。特に、符号化方法の手順はコンピュータが実行するソフトウェア内の命令によって実行される。ソフトウェアは符号化方法を実行する部分と、符号化方法とユーザとの間のユーザインタフェースを管理する別の部分の２つの部分に分割できる。ソフトウェアは例えば以下の記憶装置を含むコンピュータ可読媒体に記憶できる。ソフトウェアはコンピュータ可読媒体からコンピュータ内にロードされ、次いでコンピュータによって実行される。そのようなソフトウェアまたはコンピュータプログラムを記録したコンピュータ可読媒体はコンピュータプログラム製品である。コンピュータ内のコンピュータプログラム製品の使用は好ましくは本発明の実施形態によるデジタル画像を符号化する有利な装置を実施する。
【００９７】
コンピュータシステム１５００はコンピュータ１５０２と、ビデオディスプレイ１５１６と、入力装置１５１８、１５２０とからなる。さらに、コンピュータシステム１５００は、コンピュータ１５０２に接続されたラインプリンタ、レーザプリンタ、プロッタ、およびその他の再生装置を含むいくつかの任意のその他の出力装置を有することができる。コンピュータシステム１５００は、モデム通信経路、コンピュータネットワークなどの適当な通信チャネル１５３０を用いた通信インタフェース１５０８ｃを介して１つまたは複数の他のコンピュータに接続できる。コンピュータネットワークはローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、イントラネット、および／またはインターネットを含むことができる。
【００９８】
コンピュータ１５０２自体は中央処理装置（以後単にプロセッサと呼ぶ）１５０４、ランダムアクセスメモリ（ＲＡＭ）および読出専用メモリ（ＲＯＭ）を含むことができるメモリ１５０６、入出力（ＩＯ）インタフェース１５０８ａ、１５０８ｂおよび１５０８ｃ、ビデオインタフェース１５１０、および図１５のブロック１５１２によって一般に表される１つまたは複数の記憶装置からなる。記憶装置１５１２は、フロッピーディスク、ハードディスクドライブ、光磁気ディスクドライブ、ＣＤ−ＲＯＭ、磁気テープまたはその他の任意の当業者にはよく知られているいくつかの不揮発性記憶装置を含むことができる。構成要素１５０４〜１５１２は通常、バス１５１４を介して１つまたは複数の他の装置に接続され、この場合、この装置はデータ、アドレス、および制御バスを含むことができる。
【００９９】
ビデオインタフェース１５１０はビデオディスプレイ１５１６に接続され、ビデオディスプレイ１５１６に表示するためのビデオ信号をコンピュータ１５０２から提供する。コンピュータ１５０２を操作するためのユーザ入力が１つまたは複数の入力装置１５０８ｂによって提供される。例えば、オペレータはキーボード１５１８および／またはマウス１５２０などのポインティングデバイスを使用して入力をコンピュータ１５０２に提供できる。
【０１００】
システム１５００は単に例示の目的で提供されており、本発明の範囲および精神から逸脱することなしにその他の構成を採用することができる。実施形態を実行できる例示のコンピュータはＩＢＭ−ＰＣ／ＡＴまたはその互換機、Ｍａｃｉｎｔｏｓｈ（ＴＭ）ファミリＰＣの１つ、Ｓｕｎ  Ｓｐａｒｃｓｔａｔｉｏｎ（ＴＭ）などを含む。これらは本発明の実施形態を実行できるコンピュータのタイプの例示にすぎない。通常、以下に記載する実施形態の処理はコンピュータ可読媒体としてハードディスクドライブ（一般に図１５のブロック１５１２として示す）に記録されたソフトウェアまたはプログラムとして常駐しており、プロセッサ１５０４を用いて読み出され制御される。プログラムおよび画素データおよびネットワークから取り出された任意のデータの中間記憶は、半導体メモリ１５０６を用いて達成でき、ハードディスクドライブ１５１２と連携して達成することもできる。
【０１０１】
場合によっては、プログラムはＣＤ−ＲＯＭまたはフロッピーディスク（両方とも一般にブロック１５１２で示す）に符号化されてユーザに供給することができ、あるいは、例えば、コンピュータに接続されたモデム装置を介してネットワークからユーザが呼び出すことができる。さらに、磁気テープ、ＲＯＭまたは集積回路、光磁気ディスク、コンピュータと他の装置間の無線または赤外線伝送チャネル、ＰＣＭＣＩＡカードなどのコンピュータ可読カード、ならびに電子メール伝送およびウェブサイトなどに記録された情報を含むインターネットおよびイントラネットを含む他のコンピュータ可読媒体からソフトウェアをコンピュータシステム１５００にロードすることもできる。これらは関連するコンピュータ可読媒体の例にすぎない。本発明の範囲および精神から逸脱することなしにその他のコンピュータ可読媒体を実施することができる。
【０１０２】
代替案として、本実施形態の符号化方法は、本方法の各ステップの機能または副機能を実行する１つまたは複数の集積回路などの専用ハードウェア内で実施することができる。そのような専用ハードウェアはグラフィックプロセッサ、デジタル信号プロセッサ、または１つまたは複数のマイクロプロセッサおよびそれに関連付けられたメモリを含むことができる。
本実施形態の変形例
広い意味で記述される本発明の範囲および精神から逸脱することなしに、特定の実施形態に示す本発明にさまざまな変更および／または修正を加えることができることを当業者は理解するであろう。従って、本発明はすべての点で例示的であって限定的ではないと考えるべきである。特に、知覚歪みを計算するための可視モデルは、広い意味で同じ機能を有するいくつかの数学関数で実施できる。例えば、ＤＷＴ係数の平方根などの非直線関数を用いてしきい値上昇関数をモデル化することができる。また、ブロックごとに計算したＪＮＤを、次のような「Ｓ」型の精神測定関数を用いた検出確率に変換することができる。
【０１０３】
【数２３】
0004365956.tif 000024
【０１０４】
上式で、αは判定しきい値（通常１．０）でβは関数の傾き（通常２．０）である。この場合、これらの検出確率は本実施形態のＪＮＤなどでプールされる。次いで検出確率またはＪＮＤは頻度および／またはスケールにわたってプールされ知覚ブロック歪みが決定される。積級数またはミンコフスキー総和などの従来技術で知られている技法を用いてこれを実行できる。
【０１０５】
【発明の効果】
以上説明したように、本発明によれば、画品質を維持しながら高圧縮率の符号化を実現するとともに装置構成に依存せずに画像を良好に復号し生成することができるデジタル画像の生成方法および装置を提供することを目的とする。
【図面の簡単な説明】
【図１】オリジナル画像とその画像の第１レベルＤＷＴを示す図である。
【図２】図１のオリジナル画像の第２レベルＤＷＴを示す図である。
【図３】図１のオリジナル画像の第４レベルＤＷＴを示す図である。
【図４】本実施形態の符号化処理のフローチャートである。
【図５】図４に示す本実施形態の方法に従う符号化画像の復号化処理のフローチャートである。
【図６】タイル化サブバンドを示す図である。
【図７】図４のステップ４４０で使用する符号化処理のフローチャートである。
【図８】クワドツリー区分化方法に従って区分化されたブロックを示す図である。
【図９】図７のステップ７６０で使用するＬＩＲ符号化処理のフローチャートである。
【図１０】図７のステップ７４０で使用するＬＩＣ符号化処理のフローチャートである。
【図１１】図７のステップ７７５で使用するＬＳＣ符号化処理のフローチャートである。
【図１２】図４のステップ４５０で使用する最適知覚切り捨てポイントを決定する処理のフローチャートである。
【図１３】図７のステップ７４５、７６５および７７６で使用する注目レートおよび歪みを決定する処理のフローチャートである。
【図１４】しきい値上昇関数を示す図である。
【図１５】本実施形態の方法を実施するための汎用コンピュータを示す図である。
【図１】
0004365956.tif 000025
【図２】
0004365956.tif 000026
【図３】
0004365956.tif 000027
【図４】
0004365956.tif 000028
【図５】
0004365956.tif 000029
【図６】
0004365956.tif 000030
【図７】
0004365956.tif 000031
【図８】
0004365956.tif 000032
【図９】
0004365956.tif 000033
【図１０】
0004365956.tif 000034
【図１１】
0004365956.tif 000035
【図１２】
0004365956.tif 000036
【図１３】
0004365956.tif 000037
【図１４】
0004365956.tif 000038
【図１５】
0004365956.tif 000039