JP3719699B2 - Encoding device and decoding device - Google Patents
Encoding device and decoding device 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
【0001】
【発明の属する技術分野】
本発明は、データ圧縮及び伸長の分野に係り、特に、ウェーブレット変換を利用する符号化及び復号化のための装置に関する。
【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 データ選択部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to the field of data compression and decompression, and more particularly to an apparatus for encoding and decoding using wavelet transform.
[0002]
[Prior art]
Data compression is a very useful tool for storing and transmitting large amounts of data. For example, the time required for facsimile transmission of a document and transmission of an image such as the World Wide Web can be drastically shortened by reducing the number of bits required for reproduction of the image using compression.
[0003]
Conventionally, many different data compression methods exist. As the most widely used compression method, there is a JPEG (Joint Photographic Experts Group) compression method. In the JPEG compression method, input symbols or luminance data are quantized and then converted into output codewords. Quantization aims to remove important feature quantities while preserving important feature quantities of data. Prior to quantization, transformation is used to concentrate energy, but JPEG employs DCT (discrete cosine transformation). However, various drawbacks have been pointed out with respect to the JPEG method using DCT. For example, block noise and mosquito noise (called this because mosquitoes appear to fly). In image signal processing, there is an interest in pursuing an efficient and highly accurate data compression encoding method that eliminates these drawbacks. Among these methods, there is a wavelet pyramid processing method.
[0004]
When wavelet transform (forward transform) is applied to a two-dimensional signal such as an image signal, a horizontal low-pass filter HL (Horizontal Low) and a horizontal high-pass filter HH (Horizontal High) are applied to the input signal. ) To separate the S (smooth) coefficient, which is a horizontal low-frequency signal, and the D (detail) coefficient, which is a horizontal high-frequency signal. Using a low-pass filter VL (Vertical Low) and a vertical high-pass filter VH (Vertical High), the SS coefficient that is a horizontal low-vertical low-frequency signal, horizontal low-vertical high-frequency The signal is divided into an SD coefficient, a DS coefficient that is a horizontal high band-vertical low band signal, and a DD coefficient that is a horizontal high band-vertical high band signal.
[0005]
The series of processes described above is called a level, and an output obtained by performing one horizontal process and vertical process is called a
[0006]
FIG. 14 shows a conventional configuration when processing up to
[0007]
In the wavelet transform unit 1000, filter1H, filter2H, filter3H, and filter4H are horizontal filters including a horizontal low-pass filter HL and a horizontal high-pass filter HH.
[0008]
The above filter may have any configuration, but in the following description, a 2-tap operation is performed using two sets of data as the horizontal low-pass filter HL and the vertical low-pass filter VL. A filter shall be used. As the horizontal high-pass filter HH and the vertical high-pass filter VH, among the S coefficients that are the outputs of the low-pass filter HL or VL, the current position and the sum of the previous and next It is assumed that a 6-tap filter that uses 3 sets of data for calculation is used.
[0009]
An example of calculation when such a filter is used is shown in FIG. (A) of FIG. 15 explains the process of the horizontal direction filter, 00 means the 0th pixel data of the 0th line, and 12 means the 2nd pixel data of the 1st line (such as this). Both lines and pixels are counted from the 0th position). The output S00 of the 0th pixel of the horizontal low-pass filter HL is obtained from 00 data and 01 data, and the output S01 of the 1st pixel is obtained from 02 data and 03 data. On the other hand, the output D00 of the 0th pixel of the horizontal high-pass filter HH is the data before and after the 00 data (not existing), 00 data, 01 data, and 02 data. , 03 data. Here, in order to obtain the data before and after the 00 data that does not actually exist, a process called a mirror is performed. Specifically, a process of turning back the data in a mirror image relationship is performed. As a result, the previous data and the previous data become 01 data and 00 data. In this way, D00 is calculated from the 6 pixel data.
[0010]
FIG. 15B illustrates the vertical filter processing. This process is performed in the vertical direction using the S coefficient and the D coefficient by the vertical filter process. The non-existent coefficient is subjected to mirror processing as in the case of the horizontal filter processing.
[0011]
FIG. 16 shows image data stored in a frame memory or the like in raster order. FIG. 17 to FIG. 20 show an example of a method for storing the calculation results up to
[0012]
The frequency band signals of the respective levels obtained as described above are encoded and compressed by the encoding /
[0013]
For more detailed information about the encoding and decoding apparatus, wavelet transform unit, or filter related to the present invention, refer to Japanese Patent Laid-Open No. 8-139935. Similar conventional techniques are disclosed in JP-A-3-27687, JP-A-5-167997, and JP-A-5-183386.
[0014]
[Problems to be solved by the invention]
Image data is normally written in the frame memory as raster data as shown in FIG. The wavelet transform unit converts this raster data into raster order.memoryAnd wavelet transform. At this time, the data is discretely mapped and written to the frame memory as shown in FIG. 21 so that the unprocessed data is not overwritten.
[0015]
As long as the processing time does not matter so much, any frame memory can be used. However, in order to realize high-speed processing, it is necessary to use a high-speed memory such as SDRAM or RDRAM. These high-speed memories are configured to read or write data corresponding to successive addresses starting from a specified address, so that a wait time is required when accessing discrete addresses. Will occur. When accessing the pixel direction discretely, the weight can be reduced to some extent by devising it.it can. However, in the line direction, the wait time is always generated structurally. For example, if discrete addressing is performed in the line direction (necessary for vertical processing), if two wait cycles occur, one cycle cycle required for actual memory access is required for vertical processing. In total, it takes three times as much processing time.
[0016]
For this reason, there is a problem that the high-speed performance of the high-speed memory cannot be fully utilized. When accessing the frame memory while performing wavelet processing, it is necessary to synchronize with the inside, but there is also a problem that wait time occurs until this synchronization is achieved. Since the address map after wavelet transform is complicated and discrete as shown in FIG. 21, there is also a problem that the interface part with the frame memory becomes complicated.
[0017]
In addition, the device is made into one chip, and the size corresponding to the tile that is the unit of image processing.SanomeIf the memory is to be provided inside, there is a limit to the size of one memory element that can be used inside the chip, so there are cases where the memory must be composed of two or more memory elements. In such a configuration, memory access from both blocks of the wavelet transform unit and the encoding / decoding unit becomes complicated. That is, there is a problem that the control units of both the wavelet transform unit and the encoding / decoding unit are large in size and complicated.
[0018]
In the wavelet transform unit, data input / output is in units of words. On the other hand, in the encoding / decoding unit, data input / output is in units of bits, so that the storage means used is the same as the wavelet transform unit. Therefore, there is a problem that a chip area for storage becomes large.
[0019]
The present invention has been made in view of the above-described problems, and its object is to increase the operation speed, simplify the configuration, and improve the memory usage efficiency of an encoding / decoding device that uses wavelet transform. There is.
[0020]
[Means for Solving the Problems]
According to the first aspect of the present invention, storage means for temporarily storing image data or frequency band signal data, wavelet order conversion processing of image data is performed by using tiles obtained by dividing a frame as processing units, and frequency band signal data is obtained. Wavelet transform means for generating, encoding means for performing compression processing of frequency band signal data to generate a compressed code, control for transferring image data to be subjected to the wavelet order conversion processing from a frame memory to the storage means, Control for transferring frequency band signal data generated by the wavelet forward conversion processing from the storage means to the frame memory, control for transferring frequency band signal data to be encoded from the frame memory to the storage means, Between the storage means and the wavelet transform means. Control means for transferring frequency data or frequency band signal data, and control means for transferring frequency band signal data between the storage means and the encoding means. By the control of the control means, the storage means The frequency band signal data generated by the wavelet order conversion process is continuously read for each frequency band, and the read data is transferred to the frame memory as continuous data in raster order for each line of the frame memory. The encoding device is characterized by the above.
The specific contents of the transfer of the frequency band signal data from the storage means to the frame memory will be described as follows in connection with, for example, Example 1 described later.
For example, signals in each frequency band of SS, 4SD, 4DS, 4DD, 2SD, 2DS, 2DD, 1SD, 1DS, and 1DD are generated by the wavelet order conversion process for one tile. 110 stored. And Such frequency band signal data is continuously read from the
For example, in the case of 2SD, the data is read continuously, and is first transferred as continuous data in raster order corresponding to
[0021]
A second aspect of the present invention is the encoding device according to the first aspect of the present invention, wherein the storage means is a tile boundary in the image data of the target tile of the wavelet order conversion process transferred from the frame memory. An overlap memory for temporarily storing the data of the part for reference in a wavelet order conversion process for other tiles after the tile, storing the data in the overlap memory, and The encoding device is characterized in that reference in the wavelet order conversion processing of data stored in the overlap memory is controlled by the control means.
[0022]
According to a third aspect of the present invention, there is provided an encoding apparatus according to the first aspect of the present invention, wherein a part of the image data or frequency band signal data stored in the storage means during the wavelet forward conversion process is converted into the wavelet. A line memory temporarily stored for reference in the forward conversion process; storing image data or frequency band signal data in the line memory; and image data or frequency band signal data stored in the line memory The reference in the wavelet forward transformation process is controlled by the control means, and the storage means in a form in which the frequency band signal data generated by the wavelet forward transformation process is aggregated for each frequency band by the control of the control means It is the encoding apparatus characterized by being memorize | stored in this.
[0023]
According to a fourth aspect of the present invention, there is provided an encoding apparatus according to the first aspect of the invention, wherein the storage unit includes a plurality of memory blocks, and the image data transferred from the frame memory to the storage unit is The frequency band signal data divided and stored in specific storage areas of the plurality of memory blocks under the control of the control means and generated by the wavelet transform process are aggregated for each frequency band under the control of the control means. Thus, the encoding device is stored in a corresponding storage area of a corresponding memory block in the plurality of memory blocks.
[0024]
A fifth aspect of the present invention is the encoding apparatus according to the fourth aspect of the present invention, wherein each of the plurality of memory blocks is physically independent and can be independently accessed. It is an encoding device.
[0025]
A sixth aspect of the present invention is the encoding device according to the fourth aspect of the present invention, wherein each storage area of each memory block has a bit depth corresponding to the bit depth of frequency band signal data stored therein. This is a coding device characterized by having a length.
[0026]
A seventh aspect of the invention is an encoding apparatus according to the fifth aspect of the invention, wherein each of the memories The block includes a plurality of memory elements, input data control means for controlling reading and writing with respect to each memory element, and output data control means for controlling external output of output data of each memory element. As an input signal, there are provided a read address, write address, read permission, input data, wavelet order conversion level, and selection signal for the memory block.
[0027]
The invention according to
[0028]
A ninth aspect of the present invention is the encoding apparatus according to the eighth aspect of the present invention, wherein the storage element is a register.
[0029]
A tenth aspect of the present invention is the encoding apparatus according to the first aspect of the present invention, wherein the control means passes frequency band signal data to be encoded from the frame memory via the storage means. And a control unit that directly transfers the data to the encoding unit.
[0030]
The invention described in
[0031]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the accompanying drawings. For convenience of explanation, the same reference numerals are assigned to the same portions or corresponding portions in the drawings.
[0032]
<Example 1>
FIG. 1 is a block diagram of an encoding / decoding system according to an embodiment of the present invention. In FIG. 1, 100 is a frame memory, 101 is a wavelet transform unit, 102 is an encoding / decoding unit, and 103 is a storage unit. For example, the
[0033]
Encoding / decoding unit102Works as an encoding unit that encodes wavelet transform frequency band signals to generate compressed code code in the case of encoding operation, and generates frequency band signals by decoding compressed code code in the case of decoding operation It works as a decoding unit. Encoding / decoding unit102Encoding system having the same configuration in which is replaced with an encoding-dedicated one, and encoding / decoding unit102A decoding system having a similar configuration in which is replaced with a decoding-dedicated one is also included in the present invention.
[0034]
The
[0035]
As shown in FIG. 2, the
[0036]
As shown in FIG. 3, the
[0037]
The tile memory 120 conceptually has a positional relationship of A, B, C, D, E, F, G as shown in FIG., H,It is composed of the Z region. A memory area composed of a collection of areas Z, E, F, G, and H has the same size of M × N pixels as the size of the tile, and when a tile in the
[0038]
Next, an operation for encoding image data on the
[0039]
First, under the control of the input / output interface unit 111 in the
[0040]
Next, under the control of the input / output interface unit 111 (or the input / output interface unit 112), the image data in the H area and the G area (see FIG. 3) in the tile memory 120 is overlapped with the x direction overlap memory 121. Each is copied to the memory 122 (step 2).
[0041]
Next, necessary data copy for A, B, C, and D of the tile memory 120 is performed under the control of the input / output interface unit 111 (or 112) (step 3). The contents of this data copy depend on the position of the tile to be processed. The positional relationship of tiles on the
[0042]
Initially, the upper left tile (0), which is the hatched area in FIG. 2, is processed, and this tile is the tile at
[0043]
Next, the
[0044]
When the wavelet order conversion of the tile (0) is completed in this way, the data in the M × N memory area of the tile memory 120 is written to the tile (0) area of the
[0045]
When the wavelet order conversion processing for the tile (0) is completed in this way, the tile (1) on the right is selected as the processing target (step 6), and the tile (1) of the
[0046]
Since tile (1) is a tile at
[0047]
The
[0048]
The tiles on the right side are sequentially processed up to the tile before the tile (n−1). Since these tiles are the tiles shown in the
[0049]
The rightmost tile (n−1) is a tile at
[0050]
Next, the first tile (n) in the second column is processed, which is the tile at
[0051]
Next, the tile (n + 1) on the right is processed, which is the tile at
[0052]
In the case of the tile on the right side (excluding the tile at the right end), the same copy processing as that for the tile (n) is performed in
[0053]
Similarly, tiles are sequentially processed from top to bottom and from left to right. For these tiles, a data copy operation corresponding to the tile at
[0054]
The lower left tile of the
[0055]
The tile on the right side (excluding the rightmost tile) is the tile at
[0056]
When processing the last rightmost (lower right) tile, that is, the tile at
[0057]
As described above, the transfer of image data from the
[0058]
After the image data is read into the tile memory 120, only the
[0059]
When the wavelet order conversion process for one frame is completed, the frequency band signal data on the
[0060]
As is well known, an SDRAM that is often used as the
[0061]
The frequency band signal data transferred from the
[0062]
The encoding will be further described. For example, 4DS, 4SD, 4DD,. . . Each time, the MSB (most significant bit) is processed in order from the lower bit in units of bit planes (two-dimensional bit planes at the same bit depth). The encoding process is performed in units of 2 (x direction) × 8 (y direction) pixels of the bit plane (this is when 2 × 8 size data exists, and when smaller, the size). . What is actually processed is every unit of the above-mentioned size, but since the periphery is also referred to, data of an area including the periphery, for example, data of 4 × 10 pixels is read from the
[0063]
The transfer of the 1DD coefficient data to the
[0064]
The above is the description when encoding is performed. Decoding is performed in the reverse procedure of the encoding. That is, the encoding /
[0065]
Frequency band signal data is written in the
[0066]
Note that the size of the tile memory 120 is determined in accordance with the maximum level required by the
[0067]
<Example 2>
FIG. 7 is a block diagram of an encoding / decoding system according to another embodiment of the present invention. The difference in configuration between the first embodiment and the present embodiment is that the number of words of M / 2 (where M ≧ N) is stored in the
[0068]
In the case of encoding, image data for processing for one tile is read from the
[0069]
The
[0070]
Similarly, in the case of horizontal processing from the 0th pixel of the next first line, the data from the (M / 2 + 1) pixel of the first line of the tile memory 120 to the last pixel is first copied to the line memory 115. After that, horizontal processing is performed, and the S coefficient and the D coefficient are written in the same manner. With respect to the overwritten data, the horizontal processing is performed to the last pixel without any trouble by referring to the data in the line memory 115 as in the 0th line. Similarly, the horizontal processing is performed up to the last line, so that the S coefficient is stored in the left half of the tile memory 120 and the D coefficient is stored in the right half as shown in FIG.
[0071]
Next,
[0072]
Next,
[0073]
Next,
[0074]
The frequency band signal data obtained in the tile memory 120 is converted into continuous data for each line and in raster order via the input / output interface unit 111 as in the first embodiment, and is transferred to the
[0075]
<Example 3>
According to another embodiment of the present invention, in the configuration of the second embodiment, the tile memory of the
[0076]
The reading of the image data into the tile memory having such a divided configuration may be considered in the same manner as in the first and second embodiments, but the image data for one tile is a network of four memory blocks memSS, memSD, memDS, and memDD. It is written in a distributed form in a storage area that is not multiplied. The same applies to mirror processing for image data. The wavelet order conversion for the read image data may be basically considered in the same manner as in the second embodiment. However, each type of coefficient data of
[0077]
Since the memory blocks memSS, memSD, memDS, and memDD are physically independent from each other, they can be accessed at the same time and read / write the S coefficient and D coefficient at the same time, or read / write SS, SD, DS, and DD simultaneously. Therefore, higher speed processing is possible. The same applies to the wavelet inverse transform processing at the time of decoding. Further, since each coefficient data is continuously mapped to the corresponding storage area of the corresponding memory block, the addressing to the
[0078]
Furthermore, the configuration of the present embodiment is particularly effective when the output bit depth of the low-pass filter or high-pass filter used in the
[0079]
<Example 4>
According to another embodiment of the present invention, each memory block (memSS, memSD, memDS, memDD) 124 constituting the tile memory in the third embodiment is configured as shown in FIG. That is, each
[0080]
There is a limit to the size of memory that can be built into a chip. When a memory block having a size larger than that is required, each memory block memSS, memsD, memDS, and memDD must be formed from a plurality of memory elements in the chip. In this case, if the memory block of the present embodiment is used, the
[0081]
<Example 5>
According to another embodiment of the present invention, in the configuration of each embodiment described above, the tile memory of the
[0082]
In the
[0083]
<Example 6>
According to another embodiment of the present invention, the
[0084]
In FIG. 13,
[0085]
When the image data on the
[0086]
In the case of decoding, the
[0087]
Although the embodiments of the present invention have been described above, the present invention is not limited to such embodiments, and various modifications are allowed.
[0088]
【The invention's effect】
As described above in detail, according to the present invention, many effects as described below can be obtained.
[0089]
[0090]
Claim3DescribedEncoderIn line, as mentioned abovememoryIn order to non-discretely map the frequency band signal data to the internal storage means at the wavelet transform stage, the means for controlling the transfer when transferring the frequency band signal data to the frame memory However, it is possible to transfer frequency band signal data as raster-order data for each line without performing discrete address mapping. Therefore, the means for controlling the frequency band can be simplified and reduced in size. Further, since the addressing to the internal storage means at the time of wavelet transform is simplified, the control mechanism can be simplified.
[0091]
And claims4, 5, 6DescribedEncoderSince it is possible to access multiple blocks of the internal storage means simultaneously during wavelet order conversion,ConversionIt is possible to further speed up the work. Further, by providing each block with the necessary minimum bit depth according to the corresponding type of frequency band signal, the memory cost for the internal storage means can be reduced.
[0092]
ClaimItem 7ListedEncoderIn, without being aware that each block of the internal storage means is composed of a plurality of storage elements, the wavelet transform unit andEncoderSince each block can be accessed as if it were a single storage element, the control mechanism related to the access can be simplified.
[0093]
Claim8,9DescribedEncoderAs mentioned above,EncoderThis process can be simplified and speeded up, and the coding operation can be speeded up.
[0094]
Claim10DescribedEncoderInEncoderBy transferring data directly between the frame memory and the frame memory without going through the internal storage meansEncoding operationIs possible.
[Brief description of the drawings]
FIG. 1 is a block diagram of an encoding / decoding system according to a first embodiment of the present invention.
FIG. 2 is an explanatory diagram of a frame memory and a tile that is a processing unit.
FIG. 3 is an explanatory diagram of a tile memory and an overlap memory.
FIG. 4A is a table for explaining the contents of a method for determining the position of a tile to be processed, mirror processing, and the like.
(B) It is a figure which shows the positional relationship of the tile on a frame memory.
FIG. 5 is a diagram showing mapping of frequency band signal data in a frame memory.
FIG. 6 is a flowchart for explaining operations related to wavelet transform processing of image data.
FIG. 7 is a block diagram of an encoding / decoding system according to a second embodiment of the present invention.
FIG. 8 is a diagram for explaining a method of using a line memory and a method of storing coefficient data during horizontal processing for a tile memory.
FIG. 9 is a diagram for explaining a method of using an in-memory and a method of storing coefficient data during vertical processing with respect to a tile memory.
FIG. 10 is a diagram illustrating mapping of frequency band signal data in a tile memory.
FIG. 11 is a diagram showing a configuration of a tile memory and a method for storing frequency band signal data in a third embodiment of the present invention.
FIG. 12 is a block diagram showing a configuration of a memory block in a fourth embodiment of the present invention.
FIG. 13 is a block diagram of a compression / decompression system according to a fifth embodiment of the present invention.
FIG. 14 is a block diagram for explaining a conventional technique.
FIG. 15 is a diagram for explaining operations in horizontal processing and vertical processing of wavelet transform.
FIG. 16 is a diagram showing a memory map of image data.
FIG. 17 is a diagram illustrating a memory map of 1S coefficients and 1D coefficients.
FIG. 18 is a diagram illustrating a memory map of 1SS coefficient, 1SD coefficient, 1DS coefficient, and 1DD coefficient.
FIG. 19 is a diagram illustrating a memory map of 2S coefficients and 2D coefficients.
FIG. 20 is a diagram illustrating a memory map of 2SS coefficients, 2SD coefficients, 2DS coefficients, and 2DD coefficients.
FIG. 21 is a diagram showing a memory map of each coefficient of
[Explanation of symbols]
100 frame memory
101 Wavelet transform unit
102 Coding / decoding unit
103 storage unit
110 Internal memory
111, 112, 113 Input / output interface section
115 line memory
120 tile memory
121 x direction overlap memory
122 Y direction overlap memory
124 memory blocks
200 Input data control unit
201 Output data control unit
202 memory elements
301, 302 Input / output interface unit
303 Data selection part
Claims (11)
フレームを分割したタイルを処理単位としてイメージデータのウェーブレット順変換処理を行って周波数帯信号データを生成するウェーブレット変換手段、Wavelet transform means for generating frequency band signal data by performing wavelet order transform processing of image data using tiles obtained by dividing frames as processing units;
周波数帯信号データの符号化処理を行って圧縮コードを生成する符号化手段、Encoding means for generating a compressed code by performing encoding processing of frequency band signal data;
フレームメモリより前記ウェーブレット順変換処理の対象となるイメージデータを前記記憶手段へ転送する制御、前記記憶手段より前記ウェーブレット順変換処理によって生成された周波数帯信号データを前記フレームメモリへ転送する制御、前記フレームメモリより前記符号化処理の対象となる周波数帯信号データを前記記憶手段へ転送する制御、前記記憶手段と前記ウェーブレット変換手段との間でイメージデータ又は周波数帯信号データを転送する制御、前記記憶手段と前記符号化手段との間で周波数帯信号データを転送する制御を行う制御手段を有し、Control for transferring image data to be subjected to wavelet order conversion processing from a frame memory to the storage means, control for transferring frequency band signal data generated by the wavelet order conversion processing from the storage means to the frame memory, Control for transferring the frequency band signal data to be encoded from the frame memory to the storage means, control for transferring image data or frequency band signal data between the storage means and the wavelet transform means, the storage Control means for performing control to transfer frequency band signal data between the means and the encoding means,
前記制御手段の制御によって、前記記憶手段より前記ウェーブレット順変換処理によって生成された周波数帯信号データが周波数帯毎に連続して読み出され、該読み出されたデータが前記フレームメモリのライン毎のラスタ順の連続データとして前記フレームメモリへ転送されることを特徴とする符号化装置。Under the control of the control means, the frequency band signal data generated by the wavelet order conversion process is continuously read from the storage means for each frequency band, and the read data is read for each line of the frame memory. An encoding apparatus, wherein the data is transferred to the frame memory as continuous data in raster order.
前記オーバーラップメモリへのデータの保存、及び、前記オーバーラップメモリに保存されたデータのウェーブレット順変換処理での参照が前記制御手段により制御されることを特徴とする請求項1に記載の符号化装置。2. The encoding according to claim 1, wherein storage of the data in the overlap memory and reference in the wavelet order conversion processing of the data stored in the overlap memory are controlled by the control means. apparatus.
前記ラインメモリへのイメージデータ又は周波数帯信号データの保存、及び、前記ラインメモリに保存されたイメージデータ又は周波数帯信号データのウェーブレット順変換処理での参照が前記制御手段により制御され、かつ、前記制御手段の制御により、ウェーブレット順変換処理により生成された周波数帯信号データは周波数帯毎に集約された形で前記記憶手段に記憶されることを特徴とする請求項1に記載の符号化装置。The image data or the frequency band signal data stored in the line memory, and the reference in the wavelet transform process of the image data or the frequency band signal data stored in the line memory is controlled by the control means, and 2. The encoding apparatus according to claim 1, wherein the frequency band signal data generated by the wavelet forward conversion process is stored in the storage means in a form aggregated for each frequency band under the control of the control means.
前記フレームメモリから前記記憶手段に転送されたイメージデータは、前記制御手段の制御により、前記複数のメモリブロックの特定の記憶領域に分割されて記憶され、The image data transferred from the frame memory to the storage means is divided and stored in specific storage areas of the plurality of memory blocks under the control of the control means.
ウェーブレット変換処理により生成された周波数帯信号データは、前記制御手段の制御により、周波数帯別に集約された形で、前記複数のメモリブロック中の対応したメモリブロックの対応した記憶領域に記憶されることを特徴とする請求項1記載の符号化装置。The frequency band signal data generated by the wavelet transform process is stored in the corresponding storage area of the corresponding memory block in the plurality of memory blocks in a form aggregated for each frequency band under the control of the control means. The encoding device according to claim 1.
複数のメモリ要素と、Multiple memory elements;
前記各メモリ要素に対する読み出し及び書き込みを制御する入力データ制御手段と、Input data control means for controlling reading and writing to each memory element;
前記各メモリ要素の出力データの外部出力を制御する出力データ制御手段とを有し、Output data control means for controlling the external output of the output data of each memory element,
外部からの入力信号として、読み出しアドレス、書き込みアドレス、読み出し許可、入As an external input signal, read address, write address, read permission, input 力データ、ウェーブレット順変換のレベル、及び、当該メモリブロックに対する選択信号の各信号を有することを特徴とする請求項5に記載の符号化装置。6. The encoding apparatus according to claim 5, further comprising: force data, a wavelet order conversion level, and a selection signal for the memory block.
圧縮コードの復号化処理を行って周波数帯信号データを生成する復号化手段、Decoding means for generating frequency band signal data by performing decoding processing of the compressed code;
フレームを分割したタイルを処理単位として周波数帯信号データのウェーブレット逆変換処理を行ってイメージデータを生成するウェーブレット変換手段、Wavelet transform means for generating image data by performing wavelet inverse transform processing of frequency band signal data using tiles obtained by dividing frames as processing units;
前記復号化手段より前記復号化処理によって生成された周波数帯信号データを前記記憶手段へ転送する制御、前記記憶手段より前記復号化処理によって生成された周波数帯信号データをフレームメモリへ転送する制御、前記フレームメモリより前記ウェーブレット逆変換処理の対象となる周波数帯信号データを前記記憶手段へ転送する制御、前記記憶手段より前記ウェーブレット逆変換処理によって生成されたイメージデータを前記フレームメモリへ転送する制御、前記記憶手段と前記ウェーブレット変換手段との間で周波数帯信号データ又はイメージデータを転送する制御を行う制御手段を有し、Control for transferring frequency band signal data generated by the decoding process from the decoding means to the storage means, control for transferring frequency band signal data generated by the decoding process from the storage means to a frame memory, Control for transferring the frequency band signal data to be subjected to the wavelet inverse transform processing from the frame memory to the storage means, control for transferring the image data generated by the wavelet inverse transform processing from the storage means to the frame memory, Control means for performing control to transfer frequency band signal data or image data between the storage means and the wavelet transform means;
前記制御手段の制御によって、前記記憶手段より前記復号化処理によって生成された周波数帯信号データが周波数帯毎に連続して読み出され、該読み出されたデータが前記フレームメモリのライン毎のラスタ順の連続データとして前記フレームメモリへ転送されることを特徴とする復号化装置。Under the control of the control means, the frequency band signal data generated by the decoding process is continuously read from the storage means for each frequency band, and the read data is rasterized for each line of the frame memory. A decoding apparatus characterized by being transferred to the frame memory as sequential continuous data.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16737498A JP3719699B2 (en) | 1998-06-15 | 1998-06-15 | Encoding device and decoding device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16737498A JP3719699B2 (en) | 1998-06-15 | 1998-06-15 | Encoding device and decoding device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000004364A JP2000004364A (en) | 2000-01-07 |
| JP3719699B2 true JP3719699B2 (en) | 2005-11-24 |
Family
ID=15848539
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP16737498A Expired - Fee Related JP3719699B2 (en) | 1998-06-15 | 1998-06-15 | Encoding device and decoding device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3719699B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100378594B1 (en) * | 2000-07-31 | 2003-03-31 | 한국전자통신연구원 | Camera Auto-Focusing Method And Apparatus Using Wavelet Transform |
| CN1943243B (en) * | 2004-02-23 | 2013-06-05 | 日本电气株式会社 | 2-dimensional signal encoding/decoding method and device |
-
1998
- 1998-06-15 JP JP16737498A patent/JP3719699B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2000004364A (en) | 2000-01-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6546143B1 (en) | Efficient wavelet-based compression of large images | |
| EP1035511A2 (en) | Encoding method and apparatus | |
| US20040013312A1 (en) | Moving image coding apparatus, moving image decoding apparatus, and methods therefor | |
| JP2007267384A (en) | Compression device and compression method | |
| JP2000341689A (en) | Wavelet inverse transform apparatus and method, and wavelet decoding apparatus and method | |
| JP5088607B2 (en) | Method for reducing defects introduced in digital video data to be printed | |
| JP4768728B2 (en) | Method and apparatus for encoding a block of values | |
| JP4245123B2 (en) | Wavelet processing apparatus and wavelet processing method | |
| JP4097108B2 (en) | Wavelet transform device and encoding / decoding device | |
| JP3719699B2 (en) | Encoding device and decoding device | |
| JP2738136B2 (en) | Blocking device | |
| JP3437197B2 (en) | Image processing device | |
| JP3660136B2 (en) | Encoding / decoding device | |
| US6681051B1 (en) | Arrangement for transforming picture data | |
| JP2003283839A (en) | Image transforming method and apparatus | |
| JP4117866B2 (en) | Wavelet transform device and encoding / decoding device | |
| JP2934425B1 (en) | Image data compression device and image data decompression device | |
| JP3520166B2 (en) | Image processing device | |
| AU744914B2 (en) | Two dimensional discrete wavelet transforms | |
| EP0911760A2 (en) | Iterated image transformation and decoding apparatus and methods | |
| JP2019110405A (en) | Image coding device, control method of the same, and program | |
| KR100723043B1 (en) | Discrete wavelet transform method and apparatus for image data | |
| JP3546720B2 (en) | Encoding device and method, decoding device and method, and recording medium | |
| JPH0844709A (en) | Two-dimensional inverse discrete cosine transform (IDCT) device | |
| JP2003244443A (en) | Image encoding device and image decoding device |
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 |