説明

画像処理装置およびその方法

【課題】 画像データの符号化あるいは復号化におけるビットモデリング処理速度を向上させることができる画像処理装置およびその方法を提供する。
【解決手段】 本画像処理装置は、ビットモデリング部8が、絶対値変換したコードブロックデータのビットプレーン毎にCUパス、SPパスおよびMRパスのデータに分類処理する手段53を備え、ビットプレーン毎に各パスのデータの分類処理を繰り返し行うためのループ処理経路S13〜S17と、あるビットプレーン上の全てのデータがMRパスに分類されたことを検出した場合に以降のビットプレーンにおいてデータをMRパスに分類する処理のみを繰り返し行うためのループ処理経路S18〜S19とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データを符号化する画像処理装置およびその方法、ならびに符号化された画像データを復号化する画像処理装置およびその方法に関する。
【背景技術】
【0002】
近年では、従来のテレビ画像のように、アナログ信号が主流である画像データにおいてもディジタル信号処理を施すことでノイズに耐性を持たせて遠隔地に画像データを送信し、受信側の画像出力装置では高品質な画像が表示できるようになってきた。しかしながら、画像情報全てをそのままディジタル化するとデータ容量が膨大となり、そのディジタル画像データを格納するための記憶装置は膨大な容量が必要となってしまう。そこで、その画質を損なうことなく、ディジタル画像データの容量を小さく圧縮する方法および圧縮データを伸張する方法が様々に検討され、標準化されてきた。代表的なディジタル画像圧縮伸張方式としては、JPEG(Joint Photographic Experts Group)やMPEG(Moving Picture Experts Group)などが広く知られ、利用されている。そしてさらに、JPEGやMPEGよりも高画質を維持しつつ圧縮効率を高めた次世代の画像圧縮国際標準として、JPEG2000(ISO/IEC 15444−1|ITU−T Recommendation T.800)が標準化されている。しかしながら、JPEG2000の圧縮伸張処理はJPEGに比べその方式が複雑で、演算処理の回数も増大しているため、処理速度が低下するという問題がある。
【0003】
図1は、JPEG2000の符号化処理の基本的な構成を示す図である。符号化処理部1は、画像データを入力し、符号データファイルを出力するインタフェースを持つ。また、入力画像データをウェーブレット変換処理可能なデータ形式に変換するための色変換部2、画像データを周波数成分に分割するためのウェーブレット変換部3、周波数成分に分割したデータの精度調整をするための量子化部4、エントロピー符号化を実施するEBCOT部5、符号データ量を調整するためのレート制御部6、符号データの制御情報を付加してパケットを生成し、符号データファイルを形成するためのパケット生成部7で構成される。更に、EBCOT部5は符号化するためのビットモデルを生成し、符号化処理のための制御情報を生成するビットモデリング部8とデータの符号化を行う算術符号化部9で構成される。これにより画像圧縮符号化が行われる。
【0004】
図2は、JPEG2000の復号化処理の基本的な構成を示す図である。復号化処理部10は、符号データファイルを入力し、画像データを出力するインタフェースを持つ。また、符号データファイル内のファイルヘッダおよびパケットを解析するためのパケット解析部11、エントロピー復号化を実施する逆EBCOT部12、データの精度調整をするための逆量子化部13、周波数成分データから画像データに復元するためのウェーブレット逆変換部14、画像データ形式の変換を行う色変換部15で構成される。更に、逆EBCOT部12は符号を復号する算術復号化部16と復号されたデータをモデル化するビットモデリング部17で構成される。これにより画像伸張復号化が行われる。
【0005】
尚、符号化処理部1の色変換部2は入力画像の形式に応じて省略可能であり、復号化処理部10の色変換部15は出力画像の形式に応じて省略可能である。また、ビットモデリング部については符号化処理部1と復号化処理部10のいずれにも組み込まれる。
【0006】
図3は、JPEG2000の符号化処理および復号化処理のフローを示す図である。符号化処理部1は原画像データ20を入力し、色変換部2において、Y成分21、Cb成分22、Cr成分23の3成分に変換する。この3成分のデータはそれぞれ個別に符号化処理される。1成分データは2次元離散ウェーブレット変換部3により、周波数成分に分割され、いくつかのサブバンドデータ24を生成する。このサブバンドデータは2次元離散ウェーブレット変換により発生する四則演算結果の演算精度を保つため、大きなビット幅を持つ。この大きなビット幅は量子化部4によって削減することができる。しかし、大幅な量子化によってデータ圧縮効果を高くすると、画質の低下を招くため、大幅な量子化は行わず、EBCOT処理によって画質を維持しながらデータ圧縮を行う。
【0007】
一つのサブバンドデータ25はビットモデリング部8において、一定のサイズで設定されたコードブロック26に分割され、処理される。ビットモデリング処理では、係数を絶対値表現に変換し、データのビット幅を3次元の高さ方向に配置する。このとき、上から下へと上位ビットから順に下位ビットまでを配置する。この3次元イメージのコードブロックデータから、同じ高さの平面で切り出したビットサンプルの集合27をビットプレーンという。このビットプレーン上の各ビットサンプルをSignificance propagation pass(以降SPパスと表現する)、Magnitude refinement pass(以降MRパスと表現する)、Clean up pass(以降CUパスと表現する)の3つのパスに分類し、それぞれのパスのデータ列を生成する。またビットモデリング処理では3つのパスに分類する際にコンテキストを生成する。ここで、コンテキストとは符号化対象係数の近傍の有意状態に応じて決定する値であり、算術符号化部9で使用される情報である。算術符号化部9ではコンテキストに従い、パス単位のデータ列を圧縮符号化する。得られた符号化データをレート制御部6において、指定のファイルサイズになるようにデータ量を制御しパケット生成部7で、復号化する際に必要となる制御情報を生成して、JPEG2000形式に形成する。
JPEG2000の復号化は基本的に符号化の逆の手順で処理することにより、元の画像データを得る。
【0008】
この種の符号化、復号化に関連する技術として例えば次のものが挙げられる。特開2003−87571号公報には、無駄なCUパス処理を検出し、削減することにより、効率化を図る技術が記載されている。特開2003−8445号公報には、ビットモデリング処理前および処理後のデータを記憶装置に格納し、記憶装置に対するデータ入出力制御を工夫することにより処理の効率化を図る技術が記載されている。特開2005−184511号公報には、1データに対してSPパスの検索処理後、直ちに同データに対してMRパスの検索処理を実施させることにより、無駄な記憶装置からの読み出し処理を削減し、効率化を図る技術が記載されている。特開2006−33179号公報には、コードブロックをサブブロックに分割し、SPパス処理時にサブブロック内のサンプルデータがSPパス、MRパス、CUパスのどのパスに分類されるべきかをあらかじめ判別して、その情報を保持しておき、その後の同一ビットプレーンにおけるMRパス処理またはCUパス処理時において、MRパス処理またはCUパス処理が必要なサブブロックのみ選択して処理することで、効率化を図る技術が記載されている。
【特許文献1】特開2003−87571号公報
【特許文献2】特開2003−8445号公報
【特許文献3】特開2005−184511号公報
【特許文献4】特開2006−33179号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
JPEG2000の処理において、特に演算回数が膨大となり、処理速度低下の要因となるのがビットモデリング処理部8である。ビットモデリング処理部ではまず、最上位のビットプレーンから処理を開始し、有意状態のビットが存在する最上位のビットプレーン(以降、最上位の有意ビットプレーンと表現する)を検出する。尚、有意状態とは、図4に示すように、ビットプレーンに分割する前の1サンプルデータに注目し、データを上位側から見て最初にビットが1になった点を含め、当該点より下位のデータが意味を持っているとする状態を指すものである。当該点より上位のデータはすべて0であり、有意ではない状態であると表現する。従って、前述した最上位の有意ビットプレーンとは、ビットプレーン上に有意状態のビットサンプルが少なくとも1つ以上存在する一番上位のビットプレーンのことを示している。また、図5のように最上位の有意ビットプレーンより上位のビットプレーンは全てのデータが0である。この全てのデータが0であるビットプレーンを零ビットプレーンと言い、零ビットプレーンの数を零ビットプレーン情報として、パケット生成のために記憶しておく。これにより、零ビットプレーンをビットモデリング処理から切り捨てることができる。最上位の有意ビットプレーンを含めた下位のビットプレーンデータをビットモデリング処理対象として、それぞれのビットプレーン毎にパス分類処理して算術符号化部9に出力する。
【0010】
パス分類処理の際、ビットプレーン内のデータの走査順序は図6に示すように、ビットプレーン左上のサンプルから走査を開始し、縦方向に4サンプルまとめた単位で横方向に走査する。横方向の終点まで走査したら、一番左のサンプルに戻り、先ほど走査した4サンプル単位の下のサンプルから走査を再開する。これをビットプレーンの右下のサンプルを走査するまで繰り返す。尚、ビットプレーンの縦方向のサンプル数が4の倍数でないケースがある。この場合には、最下段の係数を4サンプルにまとめることができないが、実在するサンプル数でまとめ、走査する。
【0011】
パス分類処理は図7に示すように、以下のとおり実施する。まずステップS01において、ビットサンプルの有意状態を記憶した有意情報を初期化する。
【0012】
パス分類処理を開始するにあたり、ステップS02にて、最上位の有意ビットプレーンのビットサンプルをすべてCUパスに分類する。CUパスに分類された全サンプルは、図8に示すように、注目ビットサンプルに連続する4データ30の有意状態を分析し、その状態に応じてデータ列およびコンテキストを生成する。尚、注目ビットサンプルに連続する4サンプルは、走査境界をまたがない連続する4サンプル30であり、4サンプル毎の走査境界をまたぐような連続する4サンプル31は対象とならない。さらに、本パス検索において有意となったサンプルについては該当係数の正負符号情報をCUパスのデータ列に加え、正負符号のコンテキストを生成する。また、ここで有意となったサンプルは有意情報に有意となったことを記憶し、次のビットプレーンのパス検索における有意情報として使用する。
【0013】
こうして、当該ビットプレーン上の全サンプルの処理が終了したら、ステップS03において、全ビットプレーンの処理が終了しているか否かを判定し、全ビットプレーンの処理が終了していれば、当該コードブロックのパス分類処理は終了となるが、まだ処理すべきビットプレーンが存在していれば、次のビットプレーンのパス分類処理を行う。このとき、前のビットプレーンで記憶した有意情報は保持し、次のビットプレーンのパス検索分類処理における有意情報として使用する。従って、上位のビットプレーンのパス検索処理が終了し、その有意情報が得られるまで、その下位のビットプレーンのパス検索処理を行うことはできない。
【0014】
2番目以降のビットプレーン処理では3つのパスへの分類を行う。ステップS04にて、SPパスに分類されるべきデータを検索する。SPパス処理では、注目ビットサンプルの有意情報が有意でなく、かつ、8近傍の有意情報のいずれかが有意である場合SPパスに分類する。8近傍の有意情報とは図9の8近傍の有意情報40に示すような注目ビットサンプルの周囲8つの有意情報のことを表す。尚、8近傍にコードブロック外のビットサンプルが含まれるような8近傍の有意情報42の場合は、コードブロック外に位置する有意情報は有意でないとみなして処理する。
【0015】
8近傍の有意情報は直前のサンプルビットまでの結果を反映した有意情報を使用する。従って、図9の8近傍の有意情報41のように、その前の注目ビットサンプルが有意となることにより、SPパスに分類される条件が成立する場合もあり得る。
【0016】
SPパスに分類された場合、各ビットサンプル毎にコンテキストを生成する。さらに、本検索によって、初めて有意状態になったビットサンプルについては、正負符号情報をSPパスのデータ列に加え、正負符号情報のコンテキストを生成し、有意情報に有意となったことを記憶する。
【0017】
当該ビットプレーンのデータにおいてSPパス検索が終了したら、同じビットプレーンのビットサンプルについて、ステップS05でMRパスに分類されるべきデータを検索する。MRパス検索では、既に直前のSPパス分類処理でSPパスに分類されているデータは処理しない。従って、SPパス分類処理が終了していなければ、どのビットサンプルをMRパス分類処理すべきか判断できないので、MRパス分類処理は実行できない。SPパスに分類されているデータを除いた上で、注目ビットサンプルが有意であるか否かを判定基準として、有意であればMRパスに分類する。また同時に、コンテキストを生成し、ここで初めて有意となったサンプルは有意情報に有意となったことを記憶する。
【0018】
当該ビットプレーンのデータにおいてMRパス検索が終了したら、同じビットプレーンのビットサンプルについて、ステップS06でCUパスに分類されるべきデータを検索する。ここでは、上記のSPパス検索、MRパス検索によって分類されていない残りのビットサンプルをCUパスに分類し、コンテキストを生成する。従って、SPパスおよびMRパスの分類処理が終了していなければ、CUパス分類処理は実行できない。本CUパス分類処理は、最上位の有意ビットプレーンで実施したCUパス分類処理と同様に、データ列生成および、コンテキストを生成し、ここで有意となったサンプルは有意情報に有意となったことを記憶する。
【0019】
当該ビットプレーンのデータにおいてCUパス検索が終了したら、ステップS03にて1コードブロック内の全ビットプレーンの処理が終了したかどうか判定し、まだ未処理のビットプレーンが残っていれば、残っているビットプレーンに対して、ステップS04〜ステップS06の処理を繰り返す。
【0020】
このように一つのコードブロックの全てのビットプレーンについてパス分類処理が終了したら、次のコードブロックについて同様に処理し、全サブバンド、全コンポーネントについても同様に処理を行う。
【0021】
以上のようにビットモデリング処理では、注目ビットサンプル以前のビットサンプル検索分類結果およびその有意状態が、以降のビットサンプルのパス分類処理に影響をおよぼすため、ビットプレーン内のデータ処理は1ビットサンプル毎、逐次的に行う必要がある。また、パス検索処理時における最上位の有意ビットプレーン以外のビットプレーンにおいては、同一ビットサンプルについて3回パス判定、分類処理をする必要がある。つまり、パス判定の結果データ列生成およびコンテキスト生成処理が発生しなくても、SPパスおよびCUパス分類のパス判定時にデータを記憶装置から読み出して、SPパスおよびCUパスに分類されないということを確認する処理が必要となる。そのため、ウェーブレット変換後の全出力データの全ビットに対して、必ず3回のデータ取得処理が発生し、膨大な処理時間を浪費してしまう。以上の理由から、画像データ全体に対するビットモデリング処理は、JPEG2000の符号化または復号化において速度向上が困難となっている。
【0022】
本発明は以上の問題に鑑みて成されたものであり、画像データの符号化あるいは復号化におけるビットモデリング処理速度を向上させることができる画像処理装置およびその方法を提供することを目的とする。
【課題を解決するための手段】
【0023】
本発明は、画像圧縮符号化に伴うビットモデリング処理を行うビットモデリング部を具備する画像処理装置であって、前記ビットモデリング部が、入力されたコードブロックデータを絶対値変換し最上位有意ビットプレーンを検出する手段と、前記最上位有意ビットプレーンを含む前記絶対値変換したコードブロックデータを記憶する手段と、前記コードブロックデータのビットプレーン毎にCUパス、SPパスおよびMRパスのデータに分類処理する手段と、各データの有意状態および分類状態を表すステータス情報を記憶する手段とを備え、前記分類処理手段が、前記ビットプレーン毎に前記各パスのデータの分類処理を繰り返し行うためのループ処理経路と、あるビットプレーン上の全てのデータがMRパスに分類されたことを前記ステータス情報を用いて検出した場合に以降のビットプレーンにおいてデータをMRパスに分類する処理のみを繰り返し行うためのループ処理経路とを有することを特徴とする画像処理装置である。この画像処理装置において、前記ビットプレーンが複数の小ブロックに分割され、前記分類処理手段が、前記小ブロック内の全てのデータがMRパスに分類されたことを検出した場合に以降のビットプレーンにおいて前記小ブロックのSPパスおよびCUパスの少なくとも一方のデータの分類処理を省略する経路を備えることができる。
【0024】
また本発明は、画像伸張復号化に伴うビットモデリング処理を行うビットモデリング部を具備する画像処理装置であって、前記ビットモデリング部が、入力されたCUパス、SPパスおよびMRパスに分類されたデータからコードブロックデータを復元処理する手段と、前記コードブロックデータを復元処理する度に更新するステータス情報を記憶する手段と、前記復元されたコードブロックデータを記憶する手段とを備え、前記復元処理手段が、前記各パスのデータに対して前記コードブロックデータのビットプレーン毎に復元処理を繰り返し行うためのループ処理経路と、あるビットプレーン上の全てのデータがMRパスで復元されたことを前記ステータス情報を用いて検出した場合に以降のビットプレーンにおいてMRパスを復元する処理のみを繰り返し行うためのループ処理経路とを有することを特徴とする画像処理装置である。この画像処理装置において、前記ビットプレーンが複数の小ブロックに分割され、前記復元処理手段が、前記小ブロック内の全てのデータがMRパスで復元されたことを検出した場合に以降のビットプレーンにおいて前記小ブロックのSPパスおよびCUパスの少なくとも一方のデータの復元処理を省略する経路を備えることができる。
【0025】
また本発明は、画像圧縮符号化に伴うビットモデリング処理を行うビットモデリング工程を具備する画像処理方法であって、前記ビットモデリング工程が、入力されたコードブロックデータを絶対値変換し最上位有意ビットプレーンを検出する工程と、前記最上位有意ビットプレーンを含む前記絶対値変換したコードブロックデータを記憶する工程と、前記コードブロックデータのビットプレーン毎にCUパス、SPパスおよびMRパスのデータに分類処理する工程と、各データの有意状態および分類状態を表すステータス情報を記憶する工程とを備え、前記分類処理工程が、前記ビットプレーン毎に前記各パスのデータの分類処理を繰り返し行うためのループ処理工程と、あるビットプレーン上の全てのデータがMRパスに分類されたことを前記ステータス情報を用いて検出した場合に以降のビットプレーンにおいてデータをMRパスに分類する処理のみを繰り返し行うためのループ処理工程とを有することを特徴とする画像処理方法である。この画像処理方法において、前記ビットプレーンが複数の小ブロックに分割され、前記分類処理工程が、前記小ブロック内の全てのデータがMRパスに分類されたことを検出した場合に以降のビットプレーンにおいて前記小ブロックのSPパスおよびCUパスの少なくとも一方のデータの分類処理を省略することができる。
【0026】
また本発明は、画像伸張復号化に伴うビットモデリング処理を行うビットモデリング工程を具備する画像処理方法であって、前記ビットモデリング工程が、入力されたCUパス、SPパスおよびMRパスに分類されたデータからコードブロックデータを復元処理する工程と、前記コードブロックデータを復元処理する度に更新するステータス情報を記憶する工程と、前記復元されたコードブロックデータを記憶する工程とを備え、前記復元処理工程が、前記各パスのデータに対して前記コードブロックデータのビットプレーン毎に復元処理を繰り返し行うためのループ処理工程と、あるビットプレーン上の全てのデータがMRパスで復元されたことを前記ステータス情報を用いて検出した場合に以降のビットプレーンにおいてMRパスを復元する処理のみを繰り返し行うためのループ処理工程とを有することを特徴とする画像処理方法である。この画像処理方法において、前記ビットプレーンが複数の小ブロックに分割され、前記復元処理工程が、前記小ブロック内の全てのデータがMRパスで復元されたことを検出した場合に以降のビットプレーンにおいて前記小ブロックのSPパスおよびCUパスの少なくとも一方のデータの復元処理を省略することができる。
【発明の効果】
【0027】
本発明の画像処理装置では、画像データの符号化、あるいは復号化の際のビットモデリング処理において、一度MRパスに分類されたデータは必ず以降のビットプレーンでMRパスに分類される特徴を利用して、出力結果に影響しない冗長なSPパスあるいはCUパス検索処理を判別する手段を備える。この冗長なパス検索処理を削減することにより、例えばJPEG2000の符号化あるいは復号化の処理時間を、本発明を用いない場合に比べて1/3近くに短縮可能という効果がある。
【発明を実施するための最良の形態】
【0028】
図10は、本発明に係る画像圧縮符号化に伴うビットモデリング処理を行うビットモデリング部を具備する画像処理装置の一実施例を示す図である。本図は、図1の符号化処理部1のビットモデリング部8の基本構成を示す。量子化部50からコードブロック分のデータを入力し、絶対値変換および最上位有意ビットプレーン検出部51において、絶対値変換し、零ビットプレーンを取り除いたデータを正負符号データと共にコードブロックデータ記憶部52に格納する。パス検索分類処理部53での処理は最上位有意ビットプレーンから開始する。また、パス検索分類処理部53では、パス検索分類処理時の各データについて3つのステータス情報を生成し、ステータス情報記憶部54に格納する。このステータス情報は適宜読み出され、図12に示す手順に従ってパス検索分類処理を実施し、データ列とコンテキストを生成して、算術符号化部55に出力する。本ビットモデリング部は、用途に応じてハードウェアでもソフトウェアでも構成可能である。パス検索分類処理の手順を以下に説明する。
【0029】
コードブロックデータの処理の始めにステップS11において、全てのステータス情報を0にリセット(初期化)する。
【0030】
次にステップS12において、最上位有意ビットプレーンのビットサンプルを全て、CUパスに分類する。最上位有意ビットプレーン処理の場合は図13のステップS100において、ステータス情報Bおよびステータス情報Cは共に未処理の状態であるので、必ずステップS101に進む。ステップS101では、データ列とコンテキストを生成する。その後ステップS102で、注目ビットサンプルが初めて有意となったか否かを判定する。否の場合はステップS103へ進む。初めて有意になった場合はステップS105で、正負符号をCUパスのデータ列に追加し、コンテキストを生成する。この正負符号の処理を実施したら、ステップS106でステータス情報Aに有意であったビットサンプルの位置を記憶し、ステップS103へ進む。ステップS103にて全ビットサンプル処理が終了していないときはステップS100へ進み、全ビットサンプル処理が終了したときは符号化CUパス処理終了となる。
【0031】
最上位有意ビットプレーンの処理後、図12のステップS13において、当該コードブロックの全てのビットプレーンについて処理が終了していれば、次のコードブロックの処理に移る。まだ処理すべきビットプレーンが残っている場合は次のビットプレーンについて以下のようなパスの分類処理を行う。
【0032】
ステップS14において、ビットプレーン上のサンプルについてSPパスに分類されるサンプルを検索する。図14のステップS110では、ステータス情報Aにおいて注目ビットサンプルが有意でなく、かつ、注目ビットサンプルの8近傍が有意であるかどうかを判定して、このサンプルビットに対してSPパス処理を実施するか否かを決定する。尚、8近傍にコードブロック外のビットサンプルが含まれる場合は、コードブロック外に位置するステータス情報Aは有意でない状態であるとみなす。ステップS110の判定が真であるならばステップS112において、その注目ビットサンプルはSPパスに分類され、コンテキストが生成される。ステップS113では、SPパスに分類されたデータをステータス情報Bに記憶しておく。その後ステップS114で、注目ビットサンプルが初めて有意となったか否かを判定する。判定が真の場合はステップS115で、正負符号をSPパスのデータ列に追加し、正負符号のコンテキストを生成する。この正負符号の処理を実施したら、ステップS116でステータス情報Aに有意であったビットサンプルの位置を記憶しステップS111へ進む。このようにビットプレーン内の全てのデータについてSPパスに分類されるか否かを順次判定し、判定結果に応じてSPパスのデータ列とコンテキストを生成していく。ステップS110およびS114で判定が偽の場合はそれぞれステップS111へ進む。ステップS111にて全ビットサンプル処理が終了していないときはステップS110へ進み、全ビットサンプル処理が終了したときは符号化SPパス処理終了となる。
【0033】
次に、図12のステップS15において、同じビットプレーン上でMRパスに分類されるビットサンプルを検索する。図15のステップS120では、ステータス情報Bを参照し、既に直前のSPパス処理において処理済みのビットサンプルであるか否かの判定をする。その判定が真の場合は検索対象から除き、次のサンプルビットに対してステップS120を実施する。判定が偽の場合はステップS121に進む。ここでは、ステータス情報Cを参照し、以前のビットプレーン処理において当該サンプルビット位置がMRパス処理されたか否かを判定する。判定が真であれば、ステップS124において、無条件でMRパスのデータ列に追加し、コンテキストを生成して、ステップS123へ進んで次のサンプルビットに処理を移す。ステップS121の判定において判定が偽の場合は、ステップS122で注目サンプルビットが有意であるかどうかを判定し、有意であればステップS125でMRパスのデータ列に追加し、コンテキストを生成する。また、ステップS126でMRパスに分類されたビットサンプルの位置をステータス情報Cに記憶しステップS123へ進む。ステップS120で判定が真およびS122で判定が偽の場合はそれぞれステップS123へ進む。ステップS123にて全ビットサンプル処理が終了していないときはステップS120へ進み、全ビットサンプル処理が終了したときは符号化MRパス処理終了となる。
【0034】
当該ビットプレーンのMRパス検索終了後、図12のステップS16においてステータス情報Cを参照し、当該ビットプレーン上の全てのデータがMRパスに分類されていた場合、以降のビットプレーンについてはすべてMRパスの分類であるとみなし、ステップS18に移行し、全ビットプレーンの処理が終了していなければステップS19にて、MRパスに分類されるビットサンプルの検索処理を行う。以降、ステップS18において全ビットプレーンが終了したと判定されるまでステップS19を繰り返す。
【0035】
ステップS16において、当該ビットプレーン上のデータでMRパスに分類されていないビットサンプルが存在する場合は、ステップS17にて、同じビットプレーンに上でCUパスに分類されるビットサンプルを検索する。図13のステップS100でステータス情報Bおよびステータス情報Cを参照し、ステータス情報Bとステータス情報Cが共に処理済みになっている(既にSPパスあるいはMRパスに分類されている)場合は検索対象から除き、ステップS104にてステータス情報BをクリアしてステップS103へ進み次のサンプルビットを処理する。
ステップS100でステータス情報Bとステータス情報Cが共に処理済みになっていない場合はCUパスに分類する。このCUパス処理については最上位有意ビットプレーンのCUパス処理と同一である。
【0036】
以降、最終ビットプレーンまで同様の処理を繰り返すが、図12のステップS16において毎回ステータス情報Cを参照し、ビットプレーン上の全てのビットサンプルがMRパスに検索されていればMRパス検索処理のループに移行し、1つでもMRパスに検索されていないサンプルがあればステップS17のCUパス処理に移行する。すなわち、図12に示すように、ビットプレーン毎に各パスのデータの分類処理を繰り返し行うためのループ処理経路S13〜S17と、あるビットプレーン上の全てのデータがMRパスに分類されたことをステータス情報を用いて検出した場合に以降のビットプレーンにおいてデータをMRパスに分類する処理のみを繰り返し行うためのループ処理経路S18〜19とを有するものである。
【0037】
これによって、一度MRパス検索処理のループ処理へ移行すれば、符号化処理時の無駄なSPパスの検索処理(ステップS14)とCUパスの検索処理(ステップS17)を削減することができ、パス分類処理を高速化できる。
【0038】
さらに、図12で示した制御フローに、以下の制御フローを追加することにより、符号化処理をより高速処理することが可能となる。
【0039】
図12の制御フローではステップS16においてビットプレーン上の全てのビットサンプルがMRパスに検索されていることを条件に、MRパス検索処理ループに移行し、無駄なSPパス処理およびCUパス処理を省略することで高速化を図った。ここで、さらにビットプレーンをいくつかの小ブロックに分割し、この小ブロック中のビットサンプルがすべてMRパスに検索されているかどうかを判別し、その情報を保持する機能を追加する。そして、図20に示すように、MRパス検索処理ループに移行する以前のステップS13からステップS17までのループ処理において、ビットプレーンが全てMRパス検索されていなくても、当該ビットサンプルを含む小ブロックのサンプルが全てMRパス検索されているならば、ステップS14のSPパス処理、ステップS17のCUパス処理を省略する制御フローをステップS30および/またはステップS31として追加する。すなわち、小ブロック内の全てのデータがMRパスに分類されたことを検出した場合に以降のビットプレーンにおいて小ブロックのSPパスおよびCUパスの少なくとも一方のデータの分類処理を省略する経路を備えるものである。
【0040】
これによって、MRパス検索処理のループに移行する前の状態でも、無駄な処理を省略することができ、より高速な処理が可能となる。
【0041】
図11は、本発明に係る画像伸張復号化に伴うビットモデリング処理を行うビットモデリング部を具備する画像処理装置の一実施例を示す図である。本図は、図2の復号化処理部10のビットモデリング部17の基本構成を示す。算術復号化部60から復号化したデータを入力し、コードブロック復元処理部61において、ステータス情報記憶部62のステータス情報を更新しながら、入力したデータのパス種別を判別し、ビットプレーン内の該当するビット位置にビットサンプルを復元すると共に、算術復号化のためのコンテキストを生成する。復元されたデータは復号コードブロックデータ記憶部63に格納され、1コードブロック分のデータが復号されたら、逆量子化に送出される。本ビットモデリング部は、用途に応じてハードウェアでもソフトウェアでも構成可能である。
【0042】
ビットプレーン形成部の復号化処理は図16の復号化時のコードブロックデータ処理の手順で処理される。零ビットプレーン復元処理が追加され、符号化処理が復元(復号化処理)に変わったこと以外は符号化処理とほぼ同様の手順である。
【0043】
コードブロック復元処理の始めにステップS21において、全てのステータス情報を0にリセット(初期化)する。また、パケット解析時に得られる零ビットプレーン情報から、当該コードブロックの零ビットプレーンを復元しておき、算術復号化から入力されたデータは零ビットプレーンの下位に復元する。
【0044】
最初のパスデータは全て、ステップS22において必ずCUパスから復元される。従って最初のパスデータは全て、図17のステップS200からS201に進む。ステップS201では、コンテキストを生成し、算術復号化部からデータを取得する。その後ステップS202で、注目ビットサンプルが初めて有意となったか否かを判定する。判定が真の場合はステップS205で、正負符号のコンテキストを生成し、算術復号化部から正負符号データを取得する。この正負符号の処理を実施したら、ステップS206でステータス情報Aに有意であったビットサンプルの位置を記憶しステップS203へ進む。ステップS202で判定が偽の場合はステップS203へ進む。ステップS203にて全ビットサンプル処理が終了していないときはステップS200へ進み、全ビットサンプル処理が終了したときは復号化CUパス復元終了となる。
【0045】
図16のステップS23において、最上位ビットプレーンが復元された後まだ復号すべきデータが残っていれば、次のビットプレーンの復元処理を行う。しかし、同一コードブロック内に復号すべきデータが残っていない場合は、当該コードブロックの処理を終了し、次のコードブロックの復元処理を行う。
【0046】
次のビットプレーンの復元処理においては、まずステップS24においてSPパスの復元処理を行う。図18のステップS210でステータス情報Aにおいて注目ビットが有意でなく、かつ、注目ビットサンプルの8近傍が有意であるビット位置であるか否かを判定する。判定が真であれば、ステップS212において、コンテキストを生成し、算術復号化よりデータを取得し、データ列を復元する。尚、8近傍にコードブロック外のビットサンプルが含まれる場合は、コードブロック外に位置するステータス情報Aは有意でない状態とみなしてコンテキストを生成する。ステップS213では、ここで復元されたビットサンプルの位置をステータス情報Bに記憶しておく。ステップS214では、注目ビットが初めて有意となったか否かを判定し、判定が真の場合は、ステップS215において、続くデータを正負符号として復元し、正負符号のコンテキストを生成する。この正負符号の処理を実施したら、ステップS216でステータス情報Aに記憶しステップS211へ進む。このようにビットプレーン内の、どの位置のデータが復元されるのかをステータス情報から判断し、データ列を復元しつつコンテキストを生成していく。ステップS210およびS214で判定が偽の場合はそれぞれステップS211へ進む。ステップS211にて全ビットサンプル処理が終了していないときはステップS210へ進み、全ビットサンプル処理が終了したときは復号化SPパス復元終了となる。
【0047】
次に、同じビットプレーンについて復元されていないビットサンプルについて、図16のステップS25でMRパス復元処理を実施する。MRパス復元処理ではまず、図19のステップS220において、ステータス情報Bを参照し、既に処理済みのデータか否かを判定し、判定結果が真の場合は復元対象から除き、ステップS223へ進む。ステップS220の判定が偽の場合はステップS221にてステータス情報Cを参照し、以前のビットプレーン復元処理において当該サンプルビット位置がMRパスで復元されたか否かを判定する。既にMRパス復元済みであれば、ステップS224において、無条件で復元データ列に追加し、コンテキストを生成して、ステップS223へ進んで次のサンプルビットに処理を移す。ステップS221においてステータス情報Cが未処理の状態である場合は、ステップS222で注目サンプルビットが有意であるかどうかを判定し、判定が真であればステップS225で復元データ列に追加し、コンテキストを生成する。また、ステップS226でMRパスにより復元ビットサンプルの位置をステータス情報Cに記憶しステップS223へ進む。ステップS222で判定が偽の場合はステップS223へ進む。ステップS223にて全ビットサンプル処理が終了していないときはステップS220へ進み、全ビットサンプル処理が終了したときは復号化MRパス復元終了となる。
【0048】
次にステップ図16のS26において、当該ビットプレーンのMRパス復元処理終了後ステータス情報Cを参照し、当該ビットプレーン上の全てのデータがMRパスにおいて復元されていたか否かを判定し、判定が真の場合、以降のビットプレーンについての復元処理はすべてMRパスの復元であるとみなし、ステップS28へ移行し、全ビットプレーンが復元されるまでステップS29のMRパスの復元処理のみ実施する。
【0049】
当該ビットプレーン上のビットサンプルにおいて、SPパスおよびMRパスで復元されていないビットサンプルが存在する場合は、同じビットプレーンについてCUパスで復元されるデータが存在する。この場合ステップS27へ進み、CUパスの復元処理を実施する。
図17のステップS200でステータス情報Bおよびステータス情報Cを参照し、ステータス情報Bとステータス情報Cが共に処理済みになっている(既にSPパスあるいはMRパスから復元されている)場合は復元対象から除き、ステップS204にてステータス情報BをクリアしてステップS203へ進み次のサンプルビットを処理する。ステップS200でステータス情報Bとステータス情報Cが共に処理済みになっていない場合はCUパスより復元する。このCUパスの復元については最上位有意ビットプレーンのCUパスの復元処理と同一である。
【0050】
以降、最終ビットプレーンまで同様の処理を繰り返すが、図16のステップS26において毎回ステータス情報Cを参照し、ビットプレーン上の全てのビットサンプルがMRパスで復元されていればMRパスの復元処理ループに移行し、1つでもMRパスから復元されていないサンプルがあればステップS27のCUパス復元に移行する。すなわち、図16に示すように、各パスのデータに対してコードブロックデータのビットプレーン毎に復元処理を繰り返し行うためのループ処理経路S23〜S27と、あるビットプレーン上の全てのデータがMRパスで復元されたことをステータス情報を用いて検出した場合に以降のビットプレーンにおいてMRパスを復元する処理のみを繰り返し行うためのループ処理経路S28〜S29とを有するものである。
これによって、一度MRパスの復元処理のループ処理へ移行すれば、復号化処理時の無駄なSPパスの復元処理(ステップS24)とCUパスの復元処理(ステップS27)を削減することができ、コードブロック復元処理を高速化できる。
【0051】
さらに、図16で示した制御フローに、以下の制御フローを追加することにより、復号化処理をより高速処理することが可能となる。
【0052】
図16の制御フローではステップS26においてビットプレーン上の全てのビットサンプルがMRパスで復元されていることを条件に、MRパス復元処理ループに移行し、無駄なSPパス復元およびCUパス復元を省略することで高速化を図った。ここで、さらにビットプレーンをいくつかの小ブロックに分割し、この小ブロック中のビットサンプルがすべてMRパスで復元されているかどうかを判別し、その情報を保持する機能を追加する。そして、図21に示すように、MRパス復元処理ループに移行する以前のステップS23からステップS27までのループ処理において、ビットプレーンが全てMRパスで復元されていなくても、当該ビットサンプルを含む小ブロックのサンプルが全てMRパスで復元されているならば、ステップS24のSPパス復元、ステップS27のCUパス復元を省略する制御フローをステップS40および/またはステップS41として追加する。すなわち、小ブロック内の全てのデータがMRパスで復元されたことを検出した場合に以降のビットプレーンにおいて小ブロックのSPパスおよびCUパスの少なくとも一方のデータの復元処理を省略する経路を備えるものである。
【0053】
これによって、MRパス復元処理のループに移行する前の状態でも、無駄な復元処理を省略することができ、より高速な処理が可能となる。
【図面の簡単な説明】
【0054】
【図1】JPEG2000の符号化処理の基本的な構成を示す図である。
【図2】JPEG2000の復号化処理の基本的な構成を示す図である。
【図3】JPEG2000の符号化処理および復号化処理のフローを示す図である。
【図4】データの有意状態を説明するための図である。
【図5】コードブロックとビットモデリング対象の関係を示す図である。
【図6】ビットプレーン内のデータの走査順序を示す図である。
【図7】従来のコードブロック単位のパス分類処理のフローチャートである。
【図8】CUパス分類時の注目ビットに連続する4データを示す図である。
【図9】SPパス分類時の注目ビットの8近傍データを示す図である。
【図10】本発明に係る画像圧縮符号化に伴うビットモデリング処理を行うビットモデリング部を具備する画像処理装置の一実施例を示す図である。
【図11】本発明に係る画像伸張復号化に伴うビットモデリング処理を行うビットモデリング部を具備する画像処理装置の一実施例を示す図である。
【図12】本発明に係るコードブロック単位のパス分類処理のフローチャートである。
【図13】CUパス分類処理のフローチャートである。
【図14】SPパス分類処理のフローチャートである。
【図15】MRパス分類処理のフローチャートである。
【図16】本発明に係るコードブロック単位のパス復元処理のフローチャートである。
【図17】CUパス復元処理のフローチャートである。
【図18】SPパス復元処理のフローチャートである。
【図19】MRパス復元処理のフローチャートである。
【図20】本発明に係る符号化における追加制御フローを示す図である。
【図21】本発明に係る復号化における追加制御フローを示す図である。
【符号の説明】
【0055】
1 符号化処理部
2 色変換部
3 ウェーブレット変換部
4 量子化部
5 EBCOT部
6 レート制御部
7 パケット生成部
8 ビットモデリング部
9 算術符号化部
10 復号化処理部
11 パケット解析部
12 逆EBCOT部
13 逆量子化部
14 ウェーブレット逆変換部
15 色変換部
16 算術復号化部
17 ビットモデリング部
20 原画像
21 Y成分
22 Cb成分
23 Cr成分
24 ウェーブレット変換結果
25 一つのサブバンドデータ
26 コードブロック
27 ビットプレーン
30 CUパス分類時の連続する4データ
31 CUパス分類時の連続する4データとはならないデータ
40 SPパス分類時の8近傍データで注目ビットサンプルが有意となるケース
41 SPパス分類時の8近傍データで前の注目ビットサンプルのみが有意状態であるケース
42 SPパス分類時の8近傍データがコードブロックの外に出てしまうケース
50 量子化部
51 絶対値変換最上位有意ビットプレーン検出部
52 コードブロックデータ記憶部
53 パス検索分類処理部
54 ステータス情報記憶部
55 算術符号化部
60 算術復号化部
61 コードブロック復元処理部
62 ステータス情報記憶部
63 復号コードブロックデータ記憶部
64 逆量子化部

