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

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

▶ テンセント・アメリカ・エルエルシーの特許一覧

特許7612415ビデオ復号化方法、装置、及びコンピュータプログラム
<>
  • 特許-ビデオ復号化方法、装置、及びコンピュータプログラム 図1
  • 特許-ビデオ復号化方法、装置、及びコンピュータプログラム 図2
  • 特許-ビデオ復号化方法、装置、及びコンピュータプログラム 図3
  • 特許-ビデオ復号化方法、装置、及びコンピュータプログラム 図4
  • 特許-ビデオ復号化方法、装置、及びコンピュータプログラム 図5
  • 特許-ビデオ復号化方法、装置、及びコンピュータプログラム 図6
  • 特許-ビデオ復号化方法、装置、及びコンピュータプログラム 図7
  • 特許-ビデオ復号化方法、装置、及びコンピュータプログラム 図8
  • 特許-ビデオ復号化方法、装置、及びコンピュータプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-27
(45)【発行日】2025-01-14
(54)【発明の名称】ビデオ復号化方法、装置、及びコンピュータプログラム
(51)【国際特許分類】
   H04N 19/11 20140101AFI20250106BHJP
   H04N 19/14 20140101ALI20250106BHJP
   H04N 19/176 20140101ALI20250106BHJP
   H04N 19/46 20140101ALI20250106BHJP
   H04N 19/593 20140101ALI20250106BHJP
