説明

動画像復号装置、動画像復号方法及び動画像復号プログラム

【課題】動き補償でブロック毎に参照する動き情報の候補数が固定されていたため、符号化効率が上がらなかった。
【解決手段】インター予測情報導出部205は、復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックから、動きベクトルの情報と参照ピクチャの情報とを含むインター予測情報の候補を導出する。
マージ候補補充部236は、復号対象の予測ブロックを含むピクチャと参照ピクチャのピクチャ間距離が1であるインター予測情報の候補の動きベクトルを整数倍して、新たなインター予測情報の候補を生成し、インター予測情報の候補として補充する。動き補償予測部206は、補充後のインター予測情報の候補から選択したインター予測情報の候補により復号対象の予測ブロックのインター予測を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画像復号技術に関し、特に動き補償予測を利用した動画像復号技術に関する。
【背景技術】
【0002】
動画像の圧縮符号化方式の代表的なものとして、MPEG−4 AVC/H.264の規格がある。MPEG−4 AVC/H.264では、ピクチャを複数の矩形ブロックに分割し、すでに符号化・復号したピクチャを参照ピクチャとし、参照ピクチャからの動きを予測する動き補償が用いられている。この動き補償により動きを予測する手法をインター予測または動き補償予測と呼ぶ。MPEG−4 AVC/H.264でのインター予測では、複数のピクチャを参照ピクチャとして用いることができ、これらの複数の参照ピクチャから最も適した参照ピクチャをブロック毎に選択して動き補償を行う。そこで、それぞれの参照ピクチャには参照インデックスが割り当てられ、この参照インデックスにより、参照ピクチャを特定する。なお、Bピクチャでは、符号化・復号済みの参照ピクチャから最大で2枚を選択してインター予測に用いることができる。それらの2枚の参照ピクチャからの予測をそれぞれ主に前方向の予測として使われるL0予測(リスト0予測)、主に後方向の予測として使われるL1予測(リスト1予測)として区別している。
【0003】
さらに、L0予測とL1予測の2つのインター予測を共に用いる双予測も定義されている。双予測の場合は、L0予測、L1予測のそれぞれのインター予測された信号に重み付け係数を掛け算し、オフセット値を加算して重畳し、最終的なインター予測画像信号を生成する。重み付け予測に用いる重み付け係数及びオフセット値はピクチャ単位で各リストの参照ピクチャ毎に代表的な値が設定され、符号化される。インター予測に関する符号化情報には、ブロック毎に、L0予測とL1予測、双予測を区別する予測モード、ブロック毎の参照リスト毎に、参照ピクチャを特定する参照インデックス、ブロックの移動方向・移動量を表す動きベクトルがあり、これらの符号化情報を符号化・復号する。
【0004】
さらに、MPEG−4 AVC/H.264では、符号化/復号済みのブロックのインター予測情報から符号化/復号対象のブロックのインター予測情報を生成するダイレクトモードが定義されている。ダイレクトモードはインター予測情報の符号化が不要となるので、符号化効率が向上する。
【0005】
時間方向のインター予測情報の相関を利用する時間ダイレクトモードについて図31を用いて説明する。L1の参照インデックスが0に登録されているピクチャを基準ピクチャcolPicとする。基準ピクチャcolPic内で符号化/復号対象ブロックと同じ位置のブロックを基準ブロックとする。
【0006】
基準ブロックがL0予測を用いて符号化されていれば、基準ブロックのL0の動きベクトルを基準動きベクトルmvColとし、基準ブロックがL0予測を用いて符号化されておらず、L1予測を用いて符号化されていれば、基準ブロックのL1の動きベクトルを基準動きベクトルmvColとする。基準動きベクトルmvColが参照するピクチャを時間ダイレクトモードのL0の参照ピクチャとし、基準ピクチャcolPicを時間ダイレクトモードのL1の参照ピクチャとする。
【0007】
基準動きベクトルmvColからスケーリング演算処理により時間ダイレクトモードのL0の動きベクトルmvL0とL1の動きベクトルmvL1を導出する。
【0008】
基準ピクチャcolPicのPOCから、時間ダイレクトモードのL0の参照ピクチャのPOCを減算してピクチャ間距離tdを導出する。なお、POCは符号化されるピクチャに関連付けられる変数とし、ピクチャの出力/表示順序で1ずつ増加する値が設定される。2つのピクチャのPOCの差が時間軸方向でのピクチャ間距離を示す。
td=基準ピクチャcolPicのPOC−時間ダイレクトモードのL0の参照ピクチャのPOC
【0009】
符号化/復号対象ピクチャのPOCから時間ダイレクトモードのL0の参照ピクチャのPOCを減算してピクチャ間距離tbを導出する。
tb=符号化/復号対象ピクチャのPOC−時間ダイレクトモードのL0の参照ピクチャのPOC
【0010】
基準動きベクトルmvColからスケーリング演算処理により時間ダイレクトモードのL0の動きベクトルmvL0を導出する。
mvL0=tb / td * mvCol
【0011】
時間ダイレクトモードのL0の動きベクトルmvL0から基準動きベクトルmvColを減算しL1の動きベクトルmvL1を導出する。
mvL1=mvL0 - mvCol
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2004−129191号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
従来の方法では、動き補償でブロック毎に参照する動き情報の候補の数が固定されていたため、符号化効率が上がらないことがあった。
【0014】
このような状況下、本発明者らは、動き補償予測を使用する動画像符号化方式において、符号化情報をより一層圧縮し、全体の符号量を削減する必要性を認識するに至った。
【0015】
本発明はこうした状況に鑑みてなされたものであり、その目的は、符号化情報の候補を算出することにより、符号化情報の符号量の削減を図って符号化効率を向上させる動画像復号技術を提供することにある。
【課題を解決するための手段】
【0016】
上記課題を解決するために、本発明のある態様の動画像復号装置は、動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置であって、復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックから、動きベクトルの情報と参照ピクチャの情報とを含むインター予測情報の候補を導出する予測情報導出部(230、231、232)と、前記復号対象の予測ブロックを含むピクチャと前記参照ピクチャのピクチャ間距離が1であるインター予測情報の候補の動きベクトルを整数倍することによりスケーリング演算して、新たなインター予測情報の候補を生成し、インター予測情報の候補として補充する候補補充部(236)と、前記候補補充部による補充後の前記インター予測情報の候補から1つのインター予測情報の候補を選択して、その選択したインター予測情報の候補により前記復号対象の予測ブロックのインター予測を行う動き補償予測部(206)とを備える。
【0017】
本発明の別の態様もまた、動画像復号装置である。この装置は、動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置であって、Bスライスにおける復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックから、動きベクトルの情報と参照ピクチャの情報とを含む双予測のインター予測情報の候補を導出する予測情報導出部(230、231、232)と、前記復号対象の予測ブロックを含むピクチャと第1予測の前記参照ピクチャのピクチャ間距離が1である双予測のインター予測情報の候補において、前記第1予測の動きベクトルを整数倍にスケーリング演算したものをもう一方の第2予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成するか、あるいは、前記復号対象の予測ブロックを含むピクチャと前記第2予測の前記参照ピクチャのピクチャ間距離が1である双予測のインター予測情報の候補において、前記第2予測の動きベクトルを整数倍にスケーリング演算したものを第1予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成し、双予測のインター予測情報の候補として補充する候補補充部(236)と、前記候補補充部による補充後の前記双予測のインター予測情報の候補から1つの双予測のインター予測情報の候補を選択して、その選択した双予測のインター予測情報の候補により前記復号対象の予測ブロックの双予測のインター予測を行う動き補償予測部(206)とを備える。
【0018】
本発明のさらに別の態様もまた、動画像復号装置である。この装置は、動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置であって、Bスライスにおける復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックから、動きベクトルの情報と参照ピクチャの情報とを含む双予測のインター予測情報の候補を導出する予測情報導出部(230、231、232)と、前記復号対象の予測ブロックを含むピクチャと第1予測の参照ピクチャのピクチャ間距離が1以外の双予測のインター予測情報の候補において、前記第1予測の動きベクトルを−1倍にスケーリング演算したものをもう一方の第2予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成するか、あるいは、前記復号対象の予測ブロックを含むピクチャと第2予測の参照ピクチャのピクチャ間距離が1以外の双予測のインター予測情報の候補において、前記第2予測の動きベクトルを−1倍にスケーリング演算したものを第1予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成し、双予測のインター予測情報の候補として補充する候補補充部(236)と、前記候補補充部による補充後の前記双予測のインター予測情報の候補から1つの双予測のインター予測情報の候補を選択して、その選択した双予測のインター予測情報の候補により前記復号対象の予測ブロックの双予測のインター予測を行う動き補償予測部(206)とを備える。
【0019】
本発明のさらに別の態様は、動画像復号方法である。この方法は、動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号方法であって、復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックから、動きベクトルの情報と参照ピクチャの情報とを含むインター予測情報の候補を導出する予測情報導出ステップと、前記復号対象の予測ブロックを含むピクチャと前記参照ピクチャのピクチャ間距離が1であるインター予測情報の候補の動きベクトルを整数倍することによりスケーリング演算して、新たなインター予測情報の候補を生成し、インター予測情報の候補として補充する候補補充ステップと、前記候補補充ステップによる補充後の前記インター予測情報の候補から1つのインター予測情報の候補を選択して、その選択したインター予測情報の候補により前記復号対象の予測ブロックのインター予測を行う動き補償予測ステップとを備える。
【0020】
本発明のさらに別の態様もまた、動画像復号方法である。この方法は、動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号方法であって、Bスライスにおける復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックから、動きベクトルの情報と参照ピクチャの情報とを含む双予測のインター予測情報の候補を導出する予測情報導出ステップと、前記復号対象の予測ブロックを含むピクチャと第1予測の前記参照ピクチャのピクチャ間距離が1である双予測のインター予測情報の候補において、前記第1予測の動きベクトルを整数倍にスケーリング演算したものをもう一方の第2予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成するか、あるいは、前記復号対象の予測ブロックを含むピクチャと前記第2予測の前記参照ピクチャのピクチャ間距離が1である双予測のインター予測情報の候補において、前記第2予測の動きベクトルを整数倍にスケーリング演算したものを第1予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成し、双予測のインター予測情報の候補として補充する候補補充ステップと、前記候補補充ステップによる補充後の前記双予測のインター予測情報の候補から1つの双予測のインター予測情報の候補を選択して、その選択した双予測のインター予測情報の候補により前記復号対象の予測ブロックの双予測のインター予測を行う動き補償予測ステップとを備える。
【0021】
本発明のさらに別の態様もまた、動画像復号方法である。この方法は、動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号方法であって、Bスライスにおける復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックから、動きベクトルの情報と参照ピクチャの情報とを含む双予測のインター予測情報の候補を導出する予測情報導出ステップと、前記復号対象の予測ブロックを含むピクチャと第1予測の参照ピクチャのピクチャ間距離が1以外の双予測のインター予測情報の候補において、前記第1予測の動きベクトルを−1倍にスケーリング演算したものをもう一方の第2予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成するか、あるいは、前記復号対象の予測ブロックを含むピクチャと第2予測の参照ピクチャのピクチャ間距離が1以外の双予測のインター予測情報の候補において、前記第2予測の動きベクトルを−1倍にスケーリング演算したものを第1予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成し、双予測のインター予測情報の候補として補充する候補補充ステップと、前記候補補充ステップによる補充後の前記双予測のインター予測情報の候補から1つの双予測のインター予測情報の候補を選択して、その選択した双予測のインター予測情報の候補により前記復号対象の予測ブロックの双予測のインター予測を行う動き補償予測ステップとを備える。
【0022】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0023】
本発明によれば、伝送する符号化情報の発生符号量を削減させて、符号化効率を向上させることができる。
【図面の簡単な説明】
【0024】
【図1】実施の形態に係る動きベクトルの予測方法を実行する動画像符号化装置の構成を示すブロック図である。
【図2】実施の形態に係る動きベクトルの予測方法を実行する動画像復号装置の構成を示すブロック図である。
【図3】ツリーブロック、符号化ブロックを説明する図である。
【図4】予測ブロックの分割モードを説明する図である。
【図5】マージモードでの空間マージ候補の予測ブロックを説明する図である。
【図6】マージモードでの空間マージ候補の予測ブロックを説明する図である。
【図7】マージモードでの空間マージ候補の予測ブロックを説明する図である。
【図8】マージモードでの空間マージ候補の予測ブロックを説明する図である。
【図9】マージモードでの時間マージ候補の予測ブロックを説明する図である。
【図10】マージモードに関する予測ブロック単位でのビットストリームのシンタックスを説明する図である。
【図11】マージインデックスのシンタックス要素のエントロピー符号の一例を説明する図である。
【図12】図1の動画像符号化装置のインター予測情報導出部の詳細な構成を示すブロック図である。
【図13】図2の動画像復号装置のインター予測情報導出部の詳細な構成を示すブロック図である。
【図14】マージモードのマージ候補の導出処理及びマージ候補リストの構築処理手順を説明するフローチャートである。
【図15】マージモードの空間マージ候補導出処理手順を説明するフローチャートである。
【図16】マージモードの時間マージ候補の参照インデックスの導出処理手順を説明するフローチャートである。
【図17】マージモードの時間マージ候補導出処理手順を説明するフローチャートである。
【図18】マージモードの異なる時間のピクチャの導出処理手順を説明するフローチャートである。
【図19】マージモードの異なる時間のピクチャの予測ブロックの導出処理手順を説明するフローチャートである。
【図20】マージモードの時間マージ候補導出処理手順を説明するフローチャートである。
【図21】マージモードの時間マージ候補導出処理手順を説明するフローチャートである。
【図22】動きベクトルのスケーリング演算処理手順を説明するフローチャートである。
【図23】動きベクトルのスケーリング演算処理手順を説明するフローチャートである。
【図24】マージモードのマージ候補リストへのマージ候補の登録処理手順を説明するフローチャートである。
【図25】マージモードのマージ候補リストへのマージ候補の補充(導出・登録)処理手順を説明するフローチャートである。
【図26】図25のスライスタイプslice_typeがPスライスでの整数倍のスケーリング単予測マージ候補の補充処理手順を説明するフローチャートである。
【図27】図26の整数倍のスケール係数ScaleFactorを導出してスケーリング演算処理を行うスケーリング単予測マージ候補の補充処理手順を説明するフローチャートである。
【図28】図25のスライスタイプslice_typeがBスライスでの整数倍のスケーリング双予測マージ候補の補充処理手順を説明するフローチャートである。
【図29】図28の整数倍のスケール係数ScaleFactorを導出してスケーリング演算処理を行う第1のスケーリング双予測マージ候補の補充処理手順を説明するフローチャートである。
【図30】図28の−1倍のスケール係数ScaleFactorとしてスケーリング演算処理を行う第2のスケーリング双予測マージ候補の補充処理手順を説明するフローチャートである。
【図31】従来のMPEG−4 AVC/H.264の時間ダイレクトモードを説明する図である。
【発明を実施するための形態】
【0025】
本実施の形態では、動画像の符号化に関し、特にピクチャを任意のサイズ、形状の矩形ブロックに分割し、ピクチャ間でブロック単位に動き補償を行う動画像符号化における符号化効率を向上させる為に、符号化対象ブロックに隣接するブロックまたは符号化済みのピクチャのブロックの動きベクトルから複数の予測動きベクトルを導出し、符号化対象のブロックの動きベクトルと選択された予測動きベクトルとの差分ベクトルを算出して符号化することによって符号量を削減する。あるいは、符号化対象ブロックに隣接するブロックまたは符号化済みのピクチャのブロックの符号化情報を利用することにより、符号化対象ブロックの符号化情報を導出することによって符号量を削減する。また、動画像の復号の場合は、復号対象ブロックに隣接するブロックまたは復号済みのピクチャのブロックの動きベクトルから複数の予測動きベクトルを算出し、符号化ストリームから復号された差分ベクトルと選択された予測動きベクトルとから復号対象のブロックの動きベクトルを算出して復号する。あるいは、復号対象ブロックに隣接するブロックまたは復号済みのピクチャのブロックの符号化情報を利用することにより、復号対象ブロックの符号化情報を導出する。
【0026】
まず、本実施の形態において使用する技術、及び技術用語を定義する。
【0027】
(ツリーブロック、符号化ブロックについて)
実施の形態では、ピクチャを1つまたは複数分割したスライスが符号化の基本単位となっており、スライス毎にスライスの種類を示す情報であるスライスタイプが設定される。図3に示されるように、スライス内を任意の同一サイズの正方の矩形の単位にて均等分割する。この単位をツリーブロックと定義し、スライス内での符号化/復号対象ブロック(符号化処理においては符号化対象ブロック、復号処理においては復号対象ブロックのことである。以下、断りのない限り、この意味で用いる。)を特定するためのアドレス管理の基本単位とする。モノクロを除きツリーブロックは1つの輝度信号と2つの色差信号で構成される。ツリーブロックのサイズはピクチャサイズやピクチャ内のテクスチャに応じて、2のべき乗のサイズで自由に設定することができる。ツリーブロックはピクチャ内のテクスチャに応じて、符号化処理を最適にすべく、必要に応じてツリーブロック内の輝度信号、及び色差信号を階層的に4分割(縦横に2分割ずつ)して、ブロックサイズの小さいブロックにすることができる。このブロックをそれぞれ符号化ブロックと定義し、符号化及び復号を行う際の処理の基本単位とする。モノクロを除き符号化ブロックも1つの輝度信号と2つの色差信号で構成される。符号化ブロックの最大サイズはツリーブロックのサイズと同一である。符号化ブロックの最小のサイズとなる符号化ブロックを最小符号化ブロックと呼び、2のべき乗のサイズで自由に設定することができる。
【0028】
図3においては、符号化ブロックAは、ツリーブロックを分割せず、1つの符号化ブロックとしたものである。符号化ブロックBは、ツリーブロックを4分割してできた符号化ブロックである。符号化ブロックCは、ツリーブロックを4分割してできたブロックをさらに4分割してできた符号化ブロックである。符号化ブロックDは、ツリーブロックを4分割してできたブロックをさらに階層的に2度4分割してできた符号化ブロックであり、最小サイズの符号化ブロックである。
【0029】
(予測モードについて)
符号化ブロック単位で、符号化/復号済み(符号化処理においては符号化した信号を復号したピクチャ、予測ブロック、画像信号等に用い、復号処理においては復号したピクチャ、予測ブロック、画像信号等に用いる。以下、断りのない限り、この意味で用いる。)の周囲の画像信号から予測を行うイントラ予測(MODE_INTRA)、及び符号化/復号済みのピクチャの画像信号から予測を行うインター予測(MODE_INTER)を切り替える。このイントラ予測(MODE_INTRA)とインター予測(MODE_INTER)を識別するモードを予測モード(PredMode)と定義する。予測モード(PredMode)はイントラ予測(MODE_INTRA)、またはインター予測(MODE_INTER)を値として持ち、選択して符号化できる。
【0030】
(分割モード、予測ブロック、予測ユニットについて)
ピクチャ内をブロックに分割してイントラ予測(MODE_INTRA)及びインター予測(MODE_INTER)を行う場合、イントラ予測及びインター予測の方法を切り替える単位をより小さくするために、必要に応じて符号化ブロックを分割して予測を行う。この符号化ブロックの輝度信号と色差信号の分割方法を識別するモードを分割モード(PartMode)と定義する。さらに、この分割されたブロックを予測ブロックと定義する。図4に示すように、符号化ブロックの輝度信号の分割方法に応じて4種類の分割モード(PartMode)を定義する。
符号化ブロックの輝度信号を分割せず1つの予測ブロックとみなしたもの(図4(a))の分割モード(PartMode)を2N×2N分割(PART_2Nx2N)、符号化ブロックの輝度信号を水平方向に2分割し、2つの予測ブロックとしたもの(図4(b))の分割モード(PartMode)を2N×N分割(PART_2NxN)、符号化ブロックの輝度信号を垂直方向に分割し、符号化ブロックを2つの予測ブロックとしたもの(図4(c))の分割モード(PartMode)をN×2N分割(PART_Nx2N)、符号化ブロックの輝度信号を水平と垂直の均等分割により4つの予測ブロックとしたもの(図4(d))の分割モード(PartMode)をN×N分割(PART_NxN)とそれぞれ定義する。なお、イントラ予測(MODE_INTRA)のN×N分割(PART_NxN)を除き、各分割モード(PartMode)毎に輝度信号の縦横の分割比率と同様に色差信号も分割する。
【0031】
符号化ブロック内部において、各予測ブロックを特定する為に、0から開始する番号を、符号化順序で、符号化ブロック内部に存在する予測ブロックに対して割り当てる。この番号を分割インデックスPartIdxと定義する。図4の符号化ブロックの各予測ブロックの中に記述された数字は、その予測ブロックの分割インデックスPartIdxを表す。図4(b)に示す2N×N分割(PART_2NxN)では上の予測ブロックの分割インデックスPartIdxを0とし、下の予測ブロックの分割インデックスPartIdxを1とする。図4(c)に示すN×2N分割(PART_Nx2N)では左の予測ブロックの分割インデックスPartIdxを0とし、右の予測ブロックの分割インデックスPartIdxを1とする。図4(d)に示すN×N分割(PART_NxN)では、左上の予測ブロックの分割インデックスPartIdxを0とし、右上の予測ブロックの分割インデックスPartIdxを1とし、左下の予測ブロックの分割インデックスPartIdxを2とし、右下の予測ブロックの分割インデックスPartIdxを3とする。
【0032】
予測モード(PredMode)がインター予測(MODE_INTER)では、最小の符号化ブロックである符号化ブロックD以外では、分割モード(PartMode)は2N×2N分割(PART_2Nx2N)、2N×N分割(PART_2NxN)、及びN×2N分割(PART_Nx2N)を定義し、最小の符号化ブロックである符号化ブロックDのみ、分割モード(PartMode)は2N×2N分割(PART_2Nx2N)、2N×N分割(PART_2NxN)、及びN×2N分割(PART_Nx2N)に加えてN×N分割(PART_NxN)を定義する。なお、最小の符号化ブロック以外にN×N分割(PART_NxN)を定義しない理由は最小の符号化ブロック以外では、符号化ブロックを4分割して小さな符号化ブロックを表現できるからである。
【0033】
(ツリーブロック、符号化ブロック、予測ブロック、変換ブロックの位置)
本実施の形態のツリーブロック、符号化ブロック、予測ブロック、変換ブロックを始めとする各ブロックの位置は、輝度信号の画面の一番左上の輝度信号の画素の位置を原点(0,0)とし、それぞれのブロックの領域に含まれる一番左上の輝度信号の画素の位置を(x,y)の二次元座標で表す。座標軸の向きは水平方向に右の方向、垂直方向に下の方向をそれぞれ正の向きとし、単位は輝度信号の1画素単位である。輝度信号と色差信号で画像サイズ(画素数)が同じである色差フォーマットが4:4:4の場合ではもちろんのこと、輝度信号と色差信号で画像サイズ(画素数)が異なる色差フォーマットが4:2:0、4:2:2の場合でも色差信号の各ブロックの位置をそのブロックの領域に含まれる輝度信号の画素の座標で表し、単位は輝度信号の1画素である。この様にすることで、色差信号の各ブロックの位置が特定できるのはもちろんのこと、座標の値を比較するだけで、輝度信号のブロックと色差信号のブロックの位置の関係も明確となる。
【0034】
(インター予測モード、参照リストについて)
本発明の実施の形態においては、符号化/復号済みのピクチャの画像信号から予測を行うインター予測では、複数の復号済みのピクチャを参照ピクチャとして用いることができる。複数の参照ピクチャから選択された参照ピクチャを特定するため、予測ブロック毎に参照インデックスを付ける。予測ブロック毎に任意の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ごとに処理が行われることを前提とする。
【0035】
(マージモード、マージ候補)
マージモードとは、符号化/復号対象の予測ブロックの予測モード、参照インデックス、動きベクトル等のインター予測情報を符号化/復号するのではなく、符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックに隣接する予測ブロック、あるいは符号化/復号対象の予測ブロックと時間的に異なる符号化/復号済みのピクチャの符号化/復号対象の予測ブロックと同一位置あるいはその付近(近傍の位置)に存在する予測ブロックのインター予測情報から符号化/復号対象の予測ブロックのインター予測情報を導出することによりインター予測を行うモードである。符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックに隣接する予測ブロック及びその予測ブロックのインター予測情報を空間マージ候補、符号化/復号対象の予測ブロックと時間的に異なる符号化/復号済みのピクチャの符号化/復号対象の予測ブロックと同一位置あるいはその付近(近傍の位置)に存在する予測ブロック及びその予測ブロックのインター予測情報から導出されるインター予測情報を時間マージ候補とする。それぞれのマージ候補はマージ候補リストに登録され、マージインデックスによりインター予測で用いるマージ候補を特定する。
【0036】
(隣接する予測ブロックについて)
図5、図6、図7及び図8は符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックに隣接する予測ブロックを説明する図である。図9は符号化/復号対象の予測ブロックと時間的に異なる符号化/復号済みのピクチャにおいて、符号化/復号対象の予測ブロックと同一位置あるいはその付近に存在する既に符号化/復号済みの予測ブロックを説明する図である。図5、図6、図7、図8及び図9を用いて符号化/復号対象の予測ブロックの空間方向に隣接する予測ブロック、及び異なる時間の同一位置の予測ブロックについて説明する。
【0037】
図5に示すように、符号化/復号対象の予測ブロックと同一ピクチャ内でその符号化/復号対象の予測ブロックの左側の辺に隣接する予測ブロックA、上側の辺に隣接する予測ブロックB、右上の頂点に隣接する予測ブロックC、左下の頂点に隣接する予測ブロックD、および左上の頂点に隣接する予測ブロックEを空間方向に隣接する予測ブロックと定義する。
【0038】
なお、図6に示すように、符号化/復号対象の予測ブロックの左側の辺に隣接する予測ブロックのサイズが符号化/復号対象の予測ブロックより小さく、複数存在する場合には、本実施の形態においては左側の辺に隣接する予測ブロックの中で最も下の予測ブロックA10だけを左側の辺に隣接する予測ブロックAとする。
【0039】
同様に、符号化/復号対象の予測ブロックの上側の辺に隣接する予測ブロックのサイズが符号化/復号対象の予測ブロックより小さく、複数存在する場合には、本実施の形態においては左側の辺に隣接する予測ブロックの中で最も右の予測ブロックB10だけを上側の辺に隣接する予測ブロックB1とする。
【0040】
なお、図7に示すように、符号化/復号対象の予測ブロックの左側に隣接する予測ブロックFのサイズが符号化/復号対象の予測ブロックより大きい場合にも、前記条件に従い、左側に隣接する予測ブロックFがその符号化/復号対象の予測ブロックの左側の辺に隣接していれば予測ブロックAとし、符号化/復号対象の予測ブロックの左下の頂点に隣接していれば予測ブロックDとし、符号化/復号対象の予測ブロックの左上の頂点に隣接していれば予測ブロックEとする。図6の例では、予測ブロックA、予測ブロックE及び予測ブロックEは同一の予測ブロックとなる。
【0041】
なお、図8に示すように、符号化/復号対象の予測ブロックの上側に隣接する予測ブロックGのサイズが符号化/復号対象の予測ブロックより大きい場合にも、前記条件に従い、上側に隣接する予測ブロックGがその符号化/復号対象の予測ブロックの上側の辺に隣接していれば予測ブロックBとし、符号化/復号対象の予測ブロックの右上の頂点に隣接していれば予測ブロックCとし、符号化/復号対象の予測ブロックの左上の頂点に隣接していれば予測ブロックEとする。図8の例では、予測ブロックB、予測ブロックC及び予測ブロックEは同一の予測ブロックとなる。
【0042】
図9に示すように、符号化/復号対象の予測ブロックと時間的に異なる符号化/復号済みのピクチャにおいて、符号化/復号対象の予測ブロックと同一位置あるいはその付近に存在する既に符号化/復号済みの予測ブロックT0およびT1を異なる時間の同一位置の予測ブロックと定義する。
【0043】
(POCについて)
POCは符号化されるピクチャに関連付けられる変数とし、ピクチャの出力/表示順序で1ずつ増加する値が設定される。POCの値によって、同じピクチャであるかを判別したり、出力/表示順序でのピクチャ間の前後関係を判別したり、ピクチャ間の距離を導出したりすることができる。例えば、2つのピクチャのPOCが同じ値を持つ場合、同一のピクチャであると判断できる。2つのピクチャのPOCが違う値を持つ場合、POCの値が小さいピクチャのほうが、先に出力/表示されるピクチャであると判断でき、2つのピクチャのPOCの差が時間軸方向でのピクチャ間距離を示す。
【0044】
以下、図面と共に本発明の実施の形態を説明する。図1は本発明の実施の形態に係る動画像符号化装置の構成を示すブロック図である。実施の形態の動画像符号化装置は、画像メモリ101、ヘッダ情報設定部117、動きベクトル検出部102、差分動きベクトル算出部103、インター予測情報導出部104、動き補償予測部105、イントラ予測部106、予測方法決定部107、残差信号生成部108、直交変換・量子化部109、第1符号化ビット列生成部118、第2符号化ビット列生成部110、第3符号化ビット列生成部111、多重化部112、逆量子化・逆直交変換部113、復号画像信号重畳部114、符号化情報格納メモリ115、および復号画像メモリ116を備える。
【0045】
ヘッダ情報設定部117は、シーケンス、ピクチャ、スライス単位の情報を設定する。設定されたシーケンス、ピクチャ、スライス単位の情報はインター予測情報導出部104、第1符号化ビット列生成部118に供給するとともに、図示していないがすべてのブロックに供給する。
【0046】
画像メモリ101は、撮影/表示時間順に供給された符号化対象のピクチャの画像信号を一時格納する。画像メモリ101は、格納された符号化対象のピクチャの画像信号を、所定の画素ブロック単位で、動きベクトル検出部102、予測方法決定部107、および残差信号生成部108に供給する。その際、撮影/表示時間順に格納されたピクチャの画像信号は、符号化順序に並べ替えられて、画素ブロック単位で、画像メモリ101から出力される。
【0047】
動きベクトル検出部102は、画像メモリ101から供給される画像信号と復号画像メモリ116から供給される参照ピクチャ間でブロックマッチング等により各予測ブロックサイズ、各予測モードのそれぞれの動きベクトルを各予測ブロック単位で検出し、検出された動きベクトルを動き補償予測部105、差分動きベクトル算出部103、および予測方法決定部107に供給する。
【0048】
差分動きベクトル算出部103は、符号化情報格納メモリ115に記憶されている既に符号化された画像信号の符号化情報を用いて、複数の予測動きベクトルの候補を算出して予測動きベクトルリストに登録し、予測動きベクトルリストに登録された複数の予測動きベクトルの候補の中から最適な予測動きベクトルを選択し、動きベクトル検出部102が検出した動きベクトルと予測動きベクトルから差分動きベクトルを算出し、算出された差分動きベクトルを予測方法決定部107に供給する。さらに、予測動きベクトルリストに登録された予測動きベクトルの候補から選択された予測動きベクトルを特定する予測動きベクトルインデックスを予測方法決定部107に供給する。
【0049】
インター予測情報導出部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の詳細な構成と動作は後述する。
【0050】
動き補償予測部105は、動きベクトル検出部102およびインター予測情報導出部104により検出された動きベクトルを用いて参照ピクチャからインター予測(動き補償予測)により予測画像信号を生成し、予測画像信号を予測方法決定部107に供給する。なお、L0予測、及びL1予測では、片方向の予測を行う。双予測(Pred_BI)の場合は、双方向の予測を行い、L0予測、L1予測のそれぞれのインター予測された信号に適応的に重み係数を掛け算し、オフセット値を加算して重畳し、最終的な予測画像信号を生成する。
【0051】
イントラ予測部106は、各イントラ予測モードについてイントラ予測を行う。復号画像メモリ116に格納されている復号済みの画像信号からイントラ予測により予測画像信号を生成し、複数のイントラ予測モードの中から適したイントラ予測モードを選択し、選択されたイントラ予測モード、及び選択されたイントラ予測モードに応じた予測画像信号を予測方法決定部107に供給する。
【0052】
予測方法決定部107は符号化情報及び残差信号の符号量、予測画像信号と画像信号との間の歪量等を評価することにより、複数の予測方法の中から、最適な符号化ブロック単位でインター予測(PRED_INTER)かイントラ予測(PRED_INTRA)かを判別する予測モードPredMode、分割モードPartModeを決定し、インター予測(PRED_INTER)では予測ブロック単位でマージモードか否かを決定し、マージモードの場合はマージインデックス、マージモードでない場合はインター予測モード、予測動きベクトルインデックス、L0、L1の参照インデックス、差分動きベクトル等を決定して、決定に応じた符号化情報を第2符号化ビット列生成部110に供給する。
【0053】
さらに、予測方法決定部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_INTER)の場合、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に供給する。
【0054】
残差信号生成部108は、符号化する画像信号と予測画像信号との減算を行うことにより残差信号を生成し、直交変換・量子化部109に供給する。
直交変換・量子化部109は、残差信号に対して量子化パラメータに応じて直交変換及び量子化を行い直交変換・量子化された残差信号を生成し、第3符号化ビット列生成部111と逆量子化・逆直交変換部113に供給する。さらに、直交変換・量子化部109は、量子化パラメータを符号化情報格納メモリ115に格納する。
【0055】
第1符号化ビット列生成部118は、ヘッダ情報設定部117で設定されたシーケンス、ピクチャ、スライス単位の情報を符号化する。第1の符号化ビット列を生成し、多重化部112に供給する。
【0056】
第2符号化ビット列生成部110は、符号化ブロック及び予測ブロック毎に予測方法決定部107によって決定された予測方法に応じた符号化情報を符号化する。具体的には、符号化ブロック毎の予測モードPredMode、分割モードPartMode、インター予測(PRED_INTER)の場合、マージモードかどうかを判別するフラグ、マージモードの場合はマージインデックス、マージモードでない場合はインター予測モード、予測動きベクトルインデックス、差分動きベクトルに関する情報等の符号化情報を後述する規定のシンタックス規則に従って符号化して第2の符号化ビット列を生成し、多重化部112に供給する。
【0057】
第3符号化ビット列生成部111は、直交変換及び量子化された残差信号を規定のシンタックス規則に従ってエントロピー符号化して第3の符号化ビット列を生成し、多重化部112に供給する。多重化部112で、第1の符号化ビット列、第2の符号化ビット列および第3の符号化ビット列を規定のシンタックス規則に従って多重化し、ビットストリームを出力する。
【0058】
逆量子化・逆直交変換部113は、直交変換・量子化部109から供給された直交変換・量子化された残差信号を逆量子化及び逆直交変換して残差信号を算出し、復号画像信号重畳部114に供給する。復号画像信号重畳部114は、予測方法決定部107による決定に応じた予測画像信号と逆量子化・逆直交変換部113で逆量子化及び逆直交変換された残差信号を重畳して復号画像を生成し、復号画像メモリ116に格納する。なお、復号画像に対して符号化によるブロック歪等の歪を減少させるフィルタリング処理を施して、復号画像メモリ116に格納されることもある。
【0059】
図2は図1の動画像符号化装置に対応した本発明の実施の形態に係る動画像復号装置の構成を示すブロックである。実施の形態の動画像復号装置は、分離部201、第1符号化ビット列復号部212、第2符号化ビット列復号部202、第3符号化ビット列復号部203、動きベクトル算出部204、インター予測情報導出部205、動き補償予測部206、イントラ予測部207、逆量子化・逆直交変換部208、復号画像信号重畳部209、符号化情報格納メモリ210、および復号画像メモリ211を備える。
【0060】
図2の動画像復号装置の復号処理は、図1の動画像符号化装置の内部に設けられている復号処理に対応するものであるから、図2の動き補償予測部206、逆量子化・逆直交変換部208、復号画像信号重畳部209、符号化情報格納メモリ210、および復号画像メモリ211の各構成は、図1の動画像符号化装置の動き補償予測部105、逆量子化・逆直交変換部113、復号画像信号重畳部114、符号化情報格納メモリ115、および復号画像メモリ116の各構成とそれぞれ対応する機能を有する。
【0061】
分離部201に供給されるビットストリームは規定のシンタックスの規則に従って分離し、分離された符号化ビット列が第1符号化ビット列復号部212、第2符号化ビット列復号部202、第3符号化ビット列復号部203に供給される。
【0062】
第1符号化ビット列復号部212は、供給された符号化ビット列を復号して、シーケンス、ピクチャ、スライス単位の情報を得る。得られたシーケンス、ピクチャ、スライス単位の情報は図示していないがすべてのブロックに供給される。
【0063】
第2符号化ビット列復号部202は、供給された符号化ビット列を復号して、符号化ブロック単位の情報、及び、予測ブロック単位の符号化情報を得る。具体的には、符号化ブロック単位でインター予測(PRED_INTER)かイントラ予測(PRED_INTRA)かを判別する予測モードPredMode、分割モードPartMode、インター予測(PRED_INTER)の場合、マージモードかどうかを判別するフラグ、マージモードの場合はマージインデックス、マージモードでない場合はインター予測モード、予測動きベクトルインデックス、差分動きベクトル等に関する符号化情報を後述する規定のシンタックス規則に従って復号し、符号化情報を動きベクトル算出部204、インター予測情報導出部205またはイントラ予測部207に供給する。
【0064】
第3符号化ビット列復号部203は、供給された符号化ビット列を復号して直交変換・量子化された残差信号を算出し、直交変換・量子化された残差信号を逆量子化・逆直交変換部208に供給する。
【0065】
動きベクトル算出部204は、復号対象の予測ブロックの予測モードPredModeがインター予測(PRED_INTER)でマージモードでない時に、符号化情報格納メモリ210に記憶されている既に復号された画像信号の符号化情報を用いて、複数の予測動きベクトルの候補を導出して後述する予測動きベクトルリストに登録し、予測動きベクトルリストに登録された複数の予測動きベクトルの候補の中から、第2符号化ビット列復号部202で復号され供給される予測動きベクトルインデックスに応じた予測動きベクトルを選択し、第2符号化ビット列復号部202で復号された差分ベクトルと選択された予測動きベクトルから動きベクトルを算出し、他の符号化情報とともに動き補償予測部206に供給するとともに、符号化情報格納メモリ210に格納する。ここで供給・格納する予測ブロックの符号化情報は、予測モード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_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である。
【0066】
インター予測情報導出部205は、復号対象の予測ブロックの予測モードPredModeがインター予測(PRED_INTER)でマージモードの時に、マージ候補を導出する。符号化情報格納メモリ210に記憶されている既に復号された予測ブロックの符号化情報を用いて、複数のマージの候補を導出して後述するマージ候補リストに登録し、マージ候補リストに登録された複数のマージ候補の中から第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の詳細な構成と動作は後述する。
【0067】
動き補償予測部206は、動きベクトル算出部204またはインター予測情報導出部205で算出されたインター予測情報を用いて復号画像メモリ211に格納されている参照ピクチャからインター予測(動き補償予測)により予測画像信号を生成し、予測画像信号を復号画像信号重畳部209に供給する。なお、双予測(Pred_BI)の場合は、L0予測、L1予測の2つの動き補償予測画像信号に適応的に重み係数を掛け算して重畳し、最終的な予測画像信号を生成する。
【0068】
イントラ予測部207は、復号対象の予測ブロックの予測モードPredModeがイントラ予測(PRED_INTRA)の時に、イントラ予測を行う。第1符号化ビット列復号部で復号された符号化情報にはイントラ予測モードが含まれており、イントラ予測モードに応じて、復号画像メモリ211に格納されている復号済みの画像信号からイントラ予測により予測画像信号を生成し、予測画像信号を復号画像信号重畳部209に供給する。L0予測、及びL1予測を利用するかどうかを示すフラグpredFlagL0[xP][yP], predFlagL1[xP][yP]を共に0に設定し、符号化情報格納メモリ210に格納する。ここで、xP、yPはピクチャ内での予測ブロックの左上の画素の位置を示すインデックスである。
【0069】
逆量子化・逆直交変換部208は、第2符号化ビット列復号部202で復号された直交変換・量子化された残差信号に対して逆直交変換及び逆量子化を行い、逆直交変換・逆量子化された残差信号を得る。
【0070】
復号画像信号重畳部209は、動き補償予測部206でインター予測された予測画像信号、またはイントラ予測部207でイントラ予測された予測画像信号と、逆量子化・逆直交変換部208により逆直交変換・逆量子化された残差信号とを重畳することにより、復号画像信号を復号し、復号画像メモリ211に格納する。復号画像メモリ211に格納する際には、復号画像に対して符号化によるブロック歪等を減少させるフィルタリング処理を施して、復号画像メモリ211に格納されることもある。
【0071】
次に、本実施の形態に係る動きベクトルの予測方法を備える動画像符号化装置により符号化され、復号装置により復号される動画像のビットストリームの符号化および復号の共通規則であるシンタックスについて説明する。
【0072】
図10は予測ブロック単位に記述されるシンタックス規則を示す。予測ブロックの予測モードPredModeの値がインター予測(MODE_INTER)の場合、マージモードかどうかを示すmerge_flag[x0][y0]が設置される。ここで、x0、y0は輝度信号のピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、merge_flag[x0][y0]はピクチャ内の(x0, y0)に位置する予測ブロックのマージモードかどうかを示すフラグである。
【0073】
次に、merge_flag[x0][y0]が1の場合、マージモードであることを示し、参照するマージ候補のリストであるマージリストのインデックスのシンタックス要素merge_idx[x0][y0]が設置される。ここで、x0、y0はピクチャ内での予測ブロックの左上の画素の位置を示すインデックスであり、merge_idx[x0][y0]はピクチャ内の(x0, y0)に位置する予測ブロックのマージインデックスである。マージインデックスをエントロピー符号化/復号する場合、マージ候補数が小さい程、小さい符号量で符号化/復号することができ、少ない処理量で符号化/復号することができる。図11はマージインデックスのシンタックス要素merge_idx[x0][y0]のエントロピー符号(コード)の一例である。マージ候補数が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'となる。つまり、マージ候補数がわっている場合、マージ候補数が少ない方がマージインデックスを小さい符号量で表現可能である。本実施例においては、図11に示すようにスライス単位で設定されるマージ候補数に基づいて、マージインデックスのそれぞれの値を示す符号を切り替えることで符号量を削減する。
【0074】
一方、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と設定する。
【0075】
実施の形態に係るインター予測情報導出方法は、図1の動画像符号化装置のインター予測情報導出部104及び図2の動画像復号装置のインター予測情報導出部205において実施される。
【0076】
実施の形態に係るインター予測情報導出方法は、符号化ブロックを構成する予測ブロック単位に、符号化及び復号の処理の何れでも実施される。予測ブロックの予測モードPredModeがインター予測(MODE_INTER)で、マージモードの場合に、符号化の場合、符号化済みの予測ブロックの予測モード、参照インデックス、動きベクトルを利用して符号化対象の予測ブロックの予測モード、参照インデックス、動きベクトルを導出する際、復号の場合、復号済みの予測ブロックの予測モード、参照インデックス、動きベクトルを利用して復号対象の予測ブロックの予測モード、参照インデックス、動きベクトルを導出する際に実施される。
【0077】
マージモードは図5、図6、図7及び図8を用いて説明した左に隣接する予測ブロックA、上に隣接する予測ブロックB、右上に隣接する予測ブロックC、左下に隣接する予測ブロックD、左上に隣接する予測ブロックEに加えて、図9を用いて説明した異なる時間の同一位置あるいはその付近に存在する予測ブロックCol(T0、T1のいずれか)の予測ブロックを候補とする。動画像符号化装置のインター予測情報導出部104、及び動画像復号装置のインター予測情報導出部205はそれらの候補を符号化側と復号側で共通の規定の順序でマージ候補リストに登録し、動画像符号化装置のインター予測情報導出部104がマージ候補リストの要素を特定するマージインデックスを決定して第2符号化ビット列生成部110を経由して符号化し、動画像復号装置のインター予測情報導出部205は第2符号化ビット列復号部202で復号されたマージインデックスが供給されて、そのマージインデックスに応じた予測ブロックをマージ候補リストから選択し、その選択されたマージ候補の予測モード、参照インデックス、動きベクトル等のインター予測情報を用いて、動き補償予測を行う。
【0078】
スライス単位でマージ候補リストmergeCandListに登録される最終的なマージ候補数finalNumMergeCandを設定する。本実施の形態においては、finalNumMVPCandを5に設定する。
【0079】
実施の形態に係るインター予測情報導出方法を図面を用いて説明する。図12は、図1の動画像符号化装置のインター予測情報導出部104の詳細な構成を示す図である。また、図13は、図2の動画像復号装置のインター予測情報導出部205の詳細な構成を示す図である。
【0080】
図12及び図13の太枠線で囲まれる部分はそれぞれ、インター予測情報導出部104及びインター予測情報導出部205を示している。
【0081】
更に、それらの内部の太点線で囲まれる部分は後述するインター予測情報導出方法の動作部を示しており、実施の形態の動画像符号化装置と対応する動画像復号装置にも同様に設置され、符号化と復号で矛盾しない同一の判定結果を得られるようにしている。
【0082】
インター予測情報導出部104は、空間マージ候補生成部130、時間マージ候補の参照インデックス導出部131、時間マージ候補生成部132、マージ候補登録部133、マージ候補同一判定部134、マージ候補数制限部135、マージ候補補充部136、および符号化情報選択部137を含む。
【0083】
インター予測情報導出部205は、空間マージ候補生成部230、時間マージ候補の参照インデックス導出部231、時間マージ候補生成部232、マージ候補登録部233、マージ候補同一判定部234、マージ候補数制限部235、マージ候補補充部236、および符号化情報選択部237を含む。
【0084】
図14は本発明の実施の形態による動画像符号化装置のインター予測情報導出部104及び動画像復号装置のインター予測情報導出部205とで共通する機能を有するマージ候補の導出処理及びマージ候補リストの構築処理の手順を説明するフローチャートである。
以下、諸過程を順を追って説明する。なお、以下の説明においては特に断りのない限りスライスタイプslice_typeがBスライスの場合について説明するが、Pスライスの場合にも適用できる。ただし、スライスタイプslice_typeがPスライスの場合、インター予測モードとしてL0予測(Pred_L0)だけがあり、L1予測(Pred_L1)、双予測(Pred_BI)がないので、L1に纏わる処理を省略することができる。
【0085】
動画像符号化装置のインター予測情報導出部104の空間マージ候補生成部130及び動画像復号装置のインター予測情報導出部205の空間マージ候補生成部230では、符号化/復号対象ブロックに隣接するそれぞれの予測ブロックA,B,C,D,Eからの空間マージ候補A,B,C,D,Eを導出する。ここで、A,B,C,D,EまたはColのいずれかを示すNを定義する。予測ブロックNのインター予測情報がマージ候補Nとして利用できるかどうかを示すフラグavailableFlagN、L0の参照インデックスrefIdxL0N及びL1の参照インデックスrefIdxL1N、L0予測が行われるかどうかを示すL0予測フラグpredFlagL0NおよびL1予測が行われるかどうかを示すL1予測フラグpredFlagL1N、L0の動きベクトルmvL0N、L1の動きベクトルmvL1Nを出力する(ステップS101)。
ステップS101の詳細な処理手順については図15のフローチャートを用いて後ほど詳細に説明する。
【0086】
続いて、動画像符号化装置のインター予測情報導出部104の時間マージ候補の参照インデックス導出部131及び動画像復号装置のインター予測情報導出部205の時間マージ候補の参照インデックス導出部231では、符号化/復号対象ブロックに隣接する予測ブロックから時間マージ候補の参照インデックスを導出する(ステップS102)。スライスタイプslice_typeがPスライスで時間マージ候補のインター予測情報を用いてインター予測を行う場合は、L0予測(Pred_L0)を行うために、L0の参照インデックスだけを導出し、スライスタイプslice_typeがBスライスで時間マージ候補のインター予測情報を用いてインター予測を行う場合は、双予測(Pred_BI)を行うために、L0とL1のそれぞれの参照インデックスを導出する。ステップS102の詳細な処理手順については図16のフローチャートを用いて後ほど詳細に説明する。
【0087】
続いて、動画像符号化装置のインター予測情報導出部104の時間マージ候補生成部132及び動画像復号装置のインター予測情報導出部205の時間マージ候補生成部232では、異なる時間のピクチャからの時間マージ候補を導出し、利用できるかどうかを示すフラグavailableFlagCol、L0予測が行われるかどうかを示すL0予測フラグpredFlagL0ColおよびL1予測が行われるかどうかを示すL1予測フラグpredFlagL1Col、及びL0の動きベクトルmvL0N、L1の動きベクトルmvL1Nを出力する(ステップS103)。ステップS103の詳細な処理手順については図17のフローチャートを用いて後ほど詳細に説明する。
【0088】
続いて、動画像符号化装置のインター予測情報導出部104のマージ候補登録部133及び動画像復号装置のインター予測情報導出部205のマージ候補登録部233では、マージ候補リストmergeCandListを作成し、予測ベクトルの候補A,B,C,D,E,Colを追加する(ステップS104)。ステップS104の詳細な処理手順については図24のフローチャートを用いて後ほど詳細に説明する。
【0089】
続いて、動画像符号化装置のインター予測情報導出部104のマージ候補同一判定部134及び動画像復号装置のインター予測情報導出部205のマージ候補同一判定部234では、マージ候補リストmergeCandList内で、マージ候補が同じ参照インデックスの動きベクトルが同じ値を持っている場合に、最も小さい順番のマージ候補を除いてそのマージ候補を取り除く(ステップS105)。
【0090】
続いて、動画像符号化装置のインター予測情報導出部104のマージ候補数制限部135及び動画像復号装置のインター予測情報導出部205のマージ候補数制限部235では、マージ候補リストmergeCandList内に登録されているマージ候補の数をカウントし、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandが、最終マージ候補数finalNumMergeCandより大きい場合(ステップS106のYES)、マージ候補リストmergeCandList内のインデックスiが(finalNumMergeCand-1)よりも大きいすべてのマージ候補を削除することでマージ候補を最終マージ候補数finalNumMergeCandに制限し、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandの値を最終マージ候補数finalNumMergeCandに更新する(ステップS107)。
【0091】
続いて、動画像符号化装置のインター予測情報導出部104のマージ候補補充部136及び動画像復号装置のインター予測情報導出部205のマージ候補補充部236では、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandが、最終マージ候補数finalNumMergeCandより小さい場合(ステップS108のYES)、マージ候補リストmergeCandList内に登録されているマージ候補数numMergeCandが最終マージ候補数finalNumMergeCandを上限としてマージ候補を補充(導出・登録)する(ステップS109)。最終マージ候補数finalNumMergeCandを上限として、Pスライスでは、すでにマージ候補リストmergeCandList内に登録されているマージ候補を基に動きベクトルを整数倍でスケーリングすることにより導出されるインター予測モードが単予測であるL0予測(Pred_L0)のマージ候補を追加する。Bスライスでは、すでにマージ候補リストmergeCandList内に登録されているマージ候補を基にの一方の動きベクトルを整数倍でスケーリングすることにより導出されるインター予測モードが双予測(Pred_BI)のマージ候補を追加する。ステップS109の詳細な処理手順については図25のフローチャートを用いて後ほど詳細に説明する。
【0092】
本実施の形態においては、スライス単位で最終候補数finalNumMVPCandを固定した数に設定している。最終候補数finalNumMVPCandを固定する理由は最終候補数finalNumMVPCandがマージ候補リストの構築状態に応じて変動すると、エントロピー復号とマージ候補リストの構築に依存関係が生じ、復号側では予測ブロック毎にマージ候補リストを構築し最終候補数finalNumMVPCandを導出してからでないと、マージインデックスをエントロピー復号することができず、マージインデックスの復号に遅延が生じるとともにエントロピー復号が複雑になるためである。さらに、エントロピー復号が異なる時間のピクチャの予測ブロックから導出されたマージ候補Colを含むマージ候補リストの構築状態に依存すると、別のピクチャの符号化ビット列の復号時にエラーが発生した際に現在のピクチャの符号化ビット列もそのエラーの影響を受けて正常な最終候補数finalNumMVPCandを導出することができず正常にエントロピー復号を続けることができない問題がある。本実施の形態の様にスライス単位で最終候補数finalNumMVPCandを固定した数に設定すると、予測ブロック単位での最終候補数finalNumMVPCandの導出が不要となり、マージ候補リストの構築と独立して、マージインデックスをエントロピー復号することができるとともに、別のピクチャの符号化ビット列の復号時にエラーが発生してもその影響を受けずに現在のピクチャの符号化ビット列のエントロピー復号を続けることができる。
【0093】
次に、図14のステップS101の処理手順である符号化/復号対象ブロックに隣接する予測ブロックNからのマージ候補Nの導出方法について詳細に説明する。図15は図14のステップS101の空間マージ候補導出処理手順を説明するフローチャートである。
Nには隣接する予測ブロックの領域を表すA(左側)、B(上側)、C(右上)、D(左下)またはE(左上)が入る。なお、本実施の形態においては、空間マージ候補数の上限値maxNumSpatialMergeCandを4とし、隣接する5つの予測ブロックから最大4つの空間マージ候補を導出する。
【0094】
図15で、変数NをAとして符号化/復号対象の予測ブロックの左側に隣接する予測ブロックAの符号化情報を調べてマージ候補Aを導出し、変数NをBとして上側に隣接する予測ブロックBの符号化情報を調べてマージ候補Bを導出し、変数NをCとして右上側に隣接する予測ブロックCの符号化情報を調べてマージ候補Cを導出し、変数NをDとして左下側に隣接する予測ブロックDの符号化情報を調べてマージ候補Dを導出し、変数NをEとして左上側に隣接する予測ブロックEの符号化情報を調べてマージ候補Eを導出する(ステップS1101〜ステップS1112)。
【0095】
まず、これまでに導出できた(availableFlagが1となった)空間マージ候補の合計が空間マージ候補数の上限値maxNumSpatialMergeCandの場合(ステップS1102のYES)、すなわち4つの空間マージ候補が導出された場合、マージ候補NのフラグavailableFlagNを0に設定し(ステップS1105)、マージ候補Nの動きベクトルmvL0N, mvL1Nの値を共に(0,0)に設定し(ステップS1106)、マージ候補NのフラグpredFlagL0N、predFlagL1Nの値を共に0に設定し(ステップS1107)、本空間マージ候補導出処理を終了する。
本実施の形態においては、隣接する予測ブロックから4つのマージ候補を導出するので、既に4つの空間マージ候補が導出された場合はそれ以上の空間マージ候補の導出処理を行う必要がない。
【0096】
一方、これまでに導出できた(availableFlagが1となった)空間マージ候補の合計が空間マージ候補数の上限値maxNumSpatialMergeCandでない場合(ステップS1102のNO)、符号化/復号対象の予測ブロックに隣接する予測ブロックNを特定し、それぞれの予測ブロックNが利用できる場合は符号化情報格納メモリ115または210から予測ブロックNの符号化情報を取得する(ステップS1103)。
【0097】
隣接する予測ブロックNが利用できないか、予測ブロックNの予測モードPredModeがイントラ予測(MODE_INTRA)である場合(ステップS1104のNO)、マージ候補NのフラグavailableFlagNの値を0に設定し(ステップS1105)、マージ候補Nの動きベクトルmvL0N, mvL1Nの値を共に(0,0)に設定し(ステップS1106)、マージ候補NのフラグpredFlagL0N、predFlagL1Nの値を共に0に設定する(ステップS1107)。
【0098】
一方、隣接する予測ブロックNが利用でき、予測ブロックNの予測モードPredModeがイントラ予測(MODE_INTRA)でない場合(ステップS1104のYES)、予測ブロックNのインター予測情報をマージ候補Nのインター予測情報とする。マージ候補NのフラグavailableFlagNの値を1に設定し(ステップS1108)、マージ候補Nの動きベクトルmvL0N, mvL1Nをそれぞれ予測ブロックNの動きベクトルmvL0N[xN][yN], mvL1N[xN][yN]と同じ値に設定し(ステップS1109)、マージ候補Nの参照インデックスrefIdxL0N, refIdxL1Nをそれぞれ予測ブロックNの参照インデックスrefIdxL0[xN][yN], refIdxL1[xN][yN]と同じ値に設定し(ステップS1110)、マージ候補NのフラグpredFlagL0N, predFlagL1Nをそれぞれ予測ブロックNのフラグpredFlagL0[xN][yN], predFlagL1[xN][yN]に設定する(ステップS1111)。ここで、xN、yNはピクチャ内での予測ブロックNの左上の画素の位置を示すインデックスである。
【0099】
以上のステップS1102〜ステップS1111の処理をN=A,B,C,D,Eについてそれぞれ繰り返す(ステップS1101〜ステップS1112)。
【0100】
次に、図14のS102の時間マージ候補の参照インデックスを導出する方法について詳細に説明する。時間マージ候補のL0とL1のそれぞれの参照インデックスを導出する。
【0101】
本実施の形態においては、空間マージ候補の参照インデックス、即ち符号化/復号対象ブロックに隣接する予測ブロックで利用された参照インデックスを利用して時間マージ候補の参照インデックスを導出する。これは、時間マージ候補が選択される場合において、符号化/復号対象の予測ブロックの参照インデックスは空間マージ候補となる符号化/復号対象ブロックに隣接する予測ブロックの参照インデックスと高い相関を持つからである。特に、本実施の形態においては、符号化/復号対象の予測ブロックの左の辺に隣接する予測ブロックA、及び上の辺に隣接する予測ブロックBの参照インデックスだけを利用する。なぜなら、空間マージ候補でもある隣接する予測ブロックA,B,C,D,Eの中でも符号化/復号対象の予測ブロックの辺に接している予測ブロックA,Bは、符号化/復号対象の予測ブロックの頂点のみに接している予測ブロックC,D,Eよりも相関が高いからである。相対的に相関の低い予測ブロックC,D,Eを利用せずに、利用する予測ブロックを予測ブロックA,Bに限定することで、時間マージ候補の参照インデックスの導出による符号化効率の改善効果を得るとともに、時間マージ候補の参照インデックス導出処理に関する演算量及びメモリアクセス量を削減する。
【0102】
本実施の形態では、予測ブロックA、予測ブロックBが共にLX予測(L0またはL1で、時間マージ候補の参照インデックスの導出対象のリストをLXとし、LXを用いた予測をLX予測とする。以下、断りのない限り、この意味で用いる。)を行う場合は予測ブロックA、予測ブロックBのLXの参照インデックスの値の小さい方を時間マージ候補のLXの参照インデックスの値として採用する。ただし、予測ブロックA、予測ブロックBのいずれか一方しかLX予測を行わない場合はLX予測を行う方の予測ブロックのLXの参照インデックスの値を時間マージ候補のLXの参照インデックスの値として採用し、予測ブロックA、予測ブロックBが共にLX予測を行わない場合は時間マージ候補のLXの参照インデックスの値をデフォルト値の0とする。
【0103】
予測ブロックA、予測ブロックBが共にLX予測を行わない場合に時間マージ候補のLXの参照インデックスのデフォルト値を0とする理由は、インター予測において参照インデックスの値が0に対応する参照ピクチャが最も選択される確率が高いからである。ただし、これに限定されず、参照インデックスのデフォルト値を0以外の値(1、2など)としても良いし、シーケンス単位、ピクチャ単位、またはスライス単位で符号化ストリーム内に参照インデックスのデフォルト値を示すシンタックス要素を設置し伝送できるようにして、符号化側で選択できるようにしても良い。
【0104】
図16は本実施の形態の図14のステップS102の時間マージ候補の参照インデックスの導出処理手順を説明するフローチャートである。まず、符号化情報格納メモリ115または210から左に隣接する予測ブロックAの符号化情報、及び予測ブロックBの符号化情報を取得する(ステップS2101、ステップS2102)。
続くステップS2104からステップS2110までの処理をL0,L1それぞれにおいて行う(ステップS2103〜S2111)。なお、時間マージ候補のL0の参照インデックスを導出する際にはLXはL0に設定され、L1の参照インデックスを導出する際にはLXはL1に設定される。ただし、スライスタイプslice_typeがPスライスの場合、インター予測モードとしてL0予測(Pred_L0)だけがあり、L1予測(Pred_L1)、双予測(Pred_BI)がないので、L1に纏わる処理を省略することができる。
【0105】
予測ブロックAのLX予測を行うかどうかを示すフラグpredFlagLX[xA][yA]と予測ブロックBのLX予測を行うかどうかを示すフラグpredFlagLX[xB][yB]が共に0でない場合(ステップS2104のYES)、時間マージ候補のLXの参照インデックスrefIdxLXColを予測ブロックAのLXの参照インデックスrefIdxLX[xA][yA]と予測ブロックBのLXの参照インデックスrefIdxLX[xB][yB]の値の小さい方と同じ値に設定する(ステップS2105)。ここで、xA、yAはピクチャ内での予測ブロックAの左上の画素の位置を示すインデックスである。ここで、xB、yBはピクチャ内での予測ブロックBの左上の画素の位置を示すインデックスである。
【0106】
なお、本実施の形態においては、予測ブロックN(N=A,B)において、予測ブロックNが符号化/復号対象のスライス外で利用できない場合や予測ブロックNが符号化/復号順序で符号化/復号対象の予測ブロックよりも後のために符号化/復号されておらず利用できない場合や予測ブロックNの予測モードPredModeがインター予測(MODE_INTER)の場合、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である。
【0107】
予測ブロックAのLX予測を行うかどうかを示すフラグpredFlagLX[xA][yA]が0でなく、予測ブロックBのLX予測を行うかどうかを示すフラグpredFlagLX[xB][yB]が0である場合(ステップS2104のNOで、ステップS2106のYES)、時間マージ候補のLXの参照インデックスrefIdxLXColを予測ブロックAのLXの参照インデックスrefIdxLX[xA][yA]と同じ値に設定する(ステップS2107)。ここで、xA、yAはピクチャ内での予測ブロックAの左上の画素の位置を示すインデックスであり、xB、yBはピクチャ内での予測ブロックBの左上の画素の位置を示すインデックスである。
【0108】
予測ブロックAのLX予測を行うかどうかを示すフラグpredFlagLX[xA][yA]が0であり、予測ブロックBのLX予測を行うかどうかを示すフラグpredFlagLX[xB][yB]が0でない場合(ステップS2104のNOで、ステップS2106のNOで、ステップS2108のYES)、時間マージ候補のLXの参照インデックスrefIdxLXColを予測ブロックBのLXの参照インデックスpredFlagLX[xB][yB]と同じ値に設定する(ステップS2109)。
【0109】
予測ブロックAのLX予測を行うかどうかを示すフラグpredFlagLX[xA][yA]と予測ブロックBのLX予測を行うかどうかを示すフラグpredFlagLX[xB][yB]が共に0である場合(ステップS2104のNOで、ステップS2106のNOで、ステップS2108のNO)、時間マージ候補のLXの参照インデックスrefIdxLXColをデフォルト値の0に設定する(ステップS2110)。
【0110】
L0,L1それぞれにおいて行うステップS2104からステップS2110までの処理を行い(ステップS2103〜S2111)、本参照インデックス導出処理を終了する。
【0111】
次に、図14のS103の異なる時間のマージ候補の導出方法について詳細に説明する。図17は図14のステップS103の時間マージ候補導出処理手順を説明するフローチャートである。
【0112】
まず、図26のビットストリームの符号化および復号の共通規則であるシンタックス規則の一例に示すように、スライス単位でスライスヘッダに記述されるスライスタイプslice_typeと時間方向の予測動きベクトルの候補、またはマージ候補を導出する際に用いる異なる時間のピクチャcolPicが処理対象の予測ブロックが含まれるピクチャのL0の参照リスト或いはL1の参照リストのどちらに登録されている参照ピクチャを使用するかを示すフラグcollocated_from_l0_flagにより、異なる時間のピクチャcolPicを導出する(ステップS3101)。
【0113】
図18は図17のステップ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)。
【0114】
次に、図17のフローチャートに戻り、異なる時間の予測ブロックcolPUを導出し、符号化情報を取得する(ステップS3102)。
【0115】
図19は図17のステップS3102の異なる時間のピクチャcolPicの予測ブロックcolPUの導出処理手順を説明するフローチャートである。
【0116】
まず、異なる時間のピクチャcolPic内で処理対象の予測ブロックと同一位置の右下(外側)に位置する予測ブロックを異なる時間の予測ブロックcolPUとする(ステップS3301)。この予測ブロックは図9の予測ブロックT0に相当する。
【0117】
次に、異なる時間の予測ブロックcolPUの符号化情報を取得する(ステップS3302)。異なる時間の予測ブロックcolPUのPredModeが利用できないか、異なる時間の予測ブロックcolPUの予測モードPredModeがイントラ予測(MODE_INTRA)である場合(ステップS3303のYES、ステップS3304のYES)、異なる時間のピクチャcolPic内で処理対象の予測ブロックと同一位置の中央左上に位置する予測ブロックを異なる時間の予測ブロックcolPUとする(ステップS3305)。この予測ブロックは図9の予測ブロックT1に相当する。
【0118】
次に、図17のフローチャートに戻り、符号化/復号対象の予測ブロックと同位置の他ピクチャの予測ブロックから導出されるL0の予測動きベクトルmvL0Colと時間マージ候補Colが有効か否かを示すフラグavailableFlagL0Colを導出するとともに(ステップS3103)、L1の予測動きベクトルmvL1Colと時間マージ候補Colが有効か否かを示すフラグavailableFlagL1Colを導出する。さらに、フラグavailableFlagL0Col またはフラグavailableFlagL1Colが1の場合に、時間マージ候補Colが有効か否かを示すフラグavailableFlagColを1に設定する。
【0119】
図20は図17のステップS3103、ステップS3104の時間マージ候補のインター予測情報の導出処理手順を説明するフローチャートである。L0またはL1で、時間マージ候補の導出対象のリストをLXとし、LXを用いた予測をLX予測とする。以下、断りのない限り、この意味で用いる。時間マージ候補のL0の導出処理であるステップS3103として呼び出される際には、LXがL0となり、時間マージ候補のL1の導出処理であるステップS3104として呼び出される際には、LXがL1となる。
【0120】
異なる時間の予測ブロックcolPUの予測モードPredModeがイントラ予測(MODE_INTRA)か、利用できない場合(ステップS3401のNO、ステップS3402のNO)、フラグavailableFlagLXColとフラグpredFlagLXColを共に0とし(ステップS3403)、動きベクトルmvLXColを(0,0)として(ステップS3404)、本時間マージ候補のインター予測情報の導出処理を終了する。
【0121】
予測ブロックcolPUが利用できて予測モードPredModeがイントラ予測(MODE_INTRA)でない場合(ステップS3401のYES、ステップS3402のYES)、以下の手順でmvColとrefIdxColとavailableFlagColを導出する。
【0122】
予測ブロック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の左上の画素の位置を示すインデックスである。
【0123】
一方、予測ブロックcolPUのL0予測フラグPredFlagL0[xPCol][yPCol]が0でない場合(図20のステップ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)。
【0124】
予測ブロックcolPUのL0予測フラグPredFlagL0[xPCol][yPCol]と予測ブロックcolPUのL1予測フラグPredFlagL1[xPCol][yPCol]が共に0でない場合(ステップS3405のNO、ステップS3409のNO)、予測ブロックcolPUのインター予測モードは双予測(Pred_BI)であるので、L0、L1の2つの動きベクトルから、一方を選択する(ステップS3413)。
【0125】
図21は予測ブロックcolPUのインター予測モードが双予測(Pred_BI)のときの時間マージ候補のインター予測情報の導出処理手順を示すフローチャートである。
【0126】
まず、すべての参照リストに登録されているすべてのピクチャの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の方のインター予測情報を選択する。
【0127】
予測ブロックcolPUのL0の方のインター予測情報を選択する場合(ステップのYES、ステップS3503のYES)、動きベクトルmvColがMvL0[xPCol][yPCol]と同じ値に設定され(ステップS3504)、参照インデックスrefIdxColがRefIdxL0[xPCol][yPCol]と同じ値に設定され(ステップS3505)、リストListColがL0に設定される(ステップS3506)。
【0128】
予測ブロックcolPUのL1の方のインター予測情報を選択する場合(ステップS2502のNO、ステップS3503のNO)、動きベクトルmvColがMvL1[xPCol][yPCol]と同じ値に設定され(ステップS3507)、参照インデックスrefIdxColがRefIdxL1[xPCol][yPCol]と同じ値に設定され(ステップS3508)、リストListColがL1に設定される(ステップS3509)。
【0129】
図20に戻り、予測ブロックcolPUからインター予測情報が取得できたらフラグavailableFlagLXColとフラグpredFlagLXColを共に1とする(ステップS3414)。
【0130】
続いて、動きベクトルmvColをスケーリングして時間マージ候補のLXの動きベクトルmvLXColとする(ステップS3415)。この動きベクトルのスケーリング演算処理手順を図22及び図23を用いて説明する。
【0131】
図22は図20のステップS3415の動きベクトルのスケーリング演算処理手順を示すフローチャートである。
【0132】
異なる時間のピクチャcolPicのPOCから、予測ブロックcolPUのリストListColで参照する参照インデックスrefIdxColに対応する参照ピクチャのPOCを減算してピクチャ間距離tdを導出する(ステップS3601)。なお、異なる時間のピクチャcolPicよりも予測ブロックcolPUのリストListColで参照する参照ピクチャのPOCの方が表示順序で前の場合、ピクチャ間距離tdは正の値となり、異なる時間のピクチャcolPicよりも予測ブロックcolPUのリストListColで参照する参照ピクチャのPOCの方が表示順序で後の場合、ピクチャ間距離tdは負の値となる。
td=異なる時間のピクチャcolPicのPOC−予測ブロックcolPUのリストListColで参照する参照ピクチャのPOC
【0133】
現在の符号化/復号対象ピクチャのPOCから図14のステップS102で導出された時間マージ候補のLXの参照インデックスに対応する参照ピクチャのPOCを減算してピクチャ間距離tbを導出する(ステップS3602)。なお、現在の符号化/復号対象ピクチャよりも現在の符号化/復号対象ピクチャのリストLXで参照する参照ピクチャの方が表示順序で前の場合、ピクチャ間距離tbは正の値となり、現在の符号化/復号対象ピクチャのリストLXで参照する参照ピクチャの方が表示順序で後の場合、ピクチャ間距離tbは負の値となる。
tb=現在の符号化/復号対象ピクチャのPOC−時間マージ候補のLXの参照インデックスに対応する参照ピクチャのPOC
【0134】
続いて、ピクチャ間距離tdとtbを比較し(ステップS3603)、ピクチャ間距離tdとtbが等しい場合(ステップS3603のYES)、時間マージ候補のLXの動きベクトルmvLXColを動きベクトルmvColと同じ値に設定して(ステップS3604)、本スケーリング演算処理を終了する。
mvLXCol=mvCol
【0135】
一方、ピクチャ間距離tdとtbが等しくない場合(ステップS3603のNO)、次式によりmvColにスケール係数tb/tdを乗じることでスケーリング演算処理を行い(ステップS3605)、スケールされた時間マージ候補のLXの動きベクトルmvLXColを得る。
mvLXCol=tb / td * mvCol
【0136】
また、ステップS3605のスケーリング演算を整数精度の演算で行う場合の例を図23に示す。図23のステップS3606〜ステップS3608の処理が、図22のステップS3605の処理に相当する。
【0137】
まず、図22のフローチャートと同様に、ピクチャ間距離tdとピクチャ間距離tbを導出する(ステップS3601、ステップS3602)。
【0138】
続いて、ピクチャ間距離tdとtbを比較し(ステップS3603)、ピクチャ間距離tdとtbが等しい場合(ステップS3603のYES)、図22のフローチャートと同様に、時間マージ候補のLXの動きベクトルmvLXColを動きベクトルmvColと同じ値に設定して(ステップS3604)、本スケーリング演算処理を終了する。
mvLXCol=mvCol
【0139】
一方、ピクチャ間距離tdとtbが等しくない場合(ステップS3603のNO)、次式により変数txを導出する(ステップS3606)。
tx = ( 16384 + Abs( td / 2 ) ) / td
【0140】
続いて、次式によりスケール係数DistScaleFactorを導出する(ステップS3607)。
DistScaleFactor = ( tb * tx + 32 ) >> 6
【0141】
続いて、次式により、スケールされた時間マージ候補のLXの動きベクトルmvLXColを得る(ステップS3608)。
mvLXCol = ClipMv( Sign( DistScaleFactor * mvCol ) * ( (Abs( DistScaleFactor * mvCol ) + 127 ) >> 8 ) )
【0142】
次に、図14のステップS104のマージ候補をマージ候補リストに登録する方法について詳細に説明する。図24はマージ候補リストへのマージ候補の登録処理手順を示すフローチャートである。本方式では、優先順位をつけて、優先順位の高いものからマージ候補リストmergeCandListに予測動きベクトルの候補を登録することで、マージインデックスmerge_idx[x0][y0]の符号量を削減する。優先順位の高い要素をマージ候補リストの前方に配置することで、符号量を削減する。例えば、マージ候補リストmergeCandListの要素が5個の場合、マージ候補リストのインデックス0を「0」、インデックス1を「10」、インデックス2を「110」、インデックス3を「1110」、インデックス4を「11110」とすることで、インデックス0を表す符号量が1ビットとなり、インデックス0に発生頻度が高いと考えられる要素を登録することで、符号量を削減する。
【0143】
マージ候補リストmergeCandListはリスト構造を成し、マージ候補リスト内部の所在を示すマージインデックスと、インデックスに対応するマージ候補を要素として格納する記憶領域が設けられている。マージインデックスの数字は0から開始され、マージ候補リストmergeCandListの記憶領域に、マージ候補が格納される。以降の処理では、マージ候補リストmergeCandListに登録されたマージインデックスiのマージ候補となる予測ブロックは、mergeCandList[i]で表すこととし、マージ候補リストmergeCandListとは配列表記をすることで区別することとする。
【0144】
まず、availableFlagAが1の場合(ステップS4101のYES)、マージ候補リストmergeCandListの先頭にマージ候補Aを登録する(ステップS4102)。
続いて、availableFlagBが1の場合(ステップS4103のYES)、マージ候補リストmergeCandListの最後にマージ候補Bを登録する(ステップS4104)。
続いて、availableFlagCが1の場合(ステップS4105のYES)、マージ候補リストmergeCandListの最後にマージ候補Cを登録する(ステップS4106)。
続いて、availableFlagDが1の場合(ステップS4107のYES)、マージ候補リストmergeCandListの最後にマージ候補Dを登録する(ステップS4108)。
続いて、availableFlagEが1の場合(ステップS4109のYES)、マージ候補リストmergeCandListの最後にマージ候補Eを登録する(ステップS4110)。
続いて、availableFlagColが1の場合(ステップS4109のYES)、マージ候補リストmergeCandListの最後にマージ候補Colを登録する(ステップS4110)。
【0145】
なお、マージモードにおいて、左に隣接する予測ブロックA及び上に隣接する予測ブロックBは符号化/復号対象の予測ブロックと一体となる動きになることが多いので、予測ブロックA、Bのインター予測情報が取得できる場合には、マージ候補A、Bを他のマージ候補C,D,E,Colよりも優先的にマージ候補リストの前方に登録する。
【0146】
図12において、動画像符号化装置のインター予測情報導出部104の符号化情報選択部137では、マージ候補リストに登録されているマージ候補の中から、マージ候補を選択し、マージインデックスおよびマージインデックスに対応するマージ候補のインター予測情報を動き補償予測部105に供給する。
【0147】
マージ候補の選択においては、予測方法決定部107と同様の方法を用いることができる。それぞれのマージ候補ごとに符号化情報及び残差信号の符号量と予測画像信号と画像信号との間の符号化歪を導出し、最も少ない発生符号量と符号化歪となるマージ候補が決定される。それぞれのマージ候補毎にマージモードの符号化情報であるマージインデックスのシンタックス要素merge_idxのエントロピー符号化を行い、符号化情報の符号量を算出する。さらに、それぞれのマージ候補毎に動き補償予測部105と同様の方法で各マージ候補のインター予測情報に応じて動き補償した予測画像信号と、画像メモリ101から供給される符号化対象の画像信号との予測残差信号を符号化した予測残差信号の符号量を算出する。符号化情報、即ちマージインデックスの符号量と予測残差信号の符号量とが加算された総発生符号量を算出し評価値とする。
【0148】
また、こうした予測残差信号を符号化後に、歪量評価の為に復号し、符号化により生じる元の画像信号との誤差を表す比率として符号化歪が算出される。これら総発生符号量と符号化歪とをマージ候補毎に比較することで、少ない発生符号量と符号化歪となる符号化情報が決定される。決定された符号化情報に対応するマージインデックスが、予測ブロック単位の第2のシンタックスパターンで表されるフラグmerge_idxとして符号化される。
尚、ここで算出される発生符号量は、符号化過程をシミュレートしたものであることが望ましいが、簡便に近似したり、概算することも可能である。
【0149】
一方、図13において、動画像符号化装置のインター予測情報導出部205の符号化情報選択部237では、マージ候補リストに登録されているマージ候補の中から、供給されたマージインデックスに対応するマージ候補を選択し、マージ候補のインター予測情報を動き補償予測部206に供給するとともに、符号化情報格納メモリ210に格納する。
【0150】
次に、図14のステップS109のマージ候補を補充(導出・登録)する方法について詳細に説明する。図25はマージ候補の補充処理手順を示すフローチャートである。設定された最終マージ候補数finalNumMergeCandを上限として、すでにマージ候補リストmergeCandList内に登録されているマージ候補を基に新たなマージ候補を生成し、マージ候補リストに登録することでマージ候補数を補充し、マージ候補の選択の幅を広げて、符号量を削減する。
【0151】
スライスタイプslice_typeがPスライスの場合(ステップS5101のYES)、整数倍のスケール係数を導出し、インター予測モードがL0予測(Pred_L0)の整数倍のスケーリング単予測マージ候補を補充(導出・登録)する(ステップS5103)。スライスタイプslice_typeがBスライスの場合(ステップS5101のNO、ステップS5102のYES)、整数倍のスケール係数を導出し、インター予測モードが双予測(Pred_BI)の整数倍のスケーリング双予測マージ候補を補充(導出・登録)する(ステップS5104)。
【0152】
次に、図25のS5103のスライスタイプslice_typeがPスライスでの整数倍のスケーリング単予測マージ候補の補充(導出・登録)方法について詳細に説明する。図26は図25のステップS5103のスライスタイプslice_typeがPスライスでの整数倍のスケーリング単予測マージ候補の補充処理手順を説明するフローチャートである。
【0153】
まず、L0の参照ピクチャRefPicListL0の参照ピクチャの数が1より大きいかどうかを判別し、参照ピクチャの数が1以下の場合(ステップS5201のNO)、図26のスケーリング単予測マージ候補補充処理手順を終了する。一方、参照ピクチャの数が1より大きい場合(ステップS5201のYES)、マージ候補リストのマージインデックスi、スケールされたマージ候補数を示す変数numScaledCandを0に初期化し、これまでにマージ候補リストに登録されたマージ候補数を示す変数である第一マージ候補数numFirstMergeCandを現在のマージ候補数numMergeCandの値に設定する(ステップS5202)。続いて、ステップS5203以降の繰り返し処理を行う。現在のマージ候補数numMergeCandが最終マージ候補数finalNumMergeCandより小さい場合に(ステップS5204のYES)、ステップS5205以降の処理を行い、現在のマージ候補数numMergeCandが最終マージ候補数finalNumMergeCand以上の場合に(ステップS5204のNO)、図26のスケーリング単予測マージ候補補充処理手順を終了する。次に、スケールされたマージ候補数numScaledCandが規定された最大スケーリングマージ候補導出処理回数maxNumScaledCandより小さい場合に(S5205のYES)、ステップS5206以降の処理を行い、スケールされたマージ候補数numScaledCandが規定された最大スケーリングマージ候補導出処理回数maxNumScaledCand以上の場合に(S5205のNO)、図26のスケーリング単予測マージ候補補充処理手順を終了する。最大スケーリングマージ候補導出処理回数maxNumScaledCandを大きくすると、演算処理回数は大きくなるが、マージ候補の選択の幅が広がり、符号化効率が向上する。例えば、最終マージ候補数finalNumMergeCandの値が5の場合、マージ候補導出処理回数maxNumScaledCandの値は1から3程度に規定するとよい。
【0154】
次に、現在のピクチャのPOCから、マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]で参照されるL0予測の参照ピクチャのPOCを減算することにより導出されるピクチャ間距離の値が1の場合(ステップS5206のYES)、図27のスケーリング単予測マージ候補補充処理を行い(ステップS5207)、ピクチャ間距離の値が1でない場合(ステップS5206のNO)、図27のスケーリング単予測マージ候補補充処理を行わず、ステップS5208以降の処理を行う。本実施の形態においては、スライスタイプslice_typeがPスライスの際に、現在のピクチャのPOCから、マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]で参照されるL0予測の参照ピクチャのPOCを減算することにより導出されるピクチャ間距離の値が1の場合にのみ整数倍のスケール係数ScaleFactorを導出するスケーリング単予測マージ候補の補充処理を行う。このように、現在のピクチャのPOCから、マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]で参照されるL0予測の参照ピクチャのPOCを減算することにより導出されるピクチャ間距離の値が1の場合にのみスケーリング単予測マージ候補の補充を行うことで、スケール係数ScaleFactorの導出処理を単純化するとともに、演算量の多い除算を含むスケーリング演算処理を除外し、除算に比べて演算量の少ない乗算のみによるスケーリング演算処理を行う。
【0155】
図27は図26のステップS5207の整数倍のスケール係数ScaleFactorを導出してスケーリング演算処理を行うスケーリング単予測マージ候補の補充処理手順を説明するフローチャートである。既にマージ候補リストに登録されているマージ候補のL0の動きベクトルから整数倍によるスケーリング演算処理によりL0の動きベクトルを導出して単予測マージ候補とする。
【0156】
まず、スケーリング単予測マージ候補のL0の参照インデックスrefIdxL0Scaledをマージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]のL0の参照インデックスrefIdxL0とは別の発生確率の高いインデックス値に設定する(ステップS5301〜S5303)。マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]のL0の参照インデックスrefIdxL0が第1のデフォルト値の0の場合(ステップS5301のYES)、スケーリング単予測マージ候補のL0の参照インデックスrefIdxL0Scaledを第2のデフォルト値の1に設定し(ステップS5302)、マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]のL0の参照インデックスrefIdxL0が第1のデフォルト値の0でない場合(ステップS5301のNO)、スケーリング単予測マージ候補のL0の参照インデックスrefIdxL0Scaledを第1のデフォルト値の0に設定する(ステップS5303)。第1のデフォルト値は最も発生確率の高い参照インデックスの値に規定され、第2のデフォルト値は2番目に発生確率の高い参照インデックスの値に規定される。本実施の形態においては、最も発生確率の高い参照インデックスが0であるものとして第1のデフォルト値を0に規定し、2番目に発生確率の高い参照インデックスが1であるものとして第2のデフォルト値を1に規定する。ただし、これに限定されず、参照インデックスの第1及び第2のデフォルト値を別の値としても良いし、シーケンスレベル、ピクチャレベル、またはスライスレベルで符号化ストリーム内に参照インデックスの第1及び第2のデフォルト値を示すシンタックス要素を設置し伝送できるようにして、符号化側で選択できるようにしても良い。
【0157】
続いて、次式により、スケール係数ScaleFactorを、現在のピクチャのPOCから、L0の参照インデックスrefIdxL0Scaledに対応する参照ピクチャのPOCを減算することにより導出されるピクチャ間距離の値に設定する(ステップS5304)。
ScaleFactor=現在のピクチャのPOC−L0の参照インデックスrefIdxL0Scaledに対応する参照ピクチャのPOC
【0158】
なお、ピクチャ間距離、及びスケール係数ScaleFactorは正の値に限らず、負の値となることもある。
【0159】
本実施の形態においては、図26のステップS5206において、現在のピクチャのPOCから、マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]で参照されるL0予測の参照ピクチャのPOCを減算することにより導出されるピクチャ間距離の値が1の場合にのみ、スケーリング単予測マージ候補の補充処理を行うことにしているため、スケール係数ScaleFactorを、現在のピクチャのPOCから、L0の参照インデックスrefIdxL0Scaledに対応する参照ピクチャのPOCを減算することにより導出されるピクチャ間距離の値に設定することができ、スケール係数ScaleFactor導出処理を単純化することができる。さらに、スケール係数ScaleFactorは整数となり、演算量の多い除算を伴わない整数倍のスケーリング演算処理を行うことができる。
【0160】
続いて、次式によりマージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]のL0の動きベクトルmvL0にスケール係数ScaleFactorを乗じることでスケーリング演算処理を行い、スケールされた単予測マージ候補のL0の動きベクトルmvL0Scaledを導出する(ステップS5305)。
mvL0Scaled=ScaleFactor * mergeCandList[i]のL0の動きベクトルmvL0
【0161】
続いて、フラグpredFlagL0Scaledを1に設定し、フラグpredFlagL1Scaledを0に設定する(ステップS5306)。
【0162】
続いて、スケールされた単予測マージ候補数numScaledCandがmaxNumScaledCandに1を加算する(ステップS5307)。
【0163】
続いて、マージ候補リストmergeCandList内に登録されているすべてのマージ候補と導出されたスケーリング単予測マージ候補を比較する(ステップS5308)。マージ候補リスト内に導出されたスケーリング単予測マージ候補と同じマージ候補が存在しない場合(ステップS5309のYES)、マージ候補リストmergeCandListの最後に導出されたスケーリング単予測マージ候補を登録し(ステップS5310)、現在のマージ候補数numMergeCandに1を加算し(ステップS5311)、図27のスケーリング単予測マージ候補補充処理を終了する。マージ候補リスト内に導出されたスケーリング単予測マージ候補と同じマージ候補が存在する場合(ステップS5309のNO)、導出されたスケーリング単予測マージ候補をマージ候補リストに登録せずに、図27のスケーリング単予測マージ候補補充処理を終了する。
【0164】
再び、図26に戻り、インデックスiに1を加算する(ステップS5208)。
【0165】
インデックスiが第一マージ候補数numFirstMergeCandより小さい場合は、ステップS5204からステップS5208までの処理を繰り返し(ステップS5203〜S5209)、条件を満たさない場合に、図27のスケーリング単予測マージ候補補充処理を終了する。
【0166】
次に、図25のS5104のスライスタイプslice_typeがBスライスでのスケーリング双予測マージ候補の補充(導出・登録)方法について詳細に説明する。図28は図25のステップS5104のスライスタイプslice_typeがBスライスでの整数倍のスケーリング双予測マージ候補の補充処理手順を説明するフローチャートである。
【0167】
まず、マージ候補リストのインデックスi、スケールされたマージ候補数を示す変数numScaledCandを0に初期化し、これまでにマージ候補リストに登録されたマージ候補数を示す変数である第一マージ候補数numFirstMergeCandを現在のマージ候補数numMergeCandの値に設定する(ステップS5401)。続いて、ステップS5402以降の繰り返し処理を行う。変数jを0に初期化する(ステップS5403)。続いて、ステップS5404以降の繰り返し処理を行う。現在のマージ候補数numMergeCandが最終マージ候補数finalNumMergeCandより小さい場合に(ステップS5405のYES)、ステップS5406以降の処理を行い、現在のマージ候補数numMergeCandが最終マージ候補数finalNumMergeCand以上の場合に(ステップS5405のNO)、図28のスケーリング双予測マージ候補補充処理手順を終了する。次に、スケールされたマージ候補数numScaledCandが規定された最大スケーリングマージ候補導出処理回数maxNumScaledCandより小さい場合に(S5406のYES)、ステップS5407以降の処理を行い、スケールされたマージ候補数numScaledCandが規定された最大スケーリングマージ候補導出処理回数maxNumScaledCand以上の場合に(S5406のNO)、図28のスケーリング双予測マージ候補補充処理手順を終了する。次に、変数jが0の際に(ステップS5407のYES)、LXはL0、LYはL1とし(ステップS5408)、変数jが1の際に(ステップS5407のNO)、LXはL1、LYはL0とする(ステップS5409)。続いて、マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]でLX予測されている場合(ステップS5410のYES)、ステップS5411以降のスケーリング双予測マージ候補補充処理を行い、マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]でLX予測されていない場合(ステップS5410のNO)、ステップS5411からステップS5413のスケーリング双予測マージ候補補充処理を行わずに、ステップS5414以降の処理を行う。
【0168】
次に、現在のピクチャのPOCから、マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]で参照されるLX予測の参照ピクチャのPOCを減算することにより導出されるピクチャ間距離の値が1の場合(ステップS5411のYES)、図29の第1のスケーリング双予測マージ候補の補充処理を行い(ステップS5412)、マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]で参照されるLX予測の参照ピクチャのPOCを減算することにより導出されるピクチャ間距離の値が1でない場合(ステップS5411のNO)、図30の第2のスケーリング双予測マージ候補の補充処理を行う(ステップS5413)。本実施の形態においては、スライスタイプslice_typeがBスライスの際に、現在のピクチャのPOCから、マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]で参照されるL0予測の参照ピクチャのPOCを減算することにより導出されるピクチャ間距離の値が1の場合に整数倍のスケール係数ScaleFactorを導出してスケーリング演算処理を行う第1のスケーリング双予測マージ候補の補充処理を行う。さらに、現在のピクチャのPOCから、マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]で参照されるL0予測の参照ピクチャのPOCを減算することにより導出されるピクチャ間距離の値が1でない場合に−1倍のスケール係数ScaleFactorとして、−1倍に対応するフレーム間距離の参照ピクチャを選択し、スケーリング演算処理を行う第2のスケーリング双予測マージ候補の補充処理を行う。このように、現在のピクチャのPOCから、マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]で参照されるL0予測の参照ピクチャのPOCを減算することにより導出されるピクチャ間距離の値が1の場合にのみスケール係数ScaleFactorを算出し、導出されるピクチャ間距離の値が1でない場合は−1倍のスケール係数ScaleFactorとし、−1倍に対応するフレーム間距離の参照ピクチャを選択することで、スケール係数ScaleFactorの導出処理を単純化するとともに、演算量の多い除算を含むスケーリング演算処理を除外し、除算に比べて演算量の少ない乗算のみによるスケーリング演算処理を行う。
【0169】
図29は図28のステップS5412の整数倍のスケール係数ScaleFactorを導出してスケーリング演算処理を行う第1のスケーリング双予測マージ候補の補充処理手順を説明するフローチャートである。既にマージ候補リストに登録されているマージ候補のL0またはL1の一方の動きベクトルから整数倍によるスケーリング演算処理によりもう一方の動きベクトルを導出してこれら2つの動きベクトルを利用する双予測マージ候補とする。
【0170】
まず、LYの参照インデックスkを0に初期化する(ステップS5501)。続いて、ステップS5502以降の繰り返し処理を行う。マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]で参照されるLX予測の参照ピクチャのPOCとLYの参照インデックスkに対応する参照ピクチャRefPicListLY[k]のPOCが異なる場合(ステップS5503−1のYES)、ステップS5504−1以降の整数倍によるスケーリング演算処理を行い、マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]で参照されるLX予測の参照ピクチャのPOCとLYの参照インデックスkに対応する参照ピクチャRefPicListLY[k]のPOCが同じ場合(ステップS5503−1のNO)、ステップS5504−1以降の処理を行わずに、参照インデックスkに1を加算する(S5513)。参照インデックスkがLYの参照インデックス数numRefIdxLYより小さい場合は(ステップS5502〜S5514)、再びステップS5503−1の条件判断を行い(ステップS5503−1)、参照インデックスkがLYの参照インデックス数numRefIdxLYに達した場合は、図29の第1のスケーリング双予測マージ候補補充処理を終了する。ただし、図29の第1のスケーリング双予測マージ候補の補充処理手順においては、LYの参照リストRefPicListLYには同じ参照ピクチャが複数登録されることが無いので、ステップS5503−1の条件が2回以上NOとなることが無く、ステップS5502からS5514までの繰り返し処理が3回以上繰り返されることは無い。
【0171】
ステップS5503−1においてYESの場合、次式により、スケール係数ScaleFactorを、現在のピクチャのPOCから、LYの参照インデックスkに対応する参照ピクチャRefPicListLY[k]のPOCを減算することにより導出されるピクチャ間距離の値に設定する(ステップS5504−1)。
ScalingFactor=現在のピクチャのPOC−LYの参照インデックスkに対応する参照ピクチャRefPicListLY[k]のPOC
【0172】
なお、ピクチャ間距離、及びスケール係数ScaleFactorは正の値に限らず、負の値となることもある。
【0173】
本実施の形態においては、図28のステップS5411において、現在のピクチャのPOCから、マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]で参照されるLX予測の参照ピクチャのPOCを減算することにより導出されるピクチャ間距離の値が1の場合にのみ、第1のスケーリング双予測マージ候補の補充処理を行うことにしているため、スケール係数ScaleFactorを、現在のピクチャのPOCから、LYの参照インデックスkに対応する参照ピクチャRefPicListLY[k]のPOCを減算することにより導出されるピクチャ間距離の値に設定することができ、スケール係数ScaleFactor導出処理を単純化することができる。さらに、スケール係数ScaleFactorは整数となり、演算量の多い除算を伴わない整数倍のスケーリング演算処理を行うことができる。
【0174】
続いて、スケールされた双予測マージ候補のLXの動きベクトルmvLXScaledをマージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]のLXの動きベクトルmvLXの値に設定し、次式によりマージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]のLXの動きベクトルmvLXにスケール係数ScaleFactorを乗じることでスケーリング演算処理を行い、スケールされた双予測マージ候補のLYの動きベクトルmvLYScaledを導出する(ステップS5505)。
mvLXScaled=mergeCandList[i]のLXの動きベクトルmvLX
mvLYScaled=ScaleFactor * mergeCandList[i]のLXの動きベクトルmvLX
【0175】
続いて、スケールされた双予測マージ候補のLXの参照インデックスrefIdxLXScaledをマージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]のLXの参照インデックスrefIdxLXの値に設定し、スケールされた双予測マージ候補のLYの参照インデックスrefIdxLYScaledを参照インデックスkの値に設定する(ステップS5506)。
【0176】
続いて、フラグpredFlagL0Scaled及びフラグpredFlagL1Scaledを共に1に設定する(ステップS5507)。
【0177】
続いて、スケールされたマージ候補数numScaledCandがmaxNumScaledCandに1を加算する(ステップS5508)。
【0178】
続いて、マージ候補リストmergeCandList内に登録されているすべてのマージ候補と導出されたスケーリング双予測マージ候補を比較する(ステップS5509)。マージ候補リスト内に導出されたスケーリング双予測マージ候補と同じマージ候補が存在しない場合(ステップS5510のYES)、導出されたスケーリング双予測マージ候補をマージ候補リストに登録し(ステップS5511)、現在のマージ候補数numMergeCandに1を加算し(ステップS5512)、図29のスケーリング双予測マージ候補補充処理を終了する。マージ候補リスト内に導出されたスケーリング双予測マージ候補と同じマージ候補が存在する場合(ステップS5510のNO)、導出されたスケーリング双予測マージ候補をマージ候補リストに登録せずに、図29のスケーリング双予測マージ候補補充処理を終了する。
【0179】
次に、図28のステップS5413の第2のスケーリング双予測マージ候補の補充処理手順を説明する。図30は図28のステップS5413の−1倍のスケール係数ScaleFactorとしてスケーリング演算処理を行う第2のスケーリング双予測マージ候補の補充処理手順を説明するフローチャートである。既にマージ候補リストに登録されているマージ候補のL0またはL1の一方の動きベクトルから−1倍によるスケーリング演算処理によりもう一方の動きベクトルを導出してこれら2つの動きベクトルを利用する双予測マージ候補とする。図30の第2のスケーリング双予測マージ候補の補充処理手順は、図29の第1のスケーリング双予測マージ候補の補充処理手順とはステップ5503−1及びステップ5504−1がそれぞれステップS5503−2及びステップ5504−2となっている点が異なり、それ以外のステップの処理は同じである。そこで、図29の第1のスケーリング双予測マージ候補の補充処理手順と異なるステップS5503−2及びステップ5504−2についてのみ説明する。
【0180】
現在のピクチャのPOCからマージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]のLX予測の参照ピクチャのPOCを減算したピクチャ間距離と、現在のピクチャのPOCからLYの参照インデックスkに対応する参照ピクチャRefPicListLY[k]のPOCを減算したピクチャ間距離の大きさ(絶対値の値)が同じで正負の符号が異なる場合(ステップS5503−2のYES)、ステップS5504−2以降の−1倍によるスケーリング演算処理を行い、それ以外の場合(ステップS5503−2のNO)、ステップS5513以降の処理を行う。
【0181】
ステップS5503−2においてYESの場合、スケール係数ScaleFactorを−1に設定する(ステップS5504−2)。
【0182】
本実施の形態においては、図30のステップS5503−2において、現在のピクチャのPOCからマージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]のLX予測の参照ピクチャのPOCを減算したピクチャ間距離と、現在のピクチャのPOCからLYの参照インデックスkに対応する参照ピクチャRefPicListLY[k]のPOCを減算したピクチャ間距離の大きさ(絶対値の値)が同じで正負の符号が異なる場合を判別して、その条件を満たすLYの参照インデックスkに決定することとし、スケール係数ScaleFactorを−1に設定することで、スケール係数ScaleFactor導出処理を単純化している。さらに、スケール係数ScaleFactorは−1であるので、演算量の多い除算を伴わないスケーリング演算処理を行うことができる。
【0183】
続くステップS5505以降の処理は図29と同様である。ただし、ステップS5505において、スケール係数ScaleFactorは−1であるので、マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]のLXの動きベクトルmvLXにスケール係数ScaleFactorである−1を乗算することで、スケールされた双予測マージ候補のLYの動きベクトルmvLYScaledを導出する代わりに、マージ候補リストに登録されているインデックスiで示されるマージ候補mergeCandList[i]のLXの動きベクトルmvLXの正負の符号を反転した値にスケールされた双予測マージ候補のLYの動きベクトルmvLYScaledを設定してもよい。
【0184】
再び図28に戻り、変数jに1を加算する(ステップS5414)。
変数jが2より小さい場合に、ステップS5405からステップS5414までの処理を繰り返す(ステップS5404〜S5415)。
【0185】
ステップS5404〜S5415の繰り返し処理が終了した後、インデックスiに1を加算する(ステップS5416)。
【0186】
インデックスiが第一マージ候補数numFirstMergeCandより小さい場合は、ステップS5403からステップS5416までの処理を繰り返し(ステップS5402〜S5417)、条件を満たさない場合に、図28のスケーリング双予測マージ候補補充処理手順を終了する。
【0187】
なお、本実施の形態においては、図28のスケーリング双予測マージ候補補充処理において、ステップS5412の第1のスケーリング双予測マージ候補補充処理とS5413の第2のスケーリング双予測マージ候補補充処理を共に利用するものとして説明したが、いずれか一方のみを利用する構成であってもよい。
【0188】
以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。
【0189】
動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。
【0190】
動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。
【0191】
以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
【0192】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【0193】
101 画像メモリ、 117 ヘッダ情報設定部、 102 動きベクトル検出部、 103 差分動きベクトル算出部、 104 インター予測情報導出部、 105 動き補償予測部、 106 イントラ予測部、 107 予測方法決定部、 108 残差信号生成部、 109 直交変換・量子化部、 118 第1符号化ビット列生成部、110 第2符号化ビット列生成部、 111 第3符号化ビット列生成部、 112 多重化部、 113 逆量子化・逆直交変換部、 114 復号画像信号重畳部、 115 符号化情報格納メモリ、 116 復号画像メモリ、 130 空間マージ候補生成部、 131 時間マージ候補の参照インデックス導出部、 132 時間マージ候補生成部、 133 マージ候補登録部、 134 マージ候補同一判定部、 135 マージ候補数制限部、 136 マージ候補補充部、 137 符号化情報選択部、 201 分離部、 212 第1符号化ビット列復号部、 202 第2符号化ビット列復号部、 203 第3符号化ビット列復号部、 204 動きベクトル算出部、 205 インター予測情報導出部、 206 動き補償予測部、 207 イントラ予測部、 208 逆量子化・逆直交変換部、 209 復号画像信号重畳部、 210 符号化情報格納メモリ、 211 復号画像メモリ、 230 空間マージ候補生成部、 231 時間マージ候補の参照インデックス導出部、 232 時間マージ候補生成部、 233 マージ候補登録部、 234 マージ候補同一判定部、 235 マージ候補数制限部、 236 マージ候補補充部、 237 符号化情報選択部。

