(57)【要約】  本開示は、動きベクトルに基づいて高精度の予測画像を生成する場合にオーバーヘッドを削減することができるようにする画像処理装置及び画像処理方法に関する。予測部は、並進移動により動き補償を行う並進モード、アフィン変換により動き補償を行うアフィン変換モード、並進移動と回転により動き補償を行う並進回転モード、及び並進移動とスケーリングにより動き補償を行う並進スケーリングモードのいずれかのモードで参照画像に対して動き補償を行い、予測画像を生成する。本開示は、例えば、画像符号化装置等に適用することができる。
2018131515.tif 000002
【特許請求の範囲】
【請求項１】
並進移動により動き補償を行う並進モード、アフィン変換により動き補償を行うアフィン変換モード、並進移動と回転により動き補償を行う並進回転モード、及び並進移動とスケーリングにより動き補償を行う並進スケーリングモードのいずれかのモードで参照画像に対して動き補償を行い、予測画像を生成する予測部
を備える画像処理装置。
【請求項２】
前記予測部は、前記並進モードで前記参照画像に対して動き補償を行う場合、１つの動きベクトルに基づいて前記参照画像に対して動き補償を行う
ように構成された
請求項１に記載の画像処理装置。
【請求項３】
前記予測部は、前記アフィン変換モードで前記参照画像に対して動き補償を行う場合、２つの動きベクトルに基づくアフィン変換を前記参照画像に対して行うことにより、動き補償を行う
ように構成された
請求項１に記載の画像処理装置。
【請求項４】
前記予測部は、前記並進回転モードで前記参照画像に対して動き補償を行う場合、１つの動きベクトルと回転角とに基づいて、前記参照画像に対して動き補償を行う
ように構成された
請求項１に記載の画像処理装置。
【請求項５】
前記予測部は、前記並進回転モードで前記参照画像に対して動き補償を行う場合、１つの動きベクトル、及び、前記１つの動きベクトルと他の動きベクトルとの垂直方向の差分に基づいて、前記参照画像に対して動き補償を行う
ように構成された
請求項１に記載の画像処理装置。
【請求項６】
前記予測部は、前記垂直方向の差分を用いて、前記１つの動きベクトルと他の動きベクトルとの水平方向の差分を求め、前記１つの動きベクトル、前記垂直方向の差分、及び、前記水平方向の差分に基づいて、前記参照画像に対して動き補償を行う
ように構成された
請求項５に記載の画像処理装置。
【請求項７】
前記予測部は、前記並進スケーリングモードで前記参照画像に対して動き補償を行う場合、１つの動きベクトルとスケーリング率とに基づいて、前記参照画像に対して動き補償を行う
ように構成された
請求項１に記載の画像処理装置。
【請求項８】
前記予測部は、前記並進スケーリングモードで前記参照画像に対して動き補償を行う場合、１つの動きベクトル、及び、前記１つの動きベクトルと他の動きベクトルとの水平方向の差分に基づいて、前記参照画像に対して動き補償を行う
ように構成された
請求項１に記載の画像処理装置。
【請求項９】
前記アフィン変換モード、前記並進回転モード、又は前記並進スケーリングモードを示すアフィン変換情報を設定する設定部
をさらに備える
請求項１に記載の画像処理装置。
【請求項１０】
前記並進回転モード又は前記並進スケーリングモードを示す並進拡張情報を設定する設定部
をさらに備える
請求項１に記載の画像処理装置。
【請求項１１】
前記並進回転モードを示す並進回転情報を設定する設定部
をさらに備える
請求項１に記載の画像処理装置。
【請求項１２】
前記予測部は、前記アフィン変換モード、前記並進回転モード、又は前記並進スケーリングモードを示すアフィン変換情報に基づいて、前記アフィン変換モード、前記並進回転モード、又は前記並進スケーリングモードで前記参照画像に対して動き補償を行う
ように構成された
請求項１に記載の画像処理装置。
【請求項１３】
前記予測部は、前記並進回転モード又は前記並進スケーリングモードを示す並進拡張情報に基づいて、前記並進回転モード又は前記並進スケーリングモードで前記参照画像に対して動き補償を行う
ように構成された
請求項１に記載の画像処理装置。
【請求項１４】
前記予測部は、前記並進回転モードを示す並進回転情報に基づいて、前記並進回転モードで前記参照画像に対して動き補償を行う
ように構成された
請求項１に記載の画像処理装置。
【請求項１５】
画像処理装置が、
並進移動により動き補償を行う並進モード、アフィン変換により動き補償を行うアフィン変換モード、並進移動と回転により動き補償を行う並進回転モード、及び並進移動とスケーリングにより動き補償を行う並進スケーリングモードのいずれかのモードで参照画像に対して動き補償を行い、予測画像を生成する予測ステップ
を含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置及び画像処理方法に関し、特に、動きベクトルに基づいて高精度の予測画像を生成する場合にオーバーヘッドを削減することができるようにした画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
ITU-T(International Telecommunication Union Telecommunication Standardization Sector)の次世代ビデオ符号化を探索するJVET（Joint Video Exploration Team）では、２つの頂点の動きベクトルに基づいて参照画像をアフィン変換することによりインター予測処理（Affine motion compensation (MC) prediction）を行うことが提案されている（例えば、非特許文献１及び２参照）。これにより、インター予測処理時に、画面間の並進移動（平行移動）だけでなく、回転方向の動き、及び、拡大や縮小といった形状の変化も補償して高精度の予測画像を生成することができる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Jianle Chen等,”Algorithm Description of Joint Exploration Test Model 4(JVET-C1001)”, JVET of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,26 May-1 June 2016
【非特許文献２】Feng Zou,”Improved affine motion prediction(JVET-C0062)”,JVET of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,26 May-1 June 2016
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、アフィン変換を用いるインター予測処理に用いられるパラメータの数は、１つの動きベクトルに基づいて並進移動のみを補償して予測画像を生成するインター予測処理に比べて、増加する。したがって、オーバーヘッドが増加し、符号化効率が悪化する。【０００５】
本開示は、このような状況に鑑みてなされたものであり、動きベクトルに基づいて高精度の予測画像を生成する場合にオーバーヘッドを削減することができるようにするものである。
【課題を解決するための手段】
【０００６】
本開示の一側面の画像処理装置は、並進移動により動き補償を行う並進モード、アフィン変換により動き補償を行うアフィン変換モード、並進移動と回転により動き補償を行う並進回転モード、及び並進移動とスケーリングにより動き補償を行う並進スケーリングモードのいずれかのモードで参照画像に対して動き補償を行い、予測画像を生成する予測部を備える画像処理装置である。【０００７】
本開示の一側面の画像処理方法は、本開示の一側面の画像処理装置に対応する。【０００８】
本開示の一側面においては、並進移動により動き補償を行う並進モード、アフィン変換により動き補償を行うアフィン変換モード、並進移動と回転により動き補償を行う並進回転モード、及び並進移動とスケーリングにより動き補償を行う並進スケーリングモードのいずれかのモードで参照画像に対して動き補償が行われて、予測画像が生成される。
【発明の効果】
【０００９】
本開示の一側面によれば、予測画像を生成することができる。また、本開示の一側面によれば、動きベクトルに基づいて高精度の予測画像を生成する場合にオーバーヘッドを削減することができる。【００１０】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１１】
【図１】１つの動きベクトルに基づいて動き補償を行うインター予測処理を説明する図である。
【図２】１つの動きベクトルと回転角に基づいて動き補償を行うインター予測処理を説明する図である。
【図３】２つの動きベクトルに基づいて動き補償を行うインター予測処理を説明する図である。
【図４】３つの動きベクトルに基づいて動き補償を行うインター予測処理を説明する図である。
【図５】３つの動きベクトルに基づくアフィン変換前後のブロックを説明する図である。
【図６】QTBTを説明する図である。
【図７】画像内の各PUで発生する動きの第１の例を説明する図である。
【図８】画像内の各PUで発生する動きの第２の例を説明する図である。
【図９】画像内の各PUで発生する動きの第３の例を説明する図である。
【図１０】画像内の各PUで発生する動きの第４の例を説明する図である。
【図１１】画像符号化装置の一実施の形態の構成例を示すブロック図である。
【図１２】並進モードを説明する図である。
【図１３】並進回転モードの第１の例を説明する図である。
【図１４】並進回転モードの第２の例を説明する図である。
【図１５】並進スケーリングモードの第１の例を説明する図である。
【図１６】並進スケーリングモードの第２の例を説明する図である。
【図１７】動き補償モード情報とパラメータ情報を説明する図である。
【図１８】予測ベクトルの候補となる隣接パラメータに含まれる動きベクトルを説明する図である。
【図１９】画像符号化処理を説明するフローチャートである。
【図２０】インター予測処理モード設定処理を説明するフローチャートである。
【図２１】マージモード符号化処理を説明するフローチャートである。
【図２２】AMVPモード符号化処理を説明するフローチャートである。
【図２３】画像復号装置の一実施の形態の構成例を示すブロック図である。
【図２４】画像復号処理を説明するフローチャートである。
【図２５】動き補償モード情報復号処理を説明するフローチャートである。
【図２６】マージモード復号処理を説明するフローチャートである。
【図２７】AMVPモード復号処理を説明するフローチャートである。
【図２８】並進回転モードの動き補償（によるインター予測処理）を、さらに説明する図である。
【図２９】回転角θが小さいとは言えない大きさである場合の垂直差分dvyに基づく動き補償を説明する図である。
【図３０】垂直差分dvyに基づく動き補償において、参照ブロックの縮小を抑制し、PU３１の予測画像の精度を向上させる動き補償を説明する図である。
【図３１】並進回転モードの動き補償として、水平差分dvxに基づく動き補償を採用する場合の、並進回転モードの動き補償の処理の例を説明するフローチャートである。
【図３２】動き補償モード情報の他の例を説明する図である。
【図３３】コンピュータのハードウエアの構成例を示すブロック図である。
【図３４】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図３５】携帯電話機の概略的な構成の一例を示すブロック図である。
【図３６】記録再生装置の概略的な構成の一例を示すブロック図である。
【図３７】撮像装置の概略的な構成の一例を示すブロック図である。
【図３８】ビデオセットの概略的な構成の一例を示すブロック図である。
【図３９】ビデオプロセッサの概略的な構成の一例を示すブロック図である。
【図４０】ビデオプロセッサの概略的な構成の他の例を示すブロック図である。
【図４１】ネットワークシステムの概略的な構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下、本開示の前提及び本開示を実施するための形態（以下、実施の形態という）について説明する。なお、説明は以下の順序で行う。
０．本開示の前提（図１ないし図１０）
１．第１実施の形態：画像処理装置（図１１ないし図２７）
２．第２実施の形態：並進回転モードの動き補償（図２８ないし図３２）
３．第３実施の形態：コンピュータ（図３３）
４．第４実施の形態：テレビジョン装置（図３４）
５．第５実施の形態：携帯電話機（図３５）
６．第６実施の形態：記録再生装置（図３６）
７．第７実施の形態：撮像装置(図３７)
８．第８実施の形態：ビデオセット（図３８ないし図４０）
９．第９実施の形態：ネットワークシステム（図４１）
【００１３】
＜本開示の前提＞
（１つの動きベクトルに基づいて動き補償を行うインター予測処理の説明）
図１は、１つの動きベクトルに基づいて動き補償を行うインター予測処理（以下、２パラメータＭＣ予測処理という）を説明する図である。
【００１４】
なお、以下では、特に断りの無い限り、画像（ピクチャ）の横方向（水平方向）をｘ方向とし、縦方向（垂直方向）をｙ方向とする。
【００１５】
図１に示すように、２パラメータＭＣ予測処理では、予測対象のPU１１（カレントブロック）に対して１つの動きベクトルｖc（ｖcx，ｖcy）が決定される。そして、PU１１を含むピクチャ１０とは異なる時刻の参照画像内の、PU１１から動きベクトルｖcだけ離れた位置に存在するPU１１と同一のサイズのブロック１３を、動きベクトルｖcに基づいて並進移動することにより動き補償が行われ、PU１１の予測画像が生成される。
【００１６】
即ち、２パラメータＭＣ予測処理では、参照画像に対してアフィン変換が行われず、画面間の並進移動のみを補償した予測画像が生成される。また、インター予測処理に用いられるパラメータは、ｖcxとｖcyの２つである。このようなインター予測処理は、AVC（Advanced Video Coding）やHEVC（High Efficiency Video Coding）などで採用されている。
【００１７】
（１つの動きベクトルと回転角に基づいて動き補償を行うインター予測処理の説明）
図２は、１つの動きベクトルと回転角に基づいて動き補償を行うインター予測処理を説明する図である。
【００１８】
図２に示すように、１つの動きベクトルと回転角に基づいて動き補償を行うインター予測処理では、予測対象のPU１１に対して１つの動きベクトルｖc（ｖcx，ｖcy）と回転角θが決定される。そして、PU１１を含むピクチャ１０とは異なる時刻の参照画像内の、PU１１から動きベクトルｖcだけ離れた位置に回転角θの傾きで存在するPU１１と同一のサイズのブロック２１を、動きベクトルｖcと回転角θに基づいてアフィン変換することにより動き補償が行われ、PU１１の予測画像が生成される。
【００１９】
即ち、１つの動きベクトルと回転角に基づいて動き補償を行うインター予測処理では、１つの動きベクトルと回転角に基づいて参照画像に対してアフィン変換が行われる。これにより、画面間の並進移動と回転方向の動きを補償した予測画像が生成される。したがって、２パラメータＭＣ予測処理に比べて、予測画像の精度が向上する。また、インター予測処理に用いられるパラメータは、ｖcx，ｖcy、及びθの３つである。
【００２０】
（２つの動きベクトルに基づいて動き補償を行うインター予測処理の説明）
図３は、２つの動きベクトルに基づいて動き補償を行うインター予測処理（以下では、４パラメータアフィンＭＣ予測処理という）を説明する図である。
【００２１】
図３に示すように、４パラメータアフィンＭＣ予測処理では、予測対象のPU３１に対して、PU３１の左上の頂点Ａにおける動きベクトルｖ0（ｖ0x，ｖ0y）と右上の頂点Ｂにおける動きベクトルｖ1（ｖ1x，ｖ1y）が決定される。
【００２２】
そして、PU３１を含むピクチャとは異なる時刻の参照画像内の、頂点Ａから動きベクトルｖ0だけ離れた点Ａ´を左上の頂点とし、頂点Ｂから動きベクトルｖ1だけ離れた点Ｂ´を右上の頂点とするブロック３２を、動きベクトルｖ0と動きベクトルｖ1に基づいてアフィン変換することにより動き補償が行われ、PU３１の予測画像が生成される。
【００２３】
具体的には、PU３１が所定のサイズのブロック（以下、単位ブロックという）に分割される。そして、各単位ブロックの動きベクトルｖ（ｖx，ｖy）が、動きベクトルｖ0（ｖ0x，ｖ0y）と動きベクトルｖ1（ｖ1x，ｖ1y）に基づいて、以下の式（１）により求められる。
【００２４】
【数１】
2018131515.tif 000003
【００２５】
なお、Ｗは、PU３１のｘ方向のサイズであり、Ｈは、PU３１のｙ方向のサイズである。したがって、PU３１が正方形である場合、ＷとＨは等しい。また、x,yは、それぞれ、単位ブロックのｘ方向、ｙ方向の位置である。式（１）によれば、単位ブロックの位置(x,y)に基づいて、単位ブロックの動きベクトルｖが決定される。
【００２６】
そして、参照画像内の、各単位ブロックから動きベクトルｖだけ離れた単位ブロックと同一のサイズのブロックを、動きベクトルｖに基づいて並進移動することにより、各単位ブロックの予測画像が生成され、その各単位ブロックの予測画像によって、PU３１の予測画像が生成される。
【００２７】
以上のように、４パラメータアフィンＭＣ予測処理では、２つの動きベクトルに基づいて参照画像に対してアフィン変換が行われる。これにより、画面間の並進移動及び回転方向の動きだけでなく、拡大や縮小といった形状の変化を補償した予測画像が生成される。したがって、１つの動きベクトルと回転角に基づいて動き補償を行うインター予測処理に比べて、予測画像の精度が向上する。また、インター予測処理に用いられるパラメータは、ｖ0x，ｖ0y，ｖ1x、及びｖ1yの４つである。このようなインター予測処理は、JEM（Joint Exploration Model）参照ソフトウエアで採用されている。
【００２８】
なお、２つの動きベクトルに基づくアフィン変換は、アフィン変換前後のブロックが矩形であることを前提としたアフィン変換である。アフィン変換前後のブロックが矩形以外の四角形である場合にもアフィン変換を行うためには、３つの動きベクトルが必要である。
【００２９】
（３つの動きベクトルに基づいて動き補償を行うインター予測処理の説明）
図４は、３つの動きベクトルに基づいて動き補償を行うインター予測処理（以下、６パラメータアフィンＭＣ予測処理という）を説明する図である。
【００３０】
図４に示すように、６パラメータアフィンＭＣ予測処理では、予測対象のPU３１に対して、動きベクトルｖ0（ｖ0x，ｖ0y）と動きベクトルｖ1（ｖ1x，ｖ1y）だけでなく、左下の頂点Ｃの動きベクトルｖ2（ｖ2x，ｖ2y）が決定される。
【００３１】
そして、PU３１を含むピクチャとは異なる時刻の参照画像内の、頂点Ａから動きベクトルｖ0だけ離れた点Ａ´を左上の頂点とし、頂点Ｂから動きベクトルｖ1だけ離れた点Ｂ´を右上の頂点とし、頂点Ｃから動きベクトルｖ2だけ離れた点Ｃ´を左下の頂点とするブロック４２を、動きベクトルｖ0ないしｖ2に基づいてアフィン変換することにより動き補償が行われ、PU３１の予測画像が生成される。
【００３２】
即ち、６パラメータアフィンＭＣ予測処理では、３つの動きベクトルに基づいて参照画像に対してアフィン変換が行われる。これにより、ブロック４２が図５のＡに示すように並進移動（Translation）したり、図５のＢに示すようにスキュー（Skew）したり、図５のＣに示すように回転（Rotation）したり、図５のＤに示すように拡大又は縮小（Scaling）したりする。
【００３３】
その結果、画面間の並進移動及び回転方向の動き、並びに、拡大や縮小、及びスキューといった形状の変化を補償した予測画像が生成される。なお、図５では、アフィン変換前のブロック４２を実線で示し、アフィン変換後のブロック４２を点線で示している。
【００３４】
これに対して、図３で説明した４パラメータアフィンＭＣ予測処理では、予測画像に対して、スキューを補償することはできないが、画面間の並進移動及び回転方向の動き、並びに、拡大や縮小といった形状の変化を補償することはできる。したがって、４パラメータアフィンＭＣ予測処理と６パラメータアフィンＭＣ予測処理では、画面間の並進移動のみを補償する２パラメータＭＣ予測処理に比べて、予測画像の精度が向上する。
【００３５】
しかしながら、４パラメータアフィンＭＣ予測処理では、インター予測処理におけるパラメータは、ｖ0x，ｖ0y，ｖ1x、及びｖ1yの４つである。また、６パラメータアフィンＭＣ予測処理では、インター予測処理に用いられるパラメータは、ｖ0x，ｖ0y，ｖ1x，ｖ1y，ｖ2x、及びｖ2yの６つである。したがって、２パラメータＭＣ予測処理に比べて、インター予測処理に用いられるパラメータの数が増加する。よって、インター予測処理の予測精度の向上とオーバーヘッドの抑制とは、トレードオフの関係になる。
【００３６】
なお、JVETでは、制御信号により、４パラメータアフィンＭＣ予測処理と６パラメータアフィンＭＣ予測処理を切り替える技術が提案されている。
【００３７】
（QTBTの説明）
MPEG2（Moving Picture Experts Group 2(ISO/IEC 13818-2)）やAVCなどの旧来の画像符号化方式では、符号化処理は、マクロブロックと呼ばれる処理単位で実行される。マクロブロックは、16x16画素の均一なサイズを有するブロックである。これに対し、HEVCでは、符号化処理は、CUと呼ばれる処理単位（符号化単位）で実行される。CUは、最大符号化単位であるLCU（Largest Coding Unit）を再帰的に分割することにより形成される、可変的なサイズを有するブロックである。選択可能なCUの最大サイズは、64x64画素である。選択可能なCUの最小サイズは、8x8画素である。最小サイズのCUは、SCU（Smallest Coding Unit）と呼ばれる。なお、CUの最大サイズは、64x64画素に限定されず、より大きい128x128画素、256x256画素などのブロックサイズとしてもよい。
【００３８】
このように、可変的なサイズを有するCUが採用される結果、HEVCでは、画像の内容に応じて画質及び符号化効率を適応的に調整することが可能である。予測符号化のための予測処理は、PUと呼ばれる処理単位で実行される。PUは、CUをいくつかの分割パタンのうちの１つで分割することにより形成される。また、PUは、輝度(Y)及び色差(Cb,Cr)毎のPB(Prediction Block)と呼ばれる処理単位から構成される。さらに、直交変換処理は、TU（Transform Unit）と呼ばれる処理単位で実行される。TUは、CU又はPUをある深さまで分割することにより形成される。また、TUは、輝度(Y)及び色差(Cb,Cr)毎のTB(Transform Block)と呼ばれる処理単位（変換ブロック）から構成される。
【００３９】
以下においては、画像（ピクチャ）の部分領域や処理単位として「ブロック」を用いて説明する場合がある（処理部のブロックではない）。この場合の「ブロック」は、ピクチャ内の任意の部分領域を示し、その大きさ、形状、及び特性等は限定されない。つまり、この場合の「ブロック」には、例えば、TB、TU、PB、PU、SCU、CU、LCU（CTB）、サブブロック、マクロブロック、タイル、又はスライス等、任意の部分領域（処理単位）が含まれるものとする。
【００４０】
図６は、JVETにおいて採用されたQTBT (Quad tree plus binary tree)を説明する図である。
【００４１】
HEVCでは、１つのブロックを水平方向及び垂直方向に分割して４（=2x2）個のサブブロックにのみすることができる。これに対して、QTBTでは、１つのブロックを４（=2x2）個のサブブロックだけでなく、水平方向及び垂直方向のいずれか一方にのみ分割して２（=1x2,2x1）個のサブブロックにもすることができる。即ち、QTBTでは、CU（Coding Unit）の形成は、１つのブロックの４個又は２個のサブブロックへの分割を再帰的に繰り返すことにより行われ、結果として四分木（Quad-Tree）状、又は、２分木（Binary-Tree）状のツリー構造が形成される。したがって、CUの形状は、正方形だけでなく、長方形になる可能性がある。なお、以下では、PUとTUは、CUと同一であるものとする。
【００４２】
（各PUで発生する動きの説明）
図７ないし図１０は、画像内の各PUで発生する動きを説明する図である。
【００４３】
図７の例では、画像６１全体において、参照画像との間で並進移動、スケーリング（拡大や縮小）、及び回転方向の動きが発生している。この場合、画像６１内の全てのPUのインター予測処理において、４パラメータアフィンＭＣ予測処理を行い、画面間の並進移動、スケーリング、及び回転方向の動きが補償された予測画像を生成することが望ましい。
【００４４】
これに対して、図８の例では、撮影時の手振れなどにより、画像６２全体において、参照画像との間で並進移動と回転方向の動きが発生している。この場合、画像６２内の全てのPUのインター予測処理において、４パラメータアフィンＭＣ予測処理を行うことにより、画面間の並進移動と回転方向の動きだけでなく、スケーリングも補償する必要はない。
【００４５】
また、図９の例では、撮影時のズームインやズームアウトにより、画像６３全体において、参照画像との間で並進移動とスケーリングが発生している。この場合、画像６３内の全てのPUのインター予測処理において、４パラメータアフィンＭＣ予測処理を行うことにより、画面間の並進移動とスケーリングだけでなく、回転方向の動きも補償する必要はない。
【００４６】
さらに、図１０の例では、画像６４が、参照画像との間で並進移動とスケーリングが発生している領域６４Ａ、並進移動と回転方向の動きが発生している領域６４Ｂ、並進移動、スケーリング、及び回転方向の動きが発生している領域６４Ｃ、及び並進移動のみが発生している領域６４Ｄからなる。
【００４７】
この場合、領域６４Ｃ内のPUのインター予測処理において４パラメータアフィンＭＣ予測処理を行うことが望ましい。しかしながら、領域６４Ａ、領域６４Ｂ、及び領域６４Ｄ内のPUのインター予測処理において、４パラメータアフィンＭＣ予測処理を行って、画面間の並進移動、回転方向の動き、及びスケーリングの全てを補償する必要はない。
【００４８】
以上のように、並進移動、回転方向の動き、及びスケーリングの全てが発生していないPUのインター予測処理では、４パラメータアフィンＭＣ予測処理を行い、画面間の並進移動、回転方向の動き、及びスケーリングの全てを補償する必要はない。したがって、全てのPUのインター予測処理において、４パラメータアフィンＭＣ予測処理を行うことは、無駄にオーバーヘッド（の符号量）を増加させ、符号化効率を悪化させることになる。
【００４９】
そこで、本開示では、動き補償モードとして、２パラメータＭＣ予測処理を行う並進モード、並進回転モード、並進スケーリングモード、及び４パラメータアフィンＭＣ予測処理を行うアフィン変換モードが用意され、各PUのインター予測処理において適切な動き補償モードで動き補償が行われる。なお、並進回転モードとは、１つの動きベクトルｖc（ｖcx，ｖcy）と回転角を示す回転角情報の３つのパラメータに基づいて並進移動と回転を行うことにより、並進移動と回転方向の動きを補償するモードである。並進スケーリングモードとは、１つの動きベクトルｖc（ｖcx，ｖcy）とスケーリング率を示すスケーリング情報の３つのパラメータに基づいて並進移動とスケーリングを行うことにより、並進移動とスケーリングを補償するモードである。
【００５０】
以上により、並進移動と回転方向の動きが発生しているPUのインター予測処理において、並進回転モードの動き補償を行い、並進移動とスケーリングが発生しているPUのインター予測処理において、並進スケーリングモードの動き補償を行うことができる。その結果、これらのPUに対するインター予測処理に用いられるパラメータの数が、４パラメータアフィンＭＣ予測処理に比べて少ない３つになる。したがって、全てのPUに対して４パラメータアフィンＭＣ予測処理が行われる場合に比べて、オーバーヘッドが削減され、符号化効率が向上する。
【００５１】
＜第１実施の形態＞
（画像符号化装置の構成例）
図１１は、本開示を適用した画像処理装置としての画像符号化装置の一実施の形態の構成例を示すブロック図である。図１１の画像符号化装置１００は、AVCやHEVCのように、画像とその予測画像との予測残差を符号化する装置である。例えば、画像符号化装置１００は、HEVCの技術や、JVETにて提案された技術を実装している。
【００５２】
なお、図１１においては、処理部やデータの流れ等の主なものを示しており、図１１に示されるものが全てとは限らない。つまり、画像符号化装置１００において、図１１においてブロックとして示されていない処理部が存在したり、図１１において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【００５３】
図１１の画像符号化装置１００は、制御部１０１、演算部１１１、変換部１１２、量子化部１１３、符号化部１１４、逆量子化部１１５、逆変換部１１６、演算部１１７、フレームメモリ１１８、及び予測部１１９を有する。画像符号化装置１００は、入力されるフレーム単位の動画像であるピクチャに対してCUごとに符号化を行う。
【００５４】
具体的には、画像符号化装置１００の制御部１０１（設定部）は、外部からの入力及びRDO（Rate-Distortion Optimization）等に基づいて、符号化パラメータ（ヘッダ情報Hinfo、予測情報Pinfo、変換情報Tinfo等）を設定する。
【００５５】
ヘッダ情報Hinfoは、例えば、ビデオパラメータセット（VPS（Video Parameter Set））、シーケンスパラメータセット（SPS（Sequence Parameter Set））、ピクチャパラメータセット（PPS（Picture Parameter Set））、スライスヘッダ（SH）等の情報を含む。例えば、ヘッダ情報Hinfoには、画像サイズ（横幅PicWidth、縦幅PicHeight）、ビット深度（輝度bitDepthY, 色差bitDepthC）、CUサイズの最大値MaxCUSize／最小値MinCUSizeなどを規定する情報が含まれる。もちろん、ヘッダ情報Hinfoの内容は任意であり、上述した例以外のどのような情報がこのヘッダ情報Hinfoに含まれるようにしてもよい。
【００５６】
予測情報Pinfoには、例えば、PU（CU）の形成時の各分割階層における水平方向又は垂直方向の分割の有無を示すsplit flagが含まれる。また、予測情報Pinfoには、PUごとに、そのPUの予測処理がイントラ予測処理であるか、又は、インター予測処理であるかを示すモード情報pred_mode_flagが含まれる。
【００５７】
モード情報pred_mode_flagがインター予測処理を示す場合、予測情報Pinfoには、Merge flag、動き補償モード情報、パラメータ情報、参照画像を特定する参照画像特定情報などが含まれる。Merge flagは、インター予測処理のモードが、マージモードであるか、又は、AMVPモードであるかを示す情報である。マージモードとは、処理対象のPUに隣接する符号化済みのPUである隣接PUの動き補償に用いられたパラメータ（動きベクトル、回転角情報、スケーリング情報）に基づいて生成されるパラメータ（以下、隣接パラメータという）を含む候補の中から選択された予測パラメータに基づいてインター予測処理を行うモードである。AMVPモードとは、処理対象のPUのパラメータに基づいてインター予測処理を行うモードである。Merge flagは、マージモードであることを示す場合１であり、AMVPモードであることを示す場合０である。
【００５８】
動き補償モード情報は、動き補償モードが、並進モード、アフィン変換モード、並進回転モード、又は並進スケーリングモードであることを示す情報である。
【００５９】
パラメータ情報は、Merge flagが１である場合、隣接パラメータを含む候補の中からインター予測処理に用いるパラメータを、予測パラメータ（予測ベクトル、予測回転角情報、予測スケーリング情報）として特定する情報である。また、Merge flagが０である場合、予測パラメータを特定する情報、及び、予測パラメータと処理対象のPUのパラメータとの差分である。
【００６０】
モード情報pred_mode_flagがイントラ予測処理を示す場合、予測情報Pinfoには、そのイントラ予測処理のモードであるイントラ予測モードを示すイントラ予測モード情報などが含まれる。もちろん、予測情報Pinfoの内容は任意であり、上述した例以外のどのような情報がこの予測情報Pinfoに含まれるようにしてもよい。
【００６１】
変換情報Tinfoには、TBのサイズを示すTBSizeなどが含まれる。もちろん、変換情報Tinfoの内容は任意であり、上述した例以外のどのような情報がこの変換情報Tinfoに含まれるようにしてもよい。
【００６２】
演算部１１１は、入力されるピクチャを順に符号化対象のピクチャとし、予測情報Pinfoのsplit flagに基づいて、符号化対象のピクチャに対して符号化対象のCU（PU,TU）を設定する。演算部１１１は、符号化対象のPUの画像I（カレントブロック）から、予測部１１９から供給されたPUの予測画像Ｐ（予測ブロック）を減算して予測残差Ｄを求め、それを変換部１１２に供給する。
【００６３】
変換部１１２は、制御部１０１から供給される変換情報Tinfoに基づいて、演算部１１１から供給される予測残差Ｄに対して直交変換等を行い、変換係数Coeffを導出する。変換部１１２は、変換係数Coeffを量子化部１１３に供給する。
【００６４】
量子化部１１３は、制御部１０１から供給される変換情報Tinfoに基づいて、変換部１１２から供給される変換係数Coeffをスケーリング（量子化）し、量子化変換係数レベルlevelを導出する。量子化部１１３は、量子化変換係数レベルlevelを符号化部１１４及び逆量子化部１１５に供給する。
【００６５】
符号化部１１４は、量子化部１１３から供給される量子化変換係数レベルlevel等を所定の方法で符号化する。例えば、符号化部１１４は、シンタックステーブルの定義に沿って、制御部１０１から供給される符号化パラメータ（ヘッダ情報Hinfo、予測情報Pinfo、変換情報Tinfo等）と、量子化部１１３から供給される量子化変換係数レベルlevelを、各シンタックス要素のシンタックス値へ変換する。そして、符号化部１１４は、各シンタックス値を符号化（例えば、CABAC(Context-based Adaptive Binary Arithmetic Coding)などの算術符号化）する。
【００６６】
このとき、符号化部１１４は、隣接PUの動き補償モード情報に基づいてCABACの確率モデルのコンテキストを切り替え、隣接PUの動き補償モード情報の確率が高くなるようにCABACの確率モデルを設定して、PUの動き補償モード情報を符号化する。
【００６７】
即ち、図１０に示したように、参照画像との間で並進移動とスケーリングが発生している領域６４Ａ、並進移動と回転方向の動きが発生している領域６４Ｂ、並進移動、スケーリング、及び回転方向の動きが発生している領域６４Ｃ、及び並進移動のみが発生している領域６４Ｄは、画像６４内にまとまって存在していると推測される。したがって、あるPUと隣接PUの動き補償モード情報は同一である可能性が高い。
【００６８】
例えば、あるPUの隣接PUが領域６４Ａ内に存在し、動き補償モードとして並進スケーリングモードが選択されている場合、そのPUも領域６４Ａ内に存在し、動き補償モードとして並進スケーリングモードが選択される可能性が高い。また、あるPUの隣接PUが領域６４Ｂ内に存在し、動き補償モードとして並進回転モードが選択されている場合、そのPUも領域６４Ｂ内に存在し、動き補償モードとして回転スケーリングモードが選択される可能性が高い。
【００６９】
さらに、あるPUの隣接PUが領域６４Ｃ内に存在し、動き補償モードとしてアフィン変換モードが選択されている場合、そのPUも領域６４Ｃ内に存在し、動き補償モードとしてアフィン変換モードが選択される可能性が高い。また、あるPUの隣接PUが領域６４Ｄ内に存在し、動き補償モードとして並進モードが選択されている場合、そのPUも領域６４Ｄ内に存在し、動き補償モードとして並進モードが選択される可能性が高い。
【００７０】
よって、符号化部１１４は、隣接PUの動き補償モード情報の確率が高くなるように、CABACの確率モデルを設定してPUの動き補償モード情報を符号化する。これにより、オーバーヘッドを削減し、符号化効率を改善することができる。
【００７１】
なお、隣接PUの数が複数である場合、符号化部１１４は、隣接PUの動き補償モード情報ごとの数に基づいてCABACの確率モデルを設定するようにしてもよい。また、符号化部１１４は、動き補償モード情報に基づいて、CABACの確率モデルのコンテキストを切り替えるのではなく、動き補償モード情報に割り当てる符号（ビット列）を切り替えるようにしてもよい。
【００７２】
符号化部１１４は、例えば、符号化の結果得られる各シンタックス要素のビット列である符号化データを多重化し、符号化ストリームとして出力する。
【００７３】
逆量子化部１１５は、制御部１０１から供給される変換情報Tinfoに基づいて、量子化部１１３から供給される量子化変換係数レベルlevelの値をスケーリング（逆量子化）し、逆量子化後の変換係数Coeff_IQを導出する。逆量子化部１１５は、その変換係数Coeff_IQを逆変換部１１６に供給する。この逆量子化部１１５により行われる逆量子化は、量子化部１１３により行われる量子化の逆処理であり、後述する画像復号装置において行われる逆量子化と同様の処理である。
【００７４】
逆変換部１１６は、制御部１０１から供給される変換情報Tinfoに基づいて、逆量子化部１１５から供給される変換係数Coeff_IQに対して逆直交変換等を行い、予測残差Ｄ’を導出する。逆変換部１１６は、その予測残差Ｄ’を演算部１１７に供給する。この逆変換部１１６により行われる逆直交変換は、変換部１１２により行われる直交変換の逆処理であり、後述する画像復号装置において行われる逆直交変換と同様の処理である。
【００７５】
演算部１１７は、逆変換部１１６から供給される予測残差Ｄ’と、予測部１１９より供給される、その予測残差Ｄ’に対応する予測画像Ｐとを加算して局所的な復号画像Recを導出する。演算部１１７は、その局所的な復号画像Recをフレームメモリ１１８に供給する。
【００７６】
フレームメモリ１１８は、演算部１１７より供給される局所的な復号画像Recを用いてピクチャ単位の復号画像を再構築し、フレームメモリ１１８内のバッファへ格納する。フレームメモリ１１８は、予測部１１９により指定される復号画像を参照画像としてバッファより読み出し、予測部１１９に供給する。また、フレームメモリ１１８は、復号画像の生成に係るヘッダ情報Hinfo、予測情報Pinfo、変換情報Tinfoなどを、フレームメモリ１１８内のバッファに格納するようにしても良い。
【００７７】
予測部１１９は、予測情報Pinfoのモード情報pred_mode_flagがイントラ予測処理を示す場合、フレームメモリ１１８に格納された符号化対象のCUと同一時刻の復号画像を参照画像として取得する。そして、予測部１１９は、参照画像を用いて、符号化対象のPUに対して、イントラ予測モード情報が示すイントラ予測モードのイントラ予測処理を行う。
【００７８】
また、予測部１１９は、モード情報pred_mode_flagがインター予測処理を示す場合、参照画像特定情報に基づいて、フレームメモリ１１８に格納された符号化対象のCUとは異なる時刻の復号画像を参照画像として取得する。予測部１１９は、Merge flag、動き補償モード情報、及びパラメータ情報に基づいて、参照画像を用いて、符号化対象のPUのインター予測処理を行う。
【００７９】
具体的には、予測部１１９は、動き補償モード情報が並進モードを示す場合、１つの動きベクトルに基づいて、参照画像に対して並進移動の補償を行うことにより、並進モードのインター予測処理を行う。なお、Merge flagが１である場合、インター予測処理に用いられる１つの動きベクトルは、パラメータ情報により特定される１つの予測ベクトルである。一方、Merge flagが０である場合、インター予測処理に用いられる１つの動きベクトルは、パラメータ情報により特定される１つの予測ベクトルとパラメータ情報に含まれる差分とを加算することにより得られる１つの動きベクトルである。
【００８０】
また、予測部１１９は、動き補償モード情報がアフィン変換モードを示す場合、２つの動きベクトルに基づくアフィン変換を参照画像に対して行うことにより、並進移動、回転方向の動き、及びスケーリングを補償して、アフィン変換モードのインター予測処理を行う。なお、Merge flagが１である場合、インター予測処理に用いられる２つの動きベクトルは、パラメータ情報により特定される２つの予測ベクトルである。一方、Merge flagが０である場合、インター予測処理に用いられる２つの動きベクトルは、パラメータ情報により特定される２つの予測ベクトルと、各予測ベクトルに対応してパラメータ情報に含まれる差分とをそれぞれ加算することにより得られる２つの動きベクトルである。
【００８１】
さらに、予測部１１９は、動き補償モード情報が並進回転モードを示す場合、１つの動きベクトルと回転角情報とに基づいて、参照画像に対して並進移動と回転方向の動きの補償を行うことにより、並進回転モードのインター予測処理を行う。なお、Merge flagが１である場合、インター予測処理に用いられる１つの動きベクトルと回転角情報は、パラメータ情報により特定される予測ベクトルと予測回転角情報である。一方、Merge flagが０である場合、インター予測処理に用いられる１つの動きベクトルは、パラメータ情報により特定される１つの予測ベクトルとパラメータ情報に含まれる差分とを加算することにより得られる１つの動きベクトルである。また、回転角情報は、パラメータ情報により特定される予測回転角情報とパラメータ情報に含まれる差分とを加算することにより得られる１つの回転角情報である。
【００８２】
予測部１１９は、動き補償モード情報が並進スケーリングモードを示す場合、１つの動きベクトルとスケーリング情報とに基づいて、参照画像に対して並進移動とスケーリングの補償を行うことにより、並進スケーリングモードのインター予測処理を行う。なお、Merge flagが１である場合、インター予測処理に用いられる１つの動きベクトルとスケーリング情報は、パラメータ情報により特定される予測ベクトルと予測スケーリング情報である。一方、Merge flagが０である場合、インター予測処理に用いられる１つの動きベクトルは、パラメータ情報により特定される１つの予測ベクトルとパラメータ情報に含まれる差分とを加算することにより得られる１つの動きベクトルである。また、スケーリング情報は、パラメータ情報により特定される予測スケーリング情報とパラメータ情報に含まれる差分とを加算することにより得られる１つのスケーリング情報である。
【００８３】
予測部１１９は、イントラ予測処理又はインター予測処理の結果生成される予測画像Ｐを演算部１１１や演算部１１７に供給する。
【００８４】
（並進モードの説明）
図１２は、並進モードを説明する図である。
【００８５】
図１２に示すように、動き補償モードが並進モードである場合、予測部１１９は、処理対象のＰＵ３１の左上の頂点Ａの動きベクトルｖ0に基づいて、参照画像内の、ＰＵ３１から動きベクトルｖ0だけ離れた点Ａ´を左上の頂点とするＰＵ３１と同一のサイズのブロック１３３を並進移動する。そして、予測部１１９は、並進移動後のブロック１３３をＰＵ３１の予測画像とする。この場合、インター予測処理に用いられるパラメータは、ｖ0xとｖ0yの２つである。
【００８６】
（並進回転モードの説明）
図１３は並進回転モードを説明する図である。
【００８７】
図１３に示すように、動き補償モードが並進回転モードである場合、予測部１１９は、処理対象のＰＵ３１の頂点Ａの動きベクトルｖ0と回転角情報としての回転角θに基づいて、参照画像内の、ＰＵ３１から動きベクトルｖ0だけ離れた点Ａ´を左上の頂点とし、回転角θだけ回転したＰＵ３１と同一のサイズのブロック１３４を並進移動及び回転する。そして、予測部１１９は、並進移動及び回転後のブロック１３４をＰＵ３１の予測画像とする。この場合、インター予測処理に用いられるパラメータは、ｖ0x，ｖ0y、及びθの３つである。
【００８８】
なお、図１３の例では、回転角情報を、回転角θとしたが、図１４に示すように、頂点Ａの動きベクトルｖ0と頂点Ｂの動きベクトルｖ1の垂直方向の差分ｄｖyとしてもよい。即ち、θが小さい場合、Ｗｓｉｎθは差分ｄｖyで近似できるため、回転角θを差分ｄｖyに置き換えてもよい。この場合、動き補償時に三角関数の計算を行う必要がなく、動き補償時の計算量を削減することができる。
【００８９】
（並進スケーリングモードの説明）
図１５は、並進スケーリングモードを説明する図である。
【００９０】
図１５に示すように、動き補償モードが並進スケーリングモードである場合、予測部１１９は、処理対象のＰＵ３１の頂点Ａの動きベクトルｖ0とスケーリング情報としてのスケーリング率Ｓに基づいて、参照画像内の、ＰＵ３１から動きベクトルｖ0だけ離れた点Ａ´を左上の頂点とするＰＵ３１のＳ倍のサイズのブロック１３５を、並進移動及び１／Ｓ倍にスケーリングする。そして、予測部１１９は、並進移動及びスケーリング後のブロック１３５をＰＵ３１の予測画像とする。この場合、インター予測処理に用いられるパラメータは、ｖ0x，ｖ0y、及びＳの３つである。
【００９１】
なお、スケーリング率Ｓとは、ＰＵ３１のサイズＷをＳ1とし、ブロック１３５のｘ方向のサイズをＳ2としたとき、Ｓ2／Ｓ1で表される。サイズＳ1は既知であるため、スケーリング率Ｓを用いて、サイズＳ1からサイズＳ2を求めることができる。
【００９２】
図１５の例では、スケーリング情報を、スケーリング率Ｓとしたが、図１６に示すように、頂点Ａの動きベクトルｖ0と頂点Ｂの動きベクトルｖ1の水平方向の差分ｄｖxであってもよい。即ち、サイズＳ2をＳ1＋ｄｖxで近似するようにしてもよい。この場合、ブロック１３５の横方向のサイズＳ2をサイズＳ1と差分ｄｖxの加算のみで求めることができ、動き補償時の計算量を削減することができる。また、スケーリング率Ｓは、（Ｓ1＋ｄｖx）／Ｓ1になる。
【００９３】
（動き補償モード情報とパラメータ情報の説明）
図１７は、動き補償モード情報とパラメータ情報を説明する図である。
【００９４】
図１７に示すように、動き補償モード情報は、affine_flag,affine3parameter_flag、及びrotate_scale_idxにより構成される。
【００９５】
affine_flag（アフィン変換情報）は、動き補償モードが、通常の並進モード以外のアフィン変換モード、並進スケーリングモード、又は並進回転モードであるかどうかを示す情報である。affine_flagは、動き補償モードが、アフィン変換モード、並進回転モード、又は並進スケーリングモードであることを示す場合１である。一方、affine_flagは、動き補償モードが、アフィン変換モード、並進回転モード、及び並進スケーリングモードではないことを示す場合、即ち動き補償モードが並進モードであることを示す場合、０である。
【００９６】
affine3parameter_flag（並進拡張情報）は、動き補償モードが、並進スケーリングモード又は並進回転モードであるかどうかを示す情報であり、affine_flagが１である場合に設定される。affine3parameter_flagは、動き補償モードが、並進スケーリングモード又は並進回転モードであることを示す場合１である。一方、affine3parameter_flagは、動き補償モードが、並進回転モード及び並進スケーリングモードではないことを示す場合、即ち動き補償モードがアフィン変換モードであることを示す場合、０である。
【００９７】
rotate_scale_idx（並進回転情報）は、動き補償モードが並進回転モードであるかどうかを示す情報であり、affine3parameter_flagが１である場合に設定される。rotate_scale_idxは、動き補償モードが並進回転モードであることを示す場合１であり、動き補償モードが並進回転モードではないことを示す場合、即ち動き補償モードが並進スケーリングモードであることを示す場合０である。
【００９８】
したがって、動き補償モードが並進モードである場合、動き補償モード情報は、affine_flagにより構成され、affine_flagは０である。また、動き補償モードがアフィン変換モードである場合、動き補償モード情報は、affine_flagとaffine3parameter_flagにより構成され、affine_flagは１であり、affine3parameter_flagは０である。
【００９９】
さらに、動き補償モードが並進スケーリングモード又は並進回転モードである場合、動き補償モード情報は、affine_flag，affine3parameter_flag、及びrotate_scale_idxにより構成される。そして、動き補償モードが並進スケーリングモードである場合、affine_flagとaffine3parameter_flagは１であり、rotate_scale_idxは０である。また、動き補償モードが並進回転モードである場合、affine_flag，affine3parameter_flag、及びrotate_scale_idxは１である。
【０１００】
また、インター予測処理のモードがAMVPモードである場合、動き補償モードが並進モードであるとき、処理対象のPUの１つの動きベクトルに対応する予測ベクトルを特定する情報がパラメータ情報のrefidx0として設定され、その１つの動きベクトルと予測ベクトルとの差分がパラメータ情報のmvd0として設定される。
【０１０１】
動き補償モードがアフィン変換モードであるとき、並進モードであるときと同様に、パラメータ情報のrefidx0とmvd0が設定される。また、処理対象のPUのもう１つの動きベクトルに対応する予測ベクトルを特定する情報がパラメータ情報のrefidx1として設定され、その動きベクトルと予測ベクトルとの差分がパラメータ情報のmvd1として設定される。
【０１０２】
動き補償モードが並進スケーリングモードであるとき、並進モードであるときと同様に、パラメータ情報のrefidx0とmvd0が設定される。また、処理対象のPUのスケーリング情報に対応する予測スケーリング情報を特定する情報がパラメータ情報のrefidx1として設定され、そのスケーリング情報と予測スケーリング情報との差分がパラメータ情報のdsとして設定される。
【０１０３】
したがって、スケーリング情報がスケーリング率Ｓを表す場合、dsは、処理対象のPUのスケーリング率Ｓと予測スケーリング情報としてのスケーリング率Ｓとの差分dSである。一方、スケーリング情報が差分ｄｖxを表す場合、dsは、処理対象のPUの差分ｄｖxと予測スケーリング情報としての差分ｄｖxとの差分mvd1.xである。
【０１０４】
動き補償モードが並進回転モードであるとき、並進モードであるときと同様に、パラメータ情報のrefidx0とmvd0が設定される。また、処理対象のPUの角度情報に対応する予測角度情報を特定する情報がrefidx1として設定され、その角度情報と予測角度情報との差分がdrとして設定される。
【０１０５】
したがって、角度情報が回転角θを表す場合、drは、処理対象のPUの回転角θと予測角度情報としての回転角θ´との差分ｄθである。一方、角度情報が差分ｄｖyを表す場合、drは、処理対象のPUの差分ｄｖyと予測角度情報としての差分ｄｖyとの差分mvd1.yである。なお、インター予測処理のモードがマージモードである場合、mvd0，mvd1，ds，dr，refidx0，refidx1は設定されない。
【０１０６】
（予測ベクトルの候補の説明）
図１８は、予測ベクトルの候補となる隣接パラメータに含まれる動きベクトル（以下、隣接ベクトルという）を説明する図である。
【０１０７】
予測部１１９は、図１８の予測対象のPU１５１の左上の頂点Ａの動きベクトルｖ0の予測ベクトルｐｖ0の候補となる隣接ベクトルを、頂点Ａを頂点とするPU１５１の左上の符号化済みのPUであるブロックａ、上側の符号化済みのPUであるブロックｂ、又は左側の符号化済みのPUであるブロックｃの動きベクトルに基づいて生成する。
【０１０８】
また、予測部１１９は、PU１５１の右上の頂点Ｂの動きベクトルｖ1の予測ベクトルｐｖ1の候補となる隣接ベクトルを、頂点Ｂを頂点とするPU１５１の上側の符号化済みのPUであるブロックｄ、又は、右上側の符号化済みのPUであるブロックｅの動きベクトルに基づいて生成する。なお、ブロックａないしｅの動きベクトルは、予測部１１９において保持される、各ブロックに１つの動きベクトルである。
【０１０９】
以上により、予測ベクトルｐｖ0とｐｖ1の候補となる隣接ベクトルの生成に用いられる動きベクトルの組み合わせの候補は、６（＝３×２）通りある。予測部１１９は、この６通りの組み合わせの候補のうち、以下の式（２）により求められるDVが最も小さくなる組み合わせを、予測ベクトルｐｖ0とｐｖ1の候補となる隣接ベクトルの生成に用いられる動きベクトルの組み合わせとして選択する。
【０１１０】
【数２】
2018131515.tif 000004
【０１１１】
なお、ｖ0x´，ｖ0y´は、予測ベクトルｐｖ0の生成に用いられるブロックａないしｃのいずれかのｘ方向、ｙ方向の動きベクトルである。ｖ1x´，ｖ1y´は、予測ベクトルｐｖ1の生成に用いられるブロックｄ及びｅのいずれかのｘ方向、ｙ方向の動きベクトルである。ｖ2x´，ｖ2y´は、PU１５１の頂点Ｃを頂点とするPU１５１の左側の符号化済みのPUであるブロックｆ、及び、左下側の符号化済みのPUであるブロックｇのいずれかのｘ方向、ｙ方向の動きベクトルである。ブロックｆ及びｇの動きベクトルは、予測部１１９において保持される、各ブロックに１つの動きベクトルである。
【０１１２】
式（２）によれば、動きベクトルｖ0´（ｖ0x´，ｖ0y´）ないしｖ2´（ｖ2x´，ｖ2y´）に基づくアフィン変換により、２つの動きベクトルに基づくアフィン変換では不可能なスキュー以外が行われる場合、DVが小さくなる。
【０１１３】
（画像処理装置の処理の説明）
図１９は、図１１の画像符号化装置１００の画像符号化処理を説明するフローチャートである。
【０１１４】
図１９のステップＳ１１において、制御部１０１は、外部からの入力及びRDO等に基づいて、符号化パラメータ（ヘッダ情報Hinfo、予測情報Pinfo、変換情報Tinfo等）を設定する。制御部１０１は、設定された符号化パラメータを各ブロックへ供給する。
【０１１５】
ステップＳ１２において、予測部１１９は、予測情報Pinfoのモード情報pred_mode_flagが、インター予測処理を示すかどうかを判定する。ステップＳ１２で、予測情報Pinfoのモード情報pred_mode_flagが、インター予測処理を示すと判定された場合、ステップＳ１３において、予測部１１９は、予測情報PinfoのMerge flagが１であるかどうかを判定する。
【０１１６】
ステップＳ１３でMerge flagが１であると判定された場合、ステップＳ１４において、予測部１１９は、マージモードのインター予測処理により生成された予測画像Ｐを用いて符号化対象の画像を符号化するマージモード符号化処理を行う。このマージモード符号化処理の詳細は、後述する図２１を参照して説明する。マージモード符号化処理の終了後、画像符号化処理は終了する。
【０１１７】
一方、ステップＳ１３でMerge flagが１ではないと判定された場合、ステップＳ１５において、予測部１１９は、AMVPモードのインター予測処理により生成された予測画像Ｐを用いて符号化対象の画像を符号化するAMVPモード符号化処理を行う。このAMVPモード符号化処理の詳細は、後述する図２２を参照して説明する。AMVPモード符号化処理の終了後、画像符号化処理は終了する。
【０１１８】
また、ステップＳ１２で、予測情報Pinfoのモード情報pred_mode_flagが、インター予測処理を示さないと判定された場合、即ちモード情報pred_mode_flagがイントラ予測処理を示す場合、処理はステップＳ１６に進む。
【０１１９】
ステップＳ１６において、予測部１１９は、イントラ予測処理により生成された予測画像Ｐを用いて符号化対象の画像Ｉを符号化するイントラ符号化処理を行う。そして、画像符号化処理は終了する。
【０１２０】
図２０は、図１９のステップＳ１１の処理のうちの、Merge flagと動き補償モード情報を設定するインター予測処理モード設定処理を説明するフローチャートである。このインター予測処理モード設定処理は、例えば、PU（CU）単位で行われる。
【０１２１】
図２０のステップＳ４１において、制御部１０１は、ステップＳ４１でまだ動き補償モードとして設定されていない並進モード、アフィン変換モード、並進スケーリングモード、又は並進回転モードを動き補償モードとして設定する。
【０１２２】
具体的には、まだ並進モードが動き補償モードとして設定されていない場合、制御部１０１は、affine_flagを０に設定する。まだアフィン変換モードが動き補償モードとして設定されていない場合、制御部１０１は、affine_flagを１に設定し、affine3parameter_flagを０に設定する。まだ並進スケーリングモードが動き補償モードとして設定されていない場合、制御部１０１は、affine_flagとaffine3parameter_flagを１に設定し、rotate_scale_idxを０に設定する。まだ並進回転モードが動き補償モードとして設定されていない場合、制御部１０１は、affine_flag，affine3parameter_flag、及びrotate_scale_idxを１に設定する。
【０１２３】
ステップＳ４２において、制御部１０１は、各ブロックを制御して、処理対象のPU（CU）に対して、候補となるMerge flag及び動き補償モード情報以外の予測情報Pinfoごとにマージモード符号化処理を行い、ＲＤコストを計算する。なお、ＲＤコストの計算は、符号化の結果得られる発生ビット量（符号量）、復号画像のSSE（Error Sum of Squares）などに基づいて行われる。
【０１２４】
ステップＳ４３において、制御部１０１は、各ブロックを制御して、処理対象のPU（CU）に対して候補となるMerge flag及び動き補償モード情報以外の予測情報PinfoごとにAMVPモード符号化処理を行い、ＲＤコストを計算する。
【０１２５】
ステップＳ４４において、制御部１０１は、ステップＳ４１で並進モード、アフィン変換モード、並進スケーリングモード、及び並進回転モードを全て動き補償モードに設定したかどうかを判定する。
【０１２６】
ステップＳ４４でまだ並進モード、アフィン変換モード、並進スケーリングモード、及び並進回転モードの全てを動き補償モードに設定していないと判定された場合、処理はステップＳ４１に戻り、全てを動き補償モードに設定するまで、ステップＳ４１ないしＳ４４の処理が行われる。
【０１２７】
一方、ステップＳ４４で並進モード、アフィン変換モード、並進スケーリングモード、及び並進回転モードの全てを動き補償モードに設定したと判定された場合、処理はステップＳ４５に進む。
【０１２８】
ステップＳ４５において、制御部１０１は、ステップＳ４２及びＳ４３で計算されたＲＤコストの中で、マージモード符号化処理により得られたＲＤコストＪMRG，ＪMRGAFFINE，ＪMRGSCALE、又はＪMRGROTATEが最小であるかどうかを判定する。ＲＤコストＪMRG，ＪMRGAFFINE，ＪMRGSCALE，ＪMRGROTATEは、それぞれ、動き補償モードが並進モード、アフィン変換モード、並進スケーリングモード、並進回転モードである場合のマージモード符号化処理により得られたＲＤコストである。
【０１２９】
ステップＳ４５でＲＤコストＪMRG，ＪMRGAFFINE，ＪMRGSCALE、又はＪMRGROTATEが最小であると判定された場合、ステップＳ４６において、制御部１０１は、処理対象のPUのMerge flagを１に設定し、処理はステップＳ４８に進む。
【０１３０】
一方、ステップＳ４５でＲＤコストＪMRG，ＪMRGAFFINE，ＪMRGSCALE、又はＪMRGROTATEが最小ではないと判定された場合、ステップＳ４７において、制御部１０１は、処理対象のPUのMerge flagを０に設定し、処理はステップＳ４８に進む。
【０１３１】
ステップＳ４８において、制御部１０１は、ステップＳ４２及びＳ４３で計算されたＲＤコストの中で、ＲＤコストＪMRG、又は、動き補償モードが並進モードである場合のAMVPモード符号化処理により得られたＲＤコストＪAMVPが最小であるかどうかを判定する。
【０１３２】
ステップＳ４８でＲＤコストＪMRG又はＲＤコストＪAMVPが最小であると判定された場合、ステップＳ４９において、制御部１０１は、処理対象のPUのaffine_flagを０に設定し、インター予測処理モード設定処理を終了する。
【０１３３】
一方、ステップＳ４８でＲＤコストＪMRG又はＲＤコストＪAMVPが最小ではないと判定された場合、処理はステップＳ５０に進む。ステップＳ５０において、制御部１０１は、処理対象のPUのaffine_flagを１に設定する。
【０１３４】
ステップＳ５１において、制御部１０１は、ステップＳ４２及びＳ４３で計算されたＲＤコストの中で、ＲＤコストＪMRGAFFINE、又は、動き補償モードがアフィン変換モードである場合のAMVPモード符号化処理により得られたＲＤコストＪAMVPAFFINEが最小であるかどうかを判定する。
【０１３５】
ステップＳ５１でＲＤコストＪMRGAFFINE又はＲＤコストＪAMVPAFFINEが最小であると判定された場合、処理はステップＳ５２に進む。ステップＳ５２において、制御部１０１は、処理対象のPUのaffine3parameter_flagを０に設定し、インター予測処理モード設定処理を終了する。
【０１３６】
一方、ステップＳ５１でＲＤコストＪMRGAFFINE又はＲＤコストＪAMVPAFFINEが最小ではないと判定された場合、処理はステップＳ５３に進む。ステップＳ５３において、制御部１０１は、ステップＳ４２及びＳ４３で計算されたＲＤコストの中で、ＲＤコストＪMRGSCALE又はＲＤコストＪAMVPSCALEが最小であるかどうかを判定する。
【０１３７】
ステップＳ５３で、ＲＤコストＪMRGSCALE又はＲＤコストＪAMVPSCALEが最小であると判定された場合、処理はステップＳ５４に進む。ステップＳ５４において、制御部１０１は、処理対象のPUのaffine3parameter_flagを１に設定し、rotate_scale_idxを０に設定する。そして、インター予測処理モード設定処理は終了する。
【０１３８】
一方、ステップＳ５３でＲＤコストＪMRGSCALE又はＲＤコストＪAMVPSCALEが最小ではないと判定された場合、即ち、ＲＤコストＪMRGROTATE又はＲＤコストＪAMVPROTATEが最小である場合、処理はステップＳ５５に進む。ステップＳ５５において、制御部１０１は、処理対象のPUのaffine3parameter_flagとrotate_scale_idxを１に設定する。そして、インター予測処理モード設定処理は終了する。
【０１３９】
なお、図２０のインター予測処理モード設定処理では、ステップＳ４１で、並進モード、アフィン変換モード、並進スケーリングモード、及び並進回転モードの全てが動き補償モードとして設定されたが、ステップＳ４１で設定される動き補償モードは、隣接PUの動き補償モードに基づいて限定されてもよい。
【０１４０】
即ち、図１０に示したように、並進移動とスケーリングが発生しているPUの領域６４Ａ、並進移動と回転方向の動きが発生しているPUの領域６４Ｂ、並進移動、スケーリング、及び回転方向の動きが発生しているPUの領域６４Ｃ、及び並進移動のみが発生している領域６４Ｄは、画像６４内でまとまっていると推測される。したがって、予測対象のPUと隣接PUの動き補償モードは同一である可能性が高い。よって、予測部１１９は、例えば、隣接PUの動き補償モードが並進スケーリングモードである場合、ステップＳ４１において並進モードと並進スケーリングモードのみを設定するようにしてもよい。これにより、図２０のインター予測処理モード設定処理に比べて、画像符号化処理における計算量を削減することができる。
【０１４１】
図２１は、マージモード符号化処理を説明するフローチャートである。このマージモード符号化処理は、例えば、CU（PU）単位で行われる。
【０１４２】
図２１のステップＳ１０１において、予測部１１９は、affine_flagが１であるかどうかを判定する。ステップＳ１０１でaffine_flagが１ではないと判定された場合、即ちaffine_flagが０である場合、処理はステップＳ１０２に進む。
【０１４３】
ステップＳ１０２において、予測部１１９は、パラメータ情報に基づいて、予測ベクトルｐｖ0を決定する。具体的には、予測部１１９は、パラメータ情報が予測ベクトルとして隣接ベクトルを特定する情報である場合、保持しているブロックａないしｇの動きベクトルに基づいて、DVが最も小さくなるブロックａないしｃのいずれかの動きベクトルから生成された隣接ベクトルを、予測ベクトルｐｖ0に決定する。
【０１４４】
ステップＳ１０３において、予測部１１９は、ステップＳ１０２で決定された予測ベクトルｐｖ0を、処理対象のPUの動きベクトルｖ0として用いて、フレームメモリ１１８に格納された参照画像特定情報により特定される参照画像に対して並進モードで動き補償を行う。予測部１１９は、動き補償が行われた参照画像を予測画像Ｐとして、演算部１１１や演算部１１７に供給する。そして、処理はステップＳ１１３に進む。
【０１４５】
一方、ステップＳ１０１でaffine_flagが１であると判定された場合、処理はステップＳ１０４に進む。
【０１４６】
ステップＳ１０４において、予測部１１９は、affine3parameter_flagが１であるかどうかを判定する。ステップＳ１０４でaffine3parameter_flagが１ではないと判定された場合、即ちaffine3parameter_flagが０である場合、処理はステップＳ１０５に進む。
【０１４７】
ステップＳ１０５において、予測部１１９は、パラメータ情報に基づいて、２つの予測ベクトルｐｖ0及び予測ベクトルｐｖ1を決定する。
【０１４８】
具体的には、予測部１１９は、パラメータ情報が予測ベクトルとして隣接ベクトルを特定する情報である場合、保持しているブロックａないしｇの動きベクトルに基づいて、DVが最も小さくなるブロックａないしcのいずれかとブロックｄ及びｅのいずれかの動きベクトルの組み合わせを選択する。そして、予測部１１９は、選択されたブロックａないしcのいずれかの動きベクトルを用いて生成された隣接ベクトルを、予測ベクトルｐｖ0に決定する。また、予測部１１９は、選択されたブロックｄ又はｅの動きベクトルを用いて生成された隣接ベクトルを、予測ベクトルｐｖ1に決定する。
【０１４９】
ステップＳ１０６において、予測部１１９は、ステップＳ１０５で決定された各予測ベクトルを処理対象のPUの動きベクトルｖ0，ｖ1として用いて、上述した式（１）により、各単位ブロックの動きベクトルｖを計算する。
【０１５０】
ステップＳ１０７において、予測部１１９は、単位ブロックごとに、動きベクトルｖに基づいて、参照画像特定情報により特定される参照画像のブロックを並進移動させることにより、参照画像に対してアフィン変換モードで動き補償を行う。予測部１１９は、動き補償が行われた参照画像を予測画像Ｐとして、演算部１１１や演算部１１７に供給する。そして、処理はステップＳ１１３に進む。
【０１５１】
一方、ステップＳ１０４でaffine3parameter_flagが１であると判定された場合、処理はステップＳ１０８に進む。ステップＳ１０８において、予測部１１９は、rotate_scale_idxが１であるかどうかを判定する。
【０１５２】
ステップＳ１０８でrotate_scale_idxが１であると判定された場合、処理はステップＳ１０９に進む。
【０１５３】
ステップＳ１０９において、予測部１１９は、パラメータ情報に基づいて、ステップＳ１０２の処理と同様に１つの予測ベクトルｐｖ0を決定するとともに、予測角度情報を決定する。
【０１５４】
ステップＳ１１０において、ステップＳ１０９で決定された予測ベクトル及び予測角度情報を、処理対象のPUの動きベクトルｖ0及び角度情報として用いて、参照画像に対して並進回転モードで動き補償を行う。予測部１１９は、動き補償が行われた参照画像を予測画像Ｐとして、演算部１１１や演算部１１７に供給する。そして、処理はステップＳ１１３に進む。
【０１５５】
一方、ステップＳ１０８でrotate_scale_idxが１ではないと判定された場合、即ち、rotate_scale_idxが０である場合、処理はステップＳ１１１に進む。
【０１５６】
ステップＳ１１１において、予測部１１９は、パラメータ情報に基づいて、ステップＳ１０２の処理と同様に１つの予測ベクトルｐｖ0を決定するとともに、予測スケーリング情報を決定する。
【０１５７】
ステップＳ１１２において、ステップＳ１１１で決定された予測ベクトル及び予測スケーリング情報を、処理対象のPUの動きベクトルｖ0及びスケーリング情報として用いて、参照画像に対して並進スケーリングモードで動き補償を行う。予測部１１９は、動き補償が行われた参照画像を予測画像Ｐとして、演算部１１１や演算部１１７に供給する。そして、処理はステップＳ１１３に進む。
【０１５８】
ステップＳ１１３において、演算部１１１は、画像Iと予測画像Ｐとの差分を予測残差Ｄとして演算し、それを変換部１１２に供給する。このようにして求められた予測残差Ｄは、元の画像Ｉに比べてデータ量が低減される。したがって、画像Ｉをそのまま符号化する場合に比べて、データ量を圧縮することができる。
【０１５９】
ステップＳ１１４において、変換部１１２は、制御部１０１から供給される変換情報Tinfoに基づいて、演算部１１１から供給される予測残差Ｄに対して直交変換等を行い、変換係数Coeffを導出する。変換部１１２は、変換係数Coeffを量子化部１１３に供給する。
【０１６０】
ステップＳ１１５において、量子化部１１３は、制御部１０１から供給される変換情報Tinfoに基づいて、変換部１１２から供給される変換係数Coeffをスケーリング（量子化）し、量子化変換係数レベルlevelを導出する。量子化部１１３は、量子化変換係数レベルlevelを符号化部１１４及び逆量子化部１１５に供給する。
【０１６１】
ステップＳ１１６において、逆量子化部１１５は、制御部１０１から供給される変換情報Tinfoに基づいて、量子化部１１３から供給される量子化変換係数レベルlevelを、ステップＳ１１５の量子化の特性に対応する特性で逆量子化する。逆量子化部１１５は、その結果得られる変換係数Coeff_IQを逆変換部１１６に供給する。
【０１６２】
ステップＳ１１７において、逆変換部１１６は、制御部１０１から供給される変換情報Tinfoに基づいて、逆量子化部１１５から供給される変換係数Coeff_IQに対して、ステップＳ１１４の直交変換等に対応する方法で逆直交変換等を行い、予測残差Ｄ’を導出する。
【０１６３】
ステップＳ１１８において、演算部１１７は、ステップＳ１１７の処理により導出された予測残差Ｄ’を、予測部１１９から供給される予測画像Ｐと加算することにより、局所的な復号画像Recを生成する。
【０１６４】
ステップＳ１１９において、フレームメモリ１１８は、ステップＳ１１８の処理により得られた、局所的な復号画像Recを用いてピクチャ単位の復号画像を再構築し、フレームメモリ１１８内のバッファへ記憶する。
【０１６５】
ステップＳ１２０において、符号化部１１４は、図１９のステップＳ１１の処理により設定された符号化パラメータとステップＳ１１５の処理により得られた量子化変換係数レベルlevelを所定の方法で符号化する。符号化部１１４は、その結果得られる符号化データを多重化し、符号化ストリームとして画像符号化装置１００の外部に出力する。この符号化ストリームは、例えば、伝送路や記録媒体を介して復号側に伝送される。
【０１６６】
ステップＳ１２０の処理が終了すると、マージモード符号化処理が終了する。
【０１６７】
図２２は、AMVPモード符号化処理を説明するフローチャートである。このAMVPモード符号化処理は、例えば、CU（PU）単位で行われる。
【０１６８】
図２２のステップＳ１３１及びＳ１３２は、図２１のステップＳ１０１ないしＳ１０２の処理と同様であるので、説明は省略する。
【０１６９】
ステップＳ１３２の処理後、処理はステップＳ１３３に進む。ステップＳ１３３において、予測部１１９は、ステップＳ１３２で決定された１つの予測ベクトルｐｖ0と、パラメータ情報のうちの予測ベクトルｐｖ0と処理対象のPUの動きベクトルｖ0との差分ｄｖ0とを加算し、処理対象のPUの動きベクトルｖ0を計算する。
【０１７０】
ステップＳ１３４において、予測部１１９は、ステップＳ１３３で計算された動きベクトルｖ0を用いて、フレームメモリ１１８に格納された参照画像特定情報により特定される参照画像に対して並進モードで動き補償を行う。予測部１１９は、動き補償が行われた参照画像を予測画像Ｐとして、演算部１１１や演算部１１７に供給する。そして、処理はステップＳ１４７に進む。
【０１７１】
一方、ステップＳ１３１でaffine_flagが１であると判定された場合、処理はステップＳ１３５に進む。ステップＳ１３５及びＳ１３６の処理は、図２１のステップＳ１０４及びＳ１０５の処理と同様であるので、説明は省略する。
【０１７２】
ステップＳ１３６の処理後、処理はステップＳ１３７に進む。ステップＳ１３７において、予測部１１９は、ステップＳ１３６で決定された２つの予測ベクトルのそれぞれと、その予測ベクトルに対応するパラメータ情報のうちの差分とを加算し、処理対象のPUの２つの動きベクトルを計算する。
【０１７３】
具体的には、予測部１１９は、予測ベクトルｐｖ0と、パラメータ情報のうちの予測ベクトルｐｖ0と処理対象のPUの動きベクトルｖ0との差分ｄｖ0とを加算し、処理対象のPUの動きベクトルｖ0を計算する。また、予測部１１９は、予測ベクトルｐｖ1と、パラメータ情報のうちの予測ベクトルｐｖ1と処理対象のPUの動きベクトルｖ1との差分ｄｖ1とを加算し、処理対象のPUの動きベクトルｖ1を計算する。
【０１７４】
ステップＳ１３８において、予測部１１９は、ステップＳ１３７で計算された２つの動きベクトルｖ0及びｖ1を用いて、上述した式（１）により、各単位ブロックの動きベクトルｖを計算する。そして、処理はＳ１３９に進む。
【０１７５】
一方、ステップＳ１３５でaffine3parameter_flagが１であると判定された場合、処理はステップＳ１４０に進む。ステップＳ１３９ないしＳ１４１の処理は、図２１のステップＳ１０７ないしＳ１０９の処理と同様であるので、説明は省略する。
【０１７６】
ステップＳ１４１の処理後、処理はステップＳ１４２に進む。ステップＳ１４２において、予測部１１９は、ステップＳ１３３の処理と同様に１つの動きベクトルｖ0を計算する。また、予測部１１９は、ステップＳ１４１で決定された予測角度情報と、パラメータ情報のうちの予測角度情報と処理対象のPUの角度情報との差分とを加算することにより、処理対象のPUの角度情報を計算する。
【０１７７】
ステップＳ１４３において、予測部１１９は、ステップＳ１４２で計算された１つの動きベクトル及び角度情報を用いて、参照画像に対して並進回転モードで動き補償を行う。予測部１１９は、動き補償が行われた参照画像を予測画像Ｐとして、演算部１１１や演算部１１７に供給し、処理をステップＳ１４７に進める。
【０１７８】
一方、ステップＳ１４０でrotate_scale_idxが１ではないと判定された場合、即ち、rotate_scale_idxが０である場合、処理はステップＳ１４４に進む。
【０１７９】
ステップＳ１４４において、予測部１１９は、図２１のステップＳ１１１の処理と同様に１つの予測ベクトルと予測スケーリング情報を決定する。
【０１８０】
ステップＳ１４５において、予測部１１９は、ステップＳ１３３の処理と同様に１つの動きベクトルｖ0を計算する。また、予測部１１９は、ステップＳ１４４で決定された予測スケーリング情報と、パラメータ情報のうちの予測スケーリング情報と処理対象のPUのスケーリング情報との差分とを加算することにより、処理対象のPUのスケーリング情報を計算する。
【０１８１】
ステップＳ１４６において、予測部１１９は、ステップＳ１４５で決定された動きベクトルｖ0及びスケーリング情報を用いて、参照画像に対して並進スケーリングモードで動き補償を行う。予測部１１９は、動き補償が行われた参照画像を予測画像Ｐとして、演算部１１１や演算部１１７に供給し、処理をステップＳ１４７に進める。
【０１８２】
ステップＳ１４７ないしＳ１５４の処理は、図２１のステップＳ１１３ないしＳ１２０の処理と同様であるので、説明は省略する。
【０１８３】
以上のように、画像符号化装置１００は、並進モード、アフィン変換モード、並進回転モード、及び並進スケーリングモードのうちのいずれかを動き補償モードとして選択し、選択された動き補償モードで動き補償を行う。
【０１８４】
したがって、常にアフィン変換モードで動き補償が行われる場合に比べて、並進移動、回転方向の動き、及びスケーリングの少なくとも１つが発生していないPUの動き補償に用いられるパラメータ数を削減することができる。その結果、AMVPモードのインター予測処理時のオーバーヘッドを削減し、符号化効率を向上させることができる。
【０１８５】
また、インター予測処理において、並進移動、回転方向の動き、及びスケーリングの補償のうちの必要な補償のみを行うことができるので、予測画像の画質を向上させることができる。
【０１８６】
（画像復号装置の構成例）
図２３は、図１１の画像符号化装置１００により生成された符号化ストリームを復号する、本技術を適用した画像処理装置としての画像復号装置の一実施の形態の構成例を示すブロック図である。図２３の画像復号装置２００は、画像符号化装置１００により生成された符号化ストリームを、画像符号化装置１００における符号化方法に対応する復号方法で復号する。例えば、画像復号装置２００は、HEVCに提案された技術や、JVETにて提案された技術を実装している。
【０１８７】
なお、図２３においては、処理部やデータの流れ等の主なものを示しており、図２３に示されるものが全てとは限らない。つまり、画像復号装置２００において、図２３においてブロックとして示されていない処理部が存在したり、図２３において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【０１８８】
図２３の画像復号装置２００は、復号部２１１、逆量子化部２１２、逆変換部２１３、演算部２１４、フレームメモリ２１５、及び予測部２１６を有する。画像復号装置２００は、画像符号化装置１００により生成された符号化ストリームに対してCUごとに復号を行う。
【０１８９】
具体的には、画像復号装置２００の復号部２１１は、画像符号化装置１００により生成された符号化ストリームを、符号化部１１４における符号化方法に対応する所定の復号方法で復号する。例えば、復号部２１１は、シンタックステーブルの定義に沿って、符号化ストリームのビット列から、符号化パラメータ（ヘッダ情報Hinfo、予測情報Pinfo、変換情報Tinfo等）と量子化変換係数レベルlevelを復号する。復号部２１１は、符号化パラメータに含まれるsplit flagに基づいてLCUを分割し、各量子化変換係数レベルlevelに対応するCUを順に復号対象のCU（PU,TU）に設定する。
【０１９０】
復号部２１１は、符号化パラメータを各ブロックへ供給する。例えば、復号部２１１は、予測情報Pinfoを予測部２１６に供給し、変換情報Tinfoを逆量子化部２１２と逆変換部２１３に供給し、ヘッダ情報Hinfoを各ブロックに供給する。また、復号部２１１は、量子化変換係数レベルlevelを逆量子化部２１２に供給する。
【０１９１】
逆量子化部２１２は、復号部２１１から供給される変換情報Tinfoに基づいて、復号部２１１から供給される量子化変換係数レベルlevelの値をスケーリング（逆量子化）し、変換係数Coeff_IQを導出する。この逆量子化は、画像符号化装置１００の量子化部１１３（図１１）により行われる量子化の逆処理である。なお、逆量子化部１１５（図１１）は、この逆量子化部２１２と同様の逆量子化を行う。逆量子化部２１２は、得られた変換係数Coeff_IQを逆変換部２１３に供給する。
【０１９２】
逆変換部２１３は、復号部２１１から供給される変換情報Tinfo等に基づいて、逆量子化部２１２より供給される変換係数Coeff_IQに対して逆直交変換等を行い、予測残差Ｄ’を導出する。この逆直交変換は、画像符号化装置１００の変換部１１２（図１１）により行われる直交変換の逆処理である。なお、逆変換部１１６は、この逆変換部２１３と同様の逆直交変換を行う。逆変換部２１３は、得られた予測残差Ｄ’を演算部２１４に供給する。
【０１９３】
演算部２１４は、逆変換部２１３から供給される予測残差Ｄ’とその予測残差Ｄ’に対応する予測画像Ｐとを加算し、局所的な復号画像Recを導出する。演算部２１４は、得られた局所的な復号画像Recを用いてピクチャ単位毎の復号画像を再構築し、得られた復号画像を画像復号装置２００の外部に出力する。また、演算部２１４は、その局所的な復号画像Recをフレームメモリ２１５にも供給する。
【０１９４】
フレームメモリ２１５は、演算部２１４より供給される局所的な復号画像Recを用いてピクチャ単位毎の復号画像を再構築し、フレームメモリ２１５内のバッファに格納する。フレームメモリ２１５は、予測部２１６により指定される復号画像を参照画像としてバッファより読み出し、予測部２１６に供給する。また、フレームメモリ２１５は、その復号画像の生成に係るヘッダ情報Hinfo、予測情報Pinfo、変換情報Tinfoなどをフレームメモリ２１５内のバッファに格納するようにしても良い。
【０１９５】
予測部２１６は、予測情報Pinfoのモード情報pred_mode_flagがイントラ予測処理を示す場合、フレームメモリ２１５に格納された復号対象のCUと同一時刻の復号画像を参照画像として取得する。そして、予測部２１６は、参照画像を用いて、復号対象のPUに対して、イントラ予測モード情報が示すイントラ予測モードのイントラ予測処理を行う。
【０１９６】
また、予測部２１６は、モード情報pred_mode_flagがインター予測処理を示す場合、参照画像特定情報に基づいて、フレームメモリ２１５に格納された復号対象のCUとは異なる時刻の復号画像を参照画像として取得する。予測部２１６は、図１１の予測部１１９と同様に、Merge flag、動き補償モード情報、及びパラメータ情報に基づいて、参照画像を用いて、復号対象のPUのインター予測処理を行う。予測部２１６は、イントラ予測処理又はインター予測処理の結果生成される予測画像Ｐを演算部２１４に供給する。
【０１９７】
（画像復号装置の処理）
図２４は、図２３の画像復号装置２００の画像復号処理を説明するフローチャートである。
【０１９８】
ステップＳ２０１において、復号部２１１は、画像復号装置２００に供給される符号化ストリームを復号し、符号化パラメータと量子化変換係数レベルlevelを得る。復号部２１１は、符号化パラメータを各ブロックへ供給する。また、復号部２１１は、量子化変換係数レベルlevelを逆量子化部２１２に供給する。
【０１９９】
ステップＳ２０２において、復号部２１１は、符号化パラメータに含まれるsplit flagに基づいてLCUを分割し、各量子化変換係数レベルlevelに対応するCUを復号対象のCU（PU,TU）に設定する。後述するステップＳ２０３ないしＳ２０７の処理は、復号対象のCU（PU,TU）ごとに行われる。
【０２００】
ステップＳ２０３及びＳ２０４の処理は、予測部１１９ではなく予測部２１６により行われる点を除いて、ステップＳ１２及びＳ１３の処理と同様であるので、説明は省略する。
【０２０１】
ステップＳ２０５において、予測部２１６は、マージモードのインター予測処理により生成された予測画像Ｐを用いて復号対象の画像を復号するマージモード復号処理を行う。このマージモード復号処理の詳細は、後述する図２６を参照して説明する。マージモード復号処理の終了後、画像復号処理は終了する。
【０２０２】
また、ステップＳ２０４でMerge flagが１ではないと判定された場合、ステップＳ２０６において、予測部２１６は、AMVPモードのインター予測処理により生成された予測画像Ｐを用いて復号対象の画像を復号するAMVPモード復号処理を行う。このAMVPモード復号処理の詳細は、後述する図２７を参照して説明する。AMVPモード復号処理の終了後、画像復号処理は終了する。
【０２０３】
一方、ステップＳ２０３でインター予測処理を示さないと判定された場合、即ちモード情報pred_mode_flagがイントラ予測処理を示す場合、処理はステップＳ２０７に進む。
【０２０４】
ステップＳ２０７において、予測部２１６は、イントラ予測処理により生成された予測画像Ｐを用いて復号対象の画像を復号するイントラ復号処理を行い、画像復号処理を終了する。
【０２０５】
図２５は、図２４のステップＳ２０１のうちの、動き補償モード情報を復号する動き補償モード情報復号処理を説明するフローチャートである。
【０２０６】
図２５のステップＳ２１１において、復号部２１１は、予測情報Pinfoのaffine_flagを復号する。ステップＳ２１２において、復号部２１１は、ステップＳ２１１で復号されたaffine_flagが１であるかどうかを判定する。ステップＳ２１２でaffine_flagが１であると判定された場合、処理はステップＳ２１３に進む。
【０２０７】
ステップＳ２１３において、復号部２１１は、affine3parameter_flagを復号する。ステップＳ２１４において、ステップＳ２１３で復号されたaffine3parameter_flagが１であるかどうかを判定する。ステップＳ２１４でaffine3parameter_flagが１であると判定された場合、処理はステップＳ２１５に進む。
【０２０８】
ステップＳ２１５において、復号部２１１は、rotate_scale_idxを復号し、動き補償モード情報復号処理を終了する。
【０２０９】
一方、ステップＳ２１２でaffine_flagが１ではないと判定された場合、又は、ステップＳ２１４でaffine3parameter_flagが１ではないと判定された場合、動き補償モード情報復号処理を終了する。
【０２１０】
図２６は、図２４のステップＳ２０５のマージモード復号処理を説明するフローチャートである。
【０２１１】
ステップＳ２３１において、逆量子化部２１２は、図２４のステップＳ２０１の処理により得られた量子化変換係数レベルlevelを逆量子化して変換係数Coeff_IQを導出する。この逆量子化は、画像符号化処理のステップＳ１１５（図２１）において行われる量子化の逆処理であり、画像符号化処理のステップＳ１１６（図２１）において行われる逆量子化と同様の処理である。
【０２１２】
ステップＳ２３２において、逆変換部２１３は、ステップＳ２３１の処理により得られた変換係数Coeff_IQに対して逆直交変換等を行い、予測残差Ｄ'を導出する。この逆直交変換は、画像符号化処理のステップＳ１１４（図２１）において行われる直交変換の逆処理であり、画像符号化処理のステップＳ１１７（図２１）において行われる逆直交変換と同様の処理である。
【０２１３】
ステップＳ２３３ないしＳ２４４の処理は、予測部１１９ではなく予測部２１６により行われる点を除いて、図２１のステップＳ１０１ないしＳ１１２の処理と同様であるので、説明は省略する。
【０２１４】
ステップＳ２４５において、演算部２１４は、ステップＳ２３２で導出された予測残差Ｄ’を、予測部２１６から供給される予測画像Ｐと加算し、局所的な復号画像Recを導出する。演算部２１４は、得られた局所的な復号画像Recを用いてピクチャ単位毎の復号画像を再構築し、得られた復号画像を画像復号装置２００の外部に出力する。また、演算部２１４は、その局所的な復号画像Recをフレームメモリ２１５に供給する。
【０２１５】
ステップＳ２４６において、フレームメモリ２１５は、演算部２１４より供給される局所的な復号画像Recを用いてピクチャ単位毎の復号画像を再構築し、フレームメモリ２１５内のバッファに記憶する。そして、処理は、図２４のステップＳ２０５に戻り、画像復号処理を終了する。
【０２１６】
図２７は、図２４のステップＳ２０６のAMVPモード復号処理を説明するフローチャートである。
【０２１７】
図２７のステップＳ２５１及びＳ２５２の処理は、図２６のステップＳ２３１及びＳ２３２の処理と同様であるので、説明は省略する。
【０２１８】
ステップＳ２５３ないしＳ２６８の処理は、予測部１１９ではなく予測部２１６により行われる点を除いて、図２２のステップＳ１３１ないしＳ１４６の処理と同様であるので、説明は省略する。
【０２１９】
ステップＳ２６９及びＳ２７０の処理は、図２６のステップＳ２４５及びＳ２４６の処理と同様であるので、説明は省略する。ステップＳ２７０の処理後、処理は、図２４のステップＳ２０６に戻り、画像復号処理を終了する。
【０２２０】
以上のように、画像復号装置２００は、並進モード、アフィン変換モード、並進回転モード、及び並進スケーリングモードのうちのいずれかを動き補償モードとして選択し、選択された動き補償モードで動き補償を行う。
【０２２１】
したがって、画像符号化装置１００により生成された、AMVPモードのインター予測処理時のオーバーヘッドを削減することにより符号化効率を向上させた符号化ストリームを復号することができる。また、インター予測処理において、並進移動、回転方向の動き、及びスケーリングの補償うちの必要な補償のみを行うことができるので、予測画像の画質を向上させることができる。
【０２２２】
なお、画像符号化装置１００と画像復号装置２００が、イントラ予測処理やインター予測処理の代わりに、イントラＢＣ予測処理を行う場合、イントラＢＣ予測処理における動き補償を、インター予測処理における動き補償と同様に、並進モード、アフィン変換モード、並進回転モード、及び並進スケーリングモードのうちのいずれかで行うようにしてもよい。
【０２２３】
＜第２実施の形態＞
（並進回転モードの動き補償）
【０２２４】
図２８は、並進回転モードの動き補償（によるインター予測処理）を、さらに説明する図である。
【０２２５】
なお、以下では、説明を簡単にするため、処理対象のPU３１のx方向及びy方向のサイズは、いずれもWで等しいこととする。したがって、PU３１は、正方形状のブロックである。PUを分割した単位ブロックについても、同様に、x方向及びy方向のサイズは、等しいこととする。
【０２２６】
並進回転モードの動き補償としては、上述したように、図１３で説明した動き補償と、図１４で説明した動き補償とがある。
【０２２７】
図１３で説明した動き補償では、横×縦がW×Wの処理対象のPU３１の（左上の）頂点Aの動きベクトルv0（１つの動きベクトル）と回転角情報としての回転角θに基づいて、参照画像内の、PU３１（の頂点A）から動きベクトルv0だけ離れた点A'を左上の頂点とし、回転角θだけ回転したPU３１と同一のサイズのブロック１３４を並進移動及び回転する動き補償が行われ、PU３１の予測画像が生成される。
【０２２８】
すなわち、図１３で説明した動き補償では、動きベクトルv0=(v0x,v0y)及び回転角θを用いて、PU３１の（右上の）頂点Bを始点とし、かつ、PU３１を動きベクトルv0=(v0x,v0y)だけ並進移動し、その並進移動後の頂点Aを中心として、回転角θだけ回転した後のPU３１の頂点Bを終点とするベクトル（v0x+Wcosθ-W，v0y+Wsinθ）が、PU３１の頂点Bの動きベクトルv1=(v1x,v1y)として求められる。なお、この場合、回転角θが小であるときには、頂点Bの動きベクトルv1=(v1x,v1y)は、(v1x,v1y)=（v0x，v0y+Wsinθ）で近似することができる。
【０２２９】
そして、参照画像において、PU３１の頂点Aから動きベクトルv0だけ移動した点を左上の頂点A'とするとともに、PU３１の頂点Bから動きベクトルv1だけ移動した点を右上の頂点B'とし、線分A'B'を一辺とする正方形状のブロックを、PU３１の予測画像の生成に用いるブロック（以下、参照ブロックともいう）１３４として、その参照ブロック１３４の並進移動及び回転を行う動き補償が行われる。
【０２３０】
参照ブロック１３４の並進移動及び回転は、PU３１を、所定のサイズとしての、例えば、横×縦が2×2画素や4×4画素等の単位ブロックに分割することにより得られる、その単位ブロックに対応する参照画像のブロック（以下、参照単位ブロックともいう）単位での並進移動によって行われる。すなわち、参照ブロック１３４の並進移動及び回転は、PU３１を分割した単位ブロックに対応する参照単位ブロックの並進移動で近似することにより行われる。
【０２３１】
具体的には、各単位ブロックの動きベクトルv=(vx,vy)が、頂点Aの動きベクトルv0=(v0x,v0y)と、頂点Bの動きベクトルv1=(v1x,v1y)とに基づいて、上述の式（１）に従って求められる。
【０２３２】
そして、参照画像内の、各単位ブロックから動きベクトルvだけ離れた単位ブロックと同一のサイズのブロックである参照単位ブロックを、動きベクトルvに基づいて並進移動することにより、PU３１の予測画像が、単位ブロック単位で生成される。
【０２３３】
以上のように、図１３で説明した動き補償は、処理対象のPU３１の動きベクトルv0及び回転角情報としての回転角θに基づいて行われるので、回転角θに基づく動き補償ともいう。
【０２３４】
なお、頂点Bの動きベクトルv1=(v1x,v1y)=（v0x+Wcosθ-W，v0y+Wsinθ）を求めるにあたっては、PU３１のサイズWが必要となる。
【０２３５】
一方、例えば、HEVCでは、CUの形成は、１つのブロックの、４個のサブブロックへの分割を再帰的に繰り返すことにより行われ、四分木（Quad-Tree）状のツリー構造が形成される。
【０２３６】
いま、HEVCと同様に、CUの形成が行われるとともに、PUがCUと同一であることとすると、サブブロックへの分割を表す分割フラグ（例えば、split flag）を、図１１の画像符号化装置１００が伝送する符号化ストリームに含めることで、図２３の画像復号装置２００は、分割フラグに基づいて、サブブロックへの分割の回数を特定し、その回数から、PU(CU)のサイズWを特定することができる。
【０２３７】
図１４で説明した動き補償では、横×縦がW×Wの処理対象のPU３１の頂点Aの動きベクトルv0（１つの動きベクトル）、及び、回転角情報としての、頂点Aの動きベクトルv0と頂点Bの動きベクトルv1（他の動きベクトル）との垂直方向の差分（以下、垂直差分ともいう）dvyに基づいて、参照画像内の、PU３１から動きベクトルv0だけ離れた点A'を左上の頂点とし、回転角θだけ回転したPU３１と（ほぼ）同一のサイズのブロック１３４を並進移動及び回転する動き補償が行われ、PU３１の予測画像が生成される。
【０２３８】
すなわち、図１４で説明した動き補償では、図２８に示すように、回転角θが小さいことを前提とし、動きベクトルv0=(v0x,v0y)及び垂直差分dvyを用いて、PU３１の頂点Bを始点とし、かつ、PU３１を動きベクトルv0=(v0x,v0y)だけ並進移動し、その並進移動後の頂点Aを中心として、回転角θだけ回転した後のPU３１の頂点Bを終点とするベクトル（v0x+Wcosθ-W，v0y+Wsinθ）を近似するベクトル(v0x，v0y+dvy)が、PU３１の頂点Bの動きベクトルv1=(v1x,v1y)として求められる。
【０２３９】
そして、参照画像において、PU３１の頂点Aから動きベクトルv0だけ移動した点を左上の頂点A'とするとともに、PU３１の頂点Bから動きベクトルv1だけ移動した点を右上の頂点B'とし、線分A'B'を一辺とする正方形状のブロックを、PU３１の予測画像の生成に用いるブロックである参照ブロック１３４として、その参照ブロック１３４の並進移動及び回転を行う動き補償が行われる。
【０２４０】
参照ブロック１３４の並進移動及び回転は、回転角θに基づく動き補償の場合と同様に、PU３１を所定のサイズの単位ブロックに分割することにより得られる、その単位ブロックに対応する参照画像のブロックである参照単位ブロック単位での並進移動によって行われる。すなわち、参照ブロック１３４の並進移動及び回転は、図２８に示すように、PU３１を分割した単位ブロックに対応する参照単位ブロックの並進移動で近似することにより行われる。
【０２４１】
具体的には、各単位ブロックの動きベクトルv=(vx,vy)が、頂点Aの動きベクトルv0=(v0x,v0y)と、頂点Bの動きベクトルv1=(v1x,v1y)とに基づいて、上述の式（１）に従って求められる。
【０２４２】
そして、参照画像内の、各単位ブロックから動きベクトルvだけ離れた単位ブロックと同一のサイズの参照単位ブロックを、動きベクトルvに基づいて並進移動することにより、PU３１の予測画像が、単位ブロック単位で生成される。
【０２４３】
以上のように、図１４で説明した動き補償は、処理対象のPU３１の動きベクトルv0及び回転角情報としての垂直差分dvyに基づいて行われるので、垂直差分dvyに基づく動き補償ともいう。
【０２４４】
垂直差分dvyに基づく動き補償に必要なパラメータは、頂点Aの動きベクトルv0=(v0x,v0y)及び垂直差分dvy、すなわち、v0x，v0y、及び、dvyの３つである。
【０２４５】
図２９は、回転角θが小さいとは言えない大きさである場合の垂直差分dvyに基づく動き補償を説明する図である。
【０２４６】
垂直差分dvyに基づく動き補償では、図２８で説明したように、動きベクトルv0=(v0x,v0y)及び垂直差分dvyに基づき、参照画像において、PU３１の頂点Aから動きベクトルv0=(v0x,v0y)だけ並進移動した点を左上の頂点A'とするとともに、PU３１の頂点Bから動きベクトルv1=(v1x,v1y)=(v0x，v0y+dvy)だけ移動した点を右上の頂点B'とし、線分A'B'を一辺とする正方形状のブロックを、参照ブロック１３４として、その参照ブロック１３４の並進移動及び回転を行う動き補償が行われる。
【０２４７】
垂直差分dvyに基づく動き補償において、参照ブロック１３４のサイズ（一辺の長さ）は、正確には、√(W2＋dvy2)になる。回転角θが小さい場合には、垂直差分dvyの2乗dvy2は、サイズWの2乗W2に対して無視することができる大きさであり、参照ブロック１３４のサイズは、PU３１のサイズWに等しいとみなすことができる。
【０２４８】
しかしながら、回転角θが小さいとは言えない大きさになると、垂直差分dvyの2乗dvy2は、サイズWの2乗W2に対して無視することができない大きさになり、参照ブロック１３４のサイズ√(W2＋dvy2)は、PU３１のサイズWに等しいとは言えない程度に大になる。
【０２４９】
その結果、図２８で説明したように、垂直差分dvyに基づく動き補償を行った場合には、参照ブロック１３４の並進移動及び回転の他に、PU３１よりもサイズが大きい、一辺が√(W2＋dvy2)の正方形状の参照ブロック１３４を、サイズWのPU３１に縮小することが行われる。
【０２５０】
以上のように、回転角θが小さいとは言えない大きさである場合には、垂直差分dvyに基づく動き補償において、参照ブロック１３４の並進移動及び回転の他に、縮小が行われる。そのため、垂直差分dvyに基づく動き補償によって得られるPU３１の予測画像の精度が劣化し、ひいては、符号化効率や復号画像の画質が劣化することがある。
【０２５１】
図３０は、垂直差分dvyに基づく動き補償において、参照ブロック１３４の縮小を抑制し、PU３１の予測画像の精度を向上させる動き補償を説明する図である。
【０２５２】
図３０では、参照画像内の、PU３１の頂点Aから動きベクトルv0だけ離れた点A'を左上の頂点A'とし、その頂点A'を中心として、回転角θだけ回転したPU３１と同一のサイズ、すなわち、一辺がWの正方形状の参照ブロック１３４が示されている。
【０２５３】
参照ブロック１３４を、その参照ブロック１３４の左上の頂点A'を中心として回転させると、参照ブロック１３４の右上の頂点B'は、半径Wの円O（の円周）を描く。
【０２５４】
いま、頂点A'を原点とする２次元座標系（xy座標系）を考える。垂直差分dvyに基づく動き補償では、回転角情報として、垂直差分dvyが用いられ、頂点B'のy座標は、その垂直差分dvyに等しい。したがって、PU３１の頂点Bの動きベクトルv1=(v1x,v1y)のy座標v1yは、頂点Aの動きベクトルv0=(v0x,v0y)のy座標v0yを用いて、v0y+dvyで表される。
【０２５５】
一方、頂点B'から、x軸におろした垂線とx軸との交点を、点Pと表すとともに、頂点A'から点Pまでの距離を、W'と表し、予測画像を生成するPU３１の水平方向のサイズWと、距離W'との差分を、dvxと表すこととする。
【０２５６】
ここで、差分dvxは、頂点Aの動きベクトルv0=(v0x,v0y)（１つの動きベクトル）のx座標v0xと、頂点Bの動きベクトルv1=(v1x,v1y)（他の動きベクトル）のx座標v1xとの差分v1x-v0x、すなわち、動きベクトルv0とv1との水平方向の差分であるので、以下、水平差分dvxともいう。
【０２５７】
水平差分dvxは、式（３）に従って求めることができる。
【０２５８】
dvx=W-W'
=W-Wcosθ
=W-Wcos(sin-1(dvy/W))
・・・（３）
【０２５９】
回転角θがそれほど大きくなく、PU３１のサイズWが、水平差分dvxよりも十分大きい場合（W>>dvxである場合）には、回転角θ及びcosθは、式（４）に従って近似することができる。
【０２６０】
θ=sin-1(dvy/W)≒dvy/W
cosθ≒1-θ2/2
・・・（４）
【０２６１】
式（４）の近似を、式（３）に適用することにより、水平差分dvxは、式（５）の近似式に従って求めることができる。
【０２６２】
dvx≒dvy2/(2W)
・・・（５）
【０２６３】
PU３１の頂点Bの動きベクトルv1=(v1x,v1y)のx座標v1xは、頂点Aの動きベクトルv0=(v0x,v0y)のx座標v0xよりも、水平差分dvxだけ小さいので、v0x-dvxで表される。
【０２６４】
以上から、頂点Bの動きベクトルv1=(v1x,v1y)、すなわち、頂点Bを始点とし、半径Wの円Oの円周上の頂点B'を終点するベクトルは、(v0x-dvx,v0y+dvy)で表される。
【０２６５】
頂点Bの動きベクトルv1=(v1x,v1y)として、角度情報としての垂直差分dvy、及び、その垂直差分dvyから式（５）に従って求められる水平差分dvxから得られるベクトル(v0x-dvx,v0y+dvy)を採用することにより、垂直差分dvyに基づく動き補償において、参照ブロック１３４の縮小を抑制し、PU３１の予測画像の精度を向上させる動き補償を行うことができる。
【０２６６】
ここで、垂直差分dvyに基づく動き補償には、頂点Bの動きベクトルv1=(v1x,v1y)として、垂直差分dvy及び水平差分dvxのうちの垂直差分dvyのみを用いる動き補償（図２８で説明した動き補償）と、垂直差分dvy及び水平差分dvxの両方を用いる動き補償（図３０で説明した動き補償）とがある。
【０２６７】
垂直差分dvyのみを用いる垂直差分dvyに基づく動き補償を、以下、単なる垂直差分dvyに基づく動き補償ともいい、垂直差分dvy及び水平差分dvxの両方を用いる動き補償を、水平差分dvxに基づく動き補償ともいう。
【０２６８】
水平差分dvxに基づく動き補償では、動き補償に必要なパラメータは、単なる垂直差分dvyに基づく動き補償と同様に、頂点Aの動きベクトルv0=(v0x,v0y)及び垂直差分dvy、すなわち、v0x，v0y、及び、dvyの３つであるが、単なる垂直差分dvyに基づく動き補償と比較して、参照ブロック１３４の縮小を抑制し、PU３１の予測画像の精度を向上させる動き補償を行うことができる。その結果、符号化効率や復号画像の画質を向上させることができる。
【０２６９】
さらに、水平差分dvxに基づく動き補償では、単なる垂直差分dvyに基づく動き補償と同様に、回転角θを用いた三角関数の計算を行う必要がなく、動き補償時の計算量を削減することができる。また、回転角θを用いた三角関数の計算のための変換テーブルを用意しておく必要もない。
【０２７０】
なお、水平差分dvxに基づく動き補償では、垂直差分dvyを用いて、水平差分dvxが求められ、それらの垂直差分dvy及び水平差分dvxを用いて、PU３１の頂点Bの動きベクトルv1=(v1x,v1y)=(v0x-dvx,v0y+dvy)が求められた後は、回転角θに基づく動き補償の場合と同様にして動き補償が行われる。
【０２７１】
すなわち、参照画像において、PU３１の頂点Aから動きベクトルv0だけ移動した点を左上の頂点A'とするとともに、PU３１の頂点Bから動きベクトルv1だけ移動した点を右上の頂点B'とし、線分A'B'を一辺とする正方形状のブロックを、PU３１の予測画像の生成に用いるブロックである参照ブロック１３４として、その参照ブロック１３４の並進移動及び回転を行う動き補償が行われる。
【０２７２】
参照ブロック１３４の並進移動及び回転は、回転角θに基づく動き補償の場合と同様に、PU３１を分割することにより得られる単位ブロックに対応する参照画像のブロックである参照単位ブロック単位での並進移動によって行われる。
【０２７３】
具体的には、各単位ブロックの動きベクトルv=(vx,vy)が、頂点Aの動きベクトルv0=(v0x,v0y)と、頂点Bの動きベクトルv1=(v1x,v1y)に基づいて、上述の式（１）に従って求められる。
【０２７４】
そして、参照画像内の、各単位ブロックから動きベクトルvだけ離れた単位ブロックと同一のサイズの参照単位ブロックを、動きベクトルvに基づいて並進移動することにより、PU３１の予測画像が、単位ブロック単位で生成される。
【０２７５】
ここで、並進回転モードの動き補償として、水平差分dvxに基づく動き補償を行う場合には、動き補償のパラメータ情報として、垂直差分dvy（に相当する情報（予測角度情報と角度情報としての垂直差分dvyとの差分））に代えて、水平差分dvx（に相当する情報）を、符号化ストリームに含めることができる。
【０２７６】
この場合、水平差分dvxに基づく動き補償では、水平差分dvxから、式（５）を変形した式dvy≒√(2Wdvx)に従って、垂直差分dvyが求められ、さらに、頂点Bの動きベクトルv1=(v1x,v1y)=(v0x-dvx,v0y+dvy)が求められる。
【０２７７】
したがって、垂直差分dvyに代えて、水平差分dvxを、符号化ストリームに含める場合でも、垂直差分dvyを、符号化ストリームに含める場合と同様に、参照ブロック１３４の縮小を抑制し、PU３１の予測画像の精度を向上させる動き補償を行うことができる。
【０２７８】
但し、垂直差分dvyに代えて、水平差分dvxを、符号化ストリームに含める場合には、式dvy≒√(2Wdvx)に従って、垂直差分dvyを求めるために、式（５）に従って垂直差分dvyから水平差分dvxを求める場合には行われない平方根の計算が必要となる。
【０２７９】
そのため、垂直差分dvyに代えて、水平差分dvxを、符号化ストリームに含める場合には、垂直差分dvyを、符号化ストリームに含める場合に比較して、動き補償時の計算の負荷が増加するか、又は、平方根の計算のための変換テーブルが必要となる。
【０２８０】
図３１は、並進回転モードの動き補償として、水平差分dvxに基づく動き補償を採用する場合の、並進回転モードの動き補償の処理の例を説明するフローチャートである。
【０２８１】
すなわち、図３１は、並進回転モードの動き補償として、水平差分dvxに基づく動き補償を採用する場合に、図２０のステップＳ４２及び４３、図２１のステップＳ１１０、図２２のステップＳ１４３、図２６のステップＳ２４２、図２７のステップＳ２６５で行われる並進回転モードの動き補償の処理を説明するフローチャートである。
【０２８２】
なお、ここでは、並進回転モードの動き補償の処理を、図１１の画像符号化装置１００の予測部１１９が行うこととして説明を行うが、図２３の画像復号装置２００の予測部２１６でも、同様の処理が行われる。
【０２８３】
ステップＳ３１１において、予測部１１９は、パラメータ情報から得られる、処理対象のPU(CU)の頂点Aの動きベクトルv0と頂点Bの動きベクトルv1との垂直方向の垂直差分dvyを用い、式（５）に従って、水平差分dvxを求め、処理は、ステップＳ３１２に進む。
【０２８４】
ステップＳ３１２では、予測部１１９は、頂点Aの動きベクトルv0=(v0x,v0y)、垂直差分dvy、及び、水平差分dvxを用いて、PU３１の頂点Bの動きベクトルv1=(v1x,v1y)=(v0x-dvx,v0y+dvy)を求め、処理は、ステップＳ３１３に進む。
【０２８５】
ステップＳ３１３では、予測部１１９は、予測対象のPUを、単位ブロックに分割する。さらに、予測部１１９は、各単位ブロックの動きベクトルv=(vx,vy)を、頂点Aの動きベクトルv0=(v0x,v0y)と、頂点Bの動きベクトルv1=(v1x,v1y)に基づいて、式（１）に従って求め、処理は、ステップＳ３１３からステップＳ３１４に進む。
【０２８６】
ステップＳ３１４では、予測部１１９は、各単位ブロックについて、参照画像内の、単位ブロックから動きベクトルvだけ離れた単位ブロックと同一のサイズの参照単位ブロックを、動きベクトルvに基づいて並進移動することにより、PU３１の予測画像を、単位ブロック単位で生成し、並進回転モードの動き補償の処理は終了する（リターンする）。
【０２８７】
図３２は、動き補償モード情報の他の例を説明する図である。
【０２８８】
図３２では、動き補償モード情報は、affine_flag，rotation_flag、及び、scaling_flagにより構成される。
【０２８９】
したがって、図３２の動き補償モード情報は、affine_flagがある点で、図１７の場合と共通する。但し、図３２の動き補償モード情報は、affine3parameter_flag、及び、rotate_scale_idxがなく、rotation_flag、及び、scaling_flagが新たに設けられている点で、図１７の場合と相違する。
【０２９０】
affine_flagは、図１７で説明したように、動き補償モードが、並進モード以外のアフィン変換モード、並進スケーリングモード、又は、並進回転モードであるかどうかを示す情報である。affine_flagは、動き補償モードが、アフィン変換モード、並進回転モード、又は、並進スケーリングモードである場合、１に設定される。一方、affine_flagは、動き補償モードが、アフィン変換モード、並進回転モード、及び、並進スケーリングモードではない場合、すなわち、動き補償モードが、並進モードである場合、０に設定される。
【０２９１】
rotation_flagは、動き補償モードが、並進回転モードであるかどうかを示す情報であり、affine_flagが１である場合に設定される。rotation_flagは、動き補償モードが、並進回転モードである場合、１に設定される。一方、rotation_flagは、動き補償モードが、並進回転モードではない場合、すなわち、動き補償モードが、並進スケーリングモード又はアフィン変換モードである場合、０に設定される。
【０２９２】
scaling_flagは、動き補償モードが並進スケーリングモードであるかどうかを示す情報であり、rotation_flagが０である場合に設定される。scaling_flagは、動き補償モードが並進スケーリングモードである場合、１に設定され、動き補償モードが、並進スケーリングモードではない場合、すなわち、動き補償モードが、アフィン変換モードである場合、０に設定される。
【０２９３】
したがって、動き補償モードが、並進モードである場合、動き補償モード情報は、affine_flagにより構成され、affine_flagは０に設定される。
【０２９４】
さらに、動き補償モードが、並進回転モードである場合、動き補償モード情報は、affine_flag、及び、rotation_flagにより構成され、affine_flag、及び、rotation_flagは、いずれも１に設定される。
【０２９５】
また、動き補償モードが、並進スケーリングモード又はアフィン変換モードである場合、動き補償モード情報は、affine_flag，rotation_flag、及び、scaling_flagにより構成され、affine_flagは１に、rotation_flagは０に、それぞれ設定される。そして、動き補償モードが、並進スケーリングモードである場合、scaling_flagは、１に設定され、動き補償モードが、アフィン変換モードである場合、scaling_flagは、０に設定される。
【０２９６】
図３２において、動き補償モードが、並進モード、並進回転モード、並進スケーリングモード、及び、アフィン変換モードである場合それぞれのパラメータ情報は、図１７と同様であるので、説明を省略する。
【０２９７】
＜第３実施の形態＞
（本開示を適用したコンピュータの説明）
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０２９８】
図３３は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０２９９】
コンピュータ８００において、CPU（Central Processing Unit）８０１，ROM（Read Only Memory）８０２，RAM（Random Access Memory）８０３は、バス８０４により相互に接続されている。
【０３００】
バス８０４には、さらに、入出力インタフェース８１０が接続されている。入出力インタフェース８１０には、入力部８１１、出力部８１２、記憶部８１３、通信部８１４、及びドライブ８１５が接続されている。
【０３０１】
入力部８１１は、キーボード、マウス、マイクロホンなどよりなる。出力部８１２は、ディスプレイ、スピーカなどよりなる。記憶部８１３は、ハードディスクや不揮発性のメモリなどよりなる。通信部８１４は、ネットワークインタフェースなどよりなる。ドライブ８１５は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア８２１を駆動する。
【０３０２】
以上のように構成されるコンピュータ８００では、CPU８０１が、例えば、記憶部８１３に記憶されているプログラムを、入出力インタフェース８１０及びバス８０４を介して、RAM８０３にロードして実行することにより、上述した一連の処理が行われる。
【０３０３】
コンピュータ８００（CPU８０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア８２１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することができる。
【０３０４】
コンピュータ８００では、プログラムは、リムーバブルメディア８２１をドライブ８１５に装着することにより、入出力インタフェース８１０を介して、記憶部８１３にインストールすることができる。また、プログラムは、有線又は無線の伝送媒体を介して、通信部８１４で受信し、記憶部８１３にインストールすることができる。その他、プログラムは、ROM８０２や記憶部８１３に、あらかじめインストールしておくことができる。
【０３０５】
なお、コンピュータ８００が実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３０６】
＜第４実施の形態＞
図３４は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置９００は、アンテナ９０１、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、表示部９０６、音声信号処理部９０７、スピーカ９０８、外部インタフェース（I/F）部９０９、制御部９１０、ユーザインタフェース（I/F）部９１１、及びバス９１２を備える。
【０３０７】
チューナ９０２は、アンテナ９０１を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９０２は、復調により得られた符号化ビットストリームをデマルチプレクサ９０３へ出力する。即ち、チューナ９０２は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送部としての役割を有する。
【０３０８】
デマルチプレクサ９０３は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ９０４へ出力する。また、デマルチプレクサ９０３は、符号化ビットストリームからEPG（Electronic Program Guide）などの補助的なデータを抽出し、抽出したデータを制御部９１０に供給する。なお、デマルチプレクサ９０３は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
【０３０９】
デコーダ９０４は、デマルチプレクサ９０３から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ９０４は、復号処理により生成される映像データを映像信号処理部９０５へ出力する。また、デコーダ９０４は、復号処理により生成される音声データを音声信号処理部９０７へ出力する。
【０３１０】
映像信号処理部９０５は、デコーダ９０４から入力される映像データを再生し、表示部９０６に映像を表示させる。また、映像信号処理部９０５は、ネットワークを介して供給されるアプリケーション画面を表示部９０６に表示させてもよい。また、映像信号処理部９０５は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部９０５は、例えばメニュー、ボタン又はカーソルなどのGUI（Graphical User Interface）の画像を生成し、生成した画像を出力画像に重畳してもよい。
【０３１１】
表示部９０６は、映像信号処理部９０５から供給される駆動信号により駆動され、表示デバイス（例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD（Organic ElectroLuminescence Display）（有機ELディスプレイ）など）の映像面上に映像又は画像を表示する。
【０３１２】
音声信号処理部９０７は、デコーダ９０４から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ９０８から音声を出力させる。また、音声信号処理部９０７は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
【０３１３】
外部インタフェース部９０９は、テレビジョン装置９００と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部９０９を介して受信される映像ストリーム又は音声ストリームが、デコーダ９０４により復号されてもよい。即ち、外部インタフェース部９０９もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送部としての役割を有する。
【０３１４】
制御部９１０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置９００の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部９１１から入力される操作信号に応じて、テレビジョン装置９００の動作を制御する。
【０３１５】
ユーザインタフェース部９１１は、制御部９１０と接続される。ユーザインタフェース部９１１は、例えば、ユーザがテレビジョン装置９００を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部９１１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９１０へ出力する。
【０３１６】
バス９１２は、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、音声信号処理部９０７、外部インタフェース部９０９及び制御部９１０を相互に接続する。
【０３１７】
このように構成されたテレビジョン装置９００において、デコーダ９０４が、上述した画像復号装置２００の機能を有するようにしてもよい。つまり、デコーダ９０４が、符号化データを、以上の各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、テレビジョン装置９００は、図１１ないし図３２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０３１８】
また、このように構成されたテレビジョン装置９００において、映像信号処理部９０５が、例えば、デコーダ９０４から供給される画像データを符号化し、得られた符号化データを、外部インタフェース部９０９を介してテレビジョン装置９００の外部に出力させることができるようにしてもよい。そして、その映像信号処理部９０５が、上述した画像符号化装置１００の機能を有するようにしてもよい。つまり、映像信号処理部９０５が、デコーダ９０４から供給される画像データを、以上の各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、テレビジョン装置９００は、図１１ないし図３２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０３１９】
＜第５実施の形態＞
図３５は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機９２０は、アンテナ９２１、通信部９２２、音声コーデック９２３、スピーカ９２４、マイクロホン９２５、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、制御部９３１、操作部９３２、及びバス９３３を備える。
【０３２０】
アンテナ９２１は、通信部９２２に接続される。スピーカ９２４及びマイクロホン９２５は、音声コーデック９２３に接続される。操作部９３２は、制御部９３１に接続される。バス９３３は、通信部９２２、音声コーデック９２３、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、及び制御部９３１を相互に接続する。
【０３２１】
携帯電話機９２０は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
【０３２２】
音声通話モードにおいて、マイクロホン９２５により生成されるアナログ音声信号は、音声コーデック９２３に供給される。音声コーデック９２３は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック９２３は、圧縮後の音声データを通信部９２２へ出力する。通信部９２２は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック９２３へ出力する。音声コーデック９２３は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０３２３】
また、データ通信モードにおいて、例えば、制御部９３１は、操作部９３２を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部９３１は、文字を表示部９３０に表示させる。また、制御部９３１は、操作部９３２を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部９２２へ出力する。通信部９２２は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部９３１へ出力する。制御部９３１は、表示部９３０に電子メールの内容を表示させるとともに、電子メールデータを記録再生部９２９に供給し、その記憶媒体に書き込ませる。
【０３２４】
記録再生部９２９は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB（Universal Serial Bus）メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
【０３２５】
また、撮影モードにおいて、例えば、カメラ部９２６は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部９２７へ出力する。画像処理部９２７は、カメラ部９２６から入力される画像データを符号化し、符号化ストリームを記録再生部９２９に供給し、その記憶媒体に書き込ませる。
【０３２６】
さらに、画像表示モードにおいて、記録再生部９２９は、記憶媒体に記録されている符号化ストリームを読み出して画像処理部９２７へ出力する。画像処理部９２７は、記録再生部９２９から入力される符号化ストリームを復号し、画像データを表示部９３０に供給し、その画像を表示させる。
【０３２７】
また、テレビ電話モードにおいて、例えば、多重分離部９２８は、画像処理部９２７により符号化された映像ストリームと、音声コーデック９２３から入力される音声ストリームとを多重化し、多重化したストリームを通信部９２２へ出力する。通信部９２２は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部９２２は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部９２８へ出力する。多重分離部９２８は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部９２７、音声ストリームを音声コーデック９２３へ出力する。画像処理部９２７は、映像ストリームを復号し、映像データを生成する。映像データは、表示部９３０に供給され、表示部９３０により一連の画像が表示される。音声コーデック９２３は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０３２８】
このように構成された携帯電話機９２０において、例えば画像処理部９２７が、上述した画像符号化装置１００の機能を有するようにしてもよい。つまり、画像処理部９２７が、画像データを、以上の各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、携帯電話機９２０は、図１１ないし図３２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０３２９】
また、このように構成された携帯電話機９２０において、例えば画像処理部９２７が、上述した画像復号装置２００の機能を有するようにしてもよい。つまり、画像処理部９２７が、符号化データを、以上の各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、携帯電話機９２０は、図１１ないし図３２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０３３０】
＜第６実施の形態＞
図３６は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置９４０は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置９４０は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置９４０は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置９４０は、音声データ及び映像データを復号する。
【０３３１】
記録再生装置９４０は、チューナ９４１、外部インタフェース（I/F）部９４２、エンコーダ９４３、HDD（Hard Disk Drive）部９４４、ディスクドライブ９４５、セレクタ９４６、デコーダ９４７、OSD（On-Screen Display）部９４８、制御部９４９、及びユーザインタフェース（I/F）部９５０を備える。
【０３３２】
チューナ９４１は、アンテナ（図示せず）を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９４１は、復調により得られた符号化ビットストリームをセレクタ９４６へ出力する。即ち、チューナ９４１は、記録再生装置９４０における伝送部としての役割を有する。
【０３３３】
外部インタフェース部９４２は、記録再生装置９４０と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース部９４２は、例えば、IEEE（Institute of Electrical and Electronic Engineers）1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース部９４２を介して受信される映像データ及び音声データは、エンコーダ９４３へ入力される。即ち、外部インタフェース部９４２は、記録再生装置９４０における伝送部としての役割を有する。
【０３３４】
エンコーダ９４３は、外部インタフェース部９４２から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ９４３は、符号化ビットストリームをセレクタ９４６へ出力する。
【０３３５】
HDD部９４４は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD部９４４は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
【０３３６】
ディスクドライブ９４５は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ９４５に装着される記録媒体は、例えばDVD（Digital Versatile Disc）ディスク（DVD-Video、DVD-RAM（DVD - Random Access Memory）、DVD-R（DVD - Recordable）、DVD-RW（DVD - Rewritable）、DVD+R（DVD + Recordable）、DVD+RW（DVD + Rewritable）等）又はBlu-ray（登録商標）ディスクなどであってよい。
【０３３７】
セレクタ９４６は、映像及び音声の記録時には、チューナ９４１又はエンコーダ９４３から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD部９４４又はディスクドライブ９４５へ出力する。また、セレクタ９４６は、映像及び音声の再生時には、HDD部９４４又はディスクドライブ９４５から入力される符号化ビットストリームをデコーダ９４７へ出力する。
【０３３８】
デコーダ９４７は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ９４７は、生成した映像データをOSD部９４８へ出力する。また、デコーダ９４７は、生成した音声データを外部のスピーカへ出力する。
【０３３９】
OSD部９４８は、デコーダ９４７から入力される映像データを再生し、映像を表示する。また、OSD部９４８は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
【０３４０】
制御部９４９は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置９４０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部９５０から入力される操作信号に応じて、記録再生装置９４０の動作を制御する。
【０３４１】
ユーザインタフェース部９５０は、制御部９４９と接続される。ユーザインタフェース部９５０は、例えば、ユーザが記録再生装置９４０を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部９５０は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９４９へ出力する。
【０３４２】
このように構成された記録再生装置９４０において、例えばエンコーダ９４３が、上述した画像符号化装置１００の機能を有するようにしてもよい。つまり、エンコーダ９４３が、画像データを、以上の各実施の形態において説明方法で符号化するようにしてもよい。このようにすることにより、記録再生装置９４０は、図１１ないし図３２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０３４３】
また、このように構成された記録再生装置９４０において、例えばデコーダ９４７が、上述した画像復号装置２００の機能を有するようにしてもよい。つまり、デコーダ９４７が、符号化データを、以上の各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、記録再生装置９４０は、図１１ないし図３２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０３４４】
＜第７実施の形態＞
図３７は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置９６０は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
【０３４５】
撮像装置９６０は、光学ブロック９６１、撮像部９６２、信号処理部９６３、画像処理部９６４、表示部９６５、外部インタフェース（I/F）部９６６、メモリ部９６７、メディアドライブ９６８、OSD部９６９、制御部９７０、ユーザインタフェース（I/F）部９７１、及びバス９７２を備える。
【０３４６】
光学ブロック９６１は、撮像部９６２に接続される。撮像部９６２は、信号処理部９６３に接続される。表示部９６５は、画像処理部９６４に接続される。ユーザインタフェース部９７１は、制御部９７０に接続される。バス９７２は、画像処理部９６４、外部インタフェース部９６６、メモリ部９６７、メディアドライブ９６８、OSD部９６９、及び制御部９７０を相互に接続する。
【０３４７】
光学ブロック９６１は、フォーカスレンズ及び絞り機構などを有する。光学ブロック９６１は、被写体の光学像を撮像部９６２の撮像面に結像させる。撮像部９６２は、CCD（Charge Coupled Device）又はCMOS（Complementary Metal Oxide Semiconductor）などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部９６２は、画像信号を信号処理部９６３へ出力する。
【０３４８】
信号処理部９６３は、撮像部９６２から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部９６３は、カメラ信号処理後の画像データを画像処理部９６４へ出力する。
【０３４９】
画像処理部９６４は、信号処理部９６３から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部９６４は、生成した符号化データを外部インタフェース部９６６又はメディアドライブ９６８へ出力する。また、画像処理部９６４は、外部インタフェース部９６６又はメディアドライブ９６８から入力される符号化データを復号し、画像データを生成する。そして、画像処理部９６４は、生成した画像データを表示部９６５へ出力する。また、画像処理部９６４は、信号処理部９６３から入力される画像データを表示部９６５へ出力して画像を表示させてもよい。また、画像処理部９６４は、OSD部９６９から取得される表示用データを、表示部９６５へ出力する画像に重畳してもよい。
【０３５０】
OSD部９６９は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部９６４へ出力する。
【０３５１】
外部インタフェース部９６６は、例えばUSB入出力端子として構成される。外部インタフェース部９６６は、例えば、画像の印刷時に、撮像装置９６０とプリンタとを接続する。また、外部インタフェース部９６６には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置９６０にインストールされ得る。さらに、外部インタフェース部９６６は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース部９６６は、撮像装置９６０における伝送部としての役割を有する。
【０３５２】
メディアドライブ９６８に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ９６８に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD（Solid State Drive）のような非可搬性の記憶部が構成されてもよい。
【０３５３】
制御部９７０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置９６０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部９７１から入力される操作信号に応じて、撮像装置９６０の動作を制御する。
【０３５４】
ユーザインタフェース部９７１は、制御部９７０と接続される。ユーザインタフェース部９７１は、例えば、ユーザが撮像装置９６０を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース部９７１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９７０へ出力する。
【０３５５】
このように構成された撮像装置９６０において、例えば画像処理部９６４が、上述した画像符号化装置１００の機能を有するようにしてもよい。つまり、画像処理部９６４が、画像データを、以上の各実施の形態において説明した方法で符号化するようにしてもよい。このようにすることにより、撮像装置９６０は、図１１ないし図３２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０３５６】
また、このように構成された撮像装置９６０において、例えば画像処理部９６４が、上述した画像復号装置２００の機能を有するようにしてもよい。つまり、画像処理部９６４が、符号化データを、以上の各実施の形態において説明した方法で復号するようにしてもよい。このようにすることにより、撮像装置９６０は、図１１ないし図３２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０３５７】
＜第８実施の形態＞
また、本技術は、任意の装置又はシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI（Large Scale Integration）等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等（すなわち、装置の一部の構成）として実施することもできる。図３８は、本技術を適用したビデオセットの概略的な構成の一例を示している。
【０３５８】
近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、１機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する１セットとして実施を行う場合も多く見られるようになってきた。
【０３５９】
図３８に示されるビデオセット１３００は、このような多機能化された構成であり、画像の符号化や復号（いずれか一方でもよいし、両方でも良い）に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
【０３６０】
図３８に示されるように、ビデオセット１３００は、ビデオモジュール１３１１、外部メモリ１３１２、パワーマネージメントモジュール１３１３、及びフロントエンドモジュール１３１４等のモジュール群と、コネクティビティ１３２１、カメラ１３２２、及びセンサ１３２３等の関連する機能を有するデバイスとを有する。
【０３６１】
モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
【０３６２】
図３８の例の場合、ビデオモジュール１３１１は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ、ビデオプロセッサ、ブロードバンドモデム１３３３、及びRFモジュール１３３４を有する。
【０３６３】
プロセッサは、所定の機能を有する構成をSoC（System On a Chip）により半導体チップに集積したものであり、例えばシステムLSI（Large Scale Integration）等と称されるものもある。この所定の機能を有する構成は、論理回路（ハードウエア構成）であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム（ソフトウエア構成）であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路（ハードウエア構成）により実現し、その他の機能をCPUにおいて実行されるプログラム（ソフトウエア構成）により実現するようにしてもよい。
【０３６４】
図３８のアプリケーションプロセッサ１３３１は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ１３３１において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ１３３２等、ビデオモジュール１３１１内外の構成を必要に応じて制御することもできる。
【０３６５】
ビデオプロセッサ１３３２は、画像の符号化・復号（その一方又は両方）に関する機能を有するプロセッサである。
【０３６６】
ブロードバンドモデム１３３３は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線（又はその両方）の広帯域通信により送信するデータ（デジタル信号）をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ（デジタル信号）に変換したりする。ブロードバンドモデム１３３３は、例えば、ビデオプロセッサ１３３２が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
【０３６７】
RFモジュール１３３４は、アンテナを介して送受信されるRF（Radio Frequency）信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール１３３４は、ブロードバンドモデム１３３３により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール１３３４は、フロントエンドモジュール１３１４を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
【０３６８】
なお、図３８において点線１３４１に示されるように、アプリケーションプロセッサ１３３１とビデオプロセッサ１３３２を、一体化し、１つのプロセッサとして構成されるようにしてもよい。
【０３６９】
外部メモリ１３１２は、ビデオモジュール１３１１の外部に設けられた、ビデオモジュール１３１１により利用される記憶デバイスを有するモジュールである。この外部メモリ１３１２の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM（Dynamic Random Access Memory）のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
【０３７０】
パワーマネージメントモジュール１３１３は、ビデオモジュール１３１１（ビデオモジュール１３１１内の各構成）への電力供給を管理し、制御する。
【０３７１】
フロントエンドモジュール１３１４は、RFモジュール１３３４に対してフロントエンド機能（アンテナ側の送受信端の回路）を提供するモジュールである。図３８に示されるように、フロントエンドモジュール１３１４は、例えば、アンテナ部１３５１、フィルタ１３５２、及び増幅部１３５３を有する。
【０３７２】
アンテナ部１３５１は、無線信号を送受信するアンテナ及びその周辺の構成を有する。アンテナ部１３５１は、増幅部１３５３から供給される信号を無線信号として送信し、受信した無線信号を電気信号（RF信号）としてフィルタ１３５２に供給する。フィルタ１３５２は、アンテナ部１３５１を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール１３３４に供給する。増幅部１３５３は、RFモジュール１３３４から供給されるRF信号を増幅し、アンテナ部１３５１に供給する。
【０３７３】
コネクティビティ１３２１は、外部との接続に関する機能を有するモジュールである。コネクティビティ１３２１の物理構成は、任意である。例えば、コネクティビティ１３２１は、ブロードバンドモデム１３３３が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
【０３７４】
例えば、コネクティビティ１３２１が、Bluetooth（登録商標）、IEEE 802.11（例えばWi-Fi（Wireless Fidelity、登録商標））、NFC（Near Field Communication）、IrDA（InfraRed Data Association）等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ１３２１が、USB（Universal Serial Bus）、HDMI（登録商標）（High-Definition Multimedia Interface）等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ１３２１が、アナログ入出力端子等のその他のデータ（信号）伝送機能等を有するようにしてもよい。
【０３７５】
なお、コネクティビティ１３２１が、データ（信号）の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ１３２１が、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ（リムーバブルメディアのドライブだけでなく、ハードディスク、SSD（Solid State Drive）、NAS（Network Attached Storage）等も含む）を有するようにしてもよい。また、コネクティビティ１３２１が、画像や音声の出力デバイス（モニタやスピーカ等）を有するようにしてもよい。
【０３７６】
カメラ１３２２は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ１３２２の撮像により得られた画像データは、例えば、ビデオプロセッサ１３３２に供給されて符号化される。
【０３７７】
センサ１３２３は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ１３２３により検出されたデータは、例えば、アプリケーションプロセッサ１３３１に供給されてアプリケーション等により利用される。
【０３７８】
以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
【０３７９】
以上のような構成のビデオセット１３００において、後述するようにビデオプロセッサ１３３２に本技術を適用することができる。したがって、ビデオセット１３００は、本技術を適用したセットとして実施することができる。
【０３８０】
（ビデオプロセッサの構成例）
図３９は、本技術を適用したビデオプロセッサ１３３２（図３８）の概略的な構成の一例を示している。
【０３８１】
図３９の例の場合、ビデオプロセッサ１３３２は、ビデオ信号及びオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータ及びオーディオデータを復号し、ビデオ信号及びオーディオ信号を再生出力する機能とを有する。
【０３８２】
図３９に示されるように、ビデオプロセッサ１３３２は、ビデオ入力処理部１４０１、第１画像拡大縮小部１４０２、第２画像拡大縮小部１４０３、ビデオ出力処理部１４０４、フレームメモリ１４０５、及びメモリ制御部１４０６を有する。また、ビデオプロセッサ１３３２は、エンコード・デコードエンジン１４０７、ビデオES（Elementary Stream）バッファ１４０８Ａ及び１４０８Ｂ、並びに、オーディオESバッファ１４０９Ａ及び１４０９Ｂを有する。さらに、ビデオプロセッサ１３３２は、オーディオエンコーダ１４１０、オーディオデコーダ１４１１、多重化部（MUX（Multiplexer））１４１２、逆多重化部（DMUX（Demultiplexer））１４１３、及びストリームバッファ１４１４を有する。
【０３８３】
ビデオ入力処理部１４０１は、例えばコネクティビティ１３２１（図３８）等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第１画像拡大縮小部１４０２は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第２画像拡大縮小部１４０３は、画像データに対して、ビデオ出力処理部１４０４を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第１画像拡大縮小部１４０２と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部１４０４は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ１３２１等に出力する。
【０３８４】
フレームメモリ１４０５は、ビデオ入力処理部１４０１、第１画像拡大縮小部１４０２、第２画像拡大縮小部１４０３、ビデオ出力処理部１４０４、及びエンコード・デコードエンジン１４０７によって共用される画像データ用のメモリである。フレームメモリ１４０５は、例えばDRAM等の半導体メモリとして実現される。
【０３８５】
メモリ制御部１４０６は、エンコード・デコードエンジン１４０７からの同期信号を受けて、アクセス管理テーブル１４０６Ａに書き込まれたフレームメモリ１４０５へのアクセススケジュールに従ってフレームメモリ１４０５に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル１４０６Ａは、エンコード・デコードエンジン１４０７、第１画像拡大縮小部１４０２、第２画像拡大縮小部１４０３等で実行される処理に応じて、メモリ制御部１４０６により更新される。
【０３８６】
エンコード・デコードエンジン１４０７は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン１４０７は、フレームメモリ１４０５から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ１４０８Ａに順次書き込む。また、例えば、ビデオESバッファ１４０８Ｂからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ１４０５に順次書き込む。エンコード・デコードエンジン１４０７は、これらの符号化や復号において、フレームメモリ１４０５を作業領域として使用する。また、エンコード・デコードエンジン１４０７は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部１４０６に対して同期信号を出力する。
【０３８７】
ビデオESバッファ１４０８Ａは、エンコード・デコードエンジン１４０７によって生成されたビデオストリームをバッファリングして、多重化部（MUX）１４１２に供給する。ビデオESバッファ１４０８Ｂは、逆多重化部（DMUX）１４１３から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン１４０７に供給する。
【０３８８】
オーディオESバッファ１４０９Ａは、オーディオエンコーダ１４１０によって生成されたオーディオストリームをバッファリングして、多重化部（MUX）１４１２に供給する。オーディオESバッファ１４０９Ｂは、逆多重化部（DMUX）１４１３から供給されたオーディオストリームをバッファリングして、オーディオデコーダ１４１１に供給する。
【０３８９】
オーディオエンコーダ１４１０は、例えばコネクティビティ１３２１等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3（AudioCode number 3）方式等の所定の方式で符号化する。オーディオエンコーダ１４１０は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ１４０９Ａに順次書き込む。オーディオデコーダ１４１１は、オーディオESバッファ１４０９Ｂから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ１３２１等に供給する。
【０３９０】
多重化部（MUX）１４１２は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法（すなわち、多重化により生成されるビットストリームのフォーマット）は任意である。また、この多重化の際に、多重化部（MUX）１４１２は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部（MUX）１４１２は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部（MUX）１４１２は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部（MUX）１４１２は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ（ファイルデータ）に変換する。
【０３９１】
逆多重化部（DMUX）１４１３は、多重化部（MUX）１４１２による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部（DMUX）１４１３は、ストリームバッファ１４１４から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する（ビデオストリームとオーディオストリームとを分離する）。つまり、逆多重化部（DMUX）１４１３は、逆多重化によりストリームのフォーマットを変換（多重化部（MUX）１４１２による変換の逆変換）することができる。例えば、逆多重化部（DMUX）１４１３は、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等から供給されたトランスポートストリームを、ストリームバッファ１４１４を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部（DMUX）１４１３は、例えばコネクティビティ１３２１により各種記録媒体から読み出されたファイルデータを、ストリームバッファ１４１４を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
【０３９２】
ストリームバッファ１４１４は、ビットストリームをバッファリングする。例えば、ストリームバッファ１４１４は、多重化部（MUX）１４１２から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、又は外部からの要求等に基づいて、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等に供給する。
【０３９３】
また、例えば、ストリームバッファ１４１４は、多重化部（MUX）１４１２から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、又は外部からの要求等に基づいて、例えばコネクティビティ１３２１等に供給し、各種記録媒体に記録させる。
【０３９４】
さらに、ストリームバッファ１４１４は、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、又は外部からの要求等に基づいて、逆多重化部（DMUX）１４１３に供給する。
【０３９５】
また、ストリームバッファ１４１４は、例えばコネクティビティ１３２１等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、又は外部からの要求等に基づいて、逆多重化部（DMUX）１４１３に供給する。
【０３９６】
次に、このような構成のビデオプロセッサ１３３２の動作の例について説明する。例えば、コネクティビティ１３２１等からビデオプロセッサ１３３２に入力されたビデオ信号は、ビデオ入力処理部１４０１において４：２：２Ｙ／Ｃｂ／Ｃｒ方式等の所定の方式のデジタル画像データに変換され、フレームメモリ１４０５に順次書き込まれる。このデジタル画像データは、第１画像拡大縮小部１４０２又は第２画像拡大縮小部１４０３に読み出されて、４：２：０Ｙ／Ｃｂ／Ｃｒ方式等の所定の方式へのフォーマット変換及び拡大縮小処理が行われ、再びフレームメモリ１４０５に書き込まれる。この画像データは、エンコード・デコードエンジン１４０７によって符号化され、ビデオストリームとしてビデオESバッファ１４０８Ａに書き込まれる。
【０３９７】
また、コネクティビティ１３２１等からビデオプロセッサ１３３２に入力されたオーディオ信号は、オーディオエンコーダ１４１０によって符号化され、オーディオストリームとして、オーディオESバッファ１４０９Ａに書き込まれる。
【０３９８】
ビデオESバッファ１４０８Ａのビデオストリームと、オーディオESバッファ１４０９Ａのオーディオストリームは、多重化部（MUX）１４１２に読み出されて多重化され、トランスポートストリーム又はファイルデータ等に変換される。多重化部（MUX）１４１２により生成されたトランスポートストリームは、ストリームバッファ１４１４にバッファされた後、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等を介して外部ネットワークに出力される。また、多重化部（MUX）１４１２により生成されたファイルデータは、ストリームバッファ１４１４にバッファされた後、例えばコネクティビティ１３２１等に出力され、各種記録媒体に記録される。
【０３９９】
また、例えばコネクティビティ１３２１やブロードバンドモデム１３３３等を介して外部ネットワークからビデオプロセッサ１３３２に入力されたトランスポートストリームは、ストリームバッファ１４１４にバッファされた後、逆多重化部（DMUX）１４１３により逆多重化される。また、例えばコネクティビティ１３２１等において各種記録媒体から読み出され、ビデオプロセッサ１３３２に入力されたファイルデータは、ストリームバッファ１４１４にバッファされた後、逆多重化部（DMUX）１４１３により逆多重化される。つまり、ビデオプロセッサ１３３２に入力されたトランスポートストリーム又はファイルデータは、逆多重化部（DMUX）１４１３によりビデオストリームとオーディオストリームとに分離される。
【０４００】
オーディオストリームは、オーディオESバッファ１４０９Ｂを介してオーディオデコーダ１４１１に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ１４０８Ｂに書き込まれた後、エンコード・デコードエンジン１４０７により順次読み出されて復号されてフレームメモリ１４０５に書き込まれる。復号された画像データは、第２画像拡大縮小部１４０３によって拡大縮小処理されて、フレームメモリ１４０５に書き込まれる。そして、復号された画像データは、ビデオ出力処理部１４０４に読み出されて、４：２：２Ｙ／Ｃｂ／Ｃｒ方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
【０４０１】
このように構成されるビデオプロセッサ１３３２に本技術を適用する場合、エンコード・デコードエンジン１４０７に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン１４０７が、上述した画像符号化装置１００の機能若しくは画像復号装置２００の機能又はその両方を有するようにしてもよい。このようにすることにより、ビデオプロセッサ１３３２は、図１１ないし図３２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４０２】
なお、エンコード・デコードエンジン１４０７において、本技術（すなわち、画像符号化装置１００の機能若しくは画像復号装置２００の機能又はその両方）は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
【０４０３】
（ビデオプロセッサの他の構成例）
図４０は、本技術を適用したビデオプロセッサ１３３２の概略的な構成の他の例を示している。図４０の例の場合、ビデオプロセッサ１３３２は、ビデオデータを所定の方式で符号化・復号する機能を有する。
【０４０４】
より具体的には、図４０に示されるように、ビデオプロセッサ１３３２は、制御部１５１１、ディスプレイインタフェース１５１２、ディスプレイエンジン１５１３、画像処理エンジン１５１４、及び内部メモリ１５１５を有する。また、ビデオプロセッサ１３３２は、コーデックエンジン１５１６、メモリインタフェース１５１７、多重化・逆多重化部（MUX DMUX）１５１８、ネットワークインタフェース１５１９、及びビデオインタフェース１５２０を有する。
【０４０５】
制御部１５１１は、ディスプレイインタフェース１５１２、ディスプレイエンジン１５１３、画像処理エンジン１５１４、及びコーデックエンジン１５１６等、ビデオプロセッサ１３３２内の各処理部の動作を制御する。
【０４０６】
図４０に示されるように、制御部１５１１は、例えば、メインCPU１５３１、サブCPU１５３２、及びシステムコントローラ１５３３を有する。メインCPU１５３１は、ビデオプロセッサ１３３２内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU１５３１は、そのプログラム等に従って制御信号を生成し、各処理部に供給する（つまり、各処理部の動作を制御する）。サブCPU１５３２は、メインCPU１５３１の補助的な役割を果たす。例えば、サブCPU１５３２は、メインCPU１５３１が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ１５３３は、メインCPU１５３１及びサブCPU１５３２が実行するプログラムを指定する等、メインCPU１５３１及びサブCPU１５３２の動作を制御する。
【０４０７】
ディスプレイインタフェース１５１２は、制御部１５１１の制御の下、画像データを例えばコネクティビティ１３２１等に出力する。例えば、ディスプレイインタフェース１５１２は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、又はデジタルデータの画像データのまま、コネクティビティ１３２１のモニタ装置等に出力する。
【０４０８】
ディスプレイエンジン１５１３は、制御部１５１１の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
【０４０９】
画像処理エンジン１５１４は、制御部１５１１の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
【０４１０】
内部メモリ１５１５は、ディスプレイエンジン１５１３、画像処理エンジン１５１４、及びコーデックエンジン１５１６により共用される、ビデオプロセッサ１３３２の内部に設けられたメモリである。内部メモリ１５１５は、例えば、ディスプレイエンジン１５１３、画像処理エンジン１５１４、及びコーデックエンジン１５１６の間で行われるデータの授受に利用される。例えば、内部メモリ１５１５は、ディスプレイエンジン１５１３、画像処理エンジン１５１４、又はコーデックエンジン１５１６から供給されるデータを格納し、必要に応じて（例えば、要求に応じて）、そのデータを、ディスプレイエンジン１５１３、画像処理エンジン１５１４、又はコーデックエンジン１５１６に供給する。この内部メモリ１５１５は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM（Static Random Access Memory）のような比較的（例えば外部メモリ１３１２と比較して）小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
【０４１１】
コーデックエンジン１５１６は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン１５１６が対応する符号化・復号の方式は任意であり、その数は１つであってもよいし、複数であってもよい。例えば、コーデックエンジン１５１６は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化又は符号化データの復号を行うようにしてもよい。
【０４１２】
図４０に示される例において、コーデックエンジン１５１６は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video１５４１、AVC/H.264１５４２、HEVC/H.265１５４３、HEVC/H.265(Scalable)１５４４、HEVC/H.265(Multi-view)１５４５、及びMPEG-DASH１５５１を有する。
【０４１３】
MPEG-2 Video１５４１は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.264１５４２は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265１５４３は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)１５４４は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)１５４５は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
【０４１４】
MPEG-DASH１５５１は、画像データをMPEG-DASH（MPEG-Dynamic Adaptive Streaming over HTTP）方式で送受信する機能ブロックである。MPEG-DASHは、HTTP（HyperText Transfer Protocol）を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の１つとする。MPEG-DASH１５５１は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video１５４１ないしHEVC/H.265(Multi-view)１５４５を利用する。
【０４１５】
メモリインタフェース１５１７は、外部メモリ１３１２用のインタフェースである。画像処理エンジン１５１４やコーデックエンジン１５１６から供給されるデータは、メモリインタフェース１５１７を介して外部メモリ１３１２に供給される。また、外部メモリ１３１２から読み出されたデータは、メモリインタフェース１５１７を介してビデオプロセッサ１３３２（画像処理エンジン１５１４又はコーデックエンジン１５１６）に供給される。
【０４１６】
多重化・逆多重化部（MUX DMUX）１５１８は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部（MUX DMUX）１５１８は、複数のデータを１つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部（MUX DMUX）１５１８は、１つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部（MUX DMUX）１５１８は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部（MUX DMUX）１５１８は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ（ファイルデータ）に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
【０４１７】
ネットワークインタフェース１５１９は、例えばブロードバンドモデム１３３３やコネクティビティ１３２１等向けのインタフェースである。ビデオインタフェース１５２０は、例えばコネクティビティ１３２１やカメラ１３２２等向けのインタフェースである。
【０４１８】
次に、このようなビデオプロセッサ１３３２の動作の例について説明する。例えば、コネクティビティ１３２１やブロードバンドモデム１３３３等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース１５１９を介して多重化・逆多重化部（MUX DMUX）１５１８に供給されて逆多重化され、コーデックエンジン１５１６により復号される。コーデックエンジン１５１６の復号により得られた画像データは、例えば、画像処理エンジン１５１４により所定の画像処理が施され、ディスプレイエンジン１５１３により所定の変換が行われ、ディスプレイインタフェース１５１２を介して例えばコネクティビティ１３２１等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン１５１６の復号により得られた画像データは、コーデックエンジン１５１６により再符号化され、多重化・逆多重化部（MUX DMUX）１５１８により多重化されてファイルデータに変換され、ビデオインタフェース１５２０を介して例えばコネクティビティ１３２１等に出力され、各種記録媒体に記録される。
【０４１９】
さらに、例えば、コネクティビティ１３２１等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース１５２０を介して多重化・逆多重化部（MUX DMUX）１５１８に供給されて逆多重化され、コーデックエンジン１５１６により復号される。コーデックエンジン１５１６の復号により得られた画像データは、画像処理エンジン１５１４により所定の画像処理が施され、ディスプレイエンジン１５１３により所定の変換が行われ、ディスプレイインタフェース１５１２を介して例えばコネクティビティ１３２１等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン１５１６の復号により得られた画像データは、コーデックエンジン１５１６により再符号化され、多重化・逆多重化部（MUX DMUX）１５１８により多重化されてトランスポートストリームに変換され、ネットワークインタフェース１５１９を介して例えばコネクティビティ１３２１やブロードバンドモデム１３３３等に供給され図示せぬ他の装置に伝送される。
【０４２０】
なお、ビデオプロセッサ１３３２内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ１５１５や外部メモリ１３１２を利用して行われる。また、パワーマネージメントモジュール１３１３は、例えば制御部１５１１への電力供給を制御する。
【０４２１】
このように構成されるビデオプロセッサ１３３２に本技術を適用する場合、コーデックエンジン１５１６に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン１５１６が、上述した画像符号化装置１００の機能若しくは画像復号装置２００の機能又はその両方を有するようにすればよい。このようにすることにより、ビデオプロセッサ１３３２は、図１１ないし図３２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４２２】
なお、コーデックエンジン１５１６において、本技術（すなわち、画像符号化装置１００の機能）は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
【０４２３】
以上にビデオプロセッサ１３３２の構成を２例示したが、ビデオプロセッサ１３３２の構成は任意であり、上述した２例以外のものであってもよい。また、このビデオプロセッサ１３３２は、１つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する３次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
【０４２４】
（装置への適用例）
ビデオセット１３００は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット１３００は、テレビジョン装置９００（図３４）、携帯電話機９２０（図３５）、記録再生装置９４０（図３６）、撮像装置９６０（図３７）等に組み込むことができる。ビデオセット１３００を組み込むことにより、その装置は、図１１ないし図３２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４２５】
なお、上述したビデオセット１３００の各構成の一部であっても、ビデオプロセッサ１３３２を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ１３３２のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線１３４１により示されるプロセッサやビデオモジュール１３１１等を、本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール１３１１、外部メモリ１３１２、パワーマネージメントモジュール１３１３、及びフロントエンドモジュール１３１４を組み合わせ、本技術を適用したビデオユニット１３６１として実施することもできる。いずれの構成の場合であっても、図１１ないし図３２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４２６】
つまり、ビデオプロセッサ１３３２を含むものであればどのような構成であっても、ビデオセット１３００の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ１３３２、点線１３４１により示されるプロセッサ、ビデオモジュール１３１１、又は、ビデオユニット１３６１を、テレビジョン装置９００（図３４）、携帯電話機９２０（図３５）、記録再生装置９４０（図３６）、撮像装置９６０（図３７）等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット１３００の場合と同様に、図１１ないし図３２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４２７】
＜第９実施の形態＞
また、本技術は、複数の装置により構成されるネットワークシステムにも適用することもできる。図４１は、本技術を適用したネットワークシステムの概略的な構成の一例を示している。
【０４２８】
図４１に示されるネットワークシステム１６００は、機器同士が、ネットワークを介して画像（動画像）に関する情報を授受するシステムである。このネットワークシステム１６００のクラウドサービス１６０１は、自身に通信可能に接続されるコンピュータ１６１１、AV（Audio Visual）機器１６１２、携帯型情報処理端末１６１３、IoT（Internet of Things）デバイス１６１４等の端末に対して、画像（動画像）に関するサービスを提供するシステムである。例えば、クラウドサービス１６０１は、所謂動画配信（オンデマンドやライブ配信）のような、画像（動画像）のコンテンツの供給サービスを端末に提供する。また、例えば、クラウドサービス１６０１は、端末から画像（動画像）のコンテンツを受け取って保管するバックアップサービスを提供する。また、例えば、クラウドサービス１６０１は、端末同士の画像（動画像）のコンテンツの授受を仲介するサービスを提供する。
【０４２９】
クラウドサービス１６０１の物理構成は任意である。例えば、クラウドサービス１６０１は、動画像を保存し、管理するサーバ、動画像を端末に配信するサーバ、動画像を端末から取得するサーバ、ユーザ（端末）や課金を管理するサーバ等の各種サーバや、インターネットやLAN等の任意のネットワークを有するようにしてもよい。
【０４３０】
コンピュータ１６１１は、例えば、パーソナルコンピュータ、サーバ、ワークステーション等のような情報処理装置により構成される。AV機器１６１２は、例えば、テレビジョン受像機、ハードディスクレコーダ、ゲーム機器、カメラ等のような画像処理装置により構成される。携帯型情報処理端末１６１３は、例えば、ノート型パーソナルコンピュータ、タブレット端末、携帯電話機、スマートフォン等のような携帯型の情報処理装置により構成される。IoTデバイス１６１４は、例えば、機械、家電、家具、その他の物、ICタグ、カード型デバイス等、画像に関する処理を行う任意の物体により構成される。これらの端末は、いずれも通信機能を有し、クラウドサービス１６０１に接続し（セッションを確立し）、クラウドサービス１６０１と情報の授受を行う（すなわち通信を行う）ことができる。また、各端末は、他の端末と通信を行うこともできる。端末間の通信は、クラウドサービス１６０１を介して行うようにしてもよいし、クラウドサービス１６０１を介さずに行うようにしてもよい。
【０４３１】
以上のようなネットワークシステム１６００に本技術を適用し、端末間や、端末とクラウドサービス１６０１との間で画像（動画像）のデータが授受される際に、その画像データを各実施の形態において上述したように符号化・復号するようにしてもよい。つまり、端末（コンピュータ１６１１ないしIoTデバイス１６１４）やクラウドサービス１６０１が、それぞれ、上述した画像符号化装置１００や画像復号装置２００の機能を有するようにしてもよい。このようにすることにより、画像データを授受する端末（コンピュータ１６１１ないしIoTデバイス１６１４）やクラウドサービス１６０１は、図１１ないし図３２を参照して上述した各実施の形態と同様の効果を得ることができる。
【０４３２】
なお、符号化データ（ビットストリーム）に関する各種情報は、符号化データに多重化されて伝送され又は記録されるようにしてもよいし、符号化データに多重化されることなく、符号化データと関連付けられた別個のデータとして伝送され又は記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る（リンクさせ得る）ようにすることを意味する。つまり、互いに関連付けられたデータは、１つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ（画像）に関連付けられた情報は、その符号化データ（画像）とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ（画像）に関連付けられた情報は、その符号化データ（画像）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられるようにしてもよい。
【０４３３】
また、上述したように、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを１つのデータにまとめるといった、複数の物を１つにまとめることを意味し、上述の「関連付ける」の１つの方法を意味する。
【０４３４】
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【０４３５】
また、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【０４３６】
なお、本開示は、以下のような構成もとることができる。
【０４３７】
（１）
並進移動により動き補償を行う並進モード、アフィン変換により動き補償を行うアフィン変換モード、並進移動と回転により動き補償を行う並進回転モード、及び並進移動とスケーリングにより動き補償を行う並進スケーリングモードのいずれかのモードで参照画像に対して動き補償を行い、予測画像を生成する予測部
を備える画像処理装置。
（２）
前記予測部は、前記並進モードで前記参照画像に対して動き補償を行う場合、１つの動きベクトルに基づいて前記参照画像に対して動き補償を行う
ように構成された
（１）に記載の画像処理装置。
（３）
前記予測部は、前記アフィン変換モードで前記参照画像に対して動き補償を行う場合、２つの動きベクトルに基づくアフィン変換を前記参照画像に対して行うことにより、動き補償を行う
ように構成された
（１）又は（２）に記載の画像処理装置。
（４）
前記予測部は、前記並進回転モードで前記参照画像に対して動き補償を行う場合、１つの動きベクトルと回転角とに基づいて、前記参照画像に対して動き補償を行う
ように構成された
（１）ないし（３）のいずれかに記載の画像処理装置。
（５）
前記予測部は、前記並進回転モードで前記参照画像に対して動き補償を行う場合、１つの動きベクトル、及び、前記１つの動きベクトルと他の動きベクトルとの垂直方向の差分に基づいて、前記参照画像に対して動き補償を行う
ように構成された
（１）ないし（３）のいずれかに記載の画像処理装置。
（６）
前記予測部は、前記垂直方向の差分を用いて、前記１つの動きベクトルと他の動きベクトルとの水平方向の差分を求め、前記１つの動きベクトル、前記垂直方向の差分、及び、前記水平方向の差分に基づいて、前記参照画像に対して動き補償を行う
ように構成された
（５）に記載の画像処理装置。
（７）
前記予測部は、前記並進スケーリングモードで前記参照画像に対して動き補償を行う場合、１つの動きベクトルとスケーリング率とに基づいて、前記参照画像に対して動き補償を行う
ように構成された
（１）ないし（６）のいずれかに記載の画像処理装置。
（８）
前記予測部は、前記並進スケーリングモードで前記参照画像に対して動き補償を行う場合、１つの動きベクトル、及び、前記１つの動きベクトルと他の動きベクトルとの水平方向の差分に基づいて、前記参照画像に対して動き補償を行う
ように構成された
（１）ないし（６）のいずれかに記載の画像処理装置。
（９）
前記アフィン変換モード、前記並進回転モード、又は前記並進スケーリングモードを示すアフィン変換情報を設定する設定部
をさらに備える
（１）ないし（８）のいずれかに記載の画像処理装置。
（１０）
前記並進回転モード又は前記並進スケーリングモードを示す並進拡張情報を設定する設定部
をさらに備える
（１）ないし（８）のいずれかに記載の画像処理装置。
（１１）
前記並進回転モードを示す並進回転情報を設定する設定部
をさらに備える
（１）ないし（８）のいずれかに記載の画像処理装置。
（１２）
前記予測部は、前記アフィン変換モード、前記並進回転モード、又は前記並進スケーリングモードを示すアフィン変換情報に基づいて、前記アフィン変換モード、前記並進回転モード、又は前記並進スケーリングモードで前記参照画像に対して動き補償を行う
ように構成された
（１）ないし（８）のいずれかに記載の画像処理装置。
（１３）
前記予測部は、前記並進回転モード又は前記並進スケーリングモードを示す並進拡張情報に基づいて、前記並進回転モード又は前記並進スケーリングモードで前記参照画像に対して動き補償を行う
ように構成された
（１）ないし（８）又は（１２）のいずれかに記載の画像処理装置。
（１４）
前記予測部は、前記並進回転モードを示す並進回転情報に基づいて、前記並進回転モードで前記参照画像に対して動き補償を行う
ように構成された
（１）ないし（８），（１２）、又は（１３）のいずれかに記載の画像処理装置。
（１５）
画像処理装置が、
並進移動により動き補償を行う並進モード、アフィン変換により動き補償を行うアフィン変換モード、並進移動と回転により動き補償を行う並進回転モード、及び並進移動とスケーリングにより動き補償を行う並進スケーリングモードのいずれかのモードで参照画像に対して動き補償を行い、予測画像を生成する予測ステップ
を含む画像処理方法。
【符号の説明】
【０４３８】
１００  画像符号化装置,  １０１  制御部,  １１９  予測部,  ２００  画像復号装置,  ２１６  予測部
【図１】
2018131515.tif 000005
【図２】
2018131515.tif 000006
【図３】
2018131515.tif 000007
【図４】
2018131515.tif 000008
【図５】
2018131515.tif 000009
【図６】
2018131515.tif 000010
【図７】
2018131515.tif 000011
【図８】
2018131515.tif 000012
【図９】
2018131515.tif 000013
【図１０】
2018131515.tif 000014
【図１１】
2018131515.tif 000015
【図１２】
2018131515.tif 000016
【図１３】
2018131515.tif 000017
【図１４】
2018131515.tif 000018
【図１５】
2018131515.tif 000019
【図１６】
2018131515.tif 000020
【図１７】
2018131515.tif 000021
【図１８】
2018131515.tif 000022
【図１９】
2018131515.tif 000023
【図２０】
2018131515.tif 000024
【図２１】
2018131515.tif 000025
【図２２】
2018131515.tif 000026
【図２３】
2018131515.tif 000027
【図２４】
2018131515.tif 000028
【図２５】
2018131515.tif 000029
【図２６】
2018131515.tif 000030
【図２７】
2018131515.tif 000031
【図２８】
2018131515.tif 000032
【図２９】
2018131515.tif 000033
【図３０】
2018131515.tif 000034
【図３１】
2018131515.tif 000035
【図３２】
2018131515.tif 000036
【図３３】
2018131515.tif 000037
【図３４】
2018131515.tif 000038
【図３５】
2018131515.tif 000039
【図３６】
2018131515.tif 000040
【図３７】
2018131515.tif 000041
【図３８】
2018131515.tif 000042
【図３９】
2018131515.tif 000043
【図４０】
2018131515.tif 000044
【図４１】
2018131515.tif 000045
【国際調査報告】
2018131515.tif 000046
2018131515.tif 000047