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

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

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

特開2024-9223マトリクスベースイントラ予測のためのコンテキスト決定
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024009223
(43)【公開日】2024-01-19
(54)【発明の名称】マトリクスベースイントラ予測のためのコンテキスト決定
(51)【国際特許分類】
   H04N 19/11 20140101AFI20240112BHJP
   H04N 19/157 20140101ALI20240112BHJP
   H04N 19/136 20140101ALI20240112BHJP
   H04N 19/176 20140101ALI20240112BHJP
   H04N 19/186 20140101ALI20240112BHJP
   H04N 19/70 20140101ALI20240112BHJP
【FI】
H04N19/11
H04N19/157
H04N19/136
H04N19/176
H04N19/186
H04N19/70
【審査請求】有
【請求項の数】16
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023198738
(22)【出願日】2023-11-24
(62)【分割の表示】P 2021571532の分割
【原出願日】2020-06-05
(31)【優先権主張番号】PCT/CN2019/090205
(32)【優先日】2019-06-05
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】520476341
【氏名又は名称】北京字節跳動網絡技術有限公司
【氏名又は名称原語表記】Beijing Bytedance Network Technology Co., Ltd.
【住所又は居所原語表記】Room B-0035, 2/F, No.3 Building, No.30, Shixing Road, Shijingshan District Beijing 100041 China
(71)【出願人】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】デン,ジピン
(72)【発明者】
【氏名】ザン,カイ
(72)【発明者】
【氏名】ザン,リー
(72)【発明者】
【氏名】リュウ,ホンビン
(72)【発明者】
【氏名】シュイ,ジィジォン
(57)【要約】
【課題】ビデオコーディングのためのマトリクスベースイントラ予測方法を含む、デジタルビデオコーディングのためのデバイス、システム及び方法を提供する。
【解決手段】代表的な態様では、ビデオ処理のための方法は、ビデオのルーマビデオブロックがマトリクスベースイントラ予測(MIP)モードを用いてコーディングされるかどうかの第1決定を実行するステップと、ルーマビデオブロックが、ビデオの現在のクロマビデオブロックのためのクロマイントラモードを決定するために適用可能であるとの第2決定を実行するステップと、第1決定及び第2決定に基づき、現在のクロマビデオブロックに使用されるクロマイントラモードに関する第3決定を実行するステップと、第3決定に基づき、現在のクロマビデオブロックと現在のクロマビデオブロックのビットストリーム表現との間の変換を実行するステップとを含む。
【選択図】図11
【特許請求の範囲】
【請求項1】
ビデオ処理のための方法であって、
ビデオのクロマブロックと前記ビデオのビットストリームとの間の変換のために、条件のグループに基づいて前記クロマブロックに対して第1予測モードを適用すべきかどうかを決定するステップであり、前記条件のグループは、前記クロマブロックに対応するルーマブロックの予測モードが前記第1予測モードであるかどうかと、前記クロマブロックのカラーフォーマットが予め定義されたカラーフォーマットであるかどうかとを有する、前記決定するステップと、
前記決定するステップに基づいて前記クロマブロックの予測サンプルを生成するステップと、
前記クロマブロックと前記ビットストリームとの間の前記変換を実行するステップと
を有し、
前記第1予測モードが前記クロマブロックに適用される場合に、マトリクスベクトル乗算演算が適用される、方法。
【請求項2】
前記クロマブロックに対応するルーマブロックの予測モードが前記第1予測モードであり、かつ、前記クロマブロックのカラーフォーマットが予め定義されたカラーフォーマットであることに少なくとも応答して、前記第1予測モードは前記クロマブロックに適用される、
請求項1に記載の方法。
【請求項3】
前記クロマブロックに対して前記第1予測モードを適用すると決定することは、シンタックス要素intra_chroma_pred_modeの値に更に基づき、
前記シンタックス要素intra_chroma_pred_modeは、クロマ成分イントラモードとルーマ成分イントラモードとの間のマッピング関係を指定するために使用される、
請求項1又は2に記載の方法。
【請求項4】
前記シンタックス要素intra_chroma_pred_modeの前記値は、DMモードが前記クロマブロックに適用されることを指定し、前記DMモードでは、前記クロマ成分イントラモードが前記ルーマ成分イントラモードと同じである、
請求項3に記載の方法。
【請求項5】
前記クロマブロックに前記第1予測モードを適用しないと決定し、前記第1予測モードが前記対応するルーマブロックに適用され、かつ、シンタックス要素intra_chroma_pred_modeの値により、クロマ成分イントラモードがルーマ成分イントラモードと同じであることが示されることに応答して、予め定義されたイントラ予測モードを前記クロマブロックに適用するステップを更に有する、
請求項1乃至4のうちいずれか一項に記載の方法。
【請求項6】
前記予め定義されたイントラ予測モードは、プレーナーモードである、
請求項5に記載の方法。
【請求項7】
前記対応するルーマブロックは、位置(xCb+offsetX,yCb+offsetY)をカバーし、
(xCb,yCb)は、前記クロマブロックを含む現在のピクチャの左上ルーマサンプルに対して前記クロマブロックの左上サンプルを特定し、
offsetXは、水平方向でのオフセットであり、
offsetYは、垂直方向でのオフセットである、
請求項1乃至6のうちいずれか一項に記載の方法。
【請求項8】
前記offsetX及び前記offsetYの両方がゼロに等しいことは、許されない、
請求項7に記載の方法。
【請求項9】
前記offsetXは、前記クロマブロックの幅を2で除したものに等しく、前記offsetYは、前記クロマブロックの高さを2で除したものに等しい、
請求項7に記載の方法。
【請求項10】
前記マトリクスベクトル乗算演算の入力サンプルは、前記クロマブロックのサイズに基づいて前記クロマブロックの境界参照サンプルに対してダウンサンプリング動作を実行することによって取得され、
前記クロマブロックに前記第1予測モードを適用することは、前記クロマブロックの前記予測サンプルを生成するために前記マトリクスベクトル乗算演算に続いてアップサンプリング動作を選択的に実行することを更に有する、
請求項1乃至9のうちいずれか一項に記載の方法。
【請求項11】
前記マトリクスベクトル乗算演算では、異なるマトリクスが異なる次元ごとに使用される、
請求項1乃至10のうちいずれか一項に記載の方法。
【請求項12】
前記変換は、前記クロマブロックを前記ビットストリームにエンコードすることを含む、
請求項1乃至11のうちいずれか一項に記載の方法。
【請求項13】
前記変換は、前記ビットストリームから前記クロマブロックをデコードすることを含む、
請求項1乃至11のうちいずれか一項に記載の方法。
【請求項14】
ビデオデータを処理する装置であって、
プロセッサと、命令を含む非一時的メモリとを有し、
前記命令は、前記プロセッサによる実行時に、前記プロセッサに、
ビデオのクロマブロックと前記ビデオのビットストリームとの間の変換のために、条件のグループに基づいて前記クロマブロックに対して第1予測モードを適用すべきかどうかを決定するステップであり、前記条件のグループは、前記クロマブロックに対応するルーマブロックの予測モードが前記第1予測モードであるかどうかと、前記クロマブロックのカラーフォーマットが予め定義されたカラーフォーマットであるかどうかとを有する、前記決定するステップと、
前記決定するステップに基づいて前記クロマブロックの予測サンプルを生成するステップと、
前記クロマブロックと前記ビットストリームとの間の前記変換を実行するステップと
を実行させ、
前記第1予測モードが前記クロマブロックに適用される場合に、マトリクスベクトル乗算演算が適用される、
装置。
【請求項15】
プロセッサに、
ビデオのクロマブロックと前記ビデオのビットストリームとの間の変換のために、条件のグループに基づいて前記クロマブロックに対して第1予測モードを適用すべきかどうかを決定するステップであり、前記条件のグループは、前記クロマブロックに対応するルーマブロックの予測モードが前記第1予測モードであるかどうかと、前記クロマブロックのカラーフォーマットが予め定義されたカラーフォーマットであるかどうかとを有する、前記決定するステップと、
前記決定するステップに基づいて前記クロマブロックの予測サンプルを生成するステップと、
前記クロマブロックと前記ビットストリームとの間の前記変換を実行するステップと
を実行させる命令を記憶し、
前記第1予測モードが前記クロマブロックに適用される場合に、マトリクスベクトル乗算演算が適用される、
非一時的なコンピュータ可読記憶媒体。
【請求項16】
ビデオのビットストリームを記憶する方法であって、
条件のグループに基づいて前記ビデオのクロマブロックに対して第1予測モードを適用すべきかどうかを決定するステップであり、前記条件のグループは、前記クロマブロックに対応するルーマブロックの予測モードが前記第1予測モードであるかどうかと、前記クロマブロックのカラーフォーマットが予め定義されたカラーフォーマットであるかどうかとを有する、前記決定するステップと、
前記決定するステップに基づいて前記ビットストリームを生成するステップと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶するステップと
を有し、
前記第1予測モードが前記クロマブロックに適用される場合に、マトリクスベクトル乗算演算が適用される、
方法。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願への相互参照]
本願は、2019年6月5日に出願された国際特許出願第PCT/CN2019/090205号の優先権及び利益を請求して2020年6月5日に出願された国際特許出願第PCT/CN2020/094513号の国内移行である特願2021-571532号の分割出願である。これらの出願の全てが、その全文を参照により援用される。
【0002】
[技術分野]
本特許文献は、ビデオコーディング技術、デバイス及びシステムに関係がある。
【背景技術】
【0003】
ビデオ圧縮の進歩にかかわらず、デジタルビデオは依然として、インターネット及び他のデジタル通信ネットワーク上での最大のバンド幅使用を占めている。ビデオを受信し表示することができるユーザデバイスの接続数が増えるにつれて、デジタルビデオ利用のためのバンド幅需要は増え続けることが予想される。
【発明の概要】
【0004】
デジタルビデオコーディングに関連したデバイス、システム及び方法、具体的には、ビデオコーディングのためのマトリクスベースイントラ予測方法が、記載される。記載されている方法は、既存のビデオコーディング標準規格(例えば、High Efficiency Video Coding(HEVC))及び将来のビデオコーディング標準規格(例えば、Versatile Video Coding(VVC))又はコーデックに適用されてもよい。
【0005】
1つの代表的な態様で、開示されている技術は、ビデオ処理のための方法を提供するために使用され得る。例示的な方法は、ビデオのルーマビデオブロックが、該ルーマビデオブロックの予測ブロックが、前記ビデオの前にコーディングされたサンプルに対して、マトリクスベクトル乗算演算が後に続き、選択的にアップサンプリング動作が後に続く境界ダウンサンプリング動作を実行することによって決定されるマトリクスベースイントラ予測(Matrix-based Intra Prediction,MIP)モードを用いてコーディングされるかどうかの第1決定を実行するステップと、前記ルーマビデオブロックが、前記ビデオの現在のクロマビデオブロックのためのクロマイントラモードを決定するために適用可能であるとの第2決定を実行するステップであり、前記第2決定の実行は、前記現在のクロマビデオブロックに関連した現在のピクチャの左上ルーマサンプルに対する前記現在のクロマビデオブロックの左上サンプルに基づき、前記第2決定の実行は、現在のビデオユニットのカラーフォーマット及び/又は前記ルーマビデオブロックに対する前記現在のクロマビデオブロックの大きさに基づく、ステップと、前記第1決定及び前記第2決定に基づき、前記現在のクロマビデオブロックに使用される前記クロマイントラモードに関する第3決定を実行するステップと、前記第3決定に基づき、前記現在のクロマビデオブロックと該現在のクロマビデオブロックのビットストリーム表現との間の変換を実行するステップとを含む。
【0006】
他の代表的な態様では、開示されている技術は、ビデオ処理のための方法を提供するために使用され得る。例示的な方法は、ビデオのルーマビデオブロックが、該ルーマビデオブロックの予測ブロックが、前記ビデオの前にコーディングされたサンプルに対して、マトリクスベクトル乗算演算が後に続き、選択的にアップサンプリング動作が後に続く境界ダウンサンプリング動作を実行することによって決定されるマトリクスベースイントラ予測(MIP)モードを用いてコーディングされるとの第1決定を実行するステップと、前記第1決定に基づき、導出モード(Derived Mode,DM)が、前記ルーマビデオブロックに関連した現在のクロマビデオブロックのためのクロマイントラモードとして使用されるかどうかに関して、規則に従って、第2決定を実行するステップと、前記第2決定に基づき、前記現在のクロマビデオブロックと該現在のクロマビデオブロックのビットストリーム表現との間の変換を実行するステップとを含む。
【0007】
他の代表的な態様では、開示されている技術は、ビデオ処理のための方法を提供するために使用され得る。例示的な方法は、ビデオの現在のビデオブロックが、該現在のビデオブロックの予測ブロックが、前記ビデオの前にコーディングされたサンプルに対して、マトリクスベクトル乗算演算が後に続き、選択的にアップサンプリング動作が後に続く境界ダウンサンプリング動作を実行することによって決定されるマトリクスベースイントラ予測(MIP)モードでコーディングされることを決定するステップと、前記決定するステップに基づき、規則に基づいて最確モード(Most Probable Mode,MPM)リストを生成するステップであり、前記規則は、前記MPMリストが、前記現在のビデオブロックの隣接ビデオブロックについて生成された他のMPMリストから独立して生成されることを定める、前記生成するステップと、前記MPMリストを用いて前記現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換を実行するステップとを含む。
【0008】
他の代表的な態様では、開示されている技術は、ビデオ処理のための方法を提供するために使用され得る。例示的な方法は、ビデオの現在のビデオブロックの予測ブロックが、前記ビデオの前にコーディングされたサンプルに対して、マトリクスベクトル乗算演算が後に続き、選択的にアップサンプリング動作が後に続く境界ダウンサンプリング動作を実行することによって決定されるマトリクスベースイントラ予測(MIP)モードを用いて、前記現在のビデオブロックをエンコードするステップであり、規則が、前記MIPモードで使用されるマトリクスの数と前記現在のビデオブロックの大きさとの間の関係を記述する、ステップと、前記現在のビデオブロックのエンコードされた表現を前記現在のビデオブロックのビットストリーム表現に加えるステップとを含む。
【0009】
他の代表的な態様では、開示されている技術は、ビデオ処理のための方法を提供するために使用され得る。例示的な方法は、ビデオの現在のビデオブロックが、前記ビデオの前にコーディングされたサンプルに対して、マトリクスベクトル乗算演算が後に続き、選択的にアップサンプリング動作が後に続く境界ダウンサンプリング動作を実行することによって決定されるマトリクスベースイントラ予測(MIP)モードを用いて、前記現在のビデオブロックの予測ブロックがビットストリーム表現においてエンコードされていることを決定するステップであり、規則が、前記MIPモードで使用されるマトリクスの数と前記現在のビデオブロックの大きさとの間の関係を記述する、ステップと、前記ビットストリーム表現をパースしデコードすることによって、前記現在のビデオブロックのデコードされた表現を生成するステップとを含む。
【0010】
他の代表的な態様では、開示されている技術は、ビデオ処理のための方法を提供するために使用され得る。この例示的な方法は、アフィン線形重み付きイントラ予測(Affine Linear Weighted Intra Prediction,ALWIP)モードを用いて現在のビデオブロックがコーディングされていることを決定するステップと、該決定に基づき、非ALWIPイントラモードのための最確モード(MPM)リストの少なくとも一部に基づいて前記ALWIPモードのためのMPMリストの少なくとも一部を構成するステップと、前記ALWIPモードのための前記MPMリストに基づき、前記現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換を実行するステップとを含む。
【0011】
他の代表的な態様では、開示されている技術は、ビデオ処理のための方法を提供するために使用され得る。この例示的な方法は、現在のビデオブロックのルーマ成分がアフィン線形重み付きイントラ予測(ALWIP)モードを用いてコーディングされていることを決定するステップと、該決定に基づき、クロマイントラモードを推測するステップと、該クロマイントラモードに基づき、前記現在のビデオブロックと該現在のクロマビデオブロックのビットストリーム表現との間の変換を実行するステップとを含む。
【0012】
更なる他の代表的な態様では、開示されている技術は、ビデオ処理のための方法を提供するために使用され得る。この例示的な方法は、アフィン線形重み付きイントラ予測(ALWIP)モードを用いて現在のビデオブロックがコーディングされていることを決定するステップと、該決定に基づき、前記現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換を実行するステップとを含む。
【0013】
更なる他の代表的な態様では、開示されている技術は、ビデオ処理のための方法を提供するために使用され得る。この例示的な方法は、アフィン線形重み付きイントラ予測(ALWIP)モードとは異なったコーディングモードを用いて現在のビデオブロックがコーディングされていることを決定するステップと、該決定に基づき、前記現在のビデオブロックと該現在のクロマビデオブロックのビットストリーム表現との間の変換を実行するステップとを含む。
【0014】
更なる他の代表的な態様では、開示されている技術は、ビデオ処理のための方法を提供するために使用され得る。この例示的な方法は、現在のビデオブロックについて、アフィン線形重み付きイントラ予測(ALWIP)モードを用いて第1予測を生成するステップと、該第1予測に基づき、ポジション依存イントラ予測結合(Position Dependent intra Prediction Combination,PDPC)を用いて第2予測を生成するステップと、該第2予測に基づき、前記現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換を実行するステップとを含む。
【0015】
更なる他の代表的な態様では、開示されている技術は、ビデオ処理のための方法を提供するために使用され得る。この例示的な方法は、アフィン線形重み付きイントラ予測(ALWIP)モードを用いて現在のビデオブロックがコーディングされていることを決定するステップと、前記ALWIPモードに基づき、前記現在のビデオブロックの複数のサブブロックを予測するステップと、該予測に基づき、前記現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換を実行するステップとを含む。
【0016】
更なる他の代表的な態様では、ビデオ処理の方法が開示される。方法は、現在のビデオブロックのための規則に基づき、前記現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換中に、アフィン線形重み付きイントラ予測(ALWIP)モードの使用を示すフラグのコンテキストを決定するステップと、前記ALWIPモードに基づき、前記現在のビデオブロックの複数のサブブロックを予測するステップと、該予測に基づき、前記現在のビデオブロックと該現在のクロマビデオブロックのビットストリーム表現との間の変換を実行するステップとを含む。
【0017】
更なる他の代表的な態様では、ビデオ処理の方法が開示される。方法は、アフィン線形重み付きイントラ予測(ALWIP)モードを用いて現在のビデオブロックがコーディングされていることを決定するステップと、前記現在のビデオブロックと該現在のクロマビデオブロックのビットストリーム表現との間の変換中に、前記ALWIPモードに関連したアップサンプリングプロセスでの前記現在のビデオブロックのサンプルに対する少なくとも2つのフィルタリング段を実行するステップとを含み、前記少なくとも2つのフィルタリング段のうちの第1フィルタリング段における前記サンプルの第1精度は、前記少なくとも2つのフィルタリング段のうちの第2フィルタリング段における前記サンプルの第2精度とは異なる。
【0018】
更なる他の態様では、ビデオ処理の方法が開示される。方法は、アフィン線形重み付きイントラ予測(ALWIP)モードを用いて現在のビデオブロックがコーディングされていることを決定するステップと、前記現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換中に、前記ALWIPモードに関連したアップサンプリングプロセスでの前記現在のビデオブロックのサンプルに対する少なくとも2つのフィルタリング段を実行するステップとを含み、前記アップサンプリングプロセスは、垂直及び水平の両方のアップサンプリングが実行される場合に一定順序で実行される。
【0019】
更なる他の態様では、ビデオ処理の方法が開示される。方法は、アフィン線形重み付きイントラ予測(ALWIP)モードを用いて現在のビデオブロックがコーディングされていることを決定するステップと、前記現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換中に、前記ALWIPモードに関連したアップサンプリングプロセスでの前記現在のビデオブロックのサンプルに対する少なくとも2つのフィルタリング段を実行するステップとを含み、前記変換は、前記アップサンプリングプロセスより前に転置動作を実行することを含む。
【0020】
更なる他の代表的な態様では、上記の方法は、プロセッサ実行可能なコードの形で具現され、コンピュータ可読プログラム媒体に記憶される。
【0021】
更なる他の代表的な態様では、上記の方法を実行するよう構成されている又はそのように動作可能であるデバイスが開示される。デバイスは、この方法を実装するようプログラムされているプロセッサを含んでもよい。
【0022】
更なる他の代表的な態様では、ビデオデコーダ装置が、本明細書で記載される方法を実装してもよい。
【0023】
開示されている技術の上記及び他の態様及び特徴は、図面、明細書、及び特許請求の範囲で更に詳細に記載される。
【図面の簡単な説明】
【0024】
図1】33個のイントラ予測方向の例を示す。
図2】67個のイントラ予測モードの例を示す。
図3】線形モデルの重みの導出のために使用されるサンプルの位置の例を示す。
図4】予測ブロックに隣接する4つの参照ラインの例を示す。
図5A】ブロックサイズに応じたサブパーティションの例を示す。
図5B】ブロックサイズに応じたサブパーティションの例を示す。
図6】4×4ブロックのためのALWIPの例を示す。
図7】8×8ブロックのためのALWIPの例を示す。
図8】8×4ブロックのためのALWIPの例を示す。
図9】16×16ブロックのためのALWIPの例を示す。
図10】MPMリスト構成を使用する隣接ブロックの例を示す。
図11】開示されている技術に従って、マトリクスベースイントラ予測のための方法の例のフローチャートを示す。
図12】開示されている技術に従って、マトリクスベースイントラ予測のための方法の他の例のフローチャートを示す。
図13】開示されている技術に従って、マトリクスベースイントラ予測のための方法の更なる他の例のフローチャートを示す。
図14】開示されている技術に従って、マトリクスベースイントラ予測のための方法の更なる他の例のフローチャートを示す。
図15】本明細書で記載されている視覚メディア復号化又は視覚メディア符号化技術を実装するハードウェアプラットフォームの例のブロック図である。
図16】隣接ブロックの例を示す。
図17】提案されている低減された境界サンプル生成の例である。
図18】元の再構成された隣接サンプルによる提案されているアップサンプリングの例を示す。
図19】ビデオデコーダの例を表すブロック図である。
図20】本明細書で開示されている様々な技術が実装され得るビデオ処理システムの例を示すブロック図である。
図21】本開示の技術を利用し得るビデオコーディングシステムの例を表すブロック図である。
図22】ビデオエンコーダの例を表すブロック図である。
図23】開示されている技術に従って、マトリクスベースイントラ予測のための方法の更なる例のフローチャートを示す。
図24】開示されている技術に従って、マトリクスベースイントラ予測のための方法の更なる例のフローチャートを示す。
図25】開示されている技術に従って、マトリクスベースイントラ予測のための方法の更なる例のフローチャートを示す。
図26】開示されている技術に従って、マトリクスベースイントラ予測のための方法の更なる例のフローチャートを示す。
図27】開示されている技術に従って、マトリクスベースイントラ予測のための方法の更なる例のフローチャートを示す。
【発明を実施するための形態】
【0025】
より高い解像度のビデオに対する需要の高まりにより、ビデオコーディング方法及び技術は、最新の技術において遍在している。ビデオコーデックは、通常、デジタルビデオを圧縮又は圧縮解除する電子回路又はソフトウェアを含み、より高いコーディング効率をもたらすよう改善され続けている。ビデオコーデックは、圧縮されていないビデオを圧縮された形式へ変換し、あるいは、その逆も同様である。ビデオ品質と、ビデオを表すために使用されるデータの量(ビットレートによって決定される)と、符号化及び復号化アルゴリズムの複雑さと、データ損失及びエラーに対する敏感さと、編集の容易さと、ランダムアクセスと、エンド間遅延(レイテンシ)との間には、複雑な関係が存在している。圧縮された形式は、通常、標準のビデオ圧縮規格、例えば、High Efficiency Video Coding(HEVC)標準規格(H.265又はMPEG-H Part2としても知られている)、最終決定されるべきVersatile Video Coding(VVC)標準規格、あるいは、他の現在及び/又は将来のビデオコーディング標準規格に従う。
【0026】
開示されている技術の実施形態は、ランタイム性能を改善するよう既存のビデオコーディング標準規格(例えば、HEVC、H.265)及び将来の標準規格に適用されてもよい。セクション見出しは、記載の読みやすさを改善するために本明細書で使用されており、議論又は実施形態(及び/又は実装)を各々のセクションにのみ限定されるものでは決してない。
【0027】
1 HEVCに関する寸評
1.1 HEVC/H.265におけるイントラ予測
イントラ予測は、検討されているカラーチャネルにおいて前に再構成されたサンプルを用いて所与の変換ブロック(Transform Block,TB)のサンプルを生成することを含む。イントラ予測モードは、ルーマチャネル及びクロマチャネルについて別々にシグナリングされ。クロマチャネルイントラ予測モードは、任意に、「DM_CHROMA」モードによりルーマチャネルイントラ予測モードに依存する。イントラ予測モードは予測ブロック(Prediction Block,PB)レベルでシグナリングされるが、イントラ予測プロセスは、CUの残差四分木ヒエラルキに従って、TBレベルで適用され、それによって、1つのTBのコーディングがCU内の次のTBのコーディングに影響を及ぼすことを可能にするので、参照値として使用されるサンプルまでの距離が低減される。
【0028】
HEVCは、35個のイントラ予測モード、すなわち、DCモード、プレーナーモード(planer mode)、及び33個の指向性又は「角度」イントラ予測モードを含む。33個の角度イントラ予測モードは図1に表されている。
【0029】
クロマカラーチャネルに関連したPBについては、イントラ予測モードは、プレーナー、DC、水平、垂直、「DM_CHROMA」モード又は時々対角モード「34」のどれかとして指定される。
【0030】
4:2:2及び4:2:0のクロマフォーマットについては、クロマPBは、(夫々)2つ又は4つのルーマPBと重なり合う可能性があることに留意されたい。この場合に、DM_CHROMAのルーマ方向は、これらのルーマPBの左上から取られる。
【0031】
DM_CHROMAモードは、ルーマカラーチャネルPBのイントラ予測モードがクロマカラーチャネルPBに適用されることを示す。これは比較的に一般的であるから、intra_chroma_pred_modeの最確モードコーディングスキームは、このモードが選択されることを優先してバイアスされる。
【0032】
2 VVCでのイントラ予測の例
2.1 67個のイントラ予測モードによるイントラモードコーディング
自然ビデオで提示される任意のエッジ方向を捕捉するために、指向性イントラモードの数は、HEVCで使用される33から、65に拡張される。追加の指向性モードは、図2で赤色破線矢印として表されており、プレーナーモード及びDCモードは同じままである。これらのより密なイントラ予測モードは、全てのブロックサイズについて、ルーマ及びクロマの両方のイントラ予測のために適用される。
【0033】
2.2 交差成分線形モデル(CCLM)の例
いくつかの実施形態において、交差成分冗長性を低減するために、交差成分線形モデル(Cross-Component Linear Model,CCLM)予測モード(LMとも呼ばれる)がJEMでは使用されている。このため、クロマサンプルは、次のように線形モデルを使用することによって、同じCUの再構成されたルーマサンプルに基づき予測される:

