(57)【特許請求の範囲】
【請求項１】
可逆ウェーブレット変換部、コンテキストモデル部、該可逆ウェーブレット変換部及び該コンテキストモデル部と接続されたメモリ、並びに該コンテキストモデル部と接続されたＦＳＭコーダからなり、該可逆ウェーブレット変換部による可逆ウェーブレット変換処理と、該コンテキストモデル部によるコンテキストモデル処理、及び、該ＦＳＭコーダによるＦＳＭ符号化又は復号化処理により、画像データの符号化又は復号化をビットプレーン単位で行い、また、該コンテキストモデル処理においてビットシグニフィカンス埋め込みを行う符号化復号化装置において、該コンテキストモデル部は処理対象画素及びその周辺画素のデータを一時記憶するためのバッファ記憶部を有し、該バッファ記憶部はシフトレジスタ、及び、該シフトレジスタと該メモリの間のデータの入出力のためのメモリインターフェース部を含み、該シフトレジスタは、該ＦＳＭコーダから与えられる復号ビットデータにより保持データの処理対象ビットプレーンの書き換えが可能なワークレジスタを含むことを特徴とする符号化復号化装置。
【請求項２】
該ワークレジスタが複数段のワークレジスタであることを特徴とする請求項１記載の符号化復号化装置。
【請求項３】
該バッファ記憶部は、該シフトレジスタの入力段及び出力段と該メモリインターフェース部との間にそれぞれ設けられた複数段の第１と第２のバッファレジスタをさらに含み、コンテキストモデル処理の期間に、該メモリと該第１及び第２のバッファレジスタとの間のデータの入出力動作が行われることを特徴とする請求項２記載の符号化復号化装置。
【請求項４】
該バッファ記憶部は、該メモリインターフェース部を介して該メモリよりデータを入力可能な複数段の第３のバッファレジスタをさらに含み、コンテキストモデル処理の期間に、処理対象のウェーブレット階層レベルと別のウェーブレット階層レベルのデータが該メモリより該第３のバッファレジスタに取り込まれることを特徴とする請求項３記載の符号化復号化装置。
【請求項５】
該シフトレジスタは、可変長のシフトレジスタであり、その段数が処理対象のウェーブレット階層レベルに応じて切り替えられることを特徴とする請求項１、２又は３記載の符号化復号化装置。
【請求項６】
各ビットプレーンの全データが０であるか否かを示すフラグ情報を保持するための、該ウェーブレット変換部及び該コンテキストモデル部よりアクセス可能なゼロフラグレジスタをさらに含み、該バッファ記憶部は該ゼロフラグレジスタに保持されているフラグ情報により該メモリインターフェース部を介して該メモリより取り込まれたデータをマスク処理するためのデータマスク装置をさらに含み、該マスク処理後のデータが該シフトレジスタに入力されることを特徴とする請求項１、２、３、４又は５記載の符号化復号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データの符号化復号化装置に係り、特に、可逆ウェーブレット変換を利用する符号化復号化装置に関する。
【０００２】
【従来の技術】
可逆ウェーブレット変換を利用する符号化復号化装置として、可逆ウェーブレット変換部、コンテキストモデル部、及び、ＦＳＭコーダからなり、可逆ウェーブレット変換処理と、コンテキストモデル処理及びＦＳＭ符号化又は復号化処理により、画像データの符号化又は復号化をビットプレーン単位で行い、また、コンテキストモデル処理においてビットシグニフィカンス埋め込みを行う方式（以下、本方式）の符号化復号化装置が知られている。ＦＳＭコーダは、有限ステートマシン（ＦＳＭ）を利用したエントロピー符号化復号化器である。可逆ウェーブレット変換部と、コンテキストモデル部及びＦＳＭコーダとは独立して動作するため、一般に、可逆ウェーブレット変換部とコンテキストモデル部との間にメモリを介在させ、このメモリを介してデータを交換するように構成される。また、コンテキストモデル処理では、処理対象画素のコンテキストを生成する際に周辺の画素の状態を参照するため、コンテキストモデル部の内部に、処理対象画素とその周辺画素のデータを一時記憶するためのバッファ記憶部が用意される。通常、このバッファ記憶部はシフトレジスタ等からなるラインバッファである。
【０００３】
なお、本方式の符号化復号化装置の処理内容と構成に関する公知文献としては特開平８−１１６２６５号公報、特開平９−１２１１６８号公報などがある。
【０００４】
【発明が解決しようとする課題】
本発明の一般的な目的は、本方式の符号化復号化装置の高速化と回路規模の縮小化を図ることにあり、より具体的な目的は以下に列挙するとおりである。
【０００５】
本方式の符号化復号化装置は、復号化時に、メモリ内の処理対象画素データに対して、復号化されたビットプレーンのみ書き換える操作を行う必要がある。本発明の一つの目的は、コンテキストモデル部内のバッファ記憶部の構成を改良することにより、回路規模を増大させることなく、復号化時のビットプレーン単位のデータの書き換えを効率よく実行可能にした符号化復号化装置を提供することである。
【０００６】
本方式の符号化復号化装置は、可逆ウェーブレット変換処理を利用するためウェーブレット階層レベルによってデータのサイズが異なる。本発明のもう一つの目的は、コンテキストモデル部内のバッファ記憶部の構成を改良することにより、回路規模を増大させることなく、上記のようなサイズの異なるデータに対するコンテキストモデル処理を効率的に実行可能にした符号化復号化装置を提供することである。
【０００７】
本方式の符号化復号化装置は、コンテキストモデル処理において、全データが０のビットプレーンの符号量を減らすため、処理対象のビットプレーンの全データが０か否か判断する必要がある。しかし、この判断のためにメモリから処理対象ビットプレーンの全データを読み込み、その間、コンテキストモデル処理が待ち状態になるのでは、符号量は減らせても処理時間が増加してしまう。本発明の一つの目的は、そのような処理時間の増加を回避できるように改良した符号化復号化装置を提供することである。
【０００８】
本方式の符号化復号化装置は、コンテキストモデル処理において、連続した複数画素が全て同一であるか否かを調べ、全て同一ならば複数の画素を処理対象とし、同一でないならば個々の画素を順次処理対象とする場合がある。しかし、この場合に、連続した複数の画素の取り込みのためにコンテキストモデル処理が待ち状態になるのでは処理時間が増加してしまう。このような不都合を解消した符号化復号化装置を提供することが、本発明のもう一つの目的である。
【０００９】
本方式の符号化復号化装置は、コンテキストモデル処理において、あるウェーブレット階層レベルのデータの処理のために、別のウェーブレット階層レベルのデータの参照を必要とする場合がある。本発明の他の目的は、上記の別ウェーブレット階層レベルのデータの参照が必要な場合にコンテキストモデル処理が待ち状態にならないように改良した符号化復号化装置を提供することである。
【００１０】
【課題を解決するための手段】
請求項１記載の符号化復号化装置は、可逆ウェーブレット変換部、コンテキストモデル部、該可逆ウェーブレット変換部及び該コンテキストモデル部と接続されたメモリ、並びに該コンテキストモデル部と接続されたＦＳＭコーダからなり、該可逆ウェーブレット変換部による可逆ウェーブレット変換処理と、該コンテキストモデル部によるコンテキストモデル処理、及び、該ＦＳＭコーダによるＦＳＭ符号化又は復号化処理により、画像データの符号化又は復号化をビットプレーン単位で行い、また該コンテキストモデル処理においてビットシグニフィカンス埋め込みを行う符号化復号化装置であって、その特徴は、該コンテキストモデル部が処理対象画素及びその周辺画素のデータを一時記憶するためのバッファ記憶部を有し、該バッファ記憶部がシフトレジスタ、及び、該シフトレジスタと該メモリの間のデータの入出力のためのメモリインターフェース部を含み、該シフトレジスタが、該ＦＳＭコーダから与えられる復号ビットデータにより保持データの処理対象ビットプレーンの書き換えが可能なワークレジスタを含むことである。
【００１１】
請求項２記載の符号化復号化装置は、請求項１記載の符号化復号化装置の構成において、複数段のワークレジスタを用いることを特徴とする。
【００１２】
請求項３記載の符号化復号化装置は、請求項２記載の符号化復号化装置の構成において、該バッファ記憶部に、該シフトレジスタの入力段及び出力段と該メモリインターフェース部との間にそれぞれ設けられた複数段の第１と第２のバッファレジスタをさらに含め、コンテキストモデル処理の期間に、該メモリと該第１及び第２のバッファレジスタとの間のデータの入出力動作を行うことを特徴とする。
【００１３】
請求項４記載の符号化復号化装置は、請求項３記載の符号化復号化装置の構成において、該バッファ記憶部に、該メモリインターフェース部を介して該メモリよりデータを入力可能な複数段の第３のバッファレジスタをさらに含め、コンテキストモデル処理の期間に、処理対象のウェーブレット階層レベルと別のウェーブレット階層レベルのデータを該メモリより該第３のバッファレジスタに取り込むことを特徴とする。
【００１４】
請求項５記載の符号化復号化装置は、請求項１、２又は３記載の符号化復号化装置の構成において、該シフトレジスタを可変長のシフトレジスタとし、該シフトレジスタの段数を処理対象のウェーブレット階層レベルに応じて切り替えることを特徴とする。
【００１５】
請求項６記載の符号化復号化装置は、請求項１、２、３、４又は５記載の符号化復号化装置の構成に、各ビットプレーンの全データが０であるか否かを示すフラグ情報を保持するための、該ウェーブレット変換部及び該コンテキストモデル部よりアクセス可能なゼロフラグレジスタをさらに含め、また、該バッファ記憶部に、該ゼロフラグレジスタに保持されているフラグ情報により該メモリインターフェース部を介して該メモリより取り込まれたデータをマスク処理するためのデータマスク装置をさらに含め、該マスク処理後のデータを該シフトレジスタに入力することを特徴とする。
【００１６】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
《第１実施例》
図１は、本発明の第１実施例による符号化復号化装置の全体構成を示すブロック図である。この符号化復号化装置は、可逆ウェーブレット変換部１００、メモリ１０１、コンテキストモデル部１０３及びＦＳＭコーダ１０４からなる。
【００１７】
動作の概略は次のとおりである。符号化時には、可逆ウェーブレット変換部１００で外部から入力する画像データがウェーブレット順変換され、その変換データ（周波数帯信号データ）はメモリ１０１を介してコンテキストモデル部１０３に取り込まれてビットシグニフィカンス埋め込みされながらＦＳＭコーダ１０４により符号化され、コードストリームとして出力される。復号化時には、ＦＳＭコーダ１０４で外部より入力するコードストリームが復号化されてコンテキストモデル部１０３へ与えられ、コンテキストモデル部１０３から次のコンテキストがＦＳＭコーダ１０４に送られる。周波数帯信号データの全ビットプレーンがメモリ１０１上に復元されると、これに対し可逆ウェーブレット変換部１００でウェーブレット逆変換が施されることにより画像データが復元され、外部に出力される。
【００１８】
コンテキストモデル部１０３はバッファ記憶部１１０、コンテキストモデル処理部１１１、及び、バッファ記憶部１１０とコンテキストモデル処理部１１１の制御及びメモり１０１のアクセス制御を行うためのコントロール部１１２から構成される。
【００１９】
符号化時には、コンテキストモデル部１０３は、コントロール部１１２の制御により、メモリ１０１より処理対象画素のデータとその周辺画素のデータをバッファ記憶部１１０に読み込み、コンテキストモデル処理部１１１でバッファ記憶部１１０内の処理対象画素と周辺画素のデータを参照してコンテキストと処理対象ビットをＦＳＭコーダ１０４に与える。ＦＳＭコーダ１０４は、与えられたコンテキストと処理対象ビットに基づいてコードを発生する。このような符号化処理は周波数帯信号データのビットプレーン単位で行われる。
【００２０】
復号化時には、ＦＳＭコーダ１０４は外部より入力するコードストリームを復号化し、復号したビットデータをコンテキストモデル部１０３へ入力する。コンテキストモデル部１０３においては、処理対象画素とその周辺画素のデータをメモリ１０１よりバッファ記憶部１１０に読み込み、コンテキストモデル処理部１１１で復号ビットデータとバッファ記憶部１１０内の周辺画素データとからコンテキストを発生してＦＳＭコーダ１０４へ与える。このような復号化処理もビットプレーン単位で行われるが、処理対象画素データに対して、復号化されたビットプレーンのみメモリ１０１を書き換える処理が必要となる。本実施例によれば、次に述べるように、バッファ記憶部１１０の内部構造を工夫することにより、周辺画素データを取り込むシフトレジスタと別に、処理対象画素データを取り込みその書き換えを行うための専用のレジスタなどを設けることなく、復号化されたビットプレーンの書き換えを効率的に行うことができる。
【００２１】
本実施例におけるバッファ記憶部１１０の内部構成を図２に示す。図２において、２０１はＸ段のシフトレジスタ、２０２はＸ−１段のシフトレジスタ、２０３は１段のワークレジスタであり、それらの保持データはコンテキストモデル処理部１１１から参照可能である。２０４はメモリ１０１とのデータの入出力を行うためのメモリインターフェース部である。
【００２２】
メモリ１０１のデータはメモリインターフェース部２０４を経由して取り込まれ、シフトレジスタ２０２の右端（初段）に入力され、シフトレジスタ２０２の左端（最終段）から出力されたデータはワークレジスタ２０３に入力され、ワークレジスタ２０３から出力されたデータはシフトレジスタ２０１の右端（初段）に入力され、シフトレジスタ２０１の左端（最終段）から出力されたデータはメモリインターフェース部２０４を介してメモり１０１に書き込まれる。このように、シフトレジスタ２０１，２０２とワークレジスタ２０３は全体として１本の２Ｘ段シフトレジスタを構成し、その上のデータはクロックに同期して順次シフトされる。ワークレジスタ２０３の保持データは処理対象画素のデータである。シフトレジスタ２０２には、処理対象画素と同じライン上の周辺画素のデータが保持され、また、シフトレジスタ２０１には処理対象画素の隣りのライン上の周辺画素のデータが保持される。なお、シフトレジスタ２０１，２０２及びワークレジスタ２０３は、周波数帯信号データの最大のビット深さと同じビット深さ（又はそれ以上のビット深さ）を有する。
【００２３】
ワークレジスタ２０３の構成について、図３及び表１を参照して説明する。図３に示すように、ワークレジスタ２０３はレジスタ３０１とコンビネーションロジック３０２とを含み、コンビネーションロジック３０２を経由してレジスタ３０１に対し、シフトレジスタ２０２の出力データ、ＦＳＭコーダ１０４による復号データ、又は、レジスタ３０１の出力データ（ワークレジスタ２０３の出力データ）が選択的に入力される構成である。この入力切り替えは、コントロール部１１２よりコンビネーションロジック３０２に与えられるメモリアクセス期間信号３１０と復号データ書き込み許可信号３１１によって制御される。復号データ書き込み許可信号３１１は、各ビットプレーンに対応して、ワークレジスタ２０３のビット深さと同じ本数だけ存在する。
これら制御信号と入力切り替えの関係は表１に示すとおりである。
【００２４】
【表１】
0003786329.tif 000002
【００２５】
シフトレジスタ２０１，２０２及びワークレジスタ２０３からなる一続きのシフトレジスタ上のデータを一斉に１桁だけシフトしたい場合などには、メモリアクセス期間信号３１０がＨレベルとされ、また、全ビットプレーンの復号データ書き込み許可信号３１１がＬレベルとされる。この場合、表１に示すように、ワークレジスタ３０１にシフトレジスタ２０２の出力データが入力され、クロックのタイミングでレジスタ３０１に保持される。符号化の際に、メモリ１０１からデータを取り込んだりメモり１０１へデータを書き出したりする時には、このような制御が行われる。
【００２６】
復号化の際には、処理対象ビットプレーンに対応した復号データ書き込み許可信号３１１だけはＨレベル、それ以外のビットプレーンに対応した復号データ書き込み許可信号３１１はＬレベルとされ、また、メモリアクセス期間信号３１０はＬレベルとされる。この時、表１から理解されるように、処理対象ビットプレーンに関しては、ＦＳＭコーダ１０４より与えられた復号ビットデータがレジスタ３０１に入力され、それ以外のビットプレーンに関してはレジスタ３０１の出力データが入力にフィードバックされ、これら入力データはクロックのタイミングでレジスタ３０１に保持される。つまり、処理対象画素データの処理対象ビットプレーンのみが復号ビットデータで書き換えられる。このクロック・タイミングでは、シフトレジスタ２０１，２０２はシフトされない。このようにして処理対象ビットプレーンのビットが書き換えられたデータは、順次シフトされ、最終的にシフトレジスタ２０１よりシフトアウトされてメモリ１０１に書き戻される。次のビットプレーンが処理対象となった時に、メモリ１０１より再びデータがシフトレジスタ２０２に取り込まれ、同様にワークレジスタ２０３上で処理対象ビットプレーンのビットが復号データにより書き換えられる。同様の動作の繰り返しにより、最終的に全ビットプレーンについて復号データによって書き換えられたデータがメモリ１０１に得られる。
【００２７】
このようにバッファ記憶部１１０を構成するシフトレジスタ中にビットプレーン単位で復号ビットデータによるデータの書き換えが可能なワークレジスタ２０３を挿入することにより、復号ビットプレーンの書き換えのための専用のレジスタなどを別に用意する必要がないため、装置の回路規模を縮小できる。また、そのような専用のレジスタに処理対象画素データをメモリ１０１から取り込み、書き換え後に同レジスタのデータをメモリ１０１に書き戻す動作を別に行う必要がなく、このことは処理の高速化に寄与する。
【００２８】
《第２実施例》
本発明の第２実施例によれば、前記第１実施例と同様の構成において、バッファ記憶部１１０内のワークレジスタ２０３が図４に示すようにＮ段構成に変更され、これにあわせてシフトレジスタ２０２の段数がＸ−Ｎ段に変更される。図４に示すＮ段のワークレジスタ２０３は、図３に示した１段のワークレジスタをＮ個、直列に接続した構成である。各段の動作は図３に関連して説明した通りである。
【００２９】
本発明に係る符号化復号化装置は、コンテキストモデル処理において、１画素が処理対象となる場合と、連続したＮ画素が処理対象となる場合がある。本実施例によれば、連続したＮ画素が処理対象となる場合のワークレジスタ２０３の書き換えを効率的に行うことができる。
【００３０】
すなわち、処理対象が連続したＮ画素の場合、ＦＳＭコーダ１０４より連続したＮ画素分の復号ビットデータが出力される。この時に、ワークレジスタ２０３の全段のメモリアクセス期間信号３１０をＬレベルとし、また、全段の処理対象ビットプレーンに対応した復号データ書き込み許可信号３１１をＨレベル、他のビットプレーンに対応した復号データ書き込み許可信号３１１をＬレベルにすることにより、全段の保持データの処理対象ビットプレーンのビットのみ復号ビットデータにより書き換えることができる。
【００３１】
処理対象が１画素だけの場合は、処理対象画素データを保持しているワークレジスタ２０３の第１段（他の段でもよい）についてのみ、復号データ書き込み許可信号３１１を同様に制御することにより、その復号ビットデータによる書き換えを行うことができる。他の段に関しては、メモリアクセス期間信号３１０をＬレベル、全ビットプレーンの復号データ書き込み許可信号３１１をＬレベルとすることにより、データを保持させる。同様にして２画素以上、Ｎ画素未満の複数画素に対する書き換えも可能である。
【００３２】
《第３実施例》
本発明に係る符号化復号化装置は、コンテキストモデル処理において、連続したＮ個の処理対象画素が全て同じであるか否かを判断し、同じでなければＮ個の画素の１つ１つを順次処理対象とする、という処理を行う場合がある。この場合、Ｎ個の処理対象画素のデータを取り込む動作と、そのＮ個の各画素を順次処理する動作が必要となるが、取り込み動作の期間にコンテキストモデル処理が待ち状態になるのでは処理の高速化が妨げられる。
【００３３】
このような不都合を回避して高速処理を実現するため、本発明の第３実施例によれば、図１に示した全体構成の符号化復号化装置において、バッファ記憶部１１０が図５に示すような構成とされる。図５において、４０１はＸ段のシフトレジスタ、４０２はＸ−Ｎ段のシフトレジスタ、４０３は図４に示した構成のＮ段のワークレジスタ、４０４はメモリインターフェース部である。このような構成は前記第２実施例と同様である。
【００３４】
４０５はワークレジスタ４０３上で処理を完了しメモリ１０１へ書き戻すＮ画素のデータを保持するためのＮ段のバッファレジスタであり、その保持データはメモリ１０１に対する書き込みデータとなる。４０６は次に処理対象となるＮ画素のデータを保持するためのＮ段のバッファレジスタである。これらバッファレジスタ４０５，４０６は本実施例によって追加されたものである。
【００３５】
バッファレジスタ４０５，４０６に関連した動作について説明する。図６は説明用のタイミングチャートである。図６の「コンテキストステータス」に示すように、コンテキストモデル処理の間はシフト動作を行わず、ワークレジスタ４０３内の全ての処理対象画素データの処理が完了すると、シフト動作により次の処理対象画素データをワークレジスタ４０３に取り込む。同時に、図６の「バッファレジスタステータス」に示すように、シフト動作によりバッファレジスタ４０６よりデータをシフトレジスタ４０２へ転送し、シフトレジスタ４０１より処理が完了したデータをバッファレジスタ４０５へ転送する。このようにして、バッファレジスタ４０５にメモリ１０１に書き込むことができるデータが格納され、また、バッファレジスタ４０６は空になっている。そして、次の処理対象画素に対するコンテキストモデル処理が実行され、その期間内に、バッファレジスタ４０５からメモリ１０１へのデータ書き込み及びメモり１０１からバッファレジスタ４０６へのデータ読み出しが行われる。
【００３６】
このように、本実施例の符号化復号化装置においては、バッファレジスタ４０５，４０６を追加することにより、コンテキストモデル部１０３内部のコンテキストモデル処理と、外部のメモリ１０１の読み書きとを並行して行うことができる。レジスタ類のシフト動作はメモリのアクセス時間より相当に高速に行うことができるから、メモリの読み書きとコンテキストモデル処理とをシリアルに行う構成に比べ、動作を大幅に高速化できる。
【００３７】
《第４実施例》
本発明の第４実施例によれば、図１に示した全体構成の符号化復号化装置において、バッファ記憶部１１０が図７に示すような構成とされる。図７において、５０１はＸ段のシフトレジスタ、５０２はＸ−Ｎ段のシフトレジスタ、５０３は図４に示した構成のＮ段のワークレジスタ、５０４はメモリインターフェース部、５０５と５０６はＮ段のバッファレジスタである。このような構成は、図５に示した第３実施例の構成と同様であり、それに関連した動作も同様である。
【００３８】
本発明に係る符号化復号化装置は、コンテキストモデル処理において、親係数データ（処理対象とは異なるウェーブレット階層レベルのデータ）の参照が必要となる場合がある。この場合の処理を高速化するため、本実施例によれば、バッファ記憶部１１０に別階層データバッファレジスタ５０７が新たに設けられ、その保持データはコンテキストモデル処理部１１１によって参照可能である。
【００３９】
本実施例におけるコンテキストモデル部１０３のタイミングチャートを図８に示す。図８の「コンテキストステータス」と「バッファレジスタステータス」に示すように、コンテキストモデル処理と、バッファレジスタ５０５からメモリ１０１へのデータの書き込み及びメモリ１０１からバッファレジスタ５０６へのデータの読み出しとが並行して行われることは前記第３実施例と同様である。本実施例では、図８の「別階層データバッファレジスタステータス」に示すように、コンテキストモデル処理前後のデータの入れ替えのためのシフト動作の期間に、次のコンテキストモデル処理に必要となる別階層レベルのデータをメモリ１０１より別階層データバッファレジスタ４０６に読み込む。
【００４０】
このようにシフト動作期間に別階層データの取り込みを行うことができるため、コンテキストモデル処理に別階層データの参照が必要な場合でも、別階層データの取り込みのための待ち時間を生じさせず、直ちにコンテキストモデル処理を開始できる。したがって、本実施例の符号化復号化装置は、コンテキストモデル処理で処理対象データと別階層のデータを参照する必要がある場合でも、高速動作が可能である。
【００４１】
《第５実施例》
図９は、ウェーブレット順変換データ（周波数帯信号データ）の階層構造と、各階層レベルのデータサイズを示す。原画像のサイズを６４×６４とすると、階層レベル１の各周波数帯信号データ（ＤＳ１，ＳＤ１，ＤＤ１）のサイズは３２×３２となり、階層レベル２の各周波数帯信号データ（ＤＳ２，ＳＤ２，ＤＤ２）のサイズは１６×１６となり、また、階層レベル３の各周波数帯信号データ（ＤＳ３，ＳＤ３，ＤＤ３）のサイズは８×８となる。このように、可逆ウェーブレットでは、階層レベルによってデータのサイズが異なってくる。
【００４２】
このようなデータサイズの異なる各階層レベルのデータに対するコンテキストモデル処理を小さな回路規模で可能にするため、本発明の第５実施例によれば、図１に示した符号化復号化装置の全体的構成において、コンテキストモデル部１０３のバッファ記憶部１１０内のシフトレジスタは可変長のシフトレジスタとされる。
【００４３】
本実施例によるバッファ記憶部１１０の構成を図１１に示す。図１１において、６０１と６０２は８段のシフトレジスタ、６０３は１６段のシフトレジスタであり、これらシフトレジスタは処理対象画素の隣のラインのデータを１ライン分保持するための可変長シフトレジスタとして利用される。６０９と６１０は、そのシフトレジスタの長さ（段数）を切り替えるために利用されるマルチプレクサである。６０７は１段のレジスタ、６０８は図３に示す１段構成のワークレジスタ、６０４は６段のシフトレジスタ、６０５は８段のシフトレジスタ、６０６は１６段のシフトレジスタであり、処理対象画素を含む１ライン分のデータを保持するための可変長シフトレジスタとして利用される。６１１と６１２は、そのシフトレジスタ長の切り替えのためのマルチプレクサである。マルチプレクサ６０９，６１１にはコントロール部１１２より選択信号ｂが与えられ、マルチプレクサ６１０，６１２にはコントロール部１１２より選択信号ａが与えられる。６１３は２段のシフトレジスタ、６１４はメモリインターフェイス部である。このメモリインターフェース部６１４を介して、メモリ１０１からシフトレジスタ６１３にデータが読み込まれ、また、シフトレジスタ６０１からメモリ１０１へデータが書き出される。
【００４４】
ここでは、図９に関連して説明したような階層構造とサイズのデータを扱うことを想定している。この場合、処理対象の階層レベルに応じて、選択信号ａ，ｂは表２のように制御される。
【００４５】
【表２】
0003786329.tif 000003
【００４６】
また、図１０に示すように、処理対象画素Ｔのコンテキストを決定するためにＮＷ，Ｎ，Ｗ，Ｅ，Ｓの画素が参照されることを想定している。したがって、処理対象画素Ｔのデータはワークレジスタ６０８に保持されているから、参照画素ＮＷ，Ｎのデータはシフトレジスタ６０１に、参照画素Ｗのデータはレジスタ６０７に、参照画素Ｅのデータはシフトレジスタ６０４に、参照画素Ｓのデータはシフトレジスタ６１３に、それぞれ保持されることになる。
【００４７】
階層レベル１のデータのコンテキストモデル処理を行う場合には、表２に示すように、選択信号ａ，ｂは共にＬレベルに設定される。この場合、マルチプレクサ６０９はシフトレジスタ６０２の出力データをシフトレジスタ６０１に入力させ、マルチプレクサ６１０はシフトレジスタ６０３の出力データをシフトレジスタ６０２に入力させるので、シフトレジスタ６０１，６０２，６０３は直列につながり、全体として階層レベル１の１ラインのサイズに等しい３２段の１本のシフトレジスタとして動作する。また、マルチプレクサ６１１，６１２も前段のシフトレジスタの出力データを後段のシフトレジスタに入力させるので、レジスタ６０７、ワークレジスタ６０８、シフトレジスタ６０４，６０５，６０６が直列につながり、全体として３２段のシフトレジスタとして動作させることができる。これら上下の３２段シフトレジスタは、全体としては６４段の１本のシフトレジスタとして動作させることができる。したがって、前記第１実施例と同様のコンテキストモデル処理が可能である。ワークレジスタ６０８の保持データに対する復号ビットデータによる書き換えも、前記第１実施例と同様である。
【００４８】
階層レベル２のコンテキストモデル処理の場合には、表２に示すように、選択信号ａはＨレベルに設定され、選択信号ｂはＬレベルに設定される。この場合、マルチプレクサ６１０はレジスタ６０７の出力データをシフトレジスタ６０２に入力させ、マルチプレクサ６０９はシフトレジスタ６０２の出力データをシフトレジスタ６０１に入力させるため、シフトレジスタ６０１，６０２は全体として、階層レベル２の１ラインのサイズに等しい１６段のシフトレジスタとして動作する。シフトレジスタ６０３は利用されない。また、マルチプレクサ６１２はシフトレジスタ６１３の出力データをシフトレジスタ６０５に入力させ、マルチプレクサ６１１はシフトレジスタ６０５の出力データをシフトレジスタ６０４に入力させるため、レジスタ６０７、ワークレジスタ６０８、シフトレジスタ６０４，６０５は全体として１６段のシフトレジスタとして動作させることができる。シフトレジスタ６０６は利用されない。これら上下の１６段シフトレジスタは、全体として１本の３２段シフトレジスタとして動作させることができる。したがって、階層レベル２のデータに対するコンテキストモデル処理が可能である。
【００４９】
また、階層レベル３のデータのコンテキストモデル処理の場合には、表２に示すように、選択信号ｂはＨレベルに設定される。選択信号ａはどのようなレベルに設定されても構わない。マルチプレクサ６０９はレジスタ６０７の出力データをシフトレジスタ６０１に入力させるため、処理対象画素の隣りのラインの画素データを保持するシフトレジスタとして８段のシフトレジスタ６０１だけが利用される。また、マルチプレクサ６１１はシフトレジスタ６１３の出力データをシフトレジスタ６０４に入力させるため、レジスタ６０７、ワークレジスタ６０８及びシフトレジスタ６０４は全体として８段のシフトレジスタとして動作させることができる。したがって、前記第１実施例と同様のコンテキストモデル処理を階層レベル３のデータに対して行うことができる。
【００５０】
このように、コンテキストモデル処理のためのシフトレジスタを可変長とした構成によれば、各階層レベルのデータサイズに対応した長さのシフトレジスタを、階層レベル毎に別々に用意する構成に比べ、バッファ記憶部１１０の回路規模を小さくできることは明かである。
【００５１】
《第６実施例》
前記第２実施例に関連して説明したように、コンテキストモデル処理において、連続したＮ個の画素を処理対象とする場合がある。このような処理を効率的に実行可能にするため、本発明の第６実施例によれば、バッファ記憶部１１０は図１２に示すような構成とされる。
【００５２】
図１２において、図１１と同一部分には同一の符号が付けられている。図１２と図１１との相違点のみ説明する。図１２において、７０８は図４に示すＮ段構成（ただし、ここではＮ＝７）のワークレジスタである。つまり、図１１中の１段のワークレジスタ６０８と６段のシフトレジスタ６０４が、１つの７段ワークレジスタ７０８に置き換えられている。このワークレジスタ７０８の制御は前記第２実施例において説明したとおりである。これ以外の構成と、コンテキストモデル処理の動作及びそのための制御は前記第５実施例の場合と同様である。
【００５３】
《第７実施例》
本発明に係る符号化復号化装置は、コンテキストモデル処理において、処理対象画素を含むビットプレーン内の全データが０の時に、符号量を減らす処理を行う場合がある。本発明の第７実施例によれば、このような全データが０のビットプレーンに関する処理の高速化のため、後述のようにゼロフラグレジスタとデータマスク装置が符号化復号化装置に追加される。
【００５４】
図１３は、本実施例による符号化復号化装置のブロック図である。図１３において、図１又は図２と同一部分は同一の符号を付け、その説明を省略する。
【００５５】
図１３と図１を対照すれば明らかなように、ゼロフラグレジスタ８０１が追加されていることを除けば、装置の全体的構成は前記第１実施例と同様である。このゼロフラグレジスタ８０１は、各ビットプレーンの全データが０であるか否かを示すフラグ情報を保持するためのレジスタで、可逆ウェーブレット変換部１００、コンテキストモデル部１０３のいずれからもアクセス可能である。
【００５６】
また、図１３と図２を対照すれば明らかなように、本実施例においては、バッファ記憶部１１０のメモリインターフェース部２０４とシフトレジスタ２０２との間にデータマスク装置８０２が挿入されている点が前記第１実施例と相違する。データマスク装置８０２は、メモリ１０１より読み込まれた処理対象画素や参照画素のデータに対し、フラグレジスタ８０１の保持しているフラグ情報によりビット毎にマスク処理する装置である。このマスク処理後のデータがシフトレジスタ２０２に取り込まれる。
【００５７】
符号化時には、可逆ウェーブレット変換部１００は画像データのウェーブレット順変換を行う際に、各ビットプレーンの全データが０か否かを判断できるので、全データが０のビットプレーンについては０のフラグを、そうでないビットプレーンには１のフラグをゼロフラグレジスタ８０１に書き込む。コンテキストモデル部１０３は、周波数帯信号データを読み込んでコンテキストモデル処理を行うが、コントロール部１１２はゼロフラグレジスタ８０１のフラグ情報を参照することにより処理対象のビットプレーンの全データが０であるか否かをメモリ１０１をアクセスする前に判断できるので、処理対象ビットプレーンの全データが０の場合にメモリ１０１のアクセスを行わないように制御することができる。
【００５８】
復号化時には、コンテキストモデル部１０３は、復号されたビットデータによりワークレジスタ２０３上で処理対象画素データを書き換え、これがシフトされてメモリ１０１に書き戻されることになる。しかし、処理対象ビットプレーンの全データが０のときには、その旨がＦＳＭコーダ１０４からコンテキストモデル部１０３に与えられる。この場合、コンテキストモデル部１０３のコントロール部１１３は、ゼロフラグレジスタ８０１の処理対象ビットプレーンのフラグを０に設定し、当該処理対象ビットプレーンの復号ビットデータのメモリ１０１への書き戻しを行わないように制御する。つまり、バッファ記憶部１１０内のデータシフト動作もメモリ１０１のアクセス動作も行わない。したがって、メモリ１０１上では当該処理対象ビットプレーンのビットデータは不正なものとなるが、処理に支障を来さない。すなわち、処理対象のビットプレーンが一つ下位に下がり、同じ周波数帯信号データの処理を行う場合に、その不正なデータがメモリ１０１より読み込まれるが、全データが０の上位ビットプレーンのフラグは０に設定されており、データマスク装置８０２のマスク処理によって当該上位ビットプレーンのデータビットが０に設定された正しいデータがシフトレジスタ２０２に取り込まれるからである。
【００５９】
なお、バッファ記憶部１１０のシフトレジスタ構成を前記第２実施例、第３実施例、第４実施例、第５実施例又は第６実施例と同様な構成に変更しても構わない。そのように変更した場合でも、メモリインターフェース部に直接接続したシフトレジスタの前段など適所にデータマスク装置を挿入すれば、本実施例同様の制御が可能である。
【００６０】
【発明の効果】
以上の説明から明らかなように、本発明によれば、以下のような多くの効果を得られる。
請求項１乃至６の各項記載の発明によれば、符号化復号化装置の回路規模の増大を回避しつつ、復号化されたビットプレーンのデータ書き換えを効率的に行い、復号化動作を高速化することができる。
【００６１】
請求項３記載の発明によれば、コンテキストモデル処理において、連続した複数個の処理対象画素が全て同じであるか否かを判断し、同じでなければ複数個の画素の１つ１つを順次処理対象とするという処理を行う場合でも、高速の動作が可能になる。
【００６２】
請求項第４記載の発明によれば、コンテキストモデル処理において処理対象のウェーブレット階層レベルと別のウェーブレット階層レベルのデータの参照が必要な場合でも、別階層レベルのデータの取り込みのための待ち時間の発生を回避し、高速動作が可能になる。
【００６３】
請求項５記載の発明によれば、コンテキストモデル部に、ウェーブレット階層レベル毎に異なった長さのシフトレジスタを用意する必要がなく、装置の回路規模を小さくできる。
【００６４】
請求項６記載の発明によれば、全データが０のビットプレーンを処理する際に時間のかかるメモリアクセスを回避し、動作を高速化できる。
【図面の簡単な説明】
【図１】本発明の第１実施例乃至第６実施例による符号化復号化装置の全体構成を示すブロック図である。
【図２】本発明の第１実施例による符号化復号化装置のバッファ記憶部の構成を示すブロック図である。
【図３】１段のワークレジスタの構成を示すブロック図である。
【図４】本発明の第２実施例による多段構成のワークレジスタのブロック図である。
【図５】本発明の第３実施例による符号化復号化装置のバッファ記憶部の構成を示すブロック図である。
【図６】本発明の第３実施例による符号化復号化装置の動作を説明するためのタイミングチャートである。
【図７】本発明の第４実施例による符号化復号化装置のバッファ記憶部の構成を示すブロック図である。
【図８】本発明の第４実施例よる符号化復号化装置の動作を説明するためのタイミングチャートである。
【図９】３レベルのウェーブレット階層構造を示す図である。
【図１０】処理対象画素と参照画素の位置関係の説明図である。
【図１１】本発明の第５実施例による符号化復号化装置のバッファ記憶部の構成を示すブロック図である。
【図１２】本発明の第６実施例による符号化復号化装置のバッファ記憶部の構成を示すブロック図である。
【図１３】本発明の第７実施例による符号化復号化装置のブロック図である。
【符号の説明】
１００  可逆ウェーブレット変換部
１０１  メモリ
１０３  コンテキストモデル部
１０４  ＦＳＭコーダ
１１０  バッファ記憶部
１１１  コンテキストモデル処理部
１１２  コントロール部
２０１  シフトレジスタ
２０２  シフトレジスタ
２０３  ワークレジスタ
２０４  メモリインターフェース部
３０１  レジスタ
３０２  コンビネーションロジック
４０１  シフトレジスタ
４０２  シフトレジスタ
４０３  ワークレジスタ
４０４  メモリインターフェース部
４０５  バッファレジスタ
４０６  バッファレジスタ
５０１  シフトレジスタ
５０２  シフトレジスタ
５０３  ワークレジスタ
５０４  メモリインターフェース部
５０５  バッファレジスタ
５０６  バッファレジスタ
５０７  別階層データバッファレジスタ
６０１  シフトレジスタ
６０２  シフトレジスタ
６０３  シフトレジスタ
６０４  シフトレジスタ
６０５  シフトレジスタ
６０６  シフトレジスタ
６０７  レジスタ
６０８  ワークレジスタ
６０９  マルチプレクサ
６１０  マルチプレクサ
６１１  マルチプレクサ
６１２  マルチプレクサ
６１３  シフトレジスタ
６１４  メモリインターフェース部
７０８  ワークレジスタ
８０１  ゼロフラグレジスタ
８０２  データマスク装置
【図１】
0003786329.tif 000004
【図２】
0003786329.tif 000005
【図３】
0003786329.tif 000006
【図４】
0003786329.tif 000007
【図５】
0003786329.tif 000008
【図６】
0003786329.tif 000009
【図７】
0003786329.tif 000010
【図８】
0003786329.tif 000011
【図９】
0003786329.tif 000012
【図１０】
0003786329.tif 000013
【図１１】
0003786329.tif 000014
【図１２】
0003786329.tif 000015
【図１３】
0003786329.tif 000016