(57)【要約】      （修正有）【課題】マージモードの動きベクトルを補正することにより、より高効率となるインター予測モードを提供する。【解決手段】画像復号装置のインター予測部は、マージ候補リスト生成し、マージ候補リストからマージ候補を選択マージ候補として選択し、符号化ストリームから符号列を復号して補正ベクトルを導出し、選択マージ候補の第１予測の動きベクトル記補正ベクトルをスケーリングしないで加算し、選択マージ候補の第２予測の動きベクトルに補正ベクトルをスケーリングしないで減算して補正マージ候補を導出する。【選択図】図３
2020099037.tif 000002
【特許請求の範囲】
【請求項１】
予測対象ブロックに隣接する複数のブロックの動き情報をマージ候補として含むマージ候補リストを生成するマージ候補リスト生成部と、
前記マージ候補リストからマージ候補を選択マージ候補として選択するマージ候補選択部と、
符号化ストリームから符号列を復号して補正ベクトルを導出する符号列復号部と、
前記選択マージ候補の第１予測の動きベクトルに前記補正ベクトルをスケーリングしないで加算し、前記選択マージ候補の第２予測の動きベクトルに前記補正ベクトルをスケーリングしないで減算して補正マージ候補を導出するマージ候補補正部と、
を備えることを特徴とする画像復号装置。
【請求項２】
前記符号列復号部は、前記符号化ストリームからマージフラグを取得して前記マージフラグがマージモードであることを示す場合にさらにマージ補正フラグを取得し、前記マージ補正フラグに基づいて、前記符号列を復号する請求項１に記載の画像復号装置。
【請求項３】
前記マージ候補リストは、前記予測対象ブロックと同一位置にある復号画像上のブロックの動きベクトルをスケーリングして導出される動きベクトルを含む時間マージ候補を含む請求項１または請求項２に記載の画像復号装置。
【請求項４】
前記選択マージ候補と前記補正マージ候補はいずれも双予測である請求項１から請求項３に記載の画像復号装置。
【請求項５】
前記マージ候補補正部は、前記選択マージ候補の第１予測の参照ピクチャと前記選択マージ候補の第２予測の参照ピクチャが前記予測対象ブロックに対して時間的に逆方向である場合、前記補正マージ候補を導出する請求項４に記載の画像復号装置。
【請求項６】
前記マージ候補補正部は、前記選択マージ候補の第１予測の参照ピクチャが長期間ピクチャまたは前記選択マージ候補の第２予測の参照ピクチャが長期間ピクチャである場合、前記双予測の補正マージ候補を生成する請求項４または請求項５に記載の画像復号装置。
【請求項７】
インター予測を行う画像復号装置であって、
予測対象ブロックに隣接する複数のブロックの動き情報からマージ候補リストを生成するマージ候補リスト生成部と、
符号化ストリームからマージインデックスを復号する符号列復号部と、
前記マージ候補リストから前記マージインデックスに基づいて１つのマージ候補を選択して選択マージ候補とするマージ候補選択部と、
マージ補正フラグに基づいて前記選択マージ候補を補正するか否かを判定するマージ候補補正判定部と、
前記選択マージ候補を補正する場合に前記選択マージ候補のＬ０予測の動きベクトルにＬ０予測の差分動きベクトルを加算して補正マージ候補を生成するマージ候補補正部と、
前記選択マージ候補を補正する場合は、前記補正マージ候補の動き情報に基づいてインター予測を行い、前記補正マージ候補を導出しない場合は、前記選択マージ候補の動き情報に基づいてインター予測を行うインター予測部とを含み、
前記符号列復号部は、前記選択マージ候補のＬ０予測が有効である場合、前記符号化ストリームから前記マージ補正フラグを復号することを特徴とする画像復号装置。
【請求項８】
予測対象ブロックに隣接する複数のブロックの動き情報をマージ候補として含むマージ候補リストを生成するマージ候補リスト生成ステップと、
前記マージ候補リストからマージ候補を選択マージ候補として選択するマージ候補選択ステップと、
符号化ストリームから符号列を復号して補正ベクトルを導出する符号列復号ステップと、
前記選択マージ候補の第１予測の動きベクトルに前記補正ベクトルをスケーリングしないで加算し、前記選択マージ候補の第２予測の動きベクトルに前記補正ベクトルをスケーリングしないで減算して補正マージ候補を導出するマージ候補補正ステップと、
を有することを特徴とする画像復号方法。
【請求項９】
予測対象ブロックに隣接する複数のブロックの動き情報をマージ候補として含むマージ候補リストを生成するマージ候補リスト生成ステップと、
前記マージ候補リストからマージ候補を選択マージ候補として選択するマージ候補選択ステップと、
符号化ストリームから符号列を復号して補正ベクトルを導出する符号列復号ステップと、
前記選択マージ候補の第１予測の動きベクトルに前記補正ベクトルをスケーリングしないで加算し、前記選択マージ候補の第２予測の動きベクトルに前記補正ベクトルをスケーリングしないで減算して補正マージ候補を導出するマージ候補補正ステップと、
をコンピュータに実行させことを特徴とする画像復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像復号技術に関する。
【背景技術】
【０００２】
ＨＥＶＣ（Ｈ．２６５）などの画像符号化技術がある。ＨＥＶＣではインター予測モードとしてマージモードが利用されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−２７６４３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＨＥＶＣでは、インター予測モードとしてマージモードと差分動きベクトルモードがあるが、マージモードの動きベクトルを補正することで符号化効率をより高める余地があることに発明者は認識するに至った。
【０００５】
本発明はこうした状況に鑑みてなされたものであり、その目的は、マージモードの動きベクトルを補正することにより、より高効率となる新たなインター予測モードを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の画像復号装置は、予測対象ブロックに隣接する複数のブロックの動き情報をマージ候補として含むマージ候補リストを生成するマージ候補リスト生成部と、前記マージ候補リストからマージ候補を選択マージ候補として選択するマージ候補選択部と、符号化ストリームから符号列を復号して補正ベクトルを導出する符号列復号部と、前記選択マージ候補の第１予測の動きベクトルに前記補正ベクトルをスケーリングしないで加算し、前記選択マージ候補の第２予測の動きベクトルに前記補正ベクトルをスケーリングしないで減算して補正マージ候補を導出するマージ候補補正部と、を備える。
【０００７】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば、より高効率となる新たなインター予測モードを提供するできることができる。
【図面の簡単な説明】
【０００９】
【図１】図１（ａ）は、第１の実施の形態に係る画像符号化装置１００の構成を説明する図であり、図１（ｂ）は、第１の実施の形態に係る画像復号装置２００の構成を説明する図である。
【図２】入力画像がブロックサイズに基づいて、ブロックに分割されている例を示す図である。
【図３】図１（ａ）の画像符号化装置のインター予測部の構成を説明する図である。
【図４】第１の実施の形態のマージモードの動作を説明するフローチャートである。
【図５】図１（ａ）の画像符号化装置のマージ候補リスト生成部の構成を説明する図である。
【図６】処理対象ブロックに隣接するブロックを説明する図である。
【図７】処理対象ブロックと同一位置及びその周辺にある復号画像上のブロックを説明する図である。
【図８】第１の実施の形態のマージモードであるブロックのシンタックスの一部を示す図である。
【図９】第１の実施の形態の差分動きベクトルのシンタックスを示す図である。
【図１０】第１の実施の形態のある変形例の差分動きベクトルのシンタックスを示す図である。
【図１１】第１の実施の形態の別の変形例のマージモードであるブロックのシンタックスの一部を示す図である。
【図１２】第１の実施の形態のさらに別の変形例のマージモードであるブロックのシンタックスの一部を示す図である。
【図１３】第２の実施の形態のマージモードの動作を説明するフローチャートである。
【図１４】第２の実施の形態のマージモードであるブロックのシンタックスの一部を示す図である。
【図１５】第２の実施の形態の差分動きベクトルのシンタックスを示す図である。
【図１６】第１の実施の形態の変形例８の効果を説明する図である。
【図１７】第１の実施の形態の変形例８のピクチャ間隔が等間隔でない場合の効果を説明する図である。
【図１８】第１の実施の形態の符号化復号装置のハードウェア構成の一例を説明するための図である。
【発明を実施するための形態】
【００１０】
［第１の実施の形態］
以下、図面とともに本発明の第１の実施の形態に係る画像符号化装置、画像符号化方法、及び画像符号化プログラム、並びに画像復号装置、画像復号方法、及び画像復号プログラムの詳細について説明する。
【００１１】
図１（ａ）は、第１の実施の形態に係る画像符号化装置１００の構成を説明する図であり、図１（ｂ）は、第１の実施の形態に係る画像復号装置２００の構成を説明する図である。
【００１２】
本実施の形態の画像符号化装置１００は、ブロックサイズ決定部１１０、インター予測部１２０、変換部１３０、符号列生成部１４０、局部復号部１５０、およびフレームメモリ１６０を含む。画像符号化装置１００は、入力画像の入力を受け、イントラ予測及びインター予測を行い、符号化ストリームを出力する。以降、画像とピクチャは同一の意味で用いる。
【００１３】
画像復号装置２００は、符号列復号部２１０、インター予測部２２０、逆変換部２３０、およびフレームメモリ２４０を含む。画像復号装置２００は、画像符号化装置１００より出力された符号化ストリームの入力を受け、イントラ予測及びインター予測を行い、復号画像を出力する。
【００１４】
画像符号化装置１００と画像復号装置２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリなどを備える情報処理装置などのハードウェアにより実現される。
【００１５】
最初に、画像符号化装置１００の各部の機能と動作について説明する。イントラ予測はＨＥＶＣと同様に実施されるものとし、以降ではインター予測について説明する。
【００１６】
ブロックサイズ決定部１１０は、入力画像に基づいてインター予測するブロックサイズを決定し、決定したブロックサイズ、ブロックの位置とブロックサイズに該当する入力画素（入力値）をインター予測部１２０に供給する。ブロックサイズを決定する手法については、ＨＥＶＣの参照ソフトウェアに用いられているＲＤＯ（レート歪最適化）法などを用いる。
【００１７】
ここで、ブロックサイズについて説明する。図２は、画像符号化装置１００に入力される画像の一部の領域が、ブロックサイズ決定部１１０で決定されたブロックサイズに基づいて、ブロックに分割されている例を示す。ブロックサイズは４×４、８×４、４×８、８×８、１６×８、８×１６、３２×３２、・・・、１２８×６４、６４×１２８、１２８×１２８が存在し、入力される画像は各ブロックが重複しないように上記のいずれかのブロックサイズで分割される。
【００１８】
インター予測部１２０は、ブロックサイズ決定部１１０から入力された情報とフレームメモリ１６０から入力される参照ピクチャを利用して、インター予測に用いるインター予測パラメータを決定する。インター予測部１２０は、インター予測パラメータに基づいてインター予測して予測値を導出し、ブロックサイズ、ブロックの位置、入力値、インター予測パラメータと予測値を変換部１３０に供給する。インター予測パラメータを決定する手法については、ＨＥＶＣの参照ソフトウェアに用いられているＲＤＯ（レート歪最適化）法などを用いる。インター予測パラメータとインター予測部１２０の動作の詳細は後述する。
【００１９】
変換部１３０は、入力値から予測値を減算して差分値を算出し、算出した差分値に直交変換と量子化などの処理を行って予測誤差データを算出し、ブロックサイズ、ブロックの位置、インター予測パラメータ、及び予測誤差データを符号列生成部１４０及び局部復号部１５０に供給する。
【００２０】
符号列生成部１４０は、必要に応じてＳＰＳ（Ｓｅｑｕｅｎｃｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）、ＰＰＳ（Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）やその他の情報を符号化し、変換部１３０から供給されたブロックサイズを判定するための符号列を符号化し、インター予測パラメータを符号列として符号化し、予測誤差データを符号列として符号化して、符号化ストリームを出力する。インター予測パラメータの符号化の詳細については後述する。
【００２１】
局部復号部１５０は、予測誤差データに逆直交変換と逆量子化などの処理を行って差分値を復元し、差分値と予測値を加算して復号画像を生成し、復号画像とインター予測パラメータをフレームメモリ１６０に供給する。
【００２２】
フレームメモリ１６０は、復号画像とインター予測パラメータを複数画像分記憶して、復号画像とインター予測パラメータをインター予測部１２０に供給する。
【００２３】
続いて、画像復号装置２００の各部の機能と動作について説明する。イントラ予測はＨＥＶＣと同様に実施されるものとし、以降ではインター予測について説明する。
【００２４】
符号列復号部２１０は、符号化ストリームから必要に応じてＳＰＳ、ＰＰＳヘッダやその他の情報を復号し、ブロックサイズ、ブロックの位置、インター予測パラメータ、及び予測誤差データを符号化ストリームから復号し、ブロックサイズ、ブロックの位置、インター予測パラメータ、及び予測誤差データをインター予測部２２０に供給する。
【００２５】
インター予測部２２０は、符号列復号部２１０から入力された情報とフレームメモリ２４０から入力される参照ピクチャを利用して、インター予測して予測値を導出する。インター予測部２２０は、ブロックサイズ、ブロックの位置、インター予測パラメータ、予測誤差データ、及び予測値を逆変換部２３０に供給する。
【００２６】
逆変換部２３０は、インター予測部２２０から供給された予測誤差データに逆直交変換と逆量子化などの処理を行って差分値を算出し、差分値と予測値を加算して復号画像を生成し、復号画像とインター予測パラメータをフレームメモリ２４０に供給し、復号画像を出力する。
【００２７】
フレームメモリ２４０は、復号画像とインター予測パラメータを複数画像分記憶して、復号画像とインター予測パラメータをインター予測部２２０に供給する。
【００２８】
なお、インター予測部１２０とインター予測部２２０で実施されるインター予測は同一の動作であり、フレームメモリ１６０とフレームメモリ２４０に保存される復号画像とインター予測パラメータも同一となる。
【００２９】
続いて、インター予測パラメータについて説明する。インター予測パラメータには、マージフラグ、マージインデックス、予測ＬＸの有効フラグ、予測ＬＸの動きベクトル、予測ＬＸの参照ピクチャインデックス、マージ補正フラグ、及び予測ＬＸの差分動きベクトルが含まれる。ＬＸはＬ０とＬ１である。マージフラグはインター予測モードとしてマージモードまたは差分動きベクトルモードのどちらを利用するかを示すフラグである。マージフラグが１であればマージモードを利用し、マージフラグが０であれば差分動きベクトルモードを利用する。マージインデックスはマージ候補リスト内の選択マージ候補の位置を示すインデックスである。予測ＬＸの有効フラグは予測ＬＸが有効か無効かを示すフラグである。Ｌ０予測とＬ１予測の両方が有効であれば双予測、Ｌ０予測が有効でＬ１予測が無効であればＬ０予測、Ｌ１予測が有効でＬ０予測が無効であればＬ１予測となる。マージ補正フラグは、マージ候補の動き情報を補正するか否かを示すフラグである。マージ補正フラグが１であればマージ候補を補正し、マージ補正フラグが０であればマージ候補を補正しない。ここで、符号列生成部１４０は予測ＬＸの有効フラグを符号化ストリーム中に符号列として符号化しない。また、符号列復号部２１０は予測ＬＸの有効フラグを符号化ストリームから符号列として復号しない。参照ピクチャインデックスはフレームメモリ１６０内の復号画像を特定するためのインデックスである。また、Ｌ０予測の有効フラグ、Ｌ１予測の有効フラグ、Ｌ０予測の動きベクトル、Ｌ１予測の動きベクトル、Ｌ０予測の参照ピクチャインデックス、およびＬ１予測の参照ピクチャインデックスの組み合わせを動き情報とする。
【００３０】
なお、ブロックがイントラ符号化モードや画像の領域外などのブロックであれば、Ｌ０予測の有効フラグとＬ１予測の有効フラグはいずれも無効とする。
【００３１】
以降では、ピクチャタイプはＬ０予測の単方向予測、Ｌ１予測の単方向予測と双方向予測の全てが利用可能なＢピクチャとして説明するが、ピクチャタイプが単方向予測のみを利用可能なＰピクチャであってもよい。Ｐピクチャの場合のインター予測パラメータはＬ０予測のみが対象となり、Ｌ１予測は存在しないものとして処理する。一般的にＢピクチャで符号効率を向上させる場合、Ｌ０予測の参照ピクチャは予測対象ピクチャよりも過去のピクチャとなり、Ｌ１予測の参照ピクチャは予測対象ピクチャよりも未来のピクチャとなる。なぜなら、Ｌ０予測の参照ピクチャとＬ１予測の参照ピクチャが予測対象ピクチャから見て逆方向にある場合に内挿予測により符号化効率は向上するからである。Ｌ０予測の参照ピクチャとＬ１予測の参照ピクチャが予測対象ピクチャから見て逆方向にあるか否かは参照ピクチャのＰＯＣ（Ｐｉｃｔｕｒｅ  Ｏｒｄｅｒ Ｃｏｕｎｔ）を比較することで判定できる。以降では、Ｌ０予測の参照ピクチャとＬ１予測の参照ピクチャが予測対象ブロックのある予測対象ピクチャに対して時間的に逆方向であるとして説明する。
【００３２】
続いて、インター予測部１２０の詳細について説明する。特に断らない限り、画像符号化装置１００のインター予測部１２０と画像復号装置２００のインター予測部２２０の構成と動作は同一である。
【００３３】
図３は、インター予測部１２０の構成を説明する図である。インター予測部１２０はマージモード判定部１２１、マージ候補リスト生成部１２２、マージ候補選択部１２３、マージ候補補正判定部１２４、マージ候補補正部１２５、差分動きベクトルモード実施部１２６、及び予測値導出部１２７を含む。
【００３４】
インター予測部１２０は、インター予測モードとしてマージモードと差分動きベクトルモードをブロック毎に切り替える。差分動きベクトルモード実施部１２６で実施される差分動きベクトルモードはＨＥＶＣと同様に実施されるものとし、以降では主にマージモードについて説明する。
【００３５】
マージモード判定部１２１は、ブロック毎にインター予測モードとしてマージモードを利用するか否かを判定する。マージフラグが１であればマージモードを利用し、マージフラグが０であれば差分動きベクトルモードを利用する。
【００３６】
インター予測部１２０において、マージフラグを１とするか否かの判定は、ＨＥＶＣの参照ソフトウェアに用いられているＲＤＯ（レート歪最適化）法などを用いる。インター予測部２２０では、符号列復号部２１０がシンタックスに基づいて符号化ストリームから復号したマージフラグを取得する。シンタックスの詳細は後述する。
【００３７】
マージフラグが０である場合、差分動きベクトルモード実施部１２６で差分動きベクトルモードが実施され、差分動きベクトルモードのインター予測パラメータが予測値導出部１２７に供給される。
【００３８】
マージフラグが１である場合、マージ候補リスト生成部１２２、マージ候補選択部１２３、マージ候補補正判定部１２４、およびマージ候補補正部１２５でマージモードが実施され、マージモードのインター予測パラメータが予測値導出部１２７に供給される。
【００３９】
マージフラグが１である場合の処理を以降、詳細に説明する。
【００４０】
図４は、マージモードの動作を説明するフローチャートである。以降、図３と図４を用いてマージモードについて詳細に説明する。
【００４１】
最初に、マージ候補リスト生成部１２２は、処理対象ブロックに隣接するブロックの動き情報と復号画像のブロックの動き情報からマージ候補リストを生成し（Ｓ１００）、生成したマージ候補リストをマージ候補選択部１２３に供給する。以降、処理対象ブロックと予測対象ブロックは同一の意味で用いる。
【００４２】
ここで、マージ候補リストの生成について説明する。図５は、マージ候補リスト生成部１２２の構成を説明する図である。マージ候補リスト生成部１２２は、空間マージ候補生成部２０１、時間マージ候補生成部２０２、及びマージ候補補充部２０３を含む。
【００４３】
図６は、処理対象ブロックに隣接するブロックを説明する図である。ここでは、処理対象ブロックに隣接するブロックをブロックＡ、ブロックＢ、ブロックＣ、ブロックＤ、ブロックＥ、ブロックＦ、ブロックＧとするが、処理対象ブロックに隣接している複数のブロックを用いればこれに限定されない。
【００４４】
図７は、処理対象ブロックと同一位置及びその周辺にある復号画像上のブロックを説明する図である。ここでは、処理対象ブロックと同一位置及びその周辺にある復号画像上のブロックをブロックＣＯ１、ブロックＣＯ２、ブロックＣＯ３とするが、処理対象ブロックと同一位置及びその周辺にある復号画像上の複数のブロックを用いればこれに限定されない。以降、ブロックＣＯ１、ＣＯ２、ＣＯ３を同一位置ブロック、同一位置ブロックを含む復号画像を同一位置ピクチャと呼ぶ。
【００４５】
以降、図５、図６と図７を用いてマージ候補リストの生成について詳細に説明する。
【００４６】
最初に、空間マージ候補生成部２０１は、ブロックＡ、ブロックＢ、ブロックＣ、ブロックＤ、ブロックＥ、ブロックＦ、ブロックＧを順次検査して、Ｌ０予測の有効フラグとＬ１予測の有効フラグのいずれかまたは両方が有効であれば、当該ブロックの動き情報をマージ候補としてマージ候補リストに順次追加する。空間マージ候補生成部２０１が生成するマージ候補を空間マージ候補と呼ぶ。
【００４７】
次に、時間マージ候補生成部２０２は、ブロックＣ０１、ブロックＣＯ２、ブロックＣＯ３を順次検査して、最初にＬ０予測の有効フラグとＬ１予測の有効フラグのいずれかまたは両方が有効になるブロックの動き情報をスケーリング等の処理をしてマージ候補としてマージ候補リストに順次追加する。時間マージ候補生成部２０２が生成するマージ候補を時間マージ候補と呼ぶ。
【００４８】
ここで、時間マージ候補のスケーリングについて説明する。時間マージ候補のスケーリングはＨＥＶＣと同様である。時間マージ候補の動きベクトルは、同一位置ブロックの動きベクトルを、同一位置ピクチャと同一位置ブロックが参照する参照ピクチャとの距離に基づいて、予測対象ブロックのあるピクチャと時間マージ候補が参照するピクチャとの距離でスケーリングして導出される。
【００４９】
なお、時間マージ候補が参照するピクチャは、Ｌ０予測とＬ１予測の両方とも参照ピクチャインデックスが０である参照ピクチャである。また、同一位置ブロックとして、Ｌ０予測の同一位置ブロックとＬ１予測の同一位置ブロックのいずれが利用されるかは同一位置導出フラグが符号化（復号）されて判定される。以上のように、時間マージ候補は同一位置ブロックのＬ０予測またはＬ１予測のいずれか１つの動きベクトルをＬ０予測とＬ１予測にスケーリングして新たなＬ０予測とＬ１予測の動きベクトルを導出して、時間マージ候補のＬ０予測とＬ１予測の動きベクトルとする。
【００５０】
次に、マージ候補リストに同一の動き情報が複数含まれているなら、１つの動き情報を残してそれ以外の動き情報は削除する。
【００５１】
次に、マージ候補リストに含まれているマージ候補の数が最大マージ候補数に満たない場合、マージ候補補充部２０３は、マージ候補リストに含まれているマージ候補の数が最大マージ候補数に達するまで、マージ候補リストに補充マージ候補を追加して、マージ候補リストに含まれているマージ候補の数を最大マージ候補数にする。ここで、補充マージ候補とは、Ｌ０予測とＬ１予測の動きベクトルが共に（０，０）で、Ｌ０予測とＬ１予測の参照ピクチャインデックスが共に０である動き情報である。
【００５２】
ここでは、最大マージ候補数は６とするが、１以上であればよい。
【００５３】
続いて、マージ候補選択部１２３は、マージ候補リストから１つのマージ候補を選択し（Ｓ１０１）、選択したマージ候補（「選択マージ候補」と呼ぶ）とマージインデックスをマージ候補補正判定部１２４に供給し、選択マージ候補を処理対象ブロックの動き情報とする。画像符号化装置１００のインター予測部１２０では、ＨＥＶＣの参照ソフトウェアに用いられているＲＤＯ（レート歪最適化）法などを用いてマージ候補リストに含まれるマージ候補から１つのマージ候補を選択してマージインデックスを決定する。画像復号装置２００のインター予測部２２０では、符号列復号部２１０が符号化ストリームから復号したマージインデックスを取得し、マージインデックスに基づいてマージ候補リストに含まれるマージ候補から１つのマージ候補を選択マージ候補として選択する。
【００５４】
続いて、マージ候補補正判定部１２４は、処理対象ブロックの幅が所定幅以上、且つ処理対象ブロックの高さが所定高さ以上、且つ選択マージ候補のＬ０予測とＬ１予測の両方または少なくとも片方が有効であるか検査する（Ｓ１０２）。処理対象ブロックの幅が所定幅以上、且つ処理対象ブロックの高さが所定高さ以上、且つ選択マージ候補のＬ０予測とＬ１予測の両方または少なくとも片方が有効であるという条件を満たさなければ（Ｓ１０２のＮＯ）、選択マージ候補を処理対象ブロックの動き情報として補正することなく、ステップＳ１１１に進む。ここで、マージ候補リストには必ずＬ０予測とＬ１予測の少なくとも片方が有効であるマージ候補が含まれるため、選択マージ候補のＬ０予測とＬ１予測の両方または少なくとも片方が有効であることは自明である。そこで、Ｓ１０２の「選択マージ候補のＬ０予測とＬ１予測の両方または少なくとも片方が有効であるか」を省略して、Ｓ１０２を処理対象ブロックの幅が所定幅以上且つ処理対象ブロックの高さが所定高さ以上であるか検査するとしてもよい。
【００５５】
処理対象ブロックの幅が所定幅以上、且つ処理対象ブロックの高さが所定高さ以上、且つ選択マージ候補のＬ０予測とＬ１予測の両方または少なくとも片方が有効であれば（Ｓ１０２のＹＥＳ）、マージ候補補正判定部１２４は、マージ補正フラグを設定し（Ｓ１０３）、マージ補正フラグをマージ候補補正部１２５に供給する。画像符号化装置１００のインター予測部１２０では、マージ候補でインター予測した場合の予測誤差が所定の予測誤差以上であれば、マージ補正フラグを１に設定し、選択マージ候補でインター予測した場合の予測誤差が所定の予測誤差以上でなければ、マージ補正フラグを０に設定する。画像復号装置２００のインター予測部２２０では、符号列復号部２１０がシンタックスに基づいて符号化ストリームから復号したマージ補正フラグを取得する。
【００５６】
続いて、マージ候補補正部１２５は、マージ補正フラグが１であるか検査する（Ｓ１０４）。マージ補正フラグが１でなければ（Ｓ１０４のＮＯ）、選択マージ候補を処理対象ブロックの動き情報として補正することなく、ステップＳ１１１に進む。
【００５７】
マージ補正フラグが１であれば（Ｓ１０４のＹＥＳ）、選択マージ候補のＬ０予測が有効であるか検査する（Ｓ１０５）。選択マージ候補のＬ０予測が有効でなければ（Ｓ１０５のＮＯ）、ステップＳ１０８に進む。選択マージ候補のＬ０予測が有効であれば（Ｓ１０５のＹＥＳ）、Ｌ０予測の差分動きベクトルを決定する（Ｓ１０６）。以上のように、マージ補正フラグが１であれば、選択マージ候補の動き情報を補正し、マージ補正フラグが０であれば、選択マージ候補の動き情報は補正しない。
【００５８】
画像符号化装置１００のインター予測部１２０では、Ｌ０予測の差分動きベクトルは動きベクトル探索により求める。ここでは、動きベクトルの探索範囲は水平方向と垂直方向ともに±１６とするが、±６４など２の倍数であればよい。画像復号装置２００のインター予測部２２０では、符号列復号部２１０がシンタックスに基づいて符号化ストリームから復号したＬ０予測の差分動きベクトルを取得する。
【００５９】
引き続いて、マージ候補補正部１２５は、Ｌ０予測の補正動きベクトルを算出し、Ｌ０予測の補正動きベクトルを処理対象のブロックの動き情報のＬ０予測の動きベクトルとする（Ｓ１０７）。
【００６０】
ここで、Ｌ０予測の補正動きベクトル（ｍｖＬ０）、選択マージ候補のＬ０予測の動きベクトル（ｍｍｖＬ０）、Ｌ０予測の差分動きベクトル（ｍｖｄＬ０）の関係について説明する。Ｌ０予測の補正動きベクトル（ｍｖＬ０）は選択マージ候補のＬ０予測の動きベクトル（ｍｍｖＬ０）とＬ０予測の差分動きベクトル（ｍｖｄＬ０）を加算したものであり、下記の式となる。なお、［０］は動きベクトルの水平方向成分を、［１］は動きベクトルの垂直方向成分を示す。
【００６１】
ｍｖＬ０［０］ ＝ ｍｍｖＬ０［０］ ＋ ｍｖｄＬ０［０］
ｍｖＬ０［１］ ＝ ｍｍｖＬ０［１］ ＋ ｍｖｄＬ０［１］
引き続いて、選択マージ候補のＬ１予測が有効であるか検査する（Ｓ１０８）。選択マージ候補のＬ１予測が有効でなければ（Ｓ１０８のＮＯ）、ステップＳ１１１に進む。選択マージ候補のＬ１予測が有効であれば（Ｓ１０８のＹＥＳ）、Ｌ１予測の差分動きベクトルを決定する（Ｓ１０９）。
【００６２】
画像符号化装置１００のインター予測部１２０では、Ｌ１予測の差分動きベクトルは動きベクトル探索により求める。ここでは、動きベクトルの探索範囲は水平方向と垂直方向ともに±１６とするが、±６４など２のべき乗とする。画像復号装置２００のインター予測部２２０では、符号列復号部２１０がシンタックスに基づいて符号化ストリームから復号したＬ１予測の差分動きベクトルを取得する。
【００６３】
引き続いて、マージ候補補正部１２５は、Ｌ１予測の補正動きベクトルを算出し、Ｌ１予測の補正動きベクトルを処理対象ブロックの動き情報のＬ１予測の動きベクトルとする（Ｓ１１０）。
【００６４】
ここで、Ｌ１予測の補正動きベクトル（ｍｖＬ１）、選択マージ候補のＬ１予測の動きベクトル（ｍｍｖＬ１）、Ｌ１予測の差分動きベクトル（ｍｖｄＬ１）の関係について説明する。Ｌ１予測の補正動きベクトル（ｍｖＬ１）は選択マージ候補のＬ１予測の動きベクトル（ｍｍｖＬ１）とＬ１予測の差分動きベクトル（ｍｖｄＬ１）を加算したものであり、下記の式となる。なお、［０］は動きベクトルの水平方向成分を、［１］は動きベクトルの垂直方向成分を示す。
【００６５】
ｍｖＬ１［０］ ＝ ｍｍｖＬ１［０］ ＋ ｍｖｄＬ１［０］
ｍｖＬ１［１］ ＝ ｍｍｖＬ１［１］ ＋ ｍｖｄＬ１［１］
続いて、予測値導出部１２７は、処理対象ブロックの動き情報に基づいて、Ｌ０予測、Ｌ１予測または双予測のいずれかのインター予測を行い、予測値を導出する（Ｓ１１１）。以上のように、マージ補正フラグが１であれば、選択マージ候補の動きベクトルを補正し、マージ補正フラグが０であれば、選択マージ候補の動きベクトルは補正しない。
【００６６】
インター予測パラメータの符号化について詳細に説明する。図８は、マージモードであるブロックのシンタックスの一部を示す図である。表１は、インター予測パラメータとシンタックスの関係を示す。図８のｃｂＷｉｄｔｈは処理対象ブロックの幅であり、ｃｂＨｅｉｇｈｔは処理対象ブロックの高さである。所定幅と所定高さは共に８とする。所定幅と所定高さを設定することで、小さいブロック単位でのマージ候補の補正をしないことで処理量を削減することができる。ここで、ｃｕ＿ｓｋｉｐ＿ｆｌａｇはブロックがスキップモードであれば１であり、スキップモードでなければ０になる。スキップモードのシンタックスはマージモードのシンタックスと同じである。ｍｅｒｇｅ＿ｉｄｘはマージ候補リストから選択マージ候補を選択するマージインデックスである。
【００６７】
ｍｅｒｇｅ＿ｉｄｘをｍｅｒｇｅ＿ｍｏｄ＿ｆｌａｇよりも先に符号化（復号）してマージインデックスを確定させた後に、ｍｅｒｇｅ＿ｍｏｄ＿ｆｌａｇの符号化（復号）を判定して、ｍｅｒｇｅ＿ｉｄｘはマージモードのマージインデックスと共用することで、シンタックスの複雑化やコンテキストの増加を抑止しつつ符号化効率を向上させる。
【００６８】
【表１】
2020099037.tif 000003
【００６９】
図９は、差分動きベクトルのシンタックスを示す図である。図９のｍｖｄ＿ｃｏｄｉｎｇ（Ｎ）は差分動きベクトルモードで利用されるシンタックスと同じシンタックスである。ここで、Ｎは０または１である。Ｎ＝０はＬ０予測、Ｎ＝１はＬ１予測を示す。
【００７０】
差分動きベクトルのシンタックスには、差分動きベクトルの成分が０より大きいか否かを示すフラグであるａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ０＿ｆｌａｇ［ｄ］、差分動きベクトルの成分が１より大きいか否かを示すフラグであるａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ［ｄ］、差分動きベクトルの成分の符号（±）を示すｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｄ］、差分動きベクトルの成分から２を引いたベクトルの絶対値を示すａｂｓ＿ｍｖｄ＿ｍｉｎｕｓ２［ｄ］が含まれる。ここでｄは０、または、１である。ｄ＝０は水平方向成分を、ｄ＝１は垂直方向成分を示す。
【００７１】
ＨＥＶＣでは、インター予測モードとしてマージモードと差分動きベクトルモードがあった。マージモードではマージフラグ１つで動き情報を復元できるため、非常に符号化効率の高いモードであった。ところが、マージモードの動き情報は処理済みのブロックに依存するため、予測効率が高くなる場合が限定され、より利用効率を改善させる必要があった。
【００７２】
一方、差分動きベクトルモードはＬ０予測とＬ１予測を別々にシンタックスとして用意し、予測タイプ（Ｌ０予測、Ｌ１予測または双予測）と、Ｌ０予測とＬ１予測のそれぞれについて予測動きベクトルフラグ、差分動きベクトル、及び参照ピクチャインデックスが必要であった。そのため、差分動きベクトルモードはマージモードよりも符号化効率は良くないが、マージモードでは導出できない動きである空間的に隣接するブロックや時間的に隣接するブロックの動きとも相関が少ない突発的な動きに対して安定して予測効率が高くなるモードであった。
【００７３】
本実施の形態では、マージモードの予測タイプと参照ピクチャインデックスを固定したままマージモードの動きベクトルの補正を可能とすることで、符号化効率を差分動きベクトルモードよりも向上させて、利用効率をマージモードよりも向上させることができる。
【００７４】
また、差分動きベクトルを選択マージ候補の動きベクトルとの差分にすることで、差分動きベクトルの大きさを小さく抑制することができ、符号化効率を抑制することができる。
【００７５】
また、マージモードの差分動きベクトルのシンタックスを差分動きベクトルモードの差分動きベクトルのシンタックスと同一とすることで、マージモードに差分動きベクトルを追加しても構成上の変更は少なくすることができる。
【００７６】
また、所定幅と所定高さを定義し、予測ブロック幅が所定幅以上、且つ予測ブロック高が所定高以上、且つ選択マージ候補のＬ０予測またはＬ１予測の両方または少なくとも片方が有効であるという条件を満たさなければ、マージモードの動きベクトルを補正する処理を省くことで、マージモードの動きベクトルを補正する処理量を抑制することができる。なお、動きベクトルを補正する処理量を抑制する必要がない場合には、所定幅と所定高さにより動きベクトルの補正を制限する必要はない。
【００７７】
以下、本実施の形態の変形例について説明する。特に断らない限り、変形例は互いに組み合わせることができる。
［変形例１］
本実施の形態では、マージモードであるブロックのシンタックスとして差分動きベクトルを用いた。本変形例では、差分動きベクトルを差分単位動きベクトルとして符号化（または復号）するように定義する。差分単位動きベクトルとは、ピクチャ間隔が最小間隔である場合の動きベクトルである。ＨＥＶＣなどでは最小のピクチャ間隔は符号化ストリーム中に符号列として符号化されている。
【００７８】
符号化対象ピクチャとマージモードの参照ピクチャの間隔に応じて差分単位動きベクトルをスケーリングして差分動きベクトルとして利用する。符号化対象ピクチャのＰＯＣ（Ｐｉｃｔｕｒｅ  Ｏｒｄｅｒ  Ｃｏｕｎｔ）をＰＯＣ（Ｃｕｒ）、マージモードのＬ０予測の参照ピクチャのＰＯＣをＰＯＣ（Ｌ０）、マージモードのＬ１予測の参照ピクチャのＰＯＣをＰＯＣ（Ｌ１）とすると、下式のように動きベクトルは算出される。ｕｍｖｄＬ０はＬ０予測の差分単位動きベクトルを、ｕｍｖｄＬ１はＬ１予測の差分単位動きベクトルを示す。
【００７９】
ｍｖＬ０［０］ ＝ ｍｍｖＬ０［０］ ＋ ｕｍｖｄＬ０［０］＊（ＰＯＣ（Ｃｕｒ）−ＰＯＣ（Ｌ０））
ｍｖＬ０［１］ ＝ ｍｍｖＬ０［１］ ＋ ｕｍｖｄＬ０［１］＊（ＰＯＣ（Ｃｕｒ）−ＰＯＣ（Ｌ０））
ｍｖＬ１［０］ ＝ ｍｍｖＬ１［０］ ＋ ｕｍｖｄＬ１［０］＊（ＰＯＣ（Ｃｕｒ）−ＰＯＣ（Ｌ１））
ｍｖＬ１［１］ ＝ ｍｍｖＬ１［１］ ＋ ｕｍｖｄＬ１［１］＊（ＰＯＣ（Ｃｕｒ）−ＰＯＣ（Ｌ１））
以上のように、本変形例では、差分動きベクトルとして差分単位動きベクトルを利用することで、差分動きベクトルの符号量を小さくすることで、符号化効率を向上させることができる。なお、差分動きベクトルが大きく且つ予測対象ピクチャと参照ピクチャの距離が大きくなる場合に、特に符号化効率を向上させることができる。また、処理対象ピクチャと参照ピクチャの間隔と画面内で動く物体の速度が比例関係にある場合にも、予測効率と符号化効率を向上させることができる。
【００８０】
また、時間マージ候補のようにピクチャ間距離でスケーリングして導出する必要がなく、復号装置では乗算器だけでスケーリングできるため除算器が不要となり、回路規模や処理量を削減することができる。
［変形例２］
本実施の形態では差分動きベクトルの成分として０を符号化（または復号）できるものとして、例えば、Ｌ０予測のみを変更できるものとした。本変形例では差分動きベクトルの成分として０は符号化（または復号）できないものとする。
【００８１】
図１０は、変形例２の差分動きベクトルのシンタックスを示す図である。差分動きベクトルのシンタックスには、差分動きベクトルの成分が１より大きいか否かを示すフラグであるａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ［ｄ］、差分動きベクトルの成分が２より大きいか否かを示すフラグであるａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ２＿ｆｌａｇ［ｄ］、差分動きベクトルの成分から３を引いたベクトルの絶対値を示すａｂｓ＿ｍｖｄ＿ｍｉｎｕｓ３［ｄ］、差分動きベクトルの成分の符号（±）を示すｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｄ］が含まれる。
【００８２】
以上のように、差分動きベクトルの成分として０は符号化（または復号）できないようにすることで、差分動きベクトルの成分が１以上となる場合の符号化効率を向上させることができる。
［変形例３］
本実施の形態では差分動きベクトルの成分を整数として、変形例２では０を除く整数とした。本変形例では差分動きベクトルの±の符号を除いた成分を２のべき乗に限定する。
【００８３】
本実施の形態のシンタックスであるａｂｓ＿ｍｖｄ＿ｍｉｎｕｓ２［ｄ］の代わりにａｂｓ＿ｍｖｄ＿ｐｏｗ＿ｐｌｕｓ１［ｄ］を用いる。差分動きベクトルｍｖｄ［ｄ］はｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｄ］とａｂｓ＿ｍｖｄ＿ｐｏｗ＿ｐｌｕｓ１［ｄ］から下式のように算出する。
【００８４】
ｍｖｄ［ｄ］＝ｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｄ］＊２＾（ａｂｓ＿ｍｖｄ＿ｐｏｗ＿ｐｌｕｓ１［ｄ］＋１）
また、変形例２のシンタックスであるａｂｓ＿ｍｖｄ＿ｍｉｎｕｓ３［ｄ］の代わりにａｂｓ＿ｍｖｄ＿ｐｏｗ＿ｐｌｕｓ２［ｄ］を用いる。差分動きベクトルｍｖｄ［ｄ］はｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｄ］とａｂｓ＿ｍｖｄ＿ｐｏｗ＿ｐｌｕｓ２［ｄ］から下式のように算出する。
【００８５】
ｍｖｄ［ｄ］＝ｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｄ］＊２＾（ａｂｓ＿ｍｖｄ＿ｐｏｗ＿ｐｌｕｓ２［ｄ］＋２）
差分動きベクトルの成分を２のべき乗に限定することで、符号化装置の処理量を大幅に削減ながら、大きな動きベクトルの場合に予測効率を向上させることができる。
［変形例４］
本実施の形態では、ｍｖｄ＿ｃｏｄｉｎｇ（Ｎ）は差分動きベクトルを含むものとしたが、本変形例では、ｍｖｄ＿ｃｏｄｉｎｇ（Ｎ）は動きベクトル倍率を含むものとする。
【００８６】
本変形例のｍｖｄ＿ｃｏｄｉｎｇ（Ｎ）のシンタックスでは、ａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ０＿ｆｌａｇ［ｄ］、ａｂｓ＿ｍｖｄ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ［ｄ］、ｍｖｄ＿ｓｉｇｎ＿ｆｌａｇ［ｄ］は存在せず、その代わりに、ａｂｓ＿ｍｖｒ＿ｐｌｕｓ２［ｄ］とｍｖｒ＿ｓｉｇｎ＿ｆｌａｇ［ｄ］を含む構成とする。
【００８７】
ＬＮ予測の補正動きベクトル（ｍｖＬＮ）は、選択マージ候補のＬＮ予測の動きベクトル（ｍｍｖＬＮ）と動きベクトル倍率（ｍｖｒＬＮ）を乗算したものとなり、下記の式で算出される。
【００８８】
ｍｖＬＮ［ｄ］ ＝ ｍｍｖＬＮ［ｄ］ ＊ ｍｖｒＬＮ［ｄ］
差分動きベクトルの成分を２のべき乗に限定することで、符号化装置の処理量を大幅に削減ながら、大きな動きベクトルの場合に予測効率を向上させることができる。
【００８９】
なお、本変形例は、変形例１、変形例２、変形例３、及び変形例６とは組み合わせることができない。
［変形例５］
本実施の形態の図８のシンタックスでは、ｃｕ＿ｓｋｉｐ＿ｆｌａｇが１である（スキップモードである）場合、ｍｅｒｇｅ＿ｍｏｄ＿ｆｌａｇが存在する可能性を有するとしたが、スキップモードである場合にはｍｅｒｇｅ＿ｍｏｄ＿ｆｌａｇが存在しないようにしてもよい。
【００９０】
このように、ｍｅｒｇｅ＿ｍｏｄ＿ｆｌａｇを省略することで、スキップモードの符号化効率を向上させるとともに、スキップモードの判定を簡略化することができる。
［変形例６］
本実施の形態では、選択マージ候補のＬＮ予測（Ｎ＝０または１）が有効であるか検査し、選択マージ候補のＬＮ予測が有効でなければ、差分動きベクトルを有効にしないようにしたが、選択マージ候補のＬＮ予測が有効であるか検査せずに、選択マージ候補のＬＮ予測が有効であるか否かに関わらず差分動きベクトルを有効にしてもよい。この場合、選択マージ候補のＬＮ予測が無効である場合には、選択マージ候補のＬＮ予測の動きベクトルは（０，０）、選択マージ候補のＬＮ予測の参照ピクチャインデックスは０とする。
【００９１】
このように、本変形例では、選択マージ候補のＬＮ予測が有効であるか否かに関わらず差分動きベクトルを有効にすることで、双方向予測を利用する機会を増加させて、符号化効率を向上させることができる。
［変形例７］
本実施の形態では、選択マージ候補のＬ０予測とＬ１予測を個別に有効であるか否かを判定して差分動きベクトルを符号化（または復号）するか否かを制御したが、選択マージ候補のＬ０予測とＬ１予測の両方が有効である場合に差分動きベクトルを符号化（または復号）し、選択マージ候補のＬ０予測とＬ１予測の両方が有効でない場合に、差分動きベクトルを符号化（または復号）しないようにすることもできる。本変形例の場合、ステップＳ１０２は下記のようになる。
【００９２】
マージ候補補正判定部１２４は、処理対象ブロックの幅が所定幅以上、且つ処理対象ブロックの高さが所定高さ以上、且つ選択マージ候補のＬ０予測とＬ１予測の両方が有効であるか検査する（Ｓ１０２）。
【００９３】
また、ステップＳ１０５とステップＳ１０８は本変形例では不要となる。
【００９４】
図１１は、変形例７のマージモードであるブロックのシンタックスの一部を示す図である。ステップＳ１０２、Ｓ１０５、Ｓ１０８に関するシンタックスが異なる。
【００９５】
このように、本変形例では、選択マージ候補のＬ０予測とＬ１予測の両方が有効である場合に差分動きベクトルを有効にすることで、利用頻度の高い双方向予測の選択マージ候補の動きベクトルを補正することで、効率よく予測効率を向上させることができる。
［変形例８］
本実施の形態では、マージモードであるブロックのシンタックスとしてＬ０予測の差分動きベクトルとＬ１予測の差分動きベクトルの２つの差分動きベクトルを用いた。本変形例では、１つの差分動きベクトルだけを符号化（または復号）して、Ｌ０予測の補正動きベクトルとＬ１予測の補正動きベクトルとして１つの差分動きベクトルを共用して、下式のように選択マージ候補の動きベクトルｍｍｖＬＮ（Ｎ＝０，１）と差分動きベクトルｍｖｄから補正マージ候補の動きベクトルｍｖＬＮ（Ｎ＝０，１）を算出する。
【００９６】
選択マージ候補のＬ０予測が有効である場合は下記の式からＬ０予測の動きベクトルを算出する。
【００９７】
ｍｖＬ０［０］ ＝ ｍｍｖＬ０［０］ ＋ ｍｖｄ［０］
ｍｖＬ０［１］ ＝ ｍｍｖＬ０［１］ ＋ ｍｖｄ［１］
選択マージ候補のＬ１予測が有効である場合は下記の式からＬ１予測の動きベクトルを算出する。Ｌ０予測とは逆方向の差分動きベクトルを加算する。選択マージ候補のＬ１予測の動きベクトルから差分動きベクトルを減算してもよい。
【００９８】
ｍｖＬ１［０］ ＝ ｍｍｖＬ１［０］ ＋ ｍｖｄ［０］＊−１
ｍｖＬ１［１］ ＝ ｍｍｖＬ１［１］ ＋ ｍｖｄ［１］＊−１
図１２は、変形例８のマージモードであるブロックのシンタックスの一部を示す図である。Ｌ０予測の有効性とＬ１予測の有効性を検査するが削除されていることと、ｍｖｄ＿ｃｏｄｉｎｇ（１）がない点が本実施の形態とは異なる。ｍｖｄ＿ｃｏｄｉｎｇ（０）が１つの差分動きベクトルに相当する。
【００９９】
このように、本変形例では、Ｌ０予測とＬ１予測に対して１つの差分動きベクトルのみを定義することで、双予測である場合には差分動きベクトルの数を半減してＬ０予測とＬ１予測とで共用することで、予測効率の低下を抑制しながら符号化効率を向上させることができる。
【０１００】
また、選択マージ候補のＬ０予測の参照する参照ピクチャとＬ１予測との参照する参照ピクチャが予測対象ピクチャに対して反対方向にある（同一方向にない）場合に、差分動きベクトルを反対方向に加算することで、一定方向の動きに対して符号化効率を向上させることができる。
【０１０１】
本変形例の効果について詳細に説明する。図１６は変形例８の効果を説明する図である。図１６は移動する矩形領域（破線で囲まれた領域）の中で水平方向に移動する球体（斜線で塗られた領域）の様子を示す画像である。このような場合、画面に対する球体の動きは矩形領域の動きと水平方向に移動する球体の動きを足した動きとなる。ピクチャＢが予測対象ピクチャ、ピクチャＡがＬ０予測の参照ピクチャ、ピクチャＣがＬ１予測の参照ピクチャであるとする。ピクチャＡとピクチャＣは予測対象ピクチャから見て逆方向の関係にある参照ピクチャである。
【０１０２】
球体が一定方向に一定速度で移動する場合、ピクチャＡ、ピクチャＢ、ピクチャＣはそれぞれ等間隔であれば、隣接ブロックから取得できない球体の移動量をＬ０予測に加算してＬ１予測から減算することで正確に球体の動きを再現することができる。
【０１０３】
球体が一定方向に一定速度でない速度で移動する場合、ピクチャＡ、ピクチャＢ、ピクチャＣはそれぞれ等間隔ではないが、球体の矩形領域に対応する移動量は等間隔であれば、隣接ブロックから取得できない球体の移動量をＬ０予測に加算してＬ１予測から減算することで正確に球体の動きを再現することができる。
【０１０４】
また、一定期間に球体が一定方向に一定速度で移動する場合、ピクチャＡ、ピクチャＢ、ピクチャＣはそれぞれ等間隔ではないが、球体の矩形領域に対応する移動量は等間隔になる場合がある。図１７は変形例８のピクチャ間隔が等間隔でない場合の効果を説明する図である。この例について図１７を用いて詳細に説明する。図１７のピクチャＦ０、Ｆ１、・・・、Ｆ８はそれぞれ固定間隔のピクチャを示す。ピクチャＦ０からピクチャＦ４までは球体は静止しており、ピクチャＦ５以降に一定方向に一定速度で移動するものとする。ピクチャＦ０とピクチャＦ６が参照ピクチャ、ピクチャＦ５が予測対象ピクチャである場合、ピクチャＦ０、ピクチャＦ５、ピクチャＦ６はそれぞれ等間隔ではないが、球体の矩形領域に対応する移動量は等間隔になる。ピクチャＦ５が予測対象ピクチャである場合、一般的には距離の近いピクチャＦ４を参照ピクチャとして選択するが、ピクチャＦ４ではなくピクチャＦ０を参照ピクチャとして選択するのは、ピクチャＦ０がピクチャＦ４よりも歪の少ない高品質なピクチャである場合である。参照ピクチャは通常ＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）方式で管理されるが、歪の少ない高品質なピクチャを参照ピクチャとする仕組みとして長期参照ピクチャがある。このように、本変形例は、Ｌ０予測またはＬ１予測のいずれか片方または両方が長期参照ピクチャである場合に適用することで、予測効率と符号化効率を向上させることができる。また、本変形例は、Ｌ０予測またはＬ１予測のいずれか片方または両方がイントラピクチャである場合に適用することで、予測効率と符号化効率を向上させることができる。
【０１０５】
また、時間マージ候補のように差分動きベクトルをピクチャ間距離に基づいてスケーリングしないことで回路規模や消費電力を削減することができる。例えば、仮に差分動きベクトルをスケーリングする場合、選択マージ候補として時間マージ候補が選択されると、時間マージ候補のスケーリングと差分動きベクトルのスケーリングの両方が必要となる。時間マージ候補のスケーリングと差分動きベクトルのスケーリングはスケーリングの基準となる動きベクトルが異なるため、両方のスケーリングをまとめて実行できず、別々に実行する必要がある。
【０１０６】
また、本実施の形態のようにマージ候補リストに時間マージ候補が含まれている場合、時間マージ候補はスケーリングされており、時間マージ候補の動きベクトルよりも差分動きベクトルが微小であれば差分動きベクトルをスケーリングしなくとも符号化効率を向上させることができる。また、差分動きベクトルが大きな場合には、差分動きベクトルモードを選択することで、符号化効率の低下を抑制することができる。
［変形例９］
本実施の形態では、マージ補正フラグが０と１の場合の最大マージ候補数は同一であるとした。本変形例では、マージ補正フラグが１である場合の最大マージ候補数をマージ補正フラグが０である場合の最大マージ候補数より少なくする。例えば、マージ補正フラグが１である場合の最大マージ候補数を２とする。ここで、マージ補正フラグが１である場合の最大マージ候補数を最大補正マージ候補数とする。また、マージインデックスが最大補正マージ候補数より小さい場合には、マージ補正フラグを符号化（復号）し、マージインデックスが最大補正マージ候補数以上である場合には、マージ補正フラグを符号化（復号）しないようにする。ここで、マージ補正フラグが０である場合の最大マージ候補数と最大補正マージ候補数は予め定められている値であってもよいし、符号化ストリーム中のＳＰＳやＰＰＳに符号化（復号）して取得してもよい。
【０１０７】
このように、本変形例では、マージ補正フラグが１である場合の最大マージ候補数をマージ補正フラグが０である場合の最大マージ候補数より少なくすることで、より選択確率の高いマージ候補についてのみ、マージ候補を補正するか否か判定することで、符号化装置の処理を削減しつつ、符号化効率の低下を抑制することができる。また、マージインデックスが最大補正マージ候補数以上である場合にはマージ補正フラグを符号化（復号）する必要がなくなるため、符号化効率が向上する。
［第２の実施の形態］
第２の実施の形態の画像符号化装置１００と画像復号装置２００の構成は、第１の本実施の形態の画像符号化装置１００と画像復号装置２００と同一である。本実施の形態は第１の実施の形態とはマージモードの動作とシンタックスが異なる。以降、本実施の形態と第１の本実施の形態の相違点について説明する。
【０１０８】
図１３は、第２の実施の形態のマージモードの動作を説明するフローチャートである。図１４は、第２の実施の形態のマージモードであるブロックのシンタックスの一部を示す図である。図１５は、第２の実施の形態の差分動きベクトルのシンタックスを示す図である。
【０１０９】
以降、図１３、図１４、図１５を用いて第１の本実施の形態との相違点について説明する。図１３は、図４とステップＳ２０５からステップＳ２０７、ステップＳ２０９からステップＳ２１１が異なる。
【０１１０】
マージ補正フラグが１であれば（Ｓ１０４のＹＥＳ）、選択マージ候補のＬ０予測が無効であるか検査する（Ｓ２０５）。選択マージ候補のＬ０予測が無効でなければ（Ｓ２０５のＮＯ）、ステップＳ２０８に進む。選択マージ候補のＬ０予測が無効であれば（Ｓ２０５のＹＥＳ）、Ｌ０予測の補正動きベクトルを決定する（Ｓ２０６）。
【０１１１】
画像符号化装置１００のインター予測部１２０では、Ｌ０予測の補正動きベクトルは動きベクトル探索により求める。ここでは、動きベクトルの探索範囲は水平方向と垂直方向ともに±１とする。画像復号装置２００のインター予測部２２０では、Ｌ０予測の補正動きベクトルは符号化ストリームから取得する。
【０１１２】
引き続いて、Ｌ０予測の参照ピクチャインデックスを決定する（Ｓ２０７）。ここでは、Ｌ０予測の参照ピクチャインデックスを０とする。
【０１１３】
引き続いて、スライスタイプがＢで且つ選択マージ候補のＬ１予測が無効であるか検査する（Ｓ２０８）。スライスタイプがＢでないまたは選択マージ候補のＬ１予測が無効でなければ（Ｓ２０８のＮＯ）、Ｓ１１１に進む。スライスタイプがＢで且つ選択マージ候補のＬ１予測が無効であれば（Ｓ２０８のＹＥＳ）、Ｌ１予測の補正動きベクトルを決定する（Ｓ２０９）。
【０１１４】
画像符号化装置１００のインター予測部１２０では、Ｌ１予測の補正動きベクトルは動きベクトル探索により求める。ここでは、動きベクトルの探索範囲は水平方向と垂直方向ともに±１とする。画像復号装置２００のインター予測部２２０では、Ｌ１予測の補正動きベクトルは符号化ストリームから取得する。
【０１１５】
引き続いて、Ｌ１予測の参照ピクチャインデックスを決定する（Ｓ１１０）。ここでは、Ｌ１予測の参照ピクチャインデックスを０とする。
【０１１６】
以上のように、本実施の形態では、スライスタイプが双予測を許可しているスライスタイプ（すなわちスライスタイプＢ）の場合、Ｌ０予測またはＬ１予測のマージ候補を双予測のマージ候補に変換する。双予測のマージ候補とすることで、フィルタリング効果によって予測効率の向上を期待することができる。また、直近の復号画像を参照ピクチャとすることで、動きベクトルの探索範囲を最小限に抑制することができる。
［変形例］
本実施の形態では、ステップＳ２０７とステップＳ２１０の参照ピクチャインデックスを０とした。本変形例では、選択マージ候補のＬ０予測が無効である場合、Ｌ０予測の参照ピクチャインデックスをＬ１予測の参照ピクチャインデックスとし、選択マージ候補のＬ１予測が無効である場合、Ｌ１予測の参照ピクチャインデックスをＬ０予測の参照ピクチャインデックスとする。
【０１１７】
このように、選択マージ候補のＬ０予測またはＬ１予測の動きベクトルによる予測値を微小にずらしてフィルタリングすることで、微小な動きを再現することができ、予測効率を向上させることができる。
【０１１８】
以上に述べた全ての実施の形態において、画像符号化装置が出力する符号化ビットストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有している。符号化ビットストリームは、ＨＤＤ、ＳＳＤ、フラッシュメモリ、光ディスク等のコンピュータ等で読み解き可能な記録媒体に記録して提供しても良いし、有線あるいは無線のネットワークを通してサーバから提供しても良い。従って、この画像符号化装置に対応する画像復号装置は、提供手段によらず、この特定のデータフォーマットの符号化ビットストリームを復号することができる。
【０１１９】
画像符号化装置と画像復号装置の間で符号化ビットストリームをやりとりするために、有線または無線のネットワークが用いられる場合、通信路の伝送形態に適したデータ形式に符号化ビットストリームを変換して伝送してもよい。その場合、画像符号化装置が出力する符号化ビットストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する送信装置と、ネットワークから符号化データを受信して符号化ビットストリームに復元して画像復号装置に供給する受信装置とが設けられる。  送信装置は、画像符号化装置が出力する符号化ビットストリームをバッファするメモリと、符号化ビットストリームをパケット化するパケット処理部と、ネットワークを介してパケット化された符号化データを送信する送信部とを含む。受信装置は、ネットワークを介してパケット化された符号化データを受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ビットストリームを生成し、画像復号装置に提供するパケット処理部とを含む。
【０１２０】
画像符号化装置と画像復号装置の間で符号化ビットストリームをやりとりするために、有線または無線のネットワークが用いられる場合、送信装置、受信装置に加え、さらに、送信装置が送信する符号化データを受信し、受信装置に供給する中継装置が設けられても良い。中継装置は、送信装置が送信するパケット化された符号化データを受信する受信部と、受信された符号化データをバッファするメモリと、パケットされた符号化データとネットワークに送信する送信部とを含む。さらに、中継装置は、パケット化された符号化データをパケット処理して符号化ビットストリームを生成する受信パケット処理部と、符号化ビットストリームを蓄積する記録媒体と、符号化ビットストリームをパケット化する送信パケット処理部を含んでも良い。
【０１２１】
また、画像復号装置で復号された画像を表示する表示部を構成に追加することで、表示装置としても良い。また、撮像部を構成に追加し、撮像した画像を画像符号化装置に入力することで、撮像装置としても良い。
【０１２２】
図１８に、本願の符号化復号装置のハードウェア構成の一例を示す。符号化復号装置は、本発明の実施の形態に係る画像符号化装置、および画像復号装置の構成を包含する。係る符号化復号装置９０００は、ＣＰＵ９００１、コーデックＩＣ９００２、Ｉ／Ｏインターフェース９００３、メモリ９００４、光学ディスクドライブ９００５、ネットワークインターフェース９００６、ビデオインターフェース９００９を有し、各部はバス９０１０により接続される。
【０１２３】
画像符号化部９００７と画像復号部９００８は、典型的にはコーデックＩＣ９００２として実装される。本発明の実施の形態に係る画像符号化装置の画像符号化処理は、画像符号化部９００７により実行され、本発明の実施の形態に係る画像復号装置における画像復号処理は、画像符号化部９００７により実行される。Ｉ／Ｏインターフェース９００３は、例えばＵＳＢインターフェースにより実現され、外部のキーボード９１０４、マウス９１０５等と接続する。ＣＰＵ９００１は、Ｉ／Ｏインターフェース９００３を介して入力したユーザー操作に基づき、ユーザーの所望する動作を実行するように符号化復号装置９０００を制御する。キーボード９１０４、マウス９１０５等によるユーザーの操作としては、符号化、復号のどちらの機能を実行するかの選択、符号化品質の設定、符号化ストリームの入出力先、画像の入出力先等がある。
【０１２４】
ユーザーがディスク記録媒体９１００に記録された画像を再生する操作を所望する場合、光学ディスクドライブ９００５は、挿入されたディスク記録媒体９１００から符号化ビットストリームを読出し、読み出した符号化ストリームを、バス９０１０を介してコーデックＩＣ９００２の画像復号部９００８に送る。画像復号部９００８は入力した符号化ビットストリームに対して本発明の実施の形態に係る画像復号装置における画像復号処理を実行し、復号画像を、ビデオインターフェース９００９を介して外部のモニタ９１０３へ送る。また、符号化復号装置９０００は、ネットワークインターフェース９００６を有し、ネットワーク９１０１を介して、外部の配信サーバ９１０６や、携帯端末９１０７と接続可能である。ユーザーがディスク記録媒体９１００に記録された画像に変えて、配信サーバ９１０６や携帯端末９１０７に記録された画像を再生することを所望する場合は、ネットワークインターフェース９００６は、入力されたディスク記録媒体９１００から符号化ビットストリームを読出すことに変えて、ネットワーク９１０１より符号化ストリームを取得する。また、ユーザーがメモリ９００４に記録された画像を再生することを所望する場合は、メモリ９００４に記録された符号化ストリームに対して、本発明の実施の形態に係る画像復号装置における画像復号処理を実行する。
【０１２５】
ユーザーが外部のカメラ９１０２で撮像した画像を符号化しメモリ９００４に記録する操作を所望する場合、ビデオインターフェース９００９は、カメラ９１０２から画像を入力し、バス９０１０を介し、コーデックＩＣ９００２の画像符号化部９００７に送る。画像符号化部９００７は、ビデオインターフェース９００９を介して入力した画像に対して本発明の実施の形態に係る画像符号化装置における画像符号化処理を実行し、符号化ビットストリームを作成する。そして符号化ビットストリームを、バス９０１０を介し、メモリ９００４へ送る。ユーザーがメモリ９００４に変えて、ディスク記録媒体９１００に符号化ストリームを記録することを所望する場合は、光学ディスクドライブ９００５は、挿入されたディスク記録媒体９１００に対し符号化ストリームの書き出しを行う。
【０１２６】
画像符号化装置を有し画像復号装置を有さないハードウェア構成や、画像復号装置を有し画像符号化装置を有さないハードウェア構成を実現することも可能である。そのようなハードウェア構成は、例えばコーデックＩＣ９００２が、画像符号化部９００７、または画像復号部９００８にそれぞれ置き換わることにより実現される。
【０１２７】
以上の符号化及び復号に関する処理は、ＡＳＩＣ等のハードウェアを用いた伝送装置、蓄積装置、受信装置として実現することができるのは勿論のこと、ＲＯＭ（リード・オンリ・メモリ）やフラッシュメモリ等に記憶されているファームウェアや、ＣＰＵやＳｏｃ（Ｓｙｓｔｅｍ  ｏｎ  ａ  ｃｈｉｐ）等のコンピュータのソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
【０１２８】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【０１２９】
１００  画像符号化装置、  １１０  ブロックサイズ決定部、  １２０  インター予測部、  １２１  マージモード判定部、  １２２  マージ候補リスト生成部、  １２３  マージ候補選択部、  １２４  マージ候補補正判定部、  １２５  マージ候補補正部、  １２６  差分動きベクトルモード実施部、  １２７  予測値導出部、  １３０  変換部、  １４０  符号列生成部、  １５０  局部復号部、  １６０  フレームメモリ、  ２００  画像復号装置、  ２０１  空間マージ候補生成部、  ２０２  時間マージ候補生成部、  ２０３  マージ候補補充部、  ２１０  符号列復号部、  ２２０  インター予測部、  ２３０  逆変換部、  ２４０  フレームメモリ。
【図１】
2020099037.tif 000004
【図２】
2020099037.tif 000005
【図３】
2020099037.tif 000006
【図４】
2020099037.tif 000007
【図５】
2020099037.tif 000008
【図６】
2020099037.tif 000009
【図７】
2020099037.tif 000010
【図８】
2020099037.tif 000011
【図９】
2020099037.tif 000012
【図１０】
2020099037.tif 000013
【図１１】
2020099037.tif 000014
【図１２】
2020099037.tif 000015
【図１３】
2020099037.tif 000016
【図１４】
2020099037.tif 000017
【図１５】
2020099037.tif 000018
【図１６】
2020099037.tif 000019
【図１７】
2020099037.tif 000020
【図１８】
2020099037.tif 000021