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

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

▶ ベイジン バイトダンス ネットワーク テクノロジー カンパニー リミテッドの特許一覧 ▶ バイトダンス インコーポレイテッドの特許一覧

特開2023-126850ビデオ処理方法、装置、及び記憶媒体
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023126850
(43)【公開日】2023-09-12
(54)【発明の名称】ビデオ処理方法、装置、及び記憶媒体
(51)【国際特許分類】
   H04N 19/513 20140101AFI20230905BHJP
   H04N 19/70 20140101ALI20230905BHJP
【FI】
H04N19/513
H04N19/70
【審査請求】有
【請求項の数】14
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023105749
(22)【出願日】2023-06-28
(62)【分割の表示】P 2022510080の分割
【原出願日】2020-08-24
(31)【優先権主張番号】PCT/CN2019/102289
(32)【優先日】2019-08-23
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2019/112820
(32)【優先日】2019-10-23
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2019/129959
(32)【優先日】2019-12-30
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(71)【出願人】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ザン,カイ
(72)【発明者】
【氏名】ザン,リー
(72)【発明者】
【氏名】リュウ,ホンビン
(72)【発明者】
【氏名】デン,ジピン
(72)【発明者】
【氏名】シュイ,ジィジォン
(72)【発明者】
【氏名】ワン,ユエ
(57)【要約】      (修正有)
【課題】現在のピクチャと参照ピクチャが異なるサイズ又は解像度を有するビデオ処理方法を提供する。
【解決手段】ビデオ処理方法は、ビデオの現在のピクチャの現在のブロックとビデオのコーディングされた表現との間の変換に関し、デコーダ側動きベクトル精密化(DMVR)ツールがイネーブルにされているかどうかに関する第1判定を行うステップと、ルールに従って、現在のブロックの予測ブロックを決定するために使用される参照ピクチャにおいて参照サンプル・パディングの境界ブロックに従って動きベクトルをクリップするかどうか又はどのようにクリップするかに関する第2判定を、第1判定に基づいて行うステップと、第1判定と第2判定に基づいて変換を実行するステップと、を含む。コーディングされた表現からの符号化された動きベクトルは、予測ブロックを決定するために使用される前に、DMVRツールを使用することによって精密化される。
【選択図】図10A
【特許請求の範囲】
【請求項1】
ビデオ処理方法であって:
ビデオの現在のピクチャの現在のブロックと前記ビデオのビットストリームとの間の変換に関し、デコーダ側動きベクトル精密化ツールがイネーブルにされているかどうかに関する第1判定を行うステップ;
前記現在のブロックの予測ブロックを決定するために使用される参照ピクチャにおいて参照サンプル・パディングの境界ブロックに従って整数サンプル位置でサンプルをクリップするかどうかに関する第2判定を、前記第1判定に基づいて行うステップであって、前記整数サンプル位置における前記サンプルは、前記参照ピクチャ内にあり且つ前記現在のブロックの第1動きベクトルに従って取得される、ステップ;及び
前記第2判定に基づいて前記変換を実行するステップ;
を含む方法。
【請求項2】
請求項1に記載の方法において、前記整数サンプル位置における前記サンプルは、前記デコーダ側動きベクトル精密化ツールが、前記現在のブロックに対してイネーブルにされている場合に、前記境界ブロックに従ってクリップされる、方法。
【請求項3】
請求項1又は2に記載の方法において、前記デコーダ側動きベクトル精密化ツールが、前記現在のブロックに対してイネーブルにされている場合に、(xInti,yInti)として示される前記整数サンプル位置におけるルマ・サンプルは、xSbIntL-3及びySbIntL-3に従ってクリップされ;
(xSbIntL,ySbIntL)は、前記参照ピクチャの左上ルマ・サンプルに対する、前記境界ブロックの左上サンプルを指定している、方法。
【請求項4】
請求項1-3のうちの何れか1項に記載の方法において、前記デコーダ側動きベクトル精密化ツールが、前記現在のブロックに対してイネーブルにされている場合に、(xInti,yInti)として示される前記整数サンプル位置におけるクロマ・サンプルは、xSbIntC-1及びySbIntC-1に従ってクリップされ;
(xSbIntC,ySbIntC)は、前記参照ピクチャの左上クロマ・サンプルに対する、前記境界ブロックの左上サンプルを指定している、方法。
【請求項5】
請求項2-4のうちの何れか1項に記載の方法において、前記第1動きベクトルは、前記デコーダ側動きベクトル精密化ツールによって精密化される、方法。
【請求項6】
請求項3に記載の方法において、(xSbIntL,ySbIntL)は、前記デコーダ側動きベクトル精密化ツールによって精密化されていない第2動きベクトルに基づいて決定される、方法。
【請求項7】
請求項1-6のうちの何れか1項に記載の方法において:
参照ピクチャ・ラッピングが、前記変換に対してイネーブルにされているかどうかに関する第3判定を行うステップ;
前記第3判定に基づいて前記変換を実行するステップ;
を含み、前記整数サンプル位置で前記サンプルをクリップする仕方は、前記参照ピクチャ・ラッピングが、前記変換に対してイネーブルにされているかどうかに基づいている、方法。
【請求項8】
請求項7に記載の方法において、前記参照ピクチャ・ラッピングはイネーブルにされるかどうかを示すシンタックス要素が前記ビットストリームに含まれている、方法。
【請求項9】
請求項7又は8に記載の方法において、前記第2判定は、整数サンプル位置における前記サンプルの第1クリップ処理のために使用され、
前記第3判定は、整数サンプル位置における前記サンプルの第2クリップ処理のために使用される、方法。
【請求項10】
請求項1-9のうちの何れか1項に記載の方法において:
前記変換は、前記現在のブロックを前記ビットストリームに符号化することを含む、方法。
【請求項11】
請求項1-9のうちの何れか1項に記載の方法において:
前記変換は、前記現在のブロックを前記ビットストリームから復号化することを含む、方法。
【請求項12】
プロセッサと、命令を有する非一時的なメモリとを含むビデオ・データ処理装置であって、前記命令は、前記プロセッサにより実行されると、前記プロセッサに:
ビデオの現在のピクチャの現在のブロックと前記ビデオのビットストリームとの間の変換に関し、デコーダ側動きベクトル精密化ツールがイネーブルにされているかどうかに関する第1判定を行うステップ;
前記現在のブロックの予測ブロックを決定するために使用される参照ピクチャにおいて参照サンプル・パディングの境界ブロックに従って整数サンプル位置でサンプルをクリップするかどうかに関する第2判定を、前記第1判定に基づいて行うステップであって、前記整数サンプル位置における前記サンプルは、前記参照ピクチャ内にあり且つ前記現在のブロックの第1動きベクトルに従って取得される、ステップ;及び
前記第2判定に基づいて前記変換を実行するステップ;
を行わせる、装置。
【請求項13】
命令を記憶する非一時的なコンピュータ読み取り可能な記憶媒体であって、前記命令は、プロセッサに:
ビデオの現在のピクチャの現在のブロックと前記ビデオのビットストリームとの間の変換に関し、デコーダ側動きベクトル精密化ツールがイネーブルにされているかどうかに関する第1判定を行うステップ;
前記現在のブロックの予測ブロックを決定するために使用される参照ピクチャにおいて参照サンプル・パディングの境界ブロックに従って整数サンプル位置でサンプルをクリップするかどうかに関する第2判定を、前記第1判定に基づいて行うステップであって、前記整数サンプル位置における前記サンプルは、前記参照ピクチャ内にあり且つ前記現在のブロックの第1動きベクトルに従って取得される、ステップ;及び
前記第2判定に基づいて前記変換を実行するステップ;
を行わせる、記憶媒体。
【請求項14】
ビデオ処理装置により実行される方法により生成されたビデオのビットストリームを記憶する非一時的なコンピュータ読み取り可能な記憶媒体であって、前記方法は:
デコーダ側動きベクトル精密化ツールがイネーブルにされているかどうかに関する第1判定を行うステップ;
現在のブロックの予測ブロックを決定するために使用される参照ピクチャにおいて参照サンプル・パディングの境界ブロックに従って整数サンプル位置でサンプルをクリップするかどうかに関する第2判定を、前記第1判定に基づいて行うステップであって、前記整数サンプル位置における前記サンプルは、前記参照ピクチャ内にあり且つ前記現在のブロックの第1動きベクトルに従って取得される、ステップ;及び
前記第2判定に基づいて前記ビットストリームを生成するステップ;
を含む、記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
関連出願の相互参照
[0001]
本願は日本国特許出願第2022-510080の分割出願であり、同出願は、2020年8月24日付で出願された国際特許出願第PCT/CN2020/110768の国内段階におけるものであり、2019年8月23日付で出願された国際特許出願第PCT/CN2019/102289号、2019年10月23日付で出願された国際特許出願第PCT/CN2019/112820号、及び2019年12月30日付で出願された国際特許出願第PCT/CN2019/129959号についての優先権及び利益を主張している。前述の出願の全ての開示は、本願の開示の一部として参照により援用される。
【0002】
技術分野
[0002]
本件の特許文献はビデオ・コーディング及びデコーディングに関する。
【0003】
背景
[0003]
ビデオ圧縮の進歩にもかかわらず、デジタル・ビデオは、インターネット及びその他のデジタル通信ネットワークにおいて利用する最大の帯域幅を占めている。ビデオを受信及び表示することが可能な接続ユーザー・デバイスの台数が増加するにつれて、デジタル・ビデオの利用に対する帯域幅需要は増加し続けるであろうということが予想される。
【発明の概要】
【0004】
[0004]
デバイス、システム及び方法は、デジタル・ビデオ・コーディング、特に、現在のピクチャと参照ピクチャが異なるサイズ又は解像度を有するビデオ及び画像コーディング及びデコーディングに関連する。
【0005】
[0005]
一態様の実施例では、ビデオ処理方法が開示される。方法は、ビデオの現在のピクチャの現在のブロックとビデオのコーディングされた表現との間の変換に関し、デコーダ側動きベクトル精密化(decoder-side motion vector refinement, DMVR)ツールがイネーブルにされているかどうかに関する第1判定を行うステップ;ルールに従って、現在のブロックの予測ブロックを決定するために使用される参照ピクチャにおいて参照サンプル・パディングの境界ブロックに従って動きベクトルをクリップするかどうか又はどのようにクリップするかに関する第2判定を、第1判定に基づいて行うステップ;及び第1判定と第2判定に基づいて変換を実行するステップを含み、コーディングされた表現からの符号化された動きベクトルは、予測ブロックを決定するために使用される前に、DMVRツールを使用して精密化される。
【0006】
[0006]
別の態様の実施例において、別のビデオ処理方法が開示される。方法は、ビデオの現在のピクチャの現在のブロックとビデオのコーディングされた表現との間の変換に関し、参照ピクチャ・ラッピング(reference picture wrapping)がイネーブルにされているかどうかに関する第1判定を行うステップ;ルールに従って、現在のブロックの予測ブロックを決定するために使用される参照ピクチャにおいて参照サンプル・パディング(reference sample padding)の境界ブロックに従って動きベクトルをクリップするかどうか又はどのようにクリップするかに関する第2判定を、第1判定に基づいて行うステップ;及び第1判定と第2判定に基づいて変換を実行するステップを含む。
【0007】
[0007]
別の態様の実施例において、別のビデオ処理方法が開示される。方法は、ビデオの現在のピクチャの現在のブロックとビデオのコーディングされた表現との間の変換に関し、コーディング・ツールがイネーブルにされているかどうかに関する第1判定を行うステップ;ルールに従って、現在のブロックの予測ブロックを決定するために使用される参照ピクチャにおいて整数位置にクロマ又はルマ・サンプルをクリップするかどうか又はどのようにクリップするかに関する第2判定を、前記第1判定に基づいて行うステップ;及び第1判定と第2判定に基づいて変換を実行するステップを含む。
【0008】
[0008]
別の態様の実施例において、別のビデオ処理方法が開示される。方法は、現在のブロックを含む現在のピクチャを含むビデオとビデオのコーディングされた表現との間の変換に関し、2つの参照ピクチャ・リストからの1つ以上の参照ピクチャから現在のブロックの予測ブロックを生成する場合に、整数サンプル・クリッピング処理が実行されるべきかどうかを判定するステップ;及び判定に基づいて変換を実行するステップを含み、ルールは、現在のピクチャに関連する第1サイズ及び/又は前記2つの参照ピクチャ・リストにおける1つ以上の参照ピクチャに関連する第2サイズ、又はデコーダ側動きベクトル精密化(DMVR)の使用がイネーブルにされているかどうかに基づいており、DMVRでは、コーディングされた表現におけるコーディングされた動きベクトルは、予測ブロックの生成の前に精密化される。
[0009]
別の態様の実施例において、別のビデオ処理方法が開示される。方法は、現在のブロックを含む現在のピクチャを含むビデオとビデオのコーディングされた表現との間の変換に関し、ルールに従って、現在のブロックの予測ブロックを決定するために使用される参照ピクチャにおいて参照信号パディングの境界ボックスの左上座標を導出するステップ;及び導出に基づいて変換を実行するステップを含み、ルールは、現在のピクチャのディメンジョンと参照ピクチャのディメンジョンに基づいている。
【0009】
[0010]
別の態様の実施例において、別のビデオ処理方法が開示される。方法は、現在のブロックを含む現在のピクチャを含むビデオとビデオのコーディングされた表現との間の変換に関し、参照ピクチャから現在のブロックの予測ブロックを生成する場合に、整数サンプル・クリッピング処理が実行されるべきかどうかを判定するステップ;及び判定に基づいて変換を実行するステップを含み、ルールは、現在のピクチャに関連する第1サイズ及び/又は参照ピクチャに関連する第2サイズに基づいている。
【0010】
[0011]
更に別の代表的な態様では、上述の方法は、プロセッサによる実行が可能なコードの形態で具体化され、コンピュータ読み取り可能なプログラム媒体に記憶される。
【0011】
[0012]
更に別の代表的な態様では、上述の方法を実行するように構成された又は動作することが可能なデバイスが開示される。デバイスは、この方法を実装するようにプログラムされたプロセッサを含んでもよい。
【0012】
[0013]
更に別の代表的な態様では、ビデオ・デコーダ装置は、本件で説明される方法を実装することができる。
【0013】
[0014]
別の態様の実施例では、コンピュータ読み取り可能な記憶媒体が開示される。媒体は、本件明細書で説明される方法に従って生成されるビデオのコーディングされた表現を含む。
【0014】
[0015]
開示された技術の上記及びその他の態様及び特徴は、図面、明細書及び特許請求の範囲においてより詳細に記載されている。
【図面の簡単な説明】
【0015】
[0016]
図1】16×16ブロックが16個の4×4領域に分割されている。 [0017]
図2A】ビデオ・ブロック内の特定の場所の例を示す。
図2B】ビデオ・ブロック内の特定の場所の例を示す。
図2C】ビデオ・ブロック内の特定の場所の例を示す。 [0018]
図3】ビデオ処理のためのハードウェア・プラットフォームの実装例のブロック図である。 [0019]
図4】ビデオ処理の方法例に関するフローチャートである。 [0020]
図5】VVCにおけるラップ・アラウンド・クリッピングの例を示す。 [0021]
図6】ビデオ・コーディング・システムの実装例のブロック図である。 [0022]
図7】ビデオ・エンコーダの実装例のブロック図である。 [0023]
図8】ビデオ・デコーダの実装例のブロック図である。 [0024]
図9A】開示される技術の実施形態を例示する種々のテーブルを示す。
図9B】開示される技術の実施形態を例示する種々のテーブルを示す。
図9C】開示される技術の実施形態を例示する種々のテーブルを示す。
図9D】開示される技術の実施形態を例示する種々のテーブルを示す。
図9E】開示される技術の実施形態を例示する種々のテーブルを示す。
図9F】開示される技術の実施形態を例示する種々のテーブルを示す。
図9G】開示される技術の実施形態を例示する種々のテーブルを示す。
図9H】開示される技術の実施形態を例示する種々のテーブルを示す。 [0025]
図10A】ビデオ処理の方法例のフローチャートである。
図10B】ビデオ処理の方法例のフローチャートである。
図10C】ビデオ処理の方法例のフローチャートである。
図10D】ビデオ処理の方法例のフローチャートである。
図10E】ビデオ処理の方法例のフローチャートである。
図10F】ビデオ処理の方法例のフローチャートである。
【発明を実施するための形態】
【0016】
[0026]
開示される技術の実施形態は、圧縮パフォーマンスを改善するために、既存のビデオ・コーディング規格(例えば、HEVC, H.265)及び将来の規格に適用される可能性がある。本件明細書では、説明の可読性を向上させるためにセクション見出しが使用されているが、如何なる方法によっても、説明又は実施形態(及び/又は実装)を個々のセクションのみに限定していない。更に、本件明細書においては、H.265の文脈で説明される幾つかの実施形態は、現在のVVC公開仕様の対応するセクション番号を使用する。更に、“...”を使用することは、現在のVVC公開仕様の残りの部分が、更なる変更を伴うことなく継続することを示す。

1. イントロダクション
[0027]
本件はビデオ・コーディング技術に関連する。具体的には、本件はビデオ・コーディングにおける適応解像度変換に関連する。これは、HEVCのような既存のビデオ/画像コーディング規格、又はファイナライズされる予定の規格(Versatile Video Coding, VVC)に適用される可能性がある。

2. はじめに
[0028]
ビデオ・コーディング規格は、周知のITU-T及びISO/IEC規格の開発を通じて主に発展してきた。ITU-TはH.261とH.263を作成し、ISO/IECはMPEG-1とMPEG-4 Visualを作成し、2つの組織は共同してH.262/MPEG-2ビデオとH.264/MPEG-4アドバンスト・ビデオ・コーディング(AVC)とH.265/HEVC規格とを作成した。H.262以来、ビデオ・コーディング規格はハイブリッド・ビデオ・コーディング構造に基づいており、そこでは時間的予測と変換コーディングが使用される。HEVCを越える将来のビデオ・コーディング技術を探求するため、2015年に共同ビデオ探査チーム(Joint Video Exploration Team,JVET)がVCEGとMPEGにより共同で設立された。それ以来、多くの新しい方法がJVETによって採用されており、共同探索モデル(Joint Exploration Model,JEM)と名付けられる参照ソフトウェアに入れられている。2018年4月には、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)との共同ビデオ・エキスパート・
チーム(JVET)が誕生し、HEVCと比較して対して50%のビットレート低減を目指すVVC規格に取り組んでいる。
【0017】
[0029]
AVC及びHEVCは、IDR又はイントラ・ランダム・アクセス・ポイント(IRAP)ピクチャを導入する必要なしに、解像度を変更する能力を持たない;そのような能力は、適応解像度変更(adaptive resolution change, ARC)と言及することができる。ARC機能からの恩恵を受けるユース・ケースやアプリケーション・シナリオが存在し、それらは以下のようなものを含む:
- テレビ電話及び会議におけるレート・アダプテーション:コーディングされるビデオを、変化するネットワーク条件に適応させるために、ネットワーク条件が悪化して利用可能な帯域幅が小さくなると、エンコーダは、より小さな解像度のピクチャを符号化することによって、それに合わせることができる。現在、ピクチャの解像度を変化させることは、IRAPピクチャの後に限って行うことができるが;これには幾つかの問題がある。妥当な品質のIRAPピクチャは、インター・コーディングされたピクチャよりもはるかに大きく、相応して復号化がより複雑化するであろう:これには時間とリソースがかかる。解像度の変更が、ローディングの理由でデコーダによって要求された場合、それは問題となる。また、低遅延バッファ条件に違反し、オーディオの再同期を強制し、ストリームのエンド・ツー・エンド遅延が少なくとも一時的に増加する可能性がある。これは貧弱なユーザー体験をもたらす可能性がありる。
【0018】
- 複数人のビデオ会議におけるアクティブ・スピーカの変更:マルチ・パーティ・ビデオ会議の場合、アクティブ・スピーカは、残りの会議参加者のビデオよりも大きなビデオ・サイズで表示されることが一般的である。アクティブ・スピーカが変わると、各参加者のピクチャ解像度も調整されることを必要とする可能性がある。ARC機能を有する必要性は、アクティブ・スピーカにおけるこのような変更が頻繁に行われる場合に、より重要になる。
【0019】
- ストリーミングの迅速な開始:ストリーミング・アプリケーションでは、アプリケーションは、表示を開始する前に、復号化されたピクチャが一定の長さになるまでバッファリングすることが一般的である。より小さな解像度でビットストリームを開始することは、アプリケーションが、より速く表示を開始するために十分なピクチャをバッファ内に有することを可能にする。
【0020】
[0030]
ストリーミングにおける適応ストリーム切り替え:HTTPによる動的適応ストリーミング(Dynamic Adaptive Streaming over HTTP, DASH)規格は、@mediaStreamStructureIdという名称の機能を含む。これは、異なる表現間の切り替えを、オープンGOPランダム・アクセス・ポイントにおいて、復号化可能でないリーディング・ピクチャ、例えばHEVCにおける関連するRASLピクチャを伴うCRAピクチャ、とともに行うことを可能にする。同じビデオの2つの異なる表現が、異なるビットレートを有するが、空間解像度を有する一方、それらが@ mediaStreamStructureIdの同じ値を有する場合、関連するRASLピクチャを伴うCRAピクチャにおいて、2つの表現の間で切り替えを行うことが可能であり、CRAピクチャにおけるスイッチングに関連するRASLピクチャは、許容可能な品質で復号化することが可能であり、従ってシームレスなスイッチングを可能にする。ARCにより、@mediaStreamStructureIdの機能は、異なる空間解像度を有するDASH表現の間の切り替えにも利用可能である。
【0021】
[0031]
ARCは、動的な解像度変換としても知られている。
【0022】
[0032]
ARCはまた、H.263 Annex Pのようなリファレンス・ピクチャ・リサンプリング(RPR)の特殊なケースと見なすこともできる。