【FI】
H04N19/11
H04N19/14
H04N19/176
H04N19/46
H04N19/593
【請求項の数】 14
(21)【出願番号】P 2020560454
(86)(22)【出願日】2019-08-29
(65)【公表番号】
(43)【公表日】2021-08-19
(86)【国際出願番号】 US2019048704
(87)【国際公開番号】W WO2020055596
(87)【国際公開日】2020-03-19
【審査請求日】2020-10-28
【審判番号】
【審判請求日】2023-07-06
(31)【優先権主張番号】62/731,776
(32)【優先日】2018-09-14
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/234,993
(32)【優先日】2018-12-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520353802
【氏名又は名称】テンセント・アメリカ・エルエルシー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジャオ,リアン
(72)【発明者】
【氏名】ジャオ,シン
(72)【発明者】
【氏名】リ,シアン
(72)【発明者】
【氏名】リィウ,シャン
【合議体】
【審判長】畑中 高行
【審判官】圓道 浩史
【審判官】片岡 利延
(56)【参考文献】
【文献】CHEN, Yi-Wen et al., Description of SDR, HDR and 360° video coding technology proposal by Qualcomm and Technicolor - low and high complexity versions, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 10th Meeting: San Diego, US, 10-20 Apr. 2018, [JVET-J0021], JVET-J0021 (version 5), ITU-T, 2018年04月14日, pp. 13-14,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/10_San%20Diego/wg11/JVET-J0021-v5.zip>: JVET-J0021_r1.docx: pp. 13-14
【文献】ZHAO, Liang et al., CE3-related: MPM based multi-line intra prediction scheme, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 11th Meeting: Ljubljana, SI, 10-18 July 2018, [JVET-K0482_r1], JVET-K0482 (version 3), ITU-T, 2018年07月14日, pp. 1-3,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K0482-v3.zip>: JVET-K0482_r1.docx: pp. 1-3
【文献】CHANG, Yao-Jen et al., Improved intra prediction method based on arbitrary reference tier coding schemes, 2016 Picture Coding Symposium,IEEE, 2017年04月24日, pp.1-5, <URL:https://ieeexplore.ieee.org/document/7906339>, <DOI: 10.1109/PCS.2016.7906339>
【文献】BROSS, Benjamin et al., Versatile Video Coding (Draft 2), Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 11th Meeting: Ljubljana, SI, 10-18 July 2018, [JVET-K1001-v4], JVET-K1001 (version 4), ITU-T, 2018年08月17日, <URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K1001-v4.zip>: JVET-K1001-v4.docx: pp.43-46
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
非ゼロ参照ラインを使用してマルチラインイントラ予測を制御するために、少なくとも1つのプロセッサが実行するビデオ復号化方法であって、
現在ブロックの第1隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップと、
前記現在ブロックの第2隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップと、
最確モード(MPM)リストを生成するステップであって、前記MPMリストに前記現在ブロックのイントラ予測のための複数の候補モードが含まれるステップと、を含み、
前記複数の候補モードは角度モードであり、
前記第1隣接ブロックのイントラ予測モードは角度モードであると決定され、前記第2隣接ブロックのイントラ予測モードは角度モードでないと決定された場合、前記MPMリストを生成するステップは、以下の動作を実行するステップを含み、
前記MPMリストの第1候補モードを、前記第1隣接ブロックのイントラ予測モードに設定し、
前記MPMリストの第2候補モードを、前記第1隣接ブロックのイントラ予測モードの第1隣接角度モードに設定し、
前記MPMリストの第3候補モードを、前記第1隣接ブロックのイントラ予測モードの、前記第1隣接角度モードと異なる第2隣接角度モードに設定し、
前記MPMリストの第4候補モードを、前記第1隣接ブロックのイントラ予測モード以外の、前記第1隣接角度モードの隣接角度モードに設定し、
前記MPMリストの第5候補モードを、前記第1隣接ブロックのイントラ予測モード以外の、前記第2隣接角度モードの隣接角度モードに設定し、
前記ビデオ復号化方法は、さらに、
現在ブロックの第1隣接ブロックのイントラ予測モードが平面モード又はDCモードであるかどうかを決定するステップと、
前記現在ブロックの第2隣接ブロックのイントラ予測モードが平面モード又はDCモードであるかどうかを決定するステップとを含み、
前記MPMリストを生成するステップは、前記第1隣接ブロックのイントラ予測モードが平面モード又はDCモードであると決定し、且つ前記第2隣接ブロックのイントラ予測モードが平面モード又はDCモードであると決定した場合、以下の動作の少なくとも1つを実行するステップを含み、
前記MPMリストに含まれる6つの候補モードをそれぞれ{50,18,2,34,66,26}のうちの値に設定し、
前記6つの候補モードをそれぞれ{50,18,2,34,26,42}のうちの値に設定し、
前記6つの候補モードは、多機能ビデオ符号化(VVC)のモードに対応する、ビデオ復号化方法。
【請求項2】
前記MPMリストは:
MPM[0]=ang_mode;
MPM[1]=((ang_mode+offset)% mod)+2;
MPM[2]=((ang_mode-1)% mod)+2;
MPM[3]=((ang_mode-1+offset)% mod)+2;
MPM[4]=((ang_mode)% mod)+2;
を含み、前記ang_modeは、前記第1隣接ブロックのイントラ予測モードを示す請求項1に記載のビデオ復号化方法。
【請求項3】
前記MPMリストのインデックスにおいて、最確候補モードの最低から最高までの順序は、前記第1候補モードから最後の候補モードであるように、前記MPMリストは生成されている請求項1に記載のビデオ復号化方法。
【請求項4】
非ゼロ参照ラインを使用してマルチラインイントラ予測を制御するために、少なくとも1つのプロセッサが実行するビデオ復号化方法であって、
現在ブロックの第1隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップと、
前記現在ブロックの第2隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップと、
最確モード(MPM)リストを生成するステップであって、前記MPMリストに前記現在ブロックのイントラ予測のための複数の候補モードが含まれるステップと、を含み、
前記複数の候補モードは角度モードであり、
前記第1隣接ブロックのイントラ予測モードが角度モードであると決定した場合、前記MPMリストに前記第1隣接ブロックのイントラ予測モードが含まれ、前記第2隣接ブロックのイントラ予測モードが角度モードであると決定した場合、前記MPMリストに前記第2隣接ブロックのイントラ予測モードが含まれ、
前記MPMリストを生成する前記ステップは、前記第1隣接ブロックのイントラ予測モードが角度モードであると決定し、且つ前記第2隣接ブロックのイントラ予測モードが、前記第1隣接ブロックのイントラ予測モードに対する隣接角度モードであると決定した場合、以下の動作を実行するステップを含み、
前記MPMリストの第1候補モードを、前記第1隣接ブロックのイントラ予測モードに設定し、
前記MPMリストの第2候補モードを、前記第2隣接ブロックのイントラ予測モードに設定し、
前記第1隣接ブロックのイントラ予測モードと前記第2隣接ブロックのイントラ予測モードとの間の角度モードの大小関係を決定し、ここで、小さい角度モードは、第1モードであり、大きい角度モードは、第2モードであり、
第1の場合、以下の動作を実行し、
前記MPMリストの第3候補モードを、前記第1モードと前記第2モードとの間にない値を有する、前記第1モードの第2隣接角度モードに設定し、
前記MPMリストの第4候補モードを、前記第1モードと前記第2モードとの間にない値を有する、前記第2モードの第2隣接角度モードに設定し、
前記MPMリストの第5候補モードを、前記第1モード以外の、前記第1モードの第2隣接角度モードの隣接角度モードに設定し、
前記ビデオ復号化方法は、さらに、
現在ブロックの第1隣接ブロックのイントラ予測モードが平面モード又はDCモードであるかどうかを決定するステップと、
前記現在ブロックの第2隣接ブロックのイントラ予測モードが平面モード又はDCモードであるかどうかを決定するステップと、を含み、
前記MPMリストを生成するステップは、前記第1隣接ブロックのイントラ予測モードが平面モード又はDCモードであると決定し、且つ前記第2隣接ブロックのイントラ予測モードが平面モード又はDCモードであると決定した場合、以下の動作の少なくとも1つを実行するステップを含み、
前記MPMリストに含まれる6つの候補モードをそれぞれ{50,18,2,34,66,26}のうちの値に設定し、
前記6つの候補モードをそれぞれ{50,18,2,34,26,42}のうちの値に設定し、
前記6つの候補モードは、多機能ビデオ符号化(VVC)のモードに対応する、ビデオ復号化方法。
【請求項5】
前記第1の場合と異なる第2の場合には、前記第1モードが、コーデック標準においてシグナリングされる最小角度モードに等しく、前記第2モードが前記コーデック標準においてシグナリングされる最大角度モードに等しいことであり、前記コーデック標準は、前記非ゼロ参照ラインを使用してマルチラインイントラ予測を制御するために、前記少なくとも1つのプロセッサにより使用されるものであり、前記第1の場合、以下の動作を実行し、
前記MPMリストの第3候補モードを、前記第1モードと前記第2モードとの間にある値を有する、前記第2モードの第1隣接角度モードに設定し、
前記MPMリストの第4候補モードを、前記第1モードと前記第2モードとの間にある値を有する、前記第1モードの第1隣接角度モードに設定し、
前記MPMリストの第5候補モードを、前記第2モード以外の、前記第2モードの第1隣接角度モードの隣接角度モードに設定する、請求項4に記載のビデオ復号化方法。
【請求項6】
前記現在ブロックのイントラ予測に対する前記MPMリストを生成するステップは:
Mode_A及びMode_Bを前記MPMリストに追加するステップ;及び
MPM[2]=((ang_min+offset)% mod)+2;
MPM[3]=((ang_max-1)% mod)+2;
MPM[4]=((ang_min-1+offset)% mod)+2;
に従って、残りの角度MPMを導出するステップ;
を含み、Mode_A及びMode_Bはそれぞれ前記第1隣接ブロックのイントラ予測モード及び前記第2隣接ブロックのイントラ予測モードを示し、変数arg_max及びarg_minはMode_A及びMode_Bにおける最大モード及び最小モードを記録するために使用される、請求項4に記載のビデオ復号化方法。
【請求項7】
非ゼロ参照ラインを使用してマルチラインイントラ予測を制御するために、少なくとも1つのプロセッサが実行するビデオ復号化方法であって、
現在ブロックの第1隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップと、
前記現在ブロックの第2隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップと、
最確モード(MPM)リストを生成するステップであって、前記MPMリストに前記現在ブロックのイントラ予測のための複数の候補モードが含まれるステップと、を含み、
前記複数の候補モードは角度モードであり、
前記第1隣接ブロックのイントラ予測モードが角度モードであると決定した場合、前記MPMリストに前記第1隣接ブロックのイントラ予測モードが含まれ、前記第2隣接ブロックのイントラ予測モードが角度モードであると決定した場合、前記MPMリストに前記第2隣接ブロックのイントラ予測モードが含まれ、
前記MPMリストを生成する前記ステップは、前記第1隣接ブロックのイントラ予測モードと前記第2隣接ブロックのイントラ予測モードとが角度モードであると決定し、且つ前記第1隣接ブロックのイントラ予測モードと前記第2隣接ブロックのイントラ予測モードとの差の絶対値が2より大きく、所定の閾値以下であり、前記所定の閾値が2より大きい正の整数である場合、以下の動作を実行するステップを含み、
前記MPMリストの第1候補モードを、前記第1隣接ブロックのイントラ予測モードに設定し、
前記MPMリストの第2候補モードを、前記第2隣接ブロックのイントラ予測モードに設定し、
前記MPMリストの第3候補モードを、前記第1隣接ブロックのイントラ予測モードの第1隣接角度モードに設定し、
前記MPMリストの第4候補モードを、前記第1隣接ブロックのイントラ予測モードの、前記第1隣接角度モードと異なる第2隣接角度モードに設定し、
前記MPMリストの第5候補モードを、前記第2隣接ブロックのイントラ予測モードの第1隣接角度モードに設定し、
前記ビデオ復号化方法は、さらに、
現在ブロックの第1隣接ブロックのイントラ予測モードが平面モード又はDCモードであるかどうかを決定するステップと、
前記現在ブロックの第2隣接ブロックのイントラ予測モードが平面モード又はDCモードであるかどうかを決定するステップと、を含み、
前記MPMリストを生成するステップは、前記第1隣接ブロックのイントラ予測モードが平面モード又はDCモードであると決定し、且つ前記第2隣接ブロックのイントラ予測モードが平面モード又はDCモードであると決定した場合、以下の動作の少なくとも1つを実行するステップを含み、
前記MPMリストに含まれる6つの候補モードをそれぞれ{50,18,2,34,66,26}のうちの値に設定し、
前記6つの候補モードをそれぞれ{50,18,2,34,26,42}のうちの値に設定し、
前記6つの候補モードは、多機能ビデオ符号化(VVC)のモードに対応する、ビデオ復号化方法。
【請求項8】
前記MPMリストは:
MPM[0]=Mode_A
MPM[1]=Mode_B
MPM[2]=((Mode_A+offset)% mod)+2;
MPM[3]=((Mode_A-1)% mod)+2;
MPM[4]=((Mode_B+offset)% mod)+2;
を含み、Mode_A及びMode_Bはそれぞれ前記第1隣接ブロックのイントラ予測モード及び前記第2隣接ブロックのイントラ予測モードを示す請求項7に記載のビデオ復号化方法。
【請求項9】
非ゼロ参照ラインを使用してマルチラインイントラ予測を制御するために、少なくとも1つのプロセッサが実行するビデオ復号化方法であって、
現在ブロックの第1隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップと、
前記現在ブロックの第2隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップと、
最確モード(MPM)リストを生成するステップであって、前記MPMリストに前記現在ブロックのイントラ予測のための複数の候補モードが含まれるステップと、を含み、
前記複数の候補モードは角度モードであり、
前記第1隣接ブロックのイントラ予測モードが角度モードであると決定した場合、前記MPMリストに前記第1隣接ブロックのイントラ予測モードが含まれ、前記第2隣接ブロックのイントラ予測モードが角度モードであると決定した場合、前記MPMリストに前記第2隣接ブロックのイントラ予測モードが含まれ、
前記MPMリストを生成する前記ステップは、前記第1隣接ブロックのイントラ予測モードと前記第2隣接ブロックのイントラ予測モードとが角度モードであると決定し、且つ前記第1隣接ブロックのイントラ予測モードと前記第2隣接ブロックのイントラ予測モードとの差の絶対値が2に等しい場合に、以下の動作を実行するステップを含み、
前記MPMリストの第1候補モードを、前記第1隣接ブロックのイントラ予測モードに設定し、
前記MPMリストの第2候補モードを、前記第2隣接ブロックのイントラ予測モードに設定し、
前記MPMリストの第3候補モードを、前記第1隣接ブロックのイントラ予測モードの第1隣接角度モードに設定し、
前記MPMリストの第4候補モードを、前記第1隣接ブロックのイントラ予測モードの、前記第1隣接角度モードと異なる第2隣接角度モードに設定し、
前記MPMリストの第5候補モードを、前記第2隣接ブロックのイントラ予測モードの第1隣接角度モードに設定し、
前記ビデオ復号化方法は、さらに、
現在ブロックの第1隣接ブロックのイントラ予測モードが平面モード又はDCモードであるかどうかを決定するステップと、
前記現在ブロックの第2隣接ブロックのイントラ予測モードが平面モード又はDCモードであるかどうかを決定するステップと、を含み、
前記MPMリストを生成するステップは、前記第1隣接ブロックのイントラ予測モードが平面モード又はDCモードであると決定し、且つ前記第2隣接ブロックのイントラ予測モードが平面モード又はDCモードであると決定した場合、以下の動作の少なくとも1つを実行するステップを含み、
前記MPMリストに含まれる6つの候補モードをそれぞれ{50,18,2,34,66,26}のうちの値に設定し、
前記6つの候補モードをそれぞれ{50,18,2,34,26,42}のうちの値に設定し、
前記6つの候補モードは、多機能ビデオ符号化(VVC)のモードに対応する、ビデオ復号化方法。
【請求項10】
前記MPMリストは:
MPM[0]=ang_min;
MPM[1]=ang_max;
MPM[2]=((ang_min-1)% mod)+2;
MPM[3]=((ang_min+offset)% mod)+2;
MPM[4]=((ang_max-1)% mod)+2;
を含み、Mode_A及びMode_Bはそれぞれ前記第1隣接ブロックのイントラ予測モード及び前記第2隣接ブロックのイントラ予測モードを示し、変数arg_max及びarg_minはMode_A及びMode_Bにおける最大モード及び最小モードを記録するために使用され;Mode_AがMode_Bより大きい場合、arg_maxはMode_Aに設定され、arg_minはMode_Bに設定される請求項9に記載のビデオ復号化方法。
【請求項11】
前記MPMリストのインデックスにおいて、最確候補モードの最低から最高までの順序は、{50,18,2,34,66,26}の順序、又は{50,18,2,34,26,42}の順序である請求項1に記載のビデオ復号化方法。
【請求項12】
非ゼロ参照ラインを使用してマルチラインイントラ予測を制御することで、ビデオシーケンスを復号化する装置であって、
コンピュータプログラムコードを記憶するように配置される少なくとも1つのメモリと、
前記少なくとも1つのメモリにアクセスし、前記コンピュータプログラムコードに基づき請求項1乃至11のいずれか1項に記載のビデオ復号化方法を実行するように構成される少なくとも1つのプロセッサと、を含む装置。
【請求項13】
請求項1乃至11のいずれか1項に記載のビデオ復号化方法をコンピュータに実行させるコンピュータプログラム。
【請求項14】
前記ビデオ復号化方法を実行する前記プロセッサにシグナリングされる予測モードの番号範囲が、両端を含む0からMの範囲内にある場合において、Mは所定の正の整数であり、
前記第1隣接ブロックのイントラ予測モードXの第1及び第2隣接角度モードは、
Xが2より大きくM-1より小さい場合には、X-1及びX+1であり、
Xが2に等しい場合には、3及びM(又はM-1)であり、
XがM-1に等しい場合には、X-1及びX+1(又は2)であり、
XがMに等しい場合には、M-1及び2(又は3)である、請求項1乃至11のうち何れか1項に記載のビデオ復号化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2018年9月14日にて提出された米国仮出願第62/731,776号、及び2018年12月28日にて提出された米国出願第16/234,993号の優先権を主張し、上記の出願の開示は、その全体が援用により本明細書に組み込まれる。
【0002】
本開示は1組の高度なビデオ符号化技術に関する。
より特に、マルチラインイントラ予測に対するMPMリスト生成スキームに関する。
【背景技術】
【0003】
図5は高効率ビデオ符号化(High Efficiency Video Coding、HEVC)で利用されるイントラ予測モードを示す。HEVCには、合計35個のイントラ予測モードがあり、モード10は水平モード(501)であり、モード26は垂直モード(502)であり、モード2、モード18及びモード34は対角モード(503)である。イントラ予測モードは、3つの最確モード(most probable mode、MPM)と残りの32個のモードによってシグナリングされる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
イントラモードを符号化するために、隣接ブロックのイントラモードに基づいて、サイズが3である最確モード(MPM)リストを構築する。当該MPMリストは、MPMリスト又はプライマリMPMリストと呼ばれる。イントラモードがMPMリストからのものではない場合、イントラモードが選択されたモードに属するかどうかを指示するように、フラグをシグナリングする。
【0005】
MPMリストの生成プロセスを以下に示す。ここで、leftIntraDirは、左側ブロックにおけるモードを指示し、aboveIntraDirは上側ブロックにおけるモードを指示する。左側ブロックと上側ブロックが現在利用できない場合、leftIntraDir又はaboveIntraDirをインデックスDC_IDXに設定する。また、変数「offset」と「mod」は定数値であり、それぞれ29と32に設定される。
・If(leftIntraDir==aboveIntraDir&&leftIntraDir>DC_IDX)
○MPM[0]=leftIntraDir;
○MPM[1]=((leftIntraDir+offset)%mod)+2;
○MPM[2]=((leftIntraDir-1)%mod)+2;
・Else if(leftIntraDir==aboveIntraDir)
○MPM[0]=PLANAR_IDX;
○MPM[1]=DC_IDX;
○MPM[2]=VER_IDX;
・Else if(leftIntraDir!=aboveIntraDir)
○MPM[0]=leftIntraDir;
○MPM[1]=aboveIntraDir;
○If(leftIntraDir>0&&aboveIntraDir>0)
■MPM[2]=PLANAR_IDX;
○Else
■MPM[2]=(leftIntraDir+aboveIntraDir)<2?VER_IDX:DC_IDX;
【課題を解決するための手段】
【0006】
少なくとも1つの実施形態によれば、非ゼロ参照ラインを使用してマルチラインイントラ予測を制御するために、少なくとも1つのプロセッサによって実行されるビデオ復号化方法であって、現在ブロックの第1隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップを含む。当該方法はさらに、現在ブロックの第2隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップを含んでもよい。当該方法はさらに、MPMリストを生成するステップを含んでもよく、当該MPMリストに現在ブロックのイントラ予測のための6つの候補モードが含まれ、当該6つの候補モードはすべて角度モードである。第1隣接ブロックのイントラ予測モードが角度モードであると決定した場合、第1隣接ブロックのイントラ予測モードを含み、第2隣接ブロックのイントラ予測モードが角度モードであると決定した場合、第2隣接ブロックのイントラ予測モードを含むように、MPMリストを生成してもよい。
【0007】
少なくとも1つの実施形態によれば、非ゼロ参照ラインを使用してマルチラインイントラ予測を制御することで、ビデオシーケンスを復号化するための装置を提供する。当該装置は、コンピュータプログラムコードを記憶するように配置される少なくとも1つのメモリと、前記少なくとも1つのメモリにアクセスし、コンピュータプログラムコードに基づき動作するように配置される少なくとも1つのプロセッサとを含んでもよい。コンピュータプログラムコードは、前記少なくとも1つのプロセッサに現在ブロックの第1隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定させるように配置される第1決定コードを含んでもよい。当該コンピュータプログラムコードはさらに、前記少なくとも1つのプロセッサに現在ブロックの第2隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定させるように配置される第2決定コードを含んでもよい。当該コンピュータプログラムコードはさらに、前記少なくとも1つのプロセッサにMPMリストを生成させるように配置される生成コードを含んでもよく、当該MPMリストに現在ブロックのイントラ予測のための6つの候補モードが含まれ、当該6つの候補モードはすべて角度モードである。当該生成コードはさらに、第1隣接ブロックのイントラ予測モードが角度モードであると決定した場合、当該MPMリストに第1隣接ブロックのイントラ予測モードが含まれ、第2隣接ブロックのイントラ予測モードが角度モードであると決定した場合、当該MPMリストに第2隣接ブロックのイントラ予測モードが含まれるように、MPMリストを前記少なくとも1つのプロセッサに生成させるように配置される。
【0008】
少なくとも1つの実施形態によれば、命令を記憶する非一時的なコンピュータ可読記憶媒体であって、前記命令は少なくとも1つのプロセッサに、現在ブロックの第1隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定させてもよい。前記命令はさらに、前記少なくとも1つのプロセッサに、現在ブロックの第2隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定させてもよい。前記命令はさらに、前記少なくとも1つのプロセッサにMPMリストを生成させてもよく、当該MPMリストに現在ブロックのイントラ予測のための6つの候補モードが含まれ、当該6つの候補モードはすべて角度モードである。前記命令は、第1隣接ブロックのイントラ予測モードが角度モードであると決定した場合、当該MPMリストに第1隣接ブロックのイントラ予測モードが含まれ、第2隣接ブロックのイントラ予測モードが角度モードであると決定した場合、当該MPMリストに第2隣接ブロックのイントラ予測モードが含まれるように、少なくとも1つのプロセッサにMPMリストを生成させてもよい。
【図面の簡単な説明】
【0009】
開示される主題の他の特徴、特性及び様々な利点は、以下の詳しい説明及び添付の図面からより明確になる。図面において、
図1】一実施形態による通信システムの簡略ブロック図の概略図である。
図2】一実施形態によるストリーミングシステムの簡略ブロック図の概略図である。
図3】一実施形態によるビデオ復号器及びディスプレイの簡略ブロック図の概略図である。
図4】一実施形態によるビデオ符号器及びビデオソースの簡略ブロック図の概略図である。
図5】HEVCにおけるイントラ予測モードの図である。
図6】多用途ビデオ符号化(Versatile Video Coding、VVC)のドラフト2におけるイントラ予測モードの図である。
図7】マルチラインイントラ予測のための参照ラインの例を示す図である。
図8】現在ブロックに対する上側ブロックと左側ブロックの例を示す図である。
図9】実施形態を実現するためのコンピュータシステムの図である。
【発明を実施するための形態】
【0010】
図1は、本開示の実施形態による通信システム(100)の簡略ブロック図を示す。システム(100)は、ネットワーク(150)を介して互いに接続される少なくとも2つの端末(110~120)を含んでもよい。一方向データ伝送の場合、第1端末(110)は、ローカル位置でビデオデータを符号化して、ネットワーク(150)を介して他の端末(120)に伝送することができる。第2端末(120)はネットワーク(150)から他の端末の符号化されたビデオデータを受信して、当該符号化されたデータを復号化するとともに、復元されたビデオデータを表示することができる。一方向データ伝送は、メディアサービスアプリケーションなどでは一般的である。
【0011】
図1は、例えば、ビデオ会議期間に発生する可能性がある符号化されたビデオの双方向伝送をサポートするために提供される第2対の端末(130、140)を示す。双方向データ伝送の場合、各端末(130、140)はローカル位置でキャプチャされたビデオデータを符号化して、ネットワーク(150)を介して他の端末に伝送することができる。各端末(130、140)はさらに、他方の端末によって伝送された符号化されたビデオデータを受信して、当該符号化されたデータを復号化し、復元されたビデオデータをローカルの表示装置に表示することができる。
【0012】
図1において、端末(110~140)は、例えば、サーバ、パーソナルコンピュータ、スマートフォン及び/又は任意の他のタイプの端末であってもよい。例えば、端末(110~140)は、ラップトップコンピュータ、タブレット、メディアプレイヤー及び/又は専用のビデオ会議機器であってもよい。ネットワーク(150)は、端末(110~140)の間で符号化されたビデオデータを伝送するための任意の数のネットワークを示し、例えば、有線及び/又は無線通信ネットワークを含む。通信ネットワーク(150)は、回線交換及び/又はパケット交換チャネルにおいて、データを交換することができる。代表的なネットワークは、電気通信ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又はインターネットを含む。本出願の検討の目的から見ると、ネットワーク(150)のアーキテクチャ及びトポロジは、以下に本明細書で説明されない限り、本開示の動作にとって重要ではない。
【0013】
開示された主題の適用例として、図2は、ストリーミング環境におけるビデオ符号器と復号器の配置方式を示す。開示された主題は、例えば、ビデオ会議、ディジタルTV、圧縮ビデオのCD、DVD、メモリスティックなどのデジタル媒体への記憶などを含む、ビデオをサポートする他のアプリケーションとともに利用されることができる。
【0014】
図2に示すように、ストリーミングシステム(200)は、キャプチャサブシステム(213)を含むことができ、当該キャプチャサブシステムは、ビデオソース(201)と符号器(203)を含む。ストリーミングシステム(200)はさらに、少なくとも1つのストリーミングサーバ(205)及び/又は少なくとも1つのストリーミングクライアント(206)を含んでもよい。
【0015】
ビデオソース(201)は、例えば圧縮されていないビデオサンプルストリーム(202)を作成することができる。サンプルストリーム(202)は、符号化されたビデオビットストリームと比較して、データ量が多いことを強調するために太線として描画され、当該サンプルストリーム(202)は、カメラ(201)に接続される符号器(203)によって処理されることができる。符号器(203)は、以下でより詳しく説明される開示される主題の各態様を実現又は実施するために、ハードウェア、ソフトウェア又はそれらの組み合わせを含むことができる。符号器(203)は、符号化されたビデオビットストリーム(204)を生成してもよい。符号化されたビデオビットストリーム(204)は、圧縮されていないビデオサンプルストリーム(202)と比較して、データ量が少ないことを強調するために、細い線として描画され、将来の使用のためにストリーミングサーバ(205)に記憶されてもよい。1つ又は複数のストリーミングクライアント(206)は、ストリーミングサーバ(205)にアクセスして、符号化されたビデオビットストリーム(204)のコピーとしてのビデオビットストリーム(209)を検索することができる。
【0016】
ストリーミングクライアント(206)は、ビデオ復号器(210)とディスプレイ(212)を含むことができる。ビデオ復号器(210)は、例えば、符号化されたビデオビットストリーム(204)の到来するコピーとしてのビデオビットストリーム(209)を復号化するとともに、ディスプレイ(212)又は別のレンダリングデバイス(図示せず)でレンダリングされ得る発信ビデオサンプルストリーム(211)を作成することができる。いくつかのストリーミングシステムにおいて、特定のビデオ符号化/圧縮規格に従って、ビデオビットストリーム(204、209)を符号化することができる。これらの規格の例は、ITU-T H.265勧告書を含むが、これに限定されていない。非公式的に多用途ビデオ符号化(Versatile Video Coding、VVC)と呼ばれるビデオ符号化規格は開発中である。本開示の実施形態はVVCのコンテキストで使用され得る。
【0017】
図3は、本開示の実施形態による、ディスプレイ(212)に接続されるビデオ復号器(210)の例示的な機能ブロック図を示す。
【0018】
ビデオ復号器(210)は、チャネル(312)、受信機(310)、バッファメモリ(315)、エントロピー復号器/パーサー(320)、スケーラ/逆変換ユニット(351)、イントラ予測ユニット(352)、動き補償予測ユニット(353)、アグリゲーター(355)、ループフィルタユニット(356)、参照ピクチャメモリ(357)、及び現在ピクチャメモリ(358)を含んでもよい。少なくとも1つの実施形態において、ビデオ復号器(210)は、集積回路、一連の集積回路及び/又は他の電子回路を含んでもよい。ビデオ復号器(210)はさらに、部分的又は全体的に、関連するメモリを備えた1つ又は複数のCPU上で実行されるソフトウェアで実現される。
【0019】
この実施形態及び他の実施形態において、受信機(310)は、復号器(210)によって復号化される1つ又は複数の符号化されたビデオシーケンスを受信することができ、一度に1つの符号化されたビデオシーケンスを受信し、各符号化されたビデオシーケンスの復号化は、他の符号化されたビデオシーケンスの復号化から独立している。チャネル(312)から符号化されたビデオシーケンスを受信することができ、当該チャネルは、符号化されたビデオデータを記憶するための記憶装置へのハードウェア/ソフトウェアリンクである。受信機(310)は、符号化されたビデオデータ及び他のデータ、例えば、それぞれの使用エンティティ(図示せず)に転送され得る符号化されたオーディオデータ及び/又は補助データストリームを受信することができる。受信機(310)は、符号化されたビデオシーケンスを他のデータから分離することができる。ネットワークジッタに対処するために、バッファメモリ(315)は、受信機(310)とエントロピー復号器/パーサー(320)(以降、「パーサー」と呼ばれる)との間に結合され得る。受信機(310)が、十分な帯域幅及び制御可能性を有する記憶/転送装置、又は等時性リアルタイムネットワークからデータを受信するとき、バッファ(315)は、使用されないか、又は、小さくなり得る。インターネットなどのパケットネットワークをなるべく利用するために、バッファ(315)を必要とする場合があり、当該バッファ(315)は比較的大きく、かつ、自己適応サイズを有してもよい。
【0020】
ビデオ復号器(210)は、エントロピー符号化されたビデオシーケンスに基づき、シンボル(321)を再構築するためのパーサー(320)を含み得る。これらのシンボルのカテゴリには、例えばビデオ復号器(210)の動作を管理するための情報、及び、図2に示すように復号器に結合され得るディスプレイ(212)などのレンダリングデバイスを制御するための情報が含まれる。レンダリングデバイスのための制御情報は、補助拡張情報(Supplementary Enhancement Information、SEIメッセージ)、又はビデオユーザビリティ情報(Video Usability Information、VUI)パラメータセットフラグメント(図示せず)という形式であってもよい。パーサー(320)は、受信された符号化されたビデオシーケンスを解析/エントロピー復号化する。符号化されたビデオシーケンスの符号化は、ビデオ符号化技術又は規格に準拠することができ、可変長符号化、ハフマン符号化(Huffman coding)、文脈依存の有無にかかわらず算術符号化などを含む、当業者に周知の原理に従うことができる。パーサー(320)は、グループに対応する少なくとも1つのパラメータに基づき、ビデオ復号器における画素サブグループのうちの少なくとも1つのためのサブグループパラメータセットを符号化されたビデオシーケンスから抽出する。サブグループは、ピクチャグループ(GOP)、ピクチャ、タイル、スライス、マクロブロック、コーディングユニット(Coding Unit、CU)、ブロック、変換ユニット(Transform
Unit、TU)、予測ユニット(Prediction Unit、PU)などを含んでもよい。パーサー(320)はさらに、変換係数、量子化器パラメータ値、動きベクトルなどのような情報を、符号化されたビデオシーケンスから抽出することができる。
【0021】
パーサー(320)は、バッファ(315)から受信されたビデオシーケンスに対してエントロピー復号化/解析操作を実行することで、シンボル(321)を作成することができる。
【0022】
シンボル(321)の再構築は、符号化されたビデオピクチャ又はその一部のタイプ(例えば、インターピクチャとイントラピクチャ、インターブロックとイントラブロック)、及び他の要因によって、複数の異なるユニットに関与することができる。関与するユニット、及び関与形態は、符号化されたビデオシーケンスからパーサー(320)によって解析されたサブグループ制御情報によって制御されることができる。簡潔のために、パーサー(320)と以下の複数のユニットとの間にある、このようなサブグループ制御情報の流れは図示されていない。
【0023】
言及された機能ブロックに加えて、復号器(210)は概念的には、以下に説明するいくつかの機能ユニットに細分され得る。商業的な制約の下で動作する実際の実現方法では、これらのユニットのうち複数のユニットは互いに密接にインタラクションするとともに、少なくとも部分的に互いに集積され得る。ただし、開示された主題を説明する目的のために、概念的には、以下の機能ユニットに細分されることは、適切である。
【0024】
1つのユニットはスケーラ/逆変換ユニット(351)であってもよい。スケーラ/逆変換ユニット(351)は、量子化変換係数及び制御情報をパーサー(320)からシンボル(321)として受信することができ、使用する変換方法、ブロックサイズ、量子化因子、量子化スケーリング行列などを含む。スケーラ/逆変換ユニット(351)は、アグリゲーター(355)に入力され得るサンプル値を含むブロックを出力することができる。
【0025】
いくつかの場合、スケーラ/逆変ユニット(351)の出力サンプルは、イントラ符号化ブロックに、即ち、以前に再構築されたピクチャからの予測情報を利用していないが、現在ピクチャの以前に再構築された部分からの予測情報を利用できるブロックに属することができる。このような予測情報は、イントラピクチャ予測ユニット(352)によって提供されることができる。いくつかの場合、イントラピクチャ予測ユニット(352)は、現在ピクチャメモリ(358)からの現在の(部分的に再構築された)ピクチャから取得された、周囲が既に再構築された情報を利用して、再構築中のブロックと同じサイズと形状のブロックを生成する。いくつかの場合、アグリゲーター355は、サンプルごとに、イントラ予測ユニット352によって生成された予測情報を、スケーラ/逆変換ユニット351によって提供された出力サンプル情報に追加する。
【0026】
他の場合、スケーラ/逆変換ユニット(351)の出力サンプルは、既にインター符号化された、場合によって動き補償されたブロックに属する可能性がある。このような場合で、動き補償予測ユニット(353)は、参照ピクチャメモリ(357)にアクセスして、予測に使用されるサンプルを取得する。ブロックに属するシンボル321に基づき、取得したサンプルを動き補償した後、これらのサンプルは、アグリゲーター355によって、スケーラ/逆変換ユニット351の出力に追加されて(この場合、残差サンプル又は残差信号と呼ばれる)、出力サンプル情報を生成することができる。動き補償予測ユニット(353)が予測サンプルを取得する参照ピクチャメモリ(357)内のアドレスは、動きベクトルによって制御されることができる。動きベクトルは、シンボル(321)の形で、動き補償予測ユニット(353)に利用可能であってもよく、シンボル(321)は、例えばx、Y及び参照ピクチャ成分を有してもよい。動き補償はさらに、サブサンプルの正確な動きベクトルが使用されている際に、参照ピクチャメモリ(357)から取得したサンプル値の補間、動きベクトル予測メカニズムなどを含んでもよい。
【0027】
アグリゲーター(355)の出力サンプルは、ループフィルタユニット(356)において、様々なループフィルタリング技術を受けてもよい。ビデオ圧縮技術は、ループ内フィルタ技術を含み、ループ内フィルタ技術は、符号化されたビデオビットストリームに含まれ、かつ、パーサー(320)からのシンボル(321)として、ループフィルタユニット(356)に適用されるパラメータによって制御されるが、ビデオ圧縮技術は、符号化されたピクチャ又は符号化されたビデオシーケンスの(復号化順で)以前の部分を復号化する期間に取得したメタ情報に応答してもよいし、以前に構築された、ループフィルタリング処理されたサンプル値に応答してもよい。
【0028】
ループフィルタユニット(356)の出力は、サンプルストリームであってもよく、当該サンプルストリームは、ディスプレイ(212)のようなレンダリングデバイスに出力されることができ、将来のインターピクチャ予測で使用されるために、参照ピクチャメモリ(356)に記憶されることができる。
【0029】
いくつかの符号化されたピクチャは完全に再構築されると、将来予測のために、参照ピクチャとして使用されることができる。符号化されたピクチャが完全に再構築され、かつ、当該符号化されたピクチャが(例えば、パーサー(320)によって)参照ピクチャとして認識される場合、現在ピクチャメモリ(358)に記憶される現在参照ピクチャは、参照ピクチャメモリ(357)の一部になることができ、その後の符号化されたピクチャの再構築を開始する前に、新たな現在ピクチャメモリを再割り当てることができる。
【0030】
ビデオ復号器(210)は、例えばITU-T H.265勧告書の規格に記録され得る所定のビデオ圧縮技術に従って、復号化動作を実行することができる。符号化されたビデオシーケンスがビデオ圧縮技術又は規格の構文に準拠している意味で、符号化されたビデオシーケンスは、例えば、ビデオ圧縮技術ドキュメント又は規格、より具体的にそのうちのプロファイルドキュメントにおいて指定されるなど、使用されているビデオ圧縮技術又は規格によって指定される構文に準拠することができる。また、いくつかのビデオ圧縮技術又は規格に準拠するために、符号化されたビデオシーケンスの複雑さは、ビデオ圧縮技術又は規格のレベルによって限定される範囲内にある。いくつかの場合、レベルは、最大ピクチャサイズ、最大フレームレート、最大再構築サンプルレート(例えば、1秒あたりのメガ(mega)のサンプルを単位として測定する)、最大参照ピクチャサイズなどを制限する。いくつかの場合、レベルによって設定される制限は、仮想参照復号器(Hypothetical Reference Decoder、HRD)の仕様、及び符号化されたビデオシーケンスにおいてシグナリングされる、HRDバッファ管理のメタデータによってさらに限定されてもよい。
【0031】
実施形態において、受信機(310)は符号化されたビデオとともに、追加(冗長)データを受信することができる。追加データは符号化されたビデオシーケンスの一部として含まれてもよい。追加データはビデオ復号器(210)によって利用されることで、データを適切に復号化し、及び/又は元のビデオデータをより正確に再構築することができる。追加データは、例えば時間、空間又はSNR拡張層、冗長スライス、冗長ピクチャ、前方誤り訂正符号などの形であってもよい。
【0032】
図4は、本開示の実施形態による、ビデオソース(201)に関連付けられるビデオ符号器(203)の例示的な機能ブロック図を示す。
【0033】
ビデオ符号器(203)は、例えばソース符号器(430)としての符号器、符号化エンジン(432)、(ローカル)復号器(433)、参照ピクチャメモリ(434)、予測器(435)、送信機(440)、エントロピー符号器(445)、コントローラ(450)、及びチャネル(460)を含んでもよい。
【0034】
符号器(203)は、ビデオソース(201)(符号器の一部ではない)からビデオサンプルを受信してもよく、当該ビデオソースは、符号器(203)によって符号化されるビデオ画像をキャプチャしてもよい。
【0035】
ビデオソース(201)は、ディジタルビデオサンプルストリームという形式で、符号器(203)によって符号化されるソースビデオシーケンスを提供することができ、当該ディジタルビデオサンプルストリームは任意の適切なビット深度(例えば、xビット、10ビット、12ビット、・・・)、任意の色空間(例えば、BT.601 Y CrCB、RGB、・・・)、及び任意の適切なサンプリング構造(例えば、Y CrCb 4:2:0、Y CrCb 4:4:4)を有してもよい。メディアサービスシステムにおいて、ビデオソース(201)は、以前に準備されたビデオを記憶するための記憶装置であってもよい。ビデオ会議システムにおいて、ビデオソース(203)は、ローカル画像情報をビデオシーケンスとしてキャプチャするための撮影装置であってもよい。ビデオデータは、順番に見る際に動きを与える複数の個別のピクチャとして提供される。ピクチャ自体は、空間画素アレイとして編成されてもよく、各画素は、使用されるサンプリング構造、色空間などに応じて、1つ又は複数のサンプルを含むことができる。画素とサンプルとの間の関係は、当業者にとって容易に理解できる。以下、サンプルを中心に説明する。
【0036】
実施形態によれば、符号器(203)は、リアルタイム又はアプリケーションによって要求される他の任意の時間の制約の下で、ソースビデオシーケンスのピクチャを符号化して、符号化されたビデオシーケンス(443)に圧縮することができる。適切な符号化速度で実行することは、コントローラ(450)の1つの機能である。コントローラ(450)はさらに、以下に説明する他の機能ユニットを制御し、これらのユニットに機能的に結合されてもよい。簡潔のために、結合を図示していない。コントローラ(450)によって設定されるパラメータは、レート制御関連パラメータ(ピクチャスキップ、量子化器、レート歪み最適化技術のλ値など)、ピクチャサイズ、ピクチャグループ(GOP)レイアウト、最大動きベクトル検索範囲などを含んでもよい。コントローラ(450)の他の機能は、当業者にとって容易に認識でき、これらの機能は、特定のシステム設計に対して最適化されたビデオ符号器(203)に属してもよい。
【0037】
いくつかのビデオ符号器は、当業者が「符号化ループ」として容易に認識する方式で動作する。非常に簡略化した説明として、符号化ループは、ソース符号器(430)の符号化部分(符号化対象となる入力ピクチャと参照ピクチャに基づきシンボルを構築することを担当する)、及び符号器(203)に埋め込まれる(ローカル)復号器(433)を含んでもよく、あるビデオ圧縮技術において、シンボルと符号化されたビデオビットストリームとの間の圧縮が可逆である場合、当該復号器(433)はシンボルを再構築して、(リモート)復号器も作成しようとするサンプルデータを作成する。当該再構築されたサンプルストリームは、参照ピクチャメモリ(434)に入力されてもよい。シンボルストリームに対する復号化は、復号器位置(ローカル又はリモート)と関係がなく、ビットが正確である結果が得られるため、参照ピクチャメモリのコンテンツも、ローカル符号器とリモート符号器との間でビットが正確である。言い換えれば、符号器の予測部分から「見られる」参照ピクチャサンプルは、復号器が復号化中に予測を利用しようとする際に「見られる」サンプル値と全く同じである。当該参照ピクチャの同期性という基本原理(及び、例えばチャネル誤差のため、同期性を維持できない場合に発生するドリフト)は、当業者にとって周知のものである
【0038】
「ローカル」復号器(433)の動作は、以上で図3を関連して詳しく説明された「リモート」復号器(210)の動作と基本的に同じであってもよい。しかしながら、シンボルは利用可能であり、また、エントロピー符号器(445)とパーサー(320)はロスレスにシンボルを符号化されたビデオシーケンスに符号化/復号化することができるので、ローカル復号器(433)において、チャネル(312)、受信機(310)、バッファ(315)及びパーサー(320)が含まれた復号器(210)のエントロピー復号化部分は完全に実現される必要がない。
【0039】
この場合、復号器に存在する解析/エントロピー復号化以外の任意の復号器技術も、必然的に基本的に同じ機能形式で対応する符号器に存在することが観察される。そのため、開示される主題は復号器の動作に着目する。符号器技術と完全に説明された復号器技術とは相互に逆であるため、符号器技術に対する説明を簡略化し得る。より詳しい説明は、特定の領域のみで必要であり、以下で提供される。
【0040】
ソース符号器(430)は、その動作の一部として、動き補償予測符号化を実行することができ、ビデオシーケンスからの「参照フレーム」として指定される1つ又は複数の符号化されたフレームを参照し、入力フレームに対して予測符号化を行う。このようにして、符号化エンジン(432)は、入力フレームの画素ブロックと、入力フレームに対する予測参照として選択され得る参照フレームの画素ブロックとの間の差異を符号化する。
【0041】
ローカルビデオ復号器(433)は、ソース符号器(430)によって作成されたシンボルに基づいて、参照フレームとして指定されるフレームの符号化されたビデオデータを復号化し得る。符号化エンジン(432)の動作は有利には非可逆処理であってもよい。符号化されたビデオデータがビデオ復号器(図4において図示せず)で復号化される場合、再構築されたビデオシーケンスは、一般的に、いくつかの誤差を有するソースビデオシーケンスのレプリカであってもよい。ローカルビデオ復号器(433)は、ビデオ復号器が参照フレームに対して実行し得る復号化処理をコピーし、再構築された参照フレームを参照ピクチャメモリ(434)に記憶させ得る。このようにして、符号器(203)は、再構築された参照フレームのコピーをローカルに記憶し、これらのコピーは、リモートビデオ復号器によって取得される再構築された参照フレームと共通のコンテンツを有する(伝送誤差が存在していない)。
【0042】
予測器(435)は、符号化エンジン(432)に対して予測検索を実行することができる。即ち、符号化対象となる新しいフレームについて、予測器(435)は、参照ピクチャメモリ(434)において、(候補参照画素ブロックとしての)新しいピクチャの適切な予測参照として使用し得るサンプルデータ、又は、例えば参照ピクチャ動きベクトル、ブロック形状などの特定のメタデータを検索することができる。予測器(435)は、サンプルブロックに基づき、画素ブロックごとに動作することで、適切な予測参照を見つけることができる。いくつかの場合、予測器(435)によって取得された検索結果に基づき決定されるように、入力ピクチャは、参照ピクチャメモリ(434)に記憶される複数の参照ピクチャから抽出された予測参照を有してもよい。
【0043】
コントローラ(450)は、例えばビデオデータを符号化するためのパラメータとサブグループパラメータを設定することを含む、ビデオ符号器(430)の符号化動作を管理することができる。
【0044】
エントロピー符号器(445)において、上記の全ての機能ユニットの出力に対してエントロピー符号化を行ってもよい。エントロピー符号器は、ハフマン符号化、可変長符号化、算術符号化などの当業者に既知の技術に従って、各種機能ユニットによって生成されたシンボルに対して可逆圧縮を行うことで、これらのシンボルを符号化されたビデオシーケンスに変換する。
【0045】
送信機(440)は、エントロピー符号器(445)によって作成された、符号化されたビデオシーケンスをバッファリングすることで、通信チャネル(460)を介する伝送のために準備することができ、当該通信チャネルは、符号化されたビデオデータを記憶するための記憶装置へのハードウェア/ソフトウェアリンクであってもよい。送信機(440)は、ビデオ符号器(430)からの符号化されたビデオデータを、伝送対象となる他のデータ、例えば符号化されたオーディオデータ及び/又は補助データストリーム(ソースは図示せず)とマージすることができる。
【0046】
コントローラ(450)は、符号器(203)の動作を管理することができる。符号化中に、コントローラ(450)は、特定の符号化されたピクチャタイプを、各符号化されたピクチャに割り当て、これは、それぞれのピクチャに適用され得る符号化技術に影響するかもしれない。例えば、ピクチャは通常、イントラピクチャ(Iピクチャ)、予測ピクチャ(Pピクチャ)、又は双方向予測ピクチャ(Bピクチャ)として割り当てられる。
【0047】
イントラピクチャ(Iピクチャ)は、シーケンスにおける任意の他のフレームを予測ソースとして使用せず、符号化及び復号化されるピクチャである。一部のビデオコーデックは、独立復号器リフレッシュ(IDR、Independent Decoder Refresh)ピクチャが含まれた異なるタイプのイントラピクチャを許容する。当業者は、Iピクチャのこれらの変形及びその対応する用途と特徴を知っている。
【0048】
予測性ピクチャ(Pピクチャ)は、多くとも1つの動きベクトルと参照インデックスを利用して、各ブロックのサンプル値を予測するイントラ予測又はインター予測を利用して、符号化及び復号化されるピクチャであってもよい。
【0049】
双方向予測性ピクチャ(Bピクチャ)は、最大2つの動きベクトルと参照インデックスを利用して、各ブロックのサンプル値を予測するイントラ予測又はインター予測を利用して、符号化及び復号化されるピクチャであってもよい。同様に、マルチ予測ピクチャは、2つを超える参照ピクチャと関連メタデータを利用して、単一ブロックの再構築を行うことができる。
【0050】
ソースピクチャは一般的に、空間的に複数のサンプルブロック(例えば、それぞれ4×4、8×8、4×8又は16×16個のサンプルを有するブロック)に細分され、ブロックごとに符号化され得る。他の(既に符号化された)ブロックを参照して、これらのブロックに対して予測符号化を行い、他のブロックは、ブロックの対応するピクチャに適用される符号化割当によって決定される。例えば、Iピクチャのブロックに対して非予測符号化を行ってもよく、又は、同じピクチャの既に符号化されたブロックを参照して、Iピクチャのブロックに対して、予測符号化(空間予測又はイントラ予測)を行ってもい。Pピクチャの画素ブロックは1つの既に符号化された参照ピクチャを参照して、空間予測又は時間予測を介して、非予測符号化を行う。Bピクチャのブロックは1つ又は2つの既に符号化された参照ピクチャを参照して、空間予測又は時間予測を介して非予測符号化を行う。
【0051】
ビデオ符号器(203)は、例えばITU-T H.265勧告書の所定のビデオ符号化技術又は規格に基づき、符号化動作を実行することができる。ビデオ符号器(203)の動作において、ビデオ符号器(203)は、入力ビデオシーケンスにおける時間的及び空間的冗長を利用する予測符号化動作が含まれる様々な圧縮動作を実行することができる。従って、符号化されたビデオデータは、使用されるビデオ符号化技術又は規格で指定される構文に準拠し得る。
【0052】
実施形態において、送信機(440)は、符号化されたビデオとともに、追加データを伝送することができる。ビデオ符号器(430)は、符号化されたビデオシーケンスの一部として、このようなデータを含んでもよい。追加データは、時間的/空間的/SNR拡張層、冗長ピクチャ及びスライスなどの他の形式の冗長データ、補充拡張情報(SEI)メッセージ、ビデオユーザビリティ情報(VUI)パラメータセットフラグメントなどを含んでもよい。
【0053】
図6は、VVCドラフト2におけるイントラ予測モードの図である。
【0054】
VVCドラフト2では、図6に示すように、合計87個のイントラ予測モードが存在し、モード18(601)は水平モードであり、モード50(602)は垂直モードであり、モード2(603)、モード34(604)及びモード66(605)は対角モードである。モード-1から-10、及びモード67から76は広角イントラ予測(Wide-Angle Intra Prediction、WAIP)モード(606、707)と呼ばれる。
【0055】
VVCドラフト2において、MPMリストのサイズは依然として3であり、MPMリストの生成プロセスはHEVCと同じである。ただし、VVCドラフト2には67個のシグナリングされるモードが存在するため、「offset」は61に変更され、「mod」は64に変更されるという相違点がある。
【0056】
VVCドラフト2の次の節は、IntraPredModeY[xPb][yPb]が取得される輝度イントラモード符号化処理について説明する。
1.隣接する位置にある(xNbA,yNbA)と(xNbB,yNbB)は、それぞれ(xPb-1,yPb)及び(xPb,yPb-1)に等しく設定される。
2.XがA又はBに置き換えられる場合、変数candIntraPredModeXは次のステップによって導出される。
-節6.4.X[Ed.(BB):Neighbouring
blocks availability checking
process tbd]で指定されるブロックの可用性導出プロセスを呼び出し、ここで、位置(xCurr,yCurr)は(xPb,yPb)
に等しく設定され、隣接する位置(xNbY,yNbY)は、入力として(xNbX,yNbX)
に等しく設定され、出力はavailableXに割り当てられる。
-次のステップに従って候補イントラ予測モードcandIntraPredModeXを取得する。
- 次の条件の1つ以上が真である場合、candIntraPredModeXをINTRA_DCに等しくなるように設定する。
- 変数availableXはFALSEに等しい。
- CuPredMode[xNbX][yNbX] はMODE_INTRAに等しくない。
- XはBに等しく、yPb-1は ((yPb >> CtbLog2SizeY) << CtbLog2SizeY)
より小さい。
-それ以外の場合、candIntraPredModeXをIntraPredModeY[xNbX][yNbX]
に等しくなるように設定する。
3.次のステップに従って、candModeList[x]を取得し、ここで、x=0...2である。
- candIntraPredModeBがcandIntraPredModeAと等しい場合、次の処理が適用される。
- candIntraPredModeAが2より小さい(即ち、INTRA_PLANAR又がINTRA_DCと等しい)場合、次のステップに従って、candModeList[x]を取得し、ここで、x=0..2である。
candModeList[0]=INTRA_PLANAR (8-1)
candModeList[1]=INTRA_DC (8-2)
candModeList[2]=INTRA_ANGULAR50(8-3)
- それ以外の場合、次のステップに従って、candModeList[x]を取得し、ここで、x=0..2である。
candModeList[0]=candIntraPredModeA
(8-4)
candModeList[1]=2+((candIntraPredModeA+61)%
64)(8-5)
candModeList[2]=2+((candIntraPredModeA-1)%
64) (8-6)
- それ以外の場合(candIntraPredModeBがcandIntraPredModeAと等しくない場合)、次の処理が適用される。
-次のステップに従って、candModeList[0]及びcandModeList[1]を取得する。
candModeList[0]=candIntraPredModeA (8-7)
candModeList[1]=candIntraPredModeB (8-8)
- candModeList[0]とcandModeList[1]がいずれもINTRA_PLANARと等しくない場合、candModeList[2]をINTRA_PLANARに等しくなるように設定する。
- それ以外の場合、candModeList[0]とcandModeList[1]がいずれもINTRA_DCと等しくない場合、candModeList[2]をINTRA_DCに等しくなるように設定する。
- それ以外の場合、candModeList[2]をINTRA_ANGULAR50に等しくなるように設定する。
4.次のプロセスを適用して、IntraPredModeY[xPb][yPb]を取得する。
-intra_luma_mpm_flag[xPb][yPb]
が1に等しい場合、IntraPredModeY[xPb][yPb]をcandModeList[intra_luma_mpm_idx[xPb][yPb]]
に等しくなるように設定する。
- それ以外の場合、次の手順を利用して、IntraPredModeY[xPb][yPb]を取得する。
1. 次の手順に従って、配列candModeList[x]を補正し、ここで、x=0..2である。
i.candModeList[0]がcandModeList[1]
より大きい場合、これらの2つの値を次のように入れ替える。
(candModeList[0],candModeList[1])=Swap(candModeList[0],candModeList[1])(8-9)
ii.candModeList[0]がcandModeList[2]
より大きい場合、これらの2つの値を次のように入れ替える。
(candModeList[0],candModeList[2])=Swap(candModeList[0],candModeList[2])(8-10)
iii.candModeList[1]
がcandModeList[2] より大きい場合、これらの2つの値を次のように入れ替える。
(candModeList[1],candModeList[2])=Swap(candModeList[1],candModeList[2])(8-11)
2. 次の手順に従って、IntraPredModeY[xPb][yPb]を取得する。
i.IntraPredModeY[xPb][yPb]をintra_luma_mpm_remainder[xPb][yPb]に等しくなるように設定する。
ii.iが0から2に等しく、0と2が含まれ、IntraPredModeY[xPb][yPb]がcandModeList[i]以上である場合、IntraPredModeY[xPb][yPb]の値を1だけ増加する。
【0057】
上記では、変数IntraPredModeY[x][y]があり、ここで、x
= xPb..xPb+cbWidth-1、且つy
= yPb..yPb+cbHeight-1であり、IntraPredModeY[xPb][yPb]
に等しくなるように配置される。
【0058】
VVCドラフト2の開発において、サイズが6のMPMリストが提案される。当該MPMリストにはPlanar(平面)モードとDCモードが含まれる。左モードと上モードという2つの隣接モードを利用して、他の4つのMPMを生成する。
【0059】
より多くの参照ラインを使用してイントラ予測を行うためのマルチラインイントラ予測が提案され、その中、どの参照ラインを利用してイントラ予測器を生成するかということは、符号器によって判定され、シグナリングされる。参照ラインインデックスは、イントラ予測モードの前にシグナリングされ、また、非ゼロ参照ラインインデックスがシグナリングされた場合、Planarモード/DCモードはイントラ予測モードから除外される。図7は、4つの参照ライン(710)の例を示し、各参照ライン(710)は、左上の参照サンプルとともに、6つのセグメント(即ち、セグメントAからセグメントF)で構成される。また、セグメントAとセグメントFには、それぞれ、セグメントBとセグメントEに最も近いサンプルが埋め込まれる。
【0060】
マルチラインイントラ予測では、シグナリングされた参照ラインインデックスが非ゼロである場合、PlanarモードとDCモードは、MPMリストの生成及びモード符号化から除外される。また、2つの隣接モードによって、サイズが6のMPMリストを生成することが提案される。従って、2つの隣接モードにしかアクセスできない場合に、非ゼロ行に対して6つの角度MPMを生成する方法については、オープンクエスチョンである。
【0061】
提案された方法は、別々に使用されてもよく、又は、任意の順序で組み合わせて使用されてもよい。
【0062】
以下の説明では、最も近い参照ラインのラインインデックスは0(ゼロ参照ライン)である。シグナリングされる最大の参照ラインの番号はNとして示される。
【0063】
同様に、図8に示すように、上(トップ)側ブロック(701)と左側ブロック(702)を次のように限定する。
【0064】
図8に示すように、現在ブロック(703)内の左上位置にある画素は(x,y)として示される。含まれる全てのサンプルのy座標がy以上であり、且つ含まれる全てのサンプルのx座標がxより小さいブロックは、左側ブロックと呼ばれる。含まれる全てのサンプルのy座標がyより小さいブロックは、上側ブロックと呼ばれる。図8は、現在ブロック(703)の左側ブロック(L1、Lx及びLn)及び上側ブロック(A1、A2、Ax、An)の一例を示す。
【0065】
以下で言及される2つの隣接モードは、現在ブロック(703)の上側(701)から、又は現在ブロック(703)の左側(702)からのものであり得る。以下は、2つの隣接モードの例をいくつか示す。
【0066】
一例では、2つの隣接モードはいずれも左側(702)からのものである。
【0067】
他の例では、2つの隣接モードはいずれも上側(701)からのものである。
【0068】
他の例では、隣接モードのうちの一方は左側(702)からのものであり、他方の隣接モードは上側(701)からのものである。
【0069】
他の例では、現在ブロック(703)の幅が現在ブロック(703)の高さより大きい場合、2つの隣接モードはいずれも上側(701)からのものであり、又は、現在ブロック(703)の高さが幅より大きい場合、2つの隣接モードはいずれも左側(702)からのものであり、又は、現在ブロック(703)の幅が高さに等しい場合、一方の隣接モードは上側(701)から、他方の隣接モードは左側(702)からのものである。
【0070】
ブロック幅、ブロックの高さ、及びブロック幅とブロック高さとの比に基づき、参照サンプル側を(以上の例で説明したように)選択及び使用することで、2つ(又はそれ以上)の隣接ブロックを取得することができる。
【0071】
一例では、ブロックの幅/高さが所定の閾値より大きい場合、上側(701)のみから、2つ(又はそれ以上)の隣接ブロックを選択する。閾値の値の例は2、4、8、16、32及び64が含まれるが、これらに限定されない。
【0072】
他の例では、ブロックの高さ/幅が所定の閾値より大きい場合、左側(702)のみから、2つ(又はそれ以上)の隣接ブロックを選択する。閾値の値の例は2、4、8、16、32及び64が含まれるが、これらに限定されない。
【0073】
以下の説明では、隣接ブロックのモードが利用できない場合、モードを、Planarモード又はDCモードに設定する。
【0074】
以下の説明では、シグナリングされたモードの番号範囲が0からM(0とMが含まれる)の範囲である場合、Mは、例えば34や66などの任意の正の整数であってもよい。所定のモードXの隣接モードは、Xが2より大きくM-1より小さい場合、Xの隣接モードがX-1及びX+1であるように限定される。Xが2に等しい場合、Xの隣接モードは3及びM(又はM-1)である。XがM-1に等しい場合、Xの隣接モードはX-1及びX+1(又は2)である。XがMに等しい場合、Xの隣接モードはM-1及び2(又は3)である。
【0075】
以下の説明では、モードがPlanarモード又はDCモードではない場合、又は、モードが例えば、VVCドラフト2で限定されたイントラ予測モード2~66のように、所定の予測方向に従って、予測サンプルを生成する場合、当該モードは、角度モードと呼ばれる。Offsetとmodという2つの変数は、次の2つのグループがある。
1)Offset=mod-3,mod=M-2;
2)Offset=mod-3,mod=M-1;
【0076】
シグナリングされた参照ラインインデックスが非ゼロである場合、次の方法は、2つの隣接モードを介して6つの角度MPMを生成することができる。次の方法又は例は、単独で使用されてもよく、又は、任意の順序で組み合わせて使用されてもよい。
【0077】
一実施形態において、2つの隣接モードのうちの少なくとも1つが角度モードである場合、以下のアルゴリズムを使用して6つの角度MPMを生成する。2つの隣接モードはMode_AとMode_Bとして示される。変数ang_mode[]を利用して、隣接モードの角度モードを記録する。変数ang_countを利用して角度モードの数を示し、mpm_indexを利用してMPMリストのインデックスを示す。最初、ang_countとmpm_indexは0に設定される。IncludedMode[]を利用して、各モードがMPMリストに含まれるかどうかを示し、配列IncludedMode[]における全ての要素は、最初にFlaseに設定される。
・Mode_Aが角度モードである場合、MPM
[mpm_index]=Mode_A、ang_count+=1、mpm_index+=1になる;
・Mode_Bが角度モードである場合、MPM
[mpm_index]=Mode_B、ang_count+=1、mpm_index+=1になる;
・(diff=0;diff≦2&&mpm_index<6;diff++)の場合{
・(idx=0;idx<ang_count;idx++)の場合{
○MPM[mpm_index]=((ang_mode[idx]+offset-diff)%mod)+2;
○(includedMode[MPM[mpm_index]]==false))の場合{、
■includedMode[MPM[mpm_index++]]=true} ○mpm_index==6の場合、ブレークする;
○MPM[mpm_index]=((ang_mode[idx]-1+diff)
%mod)+2;
○(includedMode[MPM[mpm_index]]==false)の場合{、
■includedMode[MPM[mpm_index++]]= true}になる。
【0078】
一実施形態において、隣接モードのうちの1つのみがang_neighborとして示される角度モードである場合、ang_neighbor及びその2つの隣接モード(mode_Lとmode_Rとして示される)はMPMリストに追加され、そして、mode_Lの1つの隣接モードとmode_Rの1つの隣接モードはMPMリストに追加される。最後に、垂直/水平モードを追加することで、6つの角度MPMを生成する。これらの6つの角度モードは任意の順序でMPMリストに追加されてもよい。
一例では、6つの角度MPMを次のように生成する。
・MPM[0]=ang_mode
・MPM[1]=((ang_mode+offset)%
mod)+2;
・MPM[2]=((ang_mode-1)%mod)+2;
・MPM[3]=((ang_mode-1+offset)%mod)+2;
・MPM[4]=((ang_mode)%mod+2;
・MPM[5]=垂直又は水平モードである。一例では、MPM[0]からMPM[4]には垂直モードが含まれない場合、MPM[5]は垂直モードに設定される。さもなければ、MPM[5]は水平モードに設定される。
【0079】
他の実施形態において、隣接モードのうちの1つのみがang_neighborとして示される角度モードである場合、ang_neighbor及びその2つの隣接モード(mode_Lとmode_Rとして示される)はMPMリストに追加され、そして、mode_Lの1つの隣接モード(mode_L_Lとして示される)とmode_Rの1つの隣接モード(mode_R_Rとして示される)はMPMリストに追加される。最後に、mode_L_L又はmode_R_Rの1つの隣接モードをMPMリストに追加する。これらの6つの角度モードは任意の順序でMPMリストに追加されてもよい。
一例では、6つの角度MPMを次のように生成する。
・MPM[0]=ang_mode
・MPM[1]=((ang_mode+offset%mod)+2;
・MPM[2]=((ang_mode-1)%mod)+2;
・MPM[3]=((ang_mode-1+offset)%mod)+2;
・MPM[4]=((ang_mode)%mod+2;
・MPM[5]=((ang_mode+1)%mod)+2;
他の例では、6つの角度MPMを次のように生成する。
・MPM[0]=ang_mode
・MPM[1]=((ang_mode+offset)%mod)+2;
・MPM[2]=((ang_mode-1)%mod)+2;
・MPM[3]=((ang_mode-1+offset)%mod)+2;
・MPM[4]=((ang_mode)%mod)+2;
・MPM[5]=((ang_mode-2+offset)%mod)+2;
【0080】
他の実施形態において、隣接モードのうちの1つのみがang_neighborとして示される角度モードである場合、6つの角度MPMを次のように取得し、これらの6つの角度モードは任意の順序でMPMリストに追加される。以下、一例を示す。
・MPM[0]=ang_mode
・MPM[1]=((ang_mode+offset)%mod)+2;
・MPM[2]=((ang_mode-1)%mod)+2;
・MPM[3]=((ang_mode-2+offset)%mod)+2;
・MPM[4]=((ang_mode+1)%mod)+2;
・MPM[5]=垂直又は水平モードである。一例では、MPM[0]からMPM[4]には垂直モードが含まれない場合、MPM[5]は垂直モードに設定される。さもなければ、MPM[5]は水平モードに設定される。
【0081】
他の実施形態において、隣接モードのうちの2つの隣接モードが角度モードであり、それらが隣接するモードである場合、MPMリストを次のように生成する。2つの隣接モードはMode_AとMode_Bとして示され、MPMリストに追加される。変数ang_maxとang_minを利用して、Mode_AとMode_Bの間にある最大モードと最小モードを記録する。
・Mode_AがMode_Bより大きい場合、ang_maxはMode_Aに設定され、ang_minはMode_Bに設定され、
・ang_minが2に等しく、ang_maxがM-1又はMに等しい場合、ang_minとang_maxの値を入れ替える。
・他の4つの角度MPMを次のように取得する。これらの4つのモードを任意の順序で追加してもよく、以下は一例である。
・MPM[2]=((ang_min+offset)%mod)+2;
・MPM[3]=((ang_max-1)%mod)+2;
・MPM[4]=((ang_min-1+offset)%mod)+2;
・MPM[5]=((ang_max)%mod)+2;
【0082】
他の実施形態において、2つの隣接モードがMode_AとMode_Bで示され、これらの2つの隣接モードがいずれも角度モードであり、且つ、abs(Mode_A-Mode_B)>2&&abs(Mode_A-Mode_B)≦Thresである場合、以下のアルゴリズムを利用して6つの角度MPMを生成する。Thresは正の整数であって、Thresは2より大きく、例えば、Thres=61又は62又は63である。
・最初に、Mode_AとMode_BをMPMリストに追加する
・そして、Mode_Aの2つの隣接モードと、Mode_Bの2つの隣接モードもMPMリストに追加する。
・また、これらの6つの角度MPMは、任意の順序でMPMリストに追加されてもよい。
・以下、6つのMPMを生成する例を示す。
○MPM[0]=Mode_A
○MPM[1]=Mode_B
○MPM[2]=((Mode_A+offset)%mod)+2;
○MPM[3]=((Mode_A-1)%mod)+2;
○MPM[4]=((Mode_B+offset)%mod)+2;
○MPM[5]=((Mode_B-1)%mod)+2;
【0083】
他の実施形態において、2つの隣接モードがMode_AとMode_Bで示され、これらの2つの隣接モードがいずれも角度モードであり、且つ、abs(Mode_A-Mode_B)==2||abs(Mode_A-Mode_B)>Thresであり、Thresが正の整数であり、Thresが2より大きく、例えば、Thres=61又は62又は63である場合、以下のアルゴリズムを利用して6つの角度MPMを取得する。
・変数ang_maxとang_minを利用してMode_AとMode_Bとの間にある最大モードと最小モードを記録する。
・Mode_AがMode_Bより大きい場合、ang_maxはMode_Aに設定され、ang_minはMode_Bに設定される。
・そして、Mode_A及びMode_Bの3つの隣接モードをMPMリストに追加する。
・最後に、垂直又は水平モードをMPMリストに追加し、これらの6つのMPMは任意の順序でMPMリストに追加されてもよい。
・以下は、一例を示す。
・MPM[0]=ang_min
・MPM[1]=ang_max
・MPM[2]=((ang_min-1)%mod)+2;
・MPM[3]=((ang_min+offset)%mod)+2;
・MPM[4]=((ang_max-1)%mod)+2;
・MPM[5]=垂直又は水平モードである。一例では、MPM[0]からMPM[4]には垂直モードが含まれない場合、MPM[5]は垂直モードに設定される。さもなければ、MPM[5]は水平モードに設定される。
【0084】
他の実施形態において、2つの隣接モードがいずれもPlanarモード又はDCモードである場合、6つのデフォルトモードを利用してMPMリストを充填する。これらの6つのデフォルトモードは、任意の順序でMPMリストに追加されてもよい。
・一実施形態において、6つのデフォルトモードは{50,18,2,34,66,26}である。
・他の実施形態において、6つのデフォルトモードは{50,18,2,34,26,42}。
・他の実施形態において、現在ブロックの幅が高さより大きい場合、6つのデフォルトモードは{50、18、34、66、42、58}である。
・他の実施形態において、現在ブロックの高さが幅より大きい場合、6つのデフォルトモードは{50、18、34、2、10、26}である。
・他の実施形態において、現在ブロックの幅が高さに等しい場合、6つのデフォルトモードは{50,18,2,34,26,42}である。
【0085】
他の実施形態において、最初に、角度モードである全ての隣接モードをMPMリストに追加する。そして、角度モードであるこれらの隣接モードのそれぞれについて、ang_modeとして示され、角度モード((ang_mode-1)%mod)+2と角度モード((ang_mode+offset)%mod)+2がMPMリストに含まれない場合、それらをMPMリストに追加する。
・一実施形態において、MPMリストがまだ完全に充填されていない場合、いくつかのデフォルトモードを追加する。デフォルトモードリストは、以上の項目番号hで説明した代替のいずれか1つである。
・他の実施形態において、MPMリストがまだ完全に充填されていない場合、(mpm_modeとして示される)既にMPMリストにあったモードのそれぞれについて、角度モード((mpm_mode-1)%mod)+2と角度モード((mpm_mode+offset)%mod)+2がMPMリストに含まれない場合、それらをMPMリストに追加する。
【0086】
少なくとも1つの実施形態において、上記の技術は、集積回路、一連の集積回路及び/又は他の電子回路によって実行されることができる。少なくとも1つの実施形態において、技術は、関連するメモリを有する1つ又は複数のCPU上で実行されるソフトウェアで部分的又は完全に実現することができる。
【0087】
コンピュータ可読命令を利用して、上記の技術を、コンピュータソフトウェアとして実現し、それを1つ又は複数のコンピュータ可読媒体に物理的に記憶する。例えば、図9は、本開示のいくつかの実施形態を実現するのに適したコンピュータシステム(800)を示す。
【0088】
コンピュータソフトウェアは、任意の適切なマシンコード又はコンピュータ言語を使用してコーディングすることができ、任意の適切なマシンコード又はコンピュータ言語に対して、アセンブル、コンパイル、リンクなどのメカニズムを適用することで、コンピュータ中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)などによって直接的に実行されるか、又は解釈、マイクロコードなどによって実行される命令を含むコードを作成することができる。
【0089】
命令は、例えばパーソナルコンピュータ、タブレットコンピュータ、サーバ、スマートフォン、ゲーム機器、モノのインターネット機器などを含む、様々なタイプのコンピュータ又はそれらのコンポーネントで実行されることができる。
【0090】
図9に示すコンピュータシステム(800)のためのコンポーネントは、本質的に例示であり、本開示の実施形態を実現するためのコンピュータソフトウェアの使用範囲又は機能に制限を加えることを意図するものではない。コンポーネントの配置は、コンピュータシステム(800)の非限定的な実施形態に示めされるコンポーネントのいずれか、又はそれらの組み合わせに関連する依存性又は要件を有するものとして解釈されるべきではない。
【0091】
コンピュータシステム(800)はいくつかのヒューマンマシンインターフェイス入力装置を含んでもよい。このようなヒューマンマシンインターフェイス入力装置は、例えば触覚入力(例えば:キーストローク、スライド、データグローブ移動)、オーディオ入力(例えば:音声、拍手)、視覚入力(例えば:姿勢)、嗅覚入力(図示せず)などの1つ又は複数の人間ユーザによる入力に応答することができる。ヒューマンマシンインタフェース装置はさらに、例えば、オーディオ(例えば、音声、音楽、環境音)、画像(例えば、スキャンした画像、静的画像撮影装置から取得された写真画像)、ビデオ(例えば2次元ビデオ、ステレオビデオが含まれる3次元ビデオ)などの、人間の意識的な入力に必ずしも直接関連しない特定のメディアをキャプチャするために使用されることもできる。
【0092】
入力ヒューマンマシンインターフェイス装置は、キーボード(801)、マウス(802)、タッチパッド(803)、タッチパネル(810)、データグローブ、ジョイスティック(805)、マイク(806)、スキャナ(807)、撮影装置(808)のうちの1つ又は複数を有してもよい(それぞれが1つのみ図示される)。
【0093】
コンピュータシステム(800)はさらにいくつかのヒューマンマシンインターフェイス出力装置を含んでもよい。このようなヒューマンマシンインターフェイス出力装置は、例えば触覚出力、音、光及び匂い/味を介して1つ又は複数の人類ユーザーの感覚を刺激することができる。このようなヒューマンマシンインターフェイス出力装置は、触覚出力装置(例えば、タッチパネル(810)、データグローブ又はジョイスティック(805)によって提供される触覚フィードバック装置があるが、入力装置として機能しない触覚フィードバック装置もある)であってもよい。例えば、このような装置はオーディオ出力装置(例えば、スピーカー(809)、ヘッドフォン(図示せず))、視覚出力装置(例えば、スクリーン(810)、CRTスクリーン、LCDスクリーン、プラズマスクリーン、OLEDスクリーンを含み、それぞれはタッチパネル入力能力、触覚フィードバック能力を有してもよく、有してなくてもよく、そのうちのいくつかのスクリーンは、立体出力のような手段で、2次元の視覚を出力し又は3次元以上の出力を出力し、バーチャルリアリティ眼鏡(図示せず)、ホログラフィックディスプレイ及びスモークタンク(図示せず))、及びプリンター(図示せず)であってもよい。
【0094】
コンピュータシステム(800)はさらに、人間がアクセスし得る記憶装置及びその関連する媒体を含んでもよく、例えば、CD/DVDなどの媒体(821)を有するCD/DVDROM/RW(820)などの光学媒体、サムドライブ(822)、取り外し可能なハードドライブ又はソリッドステートドライブ(823)、磁気テープとフロッピーディスク(図示せず)のような従来の磁気媒体、専用ROM/ASIC/PLDに基づく、ドングルのような装置(図示せず)などを含む。
【0095】
当業者は、本出願で開示された主題に関連して使用される用語「コンピュータ可読媒体」には伝送媒体、搬送波又は他の瞬間信号が含まれないことを理解できる。
【0096】
コンピュータシステム(800)はさらに、1つ又は複数の通信ネットワークへのインタフェースを含んでもよい。ネットワークは、例えば無線、有線、光学的ネットワークであってもよい。ネットワークは、ローカルエリアネットワーク、広域ネットワーク、メトロポリタンネットワーク、車両工業ネットワーク、リアルタイムネットワーク、遅延耐性ネットワークなどであってもよい。ネットワークの例は、イーサネットのようなローカルエリアネットワーク、無線LAN、(GSM、3G、4G、5G、LTEなどが含まれる)セルラーネットワーク、(有線テレビ、衛星テレビ及び地上波テレビが含まれる)テレビ有線又は無線広域デジタルネットワーク、(CANBusが含まれる)車両及び工業ネットワークなどを含む。一部のネットワークは一般的に、ある汎用データポート又は周辺バス(849)(例えば、コンピュータシステム(800)のUSBポート)に接続される外部ネットワークインタフェースアダプタを必要とし、他のインタフェースは一般的に、後述するようなシステムバスに接続されることにより、コンピュータシステム(800)のコアに集積される(例えば、PCコンピュータシステムに集積されるイーサネットインタフェース、又はスマートフォンコンピュータシステムに集積されるセルラーネットワークインタフェースである)。コンピュータシステム(800)は、これらのネットワークのいずれかを使用して、他のエンティティと通信することができる。このような通信は、一方向受信のみ(例えば、放送テレビ)、一方向送信のみ(例えば、あるCANbus機器へのCANバス)、又は双方向、例えば、ローカルエリア又は広域デジタルネットワークを使用する他のコンピュータシステムへの通信である。上記の各ネットワーク及びネットワークインタフェースに、特定のプロトコル及びプロトコルスタックを利用することができる。
【0097】
ヒューマンマシンインターフェイス装置、人間がアクセスし得る記憶装置、及びネットワークインタフェースは、コンピュータシステム(800)のコア(840)に接続され得る。
【0098】
コア(840)は、1つ又は複数の中央処理ユニット(CPU)(841)、グラフィック処理ユニット(GPU)(842)、フィールドプログラム可能なゲートアレイ(FPGA)(843)という形式の専用のプログラム可能な処理ユニット、あるタスクのためのハードウェアアクセラレータ(844)などを含んでもよい。これらの装置は、読み取り専用メモリ(ROM)(845)、ランダムアクセスメモリ(846)、ユーザがアクセスできない内部ハードディスクドライブ、SSDなどの内部大容量記憶装置(847)とともに、システムバス(848)を介して接続されてもよい。一部のコンピュータシステムにおいて、1つ又は複数の物理プラグという形式で、システムバス(848)にアクセスして、追加のCPU、GPUなどによって拡張を実現することができる。周囲機器は直接的又は周辺バス(849)を介してコアのシステムバス(848)に接続されてもよい。周辺バスのアーキテクチャはPCI、USBなどを含む。
【0099】
CPU(841)、GPU(842)、FPGA(843)及びアクセラレータ(844)はいくつかの命令を実行することができ、これらの命令を組み合わせると、上記のコンピュータコードを構成することができる。当該コンピュータコードはROM(845)又はRAM(846)に記憶される。一時的なデータはRAM(846)に記憶されてもよく、永久データは、例えば内部大容量記憶装置(847)に記憶されてもよい。キャッシュメモリを使用することによって、任意の記憶装置への高速ストレージ及び検索が可能になり、当該キャッシュメモリは1つ又は複数のCPU(841)、GPU(842)、大容量記憶装置(847)、ROM(845)、RAM(846)などに密接に関連付けることができる。
【0100】
コンピュータ可読媒体は、コンピュータによって実現される様々な動作を実行するためのコンピュータコードを有することができる。媒体とコンピュータコードは、本開示の目的のために、特別に設計及び構築される媒体とコンピュータコードであってもよいし、又は、コンピュータソフトウェア分野の当業者に周知且つ使用可能なタイプのものであってもよい。
【0101】
限定ではなく例示として、アーキテクチャ(800)を有するコンピュータシステム、特にコア(840)は、プロセッサ(CPU、GPU、FPGA、アクセラレータなどを含む)が、1つ又は複数の有形コンピュータ可読媒体に組み込まれるソフトウェアを実行することで、機能を提供することができる。このようなコンピュータ可読媒体は、以上に紹介された、ユーザがアクセスし得る大容量記憶装置に関連する媒体、及びコア内部大容量記憶装置(847)又はROM(845)のような、非一時的な性質を持つコア(840)の特定の記憶装置であってもよい。本開示の各実施例を実現するためのソフトウェアはこのような機器に記憶され、コア(840)によって実行される。特定のニーズに応じて、コンピュータ可読媒体には1つ又は複数の記憶機器又はチップが含まれてもよい。ソフトウェアはコア(840)、特にそのうちのプロセッサ(CPU、GPU、FPGAなどが含まれる)に、RAM(846)に記憶されるデータ構成を定義することと、ソフトウェアによって定義されるプロセスに基づきこのようなデータ構成を修正することとが含まれる、本明細書で説明される特定のプロセス又は特定のプロセスの特定部分を実行させる。また或いは代わりとして、コンピュータシステムは、ハードワイヤード又は他の形式で回路(例えば、アクセラレータ(844))に組み込まれたロジックによって機能を提供し、当該ロジックは、ソフトウェアの代わりとして、又はソフトウェアとともに動作することで、本明細書で説明される特定のプロセス又は特定のプロセスの特定部分を実行することができる。適切な場合、言及されたソフトウェアにはロジックが含まれ、逆に、言及されたロジックにはソフトウェアが含まれてもよい。適切な場合、言及されたコンピュータ可読媒体には、実行されるソフトウェアが記憶される回路(例えば、集積回路(IC))、実行されるロジックを具現化する回路、或いはそれらの両方が含まれてもよい。本開示にはハードウェアとソフトウェアの任意の適切な組み合わせが含まれる。
【0102】
本開示は、いくつかの非限定的な実施例を既に説明したが、本開示の範囲内にある変更、置き換え及び様々代替の均等物が存在する。従って、本明細書では明示的に示されていないか又は記載されていないが、当業者が、本開示の原理を具現化し従ってその精神及び範囲内にある多くのシステム及び方法を思い付くことができることは理解すべきである。
【0103】
(付記1)
非ゼロ参照ラインを使用してマルチラインイントラ予測を制御するために、少なくとも1つのプロセッサが実行するビデオ復号化方法であって、
現在ブロックの第1隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップと、
前記現在ブロックの第2隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定するステップと、
最確モードMPMリストを生成するステップであって、前記MPMリストに前記現在ブロックのイントラ予測のための6つの候補モードが含まれるステップと、を含み、
前記6つの候補モードはすべて角度モードであり、
前記第1隣接ブロックのイントラ予測モードが角度モードであると決定した場合、前記MPMリストに前記第1隣接ブロックのイントラ予測モードが含まれ、前記第2隣接ブロックのイントラ予測モードが角度モードであると決定した場合、前記MPMリストに前記第2隣接ブロックのイントラ予測モードが含まれるビデオ復号化方法。
(付記2)
前記MPMリストを生成する前記ステップは、前記第1隣接ブロックのイントラ予測モードが角度モードであると決定し、且つ前記第2隣接ブロックのイントラ予測モードが角度モードではないと決定した場合、以下の動作を実行するステップを含み、
前記MPMリストの第1候補モードを、前記第1隣接ブロックのイントラ予測モードに設定し、
前記MPMリストの第2候補モードを、前記第1隣接ブロックのイントラ予測モードの第1隣接角度モードに設定し、
前記MPMリストの第3候補モードを、前記第1隣接ブロックのイントラ予測モードの、前記第1隣接角度モードと異なる第2隣接角度モードに設定し、
前記MPMリストの第4候補モードを、前記第1隣接ブロックのイントラ予測モード以外の、前記第1隣接角度モードの隣接角度モードに設定し、
前記MPMリストの第5候補モードを、前記第1隣接ブロックのイントラ予測モード以外の、前記第2隣接角度モードの隣接角度モードに設定し、
前記MPMリストの第6候補モードを、前記第1隣接角度モード以外の、前記第4候補モードの隣接角度モードに設定するか、又は、前記第2隣接角度モード以外の、前記第5候補モードの隣接角度モードに設定する付記1に記載のビデオ復号化方法。
(付記3)
前記MPMリストのインデックスにおいて、前記最確候補モードの最低から最高までの順序は、前記第1候補モードから前記第6候補モードである付記2に記載のビデオ復号化方法。
(付記4)
前記MPMリストを生成する前記ステップは、前記第1隣接ブロックのイントラ予測モードが角度モードであると決定し、且つ前記第2隣接ブロックのイントラ予測モードが、前記第1隣接ブロックのイントラ予測モードに対する隣接角度モードであると決定した場合、以下の動作を実行するステップを含み、
前記MPMリストの第1候補モードを、前記第1隣接ブロックのイントラ予測モードに設定し、
前記MPMリストの第2候補モードを、前記第2隣接ブロックのイントラ予測モードに設定し、
前記第1隣接ブロックのイントラ予測モードと前記第2隣接ブロックのイントラ予測モードとの間の角度モードの大小関係を決定し、ここで、小さい角度モードは、第1モードであり、大きい角度モードは、第2モードであり、
第1の場合には、前記第1モードが、コーデック標準においてシグナリングされる最小角度モードに等しく、前記第2モードが前記コーデック標準においてシグナリングされる最大角度モードに等しいことであり、前記コーデック標準は、前記非ゼロ参照ラインを使用してマルチラインイントラ予測を制御するために、前記少なくとも1つのプロセッサにより使用されるものであり、前記第1の場合、以下の動作を実行し、
前記MPMリストの第3候補モードを、前記第1モードと前記第2モードとの間にある値を有する、前記第2モードの第1隣接角度モードに設定し、
前記MPMリストの第4候補モードを、前記第1モードと前記第2モードとの間にある値を有する、前記第1モードの第1隣接角度モードに設定し、
前記MPMリストの第5候補モードを、前記第2モード以外の、前記第2モードの第1隣接角度モードの隣接角度モードに設定し、
前記MPMリストの第6候補モードを、前記第1モード以外の、前記第1モードの第1隣接角度モードの隣接角度モードに設定し、
前記第1の場合と異なる第2の場合、以下の動作を実行し、
前記MPMリストの第3候補モードを、前記第1モードと前記第2モードとの間にない値を有する、前記第1モードの第2隣接角度モードに設定し、
前記MPMリストの前記第4候補モードを、前記第1モードと前記第2モードとの間にない値を有する、前記第2モードの第2隣接角度モードに設定し、
前記MPMリストの前記第5候補モードを、前記第1モード以外の、前記第1モードの第2隣接角度モードの隣接角度モードに設定し、
前記MPMリストの前記第6候補モードを、前記第2モード以外の、前記第2モードの第2隣接角度モードの隣接角度モードに設定する付記1に記載のビデオ復号化方法。
(付記5)
前記MPMリストのインデックスにおいて、前記最確候補モードの最低から最高までの順序は、前記第1候補モードから前記第6候補モードである付記4に記載のビデオ復号化方法。
(付記6)
前記MPMリストを生成する前記ステップは、前記第1隣接ブロックのイントラ予測モードと前記第2隣接ブロックのイントラ予測モードとが角度モードであると決定し、且つ前記第1隣接ブロックのイントラ予測モードと前記第2隣接ブロックのイントラ予測モードとの差の絶対値が2より大きく、所定の閾値以下であり、前記所定の閾値が2より大きい正の整数である場合、以下の動作を実行するステップを含み、
前記MPMリストの第1候補モードを、前記第1隣接ブロックのイントラ予測モードに設定し、
前記MPMリストの第2候補モードを、前記第2隣接ブロックのイントラ予測モードに設定し、
前記MPMリストの第3候補モードを、前記第1隣接ブロックのイントラ予測モードの第1隣接角度モードに設定し、
前記MPMリストの第4候補モードを、前記第1隣接ブロックのイントラ予測モードの、前記第1隣接角度モードと異なる第2隣接角度モードに設定し、
前記MPMリストの第5候補モードを、前記第2隣接ブロックのイントラ予測モードの第1隣接角度モードに設定し、
前記MPMリストの第6候補モードを、前記第2隣接ブロックのイントラ予測モードの第2隣接角度モードに設定し、前記第2隣接ブロックのイントラ予測モードの前記第2隣接角度モードが、前記第2隣接ブロックのイントラ予測モードの前記第1隣接角度モードと異なる付記1に記載のビデオ復号化方法。
(付記7)
前記MPMリストのインデックスにおいて、前記最確候補モードの最低から最高までの順序は、前記第1候補モードから前記第6候補モードである付記6に記載のビデオ復号化方法。
(付記8)
さらに、
現在ブロックの第1隣接ブロックのイントラ予測モードが平面モード又は直流DCモードであるかどうかを決定するステップと、
前記現在ブロックの第2隣接ブロックのイントラ予測モードが平面モード又はDCモードであるかどうかを決定するステップと、を含み、
前記MPMリストを生成する前記ステップは、前記第1隣接ブロックのイントラ予測モードが平面モード又はDCモードであると決定し、且つ前記第2隣接ブロックのイントラ予測モードが平面モード又はDCモードであると決定した場合、以下の動作の少なくとも1つを実行するステップを含み、
前記6つの候補モードをそれぞれ{50,18,2,34,66,26}のうちの値に設定し、
前記6つの候補モードをそれぞれ{50,18,2,34,26,42}のうちの値に設定し、
前記6つの候補モードは、多機能ビデオ符号化VVCのモードに対応する付記1に記載のビデオ復号化方法。
(付記9)
前記MPMリストのインデックスにおいて、前記最確候補モードの最低から最高までの順序は、{50,18,2,34,66,26}の順序、又は{50,18,2,34,26,42}の順序である付記8に記載のビデオ復号化方法。
(付記10)
前記MPMリストを生成する前記ステップは、前記第1隣接ブロックのイントラ予測モードと前記第2隣接ブロックのイントラ予測モードとが角度モードであると決定する場合、以下の動作を実行するステップを含み、
前記第1隣接ブロックのイントラ予測モードと前記第2隣接ブロックのイントラ予測モードとを前記MPMリストに追加し、
以前に前記MPMリストに追加されていない、前記第1隣接ブロックと前記第2隣接ブロックとの各隣接角度モードを前記MPMリストに追加し、
前記第1隣接ブロックと前記第2隣接ブロックとの各隣接角度モードを前記MPMリストに追加した後、前記MPMリストが完全に満たされていない場合、前記MPMリストが完全に満たされるまで、前記MPMリストに含まれるモードの、以前に前記MPMリストに追加されていない隣接角度モードを前記MPMリストに追加する付記1に記載のビデオ復号化方法。
(付記11)
非ゼロ参照ラインを使用してマルチラインイントラ予測を制御することで、ビデオシーケンスを復号化する装置であって、
コンピュータプログラムコードを記憶するように配置される少なくとも1つのメモリと、
前記少なくとも1つのメモリにアクセスし、前記コンピュータプログラムコードに基づき動作するように配置される少なくとも1つのプロセッサと、を含み、
前記コンピュータプログラムコードは、
前記少なくとも1つのプロセッサに、現在ブロックの第1隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定させるように配置される第1決定コードと、
前記少なくとも1つのプロセッサに、前記現在ブロックの第2隣接ブロックのイントラ予測モードが角度モードであるかどうかを決定させるように配置される第2決定コードと、
前記少なくとも1つのプロセッサに、最確モードMPMリストを生成させるように配置される生成コードであって、前記MPMリストに前記現在ブロックのイントラ予測のための6つの候補モードが含まれる生成コードと、を含み、
前記6つの候補モードはすべて角度モードであり、
前記生成コードは、前記第1隣接ブロックのイントラ予測モードが角度モードであると決定した場合、前記MPMリストに前記第1隣接ブロックのイントラ予測モードが含まれ、前記第2隣接ブロックのイントラ予測モードが角度モードであると決定した場合、前記MPMリストに前記第2隣接ブロックのイントラ予測モードが含まれるように、前記MPMリストを前記少なくとも1つのプロセッサに生成させるように配置される装置。
(付記12)
前記生成コードは、前記第1隣接ブロックのイントラ予測モードが角度モードであると決定し、且つ前記第2隣接ブロックのイントラ予測モードが角度モードではないと決定した場合、以下の動作を前記少なくとも1つのプロセッサに実行させるように配置され、
前記MPMリストの第1候補モードを、前記第1隣接ブロックのイントラ予測モードに設定し、
前記MPMリストの第2候補モードを、前記第1隣接ブロックのイントラ予測モードの第1隣接角度モードに設定し、
前記MPMリストの第3候補モードを、前記第1隣接ブロックのイントラ予測モードの、前記第1隣接角度モードと異なる第2隣接角度モードに設定し、
前記MPMリストの第4候補モードを、前記第1隣接ブロックのイントラ予測モード以外の、前記第1隣接角度モードの隣接角度モードに設定し、
前記MPMリストの第5候補モードを、前記第1隣接ブロックのイントラ予測モード以外の、前記第2隣接角度モードの隣接角度モードに設定し、
前記MPMリストの第6候補モードを、前記第1隣接角度モード以外の、前記第4候補モードの隣接角度モードに設定するか、又は、前記第2隣接角度モード以外の、前記第5候補モードの隣接角度モードに設定する付記11に記載の装置。
(付記13)
前記生成コードは、前記MPMリストのインデックスにおいて、前記最確候補モードの最低から最高までの順序が、前記第1候補モードから前記第6候補モードであるように、前記MPMリストを前記少なくとも1つのプロセッサに生成させるように配置される付記12に記載の装置。
(付記14)
前記生成コードは、前記第1隣接ブロックのイントラ予測モードが角度モードであると決定し、且つ前記第2隣接ブロックのイントラ予測モードが、前記第1隣接ブロックのイントラ予測モードに対する隣接角度モードであると決定した場合、以下の動作を前記少なくとも1つのプロセッサに実行させるように配置され、
前記MPMリストの第1候補モードを、前記第1隣接ブロックのイントラ予測モードに設定し、
前記MPMリストの第2候補モードを、前記第2隣接ブロックのイントラ予測モードに設定し、
前記第1隣接ブロックのイントラ予測モードと前記第2隣接ブロックのイントラ予測モードとの間の角度モードの大小関係を決定し、ここで、小さい角度モードは、第1モードであり、大きい角度モードは、第2モードであり、
第1の場合には、前記第1モードがコーデック標準において、シグナリングされる最小角度モードに等しく、前記第2モードが前記コーデック標準においてシグナリングされる最大角度モードに等しいことであり、前記コーデック標準が、前記非ゼロ参照ラインを使用してマルチラインイントラ予測を制御するために、前記少なくとも1つのプロセッサにより使用されるものであり、前記第1の場合、以下の動作を実行させ、
前記MPMリストの第3候補モードを、前記第1モードと前記第2モードとの間にある値を有する、前記第2モードの第1隣接角度モードに設定し、
前記MPMリストの第4候補モードを、前記第1モードと前記第2モードとの間にある値を有する、前記第1モードの第1隣接角度モードに設定し、
前記MPMリストの第5候補モードを、前記第2モード以外の、前記第2モードの第1隣接角度モードの隣接角度モードに設定し、
前記MPMリストの第6候補モードを、前記第1モード以外の、前記第1モードの第1隣接角度モードの隣接角度モードに設定し、
前記第1の場合と異なる第2の場合、以下の動作を実行させ、
前記MPMリストの第3候補モードを、前記第1モードと前記第2モードとの間にない値を有する、前記第1モードの第2隣接角度モードに設定し、
前記MPMリストの前記第4候補モードを、前記第1モードと前記第2モードとの間にない値を有する、前記第2モードの第2隣接角度モードに設定し、
前記MPMリストの前記第5候補モードを、前記第1モード以外の、前記第1モードの第2隣接角度モードの隣接角度モードに設定し、
前記MPMリストの前記第6候補モードを、前記第2モード以外の、前記第2モードの第2隣接角度モードの隣接角度モードに設定する付記11に記載の装置。
(付記15)
前記生成コードは、前記MPMリストのインデックスにおいて、前記最確候補モードの最低から最高までの順序が、前記第1候補モードから前記第6候補モードであるように、前記MPMリストを前記少なくとも1つのプロセッサに生成させるように配置される付記14に記載の装置。
(付記16)
前記生成コードは、前記第1隣接ブロックのイントラ予測モードと前記第2隣接ブロックのイントラ予測モードとが角度モードであると決定し、且つ前記第1隣接ブロックのイントラ予測モードと前記第2隣接ブロックのイントラ予測モードとの差の絶対値が2より大きく、所定の閾値以下であり、前記所定の閾値が2より大きい正の整数である場合、以下の動作を前記少なくとも1つのプロセッサに実行させるように配置され、
前記MPMリストの第1候補モードを、前記第1隣接ブロックのイントラ予測モードに設定し、
前記MPMリストの第2候補モードを、前記第2隣接ブロックのイントラ予測モードに設定し、
前記MPMリストの第3候補モードを、前記第1隣接ブロックのイントラ予測モードの第1隣接角度モードに設定し、
前記MPMリストの第4候補モードを、前記第1隣接ブロックのイントラ予測モードの、前記第1隣接角度モードと異なる第2隣接角度モードに設定し、
前記MPMリストの第5候補モードを、前記第2隣接ブロックのイントラ予測モードの第1隣接角度モードに設定し、
前記MPMリストの第6候補モードを、前記第2隣接ブロックのイントラ予測モードの第2隣接角度モードに設定し、前記第2隣接ブロックのイントラ予測モードの前記第2隣接角度モードが、前記第2隣接ブロックのイントラ予測モードの前記第1隣接角度モードと異なる付記11に記載の装置。
(付記17)
前記生成コードは、前記MPMリストのインデックスにおいて、前記最確候補モードの最低から最高までの順序が、前記第1候補モードから前記第6候補モードであるように、前記MPMリストを前記少なくとも1つのプロセッサに生成させるように配置される付記16に記載の装置。
(付記18)
前記コンピュータプログラムコードはさらに、
前記少なくとも1つのプロセッサに、現在ブロックの第1隣接ブロックのイントラ予測モードが平面モード又はDCモードであるかどうかを決定させるように配置される第3決定コードと、
前記少なくとも1つのプロセッサに、前記現在ブロックの第2隣接ブロックのイントラ予測モードが平面モード又はDCモードであるかどうかを決定させるように配置される第4決定コードと、を含み、
前記生成コードは、前記第1隣接ブロックのイントラ予測モードが平面モード又はDCモードであると決定し、且つ前記第2隣接ブロックのイントラ予測モードが平面モード又はDCモードであると決定した場合、以下の動作の少なくとも1つを前記少なくとも1つのプロセッサに実行させるように配置され、
前記6つの候補モードを、それぞれ{50,18,2,34,66,26}のうちの値に設定し、
前記6つの候補モードを、それぞれ{50,18,2,34,26,42}のうちの値に設定し、
前記6つの候補モードは、多機能ビデオ符号化VVCのモードに対応する付記11に記載の装置。
(付記19)
前記生成コードは、前記第1隣接ブロックのイントラ予測モードと前記第2隣接ブロックのイントラ予測モードとが角度モードであると決定した場合、以下の動作を前記少なくとも1つのプロセッサに実行させるように配置され、
前記第1隣接ブロックのイントラ予測モードと前記第2隣接ブロックのイントラ予測モードとを前記MPMリストに追加し、
以前に前記MPMリストに追加されていない、前記第1隣接ブロックと前記第2隣接ブロックとの各隣接角度モードを、前記MPMリストに追加し、
前記第1隣接ブロックと前記第2隣接ブロックとの各隣接角度モードを前記MPMリストに追加した後、前記MPMリストが完全に満たされていない場合、前記MPMリストが完全に満たされるまで、前記MPMリストに含まれるモードの、以前に前記MPMリストに追加されていない隣接角度モードを前記MPMリストに追加する付記11に記載の装置。
(付記20)
付記1乃至11のいずれか1項に記載の方法をコンピュータに実行させるコンピュータプログラム。
【先行技術文献】
【非特許文献】
【0104】
【文献】CHANG, Yao-Jen et al.,Improved intra prediction method based on arbitrary reference tier coding schemes,2016 Picture Coding Symposium,IEEE,2017年04月24日,pp.1-5,<URL:https://ieeexplore.ieee.org/document/7906339>,<DOI: 10.1109/PCS.2016.7906339>
【文献】BROSS, Benjamin et al.,Versatile Video Coding (Draft 2),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 1111th Meeting: Ljubljana, SI, 10-18 July 2018, [JVET-K1001-v4],JVET-K1001 (version 4),ITU-T,2018年08月17日,<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/11_Ljubljana/wg11/JVET-K1001-v4.zip>: JVET-K1001-v4.docx: pp.43-46
図1
図2
図3
図4
図5
図6
図7
図8
図9