(57)【要約】【課題】ある容量の目標値に対して、符号化処理を繰り返すことなく高速に圧縮符号化を実現することができる画像処理装置を提供する。【解決手段】この画像処理装置は、画像データを圧縮符号化して圧縮符号化データを生成するＪＰＥＧ２０００符号化前半処理部１と、圧縮符号化データを格納するメモリ７と、符号化パラメータをもとに圧縮符号化データの符号量および圧縮符号化データに付随する制御情報の符号量を含む合計符号量を計算し、合計符号量を目標値と比較し、合計符号量が目標値以下となるための基準値（有効な符号化パス数）を出力する符号量計算部８と、有効な符号化パス数に相当する分の圧縮符号化データをメモリ７から読み出し、読み出した圧縮符号化データおよび圧縮符号化データに付随する制御情報を含む出力データを形成する符号形成部１０とを備える。【選択図】  図１
2008301211.tif 000002
【特許請求の範囲】
【請求項１】
画像データを圧縮符号化して圧縮符号化データを生成する符号化処理部と、前記圧縮符号化データを格納する記憶装置と、符号化パラメータをもとに前記圧縮符号化データの符号量および前記圧縮符号化データに付随する制御情報の符号量を含む合計符号量を計算し、前記合計符号量を目標値と比較し、前記合計符号量が前記目標値以下となるための基準値を出力する符号量計算部と、前記基準値に相当する分の前記圧縮符号化データを前記記憶装置から読み出し、前記読み出した圧縮符号化データおよび前記圧縮符号化データに付随する制御情報を含む出力データを形成する符号形成部とを備えたことを特徴とする画像処理装置。
【請求項２】
前記圧縮符号化データが、ＪＰＥＧ２０００に準拠するデータであることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記圧縮符号化データに付随する制御情報の符号量が、推定値としてテーブルに格納されていることを特徴とする請求項１または２記載の画像処理装置。
【請求項４】
前記圧縮符号化データに付随する制御情報の符号量が、固定値として与えられていることを特徴とする請求項１または２記載の画像処理装置。
【請求項５】
前記圧縮符号化データに付随する制御情報の符号量が、計算により求められたものであることを特徴とする請求項１または２記載の画像処理装置。
【請求項６】
前記圧縮符号化データに付随する制御情報の符号量が、所定値以下の計算量で算出できるときは計算により求められたものを用い、前記所定値より大きい計算量を必要とするときは推定値としてテーブルに格納されているものを用いることを特徴とする請求項１または２記載の画像処理装置。
【請求項７】
画像データを圧縮符号化して圧縮符号化データを生成する工程と、前記圧縮符号化データを記憶装置に格納する工程と、符号化パラメータをもとに前記圧縮符号化データの符号量および前記圧縮符号化データに付随する制御情報の符号量を含む合計符号量を計算し、前記合計符号量を目標値と比較し、前記合計符号量が前記目標値以下となるための基準値を出力する工程と、前記基準値に相当する分の前記圧縮符号化データを前記記憶装置から読み出し、前記読み出した圧縮符号化データおよび前記圧縮符号化データに付随する制御情報を含む出力データを形成する工程とを備えたことを特徴とする画像処理方法。
【請求項８】
前記圧縮符号化データが、ＪＰＥＧ２０００に準拠するデータであることを特徴とする請求項７記載の画像処理方法。
【請求項９】
前記圧縮符号化データに付随する制御情報の符号量が、推定値としてテーブルに格納されていることを特徴とする請求項７または８記載の画像処理方法。
【請求項１０】
前記圧縮符号化データに付随する制御情報の符号量が、固定値として与えられていることを特徴とする請求項７または８記載の画像処理方法。
【請求項１１】
前記圧縮符号化データに付随する制御情報の符号量が、計算により求められたものであることを特徴とする請求項７または８記載の画像処理方法。
【請求項１２】
前記圧縮符号化データに付随する制御情報の符号量が、所定値以下の計算量で算出できるときは計算により求められたものを用い、前記所定値より大きい計算量を必要とするときは推定値としてテーブルに格納されているものを用いることを特徴とする請求項７または８記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを圧縮符号化する画像処理装置に関するものである。
【背景技術】
【０００２】
この種の圧縮符号化方法としては例えばＪＰＥＧ２０００が知られている。ＪＰＥＧ２０００は、医療、セキュリティ、インターネットなどの分野に応用可能な、高精細画像を扱うのに適した圧縮符号化の方法である。
【０００３】
ＪＰＥＧ２０００形式で形成した符号データは、画像データから生成した符号データ全体にわたる制御情報としてのメインヘッダおよびタイルパートヘッダと、画像の面積をプレシンクトと呼ばれる単位に分割し、それぞれのプレシンクトの制御情報を含むパケットヘッダと符号データからなるパケット群と、ＪＰＥＧ２０００形式データの終端であることを示す符号データ終端マーカーを含む。パケットは、画像の面積をコードブロックと呼ばれる単位に分割した領域から生成した符号データから構成され、プレシンクトに含まれる全てのコードブロックの符号データが連続して格納される。パケットヘッダには、プレシンクトに含まれる全てのコードブロックの制御情報が連続して格納される。
【０００４】
ＪＰＥＧ２０００の符号化は、まず、画像データをＹ成分、Ｃｂ成分、Ｃｒ成分の３つの色成分に変換する。次に、上記の各色成分に対して２次元離散ウェーブレット変換により、縦方向および横方向の周波数成分を分離することによって、サブバンドＬＬ、サブバンドＨＬ、サブバンドＬＨ、サブバンドＨＨのウェーブレット係数が得られる。次に、各色成分の各サブバンドのウェーブレット係数を、各画素の強度をあらわすビットごとに、ビットプレーンと呼ばれる単位に分割する。次に、各色成分の各サブバンドのウェーブレット係数を、コードブロック単位に面積を分割し、それぞれのコードブロックに含まれる、上記の各ビットプレーンに対して算術符号化を行う。その結果、符号化パスごとのＭＱ符号が得られる。符号化パスとは符号化の方法であり、ビットプレーンごとに、“ｓｉｇｎｉｆｉｃａｎｔ  ｐｒｏｐａｇａｔｉｏｎ  ｐａｓｓ”、“ｍａｇｎｉｔｕｄｅ  ｒｅｆｉｎｅｍｅｎｔ  ｐａｓｓ”、及び“ｃｌｅａｎｕｐ  ｐａｓｓ”と呼ばれる３つの方法で符号化する。次に、算術符号化によって得られた符号データを、ＪＰＥＧ２０００形式に形成する。
【０００５】
一般に、画像データをＪＰＥＧ２０００に準拠して符号化し、ＪＰＥＧ２０００形式に形成する過程で、符号量が元の画像データの量を下回るので、全体の容量の圧縮を行うことができるが、さらに容量が小さくなるよう圧縮する場合は、符号データの破棄を行う。この種の技術は例えば特許文献１に記載されている。
【特許文献１】特開２００５−１３０１０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
画像から生成した圧縮符号データの容量をさらに圧縮するためには、符号データの一部を破棄する処理を行う。符号データを格納する記録媒体の容量に制限があるなどの理由で、符号データ量をある一定の目標値に収める必要があり、かつ生成した符号データ量が目標値を上回った場合、上回った量に応じて符号データの破棄を行う。このとき破棄する符号量が少ないほど、後の復号結果が良好な画質となる傾向があることから、目標値以下でかつ目標値になるべく近い符号量になるように符号の破棄を行うのが望ましい。しかし、画像データから生成した符号データの特性上、例えばデータの末尾を削除するなどの単純な方法で符号データの破棄を行うと、復号に必須な情報が破壊されて復号不能になったり、画像の品質が局所的に劣化したりするなどの問題が生じる。ＪＰＥＧ２０００の場合、コードブロック単位に分割した画像の部位ごとに符号化を行うという特徴があることから、符号の破棄を行いつつ復号後に画像全体に渡って均一な画質を得るためには、それぞれのコードブロックに対応する符号のブロックごとに均一に破棄を行わなければならない。一方、符号量は画像のパターンに左右され、コードブロックごとに符号量がばらばらであることから、ある見込みをもってコードブロックごとに符号の破棄を行っていったとしても、全てのコードブロックに対応する符号の破棄を終えたとき、最終的に全体の符号量が目標値を超えてしまう場合がある。また、ＪＰＥＧ２０００形式では、全体の符号量は符号量とパケットヘッダ量の合計であるが、パケットヘッダ量は符号データに左右されるため、ＪＰＥＧ２０００形式に形成する際に、全体の符号量は目標値を超えてしまう場合もある。いずれの場合も、全体の符号量が目標値内に収まるまで符号化処理を繰り返さなければならないので処理時間が増大する。
【０００７】
そこで、本発明は、ある容量の目標値に対して、符号化処理を繰り返すことなく高速に圧縮符号化を実現することができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的は、画像データを圧縮符号化して圧縮符号化データを生成する符号化処理部と、前記圧縮符号化データを格納する記憶装置と、符号化パラメータをもとに前記圧縮符号化データの符号量および前記圧縮符号化データに付随する制御情報の符号量を含む合計符号量を計算し、前記合計符号量を目標値と比較し、前記合計符号量が前記目標値以下となるための基準値を出力する符号量計算部と、前記基準値に相当する分の前記圧縮符号化データを前記記憶装置から読み出し、前記読み出した圧縮符号化データおよび前記圧縮符号化データに付随する制御情報を含む出力データを形成する符号形成部とを備えた画像処理装置により達成される。ここで、前記圧縮符号化データは、ＪＰＥＧ２０００に準拠するデータとすることができる。また、前記圧縮符号化データに付随する制御情報の符号量は、推定値としてテーブルに格納しておくことができ、また固定値として与えることができ、さらに計算により求められたものとすることができる。また、前記圧縮符号化データに付随する制御情報の符号量は、所定値以下の計算量で算出できるときは計算により求められたものを用い、前記所定値より大きい計算量を必要とするときは推定値としてテーブルに格納されているものを用いることができる。
【０００９】
本発明に係る画像処理方法は、画像データを圧縮符号化して圧縮符号化データを生成する工程と、前記圧縮符号化データを記憶装置に格納する工程と、符号化パラメータをもとに前記圧縮符号化データの符号量および前記圧縮符号化データに付随する制御情報の符号量を含む合計符号量を計算し、前記合計符号量を目標値と比較し、前記合計符号量が前記目標値以下となるための基準値を出力する工程と、前記基準値に相当する分の前記圧縮符号化データを前記記憶装置から読み出し、前記読み出した圧縮符号化データおよび前記圧縮符号化データに付随する制御情報を含む出力データを形成する工程とを備える。ここで、前記圧縮符号化データは、ＪＰＥＧ２０００に準拠するデータとすることができる。また、前記圧縮符号化データに付随する制御情報の符号量は、推定値としてテーブルに格納しておくことができ、また固定値として与えることができ、さらに計算により求められたものとすることができる。また、前記圧縮符号化データに付随する制御情報の符号量は、所定値以下の計算量で算出できるときは計算により求められたものを用い、前記所定値より大きい計算量を必要とするときは推定値としてテーブルに格納されているものを用いることができる。
【発明の効果】
【００１０】
本発明によれば、ある容量の目標値に対して、符号化処理を繰り返すことなく高速に圧縮符号化を実現することができる画像処理装置を得ることができる。本発明の画像処理装置は、ある容量の目標値に対して同じか下回る符号量を出力する必要のある画像データの圧縮符号化において、特に圧縮符号化データに付随する制御情報の符号量として、例えばパケットヘッダ量テーブルに格納した推定値、あるいは固定値や計算値等を用いることができ、符号化処理をより簡易に、繰り返すことなく実現できる。これにより符号化処理時間を短縮することができる。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明の実施の形態の一例として示す画像処理装置Ａの構成図である。画像処理装置Ａは、符号化処理部（ＪＰＥＧ２０００符号化前半処理部）１、符号データ転送制御部６、記憶装置（メモリ）７、符号量計算部８、記憶装置（メモリ）９、符号形成部１０、及び、記憶装置（メモリ）１１を備える。ＪＰＥＧ２０００符号化前半処理部１は、入力する画像データを、入力する符号化パラメータに従い、ＪＰＥＧ２０００に準拠した方法で圧縮符号化し、圧縮符号化データ（符号データ）の本体を出力する。符号データ転送制御部６は、ＪＰＥＧ２０００符号化前半処理部１が出力した符号データをメモリ７に書き込みながら、符号データの制御情報を符号量計算部８へ出力する。符号量計算部８は、符号データ転送制御部６が出力する符号データの制御情報を入力し、符号化パラメータをもとに、符号データ本体と付随する制御情報からなる形成後の符号量を計算し、計算結果をメモリ９に順次書き込み、符号データ転送制御部６による符号データのメモリ７への書き込みが終了した後でメモリ９の計算結果を読み出し、符号量目標値と比較し、符号量が目標値以下となるための基準値（有効な符号化パス数）を出力する。符号形成部１０は、符号量計算部８が出力する、符号量が目標値以下となるための有効な符号化パス数に相当する分の符号データを、メモリ７から符号データ転送部６を経由して読み出し、ＪＰＥＧ２０００に準拠した形式の形成符号データを生成して出力し、符号量が目標値以下となるための有効な符号化パス数に相当する分から外れた符号データは破棄する。メモリ１１はＪＰＥＧ２０００に準拠した形式に形成した符号データを書き込む記録媒体である。
【００１２】
ＪＰＥＧ２０００符号化前半処理部１は、ＪＰＥＧ２０００に準拠した方法で画像データを符号化する周知の処理を行うものであり、色変換部２、２次元離散ウェーブレット変換部３、量子化部４、及び、算術符号化処理部５を備える。
【００１３】
色変換部２は、画像データをＹ成分、Ｃｂ成分、Ｃｒ成分の３つの色成分に変換する。２次元離散ウェーブレット変換部３は、上記の各色成分に対して２次元離散ウェーブレット変換を行い、その結果、色成分ごとに得られるサブバンドＬＬ、サブバンドＨＬ、サブバンドＬＨ、サブバンドＨＨのウェーブレット係数を出力する。量子化部４は、各色成分の各サブバンドのウェーブレット係数を符号化パラメータに含まれる量子化パラメータに基づいて、各画素の強度をあらわすビットごとに、ビットプレーンと呼ばれる単位に分割する。算術符号化処理部５は、各色成分の各サブバンドのウェーブレット係数を、コードブロック単位に面積を分割し、それぞれのコードブロックに含まれる、上記の各ビットプレーンに対して算術符号化を行い、その結果得られる符号化パスごとのＭＱ符号を順次出力する。図２は、算術符号化処理部５が出力するＹ成分のＭＱ符号の一例を示す図である。符号化をコードブロック単位で行うことから、出力する符号はコードブロック単位で連続しており、それぞれのコードブロックの符号は、複数の符号化パスの出力によって構成されている。Ｃｂ成分、Ｃｒ成分に関しても、同様の出力が得られる。なお、算術符号化５までのＪＰＥＧ２０００に準拠して行う符号化の内容については、周知であるため詳細な説明は省く。
【００１４】
図３は、符号形成部１０が出力し、メモリ１１に書き込む、ＪＰＥＧ２０００に準拠した形成符号データの形式の一例を示す図である。画像データ全体にわたる制御情報としてメインヘッダとタイルパートヘッダを書き込んだ後、画像の面積をプレシンクト単位に分割し、それぞれのプレシンクトの制御情報を含むパケットヘッダと符号データからなるパケットを生成して順次書き込み、全てのパケットを書き込んだ後、符号データ終端マーカーを書き込む。パケットは、プレシンクトに含まれる全てのコードブロックの制御情報ならびに符号データ本体を含む。パケットヘッダには、プレシンクトに含まれる全てのコードブロックの制御情報を連続して書き込む。なお、ＪＰＥＧ２０００に準拠した形成符号データの形式については、周知であるため詳細な説明は省く。
【００１５】
図４は、符号量計算部８の一例を示すブロック図である。符号量計算部８は、サブバンドＬＬ符号量計算部１２、サブバンドＨＬ符号量計算部１３、サブバンドＬＨ符号量計算部１４、サブバンドＨＨ符号量計算部１５、第２カウンタ２２、遅延回路２３、加算器２４、２５、２６、２７、２８、３０、３１、レジスタ２９、及び、比較器３２を備える。
【００１６】
サブバンドＬＬ符号量計算部１２は、符号量カウンタ１６、第１カウンタ１７、遅延回路１８、加算器１９、マルチプレクサ２０、及び、アドレス生成回路２１を備える。サブバンドＨＬ符号量計算部１３、サブバンドＬＨ符号量計算部１４、及び、サブバンドＨＨ符号量計算部１５は、サブバンドＬＬ符号量計算部１２と同様の構成である。
【００１７】
符号量カウンタ１６は、コードブロックごとの無効な上位ビットプレーンの数を示す零ビットプレーン情報Ｐ１と、符号化パラメータとして入力するコードブロックサイズＰ２と、同じく符号化パラメータとして入力するプレシンクトサイズＰ３と、符号データ１バイトの転送が行われたときＨｉｇｈレベルとなる符号データ転送信号Ｃ１と、符号化パスの最終符号データの転送が行われたときＨｉｇｈレベルとなる符号化パス最終符号データ転送信号Ｃ２と、コードブロックのなかで何番目の符号化パスであるかを示す第１カウント値Ｐ４から、コードブロックごとに符号データ本体と、推測されるパケットヘッダの容量の合計をカウントし、符号量カウント値を出力する。入力する信号のうち、零ビットプレーン情報Ｐ１、符号データ転送信号Ｃ１、及び、符号化パス最終符号データ転送信号Ｃ２は、ＪＰＥＧ２０００符号化前半処理部１が出力した信号を、符号データ転送制御部６を経由して入力する。符号量カウンタ１６の構成および動作については後述する。
【００１８】
第１カウンタ１７は、符号化パス最終符号データ転送信号Ｃ２と、コードブロックの最終符号データの転送が行われたときＨｉｇｈレベルとなるコードブロック最終符号データ転送信号Ｃ３を入力し、符号化パス最終符号データ転送信号Ｃ２がＨｉｇｈとなるごとに１ずつカウントし、コードブロック最終符号データ転送信号Ｃ３がＨｉｇｈとなった場合にはカウントを初期状態すなわち０に戻し、コードブロックのなかで何番目の符号化パスであるかを示す第１カウント値Ｐ４を出力する。コードブロック最終符号データ転送信号Ｃ３は、ＪＰＥＧ２０００符号化前半処理部１が出力した信号を、符号データ転送制御部６を経由して入力する。
【００１９】
マルチプレクサ２０は、アドレス制御信号の作用により、符号量カウント値をメモリ９に書き込む動作を行うときは、第１カウント値Ｐ４を出力し、有効符号化パス数を計算する動作を行うときは、第２カウント値を出力する。
【００２０】
アドレス生成２１は、マルチプレクサ２０が出力する、第１カウント値Ｐ４、もしくは、第２カウント値を、サブバンドＬＬに割り当てられたメモリ９の物理的なアドレスに変換し、メモリ９アドレスを出力する。アドレス生成２１がメモリ９アドレスを出力することによって、メモリ９の対応する領域に格納されているデータが、自動的に、メモリ９読み出しデータＬＬにあらわれる。
加算器１９は、メモリ９読み出しデータＬＬと、符号量カウント値を加算し、メモリ９書き込みデータを出力する。
【００２１】
画像データの符号化処理を開始したとき、コードブロックのなかで何番目の符号化パスであるかを示す第１カウント値Ｐ４の出力は初期状態の０を示している。符号量カウンタ１６は、符号データ転送信号Ｃ１がＨｉｇｈレベルとなるごとに、符号量をカウントする。符号化パス最終符号データ転送信号Ｃ２がＨｉｇｈレベルになる直前、メモリ９書き込みデータは、メモリ９読み出しデータＬＬにあらわれているメモリ９の初期値０と、０番目の符号化パスの符号量カウント値を加算した値を出力している。
【００２２】
符号化パス最終符号データ転送信号Ｃ２がＨｉｇｈレベルになると、遅延回路１８の作用によりメモリ９書き込み命令がＨｉｇｈレベルとなり、０番目の符号化パスに対応するメモリ９の領域に、直前のメモリ９書き込みデータが書き込まれ、同時に、符号量カウンタ１６が初期状態の０になり、さらに、第１カウンタ１７が１カウントする。
【００２３】
第１カウンタが１カウントしたことにより、１番目の符号化パスに対応するメモリ９の領域に格納されている初期値０が、メモリ９読み出しデータＬＬにあらわれる。符号量カウンタ１６は、符号データ転送信号Ｃ１がＨｉｇｈレベルとなるごとに、符号量をカウントする。符号化パス最終符号データ転送信号Ｃ２がＨｉｇｈレベルになる直前、メモリ９書き込みデータは、メモリ９読み出しデータＬＬにあらわれているメモリ９の初期値０と、１番目の符号化パスの符号量カウント値を加算した値を出力している。
【００２４】
符号化パス最終符号データ転送信号Ｃ２がＨｉｇｈレベルになると、遅延回路１８の作用によりメモリ９書き込み命令がＨｉｇｈレベルとなり、１番目の符号化パスに対応するメモリ９の領域に、直前のメモリ９書き込みデータが書き込まれ、同時に、符号量カウンタ１６が初期状態の０になり、さらに、第１カウンタ１７が１カウントする。
【００２５】
１回もしくは複数回の符号データ転送信号Ｃ１のＨｉｇｈレベル出力と、１回の符号化パス最終符号データ転送信号Ｃ２のＨｉｇｈレベル出力を交互に繰り返しながら、符号化パス最終符号データ転送信号Ｃ２がＨｉｇｈレベルとなるたびに第１カウンタ１７が１カウントしていくと、Ｎ番目の符号化パスの符号データ転送が終了した時点で、０番目の符号化パスに対応するメモリ９の領域には０番目の符号化パスの符号量が、１番目の符号化パスに対応するメモリ９の領域には１番目の符号化パスの符号量が、Ｎ番目の符号化パスに対応するメモリ９の領域にはＮ番目の符号化パスの符号量が、それぞれ格納されている。
【００２６】
０番目のコードブロックに含まれる符号化パスの数がＮであるとすると、符号化パス最終符号データ転送信号Ｃ２がＮ回目にＨｉｇｈレベルとなるとき、同時にコードブロック最終符号データ転送信号Ｃ３がＨｉｇｈレベルとなり、第１カウンタ１７は初期状態の０になる。次に符号データ転送信号Ｃ１がＨｉｇｈレベルになることは、１番目のコードブロックの、０番目の符号化パスに対応する符号データ転送が行われたことを示している。
【００２７】
サブバンドＬＬに含まれるコードブロックの数がＺであるとき、０番目からＺ番目のそれぞれのコードブロックに含まれる符号化パスの数を比較し、その最大値をＭとすると、Ｚ番目のコードブロックの符号データ転送が終了した時点で、０番目の符号化パスに対応するメモリ９の領域には０番目からＺ番目までのコードブロックの０番目の符号化パスの符号量の合計が、１番目の符号化パスに対応するメモリ９の領域には０番目からＺ番目までのコードブロックの１番目の符号化パスの符号量の合計が、Ｍ番目の符号化パスに対応するメモリ９の領域には、０番目からＺ番目までのコードブロックのＭ番目の符号化パスの符号量が、それぞれ格納されている。
【００２８】
第２カウンタは、符号データ転送が全て終了した後、初期値０から１ずつカウントし、コードブロックのなかで何番目の符号化パスであるかを示す第２カウント値を出力する。
【００２９】
全てのサブバンドの符号データ転送が全て終了した後、アドレス制御信号を切り替えることにより、マルチプレクサ２０は第２カウント値を出力する。メモリ９読み出しデータＬＬには、サブバンドＬＬに含まれる全てのコードブロックの、各符号化パスの符号量の合計が、順にあらわれる。同様に、サブバンドＨＬ符号量計算部１３、サブバンドＬＨ符号量計算部１４、及び、サブバンドＨＨ符号量計算部１５から、各サブバンドに含まれる全てのコードブロックの、各符号化パスの符号量の合計を読み出す。サブバンドＬＬ符号量計算部１２、サブバンドＨＬ符号量計算部１３、サブバンドＬＨ符号量計算部１４、及び、サブバンドＨＨ符号量計算部１５から読み出した、４つのサブバンドの各符号化パスの符号量の合計は、さらに、加算器２５、２６、及び、２７によって合計する。
【００３０】
全てのサブバンドの符号データ転送が全て終了した時点で、各符号化パスの符号量の積算値を保持するレジスタ２９の値は初期値の０である。第２カウンタ２２と加算器２５、２６、及び、２７の作用により、加算器２７が４つのサブバンドの各符号化パスの符号量の合計を順に出力すると、加算器２８の作用により、レジスタ２９には、符号量の積算値が次々に書き込まれる。すなわち、第２カウンタ２２の出力が０番目の符号化パスを示す０のとき、レジスタ２９には０番目の符号化パスの符号量の合計が、第２カウンタ２２の出力が１番目の符号化パスを示す１のとき、レジスタ２９には０番目から１番目までの符号化パスの符号量の合計が、第２カウンタ２２の出力がＭ番目の符号化パスを示すＭのとき、レジスタ２９には０番目からＭ番目までの符号化パスの符号量の合計が、それぞれ書き込まれる。
【００３１】
レジスタ２９の出力に、加算器３０、及び、３１の作用により、メインヘッダ符号量Ｐ５、および、タイルパートヘッダ符号量Ｐ６を加算した結果を、比較器３２によって、符号量目標値Ｐ６と比較する。レジスタ２９の出力と、メインヘッダ符号量Ｐ５、および、タイルパートヘッダ符号量Ｐ６の合計が、符号量目標値Ｐ６を上回ると、比較器３２が出力する有効符号化パス数決定信号Ｃ４がＨｉｇｈレベルとなる。このとき、第２カウント値は、符号量の合計が符号量目標値Ｐ６をちょうど上回った符号化パスの番号を示しており、遅延回路２３を経由したあと、加算器２４でマイナス１を加算すると、有効符号化パス数決定信号Ｃ４がＨｉｇｈレベルになると同時に、符号量目標値Ｐ６とちょうど同じか下回ると推測される符号化パス数が、有効符号化パス数Ｐ７にあらわれる。
【００３２】
図５は、符号量カウンタ１６の一例を示すブロック図である。パケットヘッダ量テーブル１６ａは、コードブロックごとの無効な上位ビットプレーンの数を示す零ビットプレーン情報Ｐ１と、符号化パラメータとして入力するコードブロックサイズＰ２と、同じく符号化パラメータとして入力するプレシンクトサイズＰ３と、コードブロックのなかで何番目の符号化パスであるかを示す第１カウント値Ｐ４を入力し、４つの入力の組み合わせにより、パケットヘッダ量の推測値を選択して出力する。パケットヘッダ量テーブル１６ａにおいて、上記４つの入力の組み合わせに対して出力するパケットヘッダ量の推測値は任意に設定できるが、複数種類の画像を符号化し、上記４つの入力の組み合わせと符号化結果の関係の傾向を調査した上で設定することが望ましい。
【００３３】
ＡＮＤゲート１６ｂは、固定の論理値１と、符号データ１バイトの転送が行われたときＨｉｇｈレベルとなる符号データ転送信号Ｃ１を入力し、符号データ転送信号Ｃ１がＨｉｇｈレベルのとき符号データ１バイトの転送が行われたことを示す１を出力する。
【００３４】
ＡＮＤゲート１６ｃは、パケットヘッダ量テーブル１６ａが出力するパケットヘッダ量と、符号化パスの最終符号データの転送が行われたときＨｉｇｈレベルとなる符号化パス最終符号データ転送信号Ｃ２を入力し、符号化パス最終符号データ転送信号Ｃ２がＨｉｇｈレベルのときパケットヘッダ量を出力する。
【００３５】
ＯＲゲート１６ｄは、上記ＡＮＤゲート１６ｂの出力と、ＡＮＤゲート１６ｄの出力を入力し、論理ＯＲを出力する。すなわち、符号データ転送信号Ｃ１がＨｉｇｈレベルのときは、符号データ１バイトの転送が行われたことを示す１を出力し、符号化パス最終符号データ転送信号Ｃ２がＨｉｇｈレベルのときは、パケットヘッダ量を出力する。
【００３６】
レジスタ１６ｇは、ＯＲゲート１６ｉの作用により、符号データ転送信号Ｃ１と、符号化パス最終符号データ転送信号Ｃ２と、遅延回路１６ｈの作用により遅延した符号化パス最終符号データ転送信号Ｃ２のうちいずれかがＨｉｇｈレベルのときは、マルチプレクサ１６ｆの出力によって値を更新し、符号データ転送信号Ｃ１と、符号化パス最終符号データ転送信号Ｃ２と、遅延回路１６ｈの作用により遅延した符号化パス最終符号データ転送信号Ｃ２のうちいずれもＨｉｇｈレベルでないときは、値を保持する。
【００３７】
マルチプレクサ１６ｆは、遅延回路１６ｈの作用により遅延した符号化パス最終符号データ転送信号Ｃ２がＨｉｇｈレベルでないとき、レジスタ１６ｇが保持し出力している値と、上記ＯＲゲート１６ｄの出力を、加算器１６ｅで加算した結果を出力し、遅延回路１６ｈの作用により遅延した符号化パス最終符号データ転送信号Ｃ２がＨｉｇｈレベルのときは、０を出力する。
【００３８】
符号データ転送信号Ｃ１がＨｉｇｈレベルになるごとに、レジスタ１６ｇの値は保持している値に１を加算した値で更新される。符号化パス最終符号データ転送信号Ｃ２がＨｉｇｈレベルになると、レジスタ１６ｇの値は、まず、保持している値にパケットヘッダ量を加算した値で更新され、次に、遅延回路１６ｈの作用により遅延した符号化パス最終符号データ転送信号Ｃ２により、初期値の０で更新される。レジスタ１６ｇの値は、符号量カウント値として出力する。
【００３９】
次に、パケットヘッダ量テーブル１６ａの求め方の一例を説明する。パケットヘッダは、零長パケット情報と、コードブロックの包含情報と、零ビットプレーン情報と、符号化パス数情報と、コードブロックの符号量情報から構成され、プレシンクトに含まれる全てのコードブロックについての情報が連続して格納される。これらの情報は、ＪＰＥＧ２０００に準拠しており周知であるため、詳細な説明は省く。パケットヘッダ量を決定する上で支配的なのは、零ビットプレーン情報と、符号化パス数情報と、コードブロックの符号量情報である。零ビットプレーン情報のデータ長は、零ビットプレーン情報と、プレシンクトサイズとコードブロックサイズの関係から得られる、プレシンクトに含まれるコードブロックの数によって、推測値を求めることができる。符号化パス数情報のデータ長は、零ビットプレーン情報から、推測値を求めることができる。コードブロックの符号量情報のデータ長も、零ビットプレーン情報から推測値を求めることができる。零長パケット情報は、１ビットの固定データ長である。コードブロックの包含情報のデータ長は、変動がごく小さいため、推測値では、零長パケット情報との合計を８ビットの固定データ長として扱えば、精度としては十分である。したがって、１つのコードブロックに関してパケットヘッダに含まれる情報のデータ長の推測値は、零ビットプレーン情報と、プレシンクトに含まれるコードブロックの数によって得られる。
【００４０】
パケットヘッダ量テーブルを求めるために、まず、複数の種類の画像を、図１のＪＰＥＧ２０００符号化前半処理部１に示すような装置によって符号化する。このとき、算術符号化処理部５は、コードブロックごとに、画素を構成する最上位ビットのビットプレーンから順に、最初に有意なビットがあらわれるビットプレーンを探索するので、この処理によって同時に、零ビットプレーン情報を得ることができる。こうして得られる零ビットプレーン情報を収集し、平均的な零ビットプレーン情報を求める。ここでは仮に、平均的な零ビットプレーン情報が８であったとする。さらに対象とする画像処理装置が扱える最大のビットプレーン数が１２であったとすると、平均的な有意なビットプレーン数は１２から８をひいた４である。これらの結果をもとに、図５に示すパケットヘッダ量テーブル１６ａを求める。
【００４１】
例として、零ビットプレーン情報Ｐ１の値が８、コードブロックサイズＰ２が３２画素、プレシンクトサイズＰ３が６４画素、符号化パス番号を示す第１カウント値Ｐ４が０の場合の、パケットヘッダ長を求める。コードブロックサイズＰ２と、プレシンクトサイズＰ３は、いずれも正方形の一辺の長さを示した値であり、プレシンクトに含まれるコードブロック数は４と計算できる。零ビットプレーン情報のデータ長は、平均的な零ビットプレーン情報が８という前提から、プレシンクトに含まれる４つのコードブロックの中で最小の零ビットプレーン情報が０の場合に、最大の１０ビットとなる。符号化パス数情報のデータ長は、ＪＰＥＧ２０００の規格によって、零ビットプレーン情報Ｐ１と画像処理装置が扱える最大のビットプレーン数から一意に決定でき、零ビットプレーン情報Ｐ１の値が８で画像処理装置が扱える最大のビットプレーン数が１２の場合は、９ビットと求められる。コードブロックの符号量情報は、同じくＪＰＥＧ２０００の規格によって、零ビットプレーン情報Ｐ１と画像処理装置が扱える最大のビットプレーン数から一意に決定でき、この場合は１０ビットと求められる。零長パケット情報とコードブロックの包含情報のデータ長は、前述の通り８ビットの固定データ長として扱う。以上の合計が、該当する入力条件におけるパケットヘッダ量テーブルの出力であり、３７である。
【００４２】
パケットヘッダ量は、パケットに含まれるコードブロックの、符号化パス全てに対して一度だけ加算すればよい。したがって、符号化パス番号を示す第１カウント値Ｐ４が０以外の場合は、零ビットプレーン情報Ｐ１と、コードブロックサイズＰ２と、プレシンクトサイズＰ３がいずれの入力値であっても、パケットヘッダ量テーブルの出力は０である。以上と同様にして、零ビットプレーン情報Ｐ１と、コードブロックサイズＰ２と、プレシンクトサイズＰ３と、符号化パス番号を示す第１カウント値Ｐ４の組合せに応じた、パケットヘッダ量テーブルの出力を求める。
【００４３】
別の方法として、パケットヘッダ量テーブルを用いることなく、パケットヘッダ量の推測値を固定値とすることができる。この場合、図５に示す符号量カウンタのパケットヘッダ量テーブル１６ａを削除し、パケットヘッダ量の推測値を固定値とする。パケットヘッダ量の推測値は、画像処理装置が扱える最大のビットプレーン数と、同じく最大のプレシンクトサイズと、同じく最小のコードブロックサイズから、上記と同様にして求める。もしくは、すでにパケットヘッダ量テーブルを求めてある場合は、パケットヘッダ量テーブルの出力として取り得る値の最大値を選択しても良い。
【００４４】
パケットヘッダ量の推測値を固定値とすることの長所は、パケットヘッダ量テーブルを不要とし、装置構成を簡単かつ安価にできることである。短所は、最終的に出力する形成符号データの容量が、パケットヘッダ量テーブルを用いる場合に比べて、目標値を下回る量が大きくなることである。前述した通り、破棄する符号量が少ないほど、後の復号結果が良好な画質となる傾向があり、符号化の際にパケットヘッダ量テーブルを用いた方が、復号後の画質に期待できる。
【００４５】
さらに別の方法として、パケットヘッダ量の推測値を計算回路によって求めることができる。この場合、図６に示すように、上述の図５に示す符号量カウンタのパケットヘッダ量テーブル１６ａを計算回路１６ｊと置き換える。計算回路１６ｊは、ＪＰＥＧ２０００に準拠した方法でパケットヘッダを生成するのと同じ動作をしながら、実際のパケットヘッダ量と同じ値を出力する。
【００４６】
パケットヘッダ量の推測に計算回路を用いることの長所は、最終的に出力する形成符号データの容量を、高い精度で目標値に近づけることができることである。短所は、計算回路によって装置全体の規模が大きくなることと、計算回路の出力の待ち時間によって符号化処理のパフォーマンスが悪化する可能性があることである。
【００４７】
さらに別の方法として、パケットヘッダ量の推測値を計算回路とパケットヘッダ量テーブルの組合せによって求めることができる。ＪＰＥＧ２０００に準拠した符号化の、画像処理装置による実現を現実的に考えると、装置の規模と、パフォーマンスと、符号データ量の目標値に対する精度との間で、トレードオフが発生することが予測される。このトレードオフを解決するために、パケットヘッダ量テーブルを用いる方法と、計算回路を用いる方法とを組み合わせることが有効になる場合が考えられる。例えば、プレシンクトに含まれるコードブロックの数が４以下の場合は計算回路を使い、それ以外の場合はパケットヘッダ量テーブルを用いる方法がある。計算回路の場合、零ビットプレーン情報のデータ長はタグツリーと呼ばれる方法で計算するが、プレシンクトに含まれるコードブロックの数が大きくなると計算量が増大し、回路規模、パフォーマンス共に悪化する。この問題を、パケットヘッダ量テーブルを併用することで回避することができる。
【００４８】
図７は、メモリ９に格納した、各符号化パスの符号量の形式の一例を示す図である。符号化パスごとに符号量の合計を格納する領域を、サブバンドごとに設ける。各サブバンドで区切られた領域ごとに、独立して書き込みおよび読み出しができることが望ましい。
【００４９】
以上の処理により、符号化処理を繰り返すことなく、圧縮符号化を実現することができる。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施の形態の一例として示す画像処理装置の構成図である。
【図２】算術符号化処理部が出力するＹ成分のＭＱ符号の一例を示す図である。
【図３】符号形成部が出力しメモリ１１に書き込むＪＰＥＧ２０００に準拠した形成符号データの形式の一例を示す図である。
【図４】符号量計算部の一例を示すブロック図である。
【図５】符号量カウンタの一例を示すブロック図である。
【図６】符号量カウンタの他の例を示すブロック図である。
【図７】メモリ９に格納した各符号化パスの符号量の形式の一例を示す図である。
【符号の説明】
【００５１】
１  ＪＰＥＧ２０００符号化前半処理部
２  色変換部
３  ２次元離散ウェーブレット変換部
４  量子化部
５  算術符号化処理部
６  符号データ転送制御部
７，９，１１  メモリ
８  符号量計算部
１０  符号形成部
１２  サブバンドＬＬ符号量計算部
１３  サブバンドＨＬ符号量計算部
１４  サブバンドＬＨ符号量計算部
１５  サブバンドＨＨ符号量計算部
１６  符号量カウンタ
１７  第１カウンタ
１８，２３  遅延回路
１９，２４，２５，２６，２７，２８，３０，３１  加算器
２０  マルチプレクサ
２１  アドレス生成回路
２２  第２カウンタ
２９  レジスタ
３２  比較器
Ａ  画像処理装置
【図１】
2008301211.tif 000003
【図２】
2008301211.tif 000004
【図３】
2008301211.tif 000005
【図４】
2008301211.tif 000006
【図５】
2008301211.tif 000007
【図６】
2008301211.tif 000008
【図７】
2008301211.tif 000009