(57)【特許請求の範囲】
【請求項１】
符号化対象の画像データに対してウェーブレット変換して得られた、目標とする解像度のレベルｎに至るサブバンドの組｛ＬＬn｝（ｎは２以上の整数）、｛ＬＨn,ＨＬn、ＨＨn｝、…、｛ＬＨ1,ＨＬ1,ＨＨ1｝の係数データを量子化及びエントロピー符号化することで、画像を符号化する画像符号化装置であって、
複数画素で構成される画素ブロックを垂直方向、並びに、水平方向にフィルタ処理することでウェーブレット変換し、サブバンドＬＬ、ＬＨ、ＨＬ、ＨＨの係数データを生成するウェーブレット変換手段と、
該ウェーブレット変換手段で得られたサブバンドＬＬ、ＬＨ、ＨＬ、ＨＨの係数データを記憶する第１のバッファ手段と、
前記第１のバッファ手段に格納された各サブバンドの係数データを、予め設定された個数を単位に、エントロピー符号化する符号化手段と、
前記ウェーブレット変換手段で得られたサブバンドのうち、サブバンドＬＬのみの係数データを記憶する第２のバッファ手段と、
前記符号化対象の画像データ、前記第２のバッファ手段に格納されたサブバンドＬＬで表わされる画像データのいずれか一方を読出し、前記ウェーブレット変換手段に供給する供給手段と、
該供給手段、及び、前記符号化手段を制御する制御手段とを備え、
前記符号化手段が行う単位となる量子化、エントロピー符号化する係数データの個数を、Ｎ／２×Ｍ／２個と定義し、
前記供給手段を制御して、前記符号化対象の画像データから、Ｎ×Ｍ個の画素で構成される着目画素ブロックを前記ウェーブレット変換手段に供給して第１レベルのサブバンドの組｛ＬＬ1、ＬＨ1、ＨＬ1、ＨＨ1｝を生成させ、当該第１レベルのサブバンドの組を形成させた以降の、前記目標とする解像度のレベルｎのサブバンドが得られるまでは、前記供給手段を制御して、前記第２のバッファ手段に格納されたサブバンドＬＬを前記ウェーブレット変換手段に再帰的に供給することを繰り返して、前記着目画素ブロックから、サブバンド｛ＬＬn｝、｛ＬＨn,ＨＬn、ＨＨn｝、…、｛ＬＨ2,ＨＬ2,ＨＨ2｝を形成させ、前記第１レベルのサブバンドの組｛ＬＨ1、ＨＬ1、ＨＨ1｝を前記符号化手段で符号させる、前記制御手段による処理を１セット分の処理と定義したとき、
前記制御手段は、
前記１セット分の処理が完了する毎に、前記第１のバッファ手段内に、レベル２、レベル３、…、レベルｎの、前記Ｎ／２×Ｍ／２個の係数データで構成されるサブバンドが揃ったか否かを判定し、
揃ったと判定したレベルが１つも無い場合には、次の画素ブロックを前記着目画素ブロックとして前記１セット分の処理を行い、
揃ったと判定されたレベルｉのサブバンドの組｛ＬＨi,ＨＬi,ＨＨi｝を、前記符号化手段で符号化させると共に、次の画素ブロックを前記着目画素ブロックとして前記１セット分の処理を行い、
更に、前記揃ったと判定されたレベルが前記目標とするレベルｎであった場合に限っては、サブバンドＬＬnも、前記サブバンドの組｛ＬＬn｝として符号化するよう前記符号化手段を制御する
ことを特徴とする画像符号化装置。
【請求項２】
符号化対象の画像データに対してウェーブレット変換して得られた、目標とする解像度のレベルｎに至るサブバンドの組｛ＬＬn｝（ｎは２以上の整数）、｛ＬＨn,ＨＬn,ＨＨn｝、…、｛ＬＨ1,ＨＬ1,ＨＨ1｝の係数データを量子化及びエントロピー符号化することで、画像を符号化するため、
複数画素で構成される画素ブロックを垂直方向、並びに、水平方向にフィルタ処理することでウェーブレット変換し、サブバンドＬＬ、ＬＨ、ＨＬ、ＨＨの係数データを生成するウェーブレット変換手段と、
該ウェーブレット変換手段で得られたサブバンドＬＬ、ＬＨ、ＨＬ、ＨＨの係数データを記憶する第１のバッファ手段と、
前記第１のバッファ手段に格納された各サブバンドの係数データを、予め設定された個数を単位に、エントロピー符号化する符号化手段と、
前記ウェーブレット変換手段で得られたサブバンドのうち、サブバンドＬＬのみの係数データを記憶する第２のバッファ手段と、
前記符号化対象の画像データ、前記第２のバッファ手段に格納されたサブバンドＬＬで表わされる画像データのいずれか一方を読出し、前記ウェーブレット変換手段に供給する供給手段と、
該供給手段、及び、前記符号化手段を制御する制御手段とを備える画像符号化装置の制御方法であって、
前記符号化手段が行う単位となる量子化、エントロピー符号化する係数データの個数を、Ｎ／２×Ｍ／２個と定義し、
前記供給手段を制御して、前記符号化対象の画像データから、Ｎ×Ｍ個の画素で構成される着目画素ブロックを前記ウェーブレット変換手段に供給して第１レベルのサブバンドの組｛ＬＬ1、ＬＨ1、ＨＬ1、ＨＨ1｝を生成させ、当該第１レベルのサブバンドの組を形成させた以降の、前記目標とする解像度のレベルｎのサブバンドが得られるまでは、前記供給手段を制御して、前記第２のバッファ手段に格納されたサブバンドＬＬを前記ウェーブレット変換手段に再帰的に供給することを繰り返して、前記着目画素ブロックから、サブバンド｛ＬＬn｝、｛ＬＨn,ＨＬn、ＨＨn｝、…、｛ＬＨ2,ＨＬ2,ＨＨ2｝を形成させ、前記第１レベルのサブバンドの組｛ＬＨ1、ＨＬ1、ＨＨ1｝を前記符号化手段で符号させる、前記制御手段による処理を１セット分の処理と定義したとき、
前記制御手段は、
前記１セット分の処理が完了する毎に、前記第１のバッファ手段内に、レベル２、レベル３、…、レベルｎの、前記Ｎ／２×Ｍ／２個の係数データで構成されるサブバンドが揃ったか否かを判定するステップと、
揃ったと判定したレベルが１つも無い場合には、次の画素ブロックを前記着目画素ブロックとして前記１セット分の処理を行うステップと、
揃ったと判定されたレベルｉのサブバンドの組｛ＬＨi,ＨＬi,ＨＨi｝を、前記符号化手段で符号化させると共に、次の画素ブロックを前記着目画素ブロックとして前記１セット分の処理を行うステップと、
更に、前記揃ったと判定されたレベルが前記目標とするレベルｎであった場合に限っては、サブバンドＬＬnも、前記サブバンドの組｛ＬＬn｝として符号化するよう前記符号化手段を制御するステップ
とを有することを特徴とする画像符号化装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル・フィルタリングなど、デジタル信号の変換に関する。
【０００２】
【従来の技術】
多数のデジタル・フィルタリングの方法及び装置が知られている。ここでは、例としてデジタル信号分析フィルタリングを構想する。そのようなフィルタリングの中でも特にウェーブレット変換を構想する。
【０００３】
【発明が解決しようとする課題】
これらのフィルタリングは一般的に、符号化及び／又は復号化処理に組み込まれる一部処理である。それらはしばしば、処理の過程でデータを格納するために大量のランダム・アクセス・メモリ又はバッファ空間を必要とする。例えば画像をウェーブレット変換する際、従来は、処理すべき画像全体をメモリにロードし、次いで様々なフィルタリング・ステップを実行していた。この場合、必要なメモリ空間が非常に大きくなるので、例えばデジタル写真機器、ファクシミリ機、プリンタ、又は写真複写機などの装置にそのようなフィルタリングを適用することはコスト的にも難しい。
【０００４】
本発明は上記従来技術の課題を解決するためになされたもので、その目的とするところは、処理されるデータのバッファ空間占有量をできるだけ少なくする、デジタル信号変換方法及び装置を提供することにある。
【０００５】
上記目的を達成するため、本発明に係る画像符号化装置は以下の構成を備える。すなわち、
符号化対象の画像データに対してウェーブレット変換して得られた、目標とする解像度のレベルｎに至るサブバンドの組｛ＬＬn｝（ｎは２以上の整数）、｛ＬＨn,ＨＬn、ＨＨn｝、…、｛ＬＨ1,ＨＬ1,ＨＨ1｝の係数データを量子化及びエントロピー符号化することで、画像を符号化する画像符号化装置であって、
複数画素で構成される画素ブロックを垂直方向、並びに、水平方向にフィルタ処理することでウェーブレット変換し、サブバンドＬＬ、ＬＨ、ＨＬ、ＨＨの係数データを生成するウェーブレット変換手段と、
該ウェーブレット変換手段で得られたサブバンドＬＬ、ＬＨ、ＨＬ、ＨＨの係数データを記憶する第１のバッファ手段と、
前記第１のバッファ手段に格納された各サブバンドの係数データを、予め設定された個数を単位に、エントロピー符号化する符号化手段と、
前記ウェーブレット変換手段で得られたサブバンドのうち、サブバンドＬＬのみの係数データを記憶する第２のバッファ手段と、
前記符号化対象の画像データ、前記第２のバッファ手段に格納されたサブバンドＬＬで表わされる画像データのいずれか一方を読出し、前記ウェーブレット変換手段に供給する供給手段と、
該供給手段、及び、前記符号化手段を制御する制御手段とを備え、
前記符号化手段が行う単位となる量子化、エントロピー符号化する係数データの個数を、Ｎ／２×Ｍ／２個と定義し、
前記供給手段を制御して、前記符号化対象の画像データから、Ｎ×Ｍ個の画素で構成される着目画素ブロックを前記ウェーブレット変換手段に供給して第１レベルのサブバンドの組｛ＬＬ1、ＬＨ1、ＨＬ1、ＨＨ1｝を生成させ、当該第１レベルのサブバンドの組を形成させた以降の、前記目標とする解像度のレベルｎのサブバンドが得られるまでは、前記供給手段を制御して、前記第２のバッファ手段に格納されたサブバンドＬＬを前記ウェーブレット変換手段に再帰的に供給することを繰り返して、前記着目画素ブロックから、サブバンド｛ＬＬｎ｝、｛ＬＨn,ＨＬn、ＨＨn｝、…、｛ＬＨ2,ＨＬ2,ＨＨ2｝を形成させ、前記第１レベルのサブバンドの組｛ＬＨ1、ＨＬ1、ＨＨ1｝を前記符号化手段で符号させる、前記制御手段による処理を１セット分の処理と定義したとき、
前記制御手段は、
前記１セット分の処理が完了する毎に、前記第１のバッファ手段内に、レベル２、レベル３、…、レベルｎの、前記Ｎ／２×Ｍ／２個の係数データで構成されるサブバンドが揃ったか否かを判定し、
揃ったと判定したレベルが１つも無い場合には、次の画素ブロックを前記着目画素ブロックとして前記１セット分の処理を行い、
揃ったと判定されたレベルｉのサブバンドの組｛ＬＨi,ＨＬi,ＨＨi｝を、前記符号化手段で符号化させると共に、次の画素ブロックを前記着目画素ブロックとして前記１セット分の処理を行い、
更に、前記揃ったと判定されたレベルが前記目標とするレベルｎであった場合に限っては、サブバンドＬＬnも、前記サブバンドの組｛ＬＬn｝として符号化するよう前記符号化手段を制御することを特徴とする。
【０００６】
これにより、処理されるデータがバッファ内で占める空間は、従来技術に比べて低減する。したがって、非常に大きいメモリを必要とすることなく、強力なフィルタリングを多くの機器に組み込むことができる。
【００１８】
【発明の実施の形態】
図１に示す選択された実施形態によれば、本発明に係るデータ処理装置は、未符号化データの供給源１が接続される入力２1を有するデータ符号化装置２である。
【００１９】
供給源１は例えば、ランダム・アクセス・メモリ、ハード・ディスク、ディスケット、又はコンパクト・ディスクなど、未符号化データを格納するためのメモリ手段を持ち、このメモリ手段はその中にデータを読み込むための適切な読取り手段に対応付けられる。メモリ手段にデータを記録するための手段も設けることができる。
【００２０】
以下で、符号化すべきデータが画像ＩＭを表す一連のデジタル標本であることを、さらに詳しく考慮する。
【００２１】
供給源１は、符号化回路２の入力にデジタル画像信号ＳＩを供給する。画像信号ＳＩは一連のデジタル・ワード、例えばバイトである。各バイト値は、ここでは２５６の濃度値を持つ画像ＩＭつまり白黒画像の１画素を表す。なお、画像は複数成分画像、例えば、赤−緑−青の３つの成分を持つカラー画像、又は輝度及び色度成分から成るカラー画像とすることもできる。この場合、各成分は、上記白黒画像と同様の方式で処理できる。
【００２２】
符号化装置２の出力２2に、符号化されたデータを使用する手段３を接続する。
【００２３】
ユーザ手段３は、例えば符号化データ格納手段及び／又は符号化データ送信手段を含む。
【００２４】
符号化装置２は従来通り、入力２1から、本発明が特により大きく関係する変換回路２3を含み、その一例の実施形態を以下で詳述する。ここで構想する変換は、データ信号を周波数サブバンド信号に分解して、信号の分析を行うことである。分析は少なくとも２つの解像度レベルで実行する。信号の解像度とは、一般用語で信号を表すために使用される単位長当たりの標本数である。
【００２５】
変換回路２3は量子化回路２4に接続する。量子化回路は、回路２3によって供給される周波数サブバンド信号の係数又は係数群を、例えばスカラ量子化又はベクトル量子化等で量子化する。
【００２６】
回路２4はエントロピ符号化回路２5に接続する。これは、回路２4によって量子化されたデータを、例えばハフマン符号化又は算術符号化によりエントロピー符号化する。
【００２７】
符号化装置は、例えばコンピュータ、プリンタ、ファクシミリ機、スキャナ、又はデジタル写真機器など、デジタル機器に組み込むことができる。
【００２８】
図２に関連して、本発明を実現する装置１０の一例を説明する。
【００２９】
装置１０はここでは、特に
−中央処理装置１００、
−読取り専用メモリ１０２、
−ランダム・アクセス・メモリ１０３、
−以下で説明する本発明を実現する専用回路１０４、
−入出力回路１０５
が接続された通信バス１０１を有するマイクロコンピュータである。
【００３０】
装置１０は、従来の方法で、キーボード又はディスケットを受容するように適応したディスク・ドライブを含むことができ、あるいは通信網と通信するように適応させることができる。
【００３１】
装置１０は、デジタル写真機器、又はスキャナ、又はデータを収集又は格納するための、その他の任意の周辺装置から、符号化すべきデータを受け取ることができる。
【００３２】
装置１０はまた、通信網を介して遠隔装置から符号化すべきデータを受信し、再び通信網を介して遠隔装置に符号化データを送信することもできる。
【００３３】
図において、ランダム・アクセス・メモリ１０３は、「Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ」、いわゆるＤＲＡＭである。このメモリは、本発明の文脈で、以下で開示するように、特定の順序で画像の標本を読取るのに有用である。
【００３４】
回路１０４では、スタティック・ランダム・アクセス・メモリいわゆるＳＲＡＭを有している。
【００３５】
より一般的に言うと、本発明に係るプログラムは格納手段に格納される。この格納手段は、コンピュータ又はマイクロプロセッサによって読み出すことができる。この格納手段は装置に組み込まれることもあり、そうでないこともあり、取外し可能とすることができる。例えば、それは磁気テープ、ディスケット、又はＣＤ−ＲＯＭ（固定メモリ・コンパクト・ディスク）を持つことができる。
【００３６】
図３に関連して、本発明を実現する装置３００の一例を説明する。この装置は、デジタル信号を符号化及び／又は復号するように適応させる。
【００３７】
装置３００はここでは、
−中央処理装置３０５、
−読取り専用メモリ３０２、
−ランダム・アクセス・メモリ３０３、
−スクリーン３０４
−キーボード３１４
−ハード・ディスク３０８、
−ディスケット３１０を受容するように適応させたディスク・ドライブ３０９、
−通信網３１３による通信のためのインタフェース３１２、
−マイクロフォン３１１に接続された入出力カード３０６
が接続された通信バス３０１を有するマイクロコンピュータである。
【００３８】
ハード・ディスク３０８は、以下で説明する本発明を実現するプログラムだけでなく、符号化するデータ及び本発明に従って符号化されたデータをも格納する。これらのプログラムはディスケット３１０に読み込むか、通信網３１３を介して受信するか、あるいは読取り専用メモリ３０２に格納することもできる。
【００３９】
より一般的に言うと、本発明に係るプログラムは格納手段に格納される。この格納手段は、コンピュータ又はマイクロプロセッサによって読み出すことができる。この格納手段は、装置に組み込まれることもあり、そうでないこともあり、取外し可能とすることができる。例えば、それは磁気テープ、ディスケット、又はＣＤ−ＲＯＭ（固定メモリ・コンパクト・ディスク）を持つことができる。
【００４０】
装置の電源を投入すると、本発明に係るプログラムは、そのとき本発明の実行可能コードを含むランダム・アクセス・メモリ３０３、及び本発明を実現するために必要な変数を含むレジスタに転送される。これらの変数は、以下で詳述するが、特に変数ｉ及びＬである。ランダム・アクセス・メモリはバッファを含む。
【００４１】
装置３００は、デジタル写真機器、又はスキャナ、又はデータを収集又は格納する、その他の任意の周辺装置３０７から、符号化すべきデータを受け取ることができる。
【００４２】
装置３００はまた、符号化すべきデータを、通信網３１３を介して遠隔装置から受信し、かつ符号化したデータを再び通信網３１３を介して遠隔装置に送信することもできる。
【００４３】
装置３００はまた、符号化すべきデータをマイクロフォン３１１から受け取ることもできる。その場合、これらのデータは音声信号である。
【００４４】
スクリーン３０４は、符号化すべきデータをユーザが特に表示することを可能にし、キーボード３１４と共にユーザ・インタフェースとして役立つ。
【００４５】
図４は、本発明に係る符号化回路１０４の実施形態を示す。
【００４６】
回路１０４は、
−回路１０４に含まれるモジュールの動作を制御するコントローラ２０、
−再編成バッファ・メモリ・モジュール２１、
−垂直フィルタリング・モジュール２２、
−水平フィルタリング・モジュール２３、
−第１のバッファ・メモリ・モジュール２４、
−第２のバッファ・メモリ・モジュール２５、
−エントロピ符号化及び量子化モジュール２６
を含む。
【００４７】
モジュール２１は、ランダム・アクセス・メモリ１０３に接続されたデータ入力及びアドレス出力を有する。モジュール２１はまた、垂直フィルタリング・モジュール２２に接続された出力をも有する。モジュール２１は、処理される標本を特定の順序に並べ、それらが処理される前にそれらを格納することを可能にする。
【００４８】
垂直フィルタリング・モジュール２２は画像の垂直方向のフィルタリングを行い、水平フィルタリング・モジュール２３に接続された出力を有する。
【００４９】
水平フィルタリング・モジュール２３は画像の水平方向のフィルタリングを行い、モジュール２４、２５に接続された出力を有する。もちろん、同等の方法で、水平フィルタリング・モジュールは、垂直フィルタリング・モジュールの前に配置することができる。
【００５０】
モジュール２４は、垂直フィルタリング・モジュール２２に接続された出力を有する。モジュール２５は、量子化及びエントロピ符号化モジュール２６に接続された出力を有する。
【００５１】
量子化及びエントロピ符号化は従来通りであり、ここでは詳述しない。
【００５２】
モジュール２１、２２、２３、２４、２５について以下で詳述する。
【００５３】
回路１０４の動作は大まかに次の通りである。
【００５４】
フィルタリングは、標本ブロックごとに行われる。一般的に、ブロックとは、画像を、同数の標本を有する複数の標本群に分割して得られたそれぞれのものである。ブロックは、ここでは矩形の形状であり、隣接するブロック間において、０行又は１行及び／又は１列の標本の重なりがある。全てのブロックは同数の標本を持つので、それらは全て同様の方法でフィルタリングされる。
【００５５】
このために、符号化すべき画像の標本が、モジュール２１によって並べられたように、ブロックの形でメモリ１０３内に読み込まれ、次いでそれらはモジュール２２、２３によって２つの水平及び垂直方向にフィルタリング（ウェーブレット変換）される。したがって、各ブロックはモジュール２２、２３によって４つのサブブロック（周波数サブバンド）に変換される。
【００５６】
ここでは少なくとも２つの解像度レベルで分析が実行される。つまり、少なくとも１つの第１の解像度レベルで得られる、２つの分析方向の双方において、低周波数の標本を含むサブブロック、いわゆる最低周波数成分（ＬＬ成分）は、再度モジュール２２、２３によってフィルタリングされる。このループ処理は、少なくとも１回行われる。初期画像の各ブロックが、全ての必要な解像度レベルに従って分析される。
【００５７】
第１の解像度レベルで得られる２つの分析方向の何れか一方に低周波数の標本を含まないサブブロック（３つ）は、モジュール２５に供給され、次いでモジュール２６によって量子化され、更にエントロピ符号化される。後者は、第１の解像度レベルで得られたサブブロックのサイズと等しくなるように選択された、所定の固定サイズのブロックを処理するように制御される。
【００５８】
数回のループ処理により低解像度レベルとして得られたサブブロック（サブバンド）は、モジュール２６での量子化エントロピー符号化によって必要とされる単位サイズより小さいサイズを持つ。したがって本実施の形態ではこれらのブロックは、必要とされるサイズを持つブロックを形成するようにグループ化する。
【００５９】
２つの分析方向において、低周波数の標本を含むサブブロック（ＬＬ）は、このサブブロックがモジュール２５に供給されるべき最後の解像度レベルのものを除いては、上記ループ処理を実行するために、モジュール２４に繰り返し供給される。即ち、所定の解像度に相当する、最低周波数成分（ＬＬ）サブブロックが生成されるまで、上記２方向（垂直、水平）に対して低周波成分を有するサブブロックが再帰的にフィルタリング（分解）される。
【００６０】
図５は、各サブブロックからブロックを再編成するためのバッファ・メモリ・モジュール２１を示す。回路２１は、原画像で所定の順序でデータを読取ることを可能にする。
【００６１】
図６に符号化する画像の一部を示す。画像のフィルタリングは図に示す順序でブロックごとに行われる。即ち、画像は、標本のブロックＢiに分割される。ここでｉはブロックのランクを表す整数である。例として、以下では標本６４×６４個のサイズの正方ブロックを考慮する。さらに、これらのブロックは、隣接するブロック間で所定の行数及び／又は所定の列数だけ重複することができる。以下では、重複が１行及び１列である場合を想定して説明するが、より大きい重複も可能である。ここでの説明では、各ブロックは（６４（＋１））×（６４（＋１））の標本を含む。（＋１）は１画素分ブロックが重複していることを示す。隣接するブロック間の重複の利点及びエッジ・フィルタリングの問題は、フランス特許出願９９０２３０３及び９９０２３０５にすでに開示されている。
【００６２】
ブロック内で、標本は所定の順序で、例えば左上隅から右下隅までジグザグ・スキャンニングで読取られる。
【００６３】
ブロックは、現在処理されているデータのメモリの占有を最小にするような所定の順序で処理される。
【００６４】
例えば、画像を３つの解像度レベルで分解する場合、即ち、２方向に低周波成分が含まれるサブブロックＬＬの再分解を２回行った場合を考慮すると、ブロックは、少なくともブロックＢ1、Ｂ2、Ｂ3、Ｂ4など、４つの隣接するブロックのグループごとに考慮され、処理される。
【００６５】
４つのブロックから成るグループはそれ自体、マクロブロックと呼ばれる４つのブロックのサブグループ単位で考慮される。
【００６６】
３つの解像度レベルで分解するためのブロックの処理順序を、図６において連続線によって示す。１グループ内の４つのブロックを通過した後、次のグループに移る。同様に、マクロブロックを完全に通過した後、次のマクロブロックに移る。４つのブロックのグループ内で、ブロックは任意の順序で処理されることに注意する必要がある。同様に、マクロブロック内で、グループは任意の順序で処理される。
【００６７】
この処理順序により、全ての解像度レベルで最低限必要な画像領域ごとのフィルタリングが可能になる。即ち、処理対象領域のデータだけがメモリに維持され、要求される全ての解像度レベルでフィルタリングされる。
【００６８】
マクロブロックに含まれるブロック数は、解像度レベルの数に依存することに注意する必要がある。したがって、１つのマクロブロックは、上述した様に解像度レベルが３つの場合は１６のブロックを必要とし、解像度レベルが４つの場合は６４のブロックを必要とし、解像度レベルが５つの場合は２５６のブロックを必要とする。
【００６９】
再び図５に関連して、モジュール２１は、ランダム・アクセス・メモリ２１０及び再順序付けアドレス・ジェネレータ２１１を含む。
【００７０】
アドレス・ジェネレータ２１１は、コントローラ２０によって供給される信号Ｈｓｙｎｃ、Ｖｓｙｎｃ、及びＡＣＴによって制御される。アドレス・ジェネレータ２１１は、７ビットのアドレス信号ＡＤＲをランダム・アクセス・メモリ２１０に供給し、信号ＷＥによってこのメモリへのデータの書込みを制御する。
【００７１】
アドレス・ジェネレータ２１１は、ランダム・アクセス・メモリ１０３にアドレス信号ＡＤＲ１及び制御信号Ｄ１、Ｄ２を供給する。データは、続けて６４（＋１）バイトづつメモリ１０３に読み込まれる。
【００７２】
データは、読取り−変更−書込み方式に従ってメモリ２１０に書き込まれる。メモリ２１０は５つの入力ＤＩ１〜ＤＩ５、及び５つの出力ＤＯ１〜ＤＯ５を有する。入力ＤＩ１は、メモリ１０３から８ビットを受け取る。出力ＤＯ１〜ＤＯ４は、それぞれ入力ＤＩ２〜ＤＩ５に接続される。したがってメモリ２１０は、５バイトの深さ及び６４（＋１）バイトの幅を持つシフト・レジスタである。
【００７３】
メモリ２１０は、一度に５バイトを垂直フィルタリング・モジュール２２に供給する。
【００７４】
図７に関連して、垂直フィルタリング・モジュールは、マルチプレクサ２２０及び垂直フィルタリング回路２２１を持つ。
【００７５】
マルチプレクサ２２０の第１の入力はモジュール２１に接続され、マルチプレクサ２２０の第２の入力は以下で説明するモジュール２４に接続される。マルチプレクサ２２の出力はフィルタリング回路２２１の入力に接続される。
【００７６】
コントローラ２０は、どの解像度レベルのデータをフィルタリングするかを指示するために、制御信号ＮＩＶを供給する。最も高い解像度レベルに対応する原画像のデータをフィルタリングする場合、マルチプレクサは、モジュール２１から来るデータを選択する。この場合、したがって５バイトが、各ワード１６ビットの５ワードに形成され、未使用ビットは零にセットされる。したがって、フィルタリングされるデータのフォーマットは、回路２２１の機能と互換可能である。
【００７７】
低解像度レベルのデータをフィルタリングする場合、選択されるデータは、モジュール２４から来るデータである。これらのデータは、各ワード１６ビットの５ワードの形式で受け取られる。
【００７８】
回路は２２１、各ワード１６ビットの５ワードを入力として受け取り、例えばフランス特許出願第９の８０８８２４号に記載されているように、いわゆる「リフティング（ｌｉｆｔｉｎｇ）」形式でウェーブレット・フィルタリングを実行する。ここで使用するフィルタは、５／３フィルタである。例えば畳み込みなど、ウェーブレット・フィルタリングを実行する他の方法も可能である。回路２２１は、モジュール２３にそれぞれ１６ビットの２つの流れを供給し、そのうちの１つは低周波数の標本、及びその他の高周波数の標本を含む。
【００７９】
図８は、２つのシフト・レジスタ２２０、２３１及び２つのフィルタリング回路２３２、２３３を備えた水平フィルタリング・モジュール２３を示す。
【００８０】
シフト・レジスタ２３０は、モジュール２２から高周波数の標本を受け取り、各ワード１６ビットの５ワードを形成し、それらをフィルタリング回路２３２に適用する。後者はフィルタリング回路２２１と同様に、ここでは８０入力ビットに作用し、水平方向のウェーブレット・フィルタリングを実行し、出力としてそれぞれ１６ビットの２つの流れを供給する。
【００８１】
これらの流れの一方は、２つの分析方向の双方に高周波数の標本を有するサブブロック（サブバンド）、いわゆるＨＨ成分であり、他方は、垂直方向に高周波数の標本及び水平方向に低周波数の標本を有するサブブロック、いわゆるＬＨ成分である。
【００８２】
これと同様の方法で、シフト・レジスタ２３１はモジュール２２から低周波数の標本を受け取り、各ワード１６ビットの５ワードを形成し、それらをフィルタリング回路２３３に適用する。後者はフィルタリング回路２３２と同様に、ここでは８０入力ビットに作用し、水平方向のウェーブレット・フィルタリングを実行し、出力としてそれぞれ１６ビットの２つの流れを供給する
これらの流れの一方は、２つの分析方向の双方に対し低周波数の標本を有するサブブロック、いわゆるＬＬ成分であり、他方は、垂直方向に低周波数の標本及び水平方向に高周波数の標本を有するサブブロック、いわゆるＨＬ成分である。
【００８３】
したがって、モジュール２３は、メモリ・モジュール２５の４つの入力に接続される４つの出力を持つ。なお２つの分析方向に、低周波数の標本を有するサブブロックＬＬの供給先には、メモリ・モジュール２４も接続されている。
【００８４】
したがって標本（６４（＋１））×（６４（＋１））個のサイズのブロックＢiのフィルタリングの結果、第１の分解（解像度）レベルでは、４つのブロックＬＬi,1、ＬＨi,1、ＨＬi,1、ＨＨi,1が生じる。ブロックＬＬi,1は標本（３２（＋１））×（３２（＋１））個のサイズを持ち、ブロックＬＨi,1、ＨＬi,1、ＨＨi,1はそれぞれ標本３２×３２個のサイズを持つ。
【００８５】
ブロックＬＬi,1は２つの分析方向において低周波数の標本を含み、ブロックＬＨi,1は第１の分析方向において高周波数の標本、及びもう１つの分析方向において低周波数の標本を含み、ブロックＨＬi,1は第１の分析方向において低周波数の標本、及びもう１つの分析方向において高周波数の標本を含み、ブロックＨＨi,1は２つの分析方向の、高周波数の標本を含む。
【００８６】
ブロックＬＬi,1がその順番になってフィルタリングされると、これは第２の解像度レベルに４つのブロックＬＬi,2、ＬＨi,2、ＨＬi,2、ＨＨi,2を生じる。ブロックＬＬi,2は標本（１６（＋１））×（１６（＋１））個のサイズを持ち、ブロックＬＨi,2、ＨＬi,2、ＨＨi,2はそれぞれ標本１６×１６個のサイズを持つ。ＬＬのみ２方向に１画素ずつサイズが大きい理由は、主に、ＬＬが、更にウェーブレット変換を施す対象であること、及び実際より１画素分多くフィルタリングの参照要素を保持することによりブロック単位に生じるブロック歪みを除去することにある。しかしながら、本発明はこれに限らずＬＬ，ＬＨ，ＨＬ，ＨＨとも１６×１６であるとして処理を進めても符号化が可能であることは言うまでもない。
【００８７】
ブロックＬＬi,2はその順番になったらフィルタリングすることができ、以下同様に続く。
【００８８】
１つの分析方向に、低周波数の標本を含むブロックは、各分解（解像度）レベルにおいてこの分析方向の重複を持ち、これを前のレベルと比較して２で割り、次いで切り上げる。１つの分析方向に高周波数の標本を含むブロックは、各分解（解像度）レベルにこの分析方向の重複を持ち、これを前のレベルと比較して２で割り、次いで切り捨てる。少なくとも１つの分析方向の、高周波数の標本を含むブロックの重複は除去する。２つの分析方向の、低周波数の標本を含むブロックの重複は、最後の分解（解像度）レベルの終わりにだけ除去する。
【００８９】
図９は、バッファ・メモリ２４０、アドレス・ジェネレータ２４１、及び循環シフト・レジスタ２４２を持つバッファ・メモリ・モジュール２４を示す。
【００９０】
アドレス・ジェネレータ２４１は、コントローラ２０から制御信号を受け取る。信号ＰＢＶは、入力バスのデータが有効であることを示す。信号ＰＳは、現在どの解像度レベルが処理されているかを示す。
【００９１】
アドレス・ジェネレータ２４１は、メモリ２４０に書込み制御信号ＷＥ及びアドレス信号ＡＤ１を供給する。アドレスはここでは９ビット単位で表現される。
【００９２】
メモリ２４０は、最低解像度レベルを除いて、フィルタリング・モジュール２２、２３によるサブブロックへの分解の結果生じる低周波数サブブロック（サブバンド）を受け取る。最低解像度レベルが除外されるのは、この最後の分解（解像度）レベルのデータが分析されないからである。
【００９３】
図１０は、メモリ２４０の編成を示す。ブロックＢiの、４つのレベルの分解の場合、メモリ２４０は、フィルタリング・モジュール２２、２３によるブロックの分解から生じる低周波数サブバンドＬＬi,1、ＬＬi,2、ＬＬi,3を格納するための３つの領域を含む。したがってメモリのサイズは、分解（解像度）レベルの数に関係する。
【００９４】
したがって第１の領域は、第１の解像度レベルの低周波数の標本、すなわち（３２（＋１））×（３２（＋１））個の標本を含むブロックＬＬi,1を格納する容量を持つ。第２の領域は、第２の解像度レベルの低周波数の標本、すなわち（１６（＋１））×（１６（＋１））個の標本を含む、ブロックＬＬi,2を格納する容量を持つ。最後に、第３の領域は、第３の解像度レベルの低周波数の標本、すなわち（８（＋１））×（８（＋１））個の標本を含むブロックＬＬi,3を格納する容量を持つ。全ての標本は１６ビットで表される。
【００９５】
最後の第４の解像度レベルの低周波数の標本を含むブロックは、直接量子化され、エントロピ符号化されるので、メモリ２４０に格納する必要は無い。
【００９６】
変化例として、メモリ２４０はより小さいサイズを持つことができる。これは、ブロックＬＬi,2を供給するためにブロックＬＬi,1をフィルタリングした後は、ブロックＬＬi,1がもはや必要無いからである。したがって、ブロックＬＬi,1の代わりにブロックＬＬi,2を書き込むことができる。同様に、ブロックＬＬi,3を供給するためにブロックＬＬi,2をフィルタリングした後は、ブロックＬＬi,2はもはや必要無い。したがって、ブロックＬＬi,2の代わりにブロックＬＬi,3を書き込むことができる。この場合、メモリ２４０は、ブロックＬＬi,1、ＬＬi,2、ＬＬi,3のうち最大のものを格納する容量を持つ。
【００９７】
図１１は、アドレス・ジェネレータ２５１、マルチプレクサ２５２、第１のバッファ２５３、及び第２のバッファ２５４を備えたバッファ・メモリ・モジュール２５を示す。
【００９８】
アドレス・ジェネレータ２５１は、コントローラ２０から制御信号を受け取る。信号ＳＢＶは、メモリ２５３、２５４内のデータのロッキングを制御する。信号ＳＢは、どのサブバンドが現在処理されているかを示す。信号ＥＮＣは、データの量子化及びエントロピ符号化のためのメモリ２５３又は２５４からのデータの出力を制御する。信号ＬＶＬは、どの解像度レベルが現在処理されているかを示す。
【００９９】
アドレス・ジェネレータ２５１は、メモリ２５３、２５４に書込み制御信号ＷＥ及び２つのアドレス信号ＡＤ２、ＡＤ３を供給する。アドレスはここでは、メモリ２５４では１０ビットで表され、メモリ２５３では１２ビットで表される。
【０１００】
メモリ２５３は、全ての分解（解像度）レベルで現在のブロックＢiの分解から生じるブロックＬＨi,L、ＨＬi,L、ＨＨi,Lを受け取り、それらをメモリに格納する。ブロックは分析の向きによって１つにまとめられて、モジュール２６によって処理できるブロックのサイズに対応するサイズ３２×３２のグループ・ブロックを形成する。
【０１０１】
このために、選択された例では、メモリ２５３は、各分解（解像度）レベルについて、１６ビットで表現される標本３２×３２個をそれぞれに含む３つのグループ・ブロックを格納する容量を持つ。第１の分解（解像度）レベルの場合、これらのブロックのうちの１つは、ブロックＬＨi,1を含み、これらのブロックのうち別の１つはブロックＨＬi,1を含み、最後のブロックはブロックＨＨi,1を含む。第２の分解（解像度）レベルの場合、これらのブロックのうちの１つ自体が４つのブロックＬＨi,2を持ち、これらのブロックのうち別の１つが４つのブロックＨＬi,2を持ち、最後のブロックが４つのブロックＨＨi,2を持つ。第３の分解（解像度）レベルの場合、これらのブロックのうちの１つ自体が１６個のブロックＬＨi,3を持ち、これらのブロックのうちの別の１つが１６個のブロックＨＬi,3を持ち、最後のブロックが１６個のブロックＨＨi,3を持つ。最後に第４の分解（解像度）レベルでは、これらのブロックのうち、１つ自体が６４個のブロックＬＨi,4を持ち、これらのブロックのうち、別の１つが６４個のブロックＨＬi,4を持ち、最後のブロックが６４個のブロックＨＨi,4を持つ。
【０１０２】
メモリ２５４は、最後の分解（解像度）レベルの、現在のブロックＢiの分解から生じるブロックＬＬi,4を受け取り、それをメモリに格納する。メモリ２５４は、モジュール２６の機能に互換可能なサイズを持つブロックを形成するために必要なだけ多くのブロックＬＬi,4を格納する。このために、選択された例では、メモリ２５４は、１６ビットで表される標本３２×３２個を持つ少なくとも１つのブロックを格納する容量を持つ。
【０１０３】
変形例として、メモリ２５４はブロックＬＬi,4を格納して、より高い解像度レベルのグループ・ブロックのサイズより小さいサイズのブロックを形成することができる。
【０１０４】
出力として、マルチプレクサ２５２はアドレス・ジェネレータ２５１から制御信号を受け取り、それをモジュール２６に転送するために、サイズ３２×３２の４つのブロックの１つを選択する。後者は、それが受け取ったデータの量子化及びエントロピ符号化を実行する。
【０１０５】
図１２は、上述の通り図４に示した装置で実現される、本発明に係るデジタル信号符号化方法を示す。この方法は、ステップＥ１〜Ｅ１８を含むアルゴリズムの形で示される。この方法は、画像の４つの分解（解像度）レベルのフィルタリング、及びフィルタリングされたデータの量子化及びエントロピ符号化を実行する。
【０１０６】
ステップＥ１は初期化であり、処理される画像の第１ブロックを考慮するために、作業パラメータｉが１に初期化される。ブロックは所定の順序で変換される。
【０１０７】
次のステップＥ２では、分解の第１の解像度レベルを考慮するために、作業パラメータＬが１に初期化される。パラメータＬは現在の解像度レベルを表す。
【０１０８】
次のステップＥ３では、現在の解像度レベルが第１のレベルであるかどうかを決定するための試験である。応答が肯定である場合には、ステップＥ３の後にステップＥ４が続き、ランクｉのブロックＢiが画像メモリ２１０に読み込まれ、次いでフィルタリングされて、第１の解像度レベルでサブバンドＬＬi,1、ＬＨi,1、ＨＬi,1、ＨＨi,1の４つのブロックを形成する。ブロックＬＬi,1、ＨＬi,1、ＨＨi,1はモジュール２５のバッファ２５３に格納され、ブロックＬＬi,1は、前述の通り、モジュール２４のバッファ２４０に格納される。
【０１０９】
ステップＥ３で応答が否定である場合には、このステップの後にステップＥ５が続く。このステップは、ブロックがバッファ２４０に読み込まれること以外は、ステップＥ４と同様である。ブロックの読取りは、現在のレベルのすぐ上の解像度レベルに属する。最後の分解（解像度）レベルでは、ブロックＬＬi,4はモジュール２５のメモリ２５４に格納される。
【０１１０】
ステップＥ４及びＥ５の後には両方ともステップＥ７が続き、次の解像度レベルを考慮するために、パラメータＬが１単位だけ増分される。
【０１１１】
ステップＥ７の後にはステップＥ８が続く。これは、パラメータＬが厳密に４より大きいかどうかを決定する試験である。応答が否定である場合には、ステップＥ８の後にステップＥ３が続く。
【０１１２】
このループ処理は、希望する全ての解像度レベル、ここでは４つのレベルにおけるブロックＢiのフィルタリングを可能にする。
【０１１３】
ステップＥ８で応答が肯定である場合には、これは、現在のブロックが全ての解像度レベルで分解されたことを意味する。その場合、ステップＥ８の後にステップＥ９が続き、第１の分解（解像度）レベルで得られたブロックＬＨi,1、ＨＬi,1、ＨＨi,1が量子化され、次いでエントロピ符号化される。これらのブロックは、モジュール２６に必要なサイズを持つ。これらの操作は従来通りであり、ここでは説明しない。
【０１１４】
ステップＥ９の後にステップＥ１０が続く。これは、メモリ２５３が、第２の解像度レベルで得られるブロックＬＨi,2、ＨＬi,2、ＨＨi,2をそれぞれ含む３２×３２のサイズの完全なブロックＬＨ２、ＨＬ２、ＨＨ２を含むかどうかを決定する試験である。完全なブロックとは、そのサイズが、モジュール２６によって処理されるこのブロックに適していることを意味する。
【０１１５】
応答が否定である場合には、このステップの後に原画像の次のブロックを考慮するために、ステップＥ１７が続く。ステップＥ１７の後には、上述したステップＥ２が続く。
【０１１６】
ステップＥ１０で応答が肯定である場合には、このステップの後にステップＥ１１が続き、前の完全なブロックが量子化され、次いでエントロピ符号化される。
【０１１７】
ステップＥ１１の後にはステップＥ１２が続く。これは、メモリ２５３が、第３の解像度レベルで得られたブロックＬＨi,3、ＨＬi,3、ＨＨi,3をそれぞれ含む３２×３２のサイズの完全なブロックＬＨ３、ＨＬ３、ＨＨ３を含むかどうかを決定する試験である。
【０１１８】
応答が否定である場合には、このステップの後に、原画像の次のブロックを考慮するために、ステップＥ１７が続く。ステップＥ１７の後には、前述のステップＥ２が続く。
【０１１９】
ステップＥ１２の応答が肯定である場合には、このステップの後にステップＥ１３が続き、前の完全なブロックが量子化され、次いでエントロピ符号化される。
【０１２０】
ステップＥ１３の後にはステップＥ１２が続く。これは、メモリ２５３が、第４の解像度レベルで得られたブロックＬＨi,4、ＨＬi,4、ＨＨi,4をそれぞれ含む３２×３２のサイズの完全なブロックＬＨ４、ＨＬ４、ＨＨ４を含むかどうか、及びメモリ２５４が第４の解像度レベルで得られたブロックＬＬi,4を含む３２×３２のサイズの完全なブロックＬＬ４を含むかどうかを決定する試験である。
【０１２１】
応答が否定である場合には、このステップの後に、原画像の次のブロックを考慮するために、ステップＥ１７が続く。ステップＥ１７の後には、前述のステップＥ２が続く。
【０１２２】
ステップＥ１４で応答が肯定である場合には、このステップの後にステップＥ１５が続き、前の完全なブロックが量子化され、次いでエントロピ符号化される。
【０１２３】
もちろん、ステップＥ１０〜Ｅ１５などのステップの数は、選択する解像度レベルの数に依存する。
【０１２４】
ステップＥ１５の後にはステップＥ１６が続く。これは、符号化すべき全ての画像が処理されたかどうかを決定するための試験である。
【０１２５】
応答が否定である場合には、このステップの後にステップＥ１７が続き、画像における次のブロックを考慮するために、パラメータｉが１単位だけ増分される。ステップＥ１７の後には、前述のステップＥ２が続く。
【０１２６】
ステップＥ１６で応答が肯定である場合、このステップの後にステップＥ１８が続き、バッファは空にされ、そこに含まれたデータは量子化され符号化される。次いで画像の符号化は終了する。
【０１２７】
当然ながら、本発明は、記述及び描写された実施形態に限られるものでは決してなく、むしろ反対に当業者の能力内で任意の変形例を包含するものである。
【０１２８】
【発明の効果】
本発明によれば、処理されるデータのバッファ空間占有量を最小にする、デジタル信号変換方法及び装置を提供することができる。
【図面の簡単な説明】
【図１】本発明に係るデータ処理装置を示す図である。
【図２】本発明に係るデータ処理装置の一実施形態を示す図である。
【図３】本発明に係るデータ処理装置の一実施形態を示す図である。
【図４】図２の装置に含まれる、本発明に係る符号化回路の一実施形態を示す図である。
【図５】図４の符号化回路に含まれるメモリ・モジュールを示す図である。
【図６】本発明に従って符号化される画像の一部分を示す図である。
【図７】図４の符号化回路に含まれる垂直フィルタリング・モジュールを示す図である。
【図８】図４の符号化回路に含まれる水平フィルタリング・モジュールを示す図である。
【図９】図４の符号化回路に含まれるバッファ・モジュールを示す図である。
【図１０】図８のバッファ・モジュールに格納されるデータを示す図である。
【図１１】図４の符号化回路に含まれるバッファ・モジュールを示す図である。
【図１２】本発明に係るデータ符号化アルゴリズムを示す図である。
【符号の説明】
１０  マイクロコンピュータ
１００  中央処理装置
１０１  通信バス
１０２  読取り専用メモリ
１０３  ランダム・アクセス・メモリ
１０４  専用回路
１０５  入出力回路
【図１】
0004536868.tif 000002
【図２】
0004536868.tif 000003
【図３】
0004536868.tif 000004
【図４】
0004536868.tif 000005
【図５】
0004536868.tif 000006
【図６】
0004536868.tif 000007
【図７】
0004536868.tif 000008
【図８】
0004536868.tif 000009
【図９】
0004536868.tif 000010
【図１０】
0004536868.tif 000011
【図１１】
0004536868.tif 000012
【図１２】
0004536868.tif 000013