(57)【要約】  非ゼロ参照ラインを使用してマルチラインイントラ予測を制御する方法及び装置である。当該方法は、現在ブロックの第１隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップと、現在ブロックの第２隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップと、最確モードリストを生成するステップであって、当該最確モードリストに現在ブロックのイントラ予測の６つの候補モードが含まれるステップと、を含む。これらの６つの候補モードはすべて角度モードである。
2021520749.tif 000002
【特許請求の範囲】
【請求項１】
非ゼロ参照ラインを使用してマルチラインイントラ予測を制御するために、少なくとも１つのプロセッサが実行するビデオ復号化方法であって、
現在ブロックの第１隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップと、
前記現在ブロックの第２隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップと、
最確モードＭＰＭリストを生成するステップであって、前記ＭＰＭリストに前記現在ブロックのイントラ予測のための６つの候補モードが含まれるステップと、を含み、
前記６つの候補モードはすべて角度モードであり、
前記第１隣接ブロックのイントラ予測モードが角度モードであると決定した場合、前記ＭＰＭリストに前記第１隣接ブロックのイントラ予測モードが含まれ、前記第２隣接ブロックのイントラ予測モードが角度モードであると決定した場合、前記ＭＰＭリストに前記第２隣接ブロックのイントラ予測モードが含まれるビデオ復号化方法。
【請求項２】
前記ＭＰＭリストを生成する前記ステップは、前記第１隣接ブロックのイントラ予測モードが角度モードであると決定し、且つ前記第２隣接ブロックのイントラ予測モードが角度モードではないと決定した場合、以下の動作を実行するステップを含み、
前記ＭＰＭリストの第１候補モードを、前記第１隣接ブロックのイントラ予測モードに設定し、
前記ＭＰＭリストの第２候補モードを、前記第１隣接ブロックのイントラ予測モードの第１近隣角度モードに設定し、
前記ＭＰＭリストの第３候補モードを、前記第１隣接ブロックのイントラ予測モードの、前記第１近隣角度モードと異なる第２近隣角度モードに設定し、
前記ＭＰＭリストの第４候補モードを、前記第１隣接ブロックのイントラ予測モード以外の、前記第１近隣角度モードの近隣角度モードに設定し、
前記ＭＰＭリストの第５候補モードを、前記第１隣接ブロックのイントラ予測モード以外の、前記第２近隣角度モードの近隣角度モードに設定し、
前記ＭＰＭリストの第６候補モードを、前記第１近隣角度モード以外の、前記第４候補モードの近隣角度モードに設定するか、又は、前記第２近隣角度モード以外の、前記第５候補モードの近隣角度モードに設定する請求項１に記載のビデオ復号化方法。
【請求項３】
前記ＭＰＭリストのインデックスにおいて、前記最確候補モードの最低から最高までの順序は、前記第１候補モードから前記第６候補モードである請求項２に記載のビデオ復号化方法。
【請求項４】
前記ＭＰＭリストを生成する前記ステップは、前記第１隣接ブロックのイントラ予測モードが角度モードであると決定し、且つ前記第２隣接ブロックのイントラ予測モードが、前記第１隣接ブロックのイントラ予測モードに対する近隣角度モードであると決定した場合、以下の動作を実行するステップを含み、
前記ＭＰＭリストの第１候補モードを、前記第１隣接ブロックのイントラ予測モードに設定し、
前記ＭＰＭリストの第２候補モードを、前記第２隣接ブロックのイントラ予測モードに設定し、
前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとの間の角度モードの大小関係を決定し、ここで、小さい角度モードは、第１モードであり、大きい角度モードは、第２モードであり、
第１の場合には、前記第１モードが、コーデック標準においてシグナリングされる最小角度モードに等しく、前記第２モードが前記コーデック標準においてシグナリングされる最大角度モードに等しいことであり、前記コーデック標準は、前記非ゼロ参照ラインを使用してマルチラインイントラ予測を制御するために、前記少なくとも１つのプロセッサにより使用されるものであり、前記第１の場合、以下の動作を実行し、
前記ＭＰＭリストの第３候補モードを、前記第１モードと前記第２モードとの間にある値を有する、前記第２モードの第１近隣角度モードに設定し、
前記ＭＰＭリストの第４候補モードを、前記第１モードと前記第２モードとの間にある値を有する、前記第１モードの第１近隣角度モードに設定し、
前記ＭＰＭリストの第５候補モードを、前記第２モード以外の、前記第２モードの第１近隣角度モードの近隣角度モードに設定し、
前記ＭＰＭリストの第６候補モードを、前記第１モード以外の、前記第１モードの第１近隣角度モードの近隣角度モードに設定し、
前記第１の場合と異なる第２の場合、以下の動作を実行し、
前記ＭＰＭリストの第３候補モードを、前記第１モードと前記第２モードとの間にない値を有する、前記第１モードの第２近隣角度モードに設定し、
前記ＭＰＭリストの前記第４候補モードを、前記第１モードと前記第２モードとの間にない値を有する、前記第２モードの第２近隣角度モードに設定し、
前記ＭＰＭリストの前記第５候補モードを、前記第１モード以外の、前記第１モードの第２近隣角度モードの近隣角度モードに設定し、
前記ＭＰＭリストの前記第６候補モードを、前記第２モード以外の、前記第２モードの第２近隣角度モードの近隣角度モードに設定する請求項１に記載のビデオ復号化方法。
【請求項５】
前記ＭＰＭリストのインデックスにおいて、前記最確候補モードの最低から最高までの順序は、前記第１候補モードから前記第６候補モードである請求項４に記載のビデオ復号化方法。
【請求項６】
前記ＭＰＭリストを生成する前記ステップは、前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとが角度モードであると決定し、且つ前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとの差の絶対値が２より大きく、所定の閾値以下であり、前記所定の閾値が２より大きい正の整数である場合、以下の動作を実行するステップを含み、
前記ＭＰＭリストの第１候補モードを、前記第１隣接ブロックのイントラ予測モードに設定し、
前記ＭＰＭリストの第２候補モードを、前記第２隣接ブロックのイントラ予測モードに設定し、
前記ＭＰＭリストの第３候補モードを、前記第１隣接ブロックのイントラ予測モードの第１近隣角度モードに設定し、
前記ＭＰＭリストの第４候補モードを、前記第１隣接ブロックのイントラ予測モードの、前記第１近隣角度モードと異なる第２近隣角度モードに設定し、
前記ＭＰＭリストの第５候補モードを、前記第２隣接ブロックのイントラ予測モードの第１近隣角度モードに設定し、
前記ＭＰＭリストの第６候補モードを、前記第２隣接ブロックのイントラ予測モードの第２近隣角度モードに設定し、前記第２隣接ブロックのイントラ予測モードの前記第２近隣角度モードが、前記第２隣接ブロックのイントラ予測モードの前記第１近隣角度モードと異なる請求項１に記載のビデオ復号化方法。
【請求項７】
前記ＭＰＭリストのインデックスにおいて、前記最確候補モードの最低から最高までの順序は、前記第１候補モードから前記第６候補モードである請求項６に記載のビデオ復号化方法。
【請求項８】
さらに、
現在ブロックの第１隣接ブロックのイントラ予測モードが平面モード又は直流ＤＣモードであるかどうかを決定するステップと、
前記現在ブロックの第２隣接ブロックのイントラ予測モードが平面モード又はＤＣモードであるかどうかを決定するステップと、を含み、
前記ＭＰＭリストを生成する前記ステップは、前記第１隣接ブロックのイントラ予測モードが平面モード又はＤＣモードであると決定し、且つ前記第２隣接ブロックのイントラ予測モードが平面モード又はＤＣモードであると決定した場合、以下の動作の少なくとも１つを実行するステップを含み、
前記６つの候補モードをそれぞれ｛５０，１８，２，３４，６６，２６｝のうちの値に設定し、
前記６つの候補モードをそれぞれ｛５０，１８，２，３４，２６，４２｝のうちの値に設定し、
前記６つの候補モードは、多機能ビデオ符号化ＶＶＣのモードに対応する請求項１に記載のビデオ復号化方法。
【請求項９】
前記ＭＰＭリストのインデックスにおいて、前記最確候補モードの最低から最高までの順序は、｛５０，１８，２，３４，６６，２６｝の順序、又は｛５０，１８，２，３４，２６，４２｝の順序である請求項８に記載のビデオ復号化方法。
【請求項１０】
前記ＭＰＭリストを生成する前記ステップは、前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとが角度モードであると決定する場合、以下の動作を実行するステップを含み、
前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとを前記ＭＰＭリストに追加し、
以前に前記ＭＰＭリストに追加されていない、前記第１隣接ブロックと前記第２隣接ブロックとの各近隣角度モードを前記ＭＰＭリストに追加し、
前記第１隣接ブロックと前記第２隣接ブロックとの各近隣角度モードを前記ＭＰＭリストに追加した後、前記ＭＰＭリストが完全に満たされていない場合、前記ＭＰＭリストが完全に満たされるまで、前記ＭＰＭリストに含まれるモードの、以前に前記ＭＰＭリストに追加されていない近隣角度モードを前記ＭＰＭリストに追加する請求項１に記載のビデオ復号化方法。
【請求項１１】
非ゼロ参照ラインを使用してマルチラインイントラ予測を制御することで、ビデオシーケンスを復号化する装置であって、
コンピュータプログラムコードを記憶するように配置される少なくとも１つのメモリと、
前記少なくとも１つのメモリにアクセスし、前記コンピュータプログラムコードに基づき動作するように配置される少なくとも１つのプロセッサと、を含み、
前記コンピュータプログラムコードは、
前記少なくとも１つのプロセッサに、現在ブロックの第１隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定させるように配置される第１決定コードと、    
前記少なくとも１つのプロセッサに、前記現在ブロックの第２隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定させるように配置される第２決定コードと、
前記少なくとも１つのプロセッサに、最確モードＭＰＭリストを生成させるように配置される生成コードであって、前記ＭＰＭリストに前記現在ブロックのイントラ予測のための６つの候補モードが含まれる生成コードと、を含み、
前記６つの候補モードはすべて角度モードであり、
前記生成コードは、前記第１隣接ブロックのイントラ予測モードが角度モードであると決定した場合、前記ＭＰＭリストに前記第１隣接ブロックのイントラ予測モードが含まれ、前記第２隣接ブロックのイントラ予測モードが角度モードであると決定した場合、前記ＭＰＭリストに前記第２隣接ブロックのイントラ予測モードが含まれるように、前記ＭＰＭリストを前記少なくとも１つのプロセッサに生成させるように配置される装置。
【請求項１２】
前記生成コードは、前記第１隣接ブロックのイントラ予測モードが角度モードであると決定し、且つ前記第２隣接ブロックのイントラ予測モードが角度モードではないと決定した場合、以下の動作を前記少なくとも１つのプロセッサに実行させるように配置され、
前記ＭＰＭリストの第１候補モードを、前記第１隣接ブロックのイントラ予測モードに設定し、
前記ＭＰＭリストの第２候補モードを、前記第１隣接ブロックのイントラ予測モードの第１近隣角度モードに設定し、
前記ＭＰＭリストの第３候補モードを、前記第１隣接ブロックのイントラ予測モードの、前記第１近隣角度モードと異なる第２近隣角度モードに設定し、
前記ＭＰＭリストの第４候補モードを、前記第１隣接ブロックのイントラ予測モード以外の、前記第１近隣角度モードの近隣角度モードに設定し、
前記ＭＰＭリストの第５候補モードを、前記第１隣接ブロックのイントラ予測モード以外の、前記第２近隣角度モードの近隣角度モードに設定し、
前記ＭＰＭリストの第６候補モードを、前記第１近隣角度モード以外の、前記第４候補モードの近隣角度モードに設定するか、又は、前記第２近隣角度モード以外の、前記第５候補モードの近隣角度モードに設定する請求項１１に記載の装置。
【請求項１３】
前記生成コードは、前記ＭＰＭリストのインデックスにおいて、前記最確候補モードの最低から最高までの順序が、前記第１候補モードから前記第６候補モードであるように、前記ＭＰＭリストを前記少なくとも１つのプロセッサに生成させるように配置される請求項１２に記載の装置。
【請求項１４】
前記生成コードは、前記第１隣接ブロックのイントラ予測モードが角度モードであると決定し、且つ前記第２隣接ブロックのイントラ予測モードが、前記第１隣接ブロックのイントラ予測モードに対する近隣角度モードであると決定した場合、以下の動作を前記少なくとも１つのプロセッサに実行させるように配置され、
前記ＭＰＭリストの第１候補モードを、前記第１隣接ブロックのイントラ予測モードに設定し、
前記ＭＰＭリストの第２候補モードを、前記第２隣接ブロックのイントラ予測モードに設定し、
前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとの間の角度モードの大小関係を決定し、ここで、小さい角度モードは、第１モードであり、大きい角度モードは、第２モードであり、
第１の場合には、前記第１モードがコーデック標準において、シグナリングされる最小角度モードに等しく、前記第２モードが前記コーデック標準においてシグナリングされる最大角度モードに等しいことであり、前記コーデック標準が、前記非ゼロ参照ラインを使用してマルチラインイントラ予測を制御するために、前記少なくとも１つのプロセッサにより使用されるものであり、前記第１の場合、以下の動作を実行させ、
前記ＭＰＭリストの第３候補モードを、前記第１モードと前記第２モードとの間にある値を有する、前記第２モードの第１近隣角度モードに設定し、
前記ＭＰＭリストの第４候補モードを、前記第１モードと前記第２モードとの間にある値を有する、前記第１モードの第１近隣角度モードに設定し、
前記ＭＰＭリストの第５候補モードを、前記第２モード以外の、前記第２モードの第１近隣角度モードの近隣角度モードに設定し、
前記ＭＰＭリストの第６候補モードを、前記第１モード以外の、前記第１モードの第１近隣角度モードの近隣角度モードに設定し、
前記第１の場合と異なる第２の場合、以下の動作を実行させ、
前記ＭＰＭリストの第３候補モードを、前記第１モードと前記第２モードとの間にない値を有する、前記第１モードの第２近隣角度モードに設定し、
前記ＭＰＭリストの前記第４候補モードを、前記第１モードと前記第２モードとの間にない値を有する、前記第２モードの第２近隣角度モードに設定し、
前記ＭＰＭリストの前記第５候補モードを、前記第１モード以外の、前記第１モードの第２近隣角度モードの近隣角度モードに設定し、
前記ＭＰＭリストの前記第６候補モードを、前記第２モード以外の、前記第２モードの第２近隣角度モードの近隣角度モードに設定する請求項１１に記載の装置。
【請求項１５】
前記生成コードは、前記ＭＰＭリストのインデックスにおいて、前記最確候補モードの最低から最高までの順序が、前記第１候補モードから前記第６候補モードであるように、前記ＭＰＭリストを前記少なくとも１つのプロセッサに生成させるように配置される請求項１４に記載の装置。
【請求項１６】
前記生成コードは、前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとが角度モードであると決定し、且つ前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとの差の絶対値が２より大きく、所定の閾値以下であり、前記所定の閾値が２より大きい正の整数である場合、以下の動作を前記少なくとも１つのプロセッサに実行させるように配置され、
前記ＭＰＭリストの第１候補モードを、前記第１隣接ブロックのイントラ予測モードに設定し、
前記ＭＰＭリストの第２候補モードを、前記第２隣接ブロックのイントラ予測モードに設定し、
前記ＭＰＭリストの第３候補モードを、前記第１隣接ブロックのイントラ予測モードの第１近隣角度モードに設定し、
前記ＭＰＭリストの第４候補モードを、前記第１隣接ブロックのイントラ予測モードの、前記第１近隣角度モードと異なる第２近隣角度モードに設定し、
前記ＭＰＭリストの第５候補モードを、前記第２隣接ブロックのイントラ予測モードの第１近隣角度モードに設定し、
前記ＭＰＭリストの第６候補モードを、前記第２隣接ブロックのイントラ予測モードの第２近隣角度モードに設定し、前記第２隣接ブロックのイントラ予測モードの前記第２近隣角度モードが、前記第２隣接ブロックのイントラ予測モードの前記第１近隣角度モードと異なる請求項１１に記載の装置。
【請求項１７】
前記生成コードは、前記ＭＰＭリストのインデックスにおいて、前記最確候補モードの最低から最高までの順序が、前記第１候補モードから前記第６候補モードであるように、前記ＭＰＭリストを前記少なくとも１つのプロセッサに生成させるように配置される請求項１６に記載の装置。
【請求項１８】
前記コンピュータプログラムコードはさらに、
前記少なくとも１つのプロセッサに、現在ブロックの第１隣接ブロックのイントラ予測モードが平面モード又はＤＣモードであるかどうかを決定させるように配置される第３決定コードと、
前記少なくとも１つのプロセッサに、前記現在ブロックの第２隣接ブロックのイントラ予測モードが平面モード又はＤＣモードであるかどうかを決定させるように配置される第４決定コードと、を含み、
前記生成コードは、前記第１隣接ブロックのイントラ予測モードが平面モード又はＤＣモードであると決定し、且つ前記第２隣接ブロックのイントラ予測モードが平面モード又はＤＣモードであると決定した場合、以下の動作の少なくとも１つを前記少なくとも１つのプロセッサに実行させるように配置され、
前記６つの候補モードを、それぞれ｛５０，１８，２，３４，６６，２６｝のうちの値に設定し、
前記６つの候補モードを、それぞれ｛５０，１８，２，３４，２６，４２｝のうちの値に設定し、
前記６つの候補モードは、多機能ビデオ符号化ＶＶＣのモードに対応する請求項１１に記載の装置。
【請求項１９】
前記生成コードは、前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとが角度モードであると決定した場合、以下の動作を前記少なくとも１つのプロセッサに実行させるように配置され、
前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとを前記ＭＰＭリストに追加し、
以前に前記ＭＰＭリストに追加されていない、前記第１隣接ブロックと前記第２隣接ブロックとの各近隣角度モードを、前記ＭＰＭリストに追加し、
前記第１隣接ブロックと前記第２隣接ブロックとの各近隣角度モードを前記ＭＰＭリストに追加した後、前記ＭＰＭリストが完全に満たされていない場合、前記ＭＰＭリストが完全に満たされるまで、前記ＭＰＭリストに含まれるモードの、以前に前記ＭＰＭリストに追加されていない近隣角度モードを前記ＭＰＭリストに追加する請求項１１に記載の装置。
【請求項２０】
請求項１乃至１１のいずれか１項に記載の方法をコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１８年９月１４日にて提出された米国仮出願第６２／７３１，７７６号、及び２０１８年１２月２８日にて提出された米国出願第１６／２３４，９９３号の優先権を主張し、上記の出願の開示は、その全体が援用により本明細書に組み込まれる。
【０００２】
本開示は１組の高度なビデオ符号化技術に関する。
より特に、マルチラインイントラ予測に対するＭＰＭリスト生成スキームに関する。
【背景技術】
【０００３】
図５は高効率ビデオ符号化（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ、ＨＥＶＣ）で利用されるイントラ予測モードを示す。ＨＥＶＣには、合計３５個のイントラ予測モードがあり、モード１０は水平モード（５０１）であり、モード２６は垂直モード（５０２）であり、モード２、モード１８及びモード３４は対角モード（５０３）である。イントラ予測モードは、３つの最確モード（ｍｏｓｔ  ｐｒｏｂａｂｌｅ  ｍｏｄｅ、ＭＰＭ）と残りの３２個のモードによってシグナリングされる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
イントラモードを符号化するために、隣接ブロックのイントラモードに基づいて、サイズが３である最確モード（ＭＰＭ）リストを構築する。当該ＭＰＭリストは、ＭＰＭリスト又はプライマリＭＰＭリストと呼ばれる。イントラモードがＭＰＭリストからのものではない場合、イントラモードが選択されたモードに属するかどうかを指示するように、フラグをシグナリングする。
【０００５】
ＭＰＭリストの生成プロセスを以下に示す。ここで、ｌｅｆｔＩｎｔｒａＤｉｒは、左側ブロックにおけるモードを指示し、ａｂｏｖｅＩｎｔｒａＤｉｒは上側ブロックにおけるモードを指示する。左側ブロックと上側ブロックが現在利用できない場合、ｌｅｆｔＩｎｔｒａＤｉｒ又はａｂｏｖｅＩｎｔｒａＤｉｒをインデックスＤＣ_ＩＤＸに設定する。また、変数「ｏｆｆｓｅｔ」と「ｍｏｄ」は定数値であり、それぞれ２９と３２に設定される。
・Ｉｆ（ｌｅｆｔＩｎｔｒａＤｉｒ＝＝ａｂｏｖｅＩｎｔｒａＤｉｒ＆＆ｌｅｆｔＩｎｔｒａＤｉｒ＞ＤＣ_ＩＤＸ）
○ＭＰＭ［０］＝ｌｅｆｔＩｎｔｒａＤｉｒ；
○ＭＰＭ［１］＝（（ｌｅｆｔＩｎｔｒａＤｉｒ＋ｏｆｆｓｅｔ）％ｍｏｄ）＋２；
○ＭＰＭ［２］＝（（ｌｅｆｔＩｎｔｒａＤｉｒ−１）％ｍｏｄ）＋２；
・Ｅｌｓｅ  ｉｆ（ｌｅｆｔＩｎｔｒａＤｉｒ＝＝ａｂｏｖｅＩｎｔｒａＤｉｒ）
○ＭＰＭ［０］＝ＰＬＡＮＡＲ_ＩＤＸ；
○ＭＰＭ［１］＝ＤＣ_ＩＤＸ；
○ＭＰＭ［２］＝ＶＥＲ_ＩＤＸ；
・Ｅｌｓｅ ｉｆ（ｌｅｆｔＩｎｔｒａＤｉｒ!＝ａｂｏｖｅＩｎｔｒａＤｉｒ）
○ＭＰＭ［０］＝ｌｅｆｔＩｎｔｒａＤｉｒ；
○ＭＰＭ［１］＝ａｂｏｖｅＩｎｔｒａＤｉｒ；
○Ｉｆ（ｌｅｆｔＩｎｔｒａＤｉｒ＞０＆＆ａｂｏｖｅＩｎｔｒａＤｉｒ＞０）
■ＭＰＭ［２］＝ＰＬＡＮＡＲ_ＩＤＸ；
○Ｅｌｓｅ
■ＭＰＭ［２］＝（ｌｅｆｔＩｎｔｒａＤｉｒ＋ａｂｏｖｅＩｎｔｒａＤｉｒ）＜２？ＶＥＲ_ＩＤＸ：ＤＣ_ＩＤＸ；
【課題を解決するための手段】
【０００６】
少なくとも１つの実施形態によれば、非ゼロ参照ラインを使用してマルチラインイントラ予測を制御するために、少なくとも１つのプロセッサによって実行されるビデオ復号化方法であって、現在ブロックの第１隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップを含む。当該方法はさらに、現在ブロックの第２隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップを含んでもよい。当該方法はさらに、ＭＰＭリストを生成するステップを含んでもよく、当該ＭＰＭリストに現在ブロックのイントラ予測のための６つの候補モードが含まれ、当該６つの候補モードはすべて角度モードである。第１隣接ブロックのイントラ予測モードが角度モードであると決定した場合、第１隣接ブロックのイントラ予測モードを含み、第２隣接ブロックのイントラ予測モードが角度モードであると決定した場合、第２隣接ブロックのイントラ予測モードを含むように、ＭＰＭリストを生成してもよい。
【０００７】
少なくとも１つの実施形態によれば、非ゼロ参照ラインを使用してマルチラインイントラ予測を制御することで、ビデオシーケンスを復号化するための装置を提供する。当該装置は、コンピュータプログラムコードを記憶するように配置される少なくとも１つのメモリと、前記少なくとも１つのメモリにアクセスし、コンピュータプログラムコードに基づき動作するように配置される少なくとも１つのプロセッサとを含んでもよい。コンピュータプログラムコードは、前記少なくとも１つのプロセッサに現在ブロックの第１隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定させるように配置される第１決定コードを含んでもよい。当該コンピュータプログラムコードはさらに、前記少なくとも１つのプロセッサに現在ブロックの第２隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定させるように配置される第２決定コードを含んでもよい。当該コンピュータプログラムコードはさらに、前記少なくとも１つのプロセッサにＭＰＭリストを生成させるように配置される生成コードを含んでもよく、当該ＭＰＭリストに現在ブロックのイントラ予測のための６つの候補モードが含まれ、当該６つの候補モードはすべて角度モードである。当該生成コードはさらに、第１隣接ブロックのイントラ予測モードが角度モードであると決定した場合、当該ＭＰＭリストに第１隣接ブロックのイントラ予測モードが含まれ、第２隣接ブロックのイントラ予測モードが角度モードであると決定した場合、当該ＭＰＭリストに第２隣接ブロックのイントラ予測モードが含まれるように、ＭＰＭリストを前記少なくとも１つのプロセッサに生成させるように配置される。
【０００８】
少なくとも１つの実施形態によれば、命令を記憶する非一時的なコンピュータ可読記憶媒体であって、前記命令は少なくとも１つのプロセッサに、現在ブロックの第１隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定させてもよい。前記命令はさらに、前記少なくとも１つのプロセッサに、現在ブロックの第２隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定させてもよい。前記命令はさらに、前記少なくとも１つのプロセッサにＭＰＭリストを生成させてもよく、当該ＭＰＭリストに現在ブロックのイントラ予測のための６つの候補モードが含まれ、当該６つの候補モードはすべて角度モードである。前記命令は、第１隣接ブロックのイントラ予測モードが角度モードであると決定した場合、当該ＭＰＭリストに第１隣接ブロックのイントラ予測モードが含まれ、第２隣接ブロックのイントラ予測モードが角度モードであると決定した場合、当該ＭＰＭリストに第２隣接ブロックのイントラ予測モードが含まれるように、少なくとも１つのプロセッサにＭＰＭリストを生成させてもよい。
【図面の簡単な説明】
【０００９】
開示される主題の他の特徴、特性及び様々な利点は、以下の詳しい説明及び添付の図面からより明確になる。図面において、
【図１】一実施形態による通信システムの簡略ブロック図の概略図である。
【図２】一実施形態によるストリーミングシステムの簡略ブロック図の概略図である。
【図３】一実施形態によるビデオ復号器及びディスプレイの簡略ブロック図の概略図である。
【図４】一実施形態によるビデオ符号器及びビデオソースの簡略ブロック図の概略図である。
【図５】ＨＥＶＣにおけるイントラ予測モードの図である。
【図６】多用途ビデオ符号化（Ｖｅｒｓａｔｉｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ、ＶＶＣ）のドラフト２におけるイントラ予測モードの図である。
【図７】マルチラインイントラ予測のための参照ラインの例を示す図である。
【図８】現在ブロックに対する上側ブロックと左側ブロックの例を示す図である。
【図９】実施形態を実現するためのコンピュータシステムの図である。
【発明を実施するための形態】
【００１０】
図１は、本開示の実施形態による通信システム（１００）の簡略ブロック図を示す。システム（１００）は、ネットワーク（１５０）を介して互いに接続される少なくとも２つの端末（１１０〜１２０）を含んでもよい。一方向データ伝送の場合、第１端末（１１０）は、ローカル位置でビデオデータを符号化して、ネットワーク（１５０）を介して他の端末（１２０）に伝送することができる。第２端末（１２０）はネットワーク（１５０）から他の端末の符号化されたビデオデータを受信して、当該符号化されたデータを復号化するとともに、復元されたビデオデータを表示することができる。一方向データ伝送は、メディアサービスアプリケーションなどでは一般的である。
【００１１】
図１は、例えば、ビデオ会議期間に発生する可能性がある符号化されたビデオの双方向伝送をサポートするために提供される第２対の端末（１３０、１４０）を示す。双方向データ伝送の場合、各端末（１３０、１４０）はローカル位置でキャプチャされたビデオデータを符号化して、ネットワーク（１５０）を介して他の端末に伝送することができる。各端末（１３０、１４０）はさらに、他方の端末によって伝送された符号化されたビデオデータを受信して、当該符号化されたデータを復号化し、復元されたビデオデータをローカルの表示装置に表示することができる。
【００１２】
図１において、端末（１１０〜１４０）は、例えば、サーバ、パーソナルコンピュータ、スマートフォン及び／又は任意の他のタイプの端末であってもよい。例えば、端末（１１０〜１４０）は、ラップトップコンピュータ、タブレット、メディアプレイヤー及び／又は専用のビデオ会議機器であってもよい。ネットワーク（１５０）は、端末（１１０〜１４０）の間で符号化されたビデオデータを伝送するための任意の数のネットワークを示し、例えば、有線及び／又は無線通信ネットワークを含む。通信ネットワーク（１５０）は、回線交換及び／又はパケット交換チャネルにおいて、データを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び／又はインターネットを含む。本出願の検討の目的から見ると、ネットワーク（１５０）のアーキテクチャ及びトポロジは、以下に本明細書で説明されない限り、本開示の動作にとって重要ではない。
【００１３】
開示された主題の適用例として、図２は、ストリーミング環境におけるビデオ符号器と復号器の配置方式を示す。開示された主題は、例えば、ビデオ会議、ディジタルＴＶ、圧縮ビデオのＣＤ、ＤＶＤ、メモリスティックなどのデジタル媒体への記憶などを含む、ビデオをサポートする他のアプリケーションとともに利用されることができる。
【００１４】
図２に示すように、ストリーミングシステム（２００）は、キャプチャサブシステム（２１３）を含むことができ、当該キャプチャサブシステムは、ビデオソース（２０１）と符号器（２０３）を含む。ストリーミングシステム（２００）はさらに、少なくとも１つのストリーミングサーバ（２０５）及び／又は少なくとも１つのストリーミングクライアント（２０６）を含んでもよい。
【００１５】
ビデオソース（２０１）は、例えば圧縮されていないビデオサンプルストリーム（２０２）を作成することができる。サンプルストリーム（２０２）は、符号化されたビデオビットストリームと比較して、データ量が多いことを強調するために太線として描画され、当該サンプルストリーム（２０２）は、カメラ（２０１）に接続される符号器（２０３）によって処理されることができる。符号器（２０３）は、以下でより詳しく説明される開示される主題の各態様を実現又は実施するために、ハードウェア、ソフトウェア又はそれらの組み合わせを含むことができる。符号器（２０３）は、符号化されたビデオビットストリーム（２０４）を生成してもよい。符号化されたビデオビットストリーム（２０４）は、圧縮されていないビデオサンプルストリーム（２０２）と比較して、データ量が少ないことを強調するために、細い線として描画され、将来の使用のためにストリーミングサーバ（２０５）に記憶されてもよい。１つ又は複数のストリーミングクライアント（２０６）は、ストリーミングサーバ（２０５）にアクセスして、符号化されたビデオビットストリーム（２０４）のコピーとしてのビデオビットストリーム（２０９）を検索することができる。
【００１６】
ストリーミングクライアント（２０６）は、ビデオ復号器（２１０）とディスプレイ（２１２）を含むことができる。ビデオ復号器（２１０）は、例えば、符号化されたビデオビットストリーム（２０４）の到来するコピーとしてのビデオビットストリーム（２０９）を復号化するとともに、ディスプレイ（２１２）又は別のレンダリングデバイス（図示せず）でレンダリングされ得る発信ビデオサンプルストリーム（２１１）を作成することができる。いくつかのストリーミングシステムにおいて、特定のビデオ符号化／圧縮規格に従って、ビデオビットストリーム（２０４、２０９）を符号化することができる。これらの規格の例は、ＩＴＵ−Ｔ  Ｈ．２６５勧告書を含むが、これに限定されていない。非公式的に多用途ビデオ符号化（Ｖｅｒｓａｔｉｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ、ＶＶＣ）と呼ばれるビデオ符号化規格は開発中である。本開示の実施形態はＶＶＣのコンテキストで使用され得る。
【００１７】
図３は、本開示の実施形態による、ディスプレイ（２１２）に接続されるビデオ復号器（２１０）の例示的な機能ブロック図を示す。
【００１８】
ビデオ復号器（２１０）は、チャネル（３１２）、受信機（３１０）、バッファメモリ（３１５）、エントロピー復号器／パーサー（３２０）、スケーラ／逆変換ユニット（３５１）、イントラ予測ユニット（３５２）、動き補償予測ユニット（３５３）、アグリゲーター（３５５）、ループフィルタユニット（３５６）、参照ピクチャメモリ（３５７）、及び現在ピクチャメモリ（３５８）を含んでもよい。少なくとも１つの実施形態において、ビデオ復号器（２１０）は、集積回路、一連の集積回路及び／又は他の電子回路を含んでもよい。ビデオ復号器（２１０）はさらに、部分的又は全体的に、関連するメモリを備えた１つ又は複数のＣＰＵ上で実行されるソフトウェアで実現される。
【００１９】
この実施形態及び他の実施形態において、受信機（３１０）は、復号器（２１０）によって復号化される１つ又は複数の符号化されたビデオシーケンスを受信することができ、一度に１つの符号化されたビデオシーケンスを受信し、各符号化されたビデオシーケンスの復号化は、他の符号化されたビデオシーケンスの復号化から独立している。チャネル（３１２）から符号化されたビデオシーケンスを受信することができ、当該チャネルは、符号化されたビデオデータを記憶するための記憶装置へのハードウェア／ソフトウェアリンクである。受信機（３１０）は、符号化されたビデオデータ及び他のデータ、例えば、それぞれの使用エンティティ（図示せず）に転送され得る符号化されたオーディオデータ及び／又は補助データストリームを受信することができる。受信機（３１０）は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対処するために、バッファメモリ（３１５）は、受信機（３１０）とエントロピー復号器／パーサー（３２０）（以降、「パーサー」と呼ばれる）との間に結合され得る。受信機（３１０）が、十分な帯域幅及び制御可能性を有する記憶／転送装置、又は等時性リアルタイムネットワークからデータを受信するとき、バッファ（３１５）は、使用されないか、又は、小さくなり得る。インターネットなどのパケットネットワークをなるべく利用するために、バッファ（３１５）を必要とする場合があり、当該バッファ（３１５）は比較的大きく、かつ、自己適応サイズを有してもよい。
【００２０】
ビデオ復号器（２１０）は、エントロピー符号化されたビデオシーケンスに基づき、シンボル（３２１）を再構築するためのパーサー（３２０）を含み得る。これらのシンボルのカテゴリには、例えばビデオ復号器（２１０）の動作を管理するための情報、及び、図２に示すように復号器に結合され得るディスプレイ（２１２）などのレンダリングデバイスを制御するための情報が含まれる。レンダリングデバイスのための制御情報は、補助拡張情報（Ｓｕｐｐｌｅｍｅｎｔａｒｙ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ、ＳＥＩメッセージ）、又はビデオユーザビリティ情報（Ｖｉｄｅｏ  Ｕｓａｂｉｌｉｔｙ  Ｉｎｆｏｒｍａｔｉｏｎ、ＶＵＩ）パラメータセットフラグメント（図示せず）という形式であってもよい。パーサー（３２０）は、受信された符号化されたビデオシーケンスを解析／エントロピー復号化する。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術又は規格に準拠することができ、可変長符号化、ハフマン符号化（Ｈｕｆｆｍａｎ  ｃｏｄｉｎｇ）、文脈依存の有無にかかわらず算術符号化などを含む、当業者に周知の原理に従うことができる。パーサー（３２０）は、グループに対応する少なくとも１つのパラメータに基づき、ビデオ復号器における画素サブグループのうちの少なくとも１つのためのサブグループパラメータセットを符号化されたビデオシーケンスから抽出する。サブグループは、ピクチャグループ（ＧＯＰ）、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット（Ｃｏｄｉｎｇ  Ｕｎｉｔ、ＣＵ）、ブロック、変換ユニット（Ｔｒａｎｓｆｏｒｍ
Ｕｎｉｔ、ＴＵ）、予測ユニット（Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔ、ＰＵ）などを含んでもよい。パーサー（３２０）はさらに、変換係数、量子化器パラメータ値、動きベクトルなどのような情報を、符号化されたビデオシーケンスから抽出することができる。
【００２１】
パーサー（３２０）は、バッファ（３１５）から受信されたビデオシーケンスに対してエントロピー復号化／解析操作を実行することで、シンボル（３２１）を作成することができる。
【００２２】
シンボル（３２１）の再構築は、符号化されたビデオピクチャ又はその一部のタイプ（例えば、インターピクチャとイントラピクチャ、インターブロックとイントラブロック）、及び他の要因によって、複数の異なるユニットに関与することができる。関与するユニット、及び関与形態は、符号化されたビデオシーケンスからパーサー（３２０）によって解析されたサブグループ制御情報によって制御されることができる。簡潔のために、パーサー（３２０）と以下の複数のユニットとの間にある、このようなサブグループ制御情報の流れは図示されていない。
【００２３】
言及された機能ブロックに加えて、復号器（２１０）は概念的には、以下に説明するいくつかの機能ユニットに細分され得る。商業的な制約の下で動作する実際の実現方法では、これらのユニットのうち複数のユニットは互いに密接にインタラクションするとともに、少なくとも部分的に互いに集積され得る。ただし、開示された主題を説明する目的のために、概念的には、以下の機能ユニットに細分されることは、適切である。
【００２４】
１つのユニットはスケーラ／逆変換ユニット（３５１）であってもよい。スケーラ／逆変換ユニット（３５１）は、量子化変換係数及び制御情報をパーサー（３２０）からシンボル（３２１）として受信することができ、使用する変換方法、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む。スケーラ／逆変換ユニット（３５１）は、アグリゲーター（３５５）に入力され得るサンプル値を含むブロックを出力することができる。
【００２５】
いくつかの場合、スケーラ／逆変ユニット（３５１）の出力サンプルは、イントラ符号化ブロックに、即ち、以前に再構築されたピクチャからの予測情報を利用していないが、現在ピクチャの以前に再構築された部分からの予測情報を利用できるブロックに属することができる。このような予測情報は、イントラピクチャ予測ユニット（３５２）によって提供されることができる。いくつかの場合、イントラピクチャ予測ユニット（３５２）は、現在ピクチャメモリ（３５８）からの現在の（部分的に再構築された）ピクチャから取得された、周囲が既に再構築された情報を利用して、再構築中のブロックと同じサイズと形状のブロックを生成する。いくつかの場合、アグリゲーター３５５は、サンプルごとに、イントラ予測ユニット３５２によって生成された予測情報を、スケーラ／逆変換ユニット３５１によって提供された出力サンプル情報に追加する。
【００２６】
他の場合、スケーラ／逆変換ユニット（３５１）の出力サンプルは、既にインター符号化された、場合によって動き補償されたブロックに属する可能性がある。このような場合で、動き補償予測ユニット（３５３）は、参照ピクチャメモリ（３５７）にアクセスして、予測に使用されるサンプルを取得する。ブロックに属するシンボル３２１に基づき、取得したサンプルを動き補償した後、これらのサンプルは、アグリゲーター３５５によって、スケーラ／逆変換ユニット３５１の出力に追加されて（この場合、残差サンプル又は残差信号と呼ばれる）、出力サンプル情報を生成することができる。動き補償予測ユニット（３５３）が予測サンプルを取得する参照ピクチャメモリ（３５７）内のアドレスは、動きベクトルによって制御されることができる。動きベクトルは、シンボル（３２１）の形で、動き補償予測ユニット（３５３）に利用可能であってもよく、シンボル（３２１）は、例えばｘ、Ｙ及び参照ピクチャ成分を有してもよい。動き補償はさらに、サブサンプルの正確な動きベクトルが使用されている際に、参照ピクチャメモリ（３５７）から取得したサンプル値の補間、動きベクトル予測メカニズムなどを含んでもよい。
【００２７】
アグリゲーター（３５５）の出力サンプルは、ループフィルタユニット（３５６）において、様々なループフィルタリング技術を受けてもよい。ビデオ圧縮技術は、ループ内フィルタ技術を含み、ループ内フィルタ技術は、符号化されたビデオビットストリームに含まれ、かつ、パーサー（３２０）からのシンボル（３２１）として、ループフィルタユニット（３５６）に適用されるパラメータによって制御されるが、ビデオ圧縮技術は、符号化されたピクチャ又は符号化されたビデオシーケンスの（復号化順で）以前の部分を復号化する期間に取得したメタ情報に応答してもよいし、以前に構築された、ループフィルタリング処理されたサンプル値に応答してもよい。
【００２８】
ループフィルタユニット（３５６）の出力は、サンプルストリームであってもよく、当該サンプルストリームは、ディスプレイ（２１２）のようなレンダリングデバイスに出力されることができ、将来のインターピクチャ予測で使用されるために、参照ピクチャメモリ（３５６）に記憶されることができる。
【００２９】
いくつかの符号化されたピクチャは完全に再構築されると、将来予測のために、参照ピクチャとして使用されることができる。符号化されたピクチャが完全に再構築され、かつ、当該符号化されたピクチャが（例えば、パーサー（３２０）によって）参照ピクチャとして認識される場合、現在ピクチャメモリ（３５８）に記憶される現在参照ピクチャは、参照ピクチャメモリ（３５７）の一部になることができ、その後の符号化されたピクチャの再構築を開始する前に、新たな現在ピクチャメモリを再割り当てることができる。
【００３０】
ビデオ復号器（２１０）は、例えばＩＴＵ−Ｔ  Ｈ．２６５勧告書の規格に記録され得る所定のビデオ圧縮技術に従って、復号化動作を実行することができる。符号化されたビデオシーケンスがビデオ圧縮技術又は規格の構文に準拠している意味で、符号化されたビデオシーケンスは、例えば、ビデオ圧縮技術ドキュメント又は規格、より具体的にそのうちのプロファイルドキュメントにおいて指定されるなど、使用されているビデオ圧縮技術又は規格によって指定される構文に準拠することができる。また、いくつかのビデオ圧縮技術又は規格に準拠するために、符号化されたビデオシーケンスの複雑さは、ビデオ圧縮技術又は規格のレベルによって限定される範囲内にある。いくつかの場合、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構築サンプルレート（例えば、１秒あたりのメガ（ｍｅｇａ）のサンプルを単位として測定する）、最大参照ピクチャサイズなどを制限する。いくつかの場合、レベルによって設定される制限は、仮想参照復号器（Ｈｙｐｏｔｈｅｔｉｃａｌ  Ｒｅｆｅｒｅｎｃｅ  Ｄｅｃｏｄｅｒ、ＨＲＤ）の仕様、及び符号化されたビデオシーケンスにおいてシグナリングされる、ＨＲＤバッファ管理のメタデータによってさらに限定されてもよい。
【００３１】
実施形態において、受信機（３１０）は符号化されたビデオとともに、追加（冗長）データを受信することができる。追加データは符号化されたビデオシーケンスの一部として含まれてもよい。追加データはビデオ復号器（２１０）によって利用されることで、データを適切に復号化し、及び／又は元のビデオデータをより正確に再構築することができる。追加データは、例えば時間、空間又はＳＮＲ拡張層、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形であってもよい。
【００３２】
図４は、本開示の実施形態による、ビデオソース（２０１）に関連付けられるビデオ符号器（２０３）の例示的な機能ブロック図を示す。
【００３３】
ビデオ符号器（２０３）は、例えばソース符号器（４３０）としての符号器、符号化エンジン（４３２）、（ローカル）復号器（４３３）、参照ピクチャメモリ（４３４）、予測器（４３５）、送信機（４４０）、エントロピー符号器（４４５）、コントローラ（４５０）、及びチャネル（４６０）を含んでもよい。
【００３４】
符号器（２０３）は、ビデオソース（２０１）（符号器の一部ではない）からビデオサンプルを受信してもよく、当該ビデオソースは、符号器（２０３）によって符号化されるビデオ画像をキャプチャしてもよい。
【００３５】
ビデオソース（２０１）は、ディジタルビデオサンプルストリームという形式で、符号器（２０３）によって符号化されるソースビデオシーケンスを提供することができ、当該ディジタルビデオサンプルストリームは任意の適切なビット深度（例えば、ｘビット、１０ビット、１２ビット、・・・）、任意の色空間（例えば、ＢＴ．６０１  Ｙ  ＣｒＣＢ、ＲＧＢ、・・・）、及び任意の適切なサンプリング構造（例えば、Ｙ  ＣｒＣｂ  ４：２：０、Ｙ  ＣｒＣｂ  ４：４：４）を有してもよい。メディアサービスシステムにおいて、ビデオソース（２０１）は、以前に準備されたビデオを記憶するための記憶装置であってもよい。ビデオ会議システムにおいて、ビデオソース（２０３）は、ローカル画像情報をビデオシーケンスとしてキャプチャするための撮影装置であってもよい。ビデオデータは、順番に見る際に動きを与える複数の個別のピクチャとして提供される。ピクチャ自体は、空間画素アレイとして編成されてもよく、各画素は、使用されるサンプリング構造、色空間などに応じて、１つ又は複数のサンプルを含むことができる。画素とサンプルとの間の関係は、当業者にとって容易に理解できる。以下、サンプルを中心に説明する。
【００３６】
実施形態によれば、符号器（２０３）は、リアルタイム又はアプリケーションによって要求される他の任意の時間の制約の下で、ソースビデオシーケンスのピクチャを符号化して、符号化されたビデオシーケンス（４４３）に圧縮することができる。適切な符号化速度で実行することは、コントローラ（４５０）の１つの機能である。コントローラ（４５０）はさらに、以下に説明する他の機能ユニットを制御し、これらのユニットに機能的に結合されてもよい。簡潔のために、結合を図示していない。コントローラ（４５０）によって設定されるパラメータは、レート制御関連パラメータ（ピクチャスキップ、量子化器、レート歪み最適化技術のλ値など）、ピクチャサイズ、ピクチャグループ（ＧＯＰ）レイアウト、最大動きベクトル検索範囲などを含んでもよい。コントローラ（４５０）の他の機能は、当業者にとって容易に認識でき、これらの機能は、特定のシステム設計に対して最適化されたビデオ符号器（２０３）に属してもよい。
【００３７】
いくつかのビデオ符号器は、当業者が「符号化ループ」として容易に認識する方式で動作する。非常に簡略化した説明として、符号化ループは、ソース符号器（４３０）の符号化部分（符号化対象となる入力ピクチャと参照ピクチャに基づきシンボルを構築することを担当する）、及び符号器（２０３）に埋め込まれる（ローカル）復号器（４３３）を含んでもよく、あるビデオ圧縮技術において、シンボルと符号化されたビデオビットストリームとの間の圧縮が可逆である場合、当該復号器（４３３）はシンボルを再構築して、（リモート）復号器も作成しようとするサンプルデータを作成する。当該再構築されたサンプルストリームは、参照ピクチャメモリ（４３４）に入力されてもよい。シンボルストリームに対する復号化は、復号器位置（ローカル又はリモート）と関係がなく、ビットが正確である結果が得られるため、参照ピクチャメモリのコンテンツも、ローカル符号器とリモート符号器との間でビットが正確である。言い換えれば、符号器の予測部分から「見られる」参照ピクチャサンプルは、復号器が復号化中に予測を利用しようとする際に「見られる」サンプル値と全く同じである。当該参照ピクチャの同期性という基本原理（及び、例えばチャネル誤差のため、同期性を維持できない場合に発生するドリフト）は、当業者にとって周知のものである
【００３８】
「ローカル」復号器（４３３）の動作は、以上で図３を関連して詳しく説明された「リモート」復号器（２１０）の動作と基本的に同じであってもよい。しかしながら、シンボルは利用可能であり、また、エントロピー符号器（４４５）とパーサー（３２０）はロスレスにシンボルを符号化されたビデオシーケンスに符号化／復号化することができるので、ローカル復号器（４３３）において、チャネル（３１２）、受信機（３１０）、バッファ（３１５）及びパーサー（３２０）が含まれた復号器（２１０）のエントロピー復号化部分は完全に実現される必要がない。
【００３９】
この場合、復号器に存在する解析／エントロピー復号化以外の任意の復号器技術も、必然的に基本的に同じ機能形式で対応する符号器に存在することが観察される。そのため、開示される主題は復号器の動作に着目する。符号器技術と完全に説明された復号器技術とは相互に逆であるため、符号器技術に対する説明を簡略化し得る。より詳しい説明は、特定の領域のみで必要であり、以下で提供される。
【００４０】
ソース符号器（４３０）は、その動作の一部として、動き補償予測符号化を実行することができ、ビデオシーケンスからの「参照フレーム」として指定される１つ又は複数の符号化されたフレームを参照し、入力フレームに対して予測符号化を行う。このようにして、符号化エンジン（４３２）は、入力フレームの画素ブロックと、入力フレームに対する予測参照として選択され得る参照フレームの画素ブロックとの間の差異を符号化する。
【００４１】
ローカルビデオ復号器（４３３）は、ソース符号器（４３０）によって作成されたシンボルに基づいて、参照フレームとして指定されるフレームの符号化されたビデオデータを復号化し得る。符号化エンジン（４３２）の動作は有利には非可逆処理であってもよい。符号化されたビデオデータがビデオ復号器（図４において図示せず）で復号化される場合、再構築されたビデオシーケンスは、一般的に、いくつかの誤差を有するソースビデオシーケンスのレプリカであってもよい。ローカルビデオ復号器（４３３）は、ビデオ復号器が参照フレームに対して実行し得る復号化処理をコピーし、再構築された参照フレームを参照ピクチャメモリ（４３４）に記憶させ得る。このようにして、符号器（２０３）は、再構築された参照フレームのコピーをローカルに記憶し、これらのコピーは、リモートビデオ復号器によって取得される再構築された参照フレームと共通のコンテンツを有する（伝送誤差が存在していない）。
【００４２】
予測器（４３５）は、符号化エンジン（４３２）に対して予測検索を実行することができる。即ち、符号化対象となる新しいフレームについて、予測器（４３５）は、参照ピクチャメモリ（４３４）において、（候補参照画素ブロックとしての）新しいピクチャの適切な予測参照として使用し得るサンプルデータ、又は、例えば参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを検索することができる。予測器（４３５）は、サンプルブロックに基づき、画素ブロックごとに動作することで、適切な予測参照を見つけることができる。いくつかの場合、予測器（４３５）によって取得された検索結果に基づき決定されるように、入力ピクチャは、参照ピクチャメモリ（４３４）に記憶される複数の参照ピクチャから抽出された予測参照を有してもよい。
【００４３】
コントローラ（４５０）は、例えばビデオデータを符号化するためのパラメータとサブグループパラメータを設定することを含む、ビデオ符号器（４３０）の符号化動作を管理することができる。
【００４４】
エントロピー符号器（４４５）において、上記の全ての機能ユニットの出力に対してエントロピー符号化を行ってもよい。エントロピー符号器は、ハフマン符号化、可変長符号化、算術符号化などの当業者に既知の技術に従って、各種機能ユニットによって生成されたシンボルに対して可逆圧縮を行うことで、これらのシンボルを符号化されたビデオシーケンスに変換する。
【００４５】
送信機（４４０）は、エントロピー符号器（４４５）によって作成された、符号化されたビデオシーケンスをバッファリングすることで、通信チャネル（４６０）を介する伝送のために準備することができ、当該通信チャネルは、符号化されたビデオデータを記憶するための記憶装置へのハードウェア／ソフトウェアリンクであってもよい。送信機（４４０）は、ビデオ符号器（４３０）からの符号化されたビデオデータを、伝送対象となる他のデータ、例えば符号化されたオーディオデータ及び／又は補助データストリーム（ソースは図示せず）とマージすることができる。
【００４６】
コントローラ（４５０）は、符号器（２０３）の動作を管理することができる。符号化中に、コントローラ（４５０）は、特定の符号化されたピクチャタイプを、各符号化されたピクチャに割り当て、これは、それぞれのピクチャに適用され得る符号化技術に影響するかもしれない。例えば、ピクチャは通常、イントラピクチャ（Ｉピクチャ）、予測ピクチャ（Ｐピクチャ）、又は双方向予測ピクチャ（Ｂピクチャ）として割り当てられる。
【００４７】
イントラピクチャ（Ｉピクチャ）は、シーケンスにおける任意の他のフレームを予測ソースとして使用せず、符号化及び復号化されるピクチャである。一部のビデオコーデックは、独立復号器リフレッシュ（ＩＤＲ、Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｅｃｏｄｅｒ  Ｒｅｆｒｅｓｈ）ピクチャが含まれた異なるタイプのイントラピクチャを許容する。当業者は、Ｉピクチャのこれらの変形及びその対応する用途と特徴を知っている。
【００４８】
予測性ピクチャ（Ｐピクチャ）は、多くとも１つの動きベクトルと参照インデックスを利用して、各ブロックのサンプル値を予測するイントラ予測又はインター予測を利用して、符号化及び復号化されるピクチャであってもよい。
【００４９】
双方向予測性ピクチャ（Ｂピクチャ）は、最大２つの動きベクトルと参照インデックスを利用して、各ブロックのサンプル値を予測するイントラ予測又はインター予測を利用して、符号化及び復号化されるピクチャであってもよい。同様に、マルチ予測ピクチャは、２つを超える参照ピクチャと関連メタデータを利用して、単一ブロックの再構築を行うことができる。
【００５０】
ソースピクチャは一般的に、空間的に複数のサンプルブロック（例えば、それぞれ４×４、８×８、４×８又は１６×１６個のサンプルを有するブロック）に細分され、ブロックごとに符号化され得る。他の（既に符号化された）ブロックを参照して、これらのブロックに対して予測符号化を行い、他のブロックは、ブロックの対応するピクチャに適用される符号化割当によって決定される。例えば、Ｉピクチャのブロックに対して非予測符号化を行ってもよく、又は、同じピクチャの既に符号化されたブロックを参照して、Ｉピクチャのブロックに対して、予測符号化（空間予測又はイントラ予測）を行ってもい。Ｐピクチャの画素ブロックは１つの既に符号化された参照ピクチャを参照して、空間予測又は時間予測を介して、非予測符号化を行う。Ｂピクチャのブロックは１つ又は２つの既に符号化された参照ピクチャを参照して、空間予測又は時間予測を介して非予測符号化を行う。
【００５１】
ビデオ符号器（２０３）は、例えばＩＴＵ−Ｔ  Ｈ．２６５勧告書の所定のビデオ符号化技術又は規格に基づき、符号化動作を実行することができる。ビデオ符号器（２０３）の動作において、ビデオ符号器（２０３）は、入力ビデオシーケンスにおける時間的及び空間的冗長を利用する予測符号化動作が含まれる様々な圧縮動作を実行することができる。従って、符号化されたビデオデータは、使用されるビデオ符号化技術又は規格で指定される構文に準拠し得る。
【００５２】
実施形態において、送信機（４４０）は、符号化されたビデオとともに、追加データを伝送することができる。ビデオ符号器（４３０）は、符号化されたビデオシーケンスの一部として、このようなデータを含んでもよい。追加データは、時間的／空間的／ＳＮＲ拡張層、冗長ピクチャ及びスライスなどの他の形式の冗長データ、補充拡張情報（ＳＥＩ）メッセージ、ビデオユーザビリティ情報（ＶＵＩ）パラメータセットフラグメントなどを含んでもよい。
【００５３】
図６は、ＶＶＣドラフト２におけるイントラ予測モードの図である。
【００５４】
ＶＶＣドラフト２では、図６に示すように、合計８７個のイントラ予測モードが存在し、モード１８（６０１）は水平モードであり、モード５０（６０２）は垂直モードであり、モード２（６０３）、モード３４（６０４）及びモード６６（６０５）は対角モードである。モード−１から−１０、及びモード６７から７６は広角イントラ予測（Ｗｉｄｅ−Ａｎｇｌｅ  Ｉｎｔｒａ  Ｐｒｅｄｉｃｔｉｏｎ、ＷＡＩＰ）モード（６０６、７０７）と呼ばれる。
【００５５】
ＶＶＣドラフト２において、ＭＰＭリストのサイズは依然として３であり、ＭＰＭリストの生成プロセスはＨＥＶＣと同じである。ただし、ＶＶＣドラフト２には６７個のシグナリングされるモードが存在するため、「ｏｆｆｓｅｔ」は６１に変更され、「ｍｏｄ」は６４に変更されるという相違点がある。
【００５６】
ＶＶＣドラフト２の次の節は、ＩｎｔｒａＰｒｅｄＭｏｄｅＹ［ｘＰｂ］［ｙＰｂ］が取得される輝度イントラモード符号化処理について説明する。
１．隣接する位置にある（ｘＮｂＡ，ｙＮｂＡ）と（ｘＮｂＢ，ｙＮｂＢ）は、それぞれ（ｘＰｂ−１，ｙＰｂ）及び（ｘＰｂ，ｙＰｂ−１）に等しく設定される。
２．ＸがＡ又はＢに置き換えられる場合、変数ｃａｎｄＩｎｔｒａＰｒｅｄＭｏｄｅＸは次のステップによって導出される。
−節６．４．Ｘ［Ｅｄ．（ＢＢ）：Ｎｅｉｇｈｂｏｕｒｉｎｇ
ｂｌｏｃｋｓ ａｖａｉｌａｂｉｌｉｔｙ ｃｈｅｃｋｉｎｇ ｐｒｏｃｅｓｓ ｔｂｄ］で指定されるブロックの可用性導出プロセスを呼び出し、ここで、位置（ｘＣｕｒｒ，ｙＣｕｒｒ）は（ｘＰｂ，ｙＰｂ）
に等しく設定され、隣接する位置（ｘＮｂＹ，ｙＮｂＹ）は、入力として（ｘＮｂＸ，ｙＮｂＸ） に等しく設定され、出力はａｖａｉｌａｂｌｅＸに割り当てられる。
−次のステップに従って候補イントラ予測モードｃａｎｄＩｎｔｒａＰｒｅｄＭｏｄｅＸを取得する。
−
次の条件の１つ以上が真である場合、ｃａｎｄＩｎｔｒａＰｒｅｄＭｏｄｅＸをＩＮＴＲＡ_ＤＣに等しくなるように設定する。
−
変数ａｖａｉｌａｂｌｅＸはＦＡＬＳＥに等しい。
−
ＣｕＰｒｅｄＭｏｄｅ［ｘＮｂＸ］［ｙＮｂＸ］ はＭＯＤＥ_ＩＮＴＲＡに等しくない。
−
ＸはＢに等しく、ｙＰｂ−１は （（ｙＰｂ ＞＞ ＣｔｂＬｏｇ２ＳｉｚｅＹ） ＜＜ ＣｔｂＬｏｇ２ＳｉｚｅＹ） より小さい。
−それ以外の場合、ｃａｎｄＩｎｔｒａＰｒｅｄＭｏｄｅＸをＩｎｔｒａＰｒｅｄＭｏｄｅＹ［ｘＮｂＸ］［ｙＮｂＸ］
に等しくなるように設定する。
３．次のステップに従って、ｃａｎｄＭｏｄｅＬｉｓｔ［ｘ］を取得し、ここで、ｘ＝０．．．２である。
−
ｃａｎｄＩｎｔｒａＰｒｅｄＭｏｄｅＢがｃａｎｄＩｎｔｒａＰｒｅｄＭｏｄｅＡと等しい場合、次の処理が適用される。
−
ｃａｎｄＩｎｔｒａＰｒｅｄＭｏｄｅＡが２より小さい（即ち、ＩＮＴＲＡ_ＰＬＡＮＡＲ又がＩＮＴＲＡ_ＤＣと等しい）場合、次のステップに従って、ｃａｎｄＭｏｄｅＬｉｓｔ［ｘ］を取得し、ここで、ｘ＝０．．２である。
ｃａｎｄＭｏｄｅＬｉｓｔ［０］＝ＩＮＴＲＡ_ＰＬＡＮＡＲ   （８−１）
ｃａｎｄＭｏｄｅＬｉｓｔ［１］＝ＩＮＴＲＡ_ＤＣ           （８−２）
ｃａｎｄＭｏｄｅＬｉｓｔ［２］＝ＩＮＴＲＡ_ＡＮＧＵＬＡＲ５０（８−３）
−
それ以外の場合、次のステップに従って、ｃａｎｄＭｏｄｅＬｉｓｔ［ｘ］を取得し、ここで、ｘ＝０．．２である。
ｃａｎｄＭｏｄｅＬｉｓｔ［０］＝ｃａｎｄＩｎｔｒａＰｒｅｄＭｏｄｅＡ
（８−４）
ｃａｎｄＭｏｄｅＬｉｓｔ［１］＝２＋（（ｃａｎｄＩｎｔｒａＰｒｅｄＭｏｄｅＡ＋６１）％
６４）（８−５）
ｃａｎｄＭｏｄｅＬｉｓｔ［２］＝２＋（（ｃａｎｄＩｎｔｒａＰｒｅｄＭｏｄｅＡ−１）％
６４）  （８−６）
−
それ以外の場合（ｃａｎｄＩｎｔｒａＰｒｅｄＭｏｄｅＢがｃａｎｄＩｎｔｒａＰｒｅｄＭｏｄｅＡと等しくない場合）、次の処理が適用される。
−次のステップに従って、ｃａｎｄＭｏｄｅＬｉｓｔ［０］及びｃａｎｄＭｏｄｅＬｉｓｔ［１］を取得する。
ｃａｎｄＭｏｄｅＬｉｓｔ［０］＝ｃａｎｄＩｎｔｒａＰｒｅｄＭｏｄｅＡ  （８−７）
ｃａｎｄＭｏｄｅＬｉｓｔ［１］＝ｃａｎｄＩｎｔｒａＰｒｅｄＭｏｄｅＢ  （８−８）
−
ｃａｎｄＭｏｄｅＬｉｓｔ［０］とｃａｎｄＭｏｄｅＬｉｓｔ［１］がいずれもＩＮＴＲＡ_ＰＬＡＮＡＲと等しくない場合、ｃａｎｄＭｏｄｅＬｉｓｔ［２］をＩＮＴＲＡ_ＰＬＡＮＡＲに等しくなるように設定する。
−
それ以外の場合、ｃａｎｄＭｏｄｅＬｉｓｔ［０］とｃａｎｄＭｏｄｅＬｉｓｔ［１］がいずれもＩＮＴＲＡ_ＤＣと等しくない場合、ｃａｎｄＭｏｄｅＬｉｓｔ［２］をＩＮＴＲＡ_ＤＣに等しくなるように設定する。
−
それ以外の場合、ｃａｎｄＭｏｄｅＬｉｓｔ［２］をＩＮＴＲＡ_ＡＮＧＵＬＡＲ５０に等しくなるように設定する。
４．次のプロセスを適用して、ＩｎｔｒａＰｒｅｄＭｏｄｅＹ［ｘＰｂ］［ｙＰｂ］を取得する。
−ｉｎｔｒａ_ｌｕｍａ_ｍｐｍ_ｆｌａｇ［ｘＰｂ］［ｙＰｂ］
が１に等しい場合、ＩｎｔｒａＰｒｅｄＭｏｄｅＹ［ｘＰｂ］［ｙＰｂ］をｃａｎｄＭｏｄｅＬｉｓｔ［ｉｎｔｒａ_ｌｕｍａ_ｍｐｍ_ｉｄｘ［ｘＰｂ］［ｙＰｂ］］ に等しくなるように設定する。
−
それ以外の場合、次の手順を利用して、ＩｎｔｒａＰｒｅｄＭｏｄｅＹ［ｘＰｂ］［ｙＰｂ］を取得する。
１．
次の手順に従って、配列ｃａｎｄＭｏｄｅＬｉｓｔ［ｘ］を補正し、ここで、ｘ＝０．．２である。
ｉ．ｃａｎｄＭｏｄｅＬｉｓｔ［０］がｃａｎｄＭｏｄｅＬｉｓｔ［１］
より大きい場合、これらの２つの値を次のように入れ替える。
（ｃａｎｄＭｏｄｅＬｉｓｔ［０］，ｃａｎｄＭｏｄｅＬｉｓｔ［１］）＝Ｓｗａｐ（ｃａｎｄＭｏｄｅＬｉｓｔ［０］，ｃａｎｄＭｏｄｅＬｉｓｔ［１］）（８−９）
ｉｉ．ｃａｎｄＭｏｄｅＬｉｓｔ［０］がｃａｎｄＭｏｄｅＬｉｓｔ［２］
より大きい場合、これらの２つの値を次のように入れ替える。
（ｃａｎｄＭｏｄｅＬｉｓｔ［０］，ｃａｎｄＭｏｄｅＬｉｓｔ［２］）＝Ｓｗａｐ（ｃａｎｄＭｏｄｅＬｉｓｔ［０］，ｃａｎｄＭｏｄｅＬｉｓｔ［２］）（８−１０）
ｉｉｉ．ｃａｎｄＭｏｄｅＬｉｓｔ［１］
がｃａｎｄＭｏｄｅＬｉｓｔ［２］ より大きい場合、これらの２つの値を次のように入れ替える。
（ｃａｎｄＭｏｄｅＬｉｓｔ［１］，ｃａｎｄＭｏｄｅＬｉｓｔ［２］）＝Ｓｗａｐ（ｃａｎｄＭｏｄｅＬｉｓｔ［１］，ｃａｎｄＭｏｄｅＬｉｓｔ［２］）（８−１１）
２．
次の手順に従って、ＩｎｔｒａＰｒｅｄＭｏｄｅＹ［ｘＰｂ］［ｙＰｂ］を取得する。
ｉ．ＩｎｔｒａＰｒｅｄＭｏｄｅＹ［ｘＰｂ］［ｙＰｂ］をｉｎｔｒａ_ｌｕｍａ_ｍｐｍ_ｒｅｍａｉｎｄｅｒ［ｘＰｂ］［ｙＰｂ］に等しくなるように設定する。
ｉｉ．ｉが０から２に等しく、０と２が含まれ、ＩｎｔｒａＰｒｅｄＭｏｄｅＹ［ｘＰｂ］［ｙＰｂ］がｃａｎｄＭｏｄｅＬｉｓｔ［ｉ］以上である場合、ＩｎｔｒａＰｒｅｄＭｏｄｅＹ［ｘＰｂ］［ｙＰｂ］の値を１だけ増加する。
【００５７】
上記では、変数ＩｎｔｒａＰｒｅｄＭｏｄｅＹ［ｘ］［ｙ］があり、ここで、ｘ
＝ ｘＰｂ．．ｘＰｂ＋ｃｂＷｉｄｔｈ−１、且つｙ ＝ ｙＰｂ．．ｙＰｂ＋ｃｂＨｅｉｇｈｔ−１であり、ＩｎｔｒａＰｒｅｄＭｏｄｅＹ［ｘＰｂ］［ｙＰｂ］ に等しくなるように配置される。
【００５８】
ＶＶＣドラフト２の開発において、サイズが６のＭＰＭリストが提案される。当該ＭＰＭリストにはＰｌａｎａｒ（平面）モードとＤＣモードが含まれる。左モードと上モードという２つの隣接モードを利用して、他の４つのＭＰＭを生成する。
【００５９】
より多くの参照ラインを使用してイントラ予測を行うためのマルチラインイントラ予測が提案され、その中、どの参照ラインを利用してイントラ予測器を生成するかということは、符号器によって判定され、シグナリングされる。参照ラインインデックスは、イントラ予測モードの前にシグナリングされ、また、非ゼロ参照ラインインデックスがシグナリングされた場合、Ｐｌａｎａｒモード／ＤＣモードはイントラ予測モードから除外される。図７は、４つの参照ライン（７１０）の例を示し、各参照ライン（７１０）は、左上の参照サンプルとともに、６つのセグメント（即ち、セグメントＡからセグメントＦ）で構成される。また、セグメントＡとセグメントＦには、それぞれ、セグメントＢとセグメントＥに最も近いサンプルが埋め込まれる。
【００６０】
マルチラインイントラ予測では、シグナリングされた参照ラインインデックスが非ゼロである場合、ＰｌａｎａｒモードとＤＣモードは、ＭＰＭリストの生成及びモード符号化から除外される。また、２つの隣接モードによって、サイズが６のＭＰＭリストを生成することが提案される。従って、２つの隣接モードにしかアクセスできない場合に、非ゼロ行に対して６つの角度ＭＰＭを生成する方法については、オープンクエスチョンである。
【００６１】
提案された方法は、別々に使用されてもよく、又は、任意の順序で組み合わせて使用されてもよい。
【００６２】
以下の説明では、最も近い参照ラインのラインインデックスは０（ゼロ参照ライン）である。シグナリングされる最大の参照ラインの番号はＮとして示される。
【００６３】
同様に、図８に示すように、上（トップ）側ブロック（７０１）と左側ブロック（７０２）を次のように限定する。
【００６４】
図８に示すように、現在ブロック（７０３）内の左上位置にある画素は（ｘ，ｙ）として示される。含まれる全てのサンプルのｙ座標がｙ以上であり、且つ含まれる全てのサンプルのｘ座標がｘより小さいブロックは、左側ブロックと呼ばれる。含まれる全てのサンプルのｙ座標がｙより小さいブロックは、上側ブロックと呼ばれる。図８は、現在ブロック（７０３）の左側ブロック（Ｌ１、Ｌｘ及びＬｎ）及び上側ブロック（Ａ１、Ａ２、Ａｘ、Ａｎ）の一例を示す。
【００６５】
以下で言及される２つの隣接モードは、現在ブロック（７０３）の上側（７０１）から、又は現在ブロック（７０３）の左側（７０２）からのものであり得る。以下は、２つの隣接モードの例をいくつか示す。
【００６６】
一例では、２つの隣接モードはいずれも左側（７０２）からのものである。
【００６７】
他の例では、２つの隣接モードはいずれも上側（７０１）からのものである。
【００６８】
他の例では、隣接モードのうちの一方は左側（７０２）からのものであり、他方の隣接モードは上側（７０１）からのものである。
【００６９】
他の例では、現在ブロック（７０３）の幅が現在ブロック（７０３）の高さより大きい場合、２つの隣接モードはいずれも上側（７０１）からのものであり、又は、現在ブロック（７０３）の高さが幅より大きい場合、２つの隣接モードはいずれも左側（７０２）からのものであり、又は、現在ブロック（７０３）の幅が高さに等しい場合、一方の隣接モードは上側（７０１）から、他方の隣接モードは左側（７０２）からのものである。
【００７０】
ブロック幅、ブロックの高さ、及びブロック幅とブロック高さとの比に基づき、参照サンプル側を（以上の例で説明したように）選択及び使用することで、２つ（又はそれ以上）の隣接ブロックを取得することができる。
【００７１】
一例では、ブロックの幅／高さが所定の閾値より大きい場合、上側（７０１）のみから、２つ（又はそれ以上）の隣接ブロックを選択する。閾値の値の例は２、４、８、１６、３２及び６４が含まれるが、これらに限定されない。
【００７２】
他の例では、ブロックの高さ／幅が所定の閾値より大きい場合、左側（７０２）のみから、２つ（又はそれ以上）の隣接ブロックを選択する。閾値の値の例は２、４、８、１６、３２及び６４が含まれるが、これらに限定されない。
【００７３】
以下の説明では、隣接ブロックのモードが利用できない場合、モードを、Ｐｌａｎａｒモード又はＤＣモードに設定する。
【００７４】
以下の説明では、シグナリングされたモードの番号範囲が０からＭ（０とＭが含まれる）の範囲である場合、Ｍは、例えば３４や６６などの任意の正の整数であってもよい。所定のモードＸの近隣モードは、Ｘが２より大きくＭ−１より小さい場合、Ｘの近隣モードがＸ−１及びＸ＋１であるように限定される。Ｘが２に等しい場合、Ｘの近隣モードは３及びＭ（又はＭ−１）である。ＸがＭ−１に等しい場合、Ｘの近隣モードはＸ−１及びＸ＋１（又は２）である。ＸがＭに等しい場合、Ｘの近隣モードはＭ−１及び２（又は３）である。
【００７５】
以下の説明では、モードがＰｌａｎａｒモード又はＤＣモードではない場合、又は、モードが例えば、ＶＶＣドラフト２で限定されたイントラ予測モード２〜６６のように、所定の予測方向に従って、予測サンプルを生成する場合、当該モードは、角度モードと呼ばれる。Ｏｆｆｓｅｔとｍｏｄという２つの変数は、次の２つのグループがある。
１）Ｏｆｆｓｅｔ＝ｍｏｄ−３，ｍｏｄ＝Ｍ−２；
２）Ｏｆｆｓｅｔ＝ｍｏｄ−３，ｍｏｄ＝Ｍ−１；
【００７６】
シグナリングされた参照ラインインデックスが非ゼロである場合、次の方法は、２つの隣接モードを介して６つの角度ＭＰＭを生成することができる。次の方法又は例は、単独で使用されてもよく、又は、任意の順序で組み合わせて使用されてもよい。
【００７７】
一実施形態において、２つの隣接モードのうちの少なくとも１つが角度モードである場合、以下のアルゴリズムを使用して６つの角度ＭＰＭを生成する。２つの隣接モードはＭｏｄｅ_ＡとＭｏｄｅ_Ｂとして示される。変数ａｎｇ_ｍｏｄｅ［］を利用して、隣接モードの角度モードを記録する。変数ａｎｇ_ｃｏｕｎｔを利用して角度モードの数を示し、ｍｐｍ_ｉｎｄｅｘを利用してＭＰＭリストのインデックスを示す。最初、ａｎｇ_ｃｏｕｎｔとｍｐｍ_ｉｎｄｅｘは０に設定される。ＩｎｃｌｕｄｅｄＭｏｄｅ［］を利用して、各モードがＭＰＭリストに含まれるかどうかを示し、配列ＩｎｃｌｕｄｅｄＭｏｄｅ［］における全ての要素は、最初にＦｌａｓｅに設定される。
・Ｍｏｄｅ_Ａが角度モードである場合、ＭＰＭ ［ｍｐｍ_ｉｎｄｅｘ］＝Ｍｏｄｅ_Ａ、ａｎｇ_ｃｏｕｎｔ＋＝１、ｍｐｍ_ｉｎｄｅｘ＋＝１になる；
・Ｍｏｄｅ_Ｂが角度モードである場合、ＭＰＭ ［ｍｐｍ_ｉｎｄｅｘ］＝Ｍｏｄｅ_Ｂ、ａｎｇ_ｃｏｕｎｔ＋＝１、ｍｐｍ_ｉｎｄｅｘ＋＝１になる；
・（ｄｉｆｆ＝０；ｄｉｆｆ≦２＆＆ｍｐｍ_ｉｎｄｅｘ＜６；ｄｉｆｆ＋＋）の場合｛
・（ｉｄｘ＝０；ｉｄｘ＜ａｎｇ_ｃｏｕｎｔ；ｉｄｘ＋＋）の場合｛
○ＭＰＭ［ｍｐｍ_ｉｎｄｅｘ］＝（（ａｎｇ_ｍｏｄｅ［ｉｄｘ］＋ｏｆｆｓｅｔ−ｄｉｆｆ）％ｍｏｄ）＋２；
○（ｉｎｃｌｕｄｅｄＭｏｄｅ［ＭＰＭ［ｍｐｍ_ｉｎｄｅｘ］］＝＝ｆａｌｓｅ））の場合｛、
■ｉｎｃｌｕｄｅｄＭｏｄｅ［ＭＰＭ［ｍｐｍ_ｉｎｄｅｘ＋＋］］＝ｔｒｕｅ｝    ○ｍｐｍ_ｉｎｄｅｘ＝＝６の場合、ブレークする；
○ＭＰＭ［ｍｐｍ_ｉｎｄｅｘ］＝（（ａｎｇ_ｍｏｄｅ［ｉｄｘ］−１＋ｄｉｆｆ） ％ｍｏｄ）＋２；
○（ｉｎｃｌｕｄｅｄＭｏｄｅ［ＭＰＭ［ｍｐｍ_ｉｎｄｅｘ］］＝＝ｆａｌｓｅ）の場合｛、
■ｉｎｃｌｕｄｅｄＭｏｄｅ［ＭＰＭ［ｍｐｍ_ｉｎｄｅｘ＋＋］］＝ ｔｒｕｅ｝になる。
【００７８】
一実施形態において、隣接モードのうちの１つのみがａｎｇ_ｎｅｉｇｈｂｏｒとして示される角度モードである場合、ａｎｇ_ｎｅｉｇｈｂｏｒ及びその２つの近隣モード（ｍｏｄｅ_Ｌとｍｏｄｅ_Ｒとして示される）はＭＰＭリストに追加され、そして、ｍｏｄｅ_Ｌの１つの近隣モードとｍｏｄｅ_Ｒの１つの近隣モードはＭＰＭリストに追加される。最後に、垂直／水平モードを追加することで、６つの角度ＭＰＭを生成する。これらの６つの角度モードは任意の順序でＭＰＭリストに追加されてもよい。
一例では、６つの角度ＭＰＭを次のように生成する。
・ＭＰＭ［０］＝ａｎｇ_ｍｏｄｅ
・ＭＰＭ［１］＝（（ａｎｇ_ｍｏｄｅ＋ｏｆｆｓｅｔ）％ ｍｏｄ）＋２；
・ＭＰＭ［２］＝（（ａｎｇ_ｍｏｄｅ−１）％ｍｏｄ）＋２；
・ＭＰＭ［３］＝（（ａｎｇ_ｍｏｄｅ−１＋ｏｆｆｓｅｔ）％ｍｏｄ）＋２；
・ＭＰＭ［４］＝（（ａｎｇ_ｍｏｄｅ）％ｍｏｄ＋２；
・ＭＰＭ［５］＝垂直又は水平モードである。一例では、ＭＰＭ［０］からＭＰＭ［４］には垂直モードが含まれない場合、ＭＰＭ［５］は垂直モードに設定される。さもなければ、ＭＰＭ［５］は水平モードに設定される。
【００７９】
他の実施形態において、隣接モードのうちの１つのみがａｎｇ_ｎｅｉｇｈｂｏｒとして示される角度モードである場合、ａｎｇ_ｎｅｉｇｈｂｏｒ及びその２つの近隣モード（ｍｏｄｅ_Ｌとｍｏｄｅ_Ｒとして示される）はＭＰＭリストに追加され、そして、ｍｏｄｅ_Ｌの１つの近隣モード（ｍｏｄｅ_Ｌ_Ｌとして示される）とｍｏｄｅ_Ｒの１つの近隣モード（ｍｏｄｅ_Ｒ_Ｒとして示される）はＭＰＭリストに追加される。最後に、ｍｏｄｅ_Ｌ_Ｌ又はｍｏｄｅ_Ｒ_Ｒの１つの近隣モードをＭＰＭリストに追加する。これらの６つの角度モードは任意の順序でＭＰＭリストに追加されてもよい。
一例では、６つの角度ＭＰＭを次のように生成する。
・ＭＰＭ［０］＝ａｎｇ_ｍｏｄｅ
・ＭＰＭ［１］＝（（ａｎｇ_ｍｏｄｅ＋ｏｆｆｓｅｔ％ｍｏｄ）＋２；
・ＭＰＭ［２］＝（（ａｎｇ_ｍｏｄｅ−１）％ｍｏｄ）＋２；
・ＭＰＭ［３］＝（（ａｎｇ_ｍｏｄｅ−１＋ｏｆｆｓｅｔ）％ｍｏｄ）＋２；
・ＭＰＭ［４］＝（（ａｎｇ_ｍｏｄｅ）％ｍｏｄ＋２；
・ＭＰＭ［５］＝（（ａｎｇ_ｍｏｄｅ＋１）％ｍｏｄ）＋２；
他の例では、６つの角度ＭＰＭを次のように生成する。
・ＭＰＭ［０］＝ａｎｇ_ｍｏｄｅ
・ＭＰＭ［１］＝（（ａｎｇ_ｍｏｄｅ＋ｏｆｆｓｅｔ）％ｍｏｄ）＋２；
・ＭＰＭ［２］＝（（ａｎｇ_ｍｏｄｅ−１）％ｍｏｄ）＋２；
・ＭＰＭ［３］＝（（ａｎｇ_ｍｏｄｅ−１＋ｏｆｆｓｅｔ）％ｍｏｄ）＋２；
・ＭＰＭ［４］＝（（ａｎｇ_ｍｏｄｅ）％ｍｏｄ）＋２；
・ＭＰＭ［５］＝（（ａｎｇ_ｍｏｄｅ−２＋ｏｆｆｓｅｔ）％ｍｏｄ）＋２；
【００８０】
他の実施形態において、隣接モードのうちの１つのみがａｎｇ_ｎｅｉｇｈｂｏｒとして示される角度モードである場合、６つの角度ＭＰＭを次のように取得し、これらの６つの角度モードは任意の順序でＭＰＭリストに追加される。以下、一例を示す。
・ＭＰＭ［０］＝ａｎｇ_ｍｏｄｅ
・ＭＰＭ［１］＝（（ａｎｇ_ｍｏｄｅ＋ｏｆｆｓｅｔ）％ｍｏｄ）＋２；
・ＭＰＭ［２］＝（（ａｎｇ_ｍｏｄｅ−１）％ｍｏｄ）＋２；
・ＭＰＭ［３］＝（（ａｎｇ_ｍｏｄｅ−２＋ｏｆｆｓｅｔ）％ｍｏｄ）＋２；
・ＭＰＭ［４］＝（（ａｎｇ_ｍｏｄｅ＋１）％ｍｏｄ）＋２；
・ＭＰＭ［５］＝垂直又は水平モードである。一例では、ＭＰＭ［０］からＭＰＭ［４］には垂直モードが含まれない場合、ＭＰＭ［５］は垂直モードに設定される。さもなければ、ＭＰＭ［５］は水平モードに設定される。
【００８１】
他の実施形態において、隣接モードのうちの２つの隣接モードが角度モードであり、それらが近隣するモードである場合、ＭＰＭリストを次のように生成する。２つの隣接モードはＭｏｄｅ_ＡとＭｏｄｅ_Ｂとして示され、ＭＰＭリストに追加される。変数ａｎｇ_ｍａｘとａｎｇ_ｍｉｎを利用して、Ｍｏｄｅ_ＡとＭｏｄｅ_Ｂの間にある最大モードと最小モードを記録する。
・Ｍｏｄｅ_ＡがＭｏｄｅ_Ｂより大きい場合、ａｎｇ_ｍａｘはＭｏｄｅ_Ａに設定され、ａｎｇ_ｍｉｎはＭｏｄｅ_Ｂに設定され、
・ａｎｇ_ｍｉｎが２に等しく、ａｎｇ_ｍａｘがＭ−１又はＭに等しい場合、ａｎｇ_ｍｉｎとａｎｇ_ｍａｘの値を入れ替える。
・他の４つの角度ＭＰＭを次のように取得する。これらの４つのモードを任意の順序で追加してもよく、以下は一例である。
・ＭＰＭ［２］＝（（ａｎｇ_ｍｉｎ＋ｏｆｆｓｅｔ）％ｍｏｄ）＋２；
・ＭＰＭ［３］＝（（ａｎｇ_ｍａｘ−１）％ｍｏｄ）＋２；
・ＭＰＭ［４］＝（（ａｎｇ_ｍｉｎ−１＋ｏｆｆｓｅｔ）％ｍｏｄ）＋２；
・ＭＰＭ［５］＝（（ａｎｇ_ｍａｘ）％ｍｏｄ）＋２；
【００８２】
他の実施形態において、２つの隣接モードがＭｏｄｅ_ＡとＭｏｄｅ_Ｂで示され、これらの２つの隣接モードがいずれも角度モードであり、且つ、ａｂｓ（Ｍｏｄｅ_Ａ−Ｍｏｄｅ_Ｂ）＞２＆＆ａｂｓ（Ｍｏｄｅ_Ａ−Ｍｏｄｅ_Ｂ）≦Ｔｈｒｅｓである場合、以下のアルゴリズムを利用して６つの角度ＭＰＭを生成する。Ｔｈｒｅｓは正の整数であって、Ｔｈｒｅｓは２より大きく、例えば、Ｔｈｒｅｓ＝６１又は６２又は６３である。
・最初に、Ｍｏｄｅ_ＡとＭｏｄｅ_ＢをＭＰＭリストに追加する
・そして、Ｍｏｄｅ_Ａの２つの近隣モードと、Ｍｏｄｅ_Ｂの２つの近隣モードもＭＰＭリストに追加する。
・また、これらの６つの角度ＭＰＭは、任意の順序でＭＰＭリストに追加されてもよい。
・以下、６つのＭＰＭを生成する例を示す。
○ＭＰＭ［０］＝Ｍｏｄｅ_Ａ
○ＭＰＭ［１］＝Ｍｏｄｅ_Ｂ
○ＭＰＭ［２］＝（（Ｍｏｄｅ_Ａ＋ｏｆｆｓｅｔ）％ｍｏｄ）＋２；
○ＭＰＭ［３］＝（（Ｍｏｄｅ_Ａ−１）％ｍｏｄ）＋２；
○ＭＰＭ［４］＝（（Ｍｏｄｅ_Ｂ＋ｏｆｆｓｅｔ）％ｍｏｄ）＋２；
○ＭＰＭ［５］＝（（Ｍｏｄｅ_Ｂ−１）％ｍｏｄ）＋２；
【００８３】
他の実施形態において、２つの隣接モードがＭｏｄｅ_ＡとＭｏｄｅ_Ｂで示され、これらの２つの隣接モードがいずれも角度モードであり、且つ、ａｂｓ（Ｍｏｄｅ_Ａ−Ｍｏｄｅ_Ｂ）＝＝２||ａｂｓ（Ｍｏｄｅ_Ａ−Ｍｏｄｅ_Ｂ）＞Ｔｈｒｅｓであり、Ｔｈｒｅｓが正の整数であり、Ｔｈｒｅｓが２より大きく、例えば、Ｔｈｒｅｓ＝６１又は６２又は６３である場合、以下のアルゴリズムを利用して６つの角度ＭＰＭを取得する。
・変数ａｎｇ_ｍａｘとａｎｇ_ｍｉｎを利用してＭｏｄｅ_ＡとＭｏｄｅ_Ｂとの間にある最大モードと最小モードを記録する。
・Ｍｏｄｅ_ＡがＭｏｄｅ_Ｂより大きい場合、ａｎｇ_ｍａｘはＭｏｄｅ_Ａに設定され、ａｎｇ_ｍｉｎはＭｏｄｅ_Ｂに設定される。
・そして、Ｍｏｄｅ_Ａ及びＭｏｄｅ_Ｂの３つの近隣モードをＭＰＭリストに追加する。
・最後に、垂直又は水平モードをＭＰＭリストに追加し、これらの６つのＭＰＭは任意の順序でＭＰＭリストに追加されてもよい。
・以下は、一例を示す。
・ＭＰＭ［０］＝ａｎｇ_ｍｉｎ
・ＭＰＭ［１］＝ａｎｇ_ｍａｘ
・ＭＰＭ［２］＝（（ａｎｇ_ｍｉｎ−１）％ｍｏｄ）＋２；
・ＭＰＭ［３］＝（（ａｎｇ_ｍｉｎ＋ｏｆｆｓｅｔ）％ｍｏｄ）＋２；
・ＭＰＭ［４］＝（（ａｎｇ_ｍａｘ−１）％ｍｏｄ）＋２；
・ＭＰＭ［５］＝垂直又は水平モードである。一例では、ＭＰＭ［０］からＭＰＭ［４］には垂直モードが含まれない場合、ＭＰＭ［５］は垂直モードに設定される。さもなければ、ＭＰＭ［５］は水平モードに設定される。
【００８４】
他の実施形態において、２つの隣接モードがいずれもＰｌａｎａｒモード又はＤＣモードである場合、６つのデフォルトモードを利用してＭＰＭリストを充填する。これらの６つのデフォルトモードは、任意の順序でＭＰＭリストに追加されてもよい。
・一実施形態において、６つのデフォルトモードは｛５０，１８，２，３４，６６，２６｝である。
・他の実施形態において、６つのデフォルトモードは｛５０，１８，２，３４，２６，４２｝。
・他の実施形態において、現在ブロックの幅が高さより大きい場合、６つのデフォルトモードは｛５０、１８、３４、６６、４２、５８｝である。
・他の実施形態において、現在ブロックの高さが幅より大きい場合、６つのデフォルトモードは｛５０、１８、３４、２、１０、２６｝である。
・他の実施形態において、現在ブロックの幅が高さに等しい場合、６つのデフォルトモードは｛５０，１８，２，３４，２６，４２｝である。
【００８５】
他の実施形態において、最初に、角度モードである全ての隣接モードをＭＰＭリストに追加する。そして、角度モードであるこれらの隣接モードのそれぞれについて、ａｎｇ_ｍｏｄｅとして示され、角度モード（（ａｎｇ_ｍｏｄｅ−１）％ｍｏｄ）＋２と角度モード（（ａｎｇ_ｍｏｄｅ＋ｏｆｆｓｅｔ）％ｍｏｄ）＋２がＭＰＭリストに含まれない場合、それらをＭＰＭリストに追加する。
・一実施形態において、ＭＰＭリストがまだ完全に充填されていない場合、いくつかのデフォルトモードを追加する。デフォルトモードリストは、以上の項目番号ｈで説明した代替のいずれか１つである。
・他の実施形態において、ＭＰＭリストがまだ完全に充填されていない場合、（ｍｐｍ_ｍｏｄｅとして示される）既にＭＰＭリストにあったモードのそれぞれについて、角度モード（（ｍｐｍ_ｍｏｄｅ−１）％ｍｏｄ）＋２と角度モード（（ｍｐｍ_ｍｏｄｅ＋ｏｆｆｓｅｔ）％ｍｏｄ）＋２がＭＰＭリストに含まれない場合、それらをＭＰＭリストに追加する。
【００８６】
少なくとも１つの実施形態において、上記の技術は、集積回路、一連の集積回路及び／又は他の電子回路によって実行されることができる。少なくとも１つの実施形態において、技術は、関連するメモリを有する１つ又は複数のＣＰＵ上で実行されるソフトウェアで部分的又は完全に実現することができる。
【００８７】
コンピュータ可読命令を利用して、上記の技術を、コンピュータソフトウェアとして実現し、それを１つ又は複数のコンピュータ可読媒体に物理的に記憶する。例えば、図９は、本開示のいくつかの実施形態を実現するのに適したコンピュータシステム（８００）を示す。
【００８８】
コンピュータソフトウェアは、任意の適切なマシンコード又はコンピュータ言語を使用してコーディングすることができ、任意の適切なマシンコード又はコンピュータ言語に対して、アセンブル、コンパイル、リンクなどのメカニズムを適用することで、コンピュータ中央処理ユニット（ＣＰＵ）、グラフィック処理ユニット（ＧＰＵ）などによって直接的に実行されるか、又は解釈、マイクロコードなどによって実行される命令を含むコードを作成することができる。
【００８９】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機器、モノのインターネット機器などを含む、様々なタイプのコンピュータ又はそれらのコンポーネントで実行されることができる。
【００９０】
図９に示すコンピュータシステム（８００）のためのコンポーネントは、本質的に例示であり、本開示の実施形態を実現するためのコンピュータソフトウェアの使用範囲又は機能に制限を加えることを意図するものではない。コンポーネントの配置は、コンピュータシステム（８００）の非限定的な実施形態に示めされるコンポーネントのいずれか、又はそれらの組み合わせに関連する依存性又は要件を有するものとして解釈されるべきではない。
【００９１】
コンピュータシステム（８００）はいくつかのヒューマンマシンインターフェイス入力装置を含んでもよい。このようなヒューマンマシンインターフェイス入力装置は、例えば触覚入力（例えば：キーストローク、スライド、データグローブ移動）、オーディオ入力（例えば：音声、拍手）、視覚入力（例えば：姿勢）、嗅覚入力（図示せず）などの１つ又は複数の人間ユーザによる入力に応答することができる。ヒューマンマシンインタフェース装置はさらに、例えば、オーディオ（例えば、音声、音楽、環境音）、画像（例えば、スキャンした画像、静的画像撮影装置から取得された写真画像）、ビデオ（例えば２次元ビデオ、ステレオビデオが含まれる３次元ビデオ）などの、人間の意識的な入力に必ずしも直接関連しない特定のメディアをキャプチャするために使用されることもできる。
【００９２】
入力ヒューマンマシンインターフェイス装置は、キーボード（８０１）、マウス（８０２）、タッチパッド（８０３）、タッチパネル（８１０）、データグローブ、ジョイスティック（８０５）、マイク（８０６）、スキャナ（８０７）、撮影装置（８０８）のうちの１つ又は複数を有してもよい（それぞれが１つのみ図示される）。
【００９３】
コンピュータシステム（８００）はさらにいくつかのヒューマンマシンインターフェイス出力装置を含んでもよい。このようなヒューマンマシンインターフェイス出力装置は、例えば触覚出力、音、光及び匂い／味を介して１つ又は複数の人類ユーザーの感覚を刺激することができる。このようなヒューマンマシンインターフェイス出力装置は、触覚出力装置（例えば、タッチパネル（８１０）、データグローブ又はジョイスティック（８０５）によって提供される触覚フィードバック装置があるが、入力装置として機能しない触覚フィードバック装置もある）であってもよい。例えば、このような装置はオーディオ出力装置（例えば、スピーカー（８０９）、ヘッドフォン（図示せず））、視覚出力装置（例えば、スクリーン（８１０）、ＣＲＴスクリーン、ＬＣＤスクリーン、プラズマスクリーン、ＯＬＥＤスクリーンを含み、それぞれはタッチパネル入力能力、触覚フィードバック能力を有してもよく、有してなくてもよく、そのうちのいくつかのスクリーンは、立体出力のような手段で、２次元の視覚を出力し又は３次元以上の出力を出力し、バーチャルリアリティ眼鏡（図示せず）、ホログラフィックディスプレイ及びスモークタンク（図示せず））、及びプリンター（図示せず）であってもよい。
【００９４】
コンピュータシステム（８００）はさらに、人間がアクセスし得る記憶装置及びその関連する媒体を含んでもよく、例えば、ＣＤ／ＤＶＤなどの媒体（８２１）を有するＣＤ／ＤＶＤＲＯＭ／ＲＷ（８２０）などの光学媒体、サムドライブ（８２２）、取り外し可能なハードドライブ又はソリッドステートドライブ（８２３）、磁気テープとフロッピーディスク（図示せず）のような従来の磁気媒体、専用ＲＯＭ／ＡＳＩＣ／ＰＬＤに基づく、ドングルのような装置（図示せず）などを含む。
【００９５】
当業者は、本出願で開示された主題に関連して使用される用語「コンピュータ可読媒体」には伝送媒体、搬送波又は他の瞬間信号が含まれないことを理解できる。
【００９６】
コンピュータシステム（８００）はさらに、１つ又は複数の通信ネットワークへのインタフェースを含んでもよい。ネットワークは、例えば無線、有線、光学的ネットワークであってもよい。ネットワークは、ローカルエリアネットワーク、広域ネットワーク、メトロポリタンネットワーク、車両工業ネットワーク、リアルタイムネットワーク、遅延耐性ネットワークなどであってもよい。ネットワークの例は、イーサネットのようなローカルエリアネットワーク、無線ＬＡＮ、（ＧＳＭ、３Ｇ、４Ｇ、５Ｇ、ＬＴＥなどが含まれる）セルラーネットワーク、（有線テレビ、衛星テレビ及び地上波テレビが含まれる）テレビ有線又は無線広域デジタルネットワーク、（ＣＡＮＢｕｓが含まれる）車両及び工業ネットワークなどを含む。一部のネットワークは一般的に、ある汎用データポート又は周辺バス（８４９）（例えば、コンピュータシステム（８００）のＵＳＢポート）に接続される外部ネットワークインタフェースアダプタを必要とし、他のインタフェースは一般的に、後述するようなシステムバスに接続されることにより、コンピュータシステム（８００）のコアに集積される（例えば、ＰＣコンピュータシステムに集積されるイーサネットインタフェース、又はスマートフォンコンピュータシステムに集積されるセルラーネットワークインタフェースである）。コンピュータシステム（８００）は、これらのネットワークのいずれかを使用して、他のエンティティと通信することができる。このような通信は、一方向受信のみ（例えば、放送テレビ）、一方向送信のみ（例えば、あるＣＡＮｂｕｓ機器へのＣＡＮバス)、又は双方向、例えば、ローカルエリア又は広域デジタルネットワークを使用する他のコンピュータシステムへの通信である。上記の各ネットワーク及びネットワークインタフェースに、特定のプロトコル及びプロトコルスタックを利用することができる。
【００９７】
ヒューマンマシンインターフェイス装置、人間がアクセスし得る記憶装置、及びネットワークインタフェースは、コンピュータシステム（８００）のコア（８４０）に接続され得る。
【００９８】
コア（８４０）は、１つ又は複数の中央処理ユニット（ＣＰＵ）（８４１）、グラフィック処理ユニット（ＧＰＵ）（８４２）、フィールドプログラム可能なゲートアレイ（ＦＰＧＡ）（８４３）という形式の専用のプログラム可能な処理ユニット、あるタスクのためのハードウェアアクセラレータ（８４４）などを含んでもよい。これらの装置は、読み取り専用メモリ（ＲＯＭ）（８４５）、ランダムアクセスメモリ（８４６）、ユーザがアクセスできない内部ハードディスクドライブ、ＳＳＤなどの内部大容量記憶装置（８４７）とともに、システムバス（８４８）を介して接続されてもよい。一部のコンピュータシステムにおいて、１つ又は複数の物理プラグという形式で、システムバス（８４８）にアクセスして、追加のＣＰＵ、ＧＰＵなどによって拡張を実現することができる。周囲機器は直接的又は周辺バス（８４９）を介してコアのシステムバス（８４８）に接続されてもよい。周辺バスのアーキテクチャはＰＣＩ、ＵＳＢなどを含む。
【００９９】
ＣＰＵ（８４１）、ＧＰＵ（８４２）、ＦＰＧＡ（８４３）及びアクセラレータ（８４４）はいくつかの命令を実行することができ、これらの命令を組み合わせると、上記のコンピュータコードを構成することができる。当該コンピュータコードはＲＯＭ（８４５）又はＲＡＭ（８４６）に記憶される。一時的なデータはＲＡＭ（８４６）に記憶されてもよく、永久データは、例えば内部大容量記憶装置（８４７）に記憶されてもよい。キャッシュメモリを使用することによって、任意の記憶装置への高速ストレージ及び検索が可能になり、当該キャッシュメモリは１つ又は複数のＣＰＵ（８４１）、ＧＰＵ（８４２）、大容量記憶装置（８４７）、ＲＯＭ（８４５）、ＲＡＭ（８４６）などに密接に関連付けることができる。
【０１００】
コンピュータ可読媒体は、コンピュータによって実現される様々な動作を実行するためのコンピュータコードを有することができる。媒体とコンピュータコードは、本開示の目的のために、特別に設計及び構築される媒体とコンピュータコードであってもよいし、又は、コンピュータソフトウェア分野の当業者に周知且つ使用可能なタイプのものであってもよい。
【０１０１】
限定ではなく例示として、アーキテクチャ（８００）を有するコンピュータシステム、特にコア（８４０）は、プロセッサ（ＣＰＵ、ＧＰＵ、ＦＰＧＡ、アクセラレータなどを含む）が、１つ又は複数の有形コンピュータ可読媒体に組み込まれるソフトウェアを実行することで、機能を提供することができる。このようなコンピュータ可読媒体は、以上に紹介された、ユーザがアクセスし得る大容量記憶装置に関連する媒体、及びコア内部大容量記憶装置（８４７）又はＲＯＭ（８４５）のような、非一時的な性質を持つコア（８４０）の特定の記憶装置であってもよい。本開示の各実施例を実現するためのソフトウェアはこのような機器に記憶され、コア（８４０）によって実行される。特定のニーズに応じて、コンピュータ可読媒体には１つ又は複数の記憶機器又はチップが含まれてもよい。ソフトウェアはコア（８４０）、特にそのうちのプロセッサ（ＣＰＵ、ＧＰＵ、ＦＰＧＡなどが含まれる）に、ＲＡＭ（８４６）に記憶されるデータ構成を定義することと、ソフトウェアによって定義されるプロセスに基づきこのようなデータ構成を修正することとが含まれる、本明細書で説明される特定のプロセス又は特定のプロセスの特定部分を実行させる。また或いは代わりとして、コンピュータシステムは、ハードワイヤード又は他の形式で回路（例えば、アクセラレータ（８４４））に組み込まれたロジックによって機能を提供し、当該ロジックは、ソフトウェアの代わりとして、又はソフトウェアとともに動作することで、本明細書で説明される特定のプロセス又は特定のプロセスの特定部分を実行することができる。適切な場合、言及されたソフトウェアにはロジックが含まれ、逆に、言及されたロジックにはソフトウェアが含まれてもよい。適切な場合、言及されたコンピュータ可読媒体には、実行されるソフトウェアが記憶される回路（例えば、集積回路（ＩＣ））、実行されるロジックを具現化する回路、或いはそれらの両方が含まれてもよい。本開示にはハードウェアとソフトウェアの任意の適切な組み合わせが含まれる。
【０１０２】
本開示は、いくつかの非限定的な実施例を既に説明したが、本開示の範囲内にある変更、置き換え及び様々代替の均等物が存在する。従って、本明細書では明示的に示されていないか又は記載されていないが、当業者が、本開示の原理を具現化し従ってその精神及び範囲内にある多くのシステム及び方法を思い付くことができることは理解すべきである。
【図１】
2021520749.tif 000003
【図２】
2021520749.tif 000004
【図３】
2021520749.tif 000005
【図４】
2021520749.tif 000006
【図５】
2021520749.tif 000007
【図６】
2021520749.tif 000008
【図７】
2021520749.tif 000009
【図８】
2021520749.tif 000010
【図９】
2021520749.tif 000011
【手続補正書】
【提出日】令和2年10月28日(2020.10.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
非ゼロ参照ラインを使用してマルチラインイントラ予測を制御するために、少なくとも１つのプロセッサが実行するビデオ復号化方法であって、
現在ブロックの第１隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップと、
前記現在ブロックの第２隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップと、
最確モード（ＭＰＭ）リストを生成するステップであって、前記ＭＰＭリストに前記現在ブロックのイントラ予測のための複数の候補モードが含まれるステップと、を含み、
前記複数の候補モードは角度モードであり、
前記第１隣接ブロックのイントラ予測モードが角度モードであると決定した場合、前記ＭＰＭリストに前記第１隣接ブロックのイントラ予測モードが含まれ、前記第２隣接ブロックのイントラ予測モードが角度モードであると決定した場合、前記ＭＰＭリストに前記第２隣接ブロックのイントラ予測モードが含まれるビデオ復号化方法。
【請求項２】
前記ＭＰＭリストを生成する前記ステップは、前記第１隣接ブロックのイントラ予測モード及び前記第２隣接ブロックのイントラ予測モードのうちの一方のみが角度モードであると決定した場合、以下の動作を実行するステップを含み、
前記ＭＰＭリストの第１候補モードを、前記第１隣接ブロックのイントラ予測モードに設定し、
前記ＭＰＭリストの第２候補モードを、前記第１隣接ブロックのイントラ予測モードの第１近隣角度モードに設定し、
前記ＭＰＭリストの第３候補モードを、前記第１隣接ブロックのイントラ予測モードの、前記第１近隣角度モードと異なる第２近隣角度モードに設定し、
前記ＭＰＭリストの第４候補モードを、前記第１隣接ブロックのイントラ予測モード以外の、前記第１近隣角度モードの近隣角度モードに設定し、
前記ＭＰＭリストの第５候補モードを、前記第１隣接ブロックのイントラ予測モード以外の、前記第２近隣角度モードの近隣角度モードに設定する請求項１に記載のビデオ復号化方法。
【請求項３】
前記ＭＰＭリストは：
ＭＰＭ［０］＝ａｎｇ＿ｍｏｄｅ；
ＭＰＭ［１］＝（（ａｎｇ＿ｍｏｄｅ＋ｏｆｆｓｅｔ）％  ｍｏｄ）＋２；
ＭＰＭ［２］＝（（ａｎｇ＿ｍｏｄｅ−１）％  ｍｏｄ）＋２；
ＭＰＭ［３］＝（（ａｎｇ＿ｍｏｄｅ−１＋ｏｆｆｓｅｔ）％  ｍｏｄ）＋２；
ＭＰＭ［４］＝（（ａｎｇ＿ｍｏｄｅ）％  ｍｏｄ）＋２；
を含み、前記ａｎｇ＿ｍｏｄｅは、前記第１隣接ブロックのイントラ予測モード及び角度モードである前記第２隣接ブロックの前記イントラ予測モードのうちの一方を示す請求項２に記載のビデオ復号化方法。
【請求項４】
前記ＭＰＭリストのインデックスにおいて、最確候補モードの最低から最高までの順序は、前記第１候補モードから最後の候補モードであるように、前記ＭＰＭリストは生成されている請求項２に記載のビデオ復号化方法。
【請求項５】
前記ＭＰＭリストを生成する前記ステップは、前記第１隣接ブロックのイントラ予測モードが角度モードであると決定し、且つ前記第２隣接ブロックのイントラ予測モードが、前記第１隣接ブロックのイントラ予測モードに対する近隣角度モードであると決定した場合、以下の動作を実行するステップを含み、
前記ＭＰＭリストの第１候補モードを、前記第１隣接ブロックのイントラ予測モードに設定し、
前記ＭＰＭリストの第２候補モードを、前記第２隣接ブロックのイントラ予測モードに設定し、
前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとの間の角度モードの大小関係を決定し、ここで、小さい角度モードは、第１モードであり、大きい角度モードは、第２モードであり、
第１の場合には、前記第１モードが、コーデック標準においてシグナリングされる最小角度モードに等しく、前記第２モードが前記コーデック標準においてシグナリングされる最大角度モードに等しいことであり、前記コーデック標準は、前記非ゼロ参照ラインを使用してマルチラインイントラ予測を制御するために、前記少なくとも１つのプロセッサにより使用されるものであり、前記第１の場合、以下の動作を実行し、
前記ＭＰＭリストの第３候補モードを、前記第１モードと前記第２モードとの間にある値を有する、前記第２モードの第１近隣角度モードに設定し、
前記ＭＰＭリストの第４候補モードを、前記第１モードと前記第２モードとの間にある値を有する、前記第１モードの第１近隣角度モードに設定し、
前記ＭＰＭリストの第５候補モードを、前記第２モード以外の、前記第２モードの第１近隣角度モードの近隣角度モードに設定し、
前記第１の場合と異なる第２の場合、以下の動作を実行し、
前記ＭＰＭリストの第３候補モードを、前記第１モードと前記第２モードとの間にない値を有する、前記第１モードの第２近隣角度モードに設定し、
前記ＭＰＭリストの前記第４候補モードを、前記第１モードと前記第２モードとの間にない値を有する、前記第２モードの第２近隣角度モードに設定し、
前記ＭＰＭリストの前記第５候補モードを、前記第１モード以外の、前記第１モードの第２近隣角度モードの近隣角度モードに設定する請求項１に記載のビデオ復号化方法。
【請求項６】
前記現在ブロックのイントラ予測に対する前記ＭＰＭリストを生成するステップは：
Ｍｏｄｅ＿Ａ及びＭｏｄｅ＿Ｂを前記ＭＰＭリストに追加するステップ；及び
ＭＰＭ［２］＝（（ａｎｇ＿ｍｉｎ＋ｏｆｆｓｅｔ）％  ｍｏｄ）＋２；
ＭＰＭ［３］＝（（ａｎｇ＿ｍａｘ−１）％  ｍｏｄ）＋２；
ＭＰＭ［４］＝（（ａｎｇ＿ｍｉｎ−１＋ｏｆｆｓｅｔ）％  ｍｏｄ）＋２；
に従って、残りの角度ＭＰＭを導出するステップ；
を含み、Ｍｏｄｅ＿Ａ及びＭｏｄｅ＿Ｂはそれぞれ前記第１隣接ブロックのイントラ予測モード及び前記第２隣接ブロックのイントラ予測モードを示し、変数ａｒｇ＿ｍａｘ及びａｒｇ＿ｍｉｎはＭｏｄｅ＿Ａ及びＭｏｄｅ＿Ｂにおける最大モード及び最小モードを記録するために使用され；
Ｍｏｄｅ＿ＡがＭｏｄｅ＿Ｂより大きい場合、ａｒｇ＿ｍａｘはＭｏｄｅ＿Ａに設定され、ａｒｇ＿ｍｉｎはＭｏｄｅ＿Ｂに設定され；ａｒｇ＿ｍｉｎが２に等しく、ａｒｇ＿ｍａｘがＭ−１又はＭに等しい場合、ａｒｇ＿ｍｉｎ及びａｒｇ＿ｍａｘの値は入れ替わり、シグナリングされる番号の範囲は０ないしＭ（０及びＭを含む）であり、Ｍは正の整数である請求項５に記載のビデオ復号化方法。
【請求項７】
前記ＭＰＭリストを生成する前記ステップは、前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとが角度モードであると決定し、且つ前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとの差の絶対値が２より大きく、所定の閾値以下であり、前記所定の閾値が２より大きい正の整数である場合、以下の動作を実行するステップを含み、
前記ＭＰＭリストの第１候補モードを、前記第１隣接ブロックのイントラ予測モードに設定し、
前記ＭＰＭリストの第２候補モードを、前記第２隣接ブロックのイントラ予測モードに設定し、
前記ＭＰＭリストの第３候補モードを、前記第１隣接ブロックのイントラ予測モードの第１近隣角度モードに設定し、
前記ＭＰＭリストの第４候補モードを、前記第１隣接ブロックのイントラ予測モードの、前記第１近隣角度モードと異なる第２近隣角度モードに設定し、
前記ＭＰＭリストの第５候補モードを、前記第２隣接ブロックのイントラ予測モードの第１近隣角度モードに設定する請求項１に記載のビデオ復号化方法。
【請求項８】
前記ＭＰＭリストは：
ＭＰＭ［０］＝Ｍｏｄｅ＿Ａ
ＭＰＭ［１］＝Ｍｏｄｅ＿Ｂ
ＭＰＭ［２］＝（（Ｍｏｄｅ＿Ａ＋ｏｆｆｓｅｔ）％  ｍｏｄ）＋２；
ＭＰＭ［３］＝（（Ｍｏｄｅ＿Ａ−１）％  ｍｏｄ）＋２；
ＭＰＭ［４］＝（（Ｍｏｄｅ＿Ｂ＋ｏｆｆｓｅｔ）％  ｍｏｄ）＋２；
を含み、Ｍｏｄｅ＿Ａ及びＭｏｄｅ＿Ｂはそれぞれ前記第１隣接ブロックのイントラ予測モード及び前記第２隣接ブロックのイントラ予測モードを示す請求項７に記載のビデオ復号化方法。
【請求項９】
前記ＭＰＭリストを生成する前記ステップは、前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとが角度モードであると決定し、且つ前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとの差の絶対値が２に等しい場合に、以下の動作を実行するステップを含み、
前記ＭＰＭリストの第１候補モードを、前記第１隣接ブロックのイントラ予測モードに設定し、
前記ＭＰＭリストの第２候補モードを、前記第２隣接ブロックのイントラ予測モードに設定し、
前記ＭＰＭリストの第３候補モードを、前記第１隣接ブロックのイントラ予測モードの第１近隣角度モードに設定し、
前記ＭＰＭリストの第４候補モードを、前記第１隣接ブロックのイントラ予測モードの、前記第１近隣角度モードと異なる第２近隣角度モードに設定し、
前記ＭＰＭリストの第５候補モードを、前記第２隣接ブロックのイントラ予測モードの第１近隣角度モードに設定する請求項１に記載のビデオ復号化方法。
【請求項１０】
前記ＭＰＭリストは：
ＭＰＭ［０］＝ａｎｇ＿ｍｉｎ；
ＭＰＭ［１］＝ａｎｇ＿ｍａｘ；
ＭＰＭ［２］＝（（ａｎｇ＿ｍｉｎ−１）％  ｍｏｄ）＋２；
ＭＰＭ［３］＝（（ａｎｇ＿ｍｉｎ＋ｏｆｆｓｅｔ）％  ｍｏｄ）＋２；
ＭＰＭ［４］＝（（ａｎｇ＿ｍａｘ−１）％  ｍｏｄ）＋２；
を含み、Ｍｏｄｅ＿Ａ及びＭｏｄｅ＿Ｂはそれぞれ前記第１隣接ブロックのイントラ予測モード及び前記第２隣接ブロックのイントラ予測モードを示し、変数ａｒｇ＿ｍａｘ及びａｒｇ＿ｍｉｎはＭｏｄｅ＿Ａ及びＭｏｄｅ＿Ｂにおける最大モード及び最小モードを記録するために使用され；Ｍｏｄｅ＿ＡがＭｏｄｅ＿Ｂより大きい場合、ａｒｇ＿ｍａｘはＭｏｄｅ＿Ａに設定され、ａｒｇ＿ｍｉｎはＭｏｄｅ＿Ｂに設定される請求項９に記載のビデオ復号化方法。
【請求項１１】
さらに、
現在ブロックの第１隣接ブロックのイントラ予測モードが平面モード又は直流ＤＣモードであるかどうかを決定するステップと、
前記現在ブロックの第２隣接ブロックのイントラ予測モードが平面モード又はＤＣモードであるかどうかを決定するステップと、を含み、
前記ＭＰＭリストを生成する前記ステップは、前記第１隣接ブロックのイントラ予測モードが平面モード又はＤＣモードであると決定し、且つ前記第２隣接ブロックのイントラ予測モードが平面モード又はＤＣモードであると決定した場合、以下の動作の少なくとも１つを実行するステップを含み、
前記６つの候補モードをそれぞれ｛５０，１８，２，３４，６６，２６｝のうちの値に設定し、
前記６つの候補モードをそれぞれ｛５０，１８，２，３４，２６，４２｝のうちの値に設定し、
前記６つの候補モードは、多機能ビデオ符号化（ＶＶＣ）のモードに対応する請求項１に記載のビデオ復号化方法。
【請求項１２】
前記ＭＰＭリストのインデックスにおいて、最確候補モードの最低から最高までの順序は、｛５０，１８，２，３４，６６，２６｝の順序、又は｛５０，１８，２，３４，２６，４２｝の順序である請求項１１に記載のビデオ復号化方法。
【請求項１３】
前記ＭＰＭリストを生成する前記ステップは、前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとが角度モードであると決定する場合、以下の動作を実行するステップを含み、
前記第１隣接ブロックのイントラ予測モードと前記第２隣接ブロックのイントラ予測モードとを前記ＭＰＭリストに追加し、
以前に前記ＭＰＭリストに追加されていない、前記第１隣接ブロックと前記第２隣接ブロックとの各近隣角度モードを前記ＭＰＭリストに追加し、
前記第１隣接ブロックと前記第２隣接ブロックとの各近隣角度モードを前記ＭＰＭリストに追加した後、前記ＭＰＭリストが完全に満たされていない場合、前記ＭＰＭリストが完全に満たされるまで、前記ＭＰＭリストに含まれるモードの、以前に前記ＭＰＭリストに追加されていない近隣角度モードを前記ＭＰＭリストに追加する請求項１に記載のビデオ復号化方法。
【請求項１４】
非ゼロ参照ラインを使用してマルチラインイントラ予測を制御することで、ビデオシーケンスを復号化する装置であって、
コンピュータプログラムコードを記憶するように配置される少なくとも１つのメモリと、
前記少なくとも１つのメモリにアクセスし、前記コンピュータプログラムコードに基づき請求項１乃至１３のいずれか１項に記載のビデオ復号化方法を実行するように構成される少なくとも１つのプロセッサと、を含む装置。
【請求項１５】
請求項１乃至１３のいずれか１項に記載のビデオ復号化方法をコンピュータに実行させるコンピュータプログラム。
【国際調査報告】
2021520749.tif 000012