(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-23
(45)【発行日】2023-10-31
(54)【発明の名称】ビデオコーディングにおける予測重みの調整
(51)【国際特許分類】
H04N 19/503 20140101AFI20231024BHJP
H04N 19/105 20140101ALI20231024BHJP
H04N 19/136 20140101ALI20231024BHJP
H04N 19/186 20140101ALI20231024BHJP
【FI】
H04N19/503
H04N19/105
H04N19/136
H04N19/186
(21)【出願番号】P 2022513430
(86)(22)【出願日】2020-09-01
(86)【国際出願番号】 CN2020112779
(87)【国際公開番号】W WO2021037276
(87)【国際公開日】2021-03-04
【審査請求日】2022-03-03
(31)【優先権主張番号】PCT/CN2019/103903
(32)【優先日】2019-09-01
(33)【優先権主張国・地域又は機関】CN
(31)【優先権主張番号】PCT/CN2019/110490
(32)【優先日】2019-10-10
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(73)【特許権者】
【識別番号】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)【発明者】
【氏名】ワン,ユエ
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2020/253830(WO,A1)
【文献】国際公開第2020/190468(WO,A1)
【文献】Semih Esenlik, et al.,Non-CE4: Geometrical partitioning for inter blocks,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O0489-v4,15th Meeting: Gothenburg, SE,2019年07月,pp.1-9
【文献】Han Gao, et al.,CE4: CE4-1.1, CE4-1.2 and CE4-1.14: Geometric Merge Mode (GEO),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0068-v2,16th Meeting: Geneva, CH,2019年09月,pp.1-7
【文献】Yucheng Sun, Fangdong Chen, and Li Wang,CE4-related: On simplification for GEO weight derivation,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0250,16th Meeting: Geneva, CH,2019年09月,pp.1-8
【文献】Zhipin Deng, Li Zhang, Kai Zhang, Hongbin Liu, and Yue Wang,Non-CE4: Alignment of luma and chroma weights calculation for TPM blending,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0530,16th Meeting: Geneva, CH,2019年09月,pp.1-6
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ビデオ処理の方法であって、
ビデオの現在の彩度ブロックと前記ビデオのビットストリームとの間の変換の際に、前記現在の彩度ブロックが、幾何学的区分化モードを使用してコーディングされているということを決定するステップと、
第1の動き情報及び第2の動き情報を決定するステップと、
混合プロセスによって前記現在の彩度ブロックのための最終的な彩度予測を決定するのに使用される彩度重みを決定するステップと、
前記第1の動き情報、前記第2の動き情報、及び前記彩度重みに基づいて、前記変換を実行するステップであって、前記変換は、前記混合プロセスを適用し、そして、前記彩度重みを使用して、前記第1の動き情報及び前記第2の動き情報から導出される予測サンプルの重みづけの合計に基づいて、前記最終的な彩度予測を生成することを含む、ステップと、を含み、
前記彩度重みは、前記現在の彩度ブロックの彩度フォーマットに基づいて決定され、前記現在の彩度ブロックの前記彩度フォーマットは、前記現在の彩度ブロックの同じ場所に配置されている輝度ブロックに対する彩度サブサンプリング比を示す、
方法。
【請求項2】
4:4:4の彩度フォーマットの場合に、前記彩度重みは、前記現在の彩度ブロックの内側に存在する各々の場所について、前記同じ場所に配置されている輝度ブロックに適用される輝度重みと同じである、請求項1に記載の方法。
【請求項3】
4:2:0又は4:2:2の彩度フォーマットの場合に、前記彩度重みは、前記同じ場所に配置されている輝度ブロックに適用される輝度重みのサブセットである、請求項1に記載の方法。
【請求項4】
彩度重みWeightC[x][y]は、WeightY[f(x)][g(y)]に等しく、xは、0とW/subWidthC-1との間の整数であり、yは、0とH/subHeightC-1との間の整数であり、W及びHは、前記同じ場所に配置されている輝度ブロックの幅及び高さであり、subWidthC及びsubHeightCは、それぞれ、幅方向の彩度のサブサンプリング比及び高さ方向の彩度のサブサンプリング比を示し、WeightY[a][b]は、輝度重みを示し、aは、0とW-1との間の整数であり、bは、0とH-1との間の整数である、請求項1乃至3のうちのいずれか1項に記載の方法。
【請求項5】
f(x)は、x*subWidthC+offsetXに基づいており、g(y)は、y*subHeightC+OffsetYに基づいており、offsetX及びOffsetYは、整数である、請求項4に記載の方法。
【請求項6】
前記彩度重みは、2つの彩度成分について同じである、請求項1乃至5のうちのいずれか1項に記載の方法。
【請求項7】
前記彩度重み及び前記輝度重みは、整数であり、奇数整数の重み及び偶数整数の双方が許可される、請求項4に記載の方法。
【請求項8】
前記彩度重み及び/又は前記輝度重みは、[M,N]の範囲にクリッピングされ、M=0であり、且つ、N=8である、請求項4に記載の方法。
【請求項9】
前記幾何学的区分化モードは、Abs(Log2(W)-Log2(H))として得られる差に基づいて有効化又は無効化され、Absは、絶対値関数であり、W及びHは、前記同じ場所に配置されている輝度ブロックの幅及び高さである、請求項1乃至8のうちのいずれか1項に記載の方法。
【請求項10】
前記幾何学的区分化モードは、前記同じ場所に配置されている輝度ブロックが、Nよりも大きい高さ及び/又はMより大きい幅を有することに起因して無効化され、N=M=64であり、或いは、前記同じ場所に配置されている輝度ブロックが、Sに等しい高さ及び/又はTに等しい幅を有することに起因して無効化され、S=T=4である、請求項1乃至9のうちのいずれか1項に記載の方法。
【請求項11】
区分化モード、又は、幾何学的区分化ベースの動き補償候補リストの第1のマージ候補インデックス、又は、前記幾何学的区分化ベースの動き補償候補リストの第2のマージ候補インデックスを記述する構文要素が、前記ビットストリームの中に含まれていないときは、前記構文要素は、0であると推定される、請求項1乃至10のうちのいずれか1項に記載の方法。
【請求項12】
前記彩度重み及び/又は前記輝度重みは、計算式から計算される、請求項4に記載の方法。
【請求項13】
前記変換は、前記ビデオを前記ビットストリームに符号化することを含む、請求項1乃至12のうちのいずれか1項に記載の方法。
【請求項14】
前記変換は、前記ビデオを前記ビットストリームから復号化することを含む、請求項1乃至12のうちのいずれか1項に記載の方法。
【請求項15】
ビデオデータを処理するための装置であって、当該装置は、命令を有する非一時的なメモリ及びプロセッサを含み、前記命令は、前記プロセッサによって実行されるときに、前記プロセッサが、
ビデオの現在の彩度ブロックと前記ビデオのビットストリームとの間の変換の際に、前記現在の彩度ブロックが、幾何学的区分化モードを使用してコーディングされているということを決定し、
第1の動き情報及び第2の動き情報を決定し、
混合プロセスによって前記現在の彩度ブロックのための最終的な彩度予測を決定するのに使用される彩度重みを決定し、そして、
前記第1の動き情報、前記第2の動き情報、及び前記彩度重みに基づいて、前記変換を実行する、ようにさせ、前記変換は、前記混合プロセスを適用し、そして、前記彩度重みを使用して、前記第1の動き情報及び前記第2の動き情報から導出される予測サンプルの重みづけの合計に基づいて、前記最終的な彩度予測を生成することを含み、
前記彩度重みは、前記現在の彩度ブロックの彩度フォーマットに基づいて決定され、前記現在の彩度ブロックの前記彩度フォーマットは、前記現在の彩度ブロックの同じ場所に配置されている輝度ブロックに対する彩度サブサンプリング比を示す、
装置。
【請求項16】
命令を格納する非一時なコンピュータ読み取り可能な記憶媒体であって、前記命令は、プロセッサが、
ビデオの現在の彩度ブロックと前記ビデオのビットストリームとの間の変換の際に、前記現在の彩度ブロックが、幾何学的区分化モードを使用してコーディングされているということを決定し、
第1の動き情報及び第2の動き情報を決定し、
混合プロセスによって前記現在の彩度ブロックのための最終的な彩度予測を決定するのに使用される彩度重みを決定し、そして、
前記第1の動き情報、前記第2の動き情報、及び前記彩度重みに基づいて、前記変換を実行する、ようにさせ、前記変換は、前記混合プロセスを適用し、そして、前記彩度重みを使用して、前記第1の動き情報及び前記第2の動き情報から導出される予測サンプルの重みづけの合計に基づいて、前記最終的な彩度予測を生成することを含み、
前記彩度重みは、前記現在の彩度ブロックの彩度フォーマットに基づいて決定され、前記現在の彩度ブロックの前記彩度フォーマットは、前記現在の彩度ブロックの同じ場所に配置されている輝度ブロックに対する彩度サブサンプリング比を示す、
非一時なコンピュータ読み取り可能な記憶媒体。
【請求項17】
ビデオのビットストリームを格納する方法であって、前記方法は、
前記ビデオの現在の彩度ブロックが、幾何学的区分化モードを使用してコーディングされているということを決定するステップと、
第1の動き情報及び第2の動き情報を決定するステップと、
混合プロセスによって前記現在の彩度ブロックのための最終的な彩度予測を決定するのに使用される彩度重みを決定するステップと、
前記第1の動き情報、前記第2の動き情報、及び前記彩度重みに基づいて、前記ビットストリームを生成するステップであって、前記生成することは、前記混合プロセスを適用し、そして、前記彩度重みを使用して、前記第1の動き情報及び前記第2の動き情報から導出される予測サンプルの重みづけの合計に基づいて、前記最終的な彩度予測を生成することを含む、ステップと、
非一時的なコンピュータ読み取り可能な記録媒体の中に前記ビットストリームを格納するステップと、を含み、
前記彩度重みは、前記現在の彩度ブロックの彩度フォーマットに基づいて決定され、前記現在の彩度ブロックの前記彩度フォーマットは、前記現在の彩度ブロックの同じ場所に配置されている輝度ブロックに対する彩度サブサンプリング比を示す、
方法。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
この出願は、2019年9月1日付で出願された国際特許出願第PCT/CN2019/103903号及び2019年10月10日付で出願された国際特許出願第PCT/CN2019/110490号に基づく優先権及び利益を主張する国際特許出願第PCT/CN2020/112779号に基づいている。上記の特許出願のすべては、それらの全体が参照により本明細書に組み込まれる。
【0002】
[技術分野]
この特許文献は、ビデオコーディング及び復号化に関する。
【背景技術】
【0003】
ビデオ圧縮の進歩にもかかわらず、ディジタルビデオは、依然として、インターネット及び他のディジタル通信ネットワークにおける最大の帯域幅使用を占めている。ビデオを受信し及び表示することが可能である接続されているユーザデバイスの数が増加するのに伴って、ディジタルビデオの利用のための帯域幅の需要は増加し続けることが予想される。
【発明の概要】
【0004】
複数のデバイス、システム、及び方法は、ディジタルビデオコーディングに関連付けられ、具体的には、複数のビデオブロックの三角形の幾何学的区分化(triangular geometry partition)又は任意の幾何学的区分化(arbitrary geometry partition)とともにフレーム間予測(inter prediction)を使用するビデオ及び画像のためのコーディング(coding)及び復号化(decoding)に関連付けられる。
【0005】
ある1つの例示的な態様として、ビデオ処理の方法が開示される。その方法は、
規則にしたがって、彩度ブロック(chroma block)の複数の予測を混合する(blend)ことによって、ビデオの現在のブロックのうちの前記彩度ブロックの彩度予測ブロック(chroma prediction block)を決定するのに使用される彩度重み(chroma weights)を決定するステップと、
前記決定にしたがって、前記現在のブロックと前記ビデオのコーディングされている表現(coded representation)との間の変換を実行するステップと、を含み、
前記規則は、彩度重みが、前記現在のブロックの同じ場所に配置されている輝度ブロック(collocated luma block)の輝度重み(luma weights)から決定されるということを規定し、前記現在のブロックは、幾何学的区分化モード(geometric partitioning mode)を使用してコーディングされる。
【0006】
他の例示的な態様として、ビデオ処理の他の方法が開示される。その方法は、
規則にしたがって、前記彩度ブロックの複数の予測を混合することによって、ビデオの現在のブロックのうちの彩度ブロックの彩度予測ブロックを決定するのに使用される彩度重みを決定するステップと、
前記決定にしたがって、前記現在のブロックと前記ビデオのコーディングされている表現との間の変換を実行するステップと、を含み、
前記規則は、同じ場所に配置されている輝度ブロックの特性及び/又は現在のブロックの特性に依存し、前記現在のブロックは、幾何学的区分化モードを使用してコーディングされる。
【0007】
他の例示的な態様として、ビデオ処理の他の方法が開示される。その方法は、
ビデオの現在のブロックと前記ビデオのコーディングされている表現との間の変換を実行するステップを含み、
前記変換の際に、前記現在のブロックの予測ブロックは、混合重みマスク(blending weight mask)にしたがって、前記現在のブロックの複数の予測を混合することによって決定され、前記混合重みマスクは、規則にしたがって決定され、前記現在のブロックは、幾何学的区分化モードを使用してコーディングされる。
【0008】
他の例示的な態様として、ビデオ処理の他の方法が開示される。その方法は、
ビデオの現在のブロックと前記ビデオのコーディングされている表現との間の変換のために、前記現在のブロックの特性に基づいて、幾何学的区分化モードの前記現在のブロックへの適用可能性を決定するステップと、
前記決定に基づいて前記変換を実行するステップと、を含む。
【0009】
他の例示的な態様として、ビデオ処理の他の方法が開示される。その方法は、ビデオの現在のブロックと前記ビデオのコーディングされている表現との間の変換を実行するステップを含み、前記コーディングされている表現は、フォーマット規則に準拠し、前記フォーマット規則は、変換の際に、前記現在のブロックについて幾何学的区分化モードを無効化する場合に、前記幾何学的区分化モードを記述する構文要素が、前記コーディングされている表現の中に含まれないということを規定する。
【0010】
さらに別の代表的な態様において、上記の方法は、プロセッサ実行可能なコードの形態で具体化され、コンピュータ読み取り可能なプログラム媒体の中に格納される。
【0011】
さらに別の代表的な態様として、上記の方法を実行するように構成され又は動作可能なデバイスが開示される。そのデバイスは、この方法を実装するようにプログラムされるプロセッサを含んでもよい。
【0012】
さらに別の代表的な態様において、ビデオ復号化装置は、本明細書において説明されている方法を実装することが可能である。
【0013】
開示されている技術の上記の及び他の態様及び特徴は、図面、発明の詳細な説明、及び特許請求の範囲の中で詳細に説明されている。
【図面の簡単な説明】
【0014】
【
図1】複数の空間的なマージ候補の例示的な位置を示す。
【
図2】複数の空間的なマージ候補の冗長性検査(redundancy check)のために考慮される候補対の複数の例を示す。
【
図3】時間的なマージ候補のための動きベクトルスケーリング(motion vector scaling)の図解である。
【
図4】時間的なマージ候補C0及びC1のための候補場所の複数の例を示す。
【
図5】三角区分化ベースのフレーム間予測(triangle partition based inter prediction)のある1つの例を示す図である。
【
図6】三角区分化モードの場合の単一予測のMV選択(uni-prediction MV selection)のある1つの例を示す。
【
図7】混合化プロセス(blending process)の中で使用される重みの複数の例を示す。
【
図8】8×16のTPMブロック(WD6)のための混合化プロセスの中で使用される重みのある1つの例を示す。
【
図9】8×16のTPM予測ブロックのためある1つの例示的な重み設定を示す。
【
図10】開示されている技術を実装することが可能であるある1つの例示的なビデオ処理システムのブロック図である。
【
図11】ビデオ処理のためのハードウェアプラットフォームのある1つの例示的な実装のブロック図である。
【
図12】ビデオ処理のある1つの例示的な方法のためのフローチャートである。
【
図13A】VTM6.0の場合のTPM設計のある1つの例を示す。
【
図13B】TPM設計の提案のある1つの例を示す。
【
図14】GEO分配境界記述(GEO split boundary description)のある1つの例を示す。
【
図15A】幾何マージモード(geometric merge mode)の角度量子化(angles quantization)の32角度スキームのある1つの例を示す。
【
図15B】幾何マージモードの角度量子化の24角度スキームのある1つの例を示す。
【
図16A】ビデオ処理の複数の例示的な方法のためのフローチャートを示す。
【
図16B】ビデオ処理の複数の例示的な方法のためのフローチャートを示す。
【
図16C】ビデオ処理の複数の例示的な方法のためのフローチャートを示す。
【
図16D】ビデオ処理の複数の例示的な方法のためのフローチャートを示す。
【発明を実施するための形態】
【0015】
開示されている技術の複数の実施形態は、(例えば、HEVC, H.265等の)既存のビデオコーディング規格及び将来的な規格に適用されて、圧縮性能を改善することが可能である。本明細書においては、節の見出しを使用して、説明の可読性を改善するが、いかなる方法によっても、それぞれの節のみに説明又はそれらの複数の実施形態(及び/又は、実装)を限定するものではない。
【0016】
1. 概要
本明細書は、ビデオコーディング技術に関する。具体的には、本明細書は、ビデオコーディングにおけるフレーム間予測及び複数の関連する技術に関している。フレーム間予測及び複数の関連する技術は、HEVC等の既存のビデオコーディング規格又はまとめられる(多用途ビデオコーディング(Versatile Video Coding)等の)規格に適用されてもよい。フレーム間予測及び複数の関連する技術は、また、将来的なビデオコーディング規格又はビデオコーデックにも適用可能であってもよい。
【0017】
2. 最初の議論
ビデオコーディング規格は、主として、良く知られているITU-T及びISO/IEC規格の開発を通じて発展してきた。ITU-Tは、H.261とH.263を作成し、ISO/IECは、MPEG-1及びMPEG-4 Visualを作成し、それらの2つの組織は、H.262/MPEG-2 Video規格、H.264/MPEG-4 Advanced Video Coding (AVC)規格、及び、H.265/HEVC規格を共同で作成している。H.262以降は、ビデオコーディング規格は、時間的予測及び変換コーディングを利用するハイブリッドビデオコーディング構成に基づいている。HEVCを越える将来的なビデオコーディング技術を探求するため、VCEG及びMPEGが2015年に共同で共同ビデオ探求チーム(Joint Video Exploration Team(JVET))を設立している。それ以来、JVETによって多くの新たな方法が採用され、共同探求モデル(Joint Exploration Model (JEM))と名付けられている参照ソフトウェアの中に組み込まれている。JVETミーティングは、4半期ごとに1回開催され、新たなコーディング規格は、HEVCと比較して、50%のビットレート減少を目指している。新たなビデオコーディング規格は、2018年4月のJVETミーティングで、正式に、多用途ビデオコーディング(Versatile Video Coding (VVC))と命名され、当時のVVCテストモデル(VTM)の最初のバージョンを発売している。VVC標準化に寄与する継続的な努力が行われているため、JVETミーティング毎に新たなコーディング技術がVVC規格に採用されつつある。VVC作業原案及び試験モデルVTMは、その後、毎回のミーティングの後に更新される。VVCプロジェクトは、現時点で、2020年7月のミーティングで技術的完成(FDIS)を目指している。
【0018】
VTMにおいては、順に、
(1) 複数の空間的に隣接するCUからの空間的なMVP、
(2) 複数の同じ場所に配置されているCUからの時間的なMVP、
(3) FIFOテーブルからの履歴ベースのMVP、
(4) 対平均MVP、及び、
(5) ゼロMV、
の5つのタイプの候補を含めることによって、マージ候補リストを構築する。
【0019】
マージリストのサイズは、スライスヘッダの中でシグナリングによって送られ、マージリストの最大許容サイズは、VTMの場合には6である。マージモードの場合に各々のCUコードについて、切り捨て処理を伴う単項2値化(truncated unary binarization (TU))を使用することによって、最良のマージ候補のインデックスを符号化する(encoded)。マージインデックスの最初のビン(first bin)は、コンテキストによってコーディングされ、バイパスコーディング(bypass coding)は、他のビンのために使用される。
【0020】
マージ候補の各々のカテゴリの生成プロセスは、このセッションによって提供される。
【0021】
2.1.1. 空間的な候補の導出
VVCの場合の空間的なマージ候補の導出は、HEVCの場合の空間的なマージ候補の導出と同じである。最大で4つのマージ候補が、
図1に示されている場所に位置する候補の中から選択される。導出の順序は、A
0、B
0、B
1、A
1、及び、B
2である。場所B
2は、(例えば、場所A
0、B
0、B
1、A
1が他のスライス(slice)又はタイル(tile)に属するという理由により)場所A
0、B
0、B
1、A
1のうちのいずれかのCUが利用可能ではないとき又はフレーム内予測コーディングされている(intra coded)ときにのみ考慮される。場所A
1における候補を追加した後に、残りの候補の追加は、同じ動き情報を有する候補がリストから除外されることを保証する冗長性検査の対象となり、それによって、コーディング効率を改善する。計算上の複雑性を減少させるために、上記の冗長性検査においては、可能な候補対のすべてが考慮されているわけではない。むしろ、
図2の中の矢印によってリンクされている対のみが考慮され、冗長性検査のために使用される対応する候補が同じ動き情報を有していない場合にのみ、候補がリストに追加される。
【0022】
2.1.2. 時間的な候補の導出
このステップにおいては、1つの候補のみがリストに追加される。特に、この時間的なマージ候補の導出の場合には、スケーリングされている動きベクトルは、配列されている参照ピクチャ(collocated reference picture)に属する同じ場所に配置されているCU(co-located CU)に基づいて導出される。同じ場所に配置されているCUの導出のために使用される参照ピクチャリストは、明示的に、そのスライスヘッダの中でシグナリングによって送られる。時間的なマージ候補のためのスケーリングされている動きベクトルは、
図3の中の点線によって図示されているように取得され、そのスケーリングされている動きベクトルは、POC距離、tb、及びtdを使用して、同じ場所に配置されているCUの動きベクトルからスケーリングされ、tbは、現在のピクチャの参照ピクチャと現在のピクチャとの間のPOC差となるように定義され、tdは、同じ場所に配置されているピクチャの参照ピクチャとその同じ場所に配置されているピクチャとの間のPOC差となるように定義される。時間的なマージ候補の参照ピクチャインデックスは、0と等しくなるように設定される。
【0023】
図3は、時間的なマージ候補のための動きベクトルのスケーリングの図解である。
【0024】
時間的な候補の場所は、
図4に示されているように、候補C0と候補C1との間で選択される。場所C0におけるCUが利用可能ではないか、フレーム内予測コーディングされているか、又は、CTUの現在の行の外側に存在する場合には、場所C1を使用する。それら以外の場合には、時間的なマージ候補の導出の際に、場所C0を使用する。
【0025】
図4は、時間的なマージ候補のための複数の候補場所C0及びC1の複数の例を示す。
【0026】
2.1.3. 履歴ベースのマージ候補の導出
履歴ベースのMVP(HMVP)マージ候補は、空間的なMVP及びTMVPの後にマージリストに追加される。この方法においては、テーブルの中に、以前にコーディングされているブロックの動き情報を格納し、現在のCUのためのMVPとして使用する。複数のHMVP候補を有するテーブルは、符号化プロセス/復号化プロセスの際に維持される。新たなCTU行に遭遇するときに、テーブルは、リセットされる(空にされる(emptied))。サブブロック間コーディングされていないCU(non-subblock inter-coded CU)が存在するときはいつでも、関連する動き情報は、新たなHMVP候補としてテーブルの最後のエントリに追加される。
【0027】
VTMの場合には、HMVPテーブルサイズSは、6に設定され、そのHMVPテーブルサイズSは、最大で6つの履歴ベースのMVP(HMVP)候補がそのテーブルに追加されてもよいということを示す。そのテーブルに新たな動き候補を挿入するときに、制限付き先入れ先出し(FIFO)規則(constrained first-in-first-out (FIFO))を利用し、冗長性検査は、最初に、テーブルの中に同じHMVPが存在するか否かを発見するのに適用される。テーブルの中に同じHMVPが存在するということを発見する場合に、同じHMVPは、そのテーブルから削除され、その後に、HMVP候補のすべてが、前方に移動される。
【0028】
マージ候補リスト構築プロセスの中で複数のHMVP候補を使用してもよい。そのテーブルの中の最後の数個のHMVP候補は、順番に検査され、そして、TMVP候補の後の候補リストへと挿入される。冗長性検査は、空間的なマージ候補又は時間的なマージ候補へのHMVP候補に適用される。
【0029】
冗長性検査操作の回数を減少させるために、
1. マージリスト生成のために使用されるHMPV候補の数は、(N≦4)に設定されているか? M:(8-N)であり、Nは、マージリストの中の既存の候補の数を示し、Mは、そのテーブルの中の利用可能なHMVP候補の数を示す;
2. 利用可能なマージ候補の合計数が、最大許容マージ候補よりも1だけ小さい値に達すると、HMVPからのマージ候補リスト構築プロセスを終了させる;
という簡略化を導入する。
【0030】
2.1.4 対になっている平均マージ候補の導出
対になっている平均候補は、既存のマージ候補リストのうちのあらかじめ定義されている対の候補を平均することによって生成され、それらのあらかじめ定義されている対は、{(0,1),(0,2),(1,2),(0,3),(1,3),(2,3)}として定義され、それらの番号は、マージ候補リストへのマージインデックスを示す。平均化されている動きベクトルは、各々の参照リストについて個別に計算される。双方の動きベクトルが1つのリストの中で利用可能である場合に、これらの2つの動きベクトルは、それらの2つの動きベクトルが異なる参照ピクチャを指しているときであっても平均化され、一方の動きベクトルのみが利用可能である場合には、その一方の動きベクトルを直接的に使用し、利用可能である動きベクトルが存在しない場合には、このリストを無効のままに維持する。
【0031】
対になっている平均マージ候補を追加した後に、そのマージリストが満たされていないときに、最大マージ候補番号に遭遇するまで、その最後に、0のMVPを挿入する。
【0032】
2.2. フレーム間予測(inter prediction)のための三角区分化(triangle partition)
VTMにおいては、三角区分化モード(triangle partition mode (TPM))がフレーム間予測のためにサポートされている。三角区分化モードは、64サンプル以上のCUにのみ適用され、スキップ又はマージモードによってコーディングされるが、通常のマージモード、MMVDモード、CIIPモード、又はサブブロックマージモードによってはコーディングされない。CUレベルフラグは、三角区分化モードが適用されるか否かを示すのに使用される。
【0033】
このモードを使用するときに、CUは、(
図5の)対角方向の分配又は逆対角方向の分配のいずれかを使用して、2つの三角形状区分化へと均等に分配される。そのCUの中の各々の三角区分化は、それ自身の動きを使用してフレーム間予測され、各々の区分化について、単一予測のみが許可される、すなわち、各々の区分化は、1つの動きベクトル及び1つの参照インデックスを有する。単一予測動き制約条件を適用して、従来の双予測と同じく、各々のCUのために、2つの動き補償予測のみを必要とするということを保証する。各々の区分化の単一予測動きは、2.1の拡張マージ予測のために構築されるマージ候補リストから直接的に導出され、そのリストの中のある与えられているマージ候補からの単一予測動きの選択は、2.2.1の手順にしたがう。
【0034】
図5は、三角区分化ベースのフレーム間予測のある1つの例を示す。
【0035】
現在のCUのために三角区分化モードを使用する場合に、三角区分化の(対角方向又は反対角方向等の)方向を示すフラグ及び(各々の区分化について1つの)2つのマージインデックスが、さらに、シグナリングによって送られる。三角形区分化の各々を予測した後に、適応重み付けによる混合処理を使用して、対角方向の端部又は反対角方向の端部に沿って、サンプル値を調整する。この調整は、CU全体の予測信号となり、変換及び量子化プロセスは、他の予測モードと同様にCU全体に適用されるであろう。最後に、三角区分化モードを使用して予測されるCUの動きフィールドは、2.2.3のように、4×4単位で格納される。
【0036】
2.2.1. 単一予測の候補リストの構築
マージ候補インデックスが与えられると、単一予測動きベクトルは、
図6において例示されているように、2.1のプロセスを使用して拡張マージ予測のために構築されるマージ候補リストから導出される。そのリストの中の候補について、三角区分化モードのための単一予測動きベクトルとして、マージ候補インデックス値のパリティに等しいXを有するそのLX動きベクトルを使用する。これらの動きベクトルは、
図6において"x"によって印を付されている。対応するLX動きベクトルが存在しない場合に、三角区分化モードのための単一予測動きベクトルとして、拡張マージ予測候補リストの中の同じ候補のL(1-X)動きベクトルを使用する。
【0037】
2.2.2. 三角区分化の端部に沿った混合
それ自身の動きを使用して各々の三角区分化を予測した後に、2つの予測信号に混合を適用して、対角方向又は反対角方向の周りのサンプルを導出する。混合プロセスにおいては、
・
図7に示されているように、輝度については、{7/8,6/8,5/8,4/8,3/8,2/8,1/8}、彩度については、{6/8,4/8,2/8}の重みを使用する。
【0038】
図7は、混合プロセスの中で使用される重みのある1つの例を示す。
【0039】
2.2.3. 動きフィールドの格納
三角区分化モードによってコーディングされるCUの動きベクトルは、4×4単位で格納される。各々の4×4単位の場所に依存して、単一予測の動きベクトル又は双予測の動きベクトルのいずれかを格納する。それぞれ、区分化1及び区分化2のための単一予測の動きベクトルとして、Mv1及びMv2を示す。4×4単位が、
図7の例によって示されている非重み付け領域の中に位置している場合に、Mv1又はMv2のうちのいずれかは、その4×4単位について格納される。それ以外のときに、4×4単位が重み付け領域の中に位置している場合に、双予測の動きベクトルを格納する。双予測の動きベクトルは、以下のプロセスにしたがって、Mv1及びMv2から導出される。
(1) Mv1及びMv2が、(一方の参照ピクチャリストは、L0であり、他方の参照ピクチャリストは、L1である)異なる参照ピクチャリストからの動きベクトルである場合に、Mv1及びMv2を単純に組み合わせて、双予測の動きベクトルを形成する。
(2) それ以外のときに、Mv1及びMv2が、同じリストからの動きベクトルであり、且つ、一般性を失わない場合に、双方とも、L0からの動きベクトルであると仮定する。この場合には、
(2.a) Mv2(又は、Mv1)のうちのいずれかの参照ピクチャが、L1に出現する場合に、そのMv2(又は、Mv1)は、L1の中のその参照ピクチャを使用して、L1動きベクトルに変換される。その次に、2つの動きベクトルを組み合わせて、双予測動きベクトルを形成する。
【0040】
それ以外の場合には、双予測の動きベクトルの代わりに、単一予測の動きベクトルMv1のみを格納する。
【0041】
2.3. VVC WD6における三角区分化の仕様
非ブロック化フィルタリングプロセスの以下の仕様は、最新のVVC作業原案JVET-O2001-vEから抽出される。
【表1】
【0042】
【0043】
2.3.4. 三角モードでフレーム間予測されたブロックのための復号化プロセス(Decoding process for triangle inter blocks)
2.3.4.1. 概要
このプロセスは、MergeTriangleFlag[xCb][yCb] が1に等しいコーディングユニットを復号化するときに呼び出される。
【0044】
このプロセスへの入力は、
- 現在のピクチャの左上の輝度サンプルを基準として現在のコーディングブロックの左上のサンプルを指定する輝度位置(xCb,yCb)、
- 輝度サンプルの中の現在のコーディングブロックの幅を指定する変数cbWidth、
- 輝度サンプルの中の現在のコーディングブロックの高さを指定する変数cbHeight、
- 1/16の分数サンプル精度の輝度動きベクトルmvA及びmvB、
- 彩度動きベクトルmvCA及びmvCB、
- 参照インデックスrefIdxA及びrefIdxB、
- 予測リストフラグはpredListFlagA及びpredListFlagB、
である。
【0045】
このプロセスの出力は、
- 輝度予測サンプルの(cbWidth)x(cbHeight)配列predSamplesCb、
- 成分Cbのための彩度予測サンプルの(cbWidth/SubWidthC)x(cbHeight/SubHeightC)配列predSamplesCb、
- 成分Crのための彩度予測サンプルの(cbWidth/SubWidthC)x(cbHeight/SubHeightC)配列predSamplesCr、
である。
【0046】
predSamplesLAL及びpredSamplesLBLを、予測された輝度サンプル値の(cbWidth)x(cbHeight)配列とし、predSamplesLACb、predSamplesLBCb、predSamplesLACr、及びpredSamplesLBCrを、予測された彩度サンプル値の(cbWidth/SubWidthC)x(cbHeight/SubHeightC)配列とする。
【0047】
predSamples
L、predSamples
Cb、及びpredSamples
Crは、以下の順序付けられたステップによって導出される。
【数2】
【0048】
2.3.4.2. 三角マージモードの場合の重み付けサンプル予測プロセス
このプロセスへの入力は、
- 現在のコーディングブロックの幅及び高さを指定する2つの変数nCbW及びnCbH、
- 2つの(nCbW)×(nCbH)配列predSamplesLA及びpredSamplesLB、
- 区分化の方向を指定する変数triangleDir、
- 色成分インデックス(colour component index)を指定する変数cIdx、
である。
【0049】
このプロセスの出力は、複数の予測サンプル値の(nCbW)×(nCbH)配列pbSamplesである。
【0050】
変数nCbRは、
nCbR=(nCbW>nCbH) ? (nCbW/nCbH) : (nCbH/nCbW) (8-841)
のように導出される。
【0051】
変数bitDepthは、以下のように導出される。
- cIdxが0に等しい場合に、bitDepthは、BitDepthYに等しくなるように設定される。
- それ以外の場合には、bitDepthは、BitDepthCに等しくなるように設定される。
【0052】
変数shift1及びoffset1は、以下のように導出される。
- 変数shift1は、Max(5,17-bitDepth)に等しくなるように設定される。
- 変数offset1は、1<<(shift1-1)に等しくなるように設定される。
【0053】
triangleDir、wS、及びcIdxの値に応じて、x=0..nCbW-1であり、且つ、y=0..nCbH-1である予測サンプルpbSamples[x][y]は、以下のように導出される。
【数3】
【0054】
2.3.4.3. 三角マージモードの場合の動きベクトルの格納プロセス
このプロセスは、MergeTriangleFlag[xCb][yCb]が1に等しいコーディングユニットを復号化するときに呼び出される。
【0055】
このプロセスへの入力は、
- 現在のピクチャの左上の輝度サンプルを基準として現在のコーディングブロックの左上のサンプルを指定する輝度位置(xCb,yCb)、
- 輝度サンプルの中の現在のコーディングブロックの幅を指定する変数cbWidth、
- 輝度サンプルの中の現在のコーディングブロックの高さを指定する変数cbHeight、
- 区分化の方向を指定する変数triangleDir、
- 1/16の分数サンプル精度の輝度動きベクトルmvA及びmvB、
- 参照インデックスrefIdxA及びrefIdxB、
- 予測リストフラグpredListFlagA及びpredListFlagB、
である。
【0056】
水平方向及び垂直方向における現在のコーディングブロックの中の4×4ブロックの数を指定する変数numSbX及びnumSbYは、numSbX=cbWidth>>2及びnumSbY=cbHeight>>2に等しくなるように設定される。
【0057】
変数minSbは、Min(numSbX,numSbY)-1に等しくなるように設定される。
【0058】
変数cbRatioは、以下のように導出される。
cbRatio=(cbWidth>cbHeight) ? (cbWidth/cbHeight) : (cbHeight/cbWidth) (8-848)
[0074] The variable cbRatio
is derived as follows:
cbRatio=(cbWidth>cbHeight) ? (cbWidth/cbHeight) :
(cbHeight/cbWidth) (8-848)
【0059】
xSbIdx=0..numSbX-1であり、且つ、ySbIdx=0..numSb-1であるサブブロックインデックス
(xSbIdx,ySbIdx)における各々の4×4サブブロックについて、以下が適用される。
- 変数xIdx及びyIdxは、以下のように導出される。
xIdx=(cbWidth>cbHeight) ? (xSbIdx/cbRatio):xSbIdx (8-849)
yIdx=(cbWidth>cbHeight) ? ySbIdx:(ySbIdx/cbRatio) (8-850)
- 変数sTypeは、以下のように導出される。
- triangleDirが0に等しい場合に、以下が適用される。
sType=(xIdx==yIdx) ? 2:((xIdx>yIdx) ? 0:1) (8-851)
- それ以外の場合(triangleDirが1に等しい場合)に、以下が適用される。
sType=(xIdx+yIdx==minSb) ? 2:((xIdx+yIdx<minSb) ? 0:1) (8-852)
- sTypeの値に応じて、以下の割り当てが行われる。
- sTypeが0に等しい場合に、以下が適用される。
predFlagL0=(predListFlagA==0) ? 1:0 (8-853)
predFlagL1=(predListFlagA==0) ? 0:1 (8-854)
refIdxL0=(predListFlagA==0) ? refIdxA:-1 (8-855)
refIdxL1=(predListFlagA==0) ? -1:refIdxA (8-856)
mvL0[0]=(predListFlagA==0) ? mvA[0]:0 (8-857)
mvL0[1]=(predListFlagA==0) ? mvA[1]:0 (8-858)
mvL1[0]=(predListFlagA==0) ? 0:mvA[0] (8-859)
mvL1[1]=(predListFlagA==0) ? 0:mvA[1] (8-860)
- それ以外のときに、sTypeが1に等しい場合又は(sTypeが2に等しく、且つ、predListFlagA+predListFlagBが1に等しくない場合)に、以下が適用される。
predFlagL0=(predListFlagB==0) ? 1:0 (8-861)
predFlagL1=(predListFlagB==0) ? 0:1 (8-862)
refIdxL0=(predListFlagB==0) ? refIdxB:-1 (8-863)
refIdxL1=(predListFlagB==0) ? -1:refIdxB (8-864)
mvL0[0]=(predListFlagB==0) ? mvB[0]:0 (8-865)
mvL0[1]=(predListFlagB==0) ? mvB[1]:0 (8-866)
mvL1[0]=(predListFlagB==0) ? 0:mvB[0] (8-867)
mvL1[1]=(predListFlagB==0) ? 0:mvB[1] (8-868)
- それ以外の場合(sTypeが2に等しく、且つ、predListFlagA+predListFlagBが1に等しい場合)に、以下が適用される。
predFlagL0=1 (8-869)
predFlagL1=1 (8-870)
refIdxL0=(predListFlagA==0) ? refIdxA:refIdxB (8-871)
refIdxL1=(predListFlagA==0) ? refIdxB:refIdxA (8-872)
mvL0[0]=(predListFlagA==0) ? mvA[0]:mvB[0] (8-873)
mvL0[1]=(predListFlagA==0) ? mvA[1]:mvB[1] (8-874)
mvL1[0]=(predListFlagA==0) ? mvB[0]:mvA[0] (8-875)
mvL1[1]=(predListFlagA==0) ? mvB[1]:mvA[1] (8-876)
- x=0..3であり、且つ、y=0..3である場合に、以下の割り当てを行う。
MvL0[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=mvL0 (8-877)
MvL1[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=mvL1 (8-878)
RefIdxL0[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=refIdxL0 (8-879)
RedIdxL1[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=refIdxL1 (8-880)
PredFlagL0[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=predFlagL0 (8-881)
PredFlagL1[(xSbIdx<<2)+x][(ySbIdx<<2)+y]=predFlagL1 (8-882)
【0060】
2.4. 幾何マージモード(Geometric merge mode (GEO))
JVET-P0068の場合に、GEOマージモードは、VVCにおける既存のTPMの拡張として検討されている。GEOは、TPMと同じ予測混合概念(prediction blending concept)を使用するが、32個の角度及び5つの距離オフセットを使用して、最大で140個の異なるモードに混合マスク(blending masks)を拡張している。GEOモードのそれらの混合マスクは、3つのルックアップテーブルを使用して、サンプル場所及び分配境界の距離から導出される。このモードの場合には、ブロックは、角度区分化(angular partition)を使用して区分化され、それによって、少なくとも1つの区分化は、非水平境界及び非垂直境界を有する。
【0061】
2.4.1. 概念の説明
図13A及び13Bは、VTM-6.0におけるTPM、及び、非矩形の中間ブロックとして提案される複数の追加的な形状を図示している。
【0062】
TPMと同様に、復号化器側で双予測されるブロックと同じメモリ帯域幅を有するように、8×8よりも小さくはない単一予測されるブロック(uni-predicted blocks)について、中間ブロックのための提案されるGEO区分化(GEO partitioning)を可能とする。GEO区分化のための動きベクトル予測は、TPMと整列される。TPMにおける場合と同様に、2つの予測の間の混合は、内部境界に適用される。
【0063】
幾何マージモード(geometric merge mode)の分配境界(split boundary)は、
図14に示されているように、角度φ
i及び距離オフセットρ
iによって説明される。角度φ
iは、0度と360度との間の量子化された角度を表し、距離オフセットρ
iは、最大距離ρ
maxの量子化されたオフセットを表す。加えて、2分木分配(binary tree splits)及びTPM分配と重複している分配方向(split directions)は除かれる。
【0064】
2.4.2. 角度及び距離の量子化
固定の幅を使用して、0度と360度との間で角度φiを量子化する。
【0065】
CE4-1.1、108個のモードを使用するCE4-1.2a、及びCE4-1.14の場合に、
図15aに示されているように、幅11.25度を使用して、0度と360度との間で角度φ
iを量子化して、合計で32個の角度とする。
【0066】
80個のモードを有するCE4-1.2bの場合は、角度φ
iは、依然として、11.25度の幅で量子化されるが、自然値においては、目標及び動きは、ほぼ水平であるため、複数の垂直方向に近い角度(near vertical direction angles)(水平分配に近い境界(near horizontal split boundaries))は取り除かれる。
図15bは、24個に減少させた角度スキームを図示している。
【0067】
距離ρ
iは、固定のステップを使用して、可能な最大距離ρ
maxから量子化される。w又はhのいずれかは、8に等しく、log2スケールの短辺長でスケーリングされるため、式(1)によって幾何学的に、ρ
maxの値を導出することが可能である。φが0度に等しい場合には、ρ
maxは、w/2に等しく、φが90度に等しい場合には、ρ
maxは、h/2に等しい。後方の"1.0"によってサンプルをシフトする目的は、分配境界が角部に過度に近接するのを防止するためである。
【数4】
【0068】
CE4-1.1及びCE4-1.14の場合には、合計で140個の分配モードの中に存在する32個の角度を考慮すると、二分木分配及びTPM分配は除外され、距離ρiは、5つの幅を使用して量子化される。
【0069】
108個のモードを使用するCE4-1.2aの場合には、合計で108個の分配モードの中に存在する32個の角度を考慮すると、二分木分配及びTPM分配は除外され、距離ρiは、4つの幅を使用して量子化される。
【0070】
80個のモードを使用するCE4-1.2bの場合には、合計80個の分配モードの中に存在する24個の角度を考慮すると、二分木分配及びTPM分配は除外され、距離ρiは、4つの幅を使用して量子化される。
【0071】
表1の中に、CE試験のための角度、距離、及びモードの数を要約しておく。
【表2】
【0072】
2.4.3. 輝度ブロックのための混合操作
TPMモードと同様に、幾何マージモードにおいては、3ビット混合マスクW0及びW1を使用する最終予測器PBは、
PB=(W0P0+W1P1+4)>>3 (2)
のようになる。
【0073】
幾何マージモード(geometric merge mode)の混合マスク(blending masks)は、式(3)、(4)、及び(5)にしたがったルックアップテーブルを使用して、サンプル場所(sample position)及び分配境界(split boundary)の距離から導出される。
distFromLine=((x<<1)+1)*Dis[displacementX]+((y<<1)+1))*Dis[displacementY] -rho (3)
distScaled=Clip3(0,26,(abs(distFromLine)+4)>>3) (4)
sampleWeightL[x][y]=distFromLine≦0 ? GeoFilter[distScaled]:8-GeoFilter[distScaled] (5)
3つのルックアップテーブル、32個のエントリを有するDis[.]、36個のエントリを有するStepDis[.]、及び、26個のエントリを有するGeoFilter[.]が含まれる。
【0074】
現在のブロックの左下のサンプルは、P0から予測されることが保証される。言い換えると、左下のサンプルのdistFromLineが負であるときに、W0は、sampleWeightL[x][y]に等しく、W1は、8-W0に等しい。それ以外の場合(左下のサンプルのdistFromLineが正である場合)には、W1は、sampleWeightL[x][y]に等しく、W0は、8-W1に等しい。
【0075】
残りの操作のすべては、ルックアップテーブルを使用するため、幾何学的混合マスク導出(geometric blending mask derivation)の実際の計算上の複雑さは、式(3)に起因する。
【0076】
VTMソフトウェアの実装においては、式(3)は、例えば、8×8CUの中で、1サンプルごとに、1.125の加算及び0.015625の乗算を必要とするといったように、サンプルごとに、1の加算を必要とするとともに、1サンプル行ごとに、1の加算を必要とする。
【0077】
各々の4×4ユニットの処理を並列にするために、例えば、8×8CUの中で、サンプルごとに、1.25の加算及び0.0625の乗算を必要とする。
【0078】
(例えば、8×8CU等の)各々のラインの処理を並列にするために、サンプルごとに、1の加算及び0.125の乗算を必要とする。
【0079】
CUの中の複数のサンプルのうちのすべての処理を並列にするために、各々のサンプルについて、2の乗算及び1の加算を必要とする。
【0080】
表2の中に、(8×8の)サンプルあたりの計算量上の複雑さの最悪の場合を要約する。
【表3】
【0081】
混合操作に関するより多くの詳細については、添付の仕様修正文書草案、すなわち、節"8.5.7.3 幾何マージモードの場合の重み付けサンプル予測プロセス"を参照するものとする。
【0082】
2.4.4. 彩度ブロックのための混合操作
輝度サンプルについて計算されるサンプルの重みは、サブサンプリングされ、いかなる計算も行うことなく、彩度の混合のために使用される。座標(x,y)における彩度サンプルの重みは、輝度ブロックの左上のサンプルを基準として座標(2x,2y)における輝度サンプルの重みに等しくなるように設定される。
【0083】
2.4.5. 動きベクトルの導出
TPMのために使用される同じマージリスト導出プロセスを使用して、GEOブロックの各々の区分化の動きベクトルを導出する。各々の区分化は、単一予測によってのみ予測される。
【0084】
2.4.6. 動きベクトルの格納
CE4-1.1及びCE4-1.2の場合に、4×4動き格納ユニットの4つの角における輝度サンプルの重みの総和をとる。その次に、その総和は、2つのしきい値と比較されて、2つの単一予測動き情報又は双予測動き情報のうちの一方を格納するか否かを決定する。双予測動き情報は、TPMと同じプロセスを使用して導出される。
【0085】
CE4-1.14の場合に、さらに、動きベクトル格納プロセスを簡略化する。4×4動き格納ユニットの中心場所と分配境界との間の距離を計算し、そして、固定のしきい値とその距離を比較して、この4×4動き格納ユニットに対して、単一予測動き情報格納されているか又は双予測動き情報が格納されているかを決定する。その距離の符号は、単一予測格納の場合に、いずれの単一予測動き情報が格納されるべきかを示す。CE4-1.14の場合には、混合マスク及び動き格納の依存性が除去される。
【0086】
2.4.7. モードシグナリング
提案されている方法によれば、GEOモードは、TPMモードと共に追加的なマージモードとしてシグナリングによって送られる。
【表4】
【0087】
merge_geo_flag[][]は、4つのCABACコンテキストモデルを使用してシグナリングによって送られ、最初の3つのCABACコンテキストモデルは、上及び左の隣接するブロックのモードに応じて導出され、4番目のCABACコンテキストモデルは、現在のブロックのアスペクト比に応じて導出される。merge_geo_flag[][]は、"最も確からしいモード"フラグと同様に、現在のブロックが、GEOモードを使用しているか又はTPMモードを使用しているかを示す。
【0088】
geo_partition_idx[][]は、角度φi及び距離ρiの対を格納するルックアップテーブルへのインデックスとして使用される。geo_partition_idxは、切り捨てられた2進数をコーディングし、バイパスを使用して2値化される。
【0089】
3. 本明細書において説明されている複数の技術的解決方法が解決する複数の技術的課題の例
最新のVVC作業草案WD6(JVET-O2001-v14)の中には、以下で説明されているいくつかの問題が存在する。
(1) WD6においては、2つの三角区分化の混合プロセスの場合に、彩度重みは、
図8に示されているように輝度重みと整列せず(the chroma weights does not align with luma weights)、視覚的なアーティファクト(visual artifact)を引き起こす場合がある。
(2) WD6においては、三角予測のための重みの設定は、
図8に示されているように、4:2:2及び4:4:4等の複数の彩度フォーマットを考慮してはいない。
(3) WD6においては、
図8に示されているように、偶数の重みのみが、彩度のために許容され、偶数の整数及び奇数の整数の双方が、輝度成分のために許容されるので、彩度は、輝度と一致しない。
(4) WD6においては、TPMは、4×Nブロック及びN×4ブロックのために許容され、複数のピクセルのすべては、重み付け混合を実行することを要求され、望ましくない場合がある。
(5) WD6においては、TPMは、幅及び高さの比が2より大きなブロックのために許容され、望ましくない場合がある。
(6) GEO及びTPMは、混合重みマスク及び動き格納マスクの独立したシグナリング及び独立した計算に対して個別に適用される。
【0090】
図8は、8×16のTPMブロック(WD6)のための混合プロセスの中で使用される重みのある1つの例を示す。
【0091】
4. 実施形態及び技術の例
以下に記載されている項目は、一般的な概念を説明するための例として考慮するべきである。これらの項目は、狭義に解釈されるべきではない。さらに、これらの項目は、任意の方法で組み合わせられてもよい。
【0092】
"TPM"の語は、1つのブロックを2つ又はそれ以上のサブ領域に分配し、ブロック全体に対して変換を適用するコーディング方法を表してもよい。"TPM"の語は、三角予測モード及び/又は三角予測モードの場合の拡張である幾何マージモードを示してもよい。
【数5】
【0093】
【0094】
【0095】
【0096】
【0097】
【0098】
【0099】
【0100】
【0101】
【0102】
【0103】
【0104】
【0105】
図10は、本明細書において開示されているさまざまな技術を実装することが可能であるある1つの例示的なビデオ処理システム1900を示すブロック図である。さまざまな実装は、システム1900の複数の構成要素の一部又はすべてを含んでもよい。システム1900は、ビデオコンテンツを受信するための入力1902を含んでもよい。ビデオコンテンツは、例えば、8又は10ビットの多成分画素値等の未処理のフォーマット又は非圧縮フォーマットで受信されてもよく、又は圧縮フォーマット又は符号化されているフォーマットで受信されてもよい。入力1902は、ネットワークインターフェイス、周辺機器バスインターフェイス、又は記憶インターフェイスを表してもよい。ネットワークインターフェイスの複数の例は、イーサネット、受動光ネットワーク(PON)等の有線インターフェイス、及び、Wi-Fi又はセルラーインターフェイス等の無線インターフェイスを含む。
【0106】
システム1900は、コーディング構成要素1904を含んでもよく、そのコーディング構成要素1904は、本明細書において説明されているさまざまなコーディング方法又は符号化方法を実装することが可能である。コーディング構成要素1904は、入力1902からコーディング構成要素1904の出力へのビデオの平均ビットレートを減少させて、ビデオのコーディングされている表現を生成してもよい。したがって、それらのコーディング技術は、ビデオ圧縮技術又はビデオトランスコーディング技術と呼ばれる場合がある。コーディング構成要素1904の出力は、構成要素1906によって表現される際に、格納されるか、又は通信接続を介して伝送されてもよい。入力1902において受信されるビデオの格納されているビットストリーム表現又は通信される(又は、コーディングされている)ビットストリーム表現は、構成要素1908が、ディスプレイインターフェイス1910に送信されるピクセル値又は表示可能なビデオを生成するのに使用されてもよい。ビットストリーム表現からユーザが視聴可能であるビデオを生成するプロセスは、ビデオ解凍と呼ばれる場合がある。さらに、特定のビデオ処理操作は、"コーディング"操作又はツールと称されるが、コーディングツール又はコーディング操作は、符号化器において使用され、コーディングの結果を反転する対応する復号化ツール又は復号化操作は、復号化器によって実行されるであろうということが理解されるであろう。
【0107】
周辺機器バスインターフェイス又はディスプレイインターフェイスの複数の例は、ユニバーサルシリアルバス(USB)又は高精細度マルチメディアインターフェイス(HDMI(登録商標))又はディスプレイポート等を含む。記憶インターフェイスの複数の例は、SATA(シリアル先端技術アタッチメント(serial advanced technology attachment))、PCI、及びIDEインターフェイス等を含む。本明細書において説明されている技術は、携帯電話、ラップトップ、スマートフォン、又はディジタルデータ処理及び/又はビデオ表示を実行することが可能である他のデバイス等のさまざまな電子デバイスとして具体化されてもよい。
【0108】
図11は、ビデオ処理装置1100のブロック図である。装置1100は、本明細書において説明されている複数の方法のうちの1つ又は複数を実装するのに使用されてもよい。装置1100は、スマートフォン、タブレット、コンピュータ、及びモノのインターネット(IoT)受信機等として具体化されてもよい。装置1100は、1つ又は複数のプロセッサ1102、1つ又は複数のメモリ1104、及びビデオ処理ハードウェア1106を含んでもよい。それらの1つ又は複数のプロセッサ1102は、本明細書において説明されている1つ又は複数の方法を実装するように構成されてもよい。メモリ(複数のメモリ)1104は、本明細書において説明されている方法及び技術を実施するのに使用されるデータ及びコードを格納するのに使用されてもよい。ビデオ処理ハードウェア1106は、ハードウェア回路において、本明細書において説明されているいくつかの技術を実装するのに使用されてもよい。複数の実施形態のうちのいくつかにおいて、ハードウェア1106は、少なくとも部分的に、例えば、グラフィックスコプロセッサ等のプロセッサ1102の中に存在してもよい。
【0109】
開示されている技術の複数の実施形態のうちのいくつかは、ビデオ処理ツール又はビデオ処理モードを有効化する決定又は判断を行うことを含む。ある1つの例として、ビデオ処理ツール又はビデオ処理モードが有効化されているときに、符号化器は、ビデオのブロックの処理の際にツール又はモードを使用するか又は実装するであろうが、必ずしもそのビデオ処理ツール又はビデオ処理モードの使用に基づいて、結果として生じるビットストリームを修正しなくてもよい。すなわち、ビデオのブロックからビデオのビットストリーム表現への変換は、判断又は決定に基づいて有効化されるときに、ビデオ処理ツール又はビデオ処理モードを使用するであろう。他の例として、ビデオ処理ツール又はビデオ処理モードが有効化されるときに、復号化器は、ビットストリームがそのビデオ処理ツール又はビデオ処理モードに基づいて修正されているという知識を使用して、ビットストリームを処理する。すなわち、ビデオのビットストリーム表現からビデオのブロックへの変換は、判断又は決定に基づいて有効化されているビデオ処理ツール又はビデオ処理モードを使用して実行されるであろう。
【0110】
開示されている技術の複数の実施形態のうちのいくつかは、ビデオ処理ツール又はビデオ処理モードを無効化する判断又は決定を行うことを含む。ある1つの例として、ビデオ処理ツール又はビデオ処理モードが無効化されているときに、符号化器は、ビデオのブロックのビデオのビットストリーム表現への変換の際に、そのツール又はモードを使用しないであろう。他の例として、ビデオ処理ツール又はビデオ処理モードが無効化されているときに、デコーダは、ビットストリームが、判断又は決定に基づいてすでに無効化されているビデオ処理ツール又はビデオ処理モードを使用して修正されていないという知識を使用して、そのビットストリームを処理するであろう。
【0111】
本明細書において、"ビデオ処理"の語は、ビデオ符号化、ビデオ復号化、ビデオ圧縮、又はビデオ解凍を指し示してもよい。例えば、ビデオ圧縮アルゴリズムは、ビデオのピクセル表現から対応するビットストリーム表現への変換又はその逆の変換の際に適用されてもよい。現在のビデオブロックのビットストリーム表現は、例えば、構文によって定義されるように、そのビットストリームの中の同じ場所に配置されているか又は複数の異なる場所に分散されているかのいずれかであるビットに対応してもよい。例えば、変換されコーディングされている誤差残差値について、また、ビットストリームの中のヘッダ及び他のフィールドの中のビットを使用して、あるマクロブロックを符号化してもよい。
【0112】
複数の節の以下の第1のセットは、前複数の実施形態のうちのいくつかによって実装されてもよい。
【0113】
以下の節は、(例えば、項目1等の)以前の節の中で記載されている項目によって説明されている追加的な技術とともに実装されてもよい。
【0114】
1. (例えば、
図12に示されている方法1200等の)ビデオ処理の方法であって、
輝度ブロック及び前記輝度ブロックと同じ場所に配置されている彩度ブロックを含むビデオユニットと前記ビデオユニットのコーディングされている表現との間の変換のために、前記輝度ブロックの前記変換のために使用される輝度重みと彩度重みを整列させることによって、三角区分化モード(TPM)を使用して、前記彩度ブロックの前記変換のために使用される前記彩度重みを決定するステップ(1202)と、
前記決定の結果に基づいて、前記変換を実行するステップ(1204)と、を含む方法。
【0115】
2. 前記彩度重みは、前記輝度重みの関数として決定される、節1に記載の方法。
【0116】
3. 前記彩度重みは、前記輝度重みのサブセットである、節1乃至節2のうちのいずれかに記載の方法。
【0117】
4. 彩度重みは、前記彩度のブロックと一致する前記輝度のブロックのサイズを等しくした部分(equal-sized portion)のための輝度重みと等しい、節1乃至節3のうちのいずれかに記載の方法。
【0118】
以下の節は、(例えば、項目2等の)以前の節の中で記載されている項目によって説明されている追加的な技術とともに実装されてもよい。
【0119】
5. ビデオ処理の方法であって、
輝度ブロック及び前記輝度ブロックと同じ場所に配置されている彩度ブロックを含むビデオユニットと前記ビデオユニットのコーディングされている表現との間の変換のために、前記輝度ブロックの特性又は前記ビデオユニットの特性に基づいて、三角区分化モード(TPM)を使用して、前記彩度ブロックの前記変換のために使用される彩度重みを決定するステップと、
前記決定の結果に基づいて、前記変換を実行するステップと、を含む方法。
【0120】
6. 前記輝度ブロックの前記特性は、前記輝度ブロックの高さ又は幅を含む、節5に記載の方法。
【0121】
7. 前記ビデオユニットの前記特性は、前記ビデオユニットのカラーフォーマット又は前記ビデオユニットの彩度サブサンプリング比を含む、節5乃至節6のうちのいずれかに記載の方法。
【0122】
8. 前記彩度重みは、さらに、前記彩度ブロックの色成分識別情報に依存する、節5乃至節7のうちのいずれかに記載の方法。
【0123】
以下の節は、(例えば、項目3等の)以前の節の中で記載されている項目によって説明されている追加的な技術とともに実装されてもよい。
【0124】
9. 前記彩度重み及び/又は前記輝度重みは、整数に等しい、節1乃至節8のうちのいずれかに記載の方法。
【0125】
以下の節は、(例えば、項目4等の)以前の節の中で記載されている項目によって説明されている追加的な技術とともに実装されてもよい。
【0126】
10. ビデオ処理の方法であって、
輝度ブロック及び前記輝度ブロックと同じ場所に配置されている彩度ブロックを含むビデオのビデオユニットと前記ビデオユニットのコーディングされている表現との間の変換のために、前記ビデオユニットの特性に基づいて、三角区分化モード(TPM)が前記変換のために使用されるか否かを決定するステップと、
前記決定の結果に基づいて、前記変換を実行するステップと、を含む方法。
【0127】
11. 前記特性は、寸法比がmax(H,W)/min(H,W)に等しいということであり、max及びminは、最大関数及び最小関数であり、H及びWは、前記ビデオユニットのピクセルにおける高さ及び幅である、節10に記載の方法。
【0128】
12. 前記特性は、寸法比がAbs(Log2(cbWidth)-Log2(cbHeight))に等しいということであり、Absは、絶対値関数であり、cbWidth及びcbHeightは、前記彩度ブロックのピクセル幅及びピクセル高さである、節10に記載の方法。
【0129】
13. 前記決定の前記結果は、前記寸法比が2よりも大きいことに起因して、前記TPMを無効化するということである、節10に記載の方法。
【0130】
以下の節は、(例えば、項目5等の)以前の節の中で記載されている項目によって説明されている追加的な技術とともに実装されてもよい。
【0131】
14. 前記ビデオユニットの前記特性は、前記ビデオの前記変換のために使用される最大変換サイズを含む、節10に記載の方法。
【0132】
15. 決定する前記ステップは、前記ビデオユニットが前記最大変換サイズよりも大きい高さ又は幅を有することに起因して、前記TPMの使用を無効化する、節14に記載の方法。
【0133】
以下の節は、(例えば、項目6等の)以前の節の中で記載されている項目によって説明されている追加的な技術とともに実装されてもよい。
【0134】
16. 前記ビデオユニットの前記特性は、前記ビデオの前記変換の際に使用される最大コーディングユニットサイズを含む、節10に記載の方法。
【0135】
17. 決定する前記ステップは、前記ユニットの高さ又は幅が前記最大コーディングユニットサイズに等しいことに起因して、前記TMPの使用を無効化する、節16に記載の方法。
【0136】
以下の節は、(例えば、項目7等の)以前の節の中で記載されている項目によって説明されている追加的な技術とともに実装されてもよい。
【0137】
18. 前記ビデオユニットの前記特性は、前記ビデオユニットの高さ又は幅を含み、決定する前記ステップは、前記高さがNよりも大きいこと又は前記幅がMよりも大きいことに起因して、TMPの使用を無効化する、節10に記載の方法。
【0138】
以下の節は、(例えば、項目8等の)以前の節の中で記載されている項目によって説明されている追加的な技術とともに実装されてもよい。
【0139】
19. 前記ビデオユニットの前記特性は、前記ビデオユニットの高さ又は幅を含み、決定する前記ステップは、前記高さがNであること又は前記幅がMであることに起因して、TMPの使用を無効化する、節10に記載の方法。
【0140】
以下の節は、(例えば、項目9等の)以前の節の中で記載されている項目によって説明されている追加的な技術とともに実装されてもよい。
【0141】
20. 前記ビデオユニットの前記特性は、前記ビデオユニットの彩度フォーマットを含み、決定する前記ステップは、前記彩度フォーマットが特定のフォーマットであることに起因して、TMPの使用を無効化する、請求項10に記載の方法。
【0142】
前記特定のフォーマットは、4:0:0である、節20に記載の方法。
【0143】
以下の節は、(例えば、項目10等の)以前の節の中で記載されている項目によって説明されている追加的な技術とともに実装されてもよい。
【0144】
22. 前記ビデオユニットの前記特性は、前記ビデオユニットの前記変換の際に使用される参照ピクチャの解像度を含み、決定する前記ステップは、前記解像度が互いに異なることに起因して、TMPの使用を無効化する、節1に記載の方法。
【0145】
以下の節は、(例えば、項目11等の)以前の節の中で記載されている項目によって説明されている追加的な技術とともに実装されてもよい。
【0146】
23. 前記TPMモードが無効化されていると決定される場合に、前記コーディングされている表現は、TMP構文要素のための構文要素を省略する、節1乃至節22のうちのいずれかに記載の方法。
【0147】
24. 前記変換は、前記コーディングされている表現への前記ビデオの符号化を含む、節1乃至節23のうちのいずれかに記載の方法。
【0148】
25. 前記変換は、前記コーディングされている表現を復号化して、前記ビデオのピクセル値を生成することを含む、節1乃至節23のうちのいずれかに記載の方法。
【0149】
26. 節1乃至節25のうちの1つ又は複数に記載の方法を実装するように構成されるプロセッサを含むビデオ復号化装置。
【0150】
27. 節1乃至節25のうちの1つ又は複数に記載の方法を実装するように構成されるプロセッサを含むビデオ符号化装置。
【0151】
28. コンピュータコードを格納しているコンピュータプログラム製品であって、前記コードは、プロセッサによって実行されるときに、前記プロセッサに、節1乃至節25のうちのいずれかに記載の方法を実装させる、コンピュータプログラム製品。
【0152】
29. 本明細書において説明されている方法、装置、又はシステム。
【0153】
複数の節の第2のセットは、(例えば、項目1乃至5等の)以前の節の中で開示されている技術の特定の特徴及び態様を説明する。
【0154】
1. (例えば、
図16Aに示されている方法1610等の)ビデオ処理の方法であって、
規則にしたがって、彩度ブロックの複数の予測を混合することによって、ビデオの現在のブロックのうちの前記彩度ブロックの彩度予測ブロックを決定するのに使用される彩度重みを決定するステップ(1612)と、
前記決定にしたがって、前記現在のブロックと前記ビデオのコーディングされている表現との間の変換を実行するステップ(1614)と、を含み、
前記規則は、前記彩度重みが、前記現在のブロックのうちの同じ場所に配置されている輝度ブロックの輝度重みから決定されるということを規定し、
前記現在のブロックは、幾何学的区分化モードを使用してコーディングされる、方法。
【0155】
2. 前記規則は、前記彩度重みが前記輝度重みのサブセットであるということを規定する、節1に記載の方法。
【0156】
3. 前記現在のブロックの彩度フォーマットは、4:2:0又は4:2:2又は4:4:4である、節1又は節2に記載の方法。
【0157】
4. 前記規則は、M×Nのサイズを有する前記彩度ブロックに適用される前記彩度重みが、M×Nのサイズを有する前記現在のブロックの輝度ブロックに適用される輝度重みと同じであり、M及びNは、0よりも大きい整数であるということを規定する、節1に記載の方法。
【0158】
5. 前記現在のブロックの彩度フォーマットは、4:4:4である、節4に記載の方法。
【0159】
6. (例えば、
図16Bに示されている方法1620等の)ビデオ処理の方法であって、
規則にしたがって、彩度ブロックの複数の予測を混合することによって、ビデオの現在のブロックのうちの前記彩度ブロックの彩度予測ブロックを決定するのに使用される彩度重みを決定するステップ(1622)と、
前記決定にしたがって、前記現在のブロックと前記ビデオのコーディングされている表現との間の変換を実行するステップ(1624)と、を含み、
前記規則は、同じ場所に配置されている輝度ブロックの特性及び/又は現在のブロックの特性に依存し、
前記現在のブロックは、幾何学的区分化モードを使用してコーディングされる、方法。
【0160】
7. 前記同じ場所に配置されている輝度ブロックの前記特性は、前記同じ場所に配置されている輝度ブロックの高さ及び/又は幅を含み、前記現在のブロックの前記特性は、前記現在のブロックのカラーフォーマット及び/又は前記現在のブロックの彩度サブサンプリング比を含む、節6に記載の方法。
【0161】
8. 前記規則は、4:4:4の彩度フォーマットを有する前記彩度ブロックについて、前記彩度重みが、前記同じ場所に配置されている輝度ブロックに適用される輝度重みと同じであるということを規定する、節6に記載の方法。
【0162】
9. 前記規則は、4:2:0又は4:2:2の彩度フォーマットを有する前記彩度ブロックについて、前記彩度重みが、前記同じ場所に配置されている輝度ブロックに適用される輝度重みからサブサンプリングされるということを規定する、節6に記載の方法。
【0163】
10. 彩度重み、WeightC[x][y]は、WeightY[f(x)][g(y)]によって計算され、それにより、xは、0とW/subWidthC-1との間の整数であり、yは、0とH/subHeightC-1との間の整数であり、W及びHは、前記彩度ブロックの幅及び高さであり、subWidthC及びsubHeightCは、それぞれ、幅方向の彩度のサブサンプリング比及び高さ方向の彩度のサブサンプリング比を示し、WeightY[a][b]は、輝度重みを示し、aは、0とW-1との間の整数であり、bは、0とH-1との間の整数である、節9に記載の方法。
【0164】
11. 前記規則は、前記彩度重みが、前記同じ場所に配置されている輝度ブロックのサイズに依存し、複数の異なる色成分について同じであるということを規定する、節6に記載の方法。
【0165】
12. W×Hのサイズを有する彩度成分は、W×Hの前記サイズを有する輝度成分と同じ重みを使用し、それにより、W及びHは、それぞれ、同じ場所に配置されている輝度ブロックの幅及び高さを示す整数である、節11に記載の方法。
【0166】
13. 前記規則は、前記彩度重みが、前記同じ場所に配置されている輝度ブロックのサイズ及び前記ビデオユニットの色成分に依存するということを規定する、節6に記載の方法。
【0167】
14. 前記彩度重みは、前記ビデオユニットの複数の異なる色成分について異なっている、節13に記載の方法。
【0168】
15. 前記彩度重みは、2つの彩度成分について同じである、節13に記載の方法。
【0169】
16. 前記彩度重み及び/又は前記輝度重みは、整数である、節6乃至節15のうちのいずれかに記載の方法。
【0170】
17. 奇数整数の重み及び偶数整数の双方が許可される、節16に記載の方法。
【0171】
18. 前記彩度重み及び/又は前記輝度重みは、[M,N]の範囲にクリッピングされ、M及びNは、整数である、節6乃至節17のうちのいずれかに記載の方法。
【0172】
19. (例えば、
図16Cに示されている方法1630等の)ビデオ処理の方法であって、
ビデオの現在のブロックと前記ビデオのコーディングされている表現との間の変換を実行するステップ(1632)を含み、
前記変換の際に、前記現在のブロックの予測ブロックは、混合重みマスク(blending weight mask)にしたがって、前記現在のブロックの複数の予測を混合することによって決定され、
前記混合重みマスクは、規則にしたがって決定され、
前記現在のブロックは、幾何学的区分化モードを使用してコーディングされる、方法。
【0173】
20. 前記規則は、前記混合重みマスクが、N個の要素を含む1つ又は複数のあらかじめ定義されているテーブルに基づいて導出され、それにより、Nは0よりも大きい整数であるということを規定する、節19に記載の方法。
【0174】
21. 前記規則は、前記混合重みマスクが計算式から計算されるということを規定する、節19に記載の方法。
【0175】
22. 前記現在のブロックは、前記幾何学的区分化モードを使用してコーディングされ、前記幾何学的区分化モードは、角度区分化、水平区分化、又は垂直区分化に沿って、前記現在のブロックを区分化することによって、前記現在のブロックの2つ又はそれ以上のサブ領域を取得する、節1乃至節21のうちのいずれかに記載の方法。
【0176】
23. 前記変換は、前記ビデオを前記コーディングされている表現に符号化することを含む、節1乃至節22のうちのいずれかに記載の方法。
【0177】
24. 前記変換は、前記コーディングされている表現を復号化して、前記ビデオを生成することを含む、節1乃至節22のうちのいずれかに記載の方法。
【0178】
25. 節1乃至節24のうちのいずれか1つ又は複数に記載の方法を実装するように構成されるプロセッサを含む、ビデオ処理装置。
【0179】
26. プログラムコードを格納するコンピュータ読み取り可能な媒体であって、実行されるときに、プロセッサに、節1乃至節24のうちのいずれか1つ又は複数に記載の方法を実装させる、コンピュータ読み取り可能な媒体。
【0180】
27. 上記で説明されている方法のうちのいずれかにしたがって生成されるコーディングされている表現又はビットストリーム表現を格納するコンピュータ読み取り可能な媒体。
【0181】
複数の節の第3のセットは、(例えば、項目6乃至14等の)以前の節の中で開示されている技術の特定の特徴及び態様を説明する。
【0182】
1. (例えば、
図16Dに示されている方法1640等の)ビデオ処理の方法であって、
ビデオの現在のブロックと前記ビデオのコーディングされている表現との間の変換のために、前記現在のブロックの特性に基づいて、幾何学的区分化モードの前記現在のブロックへの適用可能性を決定するステップ(1642)と、
前記決定に基づいて前記変換を実行するステップ(1644)と、を含む、方法。
【0183】
2. 前記現在のブロックの前記特性は、max(H,W)/min(H,W)として得られる寸法比を含み、max及びminは、最大関数及び最小関数であり、H及びWは、前記ビデオブロックの高さ及び幅である、節1に記載の方法。
【0184】
3. 前記現在のブロックの前記特性は、前記現在のブロックの幅と高さとの間の差を含む、節1に記載の方法。
【0185】
4. 前記差は、Abs(Log2(cbWidth)-Log2(cbHeight))として得られ、Absは、絶対値関数であり、cbWidth及びcbHeightは、前記現在にブロックを含むコーディングブロックの幅及び高さである、節3に記載の方法。
【0186】
5. 決定する前記ステップは、前記現在のブロックの幅(W)と高さ(H)との間の比がXよりも大きいことに起因して、前記幾何学的区分化モードが無効化されているということを決定し、Xは、整数である、節1に記載の方法。
【0187】
6. 決定する前記ステップは、W/Hの前記比がT1よりも大きいことに起因して、前記幾何学的区分化モードが無効化されているということを決定し、T1は、整数である、節5に記載の方法。
【0188】
T1は、2に等しい、節6に記載の方法。
【0189】
8. 決定する前記ステップは、W/Hの前記比がT2よりも大きいことに起因して、前記幾何学的区分化モードが無効化されているということを決定し、T2は、整数である、節5に記載の方法。
【0190】
T2は、2に等しい、節8に記載の方法。
【0191】
10. 前記現在のブロックの前記特性は、前記ビデオの前記変換のために使用される最大変換サイズを含む、節1に記載の方法。
【0192】
11. 決定する前記ステップは、前記現在のブロックが前記最大変換サイズよりも大きい高さ又は幅を有することに起因して、前記幾何学的区分化モードが無効化されているということを決定する、節10に記載の方法。
【0193】
12. 前記現在のブロックの前記特性は、前記ビデオの前記変換のために使用される最大コーディングユニットサイズを含む、節1に記載の方法。
【0194】
13. 決定する前記ステップは、前記現在のブロックの高さ又は幅が前記最大コーディングユニットサイズに等しいことに起因して、前記幾何学的区分化モードが無効化されているということを決定する、節12に記載の方法。
【0195】
14. 前記現在のブロックの前記特性は、前記現在のブロックの高さ又は幅を含み、決定する前記ステップは、前記高さがNよりも大きいこと及び/又は前記幅がMよりも大きいことに起因して、前記幾何学的区分化モードが無効化されているということを決定し、N及びMは、整数である、節1に記載の方法。
【0196】
15. N=M=64である、節14に記載の方法。
【0197】
16. 前記現在のブロックの前記特性は、前記現在のブロックの高さ又は幅を含み、決定する前記ステップは、前記高さがNであること及び/又は前記幅がMであることに起因して、前記幾何学的区分化モードが無効化されているということを決定する、節1に記載の方法。
【0198】
17. N=M=4である、節16に記載の方法。
【0199】
18. 前記現在のブロックの前記特性は、前記現在のブロックの彩度フォーマットを含み、決定する前記ステップは、前記彩度フォーマットが特定のフォーマットであることに起因して、前記幾何学的区分化モードが無効化されているということを決定する、節1に記載の方法。
【0200】
19. 前記特定のフォーマットは、4:0:0、4:4:4、又は4:2:2である、節18に記載の方法。
【0201】
20. 前記現在のブロックの前記特性は、前記現在のブロックの前記変換の際に使用される参照ピクチャの解像度を含み、決定する前記ステップは、前記解像度が互いに異なることに起因して、前記幾何学的区分化モードが無効化されているということを決定する、節1に記載の方法。
【0202】
21. 前記現在のブロックの前記特性は、前記現在のブロックの前記変換の際に使用される参照ピクチャの解像度を含み、決定する前記ステップは、前記参照ピクチャのうちの1つの解像度が前記現在のブロックを含む現在のピクチャの解像度とは異なることに起因して、前記幾何学的区分化モードが無効化されているということを決定する、節1に記載の方法。
【0203】
22. 前記変換は、前記2つ又はそれ以上のサブ領域の複数の予測の重み付け混合として、前記現在のブロックのための予測ブロックを決定することを含み、前記符号化の際に前記現在のブロックの残差に単一の変換を適用するか、又は、復号化の際に前記コーディングされている表現から解析される前記現在のブロックの係数に単一の逆変換を適用する、節1乃至節21のうちのいずれかに記載の方法。
【0204】
23. (例えば、
図16Cに示されている方法1630等の)ビデオ処理の方法であって、
ビデオの現在のブロックと前記ビデオのコーディングされている表現との間の変換を実行するステップ(1632)を含み、
前記コーディングされている表現は、フォーマット規則に準拠し、前記フォーマット規則は、変換の際に、前記現在のブロックについて幾何学的区分化モードを無効化する場合に、前記幾何学的区分化モードを記述する構文要素が、前記コーディングされている表現の中に含まれないということを規定する、方法。
【0205】
24. 前記フォーマット規則は、前記構文要素が前記コーディングされている表現の中に含まれない場合に、前記構文要素は、0であると推定されるということを規定する、節23に記載の方法。
【0206】
25. 前記フォーマット規則は、前記幾何学的区分化モードの利用不可能性に起因して、前記幾何学的区分化モードに関連するセマンティック変数が、0であると推定されるということを規定する、節23に記載の方法。
【0207】
26. 前記セマンティック変数は、前記幾何学的区分化モードの無効化を示すフラグを含む、節25に記載の方法。
【0208】
27. 前記現在のブロックは、前記幾何学的区分化モードを使用してコーディングされ、前記幾何学的区分化モードは、角度区分化、水平区分化、又は垂直区分化に沿って、前記現在のブロックを区分化することによって、前記現在のブロックの2つ又はそれ以上のサブ領域を取得する、節1乃至節26のうちのいずれかに記載の方法。
【0209】
28. 前記変換の前記実行は、前記現在のブロックから前記コーディングされている表現を生成することを含む、節1乃至節27のうちのいずれかに記載の方法。
【0210】
29. 前記変換の前記実行は、前記コーディングされている表現から前記現在のブロックを生成することを含む、節1乃至節27のうちのいずれかに記載の方法。
【0211】
30. 節1乃至節29のうちのいずれか1つ又は複数に記載の方法を実装するように構成されるプロセッサを含むビデオ処理装置。
【0212】
31. プログラムコードを格納するコンピュータ読み取り可能な媒体であって、実行されるときに、プロセッサに、節1乃至節29のうちのいずれか1つ又は複数に記載の方法を実装させる、コンピュータ読み取り可能な媒体。
【0213】
32. 上記で説明されている方法のいずれかにしたがって生成されるコーディングされている表現又はビットストリーム表現を格納するコンピュータ読み取り可能な媒体。
【0214】
上記の節において、変換を実行することは、符号化操作又は復号化操作の際に以前の判断ステップの結果を使用して、変換結果に到達することを含む。
【0215】
ディジタル電子回路によって、或いは、本明細書に開示されている構造及びそれらの構造的な等価物を含むコンピュータソフトウェア、ファームウェア、又はハードウェア、又はそれらの1つ又は複数の組み合わせによって、本明細書において説明されている開示されている及び他の解決方法、例、実施形態、モジュール、及び機能操作を実装してもよい。1つ又は複数のコンピュータプログラム製品として、すなわち、データ処理装置による実行のために又はデータ処理装置の動作を制御するために、コンピュータ読み取り可能な媒体において符号化されているコンピュータプログラム命令の1つ又は複数のモジュールとして、開示されている及び他の実施形態を実装してもよい。コンピュータ読み取り可能な媒体は、機械読み取り可能な記憶デバイス、機械読み取り可能な記憶基板、メモリデバイス、機械読み取り可能な伝搬される信号に影響を与える媒質の組成、或いは、それらの1つ又は複数の組み合わせであってもよい。"データ処理装置"の語は、例として、データを処理するためのプログラム可能なプロセッサ、コンピュータ、或いは、複数のプロセッサ又はコンピュータを含む装置、デバイス、及び機械のすべてを包含する。装置は、ハードウェアのほかに、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ又は複数の組み合わせを構成するコードといったように、対象のコンピュータプログラムの実行環境を生成するコードを含んでもよい。伝搬される信号は、例えば、適切な受信機装置に伝送するための情報を符号化するたのに生成される機械生成電気信号、光信号、又は電磁信号等の人工的に生成される信号である。
【0216】
(また、プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られている)コンピュータプログラムは、コンパイルされている言語又は解釈された言語を含むいずれかの形態のプログラミング言語によって記述されてもよく、そのコンピュータプログラムは、独立型のプログラムとして、又は、あるコンピューティング環境で使用するのに適しているモジュール、構成要素、サブルーチン、又は他のユニットとして、いずれかの形態で展開されてもよい。コンピュータプログラムは、必ずしも、ファイルシステムの中のファイルに対応するわけではない。(例えば、マークアップ言語文書の中に格納されている1つ又は複数のスクリプト等の)他のプログラム又はデータを保持するファイルの一部分の中に、対象となるプログラムに専用の単一ファイルの中に、或いは、(例えば、1つ又は複数のモジュール、サブプログラム、又はコードの複数の部分を格納するファイル等の)複数の調整されたファイルの中に、プログラムを格納してもよい。1つのコンピュータ、或いは、1つのサイトに位置しているか、又は、複数のサイトにわたって分散されるとともに、通信ネットワークによって相互接続される複数のコンピュータにおいて実行されるように、コンピュータプログラムを展開してもよい。
【0217】
本明細書において説明されている複数のプロセス及び論理フローは、1つ又は複数のコンピュータプログラムを実行する1つ又は複数のプログラム可能なプロセッサによって実行されて、入力データに対して動作し、そして、出力を生成することによって複数の機能を実行することが可能である。それらの複数のプロセス及び論理フローは、また、例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)等の特殊目的論理回路によって実行されてもよく、装置は、また、それらの特殊目的論理回路として実装されてもよい。
【0218】
あるコンピュータプログラムの実行に適しているプロセッサは、例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの双方、及び、任意の種類のディジタルコンピュータの任意の1つ又は複数のプロセッサを含む。一般的に、プロセッサは、読み出し専用メモリ又はランダムアクセスメモリ又はその双方から命令及びデータを受信するであろう。コンピュータの不可欠な要素は、命令を実行するためのプロセッサ、及び、命令及びデータを格納するための1つ又は複数のメモリデバイスである。一般的に、コンピュータは、また、例えば、データを格納するための磁気ディスク、磁気光ディスク、又は光ディスク等の1つ又は複数の大容量記憶デバイスからデータを受信し、又は、それらの大容量記憶デバイスにデータを転送するように動作可能に結合される。一方で、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを格納するのに適しているコンピュータ読み取り可能な媒体は、例として、EPROM、EEPROM、及び、フラッシュメモリデバイス等の半導体メモリデバイス、例えば、内部ハードディスク又は取り外し可能なディスク等の磁気ディスク、磁気光ディスク、及び、ROM及びDVD-ROMディスクを含むあらゆる形態の不揮発性メモリ、媒体、及びメモリデバイスを含む。プロセッサ及びメモリは、特殊目的論理回路によって補足されてもよく又は特殊目的論理回路の中に内蔵されてもよい。
【0219】
本明細書は、数多くの細部を含んでいるが、これらは、いずれかの発明の範囲又は請求項に記載されている発明の範囲に対する限定として解釈されるべきではなく、むしろ、特定の技術の特定の実施形態に特有の特徴の説明であると解釈されるべきである。個別の実施形態の文脈の中で本明細書において説明されている特定の特徴は、単一の実施形態の中で組み合わせて実装されてもよい。逆に、単一の実施形態の文脈において説明されているさまざまな特徴は、また、複数の実施形態において個別に、又は、いずれかの適切なサブコンビネーションによって実装されてもよい。さらに、複数の特徴は、特定の組み合わせにおいて動作するとして上記で説明され、最初にそのように特許請求の範囲に記載されてもよいが、特許請求の範囲に記載されている組み合わせのうちの1又は複数の特徴は、場合によっては、その組み合わせから切り出されてもよく、特許請求の範囲に記載されている組み合わせは、サブコンビネーション又はサブコンビネーションの変形を対象としてもよい。
【0220】
同様に、複数の動作が特定の順序で図面の中に示されているが、それらの図面の中の複数の動作は、望ましい結果を達成するために、示されている特定の順序で又は生起する順序でそのような動作を実行すること、又は、図示されている動作のすべてを実行することが必要とされていると理解されるべきではない。さらに、本明細書において説明されている複数の実施形態の中のさまざまなシステム構成要素の分離は、実施形態のすべてにおいてそのような分離を必要とすると理解されるべきではない。
【0221】
少数の実装及び例のみが説明されているが、本明細書において説明され、図示されている事項に基づいて、他の実装、拡張、及びバリエーションを行ってもよい。