(57)【特許請求の範囲】
【請求項１】
画像に対して離散ウェブレット変換を施すデジタル信号変換方法であって、
前記画像を、Ｗ×Ｈ個のピクセルを有する複数の第１ブロックへ分割するブロック生成ステップと、
前記第１ブロックの各々をＬＬ，ＬＨ，ＨＬ，ＨＨの各周波数サブバンドブロックにウェブレット変換する変換ステップと、
前記周波数サブバンドブロックＬＬを記憶し、該周波数サブバンドブロックＬＬに基づいて前記第１ブロックと同サイズの第２ブロックを生成する再ブロック生成ステップと、
前記第２ブロックを離散ウェブレット変換する再変換ステップと、
を有することを特徴とするデジタル信号変換方法。
【請求項２】
前記ブロック生成ステップにおいては、前記画像を、その水平及び垂直方向に２×２個の前記第１ブロックからなる、複数の第１グループに分割し、
前記変換ステップ、前記再ブロック生成ステップ、及び前記再変換ステップは、前記第１グループ単位で実行されることを特徴とする請求項１記載のデジタル信号変換方法。
【請求項３】
更に、前記再変換ステップにおける変換によって生成される周波数サブバンドブロックＬＬを、前記第１グループ毎に記憶し、前記第１ブロックと同サイズの第３ブロックを生成する再々ブロック生成ステップと、
前記第３ブロックをウェブレット変換する再々変換ステップと、を有し、
前記再ブロック生成ステップにおいては、前記画像を、その水平，垂直方向に２×２個の前記第１グループからなる、複数の第２グループに分割し、
前記再々ブロック生成ステップ及び前記再々変換ステップは、前記第２グループ単位で実行されることを特徴とする請求項２記載のデジタル信号変換方法。
【請求項４】
要求される解像度レベルが第ｉ（ｉ＞１）レベルである場合に、前記再ブロック生成ステップ及び前記再変換ステップにおいては、
前記画像を、前レベルの処理において生成されたグループ毎の周波数サブバンドブロックＬＬの２×２個からなる、複数の次グループに更に分割し、該次グループ単位に離散ウェブレット変換を施す処理を、再帰的に（ｉ−１）回繰り返し実行することを特徴とする請求項２記載のデジタル信号変換方法。
【請求項５】
要求される解像度レベルが第ｉ（ｉ＞１）レベルである場合に、前記再ブロック生成ステップにおいては、
前記次グループのそれぞれが、前記画像の水平，垂直方向に２×２個の、第（ｉ−１）レベルの解像度におけるグループによって構成されるようにすることを特徴とする請求項４記載のデジタル信号変換方法。
【請求項６】
前記再ブロック生成ステップにおいては、前レベルの処理において生成されたグループ毎の周波数サブバンドブロックＬＬの集合によって、前記第１ブロックと同サイズのブロックを生成することを特徴とする請求項５記載のデジタル信号変換方法。
【請求項７】
前記第１ブロックのサイズは、Ｗを垂直方向のピクセル数、ＯＰを隣接ブロックと重なったピクセル数とすると、［２Ｗ＋ＯＰ］2であることを特徴とする請求項１記載のデジタル信号変換方法。
【請求項８】
請求項１乃至７のいずれか１項に記載のデジタル信号変換方法を実行する装置を実現するためのコンピュータプログラムを記憶した記憶媒体。
【請求項９】
請求項１乃至７のいずれか１項に記載のデジタル信号変換方法を実行可能なスキャナ装置。
【請求項１０】
請求項１乃至７のいずれか１項に記載のデジタル信号変換方法を実行可能な複写機。
【請求項１１】
請求項１乃至７のいずれか１項に記載のデジタル信号変換方法を実行可能なデジタルカメラ。
【請求項１２】
画像に対して離散ウェブレット変換を施すデジタル信号変換装置であって、
前記画像を、Ｗ×Ｈ個のピクセルを有する複数の第１ブロックへ分割するコントローラと、
前記第１ブロックの各々をＬＬ，ＬＨ，ＨＬ，ＨＨの各周波数サブバンドブロックにウェブレット変換するフィルタリング回路と、
前記周波数サブバンドブロックＬＬに基づいて前記第１ブロックと同サイズの第２ブロックを生成するために該周波数サブバンドブロックＬＬを記憶するメモリ回路と、を有し、
前記フィルタリング回路は更に、前記第２ブロックを離散ウェブレット変換することを特徴とするデジタル信号変換装置。
【請求項１３】
請求項１乃至７のいずれか１項に記載のデジタル信号変換方法を実行する符号化方法。
【請求項１４】
請求項１２に記載のデジタル信号変換装置を実装した符号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデジタルフィルタリング等を行うデジタル信号変換装置及び方法に関し、特に、符号化対象画像を複数のブロックに分割し、それら各ブロックを独立に離散ウェブレット変換（フィルタリング処理）するブロックベースの離散ウェブレット変換(Block-based Discrete Wavelet Transformation)を行うデジタル信号変換装置及び方法に関する。
【０００２】
【従来の技術】
従来より、多くのデジタルフィルタリング装置及び方法が知られているが、特に、ＤＣＴ変換やウェブレット変換等が良く知られている。
【０００３】
これらのフィルタリング装置及び方法は、一般に画像データの圧縮／解凍を行うための符号化／逆符号化部の一部品、或いは一機能として組み込まれている。また、これらフィルタリング装置及び方法は、処理中にデータ記憶を行うために、ランダムアクセス可能なメモリ或いはバッファ空間を多く必要とすることがある。例えば、画像処理のためにウェブレット変換を行う従来の構成においては、最初に処理対象である画像データの全てを所定のメモリへ読み込み、次にフィルタリングステップを実行している。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記従来のウェブレット変換を行う構成において画像データを読み込むためのメモリ空間は非常に大きいため、例えば写真機，ファクシミリ，プリンタ，コピー等の装置内において、上記フィルタリングを実行することは困難である。
【０００５】
本発明の目的は、デジタル信号に対してウェブレット変換を行う際に、処理データによるメモリ占有の度合いを減少させることが可能なデジタル信号変換装置及び方法を提供することである。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、本発明に係るデジタル信号変換方法は以下のステップを備える。
【０００７】
即ち、画像に対して離散ウェブレット変換を施すデジタル信号変換方法であって、前記画像を、Ｗ×Ｈ個のピクセルを有する複数の第１ブロックへ分割するブロック生成ステップと、前記第１ブロックの各々をＬＬ，ＬＨ，ＨＬ，ＨＨの各周波数サブバンドブロックにウェブレット変換する変換ステップと、前記周波数サブバンドブロックＬＬを記憶し、該周波数サブバンドブロックＬＬに基づいて前記第１ブロックと同サイズの第２ブロックを生成する再ブロック生成ステップと、前記第２ブロックを離散ウェブレット変換する再変換ステップと、を有することを特徴とする。
【０００８】
【発明の実施の形態】
以下、本発明に係る一実施形態について、図面を参照して詳細に説明する。
【０００９】
図１に、本発明に係るデータ処理装置の一例を示す。本発明におけるデジタル信号変換装置及び方法は、特に、変換部２３に関するものである。図１において、データ符号化部２０は、非符号化データを格納するデータソース(source)部１０と接続され、入力データ２１を受け取る。
【００１０】
データソース部１０は、例えばランダムアクセス可能なハードディスク，ディスケット，ＣＤのような、非符号化データを記憶するためのメモリ手段であり、内部のデータを読み出すための適切な読み出し手段と、内部にデータを記録するための記録手段とを備えている。
【００１１】
以下、図１に示すデータ処理装置について詳細に説明する。尚、以下に示す本実施形態においては、ブロックベースの（Block-based）離散ウェブレット変換を用いる例について説明する。
【００１２】
データソース部１は、データ符号化部２への入力データ２ａとして、画像信号ＳＩを供給する。画像信号ＳＩは、モノクロの多値画像、或いはカラー画像を表す。カラー画像等の複数の色成分を符号化する場合には、ＲＧＢの各色成分、或いは輝度、色度成分を、それぞれ単色成分として圧縮すれば良い。
【００１３】
上記のように符号化されたデータをユーザが利用するユーザ利用部３には、データ符号化部２の出力データ２ｂが接続されている。このユーザ利用部３は、例えば、符号化データ蓄積手段及び／又は符号化データ転送手段を含んでいる。
【００１４】
データ符号化部２は従来と同様に変換部２ｃを含んでおり、以下、その詳細を説明する。変換部２ｃは、信号の分析を行うために画像信号ＳＩを複数の周波数サブバンド信号へ分解（filtering）する。その分解には離散ウェブレット変換が用いられ、少なくとも２つの解像度レベルによる分析が行われる。ここで、信号の解像度とは一般に、その信号を表すために用いられる単位長さ当たりのサンプル数で示される。
【００１５】
変換部２ｃは量子化部２ｄに接続している。量子化部２ｄは、変換部２ｃにより供給された周波数サブバンド信号の係数、或いは係数グループの量子化を行う。つまり、入力した係数を所定の量子化ステップ（例えば、スカラー量子化やべクトル量子化）により量子化し、その量子化値に対するインデックスを出力する。
【００１６】
この量子化部２ｄの出力は、エントロピー符号化部２ｅに入力される。エントロピー符号化部２ｅは、入力された量子化インデックスをビットプレーンに分解し、ビットプレーン単位にハフマン符号化或いは算術符号化を行ってコードストリームを出力する。
【００１７】
上述したデータ符号化部２は、集積回路の形態で、コンピュータ，プリンタ，ファクシミリ，スキャナ，デジタルカメラ等のデジタル装置に搭載することが可能である。
【００１８】
図２は、図１に示したデータ符号化部２を具現化する例を示す。
【００１９】
装置１０はマイクロコンピュータであり、中央ユニット１００、ＲＯＭ１０２、ＲＡＭ１０３、後述する本発明を実行する処理回路１０４、入出力回路１０５に接続している通信バス１０１を備えている。
【００２０】
装置１０はまた、従来と同様に、キーボードや，ディスケットを受けるディスクドライブを含み、或いは、通信ネットワークと通信可能なように構成されている。
【００２１】
そのため装置１０は、入出力回路１０５を介して、デジタルカメラのような周辺機器から符号化されたデータを受け取り、該符号化データを通信ネットワークを介して再び遠隔機器へ転送することも可能である。
【００２２】
図２において、ＲＡＭ１０３は動的ランダムアクセスメモリ、所謂ＤＲＡＭである。このメモリは、入力或いは転送された画像データ全体を格納するために機能する。尚、ＤＲＡＭは特定の順番で画像サンプルを読み出すために、本発明においては有効である。
【００２３】
又、処理回路１０４は、本発明のデジタル信号変換を実行する専用回路である。この回路は、静的ランダムアクセスメモリ、所謂ＳＲＡＭを備えている。このメモリは、デジタル信号変換処理中の画像サンプル及び後述する周波数サブバンド信号を一時格納するためのバッファとして機能する。本実施形態における画像サンプルのフィルタリング、量子化、エントロピー符号化は、処理回路１０４において実行される。このようなデジタル信号変換のための専用回路を備える構成は、プリンタ，ファクシミリ，スキャナ，デジタルカメラ等、比較的低い処理能力のＣＰＵを備える装置に好適である。
【００２４】
図３は、図１に示したデータ符号化部２を具現化する他の例を示す。
【００２５】
この例は、特にＰＣ，ワークステーション等の広義なデータ処理装置において、本発明のデジタル信号変換を実行するための構成を示している。このような装置構成においては、本発明のデジタル信号変換は図２で示したような専用回路を利用してではなく、ソフトウエアに基づいてＣＰＵにより実行される。
【００２６】
装置２００は、ＣＰＵ２０５、ＲＯＭ２０２、ＲＡＭ２０３、スクリーン２０４、キーボード２１４、ハードディスク２０８、ディスケット２１０を受け取るるように適合されたディスクドライブ２０９、通信ネットワーク２１３と通信するためのインターフェース２１２、マイクロフォン２１１に接続された入出力カード２０６、を接続した通信バス２０１を備えるマイクロコンピュータである。
【００２７】
ハードディスク２０８は、本発明に従って符号化されたデータ及び符号化対象データと同様に、以下に詳述される本発明を実行するプログラムを記憶する。これらのプログラムは、磁気テープ、ＣＤ−ＲＯＭ、ディスケット２１０から読み出されたり、或いは通信ネットワーク２１３を介して受信されたりして、ハードディスク２０８或いはＲＡＭ２０３に記憶される形態であっても良い。
【００２８】
装置が起動された時、本発明の実行コードを含むプログラムは、ＲＡＭ２０３へ転送され、ＣＰＵ２０５内のレジスタは、本発明を実行するために必要な変数を格納する。以下に詳述されるこれら変数としては、特に変数ｉと変数Ｌがある。尚、ＲＡＭ２０３はバッファ機能も果たす。
【００２９】
又、装置２００は、デジタルカメラ，スキャナ、或いは他の入力／記憶手段のような周辺装置２０７から符号化対象となるデータを受け取り、ＲＡＭ２０３に記憶する。又、装置２００は、通信ネットワーク２１３を介して遠隔の装置から符号化対象となるデータを受信し、ＲＡＭ２０３に記憶すると共に、符号化されたデータを再び通信ネットワーク２１３を介して遠隔装置へ転送することも可能である。
【００３０】
又、装置２００は、マイクロフォン２１１から符号化対象となるデータを受信することもできる。スクリーン２０４は、キーボード２１４と共にユーザインターフェースとして利用でき、符号化されたデータを表示することが可能である。
【００３１】
入力或いは転送されたデータは、ＣＰＵ２０５が前記プログラムに基づき順次符号化する。符号化されたデータはハードディスク２０８に記憶されるか、或いは通信ネットワーク２１３を介して他の装置に転送される。符号化処理については、図７を参照して後述する。
【００３２】
図４は、図２に示した処理回路１０４の具体的構成例を示す図である。
【００３３】
処理回路１０４は、該処理回路１０４に含まれる各モジュールを制御するコントローラ２０、再組織化(reorganization)バッファメモリモジュール２１、垂直フィルタリングモジュール２２、水平フィルタリングモジュール２３、第１バッファモジュール２４、第２バッファモジュール２５、量子化及びエントロピー符号化モジュール２６を含む。
【００３４】
再組織化バッファメモリモジュール２１（以下、単にメモリ２１と称する）は、接続されたＲＡＭ１０３とのデータ入出力を行う。又、該メモリ２１は、垂直フィルタリングモジュール２２への出力も行う。更に、該メモリ２１は、サンプルが所定の順序で処理されるように制御し、未処理のサンプルを記憶しておくことが可能である。
【００３５】
垂直フィルタリングモジュール２２（以下、単に垂直フィルタリング２２と称する）は、画像の垂直方向のフィルタリングを実行し、その結果を水平フィルタリングモジュール２３へ出力する。
【００３６】
水平フィルタリングモジュール２３（以下、単に水平フィルタリング２３と称する）は、画像の水平方向のフィルタリングを実行し、その結果を第１バッファモジュール２４，第２バッファモジュール２５へ出力する。尚、水平フィルタリング２３は、垂直フィルタリング２２の前に配置しても良い。
【００３７】
第１バッファモジュール２４（以下、単にメモリ２４と称する）は、水平フィルタリング２３により分析された４つの周波数サブバンド信号の中で、最も低い周波数成分を有する周波数サブバンド信号のみを記憶し、蓄積データが所定の大きさになったら、垂直フィルタリング２２に出力する。
【００３８】
第２バッファモジュール２５（以下、単にメモリ２５と称する）は、水平フィルタリング２３により分析された４つの周波数サブバンド信号を蓄積し、該蓄積データを量子化及びエントロピー符号化モジュール２６へ出力する。
【００３９】
量子化及びエントロピー符号化モジュール２６（以下、単に符号化モジュール２６と称する）における量子化及びエントロピー符号化処理については、周知であるためここでは詳述しない。尚、量子化については、“Vector Quantization and Signal Compression”，Allen Gersho and Robert M.Gray,Kluwer Academic Publishersに詳述されている。又、エントロピー符号化については、“A method for the construction of minimum redundancy codes”，D.A.Huffman,Proceedings of the IRE,40:1098-1101,1952に詳述されている。
【００４０】
以下、図４に示す処理回路１０４における動作について詳細に説明する。
【００４１】
フィルタリングは、サンプルブロック毎に実行される。１枚の画像は、コントローラ２０によって論理的に複数の領域（ブロック）に分割され、各ブロックにはその処理順序を示す番号付けがなされる。ここで１枚の画像とは、カラー画像の場合、単色成分毎に符号化されるため、単色成分のみで構成されている画像を意味する。尚、カラー画像の単色成分への分解は通常の入力手段（デジタルカメラやスキャナ等）において行われる処理であり、処理回路１０４ではそのような分解処理は担わない。
【００４２】
分割された各ブロックは、隣接するブロックとゼロ或いは１列及び／又は１行の重なりを有する四角形状である。全てのブロックは同一のサンプル数を有し、例えば各ブロックはＷ×Ｈサンプル（Ｗ：画像の垂直方向のサンプル数，Ｈ：画像の水平方向のサンプル数）を有するが、特に、［２Ｗ＋ＯＰ］2（Ｗ：水平方向ピクセル数，ＯＰ：隣接ブロックとの重なり数）サンプルを有することが望ましい。
【００４３】
全てのブロックは、同一の方法でフィルタリング（離散ウェブレット変換）される。このようなブロック毎の離散ウェブレット変換が、ブロックベースの離散ウェーブレット変換（block-based discrete wavelet transformation）と呼ばれるものである。
【００４４】
符号化される画像のサンプルは、画像全体を蓄積しているＲＡＭ１０３からブロック単位で読み出され、処理回路１０４内のＳＲＡＭ、即ち、メモリ２１内に一時格納される。尚、読み出されるブロックの順序は、先に付された番号に従う。又、読み込まれた各ブロックは、垂直及び水平フィルタリング２２，２３によって周波数分析される。本発明では、ウェブレット変換により分析が行われる。その結果、各ブロックは、４つの周波数サブバンドブロック（ＬＬ，ＬＨ，ＨＬ，ＨＨ）へ変換される。
【００４５】
その分析は、少なくとも２つの解像度レベルで実行される。即ち、少なくとも１つの解像度レベルで得られた、垂直，水平両方向における低周波成分を含む周波数サブバンドブロックＬＬは、垂直及び水平フィルタリング２２，２３によって再度フィルタリングされる。このループは少なくとも１回実行される。初期画像の各ブロックは、要求された解像度レベル数に従って分析される。
【００４６】
第１の解像度レベルで得られた、周波数サブバンドブロックＬＬ以外の周波数サブバンドブロック（ＬＨ，ＨＬ，ＨＨ）は、メモリ２５へ供給され、次の解像度レベルでの周波数分析がなされることなく、符号化モジュール２６によって量子化及びエントロピー符号化される。符号化モジュール２６は、第１の解像度レベルで得られたサブバンドブロックと等しい所定サイズのブロックに対して、量子化及びエントロピー符号化を実行するように構成されている。
【００４７】
垂直及び水平フィルタリング２２，２３は、画像内に形成されたブロックサイズと等しい所定サイズ（Ｗ×Ｈ）、つまり固定のサンプル数のブロックに対して動作するため、メモリ２４は、各ブロックを分析した際に生成された低周波サンプルを含むブロック、即ち各周波数サブバンドブロックＬＬを記憶し、それらをグループ化して要求されるサイズのブロックを形成することが可能である。そして、これらのサブバンドブロックのグループは、垂直フィルタリング２２へ供給される。
【００４８】
尚、最終分解レベルで得られた周波数サブバンドブロックＬＬについては、これ以上のフィルタリングはなされないため、メモリ２４に記憶されなくても良い。
【００４９】
一例として、図５に符号化される画像の一部を示す。同図において、Ｂｉはブロックを示す（ｉは、ブロックの順位を示す整数である）。
【００５０】
本実施形態においては、１つのブロックは、６４×６４サイズのサンプルを有する４角形状である。ここで注意すべき点は、ブロックのサイズは画像のそれと比べて小さいことである。加えて、これらのブロックは、隣接するブロック間において１行及び／又は１列が重なり合っている。そのため各ブロックは、実際は（６４（＋１））×（６４（＋１））のサンプルを含む。隣接ブロック間の重なり合いによる利点及びエッジフィルタリングについては、フランス国特許出願Ｎｏ． ９９ ０２３０３ 及び ９９ ０２３０５に詳述されている。
【００５１】
ブロック内において、サンプルは所定の順番、例えば、左上の角から右下の角へジグザグに読み出される。又、各ブロックは、図５に示されているように所定の順番でＲＡＭ１０３から読み出される。この読み出し順としては、図５ではジグザグであるがこれに限るものではない。つまり、現在処理されているデータのメモリ占有量が最小となる順序、つまり、処理回路１０４内において要求されるメモリサイズが最小となる順序で実行されるのであれば、他の読み出し順であっても構わない。
【００５２】
この点について更に詳しく説明する。
【００５３】
周波数サブバンドブロックＬＬをグループ化して再分析を実行するためには、図６に示されるように、ブロックＢｉと同サイズのブロックを解像度レベル毎に生成する必要がある。この場合、各周波数サブバンドブロックＬＬ１，ＬＬ２，ＬＬ３，ＬＬ４のブロック内での位置関係と、各周波数サブバンドブロックが関係する画像サンプルの画像上での位置関係とが対応していなければならない。
【００５４】
又、図５に示されるグループ化を効率的に行うには、前記位置関係を考慮して、グループ化の対象となるブロックをグループ単位とし、該グループ単位内において連続的にブロックを処理すればよい。本実施形態においては、例えば、互いに隣接するＢ１，Ｂ２，Ｂ３，Ｂ４が１つのグループ単位となる。この手法によれば、処理回路１０４内に準備すべきメモリとしては、各解像度レベルにおいて周波数サブバンドブロックＬＬ１，ＬＬ２，ＬＬ３，ＬＬ４を記憶可能な容量さえあれば良いので、要求されるメモリ容量は最小限で済む。
【００５５】
具体的には、例えば、ブロックＢ１→Ｂ２→Ｂ５→Ｂ６→Ｂ３→Ｂ４の順番で分析を実行した場合、周波数サブバンドブロックＬＬ１，ＬＬ２，ＬＬ３，ＬＬ４をグループ化するためには、途中で生成されたＬＬ５，ＬＬ６を待機させておくための余分なメモリスペースが必要となるため、より大きなメモリスペースが必要となる。しかし、本実施形態のようにブロックＢ１→Ｂ２→Ｂ３→Ｂ４の順番で分析を実行すれば、最短時間でグループ化が可能であると共に、そのグループ単位を直ちにモジュール２２に出力することができるため、前者のような余分なメモリスペースが必要でなくなる。
【００５６】
尚、本実施形態において４ブロックからなる各グループ単位は、それら自身マクロブロックのサブバンドブロックとして扱われる。マクロブロックとは、図５中の太線で囲まれた領域であり、要求される解像度レベルに応じて対象となるブロック数が変化する。具体的には、最終ｉ解像度レベルで要求されるマクロブロックは、（画像の垂直方向２i-1個）×（水平方向２i-1個）のブロックから構成される。
【００５７】
又、前記グループ単位は、各解像度レベルにおいて生成された周波数サブバンドブロックＬＬを集める単位に相当するが、これは、各解像度レベルに応じて階層的に変化する。つまり、第２解像度レベルでは２×２個のブロックによって構成されていたグループ単位は、解像度レベル数が大きくなるほど、対象となるブロック数が増えていく。具体的には、最大解像度レベル数がｉである場合に、第ｊ（ｊ＜ｉ）解像度レベルにおけるグループ単位は、（画像の垂直方向２j-1個）×（水平方向２j-1個）のブロックから構成される。そして各グループ単位で、前の解像度レベルにおいて生成された周波数サブバンドブロックＬＬを収集し、グループ化する。
【００５８】
図５においては、第３解像度レベルの分解のための、ブロック処理順の一例を連続線で示している。グループ単位内の４つのブロックは、続くグループ単位の処理が開始される以前に全て処理される。同様に、一つのマクロブロックは、続くマクロブロックの処理が開始される以前に、完全に処理される。４つのブロックにおけるブロック処理順は、所定の順番であるものの、図５に示されるようなジグザグ順である必要はない。例えば、Ｂ１→Ｂ３→Ｂ２→Ｂ４であっても構わない。重要なことは、続くグループ単位の処理を開始する以前に、現在のグループ単位内における全てのブロックが処理されることである。これは、各解像度レベルについて同様である。
【００５９】
上記処理は言い換えると、１つのマクロブロック内において、要求される全ての解像度レベルによるフィルタリングが実行されるということである。即ち、現在処理されているマクロブロックのデータだけがメモリに保持され、要求された全ての解像度レベルによるフィルタリングがなされる。
【００６０】
先に述べたように、マクロブロック内に含まれるブロック数は解像度レベル数に依存する。具体的には、一つのマクロブロックは、第３解像度レベルで１６ブロック、第４解像度レベルで６４ブロック、第５解像度レベルで２５６ブロックを含む。
【００６１】
ここで、処理回路１０４の説明に戻る。（６４（＋１））×（６４（＋１））サンプルのサイズを有するブロックＢｉは、垂直及び水平フィルタリング２２，２３におけるフィルタリングによって、４つの周波数サブバンドブロックＬＬｉ，ＬＨｉ，ＨＬｉ，ＨＨｉが生成される。ここで、周波数サブバンドブロックＬＬｉは（３２（＋１））×（３２（＋１））サンプルのサイズを有し、一方、ブロックＬＨｉ，ＨＬｉ，ＨＨｉは、各々３２×３２サンプルのサイズを有するように分析される。
【００６２】
周波数サブバンドブロックＬＬｉは、画像の垂直，水平方向の２分析方向における低周波サンプルからなる。周波数サブバンドブロックＬＨｉは、第１分析方向における高周波サンプルと他の分析方向における低周波サンプルからなる。周波数サブバンドブロックＨＬｉは、第１分析方向における低周波サンプルと他の分析方向における高周波サンプルからなる。そして周波数サブバンドブロックＨＨｉは、２つの分析方向における高周波サンプルからなる。
【００６３】
メモリ２５は、現在処理中であるブロックＢｉの分析結果である周波数サブバンドブロックＬＬｉ，ＬＨｉ，ＨＬｉ，ＨＨｉを受け取り、それらを記憶する。本実施形態によればメモリ２５は、１６ビットで表現された（３２（＋１））×（３２（＋１））サンプルを有する１ブロックと、１６ビットで表現された３２×３２サンプルを有する３ブロックを記憶するために、少なくとも６４ビットの１０２４（＋１７）ワードの記憶容量を有する。
【００６４】
コントローラ２０は、メモリ２５内の４つの周波数サブバンドブロックから一つを選択して、符号化モジュール２６へ転送する。符号化モジュール２６は、受け取ったデータの量子化及びエントロピー符号化を実行する。
【００６５】
上述したように、メモリ２４は、垂直及び水平フィルタリング２２，２３によるブロックの分解によって生じた、低周波サンプルからなる周波数サブバンドブロックＬＬｉを受け取る。但し、最低解像度レベルについては除かれる。これは、最終分解レベルのデータについては、更なる分析が必要ないためである。
【００６６】
図６は、メモリ２４の構成を示している。メモリ２４は、垂直及び水平フィルタリング２２，２３によって各解像度レベルで生じた周波数サブバンドブロックＬＬｉを格納すべく、４つの領域を有している。尚、ここでは最大解像度レベルを４としている。尚、最大解像度レベルが３であれば、前記メモリ領域は３つで良い。
【００６７】
各メモリ領域は、各解像度レベルにおいて発生した周波数サブバンドブロックＬＬｉを格納し、１６ビット表現された（３２（＋１））×（３２（＋１））サンプルのサイズを有する４つの周波数サブバンドブロックＬＬｉから得られた、（６４（＋１））×（６４（＋１））サンプルを記憶可能とする分の容量を有する。尚、各メモリ領域において、サイズ（３２（＋１））×（３２（＋１））の４つの周波数サブバンドブロックＬＬｉは、例えば、左上のブロックＬＬ１の３３行目は右上のブロックＬＬ２の第１行と同じ行となるように、隣接するブロック間で１行及び／又は１列が重なり合っている。その結果、サイズ（３２（＋１））×（３２（＋１））の４つの周波数サブバンドブロックＬＬｉをグループ化しても、サイズ（６４（＋１））×（６４（＋１））のブロックとなる。各ブロックＬＬｉは、ジグザグ走査に従ってメモリ２４に書き込まれる。
【００６８】
メモリ領域が埋められると直ぐに、そのデータは垂直フィルタリング２２へ供給され、再分析される。そして、全てのブロックについて全解像度の分析が終了すると、一連の処理を終了する。
【００６９】
次に、図７について説明する。図７は、図４に示した処理回路１０４における処理シーケンスを示すものであるが、これは、図３に示した構成で実行されるソフトウエアの実行ステップに対応する。以下、特に対応する図３の構成におけるメモリ領域については、（）内に記す。
【００７０】
ステップＥ１では、処理される第１ブロックを示すために、ワーキングパラメータｉを１へ初期化する。即ちパラメータｉは、現在処理中であるブロックの順番を示す。続くステップＥ２において、分解の第１解像度レベルを示すために、ワーキングパラメータＬを１へ初期化する。即ちパラメータＬは、規在処理中である解像度レベルを示す。
【００７１】
続くステップＥ３では、現在処理中である解像度レベルが第１解像度レベルであるか否かを判定する。第１解像度であればステップＥ４に進み、ブロックＢｉがメモリ２１（第３図のＲＡＭ２０３内に割り当てられた作業用のメモリ領域）に読み込まれると共に、該ブロックＢｉを周波数分析する。そして、分析結果である４つの周波数サブブロックＬＬｉ，ＬＨｉ，ＨＬｉ，ＨＨｉはメモリ２５（第３図のＲＡＭ２０３のバッファメモリとして割り当てた領域）に記憶される。
【００７２】
一方、ステップＥ３において、現在処理中である解像度レベルが第１解像度でなければステップＥ５に進む。ステップＥ５では、メモリ２４に記憶されている、前の解像度レベルにおいて生成された周波数サブブロックＬＬをグループ化したブロックについて、周波数分析を行う。
【００７３】
ステップＥ４，Ｅ５の終了後は、ステップＥ７へ進み、高周波サンプルからなる周波数サブバンドブロックＬＨｉ，ＨＬｉ，ＨＨｉを量子化及びエントロピー符号化する。尚、この処理は周知であるため、ここでは詳述しない。
【００７４】
次いでステップＥ８では、現在処理中である解像度レベルが最大解像度レベルであるか否かを判定する。本実施形態では最大解像度レベルを４としているため、パラメータＬが４に等しいか否かを判定する。
【００７５】
最大解像度レベルであればステップＥ９に進み、周波数サブバンドブロックＬＬｉも同様に、量子化及びエントロピー符号化する。これは、メモリ２４に周波数サブブロックＬＬｉを記憶する必要がないことを意味する。
【００７６】
一方、ステップＥ８において最大解像度レベルでなければステップＥ１０に進み、周波数サブバンドブロックＬＬｉを、現在処理中である解像度レベルＬに対応するメモリ２４の所定領域に記憶する。
【００７７】
ステップＥ１０の処理後はステップＥ１１に進む。ステップＥ１１では、第１解像度レベルに対応するメモリ２４の所定領域が、周波数サブバンドブロックＬＬｉにより埋められているか否か、即ち、第２解像度レベルでのフィルタリング対象となる周波数サブブロックＬＬｉが所定のサイズのブロックにグループ化されているか否かを判定する。尚、本実施形態におけるブロックサイズは、（６４（＋１））×（６４（＋１））サンプルである。
【００７８】
ステップＥ１１における判定結果がｙｅｓであれば、ステップＥ１２に進み、パラメータＬ＝２を設定する。そしてステップＥ３へ進み、第１解像度レベルに対応するメモリ２４の所定領域に格納された周波数サブバンドブロックＬＬｉをフィルタリングする。
【００７９】
一方、ステップＥ１１における判定結果がｎｏであれば、ステップＥ１３に進み、第２解像度レベルに対応するメモリ２４の所定領域が、周波数サブバンドブロックＬＬｉにより埋められているか否か、即ち、第３解像度レベルでのフィルタリング対象となる周波数サブブロックＬＬｉが所定のサイズのブロックにグループ化されているか否かを判定する。
【００８０】
ステップＥ１２における判定結果がｙｅｓであれば、ステップＥ１４に進み、パラメータＬ＝３を設定する。そしてステップＥ３へ進み、第２解像度レベルに対応するメモリ２４の所定領域に格納された周波数サブバンドブロックＬＬｉをフィルタリングする。
【００８１】
一方、ステップＥ１３における判定結果がｎｏであれば、ステップＥ１５に進み、第３解像度レベルに対応するメモリ２４の所定領域が、周波数サブバンドブロックＬＬｉにより埋められているか否か、即ち、第４解像度レベルでのフィルタリング対象となる周波数サブブロックＬＬｉが所定のサイズのブロックにグループ化されているか否かを判定する。
【００８２】
ステップＥ１５における判定結果がｙｅｓであれば、ステップＥ１６に進み、パラメータＬ＝４を設定する。そしてステップＥ３へ進み、第３解像度レベルに対応するメモリ２４の所定領域に格納された周波数サブバンドブロックＬＬｉをフィルタリングする。
【００８３】
尚、上記Ｅ１１〜Ｅ１６で示した様なステップ数は本来、選択された解像度レベル数に依存する。
【００８４】
ステップＥ１５における判定結果がｎｏであれば、ステップＥ１７に進み、符号化対象である画像全体の処理が終了したか否かを判定する。
【００８５】
画像全体の処理が終了していなければステップＥ１８へ進み、画像中の続くブロックを入力するためにワーキングパラメータｉを１増加させる。上述したように、ブロックは所定の順番で処理される。ステップＥ１８の終了後、処理はステップＥ２に進む。
【００８６】
一方、ステップＥ１７において画像全体の処理が終了していればステップＥ１９に進み、全てのメモリを空にし、メモリ２５に収納されているデータがあればたとえ不完全であってもこれを量子化及び符号化する。これにより、画像の符号化は終了する。
【００８７】
尚、本発明は上述した実施形態に限定されず、当業者であれば容易に実施可能である他の異なる形態をも包含している。具体的には、本発明におけるブロックベースの離散ウェブレット変換装置及び方法は、スキャナ、複写機、デジタルカメラ等の一部として搭載されて良い。又、プログラムの形態であっても良い。
【００８８】
【発明の効果】
以上説明したように本発明によれば、デジタル信号に対してウェブレット変換を行う際に、処理データによるメモリ占有の度合いを減少させることが可能となる。
【図面の簡単な説明】
【図１】本発明に係る一実施形態におけるのデータ処理装置の構成を示す図である。
【図２】本実施形態におけるデータ符号化部２の構成を示す図である。
【図３】本実施形態におけるデータ符号化部２の構成を示す図である。
【図４】図２に示す処理回路１０４の具体的構成例を示す図である。
【図５】本実施形態におけるブロックの処理順を示す図である。
【図６】本実施形態におけるメモリ２４の構成例を示す図である。
【図７】本実施形態におけるデジタル信号変換方法を示すフローチャートである。
【図１】
0004514169.tif 000002
【図２】
0004514169.tif 000003
【図３】
0004514169.tif 000004
【図４】
0004514169.tif 000005
【図５】
0004514169.tif 000006
【図６】
0004514169.tif 000007
【図７】
0004514169.tif 000008