IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エルジー エレクトロニクス インコーポレイティドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022050410
(43)【公開日】2022-03-30
(54)【発明の名称】インタ予測方法及びその装置
(51)【国際特許分類】
   H04N 19/52 20140101AFI20220323BHJP
   H04N 19/70 20140101ALI20220323BHJP
   H04N 19/105 20140101ALI20220323BHJP
   H04N 19/157 20140101ALI20220323BHJP
   H04N 19/176 20140101ALI20220323BHJP
   H04N 19/436 20140101ALI20220323BHJP
【FI】
H04N19/52
H04N19/70
H04N19/105
H04N19/157
H04N19/176
H04N19/436
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021201558
(22)【出願日】2021-12-13
(62)【分割の表示】P 2020152759の分割
【原出願日】2012-09-07
(31)【優先権主張番号】61/532,562
(32)【優先日】2011-09-09
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】61/540,543
(32)【優先日】2011-09-29
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】61/557,861
(32)【優先日】2011-11-09
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】61/563,817
(32)【優先日】2011-11-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】61/578,832
(32)【優先日】2011-12-21
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】61/583,622
(32)【優先日】2012-01-06
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】61/585,654
(32)【優先日】2012-01-12
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】61/557,337
(32)【優先日】2011-11-08
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】502032105
【氏名又は名称】エルジー エレクトロニクス インコーポレイティド
【氏名又は名称原語表記】LG ELECTRONICS INC.
【住所又は居所原語表記】128, Yeoui-daero, Yeongdeungpo-gu, 07336 Seoul,Republic of Korea
(74)【代理人】
【識別番号】100099759
【弁理士】
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100092624
【弁理士】
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100114018
【弁理士】
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100151459
【弁理士】
【氏名又は名称】中村 健一
(74)【代理人】
【識別番号】100165191
【弁理士】
【氏名又は名称】河合 章
(72)【発明者】
【氏名】チョン ヨンジュン
(72)【発明者】
【氏名】パク スンウク
(72)【発明者】
【氏名】リム ジェヒュン
(72)【発明者】
【氏名】キム チュルクン
(72)【発明者】
【氏名】キム チュンスン
(72)【発明者】
【氏名】パク ネリ
(72)【発明者】
【氏名】ヘンドライ ヘンドライ
(72)【発明者】
【氏名】チョン ビョンムン
(72)【発明者】
【氏名】パク チュンヨン
(57)【要約】
【課題】複雑度を減少させ、符号化/復号効率を向上させることができる映像符号化方法及び装置を提供すること。
【解決手段】本発明に係るインタ予測方法は、現予測ユニットに対応する予測対象ブロックのマージ候補リストを生成するステップ、マージ候補リストを構成する複数のマージ候補のうち一つに基づいて、予測対象ブロックの動き情報を導出するステップ、及び導出された動き情報に基づいて予測対象ブロックに対して予測を行うことによって、現予測ユニットに対応する予測ブロックを生成するステップを含む。
【選択図】図6
【特許請求の範囲】
【請求項1】
復号器により実行される映像復号方法であって、
並列マージレベルについての情報を含むビットストリームを受信するステップと、
現ブロックのためのマージ候補リストを構成するステップであって、前記マージ候補リストは複数の空間マージ候補を含む、ステップと、
前記マージ候補リストに基づいて前記現ブロックの動き情報を導出するステップと、
前記導出された動き情報に基づいて前記現ブロックに関する予測されたブロックを導出するステップと、
前記予測されたブロックに基づいて復元ブロックを生成するステップとを含み、
前記現ブロックは並列マージ領域に属し、前記並列マージ領域のサイズは前記並列マージレベルについての情報にしたがって決定され、
前記現ブロックは前記並列マージ領域に属する予測ユニット(PU)に対応し、
前記予測ユニット(PU)は符号化ユニットから分割され、
前記現ブロックに対する前記複数の空間マージ候補は、前記並列マージ領域の、左下隅に最も近く位置するブロック、左側に隣接するブロック、右上隅に最も近く位置するブロック、上側に隣接するブロック、及び左上隅に最も近く位置するブロックから導出され、
前記並列マージレベルについての情報は、ピクチャパラメータセットを介して受信される、映像復号方法。
【請求項2】
前記複数の空間マージ候補は、前記並列マージ領域として同じサイズを有する2N×2N予測ユニットの複数の空間マージ候補と同一である、請求項1に記載の映像復号方法。
【請求項3】
前記並列マージレベルについての情報の値が0である時、前記並列マージ領域の前記サイズは、4×4である、請求項1に記載の映像復号方法。
【請求項4】
前記PUの左下隅に最も近く位置するブロック、左側に隣接するブロック、右上隅に最も近く位置するブロック、上側に隣接するブロック、及び左上隅に最も近く位置するブロックは、前記PUに対する前記空間マージ候補を導出するために利用可能でないと決定される、請求項1に記載の映像復号方法。
【請求項5】
前記並列マージレベルについての情報の値が1である時、前記並列マージ領域の前記サイズは、8×8であり、
前記並列マージレベルについての情報の値が2である時、前記並列マージ領域の前記サイズは、16×16である、請求項1に記載の映像復号方法。
【請求項6】
前記並列マージレベルについての情報の値が3である時、前記並列マージ領域の前記サイズは、32×32であり、
前記並列マージレベルについての情報の値が4である時、前記並列マージ領域の前記サイズは、64×64である、請求項1に記載の映像復号方法。
【請求項7】
前記符号化ユニットのサイズが8×8であり、前記並列マージ領域のサイズが4×4より大きい時、前記複数の空間マージ候補は前記PUのために利用される、請求項1に記載の映像復号方法。
【請求項8】
前記PUは、前記並列マージ領域の底面境界(a bottom boundary)と右側境界(a right boundary)に隣接する、請求項1に記載の映像復号方法。
【請求項9】
符号化器により実行される映像符号化方法であって、
現ブロックに対するマージ候補リストを構成するステップであって、前記マージ候補リストは複数の空間マージ候補を含む、ステップと、
前記マージ候補リストに基づいて前記現ブロックの動き情報を導出するステップと、
前記導出された動き情報に基づいて前記現ブロックに関する予測されたブロックを導出するステップと、
前記予測されたブロックに基づいて残差情報を導出するステップと、
残差情報と並列マージレベルについての情報を含むビデオ情報を符号化するステップとを含み、
前記現ブロックは、並列マージ領域に属し、前記並列マージ領域のサイズは、前記並列マージレベルについての情報にしたがって決定され、
前記現ブロックは、前記並列マージ領域に属する予測ユニット(PU)に対応し、
前記PUはコーディングユニット(CU)から分割され、
前記現ブロックに対する前記複数の空間マージ候補は、前記並列マージ領域の、左下隅に最も近く位置するブロック、左側に隣接するブロック、右上隅に最も近く位置するブロック、上側に隣接するブロック、及び左上隅に最も近く位置するブロックから導出され、
前記並列マージレベルについての情報は、ピクチャパラメータセットを介して送られる、映像符号化方法。
【請求項10】
復号器に映像復号方法を実行させる指示(instruction)情報を格納するコンピュータ可読記憶媒体であって、
映像復号方法は、
並列マージレベルに関する情報を含むビットストリームを受信するステップと、
現ブロックに対するマージ候補リストを構成するステップであって、前記マージ候補リストは複数の空間マージ候補を含む、ステップと、
前記マージ候補リストに基づく前記現ブロックの動き情報を導出するステップと、
前記マージ候補リストに基づいて前記現ブロックに関して予測されたブロックを導出するステップと、
前記予測されたブロックに基づいて再構成されたブロックを生成するステップとを含み、
前記現ブロックは、並列マージ領域に属し、前記並列マージ領域のサイズは、前記並列マージレベルについての情報にしたがって決定され、
前記現ブロックは、前記並列マージ領域に属する予測ユニット(PU)に対応し、
前記PUはコーディングユニット(CU)から分割され、
前記現ブロックに対する前記複数の空間マージ候補は、前記並列マージ領域の、左下隅に最も近く位置するブロック、左側に隣接するブロック、右上隅に最も近く位置するブロック、上側に隣接するブロック、及び左上隅に最も近く位置するブロックから導出され、
前記並列マージレベルについての情報は、ピクチャパラメータセットを介して受信される、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は映像処理に関し、より詳細にはインタ予測方法及び装置に関するものである。
【背景技術】
【0002】
近年、高解像度(HD)映像及び超高解像度(UHD)映像のような高解像度、高品質な映像への需要が、多様な分野において増加しつつある。映像データが高解像度、高品質になるほど、既存の映像データに比べて相対的に伝送される情報量又はビット量が増加するため、既存の有線無線の広帯域ネットワークのような媒体を用いて映像データを伝送する場合、又は既存の記憶媒体を用いて映像データを記憶する場合、伝送コスト及び記憶コストが増加する。このような問題を解決するために、高能率の映像圧縮技術が用いられる。
【0003】
映像圧縮技術としては、現ピクチャの前及び/又は後のピクチャから現ピクチャに含まれる画素値を予測するインタ予測技術、現ピクチャ内の画素情報を用いて現ピクチャに含まれた画素値を予測するイントラ予測技術、出現頻度の高い値に短い符号語を割り当て、出現頻度の低い値に長い符号語を割り当てるエントロピ符号化技術など、多様な技術が存在する。このような映像圧縮技術を用いて映像データを効果的に圧縮して伝送又は記憶することができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の技術的課題は、複雑度を減少させ、符号化/復号効率を向上させることができる映像符号化方法及び装置を提供することにある。
【0005】
本発明の別の技術的課題は、複雑度を減少させ、符号化/復号効率を向上させることができる映像復号方法及び装置を提供することにある。
【0006】
本発明のまた別の技術的課題は、複雑度を減少させ、符号化/復号効率を向上させることができるインタ予測方法及び装置を提供することにある。
【0007】
本発明の更に別の技術的課題は、複雑度を減少させ、符号化/復号効率を向上させることができるマージ候補リスト生成方法及び装置を提供することにある。
【課題を解決するための手段】
【0008】
本発明の一実施形態はインタ予測方法である。この方法は、現予測ユニット(current Prediction Unit、current PU)に対応する予測対象ブロックのマージ候補リストを生成するステップと、マージ候補リストを構成する複数のマージ候補のうち一つに基づいて、予測対象ブロックの動き情報を導出するステップと、導出された動き情報に基づいて予測対象ブロックに対して予測を行うことによって、現予測ユニットに対応する予測ブロックを生成するステップとを含み、現予測ユニットはマージ候補共有単位に属する予測ユニットであり、マージ候補リスト生成ステップにおいては、複数の第1マージ候補から構成された第1マージ候補リスト及び複数の第2マージ候補から構成された第2マージ候補リストのうち一つを選択的に生成し、複数の第1マージ候補は、予測対象ブロックの位置及び大きさに基づいて決定された複数の第1ブロックの動き情報であり、複数の第2マージ候補は、マージ候補共有単位に対応するブロックの位置及び大きさに基づいて決定された複数の第2ブロックの動き情報である。
【0009】
マージ候補リスト生成ステップにおいて、第1マージ候補リストが生成されるか、又は第2マージ候補リストが生成されるかは、マージ候補共有単位で決定され、第2マージ候補リストが生成されると決定された場合、マージ候補共有単位内のすべての予測ユニットは第2マージ候補リストを共有する。
【0010】
マージ候補共有単位は、現予測ユニットが属する現符号化ユニット(current Coding Unit、current CU)であり、複数の第2マージ候補は、現符号化ユニットに対応する復号対象ブロックの位置及び大きさに基づいて決定された複数の第2ブロックの動き情報である。
【0011】
複数の第1ブロックは、予測対象ブロックの外部の左下隅に最も近く位置するブロックと、予測対象ブロックの左側に隣接するブロックのうち最も下端に位置するブロックと、予測対象ブロック外部の左上隅に最も近く位置するブロックと、予測対象ブロックの上端に隣接するブロックのうち最も右側に位置するブロックと、予測対象ブロックの右上隅に最も近く位置するブロックとを含み、複数の第2ブロックは、復号対象ブロックの外部の左下隅に最も近く位置するブロックと、復号対象ブロックの左側に隣接するブロックのうち最も下端に位置するブロックと、復号対象ブロックの外部の左上隅に最も近く位置するブロックと、復号対象ブロックの上端に隣接するブロックのうち最も右側に位置するブロックと、復号対象ブロックの右上隅に最も近く位置するブロックとを含む。
【0012】
マージ候補リスト生成ステップにおいて、第1マージ候補リストが生成されると決定された場合、複数の第1ブロックのうち復号対象ブロック内に位置するブロックの動き情報は、第1マージ候補として使用されない。
【0013】
マージ候補リスト生成ステップにおいて、第1マージ候補リストが生成されると決定され、現予測ユニットの分割モードが2N×N、2N×nU又は2N×nDであり、現予測ユニットが現符号化ユニット内の下端に位置する予測ユニットの場合、予測対象ブロックの上端に隣接するブロックのうち最も右側に位置するブロックの動き情報は、第1マージ候補として使用されない。
【0014】
マージ候補リスト生成ステップにおいて、第1マージ候補リストが生成されると決定され、現予測ユニットの分割モードがN×2N、nL×2N又はnR×2Nであり、現予測ユニットが現符号化ユニット内の右側に位置する予測ユニットの場合、予測対象ブロックの左側に隣接するブロックのうち最も下端に位置するブロックの動き情報は、第1マージ候補として使用されない。
【0015】
マージ候補リスト生成ステップ及び動き情報導出ステップは、現予測ユニットが属する並列処理単位内のすべての予測ユニットに対して並列に行われ、並列処理単位は、並列処理単位の大きさを指示する並列処理レベルに基づいて決定され、並列処理レベルに関する情報は、ピクチャパラメータセット(PPS)に含められて符号化器から復号器に伝送される。
【0016】
マージ候補リスト生成ステップにおいて、第1マージ候補リストが生成されるか、又は第2マージ候補リストが生成されるかは、復号対象ブロックの大きさ及び並列処理レベルに基づいて決定される。
【0017】
マージ候補リスト生成ステップにおいては、復号対象ブロックの大きさが8×8であり、並列処理単位の大きさが4×4より大きい場合に、第2マージ候補リストを生成する。
【0018】
本発明の別の実施形態は映像復号方法である。この方法は、現予測ユニットに対応する予測対象ブロックのマージ候補リストを生成するステップと、マージ候補リストを構成する複数のマージ候補のうち一つに基づいて、予測対象ブロックの動き情報を導出するステップと、導出された動き情報に基づいて予測対象ブロックに対して予測を行うことによって、現予測ユニットに対応する予測ブロックを生成するステップと、生成された予測ブロックに基づいて復元ブロックを生成するステップとを含み、現予測ユニットはマージ候補共有単位に属する予測ユニットであり、マージ候補リスト生成ステップにおいては、複数の第1マージ候補から構成された第1マージ候補リスト、及び複数の第2マージ候補から構成された第2マージ候補リストのうち一つを選択的に生成し、複数の第1マージ候補は、予測対象ブロックの位置及び大きさに基づいて決定された複数の第1ブロックの動き情報であり、複数の第2マージ候補は、マージ候補共有単位に対応するブロックの位置及び大きさに基づいて決定された複数の第2ブロックの動き情報である。
【0019】
マージ候補リスト生成ステップにおいて、第1マージ候補リストが生成されるか、又は第2マージ候補リストが生成されるかは、マージ候補共有単位で決定され、第2マージ候補リストが生成されると決定された場合、マージ候補共有単位内のすべての予測ユニットは第2マージ候補リストを共有する。
【0020】
マージ候補共有単位は、現予測ユニットが属する現符号化ユニットであり、複数の第2マージ候補は、現符号化ユニットに対応する復号対象ブロックの位置及び大きさに基づいて決定された複数の第2ブロックの動き情報である。
【0021】
複数の第1ブロックは、予測対象ブロック外部の左下隅に最も近く位置するブロックと、予測対象ブロックの左側に隣接するブロックのうち最も下端に位置するブロックと、予測対象ブロック外部の左上隅に最も近く位置するブロックと、予測対象ブロックの上端に隣接するブロックのうち最も右側に位置するブロックと、予測対象ブロックの右上隅に最も近く位置するブロックとを含み、複数の第2ブロックは、復号対象ブロックの外部の左下隅に最も近く位置するブロックと、復号対象ブロックの左側に隣接するブロックのうち最も下端に位置するブロックと、復号対象ブロックの外部の左上隅に最も近く位置するブロックと、復号対象ブロックの上端に隣接するブロックのうち最も右側に位置するブロックと、復号対象ブロックの右上隅に最も近く位置するブロックとを含む。
【0022】
マージ候補リスト生成ステップにおいて、第1マージ候補リストが生成されると決定された場合、複数の第1ブロックのうち復号対象ブロック内に位置するブロックの動き情報は、第1マージ候補として使用されない。
【0023】
マージ候補リスト生成ステップにおいて、第1マージ候補リストが生成されると決定され、現予測ユニットの分割モードが2N×N、2N×nU又は2N×nDであり、現予測ユニットが現符号化ユニット内の下端に位置する予測ユニットの場合、予測対象ブロックの上端に隣接するブロックのうち最も右側に位置するブロックの動き情報は、第1マージ候補として使用されない。
【0024】
マージ候補リスト生成ステップにおいて、第1マージ候補リストが生成されると決定され、現予測ユニットの分割モードがN×2N、nL×2N又はnR×2Nであり、現予測ユニットが現符号化ユニット内の右側に位置する予測ユニットの場合、予測対象ブロックの左側に隣接するブロックのうち最も下端に位置するブロックの動き情報は、第1マージ候補として使用されない。
【0025】
マージ候補リスト生成ステップ及び動き情報導出ステップは、現予測ユニットが属する並列処理単位内のすべての予測ユニットに対して並列に行われ、並列処理単位は、並列処理単位の大きさを指示する並列処理レベルに基づいて決定され、並列処理レベルに関する情報は、PPSに含められて符号化器から復号器に伝送される。
【0026】
マージ候補リスト生成ステップにおいて、第1マージ候補リストが生成されるか又は第2マージ候補リストが生成されるかは、復号対象ブロックの大きさ及び並列処理レベルに基づいて決定される。
【0027】
マージ候補リスト生成ステップにおいては、復号対象ブロックの大きさが8×8であり、並列処理単位の大きさが4×4より大きい場合に、第2マージ候補リストを生成する。
【発明の効果】
【0028】
本発明に係る映像符号化方法によれば、複雑度が減少され、符号化/復号効率を向上させることができる。
【0029】
本発明に係る映像復号方法によれば、複雑度が減少され、符号化/復号効率を向上させることができる。
【0030】
本発明に係るインタ予測方法によれば、複雑度が減少され、符号化/復号効率を向上させることができる。
【0031】
本発明に係るマージ候補リスト生成方法によれば、複雑度が減少され、符号化/復号効率を向上させることができる。
【図面の簡単な説明】
【0032】
図1】本発明の一実施例に係る映像符号化装置を概略示すブロック図である。
図2】本発明の一実施例に係る予測部を概略示す概念図である。
図3】本発明の一実施例に係る映像復号装置を概略示すブロック図である。
図4】本発明の一実施例に係る映像復号装置の予測部を概略示す概念図である。
図5】本発明が適用されるシステムで処理ユニットの4分木構造に関する一例を概略示す概念図である。
図6】マージモードにおけるインタ予測方法の一実施例を概略示すフローチャートである。
図7】マージ候補リストの生成に使用されるマージ候補の実施例を概略示す図である。
図8】マージモード及びスキップモードにおける並列処理単位の一実施例を概略示す図である。
図9】マージモードにおいて並列動き予測の実行時に発生する問題点を概略説明するための図である。
図10】並列動き予測を可能にするためのマージ候補導出方法の一実施例を概略示す図である。
図11】並列動き予測を可能にするためのマージ候補導出方法の別の実施例を概略示す図である。
図12】並列動き予測を可能にするためのマージ候補導出方法のまた別の実施例を概略示す図である。
図13】マージ候補共有単位内の予測ユニットに対する共通マージ候補導出方法の一実施例を概略示す図である。
図14】マージ候補共有単位内の予測ユニットに対する共通マージ候補導出方法の別の実施例を概略示す図である。
図15】MERマージ候補導出方法の実施例を概略示す図である。
図16】MERマージ候補導出方法の別の実施例を概略示す図である。
図17】MERマージ候補導出方法のまた別の実施例を概略示す図である。
図18】MERマージ候補導出方法のまた別の実施例を概略示す図である。
図19】MERマージ候補導出方法のまた別の実施例を概略示す図である。
図20】MERマージ候補導出方法のまた別の実施例を概略示す図である。
図21】MERマージ候補導出方法のまた別の実施例を概略示す図である。
図22】MERマージ候補導出方法のまた別の実施例を概略示す図である。
図23】MERマージ候補導出方法のまた別の実施例を概略示す図である。
図24】MERマージ候補導出方法のまた別の実施例を概略示す図である。
【発明を実施するための形態】
【0033】
本発明は多様な変更を加えることができ、様々な実施例を有することができるが、特定の実施例を図面に例示して詳細に説明する。しかし、これは本発明を特定の実施形態に対して限定しようとするものではない。本明細書において使用する用語は、単に特定の実施例を説明するために使用されたものであって、本発明の技術的思想を限定しようとする意図で使用されるものではない。単数の表現は、文脈上、明らかに異なる意味でない限り、複数の表現を含む。本明細書において「含む」又は「有する」などの用語は、明細書上に記載された特徴、番号、ステップ、動作、構成要素、部品又はこれらの組合せが存在することを指定しようとするものであって、一つ又はそれ以上の他の特徴又は番号、ステップ、動作、構成要素、部品又はこれらの組合せ等の存在又は付加の可能性を予め排除しないものと理解しなければならない。
【0034】
一方、本発明で説明される図面上の各構成は、映像符号化/復号装置における別個の特徴的な機能に関する説明の便宜のために独立して示されたものであって、各構成が互いに別個のハードウェア又は別個のソフトウェアで実現されるということを意味するものではない。例えば、各構成のうち二つ以上の構成が結合されて一つの構成をなすこともでき、一つの構成を複数の構成に分けることもできる。各構成が統合及び/又は分離された実施例も本発明の本質から外れない限り、本発明の権利範囲に含まれる。
【0035】
また、一部の構成要素は本発明で本質的な機能を果たす必須の構成要素ではなく、単に性能向上のための選択的な構成要素であってもよい。本発明は、単に性能向上のために使用される構成要素を除く、本発明の本質を実現するために必須の構成部だけを含んで実現することができ、単に性能向上のために使用される選択的な構成要素を除く必須の構成要素だけを含む構造も、本発明の権利範囲に含まれる。
【0036】
以下、添付の図面を参照して、本発明の好ましい実施例をより詳細に説明する。以下、図面上の同一の構成要素に対しては同一の参照符号を使用し、同一の構成要素に対して重複する説明は省略する。
【0037】
図1は、本発明の一実施例に係る映像符号化装置を概略示すブロック図である。
【0038】
図1を参照すれば、映像符号化装置100は、ピクチャ分割部105、予測部110、変換部115、量子化部120、再整列部125、エントロピ符号化部130、逆量子化部135、逆変換部140、フィルタ部145及びメモリ150を含む。
【0039】
ピクチャ分割部105は、入力されたピクチャを少なくとも一つの処理単位に分割することができる、このとき、処理単位は、予測ユニット(PU)であってもよいし、変換ユニット(TU)であってもよいし、符号化ユニット(CU)であってもよい。
【0040】
予測部110は後述するように、インタ予測を行うインタ予測部と、イントラ予測を行うイントラ予測部とを含むことができる。予測部110は、ピクチャ分割部105におけるピクチャの処理単位に対して予測を行って予測ブロックを生成することができる。予測部110におけるピクチャの処理単位は符号化ユニットであってもよいし、変換ユニットであってもよいし、予測ユニットであってもよい。また、該当処理単位に対して実施される予測がインタ予測であるかイントラ予測であるかを決定して、各予測方法の具体的な内容(例えば、予測モードなど)を決定することができる。このとき、 予測が行われる処理単位と、予測方法及び具体的な内容が決定される処理単位とは異なっていてもよい。例えば、予測の方法及び予測モードなどは予測ユニット単位で決定され、予測の実行は変換ユニット単位で実行することもできる。生成された予測ブロックと原ブロックとの間の残差値(残差ブロック)を変換部115に入力することができる。また、予測のために使用した予測モード情報、動きベクトル情報などは、残差値と共にエントロピ符号化部130で符号化して復号器に伝達することができる。
【0041】
変換部115は、変換単位で残差ブロックに対する変換を行って変換係数を生成する。変換部115での変換単位は、変換ユニットであり、4分木(quad tree)構造を持つことができる。このとき、変換単位の大きさは所定の最大及び最小の大きさの範囲内で決定することができる。変換部115は、残差ブロックを離散コサイン変換(DCT)及び/又は離散サイン変換(DST)を用いて変換することができる。
【0042】
量子化部120は、変換部115で変換された残差値を量子化して量子化係数を生成することができる。量子化部120で算出された値は、逆量子化部135及び再整列部125に提供される。
【0043】
再整列部125は、量子化部120から提供された量子化係数を再整列することができる。量子化係数を再整列することによってエントロピ符号化部130での符号化の効率を高めることができる。再整列部125は、係数走査(Coefficient Scanning)法を通じて2次元ブロック形態の量子化係数を1次元のベクトル形態に再整列することができる。再整列部125では、量子化部に伝送された係数の確率的な統計に基づいて係数走査の順序を変更することによって、エントロピ符号化部130でのエントロピ符号化の効率を高めることもできる。
【0044】
エントロピ符号化部130は、再整列部125によって再整列された量子化係数に対するエントロピ符号化を行うことができる。エントロピ符号化部130は、再整列部125及び予測部110から伝達された符号化ユニットの量子化係数情報及びブロックタイプ情報、予測モード情報、分割単位情報、予測ユニット情報及び伝送単位情報、動きベクトル情報、参照ピクチャ情報、ブロック補間情報、フィルタ情報、など多様な情報を符号化することができる。
【0045】
エントロピ符号化には指数ゴロム、コンテキスト適応型可変長符号化(CAVLC)及び/又はコンテキスト適応型2値算術符号化(CABAC)などのような符号化方法を使用することができる。例えば、エントロピ符号化部130には、可変長符号化(以下、「VLC」という。)テーブルのようなエントロピ符号化を行うためのテーブルを記憶することができ、エントロピ符号化部130は記憶されたVLCテーブルを用いてエントロピ符号化を行うことができる。また別の例として、CABACエントロピ符号化方法において、エントロピ符号化部130はシンボルを2進化してビン(bin)に変換した後、ビンの発生確率に応じてビンに対する算術符号化を行って、ビットストリームを生成することもできる。
【0046】
エントロピ符号化が適用される場合、高い発生確率を持つシンボルに低い値のインデクス及びこれに対応する短い符号語が割り当てられ、低い発生確率を持つシンボルに高い値のインデクス及びこれに対応する長い符号語が割り当てられる。したがって、符号化対象シンボルに対するビット量を減少させることができ、エントロピ符号化によって映像圧縮性能を向上させることができる。
【0047】
逆量子化部135は、量子化部120で量子化された値を逆量子化し、逆変換部140は、逆量子化部135で逆量子化された値を逆変換することができる。逆量子化部135及び逆変換部140で生成された残差値(Residual)を、予測部110で予測された予測ブロックと組み合わせて、復元ブロック(Reconstructed Block)を生成することができる。
【0048】
フィルタ部145は、復元されたブロック及び/又はピクチャにループ内フィルタを適用することができる。ループ内フィルタは、ブロック除去フィルタ(deblocking filter)、サンプル適応オフセット(Sample Adaptive Offset、SAO)及び/又は適応型ループフィルタ(ALF)などを含むことができる。
【0049】
ブロック除去フィルタは、復元されたピクチャにおいてブロック間の境界に生じたブロック歪を除去することができる。SAOは符号化誤差を補償するためにピクセル値に適正なオフセット値を加えることができる。ALFは、ブロック除去フィルタを通じてブロックが除去された後、復元された映像と本来の映像とを比較した値に基づいてフィルタ操作を行うことができる。
【0050】
一方、イントラ予測に使用される復元ブロックに対しては、フィルタ部145はフィルタ操作を適用しなくてもよい。
【0051】
メモリ150は、フィルタ部145を通じて算出された復元ブロック又はピクチャを記憶することができる。メモリ150に記憶された復元ブロック又はピクチャは、インタ予測を行う予測部110に提供することができる。
【0052】
図2は、本発明の一実施例に係る予測部を概略示す概念図である。
【0053】
図2を参照すれば、予測部200は、インタ予測部210及びイントラ予測部220を含むことができる。
【0054】
インタ予測部210は、現ピクチャの以前ピクチャ又は以後ピクチャのうち少なくとも一つのピクチャの情報に基づいて予測を行って予測ブロックを生成することができる。また、イントラ予測部220は、現ピクチャ内のピクセル情報に基づいて予測を行って予測ブロックを生成することができる。
【0055】
インタ予測部210は、予測ユニットに対して、参照ピクチャを選択して、予測ユニットと同一の大きさの参照ブロックを整数ピクセルサンプル単位で選択することができる。次に、インタ予測部210は、1/2ピクセルサンプル単位及び1/4ピクセルサンプル単位のように整数以下のサンプル単位で、現予測ユニットと最も類似し、残差信号が最小化され、符号化される動きベクトルの大きさも最小になり得る予測ブロックを生成することができる。このとき、動きベクトルは整数ピクセル以下の単位で表現することができる。
【0056】
インタ予測部210が選択した参照ピクチャのインデクス及び動きベクトルに関する情報は、符号化して復号器に伝達することができる。
【0057】
図3は、本発明の一実施例に係る映像復号装置を概略示すブロック図である。
【0058】
図3を参照すれば、映像復号器300は、エントロピ復号部310、再整列部315、逆量子化部320、逆変換部325、予測部330、フィルタ部335及びメモリ340を含むことができる。
【0059】
映像復号器に映像ビットストリームが入力されたとき、入力されたビットストリームは、映像符号化器によって映像情報が処理された手順に従って復号することができる。
【0060】
エントロピ復号部310は、入力されたビットストリームに対してエントロピ復号を行うことができ、エントロピ復号方法は上述したエントロピ符号化方法と類似する。エントロピ復号が適用される場合、高い発生確率を持つシンボルに低い値のインデクス及びこれに対応する短い符号語が割り当てられ、低い発生確率を持つシンボルに高い値のインデクス及びこれに対応する長い符号語が割り当てられる。したがって、符号化対象のシンボルに対するビット量が減少され、エントロピ符号化によって映像圧縮性能を向上させることができる。
【0061】
エントロピ復号部310で復号された情報のうち予測ブロックを生成するための情報は、予測部330に提供され、エントロピ復号部でエントロピ復号が行われた残差値は再整列部315に入力される。
【0062】
再整列部315は、エントロピ復号部310でエントロピ復号されたビットストリームを、映像符号化器によって再整列された方法に基づいて再整列することができる。再整列部315は、1次元ベクトル形態で表現された係数を更に2次元のブロック形態の係数に復元して再整列することができる。再整列部315は、符号化器で行われた係数走査に係る情報を、当該符号化部で行われた走査順序に基づいて逆に走査する方法によって再整列することができる。
【0063】
逆量子化部320は、符号化器から供給された量子化パラメータ及び再整列されたブロックの係数値に基づいて逆量子化を行うことができる。
【0064】
逆変換部325は、映像符号化器で行われた量子化結果に対して符号化器の変換部が行ったDCT及びDSTに対して、逆DCT及び/又は逆DSTを行うことができる。逆変換は、符号化器で決定された伝送単位又は映像の分割単位に基づいて行うことができる。符号化器の変換部におけるDCT及び/又はDSTは、予測方法、現ブロックの大きさ及び/又は予測方向など複数の情報によって選択的に行うことができ、復号器の逆変換部325は、符号化器の変換部で行われた変換情報に基づいて逆変換を行うことができる。
【0065】
予測部330は、エントロピ復号部310から提供された予測ブロック生成関連情報と、メモリ340から提供された以前に復号されたブロック及び/又はピクチャ情報とに基づいて予測ブロックを生成することができる。復元ブロックは、予測部330で生成された予測ブロック及び逆変換部325から提供された残差ブロックを用いて生成することができる。
【0066】
復元されたブロック及び/又はピクチャはフィルタ部335に提供することができる。フィルタ部335は、復元されたブロック及び/又はピクチャにループ内フィルタを適用することができる。ループ内フィルタは、ブロック除去フィルタ、SAO及び/又はALFなどを含むことができる。
【0067】
メモリ340は、復元されたピクチャ又はブロックを記憶して参照ピクチャ又は参照ブロックとして使用できるようにし、また復元されたピクチャを出力部に提供することができる。
【0068】
図4は、本発明の一実施例に係る映像復号装置の予測部を概略示す概念図である。
【0069】
図4を参照すれば、予測部400は、イントラ予測部420及びインタ予測部410を含むことができる。
【0070】
イントラ予測部420は、該当予測ユニットに対する予測モードがイントラ予測モード(画面内予測モード)の場合に、現ピクチャ内のピクセル情報に基づいて予測ブロックを生成することができる。
【0071】
インタ予測部410は、該当予測ユニットに対する予測モードがインタ予測モード(画面間予測モード)の場合に、映像符号化器から提供された現予測ユニットのインタ予測に必要な情報、例えば、動きベクトル、参照ピクチャインデクスなどに関する情報を用いて、現予測ユニットが含まれる現ピクチャの前のピクチャ又は後のピクチャのうち少なくとも一つのピクチャに含まれた情報に基づいて、現予測ユニットに対するインタ予測を行うことができる。
【0072】
このとき、符号化器から受信される符号化ユニットのスキップフラグ、マージフラグなどが確認されたとき、これらによって動き情報を導出することができる。
【0073】
以下、発明の構成又は表現に従って「映像」又は「画面」が「ピクチャ」と同じ意味を表す場合、「ピクチャ」は「映像」又は「画面」と呼ぶことがある。また、インタ予測と画面間予測とは同一の意味を有し、イントラ予測と画面内予測とは同一の意味を有する。
【0074】
図5は、本発明が適用されるシステムにおける処理ユニットの4分木構造に関する一例を概略示す概念図である。
【0075】
符号化ユニット(CU)はピクチャの符号化/復号が行われる単位を意味する。符号化対象のピクチャ内の一つの符号化ブロックは4分木構造に基づく深さ(Depth)を有し、繰り返し分割することができる。このとき、それ以上分割されない符号化ブロックは符号化ユニットに該当し、符号化器は当該符号化ユニットに対する符号化処理を行うことができる。符号化ユニットは、64×64、32×32、16×16、8×8などの複数の大きさを持つことができる。
【0076】
ここで、4分木構造に基づいて繰り返し分割される符号化ブロックは、符号化木ブロック(Coding Tree Block、CTB)と呼ぶことができる。一つの符号化木ブロックは更に分割されないことがあり、この場合、符号化木ブロック自体が一つの符号化ユニットに該当する。よって、符号化木ブロックは最大の大きさの符号化ユニットである最大符号化ユニット(Largest Coding Unit、LCU)に対応することがある。一方、符号化木ブロック内で最も小さな大きさを持つ符号化ユニットは最小符号化ユニット(Smallest Coding Unit、SCU)と呼ばれることがある。
【0077】
図5を参照すれば、符号化木ブロック500は分割を通じて更に小さい符号化ユニット510からなる階層的構造を有することができ、符号化木ブロック500の階層的構造は、大きさ情報、深さ情報、分割フラグ情報などに基づいて特定することができる。符号化木ブロックの大きさに係る情報、分割深さ情報及び分割フラグ情報などは、ビットストリーム上のシーケンスパラメータセット(SPS)に含めて符号化器から復号器に伝送することができる。
【0078】
一方、インタ予測とイントラ予測のうちいずれの予測が行われるかは、符号化ユニット単位で決定することができる。インタ予測が行われる場合には予測ユニット単位でインタ予測モード及び動き情報などを決定することができ、イントラ予測が行われる場合には予測ユニット単位でイントラ予測モードを決定することができる。このとき、上述したように予測が行われる処理単位と、予測方法及び具体的な内容が決定される処理単位とは同一であってもよいし、互いに異なっていてもよい。例えば、予測の方法及び予測モードなどは予測ユニット単位で決定され、予測の実行は変換ユニット単位で行うこともできる。
【0079】
図5を参照すれば、一つの符号化ユニット510は、一つの予測ユニットとして使用してもよいし、複数の予測ユニットに分割してもよい。イントラ予測520の場合、符号化ユニット(及び/又は予測ユニット)の分割モード(partitioning mode)は2N×2N又はN×N(Nは整数)である。ここで、2N×2Nモードにおいては、予測ユニットは2N×2Nの大きさを持つことができ、N×Nモードにおいては、予測ユニットはN×Nの大きさを持つことができる。インタ予測530の場合に、符号化ユニット(及び/又は予測ユニット)の分割モードは2N×2N、2N×N、N×2N、N×N、2N×nU、2N×nD、nL×2N又はnR×2N(Nは整数)である。ここで、2N×Nモードにおいては、予測ユニットは2N×Nの大きさを持つことができ、N×2Nモードにおいては、予測ユニットはN×2Nの大きさを持つことができる。また、2N×nUモードにおいては、一つの符号化ユニットは2N×(1/2)Nの大きさの予測ユニット及び2N×(3/2)Nの大きさの予測ユニットに分割することができ、このとき、2N×(1/2)Nの大きさの予測ユニットは2N×(3/2)Nの大きさの予測ユニットの上端に位置することができる。2N×nDモードにおいては、一つの符号化ユニットは、2N×(3/2)Nの大きさの予測ユニット及び2N×(1/2)Nの大きさの予測ユニットに分割することができ、このとき、2N×(1/2)Nの大きさの予測ユニットは2N×(3/2)Nの大きさの予測ユニットの下端に位置することができる。また、nL×2Nモードにおいては、一つの符号化ユニットは、(1/2)N×2Nの大きさの予測ユニット及び(3/2)N×2Nの大きさの予測ユニットに分割することができ、このとき、(1/2)N×2Nの大きさの予測ユニットは(3/2)N×2Nの大きさの予測ユニットの左側に位置することができる。nR×2Nモードにおいては、一つの符号化ユニットは、(3/2)N×2Nの大きさの予測ユニット及び(1/2)N×2Nの大きさの予測ユニットに分割することができ、このとき、(1/2)N×2Nの大きさの予測ユニットは(3/2)N×2Nの大きさの予測ユニットの右側に位置することができる。
【0080】
上述した分割モードは一つの実施例に該当し、符号化ユニットが予測ユニットに分割される方式は実施例に限定されない。例えば、インタ予測530の場合、符号化ユニット(及び/又は予測ユニット)の分割モードは2N×2N、2N×N、N×2N、N×Nの四つだけが使用されてもよいし、上述した8つの分割モード以外の他の分割モードが更に使用されてもよい。
【0081】
現符号化ユニット(及び/又は予測ユニット)に適用される分割モードは符号化器によって決定することができる。符号化器によって決定された分割モードに関する情報は、符号化して復号器に伝送することができ、復号器は、伝送された分割モード情報に基づいて現符号化ユニット(及び/又は予測ユニット)の分割モードを決定することができる。一例として、分割モード情報はpart_mode構文を通じて復号器に伝送することができる。
【0082】
一方、図5の520及び530に示される各予測ユニットに割り当てられた番号は、予測ユニットの分割インデクスを示す。ここで、分割インデクスとは、現予測ユニットが現符号化ユニットに属する予測ユニットのうちいずれの予測ユニットに該当するかを指示するインデクスを意味する。分割インデクスは、一例としてpartIdx で表される。
【0083】
図5を参照すれば、一例として、図5の520のN×N分割モードにおいては符号化ユニット内の右上に位置する予測ユニットの分割インデクスは1に該当する。よって、現予測ユニットの分割インデクスに1が割り当てられた場合、分割インデクスの値は現予測ユニットが現符号化ユニット内の右上に位置する予測ユニットであることを示す。他の例として、図5の530の2N×nU分割モードにおいては符号化ユニット内の左側に位置する予測ユニットの分割インデクスは0に該当する。よって、現予測ユニットの分割インデクスに0が割り当てられた場合、分割インデクスの値は、現予測ユニットが現符号化ユニット内の左側に位置する予測ユニットであることを示す。
【0084】
図5に示された各分割モードにおける分割インデクス割当方法は一つの実施例に過ぎず、分割インデクスの割当有無及び割当方法は上述した実施例と異なってもよい。一例として、図5の530の2N×nU分割モードにおいては、符号化ユニット内の左側に位置する予測ユニットの分割インデクスが1に該当することもできる。他の例として、2N×2N分割モードにおいては、符号化ユニットが複数の予測ユニットに分割されないため、予測ユニットに分割インデクスが割り当てられないこともある。以下、本明細書の後述する実施例では、説明の便宜上、符号化時及び復号時に図5に示された分割モード及び分割インデクスが適用されると仮定する。
【0085】
以下、本明細書において、現ブロックとは、現在符号化、復号及び/又は予測処理が行われているブロックであって、符号化、復号及び/又は予測処理が行われるときの処理単位に対応するブロックを意味する。一例として、現ブロックに対して予測処理が行われる場合、現ブロックは現予測ユニットに対応する予測対象ブロックに該当する。そして、本明細書では、予測によって生成されたブロックは予測ブロックと呼ぶ。
【0086】
「ユニット」とは、符号化及び復号などが行われる際の処理単位を意味するため、ピクセル及び/又はサンプルの組合せを示す「ブロック」と区別されることもあるが、本明細書では説明の便宜上、「ユニット」が場合によって「ユニット」に対応する「ブロック」を指すこともある。一例として、以下、本明細書では、一つの予測ユニットに対応する予測対象ブロックを予測ユニットと呼ぶこともあるし、一つの符号化ユニットに対応する符号化/復号対象ブロックを符号化ユニットと呼ぶこともある。このような区別は当該技術分野における通常の知識を有する者であれば明確に理解できるであろう。
【0087】
一方、現ブロックに対してインタ予測が行われる場合、予測による伝送情報量を減少させるために、高度動きベクトル予測(Advanced Motion Vector Prediction、AMVP)、マージモード及び/又はスキップモードなどの予測モードが用いられる。
【0088】
マージモードにおいては、現ブロックは、現ピクチャ及び/又は参照ピクチャ内の他のブロック(例えば、周辺ブロック。ここで、周辺ブロックは、現ブロックに隣接するブロック及び/又は現ブロックの外部隅に最も近く位置するブロックを含む)にマージすることができる。このとき、マージするとは、現ブロックのインタ予測において、動き情報を現ピクチャ及び/又は参照ピクチャ内の他のブロックの動き情報から得ることを言う。
【0089】
現ブロックのマージ関連情報には、現ブロックに対する予測モードがマージモードであるか否かを示す情報、現ブロックがマージ候補リストに含まれたマージ候補のうちいずれのマージ候補にマージされるかを示す情報、などがある。以下、現ブロックに対する予測モードがマージモードであるか否かを示す情報はマージフラグと言い、現ブロックがマージ候補リストに含まれたマージ候補のうちいずれのマージ候補にマージされるかを示す情報はマージインデクスと言う。例えば、マージフラグはmerge_flagによって表され、マージインデクスはmerge_idxによって表される。このとき、マージインデクスは、マージフラグが現ブロックに対する予測モードがマージモードである旨を指示する場合(例えば、merge_flag=1)にだけ取得されるようにすることもできる。
【0090】
スキップモードは、予測ブロックと現ブロックとの差である残差信号の伝送が省略される予測モードである。スキップモードにおいては、予測ブロックと現ブロックとの残差信号の値が0である。よって、スキップモードにおいては、符号化器は復号器に残差信号を伝送せず、復号器は残差信号と動き情報のうち動き情報だけを用いて予測ブロックを生成することができる。スキップモードにおいては、符号化器は動き情報を復号器に伝送することができる。このとき、動き情報は、現ブロックの周辺ブロックのうちいずれか一つのブロックを指定して、当該ブロックの動き情報を現ブロックに用いるようにする方式によって伝送することもできる。
【0091】
上述したスキップモードにおいては、現ブロックの動き情報を取得するために、マージモードにおいて使用される方法と同一の方法を使用することができる。このとき、スキップモード及びマージモードにおいては、同一の周辺ブロックを動き情報の導出のための候補ブロックとして使用することができる。例えば、スキップモードにおいても、マージ候補リストに含まれたマージ候補のうちマージインデクスによって指示されたマージ候補ブロックの動き情報を、そのまま現ブロックの動き情報として使用することができる。このような場合のスキップモードはマージスキップモードとも呼ばれる。以下、本明細書においてスキップモードは、上述したマージスキップモードを意味する。マージモードにおけるインタ予測方法の具体的な実施例は、図6に関連して後述する。
【0092】
図6は、マージモードにおけるインタ予測方法の一実施例を概略示すフローチャートである。
【0093】
図6の実施例は符号化器及び復号器に適用することができ、以下、図6の実施例は便宜上、復号器を中心に説明される。
【0094】
図6を参照すれば、復号器は複数のマージ候補から構成されたマージ候補リストを生成することができる(S610)。復号器は所定のプロセスを通じて複数のマージ候補を導出することができ、導出されたマージ候補に基づいてマージ候補リストを生成することができる。このとき、現ピクチャ内のブロック及び/又は現ピクチャではない参照ピクチャ内の同一位置ブロック(col block)などに含まれた動き情報をマージ候補として使用するか、及び/又はマージ候補の導出のために使用することができる。以下、本明細書では説明の便宜上、マージ候補として使用される動き情報を含むブロックは「マージ候補ブロック」と言う。マージ候補リストの生成のために使用されるマージ候補の実施例は後述することにする。
【0095】
さらに図6を参照すれば、復号器は、生成されたマージ候補リストに基づいて現ブロックの動き情報を導出することができる(S620)。
【0096】
具体的には、復号器は、マージ候補リストを構成するマージ候補のうち現ブロックの動き情報の導出に使用されるマージ候補を選択することができる。一実施例として、復号器は、符号化器から伝送されたマージインデクスが指示するマージ候補を、現ブロックの動き情報の導出に使用されるマージ候補として選択することができる。このとき、復号器は、選択されたマージ候補に基づいて現ブロックの動き情報を導出することができる。例えば、復号器は、選択されたマージ候補の動き情報をそのまま現ブロックの動き情報として使用することができる。
【0097】
現ブロックの動き情報が導出されれば、符号化器は導出された動き情報に基づいて現ブロックに対する予測ブロックを生成することができる(S630)。
【0098】
図7は、マージ候補リストの生成に使用されるマージ候補の実施例を概略示す図である。
【0099】
上述したようにマージモードが適用される場合、マージ候補リストに含まれたマージ候補のうちいずれか一つの動き情報に基づいて、現ブロックの動き情報を導出することができる。例えば、マージ候補リストに含まれたマージ候補のうちいずれか一つの動き情報を現ブロックの動き情報として使用することができる。このとき、動き情報と共に残差信号が伝送されることもあるし、予測ブロックのピクセル値がそのまま現ブロックのピクセル値として使用される場合には、残差信号が伝送されないこともある。
【0100】
図7の710は、マージ候補リストの生成に使用されるマージ候補の一実施例を示す。図7の710を参照すれば、現ブロックの左側周辺ブロックA及び/又は現ブロックの上端周辺ブロックBがマージ候補ブロックとして用いられる。このとき、図示のように、現ブロックの左側周辺ブロックは現ブロックの左側に隣接するブロックのうち最も上端に位置するブロックであってもよいし、現ブロックの上端周辺ブロックは現ブロックの上端に隣接するブロックのうち最も左側に位置するブロックであってもよい。そして、左下隅ブロックC及び/又は右上隅ブロックDがマージ候補ブロックとして用いられる。上述した左側周辺ブロックA、上端周辺ブロックB、左下隅ブロックC及び右上隅ブロックDは、現ピクチャ内に位置する現ブロックの周辺ブロックに該当する。よって、マージ候補ブロックから導出されるマージ候補は空間的マージ候補と呼ぶことができる。また、別の観点では、空間的マージ候補は現ブロックの動きベクトルの予測に使用することができるため、空間的動きベクトル予測子(Spatial Motion Vector Predictor、SMVP)と呼ばれることもある。
【0101】
また、図7の710では同一位置ブロック(col)がマージ候補ブロックとして用いられる。同一位置ブロックは現ピクチャでない参照ピクチャ内のブロックに該当する。具体的には、符号化器及び復号器は、参照ピクチャ内の所定の位置及び/又は所定のプロセスによって決定された位置のブロックを同一位置ブロックとして選択することができる。ここで、同一位置ブロックの位置は、現ブロック及び/又は現ブロックと同一位置にある(co-located)参照ピクチャ内のブロック(以下、説明の便宜のために「同一位置ブロック」と言う)に基づいて導出することができる。上述した同一位置ブロックは参照ピクチャから導出されるブロックである。よって、同一位置ブロックから導出されるマージ候補は時間的マージ候補と呼ばれることがある。また、別の観点では、時間的マージ候補は現ブロックの動きベクトルの予測に使用することができるため、時間的動きベクトル予測子(Temporal Motion Vector Predictor、TMVP)と呼ばれることもある。
【0102】
図7の720は、マージ候補リストの生成に使用されるマージ候補の別の実施例を示す。図7の720を参照すれば、マージ候補リストには左下隅ブロックA0、右上隅ブロックB0及び/又は左上隅ブロックB2の動き情報がマージ候補として含まれる。また、マージ候補リストには現ブロックの左側周辺ブロックA1及び/又は現ブロックの上端周辺ブロックB1の動き情報がマージ候補として含まれる。このとき、左側周辺ブロックA1は現ブロックの左側に隣接するブロックのうち最も下端に位置するブロックであり、上端周辺ブロックB1は現ブロックの上端に隣接するブロックのうち最も右側に位置するブロックである。上述した左下隅ブロックA0、左側周辺ブロックA1、右上隅ブロックB0、上端周辺ブロックB1及び左上隅ブロックB2は、現ピクチャ内に位置する現ブロックの周辺ブロックに該当する。よって、マージ候補ブロックから導出されるマージ候補は空間的マージ候補と呼ばれることがある。また、別の観点では、空間的マージ候補は現ブロックの動きベクトルの予測に使用することができるため、空間的動きベクトル予測子(SMVP)と呼ばれることもある。
【0103】
また、図7の720では、図7の710と同様に同一位置ブロックの動き情報がマージ候補リストに含まれるマージ候補として用いられる。上述したように、同一位置ブロックは現ピクチャでない参照ピクチャ内のブロックに該当する。ここで、同一位置ブロックの位置は、現ブロック及び/又は同一位置ブロックに基づいて導出することができる。上述した同一位置ブロックは参照ピクチャから導出されるブロックである。よって、同一位置ブロックから導出されるマージ候補は時間的マージ候補と呼ばれることがある。また、別の観点では、時間的マージ候補は現ブロックの動きベクトルの予測に使用することができるため、時間的動きベクトル予測子(TMVP)と呼ばれることもある。
【0104】
本明細書においてマージ候補リストの生成に使用されるマージ候補は上述した実施例に限定されるものではなく、必要によってマージ候補は上述した実施例と異なる方式で導出することもできる。ただし、以下、本明細書では特に断らない場合、予測対象ブロック(及び/又は現ブロック)を基準に図7の720に示されたような位置のマージ候補がマージモードの予測のために使用されると仮定する。また、以下、本明細書でマージ/スキップ対象になる予測ユニットのマージ候補に関する内容が記述される場合、予測ユニットの外部の左下隅に最も近く位置するブロックはA0、予測ユニットの左側に隣接するブロックのうち最も下端に位置するブロックはA1、予測ユニットの外部の右上隅に最も近く位置するブロックはB0、予測ユニットの上端に隣接するブロックのうち最も右側に位置するブロックはB1、予測ユニットの外部の左上隅に最も近く位置するブロックはB2と表示する。
【0105】
図7の実施例を参照すれば、マージ候補リストを構成するマージ候補の選択方法は多様に拡張することができる。符号化器及び復号器は、上述した図7の実施例によってマージ候補を選択してマージ候補リストを構成することができる。このとき、符号化器及び復号器は、マージ候補が選択されたとき、冗長度を減らすために重複する候補を排除してマージ候補リストを構成することもできる。
【0106】
また、上述した図7の実施例において、マージ候補リストを構成するマージ候補の個数は所定の固定された個数に制限することができる。例えば、図7の720の実施例でマージ候補の個数が5個に制限され、マージ候補リストにマージ候補が{A1、B1、B0、A0、B2、col}の順序で追加及び/又は挿入されると仮定する。このとき、A1、B1、B0、A0、B2、colブロックがいずれも利用可能であるとき、A1、B1、B0、A0、colブロックの動き情報だけを、マージ候補リストに含まれるマージ候補として決定することができる。別の例として、 A1、B1、B0、A0、B2、colブロックのうち利用可能(available)なブロックの個数は5個未満であってもよい。この場合、符号化器及び復号器は利用可能なマージ候補に基づいて所定のプロセスを通じて新しいマージ候補を導出することによって、最終的に導出されるマージ候補の個数が5個になるようにすることができる。
【0107】
一方、一例として、マージモード及び/又はスキップモードにおけるインタ予測(inter prediction)の実行の際、符号化器及び復号器は、それぞれの予測ユニットに対して順に動き予測(ME)を行うことができる。しかし、別の例として、符号化/復号性能を向上するために、符号化器及び復号器は複数の予測ユニットに対して同時に動き予測を行うこともできる。すなわち、マージモード及び/又はスキップモードにおける動き予測は、複数の予測ユニットに対して並列に行うことができ、このような場合の動き予測は並列動き予測と呼ぶことができる。以下、本明細書で、並列動き予測が適用されるマージモードは並列マージモード及び/又は並列マージと予備、並列動き予測が適用されるスキップモードは並列スキップモード及び/又は並列スキップと呼ぶ。
【0108】
後述する実施例は説明の便宜上、並列マージモードを中心に述べられる。しかし、後述する実施例は並列マージモードに限定されるものではなく、並列スキップモードに対しても同一又は類似する方法で適用することができる。
【0109】
図8は、マージモード及びスキップモードにおいては並列処理単位の一実施例を概略示す図である。
【0110】
図8に示された全体ブロックは一つの符号化木ブロック(CTB)を示し、符号化木ブロックは最大符号化ユニット(LCU)に対応することができる。上述したように、符号化木ブロックは分割を通じて更に小さい符号化ユニットからなる階層的構造を有することができ、それぞれの符号化ユニットは一つの予測ユニットとして使用されるか、複数の予測ユニットに分割することができる。よって、図8の符号化木ブロックを構成する正方形ブロック及び矩形ブロックはそれぞれ、一つの予測ユニットに該当する。
【0111】
一方、図8に示された810、820、830及び840の正方形ブロックはそれぞれ、並列動き予測が行われる並列処理単位を示す。すなわち、最大符号化ユニット(LCU)は互いに重ならない複数の並列処理単位に分割することができる。ここで、一例として、複数の並列処理単位は同一の大きさを持つことができる。このとき、符号化器及び復号器は、一つの並列処理単位内のすべての予測ユニットに対して同時に動き予測を行うことができる。例えば、並列処理単位810に含まれた予測ユニットA及び予測ユニットBに対しては動き予測を並列に行うことができる。並列処理単位は並列動き予測が適用される領域に該当するため、動き予測領域(Motion Estimation Region、MER)とも呼ばれることがある。以下、本明細書では説明の便宜上、並列動き予測が行われる並列処理単位はMERと言う。
【0112】
マージモード及び/又はスキップモードにおいて並列動き予測が適用される場合、符号化器は並列動き予測に係る情報を復号器に伝送する必要がある。上述したように、並列動き予測はMER内のすべての予測ユニットに対して適用されることがあるため、符号化器から復号器へ伝送される情報はマージモード及び/又はスキップモードにおける並列処理レベルに該当する。ここで、並列処理レベルは並列動き予測が行われる並列処理単位の大きさに該当し、よって、MERの大きさにも該当する。例えば、32×32の大きさのブロック単位で並列動き予測が行われる場合、すなわちMERの大きさが32×32に該当する場合、並列動き予測は32×32並列処理レベルで行われると言える。並列処理レベルはマージモード及び/又はマージスキップモードにおける並列処理レベルを示すため、並列マージレベルと呼ばれることもある。
【0113】
ここで、並列処理レベルは一定範囲以内に制限されることもある。例えば、並列処理レベルは4×4ないしLCUの大きさ以下の大きさに制限されることがある。このとき、MERはLCUの大きさ及び/又はCTBの大きさ以下の大きさを持つことがある。
【0114】
上述した並列処理レベルに関する情報は、ビットストリーム上のシーケンスパラメータセット(SPS)又はピクチャパラメータセット(PPS)に含めて符号化器から復号器に伝送することができる。PPSに含まれる並列処理レベル関連情報は、一実施例として、次の表1に含まれるような構文要素によって定義することができる。
【0115】
【表1】
【0116】
ここで、log2_parallel_merge_level_minus2はマージモード及び/又はスキップモードにおける並列処理レベルを示す。正確には、log2_parallel_merge_level_minus2に割り当てられる値は実際の並列処理レベルの対数値、すなわち実際のMERの大きさの対数値から2を引いた値に該当する。予測ユニットの最小の大きさが4×4の場合、並列処理レベルの対数値の最小値は2に該当する。よって、伝送情報量の減少のために、log2_parallel_merge_level_minus2には、実際の並列処理レベルの対数値から2を引いた値が割り当てられる。
【0117】
PPSで定義される並列処理レベル情報は上述した実施例に限定されない。表1の実施例において、並列処理レベルに関する情報を除く他の情報を示す構文は必要に応じて別様に適用されることもある。
【0118】
一方、表1でのlog2_parallel_merge_level_minus2は、割り当てられる値によって次の表2の実施例のような意味を持つことができる。
【0119】
【表2】
【0120】
表2を参考にすれば、log2_parallel_merge_level_minus2に0の値が割り当てられた場合、MERの大きさは4×4に該当する。この場合、最小予測ユニットの大きさが4×4であるので、符号化器及び復号器はLCU内のすべての予測ユニットに対して、順に動き予測を行うことができる。別の例として、log2_parallel_merge_level_minus2に2の値が割り当てられた場合、MERの大きさは16×16に該当する。この場合、符号化器及び復号器は16×16並列処理レベルで並列動き予測を行うことができる。すなわち、符号化器及び復号器は16×16ブロック内のすべての予測ユニットに対して、並列に動き予測を行うことができる。同様に、log2_parallel_merge_level_minus2に他の値が割り当てられた場合にも、符号化器及び復号器は、割り当てられた値によって類似する方式で並列動き予測を行うことができる。
【0121】
一方、一つの符号化木ブロックは複数個の符号化ユニット(CU)を含むことができる。このとき、一つの並列処理単位、すなわち一つのMERは一つの予測ユニット(PU)を含むこともでき、一つの符号化ユニットと同一の大きさを持つこともできる。また、一つのMERは複数の符号化ユニットを含むこともできる。
【0122】
例えば、図8を参照すれば、MER810は予測ユニットA及び予測ユニットBから構成された一つの符号化ユニットと同一の大きさを持つ。また、MER830及びMER840はそれぞれ符号化ユニットG及び符号化ユニットHと同一の大きさを持つ。このように、一つの符号化ユニットがMERと同一の大きさを持つ場合、その符号化ユニットに対する並列動き予測は符号化ユニット単位で行われるものと見なすこともできる。一方で、MER820は、符号化ユニットC(符号化ユニットCは予測ユニットCに対応する)、符号化ユニットD(符号化ユニットDは予測ユニットD1、予測ユニットD2を含む)、符号化ユニットE(符号化ユニットEは予測ユニットEに対応する)及び符号化ユニットF(符号化ユニットFは予測ユニットF1、予測ユニットF2を含む)を含むことができる。このとき、マージモード及び/又はスキップモードにおける動き予測は、MER820内の予測ユニットC、D1、D2、E、F1及びF2の全部に対して並列に行うことができる。
【0123】
一方、上述した図8の実施例のように、マージモード及び/又はスキップモードにおいては並列動き予測が行われるためには、並列処理単位、すなわちMER内のすべての予測ユニットに対してそれぞれ独立してインタ予測及び/又は動き予測が実行できなければならない。しかし、上述したマージモード及び/又はスキップモードにおいては、並列動き予測に関連して問題点が発生することもある。
【0124】
図9は、マージモードにおいては並列動き実行の際に発生する問題点を概略説明するための図である。図9の910、920、930及び940はそれぞれ一つの符号化ユニットを示す。
【0125】
図8で説明したように、並列処理単位、すなわちMERは現符号化ユニットと同一の大きさを持つ場合もあるし、そうでない場合もある。図9の実施例では、MERの大きさが現符号化ユニットと同一であると仮定する。このとき、図9に示されたそれぞれの符号化ユニットは並列処理単位に該当し、この場合、並列動き予測は符号化ユニット単位で行われることがある。ただし、図9で後述する問題点は、MERの大きさが現符号化ユニットより大きい場合にも同一又は類似に発生し得る。
【0126】
図9の910において、符号化ユニット(及び/又は予測ユニット)の分割モードは2N×2Nである。よって、一つの符号化ユニットが分割されないまま予測ユニットAとして使用できるため、並列動き予測による問題点が発生しない。
【0127】
図9の920において、符号化ユニット(及び/又は予測ユニット)の分割モードは2N×Nである。この場合には、並列動き予測のために上端予測ユニットB1及び下端予測ユニットB2に対する動き予測が同時に行われなければならない。しかし、下端予測ユニットB2に対するマージ候補のうち、下端予測ユニットB2の上端に隣接して最も右側に位置するブロック925の動き情報は、上端予測ユニットB1の符号化/復号が完了したときだけ、下端予測ユニットB2のマージ候補として使用することができる。このように、下端予測ユニットB2は上端予測ユニットB1に属する動き情報を使用するため、図9の920の符号化ユニットに属する予測ユニットに対しては同時に動き予測を行うことができない。
【0128】
図9の930において、符号化ユニット(及び/又は予測ユニット)の分割モードはN×2Nである。この場合には、並列動き予測のために左側予測ユニットC1及び右側予測ユニットC2に対する動き予測を同時に行わなければならない。しかし、右側予測ユニットC2に対するマージ候補のうち、右側予測ユニットC2の左側に隣接して最も下端に位置するブロック935の動き情報は、左側予測ユニットC1の符号化/復号が完了したときだけ、右側予測ユニットC2のマージ候補として使用することができる。このように、右側予測ユニットC2は左側予測ユニットC1に属する動き情報を使用するため、図9の930の符号化ユニットに属する予測ユニットに対しては同時に動き予測を行うことができない。
【0129】
図9の940において、符号化ユニット(及び/又は予測ユニット)の分割モードはN×Nである。この場合には、並列動き予測のために左上予測ユニットD1、右上予測ユニットD2、左下予測ユニットD3及び右下予測ユニットD4に対する動き予測を同時に行わなければならない。しかし、一例として、右下予測ユニットD4に対するマージ候補のうち、右下予測ユニットD4の左上隅に位置するブロック941、右下予測ユニットD4の上端に隣接して最も右側に位置するブロック943及び右下予測ユニットD4の左側に接して最も下端に位置するブロック945の動き情報は、それぞれ左上予測ユニットD1、右上予測ユニットD2及び左下予測ユニットD3の符号化/復号が完了したときだけ、右下予測ユニットD4のマージ候補として使用することができる。また、図9の940においては、右上予測ユニットD2及び左下予測ユニットD3でも上述した右下予測ユニットD4と類似する問題点が発生し得る。このように、左上予測ユニットD1を除く予測ユニットは他の予測ユニットに属する動き情報を使用するため、図9の940の符号化ユニットに属する予測ユニットに対しては同時に動き予測を行うことができない。
【0130】
上述した実施例では、符号化ユニット(及び/又は予測ユニット)の分割モードが2N×2N、2N×N、N×2N及びN×Nの場合の問題点だけが述べられているが、このような問題点は他の分割モード(例えば、2N×nU、2N×nD、nL×2N又はnR×2N)においても同様に又は類似して発生し得る。以下、図9で述べられた問題点を解決するためのマージ候補導出方法及びマージ候補リスト構成方法の実施例を説明する。
【0131】
図10は、並列動き予測を可能にするためのマージ候補導出方法の一実施例を概略示す図である。
【0132】
図10の1010ないし1060はそれぞれ一つの符号化ユニットを示し、各符号化ユニットに属する予測ユニットそれぞれに表示された番号は分割インデクスを示す。
【0133】
図10の実施例では説明の便宜上、MERの大きさが現符号化ユニットと同一であると仮定する。このとき、図10に示されたそれぞれの符号化ユニットは並列処理単位に該当し、この場合、並列動き予測は符号化ユニット単位で行われることがある。しかし、後述する図10の実施例は、MERの大きさ、すなわち並列処理レベルが符号化ユニットより大きい場合にも、並列処理レベルに属する符号化ユニットそれぞれに対して同一に適用されることがある。
【0134】
一方、図9において説明したように、並列動き予測が行われるMER内には、まだ符号化/復号が完了していない他のブロック(及び/又は予測ユニット)の動き情報を使用する予測ユニットが存在することがある。このような場合、MERに属する予測ユニットに対しては同時に動き予測を行うことができない。よって、このような問題点を解決するために、符号化器及び復号器は、動き情報が利用可能でない(not available)ブロックはマージ候補ブロックとして使用しない。すなわち、符号化器及び復号器はマージ候補導出過程でブロックを利用可能でないものとして処理し、ブロックの動き情報をマージ候補リストに追加しない。
【0135】
図10の1010において、符号化ユニット(及び/又は予測ユニット)の分割モードは2N×Nであり、分割インデクスが1である下端予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックA0、A1、B0、B1及びB2のうち、ブロックB1は同一の符号化ユニット内の他の予測ユニットに属するブロックである。よって、ブロックB1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、下端予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0136】
また、分割インデクスが1である下端予測ユニットの動き予測時には、ブロックA0及びブロックB0の動き情報が利用可能でないこともある。これは符号化/復号の手順上、ブロックの符号化及び/又は復号が完了していない場合もあるためである。このとき、ブロックA0及びブロックB0は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、下端予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0137】
図10の1010の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、分割インデクスが1である下端予測ユニットに対して導出される空間的マージ候補の個数は2個である。このとき、時間的マージ候補を考慮して空間的マージ候補の個数に1が加えられる場合、下端予測ユニットに対して導出される利用可能なマージ候補の最大個数は3個である。
【0138】
図10の1020において、符号化ユニット(及び/又は予測ユニット)の分割モードは2N×nUであり、分割インデクスが1である下端予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックA0、A1、B0、B1及びB2のうち、ブロックB1は同一の符号化ユニット内の他の予測ユニットに属するブロックである。よって、ブロックB1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、下端予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0139】
また、分割インデクスが1である下端予測ユニットの動き予測時には、ブロックA0及びブロックB0の動き情報が利用可能でないこともある。これは符号化/復号の手順上、ブロックの符号化及び/又は復号が完了していない場合もあるためである。このとき、ブロックA0及びブロックB0は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、下端予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0140】
図10の1020の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、分割インデクスが1である下端予測ユニットに対して導出される空間的マージ候補の個数は2個である。この場合、時間的マージ候補を考慮して空間的マージ候補の個数に1が加えられるとき、下端予測ユニットに対して導出される利用可能なマージ候補の最大個数は3個である。
【0141】
図10の1030において、符号化ユニット(及び/又は予測ユニット)の分割モードは2N×nDであり、分割インデクスが1である下端予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックA0、A1、B0、B1及B2のうち、ブロックB1は同一の符号化ユニット内の他の予測ユニットに属するブロックである。よって、ブロックB1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、下端予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0142】
また、分割インデクスが1である下端予測ユニットの動き予測時には、ブロックA0及びブロックB0の動き情報が利用可能でないこともある。これは符号化/復号の手順上、ブロックの符号化及び/又は復号が完了していない場合もあるためである。このとき、ブロックA0及びブロックB0は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、下端予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0143】
図10の1030の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、分割インデクスが1である下端予測ユニットに対して導出される空間的マージ候補の個数は2個である。この場合、時間的マージ候補を考慮して空間的マージ候補の個数に1が加えられるとき、下端予測ユニットに対して導出される利用可能なマージ候補の最大個数は3個である。
【0144】
図10の1040において、符号化ユニット(及び/又は予測ユニット)の分割モードはN×2Nであり、分割インデクスが1である右側予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックA0、A1、B0、B1及びB2のうち、ブロックA1は同一の符号化ユニット内の他の予測ユニットに属するブロックである。よって、ブロックA1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右側予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0145】
また、分割インデクスが1である右側予測ユニットの動き予測時には、ブロックA0の動き情報が利用可能でないこともある。これは符号化/復号の手順上、ブロックの符号化及び/又は復号が完了していない場合もあるためである。このとき、ブロックA0は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右側予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0146】
図10の1040の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、分割インデクスが1である右側予測ユニットに対して導出される空間的マージ候補の個数は3個である。この場合、時間的マージ候補を考慮して空間的マージ候補の個数に1が加えられるとき、右側予測ユニットに対して導出される利用可能なマージ候補の最大個数は 4個である。
【0147】
図10の1050において、符号化ユニット(及び/又は予測ユニット)の分割モードはnL×2Nであり、分割インデクスが1である右側予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックA0、A1、B0、B1及びB2のうち、ブロックA1は同一の符号化ユニット内の他の予測ユニットに属するブロックである。よって、ブロックA1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右側予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0148】
また、分割インデクスが1である右側予測ユニットの動き予測時には、ブロックA0の動き情報が利用可能でないこともある。これは符号化/復号の手順上、ブロックの符号化及び/又は復号が完了していない場合もあるためである。このとき、ブロックA0は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右側予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0149】
図10の1050の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、分割インデクスが1である右側予測ユニットに対して導出される空間的マージ候補の個数は3個である。この場合、時間的マージ候補を考慮して空間的マージ候補の個数に1が加えられるとき、右側予測ユニットに対して導出される利用可能なマージ候補の最大個数は4個である。
【0150】
図10の1060において、符号化ユニット(及び/又は予測ユニット)の分割モードはnR×2Nであり、分割インデクスが1である右側予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックA0、A1、B0、B1及びB2のうち、ブロックA1は同一の符号化ユニット内の他の予測ユニットに属するブロックである。よって、ブロックA1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右側予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0151】
また、分割インデクスが1である右側予測ユニットの動き予測時には、ブロックA0の動き情報が利用可能でないこともある。これは符号化/復号の手順上、ブロックの符号化及び/又は復号が完了していない場合もあるためである。このとき、ブロックA0は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右側予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0152】
図10の1060の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、 分割インデクスが1である右側予測ユニットに対して導出される空間的マージ候補の個数は3個である。この場合、時間的マージ候補を考慮して空間的マージ候補の個数に1が加えられるとき、右側予測ユニットに対して導出される利用可能なマージ候補の最大個数は4個である。
【0153】
上述した実施例によって、空間的マージ候補の導出過程で、符号化器及び復号器は、所定の条件に従って予測ユニットの周辺ブロックを利用可能でないものとして処理することができる。これは次のように表される。
【0154】
【数1】
【0155】
ここで、availableFlagNは、ブロックN(NはA0、A1、B0、B1及びB2のうち一つである)がマージ候補ブロックとして使用できる利用可能なブロックであるか否かを指示するフラグである。また、mvLXNはブロックNの動きベクトルを示し、refIdxLXNはブロックNの参照ピクチャインデクスを示す。ここで、Xは0又は1の値を有することができる。そして、predFlagLXNは、ブロックNに対してLX予測が行われるか否かを指示するフラグに該当する。
【0156】
予測ユニットの周辺ブロックを利用可能でないものとして処理するための条件は、種々あり得る。一例として、ブロックNがブロックB2であり、ブロックA0、A1、B0、B1がいずれも利用可能な場合には、同一位置ブロックを含んで五つのマージ候補個数を維持するために、ブロックB2が利用可能でないものとして処理される。また、周辺ブロックの予測モードがイントラモードの場合にも、そのブロックは利用可能でないものとして処理される。これは次のように表される。
【0157】
【数2】
【0158】
また、上述した実施例のように、現符号化ユニット(及び/又は予測ユニット)の分割モードが2N×N、2N×nU又は2N×nDであり、現予測ユニットの分割インデクスが1である場合、ブロックB1は利用可能でないものとして処理される。そして、現符号化ユニット(及び/又は予測ユニット)の分割モードがN×2N、nL×2N又はnR×2Nであり、現予測ユニットの分割インデクスが1である場合、ブロックA1は利用可能でないものとして処理される。これは次のように表される。
【0159】
【数3】
【0160】
上述した最後の二つの条件は、同一の符号化ユニットに属する予測ユニットが互いに従属しないようにすることによって、同一の符号化ユニットに属するすべての予測ユニットに対する並列動き予測を可能にする。また、一つの予測ユニットが同一の符号化ユニット内の他の予測ユニットに属する動き情報を使用する場合には、同一の符号化ユニット内の矩形の予測ユニットが同一の動き情報を有し、結果として2N×2N分割モードと同一の動き情報を有するようになる。このとき、上述した最後の二つの条件は、同一の符号化ユニット内の矩形の予測ユニットが2N×2N分割モードと同一の動き情報を有することを防止することができる。
【0161】
図11は、並列動き予測を可能にするためのマージ候補導出方法の別の実施例を概略示す図である。図11の1110ないし1130はそれぞれ一つの符号化ユニットを示し、各符号化ユニットに属する予測ユニットそれぞれに表示された番号は分割インデクスを示す。
【0162】
図11の実施例では説明の便宜上、MERの大きさが現符号化ユニットと同一であると仮定する。このとき、図11に示されたそれぞれの符号化ユニットは並列処理単位に該当し、この場合、並列動き予測は符号化ユニット単位で行うことができる。しかし、後述する図11の実施例は、MERの大きさ、すなわち並列処理レベルが符号化ユニットより大きい場合にも、並列処理レベルに属する符号化ユニットそれぞれに対して同一に適用することができる。
【0163】
一方、図10の実施例では、符号化ユニット(及び/又は予測ユニット)の分割モードが2N×N、2N×nU、2N×nD、N×2N、nL×2N及びnR×2Nの場合の実施例を説明した。しかし、符号化ユニット(及び/又は予測ユニット)の分割モードがN×Nの場合にも並列動き予測が行われるMER内には、まだ符号化/復号が完了していない他のブロック(及び/又は予測ユニット)の動き情報を使用する予測ユニットが存在することもある。このような場合、MERに属する予測ユニットに対しては同時に動き予測を行うことができない。よって、このような問題点を解決するために、符号化器及び復号器は、動き情報が利用可能でないブロックの動き情報はマージ候補として使用しない。すなわち、符号化器及び復号器は、マージ候補の導出過程でブロックを利用可能でないものとして処理し、ブロックの動き情報をマージ候補リストに追加しない。
【0164】
図11の1110において、符号化ユニット(及び/又は予測ユニット)の分割モードはN×Nであり、分割インデクスが1である右上予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックA0、A1、B0、B1及びB2のうち、ブロックA0及びブロックA1は同一の符号化ユニット内の他の予測ユニットに属するブロックである。この場合、右上予測ユニットは同一の符号化ユニット内の他の予測ユニットに従属する。よって、ブロックA0及びブロックA1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右上予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0165】
図11の1110の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、分割インデクスが1である右上予測ユニットに対して導出される空間的マージ候補の個数は3個である。この場合、時間的マージ候補を考慮して空間的マージ候補の個数に1が加えられるとき、右上予測ユニットに対して導出される利用可能なマージ候補の最大個数は4個である。
【0166】
図11の1120において、符号化ユニット(及び/又は予測ユニット)の分割モードはN×Nであり、分割インデクスが2である左下予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックA0、A1、B0、B1及びB2のうち、ブロックB0及びブロックB1は同一の符号化ユニット内の他の予測ユニットに属するブロックである。この場合、左下予測ユニットは同一の符号化ユニット内の他の予測ユニットに従属する。よって、ブロックB0及びブロックB1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、左下予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0167】
また、分割インデクスが2である左下予測ユニットの動き予測時には、ブロックA0の動き情報が利用可能でないこともある。これは符号化/復号の手順上、ブロックの符号化及び/又は復号が完了していない場合もあるためである。このとき、ブロックA0は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、左下予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0168】
図11の1120の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、分割インデクスが2である左下予測ユニットに対して導出される空間的マージ候補の個数は2個である。このとき、時間的マージ候補を考慮して空間的マージ候補の個数に1が加えられる場合、左下予測ユニットに対して導出される利用可能なマージ候補の最大個数は3個である。
【0169】
図11の1130において、符号化ユニット(及び/又は予測ユニット)の分割モードはN×Nであり、分割インデクスが3である右下予測ユニットのマージ候補が示される。このとき、マージ候補ブロックとして使用されるブロックA0、A1、B0、B1及びB2のうち、ブロックA1、ブロックB1及びブロックB2は同一の符号化ユニット内の他の予測ユニットに属するブロックである。この場合、右下予測ユニットは同一の符号化ユニット内の他の予測ユニットに従属する。よって、ブロックA1、ブロックB1及びブロックB2は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右下予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0170】
また、分割インデクスが3である右下予測ユニットの動き予測時には、ブロックA0及びブロックB0の動き情報が利用可能でないこともある。これは符号化/復号の手順上、ブロックの符号化及び/又は復号が完了していない場合もあるためである。このとき、ブロックA0及びブロックB0は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理され、右下予測ユニットのマージ候補ブロックとして使用されない。この場合、ブロックの動き情報はマージ候補リストに追加されない。
【0171】
図11の1130の実施例のように、並列動き予測時に使用できないブロックが利用可能でないものとして処理される場合、分割インデクスが3である右下予測ユニットに対して導出される空間的マージ候補の個数は0個である。この場合、時間的マージ候補を考慮して空間的マージ候補の個数に1が加えられるとき、右下予測ユニットに対して導出される利用可能なマージ候補の最大個数は1個である。
【0172】
上述した実施例によって、空間的マージ候補の導出過程において、符号化器及び復号器は所定の条件に従って予測ユニットの周辺ブロックを利用可能でないものとして処理することができる。図10で説明したように、予測ユニットの周辺ブロックを利用可能でないものとして処理するための条件は種々あり得る。
【0173】
図11の実施例によれば、現符号化ユニット(及び/又は予測ユニット)の分割モードがN×Nであり、現予測ユニットの分割インデクスが1である場合、ブロックA0及びブロックA1は利用可能でないものとして処理される。そして、現符号化ユニット(及び/又は予測ユニット)の分割モードがN×Nであり、現予測ユニットの分割インデクスが2である場合、ブロックB0及びブロックB1は利用可能でないものとして処理される。また、現符号化ユニット(及び/又は予測ユニット)の分割モードがN×Nであり、現予測ユニットの分割インデクスが3である場合、ブロックA1、ブロックB1及びブロックB2は利用可能でないものとして処理される。三つの条件は、図10で説明された実施例に次のように追加することができる。
【0174】
【数4】
【0175】
上述した実施例に追加された三つの条件によって、符号化ユニットに属する一つの予測ユニットが同一の符号化ユニットに属する他の予測ユニットの動き情報を参照することを防止することができる。よって、上述した実施例によれば、同一の符号化ユニットに属するすべての予測ユニットに対して空間的マージ候補の並列的導出が可能になる。
【0176】
一方、並列マージモード及び/又は並列スキップモードにおいては、上述した図10及び図11の実施例が適用される場合には、分割モード及び分割インデクスによってそれぞれの予測ユニットに対して導出できる利用可能なマージ候補の最大個数を推定することができる。各予測ユニットに対する利用可能なマージ候補の最大個数は、並列動き予測に使用できる利用可能な空間的マージ候補の個数に、時間的マージ候補の個数(例えば、1個)を加えることによって推定される。例えば、図10及び図11に示された各分割モードにおいては、分割インデクス値が0である予測ユニットに対しては最大5個の利用可能なマージ候補を導出することができる。別の例として、図10の1010のように2N×Nの分割モードにおいては、分割インデクスが1である予測ユニットに対しては最大3個の利用可能なマージ候補を導出することができる。分割モード及び分割インデクスによって各予測ユニットに対して導出される利用可能なマージ候補の最大個数は、一実施例として、次の表3のように表される。
【0177】
【表3】
【0178】
ここで、PartModeは符号化ユニット(及び/又は予測ユニット)の分割モードを示し、 partIdxは予測ユニットの分割インデクスを示す。そして、maxNumMergeCandは該当予測ユニットに対して導出される利用可能なマージ候補の最大個数を示す。
【0179】
一方、図7で説明したように、マージ候補の個数が5個に制限される場合、マージインデクスは5個のマージ候補のうち一つを指示することになる。この場合には、5個のマージ候補に対応するビット量をマージインデクスの伝送のために使用することができる。しかし、上述したように予測ユニットに対して導出される利用可能なマージ候補の最大個数は5個より少ない場合もあり、この場合、マージインデクスの伝送のために必要なビット量は5個のマージ候補に対応するビット量よりも少ない。すなわち、利用可能でないものとして処理されるブロックの個数が多くなるほど、マージインデクスの伝送に必要な実際のビット量が減少する。このとき、マージインデクスの伝送に必要な実際のビット量を超過して使用されるビットは、マージインデクスに対して無駄使いされるビットであると見なすことができる。
【0180】
上述した問題点を解決するために、符号化器及び復号器は、分割モード及び分割インデクスによって最適化されたマージ候補の個数を適用してマージインデクスを符号化/復号することによって、マージインデクスの伝送に使用されるビット量を減少させるか、又は節約することができる。
【0181】
一実施例として、符号化器及び復号器には表3のような同一のテーブルを記憶することができる。このとき、符号化器は、テーブルに基づいて分割モード及び分割インデクスによって任意の予測ユニットに対して導出される利用可能なマージ候補の最大個数を決定することができる。そして、符号化器は、最大個数に基づいて予測ユニットに対するマージインデクスを符号化して復号器へ伝送することができる。この場合には、最大個数に対応するビット量だけがマージインデクスの伝送に使用されるため、マージインデクスの伝送に使用されるビット量を減少させることができる。復号器には同一のテーブルが記憶されているため、符号化器と同一の方法で任意の予測ユニットに対して導出される利用可能なマージ候補の最大個数を決定することができる。このとき、復号器は最大個数に基づいて、符号化器から伝送されたマージインデクスを復号することができる。
【0182】
一方、図11の1130及び表3を参照すれば、符号化ユニット(及び/又は予測ユニット)の分割モードがN×Nであり、符号化ユニットに属する予測ユニットの分割インデクス値が3である場合、時間的マージ候補1個だけが予測ユニットに対する利用可能なマージ候補に該当する。このとき、予測ユニットに対して導出される利用可能なマージ候補の最大個数は1個である。利用可能なマージ候補の最大個数が1個である場合、復号器はマージインデクスなしでも予測ユニットの動き情報の導出に使用されるマージ候補がどれかが分かる。よって、符号化器は、符号化ユニット(及び/又は予測ユニット)の分割モードがN×Nであり、符号化ユニットに属する予測ユニットの分割インデクス値が3である場合、該当予測ユニットに対するマージインデクスは復号器に伝送しない。
【0183】
図12は、並列動き予測を可能にするためのマージ候補導出方法のまた別の実施例を概略示す図である。図12の1210は一つの符号化ユニットを示し、符号化ユニットに属する予測ユニットそれぞれに表示された番号は分割インデクスを示す。
【0184】
図12の実施例では説明の便宜上、MERの大きさが現符号化ユニットと同一であると仮定する。このとき、図12に示された符号化ユニットは並列処理単位に該当し、この場合、並列動き予測は符号化ユニット単位で行うことができる。しかし、後述する図12の実施例は、MERの大きさ、すなわち並列処理レベルが符号化ユニットより大きい場合にも、並列処理レベルに属する符号化ユニットそれぞれに対して類似する方式を適用することができる。
【0185】
上述した図10及び図11の実施例において、並列動き予測の実行時に動き情報が利用可能でないブロックに対応するマージ候補は、利用可能でないものとして処理されてマージ候補リストに追加されない。このとき、利用可能でないものとして処理されるマージ候補は、現符号化ユニット(及び/又は予測ユニット)の分割モードが2N×2Nの場合に使用されるマージ候補に代替できる。
【0186】
図12の1210において、現符号化ユニット(及び/又は予測ユニット)の分割モードは2N×Nであり、現在動き予測の対象になる予測ユニットは分割インデクスが1である下端予測ユニットである。この場合、図10で説明したように、マージ候補ブロックとして使用されるブロックA0、A1、B0、B1及びB2のうち、ブロックA0、ブロックB0及びブロックB1は並列動き予測時に使用できないブロックであるため、利用可能でないものとして処理される。
【0187】
しかし、現符号化ユニット(及び/又は予測ユニット)の分割モードが2N×2Nの場合にマージ候補ブロックとして使用されるブロックB0’(現符号化ユニットの外部の右上隅に最も近く位置するブロック)及びブロックB1’(現符号化ユニットの上端に隣接するブロックのうち最も右側に位置するブロック)は、並列動き予測の実行時に利用可能な動き情報を有することもある。よって、符号化器及び復号器は、ブロックB0の代わりにブロックB0’を下端予測ユニットのマージ候補ブロックとして使用し、ブロックB1の代わりにブロックB1’を下端予測ユニットのマージ候補ブロックとして使用することができる。
【0188】
上述した実施例は、現符号化ユニット(及び/又は予測ユニット)の分割モードが2N×Nの場合に限定されて説明されているが、本発明はこれに限定されない。すなわち、上述したマージ候補導出方法は、現符号化ユニットの分割モードがN×2N、N×N、2N×nU、2N×nD、nL×2N又はnR×2Nなどの場合にも類似する方式を適用することができる。
【0189】
一方、符号化器及び復号器は並列動き予測が行われる複数の予測ユニットに対して、共通のマージ候補及び/又は共通のマージ候補リストを導出して使用することによって、並列動き予測を可能にすることもできる。共通のマージ候補及び/又は共通のマージ候補リストに基づく並列動き予測方式は、上述した図10及び/又は図11の実施例とは別個に独立して適用することもできるが、図10及び/又は図11の実施例と組み合わせて符号化器/復号器に共に適用することもできる。以下、本明細書で複数の予測ユニットに対して共通に使用されるマージ候補は「共通マージ候補」と呼び、複数の予測ユニットに対して共通に使用されるマージ候補リストは「単一マージ候補リスト」と呼ぶ。
【0190】
このとき、共通マージ候補及び/又は単一マージ候補リストが導出される単位は、予め定義された所定の単位であってもよい。ここで、所定の単位は番号で定められてもよく、CU、MER及び/又はLCU単位であってもよい。また、共通マージ候補及び/又は単一マージ候補リストが導出される単位は符号化器で決定してもよい。この場合、符号化器は、単位に関する情報を符号化して復号器に伝送することができる。このとき、復号器は、伝送された情報に基づいて共通マージ候補及び/又は単一マージ候補リストが導出される単位を決定することができる。以下、本明細書で、上述した共通マージ候補及び/又は単一マージ候補リストが導出される単位は「マージ候補共有単位」と言う。
【0191】
例えば、マージ候補共有単位がCUの場合、一つのCU内のすべての予測ユニット(マージモード及び/又はスキップモードを持つ予測ユニット)は、CUに対する共通マージ候補及び/又はCUに対する単一マージ候補リストを共有することができる。このとき、単一マージ候補リストは、CU(及び/又はCUに属するPU)の分割モードが2N×2Nの場合にCUに属する予測ユニットが持つマージ候補リストと同一になることもある。別の例として、マージ候補共有単位がLCUの場合、一つのLCU内のすべての予測ユニット(マージモード及び/又はスキップモードを持つ予測ユニット)は、LCUに対する共通マージ候補及び/又はLCUに対する単一マージ候補リストを共有することができる。また別の例として、マージ候補共有単位がMERの場合、一つのMER内のすべての予測ユニット(マージモード及び/又はスキップモードを持つ予測ユニット)は、MERに対する共通マージ候補及び/又は MERに対する単一マージ候補リストを共有することができる。
【0192】
一つのマージ候補共有単位内のすべての予測ユニットが共通マージ候補及び/又は単一マージ候補リストを共有する場合には、ある程度の符号化損失が発生し得る。よって、符号化器及び復号器はマージ候補共有フラグに基づいて、マージ候補導出方式及び/又はマージ候補リスト導出方式を選択的に決定することもできる。ここで、マージ候補共有フラグは、マージ候補共有単位内ですべての予測ユニットに対して単一マージ候補リストが導出されて使用されるか、又はそれぞれの予測ユニットに対して別個のマージ候補リストが導出されて使用されるかを指示するフラグに該当する。マージ候補共有フラグは、例えば、parallel_merge_cand_flag、parallel_merge_derivation_flag又はsingleMCLFlagで表される。
【0193】
一例として、マージ候補共有フラグの値が1の場合、フラグはマージ候補共有単位内のすべての予測ユニットが共通マージ候補及び/又は単一マージ候補リストを共有する旨を指示する。すなわち、この場合、フラグは、マージ候補(空間的マージ候補及び/又は時間的マージ候補)の位置がマージ候補共有単位内のすべての予測ユニットに対して同一である旨を指示する。また、マージ候補共有フラグの値が0の場合、フラグはそれぞれの予測ユニットに対して別個のマージ候補リストが導出されて使用される旨を指示する。
【0194】
上述したマージ候補共有フラグは、一実施例として、符号化器で符号化されて復号器に伝送されるフラグである。このとき、マージ候補共有フラグは、SPS、PPS、適応パラメータセット(adaptation Parameter Set、APS)又はスライスヘッダにおいて定義することができる。すなわち、マージ候補共有フラグは、ビットストリーム上のSPS、PPS、APS又はスライスヘッダに含めて符号化器から復号器に伝送することができる。この場合、復号器は、伝送されたフラグに基づいてマージ候補導出方式及び/又はマージ候補リスト導出方式を決定することができる。
【0195】
別の実施例として、マージ候補共有フラグに割り当てられる値は、符号化器及び復号器で同一の方式で導出することもできる。この場合、符号化器はマージ候補共有フラグに関する情報を復号器に伝送しない。
【0196】
一例として、マージ候補共有単位がCUであると仮定する。このとき、マージ候補共有フラグに割り当てられる値は、MERの大きさ及び/又は現在CUの大きさに基づいて決定することができる。例えば、符号化器及び復号器は、MERの大きさ、すなわち並列処理レベルが4×4より大きく、 現符号化ユニットの大きさが8×8である場合にだけ、マージ候補共有フラグに1の値を割り当てることができる。ここで、マージ候補共有フラグの値が1である場合、フラグはマージ候補共有単位内のすべての予測ユニットが共通マージ候補及び/又は単一マージ候補リストを共有する旨を指示する。すなわち、符号化器及び復号器は、並列処理レベルが4×4より大きくて現符号化ユニットの大きさが8×8である場合にだけ、現符号化ユニット内のすべての予測ユニットが共通マージ候補及び/又は単一マージ候補リストを共有できるようにする。このとき、並列処理レベルが4×4であるか、又は現符号化ユニットの大きさが8×8でない場合、マージ候補共有フラグには0の値が割り当てられる。ここで、マージ候補共有フラグの値が0の場合、フラグはそれぞれの予測ユニットに対して別個のマージ候補リストが導出されて使用される旨を指示する。
【0197】
以下、マージ候補共有単位内の予測ユニットに対する共通マージ候補導出方法の実施例を説明する。
【0198】
図13は、マージ候補共有単位内の予測ユニットに対する共通マージ候補導出方法の一実施例を概略示す図である。
【0199】
図13の1310ないし1330は一つの同一の符号化ユニットを示し、符号化ユニット(及び/又は予測ユニット)の分割モードはN×2Nに該当する。また、PartIdxは分割インデクスを示し、PU0は分割インデクス値が0の予測ユニット、PU1は分割インデクス値が1の予測ユニットを示す。
【0200】
一方、図13の実施例では説明の便宜上、マージ候補共有単位がCUであると仮定する。このとき、図13に示されたそれぞれの符号化ユニットはマージ候補共有単位に該当する。マージ候補共有単位の大きさはMER、すなわち並列処理単位の大きさと同一であってもよいし、異なっていてもよい。
【0201】
図13の1310は、分割インデクスが0の左側予測ユニットのマージ候補を示す。また、図13の1320は、分割インデクスが1の右側予測ユニットのマージ候補を示す。図13の1310及び1320を参照すれば、符号化ユニット(マージ候補共有単位)内の予測ユニットそれぞれが独立してマージ候補リストを持つことができる。
【0202】
この場合、図13の1320のブロックA1は右側予測ユニットに属するブロックである。よって、右側予測ユニットは左側予測ユニットに属する動き情報を使用するため、左側予測ユニット及び右側予測ユニットに対しては同時に動き予測を行うことができない。このとき、符号化器及び復号器はブロックA1を利用可能でないものとして処理して並列動き予測を可能にすることもできるが、利用可能な動き情報を持つブロックの動き情報を共通マージ候補として使用することによって、並列動き予測を可能にすることもできる。
【0203】
図13の1330を参照すれば、符号化ユニット(マージ候補共有単位)内の予測ユニットは共通マージ候補(及び/又は共通のマージ候補リスト)を有する。すなわち、図13の1330で、符号化ユニット内のすべての予測ユニットは共通マージ候補(及び/又は単一マージ候補リスト)を共有することができる。
【0204】
ここで、一例として、共通マージ候補は、現符号化ユニット1330の分割モードが2N×2Nの場合に導出されるマージ候補と同一であってもよい。具体的には、符号化器及び復号器は、符号化ユニット1330の外部の左下隅に最も近く位置するブロックA0と、符号化ユニット1330の左側に隣接するブロックのうち最も下端に位置するブロックA1と、符号化ユニット1330の外部の右上隅に最も近く位置するブロックB0と、符号化ユニット1330の上端に隣接するブロックのうち最も右側に位置するブロックB1と、符号化ユニット1330の外部の左上隅に最も近く位置するブロックB2との動き情報を、左側予測ユニットPU0及び右側予測ユニットPU1に対する共通マージ候補として使用することができる。
【0205】
上述した1330の実施例では、一つの符号化ユニット(マージ候補共有単位)内のすべての予測ユニットが共通マージ候補(現符号化ユニット1330の分割モードが 2N×2Nの場合に導出されるマージ候補)及び/又は単一マージ候補リストを共有することができる。すなわち、符号化ユニット(マージ候補共有単位)内のすべての予測ユニットが同一の位置のマージ候補を使用することができる。したがって、上述した共通マージ候補導出方法は、符号化の複雑度を減少させることができ、並列動き予測を容易にすることができる。
【0206】
上述した共通マージ候補導出方法は一つの実施例に過ぎず、共通マージ候補導出方法が適用される分割モードはN×2Nに限定されない。上述した共通マージ候補導出方法は、現符号化ユニット(及び/又は予測ユニット)の分割モードが2N×2Nモード、2N×Nモード、N×Nモード、2N×nUモード、2N×nDモード、nL×2Nモード又はnR×2Nモードなどの場合にも、同一か類似する方式を適用することができる。すなわち、一つの符号化ユニット内のすべての予測ユニットは符号化ユニット(及び/又は予測ユニット)の分割モードに関わらず、共通マージ候補及び/又は単一マージ候補リストを共有することができる。このとき、符号化器及び復号器は、符号化ユニット(及び/又は予測ユニット)の分割モードが2N×2Nの場合に使用されるマージ候補と同一の位置のブロックを共通マージ候補として使用することができる。
【0207】
例えば、現符号化ユニット(及び/又は予測ユニット)の分割モードがN×Nモードの場合にも、現符号化ユニット内のすべての予測ユニット(分割インデクスが0の予測ユニット、分割インデクスが1の予測ユニット、分割インデクスが2の予測ユニット及び分割インデクスが3の予測ユニット)は共通マージ候補及び/又は単一マージ候補リストを共有することができる。また、このとき、現符号化ユニット(及び/又は予測ユニット)の分割モードが2N×2Nの場合に使用されるマージ候補ブロックと同一の位置に存在するブロックの動き情報を、共通マージ候補として導出することができる。
【0208】
一般に予測ユニットのマージ候補ブロック及び/又はマージ候補は、予測ユニットに対する相対的な位置によって特定することができる。よって、一つの予測ユニットのマージ候補は、予測ユニット内の最も左上に位置するピクセルの座標(例えば、(xP,yP))と、予測ユニットの幅(例えば、nPbW)と、予測ユニットの高さ(例えば、nPbH)とを基準に決定することができる。
【0209】
しかし、共通マージ候補及び/又は単一マージ候補リストが使用される場合、共通マージ候補は符号化ユニット(及び/又は予測ユニット)の分割モードが2N×2Nの場合に導出されるマージ候補と同一であるため、符号化ユニットに対する相対的な位置によって特定することができる。よって、共通マージ候補及び/又は単一マージ候補リストが使用される場合、符号化器及び復号器は、予測ユニット内の最も左上に位置するピクセルの座標を、予測ユニットが属する符号化ユニット内の最も左上に位置するピクセルの座標(例えば、(xC,yC))に再設定することができる。また、符号化器及び復号器は、予測ユニットの幅及び予測ユニットの高さを、符号化ユニットの幅(例えば、nCS)及び符号化ユニットの高さ(例えば、nCS)に再設定することができる。このとき、符号化器及び復号器は、再設定された値に基づいて予測ユニットのマージ候補を決定することによって、予測ユニットが並列動き予測時に共通マージ候補を使用できるようにする。
【0210】
一方、上述したように一つのマージ候補共有単位内のすべての予測ユニットが共通マージ候補及び/又は単一マージ候補リストを共有する場合には、少しの符号化損失が発生し得る。よって、符号化器及び復号器はマージ候補共有フラグに基づいて、マージ候補導出方式及び/又はマージ候補リスト導出方式を選択的に決定することもできる。
【0211】
一例として、マージ候補共有フラグの値が1の場合、フラグはマージ候補共有単位内のすべての予測ユニットが共通マージ候補及び/又は単一マージ候補リストを共有する旨を指示する。これは図13の1330に示された共通マージ候補導出方式に該当する。また、マージ候補共有フラグの値が0の場合、フラグはそれぞれの予測ユニットに対して別個のマージ候補リストが導出されて使用される旨を指示する。これは図13の1310及び1320に示されたマージ候補導出方式に該当する。
【0212】
マージ候補共有フラグに関する具体的な内容は上述したので、ここでは省略する。
【0213】
図14は、マージ候補共有単位内の予測ユニットに対する共通マージ候補導出方法の別の実施例を概略示す図である。
【0214】
図14の1410及び1430はそれぞれ一つのLCU(及び/又は符号化木ブロック)を示す。図14の1430は図14の1410に示されたLCUと同一のLCUを更に示すものであるため、以下、図14の1410及び1430で互いに同一の構成要素は同一の参照符号によって指示される。
【0215】
一方、図14の実施例では説明の便宜上、一つのLCUが同一の大きさを持つ4つの正方形のMERから構成され、LCU内の予測ユニットに対するマージ候補共有単位はMER単位と同一であると仮定する。このとき、MERは符号化木ブロックを構成するそれぞれの符号化ユニットの大きさに応じて、符号化ユニットと同一の大きさを有してもよいし、符号化ユニットとは異なる大きさを有してもよい。図14の実施例でMERはマージ候補共有単位に該当するため、符号化ユニットがMERと同一の大きさを持つ場合、符号化ユニットはマージ候補共有単位に該当することもできる。例えば、MERの大きさが8×8のとき、現符号化ユニットの大きさが8×8であれば、現符号化ユニットはマージ候補共有単位に該当することもできる。図14の実施例は、マージ候補共有単位がMER単位の場合を基準に説明されているが、マージ候補共有単位が符号化ユニットの場合にも同一か、又は類似する方式を適用することができる。
【0216】
図14の1410を参照すれば、動き予測の対象になる現予測ユニット1415は一つのMER1413に含まれる。以下、図14の実施例において、現予測ユニット1415が属するMERは現MER1413と呼ぶ。図14の1410では、現予測ユニット1415のマージ候補1421,1423,1425,1427及び1429が示される。
【0217】
マージ候補ブロックとして使用されるブロック1421,1423,1425,1427及び1429のうち、ブロック1423,1425及び1427は現MER1413に属するブロックであって、現予測ユニット1415及び同一のMERに属するブロックである。よって、ブロック1423, 1425及び1427は並列動き予測時に符号化/復号が完了していないブロックに該当するため、現予測ユニット1415の並列動き予測に使用されない。また、現予測ユニット1415の動き予測時にはブロック1421及び1429の動き情報が利用可能でないこともある。これは符号化/復号の手順上、ブロックの符号化及び/又は復号が完了していない場合もあるためである。よって、現予測ユニットに対してマージモード(及び/又はスキップモード)動き予測が行われる場合、上述したマージ候補ブロック(現予測ユニット1415と同一のMERに属するブロック及び/又は並列動き予測時に符号化/復号が完了していないブロック)は利用可能でないものとして処理される。
【0218】
また、上述したように符号化器及び復号器はマージ候補共有単位内の複数の予測ユニットに対して、共通マージ候補及び/又は単一マージ候補リストを導出して使用することによって、並列動き予測を可能にする。
【0219】
図14の1430を参照すれば、MER(マージ候補共有単位)内の予測ユニットは共通マージ候補(及び/又は単一マージ候補リスト)を有する。すなわち、図14の1430で、MER内のすべての予測ユニットは共通マージ候補(例えば、ブロック1441,1443,1445,1447及び1449)を共有することができる。このとき、現予測ユニット1415は、図14の1410に示されたマージ候補1421,1423,1425,1427及び1429の代わりに共通マージ候補を使用することができる。
【0220】
ここで、一例として、共通マージ候補は、現MER1413と同一の大きさの符号化ユニット(及び/又は符号化ユニットに属する予測ユニット)が2N×2Nの分割モードを有する場合に導出されるマージ候補と同一であってもよい。すなわち、符号化器及び復号器は、現MER1413の外部に位置するブロックを共通マージ候補として使用することができ、共通マージ候補は現MER1413に対する相対的な位置によって特定することができる。
【0221】
一実施例として、符号化器及び復号器は、現MER1413の外部の左下隅に最も近く位置するブロック1441と、現MER1413の左側に隣接するブロックのうち最も下端に位置するブロック1443と、現MER1413の外部の右上隅に最も近く位置するブロック1449と、現MER1413の上端に隣接するブロックのうち最も右側に位置するブロック1447と、現MER1413の外部の左上隅に最も近く位置するブロック1445と、の動き情報を、現予測ユニット1415のマージ候補(共通マージ候補)として使用することができる。このとき、ブロックのうち利用可能な動き情報を持たないブロック(例えば、現MER1413の外部の右上隅に最も近く位置するブロック1449)が存在する場合、符号化器及び復号器は、当該ブロックを利用可能でないものとして処理するか、又は現予測ユニット1415のマージ候補ブロックとして使用しない。別の実施例として、符号化器及び復号器は、現MER1413の外部の左上隅に最も近く位置するブロック1445の代わりに、現MER1413の左側に隣接するブロック1444を現予測ユニット1415のマージ候補ブロックとして使用することもできる。このとき、ブロック1444は現MER1413の左側に隣接するブロックのうち中間に位置するブロックであってもよく、中間に位置するブロックの個数が2個である場合、2個のブロックのうち上端に位置するブロックであってもよい。
【0222】
図14の1430の実施例のように、一つのマージ候補共有単位内のすべての予測ユニットに対して共通マージ候補(及び/又は単一マージ候補リスト)が使用される場合には、利用可能でないものとして処理されるブロックの代わりに、利用可能な動き情報を含むブロックをマージ候補ブロックとして使用することができる。よって、このような場合には、共通マージ候補(及び/又は単一マージ候補リスト)が使用されない場合に比べて符号化/復号性能を向上させることができる。
【0223】
上述したように、符号化器及び復号器は、予測ユニットの周辺に位置するブロック(例えば、予測ユニットの外部の左下隅に最も近く位置するブロックと、予測ユニットの左側に隣接するブロックのうち最も下端に位置するブロックと、予測ユニットの外部の右上隅に最も近く位置するブロックと、予測ユニットの上端に隣接するブロックのうち最も右側に位置するブロックと、予測ユニットの外部の左上隅に最も近く位置するブロックと)の代わりに、予測ユニットが属するMERの外部に位置するブロックを予測ユニットのマージ候補ブロックとして使用することができる。以下、本明細書では、予測ユニットの周辺に位置するブロックから導出されるマージ候補を代替するために、予測ユニットが属するMERの外部に位置するブロックから導出されるマージ候補をMERマージ候補と呼ぶ。
【0224】
図14の実施例はMERマージ候補導出方法の実施例と見なすこともできる。図14の実施例では、一つのマージ候補共有単位内のすべての予測ユニットが共通マージ候補(及び/又は単一マージ候補リスト)を共有することができる。よって、図14では、一つのMER(マージ候補共有単位)内のすべての予測ユニットが同一のMERマージ候補を有することができる。MERマージ候補は、図14の実施例のように一つのMER内のすべての予測ユニットに対する共通マージ候補として導出することもできるし、一つのMERに含まれた予測ユニットそれぞれに対して別個に導出することもできる。 これに関連して、以下、MERマージ候補導出方法の実施例を更に説明する。
【0225】
図15は、MERマージ候補導出方法の実施例を概略示す図である。図15の1510及び1520はそれぞれ一つのMERを示す。
【0226】
図15の1510を参照すれば、現MER1510に含まれた現予測ユニット1515は、5個の空間的マージ候補A0,A1,B0,B1及びB2を有することができる。しかし、図14で説明したように、空間的マージ候補に対応するブロックは並列動き予測時に利用可能な動き情報を含まないこともあるため、利用可能でないものとして処理される。このとき、空間的マージ候補A0,A1,B0,B1及びB2は、それぞれ図15の1510に示されたMERマージ候補A0’ ,A1’ ,B0’ ,B1’及びB2’に代替できる。すなわち、符号化器及び復号器は、MERマージ候補A0’ ,A1’ ,B0’ ,B1’及びB2’を現予測ユニット1515のマージ候補として使用することができる。図15の1510に示されたMERマージ候補の位置は図14の実施例と実質的に同一であるため、これに関する具体的な説明は省略する。
【0227】
図15の1520を参照すれば、現MER1520に含まれた現予測ユニット1525は、図15の1510のように5個の空間的マージ候補A0,A1,B0,B1及びB2を有する。このとき、マージ候補A0,A1,B0及びB1の位置は次の座標によって特定、すなわち表される。
【0228】
0:(x-1,y+nPSH-1)
1:(x-1,y+nPSH)
0:(x+nPSW-1,y-1)
1:(x+nPSW,y-1)
ここで、(x,y)は現予測ユニット1525内の最も左上に位置するピクセルの座標を示し、座標は現予測ユニット1525が属するピクチャの最も左上位置を基準に決定される。また、nPSHは現予測ユニット1525の高さを示し、nPSWは現予測ユニット1525の幅を示す。
【0229】
一方、図15の1510のように、空間的マージ候補に対応するブロックは、並列動き予測時に利用可能な動き情報を含まないこともあるため、利用可能でないものとして処理される。このとき、空間的マージ候補A0,A1,B0,B1及びB2はそれぞれ図15の1510に示されたMERマージ候補A0’,A1’,B0’,B1’及びB2’に代替できる。すなわち、符号化器及び復号器は、MERマージ候補A0’,A1’,B0’,B1’及びB2’を現予測ユニット1515のマージ候補として使用することができる。
【0230】
ここで、MERマージ候補A0’は、現MER1520の左側に隣接するブロックのうちブロックA0と同一の水平位置を有するブロックA0’に基づいて導出され、MERマージ候補A1’は、現MER1520の左側に隣接するブロックのうちブロックA1と同一の水平位置を有するブロックA1’に基づいて導出される。また、MERマージ候補B1’は、現MER1520の上端に隣接するブロックのうちブロックB0と同一の垂直位置を有するブロックB1’に基づいて導出され、MERマージ候補B0’は、ブロックB1’の右側に隣接するブロックB0’に基づいて導出される。このとき、MERマージ候補 A0’,A1’,B0’及びB1’の位置は次の座標によって特定、すなわち表される。
【0231】
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)
ここで、nMERはMERの大きさ(幅/高さ)の対数値を示す。
【0232】
また、図15の1520において、符号化器及び復号器はマージ候補B2を利用可能でないものとして処理して使用しなくてもよいし、MERマージ候補B2’に代替してもよい。MERマージ候補B2’が現予測ユニット1525のマージ候補として使用される場合、MERマージ候補B2’は、現MER1520の左側に隣接するブロックのうちブロックB2と同一の水平位置を有する左側ブロック1531、又は現MER1520の上端に隣接するブロックのうちブロックB2と同一の垂直位置を有する上端ブロック1533に基づいて導出することができる。一例として、符号化器及び復号器は、左側ブロック1531が利用可能であるか否かをチェックすることができる。このとき、符号化器及び復号器は、左側ブロック1531が利用可能な場合、左側ブロック1531に基づいてMERマージ候補B2’を導出し、左側ブロック1531が利用可能でない場合、上端ブロック1533に基づいてMERマージ候補B2’を導出することができる。
【0233】
図15の1520の実施例では、図15の1510の実施例に比べて現予測ユニット1520により近く位置するブロックがマージ候補ブロックとして使用することができるため、符号化効率を向上させることができる。
【0234】
一方、現予測ユニット1525のMERマージ候補が導出されると、符号化器及び復号器は、導出されたMERマージ候補に基づいてマージ候補リストを生成することができる。このとき、複数のMERマージ候補は所定の順序でマージ候補リストに追加されるか、及び/又は挿入することができる。マージ候補リストに先に追加されるMERマージ候補には小さい値のマージインデクスが割り当てられるため、現予測ユニットの動き導出に使用される可能性の高いMERマージ候補を優先的にマージ候補リストに追加することによって、符号化器から復号器に伝送される情報量を減少させることができる。このため、符号化器及び復号器は、現予測ユニット1520により近く位置するブロックに対応するMERマージ候補を優先的にマージ候補リストに追加する。
【0235】
現予測ユニット1520からMERまでの水平距離は、現予測ユニット1520内の最も左上に位置するピクセルからMERの左側境界までの距離によって表される。また、現予測ユニット1520からMERまでの垂直距離は、現予測ユニット1520内の最も左上に位置するピクセルからMERの上端境界までの距離によって表される。よって、現予測ユニット1520からMERまでの水平距離及び垂直距離は、一例として、次の式1によって表される。
【0236】
(式1)
distX=x%nMER
distY=y%nMER
ここで、distXは現予測ユニット1520からMERまでの水平距離を示し、 distYは現予測ユニット1520からMERまでの水平距離を示す。(x,y)は現予測ユニット1520内の最も左上に位置するピクセルの座標を示し、nMERはMERの大きさを示す。
【0237】
例えば、distXの値がdistYの値より小さい場合には、MERの左側に隣接するブロックがMERの上端に隣接するブロックより現予測ユニット1520に近いため、符号化器及び復号器は、MERマージ候補A1’及びA0’をそれぞれB1’及びB0’より先にマージ候補リストに追加する。一実施例として、distXの値がdistYの値より小さいとき、MERマージ候補はA1’,A0’,B1’,B0’ の順序でマージ候補リストに追加される。そうでないときは(distXの値がdistYの値より大きいか、又は同じであるとき)、MERマージ候補はB1’,B0’,A1’,A0’の順序でマージ候補リストに追加される。別の実施例として、distXの値がdistYの値より小さいとき、MERマージ候補はA1’,B1’,A0’,B0’の順序でマージ候補リストに追加される。そうでないときは(distXの値がdistYの値より大きいか、又は同じであるとき)、MERマージ候補はB1’,A1’,B0’,A0’の順序でマージ候補リストに追加される。
【0238】
図16は、MERマージ候補導出方法の別の実施例を概略示す図である。図16の1610は一つのMERを示す。
【0239】
図16を参照すれば、一つのMER1610は複数の予測ユニットを含むことができる。以下、図16の実施例に限って、予測ユニット内の最も左上に位置するピクセルを左上ピクセルと呼び、予測ユニット内の最も右上に位置するピクセルを右上ピクセルと呼び、予測ユニット内の最も左下に位置するピクセルを左下ピクセルと呼ぶ。図16の実施例では、MER1610に属する複数の予測ユニットそれぞれに対して、4個のMERマージ候補を導出することができる。
【0240】
図16では、MERの上端に隣接する二つのブロックの動き情報及びMERの左側に隣接する二つのブロックの動き情報を、一つの予測ユニットに対するMERマージ候補として使用することができる。ここで、MERの上端に隣接する二つのブロックはそれぞれ、予測ユニットの左上ピクセルと同一の垂直線上に位置するピクセルを含むブロック及び予測ユニットの右上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、MERの左側に隣接する二つのブロックはそれぞれ、予測ユニットの左上ピクセルと同一の水平線上に位置するピクセルを含むブロック及び予測ユニットの左下ピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【0241】
図16を参照すれば、予測ユニットPU0はMERの上端に隣接する二つのブロックT0,T1の動き情報及びMERの左側に隣接する二つのブロックL0,L1の動き情報を、MERマージ候補として使用することができる。ここで、ブロックT0は予測ユニットPU0の左上ピクセルと同一の垂直線上に位置するピクセルを含むブロックであり、ブロックT1は予測ユニットPU0の右上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、ブロックL0は予測ユニットPU0の左上ピクセルと同一の水平線上に位置するピクセルを含むブロックであり、ブロックL1は予測ユニットPU0の左下ピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【0242】
さらに図16を参照すれば、予測ユニットPU1はMERの上端に隣接する二つのブロックT2,T3の動き情報及びMERの左側に隣接する二つのブロックL2,L3の動き情報をMERマージ候補として使用することができる。ここで、ブロックT2は予測ユニットPU1の左上ピクセルと同一の垂直線上に位置するピクセルを含むブロックであり、ブロックT3は予測ユニットPU1の右上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、ブロックL2は予測ユニットPU1の左上ピクセルと同一の水平線上に位置するピクセルを含むブロックであり、ブロックL3は予測ユニットPU1の左下ピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【0243】
図17は、MERマージ候補導出方法のまた別の実施例を概略示す図である。図17の1710は一つのMERを示す。
【0244】
図17を参照すれば、一つのMER1710は複数の予測ユニットを含むことができる。以下、図17の実施例に限って、予測ユニット内の最も左上に位置するピクセルを左上ピクセルと呼び、予測ユニット内の最も右上に位置するピクセルを右上ピクセルと呼び、予測ユニット内の最も左下に位置するピクセルを左下ピクセルと呼ぶ。図17の実施例では図16の実施例と同様に、MER1710に属する複数の予測ユニットそれぞれに対して、4個のMERマージ候補を導出することができる。
【0245】
図17では、MERの上端に隣接する二つのブロック(ここで、二つのブロックはそれぞれMERの外部の左上隅に最も近く位置するブロック又はMERの外部の右上隅に最も近く位置するブロックである。以下、同じ。)の動き情報及びMERの左側に隣接する二つのブロック(ここで、二つのブロックはそれぞれMERの外部の左上隅に最も近く位置するブロック、又はMERの外部の左下隅に最も近く位置するブロックである。以下、同じ。)の動き情報を一つの予測ユニットに対するMERマージ候補として使用することができる。ここで、MERの上端に隣接する二つのブロックはそれぞれ、左上ピクセル(予測ユニット内のピクセル)の左側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロック、及び右上ピクセル(予測ユニット内のピクセル)の右側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、MERの左側に隣接する二つのブロックはそれぞれ、左上ピクセル(予測ユニット内のピクセル)の上端に隣接するピクセルと同一の水平線上に位置するピクセルを含むブロック、及び左下ピクセル(予測ユニット内のピクセル)の下端に隣接するピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【0246】
図17を参照すれば、予測ユニットPU0は、MERの上端に隣接する二つのブロックT0,T1の動き情報及びMERの左側に隣接する二つのブロックL0,L1の動き情報をMERマージ候補として使用することができる。ここで、ブロックT0は左上ピクセル(予測ユニットPU0内のピクセル)の左側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックである。ブロックT1は右上ピクセル(予測ユニットPU0内のピクセル)の右側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、ブロックL0は、左上ピクセル(予測ユニットPU0内のピクセル)の上端に隣接するピクセルと同一の水平線上に位置するピクセルを含むブロックである。そして、ブロックL1は、左下ピクセル(予測ユニットPU0内のピクセル)の下端に隣接するピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【0247】
図18は、MERマージ候補導出方法のまた別の実施例を概略示す図である。図18の1810は一つのMERを示す。
【0248】
図18を参照すれば、一つのMER1810は複数の予測ユニットを含むことができる。以下、図18の実施例に限って、予測ユニット内の最も左上に位置するピクセルは左上ピクセルと呼ぶ。図18の実施例では、MER1810に属する複数の予測ユニットそれぞれに対して、二つのMERマージ候補を導出することができる。
【0249】
図18の実施例では、MERの上端に隣接する一つのブロックの動き情報及びMERの左側に隣接する一つのブロックの動き情報を、一つの予測ユニットに対するMERマージ候補として使用することができる。ここで、MERの上端に隣接するブロックは、予測ユニットの左上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、MERの左側に隣接するブロックは、予測ユニットの左上ピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【0250】
図18を参照すれば、予測ユニットPU0は、MERの上端に隣接する一つのブロックTの動き情報及びMERの左側に隣接する一つのブロックLの動き情報をMERマージ候補として使用することができる。ここで、ブロックTは、予測ユニットPU0の左上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、ブロックLは、予測ユニットPU0の左上ピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【0251】
図19は、MERマージ候補導出方法のまた別の実施例を概略示す図である。図19の1910は一つのMERを示す。
【0252】
図19を参照すれば、一つのMER1910は複数の予測ユニットを含むことができる。以下、図19の実施例に限って、予測ユニット内の最も右上に位置するピクセルを右上ピクセルと呼び、予測ユニット内の最も左下に位置するピクセルを左下ピクセルと呼ぶ。図19の実施例では図18の実施例と同様に、MER1910に属する複数の予測ユニットそれぞれに対して、二つのMERマージ候補を導出することができる。
【0253】
図19の実施例では、MERの上端に隣接する一つのブロックの動き情報及びMERの左側に隣接する一つのブロックの動き情報を、一つの予測ユニットに対するMERマージ候補として使用することができる。ここで、MERの上端に隣接するブロックは、予測ユニットの右上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、MERの左側に隣接するブロックは、予測ユニットの左下ピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【0254】
図19を参照すれば、予測ユニットPU0は、MERの上端に隣接する一つのブロックTの動き情報及びMERの左側に隣接する一つのブロックLの動き情報を、MERマージ候補として使用することができる。ここで、ブロックTは、予測ユニットPU0の右上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、ブロックLは、予測ユニットPU0の左下ピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【0255】
図20は、MERマージ候補導出方法のまた別の実施例を概略示す図である。図20の2010は一つのMERを示す。
【0256】
図20を参照すれば、一つのMER2010は複数の予測ユニットを含むことができる。以下、図20の実施例に限って、予測ユニット内の最も左上に位置するピクセルを左上ピクセルと呼び、予測ユニット内の最も右上に位置するピクセルを右上ピクセルと呼び、予測ユニット内の最も左下に位置するピクセルを左下ピクセルと呼ぶ。図20の実施例では、MER2010に属する複数の予測ユニットそれぞれに対して、4個のMERマージ候補を導出することができる。
【0257】
図20では、MER内の予測ユニットの位置に基づいて、予測ユニットのMERマージ候補を導出することができる。すなわち、予測ユニットのMERマージ候補は、予測ユニットからMERまでの水平距離及び垂直距離に基づいて導出することができる。ここで、予測ユニットからMERまでの水平距離とは、予測ユニットの左上ピクセルからMERの左側境界までの距離を意味する。また、予測ユニットからMERまでの垂直距離とは、予測ユニットの左上ピクセルからMERの上端境界までの距離を意味する。
【0258】
一例として、予測ユニットからMERまでの水平距離が垂直距離より近い場合には、MERの左側に隣接する四つのブロック(ここで、四つのブロックのうち二つのブロックはそれぞれMERの外部の左上隅に最も近く位置するブロック又はMERの外部の左下隅に最も近く位置するブロックである。以下、同じ。)の動き情報を、予測ユニットのMERマージ候補として使用することができる。MERの左側に隣接する四つのブロックはそれぞれ、左上ピクセル(予測ユニット内のピクセル)の上端に隣接するピクセルと同一の水平線上に位置するピクセルを含むブロックと、左上ピクセル(予測ユニット内のピクセル)と同一の水平線上に位置するピクセルを含むブロックと、左下ピクセル(予測ユニット内のピクセル)と同一の水平線上に位置するピクセルを含むブロックと、左下ピクセル(予測ユニット内のピクセル)の下端に隣接するピクセルと同一の水平線上に位置するピクセルを含むブロックと、である。
【0259】
又は、MERの上端に隣接する四つのブロック(ここで、四つのブロックのうち二つのブロックはそれぞれMERの外部の左上隅に最も近く位置するブロック又はMERの外部の右上隅に最も近く位置するブロックである。以下、同じ。)の動き情報を、予測ユニットのMERマージ候補として使用することができる。ここで、MERの上端に隣接する四つのブロックはそれぞれ、左上ピクセル(予測ユニット内のピクセル)の左側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックと、左上ピクセル(予測ユニット内のピクセル)と同一の垂直線上に位置するピクセルを含むブロックと、右上ピクセル(予測ユニット内のピクセル)と同一の垂直線上に位置するブロックと、右上ピクセル(予測ユニット内のピクセル)の右側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックとである。
【0260】
図20を参照すれば、予測ユニットPU0に対してはMERまでの垂直距離が水平距離よりもっと近い。よって、予測ユニットPU0は、MERの上端に隣接する四つのブロックT0,T1,T2,T3の動き情報をMERマージ候補として使用することができる。ここで、ブロックT0は、左上ピクセル(予測ユニットPU0内のピクセル)の左側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックである。ブロックT1は、左上ピクセル(予測ユニットPU0内のピクセル)と同一の垂直線上に位置するピクセルを含むブロックである。また、ブロックT2は、右上ピクセル(予測ユニットPU0内のピクセル)と同一の垂直線上に位置するピクセルを含むブロックである。そして、ブロックT3は、右上ピクセル(予測ユニットPU0内のピクセル)の右側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックである。
【0261】
さらに図20を参照すれば、予測ユニットPU1に対してはMERまでの水平距離が垂直距離よりもっと近い。よって、予測ユニットPU1は、MERの左側に隣接する四つのブロックL0,L1,L2,L3の動き情報をMERマージ候補として使用することができる。ここで、ブロックL0は、左上ピクセル(予測ユニットPU1内のピクセル)の上端に隣接するピクセルと同一の水平線上に位置するピクセルを含むブロックである。ブロックL1は、左上ピクセル(予測ユニットPU1内のピクセル)と同一の水平線上に位置するピクセルを含むブロックである。また、ブロックL2は、左下ピクセル(予測ユニットPU1内のピクセル)と同一の水平線上に位置するピクセルを含むブロックである。そして、ブロックL3は、左下ピクセル(予測ユニットPU1内のピクセル)の下端に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックである。
【0262】
図21は、MERマージ候補導出方法のまた別の実施例を概略示す図である。図21の2110は一つのMERを示す。
【0263】
図21を参照すれば、一つのMER2110は複数の予測ユニットを含むことができる。以下、図21の実施例に限って、予測ユニット内の最も左上に位置するピクセルを左上ピクセルと呼び、予測ユニット内の最も右上に位置するピクセルを右上ピクセルと呼び、予測ユニット内の最も左下に位置するピクセルを左下ピクセルと呼ぶ。図21の実施例では、MER2110に属する複数の予測ユニットそれぞれに対して、2個のMERマージ候補を導出することができる。
【0264】
図21ではMER内の予測ユニットの位置に基づいて、予測ユニットのMERマージ候補が導出することができる。すなわち、予測ユニットのMERマージ候補は、予測ユニットからMERまでの水平距離及び垂直距離に基づいて導出することができる。ここで、予測ユニットからMERまでの水平距離とは、予測ユニットの左上ピクセルからMERの左側境界までの距離を意味する。また、予測ユニットからMERまでの垂直距離とは、予測ユニットの左上ピクセルからMERの上端境界までの距離を意味する。
【0265】
一例として、予測ユニットからMERまでの水平距離が垂直距離より近い場合には、MERの左側に隣接する二つのブロック(ここで、二つのブロックはそれぞれMERの外部の左上隅に最も近く位置するブロック又はMERの外部の左下隅に最も近く位置するブロックである。以下、同じ。)の動き情報を、予測ユニットのMERマージ候補として使用することができる。MERの左側に隣接する二つのブロックはそれぞれ、予測ユニットの左上ピクセルと同一の水平線上に位置するピクセルを含むブロックと、予測ユニットの左下ピクセルと同一の水平線上に位置するピクセルを含むブロックとである。
【0266】
又は、MERの上端に隣接する二つのブロック(ここで、二つのブロックは、それぞれMERの外部の左上隅に最も近く位置するブロック又はMERの外部の右上隅に最も近く位置するブロックである。以下、同じ。)の動き情報を、予測ユニットのMERマージ候補として使用することができる。ここで、MERの上端に隣接する2つのブロックはそれぞれ、予測ユニットの左上ピクセルと同一の垂直線上に位置するピクセルを含むブロック、及び予測ユニットの右上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。
【0267】
図21を参照すれば、予測ユニットPU0に対してはMERまでの垂直距離が水平距離よりもっと近い場合がある。よって、予測ユニットPU0は、MERの上端に隣接する二つのブロックT0,T1の動き情報をMETマージ候補として使用することができる。ここで、ブロックT0は、予測ユニットPU0の左上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。また、ブロックT1は、予測ユニットPU0の右上ピクセルと同一の垂直線上に位置するピクセルを含むブロックである。
【0268】
さらに図21を参照すれば、予測ユニットPU1に対してはMERまでの水平距離が垂直距離よりもっと近い場合がある。よって、予測ユニットPU1は、MERの左側に隣接する二つのブロックL0,L1の動き情報をMERマージ候補として使用することができる。ここで、ブロックL0は、予測ユニットPU1の左上ピクセルと同一の水平線上に位置するピクセルを含むブロックである。また、ブロックL1は、予測ユニットPU1の左下ピクセルと同一の水平線上に位置するピクセルを含むブロックである。
【0269】
図22は、MERマージ候補導出方法のまた別の実施例を概略示す図である。図22の2210は一つのMERを示す。
【0270】
図22を参照すれば、一つのMER2210は複数の予測ユニットを含むことができる。以下、図22の実施例に限って、予測ユニット内の最も右上に位置するピクセルは右上ピクセルと言い、予測ユニット内の最も左下に位置するピクセルは左下ピクセルと言う。
【0271】
さらに図22を参照すれば、予測ユニットPU0は、5個の空間的マージ候補A0,A1,B0,B1及びB2を有することができる。しかし、上述したように空間的マージ候補は、マージモード及び/又はスキップモードにおける並列動き予測時に利用可能でないこともある。一例として、マージ候補として使用されるブロックが予測ユニットPU0と同一のMERに含まれた場合、ブロックは動き予測時に符号化/復号が完了していないブロックに該当するため、予測ユニットPU0の並列動き予測に使用することができない。また、マージ候補として使用されるブロックは符号化/復号の手順上、予測ユニットPU0の並列動き予測時に符号化及び/又は復号が完了していない場合もある。
【0272】
一方、図22の実施例では、MER2210に属する予測ユニットPU0に対して、最大4個のMERマージ候補が導出することができる。4個のMERマージ候補は、MERの上端に隣接する二つのブロックT0,T1(ここで、二つのブロックのうち一つはMERの外部の右上隅に最も近く位置するブロックである。以下、同じ。)の動き情報、及びMERの左側に隣接する二つのブロックL0,L1(ここで、二つのブロックのうち一つはMERの外部の左下隅に最も近く位置するブロックである。以下、同じ。)の動き情報である。ここで、MERの上端に隣接する二つのブロックはそれぞれ、右上ピクセル(予測ユニットPU0内のピクセル)と同一の垂直線上に位置するブロックT0と、右上ピクセル(予測ユニットPU0内のピクセル)の右側に隣接するピクセルと同一の垂直線上に位置するピクセルを含むブロックT1とである。また、MERの左側に隣接する2つのブロックはそれぞれ、左下ピクセル(予測ユニットPU0内のピクセル)と同一の水平線上に位置するブロックL0と、左下ピクセル(予測ユニットPU0内のピクセル)の下端に隣接するピクセルと同一の水平線上に位置するピクセルを含むブロックL1とである。
【0273】
このとき、符号化器及び復号器は、予測ユニットPU0が有するマージ候補A0,A1,B0及びB1のうち利用可能でないマージ候補に対してだけ、これに対応するMERマージ候補を導出する。MER内の予測ユニットが有する空間的マージ候補それぞれが並列動き予測時に利用可能でないか否かは予測ユニットの位置によって決定されるため、この場合、予測ユニットPU0に対して導出されるMERマージ候補は予測ユニットの位置に基づいて決定されると考えることもできる。
【0274】
図22を参照すれば、予測ユニットPU0のマージ候補A1が並列マージモード/並列スキップモード動き予測時に利用可能でない場合、L0ブロックの動き情報を予測ユニットPU0のMERマージ候補として使用することができる。また、予測ユニットPU0のマージ候補A0が並列マージモード/並列スキップモード動き予測時に利用可能でない場合、L1ブロックの動き情報を予測ユニットPU0のMERマージ候補として使用することができる。そして、予測ユニットPU0のマージ候補B1が並列マージモード/並列スキップモード動き予測時に利用可能でない場合、T0ブロックの動き情報が予測ユニットPU0のMERマージ候補として使用され、予測ユニットPU0のマージ候補B0が並列マージモード/並列スキップモード動き予測時に利用可能でない場合には、T1ブロックの動き情報が予測ユニットPU0のMERマージ候補として使用することができる。
【0275】
図23は、MERマージ候補導出方法のまた別の実施例を概略示す図である。図23の2310は一つのMERを示す。
【0276】
図23を参照すれば、MER2310に含まれた予測ユニットPU02320は、5個の空間的マージ候補A0,A1,B0,B1及びB2を有することができる。また、図23に示されてはいないが、図7で説明したように、予測ユニットPU02320は時間的マージ候補も有することができる。
【0277】
図22で説明したように、MER内の任意の予測ユニットの空間的マージ候補は、マージモード及び/又はスキップモードにおける並列動き予測時に利用可能でないこともある。図23の実施例で、予測ユニットPU02320の空間的マージ候補の導出に使用されるブロックはいずれも予測ユニットPU02320と同一のMERに含まれているため、予測ユニットPU02320の空間的マージ候補は利用可能でないものとして処理されてマージ候補リストに含まれない。
【0278】
一方、上述したように、マージ候補リストを構成するマージ候補の個数は所定の固定された個数に制限することができる。図23の実施例では、説明の便宜上、マージ候補リストを構成するマージ候補の個数は5個に制限されると仮定する。このとき、予測ユニットに対して導出される利用可能なマージ候補(空間的マージ候補及び時間的マージ候補)の個数は上述した理由で5個より少なくてもよく、利用可能な空間的マージ候補及び時間的マージ候補がいずれもマージ候補リストに追加されてもマージ候補リストが完全に満たされないこともある。このとき、時間的マージ候補が最後にマージ候補リストに追加された後、符号化器及び復号器はMERマージ候補を導出して所定の手順でマージ候補リストに追加で挿入することによって、マージ候補リストを構成するマージ候補の個数が5個になるようにすることができる。すなわち、符号化器及び復号器は、マージ候補リストを構成するマージ候補の個数が5個になるまでMERマージ候補をマージ候補リストに追加するか挿入することができる。
【0279】
図23を参照すれば、ブロックL0,L1,T0及びT1の動き情報が、予測ユニットPU02320のマージ候補リストに追加で挿入されるMERマージ候補として使用することができる。ここで、ブロックL0はMERの左側に隣接するブロックのうち最も上端に位置するブロックであり、ブロックL1はMERの左側に隣接するブロックのうち最も下端に位置するブロックである。また、ブロックT0はMERの上端に隣接するブロックのうち最も左側に位置するブロックであり、ブロックT1はMERの上端に隣接するブロックのうち最も右側に位置するブロックである。
【0280】
マージ候補リストを構成するマージ候補の個数が5個になるようにするために、マージ候補リストに追加で挿入されるMERマージ候補の個数は、予測ユニットの位置などによって変えてもよい。よって、上述したMERマージ候補がマージ候補リストに挿入される順序は予め定められていてもよい。一実施例として、符号化器及び復号器はブロックL1に対応するMERマージ候補、ブロックT1に対応するMERマージ候補、ブロックL0に対応するMERマージ候補、ブロックT0に対応するMERマージ候補の順序で、MERマージ候補をマージ候補リストに追加で挿入することができる。
【0281】
図24は、MERマージ候補導出方法のまた別の実施例を概略示す図である。図24の2410は一つのMERを示す。
【0282】
図24を参照すれば、MER2410に含まれた予測ユニットPU02420は、5個の空間的マージ候補A0,A1,B0,B1及びB2を有することができる。また、図24に示されてはいないが、図7で説明したように、予測ユニットPU02420は時間的マージ候補も有することができる。しかし、図23で説明したように、MER内の任意の予測ユニットの空間的マージ候補は、マージモード及び/又はスキップモードにおける並列動き予測時に利用可能でないものとして処理されてマージ候補リストに含まれない。
【0283】
このとき、符号化器及び復号器は図23の実施例と同一の方式でMERマージ候補を導出して、所定の順序でマージ候補リストに追加で挿入することができる。例えば、マージ候補リストを構成するマージ候補の個数が5個に制限される場合、符号化器及び復号器は、マージ候補リストを構成するマージ候補の個数が5個になるまでMERマージ候補をマージ候補リストに追加するか、又は挿入することができる。
【0284】
図24を参照すれば、ブロックL1及びT1の動き情報が、予測ユニットPU02420のマージ候補リストに追加で挿入されるMERマージ候補として使用することができる。ここで、ブロックL1は、MERの左側に隣接するブロックのうち最も下端に位置するブロックである。また、ブロックT1は、MERの上端に隣接するブロックのうち最も右側に位置するブロックである。
【0285】
また、図23で説明したように、マージ候補リストに追加で挿入されるMERマージ候補の個数は予測ユニットの位置などによって変わってもよい。よって、図24の実施例で、MERマージ候補がマージ候補リストに挿入される順序は予め定められていてもよい。一実施例として、符号化器及び復号器は、ブロックL1に対応するMERマージ候補、ブロックT1に対応するMERマージ候補の順序で、MERマージ候補をマージ候補リストに追加で挿入することができる。
【0286】
一方、上述した図13ないし図24の実施例のように、一つの予測ユニットに対して共通マージ候補及び/又はMERマージ候補が導出された場合、導出された共通マージ候補及び/又はMERマージ候補は、予測ユニットのマージ候補リストに追加されるか挿入することができる。以下、後述する実施例では、説明の便宜上、共通マージ候補及びMERマージ候補は並列マージ候補と総称する。
【0287】
並列マージ候補が適用されない場合、予測ユニットの空間的マージ候補は図7で説明したように、予測ユニットに隣接して位置するブロック及び現ブロックの外部隅に最も近く位置するブロックから導出することができる。また、予測ユニットの時間的マージ候補は、参照ピクチャに含まれた同一位置ブロックから導出することができる。以下、図7の実施例のように並列マージ候補が適用されない場合、予測ユニットのために使用されるマージ候補をPUマージ候補と呼ぶ。
【0288】
上述したように、一つの予測ユニットのPUマージ候補に該当する空間的な候補の中では予測ユニットと同一のMERに含まれたマージ候補があり得る。このとき、予測ユニットと同一のMERに含まれたマージ候補は並列動き予測時に利用可能な動き情報を含まないこともある。よって、予測ユニットに対して導出される利用可能なPUマージ候補の個数は、マージ候補リストを構成するために必要なマージ候補の個数より少なくてもよい。ここで、マージ候補リストを構成するために必要なマージ候補の個数は予め定められた値であってもよい。例えば、マージ候補リストを構成するマージ候補の個数は5個であってもよい。
【0289】
この場合、符号化器及び復号器は、並列マージ候補を所定の順序でマージ候補リストに追加で挿入することができる。このとき、マージ候補リストに追加で挿入される並列マージ候補は、マージ候補リスト内で利用可能なPUマージ候補の後に位置する。すなわち、マージ候補は、PUマージ候補、並列マージ候補の順序でマージ候補リストに挿入することができる。
【0290】
例えば、現予測ユニットに対して図7の720のようなPUマージ候補が適用されると仮定する。このとき、符号化器及び復号器は、現予測ユニットの外部の左下隅に最も近く位置するブロックA0と、現予測ユニットの左側に隣接するブロックのうち最も下端に位置するブロックA1と、現予測ユニット外部の右上隅に最も近く位置するブロックB0と、現予測ユニットの上端に隣接するブロックのうち最も右側に位置するブロックB1と、現予測ユニットの外部の左上隅に最も近く位置するブロックB2と、同一位置ブロックCOLの動き情報とを、現予測ユニットのPUマージ候補として使用することができる。このとき、一例として、マージ候補リストにはPUマージ候補がA1、B1、B0、A0、B2、COLの順序で追加されるか、及び/又は挿入することができる。
【0291】
しかし、現予測ユニットがMERの内部に存在する場合、マージモード及び/又はスキップモード並列動き予測の実行時に、PUマージ候補に該当する空間的マージ候補A1,B1,B0,A0,B2が利用可能でないこともある。この場合、PUマージ候補に該当する時間的マージ候補COLのみがマージ候補リストに追加される。
【0292】
このとき、符号化器及び復号器は、マージ候補リストに追加されたPUマージ候補の後に並列マージ候補を挿入することができる。例えば、現予測ユニットに対して導出された並列マージ候補をそれぞれA1’,B1’,B0’,A0’及びB2’とする。このとき、PUマージ候補に該当する時間的マージ候補及び並列マージ候補は、COL,A1’,B1’,B0’,A0’及びB2’の順序でマージ候補リストに追加されるか、及び/又は挿入することができる。このとき、符号化器及び復号器は、マージ候補リストを構成するマージ候補の個数が最大個数(例えば、5個)になるまで並列マージ候補を追加することができる。
【0293】
一方、利用可能なPUマージ候補及び利用可能な並列マージ候補がいずれもマージ候補リストに追加された場合にも、マージ候補リストが完全に満たされない場合が発生し得る。このような場合、符号化器及び復号器は、既にマージ候補リストに追加されたマージ候補に基づいて新たなマージ候補を導出してマージ候補リストに追加することができる。このとき、符号化器はPUマージ候補だけでなく、並列マージ候補も新たなマージ候補を導出するために使用することができる。
【0294】
既にマージ候補リストに追加されたマージ候補に基づいて導出される新たなマージ候補としては、結合双方向予測候補(combined bi-predictive candidate、CB)、未調整双方向予測候補(non-scaled bi-predictive candidate、NB)及び/又は零動き候補(zero motion candidate、Zero)などがある。ここで、CBは、既にマージ候補リストに追加されたマージ候補のうち二つのマージ候補に基づいて導出することができる。例えば、CBのL0動き情報は二つのマージ候補のうち一つに基づいて導出され、CBのL1動き情報は二つのマージ候補のうち他の一つに基づいて導出することができる。すなわち、CBは、二つのマージ候補それぞれの動き情報を組み合わせることによって導出することができる。また、NBのL0動き情報及びL1動き情報は、既にマージ候補リストに追加されたマージ候補のうち一つのマージ候補に基づいて、所定の条件及び演算を通じて導出することができる。そして、Zeroは零ベクトル(0,0)を含む動き情報を意味する。
【0295】
新たに導出されてマージ候補リストに追加で挿入されるマージ候補CB、NB及びZeroは、マージ候補リスト内で利用可能なPUマージ候補及び利用可能な並列マージ候補の後に位置することができる。すなわち、マージ候補は、PUマージ候補、並列マージ候補、及びPUマージ候補と並列マージ候補に基づいて導出されたCB、NB、Zeroの順序でマージ候補リストに挿入することができる。例えば、一つの予測ユニットに対して三つのCB(CB0,CB1,CB2)、一つのNB(NB0)、一つのZeroが導出されると仮定するとき、マージ候補リストにはマージ候補がCOL、A1’、B1’、B0’、A0’、B2’、CB0、CB1、CB2、NB0及びZeroの順序で追加されるか及び/又は挿入することができる。このとき、符号化器及び復号器は、マージ候補リストを構成するマージ候補の個数が最大個数(例えば、5個)になるまで並列マージ候補を追加することができる。
【0296】
上述した実施例で、この方法は、一連のステップ又はブロックとしてフローチャートに基づいて説明されているが、本発明はステップの順序に限定されるものではなく、いずれのステップは上述したものと異なるステップと異なる順序で、又は同時に発生することができる。また、当業者であれば、フローチャートに示されたステップは排他的でなく、他のステップを含めたり、フローチャートの一つ又はそれ以上のステップを本発明の範囲に影響を及ぼさずに削除したりできることを理解するであろう。
【0297】
上述した実施例は多様な様態の例示を含む。多様な様態を示すためのすべての可能な組合せを記述することはできないが、当該技術分野における通常の知識を有する者であれば、他の組合せが可能であることを認識できるであろう。よって、本発明は、以下の特許請求の範囲内に属するすべての他の代替、修正及び変更を含むものとする。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
【手続補正書】
【提出日】2021-12-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
復号器により実行される映像復号方法であって、
並列マージレベルについての情報とマージインデックスについての情報を含むビットストリームを受信するステップと、
現ブロックのためのマージ候補リストを構成するステップであって、前記マージ候補リストは複数の空間マージ候補を含む、ステップと、
前記マージ候補リストの中の前記マージインデックスにより示される前記空間マージ候補の一つに基づいて前記現ブロックの動き情報を導出するステップと、
前記導出された動き情報に基づいて前記現ブロックの予測されたブロックを導出するステップと、
前記予測されたブロックに基づいて復元映像を生成するステップとを含み、
前記現ブロックは分割に関連し、前記分割は、符号化ユニット(CU)から分割(partitioned)された複数の分割の一つであり
前記符号化ユニット内の前記複数の分割は並列マージ領域に属し、
前記並列マージ領域のサイズは前記並列マージレベルについての情報に基づいて決定され、
記分割に対する前記複数の空間マージ候補は、空間マージ領域と同じサイズを有する前記符号化ユニット(CU)の前記空間マージ候補と同一であり、
前記空間マージ候補と同じサイズを有する前記CU内の前記分割に対する前記空間マージ候補は、前記並列マージ領域の、左下隅に最も近く位置するブロック、左側に隣接するブロック、右上隅に最も近く位置するブロック、上側に隣接するブロック、及び左上隅に最も近く位置するブロックから導出される、映像復号方法。
【請求項2】
前記分割は予測ユニット(PU)と関連し、前記PUは前記CUから分割されたPUの一つである、請求項1に記載の映像復号方法。
【請求項3】
前記複数の空間マージ候補は、前記並列マージ領域として同じサイズを有する2N×2N予測ユニットの複数の空間マージ候補と同一である、請求項2に記載の映像復号方法。
【請求項4】
前記並列マージレベルについての情報の値が0であることに基づいて、前記並列マージ領域の前記サイズは、4×4である、請求項1に記載の映像復号方法。
【請求項5】
前記並列マージレベルについての情報の値が0より大きいことに基づいて、並列処理領域に含まれる前記PUは並行に導出できる、請求項2に記載の映像復号方法
【請求項6】
前記並列マージレベルについての情報の値が1に等しいことに基づいて、前記並列マージ領域の前記サイズは、8×8であり、
前記並列マージレベルについての情報の値が2に等しいことに基づいて、前記並列マージ領域の前記サイズは、16×16である、請求項1に記載の映像復号方法。
【請求項7】
前記並列マージレベルについての情報の値が3に等しいことに基づいて、前記並列マージ領域の前記サイズは、32×32であり、
前記並列マージレベルについての情報の値が4に等しいことに基づいて、前記並列マージ領域の前記サイズは、64×64である、請求項1に記載の映像復号方法。
【請求項8】
前記符号化ユニットのサイズが8×8であり、前記並列マージ領域のサイズが4×4より大きいことに基づいて、前記複数の空間マージ候補は前記PUのために利用される、請求項に記載の映像復号方法。
【請求項9】
前記PUは、前記並列マージ領域の底面境界(a bottom boundary)と右側境界(a right boundary)に隣接する、請求項に記載の映像復号方法。
【請求項10】
符号化器により実行される映像符号化方法であって、
現ブロックに対するマージ候補リストを構成するステップであって、前記マージ候補リストは複数の空間マージ候補を含む、ステップと、
前記マージ候補リストから空間マージ候補を選択するステップと
前記選択された空間マージ候補を示すマージインデックスについての情報を生成するステップと
残差情報と並列マージレベルについての情報を生成するステップと
前記マージインデックスについての情報と前記並列マージレベルについての情報を含む映像情報を符号化するステップとを含み、
前記現ブロックは、分割に関連し、前記分割は、符号化ユニット(CU)から分割された複数の分割の一つであり
前記符号化ユニット内の前記分割は並列マージ領域に属し、
前記並列マージ領域のサイズは前記並列マージレベルについての情報に基づいて決定され、
前記分割に対する前記複数の空間マージ候補は、空間マージ領域と同じサイズを有する前記符号化ユニット(CU)の前記空間マージ候補と同一であり、
前記空間マージ候補と同じサイズを有する前記CU内の前記分割に対する前記空間マージ候補は、前記並列マージ領域の、左下隅に最も近く位置するブロック、左側に隣接するブロック、右上隅に最も近く位置するブロック、上側に隣接するブロック、及び左上隅に最も近く位置するブロックから導出される、映像符号化方法。
【請求項11】
映像情報に対するデータを送信する方法であって
マージインデックスに関する情報と並列マージレベルに関する情報を含む前記映像情報のビットストリームを取得するステップと
前記マージインデックスに関する情報と前記並列マージレベルに関する情報を含む前記映像情報のビットストリームを含む前記データを送信するステップとを含み
前記ビットストリームは現ブロックに対するマージ候補リストを構成することに基づいて生成され、前記マージ候補リストは、空間マージ候補を含み
前記マージ候補リストから空間マージ候補を選択し
前記選択された空間マージ候補を示すマージインデックスについての情報を生成し、
並列マージ領域にサイズに関連する空間マージレベルについての情報を生成し
前記マージインデックスについての情報と前記並列マージレベルについての情報を含む映像情報を符号化し
前記現ブロックは、分割に関連し、前記分割は、符号化ユニット(CU)から分割された複数の分割の一つであり
前記符号化ユニット内の前記複数の分割は並列マージ領域に属し
前記並列マージ領域のサイズは、前記並列マージレベルについての情報に基づいて決定され、前記分割に対する前記複数の空間マージ候補は、空間マージ領域と同じサイズを有する前記符号化ユニット(CU)の前記空間マージ候補と同一であり、
前記空間マージ候補と同じサイズを有する前記CU内の前記分割に対する前記空間マージ候補は、前記並列マージ領域の、左下隅に最も近く位置するブロック、左側に隣接するブロック、右上隅に最も近く位置するブロック、上側に隣接するブロック、及び左上隅に最も近く位置するブロックから導出される送信する方法