2.1 H.263 Annex Pにおけるリファレンス・ピクチャ・リサンプリング
[0033]
このモードは、参照ピクチャを、予測のために使用する前にワープする(warp)アルゴリズムを記述している。これは、予測されるピクチャとは異なるソース・フォーマットを有する参照ピクチャを、リサンプリングするのに有用である可能性がある。それはまた、参照ピクチャの形状、サイズ、及び位置をワーピング(warping)することによって、グローバル動き推定又は回転運動の推定に使用することも可能である。シンタックスは、リサンプリング・アルゴリズムにも使用されるワーピング・パラメータを含む。参照ピクチャ・リサンプリング・モードに関する動作の最もシンプルなレベルは、4リサンプリングの暗黙的な因子であり、なぜならFIRフィルタがアップサンプリング及びダウンサンプリング・プロセスに適用されることを必要とするだけだからである。この場合、追加的なシグナリング・オーバヘッドは必要とされず、なぜなら、それを使用することは、新たなピクチャ(ピクチャ・ヘッダで示される)のサイズが以前のピクチャのサイズと異なる場合であると理解されるからである。

2.2 ARCのVVCに対する貢献
[0034]
以下に挙げられているように、ARCに対処する幾つかの貢献(contributions)が提案されている:
[0035]JVET-M0135, JVET-M0259, JVET-N0048, JVET-N0052, JVET-N0118, JVET-N0279.

2.3 JVET-O2001-v14におけるARC
[0036]
ARCは、リファレンス・ピクチャ・リサンプリング(Reference Picture Resampling, RPR)としても知られており、これはJVET-O2001-v14で導入されている。
【0023】
[0037]
JVET-O2001-v14のRPRでは、同等位置にあるピクチャ又はコロケーテッド・ピクチャ(collocated picture)が現在のピクチャと異なる解像度を有する場合、TMVPはディセーブルにされる。また、参照ピクチャが現在のピクチャと異なる解像度を有する場合、BDOFとDMVRはディセーブルにされる。
【0024】
[0038]
リファレンス・ピクチャが現在のピクチャと異なる解像度を有する場合に、ノーマルMCを取り扱うために、以下のように補間セクションが定義されている(セクション番号は、現在のVVC規格を示し、イタリック体のテキストは以前のバージョンと相違することを示している)。

8.5.6.3.1 概要
このプロセスへの入力は以下の通りである:
- 現在のピクチャの左上ルマ・サンプルに対する、現在のコーディング・サブブロックの左上サンプルを指定するルマ位置( xSb, ySb ) ,
- 現在のコーディング・サブブロックの幅を指定する変数sbWidth,
- 現在のコーディング・サブブロックの高さを指定する変数sbHeight,
- 動きベクトルオフセットmvOffset,
- 精密化された動きベクトルrefMvLX,
- 選択された参照ピクチャ・サンプル配列refPicLX,
- ハーフ・サンプル補間フィルタ・インデックスhpelIfIdx,
- 双方向オプティカル・フロー・フラグbdofFlag,
- 現在のブロックの色成分インデックスを指定する変数cIdx

このプロセスの出力は以下の通りである:
- 予測サンプル値の(sbWidth + brdExtSize)x(sbHeight + brdExtSize)の配列predSamplesLX

予測ブロック境界拡張サイズbrdExtSizeは、以下のように導出される:
brdExtSize = ( bdofFlag | | ( inter_affine_flag[ xSb ][ ySb ] && sps_affine_prof_enabled_flag ) ) ? 2 : 0 (8-752)
変数fRefWidthは、ルマ・サンプルの参照ピクチャのPicOutputWidthLに等しく設定される。
【0025】
変数fRefHeightは、ルマ・サンプルの参照ピクチャのPicOutputHeightLに等しく設定される。
【0026】
動きベクトルmvLXは、( refMvLX - mvOffset )に等しく設定される。
【0027】
【数1】
ルマ・サンプル補間フィルタリング・プロセス
このプロセスへの入力は以下の通りである:
- フル・サンプル単位におけるルマ位置( xSb, ySb ) ,
- 分数サンプル単位におけるルマ位置( xFracL, yFracL ),
- 参照ピクチャの左上ルマ・サンプルに対する、参照サンプル・パディングのための境界ブロックの左上サンプルを指定するフル・サンプル単位におけるルマ位置( xSbIntL, ySbIntL ),
- ルマ参照サンプル配列refPicLXL,
- ハーフ・サンプル補間フィルタ・インデックスhpelIfIdx,
- 現在のサブ・ブロックの幅を指定する変数sbWidth,
- 現在のサブ・ブロックの高さを指定する変数sbHeight,
- 現在のピクチャの左上ルマ・サンプルに対する、現在のサブ・ブロックの左上サンプルを指定するルマ位置( xSb, ySb ) ,
このプロセスの出力は、予測されたルマ・サンプル値predSampleLXLである。

変数shift1, shift2 及び shift3は、以下のように導出される。
【0028】
- 変数shift1は、Min( 4, BitDepthY - 8 )に等しく設定され、変数shift2は6に等しく設定され、変数shift3は、Max( 2, 14 - BitDepthY )に等しく設定される。
【0029】
- 変数picWは、pic_width_in_luma_samplesに等しく設定され、変数picHは、pic_height_in_luma_samplesに等しく設定される。

xFracL又はyFracLに等しい1/16分数サンプル位置p各々に関し、ルマ補間フィルタ係数fL[ p ]は、以下のように導出される:
- MotionModelIdc[ xSb ][ ySb ]が0より大きく、sbWidthとsbHeightが双方とも4に等しい場合、ルマ補間フィルタ係数fL[ p ]は、テーブル8-12で規定される。
【0030】
- それ以外の場合、ルマ補間フィルタ係数fL[ p ]は、hpelIfIdxに依存してテーブル8-11で規定される。

フル・サンプル単位におけるルマ位置( xInti, yInti )は、i = 0..7に対して以下のように導出される:
- subpic_treated_as_pic_flag[ SubPicIdx ]が1に等しい場合、以下が適用される:
xInti = Clip3( SubPicLeftBoundaryPos, SubPicRightBoundaryPos, xIntL + i - 3 ) (8-771)
yInti = Clip3( SubPicTopBoundaryPos, SubPicBotBoundaryPos, yIntL + i - 3 ) (8-772)
- それ以外の場合(subpic_treated_as_pic_flag[ SubPicIdx ]が0に等しい)、以下が適用される:
xInti = Clip3( 0, picW - 1, sps_ref_wraparound_enabled_flag ?
ClipH( ( sps_ref_wraparound_offset_minus1 + 1 ) * MinCbSizeY, picW, xIntL + i - 3 ) : (8-773)
xIntL + i - 3 )
yInti = Clip3( 0, picH - 1, yIntL + i - 3 ) (8-774)
【0031】
【数2】
ルマ整数サンプル・フェッチ・プロセス
このプロセスへの入力は以下の通りである:
- フル・サンプル単位におけるルマ位置( xIntL, yIntL ),
- ルマ参照サンプル配列refPicLXL,
このプロセスの出力は、予測されたルマ・サンプル値predSampleLXLである。

変数shiftは、Max( 2, 14 - BitDepthY )に等しく設定される。
変数picWは、pic_width_in_luma_samplesに等しく設定され、変数picHは、pic_height_in_luma_samplesに等しく設定される。
フル・サンプル単位におけるルマ位置( xInt, yInt )は、以下のように導出される:
xInt = Clip3( 0, picW - 1, sps_ref_wraparound_enabled_flag ? (8-782)
ClipH( ( sps_ref_wraparound_offset_minus1 + 1 ) * MinCbSizeY, picW, xIntL ) : xIntL )
yInt = Clip3( 0, picH - 1, yIntL ) (8-783)
予測されたルマ・サンプル値predSampleLXLは、以下のように導出される:
predSampleLXL = refPicLXL[ xInt ][ yInt ] << shift3 (8-784)

クロマ・サンプル補間プロセス
このプロセスへの入力は以下の通りである:
- フル・サンプル単位におけるクロマ位置( xIntC, yIntC ),
- 1/32分数サンプル単位におけるクロマ位置( xFracC, yFracC ),
- 参照ピクチャの左上クロマ・サンプルに対する、参照サンプル・パディングのための境界ブロックの左上サンプルを指定するフル・サンプル単位におけるクロマ位置( xSbIntC, ySbIntC )
- 現在のサブ・ブロックの幅を指定する変数sbWidth,
- 現在のサブ・ブロックの高さを指定する変数sbHeight,
- クロマ参照サンプル配列refPicLXC.
このプロセスの出力は、予測されたクロマ・サンプル値predSampleLXCである。

変数shift1, shift2 及び shift3は、以下のように導出される:
- 変数shift1は、Min( 4, BitDepthC - 8 )に等しく設定され、変数shift2は、6に等しく設定され、変数shift3は、Max( 2, 14 - BitDepthC )に等しく設定される。
- 変数picWCは、pic_width_in_luma_samples / SubWidthCに等しく設定され、変数picHCは、pic_height_in_luma_samples / SubHeightCに等しく設定される。

xFracC又はyFracC に等しい1/32分数サンプル位置p各々に関するクロマ補間フィルタ係数fC[ p ] は、テーブル8-13で規定される。
変数xOffsetは、( sps_ref_wraparound_offset_minus1 + 1 ) * MinCbSizeY ) / SubWidthCに等しく設定される。
フル・サンプル単位におけるクロマ位置( xInti, yInti )は、i = 0..3に関して以下のように導出される:
- subpic_treated_as_pic_flag[ SubPicIdx ]が1に等しい場合、以下が適用される:
xInti = Clip3( SubPicLeftBoundaryPos / SubWidthC, SubPicRightBoundaryPos / SubWidthC, xIntL + i ) (8-785)
yInti = Clip3( SubPicTopBoundaryPos / SubHeightC, SubPicBotBoundaryPos / SubHeightC, yIntL + i ) (8-786)
- それ以外の場合(subpic_treated_as_pic_flag[ SubPicIdx ]が0に等しい)、以下が適用される:
xInti = Clip3( 0, picWC - 1, sps_ref_wraparound_enabled_flag ? ClipH( xOffset, picWC, xIntC + i - 1 ) : (8-787)
xIntC + i - 1 )
yInti = Clip3( 0, picHC - 1, yIntC + i - 1 ) (8-788)

フル・サンプル単位におけるクロマ位置( xInti, yInti )は、i = 0..3に関して以下のように更に修正される:
xInti = Clip3( xSbIntC - 1, xSbIntC + sbWidth + 2, xInti ) (8-789)
yInti = Clip3( ySbIntC - 1, ySbIntC + sbHeight + 2, yInti ) (8-790)
【0032】
【数3】
2.4 VVCにおけるラップ・アラウンド・クリッピング
[0039]
図5に示すように、ERP又はPERPピクチャ・フォーマットに対応するために、ラップ・アラウンド・クリッピング(Wrap-Around clipping)がJVET-L0231により提案された。これは、しばしば参照ピクチャ・ラッピング(reference picture wrapping)とも呼ばれる。
【0033】
[0040]
JVET-P2001-v9では、ラップ・アラウンド・クリッピングは次のように規定されている:
【0034】
【数4】
[0041]
また、ラップ・アラウンド・クリッピングが適用されるかどうかに応じて、水平位置はクリップされることになる。JVET-P2001-v9では、次のように規定されている:

フル・サンプル単位におけるルマ位置( xInti, yInti )は、i=0..7に対して以下のように導出される:
- subpic_treated_as_pic_flag[ SubPicIdx ]が1に等しい場合、以下が適用される:
xInti = Clip3( SubPicLeftBoundaryPos, SubPicRightBoundaryPos, xIntL + i - 3 ) (8-754)
yInti = Clip3( SubPicTopBoundaryPos, SubPicBotBoundaryPos, yIntL + i - 3 ) (8-755)
- それ以外の場合(subpic_treated_as_pic_flag[ SubPicIdx ]が0に等しい)、以下が適用される:
xInti = Clip3( 0, picW - 1, sps_ref_wraparound_enabled_flag ?
ClipH( ( sps_ref_wraparound_offset_minus1 + 1 ) * MinCbSizeY, picW, xIntL + i - 3 ) : (8-756)
xIntL + i - 3 )
yInti = Clip3( 0, picH - 1, yIntL + i - 3 ) (8-757)

2.5 VVCにおけるCCLM
[0042]
JVET-P2001-v9で規定されているように、VVCにおけるクロス・コンポーネント線型モデル(CCLM)予測のためにパラメータが導出される:
8.4.5.2.13 INTRA_LT_CCLM, INTRA_L_CCLM and INTRA_T_CCLMイントラ予測モードの仕様
・・・
7.変数a,b,及びkは、以下のように導出される:
- numSampLが0に等しく、且つnumSampTが0に等しい場合、以下が適用される:
k = 0 (8-211)
a = 0 (8-212)
b = 1 << ( BitDepth - 1 ) (8-213)
- それ以外の場合、以下が適用される:
diff = maxY - minY (8-214)
- diffが0に等しくない場合、以下が適用される:
diffC = maxC - minC (8-215)
x = Floor( Log2( diff ) ) (8-216)
normDiff = ( ( diff << 4 ) >> x ) & 15 (8-217)
x += ( normDiff != 0 ) ? 1 : 0 (8-218)
y = Floor( Log2( Abs ( diffC ) ) ) + 1 (8-219)
a = ( diffC * ( divSigTable[ normDiff ] | 8 ) + 2y - 1 ) >> y (8-220)
k = ( ( 3 + x - y ) < 1 ) ? 1 : 3 + x - y (8-221)
a = ( ( 3 + x - y ) < 1 ) ? Sign( a ) * 15 : a (8-222)
b = minC - ( ( a * minY ) >> k ) (8-223)
ここで、divSigTable[ ]は、以下のように規定される:
divSigTable[ ] = { 0, 7, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 0 } (8-224)
- それ以外の場合(diffが0に等しい)、以下が適用される:
k = 0 (8-225)
a = 0 (8-226)
b = minC (8-227)
・・・

2.6 VVCにおける角度予測
[0043]
VVCにおける角度予測は、JVET-P2001-v9で以下のように規定されている:
8.4.5.2.12 INTRA_ANGULAR2..INTRA_ANGULAR66イントラ予測モードの仕様

このプロセスへの入力は以下の通りである:
- イントラ予測モードpredModeIntra,
- イントラ予測参照ライン・インデックスを指定する変数refIdx,
- 変換ブロック幅を指定する変数nTbW,
- 変換ブロック高さを指定する変数nTbH,
- 参照サンプル幅を指定する変数refW,
- 参照サンプル高さを指定する変数refH,
- コーディング・ブロック幅を指定する変数nCbW,
- コーディング・ブロック高さを指定する変数nCbH,
- 参照フィルタフラグの値を指定する変数refFilterFlag,
- 現在のブロックの色成分を指定する変数cIdx,
- 隣接サンプルp[ x ][ y ], (x = -1- refIdx, y = -1- refIdx..refH - 1 and x = -refIdx..refW - 1, y = -1- refIdx)
このプロセスの出力は、予測されたサンプルpredSamples[ x ][ y ]である(x = 0..nTbW - 1, y = 0..nTbH - 1)。

変数nTbSは、 ( Log2 ( nTbW ) + Log2 ( nTbH ) ) >> 1に等しく設定される。
変数filterFlagは、以下のように導出される:
- 以下の条件のうちの1つ以上が真である場合、filterFlagは0に等しく設定される。
【0035】
- refFilterFlagは、1に等しい。
【0036】
- refIdxは 、0に等しくない。
【0037】
- IntraSubPartitionsSplitTypeは、ISP_NO_SPLITに等しくない。
- それ以外の場合、以下が適用される:
- 変数variable minDistVerHorは、Min( Abs( predModeIntra - 50 ), Abs( predModeIntra - 18 ) )に等しく設定される。
【0038】
- 変数intraHorVerDistThres[ nTbS ]は、テーブル8-7で規定されている。
【0039】
- 変数filterFlagは、以下のように導出される:
- minDistVerHorが、intraHorVerDistThres[ nTbS ]より大きく、refFilterFlagが0に等しい場合、filterFlagは1に等しく設定される。
【0040】
- それ以外の場合、filterFlagは0に等しく設定される。
【0041】
【数5】
2.7 VVCにおけるインター予測のためのサンプル・フェッチ
8.5.6.3.2 ルマ・サンプル補間フィルタリング・プロセス
【0042】
【数6】
[0044]
2.8 サブピクチャ
VVCでは、サブ・ピクチャの概念が導入されている。サブ・ピクチャは、ピクチャ内の1つ以上のスライスの矩形領域である。ビデオ・シーケンスでは、複数のサブ・ピクチャを使用することができる。そして、全てのピクチャは、SPSで定義される同数のサブピクチャに分割される。
【0043】
[0045]
【0044】
【数7】
3. 本件で開示される技術的解決策により対処する技術的課題
[0046]
RPRがVVCに適用される場合、RPR (ARC)は、以下の問題を有する可能性がある:
1. RPRでは、補間フィルタが、ブロック内の隣接するサンプルに対して異なる可能性があり、これは単一命令複数データ(Single Instruction Multiple Data, SIMD)の実装では望ましくない。
【0045】
2. 境界領域は、RPRを考慮しない。
【0046】
3. ラップ・アラウンド・オフセット(sps_ref_wrapaund_offset_minus1)は、シーケンス・レベルでシグナリングされるが、ピクチャのディメンジョンは、シーケンスにおけるRPRに起因して変動する可能性がある。
【0047】
4. CCLMのパラメータを導出するために、Abs(diffC)が、Log2(Abs (diffC))において0に等しくなる可能性がある。
【0048】
5. intraPredAngleは0に等しい場合があり、invAngleを意味のないものにしてしまう。
【0049】
6. セクション2.7に記述されているハイライト化クリッピング処理(highlighten clipping operation)(“整数サンプル・クリッピング処理”として示される)は、RPRの動き補償を損なう可能性がある。
【0050】
7. 現在のVVCでは、イントラ(I)スライスは、イントラ予測のみを用いて復号化されるスライスとして定義される。しかしながら、IBC及びパレット・モード・コーディングを、イントラ及びインター予測に加えて採用する最近の動向に起因して、Iスライスに対しては、イントラ予測に加えて、IBC/パレット・モードも適用することができるであろう。そのような定義は、それに応じて改訂されることを必要とする。
【0051】
8. サブピクチャの指定はVVCで定義されており、subpics_present_flagが最初にシグナリングされ、次いでsps_num_subpics_minus1に続く。しかしながら、サブピクチャ存在フラグが真である場合でさえ、シグナリングされるsps_num_subpics_minus1は依然として0に等しく、これは1つのピクチャ内に唯1つのサブ・ピクチャを意味し、即ち、サブ・ピクチャはピクチャに等しいことを意味し;また、サブ・ピクチャ存在フラグが偽である場合に、sps_num_subpics_minus1は0に推定されてしまうことに留意を要する。従って、それがシグナリングされる場合に、sps_num_subpics_minus1の範囲を、両端を含む0ないし254の範囲に定義することは妥当でない。

