(57)【特許請求の範囲】
【請求項１】
複数のコンポーネントからなる画像データに対し、タイル単位で、ウェーブレット変換圧縮方式による圧縮処理を行って、タイル毎の順次データであるコードストリームを出力する画像データ圧縮装置であって、
画像データのコンポーネントに１対１に対応付けられており、並列に動作して、それぞれが画像データの対応コンポーネントに対し、タイル単位でウェーブレット変換圧縮方式の圧縮処理を実行して対応コンポーネントのコードを出力する複数のプロセッサコアと、
前記複数のプロセッサコアにおいて画像データの１のタイルに対する圧縮処理が終了する都度、前記複数のプロセッサコアより出力された各コンポーネントのコードの先頭から有効な部分だけを順に結合してタイル毎の圧縮データであるタイルデータを生成し、該タイルデータをタグを付加しコードストリームとして出力するタグ処理手段と、
画像データ全体の出力コード量の上限値が外部より設定される上限設定レジスタと、
前記上限設定レジスタに設定された上限値及びタイル数から、タイル毎の出力コード量の上限値を算出する上限算出手段とを有し、
前記タグ処理手段は、各タイルのタイルデータのコード量が前記上限算出手段により算出されたタイル毎の出力コード量の上限値を超えない限度で、前記複数のプロセッサコアより出力された各コンポーネントのコードの有効な部分を選び、この際に各コンポーネントに均等にコード量を割り当てることを特徴とする画像データ圧縮装置である。
【請求項２】
複数のコンポーネントからなる画像データに対し、タイル単位で、ウェーブレット変換圧縮方式による圧縮処理を行って、タイル毎の順次データであるコードストリームを出力する画像データ圧縮装置であって、
画像データのコンポーネントに１対１に対応付けられており、並列に動作して、それぞれが画像データの対応コンポーネントに対し、タイル単位でウェーブレット変換圧縮方式の圧縮処理を実行して対応コンポーネントのコードを出力する複数のプロセッサコアと、
前記複数のプロセッサコアにおいて画像データの１のタイルに対する圧縮処理が終了する都度、前記複数のプロセッサコアより出力された各コンポーネントのコードの先頭から有効な部分だけを順に結合してタイル毎の圧縮データであるタイルデータを生成し、該タイルデータをタグを付加しコードストリームとして出力するタグ処理手段と、
画像データ全体の出力コード量の上限値が外部より設定される上限設定レジスタと、
各コンポーネントの相対的な重みが外部より設定されるコンポーネント重みレジスタと、
前記上限設定レジスタに設定された上限値、前記コンポーネント重みレジスタに設定された重み及びタイル数から、タイル毎の、前記コンポーネント重みレジスタに設定された重みにより重み付けされた各コンポーネントの出力コード量の上限値を算出する上限算出手段とを有し、
前記タグ処理手段は、各タイルのタイルデータの各コンポーネントのコード量が、前記上限算出手段により算出された各コンポーネントの出力コード量の上限値を超えない限度で、前記複数のプロセッサコアより出力された各コンポーネントのコードの有効な部分を選ぶことを特徴とする画像データ圧縮装置。
【請求項３】
複数のコンポーネントからなる画像データに対し、タイル単位で、ウェーブレット変換圧縮方式による圧縮処理を行って、タイル毎の順次データであるコードストリームを出力する画像データ圧縮装置であって、
画像データのコンポーネントに１対１に対応付けられており、並列に動作して、それぞれが画像データの対応コンポーネントに対し、タイル単位でウェーブレット変換圧縮方式の圧縮処理を実行して対応コンポーネントのコードを出力する複数のプロセッサコアと、
前記複数のプロセッサコアにおいて画像データの１のタイルに対する圧縮処理が終了する都度、前記複数のプロセッサコアより出力された各コンポーネントのコードの先頭から有効な部分だけを順に結合してタイル毎の圧縮データであるタイルデータを生成し、該タイルデータをタグを付加しコードストリームとして出力するタグ処理手段と、
画像データ全体の出力コード量の上限値が外部より設定される上限設定レジスタと、
各タイルの相対的な重みが外部より設定されるタイル重みレジスタと、
前記上限設定レジスタに設定された上限値、前記タイル重みレジスタに設定された重み及びタイル数から、前記タイル重みレジスタに設定された重みにより重み付けされた各タイルの出力コード量の上限値を算出する上限算出手段とを有し、
前記タグ処理手段は、各タイルのタイルデータのコード量が前記上限算出手段により算出された各タイルの出力コード量の上限値を超えない限度で、前記複数のプロセッサコアより出力された各コンポーネントのコードの有効な部分を選び、この際に各コンポーネントに均等にコード量を割り当てることを特徴とする画像データ圧縮装置。
【請求項４】
前記各プロセッサコアは、
画像データの対応コンポーネントをタイル単位でウェーブレット変換して周波数帯信号に分解するウェーブレット変換手段と、
前記周波数帯信号に対して、ターゲットビットを定め、該ターゲットビットの周辺ビットに基づきコンテキストを生成するコンテキストモデル手段と、
前記ターゲットビット及びコンテキストから確率推定によってコードを生成するＦＳＭコーダと、
を有することを特徴とする請求項１，２又は３記載の画像データ圧縮装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像などの二次元データの圧縮技術に係り、特に、可逆ウェーブレット変換処理、コンテキスト（文脈）モデル処理及びＦＳＭ符号化処理の組合せによるデータ圧縮技術に関する。
【０００２】
【従来の技術】
画像等の二次元データの圧縮方式として、二次元の可逆ウェーブレット変換処理、コンテキスト（文脈）モデル処理及びＦＳＭ符号化処理の組合せによるデータ圧縮方式（便宜上、ウェーブレット変換圧縮方式と呼ぶ）が知られている。このウェーブレット変換圧縮方式に関する公知文献としては、特開平８−１１６２６５号公報、特開平９−１２１１６８号公報などがある。ＦＳＭ符号化処理は、有限状態マシン（ＦＳＭ）ベースのエントロピー符号化処理であり、そのための符号化復号化器はＦＳＭコーダと呼ばれる。
【０００３】
通常、画像等はタイルと呼ばれる２次元領域に分割され、圧縮はタイル毎に行われる。圧縮データは、所定のフォーマットのコードストリームとして出力される。
【０００４】
【発明が解決しようとする課題】
例えば、デジタルカメラで撮影した画像を圧縮してメモリカード等に保存する場合、画像１枚あたりのコード量（圧縮データ量）に制限を加える場合が多い。このようなコード量の制限は、上に述べた例に限らず、データを記憶したり伝送したりする場合にしばしば必要になるものである。
【０００５】
本発明の目的は、そのようなコード量の制限が必要な用途に好適な、ウェーブレット変換圧縮方式のデータ圧縮装置を提供することにある。
【０００６】
ここで、本発明の目的と効果の理解を容易にするため、ウェーブレット変換圧縮方式においてコード量を制限する方法をいくつか検討する。
【０００７】
考えられる一つの方法は、ウェーブレット変換処理後のデータを重要度の高いデータから順に符号化していき、予め指定したある重要度のデータまで符号化すると、残りのデータを捨ててしまう方法であろう。この方法は、符号化が完了するまで実際のコード量が分からないため、符号化を終わった段階でコード量が制限を越えた場合には、どの重要度のデータまで符号化の対象とするか指定しなおして符号化を再度行う必要があり、処理時間が増加してしまう。
【０００８】
考えられるもう一つの方法は、重要度の高いデータから順に符号化していき、生成されたコードの量を逐次測定し、所定のコード量に達すると、それ以後に生成されるコードを捨ててしまう方法であろう。この方法は、画像のタイル分割を行わない場合には採用可能であろう。しかし、ある程度の大きさの画像を処理する場合、画像を複数のタイルに分割し、タイル単位で順に符号化していくのが普通である。タイル分割を行う場合、符号化中にコード量を測定し、所定のコード量に達した後のコードを捨ててしまうのでは、あるタイル以降のタイルのデータが完全に欠落してしまうことになり、コードストリームから満足な画像を復元できなくなってしまう。
【０００９】
このような不都合を回避する方法の一つは、全てのタイルを符号化し、生成されたコードをメモリに蓄積しておく。符号化が完了した段階で、全体のコード量を把握し、しかる後に、全体のコード量が制限を越えないように各タイルのコードを量子化する方法であろう。しかし、画像１枚分のコードを蓄積するために大きなメモリを用意する必要がある。画像をタイル分割する目的の一つは、処理に必要なメモリ量の増加を抑えることであるから、そのような大きなメモリを必要とすることは好ましくない。また、タイル毎の順次データであるコードストリームに対し、各タイルの一部データを捨てる処理を行うには、かなり時間がかかるという問題もある。
【００１０】
本発明によれば、以下の説明によって明らかになるように、上に述べた各方法のような不都合を回避しつつ、適切なコード量制限を行うことができる。
【００１１】
【課題を解決するための手段】
請求項１記載の発明は、
複数のコンポーネントからなる画像データに対し、タイル単位で、ウェーブレット変換圧縮方式による圧縮処理を行って、タイル毎の順次データであるコードストリームを出力する画像データ圧縮装置であって、
画像データのコンポーネントに１対１に対応付けられており、並列に動作して、それぞれが画像データの対応コンポーネントに対し、タイル単位でウェーブレット変換圧縮方式の圧縮処理を実行して対応コンポーネントのコードを出力する複数のプロセッサコアと、
前記複数のプロセッサコアにおいて画像データの１のタイルに対する圧縮処理が終了する都度、前記複数のプロセッサコアより出力された各コンポーネントのコードの先頭から有効な部分だけを順に結合してタイル毎の圧縮データであるタイルデータを生成し、該タイルデータをタグを付加しコードストリームとして出力するタグ処理手段と、
画像データ全体の出力コード量の上限値が外部より設定される上限設定レジスタと、
前記上限設定レジスタに設定された上限値及びタイル数から、タイル毎の出力コード量の上限値を算出する上限算出手段とを有し、
前記タグ処理手段は、各タイルのタイルデータのコード量が前記上限算出手段により算出されたタイル毎の出力コード量の上限値を超えない限度で、前記複数のプロセッサコアより出力された各コンポーネントのコードの有効な部分を選び、この際に各コンポーネントに均等にコード量を割り当てることを特徴とする画像データ圧縮装置である。
【００１２】
請求項２記載の発明は、
複数のコンポーネントからなる画像データに対し、タイル単位で、ウェーブレット変換圧縮方式による圧縮処理を行って、タイル毎の順次データであるコードストリームを出力する画像データ圧縮装置であって、
画像データのコンポーネントに１対１に対応付けられており、並列に動作して、それぞれが画像データの対応コンポーネントに対し、タイル単位でウェーブレット変換圧縮方式の圧縮処理を実行して対応コンポーネントのコードを出力する複数のプロセッサコアと、
前記複数のプロセッサコアにおいて画像データの１のタイルに対する圧縮処理が終了する都度、前記複数のプロセッサコアより出力された各コンポーネントのコードの先頭から有効な部分だけを順に結合してタイル毎の圧縮データであるタイルデータを生成し、該タイルデータをタグを付加しコードストリームとして出力するタグ処理手段と、
画像データ全体の出力コード量の上限値が外部より設定される上限設定レジスタと、
各コンポーネントの相対的な重みが外部より設定されるコンポーネント重みレジスタと、
前記上限設定レジスタに設定された上限値、前記コンポーネント重みレジスタに設定された重み及びタイル数から、タイル毎の、前記コンポーネント重みレジスタに設定された重みにより重み付けされた各コンポーネントの出力コード量の上限値を算出する上限算出手段とを有し、
前記タグ処理手段は、各タイルのタイルデータの各コンポーネントのコード量が、前記上限算出手段により算出された各コンポーネントの出力コード量の上限値を超えない限度で、前記複数のプロセッサコアより出力された各コンポーネントのコードの有効な部分を選ぶことを特徴とする画像データ圧縮装置である。
【００１３】
請求項３記載の発明は、
複数のコンポーネントからなる画像データに対し、タイル単位で、ウェーブレット変換圧縮方式による圧縮処理を行って、タイル毎の順次データであるコードストリームを出力する画像データ圧縮装置であって、
画像データのコンポーネントに１対１に対応付けられており、並列に動作して、それぞれが画像データの対応コンポーネントに対し、タイル単位でウェーブレット変換圧縮方式の圧縮処理を実行して対応コンポーネントのコードを出力する複数のプロセッサコアと、
前記複数のプロセッサコアにおいて画像データの１のタイルに対する圧縮処理が終了する都度、前記複数のプロセッサコアより出力された各コンポーネントのコードの先頭から有効な部分だけを順に結合してタイル毎の圧縮データであるタイルデータを生成し、該タイルデータをタグを付加しコードストリームとして出力するタグ処理手段と、
画像データ全体の出力コード量の上限値が外部より設定される上限設定レジスタと、
各タイルの相対的な重みが外部より設定されるタイル重みレジスタと、
前記上限設定レジスタに設定された上限値、前記タイル重みレジスタに設定された重み及びタイル数から、前記タイル重みレジスタに設定された重みにより重み付けされた各タイルの出力コード量の上限値を算出する上限算出手段とを有し、
前記タグ処理手段は、各タイルのタイルデータのコード量が前記上限算出手段により算出された各タイルの出力コード量の上限値を超えない限度で、前記複数のプロセッサコアより出力された各コンポーネントのコードの有効な部分を選び、この際に各コンポーネントに均等にコード量を割り当てることを特徴とする画像データ圧縮装置である。
【００１４】
請求項４記載の発明は、請求項１，２又は３記載の発明に係る画像データ圧縮装置であって、前記各プロセッサコアは、
画像データの対応コンポーネントをタイル単位でウェーブレット変換して周波数帯信号に分解するウェーブレット変換手段と、
前記周波数帯信号に対して、ターゲットビットを定め、該ターゲットビットの周辺ビットに基づきコンテキストを生成するコンテキストモデル手段と、
前記ターゲットビット及びコンテキストから確率推定によってコードを生成するＦＳＭコーダと、
を有することを特徴とする画像データ圧縮装置である。
【００１５】
【発明の実施の形態】
以下、添付図面を用い、本発明の実施の一形態としての画像データ圧縮装置について説明する。なお、説明の簡略化のため、複数の図面において、同一部もしくは対応部には同一の参照符号を用いる。
【００１６】
図１は、本発明による画像データ圧縮装置の一例を示すブロック図である。この画像データ圧縮装置１００は、カラー画像をタイル分割し、タイル単位でウェーブレット変換圧縮方式による圧縮処理を行ってコードストリームを出力するが、処理の高速化のため、画像の４つのコンポーネントＡ，Ｂ，Ｃ，Ｄのデータの圧縮処理を並列に実行する。
【００１７】
この並列処理のために、この画像データ圧縮装置１００は、カラー画像の各コンポーネントに１対１に対応付けられた４つのプロセッサコア１０１ａ，１０１ｂ，１０１ｃ，１０１ｄが並列に動作し、各プロセッサコア１０１から出力されるコードをタグ処理部１０２で１本化し、タグを付加した一つのコードストリームとして出力する基本構成である。
【００１８】
このコードストリームは、図２に示すように、メインヘッダ（Main  header）に続けて、各タイル毎のタイルヘッダ（tile  header）とイメージの圧縮コードであるタイルデータ（tile  data）を順に並べた構造である。各タイルデータの内容は、図４に見られるように、コンポーネントＡ，Ｂ，Ｃ，Ｄの圧縮コードをその順番に並べたものである。なお、メインヘッダの前、コードストリームの最後、各ヘッダ間及びヘッダとタイルデータ間にマーカが置かれるが、これらは図中省略されている。
【００１９】
ここで処理されるカラー画像の各コンポーネントは、例えば、原色系のＲ（赤）成分，Ｇ（緑）成分，Ｂ（青）成分，アルファ成分（３次元ＣＧの奥行き等の情報を保存するための成分）である。あるいは、補色系のＹ（黄）成分，Ｍ（マゼンタ）成分，Ｃ（シアン）成分，Ｋ（黒）成分である。ただし、これに限られるものではない。
【００２０】
各プロセッサコア１０１は同じ構成であり、タイル単位で、２次元の可逆ウェーブレット変換処理を行うウェーブレット変換部１０３と、コンテキストモデル処理を行うコンテキストモデル部１０４と、ＦＳＭ符号化処理を行うＦＳＭコーダ１０５とから構成される。各プロセッサコア１０１において、ウェーブレット変換部１０３は、入力された各タイルのコンポーネント・データを二次元可逆ウェーブレット変換により周波数帯信号に分解する。コンテキストモデル部１０４では、周波数帯信号に対し、指定されたアラインメント情報に従った順番でターゲットビットを定め、ターゲットビットの周辺ビットの並びからコンテキスト（文脈）を生成する。ＦＳＭコーダ１０５は、そのコンテキストとターゲットビットから確率推定によってコードを生成する。
【００２１】
タグ処理部１０２は、前述のように、各プロセッサコア１０１から出力されるコードを１本化してタグを付加したコードストリームを作成するが、この際に、タイル毎に出力コード量を制限する。この出力コード量の制限に関連して、このデータ圧縮装置は上限設定レジスタ１１０と上限算出器１１１を備えている。上限設定レジスタ１１０には、１枚の画像全体の出力コード量の上限値が外部より設定される。上限算出器１１１は、上限設定レジスタ１１０に設定された上限値に基づいて、各タイルの出力コード量の上限値を算出してタグ処理部１０２に指定する。
【００２２】
例えば、上限設定レジスタ１１０に設定された出力コード量上限値が１６０KByteで、画像１枚を構成するタイルの数を１６とする（タイルの数は、デフォルト値として上限算出器１１１に設定される場合と、外部よりレジスタ等を介して上限算出器１１１に指定される場合とがある。後者はタイル数が可変になる）。この場合、上限算出器１１１は各タイルのコード量の上限値を１６０KByte／16＝10KByteと計算する（なお、タイルのヘッダは短いので、それを無視して計算した。以下同様）。タグ処理部１０２においては、各プロセッサコア１０１から出力された各タイルのコードのうち、先頭から１０KByteまでのコードを有効なものとして扱い、図２に示すようなコードストリームを作成して出力する。なお、各コンポーネントに割り当てられるコード量は均等である。
【００２３】
このように、この画像データ圧縮装置１００は、可逆ウェーブレット変換処理、コンテキストモデル処理及びＦＳＭ符号化処理によってタイル単位で各コンポーネントの圧縮処理を並列に実行し、各タイルの出力コード量を制限して（量子化することと等価）コードストリームを作成し出力する構成である。したがって、画像全体のコードデータを一旦蓄積するための大きなメモリを必要としない。また、圧縮後のコード量が上限を越えるような場合でも圧縮処理をやり直す必要がない。また、出力コード量の制限は各タイル毎に行われるので、特定のタイルのデータが完全に欠落することもない。また、画像全体のコードデータを一旦蓄積した後に、各タイルデータの一部を捨てる処理を行う方法に比べ、画像データの入力からコードストリームの出力までの処理時間を短縮できる。
【００２４】
なお、この画像データ圧縮装置１００は最大４つのコンポーネントの並列処理が可能であるが、３つ以下のコンポーネントの処理も可能である。例えば、１コンポーネントだけで表現されたモノクロ画像の場合、１つのプロセッサコア１００だけで処理を実行させることができる。このような並列処理でない構成の画像データ圧縮装置も本発明に含まれることは当然である。
【００２５】
図３は、本発明による画像データ圧縮装置の他の一例を示すブロック図である。この画像データ圧縮装置２００は、基本的な構成及び動作は前記画像データ圧縮装置１００と同様であり、相違点は、コード量制限に関連して上限設定レジスタ１１０に加えてコンポーネント重みレジスタ１１２が設けられたこと、上限算出器１１１とタグ処理部１０２の作用がコード量制限に関して一部異なることである。以下、この相違点を中心に説明する。
【００２６】
上限設定レジスタ１１０には、前述のように画像全体の出力コード量の上限値が外部より設定される。コンポーネント重みレジスタ１１２には、各コンポーネントＡ，Ｂ，Ｃ，Ｄの相対的な重み（相対重要度）が外部より設定される。上限算出器１１１は、各レジスタ１１０，１１２に設定された情報及びタイル数（デフォルト値又は外部から設定された値）に基づいて、各タイルの出力コード量の上限値と、各タイルの各コンポーネントの出力コード量の上限値を算出し、それをタグ処理部１０２に指定する。
【００２７】
例えば、画像全体のコード量の上限値が１６０KByte、タイル数が１６、コンポーネントＡ，Ｂ，Ｃ，Ｄの重みが４：３：２：１であるとする。上限算出器１１１は、各タイルの出力コード量の上限値を160KByte／16＝10KByteと計算する。次に、各タイルの出力コード量上限値を各コンポーネントの重みに従って按分し、各コンポーネントのコード量の上限値を計算する。この例では、Ａ，Ｂ，Ｃ，Ｄの各コンポーネントの出力コード量の上限値はＡ＝４KByte，Ｂ＝３KByte，Ｃ＝２KByte，Ｄ＝１KByteと算出される。この場合、タグ処理部１０２は、タイル毎に、各プロセッサコア１０１より出力される各コンポーネントのコードのうち、その先頭から上記上限値に達するまでを有効なデータとして扱い、コードストリームを作成して出力する。コードストリームの構成と、各タイルと各コンポーネントの出力コード量の上限値の関係を図４に示す。
【００２８】
画像の種類や、ユーザの希望によって、コンポーネント毎に再現精度を変えたいような場合がある。この画像データ処理装置２００によれば、そのようなコンポーネントの重み付けを必要とする状況で出力コード量を適切に制限することができる。また、メモリや処理時間の増大、特定のタイルデータの欠落を回避できることは、前記画像データ処理装置１００と同様である。
【００２９】
なお、この画像データ圧縮装置２００においても、単一コンポーネントのモノクロ画像などを処理できる。この場合、コンポーネントのコード量上限値とタイルデータのコード量上限値とが同じ値となるため、コード量制限の結果は、実質的に前記画像データ圧縮処理装置１００の場合と同一になる。
【００３０】
図５は、本発明による画像データ圧縮装置の別の一例を示すブロック図である。この画像データ圧縮装置３００は、基本的な構成及び動作は前記画像データ圧縮装置１００と同様であり、相違点は、コード量制限に関連して上限設定レジスタ１１０に加えてタイル重みレジスタ１１４が設けられたこと、上限算出器１１１とタグ処理部１０２の作用が出力コード量制限に関して一部異なることである。以下、この相違点を中心に説明する。
【００３１】
上限設定レジスタ１１０には、前述のように画像全体の出力コード量の上限値が外部より設定される。タイル重みレジスタ１１４には、各タイルの相対的な重み（相対重要度）が外部より設定される。上限算出器１１１は、各レジスタ１１０，１１４に設定された情報及びタイル数（デフォルト値又は外部から設定された値）に基づいて、各タイルの出力コード量の上限値を算出し、それをタグ処理部１０２に指定する。
【００３２】
例えば、画像全体のコード量の上限値が２７０KByte、タイル数が９、各タイルの重みが４：３：２：４：３：２：４：３：２であるとする。上限算出器１１１は、２７０KByteを各タイルの重みによって按分し、各タイルの出力コード量の上限値を４０KByte，３０KByte，２０KByte，４０KByte，３０KByte，２０KByte，４０KByte，３０KByte，２０KByteと計算する。この場合、タグ処理部１０２は、各タイルのコードのうちで、その先頭から上限算出器１１１により指定された前記上限値に達するまでを有効なものとして扱い、有効なコードのみからなるコードストリームを作成して出力する。各タイル内の各コンポーネントに割り当てられる出力コード量は均等である。コードストリームの構成と、各タイルの出力コード量上限値の関係を図６に示す。
【００３３】
画像の種類や用途などによっては、画像中の特定のタイルの再現精度を高め、それ以外のタイルの再現精度を低くしたいような場合がある。この画像データ処理装置３００によれば、そのようなタイルの重み付けを必要とする状況で出力コード量を適切に制限することができる。また、メモリや処理時間の増大、特定のタイルデータの欠落を回避できることは、前記画像データ処理装置１００と同様である。なお、この画像データ圧縮装置３００においても、単一コンポーネントのモノクロ画像などを処理できる。
【００３４】
図７は、本発明による画像データ圧縮装置のもう一つの例を示すブロック図である。この画像データ圧縮装置４００は、タイルとコンポーネントの一方又は両方に重み付けをした、又は重み付けをしない出力コード量制限が可能であり、また高速処理が可能である。
【００３５】
この画像データ圧縮装置４００は、出力コード量制限に関連して、前記各画像データ処理装置と同様の上限設定レジスタ１１０、コンポーネント重みレジスタ１１２、タイル重みレジスタ１１４を全て備える。上限算出器１１１は、コード量上限レジスタ１１０の情報に従って画像全体の出力コード量の上限値を決定し、この全体のコード量の範囲内で、タイル重みレジスタ１１４及びコンポーネント重みレジスタ１１２の情報に従って各タイル、各コンポーネントの出力コード量の上限値を決定する。この画像データ圧縮装置４００は、さらに、上限算出器１１１により算出された上限値に従って各プロセッサコア１０１の動作状態を制御する制御装置１１８を備える。
【００３６】
上限値設定レジスタ１１０には、画像全体の出力コード量の上限値が設定される。コンポーネント重みレジスタ１１２には、各コンポーネントの重みが設定されるが、コンポーネントに重み付けをしたくない場合、つまり全てのコンポーネントを同じ重要度で扱いたい場合には、全てのコンポーネントに対し均等な重みが設定される。また、タイル重みレジスタ１１４には各タイルの重みが設定されるが、タイルに重み付けをしたくない場合、つまり全てのタイルを同じ重要度で扱いたい場合には、全てのタイルに対し均等な重みが設定される。
【００３７】
上限算出器１１１は、タイルの重みが均等な場合は、上限設定レジスタ１１０に設定されたコード量の上限値をタイル数（デフォルト値又は外部から指定された値）によって割って各タイル毎の出力コード量の上限値を決定する。タイル毎に異なった重み付けがさなれた時には、各タイルの重みに応じて、全体の出力コード量の上限値を按分することにより各タイルの出力コード量を決定する。そして、このようにして決定したタイル毎の出力コード量上限値を、各コンポーネントの重みに応じて按分することにより、各タイルにおける各コンポーネント毎の出力コード量の上限値を決定する。なお、全体の出力コード量の上限値をコンポーネントの重みに従って按分して各コンポーネントの出力コード量の上限値を決定した後に、各コンポーネントの出力コード量上限値を各タイルの重みに応じて按分することにより、各タイルにおける各コンポーネントの出力コード量の上限値を決定してもよいことは当然である。このようにして決定された出力コード量上限値が制御装置１１８とタグ処理部１０２に指定される。
【００３８】
図８は、この画像データ圧縮装置４００の動作タイミング図である。図８において、「処理ステータス」は、装置全体の動作状態を表し、その「Ｉ／Ｏ」期間にタイル単位の画像データの入力とコードストリームの出力とが並行して行われ、「符号化処理」期間にタイル単位の圧縮処理が実行される。
【００３９】
図８において、「コアＡステータス」から「コアＤステータス」はコンポーネントＡからＤに対応した各プロセッサコア１０１の動作状態を表し、「wait」は入出力待ち状態、「WL」はウェーブレット変換処理実行状態、「CM＆FSM」はコンテキストモデル処理とＦＳＭ符号化処理の実行状態である。また、「入力画像データ」は画像データ入力の状態を表し、その「無効」は有効な画像データの入力中ではないことを表し、「タイルｎ」はタイルｎの有効な画像データが入力中であることを表す。「コードストリーム」はコードストリーム出力の状態を表し、その「無効」は有効なコードストリームの出力中ではないことを表し、また「タイルｎ」はタイルｎの有効なコードストリームの出力中であることを表す。
【００４０】
図８に関連させて動作の流れを説明する。画像データ圧縮装置４００は、最初のＩ／Ｏ期間に最初のタイル１の画像データを取り込む。その取り込みが時刻ａで終了し、直ちに各プロセッサコア１０１が各コンポーネントのウェーブレット変換処理を開始し、それが終わるとコンテキストモデル処理とＦＳＭ符号化処理を開始する。制御装置１１８は、各プロセッサコア１０１のＦＳＭコーダ１０５より出力されたコード量を計測し、それを上限算出器１１１より指定されたタイル１の該当するコンポーネントの出力コード量上限値と比較する。あるプロセッサコア１０１の出力コード量がその上限値に達した時点で、そのプロセッサコア１０１のコンテキストモデル処理とＦＳＭ符号化処理を停止させる。図８に示したタイミング例では、時刻ｂでコンポーネントＢのプロセッサコア１０１ｂの処理が停止させられ、次に時刻ｃでコンポーネントＣのプロセッサコア１０１ｃの処理が停止させられ、時刻ｄでコンポーネントＡ，Ｄのプロセッサコア１０１ａ，１０１ｂの処理が停止させられ、タイル１の符号化処理が完了する。すなわち、タイル１の出力コード量が上限値に達した。直ちに次のＩ／Ｏ動作を開始させ、次のタイル２の画像データの取り込みを開始し、これと並行して、タグ処理部１０２は各プロセッサコア１０１より出力されたタイル１のコードデータ（コード量制限済み）を１本のコードストリームとして出力する。以後、最後のタイルまで同様の動作が繰り返される。
【００４１】
この画像データ圧縮装置４００は、以上に説明したように、タイルの重要度とコンポーネントの重要度に応じたコード量の制限が可能である。また、各タイルの出力コード量上限値が最大の、あるコンポーネントの出力コード量が上限値に達した段階で、すなわち、各タイルの出力コード量が上限値に達した段階で、直ちにＩ／Ｏ動作を開始し、しかも、タイルの画像データの入力とコードストリームの出力を同時に行う。したがって、各タイルの全コンポーネントのデータを最後まで符号化してからコードストリームを出力する構成や、コードストリームの出力と画像データの入力を同時に行わない構成に比べ、１タイルあたりの処理時間を大幅に短縮できる。また、前記画像データ圧縮装置１００，２００，３００と同様に、大きなメモリを必要とせず、特定のタイルのデータの欠落も回避される。
【００４２】
なお、図示しないが、図７の画像データ圧縮装置４００における制御装置１１８と同様な制御装置を、図３又は図５の画像データ圧縮装置に設けることにより、画像データ圧縮装置４００と同様に、各タイルの全コンポーネントの出力コード量が上限値に達した時点で出力コードストリームの出力と次のタイルの画像データの取り込みとを同時に開始させるように構成し、各タイルあたりの処理時間の一層の短縮を図ることも可能であり、このような構成の画像データ圧縮装置も本発明に含まれることは当然である。
【００４３】
【発明の効果】
請求項１乃至４の各項の発明によれば、圧縮対象の画像等の性質、圧縮結果を保存する媒体の記憶容量、ユーザが希望する再現精度など応じて、画像等を所望のコード量に圧縮することができる。画像などの２次元データ全体のコードデータを一旦蓄積するための大きなメモリを必要としない。圧縮後のコード量が上限を越えるような場合でも圧縮処理をやり直す必要がない。出力コード量の制限は各タイル毎に行われるので、特定のタイルのデータが完全に欠落することもない。また、画像などの２次元データ全体のコードデータを一旦蓄積した後に、各タイルデータの一部を捨てる処理を行う方法に比べ、２次元データの入力からコードストリームの出力までの処理時間を短縮できる。
【００４４】
画像などの種類や用途などによっては、特定のタイルやコンポーネントの再現精度を高め、それ以外のタイルやコンポーネントの再現精度を低くしたいような場合がある。請求項２又は３の発明によれば、そのようなタイルやコンポーネントの重み付けを必要とする状況において出力コード量を適切に制限することが可能である。
【００４５】
請求項１乃至４の各項の発明によれば、カラー画像などの複数コンポーネントからなる２次元データの圧縮を高速に行うことができ、かつ、出力コード量の適切な制限が可能である。
【図面の簡単な説明】
【図１】  本発明による画像データ圧縮装置の一例を示すブロック図である。
【図２】  コードストリームの構成とコード量制限の説明図である。
【図３】  本発明による画像データ圧縮装置の別の一例を示すブロック図である。
【図４】  コードストリームの構成とコード量制限の説明図である。
【図５】  本発明による画像データ圧縮装置の他の一例を示すブロック図である。
【図６】  コードストリームの構成とコード量制限の説明図である。
【図７】  本発明による画像データ圧縮装置のもう一つの例を示すブロック図である。
【図８】  動作タイミング図である。
【符号の説明】
１０１ａ，１０１ｂ，１０１ｃ，１０１ｄ  プロセッサコア
１０２  タグ処理部
１０３  ウェーブレット変換部
１０４  コンテキストモデル部
１０５  ＦＳＭコーダ
１１０  上限設定レジスタ
１１１  上限算出器
１１２  コンポーネント重みレジスタ
１１４  タイル重みレジスタ
１１８  制御装置
【図１】
0003797458.tif 000002
【図２】
0003797458.tif 000003
【図３】
0003797458.tif 000004
【図４】
0003797458.tif 000005
【図５】
0003797458.tif 000006
【図６】
0003797458.tif 000007
【図７】
0003797458.tif 000008
【図８】
0003797458.tif 000009