(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-20
(54)【発明の名称】インター予測及びイントラ予測の組合せを実行するための方法及びシステム
(51)【国際特許分類】
H04N 19/107 20140101AFI20240912BHJP
H04N 19/176 20140101ALI20240912BHJP
H04N 19/186 20140101ALI20240912BHJP
【FI】
H04N19/107
H04N19/176
H04N19/186
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024513949
(86)(22)【出願日】2022-09-22
(85)【翻訳文提出日】2024-04-22
(86)【国際出願番号】 SG2022050682
(87)【国際公開番号】W WO2023048646
(87)【国際公開日】2023-03-30
(32)【優先日】2021-09-22
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-09-13
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】523475516
【氏名又は名称】アリババ ダモ (ハンジョウ) テクノロジー カンパニー,リミテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】リャオ,ルーリン
(72)【発明者】
【氏名】チェン,ジエ
(72)【発明者】
【氏名】リ,シンウェイ
(72)【発明者】
【氏名】イエ,ヤン
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA04
5C159MA05
5C159MA19
5C159MA21
5C159MC11
5C159ME01
5C159PP04
5C159RC11
5C159TA23
5C159UA02
5C159UA05
(57)【要約】
インター予測及びイントラ予測の組合せ(CIIP)と、ルママッピング及びクロマスケーリング(LMCS)とが適用される映像処理のための方法。方法は、インター予測信号、イントラ予測信号及びオーバーラップブロック動き補償(OBMC)予測信号を得ることと、インター予測信号と、イントラ予測信号及びOBMC予測信号のうちの第1の予測信号とを重み付けすることによって、中間重み付け予測信号を得ることと、中間重み付け予測信号と、イントラ予測信号及びOBMC予測信号のうちの第2の予測信号とを重み付けすることによって、最終予測信号を得ることとを含み、中間重み付け予測信号と第2の予測信号は両方とも、マッピングドメイン又はオリジナルドメインにある。
【特許請求の範囲】
【請求項1】
インター予測及びイントラ予測の組合せ(CIIP)と、ルママッピング及びクロマスケーリング(LMCS)とが適用される映像処理のための方法であって、
インター予測信号、イントラ予測信号及びオーバーラップブロック動き補償(OBMC)予測信号を得ることと、
前記インター予測信号と、前記イントラ予測信号及び前記OBMC予測信号のうちの第1の予測信号とを重み付けすることによって、中間重み付け予測信号を得ることと、
前記中間重み付け予測信号と、イントラ予測信号及び前記OBMC予測信号のうちの第2の予測信号とを重み付けすることによって、最終予測信号を得ることと
を含み、
前記中間重み付け予測信号と前記第2の予測信号が両方とも、マッピングドメイン又はオリジナルドメインにある、方法。
【請求項2】
前記インター予測信号、前記イントラ予測信号及び前記OBMC予測信号を得ることが、
オリジナルドメインにおいて前記インター予測信号を得ることと、
マッピングドメインにおいて前記イントラ予測信号を得ることと、
前記オリジナルドメインにおいて前記OBMC予測信号を得ることと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記インター予測信号と、前記イントラ予測信号及び前記OBMC予測信号のうちの前記第1の予測信号とを重み付けすることによって、前記中間重み付け予測信号を得ることが、
前記インター予測信号を前記オリジナルドメインから前記マッピングドメインに変換することと、
前記マッピングドメインにおいて前記変換済みのインター予測信号と前記イントラ予測信号とを重み付けすることによって、前記中間重み付け予測信号を得ることと
を含み、
前記中間重み付け予測信号と、イントラ予測信号及び前記OBMC予測信号のうちの前記第2の予測信号とを重み付けすることによって、前記最終予測信号を得ることが、
前記OBMC予測信号を前記オリジナルドメインから前記マッピングドメインに変換することと、
前記マッピングドメインにおいて前記中間重み付け予測信号と前記OBMC予測信号とを重み付けすることによって、前記最終予測信号を得ることと
をさらに含む、請求項2に記載の方法。
【請求項4】
前記インター予測信号と、前記イントラ予測信号及び前記OBMC予測信号のうちの前記第1の予測信号とを重み付けすることによって、前記中間重み付け予測信号を得ることが、
前記インター予測信号を前記オリジナルドメインから前記マッピングドメインに変換することと、
前記マッピングドメインにおいて前記変換済みのインター予測信号と前記イントラ予測信号とを重み付けすることによって、前記中間重み付け予測信号を得ることと
を含み、
前記中間重み付け予測信号と、イントラ予測信号及び前記OBMC予測信号のうちの前記第2の予測信号とを重み付けすることによって、前記最終予測信号を得ることが、
前記中間重み付け予測信号を前記マッピングドメインから前記オリジナルドメインに変換することと、
前記オリジナルドメインにおいて前記中間重み付け予測信号と前記OBMC予測信号とを重み付けすることによって、中間最終予測信号を得ることと、
前記中間最終予測信号を前記オリジナルドメインから前記マッピングドメインに変換することによって、前記最終予測信号を得ることと
をさらに含む、請求項2に記載の方法。
【請求項5】
前記インター予測信号と、前記イントラ予測信号及び前記OBMC予測信号のうちの第1の予測信号とを重み付けすることによって、前記中間重み付け予測信号を得ることが、
前記イントラ予測信号を前記マッピングドメインから前記オリジナルドメインに変換することと、
前記オリジナルドメインにおいて前記インター予測信号と前記変換済みのイントラ予測信号とを重み付けすることによって、前記中間重み付け予測信号を得ることと
を含み、
前記中間重み付け予測信号と、イントラ予測信号及び前記OBMC予測信号のうちの前記第2の予測信号とを重み付けすることによって、前記最終予測信号を得ることが、
前記オリジナルドメインにおいて前記中間重み付け予測信号と前記OBMC予測信号とを重み付けすることによって、中間最終予測信号を得ることと、
前記中間最終予測信号を前記オリジナルドメインから前記マッピングドメインに変換することによって、前記最終予測信号を得ることと
をさらに含む、請求項2に記載の方法。
【請求項6】
前記インター予測信号と、前記イントラ予測信号及び前記OBMC予測信号のうちの第1の予測信号とを重み付けすることによって、前記中間重み付け予測信号を得ることが、
前記オリジナルドメインにおいて前記インター予測信号と前記OBMC予測信号とを重み付けすることによって、前記中間重み付け予測信号を得ること
を含み、
前記中間重み付け予測信号と、イントラ予測信号及び前記OBMC予測信号のうちの前記第2の予測信号とを重み付けすることによって、前記最終予測信号を得ることが、
前記中間重み付け予測信号を前記オリジナルドメインから前記マッピングドメインに変換することと、
前記マッピングドメインにおいて前記変換済みの中間重み付け予測信号と前記イントラ予測信号とを重み付けすることによって、前記最終予測信号を得ることと
をさらに含む、請求項2に記載の方法。
【請求項7】
前記インター予測信号が、通常のマージモードに適用されるインター予測プロセスを使用して得られる、請求項1に記載の方法。
【請求項8】
前記OBMC予測信号が、近傍のブロックからの動きを使用して得られる、請求項1に記載の方法。
【請求項9】
インター予測及びイントラ予測の組合せ(CIIP)と、ルママッピング及びクロマスケーリング(LMCS)とが適用される映像データ処理を実行するための装置であって、
命令を格納するように図示されたメモリと、
1つ又は複数のプロセッサと
を含み、前記1つ又は複数のプロセッサが、
インター予測信号、イントラ予測信号及びオーバーラップブロック動き補償(OBMC)予測信号を得ることと、
前記インター予測信号と、前記イントラ予測信号及び前記OBMC予測信号のうちの第1の予測信号とを重み付けすることによって、中間重み付け予測信号を得ることと、
前記中間重み付け予測信号と、イントラ予測信号及び前記OBMC予測信号のうちの第2の予測信号とを重み付けすることによって、最終予測信号を得ることと
を前記装置に実行させるために前記命令を実行するように構成され、
前記中間重み付け予測信号と前記第2の予測信号が両方とも、マッピングドメイン又はオリジナルドメインにある、装置。
【請求項10】
前記1つ又は複数のプロセッサが、
オリジナルドメインにおいて前記インター予測信号を得ることと、
マッピングドメインにおいて前記イントラ予測信号を得ることと、
前記オリジナルドメインにおいて前記OBMC予測信号を得ることと
を前記装置に実行させるために前記命令を実行するようにさらに構成される、請求項9に記載の装置。
【請求項11】
前記1つ又は複数のプロセッサが、
前記インター予測信号を前記オリジナルドメインから前記マッピングドメインに変換することと、
前記マッピングドメインにおいて前記変換済みのインター予測信号と前記イントラ予測信号とを重み付けすることによって、前記中間重み付け予測信号を得ることと、
前記OBMC予測信号を前記オリジナルドメインから前記マッピングドメインに変換することと、
前記マッピングドメインにおいて前記中間重み付け予測信号と前記OBMC予測信号とを重み付けすることによって、前記最終予測信号を得ることと
を前記装置に実行させるために前記命令を実行するようにさらに構成される、請求項10に記載の装置。
【請求項12】
前記1つ又は複数のプロセッサが、
前記インター予測信号を前記オリジナルドメインから前記マッピングドメインに変換することと、
前記マッピングドメインにおいて前記変換済みのインター予測信号と前記イントラ予測信号とを重み付けすることによって、前記中間重み付け予測信号を得ることと、
前記中間重み付け予測信号を前記マッピングドメインから前記オリジナルドメインに変換することと、
前記オリジナルドメインにおいて前記中間重み付け予測信号と前記OBMC予測信号とを重み付けすることによって、中間最終予測信号を得ることと、
前記中間最終予測信号を前記オリジナルドメインから前記マッピングドメインに変換することによって、前記最終予測信号を得ることと
を前記装置に実行させるために前記命令を実行するようにさらに構成される、請求項10に記載の装置。
【請求項13】
前記1つ又は複数のプロセッサが、
前記イントラ予測信号を前記マッピングドメインから前記オリジナルドメインに変換することと、
前記オリジナルドメインにおいて前記インター予測信号と前記変換済みのイントラ予測信号とを重み付けすることによって、前記中間重み付け予測信号を得ることと、
前記オリジナルドメインにおいて前記中間重み付け予測信号と前記OBMC予測信号とを重み付けすることによって、中間最終予測信号を得ることと、
前記中間最終予測信号を前記オリジナルドメインから前記マッピングドメインに変換することによって、前記最終予測信号を得ることと
を前記装置に実行させるために前記命令を実行するようにさらに構成される、請求項10に記載の装置。
【請求項14】
前記1つ又は複数のプロセッサが、
前記オリジナルドメインにおいて前記インター予測信号と前記OBMC予測信号とを重み付けすることによって、前記中間重み付け予測信号を得ることと、
前記中間重み付け予測信号を前記オリジナルドメインから前記マッピングドメインに変換することと、
前記マッピングドメインにおいて前記変換済みの中間重み付け予測信号と前記イントラ予測信号とを重み付けすることによって、前記最終予測信号を得ることと
を前記装置に実行させるために前記命令を実行するようにさらに構成される、請求項10に記載の装置。
【請求項15】
前記インター予測信号が、通常のマージモードに適用されるインター予測プロセスを使用して得られる、請求項9に記載の装置。
【請求項16】
前記OBMC予測信号が、近傍のブロックからの動きを使用して得られる、請求項9に記載の装置。
【請求項17】
方法に従って処理するための映像のビットストリームを格納する非一時的なコンピュータ可読記憶媒体であって、インター予測及びイントラ予測の組合せ(CIIP)と、ルママッピング及びクロマスケーリング(LMCS)とが前記映像に適用され、前記方法が、
インター予測信号、イントラ予測信号及びオーバーラップブロック動き補償(OBMC)予測信号を得ることと、
前記インター予測信号と、前記イントラ予測信号及び前記OBMC予測信号のうちの第1の予測信号を重み付けすることによって、中間重み付け予測信号を得ることと、
前記中間重み付け予測信号と、イントラ予測信号及び前記OBMC予測信号のうちの第2の予測信号を重み付けすることによって、最終予測信号を得ることと
を含み、
前記中間重み付け予測信号と前記第2の予測信号が両方とも、マッピングドメイン又はオリジナルドメインにある、非一時的なコンピュータ可読記憶媒体。
【請求項18】
前記インター予測信号、前記イントラ予測信号及び前記OBMC予測信号を得ることが、
オリジナルドメインにおいて前記インター予測信号を得ることと、
マッピングドメインにおいて前記イントラ予測信号を得ることと、
前記オリジナルドメインにおいて前記OBMC予測信号を得ることと
をさらに含む、請求項17に記載の非一時的なコンピュータ可読記憶媒体。
【請求項19】
前記インター予測信号と、前記イントラ予測信号及び前記OBMC予測信号のうちの第1の予測信号を重み付けすることによって、前記中間重み付け予測信号を得ることが、
前記オリジナルドメインにおいて前記インター予測信号と前記OBMC予測信号とを重み付けすることによって、前記中間重み付け予測信号を得ること
を含み、
前記中間重み付け予測信号と、イントラ予測信号及び前記OBMC予測信号のうちの前記第2の予測信号を重み付けすることによって、前記最終予測信号を得ることが、
前記中間重み付け予測信号を前記オリジナルドメインから前記マッピングドメインに変換することと、
前記マッピングドメインにおいて前記変換済みの中間重み付け予測信号と前記イントラ予測信号とを重み付けすることによって、前記最終予測信号を得ることと
をさらに含む、請求項18に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001] 本開示は、2021年9月22日に出願された米国仮特許出願第63/247078号及び2022年9月13日に出願された米国仮特許出願第17/931676号への優先権の利益を主張し、同特許文献は、その全体が参照により本明細書に組み込まれる。
【0002】
技術分野
[0002] 本開示は、概して、映像処理に関し、より具体的には、インター予測及びイントラ予測の組合せを実行するための方法及びシステムに関する。
【背景技術】
【0003】
背景
[0003] 映像は、視覚情報をキャプチャした静止ピクチャ(又は「フレーム」)のセットである。ストレージメモリ及び伝送帯域幅を低減するため、映像は、格納又は伝送前に圧縮し、表示前に復元することができる。圧縮プロセスは、通常、符号化と呼ばれ、復元プロセスは、通常、復号と呼ばれる。最も一般的には、予測、変換、量子化、エントロピー符号化及びインループフィルタリングに基づく、標準化映像符号化技術を使用する様々な映像符号化フォーマットが存在する。特定の映像符号化フォーマットを指定する、高効率ビデオ符号化(HEVC/H.265)規格、多用途ビデオ符号化(VVC/H.266)規格及びAVS規格など、映像符号化規格が標準化機関によって開発されている。映像規格におけるますます高度な映像符号化技術の採用に伴い、新しい映像符号化規格の符号化効率はますます高くなっている。
【発明の概要】
【0004】
開示の概要
[0004] 本開示の実施形態は、映像処理のための方法であって、インター予測及びイントラ予測の組合せ(CIIP)と、ルママッピング及びクロマスケーリング(LMCS)とが適用される方法を提供する。方法は、インター予測信号、イントラ予測信号及びオーバーラップブロック動き補償(OBMC)予測信号を得ることと、インター予測信号と、イントラ予測信号及びOBMC予測信号のうちの第1の予測信号とを重み付けすることによって、中間重み付け予測信号を得ることと、中間重み付け予測信号と、イントラ予測信号及びOBMC予測信号のうちの第2の予測信号とを重み付けすることによって、最終予測信号を得ることとを含み、中間重み付け予測信号及び第2の予測信号は両方とも、マッピングドメイン又はオリジナルドメインにある。
【0005】
[0005] 本開示の実施形態は、映像データ処理を実行するための装置を提供する。インター予測及びイントラ予測の組合せ(CIIP)と、ルママッピング及びクロマスケーリング(LMCS)が適用され、装置は、命令を格納するように図示されたメモリと、1つ又は複数のプロセッサとを含み、1つ又は複数のプロセッサは、インター予測信号、イントラ予測信号及びオーバーラップブロック動き補償(OBMC)予測信号を得ることと、インター予測信号と、イントラ予測信号及びOBMC予測信号のうちの第1の予測信号とを重み付けすることによって、中間重み付け予測信号を得ることと、中間重み付け予測信号と、イントラ予測信号及びOBMC予測信号のうちの第2の予測信号とを重み付けすることによって、最終予測信号を得ることとを装置に実行させるために命令を実行するように構成され、中間重み付け予測信号及び第2の予測信号は両方とも、マッピングドメイン又はオリジナルドメインにある。
【0006】
[0006] 本開示の実施形態は、方法に従って処理するための映像のビットストリームを格納する非一時的なコンピュータ可読記憶媒体であって、インター予測及びイントラ予測の組合せ(CIIP)と、ルママッピング及びクロマスケーリング(LMCS)とが映像に適用され、方法が、オリジナルドメインにおけるインター予測信号、マッピングドメインにおけるイントラ予測信号及びオリジナルドメインにおけるオーバーラップブロック動き補償(OBMC)予測信号を得ることと、オリジナルドメインにおいてインター予測信号とOBMC予測信号とを重み付けすることによって、中間重み付け予測信号を得ることと、中間重み付け予測信号をオリジナルドメインからマッピングドメインに変換することと、マッピングドメインにおいて変換済みの中間重み付け予測信号とイントラ予測信号とを重み付けすることによって、最終予測信号を得ることとを含む、非一時的なコンピュータ可読記憶媒体を提供する。
【0007】
図面の簡単な説明
[0007] 本開示の実施形態及び様々な態様は、以下の詳細な説明及び添付の図に示されている。図に示される様々な特徴は、原寸に比例するとは限らない。
【図面の簡単な説明】
【0008】
【
図1】[0008]本開示のいくつかの実施形態による、例示的な映像シーケンスの構造を示す概略図である。
【
図2A】[0009]本開示の実施形態と一致する、ハイブリッド映像符号化システムの例示的な符号化プロセスを示す概略図である。
【
図2B】[0010]本開示の実施形態と一致する、ハイブリッド映像符号化システムの別の例示的な符号化プロセスを示す概略図である。
【
図3A】[0011]本開示の実施形態と一致する、ハイブリッド映像符号化システムの例示的な復号プロセスを示す概略図である。
【
図3B】[0012]本開示の実施形態と一致する、ハイブリッド映像符号化システムの別の例示的な復号プロセスを示す概略図である。
【
図4】[0013]本開示のいくつかの実施形態による、映像を符号化又は復号するための例示的な装置のブロック図である。
【
図5】[0014]本開示のいくつかの実施形態による、VVCにおける角度イントラ予測モードを示す。
【
図6】[0015]本開示のいくつかの実施形態による、一般的な最確モード(MPM)リストの導出の際に使用される例示的な近隣のブロックを示す。
【
図7】[0016]本開示のいくつかの実施形態による、デコーダ側イントラモード導出(DIMD)における勾配を計算するために使用される例示的なピクセルを示す。
【
図8】[0017]本開示のいくつかの実施形態による、DIMDの予測ブレンドプロセスを示す。
【
図9】[0018]本開示のいくつかの実施形態による、テンプレートベースのイントラモード導出(TIMD)の際に使用される例示的なテンプレート及びその参照サンプルを示す。
【
図10】[0019]本開示のいくつかの実施形態による、インター予測とイントラ予測の組合せ(CIIP)の重み導出の際に使用される、上の近隣のブロック及び左の近隣のブロックを示す。
【
図11】[0020]本開示のいくつかの実施形態による、位置依存イントラ予測組合せ(PDPC)を使用した拡張CIIPモードの例示的なフローチャートを示す。
【
図12A】[0021]本開示のいくつかの実施形態による、オーバーラップブロック動き補償(OBMC)を適用した例示的なサブブロックを示す。
【
図12B】[0021]本開示のいくつかの実施形態による、オーバーラップブロック動き補償(OBMC)を適用した例示的なサブブロックを示す。
【
図13】[0022]本開示のいくつかの実施形態による、デコーダの視点からの、ルマ成分及びクロマ成分を含む例示的なルママッピング及びクロマスケーリング(LMCS)アーキテクチャを示す。
【
図14】[0023]本開示のいくつかの実施形態による、CIIPにおいてイントラ予測因子を生成するための方法の例示的なフローチャートを示す。
【
図15A】[0024]本開示のいくつかの実施形態による、マッピングドメインにおいて最終予測信号を得るための例示的な方法のフローチャートを示す。
【
図15B】[0025]本開示のいくつかの実施形態による、
図15Aに示されるマッピングドメインにおいて最終予測信号を得るための方法を示す表を示す。
【
図16A】[0026]本開示のいくつかの実施形態による、マッピングドメインにおいて最終予測信号を得るための別の例示的な方法のフローチャートを示す。
【
図16B】[0027]本開示のいくつかの実施形態による、
図15Bに示されるマッピングドメインにおいて最終予測信号を得るための方法の変更を示す表を示す。
【
図17A】[0028]本開示のいくつかの実施形態による、マッピングドメインにおいて最終予測信号を得るための別の例示的な方法のフローチャートを示す。
【
図17B】[0029]本開示のいくつかの実施形態による、
図15Bに示されるマッピングドメインにおいて最終予測信号を得るための方法の変更を示す表を示す。
【
図18A】[0030]本開示のいくつかの実施形態による、マッピングドメインにおいて最終予測信号を得るための別の例示的な方法のフローチャートを示す。
【
図18B】[0031]本開示のいくつかの実施形態による、
図15Bに示されるマッピングドメインにおいて最終予測信号を得るための方法の変更を示す表を示す。
【
図19A】[0032]本開示のいくつかの実施形態による、マッピングドメインにおいて最終予測信号を得るための別の例示的な方法のフローチャートを示す。
【
図19B】[0033]本開示のいくつかの実施形態による、
図15Bに示されるマッピングドメインにおいて最終予測信号を得るための方法の変更を示す表を示す。
【発明を実施するための形態】
【0009】
詳細な説明
[0034] ここでは、例示的な実施形態を詳細に参照し、その例は、添付の図面に示されている。以下の説明は、添付の図面を参照し、図面では、異なる図面における同じ番号は、別段の表現がない限り、同じ又は同様の要素を表す。例示的な実施形態の以下の説明に記載される実装形態は、本発明と一致するすべての実装形態を表すものではない。代わりに、それらは、添付の特許請求の範囲において列挙されるような本発明に関連する態様と一致する装置及び方法の単なる例にすぎない。以下では、本開示の特定の態様をより詳細に説明する。参照により組み込まれる用語及び/又は定義と矛盾する場合は、本明細書で提供される用語及び定義が優先される。
【0010】
[0035] ITU-T映像符号化エキスパートグループ(ITU-T VCEG)及びISO/IEC動画エキスパートグループ(ISO/IEC MPEG)の共同映像エキスパートチーム(JVET)は、現在、多用途ビデオ符号化(VVC/H.266)規格を開発している。VVC規格は、その前身である高効率ビデオ符号化(HEVC/H.265)規格の圧縮効率を2倍にすることを目的とする。言い換えれば、VVCの目標は、帯域幅を半減してHEVC/H.265と同じ主観的品質を達成することである。
【0011】
[0036] 帯域幅を半減してHEVC/H.265と同じ主観的品質を達成するため、JVETは、共同探索モデル(JEM)参照ソフトウェアを使用して、HEVCを超える技術を開発している。符号化技術がJEMに組み込まれたことに伴い、JEMは、HEVCよりも実質的に高い符号化性能を達成した。
【0012】
[0037] VVC規格は最近開発されたものであり、より優れた圧縮性能を提供する、より多くの符号化技術を組み込み続けている。VVCは、HEVC、H.264/AVC、MPEG2、H.263などの現代の映像圧縮規格において使用されてきたものと同じハイブリッド映像符号化システムに基づく。
【0013】
[0038] 映像は、視覚情報を格納するために時系列で配列された静止ピクチャ(又は「フレーム」)のセットである。それらのピクチャを時系列でキャプチャして格納するため、ビデオキャプチャデバイス(例えば、カメラ)を使用することができ、そのようなピクチャを時系列で表示するため、ビデオ再生デバイス(例えば、テレビ、コンピュータ、スマートフォン、タブレットコンピュータ、ビデオプレーヤ、又は表示機能を有する任意のエンドユーザ端末)を使用することができる。また、一部の用途では、ビデオキャプチャデバイスは、監視、会議又はライブ放送のためになど、キャプチャした映像をビデオ再生デバイス(例えば、モニタを備えるコンピュータ)にリアルタイムで伝送することができる。
【0014】
[0039] そのような用途によって必要とされる格納スペース及び伝送帯域幅を低減するため、映像は、格納及び伝送前に圧縮し、表示前に復元することができる。圧縮及び復元は、プロセッサ(例えば、汎用コンピュータのプロセッサ)又は特殊ハードウェアによって実行されるソフトウェアによって実施することができる。圧縮用のモジュールは、一般に、「エンコーダ」と呼ばれ、復元用のモジュールは、一般に、「デコーダ」と呼ばれる。エンコーダ及びデコーダは、まとめて「コーデック」と呼ばれ得る。エンコーダ及びデコーダは、多様な適切なハードウェア、ソフトウェア又はそれらの組合せのいずれかとして実装することができる。例えば、エンコーダ及びデコーダのハードウェア実装形態は、1つ又は複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、離散論理又はそれらの任意の組合せなどの回路構成を含み得る。エンコーダ及びデコーダのソフトウェア実装形態は、プログラムコード、コンピュータ実行可能命令、ファームウェア、又はコンピュータ可読媒体に固定された任意の適切なコンピュータ実装アルゴリズム若しくはプロセスを含み得る。映像圧縮及び復元は、MPEG-1、MPEG-2、MPEG-4、H.26xシリーズ又は同様のものなど、様々なアルゴリズム又は規格によって実施することができる。一部の途では、コーデックは、第1の符号化規格から映像を復元し、第2の符号化規格を使用して、復元した映像を再圧縮することができ、この場合、コーデックは、「トランスコーダ」と呼ばれ得る。
【0015】
[0040] 映像符号化プロセスは、ピクチャの再構築に使用することができる有用な情報を識別して維持し、再構築に重要ではない情報を無視することができる。無視された重要ではない情報を完全に再構築することができない場合は、そのような符号化プロセスは「非可逆」と呼ばれ得る。そうでなければ、それは、「可逆」と呼ばれ得る。ほとんどの符号化プロセスは非可逆であり、それは、必要とされる格納スペース及び伝送帯域幅を低減するためのトレードオフである。
【0016】
[0041] 符号化されているピクチャ(「現在のピクチャ」と呼ばれる)の有用な情報は、参照ピクチャ(例えば、以前に符号化され、再構築されたピクチャ)に対する変化を含む。そのような変化は、ピクセルの位置の変化、光度の変化又は色の変化を含み得、それらの中でも特に、位置の変化に最も重要である。オブジェクトを表すピクセルのグループの位置の変化は、参照ピクチャと現在のピクチャとの間のオブジェクトの動きを反映することができる。
【0017】
[0042] 別のピクチャを参照することなく符号化されたピクチャ(すなわち、ピクチャがそれ自体の参照ピクチャである)は、「Iピクチャ」と呼ばれる。ピクチャのいくつかの又はすべてのブロック(例えば、一般に、映像ピクチャの一部分と見なされるブロック)が1つの参照ピクチャを用いてイントラ予測又はインター予測を使用して予測される場合(例えば、単予測)は、ピクチャは、「Pピクチャ」と呼ばれる。ピクチャの少なくとも1つのブロックが2つの参照ピクチャを用いて予測される場合(例えば、双予測)は、ピクチャは、「Bピクチャ」と呼ばれる。
【0018】
[0043]
図1は、本開示のいくつかの実施形態による、例示的な映像シーケンス100の構造を示す。映像シーケンス100は、ライブ映像、又はキャプチャ及びアーカイブされている映像であり得る。映像100は、実写映像、コンピュータ生成映像(例えば、コンピュータゲーム映像)又はそれらの組合せ(例えば、拡張現実効果を伴う実写映像)であり得る。映像シーケンス100は、ビデオキャプチャデバイス(例えば、カメラ)、以前にキャプチャした映像を含む映像アーカイブ(例えば、記憶装置に格納された映像ファイル)、又は映像コンテンツプロバイダから映像を受信するための映像供給インタフェース(例えば、映像放送トランシーバ)から入力することができる。
【0019】
[0044]
図1に示されるように、映像シーケンス100は、ピクチャ102、104、106、108を含む、タイムラインに沿って時間的に配列された一連のピクチャを含み得る。ピクチャ102~106は連続したものであり、ピクチャ106とピクチャ108との間にはさらなるピクチャが存在する。
図1では、ピクチャ102はIピクチャであり、その参照ピクチャは、ピクチャ102自体である。ピクチャ104はPピクチャであり、その参照ピクチャは、矢印によって示されるように、ピクチャ102である。ピクチャ106はBピクチャであり、その参照ピクチャは、矢印によって示されるように、ピクチャ104及び108である。いくつかの実施形態では、ピクチャ(例えば、ピクチャ104)の参照ピクチャは、そのピクチャの直前又は直後になくてもよい。例えば、ピクチャ104の参照ピクチャは、ピクチャ102の前のピクチャであり得る。ピクチャ102~106の参照ピクチャは、単なる例にすぎず、本開示は、
図1に示される例の通りに参照ピクチャの実施形態を限定するものではないことに留意されたい。
【0020】
[0045] 典型的には、映像コーデックは、ピクチャ全体を一度に符号化又は復号するものではないが、それは、そのようなタスクの演算の複雑性に起因する。むしろ、映像コーデックは、ピクチャを複数の基本セグメントに分割し、セグメントごとにピクチャを符号化又は復号することができる。そのような基本セグメントは、本開示では、基本処理単位(「BPU」)と呼ばれる。例えば、
図1の構造110は、映像シーケンス100のピクチャ(例えば、ピクチャ102~108のいずれか)の例示的な構造を示す。構造110では、ピクチャは、4×4の基本処理単位に分割されており、それらの境界は、破線で示されている。いくつかの実施形態では、基本処理単位は、いくつかの映像符号化規格(例えば、MPEGファミリー、H.261、H.263又はH.264/AVC)では「マクロブロック」とも呼ばれ、他のいくつかの映像符号化規格(例えば、H.265/HEVC又はH.266/VVC)では「符号化ツリー単位」(「CTU」)とも呼ばれる。基本処理単位は、128×128、64×64、32×32、16×16、4×8、16×32などの可変サイズのピクチャを有することも、任意の形状及びサイズのピクセルを有することも可能である。基本処理単位のサイズ及び形状は、ピクチャに対して、符号化効率と、基本処理単位において維持すべき細部のレベルとのバランスに基づいて選択することができる。
【0021】
[0046] 基本処理単位は、論理単位であり得、コンピュータメモリに(例えば、映像フレームバッファに)格納された異なるタイプの映像データのグループを含み得る。例えば、カラーピクチャの基本処理単位は、無彩色の輝度情報を表すルマ成分(Y)、色情報を表す1つ又は複数のクロマ成分(例えば、Cb、Cr)及び関連構文要素を含み得、ルマ及びクロマ成分は、同じサイズの基本処理単位を有し得る。ルマ及びクロマ成分は、いくつかの映像符号化規格(例えば、H.265/HEVC又はH.266/VVC)では、「符号化ツリーブロック」(「CTB」)と呼ばれ得る。基本処理単位に対して実行されるいかなる演算も、そのルマ及びクロマ成分の各々に対して繰り返し実行することができる。
【0022】
[0047] 映像符号化は、複数の演算段階を有し、その例は、
図2A、2B及び
図3A、3Bに示されている。各段階において、基本処理単位のサイズは依然として、処理するには大き過ぎるものであり得、従って、本開示では「基本処理サブ単位」と呼ばれる複数のセグメントにさらに分割することができる。いくつかの実施形態では、基本処理サブ単位は、いくつかの映像符号化規格(例えば、MPEGファミリー、H.261、H.263又はH.264/AVC)では「ブロック」とも呼ばれ、他のいくつかの映像符号化規格(例えば、H.265/HEVC又はH.266/VVC)では「符号化単位」(「CU」)とも呼ばれる。基本処理サブ単位は、基本処理単位と同じ又はそれよりも小さなサイズを有し得る。基本処理単位と同様に、基本処理サブ単位もまた、論理単位であり得、コンピュータメモリに(例えば、映像フレームバッファに)格納された異なるタイプの映像データ(例えば、Y、Cb、Cr及び関連構文要素)のグループを含み得る。基本処理サブ単位に対して実行されるいかなる演算も、そのルマ及びクロマ成分の各々に対して繰り返し実行することができる。そのような分割は、処理の必要性に応じてさらなるレベルまで実行できることに留意されたい。また、異なる段階では、異なるスキームを使用して基本処理単位を分割できることにも留意されたい。
【0023】
[0048] 例えば、モード決定段階(
図2Bにその例が示されている)では、エンコーダは、基本処理単位に対してどの予測モード(例えば、イントラピクチャ予測又はインターピクチャ予測)を使用するかを決定することができるが、基本処理単位は、そのような決定を行うには大き過ぎるものであり得る。エンコーダは、基本処理単位を複数の基本処理サブ単位(例えば、H.265/HEVC又はH.266/VVCに見られるような、CU)に分割し、個々の基本処理サブ単位の各々に対して予測タイプを決定することができる。
【0024】
[0049] 別の例として、予測段階(
図2A及び
図2Bにその例が示されている)では、エンコーダは、基本処理サブ単位(例えば、CU)のレベルで予測演算を実行することができる。しかし、いくつかの事例では、基本処理サブ単位は依然として、処理するには大き過ぎるものであり得る。エンコーダは、基本処理サブ単位をさらなる小さな複数のセグメント(例えば、H.265/HEVC又はH.266/VVCでは「予測ブロック」又は「PB」と呼ばれる)にさらに分割することができ、そのレベルで予測演算を実行することができる。
【0025】
[0050] 別の例として、変換段階(
図2A及び
図2Bにその例が示されている)では、エンコーダは、残差基本処理サブ単位(例えば、CU)に対して変換演算を実行することができる。しかし、いくつかの事例では、基本処理サブ単位は依然として、処理するには大き過ぎるものであり得る。エンコーダは、基本処理サブ単位をさらなる小さな複数のセグメント(例えば、H.265/HEVC又はH.266/VVCでは「変換ブロック」又は「TB」と呼ばれる)にさらに分割することができ、そのレベルで変換演算を実行することができる。同じ基本処理サブ単位の分割スキームは、予測段階と変換段階とで異なり得ることに留意されたい。例えば、H.265/HEVC又はH.266/VVCでは、同じCUの予測ブロックと変換ブロックは、異なるサイズ及び数を有し得る。
【0026】
[0051]
図1の構造110では、基本処理単位112は、3×3の基本処理サブ単位にさらに分割され、それらの境界は、点線で示されている。同じピクチャの異なる基本処理単位は、異なるスキームで複数の基本処理サブ単位に分割することができる。
【0027】
[0052] いくつかの実装形態では、映像符号化及び復号に対する並列処理及び誤り耐性の能力を提供するため、ピクチャは、処理のために複数の領域に分割することができ、その結果、ピクチャのある領域の符号化又は復号プロセスは、ピクチャの他の任意の領域からの情報に依存しなくともよい。言い換えれば、ピクチャの各領域は、独立して処理することができる。そうすることにより、コーデックは、ピクチャの異なる領域を並行して処理することができ、従って、符号化効率が向上する。また、領域のデータが処理中に破損した際又はネットワーク伝送中に失われた際には、コーデックは、破損した又は失われたデータに依拠することなく、同じピクチャの他の領域を正しく符号化又は復号することもでき、従って、誤り耐性の能力が提供される。いくつかの映像符号化規格では、ピクチャは、異なるタイプの複数の領域に分割することができる。例えば、H.265/HEVC及びH.266/VVCは、「スライス」及び「タイル」の2つの領域タイプを提供する。また、映像シーケンス100の異なるピクチャは、ピクチャを複数の領域に分割するための異なるパーティション分割スキームを有し得ることにも留意されたい。
【0028】
[0053] 例えば、
図1では、構造110は、3つの領域114、116、118に分割され、それらの境界は、構造110の内側に実線で示されている。領域114は、4つの基本処理単位を含む。領域116及び118の各々は、6つの基本処理単位を含む。
図1の構造110の基本処理単位、基本処理サブ単位及び領域は、単なる例にすぎず、本開示はその実施形態を限定しないことに留意されたい。
【0029】
[0054]
図2Aは、本開示の実施形態と一致する、例示的な符号化プロセス200Aの概略図を示す。例えば、符号化プロセス200Aは、エンコーダによって実行することができる。
図2Aに示されるように、エンコーダは、プロセス200Aに従って、映像シーケンス202を映像ビットストリーム228に符号化することができる。
図1の映像シーケンス100と同様に、映像シーケンス202は、時間的順序で配列されたピクチャ(「オリジナルピクチャ」と呼ばれる)のセットを含み得る。
図1の構造110と同様に、映像シーケンス202の各オリジナルピクチャは、エンコーダによって、処理のために複数の基本処理単位、基本処理サブ単位又は領域に分割することができる。いくつかの実施形態では、エンコーダは、映像シーケンス202の各オリジナルピクチャに対して、基本処理単位のレベルでプロセス200Aを実行することができる。例えば、エンコーダは、反復方式でプロセス200Aを実行することができ、その場合、エンコーダは、プロセス200Aの1反復において基本処理単位を符号化することができる。いくつかの実施形態では、エンコーダは、映像シーケンス202の各オリジナルピクチャの領域(例えば、領域114~118)に対して、プロセス200Aを並行して実行することができる。
【0030】
[0055]
図2Aでは、エンコーダは、映像シーケンス202のオリジナルピクチャの基本処理単位(「オリジナルBPU」と呼ばれる)を予測段階204に供給し、予測データ206及び予測BPU 208を生成することができる。エンコーダは、オリジナルBPUから予測BPU 208を減算し、残差BPU 210を生成することができる。エンコーダは、残差BPU 210を変換段階212及び量子化段階214に供給し、量子化済みの変換係数216を生成することができる。エンコーダは、予測データ206及び量子化済みの変換係数216を二値符号化段階226に供給し、映像ビットストリーム228を生成することができる。コンポーネント202、204、206、208、210、212、214、216、226、228は、「順方向経路」と呼ばれ得る。プロセス200Aの間、量子化段階214の後、エンコーダは、量子化済みの変換係数216を逆量子化段階218及び逆変換段階220に供給し、再構築された残差BPU 222を生成することができる。エンコーダは、再構築された残差BPU 222を予測BPU 208に加算し、予測基準224を生成することができ、予測基準224は、プロセス200Aの次の反復のために予測段階204において使用されるものである。プロセス200Aのコンポーネント218、220、222、224は、「再構築経路」と呼ばれ得る。再構築経路は、エンコーダとデコーダの両方が予測のために同じ参照データを使用することを保証するために使用することができる。
【0031】
[0056] エンコーダは、オリジナルピクチャの各オリジナルBPUを符号化し(順方向経路において)、オリジナルピクチャの次のオリジナルBPUを符号化するための予測基準224を生成するように(再構築経路において)、プロセス200Aを反復して実行することができる。オリジナルピクチャのすべてのオリジナルBPUを符号化した後、エンコーダは、映像シーケンス202内の次のピクチャの符号化に進むことができる。
【0032】
[0057] プロセス200Aを参照すると、エンコーダは、ビデオキャプチャデバイス(例えば、カメラ)によって生成された映像シーケンス202を受信することができる。本明細書で使用される「受信する」という用語は、受信すること、入力すること、取得すること、回収すること、得ること、読み取ること、アクセスすること、又はデータを入力するための任意の方法による任意の行為を指し得る。
【0033】
[0058] 予測段階204では、現在の反復において、エンコーダは、オリジナルBPU及び予測基準224を受信し、予測演算を実行し、予測データ206及び予測BPU 208を生成することができる。予測基準224は、プロセス200Aの以前の反復における再構築経路から生成することができる。予測段階204の目的は、予測データ206を抽出することによって、情報冗長性を低減することであり、予測データ206は、予測データ206及び予測基準224からオリジナルBPUを予測BPU 208として再構築するために使用することができる。
【0034】
[0059] 理想的には、予測BPU 208は、オリジナルBPUと同一であり得る。しかし、非理想的な予測及び再構築演算が原因で、予測BPU 208は、一般に、オリジナルBPUとは若干異なる。そのような違いを記録するため、予測BPU 208を生成した後、エンコーダは、オリジナルBPUからその予測BPU 208を減算し、残差BPU 210を生成することができる。例えば、エンコーダは、予測BPU 208のピクセルの値(例えば、グレースケール値又はRGB値)をオリジナルBPUの対応するピクセルの値から減算することができる。残差BPU 210の各ピクセルは、予測BPU 208のピクセルとオリジナルBPUの対応するピクセルとの間のそのような減算の結果としての残差値を有し得る。オリジナルBPUと比べて、予測データ206及び残差BPU 210は、ビット数が少なくなり得るが、それらは、著しい品質劣化を伴うことなくオリジナルBPUを再構築するために使用することができる。従って、オリジナルBPUが圧縮される。
【0035】
[0060] 残差BPU 210をさらに圧縮するため、変換段階212において、エンコーダは、残差BPU 210を二次元の「基底パターン」のセットに分解することによって、残差BPU 210の空間的冗長性を低減することができ、各基底パターンは、「変換係数」と関連付けられている。基底パターンは、同じサイズ(例えば、残差BPU 210のサイズ)を有することができる。各基底パターンは、残差BPU 210の変動周波数(例えば、輝度変動の周波数)成分を表し得る。どの基底パターンも、他の基底パターンの結合(例えば、線形結合)から再現することはできない。言い換えれば、分解により、残差BPU 210の変動は、周波数ドメインに分解され得る。そのような分解は、関数の離散フーリエ変換と類似しており、この場合、基底パターンは、離散フーリエ変換の基底関数(例えば、三角関数)と類似しており、変換係数は、基底関数と関連付けられた係数と類似している。
【0036】
[0061] 異なる変換アルゴリズムは、異なる基底パターンを使用し得る。例えば、離散余弦変換、離散正弦変換又は同様のものなど、様々な変換アルゴリズムを変換段階212において使用することができる。変換段階212における変換は逆演算可能である。すなわち、エンコーダは、変換の逆演算(「逆変換」と呼ばれる)によって、残差BPU 210を回復することができる。例えば、残差BPU 210のピクセルを回復するため、逆変換により、基底パターンの対応するピクセルの値にそれぞれの関連係数を乗算し、その積を加算して重み付け総和を生成することができる。映像符号化規格の場合、エンコーダ及びデコーダは両方とも、同じ変換アルゴリズム(従って、同じ基底パターン)を使用することができる。従って、エンコーダは、変換係数のみを記録することができ、その変換係数から、デコーダは、エンコーダから基底パターンを受信することなく、残差BPU 210を再構築することができる。残差BPU 210と比べて、変換係数は、ビット数が少なくなり得るが、それらは、著しい品質劣化を伴うことなく残差BPU 210を再構築するために使用することができる。従って、残差BPU 210がさらに圧縮される。
【0037】
[0062] エンコーダは、量子化段階214において変換係数をさらに圧縮することができる。変換プロセスでは、異なる基底パターンは、異なる変動周波数(例えば、輝度変動周波数)を表し得る。人間の目は、一般に、低周波数変動の認識に優れているため、エンコーダは、復号において著しい品質劣化を生じさせることなく、高周波数変動の情報を無視することができる。例えば、量子化段階214では、エンコーダは、各変換係数を整数値(「量子化スケールファクタ」と呼ばれる)で除算し、その商をその最も近い整数に丸めることによって、量子化済みの変換係数216を生成することができる。そのような演算の後、高周波数基底パターンの一部の変換係数はゼロに変換され得、低周波数基底パターンの変換係数はより小さい整数に変換され得る。エンコーダは、ゼロ値の量子化済みの変換係数216を無視することができ、それにより、変換係数がさらに圧縮される。量子化プロセスもまた逆演算可能であり、この場合、量子化済みの変換係数216は、量子化の逆演算(「逆量子化」と呼ばれる)において変換係数に再構築することができる。
【0038】
[0063] エンコーダはそのような除算の剰余を丸め演算において無視するため、量子化段階214は非可逆であり得る。典型的には、量子化段階214は、プロセス200Aにおいて最大の情報損失をもたらし得る。情報損失が大きいほど、量子化済みの変換係数216が必要とし得るビットは少なくなる。異なる情報損失レベルを得るため、エンコーダは、量子化パラメータ又は量子化プロセスの他の任意のパラメータの異なる値を使用することができる。
【0039】
[0064] 二値符号化段階226では、エンコーダは、例えば、エントロピー符号化、可変長符号化、算術符号化、ハフマン符号化、コンテキスト適応型二値算術符号化、又は他の任意の可逆若しくは非可逆圧縮アルゴリズムなどの二値符号化技法を使用して、予測データ206及び量子化済みの変換係数216を符号化することができる。いくつかの実施形態では、予測データ206及び量子化済みの変換係数216以外に、エンコーダは、例えば、予測段階204において使用される予測モード、予測演算のパラメータ、変換段階212における変換のタイプ、量子化プロセスのパラメータ(例えば、量子化パラメータ)、エンコーダ制御パラメータ(例えば、ビットレート制御パラメータ)又は同様のものなどの他の情報を二値符号化段階226において符号化することができる。エンコーダは、二値符号化段階226の出力データを使用して、映像ビットストリーム228を生成することができる。いくつかの実施形態では、ネットワーク伝送のために映像ビットストリーム228をさらにパケット化することができる。
【0040】
[0065] プロセス200Aの再構築経路を参照すると、逆量子化段階218では、エンコーダは、量子化済みの変換係数216に対して逆量子化を実行し、再構築された変換係数を生成することができる。逆変換段階220では、エンコーダは、再構築された変換係数に基づいて再構築された残差BPU 222を生成することができる。エンコーダは、再構築された残差BPU 222を予測BPU 208に加算し、プロセス200Aの次の反復において使用される予測基準224を生成することができる。
【0041】
[0066] 映像シーケンス202を符号化するために、プロセス200Aの他の変形形態も使用できることに留意されたい。いくつかの実施形態では、プロセス200Aの段階は、エンコーダによって、異なる順序で実行することができる。いくつかの実施形態では、プロセス200Aの1つ又は複数の段階を組み合わせて単一の段階にすることができる。いくつかの実施形態では、プロセス200Aの単一の段階を複数の段階に分割することができる。例えば、変換段階212と量子化段階214を単一の段階に組み合わせることができる。いくつかの実施形態では、プロセス200Aは、追加の段階を含み得る。いくつかの実施形態では、プロセス200Aは、
図2Aにおける1つ又は複数の段階を省略することができる。
【0042】
[0067]
図2Bは、本開示の実施形態と一致する、別の例示的な符号化プロセス200Bの概略図を示す。プロセス200Bは、プロセス200Aを修正したものであり得る。例えば、プロセス200Bは、ハイブリッド映像符号化規格(例えば、H.26xシリーズ)に準拠したエンコーダによって使用することができる。プロセス200Aと比べて、プロセス200Bの順方向経路は、追加的に、モード決定段階230を含み、予測段階204を空間的予測段階2042と時間的予測段階2044とに分割する。プロセス200Bの再構築経路は、ループフィルタ段階232及びバッファ234を追加的に含む。
【0043】
[0068] 一般に、予測技法は、空間的予測及び時間的予測の2つのタイプに分類することができる。空間的予測(例えば、イントラピクチャ予測又は「イントラ予測」)は、現在のBPUを予測するために、同じピクチャ内の1つ又は複数の既に符号化された近傍のBPUからのピクセルを使用することができる。すなわち、空間的予測における予測基準224は、近傍のBPUを含み得る。空間的予測は、ピクチャの固有の空間的冗長性を低減することができる。時間的予測(例えば、インターピクチャ予測又は「インター予測」)は、現在のBPUを予測するために、1つ又は複数の既に符号化されたピクチャからの領域を使用することができる。すなわち、時間的予測における予測基準224は、符号化済みのピクチャを含み得る。時間的予測は、ピクチャの固有の時間的冗長性を低減することができる。
【0044】
[0069] プロセス200Bを参照すると、順方向経路において、エンコーダは、空間的予測段階2042及び時間的予測段階2044で予測演算を実行する。例えば、空間的予測段階2042では、エンコーダは、イントラ予測を実行することができる。符号化中のピクチャのオリジナルBPUの場合、予測基準224は、同じピクチャ内において、符号化された(順方向経路において)及び再構築された(再構築経路において)1つ又は複数の近傍のBPUを含み得る。エンコーダは、近傍のBPUを外挿することによって予測BPU 208を生成することができる。外挿技法は、例えば、線形外挿若しくは補間、多項式外挿若しくは補間又は同様のものを含み得る。いくつかの実施形態では、エンコーダは、予測BPU 208の各ピクセルに対して、対応するピクセルの値を外挿することによってなど、ピクセルレベルで外挿を実行することができる。外挿に使用される近傍のBPUは、オリジナルBPUに対して、垂直方向(例えば、オリジナルBPUの上)、水平方向(例えば、オリジナルBPUの左)、対角方向(例えば、オリジナルBPUの左下、右下、左上若しくは右上)又は使用される映像符号化規格において定義される任意の方向などの様々な方向から位置付けることができる。イントラ予測の場合、予測データ206は、例えば、使用される近傍のBPUの場所(例えば、座標)、使用される近傍のBPUのサイズ、外挿のパラメータ、オリジナルBPUに対する使用される近傍のBPUの方向又は同様のものを含み得る。
【0045】
[0070] 別の例として、時間的予測段階2044では、エンコーダは、インター予測を実行することができる。現在のピクチャのオリジナルBPUの場合、予測基準224は、(順方向経路において)符号化された及び(再構築経路において)再構築された1つ又は複数のピクチャ(「参照ピクチャ」と呼ばれる)を含み得る。いくつかの実施形態では、参照ピクチャは、BPUごとに符号化され、再構築され得る。例えば、エンコーダは、再構築された残差BPU 222を予測BPU 208に加算し、再構築されたBPUを生成することができる。同じピクチャの再構築されたBPUがすべて生成されると、エンコーダは、再構築されたピクチャを参照ピクチャとして生成することができる。エンコーダは、参照ピクチャのある範囲(「探索窓」と呼ばれる)内のマッチング領域を探索するために「動き推定」の演算を実行することができる。参照ピクチャ内の探索窓の場所は、現在のピクチャ内のオリジナルBPUの場所に基づいて決定することができる。例えば、探索窓は、参照ピクチャ内で、現在のピクチャ内のオリジナルBPUの座標と同じ座標を有する場所を中心とし、既定の距離まで拡張することができる。エンコーダが探索窓内においてオリジナルBPUと同様の領域を識別すると(例えば、ピクセル再帰アルゴリズム、ブロックマッチングアルゴリズム又は同様のものを使用することによって)、エンコーダは、そのような領域をマッチング領域として決定することができる。マッチング領域は、オリジナルBPUとは異なる寸法(例えば、オリジナルBPUよりも小さい、それに等しい、それよりも大きい又は異なる形状のもの)を有し得る。参照ピクチャと現在のピクチャはタイムラインにおいて時間的に分離されているため(例えば、
図1に示されるように)、時間が経過するにつれてマッチング領域はオリジナルBPUの場所へ「移動する」と見なすことができる。エンコーダは、そのような動きの方向及び距離を「動きベクトル」として記録することができる。(例えば、
図1のピクチャ106のように)複数の参照ピクチャが使用される場合、エンコーダは、各参照ピクチャに対してマッチング領域を探索し、その関連動きベクトルを決定することができる。いくつかの実施形態では、エンコーダは、それぞれのマッチング参照ピクチャのマッチング領域のピクセル値に重みを割り当てることができる。
【0046】
[0071] 動き推定は、例えば、並進、回転、ズーミング又は同様のものなどの様々なタイプの動きを識別するために使用することができる。インター予測の場合、予測データ206は、例えば、マッチング領域の場所(例えば、座標)、マッチング領域と関連付けられた動きベクトル、参照ピクチャの数、参照ピクチャと関連付けられた重み又は同様のものを含み得る。
【0047】
[0072] 予測BPU 208を生成するため、エンコーダは、「動き補償」の演算を実行することができる。動き補償は、予測データ206(例えば、動きベクトル)及び予測基準224に基づいて予測BPU 208を再構築するために使用することができる。例えば、エンコーダは、動きベクトルに従って参照ピクチャのマッチング領域を移動させることができ、それにより、エンコーダは、現在のピクチャのオリジナルBPUを予測することができる。(例えば、
図1のピクチャ106のように)複数の参照ピクチャが使用される場合、エンコーダは、それぞれの動きベクトルに従って参照ピクチャのマッチング領域を移動させ、マッチング領域のピクセル値を平均することができる。いくつかの実施形態では、エンコーダがそれぞれのマッチング参照ピクチャのマッチング領域のピクセル値に重みを割り当てた場合は、エンコーダは、移動したマッチング領域のピクセル値の重み付け総和を加算することができる。
【0048】
[0073] いくつかの実施形態では、インター予測は、一方向性又は双方向性であり得る。一方向性インター予測では、現在のピクチャに対して同じ時間方向にある1つ又は複数の参照ピクチャを使用することができる。例えば、
図1のピクチャ104は、参照ピクチャ(すなわち、ピクチャ102)がピクチャ104に先行する、一方向性インター予測ピクチャである。双方向性インター予測では、現在のピクチャに対して両方の時間方向にある1つ又は複数の参照ピクチャを使用することができる。例えば、
図1のピクチャ106は、参照ピクチャ(すなわち、ピクチャ104及び108)がピクチャ104に対して両方の時間方向にある、双方向性インター予測ピクチャである。
【0049】
[0074] 依然としてプロセス200Bの順方向経路を参照すると、空間的予測2042及び時間的予測段階2044の後、モード決定段階230では、エンコーダは、プロセス200Bの現在の反復のための予測モード(例えば、イントラ予測又はインター予測)を選択することができる。例えば、エンコーダは、レート歪み最適化技法を実行することができ、その技法では、エンコーダは、候補予測モードのビットレート及び候補予測モード下での再構築された参照ピクチャの歪みに応じて、コスト関数の値を最小化するための予測モードを選択することができる。選択された予測モードに応じて、エンコーダは、対応する予測BPU 208及び予測データ206を生成することができる。
【0050】
[0075] 順方向経路においてイントラ予測モードが選択された場合は、プロセス200Bの再構築経路において、エンコーダは、予測基準224(例えば、現在のピクチャにおいて符号化され、再構築された現在のBPU)を生成した後、後の使用のために(例えば、現在のピクチャの次のBPUの補外のために)、予測基準224を空間的予測段階2042に直接供給することができる。エンコーダは、予測基準224をループフィルタ段階232に供給することができ、ループフィルタ段階232では、エンコーダは、ループフィルタを予測基準224に適用し、予測基準224の符号化の間に導入された歪み(例えば、ブロッキングアーチファクト)を低減又は排除することができる。エンコーダは、例えば、デブロッキング、サンプル適応オフセット、適応ループフィルタ又は同様のものなどの様々なループフィルタ技法をループフィルタ段階232で適用することができる。ループフィルタリングされた参照ピクチャは、後の使用のために(例えば、映像シーケンス202の将来のピクチャのためのインター予測基準ピクチャとして使用するために)、バッファ234(又は「復号済みのピクチャバッファ」)に格納することができる。エンコーダは、時間的予測段階2044において使用するために、1つ又は複数の参照ピクチャをバッファ234に格納することができる。いくつかの実施形態では、エンコーダは、二値符号化段階226において、量子化済みの変換係数216、予測データ206及び他の情報と共に、ループフィルタのパラメータ(例えば、ループフィルタ強度)を符号化することができる。
【0051】
[0076]
図3Aは、本開示の実施形態と一致する、例示的な復号プロセス300Aの概略図を示す。プロセス300Aは、
図2Aの圧縮プロセス200Aに対応する復元プロセスであり得る。いくつかの実施形態では、プロセス300Aは、プロセス200Aの再構築経路と同様のものであり得る。デコーダは、プロセス300Aに従って映像ビットストリーム228を映像ストリーム304に復号することができる。映像ストリーム304は、映像シーケンス202とよく似たものであり得る。しかし、圧縮及び復元プロセス(例えば、
図2A及び
図2Bにおける量子化段階214)における情報損失が原因で、一般に、映像ストリーム304は、映像シーケンス202と同一ではない。
図2A及び
図2Bにおけるプロセス200A及び200Bと同様に、デコーダは、映像ビットストリーム228内の符号化済みのピクチャの各々に対して、基本処理単位(BPU)のレベルでプロセス300Aを実行することができる。例えば、デコーダは、反復方式でプロセス300Aを実行することができ、その場合、デコーダは、プロセス300Aの1反復において基本処理単位を復号することができる。いくつかの実施形態では、デコーダは、映像ビットストリーム228内の符号化済みの各ピクチャの領域(例えば、領域114~118)に対して、プロセス300Aを並行して実行することができる。
【0052】
[0077]
図3Aでは、デコーダは、符号化済みのピクチャの基本処理単位(「符号化済みのBPU」と呼ばれる)と関連付けられた映像ビットストリーム228の一部分を二値復号段階302に供給することができる。二値復号段階302では、デコーダは、その一部分を予測データ206及び量子化済みの変換係数216に復号することができる。デコーダは、量子化済みの変換係数216を逆量子化段階218及び逆変換段階220に供給し、再構築された残差BPU 222を生成することができる。デコーダは、予測データ206を予測段階204に供給し、予測BPU 208を生成することができる。デコーダは、再構築された残差BPU 222を予測BPU 208に加算し、予測基準224を生成することができる。いくつかの実施形態では、予測基準224は、バッファ(例えば、コンピュータメモリ内の復号済みのピクチャバッファ)に格納することができる。デコーダは、プロセス300Aの次の反復において予測演算を実行するために、予測基準224を予測段階204に供給することができる。
【0053】
[0078] デコーダは、符号化済みのピクチャの符号化済みのBPUの各々を復号し、符号化済みのピクチャの次の符号化済みのBPUを符号化するための予測基準224を生成するように、プロセス300Aを反復して実行することができる。符号化済みのピクチャのすべての符号化済みのBPUを復号した後、デコーダは、表示のためにピクチャを映像ストリーム304に出力し、映像ビットストリーム228内の次の符号化済みのピクチャの復号に進むことができる。
【0054】
[0079] 二値復号段階302では、デコーダは、エンコーダによって使用された二値符号化技法(例えば、エントロピー符号化、可変長符号化、算術符号化、ハフマン符号化、コンテキスト適応型二値算術符号化又は他の任意の可逆圧縮アルゴリズム)の逆演算を実行することができる。いくつかの実施形態では、予測データ206及び量子化済みの変換係数216以外に、デコーダは、例えば、予測モード、予測演算のパラメータ、変換のタイプ、量子化プロセスのパラメータ(例えば、量子化パラメータ)、エンコーダ制御パラメータ(例えば、ビットレート制御パラメータ)又は同様のものなどの他の情報を二値復号段階302において復号することができる。いくつかの実施形態では、映像ビットストリーム228がネットワーク上でパケットの形態で伝送される場合は、デコーダは、映像ビットストリーム228を二値復号段階302に供給する前に、映像ビットストリーム228をデパケット化することができる。
【0055】
[0080]
図3Bは、本開示の実施形態と一致する、別の例示的な復号プロセス300Bの概略図を示す。プロセス300Bは、プロセス300Aを修正したものであり得る。例えば、プロセス300Bは、ハイブリッド映像符号化規格(例えば、H.26xシリーズ)に準拠したデコーダによって使用することができる。プロセス300Aと比べて、プロセス300Bは、予測段階204を空間的予測段階2042と時間的予測段階2044とに追加的に分割し、ループフィルタ段階232及びバッファ234を追加的に含む。
【0056】
[0081] プロセス300Bでは、復号中の符号化済みのピクチャ(「現在のピクチャ」と呼ばれる)の符号化済みの基本処理単位(「現在のBPU」と呼ばれる)について、デコーダによって二値復号段階302から復号された予測データ206は、エンコーダによって現在のBPUを符号化するためにどの予測モードが使用されたかに応じて、様々なタイプのデータを含み得る。例えば、エンコーダによって現在のBPUを符号化するためにイントラ予測が使用された場合は、予測データ206は、イントラ予測を示す予測モードインジケータ(例えば、フラグ値)、イントラ予測演算のパラメータ又は同様のものを含み得る。イントラ予測演算のパラメータは、例えば、参照として使用された1つ若しくは複数の近傍のBPUの場所(例えば、座標)、近傍のBPUのサイズ、外挿のパラメータ、オリジナルBPUに対する近傍のBPUの方向又は同様のものを含み得る。別の例として、エンコーダによって現在のBPUを符号化するためにインター予測が使用された場合は、予測データ206は、インター予測を示す予測モードインジケータ(例えば、フラグ値)、インター予測演算のパラメータ又は同様のものを含み得る。インター予測演算のパラメータは、例えば、現在のBPUと関連付けられた参照ピクチャの数、参照ピクチャとそれぞれ関連付けられた重み、それぞれの参照ピクチャ内の1つ若しくは複数のマッチング領域の場所(例えば、座標)、マッチング領域とそれぞれ関連付けられた1つ若しくは複数の動きベクトル又は同様のものを含み得る。
【0057】
[0082] 予測モードインジケータに基づいて、デコーダは、空間的予測段階2042において空間的予測(例えば、イントラ予測)を実行すべきか又は時間的予測段階2044において時間的予測(例えば、インター予測)を実行すべきかを決定することができる。そのような空間的予測又は時間的予測の実行に関する詳細は、
図2Bで説明しており、以下では繰り返さない。そのような空間的予測又は時間的予測を実行した後、デコーダは、予測BPU 208を生成することができる。デコーダは、
図3Aで説明されるように、予測BPU 208と再構築された残差BPU 222を加算し、予測基準224を生成することができる。
【0058】
[0083] プロセス300Bでは、デコーダは、プロセス300Bの次の反復において予測演算を実行するために、予測基準224を空間的予測段階2042又は時間的予測段階2044に供給することができる。例えば、現在のBPUが空間的予測段階2042においてイントラ予測を使用して復号される場合は、デコーダは、予測基準224(例えば、復号済みの現在のBPU)を生成した後、後の使用のために(例えば、現在のピクチャの次のBPUの外挿のために)、予測基準224を空間的予測段階2042に直接供給することができる。現在のBPUが時間的予測段階2044においてインター予測を使用して復号される場合は、デコーダは、予測基準224(例えば、すべてのBPUが復号された参照ピクチャ)を生成した後、予測基準224をループフィルタ段階232に供給し、歪み(例えば、ブロッキングアーチファクト)を低減又は排除することができる。デコーダは、
図2Bで説明される方法で、ループフィルタを予測基準224に適用することができる。ループフィルタリングされた参照ピクチャは、後の使用のために(例えば、映像ビットストリーム228の将来の符号化済みのピクチャのためのインター予測基準ピクチャとして使用するために)、バッファ234(例えば、コンピュータメモリ内の復号済みのピクチャバッファ)に格納することができる。デコーダは、時間的予測段階2044において使用するために、1つ又は複数の参照ピクチャをバッファ234に格納することができる。いくつかの実施形態では、予測データは、ループフィルタのパラメータ(例えば、ループフィルタ強度)をさらに含み得る。いくつかの実施形態では、予測データは、現在のBPUを符号化するためにインター予測が使用されたことを予測データ206の予測モードインジケータが示す場合、ループフィルタのパラメータを含む。
【0059】
[0084]
図4は、本開示の実施形態と一致する、映像を符号化又は復号するための例示的な装置400のブロック図である。
図4に示されるように、装置400は、プロセッサ402を含み得る。プロセッサ402が本明細書で説明される命令を実行する場合、装置400は、映像符号化又は復号用の特殊機械になり得る。プロセッサ402は、情報の操作又は処理が可能ないかなるタイプの回路構成でもあり得る。例えば、プロセッサ402は、中央処理ユニット(若しくは「CPU」)、グラフィックス処理ユニット(若しくは「GPU」)、ニューラル処理ユニット(「NPU」)、マイクロコントローラユニット(「MCU」)、光プロセッサ、プログラマブル論理コントローラ、マイクロコントローラ、マイクロプロセッサ、デジタル信号プロセッサ、IPコア(Intellectual Property Core)、プログラマブル論理アレイ(PLA)、プログラマブルアレイ論理(PAL)、ジェネリックアレイ論理(GAL)、複合プログラマブル論理デバイス(CPLD)、フィールドプログラマブルゲートアレイ(FPGA)、システムオンチップ(SoC)、特定用途向け集積回路(ASIC)又は同様のものの任意の数の任意の組合せを含み得る。いくつかの実施形態では、プロセッサ402は、単一の論理コンポーネントとしてグループ化されたプロセッサのセットでもあり得る。例えば、
図4に示されるように、プロセッサ402は、プロセッサ402a、プロセッサ402b及びプロセッサ402nを含む、複数のプロセッサを含み得る。
【0060】
[0085] また、装置400は、データ(例えば、命令セット、コンピュータコード、中間データ又は同様のもの)を格納するように構成されたメモリ404も含み得る。例えば、
図4に示されるように、格納データは、プログラム命令(例えば、プロセス200A、200B、300A又は300Bにおける段階を実施するためのプログラム命令)及び処理のためのデータ(例えば、映像シーケンス202、映像ビットストリーム228又は映像ストリーム304)を含み得る。プロセッサ402は、プログラム命令及び処理のためのデータにアクセスし(例えば、バス410を介して)、プログラム命令を実行し、処理のためにデータに対する演算又は操作を実行することができる。メモリ404は、高速ランダムアクセス記憶装置又は不揮発性記憶装置を含み得る。いくつかの実施形態では、メモリ404は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、光ディスク、磁気ディスク、ハードドライブ、ソリッドステートドライブ、フラッシュドライブ、セキュリティデジタル(SD)カード、メモリスティック、コンパクトフラッシュ(登録商標)(CF)カード又は同様のものの任意の数の任意の組合せを含み得る。また、メモリ404は、単一の論理コンポーネントとしてグループ化されたメモリのグループ(
図4には図示せず)でもあり得る。
【0061】
[0086] バス410は、内部バス(例えば、CPU/メモリバス)、外部バス(例えば、ユニバーサルシリアルバスポート、周辺機器相互接続エクスプレスポート)又は同様のものなど、装置400の内部のコンポーネント間でデータを転送する通信デバイスであり得る。
【0062】
[0087] 曖昧さを生じさせることなく説明を容易にするため、プロセッサ402及び他のデータ処理回路は、この開示では、まとめて「データ処理回路」と呼ばれる。データ処理回路は、完全にハードウェアとして実装することも、ソフトウェア、ハードウェア又はファームウェアの組合せとして実装することもできる。それに加えて、データ処理回路は、単一の独立したモジュールであっても、装置400の他の任意のコンポーネントに完全に又は部分的に組み合わせてもよい。
【0063】
[0088] 装置400は、ネットワーク(例えば、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク又は同様のもの)との有線又は無線通信を提供するためのネットワークインタフェース406をさらに含み得る。いくつかの実施形態では、ネットワークインタフェース406は、ネットワークインタフェースコントローラ(NIC)、無線周波数(RF)モジュール、トランスポンダ、トランシーバ、モデム、ルータ、ゲートウェイ、有線ネットワークアダプタ、無線ネットワークアダプタ、Bluetooth(登録商標)アダプタ、赤外線アダプタ、近距離無線通信(「NFC」)アダプタ、セルラネットワークチップ又は同様のものの任意の数の任意の組合せを含み得る。
【0064】
[0089] いくつかの実施形態では、任意選択により、装置400は、1つ又は複数の周辺デバイスへの接続を提供するための周辺インタフェース408をさらに含み得る。
図4に示されるように、周辺デバイスは、これらに限定されないが、カーソル制御デバイス(例えば、マウス、タッチパッド若しくはタッチスクリーン)、キーボード、ディスプレイ(例えば、ブラウン管ディスプレイ、液晶ディスプレイ若しくは発光ダイオードディスプレイ)、映像入力デバイス(例えば、カメラ、若しくは映像アーカイブに結合された入力インタフェース)又は同様のものを含み得る。
【0065】
[0090] 映像コーデック(例えば、プロセス200A、200B、300A又は300Bを実行するコーデック)は、装置400内の任意のソフトウェア又はハードウェアモジュールの任意の組合せとして実装できることに留意されたい。例えば、プロセス200A、200B、300A又は300Bのいくつか又はすべての段階は、メモリ404内にロードすることができるプログラム命令など、装置400の1つ又は複数のソフトウェアモジュールとして実装することができる。別の例として、プロセス200A、200B、300A又は300Bのいくつか又はすべての段階は、特殊データ処理回路(例えば、FPGA、ASIC、NPU又は同様のもの)など、装置400の1つ又は複数のハードウェアモジュールとして実装することができる。
【0066】
[0091] VVCでは、複数のイントラ予測モードが提供される。
図5は、本開示のいくつかの実施形態による、VVCにおける角度イントラ予測モードを示す。
図5に示されるように、自然な映像に提示される任意のエッジ方向をキャプチャするため、VVCにおける角度イントラ予測モードの数は、HEVCで使用されている33から65に拡張され、HEVCにはない方向性モードは、点線の矢印で描写されている。
【0067】
[0092] VVC規格は、(HEVCと同様に)DC及び平面(Planar)モードの2つの非角度イントラ予測モードを実装する。DCイントラ予測モードでは、予測生成のために、ブロックに対する参照サンプルの平均サンプル値が使用される。VVCでは、長方形のブロックの長辺に沿った参照サンプルのみが平均値の計算に使用されるが、正方形ブロックの場合は、左辺と上辺からの参照サンプルが使用される。平面モードでは、予測サンプル値は、4つの参照サンプル値の重み付け平均として得られる。現在のサンプルと同じ行又は列の参照サンプル、並びに現在のブロックに対して左下及び右上の位置の参照サンプル。65種類の角度モード及び2種類の非角度モードは、通常のイントラ予測モードと呼ばれ得る。
【0068】
[0093] いくつかの実施形態では、最確モード(MPM)リストが提案される。上記で論じられるように、VVCでは、67種類の角度モードが存在する。各ブロックの予測モードが別々に符号化される場合は、67種類のモードの符号化には7ビットが必要とされる。従って、VVCでは、MPMリストを構築するための方法が採用される。画像及び映像符号化では、隣接するブロックは、通常、強い相関性があり、従って、隣接するブロックのイントラ予測モードが同じであるか又は同様である確率が高い。従って、MPMリストは、左の隣接するブロック及び上の隣接するブロックのイントラ予測モードに基づいて構築される。VVCでは、そのMPMリストの長さは6である。MPMリスト生成の複雑性を低く保つため、2つの利用可能な近傍のイントラ予測モードから導出される、6つのMPMを有するイントラ予測モード符号化方法が使用される。
【0069】
[0094] プライマリMPM(PMPM)リストとも呼ばれる統合された6MPMリストは、MRL(複数参照ライン)及びISP(イントラサブパーティション)符号化ツールが適用されるか否かに関係なく、イントラブロックに使用される。MPMリストは、左及び上の近傍のブロックのイントラモードに基づいて構築される。左のブロックのイントラモードを「Left」と示し、上のブロックのイントラモードを「Above」を示すと仮定すると、統合された6MPMリストは、以下のように構築される。近傍のブロックが利用可能でない場合は、イントラ予測モードは、デフォルトで、「Planar」に設定される。LeftモードとAboveモードの両方が非角度モードである場合は、MPMリストは、{Planar,DC,V,H,V-4,V+4}に設定される。Vは、垂直モードを指し、Hは、水平モードを指す。LeftモードとAboveモードの一方が角度モードであり、他方が非角度モードである場合は、MaxモードがLeft及びAboveの大きい方のモードとして設定され、MPMリストは、{Planar,Max,Max-1,Max+1,Max-2,Max+2}に設定される。LeftモードとAboveモードの両方が角度モードであり、それらが異なる場合は、「Max」モードがLeft及びAboveの大きい方のモードとして設定され、「Min」モードがLeft及びAboveの小さい方のモードとして設定される。Max-Minが1に等しい場合は、MPMリストは、{Planar,Left,Above,Min-1,Max+1,Min-2}に設定され、Max-Minが62以上である場合は、MPMリストは、{Planar,Left,Above,Min+1,Max-1,Min+2}に設定される。Max-Minが2に等しい場合は、MPMリストは、{Planar,Left,Above,Min+1,Min-1,Max+1}に設定され、そうでなければ、MPMリストは、{Planar,Left,Above,Min-1,Min+1,Max-1}に設定される。LeftモードとAboveモードの両方が角度モードであり、それらが同じ場合は、MPMリストは、{Planar,Left,Left-1,Left+1,Left-2,Left+2}に設定される。その上、MPMインデックスコードワードの第1のビンは、CABAC(コンテキストベースの適応型二値算術符号化)コンテキスト符号化される。合計で3つのコンテキストが使用され、それらは、現在のイントラブロックがMRL有効か、ISP有効か又は通常のイントラブロックかに相当する。61種類の非MPMモードのエントロピー符号化の場合は、TBC(切り捨てバイナリコード)が使用される。
【0070】
[0095] いくつかの実施形態では、セカンダリMPM方法を使用することができる。プライマリMPM(PMPM)リストは、6つのエントリから成り、セカンダリMPM(SMPM)リストは、16のエントリを含む。22のエントリを有する一般MPMリストが最初に構築され、そのうち最初の6つのエントリがPMPMリストに含まれ、残りのエントリがSMPMリストを形成する。一般MPMリストの第1のエントリは、平面モードである。次いで、近傍のブロックのイントラ予測モードがリストに追加される。
図6は、本開示のいくつかの実施形態による、一般MPMリストの導出の際に使用される例示的な近傍のブロックを示す。
図6に示されるように、左(L)、上(A)、左下(BL)、右上(AR)及び左上(AL)の近傍のブロックのイントラ予測モードが使用される。CUブロックが垂直に方向付けられる場合は、近傍のブロックの順序は、A、L、BL、AR、ALである。そうでなければ、すなわち、CUブロックが水平に方向付けられる場合は、近傍のブロックの順序は、L、A、BL、AR、ALである。次いで、2つのデコーダ側イントラ予測モードがリストに追加される。次いで、リストの最初の2つの利用可能な角度モードからのオフセットを加えることによって導出された角度モードがリストに追加される。最後に、リストが完全ではない場合は、リストが完全になるまで(すなわち、22のエントリを有するようになるまで)、デフォルトモードが追加される。本開示のいくつかの実施形態によれば、デフォルトモードリストは、{DC,V,H,V-4,V+4,14,22,42,58,10,26,38,62,6,30,34,66,2,48,52,16}として定義される。
【0071】
[0096] デコーダの場合、PMPMフラグが最初に解析される。PMPMフラグが1に等しい場合は、PMPMリストのどのエントリを選択するかを決定するために、PMPMインデックスが解析される。そうでなければ、残りのモードに対してSMPMインデックスを解析すべきかどうかを決定するために、SMPMフラグが解析される。
【0072】
[0097] いくつかの実施形態では、位置依存イントラ予測組合せ(PDPC)が提供される。VVCでは、イントラ予測の結果は、PDPC方法によってさらに修正される。PDPCは、シグナリングなしで以下のイントラ予測モードに適用される:平面、DC、水平モード以下のイントラ角度モード、及び垂直モード以上のイントラ角度モード。現在のブロックがBDPCM(ブロックベースのデルタパルス符号変調)モードであるか又はMRLインデックスが0より大きい場合は、PDPCは適用されない。
【0073】
[0098] 予測サンプルpred(x’,y’)は、イントラ予測モード(例えば、DC、平面又は角度モード)、及び以下の方程式に基づく参照サンプルの線形結合を使用して予測され、
pred(x’,y’)=Clip(0,(1<<BitDepth)-1,(wL×R-1,y’+wT×Rx’,-1+(64-wL-wT)×pred(x’,y’)+32)>>6)
式中、Rx’,-1及びR-1,y’はそれぞれ、現在のサンプル(x’,y’)の上の境界及び左の境界に位置する参照サンプルを表す。PDPC重み及びスケールファクタは、予測モード及びブロックサイズに依存する。
【0074】
[0099] さらに、デコーダ側イントラ予測モード導出(DIMD)方法が提供される。DIMD方法では、ビットストリームを介してルマイントラ予測モードが伝送されることはない。代わりに、2つの最良モードを導出するために、テクスチャ勾配処理が実行される。エンコーダ側とデコーダ側において同一の方式が使用される。導出された2つのモード及び平面モードの予測因子が通常通りに演算され、3つの予測因子の重み付け平均が現在のブロックの最終予測因子として使用される。
【0075】
[0100] 代替のイントラ予測モードとしてDIMDモードが使用され、各ブロックに対して、DIMDモードを使用すべきか否かを示すためのフラグがシグナリングされる。フラグが真である(例えば、フラグが1に等しい)場合は、現在のブロックに対してDIMDモードが使用され、BDPCMフラグ、MIP(行列重み付けイントラ予測)フラグ、ISPフラグ及びMRLインデックスは0であると推論される。この事例では、イントラ予測モード解析全体もスキップされる。フラグが偽である(例えば、フラグが0に等しい)場合は、現在のブロックに対してDIMDモードは使用されず、他のイントラ予測モードの解析が通常通りに継続される。
【0076】
[0101] 2つのイントラ予測モードを導出し、各モードの重みを決定するために、テクスチャ勾配処理を実行することによってヒストグラムが作成される。
【0077】
[0102]
図7は、本開示のいくつかの実施形態による、DIMDにおいて勾配を計算するために使用される例示的なサンプルを示す。
図7に示されるように、ブロックのDIMDヒストグラムを作成するために、ブロックを取り囲む第2の近傍ラインのL字型テンプレートのサンプル710において勾配分析が実行される。テンプレートの利用可能な再構築されたサンプルの各々に対し、以下のような水平及び垂直ソーベルフィルタを適用することによって、水平勾配Gx及び垂直勾配Gyが実施される。
【数1】
水平及び垂直ソーベルフィルタは、
図7に示されるようなフィルタウィンドウ720を有する。
【0078】
[0103] 水平勾配Gx及び垂直勾配Gyが計算されたテンプレートの各サンプルに対し、以下のように、Gx及びGyを使用して勾配の強度(G)及び向き(O)がさらに計算される。
【数2】
【0079】
[0104] 勾配Oの向きは、最も近いイントラ角度予測モードに変換され、最初にゼロに初期化されるヒストグラムにインデックスを付けるために使用される。そのイントラ角度予測モードでのヒストグラム値は、Gだけ増加する。テンプレートのすべてのサンプルが処理された後、ヒストグラムは、各イントラ角度予測モードに対する勾配強度の累積値を含み得る。次の予測融合プロセスのために、最大振幅値及び2番目に大きな振幅値を有する2つのモードが選択され、それぞれM1及びM2とマーク付けされる。ヒストグラムの最大振幅値が0である場合は、現在のブロックに対するイントラ予測モードとして平面モードが選択される。
【0080】
[0105] DIMDでは、2つの最大のヒストグラム振幅値M1及びM2に対応する2つのイントラ予測角度モードは、平面モードと組み合わされ、現在のブロックの最終予測値が生成される。
【0081】
[0106] 予測ブレンドは、上記の3つの予測因子の重み付け平均として適用される。平面モードの重みは、21/64(ほぼ1/3に等しい)に固定される。43/64(ほぼ2/3に等しい)の残りの重みは、M
1及びM
2の振幅値に比例して、M
1とM
2との間で共有される。
図8は、本開示のいくつかの実施形態による、DIMDの予測ブレンドプロセスを示す。
図8に示されるように、ampl(M
1)及びampl(M
2)はそれぞれ、M
1及びM
2の振幅値を表す。
【0082】
[0107] DIMDモードは、ルマブロックに対してのみ使用される。現在のルマブロックがDIMDモードを選択した場合は、現在のブロックのイントラ予測モードは、現在のブロックの低周波数非分離変換(LFNST)セットの選択のため、近傍のルマブロックの最確モード(MPM)リストの導出のため及び同じ場所に位置するクロマブロックの直接モード(DM)の導出のため、M1として格納される。
【0083】
[0108] さらに、いくつかの実施形態では、別のデコーダ側イントラ予測モード導出方法(MPMを使用したテンプレートベースのイントラモード導出(TIMD)など)を使用することができる。CUのイントラ予測モードは、シグナリングされる代わりに、エンコーダ側とデコーダ側の両方においてテンプレートベースの方法を用いて導出される。候補は、MPMリストから構築され、候補モードは、VVCと同様に67種類のイントラ予測モードであるか又は131種類のイントラ予測モードに拡張される。
図9は、本開示のいくつかの実施形態による、TIMDにおいて使用される例示的なテンプレート及び参照サンプルを示す。
図9に示されるように、テンプレート910の予測サンプルは、各候補モードに対するテンプレートの参照サンプル920を使用して生成される。値は、テンプレートの予測サンプルと再構築サンプルとの間の変換差分絶対値和(SATD)として計算される。SATDの最小値を有するイントラ予測モードがTIMDモードとして選択され、現在のCUのイントラ予測のために使用される。
【0084】
[0109] TIMDモードは、CUの追加のイントラ予測方法として使用される。TIMDを有効化/無効化するためのフラグがシーケンスパラメータセット(SPS)でシグナリングされる。フラグが真である(例えば、フラグが1に等しい)場合は、TIMDが使用されるかどうかを示すためのCUレベルのフラグがシグナリングされる。TIMDフラグは、MIPフラグの後にシグナリングされる。TIMDフラグが真である(例えば、TIMDフラグが1に等しい)場合は、ルマイントラ予測モードに対するMRL、ISP及び通常の解析段階を含む、ルマイントラ予測モードに関連する残りの構文要素がすべてスキップされる。
【0085】
[0110] TIMDでは、イントラ予測モードの数が131に拡張されるため、現在のブロックに対するイントラ予測モードを格納する場合、表を使用して、VVCにおける131種類のモードがオリジナルの67種類のイントラ予測モードにマッピングされる。
【0086】
[0111] インター予測とイントラ予測の組合せ(CIIP)が提供される。VVCでは、CUがマージモードで符号化されるとき、CUが少なくとも64のルマサンプルを含む(すなわち、CU幅とCU高さとの積が64以上である)場合、及びCU幅とCU高さが両方とも128未満のルマサンプルである場合は、CIIPモードが現在のCUに適用されるかどうかを示すための追加のフラグがシグナリングされる。CIIP予測は、インター予測因子をイントラ予測因子と組み合わせる。CIIPモードのインター予測因子P
interは、通常のマージモードに適用されるものと同じインター予測プロセスを使用して導出され、イントラ予測因子P
intraは、平面モードでの通常のイントラ予測プロセスに従って導出される。
図10は、本開示のいくつかの実施形態による、CIIP重み導出の際に使用される、上側の近傍のブロック及び左側の近傍のブロックを示す。イントラ予測因子とインター予測因子は、重み付け平均を使用して組み合わされ、その場合、重み値は、(
図10に示されるような)上側及び左側の近傍のブロックの符号化モードに応じて計算される。
【0087】
[0112] イントラ予測因子及びインター予測因子に対する重み(wIntra,wInter)は、以下のように適応的に設定される。上側の近傍のブロックと左側の近傍のブロックが両方ともイントラ符号化される場合は、(wIntra,wInter)は、(3,1)に等しく設定される。これらのブロックの一方がイントラ符号化される場合は、重みは同一である、すなわち、(2,2)に等しく設定される。上側の近傍のブロックも左側の近傍のブロックもイントラ符号化されない場合は、重みは、(1,3)に等しく設定される。CIIP予測因子は、以下に基づいて形成される。
PCIIP=(wInter*Pinter+wIntra*Pintra+2)>>2
【0088】
[0113] クロマ成分に対しては、追加のシグナリングなしでDMモードが適用される。
【0089】
[0114] いくつかの実施形態では、イントラ及びインターモードに対する多仮説予測(multi-hypothesis prediction)を使用することができる。マージCUでは、フラグが真である際に、イントラ候補リストからイントラ予測モードを選択するために、マージモードに対して1つのフラグがシグナリングされる。ルマ成分に対しては、DC、平面、水平及び垂直モードを含む4つのイントラ予測モードからイントラ候補リストが導出される。イントラ予測モードインデックスによって選択された1つのイントラ予測モードと、マージインデックスによって選択された1つのインター予測モードとが重み付け平均を使用して組み合わされる。予測を組み合わせるための重みは、以下の通りに説明される。DC若しくは平面モードが選択されるか又はCU幅若しくは高さが4未満である場合は、等しい重みが適用される。CU幅及び高さが4以上であるCUについては、水平/垂直モードが選択される場合、1つのCUが最初に垂直に又は水平に4つの等しいサイズの領域に分割される。各重みセットは、(wIntrai,wInteri)として示され(iは、1~4であり、(wIntra1,wInter1)=(6,2)、(wIntra2,wInter2)=(5,3)、(wIntra3,wInter3)=(3,5)及び(wIntra4,wInter4)=(2,6)である)、対応する領域に適用される。(wIntra1,wInter1)は、参照サンプルに最も近い領域に対するものであり、(wIntra4,wInter4)は、参照サンプルから最も遠い領域に対するものである。組み合わせた予測因子は、2つの重み付け予測因子の和を求め、ビット数だけ右シフトすることによって計算することができ、ビット数は、2つの重みの和の対数によって得られる。この例では、組み合わせた予測因子は、2つの重み付け予測因子の和を求め、3ビット右シフトすることによって得られる。いくつかの実施形態では、2つの重みの和が1に等しい場合は、1の対数は0であるため、組み合わせた予測因子は、2つの重み付け予測因子の和を直接求めることによって得ることができ得る。右シフトは不要である。例えば、各重みセットは、(wIntra1,wInter1)=(6/8、2/8)、(wIntra2,wInter2)=(5/8,3/8)、(wIntra3,wInter3)=(3/8,5/8)及び(wIntra4,wInter4)=(2/8,6/8)であり得、対応する領域に適用される。(wIntra1,wInter1)は、参照サンプルに最も近い領域に対するものであり、(wIntra4,wInter4)は、参照サンプルから最も遠い領域に対するものである。
【0090】
[0115] いくつかの実施形態では、CIIP_PDPCモードを使用することができる。CIIP_PDPCでは、通常のマージモードの予測は、上側(Rx,-1)及び左側(-1,Ry)の再構築されたサンプルを使用して改良される。この改良は、位置依存予測組合せ(PDPC)スキームを継承する。
図11は、本開示のいくつかの実施形態による、CIIP_PDPCの例示的なフローチャートを示す。
図11を参照すると、WT及びWLは、PDPCで定義されるような、ブロックにおけるサンプル位置に依存する重み付け値である。
【0091】
[0116] CIIP_PDPCモードは、CIIPモードと共にシグナリングされる。CIIPフラグが真である場合は、CIIP_PDPCを使用すべきか否かを示すための別のフラグ(すなわち、CIIP_PDPCフラグ)がさらにシグナリングされる。
【0092】
[0117] いくつかの実施形態では、H.263において、オーバーラップブロック動き補償(OBMC)が提案される。強化圧縮モデル(ECM)においてOBMCが使用される場合、OBMCは、CUの右側及び下側の境界を除いて、すべての動き補償(MC)ブロック境界に対して実行される。その上、OBMCは、ルマ成分とクロマ成分の両方に対して適用される。ECMでは、MCブロックは、符号化ブロックに対応する。CUがサブCUモード(SbTMVP(サブブロックベースの時間的動きベクトル予測)又はアフィンモードなど)で符号化される場合、CUの各サブブロックは、MCブロックである。Cu境界を均一に処理するため、OBMCは、すべてのMCブロック境界に対してサブブロックレベルで実行され、サブブロックサイズは、4×4に等しく設定される。OBMCが現在のサブブロックに適用される場合、現在のサブブロックに対する予測ブロックを導出するために、現在の動きベクトル以外に、4つの接続された近傍のサブブロックの動きベクトル(利用可能であり、現在の動きベクトルと同一でない場合)も使用される。複数の動きベクトルに基づくこれらの複数の予測ブロックは、現在のサブブロックの最終予測信号を生成するために組み合わされる。
【0093】
[0118] 近傍のサブブロックの動きベクトルに基づく予測ブロックはP
Nとして示され、Nは、上側、下側、左側及び右側の近傍のサブブロックに対するインデックスを示す。現在のサブブロックの動きベクトルに基づく予測ブロックはP
Cとして示される。P
Nが、現在のサブブロックと同じ動き情報を含む近傍のサブブロックの動き情報に基づく場合は、P
NからOBMCが実行されることはない。そうでなければ、P
NのあらゆるサンプルがP
Cの同じサンプルに加えられる。P
NがP
Cに加えられる前に、P
Nに重み付け係数を適用できることに留意されたい。
図12A及び12Bは、本開示のいくつかの実施形態による、OBMCを適用した例示的なサブブロックを示す。例えば、
図12Aは、現在のCUに対するCU/PU境界にあるサブブロックに対して、OBMCで使用される動きベクトルを示す。
図12Aに示されるように、上側境界P
N1にあるサブブロックの場合、上側の近傍のサブブロック1201の動きベクトルがP
N1のOBMCで使用され、左側境界P
N2にあるサブブロックの場合、左側の近傍のサブブロック1202の動きベクトルがP
N2のOBMCで使用され、左上隅P
N3にあるサブブロックの場合、左側の近傍のサブブロック1203と上側の近傍のサブブロック1204の動きベクトルがP
N3のOBMCで使用される。
図12Bは、現在のCUに対するATMVP(代替の時間的動きベクトル予測)におけるサブブロックに対して、OBMCで使用される動きベクトルを示す。ATMVPでは、各サブブロックはMCブロックである。
図12Bに示されるように、サブブロックP
Nの場合、4つの近傍のサブブロック1205、1206、1207、1208の動きベクトルがP
NのOBMCで使用される。
【0094】
[0119] VVCでは、ルママッピング及びクロマスケーリング(LMCS)と呼ばれる符号化ツールがループフィルタの前の新しい処理ブロックとして加えられる。LMCSは、2つの主なコンポーネントを有し、1)ルマ成分に対する、適応区分線形モデルに基づくルマ成分のインループマッピング、2)クロマ成分に対する、ルマ依存クロマ残差スケーリングが適用される。
図13は、本開示のいくつかの実施形態による、デコーダの視点からの、ルマ成分及びクロマ成分を含む例示的なLMCSアーキテクチャを示す。
図13を参照すると、処理ブロック1302、1304、1306は、マッピングドメインにおいて処理が適用される場所を示し、逆量子化及び逆変換1302、ルマイントラ予測1304、並びにルマ予測とルマ残差の加算によるルマ成分の再構築1306を含む。処理ブロック1310~1318は、オリジナル(すなわち、非マッピング)ドメインにおいて処理が適用される場所を示し、ループフィルタ1310(例えば、デブロッキング、ALF及びSAO)、動き補償予測1312、クロマイントラ予測1314、クロマ予測とクロマ残差の加算によるクロマ成分の再構築1316、並びに復号済みのピクチャバッファ(DPB)への参照ピクチャとしての復号済みのピクチャの格納1318を含む。処理ブロック1322、1324、1326は、新しいLMCS関数ブロックであり、ルマ信号の順方向マッピング1322、ルマ信号の逆方向マッピング1324及びルマ依存クロマスケーリングプロセス1326を含む。VVCの他のほとんどのツールと同様に、LMCSは、SPSフラグを使用してシーケンスレベルで有効化/無効化することができる。
【0095】
[0120] 現在の設計では、CIIPモードは、マージモードにのみ適用される。すなわち、CIIPモードのインター予測は、マージモードからのみ導出することができる。しかし、マージモードの予測は、その動きがその近傍のブロックとは異なるブロックに対して特に、正確ではない可能性がある。この事例では、CIIPモードの性能が低下し得る。
【0096】
[0121] CIIPモードの予測精度を改善するため、本開示は、CIIPモードを通常のインターモードに適用するための方法を提案する。
【0097】
[0122]
図14は、本開示のいくつかの実施形態による、CIIPにおいてイントラ予測因子を生成するための方法1400の例示的なフローチャートを示す。方法1400は、エンコーダ(例えば、
図2Aのプロセス200A又は
図2Bの200Bによって)、デコーダ(例えば、
図3Aのプロセス300A又は
図3Bの300Bによって)などのシステムによって実行することも、装置(例えば、
図4の装置400)の1つ又は複数のソフトウェア又はハードウェアコンポーネントによって実行することもできる。例えば、1つ又は複数のプロセッサ(例えば、
図4のプロセッサ402)が、方法1400を実行することができる。いくつかの実施形態では、方法1400は、コンピュータ(例えば、
図4の装置400)によって実行されるコンピュータ実行可能命令(プログラムコードなど)を含む、コンピュータ可読媒体において具体化されるコンピュータプログラム製品によって実施することができる。
図14を参照すると、方法1400は、以下のステップ1402~1408を含み得る。
【0098】
[0123] ステップ1402では、システムは、ターゲットブロックに対してCIIPモードを有効化するかどうかを決定することができる。いくつかの実施形態では、ビットストリームにおいて、ターゲットブロックに対して使用されているモードを示すためのフラグがシグナリングされる。例えば、ブロックが通常のインターモードで符号化されており、マージモードでは符号化されていないと決定されると、ブロックがCIIPモードで符号化されているかどうかを示すための第1のフラグがシグナリングされる。通常のインターモード及びCIIPモードで符号化され、マージモードでは符号化されないブロックは、CIIP_INTERモードと呼ばれる。CIIP_INTERモードがブロックに適用されると、局所照明補償モード、CUレベルの重みを用いた双予測モード、アフィンモード、対称動きベクトル差分モード、適応動きベクトル解像度モード又は多仮説インター予測モードなどの他のいくつかのインター予測モードは無効化され得る。
【0099】
[0124] いくつかの実施形態では、第1のフラグは、通常のインターモード構文構造全体の末尾で復号される。この例では、第1のフラグは、局所照明補償モード、CUレベルの重みを用いた双予測モード、アフィンモード又は多仮説インター予測モードが無効化された場合にのみシグナリングされる。
【0100】
[0125] いくつかの実施形態では、第1のフラグは、通常のインターモード構文構造全体の先頭で復号される。CIIP_INTERモードが適用されていることを第1のフラグが示す(例えば、第1のフラグが真である)場合は、局所照明補償モード、CUレベルの重みを用いた双予測モード、アフィンモード又は多仮説インター予測モードは無効化され、これらのモードの関連構文はシグナリングされない。
【0101】
[0126] ステップ1404では、動きベクトル予測因子及びシグナリングされた動きベクトル差分を使用して得られた動きベクトルを用いて、CIIPモードのインター予測因子(インター予測信号とも呼ばれる)が生成される。従って、その近傍のブロックとは異なる動きを有するブロックに対するCIIPのインター予測は、より正確なものであり得る。
【0102】
[0127] いくつかの実施形態では、CIIPモードは、動きベクトル差分を用いたマージモード(MMVDと呼ばれる)と組み合わされる。CIIPモードのインター予測は、MMVDモードで予測される(CIIP_MMVDと呼ばれる)。いくつかの実施形態では、MMVDモードで符号化されるブロックの場合、ステップ1402において、ブロックがCIIP_MMVDモードで符号化されているかどうかを示す第2のフラグが復号される。いくつかの実施形態では、CIIPモードで符号化されるブロックの場合、ステップ1404において、インター予測がCIIP_MMVDモードを使用して予測されているかどうかを示す第3のフラグが復号される。
【0103】
[0128] ステップ1406では、CIIPのイントラ予測因子(イントラ予測信号とも呼ばれる)が生成される。いくつかの実施形態では、CIIPモードのイントラ予測は、平面モードの代わりに、TIMD又はDIMD方法を使用して導出される。いくつかの実施形態では、CIIP_INTER又はCIIP_MMVDモードが有効化されると、TIMD又はDIMDモードを使用してイントラ予測が導出される。すなわち、TIMD又はDIMD方法は、イントラ予測モードを導出するために使用される。その上、イントラ予測モードは、CIIPモードで符号化される近傍のブロックに伝播される。
【0104】
[0129] ステップ1408では、インター予測因子及びイントラ予測因子を重み付けすることによって、ターゲットブロックの最終予測因子(最終予測信号とも呼ばれる)が得られる。
【0105】
[0130] 従って、CIIPモードは、様々なモードと共に適用することができる。その動きがその近傍のブロックとは異なるブロックに対するCIIPのインター予測は、より正確なものであり得、CIIPの性能が向上する。
【0106】
[0131] いくつかの実施形態では、CIIP及びLMCSモードでブロックが符号化される場合は、OBMCモードが常に適用される。
図15Aは、本開示のいくつかの実施形態による、マッピングドメインにおいて最終予測信号を得るための例示的な方法1500のフローチャートを示す。方法1500は、エンコーダ(例えば、
図2Aのプロセス200A又は
図2Bの200Bによって)、デコーダ(例えば、
図3Aのプロセス300A又は
図3Bの300Bによって)によって実行することも、装置(例えば、
図4の装置400)の1つ又は複数のソフトウェア又はハードウェアコンポーネントによって実行することもできる。例えば、プロセッサ(例えば、
図4のプロセッサ402)が、方法1500を実行することができる。いくつかの実施形態では、方法1500は、コンピュータ(例えば、
図4の装置400)によって実行されるコンピュータ実行可能命令(プログラムコードなど)を含む、コンピュータ可読媒体において具体化されるコンピュータプログラム製品によって実施することができる。
図15Aを参照すると、方法1500は、以下のステップ1502~1510を含み得る。
【0107】
[0132] ステップ1502では、インター予測信号及びイントラ予測信号が得られる。インター予測信号は、通常のマージモードに適用されるものと同じインター予測プロセスを使用して得られる。
図14を参照すると、インター予測信号及びイントラ予測信号は、ステップ1402~1406におけるインター予測因子及びイントラ予測を得るステップのと同じステップによって得ることができる。
図13と同様に、インター予測信号は、オリジナルドメインにおいて得られ(例えば、ブロック1312)、イントラ予測信号は、マッピングドメインにおいて得られる(例えば、ブロック1304)。
【0108】
[0133] ステップ1504では、インター予測信号がオリジナルドメインからマッピングドメインに変換される。従って、インター予測信号とイントラ予測信号は両方とも、同じドメイン(すなわち、マッピングドメイン)にある。
【0109】
[0134] ステップ1506では、マッピングドメインにおいてイントラ予測信号とインター予測信号とを重み付けすることによって、重み付け予測信号が得られる。
【0110】
[0135] ステップ1508では、OBMC予測信号が得られる。OBMC予測信号は、近傍のブロックからの動きを使用して得られ、OBMC予測信号は、オリジナルドメインにある。
【0111】
[0136] ステップ1510では、重み付け予測信号とOBMC予測信号とを重み付けすることによって、最終予測信号が得られる。
【0112】
[0137] 方法1500は、
図15Bの表1にも示され得る。
図15A及び15Bに示されるように、方法1500では、ステップ1506において、重み付け予測信号がマッピングドメインにおいて得られる一方で、OBMCはオリジナルドメインにおいて得られる。OBMC予測信号は、重み付けの前にマッピングドメインに変換されることはない。従って、最終予測信号は、2つの信号を異なるドメインにおいて重み付けすることによって得られる。
【0113】
[0138] CIIP、OBMC及びLMCSモードで符号化されたブロックの重み付けプロセスを改善するため、本開示は、重み付けプロセスを改善するための方法を提案する。例えば、重み付けプロセスで使用される予測信号は、同じドメインに変換され、例えば、予測信号は両方ともマッピングドメインにあるか、又は予測信号は両方ともオリジナルドメインにある。
【0114】
[0139] いくつかの実施形態では、インター予測信号、イントラ予測信号及びOBMC予測信号のうちの2つの予測信号を重み付けして、中間予測信号を得ることができる。次いで、第3の予測信号を用いて中間予測信号をさらに重み付けして、最終予測信号を得ることができる。最終予測信号は、マッピングドメインにある。
【0115】
[0140] 例えば、第1の重み付け処理において、最初に、インター予測信号とイントラ予測信号とを重み付けして、中間予測信号(例えば、重み付け予測信号)を得ることができる。次いで、第2の重み付け処理において、中間予測信号(例えば、重み付け予測信号)とOBMC予測信号とを重み付けして、最終予測信号を得ることができる。別の例では、第1の重み付け処理において、最初に、インター予測信号とOBMC予測信号とを重み付けして、中間予測信号(例えば、改良された予測信号)を得ることができる。次いで、第2の重み付け処理において、中間予測信号(例えば、改良された予測信号)とイントラ予測信号とを重み付けして、最終予測信号を得ることができる。別の例では、第1の重み付け処理において、最初に、イントラ予測信号とOBMC予測信号とを重み付けして、中間予測信号(例えば、改良された予測信号)を得ることができる。次いで、第2の重み付け処理において、中間予測信号(例えば、改良された予測信号)とインター予測信号とを重み付けして、最終予測信号を得ることができる。予測信号は、第1の重み付けプロセス及び第2の重み付けプロセスにおいて重み付けされた2つの予測信号が同じドメインになるように、オリジナルドメインとマッピングドメインとの間で変換することができる。
【0116】
[0141] 以下では、さらなる詳細についてさらに説明する。
【0117】
[0142] いくつかの実施形態では、OBMC予測信号は、重み付けの前にマッピングドメインに変換される。
図16Aは、本開示のいくつかの実施形態による、マッピングドメインにおいて最終予測信号を得るための別の例示的な方法1600のフローチャートを示す。方法1600は、エンコーダ(例えば、
図2Aのプロセス200A又は
図2Bの200Bによって)、デコーダ(例えば、
図3Aのプロセス300A又は
図3Bの300Bによって)によって実行することも、装置(例えば、
図4の装置400)の1つ又は複数のソフトウェア又はハードウェアコンポーネントによって実行することもできる。例えば、プロセッサ(例えば、
図4のプロセッサ402)が、方法1600を実行することができる。いくつかの実施形態では、方法1600は、コンピュータ(例えば、
図4の装置400)によって実行されるコンピュータ実行可能命令(プログラムコードなど)を含む、コンピュータ可読媒体において具体化されるコンピュータプログラム製品によって実施することができる。
図16Aを参照すると、方法1600は、以下のステップ1602~1610を含み得る。
【0118】
[0143] ステップ1602では、インター予測信号及びイントラ予測信号が得られる。インター予測信号は、通常のマージモードに適用されるものと同じインター予測プロセスを使用して得られる。例えば、
図14を参照すると、インター予測信号及びイントラ予測信号は、ステップ1402~1406におけるインター予測因子及びイントラ予測を得るのと同じステップによって得ることができる。インター予測信号は、オリジナルドメインにおいて得られ、イントラ予測信号は、マッピングドメインにおいて得られる。
【0119】
[0144] ステップ1604では、インター予測信号は、オリジナルドメインについてマッピングドメインになるように変換される。従って、インター予測信号とイントラ予測信号とは両方とも、同じドメイン(すなわち、マッピングドメイン)にある。
【0120】
[0145] ステップ1606では、マッピングドメインにおいてイントラ予測信号とインター予測信号とを重み付けすることによって、重み付け予測信号が得られる。
【0121】
[0146] ステップ1608では、OBMC予測信号が得られ、マッピングドメインに変換される。OBMC予測信号は、オリジナルドメインにおける近傍のブロックからの動きを使用して得られる。変換後、OBMC予測信号もまた、マッピングドメインにある。
【0122】
[0147] ステップ1610では、マッピングドメインにおいて重み付け予測信号とOBMC予測信号とを重み付けすることによって、最終予測信号が得られる。方法1600を用いることで、重み付けプロセスにおいて使用される重み付け予測信号及びOBMC予測信号は両方とも、マッピングドメインにある。重み付け予測信号とOBMC予測信号とが同じドメインにあるため、重み付けプロセスは、より効率的且つ正確なものであり得る。
【0123】
[0148] 方法1600は、
図16Bの表2にも示され得、
図15Bに示される表1との違いは、斜体、太字及び/又は取り消し線で示されている。
【0124】
[0149] いくつかの実施形態では、マッピングドメインにおいて重み付けを実行する代わりに、オリジナルドメインにおいて重み付けを実行することが提案される。
図17Aは、本開示のいくつかの実施形態による、マッピングドメインにおいて最終予測信号を得るための別の例示的な方法1700のフローチャートを示す。方法1700は、エンコーダ(例えば、
図2Aのプロセス200A又は
図2Bの200Bによって)、デコーダ(例えば、
図3Aのプロセス300A又は
図3Bの300Bによって)によって実行することも、装置(例えば、
図4の装置400)の1つ又は複数のソフトウェア又はハードウェアコンポーネントによって実行することもできる。例えば、プロセッサ(例えば、
図4のプロセッサ402)が、方法1700を実行することができる。いくつかの実施形態では、方法1700は、コンピュータ(例えば、
図4の装置400)によって実行されるコンピュータ実行可能命令(プログラムコードなど)を含む、コンピュータ可読媒体において具体化されるコンピュータプログラム製品によって実施することができる。
図17Aを参照すると、方法1700は、以下のステップ1702~1710を含み得る。
【0125】
[0150] ステップ1702では、インター予測信号及びイントラ予測信号が得られる。インター予測信号は、通常のマージモードに適用されるものと同じインター予測プロセスを使用して得られる。例えば、
図14を参照すると、インター予測信号及びイントラ予測信号は、ステップ1402~1406におけるインター予測因子及びイントラ予測を得るのと同じステップによって得ることができる。インター予測信号は、オリジナルドメインにおいて得られ、イントラ予測信号は、マッピングドメインにおいて得られる。
【0126】
[0151] ステップ1704では、イントラ予測信号がマッピングドメインからオリジナルドメインに変換される。従って、イントラ予測信号は、オリジナルドメインにある。インター予測信号とイントラ予測信号とは両方とも、同じドメイン(すなわち、この例では、オリジナルドメイン)にある。
【0127】
[0152] ステップ1706では、オリジナルドメインにおいてイントラ予測信号とインター予測信号とを重み付けすることによって、重み付け予測信号が得られる。インター予測信号とイントラ予測信号とは両方ともオリジナルドメインにあるため、重み付け予測信号もまたオリジナルドメインにおいて得られる。
【0128】
[0153] ステップ1708では、OBMC予測信号が得られる。OBMC予測信号は、近傍のブロックからの動きを使用して得られ、OBMC予測信号は、オリジナルドメインにある。
【0129】
[0154] ステップ1710では、オリジナルドメインにおいて重み付け予測信号とOBMC予測信号とを重み付けすることによって最終予測信号が得られ、マッピングドメインに変換される。
【0130】
[0155] 方法1700では、インター予測信号とイントラ予測信号とが両方とも同じドメインにあることを確実にするために、インター予測信号をオリジナルドメインからマッピングドメインに変換する代わりに、イントラ予測信号が、マッピングドメインからオリジナルドメインに変換される。従って、重み付け予測信号は、OBMCの予測信号と同じように、オリジナルドメインにおいて得られる。重み付け予測信号とOBMC予測信号とは同じドメインにあるため、重み付けプロセスは、より効率的且つ正確なものであり得る。最終予測信号は、オリジナルドメインで得られた後に、マッピングドメインに変換される。
【0131】
[0156] 方法1700は、
図17Bの表3にも示され得、
図15Bに示される表1との違いは、斜体、太字及び/又は取り消し線)で示されている。
【0132】
[0157] いくつかの実施形態では、重み付けの前に重み付け予測信号をマッピングドメインからオリジナルドメインに変換するための方法が提案される。
図18Aは、本開示のいくつかの実施形態による、マッピングドメインにおいて最終予測信号を得るための別の例示的な方法1800のフローチャートを示す。方法1800は、エンコーダ(例えば、
図2Aのプロセス200A又は
図2Bの200Bによって)、デコーダ(例えば、
図3Aのプロセス300A又は
図3Bの300Bによって)によって実行することも、装置(例えば、
図4の装置400)の1つ又は複数のソフトウェア又はハードウェアコンポーネントによって実行することもできる。例えば、プロセッサ(例えば、
図4のプロセッサ402)が、方法1800を実行することができる。いくつかの実施形態では、方法1800は、コンピュータ(例えば、
図4の装置400)によって実行されるコンピュータ実行可能命令(プログラムコードなど)を含む、コンピュータ可読媒体において具体化されるコンピュータプログラム製品によって実施することができる。
図18Aを参照すると、方法1800は、以下のステップ1802~1810を含み得る。
【0133】
[0158] ステップ1802では、インター予測信号及びイントラ予測信号が得られる。インター予測信号は、通常のマージモードに適用されるものと同じインター予測プロセスを使用して得られる。例えば、
図14を参照すると、インター予測信号及びイントラ予測信号は、ステップ1402~1406におけるインター予測因子及びイントラ予測を得るのと同じステップによって得ることができる。インター予測信号は、オリジナルドメインにおいて得られ、イントラ予測信号は、マッピングドメインにおいて得られる。
【0134】
[0159] ステップ1804では、インター予測信号がオリジナルドメインからマッピングドメインに変換される。従って、インター予測信号とイントラ予測信号とは両方とも、同じドメイン(すなわち、マッピングドメイン)にある。
【0135】
[0160] ステップ1806では、マッピングドメインにおいてイントラ予測信号とインター予測信号とを重み付けすることによって重み付け予測信号が得られ、オリジナルドメインに変換される。
【0136】
[0161] ステップ1808では、OBMC予測信号が得られる。OBMC予測信号は、近傍のブロックからの動きを使用して得られ、OBMC予測信号は、オリジナルドメインにある。従って、重み付け予測信号とOBMC予測信号とは両方とも、同じドメイン(すなわち、オリジナルドメイン)にある。
【0137】
[0162] ステップ1810では、オリジナルドメインにおいて重み付け予測信号とOBMC予測信号とを重み付けすることによって最終予測信号が得られ、マッピングドメインに変換される。方法1800を用いることで、重み付けプロセスにおいて使用される重み付け予測信号とOBMC予測信号とは両方とも、オリジナルドメインにある。最終予測信号がオリジナルドメインにおいて得られた後、最終予測信号は、マッピングドメインに変換される。重み付け予測信号とOBMC予測信号とが同じドメインにあるため、重み付けプロセスは、より効率的且つ正確なものであり得る。
【0138】
[0163] 方法1800は、
図18Bの表4にも示され得、
図15Bに示される表1との違いは、斜体、太字及び/又は取り消し線で示されている。
【0139】
[0164] いくつかの実施形態では、イントラ予測信号の前に、インター予測信号をOBMC予測信号と共に重み付けするための方法が提案される。
図19Aは、本開示のいくつかの実施形態による、マッピングドメインにおいて最終予測信号を得るための別の例示的な方法1900のフローチャートを示す。方法1900は、エンコーダ(例えば、
図2Aのプロセス200A又は
図2Bの200Bによって)、デコーダ(例えば、
図3Aのプロセス300A又は
図3Bの300Bによって)によって実行することも、装置(例えば、
図4の装置400)の1つ又は複数のソフトウェア又はハードウェアコンポーネントによって実行することもできる。例えば、プロセッサ(例えば、
図4のプロセッサ402)が、方法1900を実行することができる。いくつかの実施形態では、方法1900は、コンピュータ(例えば、
図4の装置400)によって実行されるコンピュータ実行可能命令(プログラムコードなど)を含む、コンピュータ可読媒体において具体化されるコンピュータプログラム製品によって実施することができる。
図19Aを参照すると、方法1900は、以下のステップ1902~1908を含み得る。
【0140】
[0165] ステップ1902では、インター予測信号及びイントラ予測信号が得られる。インター予測信号は、通常のマージモードに適用されるものと同じインター予測プロセスを使用して得られる。例えば、
図14を参照すると、インター予測信号及びイントラ予測信号は、ステップ1402~1406におけるインター予測因子及びイントラ予測を得るのと同じステップによって得ることができる。インター予測信号は、オリジナルドメインにおいて得られ、イントラ予測信号は、マッピングドメインにおいて得られる。
【0141】
[0166] ステップ1904では、OBMC予測信号が得られる。OBMC予測信号は、近傍のブロックからの動きを使用して得られ、OBMC予測信号は、オリジナルドメインにある。
【0142】
[0167] ステップ1906で、オリジナルドメインにおいてインター予測信号とOBMC予測信号とを重み付けすることによって改良されたインター予測信号が得られ、マッピングドメインに変換される。従って、改良されたインター予測は、最初に、オリジナルドメインにおいて得られ、次いで、マッピングドメインに変換される。
【0143】
[0168] ステップ1908では、マッピングドメインにおいて改良されたインター予測信号とイントラ予測信号とを重み付けすることによって、最終予測信号が得られる。ステップ1906において、改良されたインター予測信号はマッピングドメインに変換されているため、改良されたインター予測とイントラ予測信号とは両方とも、同じドメイン(すなわち、マッピングドメイン)にある。従って、重み付けプロセスは、より効率的且つ正確なものであり得る。
【0144】
[0169] 方法1900は、
図19Bの表5にも示され得、
図15Bに示される表1との違いは、斜体、太字及び/又は取り消し線で示されている。
【0145】
[0170] いくつかの実施形態では、CIIPモードで符号化されたブロックに対して、OBMCモードが無効化される。例えば、ブロックがCIIPで符号化されると、OBMCモードが適用されるか否かを示すフラグはシグナリングされず、偽であると推論される(すなわち、OBMCモードが無効化される)。いくつかの実施形態では、OBMCモードが適用されるか否かを示すフラグは、偽であるというフラグの値でシグナリングされる。ブロックに対して、LMCSを有効化することもできる。
【0146】
[0171] いくつかの実施形態では、ブロック、フレーム、ピクチャ、スライス又はタイルに対してLMCSが有効化されると、CIIPは無効化される。従って、LMCSとCIIPとを同時に有効化することはできない。例えば、CIIPモードが適用されるか否かを示すフラグはシグナリングされず、偽であると推論される(すなわち、CIIPモードが無効化される)。いくつかの実施形態では、CIIPモードが適用されるか否かを示すフラグは、偽であるというフラグの値でシグナリングされる。現在のブロック、フレーム、ピクチャ、スライス又はタイルに対して、OBMCを有効化することができる。
【0147】
[0172] 前述の実施形態は、任意の組合せで組み合わせることができる。
【0148】
[0173] 実施形態については、以下の条項を使用してさらに説明することができる。
1. インター予測及びイントラ予測の組合せ(CIIP)と、ルママッピング及びクロマスケーリング(LMCS)とが適用される映像処理のための方法であって、
インター予測信号、イントラ予測信号及びオーバーラップブロック動き補償(OBMC)予測信号を得ることと、
インター予測信号と、イントラ予測信号及びOBMC予測信号のうちの第1の予測信号とを重み付けすることによって、中間重み付け予測信号を得ることと、
中間重み付け予測信号と、イントラ予測信号及びOBMC予測信号のうちの第2の予測信号とを重み付けすることによって、最終予測信号を得ることと
を含み、
中間重み付け予測信号と第2の予測信号とが両方とも、マッピングドメイン又はオリジナルドメインにある、方法。
2. インター予測信号、イントラ予測信号及びOBMC予測信号を得ることが、
オリジナルドメインにおいてインター予測信号を得ることと、
マッピングドメインにおいてイントラ予測信号を得ることと、
オリジナルドメインにおいてOBMC予測信号を得ることと
をさらに含む、条項1に記載の方法。
3. インター予測信号と、イントラ予測信号及びOBMC予測信号のうちの第1の予測信号とを重み付けすることによって、中間重み付け予測信号を得ることが、
インター予測信号をオリジナルドメインからマッピングドメインに変換することと、
マッピングドメインにおいて変換済みのインター予測信号とイントラ予測信号とを重み付けすることによって、中間重み付け予測信号を得ることと
を含み、
中間重み付け予測信号と、イントラ予測信号及びOBMC予測信号のうちの第2の予測信号とを重み付けすることによって、最終予測信号を得ることが、
OBMC予測信号をオリジナルドメインからマッピングドメインに変換することと、
マッピングドメインにおいて中間重み付け予測信号とOBMC予測信号とを重み付けすることによって、最終予測信号を得ることと
をさらに含む、条項2に記載の方法。
4. インター予測信号と、イントラ予測信号及びOBMC予測信号のうちの第1の予測信号とを重み付けすることによって、中間重み付け予測信号を得ることが、
インター予測信号をオリジナルドメインからマッピングドメインに変換することと、
マッピングドメインにおいて変換済みのインター予測信号とイントラ予測信号とを重み付けすることによって、中間重み付け予測信号を得ることと
を含み、
中間重み付け予測信号と、イントラ予測信号及びOBMC予測信号のうちの第2の予測信号とを重み付けすることによって、最終予測信号を得ることが、
中間重み付け予測信号をマッピングドメインからオリジナルドメインに変換することと、
オリジナルドメインにおいて中間重み付け予測信号とOBMC予測信号とを重み付けすることによって、中間最終予測信号を得ることと、
中間最終予測信号をオリジナルドメインからマッピングドメインに変換することによって、最終予測信号を得ることと
をさらに含む、条項2に記載の方法。
5. インター予測信号と、イントラ予測信号及びOBMC予測信号のうちの第1の予測信号とを重み付けすることによって、中間重み付け予測信号を得ることが、
イントラ予測信号をマッピングドメインからオリジナルドメインに変換することと、
オリジナルドメインにおいてインター予測信号と変換済みのイントラ予測信号とを重み付けすることによって、中間重み付け予測信号を得ることと
を含み、
中間重み付け予測信号と、イントラ予測信号及びOBMC予測信号のうちの第2の予測信号とを重み付けすることによって、最終予測信号を得ることが、
オリジナルドメインにおいて中間重み付け予測信号とOBMC予測信号とを重み付けすることによって、中間最終予測信号を得ることと、
中間最終予測信号をオリジナルドメインからマッピングドメインに変換することによって、最終予測信号を得ることと
をさらに含む、条項2に記載の方法。
6. インター予測信号と、イントラ予測信号及びOBMC予測信号のうちの第1の予測信号とを重み付けすることによって、中間重み付け予測信号を得ることが、
オリジナルドメインにおいてインター予測信号とOBMC予測信号とを重み付けすることによって、中間重み付け予測信号を得ること
を含み、
中間重み付け予測信号と、イントラ予測信号及びOBMC予測信号のうちの第2の予測信号とを重み付けすることによって、最終予測信号を得ることが、
中間重み付け予測信号をオリジナルドメインからマッピングドメインに変換することと、
マッピングドメインにおいて変換済みの中間重み付け予測信号とイントラ予測信号とを重み付けすることによって、最終予測信号を得ることと
をさらに含む、条項2に記載の方法。
7. インター予測信号が、通常のマージモードに適用されるインター予測プロセスを使用して得られる、条項1~6のいずれか一項に記載の方法。
8. OBMC予測信号が、近傍のブロックからの動きを使用して得られる、条項1~7のいずれか一項に記載の方法。
9. 映像処理のための方法であって、
ターゲットブロックと関連付けられたビットストリームを受信することと、
ターゲットブロックがインター予測及びイントラ予測の組合せ(CIIP)モードで符号化されているかどうかを決定することと、
現在のブロックがCIIPモードで符号化されている場合は、オーバーラップブロック動き補償(OBMC)モードが適用されないと決定することと、
CIIPモードで、ルママッピング及びクロマスケーリング(LMCS)を用いてターゲットブロックを処理することと
を含む、方法。
10. 映像処理のための方法であって、
ターゲットブロックと関連付けられたビットストリームを受信することと、
ターゲットブロックに対してルママッピング及びクロマスケーリング(LMCS)が有効であるかどうかを決定することと、
LMCSが有効であることに応答して、インター予測及びイントラ予測の組合せ(CIIP)モードが適用されないと決定することと、
LMCSを用いて、オーバーラップブロック動き補償(OBMC)モードでターゲットブロックを処理することと
を含む、方法。
11. 映像処理のための方法であって、
ターゲットブロックに対してインター予測及びイントラ予測の組合せ(CIIP)モードが有効であると決定することと、
動きベクトルを用いてインター予測因子を決定することであって、動きベクトルが、動きベクトル予測因子及びシグナリングされた動きベクトル差分を使用して得られることと、
イントラ予測因子を決定することと、
インター予測因子とイントラ予測因子とを重み付けすることによって、ターゲットブロックの最終予測因子を得ることと
を含む、方法。
12. ターゲットブロックが、通常のインターモードで符号化され、マージモードでは符号化されない、条項11に記載の方法。
13. 通常のインターモード以外のインターモードが無効化される、条項12に記載の方法。
14. インターモードが、局所照明補償モード、符号化単位レベルの重みを用いた双予測モード、アフィンモード、対称動きベクトル差分モード、適応動きベクトル解像度モード又は多仮説インター予測モードのうちの1つ又は複数を含む、条項13に記載の方法。
15. ターゲットブロックに対してCIIPモードが有効であるかどうかを決定することが、
フラグに基づいて、ターゲットブロックに対してCIIPモードが有効であると決定すること
をさらに含む、条項12~14のいずれか一項に記載の方法。
16. 当該フラグが、通常のインターモード構文構造の先頭で復号される、条項15に記載の方法。
17. 当該フラグが、通常のインターモード構文構造の末尾で復号される、条項15に記載の方法。
18. インター予測因子が、動きベクトル差分を用いたマージモード(MMVD)方法を使用して生成される、条項11~17のいずれか一項に記載の方法。
19. イントラ予測因子が、テンプレートベースのイントラモード導出(TIMD)方法又はデコーダ側イントラモード導出(DIMD)方法を使用して生成される、条項11~18のいずれか一項に記載の方法。
20. ビットストリームを格納する非一時的なコンピュータ可読媒体であって、ビットストリームが、
符号化済みの映像データと関連付けられたフラグであって、符号化済みの映像データに対してインター予測及びイントラ予測の組合せ(CIIP)が使用されていることを示すフラグを含み、ターゲットブロックが、通常のインターモードで符号化されており、マージモードでは符号化されておらず、当該フラグが、CIIPモードを使用してターゲットブロックを復号し、通常のインターモード以外のインターモードを無効化することをデコーダに行わせるように構成される、非一時的なコンピュータ可読媒体。
22. 当該フラグが、通常のインターモード構文構造の先頭にある、条項20に記載の非一時的なコンピュータ可読媒体。
23. 当該フラグが、通常のインターモード構文構造の末尾にある、条項20に記載の非一時的なコンピュータ可読媒体。
24. ビットストリームを格納する非一時的なコンピュータ可読媒体であって、ビットストリームが、
符号化済みの映像データと関連付けられたフラグを含み、当該フラグが、ターゲットブロックがインター予測及びイントラ予測の組合せ(CIIP)と、動きベクトル差分を用いたマージモード(MMVD)モードとの組合せで符号化されていることを示し、当該フラグが、CIIPモードを使用してターゲットブロックを復号し、MMVDモードを使用してインター予測因子を得ることをデコーダに行わせるように構成される、非一時的なコンピュータ可読媒体。
25. ビットストリームを格納する非一時的なコンピュータ可読媒体であって、ビットストリームが、
符号化済みの映像データと関連付けられたフラグを含み、当該フラグが、インター予測について、インター予測及びイントラ予測の組合せ(CIIP)と、動きベクトル差分を用いたマージモード(MMVD)モードとの組合せが使用されていることを示し、当該フラグが、CIIPモードを使用してターゲットブロックを復号し、MMVDモードを使用してインター予測因子を得ることをデコーダに行わせるように構成される、非一時的なコンピュータ可読媒体。
26. ビットストリームを格納する非一時的なコンピュータ可読媒体であって、ビットストリームが、
符号化済みの映像データと関連付けられ、インター予測及びイントラ予測の組合せ(CIIP)モードが有効であるかどうかを示す第1のフラグと、
符号化済みの映像データと関連付けられ、オーバーラップブロック動き補償(OBMC)モードが適用されているかどうかを示す第2のフラグと
を含み、
第1のフラグが真である場合は、第2のフラグは偽であると推論される、非一時的なコンピュータ可読媒体。
27. ビットストリームを格納する非一時的なコンピュータ可読媒体であって、ビットストリームが、
符号化済みの映像データと関連付けられ、ルママッピング及びクロマスケーリング(LMCS)が有効であるかどうかを示す第1のフラグと、
符号化済みの映像データと関連付けられ、インター予測及びイントラ予測の組合せ(CIIP)が有効であるかどうかを示す第2のフラグと
を含み、
第1のフラグが真である場合は、第2のフラグは偽であると推論される、非一時的なコンピュータ可読媒体。
28. ビットストリームを格納する非一時的なコンピュータ可読媒体であって、ビットストリームが、
符号化済みの映像データと関連付けられ、ルママッピング及びクロマスケーリング(LMCS)が有効であるかどうかを示す第1のフラグと、
符号化済みの映像データと関連付けられ、インター予測及びイントラ予測の組合せ(CIIP)が有効であるかどうかを示す第2のフラグと
を含み、
第1のフラグと第2のフラグが両方とも真である場合は、デコーダが、
オリジナルドメインにおけるインター予測信号、マッピングドメインにおけるイントラ予測信号及びオリジナルドメインにおけるオーバーラップブロック動き補償(OBMC)予測信号を得ることと、
オリジナルドメインにおいてインター予測信号とOBMC予測信号とを重み付けすることによって、中間重み付け予測信号を得ることと、
中間重み付け予測信号をオリジナルドメインからマッピングドメインに変換することと、
マッピングドメインにおいて変換済みの中間重み付け予測信号とイントラ予測信号とを重み付けすることによって、最終予測信号を得ることと
を実行するように構成される、非一時的なコンピュータ可読媒体。
29. インター予測及びイントラ予測の組合せ(CIIP)と、ルママッピング及びクロマスケーリング(LMCS)とが適用される映像データ処理を実行するための装置であって、
命令を格納するように構成されたメモリと、
1つ又は複数のプロセッサと
を含み、1つ又は複数のプロセッサが、
インター予測信号、イントラ予測信号及びオーバーラップブロック動き補償(OBMC)予測信号を得ることと、
インター予測信号と、イントラ予測信号及びOBMC予測信号のうちの第1の予測信号とを重み付けすることによって、中間重み付け予測信号を得ることと、
中間重み付け予測信号と、イントラ予測信号及びOBMC予測信号のうちの第2の予測信号とを重み付けすることによって、最終予測信号を得ることと
を装置に実行させるために命令を実行するように構成され、
中間重み付け予測信号と第2の予測信号とが両方とも、マッピングドメイン又はオリジナルドメインにある、装置。
30. 1つ又は複数のプロセッサが、
オリジナルドメインにおいてインター予測信号を得ることと、
マッピングドメインにおいてイントラ予測信号を得ることと、
オリジナルドメインにおいてOBMC予測信号を得ることと
を装置に実行させるために命令を実行するようにさらに構成される、条項29に記載の装置。
31. 1つ又は複数のプロセッサが、
インター予測信号をオリジナルドメインからマッピングドメインに変換することと、
マッピングドメインにおいて変換済みのインター予測信号とイントラ予測信号とを重み付けすることによって、中間重み付け予測信号を得ることと、
OBMC予測信号をオリジナルドメインからマッピングドメインに変換することと、
マッピングドメインにおいて中間重み付け予測信号とOBMC予測信号とを重み付けすることによって、最終予測信号を得ることと
を装置に実行させるために命令を実行するようにさらに構成される、条項30に記載の装置。
32. 1つ又は複数のプロセッサが、
インター予測信号をオリジナルドメインからマッピングドメインに変換することと、
マッピングドメインにおいて変換済みのインター予測信号とイントラ予測信号とを重み付けすることによって、中間重み付け予測信号を得ることと、
中間重み付け予測信号をマッピングドメインからオリジナルドメインに変換することと、
オリジナルドメインにおいて中間重み付け予測信号とOBMC予測信号とを重み付けすることによって、中間最終予測信号を得ることと、
中間最終予測信号をオリジナルドメインからマッピングドメインに変換することによって、最終予測信号を得ることと
を装置に実行させるために命令を実行するようにさらに構成される、条項30に記載の装置。
33. 1つ又は複数のプロセッサが、
イントラ予測信号をマッピングドメインからオリジナルドメインに変換することと、
オリジナルドメインにおいてインター予測信号と変換済みのイントラ予測信号とを重み付けすることによって、中間重み付け予測信号を得ることと、
オリジナルドメインにおいて中間重み付け予測信号とOBMC予測信号とを重み付けすることによって、中間最終予測信号を得ることと、
中間最終予測信号をオリジナルドメインからマッピングドメインに変換することによって、最終予測信号を得ることと
を装置に実行させるために命令を実行するようにさらに構成される、条項30に記載の装置。
34. 1つ又は複数のプロセッサが、
オリジナルドメインにおいてインター予測信号とOBMC予測信号とを重み付けすることによって、中間重み付け予測信号を得ることと、
中間重み付け予測信号をオリジナルドメインからマッピングドメインに変換することと、
マッピングドメインにおいて変換済みの中間重み付け予測信号とイントラ予測信号とを重み付けすることによって、最終予測信号を得ることと
を装置に実行させるために命令を実行するようにさらに構成される、条項30に記載の装置。
35. インター予測信号が、通常のマージモードに適用されるインター予測プロセスを使用して得られる、条項29~34のいずれか一項に記載の装置。
36. OBMC予測信号が、近傍のブロックからの動きを使用して得られる、条項29~35のいずれか一項に記載の装置。
37. 映像データ処理を実行するための装置であって、
命令を格納するように図示されたメモリと、
1つ又は複数のプロセッサと
を含み、1つ又は複数のプロセッサが、
ターゲットブロックと関連付けられたビットストリームを受信することと、
ターゲットブロックがインター予測及びイントラ予測の組合せ(CIIP)モードで符号化されているかどうかを決定することと、
現在のブロックがCIIPモードで符号化されている場合は、オーバーラップブロック動き補償(OBMC)モードが適用されないと決定することと、
CIIPモードで、ルママッピング及びクロマスケーリング(LMCS)を用いてターゲットブロックを処理することと
を装置に実行させるために命令を実行するようにさらに構成される、装置。
38. 映像データ処理を実行するための装置であって、
命令を格納するように図示されたメモリと、
1つ又は複数のプロセッサと
を含み、1つ又は複数のプロセッサが、
ターゲットブロックと関連付けられたビットストリームを受信することと、
ターゲットブロックに対してルママッピング及びクロマスケーリング(LMCS)が有効であるかどうかを決定することと、
LMCSが有効であることに応答して、インター予測及びイントラ予測の組合せ(CIIP)モードが適用されないと決定することと、
LMCSを用いて、オーバーラップブロック動き補償(OBMC)モードでターゲットブロックを処理することと
を装置に実行させるために命令を実行するようにさらに構成される、装置。
39. 映像データ処理を実行するための装置であって、
命令を格納するように図示されたメモリと、
1つ又は複数のプロセッサと
を含み、1つ又は複数のプロセッサが、
ターゲットブロックに対してインター予測及びイントラ予測の組合せ(CIIP)モードが有効であると決定することと、
動きベクトルを用いてインター予測因子を決定することであって、動きベクトルが、動きベクトル予測因子及びシグナリングされた動きベクトル差分を使用して得られることと、
イントラ予測因子を決定することと、
インター予測因子とイントラ予測因子とを重み付けすることによって、ターゲットブロックの最終予測因子を得ることと
を装置に実行させるために命令を実行するようにさらに構成される、装置。
40. ターゲットブロックが、通常のインターモードで符号化され、マージモードでは符号化されない、条項39に記載の装置。
41. 通常のインターモード以外のインターモードが無効化される、条項40に記載の装置。
42. インターモードが、局所照明補償モード、符号化単位レベルの重みを用いた双予測モード、アフィンモード、対称動きベクトル差分モード、適応動きベクトル解像度モード又は多仮説インター予測モードのうちの1つ又は複数を含む、条項41に記載の装置。
43. 1つ又は複数のプロセッサが、
フラグに基づいて、ターゲットブロックに対してCIIPモードが有効であると決定すること
を装置に実行させるために命令を実行するようにさらに構成される、条項40~42のいずれか一項に記載の装置。
44. 当該フラグが、通常のインターモード構文構造の先頭で復号される、条項43に記載の装置。
45. 当該フラグが、通常のインターモード構文構造の末尾で復号される、条項44に記載の装置。
46. インター予測因子が、動きベクトル差分を用いたマージモード(MMVD)方法を使用して生成される、条項39~45のいずれか一項に記載の装置。
47. イントラ予測因子が、テンプレートベースのイントラモード導出(TIMD)方法又はデコーダ側イントラモード導出(DIMD)方法を使用して生成される、条項39~46のいずれか一項に記載の装置。
【0149】
[0174] いくつかの実施形態では、命令を含む非一時的なコンピュータ可読記憶媒体も提供される。いくつかの実施形態では、媒体は、
図14~
図19に関して適用されたモードなど、適用された予測モードを示す1つ又は複数のフラグを有する映像ビットストリームのすべて又は一部分を格納することができる。いくつかの実施形態では、媒体は、上記で説明される方法を実行するために、デバイス(開示されるエンコーダ及びデコーダなど)によって実行することができる命令を格納することができる。非一時的な媒体の一般的な形態は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ又は他の任意の磁気データ記憶媒体、CD-ROM、他の任意の光学データ記憶媒体、穴のパターンを有する任意の物理的媒体、RAM、PROM、EPROM、FLASH(登録商標)-EPROM又は他の任意のフラッシュメモリ、NVRAM、キャッシュ、レジスタ、他の任意のメモリチップ又はカートリッジ、及びそれらのネットワーク接続バージョンを含む。デバイスは、1つ若しくは複数のプロセッサ(CPU)、入力/出力インタフェース、ネットワークインタフェース及び/又はメモリを含み得る。
【0150】
[0175] 「第1の」及び「第2の」などの本明細書における関係語は、単に、ある実体又は動作を別の実体又は動作と区別するためだけに使用され、これらの実体又は動作の間の実際の関係又は順序を必要とすることも、暗示することもないことに留意されたい。その上、「含む(「comprising」、「including」)」、「有する(having)」、「内包する(「containing」)」という単語及び他の同様の形態は、これらの単語のいずれかに続く1つ又は複数のアイテムがこのような1つ又は複数のアイテムを網羅的に列挙したものであることを意図するものでも、列挙された1つ又は複数のアイテムのみに限定することを意図するものでもないという点で、同等の意味を持ち且つオープンエンドであることが意図される。
【0151】
[0176] 本明細書で使用される場合、別段の具体的な記述がない限り、「又は」という用語は、実現不可能な場合を除いて、すべての可能な組合せを包含する。例えば、データベースがA又はBを含み得ると述べられている場合は、別段の具体的な記述がない限り又は実現不可能でない限り、データベースは、A、B、A及びBを含み得る。第2の例として、データベースがA、B又はCを含み得ると述べられている場合は、別段の具体的な記述がない限り又は実現不可能でない限り、データベースは、A、B、C、A及びB、A及びC、B及びC、A及びB及びCを含み得る。
【0152】
[0177] 上記で説明される実施形態は、ハードウェア、ソフトウェア(プログラムコード)、又はハードウェアとソフトウェアの組合せによって実装できることが理解されよう。ソフトウェアによって実装される場合は、それは、上記で説明されるコンピュータ可読媒体に格納することができる。ソフトウェアは、プロセッサによって実行されると、開示される方法を実行することができる。この開示において説明される演算ユニット及び他の機能ユニットは、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組合せによって実装することができる。当業者は、上記で説明されるモジュール/ユニットのうちの複数のものを1つのモジュール/ユニットとして組み合わせることができ、上記で説明されるモジュール/ユニットの各々を多数のサブモジュール/サブユニットにさらに分割できることも理解するであろう。
【0153】
[0178] 前述の明細書では、実装形態ごとに異なり得る多くの特定の詳細を参照して、実施形態について説明してきた。説明される実施形態の特定の適応及び変更を行うことができる。本明細書を考慮し、本明細書で開示される本発明を実践することから、他の実施形態が当業者に明らかになり得る。本明細書及び実施例は単なる例示として考慮されることが意図されており、本発明の真の範囲及び主旨は、以下の特許請求の範囲によって示されている。また、図に示されるステップの順序は、単なる説明を目的とし、ステップの特定の順序に限定されることを意図しないことも意図される。従って、当業者は、同じ方法を実施しながら、異なる順番で、これらのステップを実行できることを理解することができる。
【0154】
[0179] 図面及び本明細書では、例示的な実施形態が開示されている。しかし、これらの実施形態に対して多くの変形及び変更を行うことができる。それに従って、特定の用語が採用されているが、これらは単に、一般的及び説明的な意味で使用されるものであり、限定を目的として使用されるものではない。
【国際調査報告】