[0047]
4.実施形態と技術の一覧
以下のリストは、一般的な概念を説明するための例として考察されるべきである。これらのアイテムは、狭義に解釈されるべきではない。更に、これらのアイテムは任意の方法で組み合わせることが可能である。
【0052】
[0048]
動きベクトルは(mv_x, mv_y)で表され、ここで、mv_xは水平成分であり、mv_yは垂直成分である。
RPR関連
1. 参照ピクチャの解像度が現在のピクチャと異なる場合、現在のブロックのサンプルのグループ(少なくとも2つのサンプル)についての予測値は、同じ水平及び/又は垂直補間フィルタを用いて生成されてもよい。
【0053】
a. 一例において、グループは、ブロックの領域内の全てのサンプルを含む可能性がある。
【0054】
i. 例えば、ブロックは、互いに重複しないS個のMxNの四角形に分割されてもよい。各MxNの四角形はグループである。図1に示す例では、16×16のブロックは、16個の4×4の四角形に分割することが可能であり、それら各々はグループである。
【0055】
ii. 例えば、N個のサンプルを有する行はグループである。Nは、ブロックの幅より大きくない整数である。一例では、Nは4又は8、又はブロック幅である。
【0056】
iii. 例えば、N個のサンプルを有する列はグループである。Nは、ブロックの高さより大きくない整数である。一例では、Nは4又は8、又はブロック高さである。
【0057】
iv. M及び/又はNは、予め定められていてもよいし、或いはブロック寸法/コーディングされた情報に基づいてオン・ザ・フライで導出されてもよいし、或いはシグナリングされてもよい。
【0058】
b. 一例において、グループ内のサンプルは、同じMV(共有MVとして示される)を有してもよい。
【0059】
c. 一例において、グループ内のサンプルは、同じ水平成分(共有される水平成分として示される)を有するMVを有してもよい。
【0060】
d. 一例において、グループ内のサンプルは、同じ垂直成分(共有される垂直成分として示される)を有するMVを有してもよい。
【0061】
e. 一例において、グループ内のサンプルは、水平成分の同じ小数部分(共有される分数水平成分として示される)を有するMVを有してもよい。
【0062】
i. 例えば、第1サンプルのMVが(MV1x, MV1y)であり、第2サンプルのMVが(MV2x, MV2y)であると仮定した場合に、MV1x & (2M -1)はMV2x & (2M -1)に等しく、MはMV精度を表す。例えば、M=4である。
【0063】
f. 一例において、グループ内のサンプルは、垂直成分の同じ小数部分(共有される分数垂直成分として示される)を有するMVを有してもよい。
【0064】
i. 例えば、第1サンプルのMVが(MV1x, MV1y)であり、第2サンプルのMVが(MV2x, MV2y)であると仮定した場合、MV1y & (2M -1)はMV2y & (2M -1)に等しく、MはMV精度を表す。例えば、M=4である。
【0065】
g. 一例において、予測されるグループ内のサンプルについて、MVbで示される動きベクトルは、先ず、JVET-O2001-v14)の8.5.6.3.1で導出される現在のピクチャと参照ピクチャの解像度(例えば、(refxL, refyL))に従って導出される可能性がある。次いで、MVbは、上記の箇条書きのような要件を満たすために、MV’に更に修正される可能性があり(例えば、丸められる/切り捨てられる/クリッピングされる)、MV’は、サンプルの予測サンプルを導出するために使用される。
【0066】
i. 一例において、MV’は、MVbと同じ整数部分を有し、MV’の小数部分は、共有される水平及び/又は垂直成分であるように設定される。
【0067】
ii. 一例において、MV’は、共有される水平及び/又は垂直成分を有し、且つMVbに最も近いものに設定される。
【0068】
h. 共有される動きベクトル(及び/又は共有される水平成分及び/又は共有される垂直成分及び/又は共有される分数水平成分及び/又は共有される分数垂直成分)は、グループ内の特定のサンプルの動きベクトル(及び/又は水平成分及び/又は垂直成分及び/又は分数水平成分及び/又は分数垂直成分)に設定される可能性がある。
【0069】
i. 例えば、特定のサンプルは、図2Aに示す“A”,“B”,“C”及び“D”のような矩形のグループのコーナーにあってもよい。
【0070】
ii. 例えば、特定のサンプルは、図2Aに示す“E”,“F”,“G”及び“H”のような矩形のグループの中心にあってもよい。
【0071】
iii. 例えば、特定のサンプルは、図2B及び2Cに示される“A”及び“D”のような行-形状又は列-形状のグループの末端にあってもよい。
【0072】
iv. 例えば、特定のサンプルは、図2B及び2Cに示される“B”及び“C”のような行-形状又は列-形状のグループの中央にあってもよい。
【0073】
v. 一例において、特定のサンプルの動きベクトルは、箇条書きのgで言及されたMVbであってもよい。
【0074】
i. 共有される動作ベクトル(及び/又は共有される水平成分及び/又は共有される垂直成分及び/又は共有される分数水平成分及び/又は共有される分数垂直成分)は、このグループ内の全てのサンプルと比較して異なる位置に配置された仮想サンプルの動きベクトル(及び/又は水平成分及び/又は垂直成分及び/又は分数水平成分及び/又は分数垂直成分)であるように設定されてもよい。
【0075】
i. 一例において、仮想サンプルはグループにはないが、グループ内の全てのサンプルをカバーする領域に位置する。
【0076】
1) 代替的に、仮想サンプルは、グループ内の全てのサンプルをカバーする領域の外側、例えば、その領域の右下の位置の隣に位置する。
【0077】
ii. 一例において、仮想サンプルのMVは、実際のサンプルと同じ方法で、異なる位置において導出される。
【0078】
iii. 図2A-2Cにおける“V”は、仮想サンプルの3つの例を示す。
【0079】
j. 共有されるMV(及び/又は共有される水平成分及び/又は共有される垂直成分及び/又は共有される分数水平成分及び/又は共有される分数垂直成分)は、複数のサンプル及び/又は仮想サンプルのMV (及び/又は水平成分及び/又は垂直成分及び/又は分数水平成分及び/又は分数垂直成分)の関数であるように設定されることが可能である。
【0080】
i. 例えば、共有されるMV (及び/又は共有される水平成分及び/又は共有される垂直成分及び/又は共有される分数水平成分及び/又は共有される分数垂直成分)は、グループ内のサンプル、又は図2Aにおけるサンプル“E”,“F”,“G”,“H”、又は図2Aにおけるサンプル“E”, “H”、又は図2Aにおけるサンプル“A”,“B”,“C”,“D”、又は図2Aにおけるサンプル“A”,“D”、又は図2Bにおけるサンプル“B”,“C”、又は図2Bにおけるサンプル“A”,“D”、又は図2Cにおけるサンプル“B”,“C”、又は図2Cにおけるサンプル“A”,“D”、のうちの全部又は一部のMV (及び/又は水平成分及び/又は垂直成分及び/又は分数水平成分及び/又は分数垂直成分)の平均に設定されてもよい。
【0081】
2. 参照ピクチャの解像度が現在のピクチャと異なる場合、動き補償プロセスを実行して現在のブロックの予測ブロックを導出するために、整数MVのみが許容されることを提案する。
【0082】
a. 一例において、予測されるサンプルのための復号化された動きベクトルは、使用される前に整数MVに丸められる。
【0083】
3. 現在のブロック内のサンプルに対する動き補償プロセスで使用される動きベクトル(例えば、上記の箇条書きで言及された共有MV/共有水平又は垂直又は分数成分/MV’)は、復号化されたピクチャ・バッファに格納され、現在の/異なるピクチャ内の後続するブロックの動きベクトル予測のために使用される可能性がある。
【0084】
a. 代替的に、現在のブロック内のサンプルに対する動き補償プロセスで使用される動きベクトル(例えば、上記の箇条書きで言及された共有MV/共有水平又は垂直又は分数成分/MV’)は、現在の/異なるピクチャ内の後続するブロックの動きベクトル予測のために使用することを許容されない可能性がある。
【0085】
i. 一例において、復号化された動きベクトル(例えば、上記の箇条書きにおけるMVb)は、現在の/異なるピクチャ内の後続するブロックの動きベクトル予測のために利用されてもよい。
【0086】
b. 一例において、現在のブロック内のサンプルに対する動き補償プロセスで使用される動きベクトルは、フィルタリング・プロセス(例えば、デブロッキング・フィルタ/SAO/ALF)で使用されてもよい。
【0087】
i. 代替的に、復号化された動きベクトル(例えば、上記箇条書きにおけるMVb)は、フィルタリング・プロセスで使用されてもよい。
【0088】
4. 現在のブロックの予測ブロックを導出するために動き補償プロセスで使用される補間フィルタは、参照ピクチャの解像度が現在のピクチャと異なるかどうかに依存して選択されてもよいことを提案する。
【0089】
a. 一例において、参照ピクチャの解像度が現在のピクチャと異なる場合、補間フィルタは、より少ないタップを有する。
【0090】
i. 一例において、参照ピクチャの解像度が現在のピクチャと異なる場合、バイリニア・フィルタ(bi-linear filters)が適用される。
【0091】
ii. 一例において、参照ピクチャの解像度が現在のピクチャと異なる場合、4タップ・フィルタ又は6タップ・フィルタが適用される。
【0092】
5. 参照ピクチャの解像度が現在のピクチャと異なる場合、予測ブロック生成のための2段階プロセスが適用されることを提案する。
【0093】
a. 第1段階では、現在のピクチャ及び参照ピクチャの幅及び/又は高さに依存して、参照ピクチャ内の領域をアップ・サンプリング又はダウン・サンプリングするによって、仮想参照ブロックが生成される。
【0094】
b. 第2段階では、現在のピクチャ及び参照ピクチャの幅及び/又は高さに無関係に、補間フィルタリングを適用することによって、仮想参照ブロックから予測サンプルが生成される。
【0095】
6. JVET-O2001-v14の8.5.6.3.1で定義されているような参照サンプル・パディングのための境界ブロックの左上座標( xSbIntL, ySbIntL )の計算は、現在のピクチャと参照ピクチャの幅及び/又は高さに依存して導出されてもよいことを提案する。
【0096】
a. 一例において、フル・サンプル単位のルマ位置は、以下のように修正される:
xInti = Clip3( xSbIntL - Dx, xSbIntL + sbWidth + Ux, xInti ),
yInti = Clip3( ySbIntL - Dy, ySbIntL + sbHeight + Uy, yInti ),
ここで、Dx及び/又はDy及び/又はUx及び/又はUyは、現在のピクチャ及び参照ピクチャの幅及び/又は高さに依存する可能性がある。
【0097】
b. 一例において、フル・サンプル単位のクロマ位置は、以下のように修正される:
xInti = Clip3( xSbIntC - Dx, xSbIntC + sbWidth + Ux, xInti )
yInti = Clip3( ySbIntC - Dy, ySbIntC + sbHeight + Uy, yInti )
ここで、Dx及び/又はDy及び/又はUx及び/又はUyは、現在のピクチャ及び参照ピクチャの幅及び/又は高さに依存する可能性がある。
【0098】
7. JVET-O2001-v14の8.5.6.3.1で規定されているような(( xSbIntL, ySbIntL )のような)参照サンプル・パディングのための境界ブロックに従ってMVをクリップするかどうか、及び/又はどのようにクリップするかは、DMVRの用法に依存してもよいことを提案する。
【0099】
a. 一例において、MVは、DMVRが適用される場合に限り、(例えば、8.5.6.3.1で定義される( xSbIntL, ySbIntL )のような)参照サンプル・パディングのための境界ブロックに従って、MVはクリップされる。
【0100】
i. 例えば、JVET-O2001-v14で定義されているようなルマ・サンプル補間フィルタリング・プロセスにおける処理8-775と8-776は、DMVRが現在のブロックに使用される場合に限り、適用される。
【0101】
ii. 例えば、JVET-O2001-v14で定義されているようなクロマ・サンプル補間フィルタリング・プロセスにおける処理8-789及び8-790は、DMVRが現在のブロックに使用される場合に限り、適用される。
【0102】
b. 代替的に、更に、上記の方法は、クロマ・サンプルのクリッピングに適用可能であってもよい。
【0103】
8. JVET-O2001-v14の8.5.6.3.1で規定されているような(e.g., ( xSbIntL, ySbIntL )のような)参照サンプル・パディングのための境界ブロックに従ってMVをクリップするかどうか、及び/又はどのようにクリップするかは、ピクチャ・ラッピングが使用されるかどうか(例えば、sps_ref_wraparound_enabled_flagが0に等しいか又は1に等しいかどうか)に依存してもよいことを提案する。
【0104】
a. 一例において、MVは、ピクチャ・ラッピングが使用されない場合に限り、(例えば、8.5.6.3.1で定義されている( xSbIntL, ySbIntL )のような)参照サンプル・パディングのための境界ブロックに従ってクリップされる。
【0105】
i. 例えば、JVET-O2001-v14で定義されているようなルマ・サンプル補間フィルタリング・プロセスにおける処理8-775と8-776は、ピクチャ・ラッピングが使用されない場合に限り、適用されます。
【0106】
ii. 例えば、JVET-O2001-v14で定義されているようなクロマ・サンプル補間フィルタリング・プロセスにおける処理8-789と8-790は、ピクチャ・ラッピングが使用されない場合に限り、適用される。
【0107】
b. 代替的に、更に、上記の方法は、クロマ・サンプルのクリッピングに適用可能であってもよい。
【0108】
c. 一例において、フル・サンプル単位におけるルマ位置は、以下のように修正される:
xInti = Clip3( xSbIntL - Dx, xSbIntL + sbWidth + Ux, xInti ),
yInti = Clip3( ySbIntL - Dy, ySbIntL + sbHeight + Uy, yInti ),
ここで、Dx及び/又はDy及び/又はUx及び/又はUyは、ピクチャ・ラッピングが使用されるかどうかに依存してもよい。
【0109】
d. 一例において、フル・サンプル単位におけるクロマ位置は、以下のように変更される:
xInti = Clip3( xSbIntC - Dx, xSbIntC + sbWidth + Ux, xInti )
yInti = Clip3( ySbIntC - Dy, ySbIntC + sbHeight + Uy, yInti )
ここで、Dx及び/又はDy及び/又はUx及び/又はUyは、ピクチャ・ラッピングが使用されるかどうかに依存してもよい。
【0110】
9. フィルタリング・プロセス(例えば、デブロッキング・フィルタ)を適用するかどうか/どのように適用するかは、参照ピクチャが異なる解像度を伴うかどうかに依存する可能性がある。
【0111】
a. 一例において、デブロッキング・フィルタの境界強度設定は、動きベクトルの差に加えて、解像度の差を考慮に入れることが可能である。
【0112】
b. 一例において、デブロッキング・フィルタの境界強度設定は、解像度の差に基づいて、スケーリングされた動きベクトル差を考慮に入れることが可能である。
【0113】
c. 一例において、ブロックAの少なくとも1つの参照ピクチャの解像度が、ブロックBの少なくとも1つの参照ピクチャの解像度と異なる(又はそれより小さいか又は大きい)場合には、デブロッキング・フィルタの強度が増やされる。
【0114】
d. 一例において、ブロックAの少なくとも1つの参照ピクチャの解像度が、ブロックBの少なくとも1つの参照ピクチャの解像度と異なる(又はそれより小さいか又は大きい)場合には、デブロッキング・フィルタの強度が減らされる。
【0115】
e. 一例において、ブロックA及び/又はブロックBの少なくとも1つの参照ピクチャの解像度が、現在のブロックの解像度と異なる(又はそれより小さいか又は大きい)場合には、デブロッキング・フィルタの強度は増やされる。
【0116】
f. 一例において、ブロックA及び/又はブロックBの少なくとも1つの参照ピクチャの解像度が、現在のブロックの解像度と異なる(又はそれより小さいか又は大きい)場合には、デブロッキング・フィルタの強度は減らされる。
【0117】
10. 現在のピクチャと同じ参照ピクチャ解像度に基づくブロックの動きベクトルを記憶/使用する代わりに、解像度の差を考慮した実際の動きベクトルを使用することを提案する。
【0118】
a. 代替的に、更に、動きベクトルを用いて予測ブロックを生成する場合に、(例えば、JVET-O2001-v14の8.5.6.3.1で導出される(refxL, refyL)のような)現在のピクチャと参照ピクチャの解像度に従って、動きベクトルを更に変更する必要はない。
【0119】
11. 一例において、サブ・ピクチャが存在する場合、参照ピクチャは現在のピクチャと同じ解像度を有する必要がある。
a. 代替的に、参照ピクチャが現在のピクチャと異なる解像度を有する場合、現在のピクチャにサブ・ピクチャは一切存在しない必要がある。
【0120】
12. 一例において、サブ・ピクチャは、異なる解像度を有するピクチャに対して別々に定義されてもよい。
【0121】
13. 一例において、参照ピクチャが現在のピクチャとは異なる解像度を有する場合、参照ピクチャ内の対応するサブ・ピクチャは、現在のピクチャのサブ・ピクチャをスケーリング及び/又はオフセット処理を行うことによって導出することができる。
【0122】
14. ラップ・アラウンド・クリッピングに関連する情報の全部又は一部は、ピクチャ/ビュー/スライス/タイル/ブリック/サブ・ピクチャ/CTU行レベルなどのような、シーケンス・レベル以外のビデオ・ユニットでシグナリングされてもよいことを提案する。
【0123】
a. 一例において、情報は、PPS、APS、ピクチャ・ヘッダ、スライス・ヘッダなどでシグナリングされてもよい。
【0124】
b. 例えば、シンタックス要素(例えば、pps_ref_wraparound_offset_minus1と名付けられるもの)は、水平ラップ・アラウンド位置を計算するために使用されるオフセットを示すために、第1PPSでシグナリングされてもよい。
【0125】
i. 一例において、pps_ref_wraparound_offset_minus1がシグナリングされてもよく、pps_ref_wraparound_offset_minus1 plus 1は、MinCbSizeYルマ・サンプルの単位で、水平ラップ・アラウンド位置を計算するために使用されるオフセットを指定し、MinCbSizeYは、ルマ・ブロックの最小Cbサイズを示す。
【0126】
ii. pps_ref_wraparound_offset_minus1の範囲は、pic_width_in_luma_samplesが第1PPSにあることに依存する可能性がある。例えば、pps_ref_wraparound_offset_minus1の値は、両端を含む( CtbSizeY / MinCbSizeY ) + 1ないし( pic_width_in_luma_samples / MinCbSizeY ) - 1の範囲内にあるものとし、ここで、pic_width_in_luma_samplesは、第1PPSにある。
【0127】
iii. 一例において、シンタックス要素は、固定長/トランケーテッド・ユーナリー/ユーナリー/トランケーテッド・バイナリ/K-th EG (例えば、K=0)二値化法でコーディングされてもよい。
【0128】
c. 例えば、シンタックス要素(例えば、pps_ref_wraparound_enabled_flagと名付けられるもの)は、水平ラップ・アラウンド動き補償が、インター予測に適用されるかどうかを示すために、第1PPSでシグナリングされる可能性がある。
【0129】
i. 一例において、1に等しいpps_ref_wraparound_enabled_flagは、水平ラップ・アラウンド動き補償が、インター予測に適用されることを指定する。0に等しいpps_ref_wraparound_enabled_flagは、水平ラップ・アラウンド動き補償が適用されないとを指定する。
【0130】
ii. 代替的に、更に、シンタックス要素は、条件付きでシグナリングされてもよい。
【0131】
1) 一例において、pps_ref_wraparound_offset_minus1をシグナリングするかどうかは、pps_ref_wraparound_enabled_flagに依存してもよい。
【0132】
a) 例えば、pps_ref_wraparound_offset_minus1は、pps_ref_wraparound_enabled_flagが1に等しい場合に限り、シグナリングされる。
【0133】
d. 一例において、第1シンタックス要素は、シーケンス・レベルでのような第1ビデオ・ユニットでシグナリングされてもよく(例えば、SPSでシグナリングされてもよく)、第2シンタックス要素は、ピクチャ/スライス・レベルでのような第2ビデオ・ユニットでシグナリングされる(例えば、PPS、APS、ピクチャ・ヘッダ、スライス・ヘッダなどでシグナリングされる)。第1シンタックス要素と第2シンタックス要素は、ラップ・アラウンド・クリッピングにおいて、同じ機能であるが異なるレベルにおけるものを有する可能性がある。
【0134】
i. 第2ビデオ・ユニットは、第1ビデオ・ユニットを参照してもよい。
【0135】
ii. 例えば、sps_ref_wraparound_offset_minus1はSPSでシグナリングされてもよく、pps_ref_wraparound_offset_minus1はPPSでシグナリングされてもよい。
【0136】
iii. 例えば、sps_ref_wraparound_enabled_flagはSPSでシグナリングされてもよく、pps_ref_wraparound_enabled_flagはPPSでシグナリングされてもよい。
【0137】
iv. 一例において、適合ビット・ストリーム(conformance bit-stream)において、第1シンタックス要素は、第2シンタックス要素に一致しているべきである。
【0138】
1) 例えば、適合ビット・ストリームにおいて、sps_ref_wraparound_enabled_flagはpps_ref_wraparound_enabled_flagと同じであるべきである。
【0139】
v. 一例において、第2シンタックス要素は、第1シンタックス要素に依存してもよい。
【0140】
1) 例えば、sps_ref_wraparound_enabled_flagが0に等しい場合に、pps_ref_wraparound_enabled_flagは、0に等しくなければならない。
【0141】
2) 例えば、sps_ref_wraparound_enabled_flagが1である場合、pps_ref_wraparound_enabled_flagは、0又は1であるとすることが可能である。
【0142】
vi. 一例において、第1シンタックス要素は無視され、第2シンタックス要素は、2つのシンタックス要素が両方とも現れる場合にその機能を発揮する。
【0143】
vii. 一例において、第2シンタックス要素は無視され、第1シンタックス要素は、2つのシンタックス要素が両方とも現れる場合にその機能を発揮する。
【0144】
e. 一例において、( CtbSizeY / MinCbSizeY + Offset1)の値が( pic_width_in_luma_samples / MinCbSizeY - Offset2 )以下でない場合、sps_ref_wraparound_enabled_flagの値は0に等しいものとし、ここで、pic_width_in_luma_samplesは、SPSを参照する何らかのPPSにおけるpic_width_in_luma_samplesの値である。例えば、Offset1 = Offset2 = 1である。
【0145】
f. 一例において、( CtbSizeY / MinCbSizeY + Offset1)の値が( pic_width_in_luma_samples / MinCbSizeY - Offset2 )より小さくない場合、sps_ref_wraparound_enabled_flagの値は0に等しいものとし、ここで、pic_width_in_luma_samplesは、SPSを参照する何らかのPPSにおけるpic_width_in_luma_samplesの値である。例えば、Offset1 = Offset2 = 1である。
【0146】
g. 一例において、( CtbSizeY / MinCbSizeY + Offset1)の値が( pic_width_in_luma_samples / MinCbSizeY - Offset2 )以上である場合、sps_ref_wraparound_enabled_flagの値は0に等しいものとし、ここで、pic_width_in_luma_samplesは、SPSを参照する何らかのPPSにおけるpic_width_in_luma_sampleの値である。例えば、Offset1 = Offset2 = 1である。
【0147】
h. 一例において、( CtbSizeY / MinCbSizeY + Offset1) の値が( pic_width_in_luma_samples / MinCbSizeY - Offset2 )より大きい場合、sps_ref_wraparound_enabled_flagの値は0に等しいものとし、ここで、pic_width_in_luma_samplesは、SPSを参照する何らかのPPSにおけるpic_width_in_luma_samplesの値である。例えば、Offset1 = Offset2 = 1である。
【0148】
i. 一例において、( CtbSizeY / MinCbSizeY + Offset1)の値が( pic_width_in_luma_samples / MinCbSizeY - Offset2 )以下でない場合、pps_ref_wraparound_enabled_flagの値は0に等しいものとし、ここで、pic_width_in_luma_samplesはPPSにおけるものである。例えば、Offset1 = Offset2 = 1である。
【0149】
j 一例において、( CtbSizeY / MinCbSizeY + Offset1)の値が( pic_width_in_luma_samples / MinCbSizeY - Offset2 )より小さくない場合、pps_ref_wraparound_enabled_flagの値は0に等しいものとし、ここで、pic_width_in_luma_samplesはPPSにおけるものである。例えば、Offset1 = Offset2 = 1である。
【0150】
k. 一例において、( CtbSizeY / MinCbSizeY + Offset1)の値が( pic_width_in_luma_samples / MinCbSizeY - Offset2 )以上である場合、pps_ref_wraparound_enabled_flagの値は0に等しいものとし、ここで、pic_width_in_luma_samplesはPPSにおけるものであり、例えば、Offset1 = Offset2 = 1である。
【0151】
l. 一例において、( CtbSizeY / MinCbSizeY + Offset1)の値が( pic_width_in_luma_samples / MinCbSizeY - Offset2 )より大きい場合、pps_ref_wraparound_enabled_flagは0に等しいものとし、ここで、pic_width_in_luma_samplesはPPSにおけるものであり、例えば、Offset1 = Offset2 = 1である。
【0152】
15. Xが0以下であるLog2(X)の方程式は、アフィン・マージ候補を導出するためには回避されるべきであることを提案する。
【0153】
a. 例えば、手順は、Xが0より大きいか否かにより条件付けられてもよい。
【0154】
b. 例えば、手順は、Xが0に等しいか否かにより条件付けられてもよい。
【0155】
c. 例えば、Log2(Height/Width)の代わりに、Log2(Height) - Log2(Width)が計算される。
【0156】
d. JVET-P2001-v9に基づく例示的な仕様変更は以下の通りである:
8.5.5.6 構築されたアフィン制御ポイント動きベクトル・マージ候補に対する導出プロセス
・・・
【0157】
【数8】
16. クロス・コンポーネント線型モデル(Cross‐Component Linear Model, CCLM)におけるパラメータを導出する手順において、Xが0以下のLog2(X)の方程式は回避されるべきであることを提案する。
【0158】
a. 例えば、手順は、Xが0より大きいか否かに条件付けられてもよい。
【0159】
b. 例えば、手順は、Xが0に等しいか否かに条件付けられてもよい。
【0160】
c. JVET-P2001-v9に基づく例示的な仕様の変更は以下の通りである:

