(57)【特許請求の範囲】
【請求項１】
ウェーブレット変換によって画像信号を高域及び低域の複数の帯域成分に再帰的に帯域分割することにより、変換係数を生成するウェーブレット変換部と、
参照グリッドの原点からのオフセット値を指定することにより、前記参照グリッド上に所定の画像領域を設定する画像領域設定部と、
を備え、
前記ウェーブレット変換部は、
それぞれがローパスフィルタ及びハイパスフィルタを有する垂直フィルタ及び水平フィルタと、
前記垂直フィルタ及び前記水平フィルタの各々について、前記ローパスフィルタ及び前記ハイパスフィルタの実行順序を可変に制御する制御部と、
を有し、
前記ローパスフィルタは、前記所定の画像領域における偶数番目のデータ列についてのみフィルタ処理を実行し、
前記ハイパスフィルタは、前記所定の画像領域における奇数番目のデータ列についてのみフィルタ処理を実行し、
前記制御部は、前記画像領域設定部から入力される前記オフセット値が偶数であるか奇数であるかに基づいて、前記ローパスフィルタ及び前記ハイパスフィルタの実行順序を制御する、画像信号処理装置。
【請求項２】
高域及び低域の複数の帯域成分に分割された変換係数を逆ウェーブレット変換によって再帰的に帯域合成することにより、画像信号を生成する逆ウェーブレット変換部と、
入力された画像データのビットストリームから、参照グリッドの原点からのオフセット値を抽出するビットストリーム解析部と、
を備え、
前記逆ウェーブレット変換部は、
前記オフセット値によって特定される所定の画像領域における偶数番目のデータを合成する偶数フィルタ、及び前記所定の画像領域における奇数番目のデータを合成する奇数フィルタをそれぞれ有する水平フィルタ及び垂直フィルタと、
前記水平フィルタ及び前記垂直フィルタの各々について、前記偶数フィルタ及び前記奇数フィルタの実行順序を可変に制御する制御部と、
を有し、
前記制御部は、前記ビットストリーム解析部から入力される前記オフセット値が偶数であるか奇数であるかに基づいて、前記偶数フィルタ及び前記奇数フィルタの実行順序を制御する、画像信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像信号処理装置に関し、特に、ウェーブレット変換部を備える画像符号化装置、及び、逆ウェーブレット変換部を備える画像復号化装置に関する。
【背景技術】
【０００２】
ＪＰＥＧ２０００方式の画像符号化装置においては、ＤＣレベル変換処理と色空間変換処理とを経ることにより、２次元画像信号が得られる。そして、当該２次元画像信号から所望の画像領域を抽出すべく、参照グリッドと呼ばれる座標系が用いられる。具体的には、参照グリッドの原点に対する行方向及び列方向の各オフセット値を指定することによって、所望の画像領域の特定が行われる（下記非特許文献１参照）。
【０００３】
【非特許文献１】小野定康、鈴木純司著、「わかりやすい  ＪＰＥＧ２０００の技術」、株式会社オーム社、２００３年５月１５日、ｐ７７−８０
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＪＰＥＧ２０００方式によると、ＤＷＴでは、まず垂直フィルタをかけ、次に水平フィルタをかけるという処理の順序が定められている。図９は、１６行×１６列の２次元画像信号に対して、垂直フィルタ→水平フィルタの順で２次元フィルタをかけた状況を示す図である。左図は垂直フィルタをかけた後の状況を示し、右図はさらに水平フィルタをかけた後の状況を示している。
【０００５】
図９の左図に示すように、垂直フィルタをかけることにより、偶数番目の行の垂直成分はローパスデータＬとなり、奇数番目の行の垂直成分はハイパスデータＨとなる。図９の右図に示すように、さらに水平フィルタをかけることにより、偶数番目の列の水平成分はローパスデータＬとなり、奇数番目の列の水平成分はハイパスデータＨとなる。なお、図９の右図において、（ＬＬ）は水平成分及び垂直成分がいずれもＬであることを示し、（ＨＬ）は水平成分がＨで垂直成分がＬであることを示し、（ＬＨ）は水平成分がＬで垂直成分がＨであることを示し、（ＨＨ）は水平成分及び垂直成分がいずれもＨであることを示している。また、矢印Ｘは垂直方向を示し、矢印Ｙは水平方向を示している。
【０００６】
参照グリッドのオフセット値が指定されていない場合は、参照グリッドの原点（２次元画像信号の左上角）から処理が開始される。この場合、垂直フィルタ及び水平フィルタは、いずれもローパスフィルタ→ハイパスフィルタの順に入出力処理が実行される。一方、参照グリッドのオフセット値を任意の値に指定しようとすると、垂直フィルタ及び水平フィルタの各々について、必ずしもローパスフィルタが先に実行されるとは限らず、指定されたオフセット値に応じてローパスフィルタ及びハイパスフィルタの入出力の実行順序を制御する必要がある。
【０００７】
本発明はかかる事情に鑑みて成されたものであり、垂直フィルタ及び水平フィルタの各々について、指定された参照グリッドのオフセット値に応じて、ローパスフィルタ及びハイパスフィルタの入出力の実行順序を制御可能な画像信号処理装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の態様に係る画像信号処理装置は、ウェーブレット変換によって画像信号を高域及び低域の複数の帯域成分に再帰的に帯域分割することにより、変換係数を生成するウェーブレット変換部と、参照グリッドの原点からのオフセット値を指定することにより、前記参照グリッド上に所定の画像領域を設定する画像領域設定部とを備え、前記ウェーブレット変換部は、それぞれがローパスフィルタ及びハイパスフィルタを有する垂直フィルタ及び水平フィルタと、前記垂直フィルタ及び前記水平フィルタの各々について、前記ローパスフィルタ及び前記ハイパスフィルタの実行順序を可変に制御する制御部とを有し、前記ローパスフィルタは、前記所定の画像領域における偶数番目のデータ列についてのみフィルタ処理を実行し、前記ハイパスフィルタは、前記所定の画像領域における奇数番目のデータ列についてのみフィルタ処理を実行し、前記制御部は、前記画像領域設定部から入力される前記オフセット値が偶数であるか奇数であるかに基づいて、前記ローパスフィルタ及び前記ハイパスフィルタの実行順序を制御する。
【００１０】
本発明の第２の態様に係る画像信号処理装置は、高域及び低域の複数の帯域成分に分割された変換係数を逆ウェーブレット変換によって再帰的に帯域合成することにより、画像信号を生成する逆ウェーブレット変換部と、入力された画像データのビットストリームから、参照グリッドの原点からのオフセット値を抽出するビットストリーム解析部とを備え、前記逆ウェーブレット変換部は、前記オフセット値によって特定される所定の画像領域における偶数番目のデータを合成する偶数フィルタ、及び前記所定の画像領域における奇数番目のデータを合成する奇数フィルタをそれぞれ有する水平フィルタ及び垂直フィルタと、前記水平フィルタ及び前記垂直フィルタの各々について、前記偶数フィルタ及び前記奇数フィルタの実行順序を可変に制御する制御部とを有し、前記制御部は、前記ビットストリーム解析部から入力される前記オフセット値が偶数であるか奇数であるかに基づいて、前記偶数フィルタ及び前記奇数フィルタの実行順序を制御する。
【発明の効果】
【００１２】
本発明の第１の態様に係る画像信号処理装置によれば、ウェーブレット変換部が有する制御部は、垂直フィルタ及び水平フィルタの各々について、ローパスフィルタ及びハイパスフィルタの実行順序を可変に制御する。従って、指定された参照グリッドのオフセット値に応じて、ローパスフィルタ及びハイパスフィルタの実行順序を制御でき、参照グリッドのオフセット値を任意の値に指定して画像信号の符号化を実行することが可能となる。
【００１３】
本発明の第２の態様に係る画像信号処理装置によれば、逆ウェーブレット変換部が有する制御部は、水平フィルタ及び垂直フィルタの各々について、偶数フィルタ及び奇数フィルタの実行順序を可変に制御する。従って、指定された参照グリッドのオフセット値に応じて、偶数フィルタ及び奇数フィルタの実行順序を制御でき、参照グリッドのオフセット値が任意の値に指定された画像信号を復号化することが可能となる。
【発明を実施するための最良の形態】
【００１４】
実施の形態１．
＜装置全体の概要＞
図１は、本発明の実施の形態１に係る、ＪＰＥＧ２０００方式に基づいた画像符号化装置１の構成を示す機能ブロック図である。図１に示すように、画像符号化装置１は、ＤＣレベルシフト部１０、色空間変換部１１、タイリング部１２、ＤＷＴ部１３、量子化部１４、ＲＯＩ部１７、係数ビットモデリング部２０、算術符号化部２１、符号量制御部２２、及びビットストリーム生成部２３を備えて構成されている。
【００１５】
なお、画像符号化装置１を構成するこれら各処理部１０〜１４，１７，２０〜２３の全部又は一部は、ハードウェアとして構成されていてもよいし、又はマイクロプロセッサを機能させるプログラムとして構成されていてもよい。
【００１６】
ＤＣレベルシフト部１０は、外部から画像符号化装置１に入力された画像信号（図１における入力画像）に対して、必要に応じてＤＣレベル変換処理を行う。
【００１７】
色空間変換部１１は、ＤＣレベルシフト部１０から入力された画像信号に対して、所定の色空間変換処理を行う。ＪＰＥＧ２０００方式によれば、色空間変換処理として、可逆変換用のＲＣＴ（Reversible Component Transformation）と、非可逆変換用のＩＣＴ（Irreversible Component Transformation）とが用意されており、いずれか一方を適宜選択できる。これにより、例えば、色空間変換部１１に入力されたＲＧＢ信号がＹＣｂＣｒ信号又はＹＵＶ信号に変換される。
【００１８】
タイリング部１２は、色空間変換部１１から入力された画像信号を、タイリング処理によって、「タイル」と称される矩形状の複数の小領域に分割する。なお、かかるタイリング処理は必ずしも必要ではなく、１フレーム分の画像信号をそのまま次段の機能ブロックに出力してもよい。本発明では、タイル歪みの発生を回避又は抑制すべく、１フレーム分の画像信号を１タイルとして処理する場合や、個々のサイズが比較的大きな少数のタイルに分割する処理を想定している。但し、本発明は通常のタイリング処理が行われる装置にも適用可能である。
【００１９】
また、タイリング部１２は、参照グリッドに関する処理も行う。つまり、色空間変換部１１から入力された２次元画像信号から所望の画像領域を抽出すべく、参照グリッドの原点に対する行方向及び列方向の各オフセット値が指定され、そのオフセット値に関する情報が参照グリッド情報ＧＤとしてタイリング部１２から出力される。このように、タイリング部１２は、参照グリッドの原点からのオフセット値を指定することにより、参照グリッド上に所定の画像領域を設定する画像領域設定部としても機能する。タイリング部１２における参照グリッドの処理内容については、後に詳述する。
【００２０】
ＤＷＴ部１３は、タイリング部１２から入力された画像信号ＬＤに対してタイル単位で整数型又は実数型のＤＷＴを施し、その結果得られる変換係数ＷＤを出力する。ＤＷＴでは、２次元画像信号を高域成分（高周波数成分）と低域成分（低周波数成分）とに分割するための１次元フィルタが、垂直及び水平の各方向に関して適用される。具体的には、実数型ＤＷＴであれば、９×７タップ、５×３タップ、又は７×５タイプ等のフィルタが使用され、整数型ＤＷＴであれば、５×３タップ又は１３×７タップ等のフィルタが使用される。また、これらフィルタの処理を畳み込み演算で実行してもよいし、あるいは、畳み込み演算よりも効率的なリフティング構成（Lifting scheme）で実行してもよい。
【００２１】
ＪＰＥＧ２０００方式では、垂直及び水平の双方向に関して低域側に分割された帯域成分のみを再帰的に帯域分割していく、いわゆるオクターブ分割方式が採用されている。また、その再帰的に帯域分割を行った回数は、分解レベル（decomposition level）と称される。
【００２２】
図２は、オクターブ分割方式に従って分解レベル「３」のＤＷＴが施された２次元画像１２０を示す模式図である。分解レベル「１」では、２次元画像１２０は、垂直方向と水平方向とに上述の１次元フィルタを順次適用することで、ＨＨ１，ＨＬ１，ＬＨ１，及びＬＬ１（図示せず）の４つの帯域成分（サブバンド）に分割される。ここで、「Ｈ」は高域成分を、「Ｌ」は低域成分をそれぞれ示している。例えば「ＨＬ１」は、分解レベル「１」における水平方向の高域成分Ｈと垂直方向の低域成分Ｌとから成る帯域成分である。その表記法を一般化すると、「ＸＹｎ」（Ｘ，ＹはＨ，Ｌのいずれか。ｎは自然数）は、分解レベルｎにおける水平方向の帯域成分Ｘと垂直方向の帯域成分Ｙとから成る帯域成分を意味する。
【００２３】
分解レベル「２」では、低域成分ＬＬ１が、ＨＨ２，ＨＬ２，ＬＨ２，及びＬＬ２（図示せず）に帯域分割される。さらに、分解レベル「３」では、低域成分ＬＬ２が、ＨＨ３，ＨＬ３，ＬＨ３，及びＬＬ３に帯域分割される。このようにして生成された帯域成分ＨＨ１〜ＬＬ３を配列したものが、図２である。図２では分解レベルが「３」のＤＷＴが施された例が示されているが、ＪＰＥＧ２０００方式では、一般に、分解レベルが「３」〜「８」程度のＤＷＴが採用される。
【００２４】
図１を参照して、量子化部１４は、ＤＷＴ部１３から入力された変換係数ＷＤを、量子化パラメータに従ってスカラー量子化することにより、スカラー量子化後の変換係数ＱＤを出力する。また、量子化部１４は、ＲＯＩ部１７によって設定された関心領域の画質を優先させるよう、所定のビットシフト処理を行う機能も有している。
【００２５】
係数ビットモデリング部２０は、量子化部１４から入力された変換係数ＱＤを、３２×３２又は６４×６４程度のコードブロックに分割する。また、係数ビットモデリング部２０は、各コードブロックを、各ビットの２次元配列として構成される複数のビットプレーンに分解する。図３は、コードブロック１２１が分解されたｎ枚のビットプレーン１２２0〜１２２n-1（ｎは自然数）を示す模式図である。図３に示すように、コードブロック１２１内の任意の１点の変換係数の２進値１２３が「０１１・・・０」である場合、この２進値１２３を構成する各ビットがそれぞれビットプレーン１２２n-1，１２２n-2，１２２n-3，・・・，１２２0に属するように、コードブロック１２１が分解される。図３において、ビットプレーン１２２n-1は、変換係数の最上位ビット（ＭＳＢ）のみから成る最上位ビットプレーンを表し、ビットプレーン１２２0は、変換係数の最下位ビット（ＬＳＢ）のみから成る最下位ビットプレーンを表している。
【００２６】
さらに、係数ビットモデリング部２０は、各ビットプレーン１２２k（ｋ＝０〜ｎ−１）内の各ビットのコンテクスト（context）判定を行い、判定結果である各ビットの有意性に応じて、ビットプレーン１２２kを３種類の符号化パス、即ち、ＳＩＧパス（SIGnificance propagation pass），ＭＲパス（Magnitude Refinement pass），及びＣＬパス（CLeanup pass）に分解する。各符号化パスに関するコンテクスト判定のアルゴリズムは、ＥＢＣＯＴで定められている。それによれば、「有意である」とは、これまでの符号化処理において注目係数がゼロでないと分かっている状態のことを意味し、「有意で無い」とは、係数値がゼロであるか、又はゼロである可能性がある状態のことを意味する。
【００２７】
また、係数ビットモデリング部２０は、ＳＩＧパス（有意な係数が周囲にある有意でない係数の符号化パス）、ＭＲパス（有意な係数の符号化パス）、及びＣＬパス（ＳＩＧパス，ＭＲパスに該当しない残りの係数情報の符号化パス）の３種類の符号化パスで、ビットプレーン符号化を実行する。ビットプレーン符号化は、最上位ビットプレーンから最下位ビットプレーンにかけて、各ビットプレーンのビットを４ビット単位で走査し、有意な係数が存在するか否かを判定することで行われる。有意で無い係数（０ビット）のみで構成されるビットプレーンの数はパケットヘッダに記録され、有意な係数が最初に出現したビットプレーンから実際の符号化が開始される。その符号化開始のビットプレーンはＣＬパスのみで符号化され、当該ビットプレーンよりも下位のビットプレーンは、上記３種類の符号化パスで順次符号化される。
【００２８】
算術符号化部２１は、係数ビットモデリング部２０から入力された符号化データＢＤを算術符号化し、その結果得られた符号化データＡＤを出力する。具体的には、ＭＱコーダを用いて、係数ビットモデリング部２０から入力された符号化データＢＤに対して、コンテクストの判定結果に基づいて符号化パス単位で算術符号化を実行する。ここで、算術符号化部２１は、符号化対象の一部を算術符号化せずに、当該符号化対象をそのまま符号化データＡＤに含めて出力するバイパス処理を行う場合もある。なお、本実施の形態１では算術符号化を採用するが、本発明はこれに限らず、他の方式のエントロピー符号化を採用しても構わない。
【００２９】
符号量制御部２２は、算術符号化部２１から入力された符号化データＡＤのレートを制御する機能を有する。具体的に、符号量制御部２２は、目標符号量（圧縮画像の最終的な符号量）を得るために、符号化データＡＤを、帯域成分単位、ビットプレーン単位、又はパス単位で、優先度の低いものから順に切り捨てるというポスト量子化を実行する。
【００３０】
ビットストリーム生成部２３は、符号量制御部２２から入力された符号化データＣＤと、付加情報（ヘッダ情報、レイヤ構成、スケーラビリティ、量子化テーブル等）とを多重化することによりビットストリームを生成し、圧縮画像として外部に出力する。ヘッダ情報には、オフセット値Ｘ０siz，Ｙ０sizも含まれる。
【００３１】
＜参照グリッドの処理＞
以下、図１に示したタイリング部１２によって実行される参照グリッドの処理内容について、詳細に説明する。
【００３２】
ＤＣレベルシフト部１０と色空間変換部１１とによる前処理を経ることにより２次元画像信号が得られ、かかる２次元画像信号から所望の画像領域を抽出すべく、参照グリッドと呼ばれる座標系が用いられる。具体的に、タイリング部１２は、参照グリッドの原点に対する行方向及び列方向の各オフセット値を指定することによって、２次元画像信号内に所望の画像領域を設定する。
【００３３】
図４は、参照グリッドを定義するために必要なパラメータを示す図である。参照グリッドは、水平方向にＸsiz個、垂直方向にＹsiz個のグリッド点を有している。参照グリッドの各頂点の座標は、左上角（原点）が（Ｘ，Ｙ）＝（０，０）、左下角が（０，Ｙsiz−１）、右上角が（Ｘsiz−１，０）、右下角が（Ｘsiz−１，Ｙsiz−１）である。参照グリッドの原点（０，０）からのオフセット値Ｘ０siz，Ｙ０sizを指定することにより、ハッチングを付した所望の画像領域が設定される。つまり、所望の画像領域は、座標がそれぞれ（Ｘ０siz，Ｙ０siz）、（Ｘ０siz，Ｙsiz−１）、（Ｘsiz−１，Ｙ０siz）、（Ｘsiz−１，Ｙsiz−１）である４つの頂点によって囲まれる矩形領域として特定される。
【００３４】
ＪＰＥＧ２０００  Ｐａｒｔ１  Ｐｒｏｆｉｌｅ０では、オフセット値Ｘ０siz，Ｙ０sizはいずれも「０」である。ＪＰＥＧ２０００  Ｐａｒｔ１  Ｐｒｏｆｉｌｅ０を準拠しない場合は、オフセット値Ｘ０siz，Ｙ０sizとして任意の値を設定することができる。
【００３５】
タイリング部１２は、任意に設定されたオフセット値Ｘ０siz，Ｙ０sizに関する情報を、参照グリッド情報ＧＤとして、ＤＷＴ部１３に入力する。
【００３６】
＜ＤＷＴ部１３の処理＞
以下、図１に示したＤＷＴ部１３によって実行されるＤＷＴの処理内容について、詳細に説明する。
【００３７】
まず、ＤＷＴを実現するＦＩＲ型フィルタについて説明する。図５は、分解側フィルタバンクを示す図である。図５に示す分解側フィルタバンクにおいて、一方のダウンサンプラ１４０Ｌ〜１４２Ｌは、各ローパスフィルタＨ0（ｚ）から出力されるデータ列のうち、偶数番目のサンプルだけを保持し、奇数番目のサンプルを破棄するという間引き処理を実行する。他方のダウンサンプラ１４０Ｈ〜１４２Ｈは、各ハイパスフィルタＨ1（ｚ）から出力されるデータ列のうち、奇数番目のサンプルだけを保持し、偶数番目のサンプルを破棄するという間引き処理を実行する。このように、各フィルタＨ0（ｚ），Ｈ1（ｚ）から出力されたデータは、偶数と奇数という２つのフェーズ（ポリフェーズ）に分離されて間引き処理を施される。しかし、このようにフィルタＨ0（ｚ），Ｈ1（ｚ）が、偶数番目と奇数番目とに関係無く全ての入力データに関してフィルタ処理を行うのは効率的では無い。本実施の形態１では、ローパスフィルタＨ0（ｚ）は偶数番目のデータ列についてのみフィルタ処理を実行し、ハイパスフィルタＨ1（ｚ）は奇数番目のデータ列についてのみフィルタ処理を実行し、その結果、各フィルタＨ0（ｚ），Ｈ1（ｚ）は、各フェーズ毎にフィルタ処理と間引き処理とを同時並行に実行することとする。
【００３８】
図６は、分解側のＦＩＲ型ローパスフィルタＨ0（ｚ）の構成を示す図であり、図７は、分解側のＦＩＲ型ハイパスフィルタＨ1（ｚ）の構成を示す図である。入力画像１０は、連続する入力データ列・・・，Ｘ（２ｎ−４），Ｘ（２ｎ−３），・・・，Ｘ（２ｎ），・・・，Ｘ（２ｎ＋３），Ｘ（２ｎ＋４），・・・（ｎ：整数）で構成されている。図６に示すように、ローパスフィルタＨ0（ｚ）は、９タップに対応したフィルタ係数ｈ0（−４），ｈ0（−３），・・・，ｈ0（０），・・・，ｈ0（３），ｈ0（４）を有し、入力データ列とフィルタ係数ｈ0（−４）〜ｈ0（４）とを畳み込み演算する乗算器１１1〜１１9及び加算器１２を有している。このローパスフィルタＨ0（ｚ）は、下記式（１）に従って、偶数番目のデータＸ（２ｎ）に関して選択的に畳み込み演算を実行し、データＹ（２ｎ）を出力する。
【００３９】
【数１】
0004736916.tif 000002
【００４０】
また、図７に示す通り、ハイパスフィルタＨ1（ｚ）は、７タップに対応したフィルタ係数ｈ1（−４），ｈ1（−３），・・・，ｈ1（１），ｈ1（２）を有し、入力データ列とフィルタ係数ｈ1（−４）〜ｈ1（２）とを畳み込み演算する乗算器１３1〜１３7及び加算器１４を有している。このハイパスフィルタＨ1（ｚ）は、下記式（２）に従って、奇数番目のデータＸ（２ｎ＋１）に関して選択的に畳み込み演算を実行し、データＹ（２ｎ＋１）を出力する。
【００４１】
【数２】
0004736916.tif 000003
【００４２】
下記表１に、ドビシス（Daubechies）フィルタのフィルタ係数＜ｈ0（ｎ）＞，＜ｈ1（ｎ）＞を示す。
【００４３】
【表１】
0004736916.tif 000004
【００４４】
ところで、ＪＰＥＧ２０００  Ｐａｒｔ１で使用されるＤＷＴ部１３のウェーブレット変換（分解側）には、以下のような規則がある。
・偶数番目の出力はローパスであり、奇数番目の出力はハイパスである。
・Ｐａｒｔ１  Ｐｒｏｆｉｌｅ０では、各サブバンドの左上角を原点としているので、最初は必ずローパスの出力になる。
【００４５】
次に、ＤＷＴを実行するためにＤＷＴ部１３に読み出さなくてはならないデータ数について考察する。図８は、９×７タップのフィルタを用いてＤＷＴを実行する場合における、入出力データの位置関係を示す図である。（ａ）は、注目データ列が偶数番目のデータ（ローパスデータＬ）から始まって、データ数が偶数個である場合を示しており、（ｂ）は、注目データ列が偶数番目のデータ（ローパスデータＬ）から始まって、データ数が奇数個である場合を示しており、（ｃ）は、注目データ列が奇数番目のデータ（ハイパスデータＨ）から始まって、データ数が偶数個である場合を示しており、（ｄ）は、注目データ列が奇数番目のデータ（ハイパスデータＨ）から始まって、データ数が奇数個である場合を示している。９×７タップのフィルタを使用した場合、開始データの奇数／偶数とデータ数の奇数／偶数との組合せにより、図８に示した４通りのパターンが考えられる。なお、Ｐａｒｔ１  Ｐｒｏｆｉｌｅ０では、必ず偶数番目のデータが開始データとなるため、図８の（ａ）及び（ｂ）の場合のみである。
【００４６】
なお、ロスレス圧縮で使用される５×３タップのフィルタの場合であっても、入出力データの位置関係は図８と同様となる。９×７タップのフィルタを使用した場合との相違点は、フィルタのタップ数が、ローパス側が５タップとなり、ハイパス側が３タップになることだけである。
【００４７】
図９は、１６行（第０行目から第１５行目まで）×１６列（第０列目から第１５列目まで）の画像信号に対して、垂直フィルタ→水平フィルタの順で２次元フィルタをかけた状況を示す図である。左図は垂直フィルタをかけた後の状況を示し、右図はさらに水平フィルタをかけた後の状況を示している。
【００４８】
図９の左図に示すように、垂直フィルタをかけることにより、偶数番目の行の垂直成分はローパスデータＬとなり、奇数番目の行の垂直成分はハイパスデータＨとなる。図９の右図に示すように、さらに水平フィルタをかけることにより、偶数番目の列の水平成分はローパスデータＬとなり、奇数番目の列の水平成分はハイパスデータＨとなる。なお、図９の右図において、（ＬＬ）は水平成分及び垂直成分がいずれもＬであることを示し、（ＨＬ）は水平成分がＨで垂直成分がＬであることを示し、（ＬＨ）は水平成分がＬで垂直成分がＨであることを示し、（ＨＨ）は水平成分及び垂直成分がいずれもＨであることを示している。また、矢印Ｘは垂直方向を示し、矢印Ｙは水平方向を示している。
【００４９】
さて次に、タイリング部１２によってオフセット値Ｘ０siz，Ｙ０sizが任意の値に設定される場合について検討する。説明の簡単化のため、ＤＷＴが１回だけ実行される場合を想定して説明する。
【００５０】
オフセット値Ｘ０siz，Ｙ０sizが偶数で、データ数が偶数である場合、入力データの奇偶の関係は、図８の（ａ）に示したようになる。従って、この場合は、ローパスフィルタ→ハイパスフィルタ→ローパスフィルタ→・・・→ハイパスフィルタの実行順序となる。オフセット値Ｘ０siz，Ｙ０sizが偶数で、データ数が奇数である場合、入力データの奇偶の関係は、図８の（ｂ）に示したようになる。従って、この場合は、ローパスフィルタ→ハイパスフィルタ→ローパスフィルタ→・・・→ローパスフィルタの実行順序となる。
【００５１】
オフセット値Ｘ０siz，Ｙ０sizが奇数で、データ数が偶数である場合、入力データの奇偶の関係は、図８の（ｃ）に示したようになる。従って、この場合は、ハイパスフィルタ→ローパスフィルタ→ハイパスフィルタ→・・・→ローパスフィルタの実行順序となる。オフセット値Ｘ０siz，Ｙ０sizが奇数で、データ数が奇数である場合、入力データの奇偶の関係は、図８の（ｄ）に示したようになる。従って、この場合は、ハイパスフィルタ→ローパスフィルタ→ハイパスフィルタ→・・・→ハイパスフィルタの実行順序となる。
【００５２】
このように、オフセット値Ｘ０siz，Ｙ０sizを任意の値に設定する場合には、水平フィルタ及び垂直フィルタの各々について、ローパスフィルタ及びハイパスフィルタの実行順序を、オフセット値Ｘ０siz，Ｙ０sizの奇偶、及びデータ数の奇偶に応じて入れ換える必要がある。
【００５３】
以下、ＤＷＴ部１３の構成及び動作について、さらに詳細に説明する。ここでは、２次元ウェーブレット変換の一種であるラインベースウェーブレット変換の処理内容について説明する。
【００５４】
図１０は、ラインベースウェーブレット変換を実現するＤＷＴ部１３の構成の概要を示す図である。１器の垂直フィルタの後段に２器の水平フィルタが配置された構成となっている。なお、フィルタの個数は任意であり、フィルタの個数を増やすことによってデータ処理の高速化を図ることができ、逆に、フィルタの個数を減らすことによって回路規模を縮小することができる。データ処理の高速化と回路規模の縮小とはトレードオフの関係にあるため、目的や環境に応じてフィルタの個数を任意に設計すればよい。
【００５５】
図１０を参照して、まず、垂直フィルタによるフィルタ処理が行われる。行に沿って注目列を一列ずつずらしていき、１行分の処理を終えると縦方向（列方向）に１行ずらす。垂直フィルタの係数は、オフセット値Ｙ０sizの奇偶に応じて同一行内ではＬ又はＨのいずれか一方であり、１行毎にＬ，Ｈが交互に切り換えられる。次に、垂直方向のローパス出力及びハイパス出力のそれぞれについて、水平フィルタによるフィルタ処理が行われる。行に沿って注目画素を一画素ずつずらしていく。水平フィルタの係数は、オフセット値Ｘ０sizの奇偶に応じて１画素毎にＬ，Ｈが交互に切り換えられる。その結果、垂直方向のローパス出力に対応する水平フィルタにおいては、水平方向のローパス出力として（ＬＬ）成分が得られ、水平方向のハイパス出力として（ＨＬ）成分が得られる。垂直方向のハイパス出力に対応する水平フィルタにおいては、水平方向のローパス出力として（ＬＨ）成分が得られ、水平方向のハイパス出力として（ＨＨ）成分が得られる。
【００５６】
図１１は、ラインベースウェーブレット変換を実現するＤＷＴ部１３の具体的な構成を示すブロック図である。ＤＷＴ部１３は、図１１に示すように、順番制御部１３２、セレクタ１３１、垂直ラインメモリ１３３、垂直ローパスフィルタ１３４、垂直ハイパスフィルタ１３５、水平シフトレジスタ１３７，１３１０、水平ローパスフィルタ１３６，１３９、水平ハイパスフィルタ１３８，１３１１、及び記憶装置１３１２を備えて構成されている。
【００５７】
順番制御部１３２には、図１に示したタイリング部１２から参照グリッド情報ＧＤが入力される。順番制御部１３２は、参照グリッド情報ＧＤに基づいて、制御信号ＣＷ１〜ＣＷ３を生成して出力する。制御信号ＣＷ１は、垂直ローパスフィルタ１３４と垂直ハイパスフィルタ１３５との実行順序を制御するための信号であり、制御信号ＣＷ２は、水平ローパスフィルタ１３６と水平ハイパスフィルタ１３８との実行順序を制御するための信号であり、制御信号ＣＷ３は、水平ローパスフィルタ１３９と水平ハイパスフィルタ１３１１との実行順序を制御するための信号である。
【００５８】
セレクタ１３１には、図１に示したタイリング部１２から画像信号ＬＤが入力される。また、セレクタ１３１には、ＤＷＴによって生成された（ＬＬ）成分のデータＬＬが再帰的に入力される。セレクタ１３１は、１回目のＤＷＴでは画像信号ＬＤを選択し、２回目以降のＤＷＴではデータＬＬを選択し、データＤＡとして出力する。
【００５９】
垂直ラインメモリ１３３には、セレクタ１３３からデータＤＡが入力されるとともに、順番制御部１３２から制御信号ＣＷ１が入力される。垂直ラインメモリ１３３は、データＤＡに基づき、垂直ローパスフィルタ１３４にデータＤＡ１を入力するとともに、垂直ハイパスフィルタ１３５にデータＤＡ２を入力する。その際、制御信号ＣＷ１に基づいて、データＤＡ１及びデータＤＡ２の出力順序が制御される。具体的には、オフセット値Ｙ０sizが偶数である場合は、ＤＡ１→ＤＡ２→ＤＡ１→ＤＡ２→・・・の順に出力し、一方、オフセット値Ｙ０sizが奇数である場合は、ＤＡ２→ＤＡ１→ＤＡ２→ＤＡ１→・・・の順に出力する。ここで、ＤＡ１は上式（１）右辺の変数Ｘ（２ｎ＋ｋ）に相当し、ＤＡ２は上式（２）右辺の変数Ｘ（２ｎ＋２＋ｋ）に相当する。
【００６０】
垂直ローパスフィルタ１３４は、垂直ラインメモリ１３３から入力されたデータＤＡ１に対してローパスフィルタ処理を行い、垂直ローパス成分ＤＬを出力する。垂直ハイパスフィルタ１３５は、垂直ラインメモリ１３３から入力されたデータＤＡ２に対してハイパスフィルタ処理を行い、垂直ハイパス成分ＤＨを出力する。
【００６１】
水平シフトレジスタ１３７には、垂直ローパスフィルタ１３４から垂直ローパス成分ＤＬが入力されるとともに、順番制御部１３２から制御信号ＣＷ２が入力される。水平シフトレジスタ１３７は、垂直ローパス成分ＤＬに基づき、水平ローパスフィルタ１３６にデータＤＬ１を入力するとともに、水平ハイパスフィルタ１３８にデータＤＬ２を入力する。その際、制御信号ＣＷ２に基づいて、データＤＬ１及びデータＤＬ２の出力順序が制御される。具体的には、オフセット値Ｘ０sizが偶数である場合は、ＤＬ１→ＤＬ２→ＤＬ１→ＤＬ２→・・・の順に出力し、一方、オフセット値Ｘ０sizが奇数である場合は、ＤＬ２→ＤＬ１→ＤＬ２→ＤＬ１→・・・の順に出力する。ここで、ＤＬ１は上式（１）右辺の変数Ｘ（２ｎ＋ｋ）に相当し、ＤＬ２は上式（２）右辺の変数Ｘ（２ｎ＋２＋ｋ）に相当する。
【００６２】
水平ローパスフィルタ１３６は、水平シフトレジスタ１３７から入力されたデータＤＬ１に対してローパスフィルタ処理を行い、水平ローパスかつ垂直ローパス成分のデータＬＬを出力する。水平ハイパスフィルタ１３８は、水平シフトレジスタ１３７から入力されたデータＤＬ２に対してハイパスフィルタ処理を行い、水平ハイパスかつ垂直ローパス成分のデータＨＬを出力する。データＬＬ及びデータＨＬは、記憶装置１３１２に入力され、格納される。
【００６３】
水平シフトレジスタ１３１０には、垂直ハイパスフィルタ１３５から垂直ハイパス成分ＤＨが入力されるとともに、順番制御部１３２から制御信号ＣＷ３が入力される。水平シフトレジスタ１３１０は、垂直ハイパス成分ＤＨに基づき、水平ローパスフィルタ１３９にデータＤＨ１を入力するとともに、水平ハイパスフィルタ１３１１にデータＤＨ２を入力する。その際、制御信号ＣＷ３に基づいて、データＤＨ１及びデータＤＨ２の出力順序が制御される。具体的には、オフセット値Ｘ０sizが偶数である場合は、ＤＨ１→ＤＨ２→ＤＨ１→ＤＨ２→・・・の順に出力し、一方、オフセット値Ｘ０sizが奇数である場合は、ＤＨ２→ＤＨ１→ＤＨ２→ＤＨ１→・・・の順に出力する。ここで、ＤＨ１は上式（１）右辺の変数Ｘ（２ｎ＋ｋ）に相当し、ＤＨ２は上式（２）右辺の変数Ｘ（２ｎ＋２＋ｋ）に相当する。
【００６４】
水平ローパスフィルタ１３９は、水平シフトレジスタ１３１０から入力されたデータＤＨ１に対してローパスフィルタ処理を行い、水平ローパスかつ垂直ハイパス成分のデータＬＨを出力する。水平ハイパスフィルタ１３１１は、水平シフトレジスタ１３１０から入力されたデータＤＨ２に対してハイパスフィルタ処理を行い、水平ハイパスかつ垂直ハイパス成分のデータＨＨを出力する。データＬＨ及びデータＨＨは、記憶装置１３１２に入力され、格納される。
【００６５】
記憶装置１３１２に格納されたデータＨＬ，ＬＨ，ＨＨは、変換係数ＷＤとして記憶装置１３１２から出力され、図１に示した量子化部１４に入力される。
【００６６】
記憶装置１３１２に格納されたデータＬＬは、さらにＤＷＴを実行する必要がある場合には、セレクタ１３１に入力され、再帰的なＤＷＴが行われる。一方、さらにＤＷＴを実行する必要がない場合には、変換係数ＷＤとして記憶装置１３１２から出力され、図１に示した量子化部１４に入力される。
【００６７】
＜画像符号化装置１の効果＞
本実施の形態１に係る画像符号化装置１によれば、ＤＷＴ部１３が有する順番制御部１３２は、垂直フィルタ及び水平フィルタの各々について、ローパスフィルタ及びハイパスフィルタの実行順序を可変に制御する。従って、指定された参照グリッドのオフセット値Ｘ０siz，Ｙ０sizに応じて、ローパスフィルタ及びハイパスフィルタの出力の実行順序を制御でき、参照グリッドのオフセット値Ｘ０siz，Ｙ０sizを任意の値に指定して画像信号の符号化を実行することが可能となる。
【００６８】
しかも、ＤＷＴ部１３はラインベースウェーブレットを実現するよう構成されている。そのため、変換係数の全てをメモリに保存して垂直フィルタ及び水平フィルタを順にかけるタイプの２次元ウェーブレットと比較すると、メモリの記憶容量を削減することが可能となる。
【００６９】
実施の形態２．
上記実施の形態１では、入力された画像信号を符号化して圧縮画像を出力する画像符号化装置について説明したが、本実施の形態２では、入力された圧縮画像を復号化して画像信号を出力する画像復号化装置について説明する。以下、上記実施の形態１との相違点を中心に説明する。
【００７０】
＜装置全体の概要＞
図１２は、本発明の実施の形態２に係る、ＪＰＥＧ２０００方式に基づいた画像復号化装置４００の構成を示す機能ブロック図である。図１２に示すように、画像復号化装置４００は、ＤＣレベルシフト部４１０、色空間変換部４１１、タイリング部４１２、逆ＤＷＴ部４１３、逆量子化部４１４、係数ビットモデリング部４２０、算術復号化部４２１、及びビットストリーム解析部４２３を備えて構成されている。
【００７１】
なお、画像復号化装置４００を構成するこれら各処理部４１０〜４１４，４２０，４２１，４２３の全部又は一部は、ハードウェアとして構成されていてもよいし、又はマイクロプロセッサを機能させるプログラムとして構成されていてもよい。
【００７２】
ビットストリーム解析部４２３は、外部から入力された圧縮画像のビットストリームを解析し、符号化データＣＤと、付加情報（ヘッダ情報、レイヤ構成、スケーラビリティ、量子化テーブル等）とを分離する。
【００７３】
また、ビットストリーム解析部４２３は、入力された圧縮画像のビットストリームのヘッダ情報から、参照グリッドの原点からのオフセット値Ｘ０siz，Ｙ０sizを抽出し、参照グリッド情報ＧＤとして出力する。
【００７４】
算術復号化部４２１は、ビットストリーム解析部４２３から入力された符号化データＣＤを算術復号化することにより、復号化データＢＤを出力する。なお、本実施の形態２では算術復号化を採用するが、本発明はこれに限らず、他の方式のエントロピー復号化を採用しても構わない。
【００７５】
係数ビットモデリング部４２０は、算術復号化部４２１から入力された復号化データＢＤに基づき、図３に示した各ビットの２次元配列として構成される複数のビットプレーンを合成することにより、コードブロックを生成する。また、３２×３２又は６４×６４程度に分割されたコードブロックを合成することにより、変換係数ＱＤを生成する。
【００７６】
逆量子化部４１４は、係数ビットモデリング部４２０から入力された変換係数ＱＤをスカラー逆量子化することにより、スカラー逆量子化後の変換係数ＷＤを出力する。また、逆量子化部４１４は、所定のビットシフト処理を行う機能も有している。
【００７７】
逆ＤＷＴ部４１３は、逆量子化部４１４から入力された変換係数ＷＤに対してタイル単位で整数型又は実数型の逆ＤＷＴを施し、高域及び低域の複数の帯域成分に分割された変換係数ＷＤを再帰的に帯域合成することにより、画像信号ＬＤを生成する。
【００７８】
タイリング部４１２は、逆ＤＷＴ部４１３から入力された画像信号ＬＤに対して複数のタイルを合成する処理を行うことにより、画像信号を生成する。本発明では、タイル歪みの発生を回避又は抑制すべく、１フレーム分の画像信号が１タイルとして処理されている場合や、個々のサイズが比較的大きな少数のタイルに分割されている場合を想定している。１フレーム分の画像信号が１タイルとして処理されている場合には、逆ＤＷＴ部４１３から入力された画像信号ＬＤをそのまま次段の機能ブロックに出力すればよい。但し、本発明は通常のタイリング処理が行われている装置にも適用可能である。
【００７９】
色空間変換部４１１は、タイリング部４１２から入力された画像信号に対して、所定の色空間変換処理を行う。例えば、ＹＣｂＣｒ信号又はＹＵＶ信号をＲＧＢ信号に変換して出力する。
【００８０】
ＤＣレベルシフト部４１０は、色空間変換部４１１から入力された画像信号に対して、必要に応じてＤＣレベル変換処理を行うことにより、画像信号（図１２における出力画像）を外部に出力する。
【００８１】
＜逆ＤＷＴ部４１３の処理＞
以下、図１２に示した逆ＤＷＴ部４１３によって実行される逆ＤＷＴの処理内容について、詳細に説明する。
【００８２】
まず、逆ＤＷＴを実現するＦＩＲ型フィルタについて説明する。図１３は、合成側フィルタバンクを示す図である。図１３に示した合成側のローパスフィルタＧ0（ｚ）及びハイパスフィルタＧ1（ｚ）を、それぞれｚ変換を用いて表現すると、下記式（３），（４）のようになる。
【００８３】
【数３】
0004736916.tif 000005
【００８４】
式（３），（４）中、フィルタ係数ｇ0（ｋ）（ｋ＝−３〜３）及びフィルタ係数ｇ1（ｋ）（ｋ＝−３〜５）はインパルス応答を示し、また、ｚ-kはｋ次の遅延を示している。
【００８５】
図１３に示した合成側のフィルタバンクは、以下に説明するポリフェーズ分解により変形されることができる。図１４は、アップサンプラ３０とフィルタＧ（ｚ）との組み合わせを示す図である。フィルタＧ（ｚ）は、フィルタ係数ｈ（ｋ）（ｋ：整数）を有するＦＩＲ型フィルタである。アップサンプラ３０は、入力信号ｙ（ｎ）の各値の間にゼロ値を挿入するアップサンプリング処理を行い、フィルタＧ（ｚ）は、そのアップサンプラ３０からの出力データを補間した信号ｘ（ｎ）を出力する。フィルタＧ（ｚ）は、ｚ変換を用いた伝達関数で、Ｇ（ｚ）＝Ｒ0（ｚ2）ｚ-1＋Ｒ1（ｚ2）の形に変形され得る。このような表現は「タイプ２のポリフェーズ分解」と呼ばれている。２フェーズに分解された各フィルタＲ0（ｚ2），Ｒ1（ｚ2）は、「ポリフェーズフィルタ」と呼ばれる。
【００８６】
以上のフィルタのポリフェーズ表現に基づくと、ＦＩＲ型フィルタＧ（ｚ）は、図１５に示すように、２つのポリフェーズフィルタＲ0（ｚ2），Ｒ1（ｚ2）と遅延素子３２と加算器３３とで表現される。すなわち、第１のポリフェーズフィルタＲ0（ｚ2）の出力信号は、遅延素子３２で１周期遅延した後に、加算器３３において第２のポリフェーズフィルタＲ1（ｚ2）の出力信号と加算される。さらに、図１５のフィルタ構成は、図１６に示すフィルタ構成と等価である。従って、出力信号ｘ（ｎ）は、各フィルタＲ0（ｚ），Ｒ1（ｚ）の出力信号を交互に出力したものといえる。
【００８７】
ところで、図１３に示した合成側のローパスフィルタＧ0（ｚ）及びハイパスフィルタＧ1（ｚ）は、ｚ変換を用いた伝達関数で下記式（３Ａ），（４Ａ）のように変形され得る。
【００８８】
【数４】
0004736916.tif 000006
【００８９】
式（３Ａ）中のＲ0（ｚ2），Ｒ1（ｚ2）は、合成側ローパスフィルタＧ0（ｚ）を構成するポリフェーズフィルタを示し、式（４Ａ）中のＫ0（ｚ2），Ｋ1（ｚ2）は、合成側ハイパスフィルタＧ1（ｚ）を構成するポリフェーズフィルタを示している。
【００９０】
よって、前述のポリフェーズ表現に基づくと、図１７に示す合成側のフィルタバンクは、図１８に示すフィルタ構成に変形され得る。図１７，１８において、符号３４，３５，３４Ａ，３４Ｂ，３５Ａ，３５Ｂはアップサンプラを示しており、符号３６，３８，４０は加算器、３７，３９は遅延素子を示している。
【００９１】
従って、ローパスフィルタ側の加算器３８の出力信号ｘ0（ｎ）は、各ポリフェーズフィルタＲ0（ｚ），Ｒ1（ｚ）の出力信号ｒ0，ｒ1を交互に出力したものとなり、ハイパスフィルタ側の加算器４０の出力信号ｘ1（ｎ）は、各ポリフェーズフィルタＫ0（ｚ），Ｋ1（ｚ）の出力信号ｋ0，ｋ1を交互に出力したものとなる。この結果、加算器３６の出力信号ｘ（ｎ）のうち、偶数番目の出力信号ｘ（２ｋ）は、各ポリフェーズフィルタＲ0（ｚ），Ｋ0（ｚ）の出力信号の和ｒ0＋ｋ0とし、奇数番目の出力信号ｘ（２ｋ＋１）は、各ポリフェーズフィルタＲ1（ｚ），Ｋ1（ｚ）の出力信号の和ｒ1＋ｋ1とすることができる。
【００９２】
以上のポリフェーズ表現に従って、合成側のフィルタバンクを実現するＦＩＲ型フィルタを構成できる。図１９及び図２０は、合成側のＦＩＲ型フィルタの構成を示す模式図である。これらのＦＩＲ型フィルタは、フィルタ処理とアップサンプリング処理とを同時並行に実行する。また、これらのＦＩＲ型フィルタには、ＤＷＴ画像２０を構成するデータ列・・・，Ｙ（２ｎ−３），Ｙ（２ｎ−２），・・・，Ｙ（２ｎ），・・・，Ｙ（２ｎ＋４），Ｙ（２ｎ＋５），・・・が入力されている。
【００９３】
図１９に示す７タップのＦＩＲ型フィルタは、上記各ポリフェーズフィルタＲ0（ｚ2），Ｋ0（ｚ2）のフィルタ係数ｇ0（−２），ｇ0（０），ｇ0（２），ｇ1（−２），ｇ1（０），ｇ1（２），ｇ1（４）を使用し、これらのフィルタ係数と入力データ列とを畳み込み演算する乗算器２１0，２１1，・・・，２１6及び加減算器２２を有している。このＦＩＲ型フィルタは、下記式（５）に従って畳み込み演算を実行して偶数番目のデータＸ（２ｎ）を合成する。以下、式（５）を偶数フィルタと呼ぶこととする。偶数フィルタの式（５）右辺第一項の変数Ｙ（２ｎ＋２ｋ）はローパスフィルタの入力となる。偶数フィルタの式（５）右辺第二項の変数Ｙ（２ｎ＋２ｋ−１）はハイパスフィルタの入力となる。
【００９４】
【数５】
0004736916.tif 000007
【００９５】
また、図２０に示す９タップのＦＩＲ型フィルタは、上記各ポリフェーズフィルタＲ1（ｚ2），Ｋ1（ｚ2）のフィルタ係数ｇ0（−３），ｇ0（−１），ｇ0（１），ｇ0（３），ｇ1（−３），ｇ1（−１），ｇ1（１），ｇ1（３），ｇ1（５）を使用し、これらのフィルタ係数と入力データ列とを畳み込み演算する乗算器２３1，２３2，・・・，２３9及び加算器２４を有している。このＦＩＲ型フィルタは、下記式（６）に従って畳み込み演算を実行して奇数番目のデータＸ（２ｎ＋１）を合成する。以下、式（６）を奇数フィルタと呼ぶこととする。奇数フィルタの式（６）右辺第一項の変数Ｙ（２ｎ＋２ｋ）はローパスフィルタの入力となる。奇数フィルタの式（６）右辺第二項の変数Ｙ（２ｎ＋２ｋ＋１）はハイパスフィルタの入力となる。
【００９６】
【数６】
0004736916.tif 000008
【００９７】
下記表２に、ドビシスフィルタのフィルタ係数＜ｇ0（ｎ）＞，＜ｇ1（ｎ）＞を示す。
【００９８】
【表２】
0004736916.tif 000009
【００９９】
ところで、ＪＰＥＧ２０００  Ｐａｒｔ１で使用される逆ＤＷＴ（合成側）には、以下のような規則がある。
・９×７タップのフィルタでは、偶数番目の入力は７画素であり、奇数番目の入力は９画素である。
・Ｐａｒｔ１  Ｐｒｏｆｉｌｅ０では、各サブバンドの左上角を原点としているので、最初は必ずローパスの入力になる。
【０１００】
次に、逆ＤＷＴを実行するために逆ＤＷＴ部４１３に余分に読み出さなくてはならないデータ数について考察する。図２１は、９×７タップのフィルタを用いて逆ＤＷＴを実行する場合における、入出力データの位置関係を示す図である。（ａ）は、注目データ列が偶数番目のデータ（ローパスデータＬ）から始まって、データ数が偶数個である場合を示しており、（ｂ）は、注目データ列が偶数番目のデータ（ローパスデータＬ）から始まって、データ数が奇数個である場合を示しており、（ｃ）は、注目データ列が奇数番目のデータ（ハイパスデータＨ）から始まって、データ数が偶数個である場合を示しており、（ｄ）は、注目データ列が奇数番目のデータ（ハイパスデータＨ）から始まって、データ数が奇数個である場合を示している。９×７タップのフィルタを使用した場合、開始データの奇数／偶数とデータ数の奇数／偶数との組合せにより、図２１に示した４通りのパターンが考えられる。なお、Ｐａｒｔ１  Ｐｒｏｆｉｌｅ０では、必ず偶数番目のデータが開始データとなるため、図２１の（ａ）及び（ｂ）の場合のみである。
【０１０１】
偶数番目の画素を合成する場合は７タップのフィルタとなっており、奇数番目の画素を合成する場合は９タップのフィルタとなっている。
【０１０２】
なお、ＪＰＥＧ２０００方式によると、逆ＤＷＴでは、まず合成水平フィルタをかけ、次に合成垂直フィルタをかけるという処理の順序が定められている。
【０１０３】
図２２は、１６行（第０行目から第１５行目まで）×１６列（第０列目から第１５列目まで）の画像信号に対して、合成水平フィルタ→合成垂直フィルタの順で２次元フィルタをかける状況を示す図である。図２２の左図は、合成水平フィルタをかける前の状況を示しており、右図は、合成水平フィルタをかけた後の状況を示している。
【０１０４】
図２２の左図において、（ＬＬ）は水平成分及び垂直成分がいずれもＬであることを示し、（ＨＬ）は水平成分がＨで垂直成分がＬであることを示し、（ＬＨ）は水平成分がＬで垂直成分がＨであることを示し、（ＨＨ）は水平成分及び垂直成分がいずれもＨであることを示している。また、矢印Ｘは垂直方向を示し、矢印Ｙは水平方向を示している。
【０１０５】
図２２の右図に示すように、合成水平フィルタをかけることにより、偶数番目の行はローパスデータＬとなり、奇数番目の行はハイパスデータＨとなる。
【０１０６】
さて次に、オフセット値Ｘ０siz，Ｙ０sizが任意の値に設定されている場合について検討する。説明の簡単化のため、ＤＷＴが１回だけ実行される場合を想定して説明する。
【０１０７】
オフセット値Ｘ０siz，Ｙ０sizが偶数で、データ数が偶数である場合、入力データの奇偶の関係は、図２１の（ａ）に示したようになる。従って、この場合は、偶数フィルタ→奇数フィルタ→偶数フィルタ→・・・→奇数フィルタの実行順序となる。オフセット値Ｘ０siz，Ｙ０sizが偶数で、データ数が奇数である場合、入力データの奇偶の関係は、図２１の（ｂ）に示したようになる。従って、この場合は、偶数フィルタ→奇数フィルタ→偶数フィルタ→・・・→偶数フィルタの実行順序となる。
【０１０８】
オフセット値Ｘ０siz，Ｙ０sizが奇数で、データ数が偶数である場合、入力データの奇偶の関係は、図２１の（ｃ）に示したようになる。従って、この場合は、奇数フィルタ→偶数フィルタ→奇数フィルタ→・・・→偶数フィルタの実行順序となる。オフセット値Ｘ０siz，Ｙ０sizが奇数で、データ数が奇数である場合、入力データの奇偶の関係は、図２１の（ｄ）に示したようになる。従って、この場合は、奇数フィルタ→偶数フィルタ→奇数フィルタ→・・・→奇数フィルタの実行順序となる。
【０１０９】
このように、オフセット値Ｘ０siz，Ｙ０sizが任意の値に設定されている場合には、水平フィルタ及び垂直フィルタの各々について、偶数フィルタ及び奇数フィルタの実行順序を、オフセット値Ｘ０siz，Ｙ０sizの奇偶、及びデータ数の奇偶に応じて入れ換える必要がある。偶数フィルタの上式（５）及び奇数フィルタの上式（６）より、偶数フィルタ及び奇数フィルタの実行順序を入れ換えるということは、ローパスフィルタ及びハイパスフィルタの入力の実行順序を入れ換えることを意味する。
【０１１０】
以下、逆ＤＷＴ部４１３の構成及び動作について、さらに詳細に説明する。ここでは、２次元逆ウェーブレット変換の一種であるラインベース逆ウェーブレット変換の処理内容について説明する。
【０１１１】
図２３は、ラインベース逆ウェーブレット変換を実現する逆ＤＷＴ部４１３の構成の概要を示す図である。２器の合成水平フィルタの後段に１器の合成垂直フィルタが配置された構成となっている。
【０１１２】
図２３を参照して、まず、水平方向の偶数ライン用及び奇数ライン用の各合成水平フィルタによるフィルタ処理がそれぞれ行われる。行に沿って注目画素を一画素ずつずらしていく。合成水平フィルタの係数は、オフセット値Ｘ０sizの奇偶に応じて１画素毎にＬ，Ｈが交互に切り換えられる。１行分の処理を終えると縦方向に１行ずらし、同様の処理を繰り返す。合成水平フィルタからの出力が合成垂直フィルタの行数分貯まると、次に、合成垂直フィルタによるフィルタリング処理が行われる。行に沿って注目列を一列ずつずらしていき、１行分の処理を終えると縦方向に１行ずらす。合成垂直フィルタの係数は、オフセット値Ｙ０sizの奇偶に応じて同一行内ではＬ又はＨのいずれか一方であり、１行毎にＬ，Ｈが交互に切り換えられる。
【０１１３】
図２４は、ラインベースウェーブレット変換を実現する逆ＤＷＴ部４１３の具体的な構成を示すブロック図である。逆ＤＷＴ部４１３は、図２４に示すように、順番制御部４１３２、セレクタ４１３１３〜４１３１７、垂直ラインメモリ４１３３、垂直偶数フィルタ４１３４、垂直奇数フィルタ４１３５、水平シフトレジスタ４１３７，４１３１０、水平偶数フィルタ４１３６，４１３９、水平奇数フィルタ４１３８，４１３１１、及び記憶装置４１３１２を備えて構成されている。
【０１１４】
順番制御部４１３２には、図１２に示したビットストリーム解析部４２３から参照グリッド情報ＧＤが入力される。順番制御部４１３２は、参照グリッド情報ＧＤに基づいて、制御信号ＣＷ１〜ＣＷ３を生成して出力する。制御信号ＣＷ１は、垂直偶数フィルタ４１３４と垂直奇数フィルタ４１３５との実行順序を制御するための信号であり、制御信号ＣＷ２は、水平偶数フィルタ４１３６と水平奇数フィルタ４１３８との実行順序を制御するための信号であり、制御信号ＣＷ３は、水平偶数フィルタ４１３９と水平奇数フィルタ４１３１１との実行順序を制御するための信号である。
【０１１５】
記憶装置４１３１２には、図１２に示した逆量子化部４１４から変換係数ＷＤが入力される。変換係数ＷＤには、データＬＬ，ＨＬ，ＬＨ，ＨＨが含まれている。また、記憶装置４１３１２には、逆ＤＷＴによって再帰的に生成されてセレクタ４１３１７から出力されたデータＬＬが入力される。
【０１１６】
セレクタ４１３１３には、記憶装置４１３１２からデータＬＬ，ＨＬが入力される。なお、セレクタ４１３１３には、１回目の逆ＤＷＴでは、変換係数ＷＤに含まれるデータＬＬが入力され、２回目以降の逆ＤＷＴでは、セレクタ４１３１７から記憶装置４１３１２に入力されたデータＬＬが入力される。セレクタ４１３１３は、データＬＬとデータＨＬとを交互に並べてデータＤＬを生成する。
【０１１７】
同様に、セレクタ４１３１４には、記憶装置４１３１２からデータＬＨ，ＨＨが入力される。セレクタ４１３１４は、データＬＨとデータＨＨとを交互に並べてデータＤＨを生成する。
【０１１８】
水平シフトレジスタ４１３７には、セレクタ４１３１３からデータＤＬが入力されるとともに、順番制御部４１３２から制御信号ＣＷ２が入力される。水平シフトレジスタ４１３７は、データＤＬに基づき、水平偶数フィルタ４１３６にデータＤＬ１を入力するとともに、水平奇数フィルタ４１３８にデータＤＬ２を入力する。その際、制御信号ＣＷ２に基づいて、データＤＬ１及びデータＤＬ２の出力順序が制御される。具体的には、オフセット値Ｘ０sizが偶数である場合は、ＤＬ１→ＤＬ２→ＤＬ１→ＤＬ２→・・・の順に出力し、一方、オフセット値Ｘ０sizが奇数である場合は、ＤＬ２→ＤＬ１→ＤＬ２→ＤＬ１→・・・の順に出力する。ここで、ＤＬ１は、偶数フィルタの上式（５）の右辺第一項の変数ローパス成分Ｙ（２ｎ＋２ｋ）及び右辺第二項の変数ハイパス成分Ｙ（２ｎ＋２ｋ−１）に相当する。また、ＤＬ２は、奇数フィルタの上式（６）の右辺第一項の変数ローパス成分Ｙ（２ｎ＋２ｋ）及び右辺第二項の変数ハイパス成分Ｙ（２ｎ＋２ｋ＋１）に相当する。
【０１１９】
水平偶数フィルタ４１３６は、水平シフトレジスタ４１３７から入力されたデータＤＬ１に対して水平Ｌ成分を合成する処理を行い、データＤＬ３を出力する。水平奇数フィルタ４１３８は、水平シフトレジスタ４１３７から入力されたデータＤＬ２に対して水平Ｈ成分を合成する処理を行い、データＤＬ４を出力する。
【０１２０】
水平シフトレジスタ４１３１０には、セレクタ４１３１４からデータＤＨが入力されるとともに、順番制御部４１３２から制御信号ＣＷ３が入力される。水平シフトレジスタ４１３１０は、データＤＨに基づき、水平偶数フィルタ４１３９にデータＤＨ１を入力するとともに、水平奇数フィルタ４１３１１にデータＤＨ２を入力する。その際、制御信号ＣＷ３に基づいて、データＤＨ１及びデータＤＨ２の出力順序が制御される。具体的には、オフセット値Ｘ０sizが偶数である場合は、ＤＨ１→ＤＨ２→ＤＨ１→ＤＨ２→・・・の順に出力し、一方、オフセット値Ｘ０sizが奇数である場合は、ＤＨ２→ＤＨ１→ＤＨ２→ＤＨ１→・・・の順に出力する。ここで、ＤＨ１は、偶数フィルタの上式（５）の右辺第一項の変数ローパス成分Ｙ（２ｎ＋２ｋ）及び右辺第二項の変数ハイパス成分Ｙ（２ｎ＋２ｋ−１）に相当する。また、ＤＨ２は、奇数フィルタの上式（６）の右辺第一項の変数ローパス成分Ｙ（２ｎ＋２ｋ）及び右辺第二項の変数ハイパス成分Ｙ（２ｎ＋２ｋ＋１）に相当する。
【０１２１】
水平偶数フィルタ４１３９は、水平シフトレジスタ４１３１０から入力されたデータＤＨ１に対して水平Ｌ成分を合成する処理を行い、データＤＨ３を出力する。水平奇数フィルタ４１３１１は、水平シフトレジスタ４１３１０から入力されたデータＤＨ２に対して水平Ｈ成分を合成する処理を行い、データＤＨ４を出力する。
【０１２２】
セレクタ４１３１５には、水平偶数フィルタ４１３６からデータＤＬ３が入力されるとともに、水平奇数フィルタ４１３８からデータＤＬ４が入力される。セレクタ４１３１５は、データＤＬ３とデータＤＬ４とを所定の順序に並べて、データＤＬ５を生成する。
【０１２３】
同様に、セレクタ４１３１６には、水平偶数フィルタ４１３９からデータＤＨ３が入力されるとともに、水平奇数フィルタ４１３１１からデータＤＨ４が入力される。セレクタ４１３１６は、データＤＨ３とデータＤＨ４とを所定の順序に並べて、データＤＨ５を生成する。
【０１２４】
垂直ラインメモリ４１３３には、セレクタ４１３１５，４１３１６からデータＤＬ５，ＤＨ５がそれぞれ入力されるとともに、順番制御部４１３２から制御信号ＣＷ１が入力される。垂直ラインメモリ４１３３は、データＤＬ５，ＤＨ５に基づき、垂直偶数フィルタ４１３４にデータＤＡ１を入力するとともに、垂直奇数フィルタ４１３５にデータＤＡ２を入力する。その際、制御信号ＣＷ１に基づいて、データＤＡ１及びデータＤＡ２の出力順序が制御される。具体的には、オフセット値Ｙ０sizが偶数である場合は、ＤＡ１→ＤＡ２→ＤＡ１→ＤＡ２→・・・の順に出力し、一方、オフセット値Ｙ０sizが奇数である場合は、ＤＡ２→ＤＡ１→ＤＡ２→ＤＡ１→・・・の順に出力する。ここで、ＤＡ１は、偶数フィルタの上式（５）の右辺第一項の変数ローパス成分Ｙ（２ｎ＋２ｋ）及び右辺第二項の変数ハイパス成分Ｙ（２ｎ＋２ｋ−１）に相当する。また、ＤＡ２は、奇数フィルタの上式（６）の右辺第一項の変数ローパス成分Ｙ（２ｎ＋２ｋ）及び右辺第二項の変数ハイパス成分Ｙ（２ｎ＋２ｋ＋１）に相当する。
【０１２５】
垂直偶数フィルタ４１３４は、データＤＡ１に基づいて垂直偶数成分のデータＤＡ３を生成して出力する。また、垂直奇数フィルタ４１３５は、データＤＡ２に基づいて垂直奇数成分のデータＤＡ４を生成して出力する。
【０１２６】
セレクタ４１３１７には、垂直偶数フィルタ４１３４からデータＤＡ３が入力されるとともに、垂直奇数フィルタ４１３５からデータＤＡ４が入力される。さらに逆ＤＷＴを実行する必要がある場合には、セレクタ４１３１７は、データＤＡ３，ＤＡ４に基づいてデータＬＬを生成し、そのデータＬＬを記憶装置４１３１２に入力することにより、逆ＤＷＴが再帰的に行われる。一方、さらに逆ＤＷＴを実行する必要がない場合には、セレクタ４１３１７は、データＤＡ３，ＤＡ４に基づいて画像信号ＬＤを生成して出力する。画像信号ＬＤは、図１２に示したタイリング部４１２に入力される。
【０１２７】
＜画像復号化装置４００の効果＞
本実施の形態２に係る画像復号化装置４００によれば、逆ＤＷＴ部４１３が有する順番制御部４１３２は、水平フィルタ及び垂直フィルタの各々について、ローパスフィルタ及びハイパスフィルタの実行順序を可変に制御する。従って、指定された参照グリッドのオフセット値Ｘ０siz，Ｙ０sizに応じて、ローパスフィルタ及びハイパスフィルタの入力の実行順序を制御でき、参照グリッドのオフセット値Ｘ０siz，Ｙ０sizが任意の値に指定された画像信号を復号化することが可能となる。
【０１２８】
しかも、逆ＤＷＴ部４１３はラインベース逆ウェーブレットを実現するよう構成されている。そのため、変換係数の全てをメモリに保存して垂直フィルタ及び水平フィルタを順にかけるタイプの２次元逆ウェーブレットと比較すると、メモリの記憶容量を削減することが可能となる。
【図面の簡単な説明】
【０１２９】
【図１】本発明の実施の形態１に係る画像符号化装置の構成を示す機能ブロック図である。
【図２】オクターブ分割方式に従って分解レベル「３」のＤＷＴが施された２次元画像を示す図である。
【図３】コードブロックが分解されたｎ枚のビットプレーンを示す図である。
【図４】参照グリッドを定義するために必要なパラメータを示す図である。
【図５】分解側フィルタバンクを示す図である。
【図６】分解側のＦＩＲ型ローパスフィルタの構成を示す図である。
【図７】分解側のＦＩＲ型ハイパスフィルタの構成を示す図である。
【図８】９×７タップのフィルタを用いてＤＷＴを実行する場合における、入出力データの位置関係を示す図である。
【図９】１６行×１６列の画像信号に対して、垂直フィルタ→水平フィルタの順で２次元フィルタをかけた状況を示す図である。
【図１０】ラインベースウェーブレット変換を実現するＤＷＴ部の構成の概要を示す図である。
【図１１】ラインベースウェーブレット変換を実現するＤＷＴ部の具体的な構成を示すブロック図である。
【図１２】本発明の実施の形態２に係る画像復号化装置の構成を示す機能ブロック図である。
【図１３】合成側フィルタバンクを示す図である。
【図１４】アップサンプラとフィルタとの組み合わせを示す図である。
【図１５】図１４に示したフィルタ構成のポリフェーズ表現を示す図である。
【図１６】図１４に示したフィルタ構成の他のポリフェーズ表現を示す図である。
【図１７】合成側フィルタバンクを示す図である。
【図１８】図１７に示したフィルタバンクのポリフェーズ表現を示す図である。
【図１９】合成側のＦＩＲ型フィルタの構成を示す図である。
【図２０】合成側のＦＩＲ型フィルタの構成を示す図である。
【図２１】９×７タップのフィルタを用いて逆ＤＷＴを実行する場合における、入出力データの位置関係を示す図である。
【図２２】１６行×１６列の画像信号に対して、合成水平フィルタ→合成垂直フィルタの順で２次元フィルタをかける状況を示す図である。
【図２３】ラインベース逆ウェーブレット変換を実現する逆ＤＷＴ部の構成の概要を示す図である。
【図２４】ラインベースウェーブレット変換を実現する逆ＤＷＴ部の具体的な構成を示すブロック図である。
【符号の説明】
【０１３０】
１  画像符号化装置
１２  タイリング部
１３  ＤＷＴ部
１３２，４１３２  順番制御部
１３４  垂直ローパスフィルタ
１３５  垂直ハイパスフィルタ
１３６，１３９  水平ローパスフィルタ
１３８，１３１１  水平ハイパスフィルタ
４００  画像復号化装置
４１３  逆ＤＷＴ部
４２３  ビットストリーム解析部
４１３４  垂直偶数フィルタ
４１３５  垂直奇数フィルタ
４１３６，４１３９  水平偶数フィルタ
４１３８，４１３１１  水平奇数フィルタ
【図１】
0004736916.tif 000010
【図２】
0004736916.tif 000011
【図３】
0004736916.tif 000012
【図４】
0004736916.tif 000013
【図５】
0004736916.tif 000014
【図６】
0004736916.tif 000015
【図７】
0004736916.tif 000016
【図８】
0004736916.tif 000017
【図９】
0004736916.tif 000018
【図１０】
0004736916.tif 000019
【図１１】
0004736916.tif 000020
【図１２】
0004736916.tif 000021
【図１３】
0004736916.tif 000022
【図１４】
0004736916.tif 000023
【図１５】
0004736916.tif 000024
【図１６】
0004736916.tif 000025
【図１７】
0004736916.tif 000026
【図１８】
0004736916.tif 000027
【図１９】
0004736916.tif 000028
【図２０】
0004736916.tif 000029
【図２１】
0004736916.tif 000030
【図２２】
0004736916.tif 000031
【図２３】
0004736916.tif 000032
【図２４】
0004736916.tif 000033