(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-12
(54)【発明の名称】GPM(geometric partition mode)に関する動きベクトル精密化のための方法、装置、及び非一時的コンピュータ可読記憶媒体
(51)【国際特許分類】
H04N 19/513 20140101AFI20240405BHJP
H04N 19/577 20140101ALI20240405BHJP
H04N 19/70 20140101ALI20240405BHJP
【FI】
H04N19/513
H04N19/577
H04N19/70
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023557291
(86)(22)【出願日】2022-04-11
(85)【翻訳文提出日】2023-11-10
(86)【国際出願番号】 CN2022086106
(87)【国際公開番号】W WO2022218256
(87)【国際公開日】2022-10-20
(32)【優先日】2021-04-12
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-05-28
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-06-27
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-04-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】523353373
【氏名又は名称】アリババ(チャイナ)カンパニー,リミテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】リャオ,ル-リン
(72)【発明者】
【氏名】イェ,ヤン
(72)【発明者】
【氏名】リ,シンウェイ
(72)【発明者】
【氏名】チェン,ジエ
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159MA05
5C159MA12
5C159NN11
5C159NN21
5C159RC11
5C159RC16
5C159UA02
5C159UA05
(57)【要約】
映像データ処理のための方法、装置、及び非一時的コンピュータ可読記憶媒体を提供する。この方法は、GPM(geometric partition mode)によって符号化された符号化ユニットを含むビットストリームを受信すること、符号化ユニットに関連する第1のパラメータを復号化することであって、第1のパラメータは符号化ユニットにテンプレートマッチングが適用されているかどうかを示す、復号化すること、及び第1のパラメータに従って符号化ユニットに関する動き情報を決定することであって、符号化ユニットにテンプレートマッチングが適用されることを第1のパラメータが示す場合、テンプレートマッチングを使用して動き情報が精密化される、決定することを含む。
【特許請求の範囲】
【請求項1】
GPM(geometric partition mode)によって符号化された符号化ユニットを含むビットストリームを受信すること、
前記符号化ユニットに関連する第1のパラメータを復号化することであって、前記第1のパラメータは前記符号化ユニットにテンプレートマッチングが適用されているかどうかを示す、復号化すること、及び
前記第1のパラメータに従って前記符号化ユニットに関する動き情報を決定することであって、前記符号化ユニットに前記テンプレートマッチングが適用されていることを前記第1のパラメータが示す場合、前記テンプレートマッチングを使用して前記動き情報が精密化される、決定すること
を含む、映像復号化方法。
【請求項2】
前記符号化ユニットが第1の区分及び第2の区分に分割され、前記符号化ユニットの前記動き情報が前記第1の区分の第1の動き及び前記第2の区分の第2の動きを含み、前記第1のパラメータが第1のフラグを含み、前記テンプレートマッチングを使用して前記動き情報が精密化されることが、
前記第1のフラグに従って、前記テンプレートマッチングを使用し、前記第1の区分の前記第1の動き及び前記第2の区分の前記第2の動きの両方を精密化すること
をさらに含む、請求項1に記載の方法。
【請求項3】
前記符号化ユニットが第1の区分及び第2の区分に分割され、前記第1のパラメータは前記第1の区分に前記テンプレートマッチングが適用されているかどうかを示す第1のフラグ及び前記第2の区分に前記テンプレートマッチングが適用されているかどうかを示す第2のフラグを含み、前記動き情報の前記精密化が、
前記第1のフラグに従って、前記テンプレートマッチングを使用し、前記第1の区分の第1の動きを精密化すること、及び
前記第2のフラグに従って、前記テンプレートマッチングを使用し、前記第2の区分の第2の動きを精密化すること
をさらに含む、請求項1に記載の方法。
【請求項4】
前記符号化ユニットが第1の区分及び第2の区分に分割され、前記第1のパラメータは前記第1の区分及び前記第2の区分に前記テンプレートマッチングが適用されているかどうかを示すインデックスを含み、前記動き情報の前記精密化が、
前記第1の区分の第1の動き、前記第2の区分の第2の動き、又は前記第1の区分の前記第1の動き及び前記第2の区分の前記第2の動きの両方を、前記インデックスの値に従って精密化すること
をさらに含む、請求項1に記載の方法。
【請求項5】
前記符号化ユニットが第1の区分及び第2の区分に分割され、前記動き情報が前記第1の区分の第1の動き及び前記第2の区分の第2の動きを含み、前記動き情報の精密化が
前記第1の区分のための第1のテンプレートを構成することであって、前記第1のテンプレートは第1の隣接サンプルのセットから構成されること、
前記第2の区分のための第2のテンプレートを構成することであって、前記第2のテンプレートは第2の隣接サンプルのセットから構成されること、
前記第1のテンプレート及び前記第2のテンプレートを使用して前記第1の動き及び前記第2の動きをそれぞれ精密化すること
をさらに含み、
前記第1の隣接サンプルのセット及び前記第2の隣接サンプルのセットのそれぞれは、
左の隣接サンプルだけ、
上の隣接サンプルだけ、又は
前記左の隣接サンプル及び前記上の隣接サンプルの両方
から選択される1つ以上の隣接サンプルを含む、
請求項1に記載の方法。
【請求項6】
前記符号化ユニットに前記テンプレートマッチングが適用されていないことに応答し、動きベクトル差分によるマージモード(MMVD)が適用されているかどうかを示す第2のパラメータを復号化すること、
前記MMVDが適用されていることに応答し、動きベクトル差分(MVD)情報を復号化すること、及び
前記MVD情報を使用して前記動きを精密化すること
をさらに含む、請求項1に記載の方法。
【請求項7】
前記符号化ユニットが第1の区分及び第2の区分に分割され、前記方法が、
前記第1の区分にMMVDが適用されているかどうかを示す第2のパラメータを復号化すること、
前記第2の区分に前記MMVDが適用されているかどうかを示す第3のパラメータを復号化すること、
前記第1の区分又は前記第2の区分に前記MMVDが適用されていないことに応答し、前記第1の区分及び前記第2の区分の両方に前記テンプレートマッチングが適用されているかどうかを前記第1のパラメータに従って判定すること、
前記第1の区分及び前記第2の区分の両方に前記テンプレートマッチングが適用されていることに応答し、前記テンプレートマッチングを使用して前記第1の区分及び前記第2の区分の動き情報を精密化すること
をさらに含む、請求項1に記載の方法。
【請求項8】
映像データ処理を行うための装置であって、
命令を記憶するように構成されるメモリと、
1つ以上のプロセッサと、を含み、前記1つ以上のプロセッサが前記命令を実行して、
GPM(geometric partition mode)によって符号化された符号化ユニットを含むビットストリームを受信すること、
前記符号化ユニットに関連する第1のパラメータを復号化することであって、前記第1のパラメータは前記符号化ユニットにテンプレートマッチングが適用されているかどうかを示す、復号化すること、及び
前記第1のパラメータに従って前記符号化ユニットに関する動き情報を決定することであって、前記符号化ユニットに前記テンプレートマッチングが適用されていることを前記第1のパラメータが示す場合、前記テンプレートマッチングを使用して前記動き情報が精密化される、決定すること
を前記装置に行わせるように構成される、装置。
【請求項9】
前記符号化ユニットが第1の区分及び第2の区分に分割され、前記符号化ユニットの前記動き情報が前記第1の区分の第1の動き及び前記第2の区分の第2の動きを含み、前記第1のパラメータが第1のフラグを含み、
前記プロセッサが前記命令を実行して、
前記第1のフラグに従って、前記テンプレートマッチングを使用し、前記第1の区分の前記第1の動き及び前記第2の区分の前記第2の動きの両方を精密化すること
を前記装置に行わせるようにさらに構成される、
請求項8に記載の装置。
【請求項10】
前記符号化ユニットが第1の区分及び第2の区分に分割され、前記第1のパラメータは前記第1の区分に前記テンプレートマッチングが適用されているかどうかを示す第1のフラグ及び前記第2の区分に前記テンプレートマッチングが適用されているかどうかを示す第2のフラグを含み、
前記プロセッサが前記命令を実行して、
前記第1のフラグに従って、前記テンプレートマッチングを使用し、前記第1の区分の第1の動きを精密化すること、及び
前記第2のフラグに従って、前記テンプレートマッチングを使用し、前記第2の区分の第2の動きを精密化すること
を前記装置に行わせるようにさらに構成される、
請求項8に記載の装置。
【請求項11】
前記符号化ユニットが第1の区分及び第2の区分に分割され、前記第1のパラメータは前記第1の区分及び前記第2の区分に前記テンプレートマッチングが適用されているかどうかを示すインデックスを含み、
前記プロセッサが前記命令を実行して、
前記第1の区分の第1の動き、前記第2の区分の第2の動き、又は前記第1の区分の前記第1の動き及び前記第2の区分の前記第2の動きの両方を、前記インデックスの値に従って精密化すること
を前記装置に行わせる前記命令を実行するように前記プロセッサがさらに構成される、請求項8に記載の装置。
【請求項12】
前記符号化ユニットが第1の区分及び第2の区分に分割され、前記動き情報が前記第1の区分の第1の動き及び前記第2の区分の第2の動きを含み、
前記プロセッサが前記命令を実行して、
前記第1の区分のための第1のテンプレートを構成することであって、前記第1のテンプレートは第1の隣接サンプルのセットから構成されること、
前記第2の区分のための第2のテンプレートを構成することであって、前記第2のテンプレートは第2の隣接サンプルのセットから構成されること、
前記第1のテンプレート及び前記第2のテンプレートを使用して前記第1の動き及び前記第2の動きをそれぞれ精密化すること
を前記装置に行わせるようにさらに構成され、
前記第1の隣接サンプルのセット及び前記第2の隣接サンプルのセットのそれぞれは、
左の隣接サンプルだけ、
上の隣接サンプルだけ、又は
前記左の隣接サンプル及び前記上の隣接サンプルの両方
から選択される1つ以上の隣接サンプルを含む、
請求項8に記載の装置。
【請求項13】
前記プロセッサが前記命令を実行して、
前記符号化ユニットに前記テンプレートマッチングが適用されていないことに応答し、動きベクトル差分によるマージモード(MMVD)が適用されているかどうかを示す第2のパラメータを復号化すること、
前記MMVDが適用されていることに応答し、動きベクトル差分(MVD)情報を復号化すること、及び
前記MVD情報を使用して前記動きを精密化すること
を前記装置に行わせるようにさらに構成される、請求項8に記載の装置。
【請求項14】
前記符号化ユニットが第1の区分及び第2の区分に分割され、
前記プロセッサが前記命令を実行して、
前記第1の区分にMMVDが適用されているかどうかを示す第2のパラメータを復号化すること、
前記第2の区分に前記MMVDが適用されているかどうかを示す第3のパラメータを復号化すること、
前記第1の区分又は前記第2の区分に前記MMVDが適用されていないことに応答し、前記第1の区分及び前記第2の区分の両方に前記テンプレートマッチングが適用されているかどうかを前記第1のパラメータに従って判定すること、並びに
前記第1の区分及び前記第2の区分の両方に前記テンプレートマッチングが適用されていることに応答し、前記テンプレートマッチングを使用して前記第1の区分及び前記第2の区分の動き情報を精密化すること
を前記装置に行わせるようにさらに構成される、
請求項8に記載の装置。
【請求項15】
映像データ処理を行うための方法を装置に開始させるために前記装置の1つ以上のプロセッサによって実行可能な命令のセットを記憶する非一時的コンピュータ可読媒体であって、前記方法は、
GPM(geometric partition mode)によって符号化された符号化ユニットを含むビットストリームを受信すること、
前記符号化ユニットに関連する第1のパラメータを復号化することであって、前記第1のパラメータは前記符号化ユニットにテンプレートマッチングが適用されているかどうかを示す、復号化すること、及び
前記第1のパラメータに従って前記符号化ユニットに関する動き情報を決定することであって、前記符号化ユニットに前記テンプレートマッチングが適用されることを前記第1のパラメータが示す場合、前記テンプレートマッチングを使用して前記動き情報が精密化される、決定すること
を含む、非一時的コンピュータ可読媒体。
【請求項16】
前記符号化ユニットが第1の区分及び第2の区分に分割され、前記符号化ユニットの前記動き情報が前記第1の区分の第1の動き及び前記第2の区分の第2の動きを含み、前記第1のパラメータが第1のフラグを含み、
前記命令のセットは、
前記第1のフラグに従って、前記テンプレートマッチングを使用し、前記第1の区分の前記第1の動き及び前記第2の区分の前記第2の動きの両方を精密化すること
を装置にさらに行わせるために前記装置の1つ以上のプロセッサによって実行可能である、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項17】
前記符号化ユニットが第1の区分及び第2の区分に分割され、前記第1のパラメータは前記第1の区分に前記テンプレートマッチングが適用されているかどうかを示す第1のフラグ及び前記第2の区分に前記テンプレートマッチングが適用されているかどうかを示す第2のフラグを含み、
前記命令のセットは、
前記第1のフラグに従って、前記テンプレートマッチングを使用し、前記第1の区分の第1の動きを精密化すること、及び
前記第2のフラグに従って、前記テンプレートマッチングを使用し、前記第2の区分の第2の動きを精密化すること
を装置にさらに行わせるために前記装置の1つ以上のプロセッサによって実行可能である、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項18】
前記符号化ユニットが第1の区分及び第2の区分に分割され、前記第1のパラメータは前記第1の区分及び前記第2の区分に前記テンプレートマッチングが適用されているかどうかを示すインデックスを含み、
前記命令のセットは、
前記第1の区分の第1の動き、前記第2の区分の第2の動き、又は前記第1の区分の前記第1の動き及び前記第2の区分の前記第2の動きの両方を、前記インデックスの値に従って精密化すること
を装置にさらに行わせるために前記装置の1つ以上のプロセッサによって実行可能である、請求項15に記載の非一時的コンピュータ可読媒体。
【請求項19】
前記符号化ユニットが第1の区分及び第2の区分に分割され、前記動き情報が前記第1の区分の第1の動き及び前記第2の区分の第2の動きを含み、
前記命令のセットは、
前記第1の区分のための第1のテンプレートを構成することであって、前記第1のテンプレートは第1の隣接サンプルのセットから構成されること、
前記第2の区分のための第2のテンプレートを構成することであって、前記第2のテンプレートは第2の隣接サンプルのセットから構成されること、
前記第1のテンプレート及び前記第2のテンプレートを使用して前記第1の動き及び前記第2の動きをそれぞれ精密化すること
を装置にさらに行わせるために前記装置の1つ以上のプロセッサによって実行可能であり、
前記第1の隣接サンプルのセット及び前記第2の隣接サンプルのセットのそれぞれは、
左の隣接サンプルだけ、
上の隣接サンプルだけ、又は
前記左の隣接サンプル及び前記上の隣接サンプルの両方
から選択される1つ以上の隣接サンプルを含む、
請求項15に記載の非一時的コンピュータ可読媒体。
【請求項20】
前記符号化ユニットが第1の区分及び第2の区分に分割され、
前記命令のセットは、
前記第1の区分にMMVDが適用されているかどうかを示す第2のパラメータを復号化すること、
前記第2の区分に前記MMVDが適用されているかどうかを示す第3のパラメータを復号化すること、
前記第1の区分又は前記第2の区分に前記MMVDが適用されていないことに応答し、前記第1の区分及び前記第2の区分の両方に前記テンプレートマッチングが適用されるかどうかを前記第1のパラメータに従って判定すること、
前記第1の区分及び前記第2の区分の両方に前記テンプレートマッチングが適用されていることに応答し、前記テンプレートマッチングを使用して前記第1の区分及び前記第2の区分の動き情報を精密化すること
を装置にさらに行わせるために前記装置の1つ以上のプロセッサによって実行可能である、請求項15に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001] 本開示は、参照によりその全体を本明細書に援用する、2021年4月12日に出願された米国仮特許出願第63/173,540号、2021年5月29日に出願された米国仮特許出願第63/194,260号、及び2021年6月27日に出願された米国仮特許出願第63/215,519号に対する優先権の利益を主張する。
【0002】
技術分野
[0002] 本開示は一般に映像処理に関し、より詳細にはGPM(geometric partition mode)に関する動きベクトル精密化のための方法及びシステムに関する。
【背景技術】
【0003】
背景
[0003] 映像は、視覚情報を取り込んだ静的ピクチャ(又は「フレーム」)のセットである。記憶メモリ及び伝送帯域幅を低減するために、映像を記憶又は伝送前に圧縮し、表示前に復元することができる。圧縮プロセスは通常、符号化と称され、復元プロセスは通常、復号化と称される。最も一般的には、予測、変換、量子化、エントロピー符号化、及びインループフィルタリングに基づく、標準化映像符号化技術を用いる様々な映像符号化フォーマットが存在する。特定の映像符号化フォーマットを指定する、高効率ビデオコーディング(High Efficiency Video Coding)(HEVC/H.265)規格、多用途ビデオコーディング(Versatile Video Coding)(VVC/H.266)、及び標準AVS規格などの、映像符号化規格が標準化機関によって開発されている。進化した映像符号化技術が映像規格に次々と採用されるに従って、新たな映像符号化規格の符号化効率はますます高くなる。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の概要
[0004] 本開示の実施形態は、映像データ処理のための方法を提供する。この方法は、GPM(geometric partition mode)によって符号化された符号化ユニットを含むビットストリームを受信すること、符号化ユニットに関連する第1のパラメータを復号化することであって、第1のパラメータは符号化ユニットにテンプレートマッチングが適用されているかどうかを示す、復号化すること、及び第1のパラメータに従って符号化ユニットに関する動き情報を決定することであって、符号化ユニットにテンプレートマッチングが適用されることを第1のパラメータが示す場合、テンプレートマッチングを使用して動き情報が精密化される、決定することを含む。
【0005】
[0005] 本開示の実施形態は、映像データ処理を行うための装置を提供する。この装置は、命令を記憶するように構成されるメモリと、1つ以上のプロセッサとを含み、1つ以上のプロセッサは、命令を実行して、GPM(geometric partition mode)によって符号化された符号化ユニットを含むビットストリームを受信すること、符号化ユニットに関連する第1のパラメータを復号化することであって、第1のパラメータは符号化ユニットにテンプレートマッチングが適用されているかどうかを示す、復号化すること、及び第1のパラメータに従って符号化ユニットに関する動き情報を決定することであって、符号化ユニットにテンプレートマッチングが適用されることを第1のパラメータが示す場合、テンプレートマッチングを使用して動き情報が精密化される、決定することを装置に行わせるように構成される。
【0006】
[0006] 本開示の実施形態は、映像データ処理を行うための方法を装置に開始させるために装置の1つ以上のプロセッサによって実行可能な命令のセットを記憶する非一時的コンピュータ可読記憶媒体を提供し、その方法は、GPM(geometric partition mode)によって符号化された符号化ユニットを含むビットストリームを受信すること、符号化ユニットに関連する第1のパラメータを復号化することであって、第1のパラメータは符号化ユニットにテンプレートマッチングが適用されているかどうかを示す、復号化すること、及び第1のパラメータに従って符号化ユニットに関する動き情報を決定することであって、符号化ユニットにテンプレートマッチングが適用されることを第1のパラメータが示す場合、テンプレートマッチングを使用して動き情報が精密化される、決定することを含む。
【0007】
図面の簡単な説明
[0007] 本開示の実施形態及び様々な態様が以下の詳細な説明及び添付の図面において例示される。図に示される様々な特徴は、原寸に比例して描かれていない。
【図面の簡単な説明】
【0008】
【
図1】[0008]
図1は、本開示のいくつかの実施形態に係る、例示的な映像シーケンスの構造を示す概略図である。
【
図2A】[0009]
図2Aは、本開示の実施形態に従う、ハイブリッド映像符号化システムの例示的な符号化プロセスを示す概略図である。
【
図2B】[0010]
図2Bは、本開示の実施形態に従う、ハイブリッド映像符号化システムの別の例示的な符号化プロセスを示す概略図である。
【
図3A】[0011]
図3Aは、本開示の実施形態に従う、ハイブリッド映像符号化システムの例示的な復号化プロセスを示す概略図である。
【
図3B】[0012]
図3Bは、本開示の実施形態に従う、ハイブリッド映像符号化システムの別の例示的な復号化プロセスを示す概略図である。
【
図4】[0013]
図4は、本開示のいくつかの実施形態に係る、映像を符号化又は復号化するための例示的な装置のブロック図である。
【
図5】[0014]本開示のいくつかの実施形態に係る、同一角度によってグループ化された例示的なGPM(geometric partition mode)の分割を示す。
【
図6】[0015]本開示のいくつかの実施形態に係る、GPMのための例示的な単方向予測動きベクトル(MV)選択プロセスを示す。
【
図7】[0016]本開示のいくつかの実施形態に係る、GPMを用いた重みw
0の例示的生成を示す。
【
図8】[0017]本開示のいくつかの実施形態に係る、角度加重予測(AWP)の重み予測のための例示的プロセスを示す。
【
図9】[0018]本開示のいくつかの実施形態に係る、AWPモードでサポートされる8個の例示的なイントラ予測角度を示す。
【
図10】[0019]本開示のいくつかの実施形態に係る、AWPモードにおける7個の異なる例示的な重みアレイ設定を示す。
【
図11】[0020]本開示のいくつかの実施形態に係る、初期MVの周りの探索領域に対して行われるテンプレートマッチングを示す。
【
図12】[0021]本開示のいくつかの実施形態に係る、動きを精密化するためにGPMにテンプレートマッチングを適用するための方法の例示的なフローチャートを示す。
【
図13A】[0022]本開示のいくつかの実施形態に係る、GPMのための例示的テンプレートを示す。
【
図13B】[0022]本開示のいくつかの実施形態に係る、GPMのための例示的テンプレートを示す。
【
図13C】[0022]本開示のいくつかの実施形態に係る、GPMのための例示的テンプレートを示す。
【
図14】[0023]本開示のいくつかの実施形態に係る、動きを精密化するためにGPMにテンプレートマッチングを適用するための方法の別の例示的なフローチャートを示す。
【
図15A】[0024]本開示のいくつかの実施形態に係る、GPMのための例示的テンプレートの別の改変形態を示す。
【
図15B】[0024]本開示のいくつかの実施形態に係る、GPMのための例示的テンプレートの別の改変形態を示す。
【
図16】[0025]本開示のいくつかの実施形態に係る、GPM区分モードとGPM区分角度との間の例示的関係を示す。
【
図17】[0026]本開示のいくつかの実施形態に係る、16×16ブロックに関する例示的な角度を示す。
【
図18A】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18B】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18C】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18D】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18E】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18F】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18G】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18H】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18I】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18J】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18K】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18L】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18M】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18N】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18O】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18P】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18Q】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18R】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18S】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図18T】[0027]本開示のいくつかの実施形態に係る、16×16ブロックに関する
図17に示す区分角度ごとのGPM区分モードの各サンプルの例示的な重みを示す。
【
図19】[0028]本開示のいくつかの実施形態に係る、動きを精密化するためにGPMにテンプレートマッチングを適用するための方法の別の例示的なフローチャートを示す。
【
図20】[0029]本開示のいくつかの実施形態に係る、動きを精密化するためにGPMにテンプレートマッチングを適用するための方法の別の例示的なフローチャートを示す。
【
図21】[0030]本開示のいくつかの実施形態に係る、GPM、TM、及びMMVDを適用するための方法の例示的なフローチャートを示す。
【
図22】[0031]本開示のいくつかの実施形態に係る、GPM、TM、及びMMVDを適用するための方法の例示的なフローチャートを示す。
【発明を実施するための形態】
【0009】
詳細な説明
[0032] 次に、添付の図面に例が示された、例示的な実施形態を詳細に参照する。以下の説明は添付の図面を参照し、図面において、異なる図面における同じ符号は、別途示されない限り、同じ又は同様の要素を表す。例示的な実施形態の以下の説明において示される実装形態は、本発明に従う全ての実装形態を表すものではない。むしろ、それらは、添付の請求項において列挙されるとおりの本発明に関連する態様に従う装置及び方法の単なる例にすぎない。本開示の特定の態様が以下においてより詳細に説明される。参照により組み込まれる用語及び/又は定義と矛盾する場合には、本明細書において提供される用語及び定義が優先する。
【0010】
[0033] 2020年7月、ITU-Tビデオコーディングエキスパートグループ(ITU-T VCEG)及びISO/IECムービングピクチャエクスパートグループ(ISO/IEC MPEG)のジョイントビデオエクスパーツチーム(JVET)によって策定された多用途ビデオコーディング(VVC/H.266)規格が完成し、国際規格として公開された。VVC規格は、その前身である高効率ビデオコーディング(HEVC/H.265)規格の圧縮効率を2倍にすることを目指している。換言すれば、VVCの目標は半分の帯域幅を用いてHEVC/H.265と同じ主観的品質を達成することである。
【0011】
[0034] 半分の帯域幅を用いてHEVC/H.265と同じ主観的品質を達成するために、JVETは、共同探索モデル(JEM(joint exploration model))参照ソフトウェアを用いてHEVCを超える技術を開発している。符号化技術がJEMに組み込まれたため、JEMはHEVCよりも実質的に高い符号化性能を達成した。
【0012】
[0035] VVC規格は最近開発されたものであり、より優れた圧縮性能をもたらすより多くの符号化技術を組み込み続けている。VVCは、HEVC、H.264/AVC、MPEGT2、H.263等などの現代的な映像圧縮規格において用いられてきた同じハイブリッド映像符号化システムに基づく。
【0013】
[0036] VVC規格の完成後、JVETはVVC規格の符号化性能をさらに改善するための新たな符号化ツールを探索し始める。2021年1月、強化圧縮モデル(ECM)が提唱されており、VVC規格を上回る開発ツールのための新たなソフトウェア基盤として使用されている。
【0014】
[0037] 映像は、視覚情報を記憶するために時系列で配列された静的ピクチャ(又は「フレーム」)のセットである。映像取り込みデバイス(例えば、カメラ)を、それらのピクチャを時系列で取り込んで記憶するために用いることができ、映像再生デバイス(例えば、テレビ、コンピュータ、スマートフォン、タブレットコンピュータ、ビデオプレーヤ、又は表示機能を有する任意のエンドユーザ端末)を、このようなピクチャを時系列で表示するために用いることができる。また、用途によっては、映像取り込みデバイスが、取り込まれた映像を、監視、会議開催、又は生放送などのために、映像再生デバイス(例えば、モニタを有するコンピュータ)へリアルタイムに伝送することができる。
【0015】
[0038] このような用途によって必要とされる記憶空間及び伝送帯域幅を低減するために、映像を記憶及び伝送前に圧縮し、表示前に復元することができる。圧縮及び復元は、プロセッサ(例えば、汎用コンピュータのプロセッサ)によって実行されるソフトウェア、又は特殊ハードウェアによって実施され得る。圧縮のためのモジュールは一般的に「符号器」と称され、復元のためのモジュールは一般的に「復号器」と称される。符号器及び復号器はまとめて「コーデック」と称され得る。符号器及び復号器は、種々の好適なハードウェア、ソフトウェア、又はこれらの組み合わせのうちの任意のものとして実施することができる。例えば、符号器及び復号器のハードウェア実装形態は、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP(digital signal processor))、特定用途向け集積回路(ASIC(application-specific integrated circuit))、フィールドプログラマブルゲートアレイ(FPGA(field-programmable gate array))、ディスクリート論理回路、又はこれらの任意の組み合わせなどの、回路機構を含むことができる。符号器及び復号器のソフトウェア実装形態は、プログラムコード、コンピュータ実行可能命令、ファームウェア、又はコンピュータ可読媒体内に固定された任意の好適なコンピュータ実施アルゴリズム若しくはプロセスを含むことができる。映像圧縮及び復元は、MPEG-1、MPEG-2、MPEG-4、H.26xシリーズ、又は同様のものなどの、様々なアルゴリズム又は規格によって実施され得る。用途によっては、コーデックは映像を第1の符号化規格から復元し、復元された映像を、第2の符号化規格を用いて再圧縮することができる。この場合には、コーデックは「トランスコーダ」と称され得る。
【0016】
[0039] 映像符号化プロセスは、ピクチャを再構成するために用いることができる有用な情報を識別して維持し、再構成のために重要でない情報を無視することができる。無視された、重要でない情報を完全に再構成することができない場合には、このような符号化プロセスは「非可逆」と称され得る。さもなければ、それは「可逆」と称され得る。大抵の符号化プロセスは非可逆であり、これは、必要とされる記憶空間及び伝送帯域幅を低減するためのトレードオフである。
【0017】
[0040] 符号化中のピクチャ(「現在のピクチャ」と称される)の有用な情報は、参照ピクチャ(例えば、以前に符号化され、再構成されたピクチャ)に対する変化を含む。このような変化は、ピクセルの位置の変化、明るさの変化、又は色の変化を含むことができ、これらの中でも、位置の変化に最も関心が持たれる。オブジェクトを表現するピクセルのグループの位置の変化は、参照ピクチャと現在のピクチャとの間のオブジェクトの動きを反映することができる。
【0018】
[0041] 別のピクチャを参照することなく符号化されたピクチャ(すなわちそのピクチャがそれ自身の参照ピクチャである)は「Iピクチャ」と称される。1つの参照ピクチャを用いてイントラ予測又はインター予測を使用してピクチャ内の一部の又は全てのブロック(例えばビデオピクチャの一部を概して指すブロック)が予測される場合(例えば単方向予測)、そのピクチャは「Pピクチャ」と称される。2つの参照ピクチャを用いてピクチャ内の少なくとも1つのブロックが予測される場合(例えば双方向予測)、そのピクチャは「Bピクチャ」と称される。
【0019】
[0042]
図1は、本開示のいくつかの実施形態に係る、例示的な映像シーケンス100の構造を示す。映像シーケンス100は、ライブ映像、又は取り込まれ、アーカイブされた映像であることができる。映像100は、現実の映像、コンピュータ生成映像(例えば、コンピュータゲーム映像)、又はこれらの組み合わせ(例えば、拡張現実感効果を伴う現実の映像)であることができる。映像シーケンス100は、映像取り込みデバイス(例えば、カメラ)、以前に取り込まれた映像を包含する映像アーカイブ(例えば、記憶デバイス内に記憶された映像ファイル)、又は映像コンテンツプロバイダからの映像を受信するための映像供給インターフェース(例えば、映像放送トランシーバ)から入力され得る。
【0020】
[0043]
図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に示される例として限定しないことに留意されたい。
【0021】
[0044] 典型的に、映像コーデックは、このようなタスクの計算の複雑性のゆえに、ピクチャ全体を一度に符号化又は復号化しない。むしろ、それらはピクチャを基本セグメントに分割し、ピクチャをセグメントごとに符号化又は復号化することができる。このような基本セグメントは本開示において基本処理ユニット(「BPU(basic processing unit)」)と称される。例えば、
図1における構造110は映像シーケンス100のピクチャ(例えば、ピクチャ102~108のうちの任意のもの)の例示的な構造を示す。構造110においては、ピクチャが4×4基本処理ユニットに分割され、それらの境界は破線として示されている。実施形態によっては、基本処理ユニットは、いくつかの映像符号化規格(例えば、MPEGファミリー、H.261、H.263、又はH.264/AVC)では、「マクロブロック」と、或いはいくつかの他の映像符号化規格(例えば、H.265/HEVC又はH.266/VVC)では、「符号化ツリーユニット」(「CTU(coding tree unit)」)と称され得る。基本処理ユニットは、128×128、64×64、32×32、16×16、4×8、16×32などの、ピクチャにおける可変サイズ、或いはピクセルの任意の形状及びサイズを有することができる。基本処理ユニットのサイズ及び形状は、ピクチャのために、符号化効率と、基本処理ユニットにおいて維持されるべき詳細さのレベルとのバランスに基づいて選択することができる。
【0022】
[0045] 基本処理ユニットは、コンピュータメモリ内に(例えば、映像フレームバッファ内に)記憶された異なる種類の映像データのグループを含むことができる、論理ユニットであることができる。例えば、カラーピクチャの基本処理ユニットは、無色の輝度情報を表現するルマ成分(Y)、色情報を表現する1つ以上のクロマ成分(例えば、Cb及びCr)、並びに関連シンタックス要素を含むことができ、ここで、ルマ及びクロマ成分は基本処理ユニットの同じサイズを有することができる。ルマ及びクロマ成分は、いくつかの映像符号化規格(例えば、H.265/HEVC又はH.266/VVC)では、「符号化ツリーブロック」(「CTB(coding tree block)」)と称され得る。基本処理ユニットに対して遂行される任意の演算はそのルマ及びクロマ成分の各々に対して繰り返し遂行され得る。
【0023】
[0046] 映像符号化は複数の演算段階を有し、
図2A~
図2B及び
図3A~
図3Bにその例が示されている。各段階にとって、基本処理ユニットのサイズは依然として処理のために大きすぎるものになり得、それゆえ、本開示において「基本処理サブユニット」と称されるセグメントにさらに分割され得る。実施形態によっては、基本処理サブユニットは、いくつかの映像符号化規格(例えば、MPEGファミリー、H.261、H.263、又はH.264/AVC)では、「ブロック」と、或いはいくつかの他の映像符号化規格(例えば、H.265/HEVC又はH.266/VVC)では、「符号化ユニット」(「CU」)と称され得る。基本処理サブユニットは、基本処理ユニットと同じ、又はそれよりも小さいサイズを有することができる。基本処理ユニットと同様に、基本処理サブユニットもまた、コンピュータメモリ内に(例えば、映像フレームバッファ内に)記憶された異なる種類の映像データ(例えば、Y、Cb、Cr、及び関連シンタックス要素)のグループを含むことができる、論理ユニットである。基本処理サブユニットに対して遂行される任意の動作はそのルマ及びクロマ成分の各々に対して繰り返し遂行され得る。このような分割は処理の必要に応じてさらなるレベルまで遂行され得ることに留意されたい。また、異なる段階は、異なる方式を用いて基本処理ユニットを分割することができることにも留意されたい。
【0024】
[0047] 例えば、モード決定段階(
図2Bにその一例が示されている)において、符号器は、どのような予測モード(例えば、イントラピクチャ予測又はインターピクチャ予測)を基本処理ユニットのために用いるかを決定することができるが、基本処理ユニットは、このような決定を行うには大きすぎるものになり得る。符号器は基本処理ユニットを複数の基本処理サブユニット(例えば、H.265/HEVC又はH.266/VVCの場合のように、CU)に分割し、個々の基本処理サブユニットごとに予測の種類を決めることができる。
【0025】
[0048] 別の例として、予測段階(
図2A~
図2Bにその例が示されている)において、符号器は基本処理サブユニット(例えば、CU)のレベルで予測演算を遂行することができる。しかし、場合によっては、基本処理サブユニットは、依然として、処理するには大きすぎるものになり得る。符号器は基本処理サブユニットをより小さいセグメント(例えば、H.265/HEVC又はH.266/VVCでは「予測ブロック(prediction block)」又は「PB」と称される)にさらに分割することができ、そのレベルで予測演算が遂行され得る。
【0026】
[0049] 別の例として、変換段階(
図2A~
図2Bにその例が示されている)において、符号器は残差基本処理サブユニット(例えば、CU)のための変換演算を遂行することができる。しかし、場合によっては、基本処理サブユニットは、依然として、処理するには大きすぎるものになり得る。符号器は基本処理サブユニットをより小さいセグメント(例えば、H.265/HEVC又はH.266/VVCでは「変換ブロック(transform block)」又は「TB」と称される)にさらに分割することができ、そのレベルで変換演算が遂行され得る。同じ基本処理サブユニットの分割方式が予測段階及び変換段階において異なってもよいことに留意されたい。例えば、H.265/HEVC又はH.266/VVCでは、同じCUの予測ブロック及び変換ブロックが異なるサイズ及び数を有してもよい。
【0027】
[0050]
図1の構造110においては、基本処理ユニット112は3×3基本処理サブユニットにさらに分割され、それらの境界は点線として示されている。同じピクチャの異なる基本処理ユニットは異なる方式で基本処理サブユニットに分割されてもよい。
【0028】
[0051] 実装形態によっては、並列処理及び誤り耐性の能力を映像符号化及び復号化にもたらすために、1つのピクチャを処理のための領域に分割することができ、これにより、符号化又は復号化プロセスは、ピクチャの1つの領域に関して、当該ピクチャのいかなる他の領域からの情報にも依存しなくてすむ。換言すれば、ピクチャの各領域は独立して処理され得る。そうすることによって、コーデックはピクチャの異なる領域を並行して処理することができ、それゆえ、符号化効率を増大させる。また、領域のデータが処理中に破損したか、又はネットワーク伝送中に失われたときには、コーデックは、破損した、又は失われたデータを頼ることなく、同じピクチャの他の領域を正しく符号化又は復号化することもでき、それゆえ、誤り耐性の能力をもたらす。いくつかの映像符号化規格では、ピクチャを異なる種類の領域に分割することができる。例えば、H.265/HEVC及びH.266/VVCは2種類の領域:「スライス」及び「タイル」を提供する。また、映像シーケンス100の異なるピクチャは、ピクチャを領域に分割するための異なる区分方式を有することができることにも留意されたい。
【0029】
[0052] 例えば、
図1では、構造110は3つの領域114、116、及び118に分割され、それらの境界は構造110の内部の実線として示されている。領域114は4つの基本処理ユニットを含む。領域116及び118の各々は6つの基本処理ユニットを含む。
図1における構造110の基本処理ユニット、基本処理サブユニット、及び領域は単なる例にすぎず、本開示はその実施形態を限定しないことに留意されたい。
【0030】
[0053]
図2Aは、本開示の実施形態に従う、例示的な符号化プロセス200Aの概略図を示す。例えば、符号化プロセス200Aは符号器によって遂行され得る。
図2Aに示されるように、符号器はプロセス200Aに従って映像シーケンス202を映像ビットストリーム228に符号化することができる。
図1における映像シーケンス100と同様に、映像シーケンス202は、時間的順序で配列されたピクチャ(「原ピクチャ」と称される)のセットを含むことができる。
図1における構造110と同様に、映像シーケンス202の各原ピクチャは、符号器によって処理のために基本処理ユニット、基本処理サブユニット、又は領域に分割され得る。実施形態によっては、符号器は映像シーケンス202の原ピクチャごとに基本処理ユニットのレベルでプロセス200Aを遂行することができる。例えば、符号器はプロセス200Aを反復的な仕方で遂行することができ、その場合、符号器は基本処理ユニットをプロセス200Aの1回の反復において符号化することができる。実施形態によっては、符号器はプロセス200Aを映像シーケンス202の各原ピクチャの領域(例えば、領域114~118)のために並行して遂行することができる。
【0031】
[0054]
図2Aにおいて、符号器は映像シーケンス202の原ピクチャの基本処理ユニット(「原BPU」と称される)を予測段階204に供給し、予測データ206及び予測BPU208を生成することができる。符号器は予測BPU208を原BPUから減算し、残差BPU210を生成することができる。符号器は残差BPU210を変換段階212及び量子化段階214に供給し、量子化変換係数216を生成することができる。符号器は予測データ206及び量子化変換係数216を2値符号化段階226に供給し、映像ビットストリーム228を生成することができる。構成要素202、204、206、208、210、212、214、216、226、及び228は「順方向経路」と称され得る。プロセス200Aの間、量子化段階214の後に、符号器は量子化変換係数216を逆量子化段階218及び逆変換段階220に供給し、再構成残差BPU222を生成することができる。符号器は再構成残差BPU222を予測BPU208に加算し、プロセス200Aの次の反復のために予測段階204において用いられる、予測基準224を生成することができる。プロセス200Aの構成要素218、220、222、及び224は「再構成経路」と称され得る。再構成経路は、符号器及び復号器の両方が同じ参照データを予測のために用いることを確実にするために用いられ得る。
【0032】
[0055] 符号器は、原ピクチャの各原BPUを(順方向経路内で)符号化し、原ピクチャの次の原BPUを符号化するための予測基準224を(再構成経路内で)生成するために、プロセス200Aを反復的に遂行することができる。原ピクチャの全ての原BPUを符号化した後に、符号器は、映像シーケンス202内の次のピクチャを符号化するために進むことができる。
【0033】
[0056] プロセス200Aを参照すると、符号器は、映像取り込みデバイス(例えば、カメラ)によって生成された映像シーケンス202を受信することができる。本明細書において用いられる用語「受信する」は、受信すること、入力すること、獲得すること、取得すること、得ること、読み込むこと、アクセスすること、又はデータを入力するための任意の仕方による任意の行為を指すことができる。
【0034】
[0057] 予測段階204において、現在の反復において、符号器は原BPU及び予測基準224を受信し、予測演算を遂行し、予測データ206及び予測BPU208を生成することができる。予測基準224はプロセス200Aの以前の反復の再構成経路から生成され得る。予測段階204の目的は、予測データ206を抽出することによって、情報冗長性を低減することであり、予測データ206は、予測データ206及び予測基準224から原BPUを予測BPU208として再構成するために用いることができる。
【0035】
[0058] 理想的には、予測BPU208は原BPUと同一であることができる。しかし、非理想的な予測及び再構成演算のゆえに、予測BPU208は、概して、原BPUとは若干異なる。このような差を記録するために、予測BPU208を生成した後に、符号器はそれを原BPUから減算し、残差BPU210を生成することができる。例えば、符号器は予測BPU208のピクセルの値(例えば、グレースケール値又はRGB値)を原BPUの対応するピクセルの値から減算することができる。残差BPU210の各ピクセルは、原BPU及び予測BPU208の対応するピクセルの間のこのような減算の結果としての残差値を有することができる。原BPUと比べて、予測データ206及び残差BPU210はより少数のビットを有することができるが、それらは、著しい品質劣化を伴うことなく原BPUを再構成するために用いられ得る。それゆえ、原BPUは圧縮される。
【0036】
[0059] 残差BPU210をさらに圧縮するために、変換段階212において、符号器は、残差BPU210を2次元「基底パターン」のセットに分解することによって、残差BPU210の空間的冗長性を低減することができ、各基底パターンは「変換係数」に関連付けられている。基底パターンは同じサイズ(例えば、残差BPU210のサイズ)を有することができる。各基底パターンは残差BPU210の変化周波数(例えば、輝度変化の周波数)成分を表現することができる。基底パターンはいずれも、いかなる他の基底パターンのいかなる結合(例えば、線形結合)からも再現することができない。換言すれば、分解は残差BPU210の変化を周波数領域に分解することができる。このような分解は関数の離散フーリエ変換と類似しており、この場合、基底パターンは、離散フーリエ変換の基底関数(例えば、三角関数)と類似しており、変換係数は、基底関数に関連付けられた係数と類似している。
【0037】
[0060] 異なる変換アルゴリズムは異なる基底パターンを用いることができる。例えば、離散余弦変換、離散正弦変換、又は同様のものなどの、様々な変換アルゴリズムを変換段階212において用いることができる。変換段階212における変換は逆演算可能である。すなわち、符号器は変換の逆演算(「逆変換」と称される)によって残差BPU210を回復することができる。例えば、残差BPU210のピクセルを回復するために、逆変換は、基底パターンの対応するピクセルの値にそれぞれの関連係数を乗算し、積を加算していき、加重和を生成することができる。映像符号化規格のために、符号器及び復号器は両方とも同じ変換アルゴリズム(それゆえ、同じ基底パターン)を用いることができる。それゆえ、符号器は変換係数のみを記録することができ、復号器は、基底パターンを符号器から受信することなく、変換係数から残差BPU210を再構成することができる。残差BPU210と比べて、変換係数はより少数のビットを有することができるが、それらは、著しい品質劣化を伴うことなく残差BPU210を再構成するために用いられ得る。それゆえ、残差BPU210はさらに圧縮される。
【0038】
[0061] 符号器は量子化段階214において変換係数をさらに圧縮することができる。変換プロセスにおいて、異なる基底パターンは異なる変化周波数(例えば、輝度変化周波数)を表現することができる。人間の眼は、概して、低周波数変化を認識することがより得意であるため、符号器は、復号化において著しい品質劣化を生じさせることなく高周波数変化の情報を無視することができる。例えば、量子化段階214において、符号器は、各変換係数を整数値(「量子化スケールファクタ」と称される)で除算し、商をその最近傍の整数に丸めることによって、量子化変換係数216を生成することができる。このような演算の後に、高周波数基底パターンの一部の変換係数は0に変換され得、低周波数基底パターンの変換係数はより小さい整数に変換され得る。符号器は0値の量子化変換係数216を無視することができ、これによって変換係数はさらに圧縮される。量子化プロセスもまた逆演算可能であり、この場合、量子化変換係数216は量子化の逆演算(「逆量子化」と称される)において変換係数に再構成され得る。
【0039】
[0062] 符号器はこのような除算の剰余を丸め演算において無視するため、量子化段階214は非可逆になり得る。典型的に、量子化段階214はプロセス200Aにおいて最大の情報損失に寄与し得る。情報損失が大きいほど、量子化変換係数216が必要とするビットは少なくなる。異なる情報損失レベルを得るために、符号器は、量子化パラメータ又は量子化プロセスの任意の他のパラメータの異なる値を用いることができる。
【0040】
[0063] 2値符号化段階226において、符号器は、例えば、エントロピー符号化、可変長符号化、算術符号化、ハフマン符号化、コンテキスト適応2値算術符号化、又は任意の他の可逆若しくは非可逆圧縮アルゴリズムなどの、2値符号化技法を用いて、予測データ206及び量子化変換係数216を符号化することができる。実施形態によっては、予測データ206及び量子化変換係数216のほかに、符号器は、例えば、予測段階204において用いられる予測モード、予測演算のパラメータ、変換段階212における変換の種類、量子化プロセスのパラメータ(例えば、量子化パラメータ)、符号器制御パラメータ(例えば、ビットレート制御パラメータ)、又は同様のものなどの、他の情報を2値符号化段階226において符号化することができる。符号器は2値符号化段階226の出力データを用いて映像ビットストリーム228を生成することができる。実施形態によっては、映像ビットストリーム228をネットワーク伝送のためにさらにパケット化することができる。
【0041】
[0064] プロセス200Aの再構成経路を参照すると、逆量子化段階218において、符号器は量子化変換係数216に対して逆量子化を遂行し、再構成変換係数を生成することができる。逆変換段階220において、符号器は、再構成変換係数に基づいて再構成残差BPU222を生成することができる。符号器は再構成残差BPU222を予測BPU208に加算し、プロセス200Aの次の反復において用いられることになる予測基準224を生成することができる。
【0042】
[0065] プロセス200Aの他の変形を、映像シーケンス202を符号化するために用いることもできることに留意されたい。実施形態によっては、プロセス200Aの段階は符号器によって、異なる順序で遂行され得る。実施形態によっては、プロセス200Aの1つ以上の段階を単一の段階に組み合わせることができる。実施形態によっては、プロセス200Aの単一の段階を複数の段階に分割することができる。例えば、変換段階212及び量子化段階214を単一の段階に組み合わせることができる。実施形態によっては、プロセス200Aは追加の段階を含むことができる。実施形態によっては、プロセス200Aは
図2Aにおける1つ以上の段階を省略することができる。
【0043】
[0066]
図2Bは、本開示の実施形態に従う、別の例示的な符号化プロセス200Bの概略図を示す。プロセス200Bはプロセス200Aから変更され得る。例えば、プロセス200Bは、ハイブリッド映像符号化規格(例えば、H.26xシリーズ)に準拠した符号器によって用いられ得る。プロセス200Aと比べて、プロセス200Bの順方向経路はモード決定段階230を追加的に含み、予測段階204を空間的予測段階2042及び時間的予測段階2044に分割する。プロセス200Bの再構成経路はループフィルタ段階232及びバッファ234を追加的に含む。
【0044】
[0067] 概して、予測技法は2つの種類:空間的予測及び時間的予測に分類することができる。空間的予測(例えば、イントラピクチャ予測又は「イントラ予測」)は、現在のBPUを予測するために、同じピクチャ内の1つ以上のすでに符号化された隣接BPUからのピクセルを用いることができる。すなわち、空間的予測における予測基準224は隣接BPUを含むことができる。空間的予測はピクチャの固有の空間的冗長性を低減することができる。時間的予測(例えば、インターピクチャ予測又は「インター予測」)は、現在のBPUを予測するために、1つ以上のすでに符号化されたピクチャからの領域を用いることができる。すなわち、時間的予測における予測基準224は符号化ピクチャを含むことができる。時間的予測はピクチャの固有の時間的冗長性を低減することができる。
【0045】
[0068] プロセス200Bを参照すると、順方向経路内において、符号器は予測演算を空間的予測段階2042及び時間的予測段階2044において遂行する。例えば、空間的予測段階2042において、符号器はイントラ予測を遂行することができる。符号化中のピクチャの原BPUのために、予測基準224は、(順方向経路内で)符号化され、(再構成経路内で)再構成された1つ以上の隣接BPUを同じピクチャ内に含むことができる。符号器は、隣接BPUを外挿することによって予測BPU208を生成することができる。外挿技法は、例えば、線形外挿若しくは補間、多項式外挿若しくは補間、又は同様のものを含むことができる。実施形態によっては、符号器は、予測BPU208のピクセルごとに、対応するピクセルの値を外挿することによるなどして、外挿をピクセルレベルで遂行することができる。外挿のために用いられる隣接BPUは、(例えば、原BPUの上の)鉛直方向、(例えば、原BPUの左の)水平方向、(例えば、原BPUの左下、右下、左上、若しくは右上の)対角方向、又は用いられる映像符号化規格において定義される任意の方向などの、様々な方向から原BPUに対して位置することができる。イントラ予測のために、予測データ206は、例えば、用いられる隣接BPUの場所(例えば、座標)、用いられる隣接BPUのサイズ、外挿のパラメータ、原BPUに対する用いられる隣接BPUの方向、又は同様のものを含むことができる。
【0046】
[0069] 別の例として、時間的予測段階2044において、符号器はインター予測を遂行することができる。現在のピクチャの原BPUのために、予測基準224は、(順方向経路内で)符号化され、(再構成経路内で)再構成された1つ以上のピクチャ(「参照ピクチャ」と称される)を含むことができる。実施形態によっては、参照ピクチャはBPUごとに符号化され、再構成され得る。例えば、符号器は再構成残差BPU222を予測BPU208に加算し、再構成BPUを生成することができる。同じピクチャの全ての再構成BPUが生成されたとき、符号器は再構成ピクチャを参照ピクチャとして生成することができる。符号器は、参照ピクチャのある範囲(「探索窓」と称される)内のマッチング領域を探索するために「動き推定」の演算を遂行することができる。参照ピクチャ内の探索窓の位置は、現在のピクチャの原BPUの位置に基づいて決定することができる。例えば、探索窓は、参照ピクチャ内で、現在のピクチャ内の原BPUと同じ座標を有する位置に中心を有することができ、所定の距離にわたって外へ拡張され得る。符号器が、(例えば、画素再帰(pel-recursive)アルゴリズム、ブロックマッチングアルゴリズム、又は同様のものを用いることによって)探索窓内で原BPUと同様の領域を識別したとき、符号器はこのような領域をマッチング領域として決定することができる。マッチング領域は、原BPUとは異なる(例えば、原BPUよりも小さい、それに等しい、それよりも大きい、又は異なる形状の)寸法を有することができる。参照ピクチャ及び現在のピクチャが(例えば、
図1に示されるように)タイムライン内で時間的に分離されているため、時間が経過するにつれてマッチング領域は原BPUの場所へ「移動する」と見なすことができる。符号器はこのような動きの方向及び距離を「動きベクトル」として記録することができる。(例えば、
図1におけるピクチャ106のような)複数の参照ピクチャが用いられるときには、符号器は、参照ピクチャごとにマッチング領域を探索し、その関連する動きベクトルを決定することができる。実施形態によっては、符号器は、それぞれのマッチングする参照ピクチャのマッチング領域のピクセル値に重みを付与することができる。
【0047】
[0070] 動き推定は、例えば、並進、回転、ズーミング、又は同様のものなどの、様々な種類の動きを識別するために用いることができる。インター予測のために、予測データ206は、例えば、マッチング領域の位置(例えば、座標)、マッチング領域に関連付けられた動きベクトル、参照ピクチャの数、参照ピクチャに関連付けられた重み、又は同様のものを含むことができる。
【0048】
[0071] 予測BPU208を生成するために、符号器は「動き補償」の演算を遂行することができる。動き補償は、予測データ206(例えば、動きベクトル)及び予測基準224に基づいて予測BPU208を再構成するために用いることができる。例えば、符号器は、動きベクトルに従って、参照ピクチャのマッチング領域を移動させることができ、その場合、符号器は、現在のピクチャの原BPUを予測することができる。(例えば、
図1におけるピクチャ106のような)複数の参照ピクチャが用いられるときには、符号器は、それぞれの動きベクトルに従って参照ピクチャのマッチング領域を移動させ、マッチング領域のピクセル値を平均することができる。実施形態によっては、符号器がそれぞれのマッチングする参照ピクチャのマッチング領域のピクセル値に重みを付与した場合には、符号器は、移動させたマッチング領域のピクセル値の加重和を加えることができる。
【0049】
[0072] 実施形態によっては、インター予測は一方向性又は双方向性であることができる。一方向性インター予測は現在のピクチャに対して同じ時間方向の1つ以上の参照ピクチャを用いることができる。例えば、
図1におけるピクチャ104は、参照ピクチャ(すなわち、ピクチャ102)がピクチャ104に先行する、一方向インター予測ピクチャである。双方向インター予測は、現在のピクチャに対して両方の時間方向にある1つ以上の参照ピクチャを用いることができる。例えば、
図1におけるピクチャ106は、参照ピクチャ(すなわち、ピクチャ104及び108)がピクチャ104に対して両方の時間方向にある、双方向インター予測ピクチャである。
【0050】
[0073] プロセス200Bの順方向経路をなおも参照すると、空間的予測2042及び時間的予測段階2044の後に、モード決定段階230において、符号器は予測モード(例えば、イントラ予測又はインター予測のうちの一方)をプロセス200Bの現在の反復のために選択することができる。例えば、符号器はレート-歪み最適化技法を遂行することができる。本技法では、符号器は、候補予測モードのビットレート、及び候補予測モード下での再構成された参照ピクチャの歪みに応じて、コスト関数の値を最小化するための予測モードを選択することができる。選択された予測モードに応じて、符号器は、対応する予測BPU208及び予測データ206を生成することができる。
【0051】
[0074] プロセス200Bの再構成経路内において、イントラ予測モードが順方向経路内で選択された場合には、予測基準224(例えば、現在のピクチャにおいて符号化され、再構成された現在のBPU)を生成した後に、符号器は予測基準224を後の使用のために(例えば、現在のピクチャの次のBPUの外挿のために)空間的予測段階2042に直接供給することができる。符号器は予測基準224をループフィルタ段階232に供給することができ、そこで、符号器はループフィルタを予測基準224に適用し、予測基準224の符号化の間に導入された歪み(例えば、ブロッキングアーチファクト)を低減又は解消することができる。符号器は、例えば、デブロッキング、サンプル適応オフセット、適応ループフィルタ、又は同様のものなどの、様々なループフィルタ技法をループフィルタ段階232において適用することができる。ループフィルタリングされた参照ピクチャは、後の使用のために(例えば、映像シーケンス202の将来のピクチャのためのインター予測参照ピクチャとして用いられるために)バッファ234(又は「復号化ピクチャバッファ」)内に記憶され得る。符号器は、1つ以上の参照ピクチャを、時間的予測段階2044において用いられるためにバッファ234内に記憶することができる。実施形態によっては、符号器は、ループフィルタのパラメータ(例えば、ループフィルタ強度)を、量子化変換係数216、予測データ206、及び他の情報と共に、2値符号化段階226において符号化することができる。
【0052】
[0075]
図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回の反復において復号化することができる。実施形態によっては、復号器は、プロセス300Aを、映像ビットストリーム228内に符号化された各ピクチャの領域(例えば、領域114~118)のために並行して遂行することができる。
【0053】
[0076]
図3Aにおいて、復号器は、符号化ピクチャの基本処理ユニット(「符号化BPU」と称される)に関連付けられた映像ビットストリーム228の一部を2値復号化段階302に供給することができる。2値復号化段階302において、復号器は当該一部を予測データ206及び量子化変換係数216に復号化することができる。復号器は量子化変換係数216を逆量子化段階218及び逆変換段階220に供給し、再構成残差BPU222を生成することができる。復号器は予測データ206を予測段階204に供給し、予測BPU208を生成することができる。復号器は再構成残差BPU222を予測BPU208に加算し、予測基準224を生成することができる。実施形態によっては、予測基準224をバッファ(例えば、コンピュータメモリ内の復号化ピクチャバッファ)内に記憶することができる。復号器は、予測演算をプロセス300Aのfために、予測基準224を予測段階204に供給することができる。
【0054】
[0077] 復号器は、符号化ピクチャの各符号化BPUを復号化し、符号化ピクチャの次の符号化BPUを符号化するための予測基準224を生成するために、プロセス300Aを反復的に遂行することができる。符号化ピクチャの全ての符号化BPUを復号化した後に、復号器はピクチャを表示のために映像ストリーム304に出力し、映像ビットストリーム228内の次の符号化ピクチャを復号化するために進むことができる。
【0055】
[0078] 2値復号化段階302において、復号器は、符号器によって用いられた2値符号化技法(例えば、エントロピー符号化、可変長符号化、算術符号化、ハフマン符号化、コンテキスト適応2値算術符号化、又は任意の他の可逆圧縮アルゴリズム)の逆演算を遂行することができる。実施形態によっては、予測データ206及び量子化変換係数216のほかに、復号器は、例えば、予測モード、予測演算のパラメータ、変換の種類、量子化プロセスのパラメータ(例えば、量子化パラメータ)、符号器制御パラメータ(例えば、ビットレート制御パラメータ)、又は同様のものなどの、他の情報を2値復号化段階302において復号化することができる。実施形態によっては、映像ビットストリーム228がネットワークを通じてパケットの形で伝送される場合には、復号器は映像ビットストリーム228を、それを2値復号化段階302に供給する前にデパケット化することができる。
【0056】
[0079]
図3Bは、本開示の実施形態に従う、別の例示的な復号化プロセス300Bの概略図を示す。プロセス300Bはプロセス300Aから変更され得る。例えば、プロセス300Bは、ハイブリッド映像符号化規格(例えば、H.26xシリーズ)に準拠した復号器によって用いられ得る。プロセス300Aと比べて、プロセス300Bは予測段階204を空間的予測段階2042及び時間的予測段階2044に追加的に分割し、ループフィルタ段階232及びバッファ234を追加的に含む。
【0057】
[0080] プロセス300Bにおいて、復号化中の符号化ピクチャ(「現在のピクチャ」と称される)の符号化基本処理ユニット(「現在のBPU」と称される)に関して、復号器によって2値復号化段階302から復号化される予測データ206は、現在のBPUを符号化するためにいずれの予測モードが符号器によって用いられたのかに依存して、様々な種類のデータを含むことができる。例えば、現在のBPUを符号化するためにイントラ予測が符号器によって用いられた場合には、予測データ206は、イントラ予測、イントラ予測演算のパラメータ、又は同様のものを指示する予測モードインジケータ(例えば、フラグ値)を含むことができる。イントラ予測演算のパラメータは、例えば、基準として用いられる1つ以上の隣接BPUの場所(例えば、座標)、隣接BPUのサイズ、外挿のパラメータ、原BPUに対する隣接BPUの方向、又は同様のものを含むことができる。別の例として、現在のBPUを符号化するためにインター予測が符号器によって用いられた場合には、予測データ206は、インター予測、インター予測演算のパラメータ、又は同様のものを指示する予測モードインジケータ(例えば、フラグ値)を含むことができる。インター予測演算のパラメータは、例えば、現在のBPUに関連付けられた参照ピクチャの数、参照ピクチャにそれぞれ関連付けられた重み、それぞれの参照ピクチャ内の1つ以上のマッチング領域の位置(例えば、座標)、マッチング領域にそれぞれ関連付けられた1つ以上の動きベクトル、又は同様のものを含むことができる。
【0058】
[0081] 予測モードインジケータに基づいて、復号器は、空間的予測段階2042において空間的予測(例えば、イントラ予測)を遂行するべきか、又は時間的予測段階2044において時間的予測(例えば、インター予測)を遂行するべきかを決定することができる。このような空間的予測又は時間的予測を遂行することの詳細は
図2Bにおいて説明されており、以下、繰り返されない。このような空間的予測又は時間的予測を遂行した後に、復号器は予測BPU208を生成することができる。復号器は、
図3Aにおいて説明されたように、予測BPU208及び再構成残差BPU222を加算し、予測基準224を生成することができる。
【0059】
[0082] プロセス300Bにおいて、復号器は、プロセス300Bの次の反復において予測演算を行うために、予測基準224を空間的予測段階2042又は時間的予測段階2044に供給することができる。例えば、現在のBPUが空間的予測段階2042においてイントラ予測を用いて復号化される場合には、予測基準224(例えば、復号化された現在のBPU)を生成した後に、復号器は、後の使用のために(例えば、現在のピクチャの次のBPUの外挿のために)空間的予測段階2042に予測基準224を直接供給することができる。現在のBPUが時間的予測段階2044においてインター予測を用いて復号化される場合には、予測基準224(例えば、全てのBPUが復号化された参照ピクチャ)を生成した後に、符号器は、ループフィルタ段階232に予測基準224を供給し、歪み(例えば、ブロッキングアーチファクト)を低減又は解消することができる。復号器は、
図2Bにおいて説明されたとおりの仕方でループフィルタを予測基準224に適用することができる。ループフィルタリングされた参照ピクチャは、後の使用のために(例えば、映像ビットストリーム228の将来の符号化ピクチャのためのインター予測参照ピクチャとして用いられるために)バッファ234(例えば、コンピュータメモリ内の復号化ピクチャバッファ)内に記憶され得る。復号器は、1つ以上の参照ピクチャを、時間的予測段階2044において用いられるためにバッファ234内に記憶することができる。実施形態によっては、予測データがループフィルタのパラメータ(例えばループフィルタの強度)をさらに含み得る。実施形態によっては、現在のBPUを符号化するためにインター予測が使用されたことを予測データ206の予測モードインジケータが示す場合、予測データがループフィルタのパラメータを含む。
【0060】
[0083]
図4は、本開示の実施形態に従う、映像を符号化又は復号化するための例示的な装置400のブロック図である。
図4に示されるように、装置400はプロセッサ402を含むことができる。プロセッサ402が、本明細書において説明される命令を実行したとき、装置400は映像符号化又は復号化のための特殊機械になることができる。プロセッサ402は、情報を操作又は処理する能力を有する任意の種類の回路機構であることができる。例えば、プロセッサ402は、中央処理装置(又は「CPU」)、グラフィック処理装置(又は「GPU」)、ニューラル処理装置(「NPU」)、マイクロコントローラユニット(「MCU」)、光プロセッサ、プログラマブル論理コントローラ、マイクロコントローラ、マイクロプロセッサ、デジタル信号プロセッサ、知的財産(IP)コア、プログラマブル論理アレイ(PLA)、プログラマブルアレイ論理(PAL)、ジェネリックアレイ論理(GAL)、複合プログラマブル論理装置(CPLD)、フィールドプログラマブルゲートアレイ(FPGA)、システムオンチップ(SoC)、特定用途向け集積回路(ASIC)、又は同様のもののうちの、任意の数の任意の組み合わせを含むことができる。実施形態によっては、プロセッサ402はまた、単一の論理構成要素としてグループ化されたプロセッサのセットであることもできる。例えば、
図4に示されるように、プロセッサ402は、プロセッサ402a、プロセッサ402b、及びプロセッサ402nを含む、複数のプロセッサを含むことができる。
【0061】
[0084] 装置400はまた、データ(例えば、命令のセット、コンピュータコード、中間データ、又は同様のもの)を記憶するように構成されたメモリ404を含むことができる。例えば、
図4に示されるように、記憶されるデータは、プログラム命令(例えば、プロセス200A、200B、300A、又は300Bにおける段階を実施するためのプログラム命令)、並びに処理のためのデータ(例えば、映像シーケンス202、映像ビットストリーム228、又は映像ストリーム304)を含むことができる。プロセッサ402は、(例えば、バス410を介して)プログラム命令、及び処理のためのデータにアクセスし、プログラム命令を実行し、処理のためのデータに対する演算又は操作を行うことができる。メモリ404は高速ランダムアクセス記憶デバイス又は不揮発性記憶デバイスを含むことができる。実施形態によっては、メモリ404は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、光ディスク、磁気ディスク、ハードドライブ、ソリッドステートドライブ、フラッシュドライブ、セキュリティデジタル(SD)カード、メモリスティック、コンパクトフラッシュ(登録商標)(CF)カード、又は同様のもののうちの任意の数の任意の組み合わせを含むことができる。メモリ404はまた、単一の論理構成要素としてグループ化されたメモリのグループ(
図4には示されていない)であることもできる。
【0062】
[0085] バス410は、内部バス(例えば、CPU-メモリバス)、外部バス(例えば、ユニバーサルシリアルバスポート、周辺コンポーネントインターコネクトエクスプレスポート)、又は同様のものなどの、装置400の内部の構成要素の間でデータを転送する通信デバイスであることができる。
【0063】
[0086] 曖昧さを生じさせることなく説明を容易にするために、プロセッサ402及び他のデータ処理回路は、本開示においてまとめて「データ処理回路」と称される。データ処理回路は、完全にハードウェアとして、或いはソフトウェア、ハードウェア、又はファームウェアの組み合わせとして実施され得る。加えて、データ処理回路は、単一の独立モジュールであることができるか、或いは装置400の任意の他の構成要素に完全に、又は部分的に組み合わせられ得る。
【0064】
[0087] 装置400は、ネットワーク(例えば、インターネット、イントラネット、ローカルエリアネットワーク、移動通信ネットワーク、又は同様のもの)との有線又は無線通信を提供するためのネットワークインターフェース406をさらに含むことができる。実施形態によっては、ネットワークインターフェース406は、ネットワークインターフェースコントローラ(NIC)、無線周波数(RF)モジュール、トランスポンダ、トランシーバ、モデム、ルータ、ゲートウェイ、有線ネットワークアダプタ、無線ネットワークアダプタ、Bluetooth(登録商標)アダプタ、赤外線アダプタ、近距離無線通信(「NFC」)アダプタ、セルラーネットワークチップ、又は同様のもののうちの、任意の数の任意の組み合わせを含むことができる。
【0065】
[0088] 実施形態によっては、任意選択的に、装置400は、1つ以上の周辺デバイスへの接続を提供するための周辺インターフェース408をさらに含むことができる。
図4に示されるように、周辺デバイスは、限定するものではないが、カーソル制御デバイス(例えば、マウス、タッチパッド、又はタッチスクリーン)、キーボード、ディスプレイ(例えば、陰極線管ディスプレイ、液晶ディスプレイ、又は発光ダイオードディスプレイ)、映像入力デバイス(例えば、カメラ、又は映像アーカイブに結合された入力インターフェース)、或いは同様のものを含むことができる。
【0066】
[0089] 映像コーデック(例えば、プロセス200A、200B、300A、又は300Bを遂行するコーデック)は、装置400内の任意のソフトウェア又はハードウェアモジュールの任意の組み合わせとして実施され得ることに留意されたい。例えば、プロセス200A、200B、300A、又は300Bの一部又は全ての段階は、メモリ404内にロードされ得るプログラム命令などの、装置400の1つ以上のソフトウェアモジュールとして実装され得る。別の例として、プロセス200A、200B、300A、又は300Bの一部又は全ての段階は、特殊データ処理回路(例えば、FPGA、ASIC、NPU、又は同様のもの)などの、装置400の1つ以上のハードウェアモジュールとして実装され得る。
【0067】
[0090] 本開示は、GPMに関する動きベクトル精密化を行うための方法を提供する。
【0068】
[0091] VVCでは、インター予測のためにGPM(geometric partition mode)がサポートされる。GPMは、通常マージモード、動きベクトル差分によるマージモード(MMVD)モード、結合インター-イントラ予測(CIIP)モード、及びサブブロックマージモードなどの他のマージモードと共に、マージモードの一種としてCUレベルフラグを使用してシグナリングされる。採用し得るCUサイズw×h=2m×2nごとに合計64個の区分がGPMによってサポートされ、但しm,n∈{3・・・6}であり、8×64及び64×8は除外する。
【0069】
[0092] GPMが使用される場合、幾何学的に位置決めされる直線によってCUが2つの部分に分割される。
図5は、本開示のいくつかの実施形態に係る、同一角度によってグループ化された例示的なGPM(geometric partition mode)の分割を示す。
図5に示すように、分割線の位置は特定の区分の角度及びオフセットパラメータから数学的に導出される。CU内の幾何学的区分のそれぞれの部分がその独自の動きを使用してインター予測され、各区分について単方向予測だけが許可される。つまり各部分は、1つの動きベクトル及び1つの参照インデックスを有する。この単方向予測の動き制約は、各CUについて2つの動き補償予測だけが必要である(これは、従来の双方向予測と同じである)ことを確実にするために適用される。区分ごとの単方向予測の動きは、以下でより詳細に説明する単方向予測候補リスト構成プロセスを使用して導出される。
【0070】
[0093] 現在のCUにGPMが使用される場合、CU全体のための予測信号が以下のように表される。幾何学的区分の区分モードを示す幾何学的区分インデックス(角度及びオフセット)がシグナリングされる。次いで2つのマージインデックス(区分ごとに1つ)がさらにシグナリングされる。最大GPM候補数のサイズがSPS内で明確にシグナリングされ、GPMマージインデックスに関するシンタックスの2値化を指定する。幾何学的区分の一部のそれぞれを予測した後、以下でより詳細に説明する適応重みを伴う混合処理を使用して幾何学的区分の縁に沿ったサンプル値を調節する。CU全体に適用される変換及び量子化プロセスは他の予測モードで適用されるプロセスと同じになる。最後に、GPMを使用して予測されるCUの動きフィールドが記憶される。GPMに関する動きフィールドを記憶するための詳細なプロセスを以下でより詳細に説明する。
【0071】
[0094] 単方向予測候補リスト構成プロセスの詳細を以下に説明する。単方向予測候補リストは、通常マージモードのために構成されるマージ候補リストから直接導出される。幾何学的単方向予測候補リスト内の単方向予測の動きのインデックスをnで示す。GPMのためのn番目の単方向予測動きベクトルとして、LX(Xはnのパリティに等しい)で示すn番目の拡張マージ候補の動きベクトルを使用する。
図6は、本開示のいくつかの実施形態に係る、GPMのための例示的な単方向予測動きベクトル(MV)選択プロセスを示す。
図6に示すように、動きベクトルが「x」で印付けされている。n番目の拡張マージ候補の対応するLX動きベクトルが存在しない場合、GPMのための単方向予測動きベクトルとして同じ候補のL(1-X)動きベクトルを代わりに使用する。
【0072】
[0095] 幾何学的区分の縁に沿った混合のためのプロセスに関して、その独自の動きを使用して幾何学的区分の各部分を予測した後、各部分の2つの予測信号に混合を適用して幾何学的区分の縁の周りのサンプルを導出する。CUの位置ごとの混合重みは、個別の位置と区分の縁との間の距離に基づいて導出される。
【0073】
[0096]
図7は、本開示のいくつかの実施形態に係る、GPMを用いた重みw
0の例示的生成を示す。
図7に示すように、区分の縁までの位置(x,y)の距離を以下のように導出し:
【数1】
但しi、jは、シグナリングされる幾何学的区分インデックスに依存する幾何学的区分の角度及びオフセットそれぞれのインデックスである。p
x,j及びp
y,jの符号は角度インデックスiに依存する。wはCUの幅であり、hはCUの高さである。
【0074】
[0097] 幾何学的区分の各部分の重みを以下のように導出し:
【数2】
但しwIdxL(x,y)は重みを導出するための中間値であり、w
0(x,y)及びw
1(x,y)は各区分の対応する重みをそれぞれ示す。partIdxは角度インデックスiに依存する。
【0075】
[0098] GPMに関するフィールドの記憶に関して、幾何学的区分の第1の部分からのMV1、幾何学的区分の第2の部分からのMV2、及びMV1とMV2との結合MVがGPM符号化CUの動きフィールド内に記憶される。
【0076】
[0099] 動きフィールド内の個々の位置ごとの記憶される動きベクトルの種類は以下のように決定され:
sType=abs(motionIdx)<32?2:(motionIdx≦0?(1-partIdx):partIdx) (8)
但しmotionIdxは方程式(1)から再計算されるd(4x+2,4y+2)に等しい。partIdxは角度インデックスiに依存する。
【0077】
[00100] sTypeが0又は1に等しい場合、MV1又はMV2が対応する動きフィールド内に記憶され、そうではなくsTypeが2に等しい場合はMV1及びMV2からの結合MVが記憶される。結合MVは次のプロセスを使用して生成される:(1)MV1及びMV2が異なる参照ピクチャリストから(一方がL0からで他方がL1から)のものである場合、MV1及びMV2を単純に結合して双方向予測動きベクトルを形成し、(2)そうではなくMV1及びMV2が同じリストからのものである場合、単方向予測動きMV2だけが記憶される。
【0078】
[00101] VVCにおけるGPMと同様に、オーディオビデオコーディング規格3(AVS3)において角度加重予測(AWP)と呼ばれる或るツールが採用される。AVS3ビデオ規格は、2002年に中国で創設されたAVSワークグループによって開発された。AVS3規格の前身であるAVS1及びAVS2は中国の国内規格として2006年及び2016年にそれぞれ公表された。AVS3では、AWPモードがスキップ及びダイレクトモードについてサポートされる。AWPモードは、スキップ又はダイレクトモードの一種としてCUレベルフラグを使用してシグナリングされる。AWPモードでは、空間的隣接ブロック及び時間的動きベクトル予測子から動きベクトルを導出することにより、5つの異なる単方向予測動きベクトルを含む動きベクトル候補リストが構成される。次いで、動きベクトル候補リストから2つの単方向予測動きベクトルを選択して現在のブロックを予測する。全てのサンプルについて等しい重みを有する双方向予測インターモードと異なり、AWPモードで符号化される各サンプルは異なる重みを有し得る。各サンプルの重みは0から8までの値を有する重みアレイから予測される。
【0079】
[00102]
図8は、本開示のいくつかの実施形態に係る、角度加重予測(AWP)の重み予測のための例示的プロセスを示す。
図9は、本開示のいくつかの実施形態に係る、AWPモードでサポートされる8個の例示的なイントラ予測角度を示す。
図10は、本開示のいくつかの実施形態に係る、AWPモードにおける7個の異なる例示的な重みアレイ設定を示す。
図8に示すように、角度重み予測はイントラ予測モードのプロセスと同様である。m,n∈{3・・・6}であるあり得るCUサイズw×h=2
m×2
nごとに、(
図9に示す)8個のイントラ予測角度及び(
図10に示す)7個の異なる重みアレイ設定を含む合計56個の異なる種類の重みがAWPモードによってサポートされる。AWPモードは、予測なしに復号器に直接シグナリングされることを指摘しておく。AWPモードインデックスは切り捨て二進法を使用して2値化される。つまり0から7までのインデックスは5ビット使用して符号化され、8から55までのインデックスは6ビット使用して符号化される。
【0080】
[00103] 選択される2つの単方向予測動きベクトルがMV1及びMV2だと仮定する。MV1及びMV2をそれぞれ使用して動き補償を行うことによって2つの予測ブロックP0及びP1が得られる。最終的な予測ブロックPが以下のように計算され:
P=(P0×w0+P1×(8-w0))>>3 (9)
但しw0は上述の重み予測方法によって導出される重み行列である。
【0081】
[00104] 予測後、単方向予測動きベクトルが4×4の細分性で記憶される。4×4のユニットごとに、2つの単方向予測動きベクトルのうちの1つが記憶される。
【0082】
[00105] テンプレートマッチング(TM)は、現在のピクチャ内のテンプレート(例えば現在のCUの上の及び/又は左の隣接ブロック)と参照ピクチャ内のブロック(例えばテンプレートと同じサイズ)との間の最も近いマッチを見つけることによって現在のCUの動き情報を精密化するための復号器側のMV導出方法である。
図11は、本開示のいくつかの実施形態に係る、初期MVの周りの探索領域に対して行われるテンプレートマッチングを示す。
図11に示すように、[-8,+8]画素の探索範囲内において、現在のCUの最初の動きの周りで、より優れたMVが探索される。TMモードはマージモード及びAMVPモードに適用することができる。
【0083】
[00106] マージモードに適用するとき、シグナリングされるマージインデックスによって指示されるマージ候補が最初の動きとして使用される。動きを精密化するために表1に示す探索方法を実行する。(AMVRが半画素モードのものであるとき使用される)代替的な補間フィルタがマージされる動き情報に従って使用されるかどうかに応じて、TMは1/8画素のMVD精度まで実行することができ、又は半画素のMVD精度を超えるものはスキップすることができる。
【0084】
【0085】
[00107] AMVPモードでは、現在のブロックのテンプレートと参照ブロックのテンプレートとの間の最小差に達するものを手に入れるためにテンプレートマッチングの誤差に基づいてMVP候補を決定し、次いでTMは、MV精密化に関して、この特定のMVP候補に対してのみ実行する。TMは、反復的ダイヤモンド探索を使用することにより、[-8,+8]画素の探索範囲内で、1画素MVD精度(又は4画素対4画素(4-pel for 4-pel)AMVRモード)から開始して、このMVP候補を精密化する。表1に指定するAMVRモードに応じて、1画素MVD精度(又は4画素対4画素AMVRモード)を有するクロス探索と、その後に続く半画素及び1/4画素のものを使用することにより、AMVP候補をさらに精密化することができる。この探索プロセスは、MVP候補がTMプロセスの後でAMVRモードによって示されるのと同じMV精度を引き続き保つことを確実にする。
【0086】
[00108] マージ候補に関するMVDをシグナリングする動きベクトル差分によるマージモード(MMVD)がVVCに導入される。MMVDモードがCUに使用されるかどうかを指定するために、通常のマージフラグを送信した直後にMMVDフラグがシグナリングされる。MMVDでは、マージ候補が選択された後、シグナリングされるMVD情報によってその候補がさらに精密化される。さらなる情報は、マージ候補フラグ、動きの大きさを示すためのインデックス、及び動きの方向を指示するためのインデックスを含む。MMVDモードでは、MVの基礎として使用するためにマージリスト内の最初の2つの候補の1つが選択される。第1のマージ候補と第2のマージ候補との間でどちらを使用するのかを示すためのMMVD候補フラグがシグナリングされる。
【0087】
[00109] 距離インデックスは、動きの大きさの情報を指定し、開始点からの既定のオフセットを示す。MMVDモードでは、開始MVの水平成分又は垂直成分にオフセットが加えられる。距離インデックスと既定のオフセットとの関係を以下の表2に指定する。
【0088】
【0089】
[00110] 方向インデックスは、開始点に対するMVDの方向を表す。方向インデックスは以下の表で示すように4つの方向を表し得る。開始MVの情報に応じてMVDの符号の意味を変えることができることを指摘しておく。現在のピクチャの同じ側を両方のリストがポイントした(例えば2つの参照のピクチャ順序カウント(POC)がどちらも現在のピクチャのPOCよりも大きい、又はどちらも現在のピクチャのPOCよりも小さい)状態で、開始MVが単方向予測MV又は双方向予測MVである場合、以下の表の符号は開始MVに加えられるMVオフセットの符号を指定する。現在のピクチャの異なる側を2つのMVがポイントした(例えば一方の参照のPOCが現在のピクチャのPOCよりも大きく、他方の参照のPOCが現在のピクチャのPOCよりも小さい)状態で、開始MVが双方向予測MVであり、リスト0内のPOCの差がリスト1内のPOCの差よりも大きい場合、以下の表の符号は開始MVのリスト0のMV成分に加えられるMVオフセットの符号を指定し、リスト1のMVの符号は反対の値を有する。そうではなくリスト1内のPOCの差がリスト0よりも大きい場合、以下の表の符号は開始MVのリスト1のMV成分に加えられるMVオフセットの符号を指定し、リスト0のMVの符号は反対の値を有する。
【0090】
【0091】
[00111] 最近、MMVDがGPMに適用されることが提唱されている。GPMモードを使用してCUが符号化される場合、各幾何学的区分はシグナリングされるMVD情報によって自らの動きが精密化されるかどうかを自由に選択することができる。2つの幾何学的区分にMMVDがそれぞれ適用されるかどうかを示すために、2つの追加のフラグがシグナリングされる。2つのGPM区分のMVを精密化するより柔軟な組み合わせを可能にするために、2つのGPM区分の2つの被選択MVに以下の条件を適用できることを指摘しておく:
a.第1のGPM区分及び第2のGPM区分のどちらもMV精密化を適用しない場合、2つのGPM区分の2つの被選択MVが同一であることは認められない。
b.2つのGPM区分の一方がMV精密化を適用し、他方が適用しない場合、2つのGPM区分の2つの被選択MVが同一であることは認められる。
c.2つのGPM区分の両方がMV精密化を適用する場合、2つの区分のMV精密化が異なる場合は2つの被選択MVが同じであることが認められ、2つのMV精密化が同一である場合は同じであることが認められない。
【0092】
[00112] TMモードは、動きベクトル差分をシグナリングすることなしに復号器側において動きを精密化する。但し、それはGPMではなく通常マージモードにしか適用されない。従ってGPMは、GPM区分のいずれか又は両方に関するより正確な動き予測を提供可能なTMモードの恩恵を受けることができない。
【0093】
[00113] 本開示では、動きを精密化するためにGPMにテンプレートマッチングを適用するための方法を提唱する。
【0094】
[00114]
図12は、本開示のいくつかの実施形態に係る、動きを精密化するためにGPMにテンプレートマッチングを適用するための方法1200の例示的なフローチャートを示す。方法1200は、映像符号化プロセス(例えば
図2Aのプロセス200A又は
図2Bのプロセス200B)の一部として、又は装置(例えば
図4の装置400)の1つ以上のソフトウェア若しくはハードウェアコンポーネントによって実行されてもよい。例えばプロセッサ(例えば
図4のプロセッサ402)が方法1200を実行し得る。実施形態によっては、方法1200は、コンピュータ(例えば
図4の装置400)によって実行される、プログラムコードなどのコンピュータ実行可能命令を含むコンピュータ可読媒体において具現化されるコンピュータプログラム製品によって実施され得る。
図12を参照し、方法1200は以下のステップ1202~1206を含み得る。
【0095】
[00115] ステップ1202において、CUがGPMによって符号化されているかどうかを判定する。
【0096】
[00116] ステップ1204において、第1の区分及び第2の区分へとCUを分割するGPMによってCUが符号化されていることに応答し、TMが適用されるかどうかを示すためのパラメータをシグナリングする。例えばパラメータは、TMがCU全体に適用されるかどうかを示すために使用されるフラグとすることができ(例えばそのフラグはCUレベルでシグナリングされる)、又はTMが様々な区分にそれぞれ適用されるかどうかを示すために複数のパラメータ(例えばフラグ)を使用することができる。パラメータに関するさらなる詳細については以下でさらに説明する。
【0097】
[00117] ステップ1206において、TMが適用されていることに応答し、TMを使用してGPM区分の動きを精密化する。CUにTMが適用されない場合、動きは精密化されない。実施形態によっては、CUにTMが適用されない場合は他の方法を使用して動きを精密化することができる。
【0098】
[00118] 実施形態によっては、さらなる柔軟性を得るために、各区分に対してTMをそれぞれ適用するかどうかを決定する。例えば符号化ユニットがGPMによって符号化される場合、第1の区分の(第1のマージインデックスによって示される)第1の動きがTMを使用して精密化されるかどうかを示すための第1のパラメータ(例えば第1のフラグ)がシグナリングされる。次いで、第2の区分の(第2のマージインデックスによって示される)第2の動きがTMを使用して精密化されるかどうかを示すための第2のパラメータ(例えば第2のフラグ)がシグナリングされる。一例を表4に示す。
【0099】
【0100】
[00119] 第1のパラメータ及び第2のパラメータがどちらも0に等しい場合、2つの区分にTMは適用されない。第1のパラメータが0に等しく第2のパラメータが1に等しい場合、第2の区分にだけTMが適用される。第1のパラメータが1に等しく第2のパラメータが0に等しい場合、第1の区分にだけTMが適用される。第1のパラメータ及び第2のパラメータがどちらも1に等しい場合、両方の区分にTMが適用される。
【0101】
[00120] 表5に示すように、第1のパラメータ及び第2のパラメータは、第3のパラメータ(例えばインデックス)へと結合できることを指摘しておく。
【0102】
【0103】
[00121] 第3のパラメータが0に等しい場合、2つの区分にTMは適用されない。第1の区分の第1の動きも第2の区分の第2の動きもTMを使用して精密化されない。第3のパラメータが1に等しい場合、第2の区分にだけTMが適用される。第2の区分の第2の動きはTMを使用して精密化されるのに対し、第1の区分の第1の動きは精密化されない。第3のパラメータが2に等しい場合、第1の区分にだけTMが適用される。第1の区分の第1の動きはTMを使用して精密化されるのに対し、第2の区分の第2の動きは精密化されない。第3のパラメータが3に等しい場合、両方の区分にTMが適用される。第1の動き及び第2の動きの両方がTMを使用して精密化される。実施形態によっては、第3のパラメータが1に等しい場合、第1の区分にだけTMが適用される。第3のパラメータが2に等しい場合、第2の区分にだけTMが適用される。
【0104】
[00122] 実施形態によっては、GPMの動きを精密化する場合、左及び/又は上の隣接サンプルからテンプレートが構成される。
図13Aから
図13Cは、本開示のいくつかの実施形態に係るGPMのための3つの例示的テンプレートをそれぞれ示す。
【0105】
[00123]
図13Aに示すように、テンプレートは左の隣接サンプル及び上の隣接サンプルの両方から構成される。さらなる柔軟性を得るために、実施形態によっては上の隣接サンプル及び左の隣接サンプルの両方を常に使用する代わりに、左の隣接サンプルだけ又は上の隣接サンプルだけを使用することができる。
図13Bに示すように、テンプレートは上の隣接サンプルだけから構成される。
図13Cに示すように、テンプレートは左の隣接サンプルだけから構成される。さらに、GPM符号化ブロックにTMが適用される場合、3つのテンプレートのどれが使用されるのかを示すために複数のパラメータがシグナリングされる。例えばテンプレートを示すためのインデックスがシグナリングされる。インデックスが0に等しい場合、(
図13Aに示すように)テンプレートを構成するために上の隣接サンプル及び左の隣接サンプルが使用される。インデックスが1に等しい場合、(
図13Bに示すように)上の隣接サンプルが使用される。インデックスが2に等しい場合、(
図13Cに示すように)左の隣接サンプルが使用される。実施形態によっては、3つのテンプレートをそれぞれ示す3つのパラメータがシグナリングされる。
【0106】
[00124] 各区分がテンプレートを個別に選択できると考えられる。例えば第1の区分はテンプレートとして上の隣接サンプルを選択することができ、第2の区分はテンプレートとして左の隣接サンプルを選択することができる。
【0107】
[00125] 上記の実施形態は任意の適切なやり方で組み合わせることができる。
図14は、本開示のいくつかの実施形態に係る、動きを精密化するためにGPMにテンプレートマッチングを適用するための方法1400の別の例示的なフローチャートを示す。
図14に示すように、方法1400は以下のステップ1402~1410を含み得る。
【0108】
[00126] ステップ1402において、CUがGPMによって符号化されているかどうかを判定する。
【0109】
[00127] ステップ1404において、第1の区分及び第2の区分へとCUを分割するGPMによってCUが符号化されていることに応答し、第1の区分にTMが適用されるかどうかを示すための第1のパラメータ(例えば第1のフラグ)をシグナリングする。
【0110】
[00128] ステップ1406において、第2の区分にTMが適用されるかどうかを示すための第2のパラメータ(例えば第2のフラグ)をシグナリングする。従って、区分にTMが適用されているかどうかを個々に明らかにすることができる。
【0111】
[00129] ステップ1408において、第1の区分にTMが適用されていることに応答し、第1の区分の動きを精密化するために3つのテンプレートのどれが使用されるのかを示すための第1のインデックスをシグナリングする。第1の区分にTMが適用されない場合、第1のインデックスはシグナリングされない。
【0112】
[00130] ステップ1410において、第2の区分にTMが適用されていることに応答し、第2の区分の動きを精密化するために3つのテンプレートのどれが使用されるのかを示すための第2のインデックスをシグナリングする。第2の区分にTMが適用されない場合、第2のインデックスはシグナリングされない。
【0113】
[00131] これで、第1のインデックスによって決定されたテンプレートと共にTMを使用して第1の区分の動きを精密化することができ、第2のインデックスによって決定されたテンプレートと共にTMを使用して第2の区分の動きを精密化することができる。
【0114】
[00132] 実施形態によっては、どのテンプレートを使用するのかをシグナリングする代わりに、GPMに基づいてテンプレートを導出することを提唱する。
【0115】
[00133]
図15A及び
図15Bは、本開示のいくつかの実施形態に係る、GPMのための例示的テンプレートの別の改変形態を示す。概して、所与のGPM区分のためのテンプレートのインデックスをシグナリングする代わりに、テンプレート(左の隣接サンプル、上の隣接サンプル、又は左の隣接サンプル及び上の隣接サンプルの両方)の選択はGPMの区分モードに依存し得る。GPM区分のいずれかを例に取り、GPM区分が上の隣接サンプルだけを有する場合は上のテンプレートだけが使用され、GPM区分が左の隣接サンプルだけを有する場合は左のテンプレートだけが使用され、GPM区分が上の隣接サンプル及び左の隣接サンプルの両方を有する場合は上のテンプレート及び左のテンプレートの両方が使用される。
【0116】
[00134]
図15Aに示すように、第1の区分1510Aでは、動きを精密化するために上のテンプレート1511Aだけが使用される。第2の区分1520Aでは、動きを精密化するために左のテンプレート1521Aだけが使用される。
【0117】
[00135]
図15Bに示すように、第1の区分1510Bでは、動きを精密化するために左のテンプレート及び上のテンプレートの両方1511Bが使用される。第2の区分1520Bでは、動きを精密化するために上のテンプレート1521Bだけが使用される。
【0118】
[00136] 実施形態によっては、テンプレートがGPM区分角度に基づいて導出される。
図16は、本開示のいくつかの実施形態に係る、GPM区分モードとGPM区分角度との間の例示的関係を示す。シンタックス内では、GPM区分モードはmerge_gpm_partition_idxと示すことができ、GPM区分角度はangleIdxと示すことができ、距離はdistanceIdxと示すことができる。
図16に示すように、20個の角度及び4個の距離を含む合計64個の区分モードがある。
【0119】
[00137] GPMの動きの精密化中、テンプレートが、区分角度に従って左の隣接サンプルだけから、上の隣接サンプルだけから、又は左の隣接サンプル及び上の隣接サンプルの両方から最初に選択される。テンプレートの選択に関する基本原理は次のとおりである。区分について、上の隣接サンプル及び左の隣接サンプルを決定する。その区分で上の隣接サンプルだけが利用でき、左の隣接サンプルが利用できない場合、テンプレートは上の隣接サンプルだけから選択される。その区分で左の隣接サンプルだけが利用でき、上の隣接サンプルが利用できない場合、テンプレートは左の隣接サンプルだけから選択される。左の隣接サンプル及び上の隣接サンプルの両方が利用できる場合、テンプレートは左の隣接サンプル及び上の隣接サンプルの両方から選択される。
【0120】
[00138]
図17は、本開示のいくつかの実施形態に係る16×16ブロックに関する例示的な角度を示す。
図17に示すように、ブロックは例えば区分角度として示す異なる数値を有する様々な角度で区分することができる。
図18A~
図18Tは、本開示のいくつかの実施形態に係る、16×16ブロックに関する、
図17に示す区分角度ごとの様々なGPM区分モードの各サンプルの例示的な重みを示す。
図18A~
図18Tに示すように、CUが分割線によって第1の区分1810及び第2の区分1820に分割される。適応重みを使用し、幾何学的区分の縁(分割線)に沿ったサンプル値を調節する。第1の区分1810は第1のマージインデックスによって示される第1の動きを使用して予測され、第2の区分1820は第2のマージインデックスによって示される第2の動きを使用して予測される。第1のマージインデックス及び第2のマージインデックスは、ブロックがGPMを使用して符号化される場合にシグナリングされる。とりわけ
図18A、
図18B、
図18C、
図18I、
図18J、
図18K、
図18L、
図18M、
図18S、及び
図18Tに示すように、区分角度0、2、3、13、14、16、18、19、29、及び30のそれぞれについて、第1の動きを使用して予測される第1の区分のためのテンプレートとして上の隣接サンプルが選択され、第2の動きを使用して予測される第2の区分のためのテンプレートとして左の隣接サンプル及び上の隣接サンプルが選択される。
図18D及び
図18Nに示すように、区分角度4及び20のそれぞれについて、第1の区分のためのテンプレートとして上の隣接サンプルが選択され、第2の区分のためのテンプレートとして左の隣接サンプルが選択される。
図18E、
図18F、
図18G、
図18O、
図18P、及び
図18Qに示すように、区分角度5、8、11、21、24、及び27のそれぞれについて、第1の区分のためのテンプレートとして左の隣接サンプル及び上の隣接サンプルがどちらも選択され、第2の区分のためのテンプレートとして左の隣接サンプルが選択される。区分角度12及び28では、第1の区分及び第2の区分のためのテンプレートとして左の隣接サンプル及び上の隣接サンプルがどちらも選択される。
【0121】
[00139] GPMの動きを精密化するとき、探索パターンは表1に示すパターンのいずれか1つとすることができる。実施形態によっては、探索方法は、代替的な補間フィルタがオフの状態でマージモードに使用される方法と同じであり得る。
【0122】
[00140]
図19は、本開示のいくつかの実施形態に係る、動きを精密化するためにGPMにテンプレートマッチングを適用するための方法1900の別の例示的なフローチャートを示す。方法1900は、映像符号化プロセス(例えば
図2Aのプロセス200A又は
図2Bのプロセス200B)として、又は装置(例えば
図4の装置400)の1つ以上のソフトウェア若しくはハードウェアコンポーネントによって実行されてもよい。例えばプロセッサ(例えば
図4のプロセッサ402)が方法1900を実行し得る。実施形態によっては、方法1900は、コンピュータ(例えば
図4の装置400)によって実行される、プログラムコードなどのコンピュータ実行可能命令を含むコンピュータ可読媒体において具現化されるコンピュータプログラム製品によって実施され得る。
図19を参照し、方法1900は以下のステップ1902~1912を含み得る。
【0123】
[00141] ステップ1902において、CUがTMモードによって符号化されているかどうかを判定する。
【0124】
[00142] ステップ1904において、CUがTMモードによって符号化されていることに応答し、CUが2つの区分に分割されGPMを使用して予測されるかどうかを示すためのフラグをシグナリングする。例えばフラグが1に等しい場合、CUが第1の区分及び第2の区分へと分割され、GPMが予測に使用される。フラグが0に等しい場合、GPMは適用されず、CUは分割されない。
【0125】
[00143] ステップ1906において、CUにGPMが適用されていることに応答し、1つの区分モード及び2つのマージインデックスをさらにシグナリングする。従ってGPMが適用される場合、CUは区分モードに基づいて分割される。第1の区分及び第2の区分それぞれの2つの動きを示す2つのマージインデックスがシグナリングされる。
【0126】
[00144] ステップ1908において、TMを使用して2つのマージインデックスによって示された2つの動きを精密化する。
【0127】
[00145] 実施形態によっては、方法1900がステップ1910及び1912をさらに含み得る。
【0128】
[00146] ステップ1910において、精密化した動きを使用して動き補償を行う。
【0129】
[00147] ステップ1912において、区分モードに従って幾何学的区分の縁に沿った混合プロセスを適用する。
【0130】
[00148] 実施形態によっては、ステップ1910及び1912は、任意の他の方法、例えばGPMによって符号化されるCUの動きを精密化するためにTMが使用される方法1200及び1400内で実行することができる。
【0131】
[00149] GPMにTMを適用する方法は、AVS3規格におけるAWPモードにも適用できることを指摘しておく。
【0132】
[00150]
図20は、本開示のいくつかの実施形態に係る、動きを精密化するためにGPMにテンプレートマッチングを適用するための方法2000の別の例示的なフローチャートを示す。方法2000は、映像復号化プロセス(例えば
図3Aのプロセス300A又は
図3Bのプロセス300B)の一部として、又は装置(例えば
図4の装置400)の1つ以上のソフトウェア若しくはハードウェアコンポーネントによって実行されてもよい。例えばプロセッサ(例えば
図4のプロセッサ402)が方法2000を実行し得る。実施形態によっては、方法2000は、コンピュータ(例えば
図4の装置400)によって実行される、プログラムコードなどのコンピュータ実行可能命令を含むコンピュータ可読媒体において具現化されるコンピュータプログラム製品によって実施され得る。
図20を参照し、方法2000は以下のステップ2002~2008を含み得る。
【0133】
[00151] ステップ2002において、符号化ユニットを含むビットストリーム(例えば
図3Bの映像ビットストリーム228)が復号器によって受信される。
【0134】
[00152] ステップ2004において、CUがGPMによって符号化されているかどうかを判定する。
【0135】
[00153] ステップ2006において、第1の区分及び第2の区分へとCUを分割するGPMによってブロックが符号化されていることに応答し、TMが適用されているかどうかを示すためのパラメータ(例えばフラグ)を復号化する。実施形態によっては、パラメータは各区分に対してTMがそれぞれ適用されているかどうかを示す複数のフラグを含み得る(再び表4を参照する)。実施形態によっては、パラメータはTMに適用されている区分の組み合わせを示すインデックスを含み得る(再び表5を参照する)。
【0136】
[00154] ステップ2008において、TMが適用されていることに応答し、TMを使用してGPM区分の動きを精密化する。CUにTMが適用されない場合、動きは精密化されない。実施形態によっては、CUにTMが適用されない場合は他の方法を使用して動きを精密化することができる。
【0137】
[00155] 本開示では、GPMをMMVD及びTMと組み合わせる方法をさらに提供する。
【0138】
[00156] 実施形態によっては、MMVD及びTMを同じCUに適用することはできない。GPMを使用してCUが符号化される場合、CUにTMが適用されるかどうかを示すための第1のパラメータ(例えば第1のフラグ)がシグナリングされる。TMが適用される場合、GPM及び2つのマージインデックスがさらにシグナリングされる。次いで、2つのGPM区分の両方の動きがTMを使用して精密化される。CUにTMが適用されない場合、GPM区分にMMVDが適用されるかどうかを示すための第2のパラメータがシグナリングされる。GPM区分にMMVDが適用される場合、MVD情報がさらにシグナリングされ、シグナリングされたMVD情報を使用して動きが精密化される。一例では、第2のパラメータが第2のフラグ及び第3のフラグを含む。第2のフラグは第1のGPM区分にMMVDが適用されるかどうかを示し、第3のフラグは第2のGPM区分にMMVDが適用されるかどうかを示す。別の例では、第2のパラメータが第4のフラグだけを含み、第4のフラグは2つのGPM区分の両方にMMVDが適用されるかどうかを示す。
【0139】
[00157] 実施形態によっては、MMVD及びTMを同じGPM区分に適用することはできない。CUがGPMによって符号化される場合、CUは2つのGPM区分に分割される。それぞれのGPM区分について、GPM区分にTMが適用されるかどうかを示すための第1のパラメータがシグナリングされる。TMが適用される場合、GPM区分の動きがTMを使用して精密化される。TMが適用されない場合、GPM区分にMMVDが適用されるかどうかを示すための第2のパラメータがシグナリングされる。GPM区分にTMが適用されることを第1のパラメータが示す場合、第2のパラメータはシグナリングされないことを指摘しておく。2つのGPM区分は、動きを精密化するためにTM又はMMVDを使用するのかどうかを個別に選択できることも指摘しておく。つまり、一方のGPM区分の動きはTMを使用して精密化することができ、他方のGPM区分の動きはMMVDを使用して精密化することができる。
【0140】
[00158] 実施形態によっては、2つのパラメータ(TMが適用されるかどうかを示すパラメータとMMVDが適用されるかどうかを示す別のパラメータ)のシグナリングの順序を並べ替えることができる。MMVDが適用されているかどうかを示すパラメータは、TMが適用されているかどうかを示すパラメータの前にシグナリングすることができる。パラメータが、MMVDが最初にシグナリングされ、MMVDがGPM区分に適用されるかどうかを示す場合、TMが適用されているかどうかを示すパラメータはもはやシグナリングされず、オフだと推論される。従ってGPM区分にTMは適用されない。
図21は、本開示のいくつかの実施形態に係る、GPM、TM、及びMMVDを適用するための方法2100の例示的なフローチャートを示す。方法2100は、映像符号化プロセス(例えば
図2Aのプロセス200A又は
図2Bのプロセス200B)の一部として、又は装置(例えば
図4の装置400)の1つ以上のソフトウェア若しくはハードウェアコンポーネントによって実行されてもよい。例えばプロセッサ(例えば
図4のプロセッサ402)が方法2100を実行し得る。実施形態によっては、方法2100は、コンピュータ(例えば
図4の装置400)によって実行される、プログラムコードなどのコンピュータ実行可能命令を含むコンピュータ可読媒体において具現化されるコンピュータプログラム製品によって実施され得る。
図21を参照し、方法2100は以下のステップ2102~2110を含み得る。
【0141】
[00159] ステップ2102において、CUがGPMによって符号化されているかどうかを判定する。
【0142】
[00160] ステップ2104において、第1の区分及び第2の区分へとCUを分割するGPMによってCUが符号化されていることに応答し、第1の区分にMMVDが適用されるかどうかを示すための第1のパラメータをシグナリングする。例えば第1のパラメータは第1のフラグであり得る。第1のフラグが1に等しい場合、第1の区分にMMVDが適用される。第1のフラグが0に等しい場合、第1の区分にMMVDが適用されない。
【0143】
[00161] ステップ2106において、第2の区分にMMVDが適用されるかどうかを示すための第2のパラメータをシグナリングする。例えば第2のパラメータは第2のフラグであり得る。第2のフラグが1に等しい場合、第2の区分にMMVDが適用される。第2のフラグが0に等しい場合、第2の区分にMMVDが適用されない。
【0144】
[00162] ステップ2108において、第1の区分又は第2の区分のいずれにもMMVDが適用されないという判定に応答し、第1の区分及び第2の区分の両方にTMが適用されるかどうかを示すための第3のパラメータをシグナリングする。例えば第3のパラメータは第3のフラグであり得る。第3のフラグが1に等しい場合、両方の区分にTMが適用される。第3のフラグが0に等しい場合、どちらの区分にもTMが適用されない。
【0145】
[00163] ステップ2110において、第1の区分及び第2の区分の両方にTMが適用されていることに応答し、TMを使用して第1の区分及び第2の区分の動きを精密化する。さらに実施形態によっては、動きを精密化するために使用されるテンプレートが区分モード又は区分角度に従って決定される。
【0146】
[00164]
図22は、本開示のいくつかの実施形態に係る、GPM、TM、及びMMVDを適用するための方法2200の例示的なフローチャートを示す。方法2100は、映像復号化プロセス(例えば
図3Aのプロセス300A又は
図3Bのプロセス300B)の一部として、又は装置(例えば
図4の装置400)の1つ以上のソフトウェア若しくはハードウェアコンポーネントによって実行されてもよい。例えばプロセッサ(例えば
図4のプロセッサ402)が方法2200を実行し得る。実施形態によっては、方法2200は、コンピュータ(例えば
図4の装置400)によって実行される、プログラムコードなどのコンピュータ実行可能命令を含むコンピュータ可読媒体において具現化されるコンピュータプログラム製品によって実施され得る。
図22を参照し、方法2200は以下のステップ2202~2212を含み得る。
【0147】
[00165] ステップ2202において、符号化ユニットを含むビットストリーム(例えば
図3Bの映像ビットストリーム228)が復号器によって受信される。
【0148】
[00166] ステップ2204において、CUがGPMによって符号化されているかどうかを判定する。
【0149】
[00167] ステップ2206において、第1の区分及び第2の区分へとCUを分割するGPMによってブロックが符号化されていることに応答し、第1の区分にMMVDが適用されているかどうかを示す第1のパラメータを復号化する。例えば第1のパラメータは第1のフラグとすることができ、第1のフラグが1に等しい場合、第1の区分にMMVDが適用され、第1のフラグが0に等しい場合、第1の区分にMMVDが適用されない。
【0150】
[00168] ステップ2208において、第2の区分にMMVDが適用されているかどうかを示す第2のパラメータを復号化する。例えば第2のパラメータは第2のフラグとすることができ、第2のフラグが1に等しい場合、第2の区分にMMVDが適用され、第2のフラグが0に等しい場合、第2の区分にMMVDが適用されない。
【0151】
[00169] ステップ2210において、第1の区分又は第2の区分にMMVDが適用されないという判定に応答し、第1の区分及び第2の区分の両方にTMが適用されているかどうかを示す第3のパラメータを復号化する。例えば第3のパラメータは第3のフラグとすることができ、第3のフラグが1に等しい場合、両方の区分にTMが適用され、第3のフラグが0に等しい場合、どちらの区分にもTMが適用されない。
【0152】
[00170] ステップ2210において、第1の区分及び第2の区分の両方にTMが適用されていることに応答し、TMを使用して第1の区分及び第2の区分の動きを精密化する。さらに実施形態によっては、動きを精密化するために使用されるテンプレートが区分モード又は区分角度に従って決定される。実施形態によっては、動きを精密化するために使用されるテンプレートが複数のパラメータを復号化することによって決定される。
【0153】
[00171] 実施形態によっては、MMVD及びTMを同じGPM区分に適用することができる。GPM区分ごとに、TM及びMMVDが適用されるかどうかを示すための第1のパラメータ及び第2のパラメータがそれぞれシグナリングされる。一例では、TM及びMMVDの両方がGPM区分に適用される場合、TMを使用して動きを最初に精密化する。次いでシグナリングされたMVD情報を加えることにより、精密化済みの動きをさらに修正する。別の例では、TM及びMMVDの両方がGPM区分に適用される場合、シグナリングされたMVD情報が動きに最初に加えられる。次いで、修正済みの動きがTMの開始点として使用され、TMによって精密化される。
【0154】
[00172] 実施形態によっては、シグナリングされるMVD情報が複数の条件を満たす場合にのみ、MMVD及びTMを同じGPM区分に適用することができる。一例では、複数の条件は、シグナリングされるMVD情報の距離インデックスが既定値未満であること(例えば1、つまりMVDオフセットが1/2画素未満であること)を含む。GPM区分ごとに、MMVDが適用されるかどうかを示すための第2のパラメータがシグナリングされる。MMVDが適用される場合、距離インデックス及び方向インデックスを含むMVD情報がさらにシグナリングされる。距離インデックスが既定値未満である場合、TMが適用されるかどうかを示すための第1のパラメータがシグナリングされる。MMVDが適用されない場合、TMが適用されるかどうかを示すための第1のパラメータが常にシグナリングされる。別の例では、複数の条件は、シグナリングされるMVD情報の距離インデックスが既定値を上回ることを含む。
【0155】
[00173] 実施形態によっては、GPMによって符号化されたCUのサイズ/符号化モードが一定の条件を満たす場合にのみ、MMVD及びTMを同じGPM区分に適用することができる。一例では、CUの幅及び/又は高さが既定の閾値(例えば16又は32)を上回る場合、MMVD及びTMを同じGPM区分に両方適用することができる。別の例では、CUのアスペクト比が既定の閾値未満である場合、MMVD及びTMを同じGPM区分に両方適用することができる。アスペクト比はCU_width>CU_heightが成立する場合、CU_width/CU_height、又はCU_height>=CU_widthが成立する場合、CU_height/CU_widthとして定めることができる。別の例では、スキップモードではなくマージモードを使用してCUが符号化される場合、MMVD及びTMを同じGPM区分に両方適用することができる。別の例では、マージモードではなくスキップモードを使用してCUが符号化される場合、MMVD及びTMを同じGPM区分に両方適用することができる。
【0156】
[00174] 実施形態は、以下の条項を用いてさらに記述することができる。
1.GPM(geometric partition mode)によって符号化された符号化ユニットを含むビットストリームを受信すること、
符号化ユニットに関連する第1のパラメータを復号化することであって、第1のパラメータは符号化ユニットにテンプレートマッチングが適用されているかどうかを示す、復号化すること、及び
第1のパラメータに従って符号化ユニットに関する動き情報を決定することであって、符号化ユニットにテンプレートマッチングが適用されていることを第1のパラメータが示す場合、テンプレートマッチングを使用して動き情報が精密化される、決定すること
を含む、映像復号化方法。
2.符号化ユニットが第1の区分及び第2の区分に分割され、符号化ユニットの動き情報が第1の区分の第1の動き及び第2の区分の第2の動きを含み、第1のパラメータが第1のフラグを含み、テンプレートマッチングを使用して動き情報が精密化されることが
第1のフラグに従って、テンプレートマッチングを使用し、第1の区分の第1の動き及び第2の区分の第2の動きの両方を精密化すること
をさらに含む、条項1に記載の方法。
3.符号化ユニットが第1の区分及び第2の区分に分割され、第1のパラメータは第1の区分にテンプレートマッチングが適用されているかどうかを示す第1のフラグ及び第2の区分にテンプレートマッチングが適用されているかどうかを示す第2のフラグを含み、動き情報の精密化が
第1のフラグに従って、テンプレートマッチングを使用し、第1の区分の第1の動きを精密化すること、及び
第2のフラグに従って、テンプレートマッチングを使用し、第2の区分の第2の動きを精密化すること
をさらに含む、条項1に記載の方法。
4.符号化ユニットが第1の区分及び第2の区分に分割され、第1のパラメータは第1の区分及び第2の区分にテンプレートマッチングが適用されているかどうかを示すインデックスを含み、動き情報の精密化が、
第1の区分の第1の動き、第2の区分の第2の動き、又は第1の区分の第1の動き及び第2の区分の第2の動きの両方を、インデックスの値に従って精密化すること
をさらに含む、条項1に記載の方法。
5.符号化ユニットが第1の区分及び第2の区分に分割され、動き情報が第1の区分の第1の動き及び第2の区分の第2の動きを含み、動き情報の精密化が、
第1の区分のための第1のテンプレートを構成することであって、第1のテンプレートは第1の隣接サンプルのセットから構成されること、
第2の区分のための第2のテンプレートを構成することであって、第2のテンプレートは第2の隣接サンプルのセットから構成されること、
第1のテンプレート及び第2のテンプレートを使用して第1の動き及び第2の動きをそれぞれ精密化すること
をさらに含み、
第1の隣接サンプルのセット及び第2の隣接サンプルのセットのそれぞれは、
左の隣接サンプルだけ、
上の隣接サンプルだけ、又は
左の隣接サンプル及び上の隣接サンプルの両方
から選択される1つ以上の隣接サンプルを含む、
条項1~4のいずれか一項に記載の方法。
6.第1の隣接サンプルのセットが第1の区分の左の隣接サンプル及び上の隣接サンプルの可用性に基づいて選択され、
第2の隣接サンプルのセットが第2の区分の左の隣接サンプル及び上の隣接サンプルの可用性に基づいて選択される、
条項5に記載の方法。
7.第1のテンプレート及び第2のテンプレートをGPM区分モードに基づいて構成すること
をさらに含む、条項5又は6に記載の方法。
8.第1のテンプレート及び第2のテンプレートをGPM区分角度に基づいて構成すること
をさらに含む、条項7に記載の方法。
9.第1のテンプレートに関連する第2のパラメータを復号化すること、
第2のテンプレートに関連する第3のパラメータを復号化すること
をさらに含み、第2のパラメータ及び第3のパラメータは、第1の隣接サンプルのセット及び第2の隣接サンプルのセットが、
左の隣接サンプルだけ、
上の隣接サンプルだけ、又は
左の隣接サンプル及び上の隣接サンプルの両方
から選択されるかどうかをそれぞれ示す、条項5~8のいずれか一項に記載の方法。
10.第1の隣接サンプルのセットが第2の隣接サンプルのセットと異なる、条項5~9のいずれか一項に記載の方法。
11.第1の隣接サンプルのセットが第2の隣接サンプルのセットと同じである、条項5~9のいずれか一項に記載の方法。
12.精密化した動きを使用して動き補償を行うこと、及び
GPM区分モードに従って幾何学的区分の縁に沿った混合プロセスを適用すること
をさらに含む、条項1~11のいずれか一項に記載の方法。
13.符号化ユニットにテンプレートマッチングが適用されていないことに応答し、動きベクトル差分によるマージモード(MMVD)が適用されているかどうかを示す第2のパラメータを復号化すること、
MMVDが適用されていることに応答し、動きベクトル差分(MVD)情報を復号化すること、及び
MVD情報を使用して動きを精密化すること
をさらに含む、条項1~12のいずれか一項に記載の方法。
14.第2のパラメータは、第1の区分にMMVDが適用されているかどうかを示す第1のフラグ、及び第2の区分にMMVDが適用されているかどうかを示す第2のフラグを含む、条項13に記載の方法。
15.符号化ユニットが第1の区分及び第2の区分に分割され、方法が、
第1の区分にMMVDが適用されているかどうかを示す第2のパラメータを復号化すること、
第2の区分にMMVDが適用されているかどうかを示す第3のパラメータを復号化すること、
第1の区分又は第2の区分にMMVDが適用されていないことに応答し、第1の区分及び第2の区分の両方にテンプレートマッチングが適用されているかどうかを、第1のパラメータに従って判定すること、
第1の区分及び第2の区分の両方にテンプレートマッチングが適用されていることに応答し、テンプレートマッチングを使用して第1の区分及び第2の区分の動き情報を精密化すること
をさらに含む、条項1~12のいずれか一項に記載の方法。
16.動きを精密化するために使用されるテンプレートが区分モードに基づいて決定される、条項15に記載の方法。
17.映像データ処理を行うための装置であって、
命令を記憶するように構成されるメモリと、
1つ以上のプロセッサと、を含み、1つ以上のプロセッサが命令を実行して、
GPM(geometric partition mode)によって符号化された符号化ユニットを含むビットストリームを受信すること、
符号化ユニットに関連する第1のパラメータを復号化することであって、第1のパラメータは符号化ユニットにテンプレートマッチングが適用されているかどうかを示す、復号化すること、及び
第1のパラメータに従って符号化ユニットに関する動き情報を決定することであって、符号化ユニットにテンプレートマッチングが適用されることを第1のパラメータが示す場合、テンプレートマッチングを使用して動き情報が精密化される、決定すること
を装置に行わせるように構成される、装置。
18.符号化ユニットが第1の区分及び第2の区分に分割され、符号化ユニットの動き情報が第1の区分の第1の動き及び第2の区分の第2の動きを含み、第1のパラメータが第1のフラグを含み、
プロセッサが命令を実行して、
第1のフラグに従って、テンプレートマッチングを使用し、第1の区分の第1の動き及び第2の区分の第2の動きの両方を精密化すること
を装置に行わせるように構成される、
条項17に記載の装置。
19.符号化ユニットが第1の区分及び第2の区分に分割され、第1のパラメータは第1の区分にテンプレートマッチングが適用されているかどうかを示す第1のフラグ及び第2の区分にテンプレートマッチングが適用されているかどうかを示す第2のフラグを含み、
プロセッサが命令を実行して、
第1のフラグに従って、テンプレートマッチングを使用し、第1の区分の第1の動きを精密化すること、及び
第2のフラグに従って、テンプレートマッチングを使用し、第2の区分の第2の動きを精密化すること
を装置に行わせるようにさらに構成される、
条項17に記載の装置。
20.符号化ユニットが第1の区分及び第2の区分に分割され、第1のパラメータは第1の区分及び第2の区分にテンプレートマッチングが適用されているかどうかを示すインデックスを含み、
プロセッサが命令を実行して、
第1の区分の第1の動き、第2の区分の第2の動き、又は第1の区分の第1の動き及び第2の区分の第2の動きの両方を、インデックスの値に従って精密化すること
を装置に行わせるようにさらに構成される、
条項17に記載の装置。
21.符号化ユニットが第1の区分及び第2の区分に分割され、動き情報が第1の区分の第1の動き及び第2の区分の第2の動きを含み、
プロセッサが命令を実行して、
第1の区分のための第1のテンプレートを構成することであって、第1のテンプレートは第1の隣接サンプルのセットから構成されること、
第2の区分のための第2のテンプレートを構成することであって、第2のテンプレートは第2の隣接サンプルのセットから構成されること、
第1のテンプレート及び第2のテンプレートを使用して第1の動き及び第2の動きをそれぞれ精密化すること
を装置に行わせるようにさらに構成され、
第1の隣接サンプルのセット及び第2の隣接サンプルのセットのそれぞれは、
左の隣接サンプルだけ、
上の隣接サンプルだけ、又は
左の隣接サンプル及び上の隣接サンプルの両方
から選択される1つ以上の隣接サンプルを含む、
条項17~20のいずれか一項に記載の装置。
22.第1の隣接サンプルのセットが第1の区分の左の隣接サンプル及び上の隣接サンプルの可用性に基づいて選択され、
第2の隣接サンプルのセットが第2の区分の左の隣接サンプル及び上の隣接サンプルの可用性に基づいて選択される、
条項21に記載の装置。
23.プロセッサが命令を実行して、
第1のテンプレート及び第2のテンプレートをGPM区分モードに基づいて構成すること
を装置に行わせるようにさらに構成される、
条項21又は22に記載の装置。
24.プロセッサが命令を実行して、
第1のテンプレート及び第2のテンプレートをGPM区分角度に基づいて構成すること
を装置に行わせるようにさらに構成される、
条項23に記載の装置。
25.プロセッサが命令を実行して、
第1のテンプレートに関連する第2のパラメータを復号化すること、
第2のテンプレートに関連する第3のパラメータを復号化すること
を装置に行わせるようにさらに構成され、
第2のパラメータ及び第3のパラメータは、第1の隣接サンプルのセット及び第2の隣接サンプルのセットが、
左の隣接サンプルだけ、
上の隣接サンプルだけ、又は
左の隣接サンプル及び上の隣接サンプルの両方
から選択されるかどうかをそれぞれ示す、条項21~24のいずれか一項に記載の装置。
26.第1の隣接サンプルのセットが第2の隣接サンプルのセットと異なる、条項21~25のいずれか一項に記載の装置。
27.第1の隣接サンプルのセットが第2の隣接サンプルのセットと同じである、条項21~25のいずれか一項に記載の装置。
28.プロセッサが命令を実行して、
精密化した動きを使用して動き補償を行うこと、及び
GPM区分モードに従って幾何学的区分の縁に沿った混合プロセスを適用すること
を装置に行わせるようにさらに構成される、
条項17~27のいずれか一項に記載の装置。
29.プロセッサが命令を実行して、
符号化ユニットにテンプレートマッチングが適用されていないことに応答し、動きベクトル差分によるマージモード(MMVD)が適用されているかどうかを示す第2のパラメータを復号化すること、
MMVDが適用されていることに応答し、動きベクトル差分(MVD)情報を復号化すること、及び
MVD情報を使用して動きを精密化すること
を装置に行わせるようにさらに構成される、
条項17~28のいずれか一項に記載の装置。
30.第2のパラメータは、第1の区分にMMVDが適用されているかどうかを示す第1のフラグ、及び第2の区分にMMVDが適用されているかどうかを示す第2のフラグを含む、条項29に記載の装置。
31.符号化ユニットが第1の区分及び第2の区分に分割され、
プロセッサが命令を実行して、
第1の区分にMMVDが適用されているかどうかを示す第2のパラメータを復号化すること、
第2の区分にMMVDが適用されているかどうかを示す第3のパラメータを復号化すること、
第1の区分又は第2の区分にMMVDが適用されていないことに応答し、第1の区分及び第2の区分の両方にテンプレートマッチングが適用されるかどうかを第1のパラメータに従って判定すること、
第1の区分及び第2の区分の両方にテンプレートマッチングが適用されていることに応答し、テンプレートマッチングを使用して第1の区分及び第2の区分の動き情報を精密化すること
を装置に行わせるようにさらに構成される、
条項17~28のいずれか一項に記載の装置。
32.動きを精密化するために使用されるテンプレートが区分モードに基づいて決定される、条項31に記載の装置。
33.映像データ処理を行うための方法を装置に開始させるために装置の1つ以上のプロセッサによって実行可能な命令のセットを記憶する非一時的コンピュータ可読媒体であって、方法は
GPM(geometric partition mode)によって符号化された符号化ユニットを含むビットストリームを受信すること、
符号化ユニットに関連する第1のパラメータを復号化することであって、第1のパラメータは符号化ユニットにテンプレートマッチングが適用されているかどうかを示す、復号化すること、及び
第1のパラメータに従って符号化ユニットに関する動き情報を決定することであって、符号化ユニットにテンプレートマッチングが適用されることを第1のパラメータが示す場合、テンプレートマッチングを使用して動き情報が精密化される、決定すること
を含む、非一時的コンピュータ可読媒体。
34.符号化ユニットが第1の区分及び第2の区分に分割され、符号化ユニットの動き情報が第1の区分の第1の動き及び第2の区分の第2の動きを含み、第1のパラメータが第1のフラグを含み、
命令のセットは、
第1のフラグに従ってテンプレートマッチングを使用し、第1の区分の第1の動き及び第2の区分の第2の動きの両方を精密化すること
を装置にさらに行わせるために装置の1つ以上のプロセッサによって実行可能である、条項33に記載の非一時的コンピュータ可読媒体。
35.符号化ユニットが第1の区分及び第2の区分に分割され、第1のパラメータは第1の区分にテンプレートマッチングが適用されているかどうかを示す第1のフラグ及び第2の区分にテンプレートマッチングが適用されているかどうかを示す第2のフラグを含み、
命令のセットは、
第1のフラグに従って、テンプレートマッチングを使用し、第1の区分の第1の動きを精密化すること、及び
第2のフラグに従って、テンプレートマッチングを使用し、第2の区分の第2の動きを精密化すること
を装置にさらに行わせるために装置の1つ以上のプロセッサによって実行可能である、条項33に記載の非一時的コンピュータ可読媒体。
36.符号化ユニットが第1の区分及び第2の区分に分割され、第1のパラメータは第1の区分及び第2の区分にテンプレートマッチングが適用されているかどうかを示すインデックスを含み、
命令のセットは、
第1の区分の第1の動き、第2の区分の第2の動き、又は第1の区分の第1の動き及び第2の区分の第2の動きの両方を、インデックスの値に従って精密化すること
を装置にさらに行わせるために装置の1つ以上のプロセッサによって実行可能である、条項33に記載の非一時的コンピュータ可読媒体。
37.符号化ユニットが第1の区分及び第2の区分に分割され、動き情報が第1の区分の第1の動き及び第2の区分の第2の動きを含み、
命令のセットは、
第1の区分のための第1のテンプレートを構成することであって、第1のテンプレートは第1の隣接サンプルのセットから構成されること、
第2の区分のための第2のテンプレートを構成することであって、第2のテンプレートは第2の隣接サンプルのセットから構成されること、
第1のテンプレート及び第2のテンプレートを使用して第1の動き及び第2の動きをそれぞれ精密化すること
を装置にさらに行わせるために装置の1つ以上のプロセッサによって実行可能であり、
第1の隣接サンプルのセット及び第2の隣接サンプルのセットのそれぞれは、
左の隣接サンプルだけ、
上の隣接サンプルだけ、又は
左の隣接サンプル及び上の隣接サンプルの両方
から選択される1つ以上の隣接サンプルを含む、
条項33~36のいずれか一項に記載の非一時的コンピュータ可読媒体。
38.第1の隣接サンプルのセットが第1の区分の左の隣接サンプル及び上の隣接サンプルの可用性に基づいて選択され、
第2の隣接サンプルのセットが第2の区分の左の隣接サンプル及び上の隣接サンプルの可用性に基づいて選択される、
条項37に記載の非一時的コンピュータ可読媒体。
39.命令のセットは、
第1のテンプレート及び第2のテンプレートをGPM区分モードに基づいて構成すること
を装置にさらに行わせるために装置の1つ以上のプロセッサによって実行可能である、条項37又は38に記載の非一時的コンピュータ可読媒体。
40.命令のセットは、
第1のテンプレート及び第2のテンプレートをGPM区分角度に基づいて構成すること
を装置にさらに行わせるために装置の1つ以上のプロセッサによって実行可能である、条項39に記載の非一時的コンピュータ可読媒体。
41.命令のセットは、
第1のテンプレートに関連する第2のパラメータを復号化すること、
第2のテンプレートに関連する第3のパラメータを復号化すること
を装置にさらに行わせるために装置の1つ以上のプロセッサによって実行可能であり、
第2のパラメータ及び第3のパラメータは、第1の隣接サンプルのセット及び第2の隣接サンプルのセットが、
左の隣接サンプルだけ、
上の隣接サンプルだけ、又は
左の隣接サンプル及び上の隣接サンプルの両方
から選択されるかどうかをそれぞれ示す、条項37~40のいずれか一項に記載の非一時的コンピュータ可読媒体。
42.第1の隣接サンプルのセットが第2の隣接サンプルのセットと異なる、条項37~41のいずれか一項に記載の非一時的コンピュータ可読媒体。
43.第1の隣接サンプルのセットが第2の隣接サンプルのセットと同じである、条項37~41のいずれか一項に記載の非一時的コンピュータ可読媒体。
44.命令のセットは、
精密化した動きを使用して動き補償を行うこと、及び
GPM区分モードに従って幾何学的区分の縁に沿った混合プロセスを適用すること
を装置にさらに行わせるために装置の1つ以上のプロセッサによって実行可能である、条項33~43のいずれか一項に記載の非一時的コンピュータ可読媒体。
45.命令のセットは、
符号化ユニットにテンプレートマッチングが適用されていないことに応答し、動きベクトル差分によるマージモード(MMVD)が適用されているかどうかを示す第2のパラメータを復号化すること、
MMVDが適用されていることに応答し、動きベクトル差分(MVD)情報を復号化すること、及び
MVD情報を使用して動きを精密化すること
を装置にさらに行わせるために装置の1つ以上のプロセッサによって実行可能である、条項33~44のいずれか一項に記載の非一時的コンピュータ可読媒体。
46.第2のパラメータは、第1の区分にMMVDが適用されているかどうかを示す第1のフラグ、及び第2の区分にMMVDが適用されているかどうかを示す第2のフラグを含む、条項45に記載の非一時的コンピュータ可読媒体。
47.符号化ユニットが第1の区分及び第2の区分に分割され、
命令のセットは、
第1の区分にMMVDが適用されているかどうかを示す第2のパラメータを復号化すること、
第2の区分にMMVDが適用されているかどうかを示す第3のパラメータを復号化すること、
第1の区分又は第2の区分にMMVDが適用されていないことに応答し、第1の区分及び第2の区分の両方にテンプレートマッチングが適用されるかどうかを第1のパラメータに従って判定すること、
第1の区分及び第2の区分の両方にテンプレートマッチングが適用されていることに応答し、テンプレートマッチングを使用して第1の区分及び第2の区分の動き情報を精密化すること
を装置にさらに行わせるために装置の1つ以上のプロセッサによって実行可能である、条項33~44のいずれか一項に記載の非一時的コンピュータ可読媒体。
48.動きを精密化するために使用されるテンプレートが区分モードに基づいて決定される、条項47に記載の非一時的コンピュータ可読媒体。
49.ビットストリームを記憶する非一時的コンピュータ可読媒体であって、ビットストリームが、符号化ユニットに関連する第1のパラメータを含み、
第1のパラメータはテンプレートマッチングが適用されているかどうかを示し、符号化ユニットはGPM(geometric partition mode)によって符号化される、非一時的コンピュータ可読媒体。
50.符号化ユニットが第1の区分及び第2の区分に分割され、第1のパラメータは、
第1の区分にテンプレートマッチングが適用されているかどうかを示す第1のフラグ、及び
第2の区分にテンプレートマッチングが適用されているかどうかを示す第2のフラグ
をさらに含む、条項49に記載の非一時的コンピュータ可読媒体。
51.ビットストリームが、符号化ユニットに関連する第2のパラメータを含み、
第2のパラメータはテンプレートマッチングのためのテンプレートを示し、テンプレートは、
左の隣接サンプルだけ、
上の隣接サンプルだけ、又は
左の隣接サンプル及び上の隣接サンプルの両方
から選択される1つ以上の隣接サンプルから構成される、
条項49に記載の非一時的コンピュータ可読媒体。
52.ビットストリームが、
符号化ユニットに関連する第2のパラメータであって、動きベクトル差分によるマージモード(MMVD)が適用されているかどうかを示す、第2のパラメータ
をさらに含む、条項49に記載の非一時的コンピュータ可読媒体。
53.符号化ユニットが第1の区分及び第2の区分に分割され、ビットストリームが、
符号化ユニットに関連する第2のパラメータであって、第1の区分に動きベクトル差分によるマージモード(MMVD)が適用されているかどうかを示す、第2のパラメータ、及び
映像データに関連する第3のパラメータであって、第2の区分にMMVDが適用されているかどうかを示す、第3のパラメータ
をさらに含む、条項49に記載の非一時的コンピュータ可読媒体。
【0157】
[00175] 実施形態によっては、命令を含む非一時的コンピュータ可読記憶媒体も提供される。実施形態によっては、媒体は、CU又は区分に適用されているGPM、TM、又はMMVDを示す1つ以上のフラグを有する映像ビットストリームの全て又は一部を記憶することができる。実施形態によっては、媒体は、上記の方法を実行するために(開示した符号器及び復号器などの)デバイスによって実行され得る命令を記憶することができる。一般的な形態の非一時的媒体は、例えばフロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ、又は任意の他の磁気データ記憶媒体、CD-ROM、任意の他の光学データ記憶媒体、孔のパターンを有する任意の物理媒体、RAM、PROM、及びEPROM、FLASH(登録商標)-EPROM又は任意の他のフラッシュメモリ、NVRAM、キャッシュ、レジスタ、任意の他のメモリチップ又はカートリッジ、及びこれらのネットワーク化バージョンを含む。デバイスは1つ以上のプロセッサ(CPU)、入力/出力インターフェース、ネットワークインターフェース、及び/又はメモリを含み得る。
【0158】
[00176] 「第1(first)」及び「第2(second)」などの本明細書における関係語は、単に、実体又は動作を別の実体又は動作と区別するために使用されるにすぎず、これらの実体又は動作の間のいかなる実際の関係又は順序も必要とせず、暗示もしないことに留意されたい。さらに、単語「備える(comprising)」、「有する(having)」、「包含する(containing)」、及び「含む(including)」、並びに他の同様の形式は、意味が同等であり、これらの単語のうちの任意のものに続く要素若しくは要素群は、このような要素若しくは要素群の限定列挙であることを意味しない、又は列挙された要素若しくは要素群のみに限定されることを意味しないという点で、オープンエンドなものであることを意図される。
【0159】
[00177] 本明細書において使用するとき、別途特に断りのない限り、用語「又は(or)」は、実行不可能な場合を除き、全ての可能な組み合わせを包含する。例えば、データベースがA又はBを含み得ると述べられた場合には、このとき、別途特に断りのない限り、又は実行不可能でない限り、データベースは、A、B、A及びBを含み得る。第2の例として、データベースがA、B、又はCを含み得ると述べられた場合には、このとき、別途特に断りのない限り、又は実行不可能でない限り、データベースは、A、B、C、A及びB、A及びC、B及びC、A及びB及びCを含み得る。
【0160】
[00178] 上述の実施形態は、ハードウェア、又はソフトウェア(プログラムコード)、或いはハードウェア及びソフトウェアの組み合わせによって実施され得ることが理解される。ソフトウェアによって実施される場合には、それは上述のコンピュータ可読媒体内に記憶され得る。ソフトウェアは、プロセッサによって実行されたときに、本開示の方法を遂行することができる。本開示において説明される計算ユニット及び他の機能ユニットは、ハードウェア、又はソフトウェア、或いはハードウェア及びソフトウェアの組み合わせによって実施され得る。当業者は、上述のモジュール/ユニットのうちの複数のものを1つのモジュール/ユニットとして組み合わせてもよく、上述のモジュール/ユニットの各々を複数のサブモジュール/サブユニットにさらに分割してもよいことも理解するであろう。
【0161】
[00179] 上述の明細書において、実施形態は、実装形態ごとに異なり得る数多くの特定の詳細を参照して説明された。上述の実施形態の特定の適応及び変更を行うことができる。本明細書の考慮及び本明細書において開示された本発明の実施から、他の実施形態が当業者に明らかになり得る。明細書及び実施例は例としてのみ考慮されることが意図されており、本発明の真の範囲及び趣旨は添付の請求項によって指示される。また、図に示されるステップの配列は単に例示目的のためのものにすぎず、ステップのいかなる特定の配列にも限定されることを意図されないことも意図される。それゆえ、当業者は、これらのステップは、同じ方法を実施しながらも、異なる順序で遂行され得ることを理解することができる。
【0162】
[00180] 図面及び明細書において、例示的な実施形態が開示された。しかし、これらの実施形態に対して多くの変形及び変更を行うことができる。したがって、特定の用語が採用されていても、これらは単に、一般的な説明の意味で使用されているにすぎず、限定を目的として使用されているものではない。
【国際調査報告】