(57)【特許請求の範囲】
【請求項１】
Ｘ方向及びＹ方向の２方向に２次元配列された元データを、Ｘ方向及びＹ方向のそれぞれの方向の低域成分及び高域成分のサブバンドに分割する２次元サブバンド符号化装置において、
上記２次元配列された元データに対するＸ方向の低域成分であるＸ方向低域データ、及び、上記２次元配列された元データに対するＸ方向の高域成分を示すＸ方向高域データを算出し、２次元配列されたＸ方向低域データ及びＸ方向高域データを出力するＸ方向サブバンド変換手段と、
上記２次元配列されたＸ方向低域データに対するＹ方向の低域成分であるＸ方向低域Ｙ方向低域データ、上記２次元配列されたＸ方向低域データに対するＹ方向の高域成分であるＸ方向低域Ｙ方向高域データ、上記２次元配列されたＸ方向高域データに対するＹ方向の低域成分であるＸ方向高域Ｙ方向低域データ、及び、上記２次元配列されたＸ方向高域データに対するＹ方向の高域成分であるＸ方向高域Ｙ方向高域データを算出し、２次元配列されたＸ方向低域Ｙ方向低域データ、Ｘ方向低域Ｙ方向高域データ、及び、Ｘ方向高域Ｙ方向低域データ、Ｘ方向高域Ｙ方向高域データを算出するＹ方向サブバンド変換手段と、
上記Ｘ方向サブバンド変換手段及びＹ方向サブバンド変換手段に入力するデータを制御する制御手段とを備え、
上記Ｘ方向サブバンド変換手段は、２クロック毎に上記２次元配列上の上記Ｘ方向に並んだ所定数の元データが入力され、入力されたＸ方向に並んだ所定数のデータに基づき１つのＸ方向低域データ及び１つのＸ方向高域データを１クロック毎に交互に算出し、
上記Ｙ方向サブバンド変換手段は、２クロック毎に上記２次元配列上の上記Ｙ方向に並んだ所定数のＸ方向低域データ又はＸ方向高域データが交互に入力され、入力されたＹ方向に並んだ所定数のＸ方向低域データに基づき１つのＸ方向低域Ｙ方向低域データ及び１つのＸ方向低域Ｙ方向高域データを算出し、入力されたＹ方向に並んだ所定数のＸ方向高域データに基づき１つのＸ方向高域Ｙ方向低域データ及び１つのＸ方向高域Ｙ方向高域データを算出し、
上記制御手段は、上記Ｘ方向サブバンド変換手段から出力されるデータをクロックに基づいて遅延させる遅延回路と、上記遅延回路によりそれぞれ遅延されたデータを２クロック毎に異なるタイミングで切り換えて上記Ｙ方向に並んだ所定数のデータを上記Ｙ方向サブバンド変換手段へ出力する切換手段とを備え、
Ｘ方向に並んだ上記所定数の元データをＹ方向に上記Ｘ方向サブバンド変換手段に入力し、
上記Ｘ方向サブバンド変換手段から１クロック毎に交互に出力される１つのＸ方向低域データ及び１つのＸ方向高域データを、上記遅延回路が出力順序に従って順次遅延させ、奇数クロック分遅延させて上記Ｙ方向に並んだ所定数のデータ列、及び、偶数クロック分遅延されて上記Ｙ方向に並んだ所定数のデータ列をそれぞれ切換手段へ出力し、
上記切換手段が、上記奇数クロック分遅延されて上記Ｙ方向に並んだ所定数のデータ列、及び、偶数クロック分遅延されて上記Ｙ方向に並んだ所定数のデータ列を、２クロック毎に異なるタイミングで、それぞれ交互に上記Ｙ方向サブバンド変換手段へ出力することを特徴とする２次元サブバンド符号化装置。
【請求項２】
上記Ｘ方向サブバンド変換手段及び上記Ｙ方向サブバンド変換手段は、５×３のリフティング方式のウェーブレット変換を行い、
上記制御手段は、
上記Ｘ方向サブバンド変換手段から出力されたＸ方向高域データを、Ｙ方向の１ライン分保持するＸラインバッファと、
上記Ｙ方向サブバンド変換手段から出力された上記Ｘ方向低域Ｙ方向高域データ及びＸ方向高域Ｙ方向高域データを、それぞれ１データずつ保持するＹ方向高域データバッファとを有し、
Ｘ方向に並んだ３つの元データをＸ方向サブバンド変換手段に入力するとともに、Ｙ方向の１ライン前に出力されたＸ方向高域データを上記Ｘラインバッファから読み出してＸ方向サブバンド変換手段に入力し、
Ｙ方向にそれぞれ１ライン分のＸ方向低域データ及びＸ方向高域データを出力したのち、上記Ｘ方向に並んだ３つの元データをＸ方向に２データ分シフトさせて上記Ｘ方向サブバンド変換手段に入力し、
Ｙ方向に並んだ３つのＸ方向低域データを上記Ｙ方向サブバンド変換手段に入力するとともに１データ前のＸ方向低域Ｙ方向高域データを上記Ｙ方向高域データバッファから読み出してＹ方向サブバンド変換手段に入力し、
Ｙ方向に並んだ３つのＸ方向高域データを上記Ｙ方向サブバンド変換手段に入力するとともに、１データ前のＸ方向高域Ｙ方向高域データを上記Ｙ方向高域データバッファから読み出してＹ方向サブバンド変換手段に入力し、
上記Ｘ方向サブバンド変換手段から出力されたＸ方向低域データ及びＸ方向高域データをそれぞれ３つのデータ毎にＹ方向に２データずつシフトさせて上記Ｙ方向サブバンド変換手段に入力することを特徴とする請求項１記載の２次元サブバンド符号化装置。
【請求項３】
上記Ｙ方向サブバンド変換手段から出力された２次元配列されたＸ方向低域Ｙ方向低域データを保持する低域データ記憶手段を備え、
上記制御手段は、再帰的に２次元のサブバンド符号化を行う場合であって、１回目の２次元サブバンド符号化を行う場合には入力された元データを上記Ｘ方向サブバンド変換手段に入力し、２回目以降の２次元サブバンド符号化を行う場合には上記２次元配列されたＸ方向低域Ｙ方向低域データを上記元データとして上記Ｘ方向サブバンド変換手段に入力することを特徴とする請求項１記載の２次元サブバンド符号化装置。
【請求項４】
上記低域データ記憶手段は、Ｙ方向のラインのうち奇数番目のライン上のＸ方向低域Ｙ方向低域データを保持する第１の記憶手段と、Ｙ方向のラインのうち偶数番目のライン上のＸ方向低域Ｙ方向低域データを保持する第２の記憶手段とを備えることを特徴とする請求項３記載の２次元サブバンド符号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ウェーブレット変換装置等に適用される２次元のサブバンド符号化装置に関するものである。
【０００２】
【従来の技術】
近年、ＪＰＥＧ２０００（ISO/IEC JTC 1/SC 29/WG1）と呼ばれる静止画像圧縮方式が提案されている。ＪＰＥＧ２０００では、ウェーブレット変換と呼ばれる符号化アルゴリズムが用いられる。ウェーブレット変換は、データストリームを低域成分と高域成分とに帯域分割をするサブバンド符号化の一つである。
【０００３】
ＪＰＥＧ２０００では、２次元の画像データに対して、２次元のウェーブレット変換が行われる。２次元のウェーブレット変換は、図２５に示すように、２次元の画像データＰ（或いはウェーブレット変換された後の低域係数）に対して、垂直方向に１次元のウェーブレット変換を行い、垂直方向の低域成分の係数（Ｌ係数）と垂直方向の高域成分の係数（Ｈ）とに分割する。続いて、Ｌ係数及びＨ係数に対して、それぞれ水平方向に１次元のウェーブレット変換を行う。その結果、水平方向低域成分−垂直方向低域成分の係数（ＬＬ係数）、水平方向低域成分−垂直方向高域成分の係数（ＨＬ係数）、水平方向高域成分−垂直方向低域成分の係数（ＬＨ係数）、水平方向高域成分−垂直方向高域成分の係数（ＨＨ係数）の４種類の係数が生成される。２次元ウェーブレット変換がされたのちの各成分の係数の数は、変換前の画像データのデータ数に対して、垂直、水平ともに１／２の数になる。
【０００４】
さらに、ＪＰＥＧ２０００では、図２６に示すように、ＬＬ係数に対して再度ウェーブレット変換を施すことによって、２次元の画像データを再帰的に帯域分割することが可能である。再帰的に帯域分割する回数は、Ｎ（Ｌ）で表される。Ｎ（Ｌ）＝０はウェーブレット変換を行っていないことを示し、Ｎ（Ｌ）＝１は１回のウェーブレット変換を行ったことを示し、Ｎ（Ｌ）＝２は２回のウェーブレット変換を行ったことを示す。
【０００５】
図２７に、１次元のウェーブレット変換器のブロック構成図を示す。図２７（Ａ）に順方向変換器のブロック構成を示し、図２７（Ｂ）に逆方向変換器のブロック構成を示す。
【０００６】
順方向変換器１１０は、画像データストリームの低域成分を通過させる低域通過フィルタ（Ｈ０）１１１と、低域通過フィルタ（Ｈ０）１１１を通過した低域係数ストリームのサンプリングレートを１／２にダウンサンプリングするダウンサンプラ１１２と、画像データストリームの高域成分を通過させる高域通過フィルタ（Ｈ１）１１３と、高域通過フィルタ（Ｈ１）１１３を通過した高域係数ストリームのサンプリングレートを１／２にダウンサンプリングするダウンサンプラ１１４とから構成される。逆方向変換器１２０は、低域係数ストリームのサンプリングレートを２倍にアップサンプリングするアップサンプラ１２１と、アップサンプリングされた低域係数ストリームの低域成分を通過させる低域通過フィルタ（Ｆ０）１２２と、高域係数ストリームのサンプリングレートを２倍にアップサンプリングするアップサンプラ１２３と、アップサンプリングされた高域係数ストリームの高域成分を通過させる高域通過フィルタ（Ｆ１）１２４と、低域通過フィルタ（Ｆ０）１２２の出力データと高域通過フィルタ（Ｆ１）１２４の出力データとを加算して、画像データストリームを出力する加算器１２５とから構成される。
【０００７】
例えば、５×３のウェーブレット変換を実現する場合、低域通過フィルタのフィルタ係数（Ｈ０，Ｆ０）及び高域通過フィルタのフィルタ係数（Ｈ１，Ｆ１）は以下のようになる。
H0=(-1,2,6,2,-1)/8
H1=(-1,2,-1)/2
F0=(1,2,1)/2
F1=(-1,2,6,2,-1)/8
【０００８】
【発明が解決しようとする課題】
ところで、図２７に示したウェーブレット変換器の構成は、１次元のデータストリームに対するウェーブレット変換装置である。そのため、２次元ウェーブレット変換を実現する場合には、図２８に示すように、１次元のウェーブレット変換器１１０に対してメモリ１３０を設け、垂直方向に対する１回目のウェーブレット変換で算出されたウェーブレット係数を一旦メモリ１３０内に格納し、１回目のウェーブレット変換が終了した後にメモリ１３０からウェーブレット係数を読み出して、水平方向に対する２回目のウェーブレット変換を行わなければならない。
【０００９】
しかしながら、このように中間の処理データを格納するメモリ１３０を設ける場合には、入力画像の大きさに伴ってメモリ１３０の容量を大きくしなければならなく、２次元ウェーブレット変換装置の全体の回路規模が大きくなってしまっていた。また、１回目のウェーブレット変換が全て終了してからしか、２回目のウェーブレット変換を行うことができないため、処理時間を多く費やさなければならなかった。
【００１０】
本発明は、このような実情を鑑みてなされたものであり、回路規模を小さくし且つ処理時間を短くした２次元ウェーブレット変換装置を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明にかかる２次元サブバンド符号化装置は、Ｘ方向及びＹ方向の２方向に２次元配列された元データを、Ｘ方向及びＹ方向のそれぞれの方向の低域成分及び高域成分のサブバンドに分割する装置である。２次元配列されたデータとは、例えば画像データといったような２次元的に配列されることで意味を有するデータ群である。
【００１２】
本発明の２次元サブバンド符号化装置は、Ｘ方向サブバンド変換手段と、Ｙ方向サブバンド変換手段と、制御手段とを備えている。
【００１３】
Ｘ方向サブバンド変換手段は、上記２次元配列された元データに対するＸ方向の低域成分であるＸ方向低域データ、及び、上記２次元配列された元データに対するＸ方向の高域成分を示すＸ方向高域データを算出し、２次元配列されたＸ方向低域データ及びＸ方向高域データを出力する。
【００１４】
このＸ方向サブバンド変換手段は、２クロック毎に上記２次元配列上の上記Ｘ方向に並んだ所定数の元データが入力され、入力されたＸ方向に並んだ所定数のデータに基づき１つのＸ方向低域データ及び１つのＸ方向高域データを１クロック毎に交互に算出する。
【００１５】
Ｙ方向サブバンド変換手段は、上記２次元配列されたＸ方向低域データに対するＹ方向の低域成分であるＸ方向低域Ｙ方向低域データ、上記２次元配列されたＸ方向低域データに対するＹ方向の高域成分であるＸ方向低域Ｙ方向高域データ、上記２次元配列されたＸ方向高域データに対するＹ方向の低域成分であるＸ方向高域Ｙ方向低域データ、及び、上記２次元配列されたＸ方向高域データに対するＹ方向の高域成分であるＸ方向高域Ｙ方向高域データを算出し、２次元配列されたＸ方向低域Ｙ方向低域データ、Ｘ方向低域Ｙ方向高域データ、及び、Ｘ方向高域Ｙ方向低域データ、Ｘ方向高域Ｙ方向高域データを出力する。
【００１６】
このＹ方向サブバンド変換手段は、２クロック毎に上記２次元配列上の上記Ｙ方向に並んだ所定数のＸ方向低域データ又はＸ方向高域データが交互に入力され、入力されたＹ方向に並んだ所定数のＸ方向低域データに基づき１つのＸ方向低域Ｙ方向低域データ及び１つのＸ方向低域Ｙ方向高域データを算出し、入力されたＹ方向に並んだＸ方向高域データに基づき１つのＸ方向高域Ｙ方向低域データ及び１つのＸ方向高域Ｙ方向高域データを算出する。
【００１７】
制御手段は、Ｘ方向サブバンド変換手段及びＹ方向サブバンド変換手段に入力するデータを制御する。
【００１８】
さらに、上記制御手段は、Ｘ方向に並んだ上記所定数の元データをＹ方向に上記Ｘ方向サブバンド変換手段に入力する。また、上記制御手段は、上記Ｘ方向サブバンド変換手段から出力されるデータをクロックに基づいて遅延させる遅延回路と、上記遅延回路によりそれぞれ遅延されたデータを、２クロック毎に異なるタイミングで切り換えて上記Ｙ方向に並んだ所定数のデータを上記Ｙ方向サブバンド変換手段へ出力する切換手段とを備える。上記遅延回路は、上記Ｘ方向サブバンド変換手段から１クロック毎に交互に出力される１つのＸ方向低域データ及び１つのＸ方向高域データを、上記遅延回路が出力順序に従って順次遅延させ、奇数クロック分遅延させて上記Ｙ方向に並んだ所定数のデータ列、及び、偶数クロック分遅延されて上記Ｙ方向に並んだ所定数のデータ列をそれぞれ切換手段へ出力する。そして、上記切換手段は、上記奇数クロック分遅延されて上記Ｙ方向に並んだ所定数のデータ列、及び、偶数クロック分遅延されて上記Ｙ方向に並んだ所定数のデータ列を、２クロック毎に異なるタイミングで、それぞれ交互に上記Ｙ方向サブバンド変換手段へ出力する。
【００１９】
以上のような本発明にかかる２次元サブバンド符号化装置では、Ｘ方向及びＹ方向に２次元配列された元データに対して、Ｘ方向サブバンド変換手段がＸ方向へのサブバンド変換を行い、Ｙ方向サブバンド変換手段がＹ方向へのサブバンド変換を行うことにより、２次元のサブバンド変換が行われる。
【００２０】
Ｘ方向サブバンド変換手段には、算出結果であるＸ方向低域データ及びＹ方向低域データの出力データ列が、２クロック毎に異なるタイミングで２次元配列上のＹ方向に出力されるように、２次元配列された元データがＸ方向サブバンド変換手段に対して入力される。
【００２１】
さらに、２次元サブバンド符号化装置では、Ｘ方向低域データに対するＹ方向へのサブバンド変換、及び、Ｘ方向高域データに対するＹ方向へのサブバンド変換が、Ｙ方向サブバンド変換手段により行われる。
【００２２】
Ｘ方向サブバンド変換手段から出力されるＸ方向低域データ及びＸ方向高域データは、出力順序に従って順次遅延される。そして、奇数クロック分遅延されて上記Ｙ方向に並んだ所定数のデータ列、及び、偶数クロック分遅延されて上記Ｙ方向に並んだ所定数のデータ列は、２クロック毎に異なるタイミングでＹ方向サブバンド変換手段に出力される。すなわち、Ｙ方向サブバンド変換手段には、Ｘ方向低域データ及びＸ方向高域データのデータ列が、Ｘ方向サブバンド変換手段からの出力順序に従い、即ち、順次入力される。また、Ｙ方向サブバンド変換手段は、Ｘ方向低域データに対するサブバンド変換及びＸ方向高域データに対するサブバンド変換の両者を行うが、Ｘ方向低域データに対する変換処理とＹ方向低域データに対する変換処理を交互に行っていく。
【００２３】
また、本発明にかかる２次元サブバンド符号化装置では、例えば、２次元のサブバンド変換の変換方式として、５×３のリフティング方式のウェーブレット変換を適用することが可能である。
【００２４】
この場合、Ｘ方向サブバンド変換手段及びＹ方向サブバンド変換手段に対する入力データを制御する制御手段には、Ｘラインバッファと、Ｙ方向高域データバッファを備えさせる。
【００２５】
Ｘラインバッファは、上記Ｘ方向サブバンド変換手段から出力されたＸ方向高域データを、Ｙ方向の１ライン分保持する。Ｙ方向高域データバッファは、上記Ｙ方向サブバンド変換手段から出力された上記Ｘ方向低域Ｙ方向高域データ及びＸ方向高域Ｙ方向高域データを、それぞれ１データずつ保持する。
【００２６】
そして、制御手段は、Ｘ方向に並んだ３つの元データをＸ方向サブバンド変換手段に入力するとともに、Ｙ方向の１ライン前に出力されたＸ方向高域データを上記Ｘラインバッファから読み出してＸ方向サブバンド変換手段に入力する。また、制御手段は、Ｙ方向にそれぞれ１ライン分のＸ方向低域データ及びＸ方向高域データを出力したのち、上記Ｘ方向に並んだ３つの元データをＸ方向に２データ分シフトさせて上記Ｘ方向サブバンド変換手段に入力する。
【００２７】
さらに、制御手段は、Ｘ方向低域データに対するＹ方向へのサブバンド変換を行う場合には、Ｙ方向に並んだ３つのＸ方向低域データをＹ方向サブバンド変換手段に入力するとともに、１データ前のＸ方向低域Ｙ方向高域データを上記Ｙ方向高域データバッファから読み出してＹ方向サブバンド変換手段に入力する。制御手段は、Ｘ方向高域データに対するＹ方向へのサブバンド変換を行う場合には、Ｙ方向に並んだ３つのＸ方向高域データをＹ方向サブバンド変換手段に入力するとともに、１データ前のＸ方向高域Ｙ方向高域データを上記Ｙ方向高域データバッファから読み出してＹ方向サブバンド変換手段に入力する。さらに、制御手段は、上記Ｘ方向サブバンド変換手段から出力されたＸ方向低域データ及びＸ方向高域データをそれぞれ３つのデータ毎にＹ方向に２データずつシフトさせて上記Ｙ方向サブバンド変換手段に入力する。
【００２８】
【発明の実施の形態】
以下、本発明の実施の形態として、本発明を適用した５×３のウェーブレット変換処理を行う２次元ウェーブレット変換装置について説明をする。
【００２９】
（処理対象データ及び全体構成）
本発明の実施の形態の２次元ウェーブレット変換装置の処理対象となる元画像データは、垂直方向（Ｘ方向）の画素数がｍ個、水平方向（Ｙ方向）の画素数がｎ個で構成され、ｍ×ｎの２次元マトリクス状に各データが配置されることにより意味を有するデータである。本実施の形態の説明では、図１に示すように、元画像データを構成する各画素をＰｘｙで表す。また、本実施の形態の説明では、図２に示すように、元画像データを垂直方向にウェーブレット変換した後の低域成分の係数データをＬｘｙ、高域成分の係数データをＨｘｙで表す。さらに、本実施の形態の説明では、図３に示すように、元画像データを垂直方向及び水平方向に２次元ウェーブレット変換した後の水平方向低域成分−垂直方向低域成分の係数データをＬＬｘｙ、水平方向高域成分−垂直方向低域成分の係数データをＨＬｘｙ、水平方向低域成分−垂直方向高域成分の係数データをＬＨｘｙ、水平方向高域成分−垂直方向高域成分の係数データをＨＨｘｙで表す。なお、各係数データの上付き添え字であるｘは、２次元マトリクス上の垂直方向の画素位置（１≦ｘ≦ｍ）を示し、各係数データの下付き添え字であるｙは水平方向の画素位置（１≦ｙ≦ｎ）示す。
【００３０】
図４は、本実施の形態の２次元ウェーブレット変換装置１０のブロック構成図である。
【００３１】
本発明の実施の形態の２次元ウェーブレット変換装置１０は、図４に示すように、垂直方向ウェーブレット変換部１１と、水平方向ウェーブレット変換部１２と、水平ラインフィードバックバッファ１５と、転送部１６と、高域係数フィードバックバッファ１７とを備えて構成されている。
【００３２】
（ウェーブレット変換部）
まず、垂直方向ウェーブレット変換部１１及び水平方向ウェーブレット変換部１２について説明をする。
【００３３】
垂直方向ウェーブレット変換部１１及び水平方向ウェーブレット変換部１２は、図５に示すように、１次元に並べられた画像データストリーム（或いは係数データストリーム）が順次入力されていくことによって、低域係数のデータストリームと、高域成分のデータストリームを出力するリフティング方式のフィルタ演算が可能な回路である。リフティング方式によるウェーブレット変換では、通常、一回のフィルタ演算で１つの低域係数と１つの高域係数が算出される。リフティング方式によるウェーブレット変換では、元データストリームの先頭画素から最終画素までフィルタ演算を順番に行っていき、高域データストリーム及び低域データストリームを生成する。例えば、５×３可逆ウェーブレット変換では、元データストリームを２データずつステップさせながら、５×３可逆フィルタ演算を行って、高域データストリームと低域データストリームとを生成する。
【００３４】
図６に、低域データストリーム中のｘ番目の低域係数“Ｌｘ”及び高域係数のデータストリーム中のｘ番目の高域係数“Ｈｘ”を求める５×３可逆フィルタ演算の模式図を示す。
【００３５】
５×３可逆フィルタ演算では、“Ｌｘ”及び“Ｈｘ”を求める場合、元画像データのストリーム中の２ｘ−１番目の元画像データ“Ｐ２ｘ−１”、２ｘ番目の元画像データ“Ｐ２ｘ”及び２ｘ＋１番目の元画像データ“Ｐ２ｘ＋１”、並びに、高域係数データのデータストリーム中のｘ−１番目の高域係数“Ｈｘ−１”を、フィルタに入力する。なお、Ｈｘ−１は、元画像データのストリームに対して順次フィルタ演算を行っていった際の一回前のフィルタ演算処理時に求められている高域係数である。
【００３６】
そして、５×３可逆フィルタ演算では、これらの入力データに基づき以下の演算を行う。
Ｌｘ＝Ｐ２ｘ−１＋｛（Ｈｘ−１＋Ｈｘ＋２）＞＞２｝・・・（式１−１）
Ｈｘ＝Ｐ２ｘ−｛（Ｐ２ｘ−１＋Ｐ２ｘ＋１）＞＞１｝ ・・・（式１−２）
なお、上記演算式の“Ｘ＞＞Ｙ”は、２進数の数値Ｘを、Ｙビット分算術右シフト演算することを表している。
【００３７】
ここで、Ｉ０＝Ｈｘ−１，Ｉ１＝Ｐ２ｘ−１，Ｉ２＝Ｐ２ｘ，Ｉ３＝Ｐ２ｘ＋１，Ｏ０＝Ｌｘ，ｄｎｆ＝Ｈｘ＝と置き換えた場合、上記の演算式は以下のように書き換えられる。
Ｏ０＝Ｉ１＋｛（Ｉ０＋Ｏ１＋２）＞＞２｝ ・・・（式２−１）
Ｏ１＝Ｉ２−｛（Ｉ１＋Ｉ３）＞＞１｝ ・・・（式２−２）
垂直方向ウェーブレット変換部１１及び水平方向ウェーブレット変換部１２は、以上の（式２−１）（式２−２）のフィルタ演算を行う回路である。
【００３８】
図７に、上記（式２−１），（式２−２）の演算を行う垂直方向ウェーブレット変換部１１及び水平方向ウェーブレット変換部１２の回路構成図を示す。
【００３９】
垂直方向ウェーブレット変換部１１及び水平方向ウェーブレット変換部１２には、入力端子Ｉ０，入力端子Ｉ１，入力端子Ｉ２，入力端子Ｉ３が設けられている。入力端子Ｉ０，Ｉ１，Ｉ２，Ｉ３には、（式２−１），（式２−２）で示したデータＩ０，Ｉ１，Ｉ２，Ｉ３が入力される。垂直方向ウェーブレット変換部１１及び水平方向ウェーブレット変換部１２には、出力端子Ｏ０，出力端子Ｏ１が設けられている。出力端子Ｏ０，Ｏ１には、（式２−１），（式２−２）で示したデータＯ０，Ｏ１が出力される。
【００４０】
垂直方向ウェーブレット変換部１１及び水平方向ウェーブレット変換部１２は、第１の加算器２１と、第２の加算器２２と、第３の加算器２３と、第４の加算器２４と、第１のビットシフタ２５と、第２のビットシフタ２６と、第１のフリップフロップ２７と、第２のフリップフロップ２８と、第３のフリップフロップ２９とを備えて構成される。
【００４１】
第１の加算器２１は、入力端子Ｉ１から入力されたデータＩ１と、入力端子Ｉ３から入力されたデータＩ３とを加算する。第１のビットシフタ２５は、第１の加算器２１の出力データを１ビット分算術右シフトする。第２の加算器２２は、入力端子Ｉ２から入力されたデータＩ２から、第１のビットシフタ２５の出力データとを減算する。このため、第２の加算器２２からは、上記（式２−１）で示したデータＯ１が出力される。このデータＯ１は、出力端子Ｏ１を介して外部に出力される。
【００４２】
第１のフリップフロップ２７は、第２の加算器２２から出力されたデータＯ１を１クロック分遅延して、第３の加算器２３に供給する。第２のフリップフロップ２８は、入力端子Ｉ１から入力されたデータＩ１を１クロック分遅延して、第４の加算器２４に供給する。第３の加算器２３は、入力端子Ｉ０から入力されたデータＩ０と、第１のフリップフロップ２７から出力されたデータＯ１と、数値“２”とを加算する。第２のビットシフタ２６は、第３の加算器２３の出力データを２ビット分算術左シフトする。第４の加算器２４は、第２のビットシフタ２６の出力データと、第２のフリップフロップ２８により１クロック分遅延されたデータＩ１とを加算する。このため、第４の加算器２４からは、上記（式２−２）で示したデータＯ０が出力される。そして、第４の加算器２４から出力されたデータＯ０は、第３のフリップフロップ２９により１クロック分遅延され、出力端子Ｏ０を介して外部へ出力される。
【００４３】
垂直方向ウェーブレット変換部１１及び水平方向ウェーブレット変換部１２は、以上のような構成により、５×３のフィルタ演算を行う。従って、垂直方向ウェーブレット変換部１１及び水平方向ウェーブレット変換部１２は、１回のフィルタ演算で１つの低域成分Ｏ０と１つの高域成分Ｏ１を算出することができる。なお、この垂直方向ウェーブレット変換部１１及び水平方向ウェーブレット変換部１２では、２クロックで１回のフィルタ演算が行われる。１クロック目で高域成分Ｏ１が出力され、２クロック目で低域成分Ｏ０が出力される。
【００４４】
（垂直方向ウェーブレット変換部１１のデータの入出力順序）
つぎに、垂直方向ウェーブレット変換部１１への元画像データＰの入力順序、並びに、垂直方向ウェーブレット変換部１１により算出された垂直方向の低域係数（Ｌ係数）及び垂直方向の高域係数（Ｈ係数）の出力順序について説明をする。
【００４５】
垂直方向ウェーブレット変換部１１は、図１に示した２次元マトリクス状の元画像データに対して、垂直方向の１次元のウェーブレット変換を行い、図２に示した２次元マトリクス状のＬ係数及びＨ係数を出力する。
【００４６】
垂直方向ウェーブレット変換部１１には、算出したＬ係数及びＨ係数が、図８に示すように、水平方向にそれぞれ１画素ずつ順次出力されていくように、元画像データＰが入力される。つまり、垂直方向ウェーブレット変換部１１は、垂直方向のフィルタ演算処理を、元画像データＰに対して水平方向にスキャンしながら行っていく。垂直方向ウェーブレット変換部１１に入力される元画像データＰは、例えば、元画像データＰをメモリ等から読み出すメモリコントローラ等により、入力タイミングが制御される。
【００４７】
具体的な元画像データＰの入力順序は以下のようになる。
【００４８】
まず、元画像データＰの第１ライン、第２ライン及び第３ラインの３つの水平ラインを、水平方向に順番にＩ１、Ｉ２、Ｉ３端子へ入力する。具体的に示すと、図９に示すように、｛Ｉ１，Ｉ２，Ｉ３｝に対して、｛Ｐ１１，Ｐ２１，Ｐ３１｝→｛Ｐ１２，Ｐ２２，Ｐ３２｝→｛Ｐ１３，Ｐ２３，Ｐ３３｝→｛Ｐ１４，Ｐ２４，Ｐ３４｝→…→｛Ｐ１ｎ−１，Ｐ２ｎ−１，Ｐ３ｎ−１｝→｛Ｐ１ｎ，Ｐ２ｎ，Ｐ３ｎ｝
といった順で元画像データＰを入力する。この結果、図１０に示すように、Ｏ０端子から第１ラインのＬ係数が、Ｌ１１，Ｌ１２，Ｌ１３，Ｌ１４，・・・，Ｌ１ｎ−１，Ｌ１ｎといった順序で出力され、Ｏ１端子から第２ラインのＨ係数が、Ｈ２１，Ｈ２２，Ｈ２３，Ｈ２４，・・・，Ｈ２ｎ−１，Ｈ２ｎといった順序で出力される。
【００４９】
Ｌ係数及びＨ係数のそれぞれ最初のラインの垂直方向のウェーブレット変換を終了すると、続いて、Ｌ係数及びＨ係数の次のラインの算出に移る。
【００５０】
Ｌ係数の第３ライン、Ｈ係数の第４ラインは、垂直方向ウェーブレット変換部１１に対して入力する元画像データＰのラインを２ステップ分垂直方向に移動することにより、算出される。すなわち、元画像データＰの３ライン、４ライン及び５ラインを垂直方向ウェーブレット変換部１１に入力する。具体的に示すと、図１１に示すように、｛Ｉ１，Ｉ２，Ｉ３｝に対して、｛Ｐ３１，Ｐ４１，Ｐ５１｝→｛Ｐ３２，Ｐ４２，Ｐ５２｝→｛Ｐ３３，Ｐ４３，Ｐ５３｝→｛Ｐ３４，Ｐ４４，Ｐ５４｝→…→｛Ｐ３ｎ−１，Ｐ４ｎ−１，Ｐ５ｎ−１｝→｛Ｐ３ｎ，Ｐ４ｎ，Ｐ５ｎ｝
といった順で元画像データＰを入力する。この結果、図１２に示すように、Ｏ０端子から第３ラインのＬ係数が、Ｌ３１，Ｌ３２，Ｌ３３，Ｌ３４，…，Ｌ３ｎ−１，Ｌ３ｎといった順序で出力され、Ｏ１端子から第４ラインのＨ係数がＨ４１，Ｈ４２，Ｈ４３，Ｈ４４，…，Ｈ４ｎ−１，Ｈ４ｎといった順序で出力される。
【００５１】
以後、垂直方向に並んだ３画素を１セットとして元画像データＰを水平方向に順次に入力し、水平方向に対する１ライン分のフィルタ演算が終了すると、入力するラインを２ステップ分垂直方向にずらして入力し、最終のＬ係数及びＨ係数までフィルタ演算処理を行っていく。
【００５２】
なお、垂直方向ウェーブレット変換部１１では、リフティング方式の５×３のフィルタ演算を行ってＬ係数及びＨ係数を算出している。リフティング方式の５×３のフィルタ演算を行って低域係数Ｌｘｘ及び高域係数Ｈｘｘを算出するには、垂直方向の１画素前の高域係数であるＨｘｘ−１をＩ０端子に入力する必要がある。ここで、垂直方向ウェーブレット変換部１１のように、２次元マトリクス状の元画像データＰを水平方向に順次入力して、垂直方向のウェーブレット変換を行った場合には、垂直方向の１画素前の高域データは、１水平ライン前に算出されていることとなる。従って、本２次元ウェーブレット変換装置１０では、水平ラインフィードバックバッファ１５を設けて、１水平ライン前に出力されている高域係数Ｈをフィードバックすることにより、リフティング方式の５×３のフィルタ演算を可能としている。
【００５３】
水平ラインフィードバックバッファ１５は、垂直方向ウェーブレット変換部１１から出力されたＨ係数を、１水平ライン期間保持するＲＡＭである。すなわち、垂直方向ウェーブレット変換部１１が２クロック期間で１回の演算処理を行うので、水平ラインフィードバックバッファ１５は、２×ｎクロック期間、出力されたＨ係数を保持することになる。ここで、ｎは元画像データの水平方向の画素数である。水平ラインフィードバックバッファ１５から出力される１水平ライン前のＨ係数は、垂直方向ウェーブレット変換部１１のＩ０端子に入力される。すなわち、Ｈ係数は、図２に示す２次元マトリクスを、水平方向にスキャンする順序で、垂直方向ウェーブレット変換部１１に入力されることとなる。
【００５４】
図１３に、垂直方向ウェーブレット変換部１１へ入力される元画像データＰ及び１水平ライン前のＨ係数の入力タイミング、並びに、垂直方向ウェーブレット変換部１１から出力されるＬ係数及びＨ係数の出力タイミングを示す。
【００５５】
この図１３に示すように、垂直方向ウェーブレット変換部１１では、２クロックで１回の演算処理が行われる。つまり、垂直方向ウェーブレット変換部１１は、２クロックで、１つのＬ係数及び１つのＨ係数を算出する。なお、Ｌ係数は、Ｈ係数に対して１クロックタイミング遅延して出力される。
【００５６】
（水平方向ウェーブレット変換部１２のデータの入出力順序）
つぎに、水平方向ウェーブレット変換部１２へのＬ係数及びＨ係数の入力順序、並びに、水平方向ウェーブレット変換部１２により算出されたＬＬ係数、ＨＬ係数、ＬＨ係数並びにＨＨ係数の出力順序について説明をする。
【００５７】
水平方向ウェーブレット変換部１２は、図２に示した２次元マトリクス状に配置されるＬ係数及びＨ係数に対して、水平方向に１次元のウェーブレット変換を行い、図３に示した２次元マトリクス状に配置されるＬＬ係数、ＨＬ係数、ＬＨ係数並びにＨＨ係数を出力する。
【００５８】
水平方向ウェーブレット変換部１２は、垂直方向ウェーブレット変換部１１から出力されたＬ係数及びＨ係数に対して、水平方向のウェーブレット変換を行う。垂直方向ウェーブレット変換部１１から出力されたＬ係数及びＨ係数は、一旦転送部１６に入力される。この転送部１６は、データ入力タイミングを制御して、Ｌ係数及びＨ係数を水平方向ウェーブレット変換部１２に入力する。
【００５９】
ここで、水平方向ウェーブレット変換部１２は、Ｌ係数に対する水平方向へのフィルタ演算処理と、Ｈ係数に対する水平方向へのフィルタ演算処理との２種類の係数に対する演算処理が行われる。そのため、水平方向ウェーブレット変換部１２には、Ｌ係数に対するフィルタ演算処理とＨ係数に対するフィルタ演算処理とが、１回ずつ交互に行われるように、転送部１６により転送タイミングが制御されて、Ｌ係数及びＨ係数が入力される。さらに、水平方向ウェーブレット変換部１２には、Ｌ係数及びＨ係数がそれぞれ水平方向に順次入力される。すなわち、図８に示した垂直方向ウェーブレット変換部１１の出力順序どおりに、Ｌ係数及びＨ係数が入力される。
【００６０】
つまり、水平方向ウェーブレット変換部１２では、水平方向に対するフィルタ演算処理をＬ係数及びＨ係数に対して水平方向にスキャンしながら行っていくとともに、Ｌ係数に対するフィルタ演算処理とＨ係数に対するフィルタ演算処理とを１回ごと交互に行っていく。
【００６１】
具体的なＬ係数及びＨ係数の入力順序は以下のようになる。
【００６２】
まず、水平方向に並んだ先頭の３つのＨ係数をＩ１、Ｉ２、Ｉ３端子へ入力する。具体的に示すと、図１４に示すように｛Ｉ１，Ｉ２，Ｉ３｝に対して｛Ｈ２１，Ｈ２２，Ｈ２３｝を入力する。この結果、図１５に示すように、Ｏ０端子からＬＨ２１が出力され、Ｏ１端子からＨＨ２２が出力される。続いて、水平方向に並んだ先頭の３つのＬ係数をＩ１、Ｉ２、Ｉ３端子へ入力する。具体的に示すと、図１４に示すように｛Ｉ１，Ｉ２，Ｉ３｝に対して、｛Ｌ１１，Ｌ１２，Ｌ１３｝を入力する。この結果、図１５に示すように、Ｏ０端子からＬＬ１１が出力され、Ｏ１端子からＨＬ１２が出力される。
【００６３】
次に、Ｈ係数及びＬ係数を、２ステップ分水平方向に移動させ、Ｉ１、Ｉ２、Ｉ３端子へ入力する。すなわち、入力する３つのデータを、垂直方向ウェーブレット変換部１１からの出力データのストリームの方向に対して、２データ分移動してＩ１、Ｉ２、Ｉ３端子へ入力する。具体的に示すと、図１６に示すように｛Ｉ１，Ｉ２，Ｉ３｝に対して、｛Ｈ２３，Ｈ２４，Ｈ２５｝を入力する。この結果、図１７に示すように、Ｏ０端子からＬＨ２３が出力され、Ｏ１端子からＨＨ２４が出力される。続いて、図１６に示すように｛Ｉ１，Ｉ２，Ｉ３｝に対して、｛Ｌ１３，Ｌ１４，Ｌ１５｝を入力する。この結果、図１７に示すように、Ｏ０端子からＬＬ１３が出力され、Ｏ１端子からＨＬ１４が出力される。
【００６４】
以後、水平方向に並んだ３つのＨ係数及び３つのＬ係数を１セットとして、水平方向に２ステップずつ移動させながら、Ｈ係数及びＬ係数に対する水平方向のフィルタ演算を交互に行っていく。そして、１水平ライン分のフィルタ演算処理が終了すと、垂直方向に１ライン分移動して、次のラインに対する水平方向のフィルタ演算を行い、最後の係数データが得られるまで処理を繰り返していく。
【００６５】
なお、水平方向ウェーブレット変換部１２では、リフティング方式の５×３のフィルタ演算を行ってＬＬ係数、ＨＬ係数、ＬＨ係数及びＨＨ係数を算出している。リフティング方式の５×３の水平方向のフィルタ演算を行って係数ＬＬｘｙ及び係数ＨＬｘｙを算出するには、水平方向の１画素前の高域係数であるＨＬｘｙ−２をＩ０端子に入力する必要がある。同様に、リフティング方式の５×３の水平方向のフィルタ演算を行って係数ＬＨｘｙ及び係数ＨＨｘｙを算出するには、水平方向の１画素前の高域係数であるＨＨｘｙ−２をＩ０端子に入力する必要がある。
【００６６】
ここで、水平方向ウェーブレット変換部１２のように、２次元マトリクス状のＬ係数及びＨ係数を水平方向に順次入力するとともに、Ｌ係数に対する水平方向の演算処理とＨ係数に対する水平方向の演算処理を交互に行う場合、水平方向の１画素前の高域係数は、それぞれ２回前の演算処理で求められている。従って、本２次元ウェーブレット変換装置１０では、高域係数フィードバックバッファ１７を設けて、２回前の演算処理で求められている高域係数ＨＨ，ＨＬをフィードバックすることにより、リフティング方式の５×３のフィルタ演算を可能としている。
【００６７】
高域係数フィードバックバッファ１７は、水平方向ウェーブレット変換部１２から出力された高域係数（ＨＬ係数及びＨＨ係数）を、２演算処理期間分保持するＦＩＦＯバッファである。すなわち、水平方向ウェーブレット変換部１２が２クロック期間で１回の演算処理を行うので、高域係数フィードバックバッファ１７は、２×２クロック期間、出力された高域係数（ＨＬ係数及びＨＨ係数）を保持する。高域係数フィードバックバッファ１７から出力される２演算処理前の高域係数（ＨＬ係数及びＨＨ係数）は、水平方向ウェーブレット変換部１２のＩ０端子に入力される。すなわち、高域係数（ＨＬ係数及びＨＨ係数）は、図３に示す２次元マトリクスを、水平方向にスキャンする順序で、水平方向ウェーブレット変換部１２に入力される。
【００６８】
図１８に、水平方向ウェーブレット変換部１２へ入力されるＬ係数及びＨ係数、及び、フィードバックされたＨＬ係数及びＨＨ係数の入力タイミング、並びに、水平方向ウェーブレット変換部１２から出力されるＬＬ係数、ＨＬ係数、ＬＨ係数及びＨＨ係数の出力タイミングを示す。
【００６９】
この図１８に示すように、水平方向ウェーブレット変換部１２では、２クロックで１回の演算処理が行われる。つまり、水平方向ウェーブレット変換部１２は、２クロックで１つのＬ係数及び１つのＨ係数を算出している。
【００７０】
（転送部）
つぎに、転送部１６について説明をする。
【００７１】
転送部１６は、垂直方向ウェーブレット変換部１１から出力されたＬ係数及びＨ係数を、水平方向ウェーブレット変換部１２の入力タイミングに合致させるように、データ転送タイミングを制御する部分である。
【００７２】
図１９に、転送部１６のブロック構成図を示す。転送部１６は、ＩＬ端子と、ＩＨ端子と、ＯＩ１端子と、ＯＩ２端子と、ＯＩ３端子とを備えている。
【００７３】
ＩＬ端子及びＩＨ端子は、転送部１６のデータ入力端子である。ＩＬ端子には、垂直方向ウェーブレット変換部１１のＯ０端子から出力されたデータが入力される。即ち、ＩＬ端子には、垂直方向ウェーブレット変換部１１から出力されたＬ係数が入力される。ＩＨ端子には、垂直方向ウェーブレット変換部１１のＯ１端子から出力されたデータが入力される。即ち、ＩＨ端子には、垂直方向ウェーブレット変換部１１から出力されたＨ係数が入力される。
【００７４】
ＯＩ１端子、ＯＩ２端子及びＯＩ３端子は、転送部１６のデータ出力端子である。ＯＩ１端子から出力されたデータは、水平方向ウェーブレット変換部１２のＩ１端子に入力される。ＯＩ２端子から出力されたデータは、水平方向ウェーブレット変換部１２のＩ２端子に入力される。ＯＩ３端子から出力されたデータは、水平方向ウェーブレット変換部１２のＩ３端子に入力される。
【００７５】
転送部１６は、１クロック分データを遅延させる第１から第９のフリップフロップ（Ｆ／Ｆ）３１〜３９と、２つの入力データを切り換えて一方のデータを出力する第１〜第３の切り換えスイッチ４１〜４３とを備えている。
【００７６】
第１のＦ／Ｆ３１には、ＩＬ端子を介して入力されたＬ係数が入力される。第２のＦ／Ｆ３２には、第１のＦ／Ｆ３１から出力されたＬ係数が入力される。第３のＦ／Ｆ３３には、第２のＦ／Ｆ３２から出力されたＬ係数が入力される。第４のＦ／Ｆ３４には、第３のＦ／Ｆ３３から出力されたＬ係数が入力される。第５のＦ／Ｆ３５には、第４のＦ／Ｆ３４から出力されたＬ係数が入力される。従って、第１のＦ／Ｆ３１からは、Ｌ係数がＩＬ端子に入力したタイミングから１クロック分遅延したＬ係数が出力され、第３のＦ／Ｆ３３からは、Ｌ係数がＩＬ端子に入力したタイミングから３クロック分遅延したＬ係数が出力され、第５のＦ／Ｆ３５からは、Ｌ係数がＩＬ端子に入力したタイミングから５クロック分遅延したＬ係数が出力される。
【００７７】
第６のＦ／Ｆ３６には、ＩＨ端子を介して入力されたＨ係数が入力される。第７のＦ／Ｆ３７には、第６のＦ／Ｆ３６から出力されたＨ係数が入力される。第８のＦ／Ｆ３８には、第７のＦ／Ｆ３７から出力されたＨ係数が入力される。第９のＦ／Ｆ３９には、第８のＦ／Ｆ３８から出力されたＨ係数が入力される。従って、第７のＦ／Ｆ３７からは、Ｈ係数がＩＨ端子に入力したタイミングから２クロック分遅延したＨ係数が出力され、第９のＦ／Ｆ３９からは、Ｈ係数がＩＨ端子に入力したタイミングから４クロック分遅延したＨ係数が出力される。
【００７８】
第１〜第３の切り換えスイッチ４１〜４３には、２つの入力端子（０端子，１端子）と、１つの出力端子とを有し、ｓｅｌｅｃｔｏｒ信号に応じて０端子又は１端子のいずれかが選択され、選択された端子に入力されたデータを出力する。
【００７９】
第１の切り換えスイッチ４１の０端子には、ＩＨ端子から出力されたＨ係数が入力される。すなわち、ＩＨ端子に入力されたＨ係数が遅延せずに入力される。第１の切り換えスイッチ４１の１端子には、第１のＦ／Ｆ３１から出力されたＬ係数が入力される。すなわち、ＩＬ端子に入力したタイミングから１クロック分遅延したＬ係数が入力される。第１の切り換えスイッチ４１の出力端子から出力されたデータは、ＯＩ１端子を介して、水平方向ウェーブレット変換部１２のＩ１端子に入力される。
【００８０】
第２の切り換えスイッチ４２の０端子には、第７のＦ／Ｆ３７から出力されたＨ係数が入力される。すなわち、ＩＬ端子に入力したタイミングから２クロック分遅延したＨ係数が入力される。第２の切り換えスイッチ４２の１端子には、第３のＦ／Ｆ３３から出力されたＬ係数が入力される。すなわち、ＩＬ端子に入力したタイミングから３クロック分遅延したＬ係数が入力される。第２の切り換えスイッチ４２の出力端子から出力されたデータは、ＯＩ２端子を介して、水平方向ウェーブレット変換部１２のＩ２端子に入力される。
【００８１】
第３の切り換えスイッチ４３の０端子には、第９のＦ／Ｆ３９ら出力されたＨ係数が入力される。すなわち、ＩＬ端子に入力したタイミングから４クロック分遅延したＨ係数が入力される。第３切り換えスイッチ４３の１端子には、第５のＦ／Ｆ３５から出力されたＬ係数が入力される。すなわち、ＩＬ端子に入力したタイミングから５クロック分遅延したＬ係数が入力される。第３の切り換えスイッチ４３の出力端子から出力されたデータは、ＯＩ３端子を介して、水平方向ウェーブレット変換部１２のＩ３端子に入力される。
【００８２】
図２０に、転送部１６に入力されるＬ係数及びＨ係数の入力タイミング、Ｓｅｒｅｃｔｏｒ信号の切り換えタイミング、転送部１６から出力されるＬ係数及びＨ係数の出力タイミングを示す。図２０に示すように、ｓｅｌｅｃｔｏｒ信号は、２クロック毎に、ハイとローを繰り返す。第１〜第３の切り換えスイッチ４１〜４３は、ｓｅｌｅｃｔｏｒ信号がハイ側にあるときには、１端子側に切り換えられ、ロー側にあるときには０端子側に切り換える。この結果、水平方向に連続している３つのＬ係数と、水平方向に連続している３つのＨ係数とが、２クロック毎交互にＯＩ１端子、ＯＩ２端子及びＯＩ３端子から出力される。また、さらに、ＯＩ１端子、ＯＩ２端子及びＯＩ３端子からは、水平方向に２ステップずつスライドしながら、Ｈ係数及びＬ係数が出力される。
【００８３】
（効果）
以上のように、本発明の実施の形態の２次元ウェーブレット変換装置１０では、垂直方向に対するウェーブレット変換を行う垂直方向ウェーブレット変換部１１と、水平方向に対するウェーブレット変換を行う水平方向ウェーブレット変換部１２とを設けている。
【００８４】
垂直方向ウェーブレット変換部１１には、水平方向にそれぞれ１画素ずつ順次出力されていくように、元画像データＰが入力される。つまり、垂直方向ウェーブレット変換部１１は、垂直方向のフィルタ演算処理を、元画像データＰに対して水平方向にスキャンしながら行っていく。また、水平方向ウェーブレット変換部１２では、水平方向に対するフィルタ演算処理をＬ係数及びＨ係数に対して水平方向にスキャンしながら行っていくとともに、Ｌ係数に対するフィルタ演算処理とＨ係数に対するフィルタ演算処理とを１回ごと交互に行っていく。
【００８５】
この結果、２次元ウェーブレット変換装置１０では、垂直方向ウェーブレット変換部１１と水平方向ウェーブレット変換部１２との間に、大容量のメモリを備えなくてもよく、回路規模が小さくなっている。さらに、２次元ウェーブレット変換装置１０では、垂直方向のウェーブレット変換処理と水平方向のウェーブレット変換処理とを並列処理しているので、処理を高速化することができる。
【００８６】
また、垂直方向ウェーブレット変換部１１には、水平ラインフィードバックバッファ１４が設けられているが、垂直方向ウェーブレット変換部１１が２クロックで１回の演算処理を行っているため、水平ラインフィードバックバッファ１４に対するリードとライトとを１クロック毎に交互に行うことができる。従って、水平ラインフィードバックバッファ１４をいわゆるデュアルポートタイプのメモリではなく、シングルポートタイプのメモリで構成することが可能となる。
【００８７】
（拡張方式）
つぎに、２次元ウェーブレット変換装置１０を再帰的に帯域分割を行う拡張したウェーブレット変換システムについて説明する。
【００８８】
図２１に、第１の拡張方式のウェーブレット変換システムのブロック構成図を示す。
【００８９】
第１の拡張方式のウェーブレット変換システム５０は、図２１に示すように、上述した２次元ウェーブレット変換装置１０と、入力切り換えスイッチ５１と、第１の入力バッファ５２と、第２の入力バッファ５３と、第１の係数メモリ５４と、第２の係数メモリ５５と、メモリ切り換えスイッチ５６とを備えて構成される。
【００９０】
入力切り換えスイッチ５１は、外部から入力される元画像データＰと、再帰的に帯域分割をする際の処理対象となるＬＬ係数とを切り換えるスイッチである。
【００９１】
第１の入力バッファ５２は、２次元ウェーブレット変換装置１０のＩ１端子に入力するデータを１水平ライン分保持するメモリである。
【００９２】
第２の入力バッファ５３は、２次元ウェーブレット変換装置１０のＩ２端子に入力するデータを１水平ライン分保持するメモリである。
【００９３】
第１の係数メモリ５４及び第２の係数メモリ５５は、２次元ウェーブレット変換装置１０から出力されたＬＬ係数を保持するメモリである。第１の係数メモリ５４は、ＬＬ係数のなかの奇数番目の水平ラインのデータを保持し、第２の係数メモリ５５は、ＬＬ係数のなかの偶数番目の水平ラインのデータを保持する。
【００９４】
メモリ切り換えスイッチ５６は、第１の係数メモリ５４と第２の係数メモリ５５とを切り換えるスイッチである。
【００９５】
この第１の拡張方式のウェーブレット変換システム５０の動作を説明する。
【００９６】
第１の拡張方式のウェーブレット変換システム５０では、まず、１回目のウェーブレット変換を行う。入力切り換えスイッチ５１は、元画像データＰ側に選択され、元画像データＰが、１水平ラインごとに入力される。第１の入力バッファ５２及び第２の入力バッファ５３によりデータタイミングが制御され、２次元ウェーブレット変換装置１０には、３ライン分の元画像データＰが順次入力されていく。
【００９７】
２次元ウェーブレット変換装置１０から出力された各係数のうち、水平方向ウェーブレット変換部１２のＯ０端子から出力されるＬＬ係数は、第１の係数メモリ５４及び第２の係数メモリ５５に入力される。第１の係数メモリ５４にはＬＬ係数のうちの奇数番目の水平ラインのデータが入力され、第２の係数メモリ５５にはＬＬ係数のうちの偶数版目の水平ラインのデータが入力される。すなわち、第１の係数メモリ５４と第２の係数メモリ５５とが１水平ラインごと交互に選択され、入力される。
【００９８】
第１の拡張方式のウェーブレット変換システム５０は、１回目のウェーブレット変換を終えると、２回目のウェーブレット変換を行う。
【００９９】
入力切り換えスイッチ５１は、ＬＬ係数側に選択され、係数メモリ５４，５５に格納されているＬＬ係数が１水平ラインごとに入力される。ここで、メモリ切り換えスイッチ５６の切り換え制御に応じて、係数メモリ５４，５５から奇数ライン、偶数ラインが１ライン毎に交互に読み出される。第１の入力バッファ５２及び第２の入力バッファ５３によりデータタイミングが制御され、２次元ウェーブレット変換装置１０には、３ライン分のＬＬ係数が順次入力されていく。
【０１００】
そして、２回目のウェーブレット変換時には、水平方向ウェーブレット変換部１２のＯ０端子から出力されるＬＬ係数は、第１の係数メモリ５４から奇数番目のラインを読み出しているときに、出力される。従って、２回目のウェーブレット変換時に出力されるＬＬ係数は、第２の係数メモリ５５に入力する。
【０１０１】
さらに、３回目のウェーブレット変換を行う場合には、ＬＬ係数を第２の係数メモリ５５から読み出し、出力されたＬＬ係数を第１の係数メモリ５４に格納する。
【０１０２】
このように、第１の拡張方式のウェーブレット変換システムでは、ＬＬ係数を格納するメモリが２つ備えられているので、再帰的に帯域分割をする際に、書き込みを行うメモリと、読み出しを行うメモリとを切り換えることが可能となる。そのため、この第１の拡張方式のウェーブレット変換システムでは、再帰分割をする際に演算結果を保持しておく係数メモリをシングルポートメモリで実現することが可能となり、ローコスト化を図ることができる。
【０１０３】
図２２に、第２の拡張方式のウェーブレット変換システムのブロック構成図を示す。
【０１０４】
第２の拡張方式のウェーブレット変換システム６０は、図２２に示すように、上述した２次元ウェーブレット変換装置１０と、入力切り換えスイッチ５１と、第１の入力バッファ５２と、第２の入力バッファ５３と、第１の係数メモリ５４と、第２の係数メモリ５５とを備えて構成される。
【０１０５】
この第２の拡張方式のウェーブレット変換システム６０では、第１の拡張方式のウェーブレット変換システム５０と比較して、２水平ラインが同時に入力されることが異なっている。この場合、より高速にデータ転送が可能となるため、第１の方式と比較して、より高速に変換を行うことができる。ただし、係数メモリ５４，５５には、２回目以降の再帰分割時であっても、奇数番目の水平ラインのＬＬ係数は常に第１の係数メモリ５４に入力し、偶数番目の水平ラインのＬＬ係数は常に第２の係数メモリ５５に入力する。
【０１０６】
図２３に、第３の拡張方式のウェーブレット変換システムのブロック構成図を示す。
【０１０７】
第３の拡張方式のウェーブレット変換システム７０は、最大の再帰分割数Ｎ（０以上の整数）が予め定められている場合に適用することができるシステムである。
【０１０８】
第３の拡張方式のウェーブレット変換システム７０は、図２３に示すように、上述した２次元ウェーブレット変換装置１０と同一構成のＮ個のウェーブレット変換装置１０−１〜１０−Ｎと、各ウェーブレット変換装置１０−１〜１０−Ｎに設けられる第１の入力バッファ５２−１〜５２−Ｎ及び第２の入力バッファ５３−１〜５３−Ｎとを備えて構成される。
【０１０９】
この第３の拡張方式のウェーブレット変換システム７０では、ウェーブレット変換装置１０−１〜１０−Ｎが直列に連結接続されている。
【０１１０】
すなわち、１段目の２次元ウェーブレット変換装置１０−１には、元画像データＰが第１の入力バッファ５２−１及び第２の入力バッファ５３−１を介して入力される。この１段目の２次元ウェーブレット変換装置１０−１からは、Ｎ（Ｌ）＝１の変換係数が出力される。
【０１１１】
２段目の２次元ウェーブレット変換装置１０−２には、１段目の２次元ウェーブレット変換装置１０−１から出力されたＬＬ係数が、第１の入力バッファ５２−２及び第２の入力バッファ５３−２を介して入力される。この２段目の２次元ウェーブレット変換装置１０−２からは、Ｎ（Ｌ）＝２の変換係数が出力される。
【０１１２】
そして、Ｎ段目の２次元ウェーブレット変換装置１０−Ｎには、Ｎ−１段目の２次元ウェーブレット変換装置１０−（Ｎ−１）から出力されたＬＬ係数が、第１の入力バッファ５２−Ｎ及び第２の入力バッファ５３−Ｎを介して入力される。このＮ段目の２次元ウェーブレット変換装置１０−Ｎからは、Ｎ（Ｌ）＝Ｎの変換係数が出力される。
【０１１３】
このように、Ｎ個の２次元ウェーブレット変換装置１０を連結接続することによって、係数メモリを備えることなく再帰分割を行うことが可能となり、さらに、各段の再帰分割処理を並列に処理することできるので、高速に処理を行うことができる。
【０１１４】
図２４に、第４の拡張方式のウェーブレット変換システムのブロック構成図を示す。
【０１１５】
第４の拡張方式のウェーブレット変換システム８０は、図２４に示すように、上述した２次元ウェーブレット変換装置１０と同一構成のＮ個のウェーブレット変換装置１０−１〜１０−Ｎと、各ウェーブレット変換装置１０−１〜１０−Ｎに設けられる第１の入力バッファ５２−１〜５２−Ｎ及び第２の入力バッファ５３−１〜５３−Ｎとを備えて構成される。
【０１１６】
この第４の拡張方式のウェーブレット変換システム８０では、第３の拡張方式のウェーブレット変換システム７０と比較して、元画像データＰが２水平ラインが同時に入力されることが異なっている。この場合、より高速にデータ転送が可能となるため、第３の方式と比較して、より高速に変換を行うことができる。
【０１１７】
以上第１〜第４の拡張方式について説明をしたが、例えば、第１と第３の拡張方式を組み合わせてもよいし、第２と第４の拡張方式を組み合わせても良い。すなわち、２次元ウェーブレット変換装置１０を複数段直列接続するとともに、その直列接続した最後の段のウェーブレット変換装置１０の出力のＬＬ成分を、再度第１段目の２次元ウェーブレット変換装置１０にフィードバックする構成としてもよい。
【０１１８】
【発明の効果】
本発明にかかる２次元サブバンド符号化装置では、Ｘ方向及びＹ方向に２次元配列された元データに対して、Ｘ方向サブバンド変換手段がＸ方向へのサブバンド変換を行い、Ｙ方向サブバンド変換手段がＹ方向へのサブバンド変換を行うことにより、２次元のサブバンド変換が行われる。
【０１１９】
Ｘ方向サブバンド変換手段には、Ｘ方向低域データ及びＹ方向低域データのデータ列が、２クロック毎に異なるタイミングで、Ｙ方向に順番に出力されるように、２次元配列された元データがＸ方向サブバンド変換手段に対して入力される。
【０１２０】
さらに、２次元サブバンド符号化装置では、Ｘ方向低域データに対するＹ方向へのサブバンド変換、及び、Ｘ方向高域データに対するＹ方向へのサブバンド変換が、Ｙ方向サブバンド変換手段により行われる。
【０１２１】
Ｘ方向サブバンド変換手段から出力されるＸ方向低域データ及びＸ方向高域データは、上記遅延回路によりクロックに基づいて遅延される。奇数クロック分遅延されて上記Ｙ方向に並んだ所定数のデータ列、及び、偶数クロック分遅延されて上記Ｙ方向に並んだ所定数のデータ列は、２クロック毎に異なるタイミングでＹ方向サブバンド変換手段に出力される。すなわち、Ｙ方向サブバンド変換手段には、Ｘ方向低域データ及びＸ方向高域データのデータ列が、Ｘ方向サブバンド変換手段からの出力順序に従い、即ち、Ｙ方向に順次入力される。また、Ｙ方向サブバンド変換手段は、Ｘ方向低域データに対するサブバンド変換及びＸ方向高域データに対するサブバンド変換の両者を行うが、Ｘ方向低域データに対する変換処理とＹ方向低域データに対する変換処理を交互に行っていく。
【０１２２】
このことにより、本発明にかかる２次元サブバンド符号化装置では、Ｘ方向サブバンド変換手段から出力されるデータを、それぞれ所定のクロック数遅延させて、異なるタイミングでＹ方向サブバンド変換手段に入力し、その出力順に従ってＹ方向サブバンド変換手段が変換処理を行っていけばよい。従って、Ｘ方向サブバンド変換手段とＹ方向サブバンド変換手段との間に、２次元配列されたデータを保持するメモリを備えなくてもよく、さらに、変換時間を短くすることができる。
【図面の簡単な説明】
【図１】元画像データの配列を説明するための図である。
【図２】元画像データに対して垂直方向のウェーブレット変換をしたのちの係数データの配列を説明するための図である。
【図３】元画像データに対して２次元のウェーブレット変換をしたのちの係数データの配列を説明するための図である。
【図４】本発明の実施の形態の２次元ウェーブレット変換装置のブロック構成図である。
【図５】１次元のウェーブレット変換を説明するための図である。
【図６】５×３可逆フィルタ演算を説明するための図である。
【図７】垂直方向ウェーブレット変換部及び水平方向ウェーブレット変換部の回路図である。
【図８】垂直方向ウェーブレット変換部から出力される係数の出力順序を説明するための図である。
【図９】垂直方向ウェーブレット変換部に対する元画像データの入力順序について説明するための図である。
【図１０】図９で示した順序で元画像データを垂直方向ウェーブレット変換部に入力した場合の係数の出力順序を示す図である。
【図１１】図９で示した元画像データを入力した後の垂直方向ウェーブレット変換部へのデータの入力順序について説明するための図である。
【図１２】図１１で示した順序で元画像データを垂直方向ウェーブレット変換部に入力した場合の係数の出力順序を示す図である。
【図１３】水平方向ウェーブレット変換部のデータ入出力タイミングを示す図である。
【図１４】水平方向ウェーブレット変換部に対する元画像データの入力順序について説明するための図である。
【図１５】図１４で示した順序で元画像データを垂直方向ウェーブレット変換部に入力した場合の係数の出力順序を示す図である。
【図１６】図１４で示した元画像データを入力した後の水平方向ウェーブレット変換部へのデータの入力順序について説明するための図である。
【図１７】図１６で示した順序で元画像データを水平方向ウェーブレット変換部に入力した場合の係数の出力順序を示す図である。
【図１８】水平方向ウェーブレット変換部のデータ入出力タイミングを示す図である。
【図１９】転送部の回路構成図である。
【図２０】転送部のデータ入出力タイミングを示す図である。
【図２１】第１の拡張方式のウェーブレット変換システムのブロック構成図である。
【図２２】第２の拡張方式のウェーブレット変換システムのブロック構成図である。
【図２３】第３の拡張方式のウェーブレット変換システムのブロック構成図である。
【図２４】第４の拡張方式のウェーブレット変換システムのブロック構成図である。
【図２５】２次元ウェーブレット変換の処理手順を説明するための図である。
【図２６】２次元ウェーブレット変換の再帰的な帯域分割を説明するための図である。
【図２７】１次元ウェーブレット変換器のブロック構成図である。
【図２８】２次元ウェーブレット変換器のブロック構成図である。
【符号の説明】
１０  ２次元ウェーブレット変換装置、１１  垂直方向ウェーブレット変換部、１２  水平方向ウェーブレット変換部、１５  水平ラインフィードバックバッファ、１６  転送部、１７  高域係数フィードバックバッファ
【図１】
0003855827.tif 000002
【図２】
0003855827.tif 000003
【図３】
0003855827.tif 000004
【図４】
0003855827.tif 000005
【図５】
0003855827.tif 000006
【図６】
0003855827.tif 000007
【図７】
0003855827.tif 000008
【図８】
0003855827.tif 000009
【図９】
0003855827.tif 000010
【図１０】
0003855827.tif 000011
【図１１】
0003855827.tif 000012
【図１２】
0003855827.tif 000013
【図１３】
0003855827.tif 000014
【図１４】
0003855827.tif 000015
【図１５】
0003855827.tif 000016
【図１６】
0003855827.tif 000017
【図１７】
0003855827.tif 000018
【図１８】
0003855827.tif 000019
【図１９】
0003855827.tif 000020
【図２０】
0003855827.tif 000021
【図２１】
0003855827.tif 000022
【図２２】
0003855827.tif 000023
【図２３】
0003855827.tif 000024
【図２４】
0003855827.tif 000025
【図２５】
0003855827.tif 000026
【図２６】
0003855827.tif 000027
【図２７】
0003855827.tif 000028
【図２８】
0003855827.tif 000029