8.4.5.2.13 INTRA_LT_CCLM, INTRA_L_CCLM及びINTRA_T_CCLMのイントラ予測モードの仕様
・・・
【0161】
【数9】
17. 角度イントラ予測の手順において、0で割ることは回避されるべきであることを提案する。
【0162】
e. 例えば、invAngleの導出は、intraPredAngleが0に等しいかどうかに条件付けられていてもよい。
【0163】
f. JVET-P2001-v9に基づく例示的な仕様の変更は、以下の通りである:

8.4.5.2.12 INTRA_ANGULAR2..INTRA_ANGULAR66イントラ予測モードの仕様
このプロセスへの入力は以下の通りである:
- イントラ予測モードpredModeIntra,
- イントラ予測参照ラインインデックスを指定する変数refIdx,
- 変換ブロック幅を指定する変数nTbW,
- 変換ブロックの高さを指定する変数nTbH,
- 参照サンプル幅を指定する変数refW,
- 参照サンプルの高さを指定する変数refH,
- コーディング・ブロック幅を指定する変数nCbW,
- コーディング・ブロックの高さを指定する変数nCbH,
- 参照フィルタ・フラグの値を指定する変数refFilterFlag,
- 現在のブロックの色成分を指定する変数cIdx,
- 隣接サンプルp[ x ][ y ], x = -1- refIdx, y = -1- refIdx..refH - 1 及び x = -refIdx..refW - 1, y = -1- refIdx。
このプロセスの出力は、予測されたサンプルpredSamples[ x ][ y ], x = 0..nTbW - 1, y = 0..nTbH - 1である。

変数nTbSは、( Log2 ( nTbW ) + Log2 ( nTbH ) ) >> 1 に等しく設定される。
変数filterFlagは、以下のように導出される:
- 以下の条件のうちの1つ以上が真である場合、filterFlagは0に等しく設定される。
【0164】
- refFilterFlagは、1に等しい。
【0165】
- refIdx is not equal to 0は、0に等しい。
【0166】
- IntraSubPartitionsSplitTypeは、ISP_NO_SPLITに等しくない。
- それ以外の場合、以下が適用される:
- 変数minDistVerHorは、Min( Abs( predModeIntra - 50 ), Abs( predModeIntra - 18 ) )に等しく設定される。
【0167】
- 変数intraHorVerDistThres[ nTbS ]は、テーブル8-7で規定されている。
【0168】
- 変数filterFlagは、以下のように導出される:
- minDistVerHorが、intraHorVerDistThres[ nTbS ]より大きく、refFilterFlagが、0に等しい場合、filterFlagは、1に等しく設定される。
【0169】
- それ以外の場合、filterFlagは、0に等しく設定される。
【0170】
【数10】
18. ルマ及び/又はクロマ・サンプルに整数サンプル・クリッピング処理を適用するかどうか及び/又はどのように適用するかは、参照ピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)の幅及び/又は高さ、及び現在のピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)の幅及び/又は高さに依存する可能性がある。
【0171】
a. 一例において、整数サンプル・クリッピング処理は、参照ピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)の幅及び/又は高さが、現在のピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)の幅及び/又は高さに等しい場合に限り、適用される。
【0172】
i. 代替的に、更に、参照ピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)の幅又は高さの何れかが、現在のピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)のものと等しくない場合、整数サンプル・クリッピング処理はスキップされる。
【0173】
b. 代替的に、ルマ及び/又はクロマ・サンプルに整数サンプル・クリッピング処理を適用するかどうか及び/又はどのように適用するかは、参照ピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)と現在のピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)との間の水平及び/又は垂直スケーリング因子に依存する可能性がある。
【0174】
i. 一例において、整数サンプル・クリッピング処理は、参照ピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)と現在のピクチャ(又は適合ウィンドウ、又はそのスケーリング・ウィンドウ)との間の水平及び/又は垂直スケーリング因子が1に等しい場合に限り、適用される。
【0175】
ii. 代替的に、水平又は垂直スケーリング因子が1に等しくない場合、整数サンプル・クリッピング処理はスキップされる。
【0176】
c. 一例において、水平方向の整数サンプル・クリッピング処理は、参照ピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)の幅及び現在のピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)の幅によって条件付けられる。
【0177】
i. 一例において、水平方向の整数サンプル・クリッピング処理は、参照ピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)と現在のピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)との間の水平スケーリング因子によって条件付けられる。
【0178】
d. 一例において、垂直方向の整数サンプル・クリッピング処理は、参照ピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)の高さ及び現在のピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)の高さによって条件付けられる。
【0179】
i. 一例において、垂直方向の整数サンプル・クリッピング処理は、参照ピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)と現在のピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)との間の垂直スケーリング因子によって条件付けられる。
【0180】
e. JVET-P2001-v9に基づく例示的な仕様変更は以下の通りである:

8.5.6.3.2 ルマ・サンプル補間フィルタリング・プロセス
・・・
フル・サンプル単位におけるルマ位置( xInti, yInti )は、i = 0..7に対して以下のように導出される:
- subpic_treated_as_pic_flag[ SubPicIdx ]が1に等しい場合、以下が適用される:
xInti = Clip3( SubPicLeftBoundaryPos, SubPicRightBoundaryPos, xIntL + i - 3 ) (8-754)
yInti = Clip3( SubPicTopBoundaryPos, SubPicBotBoundaryPos, yIntL + i - 3 ) (8-755)
- それ以外の場合(subpic_treated_as_pic_flag[ SubPicIdx ]が0に等しい)、以下が適用される:
xInti = Clip3( 0, picW - 1, sps_ref_wraparound_enabled_flag ?
ClipH( ( sps_ref_wraparound_offset_minus1 + 1 ) * MinCbSizeY, picW, xIntL + i - 3 ) : xIntL + i - 3 )
yInti = Clip3( 0, picH - 1, yIntL + i - 3 )

hori_scale_fpが (1<<14)に等しく、vert_scale_fpが(1<<14)に等しい場合、フル・サンプル単位におけるルマ位置は、i=0..7に対して以下のように更に修正される:
xInti = Clip3( xSbIntL - 3, xSbIntL + sbWidth + 4, xInti )
yInti = Clip3( ySbIntL - 3, ySbIntL + sbHeight + 4, yInti )
予測されたルマ・サンプル値predSampleLXLは、以下のように導出される:
- xFracLとyFracLの双方が0に等しく、hori_scale_fpとvert_scale_fpの双方が20481より小さい場合、predSampleLXLの値は、以下のように導出される:
predSampleLXL = refPicLXL[ xInt3 ][ yInt3 ] << shift3
・・・

8.5.6.3.4 クロマ・サンプル補間プロセス
・・・
hori_scale_fpが (1<<14)に等しく、vert_scale_fpが (1<<14)に等しい場合、フル・サンプル単位におけるクロマ位置( xInti, yInti )は、i=0..3に対して以下のように更に修正される:
xInti = Clip3( xSbIntC - 1, xSbIntC + sbWidth + 2, xInti ) (8-774)
yInti = Clip3( ySbIntC - 1, ySbIntC + sbHeight + 2, yInti ) (8-775)
・・・
f. JVET-P2001-v9に基づく例示的な仕様変更は以下の通りである:

8.5.6.3.2 ルマ・サンプル補間フィルタリング・プロセス
・・・
フル・サンプル単位におけるルマ位置( xInti, yInti )は、i=0..7に対して以下のように導出される:
- subpic_treated_as_pic_flag[ SubPicIdx ]が1に等しい場合、以下が適用される:
xInti = Clip3( SubPicLeftBoundaryPos, SubPicRightBoundaryPos, xIntL + i - 3 ) (8-754)
yInti = Clip3( SubPicTopBoundaryPos, SubPicBotBoundaryPos, yIntL + i - 3 ) (8-755)
- それ以外の場合(subpic_treated_as_pic_flag[ SubPicIdx ]が0に等しい)、以下が適用される:
xInti = Clip3( 0, picW - 1, sps_ref_wraparound_enabled_flag ?
ClipH( ( sps_ref_wraparound_offset_minus1 + 1 ) * MinCbSizeY, picW, xIntL + i - 3 ) :
xIntL + i - 3 )
yInti = Clip3( 0, picH - 1, yIntL + i - 3 )

フル・サンプル単位におけるルマ位置は、i=0..7に対して以下のように更に修正される:
hori_scale_fpが(1<<14)に等しく、vert_scale_fpが(1<<14)に等しい場合:
xInti = Clip3( xSbIntL - 3, xSbIntL + sbWidth + 4, xInti )
hori_scale_fpが(1<<14)に等しく、vert_scale_fpが(1<<14)に等しい場合:
yInti = Clip3( ySbIntL - 3, ySbIntL + sbHeight + 4, yInti )

予測されたルマ・サンプル値predSampleLXLは、以下のように導出される:
- xFracLとyFracLの双方が0に等しく、hori_scale_fpとvert_scale_fpの双方が20481より小さい場合、predSampleLXLの値は、以下のように導出される:
predSampleLXL = refPicLXL[ xInt3 ][ yInt3 ] << shift3
・・・

8.5.6.3.4 クロマ・サンプル補間プロセス
・・・
フル・サンプル単位におけるクロマ位置( xInti, yInti )は、i=0..3に対して以下のように更に修正される:
hori_scale_fpが(1<<14)に等しく、vert_scale_fpが(1<<14)に等しい場合:
xInti = Clip3( xSbIntC - 1, xSbIntC + sbWidth + 2, xInti ) (8-774)
hori_scale_fpが(1<<14)に等しく、vert_scale_fpが(1<<14)に等しい場合:
yInti = Clip3( ySbIntC - 1, ySbIntC + sbHeight + 2, yInti ) (8-775)
・・・
g. 一例において、整数サンプル・クリッピング処理を適用するかどうかは、2つの参照リストのうちの参照ピクチャ(又はそれらの適合ウィンドウ、又はそれらのスケーリング・ウィンドウ)の幅及び/又は高さ、及び現在のピクチャ(又はそれらの適合ウィンドウ、又はそのスケーリング・ウィンドウ)の幅及び/又は高さに依存する可能性がある。
【0181】
i. 一例において、整数サンプル・クリッピング処理は、現在のブロック(又はそれらの適合ウィンドウ、又はそれらのスケーリング・ウィンドウ)によって使用される全ての参照ピクチャ(例えば、参照リスト0からのもの、又は参照リスト1からのもの、又はその両方からのもの)の幅及び/又は高さが、現在のピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)の幅及び/又は高さに等しい場合に限り、適用される。
【0182】
1) 代替的に、更に、現在のブロック(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)によって使用される参照ピクチャ(例えば、参照リスト0からのもの、又は参照リスト1からのもの)の幅又は高さの何れかが、現在のピクチャ(又はその適合ウィンドウ、又はそのスケーリング・ウィンドウ)のものと等しくない場合、整数サンプル・クリッピング処理はスキップされる。
【0183】
h. JVET-P2001-v14に基づく例示的な仕様変更は以下の通りである:

8.5.6.3.2 ルマ・サンプル補間フィルタリング・プロセス
このプロセスへの入力は、以下の通りである:
- フル・サンプル単位におけるルマ位置( xIntL, yIntL ),
・・・
RefPicIsScaled[ 0 ][ refIdxL0 ]が0に等しく、RefPicIsScaled[ 1 ][ refIdxL1 ]が0に等しい場合、フル・サンプル単位におけるルマ位置は、i=0..7に対して以下のように更に修正される:
xInti = Clip3( xSbIntL - 3, xSbIntL + sbWidth + 4, xInti ) (959)
yInti = Clip3( ySbIntL - 3, ySbIntL + sbHeight + 4, yInti ) (960)
予測されたルマ・サンプル値predSampleLXLは、以下のように導出される:
・・・
8.5.6.3.4 クロマサンプル補間処理
このプロセスへの入力は、以下の通りである:
- フル・サンプル単位におけるクロマ位置( xIntC, yIntC ),
・・・
RefPicIsScaled[ 0 ][ refIdxL0 ]が0に等しく、RefPicIsScaled[ 1 ][ refIdxL1 ]が0等しい場合、フル・サンプル単位におけるクロマ位置( xInti, yInti )は、i=0..3に対して以下のように更に修正される:
xInti = Clip3( xSbIntC - 1, xSbIntC + sbWidth + 2, xInti ) (975)
yInti = Clip3( ySbIntC - 1, ySbIntC + sbHeight + 2, yInti ) (976)
予測されたルマ・サンプル値predSampleLXCは、以下のように導出される:
・・・
i. 一例において、整数サンプル・クリッピング処理を適用するかどうかは、DMVRが適用されるかどうかに依存してもよい。
【0184】
j. JVET-P2001-v14に基づく例示的な仕様変更は以下の通りである:

8.5.6.3.2 ルマ・サンプル補間フィルタリング・プロセス
このプロセスへの入力は、以下の通りである:
- フル・サンプル単位におけるルマ位置( xIntL, yIntL ),
・・・
dmvrFlagが1である場合、フル・サンプル単位におけるルマ位置は、i=0..7に対して以下のように更に修正される:
xInti = Clip3( xSbIntL - 3, xSbIntL + sbWidth + 4, xInti ) (959)
yInti = Clip3( ySbIntL - 3, ySbIntL + sbHeight + 4, yInti ) (960)
予測されたルマ・サンプル値predSampleLXLは、以下のように導出される:
・・・

8.5.6.3.4 クロマサンプル補間処理
このプロセスへの入力は、以下の通りである:
- フル・サンプル単位におけるクロマ位置( xIntC, yIntC ),
・・・
dmvrFlagが1である場合、フル・サンプル単位におけるクロマ位置( xInti, yInti )は、i=0..3に対して以下のように更に修正される:
xInti = Clip3( xSbIntC - 1, xSbIntC + sbWidth + 2, xInti ) (975)
yInti = Clip3( ySbIntC - 1, ySbIntC + sbHeight + 2, yInti ) (976)
予測されたルマ・サンプル値predSampleLXCは、以下のように導出される:
・・・

19. ルマ及び/又はクロマ・サンプルに整数サンプル・クリッピング処理を適用するかどうか及び/又はどのように適用するかは、コーディング・ツールXが適用されるかどうかに依存してもよい。(例えば、Xはデコーダ側動きベクトル精密化(DMVR)である)。
【0185】
a. 一例において、整数サンプル・クリッピング処理は、コーディング・ツールXが適用される場合に限り、適用される。
【0186】
b. 一例において、整数サンプル・クリッピング処理は、コーディング・ツールXが適用されない場合に限り、適用される。

GEO 関連
20. 何れの角度/距離がGEOでの使用に許容されるかは、復号化された情報に依存してもよい(例えば、シンタックス要素、ブロック・ディメンジョン)。
【0187】
a. 一例において、何れの角度/距離がGEOで使用することができるのかは、ブロック・ディメンジョンに依存してもよい。
【0188】
i. 一例において、一組の角度/距離がブロック・ディメンジョンAに対して使用されてもよく(例えば、Aは、幅より大きな高さを有するブロックを示してもよい)、他方、別の組の角度/距離がブロック寸法Bに使用されてもよい(例えば、Bは、幅より大きくない高さを有するブロックを示してもよい)。
【0189】
b. 一例において、どのようにGEOモード・インデックスを角度/距離インデックスにマッピングするかは、復号化された情報(例えば、関連するシンタックス要素、ブロック・ディメンジョン)に依存してもよい。
【0190】
c. 一例において、復号化された/シグナリングされたGEOモード・インデックスを、GEO角度/距離インデックスを導出するために使用されるGEOモード・インデックスにどのようにマッピングするかは、復号化された情報(例えば、関連するシンタックス要素、ブロック・ディメンジョン)に依存してもよい。
【0191】
d. 一例において、復号化された/シグナリングされたGEOモード・インデックスを、GEO角度/距離インデックスにどのようにマッピングするかは、復号化された情報(例えば、関連するシンタックス要素、ブロック・ディメンジョン)に依存してもよい。
【0192】
e. JVET-Q0160_CE4_1_CommonBaseWD_w_fixesに基づく例示的な仕様変更は、下記の通りであり、ここで、新たに追加されたテキストは、下線の付いた太字フォントで示されている。削除されたテキストは、角括弧[[ ]]で囲むことによりマーキングされている。

8.5.7 geoインター・ブロックに対する復号化プロセス
8.5.7.1 概要
このプロセスは、1に等しいMergeGeoFlag[ xCb ][ yCb ]を有するコーディング・ユニットを復号化する場合に起動される。
【0193】
このプロセスへの入力は以下の通りである:
- 現在のピクチャの左上ルマ・サンプルに対する、現在のコーディング・ブロックの左上サンプルを指定するルマ位置( xCb, yCb ),
- ルマ・サンプルの現在のコーディング・ブロックの幅を指定する変数cbWidth,
- ルマ・サンプルの現在のコーディング・ブロックの高さを指定する変数cbHeigh,
- 1/16分数-サンプル精度におけるルマ動きベクトルmvA及び mvB,
- クロマ・動きベクトルmvCA及び mvCB,
- 参照インデックスrefIdxA及びrefIdxB,
- 予測リスト・フラグpredListFlagA及びpredListFlagB.

このプロセスの出力は以下の通りである:
- ルマ予測サンプルの(cbWidth)x(cbHeight)の配列predSamplesL,
- 成分Cbに対するクロマ予測サンプルの(cbWidth / SubWidthC)x(cbHeight / SubHeightC)の配列predSamplesCb,
- 成分Crに対するクロマ予測サンプルの(cbWidth / SubWidthC)x(cbHeight / SubHeightC) array predSamplesCr.

