(57)【要約】本文書によるエンコード装置により行われる映像エンコード方法は、現ブロックのＬ０動きベクトルおよびＬ１動きベクトルを導き出すステップと、上記現ブロックに対してＤＭＶＲ（Decoder-side Motion Vector Refinement）を適用するかどうかを表すＤＭＶＲフラグ情報に基づいて、上記現ブロックに対してＤＭＶＲを適用して、上記Ｌ０動きベクトルおよび上記Ｌ１動きベクトルに基づいて、リファインされたＬ０動きベクトルおよびリファインされたＬ１動きベクトルを導き出すステップと、上記リファインされたＬ０動きベクトルに基づいて、上記現ブロックのＬ０予測サンプルと、上記リファインされたＬ１動きベクトルに基づいて、上記現ブロックのＬ１予測サンプルと、を導き出すステップと、上記現ブロックに対してＢＤＯＦ（Bi-Directional Optical Flow）を適用するかどうかを表すＢＤＯＦフラグ情報に基づいて、上記現ブロックに対してＢＤＯＦを適用して、上記Ｌ０予測サンプルおよび上記Ｌ１予測サンプルに基づいて、上記現ブロックに対する予測サンプルを導き出すステップと、上記予測サンプルに基づいて、上記現ブロックに対する復元サンプルを生成するステップと、を有し、上記ＤＭＶＲフラグ情報は、予め設定されたＤＭＶＲ適用条件に基づいて導出され、上記ＢＤＯＦフラグ情報は、予め設定されたＢＤＯＦ適用条件に基づいて導出されることを特徴とする。【選択図】図１５
2021518996.tif 000002
【特許請求の範囲】
【請求項１】
デコード装置により行われる映像デコード方法であって、
現ブロックのＬ０動きベクトルおよびＬ１動きベクトルを導き出すステップと、
前記現ブロックに対してデコーダ側動きベクトルリファインメント（Decoder-side Motion Vector Refinement；ＤＭＶＲ）を適用するかどうかを表すＤＭＶＲフラグ情報に基づいて、前記現ブロックに対してＤＭＶＲを適用して、前記Ｌ０動きベクトルおよび前記Ｌ１動きベクトルに基づいて、リファインされたＬ０動きベクトルおよびリファインされたＬ１動きベクトルを導き出すステップと、
前記リファインされたＬ０動きベクトルに基づいて、前記現ブロックのＬ０予測サンプルと、前記リファインされたＬ１動きベクトルに基づいて、前記現ブロックのＬ１予測サンプルと、を導き出すステップと、
前記現ブロックに対して双方向オプティカルフロー（Bi-Directional Optical Flow；ＢＤＯＦ）を適用するかどうかを表すＢＤＯＦフラグ情報に基づいて、前記現ブロックに対してＢＤＯＦを適用して、前記Ｌ０予測サンプルおよび前記Ｌ１予測サンプルに基づいて、前記現ブロックに対する予測サンプルを導き出すステップと、
前記予測サンプルに基づいて、前記現ブロックに対する復元サンプルを生成するステップと、を有し、
前記ＤＭＶＲフラグ情報は、予め設定されたＤＭＶＲ適用条件に基づいて導出され、
前記ＢＤＯＦフラグ情報は、予め設定されたＢＤＯＦ適用条件に基づいて導出される、ことを特徴とする映像デコード方法。
【請求項２】
前記予め設定されたＤＭＶＲ適用条件は、Ｌ０ルマ重み付き予測フラグ情報およびＬ１ルマ重み付き予測フラグ情報の値が全部０である条件を有し、
前記Ｌ０ルマ重み付き予測フラグ情報の値が０である場合は、Ｌ０予測のルマ成分に対して重み付きファクタ（weight factor）が存在しないことを表し、
前記Ｌ１ルマ重み付き予測フラグ情報の値が０である場合は、Ｌ１予測のルマ成分に対して重み付きファクタ（weight factor）が存在しないことを表し、
前記ＤＭＶＲフラグ情報は、
前記Ｌ０ルマ重み付き予測フラグ情報および前記Ｌ１ルマ重み付き予測フラグ情報の値が全部０である場合、前記現ブロックに対してＤＭＶＲを適用することを表す値として導出される、ことを特徴とする請求項１に記載の映像デコード方法。
【請求項３】
前記予め設定されたＤＭＶＲ適用条件は、前記現ブロックの対予測重み付けインデックス（bi-prediction weight index）情報の値が０であるという条件を有し、
前記対予測重み付けインデックス情報の値が０である場合、Ｌ０予測とＬ１予測とに互いに異なる重み付けを適用しないデフォルトの場合であり、
前記ＤＭＶＲフラグ情報は、
前記対予測重み付けインデックス情報の値が０である場合、前記現ブロックに対してＤＭＶＲを適用することを表す値として導出される、ことを特徴とする請求項１に記載の映像デコード方法。
【請求項４】
前記予め設定されたＤＭＶＲ適用条件は、前記現ブロックにインター予測とイントラ予測とが結合された予測モードが適用されない場合の条件を有し、
前記ＤＭＶＲフラグ情報は、
前記現ブロックにインター予測とイントラ予測とが結合された予測モードが適用されない場合、前記現ブロックに対してＤＭＶＲを適用することを表す値として導出される、ことを特徴とする請求項１に記載の映像デコード方法。
【請求項５】
前記予め設定されたＤＭＶＲ適用条件は、前記現ブロックの大きさが１６Ｘ１６以上であるという条件を有し、
前記ＤＭＶＲフラグ情報は、
前記現ブロックの大きさが１６Ｘ１６以上の場合、前記現ブロックに対してＤＭＶＲを適用することを表す値として導出される、ことを特徴とする請求項１に記載の映像デコード方法。
【請求項６】
前記予め設定されたＢＤＯＦ適用条件は、Ｌ０ルマ重み付き予測フラグ情報およびＬ１ルマ重み付き予測フラグ情報の値が全部０である条件を有し、
前記Ｌ０ルマ重み付き予測フラグ情報の値が０である場合は、Ｌ０予測のルマ成分に対して重み付きファクタ（weight factor）が存在しないことを表し、
前記Ｌ１ルマ重み付き予測フラグ情報の値が０である場合は、Ｌ１予測のルマ成分に対して重み付きファクタ（weight factor）が存在しないことを表し、
前記ＢＤＯＦフラグ情報は、
前記Ｌ０ルマ重み付き予測フラグ情報および前記Ｌ１ルマ重み付き予測フラグ情報の値が全部０である場合、前記現ブロックに対してＢＤＯＦを適用することを表す値として導出される、ことを特徴とする請求項１に記載の映像デコード方法。
【請求項７】
前記予め設定されたＢＤＯＦ適用条件は、前記現ブロックの大きさが１６Ｘ１６以上であるという条件を有し、
前記ＢＤＯＦフラグ情報は、
前記現ブロックの大きさが１６Ｘ１６以上の場合、前記現ブロックに対してＢＤＯＦを適用することを表す値として導出される、ことを特徴とする請求項１に記載の映像デコード方法。
【請求項８】
前記予め設定されたＢＤＯＦ適用条件は、前記現ブロックの高さ（Height）が８以上であるという条件を有し、
前記ＢＤＯＦフラグ情報は、
前記現ブロックの高さが８以上の場合、前記現ブロックに対してＢＤＯＦを適用することを表す値として導出される、ことを特徴とする請求項１に記載の映像デコード方法。
【請求項９】
前記予め設定されたＢＤＯＦ適用条件は、現ピクチャとＬ０参照ピクチャとの間の第１ピクチャオーダカウント（Picture Order Count；ＰＯＣ）差と前記現ピクチャとＬ１参照ピクチャとの間の第２ＰＯＣ差とが同じ場合の条件を有し、
前記ＢＤＯＦフラグ情報は、
前記第１ＰＯＣ差と前記第２ＰＯＣ差とが同じ場合、前記現ブロックに対してＢＤＯＦを適用することを表す値として導出される、ことを特徴とする請求項１に記載の映像デコード方法。
【請求項１０】
前記予め設定されたＢＤＯＦ適用条件は、前記現ブロックにインター予測とイントラ予測とが結合された予測モードが適用されない場合の条件を有し、
前記ＢＤＯＦフラグ情報は、
前記現ブロックにインター予測とイントラ予測とが結合された予測モードが適用されない場合、前記現ブロックに対してＢＤＯＦを適用することを表す値として導出される、ことを特徴とする請求項１に記載の映像デコード方法。
【請求項１１】
前記リファインされたＬ０動きベクトルおよび前記リファインされたＬ１動きベクトルを導き出すステップは、
前記Ｌ０動きベクトルに基づいて導き出されるＬ０参照ピクチャ内の参照サンプルと前記Ｌ１動きベクトルに基づいて導き出されるＬ１参照ピクチャ内の参照サンプルとを利用して、最小差分絶対値和（Sum of Absolute Differences；ＳＡＤ）を導き出すステップと、
前記最小ＳＡＤに対応するサンプル位置に基づいて、前記Ｌ０動きベクトルに対する前記リファインされたＬ０動きベクトルと前記Ｌ１動きベクトルに対する前記リファインされたＬ１動きベクトルとを導き出すステップと、を有する、ことを特徴とする請求項１に記載の映像デコード方法。
【請求項１２】
前記予測サンプルを導き出すステップは、
前記Ｌ０予測サンプルに対する第１階調（gradient）および前記Ｌ１予測サンプルに対する第２階調（gradient）を計算するステップと、
前記Ｌ０予測サンプル、前記Ｌ１予測サンプル、前記第１階調、および前記第２階調に基づいて、前記予測サンプルを導き出すステップと、を有する、ことを特徴とする請求項１に記載の映像デコード方法。
【請求項１３】
前記Ｌ０動きベクトルおよび前記Ｌ１動きベクトルを導き出すステップは、
前記現ブロックにマージモードが適用されるかどうかを判断するステップと、
前記現ブロックにマージモードが適用される場合、前記現ブロックの周辺ブロックに基づいて、マージ候補リストを構成するステップと、
前記マージ候補リストに有される周辺ブロックのうち、マージインデックス情報により指示される周辺ブロックの動きベクトルに基づいて、前記Ｌ０動きベクトルおよび前記Ｌ１動きベクトルを導き出すステップと、を有する、ことを特徴とする請求項１に記載の映像デコード方法。
【請求項１４】
エンコード装置により行われる映像エンコード方法であって、
現ブロックのＬ０動きベクトルおよびＬ１動きベクトルを導き出すステップと、
前記現ブロックに対してデコーダ側動きベクトルリファインメント（Decoder-side Motion Vector Refinement；ＤＭＶＲ）を適用するかどうかを表すＤＭＶＲフラグ情報に基づいて、前記現ブロックに対してＤＭＶＲを適用して、前記Ｌ０動きベクトルおよび前記Ｌ１動きベクトルに基づいて、リファインされたＬ０動きベクトルおよびリファインされたＬ１動きベクトルを導き出すステップと、
前記リファインされたＬ０動きベクトルに基づいて、前記現ブロックのＬ０予測サンプルと、前記リファインされたＬ１動きベクトルに基づいて、前記現ブロックのＬ１予測サンプルと、を導き出すステップと、
前記現ブロックに対して双方向オプティカルフロー（Bi-Directional Optical Flow；ＢＤＯＦ）を適用するかどうかを表すＢＤＯＦフラグ情報に基づいて、前記現ブロックに対してＢＤＯＦを適用して、前記Ｌ０予測サンプルおよび前記Ｌ１予測サンプルに基づいて、前記現ブロックに対する予測サンプルを導き出すステップと、
前記予測サンプルに基づいて、残差サンプルを導き出すステップと、
前記残差サンプルに関する情報を有する映像情報をエンコードするステップと、を有し、
前記ＤＭＶＲフラグ情報は、予め設定されたＤＭＶＲ適用条件に基づいて導出され、
前記ＢＤＯＦフラグ情報は、予め設定されたＢＤＯＦ適用条件に基づいて導出される、ことを特徴とする映像エンコード方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本文書は、映像コーディング技術に関し、さらに詳細には、ＤＭＶＲ（Decoder-side Motion Vector Refinement）および／またはＢＤＯＦ（Bi-Directional Optical Flow）に基づいてインター予測を行う方法および装置に関する。
【背景技術】
【０００２】
最近、４Ｋまたは８Ｋ以上のＵＨＤ（Ultra High Definition）映像／ビデオなどの高解像度、高品質の映像／ビデオに対する需要が、多様な分野において増加しつつある。映像／ビデオデータが高解像度、高品質になるほど、従来の映像／ビデオデータに比べて相対的に転送（送信）される情報量またはビット量が増加するため、従来の有無線広帯域回線のような媒体を利用して映像データを転送するか、または従来の記憶媒体を利用して映像／ビデオデータを記憶（格納）する場合、転送コスト（費用）および記憶コストが増加する。
【０００３】
また、最近ＶＲ（Virtual Reality）、ＡＲ（Artificial Reality）コンテンツまたはホログラムなどの没入型（実感）メディア（Immersive Media）に対する関心および需要が増加しつつあり、ゲーム映像のように現実映像と異なる映像特性を有する映像／ビデオに対する放送が増加している。
【０００４】
そのため、上記のような多様な特性を有する高解像度高品質の映像／ビデオの情報を効果的に圧縮して転送または記憶し、再生するために、高効率の映像／ビデオ圧縮技術が求められる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本文書の技術的課題は、映像コーディング効率を上げる方法および装置を提供することにある。
【０００６】
本文書の他の技術的課題は、効率的なインター予測方法および装置を提供することにある。
【０００７】
本文書のさらに他の技術的課題は、ＤＭＶＲ（Decoder-side Motion Vector Refinement）に基づいてインター予測を行う方法および装置を提供することにある。
【０００８】
本文書のさらに他の技術的課題は、ＢＤＯＦ（Bi-Directional Optical Flow）に基づいてインター予測を行う方法および装置を提供することにある。
【０００９】
本文書のさらに他の技術的課題は、映像コーディング効率を向上させるためのＤＭＶＲを適用するかどうかを決定するための条件および／またはＢＤＯＦを適用するかどうかを決定するための条件を提供することによって、予測性能を向上させる方法および装置を提供することにある。
【課題を解決するための手段】
【００１０】
本文書の一実施形態によれば、デコード装置によって行われる映像デコード方法が提供される。方法は、現（現在）ブロックのＬ０動きベクトルおよびＬ１動きベクトルを導き出すステップと、現ブロックに対してデコーダ側動きベクトルリファインメント（Decoder-side Motion Vector Refinement；ＤＭＶＲ）を適用するかどうかを表すＤＭＶＲフラグ情報に基づいて、現ブロックに対してＤＭＶＲを適用して、Ｌ０動きベクトルおよびＬ１動きベクトルに基づいて、リファインされたＬ０動きベクトルおよびリファインされたＬ１動きベクトルを導き出すステップと、リファインされたＬ０動きベクトルに基づいて、現ブロックのＬ０予測サンプルと、リファインされたＬ１動きベクトルに基づいて、現ブロックのＬ１予測サンプルと、を導き出すステップと、現ブロックに対して双方向オプティカルフロー（Bi-Directional Optical Flow；ＢＤＯＦ）を適用するかどうかを表すＢＤＯＦフラグ情報に基づいて、現ブロックに対してＢＤＯＦを適用して、Ｌ０予測サンプルおよびＬ１予測サンプルに基づいて、現ブロックに対する予測サンプルを導き出すステップと、予測サンプルに基づいて現ブロックに対する復元サンプルを生成するステップと、を有し、ＤＭＶＲフラグ情報は、予め設定されたＤＭＶＲ適用条件に基づいて導出（誘導）され、ＢＤＯＦフラグ情報は、予め設定されたＢＤＯＦ適用条件に基づいて導出されることを特徴とする。
【００１１】
本文書の他の一実施形態によれば、エンコード装置によって行われる映像エンコード方法が提供される。方法は、現ブロックのＬ０動きベクトルおよびＬ１動きベクトルを導き出すステップと、現ブロックに対してデコーダ側動きベクトルリファインメント（Decoder-side Motion Vector Refinement；ＤＭＶＲ）を適用するかどうかを表すＤＭＶＲフラグ情報に基づいて、現ブロックに対してＤＭＶＲを適用して、Ｌ０動きベクトルおよびＬ１動きベクトルに基づいて、リファインされたＬ０動きベクトルおよびリファインされたＬ１動きベクトルを導き出すステップと、リファインされたＬ０動きベクトルに基づいて、現ブロックのＬ０予測サンプルと、リファインされたＬ１動きベクトルに基づいて、現ブロックのＬ１予測サンプルと、を導き出すステップと、現ブロックに対して双方向オプティカルフロー（Bi-Directional Optical Flow；ＢＤＯＦ）を適用するかどうかを表すＢＤＯＦフラグ情報に基づいて、現ブロックに対してＢＤＯＦを適用して、Ｌ０予測サンプルおよびＬ１予測サンプルに基づいて、現ブロックに対する予測サンプルを導き出すステップと、予測サンプルに基づいて残差（レジデュア）サンプルを導き出すステップと、残差サンプルに関する情報を有する映像情報をエンコードするステップと、を有し、ＤＭＶＲフラグ情報は、予め設定されたＤＭＶＲ適用条件に基づいて導出され、ＢＤＯＦフラグ情報は、予め設定されたＢＤＯＦ適用条件に基づいて導出されることを特徴とする。
【発明の効果】
【００１２】
本文書によれば、全般的な映像／ビデオ圧縮効率を上げることができる。
【００１３】
本文書によれば、効率的なインター予測を介して計算複雑度を減らすことができ、全般的なコーディング効率を向上させることができる。
【００１４】
本文書によれば、動き補償過程で動き情報をリファインするＤＭＶＲおよび／またはＢＤＯＦを適用するにおいて、多様な適用条件を提案することによって、複雑度および性能面における効率性を向上させることができる。
【図面の簡単な説明】
【００１５】
【図１】本文書の実施形態に適用されることができるビデオ／映像コーディングシステムの例を概略的に示す図である。
【図２】本文書の実施形態に適用されることができるビデオ／映像エンコード装置の構成を概略的に説明する図である。
【図３】本文書の実施形態に適用されることができるビデオ／映像デコード装置の構成を概略的に説明する図である。
【図４】インター予測に基づいたビデオ／映像エンコード方法の一例を示す図である。
【図５】エンコード装置内のインター予測部を概略的に示した一例を示す図である。
【図６】インター予測に基づいたビデオ／映像デコード方法の一例を示す図である。
【図７】デコード装置内のインター予測部を概略的に示した一例を示す図である。
【図８】ｔｒｕｅ対予測においてＤＭＶＲ（Decoder-side Motion Vector Refinement）を行う過程の一実施形態を説明する図である。
【図９】差分絶対値和（Sum of Absolute Differences；ＳＡＤ）を使用してＤＭＶＲ（Decoder-side Motion Vector Refinement）を行う過程の一実施形態を説明する図である。
【図１０】ＤＭＶＲおよびＢＤＯＦの適用条件をチェックして、デコード過程を行う方法を示す一例を示す図である。
【図１１】ＤＭＶＲおよびＢＤＯＦの適用条件をチェックして、デコード過程を行う方法を示す他の例を示す図である。
【図１２】ＤＭＶＲおよびＢＤＯＦの適用条件をチェックして、デコード過程を行う方法を示す他の例を示す図である。
【図１３】ＢＤＯＦの概念を説明するために示された図である。
【図１４】本文書の一実施形態によるエンコード装置によって行われることができるエンコード方法を概略的に示すフローチャートである。
【図１５】本文書の一実施形態によってデコード装置によって行われることができるデコード方法を概略的に示すフローチャートである。
【図１６】本文書において開示された実施形態が適用されうるコンテンツストリーミングシステムの例を示す図である。
【図１７】デジタル機器を含んだサービスシステム（service system）の一例を概略的に示した図である。
【図１８】デジタル機器の一実施形態を説明するために示す構成ブロック図である。
【図１９】デジタル機器の他の実施形態を説明するために示す構成ブロック図である。
【図２０】本文書の実施形態（１つまたは複数（ら））が活用されることができる３次元映像／ビデオサービス提供のためのアーキテクチャを概略的に示す図である。
【図２１】本方法が適用されることができる第１デジタル装置の構成を概略的に説明する図である。
【図２２】本方法が適用されることができる第２デジタル装置の構成を概略的に説明する図である。
【発明を実施するための形態】
【００１６】
本文書は、多様な変更を加えることができ、様々な実施形態を有することができるため、特定の実施形態を図面に例示し詳細に説明しようとする。しかしながら、これは、本文書を特定の実施形態に限定しようとするものではない。本明細書において常用する用語は、特定の実施形態を説明するために使用されたもので、本文書の技術的思想を限定しようとする意図として使用されるものではない。単数の表現は、文脈上明白に異なって意味しない限り、複数の表現を含む。本明細書において“含む”または“有する”などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたことが存在することを指定しようとするものであり、一つもしくは複数の他の特徴や数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたものの存在もしくは付加可能性を予め排除しないものとして理解されなければならない。
【００１７】
一方、本文書において説明される図面上の各構成は、互いに異なる特徴的な機能に関する説明の便宜のために独立して示されたものであり、各構成が互いに別のハードウェアまたは別のソフトウェアにより具現されることを意味しない。例えば、各構成のうち、二つ以上の構成が合わせられて一つの構成をなすこともでき、一つの構成が複数の構成に分けられることもできる。各構成が統合および／または分離された実施形態も本文書の本質から逸脱しない限り、本文書の権利範囲に含まれる。
【００１８】
この文書において“／”と“、”は、“および／または”と解釈される。例えば、“Ａ／Ｂ”は、“Ａおよび／またはＢ”と解析され、“Ａ、Ｂ”は、“Ａおよび／またはＢ”と解析される。追加的に、“Ａ／Ｂ／Ｃ”は、“Ａ、Ｂおよび／またはＣのうちの少なくとも一つ”を意味する。また、“Ａ、Ｂ、Ｃ”も“Ａ、Ｂおよび／またはＣのうちの少なくとも一つ”を意味する。（In this document, the term “/” and “,” should be interpreted to indicate “and/or.” For instance, the expression “A/B” may mean “A and/or B.” Further, “A, B” may mean “A and/or B.”Further, “A/B/C” may mean “at least one of A, B, and/or C.” Also, “A/B/C” may mean “at least one of A, B, and/or C.”）
【００１９】
追加的に、本文書において“または”は、“および／または”と解釈される。例えば、“ＡまたはＢ”は、１）“Ａ”だけを意味し、２）“Ｂ”だけを意味するか、３）“ＡおよびＢ”を意味できる。別に表現すると、本文書の“または”は、“追加的にまたは代替的に（additionally or alternatively）”を意味できる（Further, in the document, the term “or” should be interpreted to indicate “and/or.”  For instance, the expression “A or B” may comprise 1) only A, 2) only B, and/or 3) both A and B.  In other words, the term “or” in this document should be interpreted to indicate “additionally or alternatively.”）
【００２０】
この文書は、ビデオ／映像コーディングに関する。例えば、この文書において開示された方法／実施形態は、ＶＶＣ（Versatile Video Coding）標準、ＥＶＣ（Essential Video Coding）標準、ＡＶ１（AOMedia Video 1）標準、ＡＶＳ２（2nd Generation of Audio Video coding Standard）または次世代ビデオ／映像コーディング標準（例えば、Ｈ．２６７  ｏｒ  Ｈ．２６８など）に開示される方法に適用されることができる。
【００２１】
この文書では、ビデオ／映像コーディングに関する多様な実施形態を提示し、他の言及がない限り、上記実施形態は、互いに組合わせられて行われることもできる。
【００２２】
この文書において、ビデオ（video）は、時間の流れによる一連の映像（image）の集合を意味できる。ピクチャ（picture）は、一般に特定の時間帯の一つの映像を表す単位を意味し、スライス（slice）／タイル（tile）は、コーディングにおいてピクチャの一部を構成する単位である。スライス／タイルは、一つまたは複数のＣＴＵ（Coding Tree Unit）を含むことができる。一つのピクチャは、一つまたは複数のスライス／タイルで構成されることができる。一つのピクチャは、一つまたは複数のタイルグループで構成されることができる。一つのタイルグループは、一つまたは複数のタイルを含むことができる。ブリックは、ピクチャ内のタイル以内のＣＴＵ行の四角領域を表すことができる（a brick may represent a rectangular region of CTU rows within a tile in a picture）。タイルは、多数のブリックでパーティショニングされることができ、各ブリックは、上記タイル内の一つまたは複数のＣＴＵ行から構成されることができる（A tile maybe partitioned into multiple bricks、each of which consisting of one or more CTU rows within the tile）。多数のブリックでパーティショニングされないタイルは、またブリックと呼ばれることができる（A tile that is not partitioned into multiple bricks may be also referred to as a brick）。ブリックスキャンは、ピクチャをパーティショニングするＣＴＵの特定のシーケンシャルオーダリングを表すことができ、上記ＣＴＵは、ブリック内においてＣＴＵラスタスキャンで整列されることができ、タイル内のブリックは、上記タイルの上記ブリックのラスタスキャンで連続的に整列されることができ、そしてピクチャ内のタイルは、上記ピクチャの上記タイルのラスタスキャンで連続的に整列されることができる（A brick scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a brick, bricks within a tile are ordered consecutively in a raster scan of the bricks of the tile, and tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture）。タイルは、特定タイル列および特定タイル列以内のＣＴＵの四角領域である（A tile is a rectangular region of CTUs within a particular tile column and a particular tile row in a picture）。上記タイル列は、ＣＴＵの四角領域で、上記四角領域は、上記ピクチャの高さと同じ高さを有し、幅は、ピクチャパラメータセット内のシンタックス要素によって明示されることができる（The tile column is a rectangular region of CTUs having a height equal to the height of the picture and a width specified by syntax elements in the picture parameter set）。上記タイル行は、ＣＴＵの四角領域で、上記四角領域は、ピクチャパラメータセット内のシンタックス要素によって明示される幅を有し、高さは、上記ピクチャの高さと同一でありうる（The tile row is a rectangular region of CTUs having a height specified by syntax elements in the picture parameter set and a width equal to the width of the picture）。タイルスキャンは、ピクチャをパーティショニングするＣＴＵの特定のシーケンシャル（順次的）オーダリングを表すことができ、上記ＣＴＵは、タイル内のＣＴＵラスタスキャンで連続的に整列されることができ、ピクチャ内のタイルは、上記ピクチャの上記タイルのラスタスキャンで連続的に整列されることができる（A tile scan is a specific sequential ordering of CTUs partitioning a picture in which the CTUs are ordered consecutively in CTU raster scan in a tile whereas tiles in a picture are ordered consecutively in a raster scan of the tiles of the picture）。スライスは、ピクチャの整数個のブリックを含むことができ、上記整数個のブリックは、一つのＮＡＬユニットに含まれることができる（A slice includes an integer number of bricks of a picture that may be exclusively contained in a single NAL unit）。スライスは、多数の完全なタイルで構成されることができ、または一つのタイルの完全なブリックの連続するシーケンスでもありうる（A slice may consists of either a number of complete tiles or only a consecutive sequence of complete bricks of one tile）。この文書においてタイルグループとスライスとは混用されうる。例えば、本文書においてｔｉｌｅ  ｇｒｏｕｐ／ｔｉｌｅ  ｇｒｏｕｐ  ｈｅａｄｅｒは、ｓｌｉｃｅ／ｓｌｉｃｅ  ｈｅａｄｅｒと呼ばれることができる。
【００２３】
ピクセル（pixel）またはペル（pel）は、一つのピクチャ（または映像）を構成する最小の単位を意味できる。また、ピクセルに対応する用語として「サンプル（sample）」が使用されることができる。サンプルは、一般にピクセルまたはピクセルの値を表すことができ、ルマ（luma）成分のピクセル／ピクセル値だけを表すこともでき、クロマ（chroma）成分のピクセル／ピクセル値だけを表すこともできる。あるいは、サンプルは、空間領域（ドメイン）におけるピクセル値を意味することもでき、このようなピクセル値が周波数領域に変換されると、周波数領域における変換係数を意味することもできる。
【００２４】
ユニット（unit）は、映像処理の基本単位を表すことができる。ユニットは、ピクチャの特定領域および該当領域に関連する情報のうちの少なくとも一つを含むことができる。一つのユニットは、一つのルマブロックおよび二つのクロマ（例えば、ｃｂ、ｃｒ）ブロックを含むことができる。ユニットは、場合によって、ブロック（block）または領域（area）などの用語と混用されることができる。一般的な場合、ＭｘＮブロックは、Ｍ個の列およびＮ個の行からなるサンプル（もしくはサンプルアレイ）または変換係数（transform coefficient）の集合（もしくはアレイ）を含むことができる。
【００２５】
以下、添付した図面を参照して、本文書の好ましい実施形態をさらに詳細に説明する。以下、図面上の同じ構成要素については、同じ参照符号を使用し、同じ構成要素について重なった説明は、省略する。
【００２６】
図１は、本文書の実施形態に適用されることができるビデオ／映像コーディングシステムの例を概略的に示す。
【００２７】
図１を参照すると、ビデオ／映像コーディングシステムは、第１装置（ソースデバイス）および第２装置（受信デバイス）を含むことができる。ソースデバイスは、エンコードされたビデオ（video）／映像（image）情報またはデータをファイルまたはストリーミング形態でデジタル記憶媒体またはネットワークを介して受信デバイスに伝達できる。
【００２８】
上記ソースデバイスは、ビデオソース、エンコード装置、転送部を含むことができる。上記受信デバイスは、受信部、デコード装置およびレンダラを含むことができる。上記エンコード装置は、ビデオ／映像エンコード装置と呼ばれることができ、上記デコード装置は、ビデオ／映像デコード装置と呼ばれることができる。送信器は、エンコード装置に含まれることができる。受信器は、デコード装置に含まれることができる。レンダラは、ディスプレイ部を含むこともでき、ディスプレイ部は、別のデバイスまたは外部コンポーネントで構成されることもできる。
【００２９】
ビデオソースは、ビデオ／映像のキャプチャ、合成または生成過程などを介してビデオ／映像を獲得できる。ビデオソースは、ビデオ／映像キャプチャデバイスおよび／またはビデオ／映像生成デバイスを含むことができる。ビデオ／映像キャプチャデバイスは、例えば、一つまたは複数のカメラ、以前にキャプチャされたビデオ／映像を含むビデオ／映像アーカイブなどを含むことができる。ビデオ／映像生成デバイスは、例えばコンピュータ、タブレットおよびスマートフォンなどを含むことができ、（電子的に）ビデオ／映像を生成できる。例えば、コンピュータなどを介して仮想（仮像）のビデオ／映像が生成されることができ、この場合、関連データが生成される過程でビデオ／映像キャプチャ過程に代えることができる。
【００３０】
エンコード装置は、入力ビデオ／映像をエンコードできる。エンコード装置は、圧縮およびコーディング効率のために予測、変換、量子化などの一連の手順を行うことができる。エンコードされたデータ（エンコードされたビデオ／映像情報）は、ビットストリーム（bit stream）形態で出力されることができる。
【００３１】
転送部は、ビットストリーム形態で出力されたエンコードされたビデオ／映像情報またはデータをファイルまたはストリーミング形態でデジタル記憶媒体またはネットワークを介して受信デバイスの受信部に伝達できる。デジタル記憶媒体は、ＵＳＢ、ＳＤ、ＣＤ、ＤＶＤ、ブルーレイ、ＨＤＤ、ＳＳＤなどの多様な記憶媒体を含むことができる。転送部は、予め決まったファイルフォーマットを介してメディアファイルを生成するためのエレメントを含むことができ、放送／通信ネットワークを介した転送のためのエレメントを含むことができる。受信部は、上記ビットストリームを受信／抽出して、デコード装置に伝達できる。
【００３２】
デコード装置は、エンコード装置の動作に対応する逆量子化、逆変換、予測などの一連の手順を行って、ビデオ／映像をデコードできる。
【００３３】
レンダラは、デコードされたビデオ／映像をレンダリングできる。レンダリングされたビデオ／映像は、ディスプレイ部を介して表示できる。
【００３４】
図２は、本文書の実施形態に適用されることができるビデオ／映像エンコード装置の構成を概略的に説明する図である。以下、ビデオエンコード装置とは、映像エンコード装置を含むことができる。
【００３５】
図２を参照すると、エンコード装置２００は、映像分割部（image partitioner）２１０、予測部（predictor）２２０、残差処理部（residual processor）２３０、エントロピエンコード部（entropy encoder）２４０、加算部（adder）２５０、フィルタリング部（filter）２６０およびメモリ（memory）２７０を含んで構成されることができる。予測部２２０は、インター予測部２２１およびイントラ予測部２２２を含むことができる。残差処理部２３０は、変換部（transformer）２３２、量子化部（quantizer）２３３、逆量子化部（dequantizer）２３４、逆変換部（inverse transformer）２３５を含むことができる。残差処理部２３０は、減算部（subtractor）２３１をさらに含むことができる。加算部２５０は、復元部（reconstructor）または復元ブロック生成部（reconstructed block generator）と呼ばれることができる。上述した映像分割部２１０、予測部２２０、残差処理部２３０、エントロピエンコード部２４０、加算部２５０およびフィルタリング部２６０は、実施形態によって、一つまたは複数のハードウェアコンポーネント（例えば、エンコーダチップセットもしくはプロセッサ）によって構成されることができる。また、メモリ２７０は、ＤＰＢ（Decoded Picture Buffer）を含むことができ、デジタル記憶媒体によって構成されることもできる。上記ハードウェアコンポーネントは、メモリ２７０を内／外部コンポーネントとしてさらに含むこともできる。
【００３６】
映像分割部２１０は、エンコード装置２００に入力された入力映像（または、ピクチャ、フレーム）を一つまたは複数の処理ユニット（processing unit）に分割できる。一例として、上記処理ユニットは、コーディングユニット（Coding Unit、ＣＵ）と呼ばれることができる。この場合、コーディングユニットは、符号化（コーディング）ツリーユニット（Coding Tree Unit、ＣＴＵ）または最大コーディングユニット（Largest Coding Unit、ＬＣＵ）からＱＴＢＴＴＴ（Quad-Tree Binary-Tree Ternary-Tree）構造に従って再帰的に（recursively）分割されることができる。例えば、一つのコーディングユニットは、四分木（クアッドツリー）構造、二分木（バイナリツリー）構造、および／または三分木（ターナリーツリー）構造に基づいて、下位（deeper）デプスの複数のコーディングユニットに分割されることができる。この場合、例えば、四分木構造がまず適用され、二分木構造および／または三分木（ターナリー）構造が後で適用されることができる。あるいは、二分木構造がまず適用されることもできる。もうこれ以上分割されない最終コーディングユニットに基づいて、本文書によるコーディング手順が行われることができる。この場合、映像特性に応じたコーディング効率などに基づいて、最大コーディングユニットが直に最終コーディングユニットとして使用されることができ、または、必要によって、コーディングユニットは、再帰的に（recursively）より下位デプスのコーディングユニットに分割されて、最適なサイズのコーディングユニットが最終コーディングユニットとして使用されることができる。ここで、コーディング手順とは、後述する予測、変換、および復元などの手順を含むことができる。他の例として、上記処理ユニットは、予測ユニット（ＰＵ：Prediction Unit）または変換ユニット（ＴＵ：Transform Unit）をさらに含むことができる。この場合、上記予測ユニットおよび上記変換ユニットは、各々上述した最終コーディングユニットから分割またはパーティショニングされることができる。上記予測ユニットは、サンプル予測の単位でありえ、上記変換ユニットは、変換係数を導出する単位および／または変換係数から残差信号（residual signal）を導出する単位でありうる。
【００３７】
ユニットは、場合によってブロック（block）または領域（area）などの用語と混用されることができる。一般的な場合、ＭｘＮブロックは、Ｍ個の列およびＮ個の行からなるサンプルまたは変換係数（transform coefficient）の集合を表すことができる。サンプルは、一般にピクセルまたはピクセルの値を表すこともでき、輝度（luma）成分のピクセル／ピクセル値だけを表すこともでき、彩度（chroma）成分のピクセル／ピクセル値だけを表すこともできる。サンプルは、一つのピクチャ（または映像）をピクセル（pixel）またはペル（pel）に対応する用語として使用されることができる。
【００３８】
エンコード装置２００は、入力映像信号（オリジナル（原本）ブロック、オリジナルサンプルアレイ）においてインター予測部２２１またはイントラ予測部２２２から出力された予測信号（予測されたブロック、予測サンプルアレイ）を減算して、残差信号（residual signal、残差（残余）ブロック、残差サンプルアレイ）を生成でき、生成された残差信号は、変換部２３２に転送される。この場合、図示のようにエンコーダ２００内で入力映像信号（オリジナルブロック、オリジナルサンプルアレイ）において予測信号（予測ブロック、予測サンプルアレイ）を減算するユニットは、減算部２３１と呼ばれることができる。予測部は、処理対象ブロック（以下、現ブロックという）に対する予測を行い、上記現ブロックに対する予測サンプルを含む予測されたブロック（predicted block）を生成できる。予測部は、現ブロックもしくはＣＵ単位で、イントラ予測が適用されるかどうか、またはインター予測が適用されるかどうかを決定できる。予測部は、各予測モードに関する説明において後述するように、予測モード情報などの予測に関する多様な情報を生成してエントロピエンコード部２４０に伝達できる。予測に関する情報は、エントロピエンコード部２４０でエンコードされて、ビットストリーム形態で出力されることができる。
【００３９】
イントラ予測部２２２は、現ピクチャ内のサンプルを参照して現ブロックを予測できる。上記参照されるサンプルは、予測モードに応じて上記現ブロックの周辺（neighbor）に位置でき、または離れて位置することもできる。イントラ予測において予測モードは、複数の非方向性モードおよび複数の方向性モードを含むことができる。非方向性モードは、例えばＤＣモードおよび平面（プラナー）モード（Ｐｌａｎａｒモード）を含むことができる。方向性モードは、予測方向の細かい程度によって、例えば３３個の方向性予測モードまたは６５個の方向性予測モードを含むことができる。ただし、これは、例として設定によってそれ以上またはそれ以下の数の方向性予測モードが使用されることができる。イントラ予測部２２２は、周辺ブロックに適用された予測モードを利用して、現ブロックに適用される予測モードを決定することもできる。
【００４０】
インター予測部２２１は、参照ピクチャ上において動きベクトルにより特定される参照ブロック（参照サンプルアレイ）に基づいて、現ブロックに対する予測されたブロックを導出できる。このとき、インター予測モードにおいて転送される動き情報の量を減らすために、周辺ブロックと現ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロックまたはサンプル単位で予測できる。上記動き情報は、動きベクトルおよび参照ピクチャインデックスを含むことができる。上記動き情報は、インター予測方向（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）に関する情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現ピクチャ内に存在する空間的周辺ブロック（spatial neighboring block）と参照ピクチャに存在する時間的周辺ブロック（temporal neighboring block）とを含むことができる。上記参照ブロックを含む参照ピクチャと上記時間的周辺ブロックを含む参照ピクチャとは、同一であってもよく、異なってもよい。上記時間的周辺ブロックは、コロケート（同一位置）参照ブロック（collocated reference block）、コロケートＣＵ（ｃｏｌＣＵ）などの名前で呼ばれることができ、上記時間的周辺ブロックを含む参照ピクチャは、コロケートピクチャ（collocated picture、ｃｏｌＰｉｃ）と呼ばれることもできる。例えば、インター予測部２２１は、周辺ブロックに基づいて動き情報候補リストを構成し、上記現ブロックの動きベクトルおよび／または参照ピクチャインデックスを導き出すために、どのような候補が使用されるかを指示する情報を生成できる。多様な予測モードに基づいてインター予測が行われることができ、例えば、スキップモードおよびマージモードの場合に、インター予測部２２１は、周辺ブロックの動き情報を現ブロックの動き情報として利用できる。スキップモードの場合、マージモードとは異なり、残差信号が転送されなくてもよい。動き情報予測（Motion Vector Prediction、ＭＶＰ）モードの場合、周辺ブロックの動きベクトルを動きベクトル予測子（motion vector predictor）として利用し、動きベクトル差分（motion vector difference）をシグナリングすることで、現ブロックの動きベクトルを指示できる。
【００４１】
予測部２２０は、後述する多様な予測方法に基づいて、予測信号を生成できる。例えば、予測部は、一つのブロックに対する予測のために、イントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測とを同時に適用できる。これは、Ｃｏｍｂｉｎｅｄ  Ｉｎｔｅｒ  ａｎｄ  Ｉｎｔｒａ  Ｐｒｅｄｉｃｔｉｏｎ（ＣＩＩＰ）と呼ばれることができる。また、予測部は、ブロックに対する予測のために、イントラブロックコピー（Intra Block Copy、ＩＢＣ）予測モードに基づくこともでき、またはパレットモード（palette mode）に基づくこともできる。上記ＩＢＣ予測モードまたはパレットモードは、例えばＳＣＣ（Screen Content Coding）などのように、ゲームなどのコンテンツ映像／動画コーディングのために使用されることができる。ＩＢＣは、基本的に現ピクチャ内で予測を行うが、現ピクチャ内で参照ブロックを導き出す点において、インター予測に類似して行われることができる。すなわち、ＩＢＣは、本文書において説明されるインター予測技法のうちの少なくとも一つを利用できる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なされることができる。パレットモードが適用される場合、パレットテーブルおよびパレットインデックスに関する情報に基づいて、ピクチャ内のサンプル値をシグナリングできる。
【００４２】
上記予測部（インター予測部２２１および／または上記イントラ予測部２２２を含む）を介して生成された予測信号は、復元信号を生成するために利用されるか、または残差信号を生成するために利用されることができる。変換部２３２は、残差信号に変換技法を適用して、変換係数（transform coefficients）を生成できる。例えば、変換技法は、ＤＣＴ（Discrete Cosine Transform）、ＤＳＴ（Discrete Sine Transform）、ＫＬＴ（Karhunen-Loeve Transform）、ＧＢＴ（Graph-Based Transform）、またはＣＮＴ（Conditionally Non-linear Transform）のうちの少なくとも一つを含むことができる。ここで、ＧＢＴは、ピクセル間の関係情報をグラフで表現するとき、このグラフから得られた変換を意味する。ＣＮＴは、以前に復元されたすべてのピクセル（all previously reconstructed pixel）を利用して予測信号を生成し、それに基づいて獲得される変換を意味する。また、変換過程は、正四角形の同じ大きさを有するピクセルブロックに適用されることもでき、正四角形でない可変の大きさのブロックにも適用されることができる。
【００４３】
量子化部２３３は、変換係数を量子化してエントロピエンコード部２４０に転送され、エントロピエンコード部２４０は、量子化された信号（量子化された変換係数に関する情報）をエンコードしてビットストリームで出力できる。上記量子化された変換係数に関する情報は、残差情報と呼ばれることができる。量子化部２３３は、係数スキャン順序（scan order）に基づいてブロック形態の量子化された変換係数を１次元ベクトル形態で再整列でき、上記１次元ベクトル形態の量子化された変換係数に基づいて、上記量子化された変換係数に関する情報を生成することもできる。エントロピエンコード部２４０は、例えば指数ゴロム（exponential Golomb）、ＣＡＶＬＣ（Context-Adaptive Variable Length Coding）、ＣＡＢＡＣ（Context-Adaptive Binary Arithmetic Coding）などの多様なエンコード方法を行うことができる。エントロピエンコード部２４０は、量子化された変換係数の他、ビデオ／イメージ復元に必要な情報（例えば、シンタックス要素（syntax elements）の値など）を共にまたは別にエンコードすることもできる。エンコードされた情報（例えば、エンコードされたビデオ／映像情報）は、ビットストリーム形態でＮＡＬ（Network Abstraction Layer）ユニット単位で転送または記憶されることができる。上記ビデオ／映像情報は、アダプテーションパラメータセット（ＡＰＳ）、ピクチャパラメータセット（ＰＰＳ）、シーケンスパラメータセット（ＳＰＳ）またはビデオパラメータセット（ＶＰＳ）など、多様なパラメータセットに関する情報をさらに含むことができる。また、上記ビデオ／映像情報は、一般制限情報（general constraint information）をさらに含むことができる。本文書においてエンコード装置からデコード装置に伝達／シグナリングされる情報および／またはシンタックス要素は、ビデオ／映像情報に含まれることができる。上記ビデオ／映像情報は、上述したエンコード手順を介してエンコードされて、上記ビットストリームに含まれることができる。上記ビットストリームは、ネットワークを介して転送されることができ、またはデジタル記憶媒体に記憶されることができる。ここで、ネットワークは、放送網および／または通信網などを含むことができ、デジタル記憶媒体は、ＵＳＢ、ＳＤ、ＣＤ、ＤＶＤ、ブルーレイ、ＨＤＤ、ＳＳＤなどの多様な記憶媒体を含むことができる。エントロピエンコード部２４０から出力された信号を転送する転送部（図示せず）および／または記憶する記憶部（図示せず）は、エンコード装置２００の内／外部エレメントとして構成されることができ、または転送部は、エントロピエンコード部２４０に含まれることもできる。
【００４４】
量子化部２３３から出力された量子化された変換係数は、予測信号を生成するために利用されることができる。例えば、量子化された変換係数に逆量子化部２３４および逆変換部２３５を介して逆量子化および逆変換を適用することによって、残差信号（残差ブロックまたは残差サンプル）を復元できる。加算部１５５は、復元された残差信号をインター予測部２２１またはイントラ予測部２２２から出力された予測信号に加えることによって、復元（reconstructed）信号（復元ピクチャ、復元ブロック、復元サンプルアレイ）が生成されることができる。スキップモードが適用された場合のように、処理対象ブロックに対する残差がない場合、予測されたブロックが復元ブロックとして使用されることができる。加算部２５０は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て次のピクチャのインター予測のために使用されることもできる。
【００４５】
一方、ピクチャエンコードおよび／または復元過程でＬＭＣＳ（Luma Mapping with Chroma Scaling）が適用されることもできる。
【００４６】
フィルタリング部２６０は、復元信号にフィルタリングを適用して主観的／客観的画質を向上させることができる。例えば、フィルタリング部２６０は、復元ピクチャに多様なフィルタリング方法を適用して、修正された（modified）復元ピクチャを生成でき、上記修正された復元ピクチャを、メモリ２７０、具体的にはメモリ２７０のＤＰＢに記憶することができる。上記多様なフィルタリング方法は、例えば、デブロックフィルタリング、サンプル適応オフセット（sample adaptive offset）、適応ループフィルタ（adaptive loop filter）、両方向フィルタ（bilateral filter）などを含むことができる。フィルタリング部２６０は、各フィルタリング方法に関する説明において後述するように、フィルタリングに関する多様な情報を生成して、エントロピエンコード部２４０に伝達できる。フィルタリングに関する情報は、エントロピエンコード部２４０においてエンコードされて、ビットストリーム形態で出力されることができる。
【００４７】
メモリ２７０に転送された修正された復元ピクチャは、インター予測部２２１において参照ピクチャとして使用されることができる。エンコード装置は、これを介してインター予測が適用される場合、エンコード装置１００とデコード装置とにおける予測ミスマッチを避けることができ、符号化効率も向上させることができる。
【００４８】
メモリ２７０ＤＰＢは、修正された復元ピクチャをインター予測部２２１における参照ピクチャとして使用するために記憶することができる。メモリ２７０は、現ピクチャ内の動き情報が導き出された（またはエンコードされた）ブロックの動き情報および／または既に復元されたピクチャ内のブロックの動き情報を記憶することができる。上記記憶された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するために、インター予測部２２１に伝達できる。メモリ２７０は、現ピクチャ内の復元されたブロックの復元サンプルを記憶することができ、イントラ予測部２２２に伝達できる。
【００４９】
図３は、本文書の実施形態に適用されることができるビデオ／映像デコード装置の構成を概略的に説明する図である。
【００５０】
図３を参照すると、デコード装置３００は、エントロピデコード部（entropy decoder）３１０、残差処理部（residual processor）３２０、予測部（predictor）３３０、加算部（adder）３４０、フィルタリング部（filter）３５０およびメモリ（memory）３６０を含んで構成されることができる。予測部３３０は、インター予測部３３１およびイントラ予測部３３２を含むことができる。残差処理部３２０は、逆量子化部（dequantizer）３２１および逆変換部（inverse transformer）３２２を含むことができる。上述したエントロピデコード部３１０、残差処理部３２０、予測部３３０、加算部３４０およびフィルタリング部３５０は、実施形態によって、一つのハードウェアコンポーネント（例えばデコーダチップセットまたはプロセッサ）によって構成されることができる。また、メモリ３６０は、ＤＰＢ（Decoded Picture Buffer）を含むことができ、デジタル記憶媒体によって構成されることもできる。上記ハードウェアコンポーネントは、メモリ３６０を内／外部コンポーネントとしてさらに含むことができる。
【００５１】
ビデオ／映像情報を含むビットストリームが入力されると、デコード装置３００は、図２のエンコード装置においてビデオ／映像情報が処理されたプロセスに対応して映像を復元できる。例えば、デコード装置３００は、上記ビットストリームから獲得したブロック分割関連情報に基づいて、ユニット／ブロックを導き出すことができる。デコード装置３００は、エンコード装置において適用された処理ユニットを利用して、デコードを行うことができる。したがって、デコードの処理ユニットは、例えばコーディングユニットでありえ、コーディングユニットは、符号化ツリーユニットまたは最大コーディングユニットから、四分木構造、二分木構造、および／または三分木構造に従って分割されることができる。コーディングユニットから一つまたは複数の変換ユニットが導き出されることができる。そして、デコード装置３００を介してデコードおよび出力された復元映像信号は、再生装置を介して再生されることができる。
【００５２】
デコード装置３００は、図２のエンコード装置から出力された信号をビットストリーム形態で受信することができ、受信した信号は、エントロピデコード部３１０を介してデコードされることができる。例えば、エントロピデコード部３１０は、上記ビットストリームをパージングして、映像復元（またはピクチャ復元）に必要な情報（例えば、ビデオ／映像情報）を導き出すことができる。上記ビデオ／映像情報は、アダプテーションパラメータセット（ＡＰＳ）、ピクチャパラメータセット（ＰＰＳ）、シーケンスパラメータセット（ＳＰＳ）またはビデオパラメータセット（ＶＰＳ）など、多様なパラメータセットに関する情報をさらに含むことができる。また、上記ビデオ／映像情報は、一般制限情報（general constraint information）をさらに含むことができる。デコード装置は、上記パラメータセットに関する情報および／または上記一般制限情報にさらに基づいて、ピクチャをデコードできる。本文書において後述するシグナリング／受信される情報および／またはシンタックス要素は、上記デコード手順を介してデコードされて、上記ビットストリームから獲得されることができる。例えば、エントロピデコード部３１０は、指数ゴロム符号化、ＣＡＶＬＣまたはＣＡＢＡＣなどのコーディング方法に基づいて、ビットストリーム内の情報をデコードし、ビデオ復元に必要なシンタックスエレメントの値、残差に関する変換係数の量子化された値を出力できる。さらに詳細には、ＣＡＢＡＣエントロピデコード方法は、ビットストリームにおいて各シンタックス要素に該当するビンを受信し、デコード対象シンタックス要素情報、周辺およびデコード対象ブロックのデコード情報または以前のステップにおいてデコードされたシンボル／ビンの情報を利用してコンテキスト（文脈）（context）モデルを決定し、決定されたコンテキストモデルに応じてビン（bin）の発生確率を予測して、ビンの算術デコード（arithmetic decoding）を行って、各構文要素の値に該当するシンボルを生成できる。このとき、ＣＡＢＡＣエントロピデコード方法は、コンテキストモデル決定後に次のシンボル／ビンのコンテキストモデルのためにデコードされたシンボル／ビンの情報を利用して、コンテキストモデルをアップデートできる。エントロピデコード部３１０においてデコードされた情報のうち、予測に関する情報は、予測部（インター予測部３３２およびイントラ予測部３３１）に提供され、エントロピデコード部３１０においてエントロピデコードが行われた残差値、すなわち量子化された変換係数および関連パラメータ情報は、残差処理部３２０に入力されることができる。残差処理部３２０は、残差信号（残差ブロック、残差サンプル、残差サンプルアレイ）を導き出すことができる。また、エントロピデコード部３１０においてデコードされた情報のうち、フィルタリングに関する情報は、フィルタリング部３５０に提供されることができる。一方、エンコード装置から出力された信号を受信する受信部（図示せず）は、デコード装置３００の内／外部エレメントとしてさらに構成されることができ、または、受信部は、エントロピデコード部３１０の構成要素でもありうる。一方、本文書によるデコード装置は、ビデオ／映像／ピ���チャデコード装置と呼ばれることができ、上記デコード装置は、情報デコーダ（ビデオ／映像／ピクチャ情報デコーダ）およびサンプルデコーダ（ビデオ／映像／ピクチャサンプルデコーダ）に区分することもできる。上記情報デコーダは、上記エントロピデコード部３１０を含むことができ、上記サンプルデコーダは、上記逆量子化部３２１、逆変換部３２２、加算部３４０、フィルタリング部３５０、メモリ３６０、インター予測部３３２およびイントラ予測部３３１のうちの少なくとも一つを含むことができる。
【００５３】
逆量子化部３２１では、量子化された変換係数を逆量子化して変換係数を出力できる。逆量子化部３２１は、量子化された変換係数を２次元のブロック形態で再整列できる。この場合、上記再整列は、エンコード装置において行われた係数スキャン順序に基づいて再整列を行うことができる。逆量子化部３２１は、量子化パラメータ（例えば、量子化ステップサイズ情報）を利用して、量子化された変換係数に対する逆量子化を行い、変換係数（transform coefficient）を獲得できる。
【００５４】
逆変換部３２２では、変換係数を逆変換して残差信号（残差ブロック、残差サンプルアレイ）を獲得する。
【００５５】
予測部は、現ブロックに対する予測を行い、上記現ブロックに対する予測サンプルを含む予測されたブロック（predicted block）を生成できる。予測部は、エントロピデコード部３１０から出力された上記予測に関する情報に基づいて、上記現ブロックにイントラ予測が適用されるかどうか、またはインター予測が適用されるかどうかを決定でき、具体的なイントラ／インター予測モードを決定できる。
【００５６】
予測部３２０は、後述する多様な予測方法に基づいて予測信号を生成できる。例えば、予測部は、一つのブロックに対する予測のために、イントラ予測またはインター予測を適用できるだけでなく、イントラ予測とインター予測とを同時に適用できる。これは、Ｃｏｍｂｉｎｅｄ  Ｉｎｔｅｒ  ａｎｄ  Ｉｎｔｒａ  Ｐｒｅｄｉｃｔｉｏｎ（ＣＩＩＰ）と呼ばれることができる。また、予測部は、ブロックに対する予測のためにイントラブロックコピー（Intra Block Copy、ＩＢＣ）予測モードに基づくこともでき、またはパレットモード（palette mode）に基づくこともできる。上記ＩＢＣ予測モードまたはパレットモードは、例えばＳＣＣ（Screen Content Coding）などのように、ゲームなどのコンテンツ映像／動画コーディングのために使用されることができる。ＩＢＣは、基本的に現ピクチャ内で予測を行うが、現ピクチャ内で参照ブロックを導き出す点において、インター予測と同様に行われることができる。すなわち、ＩＢＣは、本文書において説明されるインター予測技法のうちの少なくとも一つを利用できる。パレットモードは、イントラコーディングまたはイントラ予測の一例と見なすことができる。パレットモードが適用される場合、パレットテーブルおよびパレットインデックスに関する情報が上記ビデオ／映像情報に含まれてシグナリングされることができる。
【００５７】
イントラ予測部３３１は、現ピクチャ内のサンプルを参照して現ブロックを予測できる。上記参照されるサンプルは、予測モードに応じて上記現ブロックの周辺（neighbor）に位置したり、または離れて位置することもできる。イントラ予測における予測モードは、複数の非方向性モードおよび複数の方向性モードを含むことができる。イントラ予測部３３１は、周辺ブロックに適用された予測モードを利用して、現ブロックに適用される予測モードを決定することもできる。
【００５８】
インター予測部３３２は、参照ピクチャ上において動きベクトルにより特定される参照ブロック（参照サンプルアレイ）に基づいて、現ブロックに対する予測されたブロックを導出できる。このとき、インター予測モードにおいて転送される動き情報の量を減らすために、周辺ブロックと現ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロックまたはサンプル単位で予測できる。上記動き情報は、動きベクトルおよび参照ピクチャインデックスを含むことができる。上記動き情報は、インター予測方向（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）に関する情報をさらに含むことができる。インター予測の場合に、周辺ブロックは、現ピクチャ内に存在する空間的周辺ブロック（spatial neighboring block）と参照ピクチャに存在する時間的周辺ブロック（temporal neighboring block）とを含むことができる。例えば、インター予測部３３２は、周辺ブロックに基づいて動き情報候補リストを構成し、受信した候補選択情報に基づいて上記現ブロックの動きベクトルおよび／または参照ピクチャインデックスを導き出すことができる。多様な予測モードに基づいてインター予測が行われることができ、上記予測に関する情報は、上記現ブロックに対するインター予測のモードを指示する情報を含むことができる。
【００５９】
加算部３４０は、獲得された残差信号を予測部（インター予測部３３２および／またはイントラ予測部３３１を含む）から出力された予測信号（予測されたブロック、予測サンプルアレイ）に加えることによって、復元信号（復元ピクチャ、復元ブロック、復元サンプルアレイ）を生成できる。スキップモードが適用された場合のように、処理対象ブロックに対する残差がない場合、予測されたブロックが復元ブロックとして使用されることができる。
【００６０】
加算部３４０は、復元部または復元ブロック生成部と呼ばれることができる。生成された復元信号は、現ピクチャ内の次の処理対象ブロックのイントラ予測のために使用されることができ、後述するように、フィルタリングを経て出力されることもでき、または次のピクチャのインター予測のために使用されることもできる。
【００６１】
一方、ピクチャデコード過程においてＬＭＣＳ（Luma Mapping with Chroma Scaling）が適用されることもできる。
【００６２】
フィルタリング部３５０は、復元信号にフィルタリングを適用して主観的／客観的画質を向上させることができる。例えば、フィルタリング部３５０は、復元ピクチャに多様なフィルタリング方法を適用して修正された（modified）復元ピクチャを生成でき、上記修正された復元ピクチャを、メモリ３６０、具体的にはメモリ３６０のＤＰＢに転送できる。上記多様なフィルタリング方法は、例えば、デブロックフィルタリング、サンプル適応オフセット（sample adaptive offset）、適応ループフィルタ（adaptive loop filter）、両方向フィルタ（bilateral filter）などを含むことができる。
【００６３】
メモリ３６０のＤＰＢに記憶された（修正された）復元ピクチャは、インター予測部３３２において参照ピクチャとして使用されることができる。メモリ３６０は、現ピクチャ内の動き情報が導き出された（もしくはデコードされた）ブロックの動き情報ならびに／または既に復元されたピクチャ内のブロックの動き情報を記憶することができる。上記記憶された動き情報は、空間的周辺ブロックの動き情報または時間的周辺ブロックの動き情報として活用するために、インター予測部３３２に伝達されることができる。メモリ３６０は、現ピクチャ内の復元されたブロックの復元サンプルを記憶することができ、イントラ予測部３３１に伝達できる。
【００６４】
本明細書において、エンコード装置１００のフィルタリング部２６０、インター予測部２２１およびイントラ予測部２２２において説明された実施形態は、各々デコード装置３００のフィルタリング部３５０、インター予測部３３２およびイントラ予測部３３１にも同一または対応するように適用されることができる。
【００６５】
上述したように、ビデオコーディングを行うにおいて、圧縮効率を上げるために予測を行う。これによりコーディング対象ブロックである現ブロックに対する予測サンプルを含む予測されたブロックを生成できる。ここで、上記予測されたブロックは、空間領域（またはピクセル領域）における予測サンプルを含む。上記予測されたブロックは、エンコード装置とデコード装置とで同様に導き出され、上記エンコード装置は、オリジナルブロックのオリジナルサンプル値自体ではなく、上記オリジナルブロックと上記予測されたブロックとの間の残差に関する情報（残差情報）をデコード装置にシグナリングすることによって、映像コーディング効率を上げることができる。デコード装置は、上記残差情報に基づいて残差サンプルを含む残差ブロックを導き出し、上記残差ブロックと上記予測されたブロックとを合せて、復元サンプルを含む復元ブロックを生成でき、復元ブロックを含む復元ピクチャを生成できる。
【００６６】
上記残差情報は、変換および量子化手順を介して生成されることができる。例えば、エンコード装置は、上記オリジナルブロックと上記予測されたブロックとの間の残差ブロックを導き出し、上記残差ブロックに含まれる残差サンプル（残差サンプルアレイ）に変換手順を行って変換係数を導き出し、上記変換係数に量子化手順を行って、量子化された変換係数を導き出して、関連する残差情報を（ビットストリームを介して）デコード装置にシグナリングできる。ここで、上記残差情報は、上記量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。デコード装置は、上記残差情報に基づいて逆量子化／逆変換手順を行い、残差サンプル（または残差ブロック）を導き出すことができる。デコード装置は、予測されたブロックおよび上記残差ブロックに基づいて復元ピクチャを生成できる。エンコード装置は、また、以後のピクチャのインター予測のための参照のために、量子化された変換係数を逆量子化／逆変換して残差ブロックを導き出し、これに基づいて復元ピクチャを生成できる。
【００６７】
一方、上述したように、現ブロックに対する予測を行うにおいて、イントラ予測またはインター予測を適用できる。以下、現ブロックにインター予測を適用する場合について説明する。
【００６８】
エンコード／デコード装置の予測部（より具体的にはインター予測部）は、ブロック単位でインター予測を行って予測サンプルを導き出すことができる。インター予測は、現ピクチャ以外のピクチャ（１つまたは複数）のデータ要素（例えば、サンプル値、または動き情報など）に依存した方法で導き出される予測を表すことができる。現ブロックにインター予測が適用される場合、参照ピクチャインデックスが指す参照ピクチャ上において動きベクトルにより特定される参照ブロック（参照サンプルアレイ）に基づいて、現ブロックに対する予測されたブロック（予測サンプルアレイ）を導出できる。このとき、インター予測モードにおいて転送される動き情報の量を減らすために、周辺ブロックと現ブロックとの間の動き情報の相関性に基づいて、動き情報をブロック、サブブロックまたはサンプル単位で予測できる。動き情報は、動きベクトルおよび参照ピクチャインデックスを含むことができる。動き情報は、インター予測方向（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）情報をさらに含むことができる。インター予測が適用される場合に、周辺ブロックは、現ピクチャ内に存在する空間的周辺ブロック（spatial neighboring block）と参照ピクチャに存在する時間的周辺ブロック（temporal neighboring block）とを含むことができる。上記参照ブロックを含む参照ピクチャと上記時間的周辺ブロックを含む参照ピクチャとは、同一であってもよく、異なってもよい。上記時間的周辺ブロックは、コロケート参照ブロック（collocated reference block）、コロケートＣＵ（ｃｏｌＣＵ）などの名前で呼ばれることができ、上記時間的周辺ブロックを含む参照ピクチャは、コロケートピクチャ（collocated picture、ｃｏｌＰｉｃ）と呼ばれることもできる。例えば、現ブロックの周辺ブロックに基づいて、動き情報候補リストが構成されることができ、現ブロックの動きベクトルおよび／または参照ピクチャインデックスを導き出すために、どのような候補が選択（使用）されるかを指示するフラグまたはインデックス情報がシグナリングされることができる。多様な予測モードに基づいてインター予測が行われることができ、例えばスキップモードおよびマージモードの場合に、現ブロックの動き情報は、選択された周辺ブロックの動き情報と同一でありうる。スキップモードの場合、マージモードとは異なり、残差信号が転送されないことができる。動き情報予測（Motion Vector Prediction、ＭＶＰ）モードの場合、選択された周辺ブロックの動きベクトルを動きベクトル予測子（motion vector predictor）として利用し、動きベクトル差分（motion vector difference）は、シグナリングされることができる。この場合、上記動きベクトル予測子および動きベクトル差分の合計を利用して、現ブロックの動きベクトルを導き出すことができる。
【００６９】
上記動き情報は、インター予測タイプ（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）に応じてＬ０動き情報および／またはＬ１動き情報を含むことができる。Ｌ０方向の動きベクトルは、Ｌ０動きベクトルまたはＭＶＬ０と呼ばれることができ、Ｌ１方向の動きベクトルは、Ｌ１動きベクトルまたはＭＶＬ１と呼ばれることができる。Ｌ０動きベクトルに基づいた予測は、Ｌ０予測と呼ばれることができ、Ｌ１動きベクトルに基づいた予測は、Ｌ１予測と呼ばれることができ、Ｌ０動きベクトルおよびＬ１動きベクトルともに基づいた予測は、対（Ｂｉ）予測と呼ばれることができる。ここで、Ｌ０動きベクトルは、参照ピクチャリストＬ０（Ｌ０）に関連する動きベクトルを表すことができ、Ｌ１動きベクトルは、参照ピクチャリストＬ１（Ｌ１）に関連する動きベクトルを表すことができる。参照ピクチャリストＬ０は、現ピクチャより出力順序における以前のピクチャを参照ピクチャとして含むことができ、参照ピクチャリストＬ１は、現ピクチャより出力順序における以後のピクチャを含むことができる。以前のピクチャは、順方向（参照）ピクチャと呼ばれることができ、以後のピクチャは、逆方向（参照）ピクチャと呼ばれることができる。参照ピクチャリストＬ０は、現ピクチャより出力順序における以後のピクチャを参照ピクチャとしてさらに含むことができる。この場合、参照ピクチャリストＬ０内で以前のピクチャがまずインデックスされ、以後のピクチャは、その次にインデックスされることができる。参照ピクチャリストＬ１は、現ピクチャより出力順序における以前のピクチャを参照ピクチャとしてさらに含むことができる。この場合、参照ピクチャリストＬ１内で以後ピクチャがまずインデックスされ、以前ピクチャは、その次にインデックスされることができる。ここで、出力順序は、ピクチャ順序カウント（Picture Order Count；ＰＯＣ）の順序（order）に対応することができる。
【００７０】
上述したｌｉｓｔ０（Ｌ０）予測、ｌｉｓｔ１（Ｌ１）予測、または対予測（bi-prediction）が現ブロック（現コーディングユニット）に使用されるかどうかを表す情報がシグナリングされることができる。上記情報は、動き予測方向情報、インター予測方向情報またはインター予測指示情報と呼ばれることができ、例えばｉｎｔｅｒ＿ｐｒｅｄ＿ｉｄｃシンタックス要素の形態で構成／エンコード／シグナリングされることができる。すなわち、ｉｎｔｅｒ＿ｐｒｅｄ＿ｉｄｃシンタックス要素は、上述したｌｉｓｔ０（Ｌ０）予測、ｌｉｓｔ１（Ｌ１）予測、または対予測（bi-prediction）が現ブロック（現コーディングユニット）に使用されるかどうかを表すことができる。本文書では、説明の便宜のために、ｉｎｔｅｒ＿ｐｒｅｄ＿ｉｄｃシンタックス要素が指すインター予測タイプ（Ｌ０予測、Ｌ１予測、またはＢＩ予測）は、動き予測方向として表されることができる。Ｌ０予測は、ｐｒｅｄ＿Ｌ０、Ｌ１予測は、ｐｒｅｄ＿Ｌ１、対予測は、ｐｒｅｄ＿ＢＩで表されることができる。例えば、ｉｎｔｅｒ＿ｐｒｅｄ＿ｉｄｃシンタックス要素の値に応じて、次の表１のような予測タイプを表すことができる。
【００７１】
＜表１＞
【表１】
2021518996.tif 000003
【００７２】
また、現ブロックにインター予測を適用するにおいて、多様なインター予測モードが使用されることができる。例えば、マージモード、スキップモード、ＭＶＰ（Motion Vector Prediction）モード、アフィン（Affine）モード、ＨＭＶＰ（Historical motion Vector Prediction）モードなど、多様なモードが使用されることができる。ＤＭＶＲ（Decoder side Motion Vector Refinement）モード、ＡＭＶＲ（Adaptive Motion Vector Resolution）モード、Ｂｉ−ｄｉｒｅｃｔｉｏｎａｌ  Ｏｐｔｉｃａｌ  Ｆｌｏｗ（ＢＤＯＦ）などが付随的なモードとしてさらに使用されることができる。アフィンモードは、アフィン動き予測（affine motion prediction）モードと呼ばれることができる。ＭＶＰモードは、ＡＭＶＰ（Advanced Motion Vector Prediction）モードと呼ばれることもできる。本文書において一部のモードおよび／または一部のモードに応じて導き出された動き情報候補は、他のモードの動き情報関連候補のうちの一つとして含まれることができる。
【００７３】
現ブロックのインター予測モードを指す予測モード情報がエンコード装置からデコード装置にシグナリングされることができる。このとき、予測モード情報は、ビットストリームに含まれてデコード装置に受信されることができる。予測モード情報は、多数の候補モードのうちの一つを指示するインデックス情報を含むことができる。あるいは、フラグ情報の階層的シグナリングを介してインター予測モードを指示することもできる。この場合、予測モード情報は、一つまたは複数のフラグを含むことができる。例えば、スキップフラグをシグナリングしてスキップモードを適用するかどうかを指示し、スキップモードが適用されない場合に、マージフラグをシグナリングしてマージモードを適用するかどうかを指示し、マージモードが適用されない場合に、ＭＶＰモードが適用されることを指示するか、追加的な区分のためのフラグをさらにシグナリングすることもできる。アフィンモードは、独立したモードでシグナリングされ、またはマージモードもしくはＭＶＰモードなどに従属するモードでシグナリングされることができる。例えば、アフィンモードは、アフィンマージモードおよびアフィンＭＶＰモードを含むことができる。
【００７４】
また、現ブロックにインター予測を適用するにおいて、現ブロックの動き情報を利用できる。エンコード装置は、動き推定（motion estimation）手順を介して現ブロックに対する最適な動き情報を導き出すことができる。例えば、エンコード装置は、現ブロックに対するオリジナルピクチャ内のオリジナルブロックを利用して、相関性の高い類似の参照ブロックを参照ピクチャ内の決まった探索範囲内で分数（端数の）ピクセル単位で探索でき、これにより動き情報を導き出すことができる。ブロックの類似性は、位相（phase）ベース（基盤）サンプル値の差に基づいて導き出すことができる。例えば、ブロックの類似性は、現ブロック（または現ブロックのテンプレート）と参照ブロック（または参照ブロックのテンプレート）との間のＳＡＤ（Sum of Absolute Differences）に基づいて計算されることができる。この場合、サーチスペース（探索領域）内のＳＡＤが最も小さな参照ブロックに基づいて動き情報を導き出すことができる。導き出された動き情報は、インター予測モードに基づいて様々な方法によってデコード装置にシグナリングされることができる。
【００７５】
上記のように、インター予測モードに応じて導き出された動き情報に基づいて、現ブロックに対する予測されたブロックを導き出すことができる。予測されたブロックは、現ブロックの予測サンプル（予測サンプルアレイ）を含むことができる。現ブロックの動きベクトル（ＭＶ）が分数サンプル単位を指す場合、補間（interpolation）手順が行われることができ、これによって参照ピクチャ内で分数サンプル単位の参照サンプルに基づいて、現ブロックの予測サンプルが導き出されることができる。現ブロックにアフィン（Affine）インター予測が適用される場合、サンプル／サブブロック単位のＭＶに基づいて予測サンプルを生成できる。対予測が適用される場合、Ｌ０予測（すなわち、参照ピクチャリストＬ０内の参照ピクチャおよびＭＶＬ０を利用した予測）に基づいて導き出された予測サンプルとＬ１予測（すなわち、参照ピクチャリストＬ１内の参照ピクチャおよびＭＶＬ１を利用した予測）に基づいて導き出された予測サンプルとの（位相に応じた）重み付き和または重み付き平均を介して導き出された予測サンプルが、現ブロックの予測サンプルとして利用されることができる。対予測が適用される場合、Ｌ０予測に利用された参照ピクチャとＬ１予測に利用された参照ピクチャとが現ピクチャを基準に互いに異なる時間的方向に位置する場合（すなわち、対予測でかつ両方向予測に該当する場合）、をｔｒｕｅ対予測と呼ぶことができる。
【００７６】
導き出された予測サンプルに基づいて復元サンプルおよび復元ピクチャが生成されることができ、以後インループフィルタリングなどの手順が行われうることは、前述した通りである。
【００７７】
図４は、インター予測に基づいたビデオ／映像エンコード方法の一例を示し、図５は、エンコード装置内のインター予測部を概略的に示した一例である。図５のエンコード装置内のインター予測部は、上述した図２のエンコード装置２００のインター予測部２２１にも同一または対応するように適用されることができる。
【００７８】
図４および図５を参照すると、エンコード装置は、現ブロックに対するインター予測を行う（Ｓ４００）。エンコード装置は、現ブロックのインター予測モードおよび動き情報を導き出し、現ブロックの予測サンプルを生成できる。ここで、インター予測モード決定、動き情報導出および予測サンプル生成手順は、同時に行われることもでき、ある一つの手順が他の手順よりまず行われることもできる。
【００７９】
例えば、エンコード装置のインター予測部２２１は、予測モード決定部２２１＿１、動き情報導出部２２１＿２、予測サンプル導出部２２１＿３を含むことができ、予測モード決定部２２１＿１において上記現ブロックに対する予測モードを決定し、動き情報導出部２２１＿２において上記現ブロックの動き情報を導き出し、予測サンプル導出部２２１＿３において上記現ブロックの予測サンプルを導き出すことができる。例えば、エンコード装置のインター予測部２２１は、動き推定（motion estimation）を介して参照ピクチャの一定領域（サーチ領域）内で現ブロックと類似のブロックをサーチし、現ブロックとの差が最小または一定基準以下である参照ブロックを導き出すことができる。これに基づいて参照ブロックが位置する参照ピクチャを指す参照ピクチャインデックスを導き出し、参照ブロックと現ブロックとの位置差に基づいて動きベクトルを導き出すことができる。エンコード装置は、多様な予測モードのうち、現ブロックに対して適用されるモードを決定できる。エンコード装置は、多様な予測モードに対するＲＤ  ｃｏｓｔを比較し、現ブロックに対する最適な予測モードを決定できる。
【００８０】
例えば、エンコード装置は、現ブロックにスキップモードまたはマージモードが適用される場合、マージ候補リストを構成し、マージ候補リストに含まれるマージ候補が指す参照ブロックのうち、現ブロックとの差が最小または一定基準以下である参照ブロックを導き出すことができる。この場合、導き出された参照ブロックと関連するマージ候補が選択され、選択されたマージ候補を指すマージインデックス情報が生成されてデコード装置へシグナリングされることができる。選択されたマージ候補の動き情報を利用して、現ブロックの動き情報が導き出されることができる。
【００８１】
他の例として、エンコード装置は、現ブロックに（Ａ）ＭＶＰモードが適用される場合、（Ａ）ＭＶＰ候補リストを構成し、（Ａ）ＭＶＰ候補リストに含まれるｍｖｐ（motion vector predictor）候補のうち、選択されたｍｖｐ候補の動きベクトルを現ブロックのｍｖｐとして利用できる。この場合、例えば、上述した動き推定によって導き出された参照ブロックを指す動きベクトルが、現ブロックの動きベクトルとして利用されることができ、ｍｖｐ候補のうち、現ブロックの動きベクトルとの差が最も小さな動きベクトルを有するｍｖｐ候補が、選択されたｍｖｐ候補になることができる。現ブロックの動きベクトルからｍｖｐを引いた差分であるＭＶＤ（Motion Vector Difference）が導き出されることができる。この場合、ＭＶＤに関する情報がデコード装置へシグナリングされることができる。また、（Ａ）ＭＶＰモードが適用される場合、参照ピクチャインデックスの値は、参照ピクチャインデックス情報で構成されて、別にデコード装置へシグナリングされることができる。
【００８２】
エンコード装置は、予測サンプルに基づいて残差サンプルを導き出すことができる（Ｓ４１０）。エンコード装置は、現ブロックのオリジナルサンプルと予測サンプルとの比較により、残差サンプルを導き出すことができる。
【００８３】
エンコード装置は、予測情報および残差情報を含む映像情報をエンコードする（Ｓ４２０）。エンコード装置は、エンコードされた映像情報をビットストリーム形態で出力できる。予測情報は、予測手順に関連する情報として予測モード情報（例えば、ｓｋｉｐ  ｆｌａｇ、ｍｅｒｇｅ  ｆｌａｇ  ｏｒ  ｍｏｄｅ  ｉｎｄｅｘなど）および動き情報に関する情報を含むことができる。動き情報に関する情報は、動きベクトルを導き出すための情報である候補選択情報（例えば、ｍｅｒｇｅ  ｉｎｄｅｘ、ｍｖｐ  ｆｌａｇ  ｏｒ  ｍｖｐ  ｉｎｄｅｘ）を含むことができる。また、動き情報に関する情報は、上述したＭＶＤに関する情報および／または参照ピクチャインデックス情報を含むことができる。また、動き情報に関する情報は、Ｌ０予測、Ｌ１予測、または対（ｂｉ）予測が適用されるかどうかを表す情報を含むことができる。残差情報は、残差サンプルに関する情報である。残差情報は、残差サンプルに対する量子化された変換係数に関する情報を含むことができる。
【００８４】
出力されたビットストリームは、（デジタル）記憶媒体に記憶されてデコード装置に伝達されることができ、または、ネットワークを介してデコード装置に伝達されることができる。
【００８５】
また、上述したように、エンコード装置は、参照サンプルおよび残差サンプルに基づいて復元ピクチャ（復元サンプルおよび復元ブロック含む）を生成できる。これは、デコード装置において行われるのと同じ予測結果をエンコード装置から導き出すためであり、これによりコーディング効率を上げることができるためである。したがって、エンコード装置は、復元ピクチャ（または復元サンプル、復元ブロック）をメモリに記憶し、インター予測のための参照ピクチャとして活用できる。復元ピクチャにインループフィルタリング手順などがさらに適用されうることは、上述した通りである。
【００８６】
図６は、インター予測に基づいたビデオ／映像デコード方法の一例を示し、図７は、デコード装置内のインター予測部を概略的に示した一例である。図７のデコード装置内のインター予測部は、上述した図３のデコード装置３００のインター予測部３３２にも同一または対応するように適用されることができる。
【００８７】
図６および図７を参照すると、デコード装置は、上記エンコード装置において行われた動作と対応する動作を行うことができる。デコード装置は、受信した予測情報に基づいて現ブロックに予測を行い、予測サンプルを導き出すことができる。
【００８８】
具体的には、デコード装置は、受信した予測情報に基づいて現ブロックに対する予測モードを決定できる（Ｓ６００）。デコード装置は、予測情報内の予測モード情報に基づいて、現ブロックにどのようなインター予測モードが適用されるかを決定できる。
【００８９】
例えば、ｍｅｒｇｅ  ｆｌａｇに基づいて現ブロックにマージモードが適用されるか、または（Ａ）ＭＶＰモードが決定されるかを決定できる。あるいは、ｍｏｄｅ  ｉｎｄｅｘに基づいて多様なインター予測モード候補のうちの一つを選択できる。インター予測モード候補は、スキップモード、マージモードおよび／または（Ａ）ＭＶＰモードを含むことができ、または前述した多様なインター予測モードを含むことができる。
【００９０】
デコード装置は、決定されたインター予測モードに基づいて現ブロックの動き情報を導き出す（Ｓ６１０）。例えば、デコード装置は、現ブロックにスキップモードまたはマージモードが適用される場合、マージ候補リストを構成し、マージ候補リストに含まれるマージ候補のうちの一つのマージ候補を選択できる。ここで選択は、上述した選択情報（merge index）に基づいて行われることができる。選択されたマージ候補の動き情報を利用して、現ブロックの動き情報が導き出されることができる。選択されたマージ候補の動き情報が現ブロックの動き情報として利用されることができる。
【００９１】
他の例として、デコード装置は、現ブロックに（Ａ）ＭＶＰモードが適用される場合、（Ａ）ＭＶＰ候補リストを構成し、（Ａ）ＭＶＰ候補リストに含まれるｍｖｐ（motion vector predictor）候補のうち、選択されたｍｖｐ候補の動きベクトルを現ブロックのｍｖｐとして利用できる。ここで、選択は、上述した選択情報（ｍｖｐ  ｆｌａｇ  ｏｒ  ｍｖｐ  ｉｎｄｅｘ）に基づいて行われることができる。この場合、上記ＭＶＤに関する情報に基づいて現ブロックのＭＶＤを導き出すことができ、現ブロックのｍｖｐおよびＭＶＤに基づいて現ブロックの動きベクトルを導き出すことができる。また、参照ピクチャインデックス情報に基づいて、現ブロックの参照ピクチャインデックスを導き出すことができる。現ブロックに関する参照ピクチャリスト内で参照ピクチャインデックスが指すピクチャが、現ブロックのインター予測のために参照される参照ピクチャとして導き出されることができる。
【００９２】
一方、候補リスト構成なしで現ブロックの動き情報が導き出されることができ、この場合、予測モードにおいて開始された手順に従って現ブロックの動き情報が導き出されることができる。この場合、上述したような候補リスト構成は省略できる。
【００９３】
デコード装置は、現ブロックの動き情報に基づいて現ブロックに対する予測サンプルを生成できる（Ｓ６２０）。この場合、現ブロックの参照ピクチャインデックスに基づいて参照ピクチャを導き出し、現ブロックの動きベクトルが参照ピクチャ上において指す参照ブロックのサンプルを利用して、現ブロックの予測サンプルを導き出すことができる。このとき、場合によって現ブロックの予測サンプルのうち、全てまたは一部に対する予測サンプルフィルタリング手順がさらに行われることができる。
【００９４】
例えば、デコード装置のインター予測部３３２は、予測モード決定部３３２＿１、動き情報導出部３３２＿２、予測サンプル導出部３３２＿３を含むことができ、予測モード決定部３３２＿１において受信した予測モード情報に基づいて、現ブロックに対する予測モードを決定し、動き情報導出部３３２＿２から受信した動き情報に関する情報に基づいて、現ブロックの動き情報（動きベクトルおよび／または参照ピクチャインデックスなど）を導き出し、予測サンプル導出部３３２＿３が現ブロックの予測サンプルを導き出すことができる。
【００９５】
デコード装置は、受信した残差情報に基づいて現ブロックに対する残差サンプルを生成する（Ｓ６３０）。デコード装置は、予測サンプルおよび残差サンプルに基づいて、現ブロックに対する復元サンプルを生成し、これに基づいて復元ピクチャを生成できる（Ｓ６４０）。以後、復元ピクチャにインループフィルタリング手順などがさらに適用されうることは、上述の通りである。
【００９６】
上述したように、インター予測手順は、インター予測モード決定ステップ、決定された予測モードに応じる動き情報導出ステップ、導き出された動き情報に基づいた予測遂行（予測サンプル生成）ステップを含むことができる。インター予測手順は、上述したように、エンコード装置およびデコード装置において行われることができる。
【００９７】
一方、スキップモードおよび／またはマージモードは、ＭＶＤ（Motion Vector Difference）なしで周辺ブロックの動きベクトルに基づいて現ブロックの動きを予測するので、動き予測において限界を示す。スキップモードおよび／またはマージモードの限界を改善するために、ＤＭＶＲ（Decoder-side Motion Vector Refinement）、ＢＤＯＦ（Bi-Directional Optical Flow）モードなどを適用して、動きベクトルをリファイン（refine）できる。ＤＭＶＲ、ＢＤＯＦモードは、現ブロックにｔｒｕｅ対予測が適用される場合に使用されることができる。
【００９８】
図８は、ｔｒｕｅ対予測においてＤＭＶＲ（Decoder-side Motion Vector Refinement）を行う過程の一実施形態を説明する図である。
【００９９】
ＤＭＶＲは、デコーダ側において周辺ブロックの動き情報をリファイン（refinement）して動き予測を行う方法である。ＤＭＶＲが適用される場合、デコーダは、マージ（merge）／スキップ（skip）モードにおいて周辺ブロックの動き情報を利用して生成されたテンプレート（template）に基づいて、ｃｏｓｔ比較を介してリファインされた動き情報を導出できる。この場合、付加的なシグナリング情報なしで動き予測の精密度を高め圧縮性能を向上させることができる。
【０１００】
本文書において、説明の便宜のためにデコード装置を中心に説明するが、本文書の実施形態によるＤＭＶＲは、エンコード装置でも同じ方法で行われることができる。
【０１０１】
図８を参照すると、デコード装置は、ｌｉｓｔ０およびｌｉｓｔ１方向の初期動きベクトル（または動き情報）（例えば、ＭＶ０およびＭＶ１）により識別される予測ブロック（すなわち、参照ブロック）を導き出し、導き出された予測ブロックの重み付き和（例えば、平均）でテンプレート（またはｂｉｌａｔｅｒａｌ  ｔｅｍｐｌａｔｅ）を生成できる（ｓｔｅｐ１）。ここで、初期動きベクトル（ＭＶ０およびＭＶ１）は、マージ／スキップモードにおいて周辺ブロックの動き情報を利用して導出された動きベクトルを表すことができる。
【０１０２】
そして、デコード装置は、テンプレートマッチング（template matching）動作を介してテンプレートと参照ピクチャのサンプル領域との間の差分値を最小にする動きベクトル（例えば、ＭＶ０’およびＭＶ１’）を導出できる（ｓｔｅｐ２）。ここで、サンプル領域は、参照ピクチャ内で初期予測ブロックの周辺領域を表し、サンプル領域は、周辺領域、参照領域、サーチスペース、探索範囲、サーチスペースなどと呼ばれることができる。テンプレートマッチング動作は、テンプレートと参照ピクチャのサンプル領域との間のｃｏｓｔ測定値を計算する動作を含むことができる。例えば、ｃｏｓｔ測定には、ＳＡＤ（Sum of Absolute Differences）が利用されることができる。一例として、ｃｏｓｔ関数として正規化されたＳＡＤが使用されることができる。このとき、ｍａｔｃｈｉｎｇ  ｃｏｓｔは、ＳＡＤ（Ｔ−ｍｅａｎ（Ｔ）、２＊Ｐ［ｘ］−２＊ｍｅａｎ（Ｐ［ｘ］））で与えられることができる。ここで、Ｔは、テンプレートを表し、Ｐ［ｘ」は、サーチスペース内のブロックを表す。そして、２個の参照ピクチャの各々に対して最小テンプレートｃｏｓｔを算出する動きベクトルは、更新された動きベクトル（初期動きベクトルを代える）として考慮されることができる。図８に示すように、デコード装置は、更新された動きベクトルＭＶ０‘およびＭＶ１’を利用して、最終両方向予測結果（すなわち、最終両方向予測ブロック）を生成できる。一実施形態として、更新された（または新しい）動きベクトル導出のためのｍｕｌｔｉ−ｉｔｅｒａｔｉｏｎが最終両方向予測結果の獲得に使用されることができる。
【０１０３】
一実施形態において、デコード装置は、初期動き補償予測（すなわち、従来のマージ／スキップモードを介した動き補償予測）の精度を向上させるために、ＤＭＶＲプロセスを呼び出すことができる。例えば、デコード装置は、現ブロックの予測モードがマージモードまたはスキップモードで、現ブロックにディスプレイ順序において現ピクチャを基準に両方向の参照ピクチャが反対方向にある両方向対予測が適用される場合、ＤＭＶＲプロセスを行うことができる。
【０１０４】
図９は、ＳＡＤ（Sum of Absolute Differences）を使用してＤＭＶＲ（Decoder-side Motion Vector Refinement）を行う過程の一実施形態を説明する図である。
【０１０５】
上述したように、デコード装置は、ＤＭＶＲを行うにおいて、ＳＡＤを利用してｍａｔｃｈｉｎｇ  ｃｏｓｔを測定できる。一実施形態として、図９では、テンプレートを生成せずに二つの参照ピクチャ内の予測サンプル間のＭＲＳＡＤ（Mean Sum of Absolute Difference）を計算して、動きベクトルをリファインする方法を説明する。すなわち、図９の方法は、ＭＲＳＡＤを利用する両方向マッチング（bilateral matching）の一実施形態を示す。
【０１０６】
図９を参照すると、デコード装置は、ｌｉｓｔ０（Ｌ０）方向の動きベクトル（ＭＶ０）により指示される画素（サンプル）の隣接画素をＬ０参照ピクチャ上において導き出し、ｌｉｓｔ１（Ｌ１）方向の動きベクトル（ＭＶ１）により指示される画素（サンプル）の隣接画素をＬ１参照ピクチャ上において導き出すことができる。そして、デコード装置は、Ｌ０参照ピクチャ上において導き出された隣接画素を指示する動きベクトルにより識別されるＬ０予測ブロック（すなわち、Ｌ０参照ブロック）と、Ｌ１参照ピクチャ上において導き出された隣接画素を指示する動きベクトルにより識別されるＬ１予測ブロック（すなわち、Ｌ１参照ブロック）と、の間のＭＲＳＡＤを計算して、ｍａｔｃｈｉｎｇ  ｃｏｓｔを測定できる。このとき、デコード装置は、最小ｃｏｓｔを有する探索ポイント（地点）（すなわち、Ｌ０予測ブロックとＬ１予測ブロックとの間の最小ＳＡＤを有するサーチスペース）をリファインされた動きベクトル対として選択できる。すなわち、リファインされた動きベクトル対は、Ｌ０参照ピクチャにおいて最小ｃｏｓｔを有する画素位置（Ｌ０予測ブロック）を指すリファインされたＬ０動きベクトルと、Ｌ１参照ピクチャにおいて最小ｃｏｓｔを有する画素位置（Ｌ１予測ブロック）を指すリファインされたＬ１動きベクトルと、を含むことができる。
【０１０７】
実施形態として、ｍａｔｃｈｉｎｇ  ｃｏｓｔを計算するにおいて、参照ピクチャのサーチスペースが設定された後に、単方向予測は、ｒｅｇｕｌａｒ  ８  ｔａｐ  ＤＣＴＩＦ  ｉｎｔｅｒｐｏｌａｔｉｏｎ  ｆｉｌｔｅｒを使用して行われることができる。また、一例として、ＭＲＳＡＤ計算は、１６ビット精密度が使用されることができ、内部バッファを考慮してＭＲＳＡＤ計算以前にクリッピングおよび／または四捨五入演算が適用されないことができる。
【０１０８】
上述したように、現ブロックにｔｒｕｅ対予測が適用される場合、対予測信号をリファインするためにＢＤＯＦが使用されることができる。ＢＤＯＦ（Bi-Directional Optical Flow）は、現ブロックに対予測が適用される場合、改善された動き情報を計算し、これに基づいて予測サンプルを生成するために使用されることができる。例えば、ＢＤＯＦは、４ｘ４サブブロック（sub-block）レベルにおいて適用されることができる。すなわち、ＢＤＯＦは、現ブロック内の４ｘ４サブブロック単位で行われることができる。あるいは、ＢＤＯＦは、ルマ成分に対してのみ適用されることができる。あるいは、ＢＤＯＦは、クロマ成分に対してのみ適用されることもでき、ルマ成分およびクロマ成分に対して適用されることもできる。
【０１０９】
ＢＤＯＦモードは、その名称が表すようにオブジェクトの動きがｓｍｏｏｔｈであると仮定するオプティカルフロー（光学流れ）（optical flow）の概念をベースとする。４ｘ４サブブロックの各々に対して、Ｌ０およびＬ１予測サンプル間の差値を最小にすることによって、動きリファインメント（ｖx，ｖy）が計算されることができる。そして、動きリファインメントは、４ｘ４サブブロックにおいて対予測サンプル値を調整するために使用されることができる。
【０１１０】
さらに具体的には、ＢＤＯＦを適用して予測信号をリファインすることにおいて、まず、Ｌ０予測サンプルおよびＬ１予測サンプルの水平および垂直階調（グラジエント）（gradient）を計算できる。このとき、水平および垂直階調は、予測サンプル（ｉ，ｊ）の周辺に位置する２個の周辺サンプル間の差に基づいて計算されることができ、次の式１のように計算されることができる。
【０１１１】
＜式１＞
【数１】
2021518996.tif 000004
【０１１２】
式中、
2021518996.tif 000005
は、水平階調であり、
2021518996.tif 000006
は、垂直階調である。また、
2021518996.tif 000007
は、リストｋ（ｋ＝０，１）において予測サンプルの座標（ｉ，ｊ）における予測値である。
【０１１３】
次に、水平および垂直階調のａｕｔｏ−ｃｏｒｒｅｌａｔｉｏｎおよびｃｒｏｓｓ−ｃｏｒｒｅｌａｔｉｏｎを次の式２および式３のように計算できる。
【０１１４】
＜式２＞
【数２】
2021518996.tif 000008
【０１１５】
＜式３＞
【数３】
2021518996.tif 000009
【０１１６】
式中、
2021518996.tif 000010
は、４ｘ４サブブロック周辺の６ｘ６ウィンドウである。
【０１１７】
次に、動きリファインメント（ｖx，ｖy）がａｕｔｏ−ｃｏｒｒｅｌａｔｉｏｎおよびｃｒｏｓｓ−ｃｏｒｒｅｌａｔｉｏｎを利用して計算され、次の式４のように計算されることができる。
【０１１８】
＜式４＞
【数４】
2021518996.tif 000011
【０１１９】
式中、
2021518996.tif 000012
であり、
2021518996.tif 000013
であり、
2021518996.tif 000014
であり、
2021518996.tif 000015
は、床関数（floor function）である。
【０１２０】
次に、上記階調および動きリファインメントに基づいて、次の式５のようにＢＤＯＦ予測サンプルのリファインメントのためのｂ（ｘ，ｙ）が計算されることができる。
【０１２１】
＜式５＞
【数５】
2021518996.tif 000016
【０１２２】
そして、最後に、ＢＤＯＦ予測サンプル（すなわち、ＢＤＯＦを適用してリファインされた予測サンプル値）が次の式６のように計算されることができる。
【０１２３】
＜式６＞
【数６】
2021518996.tif 000017
【０１２４】
一方、上述したＤＭＶＲとＢＤＯＦとは、ｔｒｕｅ対予測を適用する場合（このとき、ｔｒｕｅ対予測は、現ブロックのピクチャを基準に他の方向の参照ピクチャにおいて動き予測／補償する場合を表す）、動き情報をリファインして予測を行う技術として、ピクチャ内のオブジェクトの動きが一定速度、一定の方向になされる場合を仮定しているという点で類似の概念のリファインメント技術であることが分かる。ただし、ｔｒｕｅ対予測が行われる場合、ＤＭＶＲを適用するための条件とＢＤＯＦを適用するための条件とが異なるので、各技術別に繰り返して複数回の条件チェックを行う過程を経なければならない。そのため、本文書では、現ブロックに適用される予測モードを決定するにおいて、条件チェックを行う過程を改善することで、デコーダの複雑度および性能面において効率を向上させることができる方法を提案する。
【０１２５】
次の表２は、従来のｔｒｕｅ対予測時にＤＭＶＲを適用するための条件を表したものである。以下に羅列した条件を全部満たすときにＤＭＶＲを適用できる。
【０１２６】
＜表２＞
【表２】
2021518996.tif 000018
【０１２７】
上記表２を参照すると、１）ＳＰＳ（Sequence Parameter Set）シンタックスにおいてシグナリングされるフラグ情報（例えば、ｓｐｓ＿ｄｍｖｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）に基づいて、ＤＭＶＲを適用するかどうかを決定できる。ここで、フラグ情報（例えば、ｓｐｓ＿ｄｍｖｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）は、ｔｒｕｅ対予測ベースＤＭＶＲが可能（可用）（enable）であるかどうかを表すことができる。例えば、ｓｐｓ＿ｄｍｖｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１である場合（すなわち、ｔｒｕｅ対予測ベースＤＭＶＲが可能な場合）、ＤＭＶＲ可能条件を満たすと判断できる。
【０１２８】
２）マージモード／スキップモードを使用してインター予測を行うかを表すフラグ情報（例えば、ｍｅｒｇｅ＿ｆｌａｇ）に基づいて、ＤＭＶＲを適用するかどうかを決定できる。例えば、ｍｅｒｇｅ＿ｆｌａｇが１である場合（すなわち、マージモード／スキップモードを使用してインター予測を行う場合）、マージモード／スキップモードを適用するかどうかの条件を満たすと判断できる。
【０１２９】
３）ＭＭＶＤ（Merge mode with Motion Vector Difference）モードを使用してインター予測を行うかどうかを表すフラグ情報（例えば、ｍｍｖｄ＿ｆｌａｇ）に基づいて、ＤＭＶＲを適用するかどうかを決定できる。例えば、ｍｍｖｄ＿ｆｌａｇが０である場合（すなわち、ＭＭＶＤモードを使用しない場合）、ＭＭＶＤモードを適用するかどうかの条件を満たすと判断できる。
【０１３０】
４）両方向予測（対予測）を使用するかどうかに基づいてＤＭＶＲを適用するかどうかを決定できる。ここで、両方向予測は、現ピクチャを基準に互いに異なる方向に存在する参照ピクチャに基づいて行われるインター予測を表すことができる。例えば、ｐｒｅｄＦｌａｇＬ０［０］［０］＝１であり、ｐｒｅｄＦｌａｇＬ０［１］［１］＝１の場合、両方向予測が適用されると判断でき、両方向予測条件を満たすと判断できる。
【０１３１】
５）ｔｒｕｅ対予測で現ピクチャと両方向の参照ピクチャとの間の距離が互いに同じであるかどうかに基づいて、ＤＭＶＲを適用するかどうかを決定できる。すなわち、現ピクチャとＬ０参照ピクチャ（すなわち、参照ピクチャリストＬ０内の参照ピクチャ）との間の距離と、現ピクチャとＬ１参照ピクチャ（すなわち、参照ピクチャリストＬ１内の参照ピクチャ）との間の距離と、が互いに同じであるかどうかを判断できる。例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ，ＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆＩｄｘＬ０］）−ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ，ＲｅｆＰｉｃＬｉｓｔ１［ｒｅｆＩｄｘＬ１］）＝０の場合、ｔｒｕｅ対予測で、現ピクチャと両方向の参照ピクチャとの間の距離が互いに同一であると判断して、両方向の参照ピクチャ距離が同じであるかどうかの条件を満たすと判断できる。
【０１３２】
６）現ブロックの長さ（Ｈｅｉｇｈｔ）が閾値（臨界値）（threshold）より大きいかどうかに基づいて、ＤＭＶＲを適用するかどうかを決定できる。例えば、現ブロックの長さが８以上の場合、現ブロックの大きさ（長さ）の条件を満たすと判断できる。
【０１３３】
７）現ブロックの大きさが閾値（threshold）より大きいかどうかに基づいて、ＤＭＶＲを適用するかどうかを決定できる。例えば、現ブロックの大きさ、すなわち長さ（Ｈｅｉｇｈｔ）＊幅（Ｗｉｄｔｈ）が６４以上の場合、現ブロックの大きさ（長さ＊幅）の条件を満たすと判断できる。
【０１３４】
デコード装置は、上記表２の条件１）ないし７）を満たすかどうかによってＤＭＶＲを適用するかどうかを決定できる。すなわち、デコード装置は、上記表２の条件１）ないし７）が全部満たされる場合に、ＤＭＶＲを適用してｔｒｕｅ対予測を行うことができ、上記表２の条件のうちの一つでも満たされない場合にＤＭＶＲを適用しない。
【０１３５】
次の表３は、従来のｔｒｕｅ対予測時にＢＤＯＦを適用するための条件を表したものである。以下に羅列した条件を全部満たすときにＢＤＯＦを適用できる。
【０１３６】
＜表３＞
【表３】
2021518996.tif 000019
【０１３７】
上記表３を参照すると、１）ＳＰＳ（Sequence Parameter Set）シンタックスにおいてシグナリングされるフラグ情報（例えば、ｓｐｓ＿ｂｄｏｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）に基づいて、ＢＤＯＦを適用するかどうかを決定できる。ここで、フラグ情報（例えば、ｓｐｓ＿ｂｄｏｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）は、ｔｒｕｅ対予測ベースＢＤＯＦが可能（enable）であるかどうかを表すことができる。例えば、ｓｐｓ＿ｂｄｏｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１である場合（すなわち、ｔｒｕｅ対予測ベースＢＤＯＦが可能な場合）、ＢＤＯＦ可能条件を満たすと判断できる。
【０１３８】
２）両方向予測を使用しているかどうかに基づいて、ＢＤＯＦを適用するかどうかを決定できる。ここで、両方向予測は、現ピクチャを基準に互いに異なる方向に存在する参照ピクチャに基づいて行われるインター予測を表すことができる。例えば、ｐｒｅｄＦｌａｇＬ０およびｐｒｅｄＦｌａｇＬ１が全部１の場合、両方向予測が適用されると判断でき、両方向予測条件を満たすと判断できる。
【０１３９】
３）ｔｒｕｅ対予測であるかどうかに基づいて、ＢＤＯＦを適用するかどうかを決定できる。すなわち、現ピクチャを基準にＬ０参照ピクチャ（すなわち、参照ピクチャリストＬ０内の参照ピクチャ）とＬ１参照ピクチャ（すなわち、参照ピクチャリストＬ１内の参照ピクチャ）とが時間的に互いに異なる方向に位置するかどうかを判断できる。例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ、ｒｅｆＰｉｃＬｉｓｔ０［ｒｅｆＩｄｘＬ０］）＊ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ、ｒｅｆＰｉｃＬｉｓｔ１［ｒｅｆＩｄｘＬ１］）が０より小さい場合、現ピクチャを基準に両方向の参照ピクチャが互いに異なる方向に位置すると判断して、ｔｒｕｅ対予測であるかどうかの条件を満たすと判断できる。
【０１４０】
４）アフィンモードが使用されるかどうかに基づいて、ＢＤＯＦを適用するかどうかを決定できる。ここで、アフィンモードが使用されるかどうかは、ＭｏｔｉｏｎＭｏｄｅｌＩｄｃを導出することによって判断できる。例えば、導出されたＭｏｔｉｏｎＭｏｄｅｌＩｄｃが０である場合、アフィンモードが使用されないと判断でき、この場合、アフィンモードを適用するかどうかの条件を満たすと判断できる。
【０１４１】
５）マージモードにおけるインター予測がサブブロック単位で行われるかどうかを表すフラグ情報（例えば、ｍｅｒｇｅ＿ｓｕｂｂｌｏｃｋ＿ｆｌａｇ）に基づいて、ＢＤＯＦを適用するかどうかを決定できる。例えば、ｍｅｒｇｅ＿ｓｕｂｂｌｏｃｋ＿ｆｌａｇが０である場合（すなわち、サブブロック単位でマージモードが適用されない場合）、サブブロックベースマージモードであるかどうかの条件を満たすと判断できる。
【０１４２】
６）ＧＢｉが存在しているかどうかに基づいて、ＢＤＯＦを適用するかどうかを決定できる。ここで、ＧＢｉが存在しているかどうかは、ＧＢｉインデックス情報（例えば、ＧｂｉＩｄｘ）に基づいて判断できる。例えば、ＧｂｉＩｄｘが０である場合（すなわち、ＧｂｉＩｄｘがデフォルトの場合）、ＧＢｉであるかの条件を満たすと判断できる。
【０１４３】
７）現ブロックがルマ（Luma）成分を含むルマブロックであるかどうかに基づいて、ＢＤＯＦを適用するかどうかを決定できる。例えば、ルマブロックであるかを表すインデックス（例えば、ｃＩｄｘ）が０である場合（すなわち、ルマブロックである場合）、ルマブロックであるかどうかの条件を満たすと判断できる。
【０１４４】
デコード装置は、上記表３の条件１）ないし７）を満たすかどうかによって、ＢＤＯＦを適用するかどうかを決定できる。すなわち、デコード装置は、上記表３の条件１）ないし７）が全部満たされる場合にＢＤＯＦを適用して、ｔｒｕｅ対予測を行うことができ、上記表３の条件のうちの一つでも満たされない場合にＢＤＯＦを適用しない。
【０１４５】
ここで、上述したＧＢｉは、Ｌ０予測およびＬ１予測に他の重み付け（weight）を適用できる一般的な対予測（generalized bi-prediction）を表すことができ、例えばＧｂｉＩｄｘを使用して表すことができる。ＧｂｉＩｄｘは、対予測である場合に存在でき、対予測重み付けインデックス（bi-prediction weight index）を表すことができる。本文書における動き情報は、ＧｂｉＩｄｘをさらに含むことができる。例えば、ＧｂｉＩｄｘは、マージモードの場合に周辺ブロックから導き出されることができ、またはＭＶＰモードの場合、ＧｂｉＩｄｘシンタックス要素（例えば、ｇｂｉ＿ｉｄｘ）を介してエンコード装置からデコード装置へシグナリングされることができる。一例として、ＧｂｉＩｄｘは、Ｌ１予測に適用される重み付けｗを指示でき、この場合、Ｌ０予測には、（１−ｗ）の重み付けが適用されることができる。他の例として、ＧｂｉＩｄｘは、Ｌ０予測に適用される重み付けｗを指示でき、この場合、Ｌ１予測には、（１−ｗ）の重み付けが適用されることができる。ＧｂｉＩｄｘが指す重み付けは、多様に構成されることができ、例えば次の表４および表５のように構成されることができる。
【０１４６】
＜表４＞
【表４】
2021518996.tif 000020
【０１４７】
＜表５＞
【表５】
2021518996.tif 000021
【０１４８】
上記表４および上記表５を参照すると、ｗ1の重み付けは、Ｌ１予測に適用される重み付けを表すことができ、ＧｂｉＩｄｘ値を介してＬ１予測に適用される重み付けｗ1を指示できる。例えば、表４の実施形態によれば、ＧｂｉＩｄｘの値が０を表す場合、Ｌ１予測には、１／２の重み付けを適用し、Ｌ０予測には、（１−ｗ1）の値である１／２の重み付けを適用できる。実施形態によって、ｗ1の重み付けは、Ｌ０予測に適用される重み付けを表すこともでき、この場合、ＧｂｉＩｄｘ値を介してＬ０予測に適用される重み付けｗ1を指示できる。
【０１４９】
上述したように、ＤＭＶＲとＢＤＯＦとの適用条件は、一部は同一で、一部は似ているか、または異なる。従来の方式では、条件が同じ場合にも、各技術別に条件チェックを行うようになるので、対予測遂行のための複雑度が増加するようになる。そのため、本文書では、対予測のときにＤＭＶＲおよびＢＤＯＦを適用するための効率的な条件を提案する。
【０１５０】
マージ／スキップモードは、ＡＭＶＰモードと比較すると相対的に動き精度が低いので、ＤＭＶＲ方法を利用して動き情報をリファインすることが性能面において効果的である。しかしながら、ＢＤＯＦモードは、ＤＭＶＲとは異なり、マージ／スキップモードだけでなくＡＭＶＰモードのときにも適用されるが、このようにＡＭＶＰモードにおいてＢＤＯＦを適用する場合、性能に比べてＢＤＯＦ遂行のための複雑度が増加できる。したがって、本実施形態では、ＤＭＶＲと同様にＢＤＯＦの場合も、マージ／スキップモードにおいて適用する方式を提案する。
【０１５１】
この場合、本文書において提案する一実施形態として、ＢＤＯＦの適用条件は、次の表６に提示された条件を含むことができる。
【０１５２】
＜表６＞
【表６】
2021518996.tif 000022
【０１５３】
上記表６を参照すると、マージモード／スキップモードを使用してインター予測を行うかどうかを表すフラグ情報（例えば、ｍｅｒｇｅ＿ｆｌａｇ）に基づいて、ＢＤＯＦを適用するかどうかを決定できる。例えば、ｍｅｒｇｅ＿ｆｌａｇが１である場合（すなわち、マージモード／スキップモードを使用してインター予測を行う場合）、マージモード／スキップモードを適用するかどうかの条件を満たすと判断できる。したがって、ＤＭＶＲと同様にＢＤＯＦの場合も、マージ／スキップモードのときに適用されることができる。
【０１５４】
すなわち、本実施形態では、上記マージ／スキップモードの場合に適用する条件と共に、ＢＤＯＦが可能な場合に適用する条件、両方向予測の場合に適用する条件、ｔｒｕｅ対予測の場合に適用する条件、アフィン予測でない場合に適用する条件、サブブロックベースマージモードでない場合に適用する条件、ＧＢｉインデックスがデフォルトの場合に適用する条件、ルマブロックの場合に適用する条件に基づいてＢＤＯＦを適用するかどうかを判断できる。
【０１５５】
したがって、デコード装置は、上記表６に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＢＤＯＦを適用してｔｒｕｅ対予測を行うことができる。上記表６に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＢＤＯＦを適用しないことができる。このような上記表６の条件は、エンコード装置でも適用されることができ、エンコード装置では、（ｔｒｕｅ対予測が）デコード装置と対応する方法で行われることができる。
【０１５６】
上記表６において羅列した条件に基づいて、ｔｒｕｅ対予測を行う方法は、ＤＭＶＲとＢＤＯＦとに独立して適用されることができ、またはＤＭＶＲとＢＤＯＦとのために同一条件で適用されることができる。
【０１５７】
一方、本実施形態において羅列した条件のうち、上記表２および表３において説明した条件と同じ場合には、具体的な動作または意味が同様に適用されるので、各条件に対する具体的な説明を省略する。また、後述する実施形態でも重複する内容は省略する。
【０１５８】
エンコード／デコード装置の場合、多様なハードウェアを使用して構成されることができ、性能に対する複雑度の割合の選好が異なりうる。そのため、本実施形態では、マージ／スキップモードだけでなくＡＭＶＰモードでもＤＭＶＲを適用して、動き情報をリファインできる方式を提案する。
【０１５９】
この場合、本文書において提案する一実施形態として、ＤＭＶＲの適用条件は、次の表７に提示された条件を含むことができる。
【０１６０】
＜表７＞
【表７】
2021518996.tif 000023
【０１６１】
上記表７を参照すると、マージモード／スキップモードを使用してインター予測を行うかどうかを表すフラグ情報（例えば、ｍｅｒｇｅ＿ｆｌａｇ）に基づいて、ＤＭＶＲを適用するかどうかを決定する過程が省略されることができる。このように、マージモード／スキップモードを適用するかどうかの条件を省略することによって、マージモード／スキップモードの場合だけでなく、ＡＭＶＰモードでもＤＭＶＲを適用できる。
【０１６２】
上記表７によれば、ＤＭＶＲが可能な場合に適用する条件、ＭＭＶＤモードが使用されない場合に適用する条件、両方向予測の場合に適用する条件、現ピクチャと両方向参照ピクチャとの距離が互いに同じｔｒｕｅ対予測の場合に適用する条件、現ブロックの長さが８以上の場合に適用する条件、現ブロックの大きさ（長さ＊幅）が６４以上の場合に適用する条件に基づいて、ＤＭＶＲを適用するかどうかを判断できる。
【０１６３】
すなわち、デコード装置は、上記表７に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＤＭＶＲを適用してｔｒｕｅ対予測を行うことができる。上記表７に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＤＭＶＲを適用しないことができる。このような上記表７の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０１６４】
上記表７において羅列した条件に基づいて、ｔｒｕｅ対予測を行う方法は、ＤＭＶＲとＢＤＯＦとに独立して適用されることができ、またはＤＭＶＲとＢＤＯＦとのために同一条件で適用されることができる。
【０１６５】
一方、本文書の一実施形態として、ＤＭＶＲおよびＢＤＯＦは、全て一般的なマージ（normal merge）モードに適用されることができる。すなわち、ＡＴＭＶＰ（Advanced Temporal Motion Vector Prediction）モードではなく、アフィンモードではなく、ＣＰＲでない場合、ＤＭＶＲおよびＢＤＯＦを適用できる。この場合、ＤＭＶＲの適用条件は、次の表８に提示された条件を含むことができる。
【０１６６】
＜表８＞
【表８】
2021518996.tif 000024
【０１６７】
上記表８を参照すると、アフィンモードが使用されない場合に適用する条件（例えば、ＭｏｔｉｏｎＭｏｄｅｌＩｄｃが０である場合）、サブブロックベースマージモードでない場合に適用する条件（例えば、ｍｅｒｇｅ＿ｓｕｂｂｌｏｃｋ＿ｆｌａｇが０である場合）を満たすかどうかを判断することで、ＤＭＶＲを一般的なマージモードの場合に限り適用できる。
【０１６８】
また、本実施形態では、上記アフィンモードが可能か否かの条件、サブブロックベースのマージモードが可能か否かの条件と共に、ＤＭＶＲが可能な場合に適用する条件、マージモード／スキップモードの場合に適用する条件、ＭＭＶＤモードが使用されない場合に適用する条件、両方向予測の場合に適用する条件、現ピクチャと両方向参照ピクチャとの距離が互いに同じｔｒｕｅ対予測の場合に適用する条件、現ブロックの長さが８以上の場合に適用する条件、現ブロックの大きさ（長さ＊幅）が６４以上の場合に適用する条件に基づいて、ＤＭＶＲを適用するかどうかを判断できる。
【０１６９】
すなわち、デコード装置は、上記表８に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＤＭＶＲを適用してｔｒｕｅ対予測を行うことができる。上記表８に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＤＭＶＲを適用しないことができる。このような上記表８の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０１７０】
上記表８の適用条件のうち、サブブロックベースのマージモード適用が可能か否かの条件（例えば、ｍｅｒｇｅ＿ｓｕｂｂｌｏｃｋ＿ｆｌａｇ）は、従来のＤＭＶＲ適用条件のうち、重複する条件を含んでいる。したがって、本文書の一実施形態として、サブブロックベースのマージモード適用が可能か否かの条件（例えば、ｍｅｒｇｅ＿ｓｕｂｂｌｏｃｋ＿ｆｌａｇ）と重複する条件を除去できる。この場合、次の表９に提案されるように該当条件が除去されることができる。
【０１７１】
＜表９＞
【表９】
2021518996.tif 000025
【０１７２】
上記表９を参照すると、サブブロックベースマージモードは、現ブロックの大きさが８Ｘ８以上の場合に適用されることができる。したがって、サブブロックベースマージモード適用が可能か否かの条件（例えば、ｍｅｒｇｅ＿ｓｕｂｂｌｏｃｋ＿ｆｌａｇ＝０）は、現ブロックの大きさと関連する条件を含んでいるので、従来のＤＭＶＲの適用条件のうち、現ブロックの大きさと関連する条件（例えば、ＣｂＨｅｉｇｈｔ、ＣｂＨｅｉｇｈｔ＊ＣｂＷｉｄｔｈ）を除外することができる。例えば、現ブロックの長さが８以上であるかどうかの条件、現ブロックの長さ＊幅が６４以上であるかどうかの条件は省略し、上記表９に羅列した残りの条件を利用してＤＭＶＲを適用するかどうかを判断できる。
【０１７３】
すなわち、デコード装置は、上記表９に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＤＭＶＲを適用してｔｒｕｅ対予測を行うことができる。上記表９に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＤＭＶＲを適用しないことができる。このような上記表９の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０１７４】
上記表８または上記表９において羅列した条件に基づいて、ｔｒｕｅ対予測を行う方法は、ＤＭＶＲとＢＤＯＦとに独立して適用されることができ、またはＤＭＶＲとＢＤＯＦとのために同一条件で適用されることができる。
【０１７５】
本文書の一実施形態として、低複雑度において動きベクトルの精度を高めるために、ブロックの大きさが小さい場合には、ＤＭＶＲおよびＢＤＯＦなどのリファイン技術を適用しないことができる。従来の方式では、現ブロックが８Ｘ８より大きいか、または同じブロックの場合にリファイン技術を適用しているが、このうち、ＤＭＶＲの場合、現ブロックの大きさが大きいときに１６Ｘ１６単位で分けて リファインを適用するので、１６Ｘ１６より小さなブロックに対しては、ＤＭＶＲを適用しないことができる。この場合、ＤＭＶＲの適用条件は、次の表１０に提示された条件を含むことができる。
【０１７６】
＜表１０＞
【表１０】
2021518996.tif 000026
【０１７７】
上記表１０を参照すると、現ブロックの大きさと関連する条件（例えば、ＣｂＨｅｉｇｈｔ、ＣｂＷｉｄｔｈ）を変更することによって、１６Ｘ１６より小さなブロックに対してＤＭＶＲを適用しないようにすることができる。例えば、現ブロックの長さ（例えば、ＣｂＨｅｉｇｈｔ）が１６以上の場合に適用する条件と現ブロックの幅（例えば、ＣｂＷｉｄｔｈ）が１６以上の場合に適用する条件とを使用することができる。このような現ブロックの大きさと関連する適用条件を満たした場合（すなわち、現ブロックの大きさが１６Ｘ１６以上の場合）ＤＭＶＲを適用し、上記のような現ブロックの大きさと関連する適用条件を満たさない場合（すなわち、現ブロックの大きさが１６Ｘ１６より小さい場合）ＤＭＶＲを適用しないことができる。
【０１７８】
また、本実施形態では、現ブロックの大きさと関連する条件（例えば、ＣｂＨｅｉｇｈｔ、ＣｂＷｉｄｔｈ）と共に、上記表１０において羅列した残りの適用条件に基づいて、ＤＭＶＲを適用するかどうかを判断できる。
【０１７９】
すなわち、デコード装置は、上記表１０に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＤＭＶＲを適用してｔｒｕｅ対予測を行うことができる。上記表１０に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＤＭＶＲを適用しないことができる。このような上記表１０の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０１８０】
本文書の一実施形態として、現ブロックが１６Ｘ１６より小さなブロックの場合、ＤＭＶＲだけでなくＢＤＯＦを適用しないことができる。この場合、ＢＤＯＦの適用条件は、次の表１１に提示された条件を含むことができる。
【０１８１】
＜表１１＞
【表１１】
2021518996.tif 000027
【０１８２】
上記表１１を参照すると、現ブロックの大きさと関連する条件（例えば、ＣｂＨｅｉｇｈｔ、ＣｂＷｉｄｔｈ）を変更することによって、１６Ｘ１６より小さなブロックに対してＢＤＯＦを適用しないようにすることができる。例えば、現ブロックの長さ（例えば、ＣｂＨｅｉｇｈｔ）が１６以上の場合に適用する条件と現ブロックの幅（例えば、ＣｂＷｉｄｔｈ）が１６以上の場合に適用する条件とを使用することができる。このような現ブロックの大きさと関連する適用条件を満たす場合（すなわち、現ブロックの大きさが１６Ｘ１６以上の場合）ＢＤＯＦを適用し、上記のような現ブロックの大きさと関連する適用条件を満たさない場合（すなわち、現ブロックの大きさが１６Ｘ１６より小さい場合）、ＢＤＯＦを適用しないことができる。
【０１８３】
また、本実施形態では、現ブロックの大きさと関連する条件（例えば、ＣｂＨｅｉｇｈｔ、ＣｂＷｉｄｔｈ）と共に、上記表１１において羅列した残りの適用条件に基づいて、ＢＤＯＦを適用するかどうかを判断できる。
【０１８４】
すなわち、デコード装置は、上記表１１に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＢＤＯＦを適用してｔｒｕｅ対予測を行うことができる。上記表１１に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＢＤＯＦを適用しないことができる。このような上記表１１の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０１８５】
上記表１０または上記表１１において羅列した条件に基づいてｔｒｕｅ対予測を行う方法は、ＤＭＶＲとＢＤＯＦとに独立して適用されることができ、またはＤＭＶＲとＢＤＯＦとのために同一条件で適用されることができる。
【０１８６】
上述したように、ＤＭＶＲは、現ピクチャと両方向の参照ピクチャとの間の距離が互いに同じ場合に適用するのに対し、ＢＤＯＦは、現ピクチャと両方向の参照ピクチャとの間の距離が異なっても、ｔｒｕｅ対予測である場合、常に適用される。したがって、本文書では、コーディング効率を上げるために、上記両方向の参照ピクチャ距離と関連する条件をＤＭＶＲとＢＤＯＦとに統一して適用できる方式を提案する。
【０１８７】
本文書の一実施形態として、ＢＤＯＦの適用条件は、次の表１２に提示された条件を含むことができる。
【０１８８】
＜表１２＞
【表１２】
2021518996.tif 000028
【０１８９】
上記表１２を参照すると、ＢＤＯＦの適用条件のうち、参照ピクチャ距離と関連する条件（例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ）を変更することによって、ＤＭＶＲとＢＤＯＦとに該当条件を同様に適用できる。例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ、ＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆＩｄｘＬ０］）−ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ、ＲｅｆＰｉｃＬｉｓｔ１［ｒｅｆＩｄｘＬ１］）が０であるかどうかを判断することで、現ピクチャとＬ０参照ピクチャ（すなわち、参照ピクチャリストＬ０内の参照ピクチャ）との間の距離と、現ピクチャとＬ１参照ピクチャ（すなわち、参照ピクチャリストＬ１内の参照ピクチャ）との間の距離と、が互いに同じであるかどうかを決定できる。すなわち、現ピクチャと両方向の参照ピクチャとの間の距離が互いに同じ場合に限ってＢＤＯＦを適用できる。このように、ｔｒｕｅ対予測であり、かつ両方向の参照ピクチャ距離が同じという条件が追加されることによって、ＢＤＯＦ適用範囲が制限されるので、デコードの複雑度を低減できる。
【０１９０】
また、本実施形態では、参照ピクチャ距離と関連する条件（例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ）と共に、上記表１２において羅列した残りの適用条件に基づいてＢＤＯＦを適用するかどうかを判断できる。
【０１９１】
すなわち、デコード装置は、上記表１２に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＢＤＯＦを適用してｔｒｕｅ対予測を行うことができる。上記表１２に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＢＤＯＦを適用しないことができる。このような上記表１２の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０１９２】
本文書の一実施形態として、ＤＭＶＲの適用条件は、次の表１３に提示された条件を含むことができる。
【０１９３】
＜表１３＞
【表１３】
2021518996.tif 000029
【０１９４】
上記表１３を参照すると、ＤＭＶＲの適用条件のうち、参照ピクチャ距離と関連する条件（例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ）を変更することによって、ＤＭＶＲとＢＤＯＦとに該当条件を同様に適用できる。例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ、ｒｅｆＰｉｃＬｉｓｔ０［ｒｅｆＩｄｘＬ０］）＊ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ、ｒｅｆＰｉｃＬｉｓｔ１［ｒｅｆＩｄｘＬ１］）が０より小さいかどうかを判断することで、現ピクチャを基準に両方向の参照ピクチャ（すなわち、Ｌ０参照ピクチャおよびＬ１参照ピクチャ）が互いに異なる方向に位置するｔｒｕｅ対予測であるかどうかを決定できる。すなわち、現ピクチャと両方向の参照ピクチャとの間の距離が同一でなくても、ｔｒｕｅ対予測である場合には、常にＤＭＶＲを適用できる。このように、ｔｒｕｅ対予測が可能か否かという条件が適用されることによって、両方向の参照ピクチャ距離が異なる場合にも、デコードの複雑度を考慮して、導出された動きベクトルは、スケーリング（scaling）しないで使用することができる。
【０１９５】
また、本実施形態では、参照ピクチャ距離と関連する条件（例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ）と共に、上記表１３において羅列した残りの適用条件に基づいて、ＤＭＶＲを適用するかどうかを判断できる。
【０１９６】
すなわち、デコード装置は、上記表１３に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＤＭＶＲを適用してｔｒｕｅ対予測を行うことができる。上記表１３に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＤＭＶＲを適用しないことができる。このような上記表１３の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０１９７】
上記表１２または上記表１３において羅列した条件に基づいてｔｒｕｅ対予測を行う方法は、ＤＭＶＲとＢＤＯＦとに独立して適用されることができ、またはＤＭＶＲとＢＤＯＦとのために同一条件で適用されることができる。
【０１９８】
一方、各参照ブロックは、光の変化などにより重み付き和（weighted sum）で動き補償を行う場合が発生し得る。このとき、ＧＢｉまたはＬＩＣ（Local Illumination Compensation）でその現象を把握できるので、ＧＢｉまたはＬＩＣ条件を考慮してＤＭＶＲおよびＢＤＯＦの適用条件を決めることができる。
【０１９９】
本文書の一実施形態として、ＧＢｉおよびＬＩＣ条件を考慮してＤＭＶＲを適用するかどうかを決定する方式を提案する。この場合、ＤＭＶＲの適用条件は、次の表１４に提示された条件を含むことができる。
【０２００】
＜表１４＞
【表１４】
2021518996.tif 000030
【０２０１】
上記表１４を参照すると、ＧＢｉ条件（例えば、ＧｂｉＩｄｘ）およびＬＩＣ条件（例えば、ＬＩＣＦｌａｇ）を追加して、ＤＭＶＲを適用するかどうかを決定できる。例えば、ＧｂｉＩｄｘが０である場合（すなわち、ＧｂｉＩｄｘがデフォルトの場合）、ＧＢｉが可能か否かの条件を満たすと決め、ＬＩＣＦｌａｇが０である場合（すなわち、ＬＩＣが存在する場合）、ＬＩＣが可能か否かの条件を満たすと決めることができる。
【０２０２】
また、本実施形態では、ＧＢｉ条件（例えば、ＧｂｉＩｄｘ）およびＬＩＣ条件（例えば、ＬＩＣＦｌａｇ）と共に、上記表１４に羅列した残りの適用条件に基づいて、ＤＭＶＲを適用するかどうかを判断できる。
【０２０３】
すなわち、デコード装置は、上記表１４に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＤＭＶＲを適用してｔｒｕｅ対予測を行うことができる。上記表１４に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＤＭＶＲを適用しないことができる。このような上記表１４の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０２０４】
本文書の一実施形態として、ＧＢｉおよびＬＩＣ条件を考慮してＢＤＯＦを適用するかどうかを決定する方式を提案する。この場合、ＢＤＯＦの適用条件は、次の表１５に提示された条件を含むことができる。
【０２０５】
＜表１５＞
【表１５】
2021518996.tif 000031
【０２０６】
上記表１５によれば、従来のＧＢｉ条件（例えば、ＧｂｉＩｄｘ）と共にＬＩＣ条件（例えば、ＬＩＣＦｌａｇ）を追加して、ＢＤＯＦを適用するかどうかを決定できる。例えば、ＧｂｉＩｄｘが０である場合（すなわち、ＧｂｉＩｄｘがデフォルトの場合）、ＧＢｉが可能か否かの条件を満たすと決め、ＬＩＣＦｌａｇが０である場合（すなわち、ＬＩＣが存在する場合）、ＬＩＣが可能か否かの条件を満たすと決めることができる。
【０２０７】
したがって、本実施形態では、ＧＢｉ条件（例えば、ＧｂｉＩｄｘ）およびＬＩＣ条件（例えば、ＬＩＣＦｌａｇ）と共に、上記表１５に羅列した残りの適用条件に基づいてＢＤＯＦを適用するかどうかを判断できる。
【０２０８】
すなわち、デコード装置は、上記表１５に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＢＤＯＦを適用してｔｒｕｅ対予測を行うことができる。上記表１５に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＢＤＯＦを適用しないことができる。このような上記表１５の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０２０９】
上記表１４または上記表１５において羅列した条件に基づいてｔｒｕｅ対予測を行う方法は、ＤＭＶＲとＢＤＯＦとに独立して適用されることができ、またはＤＭＶＲとＢＤＯＦとのために同一条件で適用されることができる。
【０２１０】
一方、ＤＭＶＲおよびＢＤＯＦは、デコード装置においてリファインメント過程を介して動き情報を導出するので、デコード複雑度の問題が発生する。したがって、本文書では、マージインデックスを使用してＤＭＶＲおよびＢＤＯＦを適用するかどうかを決定できるようにすることによって、デコード複雑度を減らすことができる方法を提案する。このとき、ＤＭＶＲおよびＢＤＯＦは、全部制約的な範囲内で動きベクトルのリファインを行うので、動きベクトルが不正確な場合、リファインの効果が減ることができる。したがって、本文書では、リファインの効率を考慮してマージインデックスが表す値が小さい場合においてのみ制限的に適用できる方式を提案する。
【０２１１】
ここで、マージインデックスは、エンコード装置からデコード装置へシグナリングされるシンタックス要素でありうる。例えば、エンコード／デコード装置は、現ブロックにマージモード／スキップモードが適用される場合、現ブロックの周辺ブロックに基づいてマージ候補リストを構成できる。このとき、エンコード装置は、ＲＤ（Rate-Distortion）ｃｏｓｔに基づいて、マージ候補リストに含まれるマージ候補のうちの最適なマージ候補を選択し、選択されたマージ候補を指すマージインデックス情報をデコード装置へシグナリングすることができる。デコード装置は、マージ候補リストおよびマージインデックス情報に基づいて、現ブロックに適用されるマージ候補を選択できる。
【０２１２】
本文書の一実施形態として、マージインデックスを使用してＤＭＶＲを適用するかどうかを決定する方法は、次の表１６に提示された条件を含むことができる。
【０２１３】
＜表１６＞
【表１６】
2021518996.tif 000032
【０２１４】
上記表１６を参照すると、マージインデックス条件（例えば、ｍｅｒｇｅ＿ｉｄｘ）を追加して、ＤＭＶＲを適用するかどうかを決定できる。例えば、マージインデックス（例えば、ｍｅｒｇｅ＿ｉｄｘ）が２より小さい場合、マージインデックス条件を満たすと決めることができる。ここで、マージインデックスの値（threshold）を２に設定したが、これは、一つの例に過ぎず、コーディング効率によって、該当値は変更されることができる。
【０２１５】
したがって、本実施形態では、マージインデックス条件（例えば、ｍｅｒｇｅ＿ｉｄｘ）と共に、上記表１６に羅列した残りの適用条件に基づいて、ＤＭＶＲを適用するかどうかを判断できる。
【０２１６】
すなわち、デコード装置は、上記表１６に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＤＭＶＲを適用してｔｒｕｅ対予測を行うことができる。上記表１６に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＤＭＶＲを適用しないことができる。このような上記表１６５の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０２１７】
本文書の一実施形態として、マージインデックスを使用してＢＤＯＦを適用するかどうかを決定する方法は、次の表１７に提示された条件を含むことができる。
【０２１８】
＜表１７＞
【表１７】
2021518996.tif 000033
【０２１９】
上記表１７を参照すると、マージモード／スキップモードが可能か否かの条件（例えば、ｍｅｒｇｅ＿ｆｌａｇ）およびマージインデックス条件（例えば、ｍｅｒｇｅ＿ｉｄｘ）を追加して、ＢＤＯＦを適用するかどうかを決定できる。例えば、ｍｅｒｇｅ＿ｆｌａｇが１で（すなわち、マージモード／スキップモードを使用してインター予測を行う場合）ｍｅｒｇｅ＿ｉｄｘが２以上であるケースに該当しなければ、マージインデックスの値が小さい場合においてのみ、制限的にＢＤＯＦを適用する条件を満たすと決めることができる。換言すれば、ｍｅｒｇｅ＿ｆｌａｇが１で（すなわち、マージモード／スキップモードを使用してインター予測を行う場合）ｍｅｒｇｅ＿ｉｄｘが２より小さい場合、マージインデックス条件を満たすと判断しＢＤＯＦを適用できる。ここで、マージインデックスの値（threshold）を２に設定したが、これは、一つの例に過ぎず、コーディング効率によって、該当値は変更されることができる。
【０２２０】
すなわち、本実施形態では、マージモード／スキップモードが可能か否かの条件（例えば、ｍｅｒｇｅ＿ｆｌａｇ）、マージインデックス条件（例えば、ｍｅｒｇｅ＿ｉｄｘ）と共に、上記表１７に羅列した残りの適用条件に基づいて、ＢＤＯＦを適用するかどうかを判断できる。
【０２２１】
すなわち、デコード装置は、上記表１７に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＢＤＯＦを適用してｔｒｕｅ対予測を行うことができる。上記表１７に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＢＤＯＦを適用しないことができる。このような上記表１７の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０２２２】
上記表１６または上記表１７において羅列した条件に基づいてｔｒｕｅ対予測を行う方法は、ＤＭＶＲとＢＤＯＦとに独立して適用されることができ、またはＤＭＶＲとＢＤＯＦとのために同一条件で適用されることができる。
【０２２３】
一方、マージ／スキップモードにおいてＭＭＶＤを介して動き情報をリファインできるが、この場合、デコーダの複雑度が増加するので、ＭＭＶＤが適用されるときにＤＭＶＲを行わないようにしている。しかしながら、ＭＭＶＤを考慮しないで適用される場合、性能向上を考慮してＭＭＶＤ条件がなくてもＤＭＶＲを適用できる。この場合、本文書の一実施形態によれば、ＤＭＶＲの適用条件は、次の表１８に提示された条件を含むことができる。
【０２２４】
＜表１８＞
【表１８】
2021518996.tif 000034
【０２２５】
上記表１８を参照すると、従来のＤＭＶＲの適用条件のうち、ＭＭＶＤモード適用が可能か否かの条件（例えば、ｍｍｖｄ＿ｆｌａｇ）を除外することができる。すなわち、ｍｍｖｄ＿ｆｌａｇが０である場合（すなわち、ＭＭＶＤモードを使用しない場合）であるかどうかを判断する過程を省略し、上記表１７に羅列した条件に基づいてＤＭＶＲを適用するかどうかを判断できる。
【０２２６】
すなわち、デコード装置は、（ＭＭＶＤモード適用が可能か否かの条件（例えば、ｍｍｖｄ＿ｆｌａｇ）を除いた）上記表１８に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＤＭＶＲを適用してｔｒｕｅ対予測を行うことができる。上記表１８に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＤＭＶＲを適用しないことができる。このような上記表１８の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０２２７】
また、上述した表１８の実施形態と反対に、マージ／スキップモードにおいてＭＭＶＤを介して動き情報をリファインするとき、デコーダの複雑度を考慮してＢＤＯＦを行うかどうかを決定できる。したがって、本文書では、ＭＭＶＤ条件を考慮してＢＤＯＦを適用するかどうかを決定する方法を提案する。この場合、本文書の一実施形態によれば、ＢＤＯＦの適用条件は、次の表１９に提示された条件を含むことができる。
【０２２８】
＜表１９＞
【表１９】
2021518996.tif 000035
【０２２９】
上記表１９を参照すると、ＭＭＶＤモード適用が可能か否かの条件（例えば、ｍｍｖｄ＿ｆｌａｇ）を追加することによって、ＭＭＶＤを介して動き情報をリファインする場合、ＢＤＯＦを適用しないことができる。例えば、ｍｍｖｄ＿ｆｌａｇが０である場合（すなわち、ＭＭＶＤモードを使用しない場合）、ＭＭＶＤモードを適用するかどうかの条件を満たすと判断できる。
【０２３０】
したがって、本実施形態では、ＭＭＶＤモードの適用が可能か否かの条件（例えば、ｍｍｖｄ＿ｆｌａｇ）と共に、上記表１９に羅列した残りの適用条件に基づいて、ＢＤＯＦを適用するかどうかを判断できる。
【０２３１】
すなわち、デコード装置は、上記表１９に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＢＤＯＦを適用してｔｒｕｅ対予測を行うことができる。上記表１９に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＢＤＯＦを適用しないことができる。このような上記表１９の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０２３２】
上記表１８または上記表１９において羅列した条件に基づいてｔｒｕｅ対予測を行う方法は、ＤＭＶＲとＢＤＯＦとに独立して適用されることができ、またはＤＭＶＲとＢＤＯＦとのために同一条件で適用されることができる。
【０２３３】
一方、ＡＭＶＰモードであるとき、ＡＭＶＲ（Adaptive Motion Vector Resolution）技術が適用されることができる。このとき、動きベクトルの解像度（resolution）が大きい場合、すなわち、整数サンプル単位の丸め（ラウンディング）（integer-pel rounding）、４サンプル単位の丸め（4 integer-pel rounding）を有する場合、制限された領域内でリファインを行うＢＤＯＦの場合、このような技術を適用するのに適合しないことができる。したがって、本文書では、ＡＭＶＲ条件に応じてＢＤＯＦの遂行を決定できる方式を提案する。この場合、本文書の一実施形態によれば、ＢＤＯＦの適用条件は、次の表２０に提示された条件を含むことができる。
【０２３４】
＜表２０＞
【表２０】
2021518996.tif 000036
【０２３５】
上記表２０を参照すると、ＡＭＶＲ条件（例えば、ａｍｖｒ＿ｆｌａｇ）を追加してＢＤＯＦを適用するかどうかを決定できる。ここで、ａｍｖｒ＿ｆｌａｇは、動きベクトル差（ＭＶＤ）の解像度を表す情報でありうる。例えば、ａｍｖｒ＿ｆｌａｇが０である場合、ＭＶＤの解像度が１／４サンプル（quarter-luma-sample）単位で導出されるのを表し、ａｍｖｒ＿ｆｌａｇが０でない場合、整数サンプル（integer-luma-sample）単位または４サンプル（four-luma-sample）単位で導出されることを表すことができる。あるいは、その反対の場合に決められることもできる。実施形態によって、上記表２０に提示されたように、ａｍｖｒ＿ｆｌａｇが０でない場合、ＢＤＯＦが適用される条件を設定できる。換言すれば、ａｍｖｒ＿ｆｌａｇが０である場合、ＢＤＯＦが適用されないように制限できる。
【０２３６】
したがって、本実施形態では、ＡＭＶＲ条件（例えば、ａｍｖｒ＿ｆｌａｇ）と共に、上記表２０に羅列した残りの条件に基づいて、ＢＤＯＦを適用するかどうかを判断できる。
【０２３７】
すなわち、デコード装置は、上記表２０に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＢＤＯＦを適用してｔｒｕｅ対予測を行うことができる。上記表２０に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＢＤＯＦを適用しないことができる。このような上記表２０の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０２３８】
一方、上述したようなＤＭＶＲおよびＢＤＯＦは、ＳＰＳ（Sequence Parameter Set）シンタックスにおいて各々シグナリングされることができる。次の表２１は、ＳＰＳシンタックスを介してシグナリングされる、ＤＭＶＲが可能であるかどうかとＢＤＯＦが可能であるかどうかとを表すシンタックス要素の一例を示す。
【０２３９】
＜表２１＞
【表２１】
2021518996.tif 000037
【０２４０】
上記表２１を参照すると、ＳＰＳシンタックスにおいてｓｐｓ＿ｄｍｖｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇをシグナリングでき、このシンタックス要素に基づいてｔｒｕｅ対予測ベースＤＭＶＲが可能（enable）であるかどうかを表すことができる。例えば、ｓｐｓ＿ｄｍｖｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１である場合、ｔｒｕｅ対予測ベースＤＭＶＲが可能であることを表し、ｓｐｓ＿ｄｍｖｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０である場合、ｔｒｕｅ対予測ベースＤＭＶＲが可能でないことを表すことができる。
【０２４１】
また、ＳＰＳシンタックスにおいてｓｐｓ＿ｂｄｏｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇをシグナリングでき、このシンタックス要素に基づいてｔｒｕｅ対予測ベースＢＤＯＦが可能（enable）であるかどうかを表すことができる。例えば、ｓｐｓ＿ｂｄｏｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１である場合、ｔｒｕｅ対予測ベースＢＤＯＦが可能であることを表し、ｓｐｓ＿ｂｄｏｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇが０である場合、ｔｒｕｅ対予測ベースＢＤＯＦが可能でないことを表すことができる。
【０２４２】
上記表２１のように、ＤＭＶＲが可能か否かを表すシンタックス要素（例えば、ｓｐｓ＿ｄｍｖｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）とＢＤＯＦが可能か否かを表すシンタックス要素（例えば、ｓｐｓ＿ｂｄｏｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）とを利用して、ＤＭＶＲおよびＢＤＯＦの適用条件をチェックできる。
【０２４３】
図１０は、ＤＭＶＲおよびＢＤＯＦの適用条件をチェックして、デコード過程を行う方法を示す一例である。
【０２４４】
図１０の方法は、上記表２１のようにＤＭＶＲが可能か否かを表すシンタックス要素（例えば、ｓｐｓ＿ｄｍｖｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）とＢＤＯＦが可能か否かを表すシンタックス要素（例えば、ｓｐｓ＿ｂｄｏｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）とを利用する場合に適用されることができる。
【０２４５】
図１０を参照すると、デコード装置は、現ブロックに対する動き情報（例えば、動きベクトル、参照ピクチャインデックスなど）を導出できる（Ｓ１０００）。
【０２４６】
デコード装置は、ＤＭＶＲの適用条件をチェックできる（Ｓ１０１０）。このとき、ＤＭＶＲが可能か否かを表すシンタックス要素（例えば、ｓｐｓ＿ｄｍｖｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）に基づいてＤＭＶＲの適用条件をチェックできる。例えば、ＤＭＶＲが可能な場合（例えば、ｓｐｓ＿ｄｍｖｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１である場合）にＤＭＶＲの適用条件をチェックできる。
【０２４７】
デコード装置は、ＤＭＶＲの適用条件を満たすかどうかによって、ＤＭＶＲ過程を適用するかどうかを判断できる（Ｓ１０２０）。
【０２４８】
ＤＭＶＲの適用条件を全部満たす場合、デコード装置は、ＤＭＶＲ過程を適用してリファインされた動き情報を導き出すことができる（Ｓ１０３０）。ＤＭＶＲの適用条件のうちの一つまたは複数を満たさない場合、デコード装置は、ＤＭＶＲ過程を適用しないことができる。
【０２４９】
デコード装置は、ＤＭＶＲを適用した場合に導き出されたリファインされた動き情報またはＤＭＶＲを適用しない場合に導き出された（リファインされない）動き情報に基づいて、現ブロックの予測サンプルを導出できる（Ｓ１０４０）。
【０２５０】
そして、デコード装置は、ＢＤＯＦの適用条件をチェックできる（Ｓ１０５０）。このとき、ＢＤＯＦが可能か否かを表すシンタックス要素（例えば、ｓｐｓ＿ｂｄｏｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）に基づいて、ＢＤＯＦの適用条件をチェックできる。例えば、ＢＤＯＦが可能な場合（例えば、ｓｐｓ＿ｂｄｏｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１である場合）にＢＤＯＦの適用条件をチェックできる。
【０２５１】
ＢＤＯＦの適用条件を全部満たした場合、デコード装置は、ＢＤＯＦ過程を適用して予測サンプルに対してリファインを行うことができる（Ｓ１０７０）。ＢＤＯＦの適用条件のうちの一つまたは複数を満たさない場合、デコード装置は、ＢＤＯＦ過程を適用しないことができる。
【０２５２】
デコード装置は、現ブロックに対する残差サンプルを導出し（Ｓ１０８０）、上記残差サンプルおよび上記ＢＤＯＦを適用した場合に導き出されたリファインされた予測サンプルまたはＢＤＯＦを適用しない場合に導き出された（リファインされない）予測サンプルに基づいて復元されたサンプルを導出できる（Ｓ１０９０）。
【０２５３】
本文書では、上述したように、ＤＭＶＲとＢＤＯＦとを適用するにおいて相互間の適用条件を一致（harmonization）させてコーディング効率を向上させ、複雑度を減少させることができる多様な実施形態を提案する。このような本文書の実施形態によるＤＭＶＲおよびＢＤＯＦの適用条件をチェックしてデコード過程に適用するにおいて、各々の条件を別にチェックして適用することもできるが、コーディング効率を向上させるために一度に適用条件をチェックすることができる。すなわち、本文書では、ＤＭＶＲとＢＤＯＦとの適用条件を一度に統合してチェックできる方式を提案する。
【０２５４】
本文書の一実施形態として、ＳＰＳ（Sequence Parameter Set）シンタックスにおいてデコード装置におけるリファイン適用が可能か否かを表す情報（例えば、ｓｐｓ＿ｒｅｆｉｎｅｍｅｎｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）をシグナリングすることで、ＤＭＶＲ／ＢＤＯＦの適用条件チェック過程を行うことができる。次の表２２は、ＳＰＳシンタックスを介してシグナリングされるデコード装置におけるリファイン適用が可能か否かを表すシンタックス要素（例えば、ｓｐｓ＿ｒｅｆｉｎｅｍｅｎｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）の一例を示す。
【０２５５】
＜表２２＞
【表２２】
2021518996.tif 000038
【０２５６】
上記表２２を参照すると、ＳＰＳシンタックスにおいてｓｐｓ＿ｒｅｆｉｎｅｍｅｎｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇをシグナリングでき、このシンタックス要素に基づいて、デコード装置におけるリファイン適用が可能であるかどうかを表すことができる。例えば、ｓｐｓ＿ｒｅｆｉｎｅｍｅｎｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇが存在するとき（すなわち、ｓｐｓ＿ｒｅｆｉｎｅｍｅｎｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇがｔｒｕｅの場合）、デコード装置におけるリファイン適用が可能であると判断されることができる。この場合、デコード装置は、ＤＭＶＲが可能（enable）であるかどうかを表すｓｐｓ＿ｄｍｖｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素およびＢＤＯＦが可能（enable）であるかどうかを表すｓｐｓ＿ｂｄｏｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素を獲得して、ＤＭＶＲおよびＢＤＯＦの適用条件を判断できる。
【０２５７】
図１１および図１２は、ＤＭＶＲおよびＢＤＯＦの適用条件をチェックしてデコード過程を行う方法を示す他の例である。
【０２５８】
図１１の方法および図１２の方法は、上記表２２のようにデコード装置におけるリファイン適用が可能であるかどうかを表すシンタックス要素（例えば、ｓｐｓ＿ｒｅｆｉｎｅｍｅｎｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇ）を利用する場合に適用されることができる。また、図１１および図１２において、上述した図１０と重複する内容については説明を省略する。
【０２５９】
図１１を参照すると、上記図１０の過程と比較して、ＤＭＶＲおよびＢＤＯＦの適用条件を各々チェックせずに、前端において一度にチェックすることが分かる。一実施形態として、図１１のステップＳ１１１０において、デコード装置は、リファイン適用条件をチェックできる。このとき、リファイン適用条件チェックは、上記表２２のようなｓｐｓ＿ｒｅｆｉｎｅｍｅｎｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇに基づいて行われることができる。例えば、ｓｐｓ＿ｒｅｆｉｎｅｍｅｎｔ＿ｅｎａｂｌｅｄ＿ｆｌａｇが１である場合、ＤＭＶＲが可能（enable）であるかどうかを表すｓｐｓ＿ｄｍｖｒ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素またはＢＤＯＦが可能（enable）であるかどうかを表すｓｐｓ＿ｂｄｏｆ＿ｅｎａｂｌｅｄ＿ｆｌａｇシンタックス要素を獲得し、これに基づいてＤＭＶＲおよびＢＤＯＦの適用条件をチェックできる。
【０２６０】
また、図１２を参照すると、上記図１０の過程と比較して、ＤＭＶＲおよびＢＤＯＦの適用条件を各々チェックせずに、前端において一度にチェックするものの、他の条件に対しては、簡単なチェック過程（ＢＤＯＦの適用条件）を行うことができる。一実施形態として、図１２のステップＳ１２１０において、デコード装置は、リファイン適用条件をチェックできる。以後、図１２のステップＳ１２５０において、デコード装置は、上記リファイン適用条件と異なる条件を有するＢＤＯＦの適用条件に対して、追加的に簡単にチェックを行うことができる。
【０２６１】
一方、現ブロックの長さ（Ｈｅｉｇｈｔ）または大きさ（Ｈｅｉｇｈｔ＊Ｗｉｄｔｈ）が特定の長さまたは特定の大きさより小さい場合、動き補償（Motion Compensation）のためのｍｕｌｔｉｐｌｉｃａｔｉｏｎ／ａｄｄｉｔｉｏｎの計算割合が増加するようになる。したがって、本文書の一実施形態では、ｗｏｒｓｔ  ｃａｓｅを減らすために、ＤＭＶＲの適用条件のように、小さな長さまたは小さな大きさのブロックに対してＢＤＯＦの適用を制限できる。この場合、ＢＤＯＦの適用条件は、次の表２３に提示された条件を含むことができる。
【０２６２】
＜表２３＞
【表２３】
2021518996.tif 000039
【０２６３】
上記表２３を参照すると、現ブロックの大きさと関連する条件（例えば、ＣｂＨｅｉｇｈｔ、ＣｂＷｉｄｔｈ）を追加することによって、特定の大きさより小さなブロックに対してＢＤＯＦを適用しないようにすることができる。例えば、現ブロックの長さ（例えば、ＣｂＨｅｉｇｈｔ）が８以上の場合に適用する条件と、現ブロックの大きさ（例えば、ＣｂＨｅｉｇｈｔ＊ＣｂＷｉｄｔｈ）が６４以上の場合に適用する条件を使用することができる。このような現ブロックの大きさと関連する適用条件を満たす場合（すなわち、現ブロックの長さが８以上で現ブロックの長さ＊幅が６４以上の場合）、ＢＤＯＦを適用し、上記のような現ブロックの大きさと関連する適用条件を満たさない場合、ＢＤＯＦを適用しないことができる。
【０２６４】
また、本実施形態では、現ブロックの大きさと関連する条件（例えば、ＣｂＨｅｉｇｈｔ、ＣｂＨｅｉｇｈｔ＊ＣｂＷｉｄｔｈ）と共に、上記表２３において羅列した残りの適用条件に基づいて、ＢＤＯＦを適用するかどうかを判断できる。
【０２６５】
すなわち、デコード装置は、上記表２３に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＢＤＯＦを適用してｔｒｕｅ対予測を行うことができる。上記表２３に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＢＤＯＦを適用しないことができる。このような上記表２３の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０２６６】
一方、現ブロックにＭＭＶＤが適用される場合、ＭＭＶＤに関する情報（例えば、ｍｍｖｄｉｎｄｅｘ）に基づいて動き情報を導出できる。ここで、ＭＭＶＤに関する情報は、ベース（base）ＭＶのインデックス、距離インデックス（distance index）、方向インデックス（direction index）などを含むことができる。特に、距離インデックス（より具体的には、ｍｍｖｄ＿ｄｉｓｔａｎｃｅ＿ｉｎｄｅｘ［ｘＣｂ］［ｙＣｂ］）は、ベースＭＶとの距離を表すために用いられるが、例えば、距離インデックス０ないし７は、各々｛１／４、１／２、１、２、４、８、１６、３２｝などで表すことができる。ＤＭＶＲおよびＢＤＯＦにおいて動き情報のリファインメントを決定するにおいて、隣接ピクセル（隣接サンプル）を考慮してリファインメントが可能か否かを決定するが、このとき、隣接ピクセルとベースＭＶとの距離が遠い場合、距離インデックスの値も大きくなる。このような場合、隣接ピクセルを考慮することがＤＭＶＲおよびＢＤＯＦの性能向上に役立つことが困難である。したがって、本文書では、距離インデックス（より具体的には、ｍｍｖｄ＿ｄｉｓｔａｎｃｅ＿ｉｎｄｅｘ［ｘＣｂ］［ｙＣｂ］）値に応じて、ＤＭＶＲおよびＢＤＯＦを適用するかどうかを決定できる方式を提案する。
【０２６７】
本文書の一実施形態として、距離インデックスを考慮してＤＭＶＲを適用するかどうかを決定でき、この場合、ＤＭＶＲの適用条件は、次の表２４に提示された条件を含むことができる。
【０２６８】
＜表２４＞
【表２４】
2021518996.tif 000040
【０２６９】
上記表２４を参照すると、ＤＭＶＲの適用条件のうち、ＭＭＶＤと関連する条件（例えば、ｍｍｖｄ＿ｆｌａｇ）を変更することによって、ＭＭＶＤモードのときに制限的にＤＭＶＲを適用できる。例えば、ｍｍｖｄ＿ｆｌａｇが１でｍｍｖｄ＿ｄｉｓｔａｎｃｅ＿ｉｎｄｅｘが４より大きい場合、ＭＭＶＤの距離インデックス条件を満たすと決めることができる。したがって、ＭＭＶＤモードが適用されるときに距離インデックス（例えば、ｍｍｖｄ＿ｄｉｓｔａｎｃｅ＿ｉｎｄｅｘ［ｘＣｂ］［ｙＣｂ］）値に応じてＤＭＶＲを適用するかどうかを決定できる。
【０２７０】
ここで、ｍｍｖｄ＿ｄｉｓｔａｎｃｅ＿ｉｎｄｅｘのための閾値（threshold）を４に設定したが、これは、一つの例に過ぎず、性能およびコーディング効率に応じて多様な数値に変更されることができる。
【０２７１】
したがって、本実施形態では、ＭＭＶＤ適用が可能か否かの条件（例えば、ｍｍｖｄ＿ｆｌａｇ）、ＭＭＶＤの距離インデックスの条件（例えば、ｍｍｖｄ＿ｄｉｓｔａｎｃｅ＿ｉｎｄｅｘ）と共に、上記表２４に羅列した残りの適用条件に基づいて、ＤＭＶＲを適用するかどうかを判断できる。
【０２７２】
すなわち、デコード装置は、上記表２４に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＤＭＶＲを適用してｔｒｕｅ対予測を行うことができる。上記表２４に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＤＭＶＲを適用しないことができる。このような上記表２４の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０２７３】
また、本文書の一実施形態として、距離インデックスを考慮してＢＤＯＦを適用するかどうかを決定でき、この場合、ＢＤＯＦの適用条件は、次の表２５に提示された条件を含むことができる。
【０２７４】
＜表２５＞
【表２５】
2021518996.tif 000041
【０２７５】
上記表２５を参照すると、マージモード／スキップモードが可能か否かの条件（例えば、ｍｅｒｇｅ＿ｆｌａｇ）、ＭＭＶＤと関連する条件（例えば、ｍｍｖｄ＿ｆｌａｇ、ｍｍｖｄ＿ｄｉｓｔａｎｃｅ＿ｉｎｄｅｘ）を追加することによって、ＭＭＶＤモードのときに制限的にＢＤＯＦを適用できる。例えば、ｍｅｒｇｅ＿ｆｌａｇが存在しないか（すなわち、ｍｅｒｇｅ＿ｆｌａｇが１でない場合）、またはｍｅｒｇｅ＿ｆｌａｇが１でｍｍｖｄ＿ｆｌａｇが１でｍｍｖｄ＿ｄｉｓｔａｎｃｅ＿ｉｎｄｅｘが４より大きい場合、ＭＭＶＤモードのときに制限的にＢＤＯＦを適用する条件を満たすと決めることができる。したがって、ＭＭＶＤモードが適用されるときに距離インデックス（例えば、ｍｍｖｄ＿ｄｉｓｔａｎｃｅ＿ｉｎｄｅｘ［ｘＣｂ］［ｙＣｂ］）値に応じてＢＤＯＦを適用するかどうかを決定できる。
【０２７６】
ここで、ｍｍｖｄ＿ｄｉｓｔａｎｃｅ＿ｉｎｄｅｘのための閾値（threshold）を４に設定したが、これは、一つの例に過ぎず、性能およびコーディング効率に応じて多様な数値に変更できる。
【０２７７】
したがって、本実施形態では、マージモード／スキップモードが可能か否かの条件（例えば、ｍｅｒｇｅ＿ｆｌａｇ）、ＭＭＶＤと関連する条件（例えば、ｍｍｖｄ＿ｆｌａｇ、ｍｍｖｄ＿ｄｉｓｔａｎｃｅ＿ｉｎｄｅｘ）と共に、上記表２５に羅列した残りの適用条件に基づいて、ＢＤＯＦを適用するかどうかを判断できる。
【０２７８】
すなわち、デコード装置は、上記表２５に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＢＤＯＦを適用してｔｒｕｅ対予測を行うことができる。上記表２５に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＢＤＯＦを適用しないことができる。このような上記表２５の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０２７９】
上記表２４または上記表２５において羅列した条件に基づいてｔｒｕｅ対予測を行う方法は、ＤＭＶＲとＢＤＯＦとに独立して適用されることができ、またはＤＭＶＲとＢＤＯＦとのために同一条件で適用されることができる。
【０２８０】
一方、上述したように、現ブロックにイントラ予測とインター予測とを同時に行うＣＩＩＰ（Combined Intra-Inter Prediction）モードが適用されることができる。この場合、インター予測が行われた予測ブロック（インターブロック）は、イントラ予測方法と結合（combine）されて最終的に予測サンプル値が生成されるので、予測精度が向上することができる。しかしながら、ＤＭＶＲおよびＢＤＯＦは、インターブロックに対してリファインする技術であるから、複雑度対性能においてＣＩＩＰモードの適用が必要でないことができる。したがって、本文書では、ＣＩＩＰを考慮してＤＭＶＲおよびＢＤＯＦを適用するかどうかを決定できる方式を提案する。
【０２８１】
本文書の一実施形態として、ＣＩＩＰを考慮してＤＭＶＲを適用するかどうかを決定でき、この場合、ＤＭＶＲの適用条件は、次の表２６に提示された条件を含むことができる。
【０２８２】
＜表２６＞
【表２６】
2021518996.tif 000042
【０２８３】
上記表２６を参照すると、ＣＩＩＰモード適用が可能か否かの条件（例えば、ｃｉｉｐ＿ｆｌａｇ）を追加することによって、ＣＩＩＰ適用が可能か否かによってＤＭＶＲを制限的に適用できる。例えば、ｃｉｉｐ＿ｆｌａｇが０である場合（すなわち、ＣＩＩＰモードが適用されない場合）、ＣＩＩＰモードを適用するかどうかの条件を満たすと判断してＤＭＶＲを適用できる。
【０２８４】
したがって、本実施形態では、ＣＩＩＰモード適用が可能か否かの条件（例えば、ｃｉｉｐ＿ｆｌａｇ）と共に、上記表２６に羅列した残りの適用条件に基づいて、ＤＭＶＲを適用するかどうかを判断できる。
【０２８５】
すなわち、デコード装置は、上記表２６に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＤＭＶＲを適用してｔｒｕｅ対予測を行うことができる。上記表２６に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＤＭＶＲを適用しないことができる。このような上記表２６の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０２８６】
また、本文書の一実施形態として、ＣＩＩＰを考慮してＢＤＯＦを適用するかどうかを決定でき、この場合、ＢＤＯＦの適用条件は、次の表２７に提示された条件を含むことができる。
【０２８７】
＜表２７＞
【表２７】
2021518996.tif 000043
【０２８８】
上記表２７を参照すると、ＣＩＩＰモード適用が可能か否かの条件（例えば、ｃｉｉｐ＿ｆｌａｇ）を追加することによって、ＣＩＩＰ適用が可能か否かによってＢＤＯＦを制限的に適用できる。例えば、ｃｉｉｐ＿ｆｌａｇが０である場合（すなわち、ＣＩＩＰモードが適用されない場合）、ＣＩＩＰモードを適用するかどうかの条件を満たすと判断してＢＤＯＦを適用できる。
【０２８９】
したがって、本実施形態では、ＣＩＩＰモード適用が可能か否かの条件（例えば、ｃｉｉｐ＿ｆｌａｇ）と共に、上記表２７に羅列した残りの適用条件に基づいてＢＤＯＦを適用するかどうかを判断できる。
【０２９０】
すなわち、デコード装置は、上記表２７に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＢＤＯＦを適用してｔｒｕｅ対予測を行うことができる。上記表２７に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＢＤＯＦを適用しないことができる。このような上記表２７の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０２９１】
上記表２６または上記表２７において羅列した条件に基づいてｔｒｕｅ対予測を行う方法は、ＤＭＶＲとＢＤＯＦとに独立して適用されることができ、またはＤＭＶＲとＢＤＯＦとのために同一条件で適用されることができる。
【０２９２】
上述した本文書の実施形態による表６ないし表２７において羅列した方法は、組み合わせて適用されることができる。すなわち、リファイン適用条件をチェックすることによって、ＤＭＶＲおよびＢＤＯＦを適用するかどうかを判断でき、次の表２８のような条件を適用できる。
【０２９３】
＜表２８＞
【表２８】
2021518996.tif 000044
【０２９４】
上記表２８を参照すると、ＤＭＶＲまたはＢＤＯＦが適用されるときに両方向予測の場合に適用する条件、現ピクチャと両方向参照ピクチャとの距離が互いに同じｔｒｕｅ対予測の場合に適用する条件、ＭＭＶＤモードが使用されない場合に適用する条件、アフィン予測でない場合に適用する条件、サブブロックベースマージモードでない場合に適用する条件、ＧＢｉインデックスがデフォルトの場合に適用する条件を利用できる。すなわち、上記条件を満たすかどうかによってＤＭＶＲまたはＢＤＯＦを適用するかどうかを判断できる。
【０２９５】
また、上述したようにＤＭＶＲのためにマージモードであるかどうかを判断するか、またはＢＤＯＦのためにルマブロックであるかどうかを判断するなどの条件が追加されることができる。
【０２９６】
上記表２８において羅列した適用条件は、一つの例であり、前述した実施形態（上記表６ないし表２７の実施形態）において羅列した多様な条件を組み合わせて使用されうることは自明である。
【０２９７】
一方、ＤＭＶＲでは、デコード複雑度を考慮してＭＲＳＡＤ（Mean-Removed SAD）関数の代わりに、ＳＡＤ関数をコスト関数として採択している。しかしながら、ＧＢｉインデックスがデフォルト（例えば、ＧｂｉＩｄｘが０である場合）でない場合、二つの参照ブロックが互いに異なる重み付け（weighting factor）を有することができるから、ＳＡＤを使用するＤＭＶＲは好ましくないことがある。したがって、ＧＢｉインデックスを考慮してＤＭＶＲの条件が固定されることがある。実験結果によれば、ＶＴＭ４．０（VVC Test Model）と比較して、１００％エンコードおよびデコードランタイム（run-time）で０．００％ＲＤ−ｒａｔｅの変化が現れた。
【０２９８】
ＶＶＣ（Versatile Video Coding）の場合、ＤＭＶＲ過程は、次の表２９に羅列した条件が全部満たされるときに行われることができる。
【０２９９】
＜表２９＞
【表２９】
2021518996.tif 000045
【０３００】
現在のＤＭＶＲは、後に重み付き平均が導出される参照ブロックのＳＡＤを比較して、マッチングしないブロックを検索できる。本文書では、二つの参照ブロックが互いに異なる重み付けを有することができるから、このような場合を考慮してＤＭＶＲの条件を決めることができる。本文書の一実施形態によれば、ＧＢｉインデックスがデフォルトでないブロックに対しては、ＤＭＶＲを行わないようにすることができる。この場合、ＤＭＶＲの適用条件は、次の表３０の通りでありうる。
【０３０１】
＜表３０＞
【表３０】
2021518996.tif 000046
【０３０２】
上記表３０のように、ＧＢｉインデックス（例えば、ＧｂｉＩｄｘ）の値が０である場合、ＤＭＶＲを行う条件を追加できる。換言すれば、ＧＢｉインデックス（例えば、ＧｂｉＩｄｘ）の値が０でない場合には、二つの参照ブロック（すなわち、Ｌ０予測のため参照される参照ブロックおよびＬ１予測のため参照される参照ブロック）に互いに異なる重み付けが適用されるから、この場合、ＤＭＶＲを行わないように制限できる。
【０３０３】
一方、ＢＤＯＦは、現ブロック（すなわち、現コーディングユニット；現ＣＵ）がｔｒｕｅ対予測条件を満たす場合に行われる。オプティカルフローの数式（optical flow equation）は、一定の速度（すなわち、運動量）で動くオブジェクトの動きを予測するために設計されたという点を考慮するとき、現在のｔｒｕｅ対予測条件は、ＢＤＯＦを適用するための最適な条件ではない。したがって、参照ピクチャの距離を考慮してＢＤＯＦの条件が固定されることができる。実験結果によれば、ＶＴＭ４．０（VVC Test Model）と比較して、１００％エンコードおよびデコードランタイム（run-time）で０．０１％ＲＤ−ｒａｔｅの変化が現れた。
【０３０４】
図１３は、ＢＤＯＦの概念を説明するために示す図である。
【０３０５】
上述したように、ＢＤＯＦは、オプティカルフローの概念を使用して動き補償（motion compensation）の性能を向上させるように設計された。ＢＤＯＦによれば、図１３に示すように、オブジェクトが一定の速度（一定の動き）で動き、また、オブジェクトが動く間に各ピクセルの輝度は変わらないと仮定することができる。このような仮定をする場合、オプティカルフローの数式は、次の式７のように表すことができる。
【０３０６】
＜式７＞
【数７】
2021518996.tif 000047
【０３０７】
上述したように、現ＣＵがｔｒｕｅ対予測条件を満たす場合にＢＤＯＦが行われる。しかしながら、このｔｒｕｅ対予測条件は、オブジェクトが一定の速度で動く場合を意味するのではない。したがって、本文書では、オブジェクトが一定の動きを有する場合に、ＢＤＯＦを適用できるようにする方式を提案し、動き補償の性能を向上させることができるようにする。
【０３０８】
本文書の一実施形態によれば、上記式７においてδｔとして現ピクチャを基準にＬ０参照ピクチャ（図１３のＲｅｆｅｒｅｎｃｅ０）との距離とＬ１参照ピクチャ（図１３のＲｅｆｅｒｅｎｃｅ１）との距離とが互いに同じ場合、ＢＤＯＦを適用できる。この場合、ＢＤＯＦの適用条件は、次の表３１のように変更されることができる。
【０３０９】
＜表３１＞
【表３１】
2021518996.tif 000048
【０３１０】
上記表３１を参照すると、ＢＤＯＦの適用条件のうち、参照ピクチャ距離と関連する条件（例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ）を変更することによって、一定の動き速度を有した場合に限定してＢＤＯＦを適用できる。例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ、ＲｅｆＰｉｃＬｉｓｔ［０］［ｒｅｆＩｄｘＬ０］）とＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ＲｅｆＰｉｃＬｉｓｔ［１］［ｒｅｆＩｄｘＬ１］、ｃｕｒｒＰｉｃ）とが同一であるかどうかを判断することで、現ピクチャとＬ０参照ピクチャ（すなわち、参照ピクチャリストＬ０内の参照ピクチャ）との間の距離と、現ピクチャとＬ１参照ピクチャ（すなわち、参照ピクチャリストＬ１内の参照ピクチャ）との間の距離と、が互いに同じであるかどうかを判断できる。すなわち、現ピクチャを基準にＬ０参照ピクチャとの距離とＬ１参照ピクチャとの距離とが互いに同じ場合に限って、ＢＤＯＦを適用できる。このように、現ピクチャを基準に両方向の参照ピクチャ距離が同じという条件が使用されることによって、ｔｒｕｅ対予測であり、かつ一定速度で動いているオブジェクトを含んでいるブロックであるかどうかを判別できる。このような条件を満たすブロックに対してＢＤＯＦを適用することによって、より向上した動き情報リファインメントの結果を得ることができる。
【０３１１】
また、本実施形態では、参照ピクチャ距離と関連する条件（例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ）と共に、上記表３１において羅列した残りの適用条件に基づいてＢＤＯＦを適用するかどうかを判断できる。
【０３１２】
すなわち、デコード装置は、上記表３１に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＢＤＯＦを適用してｔｒｕｅ対予測を行うことができる。上記表３１に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＢＤＯＦを適用しないことができる。このような上記表３１の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０３１３】
一方、本文書は、ブロックの大きさに応じてＢＤＯＦを適用するかどうかを決定する方式を提案する。次の表３２は、本文書の一実施形態によるブロックの大きさの制限を適用条件として含む場合を表す。
【０３１４】
＜表３２＞
【表３２】
2021518996.tif 000049
【０３１５】
上記表３２を参照すると、ＢＤＯＦを適用するにおいて、現ブロックの長さ（例えば、ＣｂＨｅｉｇｈｔ）が８以上の場合、現ブロックの大きさ（長さ＊幅）（例えば、ＣｂＨｅｉｇｈｔ＊ＣｂＷｉｄｔｈ）が６４以上の場合を条件として追加できる。
【０３１６】
したがって、本実施形態では、現ブロックの長さが８以上である条件、現ブロックの長さ＊幅が６４以上である条件と共に、上記表３２に羅列した残りの適用条件に基づいてＢＤＯＦを適用するかどうかを判断できる。
【０３１７】
すなわち、デコード装置は、上記表３２に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＢＤＯＦを適用してｔｒｕｅ対予測を行うことができる。上記表３２に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＢＤＯＦを適用しないことができる。このような上記表３２の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０３１８】
本文書において前述されたＤＭＶＲ過程は、次の表３２のようなスペック（spec）によって具現されることができる。次の表３３は、本文書の一実施形態としてＳＡＤに基づく動きベクトルリファインメント過程の一例を示す。
【０３１９】
＜表３３＞
【表３３−１】
2021518996.tif 000050
【０３２０】
【表３３−２】
2021518996.tif 000051
【０３２１】
一方、上述したように、ＤＭＶＲでは、デコード複雑度を考慮してＭＲＳＡＤ（Mean-Removed SAD）関数の代わりにＳＡＤ関数をコスト関数として採択している。しかしながら、ＧＢｉインデックスがデフォルト（例えば、ＧｂｉＩｄｘが０である場合）ではなく、明示的重み付き予測（explicit weighted prediction）による重み付けフラグ（weighting flag）が０でない場合、ＳＡＤを使用するＤＭＶＲは、好ましくないことがある。したがって、ＧＢｉインデックスと明示的重み付き予測の重み付けフラグとを考慮して、ＤＭＶＲの条件が固定されることができる。また、ＢＤＯＦにも同じ条件が適用されることができる。実験結果によれば、ＶＴＭ４．０（VVC Test Model）と比較して、１００％エンコードおよびデコードランタイム（run-time）で０．００％ＲＤ−ｒａｔｅの変化が現れた。
【０３２２】
現在のＤＭＶＲは、後に重み付き平均が導出される参照ブロックのＳＡＤを比較して、マッチングしないブロックを検索できる。本文書では、二つの参照ブロックが互いに異なる重み付けを有することができるから、このような場合を考慮してＤＭＶＲの条件を決めることができる。本文書の一実施形態によれば、ＧＢｉインデックスがデフォルトでないブロックに対しては、ＤＭＶＲを行わないようにすることができる。また、明示的重み付き予測による重み付けフラグが０でないブロックに対しては、ＤＭＶＲを行わないようにすることができる。
【０３２３】
本文書の一実施形態では、重み付き対予測が可能か否かを考慮してＤＭＶＲを適用するかどうかを決定できる方式を提案する。この場合、ＤＭＶＲの適用条件は、次の表３４に提示された条件を含むことができる。
【０３２４】
＜表３４＞
【表３４】
2021518996.tif 000052
【０３２５】
上記表３４を参照すると、Ｌ０予測およびＬ１予測に対して明示的に重み付け適用が可能か否かを表す条件（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）、Ｌ０予測およびＬ１予測に適用される重み付けを表すインデックス条件（例えば、ＧｂｉＩｄｘ）を追加することによって、重み付き対予測が可能か否かによってＤＭＶＲを適用するかどうかを決定できる。
【０３２６】
例えば、Ｌ０予測に対して明示的に重み付けを適用するかどうかを表すフラグ情報（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ）およびＬ１予測に対して明示的に重み付けを適用するかどうかを表すフラグ情報（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）に基づいて、現ブロックに明示的重み付き予測が適用されるかどうかを判断できる。すなわち、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇの値が０でｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇの値が０である場合、制限的にＤＭＶＲを適用できる。換言すれば、Ｌ０およびＬ１予測に対して明示的に重み付き予測を適用しない場合、ＤＭＶＲを適用すると決定できる。
【０３２７】
また、Ｌ０予測およびＬ１予測に適用される重み付けを表す対予測重み付けインデックス（例えば、ＧｂｉＩｄｘ）の値に基づいて、現ブロックに互いに異なる重み付けを使用する対予測（すなわち、Ｌ０予測およびＬ１予測）が適用されるかどうかを判断できる。すなわち、対予測重み付けインデックス（例えば、ＧｂｉＩｄｘ）の値が０である場合は、上記表４の実施形態において説明したように、Ｌ０予測およびＬ１予測に互いに異なる重み付けが適用されないデフォルトの場合でありうる。したがって、対予測重み付けインデックス（例えば、ＧｂｉＩｄｘ）の値が０のとき、制限的にＤＭＶＲを適用できる。
【０３２８】
実施形態によって、Ｌ０およびＬ１予測に対して明示的に重み付き予測を適用しない場合（ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇの値が０でｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇの値が０である場合）、対予測重み付けインデックス（例えば、ＧｂｉＩｄｘ）情報をさらに獲得して、対予測重み付けインデックス（例えば、ＧｂｉＩｄｘ）の値が０であるかどうかを判断できる。
【０３２９】
本実施形態においては、Ｌ０予測およびＬ１予測に対して明示的に重み付け適用が可能か否かを表す条件（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）、Ｌ０予測およびＬ１予測に適用される重み付けを表すインデックス条件（例えば、ＧｂｉＩｄｘ）と共に、上記表３４に羅列した残りの条件に基づいて、ＤＭＶＲを適用するかどうかを判断できる。
【０３３０】
すなわち、デコード装置は、上記表３４に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＤＭＶＲを適用してｔｒｕｅ対予測を行うことができる。上記表３４に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＤＭＶＲを適用しないことができる。このような上記表３４の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０３３１】
一方、ＢＤＯＦの場合、ＧＢｉインデックスは考慮されているが、明示的重み付き予測の重み付けフラグは、考慮されていない。したがって、本文書では、ＢＤＯＦに対しても、ＧＢｉインデックスおよび明示的重み付き予測の重み付けフラグを考慮して適用するかどうかを決定する方式を提案する。
【０３３２】
本文書の一実施形態として、重み付き対予測が可能か否かを考慮してＢＤＯＦを適用するかどうかを決定できるようにし、この場合、ＢＤＯＦの適用条件は、次の表３５に提示された条件を含むことができる。
【０３３３】
＜表３５＞
【表３５】
2021518996.tif 000053
【０３３４】
上記表３５を参照すると、Ｌ０予測およびＬ１予測に対して明示的に重み付け適用が可能か否かを表す条件（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）を追加することによって、重み付き対予測が可能か否かによってＢＤＯＦを適用するかどうかを決定できる。
【０３３５】
例えば、Ｌ０予測に対して明示的に重み付けを適用するかどうかを表すフラグ情報（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ）およびＬ１予測に対して明示的に重み付けを適用するかどうかを表すフラグ情報（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）に基づいて、現ブロックに明示的重み付き予測が適用されるかどうかを判断できる。すなわち、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇの値が０でｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇの値が０である場合、制限的にＢＤＯＦを適用できる。換言すれば、Ｌ０およびＬ１予測に対して明示的に重み付き予測を適用しない場合、ＢＤＯＦを適用すると決定できる。
【０３３６】
本実施形態においては、Ｌ０予測およびＬ１予測に対して明示的に重み付け適用が可能か否かを表す条件（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）と共に、上記表３５に羅列した残りの条件に基づいて、ＢＤＯＦを適用するかどうかを判断できる。
【０３３７】
すなわち、デコード装置は、上記表３５に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＢＤＯＦを適用してｔｒｕｅ対予測を行うことができる。上記表３５に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＢＤＯＦを適用しないことができる。このような上記表３５の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０３３８】
上記表３４または上記表３５において羅列した条件に基づいて、ｔｒｕｅ対予測を行う方法は、ＤＭＶＲとＢＤＯＦとに独立して適用されることができ、またはＤＭＶＲとＢＤＯＦとのために同一条件で適用されることができる。
【０３３９】
上述したように、ＧＢｉインデックスだけでなく明示的重み付き予測の重み付き因子（weight factor）を考慮して、ＤＭＶＲおよびＢＤＯＦを適用するかどうかを判断できる。このとき、明示的重み付き予測の適用が可能か否かを判断するために、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌＸ＿ｆｌａｇ（ここで、Ｘは、０または１）を利用して、ルマ成分に対して重み付き予測が可能か否かを考慮したが、クロマ成分に対しても重み付き予測が可能か否かを考慮することができる。したがって、本文書では、ルマ成分の重み付き因子だけでなく、クロマ成分の重み付き因子を共に考慮してＤＭＶＲおよびＢＤＯＦを適用するかどうかを判断する方式を提案する。
【０３４０】
本文書の一実施形態として、現ブロックのルマ成分およびクロマ成分に対して明示的重み付き予測の重み付き因子を考慮して、ＤＭＶＲを適用するかどうかを決定でき、この場合、ＤＭＶＲの適用条件は、次の表３６に提示された条件を含むことができる。
【０３４１】
＜表３６＞
【表３６】
2021518996.tif 000054
【０３４２】
上記表３６を参照すると、Ｌ０予測のルマ成分（ルマ予測値）およびＬ１予測のルマ成分（ルマ予測値）に対して明示的に重み付け適用が可能か否かを表す条件（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）、Ｌ０予測のクロマ成分（クロマ予測値）およびＬ１予測のクロマ成分（クロマ予測値）に対して明示的に重み付け適用が可能か否かを表す条件（例えば、ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ、ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）、Ｌ０予測およびＬ１予測に適用される重み付けを表すインデックス条件（例えば、ＧｂｉＩｄｘ）を追加することによって、ルマおよびクロマ成分の両方に対して重み付け（すなわち、重み付き因子）が明示的に適用されない場合に限って、制限的にＤＭＶＲを適用するようにすることができる。
【０３４３】
例えば、Ｌ０予測のルマ成分（ルマ予測値）に対して明示的に重み付けを適用するかどうかを表すフラグ情報（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ）およびＬ１予測のルマ成分（ルマ予測値）に対して明示的に重み付けを適用するかどうかを表すフラグ情報（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）に基づいて、現ブロックのルマ成分に対して明示的重み付き予測の重み付き因子が適用されるかどうかを判断できる。
【０３４４】
また、Ｌ０予測のクロマ成分（クロマ予測値）に対して明示的に重み付けを適用するかどうかを表すフラグ情報（例えば、ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ）およびＬ１予測のクロマ成分（クロマ予測値）に対して明示的に重み付けを適用するかどうかを表すフラグ情報（例えば、ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）に基づいて、現ブロックのクロマ成分に対して明示的重み付き予測の重み付き因子が適用されるかどうかを判断できる。
【０３４５】
すなわち、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇの値が０でｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇの値が０である場合、ルマ成分に対して明示的に重み付き因子が存在しないと判断でき、ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇの値が０でｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇの値が０である場合、クロマ成分に対して明示的に重み付き因子が存在しないと判断できる。このようにルマ成分およびクロマ成分ともに対して明示的重み付き因子が存在しない場合、制限的にＤＭＶＲを適用できる。
【０３４６】
また、Ｌ０予測およびＬ１予測に適用される重み付けを表す対予測重み付けインデックス（例えば、ＧｂｉＩｄｘ）の値に基づいて、現ブロックに互いに異なる重み付けを使用する対予測（すなわち、Ｌ０予測およびＬ１予測）が適用されるかどうかを判断できる。すなわち、対予測重み付けインデックス（例えば、ＧｂｉＩｄｘ）の値が０である場合は、上記表４の実施形態において説明したように、Ｌ０予測およびＬ１予測に互いに異なる重み付けが適用されないデフォルトの場合でありうる。したがって、対予測重み付けインデックス（例えば、ＧｂｉＩｄｘ）の値が０のとき、制限的にＤＭＶＲを適用できる。
【０３４７】
実施形態によって、ルマ成分のＬ０およびＬ１予測に対して明示的に重み付き予測を適用しない場合（ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇの値が０でｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇの値が０である場合）、ならびにクロマ成分のＬ０およびＬ１予測に対して明示的に重み付き予測を適用しない場合（ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇの値が０でｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇの値が０である場合）、対予測重み付けインデックス（例えば、ＧｂｉＩｄｘ）情報をさらに獲得して、対予測重み付けインデックス（例えば、ＧｂｉＩｄｘ）の値が０であるかどうかを判断できる。
【０３４８】
本実施形態においては、ルマ成分のＬ０予測およびＬ１予測に対して明示的に重み付け適用が可能か否かを表す条件（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）、クロマ成分のＬ０予測およびＬ１予測に対して明示的に重み付け適用が可能か否かを表す条件（例えば、ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ、ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）、Ｌ０予測およびＬ１予測に適用される重み付けを表すインデックス条件（例えば、ＧｂｉＩｄｘ）と共に、上記表３６に羅列した残りの条件に基づいて、ＤＭＶＲを適用するかどうかを判断できる。
【０３４９】
すなわち、デコード装置は、上記表３６に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＤＭＶＲを適用してｔｒｕｅ対予測を行うことができる。上記表３６に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＤＭＶＲを適用しないことができる。このような上記表３６の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０３５０】
また、本文書の一実施形態として、現ブロックのルマ成分およびクロマ成分に対して、明示的重み付き予測の重み付き因子を考慮して、ＢＤＯＦを適用するかどうかを決定でき、この場合、ＢＤＯＦの適用条件は、次の表３７に提示された条件を含むことができる。
【０３５１】
＜表３７＞
【表３７】
2021518996.tif 000055
【０３５２】
上記表３７を参照すると、Ｌ０予測のルマ成分（ルマ予測値）およびＬ１予測のルマ成分（ルマ予測値）に対して明示的に重み付け適用が可能か否かを表す条件（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）、Ｌ０予測のクロマ成分（クロマ予測値）およびＬ１予測のクロマ成分（クロマ予測値）に対して明示的に重み付け適用が可能か否かを表す条件（例えば、ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ、ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）を追加することによって、ルマおよびクロマ成分の両方に対して重み付け（すなわち、重み付き因子）が明示的に適用されない場合に限って、制限的にＢＤＯＦを適用するようにすることができる。
【０３５３】
例えば、Ｌ０予測のルマ成分（ルマ予測値）に対して明示的に重み付けを適用するかどうかを表すフラグ情報（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ）の値が０で、Ｌ１予測のルマ成分（ルマ予測値）に対して明示的に重み付けを適用するかどうかを表すフラグ情報（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）の値が０である場合、現ブロックのルマ成分に対するＬ０予測およびＬ１予測の重み付き因子が明示的に存在しないと判断できる。
【０３５４】
また、Ｌ０予測のクロマ成分（クロマ予測値）に対して明示的に重み付けを適用するかどうかを表すフラグ情報（例えば、ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ）の値が０で、Ｌ１予測のクロマ成分（クロマ予測値）に対して明示的に重み付けを適用するかどうかを表すフラグ情報（例えば、ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）の値が０である場合、現ブロックのクロマ成分に対するＬ０予測およびＬ１予測の重み付き因子が明示的に存在しないと判断できる。
【０３５５】
このようにルマ成分およびクロマ成分の両方に対してＬ０予測およびＬ１予測のときの重み付き因子が存在しない場合、制限的にＢＤＯＦを適用できる。
【０３５６】
本実施形態においては、ルマ成分のＬ０予測およびＬ１予測に対して明示的に重み付け適用が可能か否かを表す条件（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）、クロマ成分のＬ０予測およびＬ１予測に対して明示的に重み付け適用が可能か否かを表す条件（例えば、ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ、ｃｈｒｏｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）と共に、上記表３７に羅列した残りの条件に基づいて、ＢＤＯＦを適用するかどうかを判断できる。
【０３５７】
すなわち、デコード装置は、上記表３７に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＢＤＯＦを適用してｔｒｕｅ対予測を行うことができる。上記表３７に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＢＤＯＦを適用しないことができる。このような上記表３７の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０３５８】
上記表３６または上記表３７において羅列した条件に基づいて、ｔｒｕｅ対予測を行う方法は、ＤＭＶＲとＢＤＯＦとに独立して適用されることができ、またはＤＭＶＲとＢＤＯＦとのために同一条件で適用されることができる。
【０３５９】
一方、上述したように、本文書の実施形態によれば、明示的重み付き予測を考慮してＤＭＶＲおよびＢＤＯＦを適用するかどうかを判断できる。このとき、明示的重み付き予測の適用が可能か否かを判断するために、スライスの種類を考慮することができる。したがって、本文書では、スライスの種類とそれに応じた重み付き予測の適用が可能か否かを考慮して、ＤＭＶＲおよびＢＤＯＦを適用するかどうかを判断する方式を提案する。
【０３６０】
本文書の一実施形態として、現在スライスの種類に応じて重み付き予測の適用が可能か否かを表すフラグ情報を利用して、ＤＭＶＲおよびＢＤＯＦを適用するかどうかを判断できる。ここで、現在スライスの種類に応じて重み付き予測の適用が可能か否かを表すフラグ情報は、ＰＰＳ（Picture Parameter Set）またはＳＰＳ（Sequence Parameter Set）シンタックスを介してエンコード装置からデコード装置へシグナリングされることができる。一例として、次の表３８は、ＰＰＳシンタックスを介してシグナリングされる上記フラグ情報を示す。
【０３６１】
＜表３８＞
【表３８】
2021518996.tif 000056
【０３６２】
上記表３８を参照すると、ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇおよびｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｆｌａｇがエンコード装置からデコード装置へシグナリングされることができる。ここで、ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇは、重み付き予測がＰスライスに適用されるかどうかを表す情報で、ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｆｌａｇは、重み付き予測がＢスライスに適用されるかどうかを表す情報でありうる。
【０３６３】
例えば、ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇの値が０である場合、重み付き予測がＰスライスに適用されないことを表し、ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇの値が１である場合、重み付き予測がＰスライスに適用されることを表すことができる。また、ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｆｌａｇの値が０である場合、重み付き予測がＢスライスに適用されないことを表し、ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｆｌａｇの値が１である場合、重み付き予測がＢスライスに適用されることを表すことができる。
【０３６４】
ここで、Ｐスライス（Predictive slice）とは、一つの動きベクトルおよび参照ピクチャインデックスを利用したインター予測（端）に基づいてデコードされるスライスを意味できる。Ｂスライス（bi-predictive slice）とは、一つまたは複数、例えば二つの動きベクトルおよび参照ピクチャインデックスを利用したインター予測に基づいてデコードされるスライスを意味できる。
【０３６５】
本文書の一実施形態として、重み付き予測がＰスライスに適用されるかどうかを表すフラグ情報（例えば、ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇ）および重み付き予測がＢスライスに適用されるかどうかを表すフラグ情報（例えば、ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｆｌａｇ）に基づいて、ＤＭＶＲを適用するかどうかを決定でき、この場合、ＤＭＶＲの適用条件は、次の表３９に提示された条件を含むことができる。
【０３６６】
＜表３９＞
【表３９】
2021518996.tif 000057
【０３６７】
上記表３９を参照すると、重み付き予測がＰスライスに適用されるかどうかを表す条件（例えば、ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇ）、重み付き予測がＢスライスに適用されるかどうかを表す条件（例えば、ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｆｌａｇ）、Ｌ０予測およびＬ１予測に適用される重み付けを表すインデックス条件（例えば、ＧｂｉＩｄｘ）を追加することによって、ＰスライスおよびＢスライスに対して重み付き予測が適用されない場合に限って、制限的にＤＭＶＲを適用するようにすることができる。
【０３６８】
例えば、ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇの値が１であり、かつＰスライスでない場合、またｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｆｌａｇの値が１であり、かつＢスライスでない場合、ＤＭＶＲを適用できる。換言すれば、Ｐスライスに重み付き予測が適用されないでＢスライスに重み付き予測が適用されない場合、ＤＭＶＲを適用すると判断できる。
【０３６９】
また、Ｌ０予測およびＬ１予測に適用される重み付けを表す対予測重み付けインデックス（例えば、ＧｂｉＩｄｘ）の値に基づいて、現ブロックに互いに異なる重み付けを使用する対予測（すなわち、Ｌ０予測およびＬ１予測）が適用されるかどうかを判断できる。すなわち、対予測重み付けインデックス（例えば、ＧｂｉＩｄｘ）の値が０である場合は、上記表４の実施形態において説明したように、Ｌ０予測とＬ１予測とに互いに異なる重み付けが適用されないデフォルトの場合でありうる。したがって、対予測重み付けインデックス（例えば、ＧｂｉＩｄｘ）の値が０のとき、制限的にＤＭＶＲを適用できる。
【０３７０】
本実施形態では、重み付き予測がＰスライスに適用されるかどうかを表す条件（例えば、ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇ）、重み付き予測がＢスライスに適用されるかどうかを表す条件（例えば、ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｆｌａｇ）、Ｌ０予測およびＬ１予測に適用される重み付けを表すインデックス条件（例えば、ＧｂｉＩｄｘ）と共に、上記表３９に羅列した残りの条件に基づいてＤＭＶＲを適用するかどうかを判断できる。
【０３７１】
すなわち、デコード装置は、上記表３９に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＤＭＶＲを適用してｔｒｕｅ対予測を行うことができる。上記表３９に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＤＭＶＲを適用しないことができる。このような上記表３９の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０３７２】
また、本文書の一実施形態として、重み付き予測がＰスライスに適用されるかどうかを表すフラグ情報（例えば、ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇ）および重み付き予測がＢスライスに適用されるかどうかを表すフラグ情報（例えば、ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｆｌａｇ）に基づいて、ＢＤＯＦを適用するかどうかを決定でき、この場合、ＢＤＯＦの適用条件は、次の表４０に提示された条件を含むことができる。
【０３７３】
＜表４０＞
【表４０】
2021518996.tif 000058
【０３７４】
上記表４０を参照すると、重み付き予測がＰスライスに適用されるかどうかを表す条件（例えば、ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇ）、重み付き予測がＢスライスに適用されるかどうかを表す条件（例えば、ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｆｌａｇ）を追加することによって、ＰスライスおよびＢスライスに対して重み付き予測が適用されない場合に限って、制限的にＢＤＯＦを適用するようにすることができる。
【０３７５】
例えば、ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇの値が１であり、かつＰスライスでない場合、またｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｆｌａｇの値が１であり、かつＢスライスでない場合、ＢＤＯＦを適用できる。換言すれば、Ｐスライスに重み付き予測が適用されないで、Ｂスライスに重み付き予測が適用されない場合、ＢＤＯＦを適用すると判断できる。
【０３７６】
本実施形態では、重み付き予測がＰスライスに適用されるかどうかを表す条件（例えば、ｗｅｉｇｈｔｅｄ＿ｐｒｅｄ＿ｆｌａｇ）、重み付き予測がＢスライスに適用されるかどうかを表す条件（例えば、ｗｅｉｇｈｔｅｄ＿ｂｉｐｒｅｄ＿ｆｌａｇ）と共に、上記表４０に羅列した残りの条件に基づいてＢＤＯＦを適用するかどうかを判断できる。
【０３７７】
すなわち、デコード装置は、上記表４０に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＢＤＯＦを適用してｔｒｕｅ対予測を行うことができる。上記表４０に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＢＤＯＦを適用しないことができる。このような上記表４０の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０３７８】
上記表３９または上記表４０において羅列した条件に基づいてｔｒｕｅ対予測を行う方法は、ＤＭＶＲとＢＤＯＦとに独立して適用されることができ、またはＤＭＶＲとＢＤＯＦとのために同一条件で適用されることができる。
【０３７９】
一方、ブロックサイズによって対予測（bi-prediction）または単予測（uni-prediction）を行うかどうかを決定できる。例えば、現ブロックのサイズが小さい場合（例えば、４ｘ８または８ｘ４の大きさのブロック）には、単予測だけが可能なように制限し、現ブロックのサイズが大きい場合には、対予測を可能にすることができる。このようにブロックサイズが小さい場合、単予測だけを行うように制限する場合、対予測である場合に行われるＤＭＶＲおよびＢＤＯＦもやはり、単予測時に制限されるブロックサイズを考慮しなければならない。例えば、現ブロックの大きさが４ｘ８または８ｘ４の場合、単予測だけが可能なように制限する場合、現ブロックの高さまたは幅のうちの少なくとも一つが４より大きい場合に対予測が行われることができる。したがって、本文書では、対予測または単予測のときに適用されるブロックサイズを考慮して、ＤＭＶＲおよびＢＤＯＦを適用する方式を提案する。
【０３８０】
本文書の一実施形態として、現ブロックの高さ（および／または幅）を考慮してＢＤＯＦを適用するかどうかを決定する方式を提案する。この場合、ＢＤＯＦの適用条件は、次の表４１に提示された条件を含むことができる。
【０３８１】
＜表４１＞
【表４１】
2021518996.tif 000059
【０３８２】
上記表４１を参照すると、現ブロックの高さ（および／または幅）と関連する条件（例えば、ｃｂＨｅｉｇｈｔ）を変更することによって、特定の大きさより大きなブロックに対してのみ制限的にＢＤＯＦを適用できる。例えば、現ブロックの高さ（例えば、ＣｂＨｅｉｇｈｔ）が４より大きい場合に、ＢＤＯＦを適用する条件を使用することができる。あるいは、現ブロックの幅（例えば、ＣｂＷｉｄｔｈ）が４より大きい場合に、ＢＤＯＦを適用する条件を使用することもできる。このような現ブロックの大きさ（例えば、ＣｂＨｅｉｇｈｔまたはＣｂＷｉｄｔｈ）と関連する条件を満たす場合（すなわち、現ブロックの高さが４より大きい場合）ＢＤＯＦを適用し、上記のような現ブロックの大きさと関連する条件を満たさない場合（すなわち、現ブロックの高さが４以下である場合）ＢＤＯＦを適用しないことができる。
【０３８３】
また、本実施形態では、現ブロックの大きさと関連する条件（例えば、ＣｂＨｅｉｇｈｔ、ＣｂＷｉｄｔｈ）と共に、上記表４１において羅列した残りの条件に基づいてＢＤＯＦを適用するかどうかを判断できる。このとき、上記表４１に羅列した条件を満たすかどうかによってｂｄｏｆＦｌａｇを導出できる。このとき、上記表４１に羅列した条件を全部満たした場合、ｂｄｏｆＦｌａｇの値は、１（Ｔｒｕｅ）として導出され、そうでない場合、ｂｄｏｆＦｌａｇの値は、０（Ｆａｌｓｅ）として導出されることができる。ここで、ｂｄｏｆＦｌａｇは、現ブロックに対するＢＤＯＦを適用するかどうかを表すフラグ情報でありうる。
【０３８４】
すなわち、デコード装置は、上記表４１に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＢＤＯＦを適用してｔｒｕｅ対予測を行うことができる。上記表４１に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＢＤＯＦを適用しないことができる。このような上記表４１の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０３８５】
また、本文書の一実施形態として、現ブロックの高さ（および／または幅）を考慮して、ＤＭＶＲを適用するかどうかを決定する方式を提案する。この場合、ＤＭＶＲの適用条件は、次の表４２に提示された条件を含むことができる。
【０３８６】
＜表４２＞
【表４２】
2021518996.tif 000060
【０３８７】
上記表４２を参照すると、現ブロックの高さ（および／または幅）と関連する条件（例えば、ｃｂＨｅｉｇｈｔ）を変更することによって、特定の大きさより大きなブロックに対してのみ制限的にＤＭＶＲを適用できる。例えば、現ブロックの高さ（例えば、ＣｂＨｅｉｇｈｔ）が４より大きい場合に、ＤＭＶＲを適用する条件を使用することができる。あるいは、現ブロックの幅（例えば、ＣｂＷｉｄｔｈ）が４より大きい場合に、ＤＭＶＲを適用する条件を使用することもできる。このような現ブロックの大きさ（例えば、ＣｂＨｅｉｇｈｔまたはＣｂＷｉｄｔｈ）と関連する条件を満たす場合（すなわち、現ブロックの高さが４より大きい場合）ＤＭＶＲを適用し、上記のような現ブロックの大きさと関連する条件を満たさない場合（すなわち、現ブロックの高さが４以下である場合）、ＤＭＶＲを適用しないことができる。
【０３８８】
また、本実施形態では、現ブロックの大きさと関連する条件（例えば、ＣｂＨｅｉｇｈｔ、ＣｂＷｉｄｔｈ）と共に、上記表４２において羅列した残りの条件に基づいてＤＭＶＲを適用するかどうかを判断できる。このとき、上記表４２に羅列した条件を満たすかどうかによって、ｄｍｖｒＦｌａｇを導出できる。このとき、上記表４２に羅列した条件を全部満たした場合、ｄｍｖｒＦｌａｇの値は、１（Ｔｒｕｅ）として導出され、そうでない場合、ｄｍｖｒＦｌａｇの値は、０（Ｆａｌｓｅ）として導出されることができる。ここで、ｄｍｖｒＦｌａｇは、現ブロックに対するＤＭＶＲを適用するかどうかを表すフラグ情報でありうる。
【０３８９】
すなわち、デコード装置は、上記表４２に羅列したすべての条件が満たされるかどうかを決定し、すべての条件が満たされる場合、ＤＭＶＲを適用してｔｒｕｅ対予測を行うことができる。上記表４２に羅列した条件のうちの一つでも満たされない場合、デコード装置は、ＤＭＶＲを適用しないことができる。このような上記表４２の条件は、エンコード装置でも適用されることができ、エンコード装置では、デコード装置と対応する方法で行われることができる。
【０３９０】
上記表４１または上記表４２において羅列した条件に基づいてｔｒｕｅ対予測を行う方法は、ＤＭＶＲとＢＤＯＦとに独立して適用されることができ、またはＤＭＶＲとＢＤＯＦとのために同一条件で適用されることができる。
【０３９１】
本文書は、上述した表２ないし表４２の適用条件に基づいてＤＭＶＲの適用が可能か否かを表すＤＭＶＲフラグ情報およびＢＤＯＦの適用が可能か否かを表すＢＤＯＦフラグ情報を導出できる。
【０３９２】
例えば、ＤＭＶＲの適用条件（例えば、表２ないし表４２の適用条件のうちの少なくとも一つまたは適用条件の組み合せ）に基づいて、ＤＭＶＲフラグ情報（例えば、ｄｍｖｒＦｌａｇ）を導出できる。このとき、ｄｍｖｒＦｌａｇの値が１（またはｔｒｕｅ）である場合、ＤＭＶＲが適用されることを指示し、ｄｍｖｒＦｌａｇの値が０（またはｆａｌｓｅ）である場合、ＤＭＶＲが適用されないことを指示できる。また、ＢＤＯＦの適用条件（例えば、表２ないし表４２の適用条件のうちの少なくとも一つまたは適用条件などの組み合せ）に基づいて、ＢＤＯＦフラグ情報（例えば、ｂｄｏｆＦｌａｇ）を導出できる。このとき、ｂｄｏｆＦｌａｇの値が１（またはｔｒｕｅ）である場合、ＢＤＯＦが適用されることを指示し、ｂｄｏｆＦｌａｇの値が０（またはｆａｌｓｅ）である場合、ＢＤＯＦが適用されないことを指示できる。
【０３９３】
図１４は、本文書の一実施形態によるエンコード装置によって行われることができるエンコード方法を概略的に示すフローチャートである。
【０３９４】
図１４に開示された方法は、図２において開示されたエンコード装置２００によって行われることができる。具体的には、図１４のステップＳ１４００〜Ｓ１４３０は、図２に開示された予測部２２０およびインター予測部２２１によって行われることができ、図１４のステップＳ１４４０は、図２に開示された残差処理部２３０によって行われることができ、図１４のステップＳ１４５０は、図２に開示されたエントロピエンコード部２４０によって行われることができる。また、図１４において開示された方法は、本文書において詳説した実施形態を含むことができる。したがって、図１４では、上述した実施形態と重複する内容について具体的な説明を省略するか、または簡単にすることにする。
【０３９５】
図１４を参照すると、エンコード装置は、現ブロックのＬ０動きベクトルおよびＬ１動きベクトルを導き出すことができる（Ｓ１４００）。
【０３９６】
一実施形態として、現ブロックに対してインター予測を行う場合、エンコード装置は、現ブロックの動き情報（動きベクトル、参照ピクチャインデックスなど）を導き出すことができる。例えば、エンコード装置は、動き推定（motion estimation）を介して参照ピクチャの一定領域（サーチ領域）内で現ブロックと類似のブロックをサーチし、現ブロックとの差が最小または一定基準以下である参照ブロックを導き出すことができる。これに基づいて参照ブロックが位置する参照ピクチャを指す参照ピクチャインデックスを導き出し、参照ブロックと現ブロックとの位置差に基づいて動きベクトルを導き出すことができる。
【０３９７】
また、エンコード装置は、多様な予測モードのうち、現ブロックに対して適用されるインター予測モードを決定できる。エンコード装置は、多様な予測モードに対するＲＤ  ｃｏｓｔを比較し、現ブロックに対する最適な予測モードを決定できる。
【０３９８】
例えば、エンコード装置は、現ブロックに対する最適な予測モードとしてマージモードを適用するかどうかを判断できる。エンコード装置は、現ブロックにマージモードを適用する場合、現ブロックの周辺ブロックに基づいてマージ候補リストを構成し、マージインデックス情報を生成できる。具体的には、マージ候補リストに含まれるマージ候補が指す参照ブロック（すなわち、周辺ブロック）のうち、現ブロックとの差が最小または一定基準以下である参照ブロックを導き出すことができる。この場合、導き出された参照ブロックと関連するマージ候補が選択され、選択されたマージ候補を指すマージインデックス情報が生成されてデコード装置へシグナリングされることができる。選択されたマージ候補の動き情報を利用して、現ブロックの動き情報が導き出されることができる。
【０３９９】
ここで、動き情報は、動きベクトル、参照ピクチャインデックスなどの情報を含むことができ、インター予測タイプ（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）によってＬ０動き情報および／またはＬ１動き情報を含むことができる。現ブロックに対予測（Ｂｉ予測）が適用される場合、動き情報は、Ｌ０方向の動きベクトル（Ｌ０動きベクトル）およびＬ１方向の動きベクトル（Ｌ１動きベクトル）を含むことができる。また、動き情報は、Ｌ０参照ピクチャインデックスおよびＬ０参照ピクチャリスト内でＬ０参照ピクチャインデックスにより指示されるＬ０参照ピクチャと、Ｌ１参照ピクチャインデックスおよびＬ１参照ピクチャリスト内でＬ１参照ピクチャインデックスにより指示されるＬ１参照ピクチャと、を含むことができる。
【０４００】
すなわち、エンコード装置は、マージモードが適用される場合、現ブロックの周辺ブロックのうち、マージインデックス情報により指示される周辺ブロックのＬ０動きベクトルおよびＬ１動きベクトルを導き出し、これを現ブロックのＬ０およびＬ１動きベクトルとして使用することができる。
【０４０１】
エンコード装置は、現ブロックに対してＤＭＶＲを適用するかどうかを表すＤＭＶＲフラグ情報に基づいて、現ブロックに対してＤＭＶＲを適用し、Ｌ０動きベクトルおよびＬ１動きベクトルに基づいて、リファインされたＬ０動きベクトルおよびリファインされたＬ１動きベクトルを導き出すことができる（Ｓ１４１０）。
【０４０２】
このとき、エンコード装置は、コーディング効率、複雑度、予測性能などを考慮して現ブロックに対してＤＭＶＲを適用するかどうかを決定できる。すなわち、エンコード装置は、現ブロックに対して予め設定されたＤＭＶＲの適用条件を満たすかどうかに基づいて、現ブロックにＤＭＶＲを適用できる。ここで、予め設定されたＤＭＶＲの適用条件は、上記表２ないし表４２において説明した多様な適用条件のうちの一部（もしくは全て）または特定の組み合せで構成されることができる。また、エンコード装置は、予め設定されたＤＭＶＲの適用条件を満たすかどうかによって、ＤＭＶＲフラグ情報を導出できる。ＤＭＶＲフラグ情報は、現ブロックに対してＤＭＶＲを適用するかどうかを表す情報（例えば、上述したｄｍｖｒＦｌａｇ）でありうる。
【０４０３】
一実施形態として、予め設定されたＤＭＶＲの適用条件は、Ｌ０ルマ重み付き予測フラグ情報およびＬ１ルマ重み付き予測フラグ情報の値が全部０であるという条件を含むことができる。
【０４０４】
この場合、エンコード装置は、Ｌ０ルマ重み付き予測フラグ情報（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ）およびＬ１ルマ重み付き予測フラグ情報（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）の値が全部０である場合を満たすとき、現ブロックに対してＤＭＶＲを適用することを表す値にＤＭＶＲフラグ情報を導出できる。例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇおよびｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇが全部０である場合、ＤＭＶＲフラグ情報は、現ブロックにＤＭＶＲを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。そうでない場合、ＤＭＶＲフラグ情報は、現ブロックにＤＭＶＲを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４０５】
ここで、Ｌ０ルマ重み付き予測フラグ情報は、現ブロックのルマ成分に対するＬ０予測の重み付きファクタ（weight factor）が存在しているかどうかを指示する情報で、Ｌ１ルマ重み付き予測フラグ情報は、現ブロックのルマ成分に対するＬ１予測の重み付きファクタが存在しているかどうかを指示する情報でありうる。例えば、Ｌ０ルマ重み付き予測フラグ情報の値が０である場合は、Ｌ０予測のルマ成分に対して重み付きファクタが存在しないことを表し、Ｌ０ルマ重み付き予測フラグ情報の値が１である場合は、Ｌ０予測のルマ成分に対して重み付きファクタが存在することを表すことができる。また、Ｌ１ルマ重み付き予測フラグ情報の値が０である場合は、Ｌ１予測のルマ成分に対して重み付きファクタが存在しないことを表し、Ｌ１ルマ重み付き予測フラグ情報の値が１である場合は、Ｌ１予測のルマ成分に対して重み付きファクタが存在することを表すことができる。
【０４０６】
また、一実施形態として、予め設定されたＤＭＶＲの適用条件は、現ブロックの対予測重み付けインデックス（bi-prediction weight index）情報の値が０である条件を含むことができる。
【０４０７】
このとき、エンコード装置は、対予測重み付けインデックス情報（例えば、ＧｂｉＩｄｘ）の値が０である場合を満たすとき、現ブロックに対してＤＭＶＲを適用することを表す値にＤＭＶＲフラグ情報を導出できる。例えば、ＧｂｉＩｄｘが０である場合、ＤＭＶＲフラグ情報は、現ブロックにＤＭＶＲを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。そうでない場合、ＤＭＶＲフラグ情報は、現ブロックにＤＭＶＲを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４０８】
ここで、対予測重み付けインデックス情報（例えば、ＧｂｉＩｄｘ）の値が０である場合は、Ｌ０予測とＬ１予測とに互いに異なる重み付けを適用しないデフォルトの場合でありうる。一例として、上記表４に表れたように、対予測重み付けインデックス情報の値が０である場合、Ｌ０予測およびＬ１予測に各々１／２重み付けを適用する場合でありうる。
【０４０９】
また、一実施形態として、予め設定されたＤＭＶＲの適用条件は、現ブロックにインター予測とイントラ予測とが結合された予測モード（ＣＩＩＰモード）が適用されない場合であるという条件を含むことができる。
【０４１０】
このとき、エンコード装置は、現ブロックにインター予測とイントラ予測とが結合された予測モードが適用されない場合（例えば、ｃｉｉｐ＿ｆｌａｇが０である場合）を満たすとき、現ブロックに対してＤＭＶＲを適用することを表す値としてＤＭＶＲフラグ情報を導出できる。例えば、ｃｉｉｐ＿ｆｌａｇが０である場合、ＤＭＶＲフラグ情報は、現ブロックにＤＭＶＲを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。ｃｉｉｐ＿ｆｌａｇが１である場合、ＤＭＶＲフラグ情報は、現ブロックにＤＭＶＲを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４１１】
また、一実施形態として、予め設定されたＤＭＶＲの適用条件は、現ブロックの大きさが１６Ｘ１６以上である条件を含むことができる。換言すれば、現ブロックの高さが１６以上で現ブロックの幅が１６以上の場合を意味できる。
【０４１２】
この場合、エンコード装置は、現ブロックの大きさが１６Ｘ１６以上である場合を満たすとき、現ブロックに対してＤＭＶＲを適用することを表す値にＤＭＶＲフラグ情報を導出できる。（the encoding apparatus may derive the DMVR flag information to a value indicating that the DMVR is applied to the current block.）例えば、現ブロックの大きさが１６Ｘ１６以上である場合、ＤＭＶＲフラグ情報は、現ブロックにＤＭＶＲを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。そうでない場合（すなわち、現ブロックの大きさが１６Ｘ１６より小さい場合）、ＤＭＶＲフラグ情報は、現ブロックにＤＭＶＲを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４１３】
また、実施形態によって、予め設定されたＤＭＶＲの適用条件は、ＤＭＶＲベースインター対予測（inter bi-prediction）が可能な（enable）場合の条件、現ブロックにＬ０参照ピクチャおよびＬ１参照ピクチャに基づいて行われる対予測（bi-prediction）が適用される場合の条件、現ピクチャとＬ０参照ピクチャとの間の第１ＰＯＣ（Picture Order Count）差と現ピクチャとＬ１参照ピクチャとの間の第２ＰＯＣ差とが同じ場合の条件、現ブロックにマージモードが適用される場合の条件、現ブロックにＭＭＶＤ（Merge Mode With Motion Vector Difference）モードが適用されない場合の条件などを含むことができる。
【０４１４】
すなわち、ＤＭＶＲの適用条件は、上述した条件のうちの少なくとも一つを含んで決まることができ、このように決まったＤＭＶＲ適用条件に基づいてＤＭＶＲフラグ情報が導出されることができる。このとき、ＤＭＶＲ適用条件として一つまたは複数の条件を含んで決まった場合、エンコード装置は、予め設定されたＤＭＶＲ適用条件を全部満たした場合、ＤＭＶＲフラグ情報の値をｔｒｕｅまたは１として導出して、現ブロックにＤＭＶＲを適用すると判断できる。そうでなくて予め設定されたＤＭＶＲ適用条件のうちの一つでも満たさない場合、ＤＭＶＲフラグ情報の値をｆａｌｓｅまたは０として導出できる。
【０４１５】
ここで、ＤＭＶＲフラグ情報を導出するにおいて、上記羅列したＤＭＶＲ適用条件は、一つの例に過ぎず、前述した表２ないし表４２の条件を多様に組み合わせて使用することができる。
【０４１６】
ＤＭＶＲフラグ情報が現ブロックに対してＤＭＶＲを適用することを表す場合（例えば、ＤＭＶＲフラグ情報がｔｒｕｅまたは１の値として導出された場合）、エンコード装置は、現ブロックに対してＤＭＶＲを適用して、Ｌ０動きベクトルおよびＬ１動きベクトルに基づいて、リファインされたＬ０動きベクトルおよびリファインされたＬ１動きベクトルを導き出すことができる。
【０４１７】
一実施形態として、エンコード装置は、Ｌ０動きベクトルに基づいて導き出されるＬ０参照ピクチャ内の参照サンプルとＬ１動きベクトルに基づいて導き出されるＬ１参照ピクチャ内の参照サンプルとを利用して、最小ＳＡＤ（Sum of Absolute Differences）を計算できる。そして、エンコード装置は、最小ＳＡＤに対応するサンプル位置に基づいて、Ｌ０動きベクトルに対するリファインされたＬ０動きベクトルとＬ１動きベクトルに対するリファインされたＬ１動きベクトルとを導き出すことができる。
【０４１８】
ここで、Ｌ０参照ピクチャは、Ｌ０参照ピクチャリスト内に含まれる参照ピクチャのうち、Ｌ０参照ピクチャインデックスにより指示される参照ピクチャであり、Ｌ１参照ピクチャは、Ｌ１参照ピクチャリスト内に含まれる参照ピクチャのうち、Ｌ１参照ピクチャインデックスにより指示される参照ピクチャでありうる。
【０４１９】
また、リファインされたＬ０動きベクトルは、Ｌ０参照ピクチャにおいて最小ＳＡＤに対応するサンプル位置を指す動きベクトルでありえ、リファインされたＬ１動きベクトルは、Ｌ１参照ピクチャにおいて最小ＳＡＤに対応するサンプル位置を指す動きベクトルでありうる。ＤＭＶＲを適用してリファインされた動きベクトルを導き出す過程は、図８および図９において詳細に説明したので、ここでは説明を省略する。
【０４２０】
エンコード装置は、リファインされたＬ０動きベクトルに基づいて現ブロックのＬ０予測サンプル、およびリファインされたＬ１動きベクトルに基づいて現ブロックのＬ１予測サンプル、を導き出すことができる（Ｓ１４２０）。
【０４２１】
ここで、Ｌ０予測サンプルは、Ｌ０参照ピクチャにおいてリファインされたＬ０動きベクトルにより指示される参照サンプルに基づいて導き出され、Ｌ１予測サンプルは、Ｌ１参照ピクチャからリファインされたＬ１動きベクトルにより指示される参照サンプルに基づいて導き出されることができる。
【０４２２】
エンコード装置は、現ブロックに対してＢＤＯＦを適用するかどうかを表すＢＤＯＦフラグ情報に基づいて現ブロックに対してＢＤＯＦを適用し、Ｌ０予測サンプルおよびＬ１予測サンプルに基づいて現ブロックに対する予測サンプルを導き出すことができる（Ｓ１４３０）。
【０４２３】
このとき、予測サンプルを導き出すにおいて、エンコード装置は、コーディング効率、複雑度、予測性能などを考慮して、現ブロックに対してＢＤＯＦを適用するかどうかを決定できる。すなわち、エンコード装置は、現ブロックに対して予め設定されたＢＤＯＦの適用条件を満たすかどうかに基づいて、現ブロックにＢＤＯＦを適用できる。ここで、予め設定されたＢＤＯＦの適用条件は、上記表２ないし表４２において説明した多様な適用条件のうちの一部（もしくは全て）または特定の組み合せで構成されることができる。また、エンコード装置は、予め設定されたＢＤＯＦの適用条件を満たすかどうかによって、ＢＤＯＦフラグ情報を導出できる。ＢＤＯＦフラグ情報は、現ブロックに対してＢＤＯＦを適用するかどうかを表す情報（例えば、上述したｂｄｏｆＦｌａｇ）でありうる。
【０４２４】
一実施形態として、予め設定されたＢＤＯＦの適用条件は、Ｌ０ルマ重み付き予測フラグ情報およびＬ１ルマ重み付き予測フラグ情報の値が全部０であるという条件を含むことができる。
【０４２５】
このとき、エンコード装置は、Ｌ０ルマ重み付き予測フラグ情報（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ）およびＬ１ルマ重み付き予測フラグ情報（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）の値が全部０である場合を満たすとき、現ブロックに対してＢＤＯＦを適用することを表す値にＢＤＯＦフラグ情報を導出できる。例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇおよびｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇが全部０である場合、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。そうでない場合、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４２６】
また、一実施形態として、予め設定されたＢＤＯＦの適用条件は、現ブロックの大きさが１６Ｘ１６以上である条件を含むことができる。換言すれば、現ブロックの高さが１６以上で現ブロックの幅が１６以上の場合を意味できる。
【０４２７】
この場合、エンコード装置は、現ブロックの大きさが１６Ｘ１６以上である場合を満たすとき、現ブロックに対してＢＤＯＦを適用することを表す値にＢＤＯＦフラグ情報を導出できる。例えば、現ブロックの大きさが１６Ｘ１６以上の場合、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。そうでない場合（すなわち、現ブロックの大きさが１６Ｘ１６より小さい場合）、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４２８】
また、一実施形態として、予め設定されたＢＤＯＦの適用条件は、現ブロックの高さ（Ｈｅｉｇｈｔ）が８以上である条件を含むことができる。
【０４２９】
この場合、エンコード装置は、現ブロックの高さが８以上である場合を満たすとき、現ブロックに対してＢＤＯＦを適用することを表す値にＢＤＯＦフラグ情報を導出できる。例えば、現ブロックの高さが８以上の場合、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。そうでない場合（すなわち、現ブロックの高さが８より小さい場合）、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４３０】
また、一実施形態として、予め設定されたＢＤＯＦの適用条件は、現ピクチャとＬ０参照ピクチャとの間の第１ＰＯＣ（Picture Order Count）差と現ピクチャとＬ１参照ピクチャとの間の第２ＰＯＣ差とが同じ場合の条件を含むことができる。
【０４３１】
このとき、エンコード装置は、第１ＰＯＣ差（例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ、ＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆＩｄｘＬ０］））と第２ＰＯＣ差（例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ、ＲｅｆＰｉｃＬｉｓｔ１［ｒｅｆＩｄｘＬ１］））とが同じである場合を満たすとき、現ブロックに対してＢＤＯＦを適用することを表す値にＢＤＯＦフラグ情報を導出できる。例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ、ＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆＩｄｘＬ０］）−ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ、ＲｅｆＰｉｃＬｉｓｔ１［ｒｅｆＩｄｘＬ１］）が０である場合、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。そうでない場合、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４３２】
また、一実施形態として、予め設定されたＢＤＯＦの適用条件は、現ブロックにインター予測とイントラ予測とが結合された予測モード（ＣＩＩＰモード）が適用されない場合の条件を含むことができる。
【０４３３】
このとき、エンコード装置は、現ブロックにインター予測とイントラ予測とが結合された予測モードが適用されない場合（例えば、ｃｉｉｐ＿ｆｌａｇが０である場合）を満たすとき、現ブロックに対してＢＤＯＦを適用することを表す値にＢＤＯＦフラグ情報を導出できる。例えば、ｃｉｉｐ＿ｆｌａｇが０である場合、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。ｃｉｉｐ＿ｆｌａｇが１である場合、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４３４】
また、実施形態によって、予め設定されたＢＤＯＦの適用条件は、ＢＤＯＦベースインター予測が可能な（enable）場合の条件、現ブロックにＬ０参照ピクチャおよびＬ１参照ピクチャに基づいて行われる対予測（bi-prediction）が適用される場合の条件、現ブロックの対予測重み付けインデックス（bi-prediction weight index）情報の値が０の条件、現ブロックにアフィンモードが適用されない場合の条件、現ブロックにサブブロックベースマージモードが適用されない場合の条件、現ブロックがルマ成分である条件などを含むことができる。
【０４３５】
すなわち、ＢＤＯＦ適用条件は、上述した条件のうちの少なくとも一つを含んで決まることができ、このように決まったＢＤＯＦ適用条件に基づいてＢＤＯＦフラグ情報が導出されることができる。このとき、ＢＤＯＦ適用条件として一つまたは複数の条件を含んで決まった場合、エンコード装置は、予め設定されたＢＤＯＦ適用条件を全部満たした場合、ＢＤＯＦフラグ情報の値をｔｒｕｅまたは１として導出して、現ブロックにＢＤＯＦを適用すると判断できる。そうでなくて予め設定されたＢＤＯＦ適用条件のうちの一つでも満たさない場合、ＢＤＯＦフラグ情報の値をｆａｌｓｅまたは０として導出できる。
【０４３６】
ここで、ＢＤＯＦフラグ情報を導出するにおいて、上記羅列したＢＤＯＦ適用条件は、一つの例に過ぎず、前述した表２ないし表４２の条件を多様に組み合わせて使用することができる。
【０４３７】
ＢＤＯＦフラグ情報が現ブロックにＢＤＯＦを適用することを表す場合（例えば、ＢＤＯＦフラグ情報がｔｒｕｅまたは１値として導出された場合）、エンコード装置は、現ブロックに対してＢＤＯＦを適用して、予測サンプルを導き出すことができる。
【０４３８】
一実施形態として、エンコード装置は、リファインされたＬ０動きベクトルに基づいて導き出されるＬ０予測サンプルに対する第１階調（gradient）とリファインされたＬ１動きベクトルに基づいて導き出されるＬ１予測サンプルに対する第２階調（gradient）とを計算できる。そして、エンコード装置は、Ｌ０予測サンプル、Ｌ１予測サンプル、第１階調、第２階調に基づいて、現ブロックに対する予測サンプルを最終的に導き出すことができる。一例として、ＢＤＯＦを適用して予測サンプルを導き出す過程は、上述した式１ないし式６のような計算を利用できる。
【０４３９】
エンコード装置は、予測サンプルに基づいて現ブロックに対する残差サンプルを導き出し（Ｓ１４４０）、残差サンプルに関する情報を含む映像情報をエンコードできる（Ｓ１４５０）。
【０４４０】
すなわち、エンコード装置は、現ブロックに対するオリジナルサンプルと現ブロックの予測サンプルとに基づいて、残差サンプルを導き出すことができる。そして、エンコード装置は、残差サンプルに関する情報を生成できる。ここで、残差サンプルに関する情報は、残差サンプルに変換および量子化を行って導き出された量子化された変換係数の値情報、位置情報、変換技法、変換カーネル、量子化パラメータなどの情報を含むことができる。
【０４４１】
エンコード装置は、残差サンプルに関する情報をエンコードしてビットストリームで出力し、これをネットワークまたは記憶媒体を介してデコード装置に転送できる。
【０４４２】
また、エンコード装置は、上述したステップＳ１４００ないしＳ１４５０から導き出された映像情報をエンコードして、ビットストリームで出力できる。例えば、マージフラグ情報、マージインデックス情報、Ｌ０参照ピクチャインデックス、Ｌ１参照ピクチャインデックス、Ｌ０ルマ重み付き予測フラグ情報、Ｌ１ルマ重み付き予測フラグ情報、対予測重み付けインデックス情報などが映像情報に含まれてエンコードされることができ、このようなエンコードされた映像情報は、デコード装置へシグナリングされることができる。
【０４４３】
図１５は、本文書の一実施形態によってデコード装置によって行われることができるデコード方法を概略的に示すフローチャートである。
【０４４４】
図１５に開示された方法は、図３において開示されたデコード装置３００によって行われることができる。具体的には、図１５のステップＳ１５００〜Ｓ１５３０は、図３に開示された予測部３３０およびインター予測部３３２によって行われることができ、図１５のステップＳ１５４０は、図３に開示された加算部３４０によって行われることができる。また、図１５において開示された方法は、本文書において詳説した実施形態を含むことができる。したがって、図１５では、上述した実施形態と重複する内容に関して具体的な説明を省略するか、または簡単にすることにする。
【０４４５】
図１５を参照すると、デコード装置は、現ブロックのＬ０動きベクトルおよびＬ１動きベクトルを導き出すことができる（Ｓ１５００）。
【０４４６】
図１５に開示された方法は、図３において開示されたデコード装置３００によって行われることができる。具体的には、図１５のステップＳ１５００〜Ｓ１５３０は、図３に開示された予測部３３０およびインター予測部３３２によって行われることができ、図１５のステップＳ１５４０は、図３に開示された加算部３４０によって行われることができる。また、図１５において開示された方法は、本文書において詳説した実施形態を含むことができる。したがって、図１５では、上述した実施形態と重複する内容に関して、具体的な説明を省略するか、または簡単にすることにする。
【０４４７】
図１５を参照すると、デコード装置は、現ブロックのＬ０動きベクトルおよびＬ１動きベクトルを導き出すことができる（Ｓ１５００）。
【０４４８】
一実施形態として、デコード装置は、エンコード装置からシグナリングされる予測情報に基づいて、現ブロックに対する予測モードを決定できる。そして、デコード装置は、予測モードに基づいて現ブロックの動き情報（動きベクトル、参照ピクチャインデックスなど）を導き出すことができる。ここで、予測モードは、スキップモード、マージモード、（Ａ）ＭＶＰモードなどを含むことができる。
【０４４９】
例えば、デコード装置は、現ブロックにマージモードが適用される場合、現ブロックの周辺ブロックに基づいてマージ候補リストを構成し、マージ候補リストに含まれるマージ候補のうちの一つのマージ候補を選択できる。このとき、上述したマージインデックス情報（merge index）に基づいて、マージ候補リストから一つのマージ候補が選択されることができる。デコード装置は、選択されたマージ候補の動き情報を利用して、現ブロックの動き情報を導き出すことができる。すなわち、マージ候補リストに含まれるマージ候補のうち、マージインデックスにより選択されたマージ候補の動き情報が現ブロックの動き情報として利用されることができる。
【０４５０】
ここで、動き情報は、動きベクトル、参照ピクチャインデックスなどの情報を含むことができ、インター予測タイプ（Ｌ０予測、Ｌ１予測、Ｂｉ予測など）によってＬ０動き情報および／またはＬ１動き情報を含むことができる。現ブロックに対予測（Ｂｉ予測）が適用される場合、動き情報は、Ｌ０方向の動きベクトル（Ｌ０動きベクトル）およびＬ１方向の動きベクトル（Ｌ１動きベクトル）を含むことができる。また、動き情報は、Ｌ０参照ピクチャインデックスおよびＬ０参照ピクチャリスト内でＬ０参照ピクチャインデックスにより指示されるＬ０参照ピクチャと、Ｌ１参照ピクチャインデックスおよびＬ１参照ピクチャリスト内でＬ１参照ピクチャインデックスにより指示されるＬ１参照ピクチャと、を含むことができる。
【０４５１】
すなわち、デコード装置は、現ブロックの予測モード情報（例えば、マージモードであるかどうかを指示するマージフラグ（ｍｅｒｇｅ＿ｆｌａｇ））に基づいて、現ブロックにマージモードが適用されるかどうかを判断できる。マージフラグに基づいて現ブロックにマージモードが適用される場合、デコード装置は、マージインデックス情報を獲得できる。そして、デコード装置は、マージ候補リストに含まれる周辺ブロックのうち、マージインデックス情報により指示される周辺ブロックのＬ０動きベクトルおよびＬ１動きベクトルを導き出し、これを現ブロックのＬ０およびＬ１動きベクトルとして使用することができる。
【０４５２】
デコード装置は、現ブロックに対してＤＭＶＲを適用するかどうかを表すＤＭＶＲフラグ情報に基づいて、現ブロックに対してＤＭＶＲを適用して、Ｌ０動きベクトルおよびＬ１動きベクトルに基づいて、リファインされたＬ０動きベクトルおよびリファインされたＬ１動きベクトルを導き出すことができる（Ｓ１５１０）。
【０４５３】
このとき、デコード装置は、コーディング効率、複雑度、予測性能などを考慮して、現ブロックに対してＤＭＶＲを適用するかどうかを決定できる。すなわち、デコード装置は、現ブロックに対して予め設定されたＤＭＶＲの適用条件を満たすかどうかに基づいて、現ブロックにＤＭＶＲを適用できる。ここで、予め設定されたＤＭＶＲの適用条件は、上記表２ないし表４２において説明した多様な適用条件のうちの一部（もしくは全て）または特定の組み合せで構成されることができる。また、デコード装置は、予め設定されたＤＭＶＲの適用条件を満たすかどうかによって、ＤＭＶＲフラグ情報を導出できる。ＤＭＶＲフラグ情報は、現ブロックに対してＤＭＶＲを適用するかどうかを表す情報（例えば、上述したｄｍｖｒＦｌａｇ）でありうる。
【０４５４】
一実施形態として、予め設定されたＤＭＶＲの適用条件は、Ｌ０ルマ重み付き予測フラグ情報およびＬ１ルマ重み付き予測フラグ情報の値が全部０であるという条件を含むことができる。
【０４５５】
この場合、デコード装置は、Ｌ０ルマ重み付き予測フラグ情報（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ）およびＬ１ルマ重み付き予測フラグ情報（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）の値が全部０である場合を満たすとき、現ブロックに対してＤＭＶＲを適用することを表す値にＤＭＶＲフラグ情報を導出できる。例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇおよびｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇが全部０である場合、ＤＭＶＲフラグ情報は、現ブロックにＤＭＶＲを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。そうでない場合、ＤＭＶＲフラグ情報は、現ブロックにＤＭＶＲを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出できる。
【０４５６】
ここで、Ｌ０ルマ重み付き予測フラグ情報は、現ブロックのルマ成分に対するＬ０予測の重み付きファクタ（weight factor）が存在しているかどうかを指示する情報であり、Ｌ１ルマ重み付き予測フラグ情報は、現ブロックのルマ成分に対するＬ１予測の重み付きファクタが存在しているかどうかを指示する情報でありうる。例えば、Ｌ０ルマ重み付き予測フラグ情報の値が０である場合は、Ｌ０予測のルマ成分に対して重み付きファクタが存在しないことを表し、Ｌ０ルマ重み付き予測フラグ情報の値が１である場合は、Ｌ０予測のルマ成分に対して重み付きファクタが存在することを表すことができる。また、Ｌ１ルマ重み付き予測フラグ情報の値が０である場合は、Ｌ１予測のルマ成分に対して重み付きファクタが存在しないことを表し、Ｌ１ルマ重み付き予測フラグ情報の値が１である場合は、Ｌ１予測のルマ成分に対して重み付きファクタが存在することを表すことができる。
【０４５７】
また、一実施形態として、予め設定されたＤＭＶＲの適用条件は、現ブロックの対予測重み付けインデックス（bi-prediction weight index）情報の値が０である条件を含むことができる。
【０４５８】
このとき、デコード装置は、対予測重み付けインデックス情報（例えば、ＧｂｉＩｄｘ）の値が０である場合を満たすとき、現ブロックに対してＤＭＶＲを適用することを表す値にＤＭＶＲフラグ情報を導出できる。例えば、ＧｂｉＩｄｘが０である場合、ＤＭＶＲフラグ情報は、現ブロックにＤＭＶＲを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。そうでない場合、ＤＭＶＲフラグ情報は、現ブロックにＤＭＶＲを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４５９】
ここで、対予測重み付けインデックス情報（例えば、ＧｂｉＩｄｘ）の値が０である場合は、Ｌ０予測とＬ１予測とに互いに異なる重み付けを適用しないデフォルトの場合でありうる。一例として、上記表４に表れたように、対予測重み付けインデックス情報の値が０である場合、Ｌ０予測およびＬ１予測に各々１／２重み付けを適用する場合でありうる。
【０４６０】
また、一実施形態として、予め設定されたＤＭＶＲの適用条件は、現ブロックにインター予測とイントラ予測とが結合された予測モード（ＣＩＩＰモード）が適用されない場合であるという条件を含むことができる。
【０４６１】
このとき、デコード装置は、現ブロックにインター予測とイントラ予測とが結合された予測モードが適用されない場合（例えば、ｃｉｉｐ＿ｆｌａｇが０である場合）を満たすとき、現ブロックに対してＤＭＶＲを適用することを表す値にＤＭＶＲフラグ情報を導出できる。例えば、ｃｉｉｐ＿ｆｌａｇが０である場合、ＤＭＶＲフラグ情報は、現ブロックにＤＭＶＲを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。ｃｉｉｐ＿ｆｌａｇが１である場合、ＤＭＶＲフラグ情報は、現ブロックにＤＭＶＲを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４６２】
また、一実施形態として、予め設定されたＤＭＶＲの適用条件は、現ブロックの大きさが１６Ｘ１６以上である条件を含むことができる。換言すれば、現ブロックの高さが１６以上で現ブロックの幅が１６以上の場合を意味できる。
【０４６３】
この場合、デコード装置は、現ブロックの大きさが１６Ｘ１６以上である場合を満たすとき、現ブロックに対してＤＭＶＲを適用することを表す値にＤＭＶＲフラグ情報を導出できる。例えば、現ブロックの大きさが１６Ｘ１６以上の場合、ＤＭＶＲフラグ情報は、現ブロックにＤＭＶＲを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。そうでない場合（すなわち、現ブロックの大きさが１６Ｘ１６より小さい場合）、ＤＭＶＲフラグ情報は、現ブロックにＤＭＶＲを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４６４】
また、実施形態によって、予め設定されたＤＭＶＲの適用条件は、ＤＭＶＲベースインター対予測（inter-bi-prediction）が可能な（enable）場合の条件、現ブロックにＬ０参照ピクチャおよびＬ１参照ピクチャに基づいて行われる対予測（bi-prediction）が適用される場合の条件、現ピクチャとＬ０参照ピクチャとの間の第１ＰＯＣ（Picture Order Count）差と現ピクチャとＬ１参照ピクチャとの間の第２ＰＯＣ差とが同じ場合の条件、現ブロックにマージモードが適用される場合の条件、現ブロックにＭＭＶＤ（Merge Mode With Motion Vector Difference）モードが適用されない場合の条件などを含むことができる。
【０４６５】
すなわち、ＤＭＶＲの適用条件は、上述した条件のうちの少なくとも一つを含んで決まることができ、このように決まったＤＭＶＲ適用条件に基づいてＤＭＶＲフラグ情報が導出されることができる。このとき、ＤＭＶＲ適用条件として一つまたは複数の条件を含んで決まった場合、デコード装置は、予め設定されたＤＭＶＲ適用条件を全部満たした場合、ＤＭＶＲフラグ情報の値をｔｒｕｅまたは１として導出して、現ブロックにＤＭＶＲを適用すると判断できる。そうでなくて予め設定されたＤＭＶＲ適用条件のうちの一つでも満たされない場合、ＤＭＶＲフラグ情報の値をｆａｌｓｅまたは０として導出できる。
【０４６６】
ここで、ＤＭＶＲフラグ情報を導出するにおいて、上記羅列したＤＭＶＲ適用条件は、一つの例に過ぎず、前述した表２ないし表４２の条件を多様に組み合わせて使用することができる。
【０４６７】
ＤＭＶＲフラグ情報が現ブロックに対してＤＭＶＲを適用することを表す場合（例えば、ＤＭＶＲフラグ情報がｔｒｕｅまたは１値として導出された場合）、デコード装置は、現ブロックに対してＤＭＶＲを適用して、Ｌ０動きベクトルおよびＬ１動きベクトルに基づいて、リファインされたＬ０動きベクトルおよびリファインされたＬ１動きベクトルを導き出すことができる。
【０４６８】
一実施形態として、デコード装置は、Ｌ０動きベクトルに基づいて導き出されるＬ０参照ピクチャ内の参照サンプルとＬ１動きベクトルに基づいて導き出されるＬ１参照ピクチャ内の参照サンプルとを利用して、最小ＳＡＤ（Sum Of Absolute Differences）を計算できる。そして、デコード装置は、最小ＳＡＤに対応するサンプル位置に基づいて、Ｌ０動きベクトルに対するリファインされたＬ０動きベクトルとＬ１動きベクトルに対するリファインされたＬ１動きベクトルとを導き出すことができる。
【０４６９】
ここで、Ｌ０参照ピクチャは、Ｌ０参照ピクチャリスト内に含まれる参照ピクチャのうち、Ｌ０参照ピクチャインデックスにより指示される参照ピクチャであり、Ｌ１参照ピクチャは、Ｌ１参照ピクチャリスト内に含まれる参照ピクチャのうち、Ｌ１参照ピクチャインデックスにより指示される参照ピクチャでありうる。
【０４７０】
また、リファインされたＬ０動きベクトルは、Ｌ０参照ピクチャにおいて最小ＳＡＤに対応するサンプル位置を指す動きベクトルでありえ、リファインされたＬ１動きベクトルは、Ｌ１参照ピクチャにおいて最小ＳＡＤに対応するサンプル位置を指す動きベクトルでありうる。ＤＭＶＲを適用してリファインされた動きベクトルを導き出す過程は、図８および図９において詳細に説明したので、ここでは説明を省略する。
【０４７１】
デコード装置は、リファインされたＬ０動きベクトルに基づいて現ブロックのＬ０予測サンプルと、リファインされたＬ１動きベクトルに基づいて現ブロックのＬ１予測サンプルと、を導き出すことができる（Ｓ１５２０）。
【０４７２】
ここで、Ｌ０予測サンプルは、Ｌ０参照ピクチャにおいてリファインされたＬ０動きベクトルにより指示される参照サンプルに基づいて導き出され、Ｌ１予測サンプルは、Ｌ１参照ピクチャにおいてリファインされたＬ１動きベクトルにより指示される参照サンプルに基づいて導き出されることができる。
【０４７３】
デコード装置は、現ブロックに対してＢＤＯＦを適用するかどうかを表すＢＤＯＦフラグ情報に基づいて、現ブロックに対してＢＤＯＦを適用して、Ｌ０予測サンプルおよびＬ１予測サンプルに基づいて現ブロックに対する予測サンプルを導き出すことができる（Ｓ１５３０）。
【０４７４】
このとき、予測サンプルを導き出すにおいて、デコード装置は、コーディング効率、複雑度、予測性能などを考慮して、現ブロックに対してＢＤＯＦを適用するかどうかを決定できる。すなわち、デコード装置は、現ブロックに対して予め設定されたＢＤＯＦの適用条件を満たすかどうかに基づいて、現ブロックにＢＤＯＦを適用できる。ここで、予め設定されたＢＤＯＦの適用条件は、上記表２ないし表４２において説明した多様な適用条件のうちの一部（もしくは全て）または特定の組み合せで構成されることができる。また、デコード装置は、予め設定されたＢＤＯＦの適用条件を満たすかどうかによって、ＢＤＯＦフラグ情報を導出できる。ＢＤＯＦフラグ情報は、現ブロックに対してＢＤＯＦを適用するかどうかを表す情報（例えば、上述したｂｄｏｆＦｌａｇ）でありうる。
【０４７５】
一実施形態として、予め設定されたＢＤＯＦの適用条件は、Ｌ０ルマ重み付き予測フラグ情報およびＬ１ルマ重み付き予測フラグ情報の値が全部０であるという条件を含むことができる。
【０４７６】
このとき、デコード装置は、Ｌ０ルマ重み付き予測フラグ情報（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇ）およびＬ１ルマ重み付き予測フラグ情報（例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇ）の値が全部０である場合を満たすとき場合、現ブロックに対してＢＤＯＦを適用することを表す値にＢＤＯＦフラグ情報を導出できる。例えば、ｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ０＿ｆｌａｇおよびｌｕｍａ＿ｗｅｉｇｈｔ＿ｌ１＿ｆｌａｇが全部０である場合、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。そうでない場合、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４７７】
また、一実施形態として、予め設定されたＢＤＯＦの適用条件は、現ブロックの大きさが１６Ｘ１６以上である条件を含むことができる。換言すれば、現ブロックの高さが１６以上で、現ブロックの幅が１６以上の場合を意味できる。
【０４７８】
この場合、デコード装置は、現ブロックの大きさが１６Ｘ１６以上である場合を満たすとき、現ブロックに対してＢＤＯＦを適用することを表す値にＢＤＯＦフラグ情報を導出できる。例えば、現ブロックの大きさが１６Ｘ１６以上の場合、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。そうでない場合（すなわち、現ブロックの大きさが１６Ｘ１６より小さい場合）、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４７９】
また、一実施形態として、予め設定されたＢＤＯＦの適用条件は、現ブロックの高さ（Ｈｅｉｇｈｔ）が８以上である条件を含むことができる。
【０４８０】
この場合、デコード装置は、現ブロックの高さが８以上である場合を満たすとき、現ブロックに対してＢＤＯＦを適用することを表す値にＢＤＯＦフラグ情報を導出できる。例えば、現ブロックの高さが８以上の場合、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。そうでない場合（すなわち、現ブロックの高さが８より小さい場合）、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４８１】
また、一実施形態として、予め設定されたＢＤＯＦの適用条件は、現ピクチャとＬ０参照ピクチャとの間の第１ＰＯＣ（Picture Order Count）差と現ピクチャとＬ１参照ピクチャとの間の第２ＰＯＣ差とが同じ場合の条件を含むことができる。
【０４８２】
このとき、デコード装置は、第１ＰＯＣ差（例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ、ＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆＩｄｘＬ０］））と第２ＰＯＣ差（例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ、ＲｅｆＰｉｃＬｉｓｔ１［ｒｅｆＩｄｘＬ１］））とが同じである場合を満たすとき、現ブロックに対してＢＤＯＦを適用することを表す値にＢＤＯＦフラグ情報を導出できる。例えば、ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ、ＲｅｆＰｉｃＬｉｓｔ０［ｒｅｆＩｄｘＬ０］）−ＤｉｆｆＰｉｃＯｒｄｅｒＣｎｔ（ｃｕｒｒＰｉｃ、ＲｅｆＰｉｃＬｉｓｔ１［ｒｅｆＩｄｘＬ１］）が０である場合、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。そうでない場合、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４８３】
また、一実施形態として、予め設定されたＢＤＯＦの適用条件は、現ブロックにインター予測とイントラ予測とが結合された予測モード（ＣＩＩＰモード）が適用されない場合の条件を含むことができる。
【０４８４】
このとき、デコード装置は、現ブロックにインター予測とイントラ予測とが結合された予測モードが適用されない場合（例えば、ｃｉｉｐ＿ｆｌａｇが０である場合）を満たすとき、現ブロックに対してＢＤＯＦを適用することを表す値にＢＤＯＦフラグ情報を導出できる。例えば、ｃｉｉｐ＿ｆｌａｇが０である場合、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用することを表す値（例えば、１またはｔｒｕｅ）として導出されることができる。ｃｉｉｐ＿ｆｌａｇが１である場合、ＢＤＯＦフラグ情報は、現ブロックにＢＤＯＦを適用しないことを表す値（例えば、０またはｆａｌｓｅ）として導出されることができる。
【０４８５】
また、実施形態によって、予め設定されたＢＤＯＦの適用条件は、ＢＤＯＦベースインター予測が可能な（enable）場合の条件、現ブロックにＬ０参照ピクチャおよびＬ１参照ピクチャに基づいて行われる対予測（bi-prediction）が適用される場合の条件、現ブロックの対予測重み付けインデックス（bi-prediction weight index）情報の値が０の条件、現ブロックにアフィンモードが適用されない場合の条件、現ブロックにサブブロックベースマージモードが適用されない場合の条件、現ブロックがルマ成分である条件などを含むことができる。
【０４８６】
すなわち、ＢＤＯＦ適用条件は、上述した条件のうちの少なくとも一つを含んで決まることができ、このように決まったＢＤＯＦ適用条件に基づいてＢＤＯＦフラグ情報が導出されることができる。このとき、ＢＤＯＦ適用条件として一つまたは複数の条件を含んで決まった場合、デコード装置は、予め設定されたＢＤＯＦ適用条件を全部満たした場合、ＢＤＯＦフラグ情報の値をｔｒｕｅまたは１として導出して、現ブロックにＢＤＯＦを適用すると判断できる。そうでなく予め設定されたＢＤＯＦ適用条件のうちの一つでも満たされない場合、ＢＤＯＦフラグ情報の値をｆａｌｓｅまたは０として導出できる。
【０４８７】
ここで、ＢＤＯＦフラグ情報を導出するにおいて、上記羅列したＢＤＯＦ適用条件は、一つの例に過ぎず、前述した表２ないし表４２の条件を多様に組み合わせて使用することができる。
【０４８８】
ＢＤＯＦフラグ情報が現ブロックにＢＤＯＦを適用することを表す場合（例えば、ＢＤＯＦフラグ情報がｔｒｕｅまたは１値として導出された場合）、デコード装置は、現ブロックに対してＢＤＯＦを適用して、予測サンプルを導き出すことができる。
【０４８９】
一実施形態として、デコード装置は、リファインされたＬ０動きベクトルに基づいて導き出されるＬ０予測サンプルに対する第１階調（gradient）とリファインされたＬ１動きベクトルに基づいて導き出されるＬ１予測サンプルに対する第２階調（gradient）とを計算できる。そして、デコード装置は、Ｌ０予測サンプル、Ｌ１予測サンプル、第１階調、第２階調に基づいて、現ブロックに対する予測サンプルを最終的に導き出すことができる。一例として、ＢＤＯＦを適用して予測サンプルを導き出す過程は、上述した式１ないし式６のような計算を利用できる。
【０４９０】
デコード装置は、予測サンプルに基づいて現ブロックに対する復元サンプルを生成できる（Ｓ１５４０）。
【０４９１】
一実施形態として、デコード装置は、予測モードに応じて予測サンプルをまさに復元サンプルとして利用することもでき、または上記予測サンプルに残差サンプルを足して復元サンプルを生成することもできる。
【０４９２】
デコード装置は、現ブロックに対する残差サンプルが存在する場合、現ブロックに対する残差に関する情報を受信することができる。残差に関する情報は、残差サンプルに関する変換係数を含むことができる。デコード装置は、残差情報に基づいて現ブロックに対する残差サンプル（または残差サンプルアレイ）を導き出すことができる。デコード装置は、予測サンプルおよび残差サンプルに基づいて復元サンプルを生成でき、上記復元サンプルに基づいて復元ブロックまたは復元ピクチャを導き出すことができる。
【０４９３】
上述した実施形態において、方法は、一連のステップまたはブロックでフローチャートに基づいて説明されているが、本文書の実施形態は、ステップの順序に限定されるものではなく、あるステップは、上述したものと異なるステップおよび異なる順序でまたは同時に発生し得る。また、当業者であれば、フローチャートに示されたステップが排他的でなく、他のステップが含まれるか、またはフローチャートの一つもしくはそれ以上のステップは、本文書の範囲に影響を及ぼさずに削除されうることを理解できるはずである。
【０４９４】
上述した本文書による方法は、ソフトウェア形態により具現されることができ、本文書によるエンコード装置および／またはデコード装置は、例えばＴＶ、コンピュータ、スマートフォン、セットトップボックス、ディスプレイ装置などの映像処理を行う装置に含まれることができる。
【０４９５】
本文書において実施形態がソフトウェアにより具現されるとき、上述した方法は、上述した機能を行うモジュール（過程、機能など）により具現されることができる。モジュールは、メモリに記憶され、プロセッサにより実行されることができる。メモリは、プロセッサの内部または外部にあることができ、周知の多様な手段によりプロセッサと接続されることができる。プロセッサは、ＡＳＩＣ（Application-Specific Integrated Circuit）、他のチップセット、論理回路および／またはデータ処理装置を含むことができる。メモリは、ＲＯＭ（Read-Only Memory）、ＲＡＭ（Random Access Memory）、フラッシュメモリ、メモリカード、記憶媒体および／または他の記憶装置を含むことができる。すなわち、本文書において説明した実施形態は、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上において具現されて行われることができる。例えば、各図において示した機能ユニットは、コンピュータ、プロセッサ、マイクロプロセッサ、コントローラまたはチップ上において具現されて行われることができる。この場合、具現のための情報（例えば、information on instructions）またはアルゴリズムがデジタル記憶媒体に記憶されることができる。
【０４９６】
また、本文書が適用されるデコード装置およびエンコード装置は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、記憶媒体、カムコーダ、ビデオオンデマンド（ＶｏＤ）サービス提供装置、ＯＴＴビデオ（Over The Top video）装置、インターネットストリーミングサービス提供装置、３次元（３Ｄ）ビデオ装置、ＶＲ（Virtual Reality）装置、ＡＲ（Augmented Reality）装置、画像電話ビデオ装置、運送手段端末（例えば、車両（自律走行車両を含む）端末、飛行機端末、船舶端末など）および医療用ビデオ装置などに含まれることができ、ビデオ信号またはデータ信号を処理するために使用されることができる。例えば、ＯＴＴビデオ（Over The Top video）装置には、ゲームコンソール、ブルーレイプレーヤ、インターネット接続ＴＶ、ホームシアターシステム、スマートフォン、タブレットＰＣ、ＤＶＲ（Digital Video Recorder）などを含むことができる。
【０４９７】
また、本文書が適用される処理方法は、コンピュータで実行されるプログラムの形態で生産されることができ、コンピュータが読み取り可能な記録媒体に記憶されることができる。本文書によるデータ構造を有するマルチメディアデータもまたコンピュータが読み取り可能な記録媒体に記憶されることができる。上記コンピュータが読み取り可能な記録媒体は、コンピュータで読み出すことができるデータが記憶されるすべての種類の記憶装置および分散記憶装置を含む。上記コンピュータが読み取り可能な記録媒体は、例えば、ブルーレイディスク（ＢＤ）、ユニバーサルシリアルバス（ＵＳＢ）、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピ（登録商標）ディスクおよび光学データ記憶装置を含むことができる。また、上記コンピュータが読み取り可能な記録媒体は、搬送波（例えば、インターネットを介した転送）の形態により具現されたメディアを含む。また、エンコード方法で生成されたビットストリームは、コンピュータが読み取り可能な記録媒体に記憶されるか、または有無線通信ネットワークを介して転送されることができる。
【０４９８】
また、本文書の実施形態は、プログラムコードによるコンピュータプログラム製品により具現されることができ、上記プログラムコードは、本文書の実施形態によりコンピュータにおいて行われることができる。上記プログラムコードは、コンピュータにより読み取り可能なキャリア上に記憶されることができる。
【０４９９】
図１６は、本文書に開示された実施形態が適用されることができるコンテンツストリーミングシステムの例を示す。
【０５００】
図１６を参照すると、本文書の実施形態に適用されるコンテンツストリーミングシステムは、概してエンコードサーバ、ストリーミングサーバ、ウェブサーバ、メディア記憶装置（格納所）、ユーザ装置およびマルチメディア入力装置を含むことができる。
【０５０１】
上記エンコードサーバは、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置から入力されたコンテンツをデジタルデータに圧縮してビットストリームを生成し、これを上記ストリーミングサーバに転送する役割を担う。他の例として、スマートフォン、カメラ、カムコーダなどのマルチメディア入力装置がビットストリームを直接生成する場合、上記エンコードサーバは、省略されることができる。
【０５０２】
上記ビットストリームは、本文書の実施形態に適用されるエンコード方法またはビットストリーム生成方法により生成されることができ、上記ストリーミングサーバは、上記ビットストリームを転送または受信する過程において一時的に上記ビットストリームを記憶することができる。
【０５０３】
上記ストリーミングサーバは、ウェブサーバを介したユーザリクエスト（要請）に基づいて、マルチメディアデータをユーザ装置に転送し、上記ウェブサーバは、ユーザにいかなるサービスがあるかを知らせる媒介体として機能する。ユーザが上記ウェブサーバに望みのサービスをリクエストすると、上記ウェブサーバは、これをストリーミングサーバに伝達し、上記ストリーミングサーバは、ユーザにマルチメディアデータを転送する。このとき、上記コンテンツストリーミングシステムは、別の制御サーバを含むことができ、この場合、上記制御サーバは、上記コンテンツストリーミングシステム内の各装置間の命令／応答を制御する役割を担う。
【０５０４】
上記ストリーミングサーバは、メディア記憶装置および／またはエンコードサーバからコンテンツを受信することができる。例えば、上記エンコードサーバからコンテンツを受信する場合、上記コンテンツをリアルタイムで受信することができる。この場合、円滑なストリーミングサービスを提供するために、上記ストリーミングサーバは、上記ビットストリームを一定時間の間記憶することができる。
【０５０５】
上記ユーザ装置の例には、携帯電話、スマートフォン（smart phone）、ノート型パソコン（laptop）、デジタル放送用端末機、ＰＤＡ（Personal Digital Assistants）、ＰＭＰ（Portable Multimedia Player）、ナビゲーション、スレートＰＣ（slate PC）、タブレットＰＣ（tablet PC）、ウルトラブック（ultrabook）、ウェアラブルデバイス（wearable device、例えば、ウォッチ型端末機（smart watch）、グラス型端末機（smart glass）、ＨＭＤ（Head Mounted Display））、デジタルＴＶ、デスクトップコンピュータ、デジタルサイネージなどがありうる。
【０５０６】
上記コンテンツストリーミングシステム内の各サーバは、分散サーバとして運用されることができ、この場合、各サーバにおいて受信するデータは、分散処理されることができる。
【０５０７】
一方、本文書の実施形態が適用されるデコード装置およびエンコード装置は、デジタル機器（digital device）に含まれることができる。「デジタル機器（digital device）」とは、例えば、データ、コンテンツ、サービスなどを、転送、受信、処理および出力のうちの少なくとも一つを遂行可能なすべてのデジタル機器を含む。ここで、デジタル機器がデータ、コンテンツ、サービスなどを処理することは、データ、コンテンツ、サービスなどをエンコードおよび／またはデコードする動作を含む。このようなデジタル機器は、有／無線ネットワーク（wire/wireless network）を介して他のデジタル機器、外部サーバ（external server）などとペアリングまたは接続（pairing or connecting）（以下、ペアリング）されてデータを送受信し、必要によって変換（converting）する。
【０５０８】
デジタル機器は、例えば、ネットワークＴＶ（network TV）、ＨＢＢＴＶ（Hybrid Broadcast Broadband TV）、スマートＴＶ（Smart TV）、ＩＰＴＶ（Internet Protocol TeleVision）、ＰＣ（Personal Computer）などの固定機器（standing device）と、ＰＤＡ（Personal Digital Assistant）、スマートフォン（Smart Phone）、タブレットＰＣ（Tablet PC）、ノート型パソコン、ＶＲ／ＡＲ機器などのモバイル機器（mobile device or handheld device）と、を全部含む。また、上記デジタル機器は、マルチメディア放送送受信装置、モバイル通信端末、ホームシネマビデオ装置、デジタルシネマビデオ装置、監視用カメラ、ビデオ対話装置、ビデオ通信などのリアルタイム通信装置、モバイルストリーミング装置、記憶媒体、カムコーダ、ビデオオンデマンド（ＶｏＤ）サービス提供装置、ＯＴＴビデオ（Over The Top video）装置、インターネットストリーミングサービス提供装置、３次元（３Ｄ）ビデオ装置、ＶＲ（Virtual Reality）装置、ＡＲ（Augmented Reality）装置、画像電話ビデオ装置、運送手段端末（例えば、車両（自律走行車両を含む）端末、飛行機端末、船舶端末など）および医療用ビデオ装置などを含むことができる。
【０５０９】
一方、本文書において述べられる「有／無線ネットワーク」とは、デジタル機器間またはデジタル機器と外部サーバとの間における相互接続および／またはデータ送受信のために多様な通信規格またはプロトコルをサポートする通信ネットワークを通称する。このような有／無線ネットワークは、規格により現在または今後サポートされる通信ネットワークとそのための通信プロトコルとを全部含むことができるため、例えば、ＵＳＢ（Universal Serial Bus）、ＣＶＢＳ（Composite Video Banking Sync）、コンポーネント、Ｓ−ビデオ（アナログ）、ＤＶＩ（Digital Visual Interface）、ＨＤＭＩ（High Definition Multimedia Interface）（登録商標）、ＲＧＢ、Ｄ−ＳＵＢなどの有線接続のための通信規格またはプロトコルと、ブルートゥース（Bluetooth）（登録商標）、ＲＦＩＤ（Radio Frequency IDentification）、赤外線通信（IrDA、infrared Data Association）、ＵＷＢ（Ultra WideBand）、ジグビ（ZigBee）、ＤＬＮＡ（Digital Living Network Alliance）（登録商標）、ＷＬＡＮ（Wireless LAN）（Ｗｉ−Ｆｉ）、Ｗｉｂｒｏ（Wireless broadband）、Ｗｉｍａｘ（World Interoperability for Microwave Access）、ＨＳＤＰＡ（High Speed Downlink Packet Access）、ＬＴＥ（Long Term Evolution）、Ｗｉ−Ｆｉダイレクト（Direct）などの無線接続のための通信規格によって形成されることができる。
【０５１０】
以下、本文書においてただデジタル機器と命名する場合には、文脈によって固定機器もしくはモバイル機器を意味するか、または両方を全部含む意味でもありうる。
【０５１１】
一方、デジタル機器は、例えば、放送受信器能、コンピュータ機能またはサポート、少なくとも一つの外部入力（external input）をサポートするインテリジェント（知能型）機器として、上述した有／無線ネットワークを介して電子メール（e-mail）、ウェブブラウジング（web browsing）、バンキング（banking）、ゲーム（game）、アプリケーション（application）などをサポートできる。また、上記デジタル機器は、手操作（手記）方式の入力装置、タッチスクリーン（touch screen）、空間リモコンなど、少なくとも一つの入力または制御手段（以下、入力手段）をサポートするためのインターフェース（interface）を具備できる。デジタル機器は、標準化された汎用ＯＳ（Operating System）を利用できる。例えば、デジタル機器は、汎用のＯＳカーネル（kernel）上で、多様なアプリケーション（application）の追加（adding）、削除（deleting）、修正（amending）、アップデート（updating）などを行うことができ、これによってさらにユーザフレンドリ（親和的）な（user-friendly）環境を構成して提供できる。
【０５１２】
一方、本文書において述べられる外部入力は、外部入力機器すなわち、上述したデジタル機器と有／無線で接続されてそれを通じて関連データを送／受信して処理可能なすべての入力手段またはデジタル機器を含む。ここで、上記外部入力は、例えば、ＨＤＭＩ（High Definition Multimedia Interface）（登録商標）、プレーステーション（PlayStation）またはエックスボックス（X-Box）などのゲーム機器、スマートフォン、タブレットＰＣ、プリンタ器、スマートＴＶなどのデジタル機器を全部含む。
【０５１３】
また、本文書において述べられる「サーバ（server）」とは、クライアント（client）、すなわち、上述したデジタル機器にデータを供給するすべてのデジタル機器またはシステムを含む意味であり、プロセッサ（processor）と呼ばれることもある。このようなサーバには、例えば、ウェブページまたはウェブコンテンツを提供するポータルサーバ（portal server）、広告データ（advertising data）を提供する広告サーバ（advertising server）、コンテンツを提供するコンテンツサーバ（content server）、ＳＮＳ（Social Network Service）サービスを提供するＳＮＳサーバ（SNS server）、製造業者から提供するサービスサーバ（service server or manufacturing server）などが含まれることができる。
【０５１４】
その他、本文書において述べられる「チャネル（channel）」とは、データを送受信するための経路（path）、手段（means）などを意味し、放送チャネル（チャンネル）（broadcasting channel）を例とすることができる。ここで、放送チャネルは、デジタル放送の活性化によって物理チャネル（physical channel）、仮想チャネル（virtual channel）、論理チャネル（logical channel）などの用語で表現される。放送チャネルは、放送網と呼ばれることができる。このように、放送チャネルは、放送局から提供される放送コンテンツを提供または受信器からアクセス（接近）するためのチャネルのことをいい、上記放送コンテンツは、主にリアルタイムの放送（real-time broadcasting）に基づくから、ライブチャネル（live channel）とも呼ぶ。ただし、最近では、放送のための媒体（medium）がより多様化してリアルタイム放送の他に非リアルタイム（non-real time）放送も活性化されているから、ライブチャネルは、ただリアルタイム放送だけでなく、場合によっては、非リアルタイム放送を含んだ放送チャネル全体を意味する用語として理解されうる。
【０５１５】
本文書では、上述した放送チャネルの他に、チャネルと関連して「任意チャネル（arbitrary channel）」をさらに定義する。上記任意チャネルは、放送チャネルと共にＥＰＧ（Electronic Program Guide）のようなサービスガイド（service guide）と共に提供されることもでき、任意チャネルだけでサービスガイド、ＧＵＩ（Graphic User Interface）またはＯＳＤ画面（On-Screen Display screen）が構成／提供されることもできる。
【０５１６】
一方、送受信器間で予め約束されたチャネル番号（ナンバ）を有する放送チャネルと異なり、任意チャネルは、受信器から任意に割り当てるチャネルであって、上記放送チャネルを表現するためのチャネル番号とは基本的に重複しないチャネル番号が割り当てられる。例えば、受信器は、特定の放送チャネルをチューニングすると、チューニングされたチャネルを介して放送コンテンツおよびそのためのシグナリング情報（signaling information）を転送する放送信号を受信する。ここで、受信器は、上記シグナリング情報からチャネル情報をパージング（parsing）し、パージングされたチャネル情報に基づいてチャネルブラウザ（channel browser）、ＥＰＧなどを構成してユーザに提供する。ユーザは、入力手段を介してチャネル切替（転換）リクエストを行うと、受信器は、それに対応する方式である。
【０５１７】
このように、放送チャネルは、送受信端間で予め約束された内容であるから、任意チャネルを放送チャネルと重複して割り当てる場合には、ユーザの混同を招くか、または混同の可能性が存在するので、前述したように重複して割り当てないことが好ましい。一方、上記のように、任意のチャネル番号を放送チャネル番号と重複して割り当てなくても、ユーザのチャネルサーフィン過程で依然として混同の恐れがあるから、これを考慮して任意のチャネル番号を割り当てることが求められる。なぜなら、本文書の実施形態による任意チャネルもやはり、従来の放送チャネルと同様に入力手段を介したユーザのチャネル切替リクエストによって同じ方式で対応して、放送チャネルのようにアクセスされるように具現できるからである。したがって、任意チャネル番号は、ユーザの任意チャネルアクセスの便宜と、放送チャネル番号との区分または識別の便宜と、のために、放送チャネルのように数字形態でない任意チャネル−１、任意チャネル−２などのように文字が併記された形態で定義し表示できる。一方、この場合、たとえ、任意チャネル番号の表示は、任意チャネル−１のように文字が併記された形態であっても、受信器内部では、上記放送チャネルの番号のように数字形態で認識し具現されることができる。その他に、任意チャネル番号は、放送チャネルのように数字形態で提供されることもでき、動画チャネル−１、タイトル−１、ビデオ−１などのように放送チャネルと区分可能な多様な方式でチャネル番号を定義し表示することもできる。
【０５１８】
デジタル機器は、ウェブサービス（web service）のためにウェブブラウザ（web browser）を実行して、多様な形態のウェブページ（webpage）をユーザに提供する。ここで、上記ウェブページには、動画（video content）が含まれるウェブページも含まれるが、本文書の実施形態では、動画をウェブページから別にまたは独立して分離して処理する。そして、上記分離される動画には、前述した任意チャネル番号を割り当て、サービスガイドなどを介して提供し、ユーザがサービスガイドまたは放送チャネル視聴過程でチャネル切替リクエストによって出力されるように具現できる。その他に、ウェブサービスの他にも、放送コンテンツ、ゲーム、アプリケーションなどのサービスに対しても、所定のコンテンツ、イメージ、オーディオ、項目などを上記放送コンテンツ、ゲーム、アプリケーション自体から独立して分離処理し、その再生、処理などのために任意チャネル番号を割り当て、上述したように具現できる。
【０５１９】
図１７は、デジタル機器を含んだサービスシステム（service system）の一例を概略的に示した図である。
【０５２０】
デジタル機器を含んだサービスシステムは、コンテンツプロバイダ（提供者）（Content Provider；ＣＰ）１７１０、サービスプロバイダ（Service Provider；ＳＰ）１７２０、ネットワークプロバイダ（Network Provider；ＮＰ）１７３０およびＨＮＥＤ（Home Network End User）（Customer）１７４０を含む。ここで、ＨＮＥＤ１７４０は、例えば、クライアント１７００、すなわち、デジタル機器である。コンテンツプロバイダ１７１０は、各種コンテンツを製作して提供する。このようなコンテンツプロバイダ１７１０として、図１７に示すように、地上波放送送出者（terrestrial broadcaster）、ケーブル放送事業者（ｃａｂｌｅ  ＳＯ（System Operator））またはＭＳＯ（Multiple SO）、衛星放送送出者（satellite broadcaster）、多様なインターネット放送送出者（Internet broadcaster）、個人コンテンツプロバイダ等（Private CPs）などを例示できる。一方、コンテンツプロバイダ１７１０は、放送コンテンツの他にも多様なアプリケーションなどを提供する。
【０５２１】
サービスプロバイダ１７２０は、コンテンツプロバイダ１７１０が提供するコンテンツをサービスパッケージ化してＨＮＥＤ１７４０に提供する。例えば、図１７のサービスプロバイダ２０は、第１地上波放送、第２地上波放送、ケーブルＭＳＯ、衛星放送、多様なインターネット放送、アプリケーションなどをパッケージ化してＨＮＥＤ１７４０に提供する。
【０５２２】
サービスプロバイダ１７２０は、ユニキャスト（uni-cast）またはマルチキャスト（multi-cast）方式でクライアント１７００にサービスを提供する。一方、サービスプロバイダ１７２０は、データを、予め登録された多数のクライアント１７００に一度に転送できるが、このために、ＩＧＭＰ（Internet Group Management Protocol）プロトコルなどを利用できる。
【０５２３】
上述したコンテンツプロバイダ１７１０とサービスプロバイダ１７２０とは、同じエンティティ（same or single entity）でありうる。例えば、コンテンツプロバイダ１７１０が製作したコンテンツをサービスパッケージ化してＨＮＥＤ１７４０に提供することによって、サービスプロバイダ１７２０の機能も共に行うか、またはその反対でありうる。
【０５２４】
ネットワークプロバイダ１７３０は、コンテンツプロバイダ１７１０および／またはサービスプロバイダ１７２０とクライアント１７００との間のデータ交換のためのネットワーク網を提供する。
【０５２５】
クライアント１７００は、ホームネットワークを構築してデータを送受信できる。
【０５２６】
一方、サービスシステム内のコンテンツプロバイダ１７１０および／またはサービスプロバイダ１７２０は、転送されるコンテンツの保護のために条件付きアクセス（制限受信）（conditional access）またはコンテンツ保護（Content Protection）手段を利用できる。この場合、クライアント１７００は、上記条件付きアクセスまたはコンテンツ保護に対応して、ケーブルカード（Cable CARD）（ＰＯＤ：Point of Deployment）、ＤＣＡＳ（Downloadable CAS）などの処理手段を利用できる。
【０５２７】
その他に、クライアント１７００もネットワーク網（または通信網）を介して、双方向サービスを利用できる。このような場合、むしろクライアント１７００がコンテンツプロバイダの機能を行うこともでき、従来のサービスプロバイダ１７２０は、これを受信してさらに他のクライアントに転送することもできる。
【０５２８】
図１８は、デジタル機器の一実施形態を説明するために示す構成ブロック図である。ここで、図１８は、例えば、図１７のクライアント１７００に該当でき、前述したデジタル機器を意味する。
【０５２９】
デジタル機器１８００は、ネットワークインターフェース部（Network Interface）１８０１、ＴＣＰ／ＩＰマネージャ（TCP/IP Manager）１８０２、サービス配送（伝達）マネージャ（Service Delivery Manager）１８０３、ＳＩデコーダ１８０４、逆多重化部（Demux）１８０５、オーディオデコーダ（Audio Decoder）１８０６、ビデオデコーダ（Video Decoder）１８０７、ディスプレイ部（Display A/V and OSD Module）１８０８、サービス制御マネージャ（Service Control Manager）１８０９、サービスディスカバリマネージャ（Service Discovery Manager）１８１０、ＳＩ＆メタデータデータベース（SI & Meta data DB）１８１１、メタデータマネージャ（Metadata Manager）１８１２、サービスマネージャ１８１３、ＵＩマネージャ１８１４などを含んで構成される。
【０５３０】
ネットワークインターフェース部１８０１は、ネットワーク網を介してＩＰパケット（Internet Protocol (IP) packets）を受信または転送する。すなわち、ネットワークインターフェース部１８０１は、ネットワーク網を介してサービスプロバイダ１７２０からサービス、コンテンツなどを受信する。
【０５３１】
ＴＣＰ／ＩＰマネージャ１８０２は、デジタル機器１８００で受信されるＩＰパケットとデジタル機器１８００が転送するＩＰパケットとに対して、すなわち、送信元（ソース）（source）と送信先（目的地）（destination）との間のパケット伝達に関与する。そして、ＴＣＰ／ＩＰマネージャ１８０２は、受信したパケット（１つまたは複数）を適切なプロトコルに対応するように分類し、サービス配送マネージャ１８０５、サービスディスカバリマネージャ１８１０、サービス制御マネージャ１８０９、メタデータマネージャ１８１２などに分類されたパケット（１つまたは複数）を出力する。サービス配送マネージャ１８０３は、受信されるサービスデータの制御を担当する。例えば、サービス配送マネージャ１８０３は、リアルタイムストリーミング（real-time streaming）データを制御する場合には、ＲＴＰ／ＲＴＣＰを使用することができる。上記リアルタイムストリーミングデータをＲＴＰを使用して転送する場合、サービス配送マネージャ１８０３は、上記受信したデータパケットをＲＴＰに応じてパージング（parsing）して逆多重化部１８０５に転送するか、またはサービスマネージャ１８１３の制御によって、ＳＩ＆メタデータデータベース１８１１に記憶する。そして、サービス配送マネージャ２０３は、ＲＴＣＰを利用して上記ネットワーク受信情報をサービスを提供するサーバ側にフィードバック（feedback）する。逆多重化部１８０５は、受信したパケットをオーディオ、ビデオ、ＳＩ（System Information）データなどで逆多重化して、各々オーディオ／ビデオデコーダ１８０６／１８０７、ＳＩデコーダ１８０４に転送する。
【０５３２】
ＳＩデコーダ１８０４は、例えば、ＰＳＩ（Program Specific Information）、ＰＳＩＰ（Program and System Information Protocol）、ＤＶＢ−ＳＩ（Digital Video Broadcasting-Service Information）などのサービス情報をデコードする。
【０５３３】
また、ＳＩデコーダ１８０４は、デコードされたサービス情報を、例えば、ＳＩ＆メタデータデータベース１８１１に記憶する。このように記憶されたサービス情報は、例えば、ユーザのリクエストなどにより該当構成により読み出されて利用されることができる。
【０５３４】
オーディオ／ビデオデコーダ１８０６／１８０７は、逆多重化部１８０５において逆多重化された各オーディオデータおよびビデオデータをデコードする。このようにデコードされたオーディオデータおよびビデオデータは、ディスプレイ部１８０８を介してユーザに提供される。
【０５３５】
アプリケーションマネージャは、例えば、ＵＩマネージャ１８１４およびサービスマネージャ１８１３を含んで構成されることができる。アプリケーションマネージャは、デジタル機器１８００の全般的な状態を管理しユーザインタフェースを提供し、他のマネージャを管理できる。
【０５３６】
ＵＩマネージャ１８１４は、ユーザのためのＧＵＩ（Graphic User Interface）をＯＳＤ（On Screen Display）などを利用して提供し、ユーザからキー入力を受けて、上記入力に応じる機器動作を行う。例えば、ＵＩマネージャ１８１４は、ユーザからチャネル選択に関するキー入力を受けると、上記キー入力信号をサービスマネージャ１８１３に転送する。
【０５３７】
サービスマネージャ１８１３は、サービス配送マネージャ１８０３、サービスディスカバリマネージャ１８１０、サービス制御マネージャ１８０９、メタデータマネージャ１８１２など、サービスと関連するマネージャを制御する。
【０５３８】
また、サービスマネージャ１８１３は、チャネルマップ（channel map）を作り、ユーザインタフェースマネージャ１８１４から受信したキー入力に応じて、上記チャネルマップを利用してチャネルを選択する。そして、上記サービスマネージャ１８１３は、ＳＩデコーダ１８０４からチャネルのサービス情報が転送されて、選択されたチャネルのオーディオ／ビデオＰＩＤ（Packet IDentifier）を逆多重化部１８０５に設定する。このように設定されるＰＩＤは、上述した逆多重化過程に利用される。したがって、逆多重化部１８０５は、上記ＰＩＤを利用してオーディオデータ、ビデオデータおよびＳＩデータをフィルタリング（filtering）する。
【０５３９】
サービスディスカバリマネージャ１８１０は、サービスを提供するサービスプロバイダを選択するのに必要な情報を提供する。上記サービスマネージャ１８１３からチャネル選択に関する信号を受信すると、サービスディスカバリマネージャ１８１０は、上記情報を利用してサービスを探索する。
【０５４０】
サービス制御マネージャ１８０９は、サービスの選択および制御を担当する。例えば、サービス制御マネージャ１８０９は、ユーザが従来の放送方式のような生放送（live broadcasting）サービスを選択する場合、ＩＧＭＰまたはＲＴＳＰなどを使用し、ＶＯＤ（Video on Demand）のようなサービスを選択する場合には、ＲＴＳＰを使用してサービスの選択、制御を行う。上記ＲＴＳＰプロトコルは、リアルタイムストリーミングに対してトリックモード（trick mode）を提供できる。また、サービス制御マネージャ２０９は、ＩＭＳ（IP Multimedia Subsystem）、ＳＩＰ（Session Initiation Protocol）を利用して、ＩＭＳゲートウェイ１８５０を介したセッションを初期化し管理できる。上記プロトコルは、一実施形態であり、具現例によって他のプロトコルを使用することもできる。
【０５４１】
メタデータマネージャ１８１２は、サービスと関連するメタデータを管理し、上記メタデータをＳＩ＆メタデータデータベース１８１１に記憶する。
【０５４２】
ＳＩ＆メタデータデータベース１８１１は、ＳＩデコーダ１８０４がデコードしたサービス情報、メタデータマネージャ１８１２が管理するメタデータおよびサービスディスカバリマネージャ１８１０が提供するサービスプロバイダを選択するのに必要な情報を記憶する。また、ＳＩ＆メタデータデータベース１８１１は、システムに対するセットアップデータなどを記憶することができる。
【０５４３】
ＳＩ＆メタデータデータベース１８１１は、非揮発性メモリ（Non-Volatile RAM：ＮＶＲＡＭ）またはフラッシュメモリ（flash memory）などを使用して具現されることもできる。
【０５４４】
一方、ＩＭＳゲートウェイ１８５０は、ＩＭＳベースのＩＰＴＶサービスにアクセスするために必要な機能を集めておいたゲートウェイである。
【０５４５】
図１９は、デジタル機器の他の実施形態を説明するために示す構成ブロック図である。特に、図１９は、デジタル機器の他の実施形態としてモバイル機器の構成ブロック図を例示したものである。
【０５４６】
図１９を参照すると、モバイル機器１９００は、無線通信部１９１０、Ａ／Ｖ（Audio/Video）入力部１９２０、ユーザ入力部１９３０、センシング部１９４０、出力部１９５０、メモリ１９６０、インターフェース部１９７０、制御部１９８０および電源供給部１９９０などを含むことができる。図１９に示す構成要素は必須のものではないから、それより多くの構成要素を有するか、またはそれより少ない構成要素を有するモバイル機器が具現されることができる。
【０５４７】
無線通信部１９１０は、モバイル機器１９００と無線通信システムとの間、またはモバイル機器とモバイル機器が位置するネットワークとの間の無線通信を可能にする一つまたは複数のモジュールを含むことができる。例えば、無線通信部１９１０は、放送受信モジュール１９１１、移動通信モジュール１９１２、無線インターネットモジュール１９１３、近距離通信モジュール１９１４および位置情報モジュール１９１５などを含むことができる。
【０５４８】
放送受信モジュール１９１１は、放送チャネルを介して外部の放送管理サーバから放送信号および／または放送に関連する情報を受信する。ここで、放送チャネルは、衛星チャネル、地上波チャネルを含むことができる。上記放送管理サーバは、放送信号および／もしくは放送関連情報を生成して転送するサーバ、または予め生成された放送信号および／もしくは放送関連情報を提供されて端末機に転送するサーバを意味できる。上記放送信号は、ＴＶ放送信号、ラジオ放送信号、データ放送信号を含むだけでなく、ＴＶ放送信号またはラジオ放送信号にデータ放送信号が結合した形態の放送信号も含むことができる。
【０５４９】
放送関連情報は、放送チャネル、放送プログラムまたは放送サービスプロバイダに関連する情報を意味できる。上記放送関連情報は、移動通信網を介しても提供されいることができる。このような場合には、上記移動通信モジュール１９１２により受信されることができる。
【０５５０】
放送関連情報は、多様な形態、例えば、ＥＰＧ（Electronic Program Guide）またはＥＳＧ（Electronic Service Guide）などの形態で存在できる。
【０５５１】
放送受信モジュール１９１１は、例えば、ＡＴＳＣ、ＤＶＢ−Ｔ（Digital Video Broadcasting-Terrestrial）、ＤＶＢ−Ｓ（Satellite）、ＭｅｄｉａＦＬＯ（Media Forward Link Only）、ＤＶＢ−Ｈ（Handheld）、ＩＳＤＢ−Ｔ（Integrated Services Digital Broadcast-Terrestrial）など、デジタル放送システムを利用してデジタル放送信号を受信することができる。もちろん、放送受信モジュール１９１１は、上述したデジタル放送システムだけでなく、他の放送システムに適合するように構成されることもできる。
【０５５２】
放送受信モジュール１９１１を介して受信した放送信号および／または放送関連情報は、メモリ１９６０に記憶されることができる。
【０５５３】
移動通信モジュール１９１２は、移動通信網において、基地局、外部端末、サーバのうちの少なくとも一つと無線信号を送受信する。無線信号は、音声信号、画像通話信号または文字／マルチメディアメッセージ送受信に応じる多様な形態のデータを含むことができる。
【０５５４】
無線インターネットモジュール１９１３は、無線インターネット接続のためのモジュールを含んで、モバイル機器１９００に内装されるか、または外装されることができる。無線インターネット技術には、ＷＬＡＮ（Wireless LAN）（Ｗｉ−Ｆｉ）、Ｗｉｂｒｏ（Wireless broadband）、Ｗｉｍａｘ（World interoperability for Microwave Access）、ＨＳＤＰＡ（High Speed Downlink Packet Access）などが利用されることができる。
【０５５５】
近距離通信モジュール１９１４は、近距離通信のためのモジュールのことをいう。近距離通信（short range communication）技術に、ブルートゥース（Bluetooth）（登録商標）、ＲＦＩＤ（Radio Frequency IDentification）、赤外線通信（ＩｒＤＡ、Infrared Data Association）、ＵＷＢ（Ultra Wideband）、ＺｉｇＢｅｅ、ＲＳ−２３２、ＲＳ−４８５などが利用されることができる。
【０５５６】
位置情報モジュール３１５は、モバイル機器１９００の位置情報獲得のためのモジュールであって、ＧＰＳ（Global Position System）モジュールを例とすることができる。
【０５５７】
Ａ／Ｖ入力部１９２０は、オーディオおよび／またはビデオ信号入力のためのもので、これには、カメラ１９２１およびマイク１９２２などが含まれることができる。カメラ１９２１は、画像通話モードまたは撮影モードにおいてイメージセンサにより得られる静止画または動画などの画像フレームを処理する。処理された画像フレームは、ディスプレイ部１９５１に表示されることができる。
【０５５８】
カメラ１９２１において処理された画像フレームは、メモリ１９６０に記憶されるか、無線通信部１９１０を介して外部に転送されることができる。カメラ１９２１は、使用環境によって２つ以上が備えられることができる。
【０５５９】
マイク１９２２は、通話モードまたは録音モード、音声認識モードなどにおいてマイクロフォン（Microphone）により外部の音響信号を受けて、電気的な音声データとして処理する。処理された音声データは、通話モードの場合、移動通信モジュール１９１２）を介して移動通信基地局に送信可能な形態に変換されて出力されることができる。マイク１９２２では、外部の音響信号を受け取る過程で発生する雑音（noise）を除去するための多様な雑音除去アルゴリズムが具現されることができる。
【０５６０】
ユーザ入力部１９３０は、ユーザが端末機の動作制御のための入力データを発生させる。ユーザ入力部１９３０は、キーパッド（key pad）、ドームスイッチ（dome switch）、タッチパッド（静圧／静電）、ジョグホイール（jog wheel）、ジョグスイッチ（jog switch）などで構成されることができる。
【０５６１】
センシング部１９４０は、モバイル機器１９００の開閉状態、モバイル機器１９００の位置、ユーザ接触の有無、モバイル機器の方位、モバイル機器の加速／減速などのモバイル機器３００の現在の状態を感知して、モバイル機器１９００の動作制御のためのセンシング信号を発生させる。例えば、モバイル機器１９００が移動されるか、または傾いた場合、モバイル機器の位置または勾配などをセンシングできる。また、電源供給部１９９０の電源供給が可能か否か、インターフェース部１９７０の外部機器結合が可能か否かなどもセンシングすることができる。一方、センシング部１９４０は、ＮＦＣ（Near Field Communication）を含んだ近接センサ１９４１を含むことができる。
【０５６２】
出力部１９５０は、視覚、聴覚または触覚などと関連する出力を発生させるためのもので、ディスプレイ部１９５１、音響出力モジュール１９５２、アラーム部１９５３、およびハプティックモジュール１９５４などが含まれることができる。
【０５６３】
ディスプレイ部１９５１は、モバイル機器１９００において処理される情報を表示（出力）する。例えば、モバイル機器が通話モードの場合、通話と関連するＵＩ（User Interface）またはＧＵＩ（Graphic User Interface）を表示する。モバイル機器１９００が画像通話モードまたは撮影モードの場合には、撮影および／または受信した映像またはＵＩ、ＧＵＩを表示する。
【０５６４】
ディスプレイ部１９５１は、液晶ディスプレイ（Liquid Crystal Display、ＬＣＤ）、薄膜トランジスタ液晶ディスプレイ（Thin Film Transistor-Liquid Crystal Display、ＴＦＴ  ＬＣＤ）、有機発光ダイオード（Organic Light-Emitting Diode、ＯＬＥＤ）、フレキシブルディスプレイ（flexible display）、３次元ディスプレイ（3D display）のうちの少なくとも一つを含むことができる。
【０５６５】
これらのうちの一部のディスプレイは、それを通じて外部を見ることができるように透明型または光透過型で構成されることができる。これは、透明ディスプレイと呼ばれることができるが、上記透明ディスプレイの代表的な例には、ＴＯＬＥＤ（Transparent OLED）などがある。ディスプレイ部１９５１の後方構造もまた、光透過型構造で構成されることができる。このような構造によって、ユーザは、端末機本体（ボディー）のディスプレイ部１９５１が占める領域を介して、端末機本体（body）の後方に位置する事物を見ることができる。
【０５６６】
モバイル機器１９００の具現形態によって、ディスプレイ部１９５１が２個以上存在できる。例えば、モバイル機器１９００には、複数のディスプレイ部が一つの面において離隔されるかまたは一体に配置されることができ、また、互いに異なる面において各々配置されることもできる。
【０５６７】
ディスプレイ部１９５１とタッチ動作を感知するセンサ（以下、タッチセンサという）とが相互に階層構造をなす場合（以下、タッチスクリーンという）に、ディスプレイ部１９５１は、出力装置の他に入力装置としても使用されることができる。タッチセンサは、例えば、タッチフィルム、タッチシート、タッチパッドなどの形態を有することができる。
【０５６８】
タッチセンサは、ディスプレイ部１９５１の特定部位に加えられた圧力またはディスプレイ部１９５１の特定部位に発生する静電容量などの変化を電気的な入力信号に変換するよう構成されることができる。タッチセンサは、タッチされる位置および面積だけでなく、タッチ時の圧力までも検出できるように構成されることができる。
【０５６９】
タッチセンサに対するタッチ入力があると、それに対応する信号（１つまたは複数）は、タッチ制御器に送られる。タッチ制御器は、その信号（１つまたは複数）を処理した後、対応するデータを制御部１９８０に転送する。これによって、制御部１９８０は、ディスプレイ部１９５１のどの領域がタッチされたかが分かるようになる。
【０５７０】
タッチスクリーンにより取り囲まれるモバイル機器の内部領域または上記タッチスクリーンの近くに、近接センサ１９４１が配置されることができる。上記近接センサは、所定の検出面に接近する物体、または近辺に存在する物体の有無を、電子系の力または赤外線を利用して、機械的接触なしで検出するセンサのことを言う。近接センサは、接触式センサより、その寿命が長く、その活用度も高い。
【０５７１】
上記近接センサの例には、透過型光電センサ、直接反射型光電センサ、ミラー反射型光電センサ、高周波発振型近接センサ、静電容量型近接センサ、磁気型近接センサ、赤外線近接センサなどがある。上記タッチスクリーンが静電式の場合には、上記ポインタの近接による電界の変化で上記ポインタの近接を検出するよう構成される。この場合、上記タッチスクリーン（タッチセンサ）は、近接センサに分類されることができる。
【０５７２】
以下、説明の便宜のために、上記タッチスクリーン上にポインタが接触されずに近接されて、上記ポインタが上記タッチスクリーン上に位置することが認識されるようにする行為を「近接タッチ（proximity touch）」と称し、上記タッチスクリーン上にポインタが実際に接触される行為を「接触タッチ（contact touch）」と称す。上記タッチスクリーン上にポインタで近接タッチされる位置とは、上記ポインタが近接タッチされるときに上記ポインタが上記タッチスクリーンに対して垂直に対応する位置を意味する。
【０５７３】
上記近接センサは、近接タッチと、近接タッチパターン（例えば、近接タッチ距離、近接タッチ方向、近接タッチ速度、近接タッチ時間、近接タッチ位置、近接タッチ移動状態など）を感知する。上記感知された近接タッチ動作および近接タッチパターンに相応する情報は、タッチスクリーン上に出力されることができる。
【０５７４】
音響出力モジュール１９５２は、呼信号受信、通話モードもしくは録音モード、音声認識モード、放送受信モードなどにおいて、無線通信部１９１０から受信されるか、またはメモリ１９６０に記憶されたオーディオデータを出力できる。音響出力モジュール１９５２は、モバイル機器１９００において行われる機能（例えば、呼信号受信音、メッセージ受信音など）と関連する音響信号を出力することもある。このような音響出力モジュール１９５２には、レシーバ（receiver）、スピーカ（speaker）、ブザー（buzzer）などが含まれることができる。
【０５７５】
アラーム部１９５３は、モバイル機器１９００のイベント発生を知らせるための信号を出力する。モバイル機器から発生するイベントの例には、呼信号受信、メッセージ受信、キー信号入力、タッチ入力などがある。アラーム部１９５３は、ビデオ信号またはオーディオ信号の他に他の形態、例えば振動でイベント発生を知らせるための信号を出力することもできる。
【０５７６】
上記ビデオ信号またはオーディオ信号は、ディスプレイ部１９５１または音声出力モジュール１９５２を介しても出力されうるから、これら１９５１、１９５２は、アラーム部１９５３の一部として分類されることができる。
【０５７７】
ハプティックモジュール（haptic module）１９５４は、ユーザが感じることができる多様な触覚効果を発生させる。ハプティックモジュール１９５４が発生させる触覚効果の代表的な例には、振動がある。ハプティックモジュール１９５４が発生する振動の強度およびパターンなどは制御可能である。例えば、互いに異なる振動を合成して出力するか、または順次出力することもできる。
【０５７８】
ハプティックモジュール１９５４は、振動の他にも、接触皮膚面に対して垂直運動するピン配列、噴射口または吸入口を介した空気の噴射力または吸込力、皮膚表面に対する擦れ、電極（electrode）の接触、静電気などの磁極による効果と、吸熱または発熱可能な素子を利用した冷温感の再現による効果など、多様な触覚効果を発生させることができる。
【０５７９】
ハプティックモジュール１９５４は、直接的な接触を介して触覚効果を伝達できるだけでなく、ユーザが手指または腕などの筋感覚を介して触覚効果を感じることができるように具現することもできる。ハプティックモジュール１９５４は、モバイル機器１９００の構成態様によって２個以上が備えられることができる。
【０５８０】
メモリ１９６０は、制御部１９８０の動作のためのプログラムを記憶することができ、入／出力されるデータ（例えば、電話帳（フォンブック）、メッセージ、静止画、動画など）を一時記憶することができる。上記メモリ１９６０は、上記タッチスクリーン上のタッチ入力時に出力される多様なパターンの振動および音響に関するデータを記憶することができる。
【０５８１】
メモリ１９６０は、フラッシュメモリタイプ（flash memory type）、ハードディスクタイプ（hard disk type）、マルチメディアカードマイクロタイプ（multimedia card micro type）、カードタイプのメモリ（例えば、ＳＤまたはＸＤメモリなど）、ラム（Random Access Memory、ＲＡＭ）、ＳＲＡＭ（Static Random Access Memory）、ロム（Read-Only Memory、ＲＯＭ）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）、ＰＲＯＭ（Programmable Read-Only Memory）、磁気メモリ、磁気ディスク、光ディスクのうちの少なくとも一つのタイプの記憶媒体を含むことができる。モバイル機器１９００は、インターネット（internet）上において上記メモリ１９６０の記憶機能を行うウェブストレージ（web storage）と関連して動作することもできる。
【０５８２】
インターフェース部１９７０は、モバイル機器１９００に接続するすべての外部機器との通信路の役割を担う。インターフェース部１９７０は、外部機器からデータを転送されるか、または電源の供給を受けてモバイル機器１９００の内部の各構成要素に伝達するか、またはモバイル機器１９００の内部のデータが外部機器に転送されるようにする。例えば、有／無線ヘッドセットポート、外部充電器ポート、有／無線データポート、メモリカード（memory card）ポート、識別モジュールが備えられた装置を接続するポート、オーディオＩ／Ｏ（Input/Output）ポート、ビデオＩ／Ｏポート、イヤホンポートなどがインターフェース部１９７０に含まれることができる。
【０５８３】
識別モジュールは、モバイル機器１９００の使用権限を認証するための各種情報を記憶したチップとして、ユーザ認証モジュール（User Identify Module、ＵＩＭ）、加入者認証モジュール（Subscriber Identify Module、ＳＩＭ）、汎用ユーザ認証モジュール（Universal Subscriber Identity Module、ＵＳＩＭ）などを含むことができる。識別モジュールが備えられた装置（以下、識別装置）は、スマートカード（smart card）形式で製作されることができる。したがって、識別装置は、ポートを介して端末機１９００に接続されることができる。
【０５８４】
インターフェース部１９７０は、移動端末機１９００が外部クレードル（cradle）に接続されるとき、上記クレードルからの電源が上記移動端末機１９００に供給される通信路になるか、またはユーザにより上記クレードルから入力される各種の命令信号が上記移動端末機に伝達される通信路になることができる。クレードルから入力される各種命令信号または上記電源は、移動端末機が上記クレードルに正確に装着されたことを認知するための信号として動作されうる。
【０５８５】
制御部１９８０は、通常、モバイル機器の全般的な動作を制御する。例えば、音声通話、データ通信、画像通話などのための関連する制御および処理を行う。制御部３８０は、マルチメディア再生のためのマルチメディアモジュール１９８１を具備することもできる。マルチメディアモジュール１９８１は、制御部１９８０内に具現されることもでき、制御部１９８０と別に具現されることもできる。制御部１９８０、特にマルチメディアモジュール１９８１は、前述したエンコード装置および／またはデコード装置を含むことができる。
【０５８６】
制御部１９８０は、タッチスクリーン上において行なわれる筆記入力または絵描き入力を各々文字およびイメージとして認識できるパターン認識処理を行うことができる。
【０５８７】
電源供給部１９９０は、制御部１９８０の制御により外部の電源、内部の電源を受け取って、各構成要素の動作に必要な電源を供給する。
【０５８８】
ここに説明される多様な実施形態は、例えば、ソフトウェア、ハードウェアまたはこれらの組合わせられたものを利用して、コンピュータまたはこれと類似の装置で読み出すことのできる記録媒体内で具現されることができる。
【０５８９】
ハードウェアによる具現によれば、ここに説明される実施形態は、ＡＳＩＣｓ（Application Specific Integrated Circuits）、ＤＳＰｓ（Digital Signal Processors）、ＤＳＰＤｓ（Digital Signal Processing Devices）、ＰＬＤｓ（Programmable Logic Devices）、ＦＰＧＡｓ（field programmable gate arrays、プロセッサ、制御器、マイクロコントローラ（micro-controllers）、マイクロプロセッサ（microprocessors）、その他、機能を行うための電気的なユニットのうちの少なくとも一つを利用して具現されることができる。一部の場合に、本明細書において説明される実施形態が制御部１９８０自体で具現されることができる。
【０５９０】
ソフトウェアによる具現によれば、本明細書において説明される手順および機能などの実施形態は、別のソフトウェアモジュールにより具現されることができる。ソフトウェアモジュールの各々は、本明細書において説明される一つまたは複数の機能および作動を行うことができる。適切なプログラム言語で作成されたソフトウェアアプリケーションによりソフトウェアコードが具現されることができる。ここで、ソフトウェアコードは、メモリ１９６０に記憶され、制御部１９８０により実行されることができる。
【０５９１】
図２０は、本文書の実施形態（１つまたは複数）が活用されることができる３次元映像／ビデオサービス提供のためのアーキテクチャを概略的に示す。これは、３６０度またはｏｍｎｉｄｉｒｅｃｔｉｏｎａｌビデオ／イメージ処理システムを示すことができる。また、これは、例えば拡張現実（ＸＲ：eXtended Reality）サポート機器において具現されることができる。すなわち、上記システムは、ユーザに仮想現実を提供する方式を提供できる。
【０５９２】
拡張現実は、仮想現実（ＶＲ：Virtual Reality）、増強現実（ＡＲ：Augmented Reality）、混合現実（ＭＲ：Mixed Reality）を総称する。ＶＲ技術は、現実世界の客体または背景などをＣＧ映像だけで提供し、ＡＲ技術は、実際の事物の映像の上に仮想で作られたＣＧ映像を共に提供し、ＭＲ技術は、現実世界に仮想客体を混ぜて結合させて提供するコンピュータグラフィック技術である。
【０５９３】
ＭＲ技術は、現実客体と仮想客体とを共に見せるという点でＡＲ技術と似ている。しかしながら、ＡＲ技術では、仮想客体が現実客体を補完する形態で使用されることに対し、ＭＲ技術では、仮想客体と現実客体とが同等な性格で使用されるという点に差異がある。
【０５９４】
ＸＲ技術は、ＨＭＤ（Head-Mount Display）、ＨＵＤ（Head-Up Display）、携帯電話、タブレットＰＣ、ラップトップ、デスクトップ、ＴＶ、デジタル署名（サイニジ）などに適用されることができ、ＸＲ技術が適用された装置をＸＲ装置（XR Device）と称することができる。ＸＲ装置は、後述する第１デジタル装置および／または第２デジタル装置を含むことができる。
【０５９５】
３６０度コンテンツは、ＶＲを具現、提供するためのコンテンツ全般を意味し、３６０度ビデオおよび／または３６０度オーディオを含むことができる。３６０度ビデオは、ＶＲを提供するために必要な、同時にすべての方向（３６０度またはそれ以下）にキャプチャされるか、または再生される、ビデオまたはイメージコンテンツを意味できる。以下、３６０ビデオとは、３６０度ビデオを意味できる。３６０度オーディオもやはり、ＶＲを提供するためのオーディオコンテンツとして、音響発生地点が３次元の特定空間上に位置すると認知できる、空間的（Spatial）オーディオコンテンツを意味できる。３６０度コンテンツは、生成、処理されてユーザに転送されることができ、ユーザは、３６０度コンテンツを利用してＶＲ経験を消費できる。３６０度ビデオは、全方向（omnidirectional）ビデオと呼ばれることができ、３６０度イメージは、全方向イメージと呼ばれることができる。また、以下、３６０ビデオに基づいて説明し、本文書の実施形態（１つまたは複数）は、ＶＲに限定されず、ＡＲ、ＭＲなどのビデオ／映像コンテンツに対する処理を含むことができる。３６０度ビデオは、３Ｄモデルに応じて多様な形態の３Ｄ空間上に現されるビデオまたはイメージを意味でき、例えば３６０度ビデオは、球形面（Spherical surface）上に現されることができる。
【０５９６】
本方法は、特に３６０度ビデオを効果的に提供する方式を提案する。３６０度ビデオを提供するために、まず、一つまたは複数のカメラを介して３６０度ビデオがキャプチャされうる。キャプチャされた３６０度ビデオは、一連の過程を経て転送され、受信側では、受信したデータを再度本来の３６０度ビデオで加工してレンダリングできる。これによって３６０度ビデオがユーザに提供されることができる。
【０５９７】
具体的には、３６０度ビデオ提供のための全体の過程は、キャプチャ過程（process）、準備過程、転送過程、処理（プロセシング）過程、レンダリング過程および／またはフィードバック過程を含むことができる。
【０５９８】
キャプチャ過程は、一つまたは複数のカメラを介して複数の視点各々に対するイメージまたはビデオをキャプチャする過程を意味できる。キャプチャ過程により示された図２０の（２０１０）のようなイメージ／ビデオデータが生成されることができる。図示の図２０の（２０１０）の各平面は、各視点に対するイメージ／ビデオを意味できる。このキャプチャされた複数のイメージ／ビデオをロー（生）（raw）データということができる。キャプチャ過程においてキャプチャと関連するメタデータが生成されることができる。
【０５９９】
このキャプチャのために、ＶＲのための特殊カメラが使用されることができる。実施形態によって、コンピュータで生成された仮想の空間に対する３６０度ビデオを提供しようとする場合、実際のカメラを介したキャプチャが行われない場合がありうる。この場合、単に関連データが生成される過程によって該当キャプチャ過程が置き替えられることができる。
【０６００】
準備過程は、キャプチャされたイメージ／ビデオおよびキャプチャ過程で発生したメタデータを処理する過程でありうる。キャプチャされたイメージ／ビデオは、この準備過程で、ステッチング過程、プロジェクション過程、リージョン別パッキング過程（Region-wise Packing）および／またはエンコード過程などを経ることができる。
【０６０１】
まず、各々のイメージ／ビデオがステッチング（Stitching）過程を経ることができる。ステッチング過程は、各々のキャプチャされたイメージ／ビデオを接続して、一つのパノラマイメージ／ビデオまたは球形のイメージ／ビデオを作る過程でありうる。
【０６０２】
この後、ステッチングされたイメージ／ビデオは、プロジェクション（Projection）過程を経ることができる。プロジェクション過程で、ステッチングされたイメージ／ビデオは、２Ｄイメージ上にプロジェクションされることができる。この２Ｄイメージは、文脈によって２Ｄイメージフレームと呼ばれることができる。２Ｄイメージでプロジェクションすることを２Ｄイメージにマッピングすると表現することもできる。プロジェクションされたイメージ／ビデオデータは、図示の図２０の（２０２０）のような２Ｄイメージの形態になることができる。
【０６０３】
２Ｄイメージ上にプロジェクションされたビデオデータは、ビデオコーディング効率などを高めるために、リージョン別パッキング過程（Region-wise Packing）を経ることができる。リージョン別パッキングとは、２Ｄイメージ上にプロジェクションされたビデオデータをリージョン（Region）別に分けて処理を加える過程を意味できる。ここで、リージョン（Region）とは、３６０度ビデオデータがプロジェクションされた２Ｄイメージが分けられた領域を意味できる。このリージョンは、実施形態によって、２Ｄイメージを均等に分けて区分されるか、任意に分けられて区分されることができる。また、実施形態によって、リージョンは、プロジェクションスキームによって区分されることもできる。リージョン別パッキング過程は、オプション（選択的）（optional）過程で、準備過程で省略されることができる。
【０６０４】
実施形態によって、この処理過程は、ビデオコーディング効率を上げるために、各リージョンを回転するか、または２Ｄイメージ上において再配列する過程を含むことができる。例えば、リージョンを回転してリージョンの特定の辺が互いに近接して位置するようにすることによって、コーディングのときの効率が高まるようにすることができる。
【０６０５】
実施形態によって、この処理過程は、３６０度ビデオ上の領域別に解像度（レゾリューション）（resolution）を異ならせる（差動化する）ために、特定リージョンに対する解像度を高めるか、または低くする過程を含むことができる。例えば、３６０度ビデオ上において相対的により重要な領域に該当するリージョンは、他のリージョンより解像度を高くすることができる。２Ｄイメージ上にプロジェクションされたビデオデータまたはリージョン別にパッキングされたビデオデータは、ビデオコーデックを介したエンコード過程を経ることができる。
【０６０６】
実施形態によって、準備過程は、付加的に編集（エディティング）（editing）過程などをさらに含むことができる。この編集過程でプロジェクション前後のイメージ／ビデオデータに対する編集などがさらに行われることができる。準備過程でも同様に、ステッチング／プロジェクション／エンコード／編集などに関するメタデータが生成されることができる。また、２Ｄイメージ上にプロジェクションされたビデオデータの初期視点（時点）、あるいはＲＯＩ（Region of Interest）などに関するメタデータが生成されることができる。
【０６０７】
転送過程は、準備過程を経たイメージ／ビデオデータおよびメタデータを処理して転送する過程でありうる。転送のために任意の転送プロトコルに応じる処理が行われることができる。転送のための処理を終えたデータは、放送網および／またはブロードバンドを介して伝達されることができる。このデータは、オンデマンド（On Demand）方式で受信側に伝達されることもできる。受信側では、多様な経路を介して該当データを受信することができる。
【０６０８】
処理過程は、受信したデータをデコードし、プロジェクションされているイメージ／ビデオデータを３Ｄモデル上に再プロジェクション（Re-projection）する過程を意味できる。この過程において２Ｄイメージ上にプロジェクションされているイメージ／ビデオデータが３Ｄ空間上に再プロジェクションされることができる。この過程を文脈によってマッピング、プロジェクションと呼ぶこともできる。このとき、マッピングされる３Ｄ空間は、３Ｄモデルによって他の形態を有することができる。例えば、３Ｄモデルには、球形（Sphere）、キューブ（Cube）、シリンダ（Cylinder）またはピラミッド（Pyramid）がありうる。
【０６０９】
実施形態によって、処理過程は、付加的に編集（editing）過程、アップスケーリング（up scaling）過程などをさらに含むことができる。この編集過程において、再プロジェクション前後のイメージ／ビデオデータに対する編集などがさらに行われることができる。イメージ／ビデオデータが縮小されている場合、アップスケーリング過程でサンプルのアップスケーリングを介してその大きさを拡大できる。必要な場合、ダウンスケーリングを介してサイズを縮小する作業が行われることもできる。
【０６１０】
レンダリング過程は、３Ｄ空間上に再プロジェクションされたイメージ／ビデオデータをレンダリングして表示する過程を意味できる。表現によって再プロジェクションとレンダリングとを合わせて３Ｄモデル上にレンダリングすると表現することもできる。３Ｄモデル上に再プロジェクションされた（または３Ｄモデル上にレンダリングされた）イメージ／ビデオは、図示の図２０の（２０３０）のような形態を有することができる。図示の図２０の（２０３０）は、球形（Sphere）の３Ｄモデルに再プロジェクションされた場合である。ユーザは、ＶＲディスプレイなどを介してレンダリングされたイメージ／ビデオの一部の領域を見ることができる。このとき、ユーザが見ることになる領域は、図示の図２０の（２０４０）のような形態でありうる。
【０６１１】
フィードバック過程は、ディスプレイ過程で獲得されうる多様なフィードバック情報を送信側に伝達する過程を意味できる。フィードバック過程を介して３６０度ビデオの消費においてインタラクティビティ（Interactivity）が提供されることができる。実施形態によって、フィードバック過程でヘッドオリエンテーション（Head Orientation）情報、ユーザが現在見ている領域を表すビューポート（Viewport）情報などが送信側に伝達されることができる。実施形態によって、ユーザは、ＶＲ環境上に具現されたものと相互作用することもできるので、この場合、その相互作用と関連する情報がフィードバック過程で送信側またはサービスプロバイダ側に伝達されることもありうる。実施形態によって、フィードバック過程は行われないこともありうる。
【０６１２】
ヘッドオリエンテーション情報は、ユーザの頭の位置、角度、動きなどに関する情報を意味できる。この情報に基づいて、ユーザが現在３６０度ビデオ内で見ている領域に関する情報、すなわちビューポート情報が計算されることができる。
【０６１３】
ビューポート情報は、現在ユーザが３６０度ビデオで見ている領域に関する情報でありうる。これによりゲイズ分析（Gaze Analysis）が行われて、ユーザがどのような方式で３６０度ビデオを消費しているか、３６０度ビデオのどの領域をどれくらい凝視しているかなどを確認することもできる。ゲイズ分析は、受信側で行われて送信側へフィードバックチャネルを介して伝達されうる。ＶＲディスプレイなどの装置は、ユーザの頭の位置／方向、装置がサポートする垂直（vertical）あるいは水平（horizontal）ＦＯＶ（Field Of View）情報などに基づいて、ビューポート領域を抽出できる。
【０６１４】
一方、サブピクチャに基づいて３６０度ビデオ／イメージが処理されることができる。２Ｄイメージを含むプロジェクティドピクチャまたはパックドピクチャは、サブピクチャで区分されることができ、サブピクチャ単位で処理が行われることができる。例えば、ユーザビューポートなどによって特定サブピクチャ（１つもしくは複数）に対して高い解像度を与えることもでき、または特定サブピクチャ（１つもしくは複数）だけをエンコードして、受信装置（デコード装置側）にシグナリングすることもできる。この場合、サブピクチャビットストリームを、デコード装置は、受信して、上記特定サブピクチャ（１つまたは複数）を復元／デコードし、ユーザビューポートに従ってレンダリングできる。
【０６１５】
実施形態によって、前述したフィードバック情報は、送信側に伝達されるだけでなく、受信側で消費されることもできる。すなわち、前述したフィードバック情報を利用して、受信側のデコード、再プロジェクション、レンダリング過程などが行われることができる。例えば、ヘッドオリエンテーション情報および／またはビューポート情報を利用して、現在ユーザが見ている領域に対する３６０度ビデオだけを優先的にデコードおよびレンダリングすることもできる。
【０６１６】
ここで、ビューポート（viewport）またはビューポート領域とは、ユーザが３６０度ビデオで見ている領域を意味できる。視点（viewpoint）は、ユーザが３６０度ビデオで見ているポイント（地点）であって、ビューポート領域の真中のポイントを意味できる。すなわち、ビューポートは、視点を中心とした領域であるが、その領域が占める大きさや形態などは、ＦＯＶ（Field Of View）により決定されることができる。
【０６１７】
前述した３６０度ビデオの提供のための全体アーキテクチャ内で、キャプチャ／プロジェクション／エンコード／転送／デコード／再プロジェクション／レンダリングの一連の過程を経るようになるイメージ／ビデオデータを、３６０度ビデオデータと呼ぶことができる。３６０度ビデオデータという用語は、また、このようなイメージ／ビデオデータと関連するメタデータまたはシグナリング情報を含む概念として使用されることができる。
【０６１８】
上述したオーディオまたはビデオなどのメディアデータを記憶し転送するために、定形化したメディアファイルフォーマットが定義されることができる。実施形態によって、メディアファイルは、ＩＳＯ  ＢＭＦＦ（ISO Base Media File Format）に基づいたファイルフォーマットを有することができる。
【０６１９】
図２１は、本方法が適用されることができる第１デジタル装置の構成を概略的に説明する図である。上記第１デジタル装置は、ＶＲ／ＡＲコンテンツなどの３次元映像／ビデオサービス提供のための送信側に該当できる。上記第１デジタル装置は、本文書において詳説したエンコード装置を含むことができる。上記エンコード装置は、上記データエンコーダに含まれるか、または対応できる。
【０６２０】
第１デジタル装置は、前述した準備過程もしくは転送過程に関連する動作を行うことができる。第１デジタル装置は、データ入力部、ステッチャ（Stitcher）、プロジェクション処理部、リージョン別パッキング処理部（図示せず）、メタデータ処理部、（送信側）フィードバック処理部、データエンコーダ、カプセル化（インキャプサレイション）処理部、転送処理部および／または転送部を内／外部エレメントとして含むことができる。
【０６２１】
データ入力部は、キャプチャされた各視点別イメージ／ビデオを受け取ることができる。この視点別イメージ／ビデオは、一つまたは複数のカメラによりキャプチャされたイメージ／ビデオでありうる。また、データ入力部は、キャプチャ過程で発生したメタデータを受け取ることができる。データ入力部は、入力された視点別イメージ／ビデオをステッチャに伝達し、キャプチャ過程のメタデータをシグナリング処理部に伝達できる。
【０６２２】
ステッチャは、キャプチャされた視点別イメージ／ビデオに対するステッチング作業を行うことができる。ステッチャは、ステッチングされた３６０度ビデオデータをプロジェクション処理部に伝達できる。ステッチャは、必要な場合、メタデータ処理部から必要なメタデータを伝達されて、ステッチング作業に利用できる。ステッチャは、ステッチング過程で発生するメタデータをメタデータ処理部に伝達できる。ステッチング過程のメタデータには、ステッチングが行われたかどうか、ステッチングタイプなどの情報がありうる。
【０６２３】
プロジェクション処理部は、ステッチングされた３６０度ビデオデータを２Ｄイメージ上にプロジェクションできる。プロジェクション処理部は、多様なスキーム（scheme）に従ってプロジェクションを行うことができるが、これについては後述する。プロジェクション処理部は、各視点別３６０度ビデオデータの該当デプス（depth）を考慮してマッピングを行うことができる。プロジェクション処理部は、必要な場合、メタデータ処理部からプロジェクションに必要なメタデータを伝達されて、プロジェクション作業に利用できる。プロジェクション処理部は、プロジェクション過程で発生するメタデータをメタデータ処理部に伝達できる。プロジェクション処理部のメタデータには、プロジェクションスキームの種類などがありうる。
【０６２４】
リージョン別パッキング処理部（図示せず）は、前述したリージョン別パッキング過程を行うことができる。すなわち、リージョン別パッキング処理部は、プロジェクションされた３６０度ビデオデータをリージョン別に分け、各リージョンを回転、再配列するか、または各リージョンの解像度を変更するなどの処理を行うことができる。前述したように、リージョン別パッキング過程は、オプション（optional）過程であり、リージョン別パッキンが行われない場合、リージョン別パッキング処理部は省略できる。リージョン別パッキング処理部は、必要な場合、メタデータ処理部からリージョン別パッキンに必要なメタデータを受け取ってリージョン別パッキン作業に利用できる。リージョン別パッキング処理部は、リージョン別パッキング過程で発生したメタデータをメタデータ処理部に伝達できる。リージョン別パッキング処理部のメタデータには、各リージョンの回転程度、サイズなどがありうる。
【０６２５】
前述したステッチャ、プロジェクション処理部および／またはリージョン別パッキング処理部は、実施形態によって、一つのハードウェアコンポーネントで行われることもできる。
【０６２６】
メタデータ処理部は、キャプチャ過程、ステッチング過程、プロジェクション過程、リージョン別パッキング過程、エンコード過程、カプセル化過程および／または転送のための処理過程で発生し得るメタデータを処理できる。メタデータ処理部は、このようなメタデータを利用して３６０度ビデオ関連メタデータを生成できる。実施形態によって、メタデータ処理部は、３６０度ビデオ関連メタデータをシグナリングテーブルの形態で生成することができる。シグナリングコンテキストによって、３６０度ビデオ関連メタデータは、メタデータまたは３６０度ビデオ関連シグナリング情報と呼ばれることもできる。また、メタデータ処理部は、獲得または生成したメタデータを、必要によって第１デジタル装置の内部エレメントに伝達できる。メタデータ処理部は、３６０度ビデオ関連メタデータが受信側に転送されうるように、データエンコーダ、カプセル化処理部および／または転送処理部に伝達できる。
【０６２７】
データエンコーダは、２Ｄイメージ上にプロジェクションされた３６０度ビデオデータおよび／またはリージョン別パッキングされた３６０度ビデオデータをエンコードできる。３６０度ビデオデータは、多様なフォーマットでエンコードされることができる。上記２Ｄイメージ上にプロジェクションされた３６０度ビデオデータおよび／またはリージョン別パッキングされた３６０度ビデオデータは、エンコード装置の入力である（２Ｄベース）入力ピクチャに該当できる。この場合、本文書の実施形態において提案した方法に基づいて、一つまたは一連の入力ピクチャがエンコードされて、ビットストリーム形態で出力されることができる。上記ビットストリームは、３６０度ビデオデータに含まれることができる。
【０６２８】
カプセル化処理部は、３６０度ビデオデータおよび／または３６０度ビデオ関連メタデータをファイルなどの形態でカプセル化できる。ここで３６０度ビデオ関連メタデータは、前述したメタデータ処理部から受け取ったものでありうる。カプセル化処理部は、該当データをＩＳＯＢＭＦＦ、ＣＦＦなどのファイルフォーマットでカプセル化するか、その他のＤＡＳＨセグメントなどの形態で処理できる。カプセル化処理部は、実施形態によって、３６０度ビデオ関連メタデータをファイルフォーマット上に含めることができる。３６０度ビデオ関連メタデータは、例えば、ＩＳＯＢＭＦＦファイルフォーマット上の多様なレベルのボックス（box）に含まれるか、またはファイル内で別のトラック内のデータとして含まれることができる。実施形態によって、カプセル化処理部は、３６０度ビデオ関連メタデータ自体をファイルでカプセル化できる。転送処理部は、ファイルフォーマットによってカプセル化された３６０度ビデオデータに転送のための処理を加えることができる。転送処理部は、任意の転送プロトコルに従って３６０度ビデオデータを処理できる。転送のための処理には、放送網を介した伝達のための処理、ブロードバンドを介した伝達のための処理を含むことができる。実施形態によって、転送処理部は、３６０度ビデオデータだけでなく、メタデータ処理部から３６０度ビデオ関連メタデータを受け取って、これに転送のための処理を加えることもできる。
【０６２９】
転送部は、転送処理された３６０度ビデオデータおよび／または３６０度ビデオ関連メタデータを放送網および／またはブロードバンドを介して転送できる。転送部は、放送網を介した転送のためのエレメントおよび／またはブロードバンドを介した転送のためのエレメントを含むことができる。
【０６３０】
本方法による第１デジタル装置の一実施形態によれば、第１デジタル装置は、データ記憶部（図示せず）を内／外部エレメントとしてさらに含むことができる。データ記憶部は、エンコードされた３６０度ビデオデータおよび／または３６０度ビデオ関連メタデータを転送処理部に伝達する前に記憶していることができる。このデータが記憶される形態は、ＩＳＯＢＭＦＦなどのファイル形態でありうる。リアルタイムで３６０度ビデオを転送する場合には、データ記憶部が要らないこともありうるが、オンデマンド、ＮＲＴ（Non Real Time）、ブロードバンドなどを介して伝達する場合には、カプセル化された３６０データがデータ記憶部に一定期間記憶されてから転送されることもできる。
【０６３１】
本方法による第１デジタル装置の他の実施形態によれば、第１デジタル装置は、（送信側）フィードバック処理部および／またはネットワークインターフェース（図示せず）を内／外部エレメントとしてさらに含むことができる。ネットワークインターフェースは、本方法による第２デジタル装置からフィードバック情報を受け取り、これを送信側フィードバック処理部に伝達できる。送信側フィードバック処理部は、フィードバック情報をステッチャ、プロジェクション処理部、リージョン別パッキング処理部、データエンコーダ、カプセル化処理部、メタデータ処理部および／または転送処理部に伝達できる。実施形態によって、フィードバック情報は、メタデータ処理部に一応伝達された後、再度各内部エレメントに伝達されることができる。フィードバック情報を受け取った内部エレメントは、以後の３６０度ビデオデータの処理にフィードバック情報を反映できる。
【０６３２】
本方法による第１デジタル装置のさらに他の実施形態によれば、リージョン別パッキング処理部は、各リージョンを回転して２Ｄイメージ上にマッピングできる。このとき、各リージョンは、互いに異なる方向、互いに異なる角度で回転されて２Ｄイメージ上にマッピングされることができる。リージョンの回転は、３６０度ビデオデータが球形の面上においてプロジェクション前に隣接した部分、ステッチングされた部分などを考慮して行われることができる。リージョンの回転に関する情報、すなわち回転方向、角度などは、３６０度ビデオ関連メタデータによりシグナリングされうる。本発明による第１デジタル装置のさらに他の実施形態によれば、データエンコーダは、各リージョン別に異なってエンコードを行うことができる。データエンコーダは、特定リージョンでは、高い品質（クォリティー）で、他のリージョンでは、低い品質でエンコードを行うことができる。送信側フィードバック処理部は、３６０度ビデオ受信装置から受け取ったフィードバック情報をデータエンコーダに伝達して、データエンコーダがリージョン別に異なった（差動化された）エンコード方法を使用するようにすることができる。例えば、送信側フィードバック処理部は、受信側から受け取ったビューポート情報をデータエンコーダに伝達できる。データエンコーダは、ビューポート情報が指示する領域を含むリージョンに対して、他のリージョンよりさらに高い品質（ＵＨＤなど）でエンコードを行うことができる。
【０６３３】
本方法による第１デジタル装置のさらに他の実施形態によれば、転送処理部は、各リージョン別に異なって、転送のための処理を行うことができる。転送処理部は、リージョン別に他の転送パラメータ（変調次数（モジュレーションオーダー）、符号化率（コードレート）など）を適用して、各リージョン別に伝達されるデータのロバスト（頑強）性（robustness）を異なるようにすることができる。
【０６３４】
このとき、送信側フィードバック処理部は、第２デジタル装置から受け取ったフィードバック情報を転送処理部に伝達して、転送処理部がリージョン別に異なる（差動化される）転送処理を行うようにすることができる。例えば、送信側フィードバック処理部は、受信側から受け取ったビューポート情報を転送処理部に伝達できる。転送処理部は、該当ビューポート情報が指示する領域を含むリージョンに対して、他のリージョンよりさらに高いロバスト性を有するように転送処理を行うことができる。
【０６３５】
前述した本方法による第１デジタル装置の内／外部エレメントは、ハードウェアにより具現されるハードウェアエレメントでありうる。実施形態によって、内／外部エレメントは、変更、省略されるか、または他のエレメントに代替、統合されることができる。実施形態によって、付加エレメントが第１デジタル装置に追加されることもできる。
【０６３６】
図２２は、本方法が適用されることができる第２デジタル装置の構成を概略的に説明する図である。上記第２デジタル装置は、ＶＲ／ＡＲコンテンツなどの３次元映像／ビデオサービス提供のための受信側に該当できる。上記第２デジタル装置は、本文書において詳説したデコード装置を含むことができる。上記デコード装置は、上記データデコーダに含まれるか、または対応できる。
【０６３７】
本方法による第２デジタル装置は、前述した処理過程および／またはレンダリング過程に関連する動作を行うことができる。第２デジタル装置は、受信部、受信処理部、デカプセル化（ディーキャプサレイション）処理部、データデコーダ、メタデータパーサ、（受信側）フィードバック処理部、再プロジェクション処理部および／またはレンダラを内／外部エレメントとして含むことができる。一方、シグナリングパーサは、メタデータパーサと呼ばれることができる。
【０６３８】
受信部は、本方法による第１デジタル装置が転送した３６０度ビデオデータを受信することができる。転送されるチャネルに応じて、受信部は、放送網を介して３６０度ビデオデータを受信することもでき、ブロードバンドなどの通信網を介して３６０度ビデオデータを受信することもできる。
【０６３９】
受信処理部は、受信した３６０度ビデオデータに対して転送プロトコルに応じる処理を行うことができる。転送側から転送のための処理が行われたことに対応するように、受信処理部は、前述した転送処理部の逆過程を行うことができる。受信処理部は、獲得した３６０度ビデオデータをデカプセル化処理部に伝達し、獲得した３６０度ビデオ関連メタデータをメタデータパーサに伝達できる。受信処理部が獲得する３６０度ビデオ関連メタデータは、シグナリングテーブルの形態でありうる。
【０６４０】
デカプセル化処理部は、受信処理部から受け取ったファイル形態の３６０度ビデオデータをデカプセル化できる。デカプセル化処理部は、ＩＳＯＢＭＦＦなどに応じるファイルをデカプセル化して、３６０度ビデオデータまたは３６０度ビデオ関連メタデータを獲得できる。獲得された３６０度ビデオデータは、データデコーダに、獲得された３６０度ビデオ関連メタデータは、メタデータパーサに伝達できる。デカプセル化処理部が獲得する３６０度ビデオ関連メタデータは、ファイルフォーマット内のボックスまたはトラック形態でありうる。デカプセル化処理部は、必要な場合、メタデータパーサからデカプセル化に必要なメタデータを受け取ることもできる。
【０６４１】
データデコーダは、３６０度ビデオデータに対するデコードを行うことができる。データデコーダは、３６０度ビデオデータから映像／ビデオ関連ビットストリームを獲得し、上記ビットストリームをデコードして一つまたは一連の（２Ｄ）ピクチャをデコード／復元できる。
【０６４２】
データデコーダは、メタデータパーサからデコードに必要なメタデータを受け取ることもできる。データデコード過程で獲得された３６０度ビデオ関連メタデータは、メタデータパーサに伝達されることもできる。
【０６４３】
メタデータパーサは、３６０度ビデオ関連メタデータに対するパージング／デコードを行うことができる。メタデータパーサは、獲得したメタデータをデータデカプセル化処理部、データデコーダ、再プロジェクション処理部および／またはレンダラに伝達できる。
【０６４４】
再プロジェクション処理部は、３６０度ビデオデータに関するデコードされた／復元された２Ｄピクチャ（１つまたは複数）に対して再プロジェクションを行うことができる。再プロジェクション処理部は、２Ｄピクチャ（１つまたは複数）を３Ｄ空間に再プロジェクションできる。３Ｄ空間は、使用される３Ｄモデルに応じて異なる形態を有することができる。再プロジェクション処理部は、メタデータパーサから再プロジェクションに必要なメタデータを受け取ることもできる。例えば、再プロジェクション処理部は、使用される３Ｄモデルのタイプおよびその詳細情報に関する情報をメタデータパーサから受け取ることができる。実施形態によって、再プロジェクション処理部は、再プロジェクションに必要なメタデータを利用して、３Ｄ空間上の特定領域に該当する３６０度ビデオデータ（に対するデコードされた／復元されたピクチャの領域）だけを３Ｄ空間に再プロジェクションすることもできる。
【０６４５】
レンダラは、再プロジェクションされた３６０度ビデオ（または映像）をレンダリングできる。前述したように、３６０度ビデオが３Ｄ空間上にレンダリングされると表現することもできるので、このように二つの過程が一度に起きる場合、再プロジェクション処理部とレンダラとは統合されて、レンダラでこの過程が全部進行することができる。実施形態によって、レンダラは、ユーザの視点情報によって、ユーザが見ている部分だけをレンダリングすることもできる。
【０６４６】
ユーザは、ＶＲディスプレイなどを介してレンダリングされた３６０度ビデオの一部領域を見ることができる。ＶＲディスプレイは、３６０度ビデオを再生する装置として、第２デジタル装置に含まれることもでき（tethered）、別の装置として第２デジタル装置に接続されることもできる（un-tethered）。
【０６４７】
本方法による第２デジタル装置の一実施形態によれば、第２デジタル装置は、（受信側）フィードバック処理部および／またはネットワークインターフェース（図示せず）を内／外部エレメントとしてさらに含むことができる。受信側フィードバック処理部は、レンダラ、再プロジェクション処理部、データデコーダ、デカプセル化処理部および／またはＶＲディスプレイからフィードバック情報を獲得して処理できる。フィードバック情報は、ビューポート情報、ヘッドオリエンテーション情報、ゲイズ（Gaze）情報などを含むことができる。ネットワークインターフェースは、フィードバック情報を受信側フィードバック処理部から受け取り、これを第１デジタル装置に転送できる。
【０６４８】
前述したように、フィードバック情報は、送信側に伝達されることだけでなく、受信側で消費されることもできる。受信側フィードバック処理部は、獲得したフィードバック情報を第２デジタル装置の内部エレメントに伝達して、レンダリングなどの過程に反映されるようにすることができる。受信側フィードバック処理部は、フィードバック情報をレンダラ、再プロジェクション処理部、データデコーダおよび／またはデカプセル化処理部に伝達できる。例えば、レンダラは、フィードバック情報を活用してユーザが見ている領域を優先的にレンダリングできる。また、デカプセル化処理部、データデコーダなどは、ユーザが見ている領域もしくは見ることになる領域を優先的にデカプセル化、デコードできる。
【０６４９】
前述した本方法による第２デジタル装置の内／外部エレメントは、ハードウェアにより具現されるハードウェアエレメントでありうる。実施形態によって、内／外部エレメントは、変更、省略されるか、または他のエレメントに代替、統合されることができる。実施形態によって、付加エレメントが第２デジタル装置に追加されることができる。
【０６５０】
前述したＸＲ装置は、多様なセンサを介してまたは外部装置から獲得した３次元ポイントクラウドデータまたはイメージデータを分析して、３次元ポイントに対する位置データおよび属性データを生成することによって、周辺空間または現実客体に関する情報を獲得し、出力するＸＲ客体をレンダリングして出力できる。例えば、ＸＲ装置は、認識された物体に関する追加情報を含むＸＲ客体を該当の認識された物体に対応させて出力できる。
【０６５１】
ＸＲ装置は、ネットワークを介して自律走行車両を遠隔接続および／または遠隔調整することもできる。この場合、自律走行車両は、ＸＲ装置を使用するユーザと視界または画面を共有し、上記ユーザの制御／相互作用に基づいて駆動部を制御することによって、動作を行うか、または走行できる。このとき、自律走行車両は、ユーザの動作または音声発話に応じる相互作用の意図情報を獲得し、獲得した意図情報に基づいて応答を決定して動作を行うことができる。
【０６５２】
ＸＲ技術が適用された自律走行車両は、ＸＲ映像を提供する手段を備えた自律走行車両、またはＸＲ映像内における制御／相互作用の対象になる自律走行車両などを意味できる。特に、ＸＲ映像内における制御／相互作用の対象になる自律走行車両は、ＸＲ装置と区分され、互いに連動できる。
【０６５３】
ＸＲ映像を提供する手段を備えた自律走行車両は、カメラを含むセンサからセンサ情報を獲得し、獲得したセンサ情報に基づいて生成されたＸＲ映像を出力できる。例えば、自律走行車両は、ＨＵＤを具備してＸＲ映像を出力することによって、搭乗者に現実客体または画面中の客体に対応するＸＲ客体を提供できる。
【０６５４】
このとき、ＸＲ客体がＨＵＤに出力される場合には、ＸＲ客体の少なくとも一部が搭乗者の視線が向かう実際の客体にオーバーラップするように出力されることができる。反面、ＸＲ客体が自律走行車両の内部に備えられるディスプレイに出力される場合には、ＸＲ客体の少なくとも一部が画面中の客体にオーバーラップするように出力されることができる。例えば、自律走行車両は、車路、他車両、信号灯、交通表示板、二輪車、歩行者、建物などの客体と対応するＸＲ客体を出力できる。
【０６５５】
ＸＲ映像内における制御／相互作用の対象になる自律走行車両は、カメラを含むセンサからセンサ情報を獲得すると、自律走行車両またはＸＲ装置は、センサ情報に基づいたＸＲ映像を生成し、ＸＲ装置は、生成されたＸＲ映像を出力できる。そして、このような自律走行車両は、ＸＲ装置などの外部装置を介して入力される制御信号またはユーザの相互作用に基づいて動作できる。
【０６５６】
ＸＲ装置は、自律走行車両の内部に備えられてユーザに別のＸＲコンテンツを提供することもでき、または自律走行車両の内／外部の映像をユーザに提供することもできる。
【０６５７】
ＸＲ装置は、その他にもエンターテイメント、運動、教育、交通、医療、電子商取引、製造、国防など多様なサービスに使用されることができる。例えば、映画、テーマパーク、スポーツなどをＸＲ装置を介して体験および／または観覧でき、医療用実習、火災現場など、危険な環境における訓練などをサポートできる。また、ＸＲ装置を介して位置認識および地図生成（ＳＬＡＭ）技術を活用したＡＲウェイズ（AR Ways）など、道探しサービスを提供でき、また、仮想のショッピングモールに接続して物をショッピングし購買することもできる。
【図１】
2021518996.tif 000061
【図２】
2021518996.tif 000062
【図３】
2021518996.tif 000063
【図４】
2021518996.tif 000064
【図５】
2021518996.tif 000065
【図６】
2021518996.tif 000066
【図７】
2021518996.tif 000067
【図８】
2021518996.tif 000068
【図９】
2021518996.tif 000069
【図１０】
2021518996.tif 000070
【図１１】
2021518996.tif 000071
【図１２】
2021518996.tif 000072
【図１３】
2021518996.tif 000073
【図１４】
2021518996.tif 000074
【図１５】
2021518996.tif 000075
【図１６】
2021518996.tif 000076
【図１７】
2021518996.tif 000077
【図１８】
2021518996.tif 000078
【図１９】
2021518996.tif 000079
【図２０】
2021518996.tif 000080
【図２１】
2021518996.tif 000081
【図２２】
2021518996.tif 000082
【国際調査報告】
2021518996.tif 000083
2021518996.tif 000084
2021518996.tif 000085
2021518996.tif 000086