(57)【要約】  映像符号化装置は、ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う。映像符号化装置は、外部から供給される符号化パラメータを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御するブロック単位アフィン変換動き補償予測制御手段を備える。
2019069602.tif 000002
【特許請求の範囲】
【請求項１】
ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化装置であって、
外部から供給される符号化パラメータを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御するブロック単位アフィン変換動き補償予測制御手段
を備えることを特徴とする映像符号化装置。
【請求項２】
前記ブロック単位アフィン変換動き補償予測制御手段は、サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸める
請求項１記載の映像符号化装置。
【請求項３】
ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号装置であって、
少なくともビットストリームから抽出される符号化パラメータを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御するブロック単位アフィン変換動き補償予測制御手段
を備えることを特徴とする映像復号装置。
【請求項４】
前記ブロック単位アフィン変換動き補償予測制御手段は、サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸める
請求項３記載の映像復号装置。
【請求項５】
ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化方法であって、
供給される符号化パラメータを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御する
ことを特徴とする映像符号化方法。
【請求項６】
ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号方法であって、
少なくともビットストリームから抽出される符号化パラメータを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御する
ことを特徴とする映像復号方法。
【請求項７】
サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸める
請求項６記載の映像復号方法。
【請求項８】
ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化装置で実行される映像符号化プログラムであって、
コンピュータに、
供給される符号化パラメータを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御させる
ための映像符号化プログラム。
【請求項９】
ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号装置で実行される映像復号プログラムであって、
コンピュータに、
少なくともビットストリームから抽出される符号化パラメータを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御させる
ための映像復号プログラム。
【請求項１０】
ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いる映像システムであって、
前記ブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化装置と、前記ブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号装置とを含み、
前記映像符号化装置は、該映像システム内で供給される符号化パラメータを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御する符号化側ブロック単位アフィン変換動き補償予測制御手段を有し、
前記映像復号装置は、少なくとも前記映像符号化装置からのビットストリームから抽出される符号化パラメータを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御する復号側ブロック単位アフィン変換動き補償予測制御手段を有する
ことを特徴とする映像システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロック単位アフィン変換動き補償予測を用いる映像符号化装置、映像復号装置および映像システムに関する。
【背景技術】
【０００２】
映像符号化方式として、非特許文献１に記載されているようなＨＥＶＣ（High Efficiency Video Coding）規格に基づく方式がある。非特許文献２には、ＨＥＶＣの圧縮効率を高めるために、ブロック単位アフィン変換動き補償予測（Block based affine transform motion compensated prediction）技術が開示されている。【０００３】
アフィン変換動き補償予測では、ＨＥＶＣで用いられている並進（translation ）モデルに基づいた動き補償予測では表現できない、ズーム、回転などの変形を伴う動きも表現できる。【０００４】
なお、アフィン変換動き補償予測技術は、特許文献１および特許文献２にも記載されている。【０００５】
上記ブロック単位アフィン変換動き補償予測（以下、一般的なブロック単位アフィン変換動き補償予測という。）は、以下の特徴を有する簡略化されたアフィン変換動き補償予測である。【０００６】
・処理対象ブロックの左上位置と右上位置とを制御点（Control point ）として利用する。
・処理対象ブロックの動きベクトル場（Motion vector field ）として、処理対象ブロックが固定サイズで分割されて得られるサブブロックの動きベクトルを導出する。【０００７】
図２３および図２４の説明図を参照して一般的なブロック単位アフィン変換動き補償予測を説明する。図２３は、参照ピクチャ、処理対象ピクチャおよび処理対象ブロックの位置関係の一例を示す説明図である。図２３において、picWidthは、水平方向の画素数を示す。picHeight は、垂直方向の画素数を示す。【０００８】
図２４は、図２３に示された処理対象ブロック（図２４（Ａ）参照）の制御点（図２４（Ｂ）における丸印）に片方向動きベクトルが設定され、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルが導出される様子（図２４（Ｃ）参照）を示す説明図である。【０００９】
図２４には、説明の簡単のために、処理対象ブロックの水平画素数w=16、垂直画素数h=16 、制御点の動きベクトルの予測方向dir=L0、サブブロックの水平画素数および垂直画素数s が4 である場合の例が示されている。【００１０】
図２４に示された制御点動きベクトル設定部５０５１およびサブブロック動きベクトル導出部５０５２は、映像符号化装置における動き補償予測を行う機能ブロックに含まれている。【００１１】
制御点動きベクトル設定部５０５１は、入力される２つの動きベクトルを、左上と右上の制御点の動きベクトル（図２４（Ｂ）おけるvTL とvTR ）として設定する。【００１２】
処理対象ブロック内の位置(x,y){0≦x≦w-1, 0≦y≦h-1}の動きベクトルは次のように表現される。【００１３】
v(x) = ((vTR (x) - vTL(x))×x÷w) - ((vTR (y) - vTL (y))×y÷w)＋vTL (x)    （１）【００１４】
v(y) = ((vTR (y) - vTL(y))×x÷w) + ((vTR (x) - vTL (x))×y÷w)＋vTL (y)    （２）【００１５】
ただし、vTL(x)、vTL(y)、vTR (x)、およびvTR(y)は、それぞれ、vTLのx方向（水平方向）の成分、vTLのy方向（垂直方向）の成分、vTRのx方向（水平方向）の成分、およびvTRのy方向（垂直方向）の成分を示す。【００１６】
続いて、サブブロック動きベクトル導出部５０５２は、処理対象ブロック内の位置の動きベクトル表現に基づいて、各サブブロックについてサブブロック内の中央位置の動きベクトルをサブブロック動きベクトルとして計算する。【００１７】
以上のように、制御点動きベクトル設定部５０５１およびサブブロック動きベクトル導出部５０５２は、サブブロック動きベクトルを決定する。
【先行技術文献】
【非特許文献】
【００１８】
【非特許文献１】R. Joshi et al., "HEVC Screen Content Coding Draft Text 5" document JCTVC-vtr005, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC1/SC 29/WG 11, 22nd Meeting: Geneva, CH, 15-21 Oct. 2015
【非特許文献２】J. Chen et al., "Algorithm Description of Joint Exploration Test Model 5 (JEM 5)" document JVET-E1001-v2, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 5th Meeting: Geneva, CH, 12-20 January 2017
【非特許文献３】K. Zhang et al., "Video coding using affine motion compensated prediction", ISCASSP 1996
【発明の概要】
【発明が解決しようとする課題】
【００１９】
上述した一般的なブロック単位アフィン変換動き補償予測では、処理対象ブロック内で動きベクトルが散らばる。その結果、一般的なブロック単位アフィン変換動き補償予測を用いる映像符号化装置では、通常の動き補償予測（処理対象ブロック内で動きベクトルが散らばらない、並進モデルに基づいた動き補償予測）を用いる場合に比べて、動き補償予測処理における参照ピクチャに関するメモリアクセス量が飛躍的に増加する。【００２０】
例えば、８Ｋなどの大きな映像サイズの映像信号に上記の一般的なブロック単位アフィン変換動き補償予測が適用されたときに、参照ピクチャに関するメモリアクセス量が装置に搭載されているメモリのピーク帯域を越えてしまう可能性がある。【００２１】
なお、映像サイズが大きいということは、図２３に示されるピクチャの水平方向の画素数picWidthと垂直方向の画素数picHeight とのうちの少なくとも一方、または、picWidthとpicHeight との積（すなわち、ピクチャの面積）が大きな値であることを意味する。【００２２】
以上に説明したように、一般的なブロック単位アフィン変換動き補償予測は、映像符号化装置や映像復号装置の実装コストを増加させるという課題がある。【００２３】
本発明は、ブロック単位アフィン変換動き補償予測を用いる場合に、メモリアクセス量を削減でき、実装コストを削減できる映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、プログラムおよび映像システムを提供することを目的とする。
【課題を解決するための手段】
【００２４】
本発明による映像符号化装置は、ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化装置であって、外部から供給される符号化パラメータを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御するブロック単位アフィン変換動き補償予測制御手段を備えることを特徴とする。【００２５】
本発明による映像復号装置は、ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号装置であって、少なくともビットストリームから抽出される符号化パラメータを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御するブロック単位アフィン変換動き補償予測制御手段を備えることを特徴とする。【００２６】
本発明による映像符号化方法は、ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化方法であって、供給される符号化パラメータを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御することを特徴とする。【００２７】
本発明による映像復号方法は、ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号方法であって、少なくともビットストリームから抽出される符号化パラメータを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御することを特徴とする。【００２８】
本発明による映像符号化プログラムは、ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化装置で実行される映像符号化プログラムであって、コンピュータに、供給される符号化パラメータを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御させることを特徴とする。【００２９】
本発明による映像復号プログラムは、ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号装置で実行される映像復号プログラムであって、コンピュータに、少なくともビットストリームから抽出される符号化パラメータを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御させることを特徴とする。【００３０】
本発明による映像システムは、ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いる映像システムであって、ブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化装置と、ブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号装置とを含み、映像符号化装置は、映像システム内で供給される符号化パラメータを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御する符号化側ブロック単位アフィン変換動き補償予測制御手段を有し、映像復号装置は、少なくとも映像符号化装置からのビットストリームから抽出される符号化パラメータを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御する復号側ブロック単位アフィン変換動き補償予測制御手段を有することを特徴とする。
【発明の効果】
【００３１】
本発明によれば、メモリアクセス量が削減し、実装コストが削減される。【００３２】
また、映像符号化装置と映像復号装置とが共通したやり方でメモリアクセス量削減を行うことによって、映像符号化装置と映像復号装置との相互接続性が確保された映像システムが提供される。
【図面の簡単な説明】
【００３３】
【図１】３３種類の角度イントラ予測の例を示す説明図である。
【図２】フレーム間予測の例を示す説明図である。
【図３】フレームt のCTU 分割例、および、フレームt のCTU8のCU分割例を示す説明図である。
【図４】CTU8のCU分割例に対応するクアッドツリー構造を示す説明図である。
【図５】映像符号化装置の実施形態の構成を示すブロック図である。
【図６】ブロック単位アフィン変換動き補償予測制御器の構成例を示すブロック図である。
【図７】第１の実施形態において、処理対象ブロックの制御点に片方向動きベクトルが設定され、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルが導出される様子を示す説明図である。
【図８】第１の実施形態におけるブロック単位アフィン変換動き補償予測制御器の動作を示すフローチャートである。
【図９】映像復号装置の実施形態の構成を示すブロック図である。
【図１０】第３の実施形態において、処理対象ブロックの制御点に片方向動きベクトルが設定され、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルが導出される様子を示す説明図である。
【図１１】第３の実施形態におけるブロック単位アフィン変換動き補償予測制御器の動作を示すフローチャートである。
【図１２】双方向予測における参照ピクチャ、処理対象ピクチャおよび処理対象ブロックの位置関係の一例を示す説明図である。
【図１３】一般的なブロック単位アフィン変換動き補償予測制御器が、処理対象ブロックの制御点にそれぞれの方向の動きベクトルを設定し、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルを導出する様子を示す説明図である。
【図１４】第４の実施形態において、処理対象ブロックの制御点にそれぞれの方向の動きベクトルが設定され、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルが導出される様子を示す説明図である。
【図１５】第４の実施形態におけるブロック単位アフィン変換動き補償予測制御器の動作を示すフローチャートである。
【図１６】第５の実施形態におけるブロック単位アフィン変換動き補償予測制御器の動作を示すフローチャートである。
【図１７】第６の実施形態におけるブロック単位アフィン変換動き補償予測制御器の動作を示すフローチャートである。
【図１８】第７の実施形態におけるブロック単位アフィン変換動き補償予測制御器の動作を示すフローチャートである。
【図１９】映像システムの構成例を示すブロック図である。
【図２０】映像符号化装置および映像復号装置の機能を実現可能な情報処理システムの構成例を示すブロック図である。
【図２１】映像符号化装置の主要部を示すブロック図である。
【図２２】映像復号装置の主要部を示すブロック図である。
【図２３】参照ピクチャ、処理対象ピクチャおよび処理対象ブロックの位置関係の一例を示す説明図である。
【図２４】処理対象ブロックの制御点に片方向動きベクトルが設定され、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルが導出される様子を示す説明図である。
【発明を実施するための形態】
【００３４】
実施形態１．
まず、本実施形態の映像符号化装置および後述する映像復号装置で使用されるイントラ予測、フレーム間予測、および、CUとCTU のシグナリングを説明する。
【００３５】
ディジタル化された映像の各フレームは符号化ツリーユニット（CTU: Coding Tree Unit ）に分割され、ラスタスキャン順に各CTU が符号化される。
【００３６】
各CTU は、四分木（QT: Quad-Tree ）構造で、符号化ユニット（CU: Coding Unit ）に分割されて符号化される。各CUは、予測符号化される。なお、予測符号化には、イントラ予測とフレーム間予測とがある。
【００３７】
各CUの予測誤差は、周波数変換に基づいて変換符号化される。
【００３８】
最も大きなサイズのCUを最大CU（LCU: Largest Coding Unit）、最も小さなサイズのCUを最小CU（SCU: Smallest Coding Unit ）と呼ぶ。なお、LCU サイズとCTU サイズとは同一である。
【００３９】
イントラ予測は、符号化対象フレームと表示時刻が同一の再構築画像から予測画像を生成する予測である。非特許文献１では、図１に示す３３種類の角度イントラ予測が定義されている。角度イントラ予測は、符号化対象ブロック周辺の再構築画素を３３種類の方向のいずれかに外挿して、イントラ予測信号を生成する。非特許文献１では、３３種類の角度イントラ予測に加えて、符号化対象ブロック周辺の再構築画素を平均するDCイントラ予測、および、符号化対象ブロック周辺の再構築画素を線形補間するPlanarイントラ予測が定義されている。以下、イントラ予測に基づいて符号化されたCUをイントラCUと呼ぶ。
【００４０】
フレーム間予測は、符号化対象フレームと表示時刻が異なる再構築画像（参照ピクチャ）から予測画像を生成する予測である。以下、フレーム間予測をインター予測とも呼ぶ。図２は、フレーム間予測の例を示す説明図である。動きベクトルMV＝（mvx, mvy）は、符号化対象ブロックに対する参照ピクチャの再構築画像ブロックの並進移動量を示す。インター予測は、参照ピクチャの再構築画像ブロックに基づいて（必要であれば画素補間を用いて）、インター予測信号を生成する。以下、フレーム間予測に基づいて符号化されたCUをインターCUと呼ぶ。
【００４１】
本実施形態では、映像符号化装置は、インター予測として、図２に示された通常の動き補償予測と、上述したブロック単位アフィン変換動き補償予測とを利用できる。通常の動き補償予測であるのかブロック単位アフィン変換動き補償予測であるのかは、インターCUがブロック単位アフィン変換動き補償予測に基づくか否を示すinter_affine_flag シンタクスによってシグナリングされる。
【００４２】
イントラCUのみで符号化されたフレームはＩフレーム（または、Ｉピクチャ）と呼ばれる。イントラCUだけでなくインターCUも含めて符号化されたフレームはＰフレーム（または、Ｐピクチャ）と呼ばれる。ブロックのインター予測に１枚の参照ピクチャだけでなく、さらに同時に２枚の参照ピクチャを用いるインターCUを含めて符号化されたフレームはＢフレーム（または、Ｂピクチャ）と呼ばれる。
【００４３】
なお、１枚の参照ピクチャを用いるインター予測は片方向予測と呼ばれ、同時に２枚の参照ピクチャを用いるインター予測は双方向予測と呼ばれる。
【００４４】
図３は、フレームの空間解像度がCIF （CIF: Common Intermediate Format ）、CTU サイズが64の場合のフレームt のCTU 分割例、および、フレームt に含まれる第８のCTU （CTU8）のCU分割例を示す説明図である。
【００４５】
図４は、CTU8のCU分割例に対応する四分木構造を示す説明図である。各CTU の四分木構造、すなわち、CU分割形状は、非特許文献１に記載されているcu_split_flag （非特許文献１では、split_cu_flag と記載されている。）シンタクスによってシグナリングされる。
【００４６】
以上で、イントラ予測、フレーム間予測、およびCTU とCUのシグナリングの説明を終了する。
【００４７】
次に、図５を参照して、ディジタル化された映像の各フレームの各CUを入力画像としてビットストリームを出力する、本実施形態の映像符号化装置の構成と動作を説明する。図５は、映像符号化装置の実施形態を示すブロック図である。
【００４８】
図５に示す映像符号化装置は、変換／量子化器１０１、エントロピー符号化器１０２、逆量子化／逆変換器１０３、バッファ１０４、予測器１０５、および多重化器１０６を備える。
【００４９】
予測器１０５は、CTU 毎に、符号化コストを最小とするCU分割形状を決定するcu_split_flag シンタクス値を決定する。
【００５０】
続いて、予測器１０５は、CU毎に、符号化コストを最小とする、イントラ予測／インター予測を決定するpred_mode_flagシンタクス値、インターCUがブロック単位アフィン変換動き補償予測に基づくか否を示すinter_affine_flag シンタクス値、イントラ予測方向（処理対象ブロックの動き補償予測のイントラ予測方向）、および動きベクトルを決定する。なお、予測器１０５は、ブロック単位アフィン変換動き補償予測制御器１０５０を含む。また、以下、処理対象ブロックの動き補償予測の予測方向を、単に、「予測方向」という。
【００５１】
そして、予測器１０５は、決定したcu_split_flag シンタクス値、pred_mode_flagシンタクス値、inter_affine_flag シンタクス値、イントラ予測方向、および動きベクトルなどに基づいて、各CUの入力画像信号に対する予測信号を生成する。予測信号は、上述したイントラ予測またはフレーム間予測に基づいて生成される。
【００５２】
なお、フレーム間予測は、inter_affine_flag=0の時、通常の動き補償予測となり、そうでないとき（inter_affine_flag=1のとき）、ブロック単位アフィン変換動き補償予測となる。
【００５３】
変換／量子化器１０１は、入力画像信号から予測信号を減じた予測誤差画像を周波数変換する。
【００５４】
さらに、変換／量子化器１０１は、周波数変換した予測誤差画像（周波数変換係数）を量子化する。以下、量子化された周波数変換係数を変換量子化値と呼ぶ。
【００５５】
エントロピー符号化器１０２は、予測器１０５が決定したcu_split_flag シンタクス値、pred_mode_flagシンタクス値、inter_affine_flag シンタクス値、イントラ予測方向の差分情報、動きベクトルの差分情報、および変換量子化値をエントロピー符号化する。
【００５６】
逆量子化／逆変換器１０３は、変換量子化値を逆量子化する。さらに、逆量子化／逆変換器１０３は、逆量子化した周波数変換係数を逆周波数変換する。逆周波数変換された再構築予測誤差画像は、予測信号が加えられて、バッファ１０４に供給される。バッファ１０４は、再構築画像を格納する。
【００５７】
多重化器１０６は、エントロピー符号化器１０２から供給されるエントロピー符号化データをビットストリームとして多重化出力する。
【００５８】
なお、ビットストリームには、映像サイズ、予測器１０５が決定した予測方向、予測器１０５が決定した動きベクトルの差分（特に、ブロックの制御点の動きベクトルの差分）が含まれている。
【００５９】
次に、ブロック単位アフィン変換動き補償予測制御器１０５０の動作を説明する。
【００６０】
図６は、ブロック単位アフィン変換動き補償予測制御器１０５０の構成例を示すブロック図である。図６に示す例では、ブロック単位アフィン変換動き補償予測制御器１０５０は、制御点動きベクトル設定部１０５１と制御付サブブロック動きベクトル導出部１０５２とを含む。
【００６１】
図７は、図２３に示された処理対象ブロック（図７（Ａ）参照）の制御点（図７（Ｂ）における丸印）に片方向動きベクトルが設定され、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルが導出される様子（図７（Ｃ）参照）を示す説明図である。
【００６２】
制御点動きベクトル設定部１０５１は、図２４に示された制御点動きベクトル設定部５０５１と同様に、入力される２つの動きベクトルを、左上と右上の制御点の動きベクトル（図７（Ｂ）おけるvTL とvTR ）として設定する。
【００６３】
なお、処理対象ブロック内の位置(x,y){0≦x≦w-1, 0≦y≦h-1}の動きベクトルは、上記の（１）式および（２）式のように表現される。
【００６４】
次に、図８のフローチャートを参照して、ブロック単位アフィン変換動き補償予測制御器１０５０の動作を説明する。
【００６５】
制御点動きベクトル設定部１０５１は、図２４に示された制御点動きベクトル設定部５０５１と同様に、処理対象ブロックの制御点に外部から入力される動きベクトルを割り当てる（ステップＳ１００１）。制御付サブブロック動きベクトル導出部１０５２は、映像サイズが所定サイズよりも大きいか否かを判断する（ステップＳ１００３）。所定サイズは、一例として、４Ｋサイズ（picWidth=4096（または、3840）、picHeight=2160）や８Ｋサイズ（picWidth=7680 、picHeight=4320）であるが、ユーザが、映像符号化装置の性能等に応じて適宜設定可能である。
【００６６】
映像サイズが所定サイズよりも大きいとき、制御付サブブロック動きベクトル導出部１０５２は、サブブロックサイズとして、図２４に示された４×４画素サイズよりも大きな８×８画素を設定する。つまり、制御付サブブロック動きベクトル導出部１０５２は、S=8 とする（ステップＳ１００４）。
【００６７】
映像サイズが所定サイズ以下であるとき、制御付サブブロック動きベクトル導出部１０５２は、サブブロックサイズを、図２４に示された４×４画素サイズと同じにする。つまり、制御付サブブロック動きベクトル導出部１０５２は、S=4 とする（ステップＳ１００５）。
【００６８】
制御付サブブロック動きベクトル導出部１０５２は、図２４に示されたサブブロック動きベクトル導出部５０５２と同様に、処理対象ブロック内の位置の動きベクトル表現に基づいて、各サブブロックについてサブブロック内の中央位置の動きベクトルを計算し、計算された動きベクトルをサブブロック動きベクトルとする（ステップＳ１００２）。
【００６９】
上述したように、予測器１０５は、決定した動きベクトルなどに基づいて、各CUの入力画像信号に対する予測信号を生成する。
【００７０】
映像サイズが所定サイズよりも大きい場合、図２４（Ｃ）に示されたサブブロックのL0方向の動きベクトル本数と図７（Ｃ）に示されたサブブロックのL0方向の動きベクトル本数との違いから分かるように、本実施形態の映像符号化装置における処理対象ブロックに対するブロック単位アフィン変換動き補償予測の動きベクトル本数は、従来の映像符号化装置における動きベクトル本数よりも少なくなる。図７に示された例では、動きベクトル本数は１／４になる。従って、本実施形態の映像符号化装置は、所定サイズよりも大きい映像サイズを符号化の対象とする場合に、従来のブロック単位アフィン変換動き補償予測制御器を使用する映像符号化装置に比べて、参照ピクチャに関するメモリアクセス量を削減できる。
【００７１】
実施形態２．
次に、図９を参照して、映像符号化装置等からのビットストリームを入力として復号された映像フレームを出力する映像復号装置の構成と動作を説明する。本実施形態の映像復号装置は，第１の実施形態の映像符号化装置に対応する。すなわち、本実施形態の映像復号装置は、第１の実施形態の映像符号化装置における手法と共通の手法でメモリアクセス量削減のための制御を行う。
【００７２】
本実施形態の映像復号装置は、多重化解除器２０１、エントロピー復号器２０２、逆量子化／逆変換器２０３、予測器２０４、バッファ２０５を備える。
【００７３】
多重化解除器２０１は、入力されるビットストリームを多重化解除して、エントロピー符号化された映像ビットストリームを抽出する。
【００７４】
エントロピー復号器２０２は、映像ビットストリームをエントロピー復号する。エントロピー復号器２０２は、符号化パラメータおよび変換量子化値をエントロピー復号し、逆量子化／逆変換器２０３および予測器２０４に供給する。
【００７５】
さらに、エントロピー復号器２０２は、cu_split_flag 、pred_mode_flag、inter_affine_flag 、イントラ予測方向、および動きベクトルを予測器２０４に供給する。
【００７６】
逆量子化／逆変換器２０３は、変換量子化値を逆量子化する。さらに、逆量子化／逆変換器２０３は、逆量子化した周波数変換係数を逆周波数変換する。
【００７７】
逆周波数変換後、予測器２０４は、エントロピー復号されたcu_split_flag 、pred_mode_flag、inter_affine_flag 、イントラ予測方向、および動きベクトルに基づいて、バッファ２０５に格納された再構築画像を用いて予測信号を生成する。予測信号は、上述したイントラ予測またはフレーム間予測に基づいて生成される。
【００７８】
フレーム間予測は、inter_affine_flag=0 のとき、通常の動き補償予測となり、そうでないとき（inter_affine_flag=1 のとき）、ブロック単位アフィン変換動き補償予測となる。
【００７９】
予測器２０４は、ブロック単位アフィン変換動き補償予測制御器２０４０を含む。ブロック単位アフィン変換動き補償予測制御器２０４０は、第１の実施形態の映像符号化装置におけるブロック単位アフィン変換動き補償予測制御器１０５０と同様に、制御点の動きベクトルを設定した後、映像サイズが所定サイズよりも大きいか否かに応じてサブブロックサイズを決定する。そして、ブロック単位アフィン変換動き補償予測制御器２０４０は、処理対象ブロック内の位置の動きベクトル表現に基づいて、各サブブロックについてサブブロック内の中央位置の動きベクトルを計算し、計算された動きベクトルをサブブロック動きベクトルとする。すなわち、ブロック単位アフィン変換動き補償予測制御器２０４０は、制御点動きベクトル設定部１０５１および制御付サブブロック動きベクトル導出部１０５２と同様に動作するブロックを含む。
【００８０】
予測信号生成後、逆量子化／逆変換器２０３で逆周波数変換された再構築予測誤差画像は、予測器２０４から供給される予測信号が加えられて、再構築画像としてバッファ２０５に供給される。
【００８１】
そして、バッファ２０５に格納された再構築画像がデコード画像（デコード映像）として出力される。
【００８２】
映像サイズが所定サイズよりも大きい場合、図２４（Ｃ）に示されたサブブロックのL0方向の動きベクトル本数と図７（Ｃ）に示されたサブブロックのL0方向の動きベクトル本数との違いから分かるように、本実施形態の映像復号装置における処理対象ブロックに対するブロック単位アフィン変換動き補償予測の動きベクトル本数は、従来の映像復号装置における動きベクトル本数よりも少なくなる。図７に示された例では、動きベクトル本数は１／４になる。従って、本実施形態の映像復号装置は、所定サイズよりも大きい映像サイズが復号の対象とされる場合に、従来のブロック単位アフィン変換動き補償予測制御器を使用する映像復号装置に比べて、参照ピクチャに関するメモリアクセス量を削減できる。
【００８３】
実施形態３．
第１の実施形態の映像符号化装置および第２の実施形態の映像復号装置は、ブロック単位アフィン変換動き補償予測制御器１０５０，２０４０が参照ピクチャに関するメモリアクセス量が多いと判断したとき、サブブロックサイズを大きくしてメモリアクセス量を削減した。
【００８４】
サブブロックサイズ大きくする代わりに、図１０に示されるように、サブブロック動きベクトルを整数精度のベクトルにする（動きベクトルが指す画素位置を整数位置に変える。）ことによって、メモリアクセス量を減らすこともできる。画素位置を整数位置に変えることによって、小数画素位置の補間処理がなくなって、補間処理分のメモリアクセス量が削減されるからである。
【００８５】
図１０は、第３の実施形態の映像符号化装置およびそれに対応する映像復号装置において、図２３に示された処理対象ブロック（図１０（Ａ）参照）の制御点（図１０（Ｂ）における丸印）に片方向動きベクトルが設定され、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルが導出される様子（図１０（Ｃ）参照）を示す説明図である。
【００８６】
なお、第３の実施形態の映像符号化装置およびそれに対応する映像復号装置の全体的な構成は、図５および図９に示された構成と同じでよい。
【００８７】
図１１のフローチャートを参照して、第３の実施形態の映像符号化装置におけるブロック単位アフィン変換動き補償予測制御器１０５０の動作を説明する。なお、映像復号装置におけるブロック単位アフィン変換動き補償予測制御器２０４０も、ブロック単位アフィン変換動き補償予測制御器１０５０と同様に動作する。
【００８８】
制御点動きベクトル設定部１０５１は、図２４に示された制御点動きベクトル設定部５０５１と同様に、処理対象ブロックの制御点に外部から入力される動きベクトルを割り当てる（ステップＳ１００１）。制御付サブブロック動きベクトル導出部１０５２は、図２４に示されたサブブロック動きベクトル導出部５０５２と同様に、各サブブロックについてサブブロック内の中央位置の動きベクトルを計算し、計算された動きベクトルをサブブロック動きベクトルとする（ステップＳ１００２）。なお、動きベクトルは、小数精度のベクトルである。
【００８９】
そして、制御付サブブロック動きベクトル導出部１０５２は、映像サイズが所定サイズよりも大きいか否かを判断する（ステップＳ１００３）。映像サイズが所定サイズ以下である場合には、処理を終了する。この場合、動きベクトルv は、小数精度のベクトルのままである。
【００９０】
映像サイズが所定サイズよりも大きいとき、制御付サブブロック動きベクトル導出部１０５２は、各サブブロックの動きベクトルv を整数精度のベクトルに丸める（ステップＳ２００１）。
【００９１】
定式的には、動きベクトルv は、以下のように表される。
【００９２】
vINT(x) = floor(v(x), prec)
vINT(y) = floor(v(x), prec)                                        （３）
【００９３】
floor(a,b)は、変数a に対して、最も近い値の、bの倍数を返す関数である。precは、動きベクトルの画素精度である。例えば、動きベクトルの画素精度が１／１６であれば、prec=16である。
【００９４】
そして、予測器１０５（映像復号装置では、予測器２０４）は、決定した動きベクトルなどに基づいて、各CUの入力画像信号に対する予測信号を生成する。
【００９５】
実施形態４．
第１の実施形態の映像符号化装置および第２の実施形態の映像復号装置は、ブロック単位アフィン変換動き補償予測制御器１０５０，２０４０が参照ピクチャに関するメモリアクセス量が多いと判断したとき、サブブロックサイズを大きくしてメモリアクセス量を削減した。
【００９６】
サブブロックサイズ大きくする代わりに、双方向予測の処理対象ブロックの動きベクトルを強制的に片方向にすることによって、メモリアクセス量を減らすこともできる。
【００９７】
図１２は、双方向予測における参照ピクチャ、処理対象ピクチャおよび処理対象ブロックの位置関係の一例を示す説明図である。
【００９８】
図１３は、一般的なブロック単位アフィン変換動き補償予測と第４の実施形態との比較のための説明図である。具体的には、図１３は、一般的なブロック単位アフィン変換動き補償予測制御器（図２４に示された制御点動きベクトル設定部５０５１およびサブブロック動きベクトル導出部５０５２を有する。）が、図１２に示された処理対象ブロック（図１３（Ａ）参照）の制御点（図１３（Ｂ）における丸印）にそれぞれの方向の動きベクトルを設定し、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルを導出する様子（図１３（Ｃ）参照）を示す説明図である。
【００９９】
図１４は、第４の実施形態の映像符号化装置におけるブロック単位アフィン変換動き補償予測制御器１０５０が、図１２に示された処理対象ブロック（図１４（Ａ）参照）の制御点（図１４（Ｂ）における丸印）にそれぞれの方向の動きベクトルを設定し、さらに、処理対象ブロックの動きベクトル場として各サブブロックの動きベクトルを導出する様子（図１４（Ｃ）参照）を示す説明図である。
【０１００】
なお、第４の実施形態の映像符号化装置およびそれに対応する映像復号装置の全体的な構成は、図５および図９に示された構成と同じでよい。
【０１０１】
図１５のフローチャートを参照して、第４の実施形態の映像符号化装置におけるブロック単位アフィン変換動き補償予測制御器１０５０の動作を説明する。なお、映像復号装置におけるブロック単位アフィン変換動き補償予測制御器２０４０も、ブロック単位アフィン変換動き補償予測制御器１０５０と同様に動作する。
【０１０２】
制御点動きベクトル設定部１０５１は、図２４に示された制御点動きベクトル設定部５０５１と同様に、処理対象ブロックの制御点に外部から入力される動きベクトルを割り当てる（ステップＳ１００１）。制御付サブブロック動きベクトル導出部１０５２は、図２４に示されたサブブロック動きベクトル導出部５０５２と同様に、各サブブロックについてサブブロック内の中央位置の動きベクトルを計算し、計算された動きベクトルをサブブロック動きベクトルとする（ステップＳ１００２）。
【０１０３】
制御付サブブロック動きベクトル導出部１０５２は、映像サイズが所定サイズよりも大きいか否かを判断する（ステップＳ１００３）。映像サイズが所定サイズ以下である場合には、処理を終了する。この場合、動きベクトルは、双方向ベクトルであることがある。
【０１０４】
映像サイズが所定サイズよりも大きいとき、制御付サブブロック動きベクトル導出部１０５２は、L1方向のサブブロック動きベクトルを無効にして、各サブブロックの動きベクトルv を片方向に制約する（ステップＳ２００２）。
【０１０５】
そして、予測器１０５（映像復号装置では、予測器２０４）は、決定した動きベクトルなどに基づいて、各CUの入力画像信号に対する予測信号を生成する。
【０１０６】
なお、制御付サブブロック動きベクトル導出部１０５２は、L1方向のサブブロック動きベクトルを無効にする代わりに、L0方向のサブブロック動きベクトルを無効にしてもよい。さらに、映像符号化装置は、無効にする予測方向に関する情報のシンタクスをビットストリームに多重化し、映像復号装置が、ビットスリームから当該情報のシンタクスを抽出し、得られた予測方向の動きベクトルを無効化してもよい。
【０１０７】
図１３（Ｃ）に示されたサブブロックの動きベクトル本数と図１４（Ｃ）に示されたサブブロックの動きベクトル本数との違いから分かるように、本実施形態の映像符号化装置および映像復号装置における処理対象ブロックに対するブロック単位アフィン変換動き補償予測の動きベクトル本数は、従来の映像符号化装置および映像復号装置におけるブロック単位アフィン変換動き補償予測の動きベクトル本数よりも少なくなる（具体的には、１／２）。つまり、本実施形態の映像符号化装置および映像復号装置は、所定サイズよりも大きい映像サイズを符号化の対象とする場合に、従来のブロック単位アフィン変換動き補償予測制御器を使用する映像符号化処理および映像復号処理に比べて、参照ピクチャに関するメモリアクセス量を削減できる。
【０１０８】
また、上記の説明から明らかなように、双方向予測を使わないＰピクチャの全てのブロック、Ｂピクチャにおいて双方向予測を使わない（片方向予測の）ブロックでは、本実施形態における処理対象ブロックに対するブロック単位アフィン変換動き補償予測の動きベクトル本数は、一般的なブロック単位アフィン変換動き補償予測を使用する場合と同じである。従って、本実施形態におけるブロック単位アフィン変換動き補償予測は、双方向予測を用いるブロックのみに適用するように制約してもよい。
【０１０９】
実施形態５．
第１の実施形態の映像符号化装置および第２の映像復号装置は、ブロック単位アフィン変換動き補償予測制御器１０５０，２０４０が映像サイズに基づいて参照ピクチャに関するメモリアクセス量が多いか否かを判断し、参照ピクチャに関するメモリアクセス量が多いと判断したとき、サブブロックサイズを大きくしてメモリアクセス量を削減した。
【０１１０】
しかし、ブロック単位アフィン変換動き補償予測制御器１０５０，２０４０は、映像サイズに基づく判断を実行せず、代わりに、常に用いるサブブロックサイズS をシンタクスに基づいて制御してもよい。つまり、映像符号化装置において多重化器１０６がサブブロックサイズS に関する情報を示すlog2_affine_subblock_size_minus2シンタクスをビットストリームに多重化し、映像復号装置において多重化解除器２０１がビットスリームから当該情報のシンタクスを抽出および復号して得たサブブロックサイズS を予測器２０４が使用するようにしてもよい。
【０１１１】
log2_affine_subblock_size_minus2シンタクスの値とサブブロックサイズS の関係は、以下のように定式的に表現される。
【０１１２】
S = 1 << ( log2_affine_subblock_size_minus2 + 2 )             （４）
【０１１３】
<<は、左方向のビットシフト演算を示す。
【０１１４】
上記のような制御を行う第５の実施形態の実施形態の映像符号化装置におけるブロック単位アフィン変換動き補償予測制御器１０５０の動作を図１６のフローチャートを参照して説明する。なお、映像復号装置におけるブロック単位アフィン変換動き補償予測制御器２０４０も、ブロック単位アフィン変換動き補償予測制御器１０５０と同様に動作する。
【０１１５】
制御点動きベクトル設定部１０５１は、図２４に示された制御点動きベクトル設定部５０５１と同様に、処理対象ブロックの制御点に外部から入力される動きベクトルを割り当てる（ステップＳ１００１）。
【０１１６】
制御付サブブロック動きベクトル導出部１０５２は、（４）式の関係式に基づいて、log2_affine_subblock_size_minus2シンタクスの値からサブブロックサイズS を決定する（ステップＳ２００３）。
【０１１７】
制御付サブブロック動きベクトル導出部１０５２は、図２４に示されたサブブロック動きベクトル導出部５０５２と同様に、各サブブロックについてサブブロック内の中央位置の動きベクトルを計算し、計算された動きベクトルをサブブロック動きベクトルとする（ステップＳ１００２）。ただし、本実施形態では、制御付サブブロック動きベクトル導出部１０５２は、ステップＳ２００２の処理で決定されたサブブロックサイズS のサブブロックについて、サブブロック動きベクトルを計算する。
【０１１８】
そして、予測器１０５（映像復号装置では、予測器２０４）は、決定した動きベクトルなどに基づいて、各CUの入力画像信号に対する予測信号を生成する。
【０１１９】
なお、第５の実施形態の映像符号化装置およびそれに対応する映像復号装置の全体的な構成は、図５および図９に示された構成と同じでよい。
【０１２０】
本実施形態では、映像サイズの判断処理が不要になるので、ブロック単位アフィン変換動き補償予測制御器１０５０，２０４０の構成が簡素化される。
【０１２１】
実施形態６．
第３の実施形態の映像符号化装置および映像復号装置は、ブロック単位アフィン変換動き補償予測制御器１０５０，２０４０が映像サイズに基づいて参照ピクチャに関するメモリアクセス量が多いか否かを判断し、参照ピクチャに関するメモリアクセス量が多いと判断したとき、サブブロック動きベクトルを整数精度にすることによってメモリアクセス量を削減した。
【０１２２】
しかし、ブロック単位アフィン変換動き補償予測制御器１０５０，２０４０は、サブブロック動きベクトルを整数精度にするか否かを、動きベクトルを整数精度にするか否かを示すシンタクスに基づいて判断してもよい。
【０１２３】
すなわち、映像符号化装置において多重化器１０６が整数精度にするか否か（整数精度が有効か否か）に関する情報を示すenable_affine_sublock_integer_mv_flag シンタクスをビットストリームに多重化し、映像復号装置において多重化解除器２０１がビットスリームから当該情報のシンタクスを抽出および復号して得た情報を予測器２０４が使用するようにしてもよい。
【０１２４】
なお、enable_affine_sublock_integer_mv_flag シンタクスの値が１のとき、整数精度を行い（整数精度化が有効）、そうでないとき（enable_affine_sublock_integer_mv_flag シンタクスの値が０）、整数精度化を行わない（整数精度化が無効）とする。
【０１２５】
上記のような制御を行う第６の実施形態の実施形態の映像符号化装置におけるブロック単位アフィン変換動き補償予測制御器１０５０の動作を図１７のフローチャートを参照して説明する。なお、映像復号装置におけるブロック単位アフィン変換動き補償予測制御器２０４０も、ブロック単位アフィン変換動き補償予測制御器１０５０と同様に動作する。
【０１２６】
制御点動きベクトル設定部１０５１は、図２４に示された制御点動きベクトル設定部５０５１と同様に、処理対象ブロックの制御点に外部から入力される動きベクトルを割り当てる（ステップＳ１００１）。
【０１２７】
制御付サブブロック動きベクトル導出部１０５２は、図２４に示されたサブブロック動きベクトル導出部５０５２と同様に、各サブブロックについてサブブロック内の中央位置の動きベクトルを計算し、計算された動きベクトルをサブブロック動きベクトルとする（ステップＳ１００２）。
【０１２８】
制御付サブブロック動きベクトル導出部１０５２は、enable_affine_sublock_integer_mv_flag から、サブブロック動きベクトルを整数精度にするか否か（整数精度が有効か否か）を判断する（ステップＳ３００１）。整数精度が有効でない場合には、処理を終了する。
【０１２９】
整数精度が有効であるとき、制御付サブブロック動きベクトル導出部１０５２は、各サブブロックの動きベクトルv を整数精度のベクトルに丸める（ステップＳ２００１）。なお、整数精度の動きベクトルv は、上記の（３）式のように表される。
【０１３０】
そして、予測器１０５（映像復号装置では、予測器２０４）は、決定した動きベクトルなどに基づいて、各CUの入力画像信号に対する予測信号を生成する。
【０１３１】
なお、第６の実施形態の映像符号化装置およびそれに対応する映像復号装置の全体的な構成は、図５および図９に示された構成と同じでよい。
【０１３２】
実施形態７．
第４の実施形態の映像符号化装置および映像復号装置は、ブロック単位アフィン変換動き補償予測制御器１０５０，２０４０が映像サイズに基づいて参照ピクチャに関するメモリアクセス量が多いか否かを判断し、参照ピクチャに関するメモリアクセス量が多いと判断したとき、双方向予測の処理対象ブロックの動きベクトルを強制的に片方向の動きベクトルにすることによってメモリアクセス量を削減した。
【０１３３】
しかし、ブロック単位アフィン変換動き補償予測制御器１０５０，２０４０は、双方向予測の処理対象ブロックの動きベクトルを強制的に片方向の動きベクトルにするか否かを、動きベクトルを整数精度にするか否かを示すシンタクスに基づいて判断してもよい。
【０１３４】
すなわち、映像符号化装置において多重化器１０６が強制的に片方向にするか否か（片方向化が有効か否か）に関する情報を示すdisable_affine_sublock_bipred_mv_flag シンタクスをビットストリームに多重化し、映像復号装置において多重化解除器２０１がビットスリームから当該情報のシンタクスを抽出および復号して得た情報を予測器２０４が使用するようにしてもよい。
【０１３５】
なお、disable_affine_sublock_bipred_mv_flag シンタクスの値が１のとき、強制的な片方向化を行わず（片方向化が無効）、そうでないとき（disable_affine_sublock_bipred_mv_flag シンタクスの値が0）、強制的な片方向化を行う（片方向化が有効）とする。
【０１３６】
上記のような制御を行う第７の実施形態の実施形態の映像符号化装置におけるブロック単位アフィン変換動き補償予測制御器１０５０の動作を図１８のフローチャートを参照して説明する。なお、映像復号装置におけるブロック単位アフィン変換動き補償予測制御器２０４０も、ブロック単位アフィン変換動き補償予測制御器１０５０と同様に動作する。
【０１３７】
制御点動きベクトル設定部１０５１は、図２４に示された制御点動きベクトル設定部５０５１と同様に、処理対象ブロックの制御点に外部から入力される動きベクトルを割り当てる（ステップＳ１００１）。
【０１３８】
制御付サブブロック動きベクトル導出部１０５２は、図２４に示されたサブブロック動きベクトル導出部５０５２と同様に、各サブブロックについてサブブロック内の中央位置の動きベクトルを計算し、計算された動きベクトルをサブブロック動きベクトルとする（ステップＳ１００２）。
【０１３９】
制御付サブブロック動きベクトル導出部１０５２は、disable_affine_sublock_bipred_mv_flagから、サブブロック動きベクトルを片方向にするか否か（片方向化が有効か否か）を判断する（ステップＳ４００１）。片方向化が有効でない場合には、処理を終了する。
【０１４０】
片方向化が有効である場合には、制御付サブブロック動きベクトル導出部１０５２は、L1方向のサブブロック動きベクトルを無効にして、各サブブロックの動きベクトルv を片方向に制約する（ステップＳ２００１）。
【０１４１】
そして、予測器１０５（映像復号装置では、予測器２０４）は、決定した動きベクトルなどに基づいて、各CUの入力画像信号に対する予測信号を生成する。
【０１４２】
なお、第７の実施形態の映像符号化装置およびそれに対応する映像復号装置の全体的な構成は、図５および図９に示された構成と同じでよい。
【０１４３】
また、第４の実施形態の場合と同様、制御付サブブロック動きベクトル導出部１０５２は、L1方向のサブブロック動きベクトルを無効にする代わりに、L0方向のサブブロック動きベクトルを無効にしてもよい。さらに、映像符号化装置は、無効にする予測方向に関する情報のシンタクスをビットストリームに多重化し、映像復号装置が、ビットスリームから当該情報のシンタクスを抽出し、得られた予測方向の動きベクトルを無効化してもよい。
【０１４４】
以上に説明したように、上記の各実施形態におけるブロック単位アフィン変換動き補償予測では、制御付サブブロック動きベクトル導出部が、参照ピクチャに関するメモリアクセス量が多いか否かを判断し、メモリアクセス量が多いと判断したとき、参照ピクチャに関するメモリアクセス量が削減されるようにサブブロック動きベクトルを導出する。
【０１４５】
参照ピクチャに関するメモリアクセス量が多いか否かの判断には、映像サイズ、予測方向（処理対象ブロックの動き補償予測の予測方向）、および、処理対象ブロックの制御点の動きベクトルの差分のうちの少なくとも１つが利用される。
【０１４６】
また、参照ピクチャに関するメモリアクセス量の削減には、以下のような、動きベクトルの本数制限、および動きベクトルの精度低下のうちの少なくとも１つが利用される。
【０１４７】
動きベクトル本数制限：サブブロックのサイズを大きくするか、予測方向を片方向にするか、または、それらの組み合わせ
【０１４８】
動きベクトル精度低下：サブブロックの動きベクトルを整数精度の動きベクトルに丸める
【０１４９】
なお、上記の各実施形態は単独で実現されてもよいが、２つ以上の実施形態が適宜組み合わされてもよい。
【０１５０】
具体的には、上記の各実施形態の映像符号化装置および映像復号装置では、メモリアクセス量が多いか否かを判断するときに、映像サイズ、処理対象ブロックの予測方向、または、処理対象ブロックの制御点の動きベクトルの差分が用いられたが、それらの３つの要素を任意に組み合わせて判断してもよい。
【０１５１】
また、上記の各実施形態の映像符号化装置および映像復号装置では、メモリアクセス量を削減する際に、サブブロックのサイズを大きくするか、サブブロック動きベクトルを整数精度にするか、または、サブブロック動きベクトルを片方向に限定したが、それらの３つの手法を任意に組み合わせてもよい。
【０１５２】
実施形態８．
図１９は、映像システムの構成例を示すブロック図である。映像システム４００における映像符号化装置１００は、上記の各実施形態のいずれかの映像符号化装置、または、２つ以上の実施形態が組み合わされた映像符号化装置である。映像システム４００における映像復号装置２００は、上記の各実施形態のいずれかの映像復号装置、または、２つ以上の実施形態が組み合わされた映像復号装置である。映像符号化装置１００と映像復号装置２００は、伝送路３００（無線伝送路または有線伝送路）を介して通信可能に接続される。
【０１５３】
本実施形態では、映像符号化装置１００と映像復号装置２００とが共通した手法でメモリアクセス量削減を行うことによって、映像符号化装置１００と映像復号装置２００との高い相互接続性が確保される。
【０１５４】
例えば、映像符号化装置１００と映像復号装置２００とが上記の第５の実施形態によって構成される場合、例えば、映像サイズに応じたlog2_affine_subblock_size_minus2シンタクスの値を表１に記すように規定する。そして、映像システム４００が、映像サイズに応じた規定値を映像符号化装置１００に設定することによって、映像符号化装置１００と映像復号装置２００との相互接続性が担保され、サービスおよび運用が効率化される。
【０１５５】
【表１】
2019069602.tif 000003
【０１５６】
また、映像符号化装置１００と映像復号装置２００とが上記の第６の実施形態によって構成される場合、例えば、映像サイズに応じたenable_affine_sublock_integer_mv_flag シンタクスの値を表２に記すように規定する。そして、映像システム４００が、映像サイズに応じた規定値を映像符号化装置１００に設定することによって、映像符号化装置１００と映像復号装置２００との相互接続性が担保され、サービスおよび運用が効率化される。
【０１５７】
【表２】
2019069602.tif 000004
【０１５８】
また、映像符号化装置１００と映像復号装置２００とが上記の第７の実施形態によって構成される場合、例えば、映像サイズに応じたdisable_affine_sublock_bipred_mv_flag の値を表３に記すように規定する。そして、映像システム４００が、映像サイズに応じた規定値を映像符号化装置１００に設定することによって、映像符号化装置１００と映像復号装置２００との相互接続性が担保され、サービスおよび運用が効率化される。
【０１５９】
【表３】
2019069602.tif 000005
【０１６０】
なお、上記の各実施形態を、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。
【０１６１】
図２０に示す情報処理システムは、プロセッサ１００１、プログラムメモリ１００２、映像データを格納するための記憶媒体１００３およびビットストリームを格納するための記憶媒体１００４を備えている。記憶媒体１００３と記憶媒体１００４とは、別個の記憶媒体であってもよいし、同一の記憶媒体からなる記憶領域であってもよい。記憶媒体として、ハードディスク等の磁気記憶媒体を用いることができる。
【０１６２】
図２０に示された情報処理システムにおいて、プログラムメモリ１００２には、図５に示された各ブロック（バッファのブロックを除く）、または図９に示された各ブロック（バッファのブロックを除く）の機能を実現するためのプログラムが格納される。そして、プロセッサ１００１は、プログラムメモリ１００２に格納されているプログラムに従って処理を実行することによって、上記の実施形態の映像符号化装置または映像復号装置の機能を実現する。
【０１６３】
図１９に示された映像システム４００についても、映像符号化装置１００は、図２０に例示された情報処理システムで実現可能である。また、映像復号装置２００も、図２０に例示された情報処理システムで実現可能である。
【０１６４】
図２１は、映像符号化装置の主要部を示すブロック図である。図２１に示すように、映像符号化装置１０は、外部から供給される符号化パラメータを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御するブロック単位アフィン変換動き補償予測制御部１１（実施形態のブロック単位アフィン変換動き補償予測制御器１０５０に対応）を備える。
【０１６５】
なお、「外部」はブロック単位アフィン変換動き補償予測制御部１１の外部を意味する。外部から供給される符号化パラメータとして、例えば、ブロック単位アフィン変換動き補償予測制御部１１の外部で設定される映像サイズ、予測部（例えば、図５における予測器１０５）が決定した予測方向、予測部（例えば、図５における予測器１０５）が決定した動きベクトルの差分（特に、ブロックの制御点の動きベクトルの差分）がある。
【０１６６】
図２２は、映像復号装置の主要部を示すブロック図である。図２２に示すように、映像復号装置２０は、少なくともビットストリームから抽出される符号化パラメータを用いて、ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御するブロック単位アフィン変換動き補償予測制御部２１（実施形態のブロック単位アフィン変換動き補償予測制御器２０４０に対応）を備える。
【０１６７】
なお、ブロック単位アフィン変換動き補償予測のために用いられる符号化パラメータとして、ビットストリームに含まれる映像サイズ、予測部（例えば、図５における予測器１０５）が決定した予測方向、予測部（例えば、図５における予測器１０５）が決定した動きベクトルの差分（特に、ブロックの制御点の動きベクトルの差分）がある。
【０１６８】
上記の実施形態の一部または全部は以下の付記のようにも記載されうるが、本発明の構成は以下の構成に限定されない。
【０１６９】
（付記１）ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化装置であって、
外部から供給される符号化パラメータを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御するブロック単位アフィン変換動き補償予測制御手段
を備えることを特徴とする映像符号化装置。
【０１７０】
（付記２）前記ブロック単位アフィン変換動き補償予測制御手段は、サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸める
付記１の映像符号化装置。
【０１７１】
（付記３）ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号装置であって、
少なくともビットストリームから抽出される符号化パラメータを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御するブロック単位アフィン変換動き補償予測制御手段
を備えることを特徴とする映像復号装置。
【０１７２】
（付記４）前記ブロック単位アフィン変換動き補償予測制御手段は、サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸める
付記３の映像復号装置。
【０１７３】
（付記５）ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化方法であって、
供給される符号化パラメータを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御する
ことを特徴とする映像符号化方法。
【０１７４】
（付記６）サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸める
付記５の映像符号化方法。
【０１７５】
（付記７）ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号方法であって、
少なくともビットストリームから抽出される符号化パラメータを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御する
ことを特徴とする映像復号方法。
【０１７６】
（付記８）サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸める
付記７の映像復号方法。
【０１７７】
（付記９）ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化装置で実行される映像符号化プログラムであって、
コンピュータに、
供給される符号化パラメータを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御させる
ための映像符号化プログラム。
【０１７８】
（付記１０）コンピュータに、
サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸めるための処理を実行させる
付記９の映像符号化プログラム。
【０１７９】
（付記１１）ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号装置で実行される映像復号プログラムであって、
コンピュータに、
少なくともビットストリームから抽出される符号化パラメータを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御させる
ための映像復号プログラム。
【０１８０】
（付記１２）コンピュータに、
サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸めるための処理を実行させる
付記１１の映像復号プログラム。
【０１８１】
（付記１３）ブロックにおける制御点の動きベクトルを用いてサブブロックの動きベクトルを計算する過程を含むブロック単位アフィン変換動き補償予測を用いる映像システムであって、
前記ブロック単位アフィン変換動き補償予測を用いて映像符号化を行う映像符号化装置と、前記ブロック単位アフィン変換動き補償予測を用いて映像復号を行う映像復号装置とを含み、
前記映像符号化装置は、該映像システム内で供給される符号化パラメータを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御する符号化側ブロック単位アフィン変換動き補償予測制御手段を有し、
前記映像復号装置は、少なくとも前記映像符号化装置からのビットストリームから抽出される符号化パラメータを用いて、前記ブロック単位アフィン変換動き補償予測の対象のブロックにおけるサブブロックのブロックサイズと、予測方向と、動きベクトル精度とのうちの少なくとも１つを制御する復号側ブロック単位アフィン変換動き補償予測制御手段を有する
ことを特徴とする映像システム。
【０１８２】
（付記１４）前記符号化側ブロック単位アフィン変換動き補償予測制御手段と前記復号側ブロック単位アフィン変換動き補償予測制御手段とのそれぞれは、サブブロックのブロックサイズを制御する場合にはサブブロックのブロックサイズを大きくし、予測方向を制御する場合には予測方向を片方向に制限し、動きベクトル精度を制御する場合にはサブブロックの動きベクトルを整数精度の動きベクトルに丸める
付記１３の映像システム。
【０１８３】
（付記１５）付記５または付記６の映像符号化方法を実現するための映像符号化プログラム。
【０１８４】
（付記１６）付記７または付記８の映像復号方法を実現するための映像復号プログラム。
【０１８５】
この出願は、２０１７年１０月３日に出願された日本特許出願２０１７−１９３５０３を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【０１８６】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１８７】
１０      映像符号化装置
１１      ブロック単位アフィン変換動き補償予測制御部
２０      映像復号装置
２１      ブロック単位アフィン変換動き補償予測制御部
１００    映像符号化装置
１０１    変換／量子化器
１０２    エントロピー符号化器
１０３    逆量子化／逆変換器
１０４    バッファ
１０５    予測器
１０６    多重化器
２００    映像復号装置
２０１    多重化解除器
２０２    エントロピー復号器
２０３    逆量子化／逆変換器
２０４    予測器
２０５    バッファ
３００    伝送路
４００    映像システム
１００１  プロセッサ
１００２  プログラムメモリ
１００３  記憶媒体
１００４  記憶媒体  
１０５０  ブロック単位アフィン変換動き補償予測制御器
１０５１  制御点動きベクトル設定部
１０５２  制御付サブブロック動きベクトル導出部
２０４０  ブロック単位アフィン変換動き補償予測制御器
【図１】
2019069602.tif 000006
【図２】
2019069602.tif 000007
【図３】
2019069602.tif 000008
【図４】
2019069602.tif 000009
【図５】
2019069602.tif 000010
【図６】
2019069602.tif 000011
【図７】
2019069602.tif 000012
【図８】
2019069602.tif 000013
【図９】
2019069602.tif 000014
【図１０】
2019069602.tif 000015
【図１１】
2019069602.tif 000016
【図１２】
2019069602.tif 000017
【図１３】
2019069602.tif 000018
【図１４】
2019069602.tif 000019
【図１５】
2019069602.tif 000020
【図１６】
2019069602.tif 000021
【図１７】
2019069602.tif 000022
【図１８】
2019069602.tif 000023
【図１９】
2019069602.tif 000024
【図２０】
2019069602.tif 000025
【図２１】
2019069602.tif 000026
【図２２】
2019069602.tif 000027
【図２３】
2019069602.tif 000028
【図２４】
2019069602.tif 000029
【国際調査報告】
2019069602.tif 000030
2019069602.tif 000031
2019069602.tif 000032
2019069602.tif 000033