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

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

▶ ベイジン・ダジア・インターネット・インフォメーション・テクノロジー・カンパニー,リミテッドの特許一覧

特開2024-161272双方向オプティカルフローに対するビット幅制御
<>
  • 特開-双方向オプティカルフローに対するビット幅制御 図1
  • 特開-双方向オプティカルフローに対するビット幅制御 図2
  • 特開-双方向オプティカルフローに対するビット幅制御 図3
  • 特開-双方向オプティカルフローに対するビット幅制御 図4
  • 特開-双方向オプティカルフローに対するビット幅制御 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024161272
(43)【公開日】2024-11-15
(54)【発明の名称】双方向オプティカルフローに対するビット幅制御
(51)【国際特許分類】
   H04N 19/513 20140101AFI20241108BHJP
   H04N 19/577 20140101ALI20241108BHJP
【FI】
H04N19/513
H04N19/577
【審査請求】有
【請求項の数】13
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024154127
(22)【出願日】2024-09-06
(62)【分割の表示】P 2022201624の分割
【原出願日】2020-01-06
(31)【優先権主張番号】62/788,898
(32)【優先日】2019-01-06
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】521024075
【氏名又は名称】ベイジン・ダジア・インターネット・インフォメーション・テクノロジー・カンパニー,リミテッド
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100138759
【弁理士】
【氏名又は名称】大房 直樹
(74)【代理人】
【識別番号】100201743
【弁理士】
【氏名又は名称】井上 和真
(72)【発明者】
【氏名】シウ,シヤオユー
(72)【発明者】
【氏名】チェン,イー-ウエン
(72)【発明者】
【氏名】ワーン,シアーンリン
(57)【要約】
【課題】ビデオ符号化のための双方向オプティカルフロー(BDOF)に対するビット幅を制御する方法を提供する。
【解決手段】ビデオ符号化のための双方向オプティカルフロー(BDOF)に対するビット幅を制御する方法が、第1の参照ピクチャおよび第2の参照ピクチャを復号するステップを含み、第2の参照ピクチャは、第1の参照ピクチャとは異なり、第1の参照ピクチャは、現在のピクチャの前に表示され、第2の参照ピクチャは、現在のピクチャの後に表示される。第1の予測L0と第2の予測L1との間の差を最小化することによって、符号化単位(CU)の動き補正が計算される。第1の予測L0に対する第1の勾配値および第2の予測L1に対する第2の勾配値が計算される。CUの最終的な双方向予測が計算される。関連する装置および関連する非一時的コンピュータ可読記憶媒体も開示される。
【選択図】図1
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサによって実行される
べき複数のプログラムを記憶するメモリとを備えたコンピューティングデバイスで実施さ
れ、ビデオ符号化のための双方向オプティカルフロー(BDOF)に対するビット幅を制
御する方法であって、
第1の参照ピクチャおよび第2の参照ピクチャを復号するステップであって、前記第2
の参照ピクチャが前記第1の参照ピクチャとは異なり、前記第1の参照ピクチャが現在の
ピクチャの前に表示され、前記第2の参照ピクチャが前記現在のピクチャの後に表示され
る、ステップと、
前記現在のピクチャの現在のブロックから前記第1の参照ピクチャの第1の予測L
の第1の動きベクトル(MV)を決定するステップと、
前記現在のブロックから前記第2の参照ピクチャの第2の予測Lへの第2の動きベク
トル(MV)を決定するステップと、
前記第1の予測Lと前記第2の予測Lとの間の差を最小化することによって、符号
化単位(CU)の動き補正(v、v)を計算するステップと、
前記第1の予測Lに対する第1の勾配値
【数1】
ならびに、前記第2の予測Lに対する第2の勾配値
【数2】
を計算するステップと、
前記第1の予測Lおよび前記第2の予測L、前記動き補正(v、v)、前記第
1の勾配値
【数3】
ならびに、前記第2の勾配値
【数4】
に基づいて、前記CUの最終的な双方向予測を計算するステップとを含む方法。
【請求項2】
(v、v)の値が、次式のように計算される、請求項1に記載の方法。
【数5】
【請求項3】
、S、S、S、およびSの値が、
【数6】
のように計算され、Ωが、前記第1の予測Lおよび前記第2の予測Lの1つのサブブ
ロックの周りの1組の隣接予測サンプルである、請求項2に記載の方法。
【請求項4】
の値が、2に等しく設定される、請求項2に記載の方法。
【請求項5】
thBDOFの値が、2に等しく設定される、請求項2に記載の方法。
【請求項6】
複数の変数ψ(i,j)、ψ(i,j)、およびθ(i,j)の計算に追加のビッ
トシフトnadjを導入するステップをさらに含み、
【数7】
である、請求項2に記載の方法。
【請求項7】
adjの値が、2に等しく設定される、請求項6に記載の方法。
【請求項8】
第1のクリッピング演算および第2のクリッピング演算を導入することによって、S
およびSの値を計算するステップをさらに含み、前記第1のクリッピング演算が、
【数8】
のように計算され、
前記第2のクリッピング演算が、
【数9】
のように計算され、
が、Sの出力ダイナミックレンジを制御するためのパラメータであり、Bが、
の出力ダイナミックレンジを制御するためのパラメータである、請求項6に記載の方
法。
【請求項9】
勾配値
【数10】
および、勾配値
【数11】
を計算するステップが、前記第1の予測の第1の予測位置および前記第2の予測の第2の
予測位置の各々で水平勾配および垂直勾配を計算するステップをさらに含む、請求項1に
記載の方法。
【請求項10】
前記水平勾配が、前記第1の予測位置および前記第2の予測位置の各々で、
【数12】
のように計算され、
前記垂直勾配が、前記第1の予測位置および前記第2の予測位置の各々で、
【数13】
のように計算される、請求項9に記載の方法。
【請求項11】
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに結合された非一時的記憶装置と、
前記非一時的記憶装置に記憶された複数のプログラムとを備え、
前記複数のプログラムが、前記1つまたは複数のプロセッサによって実行されたとき、
第1の参照ピクチャおよび第2の参照ピクチャを復号するステップであって、前記第2
の参照ピクチャが前記第1の参照ピクチャとは異なり、前記第1の参照ピクチャが現在の
ピクチャの前に表示され、前記第2の参照ピクチャが前記現在のピクチャの後に表示され
る、ステップと、
前記現在のピクチャの現在のブロックから前記第1の参照ピクチャの第1の予測L
の第1の動きベクトル(MV)を決定するステップと、
前記現在のブロックから前記第2の参照ピクチャの第2の予測Lへの第2の動きベク
トル(MV)を決定するステップと、
前記第1の予測Lと前記第2の予測Lとの間の差を最小化することによって、符号
化単位(CU)の動き補正(v、v)を計算するステップと、
前記第1の予測Lに対する第1の勾配値
【数14】
ならびに、前記第2の予測Lに対する第2の勾配値
【数15】
を計算するステップと、
前記第1の予測Lおよび前記第2の予測L、前記動き補正(v、v)、前記第
1の勾配値
【数16】
ならびに、前記第2の勾配値
【数17】
に基づいて、前記CUの最終的な双方向予測を計算するステップとを含む演算を、前記コ
ンピューティングデバイスに実行させる、コンピューティングデバイス。
【請求項12】
(v、v)の値が、次式のように計算される、請求項11に記載のコンピューティ
ングデバイス。
【数18】
【請求項13】
、S、S、S、およびSの値が、
【数19】
のように計算され、Ωが、前記第1の予測Lおよび前記第2の予測Lの1つのサブブ
ロックの周りの1組の隣接予測サンプルである、請求項12に記載のコンピューティング
デバイス。
【請求項14】
の値が、2に等しく設定される、請求項12に記載のコンピューティングデバイス
【請求項15】
thBDOFの値が、2に等しく設定される、請求項12に記載のコンピューティング
デバイス。
【請求項16】
複数の変数ψ(i,j)、ψ(i,j)、およびθ(i,j)の計算に追加のビッ
トシフトnadjを導入するステップをさらに含み、
【数20】
である、請求項12に記載のコンピューティングデバイス。
【請求項17】
adjの値が、2に等しく設定される、請求項16に記載のコンピューティングデバ
イス。
【請求項18】
第1のクリッピング演算および第2のクリッピング演算を導入することによって、S
およびSの値を計算するステップをさらに含み、前記第1のクリッピング演算が、
【数21】
のように計算され、
前記第2のクリッピング演算が、
【数22】
のように計算され、
が、Sの出力ダイナミックレンジを制御するためのパラメータであり、Bが、
の出力ダイナミックレンジを制御するためのパラメータである、請求項16に記載の
コンピューティングデバイス。
【請求項19】
勾配値
【数23】
および、勾配値
【数24】
を計算するステップが、前記第1の予測の第1の予測位置および前記第2の予測の第2の
予測位置の各々で水平勾配および垂直勾配を計算するステップをさらに含む、請求項11
に記載のコンピューティングデバイス。
【請求項20】
前記水平勾配が、前記第1の予測位置および前記第2の予測位置の各々で、
【数25】
のように計算され、
前記垂直勾配が、前記第1の予測位置および前記第2の予測位置の各々で、
【数26】
のように計算される、請求項13に記載のコンピューティングデバイス。
【請求項21】
1つまたは複数のプロセッサを有するコンピューティングデバイスによる実行のための
複数のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記複数のプ
ログラムが、前記1つまたは複数のプロセッサによって実行されたとき、
第1の参照ピクチャおよび第2の参照ピクチャを復号するステップであって、前記第2
の参照ピクチャが前記第1の参照ピクチャとは異なり、前記第1の参照ピクチャが現在の
ピクチャの前に表示され、前記第2の参照ピクチャが前記現在のピクチャの後に表示され
る、ステップと、
前記現在のピクチャの現在のブロックから前記第1の参照ピクチャの第1の予測L
の第1の動きベクトル(MV)を決定するステップと、
前記現在のブロックから前記第2の参照ピクチャの第2の予測Lへの第2の動きベク
トル(MV)を決定するステップと、
前記第1の予測Lと前記第2の予測Lとの間の差を最小化することによって、符号
化単位(CU)の動き補正(v、v)を計算するステップと、
前記第1の予測Lに対する第1の勾配値
【数27】
ならびに、前記第2の予測Lに対する第2の勾配値
【数28】
を計算するステップと、
前記第1の予測Lおよび前記第2の予測L、前記動き補正(v、v)、前記第
1の勾配値
【数29】
ならびに、前記第2の勾配値
【数30】
に基づいて、前記CUの最終的な双方向予測を計算するステップとを含む演算を、前記コ
ンピューティングデバイスに実行させる、非一時的コンピュータ可読記憶媒体。
【請求項22】
(v、v)の値が、次式のように計算される、請求項21に記載の非一時的コンピ
ュータ可読記憶媒体。
【数31】
【請求項23】
、S、S、S、およびSの値が、
【数32】
のように計算され、Ωが、前記第1の予測Lおよび前記第2の予測Lの1つのサブブ
ロックの周りの1組の隣接予測サンプルである、請求項22に記載の非一時的コンピュー
タ可読記憶媒体。
【請求項24】
複数の変数ψ(i,j)、ψ(i,j)、およびθ(i,j)の計算に追加のビッ
トシフトnadjを導入するステップをさらに含み、
【数33】
である、請求項22に記載の非一時的コンピュータ可読記憶媒体。
【請求項25】
第1のクリッピング演算および第2のクリッピング演算を導入することによって、S
およびSの値を計算するステップをさらに含み、
前記第1のクリッピング演算が、
【数34】
のように計算され、
前記第2のクリッピング演算が、
【数35】
のように計算され、
が、Sの出力ダイナミックレンジを制御するためのパラメータであり、Bが、
の出力ダイナミックレンジを制御するためのパラメータである、請求項24に記載の
非一時的コンピュータ可読記憶媒体。
【請求項26】
勾配値
【数36】
および、勾配値
【数37】
を計算するステップが、前記第1の予測の第1の予測位置および前記第2の予測の第2の
予測位置の各々で水平勾配および垂直勾配を計算するステップをさらに含む、請求項21
に記載の非一時的コンピュータ可読記憶媒体。
【請求項27】
前記水平勾配が、前記第1の予測位置および前記第2の予測位置の各々で、
【数38】
のように計算され、
前記垂直勾配が、前記第1の予測位置および前記第2の予測位置の各々で、
【数39】
のように計算される、請求項26に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年1月6日付け出願の米国仮特許出願第62/788,898号の
利益を主張する。上記出願の開示全体が、全体として参照により本明細書に組み込まれて
いる。
【0002】
本開示は、一般に、ビデオデータの符号化(たとえば、コード化および復号)に関する
。より詳細には、本開示は、ビデオ符号化のための双方向オプティカルフロー(BDOF
)処理方法を改善する方法および装置に関する。特定の例示的な実施形態では、BDOF
を使用して、現在のピクチャに対して反対の方向に生じる参照ピクチャ(たとえば、現在
のピクチャの前の表示順序を有する第1の参照ピクチャ、および現在のピクチャの後の表
示順序を有する第2の参照ピクチャ)から、ブロックが双方向に予測される方法が記載さ
れる。
【背景技術】
【0003】
本章は、本開示に関係する背景情報を提供する。本章に含まれる情報は、必ずしも従来
技術として解釈されるべきであるとは限らない。
【0004】
ビデオデータを圧縮するために、様々なビデオ符号化技法を使用することができる。ビ
デオ符号化は、1つまたは複数のビデオ符号化規格に従って実行される。たとえば、ビデ
オ符号化規格には、多用途ビデオ符号化(VVC)、共同探索試験モデル符号化(JEM
)、高効率ビデオ符号化(H.265/HEVC)、高度ビデオ符号化(H.264/A
VC)、ムービング・ピクチャ・エキスパート・グループ符号化(MPEG)などが含ま
れる。ビデオ符号化は概して、ビデオ画像またはシーケンスに存在する冗長性を利用する
予測方法(たとえば、インター予測、イントラ予測など)を利用する。ビデオ符号化技法
の重要な目標は、ビデオ品質の劣化を回避または最小化しながら、より低いビットレート
を使用する形式にビデオデータを圧縮することである。
【0005】
HEVC規格の最初のバージョンは、2013年10月に完成されたものであり、前の
世代のビデオ符号化規格H.264/MPEG AVCと比較すると、約50%のビット
レートの節約または同等の知覚品質を提供する。HEVC規格は、その前身に比べて大幅
な符号化の改善を提供するが、追加の符号化ツールによって、HEVCより優れた符号化
効率を実現することができることが証明されている。それに基づいて、VCEGおよびM
PEGはどちらも、将来のビデオ符号化の規格化に向けて、新しい符号化技術の探索作業
を開始した。2015年10月、符号化効率の実質的な強化を可能にし得る高度な技術の
重要な研究を開始するために、ITU-T VECGおよびISO/IEC MPEGに
よって、1つの共同ビデオ探索チーム(JVET)が結成された。JVETは、HEVC
試験モデル(HM)に加えていくつかの追加の符号化ツールを統合することによって、共
同探索モデル(JEM)と呼ばれる参照ソフトウェアを開発した。
【0006】
2017年10月、ITU-TおよびISO/IECは、HEVCを超えた能力を有す
るビデオ圧縮に関する共同のコール・フォー・プロポーザルズ(CfP)を発表した。2
018年4月、23件のCfP応答が受理されて第10回JVET会議で評価され、HE
VCに比べて約40%の圧縮効率の向上が実証された。そのような評価結果に基づいて、
JVETは、多用途ビデオ符号化(VVC)と呼ばれる新世代のビデオ符号化規格を開発
するための新しいプロジェクトに着手した。同月、VVC規格の参照実装を実証するため
に、VVC試験モデル(VTM)と呼ばれる1つの参照ソフトウェアコードベースが確立
された。
【発明の概要】
【0007】
本章は、本開示の概要を提供するものであり、本開示の完全な範囲または本開示のすべ
ての特徴の包括的な開示ではない。
【0008】
本開示の第1の態様によれば、1つまたは複数のプロセッサと、1つまたは複数のプロ
セッサによって実行されるべき複数のプログラムを記憶するメモリとを有するコンピュー
ティングデバイスで実行され、ビデオ符号化のための双方向オプティカルフロー(BDO
F)に対するビット幅を制御する方法は、第1の参照ピクチャおよび第2の参照ピクチャ
を復号するステップを含む。第2の参照ピクチャは、第1の参照ピクチャとは異なり、第
1の参照ピクチャは、現在のピクチャの前に表示され、第2の参照ピクチャは、現在のピ
クチャの後に表示される。現在のピクチャの現在のブロックから第1の参照ピクチャの第
1の予測Lへの第1の動きベクトル(MV)が決定される。現在のブロックから第2
の参照ピクチャの第2の予測Lへの第2の動きベクトル(MV)が決定される。現在
のピクチャから第1の参照ピクチャへの第1の時間距離(τ)が決定され、現在のピク
チャから第2の参照ピクチャへの第2の時間距離(τ)が決定される。第1の予測L
と第2の予測Lとの間の差を最小化することによって、動き補正が計算される。第1の
勾配値および第2の勾配値が計算され、第1の勾配値および第2の勾配値の内部ビット幅
を減少させるために、追加の右シフトが導入される。第1の勾配値および第2の勾配値の
和が計算され、そのビット幅を減少させるために、この和に追加の右シフトが導入される
。第1の予測サンプルLと第2の予測サンプルLとの間の差が計算され、この差の内
部ビット幅を減少させるために、第1の予測サンプルLおよび第2の予測サンプルL
に追加の右シフトが導入される。
【0009】
本開示の第2の態様によれば、コンピューティングデバイスは、1つまたは複数のプロ
セッサと、1つまたは複数のプロセッサに結合された非一時的記憶装置と、非一時的記憶
装置に記憶された複数のプログラムとを含む。複数のプログラムが1つまたは複数のプロ
セッサによって実行されたとき、コンピューティングデバイスは、第1の参照ピクチャお
よび第2の参照ピクチャを復号する。第2の参照ピクチャは、第1の参照ピクチャとは異
なり、第1の参照ピクチャは、現在のピクチャの前に表示され、第2の参照ピクチャは、
現在のピクチャの後に表示される。現在のピクチャの現在のブロックから第1の参照ピク
チャの第1の予測Lへの第1の動きベクトル(MV)が決定される。現在のブロック
から第2の参照ピクチャの第2の予測Lへの第2の動きベクトル(MV)が決定され
る。現在のピクチャから第1の参照ピクチャへの第1の時間距離(τ)が決定され、現
在のピクチャから第2の参照ピクチャへの第2の時間距離(τ)が決定される。第1の
予測Lと第2の予測Lとの間の差を最小化することによって、動き補正が計算される
。第1の勾配値および第2の勾配値が計算され、第1の勾配値および第2の勾配値の内部
ビット幅を減少させるために、追加の右シフトが導入される。第1の勾配値および第2の
勾配値の和が計算され、そのビット幅を減少させるために、この和に追加の右シフトが導
入される。第1の予測サンプルLと第2の予測サンプルLとの間の差が計算され、こ
の差の内部ビット幅を減少させるために、第1の予測サンプルLおよび第2の予測サン
プルLに追加の右シフトが導入される。
【0010】
本開示の第3の態様によれば、非一時的コンピュータ可読記憶媒体が、1つまたは複数
のプロセッサを有するコンピューティングデバイスによる実行のための複数のプログラム
を記憶する。複数のプログラムは、1つまたは複数のプロセッサによって実行されたとき
、コンピューティングデバイスに、第1の参照ピクチャおよび第2の参照ピクチャを復号
させる。第2の参照ピクチャは、第1の参照ピクチャとは異なり、第1の参照ピクチャは
、現在のピクチャの前に表示され、第2の参照ピクチャは、現在のピクチャの後に表示さ
れる。現在のピクチャの現在のブロックから第1の参照ピクチャの第1の予測Lへの第
1の動きベクトル(MV)が決定される。現在のブロックから第2の参照ピクチャの第
2の予測Lへの第2の動きベクトル(MV)が決定される。現在のピクチャから第1
の参照ピクチャへの第1の時間距離(τ)が決定され、現在のピクチャから第2の参照
ピクチャへの第2の時間距離(τ)が決定される。第1の予測Lと第2の予測L
の間の差を最小化することによって、動き補正が計算される。第1の勾配値および第2の
勾配値が計算され、第1の勾配値および第2の勾配値の内部ビット幅を減少させるために
、追加の右シフトが導入される。第1の勾配値および第2の勾配値の和が計算され、その
ビット幅を減少させるために、この和に追加の右シフトが導入される。第1の予測サンプ
ルLと第2の予測サンプルLとの間の差が計算され、この差の内部ビット幅を減少さ
せるために、第1の予測サンプルLおよび第2の予測サンプルLに追加の右シフトが
導入される。
【0011】
以下、本開示の数組の例示的な限定されない実施形態について、添付の図面とともに説
明する。関連技術の当業者であれば、本明細書に提示する例に基づいて、構造、方法、ま
たは機能の変形例を実施することができ、そのような変形例はすべて、本開示の範囲内に
含有される。矛盾が存在しない場合、必須ではないが、異なる実施形態の教示を互いに組
み合わせることもできる。
【図面の簡単な説明】
【0012】
図1図1は、双方向オプティカルフロー(BDOF)方法によって使用するのに好適な例示的なエンコーダを含む例示的な実施形態によるブロックに基づく例示的な混成ビデオコード化システムのブロック図である。
図2図2は、双方向オプティカルフロー(BDOF)方法によって使用するのに好適な例示的な実施形態による例示的なデコーダのブロック図である。
図3図3Aは、例示的な実施形態による例示的な分配タイプ、すなわち4分割を示す図であり、図3Bは、例示的な実施形態による例示的な分配タイプ、すなわち水平2分割を示す図であり、図3Cは、例示的な実施形態による例示的な分配タイプ、すなわち垂直2分割を示す図であり、図3Dは、例示的な実施形態による例示的な分配タイプ、すなわち水平3分割を示す図であり、図3Eは、例示的な実施形態による例示的な分配タイプ、すなわち垂直3分割を示す図である。
図4図4は、例示的な双方向オプティカルフロー(BDOF)モデルを示す図である。
図5図5は、例示的な実施形態によるビデオデータのブロックを予測する例示的な方法のフローチャートである。
【発明を実施するための形態】
【0013】
本開示で使用される用語は、本開示を限定することではなく、特定の例を示すことを対
象とする。他の意味が文脈に明確に包含されない限り、本開示ならびに添付の特許請求の
範囲で使用される単数形の「a」、「an」、および「the」は複数形も指す。本明細
書では、「および/または」という用語は、列挙する1つまたは複数の関連物品のあらゆ
る可能な組合せを指すことを理解されたい。
【0014】
本明細書では、様々な情報について説明するために、「第1」、「第2」、「第3」な
どの用語が使用されることがあるが、この情報は、これらの用語によって限定されるもの
ではないことを理解されたい。これらの用語は、ある情報カテゴリを別の情報カテゴリと
区別するためだけに使用される。たとえば、本開示の範囲から逸脱することなく、第1の
情報を第2の情報と呼ぶことができ、同様に第2の情報を第1の情報と呼ぶこともできる
。本明細書では、「~場合(if)」という用語は、文脈に応じて、「~とき(when
)」または「~とき(upon)」または「~に応答して(in response t
o)」を意味することが理解されよう。
【0015】
本明細書全体にわたって、単数または複数の「一実施形態」、「実施形態」、「別の実
施形態」などへの言及は、一実施形態に関連して説明する1つまたは複数の特定の特徴、
構造、または特性が、本開示の少なくとも1つの実施形態に含まれることを意味する。し
たがって、本明細書全体にわたって様々な箇所における単数または複数の「一実施形態で
は」、「実施形態では」、または「別の実施形態では」などの語句の記載は、必ずしもす
べて同じ実施形態を参照するものではない。さらに、1つまたは複数の実施形態における
特定の特徴、構造、または特性は、任意の好適な形で組み合わせることができる。
【0016】
本開示は、一般に、ビデオデータの符号化(たとえば、コード化および復号)に関する
。より詳細には、本開示は、ビデオ符号化のための双方向オプティカルフロー(BDOF
)処理方法を改善する方法および装置に関する。特定の例示的な実施形態では、BDOF
を使用して、現在のピクチャに対して反対の方向に生じる参照ピクチャ(たとえば、現在
のピクチャの前の表示順序を有する第1の参照ピクチャ、および現在のピクチャの後の表
示順序を有する第2の参照ピクチャ)から、ブロックが双方向に予測される方法が記載さ
れる。
【0017】
本明細書に記載する方法は、BDOFを改善または強化することに関する。動き補償中
にBDOFを適用することができ、BDOFは、現在のブロックに対する画素ごとに動き
ベクトルを修正するために使用され、したがって動きベクトルに適用された対応するオフ
セット値を使用して、現在のブロックの画素が予測される。例示的な実施形態では、BD
OFは、動きベクトルを使用して、現在のブロックに対して反対の予測方向における参照
ピクチャ内の参照ブロックに対する現在のピクチャのビデオデータのブロックをインター
予測するときに使用される。ビデオ符号化方法は、ビデオシーケンスに固有の冗長性を低
減または除去するための空間(イントラピクチャ)予測および/または時間(インターピ
クチャ)予測を含む。ブロックに基づくビデオ符号化の場合、ビデオスライス(たとえば
、ビデオフレームまたはビデオフレームの一部分)をビデオブロックに分割することがで
き、ビデオブロックは、ツリーブロック、符号化単位(CU)、および/または符号化ノ
ードと呼ぶこともできる。同じピクチャ内の隣接ブロックの参照サンプルに対して空間予
測を使用して、ピクチャのイントラ符号化(I)スライス内のビデオブロックをコード化
することができる。ピクチャのインター符号化(PまたはB)スライスのビデオブロック
は、同じピクチャ内の隣接ブロックの参照サンプルに対して空間予測、または他の参照ピ
クチャ内の参照サンプルに対して時間予測を使用することができる。ピクチャをフレーム
と呼ぶことができ、参照ピクチャを参照フレームと呼ぶことができる。
【0018】
空間予測または時間予測の結果、ブロックを符号化するための予測ブロックが得られる
。残差データは、符号化するべき元のブロックと予測ブロックとの間の画素差を表す。イ
ンター符号化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベ
クトルと、符号化されたブロックと予測ブロックとの間の差を示す残差データとに従って
コード化される。イントラ符号化ブロックは、イントラ符号化モードおよび残差データに
従ってコード化される。さらなる圧縮のために、残差データを画素ドメインから変換ドメ
インに変換することができ、その結果として残差変換係数が得られ、次いでこれらの残差
変換係数を量子化することができる。最初は2次元アレイで配列されていた、量子化され
た変換係数を走査して、変換係数の1次元ベクトルを生み出すことができ、エントロピー
符号化を適用して、さらなる圧縮を実現することができる。
【0019】
各々のインター予測されたブロックに対して、1組の動き情報が利用可能となり得る。
1組の動き情報は、順方向および逆方向の予測方向に対する動き情報を含むことができる
。本明細書では、順方向または第1の予測方向および逆方向または第2の予測方向は、双
方向予測モードの2つの予測方向であり、「順方向」、「第1」、「逆方向」、および「
第2」という用語は、必ずしも幾何学的な意味を有するものではない。逆に、これらの用
語は概して、参照ピクチャが現在のピクチャの前に表示されるか(「逆方向」)、それと
も現在のピクチャの後に表示されるか(「順方向」)に対応する。例示的な実施形態では
、順方向予測方向は、現在のピクチャの参照ピクチャリスト0(RefPicList0
)に対応することができ、逆方向予測方向は、参照ピクチャリスト1(RefPicLi
st1)に対応することができる。
【0020】
各予測方向に対して、動き情報は、参照索引および動きベクトルを含む。例示的な実施
形態では、参照索引は、現在の参照ピクチャリスト(RefPicList0またはRe
fPicList1)内の参照ピクチャを識別するために使用することができる。動きベ
クトルは、水平成分(x)および垂直成分(y)を有する。概して、水平成分は、参照ブ
ロックのx座標を特定するために、現在のピクチャ内の現在のブロックの位置に対する参
照ピクチャ内の水平変位を示し、垂直成分は、参照ブロックのy座標を特定するために、
現在のブロックの位置に対する参照ピクチャ内の垂直変位を示す。
【0021】
ビデオ符号化規格では、ピクチャの表示順序を識別するために、ピクチャ順序カウント
(POC)値が広く使用されている。いくつかの状況では、1つの符号化されたビデオシ
ーケンス内の2つのピクチャが同じPOC値を有することもあるが、これは典型的に、符
号化されたビデオシーケンス内では生じない。したがって、ピクチャのPOC値は概して
一意であり、したがって対応するピクチャを一意に識別することができる。1つのビット
ストリーム内に複数の符号化されたビデオシーケンスが存在するとき、同じPOC値を有
するピクチャは、復号順序に関して互いに近い可能性がある。ピクチャのPOC値は、典
型的に、参照ピクチャリストの構成、HEVCと同様の参照ピクチャセットの導出、およ
び動きベクトルのスケーリングに使用される。
【0022】
概念上、背景の章ですでに言及したものを含めて、多くのビデオ符号化規格は類似して
いる。たとえば、事実上すべてのビデオ符号化規格は、ビデオ圧縮を実現するために、ブ
ロックに基づく処理を使用し、類似のビデオ符号化ブロック図を共用する。
【0023】
HEVCと同様に、VVCは、ブロックに基づく混成ビデオ符号化の枠組みで構成され
る。図1は、例示的な実施形態による双方向オプティカルフローに対する方法を使用する
ことができる例示的なエンコーダ100を含むブロックに基づく混成ビデオコード化シス
テムのブロック図である。入力ビデオ信号は、ブロック(CU)ごとに処理される。VT
M-1.0において、CUは最大128×128画素とすることができる。しかし、4分
木のみに基づいてブロックを分割するHEVCとは異なり、VVCでは、4分木/2分木
/3分木に基づいて変動する局所的な特徴に適応するために、1つの符号化ツリー単位(
CTU)が複数のCUに分割される。加えて、HEVCにおける複数の分割単位タイプの
概念は除去され、すなわちCU、予測単位(PU)、および変換単位(TU)の分離はV
VCには存在しなくなり、代わりに各CUは常に、さらなる分割なく、予測および変換の
両方に対する基本単位として使用される。複数タイプのツリー構造では、1つのCTUが
4分木構造によって分割され、次いで各4分木の葉ノードを、2分木および3分木構造に
よってさらに分割することができる。
【0024】
図1を参照すると、エンコーダ100において、ビデオフレームが処理のために複数の
ビデオブロックに分割される。所与の各ビデオブロックに対して、インター予測手法また
はイントラ予測手法に基づいて、予測が形成される。インター予測では、以前に再構成さ
れたフレームからの画素に基づいて、動き推定および動き補償によって、1つまたは複数
の予測子が形成される。イントラ予測では、現在のフレーム内の再構成画素に基づいて、
予測子が形成される。モード決定によって、現在のブロックを予測するために最善の予測
子を選択することができる。
【0025】
現在のビデオブロックとその予測子との間の差を表す予測残差が、変換回路102へ送
られる。本明細書では、「回路」という用語は、ハードウェアおよびハードウェアを動作
させるためのソフトウェアを含む。変換回路102は、離散コサイン変換(DCT)また
は概念的に類似している変換などの変換を残差ブロックに適用し、変換係数値を含むビデ
オブロックを生み出す。DCTの代わりに、ウェーブレット変換、整数変換、サブバンド
変換、離散サイン変換(DST)、または他のタイプの変換を使用することもできる。変
換回路102は、残差ブロックに変換を適用して、1群の変換係数を生み出す。変換は、
画素ドメインからの残差情報を周波数ドメインなどの変換ドメインへ転換することができ
る。
【0026】
次いで、その結果得られる変換係数は、エントロピー低減のために変換回路102から
量子化回路104へ送られる。量子化回路104は、ビットレートをさらに低減させるた
めに、変換係数を量子化する。量子化プロセスは、これらの係数のいくつかまたはすべて
に関連するビット深さを低減させることができる。量子化度は、量子化パラメータを調整
するによって修正することができる。次いで、量子化された係数は、圧縮ビデオビットス
トリームを生成するために、エントロピー符号化回路106へ送出される。エントロピー
符号化回路106は、量子化された変換係数をエントロピー符号化する。たとえば、エン
トロピー符号化回路106は、コンテキスト適応型可変長符号化(CAVLC)、コンテ
キスト適応型2進算術符号化(CABAC)、構文に基づくコンテキスト適応型2進算術
符号化(SBAC)、確率間隔分割エントロピー(PIPE)符号化、または別のエント
ロピー符号化技法を実行することができる。コンテキストに基づくエントロピー符号化の
場合、コンテキストは隣接ブロックに基づくことができる。エントロピー符号化回路10
6によるエントロピー符号化に続いて、コード化されたビットストリームは、別のデバイ
ス(たとえば、ビデオデコーダ)へ伝送することができ、または後の伝送もしくは検索の
ために保管することができる。図1に示すように、ビデオブロック分割情報、動きベクト
ル、参照ピクチャ索引、およびイントラ予測モードなど、インター予測回路および/また
はイントラ予測回路112からの予測関係情報110がまた、エントロピー符号化回路1
06を介して送出され、圧縮ビデオビットストリーム114内へ保存される。
【0027】
エンコーダ100では、予測の目的で、画素を再構成するためにデコーダ関係回路も必
要とされる。第1に、逆量子化回路116および逆変換回路118によって、予測残差が
再構成される。この再構成された予測残差をブロック予測子120と組み合わせて、現在
のビデオブロックに対するフィルタリングされていない再構成画素を生成する。逆量子化
回路116および逆変換回路118は、逆量子化および逆変換をそれぞれ適用して、画素
ドメイン内の残差ブロックを再構成する。特定の実施形態では、加算器が、動き補償回路
122またはイントラ予測回路112によって先に生み出されている動き補償された予測
ブロックに、再構成された残差ブロックを加えて、参照ピクチャメモリ内での記憶のため
に、再構成されたビデオブロックを生み出す。再構成されたビデオブロックは、次のビデ
オフレーム内のブロックをインター符号化するために、動き推定回路124および動き補
償回路122によって、参照ブロックとして使用することができる。
【0028】
符号化効率および視覚的品質を改善するために、ループ内フィルタが一般に使用される
。たとえば、AVCおよびHEVC、ならびに現在のバージョンのVVCでは、非ブロッ
ク化フィルタが利用可能である。HEVCでは、符号化効率をさらに改善するために、S
AO(サンプル適応型オフセット)と呼ばれる追加のループ内フィルタが定義されている
。現在のバージョンのVVC規格では、最終的な規格に組み込むために、ALF(適応型
ループフィルタ)と呼ばれるさらに別のループ内フィルタが積極的に調査されている。こ
れらのループ内フィルタ演算は任意選択である。これらの演算を実行することで、符号化
効率および視覚的品質を改善する手助けをする。これらの演算はまた、計算の複雑さを省
くために、エンコーダ100によって下された決定としてオフにすることもできる。これ
らのフィルタのオプションがエンコーダ100によってオンにされた場合、イントラ予測
は通常、フィルタリングされていない再構成画素に基づくのに対して、インター予測は、
フィルタリングされた再構成画素に基づくことに留意されたい。
【0029】
図2は、双方向オプティカルフローに対する方法を使用することができる例示的なデコ
ーダ200のブロック図である。例示的な実施形態では、デコーダ200は、図1のエン
コーダ100に常駐する再構成に関係する部分に類似している。図2を参照すると、デコ
ーダ200において、第1に、入ってくるビデオビットストリーム201を、エントロピ
ー復号回路202によって復号し、量子化された係数レベルおよび予測関係情報を導出す
る。次いで、量子化された係数レベルを逆量子化回路204および逆変換回路206によ
って処理し、再構成された予測残差を得る。逆量子化回路204は、ビットストリームに
提供されてエントロピー復号回路202によって復号されている量子化された変換係数を
逆量子化、すなわち量子化解除する。逆量子化プロセスは、ビデオスライス内の各ビデオ
ブロックに対してデコーダ200によって計算される量子化パラメータQPyを使用して
、適用されるべき量子化度、および同様に逆量子化度を決定することを含むことができる
。逆変換回路206は、逆変換、たとえば逆DCT、逆整数変換、または概念的に類似し
ている逆変換プロセスを変換係数に適用して、画素ドメイン内に残差ブロックを生み出す
【0030】
イントラ/インターモードセレクタ回路208内に実装することができるブロック予測
子機構は、イントラ予測プロセスを実行するように構成されたイントラ予測回路210、
および/または復号された予測情報に基づいて動き補償プロセスを実行するように構成さ
れた動き補償回路212を含む。加算器214を使用して、逆変換回路206からの再構
成された予測残差と、ブロック予測子機構によって生成された予測出力とを加算すること
によって、1組のフィルタリングされていない再構成画素が得られる。ループ内フィルタ
216がオンにされている状況では、これらの再構成画素に対してフィルタリング演算を
実行して、出力のための最終的な再構成ビデオを導出する。
【0031】
ビデオスライスがイントラ符号化(I)スライスとして符号化されているとき、イント
ラ予測回路210が、現在のフレームまたはピクチャの以前復号されたブロックからの信
号送信されたイントラ予測モードおよびデータに基づいて、現在のビデオスライスのビデ
オブロックに対する予測データを生成することができる。ビデオフレームがインター符号
化(すなわち、B、P、またはGPB)スライスとして符号化されているとき、動き補償
回路212が、エントロピー復号回路202から受け取った動きベクトルおよび他の構文
要素に基づいて、現在のビデオスライスのビデオブロックに対する予測ブロックを生み出
す。予測ブロックは、参照ピクチャリストのうちの1つにおける参照ピクチャのうちの1
つから生み出すことができる。デコーダ200は、デフォルトの構成法を使用して、参照
ピクチャメモリ内に記憶されている参照ピクチャに基づいて、参照フレームリストLis
t0およびList1を構成することができる。
【0032】
動き補償回路212は、動きベクトルおよび他の構文要素を構文解析することによって
、現在のビデオスライスのビデオブロックに対する予測情報を決定し、この予測情報を使
用して、復号されている現在のビデオブロックに対する予測ブロックを生み出す。たとえ
ば、動き補償回路212は、ビデオスライスのビデオブロックを符号化するために使用さ
れた予測モード(たとえば、イントラ予測またはインター予測)を決定するために受け取
った構文要素、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、また
はGPBスライス)、スライスに対する参照ピクチャリストのうちの1つまたは複数に対
する構成情報、スライスのインターコード化された各ビデオブロックに対する動きベクト
ル、スライスのインター符号化された各ビデオブロックに対するインター予測状態、およ
び現在のビデオスライス内のビデオブロックを復号するための他の情報のうちのいくつか
を使用する。
【0033】
動き補償回路212はまた、画素未満の精度のための補間フィルタに基づいて、補間を
実行することができる。動き補償回路212は、ビデオブロックのコード化中にエンコー
ダ100によって使用される補間フィルタを使用して、参照ブロックの整数未満の画素に
対する補間された値を計算することができる。例示的な実施形態では、動き補償回路21
2は、受け取った構文要素から、エンコーダ100によって使用された補間フィルタを決
定し、補間フィルタを使用して予測ブロックを生み出す。動き補償回路212は、本開示
に記載する方法のいずれかまたはすべてを(単独または任意の組合せで)実行するように
構成することができる。たとえば、動き補償回路212は、本明細書に論じる例示的なB
DOF方法を実行するように構成することができる。
【0034】
例示的な実施形態では、動き補償回路212は、現在のピクチャより時間的に前の第1
の参照ピクチャ(たとえば、参照ピクチャリスト0内)と、現在のピクチャより時間的に
後の第2の参照ピクチャ(たとえば、参照ピクチャリスト1内)とを有するブロックに、
BDOFを適用するように構成される。ブロックにBDOFを適用することを決定したこ
とに応答して、動き補償回路212は、本明細書に論じる方法(たとえば、本明細書に記
載する数式に関する)を適用し、BDOFに従ってブロックを予測することができる。
【0035】
図3A図3Eは、5つの例示的な分配タイプ、すなわち4分割(図3A)、水平2分
割(図3B)、垂直2分割(図3C)、水平3分割(図3D)、および垂直3分割(図3
E)を示す。
【0036】
図1を再び参照して、空間予測および/または時間予測を実行することができる。空間
予測(または「イントラ予測」)は、同じビデオピクチャまたはスライス内のすでに符号
化された隣接ブロックのサンプル(参照サンプルと呼ばれる)からの画素を使用して、現
在のビデオブロックを予測する。空間予測は、ビデオ信号に固有の空間的冗長性を低減さ
せる。時間予測(「インター予測」または「動き補償予測」とも呼ばれる)は、すでに符
号化されたビデオピクチャからの再構成画素を使用して、現在のビデオブロックを予測す
る。時間予測は、ビデオ信号に固有の時間的冗長性を低減させる。所与のCUに対する時
間予測信号は通常、現在のCUと現在のCUの時間参照との間の動きの量および方向を示
す1つまたは複数の動きベクトル(MV)によって信号送信される。また、複数の参照ピ
クチャに対応する場合、1つの参照ピクチャ索引がさらに送られ、参照ピクチャストア内
のどの参照ピクチャから時間予測信号がくるかを識別するために使用される。空間および
/または時間予測後、エンコーダ内のモード決定ブロックが、たとえばレート歪み最適化
方法に基づいて、最善の予測モードを選ぶ。次いで、現在のビデオブロックから予測ブロ
ックを引き、変換を使用して予測残差の相関を除去し、量子化する。量子化された残差係
数を逆量子化および逆変換して、再構成された残差を形成し、次いで再び予測ブロックに
加えて、CUの再構成信号を形成する。たとえばサンプル適応型オフセット(SAO)お
よび適応型ループ内フィルタ(ALF)などの非ブロック化フィルタを使用して、さらな
るループ内のフィルタリングを再構成CUに適用することができ、その後、再構成CUは
、参照ピクチャストア内に配置され、将来のビデオブロックを符号化するために使用され
る。出力ビデオビットストリームを形成するために、符号化モード(インターまたはイン
トラ)、予測モード情報、動き情報、および量子化された残差係数をすべてエントロピー
符号化回路106へ送り、さらに圧縮およびパックして、ビットストリームを形成する。
【0037】
図4は、例示的な双方向オプティカルフロー(BDOF)モデルを示す。図4に示すよ
うに、第1の参照ブロックI内の第1の予測Lが、予測が実行されている現在のブロ
ックCurBlkから第1の時間距離τをあけて位置している。動きベクトル成分(V
,V)を有する第1の動きベクトルAが、第1の参照ブロックI内で特定される。
同様に、第2の参照ブロックI内の第2の予測Lが、現在のブロックから第2の時間
距離τをあけて位置している。動きベクトル成分(-V,-V)を有する第2の動
きベクトルBが、第2の参照ブロックI内で特定される。
【0038】
双方向オプティカルフロー:ビデオ符号化における従来の双方向予測は、すでに再構成
された参照ピクチャから得られる2つの時間予測ブロックの簡単な組合せである。しかし
、ブロックに基づく動き補償の制限により、2つの予測ブロックのサンプル間で観察され
得るわずかな動きが残ることがあり、したがって動き補償予測の効率が低減される。この
問題を解決するために、VVCでは、1つのブロック内のすべてのサンプルに対するその
ような動きの影響を減少させるために、双方向オプティカルフロー(BDOF)が適用さ
れる。より具体的には、図4に示すように、BDOFは、双方向予測が使用されるときに
ブロックに基づく動き補償予測に加えて実行されるサンプルごとの動き補正である。各4
×4サブブロックの動き補正(v,v)は、サブブロックの周りの1つの6×6の窓
Ω内でBDOFが適用された後、L予測サンプルとL予測サンプルとの間の差を最小
化することによって計算される。より具体的には、(v,v)の値は、次式のように
導出される。
【0039】
【数1】
【0040】
この式で、
【数2】
は床関数であり、clip3(min、max、x)は、[min,max]の範囲内で
所与の値xをクリッピングする関数であり、記号>>は、ビットごとの右シフト演算を表
し、記号<<は、ビットごとの左シフト演算を表し、thBDOFは、不規則な局所的動
きによる伝搬誤差を防止するための動き補正閾値であり、213-BDに等しく、ここで
、BDは、入力ビデオのビット深さである。式(1)においては、次のとおりである。
【数3】
【0041】
、S、S、S、およびSの値は、次式のように計算される。
【数4】
【0042】
この式で、Ωは、予測LおよびLの1つのサブブロックの周りの1組の隣接予測サ
ンプルであり、また、次式のとおりである。
【数5】
【0043】
この式で、I(k)(i,j)は、中程度の高い精度(すなわち、16ビット)で生成
されたリストk、k=0,1内の予測信号のサンプル位置(i,j)における予測サンプ
ルであり、
【数6】
は、その2つの隣接サンプル間の差を直接計算することによって得られるサンプルのそれ
ぞれ水平勾配および垂直勾配である。すなわち、次式のとおりである。
【数7】
【0044】
式(1)で導出された動き補正に基づいて、オプティカルフローモデルに基づいた動き
軌道に沿ってL予測およびL予測を補間することによって、CUの最終的な双方向予
測サンプルが、次式(5)に示すように計算される。
【数8】
【0045】
この式で、shiftおよびοoffsetは、双方向予測のためにL予測信号およ
びL予測信号を組み合わせるために適用される右シフト値およびオフセット値であり、
それぞれ、15-BDおよび1<<(14-BD)+2・(1<<13)に等しい。テー
ブル1は、BDOFプロセスに含まれる中間パラメータの特有のビット幅を示す。テーブ
ル1に示すように、全BDOFプロセスの内部ビット幅は、32ビットを超えない。加え
て、式(1)において、考え得る最悪の入力による乗算が、v2,mの積で生じ、入
力ビット幅は、S2,mおよびvに対してそれぞれ15ビットおよび4ビットである。
したがって、15ビットの乗算器が、BDOFにとって十分である。
【0046】
【表1】
【表2】
【0047】
BDOFは、双方向予測の効率を強化することができるが、BDOFの設計をさらに改
善する機会がある。より具体的には、中間パラメータのビット幅を制御するためのVVC
における既存のBDOF設計の以下の問題が、本開示で特定されている。
【0048】
第1に、テーブル1に示すように、パラメータθ(i,j)(すなわち、L予測とL
予測との間の差)、ならびにパラメータψ(i,j)およびψ(i,j)(すなわ
ち、LおよびLに対する水平勾配値および垂直勾配値の和)が、11ビットの同じビ
ット幅で表されている。そのような方法は、BDOFに対する内部ビット幅の全体的な制
御を容易にすることができるが、この方法は、導出される動き補正の精度に関して最適と
は言えない可能性がある。これは、式(4)に示すように、これらの勾配値が隣接予測間
の差として計算されるからである。そのようなプロセスのハイパス特性により、導出され
た勾配は、ノイズ、たとえば元のビデオに捕捉されていたノイズおよび符号化プロセス中
に生成される符号化ノイズの存在下で、信頼性が低くなる。これは、この方法が高ビット
幅で勾配値を表すのに常に有益であるとは限らないことを意味する。
【0049】
加えて、テーブル1に示すように、全BDOFプロセスの最大ビット幅の使用は、垂直
動き補正vの計算によって行われ、第1にS(27ビット)が3ビットだけ左シフト
され、次いで、((v2,m)<<12+v2,s)/2(30ビット)が減算
される。したがって、現在の設計の最大ビット幅は、31ビットに等しい。実際的なハー
ドウェア実装では、通常、16ビットより大きい最大内部ビット幅による符号化プロセス
が、32ビットの実装によって実施される。したがって、既存の設計は、32ビット実装
の有効ダイナミックレンジを完全に利用しない。これは、BDOFによって導出される動
き補正の不必要な精度損失を招く可能性がある。
【0050】
図5に示す例示的な方法など、例示的な実施形態では、例示的なビット幅制御方法が、
従来のBDOF設計に対するビット幅制御方法の上記の問題に対処する。
【0051】
第1に、勾配推定誤差の負の影響を克服するために、例示的な実施形態では、式(4)
における次の勾配値
【数9】
を計算するとき、すなわち勾配値の内部ビット幅を減少させるために、追加の右シフトn
gradが導入される。より具体的には、次の第1の予測位置
【数10】
における第1の勾配値、すなわち水平勾配および垂直勾配、ならびに、次の第2の予測位