pred(i,j)=α・rec’(i,j)+β (1)
【0034】
ここで、pred(i,j)は、CUにおける予測されたクロマサンプルを表し、rec’(i,j)は、同じCUのダウンサンプリングされた再構成されたルーマサンプルを表す。線形モデルパラメータα及びβは、2つのサンプルからのルーマ値及びクロマ値の間の関係から導出される。それらのサンプルは、ダウンサンプリングされた隣接ルーマサンプルの組内で最小サンプル値及び最大サンプル値を夫々有しているサンプル、並びにそれらの対応するクロマサンプルである。図3は、CCLMモードに関与する現在のブロックのサンプル並びに左及び上サンプルの位置の例を示す。
【0035】
このパラメータ計算は、復号化プロセスの部分として実行され、エンコーダ探索動作としてだけではない。結果として、α及びβの値をデコーダへ運ぶためにシンタックスは使用されない。
【0036】
クロマイントラモードコーディングについては、全部で8つのイントラモードがクロマイントラモードコーディングのために許されている。これらのモードは、5つの従来のイントラモードと、3つの交差成分線形モデルモード(CCLM、LM_A、及びLM_L)とを含む。クロマモードコーディングは、対応するルーマブロックのイントラ予測モードに直接に依存する。ルーマ及びクロマ成分のための別個のブロックパーティション化構造がIスライスでは有効にされるので、1つのクロマブロックは複数のルーマブロックに対応し得る。従って、クロマDMモードについては、現在のクロマブロックの中心位置を変換する対応するルーマブロックのイントラ予測モードは、直接に受け継がれる。
【0037】
2.3 多重参照ライン(MRL)イントラ予測
多重参照ライン(Multiple Reference Line,MRL)イントラ予測は、イントラ予測のためにより多くの参照ラインを使用する。図4には、4つの参照ラインの例が表されている。セグメントA及びFのサンプルは、再構成された隣接サンプルからフェッチされないが、夫々、セグメントB及びEからの最も近いサンプルでパディングされる。HEVCイントラピクチャ予測は、最も近い参照ライン(すなわち、参照ライン0)を使用する。MRLでは、2つの追加ライン(参照ライン1及び参照ライン3)が使用される。選択された参照ラインのインデックス(mrl_idx)は、シグナリングされて、イントラ予測子を生成するために使用される。0よりも大きい参照ラインインデックスについては、MPMリストに追加の参照ラインモードのみを含め、残りのモードなしでmpmインデックスのみをシグナリングする。
【0038】
2.4 イントラサブパーティション(ISP)
イントラサブパーティション(Intra Sub-Partitions,ISP)ツールは、ルーマイントラ予測されたブロックを、ブロックサイズに応じて、垂直又は水平方向に2又は4つのサブパーティションに分割する。例えば、ISPの最小ブロックサイズは4×8(又は8×4)である。ブロックサイズが4×8(又は8×4)よりも大きい場合には、対応するブロックは4つのサブパーティションによって分割される。図5は、2つの可能性の例を示す。全てのサブパーティションは、少なくとも16個のサンプルを有するという条件を満たす。
【0039】
サブパーティションごとに、再構成されたサンプルは、残差信号を予測信号に加えることによって取得される。ここで、残差信号は、エントロピ復号化、逆量子化及び逆変換などのプロセスによって生成される。従って、各サブパーティションの再構成されたサンプル値は、次のサブパーティションの予測を生成するために利用可能であり、各サブパーティションは、繰り返し処理される。更には、処理されるべき最初のサブパーティションは、CUの左上サンプルを含み、次いで下方向に(水平分割)又は右方向に(垂直分割)続くものである。結果として、サブパーティション予測信号を生成するために使用される参照サンプルは、ラインの左側及び上側にのみ位置している。全てのサブパーティションは、同じイントラモードを共有する。
【0040】
2.5 アフィン線形重み付きイントラ予測(ALWIP又はマトリクスベースイントラ予測)
アフィン線形重み付きイントラ予測(ALWIP、マトリクスベースイントラ予測(MIP)の別名でも知られる)は、JVET-N0217で提案されている。
【0041】
JVET-N0127では、2つのテストが行われる。テスト1では、ALWIPは、8Kバイトのメモリ制限及びサンプルあたり多くても4回の乗算で設計される。テスト2は、テスト1と類似しているが、メモリ要件及びモデルアーキテクチャに関して設計を単純化している。
【0042】
○ 全てのブロック形状について、マトリクス及びオフセットベクトルの1つの組。
【0043】
○ 全てのブロック形状について、モード数を19に低減。
【0044】
○ メモリ要件を5760個の10ビット値、つまり、7.20キロバイトに低減。
【0045】
○ 予測されたサンプルの線形補間が、第1テストで見られる反復補間を置き換えて、方向ごとに1つのステップで実行される。
【0046】
2.5.1 JVET-N0217のテスト1
幅W及び高さHの長方形ブロックのサンプルを予測するために、アフィン線形重み付きイントラ予測(ALWIP)は、ブロックの左にあるH個の再構成された隣接境界サンプルの1列と、ブロックの上にあるW個の再構成された隣接境界サンプルの1列とを入力として取る。再構成されたサンプルが利用不可能である場合には、それらは、従来のイントラ予測で行われるように生成される。
【0047】
境界サンプルの中から、W=H=4の場合には4つのサンプルが、他の全ての場合には8つのサンプルが、平均化によって抽出される。
【0048】
マトリクスベクトル乗算及びそれに続くオフセットの加算は、平均化されたサンプルを入力として実行される。その結果、元のブロックのサンプルのサブサンプリングされたセットに関する予測信号は低減される。
【0049】
残りのポジションでの予測信号は、方向ごとに単一ステップの線形補間である線形補間によって、サブサンプリングされたセットに関する予測信号から生成される。
【0050】
予測信号を生成するために必要なマトリクス及びオフセットベクトルは、マトリクスの3つのセットS、S、Sから取られる。セットSは、各マトリクスが16個の行及び4つの列を有する18個の行列A (i∈{0,・・・,17})と、夫々のサイズが16である18個のオフセットベクトルb (i∈{0,・・・,17})とから成る。そのセットのマトリクス及びオフセットは、サイズ4×4のブロックのために使用される。セットSは、各マトリクスが16個の行及び8つの列を有する10個の行列A (i∈{0,・・・,9})と、夫々のサイズが16である10個のオフセットベクトルb (i∈{0,・・・,9})とから成る。そのセットのマトリクス及びオフセットは、サイズ4×8、8×4、及び8×8のブロックのために使用される。最後に、セットSは、各マトリクスが64個の行及び8つの列を有する6つの行列A (i∈{0,・・・,5})と、夫々のサイズが64である6つのオフセットベクトルb (i∈{0,・・・,5})とから成る。そのセットのマトリクス及びオフセットは、全ての他のブロック形状のために使用される。
【0051】
マトリクスベクトル席の計算に必要な乗算の総数は、常に、4×W×H以下である。つまり、サンプルあたり多くても4回の乗算がALWIPモードのために必要とされる。
【0052】
2.5.2 境界の平均化
第1ステップで、入力される境界bdrytop及びbdryleftは、より小さい境界bdryred top及びbdryred leftに低減される。ここで、bdryred top及びbdryred leftは両方とも、4×4ブロックの場合には2つのサンプルから成り、他の全ての場合には4つのサンプルから成る。
【0053】
4×4ブロックの場合に、0≦i<2については、
【数1】
が定義され、bdryred leftも同様に定義される。
【0054】
さもなければ、ブロック幅WがW=4・2として与えられる場合に、0≦i<4については、
【数2】
が定義され、bdryred leftも同様に定義される。
【0055】
2つの低減された境界bdryred top及びbdryred leftは、低減された境界ベクトルbdryredに連結される。よって、低減された境界ベクトルbdryredは、4×4形状のブロックについてはサイズが4であり、他の全ての形状のブロックについてはサイズが8である。modeがALWIPモードを指す場合に、この連結は、次のように定義される:
【数3】
【0056】
最終的に、サブサンプリングされた予測信号の補間のために、大きいブロックに対しては、平均された境界の第2バージョンが必要とされる。つまり、min(W,H)>8かつW≧Hである場合に、W=8*2と記述され、0≦i<8については、
【数4】
が定義される。
【0057】
min(W,H)>8かつH>Wである場合に、bdryred leftが同様に定義される。
【0058】
2.5.3 マトリクスベクトル乗算による低減された予測信号の生成
低減された入力ベクトルbdryredから、低減された予測信号predredを生成する。後者の信号は、幅Wred及び高さHredのダウンサンプリングされたブロックに関する信号である。ここで、Wred及びHredは、
【数5】
として定義される。
【0059】
低減された予測信号predredは、マトリクスベクトル積を計算してオフセットを加えることによって、計算される:

predred=A・bdryred+b
【0060】
ここで、Aは、Wred・Hred個の行と、W=H=4の場合に4つの列、他の全ての場合に8つの列とを有するマトリクスである。bは、サイズWred・Hredのベクトルである。
【0061】
マトリクスA及びベクトルbは、次のように、セットS、S、Sのうちの1つから取られる。次のように、インデックスidx=idx(W,H)を定義する:
【数6】
【0062】
更に、次のように、mを置く:
【数7】
【0063】
次いで、idx≦1又はidx=2かつmin(W,H)>4である場合に、A=Aidx 及びb=bidx を置く。idx=2かつmin(W,H)=4である場合に、Aを、W=4である場合には、ダウンサンプリングされたブロック内の奇数x座標に対応し、あるいは、H=4である場合には、ダウンサンプリングされたブロック内の奇数y座標に対応するAidx のあらゆる行を除くことによって現れるマトリクスであるとする。
【0064】
最終的に、低減された予測信号は、次の場合に、その転置で置換される:
○ W=H=4かつmode≧18
○ max(W,H)=8かつmode≧10
○ max(W,H)>8かつmode≧6
【0065】
predredの計算に必要な乗算の数は、W=H=4の場合に4である。これは、この場合に、Aが4つの列及び16個の行を有するからである。他の全ての場合に、Aは、8つの列及びWred・Hred個の行を有しており、このような場合には、8・Wred・Hred≦4・W・H回の乗算が必要とされると直ちに確かめられる。つまり、これらの場合にも、サンプルあたり多くても4回の乗算が、predredを計算するために必要とされる。
【0066】
2.5.4 ALWIPプロセス全体の説明
平均化、マトリクスベクトル乗算及び線形補間の全プロセスは、図6~9において異なる形状ごとに説明されている。残りの形状は、表されている場合のうちの1つで見られるように扱われることに留意されたい。
【0067】
1.4×4ブロックを考えると、ALWIPは、境界の各軸に沿って2つの平均を取る。結果として得られる4つの入力サンプルがマトリクスベクトル乗算に入る。マトリクスは、セットSから取られる。オフセットを加えた後、これは、16個の最終的な予測サンプルをもたらす。線形補間は、予測信号を生成するために必要とされな。よって、サンプルあたり全部で(4・16)/(4・4)=4回の乗算が実行される。
【0068】
2.8×8ブロックを考えると、ALWIPは、境界の各軸に沿って4つの平均を取る。結果として得られる8つの入力サンプルがマトリクスベクトル乗算に入る。マトリクスは、セットSから取られる。これは、予測ブロックの奇数ポジションでの16個のサンプルをもたらす。よって、サンプルあたり全部で(8・16)/(8・8)=2回の乗算が実行される。オフセットを加えた後、これらのサンプルは、低減された上境界を使用することによって垂直方向で補間される。水平補間は、元の左境界を使用することによって続く。
【0069】
3.8×4ブロックを考えると、ALWIPは、境界の水平軸に沿って4つの平均を、及び左境界において4つの元の境界値を取る。結果として得られる8つの入力サンプルがマトリクスベクトル乗算に入る。マトリクスは、セットSから取られる。これは、予測ブロックの奇数水平ポジション及び各垂直ポジションでの16個のサンプルをもたらす。よって、サンプルあたり全部で(8・16)/(8・4)=4回の乗算が実行される。オフセットを加えた後、これらのサンプルは、元の左境界を使用することによって水平方向で補間される。
【0070】
4.16×16ブロックを考えると、ALWIPは、境界の各軸に沿って4つの平均を取る。結果として得られる8つの入力サンプルがマトリクスベクトル乗算に入る。マトリクスは、セットSから取られる。これは、予測ブロックの奇数ポジションでの64個のサンプルをもたらす。よって、サンプルあたり全部で(8・64)/(16・16)=2回の乗算が実行される。オフセットを加えた後、これらのサンプルは、上境界の8つの平均を使用することによって垂直方向で補間される。水平補間は、元の左境界を使用することによって続く。補間プロセスは、この場合に、如何なる乗算も加えない。そのため、全部で、サンプルあたり2回乗算が、ALWIP予測を計算するために必要とされる。
【0071】
より大きい形状については、プロシージャは本質的に同じであり、サンプルあたりの乗算の数が4よりも少ないことをチェックすることは容易である。
【0072】
W>8である場合に、W×8ブロックについては、サンプルが奇数水平ポジション及び各垂直ポジションで与えられるということで、水平補間のみが必要である。
【0073】
最後に、W>8である場合に、W×4ブロックについては、ダウンサンプリングされたブロックの水平軸に沿った奇数エントリに対応するあらゆる行を除くことによって現れるマトリクスをA_kbeとする。よって、出力サイズは32であり、やはり、水平補間のみが実行される。
【0074】
転置された場合は、然るべく扱われる。
【0075】
2.5.5 単一ステップの線形補間
max(W,H)≧8である場合に、W×Hブロックについては、予測信号は、線形補間によってWred×Hredでの低減された信号predredから生じる。ブロック形状に応じて、線形補間は、垂直方向、水平方向、又は両方の方向において行われる。線形補間が両方の方向において適用されるべき場合に、それは、W<Hである場合には、最初に水平方向において適用され、そうでない場合には、最初に垂直方向において適用される。
【0076】
一般性を失わずに、max(W,H)≧8かつW≧HのW×Hブロックを考える。その場合に、一次元の線形補間は次のように実行される。一般性を失わずに、垂直方向における線形補間について記載すれば十分である。最初に、低減された予測信号は、境界信号によって上に拡張される。垂直アップサンプリング係数Uver=H/Hredを定義し、Uver=2Uver>1と記載する。その場合に、拡張された低減された予測信号を:
【数8】
によって定義する。
【0077】
次いで、この拡張された低減された予測信号から、垂直方向に線形補間された予測信号が:
【数9】
によって生成される。
【0078】
2.5.6 提案されているイントラ予測モードのシグナル伝達
イントラモードでのコーディングユニット(Coding Unit,CU)ごとに、ALWIPモードが対応する予測ユニット(Prediction Unit,PU)に適用されるべきであるか否かを示すフラグは、ビットストリームで送信される。後者のインデックスのシグナル伝達は、JVET-M0043と同じ方法でMRLと調和する。ALWIPモードが適用されるべきである場合に、ALWIPモードのインデックスpredmodeは、3つのMPSを含むMPMリストを用いてシグナリングされる。
【0079】
ここで、MPMの導出は、次のように、上側及び左側のPUのイントラモードを用いて実行される。ALWIPモードを各従来のイントラ予測モードpredmodeAngularに割り当てる3つの固定テーブルmap_angular_to_alwipidx(idx∈{0,1,2})が存在する:

