(57)【要約】【課題】幾何変換動き補償予測に用いる幾何変換パラメータの推定に必要な動き検出処理を低減し、符号量を増加させることなく予測効率を向上する動画像符号化装置、動画像復号化装置、動画像符号化方法、及び、動画像復号化方法を提供すること。【解決手段】画像信号が分割された画素ブロックの一に隣接する隣接ブロックのうちの一以上の隣接ブロックの動き情報を取得する動き情報取得部と、画素ブロックに対する動き補償を行う際の参照画像信号における、画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、動き情報に基づいて取得する幾何変換情報取得部と、参照画像信号と画素ブロックとの間の幾何変換を含む幾何変換動き予測を、幾何変換パラメータにより幾何変換が行われた参照画像信号を用いて行う、幾何変換予測部と、幾何変換動き予測が行われた画素ブロックの予測誤差値を符号化する符号化部と、を有する動画像符号化装置。【選択図】図１
2012080151.tif 000002
【特許請求の範囲】
【請求項１】
画像信号が分割された画素ブロックの一に隣接する隣接ブロックのうちの一以上の隣接ブロックの動き情報を取得する動き情報取得部と、
前記画素ブロックに対する動き補償を行う際の参照画像信号における、該画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、前記動き情報に基づいて取得する幾何変換情報取得部と、
前記参照画像信号と前記画素ブロックとの間の幾何変換を含む幾何変換動き予測を、前記幾何変換パラメータにより幾何変換が行われた前記参照画像信号を用いて行う、幾何変換予測部と、
前記幾何変換動き予測が行われた前記画素ブロックの予測誤差値を符号化する符号化部と、
を有する動画像符号化装置。
【請求項２】
前記幾何変換パラメータにより、前記参照画像信号に対する幾何変換を行う、幾何変換部を有する請求項１記載の動画像符号化装置。
【請求項３】
前記幾何変換パラメータに係る情報、前記幾何変換パラメータから得られる回転角度に係る情報、前記幾何変換パラメータから得られる拡大又は縮小の量に係る情報、前記幾何変換パラメータから得られる変形の量に係る情報、及び、前記幾何変換パラメータから得られる移動の量に係る情報、のうち何れか一以上の情報である決定パラメータ により、前記幾何変換動き予測を行うか否かを決定する決定部を有する請求項１又は２記載の動画像符号化装置。
【請求項４】
前記符号化部は、さらに、前記決定パラメータを符号化する請求項３記載の動画像符号化装置。
【請求項５】
前記幾何変換予測部は、さらに、前記画素ブロックの動き情報を生成し、
前記符号化部は、さらに、前記動き情報を符号化する請求項１記載の動画像符号化装置。
【請求項６】
前記動き情報取得部は、前記隣接ブロックのうち、既に予測が終了した隣接ブロックの動き情報を取得する請求項１記載の動画像符号化装置。
【請求項７】
前記幾何変換情報取得部は、前記動き情報を、前記隣接ブロックと前記画素ブロックとの相対位置に基づいて変換することにより、前記幾何変換パラメータを取得する請求項１記載の動画像符号化装置。
【請求項８】
前記動き情報取得部は、前記画素ブロックにおけるラスター順の最初の画素に隣接する画素の動き情報、前記画素ブロックの頂点の画素のうち前記ラスター順の最初の画素を除く他の画素に隣接する画素の動き情報、及び、前記画素ブロックの中心に位置する画素の動き情報、のうちの何れか一以上の動き情報を取得する請求項１記載の動画像符号化装置。
【請求項９】
前記動き情報取得部は、複数の前記隣接ブロックの、前記隣接ブロック毎に前記参照画像信号に対する動き予測を行って得られる動きベクトルに基づいて、一の動き情報を取得する請求項１記載の動画像符号化装置。
【請求項１０】
前記動き情報取得部は、前記動き情報により前記画素ブロックの動きベクトルを取得し、
前記符号化部は、前記動きベクトルと前記幾何変換パラメータとによる前記幾何変換動き予測と、前記動きベクトルに基づく動き探索により得られる動きベクトルと前記幾何変換パラメータとによる前記幾何変換動き予測と、のうち、予測誤差値が小さい幾何変換動き予測の動きベクトルに係る情報を符号化する請求項１記載の動画像符号化装置。
【請求項１１】
前記符号化部は、さらに、前記幾何変換パラメータを符号化する請求項１記載の動画像符号化装置。
【請求項１２】
前記符号化部は、さらに、前記幾何変換パラメータに対する前記予測誤差値を小さくする補正に用いる補正情報を 符号化する請求項１記載の動画像符号化装置。
【請求項１３】
前記決定部は、前記決定パラメータの値が所定の範囲内の場合に、前記幾何変換動き予測を行う決定をする請求項３記載の動画像符号化装置。
【請求項１４】
前記決定部は、前記決定パラメータに加えて、前記画素ブロックが符号化される際の所定のパラメータ、又は、前記画像信号が有する既に符号化された画素ブロックが符号化された際の所定のパラメータ、に基づいて、前記幾何変換動き予測を行うか否かを決定する請求項３記載の動画像符号化装置。
【請求項１５】
前記所定のパラメータは、前記画素ブロック又は前記画像信号が有する既に符号化された画素ブロックの、予測タイプの情報、予測モードの情報、量子化パラメータの情報、変換係数の情報、係数存在情報、動き情報、及び、ブロック分割情報、のうちの何れか一以上の情報である請求項１４記載の動画像符号化装置。
【請求項１６】
前記幾何変換は、アフィン変換、共一次変換、へルマート変換、二次等角変換、射影変換、及び、３次元射影変換のうちの何れか一以上の変換である請求項１記載の動画像符号化装置。
【請求項１７】
前記幾何変換部は、前記幾何変換により得られる写像の画素が整数画素の間に位置する場合に、共一次内挿法、最近内挿法、又は、３次畳み込み内挿法の何れか一の内挿法により、前記写像の画素の画素値を取得する請求項２記載の動画像符号化装置。
【請求項１８】
画像信号が分割された画素ブロックの一に隣接する隣接ブロックのうちの一以上の隣接ブロックの動き情報を取得する動き情報取得ステップと、
前記画素ブロックに対する動き補償を行う際の参照画像信号における、該画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、前記動き情報に基づいて取得する幾何変換情報取得ステップと、
前記参照画像信号と前記画素ブロックとの間の幾何変換を含む幾何変換動き予測を、前記幾何変換パラメータにより幾何変換が行われた前記参照画像信号を用いて行う、幾何変換予測ステップと、
前記幾何変換動き予測が行われた前記画素ブロックの予測誤差値を符号化する符号化ステップと、
を有する動画像符号化方法。
【請求項１９】
画像信号が分割された画素ブロックと該画素ブロックに対する動き補償を行う際の参照画像信号との間の幾何変換を含む幾何変換動き予測により得られる予測誤差値を含む、前記画像信号が符号化された符号データを復号する復号化部と、
前記画素ブロックの一に隣接する隣接ブロックのうちの一以上の隣接ブロックの動き情報を取得する動き情報取得部と、
前記参照画像信号における、該画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、前記動き情報に基づいて取得する幾何変換情報取得部と、
前記幾何変換動き予測を、前記幾何変換パラメータにより幾何変換が行われた前記参照画像信号を用いて行い、予測値を生成する、 幾何変換予測部と、
復号された前記予測誤差値と生成された前記予測値とを加算する加算部と、
を有する動画像復号化装置。
【請求項２０】
前記幾何変換パラメータにより、前記参照画像信号に対する幾何変換を行う、幾何変換部を有する請求項１９記載の動画像復号化装置。
【請求項２１】
前記幾何変換パラメータに係る情報、前記幾何変換パラメータから得られる回転角度に係る情報、前記幾何変換パラメータから得られる拡大又は縮小の量に係る情報、前記幾何変換パラメータから得られる変形の量に係る情報、及び、前記幾何変換パラメータから得られる移動の量に係る情報、のうち何れか一以上の情報である決定パラメータにより、前記幾何変換動き予測を行うか否かを決定する決定部を有する請求項１９又は２０記載の動画像復号化装置。
【請求項２２】
前記符号化部は、さらに、前記決定パラメータを符号化する請求項２１記載の動画像復号化装置。
【請求項２３】
前記復号化部は、さらに、前記画素ブロックの動き情報を復号化する請求項１９記載の動画像復号化装置。
【請求項２４】
前記動き情報取得部は、前記隣接ブロックのうち、既に予測が終了した隣接ブロックの動き情報を取得する請求項１９記載の動画像復号化装置。
【請求項２５】
前記幾何変換情報取得部は、前記動き情報を、前記隣接ブロックと前記画素ブロックとの相対位置に基づいて変換することにより、前記幾何変換パラメータを取得する請求項１９記載の動画像復号化装置。
【請求項２６】
前記動き情報取得部は、前記画素ブロックにおけるラスター順の最初の画素に隣接する画素の動き情報、前記画素ブロックの頂点の画素のうち前記ラスター順の最初の画素を除く他の画素に隣接する画素の動き情報、及び、前記画素ブロックの中心に位置する画素の動き情報、のうちの何れか一以上の動き情報を取得する請求項１９記載の動画像復号化装置。
【請求項２７】
前記動き情報取得部は、複数の前記隣接ブロックの、前記隣接ブロック毎に前記参照画像信号に対する動き予測を行って得られる動きベクトルに基づいて、一の動き情報を取得する請求項１９記載の動画像復号化装置。
【請求項２８】
前記符号データは、前記幾何変換パラメータの情報を含み、
前記復号化部は、さらに、前記幾何変換パラメータを復号する請求項１９記載の動画像復号化装置。
【請求項２９】
前記符号データは、さらに、前記幾何変換パラメータに対する前記予測誤差値を小さくする補正に用いる補正情報を含み、
前記復号化部は、さらに、前記補正情報を復号する請求項１９記載の動画像復号化装置。
【請求項３０】
前記決定部は、前記決定パラメータの値が所定の範囲内の場合に、前記幾何変換動き予測を行う決定をする請求項２１記載の動画像復号化装置。
【請求項３１】
前記決定部は、前記決定パラメータに加えて、前記画素ブロックが符号化される際の所定のパラメータ、又は、前記画像信号が有する既に符号化された画素ブロックが符号化された際の所定のパラメータ、に基づいて、前記幾何変換動き予測を行うか否かを決定する請求項２１記載の動画像復号化装置。
【請求項３２】
前記所定のパラメータは、前記画素ブロック又は前記画像信号が有する既に符号化された画素ブロックの、予測タイプの情報、予測モードの情報、量子化パラメータの情報、変換係数の情報、係数存在情報、動き情報、及び、ブロック分割情報、のうちの何れか一以上の情報である請求項３１記載の動画像復号化装置。
【請求項３３】
前記幾何変換は、アフィン変換、共一次変換、へルマート変換、二次等角変換、射影変換、及び、３次元射影変換のうちの何れか一以上の変換である請求項１９記載の動画像復号化装置。
【請求項３４】
前記幾何変換部は、前記幾何変換により得られる写像の画素が整数画素の間に位置する場合に、共一次内挿法、最近内挿法、又は、３次畳み込み内挿法の何れか一の内挿法により、前記写像の画素の画素値を取得する請求項２０記載の動画像復号化装置。
【請求項３５】
画像信号が分割された画素ブロックと該画素ブロックに対する動き補償を行う際の参照画像信号との間の幾何変換を含む幾何変換動き予測により得られる予測誤差値を含む、前記画像信号が符号化された符号データを復号する復号化ステップと、
前記画素ブロックの一に隣接する隣接ブロックのうちの一以上の隣接ブロックの動き情報を取得する動き情報取得ステップと、
前記参照画像信号における、該画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、前記動き情報に基づいて取得する幾何変換情報取得ステップと、
前記幾何変換動き予測を、前記幾何変換パラメータにより幾何変換が行われた前記参照画像信号を用いて行い、予測値を生成する、幾何変換予測ステップと、
復号された前記予測誤差値と生成された前記予測値とを加算する加算ステップと、
を有する動画像復号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、隣接ブロックと予測対象ブロックの動き情報を用いて幾何変換パラメータを推定し、推定した幾何変換パラメータを基に予測対象ブロックの幾何変換予測処理を行う動画像符号化と動画像復号化の方法、プログラム及び装置に関する。
【背景技術】
【０００２】
近年、大幅に符号化効率を向上させた動画像符号化方法がＩＴＵ−ＴとＩＳＯ／ＩＥＣとの共同で、ＩＴＵ−Ｔ  ＲＥＣ．  Ｈ．２６４及びＩＳＯ／ＩＥＣ  １４４９６−１０（以下、「Ｈ．２６４」という。）として勧告されている。Ｈ．２６４では、予測処理、変換処理、及び、エントロピー符号化処理が、矩形ブロック単位（例えば、１６×１６画素、８×８画素等）で行われる。このため、Ｈ．２６４では矩形ブロックで表現出来ないオブジェクトを予測する際に、より小さな予測ブロック（４×４画素等）を選択することで予測効率を高めている。このようなオブジェクトを効果的に予測するために、矩形ブロックに複数の予測パターンを用意する方法や、変形したオブジェクトに対してアフィン変換を用いた動き補償を適応する方法等がある。
【０００３】
例えば、特開２００７―３１２３９７号公報（特許文献１）には、オブジェクトの動きのモデルをアフィン変換モデルとし、予測対象のブロック毎に最適なアフィン変換パラメータを算出することによって、オブジェクトの拡大・縮小・回転などを考慮する予測を用いるビデオフレーム転送方法等の発明が開示されている。
【０００４】
また、非特許文献１には、動きのモデルを平行移動モデルとして算出した動きベクトルの情報を基にして、ブロックを三角パッチに分割し、それぞれのパッチ毎にアフィン変換パラメータを推定することで、近似的にアフィン変換モデルの動き補償予測を行う手法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−３１２３９７号公報
【非特許文献】
【０００６】
【非特許文献１】R.C. Kordasiewicz, M.D. Gallant, and S. Shirani, “Affine Motion Prediction Based on Translational Motion Vectors,” IEEE Trans. On Circuits and Systems for Video Technologies, Vol. 17, No. 10, October 2007.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に記載の方法では、6種類のアフィン変換パラメータを画素ブロック毎に送信するため、オーバーヘッドが増加する。また、これらのパラメータを算出するために、複数の参照画像と予測対象のブロックに対応する入力画像とのブロックマッチングを行う必要があり演算量が増加するという問題がある。
【０００８】
また、非特許文献１に記載の方法は、上下左右など予測対象となる画素ブロックに隣接する８種類の隣接ブロックの動きベクトルと予測対象の画素ブロックで算出された動きベクトルとを用いてアフィン変換パラメータを推定するため、最適な動きベクトルを求めるためにはフレームの再符号化が必要となる。一方、動きベクトルの算出のみをフレーム単位で行った場合は、符号量と符号化歪みの観点で最適ではなく、符号化効率が低下するという問題がある。
【０００９】
本発明は、上記の点に鑑みて、これらの問題を解消するために発明されたものであり、幾何変換動き補償予測に用いる幾何変換パラメータの推定に必要な動き検出処理を低減し、符号量を増加させることなく予測効率を向上する動画像符号化装置、動画像復号化装置、動画像符号化方法、及び、動画像復号化方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の動画像符号化装置は次の如き構成を採用した。
【００１１】
本発明の動画像符号化装置は、画像信号が分割された画素ブロックの一に隣接する隣接ブロックのうちの一以上の隣接ブロックの動き情報を取得する動き情報取得部と、前記画素ブロックに対する動き補償を行う際の参照画像信号における、該画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、前記動き情報に基づいて取得する幾何変換情報取得部と、前記参照画像信号と前記画素ブロックとの間の幾何変換を含む幾何変換動き予測を、前記幾何変換パラメータにより幾何変換が行われた前記参照画像信号を用いて行う、幾何変換予測部と、前記幾何変換動き予測が行われた前記画素ブロックの予測誤差値を符号化する符号化部と、を有する構成とすることができる。
【００１２】
また上記目的を達成するために、本発明の動画像符号化方法は、画像信号が分割された画素ブロックの一に隣接する隣接ブロックのうちの一以上の隣接ブロックの動き情報を取得する動き情報取得ステップと、前記画素ブロックに対する動き補償を行う際の参照画像信号における、該画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、前記動き情報に基づいて取得する幾何変換情報取得ステップと、前記参照画像信号と前記画素ブロックとの間の幾何変換を含む幾何変換動き予測を、前記幾何変換パラメータにより幾何変換が行われた前記参照画像信号を用いて行う、幾何変換予測ステップと、前記幾何変換動き予測が行われた前記画素ブロックの予測誤差値を符号化する符号化ステップと、を有する構成とすることができる。
【００１３】
また上記目的を達成するために、本発明の動画像復号化装置は、画像信号が分割された画素ブロックと該画素ブロックに対する動き補償を行う際の参照画像信号との間の幾何変換を含む幾何変換動き予測により得られる予測誤差値を含む、前記画像信号が符号化された符号データを復号する復号化部と、前記画素ブロックの一に隣接する隣接ブロックのうちの一以上の隣接ブロックの動き情報を取得する動き情報取得部と、前記参照画像信号における、該画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、前記動き情報に基づいて取得する幾何変換情報取得部と、前記幾何変換動き予測を、前記幾何変換パラメータにより幾何変換が行われた前記参照画像信号を用いて行い、予測値を生成する、幾何変換予測部と、復号された前記予測誤差値と生成された前記予測値とを加算する加算部と、を有する構成とすることができる。
【００１４】
また上記目的を達成するために、本発明の動画像復号化方法は、画像信号が分割された画素ブロックと該画素ブロックに対する動き補償を行う際の参照画像信号との間の幾何変換を含む幾何変換動き予測により得られる予測誤差値を含む、前記画像信号が符号化された符号データを復号する復号化ステップと、前記画素ブロックの一に隣接する隣接ブロックのうちの一以上の隣接ブロックの動き情報を取得する動き情報取得ステップと、前参照画像信号における、該画素ブロックの幾何変換による写像の形状に係る情報である幾何変換パラメータを、前記動き情報に基づいて取得する幾何変換情報取得ステップと、前記参照画像信号と前記画素ブロックとの間の幾何変換を含む幾何変換動き予測を、前記幾何変換パラメータにより幾何変換が行われた前記参照画像信号を用いて行い、予測値を生成する、幾何変換予測ステップと、復号された前記予測誤差値と生成された前記予測値とを加算する加算ステップと、を有する構成とすることができる。
【発明の効果】
【００１５】
本発明の動画像符号化装置、動画像復号化装置、動画像符号化方法、及び、動画像復号化方法によれば、幾何変換動き補償予測に用いる幾何変換パラメータの推定に必要な動き検出処理を低減し、符号量を増加させることなく予測効率を向上する動画像符号化装置、動画像復号化装置、動画像符号化方法、及び、動画像復号化方法を提供することが可能になる。
【図面の簡単な説明】
【００１６】
【図１】図１は、第１の実施形態に従う動画像符号化装置の構成を示すブロック図である。
【図２】図２は、第１の実施形態に従うインター予測部の構成示すブロック図である。
【図３】図３は、１６×１６画素ブロックを示す図である。
【図４】図４は、符号化の処理の流れを示す図である。
【図５】図５は、参照画像信号と予測対象画像との位置関係と動きベクトルとの関係を表す図である。
【図６】図６は、動き補償予測を行う際の分数位置の画素を内挿補間処理によって生成する例を示す図である。
【図７Ａ】図７Ａは、マクロブロック単位の動き補償ブロックのサイズを表す図である。
【図７Ｂ】図７Ｂは、サブブロック単位の動き補償ブロックのサイズを表す図である。
【図８】図８は、幾何変換パラメータ導出部の構成を示す図である。
【図９Ａ】図９Ａは、符号化又は復号化の対象となる画素ブロックと隣接ブロックとの位置関係を表す図である。
【図９Ｂ】図９Ｂは、符号化又は復号化の対象となる画素ブロックがマクロブロックの左上の場合の隣接ブロックの位置関係を表す図である。
【図９Ｃ】図９Ｃは、符号化又は復号化の対象となる画素ブロックがマクロブロックの右上の場合の隣接ブロックの位置関係を表す図である。
【図９Ｄ】図９Ｄは、符号化又は復号化の対象となる画素ブロックがマクロブロックの左下の場合の隣接ブロックの位置関係を表す図である。
【図９Ｅ】図９Ｅは、符号化又は復号化の対象となる画素ブロックがマクロブロックの右下の場合の隣接ブロックの位置関係を表す図である。
【図１０Ａ】図１０Ａは、符号化又は復号化の対象となる画素ブロックに対して隣接ブロックのブロックサイズが小さい場合の位置関係を表す図である。
【図１０Ｂ】図１０Ｂは、符号化又は復号化の対象となる画素ブロックに対して隣接ブロックのブロックサイズが小さい場合の位置関係を表す図である。
【図１０Ｃ】図１０Ｃは、符号化又は復号化の対象となる画素ブロックに対して隣接ブロックのブロックサイズが小さい場合の位置関係を表す図である。
【図１０Ｄ】図１０Ｄは、符号化又は復号化の対象となる画素ブロックに対して隣接ブロックのブロックサイズが小さい場合の位置関係を表す図である。
【図１１Ａ】図１１Ａは、符号化又は復号化の対象となる画素ブロック隣接ブロックより小さく、画素ブロックの左上の場合の隣接ブロックの位置関係を表す図である。
【図１１Ｂ】図１１Ｂは、符号化又は復号化の対象となる画素ブロック隣接ブロックより小さく、画素ブロックの右上の場合の隣接ブロックの位置関係を表す図である。
【図１１Ｃ】図１１Ｃは、符号化又は復号化の対象となる画素ブロック隣接ブロックより小さく、画素ブロックの左下の場合の隣接ブロックの位置関係を表す図である。
【図１１Ｄ】図１１Ｄは、符号化又は復号化の対象となる画素ブロック隣接ブロックより小さく、画素ブロックの右下の場合の隣接ブロックの位置関係を表す図である。
【図１２】図１２は、符号化又は復号化の対象となる画素ブロックに対して隣接ブロックのブロックサイズが小さい場合の位置関係を表す図である。
【図１３Ａ】図１３Ａは、予測対象画素に幾何変換を行う際の予測対象画素の分割を表す図である。
【図１３Ｂ】図１３Ｂは、予測対象画素に幾何変換を行う際の予測対象画素の分割を表す図である。
【図１４】図１４は、幾何変換予測部の構成を示す図である。
【図１５】図１５は、動き補償予測と幾何変換予測の予測値生成の例を表す図である。
【図１６】図１６は、幾何変換を行った分数位置の画素値を内挿補間処理によって生成する例を示す図である。
【図１７】図１７は、幾何変換を行った際のオブジェクトの変形の例を示す図である。
【図１８】図１８は、第１の実施形態に示される幾何変換予測の処理の流れを示すフローチャートである。
【図１９】図１９は、シンタクス構造を示す図である。
【図２０】図２０は、スライスヘッダーシンタクスに含まれる情報を示す図である。
【図２１】図２１は、第１の実施の形態におけるスライスデータシンタクスに含まれる情報を示す図である。
【図２２】図２２は、第１の実施の形態におけるマクロブロックレイヤーシンタクスに含まれる情報を示す図である。
【図２３】図２３は、第１の実施の形態におけるマクロブロックプレディクションシンタクスに含まれる情報を示す図である。
【図２４】図２４は、第１の実施の形態におけるサブマクロブロックプレディクションシンタクスに含まれる情報を示す図である。
【図２５】図２５は、第１の実施の形態の変更例におけるマクロブロックレイヤーシンタクスに含まれる情報を示す図である。
【図２６】図２６は、第２の実施形態に従う動画像符号化装置を示すブロック図である。
【図２７Ａ】図２７Ａは、イントラ予測に用いる１６×１６画素ブロックを示す図である。
【図２７Ｂ】図２７Ｂは、イントラ予測に用いる４×４画素ブロックを示す図である。
【図２７Ｃ】図２７Ｃは、イントラ予測に用いる８×８画素ブロックを示す図である。
【図２８】図２８は、第３の実施形態に従うインター予測部を示すブロック図である。
【図２９】図２９は、第４の実施形態におけるマクロブロックレイヤーシンタクスに含まれる情報を示す図である。
【図３０】図３０は、第４の実施形態におけるサブマクロブロックレイヤーシンタクスに含まれる情報を示す図である。
【図３１】図３１は、第５の実施形態に従う動画像復号化装置を示すブロック図である。
【図３２】図３２は、第５の実施形態に従う動画像復号化装置を示すブロック図である。
【図３３】図３３は、第６の実施形態に従う動画像復号化装置を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下、第１の実施の形態ないし第７の実施の形態を図面に基づき説明する。第１の実施の形態から第４の実施の形態は、動画像符号化装置による実施の形態であり、第５の実施の形態から第７の実施の形態は、動画像復号化装置による実施の形態である。なお、以下の実施の形態における「判定パラメータ」は、「決定パラメータ」に対応する。
【００１８】
＜動画像符号化装置＞
以下の実施の形態で説明する動画像符号化装置は、入力画像信号を構成する各々のフレームを複数の画素ブロックに分割し、これら分割した画素ブロックに対して符号化処理を行って圧縮符号化し、符号列を出力する装置である。
【００１９】
［第１の実施の形態］
＜動画像符号化装置１００＞
図１は、幾何変換予測を用いる符号化方法を実現する動画像符号化装置１００の構成を示す図である。また、図２は、動画像符号化装置１００が有するインター予測部１３０のブロック図である。
【００２０】
図１の動画像符号化装置１００は、符号化制御部１２６から入力される符号化パラメータに基づいて、入力画像信号１１４に対するインター予測（フレーム間予測）符号化処理を行い、予測画像信号１２３を生成し、符号化データ１２４を出力する。
【００２１】
動画像符号化装置１００は、動画像または静止画像の入力画像信号１１４が、画素ブロック単位、例えばマクロブロック単位に分割されて入力される。入力画像信号は、フレーム及びフィールドの両方を含む１つの符号化の処理単位である。なお、本実施の形態では、フレームを１つの符号化の処理単位とする例について説明する。
【００２２】
動画像符号化装置１００は、ブロックサイズや予測画像信号１２３の生成方法の異なる複数の予測モードによる符号化を行う。予測画像信号１２３の生成方法は、具体的には大きく分けて符号化対象のフレーム内だけで予測画像を生成するイントラ予測（フレーム内予測）と、時間的に異なる複数の参照フレームを用いて予測を行うインター予測とがあるが、本実施の形態では、インター予測を用いて予測画像信号を生成する例について説明する。
【００２３】
第１ないし第７の実施の形態では、マクロブロックを符号化処理の基本的な処理ブロックサイズとする。マクロブロックは、典型的に例えば図３に示す１６×１６画素ブロックであるが、３２×３２画素ブロック単位であっても８×８画素ブロック単位であってもよい。またマクロブロックの形状は必ずしも正方格子である必要はない。以下、入力画像信号１１４の符号化対象マクロブロックを「予測対象ブロック」という。
【００２４】
第１ないし第７の実施の形態では、説明を簡単にするために図４に示されているように左上から右下に向かって符号化処理がなされていくものとする。図４では、符号化処理をされている符号化フレームｆにおいて、符号化対象となるブロックｃよりも左及び上に位置するブロックが、符号化済みブロックｐである。
【００２５】
動画像符号化装置１００は、減算器１０１、変換・量子化部１０２、逆量子化・逆変換部１０３、加算器１０４、参照画像メモリ１０５、動き推定部１０６、及び、インター予測部１３０を有する。動画像符号化装置１００は、符号化制御部１２６に接続される。
【００２６】
次に、動画像符号化装置１００における符号化の流れを説明する。まず、入力画像信号１１４が、減算器１０１へ入力される。減算器１０１には、インター予測部１３０から出力された各々の予測モードに応じた予測画像信号１２３が更に入力される。減算器１０１は、入力画像信号１１４から予測画像信号１２３を減算した予測誤差信号１１５を算出する。予測誤差信号１１５は変換・量子化部１０２へと入力される。
【００２７】
変換・量子化部１０２は、予測誤差信号１１５に対して、例えば離散コサイン変換（ＤＣＴ）のような直交変換が施され、変換係数が生成される。変換・量子化部１０２における変換は、Ｈ．２６４で用いられている離散コサイン変換の他に、離散サイン変換、ウェーブレット変換、又は、成分解析等でもよい。
【００２８】
変換・量子化部１０２では、符号化制御部１２６によって与えられる量子化パラメータ、量子化マトリクス等に代表される量子化情報に従って変換係数を量子化する。変換・量子化部１０２は、量子化後の変換係数１１６を、エントロピー符号化部１１２に対して出力し、さらに、逆量子化・逆変換部１０３に対しても出力する。
【００２９】
エントロピー符号化部１１２は、量子化後の変換係数１１６に対してエントロピー符号化、例えばハフマン符号化や算術符号化などを行う。エントロピー符号化部１１２は、さらに、符号化制御部１２６から出力された予測情報などを含んだ、対象ブロックを符号化したときに用いた様々な符号化パラメータに対してエントロピー符号化を行う。これにより、符号化データが生成される。
【００３０】
なお、符号化パラメータとは、予測情報、変換係数に関する情報、量子化に関する情報、等の復号の際に必要となるパラメータである。なお、予測対象ブロックの符号化パラメータは、符号化制御部１２６が持つ内部メモリに保持され、予測対象ブロックが他の画素ブロックの隣接ブロックとして用いられる際に利用される。
【００３１】
エントロピー符号化部１１２により生成された符号化データ１２４は、動画像符号化装置１００から出力され、多重化を経て出力バッファ１１３に一旦蓄積された後、符号化制御部１２６が管理する出力タイミングに従って符号化データ１２４として出力される。符号化データ１２４は、例えば、図示しない蓄積系（蓄積メディア）または伝送系（通信回線）へ送出される。
【００３２】
逆量子化・逆変換部１０３は、変換・量子化部１０２から出力された量子化後の変換係数１１６に対する逆量子化処理が行われる。ここでは、変換・量子化部１０２で使用された量子化情報に対応する量子化情報が、符号化制御部１２６の内部メモリからロードされて逆量子化処理が行われる。なお、量子化情報は、例えば、量子化パラメータ、量子化マトリクス等に代表されるパラメータである。
【００３３】
逆量子化・逆変換部１０３では、さらに、逆量子化後の変換係数に対し、逆離散コサイン変換（ＩＤＣＴ）のような逆直交変換が施されることによって、復号予測誤差信号１１７が再生される。
【００３４】
復号予測誤差信号１１７は、加算器１０４に入力される。加算器１０４では、復号予測誤差信号１１７とインター予測部１３０から出力された予測画像信号１２３とが加算されることにより、復号画像信号１１８が生成される。復号画像信号１１８は、局所復号画像信号である。復号画像信号１１８は、参照画像メモリ１０５に参照画像信号１２０として蓄積される。参照画像メモリ１０５に蓄積された参照画像信号１２０は、動き推定部１０６、インター予測部１３０等に出力され予測の際などに参照される。
【００３５】
動き推定部１０６は、入力画像信号１１４と参照画像信号１２０とを用いて、予測対象ブロックに適した動きベクトル１１９を算出する。動き情報は、例えば、動きベクトルで表されるとよい。動き情報は、また例えば、動きベクトルを他の動きベクトル等により予測する際の予測値でもよい。
【００３６】
動き推定部１０６は、入力画像信号１１４の予測対象ブロックと、参照画像信号１２０の補間画像との間でブロックマッチングを行うことにより、動きベクトル１１９を算出する。マッチングの評価基準としては、例えば、入力画像信号１１４とマッチング後の補間画像との差分を画素毎に累積した値を用いる。
【００３７】
動きベクトル１１９の決定は、前述した方法の他に予測された画像と原画像との差を変換した値を用いても良いし、動きベクトルの大きさを加味したり、動きベクトルの符号量などを加味したりして、判定してもよい。また後述する式（２９）及び式（３０）などのコストを利用しても良い。また、マッチングは、動画像符号化装置１００の外部から提供される探索範囲情報に基づいてマッチングの範囲内を全探索しても良いし、画素精度毎に階層的に実施しても良い。
【００３８】
このようにして複数の参照画像信号に対して算出された動きベクトル１１９は、インター予測部１３０へと入力され、予測画像信号１２３の生成に利用される。なお、複数の参照画像信号は、それぞれの表示時刻が異なる局部復号画像である。
【００３９】
また、算出された動きベクトル１１９は、エントロピー符号化部１１２へと出力され、エントロピー符号化が行われた後に符号化データに多重化される。更に対象画素ブロックを符号化した動きベクトル１１９は、符号化制御部１２６の内部メモリに保存され、インター予測部１３０から適宜ロードされて利用される。
【００４０】
＜インター予測部１３０＞
図２のインター予測部１３０は、動き補償予測部１０７、幾何変換パラメータ導出部１０８、幾何変換予測部１０９、判定パラメータ導出部１２７、予測分離スイッチ１１０、予測切替部１１１、及び、エントロピー符号化部１１２を有する。
【００４１】
動き補償予測部１０７は、入力された動きベクトル１１９と参照画像信号１２０を用いて予測画像信号１２３を生成する。図５は、動き補償予測部１０７で行われるインター予測の例について説明する図である。図５では、フレーム（ｔ）が有する予測対象ブロックに対し、フレーム（ｔ−１）における予測誤差が小さい位置を取得することにより、動きベクトルが取得される。
【００４２】
インター予測では、参照画像メモリ１０５に蓄積されている複数の参照画像信号１２０を用いて補間処理を行い、作成した補間画像と入力画像信号１１４との同位置の画素ブロックからのズレ量を元に予測画像信号１２３が生成される。補間処理は、例えば、１／２画素精度の補間処理や、１／４画素精度の補間処理などが用いられ、参照画像信号１２０に対するフィルタリング処理等の内挿補間処理を行うことにより、補間画素の値を生成する。例えば輝度信号に対して１／４画素精度までの補間処理が許容されるＨ．２６４では、ズレ量は整数画素精度の４倍で表現される。このズレ量を動きベクトルと呼ぶ。
【００４３】
動き補償予測部１０７では、動きベクトル１１９の情報に従って、予測対象ブロックの位置から、次式（１）を用いて動きベクトル１１９により参照されている位置を割り出す。ここでは、Ｈ．２６４の１／４画素精度の内挿補間処理を例に挙げて説明する。動きベクトルの各成分が４の倍数である場合は、整数画素位置を指していることを意味する。その他の場合は、分数精度の補間位置に対応する予測位置である。
【００４４】
【数１】
2012080151.tif 000003
【００４５】
ここで、（ｘ,ｙ)は予測対象ブロックの先頭位置を表す垂直、水平方向のインデックスであり、（ｘ_ｐｏｓ,ｙ_ｐｏｓ)は参照画像信号の対応する予測位置を表す。（ｍｖ_ｘ,ｍｖ_ｙ)は１／４画素精度を持つ動きベクトルを示している。次に割り出した画素位置に対して、参照画像信号１２０の対応する画素位置の補填又は内挿補間処理によって予測画素を生成する。
【００４６】
図６は、Ｈ．２６４の予測画素生成の例を示す図である。図中大文字で示されるアルファベットは整数位置の画素を示し、ドットのハッチングの正方形は１／２画素位置の補間画素を示している。また、斜線のハッチングの正方形は１／４画素位置に対応する補間画素を示している。例えば、図中、アルファベットｂ、ｈの位置に対応する１／２画素の補間処理は次式で算出される。
【００４７】
【数２】
2012080151.tif 000004
また、図中でアルファベットａ、ｄの位置に対応する１／４画素の補間処理は次式で算出される。
【００４８】
【数３】
2012080151.tif 000005
【００４９】
式（２）では、１／２画素位置の補間画素を、６タップＦＩＲフィルタ（タップ係数：（1，−５，２０，２０、−５，１）／３２）を用いて生成する。式（３）では、１／４画素位置の補間画素は、２タップの平均値フィルタ（タップ係数：（１，１）／２）を用いて算出する。４つの整数画素位置の中間に存在するアルファベットｊに対応する１／２画素の補間処理は、垂直方向６タップと水平方向６タップの両方向を行うことによって生成される。説明した以外の画素位置も同様のルールで補間値が生成できる。
【００５０】
インター予測では、複数の予測ブロックの中から現在の対象画素ブロックに適したブロックサイズを選択することが可能である。図７Ａにマクロブロック単位の動き補償画素ブロックのサイズを、図７Ｂにサブブロック（８×８画素ブロック以下）単位の動き補償画素ブロックのサイズを示す。
【００５１】
図７Ａでは、１６×１６画素のＭＢ１、２個の１６×８画素ブロックからなるＭＢ２、２個の８×１６画素ブロックからなるＭＢ３、及び、４個の８×８画素ブロックからなるＭＢ４が示される。また、図７Ｂでは、８×８画素のＳＢ１、２個の８×４画素ブロックからなるＳＢ２、２個の４×８画素ブロックからなるＳＢ３、及び、４個の４×４画素ブロックからなるＳＢ４が示される。
【００５２】
これらの予測対象ブロックのサイズ毎に、動きベクトルを所持することが可能であるため、入力画像信号１１４の局所的な性質に従って、最適な予測対象ブロックの形状と動きベクトルを利用することができる。また、Ｈ．２６４では、どの参照画像信号に対して動きベクトルを計算したかの情報はＲｅｆ_ｉｄｘとして最小で８×８画素ブロック毎に変更することが可能である。
【００５３】
動き補償予測部１０７で生成された予測画像信号１２３は、予測分離スイッチ１１０に入力され、後述する予測切替部１１１から出力される予測切替情報１２２に従って制御されたスイッチの出力端の接続先に応じて選択される。
【００５４】
一方、動き推定部１０６から出力された動きベクトル１１９が幾何変換パラメータ導出部１０８へと入力され、幾何変換パラメータ１２１が生成される。ここで、幾何変換パラメータ１２１は、参照画像信号１２０に対して幾何変換を実施するためのパラメータセットである。幾何変換パラメータ導出部１０８から出力された幾何変換パラメータ１２１は幾何変換予測部１０９へと入力されるとともに判定パラメータ導出部１２７へと入力される。
【００５５】
幾何変換予測部１０９は、入力された幾何変換パラメータ１２１及び参照画像信号１２０を用いて幾何変換を施した予測画像信号１２３を生成する。尚、予測対象ブロックの幾何変換パラメータ１２１は、符号化制御部１２６が持つ内部メモリに保持され、予測対象ブロックが他の画素ブロックの隣接ブロックとなる際に利用される。
【００５６】
判定パラメータ導出部１２７では、入力される幾何変換パラメータ１２１に基づいて、動き補償予測部１０７で生成された予測画像信号を用いるか、幾何変換予測部１０９で生成された予測画像信号を用いるかを判断するための判定パラメータを導出する。判定パラメータ導出部１２７で生成された判定パラメータ１２５は、予測切替部１１１へ入力される。
【００５７】
予測切替部１１１は、入力された判定パラメータ１２５に従って、予測対象ブロックの予測切替情報１２２を出力する。予測分離スイッチ１１０は、入力された予測切替情報１２２に従ってスイッチの出力端を動き補償予測部１０７に接続するか、幾何変換予測部１０９に接続するかを決定する。この決定に従って、いずれかの予測画像信号１２３が減算器１０１及び加算器１０４へと出力される。
以上が動画像符号化装置１００の符号化処理の流れである。
【００５８】
＜インター予測部１３０における幾何変換予測処理＞
以下、本実施の形態に係わる幾何変換予測処理の詳細についてより詳細に説明する。
【００５９】
＜幾何変換パラメータ導出部１０８＞
先ず、幾何変換パラメータ導出部１０８の処理について具体的に説明する。幾何変換パラメータ導出部１０８では、動き推定部１０６から出力された予測対象ブロックの動きベクトル１１９と符号化制御部１２６に保存されている動きベクトルを用いて、予測対象ブロックの幾何変換パラメータを導出する。符号化制御部１２６に保存されている動きベクトルは、隣接ブロックの動きベクトルであり、以下、「隣接動きベクトル」という。
【００６０】
図８は、幾何変換パラメータ導出部１０８の構成を示すブロック図である。幾何変換パラメータ導出部１０８は、動きベクトル取得部１８１とパラメータ導出部１８２とを有する。動きベクトル取得部１８１は、複数の隣接ブロックのうち、動き情報を取得する隣接ブロックを決定し、その隣接ブロックの動き情報、例えば、動きベクトルを取得する。パラメータ導出部１８２は、隣接ブロックの動きベクトルから、幾何変換パラメータを導出する。
【００６１】
以下、図９ないし図１１を用いて、動きベクトル取得部１８１による隣接動きベクトルを導出する処理について説明する。
【００６２】
≪隣接ブロックと隣接動きベクトルの導出（その１）−ブロックサイズが同じ場合≫
図９Ａないし図９Ｅは、予測対象ブロックに対する隣接ブロックの関係を示す図である。図９Ａでは、予測対象ブロックと隣接ブロックのサイズ（例えば１６×１６画素ブロック）が一致する場合の例を示す。
【００６３】
図９Ａ中、斜線のハッチングが付された画素ブロックｐは既に符号化又は予測が完了している画素ブロック（以下、「予測済画素ブロック」という。）である。ドットのハッチングが付されたブロックｃは予測対象ブロックを示しており、白で表示されている画素ブロックｎは未符号化画素（未予測）ブロックである。図中Ｘは符号化（予測）対象画素ブロックを表している。
【００６４】
隣接ブロックＡは、予測対象ブロックＸの左の隣接ブロック、隣接ブロックＢは、予測対象ブロックＸの上の隣接ブロック、隣接ブロックＣは、予測対象ブロックＸの右上の隣接ブロック、隣接ブロックＤは、予測対象ブロックＸの左上の隣接ブロックである。
【００６５】
符号化制御部１２６の内部メモリに保持されている隣接動きベクトルは、予測済画素ブロックの動きベクトルのみである。図４で示したように画素ブロックは左上から右下に向かって符号化及び予測の処理がされていくため、画素ブロックＸの予測を行う際には、右及び下方向の画素ブロックは未だ符号化が行われていない。そこで、これらの隣接ブロックから隣接動きベクトルを導出することができない。
【００６６】
図９Ｂないし図９Ｅは、予測対象ブロックが８×８画素ブロックの場合の、隣接ブロックの例を示す図である。なお、図９Ｂないし図９Ｅにおいて、太線はマクロブロックの境界を表す。図９Ｂは、マクロブロック内の左上に位置する画素ブロック、図９Ｃは、マクロブロック内の右上に位置する画素ブロック、図９Ｄは、マクロブロック内の左下に位置する画素ブロック、図９Ｅは、マクロブロック内の右下に位置する画素ブロックを、それぞれ、予測対象ブロックとする場合の例を示す。
【００６７】
マクロブロックの内部も同様に左上から右下に向かって符号化処理が行われるため、８×８画素ブロックの符号化順序に応じて隣接ブロックの位置が変化する。対応する８×８画素ブロックの符号化処理又は予測画像生成処理が完了すると、その画素ブロックは符号化済み画素ブロックとなり、後に処理される画素ブロックの隣接ブロックとして利用される。図９Ｅでは、隣接ブロックＣに対応する右上の画素ブロックが未符号化画素ブロックであるため、符号化済み画素ブロックの右上に位置する画素ブロックを隣接ブロックとする。
【００６８】
≪隣接ブロックと隣接動きベクトルの導出（その２）−ブロックサイズが異なる場合≫
次に隣接ブロックと予測対象ブロックのブロックサイズが異なる場合の隣接ブロックの関係を説明する。予測対象ブロックと隣接ブロックのブロックサイズが異なる場合、隣接画素の定義が複数存在する。
【００６９】
図１０Ａないし図１０Ｄは、予測対象ブロックが大きく、隣接ブロックが小さい場合の例を説明する図である。図１０Ａは、予測対象ブロックの左上の画素にもっとも近い画素が存在する画素ブロックを隣接画素とする例である。図１０Ｂは、予測対象ブロックに隣接する画素ブロックの右下に位置する画素ブロックを隣接ブロックとする例である。
【００７０】
図１０Ｃは、予測対象ブロックに隣接する画素ブロックの中心に存在する画素ブロックを隣接ブロックとする例である。図１０Ｃでは、予測対象ブロックＸの左に隣接する画素ブロックの中心は、８×８画素ブロックの境界となる。このように中心位置がブロック境界に存在する場合は、左の画素ブロックを隣接ブロックとしている。
【００７１】
図１０Ｄは、予測対象ブロックに隣接する画素ブロックの中心に存在する画素ブロックを隣接ブロックとする例であるが、図１０Ｃと同様に中心点が画素ブロック境界に位置するため、中心点の右上に位置する画素ブロックを隣接ブロックとする例である。中心がブロック境界に存在する場合、隣接するどのブロックを中心のブロックと定義しても良いが、全ての隣接画素で同様の定義を適用する。これにより、それぞれの隣接ブロックの動き情報から、予測対象ブロックの動き情報を推定する際に、隣接ブロックに対する位置関係を同一の位相で表現することができる。
【００７２】
尚、本実施の形態では、簡単のために図１０Ａで示された隣接ブロックの定義を利用する。
【００７３】
図１１Ａないし図１１Ｄは、予測対象ブロックが小さく、隣接ブロックのブロックサイズが大きい場合の例を説明する図である。図９Ｅと同様に、対応する画素ブロックが未符号化画素ブロックである場合は、予測対象ブロックに距離的に近い利用可能な符号化済みの画素ブロックで置き換える。
【００７４】
以上の説明では、１６×１６画素及び８×８画素の場合を例に挙げて説明したが、同様の枠組みを用いて３２×３２画素、４×４画素などの正方画素ブロックや１６×８画素、８×１６画素などの矩形画素ブロックに対しても隣接ブロックを決定してよい。
【００７５】
また、インター予測では、マクロブロック内の符号化順序に依存せずに符号化処理、すなわち、動きベクトルの推定を行うことが可能なため、８×８画素ブロックの場合においても、図１０Ａないし図１０Ｄのいずれかを用いて隣接ブロックを決定してもよい。また、ブロックサイズの大きさが異なる画素ブロックが混在している場合にも、図１０Ａないし図１０Ｄのいずれかを用いて隣接ブロックを決定してもよい。
【００７６】
なお、隣接ブロックとしてＡ，Ｂ，Ｃ，Ｄの４つの画素ブロックを用いる他に、隣接ブロックを更に広く定義してもかまわない。例えば、隣接ブロックＡの更に左の画素ブロックを用いてもよいし、隣接ブロックＢの更に上の画素ブロックを用いても良い。これらの隣接ブロックの定義は、既に説明した図９ないし図１１の定義と同様に定義してよい。
【００７７】
≪幾何変換パラメータの導出≫
次に幾何変換パラメータ導出部１０８における幾何変換パラメータ１２１の導出方法について説明する。幾何変換パラメータ１２１は、パラメータ導出部１８２により実行される。隣接ブロックが保持する隣接動きベクトルをそれぞれ式（４）ないし（７）により定義する。
【００７８】
【数４】
2012080151.tif 000006
【００７９】
【数５】
2012080151.tif 000007
【００８０】
【数６】
2012080151.tif 000008
【００８１】
【数７】
2012080151.tif 000009
【００８２】
また、動き推定部１０６から提供される動きベクトル１１９を式（８）により定義する。なお、動きベクトル１１９は、予測対象ブロックＸの動きベクトルである。
【００８３】
【数８】
2012080151.tif 000010
【００８４】
式（４）ないし（８）で表される動きベクトル及び隣接動きベクトルを用いて、幾何変換パラメータ１２１を導出する。幾何変換がアフィン変換の場合には、変換式は次式（９）で表される。
【００８５】
【数９】
2012080151.tif 000011
【００８６】
式（９）では、座標（ｘ、ｙ）がアフィン変換によって座標（ｕ，ｖ）へ変換される。式（９）に含まれるａ、ｂ、ｃ、ｄ、ｅ、ｆの６個のパラメータが幾何変換パラメータを表している。アフィン変換ではこの６種類のパラメータを推定するため、６個以上の入力値が必要となる。隣接ブロックＡ、Ｂ及び予測対象ブロックＸのそれぞれの動きベクトルを用いると、次式（１０）により幾何変換パラメータが導出される。ここでは、動きベクトルが１／４精度であることを前提としている。
【００８７】
【数１０】
2012080151.tif 000012
但し、ａｘ、ａｙは予測対象ブロックのサイズに基づく変数であり、次式で算出される。
【００８８】
【数１１】
2012080151.tif 000013
【００８９】
ここで、ｍｂ＿ｓｉｚｅ＿ｘ及びｍｂ＿ｓｉｚｅ＿ｙはマクロブロックの水平、垂直方向のサイズを示しており、１６×１６画素ブロックの場合には、ｍｂ＿ｓｉｚｅ＿ｘ＝１６、ｍｂ＿ｓｉｚｅ＿ｙ＝１６となる。また、ｂｌｋ＿ｓｉｚｅ＿ｘ及びｂｌｋ＿ｓｉｚｅ＿ｙは予測対象ブロックの水平、垂直サイズを表しており、図９Ｂの場合は、ｂｌｋ＿ｓｉｚｅ＿ｘ＝８、ｂｌｋ＿ｓｉｚｅ＿ｙ＝８となる。
【００９０】
ここでは、入力値として隣接ブロックＡ及びＢの動きベクトルを用いて、幾何変換パラメータを導出する例を示したが、必ずしも、隣接ブロックＡ及びＢの動きベクトルを用いる必要はなく、隣接ブロックＣ、Ｄ及びそれ以外の隣接ブロックから算出された動きベクトルを用いても良いし、これらの複数の隣接ブロックの動きベクトルからパラメータフィッティングを用いて、幾何変換パラメータを求めても良い。また、式（１０）は、それぞれａ，ｂ，ｄ，ｅが実数で得られるが、予めこれらのパラメータの演算精度を決めておくことで簡単に整数化が可能である。
【００９１】
≪隣接動きベクトルの導出−エッジ考慮≫
隣接ブロックとの境界にオブジェクトのエッジがある場合や、異なるオブジェクトが存在する場合、幾何変換パラメータが正しく導出できないことがある。そこで、利用する隣接動きベクトルと予測対象ブロックの動きベクトルの絶対差分値が大きく異なる場合は、当該隣接ブロックの動きベクトルを入力値に加えない処理を行ってもよい。例えば、｜ｍｖａ−ｍｖｘ｜を計算し、予め規定した閾値Ｄよりも大きくなる場合は、ｍｖａを入力値として利用しないようにしてもよい。
【００９２】
また、予測対象ブロックの左に位置する隣接ブロックの候補が複数存在する場合、これらの候補の中で動きベクトルのメディアン値を計算し、値が大きく異なる動きベクトルを除外してもよい。図１２は、４つの８×８画素ブロック毎に、メディアン値を計算する例を示す図である。予測対象ブロックＸのブロックサイズが大きく、隣接する画素ブロックのブロックサイズが小さい場合、隣接画素の候補となる画素ブロックが複数存在する。ここで、左に位置する４個の画素ブロックの動きベクトルを、それぞれ、ｍｖａ、ｍｖｂ、ｍｖｃ、ｍｖｄとすると、次式（１２）により動きベクトルを決定する。
【００９３】
【数１２】
2012080151.tif 000014
式（１２）では、二次元ベクトルのメディアン値を用いる例を示したが、式（１３）に示すように、ベクトルの要素毎のメディアン値でもよい。
【００９４】
【数１３】
2012080151.tif 000015
【００９５】
この他に、要素毎の平均値、二次元ベクトルのランダム値、又は、ベクトルの要素別のランダム値等を用いてもよい。また、隣接ブロックＢ、Ｃ、Ｄにおいても同様の処理を行って隣接動きベクトルを求めてもよい。
【００９６】
≪予測対象画素の分割≫
次に予測対象ブロックに対して幾何変換を実施する領域を説明する。幾何変換パラメータを導出する領域は、幾何変換を実施する領域に対応している。式（１０）では矩形画素ブロックに対して幾何変換パラメータを導出する例を示した。しかし、必ずしも矩形画素ブロックで幾何変換パラメータを導出する必要はなく、図１３で示す三角パッチで矩形ブロックを分割してもよい。図１３Ａ、及び、図１３Ｂは予測対象ブロックを対角線で分け２つの三角パッチで分割した例を示している。図１３Ａでは、それぞれの幾何変換パラメータを次式で導出する。予測対象三角パッチＸ１は、隣接ブロックＡ、Ｄ及び予測対象ブロックＸ１の動きベクトルを用いて次式（１４）で定義される。
【００９７】
【数１４】
2012080151.tif 000016
予測対象三角パッチＸ２は、隣接ブロックＢ、Ｄ及び予測対象ブロックＸ２の動きベクトルを用いて次式（１５）で定義される。
【００９８】
【数１５】
2012080151.tif 000017
【００９９】
式（１４）及び式（１５）に示す例のように、予測対象三角パッチ（または予測対象ブロック）に対して空間的距離の近い隣接ブロックの動きベクトルを用いて幾何変換パラメータを導出する。
【０１００】
図１３Ｂの場合も、同様にして、幾何変換パラメータが導出できる。しかし、予測対象三角パッチＸ２は、未符号化画素ブロック側に空間的距離が近く、隣接ブロックとの空間的距離が遠い。一般的に、オブジェクトの動きは空間的相関が高いため、利用可能な隣接ブロックが多く取れるように分割形状を定義するとよい。
【０１０１】
なお、本実施の形態では、予測対象ブロックを２つの三角パッチで分割する例を示したが、分割形状は、更に複数の三角パッチで分割してもよく、また、矩形、曲線、台形、平行四辺形、及びこれらの組み合わせを用いて分割しても良い。
【０１０２】
本実施の形態では、幾何変換の例としてアフィン変換を用いた例を示したが、共一次変換、ヘルマート変換、二次等角変換、射影変換、3次元射影変換、などのいずれの幾何変換を用いてもよい。例えば射影変換は、次式（１６）で表される。
【０１０３】
【数１６】
2012080151.tif 000018
【０１０４】
式（１６）において、分子分母をスカラーで通分すると、解くべきパラメータは８種類となる。そこで、利用可能な隣接ブロック数を多く定義することにより、アフィン変換と同様の枠組みで幾何変換パラメータを導出することが可能である。
以上が、幾何変換パラメータ導出部１０８の処理の概要である。
【０１０５】
＜幾何変換予測部１０９＞
次に、幾何変換予測部１０９の処理について具体的に説明する。幾何変換予測部１０９は入力された幾何変換パラメータ１２１を基にして、参照画像信号１２０に対して幾何変換を実施し、幾何変換予測を行う。図１４は、幾何変換予測部１０９の構成の例を示すブロック図である。幾何変換予測部１０９は、幾何変換部１９１と内挿補間部１９２とを有する。幾何変換部１９１は、参照画像信号１２０に対する幾何変換を行い、予測画素の位置を算出する。内挿補間部１９２は、幾何変換により求められた予測画素の分数位置に対応する予測画素の値を、内挿補間等により算出する。
【０１０６】
図１５は、予測対象ブロックに対する幾何変換予測と動き補償予測の例を示す図である。図１５は、１６×１６画素ブロックの例である。
【０１０７】
図中、予測対象ブロックは三角で示される画素からなる正方形画素ブロックＣＲである。動き補償予測の対応する画素は黒丸で示される。黒丸で示される画素からなる画素ブロックＭＥＲは、正方形である。一方、幾何変換予測の対応する画素は×で示され、これらの画素からなる画素ブロックＧＴＲは、平行四辺形となる。
【０１０８】
動き補償後の領域と幾何変換後の領域は、参照画像信号の対応する領域を符号化対象のフレームの座標に合わせて記述している。このように、幾何変換予測を用いることによって、矩形画素ブロックの回転、拡大・縮小、せん断、鏡面変換などの変形に合わせた予測画像信号の生成が可能となる。
【０１０９】
幾何変換部１９１は、式（１０）、式（１４）、及び、式（１５）を用いて算出された幾何変換パラメータ１２１を用い、式（９）により、幾何変換後の座標（ｕ，ｖ）を算出する。算出された幾何変換後の座標（ｕ，ｖ）は、実数値である。そこで、座標（ｕ，ｖ）に対応する輝度値を参照画像信号から内挿補間することによって予測値を生成する。
【０１１０】
式（１０）、式（１４）、及び、式（１５）より、６ビット演算で誤差なく分数位置を計算できるため、内挿補間の際の画素精度を６ビットとする。これにより、整数画素間は６４個の分数画素に分割される。
【０１１１】
図１６は、共一次内挿法による輝度値補間処理の例を示す図である。白丸ｃｗ０ないしｃｗ３は整数画素位置の輝度値を示し、黒丸ｃｂが補間画素位置（ｕ，ｖ）を示している。図１６では、分数精度の位置に隣接する周囲４つの整数画素値を用いて、それぞれの距離の比から補間画素値を生成する。共一次内挿法は次式（１７）で表される。
【０１１２】
【数１７】
2012080151.tif 000019
【０１１３】
ここでＰ（ｕ,ｖ）は内挿補間処理後の予測画素値を示しており、Ｒ（ｘ，ｙ）は、利用した参照画像信号の整数画素値を表している。（ｘ−ｕ）＝Ｕ／６４、（ｙ−ｖ）＝Ｖ／６４とすると、式（１７）は、式（１８）に示す整数演算に変形できる。
【０１１４】
【数１８】
2012080151.tif 000020
式（１８）において、ｆは丸めのオフセット（０≦ｆ＜２１２）を表している。本実施の形態ではｆ＝０としている。
【０１１５】
以上のように、幾何変換を行った予測対象ブロック内の座標毎に内挿補間を適用することによって、新たな予測画像信号を生成する。
【０１１６】
なお、本実施の形態では、内挿補間の方法として共一次内挿法を用いる例を示したが、最近接内挿法、３次畳み込み内挿法、線形フィルタ内挿法、ラグランジュ補間法、スプライン補間法、ランツォシュ補間法などのいかなる内挿補間法を適用しても構わない。
【０１１７】
なお、本実施の形態では、参照画像信号の整数画素位置からの内挿補間についての例を説明したが、動き推定部１０６で、既に参照画像信号１２０の補間画像信号を保持している場合には、分数精度の補間画像信号を再利用しても良い。例えば、動き推定部１０６で１／４画素精度の動きベクトルを算出する際に、参照画像信号を４倍に拡大した拡大参照画像信号を生成して保持している場合には、１／４画素精度の補間画像を利用して１／６４画素精度の補間画像を生成してもよい。これにより、１／４精度の補間画像から更に１／１６精度の内挿補間処理を行って１／６４画素精度の補間画像を生成することができる。なお、内挿補間処理の画素精度は更に細かく指定することも可能である。この場合、指定した補間精度に応じて内挿補間処理を行えばよい。
以上が、幾何変換予測部１０９の処理の概要である。
【０１１８】
＜判定パラメータ導出部１２７＞
次に判定パラメータ導出部１２７について具体的に説明する。判定パラメータ導出部１２７は、幾何変換パラメータ導出部１０８から出力された幾何変換パラメータ１２１を用いて、動き補償予測部１０７から出力された予測画像信号と幾何変換予測部１０９から出力された予測画像信号との何れの信号を出力するかを判定するための判定パラメータ１２５を生成し、予測切替部１１１へと出力する。幾何変換がアフィン変換の場合には、平行移動指標、回転指標、拡大・縮小指標、変形指標などを用いて、幾何変換の度合いを評価することができる。
【０１１９】
一般的な動画像では、時間方向への相関が高い。動きベクトルは時間的に異なる画像間のオブジェクトの移動を示す値であるため、動きの空間相関も比較的高いことが予想される。そこでこれらの指標を判定パラメータとして利用し、予測方法を動的に切り替える。平行移動指標は次式（１９）で与えられる。
【０１２０】
【数１９】
2012080151.tif 000021
【０１２１】
式（１９）において、ｃnは、隣接ブロック、又は、予測対象ブロックを分割した隣接する三角パッチ、すなわち、図１３における同じ番号の隣接ブロック内の三角パッチの幾何変換パラメータのｃ成分を示しており、ｃｘは隣接ブロックの幾何変換パラメータのｃ成分を示している。三角パッチに分割した際は、分割した同じ形状の三角パッチとの隣接関係を参照している。ｆ成分についても同様である。
【０１２２】
図１７は、アフィン変換による画素ブロックの変化の例を示す図である。図１７では、座標（１，０）及び（０，１）がそれぞれアフィン変換によって座標（ａ，ｄ）、（ｂ、ｃ）に変換され、変換前のベクトルの中心角度４５°からθＤ回転している。ａ，ｂ，ｄ，ｅはそれぞれ、予測対象ブロックで得られた幾何変換パラメータを示している。回転指標は次式（２０）で与えられる。
【０１２３】
【数２０】
2012080151.tif 000022
式（２０）において、ｓｇｎ（Ａ）は、Ａの符号を返す関数である。矩形ブロックの中心ベクトルがどの程度回転したかを表している。
【０１２４】
拡大・縮小指標は図１７で示されるアフィン変換後の面積に相当し、値が１より大きい場合は拡大方向に、小さい場合は縮小方向に変形していることが判る。そこで、次式で拡大・縮小指標を定義する。
【０１２５】
【数２１】
2012080151.tif 000023
式（２１）でＤｅｔ≒１となる場合は、更に次式を用いて回転指標を算出してもよい。
【０１２６】
【数２２】
2012080151.tif 000024
図１７のθCは次式（２３）の変形指標に対応しており、アフィン変換後の図形の変形角度を定義している。
【０１２７】
【数２３】
2012080151.tif 000025
【０１２８】
また、式（２４）に示す、隣接ブロックで算出された幾何変換パラメータの各成分と予測対象ブロックで算出された幾何変換パラメータの各成分の差分値もそれぞれ判定パラメータの１つのパラメータとしている。
【０１２９】
【数２４】
2012080151.tif 000026
【０１３０】
また、式（２０）、式（２１）、式（２２）、式（２３）を用いて算出された予測対象ブロックと隣接ブロックの指標を用いて以下のような判定パラメータを利用しても良い。
【０１３１】
【数２５】
2012080151.tif 000027
【０１３２】
【数２６】
2012080151.tif 000028
【０１３３】
【数２７】
2012080151.tif 000029
【０１３４】
例えばＤｅｔｎは隣接ブロック或いは隣接ブロックの三角パッチが保持する幾何変換パラメータから算出される。算出された幾何変換パラメータに対応する指標と幾何変換パラメータの差分値が判定パラメータ１２５として、予測切替部１１１へと出力される。
以上が、判定パラメータ導出部１２７の処理の概要である。
【０１３５】
＜予測切替部１１１−予測の動的切替＞
次に予測切替部１１１について具体的に説明する。予測切替部１１１は、判定パラメータ導出部１２７から出力された判定パラメータ１２５に基づいて、どちらの予測画像信号を用いかが記載された予測切替情報１２２を生成する。
【０１３６】
先ず、式（２０）ないし式（２３）を用いる場合の切替方法について説明する。回転指標、拡大・縮小指標、変形指標は、動きベクトルのみの平行移動に加え、画素ブロックの回転、拡大、縮小、変形の度合いを図る指標である。算出された幾何変換パラメータの指標が、極端に大きい場合や小さい場合には、幾何変換パラメータの推定が不適切であることが予想され、このパラメータを利用して幾何変換予測で生成される予測画像信号は誤差を多く含んでいることが予想される。そこで、これらの指標が、予め定めた閾値の範囲を超えた場合には、幾何変換予測の予測画像信号を利用しないように予測切替情報１２２を生成する。例として、式（２１）の拡大・縮小指標における閾値範囲について説明する。Ｄｅｔは拡大・縮小の度合いを示す指標である。予測切替情報１２２を次式（２８）で定義する。
【０１３７】
【数２８】
2012080151.tif 000030
【０１３８】
ここでｐｒｅｄ＿ｆｌａｇは予測切替情報１２２を表しており、ＴｈＤｅｔは閾値を表している。Ｄｅｔがそれぞれ閾値の範囲を超えた場合、ｐｒｅｄ＿ｆｌａｇは０となり、動き補償予測を選択する。一方、それ以外の場合は、ｐｒｅｄ＿ｆｌａｇは１となり、幾何変換予測を選択する。他の判定パラメータに関しても同様な閾値判定を行い、予測切替情報１２２を生成する。
【０１３９】
次に、式（１９）、式（２４）ないし式（２７）を用いる際の切替方法について説明する。隣接ブロックと予測対象ブロックの幾何変換パラメータには高い空間相関があることが推定されるため、それぞれの差分値が予め定めた閾値の大きさを超える場合には、幾何変換予測の予測画像信号を利用しないように予測切替情報１２２を生成する。
【０１４０】
次に隣接ブロックと予測対象ブロックの符号化パラメータとを用いたときの切替方法について説明する。符号化パラメータに含まれる量子化パラメータは、量子化ステップサイズを規定するパラメータである。量子化パラメータが大きい場合、変換係数が粗く量子化される。これにより、局部復号された参照画像信号が入力画像信号に対して大きな誤差を持ち、動きベクトルの推定精度が低下する。幾何変換予測では、動きベクトルを利用して幾何変換パラメータを算出するため、動きベクトルの推定精度が低下すると幾何変換パラメータの算出精度も低下する。そこで、量子化パラメータが大きくなった場合、各種判定パラメータの閾値範囲を狭くする処理を行う。つまり、各種パラメータの閾値は量子化パラメータに対する減少関数となる。
【０１４１】
なお、本実施の形態では、量子化パラメータを利用して閾値の範囲を制御する例を示したが、符号化パラメータに含まれる他の情報を用いてもよい。例えば、符号化した動画像の解像度、予測対象ブロックのタイプ、参照画像のＲｅｆ＿ｉｄｘ、動きベクトルの値、又は、変換サイズに関する情報などを利用してもよい。
【０１４２】
また、隣接ブロックの全ての隣接動きベクトルと予測対象ブロックの動きベクトルとが同一の値を持つとき、幾何変換前と後での座標が変化しない。このような時は、周辺ブロックが同一のオブジェクトの平行移動と考えられるため、幾何変換予測を行う必要がない。そこで、この条件が成り立つときは、予測切替情報１２２は、幾何変換予測を利用しない旨の値を有する。
【０１４３】
また、それぞれの指標に対して用いる閾値を符号化パラメータの値に応じて変化する関数としてもよい。例えば、式（２８）における閾値ＴｈＤｅｔを量子化パラメータに依存する関数として定義し、量子化パラメータが増加するに従って、閾値が減少するような関数とすることで、推定精度の低下する低ビットレート帯での効果的な予測切替が可能となる。
以上が、予測切替部１１１及び予測分離スイッチ１１０の処理の概要である。
【０１４４】
＜幾何変換予測を含むインター予測の処理フロー＞
図１８は、インター予測部１３０の予測画像信号生成の処理を示すフロー図である。処理が開始される（Ｓ５０１）と、インター予測部１３０の外部から入力されてきた予測対象ブロックの動きベクトル１１９が幾何変換パラメータ導出部１０８へと入力される。これを受けて幾何変換パラメータ導出部１０８では、予測対象ブロックに対応する隣接ブロックを決定する（Ｓ５０２）。
【０１４５】
次に対応する隣接ブロックの隣接動きベクトルを、符号化制御部１２６が保持する内部メモリから導出する（Ｓ５０３）。幾何変換パラメータ導出部１０８が、導出された隣接動きベクトルと予測対象ブロックの動きベクトルを用いて幾何変換パラメータ１２１を導出する（Ｓ５０４）。
【０１４６】
導出された幾何変換パラメータ１２１を用いて幾何変換予測部１０９にて予測対象ブロックの幾何変換処理が行われる（Ｓ５０５）。幾何変換予測部１０９は、幾何変換によって新たに算出された分数画素位置の予測画像信号を内挿補間によって生成する（Ｓ５０６）。
【０１４７】
幾何変換パラメータ導出部１０８で算出された幾何変換パラメータ１２１は判定パラメータ導出部１２７へと入力され、判定パラメータ１２５が算出される（Ｓ５０７）。算出された判定パラメータ１２５が予測切替部１１１へと入力され、予測切替情報１２２が生成される（Ｓ５０８）。
【０１４８】
予測対象ブロックで算出された幾何変換パラメータ１２１が、符号化制御部１２６内に所持する内部メモリへと保存される（Ｓ５０９）。動きベクトル１１９が符号化制御部１２６内に所持する内部メモリへと保存される（Ｓ５１０）。
【０１４９】
予測切替情報１２２に従って予測分離スイッチ１１０は、予測対象ブロックの予測方法が、幾何変換予測部１０９で生成された予測画像信号を利用するかどうかを判断する（Ｓ５１２）。かかる判断がＹＥＳの場合、予測分離スイッチ１１０は、幾何変換予測部１０９の出力端をスイッチと接続し、予測画像信号を出力する（Ｓ５１３）。
【０１５０】
一方、かかる判断がＮＯの場合、動き補償予測部１０７では、動きベクトル１１９に従って動き補償予測処理を行う（Ｓ５１４）。予測分離スイッチ１１０は動き補償予測部１０７の出力端へスイッチを接続し、予測画像信号を出力する（Ｓ５１５）。
【０１５１】
次に、符号化制御部１２６は、予測対象ブロックが、マクロブロックにおける最終ブロックであるかどうかを判断し（Ｓ５１６）、かかる判断がＹＥＳの場合は、当該マクロブロックの予測処理を終了する（Ｓ５１７）。かかる判断がＮＯの場合、処理は最初に戻り、マクロブロックの次の画素ブロックの予測画像生成処理を行う。以上が本発明の本実施の形態におけるインター予測の予測画像生成処理の流れである。
【０１５２】
＜シンタクス構造＞
次に、動画像符号化装置１００におけるシンタクス構造について説明する。図１９は、シンタクス１６００の構成を示す図である。図１９に示すとおり、シンタクス１６００は主に３つのパートを有する。ハイレベルシンタクス１６０１は、スライス以上の上位レイヤのシンタクス情報を有する。スライスレベルシンタクス１６０２は、スライス毎に復号に必要な情報を有し、マクロブロックレベルシンタクス１６０３は、マクロブロック毎に復号に必要とされる情報を有する。
【０１５３】
各パートは、更に詳細なシンタクスで構成されている。ハイレベルシンタクス１６０１は、シーケンスパラメータセットシンタクス１６０４とピクチャパラメータセットシンタクス１６０５などの、シーケンス及びピクチャレベルのシンタクスを含む。スライスレベルシンタクス１６０２は、スライスヘッダーシンタクス１６０６、スライスデータシンタクス１６０７等を含む。マクロブロックレベルシンタクス１６０３は、マクロブロックレイヤーシンタクス１６０８、マクロブロックプレディクションシンタクス１６０９等を含む。
【０１５４】
図２０は、スライスヘッダーシンタクス１６０５の例を示す図である。図中に示されるｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇは、当該スライスに幾何変換予測を適用するかどうかを示すシンタクス要素である。ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇが0である場合、予測切替部１１１は、当該スライスにおいて常に動き補償予測部１０７の出力端を出力するように予測切替情報１２２を設定して予測分離スイッチ１１０を切り替える。つまり、このスライスに対しては、幾何変換予測を適用しないことを意味する。一方、ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇが１である場合、当該スライスにおいて判定パラメータ１２５が指し示す情報に基づいて予測切替情報１２２が設定され、予測分離スイッチ１１０は予測画像信号を動的に切り替える。
【０１５５】
図２１は、スライスデータシンタクス１６０６の例を示す図である。図中に示されるｍｂ＿ｓｋｉｐ＿ｆｌａｇは、当該マクロブロックがスキップモードで符号化されているかどうかを示すフラグである。スキップモードである場合、変換係数や動きベクトルなどは符号化されない。
【０１５６】
ＡｖａｉｌＡｆｆｉｎｅＭｏｄｅは当該マクロブロックで幾何変換予測が利用できるかどうかを示す内部パラメータである。ＡｖａｉｌＡｆｆｉｎｅＭｏｄｅが０の場合、判定パラメータ１２５で算出した各種値によって、幾何変換予測を利用しないように予測切替情報１２２が設定されていることを意味する。また、隣接ブロックの隣接動きベクトルと予測対象ブロックの動きベクトルが同一の値を持つときもＡｖａｉｌＡｆｆｉｎｅＭｏｄｅは０となる。
【０１５７】
一方、ＡｖａｉｌＡｆｆｉｎｅＭｏｄｅが１の場合は、幾何変換予測と動き補償予測のどちらを利用するかを示すｍｂ＿ａｆｆｉｎｅ＿ｍｏｔｉｏｎ＿ｓｋｉｐ＿ｆｌａｇが符号化される。ｍｂ＿ａｆｆｉｎｅ＿ｍｏｔｉｏｎ＿ｓｋｉｐ＿ｆｌａｇが１の場合、当該スキップモードに対して幾何変換予測が適用されることを意味する。ｍｂ＿ａｆｆｉｎｅ＿ｍｏｔｉｏｎ＿ｓｋｉｐ＿ｆｌａｇが０の場合、動き補償予測が適用されることを意味する。
【０１５８】
図２２は、マクロブロックレイヤーシンタクス１６０７の例を示す図である。図中に示されるｍｂ＿ｔｙｐｅは、マクロブロックタイプ情報を示している。すなわち、現在のマクロブロックがイントラ符号化されているか、インター符号化されているか、或いはどのようなブロック形状で予測が行われているか、予測の方向が単方向予測か双方向予測か、などの情報を含んでいる。ｍｂ＿ｔｙｐｅは、マクロブロックプレディクションシンタクスと更にマクロブロック内のサブブロックのシンタクスを示すサブマクロブロックプレディクションシンタクスなどに渡される。
【０１５９】
図２３は、マクロブロックプレディクションシンタクスの例を示す図である。図中に示されるＡｖａｉｌＡｆｆｉｎｅＭｏｄｅＭｂは当該画素ブロックで幾何変換予測が利用できるかどうかを示す内部パラメータである。ＡｖａｉｌＡｆｆｉｎｅＭｏｄｅＭｂが０の場合、判定パラメータ１２５で算出した各種値によって、幾何変換予測を利用しないように予測切替情報１２２が設定されていることを意味する。また、隣接ブロックの隣接動きベクトルと予測対象ブロックの動きベクトルが同一の値を持つときもＡｖａｉｌＡｆｆｉｎｅＭｏｄｅＭｂは０となる。
【０１６０】
一方、ＡｖａｉｌＡｆｆｉｎｅＭｏｄｅＭｂが１の場合は、幾何変換予測と動き補償予測のどちらを利用するかを示すｍｂ＿ａｆｆｉｎｅ＿ｐｒｅｄ＿ｆｌａｇが符号化される。ｍｂ＿ａｆｆｉｎｅ＿ｐｒｅｄ＿ｆｌａｇが１の場合、当該画素ブロックに対して幾何変換予測が適用されることを意味する。ｍｂ＿ａｆｆｉｎｅ＿ｐｒｅｄ＿ｆｌａｇが０の場合、動き補償予測が適用されることを意味する。
【０１６１】
ＮｕｍＭｂＰａｒｔ()は、ｍｂ＿ｔｙｐｅに規定されたブロック分割数を返す内部関数であり、１６×１６画素ブロックの場合は１、１６×８、８×１６画素ブロックの場合は２、８×８画素ブロックの場合は４を出力する。
【０１６２】
図２４は、サブマクロブロックプレディクションシンタクスの例を示す図である。図中に示されるＡｖａｉｌＡｆｆｉｎｅＭｏｄｅＳｕｂＭｂは当該画素ブロックで幾何変換予測が利用できるかどうかを示す内部パラメータである。ＡｖａｉｌＡｆｆｉｎｅＭｏｄｅＳｕｂＭｂが０の場合、判定パラメータ１２５で算出した各種値によって、幾何変換予測を利用しないように予測切替情報１２２が設定されていることを意味する。また、隣接ブロックの隣接動きベクトルと予測対象ブロックの動きベクトルが同一の値を持つときもＡｖａｉｌＡｆｆｉｎｅＭｏｄｅＳｕｂＭｂは０となる。
【０１６３】
一方、ＡｖａｉｌＡｆｆｉｎｅＭｏｄｅＳｕｂＭｂが１の場合は、幾何変換予測と動き補償予測のどちらを利用するかを示すｍｂ＿ａｆｆｉｎｅ＿ｐｒｅｄ＿ｆｌａｇが符号化される。ｍｂ＿ａｆｆｉｎｅ＿ｐｒｅｄ＿ｆｌａｇが１の場合、当該画素ブロックに対して幾何変換予測が適用されることを意味する。ｍｂ＿ａｆｆｉｎｅ＿ｐｒｅｄ＿ｆｌａｇが０の場合、動き補償予測が適用されることを意味する。ＮｕｍＳｕｂＭｂＰａｒｔ()は、ｍｂ＿ｔｙｐｅに規定されたブロック分割数を返す内部関数である。
【０１６４】
図２５は、符号化パラメータの例としてのマクロブロックレイヤーシンタクスの例を示す図である。図中に示されるｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎは、８×８画素ブロック毎に、変換係数が存在するかどうかを示している。例えばこの値が０である時、対象ブロックに変換係数が存在しないことを意味している。図中のｍｂ＿ｑｐ＿ｄｅｌｔａは、量子化パラメータに関する情報を示している。対象ブロックの１つ前に符号化されたブロックの量子化パラメータからの差分値を表している。
【０１６５】
図中のｒｅｆ＿ｉｄｘ＿ｌ０及びｒｅｆ＿ｉｄｘ＿ｌ１は、インター予測が選択されているときに、対象ブロックがどの参照画像を用いて予測されたか、を表す参照画像のインデックスを示している。図中のｍｖ＿ｌ０、ｍｖ＿ｌ１は動きベクトル情報を示している。図中のｔｒａｎｓｆｏｒｍ＿８ｘ８＿ｆｌａｇは、対象ブロックが８×８変換であるかどうかを示す変換情報を表している。
【０１６６】
なお、図１９ないし図２５に示すシンタクスの表中の行間には、本実施の形態において規定していないシンタクス要素が挿入されてもよく、その他の条件分岐に関する記述が含まれていてもよい。また、シンタクステーブルを複数のテーブルに分割し、または複数のシンタクステーブルを統合してもよい。また、必ずしも同一の用語を用いる必要は無く、利用する形態によって任意に変更してもよい。更に、当該マクロブロックレイヤーシンタクスに記述されている各々のシンタクス要素は、後述するマクロブロックデータシンタクスに明記されるように変更しても良い。
以上が、第１の実施の形態に係る動画像符号化装置１００の説明である。
【０１６７】
（第２の実施形態：イントラ予測の追加）
第２の実施の形態で用いられる動画像符号化装置２００の構造を図２６に示す。なお、第１の実施の形態と同じ機能を持つブロックには同一の符号を付し、ここでは説明を省略する。図２６では、動画像符号化装置１００の機能に加え、新たにイントラ予測部２０１、モード判定部２０２、予測モード分離スイッチ２０３が追加されている。
【０１６８】
イントラ予測部２０１は、入力された参照画像信号１２０を基にして画面内の情報のみを用いた予測画像信号１２３を生成する。イントラ予測部２０１における予測モードの例として、Ｈ．２６４のイントラ予測について説明する。Ｈ．２６４のイントラ予測に用いる画素ブロックを、図２７Ａないし図２７Ｃに示す。図２７Ａは、１６×１６画素イントラ予測、図２７Ｂは、４×４画素イントラ予測、図２７Ｃは、８×８画素イントラ予測に用いられる画素ブロックである。Ｈ．２６４は、これら３つのイントラ予測が規定されている。イントラ予測では、参照画像メモリ１０５に保存されている参照画像信号１２０から、補間画素を作成し、空間方向にコピーすることによって予測値を生成する。
【０１６９】
＜モード判定部２０２＞
次にモード判定部２０２について概要を説明する。モード判定部２０２は、現在符号化しているスライスの情報に応じて、予測モード切替情報２０４を予測モード分離スイッチ２０３へ出力する。予測モード切替情報２０４には、イントラ予測部２０１の出力端とインター予測部１３０の出力端のどちらと、スイッチを繋ぐかの情報が記述されている。
【０１７０】
次にモード判定部２０２の機能を説明する。現在符号化しているスライスがイントラ符号化スライスである場合、モード判定部２０２は、予測モード分離スイッチ２０３の出力端をイントラ予測部２０１に接続する。一方、現在符号化しているスライスがインター符号化スライスである場合、モード判定部２０２は予測モード分離スイッチ２０３をイントラ予測部２０１の出力端に繋ぐか、インター予測部１３０の出力端へ繋ぐかを判定する。
【０１７１】
より詳細に説明すると、上記の場合、モード判定部２０２では、例えば、次式（２９）のコストを用いたモード判定を行う。それぞれの予測モードを選択した際に必要となる予測情報に関する符号量、例えば動きベクトル１１９の符号量やブロック形状の符号量等をＯＨ、入力画像信号１１４と予測画像信号１２３の差分絶対和、すなわち、予測誤差信号１１５の絶対累積和をＳＡＤとすると、以下のモード判定式（２９）を用いる。
【０１７２】
【数２９】
2012080151.tif 000031
【０１７３】
ここでＫはコスト、λは定数をそれぞれ表す。λは量子化スケールや量子化パラメータの値に基づいて決められるラグランジュ未定乗数である。式（２９）により得られたコストＫを基に、モード判定が行われる。すなわち、コストＫが最も小さい値を与えるモードが最適な予測モードとして選択される。
【０１７４】
モード判定部２０２においては、式（２９）に代えて、（ａ）予測情報のみ、（ｂ）ＳＡＤのみ、を用いてモード判定を行ってもよいし、これら（ａ）、（ｂ）にアダマール変換を施した値、またはそれに近似した値を利用してもよい。さらに、モード判定部２０２において入力画像信号１１４のアクテビティ、すなわち、信号値の分散を用いてコストを作成してもよく、また、量子化スケールまたは量子化パラメータを利用してコスト関数を作成してもよい。
【０１７５】
さらに別の例として、仮符号化ユニットを用意し、仮符号化ユニットによりある予測モードで生成された予測誤差信号１１５を実際に符号化した場合の符号量と、入力画像信号１１４と復号画像信号１１８との間の二乗誤差を用いてモード判定を行ってもよい。この場合のモード判定式は、次式（３０）になる。
【０１７６】
【数３０】
2012080151.tif 000032
【０１７７】
式（３０）において、Ｊは符号化コスト、Ｄは入力画像信号１１４と復号画像信号１１８との間の二乗誤差を表す符号化歪みである。一方、Ｒは仮符号化によって見積もられた符号量を表している。
【０１７８】
式（３０）の符号化コストＪを用いると、予測モード毎に仮符号化と局部復号処理が必要となるため、回路規模または演算量は増大する。反面、より正確な符号量と符号化歪みを用いるため、高い符号化効率を維持することができる。式（３０）に代えてＲのみ、またはＤのみを用いてコストを算出してもよく、また、ＲまたはＤを近似した値を用いてコスト関数を作成してもよい。
【０１７９】
以上のようにして、イントラ予測部２０１で生成された予測画像信号を選ぶか、インター予測部１３０で生成された予測画像信号を選ぶか、を判断し、予測モード分離スイッチ２０３の出力端を切り替える。ここで選択された予測モードの予測画像信号１２３が出力されて、減算器１０１へ入力されるとともに、加算器１０４へ出力される。
以上が本発明の本実施の形態に係る動画像符号化装置２００の処理の説明である。
（第３の実施形態：動きベクトルの再探索）
【０１８０】
第３の実施の形態で用いられるインター予測部３００の構造を図２８に示す。なお、第１の実施の形態と同じ機能を持つブロックには同一の符号を付し、ここでは、説明を省略する。また、インター予測部３００は、インター予測部１３０と、入出力の信号が同一であるため、動画像符号化装置１００及び動画像符号化装置２００が有するインター予測部１３０と置き換えることができる。
【０１８１】
図２８では、インター予測部３００の機能に加え、新たに動きベクトル再探索部３０１が追加されている。動きベクトル再探索部３０１は、入力されてきた動きベクトル１１９を基準として、更に周辺部分の動きベクトルの再探索を行う。
【０１８２】
外部から入力された予測対象ブロックの動きベクトル１１９と符号化制御部１２６に保持されていた隣接画素ベクトルとが幾何変換パラメータ導出部１０８へと入力され、幾何変換パラメータ１２１が算出される。幾何変換パラメータ１２１は幾何変換予測部１０９へと入力されて幾何変換予測が行われ、予測画像信号が生成される。
【０１８３】
動きベクトル再探索部３０１は、入力された動きベクトル１１９を基準として、符号化制御部１２６から与えられた探索範囲で予測対象ブロックの動きベクトルを変更し、幾何変換パラメータの再導出を行う。再導出された幾何変換パラメータが幾何変換予測部１０９へと入力され、再幾何変換予測が行われ、予測画像信号が生成される。このように動きベクトル再探索部３０１で生成された予測対象ブロックの動きベクトルを用いて、再探索範囲分の幾何変換予測が行われる。
【０１８４】
再探索の際に、式（２９）又は式（３０）を用いてコストが算出され、コストが小さい動きベクトルと予測画像信号のみが残される。再探索範囲内の幾何変換予測が完了すると、最小のコストを与える、動きベクトルと予測画像信号が予測分離スイッチ１１０へと出力される。予測対象ブロックの動きベクトルを予測誤差が小さくなるように変更することによって符号化効率を向上させることが可能となる。
【０１８５】
（第４の実施形態：動きベクトルの差分をシグナリング）
第４の実施の形態に係る動画像符号化装置の構成は、第３の実施の形態と同一である。第４の実施の形態に係る動画像符号化装置は、第３の実施の形態における動画像符号化装置の作用に加えて、予測対象ブロックの動きベクトルと再探索によって算出した動きベクトルとの差分を符号化する。動きベクトル再探索部３０１により再探索された動きベクトルを幾何変換動き補償予測に用いることにより、本来の動きベクトルが予測誤差削減のために変更される。この再探索後の動きベクトルを隣接動きベクトルとして利用すると、後段の幾何変換パラメータの導出が不適切になることがある。
【０１８６】
そこで、本来の動きベクトルとそこからのズレ量を別途符号化することで、幾何変換パラメータの導出に必要な再探索後の動きベクトルと、隣接動きベクトルとして必要となる本来の動きベクトルと、が保持される。なお、この符号化処理は、エントロピー符号化部１１２が行うとよい。
【０１８７】
本実施の形態に係わるシンタクスの変更を、図２９、図３０に示す。シンタクス要素に含まれる文字のうち、Ｌ０及びｌ０は参照画像Ｌ０上に示される動きベクトルを示し、Ｌ１及びｌ１は参照画像Ｌ１上に示される動きベクトルを示す。再探索前の本来の動きベクトルを、ｍｖｏｒｇ＝（ｍｖｘｏｒｇ，ｍｖｙｏｒｇ）とし、再探索後の動きベクトルをｍｖｒｅｆｉｎｅ＝（ｍｖｘｒｅｆｉｎｅ，ｍｖｙｒｅｆｉｎｅ）とすると、動きベクトルの差分ｍｖｄ＿ａｆｆｉｎｅ[２]は次式で算出される。
【０１８８】
【数３１】
2012080151.tif 000033
【０１８９】
なお、ｍｖｄ＿ａｆｆｉｎｅ[０]は垂直方向、ｍｖｄ＿ａｆｆｉｎｅ[１]は水平方向に対応する動きベクトルの差分値であり、シンタクス要素に対応している。なお、ここでは、図２９及び図３０に示すシンタクスに含まれている文字ｌ０及びｌ１を省略しているが、式（３１）に示す動きベクトルの差分は、Ｌ０及びＬ１のそれぞれのインデックスに対して計算する。また、ｍｖｄ＿ｌ０及びｍｖｄ＿ｌ１は、それぞれの参照画像信号に対応する動きベクトルと動きベクトルを予測した値との差分を計算することによって計算され、本実施の形態では明示しない他の動きベクトルの予測技術を用いて生成される。
【０１９０】
予測対象ブロックの符号化が完了すると、再探索前の動きベクトルであるｍｖｏｒｇ＝（ｍｖｘｏｒｇ，ｍｖｙｏｒｇ）が符号化制御部１２６の内部メモリへ格納される。このように予測対象ブロックで利用する動きベクトルと、隣接ブロックとなった際に利用される動きベクトルを別々に保持することにより、隣接ブロックからの幾何変換パラメータの誤差の伝播を防ぐことが可能となる。
【０１９１】
以上説明したように、第１ないし第４の実施の形態では、矩形ブロックに適さない、動きを有するオブジェクトを予測する際に、過度のブロック分割が施されて、ブロック分割情報が増大することを防ぐ。付加的な情報を増加させずに、ブロック内の動領域と背景領域を分離し、それぞれに最適な予測方法を適用することによって、符号化効率を向上させ、さらに、主観画質を向上するという効果を奏する。
【０１９２】
＜動画像復号化装置＞
次に、動画像復号化に関する第５ないし第７の実施形態について述べる。
【０１９３】
（第５の実施形態）
図３１は、第４の実施形態に従う動画像復号化装置を示している。図３１の動画像復号化装置４００は、例えば、第１の実施形態に従う動画像符号化装置により生成される符号化データを復号する。
【０１９４】
図３１の動画像復号化装置４００は、入力バッファ４０１に蓄えられる符号化データ４１１を復号し、復号画像信号４２０を出力バッファ４１９に出力する。符号化データ４１１は、例えば、動画像符号化装置１００などから送出され、蓄積系または伝送系を経て送られ、入力バッファ４０１に一度蓄えられ、多重化された符号化データである。
【０１９５】
動画像復号化装置４００は、符号化データ復号部４０２、逆量子化・逆変換部４０３、加算器４０４、参照画像メモリ４０５、動き補償予測部４０６、幾何変換パラメータ導出部４０７、幾何変換予測部４０８、判定パラメータ導出部４２２、予測切替部４０９、及び、予測分離スイッチ４１０、を有する。動画像復号化装置４００は、また、入力バッファ４０１、出力バッファ４１９、及び、復号化制御部４２１と接続される。
【０１９６】
符号化データ復号部４０２は、符号化データを１フレーム又は１フィールド毎にシンタクスに基づいて構文解析による解読を行う。符号化データ復号部４０２は、順次各シンタクスの符号列をエントロピー復号化し、動きベクトル４１５、及び、対象ブロックの符号化パラメータ等を再生する。符号化パラメータとは、予測情報、変換係数に関する情報、量子化に関する情報、等の復号の際に必要になるパラメータである。
【０１９７】
符号化データ復号部４０２で解読が行われた変換係数は、逆量子化・逆変換部４０３へ入力される。符号化データ復号部４０２によって解読された量子化に関する様々な情報、すなわち、量子化パラメータや量子化マトリクスは、復号化制御部４２１の内部メモリに設定され、逆量子化処理として利用される際にロードされる。
【０１９８】
ロードされた量子化に関する情報を用いて、逆量子化・逆変換部４０３では、最初に逆量子化処理が行われる。逆量子化された変換係数は、続いて逆変換処理、例えば逆離散コサイン変換等が実行される。ここでは、逆直交変換について説明したが、符号化装置でウェーブレット変換などが行われている場合には、逆量子化・逆変換部４０３は、対応する逆量子化及び逆ウェーブレット変換などが実行されるとよい。
【０１９９】
逆量子化・逆変換部４０３を通って、復元された予測誤差信号４１２は加算器４０４へと入力される。加算器４０４は、予測誤差信号４１２と後述する動き補償予測部４０６又は幾何変換予測部４０８で生成された予測画像信号４１８とを加算し、復号画像信号４２０を生成する。
【０２００】
生成された復号画像信号４２０は、動画像復号化装置４００から出力されて、出力バッファ４１９に一旦蓄積された後、復号化制御部４２１が管理する出力タイミングに従って出力される。また、この復号画像信号４２０は参照画像メモリ４０５へと保存され、参照画像信号４１３となる。
【０２０１】
参照画像信号４１３は参照画像メモリ４０５から、順次フレーム毎或いはフィールド毎に読み出され、予測動き補償予測部４０６或いは幾何変換予測部４０８へと入力される。対象画素ブロックで利用された動きベクトル４１５及び幾何変換パラメータ４１４は、復号化制御部４２１に保存され、後述する幾何変換パラメータ導出部１０８、判定パラメータ導出部４２２で適宜ロードされて利用される。
【０２０２】
なお、図３１の動き補償予測部４０６、幾何変換パラメータ導出部４０７、幾何変換予測部４０８、判定パラメータ導出部４２２、予測切替部４０９、及び、予測分離スイッチ４１０は、それぞれ、図２に示す同名の各部と同一の機能及び構成を有する。より詳細には、動き補償予測部１０７に入力される動きベクトルが、動き推定部１０６によって取得されたものであるのに対し、動き補償予測部４０６に入力される動きベクトルは、符号化データ復号部４０２によって復号されたものであることが異なる他は、全て同一である。
【０２０３】
図３２は、図３１における、動き補償予測部４０６、幾何変換パラメータ導出部４０７、幾何変換予測部４０８、判定パラメータ導出部４２２、予測切替部４０９、及び、予測分離スイッチ４１０を、インター予測部１３０と置き換えた例を示す図である。これらの各部は、図２に示すインター予測部１３０が有する各部と同一の機能及び構成を有する。したがって、動画像符号化装置１００が有するインター予測部１３０を、動画像復号化装置４００が保持することにより、図３１に示す構成を実現することができる。
【０２０４】
＜幾何変換パラメータ導出部４０７＞
幾何変換パラメータ導出部４０７では、符号化データ復号部４０２が復号した予測対象ブロックの動きベクトル４１５と復号化制御部４２１に保存されている動きベクトル（以下、「隣接動きベクトル」という。）とを用いて、予測対象ブロックの幾何変換パラメータを導出する。
【０２０５】
予測対象ブロックに対する隣接ブロックの関係を、図４、及び、図９ないし図１３を用いて説明する。なお、図４及び図９ないし図１３の説明において、第１ないし第４の実施の形態における「符号化又は予測対象となるブロック」、「符号化又は予測が完了した画素ブロック」及び「未符号化又は未予測画素ブロック」を、第５ないし第７の実施の形態では、それぞれ、「復号化又は予測対象となるブロック」、「復号化又は予測が完了した画素ブロック」及び「未復号化又は未予測画素ブロック」と読み替える。
【０２０６】
≪隣接ブロックと隣接動きベクトルの導出（その１）−ブロックサイズが同じ場合≫
図９Ａないし図９Ｅは、予測対象ブロックに対する隣接ブロックの関係を説明する図である。図９Ａでは、予測対象ブロックと隣接ブロックのサイズ（例えば１６×１６画素ブロック）が一致する場合の例を示す。
【０２０７】
図９Ａ中、斜線のハッチングが付された画素ブロックｐは、既に復号化又は予測が完了している画素ブロック（以下、「予測済画素ブロック」という。）であり、ドットのハッチングが付されたブロックｃは予測対象ブロックであり、白で表示されている画素ブロックｎは未復号化画素（未予測）ブロックである。図中Ｘは復号化（予測）対象画素ブロックを表している。
【０２０８】
隣接ブロックＡは、予測対象ブロックＸの左の隣接ブロック、隣接ブロックＢは、予測対象ブロックＸの上の隣接ブロック、隣接ブロックＣは、予測対象ブロックＸの右上の隣接ブロック、隣接ブロックＤは、予測対象ブロックＸの左上の隣接ブロックである。
【０２０９】
復号化制御部４２１の内部メモリに保持されている隣接動きベクトルは、予測済画素ブロックの動きベクトルのみである。図４では、復号化処理をされている復号化フレームｆにおいて、復号化対象となるブロックｃよりも左及び上に位置するブロックが、復号済みブロックｐである。図４で示したように画素ブロックは左上から右下に向かって復号化及び予測の処理がされていくため、画素ブロックＸの予測を行う際には、右及び下方向の画素ブロックは未だ復号化が行われていない。そこで、これらの隣接ブロックから隣接動きベクトルを導出することができない。
【０２１０】
図９Ｂないし図９Ｅは、予測対象ブロックが８×８画素ブロックの場合の、隣接ブロックの例を示す図である。なお、図９Ｂないし図９Ｅにおいて、太線はマクロブロックの境界を表す。図９Ｂは、マクロブロック内の左上に位置する画素ブロック、図９Ｃは、マクロブロック内の右上に位置する画素ブロック、図９Ｄは、マクロブロック内の左下に位置する画素ブロック、図９Ｅは、マクロブロック内の右下に位置する画素ブロックを、それぞれ、予測対象ブロックとする場合の例を示す。
【０２１１】
マクロブロックの内部も同様に左上から右下に向かって復号化処理が行われるため、８×８画素ブロックの復号化順序に応じて隣接ブロックの位置が変化する。対応する８×８画素ブロックの復号化処理又は予測画像生成処理が完了すると、その画素ブロックは復号化済み画素ブロックとなり、後に処理される画素ブロックの隣接ブロックとして利用される。図９Ｅでは、隣接ブロックＣに対応する右上の画素ブロックが未復号化画素ブロックであるため、復号化済み画素ブロックの右上に位置する画素ブロックを隣接ブロックとする。
【０２１２】
≪隣接ブロックと隣接動きベクトルの導出（その２）−ブロックサイズが異なる場合≫
次に隣接ブロックと予測対象ブロックのブロックサイズが異なる場合の隣接ブロックの関係を説明する。予測対象ブロックと隣接ブロックのブロックサイズが異なる場合、隣接画素の定義が複数存在する。
【０２１３】
図１０Ａないし図１０Ｄは、予測対象ブロックが大きく、隣接ブロックが小さい場合の例を説明する図である。図１０Ａは、予測対象ブロックの左上の画素にもっとも近い画素が存在する画素ブロックを隣接画素とする例である。図１０Ｂは、予測対象ブロックに隣接する画素ブロックの右下に位置する画素ブロックを隣接ブロックとする例である。
【０２１４】
図１０Ｃは、予測対象ブロックに隣接する画素ブロックの中心に存在する画素ブロックを隣接ブロックとする例である。図１０Ｃでは、予測対象ブロックＸの左に隣接する画素ブロックの中心は、８×８画素ブロックの境界となる。このように中心位置がブロック境界に存在する場合は、左の画素ブロックを隣接ブロックとしている。
【０２１５】
図１０Ｄは、予測対象ブロックに隣接する画素ブロックの中心に存在する画素ブロックを隣接ブロックとする例であるが、図１０Ｃと同様に中心点が画素ブロック境界に位置するため、中心点の右上に位置する画素ブロックを隣接ブロックとする例である。中心がブロック境界に存在する場合、隣接するどのブロックを中心のブロックと定義しても良いが、全ての隣接画素で同様の定義を適用する。これにより、それぞれの隣接ブロックの動き情報から、予測対象ブロックの動き情報を推定する際に、隣接ブロックに対する位置関係を同一の位相で表現することができる。
【０２１６】
尚、本実施の形態では、簡単のために図１０Ａで示された隣接ブロックの定義を利用する。
【０２１７】
図１１Ａないし図１１Ｄは、予測対象ブロックが小さく、隣接ブロックのブロックサイズが大きい場合の例を説明する図である。図９Ｅと同様に、対応する画素ブロックが未復号化画素ブロックである場合は、予測対象ブロックに距離的に近い利用可能な復号化済みの画素ブロックで置き換える。
【０２１８】
以上の説明では、１６×１６画素及び８×８画素の場合を例に挙げて説明したが、同様の枠組みを用いて３２×３２画素、４×４画素などの正方画素ブロックや１６×８画素、８×１６画素などの矩形画素ブロックに対しても隣接ブロックを決定してよい。
【０２１９】
また、インター予測では、マクロブロック内の復号化順序に依存せずに復号化処理、すなわち、動きベクトルの推定を行うことが可能なため、８×８画素ブロックの場合においても、図１０Ａないし図１０Ｄのいずれかを用いて隣接ブロックを決定してもよい。また、ブロックサイズの大きさが異なる画素ブロックが混在している場合にも、図１０Ａないし図１０Ｄのいずれかを用いて隣接ブロックを決定してもよい。
【０２２０】
なお、隣接ブロックとしてＡ，Ｂ，Ｃ，Ｄの４つの画素ブロックを用いる他に、隣接ブロックを更に広く定義してもかまわない。例えば、隣接ブロックＡの更に左の画素ブロックを用いてもよいし、隣接ブロックＢの更に上の画素ブロックを用いても良い。これらの隣接ブロックの定義は、既に説明した図９ないし図１１の定義と同様に定義してよい。
【０２２１】
≪幾何変換パラメータの導出≫
次に幾何変換パラメータ導出部４０７における幾何変換パラメータ４１４の導出方法について説明する。隣接ブロックが保持する隣接動きベクトルをそれぞれ式（４）ないし（７）により定義する。
【０２２２】
また、動き推定部１０６から提供される動きベクトル１１９を式（８）により定義する。なお、動きベクトル１１９は、予測対象ブロックＸの動きベクトルである。
【０２２３】
式（４）ないし（８）で表される動きベクトル及び隣接動きベクトルを用いて、幾何変換パラメータ１２１を導出する。幾何変換がアフィン変換の場合には、変換式は式（９）で表される。式（９）では、座標（ｘ、ｙ）がアフィン変換によって座標（ｕ，ｖ）へ変換される。式（９）に含まれるａ、ｂ、ｃ、ｄ、ｅ、ｆの６個のパラメータが幾何変換パラメータを表している。アフィン変換ではこの６種類のパラメータを推定するため、６個以上の入力値が必要となる。
【０２２４】
隣接ブロックＡ、Ｂ及び予測対象ブロックＸのそれぞれの動きベクトルを用いると、式（１０）により幾何変換パラメータが導出される。ここでは、動きベクトルが１／４精度であることを前提としている。但し、ａｘ、ａｙは予測対象ブロックのサイズに基づく変数であり、式（１１）により算出される。
【０２２５】
式（１１）において、ｍｂ＿ｓｉｚｅ＿ｘ及びｍｂ＿ｓｉｚｅ＿ｙはマクロブロックの水平、垂直方向のサイズを示しており、１６×１６画素ブロックの場合には、ｍｂ＿ｓｉｚｅ＿ｘ＝１６、ｍｂ＿ｓｉｚｅ＿ｙ＝１６となる。また、ｂｌｋ＿ｓｉｚｅ＿ｘ及びｂｌｋ＿ｓｉｚｅ＿ｙは予測対象ブロックの水平、垂直サイズを表しており、図９Ｂの場合は、ｂｌｋ＿ｓｉｚｅ＿ｘ＝８、ｂｌｋ＿ｓｉｚｅ＿ｙ＝８となる。
【０２２６】
ここでは、入力値として隣接ブロックＡ及びＢの動きベクトルを用いて、幾何変換パラメータを導出する例を示したが、必ずしも、隣接ブロックＡ及びＢの動きベクトルを用いる必要はなく、隣接ブロックＣ、Ｄ及びそれ以外の隣接ブロックから算出された動きベクトルを用いても良いし、これらの複数の隣接ブロックの動きベクトルからパラメータフィッティングを用いて、幾何変換パラメータを求めても良い。また、式（１０）は、それぞれａ，ｂ，ｄ，ｅが実数で得られるが、予めこれらのパラメータの演算精度を決めておくことで簡単に整数化が可能である。
【０２２７】
≪隣接動きベクトルの導出−エッジ考慮≫
隣接ブロックとの境界にオブジェクトのエッジがある場合や、異なるオブジェクトが存在する場合、幾何変換パラメータが正しく導出できないことがある。そこで、利用する隣接動きベクトルと予測対象ブロックの動きベクトルの絶対差分値が大きく異なる場合は、当該隣接ブロックの動きベクトルを入力値に加えない処理を行ってもよい。例えば、｜ｍｖａ−ｍｖｘ｜を計算し、予め規定した閾値Ｄよりも大きくなる場合は、ｍｖａを入力値として利用しないようにしてもよい。
【０２２８】
また、予測対象ブロックの左に位置する隣接ブロックの候補が複数存在する場合、これらの候補の中で動きベクトルのメディアン値を計算し、値が大きく異なる動きベクトルを除外してもよい。図１２は、４つの８×８画素ブロック毎に、メディアン値を計算する例を示す図である。予測対象ブロックＸのブロックサイズが大きく、隣接する画素ブロックのブロックサイズが小さい場合、隣接画素の候補となる画素ブロックが複数存在する。ここで、左に位置する４個の画素ブロックの動きベクトルを、それぞれ、ｍｖａ、ｍｖｂ、ｍｖｃ、ｍｖｄとすると、式（１２）により動きベクトルを決定する。
【０２２９】
式（１２）では、二次元ベクトルのメディアン値を用いる例を示したが、式（１３）に示すように、ベクトルの要素毎のメディアン値でもよい。この他に、要素毎の平均値、二次元ベクトルのランダム値、又は、ベクトルの要素別のランダム値等を用いてもよい。また、隣接ブロックＢ、Ｃ、Ｄにおいても同様の処理を行って隣接動きベクトルを求めてもよい。
【０２３０】
≪予測対象画素の分割≫
次に予測対象ブロックに対して幾何変換を実施する領域を説明する。幾何変換パラメータを導出する領域は、幾何変換を実施する領域に対応している。式（１０）では矩形画素ブロックに対して幾何変換パラメータを導出する例を示した。しかし、必ずしも矩形画素ブロックで幾何変換パラメータを導出する必要はなく、図１３で示す三角パッチで矩形ブロックを分割してもよい。図１３Ａ、及び、図１３Ｂは予測対象ブロックを対角線で分け２つの三角パッチで分割した例を示している。図１３Ａでは、それぞれの幾何変換パラメータを次式で導出する。予測対象三角パッチＸ１は、隣接ブロックＡ、Ｄ及び予測対象ブロックＸ１の動きベクトルを用いて式（１４）で定義される。
予測対象三角パッチＸ２は、隣接ブロックＢ、Ｄ及び予測対象ブロックＸ２の動きベクトルを用いて式（１５）で定義される。
【０２３１】
式（１４）及び式（１５）に示す例のように、予測対象三角パッチ（または予測対象ブロック）に対して空間的距離の近い隣接ブロックの動きベクトルを用いて幾何変換パラメータを導出する。
【０２３２】
図１３Ｂの場合も、同様にして、幾何変換パラメータが導出できる。しかし、予測対象三角パッチＸ２は、未復号化画素ブロック側に空間的距離が近く、隣接ブロックとの空間的距離が遠い。一般的に、オブジェクトの動きは空間的相関が高いため、利用可能な隣接ブロックが多く取れるように分割形状を定義するとよい。
【０２３３】
なお、本実施の形態では、予測対象ブロックを２つの三角パッチで分割する例を示したが、分割形状は、更に複数の三角パッチで分割してもよく、また、矩形、曲線、台形、平行四辺形、及びこれらの組み合わせを用いて分割しても良い。
【０２３４】
本実施の形態では、幾何変換の例としてアフィン変換を用いた例を示したが、共一次変換、ヘルマート変換、二次等角変換、射影変換、3次元射影変換、などのいずれの幾何変換を用いてもよい。例えば射影変換は、式（１６）で表される。
【０２３５】
式（１６）において、分子分母をスカラーで通分すると、解くべきパラメータは８種類となる。そこで、利用可能な隣接ブロック数を多く定義することにより、アフィン変換と同様の枠組みで幾何変換パラメータを導出することが可能である。
【０２３６】
以上が、幾何変換パラメータ導出部４０７の処理の概要である。
【０２３７】
＜幾何変換予測部４０８＞
次に、幾何変換予測部４０８の処理について、図１５ないし図１７を用いて説明する。なお、図１５ないし図１７の説明において、第１ないし第４の実施の形態における「参照画像信号１２０」は、局所復号画像であったのに対し、第５ないし第７の実施の形態では、「参照画像信号４１３」は、復号画像である。
【０２３８】
幾何変換予測部４０８は入力された幾何変換パラメータ４１４を基にして、参照画像信号４１３に対して幾何変換を実施する。図１５は、予測対象ブロックに対する幾何変換予測と動き補償予測の例を示す図である。図１５は、１６×１６画素ブロックの例である。
【０２３９】
図中、予測対象ブロックは三角で示される画素からなる正方形画素ブロックＣＲである。動き補償予測の対応する画素は黒丸で示される。黒丸で示される画素からなる画素ブロックＭＥＲは、正方形である。一方、幾何変換予測の対応する画素は×で示され、これらの画素からなる画素ブロックＧＴＲは、平行四辺形となる。
【０２４０】
動き補償後の領域と幾何変換後の領域は、参照画像信号の対応する領域を復号化対象のフレームの座標に合わせて記述している。このように、幾何変換予測を用いることによって、矩形画素ブロックの回転、拡大・縮小、せん断、鏡面変換などの変形に合わせた予測画像信号の生成が可能となる。
【０２４１】
幾何変換予測部１０９では、式（１０）、式（１４）、及び、式（１５）を用いて算出された幾何変換パラメータ４１４を用い、式（９）により、幾何変換後の座標（ｕ，ｖ）を算出する。算出された幾何変換後の座標（ｕ，ｖ）は、実数値である。そこで、座標（ｕ，ｖ）に対応する輝度値を参照画像信号から内挿補間することによって予測値を生成する。
【０２４２】
式（１０）、式（１４）、及び、式（１５）より、６ビット演算で誤差なく分数位置を計算できるため、内挿補間の際の画素精度を６ビットとする。これにより、整数画素間は６４個の分数画素に分割される。
【０２４３】
図１６は、共一次内挿法による輝度値補間処理の例を示す図である。白丸ｃｗ０ないしｃｗ３は整数画素位置の輝度値を示し、黒丸ｃｂが補間画素位置（ｕ，ｖ）を示している。図１６では、分数精度の位置に隣接する周囲４つの整数画素値を用いて、それぞれの距離の比から補間画素値を生成する。共一次内挿法は式（１７）で表される。
【０２４４】
式（１７）において、Ｐ（ｕ,ｖ）は内挿補間処理後の予測画素値を示しており、Ｒ（ｘ，ｙ）は、利用した参照画像信号の整数画素値を表している。（ｘ−ｕ）＝Ｕ／６４、（ｙ−ｖ）＝Ｖ／６４とすると、式（１７）は、式（１８）に示す整数演算に変形できる。式（１８）において、ｆは丸めのオフセット（０≦ｆ＜２１２）を表している。本実施の形態ではｆ＝０としている。
以上のように、幾何変換を行った予測対象ブロック内の座標毎に内挿補間を適用することによって、新たな予測画像信号を生成する。
【０２４５】
なお、本実施の形態では、内挿補間の方法として共一次内挿法を用いる例を示したが、最近接内挿法、３次畳み込み内挿法、線形フィルタ内挿法、ラグランジュ補間法、スプライン補間法、ランツォシュ補間法などのいかなる内挿補間法を適用しても構わない。
【０２４６】
なお、本実施の形態では、参照画像信号４１３の整数画素位置からの内挿補間についての例を説明したが、動き補償予測部４０６で、既に参照画像信号４１３の補間画像信号を生成している場合には、分数精度の補間画像信号を再利用しても良い。例えば、符号化データ復号部４０２が、１／４画素精度の動きベクトルを復号し、動き補償予測部４０６が、その動きベクトルに対応する参照画像信号４１３を４倍に拡大した拡大参照画像信号を生成して保持している場合には、１／４画素精度の補間画像を利用して１／６４画素精度の補間画像を生成してもよい。これにより、１／４精度の補間画像から更に１／１６精度の内挿補間処理を行って１／６４画素精度の補間画像を生成することができる。
【０２４７】
なお、内挿補間処理の画素精度は更に細かく指定することも可能である。この場合、指定した補間精度に応じて内挿補間処理を行えばよい。
以上が、幾何変換予測部４０８の処理の概要である。
【０２４８】
＜判定パラメータ導出部４２２＞
次に判定パラメータ導出部４２２について具体的に説明する。判定パラメータ導出部４２２は、幾何変換パラメータ導出部４０７から出力された幾何変換パラメータ４１４を用いて、動き補償予測部４０６から出力された予測画像信号と幾何変換予測部４０８から出力された予測画像信号との何れの信号を出力するかを判定するための判定パラメータ４１６を生成し、予測切替部４０９へと出力する。幾何変換がアフィン変換の場合には、平行移動指標、回転指標、拡大・縮小指標、変形指標などを用いて、幾何変換の度合いを評価することができる。
【０２４９】
一般的な動画像では、時間方向への相関が高い。動きベクトルは時間的に異なる画像間のオブジェクトの移動を示す値であるため、動きの空間相関も比較的高いことが予想される。そこでこれらの指標を判定パラメータとして利用し、予測方法を動的に切り替える。平行移動指標は式（１９）で与えられる。
【０２５０】
式（１９）において、ｃnは、隣接ブロック、又は、予測対象ブロックを分割した隣接する三角パッチ、すなわち、図１３における同じ番号の隣接ブロック内の三角パッチの幾何変換パラメータのｃ成分を示しており、ｃｘは隣接ブロックの幾何変換パラメータのｃ成分を示している。三角パッチに分割した際は、分割した同じ形状の三角パッチとの隣接関係を参照している。ｆ成分についても同様である。
【０２５１】
図１７は、アフィン変換による画素ブロックの変化の例を示す図である。図１７では、座標（１，０）及び（０，１）がそれぞれアフィン変換によって座標（ａ，ｄ）、（ｂ、ｃ）に変換され、変換前のベクトルの中心角度４５°からθＤ回転している。ａ，ｂ，ｄ，ｅはそれぞれ、予測対象ブロックで得られた幾何変換パラメータを示している。回転指標は式（２０）で与えられる。式（２０）において、ｓｇｎ（Ａ）は、Ａの符号を返す関数である。矩形ブロックの中心ベクトルがどの程度回転したかを表している。
【０２５２】
拡大・縮小指標は図１７で示されるアフィン変換後の面積に相当し、値が１より大きい場合は拡大方向に、小さい場合は縮小方向に変形していることが判る。そこで、式（２１）で拡大・縮小指標を定義する。式（２１）でＤｅｔ≒１となる場合は、更に式（２２）を用いて回転指標を算出してもよい。図１７のθCは式（２３）の変形指標に対応しており、アフィン変換後の図形の変形角度を定義している。
【０２５３】
また、式（２４）に示す、隣接ブロックで算出された幾何変換パラメータの各成分と予測対象ブロックで算出された幾何変換パラメータの各成分の差分値もそれぞれ判定パラメータの１つのパラメータとしている。
【０２５４】
また、式（２０）、式（２１）、式（２２）、式（２３）を用いて算出された予測対象ブロックと隣接ブロックの指標を用いて式（２５）ないし式（２７）に示す判定パラメータを利用しても良い。
【０２５５】
例えばＤｅｔｎは隣接ブロック或いは隣接ブロックの三角パッチが保持する幾何変換パラメータ４１４から算出される。算出された幾何変換パラメータに対応する指標と幾何変換パラメータの差分値が判定パラメータ４１６として、予測切替部４０９へと出力される。
以上が、判定パラメータ導出部４２２の処理の概要である。
【０２５６】
＜予測切替部４０９−予測の動的切替＞
次に予測切替部４０９について具体的に説明する。予測切替部４０９は、判定パラメータ導出部４２２から出力された判定パラメータ４１６に基づいて、どちらの予測画像信号を用いたかが記載された予測切替情報４１７を生成する。
【０２５７】
先ず、式（２０）ないし式（２３）を用いる場合の切替方法について説明する。回転指標、拡大・縮小指標、変形指標は、動きベクトルのみの平行移動に加え、画素ブロックの回転、拡大、縮小、変形の度合いを図る指標である。算出された幾何変換パラメータの指標が、極端に大きい場合や小さい場合には、幾何変換パラメータの推定が不適切であることが予想され、このパラメータを利用して幾何変換予測で生成される予測画像信号は誤差を多く含んでいることが予想される。そこで、これらの指標が、予め定めた閾値の範囲を超えた場合には、幾何変換予測の予測画像信号を利用しないように予測切替情報４１７を生成する。
【０２５８】
例として、式（２１）の拡大・縮小指標における閾値範囲について説明する。Ｄｅｔは拡大・縮小の度合いを示す指標である。予測切替情報４１７を式（２８）で定義する。
【０２５９】
式（２８）におけるｐｒｅｄ＿ｆｌａｇは予測切替情報４１７を表しており、ＴｈＤｅｔは閾値を表している。Ｄｅｔがそれぞれ閾値の範囲を超えた場合、ｐｒｅｄ＿ｆｌａｇは０となり、動き補償予測を選択する。一方、それ以外の場合は、ｐｒｅｄ＿ｆｌａｇは１となり、幾何変換予測を選択する。他の判定パラメータに関しても同様な閾値判定を行い、予測切替情報４１７を生成する。
【０２６０】
次に、式（１９）、式（２４）ないし式（２７）を用いる際の切替方法について説明する。隣接ブロックと予測対象ブロックの幾何変換パラメータには高い空間相関があることが推定されるため、それぞれの差分値が予め定めた閾値の大きさを超える場合には、幾何変換予測の予測画像信号を利用しないように予測切替情報４１７を生成する。
【０２６１】
次に隣接ブロックと予測対象ブロックの符号化パラメータとを用いたときの切替方法について説明する。符号化パラメータに含まれる量子化パラメータは、量子化ステップサイズを規定するパラメータである。量子化パラメータが大きい場合、変換係数が粗く量子化される。これにより、局部復号された参照画像信号が入力画像信号に対して大きな誤差を持ち、動きベクトルの推定精度が低下する。幾何変換予測では、動きベクトルを利用して幾何変換パラメータを算出するため、動きベクトルの推定精度が低下すると幾何変換パラメータの算出精度も低下する。そこで、量子化パラメータが大きくなった場合、各種判定パラメータの閾値範囲を狭くする処理を行う。つまり、各種パラメータの閾値は量子化パラメータに対する減少関数となる。
【０２６２】
なお、本実施の形態では、量子化パラメータを利用して閾値の範囲を制御する例を示したが、符号化パラメータに含まれる他の情報を用いてもよい。例えば、復号化した動画像の解像度、予測対象ブロックのタイプ、参照画像のＲｅｆ＿ｉｄｘ、動きベクトルの値、又は、変換サイズに関する情報などを利用してもよい。
【０２６３】
また、隣接ブロックの全ての隣接動きベクトルと予測対象ブロックの動きベクトルとが同一の値を持つとき、幾何変換前と後での座標が変化しない。このような時は、周辺ブロックが同一のオブジェクトの平行移動と考えられるため、幾何変換予測を行う必要がない。そこで、この条件が成り立つときは、予測切替情報４１７は、幾何変換予測を利用しない旨の値を有する。
【０２６４】
また、それぞれの指標に対して用いる閾値を符号化パラメータの値に応じて変化する関数としてもよい。例えば、式（２８）における閾値ＴｈＤｅｔを量子化パラメータに依存する関数として定義し、量子化パラメータが増加するに従って、閾値が減少するような関数とすることで、推定精度の低下する低ビットレート帯での効果的な予測切替が可能となる。
【０２６５】
以上が、予測切替部４０９及び予測分離スイッチ４１０の処理の概要である。
【０２６６】
＜シンタクス構造＞
次に、動画像復号化装置４００が復号する符号化データのシンタクス構造について説明する。動画像復号化装置４００が復号する符号化データ４１１は、動画像符号化装置１００と同一のシンタクス構造を有するとよい。そこで、ここでは、図１９ないし図２５を用いて説明する。
【０２６７】
図１９は、シンタクス１６００の構成を示す図である。図１９に示すとおり、シンタクス１６００は主に３つのパートを有する。ハイレベルシンタクス１６０１は、スライス以上の上位レイヤのシンタクス情報を有する。スライスレベルシンタクス１６０２は、スライス毎に復号に必要な情報を有し、マクロブロックレベルシンタクス１６０３は、マクロブロック毎に復号に必要とされる情報を有する。
【０２６８】
各パートは、更に詳細なシンタクスで構成されている。ハイレベルシンタクス１６０１は、シーケンスパラメータセットシンタクス１６０４とピクチャパラメータセットシンタクス１６０５などの、シーケンス及びピクチャレベルのシンタクスを含む。スライスレベルシンタクス１６０２は、スライスヘッダーシンタクス１６０５、スライスデータシンタクス１６０６等を含む。マクロブロックレベルシンタクス１６０３は、マクロブロックレイヤーシンタクス１６０７、マクロブロックプレディクションシンタクス１６０８等を含む。
【０２６９】
図２０は、スライスヘッダーシンタクス１６０５の例を示す図である。図中に示されるｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇは、当該スライスに幾何変換予測を適用するかどうかを示すシンタクス要素である。ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇが0である場合、予測切替部４０９は、当該スライスにおいて常に動き補償予測部４０６の出力端を出力するように予測切替情報４１７を設定して予測分離スイッチ４１０を切り替える。つまり、このスライスに対しては、幾何変換予測を適用しないことを意味する。一方、ｓｌｉｃｅ＿ａｆｆｉｎｅ＿ｍｏｔｉｏｎ＿ｐｒｅｄｉｃｔｉｏｎ＿ｆｌａｇが１である場合、当該スライスにおいて判定パラメータ４１６が指し示す情報に基づいて予測切替情報４１７が設定され、予測分離スイッチ４１０は予測画像信号を動的に切り替える。
【０２７０】
図２１は、スライスデータシンタクス１６０６の例を示す図である。図中に示されるｍｂ＿ｓｋｉｐ＿ｆｌａｇは、当該マクロブロックがスキップモードで符号化されているかどうかを示すフラグである。スキップモードである場合、変換係数や動きベクトルなどは符号化されていない。
【０２７１】
ＡｖａｉｌＡｆｆｉｎｅＭｏｄｅは当該マクロブロックで幾何変換予測が利用できるかどうかを示す内部パラメータである。ＡｖａｉｌＡｆｆｉｎｅＭｏｄｅが０の場合、判定パラメータ４１６で算出した各種値によって、幾何変換予測を利用しないように予測切替情報４１７が設定されていることを意味する。また、隣接ブロックの隣接動きベクトルと予測対象ブロックの動きベクトルが同一の値を持つときもＡｖａｉｌＡｆｆｉｎｅＭｏｄｅは０となる。
【０２７２】
一方、ＡｖａｉｌＡｆｆｉｎｅＭｏｄｅが１の場合は、幾何変換予測と動き補償予測のどちらを利用するかを示すｍｂ＿ａｆｆｉｎｅ＿ｍｏｔｉｏｎ＿ｓｋｉｐ＿ｆｌａｇが符号化されている。ｍｂ＿ａｆｆｉｎｅ＿ｍｏｔｉｏｎ＿ｓｋｉｐ＿ｆｌａｇが１の場合、当該スキップモードに対して幾何変換予測が適用されることを意味する。ｍｂ＿ａｆｆｉｎｅ＿ｍｏｔｉｏｎ＿ｓｋｉｐ＿ｆｌａｇが０の場合、動き補償予測が適用されることを意味する。
【０２７３】
図２２は、マクロブロックレイヤーシンタクス１６０７の例を示す図である。図中に示されるｍｂ＿ｔｙｐｅは、マクロブロックタイプ情報を示している。すなわち、現在のマクロブロックがイントラ符号化されているか、インター符号化されているか、或いはどのようなブロック形状で予測が行われているか、予測の方向が単方向予測か双方向予測か、などの情報を含んでいる。ｍｂ＿ｔｙｐｅは、マクロブロックプレディクションシンタクスと更にマクロブロック内のサブブロックのシンタクスを示すサブマクロブロックプレディクションシンタクスなどに渡される。
【０２７４】
図２３は、マクロブロックプレディクションシンタクスの例を示す図である。図中に示されるＡｖａｉｌＡｆｆｉｎｅＭｏｄｅＭｂは当該画素ブロックで幾何変換予測が利用できるかどうかを示す内部パラメータである。ＡｖａｉｌＡｆｆｉｎｅＭｏｄｅＭｂが０の場合、判定パラメータ１２５で算出した各種値によって、幾何変換予測を利用しないように予測切替情報１２２が設定されていることを意味する。また、隣接ブロックの隣接動きベクトルと予測対象ブロックの動きベクトルが同一の値を持つときもＡｖａｉｌＡｆｆｉｎｅＭｏｄｅＭｂは０となる。
【０２７５】
一方、ＡｖａｉｌＡｆｆｉｎｅＭｏｄｅＭｂが１の場合は、幾何変換予測と動き補償予測のどちらを利用するかを示すｍｂ＿ａｆｆｉｎｅ＿ｐｒｅｄ＿ｆｌａｇが符号化されている。ｍｂ＿ａｆｆｉｎｅ＿ｐｒｅｄ＿ｆｌａｇが１の場合、当該画素ブロックに対して幾何変換予測が適用されることを意味する。ｍｂ＿ａｆｆｉｎｅ＿ｐｒｅｄ＿ｆｌａｇが０の場合、動き補償予測が適用されることを意味する。
【０２７６】
ＮｕｍＭｂＰａｒｔ()は、ｍｂ＿ｔｙｐｅに規定されたブロック分割数を返す内部関数であり、１６×１６画素ブロックの場合は１、１６×８、８×１６画素ブロックの場合は２、８×８画素ブロックの場合は４を出力する。
【０２７７】
図２４は、サブマクロブロックプレディクションシンタクスの例を示す図である。図中に示されるＡｖａｉｌＡｆｆｉｎｅＭｏｄｅＳｕｂＭｂは当該画素ブロックで幾何変換予測が利用できるかどうかを示す内部パラメータである。ＡｖａｉｌＡｆｆｉｎｅＭｏｄｅＳｕｂＭｂが０の場合、判定パラメータ１２５で算出した各種値によって、幾何変換予測を利用しないように予測切替情報４１７が設定されていることを意味する。また、隣接ブロックの隣接動きベクトルと予測対象ブロックの動きベクトルが同一の値を持つときもＡｖａｉｌＡｆｆｉｎｅＭｏｄｅＳｕｂＭｂは０となる。
【０２７８】
一方、ＡｖａｉｌＡｆｆｉｎｅＭｏｄｅＳｕｂＭｂが１の場合は、幾何変換予測と動き補償予測のどちらを利用するかを示すｍｂ＿ａｆｆｉｎｅ＿ｐｒｅｄ＿ｆｌａｇが符号化されている。ｍｂ＿ａｆｆｉｎｅ＿ｐｒｅｄ＿ｆｌａｇが１の場合、当該画素ブロックに対して幾何変換予測が適用されることを意味する。ｍｂ＿ａｆｆｉｎｅ＿ｐｒｅｄ＿ｆｌａｇが０の場合、動き補償予測が適用されることを意味する。ＮｕｍＳｕｂＭｂＰａｒｔ()は、ｍｂ＿ｔｙｐｅに規定されたブロック分割数を返す内部関数である。
【０２７９】
図２５は、符号化パラメータの例としてのマクロブロックレイヤーシンタクスの例を示す図である。図中に示されるｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎは、８×８画素ブロック毎に、変換係数が存在するかどうかを示している。例えばこの値が０である時、対象ブロックに変換係数が存在しないことを意味している。図中のｍｂ＿ｑｐ＿ｄｅｌｔａは、量子化パラメータに関する情報を示している。対象ブロックの１つ前に符号化されたブロックの量子化パラメータからの差分値を表している。
【０２８０】
図中のｒｅｆ＿ｉｄｘ＿ｌ０及びｒｅｆ＿ｉｄｘ＿ｌ１は、インター予測が選択されているときに、対象ブロックがどの参照画像を用いて予測されたか、を表す参照画像のインデックスを示している。図中のｍｖ＿ｌ０、ｍｖ＿ｌ１は動きベクトル情報を示している。図中のｔｒａｎｓｆｏｒｍ＿８ｘ８＿ｆｌａｇは、対象ブロックが８×８変換であるかどうかを示す変換情報を表している。
【０２８１】
なお、図１９ないし図２５に示すシンタクスの表中の行間には、本実施の形態において規定していないシンタクス要素が挿入されてもよく、その他の条件分岐に関する記述が含まれていてもよい。また、シンタクステーブルを複数のテーブルに分割し、または複数のシンタクステーブルを統合してもよい。また、必ずしも同一の用語を用いる必要は無く、利用する形態によって任意に変更してもよい。更に、当該マクロブロックレイヤーシンタクスに記述されている各々のシンタクス要素は、後述するマクロブロックデータシンタクスに明記されるように変更しても良い。
【０２８２】
以上が、動画像復号化装置４００の説明である。
【０２８３】
（第６の実施形態：イントラ予測の追加）
図３３は、第６の実施の形態で用いられる動画像復号化装置５００の構造を示す図である。図３３において、図３２の動画像復号化装置４００と同位置の機能を持つ各部には同一の符号を付し、ここでは説明を省略する。
【０２８４】
動画像復号化装置５００は、動画像復号化装置４００が有する各部に加え、イントラ予測部５０１、及び、予測切替スイッチ５０２が追加されている。イントラ予測部５０１は、入力された参照画像信号４１３を基にして画面内の情報のみを用いた予測画像信号４１８を生成する。
【０２８５】
符号化データ復号部４０２で復号された予測情報から予測切替情報５０３が予測切替スイッチ５０２へと入力される。予測切替情報５０３には、イントラ予測部５０１の出力端とインター予測部１３０の出力端との、どちらとスイッチを繋ぐかの情報が記述されている。
【０２８６】
イントラ予測が選択された場合、予測切替スイッチ５０２は、イントラ予測部５０１の出力端をスイッチへと接続し、イントラ予測部５０１で得られた予測画像信号４１８を加算器４０４へと出力する。一方、インター予測が選択された場合、インター予測部１３０の出力端をスイッチへと接続し、インター予測部１３０で得られた予測画像信号４１８を加算器４０４へと出力する。
【０２８７】
これにより、イントラ予測部５０１で生成された予測画像信号を選ぶか、インター予測部１３０で生成された予測画像信号を選ぶか、が判断され、予測モード分離スイッチ５０２の出力端を切り替える。
【０２８８】
以上が第６の実施の形態に係る動画像復号化装置５００の処理の説明である。
【０２８９】
（第７の実施形態：動きベクトルの差分をシグナリング）
本発明の第７の実施の形態に係わる動画像復号化装置は、例えば、第４の実施の動画像復号化装置が生成する符号化データを復号して復号画像信号を生成する。第７の実施の形態に係る動画像符号化装置は、第５の実施の形態に係わる動画像復号化装置４００の機能に加えて、予測対象ブロックの動きベクトルと幾何変換パラメータを補正する動きベクトルの差分を復号化する。
【０２９０】
第５の実施の形態に係る動画像復号化装置４００が復号化する符号化データのシンタクスに対する、本実施の形態に係わる動画像復号化装置が復号する符号化データのシンタクスの変更は、図２９及び図３０と同一である。
【０２９１】
図２９及び図３０において、シンタクス要素に含まれる文字のうち、Ｌ０及びｌ０は参照画像Ｌ０上に示される動きベクトルを示し、Ｌ１及びｌ１は参照画像Ｌ１上に示される動きベクトルを示す。再探索前の本来の動きベクトルを、ｍｖｏｒｇ＝（ｍｖｘｏｒｇ，ｍｖｙｏｒｇ）とし、再探索後の動きベクトルをｍｖｒｅｆｉｎｅ＝（ｍｖｘｒｅｆｉｎｅ，ｍｖｙｒｅｆｉｎｅ）とすると、動きベクトルの差分ｍｖｄ＿ａｆｆｉｎｅ[２]は式（３１）により算出される。
【０２９２】
なお、式（３１）においてｍｖｄ＿ａｆｆｉｎｅ[０]は垂直方向、ｍｖｄ＿ａｆｆｉｎｅ[１]は水平方向に対応する動きベクトルの差分値であり、シンタクス要素に対応している。なお、ここでは、図２９及び図３０に示すシンタクスに含まれている文字ｌ０及びｌ１を省略しているが、式（３１）に示す動きベクトルの差分は、Ｌ０及びＬ１のそれぞれのインデックスに対して計算する。また、ｍｖｄ＿ｌ０及びｍｖｄ＿ｌ１は、それぞれの参照画像信号に対応する動きベクトルと動きベクトルを予測した値との差分を計算することによって計算され、本実施の形態では明示しない他の動きベクトルの予測技術を用いて生成される。
【０２９３】
予測対象ブロックの符号化が完了すると、再探索前の動きベクトルであるｍｖｏｒｇ＝（ｍｖｘｏｒｇ，ｍｖｙｏｒｇ）が符号化制御部１２６の内部メモリへ格納される。このように予測対象ブロックで利用する動きベクトルと、隣接ブロックとなった際に利用される動きベクトルを別々に保持することにより、隣接ブロックからの幾何変換パラメータの誤差の伝播を防ぐことが可能となる。
【０２９４】
（第１ないし第７の実施形態の変形例）
（１）第１ないし第７の実施形態においては、処理対象フレームを１６×１６画素サイズなどの短形ブロックに分割し、図４に示したように画面左上のブロックから右下に向かって順に符号化／復号化する場合について説明しているが、符号化順序及び復号化順序はこれに限られない。例えば、右下から左上に向かって順に符号化及び復号化を行ってもよいし、画面中央から渦巻状に向かって順に符号化及び復号化を行ってもよい。さらに、右上から左下に向かって順に符号化及び復号化を行ってもよいし、画面の周辺部から中心部に向かって順に符号化及び復号化を行ってもよい。
【０２９５】
（２）第１ないし第７の実施形態においては、ブロックサイズを４×４画素ブロック、８×８画素ブロックとして説明を行ったが、予測対象ブロックは均一なブロック形状にする必要なく、１６×８画素ブロック、８×１６画素ブロック、８×４画素ブロック、４×８画素ブロックなどの何れのブロックサイズであってもよい。また、１つのマクロブロック内でも全てのブロックを同一にする必要はなく、異なるサイズのブロックを混在させてもよい。この場合、分割数が増えると分割情報を符号化又は復号化するための符号量が増加する。そこで、変換係数の符号量と局部復号画像又は復号画像とのバランスを考慮して、ブロックサイズを選択すればよい。
【０２９６】
（３）第１ないし第７の実施形態においては、輝度信号と色差信号を分割せず、一方の色信号成分に限定した例として記述した。しかし、予測処理が輝度信号と色差信号で異なる場合、それぞれ異なる予測方法を用いてもよいし、同一の予測方法を用いても良い。異なる予測方法を用いる場合は、色差信号に対して選択した予測方法を輝度信号と同様の方法で符号化又は復号化する。
【０２９７】
（４）第１ないし第４の実施形態においては、判定パラメータを符号化データに含ませない例を記述した。しかし、画素ブロック毎の判定パラメータを、符号化データに含ませてもよい。また、第５ないし第７の実施形態においては、判定パラメータを、幾何変換パラメータに基づいて、画素ブロック毎に算出する例を説明した。しかし、符号化データに判定パラメータが含まれている場合には、動画像復号化装置が判定パラメータを算出することなく、復号した判定パラメータにより、幾何変換による動き補償予測を行うか否かを判定する構成にするとよい。
【０２９８】
本提案手法を用いることで、平行移動モデルに適さない動オブジェクトを予測するために、過度のブロック分割が施されて、ブロック分割情報が増大することを防ぐ。つまり、付加的な情報を増加させずに、ブロック内のオブジェクトの幾何変形を予測し、それぞれに好適な幾何変換パラメータを適用することによって、符号化効率を向上させると共に主観画質も向上するという効果を奏する。
【０２９９】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【産業上の利用可能性】
【０３００】
以上のように、本発明にかかる動画像符号化装置、動画像復号化装置、動画像符号化方法、及び、動画像復号化方法は、高効率な動画像の符号化に有用であり、特に、幾何変換動き補償予測に用いる幾何変換パラメータの推定に必要な動き検出処理を低減する動画像符号化に適している。
【符号の説明】
【０３０１】
１００ 動画像符号化装置
１０１ 減算器
１０２ 変換・量子化部
１０３ 逆量子化・逆変換部
１０４ 加算器
１０５ 参照画像メモリ
１０６ 動き推定部
１０７ 動き補償予測部
１０８ 幾何変換パラメータ導出部
１０９ 幾何変換予測部
１１０ 予測分離スイッチ
１１１ 予測切替部
１１２ エントロピー符号化部
１１３ 出力バッファ
１１４ 入力画像信号
１１５ 予測誤差信号
１１６ 変換係数
１１７ 復号予測誤差信号
１１８ 復号画像信号
１１９ 動きベクトル
１２０ 参照画像信号
１２１ 幾何変換パラメータ
１２２ 予測切替情報
１２３ 予測画像信号
１２４ 符号化データ
１２５ 判定パラメータ
１２６ 符号化制御部
１２７ 判定パラメータ導出部
１３０ インター予測部
１８１ 動きベクトル取得部
１８２ パラメータ導出部
１９１ 幾何変換部
１９２ 内挿補間部
２００ 動画像符号化装置
２０１ イントラ予測部
２０２ モード判定部
２０３ 予測モード分離スイッチ
２０４ 予測モード切替情報
３００ インター予測部
３０１ ベクトル再探索部
４００ 動画像復号化装置
４０１ 入力バッファ
４０２ 符号化データ復号部
４０３ 逆量子化・逆変換部
４０４ 加算器
４０５ 参照画像メモリ
４０６ 動き補償予測部
４０７ 幾何変換パラメータ導出部
４０８ 幾何変換予測部
４０９ 予測切替部
４１０ 予測分離スイッチ
４１１ 符号化データ
４１２ 予測誤差信号
４１３ 参照画像信号
４１４ 幾何変換パラメータ
４１５ 動きベクトル
４１６ 判定パラメータ
４１７ 予測切替情報
４１８ 予測画像信号
４１９ 出力バッファ
４２０ 復号画像信号
４２１ 復号化制御部
４２２ 判定パラメータ導出部
５００ 動画像復号化装置
５０１ イントラ予測部
５０２ 予測モード分離スイッチ
５０２ 予測切替スイッチ
５０３ 予測切替情報
【図１】
2012080151.tif 000034
【図２】
2012080151.tif 000035
【図３】
2012080151.tif 000036
【図４】
2012080151.tif 000037
【図５】
2012080151.tif 000038
【図６】
2012080151.tif 000039
【図７Ａ】
2012080151.tif 000040
【図７Ｂ】
2012080151.tif 000041
【図８】
2012080151.tif 000042
【図９Ａ】
2012080151.tif 000043
【図９Ｂ】
2012080151.tif 000044
【図９Ｃ】
2012080151.tif 000045
【図９Ｄ】
2012080151.tif 000046
【図９Ｅ】
2012080151.tif 000047
【図１０Ａ】
2012080151.tif 000048
【図１０Ｂ】
2012080151.tif 000049
【図１０Ｃ】
2012080151.tif 000050
【図１０Ｄ】
2012080151.tif 000051
【図１１Ａ】
2012080151.tif 000052
【図１１Ｂ】
2012080151.tif 000053
【図１１Ｃ】
2012080151.tif 000054
【図１１Ｄ】
2012080151.tif 000055
【図１２】
2012080151.tif 000056
【図１３Ａ】
2012080151.tif 000057
【図１３Ｂ】
2012080151.tif 000058
【図１４】
2012080151.tif 000059
【図１５】
2012080151.tif 000060
【図１６】
2012080151.tif 000061
【図１７】
2012080151.tif 000062
【図１８】
2012080151.tif 000063
【図１９】
2012080151.tif 000064
【図２０】
2012080151.tif 000065
【図２１】
2012080151.tif 000066
【図２２】
2012080151.tif 000067
【図２３】
2012080151.tif 000068
【図２４】
2012080151.tif 000069
【図２５】
2012080151.tif 000070
【図２６】
2012080151.tif 000071
【図２７Ａ】
2012080151.tif 000072
【図２７Ｂ】
2012080151.tif 000073
【図２７Ｃ】
2012080151.tif 000074
【図２８】
2012080151.tif 000075
【図２９】
2012080151.tif 000076
【図３０】
2012080151.tif 000077
【図３１】
2012080151.tif 000078
【図３２】
2012080151.tif 000079
【図３３】
2012080151.tif 000080