【数11】
における第2の勾配値、すなわち水平勾配および垂直勾配は、次式のように計算される。
【数12】
【0052】
さらに、BDOFプロセスが適当な内部ビット幅で演算するようにBDOFプロセス全
体を制御するために、変数ψ(i,j)、ψ(i,j)、およびθ(i,j)の計算
に追加のビットシフトnadjが、次に示すように導入される。
【数13】
【0053】
以下のテーブル2は、例示的なビット幅制御方法がBDOFに適用されるときの各中間
パラメータの対応するビット幅を示す。テーブル2は、VVCにおける従来のBDOF設
計と比較して、例示的なビット幅制御方法で適用される変化を示す。テーブル2に見るこ
とができるように、例示的なビット幅制御方法を用いると、全BDOFプロセスの内部ビ
ット幅は、32ビットを超えない。加えて、この例示的な方法によって、最大ビット幅は
ちょうど32ビットになり、これは、32ビットのハードウェア実装の利用可能なダイナ
ミックレンジを完全に利用することができる。さらに、テーブル2に示すように、考え得
る最悪の入力による乗算が、v2,mの積で生じ、入力S2,mは14ビットであり
、入力vは6ビットである。したがって、従来のBDOF方法と同様に、例示的な方法
が適用されるときも、1つの16ビット乗算器は十分に大きい。
【0054】
テーブル2を参照すると、式(6)および式(7)で適用される右シフトされるビット
の数に対する修正により、テーブル1に示す従来のBDOF方法と比較して、パラメータ
ψ(i,j)、ψ(i,j)、およびθ(i,j)のダイナミックレンジが異なり、
3つのパラメータは、同じダイナミックレンジ(すなわち、21ビット)で表される。そ
のような変化は、内部パラメータS、S、S、S、およびSのビット幅を増大
させることができ、したがって場合により、内部BDOFプロセスの最大ビット幅を32
ビットより大きく増大させることができる。したがって、32ビット実装を確実にするた
めに、SおよびSの値を計算する際に、2つの追加のクリッピング演算が導入される
。より具体的には、例示的な方法において、2つのパラメータの値が、次に示すように計
算される。
【数14】
【0055】
この式で、BおよびBは、それぞれSおよびSの出力ダイナミックレンジを制
御するためのパラメータである。勾配計算とは異なり、式(8)のクリッピング演算は、
1つのBDOFのCU内の各4×4サブブロックの動き補正を計算するために1度だけ適
用され、すなわち4×4単位で呼び出されることに留意されたい。したがって、提案する
方法で導入されるクリッピング演算による対応する複雑さの増大は、非常にわずかである
【0056】
例示的な実施形態では、CUの最終的な双方向予測は、第1の予測Lおよび第2の予
測L、動き補正(v,v)、ならびに、次の第1の勾配値
【数15】
と、次の第2の勾配値
【数16】
とに基づいて計算される。実際には、中間ビット幅と内部BDOF導出の精度との間で異
なるトレードオフを実現するために、ngrad、nadj、B、およびBの異なる
値を適用することもできる。1つの例示的な実施形態では、ngradおよびnadj
2に設定され、Bは25に設定され、Bは27に設定される。特定の例示的な実施形
態では、たとえば、nの値は2に等しく設定され、かつ/またはthBDOFは2に等
しく設定される(式(1)参照)。
【0057】
【表3】
【表4】
【0058】
図5は、例示的な実施形態によるビデオデータのブロックを予測する例示的な方法30
0に対するフローチャートである。図5に示す方法について、図1のエンコーダ100お
よび/または図2のデコーダ200に関して説明する。しかし、他の例では、図5に示す
方法を実行するように、他のデバイスを構成することもできる。
【0059】
例示的な実施形態では、エンコーダ100が最初に、参照ピクチャメモリ内に記憶され
ているピクチャをコード化し、次いで参照ピクチャとして使用するために復号するが、こ
れらのステップは、図5の例示的な方法には示されていない。次いで、エンコーダ100
は、ビデオデータのブロックを受け取る。ブロックは、たとえば、ビデオデータの現在の
ピクチャ(またはピクチャのスライス)の符号化単位(CU)の予測単位(PU)とする
ことができる。エンコーダ100は、イントラ予測またはインター予測など、様々な予測
モードのうちのどのブロックを予測するために使用するかどうかを判定し、インター予測
が判定された場合、単方向インター予測を使用するか、それとも双方向インター予測を使
用するかどうかを判定することができる。図5の例示的な方法では、エンコーダ100は
、双方向予測を使用してブロックを予測すると判定する。たとえば、エンコーダ100は
、様々な可能な予測モード(たとえば、1つまたは複数のイントラ予測モード、および参
照ピクチャメモリ内に記憶されている様々な復号された参照ピクチャからの単方向または
双方向予測)に対するレート歪みメトリクスを計算し、双方向予測がそのブロックに対し
て最善のレート歪みメトリクスを与えると判定することができる。
【0060】
エンコーダ100、たとえば動き推定回路124は、双方向予測によって、そのブロッ
クに対する動きベクトルをさらに計算することができる。そのような動きベクトルは、現
在のピクチャの前に表示されるべき第1の参照ピクチャと、現在のピクチャの後に表示さ
れるべき第2の参照ピクチャとを指すことができる。たとえば、第1の参照ピクチャは、
参照ピクチャリスト0(RefPicList0)内で生じることができ、第2の参照ピ
クチャは、参照ピクチャリスト1(RefPicList1)内で生じることができる。
【0061】
一実施形態では、エンコーダ100は、第1の動きベクトル(MV)が第1の時間距
離τで参照する現在のピクチャに対するPOC値と第1の参照ピクチャに対するPOC
値との間の第1のPOC差と、第2の動きベクトル(MV)が第2の時間距離τで参
照する現在のピクチャに対するPOC値と第2の参照ピクチャに対するPOC値との間の
第2のPOC差とを決定する。MVおよびMVは、それぞれのx成分およびy成分を
含むことができる。たとえば、MVは、MVx0およびMVy0成分を含むことができ
、ここでMVx0は、第1の参照ピクチャ内の参照ブロックを特定する位置を決定するよ
うに、現在のピクチャ内のブロックの位置に対する水平オフセットを示し、MVy0は、
垂直オフセットを示す。同様に、MVは、MVx1およびMVy1成分を含むことがで
き、ここでMVx1は、第2の参照ピクチャ内の参照ブロックを特定する位置を決定する
ように、現在のピクチャ内のブロックの位置に対する水平オフセットを示し、MVy1
、垂直オフセットを示す。
【0062】
例示的な実施形態では、第1の参照ピクチャおよび第2の参照ピクチャが復号される(
302)。第2の参照ピクチャは、第1の参照ピクチャとは異なり、第1の参照ピクチャ
は、現在のピクチャの前に表示され、第2の参照ピクチャは、現在のピクチャの後に表示
される。例示的な実施形態では、現在のピクチャの現在のブロックから第1の参照ピクチ
ャの第1の予測Lへの第1の動きベクトル(MV)が決定され(304)、現在のブ
ロックから第2の参照ピクチャの第2の予測Lへの第2の動きベクトル(MV)が決
定される(306)。特定の例示的な実施形態では、現在のピクチャから第1の参照ピク
チャへの第1の時間距離(τ)における現在のピクチャの現在のブロックから第1の参
照ピクチャの第1の予測Lへの第1の動きベクトル(MV)が決定され、現在のピク
チャから第2の参照ピクチャへの第2の時間距離(τ)における現在のブロックから第
2の参照ピクチャの第2の予測Lへの第2の動きベクトル(MV)が決定される。
【0063】
次いで、エンコーダ100は、これらの値を使用して、第1の予測Lと第2の予測L
との間の差を最小化することによって、符号化単位(CU)の動き補正(v,v
を計算する(308)。例示的な実施形態では、第1の予測Lに対する次の第1の勾配

【数17】
ならびに、第2の予測Lに対する次の第2の勾配値
【数18】
が計算される(310)。例示的な実施形態では、次いで、式(6)に示すように、追加
の右シフトngradを導入して第1の勾配値および第2の勾配値の内部ビット幅を減少
させることによって、第1の勾配値および第2の勾配値を計算することができる。例示的
な実施形態では、第1の勾配値および第2の勾配値を計算するステップ(310)は、第
1の予測の第1の予測位置および第2の予測の第2の予測位置の各々で水平勾配および垂
直勾配を計算するステップを含む。式(6)を参照すると、水平勾配は、第1の予測位置
および第2の予測位置の各々で計算され、垂直勾配は、第1の予測位置および第2の予測
位置の各々で計算される。
【0064】
例示的な実施形態では、(v,v)の値は、式(1)を使用して計算され、式(7
)に示すように、S、S、S、S、およびSの値を計算するために、追加のビ
ットシフトnadjが、複数の変数ψ(i,j)、ψ(i,j)、およびθ(i,j
)の計算に導入される。たとえば、SおよびSの値は、式(8)を使用して計算され
る。例示的な実施形態では、SおよびS値は、式(8)に示すように、第1のクリッ
ピング演算および第2のクリッピング演算を導入することによって計算され、ここで、B
は、Sの出力ダイナミックレンジを制御するためのパラメータであり、Bは、S
の出力ダイナミックレンジを制御するためのパラメータである。次いで、第1の予測L
および第2の予測L、動き補正(v、v)、次の第1の勾配値
【数19】
ならびに、次の第2の勾配値
【数20】
に基づいて、CUの最終的な双方向予測を計算することができる(312)。特定の例示
的な実施形態では、次いで、式(5)に示すように、動き軌道に沿って第1の予測L
よび/または第2の予測Lを補間することによって、動き補正に基づいて、CUの最終
的な双方向予測サンプルを計算することができる。例示的な実施形態では、第1の勾配値
および第2の勾配値の和が計算され、そのビット幅を減少させるために、この和に追加の
右シフトが導入される。第1の予測サンプルLと第2の予測サンプルLとの間の差が
計算され、この差の内部ビット幅を減少させるために、第1の予測サンプルLおよび第
2の予測サンプルLに追加の右シフトが導入される。
【0065】
図5に示す例示的な方法は、ビデオデータをコード化する方法の一例を表し、この方法
は、第1の参照ピクチャおよび第2の参照ピクチャを復号するステップであって、第2の
参照ピクチャが第1の参照ピクチャとは異なり第1の参照ピクチャが現在のピクチャの前
に表示され、第2の参照ピクチャが現在のピクチャの後に表示される、ステップと、現在
のピクチャの現在のブロックから第1の参照ピクチャの第1の参照ブロックへの第1の動
きベクトル(MV)を決定するステップと、現在のブロックから第2の参照ピクチャの
第2の参照ブロックへの第2の動きベクトル(MV)を決定するステップと、双方向オ
プティカルフロー(BDOF)に従って現在のブロックをコード化するステップとを含む
【0066】
1つまたは複数の例では、記載の機能は、ハードウェア、ソフトウェア、ファームウェ
ア、またはこれらの任意の組合せで実施することができる。ソフトウェアで実施された場
合、これらの機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体
に記憶し、またはコンピュータ可読媒体を介して伝送することができ、ハードウェアに基
づく処理単位によって実行することができる。コンピュータ可読媒体は、データ記憶媒体
などの有形の媒体に対応するコンピュータ可読記憶媒体、またはたとえば通信プロトコル
に従った1つの場所から別の場所へのコンピュータプログラムの伝達を容易にする任意の
媒体を含む通信媒体を含むことができる。このようにして、コンピュータ可読媒体は、概
して、(1)非一時的な有形のコンピュータ可読記憶媒体、または(2)信号もしくは搬
送波などの通信媒体に対応することができる。データ記憶媒体は、本出願に記載する実装
例の実装のために命令、コード、および/またはデータ構造を取り出すために、1つもし
くは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスすること
ができる利用可能な任意の媒体とすることができる。コンピュータプログラム製品は、コ
ンピュータ可読媒体を含むことができる。
【0067】
さらに、上記の方法は、1つまたは複数の回路を含む装置を使用して実施することがで
き、そのような回路には、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ
(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブル論理デバイス(P
LD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラ、マイクロ
コントローラ、マイクロプロセッサ、または他の電子構成要素が含まれる。この装置は、
上述した方法を実行するために、他のハードウェアまたはソフトウェア構成要素と組み合
わせて、これらの回路を使用することができる。上記で開示した各モジュール、サブモジ
ュール、ユニット、またはサブユニットは、1つまたは複数の回路を少なくとも部分的に
使用して実施することができる。
【0068】
本発明の他の実施形態は、本明細書の考察および上記で開示した本発明の実施から、当
業者には明らかになる。本出願は、本発明の一般原理に準拠し、当技術分野で周知または
通例の慣行範囲に入る本開示からの逸脱を含めて、本発明のあらゆる変形例、使用例、ま
たは適用例を包含することが意図される。本明細書および例は、例示としてのみ考慮され
るべきであり、本発明の本当の範囲および精神は、以下の特許請求の範囲によって示され
ることが意図される。
【0069】
本発明は、上記に説明および添付の図面に図示した厳密な例に限定されるものではなく
、本発明の範囲から逸脱することなく、様々な修正および変更を加えることができること
が理解されよう。本発明の範囲は、添付の特許請求の範囲によってのみ限定されることが
意図される。
図1
図2
図3
図4
図5
【手続補正書】
【提出日】2024-09-06
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
デオを復号するための方法であって
現在のピクチャの現在のブロックについて、第1の参照ピクチャに対応する第1の予測を決定するステップであって、前記第1の参照ピクチャが前記現在のピクチャの前に表示される、ステップと、
前記現在のブロックについて、第2の参照ピクチャに対応する第2の予測を決定するステップであって、前記第2の参照ピクチャが前記現在のピクチャの後に表示される、ステップ
前記第1の予測に対する第1の勾配値前記第2の予測に対する第2の勾配値を計算するステップと、
前記第1の予測と前記第2の予測との間の差を最小化することによって、前記現在のブロックの各サブブロックのそれぞれの動き補正を計算するステップであって、前記差の計算のために、固定値4の第1の右シフトにより前記第1予測および前記第2の予測を右シフトする、ステップと、
前記第1の予測前記第2の予測、それぞれの動き補正前記第1の勾配値および前記第2の勾配値に基づいて、前記現在のブロックの最終的な双方向予測を計算するステップと
を含み、
前記それぞれの動き補正は、水平方向の動き補正および垂直方向の動き補正を含み、
前記第1の予測と前記第2予測とオフセット値とそれぞれの値との和が算出され、前記現在のブロックの最終的な双方向予測の計算のために、前記第1の予測と前記第2予測と前記オフセット値と前記それぞれの値との当該和が、当該ビデオのビット深さに応じた第2の右シフトにより右シフトされ、
前記それぞれの値は、前記第2の勾配値と前記第1の勾配値との間の差分に前記水平方向の動き補正を乗算した値と、前記第2の勾配値と前記第1の勾配値との間の差分に前記垂直方向の動き補正を乗算した値とに基づいて計算される、方法。
【請求項2】
前記第1の予測と前記第2の予測との間の差を最小化することによって、前記現在のブロックの各サブブロックのそれぞれの動き補正を計算するステップは、
第1の水平勾配と第2の水平勾配とを加算することにより水平方向の和を計算するとともに、第1の垂直勾配と第2の垂直勾配と加算することにより垂直方向の和を計算するステップであって、前記水平方向の和および前記垂直方向の和の各々のビット幅を減少させるために、前記水平方向の和および前記垂直方向の和に第1の右シフト値が導入される、ステップと、
前記水平方向の和および前記垂直方向の和に基づいて前記現在のブロックの各サブブロックのそれぞれの動き補正を計算するステップと
を含む、請求項1に記載の方法。
【請求項3】
前記第1の予測に対する前記第1の勾配値の計算と前記第2予測に対する前記第2の勾配値の計算とに第2の右シフト値が導入される、請求項に記載の方法。
【請求項4】
前記第1の予測と前記第2の予測との間の差を最小化することによって、前記現在のブロックの各サブブロックのそれぞれの動き補正を計算するステップは、前記それぞれの動き補正における前記水平方向の動き補正および前記垂直方向の動き補正を、[-th BDOF ,th BDOF ]の範囲内にクリッピングするステップを含み、th BDOF は、動き補正閾値である、請求項に記載の方法。
【請求項5】
前記第1の予測と前記第2の予測との間の当該差の計算に第3の右シフト値が導入される、請求項に記載の方法。
【請求項6】
前記第1の予測に対する前記第1の勾配値および前記第2の予測に対する前記第2の勾配値を計算するステップが、前記第1の予測の第1の予測位置および前記第2の予測の第2の予測位置の各々で水平勾配および垂直勾配を計算するステップをさらに含む、請求項1に記載の方法。
【請求項7】
前記現在のブロックの最終的な双方向予測を計算するステップは、さらに前記第1の予測および前記第2の予測を組み合わせるための第4の右シフト値に基づいて、前記現在のブロックの当該最終的な双方向予測を計算するステップを含む、請求項1に記載の方法。
【請求項8】
前記第4の右シフト値は追加の右シフト値を含み、前記追加の右シフト値が、復号用のビデオのビット深さに等しくなるように設定されている、請求項7に記載の方法。
【請求項9】
前記第1の予測が、前記現在のブロックから前記第1の参照ピクチャへの第1の動きベクトルに基づいて決定され、前記第2の予測が、前記現在のブロックから前記第2の参照ピクチャへの第2の動きベクトルに基づいて決定される、請求項1に記載の方法。
【請求項10】
ビデオを復号するためのコンピューティングデバイスであって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに結合された非一時的記憶装置と、
前記非一時的記憶装置に記憶された複数のプログラムとを備え、
前記複数のプログラムが、前記1つまたは複数のプロセッサによって実行されると、ビットストリームに対して請求項1から9のうちのいずれか1項に記載の方法を前記コンピューティングデバイスに実行させる、コンピューティングデバイス。
【請求項11】
コンピュータで実行可能な命令とビットストリームとを記憶するための非一時的コンピュータ可読記憶媒体であって、前記コンピュータで実行可能な命令、1つまたは複数のプロセッサによって実行されたとき、前記ビットストリームに対して請求項1から9のうちのいずれか1項に記載の方法を前記1つまたは複数のプロセッサに実行させる、非一時的コンピュータ可読記憶媒体。
【請求項12】
ビデオ復号方法によって用いられるビットストリームを記憶するための方法であって、前記ビデオ復号方法が、
現在のピクチャの現在のブロックについて、第1の参照ピクチャに対応する第1の予測を決定するステップであって、前記第1の参照ピクチャが前記現在のピクチャの前に表示される、ステップと、
前記現在のブロックについて、第2の参照ピクチャに対応する第2の予測を決定するステップであって、前記第2の参照ピクチャが前記現在のピクチャの後に表示される、ステップと、
前記第1の予測に対する第1の勾配値と前記第2の予測に対する第2の勾配値とを計算するステップと、
前記第1の予測と前記第2の予測との間の差を最小化することによって、前記現在のブロックの各サブブロックのそれぞれの動き補正を計算するステップであって、前記差の計算のために、固定値4の第1の右シフトにより前記第1予測および前記第2の予測を右シフトする、ステップと、
前記第1の予測、前記第2の予測、それぞれの動き補正、前記第1の勾配値および前記第2の勾配値に基づいて、前記現在のブロックの最終的な双方向予測を計算するステップと
を含み、
前記それぞれの動き補正は、水平方向の動き補正および垂直方向の動き補正を含み、
前記第1の予測と前記第2予測とオフセット値とそれぞれの値との和が算出され、前記現在のブロックの最終的な双方向予測の計算のために、前記第1の予測と前記第2予測と前記オフセット値と前記それぞれの値との当該和が、当該ビデオのビット深さに応じた第2の右シフトにより右シフトされ、
前記それぞれの値は、前記第2の勾配値と前記第1の勾配値との間の差分に前記水平方向の動き補正を乗算した値と、前記第2の勾配値と前記第1の勾配値との間の差分に前記垂直方向の動き補正を乗算した値とに基づいて計算される、方法。
【請求項13】
複数の命令を含むコンピュータプログラムであって、前記複数の命令は、コンピュータによって実行されると、請求項1から9のうちのいずれか1項に記載の方法をコンピュータに実行させる、コンピュータプログラム。
【外国語明細書】