predSamplesLALとpredSamplesLBLを、予測されたルマ・サンプル値の(cbWidth)x(cbHeight)の配列であるとし、predSamplesLACb, predSamplesLBCb, predSamplesLACr and predSamplesLBCrを、予測されたクロマ・サンプル値の(cbWidth / SubWidthC)x(cbHeight / SubHeightC)の配列であるとする。
【0194】
predSamplesL, predSamplesCb及びpredSamplesCrは、以下の順序付けられたステップで導出される:
1. A及びBの各々であるNに関し、以下が適用される:
- ルマ・サンプルの順序づけられた2次元配列refPicLNLとクロマ・サンプルの2つの順序づけられた2次元配列refPicLNCb及びrefPicLNCrとから構成される参照ピクチャは、条項8.5.6.2で規定されるプロセスを、predListFlagN に等しく設定されたXとrefIdxNに等しく設定されたrefIdxXとを入力として、起動することによって導出される。
【0195】
- 配列predSamplesLNLは、条項8.5.6.3で規定される分数サンプル補間プロセスを、ルマ位置( xCb, yCb )と、cbWidthに等しく設定されたルマ・コーディング・ブロック幅sbWidthと、cbHeightに等しく設定されたルマ・コーディング・ブロック高さsbHeightと、( 0, 0)に等しく設定された動きベクトル・オフセットmvOffsetと、mvNに等しく設定された動きベクトル mvLXと、refPicLNLに等しく設定された参照配列refPicLXLと、FALSEに等しく設定された変数bdofFlagと、0に等しく設定された変数cIdxと、RefPicScale[ predListFlagN ][ refIdxN ]とを入力として、起動することによって導出される。
【0196】
- 配列predSamplesLNCbは、条項8.5.6.3で規定される分数サンプル補間プロセスを、ルマ位置( xCb, yCb )と、 cbWidth / SubWidthCに等しく設定されたコーディング・ブロック幅sbWidthと、 cbHeight / SubHeightCに等しく設定されたコーディング・ブロック高さsbHeightと、( 0, 0)に等しく設定された動きベクトル・オフセットmvOffsetと、mvNに等しく設定された動きベクトル mvLXと、 refPicLNCbに等しく設定された参照配列refPicLXCbと、FALSEに等しく設定された変数bdofFlagと、1に等しく設定された変数cIdxと、RefPicScale[ predListFlagN ][ refIdxN ]とを入力として、起動することによって導出される。
【0197】
- 配列predSamplesLNCrは、条項8.5.6.3で規定される分数サンプル補間プロセスを、ルマ位置( xCb, yCb )と、 cbWidth / SubWidthCに等しく設定されたコーディング・ブロック幅sbWidthと、 cbHeight / SubHeightCに等しく設定されたコーディング・ブロック高さsbHeightと、( 0, 0)に等しく設定された動きベクトル・オフセットmvOffsetと、 mvCNに等しく設定された動きベクトル mvLXと、 refPicLNCrに等しく設定された参照配列refPicLXCrと、FALSEに等しく設定された変数bdofFlagと、2に等しく設定された変数cIdxと、RefPicScale[ predListFlagN ][ refIdxN ]とを入力として、起動することによって導出される。
【0198】
2. マージgeoモード変数angleIdx及びdistanceIdxのパーティション角度及び距離は、テーブル36に従って、merge_geo_partition_idx[ xCb ][ yCb ]の値と、cbHeight > cbWidthに等しく設定された変数isNarrowBlkとを入力として、設定される。
【0199】
【数11】
4. 現在のルマ・コーディング・ブロック内の予測サンプルpredSamplesL[ xL ][ yL ](xL = 0..cbWidth - 1及びyL = 0..cbHeight - 1)は、条項8.5.7.2で規定されるgeoマージ・モードの加重サンプル予測プロセスを、cbWidthに等しく設定されたコーディング・ブロック幅nCbWと、cbHeightに等しく設定されたコーディング・ブロック高さnCbHと、サンプル配列predSamplesLAL及びpredSamplesLBLと、変数angleIdx及びdistanceIdxと、0に等しいcIdxとを入力として、起動することによって導出される。
【0200】
5. 現在のクロマ成分Cbのコーディング・ブロック内の予測サンプルpredSamplesCb[ xC ][ yC ](xC = 0..cbWidth / SubWidthC - 1及びyC = 0..cbHeight / SubHeightC - 1)は、条項8.5.7.2で規定されるgeoマージ・モードの加重サンプル予測プロセスを、 cbWidth / SubWidthCに等しく設定されたコーディング・ブロック幅nCbWと、 cbHeight / SubHeightCに等しく設定されたコーディング・ブロック高さnCbHと、サンプル配列 predSamplesLACb及びpredSamplesLBCbと、変数angleIdx及びdistanceIdxと、1に等しいcIdxとを入力として、起動することによって導出される。
【0201】
6. 現在のクロマ成分Cr のコーディング・ブロック内の予測サンプルpredSamplesCr[ xC ][ yC ](xC = 0..cbWidth / SubWidthC - 1及びyC = 0..cbHeight / SubHeightC - 1)は、条項8.5.7.2で規定されるgeoマージ・モードの加重サンプル予測プロセスを、 cbWidth / SubWidthCに等しく設定されたコーディング・ブロック幅nCbWと、 cbHeight / SubHeightCに等しく設定されたコーディング・ブロック高さnCbHと、サンプル配列predSamplesLACr及びpredSamplesLBCrと、変数angleIdx及びdistanceIdxと、2に等しいcIdxとを入力として、起動することによって導出される。
【0202】
7. 条項8.5.7.3で規定されるgeoマージ・モードの動きベクトル格納プロセスは、ルマ・コーディング・ブロック位置( xCb, yCb )と、ルマ・コーディング・ブロック幅cbWidthと、ルマ・コーディング・ブロック高さcbHeightと、パーティション方向angleIdx及びdistanceIdxと、ルマ動きベクトルmvA及びmvBと、参照インデックスrefIdxA及びrefIdxBと、予測リスト・フラグpredListFlagA及びpredListFlagBと、を入力として起動される。
【0203】
テーブル36 - merge_geo_partition_idxの値に基づくangleIdxとdistanceIdxの値の仕様

[0049]
図9A及び9Bは、テーブル36の例示的な実施形態を示す。
【0204】
i. JVET-Q0160_CE4_1_CommonBaseWD_w_fixesに基づく別の例示的な仕様変更は、以下の通りである:

8.5.6 geoインター・ブロックの復号化プロセス
8.5.7.1 概要
このプロセスは、1に等しいMergeGeoFlag[ xCb ][ yCb ]を有するコーディング・ユニットを復号化する場合に起動される。
【0205】
このプロセスへの入力は以下の通りである:
- 現在のピクチャの左上ルマ・サンプルに対する、現在のコーディング・ブロックの左上サンプルを指定するルマ位置( xCb, yCb ),
- ルマ・サンプルの現在のコーディング・ブロックの幅を指定する変数cbWidth,
- ルマ・サンプルの現在のコーディング・ブロックの高さを指定する変数cbHeigh,
- 1/16分数-サンプル精度におけるルマ動きベクトルmvA及び mvB,
- クロマ動きベクトルmvCA及び mvCB,
- 参照インデックスrefIdxA及びrefIdxB,
- 予測リスト・フラグpredListFlagA及びpredListFlagB.

このプロセスの出力は以下の通りである:
- ルマ予測サンプルの(cbWidth)x(cbHeight)の配列predSamplesL,
- 成分Cbに対するクロマ予測サンプルの(cbWidth / SubWidthC)x(cbHeight / SubHeightC)の配列predSamplesCb,
- 成分Crに対するクロマ予測サンプルの(cbWidth / SubWidthC)x(cbHeight / SubHeightC)の配列predSamplesCr.

predSamplesLALとpredSamplesLBLを、予測されたルマ・サンプル値の(cbWidth)x(cbHeight)の配列であるとし、predSamplesLACb, predSamplesLBCb, predSamplesLACr 及び predSamplesLBCrを、予測されたクロマ・サンプル値の(cbWidth / SubWidthC)x(cbHeight / SubHeightC)の配列であるとする。
【0206】
predSamplesL, predSamplesCb及びpredSamplesCrは、以下の順序付けられたステップで導出される:
1. A及びBの各々であるNに関し、以下が適用される:
- ルマ・サンプルの順序づけられた2次元配列refPicLNLとクロマ・サンプルの2つの順序づけられた2次元配列refPicLNCb及びrefPicLNCrとから構成される参照ピクチャは、条項8.5.6.2で規定されるプロセスを、predListFlagN に等しく設定されたXとrefIdxNに等しく設定されたrefIdxXとを入力として、起動することによって導出される。
【0207】
- 配列predSamplesLNLは、条項8.5.6.3で規定される分数サンプル補間プロセスを、ルマ位置( xCb, yCb )と、cbWidthに等しく設定されたルマ・コーディング・ブロック幅sbWidthと、cbHeightに等しく設定されたルマ・コーディング・ブロック高さsbHeightと、( 0, 0)に等しく設定された動きベクトル・オフセットmvOffsetと、mvNに等しく設定された動きベクトル mvLXと、refPicLNLに等しく設定された参照配列refPicLXLと、FALSEに等しく設定された変数bdofFlagと、0に等しく設定された変数cIdxと、RefPicScale[ predListFlagN ][ refIdxN ]とを入力として、起動することによって導出される。
【0208】
- 配列predSamplesLNCbは、条項8.5.6.3で規定される分数サンプル補間プロセスを、ルマ位置( xCb, yCb )と、 cbWidth / SubWidthCに等しく設定されたコーディング・ブロック幅sbWidthと、 cbHeight / SubHeightCに等しく設定されたコーディング・ブロック高さsbHeightと、( 0, 0)に等しく設定された動きベクトル・オフセットmvOffsetと、mvCNに等しく設定された動きベクトル mvLXと、 refPicLNCbに等しく設定された参照配列refPicLXCbと、FALSEに等しく設定された変数bdofFlagと、1に等しく設定された変数cIdxと、RefPicScale[ predListFlagN ][ refIdxN ]とを入力として、起動することによって導出される。
【0209】
- 配列predSamplesLNCrは、条項8.5.6.3で規定される分数サンプル補間プロセスを、ルマ位置( xCb, yCb )と、 cbWidth / SubWidthCに等しく設定されたコーディング・ブロック幅sbWidthと、 cbHeight / SubHeightCに等しく設定されたコーディング・ブロック高さsbHeightと、( 0, 0)に等しく設定された動きベクトル・オフセットmvOffsetと、 mvCNに等しく設定された動きベクトル mvLXと、 refPicLNCrに等しく設定された参照配列refPicLXCrと、FALSEに等しく設定された変数bdofFlagと、2に等しく設定された変数cIdxと、RefPicScale[ predListFlagN ][ refIdxN ]とを入力として、起動することによって導出される。
【0210】
2. マージgeoモード変数angleIdx及びdistanceIdxのパーティション角度及び距離は、テーブル36に従って、merge_geo_partition_idx[ xCb ][ yCb ]の値と、cbHeight > cbWidthに等しく設定された変数isNarrowBlkとを入力として、設定される。
【0211】
【数12】
4. 現在のルマ・コーディング・ブロック内の予測サンプルpredSamplesL[ xL ][ yL ](xL = 0..cbWidth - 1及びyL = 0..cbHeight - 1)は、条項8.5.7.2で規定されるgeoマージ・モードの加重サンプル予測プロセスを、cbWidthに等しく設定されたコーディング・ブロック幅nCbWと、cbHeightに等しく設定されたコーディング・ブロック高さnCbHと、サンプル配列predSamplesLAL及びpredSamplesLBLと、変数angleIdx及びdistanceIdxと、0に等しいcIdxとを入力として、起動することによって導出される。
【0212】
5. 現在のクロマ成分Cbのコーディング・ブロック内の予測サンプルpredSamplesCb[ xC ][ yC ](xC = 0..cbWidth / SubWidthC - 1及びyC = 0..cbHeight / SubHeightC - 1)は、条項8.5.7.2で規定されるgeoマージ・モードの加重サンプル予測プロセスを、 cbWidth / SubWidthCに等しく設定されたコーディング・ブロック幅nCbWと、 cbHeight / SubHeightCに等しく設定されたコーディング・ブロック高さnCbHと、サンプル配列 predSamplesLACb及びpredSamplesLBCbと、変数angleIdx及びdistanceIdxと、1に等しいcIdxとを入力として、起動することによって導出される。
【0213】
6. 現在のクロマ成分Cr のコーディング・ブロック内の予測サンプルpredSamplesCr[ xC ][ yC ](xC = 0..cbWidth / SubWidthC - 1及びyC = 0..cbHeight / SubHeightC - 1)は、条項8.5.7.2で規定されるgeoマージ・モードの加重サンプル予測プロセスを、 cbWidth / SubWidthCに等しく設定されたコーディング・ブロック幅nCbWと、 cbHeight / SubHeightCに等しく設定されたコーディング・ブロック高さnCbHと、サンプル配列predSamplesLACr及びpredSamplesLBCrと、変数angleIdx及びdistanceIdxと、2に等しいcIdxとを入力として、起動することによって導出される。
【0214】
7. 条項8.5.7.3で規定されるマージgeoモードの動きベクトル格納プロセスは、ルマ・コーディング・ブロック位置( xCb, yCb )と、ルマ・コーディング・ブロック幅cbWidthと、ルマ・コーディング・ブロック高さcbHeightと、パーティション方向angleIdx及びdistanceIdxと、ルマ動きベクトルmvA及びmvBと、参照インデックスrefIdxA及びrefIdxBと、予測リスト・フラグpredListFlagA及びpredListFlagBと、を入力として起動される。

テーブル36 - merge_geo_partition_idxの値に基づくangleIdxとdistanceIdxの値の仕様

[0050]
図9C及び9Dは、テーブル36の例示的な実施形態を示す。
【0215】
f. JVET-Q0160_CE4_1_CommonBaseWD_w_fixesに基づく別の例示的な仕様変更は、以下の通りである:

8.5.7 geoインター・ブロックの復号化プロセス
8.5.7.1 概要
このプロセスは、1に等しいMergeGeoFlag[ xCb ][ yCb ]を有するコーディング・ユニットを復号化する場合に起動される。
【0216】
このプロセスへの入力は以下の通りである:
- 現在のピクチャの左上ルマ・サンプルに対する、現在のコーディング・ブロックの左上サンプルを指定するルマ位置( xCb, yCb ),
- ルマ・サンプルの現在のコーディング・ブロックの幅を指定する変数cbWidth,
- ルマ・サンプルの現在のコーディング・ブロックの高さを指定する変数cbHeigh,
- 1/16分数-サンプル精度におけるルマ動きベクトルmvA及び mvB,
- クロマ動きベクトルmvCA及び mvCB,
- 参照インデックスrefIdxA及びrefIdxB,
- 予測リスト・フラグpredListFlagA及びpredListFlagB.

このプロセスの出力は以下の通りである:
- ルマ予測サンプルの(cbWidth)x(cbHeight)の配列predSamplesL,
- 成分Cbに対するクロマ予測サンプルの(cbWidth / SubWidthC)x(cbHeight / SubHeightC)の配列predSamplesCb,
- 成分Crに対するクロマ予測サンプルの(cbWidth / SubWidthC)x(cbHeight / SubHeightC)の配列predSamplesCr.

predSamplesLALとpredSamplesLBLを、予測されたルマ・サンプル値の(cbWidth)x(cbHeight)の配列であるとし、predSamplesLACb, predSamplesLBCb, predSamplesLACr 及び predSamplesLBCrを、予測されたクロマ・サンプル値の(cbWidth / SubWidthC)x(cbHeight / SubHeightC)の配列であるとする。

predSamplesL, predSamplesCb及びpredSamplesCrは、以下の順序付けられたステップで導出される:
1. A及びBの各々であるNに関し、以下が適用される:
- ルマ・サンプルの順序づけられた2次元配列refPicLNLとクロマ・サンプルの2つの順序づけられた2次元配列refPicLNCb及びrefPicLNCrとから構成される参照ピクチャは、条項8.5.6.2で規定されるプロセスを、predListFlagN に等しく設定されたXとrefIdxNに等しく設定されたrefIdxXとを入力として、起動することによって導出される。
【0217】
- 配列predSamplesLNLは、条項8.5.6.3で規定される分数サンプル補間プロセスを、ルマ位置( xCb, yCb )と、cbWidthに等しく設定されたルマ・コーディング・ブロック幅sbWidthと、cbHeightに等しく設定されたルマ・コーディング・ブロック高さsbHeightと、( 0, 0)に等しく設定された動きベクトル・オフセットmvOffsetと、mvNに等しく設定された動きベクトル mvLXと、refPicLNLに等しく設定された参照配列refPicLXLと、FALSEに等しく設定された変数bdofFlagと、0に等しく設定された変数cIdxと、RefPicScale[ predListFlagN ][ refIdxN ]とを入力として、起動することによって導出される。
【0218】
- 配列predSamplesLNCbは、条項8.5.6.3で規定される分数サンプル補間プロセスを、ルマ位置( xCb, yCb )と、 cbWidth / SubWidthCに等しく設定されたコーディング・ブロック幅sbWidthと、 cbHeight / SubHeightCに等しく設定されたコーディング・ブロック高さsbHeightと、( 0, 0)に等しく設定された動きベクトル・オフセットmvOffsetと、mvCNに等しく設定された動きベクトル mvLXと、 refPicLNCbに等しく設定された参照配列refPicLXCbと、FALSEに等しく設定された変数bdofFlagと、1に等しく設定された変数cIdxと、RefPicScale[ predListFlagN ][ refIdxN ]とを入力として、起動することによって導出される。
【0219】
- 配列predSamplesLNCrは、条項8.5.6.3で規定される分数サンプル補間プロセスを、ルマ位置( xCb, yCb )と、 cbWidth / SubWidthCに等しく設定されたコーディング・ブロック幅sbWidthと、 cbHeight / SubHeightCに等しく設定されたコーディング・ブロック高さsbHeightと、( 0, 0)に等しく設定された動きベクトル・オフセットmvOffsetと、 mvCNに等しく設定された動きベクトル mvLXと、 refPicLNCrに等しく設定された参照配列refPicLXCrと、FALSEに等しく設定された変数bdofFlagと、2に等しく設定された変数cIdxと、RefPicScale[ predListFlagN ][ refIdxN ]とを入力として、起動することによって導出される。
【0220】
2. マージgeoモード変数angleIdx及びdistanceIdxのパーティション角度及び距離は、テーブル36に従って、merge_geo_partition_idx[ xCb ][ yCb ]の値と、cbHeight > cbWidthに等しく設定された変数isNarrowBlkとを入力として、設定される。
【0221】
【数13】
4. マージgeoモード変数angleIdx及びdistanceIdxのパーティション角度及び距離は、テーブル36に規定されるようなmerge_geo_parition_idx’[ xCb ][ yCb ]の値に従って設定される。
【0222】
5. 現在のルマ・コーディング・ブロック内の予測サンプルpredSamplesL[ xL ][ yL ](xL = 0..cbWidth - 1及びyL = 0..cbHeight - 1)は、条項8.5.7.2で規定されるgeoマージ・モードの加重サンプル予測プロセスを、cbWidthに等しく設定されたコーディング・ブロック幅nCbWと、cbHeightに等しく設定されたコーディング・ブロック高さnCbHと、サンプル配列predSamplesLAL及びpredSamplesLBLと、変数angleIdx及びdistanceIdxと、0に等しいcIdxとを入力として、起動することによって導出される。
【0223】
6. 現在のクロマ成分Cbのコーディング・ブロック内の予測サンプルpredSamplesCb[ xC ][ yC ](xC = 0..cbWidth / SubWidthC - 1及びyC = 0..cbHeight / SubHeightC - 1)は、条項8.5.7.2で規定されるgeoマージ・モードの加重サンプル予測プロセスを、 cbWidth / SubWidthCに等しく設定されたコーディング・ブロック幅nCbWと、 cbHeight / SubHeightCに等しく設定されたコーディング・ブロック高さnCbHと、サンプル配列 predSamplesLACb及びpredSamplesLBCbと、変数angleIdx及びdistanceIdxと、1に等しいcIdxとを入力として、起動することによって導出される。
【0224】
7. 現在のクロマ成分Cr のコーディング・ブロック内の予測サンプルpredSamplesCr[ xC ][ yC ](xC = 0..cbWidth / SubWidthC - 1及びyC = 0..cbHeight / SubHeightC - 1)は、条項8.5.7.2で規定されるgeoマージ・モードの加重サンプル予測プロセスを、 cbWidth / SubWidthCに等しく設定されたコーディング・ブロック幅nCbWと、 cbHeight / SubHeightCに等しく設定されたコーディング・ブロック高さnCbHと、サンプル配列predSamplesLACr及びpredSamplesLBCrと、変数angleIdx及びdistanceIdxと、2に等しいcIdxとを入力として、起動することによって導出される。
【0225】
8. 条項8.5.7.3で規定されるマージgeoモードの動きベクトル格納プロセスは、ルマ・コーディング・ブロック位置( xCb, yCb )と、ルマ・コーディング・ブロック幅cbWidthと、ルマ・コーディング・ブロック高さcbHeightと、パーティション方向angleIdx及びdistanceIdxと、ルマ動きベクトルmvA及びmvBと、参照インデックスrefIdxA及びrefIdxBと、予測リスト・フラグpredListFlagA及びpredListFlagBと、を入力として起動される。
【0226】
[0051]
図9Eは、テーブルxxのこの実施形態-geo_partition_idxの値に基づくgeo_partition_idx’の値のマッピング・テーブルを示す。
【0227】
[0052]
図9Fは、テーブル36のこの実施形態-merge_geo_partition_idxの値に基づくangleIdx 及びdistanceIdx の値の仕様を示す。
【0228】
g. JVET-Q0160_CE4_1_CommonBaseWD_w_fixesに基づく別の例示的な仕様変更は、以下の通りである:

