(57)【要約】【課題】バックサーチにおいてより確実に前回の符号化で用いられた量子化因子を検出できるようにする。【解決手段】ＤＣＴ部３２は、画像データの直交変換を行い変換係数を生成する。バックサーチ部３３は、変換係数を用いて前回の符号化で用いた量子化因子の検出を行い、画像データの輝度成分の変換係数から量子化因子を検出できない場合、色差成分の変換係数から検出した量子化因子を前回の符号化で用いた量子化因子とする。量子化設定部４２は、バックサーチで量子化因子を検出できない場合、または検出した量子化因子を用いた符号化での発生符号量が目標符号量を超える場合、プレエンコード部２０で検出された量子化因子を選択し、発生符号量が目標符号量以下となる場合バックサーチで検出した量子化因子を選択する。エンコード部５０は選択された量子化因子に基づき符号化を行う。【選択図】        図５
2012054818.tif 000002
【特許請求の範囲】
【請求項１】
画像データの直交変換を行い変換係数を生成する直交変換部と、
前記変換係数を用いて、前回の符号化で用いられた量子化因子を検出する量子化因子検出部を有し、
前記量子化因子検出部は、前記画像データの輝度成分を直交変換して生成された変換係数から前記量子化因子を検出する処理と、前記画像データの色差成分を直交変換して生成された変換係数から検出した前記量子化因子を検出する処理を独立して行う画像処理装置。
【請求項２】
前記量子化因子検出部は、前記画像データの輝度成分を直交変換して生成された変換係数から量子化因子を検出した場合、該検出した量子化因子を前回の符号化で用いられた量子化因子とし、前記画像データの輝度成分を直交変換して生成された変換係数から量子化因子を検出できない場合、前記画像データの色差成分を直交変換して生成された変換係数から検出した量子化因子を、前回の符号化で用いられた量子化因子とする請求項１記載の画像処理装置。
【請求項３】
前記量子化因子検出部は、前記色差成分から前記量子化因子を検出する場合、直流成分を示す変換係数を除いた他の変換係数から前記量子化因子を検出する請求項２記載の画像処理装置。
【請求項４】
前記量子化因子は、量子化パラメータである請求項３記載の画像処理装置。
【請求項５】
前記量子化因子検出部は、前記量子化因子に量子化行列が含まれる場合、前記変換係数を用いて前回の符号化で用いられた量子化行列の検出を行い、検出した量子化行列を用いて前記量子化パラメータの検出を行う請求項４記載の画像処理装置。
【請求項６】
画像データを符号化したときの発生符号量を目標符号量以下とする量子化因子を検出するプリエンコード部と、
前記量子化因子検出部で量子化因子を検出できない場合、または検出した量子化因子を用いて前記画像データを符号化したときの発生符号量が目標符号量を超える場合、前記プレエンコード部で検出された量子化因子を選択して、前記量子化因子検出部で検出した量子化因子を用いて前記画像データを符号化したときの発生符号量が目標符号量以下となる場合、前記量子化因子検出部で検出された量子化因子を選択する量子化設定部と、
前記量子化設定部で選択された量子化因子を用いて前記画像データの符号化を行うエンコード部をさらに備えた請求項２記載の画像処理装置。
【請求項７】
画像データの符号化を行う画像処理装置で行われる画像処理方法において、
画像データの直交変換を行い変換係数を生成する工程と、
前記画像データの輝度成分を直交変換して生成された変換係数から前記量子化因子を検出する処理と、前記画像データの色差成分を直交変換して生成された変換係数から検出した前記量子化因子を検出する処理を独立して行う工程と
を設けた画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置と画像処理方法に関する。詳しくは、前回の符号化で用いられた量子化因子をより確実に検出できるようにする。
【背景技術】
【０００２】
従来、テレビジョン放送局間で映像データの伝送を行う際、あるいは複数のビデオテープレコーダ（ＶＴＲ装置）を用いて映像データの複写を行う際には、圧縮符号化した映像データを伸長復号して、再度圧縮符号化することが行われる。したがって、エンコーダとデコーダを直列にタンデム接続する必要がある。
【０００３】
また、今日では、ＭＰＥＧ(Moving Picture Experts Group)方式に代えて、ＡＶＣ（Advanced Video Coding）が、携帯電話のテレビ電話といった低速・低画質の用途からハイビジョンテレビ放送等の大容量・高画質の動画まで幅広い用途に用いられてきている。ＡＶＣでは、動き補償、フレーム間予測、ＤＣＴ、エントロピー符号化などを組み合わせたアルゴリズムを利用しており、ＭＰＥＧに比べて同じクオリティならば、おおむね半分程度のデータ量で済むよう改良されている。
【０００４】
そして、特にイントラ（Ｉｎｔｒａ）フレームのみのＡＶＣ（以下、「ＡＶＣ−Ｉｎｔｒａ」と称する）では、量子化のために目標とするビットレートに合わせて最適な量子化パラメータＱＰの値を決定している。しかし、このときの量子化パラメータＱＰの値は前回の符号化で使用した値であるとは限らない。仮に、前回の符号化と異なる量子化パラメータＱＰの値が使われると、再び量子化の際に丸めによる歪が生じてしまい、ダビングを繰り返すたびに画質の低下を引き起こすことになる。
【０００５】
したがって、エンコーダとデコーダを直列にタンデム接続したとき、圧縮符号化と伸長復号の繰り返しによる映像の品質劣化を低減する手法としていわゆる「バックサーチ」という手法が採用されている。例えば、特許文献１では、ＡＶＣによる符号化を採用する場合、前回の符号化で用いられた量子化因子である量子化行列Ｑmatrixや量子化パラメータＱＰをバックサーチによって検出する。この検出した量子化因子を再利用することでダビング時の誤差を低減して、ダビング特性を向上させることが行われている。また、特許文献２でもバックサーチを用いた符号化が行われている。なお、バックサーチとは、前回の圧縮符号化で使用された量子化因子を用いると、離散余弦変換（ＤＣＴ；discrete cosine transfer）係数の剰余の総和が極小となるという性質を利用して、前回の符号化で用いられた量子化因子を検出する手法である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２００９／０３５１４９号
【特許文献２】特開２００９−７１５２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、ＡＶＣ−Ｉｎｔｒａでは、周辺画素を用いて予測が行われており、周辺画素からの予測が完全に当たると差分画像の情報がなくなり、画像情報があるにもかかわらず、ＤＣＴ係数が存在しないという現象が生じる。また、従来のバックサーチでは輝度成分のＤＣＴ係数を用いて量子化行列Ｑmatrixや量子化パラメータＱＰの検出が行われている。したがって、周辺画素からの予測が完全に当たり、輝度成分のＤＣＴ係数が存在しなくなると、バックサーチで量子化行列Ｑmatrixや量子化パラメータＱＰを検出することができない。
【０００８】
そこで、この発明では従来のバックサーチよりもより確実に前回の符号化で用いられた量子化因子を検出できる画像処理装置と画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
この発明の第１の側面は、画像データの直交変換を行い変換係数を生成する直交変換部と、前記変換係数を用いて、前回の符号化で用いられた量子化因子を検出する量子化因子検出部を有し、前記量子化因子検出部は、前記画像データの輝度成分を直交変換して生成された変換係数から前記量子化因子を検出する処理と、前記画像データの色差成分を直交変換して生成された変換係数から検出した前記量子化因子を検出する処理を独立して行う画像処理装置にある。
【００１０】
この発明においては、直交変換部によって画像データの直交変換を行うことにより得られた変換係数を用いて、前回の符号化で用いられた量子化因子の検出が行われる。この量子化因数の検出では、画像データの輝度成分を直交変換して生成された変換係数から量子化因子を検出する輝度バックサーチと、色差成分を直交変換して生成された変換係数から量子化因子を検出する色差バックサーチが独立して行われる。ここで、例えば画像データの輝度成分を直交変換して生成された変換係数から量子化因子を検出した場合、該検出した量子化因子を前回の符号化で用いられた量子化因子とされる。また、画像データの輝度成分を直交変換して生成された変換係数から量子化因子を検出できない場合、画像データの色差成分を直交変換して生成された変換係数から検出した量子化因子が、前回の符号化で用いられた量子化因子とされる。また、量子化因子として量子化パラメータと量子化行列を検出する場合、変換係数を用いて前回の符号化で用いられた量子化行列の検出を行い、検出した量子化行列を用いて前記量子化パラメータの検出が行われる。さらに、画像データを符号化したときの発生符号量を目標符号量以下とする量子化因子を検出するプリエンコード部と、量子化設定部とエンコード部が設けられて、量子化設定部は、バックサーチによって量子化因子を検出できない場合、またはバックサーチで検出した量子化因子を用いて画像データを符号化したときの発生符号量が目標符号量を超える場合にプレエンコード部で検出された量子化因子を選択し、バックサーチで検出した量子化因子を用いて画像データを符号化したときの発生符号量が目標符号量以下となる場合にバックサーチで検出された量子化因子を選択して、エンコーダ部では選択された量子化因子を用いて符号化が行われる。
【００１１】
この発明の第２の側面は、画像データの符号化を行う画像処理装置で行われる画像処理方法において、画像データの直交変換を行い変換係数を生成する工程と、前記画像データの輝度成分を直交変換して生成された変換係数から前記量子化因子を検出する処理と、前記画像データの色差成分を直交変換して生成された変換係数から検出した前記量子化因子を検出する処理を独立して行う工程とを設けた画像処理方法にある。
【発明の効果】
【００１２】
この発明によれば、画像データの輝度成分を直交変換して生成された変換係数から量子化因子を検出する処理と、画像データの色差成分を直交変換して生成された変換係数から検出した量子化因子を検出する処理が独立して行われる。このため、例えば画像データの輝度成分を直交変換して生成された変換係数から量子化因子を検出できない場合、画像データの色差成分を直交変換して生成された変換係数から検出した量子化因子が、前回の符号化で用いられた量子化因子とされる。したがって、輝度成分を直交変換して生成された変換係数のみを用いる場合に比べて、より確実に前回の符号化で用いられた量子化因子を検出できる。
【図面の簡単な説明】
【００１３】
【図１】一度も符号化されていない画像を入力画像としたときの、量子化パラメータＱＰと剰余ｒの総和Σｒとの関係を示す図である。
【図２】符号化と復号が行われた入力画像について、量子化パラメータＱＰと剰余ｒの総和Σｒとの関係を示す図である。
【図３】リスケーリングファクタＲＦによる規格化後の量子化パラメータＱＰと剰余ｒの総和Σｒとの関係を示す図である。
【図４】剰余ｒをＤＣＴ係数の絶対値|Ｗ|でスケーリングした後、リスケーリングファクタＲＦで規格化した評価値Ｙの総和ΣＹと、量子化パラメータＱＰとの関係を示す図である。
【図５】画像処理装置の構成を示す図である。
【図６】バックサーチ部の構成を示す図である。
【図７】画像処理装置の動作を示すフローチャートである。
【図８】バックサーチ処理を示すフローチャートである。
【図９】量子化行列Ｑmatrixの検出処理を示すフローチャートである。
【図１０】量子化パラメータＱＰの検出処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明を実施するための形態について詳細に説明する。なお説明は以下の順序で行う。
１．本発明の概念
２．画像処理装置の構成
３．画像処理装置の動作
【００１５】
＜１．本発明の概念＞
一般に、ＡＶＣによる符号化は非可逆変換であるため符号化と復号化を行うと元のベースバンド画像に対して歪が生じる。したがって、例えばタンデム接続によるダビング等により符号化と復号化を繰り返すたびに歪により画質が低下していく。
【００１６】
この点に鑑みて、本発明の実施の形態では、ＡＶＣの画面内符号化において、一度符号化、復号化を通した画像を再度符号化する際に、前回の符号化で使われた量子化因子を検出する。また、検出した量子化因子を利用することで、量子化丸めを防ぎ、ダビング特性の向上を実現する。なお、量子化因子とは、量子化パラメータＱＰまたは量子化パラメータＱＰと量子化行列Ｑmatrixである。
【００１７】
次に、画面内符号化における特徴的な性質・原理について詳細に説明する。ＡＶＣ−Ｉｎｔｒａでは、一度符号化、復号化を通した画像を再度符号化する際に、前回の符号化で用いられた量子化因子を使うと、前回の符号化で量子化歪が既に落とされているので、それ以上量子化歪が生じにくいという性質がある。この性質を利用するため、前回の符号化で用いられた量子化因子をバックサーチによって検出する。
【００１８】
以下、該バックサーチの具体的方法について説明する。なお、量子化因子は量子化パラメータＱＰと量子化行列Ｑmatrixとする。
【００１９】
ＡＶＣ−Ｉｎｔｒａでは、復号の際に、量子化レベルＺに量子化行列Ｑmatrixと量子化パラメータＱＰの関数であるリスケーリングファクタＲＦが乗算された整数精度ＤＣＴ係数Ｗを、６ビット左シフトしたものが復号される。
（Ｗ<<６）＝Ｚ＊ＲＦ                     ・・・（１）
ＲＦ＝｛ＶＱmatrix２floor(QP/6)｝>>４    ・・・（２）
なお、式（２）において「Ｖ」は、ＡＶＣ規格で定められたMultiplication factorである。
【００２０】
このように、復号の過程で、量子化レベルＺにリスケーリングファクタＲＦを乗算して整数精度ＤＣＴ係数Ｗを得ているので、次の符号化において整数制度ＤＣＴ係数Ｗは、リスケーリングファクタＲＦで割り切れる。つまり、次の符号化の際にシフトされた整数精度ＤＣＴ係数（Ｗ<<６）を同じリスケーリングファクタＲＦで割った場合に、その剰余ｒは「０」になると考えられる。このような性質に着目して、種々の量子化行列Ｑmatrixと量子化パラメータＱＰの組み合わせによるリスケーリングファクタＲＦで、シフトされた整数精度ＤＣＴ係数（Ｗ<<６）を割った剰余ｒを算出する。この算出した剰余ｒの大きさを評価することで、前回の符号化で用いられた量子化行列Ｑmatrixと量子化パラメータＱＰを検出する。
【００２１】
さらに、検出精度を向上させるために、ＡＶＣ−Ｉｎｔｒａ特有の性質に起因する以下の（i）〜（vi）の点を考慮する。以下、各点につき詳述する。
【００２２】
（i）符号化と復号化におけるリスケーリングファクタＲＦの変換
ＡＶＣ−Ｉｎｔｒａでは、ＤＣＴ部を整数精度部と非整数精度部に分け、整数精度部を整数精度ＤＣＴと称し、非整数精度部と量子化を合わせて量子化と称している。ＡＶＣ−Ｉｎｔｒａでは、符号化と復号化で整数精度部と非整数精度部の切り分け位置が異なるため、符号化に用いる整数精度ＤＣＴ（以下単に「ＤＣＴ」と表記する）と復号化に用いる整数精度逆ＤＣＴ（以下単位「逆ＤＣＴ」と表記する）は逆変換ではない。ゆえに、符号化で使われるＤＣＴ係数Ｗと復号化で使われるＤＣＴ係数Ｗ’は等しくならず、式（３），（４）の関係となる。なお、「Ｘ」はＤＣＴ部の入力データである。
【数１】
2012054818.tif 000003
【００２３】
また式（３），（４）から、ＤＣＴ係数Ｗと逆ＤＣＴ係数Ｗ’の間には式（５）の関係が成立する。
【数２】
2012054818.tif 000004
【００２４】
このようにＤＣＴ係数Ｗ’の位置（ｉ，ｊ）により１６，２０，２５をかけたものがＷとなるが、この変換行列を「Ｄ」とする。すなわち、符号化で用いるリスケーリングファクタＲＦは、式（６）に示すように、復号化で用いるリスケーリングファクタＲＦ’に変換行列Ｄを乗じたものとする。
ＲＦ=ＲＦ’＊Ｄ＝｛ＶＱmatrixＤ２floor(QP/6)｝>>４  ・・・（６）
【００２５】
すなわち、一度、符号化を介した入力画像のＤＣＴ係数Ｗは、｛ＶＱmatrixＤ２floor(QP/6)｝で割り切れる。つまり剰余ｒが「０」となり、ＤＣＴ係数ＷとＤＣＴ係数Ｗ’の変換行列Ｄを考慮すると、ＤＣＴ係数Ｗも｛ＶＱmatrixＤ２floor(QP/6)｝で割り切れると考えられる。
【００２６】
（ii）復号時の誤差
ＡＶＣ−Ｉｎｔｒａでは、周辺画素からの予測画像との差分絶対値和（ＳＡＤ: Sum of Absolute Difference）を符号化する。復号時に量子化レベルＺにリスケーリングファクタＲＦ’を乗じるが、復号時の演算丸めを防ぐため、リスケーリングファクタＲＦ’は、規格上予め６ビット桁上げされる（復号の際にＤＣＴ係数Ｗ’を６ビット左シフトしたものが得られるのはそのためである）。したがって、逆量子化、逆ＤＣＴは６ビット桁上げされた状態で演算されて、予測画像を６ビット桁上げしたものと足し合わせた後に、その和を６ビット桁下げしてベースバンド画像を得る。この６ビットの桁下げにより、下位６ビットのデータが四捨五入されるため、次回の符号化で生じたシフトされたＤＣＴ係数（Ｗ<<６）は、リスケーリングファクタＲＦで割り切れないことがある。すなわち、前回の符号化で用いられた量子化パラメータＱＰの検出では、剰余ｒが「０」になる量子化パラメータＱＰではなく、剰余ｒが最小値になる量子化パラメータＱＰを検出すればよい。
【００２７】
なお、復号時の誤差Ｅは負の値となる場合もあるため、実際の剰余ｒの値とこの剰余ｒをリスケーリングファクタＲＦから引いた値とを比較して、小さい方を評価値Ｙとする。
【００２８】
例として、リスケーリングファクタＲＦ＝３６００，ＤＣＴ係数Ｗ＝７２００の場合を考える。
【００２９】
誤差Ｅがない場合の剰余ｒは、式（７）に示す値となる。
ｒ＝Ｗ％ＲＦ＝７２００％３６００＝０    ・・・（７）
【００３０】
実際には誤差Ｅは見積もれないが、Ｅ＝−２として単純に剰余ｒを評価値Ｙとすると、評価値Ｙは式（８）に示す値となり、最小値として検出され難くなる。
Ｙ＝ｒ＝（Ｗ＋Ｅ）％ＲＦ＝３５９８      ・・・（８）
【００３１】
ここで、上記の方法を用いると、評価値Ｙは、式（９）に示すように誤差の絶対値となる。
Ｙ＝ｍｉｎ［ｒ，（ＲＦ−ｒ）］＝ｍｉｎ［３５９８，２］＝２  ・・・（９）
【００３２】
（iii）剰余曲線の性質と量子化パラメータＱＰの周期について
一度も符号化されていない画像を入力画像として、６ｂｉｔシフトされたＤＣＴ係数（Ｗ<<６）を種々の量子化パラメータＱＰによるリスケーリングファクタＲＦで割って剰余ｒを算出する。ここで、横軸に量子化パラメータＱＰ、縦軸に剰余ｒの総和Σｒをとると、図１に示されるような右上がりの曲線となる。
【００３３】
同様に、符号化と復号化が行われた入力画像について、６ｂｉｔシフトされたＤＣＴ係数（Ｗ<<６）を種々の量子化パラメータＱＰによるリスケーリングファクタＲＦで割って剰余ｒを算出する。ここで、横軸に量子化パラメータＱＰ、縦軸に剰余ｒの総和Σｒをとると、図２に示されるようになる。この場合、剰余ｒの総和Σｒの極小値は生じるが、やはり右上がりの傾向があり、符号化と復号化を既に行っているか否かによらず量子化パラメータＱＰが小さいほど剰余ｒの総和Σｒも小さくなることがわかる。
【００３４】
したがって、種々の量子化パラメータＱＰによる剰余ｒの総和Σｒの大小関係を単純に評価すると、前回の符号化で用いられた量子化パラメータＱＰよりも小さいＱＰが最小値として誤検出されることがある。この問題を解決するために、剰余ｒの値をさらにリスケーリングファクタＲＦで規格化したものを評価値Ｙとして用いる。
【００３５】
このときの評価値Ｙの総和ΣＹと量子化パラメータＱＰとの関係を図３に示している。図３から、前回の符号化で用いられた量子化パラメータＱＰについての評価値Ｙの総和ΣＹが、６ｎずれた量子化パラメータＱＰについての評価値Ｙの総和ΣＹよりも小さくなっていることがわかる。
【００３６】
また、図１、図２に示されるように、（|Ｗ|<<７）≦ＲＦとなる量子化パラメータＱＰでは、評価値Ｙの値（剰余ｒの絶対値）がフラットになる領域が発生する傾向がある。この領域は、リスケーリングファクタＲＦによる規格化を行うと単調減少して（図３参照）、誤検出の原因となる。
【００３７】
この際、同じリスケーリングファクタＲＦで割った場合でも統計的にはＤＣＴ係数Ｗが大きいほど剰余ｒも大きくなるため、剰余ｒをＤＣＴ係数の絶対値|Ｗ|でスケーリングした後、リスケーリングファクタＲＦで規格化する。これにより、大きな剰余ｒを採り得るＤＣＴ係数Ｗが小さな剰余をもった場合は偶然ではないと考え、重み付けできる（通常、低周波成分ほど大きなＤＣＴ係数Ｗをもつため、低周波成分が重み付けされる）。
【００３８】
図４は、剰余ｒをＤＣＴ係数の絶対値|Ｗ|でスケーリングした後、リスケーリングファクタＲＦで規格化した評価値Ｙの総和ΣＹと、量子化パラメータＱＰとの関係を示している。この図４では、前回の符号化で用いられた量子化パラメータＱＰにおける評価値Ｙの総和ΣＹと６ｎずれた量子化パラメータＱＰについての評価値Ｙの総和ΣＹは、図３と比較してほとんど変化していないことがわかる。
【００３９】
さらに、評価値Ｙの総和ΣＹが傾斜を有する（|Ｗ|<<７）＞ＲＦとなる領域のみでリスケーリングファクタＲＦによる規格化を行い、それ以外の領域ではＤＣＴ係数Ｗの絶対値|Ｗ|の値を評価値Ｙとして用いることもできる。
【００４０】
このように、剰余ｒをＤＣＴ係数の絶対値|Ｗ|でスケーリングした後、リスケーリングファクタＲＦで規格化した評価値Ｙの総和ΣＹを用いる。このような評価値Ｙの総和ΣＹを用いれば、リスケーリングファクタＲＦによる規格化に起因して、（|Ｗ|<<７）≦ＲＦとなる領域において評価値Ｙの総和ΣＹが最小となる。したがって、誤った量子化パラメータＱＰが前回の符号化で用いられた量子化パラメータＱＰとして検出されてしまうことを確実に防止できる。
【００４１】
（iv）量子化パラメータＱＰの周期について
ＡＶＣ−Ｉｎｔｒａでは、規格上、量子化パラメータＱＰが±６変化すると、リスケーリングファクタＲＦが±２倍になる性質を有している。したがって、ある量子化パラメータＱＰにおいて剰余ｒの総和Σｒが極小値をもった場合、ＱＰ±６ｎ（ｎ＝１，２・・・でも剰余ｒの総和Σｒが極小値をもつことがある（図３参照）。
【００４２】
このため単純に上記の評価値Ｙを評価すると、６ｎずれた量子化パラメータＱＰが検出されることがある。したがって、剰余ｒの総和Σｒが最小となる量子化パラメータＱＰより６ｎ大きなＱＰに極小値がある場合はそのＱＰを採用する。
【００４３】
具体的な方法としては、剰余ｒの総和Σｒが小さい方から順に５個程度の量子化パラメータＱＰの値を配列に格納しておき、剰余ｒの総和Σｒが最小となる量子化パラメータＱＰと２番目に剰余ｒの総和Σｒが小さいＱＰとを比較する。ここで、量子化パラメータＱＰの差が６ｎであれば、ＱＰの大きな方を採用する。さらに、採用した量子化パラメータＱＰと３番目に剰余ｒの総和Σｒが小さい量子化パラメータＱＰとを比較し、両者の差が６ｎであれば、また大きい方の量子化パラメータＱＰを採用してＱＰの６ｎ入れ替えを行う。
【００４４】
このように、剰余ｒの総和Σｒの極小値を複数検出した場合には、剰余ｒが最小でなくても６ｎ大きな量子化パラメータＱＰを優先して採用する。これにより、６ｎずれた量子化パラメータＱＰが前回の符号化で用いられた量子化パラメータＱＰとして誤検出されることを抑制することができる。
【００４５】
さらに、当該検出された複数の剰余ｒの総和Σｒが６ｎ周期であるか否かを確認することで、偶発的に存在する極小値が前回の符号化で用いられた量子化パラメータＱＰとして誤検出されることを抑制することができる。
【００４６】
（v）  演算量の削減方法
本実施の形態に係る画像処理装置では、種々の量子化パラメータＱＰに関して前述したようにリスケーリングファクタＲＦを計算して、剰余ｒから算出される評価値Ｙを用いて前回の符号化で用いられた量子化パラメータＱＰを検出する。したがって、採り得る量子化パラメータＱＰの数が多い程、演算、評価も処理量が多くなる。この問題を避けるために、前回の符号化で用いられた量子化パラメータＱＰの大体の値が既知の場合は、その周辺の量子化パラメータＱＰのみをサーチ範囲とすることで演算量を削減する。
【００４７】
（vi）その他、以下の条件も考慮する。
・イントラ予測モードが前回の符号化時と異なっていても、上記（iv）の６ｎ入れ替えを行うと、検出率は維持できる。また、量子化パラメータＱＰの大体の値が既知である場合にも同様である。これは、予測モードを前回の符号化時と異なるモードに変えたときに生じる問題に着目したものであるが、予測モードが前回の符号化時と異なっていても、この実施の形態では対応可能とする。
【００４８】
・量子化行列Ｑmatrixは予めいくつかのパターンが定義されているものとする（例えばＩＤ番号などで識別できるものとする）。すなわち、量子化行列Ｑmatrixが変化することによりリスケーリングファクタＲＦも変化するため、量子化パラメータＱＰに加えて量子化行列Ｑmatrixをも検出する必要がある。
【００４９】
すなわち、マクロブロック単位で量子化行列Ｑmatrixと量子化パラメータＱＰの組み合わせを変えて、各量子化行列Ｑmatrixと量子化パラメータＱＰ毎にリスケーリングファクタＲＦを計算する。なお、先に図２で前述したように、剰余ｒの最小値は、量子化パラメータＱＰに関して６ｎの周期を有しており、量子化パラメータＱＰが６ｎずれていても、量子化行列Ｑmatrixさえ検出できればよい。このため、前回の符号化で用いられた量子化パラメータＱＰの大体の値がわかっていれば、該量子化パラメータＱＰの値を含んだ連続した６個の量子化パラメータＱＰで評価すれば十分であるものとする。
【００５０】
以上を考慮して、上述の特徴的な視点をふまえて、前回の符号化で用いられた量子化行列Ｑmatrixを検出する量子化行列検出処理を実行した後、該量子化行列Ｑmatrixを用いて量子化パラメータＱＰを検出するバックサーチを行う。
【００５１】
＜２．画像処理装置の構成＞
図５は、画像処理装置の構成を例示している。画像処理装置１０は、第１のプレエンコードを行う第１のプレエンコード部２０、第２のプレエンコードを行う第２のプレエンコード部３０、符号量算出部４１、量子化設定部４２、本エンコードを行うエンコード部５０を備えている。第１のプレエンコード部２０は、予測モード判定部２１、予測処理部２２、ＤＣＴ部２３、量子化部２４、エントロピー計算部２５、Ｑmatrix／BaseＱＰ検出部２６を有している。第２のプレエンコード部３０は、予測処理部３１、ＤＣＴ部３２、バックサーチ部３３を有している。エンコード部５０は、予測処理部５１、ＤＣＴ部５２、量子化部５３、エントロピー符号化部５４を有している。
【００５２】
第１のプレエンコード部２０の予測モード判定部２１は、入力画像データＤＶに基づいて画面内予測モードを判定する。予測モード判定部２１は、判定した画面内予測モードを、予測処理部２２と第２のプレエンコード部３０およびエンコード部５０に出力する。
【００５３】
予測処理部２２は、予測モード判定部２１で判定された画面内予測モードに基づいて予測画像データを生成する。また、予測処理部２２は、入力画像データと生成した予測画像データとの差分を計算して差分画像データをＤＣＴ部２３に出力する。
【００５４】
ＤＣＴ部２３は、離散余弦変換による直交変換により差分画像データから整数精度のＤＣＴ係数を生成して、量子化部２４に出力する。
【００５５】
量子化部２４は、ＤＣＴ部２３から出力されたＤＣＴ係数を量子化して量子化データを生成する。また、量子化部２４は、生成した量子化データをエントロピー計算部２５に出力する。
【００５６】
エントロピー計算部２５は、量子化で使用する量子化パラメータＱＰの中で最小の量子化パラメータＱＰを用いたときの各値の発生回数をカウントし、最小の量子化パラメータＱＰにおける発生回数から各量子化パラメータＱＰにおける発生回数を求める。エントロピー計算部は、求めた発生回数から各量子化パラメータＱＰでのエントロピーを計算してＱmatrix／BaseＱＰ検出部２６に出力する。
【００５７】
Ｑmatrix／BaseＱＰ検出部２６は、エントロピー計算部２５で算出されたエントロピーから各量子化パラメータＱＰに対する予測発生符号量を求めて、目標符号量を実現するための量子化行列Ｑmatrixと基本量子化パラメータBaseＱＰを検出する。Ｑmatrix／BaseＱＰ検出部２６は、検出した量子化行列Ｑmatrixと基本量子化パラメータBaseＱＰをバックサーチ部３３と量子化設定部４２に出力する。
【００５８】
第２のプレエンコード部３０の予測処理部３１は、入力画像データＤＶと第１のプレエンコード部２０の予測モード判定部２１で判定された画面内予測モードに基づいて予測画像データを生成する。また、予測処理部３１は、入力画像データと生成した予測画像データとの差分を計算して差分画像データをＤＣＴ部３２に出力する。
【００５９】
ＤＣＴ部３２は、離散余弦変換による直交変換により差分画像データから整数精度のＤＣＴ係数を生成して、バックサーチ部３３に出力する。
【００６０】
バックサーチ部３３は、量子化因子検出部であり、ＤＣＴ部３２で生成された変換係数を用いて、前回の符号化で用いられた量子化因子を検出する。バックサーチ部３３は、画像データの輝度成分を直交変換して生成された変換係数から量子化因子を検出する輝度バックサーチと、色差成分を直交変換して生成された変換係数から量子化因子を検出する色差バックサーチを独立して行う。また、バックサーチ部３３は、画像データの輝度成分を直交変換して生成された変換係数から量子化因子を検出した場合、検出した量子化因子を前回の符号化で用いられた量子化因子とする。また、バックサーチ部３３は、画像データの輝度成分を直交変換して生成された変換係数から量子化因子を検出できない場合、画像データの色差成分を直交変換して生成された変換係数から検出した量子化因子を、前回の符号化で用いられた量子化因子とする。
【００６１】
バックサーチ部３３は、図６に示すように、Ｑmatrix検出部３３１とＱＰ検出部３３２を有している。また、Ｑmatrix検出部３３１は、剰余計算部３３１ａと評価値判定部３３１ｂとＱmatrix判定部３３１ｃを有しており、ＱＰ検出部３３２は、剰余計算部３３２ａと評価値判定部３３２ｂとＱＰ判定部３３２ｃを有している。
【００６２】
Ｑmatrix検出部３３１の剰余計算部３３１ａは、ＤＣＴ部３２から出力されたＤＣＴ係数をリスケーリングファクタＲＦで除算して剰余ｒを算出する。剰余計算部３３１ａは算出した剰余ｒを評価値判定部３３１ｂに出力する。
【００６３】
評価値判定部３３１ｂは、上述の「（iii）剰余曲線の性質と量子化パラメータＱＰの周期について」の欄で説明したように、剰余ｒの値をさらにリスケーリングファクタＲＦで規格化して評価値Ｙを生成する。評価値判定部３３１ｂは、生成した評価値ＹをＱmatrix判定部３３１ｃに出力する。
【００６４】
Ｑmatrix判定部３３１ｃは、種々の量子化行列Ｑmatrixに対して、その評価値Ｙを比較して、評価値Ｙが最小である量子化行列Ｑmatrixを前回の符号化で用いられた量子化行列Ｑmatrixとして、ＱＰ検出部３３２に出力する。
【００６５】
ＱＰ検出部３３２の剰余計算部３３２ａは、ＤＣＴ部３２から出力されたＤＣＴ係数を、種々の量子化パラメータＱＰによるリスケーリングファクタＲＦによって除算し、評価値判定部３３２ｂに供給する。
【００６６】
評価値判定部３３２ｂは、Ｑmatrix検出部３３１によって検出された量子化行列Ｑmatrixを用い、上述の「（iii）剰余曲線の性質と量子化パラメータＱＰの周期について」で説明したように、剰余ｒの値をリスケーリングファクタＲＦで規格化して評価値Ｙを生成する。評価値判定部３３２ｂは、生成した評価値ＹをＱＰ判定部３３２ｃに出力する。
【００６７】
ＱＰ判定部３３２ｃは、種々の量子化パラメータＱＰに対して、その評価値Ｙを比較して、評価値Ｙが最小である量子化パラメータＱＰを前回の符号化で用いられた量子化パラメータＱＰとする。
【００６８】
このように、バックサーチ部３３は、量子化行列Ｑmatrixと量子化パラメータＱＰの検出を行い、検出した量子化行列Ｑmatrixと量子化パラメータＱＰを、符号量算出部４１と量子化設定部４２に出力する。また、バックサーチ部３３は、Ｑmatrix／BaseＱＰ検出部２６から供給された量子化行列Ｑmatrixと基本量子化パラメータBaseＱＰに基づいてサーチ範囲を限定することで、回路規模を削減できる。
【００６９】
符号量算出部４１は、バックサーチ部３３から出力された量子化行列Ｑmatrixと量子化パラメータＱＰを用いて符号化処理を行ったときの発生符号量を算出する。さらに、符号量算出部４１は、算出した発生符号量が目標符号量内であるかを示す符号量判別結果を量子化設定部４２に出力する。
【００７０】
量子化設定部４２は、符号量判別結果に基づき、バックサーチ部３３で検出した量子化行列Ｑmatrixと量子化パラメータＱＰ、または第１のプレエンコード部２０で検出した量子化行列Ｑmatrixと基本量子化パラメータBaseＱＰを選択してエンコード部５０に出力する。量子化設定部４２は、バックサーチ部３３で検出した量子化行列Ｑmatrixと量子化パラメータＱＰを用いたときの発生符号量が目標符号量内である場合、この量子化行列Ｑmatrixと量子化パラメータＱＰを選択してエンコード部５０に出力する。また、量子化設定部４２は、発生符号量が目標符号量よりも大きい場合、第１のプレエンコード部２０で検出した量子化行列Ｑmatrixと基本量子化パラメータBaseＱＰを選択してエンコード部５０に出力する。
【００７１】
エンコード部５０の予測処理部５１は、入力画像データＤＶと第１のプレエンコード部２０の予測モード判定部２１で判定された画面内予測モードに基づいて予測画像データを生成する。また、予測処理部５１は、入力画像データと生成した予測画像データとの差分を計算して差分画像データをＤＣＴ部５２に出力する。
【００７２】
ＤＣＴ部５２は、離散余弦変換による直交変換により差分画像データから整数精度のＤＣＴ係数を生成して、量子化部５３に出力する。
【００７３】
量子化部５３は、ＤＣＴ部２３から出力されたＤＣＴ係数の量子化を、量子化設定部４２で選択された量子化行列Ｑmatrixと量子化パラメータＱＰを用いて行い量子化データを生成する。また、量子化部５３は、生成した量子化データをエントロピー符号化部５４に出力する。
【００７４】
エントロピー符号化部５４は、量子化部５３から出力された量子化データを算術符号化して符号化ストリームＤＳを生成して出力する。
【００７５】
＜３．画像処理装置の動作＞
次に、画像処理装置の動作について、図７のフローチャートを用いて説明する。ステップＳＴ１で、第１のプレエンコード部２０は、画面内予測モードを決定してステップＳＴ２に進む。
【００７６】
ステップＳＴ２で第１のプレエンコード部２０は、予測処理やＤＣＴおよび量子化を行いステップＳＴ３に進む。
【００７７】
ステップＳＴ３で第１のプレエンコード部２０は、符号量予測を行う。第１のプレエンコード部２０は、符号量予測を行い発生符号量の予測値を量子化パラメータＱＰ毎に求める。
【００７８】
第１のプレエンコード部２０は、量子化係数の各値の絶対値の発生回数を、最小の量子化パラメータＱＰでの量子化係数の各値の絶対値の発生回数から求める。さらに、求めた発生回数からエントロピーを求める。
【００７９】
量子化係数絶対値レベルｉの発生確率Ｐ[i]は、式（１０）で求める。
Ｐ[i]＝count[i]／total_count      ・・・（１０）
【００８０】
また、全ての量子化係数絶対値レベルについて求めた発生確率Ｐ[i]を用いて、エントロピーEntropyを式（１１）から求める。
Entropy＝−１＊Σｉ（Ｐ[i]＊log（Ｐ[i]）／log（2））  ・・・（１１）        
【００８１】
このようにして算出したエントロピーを用いることで、符号量の予測値Estimated_Bitsを式（１２）に基づいて算出する。
Estimated_Bits＝Entropy＊total_count＋sign_bits       ・・・（１２）
なお、式（１２）においてsign_bitsは、非ゼロ係数の発生回数をnon_zero_countとすると、式（１３）に示すように表すことができる。
sign_bits＝total_count−non_zero_count                ・・・（１３）
【００８２】
また、量子化行列Ｑmatrixに対応させる場合は、量子化係数絶対値レベル毎（each_level）に加えて、ＤＣＴブロック内の位置毎（each_position）に発生回数をカウントして、量子化パラメータＱＰ毎に発生符号量の予測値を求める処理を行う。すなわち、最小の量子化パラメータＱＰで量子化したときの値が、発生符号量を求める他の量子化パラメータＱＰでいくつになるかを求めるときに、量子化行列Ｑmatrixの各要素をＤＣＴブロック内の位置毎に考慮に入れて計算する。例えば、ＤＣＴブロック内の位置毎に、発生符号量を求める他の量子化パラメータＱＰでの全ての量子化係数絶対値レベル毎の発生回数を、最小の量子化パラメータＱＰで量子化したときの量子化係数絶対値レベルの発生回数から求める。さらに、ＤＣＴブロック内の全ての位置について処理して、上述のようにエントロピーを算出して、算出したエントロピーを用いて符号量の予測値を算出する。
【００８３】
ステップＳＴ４で第１のプレエンコード部２０は、量子化行列Ｑmatrixと基本量子化パラメータBaseＱＰを検出する。第１のプレエンコード部２０は、上述の処理で予測符号量が求められたので、目標符号量以下で最も近い量子化パラメータＱＰを基本量子化パラメータBaseＱＰとして選択する。また、量子化行列Ｑmatrixに対応させる場合は、目標符号量以下で最も近い量子化行列Ｑmatrixを選択する。
【００８４】
ステップＳＴ５で第２のプレエンコード部３０は、予測処理やＤＣＴを行いステップＳＴ６に進む。
【００８５】
ステップＳＴ６で第２のプレエンコード部３０は、バックサーチ処理を行う。図８はバックサーチ処理を示すフローチャートである。
【００８６】
ステップＳＴ１１でバックサーチ部３３は、輝度バックサーチを行う。バックサーチ部３３は、入力画像データにおける輝度データから生成されたＤＣＴ係数を用いてバックサーチを行う。輝度バックサーチでは、量子化行列Ｑmatrixの検出を行い、検出した量子化行列Ｑmatrixを用いて量子化パラメータＱＰの検出を行う。
【００８７】
図９は、量子化行列Ｑmatrixの検出処理を示すフローチャートである。なお、図９において、バックサーチ部３３は、各ＤＣＴ係数の絶対値|Ｗ|が規格化閥値以下（すなわち|Ｗ|<<７がＲＦ以下）である場合にのみ、剰余ｒをリスケーリングファクタＲＦによって規格化することにより評価値Ｙを算出する。また、バックサーチ部３３は、ＤＣＴ係数の絶対値|Ｗ|が規格化閥値より大きい場合、剰余ｒを評価値Ｙとする。そして、バックサーチ部３３は、評価値Ｙが最小となるリスケーリングファクタＲＦに基づいて、量子化行列Ｑmatrixを検出するようになされている。
【００８８】
ステップＳＴ２１でバックサーチ部３３のＱmatrix検出部３３１は、初期値設定を行う。Ｑmatrix検出部３３１は、パラメータや評価値Ｙの総和ΣＹを算出するカウンタ等の初期化を行う。また、Ｑmatrix検出部３３１は、Ｑmatrix／BaseＱＰ検出部２６で検出された量子化行列Ｑmatrixと基本量子化パラメータBaseＱＰに基づいてサーチ範囲を設定してステップＳＴ２２に進む。
【００８９】
ステップＳＴ２２でＱmatrix検出部３３１の剰余計算部３３１ａは、剰余ｒを算出する。剰余計算部３３１ａは、マクロブロック単位で量子化行列Ｑmatrixと量子化パラメータＱＰの組み合わせを変えて、式（６）に基づきリスケーリングファクタＲＦを計算する。さらに、剰余計算部３３１ａは、ピクチャ内の各サンプルに対して|Ｗ|<<６を該リスケーリングファクタＲＦで割った剰余ｒを算出する。なお、上述したように、剰余ｒの最小値は、量子化パラメータＱＰに関して６ｎの周期を有している。したがって、量子化パラメータＱＰが６ｎずれていても、量子化行列Ｑmatrixさえ検出できればよいので、例えば基本量子化パラメータBaseＱＰを基準とした１０段のサーチ範囲（例えばBaseＱＰ＋４〜BaseＱＰ−５の範囲）で評価すれば十分であるものとする。
【００９０】
ステップＳＴ２３で評価値判定部３３１ｂは、（|Ｗ|<<７）＞ＲＦであるか否かを判定する。評価値判定部３３１ｂは、（|Ｗ|<<７）＞ＲＦである場合にはステップＳＴ２４に進み、他の場合にはステップＳＴ２５に進む。
【００９１】
ステップＳＴ２４で評価値判定部３３１ｂは、剰余ｒをリスケーリングファクタＲＦで規格化（スケーリング）したものを評価値ＹとしてステップＳＴ２６に進む。
【００９２】
ステップＳＴ２５で評価値判定部３３１ｂは、（|Ｗ|<<６）を評価値ＹとしてステップＳＴ２６に進む。
【００９３】
ステップＳＴ２６で評価値判定部３３１ｂは、評価値Ｙの総和ΣＹを算出する。評価値判定部３３１ｂは、マクロブロック内の２５６（＝１６×１６）サンプルに関して、シフトされたＤＣＴ係数（Ｗ<<６）をリスケーリングファクタＲＦで割った剰余ｒに、上記（iii）の規格化と補正を施したものを評価値Ｙとする。さらに、評価値判定部３３１ｂは、評価値Ｙの総和ΣＹを量子化行列Ｑmatrixと量子化パラメータＱＰ毎に計算してステップＳＴ２７に進む。
【００９４】
ステップＳＴ２７で評価値判定部３３１ｂは、可能性のある全ての量子化行列Ｑmatrixと量子化パラメータＱＰに関して評価値Ｙが算出されているか判別する。評価値判定部３３１ｂは、可能性のある全ての量子化行列Ｑmatrixと量子化パラメータＱＰ、可能性のある全ての量子化行列Ｑmatrixとサーチ範囲の量子化パラメータＱＰに関して評価値Ｙを算出していない場合はステップＳＴ２８に進み、算出している場合はステップＳＴ２９に進む。
【００９５】
ステップＳＴ２８で評価値判定部３３１ｂは、量子化行列Ｑmatrixと量子化パラメータＱＰの組み合わせを変更する。評価値判定部３３１ｂは、量子化行列Ｑmatrixと量子化パラメータＱＰの組み合わせを、評価値Ｙの算出が行われていない組み合わせに変更してステップＳＴ２４に戻る。
【００９６】
ステップＳＴ２９でＱmatrix判定部３３１ｃは、評価値Ｙの総和ΣＹを比較する。Ｑmatrix判定部３３１ｃは、ピクチャ単位（あるいはスライス単位）で量子化行列Ｑmatrixと量子化パラメータＱＰ毎の評価値Ｙの総和ΣＹを比較してステップＳＴ３０に進む。
【００９７】
ステップＳＴ３０でＱmatrix判定部３３１ｃは、Ｑmatrixの検出を行う。Ｑmatrix判定部３３１ｃは、ステップＳＴ２９の比較結果に基づき、評価値Ｙの総和ΣＹが最小となる量子化行列Ｑmatrixを検出して、該検出した量子化行列Ｑmatrixを前回の符号化で使われた量子化行列Ｑmatrixとする。
【００９８】
なお、画像処理装置１０は、例えば剰余ｒに対してＤＣＴ係数の絶対値|Ｗ|を乗算して重み付けした乗算値を算出して、この乗算値をリスケーリングファクタＲＦによって規格化して、評価値Ｙとしてもよい。この場合、画像処理装置１０は、各ＤＣＴ係数の絶対値|Ｗ|が大きい領域であっても、当該領域の評価値Ｙを大きくして誤検出を防止し得るため、重み付けによって当該規格化した値を一律に評価値Ｙとすることができる。
【００９９】
次に、図１０のフローチャートを用いて量子化パラメータの検出処理について説明する。なお、図１０において、バックサーチ部３３は、各ＤＣＴ係数の絶対値|Ｗ|が規格化閥値以下（すなわち|Ｗ|<<７がＲＦ以下）である場合にのみ、剰余ｒをリスケーリングファクタＲＦによって規格化することにより評価値Ｙを算出する。また、バックサーチ部３３は、ＤＣＴ係数の絶対値|Ｗ|が規格化閥値より大きい場合、剰余ｒを評価値Ｙとする。そしてバックサーチ部３３は、評価値Ｙが最小となるリスケーリングファクタＲＦに基づいて量子化パラメータＱＰを検出するようになされている。
【０１００】
バックサーチ部３３のＱＰ検出部３３２は、ＤＣＴ部３２で求められたＤＣＴ係数Ｗの絶対値|Ｗ|を入力として、Ｑmatrix検出部３３１で検出された量子化行列Ｑmatrixを用いて、マクロブロック単位で種々の量子化パラメータＱＰ毎にリスケーリングファクタＲＦを計算する。ＱＰ検出部３３２は、この時点で前回の符号化で用いられた量子化パラメータＱＰの大体の値がわかっている場合は、その周辺のＱＰのみを検出対象とすることで演算量を減らすことができる。
【０１０１】
ステップＳＴ４１でＱＰ検出部３３２は、初期値設定を行う。ＱＰ検出部３３２は、ステップＳＴ２１と同様に、パラメータや評価値Ｙの総和ΣＹを算出するためのカウンタ等の初期化やサーチ範囲の設定を行う。またＱＰ検出部３３２は、「０」であるＤＣＴ係数をカウントするカウンタを初期化してステップＳＴ４２に進む。
【０１０２】
ステップＳＴ４２でＱＰ検出部３３２は、マクロブロック内の全ＤＣＴ係数の絶対値|Ｗ|が「０」であるか否かを判断する。ＱＰ検出部３３２は、マクロブロック内において「０」であるＤＣＴ係数をカウントして、カウント値に基づき全ＤＣＴ係数の絶対値|Ｗ|が「０」であるか否かを判断する。ＱＰ検出部３３２は、マクロブロック内の全ＤＣＴ係数の絶対値|Ｗ|が「０」である場合にはステップＳＴ４３に進み、いずれかのＤＣＴ係数の絶対値|Ｗ|が「０」でない場合にはステップＳＴ４４に進む。
【０１０３】
ステップＳＴ４３でＱＰ検出部３３２は、量子化パラメータＱＰの検出不可能と判断する。ＱＰ検出部３３２は、マクロブロック内の全ＤＣＴ係数の絶対値|Ｗ|が「０」である場合、量子化パラメータＱＰがいずれの値でも、リスケーリングファクタＲＦでＤＣＴ係数の絶対値|Ｗ|を割ったときの剰余ｒは「０」となる。すなわち、量子化パラメータＱＰは検出できないため、量子化パラメータＱＰの検出不可能と判断して量子化パラメータＱＰの検出処理を終了する。
【０１０４】
ステップＳＴ４４でＱＰ検出部３３２の剰余計算部３３２ａは、剰余ｒを算出する。剰余計算部３３２ａは、マクロブロック内の２５６（＝１６×１６）の各サンプルに対してシフトされたＤＣＴ係数（|Ｗ|<<６）を、式（６）に基づいて算出したリスケーリングファクタＲＦで割って剰余ｒを算出してステップＳＴ４５に進む。
【０１０５】
ステップＳＴ４５でＱＰ検出部３３２の評価値判定部３３２ｂは、（|Ｗ|<<７）＞ＲＦであるか判定する。評価値判定部３３２ｂは、（|Ｗ|<<７）＞ＲＦである場合にはステップＳＴ４６に進み、他の場合にはステップＳＴ４７に進む。
【０１０６】
ステップＳＴ４６で評価値判定部３３２ｂは、剰余ｒをリスケーリングファクタＲＦで規格化したものを評価値ＹとしてステップＳＴ４８に進む。
【０１０７】
ステップＳＴ４７で評価値判定部３３２ｂは、（|Ｗ|<<６）を評価値ＹとしてステップＳＴ４８に進む。
【０１０８】
ステップＳＴ４８で評価値判定部３３２ｂは、評価値Ｙの総和ΣＹを算出する。評価値判定部３３２ｂは、ステップＳＴ４４で算出した剰余ｒに、上記（iii）の規格化と補正を施したものを評価値Ｙとして、該評価値Ｙの総和ΣＹを量子化パラメータＱＰ毎に計算してステップＳＴ４９に進む。
【０１０９】
ステップＳＴ４９で評価値判定部３３２ｂは、可能性のある全ての量子化パラメータＱＰに関して評価値Ｙが計算されているか判断する。評価値判定部３３２ｂは、可能性のある全ての量子化パラメータＱＰすなわちサーチ範囲の量子化パラメータＱＰに関して評価値Ｙの総和ΣＹの計算が完了していない場合はステップＳＴ５０に進み、評価値Ｙの総和ΣＹの計算が完了している場合はステップＳＴ５１に進む。
【０１１０】
ステップＳＴ５０で評価値判定部３３２ｂは、量子化パラメータＱＰを変更する。評価値判定部３３２ｂは、評価値Ｙの総和ΣＹの算出が行われていない量子化パラメータＱＰに変更してステップＳＴ４６に戻る。
【０１１１】
ステップＳＴ５１でＱＰ判定部３３２ｃは、ステップＳＴ４８で算出した評価値Ｙの総和ΣＹを比較する。ＱＰ判定部３３２ｃは、ピクチャ単位（あるいはスライス単位）で量子化パラメータＱＰ毎の評価値Ｙの総和ΣＹを比較してステップＳＴ５２に進む。
【０１１２】
ステップＳＴ５２でＱＰ判定部３３２ｃは、量子化パラメータＱＰを検出する。ＱＰ判定部３３２ｃは、評価値Ｙの総和ΣＹが最小となる量子化パラメータＱＰを前回の符号化で用いられた量子化パラメータＱＰとして検出する。また、ＱＰ判定部３３２ｃは、検出された量子化パラメータＱＰよりも６つ大きい量子化パラメータで評価値が最小値となれば、６つ大きい量子化パラメータを、前回の符号化で用いられた量子化パラメータとする。さらに、検出された量子化パラメータＱＰがサーチ範囲で最小であり、評価値の総和が単調に増加する場合、検出された量子化パラメータＱＰは最小値であることを確認できないことから、量子化パラメータＱＰは検出されないとする。また、６ｎの周期を利用して確実に評価値Ｙの総和ΣＹが最小となる量子化パラメータＱＰを検出するため、検出された量子化パラメータＱＰが予め設定されている閾値（「５」）よりも小さい場合、量子化パラメータＱＰは検出されないとしてもよい。
【０１１３】
このようにして量子化行列Ｑmatrixと量子化パラメータＱＰを検出して、図８のステップＳＴ１２に進む。
【０１１４】
ステップＳＴ１２でバックサーチ部３３は、色差バックサーチを行う。バックサーチ部３３は、入力画像データにおける色差データから生成されたＤＣＴ係数を用いてバックサーチを行う。色差バックサーチでは、輝度バックサーチと同様に、量子化行列Ｑmatrixの検出を行い、検出した量子化行列Ｑmatrixを用いて量子化パラメータＱＰの検出を行う。また、色差データのＤＣＴ係数では、直流成分を示す係数に対してアダマール変換が用いられる。したがって、色差バックサーチでは、直流成分を示す変換係数を除いた他の変換係数を用いて量子化行列Ｑmatrixと量子化パラメータＱＰの検出を行いステップＳＴ１３に進む。
【０１１５】
ステップＳＴ１３でバックサーチ部３３は、輝度と色差のＤＣＴ係数が全て「０」であるか判別する。バックサーチ部３３は、マクロブロック内の輝度と色差のＤＣＴ係数において、いずれかの係数が「０」でない場合にはステップＳＴ１４に進み、輝度と色差のＤＣＴ係数の全係数が「０」である場合にはステップＳＴ１７に進む。
【０１１６】
ステップＳＴ１４でバックサーチ部３３は、輝度のＤＣＴ係数が全て「０」であるか判別する。バックサーチ部３３は、マクロブロック内の輝度のＤＣＴ係数において、いずれかの係数が「０」でない場合にはステップＳＴ１５に進み、輝度のＤＣＴ係数の全係数が「０」である場合にはステップＳＴ１６に進む。
【０１１７】
ステップＳＴ１５でバックサーチ部３３は、輝度バックサーチで検出した量子化行列Ｑmatrixと量子化パラメータＱＰをバックサーチ部３３で検出した量子化行列Ｑmatrixと量子化パラメータＱＰする。
【０１１８】
輝度データを用いる場合、例えば４×４イントラ予測ブロックでは１マクロブロック内に１６個の画面内予測モードが存在して、そのいくつかが前回の符号化と異なっていても量子化行列Ｑmatrixと量子化パラメータＱＰの検出は可能である。しかし、色差データを用いる場合、１マクロブロック内の画面内予測モードは１つであるため、画面内予測モードが前回の符号化と異なる場合には量子化行列Ｑmatrixと量子化パラメータＱＰを検出することができない。また、一般的に色差データのＤＣＴ係数の個数は輝度データのＤＣＴ係数より少なく、統計量として輝度の方が信頼性が高い。したがって、輝度のＤＣＴ係数が全て「０」である場合を除き、輝度バックサーチで検出した量子化行列Ｑmatrixと量子化パラメータＱＰをバックサーチ部３３で検出した量子化行列Ｑmatrixと量子化パラメータＱＰする。
【０１１９】
ステップＳＴ１６でバックサーチ部３３は、色差バックサーチで検出した量子化行列Ｑmatrixと量子化パラメータＱＰをバックサーチ部３３で検出した量子化行列Ｑmatrixと量子化パラメータＱＰする。
【０１２０】
ステップＳＴ１７でバックサーチ部３３は、量子化行列Ｑmatrixと量子化パラメータＱＰを検出できないと処理する。
【０１２１】
バックサーチ部３３は、このように輝度成分の変換係数から量子化行列Ｑmatrixと量子化パラメータＱＰを検出する処理と色差成分の変換係数から量子化行列Ｑmatrixと量子化パラメータＱＰを検出する処理を独立して行う。バックサーチ部３３は、例えば輝度成分の変換係数から量子化因子を検出した場合、検出した量子化因子を前回の符号化で用いられた量子化因子とする。また、バックサーチ部３３は、輝度成分の変換係数から量子化行列Ｑmatrixと量子化パラメータＱＰが検出できない場合、色差成分の変換係数から検出した量子化行列Ｑmatrixと量子化パラメータＱＰを、前回の符号化で用いられた量子化因子とする。バックサーチ部３３は、検出処理が終了した場合に図７のステップＳＴ７に進む。
【０１２２】
なお、図８のフローチャートでは、輝度バックサーチの後に色差バックサーチを行っているが、輝度バックサーチと色差バックサーチを並列に行うようにしてもよい。また、輝度バックサーチの後に色差バックサーチを行う場合、輝度バックサーチで量子化行列Ｑmatrixと量子化パラメータＱＰが検出されたときは、色差バックサーチを行わないようにしてもよい。さらに、輝度成分と色差成分についてＤＣＴ係数が全て「０」であるか否かを判別を行い、いずれかのＤＣＴ係数が「０」でないときバックサーチを行うようにしてもよい。
【０１２３】
ステップＳＴ７で画像処理装置１０の量子化設定部４２は、エンコード部５０で使用する量子化行列Ｑmatrixと量子化パラメータＱＰを決定する。量子化設定部４２は、バックサーチ部３３で検出した量子化行列Ｑmatrixと量子化パラメータＱＰを用いて符号量算出部４１で算出された発生符号量が目標符号量以下である場合、この量子化行列Ｑmatrixと量子化パラメータＱＰをエンコード部５０に出力する。また、量子化設定部４２は、発生符号量が目標符号量よりも大きい場合、第１のプレエンコード部２０で検出した量子化行列Ｑmatrixと基本量子化パラメータBaseＱＰを、エンコード部５０に出力してステップＳＴ８に進む。
【０１２４】
ステップＳＴ８で画像処理装置１０のエンコード部５０は、本エンコードを行う。エンコード部５０は、量子化設定部４２から供給された量子化行列Ｑmatrixと量子化パラメータＱＰ（または基本量子化パラメータBaseQP）を用いて、入力画像データの符号化処理を行う。
【０１２５】
このように、ダビング特性の向上を実現するためバックサーチを行う場合、画像処理装置１０は、輝度成分だけでなく色差成分を用いてバックサーチを行う。画像処理装置１０は、色差成分を用いることで、輝度成分のＤＣＴ係数が全て「０」となるような場合が生じても、色差成分から前回の符号化で用いられた量子化行列Ｑmatrixや量子化パラメータＱＰを検出することができる。また、輝度成分のＤＣＴ係数が全て「０」である場合を除き、輝度成分を利用して検出された量子化行列Ｑmatrixや量子化パラメータＱＰがバックサーチ結果として用いられるので、精度のよいバックサーチ結果を得ることができる。さらに、このようなバックサーチによって検出した量子化行列Ｑmatrixや量子化パラメータＱＰを用いて符号化処理を行うことで、ダビング特性を向上させることができる。
【０１２６】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１２７】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory）に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory），ＭＯ（Magneto optical）ディスク，ＤＶＤ（Digital Versatile Disc）、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
【０１２８】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ（Local Area Network）、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１２９】
また、明細書に記載された各種の処理は、記載にしたがって時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。例えば輝度データに基づいた量子化行列と量子化パラメータの検出と色差データに基づいた量子化行列と量子化パラメータの検出を並列的に実行してもよい。
【０１３０】
なお、本発明は、上述した発明の実施の形態に限定して解釈されるべきではない。この発明の実施の形態は、例示という形態で本発明を開示しており、本発明の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【産業上の利用可能性】
【０１３１】
この発明の画像処理装置と画像処理方法では、画像データの輝度成分を直交変換して生成された変換係数から量子化因子を検出する処理と、画像データの色差成分を直交変換して生成された変換係数から検出した量子化因子を検出する処理が独立して行われる。このため、例えば画像データの輝度成分を直交変換して生成された変換係数から量子化因子を検出できない場合、画像データの色差成分を直交変換して生成された変換係数から検出した量子化因子が、前回の符号化で用いられた量子化因子とされる。したがって、輝度成分を直交変換して生成された変換係数のみを用いる場合に比べて、より確実に前回の符号化で用いられた量子化因子を検出できるので、画像データの符号化処理と復号化処理が繰り返される機器、例えば画像データの編集装置や画像データの記録再生装置等に適している。
【符号の説明】
【０１３２】
１０・・・画像処理装置、２０・・・第１のプレエンコード部、２１・・・予測モード判定部、２２，３１，５１・・・予測処理部、２３，３２，５２・・・ＤＣＴ部、２４，５３・・・量子化部、２５・・・エントロピー計算部、２６・・・Ｑmatrix／BaseＱＰ検出部、３０・・・第２のプレエンコード部、３３・・・バックサーチ部、４１・・・符号量算出部、４２・・・量子化設定部、５０・・・エンコード部、５４・・・エントロピー符号化部、３３１・・・Ｑmatrix検出部、３３１ａ，３３２ａ・・・剰余計算部、３３１ｂ，３３２ｂ・・・評価値判定部、３３１ｃ・・・Ｑmatrix判定部、３３２・・・ＱＰ検出部、３３２ｃ・・・ＱＰ判定部
【図１】
2012054818.tif 000005
【図２】
2012054818.tif 000006
【図３】
2012054818.tif 000007
【図４】
2012054818.tif 000008
【図５】
2012054818.tif 000009
【図６】
2012054818.tif 000010
【図７】
2012054818.tif 000011
【図８】
2012054818.tif 000012
【図９】
2012054818.tif 000013
【図１０】
2012054818.tif 000014