(57)【特許請求の範囲】
【請求項１】
デジタルデータ列の高周波成分のデータと低周波成分のデータとに分離するフィルタ処理装置において、
偶数データ列と奇数データ列を同時に入力する偶数側入力端子と奇数側入力端子と、
クロックサイクルに同期して偶数データと奇数データとを前記偶数側入力端子と奇数側入力端子から入力して高周波成分のデータと低周波成分のデータとをパイプライン処理で生成する演算ユニットとを有し、
前記演算ユニットは、
第１のクロックサイクルで第１の偶数データ（X(0)）に第１の係数（Ｐ、α）を乗算し第１の奇数データ（X(1)）を加算した第１の中間データ（Ｆ０）を生成し、第２のクロックサイクルで第２の偶数データ（X(2)）に前記第１の係数（Ｐ、α）を乗算しそれに第１クロックサイクルでの前記第１の中間データ（Ｆ０）を加算した第２の中間データ（Ｆ２）を生成する第１の演算手段と、
第３のクロックサイクルで第２クロックサイクルでの前記第２の中間データ（Ｆ２）に第２の係数（Ｕ、β）を乗算しそれに第２の偶数データ（X2））を加算した第３の中間データ（Ｆ４）を生成し、第４のクロックサイクルで第３のクロックサイクルで生成された第２の中間データ（Ｆ２）に前記第２の係数（Ｕ、β）を乗算しそれに第３クロックサイクルでの前記第３の中間データ（Ｆ４）を加算した第４の中間データを生成する第２の演算手段とを有し、
第２の中間データを高周波成分のデータとして、第４の中間データを低周波成分のデータとしてそれぞれ出力することを特徴とするフィルタ処理装置。
【請求項２】
請求項１において、
タイリングのために分割された領域の画像データに対してフィルタ処理が行われる場合、当該処理対象領域の画像データの終端側境界において、境界の画像データ対が入力されるクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記第１、第３の中間データ（Ｆ０，Ｆ４）を順次記憶する内部メモリを設け、
隣接する処理対象領域の画像データの開始端境界において、境界の画像データ対が入力される最初のクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記内部メモリに記憶された前記第１、第３の中間データ（Ｆ０，Ｆ４）を順次読み出すことを特徴とするフィルタ処理装置。
【請求項３】
デジタルデータ列の高周波成分のデータと低周波成分のデータとに分離するフィルタ処理装置において、
偶数データ列と奇数データ列を同時に入力する偶数側入力端子と奇数側入力端子と、
クロックサイクルに同期して偶数データと奇数データとを前記偶数側入力端子と奇数側入力端子から入力して高周波成分のデータと低周波成分のデータとをパイプライン処理で生成する演算ユニットとを有し、
前記演算ユニットは、
第１のクロックサイクルで第１の偶数データ（X(0)）に第１の係数（Ｐ、α）を乗算し第１の奇数データ（X(1)）を加算した第１の中間データ（Ｆ０）を生成し、第２のクロックサイクルで第２の偶数データ（X(2)）に前記第１の係数（Ｐ、α）を乗算しそれに第１クロックサイクルでの前記第１の中間データ（Ｆ０）を加算した第２の中間データ（Ｆ２）を生成する第１の演算手段と、
第３のクロックサイクルで第２クロックサイクルでの前記第２の中間データ（Ｆ２）に第２の係数（Ｕ、β）を乗算しそれに第２の偶数データ（X2））を加算した第３の中間データ（Ｆ４）を生成し、第４のクロックサイクルで第３のクロックサイクルで生成された第２の中間データ（Ｆ２）に前記第２の係数（Ｕ、β）を乗算しそれに第３クロックサイクルでの前記第３の中間データ（Ｆ４）を加算した第４の中間データ（Ｆ６）を生成する第２の演算手段と、
更に、第５のクロックサイクルで第４クロックサイクルでの前記第４の中間データ（Ｆ６）に第３の係数（γ）を乗算し第３のクロックサイクルでの第２の中間データ（Ｆ２、Ｆ７）を加算した第５の中間データ（Ｆ８）を生成し、第６のクロックサイクルで前記第５のクロックサイクルでの第４の中間データ（Ｆ６）に前記第３の係数（γ）を乗算しそれに第５サイクルでの前記第５の中間データ（Ｆ８）を加算した第６の中間データ（Ｆａ）を生成する第３の演算手段と、
第７のクロックサイクルで第６クロックサイクルでの前記第６の中間データ（Ｆａ）に第４の係数（δ）を乗算しそれに前記第５のクロックでの第４の中間データ（Ｆ６、Ｆｂ）を加算した第７の中間データ（Ｆｃ）を生成し、第８のクロックサイクルで第７のクロックサイクルでの第６の中間データ（Ｆａ）に前記第４の係数（δ）を乗算しそれに第７クロックサイクルでの前記第７の中間データ（Ｆｃ）を加算した第８の中間データ（Ｆｅ）を生成する第４の演算手段とを有し、
前記第６の中間データ（Ｆａ）が前記高周波成分データとして、前記第８の中間データ（Ｆｅ）が前記低周波成分データとして出力されるフィルタ処理装置。
【請求項４】
請求項３において、
タイリングのために分割された領域の画像データに対してフィルタ処理が行われる場合、当該処理対象領域の画像データの終端側境界において、境界の画像データ対が入力されるクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記第１、第３、第５、第７の中間データ（Ｆ０，Ｆ４，Ｆ８，Ｆｃ）を順次記憶する内部メモリを設け、
隣接する処理対象領域の画像データの開始端境界において、境界の画像データ対が入力される最初のクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記内部メモリに記憶された前記第１、第３、第５、第７の中間データ（Ｆ０，Ｆ４，Ｆ８，Ｆｃ）を順次読み出すことを特徴とするフィルタ処理装置。
【請求項５】
高周波成分データと低周波成分データとをデータ列に合成する逆フィルタ処理装置において、
高周波成分データ列と低周波成分データ列を同時に入力する高周波側入力端子と低周波側入力端子と、
クロックサイクルに同期して高周波成分データと低周波成分データとを前記高周波側入力端子と低周波側入力端子から入力して偶数データと奇数データとをパイプライン処理で生成する演算ユニットとを有し、
前記演算ユニットは、
第１のクロックサイクルで第１の高周波成分データ（Y(0)）に第１の係数（−ｕ）を乗算し第１の低周波成分データ（Y(1)）を加算した第１の中間データ（Ｆ０）を生成し、第２のクロックサイクルで第２の高周波成分データ（Y(2)）に前記第１の係数（−ｕ）を乗算しそれに第１クロックサイクルでの前記第１の中間データ（Ｆ０）を加算した第２の中間データ（Ｆ２）を生成する第１の演算手段と、
第３のクロックサイクルで第２クロックサイクルでの前記第２の中間データ（Ｆ２）に第２の係数（−ｐ）を乗算しそれに第２の高周波成分データ（Y(2)）を加算した第３の中間データ（Ｆ４）を生成し、第４のクロックサイクルで第３のクロックサイクルで生成された第２の中間データ（Ｆ２）に前記第２の係数（−ｐ）を乗算しそれに第３クロックサイクルでの前記第３の中間データ（Ｆ４）を加算した第４の中間データを生成する第２の演算手段とを有し、
前記第２の中間データが前記奇数データとして前記第４の中間データが前記偶数データとして出力される逆フィルタ処理装置。
【請求項６】
請求項５において、
タイリングのために分割された領域の画像データに対して逆フィルタ処理が行われる場合、当該処理対象領域の画像データの終端側境界において、境界の画像データ対が入力されるクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記第１、第３の中間データ（Ｆ０，Ｆ４）を順次記憶する内部メモリ（MEM0,1）を設け、
隣接する処理対象領域の画像データの開始端境界において、境界の画像データ対が入力される最初のクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記内部メモリに記憶された前記第１、第３の中間データ（Ｆ０，Ｆ４）を順次読み出すことを特徴とする逆フィルタ処理装置。
【請求項７】
高周波成分データと低周波成分データとをデータ列に合成する逆フィルタ処理装置において、
高周波成分データ列と低周波成分データ列を同時に入力する高周波側入力端子と低周波側入力端子と、
クロックサイクルに同期して高周波成分データと低周波成分データとを前記高周波側入力端子と低周波側入力端子から入力して偶数データと奇数データとをパイプライン処理で生成する演算ユニットとを有し、
前記演算ユニットは、
更に、第１のクロックサイクルで第１の高周波成分データ（Y(1)）の第１の初期データ（Ｆｅ）に第１の係数（−δ）を乗算し第１の低周波成分データ（Y(0)）の第２の初期データ（Ｆｆ）を加算した第１の中間データ（Ｆ０）を生成し、第２のクロックサイクルで第１のクロックサイクルでの前記第１の初期データ（Ｆｅ）に前記第１の係数（−δ）を乗算しそれに第１クロックサイクルでの前記第１の中間データ（Ｆ０）を加算した第２の中間データ（Ｆ２）を生成する第１の演算手段（ＡＬ１）と、
第３のクロックサイクルで第２クロックサイクルでの前記第２の中間データ（Ｆ２）に第２の係数（−γ）を乗算しそれに第１のクロックサイクルでの前記第１の初期データ（Ｆｅ）を加算した第３の中間データ（Ｆ４）を生成し、第４のクロックサイクルで第３のクロックサイクルで生成された第２の中間データ（Ｆ２）に前記第２の係数（−γ）を乗算しそれに第３クロックサイクルでの前記第３の中間データ（Ｆ４）を加算した第４の中間データ（Ｆ６）を生成する第２の演算手段と、
第５のクロックサイクルで第４クロックサイクルでの前記第４の中間データ（Ｆ６）に第３の係数（−β）を乗算し第３のクロックサイクルでの第２の中間データ（Ｆ２、Ｆ７）を加算した第５の中間データ（Ｆ８）を生成し、第６のクロックサイクルで前記第５のクロックサイクルでの第４の中間データ（Ｆ６）に前記第３の係数（−β）を乗算しそれに第５サイクルでの前記第５の中間データ（Ｆ８）を加算した第６の中間データ（Ｆａ）を生成する第３の演算手段と、
第７のクロックサイクルで第６クロックサイクルでの前記第６の中間データ（Ｆａ）に第４の係数（−α）を乗算しそれに前記第５のクロックでの第４の中間データ（Ｆ６、Ｆｂ）を加算した第７の中間データ（Ｆｃ）を生成し、第８のクロックサイクルで第７のクロックサイクルでの第６の中間データ（Ｆａ）に前記第４の係数（−α）を乗算しそれに第７クロックサイクルでの前記第７の中間データ（Ｆｃ）を加算した偶数データを生成する第４の演算手段とを有し、
前記第６の中間データ（Ｆａ）が前記奇数データとして出力される逆フィルタ処理装置。
【請求項８】
請求項７において、
タイリングのために分割された領域の画像データに対して逆フィルタ処理が行われる場合、当該処理対象領域の画像データの終端側境界において、境界の画像データ対が入力されるクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記第１、第３、第５、第７の中間データ（Ｆ０，Ｆ４，Ｆ８，Ｆｃ）を順次記憶する内部メモリ（MEM0〜3）を設け、
隣接する処理対象領域の画像データの開始端境界において、境界の画像データ対が入力される最初のクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記内部メモリに記憶された前記第１、第３、第５、第７の中間データ（Ｆ０，Ｆ４，Ｆ８，Ｆｃ）を順次読み出すことを特徴とする逆フィルタ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データなどのデジタルデータのウエーブレット変換装置及びその逆変換装置に関し、特に、リフティング構成によりフィルタ処理を行うウエーブレット変換装置及び逆変換装置用のフィルタ装置及び逆フィルタ装置に関する。
【０００２】
【従来の技術】
画像圧縮の一つにJPEG2000がある。このJPEG2000における画像圧縮をハードウエアで実装する場合、離散ウエーブレット変換（Discrete Wavelet Transform）を行うリフティング構成の演算回路が利用される。
【０００３】
図１は、JPEG2000における画像データの符号化圧縮と解凍復号化の概略的な工程を示す図である。画像データ１のデジタルデータ列がウエーブレット変換装置２で低周波数成分と高周波数成分とに変換され、量子化手段３で量子化され、エントロピー符号化手段４で符号化され、データが圧縮される。このデータが、ビットストリーム生成手段５からビットストリームとして出力される。このビットストリームは受信側で入力装置６に入力され、逆エントロピー符号化手段７で逆エントロピー符号化され、逆量子化手段８で逆量子化され、ウエーブレット逆変換装置９で逆変換されることで、圧縮された画像データが解凍されて画像データ１０が生成される。ウエーブレット変換は、デジタルデータ列を高周波数成分と低周波数成分とに分割する一種のフィルタ処理である。写真のような自然な画像は、低周波成分により多くの情報が含まれているので、高周波数成分と低周波数成分に分割し、その分割された低周波数成分を更に再帰的に高周波数成分と低周波数成分とに分割することで、圧縮時の符号化効率を高くし且つ重要な画像情報を失わないようにすることができる。
【０００４】
図２は、ウエーブレット変換における高周波数成分と低周波数成分の分割を説明する図である。また、図３は、ウエーブレット変換装置の構成図である。入力画像１１に対して、まず水平方向（または垂直方向）にスキャンして得られるデジタルデータ列に対してフィルタ処理１２を行い、高周波数成分１３と低周波数成分１４に分割し、更にその演算結果１３，１４に対して垂直方向（または水平方向）にスキャンして得られるデジタルデータ列に対してフィルタ処理変換１５，１６を行い、それぞれ高周波数成分１７，１９と低周波数成分１８，２０に分割する。各分割された画像データは２分の１にダウンサンプリングされ、その結果、最初の入力画像１１は、４つの帯域（ＨＨ，ＨＬ，ＬＨ，ＬＬ）の画像１７，１８，１９，２０に分割される。ダウンサンプリングにより変換されたデータ数は変更しない。そして、ＬＬの帯域の画像２０に対して、上記と同じフィルタ処理を行うことで、同様に４つの帯域の画像２６〜２９に分割される。このフィルタ処理を再帰的に繰り返すことにより、離散ウエーブレット変換が完了する。
【０００５】
JPEG2000において画像データはデジタルデータ列であり、それを処理する離散ウエーブレット変換は、通常のウエーブレット変換のような積分演算を行わなくとも、積和演算のみで求めることができる。そして、離散ウエーブレット変換の効率的な演算方法としてリフティング構成が知られている。
【０００６】
図４、５は、従来のリフティング構成のフィルタの演算装置を示す図である。離散ウエーブレット変換（DWT）には整数DWTと実数DWTの２種類が存在し、整数DWTに対しては５×３フィルタ、実数DWTに対しては９×７フィルタが使用される。図４に示される５×３フィルタは、５つのデータ列から低周波数成分のデータを、３つデータ列から高周波数成分のデータをそれぞれ生成する。それに対して、図５に示される９×７フィルタは、９つのデータ列から低周波数成分のデータを、７つのデータ列から高周波数成分のデータをそれぞれ生成する。５×３フィルタは５つのデータを演算するので演算量は少なく演算回路の規模は小さいが、符号化効率が高くない。それに対して、９×７フィルタは９つのデータを演算するので演算量は多く演算回路の規模は大きくなるが、符号化効率は高くなる。
【０００７】
図４（Ａ）は、５×３フィルタのリフティング構成のフィルタ装置を示し、図４（Ｂ）はその逆フィルタ装置を示す。図４（Ａ）の５×３フィルタの原理について説明すると、２分の１ダウンサンプリング１０２，１０３と、遅延手段１０１，１０５と、遅延したデータと加算して係数Ｐ，Ｕを乗算する積和手段１０４，１０６と、加算手段１０７，１０８とで構成される。データ列１１が仮に５つのX(0)、X(1)、X(2)、X(3)、X(4)とすると、ダウンサンプリング１０２により偶数データ列X(0)、X(2)、X(4)がサンプリングされ、遅延手段１０１とダウンサンプリング１０３とにより奇数データ列X(1)、X(3)がサンプリングされる。積和手段１０４は、現在の偶数データX(0)と１つ後の偶数データX(2)を加算して係数Ｐ（例えば−0.5）を乗算する回路であり、従って、積和手段１０４と加算手段１０７により高周波成分として、
X(1)＋P（X(0)＋X(2)）、X(3)＋P（X(2)＋X(4)）                  （１）
が求められる。一方、遅延手段１０５と積和手段１０６及び加算手段１０８により、低周波成分として、
X(2)＋U［｛X(1)＋P（X(0)＋X(2)）｝＋｛X(3)＋P（X(2)＋X(4)）｝］  （２）
が求められる。係数Ｕは例えば0.25である。上記（１）（２）のとおり、合計で２個の高周波成分のデータと１個の低周波成分のデータが得られていることが理解される。
【０００８】
図４（Ｂ）の逆変換は、（Ａ）の変換の演算を逆に行うだけであり、上記の高周波成分（１）の連続するデータに係数−Ｕを乗算し、上記の低周波成分（２）に加算することで、元の偶数データX(2)を得ることができる。また、連続する偶数データX(2)、X(4)を加算して係数Ｐを乗算して上記の高周波成分と加算演算すると、元の奇数データX(3)を得ることができる。それらをダウンサンプリングしながら合成することで、元のデータ列X(2),X(3),X(4)を得ることができる。
【０００９】
図５（Ａ）は、９×７フィルタのリフティング構成のフィルタ装置を示す。構成原理は５×３フィルタと同じであり、ダウンサンプリング手段３０２，３０３、遅延手段３０１，３０５，３０７，３０９、積和手段３０４，３０６，３０８，３１０、加算手段３１３〜３１６と、乗算手段３１１，３１２で構成され、ダウンサンプリング手段３０２からは偶数のデータ列が、３０３からは奇数のデータ列がそれぞれ出力され、同様の演算が行われる。各積和手段の係数は、例えば次の通りである。
【００１０】
α    -1.586134342059924
β    -0.052980118572961
γ    0.882911075530934
δ    0.443506852043971
K     1.230174104914001
図５（Ｂ）は、９×７フィルタのリフティング構成の逆離散ウエーブレット変換装置を示す。これも構成原理は５×３フィルタと同じである。
【００１１】
上記のウエーブレット変換については、例えば特許文献１，２に記載されている。また、上記のリフティング構成のウエーブレット変換装置については、例えば技術文献１に記載されている。
【００１２】
【特許文献１】
特開平５−１８３３８５号公報
【００１３】
【特許文献２】
特開平９−９３１３４号公報
【００１４】
【技術文献１】
ITU-T Rec. T. 800 | ISO/IEC 15444-1:2000
【００１５】
【発明が解決しようとする課題】
図４，５に示した従来のリフティング構成のフィルタ構成では、データ列１１を２つに１つのデータを破棄してしまう１／２ダウンサンプリングしているので、図４（Ａ）の例では乗算回路である積和手段１０４，１０６が、図５（Ａ）の例では積和手段３０４，３０６，３０８，３１０が、データ列１１の２つのデータが入力されるたびに１回しか乗算演算を行わないので、乗算回路である積和手段の使用効率が悪くなっている。このため、変換演算の効率が悪くなり演算時間が長くなるという課題を有する。
【００１６】
更に、画像データは通常DRAMなどの外部メモリに記憶され、その外部メモリから読み出されたデータ列に対して、ウエーブレット変換チップが変換演算を行う。しかしながら、図２でも示したとおり、１つの画像１１の連続するデータ列に対してフィルタリング処理を繰り返して行う必要があるので、ウエーブレット変換チップ内に１ページ分の画像データを格納できるメモリ手段を設ける必要がある。例えば、図３の変換後の画像１３，１４をメモリ手段に格納する必要がある。１ページ分の画像データはデータ容量が膨大であるので、かかるメモリ手段を内蔵させることは変換チップのコストアップを招くという課題を有する。
【００１７】
そこで、１ページの画像を複数に分割するタイリングが提案されている。その場合、分割された小さな領域（タイル）に対してそれぞれウエーブレット変換を行うことになるが、５×３フィルタや９×７フィルタの原理から明らかなとおり、分割された小さな領域の境界でデータ列が切断されるので、画質の低下が予想される。更に、水平走査する場合は画像の左右端でデータの連続性が失われ、垂直走査する場合は画像の上下端でデータの連続性が失われるので、データ列を折り返して入力することになるが、同じデータに対して同じ演算を繰り返して行うことになり、演算効率の低下を招く。
【００１８】
タイリングすることによる画質低下を避けるためには、分割領域の周囲のデータ列を入力してデータ列の連続性が失われないようにすることが必要であるが、そのような演算でも同じ演算の繰り返しを意味し、演算速度の低下を招く。
【００１９】
そこで、本発明の目的は、上記従来の課題を解決し、演算効率を向上させたリフティング構成の離散ウエーブレット変換装置及び離散逆ウエーブレット変換装置を提供することにある。
【００２０】
【課題を解決するための手段】
上記の目的を達成するために、本発明の第１の側面は、離散ウエーブレット変換装置に設けられるフィルタ装置であって、デジタルデータ列をその高周波成分のデータと低周波成分のデータとに分離するフィルタ装置に、偶数データ列と奇数データ列を同時に入力する偶数側入力端子と奇数側入力端子とを設け、クロックサイクルに同期して偶数データと奇数データとを前記偶数側入力端子と奇数側入力端子から入力して高周波成分のデータと低周波成分のデータとを生成することを特徴とする。
【００２１】
第１の側面の好ましい実施例のフィルタ装置では、
第１のクロックサイクルで第１の偶数データ（X(0)）に第１の係数（Ｐ、α）を乗算し第１の奇数データ（X(1)）を加算した第１の中間データ（Ｆ０）を生成し、第２のクロックサイクルで第２の偶数データ（X(2)）に前記第１の係数（Ｐ、α）を乗算しそれに第１クロックサイクルでの前記第１の中間データ（Ｆ０）を加算した第２の中間データ（Ｆ２）を生成する第１の演算手段と、
第３のクロックサイクルで第２クロックサイクルでの前記第２の中間データ（Ｆ２）に第２の係数（Ｕ、β）を乗算しそれに第２の偶数データ（X2)）を加算した第３の中間データ（Ｆ４）を生成し、第４のクロックサイクルで第３のクロックサイクルで生成された第２の中間データ（Ｆ２）に前記第２の係数（Ｕ、β）を乗算しそれに第３クロックサイクルでの前記第３の中間データ（Ｆ４）を加算した第４の中間データ（Ｆ６）を生成する第２の演算手段とを有する。
【００２２】
上記第１の側面のフィルタ装置によれば、クロックサイクル毎に偶数データと奇数データとが同時に入力されて、第１の演算手段と第２の演算手段とがパイプライン動作により演算を行うので、演算手段内の乗算器を毎クロックサイクルで動作させることができ、演算効率を高め、演算速度を速くすることができる。
【００２３】
第１の側面において、５×３フィルタ構成の場合は、第２の中間データが高周波成分のデータとして、第４の中間データが低周波成分のデータとしてそれぞれ出力される。
【００２４】
上記第１の側面において、９×７フィルタ構成のフィルタ装置では、更に、
第５のクロックサイクルで第４クロックサイクルでの前記第４の中間データ（Ｆ６）に第３の係数（γ）を乗算し第３のクロックサイクルでの第２の中間データ（Ｆ２、Ｆ７）を加算した第５の中間データ（Ｆ８）を生成し、第６のクロックサイクルで前記第５のクロックサイクルでの第４の中間データ（Ｆ６）に前記第３の係数（γ）を乗算しそれに第５サイクルでの前記第５の中間データ（Ｆ８）を加算した第６の中間データ（Ｆａ）を生成する第３の演算手段と、
第７のクロックサイクルで第６クロックサイクルでの前記第６の中間データ（Ｆａ）に第４の係数（δ）を乗算しそれに前記第５のクロックでの第４の中間データ（Ｆ６、Ｆｂ）を加算した第７の中間データ（Ｆｃ）を生成し、第８のクロックサイクルで第７のクロックサイクルでの第６の中間データ（Ｆａ）に前記第４の係数（δ）を乗算しそれに第７クロックサイクルでの前記第７の中間データ（Ｆｃ）を加算した第８の中間データ（Ｆｅ）を生成する第４の演算手段とを有し、前記第６の中間データ（Ｆａ）が前記高周波成分データとして、前記第８の中間データ（Ｆｅ）が前記低周波成分データとして出力される。
【００２５】
上記の目的を達成するために、本発明の第２の側面は、タイリングのために分割された領域の画像データに対してウエーブレット変換処理のためのフィルタ処理が行われる場合、その処理対象領域の画像データの終端側境界において、境界の画像データ対が入力されるクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記第１、第３、第５、第７の中間データ（Ｆ０，Ｆ４，Ｆ８，Ｆｃ）を順次記憶する内部メモリを設ける。そして、隣接する処理対象領域の画像データの開始端境界において、境界の画像データ対が入力される最初のクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記内部メモリに記憶された前記第１、第３、第５、第７の中間データ（Ｆ０，Ｆ４，Ｆ８，Ｆｃ）を順次読み出す。
【００２６】
上記の第２の側面によれば、分割された領域の境界の画像データに対する演算処理を繰り返す必要がなくなり、演算サイクルを短くすることができる。
【００２７】
上記の目的を達成するために、本発明の第３の側面は、画像データの上端または左端の画像データに対するウエーブレット変換処理のためのフィルタ処理を行う場合、前記第２の中間データ（Ｆ２）に第２の係数（β）の２倍を乗算し第１の偶数データ（X(0)）を加算して前記第４の中間データ（Ｆ６）を生成し、更に、前記第６の中間データ（Ｆａ）に第４の係数（δ）の２倍を乗算して前記第４の中間データ（Ｆ６）を加算して前記第８の中間データ（Ｆｅ）を生成する。
【００２８】
上記の第３の側面によれれば、画像データの上端または左端の画像データを変換処理する場合、先頭の画像データに先行する画像データに対する演算処理を省略することができ、演算効率を高めることができる。
【００２９】
更に、上記の目的を達成するために、本発明の第４の側面は、データ数が偶数の場合であって、画像データの下端または右端の画像データに対するウエーブレット変換処理のためのフィルタ処理を行う場合、最後の偶数データ（X(8)）に第１の係数（α）の２倍を乗算し最後の奇数データ（X(9)）を加算して前記第２の中間データ（Ｆ２）を生成し、更に、前記第４の中間データ（Ｆ６）に第３の係数（γ）の２倍を乗算し前記第２の中間データ（Ｆ２）を加算して前記第６の中間データ（Ｆａ）を生成する。
【００３０】
上記の第４の側面によれば、最後のデータ対以降のデータを入力する必要がなくなり、画像データを格納する外部メモリへのアクセスを省略することができる。
【００３１】
更に、上記の目的を達成するために、本発明の第５の側面は、データ数が奇数の場合であって、画像データの下端または右端の画像データに対するウエーブレット変換処理のためのフィルタ処理を行う場合、最後の偶数データ（X(8)）に対して、前記第２の中間データ（Ｆ２）に第２の係数（β）の２倍を乗算し最後の偶数データ（X(8)）を加算して前記第４の中間データ（Ｆ６）を生成し、更に、前記第６の中間データ（Ｆａ）に第４の係数（δ）の２倍を乗算し前記第４の中間データ（Ｆ６）を加算して前記第８の中間データ（Ｆｅ）を生成する。
【００３２】
上記の第５の側面によれば、最後のデータ以降のデータを入力する必要がなくなり、画像データを格納する外部メモリへのアクセスを省略することができる。
【００３３】
上記の５つの側面は、逆離散ウエーブレット変換装置にも適用することができる。
【００３４】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、本発明の保護範囲は、以下の実施の形態例に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
［第１の実施の形態］
図６は、本実施の形態における５×３フィルタによるフィルタ装置の概略図である。この５×３フィルタは、偶数データＸｅが入力される偶数側入力端子INevenと奇数データＸｏが入力される奇数側入力端子INoddとを入力し、２クロックサイクルで図示された演算式の演算を行って中間データＦ２を生成する第１の演算手段ＡＬ１と、第２クロックサイクルで中間データＦ２と偶数データＸｅをラッチする遅延フリップフロップＦ２，Ｆ３と、次の２クロックサイクルで図示された演算式の演算を行って中間データＬＰを生成する第２の演算手段ＡＬ２とを有する。中間データＦ２が高周波成分データＨＰとして出力され、中間データＬＰが低周波成分データとなる。各クロックサイクルで画像データ列の偶数データと奇数データとが同時に入力されるので、演算効率が高くなる。尚、図６では偶数データＸｅ、奇数データＸｏ、中間データＦ２の引数（各個の中）はクロックサイクルを示している。
【００３５】
図７は、図６の５×３フィルタの具体的構成図である。偶数側入力端子INevenと奇数側入力端子INoddと、係数ｐの乗算回路５０５と、係数ｕの乗算回路５０６と、加算回路５０１〜５０４と、遅延フリップフロップＦ０，Ｆ２，Ｆ３，Ｆ４とからなり、加算回路５０４の出力が低周波成分データＬＰとして、フリップフロップＦ２の出力が高周波成分データＨＰとして出力される。そして、後述する動作説明で明らかになるように、クロックサイクルに同期してステージST1〜ST4が演算を行うパイプライン構成になっている。各遅延フリップフロップにはクロックが供給されるが、図７ではそのクロックが省略されている。この５×３フィルタの動作チャートは、後述する図１６に示されている。
【００３６】
図８は、本実施の形態における９×７フィルタによるフィルタ処理装置の概略図である。この９×７フィルタは、乗算手段の係数は異なるが、図６の５×３フィルタの第１及び第２の演算手段ＡＬ１，ＡＬ２に加えて、遅延フリップフロップＦ６，Ｆ７，Ｆａ，Ｆｂ，Ｆｅ，Ｆｆと、第１及び第２の演算手段と同じ演算を行う第３及び第４の演算手段ＡＬ３，ＡＬ４と、乗算手段６１７，６１８を有する。各演算手段での演算は、図示される通りである。なお、図８においても図６と同様に各データの引数（括弧内）はクロックサイクルを示す。
【００３７】
図９は、図８の９×７フィルタの具体的構成図である。偶数側入力端子INevenと奇数側入力端子INoddと、係数α、β、γ、δの乗算回路６１３〜６１６と、加算回路６０１〜６０８と、遅延フリップフロップＦ０，Ｆ２，Ｆ３，Ｆ４，Ｆ６，Ｆ７，Ｆ８，Ｆａ，Ｆｂ，Ｆｃ，Ｆｅ，Ｆｆと、乗算回路６１７，６１８からなり、乗算回路６１７の出力が低周波成分データＬＰとして、乗算回路６１８の出力が高周波成分データＨＰとして出力される。つまり、図７の２倍の回路規模を有し、それに応じてクロックサイクルに同期して動作する８つのステージＳＴ１〜ＳＴ８がパイプライン構成になっている。また、図９でも、各遅延フリップフロップに供給されるクロックが省略されている。
【００３８】
図１０は、９×７フィルタの動作を示すチャート図である。５×３フィルタは、９×７フィルタの半分の回路規模であるので、５×３フィルタの動作は係数は異なるが図１０の前半に示される。図１０に示されるとおり、画像データ列X(0),X(1)〜X(6),X(7),X(8)が、各クロックサイクルCLK1〜CLK5で、偶数データと奇数データからなる１対のデータが同時に入力される。そして、データ列X(0)〜X(6)から最初の高周波成分データY(3)が生成され、データ列X(2)〜X(8)から次の高周波成分データY(5)が生成され、データ列X(0)〜X(8)から最初の低周波成分データY(4)が生成される。
【００３９】
以下、最初の高周波成分データY(3)と低周波成分データY(4)とが生成されるまでの動作について説明する。第１のクロックサイクルCLK1で、第１の偶数データX(0)に第１の係数αを乗算し第１の奇数データX(1)を加算した第１の中間データＦ０を生成する（ステージST1）。次に、第２のクロックサイクルCLK2で、第２の偶数データX(2)に第１の係数αを乗算しそれに第１クロックサイクルでの第１の中間データＦ０を加算した第２の中間データＦ２を生成する（ステージST2）。以上が第１の演算手段ＡＬ１の動作である。第２のクロックサイクルで、第２の奇数データX(2)がフリップフロップF3にラッチされ、同時に第２の偶数データX(2)に第１の係数αを乗算し第２の奇数データX(3)を加算した第１の中間データＦ０が生成される。
【００４０】
次に、第３のクロックサイクルCLK3で、第２クロックサイクルCLK2での第２の中間データＦ２に第２の係数βを乗算しそれに第２の偶数データX(2)を加算した第３の中間データＦ４を生成する（ステージST3）。更に、第４のクロックサイクルCLK4で、第３のクロックサイクルCLK3で生成された第２の中間データＦ２に第２の係数βを乗算しそれに第３クロックサイクルCLK3での第３の中間データＦ４を加算した第４の中間データＦ６を生成する（ステージST4）。この第４のクロックサイクルCLK4では、同時に、フリップフロップＦ７，Ｆ４，Ｆ２，Ｆ３，Ｆ０にもそれぞれ対応する中間データがラッチされる。以上が第２の演算手段ＡＬ２の動作である。
【００４１】
次に、第５のクロックサイクルCLK5で、第４クロックサイクルCLK4での第４の中間データＦ６に第３の係数γを乗算し第３のクロックサイクルCLK3での第２の中間データＦ２、Ｆ７を加算した第５の中間データＦ８を生成する（ステージST5）。更に、第６のクロックサイクルCLK6で、第５のクロックサイクルCLK5での第４の中間データＦ６に第３の係数γを乗算しそれに第５サイクルでの第５の中間データＦ８を加算した第６の中間データＦａを生成する（ステージST6）。この第６のクロックCLK6でも、同時の他のフリップフロップにはそれぞれ対応する中間データがラッチされる。ここまでが第３の演算手段ＡＬ３の動作である。
【００４２】
次に、第７のクロックサイクルCLK7で、第６クロックサイクルCLK6での第６の中間データＦａに第４の係数δを乗算しそれに第５のクロックCLK5での第４の中間データＦ６、Ｆｂを加算した第７の中間データＦｃを生成する（ステージST7）。更に、第８のクロックサイクルCLK8で、第７のクロックサイクルCLK7での第６の中間データＦａに第４の係数δを乗算しそれに第７クロックサイクルCLK7での第７の中間データＦｃを加算した第８の中間データＦｅを生成する（ステージST8）。そして、最後に中間データＦｅに調整係数１／Ｋを乗算して低周波成分データＬＰが出力され、中間データＦｆに調整係数Ｋを乗算して高周波成分データＨＰが出力される。以上が第４の演算手段ＡＬ４の動作である。
【００４３】
つまり、クロックサイクルCLK8で最初の高周波成分データY(3)が出力され、それ以降は、クロックサイクル毎に高周波、低周波成分データの両周波成分データが生成される。従って、データ列が１個づつ入力される従来例に比較すると、演算速度が２倍速くなっている。
【００４４】
なお、図７に示した５×３フィルタの動作は、後述する図１６（Ｂ）に示される通りであり、図１０のαがｐに、βがｕになり、中間データＦ６，Ｆ７がそれぞれ低周波成分データＬＰ、高周波成分データＨＰになる。そして、クロックサイクルCLK3で最初の高周波成分データが出力され、それ以降はクロックサイクル毎に両周波数成分データが生成される。
【００４５】
図１７に逆離散ウエーブレット変換で利用される５×３フィルタの逆フィルタ処理装置が示され、次の構成を有する。即ち、高周波成分データと低周波成分データとをデータ列に合成する逆フィルタ装置に、高周波成分データ列と低周波成分データ列を同時に入力する高周波側入力端子INHと低周波側入力端子INLとを設け、クロックサイクルに同期して高周波成分データと低周波成分データとを前記高周波側入力端子と低周波側入力端子から同時に入力して偶数データと奇数データとを生成する。
【００４６】
そして、より具体的には、この逆フィルタ装置は、
第１のクロックサイクルで第１の高周波成分データ（Y(0)）に第１の係数（−ｕ）を乗算し第１の低周波成分データ（Y(1)）を加算した第１の中間データ（Ｆ０）を生成し、第２のクロックサイクルで第２の高周波成分データ（X(2)）に前記第１の係数（−ｕ）を乗算しそれに第１クロックサイクルでの前記第１の中間データ（Ｆ０）を加算した第２の中間データ（Ｆ２）を生成する第１の演算手段と、
第３のクロックサイクルで第２クロックサイクルでの前記第２の中間データ（Ｆ２）に第２の係数（−ｐ）を乗算しそれに第２の高周波成分データ（Y(2)）を加算した第３の中間データ（Ｆ４）を生成し、第４のクロックサイクルで第３のクロックサイクルで生成された第２の中間データ（Ｆ２）に前記第２の係数（−ｐ）を乗算しそれに第３クロックサイクルでの前記第３の中間データ（Ｆ４）を加算した第４の中間データ（Ｆ６）を生成する第２の演算手段とを有する。
【００４７】
この動作は図１７（Ｂ）に示される通りである。
【００４８】
更に、図１１には、９×７フィルタによる逆フィルタ装置が示される。この逆フィルタ装置は、上記の第１の演算手段ＡＬ１と第２の演算手段ＡＬ２における第１の係数が−δであり、第２の係数が−γである。また、第３の演算手段ＡＬ３の係数が−β、第４の演算手段ＡＬ４の係数が−αである。まず、第一の演算手段（ＡＬ１）は、最初のクロックサイクルで、入力端子INHに供給される高周波成分データＹに調整係数１／Ｋを乗算した第１の初期データ（Ｆｅ）を生成し、更に、入力端子INLに供給される低周波成分データＹに調整係数Ｋを乗算した第２の初期データ（Ｆｆ）を生成する。
【００４９】
更に、逆フィルタ装置は、
第１のクロックサイクルで高周波成分データ（Y(1)）の第１の初期データ（Ｆｅ）に第１の係数（−δ）を乗算し、低周波成分データ（Y(0)）の第２初期データ（Ｆｆ）を加算した第１の中間データ（Ｆ０）を生成し、第２のクロックサイクルで高周波成分データの第１の初期データ（Ｆｅ）に前記第１の係数（−δ）を乗算しそれに第１クロックサイクルでの前記第１の中間データ（Ｆ０）を加算した第２の中間データ（Ｆ２）を生成する第１の演算手段（ＡＬ１）と、
第３のクロックサイクルで第２クロックサイクルでの前記第２の中間データ（Ｆ２）に第２の係数（−γ）を乗算しそれに第１のクロックサイクルでの第１の初期データ（Ｆｅ）を加算した第３の中間データ（Ｆ４）を生成し、第４のクロックサイクルで第３のクロックサイクルで生成された第２の中間データ（Ｆ２）に前記第２の係数（−γ）を乗算しそれに第３クロックサイクルでの前記第３の中間データ（Ｆ４）を加算した第４の中間データ（Ｆ６）を生成する第２の演算手段とを有し、
更に、第５のクロックサイクルで第４クロックサイクルでの前記第４の中間データ（Ｆ６）に第３の係数（−β）を乗算し第３のクロックサイクルでの第２の中間データ（Ｆ２、Ｆ７）を加算した第５の中間データ（Ｆ８）を生成し、第６のクロックサイクルで前記第５のクロックサイクルでの第４の中間データ（Ｆ６）に前記第３の係数（−β）を乗算しそれに第５サイクルでの前記第５の中間データ（Ｆ８）を加算した第６の中間データ（Ｆａ）を生成する第３の演算手段と、第７のクロックサイクルで第６クロックサイクルでの前記第６の中間データ（Ｆａ）に第４の係数（−α）を乗算しそれに前記第５のクロックでの第４の中間データ（Ｆ６、Ｆｂ）を加算した第７の中間データ（Ｆｃ）を生成し、第８のクロックサイクルで第７のクロックサイクルでの第６の中間データ（Ｆａ）に前記第４の係数（−α）を乗算しそれに第７クロックサイクルでの前記第７の中間データ（Ｆｃ）を加算した偶数データを生成する第４の演算手段とを有し、前記第６の中間データ（Ｆａ）が前記奇数データとして出力される。
【００５０】
この動作においても、係数は異なるが、クロックサイクルと中間データとの関係は、図１０に示した順変換の動作と同じである。従って、動作についての説明は省略する。
［第２の実施の形態］
図１２は、タイリングの原理を説明する図である。課題のところで説明したとおり、図２，３に示されるとおり、１つの画像全てに対してフィルタ処理を再帰的に行うと、変換途中において１頁分の画像データ全てを格納しておく内部メモリが必要になり、１頁分の画像データはデータ容量が大きいのでそのような内部メモリはコストアップを招く。そこで、従来からタイリングを行うことが提案されている。図１２に示されるとおり、１頁分の画像１１を複数の分割領域11a〜11pに分割し、各分割領域の画像データに対して離散ウエーブレット変換を行うようにすれば、内部メモリの容量を小さく抑えることができる。
【００５１】
図１２は、分割領域11aに対して二次元フィルタ処理を３回行った場合を示す。図１２（Ａ）の分割領域11aに対して、１回目の二次元フィルタ処理により、（Ｂ）に示されるように、HH,HL,LH,LLの各帯域の領域に分割領域11aについての各帯域データが生成され、２回目と３回目の二次元フィルタ処理により、（Ｃ）（Ｄ）に示されるように、各帯域の領域に分割領域11aについての帯域データが生成される。従って、画像データ１１を複数の分割領域に細分化し、それぞれの分割領域について離散ウエーブレット変換を行えば、内部メモリは分割領域の画像データ容量だけでよくなり、内部メモリ容量を小さくすることができる。
【００５２】
しかしながら、タイリングすることにより離散ウエーブレット変換装置内のメモリ容量を小さくすることができるが、分割領域内で独立して離散ウエーブレット変換を行うと、境界上で変換精度が低下する問題が生じる。その精度低下の問題を回避するために、境界を越えて演算を行うことも考えられるが、それに伴い、無駄な演算が繰り返されるという新たな問題が生じる。
【００５３】
図１３は、上記のタイリングにおける境界を越えた演算の問題点を示す図である。図１３には、分割領域11aと11bとの境界が示される。図１０で示したように、データ列X(0)〜X(7)に対して変換後のデータY(3)までが生成される。つまり、画像データを水平方向に走査したとき、分割領域11aの境界近傍では、データ列X(0)〜X(7)を入力して変換演算を完了すると、次の行に対して画像データを水平方向に走査して同様の変換演算を行う。そして、分割領域11aについての水平方向のフィルタ処理が全て完了すると、今度はその隣の分割領域11bについて画像データを水平方向に走査してフィルタ処理演算が行われる。
【００５４】
その場合、図１０に示されるとおり、分割領域11bに対する変換後のデータY(4),Y(5)を生成するためには、分割領域11aの画像データ列X(0)〜X(7)を再度入力して、８クロックサイクルの変換演算を再度行わなければならない。つまり、図１２に示されるとおり、分割領域11bの離散ウエーブレット変換を行うためには、それより広い領域11beの画像データ列について演算を行う必要があり、演算の繰り返しが含まれる。この分割領域での演算の繰り返しは、水平方向の境界と垂直方向の境界において同様に必要になるので、タイリングを行うことによる演算の繰り返しの数は膨大である。
【００５５】
図１４は、第２の実施の形態における９×７フィルタの構成図である。図９の９×７フィルタと異なるところは、分割領域の境界部分での中間データＦ０，Ｆ４，Ｆ８，Ｆｃをそれぞれ格納するメモリMEM0〜MEM3を追加し、更にスイッチＳ２，Ｓ５，Ｓ８，Ｓ１１を追加したことである。このメモリMEM0〜MEM3には、分割領域の境界部分での演算クロックサイクルの最後の４クロックサイクルで、中間データＦ０，Ｆ４，Ｆ８，Ｆｃが順次書き込まれる。そして、次の分割領域についての演算開始時において、最初の４クロックサイクルで、中間データＦ０，Ｆ４，Ｆ８，Ｆｃが、順次、メモリMEM0〜MEM3から読み出され、スイッチＳ２，Ｓ５，Ｓ８，Ｓ１１を介して加算回路602,604,606,608に供給される。従って、これらのメモリMEM0〜MEM3から読み出されるクロックサイクルで対応するスイッチがメモリ側（「４」側）に切り替わる。それ以外のクロックサイクルでは、スイッチは通常側（「０」側）に保たれる。図１４中には、内部メモリMEM0〜MEM3を制御する制御信号と、スイッチを制御する制御信号とが省略されている。
【００５６】
図１３の例で説明すると、分割領域11aの境界部分での途中の中間データがメモリMEM0〜MEM3に格納されているので、次に分割領域11bの境界部分から演算を開始するときは、画像データX(8)以降のデータ列を９×７フィルタに入力して離散ウエーブレット変換の演算を行うことができる。従って、境界部分での演算の繰り返しを回避することができる。
【００５７】
図１５は、図１４の９×７フィルタの動作を示すチャート図である。クロックサイクルCLK1〜CLK3までは、図１０の動作と同じである。クロックサイクルCLK4において、境界手前の偶数データX(6)と奇数データX(7)が入力されると、内部メモリMEM0に加算回路601の出力が書き込まれる（MEM0=W）。そして、クロックサイクルCLK5において、スイッチＳ２がメモリ側に制御され（Ｓ２＝４）、内部メモリMEM0内のデータと偶数データX(8)に係数αを乗算したデータとが加算回路６０２で加算されて、フリップフロップＦ２にラッチされる。従って、このクロックサイクルCLK5では内部メモリMEM0が読み出し制御される（MEM0=R）。更に、内部メモリMEM1にはデータＦ２に係数βを乗算してデータＦ３を加算したデータが書き込まれる（MEM1=W）。
【００５８】
次に、クロックサイクルCLK6において、スイッチＳ５がメモリ側に制御され（Ｓ５＝４）、内部メモリMEM1から読み出された（MEM1=R）データが、データＦ２に係数βを乗算したデータに加算回路６０４で加算され、フリップフロップＦ６にラッチされる。同時に、データＦ６に係数γを乗算してデータＦ７を加算したデータが内部メモリMEM2に書き込まれる（MEM2=W）。
【００５９】
次に、クロックサイクルCLK7において、スイッチＳ８がメモリ側に制御され（Ｓ８＝４）、内部メモリMEM2から読み出された（MEM2=R）データが、データＦ６に係数γを乗算したデータに加算回路６０６で加算され、フリップフロップＦａにラッチされる。同時に、データＦａに係数δを乗算してデータＦｂを加算したデータが内部メモリMEM3に書き込まれる（MEM3=W）。
【００６０】
最後にクロックサイクルCLK8において、スイッチＳ１１がメモリ側に制御され（Ｓ１１＝４）、内部メモリMEM3からデータが読み出され（MEM3=R）、データＦａに係数δを乗算したデータと加算され、フリップフロップＦｅにラッチされる。そして、次のクロックサイクルで、フリップフロップＦｅ，Ｆｆそれぞれのデータが１／Ｋ倍またはＫ倍されて、低周波成分Y(4)と高周波成分Y(5)とが出力される。
【００６１】
そして、隣接する分割領域に対してフィルタ処理が開始されると、境界より右側の最初のデータ対X(8),X(9)が入力され、内部メモリMEM0に書き込んでいたデータと偶数データX(8)に係数αを乗じたデータとが加算器６０２で加算され、フリップフロップＦ２にラッチされる。この動作は、クロックサイクルCLK4と同じである。その後は、図１５に示されたクロックサイクルCLK5〜CLK8が繰り返され、最初の変換データY(4),Y(5)が出力される。
【００６２】
内部メモリMEM0〜MEM3が設けられていなければ、隣接する分割領域に対する離散ウエーブレット変換を開始するに際して、既に演算済みの分割領域内のデータX(0)〜X(7)をクロックサイクルCLK1〜CLK4により順次入力し演算する必要がある。しかし、図１４の第２の実施の形態によれば、内部メモリに中間の演算データを順次格納しているので、隣接する分割領域の離散ウエーブレット変換を、クロックサイクルCLK5が開始することができ、最初の４つのクロックサイクルCLK1〜CLK3を省略することができる。従って演算効率を高めることができる。
【００６３】
図１６は、第２の実施の形態における順変換の５×３フィルタの構成図と動作チャート図である。図１６（Ａ）は、図７の５×３フィルタに対して、メモリMEM0,MEM1とスイッチＳ２，Ｓ５が追加されている。その動作は、図１６（Ｂ）に示される通りである。基本的に９×７フィルタの動作の前半部分と同じである。但し、係数がαの代わりにｐ、βの代わりにｕになっている。
【００６４】
図１７は、第２の実施の形態における逆変換の５×３フィルタの構成図と動作チャート図である。逆変換の５×３フィルタには、高周波成分INHと低周波成分INLとが同じクロックサイクルで供給され、４つのパイプラインステージST1〜ST4で構成され、高周波成分のデータY(0),Y(2),Y(4),Y(6)と低周波成分のデータY(1),Y(3),Y(5)とに対して、５つの元のデータ列X(1)〜X(5)が生成される。そして、この逆変換の場合も、内部メモリMEM0,MEM1とその読み出しデータを加算器に出力するスイッチとが設けられ、分割領域の境界部分での第１及び第３の中間データ（Ｆ０，Ｆ４）を順次記憶し、隣接する分割領域での繰り返し演算を回避している。
【００６５】
第２の実施の形態における逆変換の９×７フィルタの構成は、後述する図２２に示される通りである。メモリMEM0〜MEM3が追加され、演算の繰り返しが防止される。この動作は、図１５において係数を置き換えたものと基本的に同じである。
［第３の実施の形態］
離散ウエーブレット変換は、９×７フィルタの場合は、９個の画像データ列から低周波成分のデータが生成され、９個の画像データ列から高周波成分のデータが生成される。従って、画像の上端または左端の先頭画像データに対して低周波成分のデータと高周波成分のデータとを生成するためには、当該先頭の画像データに先行する何らかの画像データを入力して、あらかじめ演算を行っておく必要がある。そこで、一般には、先頭画像データ以降の画像データを折り返して先行する画像データとして利用することが提案されている。例えば、画像データ列がX(0),X(1)〜X(8)の場合は、先頭のデータX(0)に先行するデータとして、折り返したデータ列X(8),X(7)〜X(1)が利用される。つまり、先頭データX(0)に近傍のデータ列が最も蓋然性の高いデータとみなして、便宜上折り返しデータを先行するデータとして利用している。
【００６６】
また、画像の下端または右端の最後の画像データに対しても、それに後続の画像データが必要になるので、最後の画像データに先行するデータ列を折り返して後続の画像データに利用することが提案されている。
【００６７】
第３の実施の形態では、先頭画像データに先行するデータ列の演算と、最後の画像データの後続のデータ列の演算とを不要にすることができる離散サーブレット変換装置を提案する。
【００６８】
図１８は、第３の実施の形態における９×７フィルタの構成図である。このフィルタ構成は、図１４のフィルタ構成に加えて、画像の上端または左端の処理のためにフリップフロップＦ５、加算器８０９、スイッチＳ６、フリップフロップＦｄ、加算器８１０、スイッチＳ１２を追加している。また、図１８のフィルタ構成は、データ列が偶数の場合における画像の下端または右端の処理のために、２倍乗算器８０１、スイッチＳ１、Ｓ３、２倍乗算器８０３、スイッチＳ７、Ｓ９を追加し、データ列が奇数の場合における画像の下端または右端の処理のために、２倍乗算器８０２、スイッチＳ４、Ｓ６、２倍乗算器８０４、スイッチＳ１０、Ｓ１２を追加している。
［上端または左端の演算動作］
図１９は、画像の上端または左端の演算動作を示すチャート図である。上端または左端のデータ列はX(0)〜X(8)となっているが、先頭のデータX(0)の演算結果を得るためには、それに先行する４個のデータ列が必要である。従って、折り返したデータ列X(4)〜X(1)が供給されたものと仮定する。その場合、クロックサイクルCLK3でのフリップフロップＦ６のデータF6(3)は、F6(3)＝F3(1)＋２βF2(2)となる。括弧内はクロックサイクルを示す。その理由は、以下の通りである。
【００６９】
クロックサイクルCLK4でのデータF6(4)は、図１８中に示されるとおり、以下の通りである。
【００７０】
F4(3)＝F3(2)＋βF2(2)
F6(4)＝F4(3)＋βF2(3)＝F3(2)＋β（F2(2) ＋F2(3)）
同様にして、クロックサイクルCLK3でのデータF6(3)は、図１８中に示されるとおり、以下の通りである。
【００７１】
F5(2)＝F3(1)
F6(3)＝F5(2)＋β（F2(1)＋F2(2)）
この場合、F2(1)＝F2(2)＝X(1)＋α（X(0)＋X(2)）であるので、結局、
F6(3)＝F5(2)＋2βF2(2)                              （１）
上記式（１）を生成するために、クロックサイクルCLK3では、スイッチＳ６＝１に制御され、２倍乗算器８０２によりデータF2(2)に係数２βを乗算したデータが加算器８０９でデータF5(2)と加算され、スイッチＳ６＝１を介してフリップフロップＦ６にラッチされる。この演算により、クロックCLK3でのデータF6(3)は式（１）のデータになる。
【００７２】
更に、クロックサイクルCLK6でのデータFe(6)も、同様にして、図１９中に示されるとおり、以下のデータになる。
【００７３】
Fe(6)＝Fd(5)＋２δFa(5)                              （２）
この式（２）を生成するために、クロックサイクルCLK6では、スイッチＳ１２＝１に制御され、２倍乗算器８０４によりデータFa(5)に係数２δを乗算したデータが加算器８１０でデータFd(4)と加算され、スイッチＳ１２＝１を介してフリップフロップＦｅにラッチされる。この演算により、クロックCLK6でのデータFe(6)は式（２）のデータになる。
【００７４】
以上のとおり、わずかに回路を追加するだけで、画像の上端または左端において、先頭のデータX(0)に先行するデータ列を入力して演算する必要がなくなり、少なくとも４クロックサイクルの演算を削減することができる。
［偶数データ時の下端または右端の動作］
下端または右端のデータX(9)に対する変換データY(9)を演算するためには、データX(9)に後続するデータ列X(8)〜X(6)を入力して演算する必要がある。しかし、本実施の形態では後続するデータ列に対する途中の演算を利用することで、かかる後続のデータ列の入力を回避することができる。
【００７５】
図２０は、偶数データ時の下端または右端の動作演算動作を示すチャート図である。下端または右端のデータ対X(8),X(9)が供給されるクロックサイクルCLK5のデータF2(5)は、以下の通りである。
【００７６】
F2(5)＝X(7)＋α（X(6)＋X(8)）
同様に、クロックサイクルCLK6でのデータF2(6)は、X(8)＝X(10)であるので、次の通りである。
【００７７】
F2(6)＝X(9)＋α（X(8)＋X(10)）＝X(9)＋2αX(8)
そこで、クロックサイクルCLK5において、スイッチＳ１＝２に制御して、乗算器８０１によりデータX(8)に係数２αを乗算し、更にデータX(9)を加算してフリップフロップＦ０にラッチし、次のクロックサイクルCLK6において、スイッチＳ３＝２に制御して、そのフリップフロップＦ０のデータをスイッチＳ３＝２を介してフリップフロップＦ２にラッチし、データF2(6)を得る。
【００７８】
同様に、クロックサイクルCLK9でのデータFa(8)は、F6(7)＝F6(8)であるので、次の通りである。
【００７９】
Fa(8)＝F7(7)＋２γF6(7)
そこで、クロックサイクルCLK8において、スイッチＳ７＝２に制御して、乗算器８０３によりデータF6(7)に係数２γを乗算し、更にデータF7(7)を加算してフリップフロップＦ８にラッチし、次のクロックサイクルCLK9において、スイッチＳ９＝２に制御して、そのフリップフロップＦ８のデータをスイッチＳ９＝２を介してフリップフロップＦａにラッチし、データFa(8)を得る。
【００８０】
以上のとおり、このフィルタによれば、下端または右端の最後のデータX(8),X(9)を入力した後、クロックサイクルCLK6〜CLK11の演算により、変換データY(8),Y(9)を得ることができる。従って、データ列X(8)〜X(6)を入力する必要はない。つまり、外部メモリ内の画像データを読み出して供給する必要はない。但し、演算のクロックサイクル数を短くすることはできない。
［奇数データ時の下端または右端の動作］
図２１は、奇数データ時の下端または右端の動作演算動作を示すチャート図である。画像データが奇数の場合は、下端または右端の画像データはX(8)になり、そのクロックサイクルではデータX(8),X(7)が供給される。従って、偶数データの場合に比較すると、２倍の係数を乗算して加算する演算ステージが１クロックサイクルずれている。それ以外の考え方は、偶数データの場合と同じである。
【００８１】
クロックサイクルCLK7でのデータF6(7)は、図２１に示されるとおり、次の通りである。
【００８２】
F6(7)＝F3(5)＋２βF2(5)
そこで、クロックサイクルCLK6において、スイッチＳ４＝３に制御して、データF2(5)に２βを乗算し、データF3(5)を加算して、フリップフロップＦ４にラッチし、次のクロックサイクルCLK7において、スイッチＳ６＝３に制御して、フリップフロップＦ６にデータF6(7)を格納する。
【００８３】
クロックサイクルCLK9,CLK10においても同様にして、フリップフロップＦｅにデータFe(10)＝Fb(8)＋２δFa(8)が格納される。
【００８４】
この場合も、下端または右端の最後のデータX(8)を入力した後、クロックサイクルCLK6〜CLK11の演算により、変換データY(8)を得ることができる。従って、データ列X(7)〜X(4)を入力する必要はない。
［逆変換の９×７フィルタ］
図２２は、逆変換の場合の９×７フィルタの構成図である。前述の第２、第３の実施の形態を適用した構成図である。つまり、分割領域の境界でも演算の繰り返しをなくすために、第１、第３、第５、第７の中間データ（Ｆ０，Ｆ４，Ｆ８，Ｆｃ）を順次書き込み、順次読み出すメモリMEM0〜MEM3と、読み出し時に「４」側に制御されるスイッチS22,S25,S28,S31とが設けられている。
【００８５】
また、上端または左端の演算処理におけるデータ入力を回避して演算効率を上げるために、フリップフロップＦ３，Ｆｂ、加算回路９０５，９０６、２倍乗算器９０７，９０９、スイッチＳ２３，Ｓ２９が設けられている。これらのスイッチは「１」側に制御される。そして、下端または右端の演算処理におけるデータ入力を回避するために、２倍乗算器９０７〜９１０と、スイッチS21,S23,S24,S26,S27,S29,S30,S32が設けられている。これらのスイッチは、データ数が偶数の場合は「２」側に制御され、データ数が奇数の場合は「３」側に制御される。
【００８６】
逆変換フィルタの場合もそれぞれの演算動作は、順変換の場合と類似するので説明は省略する。
【００８７】
以上、実施の形態例をまとめると以下の付記の通りである。
【００８８】
（付記１）デジタルデータ列の高周波成分のデータと低周波成分のデータとに分離するフィルタ処理装置において、
偶数データ列と奇数データ列を同時に入力する偶数側入力端子と奇数側入力端子とを設け、クロックサイクルに同期して偶数データと奇数データとを前記偶数側入力端子と奇数側入力端子から入力して高周波成分のデータと低周波成分のデータとを生成することを特徴とするフィルタ処理装置。
【００８９】
（付記２）付記１において、
更に、第１のクロックサイクルで第１の偶数データ（X(0)）に第１の係数（Ｐ、α）を乗算し第１の奇数データ（X(1)）を加算した第１の中間データ（Ｆ０）を生成し、第２のクロックサイクルで第２の偶数データ（X(2)）に前記第１の係数（Ｐ、α）を乗算しそれに第１クロックサイクルでの前記第１の中間データ（Ｆ０）を加算した第２の中間データ（Ｆ２）を生成する第１の演算手段と、
第３のクロックサイクルで第２クロックサイクルでの前記第２の中間データ（Ｆ２）に第２の係数（Ｕ、β）を乗算しそれに第２の偶数データ（X2））を加算した第３の中間データ（Ｆ４）を生成し、第４のクロックサイクルで第３のクロックサイクルで生成された第２の中間データ（Ｆ２）に前記第２の係数（Ｕ、β）を乗算しそれに第３クロックサイクルでの前記第３の中間データ（Ｆ４）を加算した第４の中間データ（Ｆ６）を生成する第２の演算手段とを有するフィルタ処理装置。
【００９０】
（付記３）付記２において、
更に、第５のクロックサイクルで第４クロックサイクルでの前記第４の中間データ（Ｆ６）に第３の係数（γ）を乗算し第３のクロックサイクルでの第２の中間データ（Ｆ２、Ｆ７）を加算した第５の中間データ（Ｆ８）を生成し、第６のクロックサイクルで前記第５のクロックサイクルでの第４の中間データ（Ｆ６）に前記第３の係数（γ）を乗算しそれに第５サイクルでの前記第５の中間データ（Ｆ８）を加算した第６の中間データ（Ｆａ）を生成する第３の演算手段と、
第７のクロックサイクルで第６クロックサイクルでの前記第６の中間データ（Ｆａ）に第４の係数（δ）を乗算しそれに前記第５のクロックでの第４の中間データ（Ｆ６、Ｆｂ）を加算した第７の中間データ（Ｆｃ）を生成し、第８のクロックサイクルで第７のクロックサイクルでの第６の中間データ（Ｆａ）に前記第４の係数（δ）を乗算しそれに第７クロックサイクルでの前記第７の中間データ（Ｆｃ）を加算した第８の中間データ（Ｆｅ）を生成する第４の演算手段とを有し、
前記第６の中間データ（Ｆａ）が前記高周波成分データとして、前記第８の中間データ（Ｆｅ）が前記低周波成分データとして出力されるフィルタ処理装置。
【００９１】
（付記４）付記２において、
タイリングのために分割された領域の画像データに対してフィルタ処理が行われる場合、当該処理対象領域の画像データの終端側境界において、境界の画像データ対が入力されるクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記第１、第３の中間データ（Ｆ０，Ｆ４）を順次記憶する内部メモリを設け、
隣接する処理対象領域の画像データの開始端境界において、境界の画像データ対が入力される最初のクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記内部メモリに記憶された前記第１、第３の中間データ（Ｆ０，Ｆ４）を順次読み出すことを特徴とするフィルタ処理装置。
【００９２】
（付記５）付記３において、
タイリングのために分割された領域の画像データに対してフィルタ処理が行われる場合、当該処理対象領域の画像データの終端側境界において、境界の画像データ対が入力されるクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記第１、第３、第５、第７の中間データ（Ｆ０，Ｆ４，Ｆ８，Ｆｃ）を順次記憶する内部メモリを設け、
隣接する処理対象領域の画像データの開始端境界において、境界の画像データ対が入力される最初のクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記内部メモリに記憶された前記第１、第３、第５、第７の中間データ（Ｆ０，Ｆ４，Ｆ８，Ｆｃ）を順次読み出すことを特徴とするフィルタ処理装置。
【００９３】
（付記６）付記２において、
画像データの上端または左端の画像データに対するフィルタ処理を行う場合、前記第２の中間データ（Ｆ２）に第２の係数（β）の２倍を乗算し第１の偶数データ（X(0)）を加算して前記第４の中間データ（Ｆ６）を生成することを特徴とするフィルタ処理装置。
【００９４】
（付記７）付記３において、
画像データの上端または左端の画像データに対するフィルタ処理を行う場合、前記第２の中間データ（Ｆ２）に第２の係数（β）の２倍を乗算し第１の偶数データ（X(0)）を加算して前記第４の中間データ（Ｆ６）を生成し、更に、前記第６の中間データ（Ｆａ）に第４の係数（δ）の２倍を乗算して前記第４の中間データ（Ｆ６）を加算して前記第８の中間データ（Ｆｅ）を生成することを特徴とするフィルタ処理装置。
【００９５】
（付記８）付記２において、
データ数が偶数の場合であって、画像データの下端または右端の画像データに対するフィルタ処理を行う場合、最後の偶数データ（X(8)）に第１の係数（α）の２倍を乗算し最後の奇数データ（X(9)）を加算して前記第２の中間データ（Ｆ２）を生成することを特徴とするフィルタ処理装置。
【００９６】
（付記９）付記３において、
データ数が偶数の場合であって、画像データの下端または右端の画像データに対するフィルタ処理を行う場合、最後の偶数データ（X(8)）に第１の係数（α）の２倍を乗算し最後の奇数データ（X(9)）を加算して前記第２の中間データ（Ｆ２）を生成し、更に、前記第４の中間データ（Ｆ６）に第３の係数（γ）の２倍を乗算し前記第２の中間データ（Ｆ２）を加算して前記第６の中間データ（Ｆａ）を生成することを特徴とするフィルタ処理装置。
【００９７】
（付記１０）付記２において、
データ数が奇数の場合であって、画像データの下端または右端の画像データに対するフィルタ処理を行う場合、最後の偶数データ（X(8)）に対して、前記第２の中間データ（Ｆ２）に第２の係数（β）の２倍を乗算し最後の偶数データ（X(8)）を加算して前記第４の中間データ（Ｆ６）を生成することを特徴とするフィルタ処理装置。
【００９８】
（付記１１）付記３において、
データ数が奇数の場合であって、画像データの下端または右端の画像データに対するフィルタ処理を行う場合、最後の偶数データ（X(8)）に対して、前記第２の中間データ（Ｆ２）に第２の係数（β）の２倍を乗算し最後の偶数データ（X(8)）を加算して前記第４の中間データ（Ｆ６）を生成し、更に、前記第６の中間データ（Ｆａ）に第４の係数（δ）の２倍を乗算し前記第４の中間データ（Ｆ６）を加算して前記第８の中間データ（Ｆｅ）を生成することを特徴とするフィルタ処理装置。
【００９９】
（付記１２）高周波成分データと低周波成分データとをデータ列に合成する逆フィルタ処理装置において、
高周波成分データ列と低周波成分データ列を同時に入力する高周波側入力端子と低周波側入力端子とを設け、クロックサイクルに同期して高周波成分データと低周波成分データとを前記高周波側入力端子と低周波側入力端子から入力して偶数データと奇数データとを生成する逆フィルタ処理装置。
【０１００】
（付記１３）付記１２において、
更に、第１のクロックサイクルで第１の高周波成分データ（Y(0)）に第１の係数（−ｕ）を乗算し第１の低周波成分データ（Y(1)）を加算した第１の中間データ（Ｆ０）を生成し、第２のクロックサイクルで第２の高周波成分データ（X(2)）に前記第１の係数（−ｕ）を乗算しそれに第１クロックサイクルでの前記第１の中間データ（Ｆ０）を加算した第２の中間データ（Ｆ２）を生成する第１の演算手段と、
第３のクロックサイクルで第２クロックサイクルでの前記第２の中間データ（Ｆ２）に第２の係数（−ｐ）を乗算しそれに第２の高周波成分データ（Y(2)）を加算した第３の中間データ（Ｆ４）を生成し、第４のクロックサイクルで第３のクロックサイクルで生成された第２の中間データ（Ｆ２）に前記第２の係数（−ｐ）を乗算しそれに第３クロックサイクルでの前記第３の中間データ（Ｆ４）を加算した第４の中間データ（Ｆ６）を生成する第２の演算手段とを有する逆フィルタ処理装置。
【０１０１】
（付記１４）付記１２において、
更に、第１のクロックサイクルで第１の高周波成分データ（Y(1)）の第１の初期データ（Ｆｅ）に第１の係数（−δ）を乗算し第１の低周波成分データ（Y(0)）の第２の初期データ（Ｆｆ）を加算した第１の中間データ（Ｆ０）を生成し、第２のクロックサイクルで第１のクロックサイクルでの前記第１の初期データ（Ｆｅ）に前記第１の係数（−δ）を乗算しそれに第１クロックサイクルでの前記第１の中間データ（Ｆ０）を加算した第２の中間データ（Ｆ２）を生成する第１の演算手段（ＡＬ１）と、
第３のクロックサイクルで第２クロックサイクルでの前記第２の中間データ（Ｆ２）に第２の係数（−γ）を乗算しそれに第１のクロックサイクルでの前記第１の初期データ（Ｆｅ）を加算した第３の中間データ（Ｆ４）を生成し、第４のクロックサイクルで第３のクロックサイクルで生成された第２の中間データ（Ｆ２）に前記第２の係数（−γ）を乗算しそれに第３クロックサイクルでの前記第３の中間データ（Ｆ４）を加算した第４の中間データ（Ｆ６）を生成する第２の演算手段と、
第５のクロックサイクルで第４クロックサイクルでの前記第４の中間データ（Ｆ６）に第３の係数（−β）を乗算し第３のクロックサイクルでの第２の中間データ（Ｆ２、Ｆ７）を加算した第５の中間データ（Ｆ８）を生成し、第６のクロックサイクルで前記第５のクロックサイクルでの第４の中間データ（Ｆ６）に前記第３の係数（−β）を乗算しそれに第５サイクルでの前記第５の中間データ（Ｆ８）を加算した第６の中間データ（Ｆａ）を生成する第３の演算手段と、
第７のクロックサイクルで第６クロックサイクルでの前記第６の中間データ（Ｆａ）に第４の係数（−α）を乗算しそれに前記第５のクロックでの第４の中間データ（Ｆ６、Ｆｂ）を加算した第７の中間データ（Ｆｃ）を生成し、第８のクロックサイクルで第７のクロックサイクルでの第６の中間データ（Ｆａ）に前記第４の係数（−α）を乗算しそれに第７クロックサイクルでの前記第７の中間データ（Ｆｃ）を加算した偶数データを生成する第４の演算手段とを有し、前記第６の中間データ（Ｆａ）が前記奇数データとして出力される逆フィルタ処理装置。
【０１０２】
（付記１５）付記１３において、
タイリングのために分割された領域の画像データに対して逆フィルタ処理が行われる場合、当該処理対象領域の画像データの終端側境界において、境界の画像データ対が入力されるクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記第１、第３の中間データ（Ｆ０，Ｆ４）を順次記憶する内部メモリ（MEM0,1）を設け、
隣接する処理対象領域の画像データの開始端境界において、境界の画像データ対が入力される最初のクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記内部メモリに記憶された前記第１、第３の中間データ（Ｆ０，Ｆ４）を順次読み出すことを特徴とする逆フィルタ処理装置。
【０１０３】
（付記１６）付記１４において、
タイリングのために分割された領域の画像データに対して逆フィルタ処理が行われる場合、当該処理対象領域の画像データの終端側境界において、境界の画像データ対が入力されるクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記第１、第３、第５、第７の中間データ（Ｆ０，Ｆ４，Ｆ８，Ｆｃ）を順次記憶する内部メモリ（MEM0〜3）を設け、
隣接する処理対象領域の画像データの開始端境界において、境界の画像データ対が入力される最初のクロックサイクルから後続のクロックサイクルそれぞれにおいて、前記内部メモリに記憶された前記第１、第３、第５、第７の中間データ（Ｆ０，Ｆ４，Ｆ８，Ｆｃ）を順次読み出すことを特徴とする逆フィルタ処理装置。
【０１０４】
（付記１７）付記１３において、
画像データの上端または左端の画像データに対する逆フィルタ処理を行う場合、前記第１の高周波成分データ（Y(0)）に第１の係数（−δ）の２倍を乗算し第１の低周波成分データ（Y(1)）を加算して前記第２の中間データ（Ｆ２）を生成することを特徴とする逆フィルタ処理装置。
【０１０５】
（付記１８）付記１４において、
画像データの上端または左端の画像データに対する逆フィルタ処理を行う場合、前記第１の初期データ（Ｆｅ）に第１の係数（−δ）の２倍を乗算し第２の初期データ（Ｆｆ）を加算して前記第２の中間データ（Ｆ２）を生成し、更に、前記第４の中間データ（Ｆ６）に第３の係数（−β）の２倍を乗算して前記第２の中間データ（Ｆ２）を加算して前記第６の中間データ（Ｆａ）を生成することを特徴とする逆フィルタ処理装置。
【０１０６】
（付記１９）付記１３において、
データ数が偶数の場合であって、画像データの下端または右端の画像データに対する逆フィルタ処理を行う場合、最後の高周波成分データに対応する前記第１の初期データ（Ｆｅ）に対して、前記第２の中間データ（Ｆ２）に第２の係数（−γ）の２倍を乗算したものを加算して前記第４の中間データ（Ｆ６）を生成することを特徴とする逆フィルタ処理装置。
【０１０７】
（付記２０）付記１４において、
データ数が偶数の場合であって、画像データの下端または右端の画像データに対する逆フィルタ処理を行う場合、最後の高周波成分データに対応する前記第１の初期データ（Ｆｅ）に対して、前記第２の中間データ（Ｆ２）に第２の係数（−γ）の２倍を乗算したものを加算して前記第４の中間データ（Ｆ６，Ｆｂ）を生成し、更に、前記第６の中間データ（Ｆａ）に第４の係数（−α）の２倍を乗算し前記第４の中間データ（Ｆ６）を加算して前記偶数データを生成することを特徴とする逆フィルタ処理装置。
【０１０８】
（付記２１）付記１３において、
データ数が奇数の場合であって、画像データの下端または右端の画像データに対する逆フィルタ処理を行う場合、最後の高周波成分データに対応する前記第１の初期データ（Ｆｅ）に第１の係数（−δ）の２倍を乗算し最後の低周波成分データに対応する前記第２の初期データ（Ｆｆ）を加算して前記第２の中間データ（Ｆ２）を生成することを特徴とする逆フィルタ処理装置。
【０１０９】
（付記２２）付記１４において、
データ数が奇数の場合であって、画像データの下端または右端の画像データに対する逆フィルタ処理を行う場合、最後の高周波成分データに対応する第１の初期データ（Ｆｅ）に第１の係数（−δ）の２倍を乗算し最後の低周波成分データに対応する第２の初期データ（Ｆｆ）を加算して前記第２の中間データ（Ｆ２）を生成し、更に、前記第４の中間データ（Ｆ６）に第３の係数（−β）の２倍を乗算し前記第２の中間データ（Ｆ２）を加算して前記第６の中間データ（Ｆａ）を生成することを特徴とする逆フィルタ処理装置。
【０１１０】
【発明の効果】
以上、本発明によれば、離散ウエーブレット変換装置用のフィルタ装置、逆離散ウエーブレット変換装置用の逆フィルタ装置の演算速度を速めることができる。
【図面の簡単な説明】
【図１】JPEG2000における画像データの符号化圧縮と解凍復号化の概略的な工程を示す図である。
【図２】ウエーブレット変換における高周波数成分と低周波数成分の分割を説明する図である。
【図３】ウエーブレット変換装置の構成図である。
【図４】従来の５×３フィルタのリフティング構成のフィルタ装置とその逆フィルタ装置を示す図である。
【図５】従来の９×７フィルタのリフティング構成のフィルタ装置とその逆フィルタ装置を示す図である。
【図６】本実施の形態における５×３フィルタのフィルタ装置の概略図である。
【図７】図６の５×３フィルタの具体的構成図である。
【図８】本実施の形態における９×７フィルタのフィルタ装置の概略図である。
【図９】図８の９×７フィルタの具体的構成図である。
【図１０】９×７フィルタの動作を示すチャート図である。
【図１１】９×７フィルタによる逆フィルタ装置の具体的構成図である。
【図１２】タイリングの原理を説明する図である。
【図１３】タイリングにおける境界を越えた演算の問題点を示す図である。
【図１４】第２の実施の形態における９×７フィルタの構成図である。
【図１５】図１４の９×７フィルタの動作を示すチャート図である。
【図１６】第２の実施の形態における順変換の５×３フィルタの構成図と動作チャート図である。
【図１７】第２の実施の形態における逆変換の５×３フィルタの構成図と動作チャート図である。
【図１８】第３の実施の形態における９×７フィルタの構成図である。
【図１９】画像の上端または左端の演算動作を示すチャート図である。
【図２０】偶数データ時の下端または右端の動作演算動作を示すチャート図である。
【図２１】奇数データ時の下端または右端の動作演算動作を示すチャート図である。
【図２２】逆変換の場合の９×７フィルタの構成図である。
【符号の説明】
ＡＬ１：第１の演算手段、ＡＬ２：第２の演算手段、
ＡＬ３：第３の演算手段、ＡＬ４：第４の演算手段
【図１】
0004381729.tif 000002
【図２】
0004381729.tif 000003
【図３】
0004381729.tif 000004
【図４】
0004381729.tif 000005
【図５】
0004381729.tif 000006
【図６】
0004381729.tif 000007
【図７】
0004381729.tif 000008
【図８】
0004381729.tif 000009
【図９】
0004381729.tif 000010
【図１０】
0004381729.tif 000011
【図１１】
0004381729.tif 000012
【図１２】
0004381729.tif 000013
【図１３】
0004381729.tif 000014
【図１４】
0004381729.tif 000015
【図１５】
0004381729.tif 000016
【図１６】
0004381729.tif 000017
【図１７】
0004381729.tif 000018
【図１８】
0004381729.tif 000019
【図１９】
0004381729.tif 000020
【図２０】
0004381729.tif 000021
【図２１】
0004381729.tif 000022
【図２２】
0004381729.tif 000023