8.5.7 geoインター・ブロックの復号化プロセス
8.5.7.1 概要
このプロセスは、1に等しいMergeGeoFlag[ xCb ][ yCb ]を有するコーディング・ユニットを復号化する場合に起動される。
【0229】
このプロセスへの入力は以下の通りである:
- 現在のピクチャの左上ルマ・サンプルに対する、現在のコーディング・ブロックの左上サンプルを指定するルマ位置( xCb, yCb ),
- ルマ・サンプルの現在のコーディング・ブロックの幅を指定する変数cbWidth,
- ルマ・サンプルの現在のコーディング・ブロックの高さを指定する変数cbHeigh,
- 1/16分数-サンプル精度におけるルマ動きベクトルmvA及び mvB,
- クロマ動きベクトルmvCA及び mvCB,
- 参照インデックスrefIdxA及びrefIdxB,
- 予測リスト・フラグpredListFlagA及びpredListFlagB.

このプロセスの出力は以下の通りである:
- ルマ予測サンプルの(cbWidth)x(cbHeight)の配列predSamplesL,
- 成分Cbに対するクロマ予測サンプルの(cbWidth / SubWidthC)x(cbHeight / SubHeightC)の配列predSamplesCb,
- 成分Crに対するクロマ予測サンプルの(cbWidth / SubWidthC)x(cbHeight / SubHeightC)の配列predSamplesCr.

predSamplesLALとpredSamplesLBLを、予測されたルマ・サンプル値の(cbWidth)x(cbHeight)の配列であるとし、predSamplesLACb, predSamplesLBCb, predSamplesLACr 及び predSamplesLBCrを、予測されたクロマ・サンプル値の(cbWidth / SubWidthC)x(cbHeight / SubHeightC)の配列であるとする。

predSamplesL, predSamplesCb及びpredSamplesCrは、以下の順序付けられたステップで導出される:
1. A及びBの各々であるNに関し、以下が適用される:
- ルマ・サンプルの順序づけられた2次元配列refPicLNLとクロマ・サンプルの2つの順序づけられた2次元配列refPicLNCb及びrefPicLNCrとから構成される参照ピクチャは、条項8.5.6.2で規定されるプロセスを、predListFlagN に等しく設定されたXとrefIdxNに等しく設定されたrefIdxXとを入力として、起動することによって導出される。
【0230】
- 配列predSamplesLNLは、条項8.5.6.3で規定される分数サンプル補間プロセスを、ルマ位置( xCb, yCb )と、cbWidthに等しく設定されたルマ・コーディング・ブロック幅sbWidthと、cbHeightに等しく設定されたルマ・コーディング・ブロック高さsbHeightと、( 0, 0)に等しく設定された動きベクトル・オフセットmvOffsetと、mvNに等しく設定された動きベクトル mvLXと、refPicLNLに等しく設定された参照配列refPicLXLと、FALSEに等しく設定された変数bdofFlagと、0に等しく設定された変数cIdxと、RefPicScale[ predListFlagN ][ refIdxN ]とを入力として、起動することによって導出される。
【0231】
- 配列predSamplesLNCbは、条項8.5.6.3で規定される分数サンプル補間プロセスを、ルマ位置( xCb, yCb )と、 cbWidth / SubWidthCに等しく設定されたコーディング・ブロック幅sbWidthと、 cbHeight / SubHeightCに等しく設定されたコーディング・ブロック高さsbHeightと、( 0, 0)に等しく設定された動きベクトル・オフセットmvOffsetと、mvCNに等しく設定された動きベクトル mvLXと、 refPicLNCbに等しく設定された参照配列refPicLXCbと、FALSEに等しく設定された変数bdofFlagと、1に等しく設定された変数cIdxと、RefPicScale[ predListFlagN ][ refIdxN ]とを入力として、起動することによって導出される。
【0232】
- 配列predSamplesLNCrは、条項8.5.6.3で規定される分数サンプル補間プロセスを、ルマ位置( xCb, yCb )と、 cbWidth / SubWidthCに等しく設定されたコーディング・ブロック幅sbWidthと、 cbHeight / SubHeightCに等しく設定されたコーディング・ブロック高さsbHeightと、( 0, 0)に等しく設定された動きベクトル・オフセットmvOffsetと、 mvCNに等しく設定された動きベクトル mvLXと、 refPicLNCrに等しく設定された参照配列refPicLXCrと、FALSEに等しく設定された変数bdofFlagと、2に等しく設定された変数cIdxと、RefPicScale[ predListFlagN ][ refIdxN ]とを入力として、起動することによって導出される。
【0233】
2. マージgeoモード変数angleIdx及びdistanceIdxのパーティション角度及び距離は、テーブル36に従って、merge_geo_partition_idx[ xCb ][ yCb ]の値と、cbHeight > cbWidthに等しく設定された変数isNarrowBlkとを入力として、設定される。
【0234】
【数14】
4. マージgeoモード変数angleIdx及びdistanceIdxのパーティション角度及び距離は、テーブル36に規定されるようなmerge_geo_parition_idx’[ xCb ][ yCb ]の値に従って設定される。
【0235】
5. 現在のルマ・コーディング・ブロック内の予測サンプルpredSamplesL[ xL ][ yL ](xL = 0..cbWidth - 1及びyL = 0..cbHeight - 1)は、条項8.5.7.2で規定されるgeoマージ・モードの加重サンプル予測プロセスを、cbWidthに等しく設定されたコーディング・ブロック幅nCbWと、cbHeightに等しく設定されたコーディング・ブロック高さnCbHと、サンプル配列predSamplesLAL及びpredSamplesLBLと、変数angleIdx及びdistanceIdxと、0に等しいcIdxとを入力として、起動することによって導出される。
【0236】
6. 現在のクロマ成分Cbのコーディング・ブロック内の予測サンプルpredSamplesCb[ xC ][ yC ](xC = 0..cbWidth / SubWidthC - 1及びyC = 0..cbHeight / SubHeightC - 1)は、条項8.5.7.2で規定されるgeoマージ・モードの加重サンプル予測プロセスを、 cbWidth / SubWidthCに等しく設定されたコーディング・ブロック幅nCbWと、 cbHeight / SubHeightCに等しく設定されたコーディング・ブロック高さnCbHと、サンプル配列 predSamplesLACb及びpredSamplesLBCbと、変数angleIdx及びdistanceIdxと、1に等しいcIdxとを入力として、起動することによって導出される。
【0237】
7. 現在のクロマ成分Cr のコーディング・ブロック内の予測サンプルpredSamplesCr[ xC ][ yC ](xC = 0..cbWidth / SubWidthC - 1及びyC = 0..cbHeight / SubHeightC - 1)は、条項8.5.7.2で規定されるgeoマージ・モードの加重サンプル予測プロセスを、 cbWidth / SubWidthCに等しく設定されたコーディング・ブロック幅nCbWと、 cbHeight / SubHeightCに等しく設定されたコーディング・ブロック高さnCbHと、サンプル配列predSamplesLACr及びpredSamplesLBCrと、変数angleIdx及びdistanceIdxと、2に等しいcIdxとを入力として、起動することによって導出される。
【0238】
8. 条項8.5.7.3で規定されるマージgeoモードの動きベクトル格納プロセスは、ルマ・コーディング・ブロック位置( xCb, yCb )と、ルマ・コーディング・ブロック幅cbWidthと、ルマ・コーディング・ブロック高さcbHeightと、パーティション方向angleIdx及びdistanceIdxと、ルマ動きベクトルmvA及びmvBと、参照インデックスrefIdxA及びrefIdxBと、予測リスト・フラグpredListFlagA及びpredListFlagBと、を入力として起動される。
【0239】
[0053]
図9Gは、このテーブルxxの実施例-geo_partition_idxの値に基づくgeo_partition_idx’の値のマッピング・テーブルを示す。
【0240】
[0054]
図9Hは、テーブル36-merge_geo_partition_idxの値に基づくangleIdx 及びdistanceIdx の値の仕様を示す。

