(57)【要約】【課題】ウェーブレット逆変換処理の遅延時間をより低減することができるようにする。【解決手段】制御部１０１は、合成フィルタ処理により得られた２ラインの係数データのうち、一方の１ラインを保持しておき、他方の１ラインについてさらに合成フィルタ処理行うように、最上位レベルから最下位レベルまで合成フィルタ処理を繰り返し、さらに、保持した係数データについては、より下位レベルの係数データから優先的に合成フィルタ処理を行うようにすることにより、ベースバンドの画像データを２ラインずつ生成するように各部を制御する。本発明は、例えば、デジタルトライアックスシステムに適用することができる。【選択図】図５
2008288836.tif 000002
【特許請求の範囲】
【請求項１】
画像データに対して、前記画像データの周波数成分を高域成分と低域成分に分割する分析フィルタ処理が階層的になされ、複数の周波数帯域に分割された前記画像データの周波数成分に対して、互いに同じ分割レベルの周波数帯域の周波数成分を合成する合成フィルタ処理を行う合成フィルタ処理手段と、
前記合成フィルタ処理手段により行われる前記合成フィルタ処理により生成される１つ下位の分割レベルの周波数成分を保持する周波数成分保持手段と、
前記合成フィルタ処理手段に、前記画像データを画像の上から順に２ラインずつ復元するような順序で、前記周波数成分保持手段により保持された各周波数成分に対して前記合成フィルタ処理を再帰的に行わせる制御手段と
を備える情報処理装置。
【請求項２】
前記周波数成分保持手段は、前記周波数成分を、前記周波数成分の分割レベル毎に互いに独立して保持する
請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記合成フィルタ処理手段に、前記周波数成分保持手段により保持されている前記周波数成分のうち、より下位のレベルの周波数成分に対する合成フィルタ処理を優先的に行わせる
請求項１に記載の情報処理装置。
【請求項４】
前記合成フィルタ処理手段は、互いに同じ分割レベルの周波数帯域の周波数成分を１ラインずつ合成して１つ下位の分割レベルの周波数成分を２ライン生成し、
前記制御手段は、前記合成フィルタ処理手段により生成される前記２ラインを、前記周波数成分保持手段に１ラインずつ保持させる
請求項１に記載の情報処理装置。
【請求項５】
再帰的に行われる前記合成フィルタ処理により復元された前記画像データを保持する画像データ保持手段をさらに備え、
前記制御手段は、前記合成フィルタ処理手段により生成される前記２ラインのうち、一方の１ラインを前記周波数成分保持手段に保持させ、他方の１ラインを前記画像データ保持手段に一度保持させた後前記周波数成分保持手段に保持させるようにすることにより、前記周波数成分保持手段に１ラインずつ保持させる
請求項４に記載の情報処理装置。
【請求項６】
前記制御手段は、復元された前記画像データ２ラインのうち、一方の１ラインを外部に出力し、他方の１ラインを、次の出力タイミングまで前記画像データ保持手段に保持させる
請求項５に記載の情報処理装置。
【請求項７】
前記制御手段は、前記画像データが保持されていない期間に、前記合成フィルタ処理手段により生成される周波数成分の前記他方の１ラインを前記画像データ保持手段に保持させ、さらに、前記合成フィルタ処理手段により生成される前記画像データの前記他方の１ラインを保持させるタイミングに合わせて、そのとき保持している前記周波数成分を読み出して前記周波数成分保持手段に移動させる
請求項６に記載の情報処理装置。
【請求項８】
前記画像データ保持手段は、
データの書き込みと読み出しを１系統で行う、前記データを保持する保持手段と、
連続して供給される複数のデータを連結し、１つのデータとして前記保持手段に書き込んで保持させるデータ連結手段と、
前記保持手段より読み出した１つのデータを複数に分割し、複数のデータとして連続して出力するデータ分割手段と
を備え、
前記制御手段は、前記データ連結手段および前記データ分割手段に、前記保持手段に対する前記データの読み出しおよび書き込みを所定のデータ単位毎に交互に行わせる
請求項１に記載の情報処理装置。
【請求項９】
情報処理装置の情報処理方法であって、
画像データに対して、前記画像データの周波数成分を高域成分と低域成分に分割する分析フィルタ処理が階層的になされ、複数の周波数帯域に分割された前記画像データの周波数成分に対して、互いに同じ分割レベルの周波数帯域の周波数成分を合成する合成フィルタ処理を行い、
前記合成フィルタ処理により生成される１つ下位の分割レベルの周波数成分を周波数成分保持部に保持させ、
前記画像データを画像の上から順に２ラインずつ復元するような順序で、前記周波数成分保持部に保持された各周波数成分に対して前記合成フィルタ処理を再帰的に行う
ステップを含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法に関し、特に、ウェーブレット逆変換処理の遅延時間をより低減させることができるようにした情報処理装置および方法に関する。
【背景技術】
【０００２】
従来の代表的な画像圧縮方式として、ISO（International Standards Organization）によって標準化されたJPEG(Joint Photographic Experts Group)やJPEG２０００がある。これは離散コサイン変換(Discrete Cosine Transform ; DCT)を用い、比較的高いビットが割り当てられる場合には、良好な符号化画像および復号画像を供することが知られている。
【０００３】
近年では画像をフィルタバンクと呼ばれるハイパス・フィルタとローパス・フィルタとを組み合わせたフィルタによって複数の帯域に分割し、帯域毎に符号化を行う方式の研究が盛んになっている。その中でも、ウェーブレット変換符号化は、DCT変換で問題になる高圧縮でのブロック歪みが無いことから、DCTに代わる新たな技術として有力視されている。
【０００４】
２００１年１月に国際標準化が完了したJPEG２０００は、このウェーブレット変換に高能率なエントロピ符号化（ビットプレーン単位のビット・モデリングと算術符号化）を組み合わせた方式を採用しており、JPEGに比べて符号化効率の大きな改善を実現している。
【０００５】
ウェーブレット変換処理（例えば特許文献１参照）は基本的に画像データを入力して、水平方向のフィルタリングと垂直方向のフィルタリングを行いながら、低域成分を階層的に分割する手段を用いる。
【０００６】
このウェーブレット変換処理により画像データが変換された係数データ（周波数成分）を、元の画像データに変換するウェーブレット逆変換処理は、最上位の分割レベルから最下位の分割レベルまで高域成分と低域成分を合成フィルタリングしながら、最終的に画像を復元する処理を行う。
【０００７】
このウェーブレット変換技術は、従来、静止画像データの圧縮・伸長技術に用いられる場合がほとんどであり、その場合であれば、ピクチャ全体を処理単位としてウェーブレット変換処理を行うことが可能であった。
【０００８】
【特許文献１】特開平１０−２８３３４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、このウェーブレット変換技術を、動画像データの圧縮・伸長に利用する場合、ピクチャ単位でウェーブレット逆変換処理を行うと、ピクチャ内の全係数が、最上位から最下位に向かって分割レベル毎に合成フィルタ処理されるので、ビデオ信号の水平同期信号の時間内にベースバンドの画像データを１ラインずつ出力すること、すなわち、所謂リアルタイムに（即時的に）画像データを出力することが困難である恐れがあった。
【００１０】
仮に、ビデオ信号としてのデータ形式を保つようにベースバンドの画像データを出力させるためには、１ピクチャ分の合成フィルタ処理を１水平同期信号間に行うか、若しくは、合成フィルタ処理により生成されたベースバンドの画像データを一旦バッファメモリに保持する必要があった。前者の場合、非常に高速に合成フィルタ処理を行わなければならず、現実的には困難である。また、後者の場合、メモリ容量の増大により製造コストが増大する恐れがあるだけでなく、係数が入力されてから画像データが出力されるまでの遅延時間が増大してしまう恐れがあった。
【００１１】
例えばTV会議システムやビデオゲームシステム等のように、画像データの伝送を低遅延で行うことが望ましいシステムにおいては、このような遅延時間の増大は、特に影響が大きく、少しでも遅延時間を低減することが求められる。
【００１２】
本発明は、このような従来の実情に鑑みて提案されたものであり、合成フィルタ処理の処理手順を高効率化させることにより、ウェーブレット逆変換処理の遅延時間をより低減することができるようにするものである。
【課題を解決するための手段】
【００１３】
本発明の一側面は、画像データに対して、前記画像データの周波数成分を高域成分と低域成分に分割する分析フィルタ処理が階層的になされ、複数の周波数帯域に分割された前記画像データの周波数成分に対して、互いに同じ分割レベルの周波数帯域の周波数成分を合成する合成フィルタ処理を行う合成フィルタ処理手段と、前記合成フィルタ処理手段により行われる前記合成フィルタ処理により生成される１つ下位の分割レベルの周波数成分を保持する周波数成分保持手段と、前記合成フィルタ処理手段に、前記画像データを画像の上から順に２ラインずつ復元するような順序で、前記周波数成分保持手段により保持された各周波数成分に対して前記合成フィルタ処理を再帰的に行わせる制御手段とを備える情報処理装置である。
【００１４】
前記周波数成分保持手段は、前記周波数成分を、前記周波数成分の分割レベル毎に互いに独立して保持することができる。
【００１５】
前記制御手段は、前記合成フィルタ処理手段に、前記周波数成分保持手段により保持されている前記周波数成分のうち、より下位のレベルの周波数成分に対する合成フィルタ処理を優先的に行わせることができる。
【００１６】
前記合成フィルタ処理手段は、互いに同じ分割レベルの周波数帯域の周波数成分を１ラインずつ合成して１つ下位の分割レベルの周波数成分を２ライン生成し、前記制御手段は、前記合成フィルタ処理手段により生成される前記２ラインを、前記周波数成分保持手段に１ラインずつ保持させることができる。
【００１７】
再帰的に行われる前記合成フィルタ処理により復元された前記画像データを保持する画像データ保持手段をさらに備え、前記制御手段は、前記合成フィルタ処理手段により生成される前記２ラインのうち、一方の１ラインを前記周波数成分保持手段に保持させ、他方の１ラインを前記画像データ保持手段に一度保持させた後前記周波数成分保持手段に保持させるようにすることにより、前記周波数成分保持手段に１ラインずつ保持させることができる。
【００１８】
前記制御手段は、復元された前記画像データ２ラインのうち、一方の１ラインを外部に出力し、他方の１ラインを、次の出力タイミングまで前記画像データ保持手段に保持させることができる。
【００１９】
前記制御手段は、前記画像データが保持されていない期間に、前記合成フィルタ処理手段により生成される周波数成分の前記他方の１ラインを前記画像データ保持手段に保持させ、さらに、前記合成フィルタ処理手段により生成される前記画像データの前記他方の１ラインを保持させるタイミングに合わせて、そのとき保持している前記周波数成分を読み出して前記周波数成分保持手段に移動させることができる。
【００２０】
前記画像データ保持手段は、データの書き込みと読み出しを１系統で行う、前記データを保持する保持手段と、連続して供給される複数のデータを連結し、１つのデータとして前記保持手段に書き込んで保持させるデータ連結手段と、前記保持手段より読み出した１つのデータを複数に分割し、複数のデータとして連続して出力するデータ分割手段とを備え、前記制御手段は、前記データ連結手段および前記データ分割手段に、前記保持手段に対する前記データの読み出しおよび書き込みを所定のデータ単位毎に交互に行わせることができる。
【００２１】
本発明の一側面はまた、情報処理装置の情報処理方法であって、画像データに対して、前記画像データの周波数成分を高域成分と低域成分に分割する分析フィルタ処理が階層的になされ、複数の周波数帯域に分割された前記画像データの周波数成分に対して、互いに同じ分割レベルの周波数帯域の周波数成分を合成する合成フィルタ処理を行い、前記合成フィルタ処理により生成される１つ下位の分割レベルの周波数成分を周波数成分保持部に保持させ、前記画像データを画像の上から順に２ラインずつ復元するような順序で、前記周波数成分保持部に保持された各周波数成分に対して前記合成フィルタ処理を再帰的に行うステップを含む情報処理方法である。
【００２２】
本発明の一側面においては、画像データに対して、画像データの周波数成分を高域成分と低域成分に分割する分析フィルタ処理が階層的になされ、複数の周波数帯域に分割された画像データの周波数成分に対して、互いに同じ分割レベルの周波数帯域の周波数成分を合成する合成フィルタ処理が行われ、合成フィルタ処理により生成される１つ下位の分割レベルの周波数成分が周波数成分保持部に保持され、画像データを画像の上から順に２ラインずつ復元するような順序で、周波数成分保持部に保持された各周波数成分に対して合成フィルタ処理が再帰的に行われる。
【発明の効果】
【００２３】
本発明によれば、ウェーブレット逆変換処理を行うことができる。特に、ウェーブレット逆変換処理の遅延時間をより低減することができる。
【発明を実施するための最良の形態】
【００２４】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２５】
本発明の一側面は、画像データに対して、前記画像データの周波数成分を高域成分と低域成分に分割する分析フィルタ処理が階層的になされ、複数の周波数帯域に分割された前記画像データの周波数成分に対して、互いに同じ分割レベルの周波数帯域の周波数成分を合成する合成フィルタ処理を行う合成フィルタ処理手段（例えば、図５のフィルタ部１３１）と、前記合成フィルタ処理手段により行われる前記合成フィルタ処理により生成される１つ下位の分割レベルの周波数成分を保持する周波数成分保持手段（例えば、図５のレベル別バッファ部１２０）と、前記合成フィルタ処理手段に、前記画像データを画像の上から順に２ラインずつ復元するような順序で、前記周波数成分保持手段により保持された各周波数成分に対して前記合成フィルタ処理を再帰的に行わせる制御手段（例えば、図５の制御部１０１）とを備える情報処理装置（例えば、図５のウェーブレット逆変換装置１００）である。
【００２６】
再帰的に行われる前記合成フィルタ処理により復元された前記画像データを保持する画像データ保持手段（例えば、図５の出力バッファ部１１６）をさらに備え、前記制御手段は、前記合成フィルタ処理手段により生成される前記２ラインのうち、一方の１ラインを前記周波数成分保持手段に保持させ、他方の１ラインを前記画像データ保持手段に一度保持させた後前記周波数成分保持手段に保持させるようにすることにより、前記周波数成分保持手段に１ラインずつ保持させることができる。
【００２７】
前記画像データ保持手段は、データの書き込みと読み出しを１系統で行う、前記データを保持する保持手段（例えば、図１４の１ポートSRAM１７４）と、連続して供給される複数のデータを連結し、１つのデータとして前記保持手段に書き込んで保持させるデータ連結手段（例えば、図１４のデータ連結部１７３）と、前記保持手段より読み出した１つのデータを複数に分割し、複数のデータとして連続して出力するデータ分割手段（例えば、図１４のデータ分割部１７５）とを備え、前記制御手段は、前記データ連結手段および前記データ分割手段に、前記保持手段に対する前記データの読み出しおよび書き込みを所定のデータ単位毎に交互に行わせることができる。
【００２８】
本発明の一側面はまた、情報処理装置（例えば、図５のウェーブレット逆変換装置１００）の情報処理方法であって、画像データに対して、前記画像データの周波数成分を高域成分と低域成分に分割する分析フィルタ処理が階層的になされ、複数の周波数帯域に分割された前記画像データの周波数成分に対して、互いに同じ分割レベルの周波数帯域の周波数成分を合成する合成フィルタ処理を行い（例えば、図１８のステップＳ１３５およびステップＳ１３６）、前記合成フィルタ処理により生成される１つ下位の分割レベルの周波数成分を周波数成分保持部に保持させ（例えば、図１８のステップＳ１３９）、前記画像データを画像の上から順に２ラインずつ復元するような順序で、前記周波数成分保持部に保持された各周波数成分に対して前記合成フィルタ処理を再帰的に行う（例えば、図１８のステップＳ１３１乃至ステップＳ１３４）ステップを含む情報処理方法である。
【００２９】
以下、本発明の実施の形態について説明する。
【００３０】
最初に、ウェーブレット変換処理について説明する。
【００３１】
ウェーブレット変換処理は、分析フィルタを用いて、画像データを空間周波数の高い帯域と低い帯域とに分割する処理である。分析フィルタには、画像データに対して画面水平方向に分析フィルタ処理を行う水平分析フィルタと、画面垂直方向に分析フィルタ処理を行う垂直分析フィルタとがあり、各方向に対して１回ずつ分析フィルタ処理が行われることにより、画像データは４つの帯域（サブバンド）に分割される。ウェーブレット変換処理では、分析フィルタ処理結果の、水平方向および垂直方向のいずれにおいても空間周波数の低い帯域に対して、上述した水平方向および垂直方向の分析フィルタ処理が再帰的に繰り返される（つまり階層的に繰り返される）。
【００３２】
図１は、分析フィルタ処理が４回繰り返された場合の例を概略的に示す図である。図１の例では、水平方向および垂直方向の分析フィルタ処理が再帰的に４回繰り替えされることにより、１ピクチャの画像データの周波数成分が、１３個の階層的なサブバンドに分割されている。このときの各サブバンドのデータ、つまり、ベースバンドの画像データの各周波数成分を係数データと称する。
【００３３】
図１において、実線の四角および点線の角丸四角のそれぞれは、分析フィルタ処理により生成されるサブバンドを示しており、各サブバンドに表記される数字は、そのサブバンドの階層のレベルを示す。つまり、ベースバンドの画像データに対して何回分析フィルタ処理することにより得られるサブバンドであるかを示している。また、各サブバンドに表記される「Ｌ」および「Ｈ」は、それぞれ低域成分および高域成分を表しており、左側が水平方向の分析フィルタ処理結果、右側が垂直方向の分析フィルタ処理結果を示している。
【００３４】
図１の例では、ベースバンドの画像データに対して１回目の分析フィルタ処理が行われて、分割レベル１の４つのサブバンド（１ＬＬ、１ＬＨ、１ＨＬ、および１ＨＨ）が生成され、そのサブバンドのうち、水平方向および垂直方向の両方に対して低域成分であるサブバンド「１ＬＬ」に対して２回目の分析フィルタ処理が行われ、分割レベル２の４つのサブバンド（２ＬＬ、２ＬＨ、２ＨＬ、および２ＨＨ）が生成され、その水平方向および垂直方向の両方に対して低域成分であるサブバンド「２ＬＬ」に対して３回目の分析フィルタ処理が行われ、分割レベル３の４つのサブバンド（３ＬＬ、３ＬＨ、３ＨＬ、および３ＨＨ）が生成され、その水平方向および垂直方向の両方に対して低域成分であるサブバンド「３ＬＬ」に対して、４回目の分析フィルタ処理が行われ、分割レベル４の４つのサブバンド（４ＬＬ、４ＬＨ、４ＨＬ、および４ＨＨ）が生成されている。
【００３５】
このように、低域成分に対して繰り返し変換および分割を行うのは、図２に示されるように、より上位（低域成分）のサブバンドほど、画像のエネルギが低域成分に集中しているためである。このように分析フィルタ処理を再帰的に処理を行い、階層的なサブバンドを生成し、空間周波数の低い帯域のデータをより小さな領域に追い込んでいくことで、エントロピ符号化を行う際に効率的な圧縮符号化を可能とする。
【００３６】
なお、以下において、分析フィルタ処理により生成される４つのサブバンドのうち、再度分析フィルタ処理が行われる、水平方向および垂直方向の両方に対して低域成分であるサブバンド「ＬＬ」を低域サブバンドと称し、それ以上分析フィルタ処理が行われないその他のサブバンド「ＬＨ」、「ＨＬ」、および「ＨＨ」を高域サブバンドと称する。
【００３７】
このようなウェーブレット変換処理をピクチャ全体に対してまとめて行う方法もあるが、１ピクチャの画像データを数ライン毎に分割し、それぞれについてウェーブレット変換処理を互いに独立して行う方法もある。前者の場合よりも後者の場合の方が、１回のウェーブレット変換処理で処理される画像データのデータ量が少ないので、ウェーブレット変換処理の処理結果の出力開始タイミングをより早くすることができる。つまり、ウェーブレット変換処理による遅延時間を短縮することができる。
【００３８】
なお、この場合のウェーブレット変換処理の処理単位となるライン数は、ウェーブレット変換処理の、予め定められた分割レベルにおいて、最上位レベルのサブバンドの係数データ１ラインを得るために必要なライン数に基づく。
【００３９】
分析フィルタ処理により、データは４分割されるので、図２に示されるようにライン数は半減する。つまり、図２の例のように、分割レベル３のウェーブレット変換処理の場合、最上位レベルのサブバンド（３ＬＬ、３ＬＨ、３ＨＬ、および３ＨＨ）の係数データを１ライン得るためには、８ラインのベースバンドの画像データが必要になる。従ってこの場合、ウェーブレット変換処理は、ベースバンドの画像データ８ライン以上を処理単位としてウェーブレット変換処理が行われる。図１の例のように分割レベルが４である場合、ベースバンドの画像データは、１６ライン必要になる。
【００４０】
このように、最上位レベルの低域サブバンド「ＬＬ」の係数データを１ライン生成するために必要なベースバンドの画素データの集合をプレシンクト（Precinct）（またはラインブロック）と称する。なお、プレシンクトは、この最上位レベルの低域サブバンド「ＬＬ」の係数データを１ライン生成するために必要なベースバンドの画素データの集合と実質的に同一な、１プレシンクト分の画素データをウェーブレット変換して得られる、全サブバンドの係数データの集合のことを示す場合もある。
【００４１】
なお、１プレシンクトのライン数はピクチャ内において、各プレシンクトで互いに同一でなくてもよい。
【００４２】
このようなウェーブレット変換処理の分析フィルタとしては、例えば、JPEG２０００規格でも採用される５×３フィルタや９×７フィルタがある。このようなフィルタを用いる分析フィルタ処理における演算方法で最も一般的な演算方法は、畳み込み演算と呼ばれる方法である。この畳み込み演算は、デジタルフィルタの最も基本的な実現手段であり、フィルタのタップ係数に、実際の入力データを畳み込み乗算するものである。しかしながら、この畳み込み演算では、タップ長が長いとその分、計算負荷が増えてしまう場合もある。
【００４３】
これに対応する方法として、論文「W.Swelden,“The lifting scheme :A custom-design construction of Biorthogonal wavelets.”, Appl. Comput. Harmon. Anal., vol3, no.2, pp.186-200, 1996」で紹介されたウェーブレット変換のリフティング技術が知られている。
【００４４】
図３は、９×７フィルタのリフティング構成を示す模式図である。図３の例において、１段目（最上段）は、入力画像のサンプル群（画素列）を示し、２，３段目は、それぞれステップＡ１およびステップＡ２の処理で生成される成分（係数）を示す。また、４段目は、ステップＡ３の処理で生成される高域成分出力を示し、５段目は、ステップＡ４の処理で生成される低域成分出力を示している。最上段部は、入力画像のサンプル群に限らず、前の分析フィルタ処理で得られた係数であってもよい。ここでは、最上段部が入力画像のサンプル群であるものとし、四角印（■）が偶数番目のサンプルまたはライン、丸印（●）が奇数番目のサンプルまたはラインとする。
【００４５】
つまり、この場合、ステップＡ３の処理で高域成分が得られ、ステップＡ４の処理で低域成分が得られる。なお、ステップＡ１乃至ステップＡ４の処理は、次の式（１）乃至式（４）で表される。
【００４６】
stepA1：ｄi1＝ｄi0＋α（ｓi0＋ｓi+10）      ・・・（１）
stepA2：ｓi1＝ｓi0＋β（ｄi-11＋ｄi1）      ・・・（２）
stepA3：ｄi2＝ｄi1＋γ（ｓi1＋ｓi+11）      ・・・（３）
stepA4：ｓi2＝ｓi1＋δ（ｄi-12＋ｄi2）      ・・・（４）
【００４７】
ただし、
α＝−1.586134342
β＝−0.05298011857
γ＝0.8829110755
δ＝0.4435068520
【００４８】
このように、リフティング技術を適用した分析フィルタ処理においては、ステップＡ１およびＡ２の処理が行われ、ステップＡ３で、高域成分の係数が生成された後に、ステップＡ４で、低域成分の係数が生成される。この際に用いられるフィルタバンクは、式（１）乃至式（４）に示されるように、加算とシフト演算のみで実現できる。したがって、計算量を大幅に低減することができる。
【００４９】
このようなウェーブレット変換処理が施されて得られた係数データは、例えば、エントロピ符号化されて符号化データに変換される。この符号化データは、利用時に、エントロピ復号され、上述したウェーブレット変換処理に対応するウェーブレット逆変換処理により元のベースバンドの画像データが復元される。
【００５０】
つまり、図４に示されるように、ウェーブレット逆変換処理は、ウェーブレット変換処理の逆変換処理であり、ウェーブレット変換処理によってベースバンドの画像データが変換されたウェーブレット係数を、元のベースバンドの画像データに変換（逆変換）する処理である。従って、図４に示されるように、分割レベル４のウェーブレット変換処理が行われた場合、ウェーブレット逆変換処理も分割レベル４で行われる。また、図４に示されるように、例えば入力ベースバンド画像データ１６ラインを１プレシンクトとして、ウェーブレット変換処理がそのプレシンクト毎に行われた場合、ウェーブレット逆変換処理も、そのプレシンクト毎に行われ、１プレシンクトの係数データよりベースバンド画像データ１６ラインを復元する。
【００５１】
以下に、このウェーブレット逆変換処理においてバッファとして必要なメモリ量を低減させる方法について説明する。
【００５２】
図５は、本発明を適用したウェーブレット逆変換装置の構成例を示すブロック図である。図５に示されるように、ウェーブレット逆変換装置１００は、分割レベル４でウェーブレット変換された係数データを入力し、それらを合成する合成フィルタ処理を行う帯域合成装置である。図５のウェーブレット逆変換装置１００は、制御部１０１、セレクタ１１１、垂直合成フィルタ部１１２、途中計算用バッファ部１１３、水平合成フィルタ部１１４、セレクタ１１５、出力バッファ部１１６、セレクタ１１７、およびレベル別バッファ部１２０を有する。
【００５３】
制御部１０１は、セレクタ１１１乃至レベル別バッファ部１２０の各部の動作を制御する。セレクタ１１１は、制御部１０１に制御されて、垂直合成フィルタ部１１２の入力として、外部入力（Ｄ１０）、またはレベル別バッファ部１２０内の各分割レベル用のバッファ部の出力（Ｄ１９，Ｄ２２、およびＤ２５）のいずれかを選択する。垂直合成フィルタ部１１２は、制御部１０１に制御されて、セレクタ１１１により選択されたバッファ部または外部入力より、処理対象の分割レベルの４つのサブバンドの係数データを実質的に１ラインずつ取得する（Ｄ１１）。
【００５４】
垂直合成フィルタ部１１２は、制御部１０１に制御されて、途中計算用バッファ部１１３より読み出した途中計算用の係数を利用して、取得した係数データに対して、ベースバンドの画像データの画像垂直方向の周波数成分について合成フィルタ処理を行う。
【００５５】
詳細については後述するが、垂直合成フィルタ部１１２は、合成フィルタ処理として行う合成フィルタ演算により生成される係数を途中計算用バッファ部１１３に書き込む（Ｄ１２）と同時に、次の合成フィルタ演算で必要な係数を途中計算用バッファ部１１３より読み出し（Ｄ１３）ながら、合成フィルタ演算を繰り返すことにより合成フィルタ処理を行う。この垂直方向の合成フィルタ処理により、垂直方向の低域成分と高域成分が合成され、水平方向の低域成分と高域成分が２ラインずつ生成される。
【００５６】
入力された係数データに対する合成フィルタ処理が終了すると、垂直合成フィルタ部１１２は、途中計算用バッファ部１１３に保持されている水平方向の低域成分と高域成分を、合成フィルタ処理結果として、所定の順序で、例えばライン毎に画面左から右に向かう順に１つずつ交互に、読み出して水平合成フィルタ部１１４に供給する（Ｄ１４）。
【００５７】
水平合成フィルタ部１１４は、制御部１０１に制御され、垂直合成フィルタ部１１２より供給される係数データに対して、ベースバンドの画像データの画像水平方向の周波数成分について合成フィルタ処理を行う。
【００５８】
この水平方向の合成フィルタ処理により、１つ下位レベルの垂直方向および水平方向に低域成分のサブバンドである低域サブバンドの係数データ（またはベースバンドの画像データ）が２ライン生成される。水平合成フィルタ部１１４は、その低域サブバンドの係数データ（またはベースバンドの画像データ）２ラインをセレクタ１１５に出力する（Ｄ１５）。
【００５９】
以上のように、垂直合成フィルタ部１１２および水平合成フィルタ部１１４は、１回の垂直方向および水平方向の合成フィルタ処理により、実質的に、処理対象の分割レベルの各サブバンドの、互いに同じ位置の係数データ１ラインを合成し、１つ下位レベルの低域サブバンドの係数データ、またはベースバンドの画像データを２ライン生成する。
【００６０】
つまり、図６に示されるように、１プレシンクトがＮラインの画像データより構成されるとすると、垂直合成フィルタ部１１２および水平合成フィルタ部１１４は、例えば、分割レベル２の４つのサブバンドの係数データを実質的にＮ／４ライン合成し、分割レベル１の低域サブバンドの係数データをＮ／２ライン生成する。
【００６１】
垂直合成フィルタ部１１２および水平合成フィルタ部１１４は、処理対象の分割レベルを適宜変更しながらこのような合成フィルタ処理を繰り返すことにより、プレシンクト単位でウェーブレット変換された係数データを全てベースバンドの画像データに変換する。そして、垂直合成フィルタ部１１２および水平合成フィルタ部１１４は、全プレシンクトおよび全ピクチャについて合成処理を同様に繰り返す。このようにプレシンクト単位で合成フィルタ処理を行うことにより、画像全体を対象として合成フィルタ処理を行う場合よりも、一度に処理するデータのデータ量が低減されるので、ウェーブレット逆変換装置１００は、ウェーブレット逆変換による遅延時間を低減させることができる。また、上述したようにライン単位で合成フィルタ処理を行うことにより、より詳細に制御可能になるので、ウェーブレット逆変換装置１００は、ウェーブレット逆変換処理をより最適化し、より遅延時間を低減させることができる。
【００６２】
図５に戻り、セレクタ１１５は、制御部１０１に制御されて、水平合成フィルタ部１１４のデータ出力先を選択し、合成フィルタ処理により生成される係数データのうち、一部の係数データをレベル別バッファ部１２０に供給して保持させ、他の一部の係数データを出力バッファ部１１６に供給して保持させる。例えば、セレクタ１１５は、水平合成フィルタ部１１４より供給される低域サブバンドの係数データ２ラインのうち、一方の１ラインを出力バッファ部１１６に供給して保持させ（Ｄ１６）、他方の１ラインをレベル別バッファ部１２０に供給し、レベル別バッファ部１２０の、その係数データの分割レベル用のバッファ部に保持させる（Ｄ１７，Ｄ２０、およびＤ２３）。
【００６３】
なお、水平合成フィルタ部１１４より供給されるデータがベースバンドの画像データである場合、セレクタ１１５は、その画像データ２ラインを出力バッファ部１１６に供給し（Ｄ１６）、一方の１ラインを保持させ、他方の１ラインを外部に出力させる。
【００６４】
出力バッファ部１１６は、制御部１０１に制御されて、セレクタ１１５より供給される係数データや画像データを、必要に応じて保持し、保持しているデータを必要に応じて読み出してセレクタ１１７に出力する。例えば、セレクタ１１５よりサブバンドの係数データが１ライン供給された場合、出力バッファ部１１６は、その係数データを保持する。また、例えば、合成フィルタ処理により最終的に生成されたベースバンドの画像データ２ラインがセレクタ１１５より供給された場合、出力バッファ部１１６は、その一方の１ラインを外部に出力する（Ｄ２６）とともに、他方の１ラインを、次の出力タイミングまで保持する。このベースバンドの画像データを保持するとき、出力バッファ部１１６は、内蔵するメモリに保持している係数データを読み出してセレクタ１１７に出力しながら（Ｄ２６）、ベースバンドの画像データを内蔵するメモリに書き込む。
【００６５】
セレクタ１１７は、制御部１０１に制御されて、出力バッファ部１１６のデータ出力先を制御する。例えば、出力バッファ部１１６より係数データが供給された場合、セレクタ１１７は、その係数データを、レベル別バッファ部１２０に供給し（Ｄ２８，Ｄ２９、およびＤ３０）、レベル別バッファ部１２０の、その係数データの分割レベル用のバッファ部に保持させる。また、例えば、出力バッファ部１１６よりベースバンドの画像データが供給された場合、セレクタ１１７は、そのベースバンドの画像データを外部に出力する（Ｄ２７）。
【００６６】
レベル別バッファ部１２０は、制御部１０１に制御されて、セレクタ１１５やセレクタ１１７より供給される係数データや外部より供給された、再度合成フィルタ処理可能な係数データを、再度合成フィルタ処理が行われるまで、その係数データの分割レベル用のバッファ部に保持する。レベル別バッファ部１２０は、必要に応じて、保持している係数データをセレクタ１１１に供給する。
【００６７】
レベル別バッファ部１２０は、レベル３バッファ部１２１、レベル２バッファ部１２２、およびレベル１バッファ部１２３を有する。
【００６８】
レベル３バッファ部１２１は、制御部１０１に制御されて、分割レベル３の係数データのセレクタ１１１（セレクタ１１１を介して垂直合成フィルタ部１１２）への供給を制御する。例えば、レベル３バッファ部１２１は、セレクタ１１５やセレクタ１１７より供給された（Ｄ１７およびＤ２８）分割レベル３の低域サブバンドの係数データ（３ＬＬ）や、外部より供給された（Ｄ１８）分割レベル３の高域サブバンド（３ＬＨ、３ＨＬ、および３ＨＨ）の係数データを内蔵するメモリに保持する。そして、レベル３バッファ部１２１は、所定のタイミングで、内蔵するメモリに保持している分割レベル３の各サブバンドの係数データを多重化し、セレクタ１１１を介して垂直合成フィルタ部１１２に供給する（Ｄ１９）。
【００６９】
レベル２バッファ部１２２は、制御部１０１に制御されて、分割レベル２の係数データのセレクタ１１１（セレクタ１１１を介して垂直合成フィルタ部１１２）への供給を制御する。例えば、レベル２バッファ部１２２は、セレクタ１１５やセレクタ１１７より供給された（Ｄ２０およびＤ２９）分割レベル２の低域サブバンドの係数データ（２ＬＬ）や、外部より供給された（Ｄ２１）分割レベル２の高域サブバンド（２ＬＨ、２ＨＬ、および２ＨＨ）の係数データを内蔵するメモリに保持する。そして、レベル２バッファ部１２２は、所定のタイミングで、内蔵するメモリに保持している分割レベル２の各サブバンドの係数データを多重化し、セレクタ１１１を介して垂直合成フィルタ部１１２に供給する（Ｄ２２）。
【００７０】
レベル１バッファ部１２３は、制御部１０１に制御されて、分割レベル１の係数データのセレクタ１１１（セレクタ１１１を介して垂直合成フィルタ部１１２）への供給を制御する。例えば、レベル１バッファ部１２３は、セレクタ１１５やセレクタ１１７より供給された（Ｄ２３およびＤ３０）分割レベル１の低域サブバンドの係数データ（１ＬＬ）や、外部より供給された（Ｄ２４）分割レベル１の高域サブバンド（１ＬＨ、１ＨＬ、および１ＨＨ）の係数データを内蔵するメモリに保持する。そして、レベル１バッファ部１２３は、所定のタイミングで、内蔵するメモリに保持している分割レベル１の各サブバンドの係数データを多重化し、セレクタ１１１を介して垂直合成フィルタ部１１２に供給する（Ｄ２５）。
【００７１】
なお、図５に示されるレベル別バッファ部１２０の構成は、ウェーブレット逆変換装置１００において分割レベル４のウェーブレット逆変換処理が行われる場合の例である。レベル別バッファ部１２０の構成は、最上位レベル以外の分割レベルの係数データを互いに独立して保持するように、ウェーブレット逆変換装置１００が行うウェーブレット逆変換処理の分割レベルに応じて設定される。つまり、レベル別バッファ部１２０は、最上位レベル以外の分割レベルのそれぞれについて、レベル３バッファ部１２１乃至レベル１バッファ部１２３のような専用のバッファ部を有する。
【００７２】
また、図５において、垂直合成フィルタ部１１２、途中計算用バッファ部１１３、水平合成フィルタ部１１４、およびセレクタ１１５は合成フィルタ処理に関する処理部であり、これらをまとめてフィルタ部１３１とも称する。また、出力バッファ部１１６およびセレクタ１１７は、基本的に画像データ出力に関する処理部であり、これらをまとめて出力制御部１３２とも称する。
【００７３】
次に、垂直合成フィルタ部１１２および水平合成フィルタ部１１４により実行される合成フィルタ処理の演算方法について説明する。図３を参照して上述した分析フィルタ処理の場合と同様に、効率的にフィルタ処理を実行することができることから、ウェーブレット逆変換の合成フィルタ処理においても、同様にリフティング技術を用いることが好ましい。
【００７４】
図７は、JPEG２０００規格でも採用されている９×７合成フィルタのリフティング構成を示している。通常の畳み込み演算と異なり、リフティング手段による方法では、以下のステップＢ１乃至ステップＢ４までの４個のステップを経て、偶数成分と奇数成分を算出する。
【００７５】
図７の例において、１段目（最上段）は、ウェーブレット変換により生成された係数であり、丸印（●）が高域成分の係数を示し、四角印（■）が低域成分の係数を示す。２，３段目は、それぞれステップＢ１およびステップＢ２の処理で生成される成分（係数）を示す。また、４段目は、ステップＢ３の処理で生成される偶数成分出力を示し、５段目は、ステップＢ４の処理で生成される奇数成分出力を示している。
【００７６】
９×７合成フィルタリングにおいては、ステップＢ３の処理で偶数成分が得られ、ステップＢ４の処理で奇数成分が得られる。なお、ステップＢ１乃至ステップＢ４の処理は、次の式（５）乃至式（８）で表される。
【００７７】
stepB1：ｓi1＝ｓi2−δ（ｄi-12＋ｄi2）      ・・・（５）
stepB2：ｄi1＝ｄi2−γ（ｓi1＋ｓi+11）      ・・・（６）
stepB3：ｓi0＝ｓi1−β（ｄi-11＋ｄi1）      ・・・（７）
stepB4：ｄi0＝ｄi1−α（ｓi0＋ｓi+10）      ・・・（８）
【００７８】
ただし、
α＝−1.586134342
β＝−0.05298011857
γ＝0.8829110755
δ＝0.4435068520
【００７９】
このように、リフティング技術を適用した合成フィルタリングにおいては、ステップＢ１およびステップＢ２の処理が行われ、ステップＢ３で、偶数成分の係数が生成された後に、ステップＢ４で、奇数成分の係数が生成される。この際に用いられるフィルタバンクは、式（５）乃至式（８）に示されるように、除算とシフト演算のみで実現できる。したがって、計算量を大幅に低減することができる。
【００８０】
垂直合成フィルタ部１１２により実行される垂直合成フィルタ処理の処理について具体的に説明する。図８は、垂直方向の係数データ群に対しての垂直合成フィルタ処理を、図７のリフティング構成により実行する場合の例を示している。
【００８１】
図８の例においては、垂直方向の係数データに対して、図７で上述した４つのステップ（ステップＢ１乃至ステップＢ４）の処理を経て、偶数番目の係数データ（以下、偶数係数とも称する）と奇数番目の係数データ（以下、奇数係数とも称する）が生成される例が示されており、リフティングのステップの方向は、図中左から右に進む。
【００８２】
また、垂直方向の係数データの左側に示される数字は、ライン番号を示しており、左から１列目のハッチが付された丸および四角は、それぞれ、画面垂直方向の高域成分の入力である高域入力、および、画面垂直方向の低域成分の入力である低域入力を表している。さらに、２列目以降の丸および四角は、それぞれ、リフティング演算の過程で生成される高域係数および低域係数を表しており、その中でも、黒丸および黒四角は、それぞれ、リフティング演算の結果である、ライン番号が奇数のラインの係数データである奇数係数、およびライン番号が偶数のラインの係数データである偶数係数を表している。
【００８３】
以下、動作について左から順に説明する。図８の左側には、垂直方向にライン番号４乃至６の３ラインの係数が入力されて、垂直方向のリフティング構成による演算（すなわち、垂直リフティング演算）が行われる場合の例が示されている。なお、いまの場合、最上段の偶数係数は、奇数係数と組みになっていないのでその説明を省略する。
【００８４】
この垂直リフティング演算のステップＢ３において１番目の偶数係数を求め、ステップＢ４において１番目の奇数係数を求めるためには、ライン番号０乃至５の６ラインの係数が必要である。
【００８５】
その後、２番目の偶数係数と奇数係数を求めるためには、太線実線で示される３つの係数と、丸数字で示されるライン番号６および７の２ラインの係数が必要であり、さらに、ステップＢ２のＱ１が示される係数を算出するためには、丸数字で示されるライン番号５の係数も必要である。
【００８６】
太線実線で示される３つの係数は、１番目の偶数係数および奇数係数を求めるための垂直リフティング演算（以下、１番目の垂直リフティング演算と称する）の過程で生成される係数のうちの一部である。
【００８７】
したがって、２番目の偶数係数と奇数係数を求めるためには、結局、丸数字で示されるライン番号５乃至７の３ラインの係数の入力が必要である。ただし、ここでライン番号５の係数は再入力される係数なので、実質的に２ライン（ライン番号６および７）の係数の追加入力となる。この垂直方向の３ラインの係数データ（実質的に２ラインの係数データ）は、図５のレベル別バッファ部１２０の対応するレベルのバッファ部から、レベル毎に読み出される。すなわち、現在のウェーブレット変換の分割レベルが２であれば、レベル２バッファ部１２２から係数データが読み出される。
【００８８】
さらに、２番目の偶数係数と奇数係数を求めるためには、１番目の偶数係数と奇数係数を求めるための垂直リフティング演算の過程において生成される太線実線で示される３つの係数が必要になる。これらの係数は、２番目の偶数係数と奇数係数が求められた後に途中計算用バッファ部１１３に保持されるので、その途中計算用バッファ部１１３より読み出される。
【００８９】
つまり、１番目の垂直リフティング演算で途中計算用バッファ部１１３に記憶されていた太線実線で示される３つの係数と、対応するレベルのバッファ部から読み出され入力されるライン番号５乃至７の３ラインの係数が用いられて垂直リフティング演算が行われることにより、２番目の偶数係数と奇数係数を含めた４つの係数（太線点線で示される）が得られる。これらの係数は、１番目の垂直リフティング演算の場合と同様に、途中計算用バッファ部１１３に記憶される。このとき、これらの係数の書き込みと同時に、次の垂直リフティング演算に利用する係数を途中計算用バッファ部１１３より読み出す。図８の左側の例の場合、途中計算用バッファ部１１３に記憶された係数のうち、一点鎖線で示される３つの係数が３番目の偶数係数と奇数係数を求めるために必要な係数であるので、途中計算用バッファ部１１３より読み出される。
【００９０】
ライン番号７の係数の読み出しの後、２ラインの係数が追加して読み出される場合、すなわち、垂直方向にライン番号７乃至９の３ラインの係数が入力されて、垂直リフティング演算が行われる場合の例が、図８の右側に示されている。
【００９１】
２番目の場合と同様に、３番目の偶数係数と奇数係数を求めるためには、太線実線で示される３つの係数と、丸数字で示されるライン番号８および９の２ラインの係数が必要であり、さらに、ステップＢ２のＱ２が示される係数を算出するためには、丸数字で示されるライン番号７の係数も必要である。
【００９２】
なお、右側の太線実線で示される３つの係数は、左側の太線点線で示されるように、２番目の垂直リフティング演算で途中計算用バッファ部１１３に記憶されている。
【００９３】
したがって、２番目の垂直リフティング演算で記憶されていた太線実線で示される３つの係数と、対応するレベルのバッファから読み出されて入力されるライン番号７乃至９の３ラインの係数が用いられて垂直リフティング演算が行われることにより、３番目の偶数係数と奇数係数を含めた４つの係数（太線点線で示される）が得られる。これらの係数は、途中計算用バッファ部１１３に記憶される。このとき、これらの係数の書き込みと同時に、次の垂直リフティング演算に利用する係数を途中計算用バッファ部１１３より読み出す。図８の右側の例の場合、途中計算用バッファ部１１３に記憶された係数のうち、一点鎖線で示される３つの係数が３番目の偶数係数と奇数係数を求めるために必要な係数であるので、途中計算用バッファ部１１３より読み出される。
【００９４】
以上のようにして、入力された係数データと、途中計算用バッファ部１１３に保持されている係数を利用して垂直リフティング演算が、画面の最下位のラインまで実行されることで、垂直方向の合成フィルタ処理が完了される。
【００９５】
次に、水平合成フィルタ部１１４により実行される水平合成フィルタ処理について具体的に説明する。図９は、垂直方向の合成フィルタリングの結果を水平方向に並べて、水平合成フィルタリングを、図７のリフティング構成により実行する様子の例を示している。
【００９６】
図９の例においては、水平方向の係数に対して、図７を参照して上述した４つのステップ（ステップＢ１乃至ステップＢ４）の処理を経て、奇数係数と偶数係数が生成される例が示されており、リフティングのステップの方向は、図中上から下に進む。
【００９７】
また、水平方向の係数の上に示される数字は、列（コラム）番号を示しており、上から１段目のハッチが付された丸および四角は、それぞれ、高域入力および低域入力を表しており、２段目以降の丸および四角は、それぞれ、リフティング演算の過程で生成される高域係数および低域係数を表しており、その中でも、黒丸および黒四角は、それぞれ、リフティング演算の結果である奇数係数および偶数係数を表している。
【００９８】
以下、動作について上から順に説明する。図９の上段には、水平方向にコラム番号５乃至７の３コラムの係数が入力されて水平方向のリフティング構成による演算（以下、水平リフティング演算と称する）が行われる場合の例が示されている。なお、いまの場合、最左側の偶数係数は奇数係数と組みになっていないのでその説明を省略する。
【００９９】
この水平リフティング演算のステップＢ３において１番目の偶数係数を求め、ステップＢ４において１番目の奇数係数を求めるためには、コラム番号０乃至５の６コラムの係数が必要である。
【０１００】
その後、２番目の奇数係数と偶数係数を求めるためには、太線実線で示される３つの係数と、丸数字で示されるコラム番号６および７の２コラムの係数が必要であり、さらに、ステップＢ２のＱ１が示される係数を算出するためには、丸数字で示されるコラム番号５の係数も必要である。
【０１０１】
太線実線で示される３つの係数は、１番目の奇数係数および偶数係数を求めるための水平リフティング演算（以下、１番目の水平リフティング演算とも称する）の過程で生成される係数のうちの一部である。
【０１０２】
すなわち、２番目の奇数係数と偶数係数を求めるためには、結局、丸数字で示されるコラム番号５乃至７の３コラムの係数の入力が必要であり、さらに、１番目の水平リフティング演算の過程において生成される太線実線で示される３つの係数を、ラッチしておく必要がある。実際には、高々３つの係数であるので、水平合成フィルタ部１１４に、ラッチとしてよく用いられるフリップフロップを内蔵することで対応できる。
【０１０３】
したがって、１番目の水平リフティング演算でラッチされていた太線実線で示される３つの係数と、入力されたコラム番号５乃至７の３コラムの係数が用いられて水平リフティング演算が行われることにより、その演算過程および終了時においては、２番目の奇数係数と偶数係数を含めた４つの係数（太線点線で示される）が得られる。このうち、一点鎖線で示される３つの係数は、３番目の奇数係数と偶数係数を求めるために必要な係数であるので、内蔵されるフリップフロップにラッチされる。
【０１０４】
コラム番号７の係数の入力の後、水平方向に２コラムの係数が追加入力される場合、すなわち、水平方向にコラム番号７乃至９の３コラムの係数が入力されて、水平リフティング演算が行われる場合の例が、図９の下段に示されている。
【０１０５】
２番目の場合と同様に、３番目の奇数係数と偶数係数を求めるためには、太線実線で示される３つの係数と、丸数字で示されるコラム番号８および９の２コラムの係数が必要であり、さらに、ステップＢ２のＱ２が示される係数を算出するためには、丸数字で示されるコラム番号７の係数も必要である。
【０１０６】
なお、下段の太線実線で示される３つの係数は、上段の一点鎖線で示されるように、２番目の水平リフティング演算でラッチされている。
【０１０７】
したがって、２番目の水平リフティング演算でラッチされていた太線実線で示される３つの係数と、新たに入力されるコラム番号７乃至９の３コラムの係数が用いられて水平リフティング演算が行われることにより、３番目の奇数係数と偶数係数を含めた４つの係数（太線点線で示される）が得られる。このうち、一点鎖線で示される３つの係数は、４番目の奇数係数と偶数係数を求めるために必要な係数であるので、内蔵されるフリップフロップにラッチされる。
【０１０８】
以上のようにして、３コラム分の係数を順次入力しながら、途中計算用の３つの係数を保持しながら、水平リフティング演算が、画面の最右端のコラムまで実行されることで、水平方向の合成フィルタリングが完了される。
【０１０９】
以上に説明した途中計算用バッファ部１１３にはどのようなメモリを用いるようにしても良いが、途中計算用バッファ部１１３に保持される係数の一部は、後のリフティング演算に使用されるために再度読み出される。つまり、途中計算用バッファ部１１３への係数の書き込みや読み出しは頻繁に行われる。
【０１１０】
そこで、途中計算用バッファ部１１３において、係数読み出しと係数書き込みを並行して行うことができるようにし、係数の書き込みや読み出しによる遅延時間を短縮させるのが望ましい。図１０は、途中計算用バッファ部１１３の構成例を示すブロック図である。
【０１１１】
図１０に示されるように、途中計算用バッファ部１１３は、データ連結部１４１、１ポートSRAM（Static Random Access Memory）１４２、およびデータ分割部１４３を有する。
【０１１２】
データ連結部１４１は、垂直合成フィルタ部１１２より連続的に供給される２つの１６ビットのデータを連結して３２ビットのデータを生成し、１ポートSRAM１４２に供給する。データ連結部１４１は、セレクタ１５１、遅延部１５２、およびパッキング部１５３を有する。
【０１１３】
セレクタ１５１は、連続して供給される１６ビットのデータ２つを１組とし、先に供給される一方を遅延部１５２に供給し、後に供給される他方をパッキング部１５３に振り分ける。遅延部１５２は、供給された１６ビットのデータのタイミングを１サイクル分（次のデータ供給タイミングまで）遅延させてからパッキング部１５３に供給する。つまり、パッキング部１５３には、２つの１６ビットデータが同時に供給される。パッキング部１５３は、それら２つの１６ビットデータを連結させて１つの３２ビットデータを生成し、その３２ビットデータを１ポートSRAM１４２に供給して保持させる。
【０１１４】
データ分割部１４３は、１ポートSRAM１４２より３２ビットデータを読み出し、１つの３２ビットデータを２つの１６ビットデータに分割して出力する。データ分割部１４３は、１６ビット分離部１５４、遅延部１５５、およびセレクタ１５６を有する。
【０１１５】
１６ビット分離部１５４は、１ポートSRAM１４２より読み出された３２ビットデータを上位１６ビットと下位１６ビットで分離し、２つの１６ビットデータを生成し、上位１６ビットの１６ビットデータをセレクタ１５６に供給し、下位１６ビットの１６ビットデータを遅延部１５５に供給する。遅延部１５５は、１６ビット分離部１５４より供給された下位１６ビットの１６ビットデータのタイミングを１サイクル分遅延させてからセレクタ１５６に供給する。セレクタ１５６は、１サイクル毎に、入力を１６ビット分離部１５４または遅延部１５５に交互に切り換える。これにより２つの１６ビットデータは連続的に順次出力される。
【０１１６】
１ポートSRAM１４２は、データの書き込みと読み出しを１系統で行う記憶媒体であり、制御部１０１に制御されて、データ連結部１４１のパッキング部１５３より供給される３２ビットデータを記憶し、記憶している３２ビットデータをデータ分割部１４３の１６ビット分離部１５４に出力する。
【０１１７】
データ記憶に使われるメモリの中でRAM（Random Access Memory）は、データの読み書きを電気的に行うため、動作が高速であるが、単位面積当たりの価格が高いため、大量には使いにくいという欠点がある。RAMの一種に、記憶素子としてフリップフロップ回路を用いるSRAMがある。SRAMは、記憶保持のための動作を必要とせず、高速動作が利点だが、回路が複雑になるので集積度が低減する恐れがある。つまり、集積度を向上させるためには、SRAMの容量をいかに少なくすることができるかが重要なポイントになる。
【０１１８】
一般に、SRAMには、データの入出力を同時に行うことができない１ポートSRAMと、データ入出力が同時に実行可能な２ポートSRAMの２つがあり、それぞれ、図１１Ａまたは図１１Ｂのような入出力端子を有する。
【０１１９】
つまり、１ポートSRAMは、図１１Ａに示されるように、一般的に、クロック信号「CLK」が入力される端子、チップイネーブル信号「CEN」が入力される端子、データ入出力を制御するイネーブル信号「EN」が入力される端子、３２ビットデータを書き込むアドレス、または、３２ビットデータを読み出すアドレスを指定するアドレス情報「ADR」が入力される端子、書き込み用の３２ビットデータ「WD」が入力される端子、および、読み出された３２ビットデータ「RD」が出力される端子を有する。
【０１２０】
これに対して、２ポートSRAMは、図１１Ｂに示されるように、一般的に、書き込み用のクロック信号「WCLK」が入力される端子、書き込み制御用のイネーブル信号「WEN」が入力される端子、３２ビットデータを書き込むアドレスを指定する書き込み用のアドレス情報「WADR」が入力される端子、書き込み用の３２ビットデータ「WD」が入力される端子、読み出し用のクロック信号「RCLK」が入力される端子、読み出し制御用のイネーブル信号「REN」が入力される端子、３２ビットデータを読み出すアドレスを指定する読み出し用のアドレス情報「RADR」が入力される端子、および、読み出された３２ビットデータ「RD」が出力される端子を有する。
【０１２１】
図１１Ａに示される１ポートSRAMの場合、チップイネーブル信号「CEN」は、読み出し動作と書き込み動作を切り替える信号であり、イネーブル信号「EN」とアドレス情報「ADR」の２つの信号は、読み出し動作と書き込み動作で共有されている。例えば、チップイネーブル信号「CEN」が読み出し動作を指定する場合、イネーブル信号「EN」は読み出し動作タイミングを制御する信号となり、アドレス情報「ADR」は読み出すデータのアドレスを指定する信号となる。逆に、チップイネーブル信号「CEN」が書き込み動作を指定する場合、イネーブル信号「EN」は書き込み動作タイミングを制御する信号となり、アドレス情報「ADR」はデータを書き込むアドレスを指定する信号となる。つまり、１ポートSRAMは、読み出し動作と書き込み動作を同時に行うことができない。
【０１２２】
これに対して、図１１Ｂに示される２ポートSRAMの場合、書き込み動作を制御する信号と読み出し動作を制御する信号が、互いに完全に独立している。つまり、２ポートSRAMは、自由なタイミングで読み出し動作および書き込み動作が可能であり、読み出し動作と書き込み動作を並行して行うこともできる。
【０１２３】
図１２は、１ポートSRAMと２ポートSRAMで、４つのデータの書き込みを行い、さらに、すぐにそれらのデータを読み出す場合のタイミングチャートを示す模式図である。図１２Ａは、１ポートSRAMの場合のタイミングチャートの例を示し、図１２Ｂは、２ポートSRAMの場合のタイミングチャートの例を示す。
【０１２４】
図１２Ａに示されるように、１ポートSRAMの場合、イネーブル信号「EN」に従って、４つのデータが連続的に書き込まれ（４サイクル）、SRAMのレイテンシ（遅延）により１サイクル経過後、書き込まれた４つのデータが、連続的に読み出される（４サイクル）。従って、１ポートSRAMは、４つのデータの書き込みおよび読み出しの処理に、合計９サイクルの時間を必要とする。なお、「サイクル」は、処理の同期タイミング、つまり、時分割の単位となる時間を示している。例えば、ここではデータの書き込みまたは読み出しのタイミング（またはその周期）を示している。
【０１２５】
これに対して、図１２Ｂに示されるように、２ポートSRAMの場合、書き込み制御用のイネーブル信号「WEN」、および、読み出し制御用のイネーブル信号「REN」の両方が存在するので、４つのデータの読み出し動作と書き込み動作は並列化することが出来る。従って図１２Ｂに示されるように、２ポートSRAMは、読み出し動作および書き込み動作が４サイクルで実行可能であり、１サイクルのレイテンシと合わせて合計５サイクルで処理を終了することができる。
【０１２６】
HDTV（High Definition Television）の場合、１ラインの水平サイズは１９２０画素であるので、その１ライン分の係数を１ポートSRAMに書き込み、さらに読み出すと、１９２０×２＝３８４０サイクル必要になってしまう。つまり、合成フィルタ処理において途中計算用バッファ部１１３として１ポートSRAMを単純に適用すると、遅延時間が増大してしまう恐れがある。
【０１２７】
このサイクル数を減らすためには、１ポートSRAMの代わりに２ポートSRAMを用いるようにすればよいが、２ポートSRAMは、内部に１ポートSRAMの構成を２つ有するのと略等価であり、製造コストが高価であり、かつ、回路面積が略２倍になる。通常の場合、メモリの回路規模は、LSI（Large Scale Integration）チップの中での占有率が高く、メモリ面積の増大はそのままチップ面積の増大に繋がる恐れがある。
【０１２８】
そこで、途中計算用バッファ部１１３として１ポートSRAMを適用し、図１０に示されるようにデータ連結部１４１を用いて１ポートSRAM１４２に書き込むデータを連結して３２ビット化し、また、１ポートSRAM１４２よりデータを３２ビット単位で読み出し、データ分割部１４３を用いてその３２ビットデータを２つの１６ビットデータに分離することにより、１ポートSRAM１４２に対するデータの読み出しと書き込みを並行して動作することができるようにする。
【０１２９】
図１３のタイミングチャートを参照して、図１０の途中計算用バッファ部１１３の各部の動作の流れについて説明する。
【０１３０】
図１３の上から４段目に示されるように、最初のサイクルにおいて供給される１６ビットの書き込み用データ（WD１６bit）「０」が供給されると、データ連結部１４１のセレクタ１５１は、そのデータ「０」を、遅延部１５２を介して１サイクル遅延させてパッキング部１５３に供給する。そして、２番目のサイクルにおいて供給される１６ビットの書き込み用データ「１」が供給されると、データ連結部１４１のセレクタ１５１は、そのデータ「１」をパッキング部１５３に供給する。パッキング部１５３は、２サイクル目において、それらのデータ「０」および「１」を連結して３２ビットの書き込み用データ（WD３２bit）「０，１」を生成し、図１３の上から１段目乃至３段目に示される書き込み指示に従って、そのデータ「０，１」をアドレス「０」に書き込む。
【０１３１】
また、データ連結部１４１のセレクタ１５１は、図１３の上から４段目に示されるように、３番目のサイクルにおいて１６ビットの書き込み用データ（WD１６bit）「２」が供給されると、そのデータ「２」を、遅延部１５２を介して１サイクル遅延させてパッキング部１５３に供給する。つまりこの３サイクル目においては、１ポートSRAM１４２への書き込みは行われない。
【０１３２】
従って、データ分割部１４３の１６ビット分離部１５４は、その３サイクル目において、図１３の上から１段目乃至３段目に示される読み出し指示に従って、アドレス「０」に書き込まれた３２ビットデータを読み出し、その読み出したデータ（RD３２bit）（「０，１」）を、２つの１６ビットデータ（データ「０」およびデータ「１」）に分離する。１６ビット分離部１５４は、分離した一方のデータ「０」をセレクタ１５６に供給するとともに、他方のデータ「１」を、遅延部１５５を介して１サイクル遅延させてセレクタ１５６に供給する。セレクタ１５６は、それらのデータ「０」およびデータ「１」を順次出力する（RD１６bit）。
【０１３３】
上述したように３サイクル目において遅延されてパッキング部１５３に供給されたデータ「２」は、４サイクル目においてデータ連結部１４１のセレクタ１５１より遅延部１５２を介さずにパッキング部１５３に供給された１６ビットの書き込み用データ「３」と、４サイクル目において連結され、３２ビットの書き込み用データ（WD３２bit）「２，３」が生成される。パッキング部１５３は、４サイクル目において、図１３の上から１段目乃至３段目に示される書き込み指示に従って、そのデータ「２，３」をアドレス「１」に書き込む。
【０１３４】
３サイクル目と同様に、データ分割部１４３の１６ビット分離部１５４は、５サイクル目において、図１３の上から１段目乃至３段目に示される読み出し指示に従って、アドレス「１」に書き込まれた３２ビットデータを読み出し、その読み出したデータ（RD３２bit）（「２，３」）を、２つの１６ビットデータ（データ「２」およびデータ「３」）に分離する。１６ビット分離部１５４は、分離した一方のデータ「２」をセレクタ１５６に供給するとともに、他方のデータ「３」を、遅延部１５５を介して１サイクル遅延させてセレクタ１５６に供給する。セレクタ１５６は、それらのデータ「２」およびデータ「３」を順次出力する（RD１６bit）。
【０１３５】
以上のように、２つの１６ビットデータを３２ビットデータとして１ポートSRAMに対して読み出しおよび書き込みを行うことにより、途中計算用バッファ部１１３は、データ連結部１４１による書き込み、およびデータ分割部１４３による読み出しを、時分割により、同時並行的に行うことができ、合計５サイクルで４つのデータを１ポートSRAM１４２に書き込み、さらに、読み出すことができる。なお、「サイクル」は、処理の同期タイミング、つまり、時分割の単位となる時間を示している。例えば、ここではデータの書き込みまたは読み出しのタイミング（またはその周期）を示している。
【０１３６】
このようにすることにより、ウェーブレット逆変換装置１００は、途中計算用バッファ部１１３の回路規模の増大を抑制するとともに、途中計算用バッファ部１１３を高速に動作させることができ、ウェーブレット逆変換における遅延時間の増大を抑制することができる。
【０１３７】
なお、以上においては１ポートSRAM１４２が３２ビット単位でデータの入出力を行うように説明したが、１ポートSRAM１４２に対するデータ入出力のデータ単位は任意である。また、途中計算用バッファ部１１３へのデータの入出力は１６ビット単位で行われるように説明したが、途中計算用バッファ部１１３に対するデータ入出力のデータ単位も任意である。つまり、図１０に示されるデータ連結部１４１およびデータ分割部１４３の構成は一例であり、実際には、１ポートSRAM１４２に対するデータ入出力のデータ単位と、途中計算用バッファ部１１３に対するデータ入出力のデータ単位によって決定される。
【０１３８】
しかしながら基本的な構造は図１０の例と同様である。つまり、データ連結部１４１は、途中計算用バッファ部１１３に入力される所定のデータ単位の複数のデータを連結して、１ポートSRAM１４２のデータ入力単位のデータを、１つまたは複数生成し、そのデータを１ポートSRAM１４２に供給して保持させる。また、データ分割部１４３は、１ポートSRAM１４２より、１ポートSRAM１４２のデータ出力単位のデータを読み出し、そのデータを、途中計算用バッファ部１１３のデータ出力単位の複数のデータに分離し、途中計算用バッファ部１１３より出力させる。１ポートSRAM１４２は、データ入出力単位でデータの読み出しと書き込みを交互に行う。
【０１３９】
また、図５の出力バッファ部１１６においても同様に１ポートSRAMを利用する。これにより、制御部１０１は、水平合成フィルタ部１１４より出力されたベースバンドの画像データを出力バッファ部１１６に記憶させると同時に、出力バッファ部１１６に保持されている係数データをレベル別バッファ部１２０に供給させることができる。
【０１４０】
図１４は、図５の出力バッファ部１１６の内部の構成例を示すブロック図である。図１４に示されるように、出力バッファ部１１６は、制御部１７１、セレクタ１７２、データ連結部１７３、１ポートSRAM１７４、およびデータ分割部１７５を有する。
【０１４１】
制御部１７１は、セレクタ１７２乃至データ分割部１７５の各部の動作を制御する。セレクタ１７２は、制御部１７１に制御されて、水平合成フィルタ部１１４（図５）より供給されるデータの供給先を決定する。例えば、セレクタ１７２は、水平合成フィルタ部１１４より供給されるサブバンドの係数データをデータ連結部１７３に供給する。また、セレクタ１７２は、水平合成フィルタ部１１４より供給されるベースバンドの画像データの２ラインのうち、一方をセレクタ１１７（図５）に供給し、他方をデータ連結部１７３に供給する。
【０１４２】
データ連結部１７３は、図１０のデータ連結部１４１に対応し、データ連結部１４１と同様の構成を有し、同様に動作する。１ポートSRAM１７４は、１ポートSRAM１４２と同様の構成を有し、同様に動作する。データ分割部１７５は、図１０のデータ分割部１４３に対応し、データ分割部１４３と同様の構成を有し、同様に動作する。
【０１４３】
つまり、データ連結部１７３は、セレクタ１５１と同様のセレクタ１８１、遅延部１５２と同様の遅延部１８２、並びに、パッキング部１５３と同様のパッキング部１８３を有し、図１５に示されるように、２サイクルに渡ってセレクタ１７２より供給される２つの１６ビットデータを連結して３２ビットデータを生成し、それを１サイクルで、１ポートSRAM１７４に供給して記憶させる。
【０１４４】
また、データ分割部１７５は、１６ビット分離部１５４と同様の１６ビット分離部１８４、遅延部１５５と同様の遅延部１８５、並びに、セレクタ１５６と同様のセレクタ１８６を有し、図１５に示されるように、１ポートSRAM１７４より３２ビットデータを１サイクルで読み出し、その３２ビットデータを分離して２つの１６ビットデータを生成し、それを２サイクルかけて外部に出力させる。このように、出力バッファ部１１６の１ポートSRAM１７４に対するデータの読み出しと書き込みは、図１５に示されるように、１サイクル毎に交互に繰り返され、３２ビットデータが読み書きされる。従って、読み出しと書き込みが同時並行的に行われる。
【０１４５】
つまり、図１４の点線で囲まれる部分は、図１０に示される途中計算用バッファ部１１３の構成と同様である。
【０１４６】
このような構成により、出力バッファ部１１６は、ベースバンドの画像データを１ポートSRAM１７４に記憶させると同時並行的に、１ポートSRAM１７４に記憶されている係数データを読み出してレベル別バッファ部１２０に供給することができる。
【０１４７】
次に、各処理の流れについて説明する。図１６のフローチャートを参照して、図５のウェーブレット逆変換装置１００によるウェーブレット逆変換処理の流れの例を説明する。ウェーブレット逆変換処理が開始されると、制御部１０１は、ステップＳ１０１において処理対象プレシンクトを初期化する。ステップＳ１０２において、制御部１０１は、所定のタイミングであるか否かを判定し、所定のタイミングであると判定するまで待機する。ステップＳ１０２において所定のタイミングであると判定された場合、処理はステップＳ１０３に進む。ステップＳ１０３において、垂直合成フィルタ部１１２および水平合成フィルタ部１１４は、１つ下位の分割レベルの係数データ１ライン、または、ベースバンドの画像データ１ラインを生成する、ライン単位ウェーブレット逆変換処理を実行する。このライン単位ウェーブレット逆変換処理の詳細については後述する。
【０１４８】
ライン単位ウェーブレット逆変換処理が終了すると処理はステップＳ１０４に進む。ステップＳ１０４において、制御部１０１は、プレシンクト内の全ての係数データを処理したか否かを判定する。処理していないと判定された場合、処理はステップＳ１０２に戻り、それ以降の処理が繰り返される。また、ステップＳ１０４において、プレシンクト内の全ての係数データを処理したと判定された場合、処理はステップＳ１０５に進む。
【０１４９】
ステップＳ１０５において、制御部１０１は、ピクチャ内の全てのプレシンクトを処理したか否かを判定する。未処理のプレシンクトが存在すると判定された場合、処理はステップＳ１０６に進む。ステップＳ１０６において、制御部１０１は、処理対象プレシンクトを更新し、次のプレシンクトを処理対象とする。ステップＳ１０６の処理が終了されると、処理はステップＳ１０２に戻りそれ以降の処理が繰り返される。
【０１５０】
また、ステップＳ１０５において、ピクチャ内の全てのプレシンクトを処理したと判定された場合、ウェーブレット逆変換処理は終了される。なお、このウェーブレット逆変換処理はピクチャ毎に実行される。
【０１５１】
次に、図１６のステップＳ１０３において実行されるライン単位ウェーブレット逆変換処理の流れの例を図１７および図１８のフローチャートを参照して説明する。
【０１５２】
ライン単位ウェーブレット逆変換処理が開始されると、制御部１０１は、ステップＳ１２１において、出力バッファ部１１６にベースバンドの画像データが存在するか否かを判定する。後述するように、ライン単位ウェーブレット逆変換処理が１回行われる毎にベースバンド画像データが２ライン生成される。生成されたベースバンド画像データは１ラインずつ出力するので、残りの１ラインは出力バッファ部１１６に蓄積され、次の所定のタイミング（図１６のステップＳ１０２において判定されるタイミング）において、つまり、次にライン単位ウェーブレット逆変換処理が実行される際に出力される。
【０１５３】
つまり、ステップＳ１２１の処理は、前回のライン単位ウェーブレット逆変換処理においてベースバンドの画像データが生成され、出力バッファ部１１６に蓄積されているか否かを判定する。
【０１５４】
出力バッファ部１１６にベースバンドの画像データが蓄積されていないと判定された場合、処理は、ステップＳ１２２に進む。
【０１５５】
ステップＳ１２２において、制御部１０１は、レベル別バッファ部１２０に係数データが存在するか否かを判定する。ウェーブレット逆変換処理においては、繰り返し実行される合成フィルタ処理のそれぞれにおいて、４つのサブバンドの係数が１ラインずつ合成されて１つ下位のレベルの低域サブバンドの係数が２ライン生成され、そのうち一方は出力バッファ部１１６を介してレベル別バッファ部１２０に保持される。詳細については後述するが、ライン単位ウェーブレット逆変換処理においては、ベースバンドの画像データを２ラインずつピクチャの上から順に生成するので、レベル別バッファ部１２０に係数が存在する場合、その係数から処理することになる。
【０１５６】
ステップＳ１２２において、レベル別バッファ部１２０に係数が存在しないと判定された場合、処理はステップＳ１２３に進む。ステップＳ１２３において、制御部１０１は、処理対象分割レベルを最上位レベルに設定する。ステップＳ１２３の処理が終了すると、処理は図１８のステップＳ１３１に進む。
【０１５７】
また、図１７のステップＳ１２２において、レベル別バッファ部１２０に係数が存在すると判定された場合、処理はステップＳ１２４に進む。ステップＳ１２４において、制御部１０１は、処理対象分割レベルを、係数データが存在する分割レベルのうち、最も下位のレベルに設定する。ステップＳ１２４の処理が終了すると、処理は図１８のステップＳ１３１に進む。
【０１５８】
図１８のステップＳ１３１において、制御部１０１は、処理対象分割レベルが最上位レベルであるか否かを判定する。最上位レベルであると判定された場合、処理はステップＳ１３２に進む。ステップＳ１３２において、垂直合成フィルタ部１１２は、セレクタ１１１を介して、処理対象プレシンクトの最上位レベルの全サブバンドの係数データを外部より取得する。係数データが取得されると処理はステップＳ１３５に進む。また、ステップＳ１３１において、処理対象分割レベルが最上位レベルでないと判定された場合、処理はステップＳ１３３に進む。ステップＳ１３３において、垂直合成フィルタ部１１２は、処理対象レベルの低域サブバンドの係数データを、セレクタ１１１を介して、レベル別バッファ部１２０の、処理対象分割レベルのバッファ部より取得する。また、垂直合成フィルタ部１１２は、ステップＳ１３４において、処理対象分割レベルの高域サブバンドの係数データを、セレクタ１１１を介して外部より取得する。ステップＳ１３４の処理が終了すると、処理はステップＳ１３５に進む。
【０１５９】
ステップＳ１３５において、垂直合成フィルタ部１１２は、垂直合成フィルタ処理（垂直合成フィルタリング）を実行する。垂直合成フィルタ処理の詳細については後述する。垂直合成フィルタ処理が終了すると、水平合成フィルタ部１１４は、ステップＳ１３６において、水平合成フィルタ処理（水平合成フィルタリング）を実行する。
【０１６０】
ステップＳ１３７において、制御部１０１は、ステップＳ１３６の水平フィルタ処理により、ベースバンドの画像データが生成されたか否かを判定する。生成されたのは途中レベルの係数データであると判定された場合、処理はステップＳ１３８に進む。ステップＳ１３８において、水平合成フィルタ部１１４は、セレクタ１１５を介して、生成した１つ下位のレベルの低域サブバンドの係数データ２ラインのうち、後の１ラインを出力バッファ部１１６に保存する。
【０１６１】
ステップＳ１３９において、水平合成フィルタ部１１４は、生成した１つ下位のレベルの低域サブバンドの係数データ２ラインのうち、先の１ラインをレベル別バッファ部１２０の１つ下位のレベルのバッファ部に保存する。ステップＳ１４０において、制御部１０１は、処理対象分割レベルを１つ下位の分割レベルに変更する。ステップＳ１４０の処理が終了すると処理はステップＳ１３１に戻りそれ以降の処理が繰り返される。
【０１６２】
つまり、ウェーブレット逆変換装置１００は、ベースバンドの画像データ２ラインを生成するまで、ステップＳ１３１乃至ステップＳ１４０の処理を繰り返し、処理対象分割レベルを１つずつ下位のレベルに遷移させながら各レベルにおいて合成フィルタ処理を行う。
【０１６３】
そして、分割レベル１において合成フィルタ処理が行われ、ステップＳ１３７において、ベースバンドの画像データが生成されたと判定された場合、処理はステップＳ１４１に進む。ステップＳ１４１において、出力バッファ部１１６は、水平合成フィルタ部１１４において生成された画像データ２ラインを取得し、後述するバッファ入出力処理を実行し、後の１ラインを内蔵する１ポートSRAM１７４に書き込むと同時に、１ポートSRAM１７４に記憶されている係数データを読み出す。
【０１６４】
出力バッファ部１１６は、ステップＳ１４２において、読み出した係数データを、セレクタ１１７を介して、レベル別バッファ部１２０の、それぞれに対応する分割レベルのバッファ部に書き込む。ステップＳ１４３において、出力バッファ部１１６は、水平合成フィルタ部１１４において生成された画像データ２ラインのうち、先の１ラインを、セレクタ１１７を介して外部に出力する。ステップＳ１４３の処理が終了すると、ライン単位ウェーブレット逆変換処理は終了され、図１６のステップＳ１０３に処理が戻され、ステップＳ１０４以降の処理が実行される。
【０１６５】
また、図１７のステップＳ１２１において、出力バッファ部１１６にベースバンドの画像データが１ライン存在すると判定された場合、処理は、ステップＳ１２５に進む。出力バッファ部１１６は、ステップＳ１２５において、内蔵する１ポートSRAM１７４よりそのベースバンドの画像データ１ラインを読み出し、セレクタ１１７を介して外部に出力する。画像データが出力されると、ライン単位ウェーブレット逆変換処理は終了され、図１６のステップＳ１０３に処理が戻され、ステップＳ１０４以降の処理が実行される。
【０１６６】
このように、合成フィルタ処理により２ラインずつ生成されるので、１ラインは出力バッファ部１１６に蓄積するようにし、出力バッファ部１１６にベースバンドの画像データが存在する場合は、その画像データを出力し、存在しない場合は、合成フィルタリング処理を行うことにより画像データを生成するようにしている。このようにすることにより、ウェーブレット逆変換装置１００は、ライン単位ウェーブレット逆変換処理を実行する度に、ベースバンドの画像データを所定のタイミングで１ラインずつ出力させることができる。
【０１６７】
次に、図１８のステップＳ１３５において実行される垂直合成フィルタ処理の詳細な流れの例を、図１９のフローチャートを参照して説明する。
【０１６８】
垂直フィルタ処理を開始すると、垂直合成フィルタ部１１２は、ステップＳ１６１において、図７および図８を参照して説明したような垂直方向の合成リフティング演算（垂直合成リフティング演算）を行い、ステップＳ１６２において、バッファ入出力処理を行い、途中計算用バッファ部１１３に対して、ステップＳ１６１の垂直合成リフティング演算により算出された係数を書き込むとともに、次の演算に必要な係数を読み出す。このデータの入力と出力を同時並行的に行うバッファ入出力処理の詳細については後述する。
【０１６９】
バッファ入出力処理が終了すると、垂直合成フィルタ部１１２は、ステップＳ１６３において、垂直合成フィルタ処理を終了するか否かを判定する。今回取得した全係数データについて垂直リフティング演算が終了しておらず、まだ未処理の係数が存在すると判定された場合、処理は、ステップＳ１６１に戻り、それ以降の処理が繰り返される。つまり、ステップＳ１６１およびステップＳ１６２の処理が繰り返し実行されることにより、取得した全ての係数に対して垂直リフティング演算が行われる。そして、ステップＳ１６３において、処理を終了すると判定された場合、つまり、今回取得された全ての係数に対して垂直リフティング演算が行われたと判定した場合、垂直合成フィルタ処理が終了される。
【０１７０】
次に、図１０の途中計算用バッファ部１１３により、図１９のステップＳ１６２において実行されるバッファ入出力処理の詳細の流れの例を図２０のフローチャートを参照して説明する。
【０１７１】
バッファ入出力処理が開始されると、データ分割部１４３は、ステップＳ１８１において、垂直合成フィルタ部１１２より指定された３２ビットデータを、バッファ、すなわち、１ポートSRAM１４２より読み出し、ステップＳ１８２において、読み出した３２ビットデータを２つの１６ビットデータに分割して外部、すなわち垂直合成フィルタ部１１２に出力する。ステップＳ１８３において、データ連結部１４１は、外部、すなわち垂直合成フィルタ部１１２より供給される書き込み用の２つの１６ビットデータを連結して１つの３２ビットデータにまとめ、ステップＳ１８４において、その書き込み用の３２ビットデータをバッファ、すなわち、１ポートSRAM１４２に書き込む。
【０１７２】
ステップＳ１８５においてデータ連結部１４１およびデータ分割部１４３は、データの読み出しおよび書き込みが全て終了したか否かを判定し、まだ読み出していないデータまたはまだ書き込んでいないデータが存在すると判定した場合、処理をステップＳ１８１に戻し、それ以降の処理を繰り返す。ステップＳ１８５において、データの読み出しおよび書き込みが全て終了されたと判定した場合、バッファ入出力処理が終了される。
【０１７３】
以上のように処理することにより、途中計算用バッファ部１１３は、図１３を参照して説明したように、読み出しと書き込みの処理を交互に行い、両処理を全体として同時並行的に実行することができる。
【０１７４】
なお、図１４を参照して説明したように、出力バッファ部１１６も図１０の途中計算用バッファ部１１３と同様の構成を有しており、ベースバンドの画像データ１ラインの書き込みと、係数データの読み出しとを同時並行的に実行することができる。つまり、図１８のステップＳ１４１において実行されるバッファ入出力処理も、図２０のフローチャートを参照して説明した途中計算用バッファ部１１３の場合と同様に行われる。従って、図２０のフローチャートを用いて行った説明は、図１８のステップＳ１４１において実行されるバッファ入出力処理にも適用することができる。ただし、１ポートSRAM１７４に書き込まれるベースバンドの画像データは、セレクタ１１５を介して水平合成フィルタ部１１４より供給され、１ポートSRAM１７４より読み出された各分割レベルの係数データは、セレクタ１１７を介してレベル別バッファ部１２０に供給される。
【０１７５】
以上のような、ライン単位ウェーブレット逆変換処理の流れの具体的な例を図２１に模式的に示す。図２１においては、各分割レベルにおける処理と各バッファの入出力について、係数データの遷移の様子が示されている。なおここでは、係数データの分割レベルは４とする。つまり、最上位レベルは４である。
【０１７６】
図２１の左上に示されるように、ライン単位ウェーブレット逆変換処理が開始されたとき処理対象分割レベルは最上位レベルに設定されるので、最初に分割レベル４のサブバンドＨＨの係数１ラインとサブバンドＬＨの係数１ラインよりなるデータ４ＨＨ／ＬＨ、および、サブバンドＨＬの係数１ラインとサブバンドＬＬの係数１ラインよりなるデータ４ＨＬ／ＬＬが外部、例えば、ウェーブレット逆変換装置１００の前段の処理部や記憶部等（いずれも図示せず）より垂直合成フィルタ部１１２に供給される（データ２０１およびデータ２０２）。つまり、垂直合成フィルタ部１１２には、分割レベル４の各サブバンドの係数が１ラインずつ入力される。
【０１７７】
垂直合成フィルタ部１１２および水平合成フィルタ部１１４は、これらの係数に対して合成フィルタ処理を行い、１つ下位の分割レベルの低域サブバンドの係数１ラインであるデータ３ＬＬ−１（データ２０３）およびデータ３ＬＬ−２（データ２０４）を生成する。つまり、垂直合成フィルタ部１１２および水平合成フィルタ部１１４は、合成フィルタ処理により、１つ下位の分割レベル（分割レベル３）の低域サブバンドの係数を２ライン生成する。
【０１７８】
それらの内、一方のデータ３ＬＬ−１（データ２０３）は、セレクタ１１５を介してレベル別バッファ部１２０のレベル３バッファ部１２１に供給されて記憶される（データ２０５）。他方のデータ３ＬＬ−２（データ２０４）は、出力バッファ部１１６に書き込まれて保持される（データ２０６）。
【０１７９】
ここで処理対象レベルが１つ下位のレベル３に設定される。垂直合成フィルタ部１１２は、外部より分割レベル３の高域サブバンドの係数を１ラインずつ取得するとともに、レベル３バッファ部１２１に保持されているデータ３ＬＬ−１を読み出して（データ２０８）取得する。つまり、垂直合成フィルタ部１１２には、データ３ＨＨ／ＬＨ（データ２０７）およびデータ３ＨＬ／ＬＬ（データ２０９）のように、分割レベル３の各サブバンドの係数が１ラインずつ入力される。データ３ＨＨ／ＬＨは、分割レベル３のサブバンドＨＨの係数１ラインとサブバンドＬＨの係数１ラインを示しており、データ３ＨＬ／ＬＬは、分割レベル３のサブバンドＨＬの係数１ラインとサブバンドＬＬの係数１ラインを示している。
【０１８０】
垂直合成フィルタ部１１２および水平合成フィルタ部１１４は、これらの係数に対して合成フィルタ処理を行い、１つ下位の分割レベルの低域サブバンドの係数１ラインであるデータ２ＬＬ−１（データ２１０）およびデータ２ＬＬ−２（データ２１１）を生成する。つまり、垂直合成フィルタ部１１２および水平合成フィルタ部１１４は、合成フィルタ処理により、１つ下位の分割レベル（分割レベル２）の低域サブバンドの係数を２ライン生成する。
【０１８１】
それらの内、一方のデータ２ＬＬ−１（データ２１０）は、セレクタ１１５を介してレベル別バッファ部１２０のレベル２バッファ部１２２に供給されて記憶される（データ２１２）。他方のデータ２ＬＬ−２（データ２１１）は、出力バッファ部１１６に書き込まれて保持される（データ２１３）。
【０１８２】
ここでまた処理対象レベルが１つ下位のレベル２に設定される。垂直合成フィルタ部１１２は、外部より分割レベル２の高域サブバンドの係数を１ラインずつ取得するとともに、レベル２バッファ部１２２に保持されているデータ２ＬＬ−１を読み出して（データ２２２）取得する。つまり、垂直合成フィルタ部１１２には、データ２ＨＨ／ＬＨ（データ２２１）およびデータ２ＨＬ／ＬＬ（データ２２３）のように、分割レベル２の各サブバンドの係数が１ラインずつ入力される。データ２ＨＨ／ＬＨは、分割レベル２のサブバンドＨＨの係数１ラインとサブバンドＬＨの係数１ラインを示しており、データ２ＨＬ／ＬＬは、分割レベル２のサブバンドＨＬの係数１ラインとサブバンドＬＬの係数１ラインを示している。
【０１８３】
垂直合成フィルタ部１１２および水平合成フィルタ部１１４は、これらの係数に対して合成フィルタ処理を行い、１つ下位の分割レベルの低域サブバンドの係数１ラインであるデータ１ＬＬ−１（データ２２４）およびデータ１ＬＬ−２（データ２２５）を生成する。つまり、垂直合成フィルタ部１１２および水平合成フィルタ部１１４は、合成フィルタ処理により、１つ下位の分割レベル（分割レベル１）の低域サブバンドの係数を２ライン生成する。
【０１８４】
それらの内、一方のデータ１ＬＬ−１（データ２２４）は、セレクタ１１５を介してレベル別バッファ部１２０のレベル１バッファ部１２３に供給されて記憶される（データ２２６）。他方のデータ１ＬＬ−２（データ２２５）は、出力バッファ部１１６に書き込まれて保持される（データ２２７）。
【０１８５】
ここでまた処理対象レベルが１つ下位のレベル１に設定される。垂直合成フィルタ部１１２は、外部より分割レベル１の高域サブバンドの係数を１ラインずつ取得するとともに、レベル１バッファ部１２３に保持されているデータ１ＬＬ−１を読み出して（データ２３２）取得する。つまり、垂直合成フィルタ部１１２には、データ１ＨＨ／ＬＨ（データ２３１）およびデータ１ＨＬ／ＬＬ（データ２３３）のように、分割レベル１の各サブバンドの係数が１ラインずつ入力される。データ１ＨＨ／ＬＨは、分割レベル１のサブバンドＨＨの係数１ラインとサブバンドＬＨの係数１ラインを示しており、データ１ＨＬ／ＬＬは、分割レベル１のサブバンドＨＬの係数１ラインとサブバンドＬＬの係数１ラインを示している。
【０１８６】
垂直合成フィルタ部１１２および水平合成フィルタ部１１４は、これらの係数に対して合成フィルタ処理を行い、それぞれがベースバンドの画像データ１ラインを示すベースバンド画像データ−１（データ２３４）およびベースバンド画像データ−２（データ２３５）を生成する。つまり、垂直合成フィルタ部１１２および水平合成フィルタ部１１４は、合成フィルタ処理により、ベースバンドの画像データを２ライン生成する。
【０１８７】
それらの内、一方のベースバンド画像データ−１（データ２３４）は、そのまま出力され（データ２３６）、他方のベースバンド画像データ−２（データ２３５）は、出力バッファ部１１６に書き込まれて保持される（データ２３７）。この書き込みと同時並行的に、出力バッファ部１１６に記憶されていた、分割レベル３の低域サブバンドの係数であるデータ３ＬＬ−２（データ２３８）は読み出されてレベル別バッファ部１２０のレベル３バッファ部１２１に供給されて記憶され（データ２３９）、分割レベル２の低域サブバンドの係数であるデータ２ＬＬ−２（データ２４０）は読み出されてレベル別バッファ部１２０のレベル２バッファ部１２２に供給されて記憶され（データ２４１）、分割レベル１の低域サブバンドの係数であるデータ１ＬＬ−２（データ２４２）は読み出されてレベル別バッファ部１２０のレベル１バッファ部１２３に供給されて記憶される（データ２４３）。
【０１８８】
図１７および図１８のフローチャートを参照して説明したライン単位ウェーブレット逆変換処理が１回行われる毎に、図２１に示されるようにデータが処理される。出力バッファ部１１６に記憶されたベースバンド画像データ−２（データ２３７）は、次回のライン単位ウェーブレット逆変換処理において外部に出力される。レベル別バッファ部１２０の各バッファに蓄積された係数は、さらにその次の回以降において処理される。
【０１８９】
以上のように、各分割レベルの合成フィルタ処理により下位の分割レベルの係数が２ラインずつ生成されるが、合成フィルタ処理においては１ラインずつしか処理されない。つまり、生成された２ラインの係数のうち、一方のラインは次の合成フィルタ処理に使用されるが、他方のラインは、次回以降のライン単位ウェーブレット逆変換処理まで不要になる。つまり、生成された２ラインを同時にレベル別バッファ部１２０に蓄積させる必要はない。そこで、ウェーブレット逆変換装置１００は、これらの２ライン係数の蓄積タイミングを互いにずらし、１ラインずつレベル別バッファ部１２０に蓄積させている。このようにすることにより、レベル別バッファ部１２０に必要な容量を低減させることができる。
【０１９０】
レベル別バッファ部１２０は、保持している係数を、頻繁にセレクタ１１１を介して垂直合成フィルタ部１１２に供給する必要があるため、データの読み書きに共有バスを介する必要がある外部メモリのような低速でのアクセスしかできないメモリで実現するようにすると、合成フィルタ処理の処理速度が極端に低下してしまい、ウェーブレット逆変換処理による遅延時間が増大する恐れがある。そこで、レベル別バッファ部１２０は、所謂キャッシュメモリのような、合成フィルタ処理が行われるCPUを含むLSIチップ内部に設けられ、共有バスを介さずに高速にアクセスが可能なメモリにより実現するのが望ましい。
【０１９１】
しかしながら、キャッシュメモリのメモリ容量が増大すると回路規模が増大してしまうため、LSIチップのチップサイズも増大してしまう。つまり、キャッシュメモリの容量の増大は装置の製造コストの増大に繋がる恐れがある。従って、キャッシュメモリの容量には実質的に上限があり、また、コスト低減のためには、小容量であるほど望ましい。
【０１９２】
そのため、レベル別バッファ部１２０に蓄積するデータ量が増大すると、小容量のキャッシュメモリでは容量が不足する恐れがある。その場合、低速で動作する外部メモリをバッファメモリとして使用しなければならなくなるが、上述したように、ウェーブレット逆変換処理による遅延時間が増大する恐れがある。また、この場合、キャッシュメモリで発生するミスヒットの処理やデータ退避等により、さらにその遅延時間が増大する恐れがある。
【０１９３】
従って、上述したように、合成フィルタ処理により生成された係数を１ラインずつレベル別バッファ部１２０に蓄積させるようにし、レベル別バッファ部１２０に必要な容量を低減させることにより、このような遅延時間の増大や製造コストの増大を低減させることができる。
【０１９４】
また、上述したように、ウェーブレット逆変換装置１００は、合成フィルタ処理により生成された係数２ラインのうち、直ぐにレベル別バッファ部１２０に蓄積させない方のラインは、出力バッファ部１１６に蓄積させる。
【０１９５】
出力バッファ部１１６は、本来、ベースバンドの画像データを１ラインずつ出力させるために、同時に２ライン生成されたベースバンドの画像データの一方のラインを蓄積するバッファである。換言すれば、ベースバンドの画像データが生成されるまでは使用されないので、上述したように、この未使用の期間を利用して、直ぐにレベル別バッファ部１２０に蓄積させない係数を、レベル別バッファ部１２０に蓄積させた係数の合成フィルタ処理が終了するまで一時的に蓄積させる。つまり、出力バッファ部１１６を利用して、レベル別バッファ部１２０への蓄積タイミングをずらしている。
【０１９６】
出力バッファ部１１６もレベル別バッファ部１２０と同様に、ウェーブレット逆変換処理による遅延時間を低減させるために、高速動作可能なキャッシュメモリにより実現するのが望ましいが、このように空き時間（ベースバンドの画像データが保持されていない期間に）を利用して係数を記憶させることにより、キャッシュメモリ（出力バッファ部１１６）の容量を増大させることなく、合成フィルタ処理により生成された係数を１ラインずつレベル別バッファ部１２０に蓄積させることができる。
【０１９７】
つまり、ウェーブレット逆変換装置１００は、係数データや画像データをバッファリングするキャッシュメモリの使用効率を向上させることにより、ウェーブレット逆変換処理においてデータ保持するバッファメモリとして必要なメモリ容量を低減することができる。
【０１９８】
なお、直ぐにレベル別バッファ部１２０に蓄積させない係数を外部メモリに退避させることも考えられるが、遅延時間を増大させないようにするためにはタイミング制御が複雑になる恐れがある。上述したように出力バッファ部１１６を利用することにより、容易に合成フィルタ処理により生成された係数を１ラインずつレベル別バッファ部１２０に蓄積させることができる。
【０１９９】
また、図１４のブロック図や図２０のフローチャートを参照して説明したように、出力バッファ部１１６は、ベースバンドの画像データの書き込みと係数の読み出しを同時並行的に実行することができるようになされている。このようにすることにより、係数を出力バッファ部１１６からレベル別バッファ部１２０に移動させることによる遅延時間の増大を抑制することができる。
【０２００】
次に、１プレシンクト分のウェーブレット逆変換処理の流れのより具体的な例を、図２２乃至図２４を参照して説明する。図２２乃至図２４において、丸で囲まれた数字は、プレシンクト内におけるラインの識別番号であり、本明細書においては、この識別番号を囲む丸は省略して説明する。また、ここでは分割レベル４でウェーブレット変換された係数に対するウェーブレット逆変換処理について説明する。
【０２０１】
図２２に示されるように、１回目のライン単位ウェーブレット逆変換処理が開始されると、最初に、最上位レベルである分割レベル４の各サブバンドの係数１ラインずつ（４ＬＬ／ＨＬ／ＬＨ／ＨＨ）について、合成フィルタ処理が行われる（矢印Ｓ１）。この合成フィルタ処理により、分割レベル３の低域サブバンドの１ライン目の係数３ＬＬ１と、２ライン目の係数３ＬＬ２が生成される（矢印Ｓ２）。次に、その１ライン目の係数３ＬＬ１と、新たに入力された分割レベル３の高域サブバンドの係数１ラインずつ（３ＨＬ／ＬＨ／ＨＨ）について、合成フィルタ処理が行われ（矢印Ｓ３）、分割レベル２の低域サブバンドの１ライン目の係数２ＬＬ１と、２ライン目の係数２ＬＬ２が生成される（矢印Ｓ４）。続いて、その１ライン目の係数２ＬＬ１と、新たに入力された分割レベル２の高域サブバンドの係数１ラインずつ（２ＨＬ／ＬＨ／ＨＨ）について、合成フィルタ処理が行われ（矢印Ｓ５）、分割レベル１の低域サブバンドの１ライン目の係数１ＬＬ１と、２ライン目の係数１ＬＬ２が生成される（矢印Ｓ６）。さらに、その１ライン目の係数１ＬＬ１と、新たに入力された分割レベル１の高域サブバンドの係数１ラインずつ（１ＨＬ／ＬＨ／ＨＨ）について、合成フィルタ処理が行われ（矢印Ｓ７）、ベースバンドの１ライン目の画像データBase１と、２ライン目の画像データBase２が生成される（矢印Ｓ８）。
【０２０２】
１ライン目の画像データBase１は直ぐに外部に出力され、２ライン目の画像データBase２は、一旦出力バッファ部１１６に保持され、次の出力タイミング（２回目のライン単位ウェーブレット逆変換処理）において出力される。
【０２０３】
３回目のライン単位ウェーブレット逆変換処理が開始されるとき、１回目のライン単位ウェーブレット逆変換処理において生成された分割レベル３の低域サブバンドの２ライン目の係数３ＬＬ２、分割レベル２の低域サブバンドの２ライン目の係数２ＬＬ２、および分割レベル１の低域サブバンドの２ライン目の係数１ＬＬ２が、レベル別バッファ部１２０に蓄積されている。従って、３回目のライン単位ウェーブレット逆変換処理では、それらのうち最も下位レベルの係数である分割レベル１の低域サブバンドの２ライン目の係数１ＬＬ２を処理対象とする。つまり、その分割レベル１の低域サブバンドの２ライン目の係数１ＬＬ２と、新たに入力された分割レベル１の高域サブバンドの係数１ラインずつ（１ＨＬ／ＬＨ／ＨＨ）について、合成フィルタ処理が行われ（矢印Ｓ９）、ベースバンドの３ライン目の画像データBase３と、４ライン目の画像データBase４が生成される（矢印Ｓ１０）。
【０２０４】
３ライン目の画像データBase３は直ぐに外部に出力され、４ライン目の画像データBase４は、一旦出力バッファ部１１６に保持され、次の出力タイミング（４回目のライン単位ウェーブレット逆変換処理）において出力される。
【０２０５】
５回目のライン単位ウェーブレット逆変換処理が開始されるとき、分割レベル１の低域サブバンドの２ライン目の係数１ＬＬ２は処理されたので、分割レベル３の低域サブバンドの２ライン目の係数３ＬＬ２と、分割レベル２の低域サブバンドの２ライン目の係数２ＬＬ２が、レベル別バッファ部１２０に蓄積されている。従って、５回目のライン単位ウェーブレット逆変換処理では、それらのうち最も下位レベルの係数である分割レベル２の低域サブバンドの２ライン目の係数２ＬＬ２を処理対象とする。つまり、その分割レベル２の低域サブバンドの２ライン目の係数２ＬＬ２と、新たに入力された分割レベル２の高域サブバンドの係数１ラインずつ（２ＨＬ／ＬＨ／ＨＨ）について、合成フィルタ処理が行われ（矢印Ｓ１１）、図２３に示されるように、分割レベル１の低域サブバンドの３ライン目の係数１ＬＬ３と、４ライン目の係数１ＬＬ４が生成される（矢印Ｓ１２）。さらに、その分割レベル１の低域サブバンドの３ライン目の係数１ＬＬ３と、新たに入力された分割レベル１の高域サブバンドの係数１ラインずつ（１ＨＬ／ＬＨ／ＨＨ）について、合成フィルタ処理が行われ（矢印Ｓ１３）、ベースバンドの５ライン目の画像データBase５と、６ライン目の画像データBase６が生成される（矢印Ｓ１４）。
【０２０６】
５ライン目の画像データBase５は直ぐに外部に出力され、６ライン目の画像データBase６は、一旦出力バッファ部１１６に保持され、次の出力タイミング（６回目のライン単位ウェーブレット逆変換処理）において出力される。
【０２０７】
７回目のライン単位ウェーブレット逆変換処理が開始されるとき、１回目のライン単位ウェーブレット逆変換処理において生成された分割レベル３の低域サブバンドの２ライン目の係数３ＬＬ２と、５回目のライン単位ウェーブレット逆変換処理において生成された分割レベル１の低域サブバンドの４ライン目の係数１ＬＬ４が、レベル別バッファ部１２０に蓄積されている。従って、７回目のライン単位ウェーブレット逆変換処理では、それらのうち最も下位レベルの係数である分割レベル１の低域サブバンドの４ライン目の係数１ＬＬ４を処理対象とする。つまり、その分割レベル１の低域サブバンドの４ライン目の係数１ＬＬ４と、新たに入力された分割レベル１の高域サブバンドの係数１ラインずつ（１ＨＬ／ＬＨ／ＨＨ）について、合成フィルタ処理が行われ（矢印Ｓ１５）、ベースバンドの７ライン目の画像データBase７と、８ライン目の画像データBase８が生成される（矢印Ｓ１６）。
【０２０８】
７ライン目の画像データBase７は直ぐに外部に出力され、８ライン目の画像データBase８は、一旦出力バッファ部１１６に保持され、次の出力タイミング（８回目のライン単位ウェーブレット逆変換処理）において出力される。
【０２０９】
９回目のライン単位ウェーブレット逆変換処理が開始されるとき、１回目のライン単位ウェーブレット逆変換処理において生成された分割レベル３の低域サブバンドの２ライン目の係数３ＬＬ２のみが、レベル別バッファ部１２０に蓄積されている。従って、９回目のライン単位ウェーブレット逆変換処理では、その分割レベル３の低域サブバンドの２ライン目の係数３ＬＬ２を処理対象とする。つまり、その分割レベル３の低域サブバンドの２ライン目の係数３ＬＬ２と、新たに入力された分割レベル３の高域サブバンドの係数１ラインずつ（３ＨＬ／ＬＨ／ＨＨ）について、合成フィルタ処理が行われ（矢印Ｓ１７）、分割レベル２の低域サブバンドの３ライン目の係数２ＬＬ３と、４ライン目の係数２ＬＬ４が生成される（矢印Ｓ１８）。さらに、その分割レベル２の低域サブバンドの３ライン目の係数２ＬＬ３と、新たに入力された分割レベル２の高域サブバンドの係数１ラインずつ（２ＨＬ／ＬＨ／ＨＨ）について、合成フィルタ処理が行われ（矢印Ｓ１９）、分割レベル１の低域サブバンドの５ライン目の係数１ＬＬ５と、６ライン目の係数１ＬＬ６が生成される（矢印Ｓ２０）。さらに、その分割レベル１の低域サブバンドの５ライン目の係数１ＬＬ５と、新たに入力された分割レベル１の高域サブバンドの係数１ラインずつ（１ＨＬ／ＬＨ／ＨＨ）について、合成フィルタ処理が行われ（矢印Ｓ２１）、図２４に示されるように、ベースバンドの９ライン目の画像データBase９と、１０ライン目の画像データBase１０が生成される（矢印Ｓ２２）。
【０２１０】
９ライン目の画像データBase９は直ぐに外部に出力され、１０ライン目の画像データBase１０は、一旦出力バッファ部１１６に保持され、次の出力タイミング（１０回目のライン単位ウェーブレット逆変換処理）において出力される。
【０２１１】
１１回目のライン単位ウェーブレット逆変換処理が開始されるとき、９回目のライン単位ウェーブレット逆変換処理において生成された分割レベル２の低域サブバンドの４ライン目の係数２ＬＬ４および分割レベル１の低域サブバンドの６ライン目の係数１ＬＬ６が、レベル別バッファ部１２０に蓄積されている。従って、１１回目のライン単位ウェーブレット逆変換処理では、それらのうち最も下位レベルの係数である分割レベル１の低域サブバンドの６ライン目の係数１ＬＬ６を処理対象とする。つまり、その分割レベル１の低域サブバンドの６ライン目の係数１ＬＬ６と、新たに入力された分割レベル１の高域サブバンドの係数１ラインずつ（１ＨＬ／ＬＨ／ＨＨ）について、合成フィルタ処理が行われ（矢印Ｓ２３）、ベースバンドの１１ライン目の画像データBase１１と、１２ライン目の画像データBase１２が生成される（矢印Ｓ２４）。
【０２１２】
１１ライン目の画像データBase１１は直ぐに外部に出力され、１２ライン目の画像データBase１２は、一旦出力バッファ部１１６に保持され、次の出力タイミング（１２回目のライン単位ウェーブレット逆変換処理）において出力される。
【０２１３】
１３回目のライン単位ウェーブレット逆変換処理が開始されるとき、分割レベル１の低域サブバンドの６ライン目の係数１ＬＬ６は処理されたので、分割レベル２の低域サブバンドの４ライン目の係数２ＬＬ４がレベル別バッファ部１２０に蓄積されている。従って、１３回目のライン単位ウェーブレット逆変換処理では、その分割レベル２の低域サブバンドの４ライン目の係数２ＬＬ４を処理対象とする。つまり、その分割レベル２の低域サブバンドの４ライン目の係数２ＬＬ４と、新たに入力された分割レベル２の高域サブバンドの係数１ラインずつ（２ＨＬ／ＬＨ／ＨＨ）について、合成フィルタ処理が行われ（矢印Ｓ２５）、分割レベル１の低域サブバンドの７ライン目の係数１ＬＬ７と、８ライン目の係数１ＬＬ８が生成される（矢印Ｓ２６）。さらに、その分割レベル１の低域サブバンドの７ライン目の係数１ＬＬ７と、新たに入力された分割レベル１の高域サブバンドの係数１ラインずつ（１ＨＬ／ＬＨ／ＨＨ）について、合成フィルタ処理が行われ（矢印Ｓ２７）、ベースバンドの１３ライン目の画像データBase１３と、１４ライン目の画像データBase１４が生成される（矢印Ｓ２８）。
【０２１４】
１３ライン目の画像データBase１３は直ぐに外部に出力され、１４ライン目の画像データBase１４は、一旦出力バッファ部１１６に保持され、次の出力タイミング（１４回目のライン単位ウェーブレット逆変換処理）において出力される。
【０２１５】
１５回目のライン単位ウェーブレット逆変換処理が開始されるとき、１３回目のライン単位ウェーブレット逆変換処理において生成された分割レベル１の低域サブバンドの８ライン目の係数１ＬＬ８が、レベル別バッファ部１２０に蓄積されている。従って、１５回目のライン単位ウェーブレット逆変換処理では、その分割レベル１の低域サブバンドの８ライン目の係数１ＬＬ８を処理対象とする。つまり、その分割レベル１の低域サブバンドの８ライン目の係数１ＬＬ８と、新たに入力された分割レベル１の高域サブバンドの係数１ラインずつ（１ＨＬ／ＬＨ／ＨＨ）について、合成フィルタ処理が行われ（矢印Ｓ２９）、ベースバンドの１５ライン目の画像データBase１５と、１６ライン目の画像データBase１６が生成される（矢印Ｓ３０）。
【０２１６】
１５ライン目の画像データBase１５は直ぐに外部に出力され、１６ライン目の画像データBase１６は、一旦出力バッファ部１１６に保持され、次の出力タイミング（１６回目のライン単位ウェーブレット逆変換処理）において出力される。
【０２１７】
以上のように１６回ライン単位ウェーブレット逆変換処理を繰り返すことにより、１プレシンクト分のベースバンドの画像データ（１６ライン）が生成され出力される。次のプレシンクトについては、上述したのと同様に処理が繰り返される（矢印Ｓ３１）。
【０２１８】
このように、ウェーブレット逆変換装置１００は、ライン単位ウェーブレット逆変換処理を繰り返し実行することにより、ベースバンドの画像データを上から順に２ラインずつ生成して１ラインずつ出力するように処理対象を選択しながら、合成フィルタ処理を繰り返す。これにより、ウェーブレット逆変換装置１００は、ベースバンドの画像データを所定のタイミング毎に出力させることができる。
【０２１９】
また、ウェーブレット逆変換装置１００は、ベースバンドの画像データを２ラインずつ生成するが、その際、上述したように、その２ラインの生成に必要な合成フィルタ処理のみを実行する。つまり、ウェーブレット逆変換装置１００は、合成フィルタ処理により生成された係数２ラインのうち、一方の１ラインを出力バッファに保持させるとともに、他方の１ラインをレベル別バッファ部１２０に保持させ、そのレベル別バッファ部１２０に保持した１ラインを優先的に再度合成フィルタ処理し、２ラインの係数を生成する。ウェーブレット逆変換装置１００は、ベースバンドの画像データを２ライン生成するまでこれを繰り返す。そして、ベースバンドの画像データが生成され、レベル別バッファ部１２０に保持している係数が全て処理されると、ウェーブレット逆変換装置１００は、出力バッファ部１１６に保持させた係数を読み出してレベル別バッファ部１２０に保持させ、その係数について、分割レベルがより下位のレベルの係数から優先的に合成フィルタ処理を行う。その際もウェーブレット逆変換装置１００は、上述したように合成フィルタ処理を繰り返す。
【０２２０】
このようにすることにより、ウェーブレット逆変換装置１００は、ベースバンドの画像データを上から順に２ラインずつ生成することができるだけでなく、ベースバンドの画像データの各２ラインを生成するための負荷を低減させることができ、さらに、例えば合成フィルタ処理により生成された係数データやベースバンドの画像データ等、保持しなければならないデータのデータ量を低減させることができ、バッファに必要なメモリ容量を低減させることができる。これにより製造コストを低減させることもできる。
【０２２１】
さらに、付言するに、ウェーブレット逆変換装置１００は、ベースバンドの画像データの２ラインを生成する際に、その２ラインの生成に必要な合成フィルタ処理のみを行うので、ベースバンドの画像データの各２ラインの生成間隔を低減させることができる。つまり、ウェーブレット逆変換装置１００は、より短い間隔でベースバンドの画像データを１ラインずつ出力させることができる。
【０２２２】
ウェーブレット逆変換装置１００が処理する画像データは、例えばテレビジョン信号等がある。上述したようにウェーブレット逆変換装置１００は１ラインずつベースバンドの画像データを出力するが、この間隔をテレビジョン信号の水平同期タイミングに合わせることにより、ウェーブレット逆変換装置１００が、テレビジョン信号をリアルタイムに（即時的に）生成するようにすることができる。つまり、この場合、ウェーブレット逆変換装置１００は、例えばバッファリング無しに出力画像データをモニタに表示させることができるように、入力された係数データをリアルタイムにウェーブレット逆変換することができる。なお、ここでリアルタイムとは、例えばテレビジョン信号等の水平同期タイミングに合わせてベースバンドの画像データを１ラインずつ出力させることができることを示しており、ウェーブレット変換処理による遅延時間がゼロであることを示すものではない。
【０２２３】
図２５は、SMPTE（Society of Motion Picture and Television Engineers）規格292MのHD-SDI（High Definition Serial Digital Interface）信号（１．５Gbps）で定義されている解像度１９２０×１０８０、YCｂCr４：２：２フォーマット、各サンプル１０ビットの多重化されたデータ形式を示す模式図である。このデータ形式においては、SAV(Start of Active Video)とEAV(End of Active Video）の間に１９２０画素のベースバンドのデータがＹ（輝度）と、Cb,Cr（色差）とに多重化されて配置される。EAVと次のSAVの間には水平ブランキング期間を示すラインブランキングが配置される。
【０２２４】
このようなデータ形式でベースバンドの画像データをリアルタイムに生成するためには、ウェーブレット逆変換装置１００は、SAVから次のSAVの間に、ベースバンドの画像データを生成する必要がある。上述したように、ウェーブレット逆変換装置１００は、ベースバンドの画像データの２ラインを生成する際に、その２ラインの生成に必要な合成フィルタ処理のみを行うので、より短い間隔でベースバンドの画像データを１ラインずつ出力させることができ、容易に、このSAV毎にベースバンドの画像データを１ラインずつ出力させることができる。
【０２２５】
なお実際には、上述したウェーブレット変換やウェーブレット逆変換などの処理は、例えば画像データの転送システムや記録再生システム等に適用され、エントロピ符号化およびエントロピ復号等の他の処理とともに利用されることが多い。
【０２２６】
以下にウェーブレット逆変換装置１００の適用例について説明する。図２６は、本発明を適用したウェーブレット逆変換装置１００を用いた画像伝送システムの構成例を示すブロック図である。
【０２２７】
図２６に示される画像伝送システム３００は、図２５に示されるデータ形式の画像データを符号化して伝送するシステムであり、伝送元となる符号化装置３０１と、伝送先の復号装置３０２を有する。
【０２２８】
符号化装置３０１は、外部より入力された画像データを符号化し、その符号化データを復号装置３０２に伝送させる装置であり、ウェーブレット変換部３１１、係数並び替え用バッファ部３１３、係数並び替え部３１４、量子化部３１５、およびエントロピ符号化部３１６を有する。
【０２２９】
符号化装置３０１の外部より入力された画像データは、ウェーブレット変換部３１１において、図１乃至図４を参照して説明したように、ウェーブレット逆変換装置１００によるウェーブレット逆変換処理に対応する方法でウェーブレット係数に変換され、係数並び替え用バッファ部３１３に格納される。係数並び替え用バッファ部３１３に格納された係数データは、係数並び替え部３１４により、ウェーブレット逆変換処理において処理される順に読み出され、量子化部３１５において量子化され、エントロピ符号化部３１６において符号化され、符号化データに変換される。エントロピ符号化部３１６において生成された符号化データは、復号装置３０２に供給される。
【０２３０】
復号装置３０２は、符号化装置３０１より伝送された符号化データを復号し、逆ウェーブレット変換することにより、ベースバンドの画像データを復元して出力する装置であり、エントロピ復号部３２１、逆量子化部３２２、およびウェーブレット逆変換部３２３を有する。つまり、符号化装置３０１より供給された符号化データは、エントロピ復号部３２１において復号され、逆量子化部３２２において逆量子化され、ウェーブレット逆変換部３２３においてウェーブレット逆変換されることにより、ベースバンドの画像データに変換されて復号装置３０２の外部に出力される。
【０２３１】
このウェーブレット逆変換部３２３は、上述したウェーブレット逆変換装置１００に対応しており、基本的に同様の構成を有し、同様の処理を行う。従って、ウェーブレット逆変換部３２３は、水平同期タイミングに合わせて１ラインずつ画像データを出力するようにウェーブレット逆変換処理を行うことができる。
【０２３２】
エントロピ復号部３２１は、制御部３３１、符号入力部３４１、復号部３４２、および係数出力部３４３を有する。エントロピ復号部３２１に供給された符号化データは、符号入力部３４１において受け付けられ、復号部３４２において復号され、係数データに変換される。生成された係数データは、係数出力部３４３より逆量子化部３２２に出力される。制御部３３１は、復号部３４２の入出力、すなわち、符号入力部３４１および係数出力部３４３を制御することにより、復号部３４２により実行される復号処理の実行タイミングを制御する。また、制御部３３１は、逆量子化部３２２およびウェーブレット逆変換部３２３に、画像データの水平同期タイミングを示すクロック信号を供給する。
【０２３３】
復号部３４２、逆量子化部３２２、およびウェーブレット逆変換部３２３は、この制御部３３１による制御に基づいて各処理を実行し、水平同期タイミングに合わせてベースバンドの画像データを１ラインずつ出力するように、入力された符号化データを復号し、逆量子化し、ウェーブレット逆変換する。
【０２３４】
このような、復号装置３０２により実行される復号処理の流れの例を図２７のフローチャートを参照して説明する。この復号処理はピクチャ毎に繰り返し実行される。
【０２３５】
復号処理が開始されると、制御部３３１は、ステップＳ２０１において、処理対象プレシンクトを初期化し、ステップＳ２０２において、水平ブランキング期間（水平同期タイミング）に対応する所定のタイミングであるか否かを判定し、所定のタイミングになるまで待機する。
【０２３６】
ステップＳ２０２において所定のタイミングであると判定された場合、処理はステップＳ２０３に進む。
【０２３７】
ステップＳ２０３において、ウェーブレット逆変換部３２３の出力バッファ部にベースバンドの画像データが存在するか否かを判定する。出力バッファ部にベースバンドの画像データが存在しないと判定された場合、処理はステップＳ２０４に進む。ステップＳ２０４において、復号部３４２は、制御部３３１に制御される符号入力部３４１を介して符号化データを取得し、その符号化データをエントロピ復号して係数データに変換する。復号部３４２は、生成した係数データを、制御部３３１に制御される係数出力部３４３を介して逆量子化部３２２に供給する。ステップＳ２０５において、逆量子化部３２２は、その係数データを逆量子化し、逆量子化された係数データをウェーブレット逆変換部３２３に供給する。
【０２３８】
ステップＳ２０５の処理が終了すると処理はステップＳ２０６に進む。また、ステップＳ２０３において、出力バッファ部にベースバンドの画像データが存在しないと判定された場合、その出力バッファ部の画像データを出力させることが優先され、ステップＳ２０４およびステップＳ２０５の処理が省略され、処理はステップＳ２０６に進む。
【０２３９】
ステップＳ２０６において、ウェーブレット逆変換部３２３は、制御部３３１より供給される制御タイミングに応じて、図１７および図１８のフローチャートを参照して説明したようにライン単位ウェーブレット逆変換処理を実行し、ベースバンドの画像データ２ラインを生成して出力する。
【０２４０】
ステップＳ２０７において、制御部３３１は、プレシンクト内の全ての係数データを処理したか否かを判定し、未処理のデータが存在すると判定した場合、処理をステップＳ２０２に戻し、それ以降の処理を繰り返させる。また、ステップＳ２０７において、プレシンクト内の全ての係数データを処理したと判定された場合、処理はステップＳ２０８に進む。
【０２４１】
ステップＳ２０８において、制御部３３１は、ピクチャ内の全てのプレシンクトを処理したか否かを判定する。未処理のプレシンクトが存在すると判定された場合、処理はステップＳ２０９に進む。ステップＳ２０９において、制御部３３１は、処理対象プレシンクトを次のプレシンクトに更新し、処理をステップＳ２０２に戻す。そして、ステップＳ２０８において、ピクチャ内の全てのプレシンクトを処理したと判定した場合、制御部３３１は、そのピクチャに対する復号処理を終了する。
【０２４２】
以上のように、復号装置３０２においては、制御部３３１の制御に従って、ライン単位ウェーブレット逆変換処理が、所定のタイミング、すなわち、水平同期タイミングに応じて繰り返し実行される。
【０２４３】
このようにすることにより、復号装置３０２は、水平同期タイミングに合わせて１ラインずつ出力させることができる。つまり、復号装置３０２は、リアルタイムに符号化データを復号しベースバンドの画像データを復元させることができる。
【０２４４】
図２８は、その場合のベースバンドの画像データの出力の様子を示す模式図である。図２８に示されるようにベースバンドの画像データ（ベースバンド画像データ−１およびベースバンド画像データ−２）は、水平同期タイミング（H-Sync）毎に１ラインずつ出力される。ただし、図２８に示されるように、このベースバンドの画像データは２ラインずつ生成される（ベースバンド画像データ−１およびベースバンド画像データ−２）。つまり、生成された２ラインのうち、一方の１ラインが（Ａ）のように、生成されたときの水平同期タイミングにおいて直接出力され、他方の１ラインは、（Ｂ）のように出力バッファ部１１６に書き込まれ、次の水平同期タイミングにおいて、（Ｃ）のように出力バッファ部１１６より読み出されて出力される。
【０２４５】
従って、図２８に示されるように、エントロピ復号処理（VLD）、逆量子化処理（IQ）、およびウェーブレット逆変換処理（IDWT）を水平同期タイミング間に行う必要がある。ウェーブレット逆変換部３２３（ウェーブレット逆変換装置１００）は、上述したような順序で合成フィルタ処理を進めることにより、ベースバンドの画像データの生成間隔をより短くすることができるので、図２８のようなタイミングでのリアルタイムな復号処理を容易に実現することができる。
【０２４６】
以上においては画像データの伝送システムについて説明したが、本発明を適用したウェーブレット逆変換装置１００は、その他のシステムにも適用することができる。ただし、遅延時間の増大による不利益が大きく、より遅延時間の低減が求められるシステムほど、その効果は大きい。
【０２４７】
以上においては、ウェーブレット逆変換装置１００において、合成フィルタ処理により生成された係数データの一部を、ベースバンドの画像データが蓄積されていないときに、出力バッファ部１１６に保持させるように説明した。これにより、出力バッファ部１１６に同時に記憶されるデータ量を増大させずに、レベル別バッファ部１２０に同時に記憶されるデータ量を低減させることができる。つまり、ウェーブレット逆変換装置１００は、係数データや画像データをバッファリングするキャッシュメモリの使用効率を向上させることにより、ウェーブレット逆変換処理においてデータ保持するバッファメモリとして必要なメモリ容量を低減することができる。また、これにより、ウェーブレット逆変換装置１００は、キャッシュメモリより係数データや画像データが溢れる（係数データや画像データが外部メモリに退避されてしまう）ことも抑制することができ、製造コストを増大させずに、容易に、より高速にウェーブレット逆変換処理を実行することができる。
【０２４８】
つまり、このような効果を得るためには、ウェーブレット逆変換装置１００に出力バッファ部１１６を設け、合成フィルタ処理により生成された係数データの一部を、ベースバンドの画像データが蓄積されていないときに、その出力バッファ部１１６に保持させればよく、それ以外の構成や処理手順等の適用は任意である。例えば、最上位レベルから最下位レベルに向かって、分割レベル毎に合成フィルタ処理を行うようにしてもよい。ただし、ベースバンドの画像データを２ラインずつ生成するように合成フィルタ処理を行う場合の方が、保持するデータ量をより低減させることができる。また、以上においてはプレシンクト単位でウェーブレット変換や符号化、または、復号やウェーブレット逆変換が行われるように説明したが、ピクチャ全体を単位としてウェーブレット変換や符号化、または、復号やウェーブレット逆変換が行われるようにしてももちろんよい。ただし、その場合、プレシンクト単位で行う場合の方が、ウェーブレット逆変換処理の遅延時間を低減させることができ、係数の保持に必要なバッファのメモリ量も低減させることが出来る。これと同様に、例えば、出力バッファ部１１６の構成を図１４に示されるような構成にする等、上述した他の構成や処理を適用することにより、それぞれについて説明した効果を得ることができる。
【０２４９】
また、以上においては、ウェーブレット逆変換装置１００が、合成フィルタ処理により得られた２ラインの係数データのうち、一方の１ラインを保持しておき、他方の１ラインについてさらに合成フィルタ処理行うように、最上位レベルから最下位レベルまで合成フィルタ処理を繰り返し、さらに、保持した係数データについては、より下位レベルの係数データから優先的に合成フィルタ処理を行うようにすることにより、ベースバンドの画像データを２ラインずつ生成するように説明した。このようにすることにより、保持する係数データのデータ量を低減させたり、ウェーブレット逆変換を低遅延かつ高速に行うようにしたり、より短い間隔でベースバンドの画像データを１ラインずつ出力させたり、コストの増大を抑制したりすることができる。
【０２５０】
つまり、このような効果を得るためには、ウェーブレット逆変換装置１００が、合成フィルタ処理により得られた２ラインの係数データのうち、一方の１ラインを保持しておき、他方の１ラインについてさらに合成フィルタ処理行うように、最上位レベルから最下位レベルまで合成フィルタ処理を繰り返し、さらに、保持した係数データについては、より下位レベルの係数データから優先的に合成フィルタ処理を行うようにすることにより、ベースバンドの画像データを２ラインずつ生成するようにすればよく、それ以外の構成や処理手順等の適用は任意である。例えば、出力バッファ部１１６に係数データを保持させないようにしてもよい。ただし、出力バッファ部１１６に係数データを保持させる場合の方が、キャッシュメモリのメモリ容量の増大、または、キャッシュメモリより係数データや画像データが溢れることを抑制することができ、製造コストを増大させずに、容易に、より高速にウェーブレット逆変換処理を実行することができる。これと同様に、例えば、出力バッファ部１１６の構成を図１４に示されるような構成にする等、上述した他の構成や処理を適用することにより、それぞれについて説明した効果を得ることができる。
【０２５１】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図２９に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
【０２５２】
図２９において、パーソナルコンピュータ４００のCPU（Central Processing Unit）４０１は、ROM（Read Only Memory）４０２に記憶されているプログラム、または記憶部４１３からRAM（Random Access Memory）４０３にロードされたプログラムに従って各種の処理を実行する。RAM４０３にはまた、CPU４０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０２５３】
CPU４０１、ROM４０２、およびRAM４０３は、バス４０４を介して相互に接続されている。このバス４０４にはまた、入出力インタフェース４１０も接続されている。
【０２５４】
入出力インタフェース４１０には、キーボード、マウスなどよりなる入力部４１１、CRT（Cathode Ray Tube）、LCD（Liquid Crystal Display）などよりなるディスプレイ、並びにスピーカなどよりなる出力部４１２、ハードディスクなどより構成される記憶部４１３、モデムなどより構成される通信部４１４が接続されている。通信部４１４は、例えばインターネットに代表されるネットワークを介しての通信処理を行う。
【０２５５】
入出力インタフェース４１０にはまた、必要に応じてドライブ４１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア４２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部４１３にインストールされる。
【０２５６】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０２５７】
この記録媒体は、例えば、図２９に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（ＭＤ（Mini-Disk）（登録商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア４２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM４０２や、記憶部４１３に含まれるハードディスクなどで構成される。
【０２５８】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２５９】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０２６０】
なお、以上において、１つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて１つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。
【産業上の利用可能性】
【０２６１】
以上説明した本発明は、複数の端末間で画像を圧縮して伝送、受信して伸長して画像を出力するシステム、特に低遅延で実現する必要性が高いプロダクツ・アプリケーションに好適である。具体的には、放送局で多用するデジタルトライアックスシステム、ライブ映像配信システム、TV会議システム、監視カメラ・レコーダシステム、医用遠隔医療診断、生徒と教師間のインタラクティブ通信、ビデオゲーム等に応用が可能である。また、画像データが圧縮符号化された符号化データが記録された記録媒体よりその符号化データを読み出して復号し画像データを再生する装置（記録再生装置も含む）やシステム等にも適用可能である。
【図面の簡単な説明】
【０２６２】
【図１】ウェーブレット変換について概略的に説明するための略線図である。
【図２】ウェーブレット変換について概略的に説明するための略線図である。
【図３】９×７分析フィルタのリフティング構成の例を説明する図である。
【図４】ウェーブレット変換およびウェーブレット逆変換の関係について概略的に説明するための略線図である。
【図５】本発明を適用したウェーブレット逆変換装置の構成例を示すブロック図である
【図６】合成フィルタリングについて概略的に説明するための略線図である。
【図７】９×７合成フィルタのリフティング構成の例を説明する図である。
【図８】垂直合成フィルタリングの様子の例を説明する図である。
【図９】水平合成フィルタリングの様子の例を説明する図である。
【図１０】図５の途中計算用バッファ部の詳細な構成例を示すブロック図である。
【図１１】一般的な１ポートSRAMおよび２ポートSRAMの入出力端子の構成例を示す図である。
【図１２】一般的な１ポートSRAMおよび２ポートSRAMによるデータ入出力のタイミングの例を示す図である。
【図１３】図１０の１ポートSRAMによるデータ入出力のタイミングの例を示す図である。
【図１４】図５の出力バッファ部の詳細な構成例を示すブロック図である。
【図１５】図１４の１ポートSRAMによるデータ入出力のタイミングの例を示す図である。
【図１６】ウェーブレット逆変換処理の流れの例を説明するフローチャートである。
【図１７】ライン単位ウェーブレット逆変換処理の流れの例を説明するフローチャートである。
【図１８】ライン単位ウェーブレット逆変換処理の流れの例を説明する、図１７に続くフローチャートである。
【図１９】垂直合成フィルタ処理の流れの例を説明するフローチャートである。
【図２０】バッファ入出力処理の流れの例を説明するフローチャートである。
【図２１】ライン単位ウェーブレット逆変換処理の流れの例を説明する模式図である。
【図２２】１プレシンクト分のライン単位ウェーブレット逆変換処理の流れの例を説明する模式図である。
【図２３】１プレシンクト分のライン単位ウェーブレット逆変換処理の流れの例を説明する、図２２に続く模式図である。
【図２４】１プレシンクト分のライン単位ウェーブレット逆変換処理の流れの例を説明する、図２３に続く模式図である。
【図２５】HDTV規格の輝度と色差信号のデータ配列の例を説明する図である。
【図２６】本発明を適用したウェーブレット逆変換装置１００を用いた画像伝送システムの構成例を示すブロック図である。
【図２７】復号処理の流れの例を説明するフローチャートである。
【図２８】処理実行タイミングの例を説明する模式図である。
【図２９】本発明を適用したパーソナルコンピュータの構成例を示す図である。
【符号の説明】
【０２６３】
１００  ウェーブレット逆変換装置，  １０１  制御部，  １１１  セレクタ，  １１２  垂直合成フィルタ部，  １１３  途中計算用バッファ部，  １１４  水平合成用フィルタ部，  １１５  セレクタ，  １１６  出力バッファ部，  １１７  セレクタ，  １２０  レベル別バッファ部，  １２１  レベル３バッファ部，  １２２  レベル２バッファ部，  １２３  レベル１バッファ部，  １３１  フィルタ部，  １３２  出力制御部，  １４１  データ連結部，  １４２  １ポートSRAM，  １４３  データ分割部，  １５１  セレクタ，  １５２  遅延部，  １５３  パッキング部，  １５４  １６ビット分離部，  １５５  遅延部，  １５６  セレクタ，  １７１  制御部，  １７２  セレクタ，  １７３  データ連結部，  １７４  １ポートSRAM，  １７５  データ分割部，  １８１  セレクタ，  １８２  遅延部，  １８３  パッキング部，  １８４  １６ビット分離部，  １８５  遅延部，  １８６  セレクタ，  ３０２  復号装置，  ３２１  エントロピ復号部，  ３２３  ウェーブレット逆変換部，  ３３１  制御部
【図１】
2008288836.tif 000003
【図２】
2008288836.tif 000004
【図３】
2008288836.tif 000005
【図４】
2008288836.tif 000006
【図５】
2008288836.tif 000007
【図６】
2008288836.tif 000008
【図７】
2008288836.tif 000009
【図８】
2008288836.tif 000010
【図９】
2008288836.tif 000011
【図１０】
2008288836.tif 000012
【図１１】
2008288836.tif 000013
【図１２】
2008288836.tif 000014
【図１３】
2008288836.tif 000015
【図１４】
2008288836.tif 000016
【図１５】
2008288836.tif 000017
【図１６】
2008288836.tif 000018
【図１７】
2008288836.tif 000019
【図１８】
2008288836.tif 000020
【図１９】
2008288836.tif 000021
【図２０】
2008288836.tif 000022
【図２１】
2008288836.tif 000023
【図２２】
2008288836.tif 000024
【図２３】
2008288836.tif 000025
【図２４】
2008288836.tif 000026
【図２５】
2008288836.tif 000027
【図２６】
2008288836.tif 000028
【図２７】
2008288836.tif 000029
【図２８】
2008288836.tif 000030
【図２９】
2008288836.tif 000031