【特許請求の範囲】
【請求項1】
動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置であって、
復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックから、動きベクトルの情報と参照ピクチャの情報とを含むインター予測情報の候補を導出する予測情報導出部と、
前記復号対象の予測ブロックを含むピクチャと前記参照ピクチャのピクチャ間距離が1であるインター予測情報の候補の動きベクトルを整数倍することによりスケーリング演算して、新たなインター予測情報の候補を生成し、インター予測情報の候補として補充する候補補充部と、
前記候補補充部による補充後の前記インター予測情報の候補から1つのインター予測情報の候補を選択して、その選択したインター予測情報の候補により前記復号対象の予測ブロックのインター予測を行う動き補償予測部とを備えることを特徴とする動画像復号装置。
【請求項2】
前記候補補充部は、
前記ピクチャ間距離が1であるインター予測情報の候補における参照ピクチャの参照インデックスが第1の規定値である場合、前記新たなインター予測情報の候補における参照ピクチャの参照インデックスを第2の規定値に設定し、
前記ピクチャ間距離が1であるインター予測情報の候補における参照ピクチャの参照インデックスが第1の規定値でない場合、前記新たなインター予測情報の候補における参照ピクチャの参照インデックスを第1の規定値に設定することを特徴とする請求項1に記載の動画像復号装置。
【請求項3】
動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置であって、
Bスライスにおける復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックから、動きベクトルの情報と参照ピクチャの情報とを含む双予測のインター予測情報の候補を導出する予測情報導出部と、
前記復号対象の予測ブロックを含むピクチャと第1予測の前記参照ピクチャのピクチャ間距離が1である双予測のインター予測情報の候補において、前記第1予測の動きベクトルを整数倍にスケーリング演算したものをもう一方の第2予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成するか、あるいは、前記復号対象の予測ブロックを含むピクチャと前記第2予測の前記参照ピクチャのピクチャ間距離が1である双予測のインター予測情報の候補において、前記第2予測の動きベクトルを整数倍にスケーリング演算したものを第1予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成し、双予測のインター予測情報の候補として補充する候補補充部と、
前記候補補充部による補充後の前記双予測のインター予測情報の候補から1つの双予測のインター予測情報の候補を選択して、その選択した双予測のインター予測情報の候補により前記復号対象の予測ブロックの双予測のインター予測を行う動き補償予測部とを備えることを特徴とする動画像復号装置。
【請求項4】
前記候補補充部は、
前記復号対象の予測ブロックを含むピクチャと第1予測の前記参照ピクチャのピクチャ間距離が1である双予測のインター予測情報の候補において、前記第1予測の動きベクトルを整数倍にスケーリング演算したものを第2予測の動きベクトルとする場合は、第2予測の参照ピクチャの参照インデックスを0から順番に調べて、整数倍にスケーリング演算された第2予測の動きベクトルに合った参照インデックスに設定し、
前記復号対象の予測ブロックを含むピクチャと前記第2予測の前記参照ピクチャのピクチャ間距離が1である双予測のインター予測情報の候補において、前記第2予測の動きベクトルを整数倍にスケーリング演算したものを第1予測の動きベクトルとする場合は、第1予測の参照ピクチャの参照インデックスを0から順番に調べて、整数倍にスケーリング演算された第1予測の動きベクトルに合った参照インデックスに設定することを特徴とする請求項3に記載の動画像復号装置。
【請求項5】
動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号装置であって、
Bスライスにおける復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックから、動きベクトルの情報と参照ピクチャの情報とを含む双予測のインター予測情報の候補を導出する予測情報導出部と、
前記復号対象の予測ブロックを含むピクチャと第1予測の参照ピクチャのピクチャ間距離が1以外の双予測のインター予測情報の候補において、前記第1予測の動きベクトルを−1倍にスケーリング演算したものをもう一方の第2予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成するか、あるいは、前記復号対象の予測ブロックを含むピクチャと第2予測の参照ピクチャのピクチャ間距離が1以外の双予測のインター予測情報の候補において、前記第2予測の動きベクトルを−1倍にスケーリング演算したものを第1予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成し、双予測のインター予測情報の候補として補充する候補補充部と、
前記候補補充部による補充後の前記双予測のインター予測情報の候補から1つの双予測のインター予測情報の候補を選択して、その選択した双予測のインター予測情報の候補により前記復号対象の予測ブロックの双予測のインター予測を行う動き補償予測部とを備えることを特徴とする動画像復号装置。
【請求項6】
前記候補補充部は、
前記復号対象の予測ブロックを含むピクチャと第1予測の参照ピクチャのピクチャ間距離が1以外の双予測のインター予測情報の候補において、前記第1予測の動きベクトルを−1倍にスケーリング演算したものを第2予測の動きベクトルとする場合は、第2予測の参照ピクチャの参照インデックスを0から順番に調べて、−1倍にスケーリング演算された第2予測の動きベクトルに合った参照インデックスに設定し、
前記復号対象の予測ブロックを含むピクチャと第2予測の参照ピクチャのピクチャ間距離が1以外の双予測のインター予測情報の候補において、前記第2予測の動きベクトルを−1倍にスケーリング演算したものを第1予測の動きベクトルとする場合は、第1予測の参照ピクチャの参照インデックスを0から順番に調べて、−1倍にスケーリング演算された第1予測の動きベクトルに合った参照インデックスに設定することを特徴とする請求項5に記載の動画像復号装置。
【請求項7】
動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号方法であって、
復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックから、動きベクトルの情報と参照ピクチャの情報とを含むインター予測情報の候補を導出する予測情報導出ステップと、
前記復号対象の予測ブロックを含むピクチャと前記参照ピクチャのピクチャ間距離が1であるインター予測情報の候補の動きベクトルを整数倍することによりスケーリング演算して、新たなインター予測情報の候補を生成し、インター予測情報の候補として補充する候補補充ステップと、
前記候補補充ステップによる補充後の前記インター予測情報の候補から1つのインター予測情報の候補を選択して、その選択したインター予測情報の候補により前記復号対象の予測ブロックのインター予測を行う動き補償予測ステップとを備えることを特徴とする動画像復号方法。
【請求項8】
動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号方法であって、
Bスライスにおける復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックから、動きベクトルの情報と参照ピクチャの情報とを含む双予測のインター予測情報の候補を導出する予測情報導出ステップと、
前記復号対象の予測ブロックを含むピクチャと第1予測の前記参照ピクチャのピクチャ間距離が1である双予測のインター予測情報の候補において、前記第1予測の動きベクトルを整数倍にスケーリング演算したものをもう一方の第2予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成するか、あるいは、前記復号対象の予測ブロックを含むピクチャと前記第2予測の前記参照ピクチャのピクチャ間距離が1である双予測のインター予測情報の候補において、前記第2予測の動きベクトルを整数倍にスケーリング演算したものを第1予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成し、双予測のインター予測情報の候補として補充する候補補充ステップと、
前記候補補充ステップによる補充後の前記双予測のインター予測情報の候補から1つの双予測のインター予測情報の候補を選択して、その選択した双予測のインター予測情報の候補により前記復号対象の予測ブロックの双予測のインター予測を行う動き補償予測ステップとを備えることを特徴とする動画像復号方法。
【請求項9】
動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号方法であって、
Bスライスにおける復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックから、動きベクトルの情報と参照ピクチャの情報とを含む双予測のインター予測情報の候補を導出する予測情報導出ステップと、
前記復号対象の予測ブロックを含むピクチャと第1予測の参照ピクチャのピクチャ間距離が1以外の双予測のインター予測情報の候補において、前記第1予測の動きベクトルを−1倍にスケーリング演算したものをもう一方の第2予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成するか、あるいは、前記復号対象の予測ブロックを含むピクチャと第2予測の参照ピクチャのピクチャ間距離が1以外の双予測のインター予測情報の候補において、前記第2予測の動きベクトルを−1倍にスケーリング演算したものを第1予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成し、双予測のインター予測情報の候補として補充する候補補充ステップと、
前記候補補充ステップによる補充後の前記双予測のインター予測情報の候補から1つの双予測のインター予測情報の候補を選択して、その選択した双予測のインター予測情報の候補により前記復号対象の予測ブロックの双予測のインター予測を行う動き補償予測ステップとを備えることを特徴とする動画像復号方法。
【請求項10】
動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号プログラムであって、
復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックから、動きベクトルの情報と参照ピクチャの情報とを含むインター予測情報の候補を導出する予測情報導出ステップと、
前記復号対象の予測ブロックを含むピクチャと前記参照ピクチャのピクチャ間距離が1であるインター予測情報の候補の動きベクトルを整数倍することによりスケーリング演算して、新たなインター予測情報の候補を生成し、インター予測情報の候補として補充する候補補充ステップと、
前記候補補充ステップによる補充後の前記インター予測情報の候補から1つのインター予測情報の候補を選択して、その選択したインター予測情報の候補により前記復号対象の予測ブロックのインター予測を行う動き補償予測ステップとをコンピュータに実行させることを特徴とする動画像復号プログラム。
【請求項11】
動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号プログラムであって、
Bスライスにおける復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックから、動きベクトルの情報と参照ピクチャの情報とを含む双予測のインター予測情報の候補を導出する予測情報導出ステップと、
前記復号対象の予測ブロックを含むピクチャと第1予測の前記参照ピクチャのピクチャ間距離が1である双予測のインター予測情報の候補において、前記第1予測の動きベクトルを整数倍にスケーリング演算したものをもう一方の第2予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成するか、あるいは、前記復号対象の予測ブロックを含むピクチャと前記第2予測の前記参照ピクチャのピクチャ間距離が1である双予測のインター予測情報の候補において、前記第2予測の動きベクトルを整数倍にスケーリング演算したものを第1予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成し、双予測のインター予測情報の候補として補充する候補補充ステップと、
前記候補補充ステップによる補充後の前記双予測のインター予測情報の候補から1つの双予測のインター予測情報の候補を選択して、その選択した双予測のインター予測情報の候補により前記復号対象の予測ブロックの双予測のインター予測を行う動き補償予測ステップとをコンピュータに実行させることを特徴とする動画像復号プログラム。
【請求項12】
動画像の各ピクチャを分割したブロック単位で動き補償予測を用いて前記動画像が符号化された符号化ビット列を復号する動画像復号プログラムであって、
Bスライスにおける復号対象の予測ブロックに隣接する予測ブロック、または復号対象の予測ブロックと時間的に異なる復号済みのピクチャにおける前記復号対象の予測ブロックと同一位置あるいはその付近に存在する予測ブロックから、動きベクトルの情報と参照ピクチャの情報とを含む双予測のインター予測情報の候補を導出する予測情報導出ステップと、
前記復号対象の予測ブロックを含むピクチャと第1予測の参照ピクチャのピクチャ間距離が1以外の双予測のインター予測情報の候補において、前記第1予測の動きベクトルを−1倍にスケーリング演算したものをもう一方の第2予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成するか、あるいは、前記復号対象の予測ブロックを含むピクチャと第2予測の参照ピクチャのピクチャ間距離が1以外の双予測のインター予測情報の候補において、前記第2予測の動きベクトルを−1倍にスケーリング演算したものを第1予測の動きベクトルとすることにより、新たな双予測のインター予測情報の候補を生成し、双予測のインター予測情報の候補として補充する候補補充ステップと、
前記候補補充ステップによる補充後の前記双予測のインター予測情報の候補から1つの双予測のインター予測情報の候補を選択して、その選択した双予測のインター予測情報の候補により前記復号対象の予測ブロックの双予測のインター予測を行う動き補償予測ステップとをコンピュータに実行させることを特徴とする動画像復号プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate


【公開番号】特開2013−102260(P2013−102260A)
【公開日】平成25年5月23日(2013.5.23)
【国際特許分類】
【出願番号】特願2011−243410(P2011−243410)
【出願日】平成23年11月7日(2011.11.7)
【出願人】(308036402)株式会社JVCケンウッド (1,152)
【Fターム(参考)】