(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-09
(45)【発行日】2024-09-18
(54)【発明の名称】双方向オプティカルフローのための複雑性低減およびビット幅制御
(51)【国際特許分類】
H04N 19/577 20140101AFI20240910BHJP
【FI】
H04N19/577
(21)【出願番号】P 2023111403
(22)【出願日】2023-07-06
(62)【分割の表示】P 2021515221の分割
【原出願日】2019-09-17
【審査請求日】2023-08-07
(32)【優先日】2018-09-21
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-09-28
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-01-07
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514041959
【氏名又は名称】ヴィド スケール インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】シウ、シャオユウ
(72)【発明者】
【氏名】フ、ユーウェン
(72)【発明者】
【氏名】ユー、ヤン
(72)【発明者】
【氏名】ルオ、チャンコン
【審査官】田中 純一
(56)【参考文献】
【文献】国際公開第2018/166357(WO,A1)
【文献】国際公開第2011/129084(WO,A1)
【文献】米国特許出願公開第2013/0028530(US,A1)
【文献】Xiaoyu Xiu, et al.,CE9-related: A simplified design of bi-directional optical flow (BIO) [online], JVET-L JVET-L0591,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L0591-v1.zip><JVET-L0591.docx>,2018年10月03日,pp.1-9
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
第1の参照ピクチャから第1の予測信号アレイを、および第2の参照ピクチャから第2の予測信号アレイを取得することと、
前記第1の予測信号アレイに対して右ビットシフトを実行してビットシフトされた第1の予測信号アレイを取得し、前記第2の予測信号アレイに対して右ビットシフトを実行してビットシフトされた第2の予測信号アレイを取得することと、
前記ビットシフトされた第1の予測信号アレイおよび前記ビットシフトされた第2の予測信号アレイの間の差に基づいて信号差パラメータアレイを取得することと、
前記信号差パラメータアレイに少なくとも部分的に基づいて少なくとも第1成分の動き精緻化を取得することと、
少なくとも前記第1成分の動き精緻化を使用して双方向オプティカルフローを用いてビデオにおけるカレントブロックの予測を生成することと
を含むビデオエンコーディング方法。
【請求項2】
前記第1の予測信号アレイに基づいて第1の水平勾配アレイを取得することと、
前記第2の予測信号アレイに基づいて第2の水平勾配アレイを取得することと、
前記第1の水平勾配アレイおよび前記第2の水平勾配アレイの合計に対して右ビットシフトを実行することを含む、水平中間パラメータアレイを取得することと
をさらに含み、
前記第1成分の動き精緻化は、水平動き精緻化であり、前記水平中間パラメータアレイに少なくとも部分的に基づいている、
請求項1の方法。
【請求項3】
前記水平動き精緻化は、前記信号差パラメータアレイと前記水平中間パラメータアレイとの積に少なくとも部分的に基づく、請求項2の方法。
【請求項4】
前記第1の予測信号アレイに基づいて第1の垂直勾配アレイを取得することと、
前記第2の予測信号アレイに基づいて第2の垂直勾配アレイを取得することと、
前記第1の垂直勾配アレイおよび前記第2の垂直勾配アレイの合計に対して右ビットシフトを実行することを含む、垂直中間パラメータアレイを取得することと
をさらに含み、
前記第1成分の動き精緻化は、垂直動き精緻化であり、前記垂直中間パラメータアレイに少なくとも部分的に基づいている、
請求項1の方法。
【請求項5】
前記第1の水平勾配アレイを取得することは、第1の予測サンプルアレイの外側のサンプルを、前記第1の予測サンプルアレイの内側のそれぞれの最も近い境界サンプルでパディングすることを含み、前記第2の水平勾配アレイを取得することは、第2の予測サンプルアレイの外側のサンプルを、前記第2の予測サンプルアレイの内側のそれぞれの最も近い境界サンプルでパディングすることを含む、請求項2の方法。
【請求項6】
第1の参照ピクチャから第1の予測信号アレイを、および第2の参照ピクチャから第2の予測信号アレイを取得することと、
前記第1の予測信号アレイに対して右ビットシフトを実行してビットシフトされた第1の予測信号アレイを取得し、前記第2の予測信号アレイに対して右ビットシフトを実行してビットシフトされた第2の予測信号アレイを取得することと、
前記ビットシフトされた第1の予測信号アレイおよび前記ビットシフトされた第2の予測信号アレイの間の差に基づいて信号差パラメータアレイを取得することと、
前記信号差パラメータアレイに少なくとも部分的に基づいて少なくとも第1成分の動き精緻化を取得することと、
少なくとも前記第1成分の動き精緻化を使用して双方向オプティカルフローを用いてビデオにおけるカレントブロックの予測を生成することと
を実行するように構成された1つまたは複数のプロセッサを備えたビデオエンコーダ。
【請求項7】
前記1つまたは複数のプロセッサは、
前記第1の予測信号アレイに基づいて第1の水平勾配アレイを取得することと、
前記第2の予測信号アレイに基づいて第2の水平勾配アレイを取得することと、
前記第1の水平勾配アレイおよび前記第2の水平勾配アレイの合計に対して右ビットシフトを実行することを含む、水平中間パラメータアレイを取得することと
をさらに実行するように構成され、
前記第1成分の動き精緻化は、水平動き精緻化であり、前記水平中間パラメータアレイに少なくとも部分的に基づいている、
請求項6のビデオエンコーダ。
【請求項8】
前記水平動き精緻化は、前記信号差パラメータアレイと前記水平中間パラメータアレイとの積に少なくとも部分的に基づく、請求項7のビデオエンコーダ。
【請求項9】
前記1つまたは複数のプロセッサは、
前記第1の予測信号アレイに基づいて第1の垂直勾配アレイを取得することと、
前記第2の予測信号アレイに基づいて第2の垂直勾配アレイを取得することと、
前記第1の垂直勾配アレイおよび前記第2の垂直勾配アレイの合計に対して右ビットシフトを実行することを含む、垂直中間パラメータアレイを取得することと
をさらに実行するように構成され、
前記第1成分の動き精緻化は、垂直動き精緻化であり、前記垂直中間パラメータアレイに少なくとも部分的に基づいている、
請求項6のビデオエンコーダ。
【請求項10】
前記垂直動き精緻化は、前記信号差パラメータアレイと前記垂直中間パラメータアレイとの積に少なくとも部分的に基づく、請求項9のビデオエンコーダ。
【請求項11】
第1の参照ピクチャから第1の予測信号アレイを、および第2の参照ピクチャから第2の予測信号アレイを取得することと、
前記第1の予測信号アレイに対して右ビットシフトを実行してビットシフトされた第1の予測信号アレイを取得し、前記第2の予測信号アレイに対して右ビットシフトを実行してビットシフトされた第2の予測信号アレイを取得することと、
前記ビットシフトされた第1の予測信号アレイおよび前記ビットシフトされた第2の予測信号アレイの間の差に基づいて信号差パラメータアレイを取得することと、
前記信号差パラメータアレイに少なくとも部分的に基づいて少なくとも第1成分の動き精緻化を取得することと、
少なくとも前記第1成分の動き精緻化を使用して双方向オプティカルフローを用いてビデオにおけるカレントブロックの予測を生成することと
を含むビデオデコーディング方法。
【請求項12】
前記第1の予測信号アレイに基づいて第1の水平勾配アレイを取得することと、
前記第2の予測信号アレイに基づいて第2の水平勾配アレイを取得することと、
前記第1の水平勾配アレイおよび前記第2の水平勾配アレイの合計に対して右ビットシフトを実行することを含む、水平中間パラメータアレイを取得することと
をさらに含み、
前記第1成分の動き精緻化は、水平動き精緻化であり、前記水平中間パラメータアレイに少なくとも部分的に基づいている、
請求項11の方法。
【請求項13】
前記水平動き精緻化は、前記信号差パラメータアレイと前記水平中間パラメータアレイとの積に少なくとも部分的に基づく、請求項12の方法。
【請求項14】
前記第1の予測信号アレイに基づいて第1の垂直勾配アレイを取得することと、
前記第2の予測信号アレイに基づいて第2の垂直勾配アレイを取得することと、
前記第1の垂直勾配アレイおよび前記第2の垂直勾配アレイの合計に対して右ビットシフトを実行することを含む、垂直中間パラメータアレイを取得することと
をさらに含み、
前記第1成分の動き精緻化は、垂直動き精緻化であり、前記垂直中間パラメータアレイに少なくとも部分的に基づいている、
請求項11の方法。
【請求項15】
前記第1の水平勾配アレイを取得することは、第1の予測サンプルアレイの外側のサンプルを、前記第1の予測サンプルアレイの内側のそれぞれの最も近い境界サンプルでパディングすることを含み、前記第2の水平勾配アレイを取得することは、第2の予測サンプルアレイの外側のサンプルを、前記第2の予測サンプルアレイの内側のそれぞれの最も近い境界サンプルでパディングすることを含む、請求項12の方法。
【請求項16】
第1の参照ピクチャから第1の予測信号アレイを、および第2の参照ピクチャから第2の予測信号アレイを取得することと、
前記第1の予測信号アレイに対して右ビットシフトを実行してビットシフトされた第1の予測信号アレイを取得し、前記第2の予測信号アレイに対して右ビットシフトを実行してビットシフトされた第2の予測信号アレイを取得することと、
前記ビットシフトされた第1の予測信号アレイおよび前記ビットシフトされた第2の予測信号アレイの間の差に基づいて信号差パラメータアレイを取得することと、
前記信号差パラメータアレイに少なくとも部分的に基づいて少なくとも第1成分の動き精緻化を取得することと、
少なくとも前記第1成分の動き精緻化を使用して双方向オプティカルフローを用いてビデオにおけるカレントブロックの予測を生成することと
を実行するように構成された1つまたは複数のプロセッサを備えたビデオデコーダ。
【請求項17】
前記1つまたは複数のプロセッサは、
前記第1の予測信号アレイに基づいて第1の水平勾配アレイを取得することと、
前記第2の予測信号アレイに基づいて第2の水平勾配アレイを取得することと、
前記第1の水平勾配アレイおよび前記第2の水平勾配アレイの合計に対して右ビットシフトを実行することを含む、水平中間パラメータアレイを取得することと
をさらに実行するように構成され、
前記第1成分の動き精緻化は、水平動き精緻化であり、前記水平中間パラメータアレイに少なくとも部分的に基づいている、
請求項16のビデオデコーダ。
【請求項18】
前記水平動き精緻化は、前記信号差パラメータアレイと前記水平中間パラメータアレイとの積に少なくとも部分的に基づく、請求項17のビデオデコーダ。
【請求項19】
前記1つまたは複数のプロセッサは、
前記第1の予測信号アレイに基づいて第1の垂直勾配アレイを取得することと、
前記第2の予測信号アレイに基づいて第2の垂直勾配アレイを取得することと、
前記第1の垂直勾配アレイおよび前記第2の垂直勾配アレイの合計に対して右ビットシフトを実行することを含む、垂直中間パラメータアレイを取得することと
をさらに実行するように構成され、
前記第1成分の動き精緻化は、垂直動き精緻化であり、前記垂直中間パラメータアレイに少なくとも部分的に基づいている、
請求項16のビデオデコーダ。
【請求項20】
前記垂直動き精緻化は、前記信号差パラメータアレイと前記垂直中間パラメータアレイとの積に少なくとも部分的に基づく、請求項19のビデオデコーダ。
【請求項21】
請求項1乃至5または11乃至15のいずれか一項に記載の方法を1つまたは複数のプロセッサに実行させる命令を格納するコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、(2018年9月21日に出願された)米国特許仮出願第62/734763号、(2018年9月28日に出願された)米国特許仮出願第62/738655号、および(2019年1月7日に出願された)米国特許仮出願第62/789331号の利益を米国特許法第119条(e)に基づいて主張する非仮出願であり、それらは全て、「Complexity Reduction and Bit-Width Control for Bi-Directional Optical Flow」と題され、参照によりそれらの全体が本明細書に組み込まれている。
【背景技術】
【0002】
ビデオコーディングシステムは、デジタルビデオ信号を圧縮して、そのような信号の記憶の必要性および/または送信帯域幅を低減させるために、広く使用されている。ブロックベース、ウェーブレットベース、およびオブジェクトベースのシステムなど、ビデオコーディングシステムの様々なタイプの中でも、ブロックベースのハイブリッドビデオコーディングシステムが現在、最も広く使用され展開されている。ブロックベースのビデオコーディングシステムの例は、MPEG1/2/4パート2、H.264/MPEG-4パート10 AVC、VC-1、並びにITU-T/SG16/Q.6/VCEGおよびISO/IEC/MPEGのJCT-VC(Joint Collaborative Team on Video Coding:ビデオコーディング共同作業チーム)によって開発された高効率ビデオコーディング(HEVC)などの国際ビデオコーディング規格を含む。
【0003】
HEVC規格の最初のバージョンは、2013年10月に完成され、これは、前世代のビデオコーディング規格H.264/MPEG AVCと比較して約50%のビットレートの節約または同等の知覚品質を提供する。HEVC規格は、その前身より大幅なコーディング改善を提供するが、HEVCに対して優れたコーディング効率が追加のコーディングツールを用いて達成され得るという証拠がある。これに基づいて、VCEGとMPEGの両方が、将来のビデオコーディング規格化のための新しいコーディング技術の探索作業を開始した。2015年10月にITU-T VECGおよびISO/IEC MPEGによって共同ビデオ探索チーム(Joint Video Exploration Team:JVET)が形成され、コーディング効率の相当な向上を可能にし得る先進技術の重要な研究を開始した。HEVCテストモデル(HM)上でいくつかの追加のコーディングツールを統合することにより、JVETによって、共同探索モデル(joint exploration model:JEM)と呼ばれる参照ソフトウェアが保持された。
【0004】
2017年10月に非特許文献1がITU-TおよびISO/IECによって発行された。2018年4月に、第10回JVET会合で23のCfP応答が受領されて評価され、それらはHEVCを約40%上回る圧縮効率向上を示した。そのような評価結果に基づいて、JVETは、多用途ビデオコーディング(Versatile Video Coding:VVC)と名付けられた新世代ビデオコーディング規格を開発するための新しいプロジェクトを立ち上げた。同月に、VVCテストモデル(VTM)と呼ばれる1つの参照ソフトウェアコードベースが、VVC規格の参照実装を示すために確立された。一方、新しいコーディングツールの評価を容易にするために、ベンチマークセット(BMS)と呼ばれる別の参照ソフトウェアベースも生成された。BMSコードベースでは、より高いコーディング効率および適度な実装複雑性を提供する追加のコーディングツールのリストがVTM上に含まれ、VVC規格化プロセス中に同様のコーディング技術を評価する際のベンチマークとして使用さる。具体的には、BMS-2.0に統合された5つのJEMコーディングツールがあり、それらは、4x4非分離二次変換(non-separable secondary transform:NSST)、一般化された双予測(generalized bi-prediction:GBi)、双方向オプティカルフロー(bi-directional optical flow:BIO)、デコーダ側動きベクトル精緻化(decoder-side motion vector refinement:DMVR)、およびカレントピクチャ参照(current picture referencing:CPR)を含む。
【先行技術文献】
【非特許文献】
【0005】
【文献】joint call for proposals (CfP) on video compression with capability beyond HEVC, Oct. 2017
【文献】S. Jeong et al., “CE4 Ultimate motion vector expression (Test 4.5.4)”, JVET-L0054, Oct. 2018
【文献】S. Esenlik et al., “Simplified DMVR for inclusion in VVC”, JVET-L0670, Oct. 2018
【文献】M.-S. Chiang et al., “CE10.1.1: Multi-hypothesis prediction for improving AMVP mode, skip or merge mode, and intra mode”, JVET-L0100, Oct. 2018
【文献】M. Winken et al., “CE10-related: Multi-Hypothesis Inter Prediction with simplified AMVP process”, JVET-L0679, Oct. 2018
【発明の概要】
【0006】
本明細書に記載される実施形態は、ビデオ符号化および復号(総称して「コーディング」)において使用される方法を含む。いくつかの実施形態では、ビデオコーディング方法が提供され、この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、第1の参照ピクチャからの第1の予測信号アレイI(0)(i,j)に基づいて第1の水平勾配アレイ
【0007】
【0008】
を計算するステップと、第2の参照ピクチャからの第2の予測信号アレイI(1)(i,j)に基づいて第2の水平勾配アレイ
【0009】
【0010】
を計算するステップと、(i)第1の水平勾配アレイおよび(ii)第2の水平勾配アレイの合計に対して右ビットシフトを実行するステップを含む方法によって、縮小ビット幅水平中間パラメータアレイ(reduced-bit-width horizontal intermediate parameter array)Ψx(i,j)を計算するステップと、縮小ビット幅水平中間パラメータアレイに少なくとも部分的に基づいて少なくとも水平動き精緻化vxを計算するステップと、少なくとも水平動き精緻化vxを使用して双方向オプティカルフローを用いてカレントブロックの予測を生成するステップとを含む。
【0011】
いくつかの実施形態では、この方法は、第1の予測信号アレイI(0)(i,j)と第2の予測信号アレイI(1)(i,j)との差を計算するステップを含む方法によって、信号差パラメータアレイθ(i,j)を計算するステップと、(i)信号差パラメータアレイθ(i,j)と(ii)水平勾配中間パラメータアレイΨx(i,j)との要素ごとの乗算の成分を合計することによって、信号水平勾配相関パラメータS3を計算するステップとをさらに含み、水平動き精緻化vxを計算するステップは、信号水平勾配相関パラメータS3をビットシフトして水平動き精緻化vxを得るステップを含む。
【0012】
そのような実施形態では、信号差パラメータアレイθ(i,j)を計算するステップは、第1の予測信号アレイI(0)(i,j)と第2の予測信号アレイI(1)(i,j)との差を計算する前に、第1の予測信号アレイI(0)(i,j)と第2の予測信号アレイI(1)(i,j)とのそれぞれに対して右ビットシフトを実行するステップを含む。
【0013】
いくつかの実施形態では、この方法は、第1の参照ピクチャからの第1の予測信号アレイI(0)(i,j)に基づいて第1の垂直勾配アレイ
【0014】
【0015】
を計算するステップと、第2の参照ピクチャからの第2の予測信号アレイI(1)(i,j)に基づいて第2の垂直勾配アレイ
【0016】
【0017】
を計算するステップと、(i)第1の垂直勾配アレイおよび(ii)第2の垂直勾配アレイの合計に対して右ビットシフトを実行するステップを含む方法によって、縮小ビット幅垂直中間パラメータアレイΨy(i,j)を計算するステップと、縮小ビット幅水平中間パラメータアレイΨx(i,j)および縮小ビット幅垂直中間パラメータアレイΨy(i,j)に少なくとも部分的に基づいて、垂直動き精緻化vyを計算するステップとをさらに含み、カレントブロックの予測は、水平動き精緻化vxおよび垂直動き精緻化vyを使用して生成される。
【0018】
いくつかのそのような実施形態は、(i)水平中間パラメータアレイΨx(i,j)と(ii)垂直中間パラメータアレイΨy(i,j)との要素ごとの乗算の成分を合計するステップを含む方法によって、相互勾配相関パラメータS2を計算するステップをさらに含み、垂直動き精緻化vyを計算するステップは、(i)水平動き精緻化vxと(ii)相互勾配相関パラメータS2との積を決定するステップを含む。
【0019】
いくつかのそのような実施形態では、(i)水平動き精緻化vxと(ii)相互勾配相関パラメータS2との積を決定するステップは、相互勾配相関パラメータS2を、最上位ビットMSBパラメータ部分S2,mと最下位ビットLSBパラメータ部分S2,sとに分離するステップと、(i)水平動き精緻化vxと(ii)MSBパラメータ部分S2,mとのMSB積を決定するステップと、(i)水平動き精緻化vxと(ii)LSBパラメータ部分S2,SとのLSB積を決定するステップと、MSB積の左ビットシフトを実行して、ビットシフトされたMSB積を生成するステップと、LSB積とビットシフトされたMSB積とを加算するステップとを含む。
【0020】
いくつかの実施形態では、双方向オプティカルフローを用いてカレントブロックの予測を生成するステップは、カレントブロックにおける各サンプルについて、
【0021】
【0022】
(v)水平動き精緻化vx、および(vi)垂直動き精緻化vyに基づいて、双方向オプティカルフローサンプルオフセットbを計算するステップと、カレントブロックにおける各サンプルについて、少なくとも第1の予測信号アレイI(0)(i,j)、第2の予測信号アレイI(1)(i,j)、および双方向オプティカルフローサンプルオフセットbの合計を計算するステップとを含む。
【0023】
いくつかの実施形態では、勾配アレイ
【0024】
【0025】
のそれぞれを計算するステップは、予測信号アレイI(0)(i,j)、I(1)(i,j)の外側のサンプルを、予測信号アレイの内側のそれぞれの最も近い境界サンプルでパディングするステップを含む。
【0026】
いくつかの実施形態では、信号差パラメータアレイθ(i,j)の少なくともいくつかの値を計算するステップが、予測信号アレイI(0)(i,j)、I(1)(i,j)の外側のサンプルを、予測信号アレイの内側のそれぞれの最も近い境界サンプルでパディングするステップを含む。いくつかの実施形態では、水平中間パラメータアレイΨx(i,j)の少なくともいくつかの値を計算するステップが、水平勾配アレイ
【0027】
【0028】
の外側の勾配値を、水平勾配アレイの内側のそれぞれの最も近い境界サンプルでパディングするステップを含む。
【0029】
いくつかの実施形態では、垂直中間パラメータアレイΨy(i,j)の少なくともいくつかの値を計算するステップが、垂直勾配アレイ
【0030】
【0031】
の外側の勾配値を、垂直勾配アレイの内側のそれぞれの最も近い境界サンプルでパディングするステップを含む。
【0032】
いくつかの実施形態では、信号水平勾配相関パラメータS3および相互勾配相関パラメータS2は、カレントブロックにおけるサブブロックごとに計算される。
【0033】
本明細書に記載される実施形態は、エンコーダによってまたはデコーダによってビデオブロックの予測を生成するように実行され得る。
【0034】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、第1の参照ピクチャからの第1の予測信号に基づいて第1の勾配成分(例えば、∂I(0)/∂xまたは∂I(0)/∂y)が計算される。第2の参照ピクチャからの第2の予測信号に基づいて第2の勾配成分(例えば、∂I(1)/∂xまたは∂I(1)/∂y)が計算される。第1の勾配成分と第2の勾配成分が合計され、得られた合計に対して下位方向ビットシフトが実行されて、縮小ビット幅相関パラメータ(例えば、ΨxまたはΨy)が生成される。縮小ビット幅相関パラメータに少なくとも部分的に基づいてBIO動き精緻化が計算される。計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【0035】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、第2の参照ピクチャに基づく第2の予測信号(例えばI(1))から第1の参照ピクチャに基づく第1の予測信号(例えばI(0))を引き、得られた差の下位方向ビットシフトを実行することによって、縮小ビット幅相関パラメータ(例えばθ)が生成される。縮小ビット幅相関パラメータに少なくとも部分的に基づいてBIO動き精緻化が計算される。計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【0036】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、第1の参照ピクチャからの第1の予測(例えばI(0))信号に対して下位方向ビットシフトを実行することによって、縮小ビット幅の第1の予測信号が生成される。第2の参照ピクチャからの第2の予測信号(例えばI(1))に対して下位方向ビットシフトを実行することによって、縮小ビット幅の第2の予測信号が生成される。縮小ビット幅の第2の予測信号から縮小ビット幅の第1の予測信号を引くことによって、縮小ビット幅相関パラメータ(例えばθ)が生成される。縮小ビット幅相関パラメータに少なくとも部分的に基づいてBIO動き精緻化が計算され、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【0037】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、第1の参照ピクチャからの縮小ビット幅の第1の予測信号に基づいて、縮小ビット幅の第1の勾配成分が計算される。第2の参照ピクチャからの縮小ビット幅の第2の予測信号に基づいて、縮小ビット幅の第2の勾配成分が計算される。第1の縮小ビット幅勾配成分と第2の縮小ビット幅勾配成分が合計されて、縮小ビット幅相関パラメータを生成する。縮小ビット幅相関パラメータに少なくとも部分的に基づいて動き精緻化が計算され、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【0038】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、カレントブロックにおけるサンプルについての第1の動き補償予測信号(motion-compensated prediction signal)および第2の動き補償予測信号が生成され、カレントブロックにおけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号は、第1の数のタップを有する第1の補間フィルタを使用して生成される。第1の動き補償予測信号および第2の動き補償予測信号は、カレントブロックの周りの拡張された領域におけるサンプルについても生成され、カレントブロックの外側のサンプルについての第1の動き補償予測信号および第2の動き補償予測信号は、第1の数のタップよりも少ない第2の数のタップを有する第2の補間フィルタを使用して生成される。第1の動き補償予測信号および第2の動き補償予測信号に少なくとも部分的に基づいて動き精緻化が計算され、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【0039】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、第1の動き補償予測信号および第2の動き補償予測信号が生成され、カレントブロックにおけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号は、第1の数のタップを有する水平補間フィルタ、および第1の数のタップよりも少ない第2の数のタップを有する垂直補間フィルタを使用して生成される。第1の動き補償予測信号および第2の動き補償予測信号に少なくとも部分的に基づいて動き精緻化が計算され、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【0040】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、第1の動き補償予測信号および第2の動き補償予測信号が生成される。カレントブロックにおけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号は、第1の数のタップを有する水平補間フィルタ、および第2の数のタップを有する垂直補間フィルタを使用して生成される。水平フィルタおよび垂直フィルタは、予め決定された順序で適用され、順序でより早く適用されたフィルタは、順序でより遅く適用されたフィルタよりも多い数のタップを有する。第1の動き補償予測信号および第2の動き補償予測信号に少なくとも部分的に基づいて動き精緻化が計算され、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【0041】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供される。双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくとも、閾値高さ以下の高さを有するコーディングユニットについて、双方向オプティカルフローが無効にされる(例えば、高さ4のコーディングユニットについてBIOが無効にされ得る)。双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて、双方向オプティカルフローなしの双予測が実行される。双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて(例えば、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットのうちの少なくとも1つについて)、双方向オプティカルフローを用いる双予測が実行される。
【0042】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、カレントブロックにおけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号が生成される。第1の値および第2の値は、カレントブロックの周りの拡張された領域におけるサンプルに関し、拡張された領域は、カレントブロックから複数行または複数列離れたサンプルを含まない。動き精緻化は、第1の動き補償予測信号および第2の動き補償予測信号、並びに拡張された領域におけるサンプルについての第1の値および第2の値に少なくとも部分的に基づいて計算される。計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【0043】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供される。双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくとも、サブブロックレベルインター予測技法(sub-block-level inter prediction technique)(例えば、高度時間動きベクトル予測およびアフィン予測など)を使用して予測されたコーディングユニットについて、双方向オプティカルフローが無効にされる。双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて、双方向オプティカルフローなしの双予測が実行される。双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて(例えば、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットのうちの少なくとも1つについて)、双方向オプティカルフローを用いる双予測が実行される。
【0044】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、カレントブロックにおけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号が生成される。カレントブロックにおけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号は、第1の数のタップを有する水平補間フィルタ、および第1の数のタップを有する垂直補間フィルタを使用して生成される。第1の動き補償予測信号および第2の動き補償予測信号は、カレントブロックの周りの拡張された領域におけるサンプルについても生成され、カレントブロックの外側のサンプルについての第1の動き補償予測信号および第2の動き補償予測信号は、第1の数のタップを有する水平補間フィルタ、および第1の数のタップよりも少ない第2の数のタップを有する垂直補間フィルタを使用して生成される。第1の動き補償予測信号および第2の動き補償予測信号に少なくとも部分的に基づいて動き精緻化が計算される。計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【0045】
追加の実施形態では、本明細書に記載された方法を実行するためのエンコーダシステムおよびデコーダシステムが提供される。エンコーダシステムまたはデコーダシステムは、本明細書に記載された方法を実行するための命令を記憶するプロセッサおよび非一時的コンピュータ可読媒体を含むことができる。追加の実施形態は、本明細書に記載された方法を使用して符号化されたビデオを記憶する非一時的コンピュータ可読記憶媒体を含むことができる。
【図面の簡単な説明】
【0046】
【
図1A】1つまたは複数の開示されている実施形態が実装され得る例示的な通信システムを示すシステム図である。
【
図1B】実施形態による、
図1Aに示された通信システム内で使用され得る例示的な無線送受信ユニット(WTRU)を示すシステム図である。
【
図2A】VVCに使用されるエンコーダなどの、ブロックベースのビデオエンコーダの機能ブロック図である。
【
図2B】VVCに使用されるデコーダなどの、ブロックベースのビデオデコーダの機能ブロック図である。
【
図3A】マルチタイプツリー構造におけるブロック区分化である4区分化を示す図である。
【
図3B】マルチタイプツリー構造におけるブロック区分化である垂直2区分化を示す図である。
【
図3C】マルチタイプツリー構造におけるブロック区分化である水平2区分化を示す図である。
【
図3D】マルチタイプツリー構造におけるブロック区分化である垂直3区分化を示す図である。
【
図3E】マルチタイプツリー構造におけるブロック区分化である水平3区分化を示す図である。
【
図4】双方向オプティカルフロー(BIO)を使用する予測の概略図である。
【
図5】いくつかの実施形態による、簡略化されたフィルタを使用してBIOのための拡張されたサンプルを生成する方法を示す図である。
【
図6】いくつかの実施形態による、簡略化されたフィルタを使用してBIOのための拡張されたサンプルを生成する方法を示す図である。
【
図7】いくつかの実施形態による、1つのBIOコーディングユニット(CU)の拡張された領域における補間されたサンプルの数を低減するためのサンプルおよび勾配パディングを示す図である。
【
図8】コーディングされたビットストリーム構造の例を示す図である。
【
図10】BIO導出のための拡張されたサンプルとして整数サンプルを使用することを示す図である。
【発明を実施するための形態】
【0047】
実施形態の実装のための例示的ネットワーク
図1Aは、1つまたは複数の開示されている実施形態が実装され得る例示的な通信システム100を示す図である。通信システム100は、音声、データ、ビデオ、メッセージング、ブロードキャストなどのコンテンツを複数の無線ユーザに提供する、多元接続システムであり得る。通信システム100は、複数の無線ユーザが、無線帯域幅を含むシステムリソースの共有を通じてそのようなコンテンツにアクセスすることを可能にする。例えば、通信システム100は、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交FDMA(OFDMA)、シングルキャリアFDMA(SC-FDMA)、ゼロテールユニークワードDFT拡散OFDM(ZT UW DTS-s OFDM)、ユニークワードOFDM(UW-OFDM)、リソースブロックフィルタOFDM、フィルタバンクマルチキャリア(FBMC)など、1つまたは複数のチャネルアクセス方法を利用することができる。
【0048】
図1Aに示されるように、通信システム100は、無線送受信ユニット(WTRU)102a、102b、102c、102d、RAN104/113、CN106/115、公衆交換電話網(PSTN)108、インターネット110および他のネットワーク112を含み得るが、開示されている実施形態は、任意の数のWTRU、基地局、ネットワークおよび/またはネットワーク要素を企図することが理解されよう。WTRU102a、102b、102c、102dのそれぞれは、無線環境で動作および/または通信するように構成された任意のタイプのデバイスであってよい。例えば、WTRU102a、102b、102c、102dは、いずれも「局」および/または「STA」と呼ばれてよく、無線信号を送信および/または受信するように構成されてよく、ユーザ機器(UE)、移動局、固定若しくは移動加入者ユニット、加入ベースのユニット、ページャ、セルラ電話、携帯情報端末(PDA)、スマートフォン、ラップトップ、ネットブック、パーソナルコンピュータ、無線センサ、ホットスポット若しくはMi-Fiデバイス、IoTデバイス、時計または他のウェアラブル、ヘッドマウントディスプレイ(HMD)、乗り物、ドローン、医療デバイスおよびアプリケーション(例えば、遠隔手術)、産業用デバイスおよびアプリケーション(例えば、産業用および/または自動処理チェーンコンテキストで動作するロボットおよび/若しくは他の無線デバイス)、家電、商用および/若しくは産業用無線ネットワーク上で動作するデバイスなどを含み得る。WTRU102a、102b、102c、および102dは、いずれも交換可能にUEと呼ばれることがある。
【0049】
通信システム100は、基地局114aおよび/または基地局114bを含むこともできる。基地局114a、114bのそれぞれは、CN106/115、インターネット110、および/またはネットワーク112などの1つまたは複数の通信ネットワークへのアクセスを容易にするために、WTRU102a、102b、102c、102dのうちの少なくとも1つと無線でインターフェース接続するように構成された任意のタイプのデバイスであってよい。例えば、基地局114a、114bは、トランシーバ基地局(BTS)、Node B、eNode B、ホームNode B、ホームeNode B、gNB、NR NodeB、サイトコントローラ、アクセスポイント(AP)、および無線ルータなどであってよい。基地局114a、114bはそれぞれが単一の要素として示されているが、基地局114a、114bは、任意の数の相互接続された基地局および/またはネットワーク要素を含んでよいことが理解されよう。
【0050】
基地局114aは、RAN104/113の一部とすることができ、RAN104/113は、基地局コントローラ(BSC)、無線ネットワークコントローラ(RNC)、中継ノードなど、他の基地局および/またはネットワーク要素(図示せず)を含み得る。基地局114aおよび/または基地局114bは、セル(図示せず)と呼ばれることがある1つまたは複数のキャリア周波数で無線信号を送信および/または受信するように構成され得る。これらの周波数は、認可スペクトル、無認可スペクトル、または認可スペクトルと無認可スペクトルとの組み合わせであってよい。セルは、比較的固定され得るまたは時間と共に変化し得る特定の地理的エリアに対する無線サービスのためのカバレッジを提供できる。セルは、セルセクタに分割され得る。例えば、基地局114aに関連付けられたセルは、3つのセクタに分割され得る。従って、一実施形態では、基地局114aは、3つのトランシーバ、すなわち、セルの各セクタについて1つを含み得る。実施形態において、基地局114aは、MIMO技術を利用でき、セルの各セクタについて複数のトランシーバを利用できる。例えば、ビームフォーミングが、所望される空間方向で信号を送信および/または受信するために使用され得る。
【0051】
基地局114a、114bは、エアインターフェース116を介してWTRU102a、102b、102c、102dのうちの1つまたは複数と通信することができ、エアインターフェース116は、任意の適切な無線通信リンク(例えば、無線周波数(RF)、マイクロ波、センチメートル波、マイクロメートル波、赤外線(IR)、紫外線(UV)、可視光など)であってよい。エアインターフェース116は、任意の適切な無線アクセス技術(RAT)を使用して確立され得る。
【0052】
より具体的には、上記されたように、通信システム100は、多元接続システムとすることができ、CDMA、TDMA、FDMA、OFDMA、およびSC-FDMAなどの1つまたは複数のチャネルアクセス方式を利用できる。例えば、RAN104/113内の基地局114a、およびWTRU102a、102b、102cは、広帯域CDMA(WCDMA(登録商標))を使用してエアインターフェース115/116/117を確立できる、ユニバーサル移動体通信システム(UMTS)地上無線アクセス(UTRA)などの無線技術を実装できる。WCDMAは、高速パケットアクセス(HSPA)および/または進化型HSPA(HSPA+)などの通信プロトコルを含み得る。HSPAは、高速ダウンリンク(DL)パケットアクセス(HSDPA)および/または高速ULパケットアクセス(HSUPA)を含み得る。
【0053】
実施形態において、基地局114a、およびWTRU102a、102b、102cは、ロングタームエボリューション(LTE)および/またはLTEアドバンスト(LTE-A)および/またはLTEアドバンストプロ(LTE-A Pro)を使用してエアインターフェース116を確立できる、進化型UMTS地上無線アクセス(E-UTRA)などの無線技術を実装できる。
【0054】
実施形態において、基地局114aおよびWTRU102a、102b、102cは、ニューラジオ(NR)を使用してエアインターフェース116を確立できるNR無線アクセスなどの無線技術を実装できる。
【0055】
実施形態において、基地局114aおよびWTRU102a、102b、102cは、複数の無線アクセス技術を実装できる。例えば、基地局114aおよびWTRU102a、102b、102cは、例えばデュアルコネクティビティ(DC)原理を使用して、LTE無線アクセスとNR無線アクセスを一緒に実装できる。従って、WTRU102a、102b、102cによって利用されるエアインターフェースは、複数のタイプの無線アクセス技術、および/または複数のタイプの基地局(例えば、eNBおよびgNB)へ/から送られる送信によって特徴付けられ得る。
【0056】
他の実施形態では、基地局114a、およびWTRU102a、102b、102cは、IEEE802.11(すなわち、WiFi:Wireless Fidelity)、IEEE802.16(すなわち、WiMAX:Worldwide Interoperability for Microwave Access)、CDMA2000、CDMA2000 1X、CDMA2000 EV-DO、暫定標準2000(IS-2000)、暫定標準95(IS-95)、暫定標準856(IS-856)、GSM(登録商標)(Global System for Mobile communications)、EDGE(Enhanced Data rates for GSM Evolution)、およびGSM EDGE(GERAN)などの無線技術を実装できる。
【0057】
図1Aにおける基地局114bは、例えば、無線ルータ、ホームNode B、ホームeNode B、またはアクセスポイントであってよく、職場、家庭、乗り物、キャンパス、産業施設、(例えばドローンにより使用される)空中回廊、車道などの局所的エリアにおける無線接続性を容易にするために任意の適切なRATを利用してよい。一実施形態では、基地局114bおよびWTRU102c、102dは、IEEE802.11などの無線技術を実装して無線ローカルエリアネットワーク(WLAN)を確立できる。実施形態において、基地局114bおよびWTRU102c、102dは、IEEE802.15などの無線技術を実装して無線パーソナルエリアネットワーク(WPAN)を確立できる。さらに別の実施形態では、基地局114bおよびWTRU102c、102dは、セルラベースのRAT(例えば、WCDMA、CDMA2000、GSM、LTE、LTE-A、LTE-A Pro、NRなど)を利用してピコセルまたはフェムトセルを確立できる。
図1Aに示されるように、基地局114bは、インターネット110への直接接続を有し得る。従って、基地局114bは、CN106/115を介してインターネット110にアクセスすることを必要とされなくてよい。
【0058】
RAN104/113は、CN106/115と通信することができ、CN106/115は、音声、データ、アプリケーション、および/またはVoIPサービスをWTRU102a、102b、102c、102dのうちの1つまたは複数に提供するように構成された、任意のタイプのネットワークであってよい。データは、異なるスループット要件、待ち時間要件、エラー許容要件、信頼性要件、データスループット要件、およびモビリティ要件などの様々なサービス品質(QoS)要件を有することがある。CN106/115は、呼制御、請求サービス、モバイル位置情報サービス、プリペイド通話、インターネット接続性、ビデオ配信などを提供し、および/またはユーザ認証などの高レベルセキュリティ機能を実行できる。
図1Aに示されていないが、RAN104/113および/またはCN106/115は、RAN104/113と同じRATまたは異なるRATを利用する他のRANとの直接的または間接的な通信をし得ることが理解されよう。例えば、NR無線技術を利用し得るRAN104/113に接続されるのに加えて、CN106/115は、GSM、UMTS、CDMA2000、WiMAX、E-UTRA、またはWiFi無線技術を利用する別のRAN(図示せず)と通信することもできる。
【0059】
CN106/115は、PSTN108、インターネット110、および/または他のネットワーク112にアクセスするWTRU102a、102b、102c、102dのためのゲートウェイの役割をすることもできる。PSTN108は、基本電話サービス(POTS)を提供する回線交換電話網を含み得る。インターネット110は、TCP/IPインターネットプロトコルスイートにおけるTCP、UDP、および/またはIPなどの共通の通信プロトコルを使用する、相互接続されたコンピュータネットワークおよびデバイスのグローバルシステムを含み得る。ネットワーク112は、他のサービスプロバイダによって所有および/または運用される有線および/または無線通信ネットワークを含み得る。例えば、ネットワーク112は、RAN104/113と同じRATまたは異なるRATを利用できる1つまたは複数のRANに接続された別のCNを含み得る。
【0060】
通信システム100におけるWTRU102a、102b、102c、102dの一部または全部は、マルチモード能力を含み得る(例えば、WTRU102a、102b、102c、102dは、異なる無線リンクを介して異なる無線ネットワークと通信するための複数のトランシーバを含み得る)。例えば、
図1Aに示されているWTRU102cは、セルラベースの無線技術を利用できる基地局114a、およびIEEE802無線技術を利用できる基地局114bと通信するように構成され得る。
【0061】
図1Bは、例示的WTRU102のシステム図である。
図1Bに示されるように、WTRU102は、プロセッサ118、トランシーバ120、送受信要素122、スピーカ/マイクロフォン124、キーパッド126、ディスプレイ/タッチパッド128、着脱不能メモリ130、着脱可能メモリ132、電源134、GPSチップセット136、および/または他の周辺機器138などを含み得る。WTRU102は、実施形態との整合性を保ちながら、上記要素の任意の部分的組み合わせを含み得ることが理解されよう。
【0062】
プロセッサ118は、汎用プロセッサ、専用プロセッサ、従来のプロセッサ、デジタル信号プロセッサ(DSP)、複数のマイクロプロセッサ、DSPコアと関連した1つまたは複数のマイクロプロセッサ、コントローラ、マイクロコントローラ、ASIC、FPGA回路、他の任意のタイプの集積回路(IC)、および状態機械などであってよい。プロセッサ118は、信号コーディング、データ処理、電力制御、入出力処理、および/またはWTRU102が無線環境で動作するのを可能にする他の任意の機能性を実行できる。プロセッサ118はトランシーバ120に結合されてよく、トランシーバ120は送受信要素122に結合されてよい。
図1Bはプロセッサ118とトランシーバ120を別々の構成要素として示しているが、プロセッサ118とトランシーバ120は電子パッケージまたはチップに一緒に統合されてよいことが理解されよう。
【0063】
送受信要素122は、エアインターフェース116を介して、基地局(例えば基地局114a)に信号を送信し、または基地局から信号を受信するように構成され得る。例えば、一実施形態では、送受信要素122は、RF信号を送信および/または受信するように構成されたアンテナとすることができる。実施形態において、送受信要素122は、例えば、IR、UV、または可視光信号を送信および/または受信するように構成されたエミッタ/検出器とすることができる。さらに別の実施形態では、送受信要素122は、RF信号と光信号の両方を送信および/または受信するように構成され得る。送受信要素122が無線信号の任意の組み合わせを送信および/または受信するように構成され得ることは理解されよう。
【0064】
図1Bでは単一の要素として送受信要素122が示されているが、WTRU102は任意の数の送受信要素122を含み得る。より具体的には、WTRU102はMIMO技術を利用することができる。従って、一実施形態では、WTRU102は、エアインターフェース116を介して無線信号を送信および受信するための2つ以上の送受信要素122(例えば、複数のアンテナ)を含み得る。
【0065】
トランシーバ120は、送受信要素122によって送信される信号を変調し、送受信要素122によって受信された信号を復調するように構成され得る。上記されたように、WTRU102はマルチモード能力を有することができる。従って、トランシーバ120は、例えば、NRおよびIEEE802.11などの複数のRATを介してWTRU102が通信することを可能にするための複数のトランシーバを含むことができる。
【0066】
WTRU102のプロセッサ118は、スピーカ/マイクロフォン124、キーパッド126、および/またはディスプレイ/タッチパッド128(例えば、液晶表示(LCD)ディスプレイユニット若しくは有機発光ダイオード(OLED)表示ユニット)に結合され、それらからユーザ入力データを受信することができる。プロセッサ118は、スピーカ/マイクロフォン124、キーパッド126、および/またはディスプレイ/タッチパッド128にユーザデータを出力することもできる。プロセッサ118は、着脱不能メモリ130および/または着脱可能メモリ132などの任意のタイプの適切なメモリの情報にアクセスでき、それらにデータを記憶できる。着脱不能メモリ130は、RAM、ROM、ハードディスクまたは他の任意のタイプのメモリストレージデバイスを含み得る。着脱可能メモリ132は、SIMカード、メモリスティック、およびSDメモリカードなどを含み得る。他の実施形態では、プロセッサ118は、WTRU102上に物理的に配置されずにサーバまたはホームコンピュータ(図示せず)上などにあるメモリからの情報にアクセスすることができ、それらにデータを記憶することができる。
【0067】
プロセッサ118は、電源134から電力を受け取り、WTRU102内の他の構成要素への電力の分配および/または制御をするように構成され得る。電源134は、WTRU102に電力供給するための任意の適切なデバイスであってよい。例えば、電源134は、1つまたは複数の乾電池(例えば、ニッケル-カドミウム(NiCd)、ニッケル-亜鉛(NiZn)、ニッケル水素(NiMH)、リチウムイオン(Li-ion)など)、太陽電池、および燃料電池などを含み得る。
【0068】
プロセッサ118は、GPSチップセット136に結合されてもよく、GPSチップセット136は、WTRU102の現在のロケーションに関するロケーション情報(例えば、経度および緯度)を提供するように構成され得る。GPSチップセット136からの情報に加えてまたは代えて、WTRU102は、基地局(例えば、基地局114a、114b)からエアインターフェース116を介してロケーション情報を受信し、および/または2つ以上の近くの基地局から受信された信号のタイミングに基づいてそのロケーションを決定できる。WTRU102は、実施形態との整合性を保ちながら、任意の適切なロケーション決定方法によってロケーション情報を取得できることが理解されよう。
【0069】
プロセッサ118は、他の周辺機器138にさらに結合されてよく、他の周辺機器138は、追加的な特徴、機能性、および/または有線若しくは無線接続性を提供する1つまたは複数のソフトウェアおよび/またはハードウェアモジュールを含み得る。例えば、周辺機器138は、加速度計、電子コンパス、衛星トランシーバ、(写真および/またはビデオ用)デジタルカメラ、USBポート、振動デバイス、テレビトランシーバ、ハンズフリーヘッドセット、Bluetooth(登録商標)モジュール、周波数変調(FM)無線ユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ、バーチャルリアリティおよび/または拡張現実(VR/AR)デバイス、並びにアクティビティトラッカなどを含み得る。周辺機器138は、1つまたは複数のセンサを含んでよく、センサは、ジャイロスコープ、加速度計、ホール効果センサ、方位センサ、近接センサ、温度センサ、時間センサ、地理位置センサ、高度計、光センサ、タッチセンサ、磁力計、気圧計、ジェスチャセンサ、バイオメトリックセンサ、および/または湿度センサのうちの1つまたは複数であってよい。
【0070】
WTRU102は、全二重無線を含んでよく、全二重無線では、(例えば、UL(例えば送信用)とダウンリンク(例えば受信用)の両方についての特定のサブフレームに関連付けられた)信号の一部または全部の送信および受信が、並列および/または同時であり得る。全二重無線は、ハードウェア(例えばチョーク)またはプロセッサ(例えば、別個のプロセッサ(図示せず)若しくはプロセッサ118)による信号処理を介して自己干渉を低減させまたは実質的に除去するための干渉管理ユニットを含むことができる。実施形態において、WTRU102は、(例えば、UL(例えば送信用)またはダウンリンク(例えば受信用)のいずれかについての特定のサブフレームに関連付けられた)信号の一部または全部の送信および受信のための半二重無線を含んでよい。
【0071】
図1A~
図1Bでは無線端末としてWTRUが説明されているが、特定の代表的実施形態では、そのような端末は、通信ネットワークとの有線通信インターフェースを(例えば、一時的または永続的に)使用できることが企図される。
【0072】
代表的実施形態において、他のネットワーク112はWLANであってよい。
【0073】
図1A~
図1Bおよび対応する説明に鑑みて、本明細書に説明される機能の1つ若しくは複数または全ては、1つまたは複数のエミュレーションデバイス(図示せず)によって実行され得る。エミュレーションデバイスは、本明細書に説明される機能の1つ若しくは複数または全てをエミュレートするように構成された1つまたは複数のデバイスであり得る。例えばエミュレーションデバイスは、他のデバイスをテストするため、並びに/またはネットワークおよび/若しくはWTRU機能をシミュレートするために使用され得る。
【0074】
エミュレーションデバイスは、ラボ環境および/またはオペレータネットワーク環境において他のデバイスの1つまたは複数のテストを実装するように設計され得る。例えば、1つまたは複数のエミュレーションデバイスは、通信ネットワーク内の他のデバイスをテストするために、有線および/または無線通信ネットワークの一部として完全または部分的に実装および/または展開されながら、1つ若しくは複数または全ての機能を実行してよい。1つまたは複数のエミュレーションデバイスは、有線および/または無線通信ネットワークの一部として一時的に実装/展開されながら、1つ若しくは複数または全ての機能を実行してよい。エミュレーションデバイスは、テストのために別のデバイスに直接結合されてよく、および/または無線の無線通信を使用してテストを実行してよい。
【0075】
1つまたは複数のエミュレーションデバイスは、有線および/または無線通信ネットワークの一部として実装/展開されずに、全てを含む1つまたは複数の機能を実行してよい。例えば、エミュレーションデバイスは、1つまたは複数の構成要素のテストを実装するために、試験所並びに/または展開されていない(例えばテスト)有線および/若しくは無線通信ネットワークにおいてテストシナリオで利用されてよい。1つまたは複数のエミュレーションデバイスは試験装置であり得る。直接RF結合、および/または(例えば、1つ若しくは複数のアンテナを含み得る)RF回路を介した無線通信が、エミュレーションデバイスによってデータを送信および/または受信するために使用され得る。
【0076】
詳細な説明
ブロックベースのビデオコーディング
HEVCのように、VVCは、ブロックベースのハイブリッドビデオコーディングフレームワーク上に構築される。
図2Aは、ブロックベースのハイブリッドビデオ符号化システムのブロック図を示す。入力ビデオ信号103は、(コーディングユニット(CU)と呼ばれる)ブロックごとに処理される。VTM-1.0では、CUは最大128×128ピクセルにすることができる。しかしながら、四分木のみに基づいてブロックを区分化するHEVCとは異なり、VTM-1.0では、コーディングツリーユニット(CTU)は、四分木/二分木/三分木に基づいて様々なローカル特性に適応するように、CUに分割される。さらに、HEVCにおける複数パーティションユニットタイプの概念が削除され、CU、予測ユニット(PU)、および変換ユニット(TU)の分離がVVCでは存在しなくなった。代わりに、各CUは、さらなる区分化なしで予測と変換の両方の基本単位として常に使用される。マルチタイプツリー構造では、1つのCTUが最初に四分木構造によって区分化される。各四分木リーフノードは、二分木および三分木構造でさらに区分化され得る。
図3A~
図3Eに示されるように、4区分化、水平2区分化、垂直2区分化、水平3区分化、垂直3区分化の5つの分割タイプがある。
【0077】
図2Aに示されるように、空間予測(161)および/または時間予測(163)が実行され得る。空間予測(または「イントラ予測」)は、同じビデオピクチャ/スライス内の既にコーディングされた隣接ブロックのサンプル(参照サンプルと呼ばれる)からのピクセルを使用して、カレントビデオブロックを予測する。空間予測は、ビデオ信号に固有の空間冗長性を低減する。時間予測(「インター予測」または「動き補償予測」とも呼ばれる)は、既にコーディングされたビデオピクチャから再構成されたピクセルを使用して、カレントビデオブロックを予測する。時間予測は、ビデオ信号に固有の時間冗長性を低減する。所与のCUの時間予測信号は、通常、カレントCUとその時間参照との間の動きの量および方向を示す1つまたは複数の動きベクトル(MV)によってシグナリングされる。複数の参照ピクチャがサポートされる場合、参照ピクチャインデックスが追加的に送信され、参照ピクチャインデックスは、参照ピクチャストア(165)内のどの参照ピクチャから時間予測信号が到来するかを識別するために使用される。空間予測および/または時間予測の後、エンコーダにおけるモード決定ブロック(181)が、例えばレート-歪み最適化方法に基づいて、最良の予測モードを選択する。次いで、予測ブロックがカレントビデオブロック(117)から引かれ、予測残差が、変換(105)および量子化(107)を使用して非相関化される。量子化された残差係数は、逆量子化(111)され、逆変換(113)されて、再構成された残差を形成し、再構成された残差が予測ブロック(127)に戻されて、CUの再構成された信号を形成する。再構成されたCUが、参照ピクチャストア(165)に入れられ、将来のビデオブロックをコーディングするために使用される前に、再構成されたCUに対して、デブロッキングフィルタ、サンプル適応オフセット(SAO)、および適応ループ内フィルタ(ALF)などのループ内フィルタリングが適用され得る(167)。出力ビデオビットストリーム121を形成するために、コーディングモード(インターまたはイントラ)、予測モード情報、動き情報、および量子化された残差係数が全て、エントロピーコーディングユニット(109)に送信され、さらに圧縮およびパッキングされて、ビットストリームを形成する。
【0078】
図2Bは、ブロックベースのビデオデコーダの機能ブロック図を示す。ビデオビットストリーム202は、エントロピー復号ユニット208で最初にアンパックされエントロピー復号される。コーディングモードおよび予測情報は、空間予測ユニット260(イントラコーディングされている場合)または時間予測ユニット262(インターコーディングされている場合)のいずれかに送信されて、予測ブロックを形成する。残差変換係数は、逆量子化ユニット210および逆変換ユニット212に送信されて、残差ブロックを再構成する。予測ブロックと残差ブロックは226で一緒に加えられる。再構成されたブロックは、参照ピクチャストア264に記憶される前に、ループ内フィルタリングをさらに通過してよい。参照ピクチャストア内の再構成されたビデオは、ディスプレイデバイスを駆動するために送出され、また、将来のビデオブロックを予測するために使用される。
【0079】
前述のように、BMS-2.0は、
図2Aおよび
図2Bに示されたのと同じVTM-2.0の符号化/復号ワークフローに準拠している。しかしながら、いくつかのコーディングモジュール、特に時間予測に関連付けられたものがさらに強化されて、コーディング効率が向上される。本開示は、計算複雑性を低減し、BMS-2.0の既存のBIOツールに関連付けられた大きなビット幅の問題を解決することに関する。以下では、BIOツールの主な設計態様が紹介され、次いで、既存のBIO実装の計算複雑性およびビット幅に関するより詳細な分析が提供される。
【0080】
オプティカルフローモデルに基づく双予測での予測
ビデオコーディングにおける従来の双予測は、既に再構成された参照ピクチャから得られた2つの時間予測ブロックの単純な組み合わせである。しかしながら、ブロックベースの動き補償(MC)の制約により、2つの予測ブロックのサンプルの間で観察できる残りの小さな動きがあり、それによって動き補償予測の効率が低下する可能性がある。この問題を解決するために、BMS-2.0において双方向オプティカルフロー(BIO)が適用され、ブロック内部の全てのサンプルに対するそのような動きの影響を低減する。具体的には、BIOは、双予測が使用されたときにブロックベースの動き補償予測に加えて実行されるサンプルごとの動き精緻化である。現在のBIO設計では、1つのブロック内の各サンプルの精緻化された動きベクトルの導出は、古典的なオプティカルフローモデルに基づいている。I(k)(x,y)を、参照ピクチャリストk(k=0,1)から得られた予測ブロックの座標(x,y)におけるサンプル値とすると、∂I(k)(x,y)/∂xおよび∂I(k)(x,y)/∂yは、サンプルの水平勾配および垂直勾配である。オプティカルフローモデルが与えられると、(x,y)における動き精緻化(vx,vy)は、
【0081】
【0082】
によって導出され得る。
【0083】
図4では、(MV
x0,MV
y0)および(MV
x1,MV
y1)が、ブロックI
(0)およびI
(1)を生成するために使用されるブロックレベル動きベクトルを示す。さらに、サンプル位置(x,y)での動き精緻化(v
x,v
y)は、
【0084】
【0085】
に示すように、動き精緻化補償後のサンプルの値間の差Δ(
図4内のAおよびB)を最小化することによって計算される。
【0086】
さらに、導出された動き精緻化の規則性を確実にするために、動き精緻化は、1つの小さなユニット(すなわち、4×4ブロック)内のサンプルに関して一貫していると想定される。BMS-2.0では、(vx,vy)の値は、
【0087】
【0088】
のように、各4×4ブロックの周りの6×6ウィンドウΩ内のΔを最小化することによって導出される。
【0089】
式(3)で指定された最適化問題を解決するために、BIOは、最初に水平方向で次に垂直方向で動き精緻化を最適化する漸進的方法を使用する。この結果、
【0090】
【0091】
であり、ここで、
【0092】
【0093】
は、入力以下で最大の値を出力する床関数であり、thBIOは、コーディングノイズおよび不規則な局所的動きによるエラー伝搬を防止するための動き精緻化閾値であり、これは、218-BDに等しい。演算子( ? : )は、三項条件演算子であり、形式(a ? b : c)の表現は、aの値が真である場合にbと評価され、さもなければ、それはcと評価される。関数clip3(a,b,c)は、c<aの場合にaを返し、a≦c≦bの場合にcを返し、b<cの場合にbを返す。S1、S2、S3、S5、およびS6の値はさらに、
【0094】
【0095】
として計算され、ここで、
【0096】
【0097】
である。
【0098】
BMS-2.0では、水平方向と垂直方向の両方の(6)におけるBIO勾配は、各L0/L1予測ブロックの1つのサンプル位置において(導出される勾配の方向に応じて水平または垂直に)2つの隣接サンプルの間の差を計算することによって直接求められ、例えば、以下のように求められる。
【0099】
【0100】
式(5)において、Lは、データ精度を維持するための内部BIOプロセスのビット深度増大であり、BMS-2.0では5に設定される。さらに、より小さい値による分割を回避するために、式(4)における調整パラメータrおよびmが、
r=500・4BD-8
m=700・4BD-8 (8)
として定義され、ここで、BDは、入力ビデオのビット深度である。式(4)によって導出された動き精緻化に基づいて、カレントCUの最終的双予測信号は、以下に指定されるように、オプティカルフロー方程式(1)に基づいて動き軌道に沿ってL0/L1予測サンプルを補間することによって計算され得る:
【0101】
【0102】
ここで、bは、双方向オプティカルフローサンプルオフセットであり、shiftは、双予測のためにL0予測信号とL1予測信号を組み合わせるために適用される右シフトであり、15-BDに等しく設定されてよく、ooffsetは、1≪(14-BD)+2・(1≪13)に設定され得るビット深度オフセットであり、rnd(・)は、入力値を最も近い整数値に丸める丸め関数である。
【0103】
BIOのビット幅分析
前述の規格HEVCと同様に、VVCにおける双予測されたCUに関して、MVが分数のサンプル位置を指す場合、L0/L1予測信号、すなわち、I(0)(x,y)およびI(1)(x,y)が、後の平均化演算の精度を維持するために中間の高精度(すなわち、16ビット)で生成される。さらに、2つのMVのいずれかが整数である場合、(参照ピクチャから直接取り出される)対応する予測サンプルの精度は、平均化が適用される前に中間精度に向上される。中間ビット深度での双予測信号が与えられ、入力ビデオが10ビットであると仮定して、表1は、「オプティカルフローモデルに基づく双予測での予測」の節で示されたようなBIOプロセスの各段階で必要とされる中間パラメータのビット幅をまとめている。
【0104】
【0105】
表1から分かるように、BIOプロセス全体の極大ビット幅は、式(4)における垂直動き精緻化vyの計算で生じ、ここで、S6(42ビット)はVx(9ビット)とS2(33ビット)の乗法積によって減算される。従って、既存のBIO設計の最大ビット幅は、42+1=43ビットに等しい。さらに、乗算(すなわちvxS2)はS2を入力とするので、33ビット乗算器がvyの値を計算するために使用される。従って、BMS-2.0での現在のBIOの直接的な実装では、33ビット乗算器を必要とし、中間パラメータについて43ビットの最大ビット幅を有する。
【0106】
BIOの計算複雑性分析
この節では、既存のBIO設計に対して計算複雑性分析が実行される。具体的には、BMS-2.0の現在のBIO実装に従って、BIOが適用された状態で最終的な動き補償予測を生成するために使用される演算(例えば、乗算および加算)の数が計算される。さらに、以下の議論を容易にするために、BIOにより予測されるカレントCUのサイズがW×Hに等しく、WはCUの幅でありHは高さであると仮定する。
【0107】
L0およびL1予測サンプルの生成
式(3)に示されるように、各4×4ブロックの局所動き精緻化(vx,vy)を導出するために、必要とされるサンプル値および勾配値の両方が、サンプルの周りの6×6周囲ウィンドウ内の全てのサンプルについて計算される。従って、CU内の全てのサンプルについて局所動き精緻化(vx,vy)を導出するために、(W+2)×(H+2)サンプルの勾配がBIOによって使用される。さらに、式(7)に示されるように、水平勾配と垂直勾配の両方が、2つの隣接サンプルの間の差を直接計算することによって得られる。従って、(W+2)×(H+2)勾配値を計算するために、L0とL1の両方の予測方向での予測サンプルの総数が(W+4)×(H+4)に等しくなる。現在の動き補償は2D分離可能有限インパルス応答(FIR)8タップフィルタに基づくので、L0およびL1予測サンプルの生成に使用される乗算と加算の両方の数は、((W+4)×(H+4+7)×8+(W+4)×(H+4)×8)×2に等しい。
【0108】
勾配計算
式(7)に示されるように、勾配は2つの隣接する予測サンプルから直接計算されるので、サンプルごとに1つのみの加算が必要とされる。L0とL1の両方の(W+2)x(H+2)の拡張された領域で水平勾配と垂直勾配の両方が導出されることを考慮すると、勾配の導出に必要な加算の総数は、((W+2)×(H+2))×2×2に等しい。
【0109】
相関パラメータ計算
式(5)および(6)に示されるように、BIOによって拡張領域(W+2)x(H)内の全てのサンプルについて計算される5つの相関パラメータ(すなわち、S1、S2、S3、S5、およびS6)がある。さらに、各サンプル位置において5つのパラメータを計算するために使用される5つの乗算と3つの加算がある。従って、相関パラメータを計算するための乗算および加算の総数はそれぞれ、((W+2)×(H+2))×5および((W+2)×(H+2))×3に等しい。
【0110】
総和
上述のように、BIO動き精緻化(vx,vy)は、カレントCU内の各4×4ブロックについて別々に導出される。各4×4ブロックの動き精緻化を導出するために、6×6周囲領域内の5つの相関パラメータの合計が計算される。従って、この段階で、5つの相関パラメータの総和は、総計で(W/4)×(H/4)×6×6×5の加算を使用する。
【0111】
動き精緻化導出
式(4)に示されるように、各4×4ブロックの局所動き精緻化(vx,vy)を導出するために、調節パラメータrをS1およびS3に追加するための2つの加算がある。さらに、vyの値を計算するための1つの乗算および加算がある。従って、CU内の全ての4×4ブロックについての動き精緻化を導出するために、使用される乗算および加算の数はそれぞれ、(W/4)×(H/4)および(W/4)×(H/4)×3に等しい。
【0112】
双予測信号の生成
式(9)に示されるように、導出された動き精緻化が与えられると、各サンプル位置における最終的予測サンプル値を導出するために、2つの乗算および6つの加算がさらに使用される。この段階で、総計でW×H×2の乗算およびW×H×6の加算が行われる。
【0113】
いくつかの実施形態で対処される課題
上述のように、BIOは、動き補償段階で使用される動きベクトルの粒度および精度の両方を改善することによって、双予測での予測の効率を向上することができる。BIOはコーディング性能を効率的に改善することができるが、実際のハードウェア実装の複雑性が大幅に増大する。本開示では、BMS-2.0の現在のBIO設計に存在する以下の複雑性問題が特定される。
【0114】
BIOのための大きい中間ビット幅および大きい乗算器
HEVC規格と同様に、MVが参照ピクチャにおける分数のサンプル位置を指すとき、予測ブロックの予測サンプルを補間するために、動き補償段階で2D分離可能FIRフィルタが適用される。具体的には、最初に、MVの水平分数成分に応じて中間サンプルを導出するために1つの補間フィルタが水平方向に適用され、次に、MVの垂直分数成分に応じて上記の水平分数サンプル上に別の補間フィルタが垂直に適用される。入力が10ビットビデオ(すなわち、BD=10)であると仮定して、表2は、動き補償プロセスからの補間されたサンプルの最悪の場合のビット幅に対応する半サンプル位置を水平および垂直MVが指すことを仮定して、VTM/BMS-2.0での動き補償予測プロセスのビット幅測定を示している。具体的には、最初の段階で、正および負のフィルタ係数に関連付けられた入力参照サンプルの値をそれぞれ最大入力値(すなわち、2BD-1)および最小入力値(すなわち、0)に設定することによって、最初の補間プロセス(水平補間)後の中間データの最悪の場合のビット幅が計算される。次いで、第2の補間の入力値の値を、第1の補間から出力された最悪の可能な値に設定することによって、第2の補間プロセス(垂直補間)の最悪の場合のビット幅が得られる。
【0115】
【0116】
表2から分かるように、動き補償補間の最大ビット幅は、垂直補間プロセスに存在し、ここで、入力データは15ビットであり、フィルタ係数は7ビットの符号付き値であり、従って、垂直補間からの出力データのビット幅は22ビットである。さらに、垂直補間プロセスへの入力データが15ビットの場合、動き補償段階での中間分数サンプル値の生成には15ビット乗算器で十分である。
【0117】
しかしながら、上記で分析したように、既存のBIO設計は、33ビット乗算器を必要とし、中間データの精度を維持するために43ビット中間パラメータを有する。表2と比較すると、いずれの数字も通常の動き補償補間のものより非常に大きい。実際には、そのような大幅なビット幅増大(特に必要とされる乗算器のビット幅増大)は、ハードウェアとソフトウェアの両方にとって非常に費用がかかり、BIOの実装コストが増大し得る。
【0118】
BIOの高い計算複雑性
上記の複雑性分析に基づいて、表3および表4は、現在のBIOに従って異なるCUサイズについてサンプルごとに行う必要がある乗算および加算の数を示し、それらを、VTM/BMS-2.0での最悪の場合の計算複雑性に対応する通常の4×4の双予測されたCUの複雑性統計値と比較する。4×4の双予測されたCUについて、補間フィルタの長さ(例えば、8)が与えられると、乗算および加算の総数は、(4×(4+7)×8+4×4×8)×2=960(すなわち、サンプルあたり60)および(4×(4+7)×8+4×4×8)×2+4×4×2=992(すなわち、サンプルあたり62)に等しい。
【0119】
【0120】
【0121】
表3および表4に示されるように、計算複雑性は、BMS-2.0において既存のBIOを可能にすることにより、通常の双予測の最悪の場合の複雑性と比較して大幅な増大を示す。複雑性増大のピークは、4×4の双予測CUで生じ、BIOが有効にされた乗算および加算の数は、最悪の場合の双予測の場合の329%および350%である。
【0122】
例示的実施形態の概要
上述された問題の少なくともいくつかを解決するために、この節では、コーディング利得を維持しながら、BIOに基づく動き補償予測の複雑性を低減する方法が提案される。第1に、実装コストを低減するために、本開示では、ハードウェアBIO実装に使用される内部ビット幅を低減するためのビット幅制御方法が提案される。いくつかの提案される方法では、BIOが有効にされた動き補償予測は、15ビットの乗算器および32ビット内の中間値を用いて実装され得る。
【0123】
第2に、簡略化されたフィルタを使用し、BIO動き精緻化に使用される拡張された予測サンプルの数を低減することによって、BIOの計算複雑性を低減する方法が提案される。
【0124】
さらに、いくつかの実施形態では、通常の双予測と比較して大幅な計算複雑性の増大をもたらすCUサイズのBIO動作を無効にすることが提案される。これらの複雑性低減の組み合わせに基づいて、BIOが有効になっているときの動き補償予測の最悪の場合の計算複雑性(例えば、乗算および加算の数)が、通常の双予測の最悪の場合の複雑性とほぼ同じレベルに低減され得る。
【0125】
例示的BIOビット幅制御方法
上記で指摘されたように、BMS-2.0における現在のBIOの実装は、HEVCの動き補償補間の実装の場合よりもはるかに大きい、33ビットの乗算器および中間パラメータの43ビットのビット幅を使用する。従って、ハードウェアおよびソフトウェアにBIOを実装するのに非常にコストがかかる。この節では、BIOに必要なビット幅を低減するためのビット幅制御方法が提案される。例示的方法では、以下に示されるように、中間パラメータの全体的ビット幅を低減するために、式(6)における水平中間パラメータアレイΨx(i,j)、垂直中間パラメータアレイΨy(i,j)、および信号差パラメータアレイθ(i,j)のうちの1つまたは複数がそれぞれ最初にnaビットおよびnbビット下位方向にシフトされる:
【0126】
【0127】
さらに、ビット幅をさらに小さくするために、元のLビット内部ビット深度増大が除去され得る。そのような変更により、(5)における方程式で計算することで、水平勾配相関パラメータ(S1)、相互勾配相関パラメータ(S2)、信号水平勾配相関パラメータ(S3)、垂直勾配相関パラメータ(S5)、および信号垂直勾配相関パラメータ(S6)が以下のように実装され得る:
【0128】
【0129】
異なる数の右シフト(すなわち、naおよびnb)がΨx(i,j)、Ψy(i,j)、およびθ(i,j)に適用されることを考慮に入れると、S1、S2、S3、S5、およびS6の値が異なるファクタによってダウンスケールされ、それにより、導出された動き精緻化(vx,vy)の幅を変更し得る。従って、導出された動き精緻化の正確な幅範囲を提供するために、追加の左シフトが式(4)に導入されてよい。具体的には、例示的方法では、水平動き精緻化vxおよび垂直動き精緻化vyは、以下のように導出され得る。
【0130】
【0131】
式(4)とは異なり、この実施形態では、調整パラメータrおよびmは適用されないことに留意されたい。さらに、(vx,vy)の動的範囲を低減するために、この実施形態では、元のBIO設計の式(4)のthBIO=218-BDと比較して小さい動き精緻化閾値th’BIO=213-BDが適用される。式(12)において、積vxS2は、S2を16ビットよりも大きいビット幅の入力とし、従って、vyの値を計算するために16ビットより大きい乗算器が求められ得る。そのような事態を回避するために、相互勾配相関パラメータS2の値を2つの部分に分割して、第1の部分S2,Sは最下位nS2ビットを含み、第2の部分S2,mはその他のビットを含むことが提案される。これに基づいて、値S2は、以下のように表現され得る。
【0132】
【0133】
次いで、式(13)を式(12)に代入すると、垂直動き精緻化vyの計算は、以下のようになる。
【0134】
【数22】
最後に、(11)で元のLビット内部ビット深度増大が除去されるので、(9)の双予測サンプルを強化するために適用される差bの導出が、以下のように修正され得る。
【0135】
【数23】
実際に、n
a、n
b、およびn
S2の異なる値が、中間ビット幅と計算コストとの間の異なるトレードオフを達成するために適用される。本開示のいくつかの実施形態では、3つのパラメータの値が以下のように設定されることが提案される:
・ 中間BIOパラメータの妥当な内部ビット幅を提供するために、n
aが3に設定され、n
bが6に設定される。
・ HEVCの動き補償に使用される乗算器と同じ1つの15ビット乗算器によって、BIOに関与する全ての乗算が行われることが可能であるように、n
S2が12に設定される。
【0136】
入力ビデオが10ビットであると仮定して、表5は、ビット幅制御方法の例がBIOに関して適用された場合の中間パラメータのビット幅をまとめている。表5のように、提案された例示的ビット幅制御方法を用いると、BIOプロセス全体の内部ビット幅が32ビットを超えない。可能な最悪の入力を伴う乗算は、式(14)におけるvxS2,mの積で生じ、ここで、入力S2,mは15ビットであり、入力vxは4ビットである。従って、1つの15ビット乗算器は、BIOに関して例示的方法が適用される場合に十分である。
【0137】
【0138】
【0139】
最後に、式(10)において、L0およびL1予測サンプルI(0)(i,j)およびI(1)(i,j)間の差に対して右シフトを適用することによって、BIOパラメータθ(i,j)が計算される。I(0)(i,j)とI(1)(i,j)の値は両方とも16ビットであり、それらの差は1つの17ビット値であり得る。そのような設計は、SIMDベースのソフトウェア実装にはあまり適していないことがある。例えば、128ビットSIMDレジスタは、4つのサンプルのみを並列に処理することができる。従って、別の例では、以下のように、信号差パラメータアレイθ(i,j)を計算するときに差を計算する前にまず右シフトを適用するように提案される:
θ(i,j)=(I(1)(i,j)≫nb)-(I(0)(i,j)≫nb) (16)
【0140】
そのような実施形態では、各操作の入力値は16ビット以下であるので、より多くのサンプルが並列に処理され得る。例えば、式(16)を使用することによって、8個のサンプルが、1つの128ビットSIMDレジスタによって同時に処理され得る。いくつかの実施形態では、類似した方法が式(7)の勾配計算に適用されることにより、各SIMD計算のペイロードを最大化するように、L0予測サンプルとL1予測サンプルとの間の差を計算する前に4ビット右シフトが適用される。具体的には、そうすることによって、勾配値は、以下のように計算され得る。
【0141】
【0142】
BIO計算複雑性を低減する例示的方法
上に示されたように、BMS-2.0における既存のBIO設計は、通常の双予測の最悪の場合の計算複雑性と比較して大きな複雑性増大(例えば、乗算および加算の数)をもたらす。以下では、BIOの最悪の場合の計算複雑性を低減する方法が提案される。
【0143】
簡略化されたフィルタを使用して拡張サンプルを生成することによるBIO複雑性低減
上述のように、カレントCUがW×Hであると仮定すると、拡張された領域(W+2)×(H+2)におけるサンプルの勾配は、CU内の全ての4×4ブロックについての動き精緻化を導出するために計算される。既存のBIO設計では、動き補償に使用される同じ補間フィルタ(8タップフィルタ)が、これらの拡張されたサンプルを生成するために使用される。表3および表4に示されるように、拡張された領域でのサンプルの補間による複雑性は、BIOの複雑性ボトルネックである。従って、BIO複雑性を低減するために、8タップ補間フィルタを使用する代わりに、BIO CUの拡張された周囲領域でのサンプルの生成のために、タップ長がより短い簡略化された補間フィルタを使用することが提案される。他方で、拡張されたサンプルの生成では、参照ピクチャからのより多くの参照サンプルにアクセスする必要があるため、これがBIOのメモリ帯域幅を増大させる可能性がある。メモリ帯域幅増大を回避するために、BMS-2.0の現在のBIOで使用されている参照サンプルパディングが適用されることが可能であり、この場合、CUの通常の動き補償の通常の参照領域(すなわち、(W+7)×(H+7))の外側の参照サンプルが、通常の参照領域の最も近い境界サンプルによってパディングされる。パディングされた参照サンプルのサイズを計算するために、拡張されたサンプルを生成するために使用される簡略化されたフィルタの長さをNと仮定すると、通常の参照領域の上下左右の各境界に沿ったパディングされた参照サンプルの数Mは、以下と等しい。
【0144】
【0145】
式(18)に示されるように、8タップフィルタを使用して、拡張された予測サンプルを生成することによって、通常の参照領域の境界上の参照サンプルが各方向に2行または2列でパディングされる。
図5は、BIOにより、拡張された領域でサンプルを生成するための、簡略化されたフィルタおよび参照サンプルパディングの使用を示している。
図5のように、簡略化されたフィルタは、拡張された領域内の予測サンプルを生成するためにのみ使用される。カレントCUの領域内の位置について、それらの予測サンプルが、デフォルトの8タップ補間を適用することによって生成されて、BIOコーディング効率を維持する。特に、本開示の一実施形態として、バイリニア補間フィルタ(すなわち、2タップフィルタ)を使用して、拡張されたサンプルを生成し、それにより、BIOに使用される操作の数をさらに低減することが提案される。
図6は、バイリニアフィルタを使用してBIOのための拡張されたサンプルを補間する場合を示す。CU内の予測サンプルは、デフォルトの8タップフィルタによって補間される。
図6に示されるように、フィルタ長が短縮されたため、バイリニアフィルタは、拡張された領域内の必要とされるサンプルを補間するために通常の参照領域外の追加の参照サンプルにアクセスする必要がない。従って、この場合、参照サンプルのパディングが回避されることが可能であり、これにより、BIO操作の複雑性をさらに低減することができる。
【0146】
さらに、表3および表4の異なるCUサイズについての複雑性統計値の比較に基づいて、複雑性増大が、より低い高さのCUサイズの場合により大きいことが認められ得る。例えば、8×4CUと4×8CUは、同じ数のサンプルを含むが、それらは、異なる複雑性増大パーセンテージを示す。具体的には、8×4CUの場合、BIOを有効にした後の乗算および加算の数はそれぞれ149%および172%増大するが、4×8CUの場合、対応する複雑性増大はそれぞれ126%および149%である。そのような複雑性の差は、現在の動き補償設計において、最初に水平補間フィルタが適用され、次に垂直補間フィルタが適用されるという事実によってもたらされる。適用されたMVが垂直方向の分数位置を指す場合、より多くの中間サンプルが水平補間から生成され、垂直補間のための入力として使用される。従って、拡張された領域でより多くの参照サンプルが生成されることによる複雑性効果は、高さがより低いCUサイズの場合に比較的により重要である。
【0147】
いくつかの実施形態では、最悪の場合のBIO複雑性を低減するために、小さい高さを有する特定のCUサイズを無効にすることが提案される。特定のCUサイズを無効にするだけの上記の方法の他に、垂直補間プロセスで増加された操作の数を解決する別の方法は、垂直補間に使用される補間フィルタを簡略化する。現在の設計では、同じ8タップ補間フィルタが水平方向と垂直方向の両方に適用される。複雑性を低減するために、いくつかの実施形態では、BIOが有効にされたとき、水平方向および垂直方向の補間フィルタで異なる補間フィルタを使用し、第2のフィルタプロセス(例えば垂直補間)に適用されるフィルタサイズは、第1のフィルタプロセス(例えば水平補間)に適用されるフィルタサイズよりも小さくすることが提案される。例えば、垂直補間用の現在の8タップ補間フィルタと置き換えるために4タップクロマ補間フィルタが使用され得る。そうすることにより、拡張された領域での予測サンプルの生成について複雑性を約半分に低減することができる。CU内では、垂直補間用の8タップフィルタを使用してサンプルが生成され得る。複雑性をさらに低減するために、さらに小さいサイズの補間フィルタ、例えばバイリニアフィルタが使用され得る。
【0148】
ここでオプション1と呼ばれる1つの具体例では、最悪の場合のBIO複雑性を低減するために、バイリニアフィルタを使用して、BIOの拡張された領域でサンプル値を生成し、高さ4(すなわち、4×4、8×4、16×4、32×4、64×4、および128×4)を有するCU並びに4×8CUについてBIOを完全に無効にすることが提案される。表6および表7は、オプション1によって様々なCUサイズについてサンプルごとに実行するために使用される乗算および加算の数を示し、それらを通常の双予測の最悪の場合の数と比較している。表6および表7において、強調表示されている行は、BIOが無効にされたCUサイズを表す。これらの行では、対応するBIOに関係付けられた操作が0に設定され、それぞれの複雑性は、同じサイズのCUの通常の双予測と同じである。見られるように、オプション1では、計算複雑性ピークは8×8 BIO CUで生じ、乗算および加算の数は、通常の双予測の最悪の場合の複雑性の110%と136%である。
【0149】
【0150】
【0151】
拡張された領域のサイズを低減することによるBIO複雑性低減
図5および
図6に示されるように、上述のBIO複雑度低減方法は、やはりカレントCUの各境界の周りの予測サンプルの2つの追加の行/列を補間するように動作する。簡略化されたフィルタを使用して操作の数を減らすが、補間される必要のあるサンプルの数のため、ある程度の複雑性増大が依然として生じる。BIO複雑性をさらに低減するために、いくつかの実施形態では、拡張されたサンプルの数を各CU境界で2つの行/列から単一の行/列に低減する方法が提案される。具体的には、現在のBIOによって(W+4)×(H+4)サンプルを使用する代わりに、いくつかの実施形態では、さらなる複雑性低減のために(W+2)×(H+2)サンプルのみを使用する。しかしながら、式(7)に示されるように、各サンプルの勾配計算は、左と右の隣接要素(水平勾配の場合)または上と下の隣接要素(垂直勾配の場合)の両方のサンプル値を使用する。従って、拡張された領域サイズを(W+2)×(H+2)に低減することにより、方法はCU内のサンプルの勾配値を計算できるだけであり、従って、既存のBIO動き精緻化は、CU領域の四隅に配置された4×4ブロックに対して直接実行されることができない。この問題に対処するために、いくつかの実施形態では、CU外のサンプル位置の勾配(すなわち、
【0152】
【0153】
)とサンプル値(すなわち、I
(k)(x,y))との両方がCU内のそれらの最も近い隣接要素と等しく設定される方法が適用される。
図7は、サンプル値と勾配の両方のそのようなパディングプロセスを示す。
図7において、暗いブロックはCU内の予測サンプルを表し、白いブロックは拡張された領域内の予測サンプルを表す。
【0154】
図に示された例では、CU領域内の全てのサンプル(すなわち、
図7内の暗いブロック)の勾配が正確に導出され得るように、拡張された領域において単一の行/列のみの追加の予測サンプルが生成される。しかしながら、CUの四隅のサブブロック(例えば、
図7における黒い太線の四角で囲まれたサブブロック)に関して、それらのBIO動き精緻化はサブブロックの周囲の局所領域(例えば、
図7の黒い破線の四角で囲まれた領域)から導出されるので、それらは、拡張された領域内のいくつかのサンプル(例えば、
図7の白いブロック)の勾配情報を使用するが、それらの情報は欠落している。この問題を解決するために、それらの欠落した勾配は、
図7の矢印によって示されるように、CU領域内の最も近い境界サンプルの勾配値を複製することによってパディングされる。さらに、勾配のみがパディングされる場合、拡張された領域内のサンプル位置に使用される勾配とサンプル値がずらされる、すなわち、サンプル値はそれらの真のサンプル値である一方で、勾配はCU内のそれらの隣接サンプルの勾配であるという問題が生じる可能性がある。これは、導出されたBIO動き精緻化の精度を低下させる可能性がある。従って、そのような不整合を回避するために、BIO導出プロセス中に、サンプル値と拡張された領域のサンプルの勾配の両方がパディングされる。
【0155】
さらに大きい複雑性低減を達成するために、いくつかの実施形態では、提案されたパディング方法は、簡略化された補間フィルタを使用する方法、および上記の特定のCUサイズについてBIOを無効にする方法と組み合わされる。オプション2と呼ばれる1つの具体例では、BIO導出のためにパディングされたサンプルおよび勾配を使用し、バイリニアフィルタを適用してCU境界の周りの1つの追加の行/列において拡張されたサンプルを生成することによって、拡張されたサンプル領域を(W+2)×(H+2)に減らすことが提案される。さらに、高さ4(すなわち、4×4、8×4、16×4、32×4、64×4、および128×4)を有するCU並びに4×8CUについてBIOが適用できないようにされる。表8および表9は、そのような方法を適用後に、様々なCUサイズについてサンプルごとに使用される乗算および加算の対応する数を示し、それらを通常の双予測の最悪の場合の数と比較している。表6および表7と同様に、強調表示されている行は、BIOが無効にされたCUサイズを表す。オプション2により見られるように、乗算および加算の数は、通常の双予測の最悪の場合の複雑性の103%および129%である。
【0156】
【0157】
【0158】
別の実施形態では、やはりデフォルトの8タップフィルタを使用して、BIO CUの拡張された領域内の予測サンプルを補間することが提案される。しかしながら、BIO複雑性を低減するために、拡張された領域のサイズは、(W+4)×(H+4)から(W+2)×(H+2)に減少され、すなわち、CUの上、左、下、および右境界のそれぞれにおいて1つの追加の行/列がある。
図7で説明したように、欠落している勾配を計算し、予測サンプルと勾配の間のずれを回避するために、拡張された領域内のサンプルのサンプル値と勾配の両方が、BIO導出プロセス中にパディングされる。さらに、オプション1および2と同様に、特定のブロックサイズ(例えば、4と等しい高さを有する全てのCU、および4×8、4×16、8×8、16×8のサイズのCU)が無効にされ得る。
【0159】
別の実施形態では、BIOプロセスがカレントCU領域内の予測サンプルの補間のみに関わるように、BIO CUの拡張された領域内の全ての予測サンプルを破棄することが提案される。そうすることにより、予測サンプルの生成の対応するBIOの操作が通常の双予測の操作と同じになる。しかしながら、補間されたサンプルの減少された数のため、カレントCU上の境界サンプルの勾配が通常のBIOプロセスによって導出されることができない。そのような場合、CUの内部予測サンプルの勾配値がCU境界におけるサンプルの勾配になるようにパディングすることが提案される。
【0160】
ここでオプション3と呼ばれる本開示の別の実施形態では、BIO導出のためにパディングされたサンプルおよび勾配を使用することによって、拡張されたサンプル領域を(W+2)×(H+2)に縮小し、通常の動き補償に使用されるのと同じ8タップ補間を適用して、拡張されたサンプルをCU境界の周りの1つの追加の行/列に生成することが提案される。さらに、オプション3では、高さ4(すなわち、4×4、8×4、16×4、32×4、64×4、および128×4)を有するCU並びに4×8CUについてBIOが無効にされる。
【0161】
上述の方法の場合、拡張された領域のサイズは(W+4)×(H+4)から(W+2)×(H+2)に減少されるが、それらの方法は、依然としてBIO CUの境界の周りの1つの追加の行/列を補間するように動作し得る。表8および表9に示されるように、そのような方法は、依然として、全体のBIO複雑性に無視できないほどの複雑性増大をもたらす可能性がある。BIO計算複雑性をさらに低減するために、いくつかの実施形態では、(補間なしで)整数サンプル位置に配置された参照サンプルであって、拡張された領域内のサンプルとして参照ピクチャから直接取り出された参照サンプルを直接使用し、それらを使用してカレントCUの境界サンプルの勾配値を導出することが提案される。
図10は、整数参照サンプルがBIO導出のための拡張されたサンプルとして使用される実施形態を示す。
図10に示されるように、CU領域内のサンプル(網掛けされたブロック)は、デフォルトの8タップ補間フィルタを適用することによって生成される。しかし、拡張された領域(網掛けされていないブロック)のサンプルについては、補間フィルタ(例えば、バイリニアフィルタまたは8タップ補間フィルタ)を使用する代わりに、それらのサンプル値は、参照ピクチャ内の整数サンプル位置における対応するサンプル値と等しく直接設定される。そうすることにより、拡張されたサンプルの補間によって導入される全ての操作が回避されることが可能であり、それにより、BIOの大幅な複雑性低減を提供することができる。別の実施形態では、整数参照サンプルを使用する代わりに、拡張された領域内のサンプルを、CU境界における最も近い隣接サンプルに等しく直接設定することが提案される。
【0162】
上記の方法では追加の予測サンプルの単一の行/列のみがBIO導出に使用されるので、いくつかの実施形態では、
図7に示されるようなパディング方法が、BIO導出プロセス中にCU境界上のサンプルのサンプル値と勾配の両方を拡張された領域にパディングするように適用され得る。そのような実施形態では、最悪の場合のBIO複雑性を低減するために、特定のCUサイズについてBIOが無効にされ得る。例えば、いくつかの実施形態では、BIOは、高さ4(すなわち、4×4、8×4、16×4、32×4、64×4、および128×4)を有するCU並びに4×8CUについて無効にされ得る。
【0163】
サブブロックモードにより予測されたCUに対してBIOを無効にする
HEVCでは、各予測ユニットは、予測方向に対して最大で1つのMVを有する。対照的に、現在のVTM/BMS-2.0では、高度時間動きベクトル予測(ATMVP)およびアフィン予測を含む2つのサブブロックレベルインター予測技法が含まれる。それらのコーディングモードでは、ビデオブロックはさらに複数の小さなサブブロックに分割され、各サブブロックについての動き情報が個別に導出される。各サブブロックについての動き情報は、動き補償段階でブロックの予測信号を生成するために使用される。他方で、BMS-2.0の現在のBIOは、CUレベルの動き補償予測に加えて、4×4サブブロックレベルでの動き精緻化を提供することができる。サブブロックでコーディングされたCUの動きフィールドの細かな粒度により、BIOによる精緻化された動きから得られる追加のコーディング利点は非常に限られる可能性がある。いくつかの実施形態では、BIOは、サブブロックモードによってコーディングされたCUについて無効にされる。
【0164】
予め決定された予測モードを使用してCUに対してBIOを無効にする
VVCにおいて、いくつかのインター双予測モードは、動きが線形であり、リスト0とリスト1の動きベクトルが対称であるという仮定に基づいている。これらのモードは、非特許文献2に記載されたMVDとのマージモード(Merge with MVD mode:MMVD)、および非特許文献3に記載されたバイラテラルマッチングを用いるデコーダ側MV導出を含む。これらのモードは対称的動きを使用して予測を生成するため、これらの予測に対してBIOを適用することは効率的ではない可能性がある。複雑性を低減するために、いくつかの実施形態では、BIOは、MMVDまたはバイラテラルマッチングを用いるデコーダ側MV導出などの対称モードを使用して予測されるコーディングユニットについて無効にされる。
【0165】
イントラモードのための多重仮説予測が非特許文献4に記載されている。イントラモードのための多重仮説予測は、1つのイントラ予測と1つのインターマージインデックス付き予測を組み合わせる。イントラ予測から1つの予測が得られるため、いくつかの実施形態では、このインターとイントラが組み合わされた多重仮説予測を使用して予測されたコーディングユニットについてBIOが無効にされる。
【0166】
多重仮説インター予測については非特許文献5に記載されている。多重仮説インター予測では、最大2つの追加のMVが、1つのインターマージコーディングCUについてシグナリングされる。1つのCUに対して最大4つのMV、すなわち、明示的シグナリングからの2つMV、およびマージインデックスにより示されたマージ候補からの2つのMVが存在する。それらの複数のインター予測は加重平均と組み合わされる。この場合、予測は十分に良くなり得る。複雑性を低減するために、いくつかの実施形態では、BIOは、この多重仮説インター予測モードを使用して予測されたコーディングユニットについてBIOが無効にされ得る。
【0167】
コーディングされたビットストリーム構造
図8は、コーディングされたビットストリーム構造の例を示す図である。コーディングされたビットストリーム1300は、いくつかのNAL(ネットワーク抽象化層)ユニット1301を含む。NALユニットは、コーディングされたスライスデータ1306のようなコーディングされたサンプルデータ、またはパラメータセットデータ、スライスヘッダ1305、若しくは付加拡張情報データ1307(SEIメッセージと呼ばれることもある)のような高レベル構文メタデータを含んでよい。パラメータセットは、複数のビットストリーム層(例えば、ビデオパラメータセット1302(VPS))に適用してよい、または1つの層内のコーディングされたビデオシーケンス(例えば、シーケンスパラメータセット1303(SPS))に適用してよい、または1つのコーディングされたビデオシーケンス内のいくつかのコーディングされたピクチャ(例えば、ピクチャパラメータセット1304(PPS))に適用してよい基本的構文要素を含む高レベル構文構造である。パラメータセットは、ビデオビットストリームのコーディングされたピクチャと一緒に送信されてよく、または(信頼できるチャネルを使用する帯域外送信、ハードコーティングなどを含む)他の手段を介して送信されてよい。スライスヘッダ1305は、比較的小さくまたは特定のスライス若しくはピクチャタイプにのみ関連するいくらかのピクチャ関連情報を含み得る高レベル構文構造である。SEIメッセージ1307は、復号プロセスによって必要とされないかもしれないが、ピクチャ出力タイミングまたは表示並びに損失検出および隠蔽などの様々な他の目的のために使用され得る情報を搬送する。
【0168】
通信デバイスおよびシステム
図9は、通信システムの例を示す図である。通信システム1400は、エンコーダ1402、通信ネットワーク1404、およびデコーダ1406を備え得る。エンコーダ1402は、有線接続または無線接続であり得る接続1408を介して通信ネットワーク1404と通信できる。エンコーダ1402は、
図2Aのブロックベースのビデオエンコーダと同様であってよい。エンコーダ1402は、単一層コーデック(例えば
図2A)または多層コーデックを含み得る。デコーダ1406は、有線接続または無線接続であり得る接続1410を介して通信ネットワーク1404と通信できる。デコーダ1406は、
図2Bのブロックベースのビデオデコーダと同様であってよい。デコーダ1406は、単一層コーデック(例えば
図2B)または多層コーデックを含み得る。
【0169】
エンコーダ1402および/またはデコーダ1406は、以下に限定されないが、デジタルテレビジョン、無線ブロードキャストシステム、ネットワーク要素/端末、(例えば、ハイパーテキスト転送プロトコル(HTTP)サーバのような)コンテンツサーバまたはウェブサーバなどのサーバ、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲームデバイス、ビデオゲームコンソール、セルラ電話または衛星無線電話、デジタルメディアプレーヤなど、多種多様な有線通信デバイスおよび/または無線送受信ユニット(WTRU)に組み込まれてよい。
【0170】
通信ネットワーク1404は、適切なタイプの通信ネットワークであってよい。例えば、通信ネットワーク1404は、音声、データ、ビデオ、メッセージング、ブロードキャストなどのコンテンツを複数の無線ユーザに提供する、多元接続システムであり得る。通信ネットワーク1404は、複数の無線ユーザが、無線帯域幅を含むシステムリソースの共有を通じてそのようなコンテンツにアクセスすることを可能にする。例えば、通信ネットワーク1404は、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交FDMA(OFDMA)、および/またはシングルキャリアFDMA(SC-FDMA)など、1つまたは複数のチャネルアクセス方法を利用できる。通信ネットワーク1404は、複数の接続された通信ネットワークを含んでよい。通信ネットワーク1404は、インターネット、並びに/またはセルラネットワーク、WiFiホットスポット、および/若しくはインターネットサービスプロバイダ(ISP)ネットワークなどの1つ若しくは複数のプライベート商用ネットワークを含み得る。
【0171】
エンコーダおよびデコーダシステムおよび方法
いくつかの実施形態では、ビデオを符号化または復号するための方法が提供される。この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、第1の参照ピクチャからの第1の予測信号に基づいて第1の勾配成分を計算するステップと、第2の参照ピクチャからの第2の予測信号に基づいて第2の勾配成分を計算するステップと、第1の勾配成分と第2の勾配成分を合計し、得られた合計の下位方向ビットシフトを実行して、縮小ビット幅相関パラメータを生成するステップと、縮小ビット幅相関パラメータに少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。
【0172】
いくつかの実施形態では、第1の勾配成分は∂I(0)/∂xであり、第2の勾配成分は∂I(1)/∂xであり、縮小ビット幅相関パラメータは、以下の通りである。
【0173】
【0174】
いくつかの実施形態では、第1の勾配成分は∂I(0)/∂yであり、第2の勾配成分は∂I(1)/∂yであり、縮小ビット幅相関パラメータは、以下の通りである。
【0175】
【0176】
いくつかの実施形態では、ビデオを符号化または復号する方法が提供される。この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、第2の参照ピクチャに基づく第2の予測信号から第1の参照ピクチャに基づく第1の予測信号を引き、得られた差の下位方向ビットシフトを実行することによって、縮小ビット幅相関パラメータを生成するステップと、縮小ビット幅相関パラメータに少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。
【0177】
いくつかの実施形態では、第1の予測信号はI(0)であり、第2の予測信号はI(1)であり、縮小ビット幅相関パラメータは、
θ(i,j)=(I(1)(i,j)-I(0)(i,j))≫nb
である。
【0178】
いくつかの実施形態では、いくつかの実施形態では、ビデオを符号化または復号する方法が提供される。この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、
【0179】
【0180】
として水平動き精緻化を計算するステップと、
【0181】
【0182】
として垂直動き精緻化を計算するステップと、
計算された水平および垂直動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。いくつかのそのような実施形態では、
S1=Σ(i,j)∈ΩΨx(i,j)・Ψx(i,j)、
S2=Σ(i,j)∈ΩΨx(i,j)・Ψy(i,j)、
S3=Σ(i,j)∈Ωθ(i,j)・Ψx(i,j)、
S5=Σ(i,j)∈ΩΨy(i,j)・Ψy(i,j)、および
S6=Σ(i,j)∈Ωθ(i,j)・Ψy(i,j)
である。
【0183】
いくつかの実施形態では、ビデオを符号化または復号するための方法が提供される。この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、第1の参照ピクチャからの第1の予測信号に対して下位方向ビットシフトを実行することによって、縮小ビット幅の第1の予測信号を生成するステップと、第2の参照ピクチャからの第2の予測信号に対して下位方向ビットシフトを実行することによって、縮小ビット幅の第2の予測信号を生成するステップと、縮小ビット幅の第2の予測信号から縮小ビット幅の第1の予測信号を引くことによって、縮小ビット幅相関パラメータを生成するステップと、縮小ビット幅相関パラメータに少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。いくつかのそのような実施形態では、縮小ビット幅相関パラメータは、
θ(i,j)=(I(1)(i,j)≫nb)-(I(0)(i,j)≫nb)
である。
【0184】
いくつかの実施形態では、ビデオをコーディングする方法が提供される。この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、第1の参照ピクチャからの縮小ビット幅の第1の予測信号に基づいて、縮小ビット幅の第1の勾配成分を計算するステップと、第2の参照ピクチャからの縮小ビット幅の第2の予測信号に基づいて、縮小ビット幅の第2の勾配成分を計算するステップと、第1の縮小ビット幅勾配成分と第2の縮小ビット幅勾配成分を合計して、縮小ビット幅相関パラメータを生成するステップと、縮小ビット幅相関パラメータに少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。
【0185】
いくつかのそのような実施形態では、縮小ビット幅の第1の勾配成分は∂I(0)/∂xであり、縮小ビット幅の第2の勾配成分は∂I(1)/∂xであり、縮小ビット幅相関パラメータは、以下の通りとなる。
【0186】
【0187】
いくつかの実施形態では、縮小ビット幅の第1の勾配成分は∂I(0)/∂yであり、縮小ビット幅の第2の勾配成分は∂I(1)/∂yであり、縮小ビット幅相関パラメータは、以下の通りとなる。
【0188】
【0189】
いくつかの実施形態では、第1の参照ピクチャからの縮小ビット幅の第1の予測信号に基づいて縮小ビット幅の第1の勾配成分を計算するステップは、
【0190】
【0191】
を計算するステップを含み、第2の参照ピクチャからの縮小ビット幅の第2の予測信号に基づいて縮小ビット幅の第2の勾配成分を計算するステップは、
【0192】
【0193】
を計算するステップを含む。
【0194】
いくつかの実施形態では、第1の参照ピクチャからの縮小ビット幅の第1の予測信号に基づいて縮小ビット幅の第1の勾配成分を計算するステップは、
【0195】
【0196】
を計算するステップを含み、
第2の参照ピクチャからの縮小ビット幅の第2の予測信号に基づいて縮小ビット幅の第2の勾配成分を計算するステップは、
【0197】
【0198】
を計算するステップを含む。
【0199】
いくつかの実施形態では、ビデオをコーディングする方法が提供され、この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、カレントブロックにおけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号を生成するステップであって、カレントブロックにおけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号は、第1の数のタップを有する第1の補間フィルタを使用して生成されるステップと、カレントブロックの周りの拡張された領域におけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号を生成するステップであって、カレントブロックの外側のサンプルについての第1の動き補償予測信号および第2の動き補償予測信号は、第1の数のタップよりも少ない第2の数のタップを有する第2の補間フィルタを使用して生成されるステップと、第1の動き補償予測信号および第2の動き補償予測信号に少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。
【0200】
いくつかの実施形態では、第1の補間フィルタは8タップフィルタであり、第2の補間フィルタは2タップフィルタである。いくつかの実施形態では、第2の補間フィルタはバイリニア補間フィルタである。
【0201】
いくつかの実施形態では、ビデオをコーディングする方法が提供され、この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、第1の動き補償予測信号および第2の動き補償予測信号を生成するステップであって、カレントブロックにおけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号は、第1の数のタップを有する水平補間フィルタ、および第1の数のタップよりも少ない第2の数のタップを有する垂直補間フィルタを使用して生成される、ステップと、第1の動き補償予測信号および第2の動き補償予測信号に少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。
【0202】
いくつかの実施形態では、ビデオをコーディングする方法が提供され、この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、第1の動き補償予測信号および第2の動き補償予測信号を生成するステップであって、カレントブロックにおけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号は、第1の数のタップを有する水平補間フィルタ、および第2の数のタップを有する垂直補間フィルタを使用して生成され、水平フィルタおよび垂直フィルタは、予め決定された順序で適用され、順序でより早く適用されたフィルタは、順序でより遅く適用されたフィルタよりも多い数のタップを有する、ステップと第1の動き補償予測信号および第2の動き補償予測信号に少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。
【0203】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供され、この方法は、双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくとも高さ4を有するコーディングユニットについて双方向オプティカルフローを無効にするステップと、双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて双方向オプティカルフローなしの双予測を実施するステップと、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて双方向オプティカルフローを用いて双予測を実施するステップとを含む。いくつかのそのような実施形態では、双方向オプティカルフローはさらに、高さ8および幅4を有するコーディングユニットについて無効にされる。
【0204】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供される。この方法は、双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくとも閾値高さ以下の高さを有するコーディングユニットについて双方向オプティカルフローを無効にするステップと、双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて双方向オプティカルフローなしの双予測を実行するステップと、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて双方向オプティカルフローを用いて双予測を実行するステップとを含む。
【0205】
いくつかの実施形態では、ビデオをコーディングする方法が提供される。この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、カレントブロックにおけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号を生成するステップと、カレントブロックの周りの拡張された領域におけるサンプルについての第1の値および第2の値を生成するステップであって、拡張された領域は、カレントブロックから複数行または複数列離れたサンプルを含まない、ステップと、第1の動き補償予測信号および第2の動き補償予測信号並びに拡張された領域におけるサンプルについての第1の値および第2の値に少なくとも部分的に基づいて、動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。
【0206】
いくつかのそのような実施形態では、拡張された領域におけるサンプルについての第1の値を生成するステップは、拡張された領域における各第1のサンプル値を、カレントブロック内のそのそれぞれの最も近い隣接要素の第1の予測されたサンプル値と等しく設定するステップを含む。いくつかの実施形態では、拡張された領域におけるサンプルについての第2の値を生成するステップは、拡張された領域における各第2のサンプル値を、カレントブロック内のそのそれぞれの最も近い隣接要素の第2の予測されたサンプル値と等しく設定するステップを含む。
【0207】
いくつかの実施形態は、カレントブロックの周りの拡張された領域内のサンプルにおける第1の勾配値および第2の勾配値を生成するステップをさらに含み、拡張された領域内のサンプルにおける第1の勾配値を生成するステップは、拡張された領域内の各第1の勾配値を、第1の予測信号を使用してカレントブロック内のそのそれぞれの最も近い隣接要素において計算された勾配値と等しく設定するステップを含み、拡張された領域内のサンプルにおける第2の勾配値を生成するステップは、拡張された領域内の各第2の勾配値を、第2の予測信号を使用してカレントブロック内のそのそれぞれの最も近い隣接要素において計算された勾配値と等しく設定するステップを含む。
【0208】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供される。この方法は、双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくともサブブロックレベルインター予測技法を使用して予測されたコーディングユニットについて双方向オプティカルフローを無効にするステップと、双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて、双方向オプティカルフローなしの双予測を実行するステップと、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて、双方向オプティカルフローを用いて双予測を実行するステップとを含む。
【0209】
いくつかのそのような実施形態では、双予測は、少なくとも高度時間動きベクトル予測(ATMVP)を使用して予測されたコーディングユニットについて無効にされる。
【0210】
いくつかの実施形態では、双予測は、少なくともアフィン予測を使用して予測されたコーディングユニットについて無効にされる。
【0211】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供される。この方法は、双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくとも高さ4を有するコーディングユニットについて双方向オプティカルフローを無効にするステップと、双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて双方向オプティカルフローなしの双予測を実行するステップと、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて双方向オプティカルフローを用いて双予測を実行するステップとを含み、各カレントコーディングユニットについて双方向オプティカルフローを用いて双予測を実行するステップは、カレントコーディングユニットにおけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号を生成するステップであって、カレントブロックにおけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号は、第1の数のタップを有する第1の補間フィルタを使用して生成される、ステップと、カレントコーディングユニットの周りの拡張された領域におけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号を生成するステップであって、カレントコーディングユニットの外側のサンプルについての第1の動き補償予測信号および第2の動き補償予測信号は、第1の数のタップよりも少ない第2の数のタップを有する第2の補間フィルタを使用して生成される、ステップと、第1の動き補償予測信号および第2の動き補償予測信号に少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてカレントコーディングユニットを予測するステップとを含む。
【0212】
いくつかのそのような実施形態では、第1の補間フィルタは8タップフィルタであり、第2の補間フィルタは2タップフィルタである。いくつかの実施形態では、第2の補間フィルタはバイリニア補間フィルタである。
【0213】
いくつかの実施形態では、双方向オプティカルフローはさらに、高さ8および幅4を有するコーディングユニットについて無効にされる。
【0214】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供される。この方法は、双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくとも高さ4を有するコーディングユニットについて双方向オプティカルフローを無効にするステップと、双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて双方向オプティカルフローなしの双予測を実行するステップと、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて双方向オプティカルフローを用いて双予測を実行するステップとを含み、各カレントコーディングユニットについて双方向オプティカルフローを用いて双予測を実行するステップは、カレントコーディングユニットにおけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号を生成するステップと、カレントコーディングユニットの周りの拡張された領域におけるサンプルについての第1の値および第2の値を生成するステップであって、拡張された領域は、カレントコーディングユニットから複数行または複数列離れたサンプルを含まない、ステップと、第1の動き補償予測信号および第2の動き補償予測信号並びに拡張された領域におけるサンプルについての第1の値および第2の値に少なくとも部分的に基づいて、動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてカレントコーディングユニットを予測するステップとを含む。
【0215】
いくつかの実施形態では、拡張された領域におけるサンプルについての第1の値を生成するステップは、拡張された領域における各第1のサンプル値を、カレントコーディングユニット内のそのそれぞれの最も近い隣接要素の第1の予測されたサンプル値と等しく設定するステップを含む。
【0216】
いくつかの実施形態では、拡張された領域におけるサンプルについての第2の値を生成するステップは、拡張された領域における各第2のサンプル値を、カレントコーディングユニット内のそのそれぞれの最も近い隣接要素の第2の予測されたサンプル値と等しく設定するステップを含む。
【0217】
いくつかの実施形態は、カレントコーディングユニットの周りの拡張された領域内のサンプルにおける第1の勾配値および第2の勾配値を生成するステップをさらに含み、拡張された領域内のサンプルにおける第1の勾配値を生成するステップは、拡張された領域内の各第1の勾配値を、第1の予測信号を使用してカレントコーディングユニット内のそのそれぞれの最も近い隣接要素において計算された勾配値と等しく設定するステップを含み、拡張された領域内のサンプルにおける第2の勾配値を生成するステップは、拡張された領域内の各第2の勾配値を、第2の予測信号を使用してカレントコーディングユニット内のそのそれぞれの最も近い隣接要素において計算された勾配値と等しく設定するステップを含む。
【0218】
いくつかのそのような実施形態では、双方向オプティカルフローはさらに、高さ8および幅4を有するコーディングユニットについて無効にされる。
【0219】
いくつかの実施形態では、ビデオをコーディングする方法が提供され、この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも1つのカレントブロックについて、カレントブロックにおけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号を生成するステップであって、カレントブロックにおけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号は、第1の数のタップを有する水平補間フィルタおよび第1の数のタップを有する垂直補間フィルタを使用して生成される、ステップと、カレントブロックの周りの拡張された領域におけるサンプルについての第1の動き補償予測信号および第2の動き補償予測信号を生成するステップであって、カレントブロックの外側のサンプルについての第1の動き補償予測信号および第2の動き補償予測信号は、第1の数のタップを有する水平補間フィルタ、および第1の数のタップよりも少ない第2の数のタップを有する垂直補間フィルタを使用して生成される、ステップと、第1の動き補償予測信号および第2の動き補償予測信号に少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。
【0220】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供され、この方法は、双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくとも対称予測モードを使用して予測されたコーディングユニットについて双方向オプティカルフローを無効にするステップと、双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて、双方向オプティカルフローなしの双予測を実行するステップと、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて、双方向オプティカルフローを用いて双予測を実行するステップとを含む。
【0221】
いくつかの実施形態では、双予測は、少なくともMVDとのマージモード(MMVD)を使用して予測されたコーディングユニットについて無効にされる。いくつかの実施形態では、双予測は、バイラテラルマッチングを用いるデコーダ側MV導出を使用して予測されたコーディングユニットについて無効にされる。
【0222】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供される。この方法は、双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくともイントラモードのための多重仮説予測を使用して予測されたコーディングユニットについて双方向オプティカルフローを無効にするステップと、双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて双方向オプティカルフローなしの双予測を実行するステップと、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて双方向オプティカルフローを用いて双予測を実行するステップとを含む。
【0223】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングするための方法が提供される。この方法は、双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくとも多重仮説インター予測を使用して予測されたコーディングユニットについて双方向オプティカルフローを無効にするステップと、双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて、双方向オプティカルフローなしの双予測を実行するステップと、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて、双方向オプティカルフローを用いて双予測を実行するステップとを含む。
【0224】
説明された実施形態のうちの1つまたは複数の様々なハードウェア要素は、それぞれのモジュールに関連して本明細書で説明された様々な機能を実施する(すなわち、行う、実行するなど)「モジュール」と呼ばれることに留意されたい。本明細書で使用される場合、モジュールは、当業者によって所与の実装形態に適切とみなされるハードウェア(例えば、1つまたは複数のプロセッサ、1つまたは複数のマイクロプロセッサ、1つまたは複数のマイクロコントローラ、1つまたは複数のマイクロチップ、1つまたは複数のASIC、1つまたは複数のFPGA、1つまたは複数のメモリデバイス)を含む。また、各説明されているモジュールは、それぞれのモジュールによって実施されるように説明される1つまたは複数の機能を実施するために実行可能な命令を含んでよく、それらの命令は、ハードウェア(すなわちハードワイヤード)命令、ファームウェア命令、ソフトウェア命令などの形態をとってよく、またはそれらを含んでよく、一般にRAM、ROMなどと呼ばれるような1つまたは複数の任意の適切な非一時的なコンピュータ可読媒体に記憶されてよいことに留意されたい。
【0225】
特徴および要素が特定の組み合わせで上記に説明されているが、当業者は、各特徴または要素が、単独でまたは他の特徴および要素との任意の組み合わせで使用され得ることを理解するであろう。本明細書で説明されている方法は、コンピュータまたはプロセッサによって実行するためにコンピュータ可読媒体に組み込まれたコンピュータプログラム、ソフトウェア、またはファームウェアにおいて実装されてよい。コンピュータ可読記憶媒体の例は、以下に限定されないが、ROM、RAM、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスクおよび着脱可能ディスクなどの磁気媒体、光磁気媒体、並びにCD-ROMディスクおよびDVDなどの光媒体を含む。WTRU、UE、端末、基地局、RNC、または任意のホストコンピュータで使用するための無線周波数トランシーバを実装するために、ソフトウェアに関連するプロセッサが使用されてよい。