JP3719699B2 - 符号化装置及び復号化装置 - Google Patents
符号化装置及び復号化装置 Download PDFInfo
- Publication number
- JP3719699B2 JP3719699B2 JP16737498A JP16737498A JP3719699B2 JP 3719699 B2 JP3719699 B2 JP 3719699B2 JP 16737498 A JP16737498 A JP 16737498A JP 16737498 A JP16737498 A JP 16737498A JP 3719699 B2 JP3719699 B2 JP 3719699B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- frequency band
- band signal
- wavelet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、データ圧縮及び伸長の分野に係り、特に、ウェーブレット変換を利用する符号化及び復号化のための装置に関する。
【0002】
【従来の技術】
データ圧縮は、大量のデータの蓄積や伝送のために非常に有用なツールである。例えば、文書のファクシミリ伝送や、ワールドワイドウェブのような画像の伝送に要する時間は、圧縮を使ってその画像の再生に必要とされるビット数を減らすと、飛躍的に短縮される。
【0003】
従来より、多くの様々なデータ圧縮手法が存在している。最も広く普及している圧縮方式としてJPEG(Joint Photographic Experts Group)の圧縮方式がある。JPEGの圧縮方式においては、入力シンボルまたは輝度データは量子化されてから出力符号語へ変換される。量子化は、データの重要な特徴量を保存する一方、重要でない特徴量を除去することを目的としている。量子化に先立ち、エネルギー集中をするために変換が用いられるが、JPEGではDCT(離散コサイン変換)が採用されている。ところが、DCTを用いるJPEG方式に対し様々な欠点が指摘されている。例えば、ブロックノイズやモスキートノイズ(蚊が飛んでいるように見えるところから、このように呼ばれる)である。画像信号処理においては、これらの欠点を解消する効率的かつ高精度のデータ圧縮符号化方式を追求することに関心が集まっている。その方式の中に、ウェーブレット(wavelet)ピラミッド処理方式がある。
【0004】
画像信号のような2次元信号にウェーブレット変換(順変換)を適用する場合には、入力信号に対し水平方向低域通過型フィルタHL(Horizontal Low)及び水平方向高域通過型フィルタHH(Horizontal High)を使用して、水平方向低域信号であるS(smooth)係数及び水平方向高域信号であるD(detail)係数に分離し、さらに、これらS係数及びD係数に対して、垂直方向低域通過型フィルタVL(Vertical Low)及び垂直方向高域通過型フィルタVH(Vertical High)を使用して水平方向低域−垂直方向低域信号であるSS係数、水平方向低域−垂直方向高域信号であるSD係数、水平方向高域−垂直方向低域信号であるDS係数、及び水平方向高域−垂直方向高域信号であるDD係数に分離する。
【0005】
以上の一連の処理をレベルと呼び、1回の水平処理と垂直処理を行った出力をレベル1の出力と呼ぶ。さらに、以上の4種類の信号を周波数帯信号と呼ぶ。レベル2以上の出力を希望するときは、この処理がSS係数に対して再帰的に行われる。レベル2の出力では、SS係数、1SD係数と2SD係数、1DS係数と2DS係数、1DD係数と2DD係数、の7つの周波数帯信号が得られる。以上の説明では、まず水平方向にフィルタを適用し、次に垂直方向にフィルタを適用したが、その順序は逆でもよい。
【0006】
図14にレベル4までの処理を行う場合の従来の構成を示した。図中、1000はウェーブレット変換部、1100はメモリ部、1200は符号化/復号化部である。符号化時には、イメージデータdataがメモリ部1100に取り込まれ、このイメージデータに対してウェーブレット変換部1000によりウェーブレット順変換が施され、メモリ部1100に周波数帯信号が得られる。符号化/復号化部1200は、メモリ部1100から周波数帯信号を取り込み、符号化して圧縮コードcodeを出力する。復号化時には、入力する圧縮コードcodeが符号化/復号化部1200によって復号化され、メモリ部1100上に周波数帯信号が復元される。この周波数帯信号に対してウェーブレット変換部1000によってウェーブレット逆変換が施されることによりイメージデータがメモリ部1100に復元され、これが外部に出力される。
【0007】
ウェーブレット変換部1000においてfilter1H,filter2H,filter3H,filter4Hは、水平方向低域通過型フィルタHL及び水平方向高域通過型フィルタHHを含む水平方向フィルタである。これらフィルタ名中の数字1〜4はレベル番号を表し、Hは水平方向フィルタであることを意味する。同様にfilter1V1とfilter1V2,filter2V1とfilter2V2,filter3V1とfilter3V2,filter4V1とfilter4V2は、垂直方向低域通過型フィルタVL及び垂直方向高域通過型フィルタVHを含む垂直方向フィルタである。これらのフィルタ名中のVは垂直方向フィルタであることを意味し、Vの前の数字1〜4はレベル番号を表し、Vの後の数字1は水平方向低域信号(S係数)を入力とするフィルタであることを示し、Vの後の数字2は水平方向高域信号(D係数)を入力とするフィルタであることを示す。Controllerはメモリ部1100とフィルタとの間のデータ転送等を制御するコントローラである。
【0008】
以上のフィルタはどのような構成のものでもよいが、以下の説明では、水平方向低域通過型フィルタHL及び垂直方向低域通過型フィルタVLとして、2組のデータを用い演算を行う2タップのフィルタを使用するものとする。水平方向高域通過型フィルタHH及び垂直方向高域通過型フィルタVHとして、低域通過形フィルタHLまたはVLの出力であるS係数のうち、現在の位置と、1つ前及び1つ後の合計3組のデータを用い演算を行う6タップのフィルタを使用するものとする。
【0009】
このようなフィルタを用いた場合の演算の例を図15に示す。図15の(a)は水平方向フィルタの処理を説明するもので、00は0ライン目の0画素目のデータを意味し、12は1ライン目の2画素目のデータを意味する(このようにライン、画素とも0番目から数えるものとする)。水平方向低域通過型フィルタHLの0画素目の出力S00は、00データ及び01データから求められ、また、1画素目の出力S01は02データ及び03データから求められる。これに対し、水平方向高域通過型フィルタHHの0画素目の出力D00は、00データの2つ前及び1つ前のデータ(実在しない)と、00データと、01データと、02データと、03データとから求められる。ここで、実在しない00データの2つ前と1つ前のデータを得るため、ミラーと呼ばれる処理を施す。具体的には、データを鏡像関係で折り返す処理を行う。これにより、2つ前と1つ前のデータは01データと00データとなる。このようにして、D00は6画素のデータから計算される。
【0010】
図15の(b)は垂直方向フィルタの処理を説明している。この処理は、垂直方向フィルタ処理によるS係数及びD係数を用いて垂直方向に行われる。実在しない係数は、水平方向フィルタの処理の場合と同様にミラー処理が施される。
【0011】
図16はフレームメモリなどにラスタ順に格納されたイメージデータを示す。図17乃至図20に、ウェーブレット変換処理のレベル2までの演算結果の格納方法の一例を示す。最初にフレームメモリからデータを読み出して水平処理を行い、その結果を再びフレームメモリに書き込む。この書き込みの際に、未処理のデータに上書きしてしまわないように、例えば図17に示すようなマッピングでS係数及びD係数を書き込んでいく。図17において、1S00と1D00はレベル1のアドレス00のS係数とD係数を意味する。図18は垂直処理を行った後の各係数を書き込む際のマッピングの例を示す。ここまでがレベル1の各係数の格納方法である。図19はレベル2の水平方向の各係数の格納方法の例を示す。レベル2の処理は1SS係数に対してのみ行われるため、網掛けされた部分のデータは用いられないことに注意されたい。ついで、図20に示すようなマッピングで、レベル2の各係数が格納され、レベル2の処理が終了する。同様の処理が、レベル4まで順に繰り返される。16画素×16ラインのイメージデータを入力した場合において、レベル4まで処理したときの各レベルの各周波数帯信号の格納方法を図21に示す。
【0012】
以上のようにして得られた各レベルの周波数帯信号が符号化/復号化部1200で符号化されて圧縮されるのであるが、符号化は通常、ビット処理が行われるため、前述のように、周波数帯信号を一旦、メモリ部1100内のストレージに書き込んでおく必要がある。一般に用いられるストレージは半導体メモリである。符号化/復号化部1200ではストレージに書き込まれた各周波数帯信号を参照してビット処理を行って符号化し、圧縮コードcodeとして出力する。圧縮コードcodeからイメージデータへの復元処理は前述の符号化処理と逆順で行われる。
【0013】
なお、本発明に関連する符号化及び復号化装置、ウェーブレット変換部、あるいはフィルタについてのより詳細な情報は、特開平8−139935号公報などを参照されたい。また、類似の従来技術が特開平3−27687号公報、特開平5−167997号公報、特開平5−183386号公報に開示されている。
【0014】
【発明が解決しようとする課題】
イメージデータは通常、図16に示したようにラスタデータとしてフレームメモリに書き込まれている。ウェーブレット変換部では、このラスタデータをラスタ順にメモリから読み出してウェーブレット変換を行う。この際、未処理のデータに対して上書きしないように、図21に示したように、データを離散的にマッピングしてフレームメモリに書き込んでいる。
【0015】
処理時間がそれほど問題にならないのであれば、フレームメモリにどのようなものを用いても問題はないが、高速処理を実現するためには、SDRAMあるいはRDRAMなどの高速メモリを用いる必要がある。これらの高速メモリは、バースト転送、すなわち指定したアドレスを起点とした連続したアドレスに対応するデータを読み出し又は書き込みするような構成となっているため、離散的なアドレスをアクセスする場合にはウエイト時間が発生する。画素方向に対して離散的にアクセスする場合には、工夫をすればある程度はウエイトを小さくすることができる。しかし、ライン方向に対しては、構造的に必ずウエイト時間が発生してしまう。例えば、ライン方向に離散的なアドレッシングを行う場合(垂直処理の場合に必ず必要となる)にウエイトが2サイクル分発生すれば、垂直処理に対しては実際のメモリアクセスに必要な1サイクル分を含め、トータルで3倍の処理時間がかかってしまう。
【0016】
このようなわけで、高速メモリの高速性を十分に活かすことができないという問題があった。ウェーブレット処理をしながらフレームメモリをアクセスする場合、内部との同期をとる必要があるが、この同期がとれるまでウエイト時間が発生するという問題もあった。ウェーブレット変換後のアドレスマップが図21に示した如く複雑で離散的なものであるため、フレームメモリとのインターフェース部も複雑になるという問題もあった。
【0017】
また、装置を1チップ化し、画像の処理単位であるタイルに対応する大きさのメモリを内部に設けようとした場合、チップ内部で使用できる1つのメモリ要素の大きさに制限があるため、2個以上のメモリ要素から構成せざるを得ないことがある。このような構成の場合、ウェーブレット変換部及び符号化/復号化部の両方のブロックからのメモリアクセスが複雑になる。すなわち、ウェーブレット変換部と符号化/復号化部双方の制御部が、規模が大きく複雑な構成になるという問題があった。
【0018】
また、ウェーブレット変換部ではデータの入出力がワード単位であり、一方、符号化/復号化部ではデータの入出力がビット単位であるので、使用される記憶手段がウェーブレット変換部と符号化/復号化部とで異なっており、そのため記憶のためのチップ領域が大きくなってしまうという問題があった。
【0019】
本発明は、前記問題点に鑑みてなされたものであり、その目的は、ウェーブレット変換を利用する符号化/復号化装置の動作の高速化、構成の簡略化、メモリ使用効率の向上などを図ることにある。
【0020】
【課題を解決するための手段】
請求項1記載の発明は、イメージデータ又は周波数帯信号データを一時的に記憶するための記憶手段、フレームを分割したタイルを処理単位としてイメージデータのウェーブレット順変換処理を行って周波数帯信号データを生成するウェーブレット変換手段、周波数帯信号データの符号化処理を行って圧縮コードを生成する符号化手段、フレームメモリより前記ウェーブレット順変換処理の対象となるイメージデータを前記記憶手段へ転送する制御、前記記憶手段より前記ウェーブレット順変換処理によって生成された周波数帯信号データを前記フレームメモリへ転送する制御、前記フレームメモリより前記符号化処理の対象となる周波数帯信号データを前記記憶手段へ転送する制御、前記記憶手段と前記ウェーブレット変換手段との間でイメージデータ又は周波数帯信号データを転送する制御、前記記憶手段と前記符号化手段との間で周波数帯信号データを転送する制御を行う制御手段を有し、前記制御手段の制御によって、前記記憶手段より前記ウェーブレット順変換処理によって生成された周波数帯信号データが周波数帯毎に連続して読み出され、該読み出されたデータが前記フレームメモリのライン毎のラスタ順の連続データとして前記フレームメモリへ転送されることを特徴とする符号化装置である。
前記記憶手段より前記フレームメモリへの周波数帯信号データの転送の具体的な内容は、例えば後記実施例1との関連で説明するならば次の通りである。
1のタイルに対するウェーブレット順変換処理によって例えばSS,4SD,4DS,4DD,2SD,2DS,2DD,1SD,1DS,1DDの各周波数帯の信号が生成され、これが例えば図21のようなマッピングで内部メモリ110に記憶される。そして、 このような周波数帯信号データは周波数帯毎に連続して内部メモリ110より読み出され、該データはフレームメモリ100のライン毎のラスタ順の連続データとしてフレームメモリ100へ転送されることにより、フレームメモリ100の当該タイルの領域に例えば図5に示すマッピングで記憶される。
例えば、2SDの場合、そのデータは連続して読み出され、まずフレームメモリ100のライン1に対応したラスタ順の連続データとして転送され、フレームメモリ100のライン1に記憶される。2DSのデータも連続して読み出され、ライン2のラスタ順の連続データとして順次転送され、フレームメモリ100のライン2に記憶される。2DDのデータも同様にライン3のラスタ順の連続データとして転送され、フレームメモリのライン3に記憶される。1SD,1DS,1DDのデータも同様に周波数帯毎に連続して読み出され、ライン毎のラスタ順の連続データとして順次転送され、フレームメモリのライン4〜15に順次記憶される。ただし、周波数帯SS,4SD,4DS,4DD,3SD,3DS,3DDのデータは周波数帯毎に連続して読み出されるが、これらは係数の個数が少ないため、その全体が1ライン分のラスタ順の連続データとして転送され、ラインメモリ100のライン0に記憶される。
【0021】
請求項2記載の発明は、請求項1記載の発明に係る符号化装置であって、前記記憶手段は、前記フレームメモリより転送された、ウェーブレット順変換処理の対象タイルのイメージデータ中のタイル境界部のデータを、当該タイルより後の他のタイルを対象としたウェーブレット順変換処理で参照するために一時的に保存するオーバーラップメモリを含み、前記オーバーラップメモリへのデータの保存、及び、前記オーバーラップメモリに保存されたデータのウェーブレット順変換処理での参照が前記制御手段により制御されることを特徴とする符号化装置である。
【0022】
請求項3記載の発明は、請求項1記載の発明に係る符号化装置であって、ウェーブレット順変換処理時に前記記憶手段に記憶されているイメージデータ又は周波数帯信号データの一部を、該ウェーブレット順変換処理で参照するために一時的に保存するラインメモリを有し、前記ラインメモリへのイメージデータ又は周波数帯信号データの保存、及び、前記ラインメモリに保存されたイメージデータ又は周波数帯信号データのウェーブレット順変換処理での参照が前記制御手段により制御され、かつ、前記制御手段の制御により、ウェーブレット順変換処理により生成された周波数帯信号データは周波数帯毎に集約された形で前記記憶手段に記憶されることを特徴とする符号化装置である。
【0023】
請求項4記載の発明は、請求項1記載の発明に係る符号化装置であって、前記記憶手段は複数のメモリブロックからなり、前記フレームメモリから前記記憶手段に転送されたイメージデータは、前記制御手段の制御により、前記複数のメモリブロックの特定の記憶領域に分割されて記憶され、ウェーブレット変換処理により生成された周波数帯信号データは、前記制御手段の制御により、周波数帯別に集約された形で、前記複数のメモリブロック中の対応したメモリブロックの対応した記憶領域に記憶されることを特徴とする符号化装置である。
【0024】
請求項5記載の発明は、請求項4記載の発明に係る符号化装置であって、前記複数のメモリブロックはそれぞれ物理的に独立しており、それぞれ独立にアクセス可能であることを特徴とする符号化装置である。
【0025】
請求項6記載の発明は、請求項4記載の発明に係る符号化装置であって、前記各メモリブロックの各記憶領域は、そこに記憶される周波数帯信号データのビット深さ分のビット深さを持つことを特徴とする符号化装置である。
【0026】
請求項7記載の発明は、請求項5記載の発明に係る符号化装置であって、前記各メモリ ブロックは、複数のメモリ要素と、前記各メモリ要素に対する読み出し及び書き込みを制御する入力データ制御手段と、前記各メモリ要素の出力データの外部出力を制御する出力データ制御手段とを有し、外部からの入力信号として、読み出しアドレス、書き込みアドレス、読み出し許可、入力データ、ウェーブレット順変換のレベル、及び、当該メモリブロックに対する選択信号の各信号を有することを特徴とする符号化装置である。
【0027】
請求項8記載の発明は、請求項1記載の発明に係る符号化装置であって、前記記憶手段は、ワード単位でもビット単位でも読み出しと書き込みが可能な記憶要素であることを特徴とする符号化装置である。
【0028】
請求項9記載の発明は、請求項8記載の発明に係る符号化装置であって、前記記憶要素はレジスタであることを特徴とする符号化装置である。
【0029】
請求項10記載の発明は、請求項1記載の発明に係る符号化装置であって、前記制御手段は、前記フレームメモリから符号化処理の対象となる周波数帯信号データを、前記記憶手段を介することなく、直接的に前記符号化手段へ転送する制御のための手段を含むことを特徴とする符号化装置である。
【0030】
請求項11記載の発明は、周波数帯信号データ又はイメージデータを一時的に記憶するための記憶手段、圧縮コードの復号化処理を行って周波数帯信号データを生成する復号化手段、フレームを分割したタイルを処理単位として周波数帯信号データのウェーブレット逆変換処理を行ってイメージデータを生成するウェーブレット変換手段、前記復号化手段より前記復号化処理によって生成された周波数帯信号データを前記記憶手段へ転送する制御、前記記憶手段より前記復号化処理によって生成された周波数帯信号データをフレームメモリへ転送する制御、前記フレームメモリより前記ウェーブレット逆変換処理の対象となる周波数帯信号データを前記記憶手段へ転送する制御、前記記憶手段より前記ウェーブレット逆変換処理によって生成されたイメージデータを前記フレームメモリへ転送する制御、前記記憶手段と前記ウェーブレット変換手段との間で周波数帯信号データ又はイメージデータを転送する制御を行う制御手段を有し、前記制御手段の制御によって、前記記憶手段より前記復号化処理によって生成された周波数帯信号データが周波数帯毎に連続して読み出され、該読み出されたデータが前記フレームメモリのライン毎のラスタ順の連続データとして前記フレームメモリへ転送されることを特徴とする復号化装置である。
【0031】
【発明の実施の形態】
以下、添付図面を参照して本発明の実施の形態を説明する。なお、説明の便宜上、複数の図において同一部分又は対応部分に同一の参照符号が付されている。
【0032】
<実施例1>
図1は本発明の一実施例による符号化/復号化システムのブロック図である。図1において、100はフレームメモリ、101はウェーブレット変換部、102は符号化/復号化部、103は記憶部である。例えば、ウェーブレット変換部101、符号化/復号化部102及び記憶部103は同じ一つのチップ上に集積され、フレームメモリ100は外付けのメモリとなる。フレームメモリ100としては、例えばバースト転送の可能なSDRAMが用いられる。
【0033】
符号化/復号化部102は、符号化動作の場合に、ウェーブレット変換の周波数帯信号を符号化して圧縮コードcodeを生成する符号化部とし働き、復号化動作の場合に、圧縮コードcodeを復号化して周波数帯信号を生成する復号化部として働く。なお、符号化/復号化部102を符号化専用のものと置き換えた同様構成の符号化システムと、符号化/復号化部102を復号化専用のものと置き換えた同様構成の復号化システムも、本発明に包含される。
【0034】
記憶部103は、内部メモリ(内部記憶手段)110と、データ転送の制御などのための手段としての3つの入出力インターフェース部111,112,113とからなる。入出力インターフェース部111は内部メモリ110とフレームメモリ100との間のデータ転送などの制御を行い、入出力インターフェース部112は内部メモリ110とウェーブレット変換部101との間のデータ転送などの制御を行い、また、入出力インターフェース部113は内部メモリ110と符号化/復号化部102との間のデータ転送などの制御を行う。
【0035】
フレームメモリ100は、図2に示すように、X画素×Yラインの大きさを持つ。このフレームメモリ100上のイメージデータに対するウェーブレット順変換などは、図2に示すように、M(x方向)×N(y方向)の大きさの領域(タイル)を処理単位として行われる。このタイル分割は、隣り合うタイル間がオーバーラップしないように行われる。
【0036】
内部メモリ110は、図3に示すように、フレームメモリ100の1つのタイルの大きさに対応した大きさを持つタイルメモリ120と、a×N画素の大きさを持つx方向(画素方向)オーバーラップメモリ121と、X×a画素の大きさのy方向(ライン方向)オーバーラップメモリ122とからなる。ここで、aはウェーブレット変換部101に用いられるフィルタのタップ数で決まる。前記従来技術において述べたフィルタを用いる場合には、a=2となる。
【0037】
タイルメモリ120は、概念的には、図3に示すような位置関係のA,B,C,D,E,F,G,H,Zの領域から構成される。領域Z,E,F,G,Hの集まりからなるメモリ領域は、タイルの大きさと同じM×N画素の大きさを有し、フレームメモリ100のあるタイルをウェーブレット順変換する場合には、当該タイルのイメージデータが1対1対応で当該メモリ領域に転送される。領域A,B,C,Dは、図3に示すような位置関係で上記M×N画素のメモリ領域の外側に位置する。領域Aと領域CはそれぞれM×a画素の大きさであり、領域Bと領域Dの大きさはそれぞれa×N画素である。領域A,B,C,Dとオーバーラップメモリ121,122の利用方法については、図4に関連して後述する。
【0038】
次に、フレームメモリ100上のイメージデータを符号化する場合の動作を説明する。図6は、この場合のウェーブレット順変換処理に関連した概略フローチャートである。
【0039】
まず、記憶部103内の入出力インターフェース部111の制御により、フレームメモリ100の処理対象となった一つのタイルと、領域C,Dに対応する領域のイメージデータがライン毎、ラスタ順に内部メモリ110へバースト転送され、タイルメモリ120へ1対1対応で書き込まれる(ステップ1)。
【0040】
次に、入出力インターフェース部111(又は入出力インターフェース部112)の制御により、タイルメモリ120内のH領域とG領域(図3参照)のイメージデータがx方向オーバーラップメモリ121とy方向オーバーラップメモリ122にそれぞれコピーされる(ステップ2)。
【0041】
次に、入出力インターフェース部111(又は112)の制御により、タイルメモリ120のA,B,C,Dに対する必要なデータコピーが行われる(ステップ3)。このデータコピーの内容は、処理対象のタイルの位置に依存する。フレームメモリ100上でのタイルの位置関係は図4(b)に代表して示すような9種類に分類される。入出力インターフェース部111(又は112)は、処理するタイルがいずれの位置にあるか、図4(a)の「判断」欄に記載された条件に従って判別し、その結果に応じて図4(a)の「コピー元」欄の記載に従ったデータコピーを行う。
【0042】
最初は、図2中の斜線領域である左上のタイル(0)を処理するが、このタイルは図4(b)に示す位置1にあるタイルである。この位置1にあるタイルの場合、ウェーブレット順変換処理に必要なA領域とB領域のデータは存在せず、従来技術に関連して述べたようなミラー処理を行う必要がある。このミラー処理として、入出力インターフェース部111(又は112)により、図4(a)の「コピー元」欄に記載されているように、タイルメモリ120のA領域へ、E領域とH領域の一部からデータがコピーされ、また、B領域に対し、F領域とE,G領域の一部からデータがコピーされる。かくして、タイルメモリ120内にタイル(0)のウェーブレット順変換処理に必要なデータが揃う。
【0043】
次に、ウェーブレット変換部101は、入出力インターフェース部112を介してタイルメモリ120をアクセスし、ウェーブレット順変換処理を実行する(ステップ4)。例えば従来技術に関連して述べたと同様の4レベルのウェーブレット順変換が行われる。この際、タイルメモリ120に、例えば、レベル1の水平処理の結果であるS係数とD係数は図17に示すようなマッピングで書き込まれ、レベル1の垂直処理の結果である1SS係数,1SD係数、1DS係数及び1DD係数は図18に示すようなマッピングで書き込まれる。同様に、1SS係数に対するレベル2の水平処理の結果である2S係数と2D係数は図19に示すようなマッピングで書き込まれ、レベル2の垂直処理の結果である2SS係数、2SD係数、2DS係数及び2DD係数は図20のようなマッピングで書き込まれる。最終的に、レベル4の垂直処理が終わると、タイルメモリ120のM×N画素のメモリ領域に図21に示すようなマッピングで各レベルの各周波数帯信号が書き込まれる。ただし、図21はタイルサイズをM=N=16としている(以下、同様)。
【0044】
このようにしてタイル(0)のウェーブレット順変換が終了すると、タイルメモリ120のM×Nのメモリ領域のデータが、入出力インターフェース部111を介してフレームメモリ100のタイル(0)の領域に書き出される(ステップ5)。この際、入出力インターフェース部111は、図21に示すように離散的にマッピングされているタイルメモリ120上の各周波数帯信号データをライン毎、ラスタ順の連続したデータとなるように、タイルメモリ120をアドレッシングして読み出し、そのデータをライン毎、ラスタ順にフレームメモリ100へ転送し、例えば図5に示すようなマッピングでフレームメモリ100のタイル(0)の領域に書き込む。
【0045】
このようにしてタイル(0)に対するウェーブレット順変換処理が終了すると、右隣のタイル(1)が処理の対象に選ばれ(ステップ6)、入出力インターフェース部111により、フレームメモリ100のタイル(1)とその周囲のC,D領域に対応した領域のイメージデータがライン毎、ラスタ順に内部メモリ110へ転送され、タイルメモリ120に書き込まれる(ステップ1)。次に、H領域とG領域のデータがオーバーラップメモリ121,122へそれぞれコピーされる(ステップ2)。
【0046】
タイル(1)は図4(b)に示す位置2にあるタイルであるため、A領域のデータは存在しないので、そのミラー処理として、入出力インターフェース部111(又は112)によりE領域とH領域の一部からA領域へデータがコピーされる(ステップ3)。また、領域Bに対応したフレームメモリ100上のデータはタイル(0)の処理によって書き換えられているが、その書き換え前のデータがオーバーラップメモリ(x)121に保存されている。この保存データがB領域にコピーされる(ステップ3)。これでタイル(1)のウェーブレット順変換に必要なデータがタイルメモリ120に揃った。
【0047】
そして、ウェーブレット変換部101は入出力インターフェース部112を介してタイルメモリ120をアクセスしつつウェーブレット順変換を行う(ステップ4)。タイルメモリ120上に離散的にマッピングされた各レベルの各周波数帯信号データは、入出力インターフェース部111によってライン毎、ラスタ順のデータに変換されてフレームメモリ100へ転送され、図5に示すようなマッピングで書き込まれる(ステップ5)。
【0048】
タイル(n−1)の手前のタイルまで順次右側のタイルが処理されるが、それらタイルは図4(b)の位置2に示すタイルであるのでステップ3においてタイル(1)と同様のデータコピーが行われる。
【0049】
右端のタイル(n−1)は図4(b)の位置3にあるタイルである。この位置にあるタイルを処理する場合、ステップ3において、データの存在しないA領域に対して、E領域とH領域の一部のデータがコピーされ(ミラー処理)、また、データの存在しないD領域に対してH領域のデータがコピーされる(ミラー処理)。さらに、データが書き換えられているB領域に対し、オーバーラップメモリ121に保存されているデータがコピーされる。
【0050】
次に2列目の最初のタイル(n)が処理されるが、これは図4(b)の位置4にあるタイルである。この位置にあるタイルを処理する場合、ステップ3において、データが存在しないB領域に対しF領域、E領域の一部、及びG領域の一部のデータがコピーされる(ミラー処理)。データが書き換えられているA領域に対し、オーバーラップメモリ112に保存されているデータがコピーされる。
【0051】
次に右隣のタイル(n+1)が処理されるが、これは図4(b)の位置5にあるタイルである。この位置にあるタイルを処理する場合、ステップ3において、データが書き換えられているA領域とB領域に、オーバーラップメモリ122とオーバーラップ121から書き換え前のデータがそれぞれコピーされる。
【0052】
その右側のタイル(右端のタイルを除く)の場合も、タイル(n)と同様のコピー処理がステップ3で行われる。その右端のタイルは図4(b)の位置6にあり、ステップ3では、データが書き換えられたA領域とB領域にオーバーラップメモリ122とオーバーラップメモリ121からデータがコピーされ、データの存在しないD領域に対しH領域のデータがコピーされる(ミラー処理)。
【0053】
同様にして上から下、左から右へとタイルが順次処理されるが、それらタイルに対しては図4(b)の位置4、位置5又は位置6のタイルに対応したデータのコピー操作がステップ3で行われる。
【0054】
フレームメモリ100の左下のタイルは図4(b)の位置7にある。このタイルを処理する場合、ステップ3において、データが存在しないB領域にF領域と、E領域の一部と、G領域の一部からデータがコピーされ(ミラー処理)、データが存在しないC領域にG領域とH領域の一部のデータがコピーされる(ミラー処理)。また、データが書き換えられているA領域に、オーバーラップメモリ122からデータがコピーされる。
【0055】
その右側のタイル(右端のタイルを除く)は図4(b)の位置8にあるタイルである。これらタイルを処理する場合、ステップ3において、データが存在しないC領域にG領域とH領域の一部のデータがコピーされる(ミラー処理)。また、データが書き換えられているA領域とB領域に、オーバーラップメモリ122とオーバーラップメモリ121から書き換え前のデータがそれぞれコピーされる。
【0056】
最後の右端(右下)のタイル、すなわち図4(b)の位置9にあるタイルを処理する場合、ステップ3において、データが存在しないC領域にG領域とH領域の一部のデータがコピーされ(ミラー処理)、データが存在しないD領域にH領域のデータがコピーされる(ミラー処理)。また、データが書き換えられているA領域とB領域に、オーバーラップメモリ122とオーバーラップメモリ121から書き換え前のデータがそれぞれコピーされる。
【0057】
以上に述べたように、フレームメモリ100から内部メモリ110のタイルメモリ120へのイメージデータの転送も、タイルメモリ120からフレームメモリ100への周波数帯信号データの転送も、ライン毎、ラスタ順に行われる。したがって、フレームメモリ100としてSDRAMを用いた場合、レイテンシを生じさせることなく、それらデータの転送をバースト転送により高速に行うことができる。
【0058】
イメージデータをタイルメモリ120に読み込んだ後は、ウェーブレット順変換処理中にアクセスされるメモリは内部メモリ110だけであり、フレームメモリ100をアクセスする必要がない。したがって、従来問題になっていた垂直処理時のフレームメモリ・アクセスに関連したレイテンシの発生は回避される。タイルメモリ120はフレームメモリ100に比べ小容量であり、高速なランダムアクセスが可能な任意の種類のメモリとすることができるので、ウェーブレット順変換処理を極めて高速に行うことができる。また、入出力インターフェース部111では、タイルメモリ120上に離散的にマッピングされた周波数帯信号データをフレームメモリ100へ転送する際に、周波数帯信号データをライン毎、ラスタ順の連続したデータとなるようにアドレッシングしてタイルメモリ120をアクセスするが、このアクセスも極めて高速に行うことが可能である。したがって、フレームメモリ100よりイメージデータをタイルメモリ120へ転送する動作から、周波数帯信号をタイルメモリ120よりイメージメモリ120へ転送する動作までの一連の動作を高速に行うことができる。
【0059】
1フレーム分のウェーブレット順変換処理が終了すると、フレームメモリ100上の周波数帯信号データが記憶部103を介し符号化/復号化部102へ転送され符号化され、圧縮コードcodeとして外部へ出力される。符号化/復号化部102では、あるレベルのある種類の周波数帯信号データを連続して得る必要があるが、フレームメモリ100に周波数帯信号データが図5に示すようにマッピングされているため、フレームメモリ100から内部メモリ110への周波数帯信号データの転送をバースト転送により高速に行うことができる。例えば、1DD係数データについては、図5に●印で示したアドレス(x=0,y=12)からx方向(画素方向)にバースト転送し、次のラインのデータは、その1つ下のアドレス(0,13)からバースト転送すればよい。
【0060】
周知のように、フレームメモリ100として使用されることの多いSDRAMは、x方向(画素方向)にはバースト転送を行うので高速である。しかし、y方向(ライン方向)の転送は、センスアンプにその行方向のデータが存在していれば即読み出し可能ではあるが、それが無ければ一旦プリチャージが必要で、そのために遅れ(レイテンシ)が生じる。図21のように離散的にデータがマッピングされている場合、レイテンシの発生を避けられない。これに対し、本実施例においてはデータが図5に示すようにマッピングされているため、バースト転送が容易であり、プリチャージ時間を十分にとれるためレイテンシは発生しない(例えばx方向の4画素以上をバースト転送すれば、その間にプリチャージを終了させることができる)。なお、図5から理解されるように、レベル3とレベル4の周波数帯信号については離散的であるため、その転送の際にレイテンシが発生する。しかし、それら周波数帯信号の画素数が少ないため(例えばレベル3のある係数の総数はレベル1のある係数の総数の1/16にすぎない)、そのレイテンシはデータ転送時間全体から見れば格別問題にならない。
【0061】
フレームメモリ100から内部メモリ110へ転送された周波数帯信号データは、入出力インターフェース部113を介して符号化/復号化部102へ転送される。符号化/復号化部102で必要なデータはビット単位である。内部メモリ110がデータの読み書きをワード単位でしか行うことができないメモリである場合には、入出力インターフェース部113においてワードから必要なビットを抽出する操作が行われる(後述)。
【0062】
符号化についてさらに説明すれば、SS係数を除いた各レベルの各種類の周波数帯信号毎に、例えば4DS、4SD、4DD、...毎に、ビットプレーン(同じビット深さの位置の2次元のビット平面)単位で、そのMSB(最上位ビット)から下位ビットへと順に処理される。符号化の処理は、ビットプレーンの2(x方向)×8(y方向)画素単位(これは2×8の大きさのデータが存在する場合。それより小さい場合はその大きさ)で行われる。実際に処理されるのは、上述の大きさの単位毎であるが、その周辺も参照するため、周辺を含めた領域のデータ、例えば4×10画素のデータがフレームメモリ100から読み込まれる。さらに、同じ種類の1つ上のレベルの周波数帯信号が存在する場合は、それも参照されるので、同様にフレームメモリ100から読み込まれる。最上位のビットプレーンの処理が終了すると、1つ下位のビットプレーンが同様に処理される。これを繰り返すことにより、1つのレベルの1種類の周波数帯信号の処理が終了する。これが全レベルの全種類の周波数帯信号に対して行われ、符号化が終了する。
【0063】
1DD係数データの内部メモリ110への転送についてさらに説明すれば、1DD係数は、図5中の●印のアドレス(0,12)を先頭として、4ライン分のデータがx方向にフレームメモリ・サイズXと同じ大きさで存在する。まず、入出力インターフェース部111によって、フレームメモリ100のアドレス(0,12)を先頭アドレスとして、1DD係数データが内部メモリ110へバースト転送される。この際に転送するデータ数(ワード数)が指定されるが、この転送データ数は内部メモリ110のZ,E,G,G,H領域からなるメモリ領域が16×16の大きさの場合は最大64画素相当となる。バースト転送された64画素分のIDD係数データは、内部メモリ110にアドレス(0,0)〜(15,0)、アドレス(0,4)〜(15,4)、...のように4ラインおきに書き込まれる。次に、フレームメモリ100のアドレス(0,13)が先頭アドレスとして指定され、64画素分の1DD係数データがバースト転送され、内部メモリ110のアドレス(0,1)〜(15,1)、アドレス(0,5)〜(15,5)...のように4ラインおきに書き込まれる。このような形で内部メモリ110に書き込むのは、各係数の隣接関係を破壊しないためである。かくして、フレームメモリ100上の一番左上(先頭)の1DD係数データが内部メモリ110の上1/4に、その右隣の1DD係数データが内部メモリ110の次の1/4に、その右隣の1DD係数データが内部メモリ110の次の1/4に書き込まれる。さらに、一つ上のレベルの2DDデータが(0,3)を先頭として64画素分、バースト転送され、内部メモリ110の一番下の領域に4ラインおきに書き込まれる。
【0064】
以上は符号化を行う場合の説明である。復号化は、符号化の場合と逆の手順で行われる。すなわち、符号化/復号化部102によって、圧縮コードcodeが復号化されて周波数帯信号データが内部メモリ110上に復元され、これがフレームメモリ100に転送される。最終的にフレームメモリ100に図5に示すようなマッピングで1フレーム分の周波数帯信号データに得られる。より詳しく述べれば、復号化は、外部より入力した圧縮コードcodeから、あるレベルのある種類の周波数帯信号、例えば4DD係数が、MSBからビット単位で復号化され、ビットプレーンが再生される。復号化もビットプレーンの2(x方向)×8(y方向)画素単位(2×8の大きさのデータが存在する場合。それより小さい場合はその大きさの単位)で再生される。同じ種類の1つ上のレベルの周波数帯信号が存在する場合は、それも参照される。当該ビットプレーンの処理が終了すると、MSB−1のビット深さのビットプレーンが処理される。同様の処理が全レベルの全種類の周波数帯信号に対して施され、符号化部/復号化部102の復号化処理が終了する。
【0065】
フレームメモリ100には図5に示すようなマッピングで周波数帯信号データが書き込まれる。すなわち、符号化時の読み出し処理が、復号化時は書き込み処理になる。この周波数帯信号データが1タイル分、内部メモリ110へ転送され、例えば図10に示すようなマッピングで内部メモリ110に書き込まれる。この周波数帯信号データに対し、ウェーブレット変換部101によってウェーブレット逆変換処理が行われる。ウェーブレット逆変換処理はレベル4から行われ、また各レベルの垂直処理、水平処理がこの順で行われる。最初にSS係数と4SD,4DS,4DDの各係数から3SS係数が再生され、これがSS係数と4SD,4DS,4DDに上書きされる。再生された3SS係数と3SD,3DS,3DDの各係数から2SS係数が再生され、これが3SS,3SD,3DS,3DDに上書きされる。同様にウェーブレット順変換とは逆の手順が繰り返され、最終的にイメージデータが復元され、これがフレームメモリ100に転送され、当該タイルの周波数帯信号データに上書きされる。フレームメモリ100と内部メモリ110との間のデータ転送は、符号化の場合と同様にライン毎、ラスタ順にバースト転送によって行われる。
【0066】
なお、タイルメモリ120のサイズは、ウェーブレット変換部101で要求される最大レベルに合わせて決定される。すなわち、最大レベルのSS出力が1画素になるように選ばれる。本実施例では、レベル4であるのでタイルサイズはM=N=16に選ばれている。レベル6であれば、M=N=64に選ばれる。このようにすると、タイルメモリ120の使用効率が向上する。換言すれば、ウェーブレット変換のレベル数に応じて内部メモリ110のワード数を最適化し、メモリ使用効率を高めるわけである。このことは以下の各実施例においても同様である。
【0067】
<実施例2>
図7は、本発明の他の実施例による符号化/復号化システムのブロック図である。前記実施例1と本実施例との構成上の相異は、図1と図7を対比すれば明らかなように、記憶部103内に、M/2のワード数(ただし、M≧N)を持つラインメモリ(ライン記憶手段)115が追加されている点である。後述のように、ウェーブレット順変換処理においてラインメモリ115を利用する点を除けば、全体的な動作は前記実施例1と同様である。
【0068】
符号化の場合、フレームメモリ100から1タイル分の処理のためのイメージデータが内部メモリ110のタイルメモリ120に読み込まれる。この際のオーバーラップメモリ121,122へのデータコピーとミラー処理などは前記実施例1において図3及び図4を参照して説明した通りである。
【0069】
タイルメモリ120上のイメージデータに対しウェーブレット変換部101によりウェーブレット順変換が行われる。レベル1の水平処理は、図8に●印で示した0ライン目の0画素目から行われれるが、その開始に先だって、図8に斜線領域として示した(M/2+1)画素目から最後の画素までのデータが入出力インターフェース部112によりラインメモリ115にコピーされる。そして、タイルメモリ120の0ライン目の水平処理が行われ、得られたS係数はタイルメモリ120の0ライン目の0画素目から順次書き込まれ、また、D係数は0ライン目の(M/2+1)画素目から順次書き込まれる。この水平処理中に、タイルメモリ120の0ライン目の(M/2+1)画素目以降に対しD係数が上書きされるが、その元のデータはラインメモリ115に保存されおり、ウェーブレット変換部115は入出力インターフェース部112を介してラインメモリ115のデータを参照することにより、最後の画素まで支障無く水平処理を行うことができる。
【0070】
次の1ライン目の0画素目からの水平処理の際にも同様に、まずタイルメモリ120の1ライン目の(M/2+1)画素目から最後の画素までのデータがラインメモリ115にコピーされた後、水平処理が行われ、S係数とD係数が同様に書き込まれる。上書きされたデータについても、0ライン目と同様にラインメモリ115のデータを参照することにより、支障無く最後の画素まで水平処理が行われる。以下同様にして、最後のラインまで水平処理が行われることにより、図8に示すようにタイルメモリ120の左半分にS係数、右半分にD係数が保存される。
【0071】
次にレベル1の垂直処理が、図9に●印で示す画素から縦一列のS係数データについて行われるが、この場合にも図9に斜線領域として示した(N/2+1)ライン目から最終ラインまでのS係数データがラインメモリ115に予めコピーされる。垂直処理により得られるSS係数はタイルメモリ120の0ライン目から下へ向かって順に書き込まれ、SD係数は(N/2+1)ライン目から下へ向かって順に書き込まれる。SD係数が上書きされる位置のS係数データはラインメモリ115に保存されているので、これを参照することによりウェーブレット変換部101は支障無くS係数データに対する垂直処理を行うことができる。同様にしてS係数データに対する垂直処理が行われ、(M/2+1)画素目からはD係数に対する垂直処理が行われ、得られた1DS係数はタイルメモリ120の0ライン目から書き込まれ、1DD係数はタイルメモリ120の(N/2+1)ライン目から書き込まれる。この場合にも同様に、タイルメモリ120の下半分のD係数データが、その垂直処理に先だってラインメモリ115にコピーされ、それがウェーブレット変換部101により参照されるため、支障無く垂直処理を行うことができる。かくして、レベル1のSS係数、1SD係数、1DS係数、1DD係数のデータが図9に示すようなマッピングでタイルメモリ120上に得られる。
【0072】
次にレベル1のSS係数データに対して、レベル2の水平処理が行われる。この場合も、各ラインの水平処理を開始するに先だって、そのラインの(M/4+1)画素目から後のSS係数データがラインメモリ115にコピーされ、水平処理中にラインメモリ115上のSS係数データが参照される。得られたS係数は0画素目から、D係数は(M/4+1)画素目から、それぞれ書き込まれる。水平処理結果に対しレベル2の垂直処理が行われるが、この場合も処理する縦一列の下半分のS係数データ又はD係数データは予めラインメモリ115にコピーされ、処理中に参照される。得られたSS係数又は2DS係数は0ライン目から書き込まれ、2SD係数又は2DD係数は(N/4+1)ライン目から書き込まれる。
【0073】
次にレベル2のSS係数に対し、レベル3の水平処理が行われ、その結果に対して垂直処理が行われる。レベル3の処理により得られたSS係数に対しレベル4の処理が行われる。レベル3とレベル4の処理においても、処理により得られた係数が上書きされる部分のデータがラインメモリ115にコピーされ、処理中に参照される。かくして、最終的な周波数帯信号データがタイルメモリ120上に図10に示すようにマッピングされる。
【0074】
タイルメモリ120に得られた周波数帯信号データは、入出力インターフェース部111を介して、前記実施例1の場合と同様にライン毎、ラスタ順に連続したデータに変換されてバースト転送によりラインメモリ100へ転送される。この際、タイルメモリ120上に周波数帯信号データが図10のように非離散的にマッピングされているため、例えば図21に示すように離散的にマッピングされた場合に比べ、入出力インターフェース部112のタイルメモリ120に対するアドレッシングが簡単になる。例えば、図10に示したように、1DD係数データの読み出しは、●印の位置を起点とする、連続したアドレッシングを行えば済む。他の係数データも、図10に●印で示した位置を起点として同様に連続したアドレッシングによって読み出せばよい。したがって、入出力インターフェース部111のアドレス生成機構を大幅に単純化できる。また、ウェーブレット順変換処理中に、図8及び図9に示すようにタイルメモリ120上に係数データが連続的にマッピングされるため、図17乃至図20に示したように離散的にマッピングされる場合に比べ、タイルメモリ120に対する読み書きのための入出力インターフェース部112によるアドレッシングも単純になるため、入出力インターフェース部112のアドレス生成機構も単純化できる。
【0075】
<実施例3>
本発明の他の実施例によれば、前記実施例2の構成において、内部メモリ110のタイルメモリが、図11に示すような周波数帯信号の種類別に対応付けた4つの独立したメモリブロック(memSS,memSD,memDS,memDD)124に分割した構成とされる。それぞれのメモリブロックmemSS,memSD,memDS,memDDは、図3に示したタイルメモリ120を縦横に4分割したものに相当する記憶領域(網掛けのない領域)に、レベル2以降の対応した種類の周波数帯信号を格納するための記憶領域(網掛けした領域)を付加した如き構成のメモリである。
【0076】
このような分割構成のタイルメモリへのイメージデータの読み込みは、前記実施例1及び2と同様に考えればよいが、1タイル分のイメージデータは4つのメモリブロックmemSS,memSD,memDS,memDDの網掛けされない記憶領域に分散された形で書き込まれる。イメージデータに対するミラー処理なども同様である。読み込まれたイメージデータに対するウェーブレット順変換は、基本的には前記実施例2と同様に考えればよいが、レベル1の各種類の係数データは、図11に示すように、対応付けられたメモリブロックmemSS,memSD,memDS,memDDの網掛けされていない記憶領域に書き込まれ、レベル2からレベル4の各種類の係数データは図11に示すように対応付けられた網掛けされた記憶領域に書き込まれる。
【0077】
メモリブロックmemSS,memSD,memDS,memDDはそれぞれ物理的に独立しているので、それぞれを同時にアクセスし、S係数とD係数を同時に読み書きし、又はSS,SD,DS,DDを同時に読み書きすることができるため、より高速な処理が可能である。このことは、復号化時のウェーブレット逆変換処理についても同様である。また、各係数データは対応したメモリブロックの対応した記憶領域に連続的にマッピングされるので、ウェーブレット変換処理時の入出力インターフェース部112の内部メモリ110に対するアドレッシングが単純になる。また、最終的に必要となる各種の周波数帯信号データは、図11を見れば明らかなように、すでに連続したデータとして内部メモリ110上にマッピングされた形となるため、それらをフレームメモリ100へバースト転送する際に入出力インターフェース部111は複雑なアドレッシングを行う必要がない。
【0078】
さらに、本実施例の構成は、ウェーブレット変換部101で使用される低域通過フィルタ又は高域通過フィルタの出力ビット深さが、イメージデータのビット深さと異なる場合に特に有効である。例えば、イメージデータが8ビット深さ、SS係数が8ビット深さ、SD係数とDS係数が12ビット深さ、DD係数が16ビット深さである場合、それぞれの係数データのための記憶領域に、対応する係数のビット深さ分のビット深さを持たせることができる。したがって、メモリ全体に最大のビット深さであるDD係数と同じ16ビットの深さを持たせるよりも、内部メモリ110の総ビット数を減らしメモリコストを削減できる。
【0079】
<実施例4>
本発明の他の実施例によれば、前記実施例3にけるタイルメモリを構成する各メモリブロック(memSS,memSD,memDS,memDD)124が図12に示すような構成とされる。すなわち、各メモリブロック124は、独立した3個(一般的には複数個)のメモリ要素(mem1,mem2,mem3)202と、これらメモリ要素202に対する読み出し及び書き込みを制御するための入力データ制御部200と、各メモリ要素202の出力データの外部出力を制御するための出力データ制御部201とからなり、入力信号としてra(読み出しアドレス)、wa(書き込みアドレス)、reb(読み出し許可)、web(書き込み許可)、i(入力データ)、level(ウェーブレット変換のレベル)、sel(このメモリブロックに対する選択信号)の各信号を持ち、また、一つの出力信号o(出力データ)を持ち、外部から見れば、複数のメモリ要素202をあたかも一つの大きなメモリ要素であるかのように扱うことができる構成である。
【0080】
チップに内蔵できるメモリの大きさには限度がある。それを越えるサイズのメモリブロックが要求される場合、チップ内において複数のメモリ要素から各メモリブロックmemSS,memsD,memDS,memDDを構成せざるを得ない。この場合、本実施例のメモリブロックを用いれば、ウェーブレット変換部101及び符号化/復号化部102は、各メモリブロックが複数のメモリ要素から構成されていることを意識することなく、レベルとアドレスなどを指定するだけで、各メモリブロックをアクセスすることができるため、単純に複数のメモリ要素を用いる場合に比べ、両者からのメモリブロック・アクセスに関係した制御機構を簡単かつ小規模にできる。
【0081】
<実施例5>
本発明の他の実施例によれば、前記各実施例の構成において、内部メモリ110のタイルメモリがワード単位でもビット単位でも読み出しと書き込みが可能な記憶要素、例えばレジスタを用いて構成される。そのような種類のメモリがあれば、それを用いてタイルメモリを構成してもよい。
【0082】
ウェーブレット変換部101ではデータの操作はワード単位で行われるのに対し、符号化/復号化部102で必要なデータはビット単位である。したがって、タイルメモリがワード単位でしかデータの読み書きを行えない場合、符号化/復号化部102では、データを1ワードずつ読み込み、必要なビットだけを抽出する処理をし、当該ビットのみを書き換え(他のビットはマスクする等の方法で書き換えられないような処理が必要)、再びワード単位で書き戻すといった処理が必要になる。これに対し、タイルメモリがビット単位でもデータの読み書きが可能なものであれば、必要なビットだけを読み込み、処理をして同じアドレス及びビットプレーンに書き戻すだけで済むため、より効率的・高速な処理が可能である。
【0083】
<実施例6>
本発明の他の実施例によれば、記憶部103が図13に示すような構成に変更される。これ以外の構成は前記実施例1,2,3又は4と同様である。
【0084】
図13において、300はフレームメモリ100と内部メモリ110又は符号化/復号化部102との間のデータ転送を制御するための入出力インターフェース部であり、これは内部メモリ110とフレームメモリ100との間のデータ転送を制御する入出力インターフェース部301、符号化/復号化部102とフレームメモリ100との間のデータ転送を制御する入出力インターフェース部302、及び、データ選択部303からなる。
【0085】
フレームメモリ100上のイメージデータを符号化する場合、データ選択部303によって入出力インターフェース部301とフレームメモリ100とが接続された形になり、前記実施例1,2,3又は4の場合と同様に、入出力インターフェース部301の制御によりフレームメモリ100からイメージデータがバースト転送されて内部メモリ110のタイルメモリに書き込まれる。このイメージデータに対するウェーブレット順変換がウェーブレット変換部101によって行われ、得られた周波数帯信号データは入出力インターフェース部301の制御によりフレームメモリ100へバースト転送される。フレームメモリ100に得られた周波数帯信号データの符号化を行う場合、データ選択部303によってフレームメモリ100と入出力インターフェース部302とが接続された形となり、入出力インターフェース部302の制御により、周波数帯信号データは内部メモリ110を介することなく直接的に符号化/復号化部102へ入力される。このように内部メモリ110へのデータ転送のステップが不要になるため、高速な符号化処理が可能である。
【0086】
復号化の場合、データ選択部303によりフレームメモリ100と入出力インターフェース部302とが接続された形となり、符号化/復号化部102により、内部メモリ110を介することなく直接的にフレームメモリ100上に周波数帯信号データが復元される。復元された周波数帯信号に対するウェーブレット逆変換動作は前記実施例1,2,3又は4の場合と同様であり、データ選択部303によって入出力インターフェース部301が選択され、同入出力インターフェース部の制御により、周波数帯信号が内部メモリ110に読み込まれてウェーブレット変換部101によってウェーブレット逆変換を施されてイメージデータが再生され、これがフレームメモリ100に書き出される。
【0087】
以上、本発明の実施の形態を説明したが、本発明はそのような実施形態のみに限定されるものではなく、様々な変形が許されるものである。
【0088】
【発明の効果】
以上に詳細に説明したように、本発明によれば、以下に述べるような多くの効果を得られる。
【0089】
請求項1乃至11の各項記載の符号化装置又は復号化装置においては、内部記憶手段からフレームメモリへの周波数帯信号データの転送をバースト転送で高速に行うことが可能である。また、フレームメモリ上に周波数帯信号が非離散的にマッピングされるためフレームメモリから内部記憶手段へ周波数帯信号データをバースト転送で高速に転送することも可能になる。また、ウェーブレット変換を内部記憶手段を利用して行うことができるため、ウェーブレット変換時にフレームメモリをライン方向にアクセスする必要がない。したがって、フレームメモリに対するアクセスに伴う遅れを回避し、符号化/復号化動作を高速化できる。
【0090】
請求項3記載の符号化装置においては、前述のように、ラインメモリを用意することにより、ウェーブレット変換の段階で内部記憶手段に周波数帯信号データを非離散的にマッピングするため、その周波数帯信号データをフレームメモリへ転送する際に、その転送の制御のための手段が離散的なアドレスマッピングを行うことなくライン毎、ラスタ順のデータとして周波数帯信号データを転送することができ、したがって、その制御のための手段を簡略、小規模なものにできる。また、ウェーブレット変換時の内部記憶手段に対するアドレッシングも単純になるため、その制御機構も簡略化できる。
【0091】
さらに、請求項4,5,6記載の符号化装置においては、ウェーブレット順変換時に内部記憶手段の複数のブロックを同時にアクセスすることが可能であるため、符号化動作の一層の高速化が可能である。また、各ブロックに、対応した種類の周波数帯信号に応じて必要最小限のビット深さを持たせることにより、内部記憶手段のためのメモリコストを減らすことができる。
【0092】
請求項7記載の符号化装置においては、内部記憶手段の各ブロックが複数の記憶要素から構成されていることを意識することなく、ウェーブレット変換部及び符号化部から各ブロックをあたかも単一の記憶要素の如く扱ってアクセスすることができるため、そのアクセスに関連した制御機構を簡略化できる。
【0093】
請求項8,9記載の符号化装置においては、前述のように、符号化部の処理を単純化・高速化し、符号化動作をより高速化することができる。
【0094】
請求項10記載の符号化装置においては、符号化部とフレームメモリとの間で内部記憶手段を介さず直接的にデータを転送することにより、より高速な符号化動作が可能になる。
【図面の簡単な説明】
【図1】 本発明の第1の実施例による符号化/復号化システムのブロック図である。
【図2】 フレームメモリと処理単位であるタイルの説明図である。
【図3】 タイルメモリとオーバーラップメモリの説明図である。
【図4】 (a)処理対象のタイルの位置の判断方法及びミラー処理などの内容を説明する表図である。
(b)フレームメモリ上のタイルの位置関係を示す図である。
【図5】 フレームメモリにおける周波数帯信号データのマッピングを示す図である。
【図6】 イメージデータのウェーブレット変換処理に関連した動作を説明するためのフローチャートである。
【図7】 本発明の第2の実施例による符号化/復号化システムのブロック図である。
【図8】 タイルメモリに対する水平処理時におけるラインメモリの利用方法と係数データの格納方法を説明するための図である。
【図9】 タイルメモリに対する垂直処理時におけるインメモリの利用方法と係数データの格納方法を説明するための図である。
【図10】 タイルメモリにおける周波数帯信号データのマッピングを示す図である。
【図11】 本発明の第3の実施例におけるタイルメモリの構成と周波数帯信号データの格納方法を示す図である。
【図12】 本発明の第4の実施例におけるメモリブロックの構成を示すブロック図である。
【図13】 本発明の第5の実施例による圧縮/伸長システムのブロック図である。
【図14】 従来技術を説明するためのブロック図である。
【図15】 ウェーブレット変換の水平処理及び垂直処理における演算を説明するための図である。
【図16】 イメージデータのメモリマップを示す図である。
【図17】 1S係数及び1D係数のメモリマップを示す図である。
【図18】 1SS係数、1SD係数、1DS係数及び1DD係数のメモリマップを示す図である。
【図19】 2S係数及び2D係数のメモリマップを示す図である。
【図20】 2SS係数、2SD係数、2DS係数及び2DD係数のメモリマップを示す図である。
【図21】 レベル4の各係数のメモリマップを示す図である。
【符号の説明】
100 フレームメモリ
101 ウェーブレット変換部
102 符号化/復号化部
103 記憶部
110 内部メモリ
111,112,113 入出力インターフェース部
115 ラインメモリ
120 タイルメモリ
121 x方向オーバーラップメモリ
122 y方向オーバーラップメモリ
124 メモリブロック
200 入力データ制御部
201 出力データ制御部
202 メモリ要素
301,302 入出力インターフェース部
303 データ選択部
Claims (11)
- イメージデータ又は周波数帯信号データを一時的に記憶するための記憶手段、
フレームを分割したタイルを処理単位としてイメージデータのウェーブレット順変換処理を行って周波数帯信号データを生成するウェーブレット変換手段、
周波数帯信号データの符号化処理を行って圧縮コードを生成する符号化手段、
フレームメモリより前記ウェーブレット順変換処理の対象となるイメージデータを前記記憶手段へ転送する制御、前記記憶手段より前記ウェーブレット順変換処理によって生成された周波数帯信号データを前記フレームメモリへ転送する制御、前記フレームメモリより前記符号化処理の対象となる周波数帯信号データを前記記憶手段へ転送する制御、前記記憶手段と前記ウェーブレット変換手段との間でイメージデータ又は周波数帯信号データを転送する制御、前記記憶手段と前記符号化手段との間で周波数帯信号データを転送する制御を行う制御手段を有し、
前記制御手段の制御によって、前記記憶手段より前記ウェーブレット順変換処理によって生成された周波数帯信号データが周波数帯毎に連続して読み出され、該読み出されたデータが前記フレームメモリのライン毎のラスタ順の連続データとして前記フレームメモリへ転送されることを特徴とする符号化装置。 - 前記記憶手段は、前記フレームメモリより転送された、ウェーブレット順変換処理の対象タイルのイメージデータ中のタイル境界部のデータを、当該タイルより後の他のタイルを対象としたウェーブレット順変換処理で参照するために一時的に保存するオーバーラップメモリを含み、
前記オーバーラップメモリへのデータの保存、及び、前記オーバーラップメモリに保存されたデータのウェーブレット順変換処理での参照が前記制御手段により制御されることを特徴とする請求項1に記載の符号化装置。 - ウェーブレット順変換処理時に前記記憶手段に記憶されているイメージデータ又は周波数帯信号データの一部を、該ウェーブレット順変換処理で参照するために一時的に保存するラインメモリを有し、
前記ラインメモリへのイメージデータ又は周波数帯信号データの保存、及び、前記ラインメモリに保存されたイメージデータ又は周波数帯信号データのウェーブレット順変換処理での参照が前記制御手段により制御され、かつ、前記制御手段の制御により、ウェーブレット順変換処理により生成された周波数帯信号データは周波数帯毎に集約された形で前記記憶手段に記憶されることを特徴とする請求項1に記載の符号化装置。 - 前記記憶手段は複数のメモリブロックからなり、
前記フレームメモリから前記記憶手段に転送されたイメージデータは、前記制御手段の制御により、前記複数のメモリブロックの特定の記憶領域に分割されて記憶され、
ウェーブレット変換処理により生成された周波数帯信号データは、前記制御手段の制御により、周波数帯別に集約された形で、前記複数のメモリブロック中の対応したメモリブロックの対応した記憶領域に記憶されることを特徴とする請求項1記載の符号化装置。 - 前記複数のメモリブロックはそれぞれ物理的に独立しており、それぞれ独立にアクセス可能であることを特徴とする請求項4に記載の符号化装置。
- 前記各メモリブロックの各記憶領域は、そこに記憶される周波数帯信号データのビット深さ分のビット深さを持つことを特徴とする請求項4に記載の符号化装置。
- 前記各メモリブロックは、
複数のメモリ要素と、
前記各メモリ要素に対する読み出し及び書き込みを制御する入力データ制御手段と、
前記各メモリ要素の出力データの外部出力を制御する出力データ制御手段とを有し、
外部からの入力信号として、読み出しアドレス、書き込みアドレス、読み出し許可、入 力データ、ウェーブレット順変換のレベル、及び、当該メモリブロックに対する選択信号の各信号を有することを特徴とする請求項5に記載の符号化装置。 - 前記記憶手段は、ワード単位でもビット単位でも読み出しと書き込みが可能な記憶要素であることを特徴とする請求項1に記載の符号化装置。
- 前記記憶要素はレジスタであることを特徴とする請求項8に記載の符号化装置。
- 前記制御手段は、前記フレームメモリから符号化処理の対象となる周波数帯信号データを、前記記憶手段を介することなく、直接的に前記符号化手段へ転送する制御のための手段を含むことを特徴とする請求項1に記載の符号化装置。
- 周波数帯信号データ又はイメージデータを一時的に記憶するための記憶手段、
圧縮コードの復号化処理を行って周波数帯信号データを生成する復号化手段、
フレームを分割したタイルを処理単位として周波数帯信号データのウェーブレット逆変換処理を行ってイメージデータを生成するウェーブレット変換手段、
前記復号化手段より前記復号化処理によって生成された周波数帯信号データを前記記憶手段へ転送する制御、前記記憶手段より前記復号化処理によって生成された周波数帯信号データをフレームメモリへ転送する制御、前記フレームメモリより前記ウェーブレット逆変換処理の対象となる周波数帯信号データを前記記憶手段へ転送する制御、前記記憶手段より前記ウェーブレット逆変換処理によって生成されたイメージデータを前記フレームメモリへ転送する制御、前記記憶手段と前記ウェーブレット変換手段との間で周波数帯信号データ又はイメージデータを転送する制御を行う制御手段を有し、
前記制御手段の制御によって、前記記憶手段より前記復号化処理によって生成された周波数帯信号データが周波数帯毎に連続して読み出され、該読み出されたデータが前記フレームメモリのライン毎のラスタ順の連続データとして前記フレームメモリへ転送されることを特徴とする復号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16737498A JP3719699B2 (ja) | 1998-06-15 | 1998-06-15 | 符号化装置及び復号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16737498A JP3719699B2 (ja) | 1998-06-15 | 1998-06-15 | 符号化装置及び復号化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000004364A JP2000004364A (ja) | 2000-01-07 |
JP3719699B2 true JP3719699B2 (ja) | 2005-11-24 |
Family
ID=15848539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16737498A Expired - Fee Related JP3719699B2 (ja) | 1998-06-15 | 1998-06-15 | 符号化装置及び復号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3719699B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100378594B1 (ko) * | 2000-07-31 | 2003-03-31 | 한국전자통신연구원 | 웨이블릿 변환을 이용한 카메라 자동 초점 조절 방법 및그 장치 |
JP4665898B2 (ja) | 2004-02-23 | 2011-04-06 | 日本電気株式会社 | 2次元信号の符号化/復号方法および装置 |
-
1998
- 1998-06-15 JP JP16737498A patent/JP3719699B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000004364A (ja) | 2000-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6546143B1 (en) | Efficient wavelet-based compression of large images | |
JP3984886B2 (ja) | データ変換装置、データ変換方法、コンピュータプログラム、記憶媒体 | |
US7302105B2 (en) | Moving image coding apparatus, moving image decoding apparatus, and methods therefor | |
JP2000197052A (ja) | ウェ―ブレット符号化装置及び方法並びに復号装置及び方法 | |
JP2007267384A (ja) | 圧縮装置及び圧縮方法 | |
JP2000341689A (ja) | ウェーブレット逆変換装置及び方法、並びにウェーブレット復号装置及び方法 | |
JP5088607B2 (ja) | プリントされるべきデジタル映像のデータへ導入される欠陥を減少する方法 | |
JP3719699B2 (ja) | 符号化装置及び復号化装置 | |
JP2001025018A (ja) | ウェーブレット変換装置、符号化復号化装置、ウェーブレット変換処理方法、及び、記録媒体 | |
JP2738136B2 (ja) | ブロック化装置 | |
JP3660136B2 (ja) | 符号化復号化装置 | |
US6681051B1 (en) | Arrangement for transforming picture data | |
JP2003283839A (ja) | 画像変換方法および装置 | |
JPH07193809A (ja) | 画像データの符号化および復号化方法 | |
JP3655088B2 (ja) | ウェーブレット変換装置及び符号化/復号化装置 | |
JPH09214967A (ja) | 画像データ圧縮処理方法 | |
JP3859325B2 (ja) | 画像の反復変換復号化装置及び方法、並びに記録媒体 | |
JP4117866B2 (ja) | ウェーブレット変換装置及び符号化復号化装置 | |
JP2934425B1 (ja) | 画像データ圧縮装置および画像データ伸長装置 | |
JP3520166B2 (ja) | 画像処理装置 | |
JP3167684B2 (ja) | 小画面のためのコンテキスト発生回路及びその方法 | |
KR100723043B1 (ko) | 이미지 데이터의 이산 웨이블릿 변환 방법 및 그 장치 | |
AU744914B2 (en) | Two dimensional discrete wavelet transforms | |
JP3546720B2 (ja) | 符号化装置及び方法、復号装置及び方法並びに記録媒体 | |
JP2003244443A (ja) | 画像符号化装置及び画像復号装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050531 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050801 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050830 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050905 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080916 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090916 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090916 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100916 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110916 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120916 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130916 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |