(57)【要約】      （修正有）【課題】複雑度を減少させ、符号化／復号効率を向上させることができる映像符号化方法及び装置を提供する。【解決手段】インタ予測方法は、現予測ユニットに対応する予測対象ブロックのマージ候補リストを生成しＳ６１０、マージ候補リストを構成する複数のマージ候補のうち一つに基づいて、予測対象ブロックの動き情報を導出しＳ６２０、導出された動き情報に基づいて予測対象ブロックに対して予測を行うことによって、現予測ユニットに対応する予測ブロックを生成するＳ６３０。【選択図】図６
2020205627.tif 000002
【特許請求の範囲】
【請求項１】
復号器により実行される映像復号方法であって、
並列マージレベルについての情報を含むビットストリームを受信するステップと、
現ブロックのためのマージ候補リストを構成するステップであって、前記マージ候補リストは複数の空間マージ候補を含む、ステップと、
前記マージ候補リストに基づいて前記現ブロックの動き情報を導出するステップと、
前記導出された動き情報に基づいて前記現ブロックに関する予測されたブロックを導出するステップと、
前記予測されたブロックに基づいて復元ブロックを生成するステップとを含み、
前記現ブロックは並列マージ領域に属し、前記並列マージ領域のサイズは前記並列マージレベルについての情報にしたがって決定され、
前記現ブロックは前記並列マージ領域に属する予測ユニット（ＰＵ）に対応し、
前記予測ユニット（ＰＵ）は符号化ユニットから分割され、  
前記現ブロックに対する前記複数の空間マージ候補は、前記並列マージ領域の、左下隅に最も近く位置するブロック、左側に隣接するブロック、右上隅に最も近く位置するブロック、上側に隣接するブロック、及び左上隅に最も近く位置するブロックから導出される、映像復号方法。
【請求項２】
前記複数の空間マージ候補は、前記並列マージ領域として同じサイズを有する２Ｎ×２Ｎ予測ユニットの複数の空間マージ候補と同一である、請求項１に記載の映像復号方法。
【請求項３】
前記並列マージレベルについての情報の値が０である時、前記並列マージ領域の前記サイズは、４×４である、請求項１に記載の映像復号方法。
【請求項４】
前記ＰＵの左下隅に最も近く位置するブロック、左側に隣接するブロック、右上隅に最も近く位置するブロック、上側に隣接するブロック、及び左上隅に最も近く位置するブロックは、前記ＰＵに対する前記空間マージ候補を導出するために利用可能でないと決定される、請求項１に記載の映像復号方法。
【請求項５】
前記並列マージレベルについての情報の値が１である時、前記並列マージ領域の前記サイズは、８×８であり、
前記並列マージレベルについての情報の値が２である時、前記並列マージ領域の前記サイズは、１６×１６である、請求項１に記載の映像復号方法。
【請求項６】
前記並列マージレベルについての情報の値が３である時、前記並列マージ領域の前記サイズは、３２×３２であり、
前記並列マージレベルについての情報の値が４である時、前記並列マージ領域の前記サイズは、６４×６４である、請求項１に記載の映像復号方法。
【請求項７】
前記符号化ユニットのサイズが８×８であり、前記並列マージ領域のサイズが４×４より大きい時、前記複数の空間マージ候補は前記ＰＵのために利用される、請求項１に記載の映像復号方法。
【請求項８】
前記ＰＵは、前記並列マージ領域の底面境界（a bottom boundary）と右側境界（a right boundary）に隣接する、請求項１に記載の映像復号方法。
【請求項９】
符号化器により実行される映像符号化方法であって、
現ブロックに対するマージ候補リストを構成するステップであって、前記マージ候補リストは複数の空間マージ候補を含む、ステップと、
前記マージ候補リストに基づいて前記現ブロックの動き情報を導出するステップと、
前記導出された動き情報に基づいて前記現ブロックに関する予測されたブロックを導出するステップと、
前記予測されたブロックに基づいて残差情報を導出するステップと、
残差情報と並列マージレベルについての情報を含むビデオ情報を符号化するステップとを含み、
前記現ブロックは、並列マージ領域に属し、前記並列マージ領域のサイズは、前記並列マージレベルについての情報にしたがって決定され、
前記現ブロックは、前記並列マージ領域に属する予測ユニット（ＰＵ）に対応し、
前記ＰＵはコーディングユニット（ＣＵ）から分割され、
前記現ブロックに対する前記複数の空間マージ候補は、前記並列マージ領域の、左下隅に最も近く位置するブロック、左側に隣接するブロック、右上隅に最も近く位置するブロック、上側に隣接するブロック、及び左上隅に最も近く位置するブロックから導出される、映像符号化方法。
【請求項１０】
復号器に映像復号方法を実行させる指示(instruction)情報を格納するコンピュータ可読記憶媒体であって、
映像復号方法は、
並列マージレベルに関する情報を取得するステップと、
現ブロックに対するマージ候補リストを構成するステップであって、前記マージ候補リストは複数の空間マージ候補を含む、ステップと、
前記マージ候補リストに基づく前記現ブロックの動き情報を導出するステップと、
前記マージ候補リストに基づいて前記現ブロックに関して予測されたブロックを導出するステップと、
前記予測されたブロックに基づいて再構成されたブロックを生成するステップとを含み、
前記現ブロックは、並列マージ領域に属し、前記並列マージ領域のサイズは、前記並列マージレベルについての情報にしたがって決定され、
前記現ブロックは、前記並列マージ領域に属する予測ユニット（ＰＵ）に対応し、
前記ＰＵはコーディングユニット（ＣＵ）から分割され、
前記現ブロックに対する前記複数の空間マージ候補は、前記並列マージ領域の、左下隅に最も近く位置するブロック、左側に隣接するブロック、右上隅に最も近く位置するブロック、上側に隣接するブロック、及び左上隅に最も近く位置するブロックから導出される、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は映像処理に関し、より詳細にはインタ予測方法及び装置に関するものである。
【背景技術】
【０００２】
近年、高解像度（ＨＤ）映像及び超高解像度（ＵＨＤ）映像のような高解像度、高品質な映像への需要が、多様な分野において増加しつつある。映像データが高解像度、高品質になるほど、既存の映像データに比べて相対的に伝送される情報量又はビット量が増加するため、既存の有線無線の広帯域ネットワークのような媒体を用いて映像データを伝送する場合、又は既存の記憶媒体を用いて映像データを記憶する場合、伝送コスト及び記憶コストが増加する。このような問題を解決するために、高能率の映像圧縮技術が用いられる。
【０００３】
映像圧縮技術としては、現ピクチャの前及び／又は後のピクチャから現ピクチャに含まれる画素値を予測するインタ予測技術、現ピクチャ内の画素情報を用いて現ピクチャに含まれた画素値を予測するイントラ予測技術、出現頻度の高い値に短い符号語を割り当て、出現頻度の低い値に長い符号語を割り当てるエントロピ符号化技術など、多様な技術が存在する。このような映像圧縮技術を用いて映像データを効果的に圧縮して伝送又は記憶することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の技術的課題は、複雑度を減少させ、符号化／復号効率を向上させることができる映像符号化方法及び装置を提供することにある。
【０００５】
本発明の別の技術的課題は、複雑度を減少させ、符号化／復号効率を向上させることができる映像復号方法及び装置を提供することにある。
【０００６】
本発明のまた別の技術的課題は、複雑度を減少させ、符号化／復号効率を向上させることができるインタ予測方法及び装置を提供することにある。
【０００７】
本発明の更に別の技術的課題は、複雑度を減少させ、符号化／復号効率を向上させることができるマージ候補リスト生成方法及び装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一実施形態はインタ予測方法である。この方法は、現予測ユニット（ｃｕｒｒｅｎｔ  Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔ、ｃｕｒｒｅｎｔ  ＰＵ）に対応する予測対象ブロックのマージ候補リストを生成するステップと、マージ候補リストを構成する複数のマージ候補のうち一つに基づいて、予測対象ブロックの動き情報を導出するステップと、導出された動き情報に基づいて予測対象ブロックに対して予測を行うことによって、現予測ユニットに対応する予測ブロックを生成するステップとを含み、現予測ユニットはマージ候補共有単位に属する予測ユニットであり、マージ候補リスト生成ステップにおいては、複数の第１マージ候補から構成された第１マージ候補リスト及び複数の第２マージ候補から構成された第２マージ候補リストのうち一つを選択的に生成し、複数の第１マージ候補は、予測対象ブロックの位置及び大きさに基づいて決定された複数の第１ブロックの動き情報であり、複数の第２マージ候補は、マージ候補共有単位に対応するブロックの位置及び大きさに基づいて決定された複数の第２ブロックの動き情報である。
【０００９】
マージ候補リスト生成ステップにおいて、第１マージ候補リストが生成されるか、又は第２マージ候補リストが生成されるかは、マージ候補共有単位で決定され、第２マージ候補リストが生成されると決定された場合、マージ候補共有単位内のすべての予測ユニットは第２マージ候補リストを共有する。
【００１０】
マージ候補共有単位は、現予測ユニットが属する現符号化ユニット（ｃｕｒｒｅｎｔ  Ｃｏｄｉｎｇ  Ｕｎｉｔ、ｃｕｒｒｅｎｔ  ＣＵ）であり、複数の第２マージ候補は、現符号化ユニットに対応する復号対象ブロックの位置及び大きさに基づいて決定された複数の第２ブロックの動き情報である。
【００１１】
複数の第１ブロックは、予測対象ブロックの外部の左下隅に最も近く位置するブロックと、予測対象ブロックの左側に隣接するブロックのうち最も下端に位置するブロックと、予測対象ブロック外部の左上隅に最も近く位置するブロックと、予測対象ブロックの上端に隣接するブロックのうち最も右側に位置するブロックと、予測対象ブロックの右上隅に最も近く位置するブロックとを含み、複数の第２ブロックは、復号対象ブロックの外部の左下隅に最も近く位置するブロックと、復号対象ブロックの左側に隣接するブロックのうち最も下端に位置するブロックと、復号対象ブロックの外部の左上隅に最も近く位置するブロックと、復号対象ブロックの上端に隣接するブロックのうち最も右側に位置するブロックと、復号対象ブロックの右上隅に最も近く位置するブロックとを含む。
【００１２】
マージ候補リスト生成ステップにおいて、第１マージ候補リストが生成されると決定された場合、複数の第１ブロックのうち復号対象ブロック内に位置するブロックの動き情報は、第１マージ候補として使用されない。
【００１３】
マージ候補リスト生成ステップにおいて、第１マージ候補リストが生成されると決定され、現予測ユニットの分割モードが２Ｎ×Ｎ、２Ｎ×ｎＵ又は２Ｎ×ｎＤであり、現予測ユニットが現符号化ユニット内の下端に位置する予測ユニットの場合、予測対象ブロックの上端に隣接するブロックのうち最も右側に位置するブロックの動き情報は、第１マージ候補として使用されない。
【００１４】
マージ候補リスト生成ステップにおいて、第１マージ候補リストが生成されると決定され、現予測ユニットの分割モードがＮ×２Ｎ、ｎＬ×２Ｎ又はｎＲ×２Ｎであり、現予測ユニットが現符号化ユニット内の右側に位置する予測ユニットの場合、予測対象ブロックの左側に隣接するブロックのうち最も下端に位置するブロックの動き情報は、第１マージ候補として使用されない。
【００１５】
マージ候補リスト生成ステップ及び動き情報導出ステップは、現予測ユニットが属する並列処理単位内のすべての予測ユニットに対して並列に行われ、並列処理単位は、並列処理単位の大きさを指示する並列処理レベルに基づいて決定され、並列処理レベルに関する情報は、ピクチャパラメータセット（ＰＰＳ）に含められて符号化器から復号器に伝送される。
【００１６】
マージ候補リスト生成ステップにおいて、第１マージ候補リストが生成されるか、又は第２マージ候補リストが生成されるかは、復号対象ブロックの大きさ及び並列処理レベルに基づいて決定される。
【００１７】
マージ候補リスト生成ステップにおいては、復号対象ブロックの大きさが８×８であり、並列処理単位の大きさが４×４より大きい場合に、第２マージ候補リストを生成する。
【００１８】
本発明の別の実施形態は映像復号方法である。この方法は、現予測ユニットに対応する予測対象ブロックのマージ候補リストを生成するステップと、マージ候補リストを構成する複数のマージ候補のうち一つに基づいて、予測対象ブロックの動き情報を導出するステップと、導出された動き情報に基づいて予測対象ブロックに対して予測を行うことによって、現予測ユニットに対応する予測ブロックを生成するステップと、生成された予測ブロックに基づいて復元ブロックを生成するステップとを含み、現予測ユニットはマージ候補共有単位に属する予測ユニットであり、マージ候補リスト生成ステップにおいては、複数の第１マージ候補から構成された第１マージ候補リスト、及び複数の第２マージ候補から構成された第２マージ候補リストのうち一つを選択的に生成し、複数の第１マージ候補は、予測対象ブロックの位置及び大きさに基づいて決定された複数の第１ブロックの動き情報であり、複数の第２マージ候補は、マージ候補共有単位に対応するブロックの位置及び大きさに基づいて決定された複数の第２ブロックの動き情報である。
【００１９】
マージ候補リスト生成ステップにおいて、第１マージ候補リストが生成されるか、又は第２マージ候補リストが生成されるかは、マージ候補共有単位で決定され、第２マージ候補リストが生成されると決定された場合、マージ候補共有単位内のすべての予測ユニットは第２マージ候補リストを共有する。
【００２０】
マージ候補共有単位は、現予測ユニットが属する現符号化ユニットであり、複数の第２マージ候補は、現符号化ユニットに対応する復号対象ブロックの位置及び大きさに基づいて決定された複数の第２ブロックの動き情報である。
【００２１】
複数の第１ブロックは、予測対象ブロック外部の左下隅に最も近く位置するブロックと、予測対象ブロックの左側に隣接するブロックのうち最も下端に位置するブロックと、予測対象ブロック外部の左上隅に最も近く位置するブロックと、予測対象ブロックの上端に隣接するブロックのうち最も右側に位置するブロックと、予測対象ブロックの右上隅に最も近く位置するブロックとを含み、複数の第２ブロックは、復号対象ブロックの外部の左下隅に最も近く位置するブロックと、復号対象ブロックの左側に隣接するブロックのうち最も下端に位置するブロックと、復号対象ブロックの外部の左上隅に最も近く位置するブロックと、復号対象ブロックの上端に隣接するブロックのうち最も右側に位置するブロックと、復号対象ブロックの右上隅に最も近く位置するブロックとを含む。
【００２２】
マージ候補リスト生成ステップにおいて、第１マージ候補リストが生成されると決定された場合、複数の第１ブロックのうち復号対象ブロック内に位置するブロックの動き情報は、第１マージ候補として使用されない。
【００２３】
マージ候補リスト生成ステップにおいて、第１マージ候補リストが生成されると決定され、現予測ユニットの分割モードが２Ｎ×Ｎ、２Ｎ×ｎＵ又は２Ｎ×ｎＤであり、現予測ユニットが現符号化ユニット内の下端に位置する予測ユニットの場合、予測対象ブロックの上端に隣接するブロックのうち最も右側に位置するブロックの動き情報は、第１マージ候補として使用されない。
【００２４】
マージ候補リスト生成ステップにおいて、第１マージ候補リストが生成されると決定され、現予測ユニットの分割モードがＮ×２Ｎ、ｎＬ×２Ｎ又はｎＲ×２Ｎであり、現予測ユニットが現符号化ユニット内の右側に位置する予測ユニットの場合、予測対象ブロックの左側に隣接するブロックのうち最も下端に位置するブロックの動き情報は、第１マージ候補として使用されない。
【００２５】
マージ候補リスト生成ステップ及び動き情報導出ステップは、現予測ユニットが属する並列処理単位内のすべての予測ユニットに対して並列に行われ、並列処理単位は、並列処理単位の大きさを指示する並列処理レベルに基づいて決定され、並列処理レベルに関する情報は、ＰＰＳに含められて符号化器から復号器に伝送される。
【００２６】
マージ候補リスト生成ステップにおいて、第１マージ候補リストが生成されるか又は第２マージ候補リストが生成されるかは、復号対象ブロックの大きさ及び並列処理レベルに基づいて決定される。
【００２７】
マージ候補リスト生成ステップにおいては、復号対象ブロックの大きさが８×８であり、並列処理単位の大きさが４×４より大きい場合に、第２マージ候補リストを生成する。
【発明の効果】
【００２８】
本発明に係る映像符号化方法によれば、複雑度が減少され、符号化／復号効率を向上させることができる。
【００２９】
本発明に係る映像復号方法によれば、複雑度が減少され、符号化／復号効率を向上させることができる。
【００３０】
本発明に係るインタ予測方法によれば、複雑度が減少され、符号化／復号効率を向上させることができる。
【００３１】
本発明に係るマージ候補リスト生成方法によれば、複雑度が減少され、符号化／復号効率を向上させることができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施例に係る映像符号化装置を概略示すブロック図である。
【図２】本発明の一実施例に係る予測部を概略示す概念図である。
【図３】本発明の一実施例に係る映像復号装置を概略示すブロック図である。
【図４】本発明の一実施例に係る映像復号装置の予測部を概略示す概念図である。
【図５】本発明が適用されるシステムで処理ユニットの４分木構造に関する一例を概略示す概念図である。
【図６】マージモードにおけるインタ予測方法の一実施例を概略示すフローチャートである。
【図７】マージ候補リストの生成に使用されるマージ候補の実施例を概略示す図である。
【図８】マージモード及びスキップモードにおける並列処理単位の一実施例を概略示す図である。
【図９】マージモードにおいて並列動き予測の実行時に発生する問題点を概略説明するための図である。
【図１０】並列動き予測を可能にするためのマージ候補導出方法の一実施例を概略示す図である。
【図１１】並列動き予測を可能にするためのマージ候補導出方法の別の実施例を概略示す図である。
【図１２】並列動き予測を可能にするためのマージ候補導出方法のまた別の実施例を概略示す図である。
【図１３】マージ候補共有単位内の予測ユニットに対する共通マージ候補導出方法の一実施例を概略示す図である。
【図１４】マージ候補共有単位内の予測ユニットに対する共通マージ候補導出方法の別の実施例を概略示す図である。
【図１５】ＭＥＲマージ候補導出方法の実施例を概略示す図である。
【図１６】ＭＥＲマージ候補導出方法の別の実施例を概略示す図である。
【図１７】ＭＥＲマージ候補導出方法のまた別の実施例を概略示す図である。
【図１８】ＭＥＲマージ候補導出方法のまた別の実施例を概略示す図である。
【図１９】ＭＥＲマージ候補導出方法のまた別の実施例を概略示す図である。
【図２０】ＭＥＲマージ候補導出方法のまた別の実施例を概略示す図である。
【図２１】ＭＥＲマージ候補導出方法のまた別の実施例を概略示す図である。
【図２２】ＭＥＲマージ候補導出方法のまた別の実施例を概略示す図である。
【図２３】ＭＥＲマージ候補導出方法のまた別の実施例を概略示す図である。
【図２４】ＭＥＲマージ候補導出方法のまた別の実施例を概略示す図である。
【発明を実施するための形態】
【００３３】
本発明は多様な変更を加えることができ、様々な実施例を有することができるが、特定の実施例を図面に例示して詳細に説明する。しかし、これは本発明を特定の実施形態に対して限定しようとするものではない。本明細書において使用する用語は、単に特定の実施例を説明するために使用されたものであって、本発明の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上、明らかに異なる意味でない限り、複数の表現を含む。本明細書において「含む」又は「有する」などの用語は、明細書上に記載された特徴、番号、ステップ、動作、構成要素、部品又はこれらの組合せが存在することを指定しようとするものであって、一つ又はそれ以上の他の特徴又は番号、ステップ、動作、構成要素、部品又はこれらの組合せ等の存在又は付加の可能性を予め排除しないものと理解しなければならない。
【００３４】
一方、本発明で説明される図面上の各構成は、映像符号化／復号装置における別個の特徴的な機能に関する説明の便宜のために独立して示されたものであって、各構成が互いに別個のハードウェア又は別個のソフトウェアで実現されるということを意味するものではない。例えば、各構成のうち二つ以上の構成が結合されて一つの構成をなすこともでき、一つの構成を複数の構成に分けることもできる。各構成が統合及び／又は分離された実施例も本発明の本質から外れない限り、本発明の権利範囲に含まれる。
【００３５】
また、一部の構成要素は本発明で本質的な機能を果たす必須の構成要素ではなく、単に性能向上のための選択的な構成要素であってもよい。本発明は、単に性能向上のために使用される構成要素を除く、本発明の本質を実現するために必須の構成部だけを含んで実現することができ、単に性能向上のために使用される選択的な構成要素を除く必須の構成要素だけを含む構造も、本発明の権利範囲に含まれる。
【００３６】
以下、添付の図面を参照して、本発明の好ましい実施例をより詳細に説明する。以下、図面上の同一の構成要素に対しては同一の参照符号を使用し、同一の構成要素に対して重複する説明は省略する。
【００３７】
図１は、本発明の一実施例に係る映像符号化装置を概略示すブロック図である。
【００３８】
図１を参照すれば、映像符号化装置１００は、ピクチャ分割部１０５、予測部１１０、変換部１１５、量子化部１２０、再整列部１２５、エントロピ符号化部１３０、逆量子化部１３５、逆変換部１４０、フィルタ部１４５及びメモリ１５０を含む。
【００３９】
ピクチャ分割部１０５は、入力されたピクチャを少なくとも一つの処理単位に分割することができる、このとき、処理単位は、予測ユニット（ＰＵ）であってもよいし、変換ユニット（ＴＵ）であってもよいし、符号化ユニット（ＣＵ）であってもよい。
【００４０】
予測部１１０は後述するように、インタ予測を行うインタ予測部と、イントラ予測を行うイントラ予測部とを含むことができる。予測部１１０は、ピクチャ分割部１０５におけるピクチャの処理単位に対して予測を行って予測ブロックを生成することができる。予測部１１０におけるピクチャの処理単位は符号化ユニットであってもよいし、変換ユニットであってもよいし、予測ユニットであってもよい。また、該当処理単位に対して実施される予測がインタ予測であるかイントラ予測であるかを決定して、各予測方法の具体的な内容（例えば、予測モードなど）を決定することができる。このとき、 予測が行われる処理単位と、予測方法及び具体的な内容が決定される処理単位とは異なっていてもよい。例えば、予測の方法及び予測モードなどは予測ユニット単位で決定され、予測の実行は変換ユニット単位で実行することもできる。生成された予測ブロックと原ブロックとの間の残差値（残差ブロック）を変換部１１５に入力することができる。また、予測のために使用した予測モード情報、動きベクトル情報などは、残差値と共にエントロピ符号化部１３０で符号化して復号器に伝達することができる。
【００４１】
変換部１１５は、変換単位で残差ブロックに対する変換を行って変換係数を生成する。変換部１１５での変換単位は、変換ユニットであり、４分木（ｑｕａｄ  ｔｒｅｅ）構造を持つことができる。このとき、変換単位の大きさは所定の最大及び最小の大きさの範囲内で決定することができる。変換部１１５は、残差ブロックを離散コサイン変換（ＤＣＴ）及び／又は離散サイン変換（ＤＳＴ）を用いて変換することができる。
【００４２】
量子化部１２０は、変換部１１５で変換された残差値を量子化して量子化係数を生成することができる。量子化部１２０で算出された値は、逆量子化部１３５及び再整列部１２５に提供される。
【００４３】
再整列部１２５は、量子化部１２０から提供された量子化係数を再整列することができる。量子化係数を再整列することによってエントロピ符号化部１３０での符号化の効率を高めることができる。再整列部１２５は、係数走査（Ｃｏｅｆｆｉｃｉｅｎｔ  Ｓｃａｎｎｉｎｇ）法を通じて２次元ブロック形態の量子化係数を１次元のベクトル形態に再整列することができる。再整列部１２５では、量子化部に伝送された係数の確率的な統計に基づいて係数走査の順序を変更することによって、エントロピ符号化部１３０でのエントロピ符号化の効率を高めることもできる。
【００４４】
エントロピ符号化部１３０は、再整列部１２５によって再整列された量子化係数に対するエントロピ符号化を行うことができる。エントロピ符号化部１３０は、再整列部１２５及び予測部１１０から伝達された符号化ユニットの量子化係数情報及びブロックタイプ情報、予測モード情報、分割単位情報、予測ユニット情報及び伝送単位情報、動きベクトル情報、参照ピクチャ情報、ブロック補間情報、フィルタ情報、など多様な情報を符号化することができる。
【００４５】
エントロピ符号化には指数ゴロム、コンテキスト適応型可変長符号化（ＣＡＶＬＣ）及び／又はコンテキスト適応型２値算術符号化（ＣＡＢＡＣ）などのような符号化方法を使用することができる。例えば、エントロピ符号化部１３０には、可変長符号化（以下、「ＶＬＣ」という。）テーブルのようなエントロピ符号化を行うためのテーブルを記憶することができ、エントロピ符号化部１３０は記憶されたＶＬＣテーブルを用いてエントロピ符号化を行うことができる。また別の例として、ＣＡＢＡＣエントロピ符号化方法において、エントロピ符号化部１３０はシンボルを２進化してビン（bin）に変換した後、ビンの発生確率に応じてビンに対する算術符号化を行って、ビットストリームを生成することもできる。
【００４６】
エントロピ符号化が適用される場合、高い発生確率を持つシンボルに低い値のインデクス及びこれに対応する短い符号語が割り当てられ、低い発生確率を持つシンボルに高い値のインデクス及びこれに対応する長い符号語が割り当てられる。したがって、符号化対象シンボルに対するビット量を減少させることができ、エントロピ符号化によって映像圧縮性能を向上させることができる。
【００４７】
逆量子化部１３５は、量子化部１２０で量子化された値を逆量子化し、逆変換部１４０は、逆量子化部１３５で逆量子化された値を逆変換することができる。逆量子化部１３５及び逆変換部１４０で生成された残差値（Ｒｅｓｉｄｕａｌ）を、予測部１１０で予測された予測ブロックと組み合わせて、復元ブロック（Ｒｅｃｏｎｓｔｒｕｃｔｅｄ  Ｂｌｏｃｋ）を生成することができる。
【００４８】
フィルタ部１４５は、復元されたブロック及び／又はピクチャにループ内フィルタを適用することができる。ループ内フィルタは、ブロック除去フィルタ（ｄｅｂｌｏｃｋｉｎｇ  ｆｉｌｔｅｒ）、サンプル適応オフセット（Ｓａｍｐｌｅ  Ａｄａｐｔｉｖｅ  Ｏｆｆｓｅｔ、ＳＡＯ）及び／又は適応型ループフィルタ（ＡＬＦ）などを含むことができる。
【００４９】
ブロック除去フィルタは、復元されたピクチャにおいてブロック間の境界に生じたブロック歪を除去することができる。ＳＡＯは符号化誤差を補償するためにピクセル値に適正なオフセット値を加えることができる。ＡＬＦは、ブロック除去フィルタを通じてブロックが除去された後、復元された映像と本来の映像とを比較した値に基づいてフィルタ操作を行うことができる。
【００５０】
一方、イントラ予測に使用される復元ブロックに対しては、フィルタ部１４５はフィルタ操作を適用しなくてもよい。
【００５１】
メモリ１５０は、フィルタ部１４５を通じて算出された復元ブロック又はピクチャを記憶することができる。メモリ１５０に記憶された復元ブロック又はピクチャは、インタ予測を行う予測部１１０に提供することができる。
【００５２】
図２は、本発明の一実施例に係る予測部を概略示す概念図である。
【００５３】
図２を参照すれば、予測部２００は、インタ予測部２１０及びイントラ予測部２２０を含むことができる。
【００５４】
インタ予測部２１０は、現ピクチャの以前ピクチャ又は以後ピクチャのうち少なくとも一つのピクチャの情報に基づいて予測を行って予測ブロックを生成することができる。また、イントラ予測部２２０は、現ピクチャ内のピクセル情報に基づいて予測を行って予測ブロックを生成することができる。
【００５５】
インタ予測部２１０は、予測ユニットに対して、参照ピクチャを選択して、予測ユニットと同一の大きさの参照ブロックを整数ピクセルサンプル単位で選択することができる。次に、インタ予測部２１０は、１／２ピクセルサンプル単位及び１／４ピクセルサンプル単位のように整数以下のサンプル単位で、現予測ユニットと最も類似し、残差信号が最小化され、符号化される動きベクトルの大きさも最小になり得る予測ブロックを生成することができる。このとき、動きベクトルは整数ピクセル以下の単位で表現することができる。
【００５６】
インタ予測部２１０が選択した参照ピクチャのインデクス及び動きベクトルに関する情報は、符号化して復号器に伝達することができる。
【００５７】
図３は、本発明の一実施例に係る映像復号装置を概略示すブロック図である。
【００５８】
図３を参照すれば、映像復号器３００は、エントロピ復号部３１０、再整列部３１５、逆量子化部３２０、逆変換部３２５、予測部３３０、フィルタ部３３５及びメモリ３４０を含むことができる。
【００５９】
映像復号器に映像ビットストリームが入力されたとき、入力されたビットストリームは、映像符号化器によって映像情報が処理された手順に従って復号することができる。
【００６０】
エントロピ復号部３１０は、入力されたビットストリームに対してエントロピ復号を行うことができ、エントロピ復号方法は上述したエントロピ符号化方法と類似する。エントロピ復号が適用される場合、高い発生確率を持つシンボルに低い値のインデクス及びこれに対応する短い符号語が割り当てられ、低い発生確率を持つシンボルに高い値のインデクス及びこれに対応する長い符号語が割り当てられる。したがって、符号化対象のシンボルに対するビット量が減少され、エントロピ符号化によって映像圧縮性能を向上させることができる。
【００６１】
エントロピ復号部３１０で復号された情報のうち予測ブロックを生成するための情報は、予測部３３０に提供され、エントロピ復号部でエントロピ復号が行われた残差値は再整列部３１５に入力される。
【００６２】
再整列部３１５は、エントロピ復号部３１０でエントロピ復号されたビットストリームを、映像符号化器によって再整列された方法に基づいて再整列することができる。再整列部３１５は、１次元ベクトル形態で表現された係数を更に２次元のブロック形態の係数に復元して再整列することができる。再整列部３１５は、符号化器で行われた係数走査に係る情報を、当該符号化部で行われた走査順序に基づいて逆に走査する方法によって再整列することができる。
【００６３】
逆量子化部３２０は、符号化器から供給された量子化パラメータ及び再整列されたブロックの係数値に基づいて逆量子化を行うことができる。
【００６４】
逆変換部３２５は、映像符号化器で行われた量子化結果に対して符号化器の変換部が行ったＤＣＴ及びＤＳＴに対して、逆ＤＣＴ及び／又は逆ＤＳＴを行うことができる。逆変換は、符号化器で決定された伝送単位又は映像の分割単位に基づいて行うことができる。符号化器の変換部におけるＤＣＴ及び／又はＤＳＴは、予測方法、現ブロックの大きさ及び／又は予測方向など複数の情報によって選択的に行うことができ、復号器の逆変換部３２５は、符号化器の変換部で行われた変換情報に基づいて逆変換を行うことができる。
【００６５】
予測部３３０は、エントロピ復号部３１０から提供された予測ブロック生成関連情報と、メモリ３４０から提供された以前に復号されたブロック及び／又はピクチャ情報とに基づいて予測ブロックを生成することができる。復元ブロックは、予測部３３０で生成された予測ブロック及び逆変換部３２５から提供された残差ブロックを用いて生成することができる。
【００６６】
復元されたブロック及び／又はピクチャはフィルタ部３３５に提供することができる。フィルタ部３３５は、復元されたブロック及び／又はピクチャにループ内フィルタを適用することができる。ループ内フィルタは、ブロック除去フィルタ、ＳＡＯ及び／又はＡＬＦなどを含むことができる。
【００６７】
メモリ３４０は、復元されたピクチャ又はブロックを記憶して参照ピクチャ又は参照ブロックとして使用できるようにし、また復元されたピクチャを出力部に提供することができる。
【００６８】
図４は、本発明の一実施例に係る映像復号装置の予測部を概略示す概念図である。
【００６９】
図４を参照すれば、予測部４００は、イントラ予測部４２０及びインタ予測部４１０を含むことができる。
【００７０】
イントラ予測部４２０は、該当予測ユニットに対する予測モードがイントラ予測モード（画面内予測モード）の場合に、現ピクチャ内のピクセル情報に基づいて予測ブロックを生成することができる。
【００７１】
インタ予測部４１０は、該当予測ユニットに対する予測モードがインタ予測モード（画面間予測モード）の場合に、映像符号化器から提供された現予測ユニットのインタ予測に必要な情報、例えば、動きベクトル、参照ピクチャインデクスなどに関する情報を用いて、現予測ユニットが含まれる現ピクチャの前のピクチャ又は後のピクチャのうち少なくとも一つのピクチャに含まれた情報に基づいて、現予測ユニットに対するインタ予測を行うことができる。
【００７２】
このとき、符号化器から受信される符号化ユニットのスキップフラグ、マージフラグなどが確認されたとき、これらによって動き情報を導出することができる。
【００７３】
以下、発明の構成又は表現に従って「映像」又は「画面」が「ピクチャ」と同じ意味を表す場合、「ピクチャ」は「映像」又は「画面」と呼ぶことがある。また、インタ予測と画面間予測とは同一の意味を有し、イントラ予測と画面内予測とは同一の意味を有する。
【００７４】
図５は、本発明が適用されるシステムにおける処理ユニットの４分木構造に関する一例を概略示す概念図である。
【００７５】
符号化ユニット（ＣＵ）はピクチャの符号化／復号が行われる単位を意味する。符号化対象のピクチャ内の一つの符号化ブロックは４分木構造に基づく深さ（Ｄｅｐｔｈ）を有し、繰り返し分割することができる。このとき、それ以上分割されない符号化ブロックは符号化ユニットに該当し、符号化器は当該符号化ユニットに対する符号化処理を行うことができる。符号化ユニットは、６４×６４、３２×３２、１６×１６、８×８などの複数の大きさを持つことができる。
【００７６】
ここで、４分木構造に基づいて繰り返し分割される符号化ブロックは、符号化木ブロック（Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｂｌｏｃｋ、ＣＴＢ）と呼ぶことができる。一つの符号化木ブロックは更に分割されないことがあり、この場合、符号化木ブロック自体が一つの符号化ユニットに該当する。よって、符号化木ブロックは最大の大きさの符号化ユニットである最大符号化ユニット（Ｌａｒｇｅｓｔ  Ｃｏｄｉｎｇ  Ｕｎｉｔ、ＬＣＵ）に対応することがある。一方、符号化木ブロック内で最も小さな大きさを持つ符号化ユニットは最小符号化ユニット（Ｓｍａｌｌｅｓｔ  Ｃｏｄｉｎｇ  Ｕｎｉｔ、ＳＣＵ）と呼ばれることがある。
【００７７】
図５を参照すれば、符号化木ブロック５００は分割を通じて更に小さい符号化ユニット５１０からなる階層的構造を有することができ、符号化木ブロック５００の階層的構造は、大きさ情報、深さ情報、分割フラグ情報などに基づいて特定することができる。符号化木ブロックの大きさに係る情報、分割深さ情報及び分割フラグ情報などは、ビットストリーム上のシーケンスパラメータセット（ＳＰＳ）に含めて符号化器から復号器に伝送することができる。
【００７８】
一方、インタ予測とイントラ予測のうちいずれの予測が行われるかは、符号化ユニット単位で決定することができる。インタ予測が行われる場合には予測ユニット単位でインタ予測モード及び動き情報などを決定することができ、イントラ予測が行われる場合には予測ユニット単位でイントラ予測モードを決定することができる。このとき、上述したように予測が行われる処理単位と、予測方法及び具体的な内容が決定される処理単位とは同一であってもよいし、互いに異なっていてもよい。例えば、予測の方法及び予測モードなどは予測ユニット単位で決定され、予測の実行は変換ユニット単位で行うこともできる。
【００７９】
図５を参照すれば、一つの符号化ユニット５１０は、一つの予測ユニットとして使用してもよいし、複数の予測ユニットに分割してもよい。イントラ予測５２０の場合、符号化ユニット（及び／又は予測ユニット）の分割モード（ｐａｒｔｉｔｉｏｎｉｎｇ  ｍｏｄｅ）は２Ｎ×２Ｎ又はＮ×Ｎ（Ｎは整数）である。ここで、２Ｎ×２Ｎモードにおいては、予測ユニットは２Ｎ×２Ｎの大きさを持つことができ、Ｎ×Ｎモードにおいては、予測ユニットはＮ×Ｎの大きさを持つことができる。インタ予測５３０の場合に、符号化ユニット（及び／又は予測ユニット）の分割モードは２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｎ、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ又はｎＲ×２Ｎ（Ｎは整数）である。ここで、２Ｎ×Ｎモードにおいては、予測ユニットは２Ｎ×Ｎの大きさを持つことができ、Ｎ×２Ｎモードにおいては、予測ユニットはＮ×２Ｎの大きさを持つことができる。また、２Ｎ×ｎＵモードにおいては、一つの符号化ユニットは２Ｎ×（１／２）Ｎの大きさの予測ユニット及び２Ｎ×（３／２）Ｎの大きさの予測ユニットに分割することができ、このとき、２Ｎ×（１／２）Ｎの大きさの予測ユニットは２Ｎ×（３／２）Ｎの大きさの予測ユニットの上端に位置することができる。２Ｎ×ｎＤモードにおいては、一つの符号化ユニットは、２Ｎ×（３／２）Ｎの大きさの予測ユニット及び２Ｎ×（１／２）Ｎの大きさの予測ユニットに分割することができ、このとき、２Ｎ×（１／２）Ｎの大きさの予測ユニットは２Ｎ×（３／２）Ｎの大きさの予測ユニットの下端に位置することができる。また、ｎＬ×２Ｎモードにおいては、一つの符号化ユニットは、（１／２）Ｎ×２Ｎの大きさの予測ユニット及び（３／２）Ｎ×２Ｎの大きさの予測ユニットに分割することができ、このとき、（１／２）Ｎ×２Ｎの大きさの予測ユニットは（３／２）Ｎ×２Ｎの大きさの予測ユニットの左側に位置することができる。ｎＲ×２Ｎモードにおいては、一つの符号化ユニットは、（３／２）Ｎ×２Ｎの大きさの予測ユニット及び（１／２）Ｎ×２Ｎの大きさの予測ユニットに分割することができ、このとき、（１／２）Ｎ×２Ｎの大きさの予測ユニットは（３／２）Ｎ×２Ｎの大きさの予測ユニットの右側に位置することができる。
【００８０】
上述した分割モードは一つの実施例に該当し、符号化ユニットが予測ユニットに分割される方式は実施例に限定されない。例えば、インタ予測５３０の場合、符号化ユニット（及び／又は予測ユニット）の分割モードは２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｎの四つだけが使用されてもよいし、上述した８つの分割モード以外の他の分割モードが更に使用されてもよい。
【００８１】
現符号化ユニット（及び／又は予測ユニット）に適用される分割モードは符号化器によって決定することができる。符号化器によって決定された分割モードに関する情報は、符号化して復号器に伝送することができ、復号器は、伝送された分割モード情報に基づいて現符号化ユニット（及び／又は予測ユニット）の分割モードを決定することができる。一例として、分割モード情報はpart_mode構文を通じて復号器に伝送することができる。
【００８２】
一方、図５の５２０及び５３０に示される各予測ユニットに割り当てられた番号は、予測ユニットの分割インデクスを示す。ここで、分割インデクスとは、現予測ユニットが現符号化ユニットに属する予測ユニットのうちいずれの予測ユニットに該当するかを指示するインデクスを意味する。分割インデクスは、一例としてpartIdx で表される。
【００８３】
図５を参照すれば、一例として、図５の５２０のＮ×Ｎ分割モードにおいては符号化ユニット内の右上に位置する予測ユニットの分割インデクスは１に該当する。よって、現予測ユニットの分割インデクスに１が割り当てられた場合、分割インデクスの値は現予測ユニットが現符号化ユニット内の右上に位置する予測ユニットであることを示す。他の例として、図５の５３０の２Ｎ×ｎＵ分割モードにおいては符号化ユニット内の左側に位置する予測ユニットの分割インデクスは０に該当する。よって、現予測ユニットの分割インデクスに０が割り当てられた場合、分割インデクスの値は、現予測ユニットが現符号化ユニット内の左側に位置する予測ユニットであることを示す。
【００８４】
図５に示された各分割モードにおける分割インデクス割当方法は一つの実施例に過ぎず、分割インデクスの割当有無及び割当方法は上述した実施例と異なってもよい。一例として、図５の５３０の２Ｎ×ｎＵ分割モードにおいては、符号化ユニット内の左側に位置する予測ユニットの分割インデクスが１に該当することもできる。他の例として、２Ｎ×２Ｎ分割モードにおいては、符号化ユニットが複数の予測ユニットに分割されないため、予測ユニットに分割インデクスが割り当てられないこともある。以下、本明細書の後述する実施例では、説明の便宜上、符号化時及び復号時に図５に示された分割モード及び分割インデクスが適用されると仮定する。
【００８５】
以下、本明細書において、現ブロックとは、現在符号化、復号及び／又は予測処理が行われているブロックであって、符号化、復号及び／又は予測処理が行われるときの処理単位に対応するブロックを意味する。一例として、現ブロックに対して予測処理が行われる場合、現ブロックは現予測ユニットに対応する予測対象ブロックに該当する。そして、本明細書では、予測によって生成されたブロックは予測ブロックと呼ぶ。
【００８６】
「ユニット」とは、符号化及び復号などが行われる際の処理単位を意味するため、ピクセル及び／又はサンプルの組合せを示す「ブロック」と区別されることもあるが、本明細書では説明の便宜上、「ユニット」が場合によって「ユニット」に対応する「ブロック」を指すこともある。一例として、以下、本明細書では、一つの予測ユニットに対応する予測対象ブロックを予測ユニットと呼ぶこともあるし、一つの符号化ユニットに対応する符号化／復号対象ブロックを符号化ユニットと呼ぶこともある。このような区別は当該技術分野における通常の知識を有する者であれば明確に理解できるであろう。
【００８７】
一方、現ブロックに対してインタ予測が行われる場合、予測による伝送情報量を減少させるために、高度動きベクトル予測（Ａｄｖａｎｃｅｄ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｉｏｎ、ＡＭＶＰ）、マージモード及び／又はスキップモードなどの予測モードが用いられる。
【００８８】
マージモードにおいては、現ブロックは、現ピクチャ及び／又は参照ピクチャ内の他のブロック（例えば、周辺ブロック。ここで、周辺ブロックは、現ブロックに隣接するブロック及び／又は現ブロックの外部隅に最も近く位置するブロックを含む）にマージすることができる。このとき、マージするとは、現ブロックのインタ予測において、動き情報を現ピクチャ及び／又は参照ピクチャ内の他のブロックの動き情報から得ることを言う。
【００８９】
現ブロックのマージ関連情報には、現ブロックに対する予測モードがマージモードであるか否かを示す情報、現ブロックがマージ候補リストに含まれたマージ候補のうちいずれのマージ候補にマージされるかを示す情報、などがある。以下、現ブロックに対する予測モードがマージモードであるか否かを示す情報はマージフラグと言い、現ブロックがマージ候補リストに含まれたマージ候補のうちいずれのマージ候補にマージされるかを示す情報はマージインデクスと言う。例えば、マージフラグはmerge_flagによって表され、マージインデクスはmerge_idxによって表される。このとき、マージインデクスは、マージフラグが現ブロックに対する予測モードがマージモードである旨を指示する場合（例えば、merge_flag=1）にだけ取得されるようにすることもできる。
【００９０】
スキップモードは、予測ブロックと現ブロックとの差である残差信号の伝送が省略される予測モードである。スキップモードにおいては、予測ブロックと現ブロックとの残差信号の値が０である。よって、スキップモードにおいては、符号化器は復号器に残差信号を伝送せず、復号器は残差信号と動き情報のうち動き情報だけを用いて予測ブロックを生成することができる。スキップモードにおいては、符号化器は動き情報を復号器に伝送することができる。このとき、動き情報は、現ブロックの周辺ブロックのうちいずれか一つのブロックを指定して、当該ブロックの動き情報を現ブロックに用いるようにする方式によって伝送することもできる。
【００９１】
上述したスキップモードにおいては、現ブロックの動き情報を取得するために、マージモードにおいて使用される方法と同一の方法を使用することができる。このとき、スキップモード及びマージモードにおいては、同一の周辺ブロックを動き情報の導出のための候補ブロックとして使用することができる。例えば、スキップモードにおいても、マージ候補リストに含まれたマージ候補のうちマージインデクスによって指示されたマージ候補ブロックの動き情報を、そのまま現ブロックの動き情報として使用することができる。このような場合のスキップモードはマージスキップモードとも呼ばれる。以下、本明細書においてスキップモードは、上述したマージスキップモードを意味する。マージモードにおけるインタ予測方法の具体的な実施例は、図６に関連して後述する。
【００９２】
図６は、マージモードにおけるインタ予測方法の一実施例を概略示すフローチャートである。
【００９３】
図６の実施例は符号化器及び復号器に適用することができ、以下、図６の実施例は便宜上、復号器を中心に説明される。
【００９４】
図６を参照すれば、復号器は複数のマージ候補から構成されたマージ候補リストを生成することができる（Ｓ６１０）。復号器は所定のプロセスを通じて複数のマージ候補を導出することができ、導出されたマージ候補に基づいてマージ候補リストを生成することができる。このとき、現ピクチャ内のブロック及び／又は現ピクチャではない参照ピクチャ内の同一位置ブロック（col block）などに含まれた動き情報をマージ候補として使用するか、及び／又はマージ候補の導出のために使用することができる。以下、本明細書では説明の便宜上、マージ候補として使用される動き情報を含むブロックは「マージ候補ブロック」と言う。マージ候補リストの生成のために使用されるマージ候補の実施例は後述することにする。
【００９５】
さらに図６を参照すれば、復号器は、生成されたマージ候補リストに基づいて現ブロックの動き情報を導出することができる（Ｓ６２０）。
【００９６】
具体的には、復号器は、マージ候補リストを構成するマージ候補のうち現ブロックの動き情報の導出に使用されるマージ候補を選択することができる。一実施例として、復号器は、符号化器から伝送されたマージインデクスが指示するマージ候補を、現ブロックの動き情報の導出に使用されるマージ候補として選択することができる。このとき、復号器は、選択されたマージ候補に基づいて現ブロックの動き情報を導出することができる。例えば、復号器は、選択されたマージ候補の動き情報をそのまま現ブロックの動き情報として使用することができる。
【００９７】
現ブロックの動き情報が導出されれば、符号化器は導出された動き情報に基づいて現ブロックに対する予測ブロックを生成することができる（Ｓ６３０）。
【００９８】
図７は、マージ候補リストの生成に使用されるマージ候補の実施例を概略示す図である。
【００９９】
上述したようにマージモードが適用される場合、マージ候補リストに含まれたマージ候補のうちいずれか一つの動き情報に基づいて、現ブロックの動き情報を導出することができる。例えば、マージ候補リストに含まれたマージ候補のうちいずれか一つの動き情報を現ブロックの動き情報として使用することができる。このとき、動き情報と共に残差信号が伝送されることもあるし、予測ブロックのピクセル値がそのまま現ブロックのピクセル値として使用される場合には、残差信号が伝送されないこともある。
【０１００】
図７の７１０は、マージ候補リストの生成に使用されるマージ候補の一実施例を示す。図７の７１０を参照すれば、現ブロックの左側周辺ブロックＡ及び／又は現ブロックの上端周辺ブロックＢがマージ候補ブロックとして用いられる。このとき、図示のように、現ブロックの左側周辺ブロックは現ブロックの左側に隣接するブロックのうち最も上端に位置するブロックであってもよいし、現ブロックの上端周辺ブロックは現ブロックの上端に隣接するブロックのうち最も左側に位置するブロックであってもよい。そして、左下隅ブロックＣ及び／又は右上隅ブロックＤがマージ候補ブロックとして用いられる。上述した左側周辺ブロックＡ、上端周辺ブロックＢ、左下隅ブロックＣ及び右上隅ブロックＤは、現ピクチャ内に位置する現ブロックの周辺ブロックに該当する。よって、マージ候補ブロックから導出されるマージ候補は空間的マージ候補と呼ぶことができる。また、別の観点では、空間的マージ候補は現ブロックの動きベクトルの予測に使用することができるため、空間的動きベクトル予測子（Ｓｐａｔｉａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｏｒ、ＳＭＶＰ）と呼ばれることもある。
【０１０１】
また、図７の７１０では同一位置ブロック（ｃｏｌ）がマージ候補ブロックとして用いられる。同一位置ブロックは現ピクチャでない参照ピクチャ内のブロックに該当する。具体的には、符号化器及び復号器は、参照ピクチャ内の所定の位置及び／又は所定のプロセスによって決定された位置のブロックを同一位置ブロックとして選択することができる。ここで、同一位置ブロックの位置は、現ブロック及び／又は現ブロックと同一位置にある（ｃｏ−ｌｏｃａｔｅｄ）参照ピクチャ内のブロック（以下、説明の便宜のために「同一位置ブロック」と言う）に基づいて導出することができる。上述した同一位置ブロックは参照ピクチャから導出されるブロックである。よって、同一位置ブロックから導出されるマージ候補は時間的マージ候補と呼ばれることがある。また、別の観点では、時間的マージ候補は現ブロックの動きベクトルの予測に使用することができるため、時間的動きベクトル予測子（Ｔｅｍｐｏｒａｌ  Ｍｏｔｉｏｎ  Ｖｅｃｔｏｒ  Ｐｒｅｄｉｃｔｏｒ、ＴＭＶＰ）と呼ばれることもある。
【０１０２】
図７の７２０は、マージ候補リストの生成に使用されるマージ候補の別の実施例を示す。図７の７２０を参照すれば、マージ候補リストには左下隅ブロックＡ0、右上隅ブロックＢ0及び／又は左上隅ブロックＢ2の動き情報がマージ候補として含まれる。また、マージ候補リストには現ブロックの左側周辺ブロックＡ1及び／又は現ブロックの上端周辺ブロックＢ1の動き情報がマージ候補として含まれる。このとき、左側周辺ブロックＡ1は現ブロックの左側に隣接するブロックのうち最も下端に位置するブロックであり、上端周辺ブロックＢ1は現ブロックの上端に隣接するブロックのうち最も右側に位置するブロックである。上述した左下隅ブロックＡ0、左側周辺ブロックＡ1、右上隅ブロックＢ0、上端周辺ブロックＢ1及び左上隅ブロックＢ2は、現ピクチャ内に位置する現ブロックの周辺ブロックに該当する。よって、マージ候補ブロックから導出されるマージ候補は空間的マージ候補と呼ばれることがある。また、別の観点では、空間的マージ候補は現ブロックの動きベクトルの予測に使用することができるため、空間的動きベクトル予測子（ＳＭＶＰ）と呼ばれることもある。
【０１０３】
また、図７の７２０では、図７の７１０と同様に同一位置ブロックの動き情報がマージ候補リストに含まれるマージ候補として用いられる。上述したように、同一位置ブロックは現ピクチャでない参照ピクチャ内のブロックに該当する。ここで、同一位置ブロックの位置は、現ブロック及び／又は同一位置ブロックに基づいて導出することができる。上述した同一位置ブロックは参照ピクチャから導出されるブロックである。よって、同一位置ブロックから導出されるマージ候補は時間的マージ候補と呼ばれることがある。また、別の観点では、時間的マージ候補は現ブロックの動きベクトルの予測に使用することができるため、時間的動きベクトル予測子（ＴＭＶＰ）と呼ばれることもある。
【０１０４】
本明細書においてマージ候補リストの生成に使用されるマージ候補は上述した実施例に限定されるものではなく、必要によってマージ候補は上述した実施例と異なる方式で導出することもできる。ただし、以下、本明細書では特に断らない場合、予測対象ブロック（及び／又は現ブロック）を基準に図７の７２０に示されたような位置のマージ候補がマージモードの予測のために使用されると仮定する。また、以下、本明細書でマージ／スキップ対象になる予測ユニットのマージ候補に関する内容が記述される場合、予測ユニットの外部の左下隅に最も近く位置するブロックはＡ0、予測ユニットの左側に隣接するブロックのうち最も下端に位置するブロックはＡ1、予測ユニットの外部の右上隅に最も近く位置するブロックはＢ0、予測ユニットの上端に隣接するブロックのうち最も右側に位置するブロックはＢ1、予測ユニットの外部の左上隅に最も近く位置するブロックはＢ2と表示する。
【０１０５】
図７の実施例を参照すれば、マージ候補リストを構成するマージ候補の選択方法は多様に拡張することができる。符号化器及び復号器は、上述した図７の実施例によってマージ候補を選択してマージ候補リストを構成することができる。このとき、符号化器及び復号器は、マージ候補が選択されたとき、冗長度を減らすために重複する候補を排除してマージ候補リストを構成することもできる。
【０１０６】
また、上述した図７の実施例において、マージ候補リストを構成するマージ候補の個数は所定の固定された個数に制限することができる。例えば、図７の７２０の実施例でマージ候補の個数が５個に制限され、マージ候補リストにマージ候補が｛Ａ1、Ｂ1、Ｂ0、Ａ0、Ｂ2、ｃｏｌ｝の順序で追加及び／又は挿入されると仮定する。このとき、Ａ1、Ｂ1、Ｂ0、Ａ0、Ｂ2、ｃｏｌブロックがいずれも利用可能であるとき、Ａ1、Ｂ1、Ｂ0、Ａ0、ｃｏｌブロックの動き情報だけを、マージ候補リストに含まれるマージ候補として決定することができる。別の例として、 Ａ1、Ｂ1、Ｂ0、Ａ0、Ｂ2、ｃｏｌブロックのうち利用可能（ａｖａｉｌａｂｌｅ）なブロックの個数は５個未満であってもよい。この場合、符号化器及び復号器は利用可能なマージ候補に基づいて所定のプロセスを通じて新しいマージ候補を導出することによって、最終的に導出されるマージ候補の個数が５個になるようにすることができる。
【０１０７】
一方、一例として、マージモード及び／又はスキップモードにおけるインタ予測（ｉｎｔｅｒ  ｐｒｅｄｉｃｔｉｏｎ）の実行の際、符号化器及び復号器は、それぞれの予測ユニットに対して順に動き予測（ＭＥ）を行うことができる。しかし、別の例として、符号化／復号性能を向上するために、符号化器及び復号器は複数の予測ユニットに対して同時に動き予測を行うこともできる。すなわち、マージモード及び／又はスキップモードにおける動き予測は、複数の予測ユニットに対して並列に行うことができ、このような場合の動き予測は並列動き予測と呼ぶことができる。以下、本明細書で、並列動き予測が適用されるマージモードは並列マージモード及び／又は並列マージと予備、並列動き予測が適用されるスキップモードは並列スキップモード及び／又は並列スキップと呼ぶ。
【０１０８】
後述する実施例は説明の便宜上、並列マージモードを中心に述べられる。しかし、後述する実施例は並列マージモードに限定されるものではなく、並列スキップモードに対しても同一又は類似する方法で適用することができる。
【０１０９】
図８は、マージモード及びスキップモードにおいては並列処理単位の一実施例を概略示す図である。
【０１１０】
図８に示された全体ブロックは一つの符号化木ブロック（ＣＴＢ）を示し、符号化木ブロックは最大符号化ユニット（ＬＣＵ）に対応することができる。上述したように、符号化木ブロックは分割を通じて更に小さい符号化ユニットからなる階層的構造を有することができ、それぞれの符号化ユニットは一つの予測ユニットとして使用されるか、複数の予測ユニットに分割することができる。よって、図８の符号化木ブロックを構成する正方形ブロック及び矩形ブロックはそれぞれ、一つの予測ユニットに該当する。
【０１１１】
一方、図８に示された８１０、８２０、８３０及び８４０の正方形ブロックはそれぞれ、並列動き予測が行われる並列処理単位を示す。すなわち、最大符号化ユニット（ＬＣＵ）は互いに重ならない複数の並列処理単位に分割することができる。ここで、一例として、複数の並列処理単位は同一の大きさを持つことができる。このとき、符号化器及び復号器は、一つの並列処理単位内のすべての予測ユニットに対して同時に動き予測を行うことができる。例えば、並列処理単位８１０に含まれた予測ユニットＡ及び予測ユニットＢに対しては動き予測を並列に行うことができる。並列処理単位は並列動き予測が適用される領域に該当するため、動き予測領域（Ｍｏｔｉｏｎ  Ｅｓｔｉｍａｔｉｏｎ  Ｒｅｇｉｏｎ、ＭＥＲ）とも呼ばれることがある。以下、本明細書では説明の便宜上、並列動き予測が行われる並列処理単位はＭＥＲと言う。
【０１１２】
マージモード及び／又はスキップモードにおいて並列動き予測が適用される場合、符号化器は並列動き予測に係る情報を復号器に伝送する必要がある。上述したように、並列動き予測はＭＥＲ内のすべての予測ユニットに対して適用されることがあるため、符号化器から復号器へ伝送される情報はマージモード及び／又はスキップモードにおける並列処理レベルに該当する。ここで、並列処理レベルは並列動き予測が行われる並列処理単位の大きさに該当し、よって、ＭＥＲの大きさにも該当する。例えば、３２×３２の大きさのブロック単位で並列動き予測が行われる場合、すなわちＭＥＲの大きさが３２×３２に該当する場合、並列動き予測は３２×３２並列処理レベルで行われると言える。並列処理レベルはマージモード及び／又はマージスキップモードにおける並列処理レベルを示すため、並列マージレベルと呼ばれることもある。
【０１１３】
ここで、並列処理レベルは一定範囲以内に制限されることもある。例えば、並列処理レベルは４×４ないしＬＣＵの大きさ以下の大きさに制限されることがある。このとき、ＭＥＲはＬＣＵの大きさ及び／又はＣＴＢの大きさ以下の大きさを持つことがある。
【０１１４】
上述した並列処理レベルに関する情報は、ビットストリーム上のシーケンスパラメータセット（ＳＰＳ）又はピクチャパラメータセット（ＰＰＳ）に含めて符号化器から復号器に伝送することができる。ＰＰＳに含まれる並列処理レベル関連情報は、一実施例として、次の表１に含まれるような構文要素によって定義することができる。
【０１１５】
【表１】
2020205627.tif 000003
【０１１６】
ここで、log2_parallel_merge_level_minus2はマージモード及び／又はスキップモードにおける並列処理レベルを示す。正確には、log2_parallel_merge_level_minus2に割り当てられる値は実際の並列処理レベルの対数値、すなわち実際のＭＥＲの大きさの対数値から２を引いた値に該当する。予測ユニットの最小の大きさが４×４の場合、並列処理レベルの対数値の最小値は２に該当する。よって、伝送情報量の減少のために、log2_parallel_merge_level_minus2には、実際の並列処理レベルの対数値から２を引いた値が割り当てられる。
【０１１７】
ＰＰＳで定義される並列処理レベル情報は上述した実施例に限定されない。表１の実施例において、並列処理レベルに関する情報を除く他の情報を示す構文は必要に応じて別様に適用されることもある。
【０１１８】
一方、表１でのlog2_parallel_merge_level_minus2は、割り当てられる値によって次の表２の実施例のような意味を持つことができる。
【０１１９】
【表２】
2020205627.tif 000004
【０１２０】
表２を参考にすれば、log2_parallel_merge_level_minus2に０の値が割り当てられた場合、ＭＥＲの大きさは４×４に該当する。この場合、最小予測ユニットの大きさが４×４であるので、符号化器及び復号器はＬＣＵ内のすべての予測ユニットに対して、順に動き予測を行うことができる。別の例として、log2_parallel_merge_level_minus2に２の値が割り当てられた場合、ＭＥＲの大きさは１６×１６に該当する。この場合、符号化器及び復号器は１６×１６並列処理レベルで並列動き予測を行うことができる。すなわち、符号化器及び復号器は１６×１６ブロック内のすべての予測ユニットに対して、並列に動き予測を行うことができる。同様に、log2_parallel_merge_level_minus2に他の値が割り当てられた場合にも、符号化器及び復号器は、割り当てられた値によって類似する方式で並列動き予測を行うことができる。
【０１２１】
一方、一つの符号化木ブロックは複数個の符号化ユニット（ＣＵ）を含むことができる。このとき、一つの並列処理単位、すなわち一つのＭＥＲは一つの予測ユニット（ＰＵ）を含むこともでき、一つの符号化ユニットと同一の大きさを持つこともできる。また、一つのＭＥＲは複数の符号化ユニットを含むこともできる。
【０１２２】
例えば、図８を参照すれば、ＭＥＲ８１０は予測ユニットＡ及び予測ユニットＢから構成された一つの符号化ユニットと同一の大きさを持つ。また、ＭＥＲ８３０及びＭＥＲ８４０はそれぞれ符号化ユニットＧ及び符号化ユニットＨと同一の大きさを持つ。このように、一つの符号化ユニットがＭＥＲと同一の大きさを持つ場合、その符号化ユニットに対する並列動き予測は符号化ユニット単位で行われるものと見なすこともできる。一方で、ＭＥＲ８２０は、符号化ユニットＣ（符号化ユニットＣは予測ユニットＣに対応する）、符号化ユニットＤ（符号化ユニットＤは予測ユニットＤ１、予測ユニットＤ２を含む）、符号化ユニットＥ（符号化ユニットＥは予測ユニットＥに対応する）及び符号化ユニットＦ（符号化ユニットＦは予測ユニットＦ１、予測ユニットＦ２を含む）を含むことができる。このとき、マージモード及び／又はスキップモードにおける動き予測は、ＭＥＲ８２０内の予測ユニットＣ、Ｄ１、Ｄ２、Ｅ、Ｆ１及びＦ２の全部に対して並列に行うことができる。
【０１２３】
一方、上述した図８の実施例のように、マージモード及び／又はスキップモードにおいては並列動き予測が行われるためには、並列処理単位、すなわちＭＥＲ内のすべての予測ユニットに対してそれぞれ独立してインタ予測及び／又は動き予測が実行できなければならない。しかし、上述したマージモード及び／又はスキップモードにおいては、並列動き予測に関連して問題点が発生することもある。
【０１２４】
図９は、マージモードにおいては並列動き実行の際に発生する問題点を概略説明するための図である。図９の９１０、９２０、９３０及び９４０はそれぞれ一つの符号化ユニットを示す。
【０１２５】
図８で説明したように、並列処理単位、すなわちＭＥＲは現符号化ユニットと同一の大きさを持つ場合もあるし、そうでない場合もある。図９の実施例では、ＭＥＲの大きさが現符号化ユニットと同一であると仮定する。このとき、図９に示されたそれぞれの符号化ユニットは並列処理単位に該当し、この場合、並列動き予測は符号化ユニット単位で行われることがある。ただし、図９で後述する問題点は、ＭＥＲの大きさが現符号化ユニットより大きい場合にも同一又は類似に発生し得る。
【０１２６】
図９の９１０において、符号化ユニット（及び／又は予測ユニット）の分割モードは２Ｎ×２Ｎである。よって、一つの符号化ユニットが分割されないまま予測ユニットＡとして使用できるため、並列動き予測による問題点が発生しない。
【０１２７】
図９の９２０において、符号化ユニット（及び／又は予測ユニット）の分割モードは２Ｎ×Ｎである。この場合には、並列動き予測のために上端予測ユニットＢ１及び下端予測ユニットＢ２に対する動き予測が同時に行われなければならない。しかし、下端予測ユニットＢ２に対するマージ候補のうち、下端予測ユニットＢ２の上端に隣接して最も右側に位置するブロック９２５の動き情報は、上端予測ユニットＢ１の符号化／復号が完了したときだけ、下端予測ユニットＢ２のマージ候補として使用することができる。このように、下端予測ユニットＢ２は上端予測ユニットＢ１に属する動き情報を使用するため、図９の９２０の符号化ユニットに属する予測ユニットに対しては同時に動き予測を行うことができない。
【０１２８】
図９の９３０において、符号化ユニット（及び／又は予測ユニット）の分割モードはＮ×２Ｎである。この場合には、並列動き予測のために左側予測ユニットＣ１及び右側予測ユニットＣ２に対する動き予測を同時に行わなければならない。しかし、右側予測ユニットＣ２に対するマージ候補のうち、右側予測ユニットＣ２の左側に隣接して最も下端に位置するブロック９３５の動き情報は、左側予測ユニットＣ１の符号化／復号が完了したときだけ、右側予測ユニットＣ２のマージ候補として使用することができる。このように、右側予測ユニットＣ２は左側予測ユニットＣ１に属する動き情報を使用するため、図９の９３０の符号化ユニットに属する予測ユニットに対しては同時に動き予測を行うことができない。
【０１２９】
図９の９４０において、符号化ユニット（及び／又は予測ユニット）の分割モードはＮ×Ｎである。この場合には、並列動き予測のために左上予測ユニットＤ１、右上予測ユニットＤ２、左下予測ユニットＤ３及び右下予測ユニットＤ４に対する動き予測を同時に行わなければならない。しかし、一例として、右下予測ユニットＤ４に対するマージ候補のうち、右下予測ユニットＤ４の左上隅に位置するブロック９４１、右下予測ユニットＤ４の上端に隣接して最も右側に位置するブロック９４３及び右下予測ユニットＤ４の左側に接して最も下端に位置するブロック９４５の動き情報は、それぞれ左上予測ユニットＤ１、右上予測ユニットＤ２及び左下予測ユニットＤ３の符号化／復号が完了したときだけ、右下予測ユニットＤ４のマージ候補として使用することができる。また、図９の９４０においては、右上予測ユニットＤ２及び左下予測ユニットＤ３でも上述した右下予測ユニットＤ４と類似する問題点が発生し得る。このように、左上予測ユニットＤ１を除く予測ユニットは他の予測ユニットに属する動き情報を使用するため、図９の９４０の符号化ユニットに属する予測ユニットに対しては同時に動き予測を行うことができない。
【０１３０】
上述した実施例では、符号化ユニット（及び／又は予測ユニット）の分割モードが２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ及びＮ×Ｎの場合の問題点だけが述べられているが、このような問題点は他の分割モード（例えば、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ又はｎＲ×２Ｎ）においても同様に又は類似して発生し得る。以下、図９で述べられた問題点を解決するためのマージ候補導出方法及びマージ候補リスト構成方法の実施例を説明する。
【０１３１】
図１０は、並列動き予測を可能にするためのマージ候補導出方法の一実施例を概略示す図である。
【０１３２】
図１０の１０１０ないし１０６０はそれぞれ一つの符号化ユニットを示し、各符号化ユニットに属する予測ユニットそれぞれに表示された番号は分割インデクスを示す。
【０１３３】
図１０の実施例では説明の便宜上、ＭＥＲの大きさが現符号化ユニットと同一であると仮定する。このとき、図１０に示されたそれぞれの符号化ユニットは並列処理単位に該当し、この場合、並列動き予測は符号化ユニット単位で行われることがある。しかし、後述する図１０の実施例は、ＭＥＲの大きさ、すなわち並列処理レベルが符号化ユニットより大きい場合にも、並列処理レベルに属する符号化ユニットそれぞれに対して同一に適用されることがある。
【０１３４】
一方、図９において説明したように、並列動き予測が行われるＭＥＲ内には、まだ符号化／復号が完了していない他のブロック（及び／又は予測ユニット）の動き情報を使用する予測ユニットが存在することがある。このような場合、ＭＥＲに属する予測ユニットに対しては同時に動き予測を行うことができない。よって、このような問題点を解決するために、符号化器及び復号器は、動き情報が利用可能でない（ｎｏｔ  ａｖａｉｌａｂｌｅ）ブロックはマージ候補ブロックとして使用しない。すなわち、符号化器及び復号器はマージ候補導出過程でブロックを利用可能でないものとして処理し、ブロックの動き情報をマージ候補リストに追加しない。
【０１３５】
図１０の１０１０において、符号化ユニット（及び／又は予測ユニット）の分割モードは２Ｎ×Ｎであり、分割インデクスが１である下端予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックＡ0、Ａ1、Ｂ0、Ｂ1及びＢ2のうち、ブロックＢ1は同一の符号化ユニット内の他の予測ユニットに属するブロックである。よって、ブロックＢ1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、下端予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１３６】
また、分割インデクスが１である下端予測ユニットの動き予測時には、ブロックＡ0及びブロックＢ0の動き情報が利用可能でないこともある。これは符号化／復号の手順上、ブロックの符号化及び／又は復号が完了していない場合もあるためである。このとき、ブロックＡ0及びブロックＢ0は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、下端予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１３７】
図１０の１０１０の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、分割インデクスが１である下端予測ユニットに対して導出される空間的マージ候補の個数は２個である。このとき、時間的マージ候補を考慮して空間的マージ候補の個数に１が加えられる場合、下端予測ユニットに対して導出される利用可能なマージ候補の最大個数は３個である。
【０１３８】
図１０の１０２０において、符号化ユニット（及び／又は予測ユニット）の分割モードは２Ｎ×ｎＵであり、分割インデクスが１である下端予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックＡ0、Ａ1、Ｂ0、Ｂ1及びＢ2のうち、ブロックＢ1は同一の符号化ユニット内の他の予測ユニットに属するブロックである。よって、ブロックＢ1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、下端予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１３９】
また、分割インデクスが１である下端予測ユニットの動き予測時には、ブロックＡ0及びブロックＢ0の動き情報が利用可能でないこともある。これは符号化／復号の手順上、ブロックの符号化及び／又は復号が完了していない場合もあるためである。このとき、ブロックＡ0及びブロックＢ0は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、下端予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１４０】
図１０の１０２０の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、分割インデクスが１である下端予測ユニットに対して導出される空間的マージ候補の個数は２個である。この場合、時間的マージ候補を考慮して空間的マージ候補の個数に１が加えられるとき、下端予測ユニットに対して導出される利用可能なマージ候補の最大個数は３個である。
【０１４１】
図１０の１０３０において、符号化ユニット（及び／又は予測ユニット）の分割モードは２Ｎ×ｎＤであり、分割インデクスが１である下端予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックＡ0、Ａ1、Ｂ0、Ｂ1及Ｂ2のうち、ブロックＢ1は同一の符号化ユニット内の他の予測ユニットに属するブロックである。よって、ブロックＢ1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、下端予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１４２】
また、分割インデクスが１である下端予測ユニットの動き予測時には、ブロックＡ0及びブロックＢ0の動き情報が利用可能でないこともある。これは符号化／復号の手順上、ブロックの符号化及び／又は復号が完了していない場合もあるためである。このとき、ブロックＡ0及びブロックＢ0は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、下端予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１４３】
図１０の１０３０の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、分割インデクスが１である下端予測ユニットに対して導出される空間的マージ候補の個数は２個である。この場合、時間的マージ候補を考慮して空間的マージ候補の個数に１が加えられるとき、下端予測ユニットに対して導出される利用可能なマージ候補の最大個数は３個である。
【０１４４】
図１０の１０４０において、符号化ユニット（及び／又は予測ユニット）の分割モードはＮ×２Ｎであり、分割インデクスが１である右側予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックＡ0、Ａ1、Ｂ0、Ｂ1及びＢ2のうち、ブロックＡ1は同一の符号化ユニット内の他の予測ユニットに属するブロックである。よって、ブロックＡ1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右側予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１４５】
また、分割インデクスが１である右側予測ユニットの動き予測時には、ブロックＡ0の動き情報が利用可能でないこともある。これは符号化／復号の手順上、ブロックの符号化及び／又は復号が完了していない場合もあるためである。このとき、ブロックＡ0は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右側予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１４６】
図１０の１０４０の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、分割インデクスが１である右側予測ユニットに対して導出される空間的マージ候補の個数は３個である。この場合、時間的マージ候補を考慮して空間的マージ候補の個数に１が加えられるとき、右側予測ユニットに対して導出される利用可能なマージ候補の最大個数は ４個である。
【０１４７】
図１０の１０５０において、符号化ユニット（及び／又は予測ユニット）の分割モードはｎＬ×２Ｎであり、分割インデクスが１である右側予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックＡ0、Ａ1、Ｂ0、Ｂ1及びＢ2のうち、ブロックＡ1は同一の符号化ユニット内の他の予測ユニットに属するブロックである。よって、ブロックＡ1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右側予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１４８】
また、分割インデクスが１である右側予測ユニットの動き予測時には、ブロックＡ0の動き情報が利用可能でないこともある。これは符号化／復号の手順上、ブロックの符号化及び／又は復号が完了していない場合もあるためである。このとき、ブロックＡ0は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右側予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１４９】
図１０の１０５０の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、分割インデクスが１である右側予測ユニットに対して導出される空間的マージ候補の個数は３個である。この場合、時間的マージ候補を考慮して空間的マージ候補の個数に１が加えられるとき、右側予測ユニットに対して導出される利用可能なマージ候補の最大個数は４個である。
【０１５０】
図１０の１０６０において、符号化ユニット（及び／又は予測ユニット）の分割モードはｎＲ×２Ｎであり、分割インデクスが１である右側予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックＡ0、Ａ1、Ｂ0、Ｂ1及びＢ2のうち、ブロックＡ1は同一の符号化ユニット内の他の予測ユニットに属するブロックである。よって、ブロックＡ1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右側予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１５１】
また、分割インデクスが１である右側予測ユニットの動き予測時には、ブロックＡ0の動き情報が利用可能でないこともある。これは符号化／復号の手順上、ブロックの符号化及び／又は復号が完了していない場合もあるためである。このとき、ブロックＡ0は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右側予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１５２】
図１０の１０６０の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、 分割インデクスが１である右側予測ユニットに対して導出される空間的マージ候補の個数は３個である。この場合、時間的マージ候補を考慮して空間的マージ候補の個数に１が加えられるとき、右側予測ユニットに対して導出される利用可能なマージ候補の最大個数は４個である。
【０１５３】
上述した実施例によって、空間的マージ候補の導出過程で、符号化器及び復号器は、所定の条件に従って予測ユニットの周辺ブロックを利用可能でないものとして処理することができる。これは次のように表される。
【０１５４】
【数１】
2020205627.tif 000005
【０１５５】
ここで、availableFlagNは、ブロックＮ（ＮはＡ0、Ａ1、Ｂ0、Ｂ1及びＢ2のうち一つである）がマージ候補ブロックとして使用できる利用可能なブロックであるか否かを指示するフラグである。また、mvLXNはブロックＮの動きベクトルを示し、refIdxLXNはブロックＮの参照ピクチャインデクスを示す。ここで、Ｘは０又は１の値を有することができる。そして、predFlagLXNは、ブロックＮに対してＬＸ予測が行われるか否かを指示するフラグに該当する。
【０１５６】
予測ユニットの周辺ブロックを利用可能でないものとして処理するための条件は、種々あり得る。一例として、ブロックＮがブロックＢ2であり、ブロックＡ0、Ａ1、Ｂ0、Ｂ1がいずれも利用可能な場合には、同一位置ブロックを含んで五つのマージ候補個数を維持するために、ブロックＢ2が利用可能でないものとして処理される。また、周辺ブロックの予測モードがイントラモードの場合にも、そのブロックは利用可能でないものとして処理される。これは次のように表される。
【０１５７】
【数２】
2020205627.tif 000006
【０１５８】
また、上述した実施例のように、現符号化ユニット（及び／又は予測ユニット）の分割モードが２Ｎ×Ｎ、２Ｎ×ｎＵ又は２Ｎ×ｎＤであり、現予測ユニットの分割インデクスが１である場合、ブロックＢ1は利用可能でないものとして処理される。そして、現符号化ユニット（及び／又は予測ユニット）の分割モードがＮ×２Ｎ、ｎＬ×２Ｎ又はｎＲ×２Ｎであり、現予測ユニットの分割インデクスが１である場合、ブロックＡ1は利用可能でないものとして処理される。これは次のように表される。
【０１５９】
【数３】
2020205627.tif 000007
【０１６０】
上述した最後の二つの条件は、同一の符号化ユニットに属する予測ユニットが互いに従属しないようにすることによって、同一の符号化ユニットに属するすべての予測ユニットに対する並列動き予測を可能にする。また、一つの予測ユニットが同一の符号化ユニット内の他の予測ユニットに属する動き情報を使用する場合には、同一の符号化ユニット内の矩形の予測ユニットが同一の動き情報を有し、結果として２Ｎ×２Ｎ分割モードと同一の動き情報を有するようになる。このとき、上述した最後の二つの条件は、同一の符号化ユニット内の矩形の予測ユニットが２Ｎ×２Ｎ分割モードと同一の動き情報を有することを防止することができる。
【０１６１】
図１１は、並列動き予測を可能にするためのマージ候補導出方法の別の実施例を概略示す図である。図１１の１１１０ないし１１３０はそれぞれ一つの符号化ユニットを示し、各符号化ユニットに属する予測ユニットそれぞれに表示された番号は分割インデクスを示す。
【０１６２】
図１１の実施例では説明の便宜上、ＭＥＲの大きさが現符号化ユニットと同一であると仮定する。このとき、図１１に示されたそれぞれの符号化ユニットは並列処理単位に該当し、この場合、並列動き予測は符号化ユニット単位で行うことができる。しかし、後述する図１１の実施例は、ＭＥＲの大きさ、すなわち並列処理レベルが符号化ユニットより大きい場合にも、並列処理レベルに属する符号化ユニットそれぞれに対して同一に適用することができる。
【０１６３】
一方、図１０の実施例では、符号化ユニット（及び／又は予測ユニット）の分割モードが２Ｎ×Ｎ、２Ｎ×ｎＵ、２Ｎ×ｎＤ、Ｎ×２Ｎ、ｎＬ×２Ｎ及びｎＲ×２Ｎの場合の実施例を説明した。しかし、符号化ユニット（及び／又は予測ユニット）の分割モードがＮ×Ｎの場合にも並列動き予測が行われるＭＥＲ内には、まだ符号化／復号が完了していない他のブロック（及び／又は予測ユニット）の動き情報を使用する予測ユニットが存在することもある。このような場合、ＭＥＲに属する予測ユニットに対しては同時に動き予測を行うことができない。よって、このような問題点を解決するために、符号化器及び復号器は、動き情報が利用可能でないブロックの動き情報はマージ候補として使用しない。すなわち、符号化器及び復号器は、マージ候補の導出過程でブロックを利用可能でないものとして処理し、ブロックの動き情報をマージ候補リストに追加しない。
【０１６４】
図１１の１１１０において、符号化ユニット（及び／又は予測ユニット）の分割モードはＮ×Ｎであり、分割インデクスが１である右上予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックＡ0、Ａ1、Ｂ0、Ｂ1及びＢ2のうち、ブロックＡ0及びブロックＡ1は同一の符号化ユニット内の他の予測ユニットに属するブロックである。この場合、右上予測ユニットは同一の符号化ユニット内の他の予測ユニットに従属する。よって、ブロックＡ0及びブロックＡ1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右上予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１６５】
図１１の１１１０の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、分割インデクスが１である右上予測ユニットに対して導出される空間的マージ候補の個数は３個である。この場合、時間的マージ候補を考慮して空間的マージ候補の個数に１が加えられるとき、右上予測ユニットに対して導出される利用可能なマージ候補の最大個数は４個である。
【０１６６】
図１１の１１２０において、符号化ユニット（及び／又は予測ユニット）の分割モードはＮ×Ｎであり、分割インデクスが２である左下予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックＡ0、Ａ1、Ｂ0、Ｂ1及びＢ2のうち、ブロックＢ0及びブロックＢ1は同一の符号化ユニット内の他の予測ユニットに属するブロックである。この場合、左下予測ユニットは同一の符号化ユニット内の他の予測ユニットに従属する。よって、ブロックＢ0及びブロックＢ1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、左下予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１６７】
また、分割インデクスが２である左下予測ユニットの動き予測時には、ブロックＡ0の動き情報が利用可能でないこともある。これは符号化／復号の手順上、ブロックの符号化及び／又は復号が完了していない場合もあるためである。このとき、ブロックＡ0は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、左下予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１６８】
図１１の１１２０の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、分割インデクスが２である左下予測ユニットに対して導出される空間的マージ候補の個数は２個である。このとき、時間的マージ候補を考慮して空間的マージ候補の個数に１が加えられる場合、左下予測ユニットに対して導出される利用可能なマージ候補の最大個数は３個である。
【０１６９】
図１１の１１３０において、符号化ユニット（及び／又は予測ユニット）の分割モードはＮ×Ｎであり、分割インデクスが３である右下予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックＡ0、Ａ1、Ｂ0、Ｂ1及びＢ2のうち、ブロックＡ1、ブロックＢ1及びブロックＢ2は同一の符号化ユニット内の他の予測ユニットに属するブロックである。この場合、右下予測ユニットは同一の符号化ユニット内の他の予測ユニットに従属する。よって、ブロックＡ1、ブロックＢ1及びブロックＢ2は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右下予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１７０】
また、分割インデクスが３である右下予測ユニットの動き予測時には、ブロックＡ0及びブロックＢ0の動き情報が利用可能でないこともある。これは符号化／復号の手順上、ブロックの符号化及び／又は復号が完了していない場合もあるためである。このとき、ブロックＡ0及びブロックＢ0は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右下予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【０１７１】
図１１の１１３０の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、分割インデクスが３である右下予測ユニットに対して導出される空間的マージ候補の個数は０個である。この場合、時間的マージ候補を考慮して空間的マージ候補の個数に１が加えられるとき、右下予測ユニットに対して導出される利用可能なマージ候補の最大個数は１個である。
【０１７２】
上述した実施例によって、空間的マージ候補の導出過程において、符号化器及び復号器は所定の条件に従って予測ユニットの周辺ブロックを利用可能でないものとして処理することができる。図１０で説明したように、予測ユニットの周辺ブロックを利用可能でないものとして処理するための条件は種々あり得る。
【０１７３】
図１１の実施例によれば、現符号化ユニット（及び／又は予測ユニット）の分割モードがＮ×Ｎであり、現予測ユニットの分割インデクスが１である場合、ブロックＡ0及びブロックＡ1は利用可能でないものとして処理される。そして、現符号化ユニット（及び／又は予測ユニット）の分割モードがＮ×Ｎであり、現予測ユニットの分割インデクスが２である場合、ブロックＢ0及びブロックＢ1は利用可能でないものとして処理される。また、現符号化ユニット（及び／又は予測ユニット）の分割モードがＮ×Ｎであり、現予測ユニットの分割インデクスが３である場合、ブロックＡ1、ブロックＢ1及びブロックＢ2は利用可能でないものとして処理される。三つの条件は、図１０で説明された実施例に次のように追加することができる。
【０１７４】
【数４】
2020205627.tif 000008
【０１７５】
上述した実施例に追加された三つの条件によって、符号化ユニットに属する一つの予測ユニットが同一の符号化ユニットに属する他の予測ユニットの動き情報を参照することを防止することができる。よって、上述した実施例によれば、同一の符号化ユニットに属するすべての予測ユニットに対して空間的マージ候補の並列的導出が可能になる。
【０１７６】
一方、並列マージモード及び／又は並列スキップモードにおいては、上述した図１０及び図１１の実施例が適用される場合には、分割モード及び分割インデクスによってそれぞれの予測ユニットに対して導出できる利用可能なマージ候補の最大個数を推定することができる。各予測ユニットに対する利用可能なマージ候補の最大個数は、並列動き予測に使用できる利用可能な空間的マージ候補の個数に、時間的マージ候補の個数（例えば、１個）を加えることによって推定される。例えば、図１０及び図１１に示された各分割モードにおいては、分割インデクス値が０である予測ユニットに対しては最大５個の利用可能なマージ候補を導出することができる。別の例として、図１０の１０１０のように２Ｎ×Ｎの分割モードにおいては、分割インデクスが１である予測ユニットに対しては最大３個の利用可能なマージ候補を導出することができる。分割モード及び分割インデクスによって各予測ユニットに対して導出される利用可能なマージ候補の最大個数は、一実施例として、次の表３のように表される。
【０１７７】
【表３】
2020205627.tif 000009
【０１７８】
ここで、PartModeは符号化ユニット（及び／又は予測ユニット）の分割モードを示し、 partIdxは予測ユニットの分割インデクスを示す。そして、maxNumMergeCandは該当予測ユニットに対して導出される利用可能なマージ候補の最大個数を示す。
【０１７９】
一方、図７で説明したように、マージ候補の個数が５個に制限される場合、マージインデクスは５個のマージ候補のうち一つを指示することになる。この場合には、５個のマージ候補に対応するビット量をマージインデクスの伝送のために使用することができる。しかし、上述したように予測ユニットに対して導出される利用可能なマージ候補の最大個数は５個より少ない場合もあり、この場合、マージインデクスの伝送のために必要なビット量は５個のマージ候補に対応するビット量よりも少ない。すなわち、利用可能でないものとして処理されるブロックの個数が多くなるほど、マージインデクスの伝送に必要な実際のビット量が減少する。このとき、マージインデクスの伝送に必要な実際のビット量を超過して使用されるビットは、マージインデクスに対して無駄使いされるビットであると見なすことができる。
【０１８０】
上述した問題点を解決するために、符号化器及び復号器は、分割モード及び分割インデクスによって最適化されたマージ候補の個数を適用してマージインデクスを符号化／復号することによって、マージインデクスの伝送に使用されるビット量を減少させるか、又は節約することができる。
【０１８１】
一実施例として、符号化器及び復号器には表３のような同一のテーブルを記憶することができる。このとき、符号化器は、テーブルに基づいて分割モード及び分割インデクスによって任意の予測ユニットに対して導出される利用可能なマージ候補の最大個数を決定することができる。そして、符号化器は、最大個数に基づいて予測ユニットに対するマージインデクスを符号化して復号器へ伝送することができる。この場合には、最大個数に対応するビット量だけがマージインデクスの伝送に使用されるため、マージインデクスの伝送に使用されるビット量を減少させることができる。復号器には同一のテーブルが記憶されているため、符号化器と同一の方法で任意の予測ユニットに対して導出される利用可能なマージ候補の最大個数を決定することができる。このとき、復号器は最大個数に基づいて、符号化器から伝送されたマージインデクスを復号することができる。
【０１８２】
一方、図１１の１１３０及び表３を参照すれば、符号化ユニット（及び／又は予測ユニット）の分割モードがＮ×Ｎであり、符号化ユニットに属する予測ユニットの分割インデクス値が３である場合、時間的マージ候補１個だけが予測ユニットに対する利用可能なマージ候補に該当する。このとき、予測ユニットに対して導出される利用可能なマージ候補の最大個数は１個である。利用可能なマージ候補の最大個数が１個である場合、復号器はマージインデクスなしでも予測ユニットの動き情報の導出に使用されるマージ候補がどれかが分かる。よって、符号化器は、符号化ユニット（及び／又は予測ユニット）の分割モードがＮ×Ｎであり、符号化ユニットに属する予測ユニットの分割インデクス値が３である場合、該当予測ユニットに対するマージインデクスは復号器に伝送しない。
【０１８３】
図１２は、並列動き予測を可能にするためのマージ候補導出方法のまた別の実施例を概略示す図である。図１２の１２１０は一つの符号化ユニットを示し、符号化ユニットに属する予測ユニットそれぞれに表示された番号は分割インデクスを示す。
【０１８４】
図１２の実施例では説明の便宜上、ＭＥＲの大きさが現符号化ユニットと同一であると仮定する。このとき、図１２に示された符号化ユニットは並列処理単位に該当し、この場合、並列動き予測は符号化ユニット単位で行うことができる。しかし、後述する図１２の実施例は、ＭＥＲの大きさ、すなわち並列処理レベルが符号化ユニットより大きい場合にも、並列処理レベルに属する符号化ユニットそれぞれに対して類似する方式を適用することができる。
【０１８５】
上述した図１０及び図１１の実施例において、並列動き予測の実行時に動き情報が利用可能でないブロックに対応するマージ候補は、利用可能でないものとして処理されてマージ候補リストに追加されない。このとき、利用可能でないものとして処理されるマージ候補は、現符号化ユニット（及び／又は予測ユニット）の分割モードが２Ｎ×２Ｎの場合に使用されるマージ候補に代替できる。
【０１８６】
図１２の１２１０において、現符号化ユニット（及び／又は予測ユニット）の分割モードは２Ｎ×Ｎであり、現在動き予測の対象になる予測ユニットは分割インデクスが１である下端予測ユニットである。この場合、図１０で説明したように、マージ候補ブロックとして使用されるブロックＡ0、Ａ1、Ｂ0、Ｂ1及びＢ2のうち、ブロックＡ0、ブロックＢ0及びブロックＢ1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理される。
【０１８７】
しかし、現符号化ユニット（及び／又は予測ユニット）の分割モードが２Ｎ×２Ｎの場合にマージ候補ブロックとして使用されるブロックＢ0’（現符号化ユニットの外部の右上隅に最も近く位置するブロック）及びブロックＢ1’（現符号化ユニットの上端に隣接するブロックのうち最も右側に位置するブロック）は、並列動き予測の実行時に利用可能な動き情報を有することもある。よって、符号化器及び復号器は、ブロックＢ0の代わりにブロックＢ0’を下端予測ユニットのマージ候補ブロックとして使用し、ブロックＢ1の代わりにブロックＢ1’を下端予測ユニットのマージ候補ブロックとして使用することができる。
【０１８８】
上述した実施例は、現符号化ユニット（及び／又は予測ユニット）の分割モードが２Ｎ×Ｎの場合に限定されて説明されているが、本発明はこれに限定されない。すなわち、上述したマージ候補導出方法は、現符号化ユニットの分割モードがＮ×２Ｎ、Ｎ×Ｎ、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ又はｎＲ×２Ｎなどの場合にも類似する方式を適用することができる。
【０１８９】
一方、符号化器及び復号器は並列動き予測が行われる複数の予測ユニットに対して、共通のマージ候補及び／又は共通のマージ候補リストを導出して使用することによって、並列動き予測を可能にすることもできる。共通のマージ候補及び／又は共通のマージ候補リストに基づく並列動き予測方式は、上述した図１０及び／又は図１１の実施例とは別個に独立して適用することもできるが、図１０及び／又は図１１の実施例と組み合わせて符号化器/復号器に共に適用することもできる。以下、本明細書で複数の予測ユニットに対して共通に使用されるマージ候補は「共通マージ候補」と呼び、複数の予測ユニットに対して共通に使用されるマージ候補リストは「単一マージ候補リスト」と呼ぶ。
【０１９０】
このとき、共通マージ候補及び／又は単一マージ候補リストが導出される単位は、予め定義された所定の単位であってもよい。ここで、所定の単位は番号で定められてもよく、ＣＵ、ＭＥＲ及び／又はＬＣＵ単位であってもよい。また、共通マージ候補及び／又は単一マージ候補リストが導出される単位は符号化器で決定してもよい。この場合、符号化器は、単位に関する情報を符号化して復号器に伝送することができる。このとき、復号器は、伝送された情報に基づいて共通マージ候補及び／又は単一マージ候補リストが導出される単位を決定することができる。以下、本明細書で、上述した共通マージ候補及び／又は単一マージ候補リストが導出される単位は「マージ候補共有単位」と言う。
【０１９１】
例えば、マージ候補共有単位がＣＵの場合、一つのＣＵ内のすべての予測ユニット（マージモード及び／又はスキップモードを持つ予測ユニット）は、ＣＵに対する共通マージ候補及び／又はＣＵに対する単一マージ候補リストを共有することができる。このとき、単一マージ候補リストは、ＣＵ（及び／又はＣＵに属するＰＵ）の分割モードが２Ｎ×２Ｎの場合にＣＵに属する予測ユニットが持つマージ候補リストと同一になることもある。別の例として、マージ候補共有単位がＬＣＵの場合、一つのＬＣＵ内のすべての予測ユニット（マージモード及び／又はスキップモードを持つ予測ユニット）は、ＬＣＵに対する共通マージ候補及び／又はＬＣＵに対する単一マージ候補リストを共有することができる。また別の例として、マージ候補共有単位がＭＥＲの場合、一つのＭＥＲ内のすべての予測ユニット（マージモード及び／又はスキップモードを持つ予測ユニット）は、ＭＥＲに対する共通マージ候補及び／又は ＭＥＲに対する単一マージ候補リストを共有することができる。
【０１９２】
一つのマージ候補共有単位内のすべての予測ユニットが共通マージ候補及び／又は単一マージ候補リストを共有する場合には、ある程度の符号化損失が発生し得る。よって、符号化器及び復号器はマージ候補共有フラグに基づいて、マージ候補導出方式及び／又はマージ候補リスト導出方式を選択的に決定することもできる。ここで、マージ候補共有フラグは、マージ候補共有単位内ですべての予測ユニットに対して単一マージ候補リストが導出されて使用されるか、又はそれぞれの予測ユニットに対して別個のマージ候補リストが導出されて使用されるかを指示するフラグに該当する。マージ候補共有フラグは、例えば、parallel_merge_cand_flag、parallel_merge_derivation_flag又はsingleMCLFlagで表される。
【０１９３】
一例として、マージ候補共有フラグの値が１の場合、フラグはマージ候補共有単位内のすべての予測ユニットが共通マージ候補及び／又は単一マージ候補リストを共有する旨を指示する。すなわち、この場合、フラグは、マージ候補（空間的マージ候補及び／又は時間的マージ候補）の位置がマージ候補共有単位内のすべての予測ユニットに対して同一である旨を指示する。また、マージ候補共有フラグの値が０の場合、フラグはそれぞれの予測ユニットに対して別個のマージ候補リストが導出されて使用される旨を指示する。
【０１９４】
上述したマージ候補共有フラグは、一実施例として、符号化器で符号化されて復号器に伝送されるフラグである。このとき、マージ候補共有フラグは、ＳＰＳ、ＰＰＳ、適応パラメータセット（ａｄａｐｔａｔｉｏｎ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ、ＡＰＳ）又はスライスヘッダにおいて定義することができる。すなわち、マージ候補共有フラグは、ビットストリーム上のＳＰＳ、ＰＰＳ、ＡＰＳ又はスライスヘッダに含めて符号化器から復号器に伝送することができる。この場合、復号器は、伝送されたフラグに基づいてマージ候補導出方式及び／又はマージ候補リスト導出方式を決定することができる。
【０１９５】
別の実施例として、マージ候補共有フラグに割り当てられる値は、符号化器及び復号器で同一の方式で導出することもできる。この場合、符号化器はマージ候補共有フラグに関する情報を復号器に伝送しない。
【０１９６】
一例として、マージ候補共有単位がＣＵであると仮定する。このとき、マージ候補共有フラグに割り当てられる値は、ＭＥＲの大きさ及び／又は現在ＣＵの大きさに基づいて決定することができる。例えば、符号化器及び復号器は、ＭＥＲの大きさ、すなわち並列処理レベルが４×４より大きく、 現符号化ユニットの大きさが８×８である場合にだけ、マージ候補共有フラグに１の値を割り当てることができる。ここで、マージ候補共有フラグの値が１である場合、フラグはマージ候補共有単位内のすべての予測ユニットが共通マージ候補及び／又は単一マージ候補リストを共有する旨を指示する。すなわち、符号化器及び復号器は、並列処理レベルが４×４より大きくて現符号化ユニットの大きさが８×８である場合にだけ、現符号化ユニット内のすべての予測ユニットが共通マージ候補及び／又は単一マージ候補リストを共有できるようにする。このとき、並列処理レベルが４×４であるか、又は現符号化ユニットの大きさが８×８でない場合、マージ候補共有フラグには０の値が割り当てられる。ここで、マージ候補共有フラグの値が０の場合、フラグはそれぞれの予測ユニットに対して別個のマージ候補リストが導出されて使用される旨を指示する。
【０１９７】
以下、マージ候補共有単位内の予測ユニットに対する共通マージ候補導出方法の実施例を説明する。
【０１９８】
図１３は、マージ候補共有単位内の予測ユニットに対する共通マージ候補導出方法の一実施例を概略示す図である。
【０１９９】
図１３の１３１０ないし１３３０は一つの同一の符号化ユニットを示し、符号化ユニット（及び／又は予測ユニット）の分割モードはＮ×２Ｎに該当する。また、PartIdxは分割インデクスを示し、ＰＵ０は分割インデクス値が０の予測ユニット、ＰＵ１は分割インデクス値が１の予測ユニットを示す。
【０２００】
一方、図１３の実施例では説明の便宜上、マージ候補共有単位がＣＵであると仮定する。このとき、図１３に示されたそれぞれの符号化ユニットはマージ候補共有単位に該当する。マージ候補共有単位の大きさはＭＥＲ、すなわち並列処理単位の大きさと同一であってもよいし、異なっていてもよい。
【０２０１】
図１３の１３１０は、分割インデクスが０の左側予測ユニットのマージ候補を示す。また、図１３の１３２０は、分割インデクスが１の右側予測ユニットのマージ候補を示す。図１３の１３１０及び１３２０を参照すれば、符号化ユニット（マージ候補共有単位）内の予測ユニットそれぞれが独立してマージ候補リストを持つことができる。
【０２０２】
この場合、図１３の１３２０のブロックＡ1は右側予測ユニットに属するブロックである。よって、右側予測ユニットは左側予測ユニットに属する動き情報を使用するため、左側予測ユニット及び右側予測ユニットに対しては同時に動き予測を行うことができない。このとき、符号化器及び復号器はブロックＡ1を利用可能でないものとして処理して並列動き予測を可能にすることもできるが、利用可能な動き情報を持つブロックの動き情報を共通マージ候補として使用することによって、並列動き予測を可能にすることもできる。
【０２０３】
図１３の１３３０を参照すれば、符号化ユニット（マージ候補共有単位）内の予測ユニットは共通マージ候補（及び／又は共通のマージ候補リスト）を有する。すなわち、図１３の１３３０で、符号化ユニット内のすべての予測ユニットは共通マージ候補（及び／又は単一マージ候補リスト）を共有することができる。
【０２０４】
ここで、一例として、共通マージ候補は、現符号化ユニット１３３０の分割モードが２Ｎ×２Ｎの場合に導出されるマージ候補と同一であってもよい。具体的には、符号化器及び復号器は、符号化ユニット１３３０の外部の左下隅に最も近く位置するブロックＡ0と、符号化ユニット１３３０の左側に隣接するブロックのうち最も下端に位置するブロックＡ1と、符号化ユニット１３３０の外部の右上隅に最も近く位置するブロックＢ0と、符号化ユニット１３３０の上端に隣接するブロックのうち最も右側に位置するブロックＢ1と、符号化ユニット１３３０の外部の左上隅に最も近く位置するブロックＢ2との動き情報を、左側予測ユニットＰＵ０及び右側予測ユニットＰＵ１に対する共通マージ候補として使用することができる。
【０２０５】
上述した１３３０の実施例では、一つの符号化ユニット（マージ候補共有単位）内のすべての予測ユニットが共通マージ候補（現符号化ユニット１３３０の分割モードが ２Ｎ×２Ｎの場合に導出されるマージ候補）及び／又は単一マージ候補リストを共有することができる。すなわち、符号化ユニット（マージ候補共有単位）内のすべての予測ユニットが同一の位置のマージ候補を使用することができる。したがって、上述した共通マージ候補導出方法は、符号化の複雑度を減少させることができ、並列動き予測を容易にすることができる。
【０２０６】
上述した共通マージ候補導出方法は一つの実施例に過ぎず、共通マージ候補導出方法が適用される分割モードはＮ×２Ｎに限定されない。上述した共通マージ候補導出方法は、現符号化ユニット（及び／又は予測ユニット）の分割モードが２Ｎ×２Ｎモード、２Ｎ×Ｎモード、Ｎ×Ｎモード、２Ｎ×ｎＵモード、２Ｎ×ｎＤモード、ｎＬ×２Ｎモード又はｎＲ×２Ｎモードなどの場合にも、同一か類似する方式を適用することができる。すなわち、一つの符号化ユニット内のすべての予測ユニットは符号化ユニット（及び／又は予測ユニット）の分割モードに関わらず、共通マージ候補及び／又は単一マージ候補リストを共有することができる。このとき、符号化器及び復号器は、符号化ユニット（及び／又は予測ユニット）の分割モードが２Ｎ×２Ｎの場合に使用されるマージ候補と同一の位置のブロックを共通マージ候補として使用することができる。
【０２０７】
例えば、現符号化ユニット（及び／又は予測ユニット）の分割モードがＮ×Ｎモードの場合にも、現符号化ユニット内のすべての予測ユニット（分割インデクスが０の予測ユニット、分割インデクスが１の予測ユニット、分割インデクスが２の予測ユニット及び分割インデクスが３の予測ユニット）は共通マージ候補及び／又は単一マージ候補リストを共有することができる。また、このとき、現符号化ユニット（及び／又は予測ユニット）の分割モードが２Ｎ×２Ｎの場合に使用されるマージ候補ブロックと同一の位置に存在するブロックの動き情報を、共通マージ候補として導出することができる。
【０２０８】
一般に予測ユニットのマージ候補ブロック及び／又はマージ候補は、予測ユニットに対する相対的な位置によって特定することができる。よって、一つの予測ユニットのマージ候補は、予測ユニット内の最も左上に位置するピクセルの座標（例えば、（ｘＰ，ｙＰ））と、予測ユニットの幅（例えば、ｎＰｂＷ）と、予測ユニットの高さ（例えば、ｎＰｂＨ）とを基準に決定することができる。
【０２０９】
しかし、共通マージ候補及び／又は単一マージ候補リストが使用される場合、共通マージ候補は符号化ユニット（及び／又は予測ユニット）の分割モードが２Ｎ×２Ｎの場合に導出されるマージ候補と同一であるため、符号化ユニットに対する相対的な位置によって特定することができる。よって、共通マージ候補及び／又は単一マージ候補リストが使用される場合、符号化器及び復号器は、予測ユニット内の最も左上に位置するピクセルの座標を、予測ユニットが属する符号化ユニット内の最も左上に位置するピクセルの座標（例えば、（ｘＣ，ｙＣ））に再設定することができる。また、符号化器及び復号器は、予測ユニットの幅及び予測ユニットの高さを、符号化ユニットの幅（例えば、ｎＣＳ）及び符号化ユニットの高さ（例えば、ｎＣＳ）に再設定することができる。このとき、符号化器及び復号器は、再設定された値に基づいて予測ユニットのマージ候補を決定することによって、予測ユニットが並列動き予測時に共通マージ候補を使用できるようにする。
【０２１０】
一方、上述したように一つのマージ候補共有単位内のすべての予測ユニットが共通マージ候補及び／又は単一マージ候補リストを共有する場合には、少しの符号化損失が発生し得る。よって、符号化器及び復号器はマージ候補共有フラグに基づいて、マージ候補導出方式及び／又はマージ候補リスト導出方式を選択的に決定することもできる。
【０２１１】
一例として、マージ候補共有フラグの値が１の場合、フラグはマージ候補共有単位内のすべての予測ユニットが共通マージ候補及び／又は単一マージ候補リストを共有する旨を指示する。これは図１３の１３３０に示された共通マージ候補導出方式に該当する。また、マージ候補共有フラグの値が０の場合、フラグはそれぞれの予測ユニットに対して別個のマージ候補リストが導出されて使用される旨を指示する。これは図１３の１３１０及び１３２０に示されたマージ候補導出方式に該当する。
【０２１２】
マージ候補共有フラグに関する具体的な内容は上述したので、ここでは省略する。
【０２１３】
図１４は、マージ候補共有単位内の予測ユニットに対する共通マージ候補導出方法の別の実施例を概略示す図である。
【０２１４】
図１４の１４１０及び１４３０はそれぞれ一つのＬＣＵ（及び／又は符号化木ブロック）を示す。図１４の１４３０は図１４の１４１０に示されたＬＣＵと同一のＬＣＵを更に示すものであるため、以下、図１４の１４１０及び１４３０で互いに同一の構成要素は同一の参照符号によって指示される。
【０２１５】
一方、図１４の実施例では説明の便宜上、一つのＬＣＵが同一の大きさを持つ４つの正方形のＭＥＲから構成され、ＬＣＵ内の予測ユニットに対するマージ候補共有単位はＭＥＲ単位と同一であると仮定する。このとき、ＭＥＲは符号化木ブロックを構成するそれぞれの符号化ユニットの大きさに応じて、符号化ユニットと同一の大きさを有してもよいし、符号化ユニットとは異なる大きさを有してもよい。図１４の実施例でＭＥＲはマージ候補共有単位に該当するため、符号化ユニットがＭＥＲと同一の大きさを持つ場合、符号化ユニットはマージ候補共有単位に該当することもできる。例えば、ＭＥＲの大きさが８×８のとき、現符号化ユニットの大きさが８×８であれば、現符号化ユニットはマージ候補共有単位に該当することもできる。図１４の実施例は、マージ候補共有単位がＭＥＲ単位の場合を基準に説明されているが、マージ候補共有単位が符号化ユニットの場合にも同一か、又は類似する方式を適用することができる。
【０２１６】
図１４の１４１０を参照すれば、動き予測の対象になる現予測ユニット１４１５は一つのＭＥＲ１４１３に含まれる。以下、図１４の実施例において、現予測ユニット１４１５が属するＭＥＲは現ＭＥＲ１４１３と呼ぶ。図１４の１４１０では、現予測ユニット１４１５のマージ候補１４２１，１４２３，１４２５，１４２７及び１４２９が示される。
【０２１７】
マージ候補ブロックとして使用されるブロック１４２１，１４２３，１４２５，１４２７及び１４２９のうち、ブロック１４２３，１４２５及び１４２７は現ＭＥＲ１４１３に属するブロックであって、現予測ユニット１４１５及び同一のＭＥＲに属するブロックである。よって、ブロック１４２３, １４２５及び１４２７は並列動き予測時に符号化／復号が完了していないブロックに該当するため、現予測ユニット１４１５の並列動き予測に使用されない。また、現予測ユニット１４１５の動き予測時にはブロック１４２１及び１４２９の動き情報が利用可能でないこともある。これは符号化／復号の手順上、ブロックの符号化及び／又は復号が完了していない場合もあるためである。よって、現予測ユニットに対してマージモード（及び／又はスキップモード）動き予測が行われる場合、上述したマージ候補ブロック（現予測ユニット１４１５と同一のＭＥＲに属するブロック及び／又は並列動き予測時に符号化／復号が完了していないブロック）は利用可能でないものとして処理される。
【０２１８】
また、上述したように符号化器及び復号器はマージ候補共有単位内の複数の予測ユニットに対して、共通マージ候補及び／又は単一マージ候補リストを導出して使用することによって、並列動き予測を可能にする。
【０２１９】
図１４の１４３０を参照すれば、ＭＥＲ（マージ候補共有単位）内の予測ユニットは共通マージ候補（及び／又は単一マージ候補リスト）を有する。すなわち、図１４の１４３０で、ＭＥＲ内のすべての予測ユニットは共通マージ候補（例えば、ブロック１４４１，１４４３，１４４５，１４４７及び１４４９）を共有することができる。このとき、現予測ユニット１４１５は、図１４の１４１０に示されたマージ候補１４２１，１４２３，１４２５，１４２７及び１４２９の代わりに共通マージ候補を使用することができる。
【０２２０】
ここで、一例として、共通マージ候補は、現ＭＥＲ１４１３と同一の大きさの符号化ユニット（及び／又は符号化ユニットに属する予測ユニット）が２Ｎ×２Ｎの分割モードを有する場合に導出されるマージ候補と同一であってもよい。すなわち、符号化器及び復号器は、現ＭＥＲ１４１３の外部に位置するブロックを共通マージ候補として使用することができ、共通マージ候補は現ＭＥＲ１４１３に対する相対的な位置によって特定することができる。
【０２２１】
一実施例として、符号化器及び復号器は、現ＭＥＲ１４１３の外部の左下隅に最も近く位置するブロック１４４１と、現ＭＥＲ１４１３の左側に隣接するブロックのうち最も下端に位置するブロック１４４３と、現ＭＥＲ１４１３の外部の右上隅に最も近く位置するブロック１４４９と、現ＭＥＲ１４１３の上端に隣接するブロックのうち最も右側に位置するブロック１４４７と、現ＭＥＲ１４１３の外部の左上隅に最も近く位置するブロック１４４５と、の動き情報を、現予測ユニット１４１５のマージ候補（共通マージ候補）として使用することができる。このとき、ブロックのうち利用可能な動き情報を持たないブロック（例えば、現ＭＥＲ１４１３の外部の右上隅に最も近く位置するブロック１４４９）が存在する場合、符号化器及び復号器は、当該ブロックを利用可能でないものとして処理するか、又は現予測ユニット１４１５のマージ候補ブロックとして使用しない。別の実施例として、符号化器及び復号器は、現ＭＥＲ１４１３の外部の左上隅に最も近く位置するブロック１４４５の代わりに、現ＭＥＲ１４１３の左側に隣接するブロック１４４４を現予測ユニット１４１５のマージ候補ブロックとして使用することもできる。このとき、ブロック１４４４は現ＭＥＲ１４１３の左側に隣接するブロックのうち中間に位置するブロックであってもよく、中間に位置するブロックの個数が２個である場合、２個のブロックのうち上端に位置するブロックであってもよい。
【０２２２】
図１４の１４３０の実施例のように、一つのマージ候補共有単位内のすべての予測ユニットに対して共通マージ候補（及び／又は単一マージ候補リスト）が使用される場合には、利用可能でないものとして処理されるブロックの代わりに、利用可能な動き情報を含むブロックをマージ候補ブロックとして使用することができる。よって、このような場合には、共通マージ候補（及び／又は単一マージ候補リスト）が使用されない場合に比べて符号化／復号性能を向上させることができる。
【０２２３】
上述したように、符号化器及び復号器は、予測ユニットの周辺に位置するブロック（例えば、予測ユニットの外部の左下隅に最も近く位置するブロックと、予測ユニットの左側に隣接するブロックのうち最も下端に位置するブロックと、予測ユニットの外部の右上隅に最も近く位置するブロックと、予測ユニットの上端に隣接するブロックのうち最も右側に位置するブロックと、予測ユニットの外部の左上隅に最も近く位置するブロックと）の代わりに、予測ユニットが属するＭＥＲの外部に位置するブロックを予測ユニットのマージ候補ブロックとして使用することができる。以下、本明細書では、予測ユニットの周辺に位置するブロックから導出されるマージ候補を代替するために、予測ユニットが属するＭＥＲの外部に位置するブロックから導出されるマージ候補をＭＥＲマージ候補と呼ぶ。
【０２２４】
図１４の実施例はＭＥＲマージ候補導出方法の実施例と見なすこともできる。図１４の実施例では、一つのマージ候補共有単位内のすべての予測ユニットが共通マージ候補（及び／又は単一マージ候補リスト）を共有することができる。よって、図１４では、一つのＭＥＲ（マージ候補共有単位）内のすべての予測ユニットが同一のＭＥＲマージ候補を有することができる。ＭＥＲマージ候補は、図１４の実施例のように一つのＭＥＲ内のすべての予測ユニットに対する共通マージ候補として導出することもできるし、一つのＭＥＲに含まれた予測ユニットそれぞれに対して別個に導出することもできる。 これに関連して、以下、ＭＥＲマージ候補導出方法の実施例を更に説明する。
【０２２５】
図１５は、ＭＥＲマージ候補導出方法の実施例を概略示す図である。図１５の１５１０及び１５２０はそれぞれ一つのＭＥＲを示す。
【０２２６】
図１５の１５１０を参照すれば、現ＭＥＲ１５１０に含まれた現予測ユニット１５１５は、５個の空間的マージ候補Ａ0，Ａ1，Ｂ0，Ｂ1及びＢ2を有することができる。しかし、図１４で説明したように、空間的マージ候補に対応するブロックは並列動き予測時に利用可能な動き情報を含まないこともあるため、利用可能でないものとして処理される。このとき、空間的マージ候補Ａ0，Ａ1，Ｂ0，Ｂ1及びＢ2は、それぞれ図１５の１５１０に示されたＭＥＲマージ候補Ａ0’ ，Ａ1’ ，Ｂ0’ ，Ｂ1’及びＢ2’に代替できる。すなわち、符号化器及び復号器は、ＭＥＲマージ候補Ａ0’ ，Ａ1’ ，Ｂ0’ ，Ｂ1’及びＢ2’を現予測ユニット１５１５のマージ候補として使用することができる。図１５の１５１０に示されたＭＥＲマージ候補の位置は図１４の実施例と実質的に同一であるため、これに関する具体的な説明は省略する。
【０２２７】
図１５の１５２０を参照すれば、現ＭＥＲ１５２０に含まれた現予測ユニット１５２５は、図１５の１５１０のように５個の空間的マージ候補Ａ0，Ａ1，Ｂ0，Ｂ1及びＢ2を有する。このとき、マージ候補Ａ0，Ａ1，Ｂ0及びＢ1の位置は次の座標によって特定、すなわち表される。
【０２２８】
Ａ0：（ｘ−１，ｙ＋ｎＰＳＨ−１）
Ａ1：（ｘ−１，ｙ＋ｎＰＳＨ）
Ｂ0：（ｘ＋ｎＰＳＷ−１，ｙ−１）
Ｂ1：（ｘ＋ｎＰＳＷ，ｙ−１）
ここで、（ｘ，ｙ）は現予測ユニット１５２５内の最も左上に位置するピクセルの座標を示し、座標は現予測ユニット１５２５が属するピクチャの最も左上位置を基準に決定される。また、ｎＰＳＨは現予測ユニット１５２５の高さを示し、ｎＰＳＷは現予測ユニット１５２５の幅を示す。
【０２２９】
一方、図１５の１５１０のように、空間的マージ候補に対応するブロックは、並列動き予測時に利用可能な動き情報を含まないこともあるため、利用可能でないものとして処理される。このとき、空間的マージ候補Ａ0，Ａ1，Ｂ0，Ｂ1及びＢ2はそれぞれ図１５の１５１０に示されたＭＥＲマージ候補Ａ0’，Ａ1’，Ｂ0’，Ｂ1’及びＢ2’に代替できる。すなわち、符号化器及び復号器は、ＭＥＲマージ候補Ａ0’，Ａ1’，Ｂ0’，Ｂ1’及びＢ2’を現予測ユニット１５１５のマージ候補として使用することができる。
【０２３０】
ここで、ＭＥＲマージ候補Ａ0’は、現ＭＥＲ１５２０の左側に隣接するブロックのうちブロックＡ0と同一の水平位置を有するブロックＡ0’に基づいて導出され、ＭＥＲマージ候補Ａ1’は、現ＭＥＲ１５２０の左側に隣接するブロックのうちブロックＡ1と同一の水平位置を有するブロックＡ1’に基づいて導出される。また、ＭＥＲマージ候補Ｂ1’は、現ＭＥＲ１５２０の上端に隣接するブロックのうちブロックＢ0と同一の垂直位置を有するブロックＢ1’に基づいて導出され、ＭＥＲマージ候補Ｂ0’は、ブロックＢ1’の右側に隣接するブロックＢ0’に基づいて導出される。このとき、ＭＥＲマージ候補 Ａ0’，Ａ1’，Ｂ0’及びＢ1’の位置は次の座標によって特定、すなわち表される。
【０２３１】
Ａ0’：（（（x>>nMER）<<nMER）-1, y+nPSH-1）
Ａ1’: （（（x>>nMER）<<nMER）-1, y+nPSH）
Ｂ0’: （x+nPSW-1, （（y>>nMER）<<nMER）-1）
Ｂ1’: （x+nPSW, （（y>>nMER）<<nMER）-1）
ここで、ｎＭＥＲはＭＥＲの大きさ（幅／高さ）の対数値を示す。
【０２３２】
また、図１５の１５２０において、符号化器及び復号器はマージ候補Ｂ2を利用可能でないものとして処理して使用しなくてもよいし、ＭＥＲマージ候補Ｂ2’に代替してもよい。ＭＥＲマージ候補Ｂ2’が現予測ユニット１５２５のマージ候補として使用される場合、ＭＥＲマージ候補Ｂ2’は、現ＭＥＲ１５２０の左側に隣接するブロックのうちブロックＢ2と同一の水平位置を有する左側ブロック１５３１、又は現ＭＥＲ１５２０の上端に隣接するブロックのうちブロックＢ2と同一の垂直位置を有する上端ブロック１５３３に基づいて導出することができる。一例として、符号化器及び復号器は、左側ブロック１５３１が利用可能であるか否かをチェックすることができる。このとき、符号化器及び復号器は、左側ブロック１５３１が利用可能な場合、左側ブロック１５３１に基づいてＭＥＲマージ候補Ｂ2’を導出し、左側ブロック１５３１が利用可能でない場合、上端ブロック１５３３に基づいてＭＥＲマージ候補Ｂ2’を導出することができる。
【０２３３】
図１５の１５２０の実施例では、図１５の１５１０の実施例に比べて現予測ユニット１５２０により近く位置するブロックがマージ候補ブロックとして使用することができるため、符号化効率を向上させることができる。
【０２３４】
一方、現予測ユニット１５２５のＭＥＲマージ候補が導出されると、符号化器及び復号器は、導出されたＭＥＲマージ候補に基づいてマージ候補リストを生成することができる。このとき、複数のＭＥＲマージ候補は所定の順序でマージ候補リストに追加されるか、及び／又は挿入することができる。マージ候補リストに先に追加されるＭＥＲマージ候補には小さい値のマージインデクスが割り当てられるため、現予測ユニットの動き導出に使用される可能性の高いＭＥＲマージ候補を優先的にマージ候補リストに追加することによって、符号化器から復号器に伝送される情報量を減少させることができる。このため、符号化器及び復号器は、現予測ユニット１５２０により近く位置するブロックに対応するＭＥＲマージ候補を優先的にマージ候補リストに追加する。
【０２３５】
現予測ユニット１５２０からＭＥＲまでの水平距離は、現予測ユニット１５２０内の最も左上に位置するピクセルからＭＥＲの左側境界までの距離によって表される。また、現予測ユニット１５２０からＭＥＲまでの垂直距離は、現予測ユニット１５２０内の最も左上に位置するピクセルからＭＥＲの上端境界までの距離によって表される。よって、現予測ユニット１５２０からＭＥＲまでの水平距離及び垂直距離は、一例として、次の式１によって表される。
【０２３６】
（式１）
ｄｉｓｔＸ＝ｘ％ｎＭＥＲ
ｄｉｓｔＹ＝ｙ％ｎＭＥＲ
ここで、ｄｉｓｔＸは現予測ユニット１５２０からＭＥＲまでの水平距離を示し、 ｄｉｓｔＹは現予測ユニット１５２０からＭＥＲまでの水平距離を示す。（ｘ，ｙ）は現予測ユニット１５２０内の最も左上に位置するピクセルの座標を示し、ｎＭＥＲはＭＥＲの大きさを示す。
【０２３７】
例えば、ｄｉｓｔＸの値がｄｉｓｔＹの値より小さい場合には、ＭＥＲの左側に隣接するブロックがＭＥＲの上端に隣接するブロックより現予測ユニット１５２０に近いため、符号化器及び復号器は、ＭＥＲマージ候補Ａ1’及びＡ0’をそれぞれＢ1’及びＢ0’より先にマージ候補リストに追加する。一実施例として、ｄｉｓｔＸの値がｄｉｓｔＹの値より小さいとき、ＭＥＲマージ候補はＡ1’，Ａ0’，Ｂ1’，Ｂ0’ の順序でマージ候補リストに追加される。そうでないときは（ｄｉｓｔＸの値がｄｉｓｔＹの値より大きいか、又は同じであるとき）、ＭＥＲマージ候補はＢ1’，Ｂ0’，Ａ1’，Ａ0’の順序でマージ候補リストに追加される。別の実施例として、ｄｉｓｔＸの値がｄｉｓｔＹの値より小さいとき、ＭＥＲマージ候補はＡ1’，Ｂ1’，Ａ0’，Ｂ0’の順序でマージ候補リストに追加される。そうでないときは（ｄｉｓｔＸの値がｄｉｓｔＹの値より大きいか、又は同じであるとき）、ＭＥＲマージ候補はＢ1’，Ａ1’，Ｂ0’，Ａ0’の順序でマージ候補リストに追加される。
【０２３８】
図１６は、ＭＥＲマージ候補導出方法の別の実施例を概略示す図である。図１６の１６１０は一つのＭＥＲを示す。
【０２３９】
図１６を参照すれば、一つのＭＥＲ１６１０は複数の予測ユニットを含むことができる。以下、図１６の実施例に限って、予測ユニット内の最も左上に位置するピクセルを左上ピクセルと呼び、予測ユニット内の最も右上に位置するピクセルを右上ピクセルと呼び、予測ユニット内の最も左下に位置するピクセルを左下ピクセルと呼ぶ。図１６の実施例では、ＭＥＲ１６１０に属する複数の予測ユニットそれぞれに対して、４個のＭＥＲマージ候補を導出することができる。
【０２４０】
図１６では、ＭＥＲの上端に隣接する二つのブロックの動き情報及びＭＥＲの左側に隣接する二つのブロックの動き情報を、一つの予測ユニットに対するＭＥＲマージ候補として使用することができる。ここで、ＭＥＲの上端に隣接する二つのブロックはそれぞれ、予測ユニットの左上ピクセルと同一の垂直線上に位置するピクセルを含むブロック及び予測ユニットの右上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、ＭＥＲの左側に隣接する二つのブロックはそれぞれ、予測ユニットの左上ピクセルと同一の水平線上に位置するピクセルを含むブロック及び予測ユニットの左下ピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【０２４１】
図１６を参照すれば、予測ユニットＰＵ０はＭＥＲの上端に隣接する二つのブロックＴ０，Ｔ１の動き情報及びＭＥＲの左側に隣接する二つのブロックＬ０，Ｌ１の動き情報を、ＭＥＲマージ候補として使用することができる。ここで、ブロックＴ０は予測ユニットＰＵ０の左上ピクセルと同一の垂直線上に位置するピクセルを含むブロックであり、ブロックＴ１は予測ユニットＰＵ０の右上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、ブロックＬ０は予測ユニットＰＵ０の左上ピクセルと同一の水平線上に位置するピクセルを含むブロックであり、ブロックＬ１は予測ユニットＰＵ０の左下ピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【０２４２】
さらに図１６を参照すれば、予測ユニットＰＵ１はＭＥＲの上端に隣接する二つのブロックＴ２，Ｔ３の動き情報及びＭＥＲの左側に隣接する二つのブロックＬ２，Ｌ３の動き情報をＭＥＲマージ候補として使用することができる。ここで、ブロックＴ２は予測ユニットＰＵ１の左上ピクセルと同一の垂直線上に位置するピクセルを含むブロックであり、ブロックＴ３は予測ユニットＰＵ１の右上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、ブロックＬ２は予測ユニットＰＵ１の左上ピクセルと同一の水平線上に位置するピクセルを含むブロックであり、ブロックＬ３は予測ユニットＰＵ１の左下ピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【０２４３】
図１７は、ＭＥＲマージ候補導出方法のまた別の実施例を概略示す図である。図１７の１７１０は一つのＭＥＲを示す。
【０２４４】
図１７を参照すれば、一つのＭＥＲ１７１０は複数の予測ユニットを含むことができる。以下、図１７の実施例に限って、予測ユニット内の最も左上に位置するピクセルを左上ピクセルと呼び、予測ユニット内の最も右上に位置するピクセルを右上ピクセルと呼び、予測ユニット内の最も左下に位置するピクセルを左下ピクセルと呼ぶ。図１７の実施例では図１６の実施例と同様に、ＭＥＲ１７１０に属する複数の予測ユニットそれぞれに対して、４個のＭＥＲマージ候補を導出することができる。
【０２４５】
図１７では、ＭＥＲの上端に隣接する二つのブロック（ここで、二つのブロックはそれぞれＭＥＲの外部の左上隅に最も近く位置するブロック又はＭＥＲの外部の右上隅に最も近く位置するブロックである。以下、同じ。）の動き情報及びＭＥＲの左側に隣接する二つのブロック（ここで、二つのブロックはそれぞれＭＥＲの外部の左上隅に最も近く位置するブロック、又はＭＥＲの外部の左下隅に最も近く位置するブロックである。以下、同じ。）の動き情報を一つの予測ユニットに対するＭＥＲマージ候補として使用することができる。ここで、ＭＥＲの上端に隣接する二つのブロックはそれぞれ、左上ピクセル（予測ユニット内のピクセル）の左側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロック、及び右上ピクセル（予測ユニット内のピクセル）の右側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、ＭＥＲの左側に隣接する二つのブロックはそれぞれ、左上ピクセル（予測ユニット内のピクセル）の上端に隣接するピクセルと同一の水平線上に位置するピクセルを含むブロック、及び左下ピクセル（予測ユニット内のピクセル）の下端に隣接するピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【０２４６】
図１７を参照すれば、予測ユニットＰＵ０は、ＭＥＲの上端に隣接する二つのブロックＴ０，Ｔ１の動き情報及びＭＥＲの左側に隣接する二つのブロックＬ０，Ｌ１の動き情報をＭＥＲマージ候補として使用することができる。ここで、ブロックＴ０は左上ピクセル（予測ユニットＰＵ０内のピクセル）の左側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックである。ブロックＴ１は右上ピクセル（予測ユニットＰＵ０内のピクセル）の右側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、ブロックＬ０は、左上ピクセル（予測ユニットＰＵ０内のピクセル）の上端に隣接するピクセルと同一の水平線上に位置するピクセルを含むブロックである。そして、ブロックＬ１は、左下ピクセル（予測ユニットＰＵ０内のピクセル）の下端に隣接するピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【０２４７】
図１８は、ＭＥＲマージ候補導出方法のまた別の実施例を概略示す図である。図１８の１８１０は一つのＭＥＲを示す。
【０２４８】
図１８を参照すれば、一つのＭＥＲ１８１０は複数の予測ユニットを含むことができる。以下、図１８の実施例に限って、予測ユニット内の最も左上に位置するピクセルは左上ピクセルと呼ぶ。図１８の実施例では、ＭＥＲ１８１０に属する複数の予測ユニットそれぞれに対して、二つのＭＥＲマージ候補を導出することができる。
【０２４９】
図１８の実施例では、ＭＥＲの上端に隣接する一つのブロックの動き情報及びＭＥＲの左側に隣接する一つのブロックの動き情報を、一つの予測ユニットに対するＭＥＲマージ候補として使用することができる。ここで、ＭＥＲの上端に隣接するブロックは、予測ユニットの左上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、ＭＥＲの左側に隣接するブロックは、予測ユニットの左上ピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【０２５０】
図１８を参照すれば、予測ユニットＰＵ０は、ＭＥＲの上端に隣接する一つのブロックＴの動き情報及びＭＥＲの左側に隣接する一つのブロックＬの動き情報をＭＥＲマージ候補として使用することができる。ここで、ブロックＴは、予測ユニットＰＵ０の左上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、ブロックＬは、予測ユニットＰＵ０の左上ピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【０２５１】
図１９は、ＭＥＲマージ候補導出方法のまた別の実施例を概略示す図である。図１９の１９１０は一つのＭＥＲを示す。
【０２５２】
図１９を参照すれば、一つのＭＥＲ１９１０は複数の予測ユニットを含むことができる。以下、図１９の実施例に限って、予測ユニット内の最も右上に位置するピクセルを右上ピクセルと呼び、予測ユニット内の最も左下に位置するピクセルを左下ピクセルと呼ぶ。図１９の実施例では図１８の実施例と同様に、ＭＥＲ１９１０に属する複数の予測ユニットそれぞれに対して、二つのＭＥＲマージ候補を導出することができる。
【０２５３】
図１９の実施例では、ＭＥＲの上端に隣接する一つのブロックの動き情報及びＭＥＲの左側に隣接する一つのブロックの動き情報を、一つの予測ユニットに対するＭＥＲマージ候補として使用することができる。ここで、ＭＥＲの上端に隣接するブロックは、予測ユニットの右上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、ＭＥＲの左側に隣接するブロックは、予測ユニットの左下ピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【０２５４】
図１９を参照すれば、予測ユニットＰＵ０は、ＭＥＲの上端に隣接する一つのブロックＴの動き情報及びＭＥＲの左側に隣接する一つのブロックＬの動き情報を、ＭＥＲマージ候補として使用することができる。ここで、ブロックＴは、予測ユニットＰＵ０の右上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、ブロックＬは、予測ユニットＰＵ０の左下ピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【０２５５】
図２０は、ＭＥＲマージ候補導出方法のまた別の実施例を概略示す図である。図２０の２０１０は一つのＭＥＲを示す。
【０２５６】
図２０を参照すれば、一つのＭＥＲ２０１０は複数の予測ユニットを含むことができる。以下、図２０の実施例に限って、予測ユニット内の最も左上に位置するピクセルを左上ピクセルと呼び、予測ユニット内の最も右上に位置するピクセルを右上ピクセルと呼び、予測ユニット内の最も左下に位置するピクセルを左下ピクセルと呼ぶ。図２０の実施例では、ＭＥＲ２０１０に属する複数の予測ユニットそれぞれに対して、４個のＭＥＲマージ候補を導出することができる。
【０２５７】
図２０では、ＭＥＲ内の予測ユニットの位置に基づいて、予測ユニットのＭＥＲマージ候補を導出することができる。すなわち、予測ユニットのＭＥＲマージ候補は、予測ユニットからＭＥＲまでの水平距離及び垂直距離に基づいて導出することができる。ここで、予測ユニットからＭＥＲまでの水平距離とは、予測ユニットの左上ピクセルからＭＥＲの左側境界までの距離を意味する。また、予測ユニットからＭＥＲまでの垂直距離とは、予測ユニットの左上ピクセルからＭＥＲの上端境界までの距離を意味する。
【０２５８】
一例として、予測ユニットからＭＥＲまでの水平距離が垂直距離より近い場合には、ＭＥＲの左側に隣接する四つのブロック（ここで、四つのブロックのうち二つのブロックはそれぞれＭＥＲの外部の左上隅に最も近く位置するブロック又はＭＥＲの外部の左下隅に最も近く位置するブロックである。以下、同じ。）の動き情報を、予測ユニットのＭＥＲマージ候補として使用することができる。ＭＥＲの左側に隣接する四つのブロックはそれぞれ、左上ピクセル（予測ユニット内のピクセル）の上端に隣接するピクセルと同一の水平線上に位置するピクセルを含むブロックと、左上ピクセル（予測ユニット内のピクセル）と同一の水平線上に位置するピクセルを含むブロックと、左下ピクセル（予測ユニット内のピクセル）と同一の水平線上に位置するピクセルを含むブロックと、左下ピクセル（予測ユニット内のピクセル）の下端に隣接するピクセルと同一の水平線上に位置するピクセルを含むブロックと、である。
【０２５９】
又は、ＭＥＲの上端に隣接する四つのブロック（ここで、四つのブロックのうち二つのブロックはそれぞれＭＥＲの外部の左上隅に最も近く位置するブロック又はＭＥＲの外部の右上隅に最も近く位置するブロックである。以下、同じ。）の動き情報を、予測ユニットのＭＥＲマージ候補として使用することができる。ここで、ＭＥＲの上端に隣接する四つのブロックはそれぞれ、左上ピクセル（予測ユニット内のピクセル）の左側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックと、左上ピクセル（予測ユニット内のピクセル）と同一の垂直線上に位置するピクセルを含むブロックと、右上ピクセル（予測ユニット内のピクセル）と同一の垂直線上に位置するブロックと、右上ピクセル（予測ユニット内のピクセル）の右側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックとである。
【０２６０】
図２０を参照すれば、予測ユニットＰＵ０に対してはＭＥＲまでの垂直距離が水平距離よりもっと近い。よって、予測ユニットＰＵ０は、ＭＥＲの上端に隣接する四つのブロックＴ０，Ｔ１，Ｔ２，Ｔ３の動き情報をＭＥＲマージ候補として使用することができる。ここで、ブロックＴ０は、左上ピクセル（予測ユニットＰＵ０内のピクセル）の左側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックである。ブロックＴ１は、左上ピクセル（予測ユニットＰＵ０内のピクセル）と同一の垂直線上に位置するピクセルを含むブロックである。また、ブロックＴ２は、右上ピクセル（予測ユニットＰＵ０内のピクセル）と同一の垂直線上に位置するピクセルを含むブロックである。そして、ブロックＴ３は、右上ピクセル（予測ユニットＰＵ０内のピクセル）の右側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックである。
【０２６１】
さらに図２０を参照すれば、予測ユニットＰＵ１に対してはＭＥＲまでの水平距離が垂直距離よりもっと近い。よって、予測ユニットＰＵ１は、ＭＥＲの左側に隣接する四つのブロックＬ０，Ｌ１，Ｌ２，Ｌ３の動き情報をＭＥＲマージ候補として使用することができる。ここで、ブロックＬ０は、左上ピクセル（予測ユニットＰＵ１内のピクセル）の上端に隣接するピクセルと同一の水平線上に位置するピクセルを含むブロックである。ブロックＬ１は、左上ピクセル（予測ユニットＰＵ１内のピクセル）と同一の水平線上に位置するピクセルを含むブロックである。また、ブロックＬ２は、左下ピクセル（予測ユニットＰＵ１内のピクセル）と同一の水平線上に位置するピクセルを含むブロックである。そして、ブロックＬ３は、左下ピクセル（予測ユニットＰＵ１内のピクセル）の下端に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックである。
【０２６２】
図２１は、ＭＥＲマージ候補導出方法のまた別の実施例を概略示す図である。図２１の２１１０は一つのＭＥＲを示す。
【０２６３】
図２１を参照すれば、一つのＭＥＲ２１１０は複数の予測ユニットを含むことができる。以下、図２１の実施例に限って、予測ユニット内の最も左上に位置するピクセルを左上ピクセルと呼び、予測ユニット内の最も右上に位置するピクセルを右上ピクセルと呼び、予測ユニット内の最も左下に位置するピクセルを左下ピクセルと呼ぶ。図２１の実施例では、ＭＥＲ２１１０に属する複数の予測ユニットそれぞれに対して、２個のＭＥＲマージ候補を導出することができる。
【０２６４】
図２１ではＭＥＲ内の予測ユニットの位置に基づいて、予測ユニットのＭＥＲマージ候補が導出することができる。すなわち、予測ユニットのＭＥＲマージ候補は、予測ユニットからＭＥＲまでの水平距離及び垂直距離に基づいて導出することができる。ここで、予測ユニットからＭＥＲまでの水平距離とは、予測ユニットの左上ピクセルからＭＥＲの左側境界までの距離を意味する。また、予測ユニットからＭＥＲまでの垂直距離とは、予測ユニットの左上ピクセルからＭＥＲの上端境界までの距離を意味する。
【０２６５】
一例として、予測ユニットからＭＥＲまでの水平距離が垂直距離より近い場合には、ＭＥＲの左側に隣接する二つのブロック（ここで、二つのブロックはそれぞれＭＥＲの外部の左上隅に最も近く位置するブロック又はＭＥＲの外部の左下隅に最も近く位置するブロックである。以下、同じ。）の動き情報を、予測ユニットのＭＥＲマージ候補として使用することができる。ＭＥＲの左側に隣接する二つのブロックはそれぞれ、予測ユニットの左上ピクセルと同一の水平線上に位置するピクセルを含むブロックと、予測ユニットの左下ピクセルと同一の水平線上に位置するピクセルを含むブロックとである。
【０２６６】
又は、ＭＥＲの上端に隣接する二つのブロック（ここで、二つのブロックは、それぞれＭＥＲの外部の左上隅に最も近く位置するブロック又はＭＥＲの外部の右上隅に最も近く位置するブロックである。以下、同じ。）の動き情報を、予測ユニットのＭＥＲマージ候補として使用することができる。ここで、ＭＥＲの上端に隣接する２つのブロックはそれぞれ、予測ユニットの左上ピクセルと同一の垂直線上に位置するピクセルを含むブロック、及び予測ユニットの右上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。
【０２６７】
図２１を参照すれば、予測ユニットＰＵ０に対してはＭＥＲまでの垂直距離が水平距離よりもっと近い場合がある。よって、予測ユニットＰＵ０は、ＭＥＲの上端に隣接する二つのブロックＴ０，Ｔ１の動き情報をＭＥＴマージ候補として使用することができる。ここで、ブロックＴ０は、予測ユニットＰＵ０の左上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、ブロックＴ１は、予測ユニットＰＵ０の右上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。
【０２６８】
さらに図２１を参照すれば、予測ユニットＰＵ１に対してはＭＥＲまでの水平距離が垂直距離よりもっと近い場合がある。よって、予測ユニットＰＵ１は、ＭＥＲの左側に隣接する二つのブロックＬ０，Ｌ１の動き情報をＭＥＲマージ候補として使用することができる。ここで、ブロックＬ０は、予測ユニットＰＵ１の左上ピクセルと同一の水平線上に位置するピクセルを含むブロックである。また、ブロックＬ１は、予測ユニットＰＵ１の左下ピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【０２６９】
図２２は、ＭＥＲマージ候補導出方法のまた別の実施例を概略示す図である。図２２の２２１０は一つのＭＥＲを示す。
【０２７０】
図２２を参照すれば、一つのＭＥＲ２２１０は複数の予測ユニットを含むことができる。以下、図２２の実施例に限って、予測ユニット内の最も右上に位置するピクセルは右上ピクセルと言い、予測ユニット内の最も左下に位置するピクセルは左下ピクセルと言う。
【０２７１】
さらに図２２を参照すれば、予測ユニットＰＵ０は、５個の空間的マージ候補Ａ0，Ａ1，Ｂ0，Ｂ1及びＢ2を有することができる。しかし、上述したように空間的マージ候補は、マージモード及び／又はスキップモードにおける並列動き予測時に利用可能でないこともある。一例として、マージ候補として使用されるブロックが予測ユニットＰＵ０と同一のＭＥＲに含まれた場合、ブロックは動き予測時に符号化／復号が完了していないブロックに該当するため、予測ユニットＰＵ０の並列動き予測に使用することができない。また、マージ候補として使用されるブロックは符号化／復号の手順上、予測ユニットＰＵ０の並列動き予測時に符号化及び／又は復号が完了していない場合もある。
【０２７２】
一方、図２２の実施例では、ＭＥＲ２２１０に属する予測ユニットＰＵ０に対して、最大４個のＭＥＲマージ候補が導出することができる。４個のＭＥＲマージ候補は、ＭＥＲの上端に隣接する二つのブロックＴ０，Ｔ１（ここで、二つのブロックのうち一つはＭＥＲの外部の右上隅に最も近く位置するブロックである。以下、同じ。）の動き情報、及びＭＥＲの左側に隣接する二つのブロックＬ０，Ｌ１（ここで、二つのブロックのうち一つはＭＥＲの外部の左下隅に最も近く位置するブロックである。以下、同じ。）の動き情報である。ここで、ＭＥＲの上端に隣接する二つのブロックはそれぞれ、右上ピクセル（予測ユニットＰＵ０内のピクセル）と同一の垂直線上に位置するブロックＴ０と、右上ピクセル（予測ユニットＰＵ０内のピクセル）の右側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックＴ１とである。また、ＭＥＲの左側に隣接する２つのブロックはそれぞれ、左下ピクセル（予測ユニットＰＵ０内のピクセル）と同一の水平線上に位置するブロックＬ０と、左下ピクセル（予測ユニットＰＵ０内のピクセル）の下端に隣接するピクセルと同一の水平線上に位置するピクセルを含むブロックＬ１とである。
【０２７３】
このとき、符号化器及び復号器は、予測ユニットＰＵ０が有するマージ候補Ａ0，Ａ1，Ｂ0及びＢ1のうち利用可能でないマージ候補に対してだけ、これに対応するＭＥＲマージ候補を導出する。ＭＥＲ内の予測ユニットが有する空間的マージ候補それぞれが並列動き予測時に利用可能でないか否かは予測ユニットの位置によって決定されるため、この場合、予測ユニットＰＵ０に対して導出されるＭＥＲマージ候補は予測ユニットの位置に基づいて決定されると考えることもできる。
【０２７４】
図２２を参照すれば、予測ユニットＰＵ０のマージ候補Ａ1が並列マージモード／並列スキップモード動き予測時に利用可能でない場合、Ｌ０ブロックの動き情報を予測ユニットＰＵ０のＭＥＲマージ候補として使用することができる。また、予測ユニットＰＵ０のマージ候補Ａ0が並列マージモード／並列スキップモード動き予測時に利用可能でない場合、Ｌ１ブロックの動き情報を予測ユニットＰＵ０のＭＥＲマージ候補として使用することができる。そして、予測ユニットＰＵ０のマージ候補Ｂ1が並列マージモード／並列スキップモード動き予測時に利用可能でない場合、Ｔ０ブロックの動き情報が予測ユニットＰＵ０のＭＥＲマージ候補として使用され、予測ユニットＰＵ０のマージ候補Ｂ0が並列マージモード／並列スキップモード動き予測時に利用可能でない場合には、Ｔ１ブロックの動き情報が予測ユニットＰＵ０のＭＥＲマージ候補として使用することができる。
【０２７５】
図２３は、ＭＥＲマージ候補導出方法のまた別の実施例を概略示す図である。図２３の２３１０は一つのＭＥＲを示す。
【０２７６】
図２３を参照すれば、ＭＥＲ２３１０に含まれた予測ユニットＰＵ０２３２０は、５個の空間的マージ候補Ａ0，Ａ1，Ｂ0，Ｂ1及びＢ2を有することができる。また、図２３に示されてはいないが、図７で説明したように、予測ユニットＰＵ０２３２０は時間的マージ候補も有することができる。
【０２７７】
図２２で説明したように、ＭＥＲ内の任意の予測ユニットの空間的マージ候補は、マージモード及び／又はスキップモードにおける並列動き予測時に利用可能でないこともある。図２３の実施例で、予測ユニットＰＵ０２３２０の空間的マージ候補の導出に使用されるブロックはいずれも予測ユニットＰＵ０２３２０と同一のＭＥＲに含まれているため、予測ユニットＰＵ０２３２０の空間的マージ候補は利用可能でないものとして処理されてマージ候補リストに含まれない。
【０２７８】
一方、上述したように、マージ候補リストを構成するマージ候補の個数は所定の固定された個数に制限することができる。図２３の実施例では、説明の便宜上、マージ候補リストを構成するマージ候補の個数は５個に制限されると仮定する。このとき、予測ユニットに対して導出される利用可能なマージ候補（空間的マージ候補及び時間的マージ候補）の個数は上述した理由で５個より少なくてもよく、利用可能な空間的マージ候補及び時間的マージ候補がいずれもマージ候補リストに追加されてもマージ候補リストが完全に満たされないこともある。このとき、時間的マージ候補が最後にマージ候補リストに追加された後、符号化器及び復号器はＭＥＲマージ候補を導出して所定の手順でマージ候補リストに追加で挿入することによって、マージ候補リストを構成するマージ候補の個数が５個になるようにすることができる。すなわち、符号化器及び復号器は、マージ候補リストを構成するマージ候補の個数が５個になるまでＭＥＲマージ候補をマージ候補リストに追加するか挿入することができる。
【０２７９】
図２３を参照すれば、ブロックＬ０，Ｌ１，Ｔ０及びＴ１の動き情報が、予測ユニットＰＵ０２３２０のマージ候補リストに追加で挿入されるＭＥＲマージ候補として使用することができる。ここで、ブロックＬ０はＭＥＲの左側に隣接するブロックのうち最も上端に位置するブロックであり、ブロックＬ１はＭＥＲの左側に隣接するブロックのうち最も下端に位置するブロックである。また、ブロックＴ０はＭＥＲの上端に隣接するブロックのうち最も左側に位置するブロックであり、ブロックＴ１はＭＥＲの上端に隣接するブロックのうち最も右側に位置するブロックである。
【０２８０】
マージ候補リストを構成するマージ候補の個数が５個になるようにするために、マージ候補リストに追加で挿入されるＭＥＲマージ候補の個数は、予測ユニットの位置などによって変えてもよい。よって、上述したＭＥＲマージ候補がマージ候補リストに挿入される順序は予め定められていてもよい。一実施例として、符号化器及び復号器はブロックＬ１に対応するＭＥＲマージ候補、ブロックＴ１に対応するＭＥＲマージ候補、ブロックＬ０に対応するＭＥＲマージ候補、ブロックＴ０に対応するＭＥＲマージ候補の順序で、ＭＥＲマージ候補をマージ候補リストに追加で挿入することができる。
【０２８１】
図２４は、ＭＥＲマージ候補導出方法のまた別の実施例を概略示す図である。図２４の２４１０は一つのＭＥＲを示す。
【０２８２】
図２４を参照すれば、ＭＥＲ２４１０に含まれた予測ユニットＰＵ０２４２０は、５個の空間的マージ候補Ａ0，Ａ1，Ｂ0，Ｂ1及びＢ2を有することができる。また、図２４に示されてはいないが、図７で説明したように、予測ユニットＰＵ０２４２０は時間的マージ候補も有することができる。しかし、図２３で説明したように、ＭＥＲ内の任意の予測ユニットの空間的マージ候補は、マージモード及び／又はスキップモードにおける並列動き予測時に利用可能でないものとして処理されてマージ候補リストに含まれない。
【０２８３】
このとき、符号化器及び復号器は図２３の実施例と同一の方式でＭＥＲマージ候補を導出して、所定の順序でマージ候補リストに追加で挿入することができる。例えば、マージ候補リストを構成するマージ候補の個数が５個に制限される場合、符号化器及び復号器は、マージ候補リストを構成するマージ候補の個数が５個になるまでＭＥＲマージ候補をマージ候補リストに追加するか、又は挿入することができる。
【０２８４】
図２４を参照すれば、ブロックＬ１及びＴ１の動き情報が、予測ユニットＰＵ０２４２０のマージ候補リストに追加で挿入されるＭＥＲマージ候補として使用することができる。ここで、ブロックＬ１は、ＭＥＲの左側に隣接するブロックのうち最も下端に位置するブロックである。また、ブロックＴ１は、ＭＥＲの上端に隣接するブロックのうち最も右側に位置するブロックである。
【０２８５】
また、図２３で説明したように、マージ候補リストに追加で挿入されるＭＥＲマージ候補の個数は予測ユニットの位置などによって変わってもよい。よって、図２４の実施例で、ＭＥＲマージ候補がマージ候補リストに挿入される順序は予め定められていてもよい。一実施例として、符号化器及び復号器は、ブロックＬ１に対応するＭＥＲマージ候補、ブロックＴ１に対応するＭＥＲマージ候補の順序で、ＭＥＲマージ候補をマージ候補リストに追加で挿入することができる。
【０２８６】
一方、上述した図１３ないし図２４の実施例のように、一つの予測ユニットに対して共通マージ候補及び／又はＭＥＲマージ候補が導出された場合、導出された共通マージ候補及び／又はＭＥＲマージ候補は、予測ユニットのマージ候補リストに追加されるか挿入することができる。以下、後述する実施例では、説明の便宜上、共通マージ候補及びＭＥＲマージ候補は並列マージ候補と総称する。
【０２８７】
並列マージ候補が適用されない場合、予測ユニットの空間的マージ候補は図７で説明したように、予測ユニットに隣接して位置するブロック及び現ブロックの外部隅に最も近く位置するブロックから導出することができる。また、予測ユニットの時間的マージ候補は、参照ピクチャに含まれた同一位置ブロックから導出することができる。以下、図７の実施例のように並列マージ候補が適用されない場合、予測ユニットのために使用されるマージ候補をＰＵマージ候補と呼ぶ。
【０２８８】
上述したように、一つの予測ユニットのＰＵマージ候補に該当する空間的な候補の中では予測ユニットと同一のＭＥＲに含まれたマージ候補があり得る。このとき、予測ユニットと同一のＭＥＲに含まれたマージ候補は並列動き予測時に利用可能な動き情報を含まないこともある。よって、予測ユニットに対して導出される利用可能なＰＵマージ候補の個数は、マージ候補リストを構成するために必要なマージ候補の個数より少なくてもよい。ここで、マージ候補リストを構成するために必要なマージ候補の個数は予め定められた値であってもよい。例えば、マージ候補リストを構成するマージ候補の個数は５個であってもよい。
【０２８９】
この場合、符号化器及び復号器は、並列マージ候補を所定の順序でマージ候補リストに追加で挿入することができる。このとき、マージ候補リストに追加で挿入される並列マージ候補は、マージ候補リスト内で利用可能なＰＵマージ候補の後に位置する。すなわち、マージ候補は、ＰＵマージ候補、並列マージ候補の順序でマージ候補リストに挿入することができる。
【０２９０】
例えば、現予測ユニットに対して図７の７２０のようなＰＵマージ候補が適用されると仮定する。このとき、符号化器及び復号器は、現予測ユニットの外部の左下隅に最も近く位置するブロックＡ0と、現予測ユニットの左側に隣接するブロックのうち最も下端に位置するブロックＡ1と、現予測ユニット外部の右上隅に最も近く位置するブロックＢ0と、現予測ユニットの上端に隣接するブロックのうち最も右側に位置するブロックＢ1と、現予測ユニットの外部の左上隅に最も近く位置するブロックＢ2と、同一位置ブロックＣＯＬの動き情報とを、現予測ユニットのＰＵマージ候補として使用することができる。このとき、一例として、マージ候補リストにはＰＵマージ候補がＡ1、Ｂ1、Ｂ0、Ａ0、Ｂ2、ＣＯＬの順序で追加されるか、及び／又は挿入することができる。
【０２９１】
しかし、現予測ユニットがＭＥＲの内部に存在する場合、マージモード及び／又はスキップモード並列動き予測の実行時に、ＰＵマージ候補に該当する空間的マージ候補Ａ1，Ｂ1，Ｂ0，Ａ0，Ｂ2が利用可能でないこともある。この場合、ＰＵマージ候補に該当する時間的マージ候補ＣＯＬのみがマージ候補リストに追加される。
【０２９２】
このとき、符号化器及び復号器は、マージ候補リストに追加されたＰＵマージ候補の後に並列マージ候補を挿入することができる。例えば、現予測ユニットに対して導出された並列マージ候補をそれぞれＡ1’，Ｂ1’，Ｂ0’，Ａ0’及びＢ2’とする。このとき、ＰＵマージ候補に該当する時間的マージ候補及び並列マージ候補は、ＣＯＬ，Ａ1’，Ｂ1’，Ｂ0’，Ａ0’及びＢ2’の順序でマージ候補リストに追加されるか、及び／又は挿入することができる。このとき、符号化器及び復号器は、マージ候補リストを構成するマージ候補の個数が最大個数（例えば、５個）になるまで並列マージ候補を追加することができる。
【０２９３】
一方、利用可能なＰＵマージ候補及び利用可能な並列マージ候補がいずれもマージ候補リストに追加された場合にも、マージ候補リストが完全に満たされない場合が発生し得る。このような場合、符号化器及び復号器は、既にマージ候補リストに追加されたマージ候補に基づいて新たなマージ候補を導出してマージ候補リストに追加することができる。このとき、符号化器はＰＵマージ候補だけでなく、並列マージ候補も新たなマージ候補を導出するために使用することができる。
【０２９４】
既にマージ候補リストに追加されたマージ候補に基づいて導出される新たなマージ候補としては、結合双方向予測候補（ｃｏｍｂｉｎｅｄ ｂｉ−ｐｒｅｄｉｃｔｉｖｅ ｃａｎｄｉｄａｔｅ、ＣＢ）、未調整双方向予測候補（ｎｏｎ−ｓｃａｌｅｄ  ｂｉ−ｐｒｅｄｉｃｔｉｖｅ  ｃａｎｄｉｄａｔｅ、ＮＢ）及び／又は零動き候補（ｚｅｒｏ  ｍｏｔｉｏｎ  ｃａｎｄｉｄａｔｅ、Ｚｅｒｏ）などがある。ここで、ＣＢは、既にマージ候補リストに追加されたマージ候補のうち二つのマージ候補に基づいて導出することができる。例えば、ＣＢのＬ０動き情報は二つのマージ候補のうち一つに基づいて導出され、ＣＢのＬ１動き情報は二つのマージ候補のうち他の一つに基づいて導出することができる。すなわち、ＣＢは、二つのマージ候補それぞれの動き情報を組み合わせることによって導出することができる。また、ＮＢのＬ０動き情報及びＬ１動き情報は、既にマージ候補リストに追加されたマージ候補のうち一つのマージ候補に基づいて、所定の条件及び演算を通じて導出することができる。そして、Ｚｅｒｏは零ベクトル（０，０）を含む動き情報を意味する。
【０２９５】
新たに導出されてマージ候補リストに追加で挿入されるマージ候補ＣＢ、ＮＢ及びＺｅｒｏは、マージ候補リスト内で利用可能なＰＵマージ候補及び利用可能な並列マージ候補の後に位置することができる。すなわち、マージ候補は、ＰＵマージ候補、並列マージ候補、及びＰＵマージ候補と並列マージ候補に基づいて導出されたＣＢ、ＮＢ、Ｚｅｒｏの順序でマージ候補リストに挿入することができる。例えば、一つの予測ユニットに対して三つのＣＢ（ＣＢ０，ＣＢ１，ＣＢ２）、一つのＮＢ（ＮＢ０）、一つのＺｅｒｏが導出されると仮定するとき、マージ候補リストにはマージ候補がＣＯＬ、Ａ1’、Ｂ1’、Ｂ0’、Ａ0’、Ｂ2’、ＣＢ０、ＣＢ１、ＣＢ２、ＮＢ０及びＺｅｒｏの順序で追加されるか及び／又は挿入することができる。このとき、符号化器及び復号器は、マージ候補リストを構成するマージ候補の個数が最大個数（例えば、５個）になるまで並列マージ候補を追加することができる。
【０２９６】
上述した実施例で、この方法は、一連のステップ又はブロックとしてフローチャートに基づいて説明されているが、本発明はステップの順序に限定されるものではなく、いずれのステップは上述したものと異なるステップと異なる順序で、又は同時に発生することができる。また、当業者であれば、フローチャートに示されたステップは排他的でなく、他のステップを含めたり、フローチャートの一つ又はそれ以上のステップを本発明の範囲に影響を及ぼさずに削除したりできることを理解するであろう。
【０２９７】
上述した実施例は多様な様態の例示を含む。多様な様態を示すためのすべての可能な組合せを記述することはできないが、当該技術分野における通常の知識を有する者であれば、他の組合せが可能であることを認識できるであろう。よって、本発明は、以下の特許請求の範囲内に属するすべての他の代替、修正及び変更を含むものとする。
【図１】
2020205627.tif 000010
【図２】
2020205627.tif 000011
【図３】
2020205627.tif 000012
【図４】
2020205627.tif 000013
【図５】
2020205627.tif 000014
【図６】
2020205627.tif 000015
【図７】
2020205627.tif 000016
【図８】
2020205627.tif 000017
【図９】
2020205627.tif 000018
【図１０】
2020205627.tif 000019
【図１１】
2020205627.tif 000020
【図１２】
2020205627.tif 000021
【図１３】
2020205627.tif 000022
【図１４】
2020205627.tif 000023
【図１５】
2020205627.tif 000024
【図１６】
2020205627.tif 000025
【図１７】
2020205627.tif 000026
【図１８】
2020205627.tif 000027
【図１９】
2020205627.tif 000028
【図２０】
2020205627.tif 000029
【図２１】
2020205627.tif 000030
【図２２】
2020205627.tif 000031
【図２３】
2020205627.tif 000032
【図２４】
2020205627.tif 000033
【手続補正書】
【提出日】令和2年9月11日(2020.9.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
復号器により実行される映像復号方法であって、
並列マージレベルについての情報を含むビットストリームを受信するステップと、
現ブロックのためのマージ候補リストを構成するステップであって、前記マージ候補リストは複数の空間マージ候補を含む、ステップと、
前記マージ候補リストに基づいて前記現ブロックの動き情報を導出するステップと、
前記導出された動き情報に基づいて前記現ブロックに関する予測されたブロックを導出するステップと、
前記予測されたブロックに基づいて復元ブロックを生成するステップとを含み、
前記現ブロックは並列マージ領域に属し、前記並列マージ領域のサイズは前記並列マージレベルについての情報にしたがって決定され、
前記現ブロックは前記並列マージ領域に属する予測ユニット（ＰＵ）に対応し、
前記予測ユニット（ＰＵ）は符号化ユニットから分割され、  
前記現ブロックに対する前記複数の空間マージ候補は、前記並列マージ領域の、左下隅に最も近く位置するブロック、左側に隣接するブロック、右上隅に最も近く位置するブロック、上側に隣接するブロック、及び左上隅に最も近く位置するブロックから導出され、
前記並列マージレベルについての情報は、ピクチャパラメータセットを介して受信される、映像復号方法。
【請求項２】
前記複数の空間マージ候補は、前記並列マージ領域として同じサイズを有する２Ｎ×２Ｎ予測ユニットの複数の空間マージ候補と同一である、請求項１に記載の映像復号方法。
【請求項３】
前記並列マージレベルについての情報の値が０である時、前記並列マージ領域の前記サイズは、４×４である、請求項１に記載の映像復号方法。
【請求項４】
前記ＰＵの左下隅に最も近く位置するブロック、左側に隣接するブロック、右上隅に最も近く位置するブロック、上側に隣接するブロック、及び左上隅に最も近く位置するブロックは、前記ＰＵに対する前記空間マージ候補を導出するために利用可能でないと決定される、請求項１に記載の映像復号方法。
【請求項５】
前記並列マージレベルについての情報の値が１である時、前記並列マージ領域の前記サイズは、８×８であり、
前記並列マージレベルについての情報の値が２である時、前記並列マージ領域の前記サイズは、１６×１６である、請求項１に記載の映像復号方法。
【請求項６】
前記並列マージレベルについての情報の値が３である時、前記並列マージ領域の前記サイズは、３２×３２であり、
前記並列マージレベルについての情報の値が４である時、前記並列マージ領域の前記サイズは、６４×６４である、請求項１に記載の映像復号方法。
【請求項７】
前記符号化ユニットのサイズが８×８であり、前記並列マージ領域のサイズが４×４より大きい時、前記複数の空間マージ候補は前記ＰＵのために利用される、請求項１に記載の映像復号方法。
【請求項８】
前記ＰＵは、前記並列マージ領域の底面境界（a bottom boundary）と右側境界（a right boundary）に隣接する、請求項１に記載の映像復号方法。
【請求項９】
符号化器により実行される映像符号化方法であって、
現ブロックに対するマージ候補リストを構成するステップであって、前記マージ候補リストは複数の空間マージ候補を含む、ステップと、
前記マージ候補リストに基づいて前記現ブロックの動き情報を導出するステップと、
前記導出された動き情報に基づいて前記現ブロックに関する予測されたブロックを導出するステップと、
前記予測されたブロックに基づいて残差情報を導出するステップと、
残差情報と並列マージレベルについての情報を含むビデオ情報を符号化するステップとを含み、
前記現ブロックは、並列マージ領域に属し、前記並列マージ領域のサイズは、前記並列マージレベルについての情報にしたがって決定され、
前記現ブロックは、前記並列マージ領域に属する予測ユニット（ＰＵ）に対応し、
前記ＰＵはコーディングユニット（ＣＵ）から分割され、
前記現ブロックに対する前記複数の空間マージ候補は、前記並列マージ領域の、左下隅に最も近く位置するブロック、左側に隣接するブロック、右上隅に最も近く位置するブロック、上側に隣接するブロック、及び左上隅に最も近く位置するブロックから導出され、
前記並列マージレベルについての情報は、ピクチャパラメータセットを介して送られる、映像符号化方法。
【請求項１０】
復号器に映像復号方法を実行させる指示(instruction)情報を格納するコンピュータ可読記憶媒体であって、
映像復号方法は、
並列マージレベルに関する情報を含むビットストリームを受信するステップと、
現ブロックに対するマージ候補リストを構成するステップであって、前記マージ候補リストは複数の空間マージ候補を含む、ステップと、
前記マージ候補リストに基づく前記現ブロックの動き情報を導出するステップと、
前記マージ候補リストに基づいて前記現ブロックに関して予測されたブロックを導出するステップと、
前記予測されたブロックに基づいて再構成されたブロックを生成するステップとを含み、
前記現ブロックは、並列マージ領域に属し、前記並列マージ領域のサイズは、前記並列マージレベルについての情報にしたがって決定され、
前記現ブロックは、前記並列マージ領域に属する予測ユニット（ＰＵ）に対応し、
前記ＰＵはコーディングユニット（ＣＵ）から分割され、
前記現ブロックに対する前記複数の空間マージ候補は、前記並列マージ領域の、左下隅に最も近く位置するブロック、左側に隣接するブロック、右上隅に最も近く位置するブロック、上側に隣接するブロック、及び左上隅に最も近く位置するブロックから導出され、
前記並列マージレベルについての情報は、ピクチャパラメータセットを介して受信される、コンピュータ可読記憶媒体。