(57)【特許請求の範囲】
【請求項１】
画像データに対し直交変換を実行して変換係数を生成すると共に、逆直交変換との関係において、当該変換係数を構成する係数要素の値を複数のスケールでスケール変動させる直交変換部と、
復号化の際に使用される可能性のある複数の量子化因子に基づいて算出される復号ファクターに対して上記複数のスケールを乗算することにより、複数の除算ファクターを算出する除算因子算出部と、
上記変換係数における上記係数要素の値を上記複数の除算ファクターによって除算したときの剰余に基づく評価値の総和を、検出単位毎に算出する総和算出部と、
上記複数の除算ファクターに対する上記評価値の総和との関係を比較し、上記評価値の総和が極小値をとる上記除算ファクターに基づいて、少なくとも一度以上符号化されたことのある画像データが前回符号化されたときに使用された上記量子化因子を検出する量子化因子検出部と
を有する画像処理装置。
【請求項２】
上記量子化因子は、
量子化単位ごとに設定される量子化パラメータである
請求項１に記載の画像処理装置。
【請求項３】
上記量子化因子は、
画面内符号化単位ごとに設定され、上記変換係数の係数要素ごとの値が定められている
量子化行列である
請求項２に記載の画像処理装置。
【請求項４】
画面内符号化単位ごとに設定され、予め定められた複数の画面内符号化方式によって入力画像データを符号化し、複数の画像データを生成する画面内符号化部と、
上記複数の画像データのうち、上記量子化因子検出部によって検出された上記量子化因子を用いたときの上記評価値の総和に基づいて、上記入力画像データが前回符号化されたときに使用された一の画面内符号化方式を検出する画面内符号化方式検出部と
を有する請求項３に記載の画像処理装置。
【請求項５】
上記総和算出部は、
上記剰余を上記除算ファクターによって除算した除算値を上記評価値とする
請求項１に記載の画像処理装置。
【請求項６】
上記総和算出部は、
上記係数要素の絶対値が規格化閾値未満である場合には、上記剰余を上記除算ファクターによって除算した除算値を上記評価値とし、上記係数要素の絶対値が上記規格化閾値以上である場合には、上記剰余を上記評価値とする
請求項５に記載の画像処理装置。
【請求項７】
上記総和算出部は、
上記剰余に対して上記係数要素を乗算して乗算値を算出し、当該乗算値を上記除算ファクターによって除算した除算値を上記評価値とする
請求項５に記載の画像処理装置。
【請求項８】
上記量子化因子検出部による処理対象となる画像データに対する上記極小値が検出された画像データの割合に基づいて、上記画像データが一度も符号化されたことのない原画であるか、少なくとも一度以上符号化されたことのある非原画であるかを判定する後段原画判定部
を有する請求項２に記載の画像処理装置。
【請求項９】
上記画像処理装置は、
上記復号化の際に使用される可能性のある複数の復号ファクターのうち、一部を検索範囲として特定する検索範囲特定部
を有し、
上記後段原画判定部は、
上記極小値に対応する量子化パラメータの最小値が、上記検索範囲における量子化パラメータの最小値であった最小回数をカウントする最小値カウント部と、
上記量子化因子検出部によって処理された上記検出単位ごとの画像データの処理回数をカウントする処理回数カウント部と、
上記最小回数の上記処理回数に対する割合を、上記量子化因子検出部の処理対象となる画像データに対する上記極小値が検出された画像データの割合とする割合設定部と
を有する請求項８に記載の画像処理装置。
【請求項１０】
画像データに対し直交変換を実行して変換係数を生成する前段直交変換部と、
上記変換係数を構成する係数要素の値ごとの発生回数を要素発生回数としてカウントする要素カウント部と、
上記要素発生回数の分散状態に基づいて、画像符号化単位ごとの見積量子化パラメータを見積もる量子化パラメータ見積部と
を有する請求項１に記載の画像処理装置。
【請求項１１】
上記要素発生回数の分散状態に基づいて、上記画像データが一度も符号化されたことのない原画であるか、少なくとも一度以上符号化されたことのある非原画であるかを判定する前段原画判定部と
を有する請求項１０に記載の画像処理装置。
【請求項１２】
上記量子化パラメータ見積部は、
上記要素発生回数において、上記係数要素の絶対値が最小値（ただし、ゼロを除く）となる１番目ピークに基づいて、上記量子化パラメータを検出する
請求項１１に記載の画像処理装置。
【請求項１３】
上記量子化パラメータ見積部は、
上記係数要素の絶対値に対して基準要素値を設定し、当該基準要素値と離隔する離隔値と上記係数要素の絶対値の発生回数とを乗算した値を積算した積算値を、上記基準要素値に対応する積算値として算出する積算部と、
上記基準要素値ごとの上記積算値のうち、最小の値をとる積算値に対応する基準要素値に基づいて、上記前回の符号化に使用された量子化パラメータ近傍の見積量子化パラメータを決定する見積量子化パラメータ決定部と
を有する請求項１０に記載の画像処理装置。
【請求項１４】
上記見積量子化パラメータ決定部は、
上記係数要素の絶対値に対して検出対象となるサーチ量子化パラメータに基づく基準要素値を設定し、当該基準要素値が極大値であると判別された場合に、当該サーチ量子化パラメータを上記見積量子化パラメータとして決定する
請求項１３に記載の画像処理装置。
【請求項１５】
上記見積量子化パラメータ及び検出対象となる量子化行列に基づく基準要素値を設定し、当該基準要素値が極大値であると判別された場合に、当該量子化行列を上記見積量子化行列として決定する見積量子化行列決定部
を有する請求項１０に記載の画像処理装置。
【請求項１６】
上記要素発生回数に基づいたエントロピー計算により、各量子化パラメータにおける上記発生符号量を予測する発生符号量予測部と、
上記発生符号量予測部によって予測された上記発生符号量が目標符号量に近くなる量子化パラメータを、予測パラメータとして予測する量子化パラメータ予測部と、
上記予測パラメータを用いて上記変換係数を量子化して予測量子化データを生成する予測量子化部と、
上記予測量子化データに基づく予測ストリームの発生符号量に基づいて、上記予測パラメータを補正するパラメータ補正部と
を有する請求項１０に記載の画像処理装置。
【請求項１７】
画像データに対し直交変換を実行して変換係数を生成すると共に、逆直交変換との関係において、当該変換係数を構成する係数要素の値を複数のスケールでスケール変動させる直交変換ステップと、
復号化の際に使用される可能性のある複数の量子化因子に基づいて算出される復号ファクターに対して上記複数のスケールを乗算することにより、複数の除算ファクターを算出する除算因子算出ステップと、
上記変換係数における上記係数要素の値を上記複数の除算ファクターによって除算したときの剰余に基づく評価値の総和を、検出単位毎に算出する総和算出ステップと、
上記複数の除算ファクターに対する上記評価値の総和との関係を比較し、上記評価値の総和が極小値をとる上記除算ファクターに基づいて、少なくとも一度以上符号化されたことのある画像データが前回符号化されたときに使用された上記量子化因子を検出する量子化因子検出ステップと
を有する画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば前回の符号化で使われた量子化行列や量子化パラメータ等を所定単位で検出する符号化装置に関する。
【背景技術】
【０００２】
従来、テレビジョン放送局間で映像データの伝送を行う際、或いは複数のビデオテープレコーダ（ＶＴＲ装置）を用いて映像データの複写を行う際には、MPEG（Moving picture experts group）方式で符号化した映像データを復号化し、再度、符号化することから、エンコーダとデコーダを直列にタンデム接続する必要がある。
【０００３】
そして、このようなタンデム接続時の符号化と復号化の繰り返しによる映像の品質劣化を低減する手法として所謂「バックサーチ」という手法が採用されている。
【０００４】
ここで、「バックサーチ」とは、以前の符号化で使用された量子化ステップ、或いは、その倍数関係にある量子化ステップを用いると、離散余弦変換（DCT；discrete cosine transfer）係数の剰余の総和が極小となるという性質を利用して、最小値に係る量子化ステップを最適な量子化ステップとして求める手法である。
【０００５】
この「バックサーチ」を用いた技術については、例えば特許文献１では、前回の符号化における量子化ステップをバックサーチ方式により再生し、前回と同じ量子化ステップおよびＧＯＰ（Group of pictures）位相で再び入力映像データを符号化し、エンコーダとデコーダをタンデム接続して映像データの符号化及び復号化を繰り返した場合の映像の品質の劣化を防止する映像データ圧縮装置が開示されている。
【０００６】
一方、今日では、MPEG方式に代えて、AVC（Advanced Video Coding）規格が、携帯電話のテレビ電話といった低速・低画質の用途からハイビジョンテレビ放送等の大容量・高画質の動画まで幅広い用途に用いられてきているが、動き補償、フレーム間予測、DCT、エントロピー符号化などを組み合わせたアルゴリズムを利用しており、MPEGに比べて同じクオリティならば、概ね半分程度のデータ量で済むよう改良されている。
【０００７】
そして、特にAVC規格におけるイントラ（Intra）画像（以下、「AVC Intra」と称する）では、量子化の為に目標とするビットレートに合わせて最適な量子化パラメータQPの値を決定するが、そのときの量子化パラメータQPの値は前回の符号化で使用した値であるとは限らない。仮に、前回の符号化と異なる量子化パラメータQPの値が使われると、再び量子化の際に丸めによる歪が生じてしまい、ダビングを繰り返す度に画質の低下を引き起こすことになる。
【特許文献１】特開平１０−１７４０９８号公報。
【０００８】
しかしながら、AVC Intraでは、前述したダビングによる問題に対する従来のMPEGに使われていた検出技術をそのまま適用すると、符号化方式の差異により、バックサーチの検出の精度が低下してしまい、ダビング時に画質の低下を引き起こしてしまうという問題があった。
【発明の開示】
【０００９】
かかる課題を解決するため本発明の画像処理装置においては、画像データに対し直交変換を実行して変換係数を生成すると共に、逆直交変換との関係において、当該変換係数を構成する係数要素の値を複数のスケールでスケール変動させる直交変換部と、復号化の際に使用される可能性のある複数の量子化因子に基づいて算出される復号ファクターに対して複数のスケールを乗算することにより、複数の除算ファクターを算出する除算因子算出部と、変換係数における係数要素の値を複数の除算ファクターによって除算したときの剰余に基づく評価値の総和を、検出単位毎に算出する総和算出部と、複数の除算ファクターに対する評価値の総和との関係を比較し、評価値の総和が極小値をとる除算ファクターに基づいて、少なくとも一度以上符号化されたことのある画像データが前回符号化されたときに使用された量子化因子を検出する量子化因子検出部とを設けるようにした。
【００１０】
これにより画像処理装置は、DCT処理によるスケール変動を除算ファクターによって相殺することができるため、複数のスケールで剰余がスケール変動してしまうことを防止して剰余に基づく各評価値を対等に比較することができ、バックサーチの検出精度を向上することができる。
【００１１】
また本発明の画像処理方法においては、画像データに対し直交変換を実行して変換係数を生成すると共に、逆直交変換との関係において、当該変換係数を構成する係数要素の値を複数のスケールでスケール変動させる直交変換ステップと、復号化の際に使用される可能性のある複数の量子化因子に基づいて算出される復号ファクターに対して複数のスケールを乗算することにより、複数の除算ファクターを算出する除算因子算出ステップと、変換係数における係数要素の値を複数の除算ファクターによって除算したときの剰余に基づく評価値の総和を、検出単位毎に算出する総和算出ステップと、複数の除算ファクターに対する評価値の総和との関係を比較し、評価値の総和が極小値をとる除算ファクターに基づいて、少なくとも一度以上符号化されたことのある画像データが前回符号化されたときに使用された量子化因子を検出する量子化因子検出ステップとを設けるようにした。
【００１２】
これにより画像処理装置は、DCT処理によるスケール変動を除算ファクターによって相殺することができるため、複数のスケールで剰余がスケール変動してしまうことを防止して剰余に基づく各評価値を対等に比較することができ、バックサーチの検出精度を向上することができる。
【００１３】
さらに本発明の画像処理装置においては、画像データに対し直交変換を実行して変換係数を生成する直交変換部と、変換係数を構成する係数要素の値ごとの発生回数を要素発生回数としてカウントする要素カウント部と、要素発生回数の分散状態に基づいて、画像データが一度も符号化されたことのない原画であるか、少なくとも一度以上符号化されたことのある非原画であるかを判定する原画判定部とを設けるようにした。
【００１４】
これにより画像処理装置では、バックサーチ処理の前に画像データが原画であるか非原画であるかを検出することができ、原画に対するバックサーチ処理の誤適用を防止し得る。
【００１５】
整数精度ＤＣＴ処理として８×８ＤＣＴ処理を実行する際、水平方向及び垂直方向による８×８ＤＣＴ演算処理が終了する前に、演算処理の対象となる画像データ又は変換行列の各要素を水平方向及び垂直方向に対応させてそれぞれ３ｂｉｔずつ桁上げする桁上げ部と、水平方向及び垂直方向による８×８ＤＣＴ演算処理が終了した後に、ＤＣＴ係数に基づく係数データを６ｂｉｔずつ桁下げする桁下げ部とを設けるようにした。
【００１６】
これにより画像処理装置では、８×８ＤＣＴ処理における演算丸め回数を低減することができ、演算精度を向上させることができる。
【００１７】
本発明によれば、DCT処理によるスケール変動を除算ファクターによって相殺することができるため、複数のスケールで剰余がスケール変動してしまうことを防止して剰余に基づく各評価値を対等に比較することができ、バックサーチの検出精度を向上することができ、かくして符号化による画質低下を抑制し得る画像処理装置及び画像処理方法を実現できる。
【００１８】
また本発明によれば、バックサーチ処理の前に画像データが原画であるか非原画であるかを検出することができ、原画に対するバックサーチ処理の誤適用を防止し得、かくして符号化による画質低下を抑制し得る画像処理装置を実現できる。
【００１９】
さらに本発明によれば、８×８ＤＣＴ処理における演算丸め回数を低減することができ、演算精度を向上させることができ、かくして符号化による画質低下を抑制し得る画像処理装置を実現できる。
【図面の簡単な説明】
【００２０】
【図１】図１は、本発明の第１及び第２の実施の形態に係る画像処理装置の概念図。
【図２】図２は、ＡＶＣ規格における変換と量子化の説明に供する略線図である。
【図３】図３は、一度も符号化されていない画像を入力画像としたときの、量子化パラメータQPと剰余の総和Σｒとの関係を示す図。
【図４】図４は、符号化と復号が行われた入力画像について、量子化パラメータQPと剰余の総和Σｒとの関係を示す図。
【図５】図５は、リスケーリングファクターRFによる規格化後の量子化パラメータQPと剰余の総和Σｒとの関係を示す図。
【図６】図６は、リスケーリングファクターRFによる規格化、所定領域の補正後の量子化パラメータQPと剰余の総和Σｒとの関係を示す図。
【図７】図７は、本発明の第１の実施の形態に係る符号化装置の構成図。
【図８】図８は、（ａ）はQmatrix検出部の構成図、（ｂ）はQP検出部の構成図。
【図９】図９は、マクロブロックとイントラ符号化単位との関係を示す略線図。
【図１０】図１０は、本発明の第１の実施の形態に係る符号化装置のQmatrix検出部によるスライス単位での量子化行列検出処理について説明するフローチャート。
【図１１】図１１は、本発明の第１の実施の形態に係る符号化装置のQP検出部によるマクロブロック単位での量子化パラメータ検出処理について説明するフローチャート。
【図１２】図１２は、本発明の第２の実施の形態に係る符号化装置による画面内予測モード検出処理について説明するフローチャート。
【図１３】図１３は、QPとDCT係数の剰余の関係を示す図。
【図１４】図１４は、本発明の第２の実施の形態に係る符号化装置の構成図。
【図１５】図１５は、本発明の第２の実施の形態に係る符号化装置のバックサーチによる原画判定処理について説明するフローチャート。
【図１６】図１６は、本発明の第３の実施の形態に係る符号化装置の構成図。
【図１７】図１７は、本発明の第３の実施の形態に係る符号化装置による符号化に係る一連の処理を更に詳細に説明するフローチャート。
【図１８】図１８は、符号量予測処理（基本）の詳細を説明するフローチャート。
【図１９】図１９は、符号量予測処理（アクティビティ対応）の詳細を説明するフローチャート。
【図２０】図２０は、符号量予測処理（量子化行列対応）の詳細を説明するフローチャート。
【図２１】図２１は、発生符号量が目標符号量より少ない、且つ量子化パラメータQPが最小値ではないときの符号量補正処理を説明するフローチャート。
【図２２】図２２は、原画像を入力した場合のeach_activity_group=0、each_position=5のときの分布状態実測値を示す図。
【図２３】図２３は、前回QP=20で符号化した画像を入力した場合のeach_activity_group=0、each_position=5のときの分布状態実測値を示す図。
【図２４】図２４は、量子化係数による原画判定処理について説明するフローチャート。
【図２５】図２５は、判定処理を説明するフローチャート。
【図２６】図２６は、入力画像切替処理について詳細に説明するフローチャート。
【図２７】図２７は、本発明の他の実施の形態に係る符号化装置の構成図。
【図２８】図２８は、本発明の他の実施の形態に係る符号化装置による符号化に係る一連の処理を更に詳細に説明するフローチャート。
【図２９】図２９は、本発明の第５の実施の形態に係る符号化装置の構成図。
【図３０】図３０は、本発明の第６の実施の形態に係るＤＣＴ部及び量子化部の詳細な構成図。
【図３１】図３１は、本発明の復号化装置の構成図。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照して、本発明を実施するための最良の形態（以下、単に実施の形態と称する）について詳細に説明する。なお説明は以下の順序で行う。
（１）本発明の概略
（２）第１の実施の形態（ＡＶＣ規格によるバックサーチ）
（３）第２の実施の形態（バックサーチにおける原画／非原画の判定）
（４）第３の実施の形態（バックサーチ前におけるQPの予備検出）
（５）第４の実施の形態（量子化行列の設定）
（６）第５の実施の形態（８×８整数ＤＣＴ時の演算丸めの抑制）
【００２２】
（１）本発明の概略
（１−１）前提
一般に、AVC（Advanced Video Coding）規格による符号化は非可逆変換であるため符号化と復号化を行うと元のベースバンド（Baseband）画像に対して歪が生じる。従って、例えばタンデム接続によるダビング等により符号化と復号化を繰り返す度に該歪により画質が低下していく。
【００２３】
この点に鑑みて、本発明の第１の実施の形態では、AVC規格の画面内符号化において、一度符号化、復号化を通した画像を再度符号化する際に、前回の符号化で使われた以下の３つのパラメータを再利用することで、画像の歪を符号器と復号器の演算誤差のみに抑えることを特徴の一つとしている。
(1)  画面内予測モード
(2)  量子化行列(Qmatrix)
(3)  量子化パラメータ (QP)
【００２４】
これらのうち、第１の実施の形態における量子化行列検出処理では、特に(2)に着目し、量子化パラメータ検出処理では(3)に着目し、画面内予測モード検出処理では(1)に着目する。
【００２５】
すなわちAVC規格におけるイントラ（Intra）画像、即ちAVC Intraに対しダビングを行う際に、前回の符号化で使われた量子化行列Qmatrix、量子化パラメータQP及び画面内予測モードを検出して、同じQmatrixとQPとを利用することで量子化丸めを防ぎ、ダビング特性の向上を実現する。
【００２６】
ここで、図１には本発明の第１の実施の形態に係る符号化装置及び方法における概念図を示し説明する。
【００２７】
同図に示されるように、この画像処理装置１は第１の符号化部２、第２の符号化部３、バックサーチ部３を備え、更にバックサーチ部３は予測モード検出部５、量子化行列(Qmatrix)検出部６、量子化パラメータ(QP)検出部７を有している。
【００２８】
このような構成において、第１の符号化部２は、入力された画像情報に対して第１の符号化を行う。バックサーチ部３は、種々の量子化行列Qmatrixと量子化パラメータQPの組み合わせによるリスケーリングファクター（RF; Rescaling factor）で第１の符号化の過程で得られる整数精度DCT係数を除算したときに得られる剰余rの大きさを評価することで、第１の符号化において使われた量子化行列Qmatrix、量子化パラメータQP及び画面内予測モードを検出する。そして、第２の符号化部２は、第１の符号化においてバックサーチ部３により検出された量子化行列Qmatrix、量子化パラメータQP及び画面内予測モードを用いて第２の符号化を行う。
【００２９】
即ち、より詳細には、バックサーチ部３では、Qmatrix検出部６は、第１の符号化の過程で得られる整数精度DCT係数に基づいて、第１の符号化において、上記整数精度DCT係数を種々の量子化行列Qmatrixと量子化パラメータQPの組み合わせによるリスケーリングファクターRFで除算した剰余を用いて、スライス毎に量子化行列Qmatrixを検出する。
【００３０】
QP検出部７は、第１の符号化の過程で得られる整数精度DCT係数に基づいて、整数精度DCT係数を種々の量子化行列Qmatrixと量子化パラメータQPの組み合わせによるリスケーリングファクターRFで除算した剰余を用いて、量子化パラメータQPをマクロブロック毎に検出する。
【００３１】
さらに、予測モード検出部５は、前回の符号化の際に使用された画面内予測モードを検出する。この検出された予測モードは第２の符号化部２において採用される。
【００３２】
先ず、本発明の第１の実施の形態に係る画像処理装置１に対する理解を深めるべく、本実施の形態が着目した特徴的な性質・原理について詳細に説明する。
【００３３】
図１に示すように、AVC規格では、Intra画像に対し、９つの画面内予測モードから選択された一の画面内予測モードを用いて入力画像から差分画像データを生成する。なお以下、Intra画像に対するAVC規格をAVC Intraと称する。次いでAVC Intraでは、差分画像データに対してＤＣＴ処理を実行し、得られたＤＣＴ係数を量子化行列Qmatrixと量子化パラメータQPの組み合わせにより量子化して量子化レベル（量子化係数）でなる量子化データを生成する。この量子化データは、さらに所定の符号化方式により符号化され、符号化ストリームとなる。この符号化ストリームは、符号化に使用された画面内予測モード、量子化行列Qmatrix及び量子化パラメータQPが設定されることになる。
【００３４】
ＡＶＣ規格では、復号化の際、設定された画面内予測モード、量子化行列Qmatrix及び量子化パラメータQPを用いて量子化データを復号するが、符号化の際に丸められた剰余部分を復元することはできない。従って、ＡＶＣ規格では、この量子化の剰余分だけ画質を低下させることになる。以下、この画質の低下を量子化歪と呼ぶ。
【００３５】
例えば業務用の放送装置などでは、映像データに対し、複数回に亘って符号化及び復号化を繰り返すような場合が想定される。このとき、毎回異なる画面内予測モード、量子化行列Qmatrix及び量子化パラメータQPを用いると、符号化の度に量子化歪が発生してしまい、符号化の度に映像データの画質を低下させてしまう。
【００３６】
AVC Intraでは、一度符号化、復号化を通した画像を再度符号化する際に、前回の符号化で使われた量子化行列Qmatrix、量子化パラメータQP及び画面内予測モードを使うと、前回の符号化で量子化歪が既に落とされているので、それ以上量子化歪が生じにくいという性質がある。
【００３７】
このため本発明では、前回の符号化で使われた量子化行列Qmatrix、量子化パラメータQP又は画面内予測モードを検出し、これらを用いて符号化を実行することにより、映像データの画質低下を抑制する。
【００３８】
このように前回の符号化で使われた量子化行列Qmatrix、量子化パラメータQP又は画面内予測モードを高い確率で検出することを、以下の説明においては「バックサーチ」と称する。
【００３９】
ここで上述した特許文献１に記載されているように、バックサーチは、ＭＰＥＧ（Moving picture experts group）−２において、ＤＣＴ係数を各量子化スケールＱによって除算すると共に、剰余ｒの最も小さい量子化スケールＱを前回符号化したときに使用した量子化スケールＱとして検出することができる。
【００４０】
しかしながらＡＶＣ規格では、ＭＰＥＧ−２とは以下の点において相違しており、ＭＰＥＧ−２の手法をそのまま適用すると、検出の精度が低下してしまう。
【００４１】
・整数精度演算の導入により符号化と復号化におけるDCT係数が等価に扱えない。
【００４２】
・復号時の演算誤差が大きく、検出精度に大きく影響する。
【００４３】
・剰余関数が量子化パラメータQPに関して周期をもつため、同じ値の最小値が複数存在する。
【００４４】
そこで、本発明は、AVCによる符号化を採用し、前回の符号化で使われた量子化行列Qmatrixや量子化パラメータQP等を所定単位で高い確率で検出し、それらを再利用することでダビング時の量子化による丸め誤差を低減し、ダビング特性を向上することを課題とする。
【００４５】
（１−２）バックサーチの原理
（１−２−１）量子化パラメータ及び量子化行列の検出
以下、該バックサーチの具体的方法につき言及する。
【００４６】
AVC Intraでは、復号化の際に、量子化レベルZに量子化行列Qmatrixと量子化パラメータQPの関数であるリスケーリングファクターRFが乗算されて整数精度DCT係数Wを6bit左シフトしたものが復号される。
【００４７】
【数１】
0005212373.tif 000002
【００４８】
【数２】
0005212373.tif 000003
【００４９】
このように、復号の過程で、量子化レベルZにRFを乗算して整数精度DCT係数Wを得ているので、次の符号化において整数制度DCT係数WはRFで割り切れる。つまり、次の符号化の際にシフトされた整数精度DCT係数（W<<6）を同じRFで割った場合に、その剰余rは0になると考えられる。このような性質に着目から、種々の量子化行列Qmatrixと量子化パラメータQPの組み合わせによるリスケーリングファクターRFを用いてシフトされた整数精度DCT係数(W<<6)を割った剰余rの大きさを評価することで、前回の符号化で使われた量子化行列Qmatrixと量子化パラメータQPを検出することができる。
【００５０】
以上に加えて、第１の実施の形態に係る画像処理装置１では、検出精度を向上させる為に、MPEGでは考慮されなかった、AVC Intra特有の性質に起因する以下の(i)〜(vi)の点を考慮する。以下、各点につき詳述する。
【００５１】
(i)  符号化と復号化におけるRFの変換
AVC Intraでは、DCT部を整数精度部と非整数精度部に分け、整数精度部を整数精度DCTと称し、非整数精度部と量子化を合わせて量子化と称している。AVC Intraでは、符号化と復号化で整数精度部と非整数精度部の切り分け位置が異なるため、符号化に用いる整数精度DCT（以下、単に「DCT」と表記する）と復号に用いる整数精度逆DCT（以下、単に「逆DCT」と表記する）は逆変換ではない。ゆえに、符号化で使われるDCT係数Wと復号で使われる逆DCT係数W（以下、「W'」と表記する)は等しくならない。
【００５２】
即ち、DCT係数Wと逆DCT係数W'は次式で示される。
【００５３】
【数３】
0005212373.tif 000004
【００５４】
【数４】
0005212373.tif 000005
【００５５】
このDCT、逆DCTの式より、DCT係数Wと逆DCT係数W'の間には次式が成立する。
【００５６】
【数５】
0005212373.tif 000006
【００５７】
このようにDCT係数W’の位置（i,j）により16、20、25を掛けたものがWとなるが、この変換行列を「D」とし、（６）式に定義する。即ち、バックサーチ処理における符号化で用いるRFは復号化で用いるRF（以下、「RFr」と表記する）に、DCT係数Wと逆DCT係数W'の変換行列Dを乗じたものとする。
【００５８】
【数６】
0005212373.tif 000007
【００５９】
すなわちAVC Intraでは、図２に示すように、差分画像データに対して符号化及び復号化によりDCT処理を施した後に逆DCT処理を行うと、復号差分画像データの値が変換行列Ｄだけスケールアップされることになる。
【００６０】
またAVC Intraでは、量子化の際に、次式で表されるスケーリングＥＲが発生する。なお（７）式を実際の数値として表すと、（８）式のように表すことができる。すなわちAVC Intraでは、ＤＣＴ係数に対して符号化及び復号化により量子化処理及び逆量子化処理を行うと、逆ＤＣＴ係数の要素の値が量子化誤差ＥＲだけスケールアップされることになる。
【００６１】
【数７】
0005212373.tif 000008
【００６２】
【数８】
0005212373.tif 000009
【００６３】
このためAVC Intraでは、復号化の際、復号差分画像データを「６４」で除算することにより、復号差分画像データの値を差分画像データと同レベルにするようなされている。
【００６４】
すなわちAVC Intraでは、差分画像データに対してDCT処理を施した時点で、変換行列Dが乗算されてスケールアップされているものとみなすことができる。これに伴い、剰余ｒの値もスケールアップされることになるが、（８）式に示したように、その値（すなわち係数要素）は行列の位置によって異なっている。
【００６５】
従って仮にDCT係数を復号リスケーリングファクターRFによって除算すると、DCT係数の位置に応じて剰余ｒが大きくなったり、小さくなったりしてしまうことになり、剰余ｒを単純に比較できなくなってしまう。
【００６６】
従って画像処理装置１では、次式のように復号時のリスケーリングファクター（以下、これを復号リスケーリングファクターRFｒと呼ぶ）に対して変換行列Dを乗算することにより、バックサーチ処理の際に除算する値として使用されるリスケーリングファクターRFを算出する。
【００６７】
【数９】
0005212373.tif 000010
【００６８】
即ち、一度、符号化を介した入力画像（差分画像データ）のDCT係数Wは（５）式によるDCT係数Wと逆DCT係数W'の変換行列Dを考慮すると、{V Qmatrix D 2floor(QP/6)}で割り切れ、剰余ｒが0となると考えられる。
【００６９】
これにより画像処理装置１では、剰余ｒからDCT処理に伴うスケールアップの影響を排除することができ、剰余ｒを同一スケールで比較し得るようになされている。
【００７０】
このように画像処理装置１では、復号リスケーリングファクターRFｒに対して変換行列Dの値を乗算してリスケーリングファクターRFを算出する。これにより画像処理装置１では、リスケーリングファクターRFによって差分画像データを除算することにより、DCT処理によって一律にスケールアップされる分をも同時に除算することができるため、スケールアップによる剰余ｒの変動を低減し、バックサーチの検出の精度を向上させ得るようになされている。
【００７１】
(ii)  復号時の誤差
AVC Intraでは、周辺画素からの予測画像との差分となる差分画像データを符号化する。復号時に量子化レベルZに復号リスケーリングファクターRFｒを乗じるが、復号時の演算丸めを防ぐため、復号リスケーリングファクターRFｒは規格上予め6bit桁上げされている(復号の際に逆DCT係数W'を6bit左シフトしたものが得られるのはそのためである)。
【００７２】
従って、逆量子化、逆DCT処理は、6bit桁上げされた状態で演算され、予測画像を6bit桁上げしたものと足し合わせた後に、その和を6bit桁下げしてベースバンド画像を得る。この6bitの桁下げにより、下位6bitに入っていたデータが四捨五入される為、演算誤差Eが発生し、次回の符号化で生じたシフトされたDCT係数(W<<6)はリスケーリングファクターRFで割り切れないことがある。
【００７３】
そこで本発明は、剰余rが0になる量子化パラメータQPではなく、剰余rが最小値になる量子化パラメータQPを検出する。
【００７４】
ここでこの復号時の演算誤差Eは負の値であることもあるので、実際の剰余rの値と、剰余rをリスケーリングファクターRFから引いた値を比較し、小さい方を評価値Yとする。
【００７５】
例として、RF = 3600、DCT係数W = 7200の場合を考える。
【００７６】
演算誤差Eがない場合の剰余rは、次式のようになる
【００７７】
【数１０】
0005212373.tif 000011
【００７８】
実際には演算誤差Eは見積もれないが、E = -2として単純に剰余rを評価値Yとすると、次式のようになり、最小値として検出され難くなる。
【００７９】
【数１１】
0005212373.tif 000012
【００８０】
ここで、上記のように実際の剰余rの値と、剰余rをリスケーリングファクターRFから引いた値を比較し、小さい方を評価値Yとすると、次式が得られ、評価値Yは演算誤差Eの絶対値となる。
【００８１】
【数１２】
0005212373.tif 000013
【００８２】
従って本発明の画像処理装置１では、（１２）式に従って評価値Yを算出すると共に、評価値Yが最小値となる量子化パラメータQPを検出するようにした。これにより画像処理装置１は、適切な評価値Yを用いて適切に量子化パラメータQPを検出することができる。
【００８３】
(iii)  剰余曲線の性質と量子化パラメータQPの周期について
一度も符号化されていない画像を入力画像として、6bitシフトされたDCT係数(W<<6)を種々の量子化パラメータQPによるリスケーリングファクターRFで割って剰余rを算出し、横軸に量子化パラメータQP、縦軸に剰余の総和（Σｒ）をとると、図３に示されるような右上がりの曲線となる。
【００８４】
同様に、符号化と復号化が行われた入力画像について6bitシフトされたDCT係数(W<<6)を種々の量子化パラメータQPによるリスケーリングファクターRFで割って剰余rを算出し、横軸に量子化パラメータ、縦軸に剰余の総和（Σｒ）をとると、図４に示されるようになる。この場合、剰余rの総和（Σｒ）の極小値は生じるが、やはり右上がりの傾向があり、符号化と復号化を既に行っているか否かによらず量子化パラメータQPが小さいほど剰余ｒの総和（Σｒ）も小さくなることが分かる。
【００８５】
従って、種々の量子化パラメータQPによる剰余rの総和（Σｒ）の大小関係を単純に評価すると、前回の符号化で使われた量子化パラメータQPよりも小さい量子化パラメータQPが最小値として誤検出されることがある。この問題を解決するために、剰余rの値をさらにリスケーリングファクターRFで規格化したものを評価値Yとして用いる。
【００８６】
このときの評価値Yの総和（ΣY）と量子化パラメータQPとの関係を図５に示している。図５から、前回の符号化で使用された量子化パラメータQPについての評価値Yの総和（ΣY）が、６ｎずれた量子化パラメータQPについての評価値Yの総和（ΣY）よりも小さくなっていることがわかる。
【００８７】
また、図３、図４に示されるように、(|W|<<7) ≦ RFとなる量子化パラメータQPで評価値Yの値（剰余ｒの絶対値）がフラットになる領域が発生する傾向があり、この領域はリスケーリングファクターRFによる規格化を行うと単調減少して（図５参照）、誤検出の原因となる。
【００８８】
この際、同じリスケーリングファクターRFで割った場合でも統計的にはDCT係数Wが大きいほど剰余rも大きくなるため、剰余rをDCT係数の絶対値|W|でスケーリングした後、リスケーリングファクターRFで規格化する。これにより、大きな剰余を採り得るDCT係数Wが小さな剰余をもった場合は偶然ではないと考え、重み付けできる（通常、低周波成分ほど大きなDCT係数Wを持つため、低周波成分が重み付けされる)。
【００８９】
図６に、剰余rをDCT係数の絶対値|W|でスケーリングした後、リスケーリングファクターRFで規格化した評価値Yの総和（ΣY）と、量子化パラメータQPとの関係を示している。図から、前回の符号化で使用された量子化パラメータQPにおける評価値Yの総和（ΣY）と６ｎずれた量子化パラメータQPについての評価値Yの総和（ΣY）は図５と比較して殆ど変化していないことがわかる。
【００９０】
さらに画像処理装置１では、評価値Yの総和(ΣY)が傾斜を有する(|W|<<7) >
RFとなる領域のみでリスケーリングファクターRFによる規格化を行い、それ以外の領域ではDCT係数|W|の値を評価値Yとして用いることもできる。
【００９１】
これにより、画像処理装置１では、図６に示したように、リスケーリングファクターRFによる規格化に起因して、(|W|<<7) ≦ RFとなる領域において評価値Yの総和（ΣY）が最小となり、誤った量子化パラメータQPが前回使用された量子化パラメータQPとして検出されてしまうことを確実に防止し得るようになされている。
【００９２】
(iv)  量子化パラメータQPの周期について
AVC Intraでは、規格上、量子化パラメータQPが±6変化すると、リスケーリングファクターRFが±2倍になる性質を有している。従って、ある量子化パラメータQPにおいて剰余rの総和（Σｒ）が極小値をもった場合、QP±6n（n=1、2…）でも剰余rの総和（Σｒ）が極小値を持つことがある(図４参照)。
【００９３】
このため単純に上記の評価値Yを評価すると、6nずれた量子化パラメータQPが検出されることがある。従って画像処理装置１では、剰余rの総和（Σｒ）が最小となる量子化パラメータQPより6n大きな量子化パラメータQPに極小値がある場合はその量子化パラメータQPを採用する。
【００９４】
具体的に、画像処理装置１は、剰余rの総和（Σｒ）が小さい方から順に5個程度の量子化パラメータQPの値を配列に格納しておき、剰余rの総和（Σｒ）が最小となるQPと2番目に剰余rの総和（Σｒ）が小さいQPとを比較してその差が6nであれば、QPの大きな方を採用する。更に、画像処理装置１は、採用した量子化パラメータQPと3番目に剰余rの総和（Σｒ）が小さい量子化パラメータQPとを比較し、両者の差が6nであれば、また大きい方の量子化パラメータQPを採用し、採用された量子化パラメータQPの入れ替えを行う。
【００９５】
このように画像処理装置１は、剰余ｒの総和（Σｒ）の極小値を複数検出した場合には、剰余が最小でなくても６ｎ大きな量子化パラメータＱＰを優先して採用する。これにより画像処理装置１は、6nずれた量子化パラメータQPが前回の符号化に使用された量子化パラメータQPとして誤検出されることを抑制し得るようになされている。
【００９６】
さらに画像処理装置１は、当該検出された複数の剰余ｒの総和（Σｒ）が6n周期でなるか否かを確認し偶発的に存在する極小値が前回の符号化に使用された量子化パラメータQPとして誤検出されることを抑制し得るようになされている。
【００９７】
(v)  演算量の削減方法
本発明の画像処理装置１では、種々の量子化パラメータQPに関して前述したようにリスケーリングファクターRFを計算し、剰余rから算出される評価値Yを用いて前回の符号化で使われた量子化パラメータQPを検出する。従って、採り得る量子化パラメータQPの数が多い程、演算、評価も処理量が多くなる。この問題を避けるために、前回符号化に使われた量子化パラメータQPの大体の値が既知の場合は、その周辺の量子化パラメータQPのみで評価すれば十分とし、演算量を削減している。
【００９８】
なおこの量子化パラメータQPは、例えば第３の実施の形態における量子化係数による原画判定処理において算出することができる。また入力画像データのアクティビティなどから推測することもできる。
【００９９】
(vi)  その他、以下の条件も考慮する。
【０１００】
画面内予測モードが前回の符号化の時と異なっていても、上記(iv)の6n入れ替えを行うと、検出率は維持できる。また、量子化パラメータQPの大体の値が既知である場合にも同様である。これは、予測モードを前回の符号化時と異なるモードに変えたときに生じる問題に着目したものであるが、予測モードが前回の符号化時と異なっていても、この実施の形態では対応可能とする。
【０１０１】
量子化行列Qmatrixは予めいくつかのパターンが定義されているものとする（例えばID番号などで識別できるものとする）。
【０１０２】
すなわち画像処理装置１では、量子化行列Qmatrixが変化することによりリスケーリングファクターRFも変化するため、量子化パラメータQPに加えて量子化行列Qmatrixをも検出する必要がある。
【０１０３】
画像処理装置１では、マクロブロック単位で量子化行列Qmatrixと量子化パラメータQPの組み合わせを変えて、各量子化行列Qmatrixと量子化パラメータQPごとにリスケーリングファクターRFを計算する。尚、先に図４で前述したように、剰余rの最小値は、量子化パラメータQPに関して6nの周期を有しており、量子化パラメータQPが6nずれていても、量子化行列Qmatrixさえ検出できれば良い。このため画像処理装置１では、前回の符号化で使われた量子化パラメータQPの大体の値が分かっていれば、該QPの値を含んだ連続した6個の量子化パラメータQPで評価すれば十分であるものとする。
【０１０４】
以上を考慮して、本発明の画像処理装置１では、上記特徴的な視点をふまえて、先ず前回使用した量子化行列Qmatrixを検出する量子化行列検出処理を実行した後、該量子化行列Qmatrixを用いて量子化パラメータQPを検出する量子化パラメータ検出処理を実行する。
【０１０５】
（１−２−２）画面内予測モードの検出
AVCのイントラ(画面内符号化)フレームでは、ダビングにおいて前回の符号化で使用された画面内予測モードを再利用することは画質低下を防ぐために有効な手段である。そこで、画面内予測モード検出処理では、入力画像データのみを利用し、その剰余ｒを用いて算術的に前回の符号化で使われた画面内予測モードを検出することを特徴とする。
【０１０６】
量子化行列検出処理及び量子化パラメータ検出処理において、前述したように、AVC Intraでは、復号の際に、量子化レベルZに量子化行列Qmatrixと量子化パラメータQPの関数であるリスケーリングファクターRFが乗算されてDCT係数Wを6bit左シフトしたものが復号される。画面内予測モードが変わった場合はDCT係数の分布が変わるので、剰余rが0である確率は低くなる。
【０１０７】
すなわち、図９に示すように、上述した量子化行列検出処理及び量子化パラメータ検出処理はマクロブロックMBごと（１６×１６画素）単位で実行される。これに対して画面予測は、例えば４×４画素のサブマクロブロックによるイントラ符号化単位IAで実行される。すなわち、マクロブロックMBには４×４＝１６のイントラ符号化単位IAが含まれることになる。
【０１０８】
画像処理装置１では、予め符号量が最小となる画面内予測モードを検出すると共に、当該検出された画面内予測モードにおいて上述した量子化行列検出処理及び量子化パラメータ検出処理を実行する。このとき、検出された画面内予測モードが前回符号化された画面内予測モードとは限らないものの、発生符号量が最小となる画面内予測モードを用いているため、１６のイントラ符号化単位IAのうち、多数は前回符号化された画面内予測モードであることが想定される。
【０１０９】
この場合、画像処理装置１は、上述したようにマクロブロックごとに剰余ｒの総和（Σｒ）を用いて極小値を検出する。このため画像処理装置１は、１６のイントラ符号化単位IAにおいて、前回使用したものとは異なる画面内予測モードが混ざっていたとしても、多数の前回符号化された画面内予測モードに基づいて、量子化行列Qmatrix及び量子化パラメータQPを適切に検出することができる。
【０１１０】
従って画像処理装置１は、量子化行列Qmatrix及び量子化パラメータQPを検出した後に、当該量子化行列Qmatrix及び量子化パラメータQPを用いて、イントラ符号化単位IAごとに画面内予測モードを変えて剰余ｒの総和（Σｒ）を用いて極小値を検出する。これにより画像処理装置１は、マクロブロックMBにおける全てのイントラ符号化単位IAについて、前回符号化された画面内予測モードを検出することが可能となる。
【０１１１】
すなわち画面内予測モード検出処理では、量子化行列検出処理及び量子化パラメータ検出処理で前述した考え方等に基づき前回の符号化で使われた量子化行列と量子化パラメータが既知の場合、9個の画面内予測モードのそれぞれのDCT係数を6ビットシフトした(W<<6)をリスケーリングファクターRFで割っていくことにより、剰余rが最小となる画面内予測モードを検出する。
【０１１２】
以上に加えて、画像処理装置１では、検出精度を向上させる為に、MPEGでは考慮されなかった、AVC Intra特有の性質に起因する以下の点を考慮する。即ち、この画面内予測モード検出処理おいては、量子化行列検出処理及び量子化パラメータ検出処理で前述した(i)、(ii)に加えて、以下の(vii)を考慮する。
【０１１３】
(vii)  DCT係数の分布
画面内予測モードが異なると、差分の値も変わり、結果としてDCT係数の分布が異なる。したがって、一般的にはサブマクロブロック内の剰余rの総和を0でないDCT係数の個数で除算し、１サンプルあたりの剰余で比較するのが公平であると考えられる。
【０１１４】
しかしながら、実際には、前回の符号化で使われた予測モードが選ばれると、予測が高い精度で当たるために、0でないDCT係数の個数が少なくなり、前回の予測と方向的にずれたモードであるほど、0でないDCT係数の個数も増加する傾向にある。
【０１１５】
従って、画面内予測モード検出処理では、剰余rの総和に対し、0でないDCT係数の個数で除算せず、0でないDCT係数の個数を乗算した。これにより、前回の予測と方向的にずれたモードの剰余rの総和に数値的なペナルティを与えることができると考えられる。
【０１１６】
剰余rの総和に0でないDCT係数の個数を乗算したものを評価値Yとし、各予測モード間で、この評価値Yを比較して、評価値Yが最小の予測モードを前回の符号化で使われた予測モードと考える。
【０１１７】
本発明の画像処理装置１における予測モード検出部５では、上記特徴的な視点(vii)をふまえて、最適な予測モードを決定する。
【０１１８】
（２）第１の実施の形態
（２−１）符号化装置の構成
以下、図７には本発明の第１の実施の形態に係る符号化装置１０の構成を示し説明する。なお符号化装置１０は、図１における画像処理装置１に対応するものである。またバックサーチ部３０はバックサーチ部３に、パラメータエンコーダ５０は第２の符号化部４に、予測モード検出部３３は予測モード検出部５に、Qmatrix検出部３１はQmatrix検出部６に、ＱＰ検出部３２はQP検出部７にそれぞれ対応するものである。
【０１１９】
図７に示されるように、符号化装置１０は、１パス(pass)目のプレエンコーダ２０とバックサーチ部３０、２パス(pass)目のパラメータエンコーダ５０、符号量制御部４０、Qmatrix/QP決定部４１、画面内予測モード決定部４５を備えている。より詳細には、１パス目のプレエンコーダ２０は、更に画面内予測モード判定部２１、整数精度DCT部２２、量子化部２３、エントロピー計算部２４からなる。バックサーチ部３０は、更にQmatrix検出部３１、ＱＰ検出部３２、画面内予測モード検出部３３からなる。そして、２パス目のパラメータエンコーダ５０は、画面内予測処理部５１、整数精度DCT部５２、量子化部５３、エントロピー符号化部５４からなる。尚、ここでは、２パス符号化を採用することを想定しているが、それ以上のマルチパス（multi-pass）符号化であっても基本的な考え方は同じである。
【０１２０】
ここで、Qmatrix検出部３１の詳細な構成例を図８（ａ）に示している。またＱＰ検出部３２の詳細な構成例を図８（ｂ）に示している。
【０１２１】
図８（ａ）に示すように、Qmatrix検出部３１は、剰余計算部３１ａ、評価値判定部３１ｂ、Qmatrix判定部３１ｃからなる。そして、図８（ｂ）に示すように、ＱＰ検出部３２は、剰余計算部３２ａ、評価値判定部３２ｂ、QP判定部３２ｃからなる。
【０１２２】
このような構成において、入力画像は１パス目のプレエンコーダ２０に入力される。
【０１２３】
より詳細には、入力画像は画面内予測モード判定部２１に入力される。この画面内予測モード判定部２１は、９つの画面内予測モードから最適な画面内予測モードを決定すると共に、入力画像が周辺画素を用いた予測画像からの差分画像データを生成し、整数精度DCT部２２に入力する。
【０１２４】
整数精度DCT部２２は、離散余弦変換による直行変換により差分画像データからDCT係数Wを生成し、量子化部２３及びバックサーチ部３に供給する。
【０１２５】
量子化部２３ではDCT係数Wが入力されると、当該DCT係数を量子化し、量子化データを生成する。この量子化により量子化部２３より出力された量子化レベルZは、エントロピー計算部２４に送られる。
【０１２６】
エントロピー計算部２４は、入力された量子化レベルZをバイナライズ、算術符号化して符号化ストリームを生成し、符号量制御部４０に供給する。符号量制御部４０は、当該符号化ストリームの発生符号量に基づいてパラメータエンコーダ５０に対する符号量制御を実行する場合の量子化行列Qmatrix及び量子化パラメータQPを見積り、これをQmatrix/QP決定部４１に送出する。
【０１２７】
一方、スライス単位で整数精度DCT部２２よりバックサーチ部３０に送られたDCT係数Wは、Qmatrix検出部３１に入力される。Qmatrix検出部３１は、剰余計算部３１ａによってDCT係数Wを種々の量子化行列QmatrixによるリスケーリングファクターRFによって除算し、評価値判定部３１ｂに供給する。評価値判定部３１ｂは、剰余rを剰余rを(iii)で前述した考え方に従って評価値Yに変換し、Qmatrix判定部３１ｃに送出する。Qmatrix判定部３１ｃは、種々の量子化行列Qmatrixについての評価値Yを比較し、評価値Yが最小である量子化行列Qmatrixを前回使われた量子化行列Qmatrixとして出力する。尚、Qmatrix検出部３１による量子化行列検出処理手順の詳細については後述する。
【０１２８】
このとき検出された量子化行列QmatrixはＱＰ検出部３２に送られる。剰余計算部３２ａは、DCT係数Wを種々の量子化パラメータQPによるリスケーリングファクターRFによって除算し、評価値判定部３２ｂに供給する。評価値判定部３２ｂは、評価値Qmatrix検出部３１によって検出された量子化行列Qmatrixを用い、剰余rを(iii)で前述した考え方に従って評価値Yに変換し、QP判定部３２ｃに送出する。QP判定部３２ｃは、種々の量子化パラメータQPについての評価値Yを比較し、評価値Yが最小である量子化パラメータQ Pを前回使われた量子化パラメータQ Pとして出力する。尚、ＱＰ検出部３２による量子化パラメータ検出処理手順の詳細については後述する。
【０１２９】
この検出された前回の量子化パラメータQPと量子化行列Qmatrixは、Qmatrix/QP決定部４１に送られる。Qmatrix/QP決定部４１では、量子化行列Qmatrixと量子化パラメータQPに関して、１パス目のプレエンコーダ２０で見積もられたものを採用するのか、バックサーチ部３０で検出されたものを使うかを決定する。通常、入力画像データが一度も符号化されていない原画像である場合には、前回の符号化がないためバックサーチは失敗し、１パス目のプレエンコーダ２０による符号化処理により見積もられたものを採用する。逆に入力画像が既に符号化されたことのある非原画である場合には、量子化歪が繰り返し乗ることを避ける為、バックサーチ部３０によって検出されたものを採用する。
【０１３０】
また、バックサーチ部３０によって検出された前回の符号化に使用された量子化パラメータQPと量子化行列Qmatrixは、画面内予測モード検出部３３にも送られる。画面内予測モード検出部３３は、量子化パラメータQPと量子化行列Qmatrixを用いることにより、上述した画面内予測モード検出処理により前回の画面内予測モードを検出する。尚、この画面内予測モード検出部３３による画面内予測モード検出処理手順の詳細については後述する。この前回の予測モードは画面内予測モード決定部４５に送出される。画面内予測モード決定部４５では、１パス符号化で差分絶対値和SADが最小となる第１予測モードを採用するか、画面内予測モード検出部３３により検出された前回の予測モードを採用するかを決定する。
【０１３１】
即ち、画面内予測モード検出部３３は、量子化パラメータQPと量子化行列Qmatrixに基づいて、前回の予測モードを検出する。この前回の予測モードは画面内予測モード決定部４５に送出される。画面内予測モード決定部４５では、１パス符号化で差分絶対値和SADが最小となる第１予測モードを採用するか、画面内予測モード検出部３３により検出された前回の予測モードを採用するかを決定する。
【０１３２】
すなわち、入力画像データが一度も符号化されていない原画像である場合には、前回の符号化がないため画面内予測モードの検出（バックサーチ）は失敗し、画面内予測モード判定部２１により見積もられたものを採用する。逆に入力画像が既に符号化されたことのある非原画である場合には、量子化歪が繰り返し乗ることを避ける為、画面内予測モード検出部３３によって検出されたものを採用する。
【０１３３】
２パス目のパラメータエンコーダ５０では、前述したようにQmatrix/QP決定部４１で決定された量子化行列Qmatrix、量子化パラメータQP、画面内予測モード決定部４５で決定された画面内予測モードを使って、入力画像を符号化し、符号化ストリーム（Stream）として出力する。
【０１３４】
より詳細には、画面内予測処理部５１では、最適な画面内予測モードとして画面内予測モード決定部４５で決定された画面内予測モードに選定し、周辺画素の予測画像を用いて入力画像から差分画像データを生成し、当該差分画像データを整数精度DCT部５２に入力する。整数精度DCT部５２では、離散コサイン変換による直行変換により差分画像データをDCT係数Wとして出力する。量子化部５３ではDCT係数Wを入力として、Qmatrix/QP決定部４１で決定された量子化行列Qmatrix、量子化パラメータQPを用いて量子化を行い、量子化レベルZをエントロピー符号化部５４に送出する。エントロピー符号化部５４では、入力された量子化レベルZをバイナライズ、算術符号化して符号化ストリームとして出力する。
【０１３５】
（２−２）処理手順
（２−２−１）量子化行列検出処理
以下、量子化行列検出処理手順ＲＴ１を示す図１０のフローチャートを参照して、本発明の第１の実施の形態に係る符号化装置１０のQmatrix検出部２５によるスライス単位でのQmatrix検出の処理について更に説明する。これは、同実施の形態に係る画像情報符号化方法にも相当する。
【０１３６】
なおこの図１０において、符号化装置１０は、各ＤＣＴ係数の絶対値|Ｗ|が規格化閾値以下（すなわち|Ｗ|＜＜７がＲＦ以下）である場合にのみ、剰余ｒをリスケーリングファクターＲＦによって規格化することにより評価値Ｙを算出し、ＤＣＴ係数の絶対値|Ｗ|が規格化閾値より大きい場合には、剰余ｒを評価値Ｙとする。そして符号化装置１０は、評価値Ｙが最小となるリスケーリングファクターＲＦに基づいて量子化行列Ｑmatrixを検出するようになされている。
【０１３７】
Qmatrix検出部３１は、整数精度DCT部２１で求められたDCT係数Wの絶対値|W|を入力として、前回の符号化で使われた可能性のある量子化行列Qmatrixと量子化パラメータQPの中から初期値を決める（ステップＳ１）。続いてQmatrix検出部３１は、マクロブロック単位で量子化行列Qmatrixと量子化パラメータQPの組み合わせを変えて、各量子化行列Qmatrixと量子化パラメータQPごとにリスケーリングファクターRFを計算する。このとき剰余計算部３１ａは、スライス内の各サンプルに対して|W|<<6を該リスケーリングファクターRFで割った剰余ｒを計算する（ステップＳ２）。尚、先に図４で前述したように、剰余rの最小値は、量子化パラメータQPに関して6nの周期を有しており、量子化パラメータQPが6nずれていても、この図１０の処理では量子化行列Qmatrixさえ検出できればいいので、前回の符号化で使われた量子化パラメータQPの大体の値が分かっていれば、該QPの値を含んだ連続した6個の量子化パラメータQPで評価すれば十分であるものとする。
【０１３８】
続いて、評価値判定部３１ｂは、|W|<<7＞RFであるか否かを判定し、該関係が成立する場合には、剰余ｒをリスケーリングファクターRFで規格化（スケーリング）したものを評価値Yとする（ステップＳ４）。一方評価値判定部３１ｂは、該関係が成立しない場合には、|W|<<6を評価値Yとする（ステップＳ５）。このように、評価値判定部２５ｂは、マクロブロック内の256(=16x16)サンプルに関して、シフトされたDCT係数(W<<6)をリスケーリングファクターRFで割った剰余rに上記 (iii)の規格化と補正を施したものを評価値Yとし、該評価値Yの総和を量子化行列Qmatrixと量子化パラメータQP毎に計算する（ステップＳ６〜８）。
【０１３９】
こうして、可能性のある全ての量子化行列Qmatrix、６つの量子化パラメータQPについて評価値Yが計算されると（ステップＳ７をＹｅｓに分岐）、Qmatrix判定部３１ｃは、スライス単位で量子化行列Qmatrixと量子化パラメータQPごとの評価値Yの総和を比較し（ステップＳ９）、総和（ΣY）が最小となる量子化行列Qmatrixを検出し、前回使われた量子化行列Qmatrixであるものとし（ステップＳ１０）、該量子化行列QmatrixのＩＤ番号を出力する。
【０１４０】
なお符号化装置１０は、例えばステップＳ２の前段において剰余ｒに対してＤＣＴ係数の絶対値|Ｗ|を乗算して重み付けした乗算値を算出し、当該乗算値をリスケーリングファクターＲＦによって規格化し、評価値Ｙとしても良い。この場合、符号化装置１０は、各ＤＣＴ係数の絶対値|Ｗ|が大きい領域であっても、当該領域の評価値Ｙを大きくして誤検出を防止し得るため、重み付けによって当該規格化した値を一律に評価値Ｙとすることができる。
【０１４１】
また符号化装置１０は、例えば剰余ｒをそのまま評価値Ｙとして極小値を検出し、複数の極小値が検出された場合には、量子化パラメータQPにおける極小値の周期が６ｎであることを確認した上で、大きい値でなる量子化パラメータQPを前回の符号化に使用された量子化パラメータQPとして検出することも可能である。
【０１４２】
（２−２−２）量子化パラメータ検出処理
次に、量子化パラメータ検出処理手順ＲＴ２を示す図１１のフローチャートを参照して、本発明の第１の実施の形態に係る符号化装置１０のＱＰ検出部３２によるマクロブロック単位での量子化パラメータQP検出の処理について更に説明する。これは、同実施の形態に係る画像情報符号化方法にも相当する。
【０１４３】
なおこの図１１において、符号化装置１０は、各ＤＣＴ係数の絶対値|Ｗ|が規格化閾値以下（すなわち|Ｗ|＜＜７がＲＦ以下）である場合にのみ、剰余ｒをリスケーリングファクターＲＦによって規格化することにより評価値Ｙを算出し、ＤＣＴ係数の絶対値|Ｗ|が規格化閾値より大きい場合には、剰余ｒを評価値Ｙとする。そして符号化装置１０は、評価値Ｙが最小となるリスケーリングファクターＲＦに基づいて量子化パラメータQPを検出するようになされている。
【０１４４】
ＱＰ検出部３２は、整数精度DCT部２２で求められたDCT係数Wの絶対値|W|を入力として、で検出された量子化行列Qmatrixを用いて、マクロブロック単位で種々の量子化パラメータQPごとにリスケーリングファクターRFを計算する。ＱＰ検出部３２は、この時点で前回使われた量子化パラメータQPの大体の値が分かっている場合は、その周辺のQPのみを検出対象とすることで演算量を減らすことができる。ＱＰ検出部３２は、前回の符号化で使われた可能性のある量子化パラメータQPの中から初期値を求めると（ステップＳ２１）、マクロブロック内の全てのDCT係数の絶対値|W|が0であるか否かを判断する（ステップＳ２２）。そしてＱＰ検出部３２は、全てのDCT係数の絶対値|W|が0である場合には量子化パラメータQPは検出不可能とする(ステップＳ２３)。即ちＱＰ検出部３２は、マクロブロック内のすべてのDCT係数の絶対値|W|が0の場合はどの量子化パラメータQPで割っても剰余rは0となるので量子化パラメータQPは検出できない為、検出除外する。
【０１４５】
一方、ステップＳ２２にて、全てのDCT係数の絶対値|W|が0でない場合には、ＱＰ検出部３２の剰余計算部３２ａは、マクロブロック内の256(=16x16)の各サンプルに対してシフトされたDCT係数（|W|<<6）を（９）式に従ってに求めたリスケーリングファクターRFで割った剰余ｒを計算する（ステップＳ２４）。
【０１４６】
続いて、評価値判定部３２ｂは、（|W|<<7）>RFであるか否かを判定し（ステップＳ２５）、（|W|<<7）>RFである場合には、剰余ｒをリスケーリングファクターRFで規格化したものを評価値Yとし（ステップＳ２６）、（|W|<<7）>RFでない場合には（|W|<<6）を評価値Yとする（ステップＳ２７）。即ち評価値判定部３２ｂは、マクロブロック内の256(=16x16)サンプルに関して、シフトされたDCT係数(W<<6)をRFで割った剰余に(iii)で述べた規格化と補正を行ったものを評価値Yとし、その総和（ΣY）を量子化パラメータQPごとに計算する（ステップＳ２８）。
【０１４７】
次いで、評価値判定部３２ｂは、可能性のある全ての量子化パラメータQPに関して評価値Yが計算されているか否かを判断し（ステップＳ２９）、全ての量子化パラメータQPに関して評価値Yが計算されていない場合には、量子化パラメータQPを変更し（ステップＳ３０）、ステップＳ２６、Ｓ２８、Ｓ２９の処理を繰り返す。
【０１４８】
こうして、可能性のある全ての量子化パラメータQPについて評価値Yが計算されると（ステップＳ２９をYesに分岐）、QP判定部３２ｃは、マクロブロック単位でQP毎の評価値Yの総和（ΣY）を比較し（ステップＳ３１）、総和が最小となる量子化パラメータQPを前回使用された量子化パラメータQPとし（ステップＳ３２）、当該量子化パラメータQPの値を出力することになる。
【０１４９】
このとき、量子化パラメータQPが６未満となる領域は誤検出の可能性が高くなるので除外する。それは、例えば200Mbps以下の実用領域では6未満の量子化パラメータQPが使われることはほとんどなく、除外した方が検出率が高くなるからである。
【０１５０】
以上説明したように、本発明の第１の実施の形態の符号化装置１０は、Qmatrix検出部３１により、符号化の過程で得られるDCT係数から前回の符号化で使われたQmatrixをスライスごとに剰余ｒを用いて高い確率で検出することができる。更に符号化装置１０は、ＱＰ検出部３２により、符号化の過程で得られるDCT係数から前回の符号化で使われたQPをマクロブロックごとに剰余ｒを用いて高い確率で検出することができる。そして、符号化装置１０は、これら検出された量子化行列Qmatrixと量子化パラメータQPを再利用することでダビング時の丸め誤差を低減し、ダビング特性を向上することができる。また符号化装置１０は、変換行列Dを導入することで、符号化と復号化におけるDCT係数を等価に扱うことが可能となる。さらに符号化装置１０は、剰余ｒをDCT係数Wで重み付けし、リスケーリングファクターRFで規格化することで検出精度を高めることができる。
【０１５１】
また符号化装置１０は、AVCから導入された量子化パラメータのQPの6nの周期性を考慮し、剰余ｒが最小値をと量子化パラメータQPより、6n大きいQPに剰余ｒの極小値がある場合は、最小値でなくてもその量子化パラメータQPを前回の符号化で使われた量子化パラメータQPとする。そして符号化装置１０は、前回の符号化で使われた量子化パラメータのQPのおおよその値が既知の場合、該値から±nだけ量子化パラメータQPを変化させて評価することで、演算量を減らすことができる。
【０１５２】
（２−２−３）画面内予測モード検出処理
以下、画面内予測モード検出処理手順ＲＴ３を示す図１２のフローチャートを参照して、本発明の第２の実施の形態に係る符号化装置１０の画面内予測モード検出部３３による予測モード検出の処理について更に説明する。これは、同実施の形態に係る画像情報符号化方法にも相当する。
【０１５３】
先ず画面内予測モード検出部３３は、予測画像からの差分絶対値和（すなわち差分画像データの絶対値の総和）が最も小さい画面内予測モードを初期値とする（ステップＳ５１）。続いて画面内予測モード検出部３３は、予測画像からの差分画像データ分に対してDCT処理を行う（ステップＳ５２）。画面内予測モード検出部３３は4×4のサブマクロブロック内の各サンプルに対してDCT係数Wの絶対値|W|を６ビットシフトした（|W|<<6）をRFで割った剰余ｒを計算する（ステップＳ５３）。
【０１５４】
そして画面内予測モード検出部３３は、剰余ｒの総和にDCT係数の偶数を掛けたものを評価値Yとする（ステップＳ５６）。
【０１５５】
続いて画面内予測モード検出部３３は、画面ない可能性のある全ての画面内予測モードに関してYが計算されたか否かを判定し（ステップＳ５７）、評価値Yが計算されていなければ次に差分絶対値和SADが小さい予測モードに切り替え（ステップＳ５８）、ステップＳ５２〜Ｓ５７の処理を繰り返す。そして画面内予測モード検出部３３は、可能性のある全ての画面内予測モードに関してYが計算されたものと判定すると（ステップＳ５７をYesに分岐）、各画面内予測モード間で評価値Yを比較し（ステップＳ５９）、評価値Yが最小である画面内予測モードを前回使われた予測モードとし（ステップＳ６０）、処理を終了する。
【０１５６】
以上説明したように、本発明の第１の実施の形態の符号化装置１０は、前回の符号化で使われた画面内予測モードを入力画像から算術的に検出することにより、AVCイントラフレームのダビング時に繰り返し量子化歪が発生することを抑制することができる。これにより符号化装置１０は、ダビング時のSN比と視覚特性の低下を改善することができる。
【０１５７】
さらに符号化装置１０は、画面内予測モード間で、サブマクロブロック内の予測画像からの差分絶対値和SADを比較する際に、該差分絶対値和SADの小さい物から順に比較するが、これは、前回の符号化で使われた確率の高い画面内予測モードから比較していくことと等価であり、例えば差分絶対値和SADの小さい画面内予測モードから順に所定数（例えば3つ）のモードのみを比較することで演算量を軽減することが可能となる。また符号化装置１０は、変換行列Dの導入により、符号化と復号化におけるDCT係数を等価に扱うことが可能となる。
【０１５８】
以上のほか、符号化装置１０は、前回の符号化の画面内予測のアルゴリズムによらず検出できるので、一回目の符号化で視覚特性を考慮した画面内予測方法を用いてもダビング時には本アルゴリズムを利用可能である。
【０１５９】
以上、本発明の実施の形態について説明したが、本発明はこれに限定されることなくその趣旨を逸脱しない範囲で種々の改良・変更が可能であることは勿論である。
【０１６０】
例えば、前述した第１及び第２の実施の形態に係る画像情報符号化処理装置及び方法は、コンピュータにより実行されるプログラム、及び該プログラムを格納した記録媒体としても実施可能であることは勿論であり、その場合も、前述した作用効果が奏される。
【０１６１】
（２−３）動作及び効果
以上の構成において、符号化装置１０は、画像データとしての入力画像データに基づく差分画像データ対し直交変換としてのDCT処理を実行して変換係数としてのDCT係数を生成する。このとき符号化装置１０は、AVC規格上、逆直交変換である逆DCT処理との関係において、（５）式に示したように、当該DCT係数を構成する係数要素の値を、複数のスケールでなる変換行列D（（８）式）だけスケール変動させるようになされている。
【０１６２】
符号化装置１０は、復号化の際に使用される可能性のある複数の量子化因子に基づいて算出される復号ファクターである復号リスケーリングファクターRFｒに対してスケール変動である変換行列Dだけを乗算することにより、複数の除算ファクターであるリスケーリングファクターRFを算出する。さらに符号化装置１０は、DCT係数における係数要素を複数のリスケーリングファクターRFによって除算したときの剰余ｒに基づく評価値Yの総和（ΣY）を、検出単位毎に算出する。
【０１６３】
そして符号化装置１０は、複数のリスケーリングファクターRFに対する評価値Yの総和（ΣY）との関係を比較し、評価値Yの総和（ΣY）が極小値をとるリスケーリングファクターRFに基づいて、差分画像データが前回符号化されたときに使用された量子化因子を検出するようにした。
【０１６４】
これにより符号化装置１０は、DCT係数をリスケーリングファクターRFで除算する際、DCT係数を変換行列Dによって除算してDCT処理によるスケールアップを相殺することができるため、剰余ｒの値が行列の位置による複数の値によってスケールアップされてしまうことを防止することができる。
【０１６５】
この結果符号化装置１０は、各剰余ｒを単純比較することができるため、当該剰余ｒに基づく評価値Yの総和（ΣY）の極小値を検出することにより、差分画像データが前回符号化されたときに使用された量子化因子を検出することが可能となる。
【０１６６】
これにより符号化装置１０は、前回符号化されたときに使用された量子化因子を用いて符号化を実行することができるため、ダビング時の量子化丸めによる差分画像データの画質劣化を抑制することができる。
【０１６７】
符号化装置１０は、量子化因子として量子化単位であるマクロブロックごとに設定される量子化パラメータQPを検出する。この場合、符号化装置１０は、検出単位をマクロブロックに設定することになる。
【０１６８】
符号化装置１０は、量子化因子として、符号化単位であるスライスごとに設定され、DCT係数の係数要素ごとの値が定められている量子化行列Qmatrixを検出する。この場合、符号化装置１０は、検出単位をスライスに設定することになる。
【０１６９】
符号化装置１０は、画面内符号化単位であるイントラ符号化単位IA（例えば４×４画素のサブマクロブロック）ごとに設定され、予め定められた複数の画面内符号化方式によって入力画像データを符号化し、複数の差分画像データを生成する。複数の差分画像データのうち、検出された量子化パラメータQP及び量子化行列Qmatrixを用いたときの評価値Yの総和（ΣY）に基づいて、入力画像データが前回符号化されたときに使用された一の画面内符号化方式を検出する。この場合、符号化装置１０は、検出単位をスライスに設定することになる。
【０１７０】
上述したように、量子化パラメータQPは、その値が「６」増加するごとに、リスケーリングファクターRFが２倍になるパラメータ周期を有している。このため評価値Yの総和（ΣY）では、前回符号化に使用された量子化パラメータQPよりも６ｎだけ小さい量子化パラメータQPにおいて、評価値Yの総和（ΣY）から極小値を有する可能性がある。
【０１７１】
このとき評価値Yの総和（ΣY）では、量子化パラメータQPが小さい程評価値Yの総和（ΣY）も小さくなる傾向にある。符号化装置１０は、剰余ｒをリスケーリングファクターRFによって除算した除算値を評価値Yとすることにより、前回符号化に使用された量子化パラメータQPについての値を最小値にすることができる。
【０１７２】
また符号化装置１０は、複数の極小値を検出した場合には、評価値Yが最小となるリスケーリングファクターRFに基づいて、差分画像データが前回符号化されたときに使用された量子化因子を検出する。
【０１７３】
この結果符号化装置１０は、前回符号化に使用された量子化パラメータQPを検出することができ、当該検出のための処理を簡易にすることができる。
【０１７４】
また符号化装置１０は、係数要素の絶対値であるDCT係数の絶対値|W|が規格化閾値未満である場合には、剰余ｒをリスケーリングファクターRFによって除算した除算値を評価値Yとし、DCT係数の絶対値|W|が規格化閾値以上である場合には、剰余ｒを評価値Yとする。
【０１７５】
これにより符号化装置１０は、リスケーリングファクターRFが非常に大きい領域におけるリスケーリングファクターRFによる規格化により、評価値Yの総和（ΣY）が不当に小さくなることを防止し得、前回符号化に使用された量子化パラメータQPの誤検出を防止できる。
【０１７６】
さらに符号化装置１０は、剰余ｒに対して係数要素を乗算して乗算値を算出し、当該乗算値をリスケーリングファクターRFによって除算した除算値を評価値Yとする。
【０１７７】
これにより符号化装置１０は、DCT係数によって評価値Yを重み付けできるため、リスケーリングファクターRFが非常に大きい領域におけるリスケーリングファクターRFによる規格化により、評価値Yの総和（ΣY）が不当に小さくなることを防止し得、前回符号化に使用された量子化パラメータQPの誤検出を防止できる。
【０１７８】
さらに符号化装置１０は、複数の極小値を検出した場合には、極小値を検出したときのリスケーリングファクターRFが、量子化パラメータQPに起因するパラメータ周期によって検出されたか否かを確認する。そして符号化装置１０は、当該パラメータ周期であると判別すると、大きい値でなるリスケーリングファクターRFに基づいて、差分画像データが前回符号化されたときに使用された量子化因子を検出する。
【０１７９】
これにより符号化装置１０は、剰余ｒをそのまま評価値Yとして用いることができ、規格化や重み付けなどの処理が不要となるため、評価値Yを算出する演算処理を省略することができる。
【０１８０】
また符号化装置１０は、復号化の際に使用される可能性のある複数の復号リスケーリングファクターを検索範囲として特定する。これのより符号化装置１０は、全ての復号リスケーリングファクター（すなわち全ての量子化パラメータQP及び量子化行列Qmatrix）について評価値Yの総和（ΣY）を算出しなくて済み、バックサーチ処理の負荷を軽減することができる。
【０１８１】
さらに符号化装置１０は、量子化パラメータQPと量子化行列Qmatrixとに基づいてリスケーリングファクターを算出する。符号化装置１０は、量子化パラメータQPに起因するパラメータ周期の１周期分（すなわち「６」）に亘って複数のリスケーリングファクターに対する評価値Yの総和（ΣY）との関係を比較することにより、差分画像データが前回符号化されたときに使用された量子化行列Qmatrixを検出する。
【０１８２】
これにより符号化装置１０は、全ての量子化パラメータQPについて処理をする必要がなく、処理負荷を格段に軽減することができる。
【０１８３】
また符号化装置１０は、検出された量子化行列Qmatrixを用い、リスケーリングファクターRFにおける量子化パラメータQPの値を変動させることにより算出された評価値Yの総和（ΣY）に基づいて量子化パラメータQPを検出する。
【０１８４】
これにより符号化装置１０は、後は量子化パラメータQPのみを検出すれば良いため、処理対象となるリスケーリングファクターRFの数を減少させることができ、処理負荷を軽減することができる。
【０１８５】
さらに符号化装置１０は、複数の画面内予測モードによって生成された複数の差分画像データについて、検出された量子化行列Qmatrixと量子化パラメータQPを用いたリスケーリングファクターRFから算出された評価値Yの総和（ΣY）をそれぞれ算出する。そして符号化装置１０は、複数の差分画像データのうち、評価値Yの総和（ΣY）から極小値が検出された差分画像データに対応する画面内予測モードを前回符号化された画面内予測モードとして検出する。
【０１８６】
これにより符号化装置１０は、処理対象となる画面内予測モードの数だけ処理を実行すれば良いため、少ない処理で画面内予測モードとして検出できる。
【０１８７】
以上の構成によれば、符号化装置１０は、DCT係数を復号リスケーリングファクターRFｒに対して変換行列Dを乗算したリスケーリングファクターRFによって除算することにより算出された剰余に基づいて量子化パラメータQPを検出するようにした。
【０１８８】
これにより符号化装置１０は、DCT処理と逆DCT処理との関係においてスケール変動が生じるような場合であっても、剰余ｒの値がスケール変動されることを防止でき、剰余ｒの比較によって量子化パラメータQPを適切に検出してバックサーチの検出精度を向上することができる。
【０１８９】
かくして本発明は、符号化による画質低下を抑制し得る画像処理装置及び画像処理方法を実現できる。
【０１９０】
（２−４）他の実施の形態
なお上述した第１の実施の形態においては、AVC規格に準拠して処理が実行されるようにした場合について述べた。本発明はこれに限らず、いかなる規格に準拠して処理が実行されるようにしても良い。要は直交変換と逆直交変換との関係において係数要素の値を複数のスケールでスケール変動させるような全ての方式に対して本発明を適用することができる。また本発明は、直交変換に限らず、符号化と当該符号化に対応する復号化との関係において同様のスケール変動を生じさせる場合においても同様の効果を奏することができる。
【０１９１】
また上述した第１の実施の形態においては、直交変換としてDCT処理を実行するようにした場合について述べた。本発明はこれに限らず、例えばウェーブレット変換など、他の直交変換を用いても良い。またDCT変換として、小数部分の演算をも行うDCT変換であっても良い。
【０１９２】
さらに上述した第１の実施の形態においては、４×４ＤＣＴ処理に本発明を適用するようにした場合について述べた。本発明はこれに限らず、例えば８×８ＤＣＴ処理や１６×１６ＤＣＴ処理に適用しても良い。この場合であっても、（５）式にそれぞれの処理に応じた変換行列Ａ及びＣをそれぞれ代入することにより、変動スケールを表す変換行列Ｄを算出することができる。
【０１９３】
さらに上述した第１の実施の形態においては、量子化行列Qmatrixがスライス単位ごとに設定されるようにした場合について述べた。本発明はこれに限らず、例えばピクチャごとに設定されても良い。
【０１９４】
さらに上述した第１の実施の形態においては、量子化行列Qmatrix、量子化パラメータQP及び画面内符号化モードの順で前回符号化されたものを検出するようにした場合について述べた。本発明はこれに限らず、その順序に特に制限はない。また本発明は、例えば量子化行列Qmatrix、量子化パラメータQP及び画面内符号化モード全ての組み合わせについて総当たりで処理をしてから比較するようにしても良い。
【０１９５】
さらに上述した第１の実施の形態においては、直交変換部としての整数精度DCT部２２と、除算因子算出部及び総和算出部としての剰余計算部３２ａと、量子化因子検出部としての評価値判定部３２ｂ及びＱＰ判定部３２ｃとによって画像処理装置としての符号化装置１０を構成するようにした場合について述べた。本発明はこれに限らず、その他種々の公正でなる直交変換部と、除算因子算出部と、総和算出部と、量子化因子検出部とによって本発明の画像処理装置を構成しても良い。
【０１９６】
（３）第２の実施の形態
（３−１）本発明の原理
IntraフレームのみのAVC（AVC Intra）では、ダビング特性を向上させるために、符号化プロセスの中に上述した量子化行列検出処理及び量子化パラメータ検出処理を実行するためのダビング補償回路が導入されることがある。
【０１９７】
一般的に、ダビング補償回路は、入力画像の情報から前回の符号化で採用された量子化パラメータ等の検出を行うものである。このプロセスに先立ち、先ず、原画（即ち、一度も符号化されていない入力画）か否かを判定し、原画であれば補償回路をオフにするか補償回路で検出したパラメータを使わないように後段の符号化部に伝え、通常の符号量制御を行わなければならない。MPEGやAVCにおいて、原画かどうかを判定するためのアルゴリズムは従来も提案されているが、１フレームあたりの統計量を利用するものが多く、判定用部分だけで比較的大きな回路を必要とする。従って、製品開発においてはLSIの消費電力、チップサイズなどの面で不利になる場合があった。
【０１９８】
そこで、この第２の実施の形態では、バックサーチと呼ばれる補償回路の一部に原画判定部を導入し、入力画が原画であった場合の補償回路の誤適用を防止する。
【０１９９】
即ち、過去に提案したダビング補償回路であるバックサーチの中に原画判定部を組み込み、バックサーチを行う過程で得られるパラメータをカウントすることで原画かどうかを判定できるため、バックサーチと組み合わせて使用することで、特別大きな回路を追加することなく原画か否かを判定することを可能とする。具体的には、次のようになる。
（１）入力画の情報からDCT係数の剰余を用いて原画か否かを判定する。
（２）バックサーチの回路の中で検出される量子化パラメータQPの値から原画か否かを判定する。
【０２００】
以下、この第２の実施の形態において着目した特徴について説明する。
【０２０１】
前述したが、（１）式及び（２）式に示したように、AVC Intraでは復号の際に量子化レベルZに量子化行列Qmatrixと量子化パラメータQPの関数である復号リスケーリングファクタRFｒが乗算されてDCT係数Wを6bit左シフトしたものが復号される。
【０２０２】
従って、一度符号化、復号化された入力画から得られるDCT係数Wを6bit左シフトしたものは、前回使われた量子化行列Qmatrixと量子化パラメータQPにより構成された復号リスケーリングファクタRFで割り切れると考えることができる。尚、AVC
Intraでは符号化と復号化でDCTの整数部/非整数部の切り分け位置が異なるため、符号化と復号化でDCT係数を等価に扱うことができない。等価に扱うためには変換が必要であるが、その変換行列Dとしては（７）式で前述したものを、ここでも採用することができる。
【０２０３】
実際にはこの時点で前回使われた量子化パラメータQPは未知であるため、符号量制御部で求めたおおまかな量子化パラメータQPを中心に種々の量子化パラメータQPで構成されたリスケーリングファクターRFを用いてDCT係数の剰余ｒを求め、1マクロブロックあたりの合計をみると、少なくとも一度符号化、復号化された入力画（以下、"非原画"と表記）は、図１３の「非原画」のような傾向を示す。同図より、非原画では、前回使われた量子化パラメータQPに対して、剰余ｒの総和（Σｒ）に極小値が現れていることがわかる。
【０２０４】
理論上、DCT係数Wを6bit左シフトしたものを前回の符号化で使われた量子化パラメータQPで構成されたリスケーリングファクターRFで除算することにより理論上、剰余は0になる。しかしながら上述したように、実際のプロセスでは演算誤差の影響により、剰余は完全には0にならないことが多く、その場合は前回の符号化で使われた量子化パラメータQPは剰余の極小値をもつ。また、AVC Intraでは数式上、量子化パラメータQPが6小さくなると、RFが1/2倍になる特性がある。したがって、前回の符号化で使われた量子化パラメータQPより6n小さい量子化パラメータQPも剰余ｒの極小値をもつ。
【０２０５】
一方、一度も符号化、復号化されていない入力画(以下、"原画"と表記)では図１３の「原画」に示すとおり、上記のような極小値は発生しない傾向にある。
【０２０６】
図１３より、符号化、復号化を通っているかどうかにかかわらず、一般的に量子化パラメータQPが大きくなるほど剰余ｒも大きくなる傾向があるということがわかる。これは、統計的に除数(RF)が大きいほど、剰余も大きくなるという性質に起因している。
【０２０７】
ここで、剰余ｒの最小値に注目すると、非原画では極小値が現れるので、これが剰余ｒの最小値となるのに対し、原画では単調増加となるため量子化パラメータQPの検索範囲の中で最小の量子化パラメータQPが剰余ｒの最小値をもつ傾向にある。従って本発明では、量子化パラメータQPの検索範囲を十分に大きくとり、その中で最小の量子化パラメータQPが剰余ｒの最小値をもった回数（マクロブロック数）をカウントする。
【０２０８】
言い換えると本発明では、十分に大きく設定した量子化パラメータQPの検索範囲において、マクロブロックごとに剰余rの総和（Σｒ）（すなわち評価値Yの総和ΣY）を算出する。そして本発明では、剰余rの総和（Σｒ）の最小値をとる量子化パラメータQPが検索範囲の最小値である場合には、このマクロブロックが原画である可能性が存在すると判別し、当該マクロブロック数をカウントする。
【０２０９】
そして、1フレームあたりの合計が閾値を超えた場合は当該フレームが原画であると判別し、ダビング補償回路を使わずに通常の符号量制御を使うように後段の符号化部に伝える。量子化パラメータQPの検索精度にも依存するが、この実施の形態に関連して行った検証では80［％］を閾値（すなわちカウントされたマクロブロック数がフレーム全体のマクロブロック数の８０［％］より大きいときに原画と判別する）としたところ、検証用の25素材では200Mbpsの符号化において誤検出はなかった。
【０２１０】
このように本発明では、マクロブロックごとの剰余rの総和（Σｒ）における極小値の有無を検出することにより、適切に入力画像データが原画であるか非原画であるかを判別し得るようになされている。
【０２１１】
（３−２）符号化装置の構成
図１４には、本発明の第２の実施の形態に係る符号化装置１１の構成を示し説明する。その基本的な構成は、先に説明した第１の実施の形態と同様（図７）であるので、同一構成については同一符号を付し、重複した説明は省略する。また、前回の符号化で用いられた量子化行列Qmatrixと量子化パラメータQPの検出アルゴリズムに関しては第１の実施の形態で説明したとおりである。
【０２１２】
この図１４において、特徴的なのは、QP検出部３４が、原画判定部３４ａとQPカウント部３４ｂを更に備えている点である。原画判定部３４ａは、前述したような方法で原画/非原画の判定を行い、原画と判定された場合はsourceフラグを立てる。
【０２１３】
Qmatrix/QP決定部４１では、量子化行列Qmatrixと量子化パラメータQPに関して、sourceフラグの有無によりプレエンコーダ２０（1 pass）符号化部で見積もられたものを採用するか、バックサーチ部３０で検出されたものを使うかを決定する。画面内予測に関しても同様に、画面内予測モード決定部４５は、sourceフラグの有無により、プレエンコーダ２０（1 pass）で差分絶対値和SADが最小となる予測モードを採用するか、画面内予測モード検出部３３により検出された予測モードを採用するかを決定する。
【０２１４】
（３−３）バックサーチによる原画判定処理手順
以下、バックサーチによる原画判定処理手順ＲＴ４を示す図１５のフローチャートを参照して、本発明の第２の実施の形態に係る符号化装置１１のQP検出部３４によるマクロブロック単位での量子化パラメータQP検出の処理について更に説明する。これは、同実施の形態に係る画像情報符号化方法にも相当する。
【０２１５】
なお符号化装置１１は、量子化パラメータ検出処理ＲＴ２の代りにバックサーチによる原画判定処理手順ＲＴ４を実行し、前段に量子化行列検出処理ＲＴ１（図１０）及び後段に予測画像モード検出処理ＲＴ３（図１２）を実行するようになされている。
【０２１６】
符号化装置１１のQP検出部３４は、ステップＳ８０において、量子化パラメータ検出処理ＲＴ２のステップＳ２１〜ステップＳ３２までを実行すると、次のステップＳ８１へ移る。
【０２１７】
続いて、QP検出部３４は、QPカウント部３４ｂによる量子化パラメータQPのカウント処理を行う。即ちQPカウント部３４ｂは、検出された量子化パラメータQPが検出対象の量子化パラメータQPの中で最小量子化パラメータQPであるか否かを判断する（ステップＳ８１）。ここでQPカウント部３４ｂ最小の量子化パラメータQPであると判断した場合には、量子化パラメータQPの最小値のカウント値であるminQPCountをインクリメントしてステップＳ８３に進む（ステップＳ８２）。一方QPカウント部３４ｂは、検出された量子化パラメータQPが最小でないと判断した場合には、ステップＳ８３に進む。ステップＳ８３においてQPカウント部３４ｂは、量子化パラメータQPの総数のカウント値であるtotalQPCountをインクリメントする（ステップＳ８３）。
【０２１８】
次いで、QPカウント部３４ｂは、フレーム内の全てのMBに関して検出が完了しているか否かを判断し（ステップＳ８４）、検出が完了していないと判断した場合には、次のマクロブロックを特定し（ステップＳ８５）、ステップＳ３０１以降の処理を実行する。一方QPカウント部３４ｂは、検出が完了していると判断した場合には、原画判定部３４ａによる原画判定処理に移行する。
【０２１９】
即ち原画判定部３４ａは、最小の量子化パラメータQPのカウント値であるminQPCountと量子化パラメータQPの総数のカウント値であるtotalQPCountの割合が所定の割合（この例では８０％としている）より大きいか否かを判断する（ステップＳ８６）。ここで原画判定部３４ａは、totalQPCountの割合が所定の割合以下であると判断した場合には入力画を非原画として取り扱う（Sourceフラグを０に設定）（ステップＳ８７）。一方原画判定部３４ａは、totalQPCountの割合が所定の割合よりも大きいと判断した場合には入力画を原画として扱う（Sourceフラグを１に設定）（ステップＳ８８）。こうして原画判定部３４ａは、処理を終了する。
【０２２０】
以上説明した第２の実施の形態の符号化装置１１は、入力画像データからの情報のみを利用して、その入力画が原画か否かを高い確率で検出することができる。更に符号化装置１１は、検出結果を後段のパラメータエンコーダ５０に伝えることで、入力画像データが原画であった場合にダビング補償回路の誤適用を防ぎ、原画像を符号化した場合の画質向上につながる。そして符号化装置１１は、検出結果を後段のパラメータエンコーダ５０に伝えることで、入力画像データが非原画であった場合にダビング補償回路を有効にでき、非原画を符号化した場合の画質向上につながる。
【０２２１】
（３−４）動作及び効果
以上の構成によれば、符号化装置１１は、DCT係数を量子化して量子化データを生成し、量子化データに基づくストリームとしての符号化ストリームの発生符号量が目標符号量に近づくよう、マクロブロックごとに量子化パラメータQPを設定する。符号化装置１０は、入力画像データが原画であると判定された場合には、符号量制御部４０によって設定された量子化パラメータQPに基づいて入力画像データを量子化させる一方、入力画像データが非原画であると判定された場合には、バックサーチ部３０によって検出された量子化パラメータQPに基づいて入力画像データを量子化させる。
【０２２２】
これにより符号化装置１１は、入力画像データの原画／非原画に応じた適切な量子化パラメータQPを用いて量子化を実行することができ、符号化による画質の低下を抑制することができる。
【０２２３】
また符号化装置１１は、極小値が検出されたマクロブロックの割合に基づいて、入力画像データが原画であるか、非原画であるかを判定する。
【０２２４】
これにより符号化装置１１は、バックサーチ処理において検出された量子化パラメータQPの値に基づいて、簡易な処理で力画像データが原画であるか非原画であるかを確実に判定することができる。
【０２２５】
符号化装置１１は、復号化の際に使用される可能性のある複数の復号ファクターのうち、一部を検索範囲として特定する。符号化装置１０は、極小値に対応する量子化パラメータの最小値が、検索範囲における量子化パラメータの最小値であった最小回数をカウントし、処理されたマクロブロックごとの画像データの処理回数をカウントする。そして符号化装置１０は、最小回数の処理回数に対する割合に基づいて、入力画像データが原画であるか、非原画であるかを判定する。
【０２２６】
これにより符号化装置１１は、最小回数及び処理回数をカウントして比較するだけの簡易な処理で入力画像データが原画であるか非原画であるかを確実に判定することができる。
【０２２７】
以上の構成によれば、符号化装置１１は、原画／非原画に応じて量子化に使用するQPパラメータを変更することができ、符号化時の画質を向上させ得るようになされている。
【０２２８】
（３−５）他の実施の形態
なお上述した第２の実施の形態においては、量子化パラメータの最小値が検索範囲における量子化パラメータの最小値であったときの割合に基づいて原画／非原画を判定するようにした場合について述べた。本発明はこれに限らず、例えば実際に極小値を検出し、当該極小値の割合に基づいて原画／非原画を判定するようにしても良い。また判定時の割合についても特に制限はなく、判定に適した任意の値に設定することができる。
【０２２９】
さらに上述した第２の実施の形態においては、ピクチャごとに原画／非原画を判定するようにした場合について述べた。本発明はこれに限らず、例えばスライスやGOPごとでも良い。また全てのピクチャに対して原画／非原画を判定しなくても良く、例えばGOPの先頭ピクチャだけに対して原画／非原画を判定しても良い。
【０２３０】
（４）第３の実施の形態
（４−１）本発明の概略
本発明の第３の実施の形態では、第１に、目標符号量を実現する量子化パラメータQPを予測し、該量子化パラメータQPを用いて本エンコードを行うことで、目標符号量に発生符号量を一致させ、視覚特性を考慮した符号量配分、つまり量子化パラメータの決定を可能とすること。
【０２３１】
第２に、前回符号化時のピクチャ内の平均の量子化パラメータと量子化行列を判定し、前回符号化された画像と判定した場合、入力を入力画像データとしローカルデコード画像は使用しないようにすることでバックサーチの検出精度を向上すること。を特徴の一つとしている。以下、詳述する。
【０２３２】
この第３の実施の形態に係る符号化装置１２では、MPEG4 Part10:AVC（Moving Picture Experts Group phase4 Part10:Advanced Video Coding）等に代表される算術符号化を用いた画像符号化方式を採用し、符号量制御を行う際にピクチャ内で良好な符号量分布を実現するために、以下に示すような特徴的な処理を行う。
【０２３３】
（４−１−１）MB目標符号量の算出
図１６に示すように、符号化装置１２は、第１の符号化部２としての画面内予測処理部２０４、DCT部２０５、量子化部２０６、逆量子化部２０７、IDCT部２０８及びバッファ２０９とを有している。また符号化装置１２は、第２の符号化部４としてのパラメータエンコーダ３００、及びバックサーチ部３としてのバックサーチ部２１０を有している。
【０２３４】
符号化装置１２は、第１のプレエンコーダ１００及び第２のプレエンコーダ２００によってプレエンコード(Pre Encode)を２回行い、目標符号量を実現する（すなわち目標符号量に最も近くなる）量子化パラメータQPを予測し、該量子化パラメータQPを用いて本エンコードを行う。特に、第１のプレエンコードでは、離散コサイン変換(DCT；Discrete Cosine Transform)、量子化後の量子化係数の絶対値である量子化係数絶対値levelのエントロピーを計算することによりマクロブロックごとのMB発生符号量を粗く見積もる。
【０２３５】
このとき、符号化装置１２は、第１のプレエンコーダ１００によって第１のプレエンコードを行い、先ず量子化で使用する量子化パラメータQPの中で最小の量子化パラメータQPを用いて行い、その時の各値の発生回数をカウントし、最小の量子化パラメータQPにおける発生回数から各量子化パラメータQPにおける発生回数を求め、その値から各量子化パラメータQPでのエントロピーを計算する。
【０２３６】
さらに符号化装置１２は、第１のプレエンコーダ１００によって求めたエントロピーから各量子化パラメータQPに対する予測発生符号量を求め、目標符号量を実現するためのピクチャ内の平均となる予測量子化パラメータQPｄを求める。このとき符号化装置１２は、エントロピー計算を量子化行列Qmatrixを使用した場合に適用するために、DCT block（すなわちDCT係数が表す行列）の位置毎に発生回数のカウントを行う。
【０２３７】
さらに符号化装置１２は、符号量制御部１０９によってエントロピー計算を適応量子化に対応させるため、アクティビティ（Activity）によりマクロブロック（MB；Macro Block）をグループ分けして、アクティビティにより決定されたグループ毎に発生回数のカウントを行う。
【０２３８】
符号量制御部１０９は、量子化行列Qmatrixを絵柄に応じて適応的に切り替えるため、フラットな量子化行列Qmatrix（Qmatrixを使わないのと同じ）を使った時の、目標符号量を実現するための量子化パラメータQPを使用する。そして符号量制御部１０９は、該量子化パラメータQPにより量子化行列Qmatrixを切り替える。決定された量子化行列Qmatrixがフラットでないときは、その量子化行列Qmatrixを使った時の量子化パラメータQPを求め直す。
【０２３９】
符号化装置１２は、第２のプレエンコーダ２００によって第２のプレエンコードを行い、第１のプレエンコードで求めた量子化パラメータQP（以下、これを予測量子化パラメータQPｄと呼ぶ）と量子化行列Qmatrixを用いてエンコードを行い、MB発生符号量を得て、該MB発生符号量とMB目標発生量との誤差から、予測量子化パラメータQPｄを修正し、基本量子化パラメータＱＭＢを算出する。本エンコードでは、この第２のプレエンコードで求め基本量子化パラメータＱＭＢを使用する。
【０２４０】
（４−１−２）前回符号化時に使用された量子化パラメータQPの見積り
符号化装置１２では、MPEG4 AVCなどに代表されるDCT等の直交座標変換を用いた画像符号化方式を採用しつつ、該DCT後の係数分布から離散的な分布状態を検出するために、以下に示すような特徴を有している。
【０２４１】
符号化装置１２は、Qmatrix/Base QP検出部１０８により、前回符号化時のピクチャ内の平均の量子化パラメータQP（以下、これを見積量子化パラメータQPｅと呼ぶ）及び前回符号化時の量子化行列Qmatrix（以下、これを見積量子化行列QmatrixＥと呼ぶ）を見積る。このとき符号化装置１２は、入力を入力画像データとしローカルデコード画像は使用しないようにすることでバックサーチの検出精度を向上する。このとき符号化装置１２は、符号量制御部１０９により、見積量子化パラメータQPeと見積量子化行列QmatrixEの見つからない状態を前回符号化されていない原画像とみなし、原画像であるか、前回符号化された画像であるかを判定する。
【０２４２】
さらに符号化装置１２は、原画像と見なした際、ピクチャ内の平均となる予測量子化パラメータQPｄの予測値が大きすぎる場合に、入力値切り換え処理部２０３による入力画像の切換により、入力段のローパスフィルタを使用して主観画質を改善する。一方符号化装置１２は、前回符号化された画像（非原画）と判定した場合、見積量子化行列QmatrixEと見積量子化パラメータQPeをバックサーチ部２１０に設定し、該バックサーチ処理のサーチ範囲を限定し回路規模を削減する。以上に加えて、Long GOPの符号化を行った信号を入力するとき、イントラ（Intra）ピクチャの判定に利用する。
【０２４３】
すなわち、符号化装置１２は、符号量予測処理を実行し、まず第１のプレエンコーダ１００による第１のプレエンコード処理の際、最小の量子化パラメータQPを用いて量子化を行い、エントロピー計算部１０７により他の量子化パラメータQPによる予測発生符号量を予測する。そして符号化装置１２は、入力画像が原画であった場合に使用される予測量子化パラメータQPd及び予測量子化行列QmatrixDを予測する。
【０２４４】
このとき第１のプレエンコーダ１００は、量子化係数による原画判定処理を実行し、最小の量子化パラメータQPを用いて量子化を行ったときの量子化係数を用いて、入力画像が原画又は非原画のいずれであるかを判別する。さらに第１のプレエンコーダ１００は、当該入力画像が非原画であった場合には、前回の符号化で使用された量子化パラメータQPの近傍の量子化パラメータQP（すなわち見積量子化パラメータQPe）を見積り、バックサーチ処理の際の検索範囲を決定する。さらに第１のプレエンコーダ１００は、前回符号化されたときに使用された量子化行列Qmatrix（すなわち見積量子化行列QmatrixE）を見積もる。
【０２４５】
第２のプレエンコーダ２００は、第１のプレエンコーダ１００によって入力画像が原画であったと判別された場合には、バックサーチ部２１０を「OFF」に切り換える。さらに第２のプレエンコーダ２００は、第１のプレエンコーダ１００によって予測されたピクチャ毎の予測量子化パラメータQPdの値に応じて、入力画像に対するローパスフィルタ処理の有無を選択する。そして第２のプレエンコーダ２００は、予測された予測量子化パラメータQPdを用いて第２のプレエンコード処理を行い、例えばピクチャ単位による実際の発生符号量と目標符号量との差から予測量子化パラメータQPｄを補正し、本エンコードで使用される基本量子化パラメータQPＭＢを算出する。
【０２４６】
一方第２のプレエンコーダ２００は、第１のプレエンコーダ１００によって入力画像が非原画であったと判別された場合には、バックサーチ部２１０を「ＯＮ」に切り換える。そして第２のプレエンコーダ２００は、第１のプレエンコーダ１００によって決定された見積量子化パラメータQPeに基づく検索範囲及び見積量子化行列QmatrixEにおいて、バックサーチ処理を実行し、前回の符号化で使用された量子化パラメータQPを検出する。なお以下、バックサーチ処理によって検出された量子化パラメータQPを検出量子化パラメータQPｂと呼ぶ。
【０２４７】
そしてパラメータエンコーダ３００は、入力画像が原画であった場合には、基本量子化パラメータQPＭＢ及び予測量子化行列QmatrixDを用いて本エンコードを実行する一方、入力画像が原画であった場合には、検出量子化パラメータQPｂ及び見積量子化行列QmatrixEを用いて本エンコードを実行するようになされている。
【０２４８】
以下、このような特徴をふまえて、第３の実施の形態について詳述する。
【０２４９】
（４−２）符号化装置の構成
図１６に示すように、符号化装置１２は、第１のプレエンコードを行う第１のプレエンコーダ１００、第２のプレエンコードを行う第２のプレエンコーダ２００、本エンコードを行うパラメータエンコーダ３００、符号量制御部１０９、ローパスフィルタ処理部２０１、ディレイバッファ２０２、マクロブロック決定部２１２を有する。
【０２５０】
より詳細には、第１のプレエンコーダ１００は、さらにアクティビティ決定部１０１、画面内予測モード決定部１０２、画面内予測処理部１０３、DCT部１０４、量子化部１０５、レベル計数部１０６、エントロピー計算部１０７、Qmatrix/Base QP検出部１０８からなる。第２のプレエンコーダ２００は、入力画切り換え処理部２０３、画面内予測処理部２０４、DCT部２０５、量子化部２０６、逆量子化部２０７、IDCT部２０８、バッファ２０９、バックサーチ部２１０、符号長計算部２１１からなる。そして、パラメータエンコーダ３００は、画面内予測処理部３０２、DCT部３０３、量子化部３０４、逆量子化部３０５、IDCT部３０６、バッファ３０７、符号化部３０８からなる。
【０２５１】
このような構成において、入力画像データは、最初に画面内予測モード決定部１０２に入り、画面内予測モードが決定される。ここで決定されたモードは、第２のプレエンコーダ２００やパラメータエンコーダ３００でも使用される。
【０２５２】
次に、画面内予測処理部１０３は、入力画像データと、当該入力画像データにおける周囲の画素との差分が計算されることにより、差分画像データを生成する。この周辺の画素は、入力画像データを用いる。画面内予測処理部１０３は、周辺画素のデータとして、予測画像データの代りに入力画像データを使用することで、周辺画素として予測画像データを使用した場合に、予測を繰り返すことで予測画像データの誤差が累積することを防止することができる。この結果画面内予測処理部１０３は、Qmatrix/Base QP検出部１０８による量子化行列Qmatrixや基本量子化パラメータBase QPの検出率を改善できるほか、第２のプレエンコーダ２００にあるような、逆量子化、IDCTの処理部を削減できる。
【０２５３】
次いで、DCT部１０４は、離散コサイン変換等を実行し、DCT係数を量子化部１０５に供給する。量子化部１０５は、DCT係数に対して量子化を実行し、量子化係数を生成する。その出力は、レベル計数部１０６を経て、エントロピー計算部１０７に入り、エントロピーを計算することにより、全ての量子化パラメータQPにおける符号量が予測される。
【０２５４】
このときエントロピー計算部１０７は、目標とする発生符号量に近い発生符号量を生じさせる予測量子化パラメータQPｄ及び予測量子化行列Qmatrixの値を算出し、Qmatrix /Base QP検出部１０８に供給する。またレベル計数部１０６は、量子化係数のレベルを計測し、当該レベル計数結果をエントロピー計算部１０７を介してQmatrix /Base QP検出部１０８に供給する。このQmatrix /Base QP検出部１０８は、入力画像が前回符号化の行われていない原画像に係るものか否かを検出すると同時に、見積量子化行列QmatrixEと見積量子化パラメータQPeを割り出す。
【０２５５】
一方、入力画像はアクティビティ決定部１０１にも入力される。アクティビティ決定部１０１は、マクロブロックごとにアクティビティを計算し、このアクティビティによりマクロブロックをグループ分けする。アクティビティ決定部１０１は、各マクロブロックに対して決定されたアクティビティグループ（Activity Group）番号をレベル計数部１０６及び符号量制御部１０９に入力する。
【０２５６】
符号量制御部１０９は、Qmatrix/Base QP検出部１０８で原画像と検出された場合、第１のプレエンコーダ１００により求まったピクチャごとの平均となる予測量子化パラメータQPｄ、予測積量子化行列QmatrixDを算出し、これらを各マクロブロックのアクティビティグループ(Activity Group)と共に第２のプレエンコーダ部２００に渡す。
【０２５７】
この結果第２のプレエンコーダ２００は、第２のプレエンコードを行い、第２のプレエンコード終了後、当該予測量子化パラメータQPｄ及び予測量子化行列QmatrixDを用いたときの発生符号量を得る。そして符号量制御部１０９は、得られた発生符号量から、予測量子化パラメータQPｄを補正し、ピクチャの基本量子化パラメータQPＭＢを生成することになる。このとき第２のプレエンコーダ２００は、バックサーチ部２１０をバイパスする。
【０２５８】
このとき第２のプレエンコーダ２００は、ピクチャの予測量子化パラメータQPｄが非常に大きく、歪が目立つような場合は、入力画切り替え処理部２０３によって入力画像がローパスフィルタ処理部２０１を経由するように切り換える。これにより入力画切り替え処理部２０３は、入力画像に対してローパルフィルタ処理を施させることができ、視覚的な歪を軽減することができる。
【０２５９】
またQmatrix/Base QP検出部１０８において量子化行列Qmatrixと基本量子化パラメータBase QPが検出された場合（すなわち入力画像が非原画像であった場合）、第２のプレエンコーダ２００は、入力画切り替え処理２０３によって予測画像データとして使用するデータを切り換える。すなわち入力画切り替え処理２０３は、バッファ２０９からのローカルデコード画像の代りに、ディレイバッファ２０２からの入力画像データを予測画像データとして画面内予測処理部２０４に入力する。この結果画面内予測処理部２０４は、入力画像データを予測画像データとして使用することになり、バックサーチ部２１０のバックサーチ処理において検出効率を改善するようにする。
【０２６０】
第２のプレエンコーダ２００は、バックサーチ処理を実行する場合にはバックサーチ部２１０によりマクロブロック単位の量子化歪が最小となる量子化パラメータQPを割り出す。このときバックサーチ部２１０は、見積量子化パラメータQPeに基づく検索範囲及び見積量子化行列QmatrixEを用いて第１の実施の形態において上述した量子化パラメータ検出処理を実行する。
【０２６１】
マクロブロック決定部２１２は、Qmatrix/Base QP検出部１０８において入力画像が原画であると判別された場合には、第２のプレエンコーダ２００において補正された基本量子化パラメータＱＭＢを用いて本エンコードを実行するよう、パラメータエンコーダ３００を制御する。
【０２６２】
一方マクロブロック決定部２１２は、入力画像が非原画であると判別された場合には、Qmatrix/Base QP検出部１０８によって見積もられた見積量子化行列QmatrixEと、バックサーチ部２１０によって検出された検出量子化パラメータQPｂとを用いて本エンコードを実行するよう、パラメータエンコーダ３００を制御する。
【０２６３】
そしてパラメータエンコーダ３００は、マクロブロック決定部２１２の制御により、第１のプレエンコーダ１００で求めた画面内(Intra)予測モードを用いて入力画像データに対して本エンコード処理を実行するようになされている。
【０２６４】
（４−３）目標符号量の算出処理
（４−３−１）アクティビティへの対応
以下、３パス符号化処理手順ＲＴ１１を示す図１７のフローチャートを参照して、本発明の第１の実施の形態に係る符号化装置による符号化に係る一連の処理を更に詳細に説明する。
【０２６５】
先ず、アクティビティ計算部１０１は、入力画像データに基づいて、マクロブロック毎にアクティビティを計算し、その値に応じてマクロブロックをアクティビティグループに分ける（ステップＳ１０１）。
【０２６６】
つまり、アクティビティ計算部１０１は、例えばマクロブロックを１〜NumOfActivityGroupのグループに分ける場合を想定すると、マクロブロックを各アクティビティグループへ振り分けるための閾値（ActivityTheshold[0]〜ActivityTheshold[NumOfActivityGroup-2]）と、マクロブロックについて算出されたアクティビティ（Activity）値を比較する。そしてアクティビティ計算部１０１は、アクティビティ値が閾値範囲内でなるアクティビティグループを当該マクロブロックのアクティビティグループに決定する。アクティビティを考慮に入れた各マクロブロックの適応量子化パラメータQPｔは、次式に従い、ピクチャの平均となる量子化パラメータQP（BaseQP）に対してアクティビティグループに依存したオフセットAdaptQpDeltaを加えることで求めることができる。
【０２６７】
【数１３】
0005212373.tif 000014
【０２６８】
例えば、アクティビティグループNumOfActivityGroupを13とするならば、これに依存したオフセットAdaptQpDeltaの各値は、次のようにすることができる。
【０２６９】
【数１４】
0005212373.tif 000015
【０２７０】
すなわちアクティビティ計算部１０１は、「０」〜「１２」の番号でなるアクティビティグループに分類されたマクロブロックの量子化パラメータQP（BaseQP）に対し、それぞれ−６、−５、−４、−３、−１、０、１、２、３、４、５、６を加算することにより適応量子化パラメータQPｔを算出することができる。
【０２７１】
従ってエントロピー計算部１０７は、各量子化パラメータQPについての発生符号量を予測する際、（１４）式によって算出される適応量子化パラメータQPｔを用いることになる。
【０２７２】
（４−３−２）第１のプレエンコード処理
（４−３−２−１）基本的な処理
続いて、第１のプレエンコーダ１００は、画面内予測モード決定部１０２により画面内予測モードを決定し（ステップＳ１０２）、第１のプレエンコード処理に入ることになる(ステップＳ１０３)。
【０２７３】
この第１のプレエンコード処理の目的は、DCT、量子化後のデータのエントロピーを計算することにより、発生符号量を粗く見積もることである。算術符号化を用いた画像圧縮符号化方式では、理論上の圧縮限界であるエントロピーに近い圧縮効率が得られている事を利用して、エントロピーを用いて符号量の予測を行うものである。
【０２７４】
即ち、画面内予測処理部１０３による画面内予測処理、DCT部１０４によるDCTを経て、量子化部１０５により該DCT後の値を最小の量子化パラメータQPで量子化し、レベル計数部１０６により量子化係数の各値の絶対値の発生回数をカウントする。つまり、レベル計数部１０６は、発生し得る量子化係数の絶対値が、0〜MaxLevel_In_MinQであるとすると、それぞれの量子化係数の絶対値についての発生回数Count[0]〜Count[MaxLevel_In_MinQ]を求める。
【０２７５】
ここで、最小の量子化パラメータQPとは、使用の予定されている量子化パラメータQPの中で最小のものである。例えば、ビットレートが低い為に小さい量子化パラメータQPを使わないことが予め分かっていれば、該部分を除いた部分で考えればよい。
【０２７６】
ここでレベル計数部１０６は、使う量子化パラメータQPが大きくなれば、MaxLevel_In_MinQが小さくなるのでカウンタの数を減らすことができるが、該量子化パラメータQPより小さい量子化パラメータQPを使ったときの符号量は、情報が失われる為に求めることができない。尚レベル計数部１０６は、量子化後の量子化係数の絶対値について発生回数を求めているが、これは、カウンタの数を少なくする為であり、カウンタの数に制限がないのであれば、量子化前の値、つまりDCT係数の発生回数を求めてもよい。この発生回数は、１ピクチャ全ての部分に対して求める。
【０２７７】
続いて、レベル計数部１０６及びエントロピー計算部１０７は、量子化パラメータQP毎の発生符号量の予測値を求める符号量予測処理を行う（ステップＳ１０４）。これは、量子化パラメータQP毎に実行される処理である。
【０２７８】
この符号量予測処理（基本）手順ＲＴ１２の詳細は、図１８のフローチャートに示される通りである。即ち、レベル計数部１０６は、量子化係数の各値の絶対値である量子化係数絶対値level毎に発生回数をカウントする（ステップＳ１２１）。まずレベル計数部１０６は、量子化係数絶対値levelのカウンタをイニシャライズ（level=0）し（ステップＳ１２２）、量子化係数絶対値levelが発生符号量を求める（すなわち最小の）量子化パラメータQPで量子化したときにいくつになるかを求める（ステップＳ１２３）。次いで、レベル計数部１０６は、量子化係数絶対値levelの発生回数を、発生符号量を求める量子化パラメータQPでの量子化係数絶対値levelのカウンタに加算し（ステップＳ１２４）、量子化係数絶対値levelのカウンタをインクリメントし（ステップＳ１２５）、全ての量子化係数絶対値levelを処理したか否かを判断する（ステップＳ１２６）。
【０２７９】
レベル計数部１０６は、全ての量子化係数絶対値levelを処理していないと判断した場合（ステップＳ１２６をＮｏに分岐）、上記ステップＳ１２３に戻り、上記処理を繰り返し、全ての量子化係数絶対値levelを処理したと判断した場合には（ステップＳ２６をＹｅｓに分岐）、ステップＳ１２７に進む。
【０２８０】
つまり、このステップＳ２１〜Ｓ２６では、最小の量子化パラメータQPで量子化した場合の各量子化係数絶対値levelの発生回数を求める。
【０２８１】
続いて、エントロピー計算部１０７は、量子化係数絶対値levelの発生確率を求め（ステップＳ２７）、先に求めた発生回数からエントロピーを求める（ステップＳ２８）。
【０２８２】
いま、量子化係数絶対値levelの発生確率P[i]は次式で求められる。
【０２８３】
【数１５】
0005212373.tif 000016
【０２８４】
エントロピーEntropyは、この発生確率P[i]を用いて、エントロピーを算出するための一般式により、次式で求められる。
【０２８５】
【数１６】
0005212373.tif 000017
【０２８６】
エントロピー計算部１０７は、このステップＳ１２７及びＳ１２８の処理を全ての量子化係数絶対値levelについて行ったか否かを判断し（ステップＳ１２９）、全ての量子化係数絶対値levelについて処理するまで繰り返す。そしてエントロピー計算部１０７は、全ての量子化係数絶対値levelについて処理した場合には（ステップＳ１２９をＹｅｓに分岐）、符号量の予測値Estimated_Bitsを次式により求める（ステップＳ１３０）。
【０２８７】
【数１７】
0005212373.tif 000018
【０２８８】
ここで、（１７）式で使用される符号ビットsign_bitsは非ゼロ係数の発生回数をnon_zero_countとすると、次式のように表すことができる。
【０２８９】
【数１８】
0005212373.tif 000019
【０２９０】
（４−３−２−２）アクティビティへの対応
ここで、アクティビティに対応させるためには、上記の図１８の符号量予測処理（基本）手順ＲＴ１１を、符号量予測処理（アクティビティ対応）手順ＲＴ１３を示す図１９のフローチャートに示される処理に置き換える必要がある。
【０２９１】
先ず、レベル計数部１０６は、量子化係数の各値の絶対値の発生回数をカウントする際に、量子化係数絶対値level（each_level）毎に加えてアクティビティグループ（each_activity_group）毎にカウントする（ステップＳ１４１)。
【０２９２】
このカウント値を、Count[each_activity_group][each_level]のように表すことができる。
【０２９３】
次に、エントロピー計算部１０７は、ピクチャの量子化パラメータQP毎の発生符号量の予測値を求める処理を行う。この処理は量子化パラメータQP毎に行う。まず、エントロピー計算部１０７は、各アクティビティグループの適応量子化パラメータQPtを求める（ステップＳ１４２）。続いてエントロピー計算部１０７は、量子化係数絶対値levelをイニシャライズ(level=0)した後（ステップＳ１４３）、量子化係数絶対値levelが、発生符号量を求める量子化パラメータQPで量子化したとき、いくつになるかを求める。（ステップＳ１４４）さらにエントロピー計算部１０７は、量子化係数絶対値levelの発生回数を、求める量子化パラメータQPでの量子化係数絶対値levelのカウントに加算し（ステップＳ１４５）、量子化係数絶対値levelをインクリメントする（ステップＳ１４６）。エントロピー計算部１０７は、全ての量子化係数絶対値levelを処理したか否かを判断する（ステップＳ１４７）。エントロピー計算部１０７は、全ての量子化係数絶対値levelを処理していないと判断した場合（ステップＳ１４７をＮｏに分岐）、上記ステップＳ１４４に戻り、上記処理を繰り返す。一方エントロピー計算部１０７は、全ての量子化係数絶対値levelを処理したと判断した場合には（ステップＳ１４７をＹｅｓに分岐）、ステップＳ１４８に進む。
【０２９４】
以上のステップでは、各アクティビティグループ毎に、発生符号量を求める量子化パラメータQPでの量子化係数の各値の絶対値の発生回数を、最小の量子化パラメータQPでの量子化係数の各値の絶対値の発生回数から求めることになる。
【０２９５】
ステップＳ１４８において、エントロピー計算部１０７は、全てのアクティビティグループを処理したか否かを判別する。エントロピー計算部１０７は、全てのアクティビティグループを処理していない場合（ステップＳ１４８をＮｏに分岐）、上記ステップＳ１４２に戻り、上記処理を繰り返す。エントロピー計算部１０７は、全てのアクティビティグループについて処理を終了すると（ステップＳ１４８をＹｅｓに分岐）、求めた発生回数からエントロピーを求め、符号量の予測値を求める（ステップＳ１４９〜Ｓ５３）。
【０２９６】
このステップＳ１４９〜Ｓ１５３の処理は、図１８のステップＳ１２７〜Ｓ１３１と同様であるので、重複した説明は省略する。
【０２９７】
（４−３−２−３）量子化行列への対応
また、更に量子化行列Qmatrixに対応させるためには、上記の図１８の符号量予測処理（基本）手順ＲＴ１１を、符号量予測処理（量子化行列対応）手順ＲＴ１４を示す図２０のフローチャートに示される処理に置き換える必要がある。
【０２９８】
まず、量子化係数の各値の絶対値の発生回数をカウントする際に、量子化係数絶対値level （each_level）毎、アクティビティグループ（each_activity_group）毎に加えて、DCT Block内の位置（each_position）毎にカウントする（ステップＳ１６１）。
【０２９９】
このカウント値を、Count [each_activity_group][each_position][each_level]のように表すことができる。
【０３００】
次に、量子化パラメータQP毎の発生符号量の予測値を求める処理を行う。この処理は量子化パラメータQP毎の処理である。ここで追加される処理は、最小の量子化パラメータQPで量子化した時の値が、発生符号量を求める他の量子化パラメータQPでいくつになるかを求める時に、量子化行列Qmatrixの各要素をDCT Block内の位置毎に考慮に入れて計算することである（ステップＳ１６４）。つまり、DCT後の係数は、量子化パラメータQPと量子化行列Qmatrixの要素をかけたもので量子化されると言う事である。次に、DCT Block内の位置毎に、発生符号量を求める他の量子化パラメータQPでの量子化係数の各値の絶対値の発生回数を、最小の量子化パラメータQPで量子化したときの量子化係数絶対値levelの発生回数から求める（ステップＳ１６５）。
【０３０１】
これらを全ての量子化係数絶対値levelを処理するまで繰り返し（ステップＳ１６３〜Ｓ１６７）、更にはDCT Block内の全ての位置(position)について処理するまで繰り返す（ステップＳ１６３〜Ｓ１６８）。これ以降の処理（ステップＳ１６９〜Ｓ１７４）は、図１８のステップＳ１２８〜Ｓ１３１と同様であるので、重複した説明は省略する。
【０３０２】
（４−３−２−４）量子化パラメータの見積
さて、図１７の説明に戻り、続いて量子化パラメータ決定処理に入る。即ち、エントロピー計算部１７は、上記処理で各量子化パラメータQPに対する予測符号量が求められたので、その中で、目標符号量に最も近い量子化パラメータQPを予測量子化パラメータQPｄとして選択することになる（ステップＳ１０５）。
【０３０３】
（４−３−２−５）適応的な量子化行列の切替
なお、適応的な量子化行列Qmatrixの切り替え処理を行う場合には、ステップＳ１０５の処理を次のように変更すればよい。即ち、その場合、フラット(Flat)な量子化行列Qmatrix（Qmatrixを使わないのと同じ事）を使った時の量子化パラメータQPに対する予測符号量を求め、その中で目標符号量に最も近い量子化パラメータQPを選択する。
【０３０４】
この求めた量子化パラメータQPの値から使用する量子化行列Qmatrixを選択する（ステップＳ１０６）。より詳細には、切り替えて使う量子化行列Qmatrixの種類の数をNumOfQmatrixIdとすると、求めた量子化パラメータQPを各量子化行列Qmatrixに対応させるための閾値QmatrixTheshold[0]〜QmatrixTheshold[NumOfQmatrixId-2]と量子化パラメータQPとを比較することにより、量子化行列Qmatrixを決定する。そして、使用する量子化行列Qmatrixを使った時の、量子化パラメータQPに対する予測符号量を求め、その中で、目標符号量に最も近い量子化パラメータQPを選択する（ステップＳ１０７）。これが、第１のプレエンコーダ１００で決定されるピクチャの予測量子化パラメータQPdとなる。
【０３０５】
（４−３−３）第２のプレエンコード処理
続いて、第２のプレエンコーダ２００が、第１のプレエンコーダ１００による第１のプレエンコード処理により決定されたピクチャの予測量子化パラメータQPｄ、予測量子化行列QmatrixD、アクティビティグループActivity Groupを用いて、第２のプレエンコードを行う（ステップＳ１０８）。この第２のプレエンコード処理の目的は、第１のプレエンコード処理により大まかに見積もった予測量子化パラメータQPdで実際にエンコードすることにより、予測の誤差を求め、それを補正することである。第２のプレエンコード処理では、エンコード終了後、予測量子化パラメータQPdによる発生符号量を得る。
【０３０６】
次に、マクロブロック決定部２１２は、この第２のプレエンコーダ２による第２のプレエンコード処理で得た発生符号量と目標符号量との違いから、予測量子化パラメータQPdを補正する（ステップＳ１０９）。即ち、マクロブロック決定部２１２は、量子化パラメータQPが１変わる毎に、発生符号量が所定の変化割合DiffRatio ［％］だけ変わるものと仮定し、予測量子化パラメータQPdを補正する。補正量が小さいので、絵柄（すなわちアクティビティグループ）によらず量子化パラメータQP対発生符号量の変化を一定としても、誤差は問題ないレベルにあるとみなす。
【０３０７】
ここで、量子化パラメータ補正処理手順ＲＴ１５を示す図２１のフローチャートを参照して、予測量子化パラメータQPdによる発生符号量が目標符号量より少なく、且つ予測量子化パラメータQPdが最小値ではないときの符号量補正処理を説明する。
【０３０８】
尚、発生符号量が目標符号量より多い場合についても、基本的に同じである。
【０３０９】
さて、この処理に入ると、マクロブロック決定部２１２は、発生符号量をPreGenbitsに代入し、現在の予測量子化パラメータQPをPreQPに代入し（ステップＳ１８１）、PreQPより１引いた値をNextQPと（ステップＳ１８２）して算出する。なお、マクロブロック決定部２１２は、発生符号量が目標符号量より小さい場合には、PreQPより１加算した値をNextQPとすることになる。
【０３１０】
続いてマクロブロック決定部２１２は、PreGenbits*(100+DiffRatio)/100をPreQPから「１」だけ変化したNextQPに対応する発生符号量NextGenbitsとする（ステップＳ１８３）。ここでは、量子化パラメータQPが１変化する毎に、発生符号量が変化割合DiffRatio だけ小さくなるものと仮定している。
【０３１１】
続いて、マクロブロック決定部２１２は、発生符号量NextGenbitsが目標符号量TargetGenbitよりも大きいか否か（すなわち発生符号量と目標符号量との大小関係が反転したか否か）を判定する（ステップＳ１８４）。ここでマクロブロック決定部２１２は、NextGenbits>TargetGenbitでない（すなわち発生符号量と目標符号量との大小関係が変化していない）場合には、現在のNextQPをPreQPに代入し、現在のNextGenBitsをPreGenbitsに代入する（ステップＳ１８５）。NextQPが最小の量子化パラメータQPであるか否かを判定する（ステップＳ１８６）。
【０３１２】
ここで、マクロブロック決定部２１２はNextQPが最小の量子化パラメータQPでない場合にはステップＳ１８２に戻り上記処理を繰り返す。すなわちマクロブロック決定部２１２は、Ｓ１８２において、前回の処理よりも「１」だけ変化したNextQPについて、上述した処理を実行する。一方マクロブロック決定部２１２は、ステップＳ１８６においてNextQPが最小の量子化パラメータQPである場合には、NextQPを基本量子化パラメータQPＭＢとし、処理を終了する。一方マクロブロック決定部２１２は、ステップＳ１８４においてNextGenbits>TargetGenbit（すなわち発生符号量と目標符号量との大小関係が反転した）の場合には（NextGenbits-TargetGenbit）>（TargetGenbit-PreGenBits）であるか否かを判断する（ステップＳ１８８）。この関係が成立する場合、マクロブロック決定部２１２は、PreQPによる発生符号量PreGenBitsが目標符号量TargetGenbitに最も近いことから、PreQPを基本量子化パラメータQPＭＢに決定する。一方マクロブロック決定部２１２は、ステップＳ１８８における関係が成立しない場合、NextQPによる発生符号量NextGenbitsがTargetGenbitに最も近いことから、目標符号量NextQPを基本量子化パラメータQPＭＢに決定し、処理を終了する。
【０３１３】
（４−３−４）本エンコード処理
再び図１７の説明に戻り、パラメータエンコーダ３００により本エンコードを行う（ステップＳ１１０）。この本エンコードでは、第２のプレエンコーダ２００による第２のプレエンコード処理により決定された基本量子化パラメータQPMB、第１のプレエンコード処理により決定された予測量子化行列QmatrixＤ、アクティビティグループActivity Group及び画面内予測モードを使用してエンコードを行う。こうして、画像情報の符号化に係る一連の処理を終了する。
【０３１４】
以上説明したように、本発明の第３の実施の形態によれば、１ピクチャに与えられた目標符号量に、画面内フィードバック（Feed Back）制御を行わずに発生符号量を合わせ込むことが可能になる。これにより、フィードバックパラメータの不適切な初期値による弊害や、不適切な目標符号量配分など、フィードバック制御の問題を取り除くことが可能になる。結果として、目標符合量に発生符号量を一致させ、視覚特性を考慮した符号量配分、つまり量子化パラメータの決定が可能となる。
【０３１５】
（４−４）量子化係数による原画判定処理
（４−４−１）原理
次に、量子化係数による原画判定処理の原理について説明する。
【０３１６】
ここでは、処理の基本情報として量子化係数各値の絶対値である量子化係数絶対値levelの各発生回数を、アクティビティグループ及びDCT Blockごとにカウントしたカウント値（Count [each_activity_group][each_position][each_level]）の分布データを使用する。
【０３１７】
図２２には、原画像を入力した場合のeach_activity_group=0、each_position=5のときの分布状態実測値を示し、図２３には、前回に量子化パラメータQP=20で符号化した画像を入力した場合のeach_activity_group=0、each_position=5のときの分布状態実測値を示す。各横軸は量子化係数絶対値levelの値、縦軸は量子化係数絶対値levelの発生回数のカウント値である。
【０３１８】
図から、原画像では量子化係数絶対値levelが大きくなるに従って発生回数が単調減少する。これに対して非原画像では一度量子化によって量子化係数絶対値levelが丸められているため、量子化パラメータQPに基づく量子化ステップの整数倍のときに量子化係数絶対値levelの発生回数が大きくなり、当該発生回数に離散的なピークが表われる。
【０３１９】
ここで量子化係数絶対値levelは、上述したエントロピー計算部１７による符号量予測処理において、最小の量子化パラメータQPを用いて量子化された量子化係数である。すなわち、最小の量子化パラメータQPとして非常に小さい値が想定されているため、仮に量子化パラメータQPが「０」以外の値であっても、量子化係数絶対値levelは、DCT係数をAVC規格で規定しているスケーリングファクターMFによって除算した値に近い値をとることになる。
【０３２０】
すなわちQmatrixを考慮にいれない場合、上述したピークは、予測量子化パラメータQPdと量子化行列Qmatrixの要素値との乗算値の整数倍近傍に周期的に表われることになる。
【０３２１】
特に量子化係数絶対値levelが「０」の次のピーク（以下、これを１番目ピークと呼ぶ）の場合には、符号量予測処理において使用された最小の量子化パラメータQPが「０」以外の場合における影響を小さくすることができる。
【０３２２】
従って符号化装置１２では、この１番目ピークを検出できたか否かにより、入力画像データが表す画像が一度も符号化されていない原画像又は符号化されたことのある非原画像のいずれであるかを判定するようになされている。
【０３２３】
また符号化装置１２では、１番目ピークの検出された量子化パラメータQPを、見積量子化パラメータQPeとして見積もる。この見積量子化パラメータQPeは、前回の符号化処理において使用されたピクチャ内の平均の量子化パラメータQPに相当するものとなる。さらに符号化装置１２では、量子化係数の行列内の位置ごとに処理を実行することにより、見積量子化行列Qmatrixを検出するようになされている。
【０３２４】
（４−４−２）具体的な処理内容
以下、本発明の量子化係数による原画判定処理を更に詳細に説明する。
【０３２５】
一般に、H.264 AVCの符号化方式では、IDCTの演算精度が十分でない、Intra予測モードが100［％］再現されない、等の非線形な歪要因により、量子化による離散状態に広がりが見られるものの、離散状態を検出することは可能である。１画面分のデータは統計的に十分過ぎる情報であるため、本件では演算量を削減する目的で、量子化パラメータQP近傍の分布、即ち量子化後の係数レベルが１であるものの剰余が最小となる、量子化パラメータQPと量子化行列Qmatrixを求める。尚、隣接する量子化レベルを示す分布のデータは除外する必要がある為、QP/2〜3QP/2の範囲のデータを評価対象とする。
【０３２６】
以下、量子化係数による原画判定処理手順ＲＴ１６を示す図２４のフローチャートを参照して、ステップＳ２０１の処理について更に説明する。
【０３２７】
まず、符号量予測処理で求めた予測量子化パラメータQPdの近傍±６程度で変化する変数（すなわち検出対象となる量子化パラメータ）をサーチ量子化パラメータQP（sch_qp）とすると、当該サーチ量子化パラメータQP（sch_qp）にアクティビティによるオフセットを付加した適応量子化パラメータQPｔ（qp）を次式に従って算出することができる。
【０３２８】
【数１９】
0005212373.tif 000020
【０３２９】
次いで、量子化パラメータQPの量子化レベルを示すピークレベル(t[0])、QP/2のレベルを示すボトムレベル１(t[1])と3QP/2のレベルを示すボトムレベル2(t[2])を次式により決定する（ステップＳ２２１）。
【０３３０】
【数２０】
0005212373.tif 000021
【０３３１】
ここで、Q_matrix[mid][pos]*は4x4DCTブロックのmid種類目のQmatrixのうち、  pos番目の位置の値を示す。すなわちQmatrix/Base QP検出部１０８は、予測量子化パラメータQPｄに基づき１番ピークが出現するであろうピークレベル(t[0])の量子化係数絶対値levelを（２０）式に従って予測する。
【０３３２】
すなわちQmatrix/Base QP検出部１０８は、サーチ量子化パラメータQP（sch_qp）について、適応量子化を行った適応量子化パラメータQPｔ及びQmatrixの位置（pos）ごとに、検索対象となるサーチQmatrixの値が乗算されたものをピークレベル(t[0])として設定する。言い換えると、Qmatrix/Base QP検出部１０８は、一のサーチ量子化パラメータQP（sch_qp）について、適応量子化パラメータQPｔ及びQmatrixの位置（pos）に応じて異なる値をピークレベル(t[0])に設定している。
【０３３３】
【数２１】
0005212373.tif 000022
【０３３４】
【数２２】
0005212373.tif 000023
【０３３５】
すなわちQmatrix/Base QP検出部１０８は、t[０]の１／２をｔ[１]とし、ｔ[０]とｔ[１]とを加算した値をｔ[２]として算出する。
【０３３６】
次に、ピークレベル（t[０]）のカウント値のピーク積算(p[mid][qp])、 ボトムレベル１（t[１]）のカウント値のボトム積算(b[mid][qp])を処理する（ステップＳ２２２）。
【０３３７】
【数２３】
0005212373.tif 000024
【０３３８】
すなわちQmatrix/Base QP検出部１０８は、各サーチ対象となるサーチQmatrix（mid）及びサーチ量子化パラメータQP（sch_qp）ごとに、アクティビティグループ（activity_group）及びQmatrixの位置（pos）ごとにカウントされたピークレベル（t[０]）における発生回数のカウント値を積算する。
【０３３９】
【数２４】
0005212373.tif 000025
【０３４０】
すなわちQmatrix/Base QP検出部１０８は、各Qmatrix及びサーチ量子化パラメータQP（sch_qp）ごとに、アクティビティグループ（activity_group）及びQmatrixの位置（pos）ごとにカウントされたボトムレベル１（t[１]）における発生回数のカウント値を積算する。
【０３４１】
ここでカウント値は、Qmatrix/Base QP検出部１０８は、アクティビティグループ（activity_group）及びQmatrixの位置（pos）ごとにカウントされている。
【０３４２】
Qmatrix/Base QP検出部１０８は、（２１）式に示したように、ｔ[０]として、アクティビティグループごとに量子化係数絶対値levelに対して２QP/6（ただしサーチ量子化パラメータQPは符号量算出処理の際に量子化に使用された適応量子化パラメータQPt）を乗算している。すなわちQmatrix/Base QP検出部１０８は、サーチ量子化パラメータQP（sch_qp）として、適応量子化パラメータQPtに応じた値を設定している。
【０３４３】
これによりQmatrix/Base QP検出部１０８は、アクティビティグループの異なる量子化係数絶対値levelの発生回数を等価に扱うことが可能となり、各アクティビティグループにおけるピーク同士を重複させることが可能となる。
【０３４４】
またQmatrix/Base QP検出部１０８は、（２１）式に示したように、ｔ[０]として、Qmatrixの位置（pos）ごとに、量子化係数絶対値levelに対してサーチQmatrix（mid）における各値を乗算している。
【０３４５】
これによりQmatrix/Base QP検出部１０８は、Qmatrixの位置（pos）の異なる量子化係数絶対値levelの発生回数を等価に扱うことが可能となり、各Qmatrixの位置（pos）におけるピーク同士を重複させることが可能となる。
【０３４６】
この結果Qmatrix/Base QP検出部１０８は、適応量子化パラメータQPtの相違や、Qmatrixの位置（pos）の相違を補正して、全てを量子化係数絶対値levelの発生回数として取り扱うことができる。このためQmatrix/Base QP検出部１０８は、1番ピークを検出するために十分なサンプル数を得ることができ、ピークの検出精度を向上しうるようになされている。
【０３４７】
そして、Qmatrix/Base QP検出部１０８は、次式に従って、サーチ量子化パラメータQP（sch_qp）及び量子化行列Qmatrix(mid)ごとの量子化係数の誤差(rest[mid][qp])を積算する（ステップＳ２２３）。
【０３４８】
【数２５】
0005212373.tif 000026
【０３４９】
ここで、levは ボトムレベルt[1]からt[2]まで変化する変数であり、absは絶対値を表している。
【０３５０】
このとき、Qmatrix/Base QP検出部１０８は、ピークレベル（t[０]）及びボトムレベル１（t[１]）と同様に、各アクティビティグループ及び各Qmatrixの位置（pos）ごとの補正を行うことにより、量子化係数絶対値levelの発生回数を等価に扱った上で、誤差(rest[mid][qp])を積算する。
【０３５１】
すなわちQmatrix/Base QP検出部１０８は、各Qmatrix及びサーチ量子化パラメータQP（sch_qp）について、アクティビティグループ（activity_group）及びQmatrixの位置（pos）ごとに、変数levにおける発生回数を積算して積算値を算出する。さらにQmatrix/Base
QP検出部１０８は、当該積算値に対してピークレベル（t[０]）から変数levを減算した減算値の絶対値を乗算することにより、誤差(rest[mid][qp])（すなわち剰余の大きさ）を算出する。
【０３５２】
言い換えると、Qmatrix/Base QP検出部１０８は、ピークレベル（t[０]）に対する変数levの差異値を積算値に乗算している。このため誤差(rest[mid][qp])は、ピークレベル（t[０]）が実際のピークと合致したときには、大きな値でなるピーク部分に対して小さな差異値が乗算されるため、その値が小さくなる。一方、誤差(rest[mid][qp])は、ピークレベル（t[０]）が実際のピークと離隔すればするほど、大きな値でなるピーク部分に対して大きな差異値が乗算されることになるため、その値が大きくなる。
【０３５３】
このようにピーク積算p[mid][qp]、ボトム積算b[mid][qp]、誤差rest[mid][qp]は、全てのactivity_group、Qmatrixの位置（pos）におけるカウント値を積算することで、ピクチャ内における全てのサンプルの平均分布を表すパラメータをあらわすことができる。
【０３５４】
Qmatrix/Base QP検出部１０８は、ボトムレベル間を全て処理したか否かを判定し（ステップＳ２２４）、全て処理するまでステップＳ２２３の処理を繰り返し、全て処理すると全てのQmatrixの位置（pos）を処理したか否かを判定する（ステップＳ２２５）。
【０３５５】
このステップＳ２２５にて、Qmatrix/Base QP検出部１０８は、全て処理するまでステップＳ２２１〜Ｓ２２５の処理を繰り返し、全て処理すると、Qmatrixの位置（pos）を初期化し（ステップＳ２２６）する。Qmatrix/Base QP検出部１０８は、全てのアクティビティグループを処理したか否かを判定する（ステップＳ２２７）。Qmatrix/Base QP検出部１０８は、ここで全てのアクティビティグループを処理していなければステップＳ２２１に戻り上記処理を繰り返す。一方、Qmatrix/Base QP検出部１０８は、全てのアクティビティグループを処理していれば、全てのサーチ量子化パラメータQP（sch_qp）について処理したか否かを判定する（ステップＳ２２８）。
【０３５６】
Qmatrix/Base QP検出部１０８は、このステップＳ２２８にて、全てのサーチ量子化パラメータQP（sch_qp）について処理していなければ上記ステップＳ２２１に戻り、上記処理を繰り返し、一方、全てのサーチ量子化パラメータQP（sch_qp）について処理していれば、全てのサーチQmatrix(mid)について処理したか否かを判定する（ステップ２２９）。Qmatrix/Base QP検出部１０８は、このステップＳ２２９にて、全てのサーチ量子化パラメータQP（sch_qp）について処理していなければ上記ステップＳ２２１に戻り、上記処理を繰り返し、一方、全てのサーチ量子化パラメータQP（sch_qp）について処理していれば、判定処理を行い（ステップＳ２３０）、こうして一連の処理を終了することになる。
【０３５７】
次に、判定処理手順ＲＴ１７を示す図２５のフローチャートを参照して、図２４のステップＳ２３０の判定処理について更に詳細に説明する。
【０３５８】
ここでは、ピーク積算p[mid][qp]、ボトム積算b[mid][qp]、誤差rest[mid][qp]を用いて前回符号化した場合の量子化行列Qmatrixとピクチャの量子化パラメータQPを求める。尚、ステップＳ２３１及びステップＳ２３７は省略することもできる。
【０３５９】
先ず、Qmatrix/Base QP検出部１０８は、誤差最小値(min_rest_norm)をrest[0][0]などで初期化する（ステップＳ２３１）。次いで、Qmatrix/Base QP検出部１０８は、ピーク積算p[mid][qp]がボトム積算b[mid][qp]よりも大きいか否かを判断する（ステップＳ２３２）。ここでQmatrix/Base QP検出部１０８は、ピーク積算p[mid][qp]がボトム積算b[mid][qp]よりも大きくなければ、ピークｔ[０]が実際のピークである可能性がないため、ステップＳ２３６に移行する。一方Qmatrix/Base QP検出部１０８は、ピーク値積算値がボトム値積算値よりも大きければ、ピークｔ[０]が実際のピークである可能性があるため、誤差rest[mid][qp]をピーク積算p[mid][qp]とボトム積算b[mid][qp]の差で正規化した正規化誤差rest_normを次式に従って求める（ステップＳ２３３）。
【０３６０】
【数２６】
0005212373.tif 000027
【０３６１】
これによりQmatrix/Base QP検出部１０８は、ピークｔ[０]が実際のピークと一致していれば検出されないボトム積算b[mid][qp]をペナルティ因子とした上で、全体的な誤差rest[mid][qp]の変動をピークの高さで正規化することができる。またQmatrix/Base QP検出部１０８は、入力画像データが原画像を表すため単調増加するような場合の正規化誤差rest_normを大きくし、誤差最小値として誤検出されることを確実に防止し得る。
【０３６２】
続いてQmatrix/Base QP検出部１０８は、ステップＳ２３３によって算出された正規化誤差rest_normが誤差最小値より小さいか否かを判定する（ステップＳ２３４）。Qmatrix/Base QP検出部１０８は、正規化誤差rest_normが誤差最小値より小さければ誤差最小値を更新し（ステップＳ２３５）、ステップＳ２３６に進む。すなわちステップＳ２３５は、離散的な分布状態を検出した場合のみ実行される処理であってmin_rest_norm=rest_normとする。
【０３６３】
また、全ての量子化行列Qmatrix及びサーチ量子化パラメータQP（sch_qp）のうちで、正規化誤差rest_normが最小となる場合のサーチ量子化パラメータQP（sch_qp）とサーチQmatrix(mid)が前回の符号化で使用されたピクチャの量子化パラメータQPと量子化行列Qmatrixを示す。この処理が一度も呼ばれない場合、量子化の離散状態が検出されなかった場合で、前回１度も符号化していない原画像と見なすことができる。
【０３６４】
続いてQmatrix/Base QP検出部１０８は、全てのサーチ量子化パラメータQP（sch_qp）を処理したか否かを判定する（ステップＳ２３６）。Qmatrix/Base QP検出部１０８は、全てのサーチ量子化パラメータQP（sch_qp）を処理していなければステップＳ２３２に戻り、上記処理を繰り返す。一方、Qmatrix/Base QP検出部１０８は、全てのサーチ量子化パラメータQP（sch_qp）を処理していれば、サーチ量子化パラメータQP（sch_qp）の範囲を初期化し（ステップＳ２３７）、全ての量子化行列Qmatrixの候補を処理したか否かを判断する（ステップＳ２３８）。ここでQmatrix/Base QP検出部１０８は、全ての候補を処理していなければステップＳ２３２に戻り、上記処理を繰り返し、一方で全ての候補を処理していれば、一例の処理を終了する。
【０３６５】
次に、入力画像切替処理手順ＲＴ１８を示す図２６のフローチャートを参照して、入力画像切り替え処理について詳細に説明する。符号化装置１２では、前述した図２５の処理により、入力信号が原画像であるか、前回符号化した画像であるかを検出できるため、この条件に基づいて、入力信号を切り替える。すなわち符号化装置１２では、量子化歪の目立ちやすい原画像に対しては入力画像データに対してローパスフィルタ処理を施し、目立ちにくい原画像の場合にはそのまま入力画像データを入力する。一方符号化装置１２は、入力画像データが符号化したことのある非原画である場合は、入力画像データを用いてバックサーチ処理をすることで効率を改善するものである。
【０３６６】
すなわち、符号量制御部１０９は、Qmatrix/Base QP検出部１０８から見積量子化行列QmatrixE及び見積量子化パラメータQeが供給されたか否かにより前回符号化時の量子化行列Qmatrixとピクチャの量子化パラメータQPが見つかったか否かを判別する（ステップＳ２４１）。符号量制御部１０９は、それらが見つかった場合には、バックサーチ部２１０を「ON」に切り替え（ステップＳ２４２）、入力画切り替え処理部２０３によってDCT部２０５に対して入力画像データを出力する（ステップＳ２４３）。この結果、バックサーチ処理では、予測画像として入力画像が使用されることになる。
【０３６７】
一方、符号量制御部１０９は、ステップＳ２４１で、前回符号化時の量子化行列Qmatrixとピクチャの量子化パラメータQPが見つからなかった場合には、バックサーチ部２１０を「OFF」に切り替え（ステップＳ２４４）、符号量予測処理で求めた予測量子化パラメータQPｄが所定の歪閾値よりも大きいか否かを判断する（ステップＳ２４５）。ここで、符号量制御部１０９は、符号量予測処理で求めた予測量子化パラメータQPが歪閾値よりも大きい場合、入力画切り替え処理部２０３によってローパスフィルタ処理部２０１からの信号をDCT部２０５に対して出力し、大きくない場合には入力画切り替え処理部２０３によってディレイバッファ２０２からの信号を出力し（ステップＳ２４７）、この処理を終了する。
【０３６８】
以上説明したように、本発明の量子化係数による原画判定処理によれば、DCT後の離散的な分布状態から、高い精度で、前回符号化した信号か否かを見極めることで、1st時（原画像）に対してのみに使用したいプレフィルタ処理（ローパスフィルタ処理）を切り替える判定することができるため、1st画像の主観画質を改善しつつ、ダビング特性を維持することができる。また、前回符号化した信号である場合は、予測画像に入力画像を使用することで、バックサーチの検出効率を改善する。分布状態から割り出したピクチャの平均量子化パラメータQPと量子化行列Qmatrixを割り出し、バックサーチ部の演算を削減することが出来る。
【０３６９】
（４−５）３パス符号化処理手順
次に、第３の実施の形態における３パス符号化処理手順ＲＴ１１を、図１７のフローチャートを用いて説明する。
【０３７０】
符号化装置１２は、入力画像データが供給されると、ステップＳ１０１に移り、アクティビティグループを算出し、次のステップＳ１０２へ移る。
【０３７１】
ステップＳ１０２において、符号化装置１２は、画面内予測モードを決定すると、次のステップＳ１０３へ移る。なおステップＳ１０１とＳ１０２は、同時並行的に実行されても良い。
【０３７２】
ステップＳ１０３において、符号化装置１２は、ステップＳ１０２において決定された画面内予測モードを用いて画面内予測を行うと共に、ＤＣＴ処理、量子化処理を実行すると、次のステップＳ１０３へ移る。
【０３７３】
ステップＳ１０３において、符号化装置１２は、符号量予測処理手順ＲＴ１４へ移り、全ての量子化パラメータQPによる発生符号量を予測すると、次のステップＳ２０１へ移る。
【０３７４】
ステップＳ２０１において、符号化装置１２は、量子化係数による原画判定処理手順ＲＴ１６へ移り、符号量予測処理で用いた量子化係数をそのまま使用して原画判定を実行すると、次のステップＳ２０２へ移る。このとき符号化装置１２は、入力画像データが非原画像であった場合には、見積量子化行列QmatrixE及び見積量子化パラメータQPeを検出することになる。
【０３７５】
ステップＳ２０２において、符号化装置１２は、入力画像データが原画像であるか否かを判別し、肯定結果が得られた場合には、次のステップＳ１０５へ移る。
【０３７６】
ステップＳ１０５において、符号化装置１２は、Flatな量子化行列Qmatrixを用いて目標符号量に最も近い量子化パラメータQPを選択すると、次のステップＳ１０６へ移る。ステップＳ１０６において、符号化装置１２は、当該量子化パラメータQPに基づいて予測量子化行列QmatrixＤを決定し、次のステップＳ１０７へ移る。
【０３７７】
ステップＳ１０７において、符号化装置１２は、予測量子化行列QmatrixＤを用いたときの発生符号量が目標符号量に最も近くなる量子化パラメータQPを予測量子化パラメータQPdとして決定すると、次のステップＳ１０８へ移る。
【０３７８】
ステップＳ１０８において、符号化装置１２は、予測量子化パラメータQPd及び予測量子化行列QmatrixＤを用いて第２のプレエンコード処理を実行すると、次のステップＳ１０９へ移る。
【０３７９】
ステップＳ１０９において、符号化装置１２は、ステップＳ１０９における発生符号量から予測量子化パラメータQPdを補正することにより、基本量子化パラメータＱＭＢを算出すると、次のステップＳ１１０へ移る。
【０３８０】
このときステップＳ１１０において、符号化装置１２は、予測量子化行列QmatrixＤ及び基本量子化パラメータＱＭＢを用いて本エンコードを実行すると、終了ステップに移って処理を終了する。
【０３８１】
これに対してステップＳ２０２において否定結果が得られた場合、このことは入力画像データが既に符号化されたことのある非原画像であるため、符号化装置１２は、次のステップＳ２０４へ移る。
【０３８２】
ステップＳ２０４において、符号化装置１２は、ステップＳ２０１において見積もられた見積量子化行列QmatrixEを用い、見積量子化パラメータQPeに基づく検索範囲によりバックサーチ処理を実行すると、次のステップＳ１１０へ移る。このとき符号化装置１２は、検出量子化パラメータQPbを検出することになる。
【０３８３】
ステップＳ１１０において、符号化装置１２は、見積量子化行列QmatrixE及び検出量子化パラメータQPbを用いて本エンコードを実行すると、終了ステップへ移って処理を終了する。
【０３８４】
（４−６）動作及び効果
以上の構成において、符号化装置１２は、画像データとしての差分画像データに対し直交変換を実行してＤＣＴ係数を生成する。符号化装置１２は当該ＤＣＴ係数に基づく量子化係数を構成する係数要素（量子化係数絶対値level）の値ごとの発生回数をカウントし、量子化係数絶対値levelの分散状態に基づいて、ピクチャごとの量子化パラメータを見積もる。
【０３８５】
これにより符号化装置１２は、量子化係数絶対値levelの発生回数の分散状態に基づいて入力画像データが原画であるか非原画であるかを判別できる。すなわち符号化装置１２は、バックサーチ処理のように量子化パラメータを変更して何度も処理を行わなくても、一度算出された量子化係数絶対値levelの発生回数を用いて、簡易な処理で原画/非原画を判別することができる。
【０３８６】
また符号化装置１２は、バックサーチ処理の前段で原画/非原画を判別することができるため、原画であった場合には処理の複雑なバックサーチ処理を実行しなくても済む。これにより符号化装置１２は、バックサーチ処理の後に原画／非原画を判別する方法と比較して、原画であった場合の符号化処理を高速化し得る。
【０３８７】
さらに符号化装置１２は、ＤＣＴ係数をスケーリング値としての最小の量子化パラメータQPで除算した量子化係数を用いる。これにより符号化装置１２は、ＤＣＴ係数をスケーリングすることができるため、量子化係数をカウントするためのカウンタの数を減少させることができる。
【０３８８】
また符号化装置１２は、量子化係数の要素の絶対値ごとの発生回数をカウントすることにより、カウンタの数をさらに減少させることができる。
【０３８９】
さらに符号化装置１２は、量子化係数絶対値levelが最小値（ただし、ゼロを除く）となる１番目ピークに基づいて、量子化パラメータQPを検出する。これにより符号化装置１２は、１番目ピークについてのみ処理を実行すれば良いため、処理負荷を軽減できる。
【０３９０】
また符号化装置１２は、量子化係数の発生回数に基づいたエントロピー計算により、各量子化パラメータにおける発生符号量を予測し、予測された発生符号量が目標符号量に近くなる量子化パラメータQPを、予測量子化パラメータQPｄとして予測する。符号化装置１２は、予測量子化パラメータQPｄを用いてＤＣＴ係数を量子化し、結果として得られる符号化ストリームの発生符号量に基づいて、予測量子化パラメータQPｄを補正する。
【０３９１】
これにより符号化装置１２は、発生符号量の予測のためにカウントされた量子化係数の発生回数をそのまま原画／非原画の判定に用いることができる。
【０３９２】
さらに符号化装置１２は、マクロブロックでなる入力画像データを、当該入力画像データの複雑さを表すアクティビティに応じてアクティビティグループ分類する。そして符号化装置１２は、アクティビティグループごとにカウントされた量子化係数絶対値levelの発生回数を、アクティビティを用いて補正した上で積算することにより、量子化係数絶対値levelの値ごとの発生回数として生成する。
【０３９３】
これにより符号化装置１２は、発生符号量の算出のためにアクティビティグループごとにカウントされたカウント値をそのまま用いて量子化係数絶対値levelの値ごとの発生回数を算出することができ、カウント値を再度カウントし直さなくても済む。
【０３９４】
また符号化装置１２は、量子化係数絶対値levelの行列における位置ごとにカウントされた量子化係数絶対値levelの発生回数を、使用されたと想定したサーチ量子化係数における同位置の値を用いて補正した上で積算することにより、量子化係数絶対値levelの値ごとの発生回数として生成する。
【０３９５】
これにより符号化装置１２は、量子化行列Qmatrixの予測のために行列の位置ごとにカウントされたカウント値をそのまま用いて量子化係数絶対値levelの値ごとの発生回数を算出することができ、カウント値を再度カウントし直さなくても済む。
【０３９６】
さらに符号化装置１２は量子化係数絶対値levelに対して基準要素値であるピークレベル(t[0])を設定し、当該ピークレベル(t[0])と離隔する離隔値（t[0]−lev）と量子化係数絶対値levelの発生回数とを乗算した値を積算した積算値を、当該ピークレベル(t[0])に対応する誤差rest[mid][qp]として算出する。
【０３９７】
このとき符号化装置１２は、ピークレベル(t[0])ごとの積算値のうち、最小の値をとる誤差rest[mid][qp]に対応するピークレベル(t[0])に基づいて、前回の符号化に使用された量子化パラメータQP近傍の見積量子化パラメータQPeを決定する。
【０３９８】
これにより符号化装置１２は、誤差rest[mid][qp]が最小となる誤差最小値（min_rest_norm）を１番目ピークとして検出することができ、当該１番目ピークの量子化係数絶対値levelから、ピクチャの平均となる見積量子化パラメータQPeを検出することができる。
【０３９９】
また符号化装置１２は、量子化係数絶対値levelに対して検出対象となるサーチ量子化パラメータQP（sch_qp）に基づくピークレベル(t[0])を設定し、ピークレベル(t[0])とボトムレベル(t[1])との比較により当該ピークレベル(t[0])が極大値であると判別された場合に、当該サーチ量子化パラメータQP（sch_qp）を見積量子化パラメータQPeとして決定する。
【０４００】
これにより符号化装置１２は、ピークのみを確実に検出することができ、見積量子化パラメータQPeを適切に決定することができる。
【０４０１】
さらに見積量子化パラメータQPe及び検出対象となる量子化行列であるサーチQmatrixに基づくピークレベル(t[0])を設定し、当該ピークレベル(t[0])が極大値であると判別された場合に、当該サーチQmatrixを見積量子化行列サーチQmatrixEとして決定する。
【０４０２】
これにより符号化装置１２は、量子化係数から、量子化パラメータQPに加えて見積量子化行列サーチQmatrixEを検出することができる。
【０４０３】
以上の構成によれば、符号化装置１２は、一旦符号化された画像データではDCT係数の発生回数が離散的になることを利用し、当該DCT係数の要素値の発生回数に基づいて前回符号化された量子化パラメータQPを見積量子化パラメータQPeとして見積もるようにした。
【０４０４】
これにより符号化装置１２は、バックサーチ処理の際、見積量子化パラメータQPeに基づいて検索範囲を設定することができるため、バックサーチ処理の対象となる量子化パラメータQPの数を減少させることができ、バックサーチ処理の処理負荷を軽減することができる。
【０４０５】
また符号化装置１２は、見積量子化パラメータQPeの検出有無に応じて、入力画像データが原画であるか非原画であるかを判別するようにした。これにより符号化装置１２は、バックサーチ処理の前段で原画／非原画を判別することができるため、原画である場合に処理負荷の大きいバックサーチ処理を実行しなくて済むと共に、原画に対して発生符号量の予測により算出された適切な基本量子化パラメータQPＭＢを用いることができる。
【０４０６】
（４−７）他の実施の形態
なお上述した第３の実施の形態においては、符号化装置１２がエントロピー計算を用いた符号量予測処理及び量子化係数を用いた原画判定処理を実行するようにした場合について述べた。本発明はこれに限らず、例えば符号化装置１２がエントロピー計算を用いた符号量予測処理のみを実行するようにしても良い。
【０４０７】
この場合、符号化装置１３は、図２７に示されるように、第１のプレエンコードを行う第１のプレエンコーダ１００、第２のプレエンコードを行う第２のプレエンコーダ２００、本エンコードを行うパラメータエンコーダ３００、符号量制御部１０９、ディレイバッファ２０１、３０１を有する。第１のプレエンコーダ１００は、画面内予測モード決定部１０２、画面内予測処理部１０３、DCT部１０４、量子化部１０５、エントロピー計算部１０７、アクティビティ計算部１０１からなる。第２のプレエンコーダ２００は、画面内予測処理部２０３、DCT部２０４、量子化部２０６、符号長計算部２１１、バッファ２０９、IDCT(Inverse DCT)部２０８、逆量子化部２０７からなる。パラメータエンコーダ３００は、画面内予測処理部３０２、DCT部３０３、量子化部３０４、エントロピー符号化部３０８、バッファ３０７、IDCT部３０６、逆量子化部３０５からなる。
【０４０８】
このような構成において、入力画像データは、最初に第１のプレエンコーダ１００の画面内予測モード決定部１０２に入力される。画面内予測モード決定部１０２は、この入力画像データに基づいて画面内予測モードを決定する。ここで決定された画面内予測モードは、第２のプレエンコーダ２００、パラメータエンコーダ３００にも送出され、第２のプレエンコーダ２００による第２のプレエンコード処理、パラメータエンコーダ３００による本エンコード処理でも使用される。
【０４０９】
次に画面内予測処理部１０３では、予測画像データと入力画像データとの差分画像が計算される。ここでは、処理を簡単にするために入力画像データから予測画像データを生成する。DCT部１０４では整数精度DCTがなされDCT係数が量子化部１０５に送られる。量子化部１０５では、DCT係数について量子化を行い、その出力をエントロピー計算部１０７に送出する。エントロピー計算部１０７は、エントロピーを計算し発生符号量を予測する。符号量予測の結果、次のステップで使用するピクチャの予測量子化パラメータQPdと予測量子化行列QmatrixDが求められ、符号量制御部１０９に入力される。ここで、補足すると、量子化パラメータQPとは、AVCにおいて量子化ステップを指定するための値であり、量子化パラメータQPが大きくなると量子化ステップも大きな値となる。
【０４１０】
画面内予測モードの決定と同時に、第１のプレエンコーダ１００では、アクティビティ計算部１０１がアクティビティを計算し、該アクティビティによりマクロブロックMBをグループ分けする。各マクロブロックMBに対して決定されたアクティビティグループ（Activity Group）番号はエントロピー計算部１０７と符号量制御部１０９に入力される。
【０４１１】
符号量制御部１０９は、第１のプレエンコーダ１００の第１のプレエンコード処理により求められたピクチャの平均となる予測量子化パラメータQPd、予測量子化行列QmatrixD、各マクロブロックのActivity Groupから、量子化の情報（量子化行列Qmatrix、各MBの量子化パラメータQP）を第２のプレエンコーダ２００に送り、第２のプレエンコード処理を行う。
【０４１２】
即ち、ディレイバッファ２０１を介して遅延処理の後に入力画像データが入力され、画面内予測処理部２０３では予測画像データと入力画像データとの差分が計算され、DCT部２０４によるDCT、量子化部２０６による量子化を経て、符号長計算２１１において逆量子化され係数データが再生され、IDCT部２０８により該係数データがIDCT変換され、入力画像に係る画像データが再現され、バッファ２０９に保存されることになる。
【０４１３】
この第２のプレエンコーダ２００による第２のプレエンコード処理の終了後、発生符号量を得る。符号量制御部１０９は、得られた発生符号量から、ピクチャの予測量子化パラメータQPdを補正して基本量子化パラメータQPMBを算出することになる。
【０４１４】
パラメータエンコーダ３００は、第２のプレエンコーダ２００による第２のプレエンコード処理により決定されたピクチャの基本量子化パラメータQPMB、第１のプレエンコード処理により決定された予測量子化行列QmatrixD、アクティビティグループActivity Groupを使用して本エンコードを行うことになる。
【０４１５】
即ち、ディレイバッファ３０１を介して遅延処理された入力画像データを受けると、画面内予測処理部３０２では第１のプレエンコード時に決定された予測モードで、予測画像と入力画像との差分画像が計算され、DCT部３０３によるDCT部３０３、量子化部３０４による量子化を経てエントロピー符号化部３０８によりエントロピー符号化がなされ、出力ストリームが出力される。尚、量子化部３０４の出力は、逆量子化部３０５において逆量子化され、係数データが再生され、IDCT部３０６により該係数データがIDCT変換され、入力画像に係る画像データが再現され、バッファ３０７に保存されることになる。
【０４１６】
図２８に、符号化装置１３によって実行される３パス符号化処理手順ＲＴ１９を示している。各ステップにおける処理は、図１７とほぼ同様なため、説明を省略する。
【０４１７】
さらに上述した第３の実施の形態においては、アクティビティに対応して符号量予測処理を実行するようにした場合について述べたが、本発明はこれに限らず、必ずしもアクティビティに対応する必要はない。また量子化行列Qmatrixについても同様である。また適応量子化の指標としてアクティビティを用いる必要はなく、他の指標を用いて適応量子化を行っても良い。
【０４１８】
また上述した第３の実施の形態においては、バックサーチ処理の際、見積量子化行列Ｑmatrixを用いて量子化パラメータQPのみを検出する場合について述べた。本発明はこれに限らず、バックサーチ処理により量子化行列Ｑmatrixを検出するようにしても良い。この場合、例えば見積量子化行列ＱmatrixEに基づいて量子化行列Qmatrixの検索数を限定して演算を削減することができる。
【０４１９】
さらに上述した第３の実施の形態においては、ピクチャごとに見積量子化パラメータQPe及び見積量子化行列ＱmatrixEを見積もるようにした場合について述べた。本発明はこれに限らず、検出する単位に制限はない。本発明は、例えば量子化行列Qmatrixがスライス毎に設定されている場合には、スライスごとに処理しても良い。また本発明は、予測量子化パラメータQPｄ、予測量子化行列QmatrixD及び基本量子化パラメータQPMBを予測するときについても同様であり、予測する単位に制限はない。
【０４２０】
さらに上述した第３の実施の形態においては、ピクチャごとに発生符号量を予測するようにした場合について述べた。本発明はこれに限らず、発生符号量の予測する単位について、特に制限はなく、例えばスライス単位やGOP単位ごとに予測することが可能である。
【０４２１】
さらに上述した第３の実施の形態においては、符号化装置１３が符号量予測処理と量子化係数による原画判定処理の双方を実行するようにした場合について述べた。本発明はこれに限らず、量子化係数による原画判定処理のみを実行するようにしても良い。この場合、符号化装置１３は、３パスによる符号化処理手順ＲＴ１１（図１７）におけるステップＳ２０１〜Ｓ２０４を順次実行する。このとき符号化装置は、適応量子化を実行しないようにし、量子化係数の位置にのみ応じて量子化係数の発生回数を単純にカウントしても良い。また符号化装置は、量子化行列Qmatrixがフラットな場合には、量子化係数を単純にカウントしても良い。
【０４２２】
さらに上述した第３の実施の形態においては、DCT係数を使用が想定される最小の量子化パラメータQPによって除算するようにした場合について述べた。本発明はこれに限らず、DCT係数における係数要素の値の発生回数をそのままカウントしても良い。また、符号量予測処理において「０」以外の量子化パラメータQPを用いた場合には、「０」で除算したときの値になるよう量子化係数を補正しても良い。
【０４２３】
さらに上述した第３の実施の形態においては、判定処理手順ＲＴ１７に従って量子化係数絶対値レベルLevelのカウント値から１番目ピークを検出するようにした場合について述べた。本発明はこれに限らず、その他種々の方法により１番目ピークを検出しても良い。また必ずしも１番目ピークを検出する必要はなく、２番目以降のピークを検出したり、複数のピークを検出、または全体的な波形により分散状態を算出しても良い。
【０４２４】
さらに上述した第３の実施の形態においては、アクティビティグループ及び量子化係数における位置ごとにカウントされた発生回数を補正して積算するようにした場合について述べた。本発明はこれに限らず、例えばサンプル数が十分に確保できる場合には、アクティビティグループ及び量子化係数における位置ごとに量子化パラメータQPを検出しても良い。
【０４２５】
さらに上述した第３の実施の形態においては、原画判定処理として、原画／非原画の判定と見積量子化パラメータQP及び見積量子化行列Qmatrixの見積もりの両方を実行するようにした場合について述べた。本発明はこれに限らず、一方のみを実行するようにしても良い。
【０４２６】
さらに上述した第３の実施の形態においては、ＡＶＣ規格に準拠して量子化係数による原画判定処理を実行するようにした場合について述べた。本発明はこれに限らず、例えばＭＰＥＧ−２等、予め定められた複数の量子化パラメータＱＰ等の量子化指標に基づく複数の量子化ステップにより量子化を実行する符号化方式に適用することができる。
【０４２７】
さらに上述した第３の実施の形態においては、直交変換部としてのDCT部１０４と、除算因子算出部、総和算出部及び量子化因子検出部としてのバックサーチ部２１０とによって画像処理装置としての符号化装置１０を構成するようにした場合について述べた。本発明はこれに限らず、その他種々の構成でなる直交変換部と、除算因子算出部と、総和算出部と、量子化因子検出部とによって本発明の画像処理装置を構成しても良い。
【０４２８】
さらに上述した第３の実施の形態においては、直交変換部としてのDCT部１０４と、要素カウント部としてのレベル計数部１０６と、原画判定部としてのQmatrix/Base QP検出部１０８とによって画像処理装置としての符号化装置１２を構成するようにした場合について述べた。本発明はこれに限らず、その他種々の構成による直交変換部と、要素カウント部と、原画判定部とによって本発明の画像処理装置を構成するようにしても良い。
【０４２９】
（５）第４の実施の形態
次に、第４の実施の形態について説明する。第４の実施の形態においては、演算丸めを抑制するために、量子化パラメータQPに応じて量子化行列Qmatrixにおける各値（以下、これを要素と呼ぶ）に所定の選択ルールを設ける点が、上述した第２の実施の形態と異なっている。
【０４３０】
（５−１）選択ルール
MPEGやAVC規格において、ダビング特性を良くするために補償回路がしばしば導入される。ダビング補償回路は符号化で使われるパラメータ(量子化パラメータQPや量子化行列Qmatrixなど)の再現性を良くして、繰り返し量子化による歪が乗るのを避けることもなされているが、それだけではダビングを繰り返した場合にSNRが収束しないことがある。また、補償回路により全体的なSNRの低下は抑制される一方、特定のマクロブロックに対して演算誤差が蓄積した場合には、そのマクロブロックが浮き出て、視覚的に不自然な映像になることがある。
【０４３１】
一方、AVC Intraではダビング(符号化、復号を繰り返し行うこと)時に、SNR低下を抑制するために符号化で使われるパラメータを再利用するという手法がしばしば採用される。しかし、実際には前回の符号化で使われたものと完全に同じ符号化パラメータを使って再度符号化しても、演算丸めでSNRの低下が起こることがある。
【０４３２】
そこで、この第４の実施の形態に係る符号化装置、方法は、符号化の過程で演算丸めが起こる箇所の一つである量子化行列Qmatrixを用いた演算部において、予め丸めの影響が出ない、または影響が出にくいような値を提案するものである。
【０４３３】
具体的には、ダビング特性の向上のために、以下の手段を採用する。
【０４３４】
・量子化行列Qmatrixの要素として、16の倍数を使う。
【０４３５】
・量子化パラメータQPが6以上の場合、量子化行列Qmatrixの要素として、8の倍数を使う。
【０４３６】
・量子化パラメータQPが12以上の場合、量子化行列Qmatrixの要素として、4の倍数を使う。
【０４３７】
・量子化行列Qmatrixの直流成分(DC)に16を使う。
【０４３８】
以下、第４の実施の形態について詳述する。
【０４３９】
AVC Intraでは、符号化の際にDCT係数Wと量子化パラメータQPを用いて、次式により量子化レベルZが計算される（量子化）。
【０４４０】
【数２７】
0005212373.tif 000028
【０４４１】
また、復号の際には量子化レベルZに量子化行列Qmatrixと量子化パラメータQPが掛けられてDCT係数Wを6bit左シフトしたものが復号される（逆量子化）。
【０４４２】
【数２８】
0005212373.tif 000029
【０４４３】
この量子化、逆量子化の式では共に16を量子化行列Qmatrixで除算する、または量子化行列Qmatrixを16で除算するという計算が含まれており、ダビング時に符号化パラメータを完全に再利用しても除算丸めが起こる。この演算において除算丸めを完全になくすためには、数式上量子化行列Qmatrixの各要素が16でなくてはならないが、全ての要素を16とした場合にはダビング特性は良くなるものの、周波数に応じて量子化の強さを変えるという本来の量子化行列Qmatrix導入の意味がなく、現実的ではない。
【０４４４】
そこで、周波数に応じて量子化の強さを変えるという量子化行列Qmatrixの利点を考慮した上で、上記の特性を最大限に活かすために以下の選定ルールをとる。
【０４４５】
（１）量子化行列Qmatrixの要素として、16の倍数を使う。
量子化で16のn倍の値を量子化行列Qmatrixの要素として採用した場合、MFがnの倍数であれば除算丸めは起こらない。従って、除算丸めが起こる確率が小さくなる。また、逆量子化では16の倍数を16で除算することになるので、除算丸めは起こらない。
【０４４６】
（２）量子化パラメータQPが6以上の場合、量子化行列Qmatrixの要素として、8の倍数を使う。  上記のとおり、除算丸めをなくすためには量子化行列Qmatrixの要素を16とすることが必要であるが、量子化行列Qmatrixの要素が8でも量子化では除算丸めが発生せず、逆量子化においてもQPが6以上の場合には、2floor(QP/6）が2の倍数となるため、16で除算される積が16の倍数となり、除算丸めは発生しない。
【０４４７】
（３）量子化パラメータQPが12以上の場合、量子化行列Qmatrixの要素として、4の倍数を使う。  これは（２）と同様の考え方で、QPが12以上の場合には、2floor(QP/6）が4の倍数となるため、16で除算される積が16の倍数となり、除算丸めは発生しない。
【０４４８】
（４）量子化行列Qmatrixの直流成分(DC)に16を使う。
【０４４９】
入力画像の周波数空間におけるそれぞれの要素の視覚的特性を考えると、ダビング時にDCが除算丸めにより発散(増加、または減少を繰り返す)した場合、そのマクロブロックのみが浮き上がって見えることがあるため、上記（２）、（３）の場合を除いては、DCに関しては16を使うことが重要であると考えられる。
【０４５０】
またAVC Intraでは画面内予測により、近隣のマクロブロックの値が参照される為、一つのマクロブロックに歪が乗ると、近隣のマクロブロックにも影響し、特にDCの影響が大きい。その点に関しても16を使うことが望ましい。
【０４５１】
具体的に図２９に示すように、符号化装置１５は、初期パラメータ設定部４００を有しており、選択ルールに沿った量子化行列Qmatrixを記憶している。そして量子化部２３は、量子化する際に使用する量子化パラメータQPに応じ、後述する選択ルールに従って量子化行列Qmatrixを選択するようになされている。
【０４５２】
また符号化装置１５のQmatrix/QP決定部４１は、プレエンコーダ２０による符号化処理に基づいて、量子化パラメータQPに応じて、選択ルールに従って量子化行列Qmatrixを選択するようになされている。
【０４５３】
以上説明したように、本発明の第４の実施の形態によれば、ダビングを繰り返した場合に、除算丸めによる切り上げ、切捨ての蓄積を低減し、結果として、SNRの低下を抑制できると共に、MBの浮き上がりを抑制でき、視覚特性を向上させることができる。
【０４５４】
（５−２）動作及び効果
以上の構成において、符号化装置１５は、量子化パラメータQPの値に応じた量子化行列Qmatrixを設定することにより、効果的に除算丸めを防止し得、符号化による画質の低下を抑制するようになされている。
【０４５５】
（６）第５の実施の形態
次に、第５の実施の形態について説明する。第４の実施の形態では、８×８画素に対するＤＣＴ処理（以下、これを８×８ＤＣＴと呼ぶ）を実行する場合において、演算丸めを抑制する点が、上述した第４の実施の形態と異なっている。この第５の実施の形態による符号化装置１６の構成は、第４の実施の形態による符号化装置１５とほぼ同一なため、説明を省略する。
【０４５６】
（６−１）８×８ＤＣＴにおける演算丸め抑制処理
AVCでは整数精度DCTのブロックサイズの一つとして８×８画素でなるサブブロックを利用することができるが、８×８DCTは４×４画素に対するＤＣＴ処理（以下、これを４×４ＤＣＴと呼ぶ）に比べて整数精度での演算がやや複雑になる。
【０４５７】
例えばJoint Video Team (JVT)から提案された参照ソフトウエア(JM)では、整数精度の演算でなる８×８ＤＣＴとして、８×８ＤＣＴの演算途中で小数部が落とされる演算方法を採用しており、４×４ＤＣＴと比較してDCTの演算精度が悪い。
【０４５８】
特にこのＪＭでは、ダビング(符号化、復号を繰り返すこと)することにより演算誤差が蓄積してしまい、画質の劣化を引き起こしてしまう。例えばＪＭでは、ＳＮＲが４０ｄＢを超えるような領域に対するダビング時の８×８ＤＣＴと４×４ＤＣＴのＳＮＲを比較すると、４×４ＤＣＴと比較して８×８ＤＣＴにおけるＳＮＲの低下が顕著となってしまう。
【０４５９】
ここで、８×８ＤＣＴの入力(実空間サンプル、すなわち８×８画素単位で供給される差分画像データ)をｘ、出力(周波数空間ＤＣＴ係数サンプル)をＸとすると、出力Ｘは（２９）式の変換行列Ａを用いて（３０）式のように表される。
【０４６０】
【数２９】
0005212373.tif 000030
【０４６１】
【数３０】
0005212373.tif 000031
【０４６２】
すなわち８×８ＤＣＴにおける変換行列Ａは、４×４ＤＣＴ（（３）式）とは異なり、分母が「２」、「４」又は「８」でなる分数が含まれている。
【０４６３】
説明の簡略化のため、上記（３０）式の水平方向の変換のみを考えると、変換は以下のように表記できる(添字のHは水平成分を表す)。
【０４６４】
【数３１】
0005212373.tif 000032
【０４６５】
入力成分ｘHは実空間におけるサンプルの座標（すなわち８×８画素のサンプルの位置）をインデックスiとして入力成分ｘH[i]と表記することができ、出力成分ＸHは周波数空間におけるサンプルの座標をインデックスjとして出力成分ＸH[j]のように表記することができる。
【０４６６】
ここで出力成分ＸH[0]は８×８ＤＣＴ後の水平方向の直流成分(DC)の係数であり、出力成分ＸH[7]は８×８ＤＣＴ後の水平方向の最も高い周波数成分の係数である。例としてＡＶＣで採用されている８×８ＤＣＴの水平方向の低周波側から２番目の成分ＸH[1]を数式で表すと、以下のように記述される。
【０４６７】
【数３２】
0005212373.tif 000033
【０４６８】
ＡＶＣ規格では、整数精度ＤＣＴが用いられており、乗算と右シフト(２のべき乗による除算)の整数演算で直行変換が実現できるようになっており、小数部が演算の過程で落とされることになる。（２９）式に示したように、８×８ＤＣＴでは、変換行列Ａの各要素が整数でなく、各演算において小数部が発生してしまう。
【０４６９】
このため仮に符号化装置は、ＤＣＴの演算の過程で係数の右シフトを行った場合、小数部が演算の過程で落とされ、演算の精度が悪くなってしまう。
【０４７０】
本発明は、上記の問題への対策として、本考案は演算丸めが起こる右シフトの演算を８×８ＤＣＴを実行する整数精度ＤＣＴ部２２のあとにまとめて行い、演算途中の丸めを最小限に抑えるものである。
【０４７１】
具体的に、符号化装置１６は、図３０に示すように、８×８ＤＣＴの演算に先立ち、整数精度の演算でも演算丸めが発生しないよう水平方向、垂直方向の８×８ＤＣＴ演算の直前にそれぞれ３ｂｉｔ左シフトした入力サンプルからＤＣＴ係数Ｘを計算する。次式に、水平方向における実際の８×８ＤＣＴ演算を示す。
【０４７２】
【数３３】
0005212373.tif 000034
【０４７３】
（３３）式は、次式のように表すことができる。
【０４７４】
【数３４】
0005212373.tif 000035
【０４７５】
すなわち符号化装置１６は、３ｂｉｔの桁上げにより、変換行列Ａの各要素に対して「８」を乗算することになり、変換行列Ａの全ての要素が整数である場合と同様の演算精度を保ち得るようになされている。
【０４７６】
なお（３３）式及び（３４）式の例は水平方向の低周波側から２番目の成分に関しての記述であるが、他の水平方向、垂直方向の変換に関しても同様に３ｂｉｔ左シフトしたものを８×８ＤＣＴの入力信号とする。
【０４７７】
これらの演算によって得られた８×８ＤＣＴ係数Ｘは水平方向、垂直方向それぞれ３ｂｉｔ、すなわち合計６ｂｉｔ左シフトされたものであるので、システム全体(符号化部、復号部)の整合性を保つためには８×８ＤＣＴ演算処理の後に、６ｂｉｔ右シフトしなければならない。
【０４７８】
この６ｂｉｔ右シフトの演算は、これを量子化部２３の内部でまとめて行うことができる。すなわち従来の符号化装置では、下記に示す（３５）式に従って量子化演算を実行することにより、量子化係数に対応する量子化レベルＺを算出する。なおＺは量子化レベル、ＭＦはＡＶＣ規格で定められている値から算出されるスケーリングファクター、ＷはＤＣＴ係数、ｆ１は切り上げ、切り捨て位置を決める丸めファクターである。
【０４７９】
【数３５】
0005212373.tif 000036
【０４８０】
これに対して符号化装置１６の量子化部２３では、（３６）式に従って量子化演算を実行することにより、６ｂｉｔの右シフトを含めて演算することができ、システム全体の整合性を保つことができる。なおｆ２は切り上げ、切り捨て位置を決める丸めファクターであり、整数ＤＣＴ処理部２２における桁上げに伴ってその値がｆ１から変動している。
【０４８１】
【数３６】
0005212373.tif 000037
【０４８２】
すなわち符号化装置１６では、８×８ＤＣＴ演算の前に変換行列Ａの各要素を３ｂｉｔずつ桁上げしておき、量子化演算部２３ｂにおいて６ｂｉｔだけ桁下げする。このとき符号化装置１６は、量子化演算処理時に実行する桁下げと同時に６ｂｉｔの桁下げを実行するため、桁下げの回数を極力減少させることができ、桁下げによる演算丸めを最大限抑制することが可能となる。
【０４８３】
図３０に、８×８ＤＣＴにおける演算丸め抑制処理を概念的なブロック図として示している。
【０４８４】
符号化装置１６における整数精度ＤＣＴ部２２は、入力ｘが供給されると、これを桁上げ部２２ａによって桁上げし、８×８ＤＣＴ演算部２２ｂによって水平方向の８×８ＤＣＴ演算を実行し、出力ＸＨを算出する。なお実際上整数精度ＤＣＴ部２２は、（３３）式に示したように、８×８ＤＣＴ演算の際に各要素を３ｂｉｔ桁上げする。
【０４８５】
さらに整数精度ＤＣＴ部２２は、同様にして、出力ＸＨを桁上げ部２２ｄによって桁上げし、８×８ＤＣＴ演算部２２ｂによって垂直方向の８×８ＤＣＴ演算を実行し、出力Ｘを算出する。この出力Ｘは、ＤＣＴ係数Ｗとして量子化部２３に供給される。
【０４８６】
量子化部２３は、ＤＣＴ係数Ｗが供給されると、量子化演算部２３ａによって量子化処理を実行して量子化レベルＺを算出し、桁下げ部２３ｂによって当該量子化レベルＺを６ｂｉｔ桁下げする。なお実際上量子化部２３は、（３６）式に従って、量子化演算の際に各要素を６ｂｉｔ桁上げする。
【０４８７】
このように符号化装置１６は、８×８ＤＣＴにおいて、８×８ＤＣＴ演算処理前に変換行列Ａの各要素を３ｂｉｔだけ桁上げしておき、演算結果を後に６ｂｉｔだけ桁上げする。これにより符号化装置１６は、変換行列Ａの各要素が分数でなることに起因して８×８ＤＣＴ演算処理における演算丸めを防止すると共に、システム全体の整合性を保ち得るようになされている。
【０４８８】
（６−２）動作及び効果
以上の構成において、符号化装置１６は、整数精度ＤＣＴ処理として８×８ＤＣＴ処理を実行する際、水平方向及び垂直方向による８×８ＤＣＴ演算処理が終了する前に、演算処理の対象となる画像データ又は変換行列の各要素を水平方向及び垂直方向に対応させてそれぞれ３ｂｉｔずつ桁上げする（（３３）式）。そして符号化装置１６は、水平方向及び垂直方向による８×８ＤＣＴ演算処理が終了した後に、ＤＣＴ係数に基づく係数データを各３ｂｉｔずつ桁下げする（（３６）式）。
【０４８９】
これにより符号化装置１６は、８×８ＤＣＴ演算処理おいて生じる小数点部分の演算丸めを抑制し得、符号化による画質の低下を効果的に防止できる。符号化装置１６は、特にダビング時における複数の８×８ＤＣＴ演算処理に応じた画質の低下を効果的に防止できる。
【０４９０】
（６−３）復号化装置
次に、このようにして符号化された本符号化ストリームを復号する復号化装置５００の構成を、図３１を用いて説明する。
【０４９１】
復号化装置５００は、本符号化ストリームが供給されると、当該本符号化ストリームに設定された設定情報を用いて当該本符号化ストリームの復号化を行う。具体的に復号化装置５００は、本符号化ストリームを復号化部５０１に供給する。復号化部５０１は、本符号化ストリームを復号化して量子化データを生成し、逆量子化部５０２に供給する。
【０４９２】
逆量子化部５０２は、設定情報に設定された量子化パラメータＱＰを用いて量子化データを逆量子化することにより、ＤＣＴ係数でなる画像データを復元し、これをＩＤＣＴ部５０３へ供給する。ＩＤＣＴ部５０３は、画像データに対してＩＤＣＴ処理を施し、差分画像データを予測画像加算部５０４に供給する。
【０４９３】
予測画像加算部５０４は、差分画像データに対し、逆イントラ予測処理及び動き予測処理によって予測した予測値を加算し、画像を表すビデオ出力信号を生成し、これを図示しない外部機器などに出力するようになされている。
【０４９４】
（６−４）他の実施の形態
なお上述した第５の実施の形態においては、８×８ＤＣＴ演算処理の際に、変換行列Ａの各要素を３ｂｉｔだけ桁上げするようにした場合について述べた。本発明はこれに限らず、例えば予め変換行列Ａの各要素を３ｂｉｔだけ桁上げしたものを記憶しておき、これを使用するようにしても良い。また本発明では、入力ｘの各要素を予め３ｂｉｔずつ桁上げするようにしても、同様の効果を得ることができる。さらに本発明では、２桁〜１桁若しくは４桁以上桁上げしても、演算丸めを抑制する効果を得ることができる。
【０４９５】
さらに上述した第５の実施の形態においては、量子化演算部２３ａの後段で６ｂｉｔ桁下げを実行するようにした場合について述べた。本発明はこれに限らず、例えば８×８ＤＣＴ演算部２２ｄの後段で６ｂｉｔ桁下げをしても良い。これにより、整数精度ＤＣＴ部２２と量子化部２３とが回路上別ブロックとして設計されている場合、桁上げによりデータ量が増大することによりデータの伝送経路を太くしなくて済む。また８×８ＤＣＴ演算部２２ｂ及び２２ｃの後段でそれぞれ３ｂｉｔづつ桁下げするようにしても良い。
【０４９６】
さらに上述した第５の実施の形態においては、桁上げ部としての桁上げ部２２ａと、桁下げ部としての桁上げ部２２ｃとによって画像処理装置としての符号化装置１６を構成するようにした場合について述べた。本発明はこれに限らず、その他種々の構成による桁上げ部と桁下げ部とによって本発明の画像処理装置を構成するようにしても良い。
【０４９７】
さらに上述した第１〜第５の実施の形態においては、画像処理装置としての符号化装置が符号化処理を実行する場合について述べた。本発明はこれに限らず、画像処理装置が符号化処理及び復号化処理の両方を実行するようにしても良い。
【０４９８】
以上、本発明の実施の形態について説明したが、本発明はこれに限定されることなくその趣旨を逸脱しない範囲で種々の改良・変更が可能であることは勿論である。
【０４９９】
例えば、前述した符号化装置及び方法の機能をコンピュータがプログラムにより実現し、或いは該プログラムを記録した記録媒体として実現することも可能である。
【符号の説明】
【０５００】
２……第１の符号化部、３……バックサーチ部、４……第２の符号化部、５……予測モード検出部、６……Qｍａｔｒｉｘ検出部、７……ＱＰ検出部、２０……プレエンコーダ、２１……画面内予測モード判定部、２２……整数精度ＤＣＴ部、２３……量子化部、２４……エントロピー計算部、３０……バックサーチ部、３１……Ｑｍａｔｒｉｘ検出部、３２……ＱＰ検出部、３３……画面内予測モード検出部、４０……符号量制御部、４１……Ｑｍａｔｒｉｘ／ＱＰ決定部、４５……画面内予測モード決定部、５０……パラメータエンコーダ、５１……画面尚予測処理部、５２……整数精度ＤＣＴ部、５３……量子化部、５４……エントロピー符号化部、１００……第１のプレエンコーダ、１０９……符号量制御部、２００……第２のプレエンコーダ、３００……パラメータエンコーダ。
【図１】
0005212373.tif 000038
【図２】
0005212373.tif 000039
【図３】
0005212373.tif 000040
【図４】
0005212373.tif 000041
【図５】
0005212373.tif 000042
【図６】
0005212373.tif 000043
【図７】
0005212373.tif 000044
【図８】
0005212373.tif 000045
【図９】
0005212373.tif 000046
【図１０】
0005212373.tif 000047
【図１１】
0005212373.tif 000048
【図１２】
0005212373.tif 000049
【図１３】
0005212373.tif 000050
【図１４】
0005212373.tif 000051
【図１５】
0005212373.tif 000052
【図１６】
0005212373.tif 000053
【図１７】
0005212373.tif 000054
【図１８】
0005212373.tif 000055
【図１９】
0005212373.tif 000056
【図２０】
0005212373.tif 000057
【図２１】
0005212373.tif 000058
【図２２】
0005212373.tif 000059
【図２３】
0005212373.tif 000060
【図２４】
0005212373.tif 000061
【図２５】
0005212373.tif 000062
【図２６】
0005212373.tif 000063
【図２７】
0005212373.tif 000064
【図２８】
0005212373.tif 000065
【図２９】
0005212373.tif 000066
【図３０】
0005212373.tif 000067
【図３１】
0005212373.tif 000068