【特許請求の範囲】
【請求項1】
画像圧縮符号化に伴うビットモデリング処理を行うビットモデリング部を具備する画像処理装置であって、前記ビットモデリング部が、入力されたコードブロックデータを絶対値変換し最上位有意ビットプレーンを検出する手段と、前記最上位有意ビットプレーンを含む前記絶対値変換したコードブロックデータを記憶する手段と、前記コードブロックデータのビットプレーン毎にCUパス、SPパスおよびMRパスのデータに分類処理する手段と、各データの有意状態および分類状態を表すステータス情報を記憶する手段とを備え、前記分類処理手段が、前記ビットプレーン毎に前記各パスのデータの分類処理を繰り返し行うためのループ処理経路と、あるビットプレーン上の全てのデータがMRパスに分類されたことを前記ステータス情報を用いて検出した場合に以降のビットプレーンにおいてデータをMRパスに分類する処理のみを繰り返し行うためのループ処理経路とを有することを特徴とする画像処理装置。
【請求項2】
前記ビットプレーンが複数の小ブロックに分割され、前記分類処理手段が、前記小ブロック内の全てのデータがMRパスに分類されたことを検出した場合に以降のビットプレーンにおいて前記小ブロックのSPパスおよびCUパスの少なくとも一方のデータの分類処理を省略する経路を備えたことを特徴とする請求項1記載の画像処理装置。
【請求項3】
画像伸張復号化に伴うビットモデリング処理を行うビットモデリング部を具備する画像処理装置であって、前記ビットモデリング部が、入力されたCUパス、SPパスおよびMRパスに分類されたデータからコードブロックデータを復元処理する手段と、前記コードブロックデータを復元処理する度に更新するステータス情報を記憶する手段と、前記復元されたコードブロックデータを記憶する手段とを備え、前記復元処理手段が、前記各パスのデータに対して前記コードブロックデータのビットプレーン毎に復元処理を繰り返し行うためのループ処理経路と、あるビットプレーン上の全てのデータがMRパスで復元されたことを前記ステータス情報を用いて検出した場合に以降のビットプレーンにおいてMRパスを復元する処理のみを繰り返し行うためのループ処理経路とを有することを特徴とする画像処理装置。
【請求項4】
前記ビットプレーンが複数の小ブロックに分割され、前記復元処理手段が、前記小ブロック内の全てのデータがMRパスで復元されたことを検出した場合に以降のビットプレーンにおいて前記小ブロックのSPパスおよびCUパスの少なくとも一方のデータの復元処理を省略する経路を備えたことを特徴とする請求項3記載の画像処理装置。
【請求項5】
画像圧縮符号化に伴うビットモデリング処理を行うビットモデリング工程を具備する画像処理方法であって、前記ビットモデリング工程が、入力されたコードブロックデータを絶対値変換し最上位有意ビットプレーンを検出する工程と、前記最上位有意ビットプレーンを含む前記絶対値変換したコードブロックデータを記憶する工程と、前記コードブロックデータのビットプレーン毎にCUパス、SPパスおよびMRパスのデータに分類処理する工程と、各データの有意状態および分類状態を表すステータス情報を記憶する工程とを備え、前記分類処理工程が、前記ビットプレーン毎に前記各パスのデータの分類処理を繰り返し行うためのループ処理工程と、あるビットプレーン上の全てのデータがMRパスに分類されたことを前記ステータス情報を用いて検出した場合に以降のビットプレーンにおいてデータをMRパスに分類する処理のみを繰り返し行うためのループ処理工程とを有することを特徴とする画像処理方法。
【請求項6】
前記ビットプレーンが複数の小ブロックに分割され、前記分類処理工程が、前記小ブロック内の全てのデータがMRパスに分類されたことを検出した場合に以降のビットプレーンにおいて前記小ブロックのSPパスおよびCUパスの少なくとも一方のデータの分類処理を省略することを特徴とする請求項5記載の画像処理方法。
【請求項7】
画像伸張復号化に伴うビットモデリング処理を行うビットモデリング工程を具備する画像処理方法であって、前記ビットモデリング工程が、入力されたCUパス、SPパスおよびMRパスに分類されたデータからコードブロックデータを復元処理する工程と、前記コードブロックデータを復元処理する度に更新するステータス情報を記憶する工程と、前記復元されたコードブロックデータを記憶する工程とを備え、前記復元処理工程が、前記各パスのデータに対して前記コードブロックデータのビットプレーン毎に復元処理を繰り返し行うためのループ処理工程と、あるビットプレーン上の全てのデータがMRパスで復元されたことを前記ステータス情報を用いて検出した場合に以降のビットプレーンにおいてMRパスを復元する処理のみを繰り返し行うためのループ処理工程とを有することを特徴とする画像処理方法。
【請求項8】
前記ビットプレーンが複数の小ブロックに分割され、前記復元処理工程が、前記小ブロック内の全てのデータがMRパスで復元されたことを検出した場合に以降のビットプレーンにおいて前記小ブロックのSPパスおよびCUパスの少なくとも一方のデータの復元処理を省略することを特徴とする請求項7記載の画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2009−33367(P2009−33367A)
【公開日】平成21年2月12日(2009.2.12)
【国際特許分類】
【出願番号】特願2007−193928(P2007−193928)
【出願日】平成19年7月25日(2007.7.25)
【出願人】(000233295)日立情報通信エンジニアリング株式会社 (195)
【Fターム(参考)】