(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-18
(54)【発明の名称】デコーダ側の色差イントラ予測モード勾配ベースの導出
(51)【国際特許分類】
H04N 19/11 20140101AFI20241211BHJP
H04N 19/46 20140101ALI20241211BHJP
【FI】
H04N19/11
H04N19/46
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024540684
(86)(22)【出願日】2023-01-03
(85)【翻訳文提出日】2024-09-04
(86)【国際出願番号】 CN2023070246
(87)【国際公開番号】W WO2023131137
(87)【国際公開日】2023-07-13
(32)【優先日】2022-01-04
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-03-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-12-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】523353373
【氏名又は名称】アリババ(チャイナ)カンパニー,リミテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】シンウェイ リー
(72)【発明者】
【氏名】ルーリン リアオ
(72)【発明者】
【氏名】ジエ チェン
(72)【発明者】
【氏名】ヤン イエ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159RC12
5C159TA31
(57)【要約】
VVC規格エンコーダおよびVVC規格デコーダが提供され、デコーダ側色差イントラ予測モード勾配ベース導出手法を実装し、色差イントラ予測の符号化効率を向上させることによって、シグナリングコストを節約する。VVC規格デコーダは、カレント色差ブロックの隣接した輝度サンプルおよび色差サンプルの勾配を計算することによって、複数の可能性のある色差イントラ予測モードのうちの1つを導出するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。シグナリングコストの最小限の増加により、VVC規格の符号化およびデコード処理は、隣接ブロックの先行する符号化を参照して、同一位置の輝度ブロック隣接の再構成された輝度サンプルと、隣接した再構成された色差サンプルとに基づいて、色差ブロックのイントラ予測モードに強化される。このようにして、符号化利得は、隣接ブロックを含むテクスチャ勾配に基づいて、カレント色差ブロックのテクスチャ特性のマッチングにおいて達成されることが可能である。
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサーと、
前記1つまたは複数のプロセッサーに通信可能に結合されたコンピューター読取り可能記録媒体であって、前記1つまたは複数のプロセッサーによって実行されると、
ビットストリームにおける第1のフラグをシグナリングすることであって、前記第1のフラグは、
エントロピーデコーダにより構成されたコンピューティングシステムの1つまたは複数のプロセッサーによって、カレント色差ブロックに、勾配ベースの導出された色差イントラ予測モードを適用するかどうか、または
前記エントロピーデコーダにより構成された前記1つまたは複数のプロセッサーによって、前記カレント色差ブロックに、前記勾配ベースの導出された色差イントラ予測モードとDMモードとのどちらも適用するかどちらも適用しないかどうか
のうちの1つを示す、こと
を含む関連した動作を行う前記1つまたは複数のプロセッサーによって実行可能なコンピューター読取り可能命令を格納する、コンピューター読取り可能記録媒体と
を備えたことを特徴とするコンピューティングシステム。
【請求項2】
前記動作は、前記ビットストリームにおける第2のフラグをシグナリングすることをさらに含み、
前記第1のフラグは、エントロピーデコーダにより構成された前記1つまたは複数のプロセッサーによって、カレント色差ブロックに、勾配ベースの導出された色差イントラ予測モードを適用するかどうかを示し、
前記第2のフラグは、エントロピーデコーダにより構成された前記1つまたは複数のプロセッサーによって、前記カレント色差ブロックにDMモードを適用するかどうかを示す
ことを特徴とする請求項1に記載のコンピューティングシステム。
【請求項3】
前記第1のフラグは、前記ビットストリームにおいて前記第2のフラグの後にあり、
前記第2のフラグは偽の値に設定される
ことを特徴とする請求項2に記載のコンピューティングシステム。
【請求項4】
1つまたは複数のプロセッサーと、
前記1つまたは複数のプロセッサーに通信可能に結合されたコンピューター読取り可能記録媒体であって、前記1つまたは複数のプロセッサーによって実行されると、
複数の同一位置の再構成された複数の輝度サンプル、
複数の同一位置の輝度ブロック隣接の再構成された輝度サンプル、および
複数の隣接した再構成された色差サンプル
のうちの少なくとも1つの勾配を計算することに基づいて、カレント色差ブロックを再構成するときに適用されることになる色差イントラ予測モードを導出すること
を含む関連した動作を行う前記1つまたは複数のプロセッサーによって実行可能なコンピューター読取り可能命令を格納する、コンピューター読取り可能記録媒体と
を備えたことを特徴とするコンピューティングシステム。
【請求項5】
勾配を計算することは、少なくともソーベルフィルタ以外の行列をフィルタウィンドウのサンプルに乗算することを含むことを特徴とする請求項4に記載のコンピューティングシステム。
【請求項6】
色差イントラ予測モードを導出することは、計算された勾配に基づいて、イントラ予測モードヒストグラムから最大のヒストグラム振幅値に対応するイントラ予測モードを選択することを含むことを特徴とする請求項4または5に記載のコンピューティングシステム。
【請求項7】
色差イントラ予測モードを導出することは、
最大のヒストグラム振幅値に対応する前記イントラ予測モードがダイレクトモード(「DM」)であると決定することと、
計算された勾配に基づいて、イントラ予測モードヒストグラムから第2の最大のヒストグラム振幅値に対応するイントラ予測モードを選択することと
をさらに含むことを特徴とする請求項6に記載のコンピューティングシステム。
【請求項8】
前記色差イントラ予測モードは、前記複数の同一位置の再構成された輝度サンプルのみの勾配を計算することに基づいて導出されることを特徴とする請求項4に記載のコンピューティングシステム。
【請求項9】
前記色差イントラ予測モードは、前記複数の同一位置の輝度ブロック隣接の再構成された輝度サンプルと、前記複数の隣接した再構成された色差サンプルとの勾配を計算することに基づいて導出され、
前記複数の隣接した再構成された色差サンプルは、再構成されたCbサンプルと、再構成されたCrサンプルとを含む
ことを特徴とする請求項4に記載のコンピューティングシステム。
【請求項10】
前記色差イントラ予測モードは、前記複数の同一位置の再構成された輝度サンプルの勾配を計算することにさらに基づいて導出されることを特徴とする請求項9に記載のコンピューティングシステム。
【請求項11】
前記複数の隣接した再構成された色差サンプルは、前記カレント色差ブロックの上のエッジに隣接し、前記カレント色差ブロックの左のエッジに隣接する第2の最も近い近隣のライン(608)のサンプルを含むことを特徴とする請求項9または10に記載のコンピューティングシステム。
【請求項12】
前記第2の最も近い近隣のラインの前記サンプルは、前記カレント色差ブロックの右上へ拡張されたサンプルと、前記カレント色差ブロックの左下へ拡張されたサンプルとを含むことを特徴とする請求項11に記載のコンピューティングシステム。
【請求項13】
前記動作は、
前記色差イントラ予測モードを導出する前に、ビットストリームにてシグナリングされた第1のフラグをパーシングすることであって、
前記第1のフラグは、
前記カレント色差ブロックに、勾配ベースの導出された色差イントラ予測モードを適用するか、
前記カレント色差ブロックに、前記勾配ベースの導出された色差イントラ予測モードまたはDMモードのうちの1つを適用するか
のいずれかを示す、
こと
をさら含むことを特徴とする請求項4ないし12のいずれか一項に記載のコンピューティングシステム。
【請求項14】
前記動作は、前記色差イントラ予測モードを導出する前に、前記ビットストリームにてシグナリングされた第2のフラグをパーシングすることをさらに含み、
前記第1のフラグは、カレント色差ブロックに、勾配ベースの導出された色差イントラ予測モードを適用することを示し、
前記第2のフラグは、前記カレント色差ブロックにDMモードを適用しないことを示す
ことを特徴とする請求項13に記載のコンピューティングシステム。
【請求項15】
前記第1のフラグは、前記ビットストリームにおいて前記第2のフラグの後にあることを特徴とする請求項14に記載のコンピューティングシステム。
【請求項16】
ビデオシーケンスに関連付けられたビットストリームを格納する非一時的なコンピューター読取り可能記録媒体であって、前記ビットストリームは、
エントロピーデコーダにより構成されたコンピューティングシステムの1つまたは複数のプロセッサーによって、カレント色差ブロックに、勾配ベースの導出された色差イントラ予測モードを適用するかどうか、または
前記勾配ベースの導出された色差イントラ予測モードとDMモードとから、前記カレント色差ブロックに前記1つまたは複数のプロセッサーによって適用するどちらか
のうちの1つを示す第1のフラグ
を含むことを特徴とする非一時的なコンピューター読取り可能記録媒体。
【請求項17】
前記第1のフラグは、前記1つまたは複数のプロセッサーによって、カレント色差ブロックに、勾配ベースの導出された色差イントラ予測モードを適用するかどうかを示し、
前記第1のフラグは、第2のフラグの後に前記ビットストリームにてシグナリングされ、前記第2のフラグは、前記1つまたは複数のプロセッサーによって、前記カレント色差ブロックにDMモードを適用するかどうかを示す
ことを特徴とする請求項16に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項18】
前記第2のフラグは、偽の値に設定されることを特徴とする請求項17に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項19】
前記第1のフラグは、第2のフラグの前に前記ビットストリームにてシグナリングされ、前記第2のフラグは、前記1つまたは複数のプロセッサーによって、前記カレント色差ブロックにDMモードを適用するかどうかを示すことを特徴とする請求項16に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項20】
前記第1のフラグは、前記勾配ベースの導出された色差イントラ予測モードとDMモードとから、前記カレント色差ブロックにどれかを示し、
前記第1のフラグは、第2のフラグの後にビットストリームにてシグナリングされ、前記第2のフラグは、前記1つまたは複数のプロセッサーによって、前記カレント色差ブロックに、前記勾配ベースの導出された色差イントラ予測モードとDMモードとのどちらも適用するかどちらも適用しないかどうかを示す
ことを特徴とする請求項16に記載の非一時的なコンピューター読取り可能記録媒体。
【請求項21】
ビットストリームにおける第1のフラグをシグナリングすることであって、前記第1のフラグは、
エントロピーデコーダにより構成されたコンピューティングシステムの1つまたは複数のプロセッサーによって、カレント色差ブロックに、勾配ベースの導出された色差イントラ予測モードを適用するかどうか、または
前記エントロピーデコーダにより構成された前記1つまたは複数のプロセッサーによって、前記カレント色差ブロックに、前記勾配ベースの導出された色差イントラ予測モードとDMモードとのどちらも適用するかどちらも適用しないかどうか
のうちの1つを示す、こと
を備えることを特徴とするビデオ処理の方法。
【請求項22】
複数の同一位置の再構成された複数の輝度サンプル、
複数の同一位置の輝度ブロック隣接の再構成された輝度サンプル、および
複数の隣接した再構成された色差サンプル
のうちの少なくとも1つの勾配を計算することに基づいて、カレント色差ブロックを再構成するときに適用されることになる色差イントラ予測モードを導出すること
を備えることを特徴とするビデオ処理の方法。
【請求項23】
プロセッサーがコンピューター実行命令を実行すると、請求項22の方法が実装される、前記コンピューター実行命令を格納することを特徴とする非一時的なコンピューター読取り可能記録媒体。
【請求項24】
コンピュータープログラム命令を含み、コンピュータープログラム命令は、コンピューターに、請求項21の方法を実行することを可能にすることを特徴とするコンピュータープログラム製品。
【請求項25】
コンピュータープログラム命令を含み、コンピュータープログラム命令は、コンピューターに、請求項22の方法を実行することを可能にすることを特徴とするコンピュータープログラム製品。
【請求項26】
コンピューターに、請求項21の方法を実行することを可能にすることを特徴とするコンピュータープログラム。
【請求項27】
コンピューターに、請求項22の方法を実行することを可能にすることを特徴とするコンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般にビデオ処理に関し、より特にVVC規格エンコーダおよびVVC規格デコーダに関する。
【0002】
関連出願への相互参照
本出願は、「DECODER-SIDE CHROMA INTRA PREDICTION MODE DERIVATION IN NEXT-GENERATION VIDEO CODING」と題され2021年1月4日に出願された米国特許出願第63/296,482号の利点を主張し、「DECODER-SIDE CHROMA INTRA PREDICTION MODE DERIVATION IN NEXT-GENERATION VIDEO CODING」と題され2021年3月2日に出願された米国特許出願第63/315,957号の利点を主張し、「DECODER-SIDE CHROMA INTRA PREDICTION MODE DERIVATION IN NEXT-GENERATION VIDEO CODING」と題され、2022年12月29日に出願された米国特許出願第18/091,178号の利点を主張し、各々が本明細書に参照により明確に全部組み入れられる。
【背景技術】
【0003】
2020年、「ITU-T VCEG」(ITU-T Video Coding Expert Group)および「ISO/IEC MPEG」(ISO/IEC Moving Picture Expert Group)の「JVET」(Joint Video Experts Team)は、次世代のビデオコーデック仕様書、「VVC」(Versatile Video Coding)の最終草案を発表した。今述べた仕様書は、たとえばH.264/AVC(Advanced Video Coding)およびH.265/HEVC(High Efficiency Video Coding)などの先行した規格を越えてさらにビデオ符号化性能を向上させる。JVETは、「ECM」(Enhanced Compression Model)の名の下に収集された、VVC規格自体の範囲を超える追加技法を提案し続ける。
【0004】
HEVCおよびVVCの規格によれば、輝度成分は、Angularイントラ予測、Directionalイントラ予測の手法を含む複数のイントラ予測モードによって予測されることが可能である。自然画像(natural video)に存在している任意のエッジ方向をキャプチャするために、VVC規格は、HEVC規格により規定されたAngularイントラ予測モードの数を拡張する。
【0005】
そのうえ、執筆の時点では、ECMの最新草案(2022年10月の第140回「MPEG」(Moving Picture Experts Group)会合にて「Algorithm description of Enhanced Compression Model 7(ECM7)」として発表された)は、VVC規格により規定されたものを超えて、Angularイントラ予測モードを含む、イントラ予測モードをさらに実装するという提案を含む。
【0006】
しかしながら、イントラ予測モードについてのVVCおよびECMの実装の両方によれば、単に、ますます多くのAngularイントラ予測モードをビデオコーデック仕様書に加えることは、ビットストリームにてシグナリングされるビットの増加に帰着する。さらに加えて、ECMは、色差ブロックよりも輝度ブロックに対してより多くの利用可能なイントラ予測モードを規定して、ダイレクトモードの正確度を下げる。非常に小さな輝度ブロックに対して、カレント色差ブロックのテクスチャ特性をマッチングすることは困難である。
【発明の概要】
【0007】
本開示の態様は、デコーダ側色差イントラ予測モードを実装することに向けられる。
【0008】
第1の側面では、本開示の態様は、1つまたは複数のプロセッサーと、1つまたは複数のプロセッサーと通信可能に結合されたコンピューター読取り可能記録媒体とを含み、コンピューター読取り可能記録媒体は、1つまたは複数のプロセッサーにより実行されると、ビットストリームにおいて第1のフラグをシグナリングし、第1のフラグは、エントロピーデコーダにより構成されたコンピューティングシステムの1つまたは複数のプロセッサーによって、カレント色差ブロックに勾配ベースの導出された色差イントラ予測モードを適用するかどうか、またはエントロピーデコーダにより構成された1つまたは複数のプロセッサーによって、カレント色差ブロックに勾配ベースの導出された色差イントラ予測モードとDMモードとのいずれも適用するかいずれも適用しないかどうかのうちの1つを示すことを含む関連した動作を行う1つまたは複数のプロセッサーにより実行可能な命令を格納する、コンピューティングシステムを提供する。
【0009】
第2の側面では、本開示の態様は、1つまたは複数のプロセッサーと、1つまたは複数のプロセッサーと通信可能に結合されたコンピューター読取り可能記録媒体とを含み、コンピューター読取り可能記録媒体は、1つまたは複数のプロセッサーにより実行されると、複数の同一位置の再構成された色差サンプル、複数の同一位置の輝度ブロック隣接の再構成された輝度サンプル、および複数の隣接した再構成された色差サンプルのうちの少なくとも1つの勾配を計算することに基づいて、カレント色差ブロックを再構成するときに適用されることになる色差イントラ予測モードを導出することを含む関連した動作を行う1つまたは複数のプロセッサーにより実行可能な命令を格納する、コンピューティングシステムを提供する。
【0010】
第3の側面では、本開示の態様は、ビデオシーケンスに関連付けられたビットストリームを格納する非一時的なコンピューター読取り可能記録媒体を提供し、ビットストリームは、エントロピーデコーダにより構成されたコンピューティングシステムの1つまたは複数のプロセッサーによって、カレント色差ブロックに勾配ベースの導出された色差イントラ予測モードを適用するかどうか、または勾配ベースの導出された色差イントラ予測モードとDMモードとから、1つまたは複数のプロセッサーによりカレント色差ブロックに適用するいずれかのうちの1つを示す第1のフラグを含む。
【0011】
第4の側面では、本開示の態様は、ビットストリームにおいて第1のフラグをシグナリングし、第1のフラグは、エントロピーデコーダにより構成されたコンピューティングシステムの1つまたは複数のプロセッサーによって、カレント色差ブロックに勾配ベースの導出された色差イントラ予測モードを適用するかどうか、またはエントロピーデコーダにより構成された1つまたは複数のプロセッサーによって、カレント色差ブロックに勾配ベースの導出された色差イントラ予測モードとDMモードとのいずれも適用するかいずれも適用しないかどうかのうちの1つを示すことを含むビデオ処理手法を提供する。
【0012】
第5の側面では、本開示の態様は、複数の同一位置の再構成された色差サンプル、複数の同一位置の輝度ブロック隣接の再構成された輝度サンプル、および複数の隣接した再構成された色差サンプルのうちの少なくとも1つの勾配を計算することに基づいて、カレント色差ブロックを再構成するときに適用されることになる色差イントラ予測モードを導出することを含むビデオ処理手法を提供する。
【0013】
第6の側面では、本開示の態様は、非一時的なコンピューター読取り可能記録媒体を提供し、非一時的なコンピューター読取り可能記録媒体は、プロセッサーがコンピューター実行可能命令を実行すると、第2の側面に係る方法が実装されるコンピューター実行可能命令を格納する。
【0014】
第7の側面では、本開示の態様は、コンピュータープログラム命令を含むコンピュータープログラム製品を提供し、コンピュータープログラム命令は、コンピューターに、第1の側面に係る方法を実行することを可能にする。
【0015】
第8の側面では、本開示の態様は、コンピュータープログラム命令を含むコンピュータープログラム製品を提供し、コンピュータープログラム命令は、コンピューターに、第2の側面に係る方法を実行することを可能にする。
【0016】
第9の側面では、本開示の態様は、コンピュータープログラムを提供し、コンピュータープログラムは、コンピューターに、第1の側面に係る方法を実行することを可能にする。
【0017】
第10の側面では、本開示の態様は、コンピュータープログラムを提供し、コンピュータープログラムは、コンピューターに、第2の側面に係る方法を実行することを可能にする。
【0018】
詳細な説明は、添付の図面を参照して述べられる。図面において、参照符号の最も左の数字(複数可)は、参照符号が最初に現れる図面を特定する。異なった図面における同一の参照符号の使用は、類似のまたは同一の項目または特徴を示す。
【図面の簡単な説明】
【0019】
【
図1A】本開示の例示的な実施形態に係るビデオエンコード処理の例示的なブロック図を示す図である。
【
図1B】本開示の例示的な実施形態に係るビデオデコード処理の例示的なブロック図を示す図である。
【
図2】VVC規格に係るAngularイントラ予測モードを示す図である。
【
図3】カレント色差ブロックに対応する輝度ブロックを示す図であり、対応する輝度ブロックが、中心位置の輝度サンプルを含む輝度符号化ブロックを表す。
【
図4】ブロックの上のエッジおよび左のエッジと隣接した第2の最も近い近隣のラインのサンプルを示す図である。
【
図5】予測ブレンド処理を示す図であり、ampl(M
1)およびampl(M
2)は、それぞれ、M
1およびM
2の振幅値を表す。
【
図6A】本開示の例示的な実施形態を示す図であり、色差イントラ予測モードの導出に参加するサンプルが、同一位置の輝度の再構成されたサンプルを含むことが可能であり、同一位置の輝度ブロック隣接の再構成された輝度サンプルを含むことが可能であり、隣接したCbおよびCrの再構成されたサンプルを含むことが可能である。
【
図6B】本開示の例示的な実施形態を示す図であり、色差イントラ予測モードの導出に参加するサンプルが、同一位置の輝度の再構成されたサンプルを含むことが可能であり、同一位置の輝度ブロック隣接の再構成された輝度サンプルを含むことが可能であり、隣接したCbおよびCrの再構成されたサンプルを含むことが可能である。
【
図6C】本開示の例示的な実施形態を示す図であり、色差イントラ予測モードの導出に参加するサンプルが、同一位置の輝度の再構成されたサンプルを含むことが可能であり、同一位置の輝度ブロック隣接の再構成された輝度サンプルを含むことが可能であり、隣接したCbおよびCrの再構成されたサンプルを含むことが可能である。
【
図6D】本開示の例示的な実施形態を示す図であり、色差イントラ予測モードの導出に参加するサンプルが、同一位置の輝度の再構成されたサンプルを含むことが可能であり、同一位置の輝度ブロック隣接の再構成された輝度サンプルを含むことが可能であり、隣接したCbおよびCrの再構成されたサンプルを含むことが可能である。
【
図7】本開示の例示的な実施形態を示す図であり、色差イントラ予測モードの導出に参加するサンプルが、輝度サンプルに再構成された、拡張された同一位置の輝度ブロック隣接の再構成された輝度サンプルを含む。
【
図8】本開示の例示的な実施形態を示す図であり、色差イントラ予測モードの導出に参加するサンプルが、同一位置の再構成された輝度ブロック内の同一位置の再構成された輝度サンプルと、同一位置の輝度ブロックの上のエッジに隣接し、同一位置の輝度ブロックの左のエッジに隣接する第1の最も近い近隣のラインのL字形のテンプレートの再構成されたサンプルとを含む。
【
図9】本開示の例示的な実施形態を示す図であり、色差イントラ予測モードの導出に参加するサンプルが、同一位置の再構成された輝度ブロック内の同一位置の再構成された輝度サンプルと、同一位置の輝度ブロックの上のエッジに隣接し、同一位置の輝度ブロックの左のエッジに隣接する第1の最も近い近隣のラインおよび第2の最も近い近隣のラインのL字形のテンプレートの再構成されたサンプルとを含む。
【
図10】本開示の例示的な実施形態を示す図であり、色差イントラ予測モードの導出に参加するサンプルが、拡張された隣接の再構成されたCbサンプルを含む。
【
図11】本開示の例示的な実施形態を示す図であり、色差イントラ予測モードの導出に参加するサンプルが、拡張された隣接の再構成されたCrサンプルを含む。
【
図12】デコーダ側色差イントラ予測モードを実装するために本明細書に記載される処理および方法を実装するための例示的なシステムを示す図である。
【発明を実施するための形態】
【0020】
VVCビデオ符号化規格(「VVC規格」)およびそこに記載されている動き予測に従って、コンピューティングシステムは、少なくとも1つまたは複数のプロセッサーと、1つまたは複数のプロセッサーに通信可能に結合されたコンピューター読取り可能記録媒体とを含む。コンピューター読取り可能記録媒体は、
図12を参照して後に定義するように、コンピューター読取り可能命令を記憶した非一過性または非一時的なコンピューター読取り可能記録媒体である。コンピューター読取り可能記録媒体に格納された少なくともいくつかのコンピューター読取り可能命令は、少なくともVVC規格によって記述されたエンコーダの動作、およびVVC規格によって記述されたようなデコーダの動作を含む、コンピューター読取り可能命令の関連する動作を実行するように1つまたは複数のプロセッサーを構成するために、コンピューティングシステムの1つまたは複数のプロセッサーによって実行可能である。これらのVVC規格によるエンコーダ動作およびデコーダ動作のいくつかを、後にさらに詳細に説明するが、これらの以降の説明は、VVC規格によるエンコーダ動作およびデコーダ動作を網羅するとして理解されるべきではない。続いて、「VVC規格エンコーダ」および「VVC規格デコーダ」は、これらのそれぞれの動作を実行するように1つまたは複数のプロセッサーを構成する、コンピューター読取り可能記録媒体に格納されたそれぞれのコンピューター読取り可能命令(これは、例として、エンコーダまたはデコーダの「参照実装(reference implementation)」と呼ばれることが可能である)を記述するだろう。
【0021】
そのうえ、本開示の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、VVC規格によって規定されていない動作を実行するように1つまたは複数のプロセッサーを構成するために、コンピューティングシステムの1つまたは複数のプロセッサーによって実行可能である、コンピューター読取り可能記録媒体に格納されたコンピューター読取り可能命令をさらに含む。VVC規格エンコーダは、エンコーダの参照実装の動作に限定されるとして理解されるべきではなく、本明細書に記載されるようなさらなる動作を実行するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成するさらなるコンピューター読取り可能命令を含む。VVC規格デコーダは、デコーダの参照実装の動作に限定されるものとして理解されるべきではなく、本明細書に記載されるようなさらなる動作を実行するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成するさらなるコンピューター読取り可能命令を含む。
【0022】
図1Aおよび
図1Bは、それぞれ、本開示の例示的な実施形態によるエンコード処理100およびデコード処理150の例示的なブロック図を示す図である。
【0023】
エンコード処理100において、VVC規格エンコーダは、画像ソース102から1つまたは複数の入力ピクチャを入力として受信するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。入力ピクチャは、たとえばフォトセンサアレイなどの画像キャプチャデバイスによってサンプリングされたいくつかのピクセルを含み、ピクチャの元の解像度でカラーデータを格納する複数のカラーチャネル(RGBカラーチャネルなど)の非圧縮ストリームを含み、各チャネルは、いくつかのビット数を使用してピクチャの各ピクセルのカラーデータを格納する。VVC規格エンコーダは、この非圧縮カラーデータを圧縮フォーマットにて格納するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成し、カラーデータは、ピクチャの元の解像度よりも低い解像度で格納され、輝度(「Y」)チャネルと、輝度チャネルよりも低い解像度の2つの色差(「U」および「V」)チャネルと、としてエンコードされる。
【0024】
VVC規格エンコーダは、コンピューティングシステムの1つまたは複数のプロセッサーを構成して、元のピクチャをパーティショニング構造に従ってユニットとサブユニットとに分割することにより、ピクチャ(エンコードされるピクチャは、画像ソース102から受信されるあらゆる他のピクチャと区別されて「カレントピクチャ」と呼ばれる)をエンコードする。VVC規格エンコーダは、ピクチャを、パーティションにさらに細分化されることがある16×16ピクセルのマクロブロック(「MB」)に細分化するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。VVC規格エンコーダは、ピクチャを、輝度成分および色差成分が符号化単位(「CU」)にさらに細分化される符号化ツリーブロック(「CTB」)にさらに細分化され得る符号化ツリーユニット(「CTU」)に細分化するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。あるいは、VVC規格エンコーダは、ピクチャをN×Nピクセルの単位に細分化し、さらにサブユニットに細分化するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。ピクチャの最も大きく細分化された単位の各々は、本開示の目的のために、一般に「ブロック」と呼ばれることがある。
【0025】
CUは、1つの輝度サンプルのブロックと、対応する2つの色差サンプルのブロックを使って符号化され、ただし、ピクチャは、モノクロではなく、1つの符号化ツリーを用いて符号化される。
【0026】
VVC規格エンコーダは、コンピューティングシステムの1つまたは複数のプロセッサーを構成して、ブロックを4×4ピクセルの倍数の寸法を持つパーティションに細分化する。例えば、ブロックのパーティションは、8×4ピクセル、4×8ピクセル、8×8ピクセル、16×8ピクセル、または8×16ピクセルの寸法を持つことがある。
【0027】
VVC規格エンコーダは、フル解像度のオリジナルピクチャのピクセルの色情報ではなく、ピクチャのブロックおよびそのサブディビジョンの色情報をエンコードすることにより、コンピューティングシステムの1つまたは複数のプロセッサーを構成して、入力ピクチャよりも低い解像度でピクチャの色情報をエンコードし、入力ピクチャよりも少ないビット数で色情報を格納する。
【0028】
さらに、VVC規格エンコーダは、カレントピクチャのブロックに対して動き予測を実行するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成することによって、ピクチャをエンコードする。動き予測符号化とは、イントラ予測104またはインター予測106に従って、画素データではなく、動き情報と予測ユニット(「PU」)とを使用して、カレントピクチャのブロック(符号化前のオリジナルピクチャのブロックは、「入力ブロック」と呼ばれる)の画像データを格納することを指す。
【0029】
動き情報とは、たとえば動きベクトル、およびカレントピクチャまたは参照ピクチャのブロックへの参照など、ピクチャのブロック構造、またはそのユニットもしくはサブユニットの動きを記述するデータを指す。PUは、たとえばMBまたはCTUなどのピクチャの複数のブロック構造のうち、ブロック構造に対応するユニットまたは複数のサブユニットを指すことがあり、ブロックがピクチャデータに基づいて分割され、VVC規格に従って符号化される。PUに対応する動き情報は、本明細書で説明するVVC規格エンコーダによってエンコードされる動き予測を記述することがある。
【0030】
VVC規格エンコーダは、例えば、最初にデコードされたブロックがピクチャの最も上の最も左のブロックであるラスタ走査順序など、ブロック間の符号化順序にて、ピクチャの各ブロックに動き予測情報を符号化するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。エンコードされるブロックは「カレントブロック」と呼ばれ、同じピクチャのあらゆる他のブロックとは区別される。
【0031】
イントラ予測104によれば、コンピューティングシステムの1つまたは複数のプロセッサーは、同じピクチャの1つまたは複数の他のブロックの動き情報およびPUを参照することによって、ブロックをエンコードするように構成される。イントラ予測符号化によれば、コンピューティングシステムの1つまたは複数のプロセッサーは、カレントブロックの空間的に近隣のブロックからの空間的に近隣のサンプルに基づいて、カレントブロックの動き情報を符号化することによって、イントラ予測104(空間予測とも呼ばれる)計算を実行する。
【0032】
インター予測106によれば、コンピューティングシステムの1つまたは複数のプロセッサーは、1つまたは複数の他のピクチャの動き情報およびPUを参照してブロックをエンコードするように構成される。コンピューティングシステムの1つまたは複数のプロセッサーは、インター予測符号化を目的として、1つまたは複数の以前に符号化およびデコードされたピクチャを参照ピクチャバッファに格納するように構成され、格納されたピクチャは参照ピクチャと呼ばれる。
【0033】
1つまたは複数のプロセッサーは、1つまたは複数の参照ピクチャからのサンプルに基づいてカレントブロックの動き情報を符号化することにより、インター予測106(時間予測または動き補償予測とも呼ばれる)計算を実行するように構成される。インター予測は、一方向予測または双方向予測に従ってさらに計算されることがあり、一方向予測では、1つの参照ピクチャを指す1つの動きベクトルだけが用いられて、カレントブロックに対して予測信号を生成する。双方向予測では、各々がそれぞれの参照ピクチャを指す2つの動きベクトルが用いられて、カレントブロックの予測信号を生成する。
【0034】
VVC規格エンコーダは、VVC規格デコーダの参照のために、カレントブロックの予測信号(複数可)を識別する参照インデックスを含むようにCUを符号化するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。コンピューティングシステムの1つまたは複数のプロセッサーは、インター予測インジケータを含むようにCUを符号化することが可能である。インター予測インジケータは、リスト0と呼ばれる第1の参照ピクチャリストを参照したリスト0予測、リスト1と呼ばれる第2の参照ピクチャリストを参照したリスト1予測、またはそれぞれリスト0とリスト1と呼ばれる両方の参照ピクチャリストを参照した双方向予測を示す。
【0035】
インター予測インジケータがリスト0予測またはリスト1予測を示す場合では、コンピューティングシステムの1つまたは複数のプロセッサーは、それぞれリスト0またはリスト1によって参照される参照ピクチャバッファの参照ピクチャを参照する参照インデックスを含むCUを符号化するように構成される。双方向予測を示すインター予測インジケータの場合では、コンピューティングシステムの1つまたは複数のプロセッサーは、リスト0によって参照される参照ピクチャバッファの第1の参照ピクチャを参照する第1の参照インデックスと、リスト1によって参照される参照ピクチャの第2の参照ピクチャを参照する第2の参照インデックスとを含むCUを符号化するように構成される。
【0036】
VVC規格エンコーダは、ピクチャの各カレントブロックを個別に符号化し、各々に対して予測ブロックを出力するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。VVC規格によれば、CTUは128×128の輝度サンプル(色差フォーマットによっては、対応する色差サンプルをプラスする)と同じ大きさであることが可能である。CTUは、さらに四分木、二分木、または三分木に従ってCUに分割することがある。コンピューティングシステムの1つまたは複数のプロセッサーは、分割構造のリーフノードのシンタックス構造において、たとえば符号化モード(イントラモードまたはインターモード)、インター符号化ブロックの動き情報(参照インデックス、動きベクトルなど)、量子化された残差係数などの符号化パラメータセットを最終的に記録するように構成される。
【0037】
予測ブロックが出力された後、VVC規格エンコーダは、たとえば符号化モード(すなわち、イントラ予測またはインター予測)、イントラ予測のモードまたはインター予測のモード、および動き情報などの符号化パラメータセットをエントロピーコーダー124(後述する)に送信するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0038】
VVC規格は、CUの符号化パラメータセットを記録するためのセマンティクを提供する。例えば、上述の符号化パラメータセットに関して、CUのpred_mode_flagは、インター符号化ブロックの場合には0に設定され、イントラ符号化ブロックの場合には1に設定され、CUのgeneral_merge_flagは、CUのインター予測においてマージモードが使用されるかどうかを示すために設定され、CUのinter_affine_flagおよびcu_affine_type_flagは、CUのインター予測においてアフィン動き補償が使用されるかどうかを示すために設定され、mvp_l0_flagおよびmvp_l1_flagは、それぞれ、リスト0またはリスト1の動きベクトルインデックスを示すために設定され、ref_id×_l0およびref_id×_l1は、それぞれ、リスト0またはリスト1の参照ピクチャインデックスを示すために設定される。VVC規格には、本開示の範囲を超える様々な他の情報、フラグ、およびオプションを記録するためのセマンティクが含まれていることを理解すべきである。
【0039】
VVC規格エンコーダはさらに、レート制御設定を含む1つまたは複数のモード決定とエンコーダ制御設定108とを実装する。コンピューティングシステムの1つまたは複数のプロセッサーは、イントラ予測またはインター予測の後、レート-歪み最適化手法に基づいて、カレントブロックに対して最適化された予測モードを選択することにより、モード決定を実行するように構成される。
【0040】
レート制御設定は、異なる量子化パラメータ(「QP」)を異なるピクチャに割り当てるように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。QPの大きさは、(後に説明されるだろう)1つまたは複数のプロセッサーによるエンコードの間、ピクチャ情報が量子化されるスケールを決定し、ゆえに、エンコード処理100が符号化の間、シーケンスのMBからピクチャ情報(スケールのステップ間に落ちる情報による)を破棄する範囲を決定する。
【0041】
VVC規格のエンコーダはさらにサブトラクター110を実装する。コンピューティングシステムの1つまたは複数のプロセッサーは、入力ブロックと予測ブロックとの差を計算することによって減算演算を実行するように構成される。最適化された予測モードに基づいて、予測ブロックは入力ブロックから減算される。入力ブロックと予測ブロックとの差は、予測残差、または簡潔に「残差」と呼ばれる。
【0042】
予測残差に基づいて、VVC規格エンコーダはさらにトランスフォーム112を実装する。コンピューティングシステムの1つまたは複数のプロセッサーは、係数のアレイ(「残差係数」、「変換係数」と呼ばれることが可能である)を計算するために、行列算術演算によって残差に対して変換演算を実行することによって、カレントブロックを変換ブロック(「TB」)として符号化するように構成される。変換係数は、サブブロックに適用されることがある、たとえば対角フリップ、垂直フリップ、または回転などのいくつかの空間変換のうちの1つを表す係数を指すことがある。
【0043】
係数は、後にさらに詳しく説明するだろう、絶対値と符号(sign)との2つの成分として格納されることが可能であることが理解されるべきである。
【0044】
たとえばPUおよびTBなどのCUのサブブロックは、上記のようにサブブロックの寸法のあらゆる組み合わせにて配置されることが可能である。VVC規格エンコーダは、CUをTBの階層構造である残差四分木(「RQT」)に細分化するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。RQTは、各レベルのサブブロックを介して動き予測と残差符号化との順序を提供し、RQTの各レベルを再帰的に下げる。
【0045】
VVC規格のエンコーダは、さらに量子化114を実装する。コンピューティングシステムの1つまたは複数のプロセッサーは、量子化行列と上記のように割り当てられたQPとに基づいて、行列算術演算によって残差係数の量子化演算を実行するように構成される。残差係数が区間の内側に落ちることは保たれ、残差係数が区間のステップの外側に落ちることは破棄される。
【0046】
VVC規格エンコーダは、さらに逆量子化116と逆変換118とを実装する。コンピューティングシステムの1つまたは複数のプロセッサーは、上述の量子化演算と変換演算との逆である行列算術演算によって、量子化された残差係数に対して逆量子化演算と逆変換演算とを実行するように構成される。逆量子化演算および逆変換演算は、再構成された残差をもたらす。
【0047】
VVC規格のエンコーダは、さらにアッダー120を実装する。コンピューティングシステムの1つまたは複数のプロセッサーは、予測ブロックと再構成された残差を加算し、再構成されたブロックを出力することによって加算演算を実行するように構成される。
【0048】
VVC規格のエンコーダは、さらにループフィルタ122を実装する。コンピューティングシステムの1つまたは複数のプロセッサーは、たとえばデブロッキングフィルタ、サンプル適応オフセット(「SAO」)フィルタ、および適応ループフィルタ(「ALF」)などのループフィルタを再構成ブロックに適用し、フィルタリングされた再構成ブロックを出力するように構成される。
【0049】
VVC規格エンコーダはさらに、フィルタリングされ再構成されたブロックをデコードされたピクチャバッファ(「DPB」)200に出力するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。DPB200は、インター予測に関して上述したように、カレントピクチャ以外のピクチャを符号化する際に参照ピクチャとしてコンピューティングシステムの1つまたは複数のプロセッサーによって使用される再構成されたピクチャを格納する。
【0050】
VVC規格エンコーダは、さらにエントロピーコーダー124を実装する。コンピューティングシステムの1つまたは複数のプロセッサーは、エントロピー符号化を実行するように構成され、「CABAC」(Context-Sensitive Binary Arithmetic Codec)によれば、量子化された残差係数を造るシンボルは、バイナリストリング(以降、「ビン」)へのマッピングによって符号化され、圧縮ビットレートで出力ビットストリームにて送信されることが可能である。符号化される量子化された残差係数のシンボルには、残差係数の絶対値が含まれる(これらの絶対値は、後に「残差係数レベル」と呼ばれる)。
【0051】
ゆえに、エントロピーコーダーは、ブロックの残留係数レベルを符号化し、残留係数符号(residual coefficient sign)の符号化をバイパスし、符号化されたブロックと共に残留係数符号を記録するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成し、たとえば符号化モード、イントラ予測モードまたはインター予測モード、および符号化ブロックのシンタックス構造(ピクチャヘッダに見られるピクチャパラメータセット(「PPS」)と、同様に複数ピクチャのシーケンスに見られるシーケンスパラメータセット(「SPS」)など)に符号化された動き情報などの符号化パラメータセットと、を記録し符号化ブロックを出力する。
【0052】
VVC規格エンコーダは、エントロピーコーダー124からの符号化ブロックにより作り上げられた符号化ピクチャを出力するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。符号化された画像は、送信バッファに出力され、最終的にVVC規格のエンコーダから出力されるビットストリームにパッキングされる。ビットストリームは、送信のために、コンピューティングシステムの1つまたは複数のプロセッサーによって、コンピューティングシステムの非一過性または非一時的なコンピューター読取り可能記録媒体に書かれる。
【0053】
デコード処理150において、VVC規格デコーダは、入力として、ビットストリームから1つまたは複数の符号化ピクチャを受信するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0054】
VVC規格デコーダは、エントロピーデコーダ152を実装する。コンピューティングシステムの1つまたは複数のプロセッサーは、エントロピーデコードを実行するように構成され、CABACに従って、ビンが、シンボルのビンへのマッピングを反転することによってデコードされることによって、エントロピー符号化され量子化された残差係数を回復する。エントロピーデコーダ152は、量子化された残差係数を出力し、符号化バイパスされた残差係数符号(residual coefficient sign)を出力し、さらに、たとえばPPSおよびSPSなどのシンタックス構造を出力する。
【0055】
VVC規格デコーダは、さらに逆量子化154と逆変換156とを実装する。コンピューティングシステムの1つまたは複数のプロセッサーは、上述の量子化演算と変換演算との逆である行列算術演算によって、デコードされ量子化された残差係数に対して逆量子化演算と逆変換演算とを実行するように構成される。逆量子化演算および逆変換演算は、再構成された残差をもたらす。
【0056】
さらに、エントロピーコーダー124によってたとえばPPSおよびSPSなどのシンタックス構造に記録された符号化パラメータセット(あるいは、帯域外送信によって受信された、またはデコーダに符号化された)、および符号化パラメータセットに含まれる符号化モードに基づいて、VVC規格デコーダは、再構成された残差にイントラ予測156(すなわち、空間予測)を適用するか、または動き補償予測158(すなわち、時間予測)を適用するかどうかを決定する。
【0057】
符号化パラメータセットがイントラ予測を指定する場合では、VVC規格デコーダは、符号化パラメータセットで指定された予測情報を使用してイントラ予測158を実行するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。これにより、イントラ予測158は予測信号を生成する。
【0058】
符号化パラメータセットがインター予測を指定する場合では、VVC規格デコーダは、DPB200からの参照ピクチャを使用して動き補償予測160を実行するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。これにより、動き補償予測160は予測信号を生成する。
【0059】
VVC規格のデコーダは、さらにアッダー162を実装する。アッダー162は、再構成された残差と予測信号とに対して加算演算を実行することによって、再構成されたブロックを出力するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0060】
VVC規格のデコーダは、さらにループフィルタ164を実装する。コンピューティングシステムの1つまたは複数のプロセッサーは、たとえばデブロッキングフィルタ、SAOフィルタ、およびALFなどのループフィルタを再構成ブロックに適用し、フィルタリングされた再構成ブロックを出力するように構成される。
【0061】
VVC規格デコーダはさらに、フィルタリングされ再構成ブロックをDPB200に出力するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。上述したように、DPB200は、動き補償予測に関して上述したように、カレントピクチャ以外のピクチャを符号化する際に参照ピクチャとしてコンピューティングシステムの1つまたは複数のプロセッサーによって使用される再構成ピクチャを格納する。
【0062】
VVC規格デコーダはさらに、DPBから再構成されたピクチャを、たとえばテレビディスプレイ、パーソナルコンピューティングモニタ、スマートフォンディスプレイ、またはタブレットディスプレイなどのコンピューティングシステムのユーザービュー可能なディスプレイに出力するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0063】
それゆえ、上述したエンコード処理100とデコード処理150とにより例示したように、VVC規格のエンコーダとVVC規格のデコーダとは、各々、VVC規格にしたがって動き予測符号化を実装する。VVC規格エンコーダおよびVVC規格デコーダは、各々、VVC規格によって記述される動き補償予測に従って、DPBの前の再構成ピクチャに基づいて再構成されたピクチャを生成するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成し、前の再構成ピクチャは、本明細書に記述される動き補償予測における参照ピクチャとして機能する。
【0064】
VVC規格によれば、符号化ツリーは、ピクチャの輝度成分と色差成分とに別々のブロックツリー構造を提供するように構成される。CTUは3つのCTBを含むことが可能であり、これらは順に1つの輝度CTB(「Y」)と2つの色差CTB(「Cb」と「Cr」)とを含む。
【0065】
PスライスとBスライスに対して、1つのCTUの輝度CTBと色差CTBとは共通の符号化ツリー構造を共有するように構成される。しかしながら、Iスライスに対して、輝度CTBと色差CTBとは、別々のブロックツリー構造を有して構成されることが可能である。別々のブロックツリー用に構成された符号化ツリーを与えると、輝度CTBは第1の符号化ツリー構造によってCUに分割され、色差CTBは第2の符号化ツリー構造によって色差CUに分割される。
【0066】
言い換えれば、IスライスのCUは、輝度成分の符号化ブロックまたは2つの色差成分の符号化ブロックを含むことがあるが、PまたはBスライスのCUは、3つの色成分すべての符号化ブロックを含む(ビデオがモノクロでない限り)。
【0067】
VVC規格によれば、輝度成分は複数のイントラ予測モードによって予測されることが可能である。これらには、Planarイントラ予測モード、DCイントラ予測モード、Angularイントラ予測モード、マルチプルリファレンスライン(「MRL」)予測モード、イントラサブパーティション(「ISP」)モード、およびマトリックスベースイントラ予測(「MIP」)モードが含まれる。これらのモードについては、後に詳しく説明する。
【0068】
Angularイントラ予測は、HEVC規格に従って先行する実装から拡張されたDirectionalイントラ予測の手法である。自然なビデオに見られる任意のエッジ方向をキャプチャするために、VVC規格はAngularイントラ予測モードの数を33(HEVCで使用)から65に拡張する。
【0069】
図2は、VVC規格に係るAngularイントラ予測モードを示す図である。VVCで追加されたモードは破線により例示される。
【0070】
VVC規格は、(HEVCと同様に)DCモードおよびPlanarモードという2つの非Angularイントラ予測モードを実装する。DCイントラ予測モードでは、予測生成にブロックへの参照サンプルの平均サンプル値を使用する。VVCは長方形のブロックの長辺に沿った参照サンプルのみを使用して平均値を計算するが、正方形のブロックに対して、左側および上側の両方からの参照サンプルを使用する。Planarモードでは、4つの基準サンプル値の加重平均として予測サンプル値が得られる。ここでは、カレントサンプルと同じ行または列の参照サンプルと、ブロックに対して左下および右上の位置の参照サンプルが使用される。
【0071】
VVC規格はMRLモードを以下のように実装する。近隣のサンプルの直接隣接するラインに加えて、隣接しない2つの参照ラインのうちの1つがイントラ予測の入力を構成することが可能である。
【0072】
VVC規格は、以下のようにISPモードを実装する。輝度イントラ予測されたブロックは、ブロックサイズに応じて縦または横に2つまたは4つのサブパーティションに分割される。各サブパーティションに対して、予測および変換符号化動作は別々に実行されるが、イントラ予測モードはすべてのサブパーティションで共有される。
【0073】
VVC規格は、新しいイントラ予測技法であるMIPモードを以下のように実装する。幅W、高さHのブロックのサンプルを予測するために、ブロックの左のH個の再構成された近隣の境界サンプルの1ラインと、ブロックの上のW個の再構成された近隣の境界サンプルの1ラインとが入力として使用される。予測信号は、参照サンプルのダウンサンプリング、行列ベクトルの乗算、線形補間による結果のアップサンプリングの3つのステップに基づいて生成される。
【0074】
ECMはさらに、デコーダ側イントラモード導出(「DIMD」)モードとテンプレートベースイントラモード導出(「TIMD」)モードの2つの輝度イントラ予測モードを含む、VVC規格で提供されるものを超えるイントラ予測モードを実装する。
【0075】
DIMDの提案によれば、65の角度モードから2つのイントラ予測モードが再構成された近傍サンプルから導出され、これらの2つのプレディクタ(predictor)は勾配から導出された重みでPlanarモードプレディクタと組み合わされる。
【0076】
TIMDの提案によれば、リスト内の各予測モードに対して、テンプレートの予測サンプルと再構成されたサンプルとの間のSATDが計算される。第1に、SATDが最小となる2つのイントラ予測モードが選択され、次に、SATDから導き出された重みとフュージョンされる。
【0077】
VVC規格によれば、色差成分は複数のイントラ予測モードによって予測されることが可能である。これらには、3つのクロスコンポーネント線形モデル(「CCLM」)モード(CCLM_LT、CCLM_L、CCLM_T)、ダイレクトモード(「DM」)、および4つのデフォルトのイントラ予測モードが含まれる。
【0078】
VVC規格では、クロスコンポーネントの冗長性を低減するために、3つのCCLM予測モードを実装し、ブロックに隣接する既に再構成された輝度サンプルと色差サンプルとから計算されたパラメータを持つ線形モデルによって、同一位置の再構成された輝度サンプルからブロックの色差成分を予測されることが可能である。
【0079】
VVC規格はDMモードを実装しており、対応する輝度ブロックのイントラ予測モードが色差のイントラモードを決定する。対応する輝度ブロックがPlanar、DC、または角度モードを使用する場合は、同じモードが使用され、対応する輝度ブロックがイントラブロックコピー(「IBC」)またはパレットモードを使用して符号化される場合は、DCモードが使用され、対応する輝度ブロックがブロックDPCM(「BDPCM」)モードを使用して符号化される場合は、BDPCMの方向に応じて、水平または垂直のイントラ予測モードのいずれかが使用される。さらに、対応する輝度ブロックがMIPを使用している場合、色差カラーフォーマットが4:4:4でシングルパーティショニングツリーが適用されていれば、色差ブロックに同じMIPモードが適用され、そうでなければPlanarモードが適用される。
【0080】
BスライスとPスライスの場合、対応する輝度ブロックは、カレント色差ブロックと同じ位置にある輝度ブロックを表す。Iスライスの場合、輝度成分および色差成分に対して別々のブロック分割構造が有効であるため、1つの色差符号化ブロックが複数の輝度符号化ブロックに対応することがある。
【0081】
図3は、カレント色差ブロックに対応する輝度ブロックを示す図であり、対応する輝度ブロックが、中心位置の輝度サンプルを含む輝度符号化ブロックを表す。
【0082】
CCLMモードとDMモードとが使用されない場合、他の4つのデフォルトの非DMモードがリストで与えられる{Planarモード、水平モード、垂直モード、DCモード}。DMモードがすでにそのリストに属している場合、つまりDMモードが4つのモードのうちの1つと同じである場合、リスト内のモードは、モードインデックスが66の角度モードに置き換えられる。モードインデックスは、VVC規格が提供する各イントラ予測モードが識別される一意的な数を指すと理解すべきである。
【0083】
VVC規格では、色差イントラモードのシグナリングでは、まずCCLMを適用するか否かを示すフラグcclm_mode_flagがシグナリングされる。cclm_mode_flagが真としてシグナリングされるならば、3つのCCLMモードのうちのどれが適用されるかは、インデックスcclm_mode_id×によりシグナルされる。非CCLMの場合では、シンタックスintra_chroma_pred_modeは、DMモードと4つのデフォルトの非DMモードとのうちのどれが適用されるかを示すためにシグナリングされる。VVC仕様によるintra_chroma_pred_modeと、対応する色差イントラ予測モードとの二値化を下の表1に示す。
【0084】
【0085】
表1の最初の4行に見られるように、DMモードが使用されない場合、固定長のコードワードを使用して0から3の範囲のインデックスが2ビットずつ2値化されて、4つの非DMモードのうちのどれが使用されることになるかを決定する。より効率的にバイナリビットを処理するために、intra_chroma_pred_modeの最初のビットは、DMモードが適用されるかどうかを示すDMフラグとみなされることが可能であり、intra_chroma_pred_modeの最初のビットが0に等しいとき、それはDMモードが適用されることを意味し、最初のビットが1に等しいとき、4つのデフォルトの非DMモードのうちの1つが適用される。
【0086】
ECMによれば、CCLMは3つのマルチモデルLM(「MMLM」)モードを追加することで、VVCの実装よりも拡張されている。各MMLMモードにおいて、再構成された近隣のサンプルは、輝度の再構成された近隣のサンプルの平均であるしきい値を使用して2つのクラスに分類される。各クラスの線形モデルは、最小二乗法(「LMS」)を用いて計算される。
【0087】
ECMによれば、DIMDモードは上記のイントラ予測モードの代替として提供される。上述したイントラ予測モードとは異なり、DIMDによれば、輝度イントラ予測モードはビットストリームを介して送信されず、代わりに、エンコーダ側とデコーダ側とで同じやり方にて、2つのベストモードを導出するためのテクスチャ勾配処理を行うように構成されている。次に,2つの導出モードとPlanarモードとのプレディクタが正常に計算され,それらの加重平均がカレントブロックの最終的なプレディクタとして使用される。
【0088】
エンコーダとデコーダとがイントラ予測モードの代替としてDIMDを使用するかどうかを決定するために、各ブロックのビットストリームでDIMDモードを使用するかどうかを示すフラグがシグナリングされる。フラグの値が真の場合、カレントブロックではDIMDモードが使用され、BDPCMフラグ、MIPフラグ、ISPフラグ、およびMRLインデックスはゼロと推測される。今述べた場合では、さらに、イントラ予測モードのパーシングもすべてスキップされる。フラグ値が偽の場合、カレントブロックではDIMDモードは使用されず、ビットストリームフラグからの他のイントラモードのパーシングは正常に続けられる。
【0089】
2つのイントラ予測モードを導出し、各モードの重みを決定するために、VVC規格エンコーダとVVC規格デコーダとは、テクスチャ勾配処理を実行することによってヒストグラムをビルドするように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0090】
ブロックのDIMDヒストグラムをビルドするために、エンコーダおよびデコーダは、ブロックの上にエッジと左のエッジとに隣接するサンプルの第2の最も近い近隣のラインを包含するL字形テンプレートのサンプルに対して勾配解析を実行する。
図4はブロックの上のエッジおよび左のエッジと隣り合った第2の最も近い隣接したラインのサンプルを示す図である(影を付けた円として)。各円はサンプルを表し、
図4は個々のサンプルが形において幾何学的な円であることを示唆しないことが理解されるべきである。
【0091】
テンプレートの利用可能な各再構築サンプルについて、水平勾配および垂直勾配(「G
x」および「G
y」)は、フィルタウィンドウ(
図4に破線で図示されているように、サンプルの3×3ブロックを包含するフィルタウィンドウ)内のサンプルに水平(「F
hor」)および垂直ソーベルフィルタ(「F
ver」)を適用することによって、フィルタウィンドウのサンプルに以下の行列を乗算することによって計算される。
【0092】
【0093】
水平勾配Gxと垂直勾配Gyとが計算されたテンプレート内の各サンプルについて、勾配の強度(「G」)と向き(「O」)とが、GxとGyを用いて次の式によりさらに計算される。
【0094】
【0095】
次に、勾配の向きOが、最も近いイントラ角度予測モードに変換され、ヒストグラムのインデックス付けに使用される。エンコーダおよびデコーダは、まずヒストグラムの各値を0に初期化し、次にそれぞれのイントラ角度予測モードに対して各ヒストグラムの値をGずつ増加させる。
【0096】
テンプレート内の各サンプルが処理された後、ヒストグラムは各角度内予測モードに対する勾配強度の累積値を含むことがある。エンコーダおよびデコーダは、次の予測フュージョン処理のために、最大の振幅値と第2の最大の振幅値とを有する2つのモードを選択する(これらのモードは、それぞれ、M1およびM2と表される)。ヒストグラムの最大振幅値が0の場合、カレントブロックのイントラ予測モードとして、他のモードではなくPlanarモードが選択される。
【0097】
DIMDによれば、エンコーダおよびデコーダは、最大のヒストグラム振幅値に対応する2つのイントラ予測角度モードM1およびM2を、Planarモードと組み合わせて、カレントブロックの最終的な予測値を生成する。
【0098】
予測フュージョンは上記3つのプレディクタの加重平均として適用され、各予測モードは互いに対して相対的に高くまたは低く加重され、本明細書においてPlanarモードの重みは、21/64(ほぼ1/3に等しい)に固定される。次に、残りのウェイト43/64(約2/3に相当)は、M1とM2との間で、振幅値に比例して、シェアされる。
【0099】
図5は予測ブレンド処理を示す図であり、ampl(M
1)およびampl(M
2)は、それぞれ、M
1およびM
2の振幅値を表す。
【0100】
ECMの下のエンコーダとデコーダとは、輝度ブロックに対してのみDIMDモードを使用する。エンコーダとデコーダとがカレント輝度ブロックに対してDIMDモードを選択した場合、カレントブロックのイントラ予測モードは、カレントブロックの低周波非分離変換(「LFNST」)セットの選択、隣接する輝度ブロックの最確モード(「MPM」)リストの導出、および同一位置の色差ブロックのダイレクトモード(「DM」)の導出のために、M1として格納される。
【0101】
上述したように、ECMはVVC規格よりもAngularイントラ予測モードの機能を拡張する。しかしながら、色差ブロックの場合、有効な角度モードは3つだけで、そのうち2つは水平モードと垂直モードに固定されている。一般的に、色差ブロックに対してより多くの角度モードを有効にすることで、予測精度を向上させることが可能である。しかしながら、1つの色差ブロックで有効な角度モードの数がより増えることを考慮して、必要なビットオーバーヘッドが増えて、全体的なBDレート性能は向上しない可能性がある。可能な解決策は、効率的な角度モードのみを追加し、エンコーダ側とデコーダ側で同じ方法を用いてモードを導出することである。
【0102】
上述したように、ECMはVVC規格を拡張し、より多くのイントラ予測モードを提供する。さらに加えて、ECMは、色差ブロックよりも輝度ブロックに対してより多くの利用可能なイントラ予測モードを規定して、ダイレクトモードの正確度を下げる。例えば、色差ブロックに対して、対応する輝度ブロックのイントラ予測モード(IBC、BDPCM、MIPモードなど)が利用できない場合、このモードは、Planarモード、DCモード、水平モード、垂直モードのうちの1つにマッピングされ、色差ブロックのイントラ予測に使用される。特にIスライスでは、輝度と色差に別々のブロックツリー構造を使うため、DMモードはより不正確になる。色差ブロックが複数の輝度ブロックに対応することがあり、DMモードが中心位置の輝度サンプルを含む輝度ブロックのイントラ予測モードのみを選択することがあるので、非常に小さな輝度ブロックに対して、カレント色差ブロックのテクスチャ特性をマッチングさせることは困難である。
【0103】
したがって、本開示の例示的な実施形態は、デコーダ側の色差イントラ予測モード勾配ベースの導出方法を提供し、色差イントラ予測の符号化効率を向上させ、それによって信号コストを節約する。VVC規格エンコーダとVVC規格デコーダは、カレント色差ブロックの隣接する輝度サンプルと色差サンプルの勾配を計算することによって、複数の可能な色差イントラ予測モードの1つを導出するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。本開示の例示的な実施形態は、ECMのイントラ予測モードの拡張と並行して実装されることが可能である、またはECMのイントラ予測モードの拡張を省略しながら実装されることが可能である。上述したDIMDと同様に、「デコーダ側」は、この方法がデコーダによってのみ実装されることを意味するのではなく、むしろ、この方法のステップは、後に説明するように、エンコーダおよびデコーダによって同様または同一に実装され得ることを理解すべきである。
【0104】
本開示の例示的な実施形態によれば、コンピューティングシステムは、少なくとも1つまたは複数のプロセッサーと、1つまたは複数のプロセッサーに通信可能に結合されたコンピューター読取り可能記録媒体とを含む。コンピューター読取り可能記録媒体は、
図12を参照して後に定義するように、コンピューター読取り可能命令を記憶した非一過性または非一時的なコンピューター読取り可能記録媒体である。コンピューター読取り可能記録媒体に格納された少なくともいくつかのコンピューター読取り可能命令は、コンピューター読取り可能命令の関連する動作(少なくとも上記で定義されたVVC規格エンコーダの動作、および上記で定義されたVVC規格デコーダの動作を含む)を実行するように1つまたは複数のプロセッサーを構成するために、コンピューティングシステムの1つまたは複数のプロセッサーによって実行可能である。本開示の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、同一位置の再構成された輝度サンプル、同一位置の輝度ブロック隣接の再構成された輝度サンプル、および隣接した再構成された色差サンプルのうちのいずれか、いくつか、またはすべてのテクスチャ勾配の計算に基づいて、カレント色差ブロックを再構成する際に適用される色差イントラ予測モードを導出するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成するコンピューティングシステムの1つまたは複数のプロセッサーによって実行可能である、コンピューター読取り可能記録媒体に格納されたコンピューター読取り可能命令を含む。
【0105】
この方法では、イントラ予測のモードは、上記のように符号化され、ビットストリームで送信される必要がないため、符号化プロセスにおけるシグナリングコストを削減することができる。さらに、VVC規格のエンコーダとVVC規格のデコーダとの両方が、コンピューティングシステムの1つまたは複数のプロセッサーを構成して、同じブロックの色差イントラ予測モードを導出することが可能であり、エンコーダによって構成された導出とデコーダによって構成された導出は、任意の与えられたカレント色差ブロックに対して、同じモードまたは異なるモードをもたらすことが可能である。
【0106】
カレント色差ブロックを符号化またはデコーディングする間、ラスタ走査順序に従って、同一位置の輝度サンプルと上の隣接および左の隣接の色差サンプルは、カレント色差ブロックの前に符号化またはデコーディングされているので、これらのサンプルの再構成値は、カレント色差ブロックのイントラ予測モードを導出するために、コンピューティングシステムの1つまたは複数のプロセッサーを構成するVVC規格エンコーダおよびVVC規格デコーダによって使用することが可能である。しかしながら、このような隣接する色差サンプルは、必ずしもカレント色差ブロックごとに利用可能であるとは限らないことを理解されたい。本開示の例示的な実施形態に従ってサンプルが「利用可能」であるかどうかは、後に定義する。
【0107】
カレント色差ブロックがピクチャ、スライス、タイルの境界にある場合、一辺に隣接する色差サンプルが存在しないことがある。さらに、上隣接および左隣接の色差サンプルがカレント色差ブロックより前に符号化またはデコードされるならば、右隣接および下隣接の色差サンプルは、ラスタ走査順序に従って、カレント符号化ブロックより前に符号化またはデコードされないことがある。他の可能な符号化順序は、上のエッジ、左のエッジ、右のエッジ、または下のエッジの全体において、隣接する色差サンプルの利用可能性を変更することもある。以降、本開示では、エッジ全体に沿って存在しない、または符号化されておらずデコードされていない隣接する色差サンプルを「利用できない」と呼ぶ。
【0108】
VVC規格エンコーダおよびVVC規格デコーダは、以下のように、勾配ベースの導出方法を実行するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する:導出に参加する各再構築サンプルについて、水平勾配および垂直勾配、G
xおよびG
yが、フィルタウィンドウのサンプルに水平および垂直ソーベルフィルタを適用することによって計算され(上述した
図4に示されるように)、水平(「F
hor」)および垂直ソーベルフィルタ(「F
ver」)は、フィルタウィンドウのサンプルに以下の行列を乗算することによって適用される。
【0109】
【0110】
勾配の強度Gと向きOは、さらにGxとGyを用いて下の式2で計算される。
【0111】
【0112】
次に、VVC規格エンコーダおよびVVC規格デコーダは、GおよびOに基づいてイントラ予測モードヒストグラムを構築し、計算された勾配に基づいて、最大のヒストグラム振幅値に対応するイントラ予測モードをカレント色差ブロックのイントラ予測モードとして選択するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。導出される色差イントラ予測モードは、Planarモードと65角度モードとのいずれか1つである。
【0113】
色差イントラ予測モードの勾配ベースの導出に参加するサンプルは、同一位置の輝度の再構成されたサンプル、または同一位置のYの再構成されたサンプル」)を含むことが可能であり、同一位置の輝度ブロックに隣接する再構成された輝度サンプル、同一位置のYブロックに隣接する再構成Yサンプルを含むことが可能であり、隣接するCbおよびCrの再構成されたサンプルを含むことが可能である。同一位置の輝度の再構成されたサンプルは、同一位置の輝度ブロック602から最も外のエッジのサンプルを除いた再構成されたサンプルを含むことが可能であり、最も外のエッジを除いた再構成されたサンプルは、
図6Aに影を付けた円として図示されている。同一位置の輝度ブロック隣接の輝度の再構成されたサンプルは、
図6Bに斜線を付した円として図示される、同一位置の輝度ブロック602の上のエッジに隣接し、かつ同一位置の輝度ブロック602の左のエッジに隣接する第2の最も近い近隣のライン608を包含するL字形テンプレートの再構成されたサンプルを含み得る。言い換えれば、これらの再構成された輝度サンプルは、同一位置の輝度ブロック602自体が再構成されたか否かに関係なく、同一位置の輝度ブロック602に隣接する。隣接するCbおよびCrの再構成されたサンプルは、
図6Cおよび
図6Dにそれぞれ斜線を付した円で示される、カレント色差ブロックの上のエッジに隣接し、カレント色差ブロックの左のエッジに隣接する第2の最も近い近隣のライン608(カレントCbブロック604およびカレントCrブロック606として図示される)を包含するL字形テンプレートの再構成されたサンプルを含むことが可能である。各円はサンプルを表し、
図6a、6B、6C、6Dは、個々のサンプルが形において幾何学な円であることを示唆しないことが理解されるべきである。
【0114】
本開示の個々の例示的な実施形態は、イントラ予測モードを導出する際に、上記の再構成されたサンプルの全てを利用するわけではないことを理解されたい。むしろ、本開示の異なる例示的な実施形態によれば、再構成されたサンプルの異なるサブセットが、デコーダ側の勾配ベースの色差イントラ予測モード導出に参加する。
【0115】
さらに、「参加する」とは、再構成されたサンプル自体が本明細書に記載の方法のいずれかのステップを行うのではなく、VVC規格エンコーダおよびVVC規格デコーダが、特定の参加サンプルを使用して上述の計算を実行するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成することを指すと理解すべきである。
【0116】
1つの例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、カレント色差ブロック604および606の色差イントラ予測モードを導出するために、同一位置の再構成された輝度サンプルのみの勾配を計算するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成し、導出された色差イントラ予測モードは、その後、CbおよびCrブロック604および606の両方に使用される。
【0117】
別の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、
図6Aの斜線を付した円によって示されるように、カレント色差ブロック604および606の色差イントラ予測モードを導出するために、最も外のエッジのサンプルなしで、同一位置の輝度ブロック602から再構成されたサンプルの勾配を計算するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。
図6Aはサンプルのパターンを示しており、パターンに従ったサンプルの数は、図示されたサンプルの数より多くても少なくてもよいことを理解されたい。
【0118】
一例として、VVC規格エンコーダおよびVVC規格デコーダは、隣接サンプルの利用可能性に応じて、同一位置の輝度ブロック602からの再構成されたサンプルを参加から除外し、カレント色差ブロック604および606の色差イントラ予測モードの導出に参加する除外されない再構成されたサンプルを残すように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。同一位置の輝度ブロック602の上隣接サンプルが利用可能でない場合、同一位置の輝度ブロック602の最初の行のサンプルは使用されず、同一位置の輝度ブロック602の左隣接サンプルが利用可能でない場合、同一位置の輝度ブロック602の最初の列のサンプルは使用されず、同一位置の輝度ブロック602の下位隣接サンプルが利用可能でない場合、同一位置の輝度ブロック602の最後の行のサンプルは使用されず、同一位置の輝度ブロック602の右隣接サンプルが利用可能でない場合、同一位置の輝度ブロック602の最後の列のサンプルは使用されない。
【0119】
別の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、カレント色差ブロック604および606の色差イントラ予測モードを導出するために、同一位置の輝度ブロック隣接の再構成された輝度サンプルのみの勾配を計算するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。次に、導出された色差イントラ予測モードは、Cbブロック604とCrブロック606との両方を再構成するときに適用される。
【0120】
一例として、VVC規格エンコーダおよびVVC規格デコーダは、カレント色差ブロック604および606の色差イントラ予測モードを導出するために、同一位置の輝度ブロック602の上のエッジに隣接し、同一位置の輝度ブロック602の左のエッジに隣接する第2の最も近い近隣のライン608を包含するL字形テンプレートの再構成された輝度サンプルの勾配を計算するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。使用されたサンプルは、
図6Bに例示されるように、影を付けた円のパターンにより例示される。
図6Bがサンプルのパターンを例示し、パターンにしたがうサンプルの数が、例示されたサンプルの数より多いまたは少ないことが可能であることは理解されるべきである。
【0121】
別の例として、VVC規格エンコーダおよびVVC規格デコーダは、カレント色差ブロック604および606の色差イントラ予測モードを導出するために、拡張された同一位置の輝度ブロック隣接の再構成された輝度サンプルの勾配を計算するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。特に、同一位置の輝度ブロック602の上のエッジに隣接し、同一位置の輝度ブロック602の左のエッジに隣接し、同一位置の輝度ブロック602の右上のエッジに隣接し、同一位置の輝度ブロック602の左下縁に隣接する第2の最も近い近隣のライン608を包含するL字形テンプレートの再構成されたサンプルの勾配は、カレント色差ブロック604および606の色差イントラ予測モードを導出するために計算される。使用したサンプルは、
図7に示すように、斜線の円のパターンで示されている。本開示を理解する目的のために、「拡張された」は、
図7のパターンによって図示され、
図6Bのパターンによって図示されない、左下サンプルおよび/または右上サンプルのいずれか、いくつか、またはすべてを包含すると理解されるべきである。
図7はサンプルのパターンを示しており、パターンに従ったサンプルの数は、図示されたサンプルの数より多くても少なくてもよいことを理解されたい。
【0122】
別の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、カレント色差ブロック604および606の色差イントラ予測モードを導出するために、同一位置の再構成された輝度サンプルおよび同一位置の輝度ブロック隣接の再構成された輝度サンプルの再構成された輝度サンプルの勾配を連動して計算するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。次に、導出された色差イントラ予測モードは、Cbブロック604とCrブロック606との両方を再構成するときに適用される。
【0123】
一例として、同一位置の再構成された輝度ブロック602内の同一位置の再構成された輝度サンプルの勾配と、同一位置の輝度ブロック602の上のエッジに隣接し、同一位置の輝度ブロック602の左のエッジに隣接する第1の最も近い近隣のライン610を包含するL字形テンプレートの再構成されたサンプルとが、カレント色差ブロック604および606の色差イントラ予測モードを導出するために、連動して計算される。使用したサンプルは、
図8に示すように、斜線の円のパターンで示されている。
図8はサンプルのパターンを示しており、パターンに従ったサンプルの数は、図示されたサンプルの数より多くても少なくてもよいことを理解されたい。
【0124】
別の例として、同一位置の再構成された輝度ブロック602内の同一位置の再構成された輝度サンプルと、同一位置の輝度ブロック602の上のエッジに隣接し、同一位置の輝度ブロック602の左のエッジに隣接する第1の最も近い近隣のライン610および第2の最も近い近隣のライン608を包含するL字形テンプレートの再構成されたサンプルとの勾配は、カレント色差ブロック604および606の色差イントラ予測モードを導出するために、連動して計算される。使用したサンプルは、
図9に示すように、斜線の円のパターンで示されている。
図9はサンプルのパターンを示しており、パターンに従ったサンプルの数は、図示されたサンプルの数より多くても少なくてもよいことを理解されたい。
【0125】
別の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、カレント色差ブロック604および606の色差イントラ予測モードを導出するために、隣接した再構成されたCbサンプルのみの勾配を計算するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。使用されたサンプルは、
図6Bに例示されるように、影を付けた円のパターンにより例示される。
図6Bがサンプルのパターンを例示し、パターンにしたがうサンプルの数が、例示されたサンプルの数より多いまたは少ないことが可能であることは理解されるべきである。次に、導出された色差イントラ予測モードは、Cbブロック604とCrブロック606との両方を再構成するときに適用される。
【0126】
例として、拡張された隣接する再構成されたCbサンプルの勾配は、カレント色差ブロック604および606の色差イントラ予測モードを導出するために計算される。特に、カレントCbブロック604の上のエッジに隣接し、カレントCbブロック604の左のエッジに隣接し、カレントCbブロック604の右上のエッジに隣接し、カレントCbブロック604の左下縁に隣接する第2の最も近い近隣のライン608を包含するL字形テンプレートの再構成されたサンプルの勾配は、カレント色差ブロック604および606の色差イントラ予測モードを導出するために計算される。使用したサンプルは、
図10に示すように、斜線の円のパターンで示されている。本開示を理解する目的のために、「拡張された」は、
図10のパターンによって図示され、
図6Cのパターンによって図示されない、左下サンプルおよび/または右上サンプルのいずれか、いくつか、またはすべてを包含すると理解されるべきである。
図10はサンプルのパターンを示しており、パターンに従ったサンプルの数は、図示されたサンプルの数より多くても少なくてもよいことを理解されたい。
【0127】
別の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、カレント色差ブロック604および606の色差イントラ予測モードを導出するために、隣接した再構成されたCrサンプルのみの勾配を計算するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。使用されたサンプルは、
図6Cに示されるように、斜線の円のパターンで示される。
図6Cはサンプルのパターンを示しており、パターンに従ったサンプルの数は、図示されたサンプルの数より多くても少なくてもよいことが理解されるべきである。次に、導出された色差イントラ予測モードは、Cbブロック604とCrブロック606との両方を再構成するときに適用される。
【0128】
例として、拡張された隣接する再構成されたCrサンプルの勾配は、カレント色差ブロック604および606の色差イントラ予測モードを導出するために計算される。特に、カレントCrブロック606の上のエッジに隣接し、カレントCrブロック606の左のエッジに隣接し、カレントCrブロック606の右上のエッジに隣接し、カレントCrブロック606の左下縁に隣接する第2の最も近い近隣のライン608のL字形テンプレートの再構成されたサンプルは、カレント色差ブロック604および606の色差イントラ予測モードを導出するために使用される。使用したサンプルは、
図11に示すように、斜線の円のパターンで示されている。本開示を理解する目的のために、「拡張された」は、
図11のパターンによって図示され、
図6Dのパターンによって図示されない、左下サンプルおよび/または右上サンプルのいずれか、いくつか、またはすべてを包含すると理解されるべきである。
図11はサンプルのパターンを示しており、パターンに従ったサンプルの数は、図示されたサンプルの数より多くても少なくてもよいことを理解されたい。
【0129】
別の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、カレント色差ブロック604および606の色差イントラ予測モードを導出するために、隣接した再構成されたCbサンプルおよび隣接した再構成されたCrサンプルの両方の勾配を計算するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0130】
一例として、VVC規格エンコーダおよびVVC規格デコーダは、CbおよびCrブロック604および606の両方について色差イントラ予測モードを導出するために、隣接した再構成されたCbサンプルおよび隣接した再構成されたCrサンプルの勾配を連動して計算するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。使用されたサンプルは、
図6Cおよび
図6Dに示されるように、斜線の円のパターンで示される。
図6Cおよび
図6Dは、サンプルのパターンを示しており、パターンに従ったサンプルの数は、図示されたサンプルの数より多くても少なくてもよいことを理解されたい。
【0131】
別の例として、VVC規格エンコーダおよびVVC規格デコーダは、CbおよびCrブロック604および606の両方について色差イントラ予測モードを導出するために、拡張された隣接する再構成されたCbサンプルおよび拡張された隣接する再構成されたCrサンプルの勾配を連動して計算するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。使用したサンプルは、
図10および
図11に示すように、斜線の円のパターンで示されている。本開示を理解する目的で、「拡張された」は、
図10および
図11のパターンによって図示され、
図6Cおよび
図6Dのパターンによって図示されない、左下サンプルおよび/または右上サンプルのいずれか、いくつか、またはすべてを包含すると理解されるべきである。
図10および
図11は、サンプルのパターンを示しており、パターンに従ったサンプルの数は、図示されたサンプルの数より多くても少なくてもよいことを理解されたい。
【0132】
別の例として、VVC規格エンコーダおよびVVC規格デコーダは、カレントCbブロック604に対する色差イントラ予測モードを導出するために、隣接した再構成されたCbサンプルの勾配を計算し、カレントCrブロック606に対する色差イントラ予測モードを導出するために、隣接した再構成されたCrサンプルの勾配を計算するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0133】
別の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、カレント色差ブロックの色差イントラ予測モードを導出するために、同一位置の再構成された輝度サンプル、隣接した再構成されたCbサンプルおよび隣接した再構成されたCrサンプルの勾配を計算するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0134】
一例として、VVC規格エンコーダおよびVVC規格デコーダは、CbおよびCrブロック604および606の色差イントラ予測モードを導出するために、位置合わせされた再構成された輝度サンプル、隣接した再構成されたCbサンプルおよび隣接した再構成されたCrサンプルの勾配を一緒に計算するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。使用したサンプルは、
図6A、
図6C、
図6Dに示すように、斜線の円のパターンで示されている。
図6A、
図6C、および
図6Dは、サンプルのパターンを示しており、パターンに従ったサンプルの数は、図示されたサンプルの数より多くても少なくてもよいことが理解されるべきである。
【0135】
別の例として、VVC規格エンコーダおよびVVC規格デコーダは、計算システムの1つまたは複数のプロセッサーを構成して、位置合わせされた再構成された輝度サンプル、隣接した再構成されたCbサンプル、および隣接した再構成されたCrサンプルの勾配を計算し、重み付け方法によってヒストグラムを計算する。具体的には、Yサンプル、Cbサンプル、およびCrサンプルを使用してヒストグラムを構築する場合、デコーダは、計算されたヒストグラム振幅値に3つの重みw_Y、w_Cb、およびw_Crをそれぞれ乗算するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。3つの重みの値は、あらゆる非負値である。例えば、導出に使用するY、Cb、Crサンプルの数をそれぞれnum_Y、num_Cb、num_Crとおくと、w_Y、w_Cb、w_Crは、それぞれ(num_Cb+num_Cr)/num_Y、1、および1の値を有することが可能である。
【0136】
別の例として、VVC規格エンコーダおよびVVC規格デコーダは、第1の色差イントラ予測モードmode1を導出するために、位置合わせされた再構成された輝度サンプルの勾配を計算し、第2の色差イントラ予測モードmode2を導出するために、隣接した再構成されたCbサンプルの勾配を計算し、第3の色差イントラ予測モードmode3を導出するために、隣接した再構成されたCrサンプルの勾配を計算するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。そして、これら3つのモードのうち2つまたは3つが共通するモードである場合、デコーダは、カレントCbおよびCrブロック604および606を再構成する際の予測モードとして共通するモードを適用するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成し、そうでない場合、デコーダは、mode1を適用するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0137】
別の例として、VVC規格エンコーダおよびVVC規格デコーダは、Cbブロック604の色差イントラ予測モードを導出するために、同一位置の再構成された輝度サンプルよび隣接した再構成されたCbサンプルの勾配を計算し、Crブロック606の色差イントラ予測モードを導出するために、同一位置の再構成された輝度サンプルおよび隣接した再構成されたCrサンプルの勾配を計算するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0138】
別の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、カレント色差ブロック604および606の色差イントラ予測モードを導出するために、同一位置の輝度ブロック隣接の再構成された輝度サンプル、隣接の再構成されたCbサンプルの勾配を計算するように、および隣接の再構成されたCrサンプルの勾配を計算するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0139】
一例として、CbおよびCrブロック604および606の色差イントラ予測モードを導出するために、同一位置の輝度ブロックに隣接する再構成された輝度サンプル、隣接する再構成されたCbサンプル、および隣接する再構成されたCrサンプルの勾配が連動して計算される。使用されたサンプルは、
図6B、6C、6Dに示されるように、斜線の円のパターンで示される。
図6B、
図6C、および
図6Dは、サンプルのパターンを示しており、パターンに従ったサンプルの数は、図示されたサンプルの数より多くても少なくてもよいことが理解されるべきである。
【0140】
別の例として、Cbブロック604の色差イントラ予測モードを導出するために、位置合わせされた輝度ブロックに隣接した再構成された輝度サンプルおよび隣接した再構成されたCbサンプルの勾配が計算され、Crブロック606の色差イントラ予測モードを導出するために、位置合わせされた輝度ブロックに隣接した再構成された輝度サンプルおよび隣接した再構成されたCrサンプルの勾配が計算される。
【0141】
別の例として、拡張された隣接する再構成されたサンプルの勾配は、カレント色差ブロック604、606の色差イントラ予測モードを導出するために計算される。「拡張」は、
図7、
図10、
図11を参照して上述したように理解されるべきである。
【0142】
別の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、カレント色差ブロック604および606の色差イントラ予測モードを導出するために、同一位置の再構成された輝度サンプル、同一位置の輝度ブロックに隣接した再構成された輝度サンプル、隣接した再構成されたCbサンプルおよび隣接した再構成されたCrサンプルの勾配を計算するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0143】
一例として、VVC規格エンコーダおよびVVC規格デコーダは、色差イントラ予測モードを導出するために、同一位置の再構成された輝度サンプル、同一位置の輝度ブロックに隣接した再構成された輝度サンプル、隣接した再構成されたCbサンプル、および隣接した再構成されたCrサンプルのサブセットを選択するために、上記サンプルに対してダウンサンプリングを実行するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。ダウンサンプリングの方法はブロックサイズによって異なる。使用したサンプルは、
図6A、6B、6C、6Dに示されるように、斜線の円のパターンで示されている。
図6A、
図6B、
図6C、および
図6Dは、サンプルのパターンを示しており、パターンに従ったサンプルの数は、図示されたサンプルの数より多くても少なくてもよいことを理解されたい。
【0144】
隣接する再構成されたサンプルの勾配が色差イントラ予測モードを導出するために計算される、上述の例示的な実施形態のいずれか、いくつか、またはすべてによれば、隣接する再構成されたサンプルが利用可能でない場合、VVC規格エンコーダおよびVVC規格デコーダは、導出された色差イントラ予測モードとしてデフォルトモードを適用するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。ちなみに、導出される色差イントラ予測モードとしては、プラナーモードが適用される。
【0145】
VVC規格の様々な出版物によると、水平CTU境界の上に再構成されたサンプルを保存するためにラインバッファが提供される。したがって、色差イントラ予測モードを導出する上述の例示的な実施形態のいずれか、いくつか、またはすべてによれば、VVC規格エンコーダおよびVVC規格デコーダは、コンピューティングシステムの1つまたは複数のプロセッサーを以下のように構成する、水平CTU境界より上の再構成されたサンプルについて、隣接した再構成されたサンプルの最初のn行のみの勾配を計算して、色差イントラ予測モードを導出する(ここで、nは、ラインバッファに格納された行の数に等しい)。このようにして、本開示の例示的な実施形態は、ラインバッファの増大を回避する。
【0146】
色差イントラ予測モードを導出する上述の例示的な実施形態のいずれか、いくつか、またはすべてによれば、同一位置の輝度ブロック602は、カレント色差ブロック604および606と同じ位置にある輝度ブロックを指す。4:2:0フォーマットのピクチャの場合、同一位置の輝度ブロック602の幅と高さはそれぞれ、カレント色差ブロック604と606の幅と高さの2倍である。BスライスとPスライスの場合、同一位置の輝度ブロック602とカレント色差ブロック604、606は同じCUを参照する。Iスライスの場合、カレント色差ブロック604、606の左上のサンプルの座標を(x、y)、カレント色差ブロック604、606の幅と高さをW、Hとすると、同一位置の輝度ブロック602は、座標(2x、2y)の輝度サンプルから幅が2W、高さが2Hのブロック内の輝度サンプルで構成されるブロックとして定義することが可能であり、このようなブロックは1つまたは複数のCUを含むことが可能である。
【0147】
さらに、色差イントラ予測モードを導出する上述の例示的な実施形態のいずれか、いくつか、またはすべてによれば、色差イントラ予測モードを導出するために使用される同一位置の輝度サンプルは、座標(2x+shiftx,2y+shifty)を有する輝度サンプルから2Wの幅および2Hの高さを有するブロック内の輝度サンプルとすることが可能であり、shift×およびshiftyは、あらゆる整数値であることが可能である。
【0148】
続いて、本開示の例示的な実施形態による色差イントラ予測モードの勾配ベースの導出についてさらに詳細に説明する。対応するサンプルの勾配に基づくこのような導出は、VVC規格に従った前述のDIMD導出方法とは異なることを理解されたい。
【0149】
例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、フィルタウィンドウのサンプルにソーベルフィルタ以外の以下の行列の少なくとも1つを乗算することによって、フィルタウィンドウの対応するサンプルを使用して勾配を計算する際に、少なくともソーベルフィルタ以外のフィルタを適用するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0150】
水平方向と垂直方向の勾配を計算するために適用されるフィルタは、下に示されるような行列のどちらのペアでも含むことが可能であり、ただし、aおよびbはあらゆる整数値であることが可能である。
【0151】
【0152】
さらに、本開示の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、1つではなく、融合のための複数の色差イントラ予測モードを導出するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。VVC規格エンコーダおよびVVC規格デコーダは、計算された勾配に基づいて、n個の最大のヒストグラム振幅値、すなわちM1,M2,・・・,Mnに対応するn個の予測内角度モードを選択するように、計算システムの1つまたは複数のプロセッサーを構成する。VVC規格エンコーダおよびVVC規格デコーダは、n個のモードをフュージョンして、カレント色差ブロック604および606のフュージョンされたプレディクタを生成するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。その上、VVC規格エンコーダおよびVVC規格デコーダは、さらに加えて、n個のモードをPlanarモードとフュージョンして、カレント色差ブロック604および606のフュージョンされたプレディクタを生成するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。n個のモードに対する重みは、ヒストグラムにおけるそれらのモードに対応するそれぞれの振幅値に比例して設定されることが可能である。
【0153】
さらに、本開示の例示的な実施形態によれば、VVC規格エンコーダおよびVVC規格デコーダは、導出された色差イントラ予測モードがVVC規格のDMモードと同じであるまたはVVC規格の4つのデフォルト非DMモードのうちの1つと同じである場合に帰着する競合に対処する、モードフラグ置換方法をさらに実施するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0154】
1つの例示的な実施形態によれば、導出された色差イントラ予測モードがDMモードと同じである場合、VVC規格エンコーダおよびVVC規格デコーダは、最大のヒストグラム振幅値に対応するイントラ予測モードがDMモードであると決定し、イントラ予測モードヒストグラムから第2の最大のヒストグラム振幅値に対応する色差イントラ予測モードを選択するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0155】
別の例示的な実施形態によれば、導出された色差イントラ予測モードが4つのデフォルト非DMモードのうちの1つと同じである場合、VVC規格エンコーダおよびVVC規格デコーダは、リスト内のデフォルトモードを別のモード(例えば、VVC規格によって提供されるイントラ予測モード34)で置き換えるようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0156】
さらに、本開示の例示的な実施形態によれば、VVC規格エンコーダは、ビットストリームにおいて、VVC規格デコーダに対して、デコーダが上述の実施形態のいずれかに従って導出される勾配ベースである色差イントラ予測モードを適用すべきか、または別のイントラ予測モードを適用すべきかのシグナリングを実施するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。ビットストリーム内の信号は、後述するモード決定フラグをビットストリーム内に書き込むことによって実行される。モード決定フラグを含むビットストリームは、送信のために、コンピューティングシステムの1つまたは複数のプロセッサーによって、コンピューティングシステムの非一過性または非一時的なコンピューター読取り可能記録媒体に書かれる。
【0157】
例示的な実施形態によれば、VVC規格デコーダは、DMモードの代わりに勾配ベースの導出された色差イントラ予測モードを適用するようにコンピューティングシステムの1つまたは複数のプロセッサーを構成する。DMモードのビットストリームにおけるエンコーダのシグナリングは再利用され、それ以上のシグナリングは必要ない。
【0158】
例示的な実施形態によれば、VVC規格エンコーダは、他のイントラ予測モードの使用を信号する可能なフラグと並んで、ビットストリームにおいて、勾配ベースの導出された色差イントラ予測モードを色差イントラ予測モードとして使用するかどうかを信号するモード決定フラグを設定するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。VVC規格デコーダは、ビットストリームから、色差イントラ予測モードを導出する前にモード決定フラグをパーシングし、ビットストリームから、他のイントラ予測モードの使用を示すフラグをパーシングするように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0159】
1つの例示的な実施形態によれば、VVC規格エンコーダは、ビットストリームにおいて第1のフラグをシグナリングするように、コンピューティングシステムの1つまたは複数のプロセッサーを構成し、第1のフラグは、エントロピーデコーダにより構成されたコンピューティングシステムの1つまたは複数のプロセッサーによって、カレント色差ブロック604および606に、勾配ベースの導出されたデコーダ側色差イントラ予測モードを適用するかどうかを示すモード決定フラグであり、第1のフラグは、ビットストリームにおいて第2のフラグの前にあり、第2のフラグは、エントロピーデコーダにより構成されたコンピューティングシステムの1つまたは複数のプロセッサーによって、カレント色差ブロック604および606に、DMモードを適用するかどうかを示すDMフラグである。従って、intra_chroma_pred_modeの2値化を下の表2のように拡張することで、勾配ベースの導出された色差イントラ予測モード、DMモード、4つのデフォルトモードのうち、どのモードをデコーダが適用するかを示すことが可能である。表2において、各ビンストリングの第1のビットは、本開示の例示的な実施形態によるモード決定フラグである。
【0160】
【0161】
intra_chroma_pred_modeの第1のビットは、勾配ベースの導出された色差イントラ予測を適用するか否かをデコーダにフラグする(すなわち、第1のビットが0の場合のみ)。最初のビットが1であるストリングに対して、intra_chroma_pred_modeの2番目のビットは、DMモードが適用されるかどうかをデコーダにフラグする(すなわち、2番目のビットが0である場合のみ)。第1のビットが1で第2のビットも1であるストリングについては、固定長のコードワードを用いて0から3の範囲のインデックスを2ビットずつ2値化し、4つのデフォルトモードのどれを適用するかを決定する。
【0162】
それゆえ、VVC規格デコーダは、ビットストリームにおいてシグナリングされた第1のフラグをパーシングするように、コンピューティングシステムの1つまたは複数のプロセッサーを構成し、第1のフラグは、エントロピーデコーダによって構成されたコンピューティングシステムの1つまたは複数のプロセッサーによって、カレント色差ブロック604および606に、勾配ベースの導出されたデコーダ側色差イントラ予測モードを適用するかどうかを示す。そして、VVC規格デコーダは、第1のフラグが真値を示す場合に、演算勾配に基づいてカレント色差ブロックを再構成する際に適用される色差イントラ予測モードを導出するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。第1のフラグが偽の値を示す場合、VVC規格デコーダは、VVC規格に従ってビットストリームに示された第2のフラグをパーシングするように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0163】
別の例によれば、VVC規格エンコーダは、ビットストリームにおいて第1のフラグをシグナリングするように、コンピューティングシステムの1つまたは複数のプロセッサーを構成し、第1のフラグは、エントロピーデコーダにより構成されたコンピューティングシステムの1つまたは複数のプロセッサーによって、カレント色差ブロック604および606に、勾配ベースの導出された色差イントラ予測モードを適用するかどうかを示すモード決定フラグであり、第1のフラグは、ビットストリームにおいて第2のフラグの後にあり、第2のフラグは、エントロピーデコーダにより構成されたコンピューティングシステムの1つまたは複数のプロセッサーによって、カレント色差ブロック604および606に、DMモードを適用するかどうかを示すDMフラグである。従って、intra_chroma_pred_modeの2値化を下の表3のように拡張することで、勾配ベースの導出された色差イントラ予測モード、DMモード、4つのデフォルトモードのうち、どのモードをデコーダが適用するかを示すことが可能である。表3において、各ビンストリングの第2のビットは、本開示の例示的な実施形態によるモード決定フラグであり、0から始まるビンストリングについては、モード決定フラグは存在しない。
【0164】
【0165】
intra_chroma_pred_modeの第1のビットは、DMモードが適用されるかどうか(すなわち、第1のビットが0の場合のみ)をデコーダにフラグする。言い換えれば、第2のフラグが真値に設定されている場合、第1のフラグはビットストリームにてシグナリングされない。第1のビットが1であるストリングについて、intra_chroma_pred_modeの第2のビットは、勾配ベースの導出された色差イントラ予測が適用されるかどうかをデコーダにフラグ付けし(すなわち、第2のビットが0の場合のみ)、言い換えれば、第2のフラグが偽の値に設定されている場合、第1のフラグが真か偽かどうかとしてビットストリームにおいてフラグされる。第1のビットが1で第2のビットも1であるストリングについては、固定長のコードワードを用いて0から3の範囲のインデックスを2ビットずつ2値化し、4つのデフォルトモードのどれを適用するかを決定する。
【0166】
したがって、VVC規格デコーダは、VVC規格に従ってビットストリームで信号化された第2のフラグをパーシングするように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。第2のフラグが偽の値をシグナリングするというイベントでは、VVC規格デコーダは、ビットストリームにおいてシグナリングされた第1のフラグをパーシングするように、コンピューティングシステムの1つまたは複数のプロセッサーを構成し、第1のフラグは、エントロピーデコーダによって構成されたコンピューティングシステムの1つまたは複数のプロセッサーによって、カレント色差ブロック604および606に、勾配ベースの導出されたデコーダ側色差イントラ予測モードを適用するかどうかを示す。そして、VVC規格デコーダは、第1のフラグが真値を示す場合に、演算勾配に基づいてカレント色差ブロックを再構成する際に適用される色差イントラ予測モードを導出するように、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。
【0167】
別の例によれば、VVC規格エンコーダは、ビットストリームにおいてフラグをシグナリングするように、コンピューティングシステムの1つまたは複数のプロセッサーを構成し、フラグは、1つまたは複数のプロセッサーによって、カレント色差ブロックに、勾配ベースの導出された色差イントラ予測モードとDMモードとのどちらも適用するかどちらも適用しないかどうかを示すモード決定フラグである。従って、intra_chroma_pred_modeの2値化は、下の表4に示すように拡張され、勾配ベースの導出された色差イントラ予測モード、DMモード、および4つのデフォルトモードのうちのどれがカレント色差ブロック604および606に適用されるかを示すことが可能である。表4において、各ビンストリングの最初のビットは、本開示の例示的な実施形態によるモード決定フラグである。表4において、0から始まる各ビンストリングの第2のビットは、DMモードと勾配ベースの導出された色差イントラ予測モードのうち、いずれを適用するかを示すインデックスであり、1から始まるビンストリングの第2のビットは、4つのデフォルトモードのうち、いずれを適用するかを示すインデックスである。
【0168】
【0169】
intra_chroma_pred_modeの第1のビットは、1つまたは複数のプロセッサーによって、カレント色差ブロックに、DMモードまたは勾配ベースの導出された色差イントラ予測モードのいずれかを適用するか、どちらも適用しないかどうかをデコーダにフラグする。第1のビットが0であるストリングに対して、さらに、第2のビットのインデックスがシグナリングされて、DMモードと勾配ベースの導出された色差イントラ予測モードとからどちらが適用されることになるかを示す。第1のビットが1であるストリングについては、0から3の範囲のインデックスが、固定長のコードワードを用いて、第2のビットと第3のビットで2値化され、4つのデフォルトモードのどれが適用されるかが決定される。
【0170】
それゆえ、VVC規格デコーダは、ビットストリームで信号化されたフラグをパーシングするために、コンピューティングシステムの1つまたは複数のプロセッサーを構成する。第2のフラグが真の値をシグナリングするというイベントでは、VVC規格デコーダは、フラグに続くビットストリームおける次のビットをパーシングするように、コンピューティングシステムの1つまたは複数のプロセッサーを構成し、第2のビットは、エントロピーデコーダによって構成されたコンピューティングシステムの1つまたは複数のプロセッサーによって、カレント色差ブロック604および606に、DMモードと勾配ベースの導出されたデコーダ側色差イントラ予測モードとから、適用するどれかを示す。第2のフラグが偽の値をシグナリングするというイベントでは、VVC規格デコーダは、フラグに続くビットストリームおける次の2つのビットをパーシングするように、コンピューティングシステムの1つまたは複数のプロセッサーを構成し、次の2つのビットは、エントロピーデコーダによって構成されたコンピューティングシステムの1つまたは複数のプロセッサーによって、カレント色差ブロック604および606に、4つのデフォルトのモードから、適用するどれかを示す。
【0171】
上記の記述は、フラグの値が0で「真」、1で「偽」を表す。他の実施形態によれば、フラグ値1は「真」を表し、フラグ値0は「偽」を表し、表2、表3、表4の第2列の各ビットは、そのような実施形態に従って反転される。
【0172】
したがって、本開示の例示的な実施形態によれば、シグナリングコストの増加を最小限に抑えながら、VVC規格の符号化およびデコード処理は、色差ブロックのイントラ予測モードを、同一位置の輝度ブロックに隣接した再構成された輝度サンプルおよび隣接した再構成された色差サンプルおよびに基づくように強化され、隣接するブロックを符号化およびデコードと同時に行われた以前の計算作業を参照することが可能になる。このようにして、符号化利得は、隣接ブロックを含むテクスチャ勾配に基づいて、カレント色差ブロックのテクスチャ特性のマッチングにおいて達成されることが可能である。
【0173】
当業者であれば、本開示の上記全ての態様は、その任意の組み合わせで同時に実施されてもよく、本開示の全ての態様は、本開示のさらに別の実施形態として組み合わせて実施されてもよいことを理解するであろう。
【0174】
図12は、残差符号予測(residual sign prediction)を実施するための上述のプロセスおよび方法を実施するための例示的なシステム1200を示す。
【0175】
本明細書で説明する技法およびメカニズムは、システム1200の複数のインスタンスによって実装されるだけでなく、他の任意のコンピューティングデバイス、システム、および/または環境によっても実装され得る。
図12に示すシステム1200は、システムの一例に過ぎず、上述した処理および/または手順を実行するために利用される任意のコンピューティングデバイスの使用範囲または機能性に関する制限を示唆することを意図するものではない。実施形態と共に使用するのに適し得る他の周知のコンピューティングデバイス、システム、環境、および/または構成としては、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、ゲームコンソール、プログラマブル家電、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境、フィールドプログラマブルゲートアレイ(「FPGA」)および特定用途向け集積回路(「ASIC」)を使用する実装、および/またはこれらに限定されないが、これらが挙げられる。
【0176】
システム1200は、1つまたは複数のプロセッサー1202と、プロセッサー1202に通信可能に結合されたシステムメモリ1204とを含み得る。プロセッサー(複数可)1202は、プロセッサー(複数可)1202に様々な機能を実行させるために、1つまたは複数のモジュールおよび/またはプロセスを実行することがある。いくつかの実施形態において、プロセッサー(複数可)1202は、中央処理装置(「CPU」)、グラフィック処理装置(「GPU」)、CPUおよびGPUの両方、または当技術分野で公知の他の処理装置もしくは構成要素を含み得る。さらに加えて、プロセッサー1202の各々は、それ自体のローカルメモリーを有することがあり、さらに、プログラムモジュール、プログラムデータ、および/または1つまたは複数のオペレーティングシステムを格納することがある。
【0177】
システム1200の正確な構成およびタイプに応じて、システムメモリ1204は、RAMのような揮発性、ROMのような不揮発性、フラッシュメモリー、小型ハードドライブ、メモリカードなど、またはそれらの組み合わせであってもよい。システムメモリ1204は、プロセッサー1202によって実行可能な1つまたは複数のコンピューター実行可能モジュール1206を含み得る。
【0178】
モジュール1206は、エンコーダ1208およびデコーダ1210のうちの1つまたは複数を含むが、これらに限定されない。
【0179】
エンコーダ1208は、上述したような本開示の例示的な実施形態のいずれか、いくつか、またはすべての態様を実装し、上述したような動作を実行するプロセッサー(複数可)1202を構成するために、プロセッサー(複数可)1202によって実行可能なVVC規格エンコーダであり得る。
【0180】
デコーダ1210は、上述したような動作を実行するプロセッサー(複数可)1202を構成するプロセッサー(複数可)1202によって実行可能な、上述したような本開示の例示的な実施形態のいずれか、いくつか、またはすべての態様を実装するVVC規格エンコーダであり得る。
【0181】
さらに加えて、システム1200は、画像ソースデータおよびビットストリームデータを受信し、再構成されたピクチャを参照ピクチャバッファまたはDPBおよび/または表示バッファに出力するための入出力(I/O)インタフェース1240をさらに含むことがある。システム1200は、システム1200がネットワーク(図示せず)を介して他の装置(図示せず)と通信することを可能にする通信モジュール1250を含むこともある。ネットワークには、インターネット、有線ネットワークや直接有線接続などの有線媒体、音響、無線周波数(「RF」)、赤外線、その他の無線媒体などの無線媒体が含まれる。
【0182】
上述した方法の一部またはすべての操作は、以下に定義するように、コンピューター読取り可能記録媒体に格納されたコンピューター読取り可能命令の実行によって行うことが可能である。本明細書および特許請求の範囲で使用される「コンピューター読取り可能命令」という用語には、ルーチン、アプリケーション、アプリケーションモジュール、プログラムモジュール、プログラム、コンポーネント、データ構造、アルゴリズムなどが含まれる。コンピューター読取り可能命令は、シングルプロセッサまたはマルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ、パーソナルコンピュータ、ハンドヘルドコンピューティングデバイス、マイクロプロセッサベースのプログラマブル家電、それらの組み合わせなど、さまざまなシステム構成で実装されることが可能である。
【0183】
コンピューター読取り可能記録媒体は、揮発性メモリー(ランダムアクセスメモリ(「RAM」)など)および/または不揮発性メモリー(読み取り専用メモリー(「ROM」)、フラッシュメモリーなど)を含むことがある。コンピューター読取り可能記録媒体はまた、コンピューター読取り可能命令、データ構造、プログラムモジュールなどの不揮発性記憶を提供し得るフラッシュメモリー、磁気記憶装置、光学記憶装置、および/またはテープ記憶装置を含むがこれらに限定されない、追加の取外し可能記憶装置および/または取外し不可能記憶装置を含み得る。
【0184】
非一過性または非一時的なコンピューター読取り可能記録媒体は、コンピューター読取り可能媒体の一例である。コンピューター読取り可能媒体には、少なくとも2種類のコンピューター読取り可能媒体、すなわちコンピューター読取り可能記録媒体と通信媒体が含まれる。コンピューター読取り可能記録媒体には、コンピューター読取り可能命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶するためのあらゆるプロセスまたは技術で実装された、揮発性および不揮発性、取り外し可能および取り外し不可能な媒体が含まれる。コンピューター読取り可能記録媒体は、限定されないが、「PRAM」(phase change memory)、「SRAM」(static random-access memory)、「DRAM」(dynamic random-access memory)、他のタイプの「RAM」(random-access memory)、「ROM」(read-only memory)、「EEPROM」(electrically erasable programmable read-only memory)、フラッシュメモリーまたは他のメモリー技術、「CD-ROM」(compact disk read-only memory)、「DVD」(digital versatile disk)または光ストレージ、磁気カセットテープ、磁気テープ、磁気ディスクストレージまたは磁気ストレージデバイス、または、コンピューティングデバイスによるアクセスのための情報を格納するのに用いられることが可能であるあらゆる他の非送信媒体を含む。対照的に、通信媒体は、コンピューターが読み取り可能な命令、データ構造、プログラムモジュール、またはその他のデータを、搬送波などの変調されたデータ信号、またはその他の送信メカニズムに具現化することがある。本明細書で採用するコンピューター読取り可能記録媒体は、電波などの自由伝搬電磁波、導波管や他の送信媒体(光ファイバーケーブルを通る光パルスなど)を伝搬する電磁波、電線を伝搬する電気信号など、一過性の信号そのものと解釈してはならない。
【0185】
1つまたは複数の非一過性または非一時的なコンピューター読取り可能記録媒体に格納されたコンピューター読取り可能命令は、1つまたは複数のプロセッサーによって実行されると、
図1A~11を参照して上述した動作を実行することがある。一般に、コンピューター読取り可能命令には、特定の機能を実行したり、特定の抽象データ型を実装したりするルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。記載された操作の順序は、限定として解釈されることを意図しておらず、記載された操作の任意の数を任意の順序で、および/または並行して組み合わせて、プロセスを実施されることが可能である。
【0186】
例示的な態様によれば、コンピュータープログラム製品が提供され、コンピュータープログラム命令を含み、コンピュータープログラム命令は、コンピューターに、本開示の態様のいずれかに説明された方法のステップを可能する。
【0187】
例示的な態様によれば、コンピュータープログラムが提供され、コンピュータープログラムは、コンピューターに、本開示の態様のいずれかに説明された方法のステップを実行することを可能する。
【0188】
本主題は、構造的特徴および/または方法論的行為に特有の言語で記載されているが、添付の特許請求の範囲に定義される主題は、必ずしも記載された特定の特徴または行為に限定されないことを理解されたい。むしろ、特定の特徴および作動は、特許請求の範囲を実装することの典型的なかたちとして開示される。
【国際調査報告】