predmodeALWIP
=map_angular_to_alwipidx[predmodeAngular
【0080】
幅W及び高さHのPUごとに、3つのセットのうちのどれからALWIPパラメータがセクション2.5.3で取られるべきかを示すインデックスを定義する:

idx(PU)=idx(W,H)∈{0,1,2}
【0081】
上側予測ユニットPUaboveが利用可能であって、現在のPUと同じCTUに属し、イントラモードにある場合に、idx(PU)=idx(PUabove)であるならば、かつ、ALWIPがALWIPモードpredmodeALWIP aboveでPUaboveに適用されるならば:

modeALWIP above=predmodeALWIP above

を置く。
【0082】
上側PUが利用可能であって、現在のPUと同じCTUに属し、イントラモードにある場合に、従来のイントラ予測モードpredmodeAngular aboveが上側PUに適用されるならば:

modeALWIP above=map_angular_to_alwipidx(PUabove)[predmodeAngular above

を置く。
【0083】
他の全ての場合に:

modeALWIP above=-1

を置く。これは、このモードが利用不可能であることを意味する。同じように、しかし、左側PUが現在のPUと同じCTUに属する必要があるという制限なしで、モードmodeALWIP leftを導出する。
【0084】
最後に、3つの固定デフォルトリストlistidx(idx∈{0,1,2})が与えられる。各リストは3つの相異なるALWIPモードを含む。デフォルトリストlistidx(PU)並びにモードmodeALWIP above及びmodeALWIP leftから、デフォルト値に-1を代入し、繰り返しを排除することによって、3つの相異なるMPMを構成する。
【0085】
ALWIP MPMリスト構成で使用される左隣接ブロック及び上隣接ブロックは、図10に示されるA1及びB1である。
【0086】
2.5.7 従来のルーマ及びクロマイントラ予測モードのための適応MPMリスト導出
提案されているALWIPモードは、次のように、従来のイントラ予測モードのMPMベースコーディングと調和する。従来のイントラ予測モードのルーマ及びクロマMPMリスト導出プロセスは、所与のPUに関してALWIPモードpredmodeALWIPを従来のイントラ予測モードの1つにマッピングする固定テーブルmap_alwip_to_angularidx(idx∈{0,1,2})を使用する:

predmodeAngular
=map_alwip_to_angularidx[predmodeALWIP
【0087】
ルーマMPMリスト導出のために、ALWIPモードpredmodeALWIPを使用する隣接ルーマブロックに遭遇するときにはいつでも、このブロックは、それがあたかも従来のイントラ予測モードpredmodeAngularを使用しているかのように扱われる。クロマMPMリスト導出のために、現在のルーマブロックがALWIPモードを使用するときにはいつでも、同じマッピングが、ALWIPモードを従来のイントラ予測モードに変換するために使用される。
【0088】
2.5.8 対応する修正された作業草案
いくつかの実施形態において、このセクションで記載されるように、intra_lwip_frag、intra_lwip_mpm_flag、intra_lwip_mpm_idx及びintra_lwip_mpm_remainderに関連する部分が、開示されている技術の実施形態に基づいて作業草案に加えられている。
【0089】
いくつかの実施形態において、このセクションで記載されるように、<begin>及び<end>タグは、開示されている技術の実施形態に基づいた作業草案に対する追加及び修正を表すために使用される。
【0090】
【表1】
【0091】
ALWIPの概要
幅W及び高さHの長方形ブロックのサンプルを予測するために、アフィン線形重み付きイントラ予測(ALWIP)は、ブロックの左にあるH個の再構成された隣接境界サンプルの1列と、ブロックの上にあるW個の再構成された隣接境界サンプルの1列とを入力として取る。再構成されたサンプルが利用不可能である場合には、それらは、従来のイントラ予測で行われるように生成される。ALWIPは、ルーマイントラブロックにのみ適用される。クロマイントラブロックについては、従来のイントラコーディングモードが適用される。
【0092】
予測信号の生成は、次の3つのステップに基づく:
1.境界サンプルの中から、W=H=4の場合には4つのサンプルが、他の全ての場合には8つのサンプルが、平均化によって抽出される。
2.マトリクスベクトル乗算及びそれに続くオフセットの加算が、平均化されたサンプルを入力として実行される。その結果、元のブロックのサンプルのサブサンプリングされたセットに関する予測信号は低減される。
3.残りのポジションでの予測信号が、方向ごとに単一ステップの線形補間である線形補間によって、サブサンプリングされたセットに関する予測信号から生成される。
【0093】
ALWIPモードが適用されるべきである場合に、ALWIPモードのインデックスpredmodeは、3つのMPMを含むMPMリストを用いてシグナリングされる。ここで、MPMの導出は、次のように、上側及び左側のPUのイントラモードを用いて実行される。ALWIPモードを各従来のイントラ予測モードpredmodeAngularに割り当てる3つの固定テーブルmap_angular_to_alwipidx(idx∈{0,1,2})が存在する:

predmodeALWIP
=map_angular_to_alwipidx[predmodeAngular
【0094】
幅W及び高さHのPUごとに、3つのセットのうちのどれからALWIPパラメータが取られるべきかを示すインデックスを定義する:

idx(PU)=idx(W,H)∈{0,1,2}
【0095】
上側予測ユニットPUaboveが利用可能であって、現在のPUと同じCTUに属し、イントラモードにある場合に、idx(PU)=idx(PUabove)であるならば、かつ、ALWIPがALWIPモードpredmodeALWIP aboveでPUaboveに適用されるならば:

modeALWIP above=predmodeALWIP above

を置く。
【0096】
上側PUが利用可能であって、現在のPUと同じCTUに属し、イントラモードにある場合に、従来のイントラ予測モードpredmodeAngular aboveが上側PUに適用されるならば:

modeALWIP above=map_angular_to_alwipidx(PUabove)[predmodeAngular above

を置く。
【0097】
他の全ての場合に:

modeALWIP above=-1

を置く。これは、このモードが利用不可能であることを意味する。同じように、しかし、左側PUが現在のPUと同じCTUに属する必要があるという制限なしで、モードmodeALWIP leftを導出する。
【0098】
最後に、3つの固定デフォルトリストlistidx(idx∈{0,1,2})が与えられる。各リストは3つの相異なるALWIPモードを含む。デフォルトリストlistidx(PU)並びにモードmodeALWIP above及びmodeALWIP leftから、デフォルト値に-1を代入し、繰り返しを排除することによって、3つの相異なるMPMを構成する。
【0099】
ルーマMPMリスト導出のために、ALWIPモードpredmodeALWIPを使用する隣接ルーマブロックに遭遇するときにはいつでも、このブロックは、それがあたかも従来のイントラ予測モードpredmodeAngularを使用しているかのように扱われる。

predmodeAngular
=map_alwip_to_angularidx[predmodeALWIP
【0100】
3 VVCでの変換
3.1 多重変換選択(MTS)
HEVCで用いられているDCT-IIに加えて、多重変換選択(Multiple Transform Selection,MTS)スキームが、インターコーディングされたブロック及びイントラコーディングされたブロックの両方をコーディングする残差のために使用される。それは、DCT8/DST7からの複数の選択された変換を使用する。新たに導入された変換マトリクスは、DST-VII及びDCT-VIIIである。
【0101】
3.2 JVET-N0193で提案されている縮小された2次変換(RST)
縮小された2次変換(Reduced Secondary Transform,RST)は、4×4及び8×8について夫々、16×16及び16×64の分離不可能な変換を適用する。1次の順方向及び逆方向の変換は依然として、2つの1次元(1-D)水平/垂直変換パスと同じように実行される。2次の順方向及び逆方向の変換は、1次変換のそれとは別のプロセスステップである。エンコーダについては、1次順方向変換が最初に実行され、次いで、2次順方向変換及び量子化、そして、CABACビット符号化が続く。デコーダについては、CABACビット復号化及び逆量子化、それから2次逆方向変換が最初に実行され、次いで、1次逆方向変換が続く。RSTは、イントラスライス及びインタースライスの両方
で、イントラコーディングされたTUにのみ適用される。
【0102】
統合された6-MPMリストは、多重参照ライン(Multiple Reference Line,MRL)及びイントラサブパーティション(Intra Sub-Partition,ISP)コーディングツールが適用されるか否かに関わらず、イントラブロックに対して提案されている。MPMリストは、VTM4.0で見られるように左側及び上側隣接ブロックのイントラモードに基づき構成される。左側のモードはLeftと表され、上側ブロックのモードはAboveと表されるとすれば、統合MPMリストは次のように構成される:
● 隣接するブロックが利用不可能であるとき、そのイントラモードはデフォルトでプレーナー(Planar)にセットされる。
● Left及びAboveの両モードが非角度モードである場合:
a. MPAリスト→{Planar,DC,V,H,V-4,V+4}
● Left及びAboveのうちの一方のモードが角度モードであり、他方が非角度である場合:
a. Left及びAboveのうちの大きい方のモードとしてモードMaxをセット
b. MPMリスト→{Planar,Max,DC,Max-1,Max+1,Max-2}
● Left及びAboveが両方とも角度であり、それらが異なる場合:
a. Left及びAboveのうちの大きい方のモードとしてモードMaxをセット
b. モードLeft及びAboveの差が2以上62以下の範囲内にある場合:
i. MPMリスト→{Planar,Left,Above,DC,Max-1,Max+1}
c. そうでない場合
i. MPMリスト→{Planar,Left,Above,DC,Max-2,Max+2}
● Left及びAboveが両方とも角度であり、それらが同じである場合:
a. MPMリスト→{Planar,Left,Left-1,Left+1,DC,Lef-2}
【0103】
その上、MPMインデックスコードワードの第1ビンは、CABACコンテキストコード化される。現在のイントラブロックがMRLを有効にされているか、ISPを有効にされているかどうか、あるいは、通常のイントラブロックであるかどうかに対応して、全部で3つのコンテキストが使用される。
【0104】
統合MPMリスト構成で使用される左隣接ブロック及び上隣接ブロックは、図10に示されるA2及びB2である。
【0105】
1つのMPMフラグが最初にコーディングされる、ブロックがMPMリスト内のモードの1つでコーディングされる場合に、MPMインデックスが更にコーディングされる。そうでない場合には、残りのモード(MPMを除く)へのインデックスがコーディングされる。
【0106】
4 既存の実施における欠点の例
JVET-N0217でのALWIPの設計には、次の問題がある。
【0107】
1)2019年3月のJVET会議で、統合6-MPMリスト生成がMRLモード、ISPモード、及び通常のイントラモードのために採用された。しかし、アフィン線形重み付き予測モードは、異なった3-MPMリスト構成を使用する。このことは、MPMリスト構成を複雑にする。複雑なMPMリスト構成は、特に、4×4サンプルなどの小さいブロックについて、デコーダのスループットを損なう可能性がある。
【0108】
2)ALWIPは、ブロックのルーマ成分にしか適用されない。ALWPコーディングされたブロックのクロマ成分については、クロマモードインデックスがコーディングされて、デコーダへ送信される。その結果、不必要なシグナリングが生じることがある。
【0109】
3)他のコーディングツールとのALWIPのインタラクションが考慮されるべきである。
【0110】
4)uspBdryXを
【数10】
で計算されるとき、Log2(uDwn)-1が-1に等しい一方で、-1で左シフトされたものが定義されていない可能性がある。
【0111】
5)予測サンプルをアップサンプリングするとき、丸めは適用されない。
【0112】
7)多すぎるコンテキスト(例えば、4)が、ALWIPフラグ(例えば、intra_lwip_flag)をコーディングする際に使用される。
【0113】
8)垂直アップサンプリング及び水平アップサンプリングの両方が必要とされるとき、アップサンプリング順序はブロック形状に依存する。これはハードウェアフレンドリではない。
【0114】
9)線形補間フィルタがアップサンプリングのために使用されるが、これは非効率である場合がある。
【0115】
5 マトリクスベースのイントラコーディングのための例示的な方法
目下開示されている技術の実施形態は、既存の実施の欠点を解消し、それによって、コーディング効率はより高いが計算複雑性は低いビデオコーディングをもたらす。ビデオコーディングのための、本明細書で記載されるようなマトリクスベースイントラ予測方法は、既存のビデオコーディング標準規格及び将来のビデオコーディング標準規格の両方を強化することができ、様々な実施について記載された以下の例で説明される。以下で与えられている開示されている技術の例は、一般概念を説明しており、限定として解釈されるよう意図されない。例において、それとは反対に明示的に示されない限りは、これらの例で記載される様々な特徴は組み合わされてもよい。
【0116】
以下の説明では、イントラ予測モードは、角度イントラ予測モード(DC、プレーナー、CCLM及び他の可能なイントラ予測モードを含む)を指し、一方、イントラモードは、通常のイントラモード、又はMRL、又はISP、又はALWIPを指す。
【0117】
以下の説明では、「他のイントラモード」は、ALWIPを除いた、通常のイントラモード、又はMRL、又はISPなどの1つ又は複数のイントラモードを指すことがある。
【0118】
以下の説明では、SatShit(x,n)は、
【数11】
として定義される。Shift(x,n)はShift(x,n)=(x+offset0)>>nとして定義される。
【0119】
一例で、offset0及び/又はoffset1は、(1<<n)>>1又は(1<<(n-1))にセットされる。他の例では、offset0及び/又はoffset1は0にセットされる。
【0120】
他の例では、offset0=offset1=((1<<n)>>1)-1又は((1<<(n-1)))-1である。
【0121】
Clip3(min,max,x)は、
【数12】
として定義される。
【0122】
ALWIPのためのMPMリスト構成
1.ALWIPのためのMPMリストの全体又は部分が、非ALWIPイントラモード(例えば、通常のイントラモード、MRL、又はISP)のためのMPMリストを構成するための全体的又は部分的なプロシージャに従って構成され得る、ことが提案される。
a.一例で、ALWIPのためのMPMリストのサイズは、非ALWIPイントラモードのためのMPMリストのそれと同じであってもよい。
i.例えば、MPMリストのサイズは、ALWP及び非ALWIPイントラモードの両方について6である。
b.一例で、ALWIPのためのMPMリストは、非ALWIPイントラモードのためのMPMリストから導出され得る。
i.一例で、非ALWIPイントラモードのためのMPMリストが最初に構成されてもよい。その後に、それらの部分又は全部が、ALWIPコーディングされたブロックのためのMPMリストに更に加えられ得るMPMに変換され得る。
1)代替的に、更に、変換されたMPMをALWIPコーディングされたブロックのためのMPMリストに加えるとき、プルーニングが適用されてもよい。
2)デフォルトのモードが、ALWIPコーディングされたブロックのためのMPMリストに加えられてもよい。
a.一例で、デフォルトのモードは、非ALWIPイントラモードのMPMリストから変換されたものの前に加えられてもよい。
b.代替的に、デフォルトのモードは、非ALWIPイントラモードのMPMリストから変換されたものの後に加えられてもよい。
c.代替的に、デフォルトのモードは、非ALWIPイントラモードのMPMリストから変換されたものと交互に加えられてもよい。
d.一例で、デフォルトのモードは、全種類のブロックについて同じであるよう固定されてもよい。
e.代替的に、デフォルトのモードは、隣接するブロックの利用可能性、隣接するブロックのモード情報、ブロック寸法などのコーディングされた情報に従って決定されてもよい。
ii.一例で、非ALWIPイントラモードのためのMPMリスト内の1つのイントラ予測モードは、ALWIPのためのMPMリストに置かれるときに、その対応するALWIPイントラ予測モードに変換されてもよい。
1)代替的に、非ALWIPイントラモードのためのMPMリスト内の全てのイントラ予測モードは、ALWIPのためのMPMリストを構成するために使用される前に、対応するALWIPイントラ予測モードに変換されてもよい。
2)代替的に、非ALWIPイントラモードのためのMPMリストがALWIPのためのMPMリストを導出するために更に使用される場合に、全ての候補イントラ予測モード(隣接するブロックからのイントラ予測モードと、プレーナー及びDC等のデフォルトのイントラ予測モードとを含んでもよい)が、非ALWIPイントラモードのためのMPMリストを構成するために使用される前に、対応するALWIPイントラ予測モードに変換されてもよい。
3)一例で、2つの変換されたALWIPイントラ予測モードが比較されてもよい。
a.一例で、それらが同じである場合に、それらのうちの一方のみがALWIPのためのMPMリストに置かれ得る。
b.一例で、それらが同じである場合に、それらのうちの一方のみが非ALWIPイントラモードのためのMPMリストに置かれ得る。
iii.一例で、非ALWIPイントラモードのためのMPMリスト内のS個のイントラ予測モードのうちのK個が、ALWIPのためのMPMリストとして選択されてもよい。例えば、Kは3に等しく、Sは6に等しい。
1)一例で、非ALWIPイントラモードのためのMPMリスト内の最初のK個のイントラ予測モードが、ALWIPのためのMPMリストとして選択され得る。
【0123】
2.ALWIPのためのMPMリストを導出するために使用される1つ又は複数の隣接するブロックは、非ALWIPイントラモード(例えば、通常のイントラモード、MRL、又はISP)のためのMPMリストを構成するためにも使用され得る、ことが提案される。
a.一例で、ALWIPのためのMPMリストを導出するために使用される、現在のブロックの左にある隣接ブロックは、非ALWIPイントラモードのためのMPMリストを導出するために使用されるものと同じであるべきである。
i.現在のブロックの左上隅が(xCb,yCb)であり、現在のブロックの幅及び高さがW及びHであるとすれば、一例で、ALWIP及び非ALWIPイントラモードの両方のためのMPMリストを導出するために使用される左隣接ブロックは、ポジション(xCb-1,yCb)をカバーし得る。代替例では、ALWIP及び非ALWIPイントラモードの両方のためのMPMリストを導出するために使用される左隣接ブロックは、ポジション(xCb-1,yCb+H-1)をカバーしてもよい。
ii.例えば、統合されたMPMリストで使用される左隣接ブロック及び上隣接ブロックは、図10に示されるA2及びB2である。
b.一例で、ALWIPのためのMPMリストを導出するために使用される、現在のブロックの上にある隣接ブロックは、非ALWIPイントラモードのためのMPMリストを導出するために使用されるものと同じであるべきである。
i.現在のブロックの左上隅が(xCb,yCb)であり、現在のブロックの幅及び高さがW及びHであるとすれば、一例で、ALWIP及び非ALWIPイントラモードの両方のためのMPMリストを導出するために使用される上隣接ブロックは、ポジション(xCb,yCb-1)をカバーし得る。代替例では、ALWIP及び非ALWIPイントラモードの両方のためのMPMリストを導出するために使用される上隣接ブロックは、ポジション(xCb+W-1,yCb-1)をカバーしてもよい。
ii.例えば、統合されたMPMリストで使用される左隣接ブロック及び上隣接ブロックは、図10に示されるA1及びB1である。
【0124】
3.ALWIPのためのMPMリストは、現在のブロックの幅及び/又は高さに従って異なる方法で構成され得る、ことが提案される。
a.一例で、異なる隣接ブロックが、異なるブロック寸法についてアクセスされてもよい。
【0125】
4.ALWIPのためのMPMリスト及び非ALWIPイントラモードのためのMPMリストは、同じプロシージャによるが異なるパラメータにより構成され得る、ことが提案される。
a.一例で、非ALWIPイントラモードのMPMリスト構成プロシージャにおけるS個のイントラ予測モードのうちのK個は、ALWIPモードで使用されるMPMリストのために導出され得る。例えば、Kは3に等しく、Sは6に等しい。
i.一例で、MPMリスト構成プロシージャにおける最初のK個のイントラ予測モードは、ALWIPモードで使用されるMPMリストのために導出され得る。
b.一例で、MPMリスト内の最初のモードは異なってもよい。
i.例えば、非ALWIPイントラモードのためのMPMリスト内の最初モードはPlanarであり得るが、それは、ALWIPのためのMPMリストではMode X0であり得る。
1)一例で、X0は、Planarから変換されたALWIPイントラ予測モードであってもよい。
c.一例で、MPMリスト内のスタッフィング(stuffing)モードは異なってもよい。
i.例えば、非ALWIPイントラモードのためのMPMリスト内の最初の3つのスタッフィングモードは、DC、垂直(Vertical)、及び水平(Horizontal)であり得るが、それらは、ALWIPのためのMPMリストではMode X1、X2、X3であり得る。
1)一例で、X1、X2、X3は、異なるsizeIdごとに異なってもよい。
ii.一例で、スタッフィングモードの数は異なってもよい。
d.一例で、MPMリスト内の隣接するモードは異なってもよい。
i.例えば、隣接するブロックの通常のイントラ予測モードは、非ALWIPイントラモードのためのMPMリストを構成するために使用される。そして、それらは、ALWIPモードのためのMPMリストを構成するためのALWIPイントラ予測モードに変換される。
e.一例で、MPMリスト内のシフトされたモードは異なってもよい。
i.例えば、Xが通常のイントラ予測モードであり、K0が整数である場合に、X+K0が、非ALWIPイントラモードのためのMPMリストに置かれてもよい。そして、YがALWIPイントラ予測モードであり、K1が整数である場合に、Y+K1が、ALWIPのためのMPMリストに置かれてもよい。ここで、K0はK1とは異なり得る。
1)一例で、K1は、幅及び高さに依存してもよい。
【0126】
5.隣接するブロックは、非ALWIPイントラモードで現在のブロックのMPMリストを構成するときにそれがALWIPでコーディングされているならば、利用不可能であるとして扱われる、ことが提案される。
a.代替的に、隣接するブロックは、非ALWIPイントラモードで現在のブロックのMPMリストを構成するときにそれがALWIPでコーディングされているならば、予め定義されたイントラ予測モード(例えば、Planar)でコーディングされているものとして扱われる。
【0127】
6.隣接するブロックは、ALWIPモードで現在のブロックのMPMリストを構成するときにそれが非ALWIPイントラモードでコーディングされているならば、利用不可能であるとして扱われる、ことが提案される。
a.代替的に、隣接するブロックは、ALWIPモードで現在のブロックのMPMリストを構成するときにそれが非ALWIPイントラモードでコーディングされているならば、予め定義されたALWIPイントラ予測モードXでコーディングされているものとして扱われる。
i.一例で、Xは、幅及び/又は高さなどのブロック寸法に依存してもよい。
【0128】
7.ALWIPフラグの保存をラインバッファから削除することが提案される。
a.一例で、アクセスされるべき2番目のブロックが現在のブロックと比較して異なったLCU/CTU行/領域に位置するとき、2番目のブロックがALWIPでコーディングされるかどうかの条件チェックはスキップされる。
b.一例で、アクセスされるべき2番目のブロックが現在のブロックと比較して異なったLCU/CTU行/領域に位置するとき、2番目のブロックは、非ALWIPモードと同じように扱われ、例えば、通常のイントラコーディングされたブロックとして扱われる。
【0129】
8.ALWIPフラグをエンコードするとき、K個以下のコンテキスト(K>=0)が使用され得る。
a.一例で、K=1である。
【0130】
9.ALWIPモードに関連したモードインデックスを直接に保存するのではなく、ALWIPコーディングされたブロックの変換されたイントラ予測モードを保存することが提案される。
a.一例で、1つのALWIPコーディングされたブロックに関連したデコードされたモードインデックスは、例えば、セクション2.5.7で記載されたmap_alwip_to_angularに従って、通常のイントラモードにマッピングされる。
b.代替的に、更に、ALWIPフラグの保存は全体として削除される。
c.代替的に、更に、ALWIPモードの保存は全体として削除される。
d.代替的に、更に、1つの隣接する/現在のブロックがコーディングされるかどうかのALWIPフラグによる条件チェックはスキップされてもよい。
e.代替的に、更に、ALWIPコーディングされたブロック及び1つのアクセスされたブロックに関連した通常のイントラ予測のために割り当てられたモードの変換は、スキップされてもよい。
【0131】
異なる色成分に対するALWIP
10.推測されたクロマイントラモード(例えば、DMモード)は、対応するルーマブロックがALWIPモードでコーディングされる場合には常に適用され得る、ことが提案される。
a.一例で、クロマイントラモードは、対応するルーマブロックがALWIPモードでコーディングされる場合に、シグナリングによらず、DMモードであると推測される。
b.一例で、対応するルーマブロックは、所与のポジション(例えば、現在のクロマブロックの左上、現在のクロマブロックの中央)に位置するクロマサンプルの対応するサンプルを変換するものであってよい。
c.一例で、DMモードは、対応するルーマブロックのイントラ予測モードに従って、例えば、その(ALWIP)モードを通常のイントラモードの1つにマッピングすることにより、導出されてもよい。
【0132】
11.クロマブロックの対応するルーマブロックがALWIPモードでコーディングされるとき、いくつかのDMモードが導出され得る。
【0133】
12.クロマモード決定プロセス(例えば、直接モード/導出モード)で、それがALWIPコーディングされているかどうか及び/又はそのALWIPモードを決定するために使用される対応するルーマブロックは、コーディングされたクロマブロックの大きさ及び/又はカラーフォーマットとともに左上ポジションに応じて決定され得る。
a.コーディングされたクロマブロックの左上ポジションが(xCb,yCb)であり、コーディングされたクロマブロックの幅及び高さが夫々CbWidth及びCbHeightであるとして、全てのポジション及び長さはルーマサンプルユニット内にある。
b.一例で、対応するルーマブロックは、ポジション(xCb+offsetX,yCb+offsetY)をカバーするルーマブロック(例えば、コーディングブロック)として選択されてもよく、offsetX及びoffsetYの両方が0に等しいことは許されない。
i.一例で、offsetX=(CbWidth/2)又は(CbWidth/2-1)又は(CbWidth/2+1)である。
ii.一例で、offsetY=(CbHeight/2)又は(CbHeight/2-1)又は(CbHeight/2+1)である。
【0134】
13.1つの対応するルーマブロックがALWIPモードでコーディングされる場合に、特別なモードがクロマブロックに割り当てられる、ことが提案される。
a.一例で、特別なモードは、ALWIPコーディングされたブロックに関連したイントラ予測モードに関わらず、所与の通常のイントラ予測モードであるよう定義される。
b.一例で、イントラ予測の異なる方法がこの特別のモードに割り当てられてもよい。
c.代替的に、ルーマブロックがALWIPモードでコーディングされる場合に、クロマDMモードのための関連する通常のイントラモードは、識別された特別なモードであると常に推測され得る。
d.代替的に、更に、クロマモードのシグナリングはスキップされてもよい。
e.代替的に、クロマブロックの対応するルーマブロックがALWIPモードでコーディングされ、DMモードがクロマブロックについてシグナリングされるとき、予め定義されたイントラ予測モードがクロマブロックについて適用される。
i.例えば、予め定義されたイントラ予測モードはPlanarモードであってよい。
ii.例えば、予め定義されたイントラ予測モードは、スクリーンコンテンツの指示などのコーディングされた情報に依存してもよい。
1)一例で、スクリーンコンテンツの指示により、コンテンツがカメラにより捕捉されたコンテンツであることが示される場合には、それはPlanarモードにセットされ得る。
2)一例で、スクリーンコンテンツの指示により、コンテンツがスクリーンコンテンツであることが示される場合には、それは水平予測モードにセットされ得る。
f.一例で、クロマブロックの対応するルーマブロックがALWIPモードでコーディングされるとき、DMモードはクロマブロックについて決して使用され得ない。
i.例えば、DMモードに関するシンタックスはシグナリングされなくてもよい。
1)一例で、対応するルーマブロックがALWIPモードであり、sps_cclm_enabled_flagがFALSEに等しい場合に、4つのクロマモードが、クロマブロックについてシグナリングされることを許され得る。
a.例えば、この場合に、多くても2つのビンが、イントラクロマモードの2値化のために必要とされ得る。
2)一例で、対応するルーマブロックがALWIPモードであり、sps_cclm_enabled_flagがTRUEである場合に、7つのクロマモードが、クロマブロックについてシグナリングされることを許され得る。
a.例えば、この場合に、多くても4つのビンが、イントラクロマモードの2値化のために必要とされ得る。
【0135】
14.ALWIPがクロマ成分にも適用され得る、ことが提案される。
a.一例で、マトリクス及び/又はバイアスベクトルは、異なる色成分ごとに異なってもよい。
b.一例で、マトリクス及び/又はバイアスベクトルは、Cb及びCrについて一緒に、予め定義されてもよい。
i.一例で、Cb及びCr成分は連結されてもよい。
ii.一例で、Cb及びCr成分はインターリーブされてもよい。
c.一例で、クロマ成分は、対応するルーマブロックと同じALWIPイントラ予測モードを共有してもよい。
i.一例で、同じALWIPイントラ予測モードは、対応するルーマブロックがALWIPモードを適用し、クロマブロックがDMモードでコーディングされる場合に、クロマ成分に対して適用される。
ii.一例で、同じALWIPイントラ予測モードがクロマ成分に対して適用され、その後の線形補間はスキップされ得る。
iii.一例で、同じALWIPイントラ予測モードは、サブサンプリングされたマトリクス及び/又はバイアスベクトルでクロマ成分に対して適用される。
d.一例で、異なる成分ごとのALWIPイントラ予測モードの数は異なってもよい。
i.例えば、クロマ成分のためのALWIPイントラ予測モードの数は、同じブロック幅及び高さのルーマ成分のためのそれよりも少なくてもよい。
【0136】
ALWIPの適用性
15.ALWIPが適用可能であるかどうかはシグナリングされもよい、ことが提案される。
a.例えば、それは、シーケンスレベルで(例えば、SPSにおいて)、ピクチャレベルで(例えば、SPS若しくはピクチャヘッダにおいて)、スライスレベルで(例えば、スライスヘッダにおいて)、タイルグループレベルで(例えば、タイルグループヘッダにおいて)、タイルレベルで、CTU行レベルで、又はCTUレベルでシグナリングされてもよい。
b.例えば、intra_lwip_flagはシグナリングされなくてもよく、ALWIPが適用されない場合に0であると推測される。
【0137】
16.ALWIPが適用可能であるかどうかはブロック幅(W)及び/又は高さ(H)に依存してもよい、ことが提案される。
c.例えば、ALWIPは、W>=T1(又はW>T1)かつH>=T2(又はH>T2)である場合に適用され得ない。例えば、T1=T2=32である。
i.例えば、ALWIPは、W<=T1(又はW<T1)かつH<=T2(又はH<T2)である場合に適用され得ない。例えば、T1=T2=32である。
d.例えば、ALWIPは、W>=T1(又はW>T1)あるいはH>=T2(又はH>T2)である場合に適用され得ない。例えば、T1=T2=32である。
i.例えば、ALWIPは、W<=T1(又はW<T1)あるいはH<=T2(又はH<T2)である場合に適用され得ない。例えば、T1=T2=32である。
e.例えば、ALWIPは、W+H>=T(又はW+H>T)である場合に適用され得ない。例えば、T=256である。
i.例えば、ALWIPは、W+H<=T(又はW+H<T)である場合に適用され得ない。例えば、T=256である。
f.例えば、ALWIPは、W×H>=T(又はW×H>T)である場合に適用され得ない。例えば、T=256である。
i.例えば、ALWIPは、W×H<=T(又はW×H<T)である場合に適用され得ない。例えば、T=256である。
g.例えば、intra_lwip_flagはシグナリングされなくてもよく、ALWIPが適用されない場合に0であると推測される。
【0138】
ALWIPにおける計算の問題
17.ALWIPに関与する如何なるシフト演算も、数値をSだけ左シフト又は右シフトすることしかできない、ことが提案される。ここで、Sは0以上でなければならない。
a.一例で、右シフト演算は、Sが0に等しいか又は0よりも大きいときに異なってもよい。
i.一例で、upsBdryX[x]は、uDwn>1であるときには、
【数13】
として計算されるべきであり、dDwnが1に等しいときには、
【数14】
として計算されるべきである。
b.一例で、upsBdryX[x]は、
【数15】
として計算されるべきである。
【0139】
18.結果は、ALWIPのアップサンプリングプロセスで小数点切り下げ又は小数点切り上げされるべきである、ことが提案される。
a.一例で、
【数16】
であり、ここで、offsetHor及びoffsetVerは整数である。例えば、offsetHor=upHor/2かつoffsetVer=upVer/2である。
【0140】
他のコーディングツールとのインタラクション
19.ALWIPはCIIPコーディングされたブロックに使用され得る、ことが提案される。
a.一例で、CIIPコーディングされたブロックにおいて、ALWIPイントラ予測モード、又はPlanarなどの通常のイントラ予測モードが、イントラ予測信号を生成するために使用されるかどうかは、明示的にシグナリングされ得る。
b.一例で、ALWIPイントラ予測モード、又はPlanarなどの通常のイントラ予測モードが、イントラ予測信号を生成するために使用され得るかどうかは、暗黙的に推測されてもよい。
i.一例で、ALWIPイントラ予測モードは、CIIPコーディングされたブロックで決して使用され得ない。
1)代替的に、通常のイントラ予測は、CIIPコーディングされたブロックで決して使用され得ない。
ii.一例で、ALWIPイントラ予測モード、又はPlanarなどの通常のイントラ予測モードが、イントラ予測信号を生成するために使用されるかどうかは、隣接するブロックの情報から推測されてもよい。
【0141】
20.CCLMモードで隣接ルーマサンプルをダウンサンプリングするために使用されるプロシージャの全体又は部分は、ALWIPモードで隣接サンプルをダウンサンプリングするために使用されてもよい、ことが提案される。
a.代替的に、ALWIPモードで隣接ルーマサンプルをダウンサンプリングするために使用されるプロシージャの全体又は部分が、CCLMモードで隣接サンプルをダウンサンプリングするために使用されてもよい。
b.ダウンサンプリングプロシージャは、CCLMプロセス及びALWIPプロセスで使用されるときに異なるパラメータ/引数を用いて呼び出されてもよい。
c.一例で、CCLMプロセスでのダウンサンプリング方法(例えば、隣接するルーマ位置の選択、ダウンサンプリングフィルタ)は、ALWIPプロセスで利用されてもよい。
d.隣接ルーマサンプルをダウンサンプリングするために使用されるプロシージャは、少なくとも、ダウンサンプリングされたポジションの選択、ダウンサンプリングフィルタ、丸め及びクリッピング演算を含む。
【0142】
21.ALWIPモードでコーディングされたブロックは、RST又は/及び2次変換又は/及び回転変換又は/及び分離不可能な2次変換(Non-Separable Secondary Transform,NSST)を適用することができない、ことが提案される。
a.一例で、かような制約が適用され得るか否かは、例えば、(15)で記載されている条件と同じ、ブロックの大きさ情報に依存してもよい。
b.代替的に、ALWIPモードは、RST又は/及び2次変換又は/及び回転変換又は/及びNSSTが適用されるときに許可され得ない。
c.代替的に、ALWIPモードでコーディングされたブロックは、RST又は/及び2次変換又は/及び回転変換又は/及び分離不可能な2次変換(NSST)を適用してもよい。
i.一例で、変換マトリクスの選択はALWIPイントラ予測モード次第であってもよい。
ii.一例で、変換マトリクスの選択は、ALWIPイントラ予測モードから変換される通常のイントラ予測モード次第であってもよい。
iii.一例で、変換マトリクスの選択は、ALWIPイントラ予測モードから変換される通常のイントラ予測モードの分類次第であってもよい。
【0143】
22.ALWIPモードでコーディングされたブロックは、ブロックベースDPCM(BDPCM)又は残差RDPCMを適用することができない、ことが提案される。
a.代替的に、ALWIPモードは、BDPCM又はRDPCMが適用されるときに許可され得ない。
【0144】
23.ALWIPモードでコーディングされたブロックは、DCT-IIのみを変換として使用し得る、ことが提案される。
a.一例で、変換マトリクスインデックスのシグナリングは常にスキップされる。
b.代替的に、ALWIPモードでコーディングされたブロックに使用される変換は、明示的にシグナリングされるのではなく暗黙的導出され得る、ことが提案される。例えば、変換は、JVET-M0303で提案されている方法に従って選択されてもよい。
c.代替的に、ALWIPモードでコーディングされたブロックは変換スキップのみを使用し得る、ことが提案される。
i.代替的に、更に、ALWIPが使用されるとき、変換スキップの利用の指示のシグナリングはスキップされる。
d.一例で、ALWIPモード情報(例えば、有効化/無効化、予測モードインデックス)は、変換マトリクスの指示の後に条件付きでシグナリングされてもよい。
i.一例で、所与の変換マトリクス(変換スキップ又はDCT-II)については、ALWIPモード情報の指示はシグナリングされてもよい。
ii.代替的に、更に、ALWIPモード情報の指示は、いくつかの予め定義された変換マトリクスについてはスキップされてもよい。
【0145】
24.ALWIPモードでコーディングされたブロックは、選択された変換がモード依存するときに、ALWIPイントラ予測モードから変換された通常のイントラ予測でコーディングされると見なされる、ことが提案される。
【0146】
25.ALWIPモードは、変換スキップを使用しなくてもよい。
a.例えば、この場合に、変換スキップの利用の指示を更にシグナリングする必要はない。
b.代替的に、ALWIPモードは、変換スキップが適用されるときに許可され得ない。
i.例えば、この場合に、変換スキップが適用されるときには、ALWIPモード情報をシグナリングする必要はない。
【0147】
26.デブロッキングフィルタ、サンプル適応オフセット(Sample Adaptive Offset,SAO)、適応ループフィルタ(Adaptive Loop Filter,ALF)などのフィルタリングプロセスで、フィルタをどのように選択すべきか、及び/又はサンプルをフィルタすべきかどうかは、ALWIPの利用によって決定されてもよい。
【0148】
27.フィルタ処理されていない隣接サンプルが、ALWIPモードで使用されてもよい。
a.代替的に、フィルタ処理された隣接サンプルがALWIPモードで使用されてもよい。
b.一例で、フィルタ処理された隣接サンプルは、ダウンサンプリングのために使用されてもよく、フィルタ処理されていない隣接サンプルは、アップサンプリングのために使用されてもよい。
c.一例で、フィルタ処理されていない隣接サンプルは、ダウンサンプリングのために使用されてもよく、フィルタ処理された隣接サンプルは、アップサンプリングのために使用されてもよい。
d.一例で、フィルタ処理された左隣接サンプルは、アップサンプリングのために使用されてもよく、フィルタ処理されていない上隣接サンプルは、アップサンプリングのために使用されてもよい。
e.一例で、フィルタ処理されていない左隣接サンプルは、アップサンプリングのために使用されてもよく、フィルタ処理された上隣接サンプルは、アップサンプリングのために使用されてもよい。
f.一例で、フィルタ処理された又はフィルタ処理されていない隣接サンプルが使用されるかどうかは、ALWIPモードに依存してもよい。
i.一例で、ALWIPモードは、従来のイントラ予測モードに変換されてもよく、フィルタ処理された又はフィルタ処理されていない隣接サンプルが使用されるかどうかは、変換された従来のイントラ予測モードに依存してもよい。例えば、かような決定は、従来のイントラ予測モードと同じである。
ii.代替的に、フィルタ処理された又はフィルタ処理されていない隣接サンプルがALWIPモードに使用されるかどうかは、シグナリングされてもよい。
g.一例で、フィルタ処理されたサンプルは、従来のイントラ予測モードと同じように生成されてもよい。
【0149】
28.どのマトリクス又は/及びオフセットベクトルが使用されるかは、リシェーピング(別名、LMCS,Luma Mapping with Chroma Scaling)情報に依存してもよい。
a.一例で、リシェーピングがオン及びオフであるときに異なるマトリクス又は/及びオフセットベクトルが使用されてもよい。
b.一例で、異なるマトリクス又は/及びオフセットベクトルは、異なるリシェーピングパラメータごとに使用されてもよい。
c.一例で、ALWIPは、元のドメインで常に実行されてもよい。
i.例えば、隣接するサンプルは、ALWIPで使用される前に元のドメインにマッピングされる(リシェーピングが適用される場合)。
【0150】
29.ALWIPは、リシェーピングが適用されるときに無効にされてもよい。
a.代替的に、リシェーピングは、ALWIPが有効にされるときに無効にされてもよい。
b.一例で、ALWIPは、リシェーピングが適用されるときに、HDR(High Dynamic Range)コンテンツについて無効にされてもよい。
【0151】
30.ALWIPで使用されるマトリクスは、サンプルビットデプスに依存してもよい。
a.だいたいて木に、更に、ALWIPで使用されるオフセット値は、サンプルビットデプスに依存してもよい。
b.代替的に、マトリクスパラメータ及びオフセット値は、NビットサンプルについてMビット精度で保存され得る(M<=N)。例えば、マトリクスパラメータ及びオフセット値は、10ビットサンプルについて8ビット精度で保存され得る。
c.サンプルビットデプスは、ルーマなどの色成分についての入力アレイのビットデプスであってもよい。
d.サンプルビットデプスは、ルーマなどの色成分について内部配列/再構成されたサンプルのビットデプスであってもよい。
【0152】
31.特定のブロックサイズについてのマトリクスパラメータ及び/又はオフセット値は、他のブロックサイズについてのマトリクスパラメータ及び/又はオフセット値から導出されてもよい。
【0153】
32.一例で、8×8ブロックの16×8マトリクスは、4×4ブロックの16×4マトリクスから導出され得る。
【0154】
33.ALWIPによって生成された予測は、更に使用されるべき予測信号を得るために処理されることになる中間信号として扱われ得る、ことが提案される。
a.一例で、ポジション依存イントラ予測複合(Position Dependent intra Prediction Combination,PDPC)は、更に使用されるべき予測信号生成するために、ALWIPによって生成された予測に適用されてもよい。
i.一例で、PDPCは、ブロックがPlanar又はDCなどの特定の通常のイントラ予測モードでコーディングされるのと同じように、ALWIPコーディングされたブロックに対して行われる。
ii.一例で、PDPCは、ALWIPいんとrALWIPモードから変換される通常のイントラ予測モードでコーディングされたブロックと同じように、ALWIPコーディングされたブロックに対して行われる。
iii.一例で、PDPCは、ALWIPコーディングされたブロックに対して条件付きで適用される。
1)例えば、PDPCは、PDPCが、ALWIPイントラ予測モードから変換される通常のイントラ予測モードに対して適用されるときにのみ、ALWIPコーディングされたブロックに対して適用される。
b.一例で、ALWIPによって生成された境界サンプル予測は、更に使用されるべき予測信号を生成するために、隣接するサンプルでフィルタリングされ得る。
i.一例で、境界サンプルに対するフィルタリングは、ブロックがPlanar又はDCなどの特定の通常のイントラ予測モードでコーディングされるのと同じように、ALWIPコーディングされたブロックに対して行われる。
ii.一例で、境界サンプルに対するフィルタリングは、ALWIPイントラ予測モードから変換される通常のイントラ予測モードでコーディングされたブロックと同じように、ALWIPコーディングされたブロックに対して行われる。
iii.一例で、境界サンプルに対するフィルタリングは、ALWIPコーディングされたブロックに対して条件付きで行われる。
1)例えば、境界サンプルに対するフィルタリングは、境界サンプルに対するフィルタリングが、ALWIPイントラ予測モードから変換される通常のイントラ予測モードに対して適用されるときにのみ、ALWIPコーディングされたブロックに対して適用される。
【0155】
34.双線形補間フィルタ以外の補間フィルタがALWIPのアップサンプリングプロセスで使用され得る、ことが提案される。
a.一例で、4-タップ補間フィルタが、ALWIPのアップサンプリングプロセスで使用されてもよい。
i.例えば、クロマ成分について動き補償を行うために使用されるVVCでの4-タップ補間フィルタが、ALWIPのアップサンプリングプロセスで使用されてもよい。
ii.例えば、角度イントラ予測を行うために使用されるVVCでの4-タップ補間フィルタが、ALWIPのアップサンプリングプロセスで使用されてもよい。
iii.例えば、ルーマ成分について動き補償を行うために使用されるVVCでの8-タップ補間フィルタが、ALWIPのアップサンプリングプロセスで使用されてもよい。
【0156】
35.ALWIPモードでコーディングされたブロック内のサンプルは、異なる方法で予測され得る。
a.一例で、W×Hブロックについては、その中のsW×sHサブブロックの予測が、それにsW×sH ALWIPを適用することによって生成され得る。
i.一例で、W×Hブロックについては、その左上のW/2×H/2ブロックの予測が、それにW/2×H/2 ALWIPを適用することによって生成され得る。
ii.一例で、W×Hブロックについては、その左のW/2×Hブロックの予測が、それにW/2×H ALWIPを適用することによって生成され得る。
iii.一例で、W×Hブロックについては、その上のW×H/2ブロックの予測が、それにW×H/2 ALWIPを適用することによって生成され得る。
iv.一例で、sW×sHサブブロックは、利用可能な左又は/及び上隣接サンプルを有してもよい。
b.一例で、サブブロックのポジションをどのように決定すべきかは、ブロックの大きさに依存してもよい。
i.例えば、W>=Hであるとき、その左のW/2×Hブロックの予測は、それにW/2×H ALWIPを適用することによって生成され得る。
ii.例えば、H>=Wであるとき、その上のW×H/2ブロックの予測は、それにW×H/2 ALWIPを適用することによって生成され得る。
iii.例えば、WがHに等しいとき、その左上のW/2×H/2ブロックの予測は、それにW/2×H/2 ALWIPを適用することによって生成され得る。
c.一例で、更に、残りのサンプル(サンプルはsW×sHサブブロックに属さない)の予測は、W×H ALWIPを適用することによって生成され得る。
i.代替的に、残りのサンプルの予測は、従来のイントラ予測を適用することによって(例えば、変換されたイントラ予測モードをイントラモードとして使用して)生成されてもよい。
ii.更に、計算は、sW×sHサブブロック内のサンプルについてはスキップされてもよい。
【0157】
36.ALWIPモードでコーディングされたブロック内のサンプルは、サブブロック(例えば、サイズsW×sHを有する)レベルで予測され得る。
a.一例で、sW×sH ALWIPは、隣接する再構成されたサンプル(例えば、境界サブサンプルの場合)又は/及び隣接する予測されたサンプル(例えば、インターサブブロックの場合)を用いて各サブブロックに適用され得る。
b.一例で、サブブロックは、ラスタスキャン順序で予測されてもよい。
c.一例で、サブブロックは、ジグザグ順序で予測されてもよい。
d.一例で、サブブロックの幅(高さ)は、sWMax(sHMax)よりも大きくなくてもよい。
e.一例で、幅若しくは高さのどちらか又は幅及び高さの両方でブロックがしきい値Lよりも大きい(又はそれに等しい)とき、そのブロックは複数のサブブロックに分割されてもよい。
f.しきい値Lは、予め定義されるか、あるいは、SPS/PPS/ピクチャ/スライス/タイルグループ/タイルレベルでシグナリングされてもよい。
i.代替的に、しきい値は、ブロックサイズ、ピクチャタイプ、時間レイヤインデックス、などのような特定のコーディングされた情報に依存してもよい。
【0158】
37.隣接するサンプル(隣接又は非隣接)は、ALWIPで使用される前にフィルタリングされる、ことが提案される。
a.代替的に、隣接するサンプルは、ALWIPで使用される前にフィルタリングされない。
b.代替的に、隣接するステップは、ALWIPで使用される前に条件付きでフィルタリングされる。
i.例えば、隣接するサンプルは、ALWIPイントラ予測モードが1つ又はいくつかの特定の値に等しいときにのみ、ALWIPで使用される前にフィルタリングされる。
【0159】
38.ALWIPフラグをコーディングするときに、算術符号でALWIPフラグのコンテキストを導出する方法は、現在のブロックの全ての大きさについて同じである。
a.一例で、算術符号でALWIPフラグのコンテキストを導出する方法は、(Abs(Log2(cbWidth)-Log2(CbHeight)))が1よりも大きいか否かにかかわらず同じである。ここで、cbWidth及びcbHeighthが、夫々、現在のブロックの幅及び高さである。
b.一例で、算術符号でのALWIPフラグのコンテキストの導出は、隣接するブロックのALWIP情報及び/又は隣接するブロックの利用可能性にのみ依存する。
i.一例で、複数の隣接ブロックのALWIP情報(例えば、intra_lwip_flag)及び/又は隣接ブロックの利用可能性は直接に使用される。例えば、左及び上隣接ブロックのALWIPフラグ及び/又は左及び上隣接ブロックの利用可能性が、算術符号でALWIPフラグのコンテキストを導出するために使用される。例は表5に示される。代替的に、更に、コンテキストインデックスオフセットctxInc=(condL&&availableL)+(condA&&availableA)+ctxSetIdx×3である。
【表2】
ii.一例で、隣接するブロックの1つのALWIP情報(例えば、intra_lwip_flag)が、算術符号でALWIPフラグのコンテキストを導出するために使用され、その隣接するブロックは左隣接ブロックである。例は表6に示される。代替的に、更に、コンテキストインデックスオフセットctxInc=(condL&&availableL)+ctxSetIdx×3である。
【表3】
iii.一例で、隣接するブロックの1つのALWIP情報(例えば、intra_lwip_flag)が、算術符号でALWIPフラグのコンテキストを導出するために使用され、その隣接するブロックは上隣接ブロックである。例は表7に示される。代替的に、更に、コンテキストインデックスオフセットctxInc=(condA&&availableA)+ctxSetIdx×3である。
【表4】
c.一例で、1つの固定コンテキストが、算術符号でALWIPフラグをコーディングするために使用される。
d.一例で、ALWIPフラグは、算術符号でバイパスコーディングされる。
e.代替的に、K個のコンテンツが、算術符号でALWIPフラグをコーディングするために使用されてもよい。使用されるコンテンツは、ブロックの大きさ(例えば、Wとして表される幅及びHとして表される高さ)に依存してもよい。
i.一例で、Kは2に等しい。W>N×H又はH>N×W(例えば、N=2)であるときには、第1コンテキストが使用され、そうでない場合には、第2コンテキストが使用される。
【0160】
39.N(N>=0)個のコンテキストが、算術符号でALWIPフラグ(例えば、intra_lwip_flag)をコーディングするために使用され得る、ことが提案される。
a.一例で、Nは3に等しい。2つの隣接又は/及び非隣接ブロックのALWIPフラグ及び/又は利用可能性が、算術符号でALWIPフラグの使用されるコンテンツを導出するために使用され得る。
i.一例で、2つの隣接ブロックは、上ブロック(例えば、図10のB1)及び左ブロック(例えば、図10のA1)を含んでもよい。
ii.一例で、2つの隣接ブロックは、上ブロック及び左下ブロック(例えば、図10のA2)を含んでもよい。
iii.一例で、2つの隣接ブロックは、上ブロック及び右上ブロック(例えば、図10のB2)を含んでもよい。
iv.一例で、2つの隣接ブロックは、右上ブロック(例えば、図10のB2)及び左ブロック(例えば、図10のB1)を含んでもよい。
v.一例で、2つの隣接ブロックは、右上ブロック(例えば、図10のB2)及び左下ブロック(例えば、図10のA2)を含んでもよい。
vi.一例で、2つの隣接ブロックは、左ブロック(例えば、図10のA1)及び左下ブロック(例えば、図10のA2)を含んでもよい。
vii.一例で、隣接ブロックは、図10とは別なふうに定義されてもよく、例は図16に示されている。2つの隣接ブロックは、{右上、上、左上、左、左下}ブロックのうちのいずれか2つを含み得る。例えば、2つの隣接ブロックは、{B0,B1,B2,A0,A1}にあるブロックのうちのいずれか2つを含み得る。
b.一例で、Nは2に等しい。1つの隣接又は/及び非隣接ブロックのALWIPフラグ及び/又は利用可能性が、算術符号でALWIPフラグの使用されるコンテンツを導出するために使用され得る。
i.一例で、隣接ブロックは、{右上、上、左上、左、左下}ブロックのうちのいずれか1つであってよい。隣接ブロックの例は、図10に示されている。
ii.一例で、隣接ブロックは、{右上、上、左上、左、左下}ブロックのうちのいずれか1つであってよい。隣接ブロックの例は、図16に示されている。
c.一例で、1つの固定コンテキストが、算術符号でALWIPフラグをコーディングするために使用されてもよい。
d.一例で、ALWIPフラグは、算術符号でバイパスコーディングされてもよい。図16は、隣接するブロックの例を示す。
【0161】
40.低減された境界サンプルが、アップサンプリング境界サンプルを計算せずに生成され得る、ことが提案される。
a.一例で、アップサンプリング境界サンプルポジションに位置している参照サンプルは、予測アップサンプリングプロセスのために直接に使用される。
i.一例で、アップサンプリング境界サンプルは、複数の隣接参照サンプルを平均することによって計算されなくてもよい。
b.一例で、低減された境界サンプルは、参照サンプル及びダウンスケーリング係数から直接に計算され得る。
i.一例で、ダウンサンプリング係数は、変換ブロックサイズ及びダウンサンプリングされた境界サイズによって計算され得る。
【0162】
41.マトリクス乗算のために使用される低減された境界サンプルは、1つの段階で生成され得る、ことが提案される。
a.一例で、それらは、1つの段階で、元の再構成された隣接サンプルから直接に生成され得る(VVC WD4は、セクション2.2.1.5.4.4で記載されるように、ALWIP低減境界サンプルを生成するために2段階のダウンサンプリングを使用することに留意されたい)。ここで、元の再構成された隣接サンプルは、更なる処理を伴わないデコードされた隣接サンプルであってよい。例えば、元の再構成された隣接サンプルは、角度インター予測サンプルを生成するために使用され得る。
b.一例で、低減された境界サンプルは、現在のブロックの上隣接行及び/又は左隣接列に位置する元の再構成されたサンプルから生成され得る。
i.例えば、N個の低減された境界サンプルが、現在のブロックに(所与の順序で)隣接しているM個の元の再構成されたサンプルから生成される必要があるとすれば、各K個の連続した元の再構成された隣接サンプルが、1つの出力される低減された境界サンプルを得るために使用され得る。
1)一例で、K=M/Nである。
a.代替的に、K=(M+N/2)/Nである。
2)一例で、1つの出力される低減された境界サンプルは、K個の連続した元の再構成された隣接サンプルの平均として導出されてもよい。
3)一例で、1つの出力される低減された境界サンプルは、K個の連続した元の再構成された隣接サンプルの加重平均として導出されてもよい。
c.一例で、左側の低減された境界サンプルは、現在のブロックの左隣接列に位置している元の再構成されたサンプルから生成され得、一方、上側の低減された境界サンプルは、現在のブロックの上隣接行に位置している元の再構成されたサンプルから生成され得る。
i.例えば、図17に表されているように、boundaryleft及びboundarytopと夫々表されている、左境界及び上境界上の4つの低減された境界サンプルが、現在の16×16ALWIPブロックの左/上側の元の隣接する再構成されたサンプル(図中、16×16ブロックに隣接する灰色グリッドとしてマークされている)によって生成される。
d.低減された境界サンプルをどのように生成すべきかは、ブロック寸法/コーディングされた情報(例えば、イントラ予測モード、変換タイプ、など)に依存してもよい。
e.一例で、上記の方法は、低減された境界サンプルを生成することを必要とするALWIPブロックの全サイズ(例えば、4×4ALWIPブロックから64×64ALWIPブロック)に適用され得る。
f.一例で、現在のブロックの左隣接列及び現在のブロックの上隣接行についての低減された境界サンプルの生成プロセスは、異なる方法で行われてもよい。
i.例えば、8×4ALWIPブロックについては、予め定義された低減された境界サンプルの数は上に4及び左に4であり、8×4ALWIPブロックの上行に位置している8つの隣接サンプルは、上側で4つの低減された境界サンプルを生成するために使用され、一方、8×4ALWIPブロックの左列に位置している4つの隣接サンプルは、左側で4つの低減された境界サンプルとして直接にコピーされる。
【0163】
42.低減された予測ブロックから最終的な予測ブロックを生成するためにアップサンプリングプロセスで元の再構成された隣接サンプル(現在のブロックに隣接又は非隣接)の全て又はいくつかを使用することが、提案される。
a.一例で、元の再構成された隣接サンプルは、現在のブロックの上隣接行及び/又は左隣接列に位置してよい。例は図18に示されており、64×64の最終的な予測ブロックは、8×8の低減された予測ブロック及び64×64ブロックの元の再構成された隣接サンプルからアップサンプリングによって生成される。
i.代替的に、更に、低減された境界サンプルは、低減された予測ブロックを得るためのマトリクス乗算のためにのみ使用されればよく、最終的な予測ブロックを生成するためのアップサンプリングプロセスでは使用されない。例えば、K個の低減された境界サンプルは、M×Nの低減された予測ブロックを生成するためにALWIPのマトリクス乗算に入力され得るが、アップサンプリングプロセスで最終的な予測ブロックを生成するために使用されなくてもよい。例えば、K=8であり、M×Nは8×8である。
b.一例で、選択された元の再構成された隣接サンプルが、低減された予測ブロックから最終的な予測ブロックを生成するためにアップサンプリングプロセスで使用されてもよい。
i.例えば、現在のブロックの左にある全ての元の再構成された隣接サンプルが選択されてもよい。
ii.例えば、現在のブロックの上にある全ての元の再構成された隣接サンプルが選択されてもよい。
iii.例えば、現在のブロックの左にある各M個の連続した元の再構成された隣接サンプルのうちのK個が選択されてもよい。例えば、K=1、M=2/4/8である。
1)例えば、各M個の連続した元の再構成された隣接サンプルのうちの後方のK個のサンプルが選択されてもよい。
2)例えば、各M個の連続した元の再構成された隣接サンプルのうちの最初のK個のサンプルが選択されてもよい。
iv.例えば、現在のブロックの上にある各M個の連続した元の再構成された隣接サンプルのうちのK個が選択されてもよい。例えば、K=1、M=2/4/8である。
1)例えば、各M個の連続した元の再構成された隣接サンプルのうちの後方のK個のサンプルが選択されてもよい。
2)例えば、各M個の連続した元の再構成された隣接サンプルのうちの最初のK個のサンプルが選択されてもよい。
v.例えば、選択は、ブロックの幅及び高さに依存してもよい。blkWoyobi blkHは夫々、ALWIPブロックの幅及び高さを表すとする。また、(blkX,blkY)は、ブロックの左上ポジションを表す。
1)例えば、blkWがblkH以上である場合に、現在のブロックの左にある全ての元の再構成された隣接サンプルが選択され得、かつ/あるいは、Mによって表される、現在のブロックの上にある選択された元の再構成された隣接サンプルの数は、blkWに依存し得る。
a.一例で、現在のブロックの上にあるk番目の選択されたサンプルは、ポジション(blkX+(k+1)×blkW/M-1,blkY-1)にあってよく、ここで、kは0からM-1である。
b.例えば、blkW<=8である場合に、M=4である。
c.例えば、blkW>8である場合に、M=8である。
d.代替的に、blkWとblkHの間の関係にかかわらず、現在のブロックの左にある全ての元の再構成された隣接サンプルが選択され得、かつ/あるいは、現在のブロックの上にあるM個の元の再構成された隣接サンプルが選択され得る。ここで、Mは上記の規則によって決定される。
2)例えば、blkWがblkHよりも小さい場合に、現在のブロックの上にある全ての元の再構成された隣接サンプルが選択され得、かつ/あるいは、Mによって表される、現在のブロックの左にある選択された元の再構成された隣接サンプルの数は、blkHに依存し得る。
a.一例で、現在のブロックの左にあるk番目の選択されたサンプルは、ポジション(blkX-1,blkY+(k+1)×blkH/M-1)にあってよく、ここで、kは0からM-1である。
b.例えば、blkH<=8である場合に、M=4である。
c.例えば、blkH>8である場合に、M=8である。
d.代替的に、blkWとblkHの間の関係にかかわらず、現在のブロックの上にある全ての元の再構成された隣接サンプルが選択され得、かつ/あるいは、現在のブロックの左にあるM個の元の再構成された隣接サンプルが選択され得る。ここで、Mは上記の規則によって決定される。
c.一例で、ALWIPアップサンプリングのために使用される隣接するサンプルは、最終的な予測ブロックを生成するために使用される前に更に変更(例えば、フィルタリング、ここで、フィルタはN-タップフィルタであってよく、例えば、N=2又は3である)されてもよい。
i.一例で、隣接するサンプルのフィルタリングプロセスは、ALWIPモードに従って適応的に適用され得る。
d.最終的な予測ブロックをどのように生成すべきか(例えば、線形補間)は、ブロック寸法/コーディングされた情報(例えば、イントラ予測方向、変換タイプ、など)に依存してもよい。
【0164】
43.一例で、サンプルは、ALWIPでのアップサンプリングプロセスにおいて異なるフィルタリング段階で異なる精度を有してもよい。「サンプル」は、予測サンプル、又はアップサンプリングプロセスの前若しくは後の任意の中間サンプルを指し得る。
a.一例で、ALWIPでのアップサンプリングプロセスにおいて、サンプルは、第1フィルタリング段階で水平方向に第1次元に沿ってアップサンプリングされ、次いで、サンプルは、第2フィルタリング段階で垂直方向に第2次元に沿ってアップサンプリングされる。
i.代替的に、ALWIPでのアップサンプリングプロセスにおいて、サンプルは、第1フィルタリング段階で垂直方向に第1次元に沿ってアップサンプリングされ、次いで、サンプルは、第2フィルタリング段階で水平方向に第2次元に沿ってアップサンプリングされる。
b.一例で、第1フィルタリング段階での右シフト又は除算によらない出力されたアップサンプリング結果は、第2フィルタリング段階への入力サンプルとして使用されてもよい。
i.一例で、第2フィルタリング段階での出力されたアップサンプリングフィルタリング結果は、最終的なアップサンプリングされた結果を導出するために、Shift1だけ右シフトされるか、又はDem1で除され得る。
ii.一例で、第1フィルタリング段階での出力されたアップサンプリングフィルタリング結果は、最終的なアップサンプリングされた結果を導出するために、Shift2だけ右シフトされるか、又はDem2で除され得る。
1)一例で、Shfit1=2×Shift2、Dem1=Dem2×Dem2である。
iii.一例で、第2フィルタリング段階へ入力されるが、第1フィルタリング段階での出力されたアップサンプリング結果ではないサンプルは、第2フィルタリング段階へ入力される前に、Shift3だけ左シフトされるか、又はDem3を乗じられ得る。
1)一例で、Shift3=Shift1、Dem3=Dem2である。
c.一例で、第1フィルタリング段階での出力されたアップサンプリング結果は、第2フィルタリング段階への入力サンプルとして使用される前に、Shift1だけ右シフトされるか、又はDem1で除され得る。
i.一例で、第2フィルタリング段階での出力されたアップサンプリングフィルタリング結果は、最終的なアップサンプリングされた結果を導出するために、Shift2だけ右シフトされるか、又はDem2で除され得る。ここで、Shift2は、Shift1に等しくなくてもよく、例えば、Shift2>Shift1であり、Dem2は、Dem1に等しくなくてもよく、例えば、Dem2>Dem1である。
ii.一例で、第1フィルタリング段階での出力されたアップサンプリングフィルタリング結果は、最終的なアップサンプリングされた結果を導出するために、Shift3だけ右シフトされるか、又はDem3で除され得る。ここで、Shitf3は、Shift1に等しくてもよく、Dem3は、Dem1に等しくなくてもよい。
1)一例で、Shfit3=Shift1+Shift2である。
iii.一例で、第2フィルタリング段階へ入力されるが、第1フィルタリング段階での出力されたアップサンプリング結果ではないサンプルは、第2フィルタリング段階へ入力される前に、左シフトされるか、又は係数を乗じられ得る。
d.一例で、第1フィルタリング段階での出力されたアップサンプリング結果は、第2フィルタリング段階への入力サンプルとして使用される前に、Shift1だけ左シフトされるか、又はDem1を乗じられ得る。
i.一例で、第2フィルタリング段階での出力されたアップサンプリングフィルタリング結果は、最終的なアップサンプリングされた結果を導出するために、右シフトされるか、又は係数で除され得る。
ii.一例で、第1フィルタリング段階での出力されたアップサンプリングフィルタリング結果は、最終的なアップサンプリングされた結果を導出するために、右シフトされるか、又は係数で除され得る。
iii.一例で、第2フィルタリング段階へ入力されるが、第1フィルタリング段階での出力されたアップサンプリング結果ではないサンプルは、第2フィルタリング段階へ入力される前に、Shift2だけ左シフトされるか、又はDem2を乗じられ得る。ここで、Shift2は、Shift1に等しくなくてもよく、例えば、Shift2>Shift1であり、Dem1は、Dem2に等しくなくてもよく、例えば、Dem2>Dem1である。
e.一例で、第1フィルタリング段階へ入力されるサンプルは、第1フィルタリング段階への入力サンプルとして使用される前に、Shift1だけ左シフトされるか、又はDem1を乗じられ得る。
i.一例で、第2フィルタリング段階での出力されたアップサンプリングフィルタリング結果は、最終的なアップサンプリングされた結果を導出するために、右シフトされるか、又は係数で除され得る。
ii.一例で、第1フィルタリング段階での出力されたアップサンプリングフィルタリング結果は、最終的なアップサンプリングされた結果を導出するために、右シフトされるか、又は係数で除され得る。
iii.一例で、第2フィルタリング段階へ入力されるが、第1フィルタリング段階での出力されたアップサンプリング結果ではないサンプルは、第2フィルタリング段階へ入力される前に、Shift2だけ左シフトされるか、又はDem2を乗じられ得る。ここで、Shift2は、Shift1に等しくなくてもよく、例えば、Shift2>Shift1であり、Dem2は、Dem1に等しくなくてもよく、例えば、Dem2>Dem1である。
【0165】
44.ALWIPでのアップサンプリングは、垂直アップサンプリング及び水平アップサンプリングの両方が必要とされるときに固定順序で実行され得る、ことが提案される。
a.一例で、水平アップサンプリングが最初に実行されてもよく、垂直アップサンプリングは2番目に実行されてもよい。
b.一例で、垂直アップサンプリングが最初に実行されてもよく、水平アップサンプリングは2番目に実行されてもよい。
【0166】
45.一例で、アップサンプリング前のALWIPでの予測サンプルは、ブロック寸法に応じて転置されてもよい。
a.一例で、W×Hブロックは最初にH×Wブロックに転置されてもよく、それからアップサンプリングが適用され得る。
b.代替的に、更に、アップサンプリングプロセスの後に、アップサンプリングされたサンプルが逆の方法で転置されてもよい。
【0167】
46.双線形フィルタの代わりの代替的な補間フィルタが、ALWIPでのアップサンプリングのために使用されてもよい、ことが提案される。
a.一例で、(4-タップ、6-タップ、8-タップなどの)ガウスフィルタが使用されてもよい。
b.一例で、(4-タップ、6-タップ、8-タップなどの)キュービックフィルタが使用されてもよい。
c.一例で、クロマサンプルの動き補償で使用される補間フィルタが使用されてもよい。
d.一例で、ルーマサンプルの動き補償で使用される補間フィルタ(6-タップ、8-タップなど)が使用されてもよい。
e.どの補間フィルタが使用されるかは、ブロック寸法に依存してもよい。
f.どの補間フィルタが使用されるかは、アップサンプリング比に依存してもよい。
g.どの補間フィルタが使用されるかは、ALWIPの予測モードに依存してもよい。
h.どの補間フィルタが使用されるかは、いくつのサンプルがアップサンプリングのために利用可能であるかに依存してもよい。
i.例えば、1つの行(又は列)に4つの利用可能なサンプル(隣接する参照サンプルを除く)があるときには、4-タップ補間フィルタが使用され得る。
ii.例えば、1つの行(又は列)に8つの利用可能なサンプル(隣接する参照サンプルを除く)があるときには、4-タップ又は8-タップ補間フィルタが使用され得る。
【0168】
47.ALWIPモードでコーディングされたブロックのためのMPMは、隣接するブロックから独立して構成され得る、ことが提案される。
a.一例で、ALWIPモードでコーディングされたブロックのためのMPMは、予め定義される。
i.例えば、予め定義されたMPMは、全てのブロック寸法について{M0,M1,M2}である。例えば、M0=0、M1=1、及びM2=2である。
ii.例えば、ALWIPモードでコーディングされたブロックのための予め定義されたMPMは、ブロック寸法に依存してもよい。例えば、ALWIPモードでコーディングされたブロックのための予め定義されたMPMは、セクション2.2.1.5で定義されているsizeIdに依存してもよい。
1)例えば、sizeIDが0に等しいときに、MPMは順に{17,34,5}である。
2)例えば、sizeIDが1に等しいときに、MPMは順に{0,7,16}である。
3)例えば、sizeIDが2に等しいときに、MPMは順に{1,4,6}である。
iii.例えば、ALWIPモードでコーディングされたブロックのための予め定義されたMPMは、最初のK個のマトリクスと関連付けられるよう固定であってよい。
1)一例で、K=3である。
2)一例で、Kはブロック寸法に依存してもよい。
【0169】
48.ブロック寸法にかかわらず、ALWIPに利用されるマトリクスの数を統一することが、提案される。
a.一例で、S個のマトリクスが、全てのブロック寸法について保存され得る。例えば、S=11、S=19、又はS=35である。
b.一例で、ALWIPモードシグナリングは、全てのブロック寸法について同じように行われる。
c.代替的に、更に、マトリクスは、異なるブロック寸法ごとに異なってもよい。
【0170】
5 実施形態
新たに加えられた部分は、太字イタリック体で強調表示されており、削除された部分は、下線を付されたイタリック体テキストで強調表示されている。
【0171】
5.1 一例
3つのコンテキストが、ALWIPフラグをコーディングするために使用される。
【表5】
【0172】
5.2 一例
1つの固定コンテキストが、ALWIPフラグをコーディングするために使用される。
【表6】
【0173】
5.3 一例
1ステップで境界低減プロセスを実行する。以下の実施形態は、採択されたJVET-N0220-proposal-test-CE3-4.1_v2に基づく。
【表7】
【0174】
5.4 一例
ALWIPでのアップサンプリングプロセスにおいて異なるフィルタリング段階で異なる精度により予測サンプルを導出する。以下の実施形態は、採択されたJVET-N0217-proposal-test-CE3-4.1_v2に基づく。
【表8】
【0175】
5.5 ビュレット40に対応する例
ブロック寸法はW×Hであるとする。サンプルP(x,y)(なお、x=Sx,Sx+Kx,Sx+2Kx,Sx+3Kx,・・・、y=Sy,Sy+Ky,Sy+2Ky,Sy+3Ky,・・・)は、アップサンプリングされたサンプルS(x,y)(なお、x=0,1,2,・・・W-1、y=0,1,2,・・・H-1)を導出するためにアップサンプリングプロセスへ入力される。Kx及びKyは、夫々、水平及び垂直方向に沿ったステップサイズである。(Sx,Sy)は開始ポジションである。
【0176】
1-Dアップサンプリングは、第1段階では水平方向で行われ、1-Dアップサンプリングは、第2段階では垂直方向で行われるとする。
【0177】
一例で、右シフトを伴わない第1段階での出力結果は:

