(57)【要約】ビデオコーディングにおける双方向オプティカルフロー（ＢＩＯ）を使用する複雑性を低減するシステムおよび方法が説明される。いくつかの実施形態では、ＢＩＯ計算に使用される最大ビット幅を低減するために、ビット幅低減ステップがＢＩＯ動き精緻化プロセスに導入される。いくつかの実施形態では、簡略化された補間フィルタを使用して、カレントコーディングユニットの周りの拡張された領域における予測されたサンプルを生成する。いくつかの実施形態では、垂直補間と水平補間に対して異なる補間フィルタが使用される。いくつかの実施形態では、ＢＩＯは、小さい高さを有するコーディングユニットについて、および／または高度時間動きベクトル予測（ＡＴＭＶＰ）若しくはアフィン予測などのサブブロックレベルインター予測技法を使用して予測されたコーディングユニットについて無効にされる。
2022501906.tif 000002
【特許請求の範囲】
【請求項１】
ビデオコーディング方法であって、
双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、
第１の参照ピクチャからの第１の予測信号アレイＩ(0)（ｉ，ｊ）に基づいて第１の水平勾配アレイ
【数１】
2022501906.tif 000049
を計算するステップと、
第２の参照ピクチャからの第２の予測信号アレイＩ(1)（ｉ，ｊ）に基づいて第２の水平勾配アレイ
【数２】
2022501906.tif 000050
を計算するステップと、
（ｉ）前記第１の水平勾配アレイおよび（ｉｉ）前記第２の水平勾配アレイの合計に対して右ビットシフトを実行することを含む方法によって、縮小ビット幅水平中間パラメータアレイΨx（ｉ，ｊ）を計算するステップと、
前記縮小ビット幅水平中間パラメータアレイに少なくとも部分的に基づいて少なくとも水平動き精緻化ｖxを計算するステップと、
少なくとも前記水平動き精緻化ｖxを使用して双方向オプティカルフローを用いて前記カレントブロックの予測を生成するステップと
を含む方法。
【請求項２】
前記第１の予測信号アレイＩ(0)（ｉ，ｊ）と前記第２の予測信号アレイＩ(1)（ｉ，ｊ）との差を計算することを含む方法によって、信号差パラメータアレイθ（ｉ，ｊ）を計算するステップと、
（ｉ）前記信号差パラメータアレイθ（ｉ，ｊ）と（ｉｉ）前記水平勾配中間パラメータアレイΨx（ｉ，ｊ）との要素ごとの乗算の成分を合計することによって、信号水平勾配相関パラメータＳ3を計算するステップと
をさらに含み、
前記水平動き精緻化ｖxを計算するステップは、前記信号水平勾配相関パラメータＳ3をビットシフトして前記水平動き精緻化ｖxを得ることを含む、
請求項１の方法。
【請求項３】
前記信号差パラメータアレイθ（ｉ，ｊ）を計算するステップは、前記第１の予測信号アレイＩ(0)（ｉ，ｊ）と前記第２の予測信号アレイＩ(1)（ｉ，ｊ）との差を計算する前に、前記第１の予測信号アレイＩ(0)（ｉ，ｊ）と前記第２の予測信号アレイＩ(1)（ｉ，ｊ）とのそれぞれに対して右ビットシフトを実行することを含む、請求項２の方法。
【請求項４】
第１の参照ピクチャからの第１の予測信号アレイＩ(0)（ｉ，ｊ）に基づいて第１の垂直勾配アレイ
【数３】
2022501906.tif 000051
を計算するステップと、
第２の参照ピクチャからの第２の予測信号アレイＩ(1)（ｉ，ｊ）に基づいて第２の垂直勾配アレイ
【数４】
2022501906.tif 000052
を計算するステップと、
（ｉ）前記第１の垂直勾配アレイおよび（ｉｉ）前記第２の垂直勾配アレイの合計に対して右ビットシフトを実行することを含む方法によって、縮小ビット幅垂直中間パラメータアレイΨy（ｉ，ｊ）を計算するステップと、
前記縮小ビット幅水平中間パラメータアレイΨx（ｉ，ｊ）および前記縮小ビット幅垂直中間パラメータアレイΨy（ｉ，ｊ）に少なくとも部分的に基づいて、垂直動き精緻化ｖyを計算するステップと
をさらに含み、
前記カレントブロックの予測は、前記水平動き精緻化ｖxおよび前記垂直動き精緻化ｖyを使用して生成される、請求項１乃至３のいずれか一項の方法。
【請求項５】
（ｉ）水平中間パラメータアレイΨx（ｉ，ｊ）と（ｉｉ）垂直中間パラメータアレイΨy（ｉ，ｊ）との要素ごとの乗算の成分を合計することを含む方法によって、相互勾配相関パラメータＳ2を計算するステップをさらに含み、
前記垂直動き精緻化ｖyを計算するステップは、（ｉ）前記水平動き精緻化ｖxと（ｉｉ）前記相互勾配相関パラメータＳ2との積を決定するステップを含む、
請求項４の方法。
【請求項６】
（ｉ）前記水平動き精緻化ｖxと（ｉｉ）前記相互勾配相関パラメータＳ2との積を決定するステップは、
前記相互勾配相関パラメータＳ2を、最上位ビットＭＳＢパラメータ部分Ｓ2,mと最下位ビットＬＳＢパラメータ部分Ｓ2,sとに分離するステップと、
（ｉ）前記水平動き精緻化ｖxと（ｉｉ）ＭＳＢパラメータ部分Ｓ2,mとのＭＳＢ積を決定するステップと、
（ｉ）前記水平動き精緻化ｖxと（ｉｉ）ＬＳＢパラメータ部分Ｓ2,SとのＬＳＢ積を決定するステップと、
前記ＭＳＢ積の左ビットシフトを実行して、ビットシフトされたＭＳＢ積を生成するステップと、
前記ＬＳＢ積と前記ビットシフトされたＭＳＢ積とを加算するステップと
を含む、請求項５の方法。
【請求項７】
双方向オプティカルフローを用いて前記カレントブロックの予測を生成するステップは、前記カレントブロックにおける各サンプルについて、
【数５】
2022501906.tif 000053
（ｖ）水平動き精緻化ｖx、および（ｖｉ）垂直動き精緻化ｖyに基づいて、双方向オプティカルフローサンプルオフセットｂを計算するステップと、
前記カレントブロックにおける各サンプルについて、少なくとも前記第１の予測信号アレイＩ(0)（ｉ，ｊ）、前記第２の予測信号アレイＩ(1)（ｉ，ｊ）、および前記双方向オプティカルフローサンプルオフセットｂの合計を計算するステップと
を含む、請求項１乃至６のいずれか一項の方法。
【請求項８】
勾配アレイ
【数６】
2022501906.tif 000054
のそれぞれを計算するステップは、予測信号アレイＩ(0)（ｉ，ｊ）、Ｉ(1)（ｉ，ｊ）の外側のサンプルを、前記予測信号アレイの内側のそれぞれの最も近い境界サンプルでパディングするステップを含む、請求項１乃至７のいずれか一項の方法。
【請求項９】
前記信号差パラメータアレイθ（ｉ，ｊ）の少なくともいくつかの値を計算するステップは、予測信号アレイＩ(0)（ｉ，ｊ）、Ｉ(1)（ｉ，ｊ）の外側のサンプルを、前記予測信号アレイの内側のそれぞれの最も近い境界サンプルでパディングするステップを含む、請求項２乃至８のいずれか一項の方法。
【請求項１０】
前記水平中間パラメータアレイΨx（ｉ，ｊ）の少なくともいくつかの値を計算するステップは、水平勾配アレイ
【数７】
2022501906.tif 000055
の外側の勾配値を、前記水平勾配アレイの内側のそれぞれの最も近い境界サンプルでパディングするステップを含む、請求項１乃至９のいずれか一項の方法。
【請求項１１】
垂直中間パラメータアレイΨy（ｉ，ｊ）の少なくともいくつかの値を計算するステップは、垂直勾配アレイ
【数８】
2022501906.tif 000056
の外側の勾配値を、前記垂直勾配アレイの内側のそれぞれの最も近い境界サンプルでパディングするステップを含む、請求項４乃至１０のいずれか一項の方法。
【請求項１２】
信号水平勾配相関パラメータＳ3および相互勾配相関パラメータＳ2は、前記カレントブロックにおけるサブブロックごとに計算される、請求項２乃至１１のいずれか一項の方法。
【請求項１３】
エンコーダによって実行される、請求項１乃至１２のいずれか一項の方法。
【請求項１４】
デコーダによって実行される、請求項１乃至１２のいずれか一項の方法。
【請求項１５】
プロセッサと、請求項１乃至１４のいずれかの方法を実行するように構成された命令を格納する非一時的コンピュータ可読記憶媒体とを備えたシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、（２０１８年９月２１日に出願された）米国特許仮出願第６２／７３４７６３号、（２０１８年９月２８日に出願された）米国特許仮出願第６２／７３８６５５号、および（２０１９年１月７日に出願された）米国特許仮出願第６２／７８９３３１号の利益を米国特許法第１１９条（ｅ）に基づいて主張する非仮出願であり、それらは全て、「Complexity Reduction and Bit-Width Control for Bi-Directional Optical Flow」と題され、参照によりそれらの全体が本明細書に組み込まれている。
【背景技術】
【０００２】
ビデオコーディングシステムは、デジタルビデオ信号を圧縮して、そのような信号の記憶の必要性および／または送信帯域幅を低減させるために、広く使用されている。ブロックベース、ウェーブレットベース、およびオブジェクトベースのシステムなど、ビデオコーディングシステムの様々なタイプの中でも、ブロックベースのハイブリッドビデオコーディングシステムが現在、最も広く使用され展開されている。ブロックベースのビデオコーディングシステムの例は、ＭＰＥＧ１／２／４パート２、Ｈ．２６４／ＭＰＥＧ−４パート１０  ＡＶＣ、ＶＣ−１、並びにＩＴＵ−Ｔ／ＳＧ１６／Ｑ．６／ＶＣＥＧおよびＩＳＯ／ＩＥＣ／ＭＰＥＧのＪＣＴ−ＶＣ（Joint Collaborative Team on Video Coding：ビデオコーディング共同作業チーム）によって開発された高効率ビデオコーディング（ＨＥＶＣ）などの国際ビデオコーディング規格を含む。
【０００３】
ＨＥＶＣ規格の最初のバージョンは、２０１３年１０月に完成され、これは、前世代のビデオコーディング規格Ｈ．２６４／ＭＰＥＧ  ＡＶＣと比較して約５０％のビットレートの節約または同等の知覚品質を提供する。ＨＥＶＣ規格は、その前身より大幅なコーディング改善を提供するが、ＨＥＶＣに対して優れたコーディング効率が追加のコーディングツールを用いて達成され得るという証拠がある。これに基づいて、ＶＣＥＧとＭＰＥＧの両方が、将来のビデオコーディング規格化のための新しいコーディング技術の探索作業を開始した。２０１５年１０月にＩＴＵ−Ｔ  ＶＥＣＧおよびＩＳＯ／ＩＥＣ  ＭＰＥＧによって共同ビデオ探索チーム（Joint Video Exploration Team：ＪＶＥＴ）が形成され、コーディング効率の相当な向上を可能にし得る先進技術の重要な研究を開始した。ＨＥＶＣテストモデル（ＨＭ）上でいくつかの追加のコーディングツールを統合することにより、ＪＶＥＴによって、共同探索モデル（joint exploration model：ＪＥＭ）と呼ばれる参照ソフトウェアが保持された。
【０００４】
２０１７年１０月に非特許文献１がＩＴＵ−ＴおよびＩＳＯ／ＩＥＣによって発行された。２０１８年４月に、第１０回ＪＶＥＴ会合で２３のＣｆＰ応答が受領されて評価され、それらはＨＥＶＣを約４０％上回る圧縮効率向上を示した。そのような評価結果に基づいて、ＪＶＥＴは、多用途ビデオコーディング（Versatile Video Coding：ＶＶＣ）と名付けられた新世代ビデオコーディング規格を開発するための新しいプロジェクトを立ち上げた。同月に、ＶＶＣテストモデル（ＶＴＭ）と呼ばれる１つの参照ソフトウェアコードベースが、ＶＶＣ規格の参照実装を示すために確立された。一方、新しいコーディングツールの評価を容易にするために、ベンチマークセット（ＢＭＳ）と呼ばれる別の参照ソフトウェアベースも生成された。ＢＭＳコードベースでは、より高いコーディング効率および適度な実装複雑性を提供する追加のコーディングツールのリストがＶＴＭ上に含まれ、ＶＶＣ規格化プロセス中に同様のコーディング技術を評価する際のベンチマークとして使用さる。具体的には、ＢＭＳ−２．０に統合された５つのＪＥＭコーディングツールがあり、それらは、４ｘ４非分離二次変換（non-separable secondary transform：ＮＳＳＴ）、一般化された双予測（generalized bi-prediction：ＧＢｉ）、双方向オプティカルフロー（bi-directional optical flow:ＢＩＯ）、デコーダ側動きベクトル精緻化（decoder-side motion vector refinement：ＤＭＶＲ）、およびカレントピクチャ参照（current picture referencing：ＣＰＲ）を含む。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】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
【発明の概要】
【０００６】
本明細書に記載される実施形態は、ビデオ符号化および復号（総称して「コーディング」）において使用される方法を含む。いくつかの実施形態では、ビデオコーディング方法が提供され、この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、第１の参照ピクチャからの第１の予測信号アレイＩ(0)（ｉ，ｊ）に基づいて第１の水平勾配アレイ
【０００７】
【数１】
2022501906.tif 000003
【０００８】
を計算するステップと、第２の参照ピクチャからの第２の予測信号アレイＩ(1)（ｉ，ｊ）に基づいて第２の水平勾配アレイ
【０００９】
【数２】
2022501906.tif 000004
【００１０】
を計算するステップと、（ｉ）第１の水平勾配アレイおよび（ｉｉ）第２の水平勾配アレイの合計に対して右ビットシフトを実行するステップを含む方法によって、縮小ビット幅水平中間パラメータアレイ（reduced-bit-width horizontal intermediate parameter array）Ψx（ｉ，ｊ）を計算するステップと、縮小ビット幅水平中間パラメータアレイに少なくとも部分的に基づいて少なくとも水平動き精緻化ｖxを計算するステップと、少なくとも水平動き精緻化ｖxを使用して双方向オプティカルフローを用いてカレントブロックの予測を生成するステップとを含む。
【００１１】
いくつかの実施形態では、この方法は、第１の予測信号アレイＩ(0)（ｉ，ｊ）と第２の予測信号アレイＩ(1)（ｉ，ｊ）との差を計算するステップを含む方法によって、信号差パラメータアレイθ（ｉ，ｊ）を計算するステップと、（ｉ）信号差パラメータアレイθ（ｉ，ｊ）と（ｉｉ）水平勾配中間パラメータアレイΨx（ｉ，ｊ）との要素ごとの乗算の成分を合計することによって、信号水平勾配相関パラメータＳ3を計算するステップとをさらに含み、水平動き精緻化ｖxを計算するステップは、信号水平勾配相関パラメータＳ3をビットシフトして水平動き精緻化ｖxを得るステップを含む。
【００１２】
そのような実施形態では、信号差パラメータアレイθ（ｉ，ｊ）を計算するステップは、第１の予測信号アレイＩ(0)（ｉ，ｊ）と第２の予測信号アレイＩ(1)（ｉ，ｊ）との差を計算する前に、第１の予測信号アレイＩ(0)（ｉ，ｊ）と第２の予測信号アレイＩ(1)（ｉ，ｊ）とのそれぞれに対して右ビットシフトを実行するステップを含む。
【００１３】
いくつかの実施形態では、この方法は、第１の参照ピクチャからの第１の予測信号アレイＩ(0)（ｉ，ｊ）に基づいて第１の垂直勾配アレイ
【００１４】
【数３】
2022501906.tif 000005
【００１５】
を計算するステップと、第２の参照ピクチャからの第２の予測信号アレイＩ(1)（ｉ，ｊ）に基づいて第２の垂直勾配アレイ
【００１６】
【数４】
2022501906.tif 000006
【００１７】
を計算するステップと、（ｉ）第１の垂直勾配アレイおよび（ｉｉ）第２の垂直勾配アレイの合計に対して右ビットシフトを実行するステップを含む方法によって、縮小ビット幅垂直中間パラメータアレイΨy（ｉ，ｊ）を計算するステップと、縮小ビット幅水平中間パラメータアレイΨx（ｉ，ｊ）および縮小ビット幅垂直中間パラメータアレイΨy（ｉ，ｊ）に少なくとも部分的に基づいて、垂直動き精緻化ｖyを計算するステップとをさらに含み、カレントブロックの予測は、水平動き精緻化ｖxおよび垂直動き精緻化ｖyを使用して生成される。
【００１８】
いくつかのそのような実施形態は、（ｉ）水平中間パラメータアレイΨx（ｉ，ｊ）と（ｉｉ）垂直中間パラメータアレイΨy（ｉ，ｊ）との要素ごとの乗算の成分を合計するステップを含む方法によって、相互勾配相関パラメータＳ2を計算するステップをさらに含み、垂直動き精緻化ｖyを計算するステップは、（ｉ）水平動き精緻化ｖxと（ｉｉ）相互勾配相関パラメータＳ2との積を決定するステップを含む。
【００１９】
いくつかのそのような実施形態では、（ｉ）水平動き精緻化ｖxと（ｉｉ）相互勾配相関パラメータＳ2との積を決定するステップは、相互勾配相関パラメータＳ2を、最上位ビットＭＳＢパラメータ部分Ｓ2,mと最下位ビットＬＳＢパラメータ部分Ｓ2,sとに分離するステップと、（ｉ）水平動き精緻化ｖxと（ｉｉ）ＭＳＢパラメータ部分Ｓ2,mとのＭＳＢ積を決定するステップと、（ｉ）水平動き精緻化ｖxと（ｉｉ）ＬＳＢパラメータ部分Ｓ2,SとのＬＳＢ積を決定するステップと、ＭＳＢ積の左ビットシフトを実行して、ビットシフトされたＭＳＢ積を生成するステップと、ＬＳＢ積とビットシフトされたＭＳＢ積とを加算するステップとを含む。
【００２０】
いくつかの実施形態では、双方向オプティカルフローを用いてカレントブロックの予測を生成するステップは、カレントブロックにおける各サンプルについて、
【００２１】
【数５】
2022501906.tif 000007
【００２２】
（ｖ）水平動き精緻化ｖx、および（ｖｉ）垂直動き精緻化ｖyに基づいて、双方向オプティカルフローサンプルオフセットｂを計算するステップと、カレントブロックにおける各サンプルについて、少なくとも第１の予測信号アレイＩ(0)（ｉ，ｊ）、第２の予測信号アレイＩ(1)（ｉ，ｊ）、および双方向オプティカルフローサンプルオフセットｂの合計を計算するステップとを含む。
【００２３】
いくつかの実施形態では、勾配アレイ
【００２４】
【数６】
2022501906.tif 000008
【００２５】
のそれぞれを計算するステップは、予測信号アレイＩ(0)（ｉ，ｊ）、Ｉ(1)（ｉ，ｊ）の外側のサンプルを、予測信号アレイの内側のそれぞれの最も近い境界サンプルでパディングするステップを含む。
【００２６】
いくつかの実施形態では、信号差パラメータアレイθ（ｉ，ｊ）の少なくともいくつかの値を計算するステップが、予測信号アレイＩ(0)（ｉ，ｊ）、Ｉ(1)（ｉ，ｊ）の外側のサンプルを、予測信号アレイの内側のそれぞれの最も近い境界サンプルでパディングするステップを含む。いくつかの実施形態では、水平中間パラメータアレイΨx（ｉ，ｊ）の少なくともいくつかの値を計算するステップが、水平勾配アレイ
【００２７】
【数７】
2022501906.tif 000009
【００２８】
の外側の勾配値を、水平勾配アレイの内側のそれぞれの最も近い境界サンプルでパディングするステップを含む。
【００２９】
いくつかの実施形態では、垂直中間パラメータアレイΨy（ｉ，ｊ）の少なくともいくつかの値を計算するステップが、垂直勾配アレイ
【００３０】
【数８】
2022501906.tif 000010
【００３１】
の外側の勾配値を、垂直勾配アレイの内側のそれぞれの最も近い境界サンプルでパディングするステップを含む。
【００３２】
いくつかの実施形態では、信号水平勾配相関パラメータＳ3および相互勾配相関パラメータＳ2は、カレントブロックにおけるサブブロックごとに計算される。
【００３３】
本明細書に記載される実施形態は、エンコーダによってまたはデコーダによってビデオブロックの予測を生成するように実行され得る。
【００３４】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、第１の参照ピクチャからの第１の予測信号に基づいて第１の勾配成分（例えば、∂Ｉ(0)／∂ｘまたは∂Ｉ(0)／∂ｙ）が計算される。第２の参照ピクチャからの第２の予測信号に基づいて第２の勾配成分（例えば、∂Ｉ(1)／∂ｘまたは∂Ｉ(1)／∂ｙ）が計算される。第１の勾配成分と第２の勾配成分が合計され、得られた合計に対して下位方向ビットシフトが実行されて、縮小ビット幅相関パラメータ（例えば、ΨxまたはΨy）が生成される。縮小ビット幅相関パラメータに少なくとも部分的に基づいてＢＩＯ動き精緻化が計算される。計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【００３５】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、第２の参照ピクチャに基づく第２の予測信号（例えばＩ(1)）から第１の参照ピクチャに基づく第１の予測信号（例えばＩ(0)）を引き、得られた差の下位方向ビットシフトを実行することによって、縮小ビット幅相関パラメータ（例えばθ）が生成される。縮小ビット幅相関パラメータに少なくとも部分的に基づいてＢＩＯ動き精緻化が計算される。計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【００３６】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、第１の参照ピクチャからの第１の予測（例えばＩ(0)）信号に対して下位方向ビットシフトを実行することによって、縮小ビット幅の第１の予測信号が生成される。第２の参照ピクチャからの第２の予測信号（例えばＩ(1)）に対して下位方向ビットシフトを実行することによって、縮小ビット幅の第２の予測信号が生成される。縮小ビット幅の第２の予測信号から縮小ビット幅の第１の予測信号を引くことによって、縮小ビット幅相関パラメータ（例えばθ）が生成される。縮小ビット幅相関パラメータに少なくとも部分的に基づいてＢＩＯ動き精緻化が計算され、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【００３７】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、第１の参照ピクチャからの縮小ビット幅の第１の予測信号に基づいて、縮小ビット幅の第１の勾配成分が計算される。第２の参照ピクチャからの縮小ビット幅の第２の予測信号に基づいて、縮小ビット幅の第２の勾配成分が計算される。第１の縮小ビット幅勾配成分と第２の縮小ビット幅勾配成分が合計されて、縮小ビット幅相関パラメータを生成する。縮小ビット幅相関パラメータに少なくとも部分的に基づいて動き精緻化が計算され、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【００３８】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、カレントブロックにおけるサンプルについての第１の動き補償予測信号（motion-compensated prediction signal）および第２の動き補償予測信号が生成され、カレントブロックにおけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号は、第１の数のタップを有する第１の補間フィルタを使用して生成される。第１の動き補償予測信号および第２の動き補償予測信号は、カレントブロックの周りの拡張された領域におけるサンプルについても生成され、カレントブロックの外側のサンプルについての第１の動き補償予測信号および第２の動き補償予測信号は、第１の数のタップよりも少ない第２の数のタップを有する第２の補間フィルタを使用して生成される。第１の動き補償予測信号および第２の動き補償予測信号に少なくとも部分的に基づいて動き精緻化が計算され、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【００３９】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、第１の動き補償予測信号および第２の動き補償予測信号が生成され、カレントブロックにおけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号は、第１の数のタップを有する水平補間フィルタ、および第１の数のタップよりも少ない第２の数のタップを有する垂直補間フィルタを使用して生成される。第１の動き補償予測信号および第２の動き補償予測信号に少なくとも部分的に基づいて動き精緻化が計算され、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【００４０】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、第１の動き補償予測信号および第２の動き補償予測信号が生成される。カレントブロックにおけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号は、第１の数のタップを有する水平補間フィルタ、および第２の数のタップを有する垂直補間フィルタを使用して生成される。水平フィルタおよび垂直フィルタは、予め決定された順序で適用され、順序でより早く適用されたフィルタは、順序でより遅く適用されたフィルタよりも多い数のタップを有する。第１の動き補償予測信号および第２の動き補償予測信号に少なくとも部分的に基づいて動き精緻化が計算され、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【００４１】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供される。双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくとも、閾値高さ以下の高さを有するコーディングユニットについて、双方向オプティカルフローが無効にされる（例えば、高さ４のコーディングユニットについてＢＩＯが無効にされ得る）。双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて、双方向オプティカルフローなしの双予測が実行される。双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて（例えば、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットのうちの少なくとも１つについて）、双方向オプティカルフローを用いる双予測が実行される。
【００４２】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、カレントブロックにおけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号が生成される。第１の値および第２の値は、カレントブロックの周りの拡張された領域におけるサンプルに関し、拡張された領域は、カレントブロックから複数行または複数列離れたサンプルを含まない。動き精緻化は、第１の動き補償予測信号および第２の動き補償予測信号、並びに拡張された領域におけるサンプルについての第１の値および第２の値に少なくとも部分的に基づいて計算される。計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【００４３】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供される。双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくとも、サブブロックレベルインター予測技法（sub-block-level inter prediction technique）（例えば、高度時間動きベクトル予測およびアフィン予測など）を使用して予測されたコーディングユニットについて、双方向オプティカルフローが無効にされる。双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて、双方向オプティカルフローなしの双予測が実行される。双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて（例えば、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットのうちの少なくとも１つについて）、双方向オプティカルフローを用いる双予測が実行される。
【００４４】
いくつかの実施形態では、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、カレントブロックにおけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号が生成される。カレントブロックにおけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号は、第１の数のタップを有する水平補間フィルタ、および第１の数のタップを有する垂直補間フィルタを使用して生成される。第１の動き補償予測信号および第２の動き補償予測信号は、カレントブロックの周りの拡張された領域におけるサンプルについても生成され、カレントブロックの外側のサンプルについての第１の動き補償予測信号および第２の動き補償予測信号は、第１の数のタップを有する水平補間フィルタ、および第１の数のタップよりも少ない第２の数のタップを有する垂直補間フィルタを使用して生成される。第１の動き補償予測信号および第２の動き補償予測信号に少なくとも部分的に基づいて動き精緻化が計算される。計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックが予測される。
【００４５】
追加の実施形態では、本明細書に記載された方法を実行するためのエンコーダシステムおよびデコーダシステムが提供される。エンコーダシステムまたはデコーダシステムは、本明細書に記載された方法を実行するための命令を記憶するプロセッサおよび非一時的コンピュータ可読媒体を含むことができる。追加の実施形態は、本明細書に記載された方法を使用して符号化されたビデオを記憶する非一時的コンピュータ可読記憶媒体を含むことができる。
【図面の簡単な説明】
【００４６】
【図１Ａ】１つまたは複数の開示されている実施形態が実装され得る例示的な通信システムを示すシステム図である。
【図１Ｂ】実施形態による、図１Ａに示された通信システム内で使用され得る例示的な無線送受信ユニット（ＷＴＲＵ）を示すシステム図である。
【図２Ａ】ＶＶＣに使用されるエンコーダなどの、ブロックベースのビデオエンコーダの機能ブロック図である。
【図２Ｂ】ＶＶＣに使用されるデコーダなどの、ブロックベースのビデオデコーダの機能ブロック図である。
【図３Ａ】マルチタイプツリー構造におけるブロック区分化である４区分化を示す図である。
【図３Ｂ】マルチタイプツリー構造におけるブロック区分化である垂直２区分化を示す図である。
【図３Ｃ】マルチタイプツリー構造におけるブロック区分化である水平２区分化を示す図である。
【図３Ｄ】マルチタイプツリー構造におけるブロック区分化である垂直３区分化を示す図である。
【図３Ｅ】マルチタイプツリー構造におけるブロック区分化である水平３区分化を示す図である。
【図４】双方向オプティカルフロー（ＢＩＯ）を使用する予測の概略図である。
【図５】いくつかの実施形態による、簡略化されたフィルタを使用してＢＩＯのための拡張されたサンプルを生成する方法を示す図である。
【図６】いくつかの実施形態による、簡略化されたフィルタを使用してＢＩＯのための拡張されたサンプルを生成する方法を示す図である。
【図７】いくつかの実施形態による、１つのＢＩＯコーディングユニット（ＣＵ）の拡張された領域における補間されたサンプルの数を低減するためのサンプルおよび勾配パディングを示す図である。
【図８】コーディングされたビットストリーム構造の例を示す図である。
【図９】例示的通信システムを示す図である。
【図１０】ＢＩＯ導出のための拡張されたサンプルとして整数サンプルを使用することを示す図である。
【発明を実施するための形態】
【００４７】
実施形態の実装のための例示的ネットワーク
図１Ａは、１つまたは複数の開示されている実施形態が実装され得る例示的な通信システム１００を示す図である。通信システム１００は、音声、データ、ビデオ、メッセージング、ブロードキャストなどのコンテンツを複数の無線ユーザに提供する、多元接続システムであり得る。通信システム１００は、複数の無線ユーザが、無線帯域幅を含むシステムリソースの共有を通じてそのようなコンテンツにアクセスすることを可能にする。例えば、通信システム１００は、符号分割多元接続（ＣＤＭＡ）、時分割多元接続（ＴＤＭＡ）、周波数分割多元接続（ＦＤＭＡ）、直交ＦＤＭＡ（ＯＦＤＭＡ）、シングルキャリアＦＤＭＡ（ＳＣ−ＦＤＭＡ）、ゼロテールユニークワードＤＦＴ拡散ＯＦＤＭ（ＺＴ  ＵＷ  ＤＴＳ−ｓ  ＯＦＤＭ）、ユニークワードＯＦＤＭ（ＵＷ−ＯＦＤＭ）、リソースブロックフィルタＯＦＤＭ、フィルタバンクマルチキャリア（ＦＢＭＣ）など、１つまたは複数のチャネルアクセス方法を利用することができる。
【００４８】
図１Ａに示されるように、通信システム１００は、無線送受信ユニット（ＷＴＲＵ）１０２ａ、１０２ｂ、１０２ｃ、１０２ｄ、ＲＡＮ１０４／１１３、ＣＮ１０６／１１５、公衆交換電話網（ＰＳＴＮ）１０８、インターネット１１０および他のネットワーク１１２を含み得るが、開示されている実施形態は、任意の数のＷＴＲＵ、基地局、ネットワークおよび／またはネットワーク要素を企図することが理解されよう。ＷＴＲＵ１０２ａ、１０２ｂ、１０２ｃ、１０２ｄのそれぞれは、無線環境で動作および／または通信するように構成された任意のタイプのデバイスであってよい。例えば、ＷＴＲＵ１０２ａ、１０２ｂ、１０２ｃ、１０２ｄは、いずれも「局」および／または「ＳＴＡ」と呼ばれてよく、無線信号を送信および／または受信するように構成されてよく、ユーザ機器（ＵＥ）、移動局、固定若しくは移動加入者ユニット、加入ベースのユニット、ページャ、セルラ電話、携帯情報端末（ＰＤＡ）、スマートフォン、ラップトップ、ネットブック、パーソナルコンピュータ、無線センサ、ホットスポット若しくはＭｉ−Ｆｉデバイス、ＩｏＴデバイス、時計または他のウェアラブル、ヘッドマウントディスプレイ（ＨＭＤ）、乗り物、ドローン、医療デバイスおよびアプリケーション（例えば、遠隔手術）、産業用デバイスおよびアプリケーション（例えば、産業用および／または自動処理チェーンコンテキストで動作するロボットおよび／若しくは他の無線デバイス）、家電、商用および／若しくは産業用無線ネットワーク上で動作するデバイスなどを含み得る。ＷＴＲＵ１０２ａ、１０２ｂ、１０２ｃ、および１０２ｄは、いずれも交換可能にＵＥと呼ばれることがある。
【００４９】
通信システム１００は、基地局１１４ａおよび／または基地局１１４ｂを含むこともできる。基地局１１４ａ、１１４ｂのそれぞれは、ＣＮ１０６／１１５、インターネット１１０、および／またはネットワーク１１２などの１つまたは複数の通信ネットワークへのアクセスを容易にするために、ＷＴＲＵ１０２ａ、１０２ｂ、１０２ｃ、１０２ｄのうちの少なくとも１つと無線でインターフェース接続するように構成された任意のタイプのデバイスであってよい。例えば、基地局１１４ａ、１１４ｂは、トランシーバ基地局（ＢＴＳ）、Ｎｏｄｅ  Ｂ、ｅＮｏｄｅ  Ｂ、ホームＮｏｄｅ  Ｂ、ホームｅＮｏｄｅ  Ｂ、ｇＮＢ、ＮＲ  ＮｏｄｅＢ、サイトコントローラ、アクセスポイント（ＡＰ）、および無線ルータなどであってよい。基地局１１４ａ、１１４ｂはそれぞれが単一の要素として示されているが、基地局１１４ａ、１１４ｂは、任意の数の相互接続された基地局および／またはネットワーク要素を含んでよいことが理解されよう。
【００５０】
基地局１１４ａは、ＲＡＮ１０４／１１３の一部とすることができ、ＲＡＮ１０４／１１３は、基地局コントローラ（ＢＳＣ）、無線ネットワークコントローラ（ＲＮＣ）、中継ノードなど、他の基地局および／またはネットワーク要素（図示せず）を含み得る。基地局１１４ａおよび／または基地局１１４ｂは、セル（図示せず）と呼ばれることがある１つまたは複数のキャリア周波数で無線信号を送信および／または受信するように構成され得る。これらの周波数は、認可スペクトル、無認可スペクトル、または認可スペクトルと無認可スペクトルとの組み合わせであってよい。セルは、比較的固定され得るまたは時間と共に変化し得る特定の地理的エリアに対する無線サービスのためのカバレッジを提供できる。セルは、セルセクタに分割され得る。例えば、基地局１１４ａに関連付けられたセルは、３つのセクタに分割され得る。従って、一実施形態では、基地局１１４ａは、３つのトランシーバ、すなわち、セルの各セクタについて１つを含み得る。実施形態において、基地局１１４ａは、ＭＩＭＯ技術を利用でき、セルの各セクタについて複数のトランシーバを利用できる。例えば、ビームフォーミングが、所望される空間方向で信号を送信および／または受信するために使用され得る。
【００５１】
基地局１１４ａ、１１４ｂは、エアインターフェース１１６を介してＷＴＲＵ１０２ａ、１０２ｂ、１０２ｃ、１０２ｄのうちの１つまたは複数と通信することができ、エアインターフェース１１６は、任意の適切な無線通信リンク（例えば、無線周波数（ＲＦ）、マイクロ波、センチメートル波、マイクロメートル波、赤外線（ＩＲ）、紫外線（ＵＶ）、可視光など）であってよい。エアインターフェース１１６は、任意の適切な無線アクセス技術（ＲＡＴ）を使用して確立され得る。
【００５２】
より具体的には、上記されたように、通信システム１００は、多元接続システムとすることができ、ＣＤＭＡ、ＴＤＭＡ、ＦＤＭＡ、ＯＦＤＭＡ、およびＳＣ−ＦＤＭＡなどの１つまたは複数のチャネルアクセス方式を利用できる。例えば、ＲＡＮ１０４／１１３内の基地局１１４ａ、およびＷＴＲＵ１０２ａ、１０２ｂ、１０２ｃは、広帯域ＣＤＭＡ（ＷＣＤＭＡ（登録商標））を使用してエアインターフェース１１５／１１６／１１７を確立できる、ユニバーサル移動体通信システム（ＵＭＴＳ）地上無線アクセス（ＵＴＲＡ）などの無線技術を実装できる。ＷＣＤＭＡは、高速パケットアクセス（ＨＳＰＡ）および／または進化型ＨＳＰＡ（ＨＳＰＡ＋）などの通信プロトコルを含み得る。ＨＳＰＡは、高速ダウンリンク（ＤＬ）パケットアクセス（ＨＳＤＰＡ）および／または高速ＵＬパケットアクセス（ＨＳＵＰＡ）を含み得る。
【００５３】
実施形態において、基地局１１４ａ、およびＷＴＲＵ１０２ａ、１０２ｂ、１０２ｃは、ロングタームエボリューション（ＬＴＥ）および／またはＬＴＥアドバンスト（ＬＴＥ−Ａ）および／またはＬＴＥアドバンストプロ（ＬＴＥ−Ａ  Ｐｒｏ）を使用してエアインターフェース１１６を確立できる、進化型ＵＭＴＳ地上無線アクセス（Ｅ−ＵＴＲＡ）などの無線技術を実装できる。
【００５４】
実施形態において、基地局１１４ａおよびＷＴＲＵ１０２ａ、１０２ｂ、１０２ｃは、ニューラジオ（ＮＲ）を使用してエアインターフェース１１６を確立できるＮＲ無線アクセスなどの無線技術を実装できる。
【００５５】
実施形態において、基地局１１４ａおよびＷＴＲＵ１０２ａ、１０２ｂ、１０２ｃは、複数の無線アクセス技術を実装できる。例えば、基地局１１４ａおよびＷＴＲＵ１０２ａ、１０２ｂ、１０２ｃは、例えばデュアルコネクティビティ（ＤＣ）原理を使用して、ＬＴＥ無線アクセスとＮＲ無線アクセスを一緒に実装できる。従って、ＷＴＲＵ１０２ａ、１０２ｂ、１０２ｃによって利用されるエアインターフェースは、複数のタイプの無線アクセス技術、および／または複数のタイプの基地局（例えば、ｅＮＢおよびｇＮＢ）へ／から送られる送信によって特徴付けられ得る。
【００５６】
他の実施形態では、基地局１１４ａ、およびＷＴＲＵ１０２ａ、１０２ｂ、１０２ｃは、ＩＥＥＥ８０２．１１（すなわち、ＷｉＦｉ：Wireless Fidelity）、ＩＥＥＥ８０２．１６（すなわち、ＷｉＭＡＸ：Worldwide Interoperability for Microwave Access）、ＣＤＭＡ２０００、ＣＤＭＡ２０００  １Ｘ、ＣＤＭＡ２０００  ＥＶ−ＤＯ、暫定標準２０００（ＩＳ−２０００）、暫定標準９５（ＩＳ−９５）、暫定標準８５６（ＩＳ−８５６）、ＧＳＭ（登録商標）（Global System for Mobile communications）、ＥＤＧＥ（Enhanced Data rates for GSM Evolution）、およびＧＳＭ  ＥＤＧＥ（ＧＥＲＡＮ）などの無線技術を実装できる。
【００５７】
図１Ａにおける基地局１１４ｂは、例えば、無線ルータ、ホームＮｏｄｅ  Ｂ、ホームｅＮｏｄｅ  Ｂ、またはアクセスポイントであってよく、職場、家庭、乗り物、キャンパス、産業施設、（例えばドローンにより使用される）空中回廊、車道などの局所的エリアにおける無線接続性を容易にするために任意の適切なＲＡＴを利用してよい。一実施形態では、基地局１１４ｂおよびＷＴＲＵ１０２ｃ、１０２ｄは、ＩＥＥＥ８０２．１１などの無線技術を実装して無線ローカルエリアネットワーク（ＷＬＡＮ）を確立できる。実施形態において、基地局１１４ｂおよびＷＴＲＵ１０２ｃ、１０２ｄは、ＩＥＥＥ８０２．１５などの無線技術を実装して無線パーソナルエリアネットワーク（ＷＰＡＮ）を確立できる。さらに別の実施形態では、基地局１１４ｂおよびＷＴＲＵ１０２ｃ、１０２ｄは、セルラベースのＲＡＴ（例えば、ＷＣＤＭＡ、ＣＤＭＡ２０００、ＧＳＭ、ＬＴＥ、ＬＴＥ−Ａ、ＬＴＥ−Ａ  Ｐｒｏ、ＮＲなど）を利用してピコセルまたはフェムトセルを確立できる。図１Ａに示されるように、基地局１１４ｂは、インターネット１１０への直接接続を有し得る。従って、基地局１１４ｂは、ＣＮ１０６／１１５を介してインターネット１１０にアクセスすることを必要とされなくてよい。
【００５８】
ＲＡＮ１０４／１１３は、ＣＮ１０６／１１５と通信することができ、ＣＮ１０６／１１５は、音声、データ、アプリケーション、および／またはＶｏＩＰサービスをＷＴＲＵ１０２ａ、１０２ｂ、１０２ｃ、１０２ｄのうちの１つまたは複数に提供するように構成された、任意のタイプのネットワークであってよい。データは、異なるスループット要件、待ち時間要件、エラー許容要件、信頼性要件、データスループット要件、およびモビリティ要件などの様々なサービス品質（ＱｏＳ）要件を有することがある。ＣＮ１０６／１１５は、呼制御、請求サービス、モバイル位置情報サービス、プリペイド通話、インターネット接続性、ビデオ配信などを提供し、および／またはユーザ認証などの高レベルセキュリティ機能を実行できる。図１Ａに示されていないが、ＲＡＮ１０４／１１３および／またはＣＮ１０６／１１５は、ＲＡＮ１０４／１１３と同じＲＡＴまたは異なるＲＡＴを利用する他のＲＡＮとの直接的または間接的な通信をし得ることが理解されよう。例えば、ＮＲ無線技術を利用し得るＲＡＮ１０４／１１３に接続されるのに加えて、ＣＮ１０６／１１５は、ＧＳＭ、ＵＭＴＳ、ＣＤＭＡ２０００、ＷｉＭＡＸ、Ｅ−ＵＴＲＡ、またはＷｉＦｉ無線技術を利用する別のＲＡＮ（図示せず）と通信することもできる。
【００５９】
ＣＮ１０６／１１５は、ＰＳＴＮ１０８、インターネット１１０、および／または他のネットワーク１１２にアクセスするＷＴＲＵ１０２ａ、１０２ｂ、１０２ｃ、１０２ｄのためのゲートウェイの役割をすることもできる。ＰＳＴＮ１０８は、基本電話サービス（ＰＯＴＳ）を提供する回線交換電話網を含み得る。インターネット１１０は、ＴＣＰ／ＩＰインターネットプロトコルスイートにおけるＴＣＰ、ＵＤＰ、および／またはＩＰなどの共通の通信プロトコルを使用する、相互接続されたコンピュータネットワークおよびデバイスのグローバルシステムを含み得る。ネットワーク１１２は、他のサービスプロバイダによって所有および／または運用される有線および／または無線通信ネットワークを含み得る。例えば、ネットワーク１１２は、ＲＡＮ１０４／１１３と同じＲＡＴまたは異なるＲＡＴを利用できる１つまたは複数のＲＡＮに接続された別のＣＮを含み得る。
【００６０】
通信システム１００におけるＷＴＲＵ１０２ａ、１０２ｂ、１０２ｃ、１０２ｄの一部または全部は、マルチモード能力を含み得る（例えば、ＷＴＲＵ１０２ａ、１０２ｂ、１０２ｃ、１０２ｄは、異なる無線リンクを介して異なる無線ネットワークと通信するための複数のトランシーバを含み得る）。例えば、図１Ａに示されているＷＴＲＵ１０２ｃは、セルラベースの無線技術を利用できる基地局１１４ａ、およびＩＥＥＥ８０２無線技術を利用できる基地局１１４ｂと通信するように構成され得る。
【００６１】
図１Ｂは、例示的ＷＴＲＵ１０２のシステム図である。図１Ｂに示されるように、ＷＴＲＵ１０２は、プロセッサ１１８、トランシーバ１２０、送受信要素１２２、スピーカ／マイクロフォン１２４、キーパッド１２６、ディスプレイ／タッチパッド１２８、着脱不能メモリ１３０、着脱可能メモリ１３２、電源１３４、ＧＰＳチップセット１３６、および／または他の周辺機器１３８などを含み得る。ＷＴＲＵ１０２は、実施形態との整合性を保ちながら、上記要素の任意の部分的組み合わせを含み得ることが理解されよう。
【００６２】
プロセッサ１１８は、汎用プロセッサ、専用プロセッサ、従来のプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、複数のマイクロプロセッサ、ＤＳＰコアと関連した１つまたは複数のマイクロプロセッサ、コントローラ、マイクロコントローラ、ＡＳＩＣ、ＦＰＧＡ回路、他の任意のタイプの集積回路（ＩＣ）、および状態機械などであってよい。プロセッサ１１８は、信号コーディング、データ処理、電力制御、入出力処理、および／またはＷＴＲＵ１０２が無線環境で動作するのを可能にする他の任意の機能性を実行できる。プロセッサ１１８はトランシーバ１２０に結合されてよく、トランシーバ１２０は送受信要素１２２に結合されてよい。図１Ｂはプロセッサ１１８とトランシーバ１２０を別々の構成要素として示しているが、プロセッサ１１８とトランシーバ１２０は電子パッケージまたはチップに一緒に統合されてよいことが理解されよう。
【００６３】
送受信要素１２２は、エアインターフェース１１６を介して、基地局（例えば基地局１１４ａ）に信号を送信し、または基地局から信号を受信するように構成され得る。例えば、一実施形態では、送受信要素１２２は、ＲＦ信号を送信および／または受信するように構成されたアンテナとすることができる。実施形態において、送受信要素１２２は、例えば、ＩＲ、ＵＶ、または可視光信号を送信および／または受信するように構成されたエミッタ／検出器とすることができる。さらに別の実施形態では、送受信要素１２２は、ＲＦ信号と光信号の両方を送信および／または受信するように構成され得る。送受信要素１２２が無線信号の任意の組み合わせを送信および／または受信するように構成され得ることは理解されよう。
【００６４】
図１Ｂでは単一の要素として送受信要素１２２が示されているが、ＷＴＲＵ１０２は任意の数の送受信要素１２２を含み得る。より具体的には、ＷＴＲＵ１０２はＭＩＭＯ技術を利用することができる。従って、一実施形態では、ＷＴＲＵ１０２は、エアインターフェース１１６を介して無線信号を送信および受信するための２つ以上の送受信要素１２２（例えば、複数のアンテナ）を含み得る。
【００６５】
トランシーバ１２０は、送受信要素１２２によって送信される信号を変調し、送受信要素１２２によって受信された信号を復調するように構成され得る。上記されたように、ＷＴＲＵ１０２はマルチモード能力を有することができる。従って、トランシーバ１２０は、例えば、ＮＲおよびＩＥＥＥ８０２．１１などの複数のＲＡＴを介してＷＴＲＵ１０２が通信することを可能にするための複数のトランシーバを含むことができる。
【００６６】
ＷＴＲＵ１０２のプロセッサ１１８は、スピーカ／マイクロフォン１２４、キーパッド１２６、および／またはディスプレイ／タッチパッド１２８（例えば、液晶表示（ＬＣＤ）ディスプレイユニット若しくは有機発光ダイオード（ＯＬＥＤ）表示ユニット）に結合され、それらからユーザ入力データを受信することができる。プロセッサ１１８は、スピーカ／マイクロフォン１２４、キーパッド１２６、および／またはディスプレイ／タッチパッド１２８にユーザデータを出力することもできる。プロセッサ１１８は、着脱不能メモリ１３０および／または着脱可能メモリ１３２などの任意のタイプの適切なメモリの情報にアクセスでき、それらにデータを記憶できる。着脱不能メモリ１３０は、ＲＡＭ、ＲＯＭ、ハードディスクまたは他の任意のタイプのメモリストレージデバイスを含み得る。着脱可能メモリ１３２は、ＳＩＭカード、メモリスティック、およびＳＤメモリカードなどを含み得る。他の実施形態では、プロセッサ１１８は、ＷＴＲＵ１０２上に物理的に配置されずにサーバまたはホームコンピュータ（図示せず）上などにあるメモリからの情報にアクセスすることができ、それらにデータを記憶することができる。
【００６７】
プロセッサ１１８は、電源１３４から電力を受け取り、ＷＴＲＵ１０２内の他の構成要素への電力の分配および／または制御をするように構成され得る。電源１３４は、ＷＴＲＵ１０２に電力供給するための任意の適切なデバイスであってよい。例えば、電源１３４は、１つまたは複数の乾電池（例えば、ニッケル−カドミウム（ＮｉＣｄ）、ニッケル−亜鉛（ＮｉＺｎ）、ニッケル水素（ＮｉＭＨ）、リチウムイオン（Ｌｉ−ｉｏｎ）など）、太陽電池、および燃料電池などを含み得る。
【００６８】
プロセッサ１１８は、ＧＰＳチップセット１３６に結合されてもよく、ＧＰＳチップセット１３６は、ＷＴＲＵ１０２の現在のロケーションに関するロケーション情報（例えば、経度および緯度）を提供するように構成され得る。ＧＰＳチップセット１３６からの情報に加えてまたは代えて、ＷＴＲＵ１０２は、基地局（例えば、基地局１１４ａ、１１４ｂ）からエアインターフェース１１６を介してロケーション情報を受信し、および／または２つ以上の近くの基地局から受信された信号のタイミングに基づいてそのロケーションを決定できる。ＷＴＲＵ１０２は、実施形態との整合性を保ちながら、任意の適切なロケーション決定方法によってロケーション情報を取得できることが理解されよう。
【００６９】
プロセッサ１１８は、他の周辺機器１３８にさらに結合されてよく、他の周辺機器１３８は、追加的な特徴、機能性、および／または有線若しくは無線接続性を提供する１つまたは複数のソフトウェアおよび／またはハードウェアモジュールを含み得る。例えば、周辺機器１３８は、加速度計、電子コンパス、衛星トランシーバ、（写真および／またはビデオ用）デジタルカメラ、ＵＳＢポート、振動デバイス、テレビトランシーバ、ハンズフリーヘッドセット、Ｂｌｕｅｔｏｏｔｈ（登録商標）モジュール、周波数変調（ＦＭ）無線ユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ、バーチャルリアリティおよび／または拡張現実（ＶＲ／ＡＲ）デバイス、並びにアクティビティトラッカなどを含み得る。周辺機器１３８は、１つまたは複数のセンサを含んでよく、センサは、ジャイロスコープ、加速度計、ホール効果センサ、方位センサ、近接センサ、温度センサ、時間センサ、地理位置センサ、高度計、光センサ、タッチセンサ、磁力計、気圧計、ジェスチャセンサ、バイオメトリックセンサ、および／または湿度センサのうちの１つまたは複数であってよい。
【００７０】
ＷＴＲＵ１０２は、全二重無線を含んでよく、全二重無線では、（例えば、ＵＬ（例えば送信用）とダウンリンク（例えば受信用）の両方についての特定のサブフレームに関連付けられた）信号の一部または全部の送信および受信が、並列および／または同時であり得る。全二重無線は、ハードウェア（例えばチョーク）またはプロセッサ（例えば、別個のプロセッサ（図示せず）若しくはプロセッサ１１８）による信号処理を介して自己干渉を低減させまたは実質的に除去するための干渉管理ユニットを含むことができる。実施形態において、ＷＴＲＵ１０２は、（例えば、ＵＬ（例えば送信用）またはダウンリンク（例えば受信用）のいずれかについての特定のサブフレームに関連付けられた）信号の一部または全部の送信および受信のための半二重無線を含んでよい。
【００７１】
図１Ａ〜図１Ｂでは無線端末としてＷＴＲＵが説明されているが、特定の代表的実施形態では、そのような端末は、通信ネットワークとの有線通信インターフェースを（例えば、一時的または永続的に）使用できることが企図される。
【００７２】
代表的実施形態において、他のネットワーク１１２はＷＬＡＮであってよい。
【００７３】
図１Ａ〜図１Ｂおよび対応する説明に鑑みて、本明細書に説明される機能の１つ若しくは複数または全ては、１つまたは複数のエミュレーションデバイス（図示せず）によって実行され得る。エミュレーションデバイスは、本明細書に説明される機能の１つ若しくは複数または全てをエミュレートするように構成された１つまたは複数のデバイスであり得る。例えばエミュレーションデバイスは、他のデバイスをテストするため、並びに／またはネットワークおよび／若しくはＷＴＲＵ機能をシミュレートするために使用され得る。
【００７４】
エミュレーションデバイスは、ラボ環境および／またはオペレータネットワーク環境において他のデバイスの１つまたは複数のテストを実装するように設計され得る。例えば、１つまたは複数のエミュレーションデバイスは、通信ネットワーク内の他のデバイスをテストするために、有線および／または無線通信ネットワークの一部として完全または部分的に実装および／または展開されながら、１つ若しくは複数または全ての機能を実行してよい。１つまたは複数のエミュレーションデバイスは、有線および／または無線通信ネットワークの一部として一時的に実装／展開されながら、１つ若しくは複数または全ての機能を実行してよい。エミュレーションデバイスは、テストのために別のデバイスに直接結合されてよく、および／または無線の無線通信を使用してテストを実行してよい。
【００７５】
１つまたは複数のエミュレーションデバイスは、有線および／または無線通信ネットワークの一部として実装／展開されずに、全てを含む１つまたは複数の機能を実行してよい。例えば、エミュレーションデバイスは、１つまたは複数の構成要素のテストを実装するために、試験所並びに／または展開されていない（例えばテスト）有線および／若しくは無線通信ネットワークにおいてテストシナリオで利用されてよい。１つまたは複数のエミュレーションデバイスは試験装置であり得る。直接ＲＦ結合、および／または（例えば、１つ若しくは複数のアンテナを含み得る）ＲＦ回路を介した無線通信が、エミュレーションデバイスによってデータを送信および／または受信するために使用され得る。
【００７６】
詳細な説明
ブロックベースのビデオコーディング
ＨＥＶＣのように、ＶＶＣは、ブロックベースのハイブリッドビデオコーディングフレームワーク上に構築される。図２Ａは、ブロックベースのハイブリッドビデオ符号化システムのブロック図を示す。入力ビデオ信号１０３は、（コーディングユニット（ＣＵ）と呼ばれる）ブロックごとに処理される。ＶＴＭ−１．０では、ＣＵは最大１２８×１２８ピクセルにすることができる。しかしながら、四分木のみに基づいてブロックを区分化するＨＥＶＣとは異なり、ＶＴＭ−１．０では、コーディングツリーユニット（ＣＴＵ）は、四分木／二分木／三分木に基づいて様々なローカル特性に適応するように、ＣＵに分割される。さらに、ＨＥＶＣにおける複数パーティションユニットタイプの概念が削除され、ＣＵ、予測ユニット（ＰＵ）、および変換ユニット（ＴＵ）の分離がＶＶＣでは存在しなくなった。代わりに、各ＣＵは、さらなる区分化なしで予測と変換の両方の基本単位として常に使用される。マルチタイプツリー構造では、１つのＣＴＵが最初に四分木構造によって区分化される。各四分木リーフノードは、二分木および三分木構造でさらに区分化され得る。図３Ａ〜図３Ｅに示されるように、４区分化、水平２区分化、垂直２区分化、水平３区分化、垂直３区分化の５つの分割タイプがある。
【００７７】
図２Ａに示されるように、空間予測（１６１）および／または時間予測（１６３）が実行され得る。空間予測（または「イントラ予測」）は、同じビデオピクチャ／スライス内の既にコーディングされた隣接ブロックのサンプル（参照サンプルと呼ばれる）からのピクセルを使用して、カレントビデオブロックを予測する。空間予測は、ビデオ信号に固有の空間冗長性を低減する。時間予測（「インター予測」または「動き補償予測」とも呼ばれる）は、既にコーディングされたビデオピクチャから再構成されたピクセルを使用して、カレントビデオブロックを予測する。時間予測は、ビデオ信号に固有の時間冗長性を低減する。所与のＣＵの時間予測信号は、通常、カレントＣＵとその時間参照との間の動きの量および方向を示す１つまたは複数の動きベクトル（ＭＶ）によってシグナリングされる。複数の参照ピクチャがサポートされる場合、参照ピクチャインデックスが追加的に送信され、参照ピクチャインデックスは、参照ピクチャストア（１６５）内のどの参照ピクチャから時間予測信号が到来するかを識別するために使用される。空間予測および／または時間予測の後、エンコーダにおけるモード決定ブロック（１８１）が、例えばレート−歪み最適化方法に基づいて、最良の予測モードを選択する。次いで、予測ブロックがカレントビデオブロック（１１７）から引かれ、予測残差が、変換（１０５）および量子化（１０７）を使用して非相関化される。量子化された残差係数は、逆量子化（１１１）され、逆変換（１１３）されて、再構成された残差を形成し、再構成された残差が予測ブロック（１２７）に戻されて、ＣＵの再構成された信号を形成する。再構成されたＣＵが、参照ピクチャストア（１６５）に入れられ、将来のビデオブロックをコーディングするために使用される前に、再構成されたＣＵに対して、デブロッキングフィルタ、サンプル適応オフセット（ＳＡＯ）、および適応ループ内フィルタ（ＡＬＦ）などのループ内フィルタリングが適用され得る（１６７）。出力ビデオビットストリーム１２１を形成するために、コーディングモード（インターまたはイントラ）、予測モード情報、動き情報、および量子化された残差係数が全て、エントロピーコーディングユニット（１０９）に送信され、さらに圧縮およびパッキングされて、ビットストリームを形成する。
【００７８】
図２Ｂは、ブロックベースのビデオデコーダの機能ブロック図を示す。ビデオビットストリーム２０２は、エントロピー復号ユニット２０８で最初にアンパックされエントロピー復号される。コーディングモードおよび予測情報は、空間予測ユニット２６０（イントラコーディングされている場合）または時間予測ユニット２６２（インターコーディングされている場合）のいずれかに送信されて、予測ブロックを形成する。残差変換係数は、逆量子化ユニット２１０および逆変換ユニット２１２に送信されて、残差ブロックを再構成する。予測ブロックと残差ブロックは２２６で一緒に加えられる。再構成されたブロックは、参照ピクチャストア２６４に記憶される前に、ループ内フィルタリングをさらに通過してよい。参照ピクチャストア内の再構成されたビデオは、ディスプレイデバイスを駆動するために送出され、また、将来のビデオブロックを予測するために使用される。
【００７９】
前述のように、ＢＭＳ−２．０は、図２Ａおよび図２Ｂに示されたのと同じＶＴＭ−２．０の符号化／復号ワークフローに準拠している。しかしながら、いくつかのコーディングモジュール、特に時間予測に関連付けられたものがさらに強化されて、コーディング効率が向上される。本開示は、計算複雑性を低減し、ＢＭＳ−２．０の既存のＢＩＯツールに関連付けられた大きなビット幅の問題を解決することに関する。以下では、ＢＩＯツールの主な設計態様が紹介され、次いで、既存のＢＩＯ実装の計算複雑性およびビット幅に関するより詳細な分析が提供される。
【００８０】
オプティカルフローモデルに基づく双予測での予測
ビデオコーディングにおける従来の双予測は、既に再構成された参照ピクチャから得られた２つの時間予測ブロックの単純な組み合わせである。しかしながら、ブロックベースの動き補償（ＭＣ）の制約により、２つの予測ブロックのサンプルの間で観察できる残りの小さな動きがあり、それによって動き補償予測の効率が低下する可能性がある。この問題を解決するために、ＢＭＳ−２．０において双方向オプティカルフロー（ＢＩＯ）が適用され、ブロック内部の全てのサンプルに対するそのような動きの影響を低減する。具体的には、ＢＩＯは、双予測が使用されたときにブロックベースの動き補償予測に加えて実行されるサンプルごとの動き精緻化である。現在のＢＩＯ設計では、１つのブロック内の各サンプルの精緻化された動きベクトルの導出は、古典的なオプティカルフローモデルに基づいている。Ｉ(k)（ｘ，ｙ）を、参照ピクチャリストｋ（ｋ＝０，１）から得られた予測ブロックの座標（ｘ，ｙ）におけるサンプル値とすると、∂Ｉ(k)（ｘ，ｙ）／∂ｘおよび∂Ｉ(k)（ｘ，ｙ）／∂ｙは、サンプルの水平勾配および垂直勾配である。オプティカルフローモデルが与えられると、（ｘ，ｙ）における動き精緻化（ｖx，ｖy）は、
【００８１】
【数９】
2022501906.tif 000011
【００８２】
によって導出され得る。
【００８３】
図４では、（ＭＶx0，ＭＶy0）および（ＭＶx1，ＭＶy1）が、ブロックＩ(0)およびＩ(1)を生成するために使用されるブロックレベル動きベクトルを示す。さらに、サンプル位置（ｘ，ｙ）での動き精緻化（ｖx，ｖy）は、
【００８４】
【数１０】
2022501906.tif 000012
【００８５】
に示すように、動き精緻化補償後のサンプルの値間の差Δ（図４内のＡおよびＢ）を最小化することによって計算される。
【００８６】
さらに、導出された動き精緻化の規則性を確実にするために、動き精緻化は、１つの小さなユニット（すなわち、４×４ブロック）内のサンプルに関して一貫していると想定される。ＢＭＳ−２．０では、（ｖx，ｖy）の値は、
【００８７】
【数１１】
2022501906.tif 000013
【００８８】
のように、各４×４ブロックの周りの６×６ウィンドウΩ内のΔを最小化することによって導出される。
【００８９】
式（３）で指定された最適化問題を解決するために、ＢＩＯは、最初に水平方向で次に垂直方向で動き精緻化を最適化する漸進的方法を使用する。この結果、
【００９０】
【数１２】
2022501906.tif 000014
【００９１】
であり、ここで、
【００９２】
【数１３】
2022501906.tif 000015
【００９３】
は、入力以下で最大の値を出力する床関数であり、ｔｈBIOは、コーディングノイズおよび不規則な局所的動きによるエラー伝搬を防止するための動き精緻化閾値であり、これは、２18-BDに等しい。演算子（  ？  ：  ）は、三項条件演算子であり、形式（ａ  ？  ｂ  ：  ｃ）の表現は、ａの値が真である場合にｂと評価され、さもなければ、それはｃと評価される。関数ｃｌｉｐ３（ａ，ｂ，ｃ）は、ｃ＜ａの場合にａを返し、ａ≦ｃ≦ｂの場合にｃを返し、ｂ＜ｃの場合にｂを返す。Ｓ1、Ｓ2、Ｓ3、Ｓ5、およびＳ6の値はさらに、
【００９４】
【数１４】
2022501906.tif 000016
【００９５】
として計算され、ここで、
【００９６】
【数１５】
2022501906.tif 000017
【００９７】
である。
【００９８】
ＢＭＳ−２．０では、水平方向と垂直方向の両方の（６）におけるＢＩＯ勾配は、各Ｌ０／Ｌ１予測ブロックの１つのサンプル位置において（導出される勾配の方向に応じて水平または垂直に）２つの隣接サンプルの間の差を計算することによって直接求められ、例えば、以下のように求められる。
【００９９】
【数１６】
2022501906.tif 000018
【０１００】
式（５）において、Ｌは、データ精度を維持するための内部ＢＩＯプロセスのビット深度増大であり、ＢＭＳ−２．０では５に設定される。さらに、より小さい値による分割を回避するために、式（４）における調整パラメータｒおよびｍが、
ｒ＝５００・４BD-8
ｍ＝７００・４BD-8          （８）
として定義され、ここで、ＢＤは、入力ビデオのビット深度である。式（４）によって導出された動き精緻化に基づいて、カレントＣＵの最終的双予測信号は、以下に指定されるように、オプティカルフロー方程式（１）に基づいて動き軌道に沿ってＬ０／Ｌ１予測サンプルを補間することによって計算され得る：
【０１０１】
【数１７】
2022501906.tif 000019
【０１０２】
ここで、ｂは、双方向オプティカルフローサンプルオフセットであり、ｓｈｉｆｔは、双予測のためにＬ０予測信号とＬ１予測信号を組み合わせるために適用される右シフトであり、１５−ＢＤに等しく設定されてよく、ｏoffsetは、１≪（１４−ＢＤ）＋２・（１≪１３）に設定され得るビット深度オフセットであり、ｒｎｄ（・）は、入力値を最も近い整数値に丸める丸め関数である。
【０１０３】
ＢＩＯのビット幅分析
前述の規格ＨＥＶＣと同様に、ＶＶＣにおける双予測されたＣＵに関して、ＭＶが分数のサンプル位置を指す場合、Ｌ０／Ｌ１予測信号、すなわち、Ｉ(0)（ｘ，ｙ）およびＩ(1)（ｘ，ｙ）が、後の平均化演算の精度を維持するために中間の高精度（すなわち、１６ビット）で生成される。さらに、２つのＭＶのいずれかが整数である場合、（参照ピクチャから直接取り出される）対応する予測サンプルの精度は、平均化が適用される前に中間精度に向上される。中間ビット深度での双予測信号が与えられ、入力ビデオが１０ビットであると仮定して、表１は、「オプティカルフローモデルに基づく双予測での予測」の節で示されたようなＢＩＯプロセスの各段階で必要とされる中間パラメータのビット幅をまとめている。
【０１０４】
【表１】
2022501906.tif 000020
【０１０５】
表１から分かるように、ＢＩＯプロセス全体の極大ビット幅は、式（４）における垂直動き精緻化ｖyの計算で生じ、ここで、Ｓ6（４２ビット）はＶx（９ビット）とＳ2（３３ビット）の乗法積によって減算される。従って、既存のＢＩＯ設計の最大ビット幅は、４２＋１＝４３ビットに等しい。さらに、乗算（すなわちｖxＳ2）はＳ2を入力とするので、３３ビット乗算器がｖyの値を計算するために使用される。従って、ＢＭＳ−２．０での現在のＢＩＯの直接的な実装では、３３ビット乗算器を必要とし、中間パラメータについて４３ビットの最大ビット幅を有する。
【０１０６】
ＢＩＯの計算複雑性分析
この節では、既存のＢＩＯ設計に対して計算複雑性分析が実行される。具体的には、ＢＭＳ−２．０の現在のＢＩＯ実装に従って、ＢＩＯが適用された状態で最終的な動き補償予測を生成するために使用される演算（例えば、乗算および加算）の数が計算される。さらに、以下の議論を容易にするために、ＢＩＯにより予測されるカレントＣＵのサイズがＷ×Ｈに等しく、ＷはＣＵの幅でありＨは高さであると仮定する。
【０１０７】
Ｌ０およびＬ１予測サンプルの生成
式（３）に示されるように、各４×４ブロックの局所動き精緻化（ｖx，ｖy）を導出するために、必要とされるサンプル値および勾配値の両方が、サンプルの周りの６×６周囲ウィンドウ内の全てのサンプルについて計算される。従って、ＣＵ内の全てのサンプルについて局所動き精緻化（ｖx，ｖy）を導出するために、（Ｗ＋２）×（Ｈ＋２）サンプルの勾配がＢＩＯによって使用される。さらに、式（７）に示されるように、水平勾配と垂直勾配の両方が、２つの隣接サンプルの間の差を直接計算することによって得られる。従って、（Ｗ＋２）×（Ｈ＋２）勾配値を計算するために、Ｌ０とＬ１の両方の予測方向での予測サンプルの総数が（Ｗ＋４）×（Ｈ＋４）に等しくなる。現在の動き補償は２Ｄ分離可能有限インパルス応答（ＦＩＲ）８タップフィルタに基づくので、Ｌ０およびＬ１予測サンプルの生成に使用される乗算と加算の両方の数は、（（Ｗ＋４）×（Ｈ＋４＋７）×８＋（Ｗ＋４）×（Ｈ＋４）×８）×２に等しい。
【０１０８】
勾配計算
式（７）に示されるように、勾配は２つの隣接する予測サンプルから直接計算されるので、サンプルごとに１つのみの加算が必要とされる。Ｌ０とＬ１の両方の（Ｗ＋２）ｘ（Ｈ＋２）の拡張された領域で水平勾配と垂直勾配の両方が導出されることを考慮すると、勾配の導出に必要な加算の総数は、（（Ｗ＋２）×（Ｈ＋２））×２×２に等しい。
【０１０９】
相関パラメータ計算
式（５）および（６）に示されるように、ＢＩＯによって拡張領域（Ｗ＋２）ｘ（Ｈ）内の全てのサンプルについて計算される５つの相関パラメータ（すなわち、Ｓ1、Ｓ2、Ｓ3、Ｓ5、およびＳ6）がある。さらに、各サンプル位置において５つのパラメータを計算するために使用される５つの乗算と３つの加算がある。従って、相関パラメータを計算するための乗算および加算の総数はそれぞれ、（（Ｗ＋２）×（Ｈ＋２））×５および（（Ｗ＋２）×（Ｈ＋２））×３に等しい。
【０１１０】
総和
上述のように、ＢＩＯ動き精緻化（ｖx，ｖy）は、カレントＣＵ内の各４×４ブロックについて別々に導出される。各４×４ブロックの動き精緻化を導出するために、６×６周囲領域内の５つの相関パラメータの合計が計算される。従って、この段階で、５つの相関パラメータの総和は、総計で（Ｗ／４）×（Ｈ／４）×６×６×５の加算を使用する。
【０１１１】
動き精緻化導出
式（４）に示されるように、各４×４ブロックの局所動き精緻化（ｖx，ｖy）を導出するために、調節パラメータｒをＳ1およびＳ3に追加するための２つの加算がある。さらに、ｖyの値を計算するための１つの乗算および加算がある。従って、ＣＵ内の全ての４×４ブロックについての動き精緻化を導出するために、使用される乗算および加算の数はそれぞれ、（Ｗ／４）×（Ｈ／４）および（Ｗ／４）×（Ｈ／４）×３に等しい。
【０１１２】
双予測信号の生成
式（９）に示されるように、導出された動き精緻化が与えられると、各サンプル位置における最終的予測サンプル値を導出するために、２つの乗算および６つの加算がさらに使用される。この段階で、総計でＷ×Ｈ×２の乗算およびＷ×Ｈ×６の加算が行われる。
【０１１３】
いくつかの実施形態で対処される課題
上述のように、ＢＩＯは、動き補償段階で使用される動きベクトルの粒度および精度の両方を改善することによって、双予測での予測の効率を向上することができる。ＢＩＯはコーディング性能を効率的に改善することができるが、実際のハードウェア実装の複雑性が大幅に増大する。本開示では、ＢＭＳ−２．０の現在のＢＩＯ設計に存在する以下の複雑性問題が特定される。
【０１１４】
ＢＩＯのための大きい中間ビット幅および大きい乗算器
ＨＥＶＣ規格と同様に、ＭＶが参照ピクチャにおける分数のサンプル位置を指すとき、予測ブロックの予測サンプルを補間するために、動き補償段階で２Ｄ分離可能ＦＩＲフィルタが適用される。具体的には、最初に、ＭＶの水平分数成分に応じて中間サンプルを導出するために１つの補間フィルタが水平方向に適用され、次に、ＭＶの垂直分数成分に応じて上記の水平分数サンプル上に別の補間フィルタが垂直に適用される。入力が１０ビットビデオ（すなわち、ＢＤ＝１０）であると仮定して、表２は、動き補償プロセスからの補間されたサンプルの最悪の場合のビット幅に対応する半サンプル位置を水平および垂直ＭＶが指すことを仮定して、ＶＴＭ／ＢＭＳ−２．０での動き補償予測プロセスのビット幅測定を示している。具体的には、最初の段階で、正および負のフィルタ係数に関連付けられた入力参照サンプルの値をそれぞれ最大入力値（すなわち、２BD−１）および最小入力値（すなわち、０）に設定することによって、最初の補間プロセス（水平補間）後の中間データの最悪の場合のビット幅が計算される。次いで、第２の補間の入力値の値を、第１の補間から出力された最悪の可能な値に設定することによって、第２の補間プロセス（垂直補間）の最悪の場合のビット幅が得られる。
【０１１５】
【表２】
2022501906.tif 000021
【０１１６】
表２から分かるように、動き補償補間の最大ビット幅は、垂直補間プロセスに存在し、ここで、入力データは１５ビットであり、フィルタ係数は７ビットの符号付き値であり、従って、垂直補間からの出力データのビット幅は２２ビットである。さらに、垂直補間プロセスへの入力データが１５ビットの場合、動き補償段階での中間分数サンプル値の生成には１５ビット乗算器で十分である。
【０１１７】
しかしながら、上記で分析したように、既存のＢＩＯ設計は、３３ビット乗算器を必要とし、中間データの精度を維持するために４３ビット中間パラメータを有する。表２と比較すると、いずれの数字も通常の動き補償補間のものより非常に大きい。実際には、そのような大幅なビット幅増大（特に必要とされる乗算器のビット幅増大）は、ハードウェアとソフトウェアの両方にとって非常に費用がかかり、ＢＩＯの実装コストが増大し得る。
【０１１８】
ＢＩＯの高い計算複雑性
上記の複雑性分析に基づいて、表３および表４は、現在のＢＩＯに従って異なるＣＵサイズについてサンプルごとに行う必要がある乗算および加算の数を示し、それらを、ＶＴＭ／ＢＭＳ−２．０での最悪の場合の計算複雑性に対応する通常の４×４の双予測されたＣＵの複雑性統計値と比較する。４×４の双予測されたＣＵについて、補間フィルタの長さ（例えば、８）が与えられると、乗算および加算の総数は、（４×（４＋７）×８＋４×４×８）×２＝９６０（すなわち、サンプルあたり６０）および（４×（４＋７）×８＋４×４×８）×２＋４×４×２＝９９２（すなわち、サンプルあたり６２）に等しい。
【０１１９】
【表３】
2022501906.tif 000022
【０１２０】
【表４】
2022501906.tif 000023
【０１２１】
表３および表４に示されるように、計算複雑性は、ＢＭＳ−２．０において既存のＢＩＯを可能にすることにより、通常の双予測の最悪の場合の複雑性と比較して大幅な増大を示す。複雑性増大のピークは、４×４の双予測ＣＵで生じ、ＢＩＯが有効にされた乗算および加算の数は、最悪の場合の双予測の場合の３２９％および３５０％である。
【０１２２】
例示的実施形態の概要
上述された問題の少なくともいくつかを解決するために、この節では、コーディング利得を維持しながら、ＢＩＯに基づく動き補償予測の複雑性を低減する方法が提案される。第１に、実装コストを低減するために、本開示では、ハードウェアＢＩＯ実装に使用される内部ビット幅を低減するためのビット幅制御方法が提案される。いくつかの提案される方法では、ＢＩＯが有効にされた動き補償予測は、１５ビットの乗算器および３２ビット内の中間値を用いて実装され得る。
【０１２３】
第２に、簡略化されたフィルタを使用し、ＢＩＯ動き精緻化に使用される拡張された予測サンプルの数を低減することによって、ＢＩＯの計算複雑性を低減する方法が提案される。
【０１２４】
さらに、いくつかの実施形態では、通常の双予測と比較して大幅な計算複雑性の増大をもたらすＣＵサイズのＢＩＯ動作を無効にすることが提案される。これらの複雑性低減の組み合わせに基づいて、ＢＩＯが有効になっているときの動き補償予測の最悪の場合の計算複雑性（例えば、乗算および加算の数）が、通常の双予測の最悪の場合の複雑性とほぼ同じレベルに低減され得る。
【０１２５】
例示的ＢＩＯビット幅制御方法
上記で指摘されたように、ＢＭＳ−２．０における現在のＢＩＯの実装は、ＨＥＶＣの動き補償補間の実装の場合よりもはるかに大きい、３３ビットの乗算器および中間パラメータの４３ビットのビット幅を使用する。従って、ハードウェアおよびソフトウェアにＢＩＯを実装するのに非常にコストがかかる。この節では、ＢＩＯに必要なビット幅を低減するためのビット幅制御方法が提案される。例示的方法では、以下に示されるように、中間パラメータの全体的ビット幅を低減するために、式（６）における水平中間パラメータアレイΨx（ｉ，ｊ）、垂直中間パラメータアレイΨy（ｉ，ｊ）、および信号差パラメータアレイθ（ｉ，ｊ）のうちの１つまたは複数がそれぞれ最初にｎaビットおよびｎbビット下位方向にシフトされる：
【０１２６】
【数１８】
2022501906.tif 000024
【０１２７】
さらに、ビット幅をさらに小さくするために、元のＬビット内部ビット深度増大が除去され得る。そのような変更により、（５）における方程式で計算することで、水平勾配相関パラメータ（Ｓ1）、相互勾配相関パラメータ（Ｓ2）、信号水平勾配相関パラメータ（Ｓ3）、垂直勾配相関パラメータ（Ｓ5）、および信号垂直勾配相関パラメータ（Ｓ6）が以下のように実装され得る：
【０１２８】
【数１９】
2022501906.tif 000025
【０１２９】
異なる数の右シフト（すなわち、ｎaおよびｎb）がΨx（ｉ，ｊ）、Ψy（ｉ，ｊ）、およびθ（ｉ，ｊ）に適用されることを考慮に入れると、Ｓ1、Ｓ2、Ｓ3、Ｓ5、およびＳ6の値が異なるファクタによってダウンスケールされ、それにより、導出された動き精緻化（ｖx，ｖy）の幅を変更し得る。従って、導出された動き精緻化の正確な幅範囲を提供するために、追加の左シフトが式（４）に導入されてよい。具体的には、例示的方法では、水平動き精緻化ｖxおよび垂直動き精緻化ｖyは、以下のように導出され得る。
【０１３０】
【数２０】
2022501906.tif 000026
【０１３１】
式（４）とは異なり、この実施形態では、調整パラメータｒおよびｍは適用されないことに留意されたい。さらに、（ｖx，ｖy）の動的範囲を低減するために、この実施形態では、元のＢＩＯ設計の式（４）のｔｈBIO＝２18-BDと比較して小さい動き精緻化閾値ｔｈ’BIO＝２13-BDが適用される。式（１２）において、積ｖxＳ2は、Ｓ2を１６ビットよりも大きいビット幅の入力とし、従って、ｖyの値を計算するために１６ビットより大きい乗算器が求められ得る。そのような事態を回避するために、相互勾配相関パラメータＳ2の値を２つの部分に分割して、第１の部分Ｓ2,Sは最下位ｎS2ビットを含み、第２の部分Ｓ2,mはその他のビットを含むことが提案される。これに基づいて、値Ｓ2は、以下のように表現され得る。
【０１３２】
【数２１】
2022501906.tif 000027
【０１３３】
次いで、式（１３）を式（１２）に代入すると、垂直動き精緻化ｖyの計算は、以下のようになる。
【０１３４】
【数２２】
2022501906.tif 000028
最後に、（１１）で元のＬビット内部ビット深度増大が除去されるので、（９）の双予測サンプルを強化するために適用される差ｂの導出が、以下のように修正され得る。
【０１３５】
【数２３】
2022501906.tif 000029
実際に、ｎa、ｎb、およびｎS2の異なる値が、中間ビット幅と計算コストとの間の異なるトレードオフを達成するために適用される。本開示のいくつかの実施形態では、３つのパラメータの値が以下のように設定されることが提案される：
・  中間ＢＩＯパラメータの妥当な内部ビット幅を提供するために、ｎaが３に設定され、ｎbが６に設定される。  
・  ＨＥＶＣの動き補償に使用される乗算器と同じ１つの１５ビット乗算器によって、ＢＩＯに関与する全ての乗算が行われることが可能であるように、ｎS2が１２に設定される。
【０１３６】
入力ビデオが１０ビットであると仮定して、表５は、ビット幅制御方法の例がＢＩＯに関して適用された場合の中間パラメータのビット幅をまとめている。表５のように、提案された例示的ビット幅制御方法を用いると、ＢＩＯプロセス全体の内部ビット幅が３２ビットを超えない。可能な最悪の入力を伴う乗算は、式（１４）におけるｖxＳ2,mの積で生じ、ここで、入力Ｓ2,mは１５ビットであり、入力ｖxは４ビットである。従って、１つの１５ビット乗算器は、ＢＩＯに関して例示的方法が適用される場合に十分である。
【０１３７】
【表５−１】
2022501906.tif 000030
【０１３８】
【表５−２】
2022501906.tif 000031
【０１３９】
最後に、式（１０）において、Ｌ０およびＬ１予測サンプルＩ(0)（ｉ，ｊ）およびＩ(1)（ｉ，ｊ）間の差に対して右シフトを適用することによって、ＢＩＯパラメータθ（ｉ，ｊ）が計算される。Ｉ(0)（ｉ，ｊ）とＩ(1)（ｉ，ｊ）の値は両方とも１６ビットであり、それらの差は１つの１７ビット値であり得る。そのような設計は、ＳＩＭＤベースのソフトウェア実装にはあまり適していないことがある。例えば、１２８ビットＳＩＭＤレジスタは、４つのサンプルのみを並列に処理することができる。従って、別の例では、以下のように、信号差パラメータアレイθ（ｉ，ｊ）を計算するときに差を計算する前にまず右シフトを適用するように提案される：
θ（ｉ，ｊ）＝（Ｉ(1)（ｉ，ｊ）≫ｎb）−（Ｉ(0)（ｉ，ｊ）≫ｎb）    （１６）
【０１４０】
そのような実施形態では、各操作の入力値は１６ビット以下であるので、より多くのサンプルが並列に処理され得る。例えば、式（１６）を使用することによって、８個のサンプルが、１つの１２８ビットＳＩＭＤレジスタによって同時に処理され得る。いくつかの実施形態では、類似した方法が式（７）の勾配計算に適用されることにより、各ＳＩＭＤ計算のペイロードを最大化するように、Ｌ０予測サンプルとＬ１予測サンプルとの間の差を計算する前に４ビット右シフトが適用される。具体的には、そうすることによって、勾配値は、以下のように計算され得る。
【０１４１】
【数２４】
2022501906.tif 000032
【０１４２】
ＢＩＯ計算複雑性を低減する例示的方法
上に示されたように、ＢＭＳ−２．０における既存のＢＩＯ設計は、通常の双予測の最悪の場合の計算複雑性と比較して大きな複雑性増大（例えば、乗算および加算の数）をもたらす。以下では、ＢＩＯの最悪の場合の計算複雑性を低減する方法が提案される。
【０１４３】
簡略化されたフィルタを使用して拡張サンプルを生成することによるＢＩＯ複雑性低減
上述のように、カレントＣＵがＷ×Ｈであると仮定すると、拡張された領域（Ｗ＋２）×（Ｈ＋２）におけるサンプルの勾配は、ＣＵ内の全ての４×４ブロックについての動き精緻化を導出するために計算される。既存のＢＩＯ設計では、動き補償に使用される同じ補間フィルタ（８タップフィルタ）が、これらの拡張されたサンプルを生成するために使用される。表３および表４に示されるように、拡張された領域でのサンプルの補間による複雑性は、ＢＩＯの複雑性ボトルネックである。従って、ＢＩＯ複雑性を低減するために、８タップ補間フィルタを使用する代わりに、ＢＩＯ  ＣＵの拡張された周囲領域でのサンプルの生成のために、タップ長がより短い簡略化された補間フィルタを使用することが提案される。他方で、拡張されたサンプルの生成では、参照ピクチャからのより多くの参照サンプルにアクセスする必要があるため、これがＢＩＯのメモリ帯域幅を増大させる可能性がある。メモリ帯域幅増大を回避するために、ＢＭＳ−２．０の現在のＢＩＯで使用されている参照サンプルパディングが適用されることが可能であり、この場合、ＣＵの通常の動き補償の通常の参照領域（すなわち、（Ｗ＋７）×（Ｈ＋７））の外側の参照サンプルが、通常の参照領域の最も近い境界サンプルによってパディングされる。パディングされた参照サンプルのサイズを計算するために、拡張されたサンプルを生成するために使用される簡略化されたフィルタの長さをＮと仮定すると、通常の参照領域の上下左右の各境界に沿ったパディングされた参照サンプルの数Ｍは、以下と等しい。
【０１４４】
【数２５】
2022501906.tif 000033
【０１４５】
式（１８）に示されるように、８タップフィルタを使用して、拡張された予測サンプルを生成することによって、通常の参照領域の境界上の参照サンプルが各方向に２行または２列でパディングされる。図５は、ＢＩＯにより、拡張された領域でサンプルを生成するための、簡略化されたフィルタおよび参照サンプルパディングの使用を示している。図５のように、簡略化されたフィルタは、拡張された領域内の予測サンプルを生成するためにのみ使用される。カレントＣＵの領域内の位置について、それらの予測サンプルが、デフォルトの８タップ補間を適用することによって生成されて、ＢＩＯコーディング効率を維持する。特に、本開示の一実施形態として、バイリニア補間フィルタ（すなわち、２タップフィルタ）を使用して、拡張されたサンプルを生成し、それにより、ＢＩＯに使用される操作の数をさらに低減することが提案される。図６は、バイリニアフィルタを使用してＢＩＯのための拡張されたサンプルを補間する場合を示す。ＣＵ内の予測サンプルは、デフォルトの８タップフィルタによって補間される。図６に示されるように、フィルタ長が短縮されたため、バイリニアフィルタは、拡張された領域内の必要とされるサンプルを補間するために通常の参照領域外の追加の参照サンプルにアクセスする必要がない。従って、この場合、参照サンプルのパディングが回避されることが可能であり、これにより、ＢＩＯ操作の複雑性をさらに低減することができる。
【０１４６】
さらに、表３および表４の異なるＣＵサイズについての複雑性統計値の比較に基づいて、複雑性増大が、より低い高さのＣＵサイズの場合により大きいことが認められ得る。例えば、８×４ＣＵと４×８ＣＵは、同じ数のサンプルを含むが、それらは、異なる複雑性増大パーセンテージを示す。具体的には、８×４ＣＵの場合、ＢＩＯを有効にした後の乗算および加算の数はそれぞれ１４９％および１７２％増大するが、４×８ＣＵの場合、対応する複雑性増大はそれぞれ１２６％および１４９％である。そのような複雑性の差は、現在の動き補償設計において、最初に水平補間フィルタが適用され、次に垂直補間フィルタが適用されるという事実によってもたらされる。適用されたＭＶが垂直方向の分数位置を指す場合、より多くの中間サンプルが水平補間から生成され、垂直補間のための入力として使用される。従って、拡張された領域でより多くの参照サンプルが生成されることによる複雑性効果は、高さがより低いＣＵサイズの場合に比較的により重要である。
【０１４７】
いくつかの実施形態では、最悪の場合のＢＩＯ複雑性を低減するために、小さい高さを有する特定のＣＵサイズを無効にすることが提案される。特定のＣＵサイズを無効にするだけの上記の方法の他に、垂直補間プロセスで増加された操作の数を解決する別の方法は、垂直補間に使用される補間フィルタを簡略化する。現在の設計では、同じ８タップ補間フィルタが水平方向と垂直方向の両方に適用される。複雑性を低減するために、いくつかの実施形態では、ＢＩＯが有効にされたとき、水平方向および垂直方向の補間フィルタで異なる補間フィルタを使用し、第２のフィルタプロセス（例えば垂直補間）に適用されるフィルタサイズは、第１のフィルタプロセス（例えば水平補間）に適用されるフィルタサイズよりも小さくすることが提案される。例えば、垂直補間用の現在の８タップ補間フィルタと置き換えるために４タップクロマ補間フィルタが使用され得る。そうすることにより、拡張された領域での予測サンプルの生成について複雑性を約半分に低減することができる。ＣＵ内では、垂直補間用の８タップフィルタを使用してサンプルが生成され得る。複雑性をさらに低減するために、さらに小さいサイズの補間フィルタ、例えばバイリニアフィルタが使用され得る。
【０１４８】
ここでオプション１と呼ばれる１つの具体例では、最悪の場合のＢＩＯ複雑性を低減するために、バイリニアフィルタを使用して、ＢＩＯの拡張された領域でサンプル値を生成し、高さ４（すなわち、４×４、８×４、１６×４、３２×４、６４×４、および１２８×４）を有するＣＵ並びに４×８ＣＵについてＢＩＯを完全に無効にすることが提案される。表６および表７は、オプション１によって様々なＣＵサイズについてサンプルごとに実行するために使用される乗算および加算の数を示し、それらを通常の双予測の最悪の場合の数と比較している。表６および表７において、強調表示されている行は、ＢＩＯが無効にされたＣＵサイズを表す。これらの行では、対応するＢＩＯに関係付けられた操作が０に設定され、それぞれの複雑性は、同じサイズのＣＵの通常の双予測と同じである。見られるように、オプション１では、計算複雑性ピークは８×８  ＢＩＯ  ＣＵで生じ、乗算および加算の数は、通常の双予測の最悪の場合の複雑性の１１０％と１３６％である。
【０１４９】
【表６】
2022501906.tif 000034
【０１５０】
【表７】
2022501906.tif 000035
【０１５１】
拡張された領域のサイズを低減することによるＢＩＯ複雑性低減
図５および図６に示されるように、上述のＢＩＯ複雑度低減方法は、やはりカレントＣＵの各境界の周りの予測サンプルの２つの追加の行／列を補間するように動作する。簡略化されたフィルタを使用して操作の数を減らすが、補間される必要のあるサンプルの数のため、ある程度の複雑性増大が依然として生じる。ＢＩＯ複雑性をさらに低減するために、いくつかの実施形態では、拡張されたサンプルの数を各ＣＵ境界で２つの行／列から単一の行／列に低減する方法が提案される。具体的には、現在のＢＩＯによって（Ｗ＋４）×（Ｈ＋４）サンプルを使用する代わりに、いくつかの実施形態では、さらなる複雑性低減のために（Ｗ＋２）×（Ｈ＋２）サンプルのみを使用する。しかしながら、式（７）に示されるように、各サンプルの勾配計算は、左と右の隣接要素（水平勾配の場合）または上と下の隣接要素（垂直勾配の場合）の両方のサンプル値を使用する。従って、拡張された領域サイズを（Ｗ＋２）×（Ｈ＋２）に低減することにより、方法はＣＵ内のサンプルの勾配値を計算できるだけであり、従って、既存のＢＩＯ動き精緻化は、ＣＵ領域の四隅に配置された４×４ブロックに対して直接実行されることができない。この問題に対処するために、いくつかの実施形態では、ＣＵ外のサンプル位置の勾配（すなわち、
【０１５２】
【数２６】
2022501906.tif 000036
【０１５３】
）とサンプル値（すなわち、Ｉ(k)（ｘ，ｙ））との両方がＣＵ内のそれらの最も近い隣接要素と等しく設定される方法が適用される。図７は、サンプル値と勾配の両方のそのようなパディングプロセスを示す。図７において、暗いブロックはＣＵ内の予測サンプルを表し、白いブロックは拡張された領域内の予測サンプルを表す。
【０１５４】
図に示された例では、ＣＵ領域内の全てのサンプル（すなわち、図７内の暗いブロック）の勾配が正確に導出され得るように、拡張された領域において単一の行／列のみの追加の予測サンプルが生成される。しかしながら、ＣＵの四隅のサブブロック（例えば、図７における黒い太線の四角で囲まれたサブブロック）に関して、それらのＢＩＯ動き精緻化はサブブロックの周囲の局所領域（例えば、図７の黒い破線の四角で囲まれた領域）から導出されるので、それらは、拡張された領域内のいくつかのサンプル（例えば、図７の白いブロック）の勾配情報を使用するが、それらの情報は欠落している。この問題を解決するために、それらの欠落した勾配は、図７の矢印によって示されるように、ＣＵ領域内の最も近い境界サンプルの勾配値を複製することによってパディングされる。さらに、勾配のみがパディングされる場合、拡張された領域内のサンプル位置に使用される勾配とサンプル値がずらされる、すなわち、サンプル値はそれらの真のサンプル値である一方で、勾配はＣＵ内のそれらの隣接サンプルの勾配であるという問題が生じる可能性がある。これは、導出されたＢＩＯ動き精緻化の精度を低下させる可能性がある。従って、そのような不整合を回避するために、ＢＩＯ導出プロセス中に、サンプル値と拡張された領域のサンプルの勾配の両方がパディングされる。
【０１５５】
さらに大きい複雑性低減を達成するために、いくつかの実施形態では、提案されたパディング方法は、簡略化された補間フィルタを使用する方法、および上記の特定のＣＵサイズについてＢＩＯを無効にする方法と組み合わされる。オプション２と呼ばれる１つの具体例では、ＢＩＯ導出のためにパディングされたサンプルおよび勾配を使用し、バイリニアフィルタを適用してＣＵ境界の周りの１つの追加の行／列において拡張されたサンプルを生成することによって、拡張されたサンプル領域を（Ｗ＋２）×（Ｈ＋２）に減らすことが提案される。さらに、高さ４（すなわち、４×４、８×４、１６×４、３２×４、６４×４、および１２８×４）を有するＣＵ並びに４×８ＣＵについてＢＩＯが適用できないようにされる。表８および表９は、そのような方法を適用後に、様々なＣＵサイズについてサンプルごとに使用される乗算および加算の対応する数を示し、それらを通常の双予測の最悪の場合の数と比較している。表６および表７と同様に、強調表示されている行は、ＢＩＯが無効にされたＣＵサイズを表す。オプション２により見られるように、乗算および加算の数は、通常の双予測の最悪の場合の複雑性の１０３％および１２９％である。
【０１５６】
【表８】
2022501906.tif 000037
【０１５７】
【表９】
2022501906.tif 000038
【０１５８】
別の実施形態では、やはりデフォルトの８タップフィルタを使用して、ＢＩＯ  ＣＵの拡張された領域内の予測サンプルを補間することが提案される。しかしながら、ＢＩＯ複雑性を低減するために、拡張された領域のサイズは、（Ｗ＋４）×（Ｈ＋４）から（Ｗ＋２）×（Ｈ＋２）に減少され、すなわち、ＣＵの上、左、下、および右境界のそれぞれにおいて１つの追加の行／列がある。図７で説明したように、欠落している勾配を計算し、予測サンプルと勾配の間のずれを回避するために、拡張された領域内のサンプルのサンプル値と勾配の両方が、ＢＩＯ導出プロセス中にパディングされる。さらに、オプション１および２と同様に、特定のブロックサイズ（例えば、４と等しい高さを有する全てのＣＵ、および４×８、４×１６、８×８、１６×８のサイズのＣＵ）が無効にされ得る。
【０１５９】
別の実施形態では、ＢＩＯプロセスがカレントＣＵ領域内の予測サンプルの補間のみに関わるように、ＢＩＯ  ＣＵの拡張された領域内の全ての予測サンプルを破棄することが提案される。そうすることにより、予測サンプルの生成の対応するＢＩＯの操作が通常の双予測の操作と同じになる。しかしながら、補間されたサンプルの減少された数のため、カレントＣＵ上の境界サンプルの勾配が通常のＢＩＯプロセスによって導出されることができない。そのような場合、ＣＵの内部予測サンプルの勾配値がＣＵ境界におけるサンプルの勾配になるようにパディングすることが提案される。
【０１６０】
ここでオプション３と呼ばれる本開示の別の実施形態では、ＢＩＯ導出のためにパディングされたサンプルおよび勾配を使用することによって、拡張されたサンプル領域を（Ｗ＋２）×（Ｈ＋２）に縮小し、通常の動き補償に使用されるのと同じ８タップ補間を適用して、拡張されたサンプルをＣＵ境界の周りの１つの追加の行／列に生成することが提案される。さらに、オプション３では、高さ４（すなわち、４×４、８×４、１６×４、３２×４、６４×４、および１２８×４）を有するＣＵ並びに４×８ＣＵについてＢＩＯが無効にされる。
【０１６１】
上述の方法の場合、拡張された領域のサイズは（Ｗ＋４）×（Ｈ＋４）から（Ｗ＋２）×（Ｈ＋２）に減少されるが、それらの方法は、依然としてＢＩＯ  ＣＵの境界の周りの１つの追加の行／列を補間するように動作し得る。表８および表９に示されるように、そのような方法は、依然として、全体のＢＩＯ複雑性に無視できないほどの複雑性増大をもたらす可能性がある。ＢＩＯ計算複雑性をさらに低減するために、いくつかの実施形態では、（補間なしで）整数サンプル位置に配置された参照サンプルであって、拡張された領域内のサンプルとして参照ピクチャから直接取り出された参照サンプルを直接使用し、それらを使用してカレントＣＵの境界サンプルの勾配値を導出することが提案される。図１０は、整数参照サンプルがＢＩＯ導出のための拡張されたサンプルとして使用される実施形態を示す。図１０に示されるように、ＣＵ領域内のサンプル（網掛けされたブロック）は、デフォルトの８タップ補間フィルタを適用することによって生成される。しかし、拡張された領域（網掛けされていないブロック）のサンプルについては、補間フィルタ（例えば、バイリニアフィルタまたは８タップ補間フィルタ）を使用する代わりに、それらのサンプル値は、参照ピクチャ内の整数サンプル位置における対応するサンプル値と等しく直接設定される。そうすることにより、拡張されたサンプルの補間によって導入される全ての操作が回避されることが可能であり、それにより、ＢＩＯの大幅な複雑性低減を提供することができる。別の実施形態では、整数参照サンプルを使用する代わりに、拡張された領域内のサンプルを、ＣＵ境界における最も近い隣接サンプルに等しく直接設定することが提案される。
【０１６２】
上記の方法では追加の予測サンプルの単一の行／列のみがＢＩＯ導出に使用されるので、いくつかの実施形態では、図７に示されるようなパディング方法が、ＢＩＯ導出プロセス中にＣＵ境界上のサンプルのサンプル値と勾配の両方を拡張された領域にパディングするように適用され得る。そのような実施形態では、最悪の場合のＢＩＯ複雑性を低減するために、特定のＣＵサイズについてＢＩＯが無効にされ得る。例えば、いくつかの実施形態では、ＢＩＯは、高さ４（すなわち、４×４、８×４、１６×４、３２×４、６４×４、および１２８×４）を有するＣＵ並びに４×８ＣＵについて無効にされ得る。
【０１６３】
サブブロックモードにより予測されたＣＵに対してＢＩＯを無効にする
ＨＥＶＣでは、各予測ユニットは、予測方向に対して最大で１つのＭＶを有する。対照的に、現在のＶＴＭ／ＢＭＳ−２．０では、高度時間動きベクトル予測（ＡＴＭＶＰ）およびアフィン予測を含む２つのサブブロックレベルインター予測技法が含まれる。それらのコーディングモードでは、ビデオブロックはさらに複数の小さなサブブロックに分割され、各サブブロックについての動き情報が個別に導出される。各サブブロックについての動き情報は、動き補償段階でブロックの予測信号を生成するために使用される。他方で、ＢＭＳ−２．０の現在のＢＩＯは、ＣＵレベルの動き補償予測に加えて、４×４サブブロックレベルでの動き精緻化を提供することができる。サブブロックでコーディングされたＣＵの動きフィールドの細かな粒度により、ＢＩＯによる精緻化された動きから得られる追加のコーディング利点は非常に限られる可能性がある。いくつかの実施形態では、ＢＩＯは、サブブロックモードによってコーディングされたＣＵについて無効にされる。
【０１６４】
予め決定された予測モードを使用してＣＵに対してＢＩＯを無効にする
ＶＶＣにおいて、いくつかのインター双予測モードは、動きが線形であり、リスト０とリスト１の動きベクトルが対称であるという仮定に基づいている。これらのモードは、非特許文献２に記載されたＭＶＤとのマージモード（Merge with MVD mode：ＭＭＶＤ）、および非特許文献３に記載されたバイラテラルマッチングを用いるデコーダ側ＭＶ導出を含む。これらのモードは対称的動きを使用して予測を生成するため、これらの予測に対してＢＩＯを適用することは効率的ではない可能性がある。複雑性を低減するために、いくつかの実施形態では、ＢＩＯは、ＭＭＶＤまたはバイラテラルマッチングを用いるデコーダ側ＭＶ導出などの対称モードを使用して予測されるコーディングユニットについて無効にされる。
【０１６５】
イントラモードのための多重仮説予測が非特許文献４に記載されている。イントラモードのための多重仮説予測は、１つのイントラ予測と１つのインターマージインデックス付き予測を組み合わせる。イントラ予測から１つの予測が得られるため、いくつかの実施形態では、このインターとイントラが組み合わされた多重仮説予測を使用して予測されたコーディングユニットについてＢＩＯが無効にされる。
【０１６６】
多重仮説インター予測については非特許文献５に記載されている。多重仮説インター予測では、最大２つの追加のＭＶが、１つのインターマージコーディングＣＵについてシグナリングされる。１つのＣＵに対して最大４つのＭＶ、すなわち、明示的シグナリングからの２つＭＶ、およびマージインデックスにより示されたマージ候補からの２つのＭＶが存在する。それらの複数のインター予測は加重平均と組み合わされる。この場合、予測は十分に良くなり得る。複雑性を低減するために、いくつかの実施形態では、ＢＩＯは、この多重仮説インター予測モードを使用して予測されたコーディングユニットについてＢＩＯが無効にされ得る。
【０１６７】
コーディングされたビットストリーム構造
図８は、コーディングされたビットストリーム構造の例を示す図である。コーディングされたビットストリーム１３００は、いくつかのＮＡＬ（ネットワーク抽象化層）ユニット１３０１を含む。ＮＡＬユニットは、コーディングされたスライスデータ１３０６のようなコーディングされたサンプルデータ、またはパラメータセットデータ、スライスヘッダ１３０５、若しくは付加拡張情報データ１３０７（ＳＥＩメッセージと呼ばれることもある）のような高レベル構文メタデータを含んでよい。パラメータセットは、複数のビットストリーム層（例えば、ビデオパラメータセット１３０２（ＶＰＳ））に適用してよい、または１つの層内のコーディングされたビデオシーケンス（例えば、シーケンスパラメータセット１３０３（ＳＰＳ））に適用してよい、または１つのコーディングされたビデオシーケンス内のいくつかのコーディングされたピクチャ（例えば、ピクチャパラメータセット１３０４（ＰＰＳ））に適用してよい基本的構文要素を含む高レベル構文構造である。パラメータセットは、ビデオビットストリームのコーディングされたピクチャと一緒に送信されてよく、または（信頼できるチャネルを使用する帯域外送信、ハードコーティングなどを含む）他の手段を介して送信されてよい。スライスヘッダ１３０５は、比較的小さくまたは特定のスライス若しくはピクチャタイプにのみ関連するいくらかのピクチャ関連情報を含み得る高レベル構文構造である。ＳＥＩメッセージ１３０７は、復号プロセスによって必要とされないかもしれないが、ピクチャ出力タイミングまたは表示並びに損失検出および隠蔽などの様々な他の目的のために使用され得る情報を搬送する。
【０１６８】
通信デバイスおよびシステム
図９は、通信システムの例を示す図である。通信システム１４００は、エンコーダ１４０２、通信ネットワーク１４０４、およびデコーダ１４０６を備え得る。エンコーダ１４０２は、有線接続または無線接続であり得る接続１４０８を介して通信ネットワーク１４０４と通信できる。エンコーダ１４０２は、図２Ａのブロックベースのビデオエンコーダと同様であってよい。エンコーダ１４０２は、単一層コーデック（例えば図２Ａ）または多層コーデックを含み得る。デコーダ１４０６は、有線接続または無線接続であり得る接続１４１０を介して通信ネットワーク１４０４と通信できる。デコーダ１４０６は、図２Ｂのブロックベースのビデオデコーダと同様であってよい。デコーダ１４０６は、単一層コーデック（例えば図２Ｂ）または多層コーデックを含み得る。
【０１６９】
エンコーダ１４０２および／またはデコーダ１４０６は、以下に限定されないが、デジタルテレビジョン、無線ブロードキャストシステム、ネットワーク要素／端末、（例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）サーバのような）コンテンツサーバまたはウェブサーバなどのサーバ、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲームデバイス、ビデオゲームコンソール、セルラ電話または衛星無線電話、デジタルメディアプレーヤなど、多種多様な有線通信デバイスおよび／または無線送受信ユニット（ＷＴＲＵ）に組み込まれてよい。
【０１７０】
通信ネットワーク１４０４は、適切なタイプの通信ネットワークであってよい。例えば、通信ネットワーク１４０４は、音声、データ、ビデオ、メッセージング、ブロードキャストなどのコンテンツを複数の無線ユーザに提供する、多元接続システムであり得る。通信ネットワーク１４０４は、複数の無線ユーザが、無線帯域幅を含むシステムリソースの共有を通じてそのようなコンテンツにアクセスすることを可能にする。例えば、通信ネットワーク１４０４は、符号分割多元接続（ＣＤＭＡ）、時分割多元接続（ＴＤＭＡ）、周波数分割多元接続（ＦＤＭＡ）、直交ＦＤＭＡ（ＯＦＤＭＡ）、および／またはシングルキャリアＦＤＭＡ（ＳＣ−ＦＤＭＡ）など、１つまたは複数のチャネルアクセス方法を利用できる。通信ネットワーク１４０４は、複数の接続された通信ネットワークを含んでよい。通信ネットワーク１４０４は、インターネット、並びに／またはセルラネットワーク、ＷｉＦｉホットスポット、および／若しくはインターネットサービスプロバイダ（ＩＳＰ）ネットワークなどの１つ若しくは複数のプライベート商用ネットワークを含み得る。
【０１７１】
エンコーダおよびデコーダシステムおよび方法
いくつかの実施形態では、ビデオを符号化または復号するための方法が提供される。この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、第１の参照ピクチャからの第１の予測信号に基づいて第１の勾配成分を計算するステップと、第２の参照ピクチャからの第２の予測信号に基づいて第２の勾配成分を計算するステップと、第１の勾配成分と第２の勾配成分を合計し、得られた合計の下位方向ビットシフトを実行して、縮小ビット幅相関パラメータを生成するステップと、縮小ビット幅相関パラメータに少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。
【０１７２】
いくつかの実施形態では、第１の勾配成分は∂Ｉ(0)／∂ｘであり、第２の勾配成分は∂Ｉ(1)／∂ｘであり、縮小ビット幅相関パラメータは、以下の通りである。
【０１７３】
【数２７】
2022501906.tif 000039
【０１７４】
いくつかの実施形態では、第１の勾配成分は∂Ｉ(0)／∂ｙであり、第２の勾配成分は∂Ｉ(1)／∂ｙであり、縮小ビット幅相関パラメータは、以下の通りである。
【０１７５】
【数２８】
2022501906.tif 000040
【０１７６】
いくつかの実施形態では、ビデオを符号化または復号する方法が提供される。この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、第２の参照ピクチャに基づく第２の予測信号から第１の参照ピクチャに基づく第１の予測信号を引き、得られた差の下位方向ビットシフトを実行することによって、縮小ビット幅相関パラメータを生成するステップと、縮小ビット幅相関パラメータに少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。
【０１７７】
いくつかの実施形態では、第１の予測信号はＩ(0)であり、第２の予測信号はＩ(1)であり、縮小ビット幅相関パラメータは、
θ（ｉ，ｊ）＝（Ｉ(1)（ｉ，ｊ）−Ｉ(0)（ｉ，ｊ））≫ｎb
である。
【０１７８】
いくつかの実施形態では、いくつかの実施形態では、ビデオを符号化または復号する方法が提供される。この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、
【０１７９】
【数２９】
2022501906.tif 000041
【０１８０】
として水平動き精緻化を計算するステップと、
【０１８１】
【数３０】
2022501906.tif 000042
【０１８２】
として垂直動き精緻化を計算するステップと、
計算された水平および垂直動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。いくつかのそのような実施形態では、
Ｓ1＝Σ(i,j)∈ΩΨx（ｉ，ｊ）・Ψx（ｉ，ｊ）、
Ｓ2＝Σ(i,j)∈ΩΨx（ｉ，ｊ）・Ψy（ｉ，ｊ）、
Ｓ3＝Σ(i,j)∈Ωθ（ｉ，ｊ）・Ψx（ｉ，ｊ）、
Ｓ5＝Σ(i,j)∈ΩΨy（ｉ，ｊ）・Ψy（ｉ，ｊ）、および
Ｓ6＝Σ(i,j)∈Ωθ（ｉ，ｊ）・Ψy（ｉ，ｊ）
である。
【０１８３】
いくつかの実施形態では、ビデオを符号化または復号するための方法が提供される。この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、第１の参照ピクチャからの第１の予測信号に対して下位方向ビットシフトを実行することによって、縮小ビット幅の第１の予測信号を生成するステップと、第２の参照ピクチャからの第２の予測信号に対して下位方向ビットシフトを実行することによって、縮小ビット幅の第２の予測信号を生成するステップと、縮小ビット幅の第２の予測信号から縮小ビット幅の第１の予測信号を引くことによって、縮小ビット幅相関パラメータを生成するステップと、縮小ビット幅相関パラメータに少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。いくつかのそのような実施形態では、縮小ビット幅相関パラメータは、
θ（ｉ，ｊ）＝（Ｉ(1)（ｉ，ｊ）≫ｎb）−（Ｉ(0)（ｉ，ｊ）≫ｎb）
である。
【０１８４】
いくつかの実施形態では、ビデオをコーディングする方法が提供される。この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、第１の参照ピクチャからの縮小ビット幅の第１の予測信号に基づいて、縮小ビット幅の第１の勾配成分を計算するステップと、第２の参照ピクチャからの縮小ビット幅の第２の予測信号に基づいて、縮小ビット幅の第２の勾配成分を計算するステップと、第１の縮小ビット幅勾配成分と第２の縮小ビット幅勾配成分を合計して、縮小ビット幅相関パラメータを生成するステップと、縮小ビット幅相関パラメータに少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。
【０１８５】
いくつかのそのような実施形態では、縮小ビット幅の第１の勾配成分は∂Ｉ(0)／∂ｘであり、縮小ビット幅の第２の勾配成分は∂Ｉ(1)／∂ｘであり、縮小ビット幅相関パラメータは、以下の通りとなる。
【０１８６】
【数３１】
2022501906.tif 000043
【０１８７】
いくつかの実施形態では、縮小ビット幅の第１の勾配成分は∂Ｉ(0)／∂ｙであり、縮小ビット幅の第２の勾配成分は∂Ｉ(1)／∂ｙであり、縮小ビット幅相関パラメータは、以下の通りとなる。
【０１８８】
【数３２】
2022501906.tif 000044
【０１８９】
いくつかの実施形態では、第１の参照ピクチャからの縮小ビット幅の第１の予測信号に基づいて縮小ビット幅の第１の勾配成分を計算するステップは、
【０１９０】
【数３３】
2022501906.tif 000045
【０１９１】
を計算するステップを含み、第２の参照ピクチャからの縮小ビット幅の第２の予測信号に基づいて縮小ビット幅の第２の勾配成分を計算するステップは、
【０１９２】
【数３４】
2022501906.tif 000046
【０１９３】
を計算するステップを含む。
【０１９４】
いくつかの実施形態では、第１の参照ピクチャからの縮小ビット幅の第１の予測信号に基づいて縮小ビット幅の第１の勾配成分を計算するステップは、
【０１９５】
【数３５】
2022501906.tif 000047
【０１９６】
を計算するステップを含み、
第２の参照ピクチャからの縮小ビット幅の第２の予測信号に基づいて縮小ビット幅の第２の勾配成分を計算するステップは、
【０１９７】
【数３６】
2022501906.tif 000048
【０１９８】
を計算するステップを含む。
【０１９９】
いくつかの実施形態では、ビデオをコーディングする方法が提供され、この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、カレントブロックにおけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号を生成するステップであって、カレントブロックにおけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号は、第１の数のタップを有する第１の補間フィルタを使用して生成されるステップと、カレントブロックの周りの拡張された領域におけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号を生成するステップであって、カレントブロックの外側のサンプルについての第１の動き補償予測信号および第２の動き補償予測信号は、第１の数のタップよりも少ない第２の数のタップを有する第２の補間フィルタを使用して生成されるステップと、第１の動き補償予測信号および第２の動き補償予測信号に少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。
【０２００】
いくつかの実施形態では、第１の補間フィルタは８タップフィルタであり、第２の補間フィルタは２タップフィルタである。いくつかの実施形態では、第２の補間フィルタはバイリニア補間フィルタである。
【０２０１】
いくつかの実施形態では、ビデオをコーディングする方法が提供され、この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、第１の動き補償予測信号および第２の動き補償予測信号を生成するステップであって、カレントブロックにおけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号は、第１の数のタップを有する水平補間フィルタ、および第１の数のタップよりも少ない第２の数のタップを有する垂直補間フィルタを使用して生成される、ステップと、第１の動き補償予測信号および第２の動き補償予測信号に少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。
【０２０２】
いくつかの実施形態では、ビデオをコーディングする方法が提供され、この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、第１の動き補償予測信号および第２の動き補償予測信号を生成するステップであって、カレントブロックにおけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号は、第１の数のタップを有する水平補間フィルタ、および第２の数のタップを有する垂直補間フィルタを使用して生成され、水平フィルタおよび垂直フィルタは、予め決定された順序で適用され、順序でより早く適用されたフィルタは、順序でより遅く適用されたフィルタよりも多い数のタップを有する、ステップと第１の動き補償予測信号および第２の動き補償予測信号に少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。
【０２０３】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供され、この方法は、双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくとも高さ４を有するコーディングユニットについて双方向オプティカルフローを無効にするステップと、双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて双方向オプティカルフローなしの双予測を実施するステップと、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて双方向オプティカルフローを用いて双予測を実施するステップとを含む。いくつかのそのような実施形態では、双方向オプティカルフローはさらに、高さ８および幅４を有するコーディングユニットについて無効にされる。
【０２０４】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供される。この方法は、双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくとも閾値高さ以下の高さを有するコーディングユニットについて双方向オプティカルフローを無効にするステップと、双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて双方向オプティカルフローなしの双予測を実行するステップと、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて双方向オプティカルフローを用いて双予測を実行するステップとを含む。
【０２０５】
いくつかの実施形態では、ビデオをコーディングする方法が提供される。この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、カレントブロックにおけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号を生成するステップと、カレントブロックの周りの拡張された領域におけるサンプルについての第１の値および第２の値を生成するステップであって、拡張された領域は、カレントブロックから複数行または複数列離れたサンプルを含まない、ステップと、第１の動き補償予測信号および第２の動き補償予測信号並びに拡張された領域におけるサンプルについての第１の値および第２の値に少なくとも部分的に基づいて、動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。
【０２０６】
いくつかのそのような実施形態では、拡張された領域におけるサンプルについての第１の値を生成するステップは、拡張された領域における各第１のサンプル値を、カレントブロック内のそのそれぞれの最も近い隣接要素の第１の予測されたサンプル値と等しく設定するステップを含む。いくつかの実施形態では、拡張された領域におけるサンプルについての第２の値を生成するステップは、拡張された領域における各第２のサンプル値を、カレントブロック内のそのそれぞれの最も近い隣接要素の第２の予測されたサンプル値と等しく設定するステップを含む。
【０２０７】
いくつかの実施形態は、カレントブロックの周りの拡張された領域内のサンプルにおける第１の勾配値および第２の勾配値を生成するステップをさらに含み、拡張された領域内のサンプルにおける第１の勾配値を生成するステップは、拡張された領域内の各第１の勾配値を、第１の予測信号を使用してカレントブロック内のそのそれぞれの最も近い隣接要素において計算された勾配値と等しく設定するステップを含み、拡張された領域内のサンプルにおける第２の勾配値を生成するステップは、拡張された領域内の各第２の勾配値を、第２の予測信号を使用してカレントブロック内のそのそれぞれの最も近い隣接要素において計算された勾配値と等しく設定するステップを含む。
【０２０８】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供される。この方法は、双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくともサブブロックレベルインター予測技法を使用して予測されたコーディングユニットについて双方向オプティカルフローを無効にするステップと、双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて、双方向オプティカルフローなしの双予測を実行するステップと、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて、双方向オプティカルフローを用いて双予測を実行するステップとを含む。
【０２０９】
いくつかのそのような実施形態では、双予測は、少なくとも高度時間動きベクトル予測（ＡＴＭＶＰ）を使用して予測されたコーディングユニットについて無効にされる。
【０２１０】
いくつかの実施形態では、双予測は、少なくともアフィン予測を使用して予測されたコーディングユニットについて無効にされる。
【０２１１】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供される。この方法は、双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくとも高さ４を有するコーディングユニットについて双方向オプティカルフローを無効にするステップと、双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて双方向オプティカルフローなしの双予測を実行するステップと、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて双方向オプティカルフローを用いて双予測を実行するステップとを含み、各カレントコーディングユニットについて双方向オプティカルフローを用いて双予測を実行するステップは、カレントコーディングユニットにおけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号を生成するステップであって、カレントブロックにおけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号は、第１の数のタップを有する第１の補間フィルタを使用して生成される、ステップと、カレントコーディングユニットの周りの拡張された領域におけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号を生成するステップであって、カレントコーディングユニットの外側のサンプルについての第１の動き補償予測信号および第２の動き補償予測信号は、第１の数のタップよりも少ない第２の数のタップを有する第２の補間フィルタを使用して生成される、ステップと、第１の動き補償予測信号および第２の動き補償予測信号に少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてカレントコーディングユニットを予測するステップとを含む。
【０２１２】
いくつかのそのような実施形態では、第１の補間フィルタは８タップフィルタであり、第２の補間フィルタは２タップフィルタである。いくつかの実施形態では、第２の補間フィルタはバイリニア補間フィルタである。
【０２１３】
いくつかの実施形態では、双方向オプティカルフローはさらに、高さ８および幅４を有するコーディングユニットについて無効にされる。
【０２１４】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供される。この方法は、双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくとも高さ４を有するコーディングユニットについて双方向オプティカルフローを無効にするステップと、双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて双方向オプティカルフローなしの双予測を実行するステップと、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて双方向オプティカルフローを用いて双予測を実行するステップとを含み、各カレントコーディングユニットについて双方向オプティカルフローを用いて双予測を実行するステップは、カレントコーディングユニットにおけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号を生成するステップと、カレントコーディングユニットの周りの拡張された領域におけるサンプルについての第１の値および第２の値を生成するステップであって、拡張された領域は、カレントコーディングユニットから複数行または複数列離れたサンプルを含まない、ステップと、第１の動き補償予測信号および第２の動き補償予測信号並びに拡張された領域におけるサンプルについての第１の値および第２の値に少なくとも部分的に基づいて、動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてカレントコーディングユニットを予測するステップとを含む。
【０２１５】
いくつかの実施形態では、拡張された領域におけるサンプルについての第１の値を生成するステップは、拡張された領域における各第１のサンプル値を、カレントコーディングユニット内のそのそれぞれの最も近い隣接要素の第１の予測されたサンプル値と等しく設定するステップを含む。
【０２１６】
いくつかの実施形態では、拡張された領域におけるサンプルについての第２の値を生成するステップは、拡張された領域における各第２のサンプル値を、カレントコーディングユニット内のそのそれぞれの最も近い隣接要素の第２の予測されたサンプル値と等しく設定するステップを含む。
【０２１７】
いくつかの実施形態は、カレントコーディングユニットの周りの拡張された領域内のサンプルにおける第１の勾配値および第２の勾配値を生成するステップをさらに含み、拡張された領域内のサンプルにおける第１の勾配値を生成するステップは、拡張された領域内の各第１の勾配値を、第１の予測信号を使用してカレントコーディングユニット内のそのそれぞれの最も近い隣接要素において計算された勾配値と等しく設定するステップを含み、拡張された領域内のサンプルにおける第２の勾配値を生成するステップは、拡張された領域内の各第２の勾配値を、第２の予測信号を使用してカレントコーディングユニット内のそのそれぞれの最も近い隣接要素において計算された勾配値と等しく設定するステップを含む。
【０２１８】
いくつかのそのような実施形態では、双方向オプティカルフローはさらに、高さ８および幅４を有するコーディングユニットについて無効にされる。
【０２１９】
いくつかの実施形態では、ビデオをコーディングする方法が提供され、この方法は、双方向オプティカルフローを使用してコーディングされたビデオにおける少なくとも１つのカレントブロックについて、カレントブロックにおけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号を生成するステップであって、カレントブロックにおけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号は、第１の数のタップを有する水平補間フィルタおよび第１の数のタップを有する垂直補間フィルタを使用して生成される、ステップと、カレントブロックの周りの拡張された領域におけるサンプルについての第１の動き補償予測信号および第２の動き補償予測信号を生成するステップであって、カレントブロックの外側のサンプルについての第１の動き補償予測信号および第２の動き補償予測信号は、第１の数のタップを有する水平補間フィルタ、および第１の数のタップよりも少ない第２の数のタップを有する垂直補間フィルタを使用して生成される、ステップと、第１の動き補償予測信号および第２の動き補償予測信号に少なくとも部分的に基づいて動き精緻化を計算するステップと、計算された動き精緻化を使用して双方向オプティカルフローを用いてブロックを予測するステップとを含む。
【０２２０】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供され、この方法は、双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくとも対称予測モードを使用して予測されたコーディングユニットについて双方向オプティカルフローを無効にするステップと、双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて、双方向オプティカルフローなしの双予測を実行するステップと、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて、双方向オプティカルフローを用いて双予測を実行するステップとを含む。
【０２２１】
いくつかの実施形態では、双予測は、少なくともＭＶＤとのマージモード（ＭＭＶＤ）を使用して予測されたコーディングユニットについて無効にされる。いくつかの実施形態では、双予測は、バイラテラルマッチングを用いるデコーダ側ＭＶ導出を使用して予測されたコーディングユニットについて無効にされる。
【０２２２】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングする方法が提供される。この方法は、双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくともイントラモードのための多重仮説予測を使用して予測されたコーディングユニットについて双方向オプティカルフローを無効にするステップと、双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて双方向オプティカルフローなしの双予測を実行するステップと、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて双方向オプティカルフローを用いて双予測を実行するステップとを含む。
【０２２３】
いくつかの実施形態では、複数のコーディングユニットを含むビデオをコーディングするための方法が提供される。この方法は、双予測を使用してコーディングされたビデオにおける複数のコーディングユニットに関して、少なくとも多重仮説インター予測を使用して予測されたコーディングユニットについて双方向オプティカルフローを無効にするステップと、双方向オプティカルフローが無効にされた双予測されるコーディングユニットについて、双方向オプティカルフローなしの双予測を実行するステップと、双方向オプティカルフローが無効にされていない双予測されるコーディングユニットについて、双方向オプティカルフローを用いて双予測を実行するステップとを含む。
【０２２４】
説明された実施形態のうちの１つまたは複数の様々なハードウェア要素は、それぞれのモジュールに関連して本明細書で説明された様々な機能を実施する（すなわち、行う、実行するなど）「モジュール」と呼ばれることに留意されたい。本明細書で使用される場合、モジュールは、当業者によって所与の実装形態に適切とみなされるハードウェア（例えば、１つまたは複数のプロセッサ、１つまたは複数のマイクロプロセッサ、１つまたは複数のマイクロコントローラ、１つまたは複数のマイクロチップ、１つまたは複数のＡＳＩＣ、１つまたは複数のＦＰＧＡ、１つまたは複数のメモリデバイス）を含む。また、各説明されているモジュールは、それぞれのモジュールによって実施されるように説明される１つまたは複数の機能を実施するために実行可能な命令を含んでよく、それらの命令は、ハードウェア（すなわちハードワイヤード）命令、ファームウェア命令、ソフトウェア命令などの形態をとってよく、またはそれらを含んでよく、一般にＲＡＭ、ＲＯＭなどと呼ばれるような１つまたは複数の任意の適切な非一時的なコンピュータ可読媒体に記憶されてよいことに留意されたい。
【０２２５】
特徴および要素が特定の組み合わせで上記に説明されているが、当業者は、各特徴または要素が、単独でまたは他の特徴および要素との任意の組み合わせで使用され得ることを理解するであろう。本明細書で説明されている方法は、コンピュータまたはプロセッサによって実行するためにコンピュータ可読媒体に組み込まれたコンピュータプログラム、ソフトウェア、またはファームウェアにおいて実装されてよい。コンピュータ可読記憶媒体の例は、以下に限定されないが、ＲＯＭ、ＲＡＭ、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスクおよび着脱可能ディスクなどの磁気媒体、光磁気媒体、並びにＣＤ−ＲＯＭディスクおよびＤＶＤなどの光媒体を含む。ＷＴＲＵ、ＵＥ、端末、基地局、ＲＮＣ、または任意のホストコンピュータで使用するための無線周波数トランシーバを実装するために、ソフトウェアに関連するプロセッサが使用されてよい。
【図１Ａ】
2022501906.tif 000057
【図１Ｂ】
2022501906.tif 000058
【図２Ａ】
2022501906.tif 000059
【図２Ｂ】
2022501906.tif 000060
【図３Ａ】
2022501906.tif 000061
【図３Ｂ】
2022501906.tif 000062
【図３Ｃ】
2022501906.tif 000063
【図３Ｄ】
2022501906.tif 000064
【図３Ｅ】
2022501906.tif 000065
【図４】
2022501906.tif 000066
【図５】
2022501906.tif 000067
【図６】
2022501906.tif 000068
【図７】
2022501906.tif 000069
【図８】
2022501906.tif 000070
【図９】
2022501906.tif 000071
【図１０】
2022501906.tif 000072
【手続補正書】
【提出日】令和3年5月19日(2021.5.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１の参照ピクチャからの第１の予測信号アレイＩ（０）（ｉ，ｊ）に基づいて第１成分勾配の第１のアレイを取得するステップと、
第２の参照ピクチャからの第２の予測信号アレイＩ（１）（ｉ，ｊ）に基づいて第１成分勾配の第２のアレイを取得するステップと、
（ｉ）前記第１成分勾配の第１のアレイおよび（ｉｉ）前記第１成分勾配の第２のアレイの合計に対して右ビットシフトを実行することを含む方法によって、縮小ビット幅の第１成分の中間パラメータアレイを計算するステップと、
前記縮小ビット幅の第１成分の中間パラメータアレイに少なくとも部分的に基づいて少なくとも第１成分の動き精緻化を計算するステップと、
少なくとも前記第１成分の動き精緻化を使用して双方向オプティカルフローを用いてビデオにおけるカレントブロックの予測を生成するステップと
を含む方法。
【請求項２】
前記第１の予測信号アレイＩ（０）（ｉ，ｊ）と前記第２の予測信号アレイＩ（１）（ｉ，ｊ）との差を計算することを含む方法によって、信号差パラメータアレイθ（ｉ，ｊ）を計算するステップと、
（ｉ）前記信号差パラメータアレイθ（ｉ，ｊ）と（ｉｉ）前記第１成分の中間パラメータアレイとの要素ごとの乗算の成分を合計することによって、信号第１成分勾配相関パラメータを計算するステップと
をさらに含み、
前記第１成分の動き精緻化を計算するステップは、前記信号第１成分勾配相関パラメータをビットシフトして前記第１成分の動き精緻化を得ることを含む、
請求項１の方法。
【請求項３】
前記信号差パラメータアレイθ（ｉ，ｊ）を計算するステップは、前記第１の予測信号アレイＩ（０）（ｉ，ｊ）と前記第２の予測信号アレイＩ（１）（ｉ，ｊ）との差を計算する前に、前記第１の予測信号アレイＩ（０）（ｉ，ｊ）と前記第２の予測信号アレイＩ（１）（ｉ，ｊ）とのそれぞれに対して右ビットシフトを実行することを含む、請求項２の方法。
【請求項４】
前記第１成分は、水平成分であり、前記第１成分勾配の第１のアレイは、第１の水平勾配アレイ
【数１】
2022501906.tif 000073
であり、前記第１成分勾配の第２のアレイは、第２の水平勾配アレイ
【数２】
2022501906.tif 000074
であり、前記縮小ビット幅の第１成分の中間パラメータアレイは、縮小ビット幅水平中間パラメータアレイΨｘ（ｉ，ｊ）であり、前記第１成分の動き精緻化は、水平動き精緻化ｖｘであり、
前記方法は、
第１の参照ピクチャからの第１の予測信号アレイＩ（０）（ｉ，ｊ）に基づいて第１の垂直勾配アレイ
【数３】
2022501906.tif 000075
を計算するステップと、
第２の参照ピクチャからの第２の予測信号アレイＩ（１）（ｉ，ｊ）に基づいて第２の垂直勾配アレイ
【数４】
2022501906.tif 000076
を計算するステップと、
（ｉ）前記第１の垂直勾配アレイおよび（ｉｉ）前記第２の垂直勾配アレイの合計に対して右ビットシフトを実行することを含む方法によって、縮小ビット幅垂直中間パラメータアレイΨｙ（ｉ，ｊ）を計算するステップと、
前記縮小ビット幅水平中間パラメータアレイΨｘ（ｉ，ｊ）および前記縮小ビット幅垂直中間パラメータアレイΨｙ（ｉ，ｊ）に少なくとも部分的に基づいて、垂直動き精緻化ｖｙを計算するステップと
をさらに含み、
前記カレントブロックの予測は、前記水平動き精緻化ｖｘおよび前記垂直動き精緻化ｖｙを使用して生成される、請求項１の方法。
【請求項５】
（ｉ）水平中間パラメータアレイΨｘ（ｉ，ｊ）と（ｉｉ）垂直中間パラメータアレイΨｙ（ｉ，ｊ）との要素ごとの乗算の成分を合計することを含む方法によって、相互勾配相関パラメータＳ２を計算するステップをさらに含み、
前記垂直動き精緻化ｖｙを計算するステップは、（ｉ）前記水平動き精緻化ｖｘと（ｉｉ）前記相互勾配相関パラメータＳ２との積を決定するステップを含む、
請求項４の方法。
【請求項６】
（ｉ）前記水平動き精緻化ｖｘと（ｉｉ）前記相互勾配相関パラメータＳ２との積を決定するステップは、
前記相互勾配相関パラメータＳ２を、最上位ビットＭＳＢパラメータ部分Ｓ２，ｍと最下位ビットＬＳＢパラメータ部分Ｓ２，ｓとに分離するステップと、
（ｉ）前記水平動き精緻化ｖｘと（ｉｉ）ＭＳＢパラメータ部分Ｓ２，ｍとのＭＳＢ積を決定するステップと、
（ｉ）前記水平動き精緻化ｖｘと（ｉｉ）ＬＳＢパラメータ部分Ｓ２，ＳとのＬＳＢ積を決定するステップと、
前記ＭＳＢ積の左ビットシフトを実行して、ビットシフトされたＭＳＢ積を生成するステップと、
前記ＬＳＢ積と前記ビットシフトされたＭＳＢ積とを加算するステップと
を含む、請求項５の方法。
【請求項７】
双方向オプティカルフローを用いて前記カレントブロックの予測を生成するステップは、前記カレントブロックにおける各サンプルについて、
【数５】
2022501906.tif 000077
（ｖ）水平動き精緻化ｖｘ、および（ｖｉ）垂直動き精緻化ｖｙに基づいて、双方向オプティカルフローサンプルオフセットｂを計算するステップと、
前記カレントブロックにおける各サンプルについて、少なくとも前記第１の予測信号アレイＩ（０）（ｉ，ｊ）、前記第２の予測信号アレイＩ（１）（ｉ，ｊ）、および前記双方向オプティカルフローサンプルオフセットｂの合計を計算するステップと
を含む、請求項４の方法。
【請求項８】
勾配アレイ
【数６】
2022501906.tif 000078
のそれぞれを計算するステップは、予測信号アレイＩ（０）（ｉ，ｊ）、Ｉ（１）（ｉ，ｊ）の外側のサンプルを、前記予測信号アレイの内側のそれぞれの最も近い境界サンプルでパディングするステップを含む、請求項４の方法。
【請求項９】
前記信号差パラメータアレイθ（ｉ，ｊ）の少なくともいくつかの値を計算するステップは、予測信号アレイＩ（０）（ｉ，ｊ）、Ｉ（１）（ｉ，ｊ）の外側のサンプルを、前記予測信号アレイの内側のそれぞれの最も近い境界サンプルでパディングするステップを含む、請求項２の方法。
【請求項１０】
前記第１成分の中間パラメータアレイの少なくともいくつかの値を計算するステップは、前記第１成分勾配の第１、第２のアレイの外側の勾配値を、前記第１成分勾配の第１、第２のアレイの内側のそれぞれの最も近い境界サンプルでパディングするステップを含む、請求項１の方法。
【請求項１１】
垂直中間パラメータアレイΨｙ（ｉ，ｊ）の少なくともいくつかの値を計算するステップは、垂直勾配アレイ
【数７】
2022501906.tif 000079
の外側の勾配値を、前記垂直勾配アレイの内側のそれぞれの最も近い境界サンプルでパディングするステップを含む、請求項４の方法。
【請求項１２】
エンコーダによって実行される、請求項１の方法。
【請求項１３】
デコーダによって実行される、請求項１の方法。
【請求項１４】
第１の参照ピクチャからの第１の予測信号アレイＩ（０）（ｉ，ｊ）に基づいて第１成分勾配の第１のアレイを取得することと、
第２の参照ピクチャからの第２の予測信号アレイＩ（１）（ｉ，ｊ）に基づいて第１成分勾配の第２のアレイを取得することと、
（ｉ）前記第１成分勾配の第１のアレイおよび（ｉｉ）前記第１成分勾配の第２のアレイの合計に対して右ビットシフトを実行することを含む方法によって、縮小ビット幅の第１成分の中間パラメータアレイを計算することと、
前記縮小ビット幅の第１成分の中間パラメータアレイに少なくとも部分的に基づいて少なくとも第１成分の動き精緻化を計算することと、
少なくとも前記第１成分の動き精緻化を使用して双方向オプティカルフローを用いてビデオにおけるカレントブロックの予測を生成することと
を少なくとも実行するように構成されたプロセッサを含む装置。
【請求項１５】
前記プロセッサは、
前記第１の予測信号アレイＩ（０）（ｉ，ｊ）と前記第２の予測信号アレイＩ（１）（ｉ，ｊ）との差を計算することを含む方法によって、信号差パラメータアレイθ（ｉ，ｊ）を計算することと、
（ｉ）前記信号差パラメータアレイθ（ｉ，ｊ）と（ｉｉ）前記第１成分の中間パラメータアレイとの要素ごとの乗算の成分を合計することによって、信号第１成分勾配相関パラメータを計算することと
を実行するようにさらに構成され、
前記第１成分の動き精緻化を計算することは、前記信号第１成分勾配相関パラメータをビットシフトして前記第１成分の動き精緻化を得ることを含む、
請求項１４の装置。
【請求項１６】
前記信号差パラメータアレイθ（ｉ，ｊ）を計算することは、前記第１の予測信号アレイＩ（０）（ｉ，ｊ）と前記第２の予測信号アレイＩ（１）（ｉ，ｊ）との差を計算する前に、前記第１の予測信号アレイＩ（０）（ｉ，ｊ）と前記第２の予測信号アレイＩ（１）（ｉ，ｊ）とのそれぞれに対して右ビットシフトを実行することを含む、請求項１５の装置。
【請求項１７】
前記第１成分は、水平成分であり、前記第１成分勾配の第１のアレイは、第１の水平勾配アレイ
【数８】
2022501906.tif 000080
であり、前記第１成分勾配の第２のアレイは、第２の水平勾配アレイ
【数９】
2022501906.tif 000081
であり、前記縮小ビット幅の第１成分の中間パラメータアレイは、縮小ビット幅水平中間パラメータアレイΨｘ（ｉ，ｊ）であり、前記第１成分の動き精緻化は、水平動き精緻化ｖｘであり、
前記プロセッサは、
第１の参照ピクチャからの第１の予測信号アレイＩ（０）（ｉ，ｊ）に基づいて第１の垂直勾配アレイ
【数１０】
2022501906.tif 000082
を計算することと、
第２の参照ピクチャからの第２の予測信号アレイＩ（１）（ｉ，ｊ）に基づいて第２の垂直勾配アレイ
【数１１】
2022501906.tif 000083
を計算することと、
（ｉ）前記第１の垂直勾配アレイおよび（ｉｉ）前記第２の垂直勾配アレイの合計に対して右ビットシフトを実行することを含む方法によって、縮小ビット幅垂直中間パラメータアレイΨｙ（ｉ，ｊ）を計算することと、
前記縮小ビット幅水平中間パラメータアレイΨｘ（ｉ，ｊ）および前記縮小ビット幅垂直中間パラメータアレイΨｙ（ｉ，ｊ）に少なくとも部分的に基づいて、垂直動き精緻化ｖｙを計算することと
を実行するようにさらに構成され、
前記カレントブロックの予測は、前記水平動き精緻化ｖｘおよび前記垂直動き精緻化ｖｙを使用して生成される、請求項１４の装置。
【請求項１８】
前記プロセッサは、
（ｉ）水平中間パラメータアレイΨｘ（ｉ，ｊ）と（ｉｉ）垂直中間パラメータアレイΨｙ（ｉ，ｊ）との要素ごとの乗算の成分を合計することを含む方法によって、相互勾配相関パラメータＳ２を計算することを実行するようにさらに構成され、
前記垂直動き精緻化ｖｙを計算することは、（ｉ）前記水平動き精緻化ｖｘと（ｉｉ）前記相互勾配相関パラメータＳ２との積を決定することを含む、
請求項１７の装置。
【請求項１９】
（ｉ）前記水平動き精緻化ｖｘと（ｉｉ）前記相互勾配相関パラメータＳ２との積を決定することは、
前記相互勾配相関パラメータＳ２を、最上位ビットＭＳＢパラメータ部分Ｓ２，ｍと最下位ビットＬＳＢパラメータ部分Ｓ２，ｓとに分離することと、
（ｉ）前記水平動き精緻化ｖｘと（ｉｉ）ＭＳＢパラメータ部分Ｓ２，ｍとのＭＳＢ積を決定することと、
（ｉ）前記水平動き精緻化ｖｘと（ｉｉ）ＬＳＢパラメータ部分Ｓ２，ＳとのＬＳＢ積を決定することと、
前記ＭＳＢ積の左ビットシフトを実行して、ビットシフトされたＭＳＢ積を生成することと、
前記ＬＳＢ積と前記ビットシフトされたＭＳＢ積とを加算することと
を含む、請求項１８の装置。
【請求項２０】
双方向オプティカルフローを用いて前記カレントブロックの予測を生成することは、前記カレントブロックにおける各サンプルについて、
【数１２】
2022501906.tif 000084
（ｖ）水平動き精緻化ｖｘ、および（ｖｉ）垂直動き精緻化ｖｙに基づいて、双方向オプティカルフローサンプルオフセットｂを計算することと、
前記カレントブロックにおける各サンプルについて、少なくとも前記第１の予測信号アレイＩ（０）（ｉ，ｊ）、前記第２の予測信号アレイＩ（１）（ｉ，ｊ）、および前記双方向オプティカルフローサンプルオフセットｂの合計を計算することと
を実行するようにさらに構成された、請求項１７の装置。
【国際調査報告】
2022501906.tif 000085
2022501906.tif 000086
2022501906.tif 000087