(57)【要約】【課題】イントラ予測符号化を並列処理化した際にも的確なイントラ／インター判定を実行可能な動画像符号化技術を提供する。【解決手段】イントラ予測符号化においてサブマクロブロックを並列処理する場合に、選択したインター予測モードで使用すべき参照画素が符号化されていない場合は、入力画像から参照画素を取得してインター予測誤差を算出する。その際、符号化済の画素を参照してインター予測した際の符号化劣化度により上記インター予測誤差を補正する。他のインター予測モードで算出されたインター予測誤差と補正されたインター予測誤差を比較して採用すべきインター予測モードを決定する。【選択図】図１
2011041014.tif 000002
【特許請求の範囲】
【請求項１】
入力画像につき、マクロブロック毎にインター予測とイントラ予測とのいずれかを選択して符号化処理を行う動画像符号化装置であって、
前記インター予測及び前記イントラ予測における参照画像を記憶するメモリと、
注目マクロブロックと前記参照画像とを用いて動き予測を行って動きベクトルを検出する動き予測手段と、
前記動きベクトルと前記参照画像とを用いてインター予測画像データを生成する動き補償手段と、
前記注目マクロブロックと前記参照画像とを用いてイントラ予測を行いイントラ予測画像データを生成するイントラ予測手段と、
前記インター予測画像データ及び前記注目マクロブロックの差分に基づくインター予測誤差と、前記イントラ予測画像データ及び前記注目マクロブロックの差分に基づくイントラ予測誤差とを比較して、誤差がより低くなる予測画像を選択する選択手段と、
選択された予測画像を用いて符号化を行う符号化手段と
を備え、
前記イントラ予測手段は、
前記注目マクロブロックの周辺画素に相当する前記参照画像における画素を用いたイントラ予測により前記イントラ予測画像データを生成し、生成された前記イントラ予測画像データと前記注目マクロブロックとの差分に基づく第１のイントラ予測誤差を算出する第１の予測手段と、
前記注目マクロブロックを分割して得られる複数のサブマクロブロックについて、複数のイントラ予測モードのそれぞれに応じた前記サブマクロブロックの周辺画素を用いたイントラ予測により、イントラ予測ブロックデータを生成し、該イントラ予測ブロックデータと対応するサブマクロブロックとの差分に基づく第２のイントラ予測誤差を算出する第２の予測手段と
前記第１のイントラ予測誤差と前記第２のイントラ予測誤差とを比較して、前記イントラ予測誤差を決定し、前記選択手段に出力するベストイントラ予測モード決定手段と、
を備え、
前記第２の予測手段は、
前記複数のサブマクロブロックのうち第１のグループに属するサブマクロブロックについて、前記複数のイントラ予測モードのそれぞれにおいて参照すべき前記周辺画素に相当する前記参照画像における画素を利用して生成したイントラ予測ブロックデータと、前記サブマクロブロックとの差分に基づく第１の復号画像イントラ予測誤差を算出し、
前記複数のサブマクロブロックのうち前記第１のグループに属しない第２のグループのサブマクロブロックについて、
前記複数のイントラ予測モードのうち、選択されたイントラ予測モードにおいて参照すべき前記周辺画素に相当する画素を前記参照画像が全て含む場合に、前記参照画像が含む前記周辺画素に相当する画素を利用して生成したイントラ予測ブロックデータと前記サブマクロブロックとの差分に基づく第２の復号画像イントラ予測誤差、前記入力画像における前記周辺画素に相当する画素を利用して生成したイントラ予測ブロックデータと前記サブマクロブロックとの差分に基づく第１の原画像イントラ予測誤差、及び、前記第２の復号画像イントラ予測誤差と前記第１の原画像イントラ予測誤差との差分に基づく符号化劣化度を算出し、
前記複数のイントラ予測モードのうち、選択されたイントラ予測モードにおいて参照すべき前記周辺画素に相当する画素を前記参照画像が全て含んでいない場合に、前記参照画像が含まない周辺画素に相当する前記入力画像における画素を利用して生成したイントラ予測ブロックデータと前記サブマクロブロックとの差分に基づく第２の原画像イントラ予測誤差、及び、該第２の原画像イントラ予測誤差を前記符号化劣化度に基づいて補正した修正イントラ予測誤差を算出し、
前記第１の復号画像イントラ予測誤差、前記第２の復号画像イントラ予測誤差、及び、前記修正イントラ予測誤差のうち、最小の値を有するものを前記第２のイントラ予測誤差に決定し、
前記第１のグループ及び前記第２のグループよりそれぞれ選択したサブマクロブロックを並列に処理する
ことを特徴とする動画像符号化装置。
【請求項２】
前記第１のグループは、前記予測画像データを生成する際に、選択されたイントラ予測モードにおいて参照すべき前記周辺画素に相当する画素が前記メモリが記憶する前記参照画像が全て含まれるサブマクロブロックで構成されることを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記ベストイントラ予測モード決定手段は、前記マクロブロックのサイズに対する前記サブマクロブロックのサイズの比率に基づいて前記第２のイントラ予測誤差を積算した結果を、前記第１のイントラ予測誤差と比較し、最小の値を有するものを前記イントラ予測誤差に決定することを特徴とする請求項１または２に記載の動画像符号化装置。
【請求項４】
前記符号化手段は、
前記選択手段が選択した予測画像データと、前記注目マクロブロックとの差分を直交変換する直交変換手段と、
前記直交変換により得られた変換係数を、量子化パラメータに基づいて量子化する量子化手段と、
前記量子化手段における量子化後の変換係数をエントロピー符号化するエントロピー符号化手段と
前記量子化手段が量子化した変換係数を、逆量子化する逆量子化手段と、
前記逆量子化された変換係数を逆直交変換する逆直交変換手段と、
前記逆直交変換により得られた変換係数と前記予測画像データとを加算して前記参照画像を生成する加算器と
を備えることを特徴とする請求項１乃至３のいずれか１項に記載の動画像符号化装置。
【請求項５】
前記量子化手段において使用された前記量子化パラメータを保存するパラメータ保存手段をさらに備え、
前記第２のイントラ予測手段は、前記量子化手段により前記注目マクロブロックに対して割り当てられた現量子化パラメータと、前記注目マクロブロックの周辺のマクロブロックについて割り当てられた旧量子化パラメータとを前記パラメータ保存手段から取得し、前記現量子化パラメータと前記旧量子化パラメータとの差分と、所定係数との積を乗じて前記符号化劣化度を補正することを特徴とする請求項４に記載の動画像符号化装置。
【請求項６】
前記現量子化パラメータが前記旧量子化パラメータよりも小さい場合には、前記所定係数を１より小さい値とし、
前記現量子化パラメータが前記旧量子化パラメータよりも大きい場合には、前記所定係数を１より大きい値とすることを特徴とする請求項５に記載の動画像符号化装置。
【請求項７】
入力画像につき、マクロブロック毎にインター予測とイントラ予測とのいずれかを選択して符号化処理を行い、
前記インター予測及び前記イントラ予測における参照画像を記憶するメモリと、
注目マクロブロックと前記参照画像とを用いて動き予測を行って動きベクトルを検出する動き予測手段と、
前記動きベクトルと前記参照画像とを用いてインター予測画像データを生成する動き補償手段と、
前記注目マクロブロックと前記参照画像とを用いてイントラ予測を行いイントラ予測画像データを生成するイントラ予測手段と、
前記インター予測画像データ及び前記注目マクロブロックの差分に基づくインター予測誤差と、前記イントラ予測画像データ及び前記注目マクロブロックの差分に基づくイントラ予測誤差とを比較して、誤差がより低くなる予測画像を選択する選択手段と、
選択された予測画像を用いて符号化を行う符号化手段と
を備える動画像符号化装置の制御方法であって、
前記イントラ予測手段が、
前記注目マクロブロックの周辺画素に相当する前記参照画像における画素を用いたイントラ予測により前記イントラ予測画像データを生成し、生成された前記イントラ予測画像データと前記注目マクロブロックとの差分に基づく第１のイントラ予測誤差を算出する第１の予測工程と、
前記注目マクロブロックを分割して得られる複数のサブマクロブロックについて、複数のイントラ予測モードのそれぞれに応じた前記サブマクロブロックの周辺画素を用いたイントラ予測により、イントラ予測ブロックデータを生成し、該イントラ予測ブロックデータと対応するサブマクロブロックとの差分に基づく第２のイントラ予測誤差を算出する第２の予測工程と
前記第１のイントラ予測誤差と前記第２のイントラ予測誤差とを比較して、前記イントラ予測誤差を決定し、前記選択手段に出力するベストイントラ予測モード決定工程と、
を備え、
前記第２の予測工程では、
前記複数のサブマクロブロックのうち第１のグループに属するサブマクロブロックについて、前記複数のイントラ予測モードのそれぞれにおいて参照すべき前記周辺画素に相当する前記参照画像における画素を利用して生成したイントラ予測ブロックデータと、前記サブマクロブロックとの差分に基づく第１の復号画像イントラ予測誤差を算出し、
前記複数のサブマクロブロックのうち前記第１のグループに属しない第２のグループのサブマクロブロックについて、
前記複数のイントラ予測モードのうち、選択されたイントラ予測モードにおいて参照すべき前記周辺画素に相当する画素を前記参照画像が全て含む場合に、前記参照画像が含む前記周辺画素に相当する画素を利用して生成したイントラ予測ブロックデータと前記サブマクロブロックとの差分に基づく第２の復号画像イントラ予測誤差、前記入力画像における前記周辺画素に相当する画素を利用して生成したイントラ予測ブロックデータと前記サブマクロブロックとの差分に基づく第１の原画像イントラ予測誤差、及び、前記第２の復号画像イントラ予測誤差と前記第１の原画像イントラ予測誤差との差分に基づく符号化劣化度を算出し、
前記複数のイントラ予測モードのうち、選択されたイントラ予測モードにおいて参照すべき前記周辺画素に相当する画素を前記参照画像が全て含んでいない場合に、前記参照画像が含まない周辺画素に相当する前記入力画像における画素を利用して生成したイントラ予測ブロックデータと前記サブマクロブロックとの差分に基づく第２の原画像イントラ予測誤差、及び、該第２の原画像イントラ予測誤差を前記符号化劣化度に基づいて補正した修正イントラ予測誤差を算出し、
前記第１の復号画像イントラ予測誤差、前記第２の復号画像イントラ予測誤差、及び、前記修正イントラ予測誤差のうち、最小の値を有するものを前記第２のイントラ予測誤差に決定し、
前記第１のグループ及び前記第２のグループよりそれぞれ選択したサブマクロブロックを並列に処理する
ことを特徴とする動画像符号化装置の制御方法。
【請求項８】
コンピュータを請求項１乃至６のいずれか１項に記載の動画像符号化装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化装置、動画像符号化装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、マルチメディアに関連する情報のデジタル化が急進しており、それに伴い映像情報の高画質化に向けた要求が高まっている。具体的な例として放送メディアの従来の７２０×４８０画素のＳＤから、１９２０×１０８０画素のＨＤに移行が行われつつあることをあげることができる。しかしながら、この高画質への要求は同時にデジタルデータの増大を引き起こし、従来の性能を上回る圧縮符号化技術及び復号化技術が求められている。これらの要求に対し、ＩＴＵ−Ｔ  ＳＧ１６やＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１の活動で画像間の相関を利用したフレーム間予測を用いた符号化圧縮方式の標準化作業が進められている。この中でも、現状最も高能率符号化を実現しているといわれる符号化方式にＨ．２６４／ＭＰＥＧ−４  ＰＡＲＴ−１０（ＡＶＣ）（以下、Ｈ．２６４と呼ぶ）がある。また、この中で新たに導入された技術のひとつとして、フレーム内の相関を利用し、フレーム内画素値を用いて同一フレーム内の画素値を予測するイントラ予測がある。
【０００３】
イントラ予測には複数の予測ブロックサイズ・予測方向（以下、イントラ予測モード）が存在する。例えば、１６×１６画素のブロックデータをもとに予測方向を決定するイントラ１６×１６予測には４種類の予測方向がある。また、４×４画素のブロックデータをもとに予測方向を決定するイントラ４×４予測には９種類の予測方向がある。Ｈ．２６４ではこれらのイントラ予測モードから適切なものを選択し、更に次に述べるインター予測と比較し、符号化効率の良いほうを選択すること（以下、イントラ／インター判定と呼ぶ）で高能率な符号化を実現している。なお、インター予測は符号化済みの画像を参照画像として動き予測を行い、参照画像中で符号化対象ブロックと最も性質の近い画像を予測画像として決定する方式である。
【０００４】
Ｈ．２６４では多くの予測モードを有し、またブロックが以前のＭＰＥＧに比べ細分化されているため、膨大な演算が必要である。特にリアルタイムで符号化処理をする場合などでは、非常に高速なプロセッサが必要になるなど、機器が高価になったり、消費電力が大きくなったりするという課題がある。そこで、符号化処理を高速化するために、複数ブロックの処理を並列で行うという手法が考えられる。しかし、複数ブロックの処理を並列で行うと、場合によってはイントラ予測モード決定のために必要な周囲のローカルデコード画像が生成されていない場合がある。その場合はイントラ予測モード決定ができず、ローカルデコード画像生成を待たなければならない。これに対して特許文献１は、周囲のローカルデコード画像が生成されていない場合には符号化前の画素値を用いてイントラ予測モードを決定している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７-２８２０１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特に低ビットレートの時には符号化前の画素値とローカルデコード後の画素値に大きな差が生じてしまう場合がある。そのため、適切な予測誤差を求めることができず、イントラ／インター判定が正確に行えないので、イントラ予測とインター予測のうち、符号化効率の低いほうを選択してしまう場合がある。
【０００７】
本発明は、このような問題点に鑑みてなされたものであり、イントラ予測符号化を並列処理化した際にも的確なイントラ／インター判定を実行可能な動画像符号化技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するための本発明は、入力画像につき、マクロブロック毎にインター予測とイントラ予測とのいずれかを選択して符号化処理を行う動画像符号化装置であって、
前記インター予測及び前記イントラ予測における参照画像を記憶するメモリと、
注目マクロブロックと前記参照画像とを用いて動き予測を行って動きベクトルを検出する動き予測手段と、
前記動きベクトルと前記参照画像とを用いてインター予測画像データを生成する動き補償手段と、
前記注目マクロブロックと前記参照画像とを用いてイントラ予測を行いイントラ予測画像データを生成するイントラ予測手段と、
前記インター予測画像データ及び前記注目マクロブロックの差分に基づくインター予測誤差と、前記イントラ予測画像データ及び前記注目マクロブロックの差分に基づくイントラ予測誤差とを比較して、誤差がより低くなる予測画像を選択する選択手段と、
選択された予測画像を用いて符号化を行う符号化手段と
を備え、
前記イントラ予測手段は、
前記注目マクロブロックの周辺画素に相当する前記参照画像における画素を用いたイントラ予測により前記イントラ予測画像データを生成し、生成された前記イントラ予測画像データと前記注目マクロブロックとの差分に基づく第１のイントラ予測誤差を算出する第１の予測手段と、
前記注目マクロブロックを分割して得られる複数のサブマクロブロックについて、複数のイントラ予測モードのそれぞれに応じた前記サブマクロブロックの周辺画素を用いたイントラ予測により、イントラ予測ブロックデータを生成し、該イントラ予測ブロックデータと対応するサブマクロブロックとの差分に基づく第２のイントラ予測誤差を算出する第２の予測手段と
前記第１のイントラ予測誤差と前記第２のイントラ予測誤差とを比較して、前記イントラ予測誤差を決定し、前記選択手段に出力するベストイントラ予測モード決定手段と、
を備え、
前記第２の予測手段は、
前記複数のサブマクロブロックのうち第１のグループに属するサブマクロブロックについて、前記複数のイントラ予測モードのそれぞれにおいて参照すべき前記周辺画素に相当する前記参照画像における画素を利用して生成したイントラ予測ブロックデータと、前記サブマクロブロックとの差分に基づく第１の復号画像イントラ予測誤差を算出し、
前記複数のサブマクロブロックのうち前記第１のグループに属しない第２のグループのサブマクロブロックについて、
前記複数のイントラ予測モードのうち、選択されたイントラ予測モードにおいて参照すべき前記周辺画素に相当する画素を前記参照画像が全て含む場合に、前記参照画像が含む前記周辺画素に相当する画素を利用して生成したイントラ予測ブロックデータと前記サブマクロブロックとの差分に基づく第２の復号画像イントラ予測誤差、前記入力画像における前記周辺画素に相当する画素を利用して生成したイントラ予測ブロックデータと前記サブマクロブロックとの差分に基づく第１の原画像イントラ予測誤差、及び、前記第２の復号画像イントラ予測誤差と前記第１の原画像イントラ予測誤差との差分に基づく符号化劣化度を算出し、
前記複数のイントラ予測モードのうち、選択されたイントラ予測モードにおいて参照すべき前記周辺画素に相当する画素を前記参照画像が全て含んでいない場合に、前記参照画像が含まない周辺画素に相当する前記入力画像における画素を利用して生成したイントラ予測ブロックデータと前記サブマクロブロックとの差分に基づく第２の原画像イントラ予測誤差、及び、該第２の原画像イントラ予測誤差を前記符号化劣化度に基づいて補正した修正イントラ予測誤差を算出し、
前記第１の復号画像イントラ予測誤差、前記第２の復号画像イントラ予測誤差、及び、前記修正イントラ予測誤差のうち、最小の値を有するものを前記第２のイントラ予測誤差に決定し、
前記第１のグループ及び前記第２のグループよりそれぞれ選択したサブマクロブロックを並列に処理することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、イントラ予測符号化を並列処理化した際にも的確なイントラ／インター判定を実行可能な動画像符号化技術を提供できる。
【図面の簡単な説明】
【００１０】
【図１】実施形態１の動画像符号化装置の概略の構成を示すブロック図。
【図２】実施形態１のイントラ予測部の概略の構成を示すブロック図。
【図３】実施形態１のイントラ予測部の動作を説明するフローチャート。
【図４】イントラ予測モードを説明するための図。
【図５】実施形態２の動画像符号化装置の概略の構成を示すブロック図。
【図６】実施形態に係るマクロブロック内の４×４ブロックデータをイントラ予測する順序およびイントラ予測の並列処理方法を説明する図。
【発明を実施するための形態】
【００１１】
［実施形態１］
以下に図１乃至図４を参照しながら、本発明にかかる画像符号化装置の好適な一実施形態について詳細に説明する。
【００１２】
図１は本発明に係る動画像符号化装置１００のブロック図であり、図１に示す構成を参照して、入力画像の符号化方法を述べる。フレームメモリ１０１には表示順に入力画像（原画像）が保存され、符号化順に符号化対象となる注目マクロブロックを動き予測部１０３、イントラ予測部１０５、減算器１１２に順次送信する。フィルタ後参照フレームメモリ１０２はフィルタ処理された符号化済み画像が参照画像として保存され、符号化順に注目マクロブロックの参照画像を動き予測部１０３、動き補償部１０４に順次送信する。フィルタ前参照フレームメモリ１１４はフィルタ処理される前の符号化済み画像が参照画像として保存され、符号化順に注目マクロブロックの参照画像をイントラ予測部１０５に順次送信する。
【００１３】
減算器１１２はフレームメモリ１０１から送信されてくる注目マクロブロックからイントラ／インター判定部１１１から送信されてくる予測画像ブロックを減算し、画像残差データを出力する。なお、予測画像ブロックの生成方法については後述する。直交変換部１０６では減算器１１２から出力された画像残差データを直交変換処理して、変換係数を量子化部１０７に送信する。量子化部１０７は変換係数を所定の量子化パラメータを用いて量子化し、エントロピー符号化部１０８および逆量子化部１０９に送信する。エントロピー符号化部１０８には量子化部１０７における量子化後の変換係数が入力され、CAVLC、CABACなどのエントロピー符号化を施して、符号化データとして出力する。
【００１４】
続いて、量子化部１０７で量子化された変換係数を用いて参照画像データを生成する方法について述べる。逆量子化部１０９は、量子化部１０７から送信されてくる量子化された変換係数を逆量子化する。逆直交変換部１１０は、逆量子化部１０９で逆量子化された変換係数を逆直交変換して復号残差データを生成し、加算器１１３に出力する。
【００１５】
加算器１１３は、復号残差データと後述する予測画像データとを加算してローカルデコード画像を生成し、これを参照画像データとしてフィルタ前参照フレームメモリ１１４に保存する。参照画像データはまた、ループフィルタ１１５に出力される。ループフィルタ１１５は、参照画像データをフィルタリングしてノイズを除去し、フィルタ後の参照画像データをフィルタ後参照フレームメモリ１０２に保存する。
【００１６】
続いて、入力画像データおよびフィルタ前参照画像データ、フィルタ後参照画像データを用いて予測画像データを生成する方法について述べる。動き予測部１０３は、フレームメモリ１０１から出力された注目マクロブロックと、フィルタ後参照フレームメモリ１０２から出力されたフィルタ後参照画像データとから数Ａに基づくコスト値Inter_Cost（インター予測誤差）を算出する。そして、Inter_Costが最も小さくなる位置に基づき、注目マクロブロックのフィルタ後参照画像データでの動き量を表す動きベクトルを検出し、フィルタ後参照フレーム画像データ番号と共に動き補償部１０４に送信する。
【００１７】
Inter_Cost = SAD + λ(ＱＰ)×MVCost  ・・・（数Ａ）
なお、SADは、符号化対象画素と参照画素の差分の絶対値和である。λ(ＱＰ)は、量子化パラメータＱＰに応じて決まる予測符号量の係数である。MVCostは動きベクトルの長さに応じた動きベクトルの符号量相当のコスト値を示している。動き補償部１０４は動き予測部１０３から取得した動きベクトルを用いて、フィルタ後参照フレームメモリ１０２中のフィルタ後参照フレーム画像データ番号で示される参照フレーム画像を参照する。そして、マクロブロック毎のインター予測画像データを生成し、Inter_Costと共にイントラ／インター判定部１１１に送信する。
【００１８】
一方、イントラ予測部１０５はまずイントラ予測モード別にイントラ予測画像を生成する。その際には、周辺画素符号化有無判定部１１６が指定するフレームメモリ１０１から送信される注目マクロブロック周辺の原画像データを用いる。或いは、フィルタ前参照フレームメモリ１１４から送信される注目マクロブロック周辺の復号化済みデータ（ローカルデコード画像）を用いる。そしてフレームメモリ１０１から送信される注目マクロブロックと生成した予測画像とを用いてイントラ予測を行い、適切なイントラ予測モードを選択し、予測画像およびイントラコスト値（Cost）をイントラ／インター判定部１１１に送信する。なお、周辺画素符号化有無判定部１１６が原画像データ、復号化済みデータを選択する方法、イントラコスト値（Cost）の演算方法については後述する。
【００１９】
このように既に符号化済みの注目マクロブロックの周辺画素が無くても、イントラ予測モード決定が可能となるので符号化処理を高速化できる。
イントラ／インター判定部１１１は動き補償部１０４およびイントラ予測部１０５から送信されてくる予測画像データのうち、インターコスト値の方がイントラコスト値より小さい場合はインター予測画像データを選択し、減算器１１２に送信する。一方、イントラコスト値の方が小さい場合はイントラ予測画像データを選択し、減算器１１２に送信する。
【００２０】
次にイントラ予測部１０５で選択可能な予測モードによるイントラ予測画像データの生成方法について説明する。まずイントラ１６×１６予測で選択可能な予測モードによるイントラ予測画像データの生成方法を説明する。ここで、注目マクロブロックに属する画素データをP(x,y)とする。なお、x，yはブロックを構成するマトリクス状の画素データの行方向および列方向の位置を示し、０〜１５の整数である。注目マクロブロックに隣接する画素データを、P(x,-1)，P(-1,y)とする。また、画素データは、上記注目マクロブロックと異なるピクチャあるいは異なるスライスに属する場合などに、「利用可能でない(unavailable)」であると判断される。
【００２１】
予測モード０：
予測モード０は、vertical（垂直）予測であり、P(x,-1)が「利用可能」である場合に適用される。この場合に、vertical（垂直）予測では、予測画像データPIの画素データPred(x,y)を数１のように生成する。
Pred (x,y) = P(x, -1) : x, y = ０…１５ ・・・（数１）
【００２２】
予測モード１：
予測モード１は、horizontal（水平）予測であり、P(-1,y)が「利用可能」である場合に適用される。この場合に、horizontal（水平）予測では、予測画像データPIの画素データPred(x,y)を数２のように生成する。
Pred (x,y) = P(-1, y) : x, y = ０…１５ ・・・（数２）
【００２３】
予測モード２：
予測モード２は、DC予測であり、イントラ１６×１６予測では、予測画像データPIの画素データPred（x，y）を数３のように生成する。先ず、P(x,-1)およびP(-1,y)の全てが「利用可能」である場合に、イントラ１６×１６予測では、予測画像データPIの画素データPred（x，y）を数３のように生成する。
2011041014.tif 000003
P(x,-1)が「利用可能でない(unavailable) 」場合には予測画像データPIの画素データPred（x，y）を数４のように生成する。
2011041014.tif 000004
P(-1,y)が「利用可能でない(unavailable) 」場合には予測画像データPIの画素データPred（x，y）を数５のように生成する。P(x,-1)、P(-1,y)がすべて「利用可能でない(unavailable) 」場合には予測画像データPIの画素データPred（x，y）は１２８を用いる。
2011041014.tif 000005
【００２４】
予測モード３：
予測モード３は、plane予測であり、P(x,-1)、P(-1,y)の全てが上記「利用可能」である場合に適用される。この場合に、plane予測では、予測画像データPIの画素データPred（x，y）を数６のように生成する。
2011041014.tif 000006
続いて、１６×１６の注目マクロブロックを分割して複数のサブマクロブロックにおいてイントラ予測を行う場合の予測ブロックデータの生成方法について説明する。本実施形態では、サブマクロブロックとして４×４のサイズを採用し、イントラ４×４予測で選択可能な予測モードによるイントラ予測ブロックデータの生成方法を図４を用いながら説明する。図４は、イントラ４×４予測の符号化処理対象となる４×４のブロックに属する画素データａ〜ｐと、当該ブロックデータの周囲に属する画素データＡ〜Ｍとの位置関係を説明するための図である。画素データａ〜ｐの予測値によって、予測画像データＰＩが生成される。なお、画素データＡ〜Ｍは、上記処理対象のブロックと異なるピクチャあるいは異なるスライスに属する場合などに、「利用可能でない(unavailable) 」であると判断される。
【００２５】
予測モード０：
予測モード０は、vertical（垂直）予測であり、図４に示す画素データA,B,C,Dの全てが上記「利用可能」である場合に適用される。この場合、vertical予測は、注目マクロブロックの画素データａ〜ｐの予測値を、画素データA,B,C,Dを用いて数７のように生成する。
a,e,i,m：  A
b,f,j,n：  B      ・・・（数７）
c,g,k,o：  C
d,h,l,p：  D
【００２６】
予測モード１：
予測モード１は、horizontal（水平）予測であり、図４に示す画素データI,J,K,Lの全てが上記「利用可能」である場合に適用される。この場合、horizontal予測は、注目マクロブロック画素データａ〜ｐの予測値を、画素データI,J,K,Lを用いて数８のように生成する。
a,b,c,d：  I
e,f,g,h：  J      ・・・（数８）
i,j,k,l：  K
m,n,o,p：  L
【００２７】
予測モード２：
予測モード２は、DC予測であり、図４に示す画素データA,B,C,D,I,J,K,Lの全てが上記「利用可能」である場合には、注目マクロブロック画素データａ〜ｐの予測値を、画素データA,B,C,D,I,J,K,Lを用いて数９のように生成する。
（Ａ＋Ｂ＋Ｃ＋Ｄ＋Ｉ＋Ｊ＋Ｋ＋Ｌ＋４）＞＞３  ・・・（数９）
また、図４に示す画素データA,B,C,Dの全てが上記「利用可能」でない場合には、注目マクロブロック画素データａ〜ｐの予測値を、画素データI,J,K,Lを用いて数１０のように生成する。
（Ｉ＋Ｊ＋Ｋ＋Ｌ＋２）＞＞２  ・・・（数１０）
また、図４に示す画素データI,J,K,Lの全てが上記「利用可能」でない場合には、注目マクロブロック画素データａ〜ｐの予測値を、画素データA,B,C,Dを用いて数１１のように生成する。
（Ａ＋Ｂ＋Ｃ＋Ｄ＋２）＞＞２  ・・・（数１１）
また、図４に示す画素データA,B,C,D,I,J,K,Lの全てが上記「利用可能」でない場合には、注目マクロブロック画素データａ〜ｐの予測値「１２８」を用いる。
【００２８】
予測モード３：
予測モード３は、Diagonal_Down_Left予測であり、図４に示す画素データA,B,C,D,E,F,G,Hの全てが上記「利用可能」である場合に適用される。この場合、Diagonal_Down_Left予測は、注目マクロブロック画素データａ〜ｐの予測値を、画素データA,B,C,D,E,F,G,Hを用いて数１２のように生成する。
a：  (A+2B+C+2)＞＞2
b,e：（B+2C+D+2）＞＞2
c,f,i：（C+2D+E+2）＞＞2
d,g,j,m：（D+2E+F+2）＞＞2    ・・・（数１２）
h,k,n：（E+2F+G+2）＞＞2
l,o：（F+2G+H+2）＞＞2
p：（G+3H+2）＞＞2
【００２９】
予測モード４：
予測モード４は、Diagonal_Down_Right予測であり、図４に示す画素データA,B,C,D,I,J,K,L,Mの全てが上記「利用可能」である場合に適用される。この場合に、注目マクロブロック画素データａ〜ｐの予測値を、画素データA,B,C,D,I,J,K,L,Mを用いて数１３のように生成する。
m：(J+2K+L+2)＞＞2
i,n：(I+2J+K+2)＞＞2
e,j,o：(M+2I+J+2)＞＞2
a,f,k,p：(A+2M+I+2)＞＞2      ・・・（数１３）
b,g,l：(M+2A+B+2)＞＞2
c,h：(A+2B+C+2) ＞＞2
d：(B+2C+D+2)＞＞2
【００３０】
予測モード５：
予測モード５は、Diagonal_Vertical_Right予測であり、図４に示す画素データA,B,C,D,I,J,K,L,Mの全てが上記「利用可能」である場合に適用される。この場合に、注目マクロブロック画素データａ〜ｐの予測値を、画素データA,B,C,D,I,J,K,L,Mを用いて数１４のように生成する。
a,j：(M+A+1)＞＞1
b,k：(A+B+1)＞＞1
c,l：(B+C+1)＞＞1
d：(C+D+1)＞＞1
e,n：(J+2M+A+2)＞＞2
f,o：(M+2A+B+2)＞＞2          ・・・（数１４）
g,p：(A+2B+C+2)＞＞2
h：(B+2C+D+2)＞＞2
I：(M+2I+J+2)＞＞2
m：(I+2J+K+2)＞＞2
【００３１】
予測モード６：
予測モード６は、Horizontal_Down予測であり、図４に示す画素データA,B,C,D,I,J,K,L,Mの全てが上記「利用可能」である場合に適用される。この場合に、注目マクロブロック画素データａ〜ｐの予測値を、画素データA,B,C,D,I,J,K,L,Mを用いて数１５のように生成する。
a,g：(M+I+1)＞＞1
b,h：(I+2M+A+2)＞＞2
c：(M+2A+B+2)＞＞2
d：(A+2B+C+2)＞＞2
e,k：(I+J+1)＞＞1
f,l：(M+2I+J+2)＞＞2          ・・・（数１５）
i,o：(J+K+1)＞＞1
j,p：(I+2J+K+2)＞＞2
m：(K+L+1)＞＞1
n：(J+2K+L+2)＞＞2
【００３２】
予測モード７：
予測モード７は、Vertical_Left予測であり、図４に示す画素データA,B,C,D,E,F,Gの全てが上記「利用可能」である場合に適用される。この場合に、注目マクロブロック画素データａ〜ｐの予測値を、画素データA,B,C,D,E,F,Gを用いて数１６のように生成する。
a：(A+B+1)＞＞1
b,i：(B+C+1)＞＞1
c,j：(C+D+1)＞＞1
d,k：(D+E+1)＞＞1
l：(E+F+1)＞＞1
e：(A+2B+C+2)＞＞2          ・・・（数１６）
f,m：(B+2C+D+2)＞＞2
g,n：(C+2D+E+2)＞＞2
h,o：(D+2E+F+2)＞＞2
p：(E+2F+G+2)＞＞2
【００３３】
予測モード８：
予測モード８は、Horizontal_Up予測であり、図４に示す画素データI,J,K,Lの全てが上記「利用可能」である場合に適用される。この場合に、注目マクロブロック画素データａ〜ｐの予測値を、画素データI,J,K,Lを用いて数１７のように生成する。
【００３４】
a：(I+J+1)＞＞1
b：(I+2J+K+2)＞＞2
c,e：(J+K+1)＞＞1
d,f：(J+2K+L+2)＞＞2      ・・・（数1７）
g,i：(K+L+1)＞＞1
h,j：(K+３L+2)＞＞2
k,l,m,n,o,p：L
【００３５】
なおイントラ１６×１６予測のモード０は垂直方向に高い相関（重み付け）を持たせたモードであり、モード１は水平方向に高い相関（重み付け）を持たせたモードである。またモード２，３は水平および垂直方向の重み付けを殆ど行っていないモードである。イントラ４×４予測のモード１，６，８は水平方向に高い相関（重み付け）を持たせたモードであり、モード０，５，７は垂直方向に高い相関（重み付け）を持たせたモードである。また、モード２，４，３は水平および垂直方向の重み付けを殆ど行っていないモードである。
【００３６】
以下、イントラ予測モードおよび最終的な予測モードを決定するプロセスについて図１から図３及び図６を参照して説明する。なお、本実施形態では４×４ブロックデータの処理を並列処理によって実現するものとする。本実施形態では、ブロック数の少ないイントラ１６×１６予測は順番にイントラ予測モードを選択し、ブロック数の多いイントラ４×４予測は処理の高速化のため２並列で処理を行うものとする。
【００３７】
まず、並列処理の一例と周辺画素符号化有無判定部１１６の動作について図６を用いて説明する。図６に示す各サブマクロブロックに付した値「０」〜「１５」は、イントラ予測処理を行う順番を示している。ここで図６（Ａ）に示す「０」，「２」，「４」，「６」，「８」，「１０」，「１２」，「１４」を第１のグループに属するブロック６０１と定義する。また図６（Ｂ）に示す第１のグループに属するサブマクロブロック以外のブロックは第２のグループ６０２とする。即ち、「１」，「３」，「５」，「７」，「９」，「１１」，「１３」，「１５」を第２のグループに属するブロック６０２と定義する。本実施形態では、イントラ予測処理を第１のグループ、第２のグループで並列に行うものとする。つまり、並列処理の一段目で第１のグループ６０１に属するブロック「０」、第２のグループ６０２に属するブロック「１」が同時にイントラ予測処理される。その後二段目で「２」、「３」が、以降、３段目「４」、「５」、４段目「６」、「７」・・・と順に処理される。
【００３８】
ここで、第１のグループ６０１に属するブロックデータの周辺ブロックの符号化は、当該ブロックデータよりも１段階以上前に処理が行われる。従って、第１のグループ６０１に属するブロックデータの処理を開始するタイミングで、周辺の画素データは既に符号化されている。例えば、図６（Ａ）に示す「６」番目に選択されるブロックデータをイントラ予測符号化することを考える。周辺画素データとして「１」、「３」、「４」、および「５」番のブロックに属する画素データが選択されるが、「６」番目に選択されるブロックデータよりも、それぞれ３段階前、２段階前、１段階前、２段階前に符号化処理が行われている。従って、符号化済み画像データを用いたイントラ予測モード決定を行うことが可能である。
【００３９】
一方、第２のグループ６０２に属するブロックデータの周辺ブロックの符号化は、当該ブロックデータと同時に符号化処理が行われるものがある。従って、第２グループ６０２に属するブロックデータの処理を開始するタイミングで、それに対応した周辺画素データは符号化されていない場合がある。例えば、図６に示す「３」番目に選択されるブロックデータを符号化する際、周辺画素データとして、「０」、「１」、「２」および「４」番のブロックに属する画素データが選択される。しかし、「２」番のブロックデータは当該「３」番目に選択されるブロックデータと同時に符号化処理が開始される。また「４」番のブロックデータは当該「３」番目に選択されるブロックデータよりも後に符号化処理が開始される。従って「３」番目に選択されるブロックデータのイントラ予測モードを決定するタイミングで「２」、「４」番のブロックデータが符号化されていない。よって、符号化済み周辺画像データを用いたイントラ予測モード決定を行うことができない。
【００４０】
周辺画素符号化有無判定部１１６は符号化対象の注目マクロブロック内の４×４ブロックデータのアドレスをもとに４×４ブロックデータが以上のように定義した図６に示す第１のグループ６０１、第２のグループ６０２のいずれに属するかを判定する。続いて、第１のグループ６０１に属する場合、イントラ予測部１０５に対してフィルタ前参照フレームメモリ１１４から参照画像データを取得するよう指示する。また、第２のグループ６０２に属する場合、周辺画素の符号化状況に応じて周辺画素データが符号化済みであれば、イントラ予測部１０５に対してフィルタ前参照フレームメモリ１１４からの参照画像データを受信するよう指示する。一方、符号化済みで無い場合にはイントラ予測部１０５に対してフレームメモリ１０１から原画像データを受信するよう指示する。
【００４１】
続いて、イントラ予測部１０５の内部構成を示す図２と該イントラ予測部１０５における処理のフローチャートを示す図３とを参照し、イントラ予測モード選択処理を説明する。まず、イントラ予測部１０５は、第１の予測部としてイントラ１６×１６予測部２０１を有し、第２の予測部としてイントラ４×４予測部２０２を有し、ブロックサイズに応じて２つの予測部を使い分けてイントラ予測を行う。
【００４２】
Ｓ３０１において、イントラ予測モード設定部２０３は、処理対象のブロックを決定し、決定したブロックに応じた予測モードを設定する。具体的に、処理対象が１６×１６サイズのマクロブロックの場合、イントラ１６×１６予測部２０１に対して４種類の予測モードを順に設定する。また、処理対象が４×４サイズのブロックの場合、図６Ａで示したように０番目のブロックから順に処理対象が決定されるので、決定ブロックに応じた予測モードをイントラ４×４予測部２０２に対して９種類の予測モードを設定する。
【００４３】
なお、イントラ４×４予測モードを設定する際にはフィルタ前参照フレームメモリ１１４に設定された参照画像データが使用できる予測モードから先に設定するようにする。イントラ予測モード設定部２０３は更に、イントラ予測部１０５外にあるフィルタ前参照フレームメモリ１１４に、設定されたイントラ予測モードで必要となる参照画像データをイントラ１６×１６予測部２０１に送信するよう指示する。また、周辺画素符号化有無判定部１１６の指示に従い、フレームメモリ１０１に格納された原画像データ、フィルタ前参照フレームメモリ１１４に格納された参照画像データをイントラ４×４予測部２０２に送信するよう指示する。
【００４４】
注目マクロブロックの周辺ブロックが符号化されていない４×４ブロックデータに対しては参照画像データとして、符号化済み周辺画素の代わりに注目マクロブロック周辺画素の原画像データを用いる。従って、注目マクロブロックの周辺画素が符号化されていなくてもイントラ予測モード決定が可能となり、符号化処理を高速化できる。ここでイントラ１６×１６予測およびイントラ４×４予測の第１のグループ６０１に所属するブロックを符号化する場合の予測誤差演算方法について説明する。
【００４５】
Ｓ３０１で設定された予測モードがイントラ１６×１６予測モードの場合（Ｓ３０２で「ＹＥＳ」）、Ｓ３０４に移行する。また、設定された予測モードがイントラ４×４予測モードの場合（Ｓ３０２で「ＮＯ」）、Ｓ３０３に移行する。Ｓ３０３では、注目マクロブロックの所属グループが第１のグループ６０１である場合（Ｓ３０３で「第１のグループ」）、Ｓ３０４に移行し、第２のグループ６０２である場合（Ｓ３０３で「第２のグループ」）、Ｓ３０５に移行する。
【００４６】
Ｓ３０４において、イントラ１６×１６予測部２０１、イントラ４×４予測部２０２は、イントラ予測部１０５外にあるフィルタ前参照フレームメモリ１１４からの参照画像データを用いて各々のイントラ予測ブロックデータを生成する。続いてイントラ予測部１０５外にあるフレームメモリ１０１からの符号化対象データ、更にエントロピー符号化部１０８で付加されるヘッダデータを用いて、設定された予測モードでの復号画像イントラ予測誤差Ｃｏｓｔを数１８を用いて計算する。
【００４７】
また、その時のイントラ１６×１６予測における予測サイズ別の復号画像イントラ予測誤差Ｃｏｓｔを対応する予測モードと共にイントラ１６×１６モード別コスト保存部２０４に保存する。また、イントラ４×４予測における予測サイズ別のＣｏｓｔを第１の復号画像イントラ予測誤差として対応する予測モードと共にイントラ４×４モード別コスト保存部２０５に保存する。
2011041014.tif 000007
なお、数１８においてｎはイントラ１６×１６予測かイントラ４×４予測かに応じて１６か４の値を取る。また、Org(i, j)は符号化対象データの左上を(0,0)として右下を（n,n）とした時の画素位置(i, j)の画素値、Pred (mod e, i, j)は同様に予測画像データの画素位置(i, j)の画素値である。また、SAD0(mod e) はヘッダデータのビット数を表し、QP0は量子化パラメータQPと実際に量子化に用いられる量子化スケールを関連付ける係数である。
【００４８】
以上のＳ３０１からＳ３０４までの処理は、各イントラ１６×１６予測モード及び、第１グループに属する各ブロックについての各イントラ４×４予測モードについて順に繰り返される（Ｓ３１１において「ＮＯ」）。
【００４９】
続いて、イントラ４×４予測の第２のグループ６０２に所属するブロックを符号化する場合の予測誤差演算方法について説明する。
【００５０】
この場合、Ｓ３０１ではイントラ予測モード設定部２０３はフィルタ前参照フレームメモリ１１４に設定された参照画像データが使用できる予測モードから先に設定する。例えば図６の「９」のブロックを符号化する際には「２」、「３」、「６」のブロックが既に符号化済みであるため、「２」、「３」、「６」のブロックの画素を用いる予測モード０,３,７が優先的に選択される。Ｓ３０２において４×４イントラ予測と判定されてＳ３０３で所属グループが第２のグループと判定されると、処理はＳ３０５に移行する。ここでは、ローカルデコード画素のみの予測モードかが判定される。この判定は、図６（Ｂ）に示す第２のグループ６０２に属する各ブロックの位置と符号化順、及び、各予測モードにおいて参照する画素の位置に基づいて各ブロックについて実行できる。
【００５１】
もし、処理対象の４×４ブロックについてローカルデコード画素のみの予測モードであれば（Ｓ３０５において「ＹＥＳ」）、Ｓ３０６に移行し、ローカルデコード画素以外も含む場合（Ｓ３０５において「ＮＯ」）、Ｓ３０９に移行する。
【００５２】
なお、既に符号化済みの画素を用いて予測画像データが生成可能な予測モードの場合には、Ｓ３０６において、符号化済みの画素ではなく原画素を用いて擬似イントラ予測画像データを生成する。そして、擬似イントラ予測画像データと注目マクロブロックから第１の原画像イントラ予測誤差fake_Costを演算し、原画像イントラ予測誤差保存部２０９に送信する。次に、Ｓ３０７で、符号化済みの画素を用いてイントラ予測ブロックデータを生成し第２の復号画像イントラ予測誤差Costを演算し、イントラ４×４モード別コスト保存部２０５および符号化劣化度演算部２１０に送信する。Ｓ３０８では、符号化劣化度演算部２１０が数１９より符号化劣化度を算出する。ここでは、原画像イントラ予測誤差保存部２０９からの第１の原画像イントラ予測誤差fake_Costと、イントラ４×４予測部２０２からの第２の復号画像イントラ予測誤差Costとを用いる。算出された符号化劣化度は、符号化劣化度保存部２１１に出力される。なお符号化劣化度（Deterioration_ratio）は予測画像データが、イントラ予測符号化によって入力画像からどの程度劣化したかを示すパラメータである。
【００５３】
Deterioration_ratio =  ABS(fake_Cost - Cost) ・・・（数１９）
なお、数１９においてABSは絶対値を取ることを示している。また、その時のCost、予測モード、Deterioration_ratioをイントラ４×４モード別コスト保存部２０５に出力し、保存する。以上のＳ３０５からＳ３０８における処理は、Ｓ３０１において決定されたブロック及び設定されたイントラ予測モードに基づいて繰り返される。
【００５４】
続いて、符号化済みの画素のみから予測画像データの生成ができない予測モードの場合（Ｓ３０５で「ＮＯ」）を述べる。Ｓ３０９では、イントラ４×４予測部２０２でまず原画素を用いて擬似イントラ予測ブロックデータを生成する。そして、擬似イントラ予測ブロックデータと注目マクロブロックから第２の原画像イントラ予測誤差fake_Costを演算し、修正イントラ予測誤差演算部２１２に出力する。次にＳ３１０では、修正イントラ予測誤差演算部２１２はfake_Costと符号化劣化度保存部２１１から送信されてくる符号化劣化度を用いて修正イントラ予測誤差Modifie_Costを数２０から求める。
【００５５】
Modified_Cost = fake_Cost + Ave (Deterioration_ratio)  ・・・（数２０）
なおAve(Deterioration_ratio)は、符号化済みの画素を用いて予測画像データが生成可能な予測モードで演算していた符号化劣化度（Deterioration_ratio）の平均値である。また、その時のModified_Cost、予測モードをイントラ４×４モード別コスト保存部２０５に出力し、保存する。以上のＳ３０９からＳ３１０における処理は、Ｓ３０１において決定されたブロック及び設定されたイントラ予測モードに基づいて繰り返される。
【００５６】
全ての予測モードの予測誤差演算（Ｓ３１１で「ＹＥＳ」）を行ったら、イントラ１６×１６モード別コスト保存部２０４の復号画像イントラ予測誤差Cost、予測モードがイントラ１６×１６ベストモード決定部２０６に出力される。また、イントラ４×４モード別コスト保存部２０５に保存されている第１及び第２の復号画像イントラ予測誤差Cost、修正イントラ予測誤差Modified_Cost、予測モードがイントラ４×４ベストモード決定部２０７に出力される。次に、イントラ１６×１６ベストモード決定部２０６は、入力された復号画像イントラ予測誤差Costの中から、最小値を有する第１のイントラ予測誤差MIn_Cost16×16を決定する。そして、対応する予測モードを予測サイズ別ベストモードとして、最小イントラ予測誤差と共にベストイントラ予測モード決定部２０８に出力する。イントラ４×４ベストモード決定部２０７も同様に、入力された第１及び第２の復号画像イントラ予測誤差Costと修正イントラ予測誤差Modified_Costの中から、最小値を有する第２のイントラ予測誤差MIn_Cost4×4を決定する。そして、対応する予測モードを予測サイズ別ベストモードとして、第２のイントラ予測誤差と共にベストイントラ予測モード決定部２０８に出力する。
【００５７】
Ｓ３１２において、ベストイントラ予測モード決定部２０８は、イントラ４×４ベストモード決定部２０７から入力された第２のイントラ予測誤差MIn_Cost4×4を１６×１６のブロックサイズに達するまで積算する。ここでは、１６×１６サイズに対する４×４サイズの比率に基づいて１６回積算する。その後、イントラ１６×１６ベストモード決定部２０６から送信されてきたMin_Cost16×16とイントラ４×４ベストモード決定部２０７から送信されてきた１６個のMin_Cost4×4の和とを比較する。比較結果において、値が小さいほうの予測サイズのモードを最終的なイントラ予測モードに決定し、その時の値を最小イントラ予測誤差Min_Costとしてイントラ／インター判定部１１１に出力する。
【００５８】
イントラ／インター判定部１１１は、Ｓ３１３においてInter_CostとMin_Costとを比較し、Inter_Costの方が小さければインター予測を選択し、Min_Costの方が小さければイントラ予測を選択する。
【００５９】
このように、イントラ予測を並列化し原画像を用いてイントラ予測を行った場合でもイントラ予測誤差を符号化劣化を考慮したものに修正することで的確なイントラ／インター判定を実行し、適切な符号化を行うことができる。なお、本実施形態では１６×１６イントラ予測および４×４イントラ予測を例に挙げて説明したが他のブロックサイズの予測、例えば８×８イントラ予測にも適用することが可能である。その際、８×８イントラ予測は１６×１６イントラ予測と同様に順次処理しても良いし、４×４イントラ予測のように並列化し、場合に応じて原画像データを用いても良い。また、１６×１６イントラ予測時であっても場合に応じて原画像データを用いても良い。
【００６０】
［実施形態２］
次に図５のブロック図を参照しながら、本発明にかかる動画像符号化装置のもう一つの実施形態について詳細に説明する。ただし、図５に示す動画像符号化装置５００は実施形態１とほぼ同一の構造を有するが、量子化パラメータ保存部５０１を有する点が異なる。また、実施形態２に係るイントラ予測部１０５は図２に示したものと同じ構造を有するが符号化対象の注目マクロブロックおよび周辺マクロブロックの量子化パラメータに応じて符号化劣化度を補正する点が実施形態１と異なる。なお、イントラ予測部１０５、量子化パラメータ保存部５０１以外の構成の動作については実施形態１と同様のため説明を省く。
【００６１】
量子化パラメータ保存部５０１は量子化部１０７が使用した量子化パラメータを１行（ＲＯＷ）分保持する。１行分の量子化パラメータが保持された状態で、新たな量子化パラメータが量子化部１０７から送信されてきた場合、古い量子化パラメータから順に消去して保存情報の更新を行う。
【００６２】
本実施形態では、図３のＳ３０８の処理において、イントラ予測部１０５内の符号化劣化度演算部２１０は、符号化劣化度（Deterioration_ratio）を数２１を用いて演算し、符号化劣化度保存部２１１に送信する。なお、Ｓ３０８以外の処理は、実施形態１と同様であるため説明は省略する。具体的な符号化劣化度の計算には、原画像イントラ予測誤差保存部２０９からの原画像イントラ予測誤差fake_Cost、イントラ４×４予測部２０２からの復号画像予測誤差Costを用いる。また、注目マクロブロックの現量子化パラメータQPcurと量子化パラメータ保存部５０１から送信される注目マクロブロック周辺のブロックの旧量子化パラメータQParoundとを用いる。
【００６３】
Deterioration_ratio = ABS (fake_Cost - Cost)×α(QPcur− QParound)  ・・・（数２１）
この符号化劣化度は、イントラ予測画像データが、イントラ符号化によって入力画像からどの程度劣化したかを示している。数２１においてABSは絶対値を取ることを示している。また、所定係数αはQPcurとQParoundの差分値によって変動し符号化劣化度を補正する際に用いる係数となっている。なお、QPcur＜QParoundの時は符号化対象画素の方が周辺の画素より符号化劣化が小さくなるため、α＜１となる。また、QPcur＝QParoundの時は符号化対象画像と周辺の画素の符号化劣化が同等となるためα＝１となる。さらに、QPcur＞QParoundの時は符号化対象画像の方が周辺の画素より符号化劣化が大きくなるため、α＞１である。
【００６４】
このように、符号化対象画像と周辺の画素の量子化パラメータの差分を考慮して符号化劣化度を補正することで、より的確なイントラ／インター判定を実行し、適切な符号化を行うことができる。
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等の制御ユニット）がプログラムを読み出して実行する処理である。
【図１】
2011041014.tif 000008
【図２】
2011041014.tif 000009
【図３】
2011041014.tif 000010
【図４】
2011041014.tif 000011
【図５】
2011041014.tif 000012
【図６】
2011041014.tif 000013