S’(Sx+Kx-1,Sy)
=F1×P(Sx,Sy)+F2×P(Sx+Kx,Sy)

S’(Sx+Kx-1,Sy+Ky)
=F1×P(Sx,Sy+Ky)+F2×P(Sx+Kx,Sy+Ky)

として導出され得る。F1、F2は、2-タップフィルタの係数であり、F1+F2=2である。次いで、第2段階での出力結果は:

S’(Sx+Kx-1,Sy+1)
=F3×S’(Sx+Kx-1,Sy)+F4×S’(Sx+Kx-1,Sy+Ky)

として導出され得る。F3、F4は、2-タップフィルタの係数であり、F3+F4=2である。次いで、最終的なアップサンプリングされたサンプル値は:

S(Sx+Kx-1,Sy+1)
=Shift(S’(Sx+Kx-1,Sy+1),2N);

S(Sx+Kx-1,Sy)
=Shift(S’(Sx+Kx-1,Sy),N);

S(Sx+Kx-1,Sy+Ky)
=Shift(S’(Sx+Kx-1,Sy+Ky),N)

として定義され得る。
【0178】
5.6 一例
低減された境界サンプルを1つの段階で導出し、アップサンプリングのために参照バッファを生成する。以下の実施形態は、採択されたJVET-N0217-proposal-test-CE3-4.1_v2に基づく。
【表9】
【0179】
5.7 一例
ALWIPでの固定順序のアップサンプリング(別名、マトリクスベースのイントラ予測、又はMIP)についての例がここでは与えられる。テキストは、JVET-N1001-v6に基づく。
【0180】
5.7.1 最初の水平アップサンプリング及び次の垂直アップサンプリング
【表10】
【0181】
5.7.2 最初の垂直アップサンプリング及び次の水平アップサンプリング
【表11】
【0182】
5.8 MPMコーディングのためのJVET-N1001-v7に基づく作業草案の例
【表12】
【0183】
上記の例は、以下で記載される方法、例えば、方法1100から1400及び2300から2700に関連して組み込まれてもよい。方法は、ビデオエンコーダ及び/又はデコーダで実装されてもよい。
【0184】
図11は、ビデオ処理のための方法の例のフローチャートを示す。方法1100は、ステップ1110で、現在のビデオブロックがアフィン線形重み付きイントラ予測(ALWIP)モードを用いてコーディングされていることを決定することを含む。
【0185】
方法1100は、ステップ1120で、決定に基づいて、非ALWIPイントラモードのためのMPMリストの少なくとも一部に基づきALWIPモードのためのMPMリストの少なくとも一部を構成することを含む。
【0186】
方法1100は、ステップ1130で、ALWIPモードのためのMPMリストに基づいて、現在のビデオブロックとその現在のビデオブロックのビットストリーム表現との間の変換を実行することを含む。
【0187】
いくつかの実施形態において、ALWIPモードのMPMリストのサイズは、非ALWIPイントラモードのためのMPMリストのサイズと同じである。例において、ALWIPモードのMPMリストのサイズは6である。
【0188】
いくつかの実施形態において、方法1100は、ALWIPモードのためのMPMリストにデフォルトのモードを挿入するステップを更に含む。例において、デフォルトのモードは、非ALWIPイントラモードのためのMPMリストに基づくALWIPモードのMPMリストの部分より前に挿入される。他の例においては、デフォルトのモードは、非ALWIPイントラモードのためのMPMリストに基づくALWIPモードのためのMPMリストの部分に続いて挿入される。更なる他の例においては、デフォルトのモードは、非ALWIPイントラモードのためのMPMリストに基づくALWIPモードのためのMPMリストの部分と交互に挿入される。
【0189】
いくつかの実施形態において、ALWIPモードのためのMPMリスト及び非ALWIPイントラモードのためのMPMリストを構成することは、1つ以上の隣接ブロックに基づく。
【0190】
いくつかの実施形態において、ALWIPモードのためのMPMリスト及び非ALWIPイントラモードのためのMPMリストを構成することは、現在のビデオブロックの高さ又は幅に基づく。
【0191】
いくつかの実施形態において、ALWIPモードのためのMPMリストを構成することは、非ALWIPイントラモードのためのMPMリストを構成するために使用されるパラメータの第2セットとは異なるパラメータの第1セットに基づく。
【0192】
いくつかの実施形態において、方法1100は、現在のビデオブロックの隣接ブロックがALWIPモードでコーディングされていることを決定し、非ALWIPイントラモードのためのMPMリストを構成する際に隣接ブロックを利用不可能と指定するステップを更に含む。
【0193】
いくつかの実施形態において、方法1100は、現在のビデオブロックの隣接ブロックが非ALWIPイントラモードでコーディングされていることを決定し、ALWIPモードのためのMPMリストを構成する際に隣接ブロックを利用不可能と指定するステップを更に含む。
【0194】
いくつかの実施形態において、非ALWIPイントラモードは、通常のイントラモード、多重参照ライン(MRL)イントラ予測モード、又はイントラサブパーティション(ISP)ツールに基づく。
【0195】
図12は、ビデオ処理のための方法の例のフローチャートを示す。方法1200は、ステップ1210で、現在のビデオブロックのルーマ成分がアフィン線形重み付きイントラ予測(ALWIP)モードを用いてコーディングされていることを決定することを含む。
【0196】
方法1200は、ステップ1220で、決定に基づいて、クロマイントラモードを推測することを含む。
【0197】
方法1200は、ステップ1230で、クロマイントラモードに基づいて、現在のビデオブロックとその現在のビデオブロックのビットストリーム表現との間の変換を実行することを含む。
【0198】
いくつかの実施形態において、ルーマ成分は、クロマ成分の所定のクロマサンプルをカバーする。例において、所定のクロマサンプルは、クロマ成分の左上サンプル又は中心サンプルである。
【0199】
いくつかの実施形態において、推測されたクロマイントラモードはDMモードである。いくつかの実施形態において、推測されたクロマイントラモードはALWIPモードである。
【0200】
いくつかの実施形態において、ALWIPモードは、現在のビデオブロックの1つ以上のクロマ成分に適用される。
【0201】
いくつかの実施形態において、ALWIPモードの異なるマトリクス又はバイスベクトルが、現在のビデオブロックの異なる色成分に適用される。例において、異なるマトリクス又はバイアスベクトルは、Cb及びCr成分について一緒に、予め定義される。他の例においては、Cb及びCr成分は連結される。更なる他の例においては、Cb及びCr成分はインターリーブされる。
【0202】
図13は、ビデオ処理のための方法の例のフローチャートを示す。方法1300は、ステップ1310で、現在のビデオブロックがアフィン線形重み付きイントラ予測(ALWIP)モードを用いてコーディングされていることを決定することを含む。
【0203】
方法1300は、ステップ1320で、決定に基づいて、現在のビデオブロックとその現在のビデオブロックのビットストリーム表現との間の変換を実行することを含む。
【0204】
いくつかの実施形態において、決定は、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ、タイルグループヘッダ、タイルヘッダ、コーディングツリーユニット(CTU)行又はCTU領域でのシグナリングに基づく。
【0205】
いくつかの実施形態において、決定は、現在のビデオブロックの高さ(H)又は幅(W)に基づく。例において、W>T1又はH>T2である。他の例においては、W≧T1又はH≧T2である。更なる他の例においては、W<T1又はH<T2である。更なる他の例においては、W≦T1又はH≦T2である。更なる他の例においては、T1=32及びT2=32である。
【0206】
いくつかの実施形態において、決定は、現在のビデオブロックの高さ(H)又は幅(W)に基づく。例において、W+H≦Tである。他の例においては、W+T≧Tである。更なる他の例においては、W×H≦Tである。更なる他の例においては、W×H≧Tである。更なる他の例においては、T=256である。
【0207】
図14は、ビデオ処理のための方法の例のフローチャートを示す。方法1400は、ステップ1410で、現在のビデオブロックがアフィン線形重み付きイントラ予測(ALWIP)モードとは異なるコーディングモードを用いてコーディングされていることを決定することを含む。
【0208】
方法1400は、ステップ1420で、決定に基づいて、現在のビデオブロックとその現在のビデオブロックのビットストリーム表現との間の変換を実行することを含む。
【0209】
いくつかの実施形態において、コーディングモードは、イントラ及びインター複合予測(Combined Intra and Inter Prediction,CIIP)モードであり、方法1400は、ALWIPモードと通常のイントラ予測モードとの間の選択を行うステップを更に含む。例において、選択を行うことは、現在のビデオブロックのビットストリーム表現における明示的なシグナリングに基づく。他の例においては、選択を行うことは、所定の規則に基づく。更なる他の例においては、所定の規則は、現在のビデオブロックがCIIPモードを用いてコーディングされるときには常にALWIPモードを選択する。更なる他の例においては、所定の規則は、現在のビデオブロックがCIIPモードを用いてコーディングされるときには常に通常のイントラ予測モードを選択する。
【0210】
いくつかの実施形態において、コーディングモードは、交差成分線形モデル(CCLM)予測モードである。例において、ALWIPモードのためのダウンサンプリングプロシージャは、CCLM予測モードのためのダウンサンプリングプロシージャに基づく。他の例においては、ALWIPモードのためのダウンサンプリングプロシージャは、パラメータの第1セットに基づき、CCLM予測モードのためのダウンサンプリングプロシージャは、パラメータの第1セットとは異なるパラメータの第2セットに基づく。更なる他の例においては、ALWIPモード又はCCLM予測モードのためのダウンサンプリングプロシージャは、ダウンサンプリングされたポジションの選択、ダウンサンプリングフィルタの選択、丸め演算又はクリッピング演算、のうちの少なくとも1つを有する。
【0211】
いくつかの実施形態において、方法1400は、縮小された2次変換(RST)、2次変換、回転変換又は分離不可能な2次変換(NSST)のうちの1つ以上を適用するステップを更に含む。
【0212】
いくつかの実施形態において、方法1400は、ブロックベースの差分パルス符号変調(Differential Pulse Coded Modulation,DPCM)又は残差DPCMを適用するステップを更に含む。
【0213】
いくつかの実施形態において、ビデオ処理方法は、現在のビデオブロックに対する規則に基づいて、現在のビデオブロックとその現在のビデオブロックのビットストリーム表現との間の変換中にアフィン線形重み付きイントラ予測(ALWIP)モードの使用を示すフラグのコンテキストを決定するステップと、ALWIPモードに基づいて、現在のビデオブロックの複数のサブブロックを予測するステップと、予測に基づいて、現在のビデオブロックとその現在のビデオブロックのビットストリーム表現との間の変換を実行するステップとを含む。規則は、アプリオリ法を用いて暗黙的に定められてもよく、あるいは、コーディングされたビットストリームでシグナリングされてもよい。この方法の他の例及び態様は、セクション4の項目37及び38で更に記載されている。
【0214】
いくつかの実施形態において、ビデオ処理のための方法は、現在のビデオブロックがアフィン線形重み付きイントラ予測(ALWIP)モードを用いてコーディングされていることを決定するステップと、現在のビデオブロックとその現在のビデオブロックのビットストリーム表現との間の変換中に、ALWIPモードに関連したアップサンプリングプロセスにおいて現在のビデオブロックのサンプルに対して少なくとも2つのフィルタリング段階を実行するステップとを含み、少なくとも2つのフィルタリング段階のうちの第1フィルタリング段階におけるサンプルの第1精度は、少なくとも2つのフィルタリング段階のうちの第2フィルタリング段階におけるサンプルの第2精度とは異なる。
【0215】
例において、現在のビデオブロックのサンプルは、予測サンプル、アップサンプリングプロセス前の中間サンプル、又はアップサンプリングプロセス後の中間サンプルである。他の例において、サンプルは、第1フィルタリング段階では水平方向に第1次元でアップサンプリングされ、また、サンプルは、第2フィルタリング段階では垂直方向に第2次元でアップサンプリングされる。更なる他の例においては、サンプルは、第1フィルタリング段階では垂直方向に第1次元でアップサンプリングされ、また、サンプルは、第2フィルタリング段階では水平方向に第2次元でアップサンプリングされる。
【0216】
例において、第1フィルタリング段階の出力は、処理された出力を生成するよう右シフト又は除算され、処理された出力は、第2フィルタリング段階へ入力される。他の例においては、第1フィルタリング段階の出力は、処理された出力を生成するよう左シフト又は乗算され、処理された出力は、第2フィルタリング段階へ入力される。この方法の他の例及び態様は、セクション4の項目40で更に記載されている。
【0217】
セクション4の項目41から43で更に記載されているように、ビデオ処理方法は、現在のビデオブロックがアフィン線形重み付きイントラ予測(ALWIP)モードを用いてコーディングされていることを決定するステップと、現在のビデオブロックとその現在のビデオブロックのビットストリーム表現との間の変換中に、ALWIPモードに関連したアップサンプリングプロセスにおいて現在のビデオブロックのサンプルに対して少なくとも2つのフィルタリング段階を実行するステップとを含み、アップサンプリングプロセスは、垂直及び水平の両方のアップサンプリングが実行される場合に固定順序で実行される。セクション4の項目41から43で更に記載されているように、他の方法は、現在のビデオブロックがアフィン線形重み付きイントラ予測(ALWIP)モードを用いてコーディングされていることを決定するステップと、現在のビデオブロックとその現在のビデオブロックのビットストリーム表現との間の変換中に、ALWIPモードに関連したアップサンプリングプロセスにおいて現在のビデオブロックのサンプルに対して少なくとも2つのフィルタリング段階を実行するステップとを含み、変換は、アップサンプリングプロセスより前に転置動作を実行することを含む。
【0218】
上記の方法の更なる特徴は、セクション4の項目41から43に記載されている。
【0219】
6 開示されている技術の実施例
図15は、ビデオ処理装置1500のブロック図である。装置1500は、本明細書で説明されている方法の1つ以上を実装するために使用されてよい。装置1500は、スマートフォン、タブレット、コンピュータ、インターネット・オブ・シングス(Internet of Things,IoT)レシーバ、などで具現されてよい。装置1500は、1つ以上のプロセッサ1502、1つ以上のメモリ1504、及びビデオ処理ハードウェア1506を含んでよい。プロセッサ1502は、本明細書で説明されている1つ以上の方法(方法1100から1400及び2300から2700を含むが限られない)を実装するよう構成されてよい。メモリ(複数のメモリ)1504は、本明細書で説明されている方法及び技術を実装するために使用されるデータ及びコードを記憶するために使用されてよい。ビデオ処理ハードウェア1506は、ハードウェア回路で、本明細書で説明されているいくつかの技術を実装するために使用されてよい。
【0220】
いくつかの実施形態において、ビデオコーディング方法は、図15に関連して記載されているハードウェアプラットフォームで実装される装置を用いて実装されてもよい。
【0221】
開示されている技術のいくつかの実施形態は、ビデオ処理ツール又はモードを有効にするとの決定又は判断を行うことを含む。例において、ビデオ処理ツール又はモードが有効にされる場合に、エンコードは、ビデオのブロックの処理においてそのツール又はモードを使用又は実装することになるが、ツール又はモードの使用に基づき、必ずしも、結果として得られるビットストリームを変更するわけではない。つまり、ビデオのブロックからビデオのビットストリーム表現への変換は、ビデオ処理ツール又はモードが決定又は判断に基づき有効にされる場合にそのツール又はモードを使用することになる。他の例においては、ビデオ処理ツール又はモードが有効にされる場合に、デコーダは、ビットストリームがそのビデオ処理ツール又はモードに基づき変更されていると知った上で、ビットストリームを処理することになる。つまり、ビデオのビットストリーム表現から美とのブロックへの変換は、決定又は判断に基づき有効にされたビデオ処理ツール又はモードを用いて実行されることになる。
【0222】
開示されている技術のいくつかの実施形態は、ビデオ処理ツール又はモードを無効にするとの決定又は判断を行うことを含む。例において、ビデオ処理ツール又はモードが無効にされる場合に、エンコーダは、ビデオのブロックからビデオのビットストリーム表現への変換においてそのツール又はモードを使用しない。他の例においては、ビデオ処理ツール又はモードが無効にされる場合に、デコーダは、決定又は判断に基づき無効にされたビデオ処理ツール又はモードを用いてビットストリームは変更されていないと知った上で、ビットストリームを処理することになる。
【0223】
図21は、本開示の技術を利用し得る例示的なビデオコーディングシステム100を表すブロック図である。図21に示されるように、ビデオコーディングシステム100は、発信元デバイス110及び送信先デバイス120を含んでよい。発信元デバイス110は、エンコードされたビデオデータを生成し、ビデオ符号化デバイスと呼ばれ得る。送信先デバイス120は、発信元デバイス110によって生成されたエンコードされたビデオデータをデコードすることができ、ビデオ復号化デバイスと呼ばれ得る。発信元デバイス110は、ビデオソース112、ビデオエンコーダ114、及び入力/出力(I/O)インターフェース116を含んでよい。
【0224】
ビデオソース112は、ビデオ捕捉デバイスなどのソース、ビデオコンテンツプロバイダからビデオデータを受け取るインターフェース、及び/又はビデオデータを生成するコンピュータグラフィクスシステム、あるいは、そのようなソースの組み合わせを含んでよい。ビデオデータは1つ以上のピクチャを有してもよい。ビデオエンコーダ114は、ビットストリームを生成するようビデオソース112からのビデオデータをエンコードする。ビットストリームは、ビデオデータのコーディングされた表現を形成するビットのシーケンスを含んでよい。ビットストリームは、コーディングされたピクチャ及び関連するデータを含んでもよい。コーディングされたピクチャは、ピクチャのコーディングされた表現である。関連するデータは、シーケンスパラメータセット、ピクチャパラメータセット、及び他のシンタックス構造を含んでもよい。I/Oインターフェース116は、変調器/復調器(モデム)及び/又は送信器を含んでよい。エンコードされたビデオデータは、I/Oインターフェース116を介して送信先デバイス120に対してネットワーク130aを通じて直接に伝送されてよい。エンコードされたビデオデータはまた、送信先デバイス120によるアクセスのために記憶媒体/サーバ130bに記憶されてもよい。
【0225】
送信先デバイス120は、I/Oインターフェース126、ビデオデコーダ124、及び表示デバイス122を含んでよい。
【0226】
I/Oインターフェース126は、受信器及び/又はモデムを含んでよい。I/Oインターフェース126は、発信元デバイス110又は記憶媒体/サーバ130bからエンコードされたビデオデータを取得してよい。ビデオデコーダ124は、エンコードされたビデオデータをデコードしてよい。表示デバイス122は、デコードされたビデオデータをユーザに表示してよい。表示デバイス122は、送信先デバイス120と一体化されてもよく、あるいは、外付け表示デバイスとインターフェース接続するよう構成されて送信先デバイス120の外にあってもよい。
【0227】
ビデオエンコーダ114及びビデオデコーダ124は、HEVC(High Efficiency Video Coding)標準規格、VVC(Versatile Video Coding)標準規格、並びに他の現在の及び/又は更なる標準規格などのビデオ圧縮規格に従って作動してもよい。
【0228】
図22は、ビデオエンコーダ200の例を表すブロックであり、図21に表されているシステム100のビデオエンコーダ114であってよい。
【0229】
ビデオエンコーダ200は、本開示の技術のいずれか又は全てを実行するよう構成されてよい。図22の例において、ビデオエンコーダ200は、複数の機能コンポーネントを含む。本開示で記載される技術は、ビデオエンコーダ200の様々なコンポーネントの間で共有されてもよい。いくつかの例において、プロセッサは、本開示で記載される技術のいずれか又は全てを実行するよう構成されてもよい。
【0230】
ビデオエンコーダ200の機能コンポーネントは、パーティションユニット201と、モード選択ユニット203、動き推定ユニット204、動き補償ユニット205及びイントラ予測ユニット206を含み得る予測ユニット202と、残差生成ユニット207と、変換ユニット208と、量子化ユニット209と、逆量子化ユニット210と、逆変換ユニット211と、再構成ユニット212と、バッファ213と、エントロピ符号化ユニット214とを含んでよい。
【0231】
他の例において、ビデオエンコーダ200は、より多い、より少ない、又は異なる機能コンポーネントを含んでもよい。例において、予測ユニット202は、イントラブロックコピー(Intra Block Copy,IBC)ユニットを含んでもよい。IBCユニットは、少なくとも1つの参照ピクチャが、現在のビデオブロックが位置しているピクチャであるIBCモードで、予測を実行してよい。
【0232】
更に、動き推定ユニット204及び動き補償ユニット205などのいくつかのコンポーネントは、高度に集積されてもよいが、説明のために図22の例では別々に表されている。
【0233】
パーティションユニット201は、ピクチャを1つ以上のビデオブロックにパーティション化してよい。ビデオエンコーダ200及びビデオデコーダ300は、様々なビデオブロックサイズをサポートしてよい。
【0234】
モード選択ユニット203は、例えば、エラー結果に基づいて、イントラ又はインターのコーディングモードの1つを選択し、結果として得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成する残差生成ユニット207へ、及び参照ピクチャとしての使用のために、エンコードされたブロックを再構成する再構成ユニット212へ供給してよい。いくつかの例において、モード選択ユニット203は、予測がインター予測信号及びイントラ予測信号に基づくイントラ及びインター予測複合(Combination of Intra and Inter Prediction,CIIP)モードを選択してもよい。モード選択ユニット203はまた、インター予測の場合に、ブロックの動きベクトルのための分解能(例えば、サブピクセル又は整数ピクセル精度)を選択してもよい。
【0235】
現在のビデオブロックに対してインター予測を実行するために、動き推定ユニット204は、バッファ213からの1つ以上の参照フレームを現在のビデオブロックと比較することによって、現在のビデオブロックの動き情報を生成してもよい。動き補償ユニット205は、動き情報と、現在のビデオブロックに関連したピクチャ以外のバッファ213からのピクチャのデコードされたサンプルとに基づいて、現在のビデオブロックの予測されたビデオブロックを決定してもよい。
【0236】
動き推定ユニット204及び動き補償ユニット205は、例えば、現在のビデオブロックがIスライス、Pスライス、又はBスライスであるかどうかに応じて、現在のビデオブロックのために異なる動作を実行してもよい。
【0237】
いくつかの例において、動き推定ユニット204は、現在のビデオブロックのために一方向予測を実行してもよく、動き推定ユニット204は、現在のビデオブロックのための参照ビデオブロックをリスト0又はリスト1の参照ピクチャから探してもよい。動き推定ユニット204は、次いで、参照ビデオブロックを含むリスト0又はリスト1内の参照ピクチャを示す参照インデックスと、現在のビデオブロックと参照ビデオブロックとの間の空間変位を示す動きベクトルとを生成してよい。動き推定ユニット204は、現在のビデオブロックの動き情報として参照インデックス、予測方向インジケータ、及び動きベクトルを出力してもよい。動き補償ユニット205は、現在のビデオブロックの動き情報によって示されている参照ビデオブロックに基づいて、現在のブロックの予測されたビデオブロックを生成してもよい。
【0238】
他の例においては、動き推定ユニット204は、現在のビデオブロックのために双方向予測を実行してもよく、動き推定ユニット204は、現在のビデオブロックのための参照ビデオブロックをリスト0内の参照ピクチャから探してもよく、また、現在のビデオブロックのためのもう1つの参照ビデオブロックをリスト1内の参照ピクチャから探してもよい。動き推定ユニット204は、次いで、参照ビデオブロックを含むリスト0及びリスト1内の参照ピクチャを示す参照インデックスと、参照ビデオブロックと現在のビデオブロックとの間の空間変位を示す動きベクトルとを生成してもよい。動き推定ユニット204は、現在のビデオブロックの動き情報として現在のビデオブロックの参照インデックス及び動きベクトルを出力してもよい。動き補償ユニット205は、現在のビデオブロックの動き情報によって示されている参照ビデオブロックに基づいて、現在のビデオブロックの予測されたビデオブロックを生成してもよい。
【0239】
いくつかの例において、動き推定ユニット204は、デコーダの復号化処理のために動き情報のフルセットを出力してもよい。
【0240】
いくつかの例において、動き推定ユニット204は、現在のビデオの動き情報のフルセットを出力しなくてもよい。むしろ、動き推定ユニット204は、他のビデオブロックの動き情報を参照して現在のビデオブロックの動き情報をシグナリングしてもよい。例えば、動き推定ユニット204は、現在のビデオブロックの動き情報が隣接ビデオブロックの動き情報と十分に類似していることを決定してもよい。
【0241】
一例において、動き推定ユニット204は、現在のビデオブロックに関連したシンタックス構造で、現在のビデオブロックが他のビデオブロックと同じ動き情報を有していることをビデオデコーダ300に示す値を示してもよい。
【0242】
他の例においては、動き推定ユニット204は、現在のビデオブロックに関連したシンタックス構造で、他のビデオブロック及び動きベクトル差分(Motion Vector Difference,MVD)を特定してもよい。動きベクトル差分は、現在のビデオブロックの動きベクトルと、特定されているビデオブロックの動きベクトルとの間の差を示す。ビデオデコーダ300は、現在のビデオブロックの動きベクトルを決定するために、特定されているビデオブロックの動きベクトル及び動きベクトル差分を使用してもよい。
【0243】
上述されたように、ビデオエンコーダ200は、動きベクトルを予測的にシグナリングしてもよい。ビデオエンコーダ200によって実装され得る予測シグナリング技術の2つの例には、アドバンスド動きベクトル予測(Advanced Motion Vector Prediction,AMVP)及びマージモードシグナリングがある。
【0244】
イントラ予測ユニット206は、現在のビデオブロックに対してイントラ予測を実行してもよい。イントラ予測ユニット206が現在のビデオブロックに対してイントラ予測を実行する場合に、イントラ予測ユニット206は、同じピクチャ内の他のビデオブロックのデコードされたサンプルに基づいて、現在のビデオブロックの予測データを生成し得る。現在のビデオブロックの予測データは、予測されたビデオブロック及び様々なシンタックス要素を含んでもよい。
【0245】
残差生成ユニット207は、現在のビデオブロックから現在のビデオブロックの予測されたビデオブロックを減じること(例えば、マイナス符号によって示される)によって、現在のビデオブロックの残差データを生成してもよい。現在のビデオブロックの残差データは、現在のビデオブロック内のサンプルの異なるサンプルコンポーネントに対応する残差ビデオブロックを含んでもよい。
【0246】
他の例においては、例えば、スキップモードで、現在のビデオブロックの残差データは存在しなくてもよく、残差生成ユニット207は、減算演算を実行しなくてもよい。
【0247】
変換処理ユニット208は、現在のビデオブロックに関連した残差ビデオブロックに1つ以上の変換を適用することによって、現在のビデオブロックの1つ以上の変換係数ビデオブロックを生成してもよい。
【0248】
変換処理ユニット208が現在のビデオブロックに関連した変換係数ビデオブロックを生成した後、量子化ユニット209は、現在のビデオブロックに関連した1つ以上の量子化パラメータ(QP)値に基づいて、現在のビデオブロックに関連した変換係数ビデオブロックを量子化してもよい。
【0249】
逆量子化ユニット210及び逆変換ユニット211は、変換係数ビデオブロックに各々逆量子化及び逆変換を適用して、変換係数ビデオブロックから残差ビデオブロックを再構成してもよい。再構成ユニット212は、再構成された残差ビデオブロックを、予測ユニット202によって生成された1つ以上の予測されたビデオブロックからの対応するサンプルに加えて、バッファ213での記憶のために、現在のブロックに関連した再構成されたビデオブロックを生成してもよい。
【0250】
再構成ユニット212がビデオブロックを再構成した後、ループフィルタリング動作が、ビデオブロックにおいてビデオブロッキングアーチファクトを低減するよう実行されてもよい。
【0251】
エントロピ符号化ユニット214は、ビデオエンコーダ200の他の機能コンポーネントからデータを受け取ってもよい。エントロピ符号化ユニット214がデータを受け取るとき、エントロピ符号化ユニット214は、エントロピエンコードされたデータを生成し、そのエントロピエンコードされたデータを含むビットストリームを生成するよう、1つ以上のエントロピ符号化動作を実行してもよい。
【0252】
図19は、ビデオデコーダ300の例を表すブロック図であり、図21で表されているシステム100のビデオデコーダ124であってよい。
【0253】
ビデオデコーダ300は、本開示の技術のいずれか又は全てを実行するよう構成されてよい。図19の例で、ビデオデコーダ300は、複数の機能コンポーネントを含む。本開示で記載される技術は、ビデオデコーダ300の様々なコンポーネントの間で共有されてもよい。いくつかの例で、プロセッサは、本開示で記載される技術のいずれか又は全てを実行するよう構成されてもよい。
【0254】
図19の例において、ビデオデコーダ300は、エントロピ復号化ユニット301と、動き補償ユニット302と、イントラ予測ユニット303と、逆量子化ユニット304と、逆変換ユニット305と、再構成ユニット306と、バッファ307とを含む。ビデオデコーダ300は、いくつかの例において、ビデオエンコーダ200(図5)に関して記載された符号化パスとは概して逆の復号化パスを実行してもよい。
【0255】
エントロピ復号化ユニット301は、エンコードされたビットストリームを取り出し得る。エンコードされたビットストリームは、エントロピコーディングされたビデオデータ(例えば、ビデオデータのエンコードされたブロック)を含んでもよい。エントロピ復号化ユニット301は、エントロピコーディングされたビデオデータをデコードしてよく、エントロピデコードされたビデオデータから、動き補償ユニット302は、動きベクトル、動きベクトル精度、参照ピクチャリストインデックス、及び他の動き情報を含む動き情報を決定し得る。動き補償ユニット302は、例えば、AMVP及びマージモードを実行することによって、そのような情報を決定してもよい。
【0256】
動き補償ユニット302は、場合により、補間フィルタに基づく補間を実行して、動き補償されたブロックを生成してもよい。サブピクセル精度で使用される補間フィルタのための識別子は、シンタックス要素に含まれてもよい。
【0257】
動き補償ユニット302は、参照ブロックのサブ整数ピクセルについて補間値を計算するために、ビデオブロックのエンコード中にビデオエンコーダ200によって使用された補間フィルタを使用してもよい。動き補償ユニット302は、受け取られたシンタックス情報に従って、ビデオエンコーダ200によって使用された補間フィルタを決定し、その補間フィルタを使用して、予測ブロックを生成し得る。
【0258】
動き補償ユニット302は、エンコードされたビデオシーケンスのフレーム及び/又はスライスをエンコードするために使用されるブロックのサイズと、エンコードされたビデオシーケンスのピクチャの各マクロブロックがどのようにパーティション化されるかを記述するパーティション情報と、各インターコーディングされたブロックについての1つ以上の参照フレーム(及び参照フレームリスト)と、エンコードされたビデオシーケンスをデコードするための他の情報とを決定するために、シンタックス情報のいくつかを使用してもよい。
【0259】
イントラ予測ユニット303は、空間的に隣接するブロックから予測ブロックを形成するよう、例えば、ビットストリームで受け取られたイントラ予測モードを使用してもよい。逆量子化ユニット304は、ビットストリームで供給されてエントロピ復号化ユニット301によってデコードされた量子化されたビデオブロック係数を逆量子化する、すなわち、量子化解除する。逆変換ユニット305は、逆変換を適用する。
【0260】
再構成ユニット306は、動き補償ユニット302又はイントラ予測ユニット303によって生成された対応する予測ブロックを残差ブロックに加算して、デコードされたブロックを形成し得る。望まれる場合には、デブロッキングフィルタも、ブロッキネスアーチファクトを取り除くために、デコードされたブロックにフィルタをかけるよう適用されてもよい。デコードされたビデオブロックは、次いで、バッファ307に格納され、バッファ307は、その後の動き補償/イントラ予測のために参照ブロックを提供し、更には、デコードされたビデオを表示デバイスでの提示のために生成する。
【0261】
本明細書中、「ビデオ処理」という用語は、ビデオ符号化、ビデオ復号化、ビデオ圧縮又はビデオ圧縮解除を指し得る。例えば、ビデオ圧縮アルゴリズムは、ビデオのピクセル表現から、対応するビットストリーム表現への変換中に、又はその逆も同様に、適用されてもよい。現在のビデオブロックのビットストリーム表現は、例えば、シンタックスによって定義されるような、ビットストリーム内で同一位置にあるか又は異なった場所に広がっているかのどちらかであるビットに対応してもよい。例えば、ビデオブロックは、変換及びコーディングされた誤差残余値に関して、更には、ビットストリーム内のヘッダ及び他のフィールドにおけるビットを用いて、エンコードされてよい。更には、変換中、デコーダは、上記の解決法で説明されているように、決定に基づいて、いくつかのフィールドの有無の可能性を分かった上でビットストリームをパースしてもよい。同様に、エンコーダは、特定のシンタックスフィールドが含まれるべきか否かを決定し、それに応じて、ビットストリーム表現からシンタックスフィールドを含めるか又は除くことによって、ビットストリーム表現を生成してもよい。
【0262】
図20は、本明細書で開示されている様々な技術が実装され得る例示的なビデオ処理システム2000を示すブロック図である。様々な実施には、システム2000のコンポーネントの一部又は全てが含まれ得る。システム2000は、ビデオコンテンツを受け取る入力部2002を含んでよい。ビデオコンテンツは、生の(raw)又は圧縮されていないフォーマットで受け取られてもよく、例えば、8又は10ビットのマルチコンポーネントピクセル値であり、あるいは、圧縮された又はエンコードされたフォーマットであってもよい。入力部2002は、ネットワークインターフェース、ペリフェラルバスインターフェース、又はストレージインターフェースに相当し得る。ネットワークインターフェースの例には、Ethernet(登録商標)、受動光ネットワーク(Passive Optical Network,PON)などの有線インターフェース、及びWi-Fi又はセルラーインターフェースなどの無線インターフェースが含まれる。
【0263】
システム2000は、本明細書で説明されている様々なコーディング又は符号化方法を実装し得るコーディングコンポーネント2004を含んでよい。コーディングコンポーネント2004は、ビデオのコーディングされた表現を生成するよう、入力部2002からコーディングコンポーネント2004の出力部へのビデオの平均ビットレートを低減し得る。従って、コーディング技術は、ビデオ圧縮又はビデオトランスコーディング技術と時々呼ばれる。コーディングコンポーネント2004の出力は、コンポーネント2006によって表されるように、保存されても、あるいは、接続された通信を介して伝送されてもよい。入力部2002で受け取られたビデオの保存又は通信されたビットストリーム(又はコーディングされた)表現は、ピクセル値又は表示インターフェース2010へ送られる表示可能なビデオを生成するコンポーネント2008によって使用されてもよい。ユーザが見ることができるビデオをビットストリーム表現から生成するプロセスは、ビデオ圧縮解除と時々呼ばれる。更に、特定のビデオ処理動作が「コーディング」動作又はツールと呼ばれる一方で、そのようなコーディングツール又は動作はエンコーダで使用され、コーディングの結果を入れ替える対応する復号化ツール又は動作は、デコーダによって実行されることになることが理解されるだろう。
【0264】
ペリフェラルバスインターフェース又は表示インターフェースの例には、ユニバーサルシリアルバス(USB)又は高精細マルチメディアインターフェース(HDMI(登録商標))又はDisplayport(登録商標)などが含まれ得る。ストレージインターフェースの例には、SATA(Serial Advanced Technology Attachment)、PCI、IDEインターフェース、などがある。本明細書で説明されている技術は、携帯電話機、ラップトップ、スマートフォン、又はデジタルデータ処理及び/又はビデオ表示を実行する能力がある他のデバイスなどの様々な電子デバイスで具現されてもよい。
【0265】
いくつかの実施形態において、ALWIPモード又はMIPモードは、ビデオの前にコーディングされたサンプルに対して、マトリクスベクトル乗算演算が後に続き、選択的に(又は任意に)アップサンプリング動作(又は線形補間動作)が後に続く境界ダウンサンプリング動作(又は平均化動作)を実行することによって、現在のビデオブロックの予測ブロックを計算するために使用される。いくつかの実施形態において、ALWIPモード又はMIPモードは、ビデオの前にコーディングされたサンプルに対して境界ダウンサンプリング動作(又は平均化動作)を実行し、その後にマトリクスベクトル乗算演算が続くことによって、現在のビデオブロックの予測ブロックを計算するために使用される。いくつかの実施形態において、ALWIPモード又はMIPモードはまた、マトリクスベクトル乗算演算を実行した後で、アップサンプリング動作(又は線形補間動作)も実行することができる。
【0266】
図23は、ビデオ処理のための例示的な方法のフローチャートを示す。方法2300は、ビデオのルーマビデオブロックが、該ルーマビデオブロックの予測ブロックが、前記ビデオの前にコーディングされたサンプルに対して、マトリクスベクトル乗算演算が後に続き、選択的にアップサンプリング動作が後に続く境界ダウンサンプリング動作を実行することによって決定されるマトリクスベースイントラ予測(Matrix-based Intra Prediction,MIP)モードを用いてコーディングされるかどうかの第1決定を実行するステップ2302と、前記ルーマビデオブロックが、前記ビデオの現在のクロマビデオブロックのためのクロマイントラモードを決定するために適用可能であるとの第2決定を実行するステップ2304であり、前記第2決定の実行は、前記現在のクロマビデオブロックに関連した現在のピクチャの左上ルーマサンプルに対する前記現在のクロマビデオブロックの左上サンプルに基づき、前記第2決定の実行は、現在のビデオユニットのカラーフォーマット及び/又は前記ルーマビデオブロックに対する前記現在のクロマビデオブロックの大きさに基づく、ステップ2304と、前記第1決定及び前記第2決定に基づき、前記現在のクロマビデオブロックに使用される前記クロマイントラモードに関する第3決定を実行するステップ2306と、前記第3決定に基づき、前記現在のクロマビデオブロックと該現在のクロマビデオブロックのビットストリーム表現との間の変換を実行するステップ2308とを含む。
【0267】
方法2300のいくつかの実施形態において、前記クロマイントラモードは、直接モード(direct mode)又は導出モード(derived mode)を含む。方法2300のいくつかの実施形態において、前記現在のクロマビデオブロックの前記左上サンプルは、前記ルーマビデオブロック内に位置し、前記現在のクロマビデオブロックの第1幅及び前記現在のクロマビデオブロックの第1高さは、夫々、前記ルーマビデオブロックの第2幅及び前記ルーマビデオブロックの第2高さ以下である。方法2300のいくつかの実施形態において、前記現在のピクチャの前記左上ルーマサンプルに対する前記現在のクロマビデオブロックの前記左上サンプルは、(xCb,yCb)であり、前記ルーマビデオブロック内に位置している(xCb+offsetX,yCb+offsetY)によって表されるポジションの予測モードは、前記現在のクロマビデオブロックのための前記クロマイントラモードを決定するために適用可能であり、前記offsetXは、水平方向でのオフセットであり、前記offsetYは、垂直方向でのオフセットである。方法2300のいくつかの実施形態において、前記offsetX及び前記offsetYの両方がゼロに等しいことは、許されない。方法2300のいくつかの実施形態において、前記offsetXは、前記現在のクロマビデオブロックの幅を2で除したものに等しい。方法2300のいくつかの実施形態において、前記offsetXは、前記ルーマビデオブロックの幅を2で除したものに等しい。方法2300のいくつかの実施形態において、前記offsetXは、前記現在のクロマビデオブロックの幅を2で除した結果から1を引いたものに等しい。
【0268】
方法2300のいくつかの実施形態において、前記offsetXは、前記現在のクロマビデオブロックの幅を2で除した結果に1を加えたものに等しい。方法2300のいくつかの実施形態において、前記offsetYは、前記現在のクロマビデオブロックの高さを2で除したものに等しい。方法2300のいくつかの実施形態において、前記offsetYは、前記ルーマビデオブロックの高さを2で除したものに等しい。方法2300のいくつかの実施形態において、前記offsetYは、前記現在のクロマビデオブロックの高さを2で除した結果から1を引いたものに等しい。方法2300のいくつかの実施形態において、前記offsetYは、前記現在のクロマビデオブロックの高さを2で除した結果に1を加えたものに等しい。
【0269】
図24は、ビデオ処理のための例示的な方法のフローチャートを示す。方法2400は、ビデオのルーマビデオブロックが、該ルーマビデオブロックの予測ブロックが、前記ビデオの前にコーディングされたサンプルに対して、マトリクスベクトル乗算演算が後に続き、選択的にアップサンプリング動作が後に続く境界ダウンサンプリング動作を実行することによって決定されるマトリクスベースイントラ予測(MIP)モードを用いてコーディングされるとの第1決定を実行するステップ2402と、前記第1決定に基づき、導出モード(DM)が、前記ルーマビデオブロックに関連した現在のクロマビデオブロックのためのクロマイントラモードとして使用されるかどうかに関して、規則に従って、第2決定を実行するステップ2404と、前記第2決定に基づき、前記現在のクロマビデオブロックと該現在のクロマビデオブロックのビットストリーム表現との間の変換を実行するステップ2406とを含む。
【0270】
方法2400のいくつかの実施形態において、前記規則は、前記ルーマビデオブロックが前記MIPモードを用いてコーディングされることに応答して、前記DMが前記クロマイントラモードとして使用されることを定める。方法2400のいくつかの実施形態において、前記ビットストリーム表現における前記クロマイントラモードのシグナリングは、スキップされる。方法2400のいくつかの実施形態において、前記変換を実行するステップは、前記ビットストリーム表現における前記現在のクロマビデオブロックのための前記DMのシグナリングを含み、前記規則は、予め定義されたイントラ予測モードが前記現在のクロマビデオブロックに適用されることを定める。方法2400のいくつかの実施形態において、前記予め定義されたイントラ予測モードは、プレーナーモード(Planar mode)である。方法2400のいくつかの実施形態において、前記予め定義されたイントラ予測モードは、スクリーンコンテンツに関連したコーディングされた情報に基づく。方法2400のいくつかの実施形態において、前記スクリーンコンテンツがカメラにより捕捉されたスクリーンコンテンツであることを前記コーディングされた情報が示すことに応答して、前記予め定義されたイントラ予測モードはプレーナーモードである。
【0271】
方法2400のいくつかの実施形態において、前記スクリーンコンテンツがカメラにより捕捉されたコンテンツでないことを前記コーディングされた情報が示すことに応答して、前記予め定義されたイントラ予測モードは水平予測モードである。方法2400のいくつかの実施形態において、前記規則は、前記ルーマビデオブロックが前記MIPモードを用いてコーディングされることに応答して、前記クロマイントラモードとして使用されないことを定める。方法2400のいくつかの実施形態において、前記DMは、前記ビットストリーム表現においてシグナリングされない。方法2400のいくつかの実施形態において、4つのクロマモードが、前記クロマイントラモードのために認められ、前記ルーマビデオブロックが前記MIPモードを用いてコーディングされることに応答して、かつ、交差成分線形モデル予測(Cross-Component Linear Model prediction,CCLM)が前記現在のクロマビデオブロックのために有効にされないことをフラグが示すことに応答して、前記現在のクロマビデオブロックのために前記ビットストリーム表現においてシグナリングされる。方法2400のいくつかの実施形態において、多くても2ビットが、前記ビットストリーム表現において前記クロマイントラモードをシグナリングするために使用される。方法2400のいくつかの実施形態において、7つのクロマモードが、前記クロマイントラモードのために認められ、前記ルーマビデオブロックが前記MIPモードを用いてコーディングされることに応答して、かつ、交差成分線形モデル予測(CCML)が前記現在のクロマビデオブロックのために有効にされることをフラグが示すことに応答して、前記現在のクロマビデオブロックのために前記ビットストリーム表現においてシグナリングされる。方法2400のいくつかの実施形態において、多くても4ビットが、前記ビットストリーム表現において前記クロマイントラモードをシグナリングするために使用される。
【0272】
図25は、ビデオ処理のための例示な方法のフローチャートを示す。方法2500は、ビデオの現在のビデオブロックが、該現在のビデオブロックの予測ブロックが、前記ビデオの前にコーディングされたサンプルに対して、マトリクスベクトル乗算演算が後に続き、選択的にアップサンプリング動作が後に続く境界ダウンサンプリング動作を実行することによって決定されるマトリクスベースイントラ予測(MIP)モードでコーディングされることを決定するステップ2502と、前記決定するステップに基づき、規則に基づいて最確モード(Most Probable Mode,MPM)リストを生成するステップ2504であり、前記規則は、前記MPMリストが、前記現在のビデオブロックの隣接ビデオブロックについて生成された他のMPMリストから独立して生成されることを定める、前記生成するステップ2504と、前記MPMリストを用いて前記現在のビデオブロックと該現在のビデオブロックのビットストリーム表現との間の変換を実行するステップ2506とを含む。
【0273】
方法2500のいくつかの実施形態において、前記MPMリストは、予め定義された最確モードを含む。方法2500のいくつかの実施形態において、前記予め定義された最確モードは、前記現在のビデオブロックの大きさに関わりなく{M0,M1,M2}を含む。方法2500のいくつかの実施形態において、前記予め定義された最確モードは、前記現在のビデオブロックの大きさに基づく。方法2500のいくつかの実施形態において、前記予め定義された最確モードは、前記現在のビデオブロックのブロックサイズタイプを示す識別子に基づく。方法2500のいくつかの実施形態において、前記ブロックサイズタイプを示す前記識別子は、非負値である。方法2500のいくつかの実施形態において、前記識別子は、0、1、又は2を含む。方法2500のいくつかの実施形態において、前記予め定義された最確モードは、前記ブロックサイズタイプの前記識別子が特定の値に等しいことに応答して、{17,34,5}である。方法2500のいくつかの実施形態において、前記特定の値は0である。方法2500のいくつかの実施形態において、前記予め定義された最確モードは、前記ブロックサイズタイプの前記識別子が特定の値に等しいことに応答して、{0,7,16}である。方法2500のいくつかの実施形態において、前記特定の値は1である。方法2500のいくつかの実施形態において、前記予め定義された最確モードは、前記ブロックサイズタイプの前記識別子が特定の値に等しいことに応答して、{1,4,6}である。方法2500のいくつかの実施形態において、前記特定の値は2である。
【0274】
図26は、ビデオ処理のための例示的な方法のフローチャートを示す。方法2600は、ビデオの現在のビデオブロックの予測ブロックが、前記ビデオの前にコーディングされたサンプルに対して、マトリクスベクトル乗算演算が後に続き、選択的にアップサンプリング動作が後に続く境界ダウンサンプリング動作を実行することによって決定されるマトリクスベースイントラ予測(MIP)モードを用いて、前記現在のビデオブロックをエンコードするステップ2602であり、規則が、前記MIPモードで使用されるマトリクスの数と前記現在のビデオブロックの大きさとの間の関係を記述する、ステップ2602と、前記現在のビデオブロックのエンコードされた表現を前記現在のビデオブロックのビットストリーム表現に加えるステップ2604とを含む。
【0275】
図27は、ビデオ処理のための例示的な方法のフローチャートを示す。方法2700は、ビデオの現在のビデオブロックが、前記ビデオの前にコーディングされたサンプルに対して、マトリクスベクトル乗算演算が後に続き、選択的にアップサンプリング動作が後に続く境界ダウンサンプリング動作を実行することによって決定されるマトリクスベースイントラ予測(MIP)モードを用いて、前記現在のビデオブロックの予測ブロックがビットストリーム表現においてエンコードされていることを決定するステップ2702であり、規則が、前記MIPモードで使用されるマトリクスの数と前記現在のビデオブロックの大きさとの間の関係を記述する、ステップ2702と、前記ビットストリーム表現をパースしデコードすることによって、前記現在のビデオブロックのデコードされた表現を生成するステップ2704とを含む。
【0276】
方法2600及び/又は2700のいくつかの実施形態において、前記規則は、前記マトリクスの数が前記現在のビデオブロックの前記大きさに基づかないことを定め、前記マトリクスの数は、前もって記憶されており、前記マトリクスの数は、11、19、又は35である。方法2600及び/又は2700のいくつかの実施形態において、前記規則は、前記マトリクスの数が前記現在のビデオブロックの前記大きさに基づかないことを定め、前記MIPモードのシグナリングは、前記現在のビデオブロックの前記ビットストリーム表現に含まれ、前記MIPモードの前記シグナリングは、前記現在のビデオブロックの前記大きさに依存しない。方法2600及び/又は2700のいくつかの実施形態において、前記規則は、前記マトリクスの数が前記現在のビデオブロックの前記大きさに基づくことを定める。
【0277】
本明細書で記載される方法のいずれかのいくつかの実施形態において、変換の実行は、ビットストリーム表現が現在のビデオブロックから生成される符号化動作を含む。本明細書で記載される方法のいずれかのいくつかの実施形態において、変換の実行は、現在のビデオブロックがビットストリーム表現から生成される復号化動作を含む。
【0278】
上記から、目下開示されている技術の具体的な実施形態は、例示のために本明細書で記載されているのであって、様々な変更が、発明の範囲から逸脱せずに行われてもよい、ことが理解されるだろう。従って、目下開示されている技術は、添付の特許請求の範囲によることを除いて、限定されない。
【0279】
本明細書で記載されている主題及び機能動作の実装は、様々なシステムで、デジタル電子回路で、又は本明細書で開示されている構造及びそれらの構造的同等物を含むコンピュータソフトウェア、ファームウェア、若しくはハードウェアで、あるいは、それらの1つ以上の組み合わせで、実装可能である。本明細書で記載されている主題の実装は、1つ以上のコンピュータプログラム製品、すなわち、データ処理装置による実行のために又はその動作を制御するために有形的かつ非一時的なコンピュータ可読媒体上で符号化されたコンピュータプログラム命令の1つ以上のモジュール、として実装可能である。コンピュータ可読媒体は、機械読み出し可能な記憶デバイス、機械読み出し可能な記憶担体、メモリデバイス、機械読み出し可能な伝搬信号をもたらす組成物、又はそれらの1つ以上の組み合わせであることができる。「データ処理ユニット」又は「データ処理装置」との用語は、例として、プログラム可能なプロセッサ、コンピュータ、又は複数のプロセッサ若しくはコンピュータを含め、データを処理する全ての装置、デバイス、及び機械を包含する。装置は、ハードウェアに加えて、問題となっているコンピュータプログラムのための実行環境を作り出すコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、又はそれらの1つ以上の組み合わせを構成するコード、を含むことができる。
【0280】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られる。)は、コンパイル済み又は解釈済みの言語を含む如何なる形式のプログラミング言語でも記述可能であり、それは、スタンドアロンプログラムとして又はコンピューティング環境における使用に適したモジュール、コンポーネント、サブルーチン、若しくは他のユニットとしてを含め、如何なる形式でもデプロイ可能である。コンピュータプログラムは、必ずしもファイルシステムにおけるファイルに対応しない。プログラムは、問題となっているプログラムに専用の単一のファイルで、又は複数の協調したファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの部分を保存するファイル)で、他のプログラム又はデータ(例えば、マークアップ言語文書で保存された1つ以上のスクリプト)を保持するファイルの部分において保存可能である。コンピュータプログラムは、1つのコンピュータで、あるいは、1つの場所に位置しているか、又は複数の場所にわたって分布しており、通信ネットワークによって相互接続されている複数のコンピュータで実行されるようデプロイ可能である。
【0281】
本明細書で説明されているプロセス及びロジックフローは、入力データに作用して出力を生成することによって機能を実行するよう1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行可能である。プロセス及びロジックフローはまた、専用のロジック回路、例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)又は特定用途向け集積回路(ASIC)によっても実行可能であり、装置は、そのようなものとして実装可能である。
【0282】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用のマイクロプロセッサ及び専用のマイクロプロセッサの両方、並びにあらゆる種類のデジタルコンピュータのいずれか1つ以上のプロセッサを含む。一般に、プロセッサは、リード・オンリー・メモリ若しくはランダム・アクセス・メモリ又はその両方から命令及びデータを読み出すことになる。コンピュータの必須の要素は、命令を実行するプロセッサと、命令及びデータを保存する1つ以上のメモリデバイスとである。一般に、コンピュータはまた、データを保存する1つ以上の大容量記憶デバイス、例えば、磁気、光学磁気ディスク、又は光ディスクを含むか、あるいは、そのような1つ以上の大容量記憶デバイスからのデータの受信若しくはそれへのデータの転送又はその両方のために動作可能に結合されることになる。しかし、コンピュータは、そのようなデバイスを有する必要はない。コンピュータプログラム命令及びデータを保存するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、例えば、EPROM、EEPROM、及びフラッシュメモリデバイスを含む全ての形式の不揮発性メモリ、媒体及びメモリデバイスを含む。プロセッサ及びメモリは、専用のロジック回路によって強化されるか、あるいは、それに組み込まれ得る。
【0283】
本明細書は、図面とともに、単に実例として見なされるべきであることが意図され、実例とは例を意味する。本明細書で使用されるように、「又は」(or)の使用は、文脈中で別段明示されない限りは、「及び/又は」(and/or)を含むよう意図される。
【0284】
本明細書は、多数の詳細を含むが、それらは、あらゆる対象の又は請求される可能性があるものの範囲に対する限定としてではなく、むしろ、特定の技術の特定の実施形態に特有であり得る特徴の説明として解釈されるべきである。別々の実施形態に関連して本明細書で説明されている特定の特徴は、単一の実施形態と組み合わせても実装可能である。逆に、単一の実施形態に関連して説明されている様々な特徴はまた、複数の実施形態で別々に、又は何らかの適切なサブコンビネーションで実装可能である。更に、特徴は、特定の組み合わせで動作するものとして先に説明され、更には、そのようなものとして最初に請求されることがあるが、請求されている組み合わせからの1つ以上の特徴は、いくつかの場合に、その組み合わせから削除可能であり、請求されている組み合わせは、サブコンビネーションまたはサブコンビネーションの変形に向けられてもよい。
【0285】
同様に、動作は、特定の順序で図面において表されているが、これは、所望の結果を達成するために、そのような動作が示されているその特定の順序で又は順次的な順序で実行されること、あるいは、表されている全ての動作が実行されることを求めている、と理解されるべきではない。更に、本明細書で説明されている実施形態における様々なシステムコンポーネントの分離は、全ての実施形態でそのような分離を求めている、と理解されるべきではない。
【0286】
ほんのわずかの実施及び例が説明されており、他の実施、強化及び変形は、本特許文献で記載及び例示されているものに基づいて行われ得る。
図1
図2
図3
図4
図5A
図5B
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
【外国語明細書】