ハイ・レベル・シンタックス
イントラ・スライス/ピクチャの定義について
21. イントラ(I)スライス(又はピクチャ)を、イントラ予測のみを用いて復号化されるスライスとして定義する代わりに、イントラ・スライスを、インター予測なしに復号化されるスライス(又はピクチャ)として定義することを提案する。
【0241】
a. 代替的に、スライスを含むピクチャ以外の如何なるピクチャも参照せずに復号化されるスライスとして、イントラ・スライスを定義することを提案する。
【0242】
b. 代替的に、イントラ予測又はイントラ・ブロック・コピー(IBC)予測又はパレット予測モードを用いて復号化されるスライスとして、イントラ・スライスを定義することを提案する。
【0243】
22. インター予測を用いることなく復号化されるスライスとして、イントラ・ピクチャを定義することを提案する。
【0244】
c. 代替的に、スライスを含むピクチャ以外の如何なるピクチャも参照せずに復号化されるピクチャとして、ピクチャ・スライスを定義することを提案する。
【0245】
d. 代替的に、イントラ予測又はイントラ・ブロック・コピー(IBC)予測又はパレット予測モードを用いて復号化されるピクチャとして、イントラ・ピクチャを定義することを提案する。
【0246】
【数15】
[0055]
図3は、ビデオ処理装置300のブロック図である。装置300は、本願で説明される1つ以上の方法を実装するために使用されてもよい。装置300は、スマートフォン、タブレット、コンピュータ、モノのインターネット(Internet of Things,IoT)受信機などで具体化されてもよい。装置300は、1つ以上のプロセッサ302、1つ以上のメモリ304、及びビデオ処理ハードウェア306を含んでもよい。プロセッサ302は、本件明細書で説明される1つ以上の方法を実装するように構成されてもよい。メモリ(memories)304は、本願で説明される方法及び技術を実装するために使用されるデータ及びコードを記憶するために使用されてもよい。ビデオ処理ハードウェア306は、ハードウェア回路において、本件明細書で説明される幾つかの技術を実装するために使用されてもよい。幾つかの実施形態では、ハードウェア306は、例えばグラフィックス・コプロセッサのようなプロセッサ302に少なくとも部分的に含まれていてもよい。
【0247】
[0056]
図4は、本開示の技術を利用することが可能な例示的なビデオ・コーディング・システム100を示すブロック図である。
【0248】
[0057]
図6に示すように、ビデオ・コーディング・システム100は、送信元デバイス110及び送信先デバイス120を含む可能性がある。送信元デバイス110は、符号化されたビデオ・データを生成することが可能であり、ビデオ符号化デバイスと言及されてもよい。送信先デバイス120は、送信元デバイス110によって生成された符号化されたビデオ・データを復号化することが可能であり、ビデオ復号化デバイスと言及されてもよい。
【0249】
[0058]
送信元デバイス110は、ビデオ・ソース112、ビデオ・エンコーダ114、及び入力/出力(I/O)インターフェース116を含むことが可能である。
【0250】
[0059]
ビデオ・ソース112は、ビデオ・キャプチャ・デバイスのようなソース、ビデオ・コンテンツ・プロバイダーからビデオ・データを受信するためのインターフェース、及び/又はビデオ・データを生成するためのコンピュータ・グラフィックス・システム、又はそのようなソースの組み合わせを含んでもよい。ビデオ・データは、1つ以上のピクチャを含む可能性がある。ビデオ・エンコーダ114は、ビデオ・ソース112からのビデオ・データを符号化してビットストリームを生成する。ビットストリームは、ビデオ・データのコーディングされた表現を形成するビットのシーケンスを含む可能性がある。ビットストリームは、コーディングされたピクチャ及び関連するデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディングされた表現である。関連するデータは、シーケンス・パラメータ・セット、ピクチャ・パラメータ・セット、及び他のシンタックス構造を含んでもよい。I/Oインターフェース116は、変調器/復調器(モデム)及び/又は送信機を含んでもよい。符号化されたビデオ・データは、ネットワーク130aを通じてI/Oインターフェース116を介して送信先デバイス120へ直接的に送信されてもよい。符号化されたビデオ・データはまた、送信先デバイス120によるアクセスのために記憶媒体/サーバー130b上に格納されてもよい。
【0251】
[0060]
送信先デバイス120は、I/Oインターフェース126、ビデオ・デコーダ124、及びディスプレイ・デバイス122を含んでもよい。
【0252】
[0061]
I/Oインターフェース126は、受信機及び/又はモデムを含んでもよい。I/Oインターフェース126は、送信元デバイス110又は記憶媒体/サーバー130bから、符号化されたビデオ・データを取得することができる。ビデオ・デコーダ124は、符号化されたビデオ・データを復号化することができる。ディスプレイ・デバイス122は、復号化されたビデオ・データをユーザーに表示することができる。ディスプレイ・デバイス122は、送信先デバイス120と一体化されてもよいし、又は送信先デバイス120の外部にあってもよく、その場合の送信先デバイスは外部ディスプレイ・デバイスとのインターフェースとなるように構成される。
【0253】
[0062]
ビデオ・エンコーダ114及びビデオ・デコーダ124は、高効率ビデオ・コーディング(High Efficiency Video Coding,HEVC)規格、汎用ビデオ・コーディング(Versatile Video Coding,VVC)規格、及びその他の現行及び/又は将来の規格のようなビデオ圧縮規格に従って動作することができる。
【0254】
[0063]
図5はビデオ・エンコーダ200の一例を示すブロック図であり、これは図6に示すシステム100内のビデオ・エンコーダ114であってもよい。
【0255】
[0064]
ビデオ・エンコーダ200は、本開示の技術の何れか又は全てを実行するように構成することができる。図7の例では、ビデオ・エンコーダ200は、複数の機能的な構成要素を含む。本開示で説明される技術は、ビデオ・エンコーダ200の種々の構成要素の間で共有されてもよい。幾つかの例において、プロセッサは、本開示で説明される技術の何れか又は全てを実行するように構成することができる。
【0256】
[0065]
ビデオ・エンコーダ200の機能的な構成要素は、パーティション・ユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205、及びイントラ予測ユニット206を含むことが可能な予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピー符号化ユニット214とを含むことが可能である。
【0257】
[0066]
他の例では、ビデオ・エンコーダ200は、より多い、より少ない、又は異なる機能的な構成要素を含むことができる。一例では、予測ユニットは、イントラ・ブロック・コピー(intra block copy, IBC)ユニットを含むことができる。IBCユニットはIBCモードで予測を実行することが可能であり、そのモードでは、少なくとも1つの参照ピクチャは、現在のビデオ・ブロックが配置されているピクチャである。
【0258】
[0067]
更に、動き推定ユニット204や動き補償ユニット205のような幾つかの構成要素は、高度に統合されていてもよいが、説明の目的で図7の例では別々に表現されている。
【0259】
[0068]
パーティション・ユニット201は、現在のピクチャを1つ以上のビデオ・ブロックにパーティション化することができる。ビデオ・エンコーダ200及びビデオ・デコーダ300は、様々なビデオ・ブロック・サイズをサポートすることができる。
【0260】
[0069]
モード選択ユニット203は、コーディング・モード、インター又はイントラのうちの一方を、例えば誤り結果に基づいて選択し、その結果のイントラ・コーディング又はインター・コーディングされたブロックを、残差ブロック・データ生成のために残差生成ユニット207へ、及び参照ピクチャとして使用する符号化済みブロックの再構成のために再構成ユニット212へ提供する。幾つかの例では、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づいているイントラ&インター予測コンビネーション(combination of intra and inter predication, CIIP)モードを選択することができる。モード選択ユニット203はまた、インター予測の場合に、ブロックに対する動きベクトルの解像度(例えば、サブ・ピクセル又は整数ピクセル精度)を選択することもできる。
【0261】
[0070]
現在のビデオ・ブロックに関してインター予測を実行するために、動き推定ユニット204は、バッファ213からの1つ以上の参照フレームを現在のビデオ・ブロックと比較することによって、現在のビデオ・ブロックの動き情報を生成することができる。動き補償ユニット205は、現在のビデオ・ブロックに関連するピクチャ以外のバッファ213からのピクチャ(即ち、参照ピクチャ)の動き情報及び復号化されたサンプルに基づいて、現在のビデオ・ブロックについて予測されるビデオ・ブロックを決定することができる。
【0262】
[0071]
動き推定ユニット204と動き補償ユニット205は、例えば、現在のビデオ・ブロックがIスライスであるか、Pスライスであるか、又はBスライスであるかどうかに依存して、現在のビデオ・ブロックに対して様々な処理を実行することができる。
【0263】
[0072]
幾つかの例では、動き推定ユニット204は、現在のビデオ・ブロックに対して片-方向予測を実行することができ、動き推定ユニット204は、現在のビデオ・ブロックに対する参照ピクチャ・ブロックについて、リスト0又はリスト1の参照ピクチャを探索することができる。次いで、動き推定ユニット204は、参照ビデオ・ブロックを含むリスト0又はリスト1内の参照ピクチャを示す参照インデックスと、現在のビデオ・ブロック及び参照ビデオ・ブロックの間の空間的変位を示す動きベクトルとを生成することができる。動き推定ユニット204は、参照インデックス、予測方向インジケータ、及び動きベクトルを、現在のビデオ・ブロックの動き情報として出力することができる。動き補償ユニット205は、現在のビデオ・ブロックの動き情報によって示される参照ビデオ・ブロックに基づいて、現在のブロックの予測されたビデオ・ブロックを生成することができる。
【0264】
[0073]
他の例では、動き推定ユニット204は、現在のビデオ・ブロックに対して双-方向予測を実行することができ、動き推定ユニット204は、現在のビデオ・ブロックに対する参照ビデオ・ブロックについて、リスト0内の参照ピクチャを探索することができ、また、現在のビデオ・ブロックに対する別の参照ビデオ・ブロックについて、リスト1内の参照ピクチャを探索することができる。次いで、動き推定ユニット204は、参照ビデオ・ブロックを含むリスト0及びリスト1内の参照ピクチャを示す参照インデックスと、参照ビデオ・ブロック及び現在のビデオ・ブロックの間の空間的変位を示す動きベクトルとを生成することができる。動き推定ユニット204は、現在のビデオ・ブロックの動き情報として、現在のビデオ・ブロックの参照インデックスと動きベクトルを出力することができる。動き補償ユニット205は、現在のビデオ・ブロックの動き情報によって示される参照ビデオ・ブロックに基づいて、現在のビデオ・ブロックの予測されたビデオ・ブロックを生成することができる。
【0265】
[0074]
幾つかの例では、動き推定ユニット204は、現在のビデオに対する動き情報の完全なセットを、例えばエントロピー符号化ユニット214へ出力しない。むしろ、動き推定ユニット204は、他のビデオ・ブロックの動き情報を参照して、現在のビデオ・ブロックの動き情報をシグナリングすることができる。例えば、動き推定ユニット204は、現在のビデオ・ブロックの動き情報が、隣接するビデオ・ブロックの動き情報と十分に類似していることを判断することができる。
【0266】
[0075]
一例では、動き推定ユニット204は、現在のビデオ・ブロックに関連するシンタックス構造において、現在のビデオ・ブロックが別のビデオ・ブロックと同じ動き情報を有することをビデオ・デコーダ300に指示する値を指定することができる。
【0267】
[0076]
別の例では、動き推定ユニット204は、現在のビデオ・ブロックに関連するシンタックス構造において、別のビデオ・ブロック及び動きベクトル差分(MVD)を識別することができる。動きベクトル差分は、現在のビデオ・ブロックの動きベクトルと指定されたビデオ・ブロックの動きベクトルとの間の差分を示す。ビデオ・デコーダ300は、指定されたビデオ・ブロックの動きベクトルと動きベクトル差分とを使用して、現在のビデオ・ブロックの動きベクトルを決定することができる。
【0268】
[0077]
上述したように、ビデオ・エンコーダ200は、動きベクトルを予測的に(predictively)シグナリングすることができる。ビデオ・エンコーダ200によって実現され得る予測シグナリング技術の2つの例は、アドバンスト動きベクトル予測(advanced motion vector predication,AMVP)及びマージ・モード・シグナリングを含む。
【0269】
[0078]
イントラ予測ユニット206は、現在のビデオ・ブロックに対してイントラ予測を実行することができる。イントラ予測ユニット206が現在のビデオ・ブロックに対してイントラ予測を実行する場合、イントラ予測ユニット206は、同じピクチャ内の他のビデオ・ブロックの復号化されたサンプルに基づいて、現在のビデオ・ブロックに対する予測データを生成することができる。現在のビデオ・ブロックに対する予測データは、予測されるビデオ・ブロックと種々のシンタックス要素を含んでもよい。
【0270】
[0079]
残差生成ユニット207は、現在のビデオ・ブロックから、現在のビデオ・ブロックの予測されたビデオ・ブロックを減算することによって(例えば、マイナス符号で示される)、現在のビデオ・ブロックに対する残差データを生成することができる。現在のビデオ・ブロックの残差データは、現在のビデオ・ブロック内のサンプルの異なるサンプル成分に対応する残差ビデオ・ブロックを含んでもよい。
【0271】
[0080]
他の例では、例えばスキップ・モードでは、現在のビデオ・ブロックに関し、現在のビデオ・ブロックに対する残差データが存在しない場合があり、残差生成ユニット207は減算処理を実行しない可能性がある。
【0272】
[0081]
変換処理ユニット208は、現在のビデオ・ブロックに関連する残差ビデオ・ブロックに、1つ以上の変換を適用することによって、現在のビデオ・ブロックに対する1つ以上の変換係数ビデオ・ブロックを生成することができる。
【0273】
[0082]
変換処理ユニット208が現在のビデオ・ブロックに関連する変換係数ビデオ・ブロックを生成した後、量子化ユニット209は、現在のビデオ・ブロックに関連する量子化パラメータ(QP)値に基づいて、現在のビデオ・ブロックに関連する変換係数ビデオ・ブロックを量子化することができる。
【0274】
[0083]
逆量子化ユニット210及び逆変換ユニット211はそれぞれ逆量子化及び逆変換を変換係数ビデオ・ブロックに適用し、変換係数ビデオ・ブロックから残差ビデオ・ブロックを再構成することができる。再構成ユニット212は、再構成された残差ビデオ・ブロックを、予測ユニットによって生成された1つ以上の予測されたビデオ・ブロックからの対応するサンプルに追加し、現在のブロックに関連する再構成されたビデオ・ブロックを生成して、バッファ213に格納することができる。
【0275】
[0084]
再構成ユニット212がビデオ・ブロックを再構成した後、ループ・フィルタリング動作を実行し、ビデオ・ブロック内のビデオ・ブロッキング・アーチファクトを低減することができる。
【0276】
[0085]
エントロピー符号化ユニット214は、ビデオ・エンコーダ200の他の機能的な構成要素からデータを受信することができる。エントロピー符号化ユニット214がデータを受信すると、エントロピー符号化ユニット214は、1つ以上のエントロピー符号化処理を実行して、エントロピー符号化されたデータを生成し、エントロピー符号化されたデータを含むビットストリームを出力することができる。
【0277】
[0086]
図8は、ビデオ・デコーダ300の一例を示すブロック図であり、これは図6に示すシステム100内のビデオ・デコーダ114であってもよい。ビデオ・デコーダ300は、本開示の技術の何れか又は全てを実行するように構成することができる。図8の例では、ビデオ・デコーダ300は、複数の機能的構成要素を含む。本開示で説明される技術は、ビデオ・デコーダ300の種々の構成要素の間で共有されてもよい。幾つかの例において、プロセッサは、本開示で説明される技術の何れか又は全てを実行するように構成することができる。
【0278】
[0087]
図8の例では、ビデオ・デコーダ300は、エントロピー復号化ユニット301と、動き補償ユニット302と、イントラ予測ユニット303と、逆量子化ユニット304と、逆変換ユニット305と、再構成ユニット306と、バッファ307とを含む。ビデオ・デコーダ300は、幾つかの例において、ビデオ・エンコーダ200(図7)に関して説明した符号化経路と概ね逆の復号化経路を実行することができる。
【0279】
[0088]
エントロピー復号化ユニット301は、符号化されたビットストリームを取り出すことができる。符号化されたビットストリームは、エントロピー符号化されたビデオ・データ(例えば、ビデオ・データの符号化されたブロック)を含むことができる。エントロピー復号化ユニット301は、エントロピー符号化されたビデオ・データを復号化することができ、エントロピー復号化されたビデオ・データから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャ・リスト・インデックス、及びその他の動き情報を含む動き情報を決定することができる。動き補償ユニット302は、例えば、AMVP及びマージ・モードを実行することによって、そのような情報を決定することができる。
【0280】
[0089]
動き補償ユニット302は、ビットストリームで受信した動きベクトル及び/又はMVDを使用して、バッファ307内の参照ピクチャ内の予測ビデオ・ブロックを識別することができる。
【0281】
[0090]
動き補償ユニット302は、おそらくは補間フィルタに基づいて補間を実行して、動き補償されたブロックを生成する。サブ・ピクセル精度を有する動き推定のために使用される補間フィルタの識別子は、シンタックス要素に含まれてもよい。
【0282】
[0091]
動き補償ユニット302は、ビデオ・ブロックの符号化中にビデオ・エンコーダ20によって使用されるような補間フィルタを使用して、参照ブロックの非整数(sub-integer)ピクセルに対する補間された値を計算してもよい。動き補償ユニット302は、受信したシンタックス情報に従ってビデオ・エンコーダ200によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成することができる。
【0283】
[0092]
動き補償ユニット302は、シンタックス情報の一部を使用して、符号化されたビデオ・シーケンスのフレーム及び/又はスライスを符号化するために使用されたブロックのサイズ、符号化されたビデオ・シーケンスのピクチャの各マクロブロックがどのようにパーティション化されたかを記述するパーティション情報、各パーティションがどのように符号化されたかを示すモード、インター符号化されたブロック各々に対する1つ以上の参照フレーム(及び参照フレーム・リスト)、及び符号化されたビデオ・シーケンスを復号化するための他の情報、を決定することができる。
【0284】
[0093]
イントラ予測ユニット303は、例えば、ビットストリームで受信したイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成することができる。逆量子化ユニット303は、ビットストリームで提供される、エントロピー復号化ユニット301によって復号化される、量子化されたビデオ・ブロック係数を逆量子化する、即ち、量子化解除する。逆変換ユニット303は、逆変換を適用する。
【0285】
[0094]
再構成ユニット306は、残差ブロックを、動き補償ユニット202又はイントラ予測ユニット303によって生成された対応する予測ブロックと合算して、復号化されたブロックを形成することができる。所望であれば、復号化されたブロックをフィルタリングしてブロック性アーチファクトを除去するために、デブロッキング・フィルタが適用されてもよい。次いで、復号化されたビデオ・ブロックはバッファ307に格納され、バッファ307は、後続の動き補償のための参照ブロックを提供し、また、ディスプレイ・デバイスでの提示のために復号化されたビデオを生成し、生成された復号化されたビデオをディスプレイ・デバイスで提示する。
【0286】
[0095]
以下の解決策は、幾つかの実施形態で好ましい解決策として実装される可能性がある。
【0287】
[0096]
以下の解決策は、上記セクションでリスト化されているアイテム(例えば、アイテム1)で説明されている追加的な技術とともに実装されてもよい。
【0288】
[0097]
1. ビデオ処理方法であって(例えば、図4に示される方法400):
ビデオの現在のブロックと前記ビデオのコーディングされた表現との間の変換に関し、現在のブロックを含む現在のピクチャと前記変換に使用される参照ピクチャの解像度が異なることを判定するステップ(402);及び
前記現在のブロックのサンプルのグループの予測された値が、水平及び垂直補間フィルタを使用して生成されるように、前記判定に基づいて前記変換を実行するステップ(404);
を含む方法。
【0289】
[0098]
2. 解決策1の方法において、前記サンプルのグループは前記現在のブロックの全てのサンプルに対応している。
【0290】
[0099]
3. 解決策1の方法において、前記サンプルのグループは前記現在のブロックの一部のサンプルに対応している。
【0291】
[0100]
4. 解決策3の方法において、前記サンプルのグループは前記現在のブロックの或る領域の全てのサンプルに対応している。
【0292】
[0101]
5. 解決策1-4のうちの何れかの方法において、前記サンプルのグループは、変換中に同じ動きベクトル(MV)が使用されるように選択される。
【0293】
[0102]
6. 解決策1-4のうちの何れかの方法において、前記サンプルのグループは同じ水平動きベクトル成分を有する。
【0294】
[0103]
7 . 解決策1-4のうちの何れかの方法において、前記サンプルのグループは同じ垂直動きベクトル成分を有する。
【0295】
[0104]
8. 解決策1-4のうちの何れかの方法において、前記サンプルのグループは同じ端数の水平動きベクトル成分の部分を有する。
【0296】
[0105]
9. 解決策1-4のうちの何れかの方法において、前記サンプルのグループは同じ端数の垂直動きベクトル成分の部分を有する。
【0297】
[0106]
10 . 解決策1-9のうちの何れかの方法において、前記現在のピクチャの解像度と前記参照ピクチャの解像度に基づいて導出された動きベクトルの値を、切り捨て、クリッピング、又は丸めを含む修正ステップにより修正することによって、変換中に特定のサンプルの動きベクトルが導出される。
【0298】
[0107]
11. 解決策1-7のうちの何れかの方法において、変換中に特定のサンプルの動きベクトルは、サンプルのグループ内の全てのサンプルにより共有される共有動きベクトルの値に設定される。
【0299】
[0108]
12. 解決策1-9のうちの何れかの方法において、前記サンプルのグループは前記変換中に共有動きベクトルを共有し、前記共有動きベクトルは前記サンプルのグループ内の1つ以上のサンプルの動きベクトルから導出される。
【0300】
[0109]
13. 解決策11の方法において、前記共有動きベクトルは仮想サンプルから更に導出される。
【0301】
[0110]
以下の解決策は、上記セクションでリスト化されているアイテム(例えば、アイテム5)で説明されている追加的な技術とともに実装されてもよい。
【0302】
[0111]
14. ビデオ処理方法であって:
ビデオの現在のブロックと前記ビデオのコーディングされた表現との間の変換に関し、前記現在のブロックを含む現在のピクチャと前記変換に使用される参照ピクチャの解像度が異なることを判定するステップ;及び
前記現在のブロックのサンプルのグループの予測された値が、前記参照ピクチャ内の領域をサンプル・レート変更することで生成された仮想参照ブロックの補間されたバージョンとして生成されるように、前記判定に基づいて前記変換を実行するステップ;
を含み、前記サンプル・レート変更は、前記現在のピクチャ又は前記参照ピクチャの高さ又は幅に依存する、方法。
【0303】
[0112]
15. 解決策14の方法において、前記補間されたバージョンは補間フィルタを使用して生成され、前記補間フィルタの係数は、前記現在のピクチャ又は前記参照ピクチャの高さ又は幅に依存しない。
【0304】
[0113]
以下の解決策は、上記セクションでリスト化されているアイテム(例えば、アイテム6)で説明されている追加的な技術とともに実装されてもよい。
【0305】
[0114]
16. ビデオ処理方法であって:
ビデオの現在のブロックと前記ビデオのコーディングされた表現との間の変換に関し、前記現在のブロックを含む現在のピクチャと前記変換に使用される参照ピクチャの解像度が異なることを判定するステップ;及び
前記判定に基づいて、前記現在のピクチャと前記参照ピクチャの高さ又は幅に依存するスキームに基づいて参照サンプル・パディングの境界ブロックの左上座標を導出するステップ;及び
境界ボックスの導出された左上座標を使用して前記変換を実行するステップ;
を含む方法。
【0306】
[0115]
17. 解決策16の方法において、前記スキームは、以下のように整数サンプル位置にあるルマ・サンプルを計算することを含み:
xInti = Clip3( xSbIntL - Dx, xSbIntL + sbWidth + Ux, xInti ),
yInti = Clip3( ySbIntL - Dy, ySbIntL + sbHeight + Uy, yInti ),
[0116]
ここで、Dx及び/又はDy及び/又はUx及び/又はUyは前記現在のピクチャ又は前記参照ピクチャの前記幅及び/又は高さに依存し、( xSbIntL, ySbIntL )は前記左上座標である。
【0307】
[0117]
18. 解決策3の方法において、前記スキームは、以下のように整数サンプル位置にあるクロマ・サンプルを計算することを含み:
xInti = Clip3( xSbIntC - Dx, xSbIntC + sbWidth + Ux, xInti )
yInti = Clip3( ySbIntC - Dy, ySbIntC + sbHeight + Uy, yInti )
[0118]
ここで、Dx及び/又はDy及び/又はUx及び/又はUyは前記現在のピクチャ又は前記参照ピクチャの前記幅及び/又は高さに依存し、( xSbIntL, ySbIntL )は前記左上座標である。
【0308】
[0119]
以下の解決策は、上記セクションでリスト化されているアイテム(例えば、アイテム7)で説明されている追加的な技術とともに実装されてもよい。
【0309】
[0120]
19. ビデオ処理方法であって:
ビデオの現在のピクチャの現在のブロックと前記ビデオのコーディングされた表現との間の変換に関し、前記現在のブロックの変換中に、デコーダ側動きベクトル精密化(DMVR)の使用に基づいて、参照サンプル・パディングの境界ブロックに従って動きベクトル計算に適用されるクリッピング処理を決定するステップ;及び
前記クリッピング処理に基づいて前記変換を実行するステップ;
を含む方法。
【0310】
[0121]
20. 解決策19の方法において、前記決定するステップは、前記DMVRが前記現在のブロックに使用されていることに起因して、レガシー・クリッピング処理をイネーブルにする。
【0311】
[0122]
21. 解決策19-20のうちの何れかの方法において、前記現在のブロックはクロマ・ブロックである。
【0312】
[0123]
以下の解決策は、上記セクションでリスト化されているアイテム(例えば、アイテム8)で説明されている追加的な技術とともに実装されてもよい。
【0313】
[0124]
22. ビデオ処理方法であって:
ビデオの現在のピクチャの現在のブロックと前記ビデオのコーディングされた表現との間の変換に関し、前記変換におけるピクチャ・ラッピングの使用に基づいて、参照サンプル・パディングの境界ブロックに従って動きベクトル計算に使用されるクリッピング処理を決定するステップ;及び
前記クリッピング処理に基づいて前記変換を実行するステップ;
を含む方法。
【0314】
[0125]
23. 解決策22の方法において、前記決定するステップは、前記ピクチャ・ラッピングが前記現在のブロックに関してディセーブルにされている場合に限って、レガシー・クリッピング処理をイネーブルにする。
【0315】
[0126]
24. 解決策22-23のうちの何れかの方法において、前記現在のブロックはクロマ・ブロックである。
【0316】
[0127]
25. 解決策22-23のうちの何れかの方法において、前記クリッピング処理は、以下のようにルマ・サンプルを計算するために使用され:
xInti = Clip3( xSbIntL - Dx, xSbIntL + sbWidth + Ux, xInti ),
yInti = Clip3( ySbIntL - Dy, ySbIntL + sbHeight + Uy, yInti ),
[0128]
ここで、Dx及び/又はDy及び/又はUx及び/又はUyは前記ピクチャ・ラッピングの使用に依存し、( xSbIntL, ySbIntL )は境界ブロックを示す。
【0317】
[0129]
26. 解決策1-25のうちの何れかの方法において、前記変換は、前記ビデオを前記コーディングされた表現に符号化することを含む。
【0318】
[0130]
27. 解決策1-25のうちの何れかの方法において、前記変換は、前記コーディングされた表現を復号化して、前記ビデオのピクセル値を生成することを含む。
【0319】
[0131]
28. 解決策1-27のうちの1つ以上に記載された方法を実行するように構成されたプロセッサを含むビデオ復号化装置。
【0320】
[0132]
29. 解決策1-27のうちの1つ以上に記載された方法を実行するように構成されたプロセッサを含むビデオ符号化装置。
【0321】
[0133]
30. コンピュータ・コードを記憶したコンピュータ・プログラム製品であって、前記コードは、プロセッサにより実行されると、解決策1-27のうちの何れかに記載された方法を前記プロセッサに実行させる。
【0322】
[0134]
31. 本件明細書に記載されている方法、装置、又はシステム。
【0323】
[0135]
開示された技術による好適な実施形態の様々な実施例を以下に説明する。これらの実施例では、様々なルールに基づくビデオ符号化又は復号化が記載されている。これらのルールは例えば或る条件に関連しており、その条件の下において(その条件下に限り)、クリッピング処理が使用されてもよく、動きベクトルが、参照フレームの外を指すのではなく、参照フレーム内の実際のサンプルを指すことを確実にする。
【0324】
[0136]
以下の解決策は、上記セクションでリスト化されているアイテム(例えば、アイテム7)で説明されている追加的な技術とともに実装されてもよい。
【0325】
[0137]
1. ビデオ処理方法であって(例えば、図10Aに示される方法1000):
ビデオの現在のピクチャの現在のブロックと前記ビデオのコーディングされた表現との間の変換に関し、デコーダ側動きベクトル精密化(DMVR)ツールがイネーブルにされているかどうかに関する第1判定を行うステップ(1002);
ルールに従って、前記現在のブロックの予測ブロックを決定するために使用される参照ピクチャにおいて参照サンプル・パディングの境界ブロックに従って動きベクトルをクリップするかどうか又はどのようにクリップするかに関する第2判定を、前記第1判定に基づいて行うステップ(1004);及び
前記第1判定と前記第2判定に基づいて前記変換を実行するステップ(1006);
を含み、前記コーディングされた表現からの符号化された動きベクトルは、前記予測ブロックを決定するために使用される前に、前記DMVRツールを使用して精密化される、方法。
【0326】
[0138]
2. 実施例1の方法において、前記動きベクトルは、前記DMVRツールが前記現在のブロックに関してイネーブルにされている場合には、前記境界ブロックに従ってクリップされ、それ以外の場合において、前記DMVRツールが前記現在のブロックに関してディセーブルにされている場合には、前記境界ブロックに従ってクリップされないことを、前記ルールは規定している。
【0327】
[0139]
3. 実施例1-2のうちの何れかの方法において、前記DMVRツールが前記現在のブロックに関してイネーブルにされている場合に、(xInti,yInti)のように示される整数サンプル位置にあるルマ・サンプルは、クリッピングを使用して、次のようにクリップされ:
xInti = Clip3 (xSbIntL - 3, xSbIntL + sbWidth + 4, xInti )
yInti = Clip3( ySbIntL - 3, ySbIntL + sbHeight + 4, yInti )
ここで、(xSbIntL, ySbIntL)は左上座標であり、sbWidthとsbHeightは前記現在のブロックの幅と高さを示し、関数Clip3()は次のように定義される:
【0328】
【数16】
[0140]
4. 実施例1-2のうちの何れかの方法において、前記DMVRツールが前記現在のブロックに関してイネーブルにされている場合に、(xInti,yInti)のように示される整数サンプル位置にあるクロマ・サンプルは、クリッピングを使用して、次のようにクリップされ:
xInti = Clip3 (xSbIntC - 3, xSbIntL + sbWidth + 4, xInti )
yInti = Clip3( ySbIntC - 3, ySbIntL + sbHeight + 4, yInti )
ここで、(xSbIntC, ySbIntC)は左上座標であり、sbWidthとsbHeightは前記現在のブロックの幅と高さを示し、関数Clip3()は次のように定義される:
【0329】
【数17】
[0141]
5. 実施例1-4のうちの何れかの方法において、前記DMVRはイネーブルにされるかどうかを示すシンタックス要素は、前記コーディングされた表現に含まれている。
【0330】
[0142]
以下の実施例は、上記セクションでリスト化されているアイテム(例えば、アイテム8)で説明されている追加的な技術とともに実装されてもよい。

