(57)【要約】  本技術は、符号化効率を向上させることができるようにする画像処理装置及び画像処理方法に関する。予測部は、処理対象のブロックのPOC(Picture Order Count)と、ブロックの予測画像の生成に用いる参照画像のPOCとの距離であるPOC距離に応じて複数の動き補償モードの中から選択された動き補償モードで動き補償を行うことにより、予測画像を生成する。本技術は、例えば、画像を符号化する画像符号化装置や画像を復号する画像復号装置等に適用することができる。
2019039283.tif 000002
【特許請求の範囲】
【請求項１】
処理対象のブロックのPOC(Picture Order Count)と、前記ブロックの予測画像の生成に用いる参照画像のPOCとの距離であるPOC距離に応じて複数の動き補償モードの中から選択された動き補償モードで動き補償を行うことにより、前記予測画像を生成する予測部を備える
画像処理装置。
【請求項２】
前記動き補償モードは、動き補償に用いられるパラメータの数が異なる複数の動き補償モードの中から選択される
請求項１に記載の画像処理装置。
【請求項３】
前記動き補償モードは、前記POC距離が近いほど、前記パラメータの数が少ない動き補償モードの中から選択される
請求項２に記載の画像処理装置。
【請求項４】
前記動き補償モードは、並進移動により動き補償を行う並進モード、３つの動きベクトルに基づくアフィン変換により動き補償を行う完全アフィン変換モード、２つの動きベクトルに基づくアフィン変換により動き補償を行う簡易アフィン変換モード、並進移動と回転により動き補償を行う並進回転モード、及び、並進移動とスケーリングにより動き補償を行う並進スケーリングモードの中から選択される
請求項３に記載の画像処理装置。
【請求項５】
前記予測部は、前記並進モードでは、１つの動きベクトルに基づいて前記参照画像に対して動き補償を行う
請求項４に記載の画像処理装置。
【請求項６】
前記予測部は、前記完全アフィン変換モードでは、３つの動きベクトルに基づくアフィン変換を前記参照画像に対して行うことにより、動き補償を行う
請求項４に記載の画像処理装置。
【請求項７】
前記予測部は、前記簡易アフィン変換モードでは、２つの動きベクトルに基づくアフィン変換を前記参照画像に対して行うことにより、動き補償を行う
請求項４に記載の画像処理装置。
【請求項８】
前記予測部は、前記並進回転モードでは、１つの動きベクトルと回転角とに基づいて、前記参照画像に対して動き補償を行う
請求項４に記載の画像処理装置。
【請求項９】
前記予測部は、前記並進回転モードでは、１つの動きベクトル、及び、前記１つの動きベクトルと他の動きベクトルとの垂直方向の差分に基づいて、前記参照画像に対して動き補償を行う
請求項４に記載の画像処理装置。
【請求項１０】
前記予測部は、前記並進スケーリングモードでは、１つの動きベクトルとスケーリング率とに基づいて、前記参照画像に対して動き補償を行う
請求項４に記載の画像処理装置。
【請求項１１】
前記予測部は、前記並進スケーリングモードでは、１つの動きベクトル、及び、前記１つの動きベクトルと他の動きベクトルとの水平方向の差分に基づいて、前記参照画像に対して動き補償を行う
請求項４に記載の画像処理装置。
【請求項１２】
前記予測部は、前記POC距離、及び、前記POC距離に応じて設定される、前記動き補償モードを表す動き補償モード情報に応じて、動き補償を行う
請求項１に記載の画像処理装置。
【請求項１３】
前記POC距離が近いほど、少ないビット数のフラグを、前記動き補償モード情報として設定する設定部をさらに備える
請求項１２に記載の画像処理装置。
【請求項１４】
画像処理装置が、
処理対象のブロックのPOC(Picture Order Count)と、前記ブロックの予測画像の生成に用いる参照画像のPOCとの距離であるPOC距離に応じて複数の動き補償モードの中から選択された動き補償モードで動き補償を行うことにより、前記予測画像を生成する
ことを含む画像処理方法。
【請求項１５】
処理対象のブロックのPOC(Picture Order Count)と、前記ブロックの予測画像の生成に用いる参照画像のPOCとの距離であるPOC距離に応じて前記ブロックを分割することにより得られる単位ブロックに対応する前記参照画像の参照単位ブロックを並進移動することにより、前記予測画像を、前記単位ブロック単位で生成する予測部を備える
画像処理装置。
【請求項１６】
前記ブロックは、前記POC距離に応じたサイズの前記単位ブロックに分割される
請求項１５に記載の画像処理装置。
【請求項１７】
前記ブロックは、前記POC距離が近いほど、大きなサイズの前記単位ブロックに分割される
請求項１６に記載の画像処理装置。
【請求項１８】
前記予測部は、複数の動きベクトルに基づく動き補償を、
前記複数の動きベクトルから、前記単位ブロックの動きベクトルを求め、
前記単位ブロックの動きベクトルに基づいて、前記単位ブロックに対応する前記参照単位ブロックを並進移動する
ことにより行う
請求項１５に記載の画像処理装置。
【請求項１９】
前記予測部は、前記ブロックを、前記POC距離に応じて、前記単位ブロックに分割する
請求項１５に記載の画像処理装置。
【請求項２０】
画像処理装置が、
処理対象のブロックのPOC(Picture Order Count)と、前記ブロックの予測画像の生成に用いる参照画像のPOCとの距離であるPOC距離に応じて前記ブロックを分割することにより得られる単位ブロックに対応する前記参照画像の参照単位ブロックを並進移動することにより、前記予測画像を、前記単位ブロック単位で生成する
ことを含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、画像処理装置及び画像処理方法に関し、特に、例えば、符号化効率を向上させることができるようにする画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
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
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、アフィン変換を用いる動き補償に用いられるパラメータの数は、１つの動きベクトルに基づいて並進移動のみを補償して予測画像を生成するインター予測処理に比べて、増加する。したがって、オーバーヘッドが増加し、符号化効率が低下する。【０００５】
本技術は、このような状況に鑑みてなされたものであり、符号化効率を向上させることができるようにするものである。
【課題を解決するための手段】
【０００６】
本技術の第１の画像処理装置は、処理対象のブロックのPOC(Picture Order Count)と、前記ブロックの予測画像の生成に用いる参照画像のPOCとの距離であるPOC距離に応じて複数の動き補償モードの中から選択された動き補償モードで動き補償を行うことにより、前記予測画像を生成する予測部を備える画像処理装置である。【０００７】
本技術の第１の画像処理方法は、画像処理装置が、処理対象のブロックのPOC(Picture Order Count)と、前記ブロックの予測画像の生成に用いる参照画像のPOCとの距離であるPOC距離に応じて複数の動き補償モードの中から選択された動き補償モードで動き補償を行うことにより、前記予測画像を生成することを含む画像処理方法である。【０００８】
本技術の第１の画像処理装置及び画像処理方法においては、処理対象のブロックのPOC(Picture Order Count)と、前記ブロックの予測画像の生成に用いる参照画像のPOCとの距離であるPOC距離に応じて複数の動き補償モードの中から選択された動き補償モードで動き補償を行うことにより、前記予測画像が生成される。【０００９】
本技術の第２の画像処理装置は、処理対象のブロックのPOC(Picture Order Count)と、前記ブロックの予測画像の生成に用いる参照画像のPOCとの距離であるPOC距離に応じて前記ブロックを分割することにより得られる単位ブロックに対応する前記参照画像の参照単位ブロックを並進移動することにより、前記予測画像を、前記単位ブロック単位で生成する予測部を備える画像処理装置である。【００１０】
本技術の第２の画像処理方法は、画像処理装置が、処理対象のブロックのPOC(Picture Order Count)と、前記ブロックの予測画像の生成に用いる参照画像のPOCとの距離であるPOC距離に応じて前記ブロックを分割することにより得られる単位ブロックに対応する前記参照画像の参照単位ブロックを並進移動することにより、前記予測画像を、前記単位ブロック単位で生成することを含む画像処理方法である。【００１１】
本技術の第２の画像処理装置及び画像処理方法においては、処理対象のブロックのPOC(Picture Order Count)と、前記ブロックの予測画像の生成に用いる参照画像のPOCとの距離であるPOC距離に応じて前記ブロックを分割することにより得られる単位ブロックに対応する前記参照画像の参照単位ブロックを並進移動することにより、前記予測画像が、前記単位ブロック単位で生成される。
【発明の効果】
【００１２】
本技術によれば、符号化効率を向上させることができる。すなわち、本技術によれば、例えば、動きベクトルに基づいて高精度の予測画像を生成する場合にオーバーヘッドを削減し、符号化効率を向上させることができる。【００１３】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１４】
【図１】１つの動きベクトルに基づいて動き補償を行うインター予測処理を説明する図である。
【図２】１つの動きベクトルと回転角とに基づいて動き補償を行うインター予測処理を説明する図である。
【図３】２つの動きベクトルに基づいて動き補償を行うインター予測処理を説明する図である。
【図４】３つの動きベクトルに基づいて動き補償を行うインター予測処理を説明する図である。
【図５】３つの動きベクトルに基づくアフィン変換前後のブロックを説明する図である。
【図６】QTBTを説明する図である。
【図７】画像符号化装置の一実施の形態の構成例を示すブロック図である。
【図８】並進モードを説明する図である。
【図９】並進回転モードの第１の例を説明する図である。
【図１０】並進回転モードの第２の例を説明する図である。
【図１１】並進スケーリングモードの第１の例を説明する図である。
【図１２】並進スケーリングモードの第２の例を説明する図である。
【図１３】動き補償が行われる様子を示す図である。
【図１４】POC距離に応じて、複数の動き補償モードの中から、動き補償に用いる動き補償モードを選択するモード選択方法の例を説明する図である。
【図１５】処理対象のPU３１のPOC距離と、そのPU３１のインター予測処理で用いることができる動き補償の動き補償モードとの関係の例を示す図である。
【図１６】動き補償モード情報とパラメータ情報を説明する図である。
【図１７】予測ベクトルの候補となる隣接パラメータに含まれる動きベクトルを説明する図である。
【図１８】画像符号化処理を説明するフローチャートである。
【図１９】インター予測処理モード設定処理を説明するフローチャートである。
【図２０】マージモード符号化処理を説明するフローチャートである。
【図２１】AMVPモード符号化処理を説明するフローチャートである。
【図２２】画像復号装置の一実施の形態の構成例を示すブロック図である。
【図２３】画像復号処理を説明するフローチャートである。
【図２４】動き補償モード情報復号処理を説明するフローチャートである。
【図２５】マージモード復号処理を説明するフローチャートである。
【図２６】AMVPモード復号処理を説明するフローチャートである。
【図２７】補間フィルタによる分数位置の画素の補間の第１の例を示す図である。
【図２８】補間フィルタによる分数位置の画素の補間の第２の例を示す図である。
【図２９】補間フィルタによる分数位置の画素の補間の第３の例を示す図である。
【図３０】単位ブロックが、2×2画素で構成される場合に、その単位ブロックの動きベクトルvが指す分数位置の画素を生成する水平方向の補間の例を示す図である。
【図３１】単位ブロックが、2×2画素で構成される場合に、その単位ブロックの動きベクトルvが指す分数位置の画素を生成する垂直方向の補間の例を示す図である。
【図３２】完全アフィン変換モードの動き補償の第１の例を説明する図である。
【図３３】PU３１が4×4個の16個の単位ブロックに分割される場合の、i番目の単位ブロックの動きベクトルvが求められる様子を示す図である。
【図３４】完全アフィン変換モードの動き補償の第２の例を説明する図である。
【図３５】PU３１が8×8個の64個の単位ブロックに分割される場合の、i番目の単位ブロックの動きベクトルvが求められる様子を示す図である。
【図３６】PU３１のPOC距離と、単位ブロックのサイズとの関係の例を示す図である。
【図３７】POC距離に応じてPUを単位ブロックに分割する動き補償の処理の例を説明するフローチャートである。
【図３８】単位ブロックの動きベクトルvの精度の第１の例を示す図である。
【図３９】単位ブロックの動きベクトルvの精度の第２の例を示す図である。
【図４０】コンピュータのハードウエアの構成例を示すブロック図である。
【図４１】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図４２】携帯電話機の概略的な構成の一例を示すブロック図である。
【図４３】記録再生装置の概略的な構成の一例を示すブロック図である。
【図４４】撮像装置の概略的な構成の一例を示すブロック図である。
【図４５】ビデオセットの概略的な構成の一例を示すブロック図である。
【図４６】ビデオプロセッサの概略的な構成の一例を示すブロック図である。
【図４７】ビデオプロセッサの概略的な構成の他の例を示すブロック図である。
【図４８】ネットワークシステムの概略的な構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、本技術の実施の形態について説明するが、その前に、インター予測処理について説明する。
【００１６】
＜インター予測処理＞
【００１７】
図１は、１つの動きベクトルに基づいて動き補償を行うインター予測処理（以下、２パラメータMC予測処理ともいう）を説明する図である。
【００１８】
なお、以下では、特に断りの無い限り、画像（ピクチャ）の横方向（水平方向）をｘ方向とし、縦方向（垂直方向）をｙ方向とする。
【００１９】
図１に示すように、２パラメータMC予測処理では、予測対象のPU１１（カレントブロック）に対して１つの動きベクトルvc(vcx,vcy)が決定される。そして、PU１１を含むピクチャ１０とは異なる時刻の参照画像内の、PU１１から動きベクトルvcだけ離れた位置に存在するPU１１と同一のサイズのブロック１３を、予測画像の生成に用いるブロック（以下、参照ブロックともいう）として、その参照ブロックであるブロック１３を、動きベクトルvcに基づいて並進移動することにより動き補償が行われ、PU１１の予測画像が生成される。
【００２０】
すなわち、２パラメータMC予測処理では、参照画像に対してアフィン変換が行われず、画面間の並進移動のみを補償した予測画像が生成される。また、動き補償に用いられるパラメータは、vcxとvcyの２つである。このようなインター予測処理は、AVC（Advanced Video Coding）やHEVC（High Efficiency Video Coding）等で採用されている。
【００２１】
図２は、１つの動きベクトルと回転角とに基づいて動き補償を行うインター予測処理を説明する図である。
【００２２】
図２に示すように、１つの動きベクトルと回転角とに基づいて動き補償を行うインター予測処理では、予測対象のPU１１に対して１つの動きベクトルvc(vcx,vcy)と回転角θが決定される。そして、PU１１を含むピクチャ１０とは異なる時刻の参照画像内の、PU１１から動きベクトルvcだけ離れた位置に回転角θの傾きで存在するPU１１と同一のサイズのブロック２１を参照ブロックとして、その参照ブロックであるブロック２１を、動きベクトルvcと回転角θに基づいてアフィン変換することにより動き補償が行われ、PU１１の予測画像が生成される。
【００２３】
すなわち、１つの動きベクトルと回転角とに基づいて動き補償を行うインター予測処理では、１つの動きベクトルと回転角とに基づいて参照画像に対してアフィン変換が行われる。これにより、画面間の並進移動と回転方向の動きを補償した予測画像が生成される。したがって、２パラメータMC予測処理に比べて、予測画像の精度が向上する。また、動き補償に用いられるパラメータは、vcx，vcy、及び、θの３つである。
【００２４】
図３は、２つの動きベクトルに基づいて動き補償を行うインター予測処理（以下では、４パラメータアフィンMC予測処理ともいう）を説明する図である。
【００２５】
図３に示すように、４パラメータアフィンMC予測処理では、予測対象（処理対象）（符号化対象又は復号対象）のPU３１に対して、PU３１の左上の頂点Aにおける動きベクトルv0=(v0x,v0y)と右上の頂点Bにおける動きベクトルv1=(v1x,v1y)が決定される。
【００２６】
そして、PU３１を含むピクチャとは異なる時刻の参照画像内の、頂点Aから動きベクトルv0だけ離れた点A'を左上の頂点とし、頂点Bから動きベクトルv1だけ離れた点B'を右上の頂点とするブロック３２を参照ブロックとして、その参照ブロックであるブロック３２を、動きベクトルv0と動きベクトルv1とに基づいてアフィン変換することにより動き補償が行われ、PU３１の予測画像が生成される。
【００２７】
具体的には、PU３１が、予測画像の生成の単位である所定のサイズのブロック（以下、単位ブロックという）に分割される。そして、各単位ブロックの動きベクトルv=(vx,vy)が、動きベクトルv0=(v0x,v0y)と動きベクトルv1=(v1x,v1y)とに基づいて、以下の式（１）により求められる。
【００２８】
vx=(v1x-v0x)x/W-(v1y-v0y)y/H+v0x
vy=(v1y-v0y)x/W-(v1x-v0x)y/H+v0y
・・・（１）
【００２９】
式（１）において、Wは、PU３１のx方向のサイズであり、Hは、PU３１のy方向のサイズを表す。以下では、説明を簡単にするため、WとHとが等しく、PU３１は正方形状であることとする。x,yは、それぞれ、単位ブロックのx方向、y方向の位置を表す(x=0,1,…,y=0,1,…)。式（１）によれば、単位ブロックの位置に基づいて、単位ブロックの動きベクトルvが決定される。
【００３０】
そして、参照画像内の、各単位ブロックから動きベクトルvだけ離れた単位ブロックと同一のサイズのブロック（以下、参照単位ブロックともいう）を、動きベクトルvに基づいて並進移動することにより、PU３１の予測画像が単位ブロック単位で生成される。
【００３１】
以上のように、４パラメータアフィンMC予測処理では、２つの動きベクトルに基づいて参照画像に対してアフィン変換が行われる。これにより、画面間の並進移動及び回転方向の動きだけでなく、拡大や縮小といった形状の変化を補償した予測画像が生成される。したがって、１つの動きベクトルと回転角とに基づいて動き補償を行うインター予測処理に比べて、予測画像の精度が向上する。また、動き補償に用いられるパラメータは、v0x，v0y，v1x、及び、v1yの４つである。このようなインター予測処理は、JEM（Joint Exploration Model）参照ソフトウエアで採用されている。
【００３２】
なお、２つの動きベクトルに基づくアフィン変換は、アフィン変換前後のブロックが矩形であることを前提としたアフィン変換である。アフィン変換前後のブロックが矩形以外の四角形である場合にもアフィン変換を行うためには、３つの動きベクトルが必要である。
【００３３】
図４は、３つの動きベクトルに基づいて動き補償を行うインター予測処理（以下、６パラメータアフィンMC予測処理ともいう）を説明する図である。
【００３４】
図４に示すように、６パラメータアフィンMC予測処理では、予測対象のPU３１に対して、動きベクトルv0=(v0x,v0y)と動きベクトルv1=(v1x,v1y)だけでなく、左下の頂点Cの動きベクトルv2=(v2x,v2y)が決定される。
【００３５】
そして、PU３１を含むピクチャとは異なる時刻の参照画像内の、頂点Aから動きベクトルv0だけ離れた点A'を左上の頂点とし、頂点Bから動きベクトルv1だけ離れた点B'を右上の頂点とし、頂点Cから動きベクトルv2だけ離れた点C'を左下の頂点とするブロック４２を参照ブロックとして、その参照ブロックであるブロック４２を、動きベクトルv0ないしv2に基づいてアフィン変換することにより動き補償が行われ、PU３１の予測画像が生成される。
【００３６】
すなわち、PU３１が、単位ブロックに分割され、各単位ブロックの動きベクトルv=(vx,vy)が、動きベクトルv0=(v0x,v0y)，v1=(v1x,v1y)、及び、v2=(v2x,v2y)に基づいて、式（２）に従って求められる。
【００３７】
vx=(v1x-v0x)x/W+(v2x-v0x)y/H+v0x
vy=(v1y-v0y)x/W+(v2y-v0y)y/H+v0y
・・・（２）
【００３８】
式（２）において、W，H，x，yは、式（１）で説明したように、PU３１のx方向のサイズ、y方向のサイズ、単位ブロックのx方向、y方向の位置を、それぞれ表す。式（２）によれば、単位ブロックの動きベクトルvは、その単位ブロックの位置(x,y)に応じて、動きベクトルv0ないしv2を比例配分するように求められる。
【００３９】
以下、６パラメータアフィンMC予測処理では、図３で説明した４パラメータアフィンMC予測処理と同様に、参照画像内の、各単位ブロックから動きベクトルvだけ離れた単位ブロックと同一のサイズの参照単位ブロックを、動きベクトルvに基づいて並進移動することにより、PU３１の予測画像が単位ブロック単位で生成される。
【００４０】
図５は、６パラメータアフィンMC予測処理において、３つの動きベクトルに基づいて参照画像に対して行われるアフィン変換の概要を示す図である。
【００４１】
３つの動きベクトルに基づいて参照画像に対して行われるアフィン変換によれば、参照ブロックであるブロック４２について、図５のＡに示すような並進移動（Translation）、図５のＢに示すようなスキュー（Skew）、図５のＣに示すような回転（Rotation）、図５のＤに示すような拡大又は縮小（Scaling）を表現することができる。
【００４２】
その結果、画面間の並進移動、回転、拡大縮小、スキューや、それらの複数を組み合わせた動き（形状の変化を含む）を補償した予測画像を生成することができる。
【００４３】
なお、図５では、アフィン変換前のブロック４２を実線で示し、アフィン変換後のブロック４２を点線で示している。
【００４４】
これに対して、図３で説明した４パラメータアフィンMC予測処理では、予測画像に対して、スキューを補償することはできないが、画面間の並進移動、回転、拡大縮小や、それらの複数を組み合わせた動きを補償することができる。
【００４５】
４パラメータアフィンMC予測処理や６パラメータアフィンMC予測処理では、画面間の並進移動のみを補償する２パラメータMC予測処理に比べて、予測画像の精度が向上する。
【００４６】
但し、４パラメータアフィンMC予測処理では、インター予測処理におけるパラメータは、v0x，v0y，v1x、及び、v1yの４つである。また、６パラメータアフィンMC予測処理では、動き補償に用いられるパラメータは、v0x，v0y，v1x，v1y，v2x、及び、v2yの６つである。したがって、４パラメータアフィンMC予測処理や６パラメータアフィンMC予測処理では、２パラメータMC予測処理に比べて、動き補償に用いられるパラメータの数が増加する。
【００４７】
以上から、インター予測処理の予測精度の向上とオーバーヘッドの抑制とは、トレードオフの関係になる。
【００４８】
なお、JVETでは、制御信号により、４パラメータアフィンMC予測処理と６パラメータアフィンMC予測処理を切り替える技術が提案されている。
【００４９】
図６は、JVETにおいて採用されたQTBT(Quad tree plus binary tree)を説明する図である。
【００５０】
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）、サブブロック、マクロブロック、タイル、又はスライス等、任意の部分領域（処理単位）が含まれることとする。
【００５３】
HEVCでは、１つのブロックを水平方向及び垂直方向に分割して４（=2x2）個のサブブロックにのみすることができる。これに対して、QTBTでは、１つのブロックを４（=2x2）個のサブブロックだけでなく、水平方向及び垂直方向のいずれか一方にのみ分割して２（=1x2,2x1）個のサブブロックにもすることができる。すなわち、QTBTでは、CU（Coding Unit）の形成は、１つのブロックの４個又は２個のサブブロックへの分割を再帰的に繰り返すことにより行われ、結果として四分木（Quad-Tree）状、又は、２分木（Binary-Tree）状のツリー構造が形成される。したがって、CUの形状は、正方形だけでなく、長方形になる可能性がある。なお、以下では、説明を簡単にするため、PUとTUは、CUと同一であるものとする。
【００５４】
＜本技術を適用した画像符号化装置の一実施の形態＞
【００５５】
図７は、本技術を適用した画像処理装置としての画像符号化装置の一実施の形態の構成例を示すブロック図である。
【００５６】
図７において、画像符号化装置１００は、AVCやHEVCのように、画像とその画像の予測画像との予測残差を符号化する。例えば、画像符号化装置１００は、HEVCの技術や、JVETにて提案された技術を実装することができる。
【００５７】
なお、図７においては、処理部やデータの流れ等の主なものを示しており、図７に示されるものが全てとは限らない。つまり、画像符号化装置１００において、図７においてブロックとして示されていない処理部が存在したり、図７において矢印等として示されていない処理やデータの流れが存在したりしてもよい。
【００５８】
画像符号化装置１００は、必要に応じて、インター予測処理により画像の符号化を行う。さらに、画像符号化装置１００では、インター予測処理で行われる動き補償の動き補償モードとして、例えば、並進モード、並進回転モード、並進スケーリングモード、簡易アフィン変換モード、及び、完全アフィン変換モードが用意され、PUのインター予測処理において適切な動き補償モードで動き補償が行われる。
【００５９】
ここで、並進モードとは、図１で説明したように、２パラメータMC予測処理が行われる動き補償モードであり、１つの動きベクトルvc=(vcx,vcy)の２つのパラメータに基づいて並進移動の動きを補償する動き補償モードである。
【００６０】
並進回転モードとは、１つの動きベクトルvc=(vcx,vcy)と回転角を示す角度情報との３つのパラメータに基づいて並進移動と回転とを行うことにより、並進移動と回転方向の動きとを補償する動き補償モードである。
【００６１】
並進スケーリングモードとは、１つの動きベクトルvc=(vcx,vcy)とスケーリング率を示すスケーリング情報との３つのパラメータに基づいて並進移動とスケーリングを行うことにより、並進移動とスケーリングとを補償するモードである。
【００６２】
簡易アフィン変換モードとは、図３で説明したように、４パラメータアフィンMC予測処理が行われる動き補償モードであり、２つの動きベクトルv0=(v0x,v0y)及びv1=(v1x,v1y)としての４つのパラメータに基づいて、並進移動、回転、及び、スケーリングの動きを補償する動き補償モードである。
【００６３】
完全アフィン変換モードとは、図４で説明したように、６パラメータアフィンMC予測処理が行われる動き補償モードであり、３つの動きベクトルv0=(v0x,v0y)，v1=(v1x,v1y)、及び、v2=(v2x,v2y)としての６つのパラメータに基づいて、並進移動、回転、スケーリング、及び、スキューの動きを補償する動き補償モードである。
【００６４】
並進モード、並進回転モード、並進スケーリングモード、簡易アフィン変換モード、及び、完全アフィン変換モードについては、並進モード、並進回転モード及び並進スケーリングモード、簡易アフィン変換モード、完全アフィン変換モードの順で、予測画像の予測精度が向上する傾向にあるが、その順で、動き補償に必要なパラメータの数、ひいては、オーバーヘッドが増加する。
【００６５】
そこで、画像符号化装置１００は、インター予測処理において、例えば、PUごとに、複数の動き補償モードである並進モード、並進回転モード、並進スケーリングモード、簡易アフィン変換モード、及び、完全アフィン変換モードの中から適切な動き補償モードを選択し、その動き補償モードで動き補償を行う。
【００６６】
これにより、１つの動き補償モードに固定してインター予測処理を行う場合に比較して、オーバーヘッドを削減し、符号化効率を向上させることができる。さらに、予測画像の予測精度が向上し、これにより、予測残差が小さくなり、結果として、符号化効率を向上させることができる。
【００６７】
なお、画像符号化装置１００において用意する複数の動き補償モードは、並進モード、並進回転モード、並進スケーリングモード、簡易アフィン変換モード、及び、完全アフィン変換モードの５つのモードに限定されるものではない。
【００６８】
図７において、画像符号化装置１００は、制御部１０１、演算部１１１、変換部１１２、量子化部１１３、符号化部１１４、逆量子化部１１５、逆変換部１１６、演算部１１７、フレームメモリ１１８、及び予測部１１９を有する。画像符号化装置１００は、入力されるフレーム単位の動画像であるピクチャに対して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モードであることを示す場合０である。
【００７３】
動き補償モード情報は、後述するPOC距離とともに、動き補償モードが、並進モード、並進回転モード、並進スケーリングモード、簡易アフィン変換モード、又は、完全アフィン変換モードであることを示す情報である。
【００７４】
パラメータ情報は、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の予測画像P（予測ブロック）を減算して予測残差Dを求め、それを変換部１１２に供給する。
【００７８】
変換部１１２は、制御部１０１から供給される変換情報Tinfoに基づいて、演算部１１１から供給される予測残差Dに対して直交変換等を行い、変換係数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の動き補償モード情報の確率が高くなるように、CABACの確率モデルを設定してPUの動き補償モード情報を符号化することにより、オーバーヘッドを削減し、符号化効率を改善することができる。
【００８３】
なお、隣接PUの数が複数である場合、符号化部１１４は、隣接PUの動き補償モード情報ごとの数に基づいてCABACの確率モデルを設定するようにしてもよい。また、符号化部１１４は、動き補償モード情報に基づいて、CABACの確率モデルのコンテキストを切り替えるのではなく、動き補償モード情報に割り当てる符号（ビット列）を切り替えるようにしてもよい。
【００８４】
符号化部１１４は、例えば、符号化の結果得られる各シンタックス要素のビット列である符号化データを多重化し、符号化ストリームとして出力する。
【００８５】
逆量子化部１１５は、制御部１０１から供給される変換情報Tinfoに基づいて、量子化部１１３から供給される量子化変換係数レベルlevelの値をスケーリング（逆量子化）し、逆量子化後の変換係数Coeff_IQを算出する。逆量子化部１１５は、その変換係数Coeff_IQを逆変換部１１６に供給する。この逆量子化部１１５により行われる逆量子化は、量子化部１１３により行われる量子化の逆処理である。
【００８６】
逆変換部１１６は、制御部１０１から供給される変換情報Tinfoに基づいて、逆量子化部１１５から供給される変換係数Coeff_IQに対して逆直交変換等を行い、予測残差D'を算出する。逆変換部１１６は、その予測残差D'を演算部１１７に供給する。この逆変換部１１６により行われる逆直交変換は、変換部１１２により行われる直交変換の逆処理である。
【００８７】
演算部１１７は、逆変換部１１６から供給される予測残差D'と、予測部１１９より供給される、その予測残差D'に対応する予測画像Pとを加算して局所的な復号画像Recを算出する。演算部１１７は、その局所的な復号画像Recをフレームメモリ１１８に供給する。
【００８８】
フレームメモリ１１８は、演算部１１７より供給される局所的な復号画像Recを用いてピクチャ単位の復号画像を再構築し、フレームメモリ１１８内のDPB(Decoded Picture Buffer)と呼ばれるバッファ（図示せず）へ格納する。フレームメモリ１１８は、予測部１１９により指定される復号画像を参照画像としてバッファより読み出し、予測部１１９に供給する。また、フレームメモリ１１８は、復号画像の生成に係るヘッダ情報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が０である場合、インター予測処理に用いられる２つの動きベクトルは、パラメータ情報により特定される２つの予測ベクトルと、各予測ベクトルに対応してパラメータ情報に含まれる差分とをそれぞれ加算することにより得られる２つの動きベクトルである。
【００９５】
動き補償モードが完全アフィン変換モードである場合、予測部１１９は、３つの動きベクトルに基づくアフィン変換を参照画像に対して行うことにより、並進移動、回転、スケーリング、及び、スキューを補償する完全アフィン変換モードの動き補償によるインター予測処理を行う。なお、Merge flagが１である場合、インター予測処理に用いられる３つの動きベクトルは、パラメータ情報により特定される３つの予測ベクトルである。一方、Merge flagが０である場合、インター予測処理に用いられる３つの動きベクトルは、パラメータ情報により特定される３つの予測ベクトルと、各予測ベクトルに対応してパラメータ情報に含まれる差分とをそれぞれ加算することにより得られる３つの動きベクトルである。
【００９６】
予測部１１９は、イントラ予測処理又はインター予測処理の結果生成される予測画像Pを演算部１１１及び１１７に供給する。
【００９７】
図８は、並進モードの動き補償による予測画像の生成の例を説明する図である。
【００９８】
図８に示すように、動き補償モードが並進モードである場合、予測部１１９は、処理対象のPU３１の左上の頂点Aの動きベクトルv0に基づいて、参照画像内の、PU３１から動きベクトルv0だけ離れた点A'を左上の頂点とするPU３１と同一のサイズのブロックである参照ブロック１３３を並進移動する。そして、予測部１１９は、並進移動後の参照ブロック１３３をPU３１の予測画像とする。この場合、動き補償に用いられるパラメータは、v0xとv0yの２つである。
【００９９】
図９は、並進回転モードの動き補償による予測画像の生成の例を説明する図である。
【０１００】
動き補償モードが並進回転モードである場合、図９に示すように、予測部１１９は、処理対象のPU３１の頂点Aの動きベクトルv0と角度情報としての回転角θに基づいて、参照画像内の、PU３１から動きベクトルv0だけ離れた点A'を左上の頂点とし、回転角θだけ回転したPU３１と同一のサイズのブロックである参照ブロック１３４を並進移動及び回転する。そして、予測部１１９は、並進移動及び回転後の参照ブロック１３４をPU３１の予測画像とする。この場合、動き補償に用いられるパラメータは、v0x，v0y、及びθの３つである。
【０１０１】
並進回転モードの動き補償では、以上のような予測画像を生成する処理が、以下のように、近似的に行われる。
【０１０２】
すなわち、並進回転モードの動き補償では、動きベクトル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３１を、所定のサイズとしての、例えば、横×縦が2×2画素や4×4画素等の単位ブロックに分割することにより得られる、その単位ブロックに対応する参照画像のブロックである参照単位ブロック単位での並進移動によって行われる。すなわち、参照ブロック１３４の並進移動及び回転は、PU３１を分割した単位ブロックに対応する参照単位ブロックの並進移動で近似することにより行われる。
【０１０５】
具体的には、各単位ブロックの動きベクトルv=(vx,vy)が、頂点Aの動きベクトルv0=(v0x,v0y)と、頂点Bの動きベクトルv1=(v1x,v1y)とに基づいて、上述の式（１）に従って求められる。
【０１０６】
そして、参照画像内の、各単位ブロックから動きベクトルvだけ離れた単位ブロックと同一のサイズのブロックである参照単位ブロックを、動きベクトルvに基づいて並進移動することにより、PU３１の予測画像が、単位ブロック単位で生成される。
【０１０７】
図１０は、並進回転モードの動き補償による予測画像の生成の他の例を説明する図である。
【０１０８】
図９の例では、角度情報として、回転角θを用いたが、角度情報としては、図１０に示すように、頂点Aの動きベクトルv0と頂点Bの動きベクトルv1との垂直方向の差分dvyを用いることができる。すなわち、回転角θが小さい場合、Wsinθは差分dvyで近似することができるので、回転角θに代えて差分dvyを、角度情報として用いることができる。差分dvyを角度情報として用いる場合、動き補償では、動きベクトルv1=(v1x,v1y)は、式(v1x,v1y)=(v0x，v0y+Wsinθ)≒(v0x，v0y+dvy)に従って求められる。したがって、動き補償時に三角関数の計算を行う必要がなく、動き補償時の計算量を削減することができる。
【０１０９】
図１１は、並進スケーリングモードの動き補償による予測画像の生成を説明する図である。
【０１１０】
図１１に示すように、動き補償モードが並進スケーリングモードである場合、予測部１１９は、処理対象のPU３１の頂点Aの動きベクトルv0とスケーリング情報としてのスケーリング率Ｓに基づいて、参照画像内の、PU３１から動きベクトルv0だけ離れた点A'を左上の頂点とするPU３１のS倍のサイズのブロックである参照ブロック１３５を、並進移動及び1/S倍にスケーリングする。そして、予測部１１９は、並進移動及びスケーリング後の参照ブロック１３５をPU３１の予測画像とする。この場合、動き補償に用いられるパラメータは、v0x，v0y、及び、Sの３つである。また、スケーリング率Sとは、PU３１のサイズWをS1とし、参照ブロック１３５のx方向のサイズをS2としたとき、S2/S1で表される。サイズＳ1は既知であるため、スケーリング率Sを用いて、サイズS1からサイズS2を求めることができる。
【０１１１】
並進スケーリングモードの動き補償では、以上のような予測画像を生成する処理が、以下のように、近似的に行われる。
【０１１２】
すなわち、並進スケーリングモードの動き補償では、動きベクトルv0=(v0x,v0y)及びスケーリング率Sを用いて、PU３１の頂点Bを始点とするベクトルであり、かつ、PU３１を動きベクトルv0=(v0x,v0y)だけ並進移動し、その並進移動後のPU３１を、スケーリング率Sだけスケーリングした後のPU３１の頂点Bを終点とするベクトル（v0x+S1S-S1，v0y）が、PU３１の頂点Bの動きベクトルv1=(v1x,v1y)として求められる。
【０１１３】
そして、参照画像において、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３１の予測画像が、単位ブロック単位で生成される。
【０１１７】
図１２は、並進スケーリングモードの動き補償による予測画像の生成の他の例を説明する図である。
【０１１８】
図１１の例では、スケーリング情報として、スケーリング率Sを用いたが、スケーリング情報としては、図１２に示すように、頂点Aの動きベクトルv0と頂点Bの動きベクトルv1との水平方向の差分dvxを用いることができる。この場合、参照ブロック１３５の横方向のサイズS2をサイズS1と差分dvxの加算のみで求めることができ、すなわち、PU３１の頂点Bの動きベクトルv1=(v1x,v1y)を、式(v1x,v1y)=（v0x+dvx，v0y）に従い、加算のみで求めることができ、動き補償時の計算量を削減することができる。なお、スケーリング率Sは、(S1+dvx)/S1で表される。
【０１１９】
以上のように、並進回転モード及び並進スケーリングモードの動き補償では、図３の簡易アフィン変換モードの動き補償（による４パラメータアフィンMC予測処理）に用いられる４つのパラメータよりも少ない３つのパラメータ（１つの動きベクトルv0=(v0x,v0y)と、角度情報又はスケーリング情報）が用いられる。但し、予測画像の生成は、簡易アフィン変換モードの動き補償と同様に、単位ブロックの動きベクトルvを、２つの動きベクトルv0及びv1から求め、その動きベクトルvに基づいて、参照単位ブロックを並進移動することにより、単位ブロック単位で行われる。
【０１２０】
図１３は、動き補償が行われる様子を示す図である。
【０１２１】
図１３では、ピクチャp(N-3)，p(N-2)，p(N-1)，p(N)，p(N+1)が、表示順に並んでおり、N+1番目のピクチャp(N+1)が、処理対象のピクチャになっている。ピクチャp(n)は、表示順がn番目のピクチャである。
【０１２２】
図１３では、ピクチャp(N-3)ないしp(N)については、符号化及び（局所）復号が終了し、ピクチャp(N-3)ないしp(N)は、復号画像として、図７のフレームメモリ１１８（のバッファ）に記憶（格納）されている。
【０１２３】
画像符号化装置１００では、フレームメモリ１１８に記憶されたピクチャp(N-3)ないしp(N)に対して、リファレンスインデクスが割り当てられる。図１３では、ピクチャp(N-3)ないしp(N)に対して、リファレンスインデクス３，２，１，０がそれぞれ割り当てられている。
【０１２４】
図１３では、処理対象のピクチャp(N+1)のあるPU３１が処理対象になっており、その処理対象のPU３１のインター予測処理での動き補償に用いられる参照画像は、リファレンスインデクスにより指定される。リファレンスインデクスは、参照画像を指定するための情報で、POC(Picture Order Count)が異なるピクチャには、異なるリファレンスインデクスが割り当てられる。リファレンスインデクスは、図７で説明した参照画像特定情報に相当する。
【０１２５】
図１３では、処理対象のPU３１については、リファレンスインデクスが０のピクチャp(N)が、参照画像になっており、したがって、ピクチャp(N)を参照画像として、動き補償が行われ、PU３１の予測画像が生成される。
【０１２６】
図１３では、３つの動きベクトルv0=(v0x,v0y)，v1=(v1x,v1y)、及び、v2=(v2x,v2y)に基づく動き補償、すなわち、完全アフィン変換モードの動き補償が行われるようになっている。
【０１２７】
完全アフィン変換モードの動き補償に用いられるパラメータは、v0x，v0y，v1x，v1y，v2x、及び、v2yの６つのパラメータであり、完全アフィン変換モードの動き補償では、２つのパラメータv0x及びv0yが必要な並進モードの動き補償や、１つの動きベクトルvc=(vcx,vcy)と角度情報又はスケーリング情報との３つのパラメータが必要な並進回転モード又は並進スケーリングモードの動き補償、２つの動きベクトルv0=(v0x,v0y)及びv1=(v1x,v1y)である４つのパラメータが必要な簡易アフィン変換モードの動き補償に比較して、予測精度は向上するが、オーバーヘッドが増加して、符号化効率は低下する。
【０１２８】
そこで、画像符号化装置１００では、処理対象のPU３１（を含むピクチャ）の表示順を表すPOCと、PU３１の予測画像の生成に用いる参照画像のPOCとの距離であるPOC距離に応じて複数の動き補償モードの中から選択された動き補償モードで動き補償を行って、予測画像を生成することで、オーバーヘッドを削減し、符号化効率を向上させる。
【０１２９】
なお、PU３１（を含むピクチャ）のPOCと参照画像のPOCとのPOC距離は、PU３１のPOCと参照画像のPOCとの差の絶対値として求めることができる。参照画像が、例えば、PU３１を含むピクチャP(N+1)の1ピクチャ前のピクチャP(N)である場合には、PU３１のPOCと参照画像のPOCとのPOC距離は、１である。
【０１３０】
図１４は、POC距離に応じて、複数の動き補償モードの中から、動き補償に用いる動き補償モードを選択するモード選択方法の例を説明する図である。
【０１３１】
図１４では、図１３と同様に、ピクチャp(N-3)ないしp(N+1)が、表示順に示されている。
【０１３２】
図１４のＡでは、処理対象のPU３１のインター予測処理での動き補償に用いられる参照画像が、PU３１を含むピクチャP(N+1)とのPOC距離が１のピクチャP(N)になっている。
【０１３３】
一方、図１４のＢでは、処理対象のPU３１のインター予測処理での動き補償に用いられる参照画像が、PU３１を含むピクチャP(N+1)とのPOC距離が４のピクチャP(N-3)になっている。
【０１３４】
ここで、動画像では、POC距離が近いピクチャどうしについては、動きによる変化が小さく、POC距離が遠いピクチャどうしについては、動きによる変化が大きくなる傾向がある。
【０１３５】
動きによる変化が小さい場合、パラメータ（の）数の多い、例えば、完全アフィン変換モードの動き補償は勿論、パラメータ数の少ない、例えば、１つの動きベクトルv0を用いる並進モード等の動き補償であっても、予測精度の高い予測画像を得ることができる可能性が高い。
【０１３６】
一方、動きによる変化が大きい場合には、パラメータ数の少ない、例えば、並進モード等の動き補償では、予測精度の高い予測画像を得ることができる可能性は低く、パラメータ数の多い、例えば、３つの動きベクトルv0ないしv2を用いる完全アフィン変換モードの動き補償の方が、予測精度の高い予測画像を得ることができる可能性が高くなる。
【０１３７】
そこで、画像符号化装置１００では、PU３１（を含むピクチャ）のPOCと参照画像のPOCとのPOC距離に応じて、そのPOC距離が近いほど、パラメータ数が少ない動き補償モードを、インター予測処理に選択する。
【０１３８】
すなわち、画像符号化装置１００は、例えば、図１４のＡに示したように、PU３１のPOCと参照画像のPOCとのPOC距離が１で、小さい場合には、パラメータ数の少ない、例えば、並進モード等の動き補償を、インター予測処理に選択する。この場合、パラメータ数の少ない動き補償によって、予測精度の高い予測画像を得ることができ、その結果、オーバーヘッドを削減して、符号化効率を向上させることができる。
【０１３９】
また、画像符号化装置１００は、例えば、図１４のＢに示したように、PU３１のPOCと参照画像のPOCとのPOC距離が４で、大きい場合には、パラメータ数の多い、例えば、完全アフィン変換モード等の動き補償を、インター予測処理に選択する。この場合、パラメータ数が多くなってオーバーヘッドが増加するが、予測精度の高い予測画像を得ることができるので、予測残差が小さくなり、結果として、符号化効率を向上させることができる。
【０１４０】
ここで、以下、適宜、PU３１のPOCと参照画像のPOCとのPOC距離を、単に、PU３１のPOC距離ともいう。
【０１４１】
図１４では、PU３１のPOC距離が１であるか、又は、４であるかで、PU３１の動き補償を行う動き補償モードとして、並進モード、又は、完全アフィン変換モードを選択することとしたが、POC距離に応じた動き補償モードの選択の方法は、これに限定されるものではない。
【０１４２】
図１５は、処理対象のPU３１のPOC距離と、そのPU３１のインター予測処理で用いることができる動き補償の動き補償モードとの関係の例を示す図である。
【０１４３】
図１５では、PU３１のPOC距離が近いほど、パラメータ数が少ない動き補償モードを、インター予測処理に選択し得る（POC距離が遠いほど、パラメータ数が多い動き補償モードが、インター予測処理に選択し得る）ようになっている。
【０１４４】
すなわち、図１５において、"1"は、インター予測処理に選択し得る動き補償モードを示し、"0"は、インター予測処理に選択することができない動き補償モードを示している。
【０１４５】
図１５によれば、PU３１のPOC距離が１である場合には、必要なパラメータ数が２つの並進モードだけを、PU３１のインター予測処理に選択し得る動き補償モードの候補である候補モードとして、その候補モードである並進モード（の動き補償）を、PU３１のインター予測処理に選択することができる。
【０１４６】
PU３１のPOC距離が２である場合には、必要なパラメータ数が２つの並進モード、並びに、必要なパラメータ数が３つの並進回転モード及び並進スケーリングモードを、候補モードとして、その候補モードである並進モード、並進回転モード、又は、並進スケーリングモードを、PU３１のインター予測処理に選択することができる。
【０１４７】
PU３１のPOC距離が３である場合には、必要なパラメータ数が２つの並進モード、必要なパラメータ数が３つの並進回転モード及び並進スケーリングモード、並びに、必要なパラメータ数が４つの簡易アフィン変換モードを、候補モードとして、その候補モードである並進モード、並進回転モード、並進スケーリングモード、又は、簡易アフィン変換モードを、PU３１のインター予測処理に選択することができる。
【０１４８】
PU３１のPOC距離が４以上である場合には、必要なパラメータ数が２つの並進モード、必要なパラメータ数が３つの並進回転モード及び並進スケーリングモード、必要なパラメータ数が４つの簡易アフィン変換モード、並びに、必要なパラメータ数が６つの完全アフィン変換モードを、候補モードとして、その候補モードである並進モード、並進回転モード、並進スケーリングモード、簡易アフィン変換モード、又は、完全アフィン変換モードを、PU３１のインター予測処理に選択することができる。
【０１４９】
図１６は、動き補償モード情報とパラメータ情報を説明する図である。
【０１５０】
動き補償モード情報は、例えば、０，１，２，３、又は、４ビットのフラグで構成される。
【０１５１】
ここで、本実施の形態では、PU３１のPOC距離に応じて、並進モード、並進回転モード、並進スケーリングモード、簡易アフィン変換モード、及び、完全アフィン変換モードの中から、PU３１のインター予測処理の動き補償の動き補償モードが選択される。
【０１５２】
すなわち、PU３１のPOC距離に応じて、並進モード、並進回転モード、並進スケーリングモード、簡易アフィン変換モード、及び、完全アフィン変換モードの中から、候補モードが選択され、その候補モードの中から、PU３１のインター予測処理の動き補償の動き補償モードが選択される。
【０１５３】
したがって、PU３１のインター予測処理に用いられる動き補償の動き補償モードは、PU３１のPOC距離に応じて、候補モードに制限され、その候補モードの中から選択されるので、動き補償モード情報では、並進モード、並進回転モード、並進スケーリングモード、簡易アフィン変換モード、及び、完全アフィン変換モードの全部ではなく、POC距離に応じて制限される候補モードとなる動き補償モードを表すことができればよい。
【０１５４】
すなわち、POC距離が１である場合、並進モードだけが候補モードに選択される。この場合、インター予測処理に用いられ得る動き補償の動き補償モードは、並進モードだけであり、その並進モードを表すために、動き補償モード情報は、必要ない。そのため、POC距離が１である場合には、動き補償モード情報として、０ビットのフラグが採用される。すなわち、動き補償モード情報は、なしとされる。
【０１５５】
この場合、POC距離が１であるときには、そのPOC距離に応じて、動き補償モードが、並進モードであることを判定（認識）することができる。
【０１５６】
POC距離が２である場合、並進モード、並進回転モード、及び、並進スケーリングモードが候補モードに選択される。この場合、インター予測処理に用いられ得る動き補償の動き補償モードは、並進モード、並進回転モード、又は、並進スケーリングモードであり、その並進モード、並進回転モード、又は、並進スケーリングモードを表すために、動き補償モード情報として、１ビット又は２ビットのフラグが採用される。
【０１５７】
すなわち、POC距離が２である場合、並進モードを表す動き補償モード情報として、１ビットのフラグが採用され、並進回転モード及び並進スケーリングモードそれぞれを表す動き補償モード情報として、２ビットのフラグが採用される。
【０１５８】
具体的には、並進モードを表す動き補償モード情報として、値が１の１ビットのフラグが採用され、並進回転モード又は並進スケーリングモードを表す動き補償モード情報として、それぞれ、値が０１又は００の２ビットのフラグが採用される。
【０１５９】
この場合、POC距離が２であるときには、１ビット又は２ビットのフラグである動き補償モード情報に応じて、その動き補償モード情報が１の１ビットのフラグであれば、動き補償モードが、並進モードであることを判定することができる。また、動き補償モード情報が、０１又は００の２ビットのフラグであれば、それぞれ、動き補償モードが、並進回転モード又は並進スケーリングモードであることを判定することができる。
【０１６０】
POC距離が３である場合、並進モード、並進回転モード、並進スケーリングモード、及び、簡易アフィン変換モードが候補モードに選択される。この場合、インター予測処理に用いられ得る動き補償の動き補償モードは、並進モード、並進回転モード、並進スケーリングモード、又は、簡易アフィン変換モードであり、その並進モード、並進回転モード、並進スケーリングモード、又は、簡易アフィン変換モードを表すために、動き補償モード情報として、１ビット、２ビット、又は、３ビットのフラグが採用される。
【０１６１】
すなわち、POC距離が３である場合、並進モードを表す動き補償モード情報として、１ビットのフラグが採用され、並進回転モードを表す動き補償モード情報として、２ビットのフラグが採用される。また、並進スケーリングモード又は簡易アフィン変換モードを表す動き補償モード情報として、３ビットのフラグが採用される。
【０１６２】
具体的には、並進モードを表す動き補償モード情報として、値が１の１ビットのフラグが採用され、並進回転モードを表す動き補償モード情報として、値が０１の２ビットのフラグが採用される。また、並進スケーリングモード又は簡易アフィン変換モードを表す動き補償モード情報として、それぞれ、値が００１又は０００の３ビットのフラグが採用される。
【０１６３】
この場合、POC距離が３であるときには、１ビット、２ビット、又は、３ビットのフラグである動き補償モード情報に応じて、その動き補償モード情報が１の１ビットのフラグであれば、動き補償モードが、並進モードであることを判定することができ、動き補償モード情報が、０１の２ビットのフラグであれば、動き補償モードが、並進回転モードであることを判定することができる。また、動き補償モード情報が、００１又は０００の３ビットのフラグであれば、それぞれ、動き補償モードが、並進スケーリングモード又は簡易アフィン変換モードであることを判定することができる。
【０１６４】
POC距離が４以上である場合、並進モード、並進回転モード、並進スケーリングモード、簡易アフィン変換モード、及び、完全アフィン変換モードが候補モードに選択される。この場合、インター予測処理に用いられ得る動き補償の動き補償モードは、並進モード、並進回転モード、並進スケーリングモード、簡易アフィン変換モードが候補モード、又は、完全アフィン変換モードであり、その並進モード、並進回転モード、並進スケーリングモード、簡易アフィン変換モードが候補モード、又は、完全アフィン変換モードを表すために、動き補償モード情報として、１ビット、２ビット、３ビット、又は、４ビットのフラグが採用される。
【０１６５】
すなわち、POC距離が４以上である場合、並進モードを表す動き補償モード情報として、１ビットのフラグが採用され、並進回転モードを表す動き補償モード情報として、２ビットのフラグが採用される。また、並進スケーリングモードを表す動き補償モード情報として、３ビットのフラグが採用され、簡易アフィン変換モード又は完全アフィン変換モードを表す動き補償モード情報として、４ビットのフラグが採用される。
【０１６６】
具体的には、並進モードを表す動き補償モード情報として、値が１の１ビットのフラグが採用され、並進回転モードを表す動き補償モード情報として、値が０１の２ビットのフラグが採用される。また、並進スケーリングモードを表す動き補償モード情報として、値が００１の３ビットのフラグが採用され、簡易アフィン変換モード又は完全アフィン変換モードを表す動き補償モード情報として、それぞれ、値が０００１又は００００の４ビットのフラグが採用される。
【０１６７】
この場合、POC距離が４以上であるときには、１ビット、２ビット、３ビット、又は、４ビットのフラグである動き補償モード情報に応じて、その動き補償モード情報が１の１ビットのフラグであれば、動き補償モードが、並進モードであることを判定することができ、動き補償モード情報が、０１の２ビットのフラグであれば、動き補償モードが、並進回転モードであることを判定することができる。また、動き補償モード情報が、００１の３ビットのフラグであれば、動き補償モードが、並進スケーリングモードであることを判定することができ、動き補償モード情報が、０００１又は００００の４ビットのフラグであれば、それぞれ、動き補償モードが、簡易アフィン変換モード又は完全アフィン変換モードであることを判定することができる。
【０１６８】
図１５で説明したことから、並進モード、並進回転モード及び並進スケーリングモード、簡易アフィン変換モード、並びに、完全アフィン変換モードは、その順で、候補モード、ひいては、PU３１の動き補償の動き補償モードに選択されやすい。
【０１６９】
したがって、図１６に示したように、PU３１の動き補償の動き補償モードに選択されやすい並進モード、並進回転モード及び並進スケーリングモード、簡易アフィン変換モード、並びに、完全アフィン変換モードの順に、ビット数が多くなる傾向のフラグを、動き補償モード情報として採用することにより、オーバーヘッドとなる動き補償モード情報のデータ量を抑制し、符号化効率を向上させることができる。
【０１７０】
なお、インター予測処理のモードがAMVPモードである場合、動き補償モードが並進モードであるときには、処理対象のPU３１の１つの動きベクトルv0、すなわち、PU３１の頂点Aの動きベクトルv0に対応する予測ベクトルを特定する情報がパラメータ情報のrefidx0として設定され、その１つの動きベクトルv0と予測ベクトルとの差分がパラメータ情報のmvd0として設定される。
【０１７１】
動き補償モードが並進回転モードであるときには、並進モードであるときと同様に、パラメータ情報のrefidx0とmvd0が設定される。また、処理対象のPU３１の角度情報に対応する予測角度情報を特定する情報がパラメータ情報のrefidx1として設定され、その角度情報と予測角度情報との差分がパラメータ情報のdrとして設定される。
【０１７２】
したがって、角度情報が回転角θを表す場合、drは、処理対象のPU３１の回転角θと予測角度情報としての回転角θ'との差分ｄθである。一方、角度情報が差分dvyを表す場合、drは、処理対象のPU３１の差分dvyと予測角度情報としての差分dvyとの差分mvd1.yである。
【０１７３】
動き補償モードが並進スケーリングモードであるときには、並進モードであるときと同様に、パラメータ情報のrefidx0とmvd0が設定される。また、処理対象のPU３１のスケーリング情報に対応する予測スケーリング情報を特定する情報がパラメータ情報のrefidx1として設定され、そのスケーリング情報と予測スケーリング情報との差分がパラメータ情報のdsとして設定される。
【０１７４】
したがって、スケーリング情報がスケーリング率Sを表す場合、dsは、処理対象のPU３１のスケーリング率Sと予測スケーリング情報としてのスケーリング率Ｓとの差分dSである。一方、スケーリング情報が差分dvxを表す場合、dsは、処理対象のPU３１の差分dvxと予測スケーリング情報としての差分dvxとの差分mvd1.xである。
【０１７５】
動き補償モードが簡易アフィン変換モードであるときには、並進モードであるときと同様に、パラメータ情報のrefidx0とmvd0が設定される。また、処理対象のPU３１のもう１つの動きベクトルv1、すなわち、PU３１の頂点Bの動きベクトルv1に対応する予測ベクトルを特定する情報がパラメータ情報のrefidx1として設定され、その動きベクトルv1と予測ベクトルとの差分がパラメータ情報のmvd1として設定される。
【０１７６】
動き補償モードが完全アフィン変換モードであるときには、簡易アフィン変換モードであるときと同様に、パラメータ情報のrefidx0及びmvd0並びにrefidx1及びmvd1が設定される。また、処理対象のPU３１のさらにもう１つの動きベクトルv2、すなわち、PU３１の頂点Cの動きベクトルv2に対応する予測ベクトルを特定する情報がパラメータ情報のrefidx2として設定され、その動きベクトルv2と予測ベクトルとの差分がパラメータ情報のmvd2として設定される。
【０１７７】
なお、インター予測処理のモードがマージモードである場合、mvd0，mvd1，mvd2，ds，dr，refidx0，refidx1，refidx2は、設定されない。
【０１７８】
図１７は、予測ベクトルの候補となる隣接パラメータに含まれる動きベクトル（以下、隣接ベクトルという）を説明する図である。
【０１７９】
予測部１１９は、図１７の予測対象のPU１５１の左上の頂点Aの動きベクトルv0の予測ベクトルpv0の候補となる隣接ベクトルを、頂点Aを頂点とするPU１５１の左上の符号化済みのPUであるブロックa、上側の符号化済みのPUであるブロックb、又は左側の符号化済みのPUであるブロックcの動きベクトルに基づいて生成する。
【０１８０】
また、予測部１１９は、PU１５１の右上の頂点Bの動きベクトルv1の予測ベクトルpv1の候補となる隣接ベクトルを、頂点Bを頂点とするPU１５１の上側の符号化済みのPUであるブロックd、又は、右上側の符号化済みのPUであるブロックeの動きベクトルに基づいて生成する。
【０１８１】
さらに、予測部１１９は、PU１５１の左下の頂点Cの動きベクトルv2の予測ベクトルpv2の候補となる隣接ベクトルを、頂点Cを頂点とするPU１５１の左側の符号化済みのPUであるブロックf又はgの動きベクトルに基づいて生成する。なお、ブロックaないしgの動きベクトルは、予測部１１９において保持される、各ブロックに１つの動きベクトルである。
【０１８２】
図１７では、予測ベクトルpv0，pv1，pv2の候補となる隣接ベクトルの生成に用いられる動きベクトルの組み合わせの候補は、１２（＝３×２×２）通りある。予測部１１９は、この１２通りの組み合わせの候補のうち、例えば、以下の式（３）により求められるDVが最も小さくなる組み合わせを、予測ベクトルpv0，pv1，pv2の候補となる隣接ベクトルの生成に用いられる動きベクトルの組み合わせとして選択する。
【０１８３】
DV=|(v1x'-v0x')H-(v2y'-v0y')W|+|(v1y'-v0y')H-(v2x'-v0x')W|
・・・（３）
【０１８４】
なお、v0x'，v0y'は、予測ベクトルpv0の生成に用いられるブロックaないしcのいずれかのx方向、y方向の動きベクトルである。v1x'，v1y'は、予測ベクトルpv1の生成に用いられるブロックd及びeのいずれかのx方向、y方向の動きベクトルである。v2x'，v2y'は、予測ベクトルpv2の生成に用いられるブロックf及びgのいずれかのx方向、y方向の動きベクトルである。
【０１８５】
＜画像符号化装置１００の画像符号化処理＞
【０１８６】
図１８は、図７の画像符号化装置１００の画像符号化処理を説明するフローチャートである。
【０１８７】
図１８では、ステップＳ１１において、制御部１０１は、外部からの入力及びRDO等に基づいて、符号化パラメータ（ヘッダ情報Hinfo、予測情報Pinfo、変換情報Tinfo等）を設定する。制御部１０１は、設定された符号化パラメータを各ブロックへ供給し、処理は、ステップＳ１１からステップＳ１２に進む。
【０１８８】
ステップＳ１２において、予測部１１９は、予測情報Pinfoのモード情報pred_mode_flagが、インター予測処理を示すかどうかを判定する。ステップＳ１２において、モード情報pred_mode_flagが、インター予測処理を示すと判定された場合、処理は、ステップＳ１３に進み、予測部１１９は、予測情報PinfoのMerge flagが１であるかどうかを判定する。
【０１８９】
ステップＳ１３において、Merge flagが１であると判定された場合、処理は、ステップＳ１４に進み、予測部１１９は、マージモードのインター予測処理により生成された予測画像Pを用いて符号化対象の画像を符号化するマージモード符号化処理を行い、画像符号化処理は終了する。
【０１９０】
一方、ステップＳ１３において、Merge flagが１ではないと判定された場合、処理は、ステップＳ１５に進み、予測部１１９は、AMVPモードのインター予測処理により生成された予測画像Pを用いて符号化対象の画像を符号化するAMVPモード符号化処理を行い、画像符号化処理は終了する。
【０１９１】
また、ステップＳ１２において、モード情報pred_mode_flagが、インター予測処理を示さないと判定された場合、すなわち、モード情報pred_mode_flagがイントラ予測処理を示す場合、処理は、ステップＳ１６に進む。
【０１９２】
ステップＳ１６において、予測部１１９は、イントラ予測処理により生成された予測画像Pを用いて符号化対象の画像Ｉを符号化するイントラ符号化処理を行う。そして、画像符号化処理は終了する。
【０１９３】
図１９は、図１８のステップＳ１１の処理のうちの、Merge flagと動き補償モード情報を設定するインター予測処理モード設定処理を説明するフローチャートである。このインター予測処理モード設定処理は、例えば、PU（CU）単位で行われる。
【０１９４】
図１９では、ステップＳ４１において、制御部１０１は、処理対象のPU３１のPOC距離に応じて、動き補償モードの候補である候補モードを選択し、処理は、ステップＳ４２に進む。
【０１９５】
すなわち、例えば、図１５で説明したように、POC距離が１である場合には、並進モードだけが、候補モードに選択され、POC距離が２である場合には、並進モード、並進回転モード、及び、並進スケーリングモードが、候補モードに選択される。また、POC距離が３である場合には、並進モード、並進回転モード、並進スケーリングモード、及び、簡易アフィン変換モードが、候補モードに選択され、POC距離が４以上である場合には、並進モード、並進回転モード、並進スケーリングモード、簡易アフィン変換モード、及び、完全アフィン変換モードが、候補モードに選択される。
【０１９６】
ステップＳ４２では、制御部１０１は、候補モードのうちの、ステップＳ４２でまだ動き補償モードに設定されていない候補モードを、動き補償モードに選択し、その動き補償モードを表す動き補償モード情報を設定して、処理は、ステップＳ４３に進む。
【０１９７】
例えば、POC距離が２である場合の候補モードである並進モード、並進回転モード、及び、並進スケーリングモードのうちの、並進スケーリングモードが、動き補償モードに選択されたときには、図１６で説明したように、POC距離が２である場合に、並進スケーリングモードを表す００の２ビットのフラグが、動き補償モード情報として設定される。
【０１９８】
また、例えば、POC距離が３である場合の候補モードである並進モード、並進回転モード、並進スケーリングモード、簡易アフィン変換モードのうちの、並進スケーリングモードが、動き補償モードに選択されたときには、図１６で説明したように、POC距離が３である場合に、並進スケーリングモードを表す００１の３ビットのフラグが、動き補償モード情報として設定される。
【０１９９】
ステップＳ４３において、制御部１０１は、各ブロックを制御して、処理対象のPU３１に対して、候補となるMerge flag及び動き補償モード情報以外の予測情報Pinfoごとにマージモード符号化処理を行って、RDコストを計算し、処理は、ステップＳ４４に進む。なお、RDコストの計算は、符号化の結果得られる発生ビット量（符号量）、復号画像のSSE（Error Sum of Squares）等に基づいて行われる。
【０２００】
ステップＳ４４において、制御部１０１は、各ブロックを制御して、処理対象のPU３１に対して候補となるMerge flag及び動き補償モード情報以外の予測情報PinfoごとにAMVPモード符号化処理を行って、RDコストを計算し、処理は、ステップＳ４５に進む。
【０２０１】
ステップＳ４５において、制御部１０１は、候補モードすべてを動き補償モードに選択したかどうかを判定する。
【０２０２】
ステップＳ４５において、まだ、候補モードすべてを動き補償モードに選択していないと判定された場合、処理は、ステップＳ４２に戻る。ステップＳ４２では、上述したように、候補モードの中で、まだ、動き補償モードに設定されていない候補モードが、動き補償モードに選択され、以下、同様の処理が繰り返される。
【０２０３】
また、ステップＳ４５において、候補モードのすべてを動き補償モードに選択したと判定された場合、処理は、ステップＳ４６に進む。
【０２０４】
ステップＳ４６では、制御部１０１は、各候補モードに対して、ステップＳ４３のマージモード符号化処理により得られたRDコスト、及び、ステップＳ４４のAMVPモード符号化処理により得られたRDコストの中から、最小のRDコストである最小RDコストを検出し、処理は、ステップＳ４７に進む。
【０２０５】
ステップＳ４７では、制御部１０１は、最小RDコストが、マージモード符号化処理により得られたRDコストであるかどうかを判定する。
【０２０６】
ステップＳ４７において、最小RDコストが、マージモード符号化処理により得られたRDコストであると判定された場合、処理は、ステップＳ４８に進み、制御部１０１は、処理対象のPU３１のMerge flagを１に設定して、処理は、ステップＳ５０に進む。
【０２０７】
一方、ステップＳ４７において、最小RDコストが、マージモード符号化処理により得られたRDコストでないと判定された場合、処理は、ステップＳ４９に進み、制御部１０１は、処理対象のPU３１のMerge flagを０に設定して、処理は、ステップＳ５０に進む。
【０２０８】
ステップＳ５０では、制御部１０１は、PU３１のPOC距離に応じて、最小RDコストが得られた候補モードを表す動き補償モード情報を、PU３１の動き補償モード情報に設定し、インター予測処理モード設定処理は終了する。
【０２０９】
図２０は、マージモード符号化処理を説明するフローチャートである。マージモード符号化処理は、例えば、CU（PU）単位で行われる。
【０２１０】
マージモード符号化処理では、ステップＳ１０１において、予測部１１９は、処理対象のPU３１のPOC距離及び動き補償モード情報に応じて、PU３１の（動き補償を行う）動き補償モードを判定する。
【０２１１】
図１６で説明したことから、POC距離が１である場合、そのPOC距離に応じて、動き補償モードが、並進モードであると判定される。
【０２１２】
POC距離が２である場合、動き補償モード情報が、値が１の１ビットのフラグであれば、動き補償モードが、並進モードであると判定され、動き補償モード情報が、値が０１又は００の２ビットのフラグであれば、それぞれ、動き補償モードが、並進回転モード又は並進スケーリングモードであると判定される。
【０２１３】
POC距離が３である場合、動き補償モード情報が、値が１の１ビットのフラグであれば、動き補償モードが、並進モードであると判定され、動き補償モード情報が、値が０１の２ビットのフラグであれば、動き補償モードが、並進回転モードであると判定される。また、動き補償モード情報が、値が００１又は０００の３ビットのフラグであれば、それぞれ、動き補償モードが、並進スケーリングモード又は簡易アフィン変換モードであると判定される。
【０２１４】
POC距離が４以上である場合、動き補償モード情報が、値が１の１ビットのフラグであれば、動き補償モードが、並進モードであると判定され、動き補償モード情報が、値が０１の２ビットのフラグであれば、動き補償モードが、並進回転モードであると判定される。また、動き補償モード情報が、値が００１の３ビットのフラグであれば、動き補償モードが、並進スケーリングモードであると判定され、動き補償モード情報が、値が０００１又は００００の４ビットのフラグであれば、それぞれ、動き補償モードが、簡易アフィン変換モード又は完全アフィン変換モードであると判定される。
【０２１５】
ステップＳ１０１において、動き補償モードが並進モードであると判定された場合、処理は、ステップＳ１０２に進む。
【０２１６】
ステップＳ１０２では、予測部１１９は、パラメータ情報に基づいて、予測ベクトルpv0を決定し、処理は、ステップＳ１０３に進む。具体的には、予測部１１９は、パラメータ情報が予測ベクトルとして隣接ベクトルを特定する情報である場合、保持しているブロックaないしgの動きベクトルに基づいて、式（３）のDVが最も小さくなるブロックaないしcのいずれかの動きベクトルから生成された隣接ベクトルを、予測ベクトルpv0に決定する。
【０２１７】
ステップＳ１０３では、予測部１１９は、ステップＳ１０２で決定された予測ベクトルpv0を、処理対象のPU３１の動きベクトルv0として用いて、フレームメモリ１１８に格納された参照画像特定情報（リファレンスインデクス）により特定される参照画像に対して並進モードの動き補償を行うことにより、PU３１の予測画像Pを生成する。予測部１１９は、動き補償により生成されたPU３１の予測画像Pを、演算部１１１及び１１７に供給し、処理は、ステップＳ１０３からステップＳ１１２に進む。
【０２１８】
ステップＳ１０１において、動き補償モードが完全アフィン変換モードであると判定された場合、処理は、ステップＳ１０４に進む。
【０２１９】
ステップＳ１０４では、予測部１１９は、パラメータ情報に基づいて、３つの予測ベクトルpv0，pv1，pv2を決定し、ステップＳ１０５に進む。
【０２２０】
具体的には、予測部１１９は、パラメータ情報が予測ベクトルとして隣接ベクトルを特定する情報である場合、保持しているブロックaないしgの動きベクトルに基づいて、式（３）のDVが最も小さくなるブロックaないしcのいずれかの動きベクトルと、ブロックd及びeのいずれかの動きベクトルと、ブロックf及びgのいずれかの動きベクトルとの組み合わせを選択する。そして、予測部１１９は、選択されたブロックaないしcのいずれかの動きベクトルを用いて生成された隣接ベクトルを、予測ベクトルpv0に決定する。また、予測部１１９は、選択されたブロックd又はeの動きベクトルを用いて生成された隣接ベクトルを、予測ベクトルpv1に決定し、選択されたブロックf又はgの動きベクトルを用いて生成された隣接ベクトルを、予測ベクトルpv2に決定する。
【０２２１】
ステップＳ１０５では、予測部１１９は、ステップＳ１０４で決定された予測ベクトルpv0，pv1，pv2を、処理対象のPU３１の動きベクトルv0，v1，v2としてそれぞれ用いて、参照画像特定情報により特定される参照画像に対して完全アフィン変換モードの動き補償を行う。
【０２２２】
すなわち、予測部１１９は、動きベクトルv0，v1，v2を用い、式（２）に従って、PU３１を分割した各単位ブロックの動きベクトルvを求める。さらに、予測部１１９は、単位ブロックごとに、動きベクトルvに基づいて、単位ブロックに対応する参照画像の参照単位ブロックを並進移動させることにより、PU３１の予測画像Pを生成する。予測部１１９は、動き補償により生成されたPU３１の予測画像Pを、演算部１１１及び１１７に供給し、処理は、ステップＳ１０５からステップＳ１１２に進む。
【０２２３】
ステップＳ１０１において、動き補償モードが簡易アフィン変換モードであると判定された場合、処理は、ステップＳ１０６に進む。
【０２２４】
ステップＳ１０６では、予測部１１９は、パラメータ情報に基づいて、ステップＳ１０４の場合と同様にして、２つの予測ベクトルpv0，pv1を決定し、ステップＳ１０７に進む。
【０２２５】
ステップＳ１０７では、予測部１１９は、ステップＳ１０６で決定された予測ベクトルpv0，pv1を、処理対象のPU３１の動きベクトルv0，v1としてそれぞれ用いて、参照画像特定情報により特定される参照画像に対して簡易アフィン変換モードの動き補償を行う。
【０２２６】
すなわち、予測部１１９は、動きベクトルv0，v1を用い、式（１）に従って、PU３１を分割した各単位ブロックの動きベクトルvを求める。さらに、予測部１１９は、単位ブロックごとに、動きベクトルvに基づいて、単位ブロックに対応する参照画像の参照単位ブロックを並進移動させることにより、PU３１の予測画像Pを生成する。予測部１１９は、動き補償により生成されたPU３１の予測画像Pを、演算部１１１及び１１７に供給し、処理は、ステップＳ１０７からステップＳ１１２に進む。
【０２２７】
ステップＳ１０１において、動き補償モードが並進回転モードであると判定された場合、処理は、ステップＳ１０８に進む。
【０２２８】
ステップＳ１０８において、予測部１１９は、パラメータ情報に基づいて、ステップＳ１０２の処理と同様に１つの予測ベクトルpv0を決定するとともに、予測角度情報を決定し、処理は、ステップＳ１０９に進む。
【０２２９】
ステップＳ１０９では、予測部１１９は、ステップＳ１０８で決定された予測ベクトル及び予測角度情報を、処理対象のPU３１の動きベクトルv0及び角度情報として用いて、参照画像に対して並進回転モードの動き補償を行う。
【０２３０】
すなわち、予測部１１９は、PU３１の動きベクトルv0及び角度情報から、図９又は図１０で説明したように、動きベクトルv1を求める。そして、予測部１１９は、動きベクトルv0，v1を用い、式（１）に従って、PU３１を分割した各単位ブロックの動きベクトルvを求める。さらに、予測部１１９は、単位ブロックごとに、動きベクトルvに基づいて、単位ブロックに対応する参照画像の参照単位ブロックを並進移動させることにより、PU３１の予測画像Pを生成する。予測部１１９は、動き補償により生成されたPU３１の予測画像Pを、演算部１１１及び１１７に供給し、処理は、ステップＳ１０９からステップＳ１１２に進む。
【０２３１】
ステップＳ１０１において、動き補償モードが並進スケーリングモードであると判定された場合、処理は、ステップＳ１１０に進む。
【０２３２】
ステップＳ１１０では、予測部１１９は、パラメータ情報に基づいて、ステップＳ１０２の処理と同様に１つの予測ベクトルpv0を決定するとともに、予測スケーリング情報を決定し、処理は、ステップＳ１１１に進む。
【０２３３】
ステップＳ１１１では、予測部１１９は、ステップＳ１１０で決定された予測ベクトル及び予測スケーリング情報を、処理対象のPU３１の動きベクトルv0及びスケーリング情報として用いて、参照画像に対して並進スケーリングモードの動き補償を行う。
【０２３４】
すなわち、予測部１１９は、PU３１の動きベクトルv0及びスケーリング情報から、図１１又は図１２で説明したように、動きベクトルv1を求める。そして、予測部１１９は、動きベクトルv0，v1を用い、式（１）に従って、PU３１を分割した各単位ブロックの動きベクトルvを求める。さらに、予測部１１９は、単位ブロックごとに、動きベクトルvに基づいて、単位ブロックに対応する参照画像の参照単位ブロックを並進移動させることにより、PU３１の予測画像Pを生成する。予測部１１９は、動き補償により生成されたPU３１の予測画像Pを、演算部１１１及び１１７に供給し、処理は、ステップＳ１１１からステップＳ１１２に進む。
【０２３５】
ステップＳ１１２において、演算部１１１は、画像Iと予測画像Pとの差分を予測残差Dとして演算し、それを変換部１１２に供給する。このようにして求められた予測残差Dは、元の画像Ｉに比べてデータ量が低減される。したがって、画像Ｉをそのまま符号化する場合に比べて、データ量を圧縮することができる。
【０２３６】
ステップＳ１１３において、変換部１１２は、制御部１０１から供給される変換情報Tinfoに基づいて、演算部１１１から供給される予測残差Dに対して直交変換等を行い、変換係数Coeffを算出する。変換部１１２は、変換係数Coeffを量子化部１１３に供給する。
【０２３７】
ステップＳ１１４において、量子化部１１３は、制御部１０１から供給される変換情報Tinfoに基づいて、変換部１１２から供給される変換係数Coeffをスケーリング（量子化）し、量子化変換係数レベルlevelを算出する。量子化部１１３は、量子化変換係数レベルlevelを符号化部１１４及び逆量子化部１１５に供給する。
【０２３８】
ステップＳ１１５において、逆量子化部１１５は、制御部１０１から供給される変換情報Tinfoに基づいて、量子化部１１３から供給される量子化変換係数レベルlevelを、ステップＳ１１４の量子化の特性に対応する特性で逆量子化する。逆量子化部１１５は、その結果得られる変換係数Coeff_IQを逆変換部１１６に供給する。
【０２３９】
ステップＳ１１６において、逆変換部１１６は、制御部１０１から供給される変換情報Tinfoに基づいて、逆量子化部１１５から供給される変換係数Coeff_IQに対して、ステップＳ１１３の直交変換等に対応する方法で逆直交変換等を行い、予測残差D'を算出する。
【０２４０】
ステップＳ１１７において、演算部１１７は、ステップＳ１１６の処理により算出された予測残差D'を、予測部１１９から供給される予測画像Pと加算することにより、局所的な復号画像Recを生成する。
【０２４１】
ステップＳ１１８において、フレームメモリ１１８は、ステップＳ１１７の処理により得られた、局所的な復号画像Recを用いてピクチャ単位の復号画像を再構築し、フレームメモリ１１８内のバッファへ記憶する。
【０２４２】
ステップＳ１１９において、符号化部１１４は、図１８のステップＳ１１の処理により設定された符号化パラメータとステップＳ１１４の処理により得られた量子化変換係数レベルlevelを所定の方法で符号化する。符号化部１１４は、その結果得られる符号化データを多重化し、符号化ストリームとして画像符号化装置１００の外部に出力する。この符号化ストリームは、例えば、伝送路や記録媒体を介して復号側に伝送される。
【０２４３】
ステップＳ１１９の処理が終了すると、マージモード符号化処理が終了する。
【０２４４】
図２１は、AMVPモード符号化処理を説明するフローチャートである。AMVPモード符号化処理は、例えば、CU（PU）単位で行われる。
【０２４５】
ステップＳ１３１では、図２０のステップＳ１０１と同様に、処理対象のPU３１のPOC距離及び動き補償モード情報に応じて、PU３１の動き補償モードが判定される。
【０２４６】
ステップＳ１３１において、動き補償モードが、並進モード、完全アフィン変換モード、簡易アフィン変換モード、並進回転モード、又は、並進スケーリングモードであると判定された場合、それぞれ、処理は、ステップＳ１３２，Ｓ１３５，Ｓ１３８，Ｓ１４１、又は、Ｓ１４４に進む。
【０２４７】
ステップＳ１３２，Ｓ１３５，Ｓ１３８，Ｓ１４１、又は、Ｓ１４４では、図２０のステップＳ１０２，Ｓ１０４，Ｓ１０６，Ｓ１０８、又は、Ｓ１１０とそれぞれ同様の処理が行われるため、その説明は、省略する。
【０２４８】
ステップＳ１３２，Ｓ１３５，Ｓ１３８，Ｓ１４１、又は、Ｓ１４４の後、それぞれ、処理は、ステップＳ１３３，Ｓ１３６，Ｓ１３９，Ｓ１４２、又は、Ｓ１４５に進む。
【０２４９】
ステップＳ１３３では、予測部１１９は、ステップＳ１３２で決定された１つの予測ベクトルpv0と、パラメータ情報のうちの予測ベクトルpv0と処理対象のPU３１の動きベクトルv0との差分dv0とを加算することにより、処理対象のPU３１の動きベクトルv0を求め、処理は、ステップＳ１３４に進む。
【０２５０】
ステップＳ１３４では、予測部１１９は、ステップＳ１３３で求められた動きベクトルv0を用いて、図２０のＳ１０３と同様に、並進モードの動き補償を行い、PU３１の予測画像Pを生成する。予測部１１９は、予測画像Pを、演算部１１１及び１１７に供給し、処理は、ステップＳ１３４からステップＳ１４７に進む。
【０２５１】
ステップＳ１３６では、予測部１１９は、ステップＳ１３５で決定された３つの予測ベクトルpv0，pv1，pv2のそれぞれと、その予測ベクトルpv0，pv1，pv2に対応するパラメータ情報のうちの差分とを加算し、処理対象のPU３１の３つの動きベクトルv0，v1，v2を求める。
【０２５２】
具体的には、予測部１１９は、予測ベクトルpviと（ここでは、i=0,1,2）、パラメータ情報のうちの予測ベクトルpviと処理対象のPU３１の動きベクトルviとの差分dviとを加算し、処理対象のPU３１の３つの動きベクトルv0，v1，v2を求める。
【０２５３】
そして、処理は、ステップＳ１３６からステップＳ１３７に進み、予測部１１９は、ステップＳ１３６で求められた動きベクトルv0，v1，v2を用いて、図２０のステップＳ１０５と同様に、完全アフィン変換モードの動き補償を行い、PU３１の予測画像Pを生成する。予測部１１９は、予測画像Pを、演算部１１１及び１１７に供給し、処理は、ステップＳ１３７からステップＳ１４７に進む。
【０２５４】
ステップＳ１３９では、予測部１１９は、ステップＳ１３８で決定された２つの予測ベクトルpv0，pv1のそれぞれと、その予測ベクトルpv0，pv1に対応するパラメータ情報のうちの差分とを加算し、処理対象のPU３１の２つの動きベクトルv0，v1を求める。
【０２５５】
具体的には、予測部１１９は、予測ベクトルpviと（ここでは、i=0,1）、パラメータ情報のうちの予測ベクトルpviと処理対象のPU３１の動きベクトルviとの差分dviとを加算し、処理対象のPU３１の２つの動きベクトルv0，v1を求める。
【０２５６】
そして、処理は、ステップＳ１３９からステップＳ１４０に進み、予測部１１９は、ステップＳ１３９で求められた動きベクトルv0，v1を用いて、図２０のステップＳ１０７と同様に、簡易アフィン変換モードの動き補償を行い、PU３１の予測画像Pを生成する。予測部１１９は、予測画像Pを、演算部１１１及び１１７に供給し、処理は、ステップＳ１４０からステップＳ１４７に進む。
【０２５７】
ステップＳ１４２では、予測部１１９は、ステップＳ１３３の処理と同様に１つの動きベクトルv0を求める。また、予測部１１９は、ステップＳ１４１で決定された予測角度情報と、パラメータ情報のうちの予測角度情報と処理対象のPU３１の角度情報との差分とを加算することにより、処理対象のPU３１の角度情報を求め、処理は、ステップＳ１４２からステップＳ１４３に進む。
【０２５８】
ステップＳ１４３では、予測部１１９は、ステップＳ１４２で求められた１つの動きベクトルv0及び角度情報を用いて、図２０のステップＳ１０９と同様に、参照画像に対して並進回転モードの動き補償を行い、PU３１の予測画像Pを生成する。予測部１１９は、予測画像Pを、演算部１１１及び１１７に供給し、処理は、ステップＳ１４３からステップＳ１４７に進む。
【０２５９】
ステップＳ１４５では、予測部１１９は、ステップＳ１３３の処理と同様に１つの動きベクトルv0を求める。また、予測部１１９は、ステップＳ１４４で決定された予測スケーリング情報と、パラメータ情報のうちの予測スケーリング情報と処理対象のPU３１のスケーリング情報との差分とを加算することにより、処理対象のPU３１のスケーリング情報を求め、処理は、ステップＳ１４５からステップＳ１４６に進む。
【０２６０】
ステップＳ１４６では、予測部１１９は、ステップＳ１４５で求められた動きベクトルv0及びスケーリング情報を用いて、図２０のステップＳ１１１と同様に、参照画像に対して並進スケーリングモードの動き補償を行い、PU３１の予測画像Pを生成する。予測部１１９は、予測画像Pを、演算部１１１及び１１７に供給し、処理は、ステップＳ１４６からステップＳ１４７に進む。
【０２６１】
ステップＳ１４７ないしＳ１５４の処理は、図２０のステップＳ１１２ないしＳ１１９の処理と同様であるので、説明は省略する。
【０２６２】
以上のように、画像符号化装置１００は、処理対象のPU３１のPOC距離に応じて複数の動き補償モードの中から選択された動き補償モードで動き補償を行うことにより、予測画像を生成する。
【０２６３】
すなわち、例えば、PU３１と参照画像とのPOC距離が近く、PU３１と参照画像との間の動きによる変化がそれほどない可能性が高い場合には、パラメータ数が少ない並進モード等の動き補償が行われ、POC距離が遠く、PU３１と参照画像との間の動きによる変化が大きい又は複雑である可能性が高い場合には、パラメータ数が多い完全アフィン変換モード等の動き補償が行われる。
【０２６４】
したがって、PU３１と参照画像とのPOC距離が近い場合には、パラメータ数が少ない動き補償が行われることにより、（AMVPモードの）インター予測処理時のオーバーヘッドを削減し、符号化効率を向上させることができる。また、PU３１と参照画像とのPOC距離が遠い場合には、パラメータ数が多い動き補償が行われ得るが、予測精度の高い予測画像が生成されるので、予測残差が小さくなり、結果として、符号化効率を向上させることができる。
【０２６５】
＜本技術を適用した画像復号装置の一実施の形態＞
【０２６６】
図２２は、本技術を適用した画像処理装置としての画像復号装置の一実施の形態の構成例を示すブロック図である。
【０２６７】
図２２の画像復号装置２００は、画像符号化装置１００により生成された符号化ストリームを、画像符号化装置１００における符号化方法に対応する復号方法で復号する。例えば、画像復号装置２００は、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に対して逆直交変換等を行い、予測残差D'を算出する。この逆直交変換は、画像符号化装置１００の変換部１１２（図７）により行われる直交変換の逆処理である。なお、逆変換部１１６は、この逆変換部２１３と同様の逆直交変換を行う。逆変換部２１３は、得られた予測残差D'を演算部２１４に供給する。
【０２７４】
演算部２１４は、逆変換部２１３から供給される予測残差D'とその予測残差D'に対応する予測画像Pとを加算し、局所的な復号画像Recを算出する。演算部２１４は、得られた局所的な復号画像Recを用いてピクチャ単位毎の復号画像を再構築し、得られた復号画像を画像復号装置２００の外部に出力する。また、演算部２１４は、その局所的な復号画像Recをフレームメモリ２１５にも供給する。
【０２７５】
フレームメモリ２１５は、演算部２１４より供給される局所的な復号画像Recを用いてピクチャ単位毎の復号画像を再構築し、フレームメモリ２１５内のバッファ（DPB)に格納する。フレームメモリ２１５は、予測部２１６により指定される復号画像を参照画像としてバッファより読み出し、予測部２１６に供給する。また、フレームメモリ２１５は、その復号画像の生成に係るヘッダ情報Hinfo、予測情報Pinfo、変換情報Tinfo等をフレームメモリ２１５内のバッファに格納するようにしても良い。
【０２７６】
予測部２１６は、予測情報Pinfoのモード情報pred_mode_flagがイントラ予測処理を示す場合、フレームメモリ２１５に格納された復号対象のCUと同一時刻の復号画像を参照画像として取得する。そして、予測部２１６は、参照画像を用いて、復号対象のPUに対して、イントラ予測モード情報が示すイントラ予測モードのイントラ予測処理を行う。
【０２７７】
また、予測部２１６は、モード情報pred_mode_flagがインター予測処理を示す場合、参照画像特定情報に基づいて、フレームメモリ２１５に格納された復号対象のCUとは異なる時刻の復号画像を参照画像として取得する。予測部２１６は、図７の予測部１１９と同様に、Merge flag、動き補償モード情報、及びパラメータ情報に基づいて、参照画像を用いて、復号対象のPUのインター予測処理を行う。予測部２１６は、イントラ予測処理又はインター予測処理の結果生成される予測画像Pを演算部２１４に供給する。
【０２７８】
＜画像復号装置２００の処理＞
【０２７９】
図２３は、図２２の画像復号装置２００の画像復号処理を説明するフローチャートである。
【０２８０】
ステップＳ２０１において、復号部２１１は、画像復号装置２００に供給される符号化ストリームを復号し、符号化パラメータと量子化変換係数レベルlevelを得る。復号部２１１は、符号化パラメータを各ブロックへ供給する。また、復号部２１１は、量子化変換係数レベルlevelを逆量子化部２１２に供給する。
【０２８１】
その後、処理は、ステップＳ２０１からステップＳ２０２に進み、復号部２１１は、符号化パラメータに含まれるsplit flagに基づいてLCUを分割し、各量子化変換係数レベルlevelに対応するCUを復号対象のCU（PU,TU）に設定して、処理は、ステップＳ２０３に進む。以下、ステップＳ２０３ないしＳ２０７の処理は、復号対象のCU（PU,TU）ごとに行われる。
【０２８２】
ステップＳ２０３及びＳ２０４の処理は、予測部１１９ではなく予測部２１６により行われる点を除いて、図１８のステップＳ１２及びＳ１３の処理と同様であるので、説明は省略する。
【０２８３】
ステップＳ２０４において、Merge flagが１であると判定された場合、処理は、ステップＳ２０５に進む。
【０２８４】
ステップＳ２０５では、予測部２１６は、マージモードのインター予測処理により生成された予測画像Pを用いて復号対象の画像を復号するマージモード復号処理を行い、画像復号処理は終了する。
【０２８５】
また、ステップＳ２０４において、Merge flagが１ではないと判定された場合、処理は、ステップＳ２０６に進む。
【０２８６】
ステップＳ２０６では、予測部２１６は、AMVPモードのインター予測処理により生成された予測画像Pを用いて復号対象の画像を復号するAMVPモード復号処理を行い、画像復号処理は終了する。
【０２８７】
ステップＳ２０３において、モード情報pred_mode_flagが、インター予測処理を示さないと判定された場合、すなわち、モード情報pred_mode_flagがイントラ予測処理を示す場合、処理は、ステップＳ２０７に進む。
【０２８８】
ステップＳ２０７において、予測部２１６は、イントラ予測処理により生成された予測画像Pを用いて復号対象の画像を復号するイントラ復号処理を行い、画像復号処理を終了する。
【０２８９】
図２４は、図２３のステップＳ２０１のうちの、動き補償モード情報を復号する動き補償モード情報復号処理を説明するフローチャートである。
【０２９０】
図２４のステップＳ２１１において、復号部２１１は、処理対象のPU３１のPOC距離が１であるかどうかを判定する。
【０２９１】
ステップＳ２１１において、POC距離が１であると判定された場合、動き補償モード情報は、０ビットのフラグであるので、すなわち、動き補償モード情報は、予測情報Pinfoに存在しないので、動き補償モード情報復号処理は終了する。
【０２９２】
また、ステップＳ２１１において、POC距離が１でないと判定された場合、処理は、ステップＳ２１２に進み、復号部２１１は、POC距離が２であるかどうかを判定する。
【０２９３】
ステップＳ２１２において、POC距離が２であると判定された場合、処理は、ステップＳ２１３に進み、復号部２１１は、予測情報Pinfoに含まれる動き補償モード情報（図１６）としての１ビットのフラグ又は２ビットのフラグを復号し、動き補償モード情報復号処理は終了する。
【０２９４】
また、ステップＳ２１２において、POC距離が２でないと判定された場合、処理は、ステップＳ２１４に進み、復号部２１１は、POC距離が３であるかどうかを判定する。
【０２９５】
ステップＳ２１４において、POC距離が３であると判定された場合、処理は、ステップＳ２１５に進み、復号部２１１は、予測情報Pinfoに含まれる動き補償モード情報（図１６）としての１ビットのフラグ、２ビットのフラグ、又は、３ビットのフラグを復号し、動き補償モード情報復号処理は終了する。
【０２９６】
また、ステップＳ２１４において、POC距離が３でないと判定された場合、すなわち、POC距離が４以上である場合、処理は、ステップＳ２１６に進み、復号部２１１は、予測情報Pinfoに含まれる動き補償モード情報（図１６）としての１ビットのフラグ、２ビットのフラグ、３ビットのフラグ、又は、４ビットのフラグを復号し、動き補償モード情報復号処理は終了する。
【０２９７】
図２５は、図２３のステップＳ２０５のマージモード復号処理を説明するフローチャートである。
【０２９８】
ステップＳ２３１において、逆量子化部２１２は、図２３のステップＳ２０１の処理により得られた量子化変換係数レベルlevelを逆量子化して変換係数Coeff_IQを算出する。この逆量子化は、画像符号化処理のステップＳ１１４（図２０）において行われる量子化の逆処理であり、画像符号化処理のステップＳ１１５（図２０）において行われる逆量子化と同様の処理である。
【０２９９】
ステップＳ２３２において、逆変換部２１３は、ステップＳ２３１の処理により得られた変換係数Coeff_IQに対して逆直交変換等を行い、予測残差D'を算出する。この逆直交変換は、画像符号化処理のステップＳ１１３（図２０）において行われる直交変換の逆処理であり、画像符号化処理のステップＳ１１６（図２０）において行われる逆直交変換と同様の処理である。
【０３００】
ステップＳ２３３ないしＳ２４４では、予測部１１９ではなく予測部２１６により行われる点を除いて、図２０のステップＳ１０１ないしＳ１１１の処理と同様の処理が行われるので、説明は省略する。
【０３０１】
ステップＳ２４４において、演算部２１４は、ステップＳ２３２で算出された予測残差D'を、予測部２１６から供給される予測画像Pと加算し、局所的な復号画像Recを算出する。演算部２１４は、得られた局所的な復号画像Recを用いてピクチャ単位毎の復号画像を再構築し、得られた復号画像を画像復号装置２００の外部に出力する。また、演算部２１４は、その局所的な復号画像Recをフレームメモリ２１５に供給し、処理は、ステップＳ２４４からステップＳ２４５に進む。
【０３０２】
ステップＳ２４５において、フレームメモリ２１５は、演算部２１４より供給される局所的な復号画像Recを用いてピクチャ単位毎の復号画像を再構築し、フレームメモリ２１５内のバッファに記憶して、マージモード復号処理は終了する。
【０３０３】
図２６は、図２３のステップＳ２０６のAMVPモード復号処理を説明するフローチャートである。
【０３０４】
図２６のステップＳ２５１及びＳ２５２の処理は、図２５のステップＳ２３１及びＳ２３２の処理と同様であるので、説明は省略する。
【０３０５】
ステップＳ２５３ないしＳ２６８では、予測部１１９ではなく予測部２１６により行われる点を除いて、図２１のステップＳ１３１ないしＳ１４６の処理と同様の処理が行われるので、説明は省略する。
【０３０６】
ステップＳ２６９及びＳ２７０の処理は、図２５のステップＳ２４４及びＳ２４５の処理と同様であるので、説明は省略する。
【０３０７】
画像復号装置２００では、画像符号化装置１００（図７）と同様に、処理対象のPU３１のPOC距離に応じて複数の動き補償モードの中から選択された動き補償モードで動き補償を行うことにより、予測画像が生成されるので、予測画像の画質を向上させることができる。
【０３０８】
＜動き補償＞
【０３０９】
図２７は、予測部１１９（図７）及び予測部２１６（図２２）で行われる動き補償を説明する図である。
【０３１０】
動き補償は、処理対象のPU３１を分割した単位ブロックから、その単位ブロックの動きベクトルvだけ離れた参照画像の参照単位ブロックを並進移動することで行われる。
【０３１１】
ここで、PU３１（を含むピクチャ）や参照画像を構成する画素の位置を、整数で表される整数位置ということとする。この場合、隣接する整数位置の間の位置は、分数（又は小数）で表されるので、分数位置ということとする。
【０３１２】
なお、便宜上、分数位置には、整数位置を含めることとする。また、ある分数位置から所定の方向（例えば、左又は上方向）に向かって最も近い整数位置から見た、その分数位置の相対的な位置を、分数位置の相対位置ともいう。
【０３１３】
単位ブロックの動きベクトルvとしては、例えば、1/4や1/8等の分数位置の精度である分数精度のベクトルを用いることができる。
【０３１４】
参照画像の画素は、整数位置にのみ存在し、したがって、単位ブロックから、分数精度の動きベクトルvだけ離れた位置が、整数位置以外の分数位置である場合には、その分数位置に、参照画像の画素は存在しない。
【０３１５】
そこで、動き補償では、単位ブロックを構成する各画素から、分数精度の動きベクトルvだけ離れた参照画像の各分数位置に、参照単位ブロックを構成する画素を生成するために、参照画像に補間フィルタ(Interpolation filter)がかけられ、分数位置の画素（の画素値）が補間により生成される。
【０３１６】
以下、HEVCを例に、補間フィルタによる補間について説明する。HEVCでは、補間フィルタとして、８タップの（１次元の）FIR(Finite Impulse Response)フィルタが用いられる。
【０３１７】
図２７は、補間フィルタによる分数位置の画素の補間の第１の例を示す図である。
【０３１８】
図２７では、参照画像のある水平ラインに連続して並ぶ整数位置の8個の画素p11に対して、補間フィルタをかける水平方向の補間により、整数位置から1/4だけ離れた（相対位置が1/4の）分数位置の画素hp11が生成されている。
【０３１９】
補間フィルタの特性、すなわち、補間フィルタのタップ係数は、補間により生成される画素の分数位置の相対位置が異なるごとに用意され、単位ブロックごとに、その単位ブロックの動きベクトルvが指す参照画像上の分数位置の相対位置によって変更される。
【０３２０】
補間フィルタが８タップのフィルタであるため、垂直方向の補間には、垂直方向に並ぶ8画素が必要になる。そのため、垂直方向の補間にあたっては、図２７の水平方向の補間が、連続する8つの水平ラインそれぞれに対して行われ、垂直方向に並ぶ8個の分数位置の画素hp11が生成される。
【０３２１】
図２８は、補間フィルタによる分数位置の画素の補間の第２の例を示す図である。
【０３２２】
図２８では、図２７の水平方向の補間が、連続する8つの水平ラインそれぞれに対して行われ、垂直方向に並ぶ8個の分数位置の画素hp11が生成されている。
【０３２３】
図２９は、補間フィルタによる分数位置の画素の補間の第３の例を示す図である。
【０３２４】
図２９では、図２８の水平方向の補間により得られた8個の分数位置の画素hp11に対して、補間フィルタによる垂直方向の補間が行われ、分数位置の画素vp11が生成されている。
【０３２５】
いま、単位ブロックの動きベクトルvが、画素vp11の分数位置を指している場合、動き補償では、図２７ないし図２９で説明した補間を行って、分数位置の画素vp11が生成される。
【０３２６】
単位ブロックが1×1画素で構成される場合には、単位ブロックを構成する1画素ごとに、図２７ないし図２９で説明した補間を行って、単位ブロックの動きベクトルvが指す分数位置の画素を生成する必要がある。
【０３２７】
すなわち、図２８に示したように、画素hp11の分数位置の（水平方向の）相対位置に応じた特性の補間フィルタを、8つの水平ラインに適用して、水平方向の補間を行うことにより、垂直方向に並ぶ8個の分数位置の画素hp11を生成し、図２９に示したように、画素vp11の分数位置の（垂直方向の）相対位置に応じた特性の補間フィルタを、8個の分数位置の画素hp11に適用して、垂直方向の補間を行うことにより、単位ブロックの動きベクトルvが指す分数位置の1個の画素vp11を生成することを、1画素ごとに行う必要がある。
【０３２８】
したがって、補間フィルタの特性は、1画素ごとに、水平方向の補間を行うときと垂直方向の補間を行うときとに変更され得る。
【０３２９】
補間フィルタの特性の変更には、時間を要する。したがって、補間フィルタによる補間、ひいては、動き補償の処理を高速に行う観点からは、補間フィルタの特性の変更の頻度は、少ないことが望ましい。
【０３３０】
補間フィルタの特性の変更の頻度を低くする方法としては、単位ブロックのサイズ、すなわち、単位ブロックを構成する画素数を多くする方法がある。
【０３３１】
すなわち、例えば、単位ブロックが1×1画素で構成される場合には、補間フィルタの特性は、単位ブロックを構成する1画素ごとに、水平方向の補間を行うときと垂直方向の補間を行うときとに変更され得る。
【０３３２】
これに対して、単位ブロックが、1×1画素より大の、例えば、2×2画素で構成される場合には、補間フィルタの特性は、単位ブロックを構成する4画素ごとに、水平方向の補間を行うときと垂直方向の補間を行うときとに変更され得る。
【０３３３】
すなわち、いま、説明を簡単にするため、水平方向の補間を行うときと垂直方向の補間を行うときとの補間フィルタの特性の変更を考えないこととする。この場合、単位ブロックが、1×1画素で構成される場合には、補間フィルタの特性は、単位ブロックを構成する1画素ごとに変更する必要があるのに対して、単位ブロックが、2×2画素で構成される場合には、補間フィルタの特性は、単位ブロックを構成する4画素ごとに変更すれば済む。つまり、単位ブロックが、2×2画素で構成される場合には、単位ブロックを構成する4画素については、補間フィルタの特性を変更する必要がない。
【０３３４】
図３０は、単位ブロックが、2×2画素で構成される場合に、その単位ブロックの動きベクトルvが指す分数位置の画素を生成する水平方向の補間の例を示す図である。
【０３３５】
図３０では、図２８の場合と同様に、画素hp11の分数位置の相対位置に応じた特性の8タップの補間フィルタを、9つの水平ラインそれぞれの、ある整数位置C1の列を先頭とする8列の画素に適用して、水平方向の補間を行うことにより、垂直方向に並ぶ9個の分数位置の画素hp11が生成されている。
【０３３６】
さらに、図３０では、図２８の場合と同様に、画素hp21の分数位置の相対位置に応じた特性の8タップの補間フィルタを、9つの水平ラインそれぞれの、整数位置C1の右隣の整数位置C2の列を先頭とする8列の画素に適用して、水平方向の補間を行うことにより、垂直方向に並ぶ9個の分数位置の画素hp21が生成されている。
【０３３７】
画素hp11及びhp21の分数位置の相対位置は同一であり、したがって、画素hp11及びhp21を生成する補間は、同一の特性の補間フィルタを用いて行うことができるので、補間フィルタを変更する必要はない。
【０３３８】
図３１は、単位ブロックが、2×2画素で構成される場合に、その単位ブロックの動きベクトルvが指す分数位置の画素を生成する垂直方向の補間の例を示す図である。
【０３３９】
図３１では、図２９の場合と同様に、水平方向の補間により得られた9個の分数位置の画素hp11のうちの、上から1ないし8番（行）目の8個の画素hp11に対して、8タップの補間フィルタによる垂直方向の補間が行われ、分数位置の画素vp11が生成されている。
【０３４０】
さらに、図３１では、図２９の場合と同様に、水平方向の補間により得られた9個の分数位置の画素hp11のうちの、上から2ないし9番目の8個の画素hp11に対して、8タップの補間フィルタによる垂直方向の補間が行われ、分数位置の画素vp12が生成されている。
【０３４１】
また、図３１では、図２９の場合と同様に、水平方向の補間により得られた9個の分数位置の画素hp21のうちの、上から1ないし8番目の8個の画素hp21に対して、8タップの補間フィルタによる垂直方向の補間が行われ、分数位置の画素vp21が生成されている。
【０３４２】
さらに、図３１では、図２９の場合と同様に、水平方向の補間により得られた9個の分数位置の画素hp21のうちの、上から2ないし9番目の8個の画素hp21に対して、8タップの補間フィルタによる垂直方向の補間が行われ、分数位置の画素vp22が生成されている。
【０３４３】
画素vp11，vp21，vp12，vp22の分数位置の相対位置は同一であり、したがって、画素vp11，vp21，vp12，vp22を生成する補間には、同一の特性の補間フィルタが用いられるので、補間フィルタを変更する必要はない。
【０３４４】
2×2（横×縦）画素の単位ブロックの動きベクトルvが、単位ブロックの2×2画素から、画素vp11，vp21，vp12，vp22をそれぞれ指している場合、動き補償では、図３０及び図３１で説明した補間を行って、分数位置の画素vp11，vp21，vp12，vp22を生成することができる。
【０３４５】
上述したように、説明を簡単にするため、水平方向の補間を行うときと垂直方向の補間を行うときとの補間フィルタの特性の変更を考えないこととすると、単位ブロックが、1×1画素で構成される場合には、単位ブロックを構成する1画素を始点として、単位ブロックの動きベクトルvが指す分数位置の画素vp11を生成する補間を行うのに、補間フィルタの特性を、単位ブロックを構成する1画素ごとに変更する必要がある。これに対して、単位ブロックが、2×2画素で構成される場合には、単位ブロックを構成する2×2画素それぞれを始点として、単位ブロックの動きベクトルvが指す分数位置の画素vp11，vp21，vp12，vp22を生成する補間を行うのに、補間フィルタの特性を変更する必要がない。
【０３４６】
したがって、単位ブロックのサイズを大にすることにより、補間フィルタの特性の変更の頻度を低くすることができ、動き補償の処理を高速に行うことができる。
【０３４７】
図３２は、完全アフィン変換モードの動き補償の第１の例を説明する図である。
【０３４８】
図４で説明したように、完全アフィン変換モードの動き補償では、参照画像内の、頂点Aから動きベクトルv0だけ離れた点A'を左上の頂点とし、頂点Bから動きベクトルv1だけ離れた点B'を右上の頂点とし、頂点Cから動きベクトルv2だけ離れた点C'を左下の頂点とするブロック４２を参照ブロックとして、その参照ブロック４２を、動きベクトルv0ないしv2に基づいてアフィン変換することにより動き補償が行われ、PU３１の予測画像が生成される。
【０３４９】
すなわち、処理対象のPU３１が、単位ブロックに分割され、各単位ブロックの動きベクトルv=(vx,vy)が、動きベクトルv0=(v0x,v0y)，v1=(v1x,v1y)、及び、v2=(v2x,v2y)に基づいて、上述の式（２）に従って求められる。
【０３５０】
そして、参照画像内の、各単位ブロックから動きベクトルvだけ離れた単位ブロックと同一のサイズの参照単位ブロックを、動きベクトルvに基づいて並進移動することにより、PU３１の予測画像が単位ブロック単位で生成される。
【０３５１】
図３２では、PU３１が、4×4個の16個の単位ブロックに分割されている。そして、各単位ブロックの動きベクトルvが、式（２）に従い、動きベクトルv0，v1、及び、v2を、単位ブロックの位置に対して比例配分する形で求められる。
【０３５２】
図３３は、PU３１が4×4個の16個の単位ブロックに分割される場合の、i番目の単位ブロックの動きベクトルvが求められる様子を示す図である。
【０３５３】
i番目の単位ブロックの各画素については、その画素から、i番目の単位ブロックの動きベクトルvだけ離れた参照単位ブロックを構成する分数位置の画素が、上述した補間フィルタによる補間によって求められ、その分数位置の画素を、動きベクトルvに基づいて並進移動することによって、i番目の単位ブロックの予測画像が生成される。
【０３５４】
PU３１が4×4個の16個の単位ブロックに分割される場合、その16個の単位ブロックそれぞれについて、補間フィルタの特性を、単位ブロックの動きベクトルが指す分数位置に応じた特性に変更して、予測画像が生成される。
【０３５５】
図３４は、完全アフィン変換モードの動き補償の第２の例を説明する図である。
【０３５６】
図３４では、PU３１が、8×8個の64個の単位ブロックに分割されている。そして、各単位ブロックの動きベクトルvが、式（２）に従い、動きベクトルv0，v1、及び、v2を、単位ブロックの位置に対して比例配分する形で求められる。
【０３５７】
図３５は、PU３１が8×8個の64個の単位ブロックに分割される場合の、i番目の単位ブロックの動きベクトルvが求められる様子を示す図である。
【０３５８】
i番目の単位ブロックの各画素については、その画素から、i番目の単位ブロックの動きベクトルvだけ離れた参照単位ブロックを構成する分数位置の画素が、上述した補間フィルタによる補間によって求められ、その分数位置の画素を、動きベクトルvに基づいて並進移動することによって、i番目の単位ブロックの予測画像が生成される。
【０３５９】
PU３１が8×8個の64個の単位ブロックに分割される場合、その64個の単位ブロックそれぞれについて、補間フィルタの特性を、単位ブロックの動きベクトルが指す分数位置に応じた特性に変更して、予測画像が生成される。
【０３６０】
以上のように完全アフィン変換モードの動き補償では、単位ブロック単位の並進移動により、アフィン変換（による動き）が近似される。したがって、傾向としては、単位ブロックのサイズが小さいほど（PU３１がサイズの小さい単位ブロックに分割されるほど）、予測精度の高い予測画像を得ることができる。この点、簡易アフィン変換モード、並進回転モード、及び、並進スケーリングモードの動き補償でも、同様である。
【０３６１】
以上から、図３２及び図３３に示したように、PU３１を16(=4×4)個等のサイズの大きな単位ブロックに分割する場合よりも、図３４及び図３５に示したように、PU３１を64(=8×8)個等のサイズの小さな単位ブロックに分割する場合の方が、予測精度の高い予測画像を得ることができる。
【０３６２】
しかしながら、PU３１を64個の単位ブロックに分割する場合には、PU３１を16個の単位ブロックに分割する場合に比較して、単位ブロックの数が多い分、補間フィルタの特性の変更の頻度が高くなり、動き補償の処理の高速化が妨げられる。
【０３６３】
すなわち、PU３１をサイズの小さい単位ブロックに分割する場合には、予測画像の予測精度を向上させ、ひいては、符号化効率を向上させることができるが、補間フィルタの特性の変更の頻度が高くなり、動き補償の処理の高速化が妨げられる。一方、PU３１をサイズの大きな単位ブロックに分割する場合には、補間フィルタの特性の変更の頻度が低くなり、動き補償の処理を高速に行うことができるが、予測画像の予測精度の低下により、符号化効率が低下し得る。
【０３６４】
そこで、本技術では、PU３１のPOC距離に応じて、PU３１を単位ブロックに分割して動き補償を行うことで、動き補償の処理の速度及び符号化効率を改善する。
【０３６５】
PU３１のPOC距離に応じて、PU３１を単位ブロックに分割することは、完全アフィン変換モード、簡易アフィン変換モード、並進回転モード、及び、並進スケーリングモードの動き補償で行うことができる。以下では、完全アフィン変換モードの動き補償を例に、PU３１のPOC距離に応じたPU３１の単位ブロックへの分割について説明する。
【０３６６】
図３６は、PU３１のPOC距離と、単位ブロックのサイズとの関係の例を示す図である。
【０３６７】
図３６では、単位ブロックのサイズが、4×4画素等の一定値に固定されるのではなく、POC距離に応じて可変に設定される。
【０３６８】
すなわち、図３６では、PU３１のPOC距離が１である場合、PU３１は、例えば、4×4画素等の、サイズの大きな単位ブロックに分割される。また、PU３１のPOC距離が２や３である場合、PU３１は、例えば、2×2画素等の、サイズが中くらいの単位ブロックに分割される。さらに、PU３１のPOC距離が４以上である場合、PU３１は、例えば、1×1画素等の、サイズの小さな単位ブロックに分割される。
【０３６９】
ここで、図１４で説明したように、動画像では、POC距離が近いピクチャどうしについては、動きによる変化が小さく、POC距離が遠いピクチャどうしについては、動きによる変化が大きくなる傾向がある。
【０３７０】
動きによる変化が小さい場合、PU３１をサイズの大きな単位ブロックに分割しても、予測精度の高い予測画像を得ることができる可能性が高い。
【０３７１】
一方、動きによる変化が大きい場合には、PU３１をサイズの大きな単位ブロックに分割すると、予測精度の高い予測画像を得ることができる可能性が低くなり、PU３１をサイズの小さな単位ブロックに分割した方が、予測精度の高い予測画像を得ることができる可能性が高くなる。
【０３７２】
そこで、動き補償では、図３６に示したように、PU３１のPOC距離に応じて、そのPOC距離が近いほど、PU３１をサイズの大きな単位ブロックに分割することができる。
【０３７３】
動き補償において、例えば、図３６に示したように、PU３１のPOC距離が１で、小さい場合に、PU３１を、4×4画素の、サイズの大きな単位ブロックに分割するときには、POC距離が小さいので、単位ブロック単位の並進移動により近似されるアフィン変換として、十分な精度のアフィン変換（理想的なアフィン変換に近い精度のアフィン変換）を行い、予測精度の高い予測画像を得て、符号化効率及び復号画像の画質を向上させることができる。さらに、PU３１がサイズの大きな単位ブロックに分割されることにより、動き補償で行われる補間に用いられる補間フィルタの特性の頻度が低くなって、動き補償の処理を高速で行うことができる。
【０３７４】
また、動き補償において、例えば、図３６に示したように、PU３１のPOC距離が４以上で、大きい場合に、PU３１を、1×1画素の、サイズの小さな単位ブロックに分割するときには、単位ブロックのサイズが小さいので、単位ブロック単位の並進移動により近似されるアフィン変換として、十分な精度のアフィン変換を行い、予測精度の高い予測画像を得て、符号化効率及び復号画像の画質を向上させることができる。
【０３７５】
図３７は、以上のように、POC距離に応じてPUを単位ブロックに分割する動き補償の処理の例を説明するフローチャートである。
【０３７６】
図３７の動き補償の処理は、図１９のステップＳ４３のマージモード符号化処理の動き補償、図１９のステップＳ４４のAMVPモード符号化処理の動き補償、図２０のステップＳ１０５，Ｓ１０７，Ｓ１０９，Ｓ１１１で行われる動き補償、図２１のステップＳ１３７，Ｓ１４０，Ｓ１４３，Ｓ１４６で行われる動き補償、図２５のステップＳ２３７，Ｓ２３９，Ｓ２４１，Ｓ２４３で行われる動き補償、図２６のステップＳ２５９、Ｓ２６２，Ｓ２６５，Ｓ２６８で行われる動き補償で行うことができる。
【０３７７】
なお、ここでは、画像符号化装置１００の予測部１１９が行う処理として、図３７の動き補償の処理を説明する。
【０３７８】
図３７の動き補償では、ステップＳ３０１において、予測部１１９は、図３６に示したように、処理対象のPU３１のPOC距離に応じて、PU３１を、そのPOC距離に応じたサイズの単位ブロックに分割し、処理は、ステップＳ３０２に進む。
【０３７９】
ステップＳ３０２では、予測部１１９は、PU３１を分割して得られる各単位ブロックの動きベクトルvを求め、処理は、ステップＳ３０３に進む。
【０３８０】
ここで、動き補償モードが、完全アフィン変換モードである場合、PU３１の３つの動きベクトルv0，v1，v2を用い、式（２）に従って、単位ブロックの動きベクトルvが求められる。また、動き補償モードが、簡易アフィン変換モード、並進回転モード、又は、並進スケーリングモードである場合、PU３１の２つの動きベクトルv0，v1を用い、式（１）に従って、単位ブロックの動きベクトルvが求められる。
【０３８１】
ステップＳ３０３では、予測部１１９は、参照画像内の、各単位ブロックから動きベクトルvだけ離れた単位ブロックと同一のサイズの参照単位ブロックを、動きベクトルvに基づいて並進移動することにより、PU３１の予測画像を、単位ブロック単位で生成し、動き補償の処理は終了する。
【０３８２】
ここで、ステップＳ３０３では、単位ブロックの各画素から、単位ブロックの動きベクトルvだけ離れた参照単位ブロックの分数位置の各画素が、補間フィルタによる補間により生成される。
【０３８３】
なお、POC距離に応じて、動き補償モードを選択することと、POC距離に応じたサイズの単位ブロックに、PU３１を分割することとは、いずれか一方だけ行うこともできるし、両方を行うこともできる。
【０３８４】
＜単位ブロックの動きベクトルvの精度と、補間フィルタの特性の変更の頻度との関係＞
【０３８５】
図３８は、単位ブロックの動きベクトルvの精度の第１の例を示す図である。
【０３８６】
図２７ないし図３１で説明したように、補間フィルタの特性の変更の頻度は、単位ブロックのサイズによって変化するが、その他、単位ブロックの動きベクトルvの精度によっても変化する。
【０３８７】
図３８は、単位ブロックの動きベクトルvが、1/8の分数位置を指すことができる分数精度のベクトルである場合の動き補償の概要を示している。
【０３８８】
図３８では、処理対象のPU３１が4×4個の単位ブロックに分割されている。図３８では、PU３１を分割した4×4個の単位ブロックのうちの（上から）１行目の単位ブロックに注目して説明を行う。後述する図３９でも同様である。
【０３８９】
単位ブロックについては、動きベクトルvが、式（１）又は式（２）に従って求められるが、図３８では、式（１）又は式（２）に従って求められた動きベクトルvは、1/8の分数位置を指すことができる分数精度のベクトルに丸められる。
【０３９０】
その結果、図３８では、4×4個の単位ブロックのうちの左上の単位ブロックb11の動きベクトルvは、整数位置0から4/8だけ右に離れた分数位置を指しており、単位ブロックb11の右隣の単位ブロックb12の動きベクトルvは、整数位置1から6/8だけ右に離れた分数位置を指している。
【０３９１】
いま、相対位置として、分数位置から左方向に向かって最も近い整数位置から見た、その分数位置の相対的な位置を採用することとすると、単位ブロックb11の動きベクトルvが指す分数位置の相対位置は4/8であり、単位ブロックb12の動きベクトルvが指す分数位置の相対位置は6/8である。
【０３９２】
したがって、単位ブロックb11の動きベクトルvが指す分数位置の相対位置と、単位ブロックb12の動きベクトルvが指す分数位置の相対位置とは異なるので、単位ブロックb11の予測画像（単位ブロックb11に対応する参照単位ブロックを構成する画素）を生成する補間と、単位ブロックb12の予測画像を生成する補間とでは、補間フィルタの特性が変更される。
【０３９３】
なお、図３８では、１行目の4個の単位ブロックそれぞれに対応する参照単位ブロックが、水平方向に広がった状態になっているので、参照画像上の参照ブロックは、PU３１よりも大きなブロックになり、動き補償では、PU３１より大きな参照ブロックを、PU３１のサイズに縮小する変換が行われる。
【０３９４】
図３９は、単位ブロックの動きベクトルvの精度の第２の例を示す図である。
【０３９５】
すなわち、図３９は、単位ブロックの動きベクトルvが、1/2の分数位置を指すことができる分数精度のベクトルである場合の動き補償の概要を示している。したがって、図３９の単位ブロックの動きベクトルvの精度は、図３８の場合よりも粗くなっている。
【０３９６】
図３９では、図３８の場合と同様に、処理対象のPU３１が4×4個の単位ブロックに分割されている。
【０３９７】
単位ブロックについては、動きベクトルvが、式（１）又は式（２）に従って求められるが、図３９では、式（１）又は式（２）に従って求められた動きベクトルvは、1/2の分数位置を指すことができる分数精度のベクトルに丸められる。
【０３９８】
その結果、図３９では、4×4個の単位ブロックのうちの左上の単位ブロックb11の動きベクトルvは、整数位置0から1/2だけ右に離れた分数位置を指しており、単位ブロックb11の右隣の単位ブロックb12の動きベクトルvは、整数位置1から1/2だけ右に離れた分数位置を指している。さらに、単位ブロックb12の右隣の単位ブロックb13の動きベクトルvは、整数位置3から0だけ離れた分数位置（整数位置3）を指しており、単位ブロックb13の右隣の単位ブロックb14の動きベクトルvは、整数位置4から0だけ離れた分数位置（整数位置4）を指している。
【０３９９】
したがって、単位ブロックb11及びb12それぞれの動きベクトルvが指す分数位置の相対位置は、いずれも1/2であり、単位ブロックb13及びb14それぞれの動きベクトルvが指す分数位置の相対位置は0である。
【０４００】
したがって、単位ブロックb11及びb12それぞれの動きベクトルvが指す分数位置の相対位置は同一であるので、単位ブロックb11の予測画像を生成する補間と、単位ブロックb12の予測画像を生成する補間とでは、補間フィルタの特性は変更されない。
【０４０１】
同様に、単位ブロックb13及びb14それぞれの動きベクトルvが指す分数位置の相対位置は同一であるので、単位ブロックb13の予測画像を生成する補間と、単位ブロックb14の予測画像を生成する補間とでは、補間フィルタの特性は変更されない。
【０４０２】
以上のように、単位ブロックの動きベクトルvの精度が1/8で、細かい場合には、単位ブロックb11の予測画像を生成する補間と、単位ブロックb12の予測画像を生成する補間とで、補間フィルタの特性が変更されるが、単位ブロックの動きベクトルvの精度が1/2で、粗い場合には、単位ブロックb11の予測画像を生成する補間と、単位ブロックb12の予測画像を生成する補間とで、補間フィルタの特性は変更されない。
【０４０３】
したがって、PU３１のPOC距離に応じて、POC距離が小であるほど、単位ブロックの動きベクトルvの精度を粗く調整することで、単位ブロックのサイズを固定にしたまま、PU３１をPOC距離に応じたサイズの単位ブロックに分割する場合と同様に、補間フィルタの特性の変更の頻度を低くし、動き補償の処理を高速に行うことができる。
【０４０４】
＜本技術を適用したコンピュータの説明＞
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
【０４０５】
図４０は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０４０６】
コンピュータ８００において、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デバイス１６１４）やクラウドサービス１６０１は、上述した各実施の形態と同様の効果を得ることができる。
【０５３９】
なお、符号化データ（ビットストリーム）に関する各種情報は、符号化データに多重化されて伝送され又は記録されるようにしてもよいし、符号化データに多重化されることなく、符号化データと関連付けられた別個のデータとして伝送され又は記録されるようにしてもよい。ここで、「関連付ける」という用語は、例えば、一方のデータを処理する際に他方のデータを利用し得る（リンクさせ得る）ようにすることを意味する。つまり、互いに関連付けられたデータは、１つのデータとしてまとめられてもよいし、それぞれ個別のデータとしてもよい。例えば、符号化データ（画像）に関連付けられた情報は、その符号化データ（画像）とは別の伝送路上で伝送されるようにしてもよい。また、例えば、符号化データ（画像）に関連付けられた情報は、その符号化データ（画像）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されるようにしてもよい。なお、この「関連付け」は、データ全体でなく、データの一部であってもよい。例えば、画像とその画像に対応する情報とが、複数フレーム、１フレーム、又はフレーム内の一部分等の任意の単位で互いに関連付けられるようにしてもよい。
【０５４０】
また、上述したように、本明細書において、「合成する」、「多重化する」、「付加する」、「一体化する」、「含める」、「格納する」、「入れ込む」、「差し込む」、「挿入する」等の用語は、例えば符号化データとメタデータとを１つのデータにまとめるといった、複数の物を１つにまとめることを意味し、上述の「関連付ける」の１つの方法を意味する。
【０５４１】
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【０５４２】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０５４３】
なお、本技術は、以下の構成をとることができる。
【０５４４】
＜１＞
処理対象のブロックのPOC(Picture Order Count)と、前記ブロックの予測画像の生成に用いる参照画像のPOCとの距離であるPOC距離に応じて複数の動き補償モードの中から選択された動き補償モードで動き補償を行うことにより、前記予測画像を生成する予測部を備える
画像処理装置。
＜２＞
前記動き補償モードは、動き補償に用いられるパラメータの数が異なる複数の動き補償モードの中から選択される
＜１＞に記載の画像処理装置。
＜３＞
前記動き補償モードは、前記POC距離が近いほど、前記パラメータの数が少ない動き補償モードの中から選択される
＜２＞に記載の画像処理装置。
＜４＞
前記動き補償モードは、並進移動により動き補償を行う並進モード、３つの動きベクトルに基づくアフィン変換により動き補償を行う完全アフィン変換モード、２つの動きベクトルに基づくアフィン変換により動き補償を行う簡易アフィン変換モード、並進移動と回転により動き補償を行う並進回転モード、及び、並進移動とスケーリングにより動き補償を行う並進スケーリングモードの中から選択される
＜１＞ないし＜３＞のいずれかに記載の画像処理装置。
＜５＞
前記予測部は、前記並進モードでは、１つの動きベクトルに基づいて前記参照画像に対して動き補償を行う
＜４＞に記載の画像処理装置。
＜６＞
前記予測部は、前記完全アフィン変換モードでは、３つの動きベクトルに基づくアフィン変換を前記参照画像に対して行うことにより、動き補償を行う
＜４＞又は＜５＞に記載の画像処理装置。
＜７＞
前記予測部は、前記簡易アフィン変換モードでは、２つの動きベクトルに基づくアフィン変換を前記参照画像に対して行うことにより、動き補償を行う
＜４＞ないし＜６＞のいずれかに記載の画像処理装置。
＜８＞
前記予測部は、前記並進回転モードでは、１つの動きベクトルと回転角とに基づいて、前記参照画像に対して動き補償を行う
＜４＞ないし＜７＞のいずれかに記載の画像処理装置。
＜９＞
前記予測部は、前記並進回転モードでは、１つの動きベクトル、及び、前記１つの動きベクトルと他の動きベクトルとの垂直方向の差分に基づいて、前記参照画像に対して動き補償を行う
＜４＞ないし＜７＞のいずれかに記載の画像処理装置。
＜１０＞
前記予測部は、前記並進スケーリングモードでは、１つの動きベクトルとスケーリング率とに基づいて、前記参照画像に対して動き補償を行う
＜４＞ないし＜９＞のいずれかに記載の画像処理装置。
＜１１＞
前記予測部は、前記並進スケーリングモードでは、１つの動きベクトル、及び、前記１つの動きベクトルと他の動きベクトルとの水平方向の差分に基づいて、前記参照画像に対して動き補償を行う
＜４＞ないし＜９＞のいずれかに記載の画像処理装置。
＜１２＞
前記予測部は、前記POC距離、及び、前記POC距離に応じて設定される、前記動き補償モードを表す動き補償モード情報に応じて、動き補償を行う
＜１＞ないし＜１１＞のいずれかに記載の画像処理装置。
＜１３＞
前記POC距離が近いほど、少ないビット数のフラグを、前記動き補償モード情報として設定する設定部をさらに備える
＜１２＞に記載の画像処理装置。
＜１４＞
画像処理装置が、
処理対象のブロックのPOC(Picture Order Count)と、前記ブロックの予測画像の生成に用いる参照画像のPOCとの距離であるPOC距離に応じて複数の動き補償モードの中から選択された動き補償モードで動き補償を行うことにより、前記予測画像を生成する
ことを含む画像処理方法。
＜１５＞
処理対象のブロックのPOC(Picture Order Count)と、前記ブロックの予測画像の生成に用いる参照画像のPOCとの距離であるPOC距離に応じて前記ブロックを分割することにより得られる単位ブロックに対応する前記参照画像の参照単位ブロックを並進移動することにより、前記予測画像を、前記単位ブロック単位で生成する予測部を備える
画像処理装置。
＜１６＞
前記ブロックは、前記POC距離に応じたサイズの前記単位ブロックに分割される
＜１５＞に記載の画像処理装置。
＜１７＞
前記ブロックは、前記POC距離が近いほど、大きなサイズの前記単位ブロックに分割される
＜１６＞に記載の画像処理装置。
＜１８＞
前記予測部は、複数の動きベクトルに基づく動き補償を、
前記複数の動きベクトルから、前記単位ブロックの動きベクトルを求め、
前記単位ブロックの動きベクトルに基づいて、前記単位ブロックに対応する前記参照単位ブロックを並進移動する
ことにより行う
＜１５＞ないし＜１７＞のいずれかに記載の画像処理装置。
＜１９＞
前記予測部は、前記ブロックを、前記POC距離に応じて、前記単位ブロックに分割する
＜１５＞ないし＜１８＞のいずれかに記載の画像処理装置。
＜２０＞
画像処理装置が、
処理対象のブロックのPOC(Picture Order Count)と、前記ブロックの予測画像の生成に用いる参照画像のPOCとの距離であるPOC距離に応じて前記ブロックを分割することにより得られる単位ブロックに対応する前記参照画像の参照単位ブロックを並進移動することにより、前記予測画像を、前記単位ブロック単位で生成する
ことを含む画像処理方法。
【符号の説明】
【０５４５】
１００  画像符号化装置,  １０１  制御部,  １１９  予測部,  ２００  画像復号装置,  ２１６  予測部
【図１】
2019039283.tif 000003
【図２】
2019039283.tif 000004
【図３】
2019039283.tif 000005
【図４】
2019039283.tif 000006
【図５】
2019039283.tif 000007
【図６】
2019039283.tif 000008
【図７】
2019039283.tif 000009
【図８】
2019039283.tif 000010
【図９】
2019039283.tif 000011
【図１０】
2019039283.tif 000012
【図１１】
2019039283.tif 000013
【図１２】
2019039283.tif 000014
【図１３】
2019039283.tif 000015
【図１４】
2019039283.tif 000016
【図１５】
2019039283.tif 000017
【図１６】
2019039283.tif 000018
【図１７】
2019039283.tif 000019
【図１８】
2019039283.tif 000020
【図１９】
2019039283.tif 000021
【図２０】
2019039283.tif 000022
【図２１】
2019039283.tif 000023
【図２２】
2019039283.tif 000024
【図２３】
2019039283.tif 000025
【図２４】
2019039283.tif 000026
【図２５】
2019039283.tif 000027
【図２６】
2019039283.tif 000028
【図２７】
2019039283.tif 000029
【図２８】
2019039283.tif 000030
【図２９】
2019039283.tif 000031
【図３０】
2019039283.tif 000032
【図３１】
2019039283.tif 000033
【図３２】
2019039283.tif 000034
【図３３】
2019039283.tif 000035
【図３４】
2019039283.tif 000036
【図３５】
2019039283.tif 000037
【図３６】
2019039283.tif 000038
【図３７】
2019039283.tif 000039
【図３８】
2019039283.tif 000040
【図３９】
2019039283.tif 000041
【図４０】
2019039283.tif 000042
【図４１】
2019039283.tif 000043
【図４２】
2019039283.tif 000044
【図４３】
2019039283.tif 000045
【図４４】
2019039283.tif 000046
【図４５】
2019039283.tif 000047
【図４６】
2019039283.tif 000048
【図４７】
2019039283.tif 000049
【図４８】
2019039283.tif 000050
【国際調査報告】
2019039283.tif 000051
2019039283.tif 000052
2019039283.tif 000053
2019039283.tif 000054
2019039283.tif 000055
2019039283.tif 000056
2019039283.tif 000057
2019039283.tif 000058