(57)【特許請求の範囲】
【請求項１】
ウェーブレット変換による周波数帯信号の符号化又はその符号化データの復号化のための符号化復号化部と、それぞれが独立した記憶要素からなる記憶部と、該記憶部への書き込みデータの一部を一時的に保存するためのラインメモリと、該記憶部に対する行方向へのアクセスを制御するための行方向アドレスデコード／データ選択部と、該記憶部に対する列方向へのアクセスを制御するための列方向アドレスデコード／データ選択部と、該行方向アドレスデコード／データ選択部を介して入力されるデータに対しウェーブレット変換又は逆ウェーブレット変換の水平処理を施すための行方向フィルタ部と、該列方向アドレスデコード／データ選択部を介し入力されるデータに対しウェーブレット変換又は逆ウェーブレット変換の垂直処理を施すための列方向フィルタ部と、該行方向アドレスデコード／データ選択部及び該列方向アドレスデコード／データ選択部を介して該記憶部に対するデータの書き込み及び読み出しと該行方向フィルタ部及び該列方向フィルタ部に対するデータの入出力を制御し、該符号化復号化部に対するデータの入出力、該ラインメモリに対するデータの書き込み及び読み出し、並びに外部メモリに対するデータの書き込み及び読み出しを制御する主制御部とを具備し、該記憶部が、ウェーブレット変換処理又は逆ウェーブレット変換処理のためのバッファ領域及び符号化処理又は復号化処理のためのバッファ領域として共用されることを特徴とする符号化復号化装置。
【請求項２】
請求項１記載の符号化復号化装置において、該外部メモリからのデータ入力と並行してウェーブレット変換の水平処理が実行されることを特徴とする符号化復号化装置。
【請求項３】
請求項１又は２記載の符号化復号化装置において、該ラインメモリに書き込まれるデータが処理の中間データであることを特徴とする符号化復号化装置。
【請求項４】
請求項１又は２記載の符号化復号化装置において、該記憶部のオーバーラップ領域に処理の中間データが書き込まれることを特徴とする符号化復号化装置。
【請求項５】
請求項１乃至４のいずれか１項に記載の符号化復号化装置において、該記憶部が、要求される最大レベルまでの全レベルのウェーブレット変換の処理を内部で連続して実行するために必要な記憶容量を持つことを特徴とする符号化復号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データなどの圧縮／伸長のための符号化復号化装置に係り、特に、ウェーブレット変換を利用する符号化復号化装置に関する。
【０００２】
【従来の技術】
データ圧縮は、大量のデータの蓄積や伝送のために非常に有用なツールである。例えば、文書のファクシミリ伝送、ワールドワイドウェブのような画像の伝送に要する時間は、圧縮を使って画像の再生に必要とされるビット数を減らすと、飛躍的に短縮される。
【０００３】
従来より、多くの様々なデータ圧縮手法が存在している。最も広く普及している圧縮方式としてＪＰＥＧ（Joint Photographic Experts Group）がある。ＪＰＥＧにおいては、入力シンボル又は輝度データは量子化されてから出力符号語へ変換される。量子化は、データの重要な情報を保存する一方、重要でない情報を除去することを目的としている。量子化に先立ちエネルギー集中をするために変換が用いられるが、ＪＰＥＧでは、この変換としてＤＣＴ（Discrete Cosine
Transform）が用いられる。ところが、ＤＣＴを用いるＪＰＥＧに対し様々な欠点が指摘されている。例えば、ブロックノイズやモスキートノイズ（蚊が飛んでいるように見えるところから、そのように呼ばれる）である。画像信号処理において、それらの欠点を解消できる、効率的かつ高精度のデータ圧縮符号化方式を追求することに関心が集中している。そのような方式の一つが、ウェーブレット（wavelet）ピラミッド処理方式である。
【０００４】
画像データのような２次元信号にウェーブレット変換を適用する場合には、入力信号を、水平方向低域通過型フィルタＨＬ（Horizontal Low）及び水平方向高域通過型フィルタＨＨ（Horizontal High）を使用して水平方向低域信号（Ｓ(smooth)係数）及び水平方向高域信号（Ｄ(detail）係数）に分離し、さらにＳ係数及びＤ係数に対して垂直方向低域通過型フィルタＶＬ（Vertical Low）及び垂直方向高域通過型フィルタＶＨ（Vertical High）をそれぞれ使用して水平方向低域−垂直方向低域信号（ＳＳ係数）、水平方向低域−垂直方向高域信号（ＳＤ係数）、水平方向高域−垂直方向低域信号（ＤＳ係数）、及び水平方向高域−垂直方向高域信号（ＤＤ係数）に分離する。以上の一連の処理をレベルと呼び、１回の水平処理と垂直処理を行った出力をレベル１の出力と呼ぶ。さらに、以上の４種類の信号を周波数帯信号と呼ぶ。レベル２以上の出力を希望するときは、この処理がＳＳ係数に対して再帰的に行われる。レベル２の出力では、ＳＳ係数と、１ＳＤ係数及び２ＳＤ係数、１ＤＳ係数及び２ＤＳ係数、１ＤＤ係数及び２ＤＤ係数、の７つの周波数帯信号が得られる。以上の説明では、まず水平方向にフィルタを適用し、次に垂直方向にフィルタを適用したが、その順序は逆でもよい。
【０００５】
以上の過程を経て得られた各周波数帯信号が符号化部で符号化される。符号化は、周波数帯信号毎にビット単位で行われる。ある周波数帯信号の、一番最初の画素の最上位ビット（ＭＳＢ）が処理の対象となる。この画素自身の状態と、周辺の画素の状態及び１つ上のレベルの状態が参照され、出力が決定される。次に２番目の画素のＭＳＢが処理の対象となるのであるが、この際は一番最初に処理された画素の状態も参照される。以下、符号化されるべき領域に対して一連の処理が終了すると、一番最初の画素のＭＳＢの次位のビット（ＭＳＢ−１）が処理の対象となる。この際は、同じビット深さの周辺画素の状態に加えＭＳＢの状態も参照される。このようにして、符号化されるべき状態に対し最下位ビット（ＬＳＢ）まで符号化が行われる。符号化データに対する復号化も、ほぼ同じ手順を経て行われる。
【０００６】
図１４に、レベル４までの処理を行う場合の従来の構成を示した。図中、１０００はウェーブレット変換部、１００１はインターフェース、１００２はフレームメモリ、１００３は符号化復号化部である。
【０００７】
ウェーブレット変換部１０００において、filter１Ｈ，filter２Ｈ，filter３Ｈ，filter４Ｈは、水平方向低域通過型フィルタＨＬ及び水平方向高域通過型フィルタＨＨを含む水平方向フィルタである。これらのフィルタ名中の数字１〜４はレベルを表し、Ｈは水平方向フィルタであることを意味する。同様に、filter１Ｖ１とfilter１Ｖ２、filter２Ｖ１とfilter２Ｖ２、filter３Ｖ１とfilter３Ｖ２、filter４Ｖ１とfilter４Ｖ２は、垂直方向低域通過型フィルタＶＬ及び垂直方向高域通過型フィルタＶＨを含む垂直方向フィルタである。これらのフィルタ名中のＶは垂直方向フィルタであることを意味し、Ｖの前の数字１〜４はレベルを表し、Ｖの後の数字１は水平方向低域信号（Ｓ係数）を入力とするフィルタであることを示し、Ｖの後の数字２は水平方向高域信号（Ｄ係数）を入力とするフィルタであることを示す。以上のフィルタはどのような構成のものでもよいが、以下の説明では、水平方向低域通過型フィルタＨＬ及び垂直方向低域通過型フィルタＶＬとして、２組のデータを用いて演算を行う２タップのフィルタを使用するものとする。また、水平方向高域通過型フィルタＨＨ及び垂直方向高域通過型フィルタＶＨとして、低域通過形フィルタＨＬまたはＶＬの出力であるＳ係数又はＤ係数のうち、現在の位置と、１つ前及び１つ後の合計３組のデータを用いて演算を行う６タップのフィルタを使用するものとする。
【０００８】
符号化復号化部１００３は、図１５に示すように、処理部１０１０、記憶部１０１１、制御部１０１２から構成される。記憶部１０１１は、対象となる周波数帯信号を保持する記憶要素Ｂ１０１４、対象となる周波数帯信号に対する、１つ上のレベルの周波数帯信号を保持する記憶要素Ａ１０１３、及び、これら記憶要素に対するアドレス生成部１０１５から構成される。記憶要素Ａ１０１３と記憶要素Ｂ１０１４は、ｎビットの深さを持ち、高速処理が必要であればビット単位での読み出し又は書き込みが可能なような構成となっており、高速処理が必要でなければ、ワード単位で読み出しを行い、対象となるビットを書き込み、再びワード単位で書き込みが行われるような構成となっている。
【０００９】
前述のフィルタを用いた場合のウェーブレット変換部１０００での処理の例を図１６に示す。但し、この図におけるデータのマッピングは演算の方法を説明するためのものであり、実際のメモリへのマッピングは例えば図１８から図２１に示すようになることに注意されたい。
【００１０】
図１６の（ａ）は水平方向フィルタの処理を説明するもので、［００］は０ライン目の０画素目のデータを意味し、［１２］は１ライン目の２画素目のデータを意味する（このようにライン、画素とも０番目から数えるものとする）。水平方向低域通過型フィルタＨＬの０画素目の出力［Ｓ００］は、データ［００］及びデータ［０１］から求められ、また、１画素目の出力［Ｓ０１］はデータ［０２］及びデータ［０３］から求められる。これに対し、水平方向高域通過型フィルタＨＨの０画素目の出力［Ｄ００］は、データ［００］の２つ前及び１つ前のデータ（実在しない）と、データ［００］と、データ［０１］と、データ［０２］と、データ［０３］とから求められる。ここで、実在しないデータ［００］の２つ前と１つ前のデータを得るため、ミラーと呼ばれる処理を施す。具体的には、データを鏡像関係で折り返す処理を行う。これにより、２つ前と１つ前のデータはデータ［０１］とデータ［００］となる。このようにして、［Ｄ００］は６画素のデータから計算される。
【００１１】
図１６の（ｂ）は垂直方向フィルタの処理を説明している。この処理は、水平方向フィルタ処理によるＳ係数及びＤ係数を用いて垂直方向に行われる。実在しない係数は、水平方向フィルタの処理の場合と同様にミラー処理が施される。
【００１２】
図１７はフレームメモリ１００２にラスタ順に格納されたイメージデータを示す。図１８乃至図２１に、ウェーブレット処理のレベル２までの演算結果の格納方法を例示する。ウェーブレット変換部１０００は、最初に、図１７に示すように格納されたイメージデータをフレームメモリ１００２から読み出して水平処理を行い、その結果を再びフレームメモリ１００２に書き込む。この書き込みの際に、未処理のデータに上書きしてしまわないように、図１８に示すようなマッピングでＳ係数及びＤ係数を書き込んでいく。図１８において、［１Ｓ００］はレベル１のアドレス００のＳ係数を意味する。図１９垂直処理を行った後の各係数を書き込む際のマッピングの例を示す。ここまでがレベル１の各係数の格納方法である。図２０はレベル２の水平方向の各係数の格納方法の例を示す。レベル２の処理は１ＳＳ係数に対してのみ行われるため、網掛けされた部分のデータは用いられないことに注意されたい。ついで、図２１に示すようなマッピングで、レベル２の各係数が格納され、レベル２の処理が終了する。以上の処理がレベル４まで繰り返される。
【００１３】
図２２は、図１４に示す構成でのタイミングチャートである。ただし、このタイミングチャートは処理手順の説明のために用いるものであり、横軸（時間軸）のスケールはリニアでないことに注意されたい。また、以下の説明では、画素数もしくはライン数を０画素目もしくは０ライン目、というように０から数える。入力されるイメージデータ（ラスタデータ）は３２画素×３２ライン（０画素目から３１画素まで、０ライン目から３１ライン目）であり、１つのデータの区切り（×＝×）が１ラインに相当するものとする。
【００１４】
時刻ｔ０から、０ライン目のデータが０画素目から順次入力され、１画素目が入力されるとfilter１Ｈより０画素目のデータ［１Ｓ００］が出力される。ついでデータ［１Ｓ０１］が出力されると、Ｄ係数の計算に必要となる３組のＳ係数（［１Ｓ００］，［１Ｓ００］，［１Ｓ０１］）が揃い（１つ前のデータはミラー処理により得られる）、Ｄ係数［１Ｄ００］が出力される。これが１ライン分、繰り返される。なお、タイミングチャート上では１ラインの時間単位で示されているが、拡大すれば画素単位でのずれが生じていることに注意されたい。
【００１５】
時刻ｔ１から１ライン目のデータの入力が始まり、filter１Ｈより［１Ｓ１０］、［１Ｄ１０］、とＳ係数及びＤ係数が順次出力される。［１Ｓ１０］が出力された時点で垂直方向フィルタのfilter１Ｖ１より［１ＳＳ００］が、filter１Ｖ２より［１ＤＳ００］が出力される。次に、［１Ｓ１１］が出力された時点でfilter１Ｖ１及びfilter１Ｖ２においてＤ係数の計算に必要な３組のデータが揃う。すなわち、filter１Ｖ１においては［１Ｓ１０］，［１Ｓ１０］，［１Ｓ１１］、filter１Ｖ２においては［１Ｄ１０］，［１Ｄ１０］，［１Ｄ１１］が揃い（１つ前のデータはミラー処理により得られる）、レベル１の出力データ［１ＳＳ００］，［１ＳＤ００］，［１ＤＳ００］，［１ＤＤ００］が得られる。これが１ライン分繰り返される。
【００１６】
時刻ｔ２で、２Ｖの１ライン目の入力が開始されて２Ｖの処理が始まる。以下、同様のタイミング関係で時刻ｔ９まで処理が繰り返され、レベル４までの各周波数帯信号が出力される。これら各データはフレームメモリ１００２に書き込まれる。
【００１７】
フレームメモリ１００２に書き込まれた各周波数帯信号は、符号化復号化部１００３によって符号化される。符号化復号化部１００３では、画像信号の隣接画素の相関、特に同一ビットプレーン内での相関が高いという特性を活かして圧縮率を上げている。このため、符号化の際には、あるまとまった領域のデータをビット単位（ある画素のデータの、任意の１ビット）のデータを扱う必要がある。画像データのサイズは通常、非常に大きい（数ＭＢに及ぶ場合がある）ので、ウェーブレット処理終了後のデータは一旦フレームメモリ１００２に書き込む必要がある。ところが、フレームメモリ１００２ではビット単位での読み出し又は書き込みは不可能である。そこで、符号化復号化部１００３は、内部に用意されたビット単位での処理が可能な記憶要素１０１３，１０１４にフレームメモリ１００２からデータをロードして符号化処理を行い、符号化データｃｏｄｅを出力する。復号化は以上に述べた動作のほぼ逆順の動作で行われる。
【００１８】
次に、ウェーブレット変換のための処理時間について説明する。ここでは、ウェーブレット変換部１０００により生成される各周波数帯信号のストレージ、すなわち図１４中のフレームメモリ１００２として、一般的な半導体メモリが用いられるものとする。
【００１９】
図２２のタイミングチャートを用いて説明したように、各周波数帯信号は同時刻にパラレルに出力されるため、外部メモリへの書き込みもパラレルに行われなければならないが、通常用いられる半導体メモリでは１時刻に読み出しまたは書き込みをすることができるのは１データだけである。図２２の左下のｒａｎｇｅは、時刻ｔ０からｔ９に対応する、１Ｈ，１Ｖ，．．．，４Ｖの各処理が占める処理時間の範囲を←→で示したものである。ｒａｎｇｅの下のｒ／ｗ cyclesは、ｒａｎｇｅ内（←→）の範囲での書き込み／読み出しの合計数であるが、異なるレベルが同時に処理されている範囲での回数は、それら各レベルに関する回数の合計で示されている。図２２の右側に示した数値は、各レベルの水平処理もしくは垂直処理に要するメモリアクセスの回数（書き込みと読み出しの合計数）である。この数値はウェーブレット逆変換時も同じである。さて、メモリアクセスの回数についてであるが、各レベルにおいて、水平処理、垂直処理のいずれも必ず全データが１回読み出され、全データがフィルタ出力データで書き換えられるから、全画素数の２倍の書き込み／書き込み回数が必要となる。
【００２０】
以上に述べたような、本発明に関連する符号化復号化装置と、ウェーブレット変換装置あるいはウェーブレット変換フィルタに関する、より詳細な情報は、特開平８−１３９９３５号公報などを参照されたい。また、符号化部については、特開平９−１２１１６８号公報などを参照されたい。さらに、類似のウェーブレット変換不に関する従来技術については、特開平３−２７６８７号公報、特開平５−１６７９９７号公報、あるいは特開平５−１８３３８６号公報などを参照されたい。
【００２１】
【発明が解決しようとする課題】
前述のように、ウェーブレット変換の出力はストレージに一旦貯える必要があり、データを単に入力するのに要する時間に比べ数倍の処理時間がかかるという問題があった。前述の従来技術の場合、入力されるイメージデータのサイズを３２画素×３２ライン、レベル数を４とした場合、イメージデータの入力に必要なサイクル数が１０２４＝３２×３２であるのに対し、必要な処理時間は５倍以上の５４４０サイクルとなる。入力データのサイズが増加すれば、処理時間はさらに大幅に増大することは明かである。例えば、６４画素×６４ラインの場合は、図２２に点線で示すように、１Ｈの処理が時刻ｔ１０まで行われる結果、パラレルに出力される区間が増加するため、処理時間は大幅に増大する。レベル数が増えた場合も同様に処理時間が大幅に増大する。
【００２２】
また、各レベルの各周波数帯信号が同じ時刻に出力されるので、パイプライン処理が必要であった。すなわち、フィルタ毎にデータが入力されるタイミングが異なっているため、各フィルタに、それが使用される場所に応じ個別的に設計したコントローラを内蔵させる必要があった。また、これらのコントローラはただ一つの条件の画素数とレベルの組合せにしか対応させることができず、画素数またはレベルの一方又は両方が変更された場合に対応が困難であるという問題があった。
【００２３】
また、ウェーブレット変換部にその処理のための記憶部を、符号化復号化部にその処理のための記憶部を、それぞれ別々に備えているため、符号化復号化装置をワンチップ化する場合、記憶部の占めるチップ面積が大きくなってしまうという問題があった。
【００２４】
本発明は、前述の問題点に鑑みなされたものであり、その主たる目的は、パイプライン処理を必要とせずに高速処理の可能な符号化復号化装置を提供することにある。本発明のもう一つの目的は、記憶部の占めるチップ面積が少なくてすむ高速処理が可能な符号化復号化装置を提供することにある。
【００２６】
【課題を解決するための手段】
請求項１の符号化復号化装置は、ウェーブレット変換による周波数帯信号の符号化又はその符号化データの復号化のための符号化復号化部と、それぞれが独立した記憶要素からなる記憶部と、該記憶部への書き込みデータの一部を一時的に保存するためのラインメモリと、該記憶部に対する行方向へのアクセスを制御するための行方向アドレスデコード／データ選択部と、該記憶部に対する列方向へのアクセスを制御するための列方向アドレスデコード／データ選択部と、該行方向アドレスデコード／データ選択部を介して入力されるデータに対しウェーブレット変換又は逆ウェーブレット変換の水平処理を施すための行方向フィルタ部と、該列方向アドレスデコード／データ選択部を介し入力されるデータに対しウェーブレット変換又は逆ウェーブレット変換の垂直処理を施すための列方向フィルタ部と、該行方向アドレスデコード／データ選択部及び該列方向アドレスデコード／データ選択部を介して該記憶部に対するデータの書き込み及び読み出しと該行方向フィルタ部及び該列方向フィルタ部に対するデータの入出力を制御し、該符号化復号化部に対するデータの入出力、該ラインメモリに対するデータの書き込み及び読み出し、並びに外部メモリに対するデータの書き込み及び読み出しとを制御する主制御部とを具備し、該記憶部が、ウェーブレット変換処理又は逆ウェーブレット変換処理のためのバッファ領域及び符号化処理又は復号化処理のためのバッファ領域として共用される構成とされる。
【００２７】
請求項２の符号化復号化装置の特徴は、請求項１の符号化復号化装置の構成において、該外部メモリからのデータ入力と並行してウェーブレット変換の水平処理が実行されることである。
【００２８】
請求項３の符号化復号化装置の特徴は、請求項１又は２の符号化復号化装置の構成において、該ラインメモリに書き込まれるデータが処理の中間データであることである。
【００２９】
請求項４の符号化復号化装置の特徴は、請求項１又は２の符号化復号化装置の構成において、該記憶部のオーバーラップ領域に処理の中間データが書き込まれることである。
【００３０】
請求項５の符号化復号化装置の特徴は、請求項１乃至４の各項の符号化復号化装置の構成において、該記憶部が、要求される最大レベルまでの全レベルのウェーブレット変換の処理を内部で連続して実行するために必要な記憶容量を持つことである。
【００３１】
【発明の実施の形態】
図１は、本発明の第１の実施例を示すブロック図である。本実施例の符号化復号化装置は、主制御部１００、ウエーブレット変換又は逆ウェーブレット変換のためのウェーブレット変換部１０１、ウェーブレット変換による周波数帯信号の符号化又はその符号化データの復号化のための符号化復号化部１０９、記憶部１０２、ラインメモリ１０４、行方向制御部１０６及び列方向制御部１０８からなる。１１０は本符号化復号化装置と接続される外部のフレームメモリである。行方向制御部１０６は記憶部１０２に対する行方向（ｘ方向）へのアクセスを制御し、列方向制御部１０８は記憶部１０２に対する列方向（ｙ方向）へのアクセスを制御するものである。主制御部１００は、行方向制御部１０６及び列方向制御部１０８を介し記憶部１０２に対するデータの書き込み及び読み出しを制御し、ラインメモリ１０４に対するデータの書き込み及び読み出しを制御し、フレームメモリ１１０に対するデータの書き込み及び読み出しを制御し、また、ウェーブレット変換部１０１及び符号化復号化部１０９に対するデータの入力及び出力を制御する。
【００３２】
記憶部１０２は、ウェーブレット変換部１０１及び符号化復号化部１０９の処理のためのバッファ領域として共用されるものである。したがって、ウェーブレット変換部１０１及び符号化復号化部１０９の内部には、従来のような記憶部を設ける必要はない。本実施例においては、記憶部１０２は、行方向（ｘ方向）及び列方向（ｙ方向）へのデータシフトが可能なシフトレジスタからなるものである。ここでは、記憶部１０２の大きさは２０行×２０列（２０画素×２０ライン）であるとする。図２に、記憶部１０２の記憶セルの構成を示す。各記憶セルはｎビットのビット深さを有する。
【００３３】
以下、図１、図２、図３乃至図８を参照し、本実施例について詳細に説明する。なお、図３は記憶部１０２に対するデータの書き込み方の一例を示し、図４は記憶部１０２における水平処理後のデータの書き込み方の一例を示す。図５はフレームメモリ１１０に対する記憶部１０２及びラインメモリ１０４の割り当て方（タイリング）の一例を示し、図６は記憶部１０２及びラインメモリ１０４に関係したデータの移動や複写などを説明するための図である。図７は、レベル２まで終了した時点の記憶部１０２におけるマッピングの一例を示す図である。図８は、１ブロックに対するレベル２までの変換処理動作のタイミングチャートである。なお、各図の内容は例示であって、本発明の主旨から逸脱しない限り、さまざまな形態をとり得ることに注意されたい。
【００３４】
図２において、点線で囲んだ各部分が記憶部１０２の１つの記憶セルを表す。図示のように、記憶部１０２の各記憶セルは、ｎビットのビット深さを有するシフトレジスタＳＲとマルチプレクサＭＵＸからなる。各記憶セルのシフトレジスタＳＲのデータ入力には、マルチプレクサＭＵＸを介して、行方向の前段（右側）の記憶セルの出力データ又は列方向の前段（下側）の記憶セルの出力データが入力される。この入力データの切り替え、すなわち行方向へのデータシフトか列方向のデータシフトかの切り替えは、マルチプレクサＭＵＸへの制御入力ｈｖｂ（horizontal/vertical bar）によって制御される。ここまでの説明から明らかなように、行方向（ｘ方向）のデータシフトは右から左への向きに、列方向（ｙ方向）のデータシフトは下から上への向きに、それぞれ行われることになる。
【００３５】
ウェーブレット変換を行う場合、まず、フレームメモリ１１０に記憶されているイメージデータの０ライン目のデータが主制御部１００の制御によって読み出され、これが行方向制御部１０６を介して記憶部１０２の一番下の第ｊ行（図４参照）の最前段（右端）に入力され左方向へ順次シフトされる。ただし、０画素目と１画素目に対してはミラー処理が必要となるため、記憶部１０２にも最初からその順で書き込まれる。図３中の網掛け部分は、ミラー処理された画素のデータを示す。このようにして図３（ｂ）に示すように０ライン目のデータが全て書き込まれると、このデータは一つ上の行へシフトされる。次に、１ライン目のデータが同様にフレームメモリ１００から読み出され、行方向制御部１０６により記憶部１０２の一番下の行に入力され順次左へシフトされる。また、データ入力と並行してウェーブレット変換部１０１により水平処理が実行され、０ライン目のデータに対して計算されたＳ係数、Ｄ係数が、行方向制御部１０６を介し、記憶部１０２の０ライン目データが書き込まれている行に入力され順次左へシフトされる。図３（ｃ）は、このような０ライン目の水平処理と１ライン目のデータの入力処理の途中の状態を示す。同様のイメージデータの入力と水平処理が並行して繰り返し実行されることにより、最終的に、水平処理の結果が記憶部１０２に図４に示すようにマッピングされる。なお、ラインメモリ１０４に対するデータの書き込み又は読み出しも行われるが、これについては後述する。
【００３６】
図４において、記憶部１０２の第０行と第１行には、第３行と第２行と同じデータが書き込まれていることに注意されたい。これは垂直方向のミラー処理であり、具体的には、第ｊ行まで処理が終わった段階で、行方向制御部１０６の制御により第３行のデータが第０行に書き込まれ、また第２行のデータが第１行に書き込まれる。また、各行の第ｉ列と第ｊ列には第ｇ列と第ｈ列と同じデータが書き込まれていることに注意されたい。これは、水平処理の過程で行方向制御部１０６の制御によって行われるが、その理由については後述する。
【００３７】
さて、図４のようにマッピングされた記憶部１０２上のＳ係数、Ｄ係数に対して、垂直処理が施される。ただし、第０列と第１列は処理の対象外であることに注意されたい。垂直処理の場合、列方向制御部１０８の制御により、第２列のデータが列方向（上向き）へ順次シフトされ、シフトアウトされたデータが主制御部１００を経由してウェーブレット変換部１０１へ入力されてＳＳ係数、ＳＤ係数が計算され、それら係数が列方向制御部１０８の制御により記憶部１０２の第２列に順次入力されシフトされていく。第３列のデータも同様に列方向にシフトされ、シフトアウトされたデータがウェーブレット変換部１０１に入力されてＤＳ係数、ＤＤ係数が計算され、これが第３列に入力されシフトされる。同様の処理が第ｈ列まで繰り返されることにより、レベル１のウェーブレット変換が終わる。
【００３８】
レベル２のウェーブレット変換は、記憶部１０２上のレベル１のＳＳ係数（１ＳＳ）のみを対象として行われる。すなわち、行方向制御部１０６の制御により各行のデータが行方向にシフトされ、シフトアウトされた１ＳＳ係数がウェーブレット変換部１０１へ送られて２Ｓ係数，２Ｄ係数が計算され、この係数は、シフトアウトされたレベル１のデータ（１ＳＤ係数、１ＤＳ係数、１ＤＤ係数）とともに、図２０に示したようなマッピングとなるような順番で当該行に入力され順次シフトされる。この繰り返しによりレベル２の水平処理が終わる。なお、第０行と第１行は処理の対象外である。また、各行の第ｉ列と第ｊ列のデータも処理の対象外である。次にレベル２の垂直処理が行われる。第２列から第ｇ列までの各列について、列方向制御部１０８の制御によりデータが列方向に順次シフトされ、シフトアウトされた２Ｓ係数又は２Ｄ係数がウェーブレット変換部１０１に入力されて２ＳＳ係数と２ＳＤ係数、又は、２ＤＳ係数と２ＤＤ係数が計算され、これら係数はシフトアウトされたデータとともに、図２１に示したようなマッピングとなるような順番で当該列に入力され順次シフトされる。この処理が繰り返され、レベル２の処理が終わる。かくして、レベル２までのウェーブレット変換の結果は記憶部１０２上に図７に示すようにマッピングされる。この１６画素×１６ラインのデータはフレームメモリ１１０へ書き出される。レベル３以上の変換を行う場合には、フレームメモリ１１０上のＳＳ３係数だけが記憶部１０２に読み込まれ、同様の処理が行われる。
【００３９】
図５は、フレームメモリ１１０のサイズが記憶部１０２のサイズより大きい場合のタイリング方法を示している。Ｂ００はブロック（水平０、垂直０）を意味する。ここでは、記憶部１０２のサイズは２０画素×２０ラインとしているので、図５中のｘ0は１５画素目、２ｘ0は３１画素目であり（０から数えている）、ｙ0は１５ライン目、２ｙ0は３１ライン目である（ｘ0＝ｙ0＝１５、０から数えている）。したがって、３２画素×３２ライン（０画素目から３１画素目まで、０ライン目から３１ライン目まで）のイメージを処理する場合、図示のようにＢ００，Ｂ０１，Ｂ１０，Ｂ１１の４つのブロックに分割して処理する必要がある（この図は従来技術との比較を行うための図である）。次に、図６を参照して、各ブロックの処理について説明する。
＜ブロックＢ００の処理：図６（ａ）＞
このブロックＢ００については、０画素目から１７画素目まで、０ライン目から１７ライン目までの１８画素×１８ラインのイメージデータが記憶部１０２に読み込まれる。図６（ａ）に示す▲１▼の部分はデータが実在しないので、そのデータはミラー処理によって補われる。下隣りのブロックＢ１０の処理で必要であるがブロックＢ００の変換データによって上書きされてしまう▲２▼の部分（図４の第ｇ行、第ｈ行に対応）のデータは、予めラインメモリ１０４にコピーされる。また、ブロックＢ００の変換データによって上書きされてしまう▲３▼の部分（図４の第ｇ列、第ｈ列に対応）のデータは、下隣りのブロックＢ０１の処理の際に使用できるようにするため記憶部１０２の右端（図４の第ｉ列と第ｊ列）に予めコピーされる。ブロックＢ００に対する変換が行われ、その変換データ（図７に示す１６画素×１６ラインのデータ）がフレームメモリ１１０の０画素目から１５画素目まで、０ライン目から１５ライン目までの領域に書き込まれる。次にブロックＢ０１が処理される。
＜ブロックＢ０１の処理：図６（ｂ）＞
このブロックＢ０１については、１６画素目から３３画素目まで、０ライン目から１７ライン目までの１８画素×１８ラインのイメージデータが記憶部１０２に読み込まれる。この際、記憶部１０２の右端にあった▲３▼の部分のデータは左端（図４の第０列、第１列）に移動させられる。データが存在しない▲１▼の部分のデータはミラー処理により補われる。下隣りのブロックＢ１１の処理で必要であるがブロックＢ０１の変換データで上書きされてしまう▲４▼の部分（図４の第ｇ行、第ｈ行に対応）のデータは、ラインメモリ１０４に予めコピーされる。ブロックＢ０１に対する変換データは、フレームメモリ１１０の１６画素目から３１画素目まで、０ライン目から１５ライン目までの領域に書き込まれる。ブロックＢ１０の処理に進む。
＜ブロックＢ１０：図６（ｃ）＞
このブロックＢ１０については、０画素目から１７画素目まで、１６ライン目から３３ライン目までのイメージデータが記憶部１０２に読み込まれる。データが存在しない▲１▼の部分のデータはミラー処理によって補われる。▲２▼の部分は上隣りのブロックＢ００の変換データで上書きされているので、ラインメモリ１０４にセーブされていた、その部分のデータが書き込まれる。▲６▼の部分のデータは右隣りのブロックＢ１１の処理で使用できるようにするため記憶部１０２の右端にコピーされる。ブロックＢ１０の変換データで上書きされる▲５▼の部分のデータは、ラインメモリ１０４にコピーされる。このブロックＢ１０の変換データはフレームメモリ１１０の０画素目から１５画素目まで、１６ライン目から３１ライン目までの領域に書き込まれる。次にブロックＢ１１の処理に進む。
＜ブロックＢ１１の処理：図６（ｄ）＞
フレームメモリ１１０の１６画素目から３３画素目まで、１６ライン目から３３ライン目までのイメージデータが記憶部１０２に書き込まれる。この際、記憶部１０２の右端にあった▲６▼の部分のデータは左端に移動させられる。▲４▼の部部にはラインメモリ１０４にセーブされていたデータが書き込まれる。▲７▼の部分のデータはラインメモリ１０４にコピーされる。このブロックＢ１１に対する変換データは、フレームメモリ１１０の１６画素目から３１画素目まで、１６ライン目から３１ライン目までの領域に書き込まれる。
【００４０】
図８は、上に述べた各ブロックに対し、レベル２までのウェーブレット変換を行う場合のタイミングチャートである。時刻ｔ０から時刻ｔ１までがフレームメモリ１１０から記憶部１０２へのデータの読み込みとレベル１の水平処理が行われる期間であり、時刻ｔ１から時刻ｔ４までが内部でレベル１の垂直処理からレベル２の垂直処理までが行われる期間であり、時刻ｔ４から時刻ｔ５までが変換データをフレームメモリ１１０に書き出す期間である。フレームメモリ１１０に対するデータの読み出しと書き込みのサイクル数は、それぞれ４００サイクル
（＝２０×２０）と２５６サイクル（＝１６×１６）である。フレームメモリ１１０のアクセスを伴わない内部動作はフレームメモリ・アクセスに比べ遥かに高速化できるが、ここでは内部動作をフレームメモリ・アクセスと同じ動作速度であると仮定して時刻ｔ１〜時刻ｔ４までの期間のサイクル数を計算すると８００サイクルとなる。したがって、時刻ｔ０から時刻ｔ５までの総サイクル数は１４５６サイクルとなる。
【００４１】
同じ処理がＢ００，Ｂ０１，Ｂ１０，Ｂ１１の４ブロックに対して繰り返され、レベル２の変換データが得られる。レベル４の変換データを得る場合には、Ｂ００〜Ｂ１１の４ブロックに含まれるＳＳ係数（２ＳＳ）を集め１つのブロックとして処理される。この処理では９画素、９ライン（０から数えて）となるので、サイクル数はブロックＢ００の処理の４分の１、すなわち３６４サイクルとなる。したがって、レベル４までのウェーブレット変換処理にかかる総時間は
（４００＋２５６＋８００）＊（４＋１／４）＝６１８８
となる。しかし、これは内部動作の速度をフレームメモリ・アクセスと同じと仮定した数値であって、実際には内部動作をフレームメモリ・アクセスに比べ数倍高速化することは容易であるから、総時間はさらに短縮可能である。例えば、内部動作の速度をフレームメモリ・アクセスの２倍と仮定すると、総時間は
（４００＋２５６＋８００／２）＊（４＋１／４）＝４４８８
サイクルまで減少する。内部動作の速度をフレームメモリ・アクセスの４倍と仮定すると、総時間は
（４００＋２５６＋８００／４）＊（４＋１／４）＝３６３８
サイクルまで減少する。このように、本発明によれば、従来技術において同様の処理を行う場合の総時間５４４０サイクルより、総時間を短縮できることは明かである。
【００４２】
以上のようして１フレームの全体（又は一部）のウェーブレット変換が終了すると、フレームメモリ１１０上の周波数帯信号データが主記憶部１００の制御により読み出され、行方向制御部１０６及び列方向制御部１０８を介して記憶部１０２に書き込まれる。そして、符号化復号化部１０９は、記憶部１０２上の周波数帯信号データに対する符号化処理を行い、符号化データｃｏｄｅを出力する。すなわち、この時には記憶部１０２は符号化処理のためのバッファ領域として利用され、符号化復号化部１０９と記憶部１０２との間のデータ入出力は主制御部１００と行，列方向制御部１０６，１０７によって制御される。
【００４３】
符号化について、より詳しく説明すれば、ＳＳ係数を除いた各レベルの各種類の周波数帯信号毎に、例えば、４ＤＳ，４ＳＤ，４ＤＤ，．．．毎に、ビットプレーン（同じビット深さの一の２次元のビット平面）単位で、そのＭＳＢ（最上位ビット）から下位ビットへと順に処理される。符号化の処理は、ビットプレーンの２（ｘ方向）×８（ｙ方向）画素の単位（これは２×８の大きさのデータが存在する場合。それより小さい場合は、その大きさの単位）で行われる。実際に処理されるのは上述の大きさの単位毎であるが、その周辺も参照するため、周辺を含めた領域のデータ、例えば４×１０画素のデータがフレームメモリ１１０から記憶部１０２に読み込まれる。さらに、同じ種類の１つ上のレベルの周波数帯信号が存在する場合場合は、それも参照されるので、同様にフレームメモリ１１０から読み込まれる。最上位のビットプレーンの処理が終了すると、１つ下位のビットプレーンが同様に処理される。これを繰り返すことにより、１つのレベルの１種類の周波数帯信号の処理が終了する。これが全レベルの全種類の周波数帯信号に対して行われ、符号化を終了する。
【００４４】
以上は符号化の場合の説明であったが、復号化は符号化と逆の手順によって行われる。すなわち、外部より入力する符号化データｃｏｄｅは符号化復号化部１０９によって復号化され、周波数帯信号データが記憶部１０２上に復元される。この時には、記憶部１０２が復号化処理のためのバッファ領域として使用されるわけである。復元された周波数帯信号データはフレームメモリ１１０に書き出される。
【００４５】
復号化をより詳しく説明すれば、符号化データｃｏｄｅから、あるレベルのある種類の周波数帯信号、例えば４ＤＤ係数が、ＭＳＢからビット単位で復号化され、ビットプレーンが再生される。復号化もビットプレーンの２（ｘ方向）×８（ｙ方向）画素の単位で（２×８の大きさのデータが存在する場合。それより小さい場合は、その大きさの単位で）行われる。同じ種類の１つ上のレベルの周波数帯信号が存在する場合は、それも参照される。当該ビットプレーンの処理が終了すると、１つ下位のビット深さのビットプレーンが処理される。同様の処理が全レベルの全種類の周波数帯信号に対して行われる。
【００４６】
このようにして、１フレーム全体（又は一部）の周波数帯信号データがフレームメモリ１１０上に復元されると、周波数帯信号データが１タイル分、記憶部１０２へ読み込まれ、ウェーブレット変換部１０１を利用して逆ウェーブレット変換処理が行われる。逆ウェーブレット変換処理はレベル４から行われ、また、各レベルの垂直処理、水平処理がこの順で行われる。最初にＳＳ係数と４ＳＤ，４ＤＳ，４ＤＤの各係数から３ＳＳ係数が再生され、これがＳＳ係数と４ＳＤ，４ＤＳ，４ＤＤの各係数に上書きされる。再生された３ＳＳ係数と３ＳＤ，３ＤＳ，３ＤＤの各係数から２ＳＳ係数が再生され、これが３ＳＳ，３ＳＤ，３ＤＳ，３ＤＤの各係数に上書きされる。同様にウェーブレット変換とは逆の手順が繰り返され、最終的にイメージデータが復元され、これがフレームメモリ１１０に書き出され、当該タイルの周波数帯信号データに上書きされる。
【００４７】
なお、外部のフレームメモリ１１０を除き、符号化復号化装置をワンチップ化する場合、記憶要素の占めるチップ面積の増加を押さえることが重要である。本実施例によれば、記憶部２０２をウェーブレット変換部１０１と符号化復号化部１０９のバッファ領域として共用するため、それぞれに別々の記憶部を用意する構成に比べ、記憶要素の占めるチップ面積を減らし、かつ、前述のように高速処理が可能となる。
【００４８】
図９は、本発明の第２の実施例を示すブロック図である。本実施例の符号化復号化装置は、主制御部２００、記憶部２０２、ラインメモリ２０４、ウェーブレット変換又は逆ウェーブレット変換の水平処理のための行方向フィルタ部２０６、垂直処理のための列方向フィルタ部２０７、行方向アドレスデコード／データ選択部２０８、列方向アドレスデコード／データ選択部２０９、及び、符号化復号化部２１１からなる。２１０は本符号化復号化装置に接続される外部のフレームメモリである。行方向アドレスデコード／データ選択部２０８は記憶部２０２に対する行方向へのアクセスを制御するものであり、列方向アドレスデコード／データ選択部２０９は記憶部２０２に対する列方向へのアクセスを制御するためのものである。主制御部２００は、行方向アドレスデコード／データ選択部２０８及び列方向アドレスデコード／データ選択部２０９を介し記憶部２００をアクセスし、記憶部２０２に対するデータの書き込み及び読み出しとフィルタ部２０６，２０７に対するデータの入出力を制御し、また、ラインメモリ２０４に対するデータの書き込み及び読み出し、符号化復号化部２１１に対するデータの入出力を制御し、さらに、フレームメモリ２１０に対するデータの書き込み及び読み出しを制御する。ラインメモリ２０４は、前記第１実施例におけるラインメモリ１０４と同じ目的に利用されるものである。図１０に、記憶部２０２中の１つの記憶セルを示す。各記憶セルはｎビットのビット深さを持つシフトレジスタＳＲとマルチプレクサＭＵＸから構成され、それぞれが互いに独立している。
【００４９】
本実施例の符号化復号化装置においては、前述の如く、ウェーブレット変換又は逆ウェーブレット変換のためのフィルタ部が、水平処理のための行方向フィルタ部２０６と垂直処理のための列方向フィルタ部２０７とに分離されている。水平処理時にはフィルタ演算に必要なデータが行方向アドレスデコード／データ選択部２０８を介して行方向フィルタ部２０６に入力され、その演算結果が行方向アドレスデコード／データ選択部２０８を介して記憶部２０２に書き込まれる。垂直処理時には、フィルタ演算に必要なデータが列方向アドレスデコード／データ選択部２０９を介して列方向フィルタ部２０７に入力され、その演算結果が列方向アドレスデコード／データ選択部２０９を介して記憶部２０２に書き込まれる。このようなフィルタ部に関連した構成を除けば、本実施例の符号化復号化装置の全体的な動作は基本的に前記第１実施例の場合と同様であり、ラインメモリ２０４の利用方法も同様である。
【００５０】
しかし、記憶部２０２は、その各記憶セルが図１０に示すように完全に独立しおり、主制御部２００から発行されるアドレスを行方向アドレスデコード／データ選択部２０６及び列方向アドレスデコード／データ選択部２０９でデコードすることにより、任意の記憶セルに対し直接的に書き込み／読み込みを行うことができる。したがって、フレームメモリ２１０から記憶部２０２へのデータ転送の終了直後、数サイクルで全ての行方向の処理（水平処理）を終了させることができ、また、水平処理の終了直後、数サイクルで列方向の処理（垂直処理）を終了させることができる。すなわち、前記第１実施例に比べ、内部処理の動作をはるかに高速化することができる。
【００５１】
図１１は、前記第１実施例の場合と同じタイリングにおける、本実施例の符号化復号化装置のウェーブレット変換処理のタイミングチャートである。図１１において、時刻ｔ０から時刻ｔ１までがフレームメモリ２１０からのデータ読み込みとレベル１の水平処理の期間であり、時刻ｔ１〜時刻ｔ４までが内部でのレベル１の垂直処理、レベル２の水平処理と垂直処理の期間である。時刻ｔ４から時刻ｔ５までがフレームメモリ２１０へのデータ書き出しの期間である。フレームメモリ２１０に対するデータの読み出しと書き込みはそれぞれ４００サイクルと２５６サイクルである。前述のように、内部処理の時刻ｔ１〜時刻ｔ４までの期間は、内部動作がフレームメモリ２１０へのアクセスに比べ高速であれば殆ど無視できるが、ここでは１００サイクルと仮定しサイクル数を計算すると、時刻ｔ０から時刻ｔ５までの総サイクル数は７５６サイクルとなる。この処理が４つのブロックＢ００，Ｂ０１，Ｂ１０，Ｂ１１（図５参照）に対し繰り返されてレベル２の変換データが得られる。レベル４の変換データを得る場合には、Ｂ００〜Ｂ１１の４ブロックに含まれるＳＳ係数（２ＳＳ）を集め１つのブロックとして処理される。この処理では９画素、９ライン（０から数えて）となるので、サイクル数はブロックＢ００の処理の４分の１、すなわち１８９サイクルとなる。したがって、レベル４までのウェーブレット変換処理にかかる総時間は
（４００＋２５６＋１００）＊（４＋１／４）＝３２１３
サイクルとなる。また、内部処理を５０サイクルと仮定すれば、総時間は
（４００＋２５６＋５０）＊（４＋１／４）＝３０００
サイクルまで減少する。
【００５２】
このように、本実施例によれば、ウェーブレット変換処理の総時間を従来技術での５４４０に比べ大幅に短縮できることは明かであり、さらに、前記第１実施例と比較しても更なる高速処理が可能であることが理解されよう。
【００５３】
符号化復号化部２１１による符号化処理と復号化処理は、前記第１実施例と同様であるので説明を省略するが、記憶部２０２がウェーブレット変換処理のためのバッファ領域として、また符号化／復号化処理のためのバッファ領域としても共用されるため、それぞれのための記憶部を別々に用意する構成にくらべ、記憶部の占めるチップ面積を増大させることなく、高速処理を実現できる。
【００５４】
前記第１実施例又は第２実施例においては、前述のようにラインメモリ（１０４，２０４）に、外部から入力された元データがそのまま書き込まれたが、本発明の第３の実施例によれば、同様の構成の符号化復号化装置装置において、ウェーブレット変換のフィルタの特性を活用し、ラインメモリに対し処理の中間データ（本発明では低域通過型フィルタの出力）が書き込まれる。これにより、他の条件が前記各実施例と同じならば、図１２に示すように、ラインメモリ（１０４，２０４）の行方向のサイズＸは前記各実施例の場合と同様にフレームメモリ
（１１０，２１０）の行方向サイズと同じであるが、列方向のサイズＹは前記各実施例の場合の２から１へと半減させることができる。このようなラインメモリの容量削減の効果は、フレームメモリの行方向サイズが大きいほど、また、高域通過型フィルタのタップ数が大きいほど顕著である。
【００５５】
本発明の第４の実施例によれば、前記第１実施例、第２実施例又は第３実施例と同様の構成において、図１３に示すように、記憶部（１０２，２０４）のサイズを２行、２列だけ小さくすることができる。これは、本実施例では、記憶部のオーバーラップ領域（図１３の斜線領域）に対し、フィルタの特性を活用し、処理の中間データ（本発明では低域通過型フィルタの出力）が書き込まれるからである（前記各実施例では、オーバーラップ領域に外部から入力された元データがそのまま書き込まれる）。本実施例による記憶部の容量削減効果は、高域通過型フィルタのタップ数が大きいほど顕著である。
【００５６】
前記各実施例においては、一度に処理できる画像のサイズが記憶部（１０２，２０２）のサイズによって制限され、したがって、要求されるウェーブレットレベルの数が増えた場合は、あるレベルまでの結果をフレームメモリ（１１０，２１０）へ一旦書き出し、そのＳＳ係数を再び読み込んで処理するという再帰的な処理方法で対処する必要がある。
【００５７】
本発明の第５の実施例によれば、前記各実施例と同様の構成において、予め要求されるウェーブレット変換の最大レベルが分かっている場合に、その最大レベルまでの全レベルのウェーブレット変換の処理を内部で連続して実行するために必要な記憶容量を、記憶部（１０２，２０２）に持たせる。例えば、レベル６までのウェーブレット変換が要求される場合には、記憶部（１０２，２０４）の大きさは（６４行×６４列＋オーバーラップ領域）に決定される。このような大きさに設定するならば、上に述べたような再帰的な処理を行うことなく、読み込んだデータに対し内部処理でレベル１からレベル６までの全レベルのウェーブレット変換を行い、その結果をフレームメモリに書き出すことができるため、内部処理に比べ速度の遅いフレームメモリに対する読み出し及び書き込みの回数が少なくなる分、処理の一層の高速化が可能となる。
【００５８】
【発明の効果】
以上の説明から明らかな如く、本発明の符号化復号化装置は、従来技術のようなウェーブレット変換又は逆ウェーブレット変換にパイプライン処理を必要としない構成であり、ウェーブレット変換の処理画素数やレベル数の変更に容易に対応でき、また、ウェーブレット変換又は逆ウェーブレット変換のためのバッファ領域と符号化又は復号化のためのバッファ領域として同じ記憶部を共用する構成であるため、記憶部のためのチップ面積を増大させることなく高速の処理が可能である。ここで、請求項１の符号化復号化装置は、記憶部が任意にアクセス可能な独立した記憶セルからなるため、さらなる高速処理が可能である。請求項２の符号化復号化装置は、外部からのデータ入力とウェーブレット変換の水平処理との並行化により、一層の高速化が可能である。請求項３又は４の符号化復号化装置は、ラインメモリ及び／又は記憶部のためのチップ面積をさらに減らすことができる。請求項５の符号化復号化装置は、要求される最大レベルまでの全レベルのウェーブレット変換を内部で連続して実行できるため、より一層の高速処理が可能である。
【図面の簡単な説明】
【図１】本発明の第１実施例を示すブロック図である。
【図２】第１実施例による記憶部の記憶セルの構成を示すブロック図である。
【図３】記憶部の行方向のデータフローの説明図である。
【図４】レベル１の水平処理終了段階での記憶部のマッピングを示す図である。
【図５】フレームメモリに対する記憶部とラインメモリの割り当て方を例示する図である。
【図６】各ブロック処理時の記憶部とラインメモリに関するデータフローを説明する図である。
【図７】レベル２までのウェーブレット変換を終了した時点での記憶部のマッピングを示す図である。
【図８】第１実施例において１ブロックに対しレベル２までのウェーブレット変換を行う場合のタイミングチャートである。
【図９】本発明の第２の実施例を示すブロック図である。
【図１０】第２実施例における記憶部の１つの記憶セルを示す図である。
【図１１】第２実施例において１ブロックに対しレベル２までのウェーブレット変換を行う場合のタイミングチャートである。
【図１２】本発明の第３実施例を説明するための図である。
【図１３】本発明の第４実施例を説明するための図である。
【図１４】従来例を示すブロック図である。
【図１５】従来例における符号化復号化部のブロック図である。
【図１６】ウェーブレット変換の水平処理及び垂直処理の演算方法の説明図である。
【図１７】イメージデータのメモリマップを示す図である。
【図１８】レベル１のＳ係数及びＤ係数のメモリマップを示す図である。
【図１９】レベル１のＳＳ係数、ＳＤ係数、ＤＳ係数及びＤＤ係数のメモリマップを示す図である。
【図２０】レベル２のＳ係数及びＤ係数のメモリマップを示す図である。
【図２１】レベル２のＳＳ係数、ＳＤ係数、ＤＳ係数及びＤＤ係数のメモリマップを示す図である。
【図２２】従来例のタイミングチャートである。
【符号の説明】
１００  主制御部
１０１  ウェーブレット変換部
１０２  記憶部
１０４  ラインメモリ
１０６  行方向制御部
１０８  列方向制御部
１０９  符号化復号化部
１１０  外部のフレームメモリ
２００  主制御部
２０２  記憶部
２０４  ラインメモリ
２０６  行方向フィルタ部
２０７  列方向フィルタ部
２０８  行方向アドレスデコード／データ選択部
２０９  列方向アドレスデコード／データ選択部
２１０  外部のフレームメモリ
２１１  符号化復号化部
【図１】
0003660136.tif 000002
【図２】
0003660136.tif 000003
【図３】
0003660136.tif 000004
【図４】
0003660136.tif 000005
【図５】
0003660136.tif 000006
【図６】
0003660136.tif 000007
【図７】
0003660136.tif 000008
【図８】
0003660136.tif 000009
【図９】
0003660136.tif 000010
【図１０】
0003660136.tif 000011
【図１１】
0003660136.tif 000012
【図１２】
0003660136.tif 000013
【図１３】
0003660136.tif 000014
【図１４】
0003660136.tif 000015
【図１５】
0003660136.tif 000016
【図１６】
0003660136.tif 000017
【図１７】
0003660136.tif 000018
【図１８】
0003660136.tif 000019
【図１９】
0003660136.tif 000020
【図２０】
0003660136.tif 000021
【図２１】
0003660136.tif 000022
【図２２】
0003660136.tif 000023