[0143]
6. ビデオ処理方法であって(例えば、図10Bに示される方法):
ビデオの現在のピクチャの現在のブロックと前記ビデオのコーディングされた表現との間の変換に関し、参照ピクチャ・ラッピングがイネーブルにされているかどうかに関する第1判定を行うステップ(1012);
ルールに従って、前記現在のブロックの予測ブロックを決定するために使用される参照ピクチャにおいて参照サンプル・パディングの境界ブロックに従って動きベクトルをクリップするかどうか又はどのようにクリップするかに関する第2判定を、前記第1判定に基づいて行うステップ(1014);及び
前記第1判定と前記第2判定に基づいて前記変換を実行するステップ(1016);
を含む方法。
【0331】
[0144]
7. 実施例6の方法において、前記動きベクトルは、参照ピクチャ・ラッピングが前記現在のブロックに関してイネーブルにされている場合には、前記境界ブロックに従ってクリップされ、それ以外の場合において、参照ピクチャ・ラッピングが前記現在のブロックに関して利用不能である場合には、前記境界ブロックに従ってクリップされないことを、前記ルールは規定している。
【0332】
[0145]
8. 実施例6-7のうちの何れかの方法において、(xInti,yInti)のように示される整数サンプル位置にあるルマ・サンプルは、クリッピングを使用して、次のようにクリップされ:
xInti = Clip3 (xSbIntL - 3, xSbIntL + sbWidth + 4, xInti )
yInti = Clip3( ySbIntL - 3, ySbIntL + sbHeight + 4, yInti )
ここで、(xSbIntL, ySbIntL)は左上座標であり、sbWidthとsbHeightは前記現在のブロックの幅と高さを示し、関数Clip3()は次のように定義される:
【0333】
【数18】
[0146]
9. 実施例6-7のうちの何れかの方法において、(xInti,yInti)のように示される整数サンプル位置にあるクロマ・サンプルは、クリッピングを使用して、次のようにクリップされ:
xInti = Clip3 (xSbIntC - 3, xSbIntL + sbWidth + 4, xInti )
yInti = Clip3( ySbIntC - 3, ySbIntL + sbHeight + 4, yInti )
ここで、(xSbIntC, ySbIntC)は左上座標であり、sbWidthとsbHeightは前記現在のブロックの幅と高さを示し、関数Clip3()は次のように定義される:
【0334】
【数19】
[0147]
10. 実施例6-9のうちの何れかの方法において、前記参照ピクチャ・ラッピングは前記現在のブロックに関してイネーブルにされるかどうかを示すシンタックス要素は、前記コーディングされた表現に含まれている。
【0335】
[0148]
11. 実施例6-10のうちの何れかの方法において、前記境界ブロックの外側を指し示す動きベクトルは、参照ピクチャ・ラッピングを使用して、前記境界ブロックの内側にある参照サンプルを指し示すようにラッピングされる。
【0336】
[0149]
以下の実施例は、上記セクションでリスト化されているアイテム(例えば、アイテム19)で説明されている追加的な技術とともに実装されてもよい。
【0337】
[0150]
12. ビデオ処理方法であって(例えば、図10Cに示される方法1020):
ビデオの現在のピクチャの現在のブロックと前記ビデオのコーディングされた表現との間の変換に関し、コーディング・ツールがイネーブルにされているかどうかに関する第1判定を行うステップ(1022);
ルールに従って、前記現在のブロックの予測ブロックを決定するために使用される参照ピクチャにおいて整数位置にクロマ又はルマ・サンプルをクリップするかどうか又はどのようにクリップするかに関する第2判定を、前記第1判定に基づいて行うステップ(1024);及び
前記第1判定と前記第2判定に基づいて前記変換を実行するステップ(1026);
を含む方法。
【0338】
[0151]
13. 実施例12の方法において、前記コーディング・ツールは、前記コーディングされた表現におけるコーディングされた動きベクトルが、前記現在のブロックに対する予測ブロックを決定する前に精密化される、デコーダ側動きベクトル精密化ツールを含む。
【0339】
[0152]
14. 実施例12-13のうちの何れかの方法において、前記ルマ又はクロマ・サンプルの位置は、前記コーディング・ツールが前記現在のブロックに関してイネーブルにされている場合にはクリップされ、それ以外の場合において、前記コーディング・ツールが前記現在のブロックに関してディセーブルにされている場合にはクリップされないことを、前記ルールは規定している。
【0340】
[0153]
15. 実施例12-13のうちの何れかの方法において、前記ルマ又はクロマ・サンプルの位置は、前記コーディング・ツールが前記現在のブロックに関してディセーブルにされている場合にはクリップされ、それ以外の場合において、前記コーディング・ツールが前記現在のブロックに関してイネーブルにされている場合にはクリップされないことを、前記ルールは規定している。
【0341】
[0154]
以下の実施例は、上記セクションでリスト化されているアイテム(例えば、アイテム18(g))で説明されている追加的な技術とともに実装されてもよい。
【0342】
[0155]
16. ビデオ処理方法であって(例えば、図10Dに示される方法1030):
現在のブロックを含む現在のピクチャを含むビデオと前記ビデオのコーディングされた表現との間の変換に関し、2つの参照ピクチャ・リストからの1つ以上の参照ピクチャから前記現在のブロックの予測ブロックを生成する場合に、整数サンプル・クリッピング処理が実行されるべきかどうかを判定するステップ(1032);及び
前記判定に基づいて前記変換を実行するステップ(1034);
を含み、ルールは、前記現在のピクチャに関連する第1サイズ及び/又は前記2つの参照ピクチャ・リストにおける前記1つ以上の参照ピクチャに関連する第2サイズ、又はデコーダ側動きベクトル精密化(DMVR)の使用がイネーブルにされているかどうかに基づいており、DMVRでは、前記コーディングされた表現におけるコーディングされた動きベクトルは、前記予測ブロックの生成の前に精密化される。
【0343】
[0156]
17. 実施例16の方法において、前記第1サイズは、前記現在のピクチャのサイズ、又は前記現在のピクチャのコンフォーマンス・ウィンドウのサイズ、又は前記現在のピクチャのスケーリング・ウィンドウのサイズに対応している。
【0344】
[0157]
18. 実施例16-17のうちの何れかの方法において、前記第2サイズは、前記2つの参照ピクチャ・リスト内の1つ以上の参照ピクチャのサイズ、又は前記2つの参照ピクチャ・リスト内の前記1つ以上の参照ピクチャのコンフォーマンス・ウィンドウのサイズ、又は前記2つの参照ピクチャ・リスト内の前記1つ以上の参照ピクチャのスケーリング・ウィンドウのサイズに対応している。
【0345】
[0158]
19. 実施例16-18のうちの何れかの方法において、前記第1サイズと前記第2サイズが等しい場合に、前記整数サンプル・クリッピング処理は実行されること;及び
前記第1サイズと前記第2サイズが等しくない場合に、前記整数サンプル・クリッピン処理はディセーブルにされることを、前記ルールは規定している。
【0346】
[0159]
20. 実施例16-18のうちの何れかの方法において、前記第1サイズと前記第2サイズが等しくない場合に、前記整数サンプル・クリッピング処理は実行されること;及び
前記第1サイズと前記第2サイズが等しい場合に、前記整数サンプル・クリッピン処理はディセーブルにされることを、前記ルールは規定している。
【0347】
[0160]
21. 実施例16-18のうちの何れかの方法において、前記第1サイズと前記第2サイズはスケーリング因子によって関連付けられ、前記スケーリング因子を示すシンタックス・フィールドは、前記コーディングされた表現に含まれている。
【0348】
[0161]
22. 実施例16の方法において、前記DMVRがイネーブルにされることを示すシンタックス・フィールドは、前記コーディングされた表現に含まれている。
【0349】
[0162]
23. 実施例22の方法において、前記シンタックス・フィールドはフラグである。
【0350】
[0163]
以下の実施例は、上記セクションでリスト化されているアイテム(例えば、アイテム6)で説明されている追加的な技術とともに実装されてもよい。
【0351】
[0164]
24. ビデオ処理方法であって(例えば、図10Eに示される方法1040):
現在のブロックを含む現在のピクチャを含むビデオと前記ビデオのコーディングされた表現との間の変換に関し、ルールに従って、前記現在のブロックの予測ブロックを決定するために使用される参照ピクチャにおいて参照信号パディングの境界ボックスの左上座標を導出するステップ(1042);及び
前記導出に基づいて前記変換を実行するステップ(1044);
を含み、前記ルールは、前記現在のピクチャのディメンジョンと前記参照ピクチャのディメンジョンに基づいている。
【0352】
[0165]
25. 実施例24の方法において、前記ルールは、(xInti, yInti)のように示される整数サンプル位置でルマ・サンプルを決定するために使用される値Dx,Dy,Ux又はUyを規定しており:
xInti = Clip3( xSbIntL - Dx, xSbIntL + sbWidth + Ux, xInti ),
yInti = Clip3( ySbIntL - Dy, ySbIntL + sbHeight + Uy, yInti ),
ここで、(xSbIntL, ySbIntL)は前記左上座標であり、sbWidthとsbHeightは前記現在のブロックの幅と高さを示し、関数Clip3()は次のように定義される:
【0353】
【数20】
[0166]
26. 実施例24の方法において、前記ルールは、(xInti, yInti)のように示される整数サンプル位置でクロマ・サンプルを決定するために使用される値Dx,Dy,Ux又はUyを規定しており:
xInti = Clip3( xSbIntC - Dx, xSbIntC + sbWidth + Ux, xInti )
yInti = Clip3( ySbIntC - Dy, ySbIntC + sbHeight + Uy, yInti )
ここで、(xSbIntL, ySbIntL)は前記左上座標であり、sbWidthとsbHeightは前記現在のブロックの幅と高さを示し、関数Clip3()は次のように定義される:
【0354】
【数21】
[0167]
以下の実施例は、上記セクションでリスト化されているアイテム(例えば、アイテム18)で説明されている追加的な技術とともに実装されてもよい。
【0355】
[0168]
27. ビデオ処理方法であって(例えば、図10Fに示される方法1050):
現在のブロックを含む現在のピクチャを含むビデオと前記ビデオのコーディングされた表現との間の変換に関し、参照ピクチャから前記現在のブロックの予測ブロックを生成する場合に、整数サンプル・クリッピング処理が実行されるべきかどうかを判定するステップ(1052);及び
前記判定に基づいて前記変換を実行するステップ(1054);
を含み、ルールは、前記現在のピクチャに関連する第1サイズ及び/又は前記参照ピクチャに関連する第2サイズに基づいている。
【0356】
[0169]
28. 実施例27の方法において、前記第1サイズは、前記現在のピクチャのサイズ、又は前記現在のピクチャのコンフォーマンス・ウィンドウのサイズ、又は前記現在のピクチャのスケーリング・ウィンドウのサイズに対応している。
【0357】
[0170]
29. 実施例27-29のうちの何れかの方法において、前記参照ピクチャに関連する前記第2サイズは、前記参照ピクチャのサイズ、又は前記参照ピクチャのコンフォーマンス・ウィンドウのサイズ、又は前記参照ピクチャのスケーリング・ウィンドウのサイズに対応している。
【0358】
[0171]
30. 実施例27-29のうちの何れかの方法において、前記第1サイズと前記第2サイズが等しい場合に、前記整数サンプル・クリッピング処理は実行されること;及び
前記第1サイズと前記第2サイズが等しくない場合に、前記整数サンプル・クリッピン処理はディセーブルにされることを、前記ルールは規定している。
【0359】
[0172]
31. 実施例27-29のうちの何れかの方法において、前記第1サイズと前記第2サイズが等しくない場合に、前記整数サンプル・クリッピング処理は実行されること;及び
前記第1サイズと前記第2サイズが等しい場合に、前記整数サンプル・クリッピン処理はディセーブルにされることを、前記ルールは規定している。
【0360】
[0173]
32. 実施例27-29のうちの何れかの方法において、前記第1サイズと前記第2サイズは、前記現在のピクチャと前記参照ピクチャの間のスケーリング因子によって関連付けられている。
【0361】
[0174]
33. 実施例32の方法において、前記スケーリング因子が1に等しい場合であってその場合に限り、前記整数サンプル・クリッピング処理を使用することを、前記ルールは規定している。
【0362】
[0175]
34. 実施例32の方法において、前記スケーリング因子が1に等しくない場合であってその場合に限り、前記整数サンプル・クリッピング処理を使用することを、前記ルールは規定している。
【0363】
[0176]
35. 実施例27-29のうちの何れかの方法において、前記現在のピクチャに関連する前記第1サイズと前記参照ピクチャに関連する前記第2サイズとは幅であり、前記ルールは、整数サンプル・クリッピング処理を水平方向で使用することを規定している。
【0364】
[0177]
36. 実施例35の方法において、前記現在のピクチャに関連する前記第1サイズと前記参照ピクチャに関連する前記第2サイズとは、水平スケーリング因子によって関連付けられ、前記ルールは、整数サンプル・クリッピング処理を水平方向で使用することを規定している。
【0365】
[0178]
37. 実施例27-29のうちの何れかの方法において、前記現在のピクチャに関連する前記第1サイズと前記参照ピクチャに関連する前記第2サイズとは高さであり、前記ルールは、整数サンプル・クリッピング処理を垂直方向で使用することを規定している。
【0366】
[0179]
38. 実施例37の方法において、前記現在のピクチャに関連する前記第1サイズと前記参照ピクチャに関連する前記第2サイズとは、垂直スケーリング因子によって関連付けられ、前記ルールは、整数サンプル・クリッピング処理を垂直方向で使用することを規定している。
【0367】
[0180]
39. 実施例35-38のうちの何れかの方法において、前記コーディングされた表現に含まれるシンタックス・フィールドは、前記水平スケーリング因子と前記垂直スケーリング因子の浮動小数点表現を示している。
【0368】
[0181]
40. 実施例39の方法において、前記水平スケーリング因子と前記垂直スケーリング因子は、(1<<14)に等しく、ここで、<<は左ビット・シフト演算である。
【0369】
[0182]
41. 実施例1-40のうちの何れかの方法において、前記変換は、前記ビデオを前記コーディングされた表現に符号化することを含む。
【0370】
[0183]
42. 実施例1-40のうちの何れかの方法において、前記変換は、前記コーディングされた表現を復号化して、前記ビデオのピクセル値を生成することを含む。
【0371】
[0184]
43. 実施例1-42のうちの1つ以上に記載された方法を実行するように構成されたプロセッサを含むビデオ復号化装置。
【0372】
[0185]
44. 実施例1-42のうちの1つ以上に記載された方法を実行するように構成されたプロセッサを含むビデオ符号化装置。
【0373】
[0186]
45. コンピュータ・コードを記憶したコンピュータ・プログラム製品において、前記コードは、プロセッサにより実行されると、実施例1-42のうちの何れかに記載された方法を前記プロセッサに実行させる。
【0374】
[0187]
46. 実施例1-42のうちの何れかに記載された方法をプロセッサに実行させる命令を記憶する非一時的なコンピュータ読み取り可能な記憶媒体。
[0188]
47. 実施例1-42のうちの何れかに記載された方法により生成された前記コーディングされた表現に対応するビットストリームを記憶する非一時的なコンピュータ読み取り可能な記憶媒体。
[0189]
48. 本件明細書に記載されている方法、装置、又はシステム。
【0375】
[0190]
上記の解決策において、変換を実行することは、符号化又は復号化の処理の最中に、先行する判定ステップの結果を利用して、変換結果に到達することを含む。
【0376】
[0191]
本件明細書において、“ビデオ処理”という用語は、ビデオ符号化、ビデオ復号化、ビデオ圧縮又はビデオ解凍を指す可能性がある。例えば、ビデオ圧縮アルゴリズムは、ビデオのピクセル表現から、対応するビットストリーム表現へ、又はその逆への変換の際に適用される可能性がある。現在のビデオ・ブロックのビットストリーム表現又はコーディングされた表現は、例えばシンタックスによって定義されるように、ビットストリーム内で同じ場所にあるか又は異なる場所に拡散されるビットに対応してもよい。例えば、ビデオ・ブロックは、変換されたコーディングされたエラー残差値の観点から、また、ビットストリーム内のヘッダ及びその他のフィールドのビットを使用して符号化されてもよい。更に、変換中に、デコーダは、上述の解決策で説明されているように、判定に基づいて、何らかのフィールドが存在するか又は存在しない可能性があるという情報を用いて、ビットストリームを解析してもよい。同様に、エンコーダは、特定のシンタックス・フィールドが含まれるか、又は含まれるべきでないかを決定し、それに応じて、コーディングされた表現にシンタックス・フィールドを含めるか又はコーディングされた表現からシンタックス・フィールドを除外することによって、コーディングされた表現を生成することができる。
【0377】
[0192]
開示された技術、例えば上記の解決策及び実施例の幾つかの実施形態は、ビデオ処理ツール又はモードをイネーブルにする判定又は決定を行うことを含む。一例では、ビデオ処理ツール又はモードがイネーブルにされると、エンコーダは、ビデオのブロックの処理においてそのツール又はモードを使用又は実行することになるが、ツール又はモードの使用に基づく結果として生じるビットストリームを必ずしも修正しない可能性がある。即ち、ビデオのブロックからビデオのビットストリーム表現への変換は、ビデオ処理ツール又はモードを、それが判定又は決定に基づいてイネーブルにされる場合には、使用することになる。別の例では、ビデオ処理ツール又はモードがイネーブルにされる場合、デコーダは、ビットストリームがそのビデオ処理ツール又はモードに基づいて修正されている旨の情報とともに、ビットストリームを処理することになる。即ち、ビデオのビットストリーム表現からビデオのブロックへの変換は、決定又は判定に基づいてイネーブルにされたビデオ処理ツール又はモードを使用して実行されることになる。
【0378】
[0193]
開示される技術の幾つかの実施形態は、ビデオ処理ツール又はモードをディセーブルにする判定又は決定を行うことを含む。一例では、ビデオ処理ツール又はモードがディセーブルにされる場合、エンコーダは、ビデオのブロックの、ビデオのビットストリーム表現への変換において、そのツール又はモードを使用しないことになる。別の例では、ビデオ処理ツール又はモードがディセーブルにされる場合、デコーダは、ビットストリームが、判定又は決定に基づいてディセーブルにされたビデオ処理ツール又はモードを使用して修正されていない旨の情報とともに、ビットストリームを処理することになる。
【0379】
[0194]
開示された及びその他の解決策、実施例、実施形態、モジュール、及び機能的動作(本件明細書で説明されるもの)は、本件明細書で開示される構造及びそれらの構造的均等物を含む、デジタル電子回路、又はコンピュータ・ソフトウェア、ファームウェア、又はハードウェア、又はそれらの1つ以上の組み合わせにおいて実現することができる。開示される及びその他の実施形態は、1つ以上のコンピュータ・プログラム製品として、即ち、データ処理装置による実行のための、又はその動作を制御するための、コンピュータ読み取り可能な媒体上で符号化されているコンピュータ・プログラム命令の1つ以上のモジュールとして、実装することができる。コンピュータ読み取り可能な媒体は、機械読み取り可能なストレージ・デバイス、機械読み取り可能なストレージ基板、メモリ・デバイス、機械読み取り可能な伝搬信号に影響を及ぼす物質の構成、又はそれらの1つ以上の組み合わせであるとすることが可能である。用語「データ処理装置」は、例えば、プログラマブル・プロセッサ、コンピュータ、又は複数のプロセッサ又はコンピュータを含む、データを処理するための全ての装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、問題としているコンピュータ・プログラムの実行環境を生成するコード、例えば、プロセッサ・ファームウェア、プロトコル・スタック、データベース管理システム、オペレーティング・システム、又はそれらの1つ以上の組み合わせを構成するコードを含むことができる。伝搬する信号は、人工的に生成された信号、例えば、適切な受信装置への送信のために情報を符号化するように生成された、マシンにより生成された電気信号、光学信号、又は電磁信号である。
【0380】
[0195]
コンピュータ・プログラム(プログラム、ソフトウェア、ソフトウェア・アプリケーション、スクリプト、コードとしても知られている)は、コンパイル又は解釈された言語を含む、任意の形式のプログラミング言語で書くことが可能であり、それは、スタンド・アロン・プログラムとして、又はモジュール、コンポーネント、サブルーチン、又はコンピューティング環境での使用に適したその他のユニットとしての形式を含む、任意の形式で配備することができる。コンピュータ・プログラムは、必ずしもファイル・システム内のファイルに対応するとは限らない。プログラムは、他のプログラム又はデータを保持するファイルの一部分(例えば、マークアップ言語文書で格納される1つ以上のスクリプト)内に、問題としているプログラム専用の単一ファイル内に、又は複数の調整されたファイル(例えば、1つ以上のモジュール、サブ・プログラム、又はコードの一部分を記憶するファイル)内に、保存されることが可能である。コンピュータ・プログラムは、1つのコンピュータ上で又は複数のコンピュータ上で実行されるように配備することが可能であり、複数のコンピュータは、1つのサイトに配置されるか、又は複数のサイトにわたって分散されて通信ネットワークによって相互接続される。
【0381】
[0196]
本件明細書で説明されるプロセス及びロジックの流れは、1つ以上のコンピュータ・プログラムを実行する1つ以上のプログラマブル・プロセッサによって実行され、入力データに作用して出力を生成することによって機能を実行することができる。プロセス及びロジックの流れはまた、例えばFPGA(フィールド・プログラマブル・ゲート・アレイ)又はASIC(特定用途向け集積回路)のような特殊目的論理回路によって実行されることが可能であり、また、それらとして装置を実装することも可能である。
【0382】
[0197]
コンピュータ・プログラムの実行に適したプロセッサは、例えば、汎用及び専用双方のマイクロプロセッサ、及び任意の種類のデジタル・コンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、リード・オンリ・メモリ又はランダム・アクセス・メモリ又は双方から命令及びデータを受信するであろう。コンピュータの本質的な要素は、命令を実行するためのプロセッサと、命令及びデータを記憶するための1つ以上のメモリ・デバイスである。一般に、コンピュータはまた、データを記憶するための1つ以上の大容量ストレージ・デバイス、例えば磁気的なもの、磁気光ディスク、又は光ディスクを含み、あるいはそれらからデータを受信したり、それらへデータを転送したり、若しくは双方のために動作可能に結合される。しかしながら、コンピュータがそのようなデバイスを有することは必須ではない。コンピュータ・プログラム命令及びデータを記憶するのに適したコンピュータ読み取り可能な媒体は、例えば、EPROM、EEPROM、及びフラッシュ・メモリ・デバイスのような半導体メモリ・デバイス;磁気ディスク、例えば内部ハード・ディスク又はリムーバブル・ディスク;光磁気ディスク;並びにCD ROM及びDVD-ROMディスク;を含む、あらゆる形態の不揮発性メモリ、媒体及びメモリ・デバイスを含む。プロセッサ及びメモリは、特殊目的論理回路によって補足されるか、又はそこに内蔵されることが可能である。
【0383】
[0198]
本件特許文献は多くの詳細を含んでいるが、これらは、何れかの対象事項やクレームされ得るものの範囲に関する限定として解釈されるべきではなく、むしろ特定の技術の特定の実施形態に特有である可能性がある特徴の説明として解釈されるべきである。別々の実施形態の文脈で本件特許文献で説明される特定の特徴は、組み合わせて単一の実施形態で実施することも可能である。逆に、単一の実施形態の文脈で説明されている種々の特徴は、複数の実施形態において別々に、又は任意の適切なサブコンビネーションで実施することも可能である。更に、特徴が、特定の組み合わせにおいて作用するものとして上記で説明されていたり、当初にそのようにクレームされていたりさえするかもしれないが、クレームされた組み合わせ中の1つ以上の特徴は、場合によっては、組み合わせから切り出されることが可能であり、クレームされた組み合わせは、サブコンビネーション又はサブコンビネーションの変形例に仕向けられる可能性がある。
【0384】
[0199]
同様に、図中、動作は特定の順序で記述されているが、これは、所望の結果を達成するために、このような動作が図示の特定の順序で又は順番通りに実行されることや、例示された全ての動作が実行されること、を要求しているものとして理解されるべきではない。更に、本件特許文献で説明される実施形態における種々のシステム構成要素の分け方は、全ての実施形態でこのような分け方を要求しているものとして理解されるべきではない。
【0385】
[0200]
僅かな実装例及び実施例のみが記述されているに過ぎず、本件特許文献で説明され図示されているものに基づいて他の実装、拡張及び変更を行うことが可能である。
図1
図2A
図2B
図2C
図3
図4
図5
図6
図7
図8
図9A
図9B
図9C
図9D
図9E
図9F
図9G
図9H
図10A
図10B
図10C
図10D
図10E
図10F
【外国語明細書】