(57)【要約】【課題】実際の出力符号量を目標符号量以下に抑えるために出力符号量を事前に正確に予測するのは困難であった。【解決手段】水平ウェーブレット分解手段１３１は、２次元信号を高域側の水平分解係数Ｈと低域側の水平分解係数Ｌとに分解する。符号量予測手段は、２ライン分のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、量子化せずに符号化したときの符号量の合計を、同じ２ラインの水平分解係数Ｈに基づいて予測する。量子化値決定手段は、２ライン分のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、当該２ライン分のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨに対する目標符号量と、予測された符号量とに基づいて、量子化値を決定する。符号化係数量子化手段１３８は、２ライン分のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、決定された量子化値で量子化する。係数符号化手段１３Ａは、量子化後のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨを符号化する。【選択図】図１
2011029982.tif 000002
【特許請求の範囲】
【請求項１】
２次元信号を高域側の水平分解係数Ｈと低域側の水平分解係数Ｌとに分解する水平ウェーブレット分解手段と、
前記水平分解係数を低域サブバンドのウェーブレット変換係数ＬＬと高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨとに分解する垂直ウェーブレット分解手段と、
２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、量子化せずに符号化したときの符号量の合計を、同じ２ラインの前記高域側の水平分解係数Ｈに基づいて予測する符号量予測手段と、
前記２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、当該２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨに対する目標符号量と、前記予測された符号量とに基づいて、量子化値を決定する量子化値決定手段と、
前記２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、前記決定された量子化値で量子化する符号化係数量子化手段と、
前記２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、前記量子化後の値を符号化する係数符号化手段とを備えることを特徴とするウェーブレット変換符号化装置。
【請求項２】
前記符号量予測手段は、前記２ラインの前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨのそれぞれについて、量子化せずに符号化したときの最小の符号量に予め定められた一定の符号量を加算した符号量を求めて、累積し、該累積した符号量を１．５倍した値を、前記２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの符号量の合計の予測値として求めることを特徴とする請求項１に記載のウェーブレット変換符号化装置。
【請求項３】
前記量子化値決定手段は、前記２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、当該２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨに対する目標符号量と、前記予測された符号量とを比較し、前記予測された符号量が前記目標符号量以下であれば、量子化値を０と決定し、前記予測された符号量が前記目標符号量を超えていれば、１／２mに量子化した場合に各係数の符号量がｍビット削減されるものとして、量子化後に符号化したときの符号量が前記目標符号量以下となる最小のｍの値を前記量子化値として決定することを特徴とする請求項１または２に記載のウェーブレット変換符号化装置。
【請求項４】
前記２次元信号全体の目標符号量と符号化済ライン数と出力済符号量とに基づいて、次に符号化する２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨに対する目標符号量を算出するライン目標符号量算出手段を備えることを特徴とする請求項１乃至３の何れか１項に記載のウェーブレット変換符号化装置。
【請求項５】
前記係数符号化手段は、前記２ライン内において、同一階層に属する複数の高域サブバンド内の空間的に同一位置にあるウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの組毎に符号化を行うことを特徴とする請求項１乃至４の何れか１項に記載のウェーブレット変換符号化装置。
【請求項６】
前記係数符号化手段は、
符号化対象となるウェーブレット変換係数の符号化パラメータを同一階層に属する複数の高域サブバンド内の既に符号化された近傍の複数のウェーブレット変換係数に基づいて算出する符号化パラメータ算出手段と、
該符号化パラメータ算出手段で算出された符号化パラメータを用いて前記符号化対象のウェーブレット変換係数を可変長符号化する係数可変長符号化手段とを有することを特徴とする請求項５に記載のウェーブレット変換符号化装置。
【請求項７】
前記係数符号化手段は、組内では、ウェーブレット変換係数ＬＨ、ウェーブレット変換係数ＨＬ、ウェーブレット変換係数ＨＨの順に符号化を行うことを特徴とする請求項６に記載のウェーブレット変換符号化装置。
【請求項８】
ウェーブレット変換係数ＨＬの符号化パラメータを算出するための前記複数のウェーブレット変換係数の中には、当該ウェーブレット変換係数ＨＬと空間的に同一位置にあるウェーブレット変換係数ＬＨが含まれることを特徴とする請求項７に記載のウェーブレット変換符号化装置。
【請求項９】
ウェーブレット変換係数ＨＨの符号化パラメータを算出するための前記複数のウェーブレット変換係数の中には、当該ウェーブレット変換係数ＨＨと空間的に同一位置にあるウェーブレット変換係数ＬＨ、ＨＬが含まれることを特徴とする請求項７に記載のウェーブレット変換符号化装置。
【請求項１０】
前記符号化パラメータ算出手段は、符号化対象となるウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの座標を（ｉ，ｊ）とするとき、
ウェーブレット変換係数ＬＨの符号化パラメータを、
座標値（ｉ、ｊ−１）のウェーブレット変換係数ＬＨ
座標値（ｉ−１、ｊ）のウェーブレット変換係数ＬＨ
座標値（ｉ、ｊ−１）のウェーブレット変換係数ＨＬ
座標値（ｉ＋１、ｊ−１）のウェーブレット変換係数ＨＬ
座標値（ｉ、ｊ−１）のウェーブレット変換係数ＨＨ
座標値（ｉ−１、ｊ）のウェーブレット変換係数ＨＨ
に基づいて算出し、
ウェーブレット変換係数ＨＬの符号化パラメータを、
座標値（ｉ、ｊ−１）のウェーブレット変換係数ＨＬ
座標値（ｉ−１、ｊ）のウェーブレット変換係数ＨＬ
座標値（ｉ−１、ｊ−１）のウェーブレット変換係数ＬＨ
座標値（ｉ、ｊ）のウェーブレット変換係数ＬＨ
座標値（ｉ−１、ｊ）のウェーブレット変換係数ＨＨ
に基づいて算出し、
ウェーブレット変換係数ＨＨの符号化パラメータを、
座標値（ｉ、ｊ−１）のウェーブレット変換係数ＨＨ
座標値（ｉ−１、ｊ）のウェーブレット変換係数ＨＨ
座標値（ｉ、ｊ）のウェーブレット変換係数ＬＨ
座標値（ｉ、ｊ）のウェーブレット変換係数ＨＬ
に基づいて算出することを特徴とする請求項７に記載のウェーブレット変換符号化装置。
【請求項１１】
前記符号化パラメータ算出手段は、前記複数のウェーブレット変換係数のデコーダでの復元値を算出し、該算出した復元値を符号化対象となるウェーブレット変換係数の量子化と同じ量子化値で量子化し、この量子化後の値を加重加算し、この加重加算した値を量子化して符号化パラメータを算出することを特徴とする請求項６乃至１０の何れか１項に記載のウェーブレット変換符号化装置。
【請求項１２】
前記ウェーブレット変換係数ＬＬに対して更に１階層以上のウェーブレット変換を行うための水平ウェーブレット分解手段および垂直ウェーブレット分解手段の組と、
最大解像度の階層以外の階層の高域サブバンドの２ライン分のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの量子化値を、その２ラインの下位にあたる全ての最大解像度サブバンドのラインの量子化値の平均値に基づいて算出する中間解像度量子化値設定手段とを備えることを特徴とする請求項１乃至１１の何れか１項に記載のウェーブレット変換符号化装置。
【請求項１３】
前記中間解像度量子化値設定手段は、解像度のより低い階層ほど、より小さな量子化値を算出することを特徴とする請求項１２に記載のウェーブレット変換符号化装置。
【請求項１４】
階層数をｎとするとき、前記２次元信号を２n行のスライスブロックという単位に分解し、スライスブロック単位で符号化を行うことを特徴とする請求項１２または１３に記載のウェーブレット変換符号化装置。
【請求項１５】
１つのスライスブロックの符号化を開始する時に、そのスライスブロックの目標符号量を、画像全体の目標符号量から直前のスライスブロックまでに出力した累計符号量を減じた値に基づいて算出する次スライス目標符号量算出手段を備えることを特徴とする請求項１４に記載のウェーブレット変換符号化装置。
【請求項１６】
符号化が未完了のラインの出力符号量を、当該ラインの１段下の階層の出力済符号量から推定する未出力符号量推定手段と、
符号化が完了したラインについては実際の出力符号量を用い、符号化が未完了のラインについては前記未出力符号量推定手段で推定された出力符号量を用いて、直前のスライスブロックまでの出力済符号量を計算する前スライス出力符号量算出手段とを備えることを特徴とする請求項１５に記載のウェーブレット変換符号化装置。
【請求項１７】
前記次スライス目標符号量算出手段で算出されたスライスブロックの目標符号量から符号化の完了した前ラインまでの出力符号量を減算した値に基づいて、当該スライスブロックの次の２ライン分の出力符号量を算出するライン目標符号量算出手段を備えることを特徴とする請求項１５または１６に記載のウェーブレット変換符号化装置。
【請求項１８】
２次元信号を高域側の水平分解係数Ｈと低域側の水平分解係数Ｌとに分解し、
前記水平分解係数を低域サブバンドのウェーブレット変換係数ＬＬと高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨとに分解し、
２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、量子化せずに符号化したときの符号量の合計を、同じ２ラインの前記高域側の水平分解係数Ｈに基づいて予測し、
前記２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、当該２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨに対する目標符号量と、前記予測された符号量とに基づいて、量子化値を決定し、
前記２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、前記決定された量子化値で量子化し、
前記２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、前記量子化後の値を符号化する、
ことを特徴とするウェーブレット変換符号化方法。
【請求項１９】
前記２ラインの前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨのそれぞれについて、量子化せずに符号化したときの最小の符号量に予め定められた一定の符号量を加算した符号量を求めて、累積し、該累積した符号量を１．５倍した値を、前記２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの符号量の合計の予測値として求めることを特徴とする請求項１８に記載のウェーブレット変換符号化方法。
【請求項２０】
コンピュータを、
２次元信号を高域側の水平分解係数Ｈと低域側の水平分解係数Ｌとに分解する水平ウェーブレット分解手段と、
前記水平分解係数を低域サブバンドのウェーブレット変換係数ＬＬと高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨとに分解する垂直ウェーブレット分解手段と、
２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、量子化せずに符号化したときの符号量の合計を、同じ２ラインの前記高域側の水平分解係数Ｈに基づいて予測する符号量予測手段と、
前記２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、当該２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨに対する目標符号量と、前記予測された符号量とに基づいて、量子化値を決定する量子化値決定手段と、
前記２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、前記決定された量子化値で量子化する符号化係数量子化手段と、
前記２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、前記量子化後の値を符号化する係数符号化手段として機能させるためのプログラム。
【請求項２１】
前記符号量予測手段は、前記２ラインの前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨのそれぞれについて、量子化せずに符号化したときの最小の符号量に予め定められた一定の符号量を加算した符号量を求めて、累積し、該累積した符号量を１．５倍した値を、前記２ライン分の前記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの符号量の合計の予測値として求めることを特徴とする請求項２０に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は２次元信号のウェーブレット変換符号化に関し、特に出力符号量を調整しながら符号化を進めるウェーブレット変換符号化方法および装置に関する。
【背景技術】
【０００２】
画像信号に代表される２次元信号を高能率に符号化する方式の一つに、ウェーブレット変換符号化方式が知られている（例えば特許文献１参照）。
【０００３】
ウェーブレット変換符号化方式では、まず、２次元信号に対してウェーブレット変換を施す。ウェーブレット変換は、一種のサブバンド符号化であり、水平および垂直方向にそれぞれ帯域分割するサブバンド分割を、低域側について繰り返し行うことでＮ階層の帯域分割を行う。このような帯域分割はオクターブ分割と呼ばれる。３階層まで分割した場合は、図１７に示すような１０個のサブバンドが得られる。
【０００４】
図１７において、Ｆ０〜Ｆ３は最下位層のサブバンド、Ｆ４〜Ｆ６はその上の階層のサブバンド、Ｆ７〜Ｆ９は最上位層のサブバンドである。また、Ｆ１、Ｆ４、Ｆ７は、水平方向にローパスフィルタ、垂直方向にハイパスフィルタをかけたサブバンド、Ｆ２、Ｆ５、Ｆ８は、水平方向にハイパスフィルタ、垂直方向にローパスフィルタをかけたサブバンド、Ｆ３、Ｆ６、Ｆ９は、水平方向および垂直方向ともハイパスフィルタをかけたサブバンドである。また、Ｆ０を最低域サブバンドと呼び、Ｆ０以外のＦ１〜Ｆ９を高域サブバンドと呼ぶ。
【０００５】
各サブバンドＦ０〜Ｆ９には、ウェーブレット変換係数が含まれる。本明細書では、Ｆ１、Ｆ４、Ｆ７のように水平方向にローパスフィルタ、垂直方向にハイパスフィルタをかけたサブバンドに含まれるウェーブレット変換係数をＬＨと呼ぶ。また、Ｆ２、Ｆ５、Ｆ８のように水平方向にハイパスフィルタ、垂直方向にローパスフィルタをかけたサブバンドに含まれるウェーブレット変換係数をＨＬと呼ぶ。また、Ｆ３、Ｆ６、Ｆ９のように水平方向および垂直方向ともハイパスフィルタをかけたサブバンドに含まれるウェーブレット変換係数をＨＨと呼ぶ。また、最低域サブバンドＦ０に含まれるウェーブレット変換係数をＬＬと呼ぶ。さらに、同一階層の複数の高域サブバンドにおける同一空間座標のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨには、例えば、ＬＨ（ｉ，ｊ）、ＨＬ（ｉ，ｊ）、ＨＨ（ｉ，ｊ）のように、それらの後ろに同じ座標を付記して表現する。なお、水平方向をｘ、垂直方向をｙとし、座標は（ｘ，ｙ）で表現するものとする。
【０００６】
上記のようなウェーブレット変換を行うと、電力は最低域サブバンドに含まれるウェーブレット変換係数ＬＬに偏り、高域サブバンドに含まれるウェーブレット変換係数ＬＨ、ＨＬ、ＨＨは、０に近い値になる。このため、０に近い値ほど符号長が短くなる可変長符号を用いて、高域サブバンドに含まれるウェーブレット変換係数ＬＨ、ＨＬ、ＨＨを符号化することにより、情報量を圧縮することが可能になる。
【０００７】
また、ウェーブレット変換係数ＬＨ、ＨＬ、ＨＨを量子化すれば、より０に近い値になる。ここで、ウェーブレット変換係数を量子化するとは、ウェーブレット変換係数を或る値で徐算したり、或るビット数だけ右シフトする操作を意味する。また、このときの徐数や右シフト量を量子化値と呼ぶ。より大きな量子化値を用いてウェーブレット変換係数を量子化することにより、情報量の圧縮率をより高めることができる。
【０００８】
なお、高域サブバンドに含まれるウェーブレット変換係数を符号化する方式としては、ＪＰＥＧ２０００のようにＬＨ、ＨＬ、ＨＨをそれぞれ別々に符号化する方式と、例えば特許文献３に示すように、同一階層に属する複数のサブバンド内の空間的に同一位置にあるＬＨ、ＨＬ、ＨＨをまとめて符号化する方式とがある。
【０００９】
ウェーブレット変換復号では、ウェーブレット変換符号化によって生成された符号列を入力し、符号化と逆の手順を用いて、元の２次元信号を生成する。
【００１０】
上述した０に近い値ほど符号長が短くなる可変長符号の一例として、ゴロムライス（Golomb-Rice）符号がある。ゴロムライス符号は、信号値を「単進符号」+「ｋビットの固定長符号」として出力する。ｋは有効桁数の推定値を与える符号化パラメータである。
【００１１】
ゴロムライス符号を用いて符号化する場合、符号化対象となる２進数を下位ｋビットと上位の残りビットとに分割し、上位の残りビットを単進符号に置き換える。たとえば、信号00010011（２値表現）をｋ＝３で符号化する場合、下位３ビットを除く上位５ビット(00010)が単進符号化された後、下位３ビットがそのまま出力される。単進符号として、ビット列で表現される数だけの"０"のビットに"１"のビットを付加した符号を用いる場合、上記の例では上位５ビットの数値が２であるため、２ビットの"０"が出力され、"１"で終端される。下位３ビットとあわせて最終的に"001011"が符号として出力される。
【００１２】
ゴロムライス符号の復号は、符号化に使われたものと同じｋの値を用いて、復号対象となる２進数を下位ｋビットと上位の残りビットとに分割し、上位の残りビットを単進符号前の状態に戻す。たとえば、ｋ＝３として符号化された上述の例の符号"001011"の復号では、まず、単進符号"001"から２という数値が復号されて上位５ビット"00010"として出力され、さらに、後続する"011"が下位３ビットとして出力される。この結果、元の信号と完全に一致する信号00010011が得られる。このようにゴロムライス符号は可逆圧縮符号の一種である。
【００１３】
ゴロムライス符号は、符号化すべき信号値の有効桁とk値が一致する場合に、最も符号長が短くなる。上述の信号00010011の例では、有効桁は５桁なので、ｋ＝５の時、出力される符号が110011となって符号長が最短となる。そのため、ｋ値を動的に予測する適応型ゴロムライス符号が考案されている。
【００１４】
適応型ゴロムライス符号の一例が特許文献２に記載されている。特許文献２に記載された適応型ゴロムライス符号では、ゴロムライス符号化の対象とする信号値ｄ（特許文献２では予測誤差をゴロムライス符号化の対象としている）の統計から、最適なｋ値を予測するものである。具体的には、それまでに出現した信号値ｄの絶対値を累積し、その総和ａと累積回数ｎから平均的な有効桁数ｋが推定される。また、累積回数があらかじめ決められた上限値（Ｒｅｓｅｔ）に達すると、累積値と累積回数をそれぞれ半分にする再スケール処理が行われる。他方、ゴロムライス復号では、符号側と同じｋ値を得るために、それまでにゴロムライス復号した信号値ｄの絶対値を累積し、その総和ａと累積回数ｎから、ゴロムライス符号化で使用されたものと同一の有効桁数ｋが推定される。さらに、累積回数があらかじめ決められた上限値（Ｒｅｓｅｔ）に達すると、累積値と累積回数をそれぞれ半分にする再スケール処理が行われる。
【００１５】
他方、記憶容量や伝送容量に応じて、２次元信号の符号量を制御する符号化装置が種々提案されている。例えば、動画像の現フレームの各領域ごとの目標符号量と前フレームのその領域の特性値とから、符号化対象となる２次元信号に対する量子化値を決定する画像符号化装置が提案されている（例えば、特許文献５の従来技術の項参照）。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００３−２７４１８５号公報
【特許文献２】米国特許第５７６４３７４号明細書
【特許文献３】ＷＯ２００５／０８１５３９
【特許文献４】特開２００１−２８５６４３号公報
【特許文献５】特開２００３−１８９３１１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
上述したように２次元信号のウェーブレット変換符号化においては、ウェーブレット変換係数を量子化する際の量子化値の大小に応じて符号量を制御できる。このため、記憶容量や伝送容量に応じて２次元信号の符号量を制御したい場合、実際の符号量が事前に正確に予測できれば、その予測した符号量と目標符号量との比較結果に応じてウェーブレット変換係数の量子化値を決定することにより、実際の符号量を目標符号量以内に抑えつつ、量子化誤差の最も少ない符号化が可能になる。しかしながら、特許文献５に示されるように前フレームの状態から現フレームの状態を予測する如く、一般に過去の状態から現在の状態を予測する方法では、実際の符号量を正確に予測するのは困難である。その理由は、２次元信号の傾向が急に変化した場合、過去の状態と現在の状態とに相関が無くなるためである。
【００１８】
本発明の目的は、実際の出力符号量を目標符号量以下に抑えるために出力符号量を事前に正確に予測するのは困難であるという課題を解決したウェーブレット変換符号化方法および装置を提供することにある。
【課題を解決するための手段】
【００１９】
本発明のウェーブレット変換符号化装置は、２次元信号を高域側の水平分解係数Ｈと低域側の水平分解係数Ｌとに分解する水平ウェーブレット分解手段と、上記水平分解係数を低域サブバンドのウェーブレット変換係数ＬＬと高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨとに分解する垂直ウェーブレット分解手段と、２ライン分の上記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、量子化せずに符号化したときの符号量の合計を、同じ２ラインの上記高域側の水平分解係数Ｈに基づいて予測する符号量予測手段と、上記２ライン分の上記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、当該２ライン分の上記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨに対する目標符号量と、上記予測された符号量とに基づいて、量子化値を決定する量子化値決定手段と、上記２ライン分の上記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、上記決定された量子化値で量子化する符号化係数量子化手段と、上記２ライン分の上記高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨ毎に、上記量子化後の値を符号化する係数符号化手段とを備えている。
【発明の効果】
【００２０】
本発明によれば、実際の出力符号量を事前に正確に予測して出力符号量を目標符号量以下に抑えることができるウェーブレット変換符号化方法および装置を提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施の形態に係るウェーブレット変換符号化装置のブロック図である。
【図２】本発明の第１の実施の形態に係るウェーブレット変換符号化装置の動作を示すフローチャートである。
【図３】本発明の第２の実施の形態に係るウェーブレット変換符号化装置のブロック図である。
【図４】高域サブバンド係数符号化手段の構成例を示すブロック図である。
【図５】空間的に同一位置にあるウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの組の説明図である。
【図６】ウェーブレット変換係数ＬＨを可変長符号化する際の符号化パラメータを求めるために参照する他の複数のウェーブレット変換係数の説明図である。
【図７】ウェーブレット変換係数ＨＬを可変長符号化する際の符号化パラメータを求めるために参照する他の複数のウェーブレット変換係数の説明図である。
【図８】ウェーブレット変換係数ＨＨを可変長符号化する際の符号化パラメータを求めるために参照する他の複数のウェーブレット変換係数の説明図である。
【図９】ウェーブレット変換係数ＬＨを可変長符号化する際の動作を示すフローチャートである。
【図１０】ウェーブレット変換係数ＨＬを可変長符号化する際の動作を示すフローチャートである。
【図１１】ウェーブレット変換係数ＨＨを可変長符号化する際の動作を示すフローチャートである。
【図１２】本発明の第３の実施の形態における処理単位となるスライスブロックの説明図である。
【図１３】本発明の第３の実施の形態における最大解像度以外の階層の量子化値の求め方の説明図である。
【図１４】本発明の第３の実施の形態において符号化が未完了となるラインの説明図である。
【図１５】本発明の第３の実施の形態に係るウェーブレット変換符号化装置のブロック図である。
【図１６】本発明の第３の実施の形態に係るウェーブレット変換符号化装置の動作を示すフローチャートである。
【図１７】３階層のウェーブレット変換の説明図である。
【発明を実施するための形態】
【００２２】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００２３】
[第１の実施の形態]
図１を参照すると、本発明の第１の実施の形態は、画像入力装置１１と、データ記憶装置１２と、プログラム制御により動作するデータ処理装置１３と、符号出力装置１４とから構成されている。
【００２４】
画像入力装置１１は、２次元信号としての画像を入力するための装置であり、例えばカメラや通信装置などで構成される。
【００２５】
データ記憶装置１２は、画像メモリ１２１と、水平分解係数メモリ１２２と、水平垂直分解係数メモリ１２３と、係数データ量メモリ１２４と、ライン量子化値メモリ１２５と、量子化係数データ量メモリ１２６と、ライン目標符号量メモリ１２７と、目標符号量メモリ１２８と、出力符号量メモリ１２９と、出力ライン数メモリ１２Ａとを含む。
【００２６】
画像メモリ１２１は、画像入力装置１１から入力された画像を記憶する。
【００２７】
水平分解係数メモリ１２２は、画像メモリ１２１に記憶された入力画像に対して水平ウェーブレット分解を施すことにより得られた水平分解係数を記憶する。
【００２８】
水平垂直分解係数メモリ１２３は、水平分解係数メモリ１２２に記憶された水平分解係数に対して垂直ウェーブレット分解を施すことにより得られた水平垂直分解係数を記憶する。
【００２９】
目標符号量メモリ１２８は、１画像あたりの目標符号量を記憶する。
【００３０】
出力符号量メモリ１２９は、画像の先頭ラインから符号化処理を終えたラインまでの出力符号量の累積値を記憶する。初期値は０である。
【００３１】
出力ライン数メモリ１２Ａは、画像の先頭ラインから符号化処理を終えたラインまでのライン数を記憶する。初期値は０である。
【００３２】
ライン目標符号量メモリ１２７は、画像中の次に符号化処理の対象とする２ラインのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの合計の目標符号量を記憶する。
【００３３】
係数データ量メモリ１２４は、画像中の次に符号化処理の対象とする２ラインのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨについて、量子化せずに符号化した場合の合計の符号量の予測値を記憶する。
【００３４】
ライン量子化値メモリ１２５は、画像中の次に符号化処理の対象とする２ラインのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨについて実施する量子化に関する量子化値を記憶する。量子化値とは、どの程度の粒度の量子化を行うかを示す量子化パラメータである。例えば、量子化対象となるｍ桁の係数をｎビットだけ右シフトしてｍ−ｎビットに量子化する場合、このｎの値が量子化値となる。
【００３５】
量子化係数データ量メモリ１２６は、画像中の次に符号化処理の対象とする２ラインのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨについて、ライン量子化値メモリ１２５に記憶された量子化値を用いて量子化した後にゴロムライス符号化した場合の合計の符号量の予測値を記憶する。
【００３６】
データ処理装置１３は、水平ウェーブレット分解手段１３１と、水平高周波係数統計手段１３２と、垂直ウェーブレット分解手段１３３と、係数データ量推定手段１３４と、量子化係数データ量判定手段１３５と、量子化値設定手段１３６と、ライン目標符号量算出手段１３７と、符号化係数量子化手段１３８と、量子化値符号化手段１３９と、係数符号化手段１３Ａとを備えている。
【００３７】
水平ウェーブレット分解手段１３１は、整数型５−３フィルタや整数型９−７フィルタなどで構成される。水平ウェーブレット分解手段１３１は、画像メモリ１２１に記憶された入力画像をラスタスキャン順に１行ずつ水平方向に読み出して処理することにより、水平分解係数を生成し、水平分解係数メモリ１２２に記憶する。水平分解係数メモリ１２２中に図示したＨは、高域側の水平分解係数を示し、Ｌは低域側の水平分解係数を示す。また、水平ウェーブレット分解手段１３１は、高域側の水平分解係数Ｈを、水平高周波係数統計手段１３２にも出力する。
【００３８】
垂直ウェーブレット分解手段１３３は、水平ウェーブレット分解手段１３１と同じく、整数型５−３フィルタや整数型９−７フィルタなどで構成される。垂直ウェーブレット分解手段１３３は、水平分解係数メモリ１２２に記憶された水平分解係数を１行ずつ垂直方向に読み出して処理することにより、ＬＨ、ＨＬ、ＨＨ、ＬＬを生成し、水平垂直分解係数メモリ１２３に記憶する。
【００３９】
このように、水平ウェーブレット分解手段１３１と垂直ウェーブレット分解手段１３３とでウェーブレット変換手段が構成されている。ここで、入力画像に対して全て水平ウェーブレット分解した後に、水平分解係数を水平分解係数メモリ１２２に一旦全て格納し、次に、水平分解係数メモリ１２２から水平分解係数を読み出して垂直ウェーブレット分解を行うようにしても良い。しかし、処理の高速化とメモリ容量の削減を図るために、水平ウェーブレット分解手段１３１で幾つかの行の水平分解係数が求められ次第、垂直ウェーブレット分解手段の動作を開始させることによって、ウェーブレット変換係数ＬＬ、ＬＨ、ＨＬ、ＨＨを連続的に求めるようにしても良い（例えば特許文献４の第１の実施の形態参照）。
【００４０】
また本実施の形態は１階層のウェーブレット変換を行っているが、本発明は２階層以上のウェーブレット変換を行う場合にも勿論適用可能である。そして、２階層以上のウェーブレット変換を行う場合に、各階層のウェーブレット変換係数を連続的に求めるようにしても良い（例えば特許文献４の第２の実施の形態参照）。
【００４１】
ライン目標符号量算出手段１３７は、目標符号量メモリ１２８に記憶された１画像あたりの目標符号量をａ、出力符号量メモリ１２９に記憶された画像の先頭ラインから符号化処理を終えたラインまでの出力符号量の累積値をｂ、出力ライン数メモリ１２Ａに記憶された画像の先頭ラインから符号化処理を終えたラインまでのライン数をｃ、画像の合計ライン数をｄ、目標符号量ａのうちＬＬの符号化に割り当てる割合をｅとするとき、次式に基づいて、画像中の次に符号化処理の対象とする２ラインのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの合計の目標符号量ｆを算出し、ライン目標符号量メモリ１２７に記憶する。
ｆ＝{（ａ―ｂ）×２／（ｄ―ｃ）}×（１−ｅ）      …（１）
【００４２】
水平高周波係数統計手段１３２と係数データ量推定手段１３４は、水平ウェーブレット分解手段１３１で得られた画像の２ライン分の高域側の水平分解係数Ｈに基づいて、当該２ライン分の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨを量子化せずに符号化した場合の合計の符号量を予測する手段を構成する。以下、詳細を説明する。
【００４３】
まず、水平高周波係数統計手段１３２は、当該２ライン分の高域側の水平分解係数Ｈのそれぞれについて、ゴロムライス符号を用いて符号化した際の理想的な符号量、つまり最小の符号量を求める。ゴロムライス符号では、符号化対象となるデータの有効桁数と一致するゴロムパラメータｋを用いたときに符号量が最小となる。例えば符号化対象が00010011の場合、有効桁は５桁なので、ｋ＝５の時、出力される符号が110011となって符号長が最短の６ビットとなる。そこで、それぞれの水平分解係数Ｈの有効桁数を予測し、その予測した有効桁数をゴロムパラメータｋに用いて、その水平分解係数Ｈをゴロムライス符号化し、その符号量を算出する。但し、個々の水平分解係数Ｈの有効桁数を正確に予測することは困難であるため、１係数あたり一定の符号量（たとえば0.5625ビット）をゴロムパラメータ選定によるロスとして追加する。すなわち、前述の例では、６ビットに0.5625ビットを足しておく。
【００４４】
次に、水平高周波係数統計手段１３２は、それぞれの水平分解係数Ｈについて算出した符号量を累積し、当該２ライン分の高域側の水平分解係数Ｈの全てを符号化するのに必要な符号量の合計を算出する。
【００４５】
次に、係数データ量推定手段１３４は、水平高周波係数統計手段１３２で算出された符号量の合計を1.5倍した値を、２ライン分の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨを量子化せずに符号化した場合の合計の符号量として算出し、係数データ量メモリ１２４に記憶する。1.5倍する理由は、ウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの１個あたりに要する符号量は、水平分解係数Ｈの１個あたりに要する符号量と同量になると予測した上で、図１中の水平分解係数メモリ１２２と水平垂直分解係数メモリ１２３とに描かれているように、２ライン分のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの個数の合計は、２ライン分の水平分解係数Ｈの個数の合計の1.5倍になるためである。
【００４６】
量子化係数データ量判定手段１３５と量子化値設定手段１３６は、２ライン分の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの符号量の合計をライン目標符号量以下に抑えることができる最小の量子化値を求める手段を構成する。以下、詳細を説明する。
【００４７】
まず、量子化値設定手段１３６は、ライン量子化値メモリ１２５に、量子化値＝０を記憶し、係数データ量メモリ１２４に記憶された符号量をそのまま量子化係数データ量メモリ１２６に記憶する。量子化係数データ量判定手段１３５は、量子化係数データ量メモリ１２６に記憶された符号量とライン目標符号量メモリ１２７に記憶された符号量とを比較し、前者が後者以下であれば、その時点でライン量子化値メモリ１２５に記憶されている量子化値を、当該２ライン分のウェーブレット変換係数の量子化値として確定する。
【００４８】
他方、量子化係数データ量判定手段１３５は、量子化係数データ量メモリ１２６に記憶された符号量がライン目標符号量メモリ１２７に記憶された符号量を超えていれば、量子化値設定手段１３６に対して、量子化値を単位量だけ増加する指示を出す。量子化値設定手段１３６は、ライン量子化値メモリ１２５に記憶された量子化値を１だけ増加して、量子化値＝１とする。さらに量子化値設定手段１３６は、増加後の量子化値を用いて２ライン分の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨを量子化した後に符号化した場合の符号量の合計を予測し、量子化係数データ量メモリ１２６に記憶する。具体的には、量子化値設定手段１３６は、量子化に従って係数が１／２になると、１係数あたり１ビット削減されると考えて、係数データ量メモリ１２４に記憶された符号量から、「量子化値×２ライン分のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの合計数」を引いた値を、量子化係数データ量メモリ１２６に記憶する。量子化係数データ量判定手段１３５は、量子化係数データ量メモリ１２６に新たに記憶された符号量とライン目標符号量メモリ１２７に記憶された符号量とを比較し、前者が後者以下であれば、その時点でライン量子化値メモリ１２５に記憶されている量子化値を、当該２ライン分のウェーブレット変換係数の量子化値として確定する。しかし、前者が後者をなおも超えていれば、量子化値設定手段１３６に対して、再び量子化値を単位量だけ増加する指示を出す。このような動作が、量子化係数データ量メモリ１２６に記憶された符号量がライン目標符号量メモリ１２７に記憶された符号量以下になるまで繰り返されて、量子化値が決定される。
【００４９】
量子化値符号化手段１３９は、確定した量子化値を任意の符号化方式を用いて符号化して符号出力装置１４に出力する。
【００５０】
符号化係数量子化手段１３８は、確定した量子化値を用いて、水平垂直分解係数メモリ１２３に記憶された高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨを量子化し、係数符号化手段１３Ａに出力する。また、符号化係数量子化手段１３８は、水平垂直分解係数メモリ１２３に記憶された最低域サブバンドのウェーブレット変換係数ＬＬは量子化せずに、係数符号化手段１３Ａに出力する。
【００５１】
係数符号化手段１３Ａは、量子化後のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨをゴロムライス符号で符号化し、符号出力装置１４に出力する。また係数符号化手段１３Ａは、ウェーブレット変換係数ＬＬをゴロムライス符号で符号化し、符号出力装置１４に出力する。さらに係数符号化手段１３Ａは、ウェーブレット変換係数ＬＬ、ＬＨ、ＨＬ、ＨＨの符号化を終える毎に、出力符号量メモリ１２９に記憶された符号量に当該ウェーブレット変換係数ＬＬ、ＬＨ、ＨＬ、ＨＨの実際の符号量を加算する。また係数符号化手段１３Ａは、１ライン分のウェーブレット変換係数ＬＬ、ＬＨ、ＨＬ、ＨＨの符号化を終える毎に、出力ライン数メモリ１２Ａに記憶されたライン数を１増加する。
【００５２】
符号出力装置１４は、生成された符号を記憶する磁気ディスク装置などの記憶装置や、生成された符号を遠隔地に送信する通信装置などで構成される。
【００５３】
次に図２のフローチャートを参照して、本実施の形態の全体の動作を説明する。
【００５４】
まずデータ処理装置１３は、画像入力装置１１から画像メモリ１２１に画像が入力されると、処理対象ラインを上端にセットする（Ｓ１０１）。
【００５５】
次に、ライン目標符号量算出手段１３７は、目標符号量メモリ１２８から１画像あたりの目標符号量を、出力符号量メモリ１２９から出力符号量（初期値は０）を、出力ライン数メモリ１２Ａから出力ライン数（初期値は０）をそれぞれ読み出す（Ｓ１０２〜Ｓ１０３）。ライン目標符号量算出手段１３７は、こうして読み出した値と、予め設定された画像のライン数、ＬＬに割り当てる目標符号量の割合とに基づいて、上記式１を用いて、画像の２ライン分の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの目標符号量を算出し、ライン目標符号量メモリ１２７に記憶する（Ｓ１０４）。
【００５６】
次に、水平ウェーブレット分解手段１３１は、入力画像に対して水平ウェーブレット分解を行い、得られた水平分解係数Ｌ、Ｈを水平分解係数メモリ１２２に記憶するとともに、高域側の水平分解係数Ｈを水平高周波係数統計手段１３２に出力する（Ｓ１０５）。
【００５７】
次に、水平高周波係数統計手段１３２と係数データ量推定手段１３４は、互いに協調して、水平ウェーブレット分解手段１３１で得られた画像の２ライン分の高域側の水平分解係数Ｈに基づいて、当該２ライン分の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨを量子化せずに符号化した場合の合計の符号量を予測し、係数データ量メモリ１２４に記憶する（Ｓ１０６、Ｓ１０７）。
【００５８】
次に、量子化係数データ量判定手段１３５と量子化値設定手段１３６は、互いに協調して、２ライン分の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの符号量の合計をライン目標符号量以下に抑えることができる最小の量子化値を求め、ライン量子化値メモリ１２５に記憶する（Ｓ１０８〜Ｓ１１０）。
【００５９】
次に、量子化値符号化手段１３９は、上記求められた量子化値を符号化して符号出力装置１４へ出力する（Ｓ１１１）。
【００６０】
次に、垂直ウェーブレット分解手段１３３は、水平分解係数メモリ１２２に記憶された水平分解係数に対して垂直ウェーブレット分解を行い、得られたウェーブレット変換係数ＬＬ、ＬＨ、ＨＬ、ＨＨを水平垂直分解係数メモリ１２３に記憶する（Ｓ１１２）。
【００６１】
次に、データ処理装置１３は、係数抽出座標をラインの先頭にセットし（Ｓ１１３）、水平垂直分解係数メモリ１２３の当該係数抽出座標に記憶されたウェーブレット変換係数を量子化して係数符号化手段１３Ａに出力する。このとき、ウェーブレット変換係数ＬＨ、ＨＬ、ＨＨについては、ライン量子化値メモリ１２５に記憶された量子化値を用いて量子化を行い、ウェーブレット変換係数ＬＬについては量子化は行わない。
【００６２】
係数符号化手段１３Ａは、符号化係数量子化手段１３８から受け取ったウェーブレット変換係数をゴロムライス符号を用いて符号化し、符号出力装置１４に出力する（Ｓ１１５）。また係数符号化手段１３Ａは、１つの係数を符号化する毎に、その符号量を出力符号量メモリ１２９に記憶されている出力符号量に加算する（Ｓ１１６）。
【００６３】
データ処理装置１３は、係数抽出座標が２ラインの終端か否かを判定し（Ｓ１１７）、終端でなければ、係数抽出座標を終端方向にシフトし（Ｓ１１８）、ステップＳ１１４の処理へと戻る。２ラインの終端であれば、係数符号化手段１３Ａにより、出力ライン数メモリ１２Ａに記憶されている出力ライン数を更新する（Ｓ１１９）。次に、データ処理装置１３は、全ラインの符号化を完了したか否かを判定し（Ｓ１１９）、完了していなければ、処理対象ラインを次の２ラインにシフトし（Ｓ１２０）、ステップＳ１０２の処理へと戻る。全ラインの符号化を完了していれば、データ処理装置１３は図２の処理を終える。
【００６４】
このように本実施の形態によれば、画像を水平ウェーブレット分解して得られる高域側の水平分解係数Ｈと、更に垂直ウェーブレット分解して得られる高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨとに強い相関がある点に着目し、水平分解係数Ｈの符号量からウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの符号量を予測しているため、ウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの符号量を水平ウェーブレット分解完了時点で精度良く予測することができる。そして、その予測符号量に基づいて当該ラインの量子化値を制御するため、画像傾向が途中で急変している画像に対しても、画像傾向の急な変化に追従可能なレート制御が可能となる。
【００６５】
[第２の実施の形態]
次に本発明の第２の実施の形態について図面を参照して詳細に説明する。
【００６６】
図３を参照すると、本発明の第２の実施の形態は、画像入力装置２１と、データ記憶装置２２と、プログラム制御により動作するデータ処理装置２３と、符号出力装置２４とから構成されている。
【００６７】
画像入力装置２１と符号出力装置２４は、第１の実施の形態における図１の画像入力装置１１と符号出力装置１４と同じものである。
【００６８】
データ記憶装置２２は、画像メモリ２２１と、水平分解係数メモリ２２２と、水平垂直分解係数メモリ２２３と、係数データ量メモリ２２４と、ライン量子化値メモリ２２５と、量子化係数データ量メモリ２２６と、ライン目標符号量メモリ２２７と、目標符号量メモリ２２８と、出力符号量メモリ２２９と、出力ライン数メモリ２２Ａとを含む。このうち、画像メモリ２２１、水平分解係数メモリ２２２、係数データ量メモリ２２４、量子化係数データ量メモリ２２６、ライン目標符号量メモリ２２７、目標符号量メモリ２２８、出力符号量メモリ２２９、および、出力ライン数メモリ２２Ａは、第１の実施の形態における図１の画像メモリ１２１、水平分解係数メモリ１２２、係数データ量メモリ１２４、量子化係数データ量メモリ１２６、ライン目標符号量メモリ１２７、目標符号量メモリ１２８、出力符号量メモリ１２９、および、出力ライン数メモリ１２Ａと同じものである。
【００６９】
水平垂直分解係数メモリ２２３は、符号化の処理の対象とする２ライン分のウェーブレット変換係数ＬＬ、ＬＨ、ＨＬ、ＨＨに加えて、少なくとも直前２ライン分の符号化済のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨを記憶している点で、直前２ライン分の符号化済のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨを必ずしも記憶する必要のない第１の実施の形態における図１の水平垂直分解係数メモリ１２３とは相違する。
【００７０】
ライン量子化値メモリ２２５は、符号化の処理の対象とする２ライン分の量子化値に加えて、少なくとも直前２ライン分の符号化済のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨに適用した量子化値を記憶している点で、直前２ライン分の符号化済のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨに適用した量子化値を必ずしも記憶する必要のない第１の実施の形態における図１のライン量子化値メモリ２２５とは相違する。
【００７１】
データ処理装置２３は、水平ウェーブレット分解手段２３１と、水平高周波係数統計手段２３２と、垂直ウェーブレット分解手段２３３と、係数データ量推定手段２３４と、量子化係数データ量判定手段２３５と、量子化値設定手段２３６と、ライン目標符号量算出手段２３７と、符号化係数量子化手段２３８と、量子化値符号化手段２３９と、係数符号化手段２３Ａとを備えている。このうち、水平ウェーブレット分解手段２３１、水平高周波係数統計手段２３２、垂直ウェーブレット分解手段２３３、係数データ量推定手段２３４、量子化係数データ量判定手段２３５、量子化値設定手段２３６、ライン目標符号量算出手段２３７、符号化係数量子化手段２３８、および、量子化値符号化手段２３９は、第１の実施の形態の図１の水平ウェーブレット分解手段１３１、水平高周波係数統計手段１３２、垂直ウェーブレット分解手段１３３、係数データ量推定手段１３４、量子化係数データ量判定手段１３５、量子化値設定手段１３６、ライン目標符号量算出手段１３７、符号化係数量子化手段１３８、および、量子化値符号化手段１３９と同じものである。
【００７２】
係数符号化手段２３Ａは、第１の実施の形態の図１の係数符号化手段１３Ａと比較して、高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの符号化の方法が相違している。係数符号化手段２３Ａにおけるウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの符号化は、高域サブバンド係数符号化手段２５を使用して行われる。
【００７３】
図４を参照すると、高域サブバンド係数符号化手段２５は、符号化係数抽出手段２５１と、参照係数抽出手段２５２と、符号化パラメータ算出手段２５３と、係数可変長符号化手段２５４とから構成される。
【００７４】
符号化係数抽出手段２５１は、符号化の処理の対象となる２ラインから、空間的に同一位置にあるウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの組をラスタスキャン順に抽出する。さらに、符号化係数抽出手段２５１は、同じ座標値のＬＨ、ＨＬ、ＨＨの組から所定の順番で符号化対象とするウェーブレット変換係数を抽出する。具体的には、同じ座標値のＬＨ、ＨＬ、ＨＨの組を図５の太い実線で囲んだ部分とすると、その組から最初にＬＨを抽出し、次にＨＬを抽出し、最後にＨＨを抽出する。
【００７５】
参照係数抽出手段２５２は、符号化係数抽出手段２５１で抽出された符号化対象のウェーブレット変換係数の符号化パラメータｋを算出するために参照する他のウェーブレット変換係数を複数抽出する。参照する他のウェーブレット変換係数は、符号化対象のウェーブレット変換係数が属するサブバンドから抽出するとともに、同一階層のそれ以外のサブバンドからも抽出する。
【００７６】
図６に、ウェーブレット変換係数ＬＨの符号化パラメータｋを算出するために参照するウェーブレット変換係数の具体例を示す。太い実線で囲んだ符号化対象となるウェーブレット変換係数ＬＨの座標値を（ｉ、ｊ）とすると、ハッチングを施した合計６個の以下のウェーブレット変換係数を参照する。
（１）座標値（ｉ、ｊ−１）のウェーブレット変換係数ＬＨ
（２）座標値（ｉ−１、ｊ）のウェーブレット変換係数ＬＨ
（３）座標値（ｉ、ｊ−１）のウェーブレット変換係数ＨＬ
（４）座標値（ｉ＋１、ｊ−１）のウェーブレット変換係数ＨＬ
（５）座標値（ｉ、ｊ−１）のウェーブレット変換係数ＨＨ
（６）座標値（ｉ−１、ｊ）のウェーブレット変換係数ＨＨ
但し、該当する座標値が存在しないウェーブレット変換係数については、所定値（例えば０）を用いる。
【００７７】
図７に、ウェーブレット変換係数ＨＬの符号化パラメータｋを算出するために参照するウェーブレット変換係数の具体例を示す。太い実線で囲んだ符号化対象となるウェーブレット変換係数ＨＬの座標値を（ｉ、ｊ）とすると、ハッチングを施した合計５個の以下のウェーブレット変換係数を参照する。
（１）座標値（ｉ、ｊ−１）のウェーブレット変換係数ＨＬ
（２）座標値（ｉ−１、ｊ）のウェーブレット変換係数ＨＬ
（３）座標値（ｉ−１、ｊ−１）のウェーブレット変換係数ＬＨ
（４）座標値（ｉ、ｊ）のウェーブレット変換係数ＬＨ
（５）座標値（ｉ−１、ｊ）のウェーブレット変換係数ＨＨ
但し、該当する座標値が存在しないウェーブレット変換係数については、所定値（例えば０）を用いる。
【００７８】
図８に、ウェーブレット変換係数ＨＨの符号化パラメータｋを算出するために参照するウェーブレット変換係数の具体例を示す。太い実線で囲んだ符号化対象となるウェーブレット変換係数ＨＨの座標値を（ｉ、ｊ）とすると、ハッチングを施した合計４個の以下のウェーブレット変換係数を参照する。
（１）座標値（ｉ、ｊ−１）のウェーブレット変換係数ＨＨ
（２）座標値（ｉ−１、ｊ）のウェーブレット変換係数ＨＨ
（３）座標値（ｉ、ｊ）のウェーブレット変換係数ＬＨ
（４）座標値（ｉ、ｊ）のウェーブレット変換係数ＨＬ
但し、該当する座標値が存在しないウェーブレット変換係数については、所定値（例えば０）を用いる。
【００７９】
符号化パラメータ算出手段２５３は、符号化係数抽出手段２５１で抽出された符号化対象となるウェーブレット変換係数毎に、参照係数抽出手段２５２で抽出された複数のウェーブレット変換係数に基づいて、符号化パラメータｋを算出する。すなわち、符号化対象のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの有効桁を予測する。具体的には、符号化パラメータ算出手段２５３は、各参照係数のデコーダでの復元値を算出した後に、その復元値を符号化対象となるウェーブレット変換係数の量子化値と同じ量子化値で量子化し、この量子化後の参照係数を加重加算し、この加重加算した値を量子化して符号化パラメータｋを生成する。
【００８０】
加重加算する際に用いる各ウェーブレット変換係数の重みは、符号化対象となるウェーブレット変換係数との相関がより大きい係数ほど大きな値とする。一般に符号化対象となるウェーブレット変換係数との距離が近いものほど大きな重みを与える。また、ＬＨは垂直方向の方が水平方向よりも相関が強い等、方向によって相関の程度に違いがでるので、符号化対象となるウェーブレット変換係数と相関が強い方向にある係数ほど大きな重みを与える。図６、図７、図８において、ハッチングを施したウェーブレット変換係数に付記された値は、それらの係数の重みの一例を示している。
【００８１】
係数可変長符号化手段２５４は、符号化パラメータ算出手段２５３で算出された符号化パラメータｋを用いて、符号化対象のウェーブレット変換係数をゴロムライス符号化する。係数可変長符号化手段２５４は、生成したゴロムライス符号を符号出力装置２４へ出力する。
【００８２】
次に、本実施の形態の動作を説明する。本実施の形態の動作のうち、係数符号化手段２３Ａの高域サブバンド係数符号化手段２５以外の動作は第１の実施の形態と同じである。従って、以下では、高域サブバンド係数符号化手段２５による高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの符号化の動作を説明する。
【００８３】
高域サブバンド係数符号化手段２５は、符号化の処理の対象となる２ラインから、空間的に同一位置にあるウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの組をラスタスキャン順に抽出し、１組ずつ順番に符号化していく。また、１つの組内では、ＬＨ、ＨＬ、ＨＨの順に符号化していく。
【００８４】
まず、図９を参照して、ウェーブレット変換係数ＬＨを符号化する際の動作を説明する。
【００８５】
まず、高域サブバンド係数符号化手段２５の符号化係数抽出手段２５１は、係数の組からウェーブレット変換係数ＬＨを符号化対象として抽出する（Ｓ２０１）。
【００８６】
次に、参照係数抽出手段２５２は、上記ウェーブレット変換係数ＬＨと図６で説明した関係にある周辺のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨを参照係数として水平垂直分解係数メモリ２２３から抽出する（Ｓ２０２）。
【００８７】
次に、符号化パラメータ算出手段２５３は、上記参照係数から上記ウェーブレット変換係数ＬＨをゴロムライス符号化する際の符号化パラメータｋを生成する。その際、符号化パラメータ算出手段２５３は、符号化パラメータｋがデコード側でも復号に使用するために同じ参照係数に基づいて生成されること、参照係数となるウェーブレット変換係数ＬＨ、ＨＬ、ＨＨおよび今回符号化の対象となるウェーブレット変換係数ＬＨが量子化された後に符号化されることを考慮して、符号化パラメータｋを生成する。具体的には、以下のような手順で生成する。
【００８８】
まず、符号化パラメータ算出手段２５３は、各参照係数のデコーダでの復元値を算出する（Ｓ２０３）。具体的には、符号化パラメータ算出手段２５３は、各参照係数をそれらの符号化時の量子化で使用された量子化値と同じ量子化値で量子化した後（Ｓ２０３１）、量子化後の値をその量子化値で逆量子化する（Ｓ２０３２）。各参照係数の符号化時の量子化で使用された量子化値は、ライン量子化値メモリ２２５から読み出して使用する。次に、符号化パラメータ算出手段２５３は、各参照係数のデコーダ復元値を、今回の符号化対象のＬＨ係数の量子化で使用する量子化値と同じ量子化値で量子化する（Ｓ２０４）。今回の符号化対象のＬＨ係数の量子化で使用する量子化値は、ライン量子化値メモリ２２５から読み出して使用する。次に、符号化パラメータ算出手段２５３は、上記量子化後の値の絶対値を加重加算し（Ｓ２０５）、この加重加算した値を量子化してゴロムライス符号の符号化パラメータｋを生成する（Ｓ２０６）。
【００８９】
次に、係数可変長符号化手段２５４は、符号化対象のウェーブレット変換係数ＬＨをその量子化値で量子化する（Ｓ２０７）。次に、係数可変長符号化手段２５４は、量子化後のウェーブレット変換係数ＬＨを上記生成された符号化パラメータｋを用いてゴロムライス符号化する（Ｓ２０８）。
【００９０】
次に、図１０を参照して、ウェーブレット変換係数ＨＬを符号化する際の動作を説明する。
【００９１】
まず、高域サブバンド係数符号化手段２５の符号化係数抽出手段２５１は、係数の組からウェーブレット変換係数ＨＬを符号化対象として抽出する（Ｓ２１１）。
【００９２】
次に、参照係数抽出手段２５２は、上記ウェーブレット変換係数ＨＬと図７で説明した関係にある周辺のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨを参照係数として抽出する（Ｓ２１２）。
【００９３】
次に、符号化パラメータ算出手段２５３は、上記参照係数から上記ウェーブレット変換係数ＨＬをゴロムライス符号化する際の符号化パラメータｋを以下の手順で生成する。まず、符号化パラメータ算出手段２５３は、各参照係数のデコーダでの復元値を算出する（Ｓ２１３、Ｓ２１３１、Ｓ２１３２）。次に、符号化パラメータ算出手段２５３は、各参照係数のデコーダ復元値を、今回の符号化対象のＨＬ係数の量子化で使用する量子化値と同じ量子化値で量子化する（Ｓ２１４）。次に、符号化パラメータ算出手段２５３は、上記量子化後の値の絶対値を加重加算し（Ｓ２１５）、この加重加算した値を量子化してゴロムライス符号の符号化パラメータｋを生成する（Ｓ２１６）。
【００９４】
次に、係数可変長符号化手段２５４は、符号化対象のウェーブレット変換係数ＨＬをその量子化値で量子化する（Ｓ２１７）。次に、係数可変長符号化手段２５４は、量子化後のウェーブレット変換係数ＨＬを上記生成された符号化パラメータｋを用いてゴロムライス符号化する（Ｓ２１８）。
【００９５】
次に、図１１を参照して、ウェーブレット変換係数ＨＨを符号化する際の動作を説明する。
【００９６】
まず、高域サブバンド係数符号化手段２５の符号化係数抽出手段２５１は、係数の組からウェーブレット変換係数ＨＨを符号化対象として抽出する（Ｓ２２１）。
【００９７】
次に、参照係数抽出手段２５２は、上記ウェーブレット変換係数ＨＨと図８で説明した関係にある周辺のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨを参照係数として抽出する（Ｓ２２２）。
【００９８】
次に、符号化パラメータ算出手段２５３は、上記参照係数から上記ウェーブレット変換係数ＨＨをゴロムライス符号化する際の符号化パラメータｋを以下の手順で生成する。まず、符号化パラメータ算出手段２５３は、各参照係数のデコーダでの復元値を算出する（Ｓ２２３、Ｓ２２３１、Ｓ２２３２）。次に、符号化パラメータ算出手段２５３は、各参照係数のデコーダ復元値を、今回の符号化対象のＨＨ係数の量子化で使用する量子化値と同じ量子化値で量子化する（Ｓ２２４）。次に、符号化パラメータ算出手段２５３は、上記量子化後の値の絶対値を加重加算し（Ｓ２２５）、この加重加算した値を量子化してゴロムライス符号の符号化パラメータｋを生成する（Ｓ２２６）。
【００９９】
次に、係数可変長符号化手段２５４は、符号化対象のウェーブレット変換係数ＨＨをその量子化値で量子化する（Ｓ２２７）。次に、係数可変長符号化手段２５４は、量子化後のウェーブレット変換係数ＨＨを上記生成された符号化パラメータｋを用いてゴロムライス符号化する（Ｓ２２８）。
【０１００】
このように本実施の形態によれば、第１の実施の形態と同様の効果が得られるとともに、同一階層に属する複数のサブバンド内の空間的に同一位置にあるＬＨ、ＨＬ、ＨＨをまとめて符号化する場合に適切な符号化パラメータを求めることができ、それによって圧縮率をより高めたウェーブレット変換符号化が可能になる。
【０１０１】
その理由は、符号化対象となるウェーブレット変換係数の符号化パラメータをより最適化できるためである。
【０１０２】
符号化パラメータをより最適化できる理由は、符号化対象となるウェーブレット変換係数が属するサブバンド内の近傍のウェーブレット変換係数と、同一階層の他のサブバンド内の近傍のウェーブレット変換係数とを使用して、当該符号化対象となるウェーブレット変換係数の符号化パラメータを算出しているためである。
【０１０３】
ここで、符号化対象となるウェーブレット変換係数が属するサブバンド内の近傍のウェーブレット変換係数だけでなく、同一階層の他のサブバンド内の近傍のウェーブレット変換係数を使用する理由は、符号化対象となるウェーブレット変換係数が属するサブバンド内の近傍のウェーブレット変換係数だけでは、使用できるウェーブレット変換係数の個数が少ないためである。また他の理由は、分解の方向は異なるが、符号化対象となるウェーブレット変換係数が属するサブバンド内の近傍のウェーブレット変換係数よりも、同一階層の他のサブバンド内の近傍のウェーブレット変換係数の方がより近い位置にあるためである。
【０１０４】
また、符号化パラメータを決定するために参照する複数のウェーブレット変換係数は、符号化対象となるウェーブレット変換係数と同じ行か１行前の行に存在している。このため、水平ウェーブレット分解手段２３１で幾つかの行の水平分解係数が求められ次第、垂直ウェーブレット分解手段２３３の動作を開始させることによって、高速化とメモリ容量の削減を図る方式との組み合わせが容易に行える。
【０１０５】
[第３の実施の形態]
次に、本発明の第３の実施の形態について詳細に説明する。
【０１０６】
まず、本実施の形態の概要を説明する。本実施の形態に係るウェーブレット変換符号化装置は、２階層以上のウェーブレット変換を行う。
【０１０７】
本実施の形態では、階層数をｎとしたとき、符号化対象となる画像全体を２n行のスライスブロックという単位に分解し、スライスブロック単位で符号化を行う。例えば、ｎ＝５の場合、図１２に示すように、画像全体を３２ラインのスライスブロックに分解し、先頭のスライスブロックから最後のスライスブロックまで順に符号化していく。
【０１０８】
１つのスライスブロックの符号化を開始する時に、そのスライスブロックの目標符号量を概算で求める。スライスブロックの目標符号量は、例えば、画像全体の目標符号量から直前のスライスブロックまでに出力した累計符号量を減じた残りの符号量を、残りのスライスブロックに比例配分して求める。スライスブロックに与えられる目標符号量は、当該スライスブロックの全階層の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨと最低域サブバンドＬＬとの合計の目標符号量である。
【０１０９】
スライスブロックの符号量の合計を、ほぼ当該スライスブロックの目標符号量以内に抑えるために、本実施の形態では、そのスライスブロックの目標符号量に予め定めた定数（たとえば、0.625）を乗じて計算した符号量を、当該スライスブロックの最大解像度における高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの目標符号量として定める。そして、当該高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの合計の符号量が、当該目標符号量以下に収まるように、第１または第２の実施の形態と同様の方法により、適切な量子化値を決定して符号化する。
【０１１０】
ウェーブレット変換符号化で生成される符号量の大部分は、最大解像度の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの符号量が占めている。従って、上述のようにして、或るスライスブロックの最大解像度の高域サブバンドにおけるウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの合計の符号量が、当該スライスブロックの目標符号量の例えば0.625の割合に収まるように制御すると、残りの階層の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨと最低域サブバンドのウェーブレット変換係数ＬＬの符号量の合計は、以下の条件（Ａ）、（Ｂ）を設定することにより、自ずと、残りの0.375の割合にほぼ収まるようになる。
【０１１１】
（Ａ）最大解像度以外の階層の高域サブバンドの或るラインのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの量子化値を、そのラインの下位にあたる全ての最大解像度サブバンドのラインの量子化値の平均値を基準にして、解像度が低くなるほど（分解レベルが上がるほど）、一定の基準で小さくなるように定める。ここで、一定の基準としては、例えば、分解レベルが１だけ上がれば、量子化値を１だけ小さくする、という基準を用いる。従って、例えば図１３に示すように、最大解像度より２つ下の解像度の或る２ライン分のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの量子化値は、その２ラインに対応する最大解像度サブバンドの８ライン分の量子化値の平均値から、階層差の２を引いて求めることができる。
（Ｂ）最低域サブバンドのウェーブレット変換係数ＬＬの量子化値は０、つまり量子化しない。
【０１１２】
また、本実施の形態では、ウェーブレット分解処理の全階層をパイプライン的に処理する。このようにパイプライン的に処理する構成では、或るスライスブロックの最大解像度のウェーブレット変換係数を符号化する際に、直前のスライスブロックにおける上位解像度の符号化がまだ完了していない場合がある。このため、直前のスライスブロックの出力済符号量が確定できなくなる。そこで、本実施の形態では、符号化が未完了のラインの符号量を、当該ラインの１段下の階層の出力済符号量の0.5倍として推定し、この推定値を用いて、直前のスライスブロックの出力済符号量を計算する。
【０１１３】
図１４中のＡn〜Ｆnは、ウェーブレット分解数が５の場合の、各段階（Ａ〜Ｆ）、各ライン（１〜１６）での出力符号量を示している。例えば５−３整数フィルタによるウェーブレット分解をパイプライン化した場合には、スライスブロック開始時に、直前のスライスブロックのＢ8、Ｃ4、Ｄ2、Ｅ1、Ｆ1はまだ符号化されていない。このため、Ｂ8はＡ16の0.5倍、Ｃ4はＢ8の0.5倍、Ｄ2はＣ4の0.5倍、Ｅ1はＤ2の0.5倍、Ｆ1はＥ1の0.5倍として推定し、直前のスライスブロックの出力符号量を次式を用いて計算する。
スライスブロックの出力符号量
＝Σk=116 Ａk + Σk=18 Ｂk + Σk=14 Ｃk + Σk=12 Ｄk + Ｅ1 +Ｆ1
…（２）
【０１１４】
次に、図１５のブロック図を参照して本実施の形態に係るウェーブレット変換係数符号化装置の構成を説明する。
【０１１５】
図１５を参照すると、本実施の形態は、画像メモリ３０１、目標符号量メモリ３０２、最大解像度量子化値メモリ３０３、各階層・各ライン出力符号量メモリ３０４といった記憶手段を備えている。
【０１１６】
また、本実施の形態は、３階層のウェーブレット変換をパイプライン処理的に行うための水平ウェーブレット分解手段３１１〜３１３と垂直ウェーブレット分解手段３２１〜３２３とを備えている。
【０１１７】
また、本実施の形態は、垂直ウェーブレット分解手段３２１で生成された最大解像度の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨを量子化する符号化係数量子化手段３３１と、その量子化後のＬＨ、ＨＬ、ＨＨを可変長符号化する係数符号化手段３４１とを備えている。また、次の階層の垂直ウェーブレット分解手段３２２で生成された高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨを量子化する符号化係数量子化手段３３２と、その量子化後のＬＨ、ＨＬ、ＨＨを可変長符号化する係数符号化手段３４２とを備えている。また、更に次の階層の垂直ウェーブレット分解手段３２３で生成された高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨを量子化する符号化係数量子化手段３３３と、その量子化後のＬＨ、ＨＬ、ＨＨを可変長符号化する係数符号化手段３４３とを備えている。さらに、垂直ウェーブレット分解手段３２３で生成された最低域サブバンドのウェーブレット変換係数ＬＬを可変長符号化する直流成分符号化手段３４４を備えている。
【０１１８】
また、本実施の形態は、目標符号量の算出に関連する機能的手段として、未出力符号量推定手段３５１、前スライス出力符号量算出手段３５２、次スライス目標符号量算出手段３５３、ライン目標符号量算出手段３５４、および、最大解像度ライン目標符号量算出手段３５５を備えている。ここで、未出力符号量推定手段３５１は、図１４を参照して説明したように、符号化が未完了のラインの符号量を、当該ラインの１段下の階層の出力済符号量の0.5倍として推定する手段である。前スライス出力符号量算出手段３５２は、符号化が完了したラインについては各階層・各ライン出力符号量メモリ３０４から読み出した出力符号量を用い、符号化が未完了のラインについては未出力符号量推定手段３５１で推定された出力符号量を用いて、直前スライスブロックまでの出力済符号量を計算する手段である。次スライス目標符号量算出手段３５３は、目標符号量メモリ３０２に記憶された画像全体の目標符号量から前スライス出力符号量算出手段３５２で算出された直前スライスブロックまでの出力済符号量を減算した値を残りのスライスブロックで等分して、次の１つのスライスブロックの目標符号量を算出する手段である。ライン目標符号量算出手段３５４は、次スライス目標符号量算出手段３５３で算出されたスライスブロックあたりの目標符号量から、各階層・各ライン出力符号量メモリ３０４に記憶されている当該スライスブロック内の符号化の終えた直前ラインまでの出力符号量を減算した値を残りの２ラインの組に当分して、次の２ライン分の目標符号量を算出する手段である。最大解像度ライン目標符号量算出手段３５５は、ライン目標符号量算出手段３５４で算出された２ライン分の目標符号量に予め定められた定数（例えば0.625）を乗じた値を、最大解像度のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの合計の目標符号量として計算する手段である。
【０１１９】
また、本実施の形態は、最大解像度の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの量子化値の算出に関連する機能的手段として、水平高周波係数統計手段３６１、係数データ量推定手段３６２、量子化係数データ量判定手段３６３、および、最大解像度量子化値設定手段３６４を備えている。これらは、第１の実施の形態の図１の水平高周波係数統計手段１３２、係数データ量推定手段１３４、量子化係数データ量判定手段１３５、および、量子化値設定手段１３６と同じものである。
【０１２０】
また、本実施の形態は、最大解像度のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの量子化値を符号化する量子化値符号化手段３７１を備えている。
【０１２１】
また、本実施の形態は、最大解像度のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの量子化値に基づいて、最大解像度以外のウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの量子化を設定する中間解像度量子化値設定手段３８１、３８２を備えている。
【０１２２】
また、本実施の形態は、生成した符号を出力する符号出力装置３９１を備えている。
【０１２３】
なお、上記の各手段３１１〜３１３、３２１〜３２３、３３１〜３３３、３４１〜３４４、３５１〜３５５、３６１〜３６４、３７１、３８１〜３８２は、第１および第２の実施の形態と同様に、プログラム制御により動作する図示しないデータ処理装置により実現される。
【０１２４】
次に、図１６のフローチャートを参照して、本実施の形態の全体の動作を説明する。
【０１２５】
画像メモリ３０１に格納された画像に対して符号化を行う際、まずデータ処理装置は、図１２を参照して説明したように、符号化対象画像を、ウェーブレット変換の分解レベル数に応じたライン数のスライスブロックに分割する（Ｓ３０１）。次に、データ処理装置は、上端のスライスブロックを処理対象スライスブロックに設定する（Ｓ３０２）。
【０１２６】
次に最初の処理対象スライスブロックの時点では前スライスブロックは存在しないので、前スライス出力符号量算出手段３５２により前スライスブロックまでの出力符号量の累計値を０とする（Ｓ３０３）。次に、画像全体の目標符号量と前スライスブロックまでの出力符号量と処理対象スライスブロックの位置とに基づいて、次スライス目標符号量算出手段３５３により、当該処理対象スライスブロックの目標符号量を設定する（Ｓ３０４）。次に、処理対象ラインを処理対象スライスブロックの上端に設定する（Ｓ３０５）。次に、ライン目標符号量算出手段３５４により、２ライン分の最大解像度の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの目標符号量を設定する（Ｓ３０６）。
【０１２７】
水平ウェーブレット分解手段３１１により画像メモリ３０１中の画像に対してラスタスキャン方向に水平ウェーブレット分解が行われると（Ｓ３０７）、水平分解係数Ｈ、Ｌが垂直ウェーブレット分解手段３２１に出力されるとともに、高域の水平分解係数Ｈが水平高周波係数統計手段３６１に出力される。
【０１２８】
水平高周波係数統計手段３６１、係数データ量推定手段３６２、量子化係数データ量判定手段３６３および最大解像度量子化値設定手段３６４は、第１の実施の形態の図１の水平高周波係数統計手段１３２、係数データ量推定手段１３４、量子化係数データ量判定手段１３５および量子化値設定手段１３６と同じものであり、これらの手段による動作により、最大解像度ライン目標符号量算出手段３５５で算出されたライン目標符号量に収まるよう最大解像度の量子化値が算出され、最大解像度量子化値メモリ３０３に記憶される（Ｓ３０８）。
【０１２９】
垂直ウェーブレット分解手段３２１により水平ウェーブレット分解手段３１１から出力された水平分解係数Ｈ、Ｌに対して垂直ウェーブレット分解が行われると（Ｓ３０９）、最大解像度の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨと、ウェーブレット変換係数ＬＬとが出力される（Ｓ３０９）。
【０１３０】
垂直ウェーブレット分解手段３２１から出力されたウェーブレット変換係数ＬＨ、ＨＬ、ＨＨは、符号化係数量子化手段３３１により最大解像度量子化値メモリ３０３に記憶された量子化値で量子化された後、係数符号化手段３４１により可変長符号化され（Ｓ３１０）、各階層・各ライン出力符号量メモリ３０４を通じて符号出力装置３９１へ出力される。各階層・各ライン出力符号量メモリ３０４は、その出力符号量を累積する（Ｓ３１１）。
【０１３１】
ウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの符号化は、２ラインの先頭から終端に向かって係数抽出座標をシフトしながら順に行われる（Ｓ３１３）。また２ライン分の符号化が完了したら、当該処理対象スライスブロックの次の２ラインに処理対象をシフトして、ステップＳ３０６に戻って処理を繰り返す（Ｓ３１５）。
【０１３２】
他方、垂直ウェーブレット分解手段３２１から出力されるウェーブレット変換係数ＬＬが２ライン以上になった場合、このウェーブレット変換係数ＬＬに対して水平ウェーブレット分解手段３１２による次の階層の水平ウェーブレット分解が開始される（Ｓ３１４、Ｓ３１６）。
【０１３３】
他方、最大解像度量子化値メモリ３０３に所定ライン数の最大解像度の量子化値が記憶されると、中間解像度量子化値設定手段３８１により、自階層の上端ラインから順に、そのラインに対応する最大解像度の各ラインの量子化値を読み出し（Ｓ３１７）、その平均値を算出し（Ｓ３１８）、自階層の量子化値に変換する（Ｓ３１９）。
【０１３４】
水平ウェーブレット分解手段３１２により生成された水平分解係数に対して垂直ウェーブレット分解手段３２２による垂直ウェーブレット分解が行われ、最大解像度の次に解像度の高い高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨが生成されると（Ｓ３２０）、符号化係数量子化手段３３２により、自階層の中間解像度量子化値設定手段３８１により設定された量子化値を用いた量子化が行われた後、係数符号化手段３４２により符号化され（Ｓ３２１）、符号出力装置３９１へ出力される。各階層・各ライン出力符号量メモリ３０４は、その出力符号量を累積する（Ｓ３２２）。
【０１３５】
最大解像度の次に解像度の高い高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの符号化も、２ラインの先頭から終端に向かって係数抽出座標をシフトしながら順に行われる（Ｓ３２４）。また２ライン分の符号化が完了したら、当該処理対象スライスブロックに当該階層について未処理のラインが残っていれば、次の２ラインに処理対象をシフトして、ステップＳ３１６に戻って処理を繰り返す（Ｓ３２７）。
【０１３６】
他方、垂直ウェーブレット分解手段３２２から出力されるウェーブレット変換係数ＬＬが２ライン以上になった場合、このウェーブレット変換係数ＬＬに対して水平ウェーブレット分解手段３１３によって最後の階層の水平ウェーブレット分解が開始される（Ｓ３２８、Ｓ３１６）。
【０１３７】
このときも、最大解像度量子化値メモリ３０３に所定ライン数の最大解像度の量子化値が記憶されると、中間解像度量子化値設定手段３８２により、自階層の上端ラインから順に、そのラインに対応する最大解像度の各ラインの量子化値を読み出し（Ｓ３１７）、その平均値を算出し（Ｓ３１８）、自階層の量子化値に変換する（Ｓ３１９）。
【０１３８】
水平ウェーブレット分解手段３１３により生成された水平分解係数に対して垂直ウェーブレット分解手段３２３による垂直ウェーブレット分解が行われ、解像度の最も低い高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨが生成されると（Ｓ３２０）、符号化係数量子化手段３３３により、自階層の中間解像度量子化値設定手段３８２により設定された量子化値を用いた量子化が行われた後、係数符号化手段３４３により符号化され（Ｓ３２１）、符号出力装置３９１へ出力される。各階層・各ライン出力符号量メモリ３０４は、その出力符号量を累積する（Ｓ３２２）。
【０１３９】
解像度の最も低い高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの符号化も、２ラインの先頭から終端に向かって係数抽出座標をシフトしながら順に行われる（Ｓ３２４）。また２ライン分の符号化が完了したら、当該処理対象スライスブロックに当該階層について未処理のラインが残っていれば、次の２ラインに処理対象をシフトして、ステップＳ３１６に戻って処理を繰り返す（Ｓ３２７）。
【０１４０】
他方、垂直ウェーブレット分解手段３２３による垂直ウェーブレット分解によって生成された最低域サブバンドのウェーブレット変換係数ＬＬは、直流成分符号化手段３４４によって符号化され、符号出力装置１４へ出力される（Ｓ３２５、Ｓ３２９）。各階層・各ライン出力符号量メモリ３０４は、その出力符号量を累積する（Ｓ３３０）。
【０１４１】
次に、未処理のスライスブロックが残っているか否かが判定され（Ｓ３３１）、残っていれば、処理対象スライスブロックをシフトし（Ｓ３３２）、ステップＳ３０３に戻って上述した処理と同様の処理を繰り返す。未処理のスライスブロックが無ければ、図１６の処理を終える。
【０１４２】
このように本実施の形態によれば、実際の符号量を予測するのは最大解像度の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨだけであるが、生成される符号量の大部分は最大解像度の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの符号量が占めているため、最大解像度の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの合計符号量を目標符号量に収めることができれば、全体の符号量もほぼ目標符号量に収めることが可能である。
【０１４３】
また本実施の形態によれば、実際の符号量を予測するのは最大解像度の高域サブバンドのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨだけであるため、構成が簡易になる。
【０１４４】
また本実施の形態によれば、最大解像度の階層以外の階層の高域サブバンドのラインのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの量子化値を、そのラインの下位にあたる全ての最大解像度サブバンドのラインの量子化値の平均値を基準にして定めているため、最大解像度の量子化値が画像傾向の急な変化に追従するのに応じて、最大解像度以外の階層の量子化値も同様に追従することになり、全体として画像傾向の急な変化に対応可能となる。
【０１４５】
また本実施の形態によれば、最大解像度以外の階層の高域サブバンドのラインのウェーブレット変換係数ＬＨ、ＨＬ、ＨＨの量子化値を、そのラインの下位にあたる全ての最大解像度サブバンドのラインの量子化値の平均値を基準にして、解像度が低くなるほど（分解レベルが上がるほど）、一定の基準で量子化値小さくなるように定めているため、特定の階層の量子化値のみが極端に大きくなったり、その逆に極端に小さくなったりすることを防止できる。
【０１４６】
また本実施の形態によれば、符号化が未完了のラインの符号量を当該ラインの１段下の階層の出力済符号量の0.5倍として推定する未出力符号量推定手段３５１を備えているため、画像全体をスライスブロックに分割してパイプライン処理的に符号化を進める結果、直前のスライスブロックの符号化が全て完了していない場合であっても、直前のスライスブロックの出力済符号量をある程度の精度で計算することが可能になる。
【０１４７】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。例えば、ゴロムライス符号を用いて符号化したが、ハフマン符号などの他の符号を用いるようにしても良い。また、本発明は、その有する機能をハードウェア的に実現することは勿論、コンピュータとプログラムとで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態における各手段として機能させる。
【符号の説明】
【０１４８】
１１    画像入力装置
１２    データ記憶装置
１２Ａ  出力ライン数メモリ
１３    データ処理装置
１３Ａ  係数符号化手段
１４    符号出力装置
２１    画像入力装置
２２    データ記憶装置
２２Ａ  出力ライン数メモリ
２３    データ処理装置
２３Ａ  係数符号化手段
２４    符号出力装置
２５    高域サブバンド係数符号化手段
１２１  画像メモリ
１２２  水平分解係数メモリ
１２３  水平垂直分解係数メモリ
１２４  係数データ量メモリ
１２５  ライン量子化値メモリ
１２６  量子化係数データ量メモリ
１２７  ライン目標符号量メモリ
１２８  目標符号量メモリ
１２９  出力符号量メモリ
１３１  水平ウェーブレット分解手段
１３２  水平高周波係数統計手段
１３３  垂直ウェーブレット分解手段
１３４  係数データ量推定手段
１３５  量子化係数データ量判定手段
１３６  量子化値設定手段
１３７  ライン目標符号量算出手段
１３８  符号化係数量子化手段
１３９  量子化値符号化手段
２２１  画像メモリ
２２２  水平分解係数メモリ
２２３  水平垂直分解係数メモリ
２２４  係数データ量メモリ
２２５  ライン量子化値メモリ
２２６  量子化係数データ量メモリ
２２７  ライン目標符号量メモリ
２２８  目標符号量メモリ
２２９  出力符号量メモリ
２３１  水平ウェーブレット分解手段
２３２  水平高周波係数統計手段
２３３  垂直ウェーブレット分解手段
２３４  係数データ量推定手段
２３５  量子化係数データ量判定手段
２３６  量子化値設定手段
２３７  ライン目標符号量算出手段
２３８  符号化係数量子化手段
２３９  量子化値符号化手段
【図１】
2011029982.tif 000003
【図２】
2011029982.tif 000004
【図３】
2011029982.tif 000005
【図４】
2011029982.tif 000006
【図５】
2011029982.tif 000007
【図６】
2011029982.tif 000008
【図７】
2011029982.tif 000009
【図８】
2011029982.tif 000010
【図９】
2011029982.tif 000011
【図１０】
2011029982.tif 000012
【図１１】
2011029982.tif 000013
【図１２】
2011029982.tif 000014
【図１３】
2011029982.tif 000015
【図１４】
2011029982.tif 000016
【図１５】
2011029982.tif 000017
【図１６】
2011029982.tif 000018
【図１７】
2011029982.tif 000019