(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-07
(45)【発行日】2023-11-15
(54)【発明の名称】カラーフォーマットに基づいたコーディングモード決定
(51)【国際特許分類】
H04N 19/119 20140101AFI20231108BHJP
H04N 19/157 20140101ALI20231108BHJP
H04N 19/176 20140101ALI20231108BHJP
H04N 19/186 20140101ALI20231108BHJP
H04N 19/70 20140101ALI20231108BHJP
【FI】
H04N19/119
H04N19/157
H04N19/176
H04N19/186
H04N19/70
(21)【出願番号】P 2022513853
(86)(22)【出願日】2020-09-02
(86)【国際出願番号】 CN2020112974
(87)【国際公開番号】W WO2021043157
(87)【国際公開日】2021-03-11
【審査請求日】2022-03-09
(31)【優先権主張番号】PCT/CN2019/103959
(32)【優先日】2019-09-02
(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)【発明者】
【氏名】ザン,カイ
【審査官】岩井 健二
(56)【参考文献】
【文献】Tianyang Zhou, and Tomohiro Ikai,Non-CE3: Intra chroma partitioning and prediction restriction,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-M0065,13th Meeting: Marrakesh, MA,2019年01月,pp.1-4
【文献】Zhi-Yi Lin, et al.,Title: CE3-related: Constrained partitioning of chroma intra CBs,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-N0082-v3,14th Meeting: Geneva, CH,2019年03月,pp.1-4
【文献】Benjamin Bross, Jianle Chen, and Shan Liu,Versatile Video Coding (Draft 6),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-O2001 (version 14),15th Meeting: Gothenburg, SE,2019年07月31日,pp.60-66,134-143
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
ビデオデータを処理する方法であって、
ルーマ親ブロック及びクロマ親ブロックを含むビデオスライスとビデオのビットストリームとの間の変換のために、前記ルーマ親ブロック及び前記クロマ親ブロックをそれぞれ1つ以上のルーマブロック及び1つ以上のクロマブロックに分割するかどうかを決定するステップであり、前記ルーマブロックのモードタイプ又は前記クロマブロックのモードタイプは、変数の値に基づいて決定され、前記変数の前記値は、前記ビデオスライスのカラーフォーマットに基づいて導出される、ステップと、
前記決定に基づいて前記変換を実行するステップと
を含み、
前記ルーマ親ブロックは、再帰的パーティション動作を含むルーマパーティション方式に基づいてルーマコーディングツリーブロック(CTB)から生成され、
前記クロマ親ブロックは、前記ルーマパーティション方式と同じ再帰的パーティション動作を有するクロマパーティション方式に基づいてクロマコーディングツリーブロック(CTB)から生成される、方法。
【請求項2】
前記ビデオスライスの前記カラーフォーマットが4:0:0又は4:4:4である場合に、前記変数の前記値は0となるように設定される、請求項1に記載の方法。
【請求項3】
前記変数の前記値が0である場合に、前記ルーマブロックの前記モードタイプ及び前記クロマブロックの前記モードタイプはMODE_TYPE_ALLであり、
MODE_TYPE_ALLの値を有する前記モードタイプは、全てのコーディングモードが前記ルーマブロック及び前記クロマブロックに利用可能であることを指定する、請求項2に記載の方法。
【請求項4】
前記変数の前記値が0である場合に、モード制約フラグは前記ビットストリームに含まれず、
前記モード制約フラグの値は、インター予測コーディングモードが使用可能であるかどうかを指定する、請求項2又は3に記載の方法。
【請求項5】
前記変数の前記値は、前記ルーマ親ブロックのサイズ及び前記ルーマ親ブロックの第1の所定のパーティションモードに更に基づいて導出される、請求項1乃至4のうちいずれか1項に記載の方法。
【請求項6】
前記ルーマ親ブロックが64のサイズを有し、前記ビデオスライスの前記カラーフォーマットが4:0:0及び4:4:4に等しくなく、前記第1の所定のパーティションモードがQT(四分木)分割であることに応じて、前記変数は1に等しい、請求項5に記載の方法。
【請求項7】
前記ルーマ親ブロックが32のサイズを有し、前記ビデオスライスの前記カラーフォーマットが4:0:0及び4:4:4に等しくなく、前記第1の所定のパーティションモードがBT(二分木)分割であることに応じて、前記変数は1に等しい、請求項5に記載の方法。
【請求項8】
前記ビデオスライスのスライスタイプがIスライスに等しく、前記ビデオスライスの前記カラーフォーマットが4:2:0であり、前記ルーマ親ブロックが64のサイズを有し、前記第1の所定のパーティションモードがBT(二分木)分割であることに応じて、前記変数は1となるように設定され、
前記ビデオスライスの前記カラーフォーマットが4:2:2であり、前記ルーマ親ブロックが64のサイズを有し、前記第1の所定のパーティションモードがBT(二分木)分割であることに応じて、前記変数は0となるように設定される、請求項5に記載の方法。
【請求項9】
前記ビデオスライスのスライスタイプがIスライスに等しく、前記ビデオスライスの前記カラーフォーマットが4:2:0であり、前記ルーマ親ブロックが128のサイズを有し、前記第1の所定のパーティションモードがTT(三分木)分割であることに応じて、前記変数は1となるように設定され、
前記ビデオスライスの前記カラーフォーマットが4:2:2であり、前記ルーマ親ブロックが128のサイズを有し、前記第1の所定のパーティションモードがTT(三分木)分割であることに応じて、前記変数は0となるように設定される、請求項5に記載の方法。
【請求項10】
前記変数の前記値が1であることに応じて、前記クロマ親ブロックは分割されることを許可されず、前記第1の所定のパーティションモードは前記ルーマ親ブロックについて許可される、請求項5に記載の方法。
【請求項11】
前記ビデオスライスのスライスタイプがIスライスに等しくなく、前記ビデオスライスの前記カラーフォーマットが4:2:0であり、前記ルーマ親ブロックが64のサイズを有し、前記第1の所定のパーティションモードがBT(二分木)分割であることに応じて、前記変数は2となるように設定され、
前記ビデオスライスの前記カラーフォーマットが4:2:2であり、前記ルーマ親ブロックが64のサイズを有し、前記第1の所定のパーティションモードがBT(二分木)分割であることに応じて、前記変数は0となるように設定される、請求項5に記載の方法。
【請求項12】
前記ビデオスライスのスライスタイプがIスライスに等しくなく、前記ビデオスライスの前記カラーフォーマットが4:2:0であり、前記ルーマ親ブロックが128のサイズを有し、前記第1の所定のパーティションモードがTT(三分木)分割であることに応じて、前記変数は2となるように設定され、
前記ビデオスライスの前記カラーフォーマットが4:2:2であり、前記ルーマ親ブロックが128のサイズを有し、前記第1の所定のパーティションモードがTT(三分木)分割であることに応じて、前記変数は0となるように設定される、請求項5に記載の方法。
【請求項13】
前記変数の前記値が2であることに応じて、モード制約フラグは前記ビットストリームに含まれ、
前記モード制約フラグは、インター予測コーディングモードが使用可能であるかどうかを指定する、請求項5に記載の方法。
【請求項14】
前記変数の前記値が2であり、前記モード制約フラグが、インター予測コーディングモードが使用不可能であることを指定することに応じて、前記クロマ親ブロックは分割されることを許可されず、前記第1の所定のパーティションモードは前記ルーマ親ブロックについて許可される、請求項13に記載の方法。
【請求項15】
前記変換は、前記ビデオを前記ビットストリームに符号化することを含む、請求項1乃至14のうちいずれか1項に記載の方法。
【請求項16】
前記変換は、前記ビットストリームから前記ビデオを復号することを含む、請求項1乃至14のうちいずれか1項に記載の方法。
【請求項17】
プロセッサと、命令を有する非一時的なメモリとを含む、ビデオデータを処理するための装置であって、
前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
ルーマ親ブロック及びクロマ親ブロックを含むビデオスライスとビデオのビットストリームとの間の変換のために、前記ルーマ親ブロック及び前記クロマ親ブロックをそれぞれ1つ以上のルーマブロック及び1つ以上のクロマブロックに分割するかどうかを決定するステップであり、前記ルーマブロックのモードタイプ又は前記クロマブロックのモードタイプは、変数の値に基づいて決定され、前記変数の前記値は、前記ビデオスライスのカラーフォーマットに基づいて導出される、ステップと、
前記決定に基づいて前記変換を実行するステップと
を実行させ、
前記ルーマ親ブロックは、再帰的パーティション動作を含むルーマパーティション方式に基づいてルーマコーディングツリーブロック(CTB)から生成され、
前記クロマ親ブロックは、前記ルーマパーティション方式と同じ再帰的パーティション動作を有するクロマパーティション方式に基づいてクロマコーディングツリーブロック(CTB)から生成される、装置。
【請求項18】
非一時的なコンピュータ可読記憶媒体であって、
プロセッサに、
ルーマ親ブロック及びクロマ親ブロックを含むビデオスライスとビデオのビットストリームとの間の変換のために、前記ルーマ親ブロック及び前記クロマ親ブロックをそれぞれ1つ以上のルーマブロック及び1つ以上のクロマブロックに分割するかどうかを決定するステップであり、前記ルーマブロックのモードタイプ又は前記クロマブロックのモードタイプは、変数の値に基づいて決定され、前記変数の前記値は、前記ビデオスライスのカラーフォーマットに基づいて導出される、ステップと、
前記決定に基づいて前記変換を実行するステップと
を実行させる命令を記憶しており、
前記ルーマ親ブロックは、再帰的パーティション動作を含むルーマパーティション方式に基づいてルーマコーディングツリーブロック(CTB)から生成され、
前記クロマ親ブロックは、前記ルーマパーティション方式と同じ再帰的パーティション動作を有するクロマパーティション方式に基づいてクロマコーディングツリーブロック(CTB)から生成される、非一時的なコンピュータ可読記憶媒体。
【請求項19】
ビデオのビットストリームを記憶するための方法であって、
ルーマ親ブロック及びクロマ親ブロックを含むビデオスライスについて、前記ルーマ親ブロック及び前記クロマ親ブロックをそれぞれ1つ以上のルーマブロック及び1つ以上のクロマブロックに分割するかどうかを決定するステップであり、前記ルーマブロックのモードタイプ又は前記クロマブロックのモードタイプは、変数の値に基づいて決定され、前記変数の前記値は、前記ビデオスライスのカラーフォーマットに基づいて導出される、ステップと、
前記決定に基づいて前記ビットストリームを生成するステップと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップと
を含み、
前記ルーマ親ブロックは、再帰的パーティション動作を含むルーマパーティション方式に基づいてルーマコーディングツリーブロック(CTB)から生成され、
前記クロマ親ブロックは、前記ルーマパーティション方式と同じ再帰的パーティション動作を有するクロマパーティション方式に基づいてクロマコーディングツリーブロック(CTB)から生成される、
方法。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
本願は、2020年9月2日付で出願された国際特許出願第PCT/CN2020/112974号に基づくものであり、当該出願は、2019年9月2日付けで出願された国際特許出願第PCT/CN2019/103959号に対する優先権及びその利点を主張する。全ての上記の特許出願の全内容が参照により組み込まれる。
【0002】
[技術分野]
本文書は、ビデオ及びイメージの符号化及び復号技術に関係がある。
【背景技術】
【0003】
デジタルビデオは、インターネット及び他のデジタル通信ネットワーク上での最大のバンド幅使用を占めている。ビデオを受信し表示することができるユーザデバイスの接続数が増えるにつれて、デジタルビデオ利用のためのバンド幅需要は増え続けることが予想される。
【発明の概要】
【0004】
開示されている技術は、参照ピクチャがビデオ符号化又は復号で使用されるビデオ又はイメージデコーダ又はエンコーダの実施形態によって使用され得る。
【0005】
一例となる態様では、ビデオ処理の方法が開示される。方法は、ビデオのビデオ領域とビデオのコーディング表現との間の変換のために、ルールに従ってビデオのカラーフォーマットに基づいてビデオ領域のイントラコーディング特性を決定するステップと、イントラコーディング特性に従って変換を実行するステップとを含む。
【0006】
他の例となる態様では、ビデオ処理の他の方法が開示される。方法は、ビデオの現在ビデオブロックとビデオのコーディング表現との間の変換を実行するステップを含み、コーディング表現はフォーマットルールに準拠し、フォーマットルールは、変換のためにインターコーディングモードの使用を制限するMODE_TYPE_NO_INTER、又は変換のためにイントラモードの使用を制限するMODE_TYPE_NO_INTRAのいずれかに等しい、現在ビデオブロックのコーディングモードを示すシンタックス要素modeTypeを指定する。
【0007】
他の例となる態様では、ビデオ処理の他の方法が開示される。方法は、ビデオとビデオのコーディング表現との間の変換を実行するステップを含み、コーディング表現は、ビデオのクロマフォーマットが4:2:2、4:0:0又は4:4:4である場合に予測モード制約を示すフラグがコーディング表現に含まれないことを指定するフォーマットルールに準拠する。
【0008】
他の例となる態様では、ビデオ処理の他の方法が開示される。方法は、ビデオのビデオ領域とビデオのコーディング表現との間の変換のために、ルールに従ってビデオ領域への最小クロマイントラ予測ブロックのサイズに関する制限が有効化されているかどうか及び/又はどのように有効化されているかを決定するステップと、決定に基づいて変換を実行するステップとを含み、ルールは、ビデオのカラーフォーマットが4:2:0であるか4:2:2であるかに依存する。
【0009】
他の例となる態様では、ビデオ処理の他の方法が開示される。方法は、ビデオのビデオ領域とビデオのコーディング表現との間の変換のために、ルールに従ってビデオ領域への最小クロマイントラ予測ブロックのサイズに関する制限が有効であるかどうかを決定するステップと、決定に基づいて変換を実行するステップとを含み、ルールは、ビデオのカラーフォーマット及び/又はビデオ領域の幅(M)及び高さ(N)に依存し、ルールは、BT(二分木)分割を有するコーディングツリーノードであるビデオ領域について、最小クロマイントラ予測ブロックに関する制限が、1)ビデオのカラーフォーマットが4:2:2であり、かつ、2)M及びNの乗算が値の集合からの値である場合に無効であることを更に指定し、値の集合は64を含む。
【0010】
他の例となる態様では、ビデオ処理の他の方法が開示される。方法は、最小クロマイントラ予測ブロックサイズに関する制限に従って、ビデオのビデオ領域とビデオのコーディング表現との間の変換を実行するステップを含み、コーディング表現は、ビデオの4:2:2カラーフォーマットのために、コーディング表現におけるシンタックスフィールドの値を指定するフォーマットルールに準拠する。
【0011】
他の例となる態様では、ビデオ処理の他の方法が開示される。方法は、ビデオの現在ビデオブロックとビデオのコーディング表現との間の変換のために、ルールに従って現在ビデオブロックへのパーティション方式の適用可能性を決定するステップと、決定に基づいて変換を実行するステップとを含む。
【0012】
他の例となる態様では、ビデオ処理の他の方法が開示される。方法は、ビデオのビデオブロックとビデオのコーディング表現との間の変換のために、ルールに従ってインターモードが有効であるかどうかを決定するステップと、決定に基づいて変換を実行するステップとを含み、ルールは、ルーマサンプルのデュアルツリーパーティションがビデオブロックについて有効である場合にインターモードが有効であることを指定する。
【0013】
他の例となる態様では、ビデオ処理の他の方法が開示される。方法は、ビデオのビデオ領域とビデオのコーディング表現との間の変換のために、ルールに基づいて、パレットモードの使用がビデオ領域について許可されているかどうかを決定するステップと、決定に基づいて変換を実行するステップとを含み、パレットモードは、代表サンプル値のパレットを使用してビデオ領域を符号化することを含む。
【0014】
他の例となる態様では、ビデオ処理の他の方法が開示される。方法は、ビデオの現在ビデオブロックとビデオのコーディング表現との間の変換を実行するステップを含み、コーディング表現はフォーマットルールに準拠し、フォーマットルールは、変換のためにイントラブロックコピーモードの使用を可能にするMODE_TYPE_IBC、又は変換のためにパレットモードの使用を可能にするMODE_TYPE_PALETTEを含むシンタックス要素modeTypeを指定し、イントラブロックコピーモードは、現在ビデオブロックを含むビデオフレームを指し示すブロックベクトルを少なくとも使用して現在ビデオブロックを符号化することを含み、パレットモードは、代表サンプル値のパレットを使用して現在ビデオブロックを符号化することを含む。
【0015】
他の例となる態様では、ビデオ処理の他の方法が開示される。方法は、ビデオの現在ビデオブロックとビデオのコーディング表現との間の変換のために、コーディング表現における現在ビデオブロックを表現するために使用されるコーディングモードタイプと現在ビデオブロックの寸法とに依存するルールに従って、特定のパーティション方式が現在ビデオブロックについて許可されているかどうかを決定するステップと、決定に基づいて変換を実行するステップとを含む。
【0016】
他の例となる態様では、ビデオ処理の他の方法が開示される。方法は、ビデオのビデオブロックとビデオのコーディング表現との間の変換を実行するステップを含み、コーディング表現はフォーマットルールに準拠し、フォーマットルールは、ビデオブロックの特性が、コーディング表現におけるシンタックス要素がビデオブロックの予測モードを示すかどうかを制御することを指定する。
【0017】
他の例となる態様では、ビデオ処理の他の方法が開示される。方法は、ビデオの第1成分のビデオ領域とビデオのコーディング表現との間の変換を実行するステップを含み、コーディング表現はフォーマットルールに準拠し、フォーマットルールは、ビデオ領域についての差分量子化パラメータを示すためにコーディング表現においてシンタックスフィールドが構成されているかどうか及び/又はどのように構成されているかが、第1成分のサンプルを分割するために使用される分割方式に依存することを指定する。
【0018】
他の例となる態様では、ビデオ処理の他の方法が開示される。方法は、ルールに従ってビデオの第1成分のビデオ領域とビデオのコーディング表現との間の変換を実行するステップを含み、ルールは、デュアルツリー及び/又はローカルデュアルツリーコーディング構造がビデオ領域に適用される場合に、第1成分の差分量子化パラメータに関連する変数がビデオの第2成分の復号又はパースのプロセス中に変更されないことを指定する。
【0019】
更なる他の例となる態様では、上記の方法は、プロセッサを含むビデオエンコーダ装置によって実装されてもよい。
【0020】
更なる他の例となる態様では、上記の方法は、プロセッサを含むビデオデコーダ装置によって実装されてもよい。
【0021】
更なる他の例となる態様では、これらの方法は、プロセッサ実行可能命令の形で具現化され、コンピュータ可読プログラム媒体に記憶されてもよい。
【0022】
これら及び他の態様は、本文書で更に記載される。
【図面の簡単な説明】
【0023】
【
図1】イントラブロックコピー
コーディングツールの例を示す。
【
図2】パレットモードで
コーディングされたブロックの例を示す。
【
図3】パレットエントリを通知するためのパレット予測子の使用の例を示す。
【
図4】水平及び垂直トラバーススキャンの例を示す。
【
図5】パレットインデックスの
コーディングの例を示す。
【
図8】ALFフィルタ形状(クロマ:5×5ダイヤモンド、ルーマ:7×7ダイヤモンド)の例を示す。
【
図9】サブサンプリングされたラプラシアン計算の例を示す。
【
図10】仮想境界での修正ブロック分類の例を示す。
【
図11】仮想境界でのルーマ成分に対する修正ALFフィルタリングの実例を示す。
【
図12】EOでのピクセル分類のための4つの1次元3ピクセルパターンの例を示す。
【
図13】4つのバンドがグループにまとめられ、その開始バンド位置によって表現されることを示す。
【
図14】CIIP重み導出で使用される上及び左隣接ブロックを示す。
【
図15】クロマスケーリングアーキテクチャによるルーママッピングを示す。
【
図17】本文書で記載されている技術を実装するために使用されるハードウェアプラットフォームの例のブロック図である。
【
図18】ビデオ処理の方法の例のフローチャートである。
【
図20】空間マージ候補の冗長性検査のために考慮される候補ペアの例を示す。
【
図21A】ビデオ処理の方法の例のフローチャートである。
【
図21B】ビデオ処理の方法の例のフローチャートである。
【
図21C】ビデオ処理の方法の例のフローチャートである。
【
図21D】ビデオ処理の方法の例のフローチャートである。
【
図21E】ビデオ処理の方法の例のフローチャートである。
【
図21F】ビデオ処理の方法の例のフローチャートである。
【
図21G】ビデオ処理の方法の例のフローチャートである。
【発明を実施するための形態】
【0024】
本文書は、圧縮解除又は復号されたデジタルビデオ又はイメージの品質を改善するためにイメージ又はビデオビットストリームのデコーダによって使用され得る様々な技術を提供する。簡潔さのために、「ビデオ」との用語は、ピクチャの連続(従来は、ビデオと呼ばれる)及び個々のイメージの両方を含むようここでは使用されている。更に、ビデオエンコーダも、更なる符号化のために使用される復号されたフレームを再構成するために符号化のプロセス中にそれらの技術を実装してもよい。
【0025】
セクション見出しは、理解を簡単にするために本文書で使用されており、実施形態及び技術を対応するセクションに限定するものではない。そのようなものとして、1つのセクション中の実施形態は、他のセクション中の実施形態と組み合わされることができる。
【0026】
1.概要
この文書は、ビデオコーディング技術に関係がある。具体的に、それは、ビデオコーディングで基本色に基づいた表現を用いるパレットコーディングに関係がある。それは、HEVCのような既存のビデオコーディング標準規格、又は最終決定されることになっている標準規格(Versatile Video Coding)に適用されてもよい。それはまた、将来のビデオコーディング標準規格又はビデオコーデックにも適用可能になり得る。
【0027】
2.最初の議論
ビデオコーディング標準規格は、よく知られているITU-T及びISO/IEC標準規格の開発を通じて主に発展してきた。ITU-TはH.261及びH.263を作り出し、ISO/IECはMPEG-1及びMPEG-4 Visualを作り出し、2つの組織は共同でH.262/MPEG-2 Video及びH264/MPEG-4 Advanced Video Coding(AVC)及びH.265/HEVC標準規格を作り出した。H.262以降、ビデオコーディング標準規格は、時間予測に変換コーディングをプラスしたものが利用されるハイブリッド型ビデオコーディング構造に基づいている。HEVCを超える将来のビデオコーディング技術を探求するために、Joint Video Exploration Team(JVET)が2015年にVCEG及びMPEGによって共同で設立された。それ以降、多くの新しい手法がJVETによって採用され、Joint Exploration Model(JEM)と呼ばれる参照ソフトウェアに置かれてきた。2018年4月に、VCEG(Q6/16)とISO/IEC JTC1 SC29/WG11(MPEG)との間で、Joint Video Expert Team(JVET)が、HEVCと比較して50%のビットレート低減を目標とするVVC標準規格を検討するために作られた。
【0028】
2.1 イントラブロックコピー
イントラブロックコピー(intra block copy,IBC)、別名、現在ピクチャ参照(current picture referencing)は、HEVC Screen Content Coding拡張(HEVC-SCC)及び現在のVVCテストモデル(VTM-4.0)で採用されている。IBCは、動き補償の概念をインターフレームコーディングからイントラフレームコーディングに拡張する。
図1で示されるように、現在ブロックは、IBCが適用される場合に、同じピクチャ内の参照ブロックによって予測される。参照ブロック内のサンプルは、現在ブロックが符号化又は復号される前に既に再構成されている。IBCは、カメラによって捕捉されたシーケンスのほとんどにとってそれほど効率的ではないが、それは、スクリーンコンテンツについてはコーディングの大幅な向上を示す。その理由は、スクリーンコンテンツピクチャにはアイコン及びテキスト文字などの反復パターンが多数存在するからである。IBCは、それらの反復パターンの間の冗長性を有効に除くことができる。HEVC-SCCでは、インターコーディングされたコーディングユニット(coding unit,CU)は、それが現在ピクチャをその参照ピクチャとして選択する場合に、IBCを適用することができる。MVは、この場合にブロックベクトル(block vector,BV)と名称を変更され、BVは常に整数ピクセル精度を有している。メインプロファイルHEVCと互換性を持たせるために、現在ピクチャは、復号ピクチャバッファ(Decoded Picture Buffer,DPB)で「長期」参照ピクチャとしてマークされる。同様に、マルチビュー/3Dビデオコーディング標準規格では、インタービュー参照ピクチャも「長期」参照ピクチャとしてマークされることが留意されるべきである。
【0029】
その参照ブロックを見つけるためのBVに続いて、予測が、参照ブロックをコピーすることによって生成され得る。元の信号から参照ピクセルを減じることによって、残差が得られる。次いで、変換及び量子化が他のコーディングモードで見られるように適用され得る。
【0030】
【0031】
しかし、参照ブロックがピクチャの外にあるか、又は現在ブロックと重なり合うか、又は再構成されたエリアの外にあるか、又は何らかの制約によって制限された有効エリアの外にある場合に、一部又は全てのピクセル値は定義されない。基本的に、そのような問題を扱うための2つの解決法がある。1つは、例えば、ビットストリームコンフォーマンス(bitstream conformance)で、そのような状況を認めないことである。もう1つは、それらの未定義のピクセル値に対してパディングを適用することである。以下のサブセッションは、これらの解決法について詳細に記載する。
【0032】
2.2 HEVC-SCCにおけるIBC
HEVCのスクリーンコンテンツコーディング拡張(Screen Content Coding extensions)では、ブロックが現在ピクチャを参照として使用する場合に、以下のスペックテキストで示されるように、参照ブロック全体が利用可能な再構成されたエリア内にあることを保証すべきである:
【表1】
【0033】
よって、参照ブロックが現在ブロックと重なり合うか、又は参照ブロックがピクチャの外にある場合は、起こらない。参照又は予測ブロックをパディングする必要はない。
【0034】
2.3 VVCテストモデルにおけるIBC
現在のVVCテストモデル、つまり、VTM-4.0設計では、参照ブロック全体が現在のコーディングツリーユニット(coding tree unit,CTU)と一致している必要があり、現在ブロックとは重なり合わない。よって、参照又は予測ブロックをパディングする必要はない。IBCフラグは、現在CUの予測モードとしてコーディングされる。よって、各CUについて全部で3つの予測モード、すなわち、MODE_INTRA、MODE_INTER、及びMODE_IBCがある。
【0035】
2.3.1 IBCマージモード
IBCマージモードでは、IBCマージ候補リスト(merge candidates list)内のエントリを指し示すインデックスが、ビットストリームからパースされる。IBCマージリストの構成は、次の一連のステップに従って手短に述べられ得る:
・ステップ1:空間候補の導出
・ステップ2:HMVP候補の挿入
・ステップ3:ペアワイズ平均候補の挿入
【0036】
空間マージ候補の導出では、最大4つのマージ候補が、
図19に表されている位置にある候補から選択される。導出の順序は、A
1、B
1、B
0、A
0、及びB
2である。位置B
2は、位置A
1、B
1、B
0、A
0のいずれかのPU(それが他のスライス又はタイルに属するために)利用可能でないか、あるいは、IBCモードでコーディングされていない場合にのみ考慮される。位置A
1での候補が加えられた後、残りの候補の挿入は冗長性検査を受ける。これは、同じ動き情報を有する候補がリストから外されることを確かにし、それにより、コーディング効率は改善される。計算複雑性を低減するために、上記の冗長性検査において、可能性がある全ての候補ペアが考慮されるわけではない。代わりに、
図20において矢印で結ばれているペアが考慮され、候補は、冗長性検査のために使用された対応する候補が同じ動き情報を有していない場合にのみリストに加えられる。
【0037】
空間候補の挿入の後、IBCマージリストサイズが依然として最大IBCマージリストサイズよりも小さい場合には、HMVPテーブルからのIBC候補が挿入されてもよい。HMVP候補を挿入する場合に、冗長性検査が実行される。
【0038】
最後に、ペアワイズ平均候補が、IBCマージリストに挿入される。
【0039】
マージ候補によって識別された参照ブロックがピクチャの外にあるか、又は現在ブロックと重なり合うか、又は再構成されたエリアの外にあるか、又は何らかの制約によって制限された有効エリアの外にある場合に、マージ候補は、無効マージ候補(invalid merge candidate)と呼ばれる。
【0040】
無効マージ候補はIBCマージリストに挿入されてもよいことが留意される。
【0041】
2.3.2 IBC AMVPモード
IBC AMVPモードでは、IBC AMVPリスト内のエントリを指し示すインデックスが、ビットストリームからパースされる。IBC AMVPリストの構成は、次の一連のステップに従って手短に述べられ得る:
・ステップ1:空間候補の導出
・利用可能な候補が見つけられるまでA0、A1をチェックする
・利用可能な候補が見つけられるまでB0、B1、B2をチェックする
・ステップ2:HMVP候補の挿入
・ステップ3:ゼロ候補の挿入
【0042】
空間候補の挿入の後、IBC AMVPリストサイズが依然として最大IBC AMVPリストサイズよりも小さい場合には、HMVPテーブルからのIBC候補が挿入されてもよい。
【0043】
最後に、ゼロ候補が、IBC AMVPリストに挿入される。
【0044】
2.4 パレットモード
パレットモードの背後にある基本的な考えは、CU内のサンプルが代表的な色値の小さいセットによって表現されることである。このセットはパレットと呼ばれる。また、エスケープ記号に続いて(場合により量子化された)成分値を通知することによって、パレットの外にあるサンプルを示すことも可能である。この種のサンプルはエスケープサンプルと呼ばれる。パレットモードは
図2で表されている。
【0045】
図2は、パレットモードで
コーディングされたブロックの例を示す。
【0046】
2.5 HEVC Screen Content Coding拡張(HEVC-SCC)におけるパレットモード
HEVC-SCCにおけるパレットモードでは、パレット及びインデックスマップをコーディングするために、予測的な方法が使用される。
【0047】
2.5.1 パレットエントリのコーディング
パレットエントリのコーディングのために、パレット予測子が維持される。パレットの最大サイズは、パレット予測子とともに、SPSで通知される。HEVC-SCCでは、palette_predictor_initializer_present_flagがPPSで導入される。このフラグが1であるとき、パレット予測子を初期化するためのエントリがビットストリームで通知される。パレット予測子は、各CTU行、各スライス、及び各タイルの開始時に初期化される。palette_predictor_initializer_present_flagの値に応じて、パレット予測子は、0にリセットされるか、又はPPCで通知されたパレット予測子初期化子エントリを用いて初期化される。HEVC-SCCでは、サイズ0のパレット予測子初期化子が、PPSレベルでのパレット予測子初期化の明示的な無効化を可能にするよう有効にされた。
【0048】
パレット予測子における各エントリについては、それが現在のパレットの部分であるかどうかを示すために、再利用フラグが通知される。これは
図3に表されている。再利用フラグは、ゼロのランレングスコーディングを用いて送信される。この後に、新しいパレットエントリの数が、次数0の指数ゴロム符号を用いて通知される。最後に、新しいパレットエントリの成分値が通知される。
【0049】
図3は、パレットエントリを通知するためのパレット予測子の使用の例を示す。
2.5.2 パレットインデックスのコーディング
【0050】
パレットインデックスは、
図4に示される水平及び垂直トラバーススキャンを用いてコーディングされる。スキャン順序は、palette_transpose_flagを用いてビットストリームで明示的に通知される。サブセクションの残りの部分については、スキャンは水平であると仮定される。
【0051】
図4は、水平及び垂直トラバーススキャンの例を示す。
【0052】
パレットインデックスは、2つの主なパレットサンプルモード:「INDEX」及び「COPY_ABOVE」を用いてコーディングされる。上述されたように、エスケープ記号も、「INDEX」モードとして通知され、最大パレットサイズに等しいインデックスを割り当てられる。モードは、一番上の行の場合又は前のモードが「COPY_ABOVE」であった場合を除いて、フラグを用いて通知される。「COPY_ABOVE」モードでは、上の行にあるサンプルのパレットインデックスがコピーされる。「INDEX」モードでは、パレットインデックスは明示的に通知される。「INDEX」及び「COPY_ABOVE」の両方のモードについて、ラン値(run value)が通知され、これは、やはり同じモードを用いてコーディングされる後続サンプルの数を指定する。エスケープ記号が「INDEX」又は「COPY_ABOVE」モードでのランの部分である場合に、エスケープ成分値がエスケープ記号ごとに通知される。パレットインデックスのコーディングは、
図5に表されている。
【0053】
このシンタックス順序は次のように達成される。最初に、CUのインデックス値の数が通知される。その後に、トランケーテッドバイナリコーディング(truncated binary coding)を用いて、CU全体の実際のインデックス値の通知が続く。これは、インデックスに関連したバイパスビンをグループにまとめる。次いで、パレットサンプルモード(必要な場合)及びランが、インターリーブ方式で通知される。最後に、CU全体のエスケープサンプル値に対応する成分エスケープ値がグループにまとめられて、バイパスモードでコーディングされる。
【0054】
更なるシンタックス要素として、last_run_type_flagが、インデックス値を通知した後に通知される。このシンタックス要素は、インデックスの数と組み合わせて、ブロック内の最後のランに対応するラン値を通知する必要性を排する。
【0055】
HEVC-SCCでは、パレットモードはまた、4:2:2、4:2:0、及びモノクロクロマフォーマットについても有効にされる。パレットエントリ及びパレットインデックスの通知は、全てのクロマフォーマットについてほぼ同じである。非モノクロフォーマットの場合に、各パレットエントリは3つの成分から成る。モノクロフォーマットについては、各パレットエントリは単一の成分から成る。サブサンプリングされたクロマ方向について、クロマサンプルは、2で除算可能であるルーマサンプルインデックスと関連付けられる。CUのパレットインデックスを再構成した後、サンプルがそれと関連付けられた単一の成分しか有さない場合には、パレットエントリの最初の成分のみが使用される。通知の唯一の相違は、エスケープ成分値に関する。エスケープサンプルごとに、通知されるエスケープ成分値の数は、そのサンプルに関連した成分の数に応じて異なり得る。
【0056】
VVCでは、デュアルツリーコーディング構造がイントラスライスのコーディングで使用されるので、ルーマ成分及び2つのクロマ成分は、異なったパレット及びパレットインデックスを有し得る。更に、2つのクロマ成分は、同じパレット及びパレットインデックスを共有する。
【0057】
図5は、パレットインデックスの
コーディングの例を示す。
【0058】
2.6 VVCにおけるイントラモードコーディング
自然ビデオで提示される任意のエッジ方向を捕捉するために、VTM5での指向性イントラモードの数は、HEVCで使用される33から、65に拡張される。HEVCにはない新しい指向性モードは、
図6で赤色破線矢印で表されており、プレーナーモード及びDCモードは同じままである。これらのより密なイントラ予測モードは、全てのブロックサイズについて、ルーマ及びクロマの両方のイントラ予測のために適用される。
【0059】
VTM5では、いくつかの従来の角度イントラ予測モードが、非正方ブロックについて広角イントラ予測モードで適応的に置き換えられる。
【0060】
HEVCでは、あらゆるイントラコーディングされたブロックが正方形状を有しており、その各辺の長さは2の累乗である。よって、DCモードを用いてイントラ予測子を生成するために、分割動作は不要である。VTM5では、ブロックは、一般的な場合にブロックごとに分割動作の使用を必要とする長方形状を有する可能性がある。DC予測のための分割動作を回避するために、長い方の辺のみが、非正方ブロックの平均を計算するために使用される。
【0061】
【0062】
最確モード(most probable mode,MPM)リスト生成の複雑性を低く保つために、6つのMPMによるイントラモードコーディング方法が、2つの利用可能な隣接イントラモードを考えることによって使用される。次の3つの態様が、MPMリストを構成するために考えられる:
・デフォルトイントラモード
・隣接イントラモード
・導出イントラモード
【0063】
統合6-MPMリストが、MRL及びISPコーディングツールが適用されるか否かにかかわらず、イントラブロックに対して使用される。MPMリストは、左及び上隣接ブロックのイントラモードに基づいて構成される。左ブロックのモードはLeftと表され、上ブロックのモードはAboveと表されるとして、統合MPMリストは、次のように構成される(左ブロック及び上ブロックは
図7に示される)。
【0064】
図7は、現在ブロックの左隣及び上隣の例を示す。
・隣接ブロックが利用可能でない場合に、そのイントラモードはデフォルトでプレーナー(Planar)にセットされる。
・両方のモードLeft及びAboveが非角度モードである場合に:
・MPMリスト→{プレーナー,DC,V,H,V-4,V+4}
・モードLeft及びAboveの一方が角度モードであり、他方が非角度モードである場合に:
・モードMaxをLeft及びAboveのうちの大きい方のモードとしてセットする
・MPMリスト→{プレーナー,Max,DC,Max-1,Max+1,Max-2}
・Left及びAboveが両方とも角度モードであり、それらが異なる場合に:
・モードMaxをLeft及びAboveのうちの大きい方のモードとしてセットする
・モードLeft及びAboveの差が2以上62以下の範囲にある場合に:
・MPMリスト→{プレーナー,Left,Above,DC,Max-1,Max+1}
・そうでない場合に:
・MPMリスト→{プレーナー,Left,Above,DC,Max-2,Max+2}
・Left及びAboveが両方とも角度モードであり、それらが同じである場合に:
・MPMリスト→{プレーナー,Left,Left-1,Left+1,DC,Left-2}
【0065】
その上、mpmインデックスコードワードの最初のビンは、CABACコンテキストコーディングされる。現在のイントラブロックがMRL対応であるか、ISP対応であるか、又は通常のイントラブロックであるかに対応して、全部で3つのコンテキストが使用される。
【0066】
6-MPMリストの生成プロセス中、一意のモードのみがMPMリストに含まれ得るように、重複したモードを除くためにプルーニングが使用される。61個の非MPMモードのエントロピコーディングについては、トランケーテッドバイナリコーディング(TBC)が使用される。
【0067】
クロマイントラモードコーディングについては、全部で8つのイントラモードが、クロマイントラモードコーディングのために許されている。それらのモードには、5つの従来のイントラモードと、3つのクロスコンポーネント線形モデルモード(cross-component linear model modes)(CCLM、LM_A、及びLM_L)とが含まれる。クロマモードの通知及び導出のプロセスは、表2-4に示される。クロマモードコーディングは、対応するルーマブロックのイントラ予測モードに直接に依存する。ルーマ成分及びクロマ成分のための別個のブロックパーティション構造がIスライスでは可能にされるので、1つのクロマブロックは複数のルーマブロックに対応し得る。そのため、クロマDMモードについては、現在のクロマブロックの中心位置をカバーする対応するルーマブロックのイントラ予測モードが直接に承継される。
【表2】
【0068】
2.7 QR-BDPCM(Quantized residual Block Differential Pulse-Code Modulation)
JVET-M0413では、QR-BDPCM(Quantized residual Block Differential Pulse-Code Modulation)が、スクリーンコンテンツを効率的にコーディングするために提案されている。
【0069】
QR-BDPCMで使用される予測方向は、垂直及び水平予測モードでとすることができる。イントラ予測は、イントラ予測と同様に予測方向(水平及び垂直方向)でのサンプルコピーによって、ブロック全体に対して行われる。残差は量子化され、量子化された残差とその予測子(水平又は垂直)量子化値との間の差(delta)は
コーディングされる。これは、以下によって説明することができる。サイズM(行)×N(列)のブロックについて、r
i,j,0≦i≦M-1,0≦j≦N-1を、上又は左ブロック境界サンプルからのフィルタリングされていないサンプルを用いてイントラ予測を水平方向に(予測されたブロックにわたって左隣接ピクセル値をラインごとにコピーする)又は垂直方向に(予測されたブロック内の各ラインに上隣接ラインをコピーする)実行した後の予測残差であるとする。Q(r
i,j),0≦i≦M-1,0≦j≦N-1が残差r
i,jの量子化されたバージョンを表すとして、このとき、残差は、元のブロック値と予測されたブロック値との間の差である。次いで、ブロックDPCMが、量子化された残差サンプルに適用され、要素
(外1)
を有する変更されたM×Nアレイ
(外2)
が得られる。垂直BDPCMが通知される場合に:
【数1】
である。
【0070】
水平予測については、同様のルールが適用され、残差量子化サンプルは、
【数2】
によって求められる。
【0071】
残差量子化サンプル
(外3)
は、デコーダへ送られる。
【0072】
デコーダ側では、上記の計算は、Q(r
i,j),0≦i≦M-1,0≦j≦N-1を取り出すために逆にされる、垂直予測の場合については、
【数3】
であり、水平予測の場合については
【数4】
である。
【0073】
逆量子化された残差Q-1(Q(ri,j))が、再構成されたサンプル値を生成するようイントラブロック予測値に加えられる。
【0074】
この方式の主な利点は、係数がパースされるときに予測子を追加するだけで、係数解析中にオン・ザ・フライで逆DPCMを実行できること、又は解析後に実行できることである。
【0075】
2.8 適応ループフィルタ
VTM5では、ブロックベースのフィルタ適応による適応ループフィルタ(Adaptive Loop Filter,ALF)が適用される。ルーマ成分については、25個のフィルタのうちの1つが、局所勾配の方向及び活性に基づいて、4×4ブロックごとに選択される。
【0076】
2.8.1.1フィルタ形状
VTM5では、2つのダイヤモンドフィルタ形状(
図8に図示あり)が使用される。7×7ダイヤモンド形状はルーマ成分に対して適用され、5×5ダイヤモンド形状はクロマ成分に対して適用される。
【0077】
図8は、ALFフィルタ形状(クロマ:5×5ダイヤモンド、ルーマ:7×7ダイヤモンド)の例を示す。
【0078】
2.8.1.2ブロック分類
ルーマ成分については、各4×4ブロックは、25個のクラスの中から1つに分類され得る。分類インデックスCは、次のように、その方向性D及び量子化された活性値A(ハット付き)に基づいて導出される:
【数5】
【0079】
D及びハット付きAを計算するために、水平方向、垂直方向、及び2つの対角方向の勾配が最初に、1-Dラプラシアンを用いて計算される:
【数6】
インデックスi及びjは、4×4ブロック内の左上サンプルの座標を指し、R(i,j)は、座標(i,j)での再構成されたサンプルを示す。
【0080】
ブロック分類の複雑性を低減するために、サブサンプリングされた1-Dラプラシアン計算が適用される。
図9に示されるように、同じサブサンプリングされた位置が、全ての方向の勾配計算のために使用される。
【0081】
図9は、サブサンプリングされたラプラシアン計算の例を示す。(a)垂直勾配のためのサブサンプリングされた位置、(b)水平勾配のためのサブサンプリングされた位置、(c)対角勾配のためのサブサンプリングされた位置、(d)対角勾配のためのサブサンプリングされた位置。
【0082】
次いで、水平方向及び垂直方向の勾配のDの最大値及び最小値は:
【数7】
としてセットされる。
【0083】
2つの対角方向の勾配の最大値及び最小値は:
【数8】
としてセットされる。
【0084】
方向性Dの値を導出するために、これらの値は、互いに、そして2つの閾値t
1及びt
2と比較される:
【表3】
【0085】
【0086】
Aは、0以上4以下の範囲に更に量子化され、量子化された値は、ハット付きAとして表される。
【0087】
ピクチャ内のクロマ成分については、分類方法は適用されない。すなわち、ひと組のALF係数がクロマ成分ごとに適用される。
【0088】
2.8.1.3 フィルタ係数及びクリッピング値の幾何変換
各4×4ルーマブロックをフィルタリングする前に、回転又は対角及び垂直フリップなどの幾何変換が、そのブロックについて計算された勾配値に応じて、フィルタ係数f(k,l)及び対応するフィルタクリッピング値c(k、l)に適用される。これは、フィルタサポート領域内のサンプルにこれらの変換を適用することと等価である。アイデアは、ALFが適用される様々なブロックを、それらの方向性を調整することによって、より類似させることである。
【0089】
対角、垂直フリップ、及び回転を含む3つの幾何変換が導入される:
【数10】
ここで、Kは、フィルタのサイズであり、0≦k,l≦K-1は、位置(0,0)が左上隅にあり、位置(K-1,K-1)が右下隅にあるような、係数座標である。変換は、そのブロックについて計算された勾配値に応じて、フィルタ係数f(k,l)及びクリッピング値c(k、l)に適用される。変換と4つの方向の4つの勾配との間の関係は、次の表で手短に述べられている。
【表4】
【0090】
2.8.1.4 フィルタパラメータ通知
VTM5では、ALFフィルタパラメータは、適応パラメータセット(Adaptation Parameter Set,APS)で通知される。1つのAPSでは、最大25組のルーマフィルタ係数及びクリッピング値が通知され得る。ビットオーバヘッドを低減するために、異なる分類のフィルタ係数はマージされ得る。スライスヘッダでは、現在スライスに使用されるAPSのインデックスが通知される。
【0091】
APSから復号されるクリッピング値インデックスは、クリッピング値のルーマテーブル及びクリッピング値のクロマテーブルを用いてクリッピング値を決定することを可能にする。これらのクリッピング値は、内在的なビットデプスに依存する。より厳密は、クリッピング値のルーマテーブル及びクリッピング値のクロマテーブルは、次の式によって取得される:
【数11】
なお、Bは内在的なビットデプスに等しく、Nは4に等しく、VTM5.0での許容クリッピング値の数である。
【0092】
フィルタリングプロセスは、CTBレベルで制御され得る。フラグは、ALFがルーマCTBに適用されるかどうかを示すために常に通知される。ルーマCTBは、16個の固定フィルタセットと、APSからのフィルタセットとから、フィルタセットを選択することができる。フィルタセットインデックスは、ルーマCTBについて、どのフィルタセットが適用されるかを示すために通知される。16個の固定フィルタセットは予め定義され、エンコーダ及びデコーダの両方でハードコーディングされる。
【0093】
フィルタ係数は、128に等しいノルムで量子化される。乗算複雑性を制限するために、非中心位置の係数値が-27以上27-1以下の範囲にあるべきであるように、ビットストリームコンフォーマンスが適用される。中心位置係数は、ビットストリームで通知されず、128に等しいと見なされる。
【0094】
2.8.1.5 フィルタリングプロセス
デコーダ側で、ALFがCTBに対して有効にされる場合に、CU内の各サンプルR(i,j)はフィルタリングされ、以下で示されるサンプル値R’(i,j)が得られる:
【数12】
ここで、f(k、l)は、復号されたフィルタ係数であり、K(x,y)は、クリッピング関数であり、c(k、l)は、復号されたクリッピングパラメータを表す。変数k及びlは、-L/2からL/2の間で変化し、Lは、フィルタ長さを表す。クリッピング関数K(x,y)=min(y,max(-y,x))であり、関数Clip3(-y,y,x)に対応する。
【0095】
2.8.1.6 ラインバッファ低減のための仮想境界フィルタリングプロセス
VTM5では、ラインバッファ要件を低減するために、変更されたブロック分類及びフィルタリングが、水平CTU境界に近いサンプルのために用いられる。このために、仮想境界は、
図10に示されるように、“N”個のサンプルを含む水平CTU境界をシフトすることによってラインとして定義される。Nは、ルーマ成分については4に等しく、クロマ成分については2に等しい。
【0096】
図10は、仮想境界での修正されたブロック分類の例を示す。
【0097】
図11に示されるように、修正されたブロック分類がルーマ成分に適用され、それに応じて、活性値Aは、1Dラプラシアン勾配計算で使用されるサンプル数の減少を考慮に入れることによってスケーリングされる。
【0098】
フィルタリングプロセスについては、仮想境界での対称パディング動作が、ルーマ及びクロマの両方の成分のために使用される。
図11に示されるように、フィルタリングされているサンプルが仮想境界の下に位置している場合に、仮想境界の上に位置している隣接サンプルがパディングされる。一方、他方の側にある対応するサンプルも対称的にパディングされる。
【0099】
図11は、仮想境界でのルーマ成分に対する修正ALFフィルタリングの実例を示す。
【0100】
2.9 サンプル適応オフセット(SAO)
サンプル適応オフセット(sample adaptive offset,SAO)は、エンコーダによってCTBごとに指定されたオフセットを使用することによって、デブロッキングフィルタ後の再構成された信号に適用される。HMエンコーダは最初に、SAOプロセスが現在スライスに適用されるべきか否かを決定する。SAOがスライスに適用される場合に、各CTBは、表2-6に示されるように、5つのSAOタイプのうちの1つとして分類される。SAOの概念は、ピクセルをカテゴリに分類することであり、各カテゴリのピクセルにオフセットを加えることによって歪みを低減する。SAO動作は、SAOタイプ1~4におけるピクセル分類のためにエッジ特性を使用するエッジオフセット(EO)と、SAOタイプ5におけるピクセル分類のためにピクセル強度を使用するバンドオフセット(BO)とを含む。各適用可能なCTBは、sao_merge_left_flag、sao_merge_up_flag、SAOタイプ、及び4つのオフセットを含むSAOパラメータを有している。sao_merge_left_flagが1に等しい場合に、現在CTBは、左側にあるCTBのSAOタイプ及びオフセットを再利用する。sao_merge_up_flagが1に等しい場合に、現在CTBは、上のCTBのSAOタイプ及びオフセットを再利用する。
【表5】
【0101】
2.9.1 各SAOタイプの動作
エッジオフセットは、
図12に示されるように、エッジ方向情報を考慮して、現在ピクセルpの分類のために4つの1次元3ピクセルパターンを使用する。左から右へ、0度、90度、135度、及び45度がある。
【0102】
図12は、EOでのピクセル分類のための4つの1次元3ピクセルパターンの例を示す。
【0103】
各CTBは、表2-7に従って、5つのカテゴリのうちの1つに分類される。
【表6】
【0104】
バンドオフセット(BO)は、1つのCTB領域内の全てのピクセルを、ピクセル値の5つの最上位ビットをバンドインデックスとして使用することによって、32個の一様なバンドに分類する。すなわち、ピクセル強度範囲は、ゼロから最大強度値(例えば、8ビットピクセルについては255)まで32個の等しいセグメントに分ける。4つの隣接バンドはグループにまとめられ、各グループは、
図13に示されるようにその最も左側の位置によって示される。エンコーダは、各バンドのオフセットを補償することによって歪みを最大に低減したグループを取得するよう全ての位置を探索する。
【0105】
図13は、4つのバンドがグループにまとめられ、その開始バンド位置によって表現される例を示す。
【0106】
2.10 インター-イントラ複合予測(CIIP)
VTM5では、CUがマージモードで
コーディングされる場合に、CUが少なくとも64個のルーマサンプルを含むならば(つまり、CU幅×CU高さは64以上である)、かつ、CU幅及びCU高さの両方が128個のルーマサンプルに満たないならば、インター/イントラ複合予測(CIIP)モードが現在CUに適用されるかどうかを示すために、追加のフラグが通知される。その名が示すとおり、CIIP予測は、インター予測信号をイントラ予測信号と組み合わせる。CIIPモードでのインター予測信号P
interは、通常のマージモードに適用されるの同じインター予測プロセスを用いて導出され、イントラ予測信号P
intraは、プレーナーモードによる通常のイントラ予測プロセスに従って導出される。次いで、イントラ予測信号及びインター予測信号は、加重平均を用いて結合される。このとき、重み値は、次のように、上隣接ブロック及び左隣接ブロック(
図14に図示あり)のコーディングモードに応じて計算される:
・上隣接ブロックが利用可能であり、イントラコーディングされている場合に、isIntraTopを1にセットし、そうでない場合には、isIntraTopを0にセットする。
・左隣接ブロックが利用可能であり、イントラコーディングされている場合に、isIntraLeftを1にセットし、そうでない場合には、isIntraLeftを0にセットする。
・(isIntraLeft+isIntraTop)が2に等しい場合には、wtは3にセットされる。
・そうではなく、(isIntraLeft+isIntraTop)が1に等しい場合には、wtは2にセットされる。
・上記以外の場合に、wtを1にセットする。
【0107】
CIIP予測は、次のように形成される:
【数13】
【0108】
図14は、CIIP重み導出で使用される上及び左隣接ブロックを示す。
【0109】
2.11 クロマスケーリング付きルーママッピング(LMCS)
VTM5では、LMCS(luma mapping with chroma scaling)と呼ばれるコーディングルールが、ループフィルタ前に新しい処理ブロックとして加えられる。LMCSは、2つの主なコンポーネント:1)適応区分線形モデルに基づいたルーマ成分のインループマッピング、2)クロマ成分のためのルーマ依存クロマ残差スケーリングの適用を有する。
図15は、デコーダ視点からのLMCSアーキテクチャを示す。
図15中の破線ブロックは、処理がマッピング領域で適用されることを示しており、逆量子化、逆変換、ルーマイントラ予測、及びルーマ残差とともにルーマ予測の追加を含む。
図15中の影無しブロックは、処理が元の(すなわち、非マッピング)領域で適用される場所を示し、これらには、デブロッキング、ALF、及びSAOなどのループフィルタ、動き補償付き予測、クロマイントラ予測、クロマ残差とともにクロマ予測の追加、並びに参照ピクチャとしても復号されたピクチャの格納が含まれる。
図15中のチェック付きブロックは、ルーマ信号の順方向及び逆方向マッピングと、ルーマ依存クロマスケーリングプロセスとを含む新しいLMCS機能ブロックである。VVCにおける他のほとんどのツールと同様に、LMCSは、SPSフラグを用いてシーケンスレベルで有効/無効にされ得る。
【0110】
図15は、クロマスケーリングアーキテクチャによるルーママッピングの例を示す。
【0111】
2.12 デュアルツリーパーティション
現在のVVC設計では、Iスライスについて、各CTUは、暗黙的な四分木分割を用いて、64×64個のルーマサンプルを有するコーディングユニットに分けられ得る。これらのコーディングユニットは、ルーマ及びクロマについての2つの別個のcoding_treeシンタック構造のルートである。
【0112】
イントラピクチャにおけるデュアルツリーは、ルーマコーディングツリーとは異なるパーティションをクロマコーディングツリーで適用することを可能にするので、デュアルツリーは、より長いコーディングパイプラインを導入し、クロマツリーでのQTBT MinQTSizeC値範囲並びにMinBtSizeY及びMinTTSizeYは、2×2、4×2、及び2×4などの小さいクロマブロックを可能にする。それは、実際のデコーダ設計で困難性をもたらす。更に、CCLM、プレーナー、及び角度モードなどのいくつかの予測モードは乗算を必要とする。上記の問題を多少なりとも解決するために、小さいクロマブロックサイズ(2×2/2×4/4×2)は、パーティション制限としてデュアルツリーにおいて制限される。
【0113】
2.13 JVET-O0050における最小クロマイントラ予測ユニット(SCIPU)
小さいクロマサイズは、ハードウェア実装にとってフレンドリではない。デュアルツリーの場合に、小さすぎるサイズのクロマブロックは許されない。しかし、シングルツリー(singletree)の場合に、VVC草案5は、依然として、2×2、2×4、4×2クロマブロックを許す。クロマブロックのサイズを制限するために、単一コーディングツリーでは、クロマブロックサイズがTHクロマサンプルよりも大きいか又はそれと等しく、かつ、4THルーマサンプルよりも小さい少なくとも1つの子ルーマブロックを有しているコーディングツリーノードとして、SCIPUがJVET-O0050で定義されている。なお、THは、この寄稿では16にセットされる。各SCIPUで、全てのCBはインターであるか、あるいは、全てのCBは非インターである、つまり、イントラ又はIBCのどちらかであることが必要とされる。非インターSCIPUの場合には、更に、非インターSCIPUのクロマがこれ以上分割されるべきではないことが必要とされ、また、SCIPUのルーマは、更に分割されることを許される。このようにして、最小クロマイントラCBサイズは、16個のクロマサンプルであり、2×2、2×4、及び4×2クロマCBは削除される。更に、クロマスケーリングは、非インターSCIPUの場合に適用されない。
【0114】
2つのSCIPUの例が
図16に示される。
図16(a)では、8×4クロマサンプルの1つのクロマCBと、3つのルーマCB(4×8、8×8、4×8ルーマCB)とが1つのSCIPUを形成する。これは、8×4クロマサンプルから分割された三分木(TT)が、16個のクロマサンプルよりも小さいクロマCBをもたらすからである。
図16(b)では、4×4クロマサンプル(8×4クロマサンプルの左側)の1つのクロマCBと、3つのルーマCB(8×4、4×4、4×4ルーマCB)とが1つのSCIPUを形成し、4×4サンプル(8×4クロマサンプルの右側)の1つのクロマCBと、2つのルーマCB(8×4、8×4ルーマCB)とが1つのSCIPUを形成する。これは、4×4クロマサンプルから分割された三分木(TT)が、16個のクロマサンプルよりも小さいクロマCBをもたらすからである。
【0115】
【0116】
現在スライスがIスライスであるか、又は現在のSCIPUが、更に1回分割された後にその中に4x4ルーマパーティションを有する場合に、SCIPUのタイプは非インターであると推測される(VVCでは、インター4×4が許可されないため)。それ以外の場合には、SCIPUのタイプ(インター又は非インター)は、SCIPU内のCUをパースする前に1つのシグナルフラグによって示される。
【0117】
2.14 VVC草案6における小さいクロマブロックの制約
VVC草案6(JVET-O2001-vE.docx)では、小さいクロマブロックに対する制約が、次のように実装される(関連する部分は、太字イタリック体でマークされる)。
【表7】
【0118】
3.開示される技術的解決法によって解決される技術的課題の例
(1)現在、IBCはMODE_TYPE_INTRAと見なされているので、小さいクロマブロックは許可されず、不必要なコーディング効率損失が生じている。
(2)現在、パレットはMODE_TYPE_INTRAと見なされているので、小さいクロマブロックは許可されず、不必要なコーディング効率損失が生じている。
(3)現在、小さいクロマブロックの制約は、色サブサンプリングフォーマットを考慮していない。
(4)現在、小さいブロックに対する同じパーティション及び予測モード制約が全てのクロマフォーマットに適用されている。しかし、4:2:0及び4:2:2クロマフォーマットでは、小さいブロックに対する異なった制約メカニズムを設計することが望ましいことがある。
(5)現在、パレットモードフラグ通知は、modeTypeに依存しているが、これは、パレットが小さいブロックの制約を適用しない可能性があるということで望ましくない。
(6)現在、IBCモードフラグは、P/Bスライスについて、cu_skip_fragが1に等しいが、MODE_TYPEがMODE_TYPE_INTRAに等しい場合に、0であると推測されているが、これは、シンタックスのパースでは不正である。
(7)現在、非4×4ルーマIBCモードは、SCIPUルーマブロックについて許可されていないが、これは望ましくないことがあり、コーディング効率損失を引き起こす可能性がある。
(8)2×Hクロマブロックが依然として許可されているが、これはハードウェア実装にとってフレンドリではない。
(9)CIIPは、MODE_INTERと見なされる一方で、イントラ予測を使用するが、これは、いくつかの場合に制約を破る。
(10)SCIPUが適用される場合に、ルーマ分割に依存してクロマのデルタQPが通知されないことがある。例えば、現在ブロック寸法がルーマサンプルで16×8であり、垂直TTで分割されている場合に、ローカルデュアルツリーが適用されてもよい。これは以下のように指定される。
qgOnC=qgOnC&&(cbSubdiv+2<=cu_chroma_qp_offset_subdiv)
したがって、cbSubdiv+2<=cu_chroma_qp_offset_subdivである場合に、qgOnCはゼロにセットされる。この条件付き設定は、クロマ成分もTTによって分割されると仮定する。ローカルデュアルツリーでは、クロマ成分は分割されない可能性があるため、cbSubdivはcu_chroma_qp_offset_subdivよりも大きくなり得る。IsCuChromaQpOffsetCodedは、クロマについてのデルタQPの通知を可能にするために0にセットされるべきである。しかし、qgOnCが0にセットされるので、IsCuChromaQpOffsetCodedは0にセットされない。
【0119】
4.技術的解決法及び実施形態の例
以下に挙げられているものは、例と見なされるべきである。これらの技術は、狭い意味で解釈されるべきではない。更に、これらの技術は、如何様にも組み合わされ得る。
【0120】
本文書中、「M×Nコーディングツリーノード」は、M×Nブロックを示し、M及びNは、夫々、ルーマサンプルの幅及び高さであり、これは、例えば、QT/BT/TTなどによって、更にパーティション化されてもよい。例えば、ブロックはQTノード、又はBTノード、又はTTノードであってよい。コーディングツリーノードは、コーディングユニット(例えば、シングルツリーについては3つの色成分、デュアルツリークロマコーディングについては2つのクロマ色成分、及びデュアルツリールーマコーディングについてはただ1つのルーマ成分を有する)、又はルーマコーディングブロック、又はクロマコーディングブロックであってもよい。「小さいコーディングツリーノードユニット」は、ルーマサンプルでブロックサイズM×Nが32/64/128に等しいコーディングツリーノードを示してもよい。
【0121】
特に述べられていない場合に、コーディングブロックの幅W及び高さは、ルーマサンプルで測定される。例えば、M×Nコーディングブロックは、M×Nルーマブロック、及び/又は2つの(M/subWidthC)×(N/SubHeightC)クロマブロックを意味し、SubWidthC及びSubHightCは、次のようにクロマフォーマットによって導出される。
【表8】
【0122】
1.小さいブロックにパーティション化すべきかどうか及び/又はどのようにすべきかは、カラーフォーマットに依存してもよい。
a.一例で、4:4:4カラーフォーマットについては、クロマブロックのサイズに対する制約は、ルーマブロックに対するそのような制約に従ってもよい。
b.一例で、4:2:2カラーフォーマットについては、クロマブロックのサイズに対する制約は、4:2:0カラーフォーマットについてのそのような制約に従ってもよい。
c.一例で、4:0:0及び/又は4:4:4クロマフォーマットについては、小さいブロックのパーティションに対する制約及び/又は予測モードは適用されなくてもよい。
d.一例で、小さいブロックのパーティションに対する制約及び/又は予測モードは、異なるクロマフォーマットについて異なるように適用されてもよい。
i.一例で、水平BT分割を使用したM×N(例えば、8×8)コーディングツリーノードについては、4:2:2クロマフォーマットで、水平BT分割は、クロマブロック及びルーマブロックの両方について許されてもよいが、4:2:0クロマフォーマットでは、水平BT分割は、ルーマブロックについては許されるが、クロマブロックについては許されなくてもよい。
ii.一例で、垂直BT分割を使用したM×N(例えば、16×4)コーディングツリーノードについては、4:2:2クロマフォーマットで、垂直BT分割は、クロマブロック及びルーマブロックの両方について許されてもよいが、4:2:0クロマフォーマットでは、垂直BTは、ルーマブロックについては許されるが、クロマブロックについては許されなくてもよい。
iii.一例で、水平TT分割を使用したM×N(例えば、8×16)コーディングツリーノードについては、4:2:2クロマフォーマットで、水平TT分割は、クロマブロック及びルーマブロックの両方について許されてもよいが、4:2:0クロマフォーマットでは、水平TT分割は、ルーマブロックについては許されるが、クロマブロックについては許されなくてもよい。
iv.一例で、垂直TT分割を使用したM×N(例えば、32×4)コーディングツリーノードについては、4:2:2クロマフォーマットで、垂直TT分割は、クロマブロック及びルーマブロックの両方について許されてもよいが、4:2:0クロマフォーマットでは、垂直TTは、ルーマブロックについては許されるが、クロマブロックについては許されなくてもよい。
v.一例で、4:0:0及び/又は4:4:4カラーフォーマットについては、小さいブロックの制約は適用されなくてもよい。
e.一例で、SCIPUを有効にすべきかどうかは、カラーフォーマットに依存する。
i.一例で、SCIPUは、4:2:0及び4:2:2カラーフォーマットに対して有効にされる。
ii.一例で、SCIPUは、4:0:0及び/又は4:4:4カラーフォーマットに対しては無効にされる。
1.一例で、modeTypeは、4:0:0及び/又は4:4:4カラーフォーマットに対して常にMODE_TYPE_ALLと等しくてもよい。
2.一例で、modeTypeConditionは、4:0:0及び/又は4:4:4のカラーフォーマットに対して常に0に等しくてもよい。
【0123】
2.コーディングツリーノードの(サブ)モードのための予測モード(及び/又はmodeType)をどのように決定すべきかは、カラーフォーマットに依存してもよい。
a.一例で、次の条件の1つが真である場合に、このコーディングツリーノードによってパーティション化された(サブ)ブロックのmodeTypeは、4:2:2クロマフォーマットについてはMODE_TYPE_ALLに等しくなり、一方、4:2:0クロマフォーマットについては、modeTypeは、MODE_TYPE_INTRA又はMODE_TYPE_INTERのどちらかに等しくなる。
i.水平BT分割を使用したM×N(例えば、8×8)コーディングツリーノード
ii.垂直BT分割を使用したM×N(例えば、16×4)コーディングツリーノード
iii.水平TT分割を使用したM×N(例えば、8×16)コーディングツリーノード
iv.垂直TT分割を使用したM×N(例えば、32×4)コーディングツリーノード
【0124】
3.MODE_TYPE_INTRAの名前をMODE_TYPE_NO_INTERに変更し、MODE_INTERの使用を制限することが提案される。
a.一例で、コーディングユニットのmodeTypeがMODE_TYPE_NO_INTERに等しい場合に、MODE_INTERは許可されなくてもよい。
【0125】
4.MODE_TYPE_INTERの名前をMODE_TYPE_NO_INTRAに変更し、MODE_INTRAの使用を制限することが提案される。
a.一例で、コーディングユニットのmodeTypeがMODE_TYPE_NO_INTRAに等しい場合に、MODE_INTRAは許可されなくてもよい。
【0126】
5.モード制約フラグは、4:2:2及び/又は4:0:0及び/又は4:4:4クロマフォーマットで決して通知されなくてもよい。
a.一例で、モード制約フラグが存在しない場合に、1に等しいと推測されてもよい。
i.代替的に、モード制約フラグが存在しない場合に、0に等しいと推測されてもよい。
【0127】
6.ブロック幅としてMを有し、ブロック高さとしてNを有するM×NコーディングブロックにSCIPUを適用するかどうかは及び/又はどのように適用するかは、カラーフォーマットが4:2:0であるか4:2:2であるか依存してもよい。
a.一例で、4:2:2カラーフォーマットにおいて、ブロック幅としてMを有し、ブロック高さとしてNを有するM×Nコーディングブロックに対して、M×N(M*Nで示される)が64又は32に等しい場合にのみSCIPUが有効にされてもよい。
b.一例で、M*N=128を有するコーディングツリーノードは、4:2:2カラーフォーマットにおいて決してSCIPUブロックとして扱われなくてもよい。
c.一例で、BT分割及びM*N=64を有するコーディングツリーノードは、4:2:2カラーフォーマットにおいて決してSCIPUブロックとして扱われなくてもよい。
d.一例で、1に等しいsplit_qt_flag及びM*N=64を有するコーディングツリーノードは、4:2:2カラーフォーマットにおいてSCIPUブロックであってもよい。
e.一例で、TT分割及びM*N=64を有するコーディングツリーノードは、4:2:2カラーフォーマットにおいてSCIPUブロックとして扱われてもよい。
f.一例で、BT分割及びM*N=32を有するコーディングツリーノードは、4:2:2カラーフォーマットにおいてSCIPUブロックとして扱われてもよい。
g.上記の説明において、4:2:2カラーフォーマットにおけるSCIPUブロックについて、modeTypeConditionは常に1に等しくてもよい。
h.上記の説明において、4:2:2カラーフォーマットにおけるSCIPUブロックについて、親ノードにおける現在ブロックと子リーフノード下の全てのサブブロックの両方に対して、MODE_TYPE_INTRAのみが許可されてもよい。
【0128】
7.4:2:2カラーフォーマットにおいて、SCIPUブロックのmodeTypeConditionは常に1に等しくてもよい。
a.一例で、modeTypeConditionは、4:2:2カラーフォーマットについて0又は1に等しくてもよい。
b.一例で、4:2:2カラーフォーマットにおけるSCIPUブロックについて、modeTypeConditionは、決して2に等しくなくてもよい。
【0129】
8.4:2:2カラーフォーマットにおいて、SCIPUブロックのmodeTypeは常にMODE_TYPE_INTRAに等しくてもよい。
a.一例で、modeTypeは、4:2:2カラーフォーマットにおいてMODE_TYPE_ALL又はMODE_TYPE_INTRAに等しくてもよい。
b.一例で、4:2:2カラーフォーマットにおけるSCIPUブロックについて、MODE_TYPE_INTERは無効にされてもよい。
【0130】
9.ブロックパーティションが許可されるかどうかは、modeType及び/又はブロックサイズに依存してもよい。
a.一例で、ブロックに対してBT及び/又はTT分割が許可されるかどうかは、modeTypeに依存してもよい。
i.一例で、modeTypeがMODE_TYPE_INTERに等しい場合に、現在コーディングブロックに対してBT分割は許可されなくてもよい(例えば、allowBtSplitがfalseに等しくセットされる)。
ii.一例で、modeTypeがMODE_TYPE_INTERに等しい場合に、現在コーディングブロックに対してTT分割は許可されなくてもよい(例えば、allowTtSplitがfalseに等しくセットされる)。
b.一例で、ブロックに対してBT及び/又はTT分割が許可されるかどうかは、modeType及びブロックサイズに依存してもよい。
i.一例で、ブロック幅としてMを有し、かつ、ブロック高さとしてNを有するM×Nコーディングブロックについて、M*Nが32以下であり、modeTypeがMODE_TYPE_INTERに等しい場合に、BT分割は許可されなくてもよい(例えば、allowBtSplitがfalseに等しくセットされる)。
ii.一例で、ブロック幅としてMを有し、かつ、ブロック高さとしてNを有するM×Nコーディングブロックについて、M*Nが64以下であり、modeTypeがMODE_TYPE_INTERに等しい場合に、TT分割は許可されなくてもよい(例えば、allowTtSplitがfalseに等しくセットされる)。
【0131】
10.コーディングツリーのmodeTypeCurrがMODE_TYPE_INTERに等しい場合に、コーディングツリーの分割は制限されてもよい。
a.一例で、コーディングツリーのmodeTypeCurrがMODE_TYPE_INTERに等しい場合に、BT分割は許可されなくてもよい。
b.一例で、コーディングツリーのmodeTypeCurrがMODE_TYPE_INTERに等しい場合に、TT分割は許可されなくてもよい。
c.一例で、コーディングツリーのmodeTypeCurrがMODE_TYPE_INTERに等しい場合に、QT分割は許可されなくてもよい。
d.一例で、コーディングツリーのmodeTypeCurrがMODE_TYPE_INTERに等しく、かつ、ルーマブロックサイズが32以下である場合に、BT分割は許可されなくてもよい。
e.一例で、コーディングツリーのmodeTypeCurrがMODE_TYPE_INTERに等しく、かつ、ルーマブロックサイズが64以下である場合に、TT分割は許可されなくてもよい。
【0132】
11.TreeTypeがDUAL_TREE_LUMAに等しいコーディングユニットは、インターモードでコーディングされてもよい。
a.一例で、インターコーディングモード、すなわち、MODE_INTERでコーディングされたコーディングユニットは、複数の色成分を有するカラーフォーマットの場合でも、ルーマ成分のみを含んでもよい。
b.一例で、pred_mode_flagはDUAL_TREE_LUMAブロックに対してパースされる必要があってもよい。
c.一例で、インターモードでコーディングされたDUAL_TREE_LUMAブロックに対しても、SINGLE_TREEについての同じインターモードの制約が適用されてもよい。
i.一例で、4×4のDUAL_TREE_LUMAインターブロックは、許可されなくてもよい。
【0133】
12.ブロック幅がM(例えば、M=2)個のクロマサンプルに等しいクロマイントラ(及び/又はIBC)ブロックは許されなくてもよい。
a.一例で、2×N(例えば、N<=64)のクロマイントラブロックは、デュアルツリーで許可されなくてもよい。
i.一例で、treeTypeがDUAL_TREE_CHROMAに等しく、ブロック幅が4クロマサンプルに等しい場合に、垂直BT分割は許されなくてもよい。
ii.一例で、treeTypeがDUAL_TREE_CHROMAに等しく、ブロック幅が8クロマサンプルに等しい場合に、垂直TT分割は許されなくてもよい。
b.一例で、2×N(例えば、N<=64)のクロマイントラ(及び/又はIBC)ブロックは、シングルツリーで許可されなくてもよい。
i.一例で、垂直BT分割を使用したM×N(例えば、M=8及びN<=64)コーディングツリーノードについては、次のプロセスの1つが適用されてもよい。
1.垂直BT分割は、4×N又は4×(N/2)クロマブロックについては許されないが、8×Nルーマブロックについては許されてもよい。
2.4×N又は4×(N/2)クロマブロックは、垂直BT分割でなくてもよく、それはMODE_INTRA又はMODE_IBCによってコーディングされてもよい。
3.垂直BT分割は、8×Nルーマブロック及び4×N又は4×(N/2)クロマブロックの両方について許されてもよいが、ルーマブロック及びクロマブロックは両方とも、MODE_INTRAによってコーディングされない(例えば、MODE_INTER又はMODE_IBCによってコーディングされてもよい)。
ii.一例で、垂直TT分割を使用したM×N(例えば、M=16及びN<=64)コーディングツリーノードについては、次のプロセスの1つが適用されてもよい。
1.垂直BT分割は、8×N又は8×(N/2)クロマブロックについては許されないが、16×Nルーマブロックについては許されてもよい。
2.8×N又は8×(N/2)クロマブロックは、垂直TT分割でなくてもよく、それはMODE_INTRA又はMODE_IBCによってコーディングされてもよい。
3.垂直TT分割は、16×Nルーマブロック及び8×N又は8×(N/2)クロマブロックの両方について許されてもよいが、ルーマブロック及びクロマブロックは両方とも、MODE_INTRAによってコーディングされない(例えば、MODE_INTER又はMODE_IBCによってコーディングされてもよい)。
【0134】
13.IBCモードは、ルーマ及び/又はクロマブロックについて、それが小さいブロックサイズであるかどうかにかかわらず許可されてもよい。
a.一例で、IBCモードは、たとえmodeTypeがMODE_TYPE_INTRAに等しいとしても、8×4/8×8/16×4及び4×N(例えば、N<=64)ルーマブロックを含むルーマブロックについて許されてもよい。
b.一例で、IBCモードは、たとえmodeTypeがMODE_TYPE_INTRAに等しいとしても、クロマブロックについて許されてもよい。
【0135】
14.IBC予測モードフラグの通知は、予測モードタイプ(例えば、MODE_TYPE_INTRA)に依存してもよい。
a.一例で、非SKIPブロックについてのIBC予測モードフラグ(例えば、スキップモードによってコーディングされないコーディングブロック)は、treeTypeがDUAL_TREE_CHROMAに等しくなく、かつ、modeTypeがMODE_TYPE_INTRAに等しい場合に、明示的にビットストリームで通知されてもよい。
【0136】
15.IBC予測モードフラグは、CU SKIPフラグ及びモードタイプ(例えば、modeType)に応じて推測されてもよい。
a.一例で、現在ブロックがSKIPモードでコーディングされ(例えば、cu_skip_flagが1に等しく)、かつ、modeTypeがMODE_TYPE_INTRAに等しい場合に、IBC予測モードフラグ(例えば、pred_mode_ibc_flag)は、1に等しいと推測されてもよい。
【0137】
16.パレットモードフラグの明示的な通知は、modeTypeに依存しなくてもよい。
a.一例で、パレットモードフラグ(例えば、pred_mode_plt_flag)の通知は、スライスタイプ、ブロックサイズ、予測モードなどに依存してもよい。ただし、modeTypeが何であっても。
b.一例で、パレットモードフラグ(例えば。pred_mode_plt_flag)は、modeTypeがMODE_TYPE_INTRA又はMODE_TYPE_INTRAに等しい場合に、0であると推測される。
【0138】
17.IBCモードは、modeTypeがMODE_TYPE_INTERに等しい場合に使用することを許可されてもよい。
a.一例で、クロマIBCは、modeTypeがMODE_TYPE_INTRAに等しい場合に許可されなくてもよい。
b.一例で、IBCモードは、modeTypeがMODE_TYPE_INTRA又はMODE_TYPE_INTERに等しい場合に使用することを許可されてもよい。
c.一例で、IBCモードは、modeTypeが何であろうとも使用することを許可されてもよい。
d.一例で、1つのSCIPU内で、IBC及びインターモードは両方とも許可されてもよい。
e.一例で、IBCクロマブロックのサイズは常に、対応するルーマブロックのサイズに対応してもよい。
f.一例で、modeTypeがMODE_TYPE_INTERに等しく、かつ、コーディングユニットサイズがルーマで4×4である場合に、pred_mode_ibc_flagの通知はスキップされてもよく、pred_mode_ibc_flagは、1に等しいと推測されてもよい。
【0139】
18.パレットモードは、modeTypeがMODE_TYPE_INTERである場合に使用することを許可されてもよい。
a.一例で、クロマパレットは、modeTypeがMODE_TYPE_INTRAである場合に許可されなくてもよい。
b.一例で、IBCモードは、modeTypeがMODE_TYPE_INTRA又はMODE_TYPE_INTERに等しい場合に使用すること許可されてもよい。
c.一例で、IBCモードは、modeTypeが何であるかにかかわらず使用することを許可されてもよい。
d.一例で、パレットモードは、modeTypeがMODE_TYPE_INTRA又はMODE_TYPE_INTERに等しい場合に使用することを許可されてもよい。
e.一例で、パレットモードは、modeTypeが何であろうとも使用することを許可されてもよい。
f.一例で、1つのSCIPU内で、パレット及びインターモードは両方とも許可されてもよい。
g.一例で、1つのSCIPU内で、パレット、IBC及びインターモードは全て許可されてもよい。
h.一例で、パレットクロマブロックのサイズは常に、対応するルーマブロックのサイズに対応する。
i.一例で、modeTypeがMODE_TYPE_INTERに等しく、かつ、コーディングユニットサイズがルーマで4×4である場合に、pred_mode_plt_flagの通知はスキップされてもよく、pred_mode_plt_flagは、1に等しいと推測されてもよい。
j.一例で、modeTypeがMODE_TYPE_INTRAに等しく、かつ、コーディングユニットサイズがルーマで4×4である場合に、1つのメッセージは、現在の予測モードがIBC又はパレットであるかどうかを示すために送信されてもよい。
k.一例で、パレットモードを有効/無効にするかどうかは、スライスタイプ及びmodeTypeに依存してもよい。
i.一例で、MODE_TYPE_INTRAを有するIスライスについて、パレットモードが有効にされてもよい。
ii.一例で、MODE_TYPE_INTERを有するP/Bスライスについて、パレットモードが有効にされてもよい。
【0140】
19.パレットモードが有効である場合に、ローカルデュアルツリーは許可されなくてもよい。
a.一例で、パレットモードが有効である場合に、modeTypeConditionは常に0に等しくセットされてもよい。
【0141】
20.幅がM(例えば、M=2)に等しいか、あるいは高さがN(例えば、N=2)に等しい小さいクロマブロックについては、許可されているイントラ予測モードは、大きいクロマブロックについて許可されているものとは異なるように制限されてもよい。
a.一例で、利用可能なクロマイントラ予測モードの中のイントラ予測モードのサブセットのみが使用されてもよい。
b.一例で、INTRA_DCモードのみが使用されてもよい。
c.一例で、INTRA_PLANARモードのみが使用されてもよい。
d.一例で、INTRA_ANGULAR18モードのみが使用されてもよい。
e.一例で、INTRA_ANGULAR50モードのみが使用されてもよい。
f.一例で、CCLMモードは許可されなくてもよい。
【0142】
21.幅がM(例えば、M=2)に等しいか、あるいは高さがN(例えば、N=2)に等しい小さいクロマブロックについては、変換タイプは、大きいクロマブロックについて許可されているものとは異なるように制限されてもよい。
a.一例で、変換スキップのみが使用されてもよ。
b.一例で、1次元変換のみが使用されてもよい。
c.一例で、複数のタイプの変換をサポートするコーディングツールは許可されない。
i.代替的に、複数のタイプの変換をサポートするコーディングツールの通知は省略される。
【0143】
22.CIIPは、MODE_TYPE_INTRAと見なされてもよい。
a.一例で、CIIPモードは、デュアルツリーパーティションが使用される場合に許可されてもよい。
i.一例で、CIIPモードは、CUタイプがDUAL_TREE_CHROMAである場合に許可されてもよい。
b.代替的に、CIIPは、MODE_TYPE_INTERと見なされてもよい。
i.一例で、クロマブロック幅がM(例えば、M=2)に等しい場合に、CIIPモードは許可されなくてもよい。
ii.一例で、クロマブロック幅がM(例えば、M=2)に等しい場合に、CIIPでのクロマのためのイントラ予測モードのサブセットは、単純なイントラ予測モードに制限されてもよい。
1.一例で、INTRA_DCは、クロマブロック幅がM(例えば、M=2)に等しい場合に、クロマイントラ予測のために使用されてもよい。
2.一例で、INTRA_ANGULAR18は、クロマブロック幅がM(例えば、M=2)に等しい場合に、クロマイントラ予測のために使用されてもよい。
3.一例で、INTRA_ANGULAR50は、クロマブロック幅がM(例えば、M=2)に等しい場合に、クロマイントラ予測のために使用されてもよい。
iii.一例で、CIIPでのクロマのためのイントラ予測モードは、単純なイントラ予測モードに制限されてもよい。
1.一例で、INTRA_DCは、クロマイントラ予測のために使用されてもよい。
2.一例で、INTRA_ANGULAR18モードは、クロマイントラ予測のために使用されてもよい。
3.一例で、INTRA_ANGULAR50モードは、クロマイントラ予測のために使用されてもよい。
【0144】
23.上記のビュレットについては、変数M及び/又はNは、予め定義されるか、又は通知されてもよい。
a.一例で、M及び/又はNは、カラーフォーマット(例えば、4:2:0、4:2:2、4:4:4)に更に依存してもよい。
【0145】
24.modeTypeは、より多くのタイプをカバーするように拡張されてもよい。
a.一例で、modeTypeはMODE_TYPE_IBCでもよい。modeTypeがMODE_TYPE_IBCに等しい場合に、予測モードはIBCと推測される。
i.一例で、pred_mode_flagは、この場合には通知されない。
ii.一例で、pred_mode_ibc_flagは、この場合には通知されない。
iii.一例で、pred_mode_plt_flagは、この場合には通知されない。
b.一例で、modeTypeはMODE_TYPE_PALETTEでもよい。modeTypeがMODE_TYPE_PALETTEに等しい場合に、予測モードはパレットモードと推測される。
i.一例で、pred_mode_flagは、この場合には通知されない。
ii.一例で、pred_mode_ibc_flagは、この場合には通知されない。
iii.一例で、pred_mode_plt_flagは、この場合には通知されない。
c.一例で、mode_constraint_flagは、許可されたmodeTypeのどれが使用されるかを示すためにインデックスで置き換えられてもよい。
【0146】
25.一例で、寸法W×Hを有するブロックに対してQT分割が許可されるかどうかは、寸法と組み合わされたmodeTypeに依存してもよい。
a.例えば、modeTypeがMODE_TYPE_INTERに等しく、かつ、Wが8に等しく、かつ、Hが8に等しい場合に、QT分割は許可されない。
【0147】
26.一例で、寸法W×Hを有するブロックに対して垂直TT分割が許可されるかどうかは、寸法と組み合わされたmodeTypeに依存してもよい。
a.例えば、modeTypeがMODE_TYPE_INTERに等しく、かつ、Wが16に等しく、かつ、Hが4に等しい場合に、垂直TT分割は許可されない。
【0148】
27.一例で、寸法W×Hを有するブロックに対して水平TT分割が許可されるかどうかは、寸法と組み合わされたmodeTypeに依存してもよい。
a.例えば、modeTypeがMODE_TYPE_INTERに等しく、かつ、Wが4に等しく、かつ、Hが16に等しい場合に、水平TT分割は許可されない。
【0149】
28.一例で、寸法W×Hを有するブロックに対して垂直BT分割が許可されるかどうかは、寸法と組み合わされたmodeTypeに依存してもよい。
a.例えば、modeTypeがMODE_TYPE_INTERに等しく、かつ、Wが8に等しく、かつ、Hが4に等しい場合に、垂直BT分割は許可されない。
【0150】
29.一例で、寸法W×Hを有するブロックに対して水平BT分割が許可されるかどうかは、寸法と組み合わされたmodeTypeに依存してもよい。
a.例えば、modeTypeがMODE_TYPE_INTERに等しく、かつ、Wが4に等しく、かつ、Hが8に等しい場合に、水平BT分割は許可されない。
【0151】
30.一例で、CUの予測モードがmodeTypeによって推測されるかどうかは、色成分及び/又はブロック寸法W×Hに依存してもよい。
a.例えば、クロマCUの予測モードはmodeTypeによって推測されるが、ルーマCUの予測モードはmodeTypeによって推測されるのではなく通知される。
i.例えば、W>4又はH>4である場合に、ルーマCUの予測モードは、modeTypeによって推測されるのではなく通知される。
【0152】
31.SCIPUが適用される場合に、第1成分のデルタQPに関連する情報を通知するかどうか及び/又はどのように通知するかは、第1成分の分割方法に依存してもよい。
a.一例で、SCIPUが適用される場合に、第1成分のデルタQPに関連する情報を通知するかどうか及び/又はどのように通知するかは、第1成分の分割方法に依存し、第2成分の分割方法から分離されてもよい。
b.一例で、第1成分はルーマであり、第2成分はクロマである。
c.一例で、第1成分はクロマであり、第2成分はルーマである。
【0153】
32.デュアルツリー及び/又はローカルデュアルツリーコーディング構造が適用される場合に、第1成分のデルタQPに関連する如何なる変数も、第2成分の復号又はパース(解析)プロセス中に変更できない。
a.一例で、ローカルデュアルツリーコーディング構造は、SCIPUに従って使用されてもよい。
b.一例で、第1成分はルーマであり、第2成分はクロマである。
i.変数はIsCuQpDeltaCodedでもよい。
c.一例で、第1成分はクロマであり、第2成分はルーマである。
i.変数はIsCuChromaQpOffsetCodedでもよい。
【0154】
33.SCIPUが適用される場合に、成分(例えば、ルーマ又はクロマ)のデルタQPに関連する情報は、特定の領域において、せいぜい一度だけ通知されてもよく、ルーマ成分及びクロマ成分は、同じモードタイプ(例えば、MODE_TYPE_INTER又はMODE_TYPE_INTRA)を共有することを必要とする。
a.一例で、特定の領域は、量子化グループと見なされる。
【0155】
5.実施形態
新たに加えられた部分は、太字イタリック体で強調表示されており、VVC作業草案から削除された部分は、二重括弧でマークされている(例えば、[[a]]は、文字“a”の削除を表す)。変更は、最新のVVC作業草案(JVET=O2001-v11)に基づいている。
【0156】
5.1 例となる実施形態#1
以下の実施形態は、小さいブロックのパーティションに対する制約及び予測モードが4:2:0及び4:4:4クロマフォーマットにのみ適用される(4:0:0及び4;4;4クロマフォーマットには適用されない)ことに関する。
【表9】
【0157】
5.2 例となる実施形態#2
以下の実施形態は、パレットモードフラグの通知がmodeTypeに依存しないことに関する。
【表10】
【0158】
5.3 例となる実施形態#3
以下の実施形態は、IBC予測モードフラグがCU SKIPフラグ及びmodeTypeに応じて推測されることに関する。
【表11】
【0159】
5.4 例となる実施形態#4
以下の実施形態は、IBC予測モードフラグの通知がMODE_TYPE_INTRAに依存し、及び/又はIBCモードがルーマブロックについて、それが小さいブロックサイズであるかどうかにかかわらず許可されることに関する。
【表12】
【0160】
5.5 例となる実施形態#5
以下の実施形態は、4:2:0及び4:2:2カラーフォーマットについて異なるイントラブロック制約を適用することに関する。
【表13】
【0161】
5.6 例となる実施形態#6
以下の実施形態は、シングルツリーで2×Nクロマイントラブロックを許可しないことに関する。
【表14】
【0162】
5.7 例となる実施形態#7
以下の実施形態は、デュアルツリーで2×Nクロマイントラブロックを許可しないことに関する。
【表15】
【0163】
5.8 例となる実施形態#8
以下の実施形態は、SCIPUクロマブロックに対してMODE_IBCを有効にすることに関する。
【表16】
【0164】
5.9 modeTypeがMODE_TYPE_INTERである場合のブロックパーティションを許可しないことに関して例となる実施形態#9(解決法1)
【表17】
【0165】
5.10 modeTypeがMODE_TYPE_INTERである場合のブロックパーティションを許可しないことに関して例となる実施形態#10(解決法2)
【表18】
【0166】
5.11 例となる実施形態#11
以下の実施形態は、MODE_TYPE_INTERが導出される場合のコーディングツリーの更なる分割の制約に関する。
【表19】
【0167】
5.12 例となる実施形態#12
以下の実施形態は、小さいブロックパーティションに関する制約に関するものであり、予測モードは、パレットモードが有効である場合には適用されない。
【表20】
【0168】
5.13 例となる実施形態#13
以下の実施形態は、4:2:2カラーフォーマットについての小さいクロマイントラブロックの制約に関するものである。
【表21】
【0169】
5.14 SCIPUにおけるデルタQP通知の例#1
【表22】
【0170】
5.15 SCIPUにおけるデルタQP通知の例#2
【表23】
【0171】
5.16 SCIPUにおけるデルタQP通知の例#3
【表24】
【0172】
5.17 SCIPUにおけるデルタQP通知の例#4
【表25】
【0173】
図17は、ビデオ処理装置1700のブロック図である。装置1700は、ここで記載されている方法の1つ以上を実装するために使用され得る。装置1700は、スマートフォン、タブレット、コンピュータ、モノのインターネット(IoT)レシーバ、などで具現化されてもよい。装置1700は、1つ以上のプロセッサ1702,1つ以上のメモリ1704、及びビデオ処理ハードウェア1706を含み得る。プロセッサ1702は、本明細書で記載される1つ以上の方法を実装するよう構成され得る。メモリ(複数のメモリ)1704は、本明細書で記載される方法及び技術を実装するために使用されるデータ及びコードを記憶するために使用され得る。ビデオ処理ハードウェア1706は、ハードウェア回路で、本明細書で記載されるいくつかの技術を実装するために使用され得る。いくつかの実施形態において、ビデオ処理ハードウェア1706は、プロセッサ1702(例えば、グラフィクスコプロセッサ)内に少なくとも部分的に含まれてもよい。
【0174】
図18は、ビデオを処理する方法1800のフローチャートである。方法1800は、ビデオのビデオ領域とそのビデオ領域の
コーディング表現との間の変換のために、ビデオ領域のカラーフォーマット及びクロマブロックサイズの間の関係を定義するシンタックスルールに従って
コーディング表現をパースするステップ(1802)と、シンタックスルールに従ってパースを実行することによって変換を実行するステップ(1804)とを含む。
【0175】
開示されている技術のいくつかの実施形態は、ビデオ処理ツール又はモードを有効にするとの決定又は判定を行うことを含む。例において、ビデオ処理ツール又はモードが有効にされる場合に、エンコーダは、ビデオのブロックの処理でツール又はモードを使用又は実装するが、結果として得られるビットストリームを、ツール又はモードの利用に基づいて必ずしも変更し得ない。つまり、ビデオのブロックからビデオのビットストリーム表現への変換は、ビデオ処理ツール又はモードが決定又は判定に基づいて有効にされる場合にそれを使用する。他の例においては、ビデオ処理ツール又はモードが有効にされる場合に、デコーダは、ビットストリームがビデオ処理ツール又はモードに基づいて変更されていると知った上でビットストリームを処理する。つまり、ビデオのビットストリーム表現からビデオのブロックへの変換は、決定又は判定に基づいて有効にされたビデオ処理ツール又はモードを用いて実行される。
【0176】
開示されている技術のいくつかの実施形態は、ビデオ処理ツール又はモードを無効にするとの決定又は判定を行うことを含む。例において、ビデオ処理ツール又はモードが無効にされる場合に、エンコーダは、ビデオのブロックからビデオのビットストリーム表現への変換でツール又はモードを使用しない。他の例においては、ビデオ処理ツール又はモードが無効にされる場合に、デコーダは、決定又は判定に基づいて有効にされたビデオ処理ツール又はモードを用いてビットストリームが変更されていないと知った上でビットストリームを処理する。
【0177】
本明細書中、「ビデオ処理」という用語は、ビデオ符号化、ビデオ復号、ビデオ圧縮又はビデオ圧縮解除を指し得る。例えば、ビデオ圧縮アルゴリズムは、ビデオのピクセル表現から、対応するビットストリーム表現への変換中に、又はその逆も同様に、適用されてもよい。現在のビデオブロックのビットストリーム表現は、例えば、シンタックスによって定義されるような、ビットストリーム内で同一位置にあるか又は異なった場所に広がっているかのどちらかであるビットに対応してもよい。例えば、マクロブロックは、変換及びコーディングされた誤差残余値に関して、更には、ビットストリーム内のヘッダ及び他のフィールドにおけるビットを用いて、符号化されてもよい。
【0178】
いくつかの実施形態において、以下の第1組の箇条書きが実装され得る。
【0179】
以下の箇条書きは、前のセクションの項目1で記載されている更なる技術とともに実装され得る。
【0180】
1.ビデオ処理の方法であって、
ビデオのビデオ領域とビデオ領域のコーディング表現との間の変換のために、ビデオ領域のカラーフォーマット及びクロマブロックサイズの間の関係を定義するシンタックスルールに従って、コーディング表現をパースするステップと、
シンタックスルールに従ってパースを実行することによって変換を実行するステップと
を含む方法。
【0181】
2.箇条1に記載の方法であって、
カラーフォーマットは4:4:4であり、
シンタックスルールは、クロマブロックがルーマブロックと同じサイズ制約に従うことを定める、
方法。
【0182】
3.箇条1に記載の方法であって、
カラーフォーマットは4:2:2であり、
シンタックスルールは、クロマブロックが4:2:0カラーフォーマットについてと同じサイズ制約に従うことを定める、
方法。
【0183】
4.箇条1乃至3のうちいずれかに記載の方法であって、
シンタックスルールは、予測モード及び小ブロックパーティションがクロマフォーマットに依存して使用されることを定める、
方法。
【0184】
5.箇条1に記載の方法であって、
シンタックスルールは、最小許容サイズがビデオ領域のカラーフォーマットに基づいてビデオ領域の変換のために有効にされることを定める、
方法。
【0185】
以下の箇条書きは、前のセクションの項目2で記載されている更なる技術とともに実装され得る。
【0186】
6.ビデオ処理の方法であって、
ビデオの特性及びビデオのクロマフォーマットに基づいて、ビデオのコーディングツリーノードのコーディングモードを決定するステップと、
決定されたコーディングモードを用いて、ビデオのコーディング表現とコーディングツリーノードのビデオブロックとの間の変換を実行するステップと
を含む方法。
【0187】
7.箇条6に記載の方法であって、
特性が:
i.コーディングツリーノードが水平二分木分割を用いたM×Nコーディングツリーノードであること、
ii.コーディングツリーノードが垂直二分木分割を用いたM×Nコーディングツリーノードであること、
iii.コーディングツリーノードが水平三分木分割を用いたM×Nコーディングツリーノードであること、又は
iv.コーディングツリーノードが垂直三分木分割を用いたM×Nコーディングツリーノードであること
のいずれかである場合に、コーディングモードは、クロマフォーマットが4:2:2である場合にMODE_TYPE_ALLであると、クロマフォーマットが4:2:0である場合にMODE_TYPE_INTRA又はMODE_TYPE_INTERであると決定される、
方法。
【0188】
8.箇条7に記載の方法であって、
M=8、又は16、又は32であり、
N=4、又は8、又は16である、
方法。
【0189】
以下の箇条書きは、前のセクションの項目12で記載されている更なる技術とともに実装され得る。
【0190】
9.ビデオ処理の方法であって、
ルールに基づいて、クロマブロックのあるサイズがビデオのビデオ領域で許されるかどうかを決定するステップと、
決定に基づいて、ビデオ領域とビデオ領域のコーディング表現との間の変換を実行するステップと
を含む方法。
【0191】
10.箇条9に記載の方法であって、
ルールは、2×Nのクロマブロックが、ビデオ領域がデュアルツリーパーティションを含むことにより許可されないことを定める、
方法。
【0192】
11.箇条9に記載の方法であって、
ルールは、2×Nのクロマブロックが、ビデオ領域がシングルツリーパーティションを含むことにより許可されないことを定める、
方法。
【0193】
12.箇条10又は11に記載の方法であって、
N<=64である、
方法。
【0194】
以下の箇条書きは、前のセクションの項目13、14及び15で記載されている更なる技術とともに実装され得る。
【0195】
13.ビデオ処理の方法であって、
ビデオ条件に関してコーディングモードの使用を許すルールに基づいて、コーディングモードがビデオ領域に対して許されることを決定するステップと、
決定に基づいて、ビデオ領域内のピクセルのコーディング表現とビデオ領域のピクセルとの間の変換を実行するステップと
を含む方法。
【0196】
14.箇条13に記載の方法であって、
ビデオ条件はブロックサイズであり、
ルールは、小ブロックサイズのルーマブロックに対してイントラブロックコピーモードの使用を認める、
方法。
【0197】
15.箇条14に記載の方法であって、
小ブロックサイズは、8×8、8×8、16×4又は4×Nのルーマブロックサイズを含む、
方法。
【0198】
16.箇条13に記載の方法であって、
ルールは、コーディングのMODE_TYPE_INTERモードを使用するビデオ領域の変換のためにイントラブロックコピーモードの使用を認める、
方法。
【0199】
17.箇条13に記載の方法であって、
ルールは、コーディングのMODE_TYPE_INTERモードを使用するビデオ領域の変換のためにパレットコーディングモードの使用を認める、
方法。
【0200】
以下の箇条書きは、前のセクションの項目16、17及び18で記載されている更なる技術とともに実装され得る。
【0201】
18.ビデオ処理の方法であって、
ビデオのビデオブロックとビデオブロックのコーディング表現との間の変換を、ビデオコーディングモードを用いて実行するステップを含み、
コーディングモードを通知するシンタックス要素は、ルールに基づいてコーディング表現に選択的に含まれる、
方法。
【0202】
19.箇条18に記載の方法であって、
ビデオコーディングモードは、イントラブロックコーディングモードであり、
ルールは、コーディング表現におけるシンタックス要素の包含を制御するためにビデオコーディングモードのタイプを使用することを定める、
方法。
【0203】
20.箇条19に記載の方法であって、
ルールは、非SKIPブロックを明示的に通知することを定める、
方法。
【0204】
21.箇条18に記載の方法であって、
ルールは、ビデオブロックのモードタイプ及びスキップフラグに基づいてイントラブロックコピーフラグを暗黙的に通知することを定める、
方法。
【0205】
22.箇条18に記載の方法であって、
ビデオコーディングモードは、パレットコーディングモードであり、
ルールは、ビデオブロックのモードタイプに基づいてパレットコーディングインジケータを選択的に含めることを定める、
方法。
【0206】
以下の箇条書きは、前のセクションの項目21で記載されている更なる技術とともに実装され得る。
【0207】
23.ビデオ処理の方法であって、
クロマブロックが閾サイズに満たないサイズを有していることにより、クロマブロックとクロマブロックのコーディング表現との間の変換中に使用される変換タイプが、対応するルーマブロック変換に使用される変換タイプとは異なることを決定するステップと、
決定に基づいて変換を実行するステップと
を含む方法。
【0208】
24.箇条23に記載の方法であって、
閾サイズはM×Nであり、
Mは2である、
方法。
【0209】
以下の箇条書きは、前のセクションの項目22で記載されている更なる技術とともに実装され得る。
【0210】
25.箇条1乃至24のうちいずれかに記載の方法であって、
変換は、インター-イントラ複合予測モードをMODE_TYPE_INTRAモードとして使用する、
方法。
【0211】
26.箇条18乃至22のうちいずれかに記載の方法であって、
変換は、インター-イントラ複合予測モードをMODE_TYPE_INTERとして使用する、
方法。
【0212】
例えば、CIIPをMODE_TYPE_INTERと見なす場合に、前のセクションで項目14-17で記載されている方法が適用され得る。あるいは、項目14-16で記載されている方法が適用される場合に、CIIPは、MODE_TYPE_INTERと見なされ得る。
【0213】
以下の箇条書きは、前のセクションの項目3-6で記載されている更なる技術とともに実装され得る。
【0214】
27.ビデオ処理の方法であって、
ビデオ領域のコーディング条件に基づいて、ビデオ領域のコーディング表現とビデオ領域のピクセル値との間の変換中に最小クロマブロックルールが強制されるかどうかを決定するステップと、
決定に基づいて変換を実行するステップと
を含む方法。
【0215】
28.箇条27に記載の方法であって、
コーディング条件は、ビデオ領域のカラーフォーマットを含む、
方法。
【0216】
29.箇条28に記載の方法であって、
ビデオ領域は、Mピクセルの幅及びNピクセルの高さを有し、コーディング条件は、M及び/又はNの値に更に依存する、
方法。
【0217】
30.箇条29に記載の方法であって、
4:2:2カラーフォーマット及びM*N=32又はM*N=64を有するビデオ領域のために、最小クロマブロックルールが有効にされる、
方法。
【0218】
以下の箇条書きは、前のセクションの項目7-11で記載されている更なる技術とともに実装され得る。
【0219】
31.ビデオ処理の方法であって、
4:2:2フォーマットにおけるビデオ領域のコーディング表現とビデオ領域のピクセル値との間の変換のために、ビデオ領域について最小クロマブロックルールが有効であるかどうかに基づいて、変換に使用されるモードタイプを決定するステップと、
決定に基づいて変換を実行するステップと
を含む方法。
【0220】
32.箇条31に記載の方法であって、
ビデオ領域が4:2:2フォーマットを有し、かつ、最小クロマブロックルールが有効であるために、ビデオ領域のモードタイプが1にセットされる、
方法。
【0221】
33.箇条31に記載の方法であって、
モードタイプを決定するステップは、最小クロマブロックルールがビデオ領域について有効であるために、モードタイプがINTRAタイプであると決定するステップを含む、
方法。
【0222】
34.箇条31に記載の方法であって、
モードタイプを決定するステップは、最小クロマブロックルールがビデオ領域について有効であるために、モードタイプINTERが無効であると決定するステップを含む、
方法。
【0223】
以下の箇条書きは、前のセクションの項目7-11で記載されている更なる技術とともに実装され得る。
【0224】
35.ビデオ処理の方法であって、
ビデオブロックのコーディング表現とビデオのビデオブロックとの間の変換のために、変換中に使用されるモードタイプ又はビデオブロックの寸法に基づいて、ブロックパーティションが変換中に許可されるかどうかを決定するステップと、
決定を使用して変換を実行するステップと
を含む方法。
【0225】
36.箇条35に記載の方法であって、
ブロックパーティションは、二分木パーティション又は三分木パーティションを含む、
方法。
【0226】
37.箇条35又は36に記載の方法であって、
モードタイプがINTERモードである場合に、ブロックパーティションは、パーティションタイプを許可する又は許可しない制限ルールに基づく、
方法。
【0227】
38.箇条1乃至37のうちいずれかに記載の方法であって、
変換は、ビデオをコーディング表現に符号化することを含む、
方法。
【0228】
39.箇条1乃至37のうちいずれかに記載の方法であって、
変換は、ビデオのピクセル値を生成するようコーディング表現を復号することを含む、
方法。
【0229】
40.箇条1乃至39のうちの1つ以上に記載されている方法を実装するよう構成されたプロセッサを含むビデオ復号装置。
【0230】
41.箇条1乃至39のうちの1つ以上に記載されている方法を実装するよう構成されたプロセッサを含むビデオ符号化装置。
【0231】
42.コンピュータコードを記憶しているコンピュータプログラム製品であって、
コードは、プロセッサによって実行される場合に、プロセッサに、箇条1乃至39のうちいずれかに記載の方法を実装させる、
コンピュータプログラム製品。
【0232】
43.本明細書で記載されている方法、装置、又はシステム。
【0233】
第2組の箇条書きは、前のセクション(例えば、項目1、3-11、18、19及び24)における開示された技術の特定の特徴及び態様を記載する。
【0234】
1.ビデオ処理の方法(例えば、
図21Aに示される方法2110)であって、
ビデオのビデオ領域とビデオの
コーディング表現との間の変換のために、ルールに従ってビデオのカラーフォーマットに基づいてビデオ領域のイントラコーディング特性を決定するステップ(2112)と、
イントラコーディング特性に従って変換を実行するステップ(2114)と
を含む方法。
【0235】
2.箇条1に記載の方法であって、
ルールは、ビデオ領域のカラーフォーマットが4:0:0又は4:4:4である場合に、イントラコーディング特性が、ビデオ領域について全てのコーディングモードが有効であることを指定し、コーディング表現は、ビデオ領域に使用されるモードタイプを示すシンタックス要素についてMODE_TYPE_ALL値を含むことを指定する、
方法。
【0236】
3.箇条1又は2に記載の方法であって、
ルールは、カラーフォーマットが4:0:0又は4:4:4である場合に、コーディング表現が、モードタイプが0にセットされると決定するための条件を示すシンタックス要素を含むことを指定する、
方法。
【0237】
4.箇条1乃至3のうちいずれか1項に記載の方法であって、
ルールは、ビデオ領域内のイントラコーディングされたクロマブロックに対する最小許容サイズに関する制限が有効であるかどうかが、カラーフォーマットに依存することを指定する、
方法。
【0238】
5.箇条4に記載の方法であって、
ルールは、4:2:0及び4:2:2フォーマットについて制限が有効であることを指定する、
方法。
【0239】
6.箇条4に記載の方法であって、
ルールは、4:0:0及び4:4:4フォーマットについて制限が無効であることを指定する、
方法。
【0240】
7.ビデオ処理の方法(例えば、
図21Bに示される方法2120)であって、
ビデオの現在ビデオブロックとビデオの
コーディング表現との間の変換を実行するステップ(2122)を含み、
コーディング表現はフォーマットルールに準拠し、フォーマットルールは、変換のためにインターコーディングモードの使用を制限するMODE_TYPE_NO_INTER、又は変換のためにイントラモードの使用を制限するMODE_TYPE_NO_INTRAのいずれかに等しい、現在ビデオブロックのコーディングモードを示すシンタックス要素modeTypeを指定する、
方法。
【0241】
8.ビデオ処理の方法(例えば、
図21Bに示される方法2120)であって、
ビデオとビデオの
コーディング表現との間の変換を実行するステップ(2122)を含み、
コーディング表現は、ビデオのクロマフォーマットが4:2:2、4:0:0又は4:4:4である場合に予測モード制約を示すフラグが
コーディング表現に含まれないことを指定するフォーマットルールに準拠する、
方法。
【0242】
9.箇条8に記載の方法であって、
フラグが存在しない場合に、対応する値は、0又は1と推測される、
方法。
【0243】
10.ビデオ処理の方法(例えば、
図21Cに示される方法2130)であって、
ビデオのビデオ領域とビデオの
コーディング表現との間の変換のために、ルールに従ってビデオ領域への最小クロマイントラ予測ブロックのサイズに関する制限が有効化されているかどうか及び/又はどのように有効化されているかを決定するステップ(2132)と、
決定に基づいて変換を実行するステップ(2134)と
を含み、
ルールは、ビデオのカラーフォーマットが4:2:0であるか4:2:2であるかに依存する、
方法。
【0244】
11.ビデオ処理の方法であって、
ビデオのビデオ領域とビデオのコーディング表現との間の変換のために、ルールに従ってビデオ領域への最小クロマイントラ予測ブロックのサイズに関する制限が有効であるかどうかを決定するステップと、
決定に基づいて変換を実行するステップと
を含み、
ルールは、ビデオのカラーフォーマット及び/又はビデオ領域の幅(M)及び高さ(N)に依存し、ルールは、BT(二分木)分割を有するコーディングツリーノードであるビデオ領域について、最小クロマイントラ予測ブロックに関する制限が、1)ビデオのカラーフォーマットが4:2:2であり、かつ、2)M及びNの乗算が値の集合からの値である場合に無効であることを更に指定し、値の集合は64を含む、
方法。
【0245】
12.箇条11に記載の方法であって、
ルールは、最小クロマイントラ予測ブロックに関する制限が、1)ビデオのカラーフォーマットが4:2:2であり、かつ、2)値の集合が32を更に含む場合に有効であることを更に指定する、
方法。
【0246】
13.箇条11に記載の方法であって、
ルールは、最小クロマイントラ予測ブロックに関する制限が、1)ビデオのカラーフォーマットが4:2:2であり、かつ、2)値の集合が128を更に含む場合に無効であることを更に指定する、
方法。
【0247】
14.箇条11に記載の方法であって、
ルールは、split_qt_flagが1に等しいコーディングツリーノードであるビデオ領域について、最小クロマイントラ予測ブロックに関する制限が、ビデオのカラーフォーマットが4:2:2である場合に有効であることを更に指定する、
方法。
【0248】
15.箇条11に記載の方法であって、
ルールは、TT(三分木)分割を有するコーディングツリーノードであるビデオ領域について、最小クロマイントラ予測ブロックに関する制限が、ビデオのカラーフォーマットが4:2:2である場合に有効であることを更に指定する、
方法。
【0249】
16.箇条11に記載の方法であって、
ルールは、BT(二分木)分割を有するコーディングツリーノードであるビデオ領域について、最小クロマイントラ予測ブロックに関する制限が、1)ビデオのカラーフォーマットが4:2:2であり、かつ、2)値の集合が32を更に含む場合に有効であることを更に指定する、
方法。
【0250】
17.箇条11乃至16のうちいずれか1項に記載の方法であって、
ルールは、4:2:2カラーフォーマットを有するビデオにおける最小クロマイントラ予測ブロックについて、modeTypeConditionが常に1に等しいことを更に指定する、
方法。
【0251】
18.箇条11乃至17のうちいずれか1項に記載の方法であって、
ルールは、4:2:2カラーフォーマットを有するビデオにおける最小クロマイントラ予測ブロックについて、変換のためにイントラモード、パレットモード及びイントラブロックコピーモードの使用を可能にするMODE_TYPE_INTRAのみが許可されることを更に指定する、
方法。
【0252】
19.ビデオ処理の方法であって、
最小クロマイントラ予測ブロックサイズに関する制限に従って、ビデオのビデオ領域とビデオのコーディング表現との間の変換を実行するステップを含み、
コーディング表現は、ビデオの4:2:2カラーフォーマットのために、コーディング表現におけるシンタックスフィールドの値を指定するフォーマットルールに準拠する、
方法。
【0253】
20.箇条19に記載の方法であって、
シンタックスフィールドは、SCIPUブロックのmodeTypeConditionに対応し、フォーマットルールは、4:2:2カラーフォーマットのために、modeTypeConditionが常に1であることを更に指定する、
方法。
【0254】
21.箇条19に記載の方法であって、
シンタックスフィールドは、SCIPUブロックのmodeTypeConditionに対応し、フォーマットルールは、4:2:2カラーフォーマットのために、modeTypeConditionが0又は1であることを更に指定する、
方法。
【0255】
22.箇条19に記載の方法であって、
シンタックスフィールドは、SCIPUブロックのmodeTypeConditionに対応し、フォーマットルールは、4:2:2カラーフォーマットのために、modeTypeConditionが2でないことを更に指定する、
方法。
【0256】
23.箇条19に記載の方法であって、
シンタックスフィールドは、SCIPUブロックのmodeTypeに対応し、フォーマットルールは、4:2:2カラーフォーマットのために、modeTypeが、常にイントラモード、パレットモード及びイントラブロックコピーモードの使用を可能にするMODE_TYPE_INTRAに等しいことを更に指定する、
方法。
【0257】
24.箇条19に記載の方法であって、
シンタックスフィールドは、SCIPUブロックのmodeTypeに対応し、フォーマットルールは、4:2:2カラーフォーマットのために、modeTypeが、1)変換のためにインターコーディングモード、イントラモード、パレットモード及びイントラブロックコピーモードの使用を可能にするMODE_TYPE_ALL、又は2)イントラモード、パレットモード及びイントラブロックコピーモードの使用を可能にするMODE_TYPE_INTRAに等しいことを更に指定する、
方法。
【0258】
25.箇条19に記載の方法であって、
シンタックスフィールドは、SCIPUブロックのmodeTypeに対応し、フォーマットルールは、4:2:2カラーフォーマットのために、modeTypeが変換のためにインターモードのみの使用を可能にするMODE_TYPE_INTERに対応しないことを更に指定する、
方法。
【0259】
26.ビデオ処理の方法(例えば、
図21Dに示される方法2140)であって、
ビデオの現在ビデオブロックとビデオの
コーディング表現との間の変換のために、ルールに従って現在ビデオブロックへのパーティション方式の適用可能性を決定するステップ(2142)と、
決定に基づいて変換を実行するステップ(2144)と
を含む方法。
【0260】
27.箇条26に記載の方法であって、
ルールは、決定が、変換中に使用されるモードタイプ又は現在ビデオブロックの寸法のうちの少なくとも1つに基づいて、適用可能性を決定することを指定し、パーティション方式は、BT(二分木)分割及び/又はTT(三分木)分割を含む、
方法。
【0261】
28.箇条27に記載の方法であって、
モードタイプが、変換のためにインターモードのみの使用を可能にするMODE_TYPE_INTERに等しい場合に、BT分割は、現在ビデオブロックについて許可されない、
方法。
【0262】
29.箇条27に記載の方法であって、
モードタイプが、変換のためにインターモードのみの使用を可能にするMODE_TYPE_INTERに等しい場合に、TT分割は、現在ビデオブロックについて許可されない、
方法。
【0263】
30.箇条27に記載の方法であって、
M*Nが32以下であり、かつ、モードタイプが、変換のためにインターモードのみの使用を可能にするMODE_TYPE_INTERに等しい場合に、BT分割は許可されず、M及びNは現在ビデオブロックの高さ及び幅に対応する、
方法。
【0264】
31.箇条27に記載の方法であって、
M*Nが64以下であり、かつ、モードタイプが、変換のためにインターモードのみの使用を可能にするMODE_TYPE_INTERに等しい場合に、TT分割は許可されず、M及びNは現在ビデオブロックの高さ及び幅に対応する、
方法。
【0265】
32.箇条26に記載の方法であって、
ルールは、コーディング表現に含まれており、かつ、変換中に使用されるモードタイプを記述するシンタックス要素modeTypeCurrに基づいて、特定のパーティション方式を制限することを指定し、特定のパーティション方式は、BT(二分木)分割、TT(三分木)分割及び/又はQT(四分木)分割を含む、
方法。
【0266】
33.箇条32に記載の方法であって、
変換のためにインターモードのみの使用を可能にするMODE_TYPE_INTERに等しいmodeTypeCurrのために、BT分割は許可されない、
方法。
【0267】
34.箇条32に記載の方法であって、
変換のためにインターモードのみの使用を可能にするMODE_TYPE_INTERに等しいmodeTypeCurrのために、TT分割は許可されない、
方法。
【0268】
35.箇条32に記載の方法であって、
変換のためにインターモードのみの使用を可能にするMODE_TYPE_INTERに等しいmodeTypeCurrのために、QT分割は許可されない、
方法。
【0269】
36.箇条32に記載の方法であって、
BT分割は、modeTypeCurrが変換のためにインターモードのみの使用を可能にするMODE_TYPE_INTERに等しく、かつ、ルーマブロックサイズが32以下である場合に許可されない、
方法。
【0270】
37.箇条32に記載の方法であって、
TT分割は、modeTypeCurrが変換のためにインターモードのみの使用を可能にするMODE_TYPE_INTERに等しく、かつ、ルーマブロックサイズが64以下である場合に許可されない、
方法。
【0271】
38.ビデオ処理の方法(例えば、
図21Eに示される方法2150)であって、
ビデオのビデオブロックとビデオの
コーディング表現との間の変換のために、ルールに従ってインターモードが有効であるかどうかを決定するステップ(2152)と、
決定に基づいて変換を実行するステップ(2154)と
を含み、
ルールは、ルーマサンプルのデュアルツリーパーティションがビデオブロックについて有効である場合にインターモードが有効であることを指定する、
方法。
【0272】
39.箇条38に記載の方法であって、
コーディング表現は、DUAL_TREE_LUMAに等しいシンタックスフィールドを含む、
方法。
【0273】
40.箇条38に記載の方法であって、
インターモードでコーディングされたコーディングユニットは、複数の色成分を有するカラーフォーマットについてルーマサンプルのみを含む、
方法。
【0274】
41.箇条38に記載の方法であって、
コーディング表現は、ビデオブロックに適用される予測モードを示すフラグを含み、フラグは、デュアルツリータイプを有するルーマブロックに対応するビデオブロックについてパースされる、
方法。
【0275】
42.箇条38に記載の方法であって、
ルールは、ルーマサンプルのデュアルツリーパーティション又はシングルツリーパーティションがビデオブロックについて有効であるかどうかにかかわらず、インターモードに関する同じ制約を適用することを更に指定する、
方法。
【0276】
43.ビデオ処理の方法(例えば、
図21Fに示される方法2160)であって、
ビデオのビデオ領域とビデオの
コーディング表現との間の変換のために、ルールに基づいて、パレットモードの使用がビデオ領域について許可されているかどうかを決定するステップ(2162)と、
決定に基づいて変換を実行するステップ(2164)と
を含み、
パレットモードは、代表サンプル値のパレットを使用してビデオ領域を符号化することを含む、
方法。
【0277】
44.箇条43に記載の方法であって、
ルールは、ビデオ領域のモードタイプが、変換のためにイントラモード、パレットモード及びイントラブロックコピーモードの使用を可能にするMODE_TYPE_INTRA、又は変換のためにインターモードのみの使用を可能にするMODE_TYPE_INTERに等しい場合に、パレットモードが許可されることを指定する、
方法。
【0278】
45.箇条43に記載の方法であって、
ルールは、パレットモードがビデオ領域のモードタイプとは独立して許可されることを指定する、
方法。
【0279】
46.箇条43に記載の方法であって、
ルールは、ビデオ領域のスライスタイプ及びモードタイプに基づく、
方法。
【0280】
47.箇条46に記載の方法であって、
ルールは、モードタイプが変換のためにイントラモード、パレットモード及びイントラブロックコピーモードの使用を可能にするMODE_TYPE_INTRAに等しいIスライスについてパレットモードが許可されることを指定する、
方法。
【0281】
48.箇条46に記載の方法であって、
ルールは、モードタイプが変換のためにイントラモード、パレットモード及びイントラブロックコピーモードの使用を可能にするMODE_TYPE_INTRAに等しいP/Bスライスについてパレットモードが許可されることを指定する、
方法。
【0282】
49.箇条43に記載の方法であって、
ルールは、パレットモードが許可される場合に、ローカルデュアルツリーが許可されないことを更に指定する、
方法。
【0283】
50.箇条43に記載の方法であって、
パレットモードが有効である場合に、modeTypeConditionは、常に0にセットされる、
方法。
【0284】
51.ビデオ処理の方法であって、
ビデオの現在ビデオブロックとビデオのコーディング表現との間の変換を実行するステップを含み、
コーディング表現はフォーマットルールに準拠し、フォーマットルールは、変換のためにイントラブロックコピーモードの使用を可能にするMODE_TYPE_IBC、又は変換のためにパレットモードの使用を可能にするMODE_TYPE_PALETTEを含むシンタックス要素modeTypeを指定し、イントラブロックコピーモードは、現在ビデオブロックを含むビデオフレームを指し示すブロックベクトルを少なくとも使用して現在ビデオブロックを符号化することを含み、パレットモードは、代表サンプル値のパレットを使用して現在ビデオブロックを符号化することを含む、
方法。
【0285】
52.箇条51に記載の方法であって、
フォーマットルールは、modeTypeがMODE_TYPE_IBC又はMODE_TYPE_PALETTEである場合に、コーディング表現がpred_mode_flag、pred_mode_ibc_flag及び/又はpre_mode_plt_flagを含まないことを更に指定する、
方法。
【0286】
53.箇条51に記載の方法であって、
コーディング表現は、mode_constraint_flagの代わりに、変換に使用されるモードタイプを示すインデックスを含む、
方法。
【0287】
54.箇条1乃至53のうちいずれか1項に記載の方法であって、
変換は、ビデオをコーディング表現に符号化することを含む、
方法。
【0288】
55.箇条1乃至53のうちいずれかに記載の方法であって、
変換は、ビデオを生成するようコーディング表現を復号することを含む、
方法。
【0289】
56.箇条1乃至55のうちの1つ以上に記載されている方法を実装するよう構成されたプロセッサを含むビデオ処理装置。
【0290】
57.プログラムコードを記憶しているコンピュータ可読媒体であって、
実行される場合に、プロセッサに、箇条1乃至55のうちいずれか1つ以上に記載の方法を実装させる、
コンピュータ可読媒体。
【0291】
58.上記の方法のいずれかに従って生成されたコーディング表現又はビットストリーム表現を記憶しているコンピュータ可読媒体。
【0292】
第3組の箇条書きは、前のセクション(例えば、項目25-33)における開示された技術の特定の特徴及び態様を記載する。
【0293】
1.ビデオ処理の方法であって、
ビデオの現在ビデオブロックとビデオのコーディング表現との間の変換のために、コーディング表現における現在ビデオブロックを表現するために使用されるコーディングモードタイプと現在ビデオブロックの寸法とに依存するルールに従って、特定のパーティション方式が現在ビデオブロックについて許可されているかどうかを決定するステップと、
決定に基づいて変換を実行するステップと
を含む方法。
【0294】
2.箇条1に記載の方法であって、
特定のパーティション方式は、現在ビデオブロックが水平方向と垂直方向との両方に4つの部分に分割されるQT(四分木)分割、現在ビデオブロックが垂直方向に3つの部分に分割される垂直TT(三分木)分割、現在ビデオブロックが水平方向に3つの部分に分割される水平TT分割、現在ビデオブロックが垂直方向に2つの部分に分割される垂直BT(二分木)分割、及び/又は現在ビデオブロックが水平方向に2つの部分に分割される水平BT分割を含む、
方法。
【0295】
3.箇条1に記載の方法であって、
ルールは、1)コーディング表現が、インターモードのみが現在ビデオブロックについて許可されるコーディングモードタイプに対応するMODE_TYPE_INTER値を含み、かつ、2)現在ビデオブロックの幅及び高さの両方が8である場合に、QT(四分木)分割が現在ビデオブロックについて許可されないことを指定する、
方法。
【0296】
4.箇条1に記載の方法であって、
ルールは、1)コーディング表現が、インターモードのみが現在ビデオブロックについて許可されるコーディングモードタイプに対応するMODE_TYPE_INTER値を含み、かつ、2)現在ビデオブロックの幅及び高さの乗算が64である場合に、TT(三分木)分割が現在ビデオブロックについて許可されないことを指定する、
方法。
【0297】
5.箇条4に記載の方法であって、
ルールは、コーディング表現がMODE_TYPE_INTER値を含み、現在ビデオブロックの幅及び高さがそれぞれ16及び4である場合に、垂直TT(三分木)分割が許可されないことを更に指定する、
方法。
【0298】
6.箇条4に記載の方法であって、
ルールは、コーディング表現がMODE_TYPE_INTER値を含み、現在ビデオブロックの幅及び高さがそれぞれ4及び16である場合に、水平TT(三分木)分割が許可されないことを更に指定する、
方法。
【0299】
7.箇条1に記載の方法であって、
ルールは、1)コーディング表現が、インターモードのみが現在ビデオブロックについて許可されるコーディングモードタイプに対応するMODE_TYPE_INTER値を含み、かつ、2)現在ビデオブロックの幅及び高さの乗算が32である場合に、BT(二分木)分割が現在ビデオブロックについて許可されないことを指定する、
方法。
【0300】
8.箇条7に記載の方法であって、
ルールは、コーディング表現がMODE_TYPE_INTER値を含み、現在ビデオブロックの幅及び高さがそれぞれ8及び4である場合に、垂直BT(二分木)分割が許可されないことを更に指定する、
方法。
【0301】
9.箇条7に記載の方法であって、
ルールは、コーディング表現がMODE_TYPE_INTER値を含み、現在ビデオブロックの幅及び高さがそれぞれ4及び8である場合に、水平BT(二分木)分割が許可されないことを更に指定する、
方法。
【0302】
10.ビデオ処理の方法であって、
ビデオのビデオブロックとビデオのコーディング表現との間の変換を実行するステップを含み、
コーディング表現はフォーマットルールに準拠し、フォーマットルールは、ビデオブロックの特性が、コーディング表現におけるシンタックス要素がビデオブロックの予測モードを示すかどうかを制御することを指定する、
方法。
【0303】
11.箇条10に記載の方法であって、
ビデオブロックの特性は、ビデオブロックの色成分又は寸法のうちの少なくとも1つを含む、
方法。
【0304】
12.箇条10又は11に記載の方法であって、
フォーマットルールは、シンタックス要素がクロマブロックに対応するビデオブロックの予測モードを示すことを更に指定する、
方法。
【0305】
13.箇条10乃至12のうちいずれか1項に記載の方法であって、
フォーマットルールは、シンタックス要素がルーマブロックに対応するビデオブロックの予測モードを示さないことを更に指定し、ルーマブロックに対応するビデオブロックの予測モードはコーディング表現に含まれる、
方法。
【0306】
14.箇条13に記載の方法であって、
ビデオブロックは、4よりも大きい幅及び高さを有する、
方法。
【0307】
15.ビデオ処理の方法であって、
ビデオの第1成分のビデオ領域とビデオのコーディング表現との間の変換を実行するステップを含み、
コーディング表現はフォーマットルールに準拠し、フォーマットルールは、ビデオ領域についての差分量子化パラメータを示すためにコーディング表現においてシンタックスフィールドが構成されているかどうか及び/又はどのように構成されているかが、第1成分のサンプルを分割するために使用される分割方式に依存することを指定する、
方法。
【0308】
16.箇条15に記載の方法であって、
フォーマットルールは、コーディング表現においてシンタックスフィールドが構成されているかどうか及び/又はどのように構成されているかが、ビデオの第2成分のサンプルを分割するために使用される分割方式とは独立していることを更に指定する、
方法。
【0309】
17.箇条15又は16に記載の方法であって、
第1成分はルーマ成分であり、第2成分はクロマ成分である、
方法。
【0310】
18.箇条15又は16に記載の方法であって、
第1成分はクロマ成分であり、第2成分はルーマ成分である、
方法。
【0311】
19.箇条15に記載の方法であって、
フォーマットルールは、ルーマ成分及びクロマ成分が同じモードタイプを共有する特定の領域において、差分量子化パラメータに関連する情報を最大で一度だけ含めることを更に指定する、
方法。
【0312】
20.箇条15に記載の方法であって、
特定の領域は量子化グループに対応する、
方法。
【0313】
21.ビデオ処理の方法であって、
ルールに従ってビデオの第1成分のビデオ領域とビデオのコーディング表現との間の変換を実行するステップを含み、
ルールは、デュアルツリー及び/又はローカルデュアルツリーコーディング構造がビデオ領域に適用される場合に、第1成分の差分量子化パラメータに関連する変数がビデオの第2成分の復号又はパースのプロセス中に変更されないことを指定する、
方法。
【0314】
22.箇条21に記載の方法であって、
クロマブロックに対する最小許容サイズに関する制限がビデオ領域に適用される場合に、ローカルデュアルツリー構造がビデオ領域に適用される、
方法。
【0315】
23.箇条21又は22に記載の方法であって、
第1成分はルーマ成分であり、第2成分はクロマ成分である、
方法。
【0316】
24.箇条21又は22に記載の方法であって、
第1成分はクロマ成分であり、第2成分はルーマ成分である、
方法。
【0317】
25.箇条21乃至24のうちいずれか1項に記載の方法であって、
差分量子化パラメータは、ビデオブロックに適用される量子化値と、隣接ビデオブロックに適用される前の量子化値との差を示す、
方法。
【0318】
26.箇条1乃至25のうちいずれか1項に記載の方法であって、
変換の実行は、ビデオからコーディング表現を生成することを含む、
方法。
【0319】
27.箇条1乃至25のうちいずれか1項に記載の方法であって、
変換の実行は、コーディング表現からビデオを生成することを含む、
方法。
【0320】
28.箇条1乃至27のうちいずれか1つ以上に記載されている方法を実装するよう構成されたプロセッサを含むビデオ処理装置。
【0321】
29.プログラムコードを記憶しているコンピュータ可読媒体であって、
実行される場合に、プロセッサに、箇条1乃至27のうちいずれか1つ以上に記載の方法を実装させる、
コンピュータ可読媒体。
【0322】
30.上記の方法のいずれかに従って生成されたコーディング表現又はビットストリーム表現を記憶しているコンピュータ可読媒体。
【0323】
本明細書で記載されている開示された及び他の解決法、例、実施形態、モジュール及び機能的動作は、デジタル電子回路で、あるいは、本明細書で開示されている構造及びそれらの構造的同等物を含むコンピュータソフトウェア、ファームウェア、又はハードウェアで、あるいは、それらのうちの1つ以上の組み合わせで実装可能である。開示された及び他の実施形態は、1つ以上のコンピュータプログラム製品、つまり、データ処理装置によって実行されるか又はその動作を制御するコンピュータ可読媒体で符号化されたコンピュータプログラム命令の1つ以上のモジュール、として実装可能である。コンピュータ可読媒体は、マシン可読記憶デバイス、マシン可読記憶基板、メモリデバイス、マシン可読な伝播信号に影響を与える物質の組成、又はそれらの1つ以上の組み合わせであることができる。「データ処理装置」との用語は、例として、プログラム可能なプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含む、データを処理するための全ての装置、デバイス、及びマシンを包含する。装置は、ハードウェアに加えて、問題となっているコンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ以上の組み合わせを構成するコードを含むことができる。伝播信号は、人工的に生成された信号、例えば、適切な受信器装置への伝送のために情報を符号化するよう生成される、マシンにより生成された電気、光、又は電磁気信号である。
【0324】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる。)は、コンパイル済み又は解釈済みの言語を含む如何なる形式のプログラミング言語でも記述可能であり、それは、スタンドアロンプログラムとして又はコンピューティング環境における使用に適したモジュール、コンポーネント、サブルーチン、若しくは他のユニットとして含め、如何なる形式でもデプロイ可能である。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応しない。プログラムは、問題となっているプログラムに専用の単一のファイルで、又は複数の協調したファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を保存するファイル)で、他のプログラム又はデータ(例えば、マークアップ言語文書で保存された1つ以上のスクリプト)を保持するファイルの部分において保存可能である。コンピュータプログラムは、1つのコンピュータで、あるいは、1つの場所に位置しているか、又は複数の場所にわたって分布しており、通信ネットワークによって相互接続されている複数のコンピュータで、実行されるようデプロイ可能である。
【0325】
本明細書で説明されているプロセス及びロジックフローは、入力データに作用して出力を生成することによって機能を実行するよう1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行可能である。プロセス及びロジックフローはまた、専用のロジック回路、例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)又は特定用途向け集積回路(ASIC)によっても実行可能であり、装置は、そのようなものとして実装可能である。
【0326】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用のマイクロプロセッサ及び専用のマイクロプロセッサの両方、並びにあらゆる種類のデジタルコンピュータのいずれか1つ以上のプロセッサを含む。一般に、プロセッサは、リード・オンリー・メモリ若しくはランダム・アクセス・メモリ又はその両方から命令及びデータを読み出すことになる。コンピュータの必須の要素は、命令を実行するプロセッサと、命令及びデータを保存する1つ以上のメモリデバイスとである。一般に、コンピュータはまた、データを保存する1つ以上の大容量記憶デバイス、例えば、磁気、光学磁気ディスク、又は光ディスクを含むか、あるいは、そのような1つ以上の大容量記憶デバイスからのデータの受信若しくはそれへのデータの転送又はその両方のために動作可能に結合されることになる。しかし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを保存するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイス;磁気ディスク、例えば、内蔵ハードディスク又はリムーバブルディスク;光学磁気ディスク;並びにCD ROM及びDVD-ROMディスクを含む全ての形式の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用のロジック回路によって強化されるか、あるいは、それに組み込まれ得る。
【0327】
本明細書は、多数の詳細を含むが、それらは、あらゆる対象の又は請求される可能性があるものの範囲に対する限定としてではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別々の実施形態に関連して本明細書で説明されている特定の特徴は、単一の実施形態と組み合わせても実装可能である。逆に、単一の実施形態に関連して説明されている様々な特徴はまた、複数の実施形態で別々に、又は何らかの適切なサブコンビネーションで、実装可能である。更に、特徴は、特定の組み合わせで動作するものとして先に説明され、更には、そのようなものとして最初に請求されることがあるが、請求されている組み合わせからの1つ以上の特徴は、いくつかの場合に、その組み合わせから削除可能であり、請求されている組み合わせは、サブコンビネーション又はサブコンビネーションの変形に向けられてもよい。
【0328】
同様に、動作は、特定の順序で図面において表されているが、これは、所望の結果を達成するために、そのような動作が示されているその特定の順序で又は順次的な順序で実行されること、あるいは、表されている全ての動作が実行されることを求めている、と理解されるべきではない。更に、本明細書で説明されている実施形態における様々なシステムコンポーネントの分離は、全ての実施形態でそのような分離を求めている、と理解されるべきではない。
【0329】
ほんのわずかの実施及び例が説明されており、他の実施、強化及び変形は、本特許文献で記載及び例示されているものに基づいて行われ得る。