【文献】
Jianle Chen and Tammy Lee,MVP index parsing with fixed number of candidates,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年 7月,JCTVC-F402r1,pp.1-9
【文献】
Toshiyasu Sugio and Takahiro Nishi,Parsing Robustness for Merge/AMVP,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,6th Meeting: Torino, IT,2011年 7月,JCTVC-F470_r4,pp.1-15
【文献】
Ken McCann et al.,HM5: High Efficiency Video Coding (HEVC) Test Model 5 Encoder Description,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,7th Meeting: Geneva, CH,2012年 1月,JCTVC-G1102_d1,pp.1-21
【文献】
Benjamin Bross et al.,WD5: Working Draft 5 of High-Efficiency Video Coding,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,7th Meeting: Geneva, CH,2012年 2月,JCTVC-G1103_d9,pp.i,32-33,70-73,107-122
【文献】
Toshiyasu Sugio and Takahiro Nishi,On MVP candidate list for AMVP/Merge,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,9th Meeting: Geneva, CH,2012年 7月,JCTVC-I0134,pp.1-6
【文献】
Hiroya Nakamura et al.,Default value for skip/merge and AMVP,AMJoint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 1,9th Meeting: Geneva, CH,2012年 7月,JCTVC-I0314_r2,pp.1-16
(58)【調査した分野】(Int.Cl.,DB名)
動画像の各ピクチャを分割したブロック単位でマージ候補のインター予測情報によるインター予測を用いて前記動画像を符号化する動画像符号化方法により符号化された符号化ビット列をパケット化して符号化ストリームを得るパケット処理部と、
パケット化された前記符号化ストリームを送信する送信部とを備え、
前記動画像符号化方法は、
予め指定されたマージ候補の数を示す情報を符号化する予測情報符号化ステップと、
符号化対象の予測ブロックに隣接する予測ブロック、または符号化対象の予測ブロックと時間的に異なる符号化済みのピクチャにおける前記符号化対象の予測ブロックと同一位置又はその付近に存在する予測ブロックのインター予測情報から、前記マージ候補を導出する予測情報導出ステップと、
前記導出されたマージ候補からマージ候補リストを構築する候補リスト構築ステップと、
動きベクトルには第1の数を設定し、インター予測モードには第2の数を設定し、参照インデックスには第3の数を設定したマージ候補を追加する第1の処理を、前記構築されたマージ候補リストへ繰り返し実行する第1候補補充ステップと、
前記第1の処理を実行したマージ候補リストに含まれるマージ候補の数が前記予め指定されたマージ候補の数未満であった場合、動きベクトルには前記第1の数を設定し、インター予測モードには前記第2の数を設定し、参照インデックスには第4の数を設定したマージ候補を追加する第2の処理を、前記第1の処理を実行したマージ候補リストに含まれるマージ候補の数が前記予め指定されたマージ候補の数に達するまで、前記第1の処理を実行したマージ候補リストへ繰り返し実行する第2候補補充ステップと、
前記予め指定されたマージ候補の数に達したマージ候補リストに含まれるマージ候補から1つのマージ候補を選択するマージ候補選択ステップとを有し、
前記第1の数は前記第1の処理および前記第2の処理ごとに値が異ならない所定の値であり、
前記第2の数は前記第1の処理および前記第2の処理ごとに値が異ならない値であって、符号化対象となる画像がPピクチャである場合に、インター予測モードはL0予測であることを示す値であり、
前記第3の数は前記第1の処理ごとに値が異なる変数であり、
前記第4の数は前記第2の処理ごとに値が異ならない所定の値である
ことを特徴とする送信装置。
動画像の各ピクチャを分割したブロック単位でマージ候補のインター予測情報によるインター予測を用いて前記動画像を符号化する動画像符号化方法により符号化された符号化ビット列をパケット化して符号化ストリームを得るパケット処理ステップと、
パケット化された前記符号化ストリームを送信する送信ステップとを有し、
前記動画像符号化方法は、
予め指定されたマージ候補の数を示す情報を符号化する予測情報符号化ステップと、
符号化対象の予測ブロックに隣接する予測ブロック、または符号化対象の予測ブロックと時間的に異なる符号化済みのピクチャにおける前記符号化対象の予測ブロックと同一位置又はその付近に存在する予測ブロックのインター予測情報から、前記マージ候補を導出する予測情報導出ステップと、
前記導出されたマージ候補からマージ候補リストを構築する候補リスト構築ステップと、
動きベクトルには第1の数を設定し、インター予測モードには第2の数を設定し、参照インデックスには第3の数を設定したマージ候補を追加する第1の処理を、前記構築されたマージ候補リストへ繰り返し実行する第1候補補充ステップと、
前記第1の処理を実行したマージ候補リストに含まれるマージ候補の数が前記予め指定されたマージ候補の数未満であった場合、動きベクトルには前記第1の数を設定し、インター予測モードには前記第2の数を設定し、参照インデックスには第4の数を設定したマージ候補を追加する第2の処理を、前記第1の処理を実行したマージ候補リストに含まれるマージ候補の数が前記予め指定されたマージ候補の数に達するまで、前記第1の処理を実行したマージ候補リストへ繰り返し実行する第2候補補充ステップと、
前記予め指定されたマージ候補の数に達したマージ候補リストに含まれるマージ候補から1つのマージ候補を選択するマージ候補選択ステップとを有し、
前記第1の数は前記第1の処理および前記第2の処理ごとに値が異ならない所定の値であり、
前記第2の数は前記第1の処理および前記第2の処理ごとに値が異ならない値であって、符号化対象となる画像がPピクチャである場合に、インター予測モードはL0予測であることを示す値であり、
前記第3の数は前記第1の処理ごとに値が異なる変数であり、
前記第4の数は前記第2の処理ごとに値が異ならない所定の値である
ことを特徴とする送信方法。
動画像の各ピクチャを分割したブロック単位でマージ候補のインター予測情報によるインター予測を用いて前記動画像を符号化する動画像符号化方法により符号化された符号化ビット列をパケット化して符号化ストリームを得るパケット処理ステップと、
パケット化された前記符号化ストリームを送信する送信ステップとコンピュータに実行させ、
前記動画像符号化方法は、
予め指定されたマージ候補の数を示す情報を符号化する予測情報符号化ステップと、
符号化対象の予測ブロックに隣接する予測ブロック、または符号化対象の予測ブロックと時間的に異なる符号化済みのピクチャにおける前記符号化対象の予測ブロックと同一位置又はその付近に存在する予測ブロックのインター予測情報から、前記マージ候補を導出する予測情報導出ステップと、
前記導出されたマージ候補からマージ候補リストを構築する候補リスト構築ステップと、
動きベクトルには第1の数を設定し、インター予測モードには第2の数を設定し、参照インデックスには第3の数を設定したマージ候補を追加する第1の処理を、前記構築されたマージ候補リストへ繰り返し実行する第1候補補充ステップと、
前記第1の処理を実行したマージ候補リストに含まれるマージ候補の数が前記予め指定されたマージ候補の数未満であった場合、動きベクトルには前記第1の数を設定し、インター予測モードには前記第2の数を設定し、参照インデックスには第4の数を設定したマージ候補を追加する第2の処理を、前記第1の処理を実行したマージ候補リストに含まれるマージ候補の数が前記予め指定されたマージ候補の数に達するまで、前記第1の処理を実行したマージ候補リストへ繰り返し実行する第2候補補充ステップと、
前記予め指定されたマージ候補の数に達したマージ候補リストに含まれるマージ候補から1つのマージ候補を選択するマージ候補選択ステップとを有し、
前記第1の数は前記第1の処理および前記第2の処理ごとに値が異ならない所定の値であり、
前記第2の数は前記第1の処理および前記第2の処理ごとに値が異ならない値であって、符号化対象となる画像がPピクチャである場合に、インター予測モードはL0予測であることを示す値であり、
前記第3の数は前記第1の処理ごとに値が異なる変数であり、
前記第4の数は前記第2の処理ごとに値が異ならない所定の値である
ことを特徴とする送信プログラム。
【発明を実施するための形態】
【0019】
本実施の形態では、動画像の符号化に関し、特にピクチャを任意のサイズ、形状の矩形ブロックに分割し、ピクチャ間でブロック単位に動き補償を行う動画像符号化における符号化効率を向上させる為に、符号化対象ブロックに隣接するブロックまたは符号化済みのピクチャのブロックの動きベクトルから複数の予測動きベクトルを導出し、符号化対象のブロックの動きベクトルと選択された予測動きベクトルとの差分ベクトルを算出して符号化することによって符号量を削減する。あるいは、符号化対象ブロックに隣接するブロックまたは符号化済みのピクチャのブロックの符号化情報を利用することにより、符号化対象ブロックの符号化情報を導出することによって符号量を削減する。また、動画像の復号の場合は、復号対象ブロックに隣接するブロックまたは復号済みのピクチャのブロックの動きベクトルから複数の予測動きベクトルを算出し、符号化ストリームから復号された差分ベクトルと選択された予測動きベクトルとから復号対象のブロックの動きベクトルを算出して復号する。あるいは、復号対象ブロックに隣接するブロックまたは復号済みのピクチャのブロックの符号化情報を利用することにより、復号対象ブロックの符号化情報を導出する。
【0020】
まず、本実施の形態において使用する技術、及び技術用語を定義する。
【0021】
(ツリーブロック、符号化ブロックについて)
実施の形態では、ピクチャを1つまたは複数分割したスライスが符号化の基本単位となっており、スライス毎にスライスの種類を示す情報であるスライスタイプが設定される。
図3に示されるように、スライス内を任意の同一サイズの正方の矩形の単位にて均等分割する。この単位をツリーブロックと定義し、スライス内での符号化/復号対象ブロック(符号化処理においては符号化対象ブロック、復号処理においては復号対象ブロックのことである。以下、断りのない限り、この意味で用いる。)を特定するためのアドレス管理の基本単位とする。モノクロを除きツリーブロックは1つの輝度信号と2つの色差信号で構成される。ツリーブロックのサイズはピクチャサイズやピクチャ内のテクスチャに応じて、2のべき乗のサイズで自由に設定することができる。ツリーブロックはピクチャ内のテクスチャに応じて、符号化処理を最適にすべく、必要に応じてツリーブロック内の輝度信号、及び色差信号を階層的に4分割(縦横に2分割ずつ)して、ブロックサイズの小さいブロックにすることができる。このブロックをそれぞれ符号化ブロックと定義し、符号化及び復号を行う際の処理の基本単位とする。モノクロを除き符号化ブロックも1つの輝度信号と2つの色差信号で構成される。符号化ブロックの最大サイズはツリーブロックのサイズと同一である。符号化ブロックの最小のサイズとなる符号化ブロックを最小符号化ブロックと呼び、2のべき乗のサイズで自由に設定することができる。
【0022】
図3においては、符号化ブロックAは、ツリーブロックを分割せず、1つの符号化ブロックとしたものである。符号化ブロックBは、ツリーブロックを4分割してできた符号化ブロックである。符号化ブロックCは、ツリーブロックを4分割してできたブロックをさらに4分割してできた符号化ブロックである。符号化ブロックDは、ツリーブロックを4分割してできたブロックをさらに階層的に2度4分割してできた符号化ブロックであり、最小サイズの符号化ブロックである。
【0023】
(予測モードについて)
符号化ブロック単位で、符号化/復号対象ピクチャ内の符号化/復号済み(符号化処理においては符号化した信号を復号したピクチャ、予測ブロック、画像信号等に用い、復号処理においては復号したピクチャ、予測ブロック、画像信号等に用いる。以下、断りのない限り、この意味で用いる。)の周囲の画像信号から予測を行うイントラ予測(MODE_INTRA)、及び符号化/復号済みのピクチャの画像信号から予測を行うインター予測(MODE_INTER)を切り替える。このイントラ予測(MODE_INTRA)とインター予測(MODE_INTER)を識別するモードを予測モード(PredMode)と定義する。予測モード(PredMode)はイントラ予測(MODE_INTRA)、またはインター予測(MODE_INTER)を値として持ち、選択して符号化できる。
【0024】
(分割モード、予測ブロック、予測ユニットについて)
ピクチャ内をブロックに分割してイントラ予測(MODE_INTRA)及びインター予測(MODE_INTER)を行う場合、イントラ予測及びインター予測の方法を切り替える単位をより小さくするために、必要に応じて符号化ブロックを分割して予測を行う。この符号化ブロックの輝度信号と色差信号の分割方法を識別するモードを分割モード(PartMode)と定義する。さらに、この分割されたブロックを予測ブロックと定義する。
図4に示すように、符号化ブロックの輝度信号の分割方法に応じて8種類の分割モード(PartMode)を定義する。
【0025】
図4(a)に示す符号化ブロックの輝度信号を分割せず1つの予測ブロックとみなした分割モード(PartMode)を2N×2N分割(PART_2Nx2N)と定義する。
図4(b)、(c)、(d)に示す符号化ブロックの輝度信号を上下に並ぶ2つの予測ブロックに分割する分割モード(PartMode)をそれぞれ2N×N分割(PART_2NxN)、2N×nU分割(PART_2NxnU)、2N×nD分割(PART_2NxnD)と定義する。ただし、2N×N分割(PART_2NxN)は上下に1:1の比率で分割した分割モードであり、2N×nU分割(PART_2NxnU)は上下に1:3の比率で分割した分割モードであり、2N×nD分割(PART_2NxnD)は上下に3:1の比率で分割した分割モードである。
図4(e)、(f)、(g)に示す符号化ブロックの輝度信号を左右に並ぶ2つの予測ブロックに分割する分割モード(PartMode)をそれぞれN×2N分割(PART_Nx2N)、nL×2N分割(PART_nLx2N)、nR×2N分割(PART_nRx2N)と定義する。ただし、N×2N分割(PART_Nx2N)は左右に1:1の比率で分割した分割モードであり、nL×2N分割(PART_nLx2N)は左右に1:3の比率で分割した分割モードであり、nR×2N分割(PART_nRx2N)は左右に3:1の比率で分割した分割モードである。
図4(h)に示す符号化ブロックの輝度信号を上下左右に4分割して、4つの予測ブロックとした分割モード(PartMode)をN×N分割(PART_NxN)とそれぞれ定義する。
【0026】
なお、各分割モード(PartMode)毎に輝度信号の縦横の分割比率と同様に色差信号も分割する。
【0027】
符号化ブロック内部において、各予測ブロックを特定する為に、0から開始する番号を、符号化順序で、符号化ブロック内部に存在する予測ブロックに対して割り当てる。この番号を分割インデックスPartIdxと定義する。
図4の符号化ブロックの各予測ブロックの中に記述された数字は、その予測ブロックの分割インデックスPartIdxを表す。
図4(b)、(c)、(d)に示す2N×N分割(PART_2NxN)、2N×nU分割(PART_2NxnU)、2N×nD分割(PART_2NxnD)では上の予測ブロックの分割インデックスPartIdxを0とし、下の予測ブロックの分割インデックスPartIdxを1とする。
図4(e)、(f)、(g)に示すN×2N分割(PART_Nx2N)、nL×2N分割(PART_nLx2N)、nR×2N分割(PART_nRx2N)では左の予測ブロックの分割インデックスPartIdxを0とし、右の予測ブロックの分割インデックスPartIdxを1とする。
図4(h)に示すN×N分割(PART_NxN)では、左上の予測ブロックの分割インデックスPartIdxを0とし、右上の予測ブロックの分割インデックスPartIdxを1とし、左下の予測ブロックの分割インデックスPartIdxを2とし、右下の予測ブロックの分割インデックスPartIdxを3とする。
【0028】
予測モード(PredMode)がインター予測(MODE_INTER)では、分割モード(PartMode)は2N×2N分割(PART_2Nx2N)、2N×N分割(PART_2NxN)、2N×nU分割(PART_2NxnU)、2N×nD分割(PART_2NxnD)、N×2N分割(PART_Nx2N)、nL×2N分割(PART_nLx2N)、及びnR×2N分割(PART_nRx2N)を定義する。最小の符号化ブロックである符号化ブロックDのみ、分割モード(PartMode)は2N×2N分割(PART_2Nx2N)、2N×N分割(PART_2NxN)、2N×nU分割(PART_2NxnU)、2N×nD分割(PART_2NxnD)、N×2N分割(PART_Nx2N)、nL×2N分割(PART_nLx2N)、及びnR×2N分割(PART_nRx2N)に加えてN×N分割(PART_NxN)を定義することもできるが、本実施の形態においては、分割モード(PartMode)がN×N分割(PART_NxN)を定義しないものとする。
【0029】
予測モード(PredMode)がイントラ予測(MODE_INTRA)では、最小の符号化ブロックである符号化ブロックD以外では、分割モード(PartMode)は2N×2N分割(PART_2Nx2N)だけを定義し、最小の符号化ブロックである符号化ブロックDのみ、分割モード(PartMode)は2N×2N分割(PART_2Nx2N)に加えてN×N分割(PART_NxN)を定義する。なお、最小の符号化ブロック以外にN×N分割(PART_NxN)を定義しない理由は最小の符号化ブロック以外では、符号化ブロックを4分割して小さな符号化ブロックを表現できるからである。
【0030】
(ツリーブロック、符号化ブロック、予測ブロック、変換ブロックの位置)
本実施の形態のツリーブロック、符号化ブロック、予測ブロック、変換ブロックを始めとする各ブロックの位置は、輝度信号の画面の一番左上の輝度信号の画素の位置を原点(0,0)とし、それぞれのブロックの領域に含まれる一番左上の輝度信号の画素の位置を(x,y)の二次元座標で表す。座標軸の向きは水平方向に右の方向、垂直方向に下の方向をそれぞれ正の向きとし、単位は輝度信号の1画素単位である。輝度信号と色差信号で画像サイズ(画素数)が同じである色差フォーマットが4:4:4の場合ではもちろんのこと、輝度信号と色差信号で画像サイズ(画素数)が異なる色差フォーマットが4:2:0、4:2:2の場合でも色差信号の各ブロックの位置をそのブロックの領域に含まれる輝度信号の画素の座標で表し、単位は輝度信号の1画素である。この様にすることで、色差信号の各ブロックの位置が特定できるのはもちろんのこと、座標の値を比較するだけで、輝度信号のブロックと色差信号のブロックの位置の関係も明確となる。
【0031】
(インター予測モード、参照リストについて)
本発明の実施の形態においては、符号化/復号済みのピクチャの画像信号から予測を行うインター予測では、複数の復号済みのピクチャを参照ピクチャとして用いることができる。複数の参照ピクチャから選択された参照ピクチャを特定するため、予測ブロック毎に参照インデックスを付ける。Bスライスでは予測ブロック毎に任意の2枚の参照ピクチャを選択してインター予測を行うことができ、インター予測モードとしてL0予測(Pred_L0)、L1予測(Pred_L1)、双予測(Pred_BI)がある。参照ピクチャはリスト構造のL0(参照リスト0)とL1(参照リスト1)で管理され、L0またはL1の参照インデックスを指定することにより参照ピクチャを特定することができる。L0予測(Pred_L0)はL0で管理されている参照ピクチャを参照するインター予測であり、L1予測(Pred_L1)はL1で管理されている参照ピクチャを参照するインター予測であり、双予測(Pred_BI)はL0予測とL1予測が共に行われ、L0とL1のそれぞれで管理されている1つずつの参照ピクチャを参照するインター予測である。Pスライスのインター予測ではL0予測のみが使用でき、Bスライスのインター予測ではL0予測、L1予測、L0予測とL1予測を平均または重み付け加算する双予測(Pred_BI)が使用できる。以降の処理において出力に添え字LXが付いている定数、変数に関しては、L0、L1ごとに処理が行われることを前提とする。
【0032】
(マージモード、マージ候補)
マージモードとは、符号化/復号対象の予測ブロックの予測モード、参照インデックス、動きベクトル等のインター予測情報を符号化/復号するのではなく、符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックに隣接する予測ブロック、あるいは符号化/復号対象の予測ブロックと時間的に異なる符号化/復号済みのピクチャの符号化/復号対象の予測ブロックと同一位置あるいはその付近(近傍の位置)に存在する予測ブロックのインター予測情報から符号化/復号対象の予測ブロックのインター予測情報を導出することによりインター予測を行うモードである。符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックに隣接する予測ブロック及びその予測ブロックのインター予測情報を空間マージ候補、符号化/復号対象の予測ブロックと時間的に異なる符号化/復号済みのピクチャの符号化/復号対象の予測ブロックと同一位置あるいはその付近(近傍の位置)に存在する予測ブロック及びその予測ブロックのインター予測情報から導出されるインター予測情報を時間マージ候補とする。それぞれのマージ候補はマージ候補リストに登録され、マージインデックスによりインター予測で用いるマージ候補を特定する。
【0033】
(隣接する予測ブロックについて)
図5、
図6、
図7及び
図8は空間マージ候補の導出、および時間マージ候補の参照インデックスの導出の際に参照する符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックに隣接する予測ブロックを説明する図である。
図9は時間マージ候補の導出の際に参照する符号化/復号対象の予測ブロックと時間的に異なる符号化/復号済みのピクチャにおいて、符号化/復号対象の予測ブロックと同一位置あるいはその付近に存在する既に符号化/復号済みの予測ブロックを説明する図である。
図5、
図6、
図7、
図8及び
図9を用いて符号化/復号対象の予測ブロックの空間方向に隣接する予測ブロック、及び異なる時間の同一位置の予測ブロックについて説明する。
【0034】
図5に示すように、符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックの左側の辺に隣接する予測ブロックA、上側の辺に隣接する予測ブロックB、右上の頂点に隣接する予測ブロックC、左下の頂点に隣接する予測ブロックD、および左上の頂点に隣接する予測ブロックEを空間方向に隣接する予測ブロックと定義する。
【0035】
なお、
図6に示すように、符号化/復号対象の予測ブロックの左側の辺に隣接する予測ブロックのサイズが符号化/復号対象の予測ブロックより小さく、複数存在する場合には、本実施の形態においては左側の辺に隣接する予測ブロックの中で最も下の予測ブロックA10だけを左側の辺に隣接する予測ブロックAとする。
【0036】
同様に、符号化/復号対象の予測ブロックの上側の辺に隣接する予測ブロックのサイズが符号化/復号対象の予測ブロックより小さく、複数存在する場合には、本実施の形態においては左側の辺に隣接する予測ブロックの中で最も右の予測ブロックB10だけを上側の辺に隣接する予測ブロックBとする。
【0037】
なお、
図7に示すように、符号化/復号対象の予測ブロックの左側に隣接する予測ブロックFのサイズが符号化/復号対象の予測ブロックより大きい場合にも、前記条件に従い、左側に隣接する予測ブロックFがその符号化/復号対象の予測ブロックの左側の辺に隣接していれば予測ブロックAとし、符号化/復号対象の予測ブロックの左下の頂点に隣接していれば予測ブロックDとし、符号化/復号対象の予測ブロックの左上の頂点に隣接していれば予測ブロックEとする。
図7の例では、予測ブロックA、予測ブロックD及び予測ブロックEは同一の予測ブロックとなる。
【0038】
なお、
図8に示すように、符号化/復号対象の予測ブロックの上側に隣接する予測ブロックGのサイズが符号化/復号対象の予測ブロックより大きい場合にも、前記条件に従い、上側に隣接する予測ブロックGがその符号化/復号対象の予測ブロックの上側の辺に隣接していれば予測ブロックBとし、符号化/復号対象の予測ブロックの右上の頂点に隣接していれば予測ブロックCとし、符号化/復号対象の予測ブロックの左上の頂点に隣接していれば予測ブロックEとする。
図8の例では、予測ブロックB、予測ブロックC及び予測ブロックEは同一の予測ブロックとなる。
【0039】
図9に示すように、符号化/復号対象の予測ブロックと時間的に異なる符号化/復号済みのピクチャにおいて、符号化/復号対象の予測ブロックと同一位置あるいはその付近に存在する既に符号化/復号済みの予測ブロックT0およびT1を異なる時間の同一位置の予測ブロックと定義する。
【0040】
(POCについて)
POCは符号化されるピクチャに関連付けられる変数とし、ピクチャの出力/表示順序で1ずつ増加する値が設定される。POCの値によって、同じピクチャであるかを判別したり、出力/表示順序でのピクチャ間の前後関係を判別したり、ピクチャ間の距離を導出したりすることができる。例えば、2つのピクチャのPOCが同じ値を持つ場合、同一のピクチャであると判断できる。2つのピクチャのPOCが違う値を持つ場合、POCの値が小さいピクチャのほうが、先に出力/表示されるピクチャであると判断でき、2つのピクチャのPOCの差が時間軸方向でのピクチャ間距離を示す。
【0041】
以下、図面と共に本発明の実施の形態を説明する。
図1は本発明の実施の形態に係る動画像符号化装置の構成を示すブロック図である。実施の形態の動画像符号化装置は、画像メモリ101、ヘッダ情報設定部117、動きベクトル検出部102、差分動きベクトル算出部103、インター予測情報導出部104、動き補償予測部105、イントラ予測部106、予測方法決定部107、残差信号生成部108、直交変換・量子化部109、第1符号化ビット列生成部118、第2符号化ビット列生成部110、第3符号化ビット列生成部111、多重化部112、逆量子化・逆直交変換部113、復号画像信号重畳部114、符号化情報格納メモリ115、および復号画像メモリ116を備える。
【0042】
ヘッダ情報設定部117は、シーケンス、ピクチャ、スライス単位の情報を設定する。設定されたシーケンス、ピクチャ、スライス単位の情報はインター予測情報導出部104、第1符号化ビット列生成部118に供給するとともに、図示していないがすべてのブロックに供給する。後述する最大マージ候補数maxNumMergeCandもヘッダ情報設定部117で設定される。
【0043】
画像メモリ101は、撮影/表示時間順に供給された符号化対象のピクチャの画像信号を一時格納する。画像メモリ101は、格納された符号化対象のピクチャの画像信号を、所定の画素ブロック単位で、動きベクトル検出部102、予測方法決定部107、および残差信号生成部108に供給する。その際、撮影/表示時間順に格納されたピクチャの画像信号は、符号化順序に並べ替えられて、画素ブロック単位で、画像メモリ101から出力される。
【0044】
動きベクトル検出部102は、画像メモリ101から供給される画像信号と復号画像メモリ116から供給される参照ピクチャ間でブロックマッチング等により各予測ブロックサイズ、各予測モードのそれぞれの動きベクトルを各予測ブロック単位で検出し、検出された動きベクトルを動き補償予測部105、差分動きベクトル算出部103、および予測方法決定部107に供給する。
【0045】
差分動きベクトル算出部103は、符号化情報格納メモリ115に記憶されている既に符号化された画像信号の符号化情報を用いて、複数の予測動きベクトルの候補を算出して予測動きベクトルリストに登録し、予測動きベクトルリストに登録された複数の予測動きベクトルの候補の中から最適な予測動きベクトルを選択し、動きベクトル検出部102が検出した動きベクトルと予測動きベクトルから差分動きベクトルを算出し、算出された差分動きベクトルを予測方法決定部107に供給する。さらに、予測動きベクトルリストに登録された予測動きベクトルの候補から選択された予測動きベクトルを特定する予測動きベクトルインデックスを予測方法決定部107に供給する。
【0046】
インター予測情報導出部104は、マージモードでのマージ候補を導出する。符号化情報格納メモリ115に記憶されている既に符号化された予測ブロックの符号化情報を用いて、複数のマージ候補を導出して後述するマージ候補リストに登録し、マージ候補リストに登録された複数のマージ候補の中から適したマージ候補を選択し、選択されたマージ候補の各予測ブロックのL0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、動きベクトルmvL0[xP][yP], mvL1[xP][yP]等のインター予測情報を動き補償予測部105に供給するとともに、選択されたマージ候補を特定するマージインデックスを予測方法決定部107に供給する。ここで、xP、yPはピクチャ内での予測ブロックの左上の画素の位置を示すインデックスである。インター予測情報導出部104の詳細な構成と動作は後述する。
【0047】
動き補償予測部105は、動きベクトル検出部102およびインター予測情報導出部104により検出された動きベクトルを用いて参照ピクチャからインター予測(動き補償予測)により予測画像信号を生成し、予測画像信号を予測方法決定部107に供給する。なお、L0予測、及びL1予測では、片方向の予測を行う。双予測(Pred_BI)の場合は、双方向の予測を行い、L0予測、L1予測のそれぞれのインター予測された信号に適応的に重み係数を掛け算し、オフセット値を加算して重畳し、最終的な予測画像信号を生成する。
【0048】
イントラ予測部106は、各イントラ予測モードについてイントラ予測を行う。復号画像メモリ116に格納されている復号済みの画像信号からイントラ予測により予測画像信号を生成し、複数のイントラ予測モードの中から適したイントラ予測モードを選択し、選択されたイントラ予測モード、及び選択されたイントラ予測モードに応じた予測画像信号を予測方法決定部107に供給する。
【0049】
予測方法決定部107はそれぞれの予測方法毎に符号化情報及び残差信号の符号量、予測画像信号と画像信号との間の歪量等を評価することにより、複数の予測方法の中から、最適な符号化ブロック単位でインター予測(PRED_INTER)かイントラ予測(PRED_INTRA)かを判別する予測モードPredMode、分割モードPartModeを決定し、インター予測(PRED_INTER)では予測ブロック単位でマージモードか否かを決定し、マージモードの場合はマージインデックス、マージモードでない場合はインター予測モード、予測動きベクトルインデックス、L0、L1の参照インデックス、差分動きベクトル等を決定して、決定に応じた符号化情報を第2符号化ビット列生成部110に供給する。
【0050】
さらに、予測方法決定部107は、決定された予測方法を示す情報、及び決定された予測方法に応じた動きベクトル等を含む符号化情報を符号化情報格納メモリ115に格納する。ここで格納する符号化情報は、各符号化ブロックの予測モードPredMode、分割モードPartMode、各予測ブロックのL0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、L0、L1の参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、L0、L1の動きベクトルmvL0[xP][yP], mvL1[xP][yP]等である。ここで、xP、yPはピクチャ内での予測ブロックの左上の画素の位置を示すインデックスである。なお、予測モードPredModeがイントラ予測(MODE_INTRA)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0[xP][yP]、L1予測を利用するかどうかを示すフラグpredFlagL1[xP][yP]は共に0である。一方、予測モードPredModeがインター予測(MODE_INTER)で、インター予測モードがL0予測(Pred_L0)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0[xP][yP]は1, L1予測を利用するかどうかを示すフラグpredFlagL1[xP][yP]は0である。インター予測モードがL1予測(Pred_L1)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0[xP][yP]は0, L1予測を利用するかどうかを示すフラグpredFlagL1[xP][yP]は1である。インター予測モードが双予測(Pred_BI)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0[xP][yP]、L1予測を利用するかどうかを示すフラグpredFlagL1[xP][yP]は共に1である。予測方法決定部107は、決定された予測モードに応じた予測画像信号を残差信号生成部108と復号画像信号重畳部114に供給する。
【0051】
残差信号生成部108は、符号化する画像信号と予測画像信号との減算を行うことにより残差信号を生成し、直交変換・量子化部109に供給する。
直交変換・量子化部109は、残差信号に対して量子化パラメータに応じて直交変換及び量子化を行い直交変換・量子化された残差信号を生成し、第3符号化ビット列生成部111と逆量子化・逆直交変換部113に供給する。さらに、直交変換・量子化部109は、量子化パラメータを符号化情報格納メモリ115に格納する。
【0052】
第1符号化ビット列生成部118は、ヘッダ情報設定部117で設定されたシーケンス、ピクチャ、スライス単位の情報を符号化する。第1の符号化ビット列を生成し、多重化部112に供給する。後述する最大マージ候補数maxNumMergeCandも第1符号化ビット列生成部118で符号化される。
【0053】
第2符号化ビット列生成部110は、符号化ブロック及び予測ブロック毎に予測方法決定部107によって決定された予測方法に応じた符号化情報を符号化する。具体的には、符号化ブロック毎のスキップモードかどうかを判別する情報、インター予測(PRED_INTER)かイントラ予測(PRED_INTRA)かを判別する予測モードPredMode、分割モードPartMode、イントラ予測(PRED_INTRA)の場合、イントラ予測モード、インター予測(PRED_INTER)の場合、マージモードかどうかを判別するフラグ、マージモードの場合はマージインデックス、マージモードでない場合はインター予測モード、予測動きベクトルインデックス、差分動きベクトルに関する情報等の符号化情報を後述する規定のシンタックス規則に従って符号化して第2の符号化ビット列を生成し、多重化部112に供給する。なお、本実施の形態では、符号化ブロックがスキップモード(シンタックス要素skip_flag[x0][y0]が1)の場合、予測ブロックの予測モードPredModeの値はインター予測(MODE_INTER)で、マージモード(merge_flag[x0][y0]が1)で、分割モード(PartMode)は2N×2N分割(PART_2Nx2N)とする。
【0054】
第3符号化ビット列生成部111は、直交変換及び量子化された残差信号を規定のシンタックス規則に従ってエントロピー符号化して第3の符号化ビット列を生成し、多重化部112に供給する。多重化部112で、第1の符号化ビット列、第2の符号化ビット列および第3の符号化ビット列を規定のシンタックス規則に従って多重化し、ビットストリームを出力する。
【0055】
逆量子化・逆直交変換部113は、直交変換・量子化部109から供給された直交変換・量子化された残差信号を逆量子化及び逆直交変換して残差信号を算出し、復号画像信号重畳部114に供給する。復号画像信号重畳部114は、予測方法決定部107による決定に応じた予測画像信号と逆量子化・逆直交変換部113で逆量子化及び逆直交変換された残差信号を重畳して復号画像を生成し、復号画像メモリ116に格納する。なお、復号画像に対して符号化によるブロック歪等の歪を減少させるフィルタリング処理を施して、復号画像メモリ116に格納されることもある。
【0056】
図2は
図1の動画像符号化装置に対応した本発明の実施の形態に係る動画像復号装置の構成を示すブロックである。実施の形態の動画像復号装置は、分離部201、第1符号化ビット列復号部212、第2符号化ビット列復号部202、第3符号化ビット列復号部203、動きベクトル算出部204、インター予測情報導出部205、動き補償予測部206、イントラ予測部207、逆量子化・逆直交変換部208、復号画像信号重畳部209、符号化情報格納メモリ210、および復号画像メモリ211を備える。
【0057】
図2の動画像復号装置の復号処理は、
図1の動画像符号化装置の内部に設けられている復号処理に対応するものであるから、
図2の動き補償予測部206、逆量子化・逆直交変換部208、復号画像信号重畳部209、符号化情報格納メモリ210、および復号画像メモリ211の各構成は、
図1の動画像符号化装置の動き補償予測部105、逆量子化・逆直交変換部113、復号画像信号重畳部114、符号化情報格納メモリ115、および復号画像メモリ116の各構成とそれぞれ対応する機能を有する。
【0058】
分離部201に供給されるビットストリームは規定のシンタックスの規則に従って分離し、分離された符号化ビット列が第1符号化ビット列復号部212、第2符号化ビット列復号部202、第3符号化ビット列復号部203に供給される。
【0059】
第1符号化ビット列復号部212は、供給された符号化ビット列を復号して、シーケンス、ピクチャ、スライス単位の情報を得る。得られたシーケンス、ピクチャ、スライス単位の情報は図示していないがすべてのブロックに供給する。後述する最大マージ候補数maxNumMergeCandも第1符号化ビット列復号部212で復号される。
【0060】
第2符号化ビット列復号部202は、供給された符号化ビット列を復号して、符号化ブロック単位の情報、及び、予測ブロック単位の符号化情報を得る。具体的には、符号化ブロック単位でスキップモードかどうかを判別する情報、インター予測(PRED_INTER)かイントラ予測(PRED_INTRA)かを判別する予測モードPredMode、分割モードPartMode、インター予測(PRED_INTER)の場合、マージモードかどうかを判別するフラグ、マージモードの場合はマージインデックス、マージモードでない場合はインター予測モード、予測動きベクトルインデックス、差分動きベクトル等に関する符号化情報を後述する規定のシンタックス規則に従って復号し、復号された予測モードPredMode、分割モードPartMode等の符号化情報を符号化情報格納メモリ210に格納するとともに、動きベクトル算出部204、インター予測情報導出部205またはイントラ予測部207に供給する。なお、本実施の形態では、符号化ブロックがスキップモード(シンタックス要素skip_flag[x0][y0]が1)の場合、予測ブロックの予測モードPredModeの値はインター予測(MODE_INTER)で、マージモード(merge_flag[x0][y0]が1)で、分割モード(PartMode)は2N×2N分割(PART_2Nx2N)とする。
【0061】
第3符号化ビット列復号部203は、供給された符号化ビット列を復号して直交変換・量子化された残差信号を算出し、直交変換・量子化された残差信号を逆量子化・逆直交変換部208に供給する。
【0062】
動きベクトル算出部204は、復号対象の予測ブロックの予測モードPredModeがインター予測(PRED_INTER)でマージモードでない時に、符号化情報格納メモリ210に記憶されている既に復号された画像信号の符号化情報を用いて、複数の予測動きベクトルの候補を導出して後述する予測動きベクトルリストに登録し、予測動きベクトルリストに登録された複数の予測動きベクトルの候補の中から、第2符号化ビット列復号部202で復号され供給される予測動きベクトルインデックスに応じた予測動きベクトルを選択し、第2符号化ビット列復号部202で復号された差分ベクトルと選択された予測動きベクトルから動きベクトルを算出し、他の符号化情報とともに動き補償予測部206に供給するとともに、符号化情報格納メモリ210に格納する。ここで供給・格納する予測ブロックの符号化情報は、L0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、L0、L1の参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、L0、L1の動きベクトルmvL0[xP][yP], mvL1[xP][yP]等である。ここで、xP、yPはピクチャ内での予測ブロックの左上の画素の位置を示すインデックスである。予測モードPredModeがインター予測(MODE_INTER)で、インター予測モードがL0予測(Pred_L0)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0は1, L1予測を利用するかどうかを示すフラグpredFlagL1は0である。インター予測モードがL1予測(Pred_L1)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0は0, L1予測を利用するかどうかを示すフラグpredFlagL1は1である。インター予測モードが双予測(Pred_BI)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0、L1予測を利用するかどうかを示すフラグpredFlagL1は共に1である。
【0063】
インター予測情報導出部205は、復号対象の予測ブロックの予測モードPredModeがインター予測(PRED_INTER)でマージモードの時に、マージ候補を導出する。符号化情報格納メモリ115に記憶されている既に復号された予測ブロックの符号化情報を用いて、複数のマージの候補を導出して後述するマージ候補リストに登録し、マージ候補リストに登録された複数のマージ候補の中から第2符号化ビット列復号部202で復号され供給されるマージインデックスに対応したマージ候補を選択し、選択されたマージ候補のL0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、L0、L1の参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、L0、L1の動きベクトルmvL0[xP][yP], mvL1[xP][yP]等のインター予測情報を動き補償予測部206に供給するとともに、符号化情報格納メモリ210に格納する。ここで、xP、yPはピクチャ内での予測ブロックの左上の画素の位置を示すインデックスである。インター予測情報導出部205の詳細な構成と動作は後述する。
【0064】
動き補償予測部206は、動きベクトル算出部204またはインター予測情報導出部205で算出されたインター予測情報を用いて復号画像メモリ211に格納されている参照ピクチャからインター予測(動き補償予測)により予測画像信号を生成し、予測画像信号を復号画像信号重畳部209に供給する。なお、双予測(Pred_BI)の場合は、L0予測、L1予測の2つの動き補償予測画像信号に必要に応じて適応的に重み係数を掛け算して重畳し、最終的な予測画像信号を生成する。
【0065】
イントラ予測部207は、復号対象の予測ブロックの予測モードPredModeがイントラ予測(PRED_INTRA)の時に、イントラ予測を行う。第2符号化ビット列復号部202で復号された符号化情報にはイントラ予測モードが含まれており、イントラ予測モードに応じて、復号画像メモリ211に格納されている復号済みの画像信号からイントラ予測により予測画像信号を生成し、予測画像信号を復号画像信号重畳部209に供給する。L0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]を共に0に設定し、符号化情報格納メモリ210に格納する。ここで、xP、yPはピクチャ内での予測ブロックの左上の画素の位置を示すインデックスである。
【0066】
逆量子化・逆直交変換部208は、第2符号化ビット列復号部202で復号された直交変換・量子化された残差信号に対して逆直交変換及び逆量子化を行い、逆直交変換・逆量子化された残差信号を得る。
【0067】
復号画像信号重畳部209は、動き補償予測部206でインター予測された予測画像信号、またはイントラ予測部207でイントラ予測された予測画像信号と、逆量子化・逆直交変換部208により逆直交変換・逆量子化された残差信号とを重畳することにより、復号画像信号を復号し、復号画像メモリ211に格納する。復号画像メモリ211に格納する際には、復号画像に対して符号化によるブロック歪等を減少させるフィルタリング処理を施して、復号画像メモリ211に格納されることもある。
【0068】
(シンタックスについて)
次に、本実施の形態に係る動きベクトルの予測方法を備える動画像符号化装置により符号化され、復号装置により復号される動画像のビットストリームの符号化および復号の共通規則であるシンタックスについて説明する。
【0069】
本実施の形態においてはヘッダ情報設定部117で、シーケンス単位、ピクチャ単位またはスライス単位でマージ候補リストmergeCandListに登録される最大マージ候補数maxNumMergeCandを設定し、シンタックス要素として動画像符号化装置の第1符号化ビット列生成部118で符号化され、動画像復号装置の第1符号化ビット列復号部212で復号される。最大マージ候補数maxNumMergeCandには0から5までの値を設定できるものとし、主に動画像符号化装置の演算処理量を減らす際に、最大マージ候補数maxNumMergeCandに小さな値を設定する。なお、最大マージ候補数maxNumMergeCandに0が設定された場合は、規定のインター予測情報をマージ候補として用いる。本実施の形態の説明においては、最大マージ候補数maxNumMergeCandを5として説明する。
【0070】
図10は予測ブロック単位に記述されるシンタックス規則を示す。本実施の形態では、符号化ブロックがスキップモード(シンタックス要素skip_flag[x0][y0]が1)の場合、予測ブロックの予測モードPredModeの値はインター予測(MODE_INTER)で、マージモード(merge_flag[x0][y0]が1)で、分割モード(PartMode)は2N×2N分割(PART_2Nx2N)とする。merge_flag[x0][y0]が1の場合、マージモードであることを示し、最大マージ候補数maxNumMergeCandの値が1より大きい場合に、参照するマージ候補のリストであるマージリストのインデックスのシンタックス要素merge_idx[x0][y0]が設置される。skip_flag[x0][y0]が1の場合、スキップモードであることを示し、最大マージ候補数maxNumMergeCandの値が1より大きい場合に、参照するマージ候補のリストであるマージリストのインデックスのシンタックス要素merge_idx[x0][y0]が設置される。
【0071】
予測ブロックの予測モードPredModeの値がインター予測(MODE_INTER)の場合、マージモードかどうかを示すmerge_flag[x0][y0]が設置される。ここで、x0、y0は輝度信号のピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、merge_flag[x0][y0]はピクチャ内の(x0, y0)に位置する予測ブロックのマージモードかどうかを示すフラグである。
【0072】
次に、merge_flag[x0][y0]が1の場合、マージモードであることを示し、最大マージ候補数maxNumMergeCandの値が1より大きい場合に、参照するマージ候補のリストであるマージリストのインデックスのシンタックス要素merge_idx[x0][y0]が設置される。ここで、x0、y0はピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、merge_idx[x0][y0]はピクチャ内の(x0, y0)に位置する予測ブロックのマージインデックスである。マージインデックスをエントロピー符号化/復号する場合、マージ候補数が小さい程、小さい符号量で符号化/復号することができ、少ない処理量で符号化/復号することができる。
図11はマージインデックスのシンタックス要素merge_idx[x0][y0]のエントロピー符号(コード)の一例である。最大マージ候補数が2の場合、マージインデックスが0, 1の時、マージインデックスのシンタックス要素merge_idx[x0][y0]の符号はそれぞれ'0'、'1'となる。最大マージ候補数が3の場合、マージインデックスが0、1、2の時、マージインデックスのシンタックス要素merge_idx[x0][y0]の符号はそれぞれ'0'、'10'、'11'となる。最大マージ候補数が4の場合、マージインデックスが0、1、2、3の時、マージインデックスのシンタックス要素merge_idx[x0][y0]の符号はそれぞれ'0'、'10'、'110'、'111'となる。最大マージ候補数が5の場合、マージインデックスが0、1、2、3、4の時、マージインデックスのシンタックス要素merge_idx[x0][y0]の符号はそれぞれ'0'、'10'、'110'、'1110'、'1111'となる。つまり、マージ候補リストmergeCandListに登録される最大マージ候補数maxNumMergeCandがわかっている場合、最大マージ候補数maxNumMergeCandが少ない方がマージインデックスを小さい符号量で表現可能である。本実施の形態においては、
図11に示すようにマージ候補数に応じて、マージインデックスのそれぞれの値を示す符号を切り替えることでマージインデックスの符号量を削減する。本実施の形態においては、最大マージ候補数maxNumMergeCandの値以上の値を持つマージインデックスは符号化、復号されることはない。なお、最大マージ候補数maxNumMergeCandが1の場合、マージインデックスを符号化/復号せず、マージインデックスは0である。また、最大マージ候補数が0の場合、規定のインター予測情報をマージ候補として用いるため、マージインデックスは不要である。
【0073】
一方、merge_flag[x0][y0]が0の場合、マージモードでないことを示し、スライスタイプがBスライスの場合、インター予測モードを識別するシンタックス要素inter_pred_flag[x0][y0]が設置され、このシンタックス要素でL0予測(Pred_L0)、L1予測(Pred_L1)、双予測(Pred_BI)を識別する。L0、L1ごとに、参照ピクチャを特定するための参照インデックスのシンタックス要素ref_idx_l0[x0][y0]、ref_idx_l1[x0][y0]、動きベクトル検出にて求められた予測ブロックの動きベクトルと予測動きベクトルとの差分である差分動きベクトルのシンタックス要素mvd_l0[x0][y0][j]、mvd_l1[x0][y0][j]が設置される。ここで、x0、y0はピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、ref_idx_l0[x0][y0]、mvd_l0[x0][y0][j]はそれぞれピクチャ内の(x0, y0)に位置する予測ブロックのL0の参照インデックス、及び差分動きベクトルであり、ref_idx_l1[x0][y0]、mvd_l1[x0][y0][j]はそれぞれピクチャ内の(x0, y0)に位置する予測ブロックのL1の参照インデックス、及び差分動きベクトルである。また、jは差分動きベクトルの成分を表し、jが0はx成分を、jが1はy成分を表す。次に、参照する予測動きベクトルの候補のリストである予測動きベクトルリストのインデックスのシンタックス要素mvp_idx_l0[x0][y0]、mvp_idx_l1[x0][y0]が設置される。ここで、x0、y0はピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、mvp_idx_l0[x0][y0]、mvp_idx_l1[x0][y0]はピクチャ内の(x0, y0)に位置する予測ブロックのL0、L1の予測動きベクトルインデックスである。本発明の本実施の形態においてはこれらの候補数の値を2と設定する。
【0074】
実施の形態に係るインター予測情報導出方法は、
図1の動画像符号化装置のインター予測情報導出部104及び
図2の動画像復号装置のインター予測情報導出部205において実施される。
【0075】
実施の形態に係るインター予測情報導出方法を図面を用いて説明する。動きベクトルの予測方法は、符号化ブロックを構成する予測ブロック単位に、符号化及び復号の処理の何れでも実施される。予測ブロックの予測モードPredModeがインター予測(MODE_INTER)で、スキップモードを含むマージモードの場合に、符号化の場合、符号化済みの予測ブロックの予測モード、参照インデックス、動きベクトルを利用して符号化対象の予測ブロックの予測モード、参照インデックス、動きベクトルを導出する際、復号の場合、復号済みの予測ブロックの予測モード、参照インデックス、動きベクトルを利用して復号対象の予測ブロックの予測モード、参照インデックス、動きベクトルを導出する際に実施される。
【0076】
マージモードは
図5、
図6、
図7及び
図8を用いて説明した左に隣接する予測ブロックA、上に隣接する予測ブロックB、右上に隣接する予測ブロックC、左下に隣接する予測ブロックD、左上に隣接する予測ブロックEの5つの予測ブロックに加えて、
図9を用いて説明した異なる時間の同一位置あるいはその付近に存在する予測ブロックCol(T0、T1のいずれか)の予測ブロックからマージ候補を導出する。動画像符号化装置のインター予測情報導出部104、及び動画像復号装置のインター予測情報導出部205はそれらのマージ候補を符号化側と復号側で共通の規定の順序でマージ候補リストに登録し、動画像符号化装置のインター予測情報導出部104がマージ候補リストの要素を特定するマージインデックスを決定して第2符号化ビット列生成部110を経由して符号化し、動画像復号装置のインター予測情報導出部205は第2符号化ビット列復号部202で復号されたマージインデックスが供給されて、そのマージインデックスに応じた予測ブロックをマージ候補リストから選択し、その選択されたマージ候補の予測モード、参照インデックス、動きベクトル等のインター予測情報を用いて、動き補償予測を行う。
【0077】
実施の形態に係る第1の実施例のインター予測情報導出方法を図面を用いて説明する。
図12は、実施の形態に係る第1の実施例の
図1の動画像符号化装置のインター予測情報導出部104の詳細な構成を示す図である。また、
図13は、実施の形態に係る第1の実施例の
図2の動画像復号装置のインター予測情報導出部205の詳細な構成を示す図である。
【0078】
図12及び
図13の太枠線で囲まれる部分はそれぞれ、インター予測情報導出部104及びインター予測情報導出部205を示している。
【0079】
更に、それらの内部の太点線で囲まれる部分はそれぞれのマージ候補を導出してマージ候補リストを構築する動画像符号化装置のマージ候補リストの構築部120及び動画像復号装置のマージ候補リストの構築部220を示しており、実施の形態の動画像符号化装置と対応する動画像復号装置にも同様に設置され、符号化と復号で矛盾しない同一の判定結果を得られるようにしている。
【0080】
実施の形態に係るインター予測情報導出方法においては、動画像符号化装置のマージ候補リストの構築部120及び動画像復号装置のマージ候補リストの構築部220でのマージ候補導出及びマージ候補リスト構築処理において、処理対象となる予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれる予測ブロックを参照せずに、処理対象の予測ブロックのマージ候補導出及びマージ候補リスト構築処理を行うものとする。この様にすることで、符号化ブロックの分割モード(PartMode)が、2N×2N分割(PART_2Nx2N)でない場合、すなわち、符号化ブロック内に複数の予測ブロックが存在する場合に、符号化側で符号化ブロック内でそれぞれの予測ブロックのマージ候補導出及びマージ候補リストの構築処理を並列に処理することが可能となる。
【0081】
符号化ブロック内でのそれぞれの予測ブロックのマージ候補リストの構築の並列処理について、
図14を用いて分割モード(PartMode)毎に説明する。
図14は処理対象の符号化ブロックの分割モード(PartMode)毎に処理対象の予測ブロックに隣接する予測ブロックを説明する図である。
図14において、A0、B0、C0、D0、E0は分割インデックスPartIdxが0の処理対象の予測ブロックのそれぞれ左側の辺に隣接する予測ブロックA、上側の辺に隣接する予測ブロックB、右上の頂点に隣接する予測ブロックC、左下の頂点に隣接する予測ブロックD、および左上の頂点に隣接する予測ブロックEを示し、A1、B1、C1、D1、E1は分割インデックスPartIdxが1の処理対象の予測ブロックのそれぞれ左側の辺に隣接する予測ブロックA、上側の辺に隣接する予測ブロックB、右上の頂点に隣接する予測ブロックC、左下の頂点に隣接する予測ブロックD、および左上の頂点に隣接する予測ブロックEを示し、A2、B2、C2、D2、E2は分割インデックスPartIdxが2の処理対象の予測ブロックのそれぞれ左側の辺に隣接する予測ブロックA、上側の辺に隣接する予測ブロックB、右上の頂点に隣接する予測ブロックC、左下の頂点に隣接する予測ブロックD、および左上の頂点に隣接する予測ブロックEを示し、A3、B3、C3、D3、E3は分割インデックスPartIdxが3の処理対象の予測ブロックのそれぞれ左側の辺に隣接する予測ブロックA、上側の辺に隣接する予測ブロックB、右上の頂点に隣接する予測ブロックC、左下の頂点に隣接する予測ブロックD、および左上の頂点に隣接する予測ブロックEを示す。
【0082】
図14(b)、(c)、(d)は処理対象の符号化ブロックを上下に並ぶ2つの予測ブロックに分割する分割モード(PartMode)が2N×N分割(PART_2NxN)、2N×nU分割(PART_2NxnU)、2N×nD分割(PART_2NxnD)での隣接する予測ブロックを示す図である。PartIdxが1の処理対象の予測ブロックに隣接する予測ブロックB1はPartIdxが0の予測ブロックである。したがって、予測ブロックB1を参照して、PartIdxが1の予測ブロックのマージ候補導出及びマージ候補リスト構築処理を行うには、予測ブロックB1である同じ符号化ブロックに属するPartIdxが0の予測ブロックのマージ候補導出及びマージ候補リスト構築処理が完了し、利用するマージ候補を特定した後でないと、処理を行うことができない。したがって、実施の形態に係るインター予測情報導出方法においては、分割モード(PartMode)が2N×N分割(PART_2NxN)、2N×nU分割(PART_2NxnU)、2N×nD分割(PART_2NxnD)で、処理対象の予測ブロックのPartIdxが1では、PartIdxが0の予測ブロックである予測ブロックB1を参照せずに、PartIdxが1の予測ブロックのマージ候補導出及びマージ候補リストの構築処理を行うことにより、符号化ブロック内の2つの予測ブロックのマージ候補導出及びマージ候補リストの構築処理を並列に処理することが可能となる。
【0083】
図14(e)、(f)、(g)は処理対象の符号化ブロックを左右に並ぶ2つの予測ブロックに分割するモードを示す分割モード(PartMode)がN×2N分割(PART_Nx2N)、nL×2N分割(PART_nLx2N)、nR×2N分割(PART_nRx2N)での隣接する予測ブロックを示す図である。PartIdxが1の処理対象の予測ブロックに隣接する予測ブロックA1はPartIdxが0の予測ブロックである。したがって、予測ブロックA1を参照して、PartIdxが1の予測ブロックのマージ候補導出及びマージ候補リスト構築処理を行うには、予測ブロックA1である同じ符号化ブロックに属するPartIdxが0の予測ブロックのマージ候補導出及びマージ候補リスト構築処理が完了し、利用するマージ候補を特定した後でないと、処理を行うことができない。したがって、実施の形態に係るインター予測情報導出方法においては、分割モード(PartMode)がN×2N分割(PART_Nx2N)、nL×2N分割(PART_nLx2N)、nR×2N分割(PART_nRx2N)で、処理対象の予測ブロックのPartIdxが1では、PartIdxが0の予測ブロックである予測ブロックA1を参照せずに、PartIdxが1の予測ブロックのマージ候補導出及びマージ候補リストの構築処理を行うことにより、符号化ブロック内のそれぞれの予測ブロックのマージ候補導出及びマージ候補リストの構築処理を並列に処理することが可能となる。
【0084】
図14(h)は処理対象の符号化ブロックを上下左右に4分割して4つの予測ブロックとした分割モード(PartMode)がN×N分割(PART_NxN)での隣接する予測ブロックを示す図である。PartIdxが1の処理対象の予測ブロックに隣接する予測ブロックA1はPartIdxが0の予測ブロックである。したがって、予測ブロックA1を参照してPartIdxが1の予測ブロックのマージ候補導出及びマージ候補リスト構築処理を行うには、予測ブロックA1である同じ符号化ブロックに属するPartIdxが0の予測ブロックのマージ候補導出及びマージ候補リスト構築処理が完了し、利用するマージ候補を特定した後でないと、処理を行うことができない。したがって、実施の形態に係るインター予測情報導出方法においては、分割モード(PartMode)がN×N分割(PART_NxN)で、処理対象の予測ブロックのPartIdxが1では、PartIdxが0の予測ブロックである予測ブロックA1を参照せずに、PartIdxが1の予測ブロックのマージ候補導出及びマージ候補リストの構築処理を行うことにより、符号化ブロック内のそれぞれの予測ブロックのマージ候補導出及びマージ候補リストの構築処理を並列に処理することが可能となる。PartIdxが2の処理対象の予測ブロックに隣接する予測ブロックB2はPartIdxが0の予測ブロックであり、予測ブロックC2はPartIdxが1の予測ブロックである。したがって、予測ブロックB2及びC2を参照してPartIdxが2の予測ブロックのマージ候補導出及びマージ候補リスト構築処理を行うには、予測ブロックB2及びC2である同じ符号化ブロックに属するPartIdxが0及び1の予測ブロックのマージ候補導出及びマージ候補リスト構築処理が完了し、利用するマージ候補を特定した後でないと、処理を行うことができない。したがって、実施の形態に係るインター予測情報導出方法においては、分割モード(PartMode)がN×N分割(PART_NxN)で、処理対象の予測ブロックのPartIdxが2では、PartIdxが0及び1の予測ブロックである予測ブロックB2及びC2を参照せずに、PartIdxが2の予測ブロックのマージ候補導出及びマージ候補リストの構築処理を行うことにより、符号化ブロック内のそれぞれの予測ブロックのマージ候補導出及びマージ候補リストの構築処理を並列に処理することが可能となる。PartIdxが3の処理対象の予測ブロックに隣接する予測ブロックE3はPartIdxが0の予測ブロックであり、予測ブロックB3はPartIdxが1の予測ブロックであり、予測ブロックA3はPartIdxが2の予測ブロックである。したがって、予測ブロックE3、B3及びA3を参照してPartIdxが3の予測ブロックのマージ候補導出及びマージ候補リスト構築処理を行うには、予測ブロックE3、B3及びA3である同じ符号化ブロックに属するPartIdxが0、1及び2の予測ブロックのマージ候補導出及びマージ候補リスト構築処理が完了し、利用するマージ候補を特定した後でないと、処理を行うことができない。したがって、実施の形態に係るインター予測情報導出方法においては、分割モード(PartMode)がN×N分割(PART_NxN)で、処理対象の予測ブロックのPartIdxが3では、PartIdxが0、1及び2の予測ブロックである予測ブロックE3、B3及びA3を参照せずに、PartIdxが3の予測ブロックのマージ候補導出及びマージ候補リストの構築処理を行うことにより、符号化ブロック内のそれぞれの予測ブロックのマージ候補導出及びマージ候補リストの構築処理を並列に処理することが可能となる。
【0085】
図12の動画像符号化装置のインター予測情報導出部104は、マージ候補リスト生成部130、空間マージ候補生成部131、時間マージ候補の参照インデックス導出部132、時間マージ候補生成部133、追加マージ候補生成部134、マージ候補制限部136およびインター予測情報選択部137を含む。
【0086】
図13の動画像復号装置のインター予測情報導出部205は、マージ候補リスト生成部230、空間マージ候補生成部231、時間マージ候補の参照インデックス導出部232、時間マージ候補生成部233、追加マージ候補生成部234、マージ候補制限部236およびインター予測情報選択部237を含む。
【0087】
図15は本発明の実施の形態に係る第1の実施例の動画像符号化装置のインター予測情報導出部104のマージ候補リストの構築部120及び動画像復号装置のインター予測情報導出部205のマージ候補リストの構築部220とで共通する機能を有するマージ候補の導出処理及びマージ候補リストの構築処理の手順を説明するフローチャートである。
以下、諸過程を順を追って説明する。なお、以下の説明においては特に断りのない限りスライスタイプslice_typeがBスライスの場合について説明するが、Pスライスの場合にも適用できる。ただし、スライスタイプslice_typeがPスライスの場合、インター予測モードとしてL0予測(Pred_L0)だけがあり、L1予測(Pred_L1)、双予測(Pred_BI)がないので、L1に纏わる処理を省略することができる。なお、本実施の形態において、動画像符号化装置および動画像復号装置において、最大マージ候補数maxNumMergeCandの値が0の場合、
図15のマージ候補の導出処理及びマージ候補リストの構築処理を省略することができる。
【0088】
まず、動画像符号化装置のインター予測情報導出部104のマージ候補リスト生成部130及び動画像復号装置のインター予測情報導出部205のマージ候補リスト生成部230では、マージ候補リストmergeCandListを用意する(
図15のステップS100)。マージ候補リストmergeCandListはリスト構造を成し、マージ候補リスト内部の所在を示すマージインデックスと、インデックスに対応するマージ候補を要素として格納する記憶領域が設けられている。マージインデックスの数字は0から開始され、マージ候補リストmergeCandListの記憶領域に、マージ候補が格納される。以降の処理では、マージ候補リストmergeCandListに登録されたマージインデックスiのマージ候補となる予測ブロックは、mergeCandList[i]で表すこととし、マージ候補リストmergeCandListとは配列表記をすることで区別することとする。本実施の形態においては、マージ候補リストmergeCandListは少なくとも5個のマージ候補(インター予測情報)を登録することができるものとする。さらに、マージ候補リストmergeCandListに登録されているマージ候補数を示す変数numMergeCandに0を設定する。用意されたマージ候補リストmergeCandListは動画像符号化装置のインター予測情報導出部104の空間マージ候補生成部131及び動画像復号装置のインター予測情報導出部205の空間マージ候補生成部231にそれぞれ供給される。
【0089】
動画像符号化装置のインター予測情報導出部104の空間マージ候補生成部131及び動画像復号装置のインター予測情報導出部205の空間マージ候補生成部231では、動画像符号化装置の符号化情報格納メモリ115または動画像復号装置の符号化情報格納メモリ210に格納されている符号化情報から、符号化/復号対象ブロックに隣接するそれぞれの予測ブロックA,B,C,D,Eからの空間マージ候補A,B,C,D,Eを導出して、導出された空間マージ候補をマージ候補リストmergeCandListに登録する(
図15のステップS101)。ここで、A,B,C,D,Eまたは時間マージ候補Colのいずれかを示すNを定義する。予測ブロックNのインター予測情報が空間マージ候補Nとして利用できるかどうかを示すフラグavailableFlagN、空間マージ候補NのL0の参照インデックスrefIdxL0N及びL1の参照インデックスrefIdxL1N、L0予測が行われるかどうかを示すL0予測フラグpredFlagL0NおよびL1予測が行われるかどうかを示すL1予測フラグpredFlagL1N、L0の動きベクトルmvL0N、L1の動きベクトルmvL1Nを導出する。ただし、本実施の形態においては処理対象となる予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれる予測ブロックを参照せずに、マージ候補を導出するので、処理対象の予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれる空間マージ候補は導出しない。ステップS101の詳細な処理手順については
図16のフローチャートを用いて後ほど詳細に説明する。マージ候補リストmergeCandListは動画像符号化装置のインター予測情報導出部104の時間マージ候補生成部133及び動画像復号装置のインター予測情報導出部205の時間マージ候補生成部233にそれぞれ供給される。
【0090】
続いて、動画像符号化装置のインター予測情報導出部104の時間マージ候補の参照インデックス導出部132及び動画像復号装置のインター予測情報導出部205の時間マージ候補の参照インデックス導出部232では、符号化/復号対象ブロックに隣接する予測ブロックから時間マージ候補の参照インデックスを導出して、導出された参照インデックスを動画像符号化装置のインター予測情報導出部104の時間マージ候補生成部133及び動画像復号装置のインター予測情報導出部205の時間マージ候補生成部233に供給する(
図15のステップS102)。ただし、本実施の形態においては処理対象となる予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれる予測ブロックを参照せずに、時間マージ候補の参照インデックスを導出する。スライスタイプslice_typeがPスライスで時間マージ候補のインター予測情報を用いてインター予測を行う場合は、L0予測(Pred_L0)を行うために、L0の参照インデックスだけを導出し、スライスタイプslice_typeがBスライスで時間マージ候補のインター予測情報を用いてインター予測を行う場合は、双予測(Pred_BI)を行うために、L0とL1のそれぞれの参照インデックスを導出する。ステップS102の詳細な処理手順については
図18のフローチャートを用いて後ほど詳細に説明する。
【0091】
続いて、動画像符号化装置のインター予測情報導出部104の時間マージ候補生成部133及び動画像復号装置のインター予測情報導出部205の時間マージ候補生成部233では、異なる時間のピクチャからの時間マージ候補を導出して、導出された時間マージ候補をマージ候補リストmergeCandListに登録する(
図15のステップS103)。時間マージ候補が利用できるかどうかを示すフラグavailableFlagCol、時間マージ候補のL0予測が行われるかどうかを示すL0予測フラグpredFlagL0ColおよびL1予測が行われるかどうかを示すL1予測フラグpredFlagL1Col、及びL0の動きベクトルmvL0N、L1の動きベクトルmvL1Nを導出する。ステップS103の詳細な処理手順については
図19のフローチャートを用いて後ほど詳細に説明する。マージ候補リストmergeCandListは動画像符号化装置のインター予測情報導出部104の追加マージ候補生成部134及び動画像復号装置のインター予測情報導出部205の追加マージ候補生成部234にそれぞれ供給される。
【0092】
続いて、動画像符号化装置のインター予測情報導出部104の追加マージ候補生成部134及び動画像復号装置のインター予測情報導出部205の追加マージ候補生成部234では、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandが、最大マージ候補数maxNumMergeCandより小さい場合、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandが最大マージ候補数maxNumMergeCandを上限として追加マージ候補を導出して、マージ候補リストmergeCandListに登録する(
図15のステップS104)。最大マージ候補数maxNumMergeCandを上限として、Pスライスでは、異なる参照インデックスで動きベクトルが(0,0)の値を持つ予測モードがL0予測(Pred_L0)のマージ候補を追加する。Bスライスでは、異なる参照インデックスで動きベクトルが(0,0)の値を持つ予測モードが双予測(Pred_BI)のマージ候補を追加する。ステップS104の詳細な処理手順については
図26のフローチャートを用いて後ほど詳細に説明する。なお、Bスライスでは、すでに登録されているマージ候補同士のL0予測とL1予測の組み合わせを変更した予測モードが双予測(Pred_BI)のマージ候補を導出して登録してもよい。マージ候補リストmergeCandListは動画像符号化装置のインター予測情報導出部104のマージ候補制限部136及び動画像復号装置のインター予測情報導出部205のマージ候補制限部236にそれぞれ供給される。
【0093】
続いて、動画像符号化装置のインター予測情報導出部104のマージ候補制限部136及び動画像復号装置のインター予測情報導出部205のマージ候補制限部236では、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandの値が最大マージ候補数maxNumMergeCandよりも大きい場合、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandの値を最大マージ候補数maxNumMergeCandに制限する(
図15のステップS106)。マージ候補リストmergeCandListは動画像符号化装置のインター予測情報導出部104のインター予測情報選択部137及び動画像復号装置のインター予測情報導出部205のインター予測情報選択部237にそれぞれ供給される。ステップS106の詳細な処理手順について、
図27のフローチャートを用いて説明する。
【0094】
最大マージ候補数maxNumMergeCandより大きい場合(
図27のステップS7101のYES)、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandの値を最大マージ候補数maxNumMergeCandに更新する(
図27のステップS7102)。ステップS7102の処理はマージ候補リストmergeCandList内のマージインデックスが(maxNumMergeCand-1)よりも大きいすべてのマージ候補へのアクセスを禁止し、マージ候補リストmergeCandListに登録されるマージ候補数を最大マージ候補数maxNumMergeCandに制限することを意味する。
【0095】
本実施の形態においては、スライス単位でマージ候補リストmergeCandList内に登録されるマージ候補数を固定した数に設定している。マージ候補リストmergeCandList内に登録されるマージ候補数を固定する理由はマージ候補リストmergeCandList内に登録されるマージ候補数がマージ候補リストの構築状態に応じて変動すると、エントロピー復号とマージ候補リストの構築に依存関係が生じ、復号側では予測ブロック毎にマージ候補リストを構築しマージ候補リストmergeCandList内に登録されるマージ候補数を導出してからでないと、マージインデックスをエントロピー復号することができず、マージインデックスの復号に遅延が生じるとともにエントロピー復号が複雑になるためである。さらに、エントロピー復号が異なる時間のピクチャの予測ブロックから導出されたマージ候補Colを含むマージ候補リストの構築状態に依存すると、別のピクチャの符号化ビット列の復号時にエラーが発生した際に現在のピクチャの符号化ビット列もそのエラーの影響を受けて正常なマージ候補リストmergeCandList内に登録されるマージ候補数を導出することができず正常にエントロピー復号を続けることができない問題がある。本実施の形態の様にスライス単位でマージ候補リストmergeCandList内に登録されるマージ候補数を固定した数に設定すると、予測ブロック単位でのマージ候補リストmergeCandList内に登録されるマージ候補数の導出が不要となり、マージ候補リストの構築と独立して、マージインデックスをエントロピー復号することができるとともに、別のピクチャの符号化ビット列の復号時にエラーが発生してもその影響を受けずに現在のピクチャの符号化ビット列のエントロピー復号を続けることができる。本実施の形態においては、スライス単位でマージ候補リストmergeCandList内に登録されるマージ候補数を示すシンタックス要素が符号化されるものとし、mergeCandList内に登録されるマージ候補数を最大マージ候補数maxNumMergeCandと定義する。
【0096】
次に、
図15のステップS101の処理手順である符号化/復号対象ブロックに隣接する予測ブロックNからのマージ候補Nの導出方法について詳細に説明する。
図16は
図15のステップS101の空間マージ候補導出処理手順を説明するフローチャートである。Nには隣接する予測ブロックの領域を表すA(左側)、B(上側)、C(右上)、D(左下)またはE(左上)が入る。なお、本実施の形態においては、隣接する5つの予測ブロックから最大4つの空間マージ候補を導出する。
【0097】
図16で、変数NをAとして符号化/復号対象の予測ブロックの左側に隣接する予測ブロックAの符号化情報を調べてマージ候補Aを導出し、変数NをBとして上側に隣接する予測ブロックBの符号化情報を調べてマージ候補Bを導出し、変数NをCとして右上側に隣接する予測ブロックCの符号化情報を調べてマージ候補Cを導出し、変数NをDとして左下側に隣接する予測ブロックDの符号化情報を調べてマージ候補Dを導出し、変数NをEとして左上側に隣接する予測ブロックEの符号化情報を調べてマージ候補Eを導出し、マージ候補リストに登録する(
図16のステップS1101〜ステップS1118)。
【0098】
まず、変数NがEで、フラグavailableFlagA, availableFlagB, availableFlagC, availableFlagDの値を加算して合計が4の場合(
図16のステップS1102のYES)、すなわち4つの空間マージ候補が導出された場合、マージ候補EのフラグavailableFlagEを0に設定し(
図16のステップS1107)、マージ候補Eの動きベクトルmvL0E, mvL1Eの値を共に(0,0)に設定し(
図16のステップS1108)、マージ候補EのフラグpredFlagL0E、predFlagL1Eの値を共に0に設定し(
図16のステップS1109)、ステップS1118に進み、本空間マージ候補導出処理を終了する。
【0099】
本実施の形態においては、隣接する予測ブロックから最大で4つのマージ候補を導出するので、既に4つの空間マージ候補が導出された場合はそれ以上の空間マージ候補の導出処理を行う必要がない。
【0100】
一方、変数NがEでないか、フラグavailableFlagA, availableFlagB, availableFlagC, availableFlagDの値を加算して合計が4でない場合(
図16のステップS1102のNO)、すなわち4つの空間マージ候補が導出されていない場合、ステップS1103に進む。隣接する予測ブロックNが導出対象の予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれる場合(
図16のステップS1103のYES)、マージ候補NのフラグavailableFlagNの値を0に設定し(
図16のステップS1107)、マージ候補Nの動きベクトルmvL0N, mvL1Nの値を共に(0,0)に設定し(
図16のステップS1108)、マージ候補NのフラグpredFlagL0N、predFlagL1Nの値を共に0に設定し(
図16のステップS1109)、ステップS1118に進む。隣接する予測ブロックNが導出対象の予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれる場合(
図16のステップS1103のYES)、隣接する予測ブロックNを参照しないことで、予測ブロックのマージ候補導出及びマージ候補リストの構築処理の並列処理を可能とする。
【0101】
具体的には、分割モード(PartMode)が2N×N分割(PART_2NxN)、2N×nU分割(PART_2NxnU)または2N×nD分割(PART_2NxnD)で、処理対象の予測ブロックのPartIdxが1で、隣接する予測ブロックBの場合が、隣接する予測ブロックNが導出対象の予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれる場合である。この場合、隣接する予測ブロックBはPartIdxが0の予測ブロックであるので、隣接する予測ブロックBを参照しないことで、予測ブロックのマージ候補導出及びマージ候補リストの構築処理の並列処理を可能とする。
【0102】
さらに、分割モード(PartMode)がN×2N分割(PART_Nx2N)、nL×2N分割(PART_nLx2N)またはnR×2N分割(PART_nRx2N)で、処理対象の予測ブロックのPartIdxが1で、隣接する予測ブロックAの場合も、隣接する予測ブロックNが導出対象の予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれる場合である。この場合も、隣接する予測ブロックAはPartIdxが0の予測ブロックであるので、隣接する予測ブロックAを参照しないことで、予測ブロックのマージ候補導出及びマージ候補リストの構築処理の並列処理を可能とする。
【0103】
さらに、分割モード(PartMode)がN×N分割(PART_NxN)で、処理対象の予測ブロックのPartIdxが1、2または3の場合も、隣接する予測ブロックNが導出対象の予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれることがある。
【0104】
一方、隣接する予測ブロックNが処理対象の予測ブロックを含む符号化ブロックと同じ符号化ブロックに含まれない場合(
図16のステップS1103のNO)、符号化/復号対象の予測ブロックに隣接する予測ブロックNを特定し、それぞれの予測ブロックNが利用できる場合は符号化情報格納メモリ115または210から予測ブロックNの符号化情報を取得する(
図16のステップS1104)。
【0105】
隣接する予測ブロックNが利用できないか(
図16のステップS1105のNO)、予測ブロックNの予測モードPredModeがイントラ予測(MODE_INTRA)である場合(
図16のステップS1106のNO)、マージ候補NのフラグavailableFlagNの値を0に設定し(
図16のステップS1107)、マージ候補Nの動きベクトルmvL0N, mvL1Nの値を共に(0,0)に設定し(
図16のステップS1108)、マージ候補NのフラグpredFlagL0N、predFlagL1Nの値を共に0に設定し(ステップS1109)、ステップS1118に進む。ここで、隣接する予測ブロックNが利用できない場合とは、具体的には隣接する予測ブロックNが符号化/復号対象スライスの外に位置する場合や、まだ符号化/復号処理順序で後のため、符号化/復号処理が完了していない場合等が該当する。
【0106】
一方、隣接する予測ブロックNが導出対象の予測ブロックの符号化ブロックと同じ符号化ブロック外で(
図16のステップS1104のYES)、隣接する予測ブロックNが利用でき(
図16のステップS1105のYES)、予測ブロックNの予測モードPredModeがイントラ予測(MODE_INTRA)でない場合(
図16のステップS1106のYES)、予測ブロックNのインター予測情報をマージ候補Nのインター予測情報とする。マージ候補NのフラグavailableFlagNの値を1に設定し(
図16のステップS1110)、マージ候補Nの動きベクトルmvL0N, mvL1Nをそれぞれ予測ブロックNの動きベクトルmvL0N[xN][yN], mvL1N[xN][yN]と同じ値に設定し(
図16のステップS1111)、マージ候補Nの参照インデックスrefIdxL0N, refIdxL1Nをそれぞれ予測ブロックNの参照インデックスrefIdxL0[xN][yN], refIdxL1[xN][yN]と同じ値に設定し(
図16のステップS1112)、マージ候補NのフラグpredFlagL0N, predFlagL1Nをそれぞれ予測ブロックNのフラグpredFlagL0[xN][yN], predFlagL1[xN][yN]に設定する(
図16のステップS1113)。ここで、xN、yNはピクチャ内での予測ブロックNの左上の画素の位置を示すインデックスである。
【0107】
続いて、マージ候補NのフラグpredFlagL0N, predFlagL1N、マージ候補Nの参照インデックスrefIdxL0N, refIdxL1N、マージ候補Nの動きベクトルmvL0N, mvL1Nをすでに導出されたマージ候補とそれぞれ比較する(
図16のステップS1114)。同一マージ候補が存在しない場合(
図16のステップS1115のYES)、マージ候補Nをマージ候補リストmergeCandListのマージインデックスがnumMergeCandと同じ値で示される位置に登録し(
図16のステップS1116)、マージ候補数numMergeCandに1を加算する(
図16のステップS1117)。一方、同一マージ候補が存在する場合(
図16のステップS1115のNO)、ステップS1116およびステップS1117をスキップして、ステップS1118に進む。
【0108】
以上のステップS1102〜ステップS1117の処理をN=A,B,C,D,Eについてそれぞれ繰り返す(
図16のステップS1101〜ステップS1118)。
【0109】
次に、
図15のS102の時間マージ候補の参照インデックスを導出する方法について詳細に説明する。時間マージ候補のL0とL1のそれぞれの参照インデックスを導出する。
【0110】
本実施の形態においては、空間マージ候補の参照インデックス、即ち符号化/復号対象ブロックに隣接する予測ブロックで利用された参照インデックスを利用して時間マージ候補の参照インデックスを導出する。これは、時間マージ候補が選択される場合において、符号化/復号対象の予測ブロックの参照インデックスは空間マージ候補となる符号化/復号対象ブロックに隣接する予測ブロックの参照インデックスと高い相関を持つからである。特に、本実施の形態においては、符号化/復号対象の予測ブロックの左の辺に隣接する予測ブロックAの参照インデックスだけを利用する。なぜなら、空間マージ候補でもある隣接する予測ブロックA,B,C,D,Eの中でも符号化/復号対象の予測ブロックの辺に接している予測ブロックA,Bは、符号化/復号対象の予測ブロックの頂点のみに接している予測ブロックC,D,Eよりも相関が高いからである。相対的に相関の低い予測ブロックC,D,Eを利用せずに、利用する予測ブロックを予測ブロックAに限定することで、時間マージ候補の参照インデックスの導出による符号化効率の改善効果を得るとともに、時間マージ候補の参照インデックス導出処理に関する演算量及びメモリアクセス量を削減する。
【0111】
図17は本実施の形態における時間マージ候補の参照インデックスの導出処理において参照する隣接ブロックを示す図である。本実施の形態では、符号化ブロックの分割モード(PartMode)に関わらず、予測ブロックの分割インデックスPartIdxに応じて、導出対象の予測ブロックの左辺に隣接する予測ブロックを参照するかどうかを切り替える。予測ブロックの分割インデックスPartIdxが0の場合は左辺に隣接する予測ブロックを参照し、分割インデックスPartIdxが0以外の場合は隣接する予測ブロックを参照せずデフォルト値とする。予測ブロックの分割インデックスPartIdxが0の場合はどの分割モード(PartMode)においても左辺に隣接する予測ブロックは必ず符号化ブロック外となるが、予測ブロックの分割インデックスPartIdxが0以外の場合は分割モード(PartMode)よっては符号化ブロック内となる。分割モード(PartMode)が2N×2N分割(PART_2Nx2N)では、
図17(a)に示すように、導出対象の予測ブロックの左に隣接する予測ブロックA0を参照し、時間マージ候補のLXの参照インデックスを予測ブロックA0のLXの参照インデックスの値に設定する。
【0112】
処理対象の符号化ブロックを上下に並ぶ2つの予測ブロックに分割する分割モード(PartMode)が2N×N分割(PART_2NxN)、2N×nU分割(PART_2NxnU)、2N×nD分割(PART_2NxnD)、および処理対象の符号化ブロックを左右に並ぶ2つの予測ブロックに分割する分割モード(PartMode)がN×2N分割(PART_Nx2N)、nL×2N分割(PART_nLx2N)、nR×2N分割(PART_nRx2N)では、
図17(b)、(c)、(d)、(e)、(f)、(g)に示すように、導出対象の分割インデックスPartIdxが0の予測ブロックでは左に隣接する予測ブロックA0を参照し、時間マージ候補のLXの参照インデックスを予測ブロックA0のLXの参照インデックスの値に設定する。導出対象の分割インデックスPartIdxが1の予測ブロックでは隣接する予測ブロックを参照せず、時間マージ候補のLXの参照インデックスをデフォルト値の0に設定する。参照する予測ブロックA0が符号化ブロック外にあるので、分割インデックスPartIdxが0と1の2つの予測ブロックの時間マージ候補の参照インデックスをそれぞれ並列に導出することができる。
【0113】
処理対象の符号化ブロックを上下左右に4分割して4つの予測ブロックに分割する分割モード(PartMode)がN×N分割(PART_NxN)では、
図17(h)に示すように、導出対象の分割インデックスPartIdxが0の予測ブロックでは左に隣接する予測ブロックA0を参照し、時間マージ候補のLXの参照インデックスを予測ブロックA0のLXの参照インデックスの値に設定する。導出対象の分割インデックスPartIdxが1、2および3の予測ブロックでは隣接する予測ブロックを参照せず、時間マージ候補のLXの参照インデックスをデフォルト値の0に設定する。参照する予測ブロックA0が符号化ブロック外にあるので、分割インデックスPartIdxが0、1、2および3の4つの予測ブロックの時間マージ候補の参照インデックスをそれぞれ並列に導出することができる。
【0114】
ただし、隣接する予測ブロックAがLX予測を行わない場合は時間マージ候補のLXの参照インデックスの値をデフォルト値の0とする。隣接する予測ブロックAがLX予測を行わない場合や導出対象の予測ブロックの分割インデックスPartIdxが1の場合に、時間マージ候補のLXの参照インデックスのデフォルト値を0とする理由は、インター予測において参照インデックスの値が0に対応する参照ピクチャが最も選択される確率が高いからである。ただし、これに限定されず、参照インデックスのデフォルト値を0以外の値(1、2など)としても良いし、シーケンスレベル、ピクチャレベル、またはスライスレベルで符号化ストリーム内に参照インデックスのデフォルト値を示すシンタックス要素を設置し伝送できるようにして、符号化側で選択できるようにしても良い。
【0115】
図18は本実施の形態による
図15のステップS102の時間マージ候補の参照インデックスの導出処理手順を説明するフローチャートである。まず、分割インデックスPartIdxが0である場合(ステップS2104のYES)、符号化情報格納メモリ115または210から導出対象の予測ブロックの左に隣接する予測ブロックAの符号化情報を取得する(ステップS2111)。
【0116】
続くステップS2113からステップS2115までの処理をL0、L1それぞれにおいて行う(ステップS2112〜S2116)。なお、時間マージ候補のL0の参照インデックスを導出する際にはLXはL0に設定され、L1の参照インデックスを導出する際にはLXはL1に設定される。ただし、スライスタイプslice_typeがPスライスの場合、インター予測モードとしてL0予測(Pred_L0)だけがあり、L1予測(Pred_L1)、双予測(Pred_BI)がないので、L1に纏わる処理を省略することができる。
【0117】
予測ブロックAのLX予測を行うかどうかを示すフラグpredFlagLX[xA][yA]が0でない場合(ステップS2113のYES)、時間マージ候補のLXの参照インデックスrefIdxLXColを予測ブロックAのLXの参照インデックスrefIdxLX[xA][yA]の値と同じ値に設定する(ステップS2114)。ここで、xA、yAはピクチャ内での予測ブロックAの左上の画素の位置を示すインデックスである。
【0118】
なお、本実施の形態においては、予測ブロックN(N=A,B)において、予測ブロックNが符号化/復号対象のスライス外で利用できない場合や予測ブロックNが符号化/復号順序で符号化/復号対象の予測ブロックよりも後のために符号化/復号されておらず利用できない場合や予測ブロックNの予測モードPredModeがイントラ予測(MODE_INTRA)の場合、L0予測を利用するかどうかを示すフラグpredFlagL0[xN][yN]、予測ブロックNのL1予測を利用するかどうかを示すフラグpredFlagL1[xN][yN]は共に0である。ここで、xN、yNはピクチャ内での予測ブロックNの左上の画素の位置を示すインデックスである。予測ブロックNの予測モードPredModeがインター予測(MODE_INTER)で、インター予測モードがL0予測(Pred_L0)の場合、予測ブロックNのL0予測を利用するかどうかを示すフラグpredFlagL0[xN][yN]は1, L1予測を利用するかどうかを示すフラグpredFlagL1[xN][yN]は0である。予測ブロックNのインター予測モードがL1予測(Pred_L1)の場合、予測ブロックNのL0予測を利用するかどうかを示すフラグpredFlagL0[xN][yN]は0, L1予測を利用するかどうかを示すフラグpredFlagL1[xN][yN]は1である。予測ブロックNのインター予測モードが双予測(Pred_BI)の場合、予測ブロックNのL0予測を利用するかどうかを示すフラグpredFlagL0[xN][yN]、L1予測を利用するかどうかを示すフラグpredFlagL1[xN][yN]は共に1である。
【0119】
予測ブロックAのLX予測を行うかどうかを示すフラグpredFlagLX[xA][yA]が0である場合(ステップS2113のNO)、時間マージ候補のLXの参照インデックスrefIdxLXColをデフォルト値の0に設定する(ステップS2115)。
【0120】
L0、L1それぞれにおいてステップS2113からステップS2115までの処理を行い(ステップS2112〜S2116)、本参照インデックス導出処理を終了する。
【0121】
一方、分割インデックスPartIdxが0でない場合(ステップS2104のNO)、続くステップS2121の処理をL0、L1それぞれにおいて行う(ステップS2118〜S2122)。なお、時間マージ候補のL0の参照インデックスを導出する際にはLXはL0に設定され、L1の参照インデックスを導出する際にはLXはL1に設定される。ただし、スライスタイプslice_typeがPスライスの場合、インター予測モードとしてL0予測(Pred_L0)だけがあり、L1予測(Pred_L1)、双予測(Pred_BI)がないので、L1に纏わる処理を省略することができる。
【0122】
時間マージ候補のLXの参照インデックスrefIdxLXColをデフォルト値の0に設定する(ステップS2121)。
【0123】
L0、L1それぞれにおいてステップS2121までの処理を行い(ステップS2118〜S2122)、本参照インデックス導出処理を終了する。
【0124】
なお、本実施の形態においては導出対象の予測ブロックの左辺に隣接する予測ブロックを参照するかどうかを切り替えたが、左辺に隣接する予測ブロックの代わりに上辺に隣接する予測ブロックを参照するかどうかを切り替えてもよい。
【0125】
次に、
図15のS103の異なる時間のマージ候補の導出方法について詳細に説明する。
図19は
図15のステップS103の時間マージ候補導出処理手順を説明するフローチャートである。
【0126】
まず、スライス単位でスライスヘッダに記述されるスライスタイプslice_typeと時間方向の予測動きベクトルの候補、またはマージ候補を導出する際に用いる異なる時間のピクチャcolPicが処理対象の予測ブロックが含まれるピクチャのL0の参照リスト或いはL1の参照リストのどちらに登録されている参照ピクチャを使用するかを示すフラグcollocated_from_l0_flagにより、異なる時間のピクチャcolPicを導出する(ステップS3101)。
【0127】
図20は
図19のステップS3101の異なる時間のピクチャcolPicの導出処理手順を説明するフローチャートである。スライスタイプslice_typeがBスライスで、フラグcollocated_from_l0_flagが0の場合(ステップS3201のYES、ステップS3202のYES)、RefPicList1[0]、すなわち参照リストL1の参照インデックスが0のピクチャが異なる時間のピクチャcolPicとなる(ステップS3203)。そうでない場合、すなわちスライスタイプslice_typeがBスライスで前述のフラグcollocated_from_l0_flagが1の場合(ステップS3201のYES、ステップS3202のNO)、またはスライスタイプslice_typeがPスライスの場合(ステップS3201のNO、S3204のYES)、RefPicList0[0]、すなわち参照リストL0の参照インデックスが0のピクチャが異なる時間のピクチャcolPicとなる(ステップS3205)。
【0128】
次に、
図19のフローチャートに戻り、異なる時間の予測ブロックcolPUを導出し、符号化情報を取得する(ステップS3102)。
【0129】
図21は
図19のステップS3102の異なる時間のピクチャcolPicの予測ブロックcolPUの導出処理手順を説明するフローチャートである。
【0130】
まず、異なる時間のピクチャcolPic内で処理対象の予測ブロックと同一位置の右下(外側)に位置する予測ブロックを異なる時間の予測ブロックcolPUとする(ステップS3301)。この予測ブロックは
図9の予測ブロックT0に相当する。
【0131】
次に、異なる時間の予測ブロックcolPUの符号化情報を取得する(ステップS3302)。異なる時間の予測ブロックcolPUのPredModeが利用できないか、異なる時間の予測ブロックcolPUの予測モードPredModeがイントラ予測(MODE_INTRA)である場合(ステップS3303のYES、ステップS3304のYES)、異なる時間のピクチャcolPic内で処理対象の予測ブロックと同一位置の中央左上に位置する予測ブロックを異なる時間の予測ブロックcolPUとする(ステップS3305)。この予測ブロックは
図9の予測ブロックT1に相当する。
【0132】
次に、
図19のフローチャートに戻り、符号化/復号対象の予測ブロックと同位置の他ピクチャの予測ブロックから導出されるL0の予測動きベクトルmvL0Colと時間マージ候補Colが有効か否かを示すフラグavailableFlagL0Colを導出するとともに(ステップS3103)、L1の予測動きベクトルmvL1Colと時間マージ候補Colが有効か否かを示すフラグavailableFlagL1Colを導出する(ステップS3104)。さらに、フラグavailableFlagL0Col またはフラグavailableFlagL1Colが1の場合に、時間マージ候補Colが有効か否かを示すフラグavailableFlagColを1に設定する。
【0133】
図22は
図19のステップS3103、ステップS3104の時間マージ候補のインター予測情報の導出処理手順を説明するフローチャートである。L0またはL1で、時間マージ候補の導出対象のリストをLXとし、LXを用いた予測をLX予測とする。以下、断りのない限り、この意味で用いる。時間マージ候補のL0の導出処理であるステップS3103として呼び出される際には、LXがL0となり、時間マージ候補のL1の導出処理であるステップS3104として呼び出される際には、LXがL1となる。
【0134】
異なる時間の予測ブロックcolPUの予測モードPredModeがイントラ予測(MODE_INTRA)か、利用できない場合(ステップS3401のNO、ステップS3402のNO)、時間マージ候補は存在しないものとする。フラグavailableFlagLXColとフラグpredFlagLXColを共に0とし(ステップS3403)、動きベクトルmvLXColを(0,0)として(ステップS3404)、本時間マージ候補のインター予測情報の導出処理を終了する。
【0135】
予測ブロックcolPUが利用できて予測モードPredModeがイントラ予測(MODE_INTRA)でない場合(ステップS3401のYES、ステップS3402のYES)、以下の手順でmvColとrefIdxColとavailableFlagColを導出する。
【0136】
予測ブロックcolPUのL0予測が利用されているかどうかを示すフラグPredFlagL0[xPCol][yPCol]が0の場合(ステップS3405のYES)、予測ブロックcolPUの予測モードはPred_L1であるので、動きベクトルmvColが予測ブロックcolPUのL1の動きベクトルであるMvL1[xPCol][yPCol]と同じ値に設定され(ステップS3406)、参照インデックスrefIdxColがL1の参照インデックスRefIdxL1[xPCol][yPCol]と同じ値に設定され(ステップS3407)、リストListColがL1に設定される(ステップS3408)。ここで、xPCol、yPColは異なる時間のピクチャcolPic内での予測ブロックcolPUの左上の画素の位置を示すインデックスである。
【0137】
一方、予測ブロックcolPUのL0予測フラグPredFlagL0[xPCol][yPCol]が0でない場合(
図22のステップS3405のNO)、予測ブロックcolPUのL1予測フラグPredFlagL1[xPCol][yPCol]が0かどうかを判定する。予測ブロックcolPUのL1予測フラグPredFlagL1[xPCol][yPCol]が0の場合(ステップS3409のYES)、動きベクトルmvColが予測ブロックcolPUのL0の動きベクトルであるMvL0[xPCol][yPCol]と同じ値に設定され(ステップS3410)、参照インデックスrefIdxColがL0の参照インデックスRefIdxL0[xPCol][yPCol]と同じ値に設定され(ステップS3411)、リストListColがL0に設定される(ステップS3412)。
【0138】
予測ブロックcolPUのL0予測フラグPredFlagL0[xPCol][yPCol]と予測ブロックcolPUのL1予測フラグPredFlagL1[xPCol][yPCol]が共に0でない場合(ステップS3405のNO、ステップS3409のNO)、予測ブロックcolPUのインター予測モードは双予測(Pred_BI)であるので、L0、L1の2つの動きベクトルから、一方を選択する(ステップS3413)。
【0139】
図23は予測ブロックcolPUのインター予測モードが双予測(Pred_BI)のときの時間マージ候補のインター予測情報の導出処理手順を示すフローチャートである。
【0140】
まず、すべての参照リストに登録されているすべてのピクチャのPOCが現在の符号化/復号対象ピクチャのPOCより小さいかどうかを判定し(ステップS3501)、予測ブロックcolPUのすべての参照リストであるL0及びL1に登録されているすべてのピクチャのPOCが現在の符号化/復号対象ピクチャのPOCより小さい場合で(ステップS3501のYES)、LXがL0、即ち符号化/復号対象ピクチャのL0の動きベクトルの予測ベクトル候補を導出している場合(ステップS3502のYES)、予測ブロックcolPUのL0の方のインター予測情報を選択し、LXがL1、即ち符号化/復号対象ピクチャのL1の動きベクトルの予測ベクトル候補を導出している場合(ステップS3502のNO)、予測ブロックcolPUのL1の方のインター予測情報を選択する。一方、予測ブロックcolPUのすべての参照リストL0及びL1に登録されているピクチャのPOCの少なくとも1つが現在の符号化/復号対象ピクチャのPOCより大きい場合で(ステップS3501のNO)、フラグcollocated_from_l0_flagが0の場合(ステップS3503のYES)、予測ブロックcolPUのL0の方のインター予測情報を選択し、フラグcollocated_from_l0_flagが1の場合(ステップS3503のNO)、予測ブロックcolPUのL1の方のインター予測情報を選択する。
【0141】
予測ブロックcolPUのL0の方のインター予測情報を選択する場合(ステップのYES、ステップS3503のYES)、動きベクトルmvColがMvL0[xPCol][yPCol]と同じ値に設定され(ステップS3504)、参照インデックスrefIdxColがRefIdxL0[xPCol][yPCol]と同じ値に設定され(ステップS3505)、リストListColがL0に設定される(ステップS3506)。
【0142】
予測ブロックcolPUのL1の方のインター予測情報を選択する場合(ステップS2502のNO、ステップS3503のNO)、動きベクトルmvColがMvL1[xPCol][yPCol]と同じ値に設定され(ステップS3507)、参照インデックスrefIdxColがRefIdxL1[xPCol][yPCol]と同じ値に設定され(ステップS3508)、リストListColがL1に設定される(ステップS3509)。
【0143】
図22に戻り、予測ブロックcolPUからインター予測情報が取得できたらフラグavailableFlagLXColとフラグpredFlagLXColを共に1とする(ステップS3414)。
【0144】
続いて、動きベクトルmvColをスケーリングして時間マージ候補のLXの動きベクトルmvLXColとする(ステップS3415)。この動きベクトルのスケーリング演算処理手順を
図24及び
図25を用いて説明する。
【0145】
図24は
図22のステップS3415の動きベクトルのスケーリング演算処理手順を示すフローチャートである。
【0146】
異なる時間のピクチャcolPicのPOCから、予測ブロックcolPUのリストListColで参照する参照インデックスrefIdxColに対応する参照ピクチャのPOCを減算してピクチャ間距離tdを導出する(ステップS3601)。なお、異なる時間のピクチャcolPicよりも予測ブロックcolPUのリストListColで参照する参照ピクチャのPOCの方が表示順序で前の場合、ピクチャ間距離tdは正の値となり、異なる時間のピクチャcolPicよりも予測ブロックcolPUのリストListColで参照する参照ピクチャのPOCの方が表示順序で後の場合、ピクチャ間距離tdは負の値となる。
td=異なる時間のピクチャcolPicのPOC−予測ブロックcolPUのリストListColで参照する参照ピクチャのPOC
【0147】
現在の符号化/復号対象ピクチャのPOCから
図15のステップS102で導出された時間マージ候補のLXの参照インデックスに対応する参照ピクチャのPOCを減算してピクチャ間距離tbを導出する(ステップS3602)。なお、現在の符号化/復号対象ピクチャよりも現在の符号化/復号対象ピクチャのリストLXで参照する参照ピクチャの方が表示順序で前の場合、ピクチャ間距離tbは正の値となり、現在の符号化/復号対象ピクチャのリストLXで参照する参照ピクチャの方が表示順序で後の場合、ピクチャ間距離tbは負の値となる。
tb=現在の符号化/復号対象ピクチャのPOC−時間マージ候補のLXの参照インデックスに対応する参照ピクチャのPOC
【0148】
続いて、ピクチャ間距離tdとtbを比較し(ステップS3603)、ピクチャ間距離tdとtbが等しい場合(ステップS3603のYES)、時間マージ候補のLXの動きベクトルmvLXColを動きベクトルmvColと同じ値に設定して(ステップS3604)、本スケーリング演算処理を終了する。
mvLXCol=mvCol
【0149】
一方、ピクチャ間距離tdとtbが等しくない場合(ステップS3603のNO)、次式によりmvColにスケール係数tb/tdを乗じることでスケーリング演算処理を行い(ステップS3605)、スケーリングされた時間マージ候補のLXの動きベクトルmvLXColを得る。
mvLXCol=tb / td * mvCol
【0150】
また、ステップS3605のスケーリング演算を整数精度の演算で行う場合の例を
図25に示す。
図25のステップS3606〜ステップS3608の処理が、
図24のステップS3605の処理に相当する。
【0151】
まず、
図24のフローチャートと同様に、ピクチャ間距離tdとピクチャ間距離tbを導出する(ステップS3601、ステップS3602)。
【0152】
続いて、ピクチャ間距離tdとtbを比較し(ステップS3603)、ピクチャ間距離tdとtbが等しい場合(ステップS3603のYES)、
図24のフローチャートと同様に、時間マージ候補のLXの動きベクトルmvLXColを動きベクトルmvColと同じ値に設定して(ステップS3604)、本スケーリング演算処理を終了する。
mvLXCol=mvCol
【0153】
一方、ピクチャ間距離tdとtbが等しくない場合(ステップS3603のNO)、次式により変数txを導出する(ステップS3606)。
tx = ( 16384 + Abs( td / 2 ) ) / td
【0154】
続いて、次式によりスケール係数DistScaleFactorを導出する(ステップS3607)。
DistScaleFactor = ( tb * tx + 32 ) >> 6
【0155】
続いて、次式により、スケーリングされた時間マージ候補のLXの動きベクトルmvLXColを得る(ステップS3608)。
mvLXCol = ClipMv( Sign( DistScaleFactor * mvCol ) * ( (Abs( DistScaleFactor * mvCol ) + 127 ) >> 8 ) )
【0156】
次に、
図19のフローチャートに戻り、時間マージ候補が存在する場合(ステップS3105のYES)、時間マージ候補をマージ候補リストmergeCandListのマージインデックスがnumMergeCandと同じ値で示される位置に登録し(ステップS3106)、マージ候補数numMergeCandに1を加算して(ステップS3107)、本時間マージ候補導出処理を終了する。一方、時間マージ候補が存在しない場合(ステップS3105のNO)、ステップS3106およびステップS3107をスキップして、本時間マージ候補導出処理を終了する。
【0157】
次に、
図12の追加マージ候補生成部134および
図13の追加マージ候補生成部234で実施される
図15のステップS104の処理手順である追加マージ候補の導出方法について詳細に説明する。
図26は
図15のステップS104の追加マージ候補導出処理手順を説明するフローチャートである。
【0158】
図12の追加マージ候補生成部134および
図13の追加マージ候補生成部234で実施される追加マージ候補導出処理においては、マージ候補の選択の幅を広げて、符号化効率を向上させるために、異なる値のインター予測情報を持つ複数のマージ候補を生成し、マージ候補リストに登録する。特に、
図26の追加マージ候補導出処理においては、予測モードと動きベクトルの値を固定し、異なる参照インデックスの値の複数のマージ候補を生成し、マージ候補リストに登録する(
図26のステップS5101〜S5119)。
【0159】
まず、スライスタイプがPスライスの場合(
図26のステップS5101のYES)、参照インデックス数を示す変数numRefIdxにL0の参照インデックス数の値を設定する(
図26のステップS5102)。一方、スライスタイプがPスライスでない場合(
図26のステップS5101のNO)、すなわちスライスタイプがBスライスの場合、参照インデックス数を示す変数numRefIdxにL0の参照インデックス数とL1の参照インデックス数の小さい方の値を設定する(
図26のステップS5103)。続いて参照インデックスiに0を設定する(
図26のステップS5104)。
【0160】
続いて、参照インデックスiを変更しながら、スライスタイプに応じた予測モードの動きベクトルの値が(0,0)の追加マージ候補を導出し、マージ候補リストに登録する。(
図26のステップS5105〜S5119)。
【0161】
まず、マージ候補数numMergeCandが最大マージ候補数maxNumMergeCandより小さい場合(
図26のステップS5106のYES)、ステップS5107に進み、マージ候補数numMergeCandが最大マージ候補数maxNumMergeCandより小さくない場合(
図26のステップS5106のNO)、本追加マージ候補導出処理を終了する。続いて、参照インデックスiが変数numRefIdxより小さい場合(
図26のステップS5107のYES)、ステップS5109に進み、参照インデックスiが変数numRefIdxよりより小さくない場合(
図26のステップS5107のNO)、本追加マージ候補導出処理を終了する。
【0162】
続いて、スライスタイプがPスライスの場合(
図26のステップS5109のYES)、追加マージ候補の動きベクトルmvL0Zero、mvL1Zeroに(0,0)を設定し(
図26のステップS5110)、追加マージ候補の参照インデックスrefIdxL0Zeroに参照インデックスiの値を設定し、refIdxL1Zeroに−1を設定し(
図26のステップS5111)、追加マージ候補のフラグpredFlagL0Zeroに1を設定し、predFlagL1Zeroに0を設定して(
図26のステップS5112)、ステップS5116に進む。
【0163】
一方、スライスタイプがPスライスでない場合(
図26のステップS5109のNO)、すなわちスライスタイプがBスライスの場合、追加マージ候補の動きベクトルmvL0Zero、mvL1Zeroに(0,0)を設定し(
図26のステップS5113)、追加マージ候補の参照インデックスrefIdxL0Zero、refIdxL1Zeroに参照インデックスiの値を設定し(
図26のステップS5114)、追加マージ候補のフラグpredFlagL0Zero、predFlagL1Zeroに1を設定して(
図26のステップS5115)、ステップS5116に進む。
【0164】
続いて、追加マージ候補をマージ候補リストmergeCandListのマージインデックスがnumMergeCandと同じ値で示される位置に登録し(
図26のステップS5116)、マージ候補数numMergeCandに1を加算する(
図26のステップS5117)。続いて、インデックスiに1を加算し(
図26のステップS5118)、ステップS5119に進む。
【0165】
以上のステップS5106〜ステップS5118の処理をそれぞれの参照インデックスi毎にそれぞれ繰り返す(
図26のステップS5105〜ステップS5119)。
【0166】
図26では予測モードと動きベクトルの値を固定し、異なる参照インデックスの値の複数のマージ候補を生成し、マージ候補リストに登録するものとしてしたが、異なる予測モードの複数のマージ候補を生成して、マージ候補リストに登録してもよいし、異なる動きベクトルの値のマージ候補を生成し、マージ候補リストに登録してもよい。動きベクトルの値を変更する場合には、例えば、(0,0)、(1,0)、(−1,0)、(0,1)、(0,−1)の順序で動きベクトルの値を変更しながら、追加する。
【0167】
次に、動画像符号化装置のインター予測情報導出部104のインター予測情報選択部137について説明する。
図37は動画像符号化装置のインター予測情報導出部104のインター予測情報選択部137の処理手順を説明するフローチャートである。第1の実施例の
図12において、動画像符号化装置のインター予測情報導出部104のインター予測情報選択部137では、マージ候補数numMergeCandが0より大きい場合(
図37のステップS8101のYES)、マージ候補リストに登録されているマージインデックスが0から(numMergeCand-1)の範囲内で指し示される有効なマージ候補の中から、マージ候補を選択し、選択されたマージ候補の各予測ブロックのL0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、動きベクトルmvL0[xP][yP], mvL1[xP][yP]等のインター予測情報を動き補償予測部105に供給するとともに、選択されたマージ候補を特定するマージインデックスを予測方法決定部107に供給する(
図37のステップS8102)。マージインデックスmergeIdxの値がマージ候補数numMergeIdxの値未満の場合、マージインデックスmergeIdxはマージ候補リストmergeCandListに登録されている有効なマージ候補を指し示す。マージインデックスmergeIdxの値がマージ候補数numMergeIdxの値以上の場合、マージインデックスmergeIdxはマージ候補リストmergeCandListに登録されていない無効なマージ候補を指し示す。なお、後述の規定を符号化側にも適用することで、マージインデックスmergeIdxが無効なマージ候補を指し示す場合においても、有効なマージ候補を選択することが可能となる。
【0168】
マージ候補の選択においては、予測方法決定部107と同様の方法を用いることができる。それぞれのマージ候補ごとに符号化情報及び残差信号の符号量と予測画像信号と画像信号との間の符号化歪を導出し、最も少ない発生符号量と符号化歪となるマージ候補が決定される。それぞれのマージ候補毎にマージモードの符号化情報であるマージインデックスのシンタックス要素merge_idxのエントロピー符号化を行い、符号化情報の符号量を算出する。さらに、それぞれのマージ候補毎に動き補償予測部105と同様の方法で各マージ候補のインター予測情報に応じて動き補償した予測画像信号と、画像メモリ101から供給される符号化対象の画像信号との予測残差信号を符号化した予測残差信号の符号量を算出する。符号化情報、即ちマージインデックスの符号量と予測残差信号の符号量とが加算された総発生符号量を算出し評価値とする。
【0169】
また、こうした予測残差信号を符号化後に、歪量評価の為に復号し、符号化により生じる元の画像信号との誤差を表す比率として符号化歪が算出される。これら総発生符号量と符号化歪とをマージ候補毎に比較することで、少ない発生符号量と符号化歪となる符号化情報が決定される。決定された符号化情報に対応するマージインデックスが、予測ブロック単位の第2のシンタックスパターンで表されるフラグmerge_idxとして符号化される。
尚、ここで算出される発生符号量は、符号化過程をシミュレートしたものであることが望ましいが、簡便に近似したり、概算することも可能である。
【0170】
一方、マージ候補数numMergeCandが0の場合(
図37のステップS8102のNO)、規定のスライスタイプに応じたデフォルト値のインター予測情報を動き補償予測部105に供給する(ステップS8103〜S8105)。インター予測情報のデフォルト値は、スライスタイプがPスライスの場合(
図37のステップS8103のYES)、L0予測(Pred_L0)で(フラグpredFlagL0[xP][yP]の値が1、predFlagL1[xP][yP]の値が0)、L0の参照インデックスが0(参照インデックスrefIdxL0[xP][yP]の値が0、refIdxL1[xP][yP]の値が−1)で、L0のベクトル値mvL0[xP][yP]が(0,0)とする(
図37のステップS8104)。一方、スライスタイプがPスライスでない場合(ステップS8103のNO)、すなわちスライスタイプがBスライスの場合、インター予測モードが双予測(Pred_BI)で(フラグpredFlagL0[xP][yP]、predFlagL1[xP][yP]の値が共に1)、参照インデックスが双方共に0(参照インデックスrefIdxL0[xP][yP]、refIdxL1[xP][yP]の値が共に0)で、L0およびL1のベクトル値mvL0[xP][yP]、mvL1[xP][yP]が双方共に(0,0)とする(ステップS8105)。なお、インター予測情報のデフォルト値は、スライスタイプに係らずスライスタイプがBスライスの場合においても、L0予測(Pred_L0)で(フラグpredFlagL0[xP][yP]の値が1、predFlagL1[xP][yP]の値が0)、L0の参照インデックスが0(参照インデックスrefIdxL0[xP][yP]の値が0、refIdxL1[xP][yP]の値が−1)で、L0のベクトル値mvL0[xP][yP]が(0,0)とすることもできる。
【0171】
次に、動画像復号装置のインター予測情報導出部205のインター予測情報選択部237について説明する。
図38は動画像復号装置のインター予測情報導出部205のインター予測情報選択部237の処理手順を説明するフローチャートである。第1の実施例の
図13において、動画像復号装置のインター予測情報導出部205のインター予測情報選択部237では、マージ候補数numMergeCandが0より大きい場合(
図38のステップS9101のYES)、マージ候補リストmergeCandListに登録されているマージ候補の中から、第2符号化ビット列復号部202から供給されたマージインデックスmergeIdxに対応するマージ候補を選択し、選択されたマージ候補のL0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、L0、L1の参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、L0、L1の動きベクトルmvL0[xP][yP], mvL1[xP][yP]等のインター予測情報を動き補償予測部206に供給するとともに、符号化情報格納メモリ210に格納する(
図38のステップS9102)。
【0172】
なお、万が一、符号化側で無効なマージ候補を指し示すマージインデックスを符号化した場合、復号側で無効なマージ候補を選択することになる。その場合、無効なインター予測情報でインター予測が行われることになり、予期しない予測信号が得られる可能性がある。また、インター予測モードが規格外の値を示したり、参照インデックスが存在しない参照ピクチャを指し示したりすることで、エラーが発生し、復号が異常終了する可能性もある。
【0173】
そこで、本実施の形態に係る第1の実施例では、供給されたマージインデックスmergeIdxの値がマージ候補数numMergeIdxの値以上の場合、マージインデックスmergeIdxにマージ候補数numMergeIdxの値を設定してから前記処理を行うものとする。供給されたマージインデックスmergeIdxの値がマージ候補数numMergeIdxの値以上の場合、符号化側で設定されたマージインデックスmergeIdxはマージ候補リストmergeCandListに登録されていない無効なマージ候補を指し示す。マージインデックスmergeIdxのクリッピング処理により、マージ候補リストmergeCandListの最後に登録されたマージ候補を得ることができる。このマージインデックスmergeIdxのクリッピング処理を規定することで、復号側でマージ候補リストmergeCandListに登録されていない無効なマージ候補を選択することを防ぐことが可能となる。
【0174】
あるいは、供給されたマージインデックスmergeIdxの値がマージ候補数numMergeIdxの値以上の場合、マージ候補のインター予測情報を、既定の値に規定することで無効なマージ候補を選択することを防ぐこともできる。この既定のマージ候補のインター予測情報は、予測モードをL0予測、参照インデックスの値を0、動きベクトルの値を(0,0)とする。なお、Bスライスの場合、予測モードを双予測とすることもできる。
【0175】
一方、マージ候補数numMergeCandが0の場合(
図38のステップS9102のNO)、規定のスライスタイプに応じたデフォルト値のインター予測情報を動き補償予測部206に供給するとともに、符号化情報格納メモリ210に格納する。(
図38のステップS9103〜S9105)。インター予測情報のデフォルト値は、スライスタイプがPスライスの場合(
図38のステップS9103のYES)、L0予測(Pred_L0)で(フラグpredFlagL0[xP][yP]の値が1、predFlagL1[xP][yP]の値が0)、L0の参照インデックスが0(参照インデックスrefIdxL0[xP][yP]の値が0、refIdxL1[xP][yP]の値が−1)で、L0のベクトル値mvL0[xP][yP]が(0,0)とする(
図38のステップS9104)。一方、スライスタイプがPスライスでない場合(
図38のステップS9103のNO)、すなわちスライスタイプがBスライスの場合、インター予測モードが双予測(Pred_BI)で(フラグpredFlagL0[xP][yP]、predFlagL1[xP][yP]の値が共に1)、参照インデックスが双方共に0(参照インデックスrefIdxL0[xP][yP]、refIdxL1[xP][yP]の値が共に0)で、L0およびL1のベクトル値mvL0[xP][yP]、mvL1[xP][yP]が双方共に(0,0)とする(
図38のステップS9105)。なお、インター予測情報のデフォルト値は、スライスタイプに係らずスライスタイプがBスライスの場合においても、L0予測(Pred_L0)で(フラグpredFlagL0[xP][yP]の値が1、predFlagL1[xP][yP]の値が0)、L0の参照インデックスが0(参照インデックスrefIdxL0[xP][yP]の値が0、refIdxL1[xP][yP]の値が−1)で、L0のベクトル値mvL0[xP][yP]が(0,0)とすることもできる。
【0176】
次に、実施の形態に係る第2の実施例のインター予測情報導出方法を図面を用いて説明する。
図28は、実施の形態に係る第2の実施例の
図1の動画像符号化装置のインター予測情報導出部104の詳細な構成を示す図である。また、
図29は、実施の形態に係る第2の実施例の
図2の動画像復号装置のインター予測情報導出部205の詳細な構成を示す図である。第2の実施例の
図28のインター予測情報導出部104は第1の実施例の
図12のインター予測情報導出部104とは有効マージ候補補充部135が追加されている点が異なる。第2の実施例の
図29のインター予測情報導出部205は第1の実施例の
図13のインター予測情報導出部205とは有効マージ候補補充部235が追加されている点が異なる。なお、本実施の形態において、動画像符号化装置および動画像復号装置において、最大マージ候補数maxNumMergeCandの値が0の場合、
図30のマージ候補の導出処理及びマージ候補リストの構築処理を省略することができる。
【0177】
図30は本発明の実施の形態に係る第2の実施例の動画像符号化装置のインター予測情報導出部104のマージ候補リストの構築部120及び動画像復号装置のインター予測情報導出部205のマージ候補リストの構築部220とで共通する機能を有するマージ候補の導出処理及びマージ候補リストの構築処理の手順を説明するフローチャートである。第2の実施例の
図30のフローチャートは、第1の実施例の
図15のフローチャートとは、ステップS105の有効マージ候補の導出処理が追加されている点が異なる。
【0178】
動画像符号化装置のインター予測情報導出部104のマージ候補リスト生成部130及び動画像復号装置のインター予測情報導出部205のマージ候補リスト生成部230では、マージ候補リストmergeCandListを用意し(
図30のステップS100)、動画像符号化装置のインター予測情報導出部104の空間マージ候補生成部131及び動画像復号装置のインター予測情報導出部205の空間マージ候補生成部231では、動画像符号化装置の符号化情報格納メモリ115または動画像復号装置の符号化情報格納メモリ210に格納されている符号化情報から、符号化/復号対象ブロックに隣接するそれぞれの予測ブロックA,B,C,D,Eからの空間マージ候補A,B,C,D,Eを導出して、導出された空間マージ候補をマージ候補リストmergeCandListに登録し(
図30のステップS101)、動画像符号化装置のインター予測情報導出部104の時間マージ候補の参照インデックス導出部132及び動画像復号装置のインター予測情報導出部205の時間マージ候補の参照インデックス導出部232では、符号化/復号対象ブロックに隣接する予測ブロックから時間マージ候補の参照インデックスを導出して、導出された参照インデックスを動画像符号化装置のインター予測情報導出部104の時間マージ候補生成部133及び動画像復号装置のインター予測情報導出部205の時間マージ候補生成部233に供給し(
図30のステップS102)、動画像符号化装置のインター予測情報導出部104の時間マージ候補生成部133及び動画像復号装置のインター予測情報導出部205の時間マージ候補生成部233では、異なる時間のピクチャからの時間マージ候補を導出して、導出された時間マージ候補をマージ候補リストmergeCandListに登録し(
図30のステップS103)、動画像符号化装置のインター予測情報導出部104の追加マージ候補生成部134及び動画像復号装置のインター予測情報導出部205の追加マージ候補生成部234では、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandが、最大マージ候補数maxNumMergeCandより小さい場合、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandが最大マージ候補数maxNumMergeCandを上限として追加マージ候補を導出して、マージ候補リストmergeCandListに登録するところまでは(
図30のステップS104)、第1の実施例と同様である。続いて、第2の実施例では、有効マージ候補補充部135および有効マージ候補補充部235で有効なマージ候補を補充することで、マージ候補リスト内のマージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補を無くす(
図30のステップS105)。マージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補を無くすことで、復号側で、無効なマージ候補が選択されることなく、有効なマージ候補のみが選択されることが補償される。
【0179】
本実施の形態に係る第2の実施例の
図28の有効マージ候補補充部135および
図29の有効マージ候補補充部235で実施される
図30のステップS105の処理手順である有効マージ候補の導出方法について
図31のフローチャートを用いて詳細に説明する。
図31は本実施の形態に係る第2の実施例の
図30のステップS105の有効マージ候補導出処理手順を説明するフローチャートである。
【0180】
第2の実施例の
図31の有効マージ候補導出処理においては、シンプルな処理によりマージ候補リスト内のマージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補が無くなるまで、有効なマージ候補をマージ候補リストに登録するために、同じ値のインター予測情報を持つ複数のマージ候補をマージ候補リストに登録する。スライスタイプに応じたインター予測モードの動きベクトルの値が(0,0)の有効マージ候補を、マージ候補リストに登録する。(
図31のステップS6101〜S6113)。
【0181】
まず、マージ候補数numMergeCandが最大マージ候補数maxNumMergeCandより小さい場合(
図31のステップS6102のYES)、ステップS6103に進み、マージ候補数numMergeCandが最大マージ候補数maxNumMergeCandより小さくない場合(
図31のステップS6102のNO)、本有効マージ候補導出処理を終了する。
【0182】
続いて、スライスタイプがPスライスの場合(
図31のステップS6103のYES)、インター予測モードがL0予測(Pred_L0)で、参照インデックスが0で、ベクトル値が(0,0)のマージ候補を有効マージ候補とする。予測も有効マージ候補の動きベクトルmvL0Zero、mvL1Zeroに(0,0)を設定し(
図31のステップS6104)、有効マージ候補の参照インデックスrefIdxL0Zeroに0を設定し、refIdxL1Zeroに−1を設定し(
図31のステップS6105)、有効マージ候補のフラグpredFlagL0Zeroに1を設定し、predFlagL1Zeroに0を設定して(
図31のステップS6106)、ステップS6110に進む。
【0183】
一方、スライスタイプがPスライスでない場合(
図31のステップS6103のNO)、すなわちスライスタイプがBスライスの場合、インター予測モードが双予測(Pred_BI)で、参照インデックスが双方共に0でベクトル値が双方共に(0,0)のマージ候補を有効マージ候補とする。有効マージ候補の動きベクトルmvL0Zero、mvL1 Zeroに(0,0)を設定し(
図31のステップS6107)、有効マージ候補の参照インデックスrefIdxL0Zero、refIdxL1Zeroに参照インデックスiの値を設定し(
図31のステップS6108)、有効マージ候補のフラグpredFlagL0Zero、predFlagL1Zeroに1を設定して(
図31のステップS6109)、ステップS6110に進む。
【0184】
続いて、有効マージ候補をマージ候補リストmergeCandListのマージインデックスがnumMergeCandと同じ値で示される位置に登録し(
図31のステップS6110)、マージ候補数numMergeCandに1を加算して(
図31のステップS6112)、ステップS6113に進む。
【0185】
以上のステップS6102〜ステップS6112の処理をマージ候補数numMergeCandが最大マージ候補数maxNumMergeCandになるまで繰り返す(
図31のステップS6101〜ステップS6113)。以上の処理により、第2の実施例では、マージ候補リスト内のマージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補を無くす。
【0186】
第2の実施例の
図28において、動画像符号化装置のインター予測情報導出部104のインター予測情報選択部137では、第1の実施例の
図12のインター予測情報選択部137と同様に、マージ候補数numMergeCandが0より大きい場合(
図37のステップS8101のYES)、マージ候補リストに登録されているマージ候補の中から、マージ候補を選択し、選択されたマージ候補の各予測ブロックのL0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、動きベクトルmvL0[xP][yP], mvL1[xP][yP]等のインター予測情報を動き補償予測部105に供給するとともに、選択されたマージ候補を特定するマージインデックスを予測方法決定部107に供給する(
図37のステップS8102)。ただし、第2の実施例においては、マージ候補リスト内のマージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補は存在せず、すべて有効なマージ候補である。一方、マージ候補数numMergeCandが0の場合(ステップS8102のNO)、規定のスライスタイプに応じたデフォルト値のインター予測情報を動き補償予測部105に供給する(ステップS8103〜S8105)。
【0187】
一方、第2の実施例の
図29において、動画像復号装置のインター予測情報導出部205のインター予測情報選択部237では、第1の実施例の
図13のインター予測情報選択部237と同様に、マージ候補数numMergeCandが0より大きい場合(
図38のステップS9101のYES)、マージ候補リストmergeCandListに登録されているマージ候補の中から、第2符号化ビット列復号部202から供給されたマージインデックスmergeIdxに対応するマージ候補を選択し、選択されたマージ候補のL0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]、L0、L1の参照インデックスrefIdxL0[xP][yP], refIdxL1[xP][yP]、L0、L1の動きベクトルmvL0[xP][yP], mvL1[xP][yP]等のインター予測情報を動き補償予測部206に供給するとともに、符号化情報格納メモリ210に格納する。ただし、第2の実施例においては、マージ候補リスト内のマージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補は存在せず、すべて有効なマージ候補である。一方、マージ候補数numMergeCandが0の場合(
図38のステップS9102のNO)、規定のスライスタイプに応じたデフォルト値のインター予測情報を動き補償予測部206に供給するとともに、符号化情報格納メモリ210に格納する。(
図38のステップS9103〜S9105)。
【0188】
次に、実施の形態に係る第3の実施例のインター予測情報導出方法を説明する。
図28は、実施の形態に係る第3の実施例の
図1の動画像符号化装置のインター予測情報導出部104の詳細な構成を示す図でもある。また、
図29は、実施の形態に係る第3の実施例の
図2の動画像復号装置のインター予測情報導出部205の詳細な構成を示す図でもある。
図30は本発明の実施の形態に係る第3の実施例の動画像符号化装置のインター予測情報導出部104のマージ候補リストの構築部120及び動画像復号装置のインター予測情報導出部205のマージ候補リストの構築部220とで共通する機能を有するマージ候補の導出処理及びマージ候補リストの構築処理の手順を説明するフローチャートでもある。第3の実施例においては、第2の実施例と同様に、
図28の有効マージ候補補充部135および
図29の有効マージ候補補充部235で有効なマージ候補を補充することで、マージ候補リスト内のマージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補を無くす(
図30のステップS105)。マージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補を無くすことで、復号側で、無効なマージ候補が選択されることなく、有効なマージ候補のみが選択されることが補償される。ただし、第3の実施例においてはスライスタイプに関係なく、インター予測モードがL0予測(Pred_L0)で、参照インデックスが0でベクトル値が(0,0)のマージ候補を有効マージ候補とする。第3の実施例は
図28に示す第2の実施例の動画像符号化装置のインター予測情報導出部104のマージ候補リストの構築部120及び
図29に示す動画像復号装置のインター予測情報導出部205のマージ候補リストの構築部220と構成が同じである。ただし、第2の実施例とは有効マージ候補補充部135、有効マージ候補補充部235で実施される
図30のステップS105の処理手順が異なる。
【0189】
本実施の形態に係る第3の実施例の
図28の有効マージ候補補充部135および
図29の有効マージ候補補充部235で実施される
図30のステップS105の処理手順である有効マージ候補の導出方法について
図32のフローチャートを用いて詳細に説明する。
図32は本実施の形態に係る第3の実施例の
図30のステップS105の有効マージ候補導出処理手順を説明するフローチャートである。
【0190】
第3の実施例の
図32の有効マージ候補導出処理においては、第2の実施例の
図31の有効マージ候補導出処理と同様にシンプルな処理によりマージ候補リスト内のマージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補が無くなるまで、有効なマージ候補をマージ候補リストに登録するために、同じ値のインター予測情報を持つ複数のマージ候補をマージ候補リストに登録する。ただし、第3の実施例では、スライスタイプに関わらずインター予測モードがL0予測(Pred_L0)で、動きベクトルの値が(0,0)の有効マージ候補を、マージ候補リストに登録する。(
図32のステップS6101〜S6113)。
【0191】
まず、マージ候補数numMergeCandが最大マージ候補数maxNumMergeCandより小さい場合(
図32のステップS6102のYES)、ステップS6103に進み、マージ候補数numMergeCandが最大マージ候補数maxNumMergeCandより小さくない場合(
図32のステップS6102のNO)、本有効マージ候補導出処理を終了する。
【0192】
続いて、インター予測モードがL0予測(Pred_L0)で、参照インデックスが0でベクトル値が(0,0)のマージ候補を有効マージ候補とする。予測も有効マージ候補の動きベクトルmvL0Zero、mvL1Zeroに(0,0)を設定し(
図32のステップS6104)、有効マージ候補の参照インデックスrefIdxL0Zeroに0を設定し、refIdxL1Zeroに−1を設定し(
図32のステップS6105)、有効マージ候補のフラグpredFlagL0Zeroに1を設定し、predFlagL1Zeroに0を設定する(
図32のステップS6106)。
【0193】
続いて、有効マージ候補をマージ候補リストmergeCandListのマージインデックスがnumMergeCandと同じ値で示される位置に登録し(
図32のステップS6110)、マージ候補数numMergeCandに1を加算して(
図32のステップS6112)、ステップS6113に進む。
【0194】
以上のステップS6102〜ステップS6112の処理をマージ候補数numMergeCandが最大マージ候補数maxNumMergeCandになるまで繰り返す(
図32のステップS6101〜ステップS6113)。以上の処理により、第3の実施例では、マージ候補リスト内のマージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補を無くす。
【0195】
次に、実施の形態に係る第4の実施例のインター予測情報導出方法を説明する。
図28は、実施の形態に係る第4の実施例の
図1の動画像符号化装置のインター予測情報導出部104の詳細な構成を示す図でもある。また、
図29は、実施の形態に係る第4の実施例の
図2の動画像復号装置のインター予測情報導出部205の詳細な構成を示す図でもある。
図30は本発明の実施の形態に係る第4の実施例の動画像符号化装置のインター予測情報導出部104のマージ候補リストの構築部120及び動画像復号装置のインター予測情報導出部205のマージ候補リストの構築部220とで共通する機能を有するマージ候補の導出処理及びマージ候補リストの構築処理の手順を説明するフローチャートでもある。第4の実施例においては、第2の実施例および第3の実施例と同様に、
図28の有効マージ候補補充部135および
図29の有効マージ候補補充部235で有効なマージ候補を補充することで、マージ候補リスト内のマージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補を無くす(
図30のステップS105)。マージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補を無くすことで、復号側で、無効なマージ候補が選択されることなく、有効なマージ候補のみが選択されることが補償される。ただし、第4の実施例においては最後にマージリストに登録されたマージ候補を有効マージ候補として、繰り返しマージ候補リストに登録する。第4の実施例は
図28に示す第2の実施例および第3の実施例の動画像符号化装置のインター予測情報導出部104のマージ候補リストの構築部120及び
図29に示す動画像復号装置のインター予測情報導出部205のマージ候補リストの構築部220と構成が同じである。ただし、第2の実施例および第3の実施例とは有効マージ候補補充部135、有効マージ候補補充部235で実施される
図30のステップS105の処理手順が異なる。
【0196】
本実施の形態に係る第4の実施例の
図28の有効マージ候補補充部135および
図29の有効マージ候補補充部235で実施される
図30のステップS105の処理手順である有効マージ候補の導出方法について
図32のフローチャートを用いて詳細に説明する。
図33は本実施の形態に係る第4の実施例の
図30のステップS105の有効マージ候補導出処理手順を説明するフローチャートである。
【0197】
第4の実施例の
図33の有効マージ候補導出処理においては、第2の実施例の
図31および第3の実施例の
図32の有効マージ候補導出処理と同様にシンプルな処理によりマージ候補リスト内のマージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補が無くなるまで、有効なマージ候補をマージ候補リストに登録するために、同じ値のインター予測情報を持つ複数のマージ候補をマージ候補リストに登録する。ただし、第4の実施例では、最後にマージリストに登録されたマージ候補を有効マージ候補として、繰り返しマージ候補リストに登録する。(
図33のステップS6101〜S6113)。
【0198】
まず、マージ候補数numMergeCandが最大マージ候補数maxNumMergeCandより小さい場合(
図33のステップS6102のYES)、ステップS6111に進み、マージ候補数numMergeCandが最大マージ候補数maxNumMergeCandより小さくない場合(
図33のステップS6102のNO)、本有効マージ候補導出処理を終了する。
【0199】
続いて、最後にマージリストに登録されたマージ候補を有効マージ候補として、繰り返しマージ候補リストに登録する(
図33のステップS6111)。具体的には、マージ候補リストのインデックスの値が(numMergeIdx-1)の位置に登録されているマージ候補とインター予測モード、参照インデックス、ベクトル値が同じマージ候補が有効マージ候補としてマージ候補リストmergeCandListのマージインデックスがnumMergeCandと同じ値で示される位置に登録される。続いて、マージ候補数numMergeCandに1を加算して(
図33のステップS6112)、ステップS6113に進む。
【0200】
以上のステップS6102〜ステップS6112の処理をマージ候補数numMergeCandが最大マージ候補数maxNumMergeCandになるまで繰り返す(
図33のステップS6101〜ステップS6113)。以上の処理により、第4の実施例では、マージ候補リスト内のマージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補を無くす。
【0201】
次に、実施の形態に係る第5の実施例のインター予測情報導出方法を説明する。
図28は、実施の形態に係る第4の実施例の
図1の動画像符号化装置のインター予測情報導出部104の詳細な構成を示す図でもある。また、
図29は、実施の形態に係る第4の実施例の
図2の動画像復号装置のインター予測情報導出部205の詳細な構成を示す図でもある。
図30は本発明の実施の形態に係る第4の実施例の動画像符号化装置のインター予測情報導出部104のマージ候補リストの構築部120及び動画像復号装置のインター予測情報導出部205のマージ候補リストの構築部220とで共通する機能を有するマージ候補の導出処理及びマージ候補リストの構築処理の手順を説明するフローチャートでもある。第5の実施例は第4の実施例の
図26の追加マージ候補の処理と
図33の有効マージ候補の処理を組み合わせた処理を行う。
【0202】
第5の実施例の
図28の追加マージ候補生成部134および有効マージ候補補充部135で行われる処理の組み合わせである追加マージ候補および有効マージ候補生成ブロック121、および
図29の追加マージ候補生成部234と有効マージ候補補充部235で行われる処理の組み合わせである追加マージ候補および有効マージ候補生成ブロック221で実施される、
図30のステップS104およびステップS105を組み合わせた処理手順であるステップS110の追加マージ候補および有効マージ候補の導出方法について詳細に説明する。
図34は本実施の形態に係る第5の実施例の
図30のステップS110の追加マージ候補および有効マージ候補導出処理手順を説明するフローチャートである。
【0203】
図34の追加マージ候補および有効マージ候補導出処理においては、マージ候補の選択の幅を広げて、符号化効率を向上させるために、異なる値のインター予測情報を持つ複数のマージ候補を生成し、マージ候補リストに登録するとともに、その後、リスト内のマージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補が無くなるまで、有効なマージ候補をマージ候補リストに登録するために、同じ値のインター予測情報を持つ複数のマージ候補をマージ候補リストに登録する(
図34のステップS5101〜S5119)。
【0204】
まず、スライスタイプがPスライスの場合(
図34のステップS5101のYES)、参照インデックス数を示す変数numRefIdxにL0の参照インデックス数の値を設定する(
図34のステップS5102)。一方、スライスタイプがPスライスでない場合(
図34のステップS5101のNO)、すなわちスライスタイプがBスライスの場合、参照インデックス数を示す変数numRefIdxにL0の参照インデックス数とL1の参照インデックス数の小さい方の値を設定する(
図34のステップS5103)。続いて参照インデックスiに0を設定する(
図34のステップS5104)。
【0205】
続いて、参照インデックスiを変更しながら、スライスタイプに応じた予測モードの動きベクトルの値が(0,0)の追加マージ候補を導出し、マージ候補リストに登録する。(
図34のステップS5105〜S5119)。
【0206】
まず、マージ候補数numMergeCandが最大マージ候補数maxNumMergeCandより小さい場合(
図34のステップS5106のYES)、ステップS5107に進み、マージ候補数numMergeCandが最大マージ候補数maxNumMergeCandより小さくない場合(
図34のステップS5106のNO)、本追加マージ候補導出処理を終了する。
【0207】
続いて、参照インデックスiが変数numRefIdxより小さい場合(
図34のステップS5107のYES)、ステップS5109に進み、追加マージ候補の登録処理を行う。参照インデックスiが変数numRefIdxよりより小さくない場合(
図34のステップS5107のNO)、参照インデックスiに(numRefIdx-1)を設定して(
図34のステップS5108)、ステップS5109に進み、有効マージ候補の登録処理を行う。
【0208】
続いて、スライスタイプがPスライスの場合(
図34のステップS5109のYES)、追加マージ候補の動きベクトルmvL0Zero、mvL1Zeroに(0,0)を設定し(
図34のステップS5110)、追加マージ候補の参照インデックスrefIdxL0Zeroに参照インデックスiの値を設定し、refIdxL1Zeroに−1を設定し(
図34のステップS5111)、追加マージ候補のフラグpredFlagL0Zeroに1を設定し、predFlagL1Zeroに0を設定して(
図34のステップS5112)、ステップS5116に進む。
【0209】
一方、スライスタイプがPスライスでない場合(
図34のステップS5109のNO)、すなわちスライスタイプがBスライスの場合、追加マージ候補の動きベクトルmvL0Zero、mvL1 Zeroに(0,0)を設定し(
図34のステップS5113)、追加マージ候補の参照インデックスrefIdxL0Zero、refIdxL1Zeroに参照インデックスiの値を設定し(
図34のステップS5114)、追加マージ候補のフラグpredFlagL0Zero、predFlagL1Zeroに1を設定して(
図34のステップS5115)、ステップS5116に進む。
【0210】
続いて、追加マージ候補をマージ候補リストmergeCandListのマージインデックスがnumMergeCandと同じ値で示される位置に登録し(
図34のステップS5116)、マージ候補数numMergeCandに1を加算する(
図34のステップS5117)。続いて、インデックスiに1を加算し(
図34のステップS5118)、ステップS5119に進む。
【0211】
以上のステップS5106〜ステップS5118の処理をそれぞれの参照インデックスi毎にそれぞれ繰り返す(
図34のステップS5105〜ステップS5119)。以上の処理により、第5の実施例では、マージ候補リスト内のマージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補を無くす。
【0212】
次に、実施の形態に係る第6の実施例のインター予測情報導出方法を説明する。
図28は、実施の形態に係る第6の実施例の
図1の動画像符号化装置のインター予測情報導出部104の詳細な構成を示す図でもある。また、
図29は、実施の形態に係る第6の実施例の
図2の動画像復号装置のインター予測情報導出部205の詳細な構成を示す図でもある。
図30は本発明の実施の形態に係る第6の実施例の動画像符号化装置のインター予測情報導出部104のマージ候補リストの構築部120及び動画像復号装置のインター予測情報導出部205のマージ候補リストの構築部220とで共通する機能を有するマージ候補の導出処理及びマージ候補リストの構築処理の手順を説明するフローチャートでもある。第6の実施例は第2の実施例と実装方法が異なるが、復号側で同一のインター予測情報を得ることができる。第6の実施例においては、マージ候補リスト内のすべてのインデックスあるいは、0から(maxMergeCand-1)の値で指し示される範囲内のインター予測情報を規定の値で初期化してから、それぞれのマージ候補導出および登録処理を行う。
図28のマージ候補リスト生成部130および
図29のマージ候補リスト生成部230で、スライスタイプがPスライスの場合、マージ候補リスト内のすべての要素について、インター予測モードがL0予測(Pred_L0)で、参照インデックスが0で、ベクトル値が(0,0)の値を設定することで初期化する。スライスタイプがPスライスでない場合、すなわちスライスタイプがBスライスの場合、マージ候補リスト内のすべての要素について、インター予測モードが双予測(Pred_BI)で、参照インデックスが双方共に0で、ベクトル値が双方共に(0,0)の値を設定することで初期化する。さらに、マージ候補数numMergeCandに0を設定する。
【0213】
さらに、第6の実施例の
図29の有効マージ候補補充部135および
図30の有効マージ候補補充部235で、初期化されたインター予測情報を有効にし、有効なマージ候補とする。本実施の形態に係る第6の実施例の
図28の有効マージ候補補充部135および
図29の有効マージ候補補充部235で実施される
図30のステップS105の処理手順である有効マージ候補の導出方法について
図35のフローチャートを用いて詳細に説明する。
図35は本実施の形態に係る第6の実施例の
図30のステップS105の初期化されたインター予測情報をマージ候補として有効にする処理手順を説明するフローチャートである。最大マージ候補数maxNumMergeCandよりもマージ候補数numMergeCandのほうが小さい場合(
図35のステップS6201)、マージ候補数numMergeCandに最大マージ候補数maxNumMergeCandの値を設定する(
図35のステップS6201)。本処理により、
図29のマージ候補リスト生成部130および
図30のマージ候補リスト生成部230で初期化されたインター予測情報を有効にし、有効マージ候補とする。
【0214】
次に、実施の形態に係る第7の実施例のインター予測情報導出方法を説明する。
図28は、実施の形態に係る第7の実施例の
図1の動画像符号化装置のインター予測情報導出部104の詳細な構成を示す図でもある。また、
図29は、実施の形態に係る第7の実施例の
図2の動画像復号装置のインター予測情報導出部205の詳細な構成を示す図でもある。
図30は本発明の実施の形態に係る第7の実施例の動画像符号化装置のインター予測情報導出部104のマージ候補リストの構築部120及び動画像復号装置のインター予測情報導出部205のマージ候補リストの構築部220とで共通する機能を有するマージ候補の導出処理及びマージ候補リストの構築処理の手順を説明するフローチャートでもある。第7の実施例は第3の実施例と実装方法が異なるが、復号側で同一のインター予測情報を得ることができる。第7の実施例においても、第6の実施例と同様にマージ候補リスト内のすべてのインデックスあるいは、0から(maxMergeCand-1)の値で指し示される範囲内のインター予測情報を規定の値で初期化してから、それぞれのマージ候補導出および登録処理を行う。ただし、第7の実施例においては、
図28のマージ候補リスト生成部130および
図29のマージ候補リスト生成部230で、スライスタイプに関わらず、マージ候補リスト内のすべての要素について、インター予測モードがL0予測(Pred_L0)で、参照インデックスが0で、ベクトル値が(0,0)の値を設定することで初期化する。それ以外の処理は第6の実施例と同じである。
【0215】
以上、本実施の形態について説明した。符号化側で無効なマージ候補を指し示すマージインデックスを符号化した場合、復号側で無効なマージ候補を選択した場合、無効なインター予測情報でインター予測が行われることになり、予期しない予測信号が得られる可能性がある。また、インター予測モードが規格外の値を示したり、参照インデックスが存在しない参照ピクチャを指し示したりすることで、エラーが発生し、復号が異常終了する可能性もある。
【0216】
本実施の形態の第1の実施例により、符号化側で無効なマージ候補を指し示すマージインデックスを符号化しても、復号側で無効なマージ候補のインター予測情報を用いたインター予測が行われることが無い。本実施の形態の規則に従った動画像符号化装置においては、同一のインター予測情報を得ることができ、同一の予測信号を得ることができるので、同一の復号画像を得ることができる。
【0217】
また、本実施の形態の第2〜7の実施例により、符号化側で無効なマージ候補を指し示すマージインデックスを選択して符号化されることがなく、復号側で無効なマージ候補のインター予測情報を用いたインター予測が行われないことが補償され、動画像復号装置において、同一のインター予測情報を得ることができ、同一の予測信号を得ることができるので、同一の復号画像を得ることができる。
【0218】
なお、本実施の形態の第2〜5の実施例では、動画像符号化装置の有効マージ候補補充部135および動画像復号装置の有効マージ候補補充部235において、マージ候補リスト内のマージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内で、無効なマージ候補が無くなるまで、有効なマージ候補を登録したが、少なくとも0から(maxNumMergeCand-1)の範囲内で、無効なマージ候補が無ければよく、(maxNumMergeCand-1)以上の所定の範囲まで有効なマージ候補を登録してもよい。
【0219】
また、本実施の形態の第6〜7の実施例では、動画像符号化装置のインター予測情報導出部104のマージ候補リストの構築部120及び動画像復号装置のインター予測情報導出部205のマージ候補リストの構築部220において、マージ候補リスト内のマージインデックスが0から(maxNumMergeCand-1)の値で指し示される範囲内のインター予測情報を規定の値で初期化したが、少なくとも0から(maxNumMergeCand-1)の範囲内で初期化すればよく、(maxNumMergeCand-1)以上の所定の範囲まで初期化してもよい。
【0220】
以上述べた実施の形態においては、空間マージ候補、時間マージ候補、追加マージ候補をそれぞれ導出するものとして説明した。しかし、それぞれのマージ候補の導出処理を省略する形態も考えられ、本発明に含まれる。また、それぞれのマージ候補の導出処理を変更したり、新たなマージ候補の導出処理を追加する形態も考えられ、本発明に含まれる。
【0221】
本実施の形態で説明した
図26の追加マージ候補の導出を行う場合、Bスライスの際に、追加マージ候補と同じインター予測情報の値を持つ有効マージ候補を補充する第2の実施例、第6の実施例の方法よりも、追加マージ候補と異なるインター予測情報の値を持つL0予測の有効マージ候補を補充する第3の実施例、第7の実施例の方法の方が適している。本実施の形態で説明した
図26の追加マージ候補の導出を行わない場合、Bスライスの際に、L0予測の有効マージ候補を補充する第3の実施例、第7の実施例の方法よりも、予測効率の高い双予測の有効マージ候補を補充する第2の実施例、第6の実施例の方法の方が適している。
【0222】
また、最大マージ候補数maxNumMergeCandの値が0の際にデフォルト値のインター予測情報を規定せず、スキップモードおよびマージモードを禁止した場合、スキップモードやマージモードのフラグは伝送するものの、スキップモードやマージモードが選択できないことにより、符号化効率が低下する。さらに、符号化側で禁止されたスキップモードやマージモードを選択して符号化されたビットストリームを復号する場合、復号側でエラーが発生し、復号処理が異常終了する可能性もある。
【0223】
しかし、本実施の形態においては、最大マージ候補数maxNumMergeCandの値にかかわらず、最大マージ候補数maxNumMergeCandの値が0の際に、スキップモードを含むマージモードを常に選択することができる。その際、スキップモードやマージモードではインター予測情報はデフォルト値を出力する。インター予測情報のデフォルト値としては、例えば、スライスタイプがBスライスの場合、予測モードが双予測(Pred_BI)であり、参照画像インデックスの値が0であり、動きベクトルの値が(0,0)を規定する。そのために、最大マージ候補数maxNumMergeCandの値が0の際にも、符号化側でスキップモードやマージモードが無効な値として符号化されることがなく、復号側で規定されたデフォルト値のインター予測情報を用いたインター予測が行われることが補償され、動画像復号装置において、同一のインター予測情報を得ることができ、同一の予測信号を得ることができるので、同一の復号画像を得ることができる。さらに、最大マージ候補数maxNumMergeCandの値が0の際にも、スキップモードやマージモードが選択できるので、スキップモードやマージモードを禁止した場合に比べて符号化効率が向上する。
【0224】
最大マージ候補数maxNumMergeCandの値が0の場合のスキップモードを含むマージモードのインター予測情報はデフォルト値を用いるため、最大マージ候補数maxNumMergeCandの値が1以上の場合と異なり、マージ候補リストを構築する処理が必要なく、マージ候補リスト構築処理を行わない演算量の少ない符号化装置を実現することが可能になる。また、復号側の処理もスキップモードを含むマージモードのインター予測情報にデフォルト値を設定するだけであるため、復号側の最小限の対応で演算量の少なく符号化効率の低下を抑制した復号装置に対応可能である。
【0225】
以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。
【0226】
動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。
【0227】
動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。
【0228】
以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
【0229】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【解決手段】インター予測情報導出部104は、符号化対象の予測ブロックに隣接する予測ブロック、または符号化対象の予測ブロックと時間的に異なる符号化済みのピクチャにおける符号化対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックのインター予測情報から、インター予測情報の候補を導出する。有効マージ候補補充部135は、インター予測情報の候補数が指定される候補数に満たない場合、指定される候補数になるまで、予測モード、参照インデックスおよび動きベクトル値が同じインター予測情報の候補を補充する。