(57)【特許請求の範囲】
【請求項１】
ＪＰＥＧ２０００方式の符号化に際して、ＭＱ（算術）符号化器にて生成されたコードブロック毎のコーディングパス数、符号量を入力とし、コードブロック毎に与えられる第一の符号量制御基準および第二の符号量制御基準に基づいてそのコードブロックで符号化すべきコーディングパス数とそれに対応する符号量を決定する符号量制御を行う画像圧縮装置であって、
特定のコードブロックに対しては前記第二の符号量制御基準を用いてコーディングパス数とそれに対応する符号量を決定し、それ以外のコードブロックに対しては前記第一の符号量制御基準を用いてコーディングパス数とそれに対応する符号量を決定する手段を有するとともに、
コードブロックが矩形対角線上の２点の空間的座標位置の上位ビットによって決まる指定領域内に属する場合に、当該コードブロックを前記第二の符号量制御基準を用いる特定のコードブロックとすること特徴とする画像圧縮装置。
【請求項２】
前記第一の符号量制御基準として、各コードブロックで破棄するコーディングパス数を用いることを特徴とする請求項１記載の画像圧縮装置。
【請求項３】
前記第二の符号量制御基準として、破棄するコーディングパス数を０、すなわち指定された空間的領域に属するコードブロックに対してはＭＱ符号化器で生成された符号を破棄することなく符号化することを特徴とする請求項１記載の画像圧縮装置。
【請求項４】
ＪＰＥＧ２０００方式の符号化に際して、ＭＱ（算術）符号化器にて生成されたコードブロック毎のコーディングパス数、符号量を入力とし、コードブロック毎に与えられる第一の符号量制御基準および第二の符号量制御基準に基づいてそのコードブロックで符号化すべきコーディングパス数とそれに対応する符号量を決定する符号量制御を行う画像圧縮方法であって、
特定のコードブロックに対しては前記第二の符号量制御基準を用いてコーディングパス数とそれに対応する符号量を決定するステップと、それ以外のコードブロックに対しては前記第一の符号量制御基準を用いてコーディングパス数とそれに対応する符号量を決定するステップを有するとともに、
コードブロックが矩形対角線上の２点の空間的座標位置の上位ビットによって決まる指定領域内に属する場合に、当該コードブロックを前記第二の符号量制御基準を用いる特定のコードブロックとすること特徴とする画像圧縮方法。
【請求項５】
前記第一の符号量制御基準として、各コードブロックで破棄するコーディングパス数を用いることを特徴とする請求項４記載の画像圧縮方法。
【請求項６】
前記第二の符号量制御基準として、破棄するコーディングパス数を０、すなわち指定された空間的領域に属するコードブロックに対してはＭＱ符号化器で生成された符号を破棄することなく符号化することを特徴とする請求項４記載の画像圧縮方法。』
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＪＰＥＧ２０００などに準拠して画像データの圧縮符号化を行う画像圧縮装置および画像圧縮方法に関する。本発明は、静止画、または動画の圧縮、伸張技術に係り、特にデジタルスチルカメラ、デジタルコピアの記録部分、監視カメラ、デジタルビデオストレージ、デジタルカメラ（動画）、衛星通信機器、医療機器、インターネットのブラウザなどにおける画像処理に応用可能である。
【背景技術】
【０００２】
近年、高精細画像を取り扱うのに適した圧縮符号化方法としてＪＥＰＧ２０００が知られている。ＪＰＥＧ２０００の符号化処理では、画像データをＹ，Ｃｂ，Ｃｒの各色成分のデータに変換した後、それぞれのデータに対して周波数解析として２次元離散ウェーブレット変換を行う。
【０００３】
ＪＰＥＧ２０００は、画像データの圧縮伸長に関する形式である。
図９は、ＪＰＥＧ２０００アルゴリズムの基本を説明するための機能ブロック図である。この機能ブロック図は、ＪＰＥＧ２０００形式の画像圧縮伸長用の画像処理用コンピュータプログラムに従いコンピュータが実行することになる各種の機能に対応するアルゴリズムをブロック化して示している。
【０００４】
図９に示すように、ＪＰＥＧ２０００アルゴリズムは、色空間変換・逆変換部１１１、２次元ウェーブレット変換・逆変換部１１２、量子化・逆量子化部１１３、エントロピー符号化・復号化部１１４、タグ処理部１１５によって構成されている（特開２００４−２１４８２８号公報（特許文献１）参照）。
【０００５】
ウェーブレット変換により得られたウェーブレット係数のデータ（例えば１６ビットデータ）を、サブバンド（たとえば、レベル３のウェーブレット変換の場合、３ＬＬ，３ＨＬ，３ＬＨ，３ＨＨ，２ＨＬ，２ＬＨ，２ＨＨ，ｌＨＬ，１ＬＨ，１ＨＨ）を処理単位としてビットプレーンに分割し、サブバンド毎に各ビットプレーンのデータを上位から順に３通りの方法によりスキャンして算術符号化を行う。上記３通りの方法は、”ｓｉｇｎｉｆｉｃａｎｔ ｐｒｏｐａｇａｔｉｏｎ ｐａｓｓ”、”ｍａｇｎｉｔｕｄｅ ｒｅｆｉｎｅｍｅｎｔ ｐａｓｓ”、”ｃｌｅａｎｕｐ ｐａｓｓ”と呼ばれている。
【０００６】
符号データの圧縮は、上記３通りの方法によるスキャンで得られる各サブバンドの全コードブロックのコーディングパスの符号データを最下位のビットプレーン側から順に均一に削除（トランケーション）することにより行う。ここで、符号データの削除とは、削除するビットデータの値を０（無効データ）に置きかえることをいう。ＪＰＥＧ２０００の符号化処理の詳細については下記非特許文献１を参照されたい。
【０００７】
また、画像圧縮技術に関する従来文献としては、例えば上述した特開２００４−２１４８２８号公報（特許文献１）の他に、特開２００４−３０４２３８号公報（特許文献２）、特開２００４−２９７７１２号公報（特許文献３）などがある。以下、これら従来文献の概要を簡単に説明する。
【０００８】
特開２００４−２１４８２８号公報（特許文献１）に開示されたものは、ＪＰＥＧ２０００形式での画像の圧縮処理を実行する圧縮手段と、ＪＰＥＧ２０００以外の形式で圧縮された画像の伸長処理を実行する伸長手段とを備え、記憶領域に記憶された画像ファイルについての関心領域の指定を許容し、画像ファイルが非圧縮ファイル又はＪＰＥＧ２０００以外の形式で圧縮された圧縮ファイルであることを判定し、画像ファイルが非圧縮ファイルであると判定され場合には圧縮手段で圧縮し、ＪＰＥＧ２０００以外の形式で圧縮された圧縮ファイルであると判定された場合には伸長手段で伸長してから圧縮手段で圧縮し、圧縮画像から、指定された関心領域に対応するブロックを抽出し出力するものである。
【０００９】
特開２００４−３０４２３８号公報（特許文献２）に開示されたものは、画像データを周波数解析して得られる係数データを処理単位毎に符号化して符号データを生成する符号化部と、上記符号化部において処理単位毎に生成される符号データを削除することにより符号データの量を削減するデータ削減部と、各処理単位の係数データを更に第２処理単位の係数データに分割し、第２処理単位の係数データの値の大きさに応じて、上記データ削減部における符号データの削減量を上記第２処理単位で増やすデータ処理部を備えることを特徴とするものである。
【００１０】
また、特開２００４−２９７７１２号公報（特許文献３）に開示されたものは、画像データを周波数解析して得られる係数データを処理単位で符号化して符号データを生成する符号化部と、符号データの内、各処理単位の係数データの下位ビット側のデータに対応する符号データから削除する内容を決めるデータを、データＮｏ．の増加に伴い符号データの削減量が次第に増加又は減少し、かつ、再生画像の質が次第に劣化又は向上するように並べたテーブルと、テーブルより読み出したデータに従い符号データを削除した場合の符号データの変量を算出し、算出した符号データの変量が目標値であるとみなせる１つのデータのデータＮｏ．を特定するレートコントロール部とを備えることを特徴とするものである。
【００１１】
図１０は、特許文献２，３に開示された画像圧縮装置の構成を示す図である。
同図に示すように、画像圧縮装置１００は、ウェーブレット変換部１０、算術符号化部２０、パケットヘッダ生成処理部３０、メモリコントローラ４０及びＤＲＡＭ５０で構成される。メモリコントローラ４０は、いわゆるアービタ回路であり、上記ウェーブレット変換部１０、算術符号処理部２０及びパケットヘッダ生成処理部３０が備える各ＤＭＡ１３、２１、２５、３１、３３、３５及び３７のＤＲＡＭ５０に対するデータアクセス権の調停を行う。
【００１２】
ウェーブレット変換部１０は、画像データを１６ビットのウェーブレット係数に変換する。色変換回路１１は、入力される画像データをＹ、Ｃｂ及びＣｒの各色成分に変換して出力する。ウェーブレット変換回路１２は、色変換後の各成分のデータに対して２次元離散ウェーブレット変換を実行する。ＤＭＡ１３は、生成されたウェーブレット係数をＤＲＡＭ５０の所定のアドレスに格納する。
【００１３】
算術符号化部２０は、上記ウェーブレット変換部１０においてＤＲＡＭ５０に格納されたウェーブレット係数に対して算術符号化処理を施し、各サブバンドのコーディングパス毎の符号データをＤＲＡＭ５０に書き込むと共に、各サブバンドのコードブロック毎のマスク量（コーディングパス枚数）を特定し、特定したマスク量をメモリＡ又はメモリＢに書き込む。
【００１４】
更に、上記特定したマスク量及び各コードブロックのコーディングパス毎の符号量から、トランケーションデータに基づいて各サブバンドのコーディングパスを１枚づつ削除する場合に減少する符号量を特定し、メモリＣ又はメモリＤに書き込む。
【００１５】
ＤＭＡ２１は、ＤＲＡＭ５０の所定のアドレスに格納されているウェーブレット係数をサブバンド単位で読み出す。読み出された１６ビットのウェーブレット係数は、量子化回路２２においてエントロピー量子化された後、ビットプレーン分割回路２３に入力され１６枚のビットプレーンに分割される。
【００１６】
算術符号化回路２４は、サブバンド毎に各ビットプレーンのデータを上位ビットから順に３通りの方法（コーディングパスという）によりスキャンして算術符号化を行う。上記３通りの方法は、”ｓｉｇｎｉｆｉｃａｎｔ ｐｒｏｐａｇａｔｉｏｎ ｐａｓｓ”、”ｍａｇｎｉｔｕｄｅ ｒｅｆｉｎｅｍｅｎｔ ｐａｓｓ”、”ｃｌｅａｎｕｐ ｐａｓｓ”と呼ばれる。算術符号化部２４から出力される符号データは、１５×３＋１＝４６枚のコーディングパスの符号データで成り、ＤＭＡ２５を介してＤＲＡＭ５０に書き込まれる。
【００１７】
ＤＭＡ２１によってＤＲＡＭ５０から読み出されたウェーブレット係数は、量子化回路２２だけでなく平均値算出回路２６にも入力される。平均値算出回路２６では、各コードブロックの有効画素のウェーブレット係数の平均値を算出して出力する。
【００１８】
マスキング係数計算回路２７は、平均値算出回路２６から順に出力される各コードブロック毎のウェーブレット係数の平均値の値に応じて０枚、１枚、２枚の追加のマスキング係数、即ち、マスク量（符号データを削除するコーディングパスの枚数）を特定して出力する。
【００１９】
メモリＡ及びメモリＢは、処理するフレーム画像単位で交互にイネーブルに切り換えられるメモリであり、マスキング係数計算回路２７から出力される各サブバンドのコードブロック毎のマスク量を記録する。
【００２０】
算術符号化回路２４の出力する符号データは、符号量算出回路２８にも出力される。符号量算出回路２８では、各コードブロックのビットプレーンに対応するコーディングパス毎の符号量を計数し、係数値をデータ処理回路２９に出力する。
【００２１】
データ処理回路２９には、更に、上記メモリＡ又はメモリＢに書き込まれた各コードブロックのマスク量（コーディングパス枚数）が入力される。データ処理回路２９は、各サブバンドのコーディングパスの符号データを最下位のビットプレーン側から１枚ずつ削除する場合において、更に、マスク量を考慮した符号データの削減量を求め、求めた符号データの削減量を表すデータをメモリＣ又はメモリＤに書き込む。
【００２２】
パケットヘッダ生成処理部３０は、上記算術符号化部２０において求めた、各サブバンドのコーディングパスの符号データを最下位ビットプレーン側から１枚づつ削除する場合であって、更に、コードブロック毎のマスク量を考慮に入れた場合の符号データの削減量に基づいて、符号データを所望量だけ削除するのに適当なトランケーションデータのデータＮｏ．を特定し、特定したデータＮｏ．のトランケーションデータに基づいて得られる符号データのパケットヘッダを生成し、ビットストリームを形成して出力する。
【００２３】
レートコントロール回路３２は、まず、データＮｏ．１２８のトランケーションデータをＤＭＡ３１を介してＤＲＡＭ５０より読み出し、読み出したトランケーションデータの内容に従い、全てのサブバンドについてコードブロック毎に特定される符号データの削減量の合計を算出し、目標削減量との比較を行う。
【００２４】
ここで、目標削減量に満たない場合には、より大きな値のデータＮｏ．のトランケーションデータを読み出し、当該データの内容に従い全てのサブバンドにおけるデータ削減量の合計を求める。逆の場合、即ち、符号データの削減量の合計値が目標削減量よりも多い場合、より小さな値のデータＮｏ．のトランケーションデータを読み出し、符号データの削減量を再度算出する。上記符号データの削減量が目標削減量であるとみなせる値になる１のデータＮｏ．を特定し、このデータＮｏ．を表すデータを後段のパケット情報生成回路３４に出力する。
【００２５】
レートコントロール回路３２は、大きく分けてアドレス生成回路、符号量演算回路及びデータＮｏ．切換回路とで構成される。アドレス生成回路及び符号量演算回路は、指定されたデータＮｏ．のトランケーションデータを上記トランケーションテーブルから読出し、読み出したトランケーションデータの内容に従い各処理単位の符号データの下位ビット側のデータを削除する場合の符号データの変量を算出する演算部として機能する。アドレス生成回路は、ＤＭＡ３１を介して入力されるトランケーションデータの内容に基づいて加算又は減算させるビットプレーンの符号量のデータを読み出すアドレスを生成し、メモリＣ及びメモリＤに出力する。
【００２６】
メモリＣ及びメモリＤの内、処理しているフレーム画像のデータが格納されており、イネーブル状態にあるメモリは、指定されたアドレスに格納している符号データの削減量を表すデータを符号量演算回路に出力する。
【００２７】
符号量演算回路は、メモリＣ又はメモリＤより送られてくるデータ削減量の全サブバンドについての合計を求め、求めた合計値と目標削減量との比較を行い、比較結果を表す信号を次段のデータＮｏ．切換回路に出力する。
【００２８】
データＮｏ．切換回路は、上記符号量演算回路から出力される比較結果信号に基づいて異なるデータＮｏ．のトランケーションデータをＤＭＡ３３を介してＤＲＡＭ５０に要求する。また、符号データ削減量が目標削減量であるとみなせる最終の１のデータＮｏ．を表す信号をパケット情報生成回路３４に出力する。
【００２９】
パケットヘッダ生成回路３６は、パケット情報生成回路３４より出力される上記算出した各サブバンドのコードブロックのコーディングパス数及び符号量のデータ、ゼロビットプレーン数、並びに、ＤＭＡ３７よりＤＲＡＭ５から読み込んだ符号データ等のデータよりパケットヘッダを生成し、符号形成回路３８に出力する。
【００３０】
符号形成回路３８は、パケットヘッダ生成回路３６より出力されるデータよりビットストリームを形成し、目標削減量だけ符号データの削減を行った符号データとして外部に出力する。以上が特許文献１，２における画像圧縮装置の概要である。
【００３１】
【特許文献１】特開２００４−３０４２３８号公報
【特許文献２】特開２００４−２９７７１２号公報
【特許文献３】特開２００４−２１４８２８号公報
【非特許文献１】「静止画像符号化の新国際標準方式（ＪＰＥＧ２００）の概要」、映像情報メディア学会誌２０００年、Ｖｏｌ．５４、Ｎｏ．２、ｐｐ１６４−１７１
【発明の開示】
【発明が解決しようとする課題】
【００３２】
ＪＰＥＧ２０００では、ＲＯＩ（Region of Interest）と呼ばれる「画像の選択された部分」のみ画質を向上させることができる機能を持っている。ＲＯＩ機能を実現するためには、符号化時に、それに対応した処理を行っておく必要がある。ＪＰＥＧ２０００の基本方式では、注目領域の係数に対して重み付けを行う方式（具体的にはビットシフトにより２のべき乗の重みを付ける）を採用している。
【００３３】
図１１は、従来のＪＰＥＧ２０００の符号化処理の流れを示す図である。
同図に示すように、画像をウェーブレット変換し（ステップＳ５０１）、量子化し（ステップＳ５０２）、ＭＱ（算術）符号化し（ステップＳ５０３）、符号形成して（ステップＳ５０４）、圧縮画像データを得ていた（ステップＳ５０５）。通常、ＲＯＩ機能を実現するためには、符号化時に、それに対応した処理を行っておく必要がある。
【００３４】
図１２は、符号化時に行うＲＯＩ処理を含んだ流れを示す図である。
同図に示すように、画像をウェーブレット変換し（ステップＳ６０１）、ビットシフトし（ステップＳ６０２）、量子化し（ステップＳ６０３）、ＭＱ（算術）符号化し（ステップＳ６０４）、符号形成して（ステップＳ６０５）、圧縮画像データを得ていた（ステップＳ６０６）。通常、ＲＯＩ機能を実現するためには、符号化時に、それに対応した処理を行っておく必要がある。
【００３５】
処理として考えられるのは、注目領域を他の部分に比べて細かい量子化ステップで量子化を行って符号化する方法と、注目領域の係数に対して重み付けを行う方法（具体的にはビットシフトにより２のべき乗の重みを付ける）がある（図１２のステップＳ６０２参照）。
【００３６】
図１２に示したＪＰＥＧ２０００の基本方式では後者の方式を採用している。ビットシフトのシフト量はＲＯＩ部分ではない係数の最大ビット数分であり、その点からMaxshift方式と呼ばれている。ＲＯＩ領域の係数はこのビットシフト処理によってシフトアップされた状態で、復号時、その他の領域（バックグランド領域）の係数と同じレンジに戻す必要がある。
【００３７】
図１３は、復号化時のＲＯＩ処理の流れを示す図であり、基本的には図１２の逆順序で処理される。すなわち、圧縮データを符号解析し（ステップＳ７０１）、ＭＱ復号化し（ステップＳ７０２）、逆量子化し（ステップＳ７０３）、ビットシフトを行った後（ステップＳ７０４）、逆ウェーブレット変換し（ステップＳ７０５）、画像を復元する（ステップＳ７０６）ものである。
【００３８】
ビットシフト方式は、このように、符号化および復号化時にＲＯＩマスク情報の作成、ウェーブレット係数のビットシフト処理を行う回路や、シフト量を計算する回路をそれぞれ設ける必要がある。また、カラー画像のような複数成分画像の場合、サブサンプル処理が使用される場合が多い。サブサンプルが使用された場合には、それに伴ってＲＯＩマスクもサブサンプルする必要がある。
【００３９】
このように、上記従来技術では、目標の符号量になるように符号量を調整しながら、注目領域の画質向上を提供し、ＲＯＩ機能に類似する効果を実現するために、係数重み付け方式によるビットシフトやシフト量の計算などを行う必要があり、回路構成が複雑となるという問題があった。
【００４０】
本発明の目的は、上述したような複雑な計算や回路構成のかわりに、より簡単な仕組みでＲＯＩと類似の画像効果を実現することが可能な画像圧縮装置および画像圧縮方法を提供することである。なお、区別のために、以下では「ＲＯＩ」の替わりに「指定領域」という言葉を使用する。
【課題を解決するための手段】
【００４１】
本発明は、上記目的を達成するために、次のような構成を採用する。以下、請求項毎の構成を述べる。
【００４２】
ａ）請求項１記載の発明は、ＪＰＥＧ２０００方式の符号化に際して、ＭＱ（算術）符号化器にて生成されたコードブロック毎のコーディングパス数、符号量を入力とし、コードブロック毎に与えられる第一の符号量制御基準および第二の符号量制御基準に基づいてそのコードブロックで符号化すべきコーディングパス数とそれに対応する符号量を決定する符号量制御を行う画像圧縮装置であって、特定のコードブロックに対しては前記第二の符号量制御基準を用いてコーディングパス数とそれに対応する符号量を決定し、それ以外のコードブロックに対しては前記第一の符号量制御基準を用いてコーディングパス数とそれに対応する符号量を決定する手段を有するとともに、コードブロックが矩形対角線上の２点の空間的座標位置の上位ビットによって決まる指定領域内に属する場合に、当該コードブロックを前記第二の符号量制御基準を用いる特定のコードブロックとすることを特徴とする。
【００４３】
ｂ）請求項２記載の発明は、前記第一の符号量制御基準として、各コードブロックで破棄するコーディングパス数を用いることを特徴とする。
【００４４】
ｃ）請求項３記載の発明は、前記第二の符号量制御基準として、破棄するコーディングパス数を０、すなわち指定された空間的領域に属するコードブロックに対してはＭＱ符号化器で生成された符号を破棄することなく符号化することを特徴とする。
【００４７】
ｄ）請求項４記載の発明は、ＪＰＥＧ２０００方式の符号化に際して、ＭＱ（算術）符号化器にて生成されたコードブロック毎のコーディングパス数、符号量を入力とし、コードブロック毎に与えられる第一の符号量制御基準および第二の符号量制御基準に基づいてそのコードブロックで符号化すべきコーディングパス数とそれに対応する符号量を決定する符号量制御を行う画像圧縮方法であって、特定のコードブロックに対しては前記第二の符号量制御基準を用いてコーディングパス数とそれに対応する符号量を決定するステップと、それ以外のコードブロックに対しては前記第一の符号量制御基準を用いてコーディングパス数とそれに対応する符号量を決定するステップを有するとともに、コードブロックが矩形対角線上の２点の空間的座標位置の上位ビットによって決まる指定領域内に属する場合に、当該コードブロックを前記第二の符号量制御基準を用いる特定のコードブロックとすることを特徴とする。
【００４８】
ｅ）請求項５記載の発明は、前記第一の符号量制御基準として、各コードブロックで破棄するコーディングパス数を用いることを特徴とする。
【００４９】
ｆ）請求項６記載の発明は、前記第二の符号量制御基準として、破棄するコーディングパス数を０、すなわち指定された空間的領域に属するコードブロックに対してはＭＱ符号化器で生成された符号を破棄することなく符号化することを特徴とする。
【発明の効果】
【００５３】
本発明は、上記構成を採用することにより、以下のような効果を有する。以下、請求項毎の効果を述べる。
【００５４】
ａ）請求項１および４に係る発明では、コードブロック毎に符号量制御の基準を変更するようにしたので、その特定部分のみ画質を変えることができる。また、空間的座標位置によって、第２の符号量制御基準を用いるコードブロックを選択するようにしたので、指定した領域のみ画質を高めることができる。
【００５５】
ｂ）請求項２および５に係る発明では、各コードブロックのコーディングパスを下位から順番に破棄するようにしたので、予め設定された符号量に近い符号量を得ることができる。
【００５６】
ｃ）請求項３および６に係る発明では、特定のコードブロックは符号データを破棄することなく保持できる。それ以外のコードブロックは符号データを破棄するようにしたので、前記コードブロックの画質を相対的に高めることができる。
【発明を実施するための最良の形態】
【００６０】
（概要）
ＪＰＥＧ２０００符号化処理の時に、上述した特許文献１，２に開示されているように、あらかじめ設定された目標の符号量に対し、算術符号化処理された符号データを下位から破棄し目標の符号量になるように調整する「レートコントロール」と呼ばれる方法がある（図１３のレートコントロール回路３２参照）。
【００６１】
本発明は、ビットシフト方式の替わりに、レートコントロールを行う時、指定領域内と指定領域外において破棄するデータの量を調整することで、ＲＯＩと類似の効果を実現するものである。
【００６２】
（実施例）
図１は、ＲＯＩ処理に類似したレートコントロール処理を含む本発明に係る処理の流れを示す図である。本発明では、同図に示すように、画像をウェーブレット変換し（ステップＳ１）、量子化し（ステップＳ２）、ＭＱ（算術）符号化し（ステップＳ３）、ＲＯＩ類似機能を有するレートコントロールを行い（ステップＳ４）、符号形成して（ステップＳ５）、圧縮画像データを得る（ステップＳ６）。
【００６３】
次に、本発明におけるレートコントロールの手順について簡単に説明する。
図２は、コードブロック情報を読出しの実施例を示すブロック図である。
ＪＰＥＧ２０００符号化時、算術符号化処理後のデータは、各コードブロックの情報（ゼロビットプレーン数、コーディングパス数、コードブロック符号量、コーディングパス毎の符号量等）はパケットポインターと呼ばれる内部メモリ６４領域に記録される。
【００６４】
一個のコードブロックの情報は一個のパケットポインターを成す。各コードブロックのパケットポインターのメモリアドレスは、図２の６１に示すコードブロックが所在するコンポーネント，解像度レベル，サブバンド情報、および、６２で示すサブバンド内コードブロックの位置情報によって一意に決定される（６３）。
【００６５】
また、サブバンド単位でコーディングパス毎に符号量がまとめられ内部メモリ６４に記録される。これらの情報はレートコントロール時に読み出される。
【００６６】
あるコンポーネント、解像度レベルに属するサブバンドのメモリスタートアドレスをSA（SUB）、サブバンド内コードブロックの垂直・水平方向の位置を（Ｙ、Ｘ）とすると、コードブロック情報が格納されているメモリ上の先頭アドレスSA（CB）は以下のようになる。
[ SA(CB)＝SA(SUB)＋Y＊Xｈ＋X]
ここで、Xｈはサブバンドの水平方向のコードブロック数とする。図２の加算器の記号は上記式に相当する。
【００６７】
以下に説明するレートコントロールの処理では、コードブロックの位置からパケットポインターのアドレスを算出し（６３）、内部メモリ６４からそのパケットポインターを読み出し、コードブロック情報（コーディングパス数、バイト数等）を抽出する（６５）。
【００６８】
図３は、一般的なレートコントロール処理の流れを示す図である。レートコントロールは大きく分けて二つの過程からなる。
【００６９】
一つ目はレートコントロールテーブルを選択する過程（Ａ）である。これは、複数用意されたレートコントロールテーブルから使用すべきテーブルを一つ決定する過程（Ａ）である。
【００７０】
二つ目はトランケーション過程（Ｂ）である。これは、選択したトランケーションテーブルを使用して各コードブロックのコーディングパスをトランケーションし、符号量情報を変更していく過程である。
【００７１】
トランケーションテーブルにはサブバンド毎にそのサブバンド内のコードブロックのコーディングパスのトランケーション量が記述されている。解像度レベル５のトランケーションテーブルの例を次に示す。
【００７２】
i194 c0: 1, 1 1 1, 1 1 1, 1 1 1, 2 2 2, 6 6 11
i194 c1: 1, 2 2 2, 2 2 3, 4 4 5, 6 7 9, 11 11 16
i194 c2: 1, 1 1 2, 2 2 3, 3 3 4, 5 5 7, 9 9 12
ここで、それぞれの数字は、
Ｃ０：コンポーネント０。具体的にはＹ成分を示す。
Ｃ１：コンポーネント１。具体的にはＣｂ成分を示す。
Ｃ２：コンポーネント２。具体的にはＣｒ成分を示す。
【００７３】
各列の数字は（Ｃ０：5LL, 5HL-LH-HH, 4HL-LH-HH, 3HL-LH-HH, 2HL-LH-HH, 1HL-LH-HH）のように、
５ＬＬ：レベル５ＬＬ成分のサブバンドのコーディングパス単位のトランケーション量
５ＨＬ−ＬＨ−ＨＨ：レベル５のＨＬ成分とＬＨ成分とＨＨ成分のサブバンドのコーディングパス単位のトランケーション量
４ＨＬ−ＬＨ−ＨＨ：レベル４のＨＬ成分とＬＨ成分とＨＨ成分のサブバンドのコーディングパス単位のトランケーション量
３ＨＬ−ＬＨ−ＨＨ：レベル３のＨＬ成分とＬＨ成分とＨＨ成分のサブバンドのコーディングパス単位のトランケーション量
２ＨＬ−ＬＨ−ＨＨ：レベル２のＨＬ成分とＬＨ成分とＨＨ成分のサブバンドのコーディングパス単位のトランケーション量
１ＨＬ−ＬＨ−ＨＨ：レベル１のＨＬ成分とＬＨ成分とＨＨ成分のサブバンドのコーディングパス単位のトランケーション量
をそれぞれ表す。
このようなテーブルデータはメモリ上、スタートアドレスから小さい順で配置される。
【００７４】
まず、レートコントロールテーブルを選択する過程（Ａ）を説明する。
レートコントロールがスタートしたら、トランケーションテーブルを一つ選択し（ステップＳ１０１）、サブバンドのコーディングパス毎の符号量情報をメモリ上より読み出し（ステップＳ１０２）、選択したトランケーションテーブルに従ってトランケーションを行った場合のサブバンドの符号量を計算し（ステップＳ１０３）、ステップＳ１０３の処理を全てのサブバンドに対して行い、算出した符号量が目標符号量に達した場合は、それを最終的なトランケーションテーブルとしステップＳ１０５に進み、算出した符号量が目標符号量に達しない場合は目標値との差に従って次のテーブルを選択するためステップＳ１０１に戻る。これにより目標の符号量になるためのトランケーション量が決定される。
【００７５】
次に、トランケーション（Ｂ）の流れについて説明する。
トランケーションをスタートし（ステップＳ１０５）、一個のコードブロックの情報をメモリ上より読出し（ステップＳ１０６）、選択したトランケーションテーブルに従ってコードブロックのコーディングパスのトランケーションを行い（ステップＳ１０７）、それを反映したコードブロックの情報を求め、新しいコードブロック情報としてメモリ上に書き込む（ステップＳ１０８）。全てのコードブロックに対しての処理が終わったら（ステップＳ１０９：Ｙ）、レートコントロールを終了する。
【００７６】
このように、上記レートコントロールの処理では、サブバンド単位でトランケーションされるコーディングパス数が同じになる。
【００７７】
次に、本発明を、符号化時レートコントロールの際に空間的座標位置で判定される指定領域内でトランケーションを実施せず全体の符号量を調整する実施例を用いて説明する。
【００７８】
なお、本発明ではコードブロック単位でのトランケーション量を調整する事でＲＯＩ類似効果を実現しているので、復号化時に特別な処理を必要としない
【００７９】
図４は、指定領域がある時のレートコントロール処理の流れを示す図である。
トランケーションテーブル選択の流れについて説明する。
まず、ステップＳ２０１で、トランケーションテーブルを一つ選択し、ステップＳ２０２で、一個のコードブロック情報をメモリ上より読み出す。
【００８０】
次に、当該コードブロックが指定領域内のコードブロックであれば（ステップＳ２０３：Ｙ）、トランケーション量を０とし、全体符号量に当該コードブロックの符号量を加算する（ステップＳ２０５）。
【００８１】
当該コードブロックが指定領域外のコードブロックであれば（ステップＳ２０３：Ｎ）、選択したトランケーションテーブルに従ってコーディングパスのトランケーションを行った時の、コードブロックの符号量を計算し（ステップＳ２０４）、全体符号量に加算する（ステップＳ２０５）。
【００８２】
以上の処理（ステップＳ２０１〜２０５）を全てのコードブロックに対して行い、全体符号量が目標符号量に達した場合あるいは最後のトランケーションテーブルに達した場合は（ステップＳ２０６：Ｙ）、それを最終的なトランケーションテーブルとする。その他の場合は（ステップＳ２０７：Ｎ）、目標値との差に従って次のテーブルを選択するためステップＳ２０１に戻る。
【００８３】
次に、トランケーションの流れについて説明する。
ステップＳ２０８でトランケーションを開始し、一個のコードブロック情報をメモリ上より読み出す（ステップＳ２０９）。
【００８４】
読み出した当該コードブロックが指定領域内のコードブロックであれば（ステップＳ２１０：Ｙ）、トランケーション量を０とし、コードブロック情報をそのままとする（ステップＳ２１１）。
【００８５】
当該コードブロックが指定領域外のコードブロックであれば（ステップＳ２１０：Ｎ）、選択したトランケーションテーブルに従ってコーディングパスのトランケーションを行い（ステップＳ２１２）、それを反映したコードブロックの情報を求める。
【００８６】
次のステップＳ２１３で、求めた情報を新しいコードブロック情報としてメモリ上に書き込む。上記ステップＳ２１０〜Ｓ２１３を全てのコードブロックに関して行ったら（ステップＳ２１４：Ｙ）、レートコントロールを終了する。
【００８７】
指定領域のないレートコントロール処理と比べ、主な異同はコードブロックが指定領域内にあるか否かによって異なる処理を行う点である。
【００８８】
次に、指定空間領域に属するコードブロックの計算について説明する。
図５は、指定領域に属するコードブロックの例を示す図である。
ＲＯＩ領域を長方形とし、その空間的情報は左上の頂点Ａと右下の頂点Ｂで決定される。もとの画像が解像度レベル０とすると、解像度レベルが一つ上がると、対するサブバンドのサイズが二分の一になる。
【００８９】
したがって元画像の指定領域は、解像度レベルが一つ上がると、図５に示すように、対するサブバンドの中でのサイズが二分の一になる。つまり、大きさが２のべき乗のコードブロックについて、ＲＯＩ領域の頂点ＡとＢの上位ビットを見ればそのコードブロックが指定領域に属するかどうかの判定ができる。
【００９０】
図６は、指定領域内のコードブロックの計算の例を示す図である。
画像サイズが「８１９２×８１９２」以下の場合、Ｘ方向座標は１４ビットのレジスターでまかなえる。解像度レベル１の時、対するサブバンドのサイズが１/２になるから、レジスターの最上位ビット（１３ビット目）から最下位ビット（０ビット目）より一つ上のビット（１ビット目）まではサブバンド内のＸ方向座標を表す。
【００９１】
一方、コードブロックサイズが３２（２の５乗）のとき、下位５ビット（１〜５）はコードブロック内のＸ座標を表し、上位８ビット（６〜１３）はコードブロックのＸ方向座標を表す。Ｙ方向はＸ方向と同じで、レベル１以上は類推する。このようにしてコードブロックの位置やコードブロック内の位置を算出できる。
【００９２】
図７は、指定領域があるときのトランケーションテーブル選択の実施例を示す図である。
トランケーションテーブルを選択するとき、メモリからのテーブルスタートアドレスTA（ST）にテーブルアドレスオフセット（TAO）を加えた値をテーブルアドレス（TA）とする[すなわち、TA＝TA（ST）＋TAO]（ステップＳ３０１）。
テーブルアドレスオフセット（TAO）は、個々のテーブルがテーブルスタートアドレスTA（ST）からのオフセット値を表す。
【００９３】
テーブルスタートアドレスTAをもとにメモリからテーブル（TBL）を一枚読み出し、レジスターに記録する（ステップＳ３０２）。
【００９４】
次に、コードブロック（CB）のパケットポインターアドレスをもとにメモリから当該コードブロックのパケットポインターを読み出し、パケットポインターのコードブロック情報（コーディングパス数CP、符号量BYTE、コーディングパス毎の符号量CP_BYTE（N））を抽出する（ステップＳ３０３）。
【００９５】
当該コードブロックが指定領域外であれば（ステップＳ３０４：Ｎ）、コーディングパス数（CP）にトランケーションテーブルの値（TBL）で減算し、得た結果をレートコントロール後のコーディングパスとする [CP ＝CP−TBL]（ステップＳ３０５）。
【００９６】
また、コーディングパスごとの符号量情報（CP_BYTE（N））をもとに、上位のコーディングパスから減算後のコーディングパスまでの符号量を計算し、得た結果をレートコントロール後の符号量とする [TB＝TB＋CP_BYTE(N）]（ステップＳ３０５）。
【００９７】
一方、当該コードブロックが指定領域内であれば（ステップＳ３０４：Ｙ）、減算処理せずに、符号量（BYTE）をそのままレートコントロール後の符号量とする[TB = TB + BYTE ]（ステップＳ３０６）。
【００９８】
このようにして全てのコンポーネントおよび解像度レベル、サブバンドのコードブロックに対し計算し、結果符号量（TB）を目標符号量と比較し、上まっていればより大きいトランケーションテーブルを、下回っていればより小さいトランケーションテーブルを選択する。
【００９９】
トランケーションテーブルは小さい順で配置されるので、アドレスオフセット（TAO）が大きければテーブルの値も大きくなる。最初はアドレスオフセット増加の方向（幅は一定）でテーブルを選択していき、符号量が設定量より小さくなった時点で幅を半分にし、アドレスオフセット減少の方向でテーブルを選択する。
【０１００】
このようにしてアドレスオフセットを更新していき（TAO更新）、徐々に捜査範囲を狭めていき、目標のテーブルに辿り付く。一番大きいトランケーションテーブルを選択しても目標の符号量に達しない場合、そこで処理を終了し、そのときのトランケーションテーブルを目標のテーブルとし、そのときの符号量を目標の符号量とする（ステップＳ３０７〜Ｓ３０８）。
【０１０１】
図８は、指定領域があるときのトランケーションの実施例を示す図である。
まず、各コードブロックのパケットポインターを読み出し、コーディングパス数や符号量（バイト数）など必要な情報を取り出す(ステップＳ４０１)。指定領域内のコードブロックは（ステップＳ４０２：Ｙ）、トランケーション量が０でコードブロック情報に変更がないため、書込みを行う必要がなく次のコードブロックの処理に進む（ステップＳ４０８）。
【０１０２】
指定領域外のコードブロックは（ステップＳ４０２：Ｎ）、トランケーションテーブル値でコーディングパスをトランケーションした後、結果のコーディングパス数の符号量を計算し（ステップＳ４０３〜Ｓ４０６）、コードブロックの情報を更新するためパケットポインターのメモリへの書込みを行う（ステップＳ４０７）。全てのコードブロックに対し作業を終えたら、トランケーションを終了する。
【０１０３】
このようにして、指定領域内のコードブロックは、データのトランケーションを避けることで、指定領域外のコードブロックに比べより多くのデータ（情報）を保持することとなり、結果的に指定領域外より指定領域内の画質が良く、視覚上ビットシフト方式によるＲＯＩ機能に近い効果を得ることができ、つまりＲＯＩと類似する機能の実現である。
【０１０４】
また、複数のフレームを連続して処理するような場合、特定のフレームに対しては上記実施例によるレートコントロール（第二の符号制御量基準を用いるコードブロックを予め指定された空間的座標位置によって決定）を実施し、それ以外のフレームに対しては従来のレートコントロールを実施するようにしてもよい。これにより、特定フレームの特定位置の高画質化を計ることができる。
【０１０５】
なお、ＪＰＥＧ２０００は画像データの圧縮伸長に関する形式であり、この形式に従い画像データを圧縮あるいは伸長するには、ハードウェア資源を必要とする。ハードウェア資源としてのコンピュータによって画像処理用のコンピュータプログラムを実行することにより実現される。つまり、コンピュータの記憶装置、例えばＨＤＤにＪＰＥＧ２０００形式の画像データ圧縮伸長用の画像処理用コンピュータプログラムをインストールしておき、コンピュータがＣＰＵ及びメモリから構築される基本アーキテクチャによってそのような画像処理用のコンピュータプログラムを解釈し、入力画像に対するＪＰＥＧ２０００形式の画像圧縮処理を実行したり、あるいは、ＪＰＥＧ２０００形式で圧縮された画像データを伸長したりする。
【０１０６】
画像処理用のコンピュータプログラムは、ＨＤＤ、光学的又は磁気的に情報を記録する各種の光ディスクやフレキシブルディスク等の可搬性を有する各種の記録メディア、あるいはインターネットなどのネットワークを介して市場に流通させることができる。
【図面の簡単な説明】
【０１０７】
【図１】ＲＯＩ処理に類似したレートコントロール処理を含む本発明に係る処理の流れを示す図である。
【図２】コードブロック情報を読出しの実施例を示すブロック図である。
【図３】一般的なレートコントロール処理の流れを示す図である。
【図４】指定領域がある時のレートコントロール処理の流れを示す図である。
【図５】指定領域に属するコードブロックの例を示す図である。
【図６】指定領域内のコードブロックの計算の例を示す図である。
【図７】指定領域があるときのトランケーションテーブル選択の実施例を示す図である。
【図８】指定領域があるときのトランケーションの実施例を示す図である。
【図９】ＪＰＥＧ２０００アルゴリズムの基本を説明するための機能ブロック図である。
【図１０】特許文献２，３に開示された画像圧縮装置の構成を示す図である。
【図１１】従来のＪＰＥＧ２０００の符号化処理の流れを示す図である。
【図１２】符号化時に行うＲＯＩ処理を含んだ流れを示す図である。
【図１３】復号化時のＲＯＩ処理の流れを示す図である。
【符号の説明】
【０１０８】
１００：画像圧縮装置
１０：ウェーブレット変換部
２０：算術符号化部
３０：パケットヘッダ生成処理部
４０：メモリコントローラ
５０：ＤＲＡＭ
１３,２１，２５，３１，３３，３５，３７：ＤＭＡ
１１：色変換回路
１２：ウェーブレット変換回路
２３：ビットプレーン分割回路
２４：算術符号化回路
２２：量子化回路
２６：平均値算出回路
２７：マスキング係数計算回路
２８：符号量算出回路
２９：データ処理回路
３２：レートコントロール回路
３４：パケット情報生成回路
３６：パケットヘッダ生成回路
３８：符号形成回路
１１１：色空間変換・逆変換部
１１２：２次元ウェーブレット変換・逆変換部
１１３：量子化・逆量子化部
１１４：エントロピー符号化・復号化部
１１５：タブ処理部
【図１】
0004671354.tif 000002
【図２】
0004671354.tif 000003
【図３】
0004671354.tif 000004
【図４】
0004671354.tif 000005
【図５】
0004671354.tif 000006
【図６】
0004671354.tif 000007
【図７】
0004671354.tif 000008
【図８】
0004671354.tif 000009
【図９】
0004671354.tif 000010
【図１０】
0004671354.tif 000011
【図１１】
0004671354.tif 000012
【図１２】
0004671354.tif 000013
【図１３】
0004671354.tif 000014