(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024038295
(43)【公開日】2024-03-19
(54)【発明の名称】ビデオ符号化のための動きベクトル予測
(51)【国際特許分類】
H04N 19/52 20140101AFI20240312BHJP
【FI】
H04N19/52
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024001436
(22)【出願日】2024-01-09
(62)【分割の表示】P 2022201577の分割
【原出願日】2020-06-13
(31)【優先権主張番号】62/861,315
(32)【優先日】2019-06-13
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】521248394
【氏名又は名称】ベイジン、ターチア、インターネット、インフォメーション、テクノロジー、カンパニー、リミテッド
【氏名又は名称原語表記】BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO.,LTD.
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100217940
【弁理士】
【氏名又は名称】三並 大悟
(72)【発明者】
【氏名】チェン、イ-ウェン
(72)【発明者】
【氏名】シウ、シャオユー
(72)【発明者】
【氏名】マー、ツォン-チョアン
(72)【発明者】
【氏名】チュー、ホン-チェン
(72)【発明者】
【氏名】イェ、ショイミン
(72)【発明者】
【氏名】ワン、シャンリン
(57)【要約】 (修正有)
【課題】ビデオ信号を復号する方法、装置及び非一時的コンピュータ可読記憶媒体を提供する。
【解決手段】復号方法は、ビデオ信号からビデオブロックを取得することと、ビデオブロックに基づいて、空間近隣ブロックを取得することと、複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされていない左方動きベクトル予測子(MVP)を取得することと、複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされていない上方MVPを取得することと、デコーダで、空間近隣ブロックから導出されたスケーリングされたMVPを選択する可能性を低減させることによって、ビデオブロック、複数の左方空間近隣ブロック、複数の上方空間近隣ブロックに基づいて、MVP候補リストを導出することと、MVP候補リストに基づいて、最良MVPを受け取ることと、最良MVPに基づいて、ビデオブロックの予測信号を取得することと、を含む。
【選択図】
図6
【特許請求の範囲】
【請求項1】
ビデオ信号を復号する方法であって、
デコーダで、前記ビデオ信号からビデオブロックを取得することと、
前記デコーダで、前記ビデオブロックに基づいて、空間近隣ブロックを取得することであって、前記空間近隣ブロックが、複数の左方空間近隣ブロックおよび複数の上方空間近隣ブロックを含むことと、
前記デコーダで、前記複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされていない左方動きベクトル予測子(MVP)を取得することと、
前記デコーダで、前記複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされていない上方MVPを取得することと、
前記デコーダで、前記空間近隣ブロックから導出されたスケーリングされたMVPを選択する可能性を低減させることによって、前記ビデオブロック、前記複数の左方空間近隣ブロック、前記複数の上方空間近隣ブロックに基づいて、MVP候補リストを導出することであって、前記MVP候補リストが、前記最大1つのスケーリングされていない左方MVPおよび前記最大1つのスケーリングされていない上方MVPを含むことと、
前記デコーダで、前記MVP候補リストに基づいて、最良MVPを受け取ることであって、エンコーダが、前記MVP候補リストから前記最良MVPを選択することと、
前記デコーダで、前記最良MVPに基づいて、前記ビデオブロックの予測信号を取得することと、を含む方法。
【請求項2】
前記デコーダで、前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出することが、
履歴ベースMVPを取得した後、前記デコーダで、前記空間近隣ブロックから導出された前記スケーリングされたMVPを取得することを含む、請求項1に記載の方法。
【請求項3】
前記デコーダで、前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出することが、
前記デコーダで、前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
前記デコーダで、時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
前記デコーダで、先入れ先出し(FIFO)表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
前記デコーダで、スケーリングされていない左方空間近隣ブロックがいずれも利用可能でないとき、前記複数の左方空間近隣ブロックから最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、前記複数の左方空間近隣ブロックがいずれも利用可能でないとき、前記複数の上方空間近隣ブロックから最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、0に等しい最大2つのMVを取得することと、を含む、請求項1に記載の方法。
【請求項4】
前記デコーダで、前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出することが、
前記デコーダで、前記複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、前記複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、を含む、請求項1に記載の方法。
【請求項5】
前記デコーダで、前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出することが、
前記デコーダで、前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
前記デコーダで、時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
前記デコーダで、FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
前記デコーダで、前記複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、前記複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、0に等しい最大2つのMVを取得することと、を含む、請求項1に記載の方法。
【請求項6】
前記デコーダで、前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出することが、
前記デコーダで、前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
前記デコーダで、FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
前記デコーダで、時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
前記デコーダで、前記複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、前記複数の左方空間近隣ブロックがいずれも利用可能でないとき、前記複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、0に等しい最大2つのMVを取得することと、を含む、請求項1に記載の方法。
【請求項7】
前記デコーダで、前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出することが、
前記デコーダで、前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
前記デコーダで、FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
前記デコーダで、時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
前記デコーダで、第1の左方空間近隣ブロックA0から最大1つのスケーリングされたMVPを取得することであって、前記複数の左方空間近隣ブロックが、前記第1の左方空間近隣ブロックA0および第2の左方空間近隣ブロックA1を含むことと、
前記デコーダで、前記第2の左方空間近隣ブロックA1から最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、第1の上方空間近隣ブロックB0から最大1つのスケーリングされたMVPを取得することであって、前記複数の上方空間近隣ブロックが、前記第1の上方空間近隣ブロックB0、第2の上方空間近隣ブロックB1、および第3の上方空間近隣ブロックB2を含むことと、
前記デコーダで、前記第2の上方空間近隣ブロックB1から最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、前記第3の上方空間近隣ブロックB2から最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、0に等しい最大2つのMVを取得することと、を含む、請求項1に記載の方法。
【請求項8】
前記デコーダで、前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出することが、
前記デコーダで、スケーリングされた空間MVP候補を前記MVP候補リストから除外することを含む、請求項1に記載の方法。
【請求項9】
前記デコーダで、前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出することが、
前記デコーダで、前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
前記デコーダで、時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
前記デコーダで、FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
前記デコーダで、0に等しい最大2つのMVを取得することと、を含む、請求項1に記載の方法。
【請求項10】
前記デコーダで、前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出することが、
前記デコーダで、前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
前記デコーダで、FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
前記デコーダで、時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
前記デコーダで、0に等しい最大2つのMVを取得することと、を含む、請求項1に記載の方法。
【請求項11】
前記デコーダで、前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出することが、
前記デコーダで、スケーリングされた空間MVP候補およびスケーリングされた時間MVP候補を前記MVP候補リストから除外することを含む、請求項1に記載の方法。
【請求項12】
前記デコーダで、前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出することが、
前記デコーダで、前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
前記デコーダで、FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
前記デコーダで、0に等しい最大2つのMVを取得することと、を含む、請求項1に記載の方法。
【請求項13】
ビデオ信号を復号するためのコンピューティングデバイスであって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行可能な命令を記憶する非一時的コンピュータ可読記憶媒体と、を備え、前記1つまたは複数のプロセッサが、
前記ビデオ信号からビデオブロックを取得することと、
前記ビデオブロックに基づいて、空間近隣ブロックを取得することであって、前記空間近隣ブロックが、複数の左方空間近隣ブロックおよび複数の上方空間近隣ブロックを含むことと、
前記複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされていない左方動きベクトル予測子(MVP)を取得することと、
前記複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされていない上方MVPを取得することと、
前記空間近隣ブロックから導出されたスケーリングされたMVPを選択する可能性を低減させることによって、前記ビデオブロック、前記複数の左方空間近隣ブロック、前記複数の上方空間近隣ブロックに基づいて、MVP候補リストを導出することであって、前記MVP候補リストが、前記最大1つのスケーリングされていない左方MVPおよび前記最大1つのスケーリングされていない上方MVPを含むことと、
前記MVP候補リストに基づいて、最良MVPを受け取ることであって、エンコーダが、前記MVP候補リストから前記最良MVPを選択することと、
前記最良MVPに基づいて、前記ビデオブロックの予測信号を取得することと、を行うように構成される、コンピューティングデバイス。
【請求項14】
前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出するように構成された前記1つまたは複数のプロセッサが、
履歴ベースMVPを取得した後、前記空間近隣ブロックから導出された前記スケーリングされたMVPを取得するようにさらに構成される、請求項13に記載のコンピューティングデバイス。
【請求項15】
前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出するように構成された前記1つまたは複数のプロセッサが、
前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
先入れ先出し(FIFO)表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
スケーリングされていない左方空間近隣ブロックがいずれも利用可能でないとき、前記複数の左方空間近隣ブロックから最大1つのスケーリングされたMVPを取得することと、
前記複数の左方空間近隣ブロックがいずれも利用可能でないとき、前記複数の上方空間近隣ブロックから最大1つのスケーリングされたMVPを取得することと、
0に等しい最大2つのMVを取得することと、を行うようにさらに構成される、請求項13に記載のコンピューティングデバイス。
【請求項16】
前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出するように構成された前記1つまたは複数のプロセッサが、
前記複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、
前記複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、を行うようにさらに構成される、請求項13に記載のコンピューティングデバイス。
【請求項17】
前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出するように構成された前記1つまたは複数のプロセッサが、
前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
前記複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、
前記複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、
0に等しい最大2つのMVを取得することと、を行うようにさらに構成される、請求項13に記載のコンピューティングデバイス。
【請求項18】
前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出するように構成された前記1つまたは複数のプロセッサが、
前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
前記複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、
前記複数の左方空間近隣ブロックがいずれも利用可能でないとき、前記複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、
0に等しい最大2つのMVを取得することと、を行うようにさらに構成される、請求項13に記載のコンピューティングデバイス。
【請求項19】
前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出するように構成された前記1つまたは複数のプロセッサが、
前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
第1の左方空間近隣ブロックA0から最大1つのスケーリングされたMVPを取得することであって、前記複数の左方空間近隣ブロックが、前記第1の左方空間近隣ブロックA0および第2の左方空間近隣ブロックA1を含むことと、
前記第2の左方空間近隣ブロックA1から最大1つのスケーリングされたMVPを取得することと、
第1の上方空間近隣ブロックB0から最大1つのスケーリングされたMVPを取得することであって、前記複数の上方空間近隣ブロックが、前記第1の上方空間近隣ブロックB0、第2の上方空間近隣ブロックB1、および第3の上方空間近隣ブロックB2を含むことと、
前記第2の上方空間近隣ブロックB1から最大1つのスケーリングされたMVPを取得することと、
前記第3の上方空間近隣ブロックB2から最大1つのスケーリングされたMVPを取得することと、
0に等しい最大2つのMVを取得することと、を行うようにさらに構成される、請求項13に記載のコンピューティングデバイス。
【請求項20】
前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出するように構成された前記1つまたは複数のプロセッサが、
スケーリングされた空間MVP候補を前記MVP候補リストから除外するようにさらに構成される、請求項13に記載のコンピューティングデバイス。
【請求項21】
前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出するように構成された前記1つまたは複数のプロセッサが、
前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
0に等しい最大2つのMVを取得することと、を行うようにさらに構成される、請求項13に記載のコンピューティングデバイス。
【請求項22】
前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出するように構成された前記1つまたは複数のプロセッサが、
前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
0に等しい最大2つのMVを取得することと、を行うようにさらに構成される、請求項13に記載のコンピューティングデバイス。
【請求項23】
前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出するように構成された前記1つまたは複数のプロセッサが、
スケーリングされた空間MVP候補およびスケーリングされた時間MVP候補を前記MVP候補リストから除外するようにさらに構成される、請求項13に記載のコンピューティングデバイス。
【請求項24】
前記空間近隣ブロックから導出された前記スケーリングされたMVPを選択する前記可能性を低減させることによって、前記MVP候補リストを導出するように構成された前記1つまたは複数のプロセッサが、
前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
0に等しい最大2つのMVを取得することと、を行うようにさらに構成される、請求項13に記載のコンピューティングデバイス。
【請求項25】
1つまたは複数のプロセッサを有するコンピューティングデバイスによる実行のための複数のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記複数のプログラムが、前記1つまたは複数のプロセッサによって実行されるとき、前記コンピューティングデバイスに、
デコーダで、前記ビデオ信号からビデオブロックを取得することと、
前記デコーダで、前記ビデオブロックに基づいて、空間近隣ブロックを取得することであって、前記空間近隣ブロックが、複数の左方空間近隣ブロックおよび複数の上方空間近隣ブロックを含むことと、
前記デコーダで、前記複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされていない左方動きベクトル予測子(MVP)を取得することと、
前記デコーダで、前記複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされていない上方MVPを取得することと、
前記デコーダで、前記空間近隣ブロックから導出されたスケーリングされたMVPを選択する可能性を低減させることによって、前記ビデオブロック、前記複数の左方空間近隣ブロック、前記複数の上方空間近隣ブロックに基づいて、MVP候補リストを導出することであって、前記MVP候補リストが、前記最大1つのスケーリングされていない左方MVPおよび前記最大1つのスケーリングされていない上方MVPを含むことと、
前記デコーダで、前記MVP候補リストに基づいて、最良MVPを受け取ることであって、エンコーダが、前記MVP候補リストから前記最良MVPを選択することと、
履歴ベースMVPを取得した後、前記デコーダで、前記空間近隣ブロックから導出された前記スケーリングされたMVPを取得することと、を含む動作を実行させる、非一時的コンピュータ可読記憶媒体。
【請求項26】
前記複数のプログラムが、前記コンピューティングデバイスに、
履歴ベースMVPを取得した後、前記空間近隣ブロックから導出された前記スケーリングされたMVPを取得することを含む動作をさらに実行させる、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項27】
前記複数のプログラムが、前記コンピューティングデバイスに、
前記デコーダで、前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
前記デコーダで、時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
前記デコーダで、先入れ先出し(FIFO)表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
前記デコーダで、スケーリングされていない左方空間近隣ブロックがいずれも利用可能でないとき、前記複数の左方空間近隣ブロックから最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、前記複数の左方空間近隣ブロックがいずれも利用可能でないとき、前記複数の上方空間近隣ブロックから最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、0に等しい最大2つのMVを取得することと、を含む動作をさらに実行させる、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項28】
前記複数のプログラムが、前記コンピューティングデバイスに、
前記デコーダで、前記複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、前記複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、を含む動作をさらに実行させる、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項29】
前記複数のプログラムが、前記コンピューティングデバイスに、
前記デコーダで、前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
前記デコーダで、時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
前記デコーダで、FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
前記デコーダで、前記複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、前記複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、0に等しい最大2つのMVを取得することと、を含む動作をさらに実行させる、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項30】
前記複数のプログラムが、前記コンピューティングデバイスに、
前記デコーダで、前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
前記デコーダで、FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
前記デコーダで、時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
前記デコーダで、前記複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、前記複数の左方空間近隣ブロックがいずれも利用可能でないとき、前記複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、0に等しい最大2つのMVを取得することと、を含む動作をさらに実行させる、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項31】
前記複数のプログラムが、前記コンピューティングデバイスに、
前記デコーダで、前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
前記デコーダで、FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
前記デコーダで、時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
前記デコーダで、第1の左方空間近隣ブロックA0から最大1つのスケーリングされたMVPを取得することであって、前記複数の左方空間近隣ブロックが、前記第1の左方空間近隣ブロックA0および第2の左方空間近隣ブロックA1を含むことと、
前記デコーダで、前記第2の左方空間近隣ブロックA1から最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、第1の上方空間近隣ブロックB0から最大1つのスケーリングされたMVPを取得することであって、前記複数の上方空間近隣ブロックが、前記第1の上方空間近隣ブロックB0、第2の上方空間近隣ブロックB1、および第3の上方空間近隣ブロックB2を含むことと、
前記デコーダで、前記第2の上方空間近隣ブロックB1から最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、前記第3の上方空間近隣ブロックB2から最大1つのスケーリングされたMVPを取得することと、
前記デコーダで、0に等しい最大2つのMVを取得することと、を含む動作をさらに実行させる、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項32】
前記複数のプログラムが、前記コンピューティングデバイスに、
前記デコーダで、スケーリングされた空間MVP候補を前記MVP候補リストから除外することを含む動作をさらに実行させる、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項33】
前記複数のプログラムが、前記コンピューティングデバイスに、
前記デコーダで、前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
前記デコーダで、時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
前記デコーダで、FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
前記デコーダで、0に等しい最大2つのMVを取得することと、を含む動作をさらに実行させる、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項34】
前記複数のプログラムが、前記コンピューティングデバイスに、
前記デコーダで、前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
前記デコーダで、FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
前記デコーダで、時間配列ブロックから最大1つのMVPを取得することであって、前記時間配列ブロックが、配列ブロックT0および配列ブロックT1を含むことと、
前記デコーダで、0に等しい最大2つのMVを取得することと、を含む動作をさらに実行させる、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項35】
前記複数のプログラムが、前記コンピューティングデバイスに、
前記デコーダで、スケーリングされた空間MVP候補およびスケーリングされた時間MVP候補を前記MVP候補リストから除外することを含む動作をさらに実行させる、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【請求項36】
前記複数のプログラムが、前記コンピューティングデバイスに、
前記デコーダで、前記空間近隣ブロックから2つのMVP同一候補が導出されたとき、前記2つのMVP同一候補のうちの一方を前記MVP候補リストからプルーニングすることと、
前記デコーダで、FIFO表から最大2つの履歴ベースMVPを取得することであって、前記FIFO表が、前に符号化されたブロックを含むことと、
前記デコーダで、0に等しい最大2つのMVを取得することと、を含む動作をさらに実行させる、請求項25に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、開示全体が全体として参照により本明細書に組み込まれている、2019年6月13日出願の米国仮特許出願第62/861,315号に基づいており、その優先権を主張する。
【0002】
本開示は、ビデオの符号化および圧縮に関する。より詳細には、本開示は、ビデオ符号化における動きベクトル予測のための方法および装置に関する。
【背景技術】
【0003】
様々なビデオ符号化技術が、ビデオデータを圧縮するために使用されてよい。ビデオ符号化は、1つまたは複数のビデオ符号化規格に従って実行される。例えば、ビデオ符号化規格は、多用途ビデオ符号化(VVC)、共同探索試験モデル(JEM)、高効率ビデオ符号化(H.265/HEVC)、高度ビデオ符号化(H.264/AVC)、ムービング・ピクチャ・エキスパート・グループ(MPEG)符号化などを含む。ビデオ符号化は、概して、ビデオ画像またはシーケンスに存在する冗長性を利用する予測方法(例えば、インター予測、イントラ予測など)を利用する。ビデオ符号化技術の重要な目標は、ビデオ品質の劣化を回避または最小化しながら、より低いビットレートを使用する形式にビデオデータを圧縮することである。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本開示の例は、ビデオ符号化における動きベクトル予測のための方法および装置を提供する。
【課題を解決するための手段】
【0005】
本開示の第1の態様によれば、ビデオ信号を復号する方法が提供される。この方法は、デコーダで、ビデオ信号からビデオブロックを取得することを含むことができる。この方法は、デコーダで、ビデオブロックに基づいて、空間近隣ブロックを取得することをさらに含むことができる。空間近隣ブロックは、複数の左方空間近隣ブロックおよび複数の上方空間近隣ブロックを含むことができる。この方法は、デコーダで、複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされていない左方動きベクトル予測子(MVP)を取得することを含むことができる。この方法はまた、デコーダで、複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされていない上方MVPを取得することを含むことができる。この方法は、デコーダで、空間近隣ブロックから導出されたスケーリングされたMVPを選択する可能性を低減させることによって、ビデオブロック、複数の左方空間近隣ブロック、複数の上方空間近隣ブロックに基づいて、MVP候補リストを導出することを含むことができる。MVP候補リストは、最大1つのスケーリングされていない左方MVPおよび最大1つのスケーリングされていない上方MVPを含むことができる。この方法は、デコーダで、MVP候補リストに基づいて、最良MVPを受け取ることをさらに含むことができる。エンコーダが、MVP候補リストから最良MVPを選択する。この方法は、デコーダで、最良MVPに基づいて、ビデオブロックの予測信号を取得することを含むことができる。
【0006】
本開示の第2の態様によれば、ビデオ信号を復号するためのコンピューティングデバイスが提供される。コンピューティングデバイスは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行可能な命令を記憶する非一時的コンピュータ可読メモリとを含むことができる。1つまたは複数のプロセッサは、ビデオ信号からビデオブロックを取得するように構成されてよい。1つまたは複数のプロセッサは、ビデオブロックに基づいて、空間近隣ブロックを取得するようにさらに構成されてよい。空間近隣ブロックは、複数の左方空間近隣ブロックおよび複数の上方空間近隣ブロックを含むことができる。1つまたは複数のプロセッサは、複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされていない左方動きベクトル予測子(MVP)を取得するように構成されてよい。1つまたは複数のプロセッサはまた、複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされていない上方MVPを取得するように構成されてよい。1つまたは複数のプロセッサは、空間近隣ブロックから導出されたスケーリングされたMVPを選択する可能性を低減させることによって、ビデオブロック、複数の左方空間近隣ブロック、複数の上方空間近隣ブロックに基づいて、MVP候補リストを導出するように構成されてよい。MVP候補リストは、最大1つのスケーリングされていない左方MVPおよび最大1つのスケーリングされていない上方MVPを含むことができる。1つまたは複数のプロセッサは、MVP候補リストに基づいて、最良MVPを受け取るようにさらに構成されてよい。エンコーダが、MVP候補リストから最良MVPを選択する。1つまたは複数のプロセッサは、最良MVPに基づいて、ビデオブロックの予測信号を取得するように構成されてよい。
【0007】
本開示の第3の態様によれば、命令が記憶された非一時的コンピュータ可読記憶媒体が提供される。装置の1つまたは複数のプロセッサによって命令が実行されるとき、命令は、装置に、デコーダで、ビデオ信号からビデオブロックを取得することを実行させることができる。命令は、装置に、デコーダで、ビデオブロックに基づいて、空間近隣ブロックを取得することを実行させることができる。空間近隣ブロックは、複数の左方空間近隣ブロックおよび複数の上方空間近隣ブロックを含むことができる。命令は、装置に、デコーダで、複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされていない左方動きベクトル予測子(MVP)を取得することをさらに実行させることができる。命令は、装置に、デコーダで、複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされていない上方MVPを取得することを実行させることができる。命令は、装置に、デコーダで、空間近隣ブロックから導出されたスケーリングされたMVPを選択する可能性を低減させることによって、ビデオブロック、複数の左方空間近隣ブロック、複数の上方空間近隣ブロックに基づいて、MVP候補リストを導出することをさらに実行させることができる。MVP候補リストは、最大1つのスケーリングされていない左方MVPおよび最大1つのスケーリングされていない上方MVPを含むことができる。命令はまた、装置に、デコーダで、MVP候補リストに基づいて、最良MVPを受け取ることを実行させることができる。エンコーダが、MVP候補リストから最良MVPを選択する。命令はまた、装置に、履歴ベースMVPを取得した後、デコーダで、空間近隣ブロックから導出されたスケーリングされたMVPを取得することを実行させることができる。
【0008】
本明細書に組み込まれてその一部を構成する添付の図面は、本開示に一貫した例を示し、その記載とともに、本開示の原理について説明する働きをする。
【図面の簡単な説明】
【0009】
【
図1】本開示の一例に係るエンコーダのブロック図である。
【
図2】本開示の一例に係るデコーダのブロック図である。
【
図3】本開示の一例に係る空間MVP候補および時間MVP候補に対する候補位置を示す図である。
【
図4】本開示の一例に係る空間動きベクトル候補に対する動きベクトルのスケーリングを示す図である。
【
図5】本開示の一例に係る時間マージ候補に対する動きベクトルのスケーリングを示す図である。
【
図6】本開示の一例に係るビデオ信号を復号する方法の図である。
【
図7】本開示の一例に係るMVP候補リストを導出する方法の図である。
【
図8】本開示の一例に係るユーザ・インターフェースに結合されたコンピューティング環境を示す図である。
【発明を実施するための形態】
【0010】
例示的な実施形態が次に詳細に参照されており、例示的な実施形態の例は、添付の図面に示されている。以下の説明は、添付の図面を参照し、添付の図面では、異なる図面の同じ符号は、別途指示されない限り、同じまたは類似の要素を表す。以下の実施形態の説明に記載される実装形態は、本開示に一貫したすべての実装形態を表すわけではない。代わりに、これらの実装形態は、添付の特許請求の範囲に引用される開示に関係する態様に一貫した装置および方法の例にすぎない。
【0011】
本開示で使用される技術用語は、特定の実施形態について説明することのみを目的とし、本開示を限定することが意図されるものではない。文脈上別途明白に指示しない限り、本開示および添付の特許請求の範囲で使用されるとき、単数形の「a」、「an」、および「the」は、複数形も同様に含むことが意図される。本明細書で使用される「および/または」という用語は、列挙された関連する項目のうちの1つまたは複数のあらゆる可能な組合せを意味し、そのような組合せを含むことが意図されることも理解されよう。
【0012】
「第1」、「第2」、「第3」などの用語は、様々な情報について説明するために本明細書で使用されることがあるが、その情報は、これらの用語によって限定されるべきではないことが理解されよう。これらの用語は、1つのカテゴリの情報を別のカテゴリの情報から区別するためにのみ使用される。例えば、本開示の範囲から逸脱することなく、第1の情報が第2の情報と呼ばれてよく、同様に第2の情報が第1の情報と呼ばれてもよい。本明細書では、「~場合(if)」という用語は、文脈に応じて、「~とき(when)」または「~とき(upon)」または「判断に応答して」を意味することが理解されよう。
【0013】
ビデオ符号化システム
【0014】
概念的には、上記で言及されたビデオ符号化規格は類似している。例えば、そのような規格はすべて、ブロックに基づく処理を使用しており、ビデオ圧縮を実現するために、類似のビデオ符号化ブロック図を共用する。
【0015】
図1は、VVCのためのブロックに基づくビデオエンコーダの概略図を示す。具体的には、
図1は、典型的なエンコーダ100を示す。エンコーダ100は、ビデオ入力110、動き補償112、動き推定114、イントラ/インター・モード決定116、ブロック予測子140、加算器128、変換130、量子化132、予測関連情報142、イントラ予測118、ピクチャバッファ120、逆量子化134、逆変換136、加算器126、メモリ124、ループ内フィルタ122、エントロピー符号化138、およびビットストリーム144を有する。
【0016】
エンコーダ100では、ビデオフレームが、処理のために複数のビデオブロックに区画化される。所与の各ビデオブロックに対して、インター予測手法またはイントラ予測手法に基づいて、予測が形成される。
【0017】
ビデオ入力110の一部である現在のビデオブロックと、ブロック予測子140の一部であるその予測子との間の差を表す予測残差が、加算器128から変換130へ送られる。次いで、変換係数が、エントロピー低減のために変換130から量子化132へ送られる。次いで、量子化された係数が、エントロピー符号化138へ送出されて、圧縮されたビデオビットストリームを生成する。
図1に示されているように、ビデオブロック区画情報、動きベクトル(MV)、参照ピクチャインデックス、およびイントラ予測モードなどのイントラ/インター・モード決定116からの予測関連情報142もまた、エントロピー符号化138を通って送出され、圧縮されたビットストリーム144に保存される。圧縮されたビットストリーム144は、ビデオビットストリームを含む。
【0018】
エンコーダ100では、予測の目的で画素を再構築するために、デコーダ関連回路も必要とされる。まず、逆量子化134および逆変換136によって、予測残差が再構築される。この再構築された予測残差は、ブロック予測子140と組み合わされて、現在のビデオブロックに対するフィルタリングされていない再構築画素を生成する。
【0019】
空間予測(または「イントラ予測」)は、同じビデオフレーム内のすでに符号化された近隣ブロックのサンプル(参照サンプルと呼ばれる)からの画素を、現在のビデオブロックとして使用して、現在のビデオブロックを予測する。
【0020】
時間予測(「インター予測」とも呼ばれる)は、すでに符号化されたビデオ・ピクチャからの再構築画素を使用して、現在のビデオブロックを予測する。時間予測は、ビデオ信号に固有の時間的冗長性を低減させる。通常、所与の符号化ユニット(CU)または符号化ブロックに対する時間予測信号は、現在のCUとその時間参照との間の動きの量および方向を示す1つまたは複数のMVによって送信される。さらに、複数の参照ピクチャが対応される場合、1つの参照ピクチャインデックスがさらに送られ、これは、時間予測信号が参照ピクチャ・ストレージ内のどの参照ピクチャに由来するかを識別するために使用される。
【0021】
動き推定114が、ピクチャバッファ120からビデオ入力110および信号を取り入れ、動き推定信号を動き補償112へ出力する。動き補償112は、ビデオ入力110、ピクチャバッファ120からの信号、および動き推定114からの動き推定信号を取り入れ、イントラ/インター・モード決定116へ動き補償信号を出力する。
【0022】
空間および/または時間予測が実行された後、エンコーダ100内のイントラ/インター・モード決定116が、例えばレート歪み最適化方法に基づいて、最良の予測モードを選ぶ。次いで、現在のビデオブロックからブロック予測子140が引かれ、変換130および量子化132を使用して、その結果得られる予測残差から相関が除去される。その結果得られる量子化された残差係数は、逆量子化134によって逆量子化され、逆変換136によって逆変換されて、再構築残差を形成し、次いで、この再構築残差が、予測ブロックに再び加算されて、CUの再構築信号を形成する。さらに、非ブロック化フィルタ、サンプル適応型オフセット(SAO)、および/または適応型ループ内フィルタ(ALF)などのループ内フィルタリング122が、再構築CUに適用されてよく、その後、ピクチャバッファ120の参照ピクチャ・ストレージに入れられ、将来のビデオブロックを符号化するために使用される。出力ビデオビットストリーム144を形成するために、符号化モード(インターまたはイントラ)、予測モード情報、動き情報、および量子化された残差係数はすべて、エントロピー符号化ユニット138へ送られ、さらに圧縮およびパックされて、ビットストリームを形成する。
【0023】
エンコーダでは、ビデオフレームが、処理のためにブロックに区画化される。所与の各ビデオブロックに対して、インター予測またはイントラ予測に基づいて、予測が形成される。インター予測では、予測子は、前に再構築されたフレームの画素に基づいて、動き推定および動き補償によって形成されてよい。イントラ予測では、予測子は、現在のフレーム内の再構築画素に基づいて形成されてよい。モード決定によって、現在のブロックを予測するために、最良の予測子が選択されてよい。
【0024】
予測残差(すなわち、現在のブロックとその予測子との間の差)が、変換モジュールへ送られる。次いで、変換係数が、エントロピー低減のために量子化モジュールへ送られる。量子化された係数が、エントロピー符号化モジュールへ送出されて、圧縮されたビデオビットストリームを生成する。
図1に示されているように、ブロック区画情報、動きベクトル、参照ピクチャインデックス、およびイントラ予測モードなどのインターおよび/またはイントラ予測モジュールからの予測関連情報もまた、エントロピー符号化モジュールを通って、ビットストリームに保存される。
【0025】
エンコーダでは、予測の目的で画素を再構築するために、デコーダ関連モジュールも必要とされる。まず、逆量子化および逆変換によって、予測残差が再構築される。そのように再構築された予測残差は、ブロック予測子と組み合わされて、現在のブロックに対するフィルタリングされていない再構築画素を生成する。
【0026】
符号化効率および視覚品質を改善するために、ループ内フィルタが一般に使用される。例えば、AVC、HEVC、ならびに現在のVVCで、非ブロック化フィルタが利用可能である。HEVCでは、SAO(サンプル適応型オフセット)と呼ばれる追加のループ内フィルタが、符号化効率をさらに改善するように定義される。最新のVVCでは、ALF(適応型ループ・フィルタ)と呼ばれるさらに別のループ内フィルタが積極的に調査されており、最終的な規格に含まれる可能性が高い。
【0027】
図2は、VVCのためのビデオ・デコーダの概略ブロック図を示す。具体的には、
図2は、典型的なデコーダ200のブロック図を示す。デコーダ200は、ビットストリーム210、エントロピー復号212、逆量子化214、逆変換216、加算器218、イントラ/インター・モード選択220、イントラ予測222、メモリ230、ループ内フィルタ228、動き補償224、ピクチャバッファ226、予測関連情報234、およびビデオ出力232を有する。
【0028】
デコーダ200は、
図1のエンコーダ100内に存在する再構築関連部分に類似している。デコーダ200では、まず、入ってくるビデオビットストリーム210が、エントロピー復号212によって復号されて、量子化された係数レベルおよび予測関連情報を導出する。次いで、量子化された係数レベルが、逆量子化214および逆変換216によって、再構築された予測残差を取得するために処理される。イントラ/インター・モード・セレクタ220で実施されるブロック予測子機構は、復号された予測情報に基づいて、イントラ予測222または動き補償224を実行するように構成される。加算器218を使用して、逆変換216からの再構築された予測残差と、ブロック予測子機構によって生成された予測出力とを加算することによって、1組のフィルタリングされていない再構築画素が取得される。
【0029】
再構築されたブロックは、ループ内フィルタ228をさらに通過することができ、その後、参照ピクチャストアとして機能するピクチャバッファ226に記憶される。ピクチャバッファ226内の再構築ビデオは、ディスプレイデバイスを駆動するために送られ、ならびに将来のビデオブロックを予測するために使用されてよい。ループ内フィルタ228がオンにされた状況で、これらの再構築画素においてフィルタリング動作が実行されて、最終的な再構築ビデオ出力232を導出する。
【0030】
図2は、これらの規格に対する典型的なデコーダのブロック図を示す。このブロック図は、エンコーダ内に存在する再構築関連部分とほぼ同じであることが見て取れる。
【0031】
デコーダでは、まず、ビットストリームが、エントロピー復号モジュールによって復号されて、量子化された係数レベルおよび予測関連情報を導出する。次いで、量子化された係数レベルが、逆量子化および逆変換モジュールによって、再構築された予測残差を取得するために処理される。ブロック予測子は、復号された予測情報に基づいて、イントラ予測または動き補償プロセスによって形成される。再構築された予測残差と、ブロック予測子とを加算することによって、フィルタリングされていない再構築画素が取得される。ループ内フィルタがオンにされている場合、これらの画素においてフィルタリング動作が実行されて、出力のための最終的な再構築ビデオを導出する。
【0032】
多用途ビデオ符号化(VVC)
【0033】
第10回JVET会議(2018年4月10~20日、米国サンディエゴ)において、JVETは、多用途ビデオ符号化(VVC)およびVVC試験モデル1(VTM1)符号化方法の原案を定義した。JVETは、2分割および3K分割の符号化ブロック構造をVVCの最初の新しい符号化特徴として使用する入れ子状の複数タイプのツリーを有する4分木を含むと決定した。それ以降、符号化方法および試案のVVC復号プロセスを実施するための参照ソフトウェアVTMが、JVET会議中に開発されている。
【0034】
ピクチャ区画化構造は、入力ビデオを符号化ツリー単位(CTU)と呼ばれるブロックに分割する。CTUは、入れ子状の複数タイプのツリー構造を有する4分木を使用して、符号化単位(CU)に分割され、葉の符号化ユニット(CU)が、同じ予測モード(例えば、イントラまたはインター)を共有する領域を画定する。本明細書では、「単位」という用語は、画像がすべての成分を含む領域を画定し、「ブロック」という用語は、特定の成分(例えば、ルマ)を含む領域を画定するために使用され、4:2:0などのクロマ・サンプリング方式を考慮すると、空間位置が異なってもよい。
【0035】
VVCにおける動きベクトル予測
【0036】
動きベクトル予測は、動きパラメータの明示的な伝送に使用される近隣CUの動きベクトルの空間的および時間的な相関関係を利用する。動きベクトル予測は、まず左方、上方、および時間的に近隣するブロック位置(
図3に示されている、後述)ならびに履歴ベースMVの利用可能性を確認することによって、動きベクトル予測子(MVP)候補リストを構築する。次いで、冗長な候補を除去し、ゼロ・ベクトルを加えて、候補リストを一定の長さにする。次いで、エンコーダは、候補リストから最良の予測子を選択し、選択された候補を示す対応するインデックスを伝送することができる。次いで、最良の動きベクトル候補のインデックスは、ビットストリームに符号化される。以下の章では、MVP候補の導出プロセスに関する詳細が提供される。
【0037】
図3は、空間MVP候補A0、A1、B0、B1、およびB2、ならびに時間MVP候補T0およびT1の候補位置を示す。
【0038】
動きベクトル予測子候補の導出
【0039】
VVCでは、MVP候補リストは、以下の候補を順に含むことによって構築される。
【0040】
(1)左方空間近隣CUから最大1つのスケーリングされていないMVPを導出する(A0→A1)。
【0041】
(2)左方からのスケーリングされていないMVPが利用可能でない場合、左方空間近隣CUから最大1つのスケーリングされたMVPを導出する(A0→A1)。
【0042】
(3)上方空間近隣CUから最大1つのスケーリングされていないMVPを導出する(B0→B1→B2)。
【0043】
(4)両方の近隣ブロックA0およびA1が利用可能でない、またはイントラ・モードで符号化されている場合、上方空間近隣CUから最大1つのスケーリングされたMVPを導出する(B0→B1→B2)。
【0044】
(5)条件付きプルーニング。
【0045】
(6)時間配列CUから最大1つのMVPを導出する(T0→T1)。
【0046】
(7)FIFO表から最大2つの履歴ベースMVPを導出する。
【0047】
(8)最大2つのゼロMVを導出する。
【0048】
項目5の「条件付きプルーニング」は、2つのMVP候補が空間ブロックから導出されたときに行われる。2つのMVP候補が互いに比較され、これらが同一であるとき、一方がMVP候補リストから除去される。インターMVPリストのサイズは、2に固定される。インター予測であるが非マージモードで符号化された各CUに対して、どのMVP候補が使用されているかを示すために、フラグが符号化される。
【0049】
動きベクトル予測では、空間MVP候補、時間MVP候補、および履歴ベースMVP候補という3つのタイプのMVP候補が考慮される。空間MVP候補の導出の場合、
図3に示されているように、5つの異なる位置に配置された各ブロックの動きベクトルに基づいて、最大2つのMVP候補が導出される。時間MVP候補の導出の場合、同一場所に配置された2つの異なる位置に基づいて導出された2つの候補から、最大1つのMVP候補が選択される。MVP候補の数が2より小さい場合、追加のゼロ動きベクトル候補がリストに追加されて、MVP候補の数を2にする。
【0050】
空間動きベクトル予測子候補
【0051】
空間動きベクトル予測子候補の導出では、
図3に示されているように配置されたブロックから導出された最大5つの潜在候補から、最大2つの候補が選択されてよい。それらのブロック位置は、マージモードの場合にMVP候補を導出するために使用される位置と同じである。A
0、A
1を含む現在のブロックの左側に配置されたブロックの場合、そのMV確認順序は、A
0、A
1、およびスケーリングされたA
0、スケーリングされたA
1と定義される。ここで、スケーリングされたA
0、スケーリングされたA
1は、それぞれブロックA
0、A
1のスケーリングされたMVを指す。B
0、B
1、B
2を含む現在のブロックの上方に配置されたブロックの場合、そのMV確認順序は、B
0、B
1、B
2、スケーリングされたB
0、スケーリングされたB
1、スケーリングされたB
2と定義される。各々の側に対して、動きベクトル候補を導出する際に確認されるべき4つの事例が存在し、2つの事例では、空間MVスケーリングが必要とされず、他の2つの事例では、空間MVスケーリングが必要とされる。4つの異なる事例は、次のように要約される。
【0052】
空間MVスケーリングが必要とされない事例
【0053】
(1)同じ参照ピクチャリストおよび同じ参照ピクチャインデックス(同じPOC)を有するMV。
【0054】
(2)異なる参照ピクチャリストを有するが、同じ参照ピクチャ(同じPOC)を有するMV。
【0055】
空間MVスケーリングが必要とされる事例
【0056】
(3)同じ参照ピクチャリストを有するが、異なる参照ピクチャ(異なるPOC)を有するMV。
【0057】
(4)異なる参照ピクチャリストおよび異なる参照ピクチャ(異なるPOC)を有するMV。
【0058】
まず、空間MVスケーリングなしの事例(上記の事例1および2)が確認され、それに続いて空間MVスケーリングが必要とされる事例(上記の事例3および4)が確認される。より具体的には、MVに対して、確認順序は以下のステップの通りである。
【0059】
A0事例1→A0事例2→A1事例1→A1事例2→A0事例3→A0事例4→A1事例3→A1事例4を順次確認することによって、ブロックA0、A1から最大1つのMV候補が導出される。
【0060】
B0事例1→B0事例2→B1事例1→B1事例2→B2事例1→B2事例2を順次確認することによって、ブロックB0、B1、B2から最大1つのMV候補が導出される。
【0061】
ステップ1でMV候補が導出されない場合、B0事例3→B0事例4→B1事例3→B1事例4→B2事例3→B2事例4を順次確認することによって、ブロックB0、B1、B2から最大1つのMV候補が導出される。
【0062】
MVP候補の数が2より小さい場合、追加のゼロ動きベクトル候補がリストに追加されて、MVP候補の数を2にする。
【0063】
参照ピクチャリストにかかわらず、近隣ブロックの参照ピクチャのPOCが現在のブロックのPOCとは異なる場合、空間MVスケーリングが必要とされる。上記のステップで見て取れるように、現在のブロックの左側でブロックのMVが利用可能でない(例えば、ブロックが利用可能でない、またはそれらすべてのブロックがイントラ符号化されている)場合、現在のブロックの上側のブロックの動きベクトルに対して、MVスケーリングが可能にされる。それ以外の場合、上方ブロックの動きベクトルに対する空間MVスケーリングは可能にされない。その結果、MV予測候補導出プロセス全体において、最大1つの空間MVスケーリングのみが必要とされる。
【0064】
空間MVスケーリングプロセスでは、時間MVスケーリングと同様に、
図4(後述)に示されているように、近隣ブロックの動きベクトルがスケーリングされる。
【0065】
図4は、空間動きベクトル候補に対する動きベクトルのスケーリングの図を示す。この図は、410neigh_ref、420curr_ref、430curr_pic、440neighbor_PU、450curr_PU、460tb、および470tdを含む。410neigh_refは、動きベクトルのスケーリングに使用される近隣参照である。420curr_refは、動きベクトルのスケーリングに使用される現在の参照である。430は、動きベクトルのスケーリングに使用される現在のピクチャである。440neighbor_PUは、動きベクトルのスケーリングに使用される近隣予測ユニットである。450curr_PUは、動きベクトルのスケーリングに使用される現在の予測ユニットである。460tbは、現在のピクチャの参照ピクチャと現在のピクチャとの間のPOC差である。470tdは、近隣参照ピクチャと現在のピクチャとの間のPOC差である。
【0066】
時間動きベクトル予測子候補
【0067】
時間MVP候補の導出では、参照ピクチャリストにおいて前に符号化されたピクチャ内の配列ブロックのMVから、スケーリングされた動きベクトルが導出される。以下の説明では、時間MVP候補を導出するための配列ブロックを含むピクチャが、「配列ピクチャ」と呼ばれる。時間動き候補を導出するために、まず、スライス・ヘッダ内の明示的なフラグ(collocated_from_L0_flag)がデコーダへ送られて、配列ピクチャがリスト0から選択されたか、それともリスト1から選択されたかを示す。配列参照インデックス(collocated_ref_idx)がさらに送られて、そのリスト内のどのピクチャが時間動きベクトル予測子候補を導出するための配列ピクチャとして選択されたかを示す。時間MVP候補のL0およびL1のMVは、表1に示されているように、事前定義された順序に従って、独立して導出される。
【0068】
表1で、CollocatedPictureListは、どの予測リストから配列ピクチャが配置されているかを示すために信号送信される構文である。
図5(後述)に点線によって示されているように、時間MVP候補に対するスケーリングされた動きベクトルが取得される。このスケーリングされた動きベクトルは、POC距離tbおよびtdを使用して、同一場所に配置されたブロックの選択された動きベクトルからスケーリングされており、ここでtbは、現在のピクチャの参照ピクチャと現在のピクチャとの間のPOC差であると定義され、tdは、同一場所に配置されたピクチャの参照ピクチャと同一場所に配置されたピクチャとの間のPOC差であると定義される。時間マージ候補の参照ピクチャインデックスは、ゼロに等しく設定される。スケーリングプロセスの実際的な実現は、HEVC仕様に記載されている。B-スライスの場合、参照ピクチャリスト0用の動きベクトルおよび参照ピクチャリスト1用の動きベクトルという2つの動きベクトルが取得され、これらが組み合わされて、双方向予測マージ候補を作成する。
【表1】
【0069】
図5は、時間マージ候補に対する動きベクトルのスケーリングの図を示す。この図は、510neigh_ref、520curr_ref、530curr_pic、540col_pic、550curr_PU、560col_PU、570tb、および580tdを含む。510neigh_refは、動きベクトルのスケーリングに使用される近隣参照ピクチャである。520curr_refは、動きベクトルのスケーリングに使用される現在の参照である。530curr_picは、動きベクトルのスケーリングに使用される現在のピクチャである。540col_picは、動きベクトルのスケーリングに使用される配列ピクチャである。550curr_PUは、動きベクトルのスケーリングに使用される現在の予測ユニットである。560col_PUは、動きベクトルのスケーリングに使用される配列予測ユニットである。570tbは、現在のピクチャの参照ピクチャと現在のピクチャとの間のPOC差である。580tdは、近隣参照ピクチャと現在のピクチャとの間のPOC差である。
【0070】
配列ピクチャにおいて、
図3に示されているように、時間候補を導出するための配列ブロックが、T0とT1との間で選択される。位置T0のブロックが利用可能でない場合、もしくはイントラ符号化されている場合、または現在のCTUの外側にある場合、位置T1が使用される。それ以外の場合、時間マージ候補の導出では位置T0が使用される。
【0071】
履歴ベースのマージ候補の導出
【0072】
履歴ベースMVP(HMVP)は、空間MVPおよびTMVP後に、マージ・リストに追加される。この方法では、表に記憶されている、前に符号化されたブロックの動き情報が、現在のブロックに対するMVPとして使用されてよい。そのようなMVPはHMVPと呼ばれる。符号化/復号プロセス中、複数のHMVP候補を含む表が維持される。新しいCTU列に遭遇したとき、この表はリセットされる(空にされる)。CUがサブブロック以外のインター予測モードで符号化されているときはいつでも、CUの関連動き情報が、表の最後のエントリに新しいHMVP候補として追加される。
【0073】
動きベクトル予測のための空間動きベクトルのスケーリング
【0074】
MVPの現在の設計では、最大1つのスケーリングされた空間MV候補が導出されてよい。MVスケーリングプロセスは、その複雑さの点から些細なものではないため、新しい方式は、MVPを導出する際に空間MVスケーリングを使用する可能性をさらに低減させるように設計される。
【0075】
動きベクトル予測の改善
【0076】
本開示では、複雑さまたは符号化効率の点から動きベクトル予測を改善するために、いくつかの方法が提案される。提案される方法は、独立してまたは組み合わせて適用されてよいことに留意されたい。
【0077】
図6は、本開示によるビデオ信号を復号する方法を示す。この方法は、例えば、デコーダに適用されてよい。
【0078】
ステップ610で、デコーダは、ビデオ信号からビデオブロックを取得することができる。
【0079】
ステップ612で、デコーダは、ビデオブロックに基づいて、空間近隣ブロックを取得することができる。例えば、空間近隣ブロックは、複数の左方空間近隣ブロックおよび複数の上方空間近隣ブロックを含むことができる。
【0080】
ステップ614で、デコーダは、複数の左方空間近隣ブロックに基づいて、最大1つのスケーリングされていない左方動きベクトル予測子(MVP)を取得することができる。
【0081】
ステップ616で、デコーダは、複数の上方空間近隣ブロックに基づいて、最大1つのスケーリングされていない上方MVPを取得することができる。
【0082】
ステップ618で、デコーダは、空間近隣ブロックから導出されたスケーリングされたMVPを選択する可能性を低減させることによって、ビデオブロック、複数の左方空間近隣ブロック、複数の上方空間近隣ブロックに基づいて、MVP候補リストを導出することができる。例えば、MVP候補リストは、最大1つのスケーリングされていない左方MVPおよび最大1つのスケーリングされていない上方MVPを含むことができる。
【0083】
ステップ620で、デコーダは、MVP候補リストに基づいて、最良MVPを受け取ることができ、エンコーダは、MVP候補リストから最良MVPを選択する。一例では、最良MVPは、コスト値に基づいて、エンコーダによって選択されてよい。例えば、いくつかのエンコーダ設計の場合、エンコーダは、各MVP候補を使用して、選択されたMVPと、動き推定によって導出されたMVとの間のMV差を導出することができる。各MVP候補に対して、選択されたMVPの例えばMV差およびMVPインデックスのビットを使用して、コスト値が計算される。最良のコスト値(例えば、最小コスト)を有するMVP候補が、最終的なMVPとして選択され、そのMVPインデックスがビットストリームに符号化される。
【0084】
ステップ622で、デコーダは、最良MVPに基づいて、ビデオブロックの予測信号を取得することができる。
【0085】
第1の態様によれば、スケーリングされたMVPを選択/導出する可能性を低減させるために、MVP候補リストを構築するとき、スケーリングされた空間MVPを後の位置に入れることが提案される。空間近隣ブロックからスケーリングされたMVPを導出するための条件は、現在のVVCのものと同じであっても異なってもよい。
【0086】
一例では、空間近隣ブロックからスケーリングされたMVPを導出するための条件は、現在のVVCのものと同じままで維持される。MVP候補リストは、1つまたは複数のプロセッサを使用して以下の動作を実行することによって構築される。
【0087】
1)左方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(A0→A1)。
【0088】
2)上方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(B0→B1→B2)。
【0089】
3)条件付きプルーニング。
【0090】
4)時間配列ブロックから最大1つのMVPを導出する(T0→T1)。
【0091】
5)FIFO表から最大2つの履歴ベースMVPを導出する。
【0092】
6)左方近隣ブロックからのスケーリングされていないMVPが利用可能でない場合、左方空間近隣ブロックから最大1つのスケーリングされたMVPを導出する(A0→A1)。
【0093】
7)近隣ブロックA0およびA1がいずれも利用可能でない、またはイントラ・モードで符号化されている場合、上方空間近隣ブロックから最大1つのスケーリングされたMVPを導出する(B0→B1→B2)。
【0094】
8)最大2つのゼロMVを導出する。
【0095】
別の例では、空間近隣ブロックからスケーリングされたMVPを導出するための条件が除去される。MVP候補リストは、1つまたは複数のプロセッサを使用して以下の動作を実行することによって構築される。
【0096】
1)左方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(A0→A1)。
【0097】
2)上方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(B0→B1→B2)。
【0098】
3)条件付きプルーニング。
【0099】
4)時間配列ブロックから最大1つのMVPを導出する(T0→T1)。
【0100】
5)FIFO表から最大2つの履歴ベースMVPを導出する。
【0101】
6)左方空間近隣ブロックから最大1つのスケーリングされたMVPを導出する(A0→A1)。
【0102】
7)上方空間近隣ブロックから最大1つのスケーリングされたMVPを導出する(B0→B1→B2)。
【0103】
8)最大2つのゼロMVを導出する。
【0104】
第3の例では、空間近隣ブロックからスケーリングされたMVPを導出するための条件が、現在のVVCのものから修正される。MVP候補リストは、1つまたは複数のプロセッサを使用して以下の動作を実行することによって構築される。
【0105】
1)左方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(A0→A1)。
【0106】
2)上方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(B0→B1→B2)。
【0107】
3)条件付きプルーニング。
【0108】
4)時間配列ブロックから最大1つのMVPを導出する(T0→T1)。
【0109】
5)FIFO表から最大2つの履歴ベースMVPを導出する。
【0110】
6)左方空間近隣ブロックから最大1つのスケーリングされたMVPを導出する(A0→A1)。
【0111】
7)近隣ブロックA0およびA1がいずれも利用可能でない、またはイントラ・モードで符号化されている場合、上方空間近隣ブロックから最大1つのスケーリングされたMVPを導出する(B0→B1→B2)。
【0112】
8)最大2つのゼロMVを導出する。
【0113】
第4の例では、空間近隣ブロックからスケーリングされたMVPを導出するための条件が、現在のVVCのものから修正される。MVP候補リストは、1つまたは複数のプロセッサを使用して以下の動作を実行することによって構築される。
【0114】
1)左方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(A0→A1)。
【0115】
2)上方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(B0→B1→B2)。
【0116】
3)条件付きプルーニング。
【0117】
4)時間配列ブロックから最大1つのMVPを導出する(T0→T1)。
【0118】
5)FIFO表から最大2つの履歴ベースMVPを導出する。
【0119】
6)左方空間近隣ブロックA0から最大1つのスケーリングされたMVPを導出する。
【0120】
7)左方空間近隣ブロックA1から最大1つのスケーリングされたMVPを導出する。
【0121】
8)上方空間近隣ブロックB0から最大1つのスケーリングされたMVPを導出する。
【0122】
9)上方空間近隣ブロックB1から最大1つのスケーリングされたMVPを導出する。
【0123】
10)上方空間近隣ブロックB2から最大1つのスケーリングされたMVPを導出する。
【0124】
11)最大2つのゼロMVを導出する。
【0125】
第2の態様によれば、スケーリングされたMVPを選択/導出する可能性を低減させるために、MVP候補リストを構築するとき、時間MVPおよびスケーリングされた空間MVPの両方を後の位置に入れることが提案される。空間近隣ブロックからスケーリングされたMVPを導出するための条件は、現在のVVCのものと同じであっても異なってもよい。
【0126】
一例では、空間近隣ブロックからスケーリングされたMVPを導出するための条件は、現在のVVCのものと同じままで維持される。MVP候補リストは、1つまたは複数のプロセッサを使用して以下の動作を実行することによって構築される。
【0127】
1)左方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(A0→A1)。
【0128】
2)上方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(B0→B1→B2)。
【0129】
3)条件付きプルーニング。
【0130】
4)FIFO表から最大2つの履歴ベースMVPを導出する。
【0131】
5)時間配列ブロックから最大1つのMVPを導出する(T0→T1)。
【0132】
6)左方近隣ブロックからのスケーリングされていないMVPが利用可能でない場合、左方空間近隣ブロックから最大1つのスケーリングされたMVPを導出する(A0→A1)。
【0133】
7)近隣ブロックA0およびA1がいずれも利用可能でない、またはイントラ・モードで符号化されている場合、上方空間近隣ブロックから最大1つのスケーリングされたMVPを導出する(B0→B1→B2)。
【0134】
8)最大2つのゼロMVを導出する。
【0135】
別の例では、空間近隣ブロックからスケーリングされたMVPを導出するための条件が除去される。MVP候補リストは、1つまたは複数のプロセッサを使用して以下の動作を実行することによって構築される。
【0136】
1)左方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(A0→A1)。
【0137】
2)上方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(B0→B1→B2)。
【0138】
3)条件付きプルーニング。
【0139】
4)FIFO表から最大2つの履歴ベースMVPを導出する。
【0140】
5)時間配列ブロックから最大1つのMVPを導出する(T0→T1)。
【0141】
6)左方空間近隣ブロックから最大1つのスケーリングされたMVPを導出する(A0→A1)。
【0142】
7)上方空間近隣ブロックから最大1つのスケーリングされたMVPを導出する(B0→B1→B2)。
【0143】
8)最大2つのゼロMVを導出する。
【0144】
第3の例では、空間近隣ブロックからスケーリングされたMVPを導出するための条件が、現在のVVCのものから修正される。MVP候補リストは、1つまたは複数のプロセッサを使用して以下の動作を実行することによって構築される。
【0145】
1)左方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(A0→A1)。
【0146】
2)上方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(B0→B1→B2)。
【0147】
3)条件付きプルーニング。
【0148】
4)FIFO表から最大2つの履歴ベースMVPを導出する。
【0149】
5)時間配列ブロックから最大1つのMVPを導出する(T0→T1)。
【0150】
6)左方空間近隣ブロックから最大1つのスケーリングされたMVPを導出する(A0→A1)。
【0151】
7)近隣ブロックA0およびA1がいずれも利用可能でない、またはイントラ・モードで符号化されている場合、上方空間近隣ブロックから最大1つのスケーリングされたMVPを導出する(B0→B1→B2)。
【0152】
8)最大2つのゼロMVを導出する。
【0153】
第4の例では、空間近隣ブロックからスケーリングされたMVPを導出するための条件が、現在のVVCのものから修正される。MVP候補リストは、1つまたは複数のプロセッサを使用して以下の動作を実行することによって構築される。
【0154】
1)左方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(A0→A1)。
【0155】
2)上方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(B0→B1→B2)。
【0156】
3)条件付きプルーニング。
【0157】
4)FIFO表から最大2つの履歴ベースMVPを導出する。
【0158】
5)時間配列ブロックから最大1つのMVPを導出する(T0→T1)。
【0159】
6)左方空間近隣ブロックA0から最大1つのスケーリングされたMVPを導出する。
【0160】
7)左方空間近隣ブロックA1から最大1つのスケーリングされたMVPを導出する。
【0161】
8)上方空間近隣ブロックB0から最大1つのスケーリングされたMVPを導出する。
【0162】
9)上方空間近隣ブロックB1から最大1つのスケーリングされたMVPを導出する。
【0163】
10)上方空間近隣ブロックB2から最大1つのスケーリングされたMVPを導出する。
【0164】
11)最大2つのゼロMVを導出する。
【0165】
第3の態様によれば、スケーリングされたMVPを選択/導出する可能性を低減させるために、スケーリングされた空間MVP候補をMVP候補リストから除外することが提案される。
【0166】
図7は、本開示によるMVP候補リストを導出する方法を示す。この方法は、例えば、デコーダに適用されてよい。
【0167】
ステップ710で、デコーダは、空間近隣ブロックから2つのMVP同一候補が導出されたとき、2つのMVP同一候補のうちの一方をMVP候補リストからプルーニングすることができる。
【0168】
ステップ712で、デコーダは、時間配列ブロックから最大1つのMVPを取得することができる。時間配列ブロックは、配列ブロックT0および配列ブロックT1を含む。
【0169】
ステップ714で、デコーダは、FIFO表から最大2つの履歴ベースMVPを取得することができる。FIFO表は、前に符号化されたブロックを含む。
【0170】
ステップ716で、デコーダは、0に等しい最大2つのMVを取得することができる。
【0171】
一例では、MVP候補リストは、1つまたは複数のプロセッサを使用して以下の動作を実行することによって構築される。
【0172】
1)左方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(A0→A1)。
【0173】
2)上方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(B0→B1→B2)。
【0174】
3)条件付きプルーニング。
【0175】
4)時間配列ブロックから最大1つのMVPを導出する(T0→T1)。
【0176】
5)FIFO表から最大2つの履歴ベースMVPを導出する。
【0177】
6)最大2つのゼロMVを導出する。
【0178】
別の例では、MVP候補リストは、1つまたは複数のプロセッサを使用して以下の動作を実行することによって構築される。
【0179】
1)左方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(A0→A1)。
【0180】
2)上方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(B0→B1→B2)。
【0181】
3)条件付きプルーニング。
【0182】
4)FIFO表から最大2つの履歴ベースMVPを導出する。
【0183】
5)時間配列ブロックから最大1つのMVPを導出する(T0→T1)。
【0184】
6)最大2つのゼロMVを導出する。
【0185】
第4の態様によれば、スケーリングされたMVPを選択/導出する可能性を低減させるために、スケーリングされた空間MVP候補およびTMVPの両方をMVP候補リストから除外することが提案される。
【0186】
一例では、MVP候補リストは、1つまたは複数のプロセッサを使用して以下の動作を実行することによって構築される。
【0187】
1)左方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(A0→A1)。
【0188】
2)上方空間近隣ブロックから最大1つのスケーリングされていないMVPを導出する(B0→B1→B2)。
【0189】
3)条件付きプルーニング。
【0190】
4)FIFO表から最大2つの履歴ベースMVPを導出する。
【0191】
5)最大2つのゼロMVを導出する。
【0192】
上記に示されているこれらすべての態様および/または例において、MVP候補リストが一杯になったとき、導出プロセスが終了することに留意されたい。
【0193】
図8は、ユーザ・インターフェース860に結合されたコンピューティング環境810を示す。コンピューティング環境810は、データ処理サーバの一部とすることができる。コンピューティング環境810は、プロセッサ820、メモリ840、およびI/Oインターフェース850を含む。
【0194】
プロセッサ820は、典型的に、表示、データ取得、データ通信、および画像処理に関連する動作など、コンピューティング環境810の全体的な動作を制御する。プロセッサ820は、前述の方法のステップのすべてまたはいくつかを実行するための命令を実行するために、1つまたは複数のプロセッサを含むことができる。さらに、プロセッサ820は、プロセッサ820と他の構成要素との間の相互作用を容易にする1つまたは複数のモジュールを含むことができる。プロセッサは、中央演算処理装置(CPU)、マイクロプロセッサ、単一チップ機械、GPUなどとすることができる。
【0195】
メモリ840は、コンピューティング環境810の動作に対応するために、様々なタイプのデータを記憶するように構成される。メモリ840は、所定のソフトウェア842を含むことができる。そのようなデータの例は、コンピューティング環境810、ビデオデータセット、画像データなどで動作されるあらゆるアプリケーションまたは方法向けの命令を含む。メモリ840は、スタティック・ランダム・アクセス・メモリ(SRAM)、電気的に消去可能なプログラマブル読取り専用メモリ(EEPROM)、消去可能なプログラマブル読取り専用メモリ(EPROM)、プログラマブル読取り専用メモリ(PROM)、読取り専用メモリ(ROM)、磁気メモリ、フラッシュメモリ、磁気または光ディスクなど、任意のタイプの揮発性もしくは不揮発性のメモリデバイス、またはそれらの組合せを使用することによって実施されてよい。
【0196】
I/Oインターフェース850は、プロセッサ820と、キーボード、クリックホイール、ボタンなどの周辺インターフェースモジュールとの間に、インターフェースを提供する。ボタンは、それだけに限定されるものではないが、ホームボタン、走査開始ボタン、および走査終了ボタンを含むことができる。I/Oインターフェース850は、エンコーダおよびデコーダに結合されてよい。
【0197】
いくつかの実施形態では、メモリ840に含まれるものなど、コンピューティング環境810内のプロセッサ820によって実行可能である、前述の方法を実行する複数のプログラムを備える非一時的コンピュータ可読記憶媒体も提供される。例えば、非一時的コンピュータ可読記憶媒体は、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、光データ記憶デバイスなどとすることができる。
【0198】
非一時的コンピュータ可読記憶媒体には、1つまたは複数のプロセッサを有するコンピューティングデバイスによる実行のための複数のプログラムが記憶されており、複数のプログラムは、1つまたは複数のプロセッサによって実行されるとき、コンピューティングデバイスに、動き予測のための上述された方法を実行させる。
【0199】
いくつかの実施形態では、コンピューティング環境810は、上記の方法を実行するための1つまたは複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(PLD)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、グラフィカル処理ユニット(GPU)、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子構成要素によって実施されてよい。
【0200】
本開示の説明は、例示の目的で提示されており、網羅的であること、または本開示に限定されることが意図されるものではない。多くの修正形態、変形形態、および代替の実装形態が、上記の説明および添付の図面に提示される教示の利益を有する当業者には明らかである。
【0201】
これらの例は、本開示の原理を説明し、当業者であれば、様々な実装形態の開示を理解し、企図される特定の用途に適した様々な修正によって、根本的な原理および様々な実装を最善に利用することが可能になるように選択および記載されている。したがって、本開示の範囲は、開示される実装形態の特有の例に限定されないこと、および修正形態および他の実装形態も本開示の範囲に包含されることが意図されることを理解されたい。
【手続補正書】
【提出日】2024-02-08
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ビデオ復号方法であって、
ビデオ信号から符号化ブロックを取得することと、
前記符号化ブロックに基づいて、複数の空間近隣ブロックを取得することであって、前記複数の空間近隣ブロックが、複数の左方空間近隣ブロックおよび複数の上方空間近隣ブロックを含むことと、
前記複数の空間近隣ブロックに基づいて、最大2つのスケーリングされていない空間動きベクトル予測子(MVP)候補を決定することであって、前記最大2つのスケーリングされていない空間MVP候補は、前記複数の左方空間近隣ブロックから取得される最大1つのスケーリングされていない左方MVPと、前記複数の上方空間近隣ブロックから取得される最大1つのスケーリングされていない上方MVPと、を含み、
時間配列ブロックから最大1つの時間MVP候補を決定することと、
先入れ先出し(FIFO)表から最大2つの履歴ベースMVP候補を決定することと、
前記最大2つのスケーリングされていない空間MVP候補、前記最大1つの時間MVP候補、および前記最大2つの履歴ベースMVP候補の決定に基づいて、MVP候補リストを導出することと、
前記MVP候補リスト内のMVPを示すインデックスを受け取ることと、
前記インデックスによって示された前記MVPに基づいて、前記符号化ブロックの予測信号を取得することと、を含むビデオ復号方法。
【請求項2】
0に等しい最大2つのMVを決定することをさらに含む、請求項1に記載の方法。
【請求項3】
前記時間配列ブロックが、右下方の配列ブロックT0および中央の配列ブロックT1を含む、請求項1に記載の方法。
【請求項4】
前記MVP候補リストを導出することが、
前記複数の空間近隣ブロックから導出された2つのMVP同一候補がある場合、前記MVP候補リストから前記2つのMVP同一候補のうちの一方をプルーニングすること、を含む、請求項1に記載の方法。
【請求項5】
前記複数の空間近隣ブロックは、左下方ブロック、左方ブロック、右上方ブロック、上方ブロック、および左上方ブロックを含む、請求項1に記載の方法。
【請求項6】
時間動きベクトル予測に使用される配列ピクチャが、第1の参照ピクチャリストから導出されるか、または第2の参照ピクチャリストから導出されるのかを示す明示的なフラグを取得することをさらに含む、請求項1に記載の方法。
【請求項7】
前記時間動きベクトル予測に使用される前記配列ピクチャの参照インデックスを特定する配列参照インデックスを取得することをさらに含む、請求項6に記載の方法。
【請求項8】
前記時間配列ブロックから前記最大1つの時間MVP候補を決定することが、
前記時間配列ブロックから導出されたMVPに対して動きベクトルスケーリングを行うことを含む、請求項1に記載の方法。
【請求項9】
前記動きベクトルスケーリングは、現在ピクチャの参照ピクチャと前記現在ピクチャとの間におけるピクチャ順序カウント(POC)差と、配列ピクチャの参照ピクチャと前記配列ピクチャとの間におけるPOC差とに基づいて行われる、請求項8に記載の方法。
【請求項10】
コンピューティングデバイスであって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行可能な命令を記憶する非一時的コンピュータ可読記憶媒体と、を備え、
前記1つまたは複数のプロセッサが、請求項1から9のいずれかに記載の方法を行うように構成される、コンピューティングデバイス。
【請求項11】
1つまたは複数のプロセッサを有するコンピューティングデバイスによる実行のための複数のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記複数のプログラムが、前記1つまたは複数のプロセッサによって実行されるとき、前記コンピューティングデバイスに、請求項1から9のいずれかに記載の方法を行わせてビットストリームを復号させ、復号されたビットストリームを前記非一時的コンピュータ可読記憶媒体に記憶させる、非一時的コンピュータ可読記憶媒体。
【請求項12】
前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに請求項1から9のいずれかに記載の方法を行わせる複数の命令を含む、コンピュータプログラム。
【請求項13】
ビデオデータを復号するために使用される構文要素を含むビデオビットストリームであって、請求項1から9のいずれかに記載の方法で復号される、ビデオビットストリーム。
【請求項14】
ビットストリームを記憶するための方法であって、前記ビットストリームは、ビデオ復号方法によって復号可能であり、
前記ビデオ復号方法は、
ビデオ信号から符号化ブロックを取得することと、
前記符号化ブロックに基づいて、複数の空間近隣ブロックを取得することであって、前記複数の空間近隣ブロックが、複数の左方空間近隣ブロックおよび複数の上方空間近隣ブロックを含むことと、
前記複数の空間近隣ブロックに基づいて、最大2つのスケーリングされていない空間動きベクトル予測子(MVP)候補を決定することであって、前記最大2つのスケーリングされていない空間MVP候補は、前記複数の左方空間近隣ブロックから取得される最大1つのスケーリングされていない左方MVPと、前記複数の上方空間近隣ブロックから取得される最大1つのスケーリングされていない上方MVPと、を含み、
時間配列ブロックから最大1つの時間MVP候補を決定することと、
先入れ先出し(FIFO)表から最大2つの履歴ベースMVP候補を決定することと、
前記最大2つのスケーリングされていない空間MVP候補、前記最大1つの時間MVP候補、および最大2つの履歴ベースMVP候補の決定に基づいて、MVP候補リストを導出することと、
前記MVP候補リスト内のMVPを示すインデックスを受け取ることと、
前記インデックスによって示された前記MVPに基づいて、前記符号化ブロックの予測信号を取得することと、を含む、方法。
【請求項15】
0に等しい最大2つのMVを決定することをさらに含む、請求項14に記載の方法。
【請求項16】
前記時間配列ブロックが、右下方の配列ブロックT0および中央の配列ブロックT1を含む、請求項14に記載の方法。
【請求項17】
前記MVP候補リストを導出することが、
前記複数の空間近隣ブロックから導出された2つのMVP同一候補がある場合、前記MVP候補リストから前記2つのMVP同一候補のうちの一方をプルーニングすることを含む、請求項14に記載の方法。
【請求項18】
前記複数の空間近隣ブロックは、左下方ブロック、左方ブロック、右上方ブロック、上方ブロック、および左上方ブロックを含む、請求項14に記載の方法。
【請求項19】
時間動きベクトル予測に使用される配列ピクチャが、第1の参照ピクチャリストから導出されるか、または第2の参照ピクチャリストから導出されるのかを示す明示的なフラグを取得することをさらに含む、請求項14に記載の方法。
【請求項20】
前記時間動きベクトル予測に使用される前記配列ピクチャの参照インデックスを特定する配列参照インデックスを取得することをさらに含む、請求項19に記載の方法。
【外国語明細書】