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

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

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

特許7554249双方向オプティカルフローに対するビット幅制御
<>
  • 特許-双方向オプティカルフローに対するビット幅制御 図1
  • 特許-双方向オプティカルフローに対するビット幅制御 図2
  • 特許-双方向オプティカルフローに対するビット幅制御 図3
  • 特許-双方向オプティカルフローに対するビット幅制御 図4
  • 特許-双方向オプティカルフローに対するビット幅制御 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-10
(45)【発行日】2024-09-19
(54)【発明の名称】双方向オプティカルフローに対するビット幅制御
(51)【国際特許分類】
   H04N 19/577 20140101AFI20240911BHJP
【FI】
H04N19/577
【請求項の数】 13
【外国語出願】
(21)【出願番号】P 2022201624
(22)【出願日】2022-12-16
(62)【分割の表示】P 2021539434の分割
【原出願日】2020-01-06
(65)【公開番号】P2023030062
(43)【公開日】2023-03-07
【審査請求日】2022-12-16
(31)【優先権主張番号】62/788,898
(32)【優先日】2019-01-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521024075
【氏名又は名称】ベイジン・ダジア・インターネット・インフォメーション・テクノロジー・カンパニー,リミテッド
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【氏名又は名称】鳥居 健一
(74)【代理人】
【識別番号】100201743
【弁理士】
【氏名又は名称】井上 和真
(72)【発明者】
【氏名】シウ,シヤオユー
(72)【発明者】
【氏名】チェン,イー-ウエン
(72)【発明者】
【氏名】ワーン,シアーンリン
【審査官】坂東 大五郎
(56)【参考文献】
【文献】Jianle Chen et al.,Algorithm description for Versatile Video Coding and Test Model 3 (VTM 3),Joint Video Experts Team (JVET),2018年12月24日,pp.30-32,[JVET-L1002-v1] (version 2)
【文献】Takeshi Chujoh et al.,Non-CE9: An improvement of BDOF,Joint Video Experts Team (JVET),2019年01月05日,[JVET-M0063-v2] (version 2)
【文献】Xiaoyu Xiu et al.,CE9-related: Complexity reduction and bit-width control for bi-directional optical flow (BIO),Joint Video Experts Team (JVET),2018年10月08日,[JVET-L0256_v2] (version 3)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
ビデオを符号化する方法であって、
現在のピクチャについて、第1の参照ピクチャおよび第2の参照ピクチャを取得するステップであって、前記第2の参照ピクチャが前記第1の参照ピクチャとは異なり、前記第1の参照ピクチャが前記現在のピクチャの前に表示され、前記第2の参照ピクチャが前記現在のピクチャの後に表示される、ステップと、
前記現在のピクチャの現在のブロックについて、前記第1の参照ピクチャに対応する第1の予測Lを決定するステップと、
前記現在のブロックについて、前記第2の参照ピクチャに対応する第2の予測Lを決定するステップと、
前記第1の予測Lと前記第2の予測Lとの間の差を最小化することによって、前記現在のブロックにおける各サブブロックのそれぞれの動き補正(v、v)を計算するステップであって、前記差の計算のため固定値4を右シフト量とする第1の右シフトにより前記第1の予測L および前記第2の予測L を右シフトする、ステップと、
(0)(i,j)が、前記第1の予測Lのサンプル位置(i,j)での予測サンプルであり、I(1)(i,j)が、前記第2の予測Lのサンプル位置(i,j)での予測サンプルであるとき、前記第1の予測Lに対する第1の勾配値
【数1】
ならびに、前記第2の予測Lに対する第2の勾配値
【数2】
を計算するステップと、
前記第1の予測L、前記第2の予測L、それぞれの動き補正(v、v)、前記第1の勾配値
【数3】
、ならびに、前記第2の勾配値
【数4】
に基づいて、前記現在のブロックの最終的な双方向予測を計算するステップ
を含み
前記第1の予測L と前記第2の予測L とオフセット値とそれぞれの値との和が算出され、前記現在のブロックの前記最終的な双方向予測の計算のために、当該ビデオのビット深さに応じた第2の右シフトにより前記第1の予測L と前記第2の予測L と前記オフセット値と前記それぞれの値との当該和が右シフトされ、
前記それぞれの値は、
前記第2の勾配値
【数5】
と前記第1の勾配値
【数6】
との間の差分に前記動き補正v を乗算した値と、
前記第2の勾配値
【数7】
と前記第1の勾配値
【数8】
との間の差分に前記動き補正v を乗算した値と
に基づいて計算される、方法。
【請求項2】
(v、v)の値が、次式のように計算され、
【数9】
前記式において、
の値が、前記第1の予測Lおよび前記第2の予測Lの各々におけるそれぞれのサブブロックの周りの1組の予測サンプルに関してψ(i,j)により計算された和であり、
の値が、前記1組の予測サンプルに関してψ(i,j)およびψ(i,j)により計算された和であり、
の値が、前記1組の予測サンプルに関してθ(i,j)およびψ(i,j)により計算された和であり、
の値が、前記1組の予測サンプルに関してψ(i,j)により計算された和であり、
の値が、前記1組の予測サンプルに関してθ(i,j)およびψ(i,j)により計算された和であり、
ψ(i,j),ψ(i,j)およびθ(i,j)は、相関パラメータであり、
ψ(i,j)は、前記第1の予測Lの第1の水平勾配値および前記第2の予測Lの第2の水平勾配値に基づいて計算され、
ψ(i,j)は、前記第1の予測Lの第1の垂直勾配値および前記第2の予測Lの第2の垂直勾配値に基づいて計算され、
θ(i,j)は、前記第1の予測Lおよび前記第2の予測Lに基づいて計算される、請求項1に記載の方法。
【請求項3】
の値が、2に等しく設定される、請求項2に記載の方法。
【請求項4】
ψ(i,j)およびψ(i,j)の計算に追加のビットシフトnadjを導入するステップをさらに含み、
【数10】
である、請求項2に記載の方法。
【請求項5】
adjの値が、2に等しく設定される、請求項4に記載の方法。
【請求項6】
前記Sの値が、前記1組の予測サンプルに関するψ(i,j)・ψ(i,j)に基づいて計算され、前記Sの値が、前記1組の予測サンプルに関するθ(i,j)・ψ(i,j)に基づいて計算される、請求項4に記載の方法。
【請求項7】
勾配値
【数11】
および、勾配値
【数12】
を計算するステップが、前記第1の予測Lの第1の予測位置および前記第2の予測Lの第2の予測位置の各々で水平勾配および垂直勾配を計算するステップをさらに含む、請求項1に記載の方法。
【請求項8】
前記水平勾配が、前記第1の予測位置および前記第2の予測位置の各々で、
【数13】
のように計算され、
前記垂直勾配が、前記第1の予測位置および前記第2の予測位置の各々で、
【数14】
のように計算され、ngradは追加の右シフトである、請求項7に記載の方法。
【請求項9】
前記現在のブロックの最終的な双方向予測を計算する当該ステップは、さらに前記第1の予測Lおよび前記第2の予測Lを組み合わせるためのオフセット値οoffsetに基づいて、前記現在のブロックの当該最終的な双方向予測を計算するステップを含む、請求項1に記載の方法。
【請求項10】
前記第1の予測Lが、前記現在のブロックから前記第1の参照ピクチャへの第1の動きベクトル(MV)に基づいて決定され、前記第2の予測Lが、前記現在のブロックから前記第2の参照ピクチャへの第2の動きベクトル(MV)に基づいて決定される、請求項1に記載の方法。
【請求項11】
ビデオを符号化するコンピューティングデバイスであって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに結合された非一時的記憶装置と、
前記非一時的記憶装置に記憶された複数のプログラムとを備え、
前記複数のプログラムが、前記1つまたは複数のプロセッサによって実行されたとき、請求項1から10のうちのいずれか1項に記載の方法を前記コンピューティングデバイスに実行させる、コンピューティングデバイス。
【請求項12】
1つまたは複数のプロセッサを有するコンピューティングデバイスによる実行のための複数のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記複数のプログラムが、前記1つまたは複数のプロセッサによって実行されたとき、請求項1から10のうちのいずれか1項に記載の方法を前記コンピューティングデバイスに実行させる、非一時的コンピュータ可読記憶媒体。
【請求項13】
コンピュータによって実行されると、請求項1から10のうちのいずれか1項に記載の方法をコンピュータに実施させる命令を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2019年1月6日付け出願の米国仮特許出願第62/788,898号の利益を主張する。上記出願の開示全体が、全体として参照により本明細書に組み込まれている。
【0002】
本開示は、一般に、ビデオデータの符号化(たとえば、コード化および復号)に関する。より詳細には、本開示は、ビデオ符号化のための双方向オプティカルフロー(BDOF)処理方法を改善する方法および装置に関する。特定の例示的な実施形態では、BDOFを使用して、現在のピクチャに対して反対の方向に生じる参照ピクチャ(たとえば、現在のピクチャの前の表示順序を有する第1の参照ピクチャ、および現在のピクチャの後の表示順序を有する第2の参照ピクチャ)から、ブロックが双方向に予測される方法が記載される。
【背景技術】
【0003】
本章は、本開示に関係する背景情報を提供する。本章に含まれる情報は、必ずしも従来技術として解釈されるべきであるとは限らない。
【0004】
ビデオデータを圧縮するために、様々なビデオ符号化技法を使用することができる。ビデオ符号化は、1つまたは複数のビデオ符号化規格に従って実行される。たとえば、ビデオ符号化規格には、多用途ビデオ符号化(VVC)、共同探索試験モデル符号化(JEM)、高効率ビデオ符号化(H.265/HEVC)、高度ビデオ符号化(H.264/AVC)、ムービング・ピクチャ・エキスパート・グループ符号化(MPEG)などが含まれる。ビデオ符号化は概して、ビデオ画像またはシーケンスに存在する冗長性を利用する予測方法(たとえば、インター予測、イントラ予測など)を利用する。ビデオ符号化技法の重要な目標は、ビデオ品質の劣化を回避または最小化しながら、より低いビットレートを使用する形式にビデオデータを圧縮することである。
【0005】
HEVC規格の最初のバージョンは、2013年10月に完成されたものであり、前の世代のビデオ符号化規格H.264/MPEG AVCと比較すると、約50%のビットレートの節約または同等の知覚品質を提供する。HEVC規格は、その前身に比べて大幅な符号化の改善を提供するが、追加の符号化ツールによって、HEVCより優れた符号化効率を実現することができることが証明されている。それに基づいて、VCEGおよびMPEGはどちらも、将来のビデオ符号化の規格化に向けて、新しい符号化技術の探索作業を開始した。2015年10月、符号化効率の実質的な強化を可能にし得る高度な技術の重要な研究を開始するために、ITU-T VECGおよびISO/IEC MPEGによって、1つの共同ビデオ探索チーム(JVET)が結成された。JVETは、HEVC試験モデル(HM)に加えていくつかの追加の符号化ツールを統合することによって、共同探索モデル(JEM)と呼ばれる参照ソフトウェアを開発した。
【0006】
2017年10月、ITU-TおよびISO/IECは、HEVCを超えた能力を有するビデオ圧縮に関する共同のコール・フォー・プロポーザルズ(CfP)を発表した。2018年4月、23件のCfP応答が受理されて第10回JVET会議で評価され、HEVCに比べて約40%の圧縮効率の向上が実証された。そのような評価結果に基づいて、JVETは、多用途ビデオ符号化(VVC)と呼ばれる新世代のビデオ符号化規格を開発するための新しいプロジェクトに着手した。同月、VVC規格の参照実装を実証するために、VVC試験モデル(VTM)と呼ばれる1つの参照ソフトウェアコードベースが確立された。
【発明の概要】
【0007】
本章は、本開示の概要を提供するものであり、本開示の完全な範囲または本開示のすべての特徴の包括的な開示ではない。
【0008】
本開示の第1の態様によれば、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されるべき複数のプログラムを記憶するメモリとを有するコンピューティングデバイスで実行され、ビデオ符号化のための双方向オプティカルフロー(BDOF)に対するビット幅を制御する方法は、第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 to)」を意味することが理解されよう。
【0015】
本明細書全体にわたって、単数または複数の「一実施形態」、「実施形態」、「別の実施形態」などへの言及は、一実施形態に関連して説明する1つまたは複数の特定の特徴、構造、または特性が、本開示の少なくとも1つの実施形態に含まれることを意味する。したがって、本明細書全体にわたって様々な箇所における単数または複数の「一実施形態では」、「実施形態では」、または「別の実施形態では」などの語句の記載は、必ずしもすべて同じ実施形態を参照するものではない。さらに、1つまたは複数の実施形態における特定の特徴、構造、または特性は、任意の好適な形で組み合わせることができる。
【0016】
本開示は、一般に、ビデオデータの符号化(たとえば、コード化および復号)に関する。より詳細には、本開示は、ビデオ符号化のための双方向オプティカルフロー(BDOF)処理方法を改善する方法および装置に関する。特定の例示的な実施形態では、BDOFを使用して、現在のピクチャに対して反対の方向に生じる参照ピクチャ(たとえば、現在のピクチャの前の表示順序を有する第1の参照ピクチャ、および現在のピクチャの後の表示順序を有する第2の参照ピクチャ)から、ブロックが双方向に予測される方法が記載される。
【0017】
本明細書に記載する方法は、BDOFを改善または強化することに関する。動き補償中にBDOFを適用することができ、BDOFは、現在のブロックに対する画素ごとに動きベクトルを修正するために使用され、したがって動きベクトルに適用された対応するオフセット値を使用して、現在のブロックの画素が予測される。例示的な実施形態では、BDOFは、動きベクトルを使用して、現在のブロックに対して反対の予測方向における参照ピクチャ内の参照ブロックに対する現在のピクチャのビデオデータのブロックをインター予測するときに使用される。ビデオ符号化方法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を含む。ブロックに基づくビデオ符号化の場合、ビデオスライス(たとえば、ビデオフレームまたはビデオフレームの一部分)をビデオブロックに分割することができ、ビデオブロックは、ツリーブロック、符号化単位(CU)、および/または符号化ノードと呼ぶこともできる。同じピクチャ内の隣接ブロックの参照サンプルに対して空間予測を使用して、ピクチャのイントラ符号化(I)スライス内のビデオブロックをコード化することができる。ピクチャのインター符号化(PまたはB)スライスのビデオブロックは、同じピクチャ内の隣接ブロックの参照サンプルに対して空間予測、または他の参照ピクチャ内の参照サンプルに対して時間予測を使用することができる。ピクチャをフレームと呼ぶことができ、参照ピクチャを参照フレームと呼ぶことができる。
【0018】
空間予測または時間予測の結果、ブロックを符号化するための予測ブロックが得られる。残差データは、符号化するべき元のブロックと予測ブロックとの間の画素差を表す。インター符号化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、符号化されたブロックと予測ブロックとの間の差を示す残差データとに従ってコード化される。イントラ符号化ブロックは、イントラ符号化モードおよび残差データに従ってコード化される。さらなる圧縮のために、残差データを画素ドメインから変換ドメインに変換することができ、その結果として残差変換係数が得られ、次いでこれらの残差変換係数を量子化することができる。最初は2次元アレイで配列されていた、量子化された変換係数を走査して、変換係数の1次元ベクトルを生み出すことができ、エントロピー符号化を適用して、さらなる圧縮を実現することができる。
【0019】
各々のインター予測されたブロックに対して、1組の動き情報が利用可能となり得る。1組の動き情報は、順方向および逆方向の予測方向に対する動き情報を含むことができる。本明細書では、順方向または第1の予測方向および逆方向または第2の予測方向は、双方向予測モードの2つの予測方向であり、「順方向」、「第1」、「逆方向」、および「第2」という用語は、必ずしも幾何学的な意味を有するものではない。逆に、これらの用語は概して、参照ピクチャが現在のピクチャの前に表示されるか(「逆方向」)、それとも現在のピクチャの後に表示されるか(「順方向」)に対応する。例示的な実施形態では、順方向予測方向は、現在のピクチャの参照ピクチャリスト0(RefPicList0)に対応することができ、逆方向予測方向は、参照ピクチャリスト1(RefPicList1)に対応することができる。
【0020】
各予測方向に対して、動き情報は、参照索引および動きベクトルを含む。例示的な実施形態では、参照索引は、現在の参照ピクチャリスト(RefPicList0またはRefPicList1)内の参照ピクチャを識別するために使用することができる。動きベクトルは、水平成分(x)および垂直成分(y)を有する。概して、水平成分は、参照ブロックのx座標を特定するために、現在のピクチャ内の現在のブロックの位置に対する参照ピクチャ内の水平変位を示し、垂直成分は、参照ブロックのy座標を特定するために、現在のブロックの位置に対する参照ピクチャ内の垂直変位を示す。
【0021】
ビデオ符号化規格では、ピクチャの表示順序を識別するために、ピクチャ順序カウント(POC)値が広く使用されている。いくつかの状況では、1つの符号化されたビデオシーケンス内の2つのピクチャが同じPOC値を有することもあるが、これは典型的に、符号化されたビデオシーケンス内では生じない。したがって、ピクチャのPOC値は概して一意であり、したがって対応するピクチャを一意に識別することができる。1つのビットストリーム内に複数の符号化されたビデオシーケンスが存在するとき、同じPOC値を有するピクチャは、復号順序に関して互いに近い可能性がある。ピクチャのPOC値は、典型的に、参照ピクチャリストの構成、HEVCと同様の参照ピクチャセットの導出、および動きベクトルのスケーリングに使用される。
【0022】
概念上、背景の章ですでに言及したものを含めて、多くのビデオ符号化規格は類似している。たとえば、事実上すべてのビデオ符号化規格は、ビデオ圧縮を実現するために、ブロックに基づく処理を使用し、類似のビデオ符号化ブロック図を共用する。
【0023】
HEVCと同様に、VVCは、ブロックに基づく混成ビデオ符号化の枠組みで構成される。図1は、例示的な実施形態による双方向オプティカルフローに対する方法を使用することができる例示的なエンコーダ100を含むブロックに基づく混成ビデオコード化システムのブロック図である。入力ビデオ信号は、ブロック(CU)ごとに処理される。VTM-1.0において、CUは最大128×128画素とすることができる。しかし、4分木のみに基づいてブロックを分割するHEVCとは異なり、VVCでは、4分木/2分木/3分木に基づいて変動する局所的な特徴に適応するために、1つの符号化ツリー単位(CTU)が複数のCUに分割される。加えて、HEVCにおける複数の分割単位タイプの概念は除去され、すなわちCU、予測単位(PU)、および変換単位(TU)の分離はVVCには存在しなくなり、代わりに各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)符号化、または別のエントロピー符号化技法を実行することができる。コンテキストに基づくエントロピー符号化の場合、コンテキストは隣接ブロックに基づくことができる。エントロピー符号化回路106によるエントロピー符号化に続いて、コード化されたビットストリームは、別のデバイス(たとえば、ビデオデコーダ)へ伝送することができ、または後の伝送もしくは検索のために保管することができる。図1に示すように、ビデオブロック分割情報、動きベクトル、参照ピクチャ索引、およびイントラ予測モードなど、インター予測回路および/またはイントラ予測回路112からの予測関係情報110がまた、エントロピー符号化回路106を介して送出され、圧縮ビデオビットストリーム114内へ保存される。
【0027】
エンコーダ100では、予測の目的で、画素を再構成するためにデコーダ関係回路も必要とされる。第1に、逆量子化回路116および逆変換回路118によって、予測残差が再構成される。この再構成された予測残差をブロック予測子120と組み合わせて、現在のビデオブロックに対するフィルタリングされていない再構成画素を生成する。逆量子化回路116および逆変換回路118は、逆量子化および逆変換をそれぞれ適用して、画素ドメイン内の残差ブロックを再構成する。特定の実施形態では、加算器が、動き補償回路122またはイントラ予測回路112によって先に生み出されている動き補償された予測ブロックに、再構成された残差ブロックを加えて、参照ピクチャメモリ内での記憶のために、再構成されたビデオブロックを生み出す。再構成されたビデオブロックは、次のビデオフレーム内のブロックをインター符号化するために、動き推定回路124および動き補償回路122によって、参照ブロックとして使用することができる。
【0028】
符号化効率および視覚的品質を改善するために、ループ内フィルタが一般に使用される。たとえば、AVCおよびHEVC、ならびに現在のバージョンのVVCでは、非ブロック化フィルタが利用可能である。HEVCでは、符号化効率をさらに改善するために、SAO(サンプル適応型オフセット)と呼ばれる追加のループ内フィルタが定義されている。現在のバージョンの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は、デフォルトの構成法を使用して、参照ピクチャメモリ内に記憶されている参照ピクチャに基づいて、参照フレームリストList0およびList1を構成することができる。
【0032】
動き補償回路212は、動きベクトルおよび他の構文要素を構文解析することによって、現在のビデオスライスのビデオブロックに対する予測情報を決定し、この予測情報を使用して、復号されている現在のビデオブロックに対する予測ブロックを生み出す。たとえば、動き補償回路212は、ビデオスライスのビデオブロックを符号化するために使用された予測モード(たとえば、イントラ予測またはインター予測)を決定するために受け取った構文要素、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)、スライスに対する参照ピクチャリストのうちの1つまたは複数に対する構成情報、スライスのインターコード化された各ビデオブロックに対する動きベクトル、スライスのインター符号化された各ビデオブロックに対するインター予測状態、および現在のビデオスライス内のビデオブロックを復号するための他の情報のうちのいくつかを使用する。
【0033】
動き補償回路212はまた、画素未満の精度のための補間フィルタに基づいて、補間を実行することができる。動き補償回路212は、ビデオブロックのコード化中にエンコーダ100によって使用される補間フィルタを使用して、参照ブロックの整数未満の画素に対する補間された値を計算することができる。例示的な実施形態では、動き補償回路212は、受け取った構文要素から、エンコーダ100によって使用された補間フィルタを決定し、補間フィルタを使用して予測ブロックを生み出す。動き補償回路212は、本開示に記載する方法のいずれかまたはすべてを(単独または任意の組合せで)実行するように構成することができる。たとえば、動き補償回路212は、本明細書に論じる例示的なBDOF方法を実行するように構成することができる。
【0034】
例示的な実施形態では、動き補償回路212は、現在のピクチャより時間的に前の第1の参照ピクチャ(たとえば、参照ピクチャリスト0内)と、現在のピクチャより時間的に後の第2の参照ピクチャ(たとえば、参照ピクチャリスト1内)とを有するブロックに、BDOFを適用するように構成される。ブロックにBDOFを適用することを決定したことに応答して、動き補償回路212は、本明細書に論じる方法(たとえば、本明細書に記載する数式に関する)を適用し、BDOFに従ってブロックを予測することができる。
【0035】
図3A図3Eは、5つの例示的な分配タイプ、すなわち4分割(図3A)、水平2分割(図3B)、垂直2分割(図3C)、水平3分割(図3D)、および垂直3分割(図3E)を示す。
【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】
を計算するとき、すなわち勾配値の内部ビット幅を減少させるために、追加の右シフトngradが導入される。より具体的には、次の第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は、例示的な実施形態によるビデオデータのブロックを予測する例示的な方法300に対するフローチャートである。図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)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサ、または他の電子構成要素が含まれる。この装置は、上述した方法を実行するために、他のハードウェアまたはソフトウェア構成要素と組み合わせて、これらの回路を使用することができる。上記で開示した各モジュール、サブモジュール、ユニット、またはサブユニットは、1つまたは複数の回路を少なくとも部分的に使用して実施することができる。
【0068】
本発明の他の実施形態は、本明細書の考察および上記で開示した本発明の実施から、当業者には明らかになる。本出願は、本発明の一般原理に準拠し、当技術分野で周知または通例の慣行範囲に入る本開示からの逸脱を含めて、本発明のあらゆる変形例、使用例、または適用例を包含することが意図される。本明細書および例は、例示としてのみ考慮されるべきであり、本発明の本当の範囲および精神は、以下の特許請求の範囲によって示されることが意図される。
【0069】
本発明は、上記に説明および添付の図面に図示した厳密な例に限定されるものではなく、本発明の範囲から逸脱することなく、様々な修正および変更を加えることができることが理解されよう。本発明の範囲は、添付の特許請求の範囲によってのみ限定されることが意図される。
図1
図2
図3
図4
図5