(57)【特許請求の範囲】
【請求項１】
データを処理するデータ処理装置であって、
従属に接続されたｎ個の演算ユニットを備え、
前記ｎ個の演算ユニットそれぞれは、
同時に２つのデータを入力するための第一の入力端子及び第二の入力端子と
前記第一の入力端子の出力側に接続されている、乗算機能もしくは位取り変換機能を有する第三の演算器と
前記第三の演算器の出力側に接続されている、加算機能もしくは減算機能もしくは加減算機能を有する第一の演算器と、
前記第三の演算器の出力側及び前記第二の入力端子の出力側に接続されている、加算機能もしくは減算機能もしくは加減算機能を有する第二の演算器と、
前記第一の演算器の入力側と前記第二の演算器の出力側に接続されている、データを保持する保持手段と、
同時に２つのデータを出力するための第一の出力端子及び第二の出力端子であって、前記第一の演算器の出力側に接続されている第一の出力端子と、前記第一の入力端子の出力側に接続されている第二の出力端子と
を有し、
前記ｎ個の演算ユニットそれぞれは、
前記第一の入力端子及び前記第二の入力端子にそれぞれに入力される第一の入力データ及び第二の入力データの内、前記第二の入力データを前記第二の演算器を経由して前記保持手段に所定の期間保持した後、前記第一の演算器を経由して第一の出力データとして前記第一の出力端子から出力すると共に、
前記第一の入力データを第二の出力データとして前記第二の出力端子から出力するとともに、前記第一の入力データを前記第三の演算器によりデータを変換し、該変換したデータを、前記保持手段の保持前のデータと保持後のデータの少なくとも一方のデータと、前記第一の演算器乃至第二の演算器でもって加算もしくは減算し、
前記ｎ個の演算ユニットにおいて、
先頭の第１演算ユニットには処理対象の入力データを２つずつ入力することで、３タップと１タップの入力データに依存して決まる前記第一の出力データ及び前記第二の出力データを出力して、次段の第２演算ユニットに前記第一の入力データ及び前記第二の入力データとして入力し、先頭からｉ番目の第ｉ演算ユニットからは２ｉ＋１タップと２ｉ−１タップの入力データに依存して決まる前記第一の出力データ及び前記第二の出力データを出力して、次段の第ｉ＋１演算ユニットの前記第一の入力データ及び前記第二の入力データとして入力することによって、最終段の第ｎ演算ユニットからは、２ｎ＋１タップと２ｎ−１タップの入力データに依存して決まる周波数特性の異なる第一のウェーブレット変換係数及び第二のウェーブレット変換係数を出力する演算を行う
ことを特徴とするデータ処理装置。
【請求項２】
前記ｎ個の演算ユニットそれぞれは、前記位取り機能を有する第三の演算器を２つ有し、前記演算に応じて２種類の位取りを切り換える
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記ｎ個の演算ユニットそれぞれは、更に、前記第一の演算器及び前記第２の演算器にオフセットデータを入力するオフセット生成手段を有し、該演算ユニットの前記第一の出力データに対する丸め処理を行う丸め処理手段を、当該演算ユニット内、もしくは当該演算ユニットの前後の演算ユニット間に有する
ことを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記オフセット生成手段と前記丸め処理手段において、オフセットデータと前記演算によって発生する小数部データを各々マスクする第１マスク手段と第２マスク手段を有し、前記第１マスク手段と前記第２マスク手段とが排他的に有効となるように制御する
ことを特徴とする請求項３に記載のデータ処理装置。
【請求項５】
前記ｎ個の演算ユニットそれぞれは、２つの前記保持手段を有し、
前記２つの保持手段それぞれに２ラインのデータをライン交互に入力して、前記演算を行う
ことを特徴とする請求項１に記載のデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データを処理するデータ処理装置に関するものである。
【０００２】
【従来の技術】
画像、特に、多値画像は非常に多くの情報を含んでおり、その画像を蓄積・伝送する際にはデータ量が膨大になってしまうという問題がある。このため画像の蓄積・伝送に際しては、画像の持つ冗長性を除く、あるいは画質の劣化が視覚的に認識し難い程度で画像データの変化を許容することによってデータ量を大幅に削減する高能率符号化が用いられる。
【０００３】
例えば、静止画像の国際標準符号化方式としてＩＳＯとＩＴＵ−Ｔにより勧告されたＪＰＥＧでは、画像データをブロック（８画素×８画素）ごとに離散コサイン変換（ＤＣＴ）した後に、変換によって得られる各変換係数を各々量子化し、さらにエントロピー符号化することにより画像データを圧縮している。この圧縮では、画像データをブロックごとにＤＣＴ、量子化を行なっているので、復号画像の各ブロックの境界で、所謂ブロック歪みが見える場合がある。
【０００４】
一方、新しい静止画像の国際標準符号化方式として検討されているＪＰＥＧ２０００では、量子化・エントロピー符号化の前に行なう変換処理として、ウェーブレット変換が用いられている。ウェーブレット変換は、ＤＣＴ変換のように小さなブロック単位で処理を行うのではなく、該ブロックより十分大きなサイズのタイル単位で変換処理をするので、前記ブロック歪みがないといった特徴がある。
【０００５】
以下では、Ｌｉｆｔｉｎｇ  Ｓｃｈｅｍｅを用いたウェーブレット変換フィルタ処理について説明する。
【０００６】
ＪＰＥＧ２０００で使われているウェーブレット変換は、Ｌｉｆｔｉｎｇ  Ｓｃｈｅｍｅという方法で処理をすると、少ない演算量で効率良く変換処理を行なうことができる。
【０００７】
図１に順方向のＬｉｆｔｉｎｇ  Ｓｃｈｅｍｅ、図２に逆方向のＬｉｆｔｉｎｇ  Ｓｃｈｅｍｅのシグナルフローを示す。図１、図２は、低域ウェーブレット変換係数の演算に９タップのデータ、高域ウェーブレット変換係数の演算に７タップのデータを用いる場合のシグナルフローである。図の中のα、β、γ、δはＬｉｆｔｉｎｇ係数と呼ばれるものである。
【０００８】
以下、図１の動作について説明する。
【０００９】
入力画素をＸ0, Ｘ1, Ｘ2, Ｘ3, Ｘ4, Ｘ5, ... , Ｘnのように順に表わす。該入力画素は、分類ユニット２０１にて、偶数画素系列と奇数画素系列とに分類され、該分類ユニット２０１の上側には添字が偶数の画素Ｘ0, Ｘ2, Ｘ4, ... ,Ｘ2nが、下側には添字が奇数の画素Ｘ1, Ｘ3, Ｘ5, ... , Ｘ2n+1が出力される。
初段のＬｉｆｔｉｎｇ処理では、偶数画素系列に対しＬｉｆｔｉｎｇ係数：αを乗算し、連続する２個の乗算結果を、該２画素の中央に位置する奇数画素系列中の画素に加算する。
【００１０】
これを一般化した式で表現すると、以下のようになる。
【００１１】
Ｄ2n+1 ＝ Ｘ2n+1 ＋ α・Ｘ2n ＋ α・Ｘ2n+2            （１）
２段目のＬｉｆｔｉｎｇ処理では、新たに得られた奇数画素系列Ｄ1, Ｄ3, Ｄ5, ... , Ｄ2n+1に対しＬｉｆｔｉｎｇ係数：βを乗算し、連続する２個の乗算結果を、該２画素の中央に位置する偶数画素系列中の画素に加算する。
【００１２】
これを一般化した式で表現すると、以下のようになる。
【００１３】
Ｅ2n+2 ＝ Ｘ2n+2 ＋ β・Ｄ2n+1 ＋ β・Ｄ2n+3          （２）
３段目のＬｉｆｔｉｎｇ処理では、Ｌｉｆｔｉｎｇ係数：γを用いて、初段と同じように、４段目のＬｉｆｔｉｎｇ処理では、Ｌｉｆｔｉｎｇ係数：δを用いて、２段目と同じように処理する。３段、４段目のＬｉｆｔｉｎｇ処理内容を一般化した式で表現すると、以下のようになる。
【００１４】
Ｈ2n+1 ＝ Ｄ2n+1 ＋ γ・Ｅ2n   ＋ γ・Ｅ2n+2          （３）
Ｌ2n+2 ＝ Ｅ2n+2 ＋ δ・Ｈ2n+1 ＋ δ・Ｈ2n+3          （４）
図中、Ｋは、低域・高域ウェーブレット係数を正規化するものであるが、本発明の本質を説明するにあたって、特に関係ないことであるので、以下、説明を省略する。
【００１５】
正規化処理を無視すれば、３段、４段目のＬｉｆｔｉｎｇ処理によって得られるＨn, Ｌn は各々ウェーブレット高域変換係数とウェーブレット低域変換係数に対応する。
【００１６】
次に、図２に示す逆方向のＬｉｆｔｉｎｇ  Ｓｃｈｅｍｅのシグナルフローについて簡単に説明する。まず始めに、順方向のＬｉｆｔｉｎｇ  Ｓｃｈｅｍｅにおける正規化処理に対応して、逆の係数を掛けた後、４段のＬｉｆｔｉｎｇ処理を行なう。各段の処理内容を一般化した式で表現すると、以下のようになる。
（１段目）  Ｅ2n+2 ＝ Ｌ2n+2 − δ・Ｈ2n+1 − δ・Ｈ2n+3      （５）
（２段目）  Ｄ2n+1 ＝ Ｈ2n+1 − γ・Ｅ2n   − γ・Ｅ2n+2      （６）
（３段目）  Ｘ2n+2 ＝ Ｅ2n+2 − β・Ｄ2n+1 − β・Ｄ2n+3      （７）
（４段目）  Ｘ2n+1 ＝ Ｄ2n+1 − α・Ｘ2n   − α・Ｘ2n+2      （８）
上記（５）〜（８）式は、各々（４）〜（１）式を移項して得られるものである。
【００１７】
以上が、Ｌｉｆｔｉｎｇ  Ｓｃｈｅｍｅを用いたウェーブレット変換フィルタ処理についての説明であり、次に、該Ｌｉｆｔｉｎｇ  Ｓｃｈｅｍｅに再帰的演算を組み合わせたウェーブレット変換フィルタ処理について説明する。
【００１８】
図１及び図２のＬｉｆｔｉｎｇ  Ｓｃｈｅｍｅを別の視点から表現したものが、図３及び図４に示すＬｉｆｔｉｎｇ格子構造である。同図において、□は入力データを、〇は格子点（あるいは格子点データ演算器）を表わし、〇から出ている矢印は格子点データの流れを示す。これらの図はＬｉｆｔｉｎｇ  Ｓｃｈｅｍｅにおける基本処理（前記（１）〜（８）式の処理）並びに該処理によって得られる新たなデータを１つの格子点に対応させたものである。
【００１９】
図３に示す順方向変換のＬｉｆｔｉｎｇ格子構造では、１つの格子点データは前記（１）〜（４）式のいずれかを用いて計算される。
【００２０】
図４に示す逆方向変換のＬｉｆｔｉｎｇ格子構造では、１つの格子点データは前記（５）〜（８）式のいずれかにより計算される。
【００２１】
Ｌｉｆｔｉｎｇ格子構造を見ることによって、入力データや各格子点データの依存関係が一目瞭然となる。例えば、変換出力データであるＬ4を計算するには、９つの入力データ：Ｘ0〜Ｘ8が必要であるが、３つの格子点データ：Ｈ3、Ｅ4、Ｈ5だけからも計算できることが分かる。
【００２２】
Ｌ4、Ｈ5を計算し出力した時点で、Ｘ8，Ｄ7，Ｅ6，Ｈ5の４つのデータを残しておくことが可能である。この４つのデータと新たな入力データＸ9，Ｘ10とから、Ｄ9，Ｅ8，Ｈ7，Ｌ6の順に４つの格子点データを計算することができる。そして、Ｌ6とＨ7を変換データとして出力すると共に、Ｘ10，Ｄ9，Ｅ8，Ｈ7の４つのデータを残しておいて次の計算に利用するといった効率的な演算処理が可能である。
【００２３】
ところで、この演算処理を効率的に行うには、先頭から偶数添え字の画素データと奇数添え字の画素データのペアを１つの単位にして処理する必要がある。上記の説明では、入力する画素データのペアが奇数添え字から始まるため、先頭の偶数添え字の画素データが半端になってしまう。
【００２４】
水平方向のウェーブレット変換処理の場合、半端となるのは先頭１画素だけであるが、垂直方向のウェーブレット変換処理では、先頭１ラインのデータが半端なデータとなってしまう。その上、大部分の画像データの垂直サイズは偶数なので、最後の１ラインも半端になってしまう。
【００２５】
ハードウェアで処理した場合、ペアの２ラインを処理する時間と先頭の１ラインのみを処理する時間は同じであるので、画像の先頭と最後で生ずる半端な１ラインは処理効率が悪い。
【００２６】
【発明が解決しようとする課題】
上述したように、Ｌｉｆｔｉｎｇ処理の処理結果を保存しておき、それを再利用することによって効率的な演算処理をしようとすると、データストリームの途中のデータは２ライン同時に処理ができるが、偶数サイズの画像では先頭と最後のラインのみ１ライン単独で処理しなければならず効率が良くない。
【００２７】
本発明は上記の課題を解決するためになされたものであり、効率的にウェーブレット変換処理を実行できるデータ処理装置を提供することを目的とする。
【００２８】
【課題を解決するための手段】
上記の目的を達成するための本発明によるデータ処理装置は以下の構成を備える。即ち、
データを処理するデータ処理装置であって、
従属に接続されたｎ個の演算ユニットを備え、
前記ｎ個の演算ユニットそれぞれは、
同時に２つのデータを入力するための第一の入力端子及び第二の入力端子と
前記第一の入力端子の出力側に接続されている、乗算機能もしくは位取り変換機能を有する第三の演算器と
前記第三の演算器の出力側に接続されている、加算機能もしくは減算機能もしくは加減算機能を有する第一の演算器と、
前記第三の演算器の出力側及び前記第二の入力端子の出力側に接続されている、加算機能もしくは減算機能もしくは加減算機能を有する第二の演算器と、
前記第一の演算器の入力側と前記第二の演算器の出力側に接続されている、データを保持する保持手段と、
同時に２つのデータを出力するための第一の出力端子及び第二の出力端子であって、前記第一の演算器の出力側に接続されている第一の出力端子と、前記第一の入力端子の出力側に接続されている第二の出力端子と
を有し、
前記ｎ個の演算ユニットそれぞれは、
前記第一の入力端子及び前記第二の入力端子にそれぞれに入力される第一の入力データ及び第二の入力データの内、前記第二の入力データを前記第二の演算器を経由して前記保持手段に所定の期間保持した後、前記第一の演算器を経由して第一の出力データとして前記第一の出力端子から出力すると共に、
前記第一の入力データを第二の出力データとして前記第二の出力端子から出力するとともに、前記第一の入力データを前記第三の演算器によりデータを変換し、該変換したデータを、前記保持手段の保持前のデータと保持後のデータの少なくとも一方のデータと、前記第一の演算器乃至第二の演算器でもって加算もしくは減算し、
前記ｎ個の演算ユニットにおいて、
先頭の第１演算ユニットには処理対象の入力データを２つずつ入力することで、３タップと１タップの入力データに依存して決まる前記第一の出力データ及び前記第二の出力データを出力して、次段の第２演算ユニットに前記第一の入力データ及び前記第二の入力データとして入力し、先頭からｉ番目の第ｉ演算ユニットからは２ｉ＋１タップと２ｉ−１タップの入力データに依存して決まる前記第一の出力データ及び前記第二の出力データを出力して、次段の第ｉ＋１演算ユニットの前記第一の入力データ及び前記第二の入力データとして入力することによって、最終段の第ｎ演算ユニットからは、２ｎ＋１タップと２ｎ−１タップの入力データに依存して決まる周波数特性の異なる第一のウェーブレット変換係数及び第二のウェーブレット変換係数を出力する演算を行う。
【００３０】
また、好ましくは、  前記ｎ個の演算ユニットそれぞれは、前記位取り機能を有する第三の演算器を２つ有し、前記演算に応じて２種類の位取りを切り換える。
【００３２】
また、好ましくは、前記ｎ個の演算ユニットそれぞれは、更に、前記第一の演算器及び前記第２の演算器にオフセットデータを入力するオフセット生成手段を有し、該演算ユニットの前記第一の出力データに対する丸め処理を行う丸め処理手段を、当該演算ユニット内、もしくは当該演算ユニットの前後の演算ユニット間に有する。
【００３３】
また、好ましくは、前記オフセット生成手段と前記丸め処理手段において、オフセットデータと前記演算によって発生する小数部データを各々マスクする第１マスク手段と第２マスク手段を有し、前記第１マスク手段と前記第２マスク手段とが排他的に有効となるように制御する。
【００３４】
また、好ましくは、前記ｎ個の演算ユニットそれぞれは、２つの前記保持手段を有し、
前記２つの保持手段それぞれに２ラインのデータをライン交互に入力して、前記演算を行う。
【００３９】
【発明の実施の形態】
以下、図面を参照して本発明の好適な実施形態を詳細に説明する。
＜実施形態１＞
本発明では、従来例で述べた「Ｌ４、Ｈ５を計算し出力した時点でＸ８，Ｄ７，Ｅ６，Ｈ５の４つのデータを残しておき、新たなデータＸ９とＸ１０を入力する」といった処理を次のように変える。
【００４０】
すなわち、図３において「Ｌ４、Ｈ５を計算し出力した時点でＤ９、Ｅ８、Ｈ７、Ｌ６の４つのデータを演算する途中のデータ（以下、中間データとも称する）Ｄ９ｔ、Ｅ８ｔ、Ｈ７ｔ、Ｌ６ｔを残しておき、次の処理サイクルで新たなデータＸ１０とＸ１１を入力する」といった処理を行う。
【００４１】
尚、実施形態１では、低域・高域ウェーブレット変換係数の演算にそれぞれ、９タップと７タップのデータを用いる場合、つまり、９×７フィルタ（９タップと７タップのデータからなるフィルタ）の場合について説明するが、これに限定されず、本発明は、低域・高域ウェーブレット変換係数の演算にそれぞれ、２ｎ＋１タップと２ｎ−１タップのデータに対して適用できる。
【００４２】
まず、上述の中間データは、以下のように示される。
【００４３】
Ｄ９ｔ  ＝  Ｘ９  ＋  α・Ｘ８              （９）
Ｅ８ｔ  ＝  Ｘ８  ＋  β・Ｄ７              （１０）
Ｈ７ｔ  ＝  Ｄ７  ＋  γ・Ｅ６              （１１）
Ｌ６ｔ  ＝  Ｅ６  ＋  δ・Ｈ５              （１２）
同時に、前の処理サイクルで残しておいたＤ７ｔ、Ｅ６ｔ、Ｈ５ｔ、Ｌ４ｔから、Ｌ４、Ｈ５を以下の演算で計算する。
【００４４】
Ｄ７  ＝  Ｄ７ｔ  ＋  α・Ｘ８              （１３）
Ｅ６  ＝  Ｅ６ｔ  ＋  β・Ｄ７              （１４）
Ｈ５  ＝  Ｈ５ｔ  ＋  γ・Ｅ６              （１５）
Ｌ４  ＝  Ｌ４ｔ  ＋  δ・Ｈ５              （１６）
残しておくデータはそれぞれレジスタで保持しておいて次の処理サイクルで利用する。該データを用いて次の処理サイクルで行なう演算は以下の内容である。
【００４５】
Ｄ９  ＝  Ｄ９ｔ  ＋  α・Ｘ１０            （１７）
Ｅ８  ＝  Ｅ８ｔ  ＋  β・Ｄ９              （１８）
Ｈ７  ＝  Ｈ７ｔ  ＋  γ・Ｅ８              （１９）
Ｌ６  ＝  Ｌ６ｔ  ＋  δ・Ｈ７              （２０）
上記処理によって、Ｌ６，Ｈ７を出力することができる。
【００４６】
この処理内容をＬｉｆｔｉｎｇ格子構造の図にならって表現したのが図５である。実際のハードウェア構成を図６に示す。同図において、
６０１、６０３は、上記ペアデータを入力する端子である。６０５、６０７は、それぞれ低域ウェーブレット変換係数と高域ウェーブレット変換係数を出力する端子である。６１１は、Ｌｉｆｔｉｎｇ係数を乗算係数として乗算する乗算器である。６１３は、演算途中のデータである中間データを保持するレジスタである。６１５、６１７は、乗算器の出力をレジスタの入力と出力データに加算する加算器である。６２１は、Ｌｉｆｔｉｎｇ演算ユニットである。６２２、６２３、６２４は、Ｌｉｆｔｉｎｇ演算ユニット６２１とは乗算器の乗算係数が違うだけで他はすべて同じ構成のＬｉｆｔｉｎｇ演算ユニットである。
【００４７】
入力端子６０１と６０３に、Ｘ８とＸ９を入力している時、乗算器６１１にて、Ｘ８にＬｉｆｔｉｎｇ係数αが乗算され、乗算結果としてα・Ｘ８が出力される。この乗算結果は、それぞれ加算器６１５、６１７に送られ、加算器６１５では前記（９）式、加算器６１７では、前記（１３）式が演算される。
【００４８】
他のＬｉｆｔｉｎｇ演算ユニット６２２、６２３、６２４においても下記に示す対応関係で演算処理が行なわれる。すなわち、
Ｌｉｆｔｉｎｇ演算ユニット６２２では、前記（１０）式と（１４）式
Ｌｉｆｔｉｎｇ演算ユニット６２３では、前記（１１）式と（１５）式
Ｌｉｆｔｉｎｇ演算ユニット６２４では、前記（１２）式と（１６）式
の演算が同時に行なわれる。
【００４９】
よって、Ｌｉｆｔｉｎｇ演算ユニット６２４では低域ウェーブレット変換係数Ｌ４が、Ｌｉｆｔｉｎｇ演算ユニット６２３では高域ウェーブレット変換係数Ｈ５が演算され、それらの係数は端子６０５、６０７から出力される。（９）〜（１２）式の演算結果は、各演算ユニット内のレジスタに保持され、次のサイクルで実行される（１７）〜（２０）式の演算に利用される。
【００５０】
以上のようにして、水平方向の順方向のウェーブレット変換処理を行なうことができる。
【００５１】
本発明人は、図７に示す格子点演算ユニットを多段接続してウェーブレット変換処理を行なうデータ処理装置について既に提案している。この提案内容と本発明の内容の違いは以下の２点である。
【００５２】
（i）格子点演算ユニットとＬｉｆｔｉｎｇ演算ユニットの内部構成の違い
（ii）同時に処理する２つのデータの組み合わせの違い（入力位相の違いとも言える）
その他については基本的に同じである。特に、それらの演算ユニットを多段接続して処理する接続方法に関してはまったく同じであり、それらの演算ユニットをブラックボックス化して、入力データの位相を無視すれば、２つの処理系はまったく同じに見える。
【００５３】
よって、前記格子点データ演算ユニットをＬｉｆｔｉｎｇ演算ユニットに置き換えるだけで、既に提案した内容における応用例は、本発明に対してそのまま適用できる。
【００５４】
応用例１  水平方向の逆方向ウェーブレット変換処理装置
応用例２  垂直方向の順方向ウェーブレット変換処理装置
応用例３  垂直方向の逆方向ウェーブレット変換処理装置
応用例４  異なる種類のデータを多重化処理可能なウェーブレット変換処理装置
応用例５  順方向と逆方向の切換可能なウェーブレット変換処理装置（水平・垂直）
応用例６  上記応用例５において係数正規化用の乗算器を共用したウェーブレット変換処理装置
上記各応用例について簡単に説明する。
【００５５】
応用例１は図８に示す構成で実現される。図６の構成との違いは、Ｌｉｆｔｉｎｇ係数の順序が上からδ、γ、β、αとなっており、図６に対して上下逆の順序になっている。また、図６におけるレジスタ前後の加算器は、図８ですべて減算器に置き換わっている。（係数として−δ、−γ、−β、−αを用いるのなら加算器のままでもよい。）
応用例２と３は、それぞれ図６と図８の各演算ユニット内のレジスタをすべてラインメモリに置き換えるだけでよい。（図面は省略する。）
応用例４は、図６の各演算ユニット内のレジスタを、１個から複数個の従属接続に変更し、複数種類のデータを多重化してから、端子６０１，６０３へ入力することで実現できる。
【００５６】
応用例５は、図６の各演算ユニット内の加算器をすべて加減算器に置き換え、順方向変換時には加算器として使用し、逆方向変換時には減算器として使用すると共に、演算ユニット間にセレクタを配して、処理したデータが下の演算ユニットからすぐ上の演算ユニットへ流れるように制御し、図８の構成と等価になるようにしたものである。該構成を図９に示す。
【００５７】
応用例６は応用例５に対し、さらにもう１つセレクタを設け、係数正規化用の乗算器を順方向変換時と逆方向変換時で共用できるようにしたものである。該構成を図１０に示す。
【００５８】
７番目の応用例として、
応用例７  画像境界部のデータを拡張することなく境界処理が可能なウェーブレット変換処理装置
である。
【００５９】
境界処理を一言で説明すると、「格子点データの演算に必要な３つのデータの内、２つのデータしか存在しない場合、足りないデータを対称位置にあるデータで置き換えて演算する」といった処理になる。
【００６０】
この場合、本発明におけるＬｉｆｔｉｎｇ演算ユニットの内部構成の変更を必要とする。
【００６１】
図１１、１２、１３に前記変更後の内部構成を示す。変更後の構成は以下に対応する３種類となる。
【００６２】
構成１  始端境界処理が可能なＬｉｆｔｉｎｇ演算ユニット（始端対応演算ユニット）
構成２  終端境界処理が可能なＬｉｆｔｉｎｇ演算ユニット（終端対応演算ユニット）
構成３  始端境界処理と終端境界処理の両方が可能なＬｉｆｔｉｎｇ演算ユニット（両端対応演算ユニット）
図１１に示す始端境界処理が可能なＬｉｆｔｉｎｇ演算ユニットは、図１４に示す左端境界部分の●で示した格子点データを演算することができる。図１１で追加された２つのセレクタ１１２１と１１２３は通常処理では端子ａを選択する。尚、図１１〜図１３に示すＣは、Ｌｉｆｔｉｎｇ係数：α、β、γ、δのいずれかである。
【００６３】
境界部のデータを演算する場合、まず、セレクタ１１２１で端子ｂを選択することで、端子１１０３から入力するデータをそのままの値でレジスタ１１１３に格納する。次のサイクルで、セレクタ１１２３の端子ｂを選択することによって、端子１１０１から入力したデータを２・Ｃ倍した値を前記レジスタの出力に加算する。
【００６４】
例えば、端子１１０３から入力したデータＸ０がレジスタ１１１３にそのままの値で格納され、次のサイクルで、端子１１０１にＤ１が入力されるとＸ０＋２・β・Ｄ１（＝Ｅ０）が端子１１３１から出力される。これらの制御は、セレクタ１１２１、１１２３に与える制御信号で行なう。
【００６５】
図１２に示す終端境界処理が可能なＬｉｆｔｉｎｇ演算ユニットは、図１４に示す右端境界部分の●で示した格子点データを演算することができる。前記始端境界処理と異なり、終端境界処理ではレジスタ１２１３への格納時に、端子１２０１から入力したデータを２・Ｃ倍した値を端子１２０３から入力したデータに加算するよう制御する。その代わり、該レジスタ１２１３の出力へは何も加算しない。
【００６６】
上記Ｌｉｆｔｉｎｇ演算ユニットを図１６のように接続した構成で、図１４に示すＬｉｆｔｉｎｇ格子構造の格子点データをすべて演算することができる。Ｌｉｆｔｉｎｇ格子構造は図１４だけではなく、図１５のような場合もある。図１５の境界データを処理するには、図１６の構成において、始端対応演算ユニットと終端対応演算ユニットを入れ替えればよい。しかし、図１４と図１５の両方を処理できるようにするには、図１３に示す構成の両端対応演算ユニットを図１７のように従属接続した構成が必須となる。
【００６７】
順方向と逆方向の両方のウェーブレット変換が可能なＬｉｆｔｉｎｇ演算ユニットとして、図１８に示す構成も考えられる。これは、図６に示した演算ユニット６２１に乗算器１８５３を付加し、セレクタ１８５５で、元からある乗算器１８５１の出力から追加した乗算器１８５３の出力へ切り換えることで、逆方向のウェーブレット変換に使用できるＬｉｆｔｉｎｇ演算ユニットとなる。
【００６８】
つまり、Ｌｉｆｔｉｎｇ演算ユニットは、乗算係数（Ｌｉｆｔｉｎｇ係数）がαである乗算器１８５１を乗算係数（Ｌｉｆｔｉｎｇ係数）が−δの乗算器１８５３へ切り換え、同様にして、図６に示した演算ユニット６２２〜６２３それぞれに対応する不図示のＬｉｆｔｉｎｇ演算ユニットにおいては、βは−γに、γは−βに、δは−αに切り換えることで、図６の構成は図８の構成と等価になるため、逆方向のウェーブレット変換ができるようになる。
【００６９】
上記のような乗算係数の異なる乗算器を２個使用する構成は、図７に示す演算ユニットにも適用でき、図１９に示す格子点データ演算ユニットとなる。該演算ユニットを用いた場合にも、順方向と逆方向の両方のウェーブレット変換を行なうことができる。
【００７０】
以上説明したように、実施形態１によれば、Ｌｉｆｔｉｎｇ格子構造上の格子点データを演算する過程で生成される中間データをレジスタに保存し、この中間データを用いた演算を可能にすることで、入力されたデータストリームを先頭から２画素ずつペアにしてウェーブレット変換処理を行うことができる。また、簡単な回路構成で、画像境界部のデータを拡張することなく境界処理を実現することができる。
＜実施形態２＞
実施形態１では、低域・高域ウェーブレット変換係数の演算にそれぞれ、９タップと７タップのデータを用いる９×７フィルタの場合について説明した。
【００７１】
実施形態２では、Ｌｉｆｔｉｎｇ係数が２のべき乗だけからなる、５タップと３タップのデータからなる５×３フィルタで、低域・高域ウェーブレット変換係数を演算する場合の構成を示す。
【００７２】
Ｌｉｆｔｉｎｇ係数が２のべき乗だけなので、乗算器を使う必要が無く、位取りを変更するだけで、Ｌｉｆｔｉｎｇ係数の乗算ができる。
【００７３】
３タップのデータから求める高域ウェーブレット変換係数Ｈ、５タップのデータから求める低域ウェーブレット変換係数Ｌはそれぞれ以下の式で演算する。
【００７４】
Ｈ2n+1 ＝ Ｘ2n+1 − 0.5 Ｘ2n    − 0.5 Ｘ2n+2           （２１）
Ｌ2n+2 ＝ Ｘ2n+2 ＋ 0.25 Ｈ2n+1 ＋ 0.25 Ｈ2n+3          （２２）
図２０に、該ウェーブレット変換処理部の構成を示す。同図において、２００１はＬｉｆｔｉｎｇ係数０．５を乗算する処理に相当する位取り変換部であり、ハードウェア上の実体は配線を１ビットずらすだけである。該構成図は水平・垂直方向いずれの処理にも共通で使えるよう演算途中のデータである中間データを蓄えるバッファを遅延器２００３とした。該遅延器２００３がレジスタ１段である場合は水平方向、ラインメモリである場合には垂直方向のウェーブレット変換処理部とし動作する。また、２０１１はＬｉｆｔｉｎｇ係数０．２５を乗算する処理に相当する位取り変換部である。
【００７５】
逆変換は以下の式で演算する。
【００７６】
Ｘ2n+2 ＝ Ｌ2n+2 − 0.25 Ｈ2n+1 − 0.25Ｈ2n+3          （２３）
Ｘ2n+1 ＝ Ｈ2n+1 ＋ 0.5 Ｘ2n    ＋ 0.5 Ｘ2n+2          （２４）
図２１に、該ウェーブレット逆変換処理部の構成を示す。１段目のＬｉｆｔｉｎｇ係数０．５から０．２５へ、２段目のＬｉｆｔｉｎｇ係数が０．２５から０．５へ変わっただけで、その他は前記図２０とまったく同じ構成である。
【００７７】
図２２に、順方向と逆方向の両方のウェーブレット変換処理が可能な構成を示す。順方向変換をする時、セレクタ２２０１、２２０３は端子ａ側を選択し、逆方向変換をする時、該セレクタは端子ｂ側を選択するよう制御する。
【００７８】
上記Ｌｉｆｔｉｎｇ係数で、順方向と逆方向のウェーブレット変換処理をする場合、図９のようにセレクタで演算ユニット間の接続状態を切り換えることも可能ではあるが、それよりも、図２２のようにＬｉｆｔｉｎｇ係数を切り換える構成としたほうが、Ｌｉｆｔｉｎｇ係数乗算後の値を切り換えるセレクタを追加するだけなので、増設するセレクタの数が少ない上に加減算器を使う必要も無いのでハードウェア規模が小さくなる。
【００７９】
上記３種類の構成は、上述の図７にも適用できる。すなわち、図２３の構成で順方向のウェーブレット変換処理ができ、図２４の構成で順方向と逆方向の両方のウェーブレット変換処理ができる。
【００８０】
以上説明したように、実施形態２によれば、Ｌｉｆｔｉｎｇ係数が２のべき乗だけからなる場合において、Ｌｉｆｔｉｎｇ格子構造上の格子点データを演算する過程で生成される中間データを遅延器を用いて、この中間データを用いた演算を可能にすることで、入力されたデータストリームを先頭から２画素ずつペアにしてウェーブレット変換処理を行うことができる。
＜実施形態３＞
実施形態３では、可逆（ロスレス）変換と非可逆（ロッシー）変換の切り換えが容易な構成について示す。変換処理して得られた変換係数をそのまま逆変換処理した時に元のデータを完全に復元できるような変換・逆変換を可逆変換という。画像データはデータ量が多いので、通常は、圧縮率が高くできる非可逆圧縮を用いている。しかし、診断に用いる医療用の画像など一部の画像では画像劣化の無い可逆圧縮（可逆変換）が求められる。
【００８１】
図２０〜図２４のいずれの構成においても、丸め処理器を追加することにより、通常の非可逆変換を可逆変換に変更することができる。
【００８２】
丸め処理を導入することにより可逆変換が実現できる理由を簡単に述べる。
【００８３】
通常は、実数計算による演算誤差が発生し、その誤差が累積することによって、量子化しない（量子化誤差が無い）場合でも、逆変換後に元と同じ値にならないことがしばしばある。
【００８４】
しかし、丸め処理により整数化を行なう場合、該丸め処理が誤差の発生源となり、丸め処理が一意に定義されていて、順方向の変換処理と逆方向の変換処理で整合がとれていれば、誤差は打ち消されて無くなるので、逆変換後に元の値に戻ることが理論的に保証されるわけである。
【００８５】
図２２と図２３に対して、丸め処理器を追加した構成を、図２５、図２６に示す。入力データを整数データと仮定すると、この場合の丸め処理は、演算処理によって発生する小数部を整数化することである。
【００８６】
丸め処理の方法としては、四捨五入、切り捨て、切り上げなどいろいろあるが、図２５における初段の丸め処理器２５０１、２段目の丸め処理器２５０３いずれも、順方向変換時は四捨五入を行なう。逆方向変換時には、初段の丸め処理器２５０１は０．７５以上を切り上げて、０．５以下を切り捨て処理し、２段目の丸め処理器２５０３は切り捨てを行なう。
【００８７】
図２６における初段の丸め処理器２６０１は順方向変換時に切り捨てを行ない、逆方向変換時に四捨五入を行なう。２段目の丸め処理器２６０３は順方向変換時に四捨五入を行ない、逆方向変換時に切り捨て処理を行なう。
【００８８】
よって、各丸め処理器は変換処理の種類に対応して、丸め処理の内容を切り換えなければならないため、その切り換えのための制御信号を入力している。
【００８９】
上記丸め処理器の前段の加算器や減算器でオフセットを加算することで、該丸め処理器での処理を切り捨てだけにすることもできる。ここで言う切り捨てとは小数部の切り捨てのことを言っている。
【００９０】
図２５、図２６に対してオフセットを加算する場合の構成を図２７と図２８に示す。同図における丸め処理器は上述のごとく小数部の切り捨てだけをする。加算するオフセット値は変換の種類（順方向・逆方向）によって異なり、図２７におけるオフセット生成器２７０１は順方向変換時には０．５を、逆方向変換時には０．２５を出力し、もう１つのオフセット生成器２７０３は順方向変換時には０．５を、逆方向変換時には０を出力する。
【００９１】
図２８におけるオフセット生成器２８０１は順方向変換時には０を、逆方向変換時には２を出力し、もう１つのオフセット生成器２８０３は順方向変換時には２を、逆方向変換時には０を出力する。
【００９２】
いずれのオフセット生成器も変換処理の種類に対応して、出力するオフセット値を切り換えなければならないため、その切り換えのための制御信号を入力している。逆に、丸め処理は一律に小数部を切り捨てるだけであるから、制御信号を入力する必要がない。この場合の丸め処理器の物理的な実体は無く、小数部の信号の配線が断線状態になっている。
【００９３】
小数部の切り捨てで丸め処理を行なう図２７、図２８の構成から、次のような新たな構成も考えられる。
【００９４】
丸め処理器を、該小数部の信号を制御信号でマスクする構成に変えることにより、該制御信号で丸め処理のＯＮ／ＯＦＦ制御ができ、可逆変換と非可逆変換の切り換えが容易に行なえるようになる。もちろん、丸め処理のＯＮ／ＯＦＦだけでなく、加算器・減算器に入力するオフセットも連動してＯＮ／ＯＦＦする必要がある。
【００９５】
図２９、図３０に示す構成は、図２７、図２８の構成に対して、可逆／非可逆変換を切り換える制御信号をあらたに設け、該制御信号によって、可逆変換時には丸め処理器において小数部をマスクし、非可逆変換時にはオフセット生成器においてオフセット出力をマスクする。
【００９６】
上述した制御により、オフセットの加算と小数部の切り捨てを行なう可逆変換処理と、オフセットの加算も小数部の切り捨ても無い非可逆変換処理の切り換えが容易に行なえるウェーブレット変換装置が構成できるようになった。
【００９７】
また、図２５、図２６において、可逆／非可逆変換を切り換える制御信号により丸め処理器をパスするようにセレクタを設けることで、該可逆／非可逆変換を切り換えることも可能である。
【００９８】
以上説明したように、実施形態３によれば、実施形態２で説明した効果に加えて、実施形態２で説明した構成に対し丸め処理器、オフセット生成器を追加した簡単な回路構成で、ウェーブレット変換における可逆変換と非可逆変換の切り換えを容易に行うことができる。
＜実施形態４＞
これまでの実施形態は、水平方向のウェーブレット変換もしくは垂直方向のウェーブレット変換のどちらか一方の処理を行なうものであった。実施形態４では水平・垂直の２次元ウェーブレット変換処理を行なう構成について示す。
【００９９】
前記Ｌｉｆｔｉｎｇ演算ユニット、あるいは、格子点演算ユニットを用いた２次元ウェーブレット変換処理器は図３１のような構成となる。該ウェーブレット変換処理器は前述の２のべき乗のＬｉｆｔｉｎｇ係数を用いた５×３フィルタの処理をするものである。
【０１００】
同図において、３１０１は、順方向変換時のデータを入力する端子である。３１０３は、逆方向変換時のデータを入力する端子である。３１１１と３１１３は、垂直方向のウェーブレット変換処理を行なう演算ユニットである。３１２１と３１２３は、水平方向のウェーブレット変換処理を行なう演算ユニットである。３１１５と３１２５は、変換モード（順方向変換・逆方向変換）に応じて上記演算ユニットへの入力を切り換えるセレクタである。３１１７と３１２７は、水平または垂直ウェーブレット変換されたデータを２×２単位で回転して、次の段のウェーブレット変換処理部に供給するデータ回転部である。３１３０は、順方向または逆方向２次元ウェーブレット変換されたデータを一時的に蓄えて外部のメモリ等へ出力するためのバッファである。
【０１０１】
順方向変換時には、端子３１０１から入力されたデータがセレクタ３１１５を経由して演算ユニット３１１１に供給される。該演算ユニット３１１１と次の演算ユニット３１１３とで垂直方向のウェーブレット変換処理を行ない、変換結果をデータ回転部３１１７へ送る。
【０１０２】
ここで、２つのデータ回転部３１１７、３１２７の簡単な説明を行なう。データ回転部３１１７、３１２７は図３２に示すような構成で、２つ並列に入力されるデータを２サイクル周期で２×２単位の回転を行ない、次段のセレクタへ送る。
【０１０３】
図３２において、データ入力端子３２０１と３２０３から並列に入力されたデータは、それぞれレジスタ３２１１〜３２１５にて、１サイクル毎にシフトしながら格納される。
【０１０４】
ｍサイクル目とｍ＋１サイクル目に端子３２０１に入力されたデータは、ｍ＋２サイクル目にセレクタ３２２１と３２２３を経由して端子３２３１と３２３３から出力される。
【０１０５】
端子３２０３へ上記データと同時に並列入力されたデータは、ｍ＋３サイクル目に端子３２３１と３２３３から出力される。
【０１０６】
ｍ＋２サイクル目とｍ＋３サイクル目に入力された２×２のデータはｍ＋４、ｍ＋５サイクル目に出力される。
【０１０７】
データ回転部３１１７では、垂直方向２サンプルの並列データが水平方向２サンプルの並列データに変換され、データ回転部３１２７では、水平方向２サンプルの並列データが垂直方向２サンプルの並列データに変換される。
【０１０８】
データ回転部３１１７によって変換された、水平方向２サンプルの並列データはセレクタ３１２５を経由して、演算ユニット３１２１に入力される。演算ユニット３１２１、３１２３からなる水平ウェーブレット変換部は該入力データを変換処理し、変換結果を演算ユニット３１２３からバッファ３１３０へ出力する。上記水平ウェーブレット変換部は、垂直方向の低域ウェーブレット変換係数と高域ウェーブレット変換係数を交互に処理するため、前記演算ユニット３１２１、３１２３内の各遅延器は２段のレジスタからなる。
【０１０９】
逆方向変換時には、端子３１０３から入力されたデータがセレクタ３１２５を経由して演算ユニット３１２１に供給される。不図示の制御信号により、逆方向ウェーブレット変換処理モードとなった演算ユニット３１２１と次の演算ユニット３１２３とで水平方向の逆ウェーブレット変換処理を行ない、変換結果をデータ回転部３１２７へ送る。
【０１１０】
逆方向変換時の水平ウェーブレット変換部におけるデータの処理順序は、順方向変換時に出力するデータをそのまま逆に処理すればよいが、この順序は通常の１ライン単位の処理とは異なるので、少し補足説明する。
【０１１１】
実施形態４の構成では２ライン単位で処理をする。但し、２ラインを同時に並列処理することはできないので、ライン交互に水平２サンプルを入力して、逆方向の水平ウェーブレット変換処理を行なう。演算ユニット内の各遅延器はレジスタ２段で構成されているので、２ラインを交互に処理することが可能である。
逆変換処理した結果も当然２ライン交互に出力される。それを２×２のデータ回転処理部３１２７で２ライン並列のデータに変換することで、垂直方向のウェーブレット変換処理部に都合のよいデータを送ることができる。
【０１１２】
その後、セレクタ３１１５で上記データを選択して演算ユニット３１１１に入力すれば、垂直方向の逆ウェーブレット変換処理が行なわれ、変換結果が演算ユニット３１１３からバッファ３１３０へ出力される。
【０１１３】
９×７フィルタで処理する場合には、垂直処理部の演算ユニット３１１１、３１１３並びに水平処理部の演算ユニット３１２１、３１２３を、それぞれ図９に示す構成に置き換えればよい。
【０１１４】
以上説明したように、実施形態４によれば、実施形態１〜実施形態３で説明した構成を利用して、簡単な回路構成で、入力されたデータストリームを先頭から２ラインずつ２次元ウェーブレット変換処理を行うことができる。
【０１１５】
尚、上述した本発明で実現されるハードウェア構成は、専用ハードウェア基板あるいは専用ハードウェアチップとしてパーソナルコンピュータ等の端末に実装され、その端末が有するＣＰＵ等の制御部が上述した制御あるいは制御信号の生成を行うことにより、該ハードウェア構成による処理が実行される。
【０１１６】
また、本発明で実現されるハードウェア構成による処理をソフトウェアとして端末の記憶装置に記憶しておき、このソフトウェアを端末に搭載されるＣＰＵによって実行させることも可能である。このソフトウェアが実行する処理について、以下、図３２に示す。
【０１１７】
図３２は本発明で実行される処理を示すフローチャートである。
【０１１８】
まず、ステップＳ１０１で、データを入力する。次に、ステップＳ１０２で、上述の（９）〜（１２）式を用いて、Ｌｉｆｔｉｎｇ格子構造上の格子点データを演算する途中のデータである中間データを生成する。次に、ステップＳ１０３で、生成した中間データを保持する。次に、ステップＳ１０４で、上述の（１３）〜（１６）式を用いて、保持した中間データから格子点データを生成する。
【０１１９】
ステップＳ１０５で、処理対象のデータが存在するか否かを判定する。処理対象のデータが存在する場合（ステップＳ１０５でＹＥＳ）、ステップＳ１０６に進み、次の処理対象のデータを入力し、ステップＳ１０２に戻る。一方、処理対象のデータが存在しない場合（ステップＳ１０５でＮＯ）、処理を終了する。
【０１２０】
尚、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１２１】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【０１２２】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１２３】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／ＲＷ、ＤＶＤ−ＲＯＭ／ＲＡＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１２４】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２５】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２６】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した図３３に示すフローチャートに対応するプログラムコードが格納されることになる。
【０１２７】
【発明の効果】
以上説明したように、本発明によれば、効率的にウェーブレット変換処理を実行できるデータ処理装置を提供できる。
【図面の簡単な説明】
【図１】順変換のＬｉｆｔｉｎｇ  Ｓｃｈｅｍｅを示す図である。
【図２】逆変換のＬｉｆｔｉｎｇ  Ｓｃｈｅｍｅを示す図である。
【図３】ＤＷＴ（順方向ウェーブレット変換）のＬｉｆｔｉｎｇ格子構造を示す図である。
【図４】ＩＤＷＴ（逆方向ウェーブレット変換）のＬｉｆｔｉｎｇ格子構造を示す図である。
【図５】本発明の内容をＬｉｆｔｉｎｇ格子構造で表現した図である。
【図６】実施形態１の構成を示す図である。
【図７】格子点データ演算ユニットの構成を示す図である。
【図８】実施形態１の応用例であるＩＤＷＴ変換装置の構成を示す図である。
【図９】実施形態１の応用例であるＤＷＴ／ＩＤＷＴ変換装置の構成を示す図である。
【図１０】実施形態１の応用例であるＤＷＴ／ＩＤＷＴ変換装置の構成を示す図である。
【図１１】始端境界処理が可能なＬｉｆｔｉｎｇ演算ユニットの構成を示す図である。
【図１２】終端境界処理が可能なＬｉｆｔｉｎｇ演算ユニットの構成を示す図である。
【図１３】始端と終端の両方の境界処理が可能なＬｉｆｔｉｎｇ演算ユニットの構成を示す図である。
【図１４】Ｌｉｆｔｉｎｇ格子構造中の境界部のデータを示す図である。
【図１５】Ｌｉｆｔｉｎｇ格子構造中の境界部のデータを示す図である。
【図１６】図１４の境界部のデータの処理が可能なＤＷＴ変換器を示す図である。
【図１７】図１４と図１５の両方の境界部のデータの処理が可能なＤＷＴ変換器を示す図である。
【図１８】ＤＷＴ／ＩＤＷＴが可能なＬｉｆｔｉｎｇ演算ユニットの他の構成を示す図である。
【図１９】ＤＷＴ／ＩＤＷＴが可能な格子点演算ユニットの他の構成を示す図である。
【図２０】５×３フィルタのＤＷＴ変換処理部の構成を示す図である。
【図２１】５×３フィルタのＩＤＷＴ変換処理部の構成を示す図である。
【図２２】５×３フィルタのＤＷＴ／ＩＤＷＴ変換処理部の構成を示す図である。
【図２３】５×３フィルタのＤＷＴ変換処理部の他の構成を示す図である。
【図２４】５×３フィルタのＤＷＴ／ＩＤＷＴ変換処理部の他の構成を示す図である。
【図２５】５×３フィルタの可逆ＤＷＴ／ＩＤＷＴ変換処理部の構成を示す図である。
【図２６】５×３フィルタの可逆ＤＷＴ／ＩＤＷＴ変換処理部の他の構成を示す図である。
【図２７】５×３フィルタの可逆ＤＷＴ／ＩＤＷＴ変換処理部の他の構成を示す図である。
【図２８】５×３フィルタの可逆ＤＷＴ／ＩＤＷＴ変換処理部の他の構成を示す図である。
【図２９】５×３フィルタの可逆／非可逆・ＤＷＴ／ＩＤＷＴ変換処理部の構成を示す図である。
【図３０】５×３フィルタの可逆／非可逆・ＤＷＴ／ＩＤＷＴ変換処理部の他の構成を示す図である。
【図３１】５×３フィルタの２次元ＤＷＴ／ＩＤＷＴ変換装置の構成を示す図である。
【図３２】データ回転部の構成を示す図である。
【図３３】本発明で実行される処理を示すフローチャートである。
【符号の説明】
６０１、６０３、６０５、６０７  端子
６１１  乗算器
６１３  レジスタ
６１５、６１７  加算器
６２１〜６２４  Ｌｉｆｔｉｎｇ演算ユニット
【図１】
0004266512.tif 000002
【図２】
0004266512.tif 000003
【図３】
0004266512.tif 000004
【図４】
0004266512.tif 000005
【図５】
0004266512.tif 000006
【図６】
0004266512.tif 000007
【図７】
0004266512.tif 000008
【図８】
0004266512.tif 000009
【図９】
0004266512.tif 000010
【図１０】
0004266512.tif 000011
【図１１】
0004266512.tif 000012
【図１２】
0004266512.tif 000013
【図１３】
0004266512.tif 000014
【図１４】
0004266512.tif 000015
【図１５】
0004266512.tif 000016
【図１６】
0004266512.tif 000017
【図１７】
0004266512.tif 000018
【図１８】
0004266512.tif 000019
【図１９】
0004266512.tif 000020
【図２０】
0004266512.tif 000021
【図２１】
0004266512.tif 000022
【図２２】
0004266512.tif 000023
【図２３】
0004266512.tif 000024
【図２４】
0004266512.tif 000025
【図２５】
0004266512.tif 000026
【図２６】
0004266512.tif 000027
【図２７】
0004266512.tif 000028
【図２８】
0004266512.tif 000029
【図２９】
0004266512.tif 000030
【図３０】
0004266512.tif 000031
【図３１】
0004266512.tif 000032
【図３２】
0004266512.tif 000033
【図３３】
0004266512.tif 000034