ブロックベースのハイブリッドビデオ符号化手順
HEVCと同様に、VVCは、ブロックベースのハイブリッドビデオ符号化フレームワーク上に構築される。
図1は、一般的なブロックベースのハイブリッドビデオエンコードシステムを示すブロック図である。
図1を参照すると、エンコーダー100は、ブロック毎(符号化ユニット(CU)と呼ばれる)に処理される入力ビデオ信号102を提供され得、高解像度(1080p以上)ビデオ信号を効率的に圧縮するために使用され得る。HEVCでは、CUは最大64×64ピクセルであり得る。CUは、別々の予測手順が適用され得る予測ユニットすなわちPUにさらに分割されることが可能である。各入力ビデオブロック(MBおよび/またはCU)について、空間予測160および/または時間予測162が実行され得る。空間予測(または「イントラ予測」)は、同じビデオピクチャ/スライス内の既に符号化された隣接ブロックからのピクセルを使用して、カレントビデオブロックを予測することができる。
空間予測は、ビデオ信号に固有の空間冗長性を減らすことができる。時間予測(「インター予測」または「動き補償予測」とも呼ばれる)は、既に符号化されたビデオピクチャからのピクセルを使用して、カレントビデオブロックを予測する。時間予測は、ビデオ信号に固有の時間冗長性を減らすことができる。与えられたビデオブロックについての時間予測信号は(たとえば、通常は)、カレントブロック(CU)とその参照ブロックとの間の動きの量および/または方向を示し得る1つまたは複数の動きベクトル(MV)によってシグナリングされ得る。
複数の参照ピクチャが(H.264/AVCまたはHEVCなどの最近のビデオ符号化規格の場合と同様に)サポートされる場合、各ビデオブロックについて、ビデオブロックの参照ピクチャインデックスが送信され得る(たとえば、追加的に送信され得る)、および/または参照ピクチャストア164内のどの参照ピクチャから時間予測信号が到来するかを識別するために参照インデックスが使用され得る。空間予測および/または時間予測の後、エンコーダー100におけるモード決定ブロック180が、たとえばレート-歪み最適化方法/手順に基づいて、最良の予測モードを選ぶことができる。空間予測160もしくは時間予測162のいずれかの予測ブロックがカレントビデオブロック116から減算され得る、ならびに/またはターゲットビットレートを達成するために予測残差が変換104および量子化106を使用して非相関化され得る。量子化された残差係数は、逆量子化110され、逆変換112されて、再構成された残差を形成することができ、再構成された残差は、126で予測ブロックに加算され直されて、再構成されたビデオブロックを形成することができる。デブロッキングフィルタおよび/または適応ループフィルターなどのループ内フィルタリング166が、再構成されたビデオブロックに適用されることができ、その後、それは参照ピクチャストア164に入れられ、将来のビデオブロックを符号化するために使用され得る。出力ビデオビットストリーム120が形成するために、符号化モード(インターまたはイントラ)、予測モード情報、動き情報、および量子化された残差係数が、エントロピー符号化ユニット108に送信され(たとえば、全て送信され)、さらに圧縮および/またはパッキングされてビットストリームを形成することができる。
エンコーダー100は、上記に開示された様々な要素/モジュール/ユニットを提供するプロセッサー、メモリー、およびトランスミッターを使用して実装され得る。たとえば、トランスミッターは、ビットストリーム120をデコーダーに送信することができ、(2)プロセッサーは、ソフトウェアを実行して、入力ビデオ102の受信およびエンコーダー100の様々なブロックに関連付けられた機能の実行を可能にするように構成され得ることを、当業者は理解する。
図2は、ブロックベースのビデオデコーダーを示すブロック図である。
図2を参照すると、ビデオデコーダー200は、エントロピーデコードユニット208においてアンパッキングおよびエントロピーデコードされ得るビデオビットストリーム202を提供されることができる。符号化モードおよび予測情報は、予測ブロックを形成するために、空間予測ユニット260(イントラ符号化モードの場合)および/または時間予測ユニット262(インター符号化モードの場合)のうちの適切なユニットに送信され得る。残差変換係数は、残差ブロックを再構成するために、逆量子化ユニット210および逆変換ユニット212に送信され得る。再構成されたブロックは、参照ピクチャストア264に記憶される前に、ループ内フィルタリング266をさらに通過してよい。再構成されたビデオ220は、たとえば、表示デバイスを駆動するために、また、将来のビデオブロックを予測する際に使用するために参照ピクチャストア264に保存されるように送られ得る。
デコーダー200は、上記に開示された様々な要素/モジュール/ユニットを提供することができるプロセッサー、メモリー、および受信機を使用して実装され得る。たとえば、(1)受信機は、ビットストリーム202を受信するように構成され得ること、ならびに(2)プロセッサーは、ソフトウェアを実行して、ビットストリーム202の受信、および再構成されたビデオ220の出力、およびデコーダー200の様々なブロックに関連付けられた機能の実行を可能にするように構成され得ることを、当業者は理解する。
当業者は、ブロックベースのエンコーダーとブロックベースのデコーダーとの機能/動作/処理の多くが同じであることを理解する。
現代のビデオコーデックでは、双方向動き補償予測(MCP)が、ピクチャ間の時間相関を利用することにより時間冗長性を除去する際に高効率のために使用され得る。双方向予測信号は、0.5に等しい重み値を使用して2つの単予測信号を組み合わせることによって形成され得るが、これは、単予測信号を組み合わせるのに最適ではないことがあり、特に、ある参照ピクチャから別の参照ピクチャへ照度が急速に変化する条件において最適でないことがある。いくつかのグローバル/ローカル重みおよび/またはオフセット値を、参照ピクチャ(たとえば、参照ピクチャにおけるサンプル値の一部または各々)におけるサンプル値に適用することによって、時間経過に伴う照度変動を補償するように、特定の予測技術/動作および/または手順が実装され得る。
ビデオコーデックにおける双方向動き補償予測(MCP)の使用は、ピクチャ間の時間相関を利用することによって時間冗長性の除去を可能にする。双方向予測信号は、重み値(たとえば0.5)を使用して2つの単予測信号を組み合わせることによって形成され得る。特定のビデオでは、ある参照ピクチャから別の参照ピクチャへ照度特性が急速に変化することがある。したがって、予測技術は、グローバルまたはローカル重みおよび/またはオフセット値を、参照ピクチャにおける1つまたは複数のサンプル値に適用することによって、時間経過に伴う照度の変動を補償(たとえば、フェージング遷移)することがある。
一般化された双方向予測(GBi)は、双方向予測モードのためのMCPを改善し得る。双方向予測モードでは、与えられたサンプルxにおける予測信号は、以下のような式1によって計算され得る。
P[x]=w0*P0[x+v0]+w1*P1[x+v1] (1)
上記の式において、P[x]は、ピクチャポジションxに配置されたサンプルxのもたらされる予測信号を示すことができる。Pi[x+vi]は、i番目のリスト(たとえば、リスト0、リスト1など)についての動きベクトル(MV)viを使用するxの動き補償予測信号であり得る。w0およびw1は、ブロック内の(たとえば、全ての)サンプルにわたって共有される2つの重み値であり得る。この式に基づいて、種々の予測信号は、重み値w0およびw1を調整することによって取得され得る。w0およびw1のいくつかの構成は、単予測および双方向予測と同じ予測を意味し得る。たとえば、(w0,w1)=(1,0)は、参照リストL0を用いる単予測に使用され得る。(w0,w1)=(0,1)は、参照リストL1を用いる単予測に使用され得る。(w0,w1)=(0.5,0.5)は、2つの参照リストを用いる双方向予測に使用され得る。重みは、CU毎にシグナリングされ得る。シグナリングオーバヘッドを減らすために、1つの重みがシグナリングされ得るようにw0+w1=1のような制約が適用されてよい。したがって、式1は、以下の式2に示されるようにさらに簡略化されてよい。
P[x]=(1-w1)*P0[x+v0]+w1*P1[x+v1] (2)
シグナリングオーバヘッドをさらに減らすために、w1が離散化され得る(たとえば、-2/8、2/8、3/8、4/8、5/8、6/8、10/8など)。こうすると、各重み値は、(たとえば、小さい)制限された範囲内のインデックス値によって示され得る。
図3は、GBiサポートを有する代表的なブロックベースのビデオエンコーダーを示すブロック図である。
エンコーダー300は、モード決定モジュール304、空間予測モジュール306、動き予測モジュール308、変換モジュール310、量子化モジュール312、逆量子化モジュール316、逆変換モジュール318、ループフィルター320、参照ピクチャストア322、およびエントロピー符号化モジュール314を含むことができる。エンコーダーのモジュールまたはコンポーネントの一部または全部(たとえば、空間予測モジュール306)は、図1に関連して説明されたものと同じまたは同様であり得る。さらに、空間予測モジュール306および動き予測モジュール308は、ピクセル領域予測モジュールであってよい。したがって、入力ビデオビットストリーム302は入力ビデオビットストリーム102と同様の様式で処理され得るが、動き予測モジュール308はGBiサポートをさらに含んでよい。このように、動き予測モジュール308は、加重平均方式で2つの別々の予測信号を組み合わせることができる。さらに、選択された重みインデックスは、出力ビデオビットストリーム324でシグナリングされ得る。
エンコーダー300は、上記に開示された様々な要素/モジュール/ユニットを提供するプロセッサー、メモリー、およびトランスミッターを使用して実装され得る。たとえば、トランスミッターは、ビットストリーム324をデコーダーに送信することができ、(2)プロセッサーは、ソフトウェアを実行して、入力ビデオ302の受信およびエンコーダー300の様々なブロックに関連付けられた機能の実行を可能にするように構成され得ることを、当業者は理解する。
図4は、動き予測モジュール308のようなエンコーダーの動き予測モジュールにおいて利用され得る代表的なGBi推定モジュール400を示す図である。GBi推定モジュール400は、重み値推定モジュール402および動き推定モジュール404を含むことができる。したがって、GBi推定モジュール400は、最終的なインター予測信号のようなインター予測信号を生成するための処理(たとえば、2ステップ動作/処理)を利用することができる。動き推定モジュール404は、入力ビデオブロック401、および参照ピクチャストア406から受信された1つまたは複数の参照ピクチャを使用して、(たとえば、2つの)参照ブロックを指す2つの最適動きベクトル(MV)を検索することによって、動き推定を実行することができる。重み値推定モジュール402は、(1)動き推定モジュール404の出力(たとえば、動きベクトルv0およびv1)、参照ピクチャストア406からの1つまたは複数の参照ピクチャ、および重み情報Wを受信することができ、最適重みインデックスを検索して、カレントビデオブロックと双方向予測との間の重み付き双方向予測誤差を最小化することができる。重み情報Wは、GBiで使用される重みw0およびw1を指定するために、決定された重みインデックスおよび重み情報Wが一緒に使用され得るように、利用可能な重み値または重みセットのリストを記述することができると考えられる。一般化双方向予測の予測信号は、2つの予測ブロックの加重平均として計算され得る。GBi推定モジュール400の出力は、インター予測信号、動きベクトルv0およびv1、ならびに/または重みインデックスweight_idxなど)を含むことができる。
図5は、GBiサポートを有する代表的なブロックベースのビデオデコーダーを示す図であり、このビデオデコーダーは、GBiをサポートする(たとえば、エンコーダーからの)ビットストリーム502、たとえば、図3に関連して説明されたエンコーダー300により作成されたビットストリーム324をデコードすることができる。図5に示されるように、ビデオデコーダー500は、エントロピデコーダ504、空間予測モジュール506、動き予測モジュール508、参照ピクチャストア510、逆量子化モジュール512、逆変換モジュール514、および/またはループフィルタモジュール518を含むことができる。デコーダーのモジュールの一部または全部は、図2に関連して説明されたものと同じまたは同様であり得るが、動き予測モジュール508は、GBiサポートをさらに含むことができる。したがって、符号化モードおよび予測情報は、空間予測またはGBiサポートを有するMCPを使用して予測信号を導出するために使用され得る。GBiについては、ブロック動き情報および重み値(たとえば、重み値を示すインデックスの形態)が受信され、予測ブロックを生成するためにデコードされ得る。
デコーダー500は、上記に開示された様々な要素/モジュール/ユニットを提供することができるプロセッサー、メモリー、および受信機を使用して実装され得る。たとえば、(1)受信機は、ビットストリーム502を受信するように構成され得ること、ならびに(2)プロセッサーは、ソフトウェアを実行して、ビットストリーム502の受信、および再構成されたビデオ520の出力、およびデコーダー500の様々なブロックに関連付けられた機能の実行を可能にするように構成され得ることを、当業者は理解する。
図6は、動き予測モジュール508のようなデコーダーの動き予測モジュールで利用され得る代表的なGBi予測モジュールを示す図である。
図6を参照すると、GBi予測モジュールは、加重平均モジュール602および動き補償モジュール604を含むことができ、動き補償モジュール604は、参照ピクチャストア606から1つまたは複数の参照ピクチャを受信することができる。加重平均モジュール602は、動き補償モジュール604の出力、重み情報W、および重みインデックス(たとえばweight_idx)を受信することができる。動き補償モジュール604の出力は、ピクチャのブロックに対応し得る動き情報を含むことができる。GBi予測モジュール600は、ブロック動き情報および重み値を使用して、(たとえば、2つの)動き補償予測ブロックの加重平均としてGBiの予測信号(たとえばインター予測信号608)を計算することができる。
オプティカルフローモデルに基づく代表的な双方向予測的予測
図7は、代表的な双方向オプティカルフローを示す図である。
図7を参照すると、双方向予測的予測はオプティカルフローモデルに基づくことができる。たとえばカレントブロック(たとえばcurblk700)に関連付けられた予測は、第1の予測ブロックI(0)702(たとえば時間τ0だけシフトされた、時間的に以前の予測ブロック)および第2の予測ブロックI(1)704(たとえば時間τ1だけシフトされた、時間的に未来の予測ブロック)に関連付けられたオプティカルフローに基づくことができる。ビデオ符号化における双方向予測は、既に再構成された参照ピクチャから取得された2つの時間予測ブロック702および704の組み合わせであってよい。ブロックベース動き補償(MC)の制限のために、2つの予測ブロックのサンプルの間で観察されることが可能である残りの小さな動きが存在し、それにより、動き補償予測の効率が減らされることが可能だろう。1つのブロック内の全てのサンプルについてそのような動きの影響を減らすために、双方向オプティカルフロー(BIOまたはBDOFと呼ばれる)が適用され得る。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)は、以下の式3によって導出され得る。
図7において、第1の予測ブロック702に関連付けられた(MVx0,MVy0)および第2の予測ブロック704に関連付けられた(MVx1,MVy1)は、2つの予測ブロックI(0)およびI(1)を生成するために使用され得るブロックレベルの動きベクトルを示す。サンプル位置(x,y)における動きリファインメント(vx,vy)は、以下の式4に示されるように、動きリファインメント補償後のサンプルの値(たとえば、図7のAおよびB)の間の差Δを最小化することによって計算され得る。
たとえば、導出された動きリファインメントの規則性を保証するために、動きリファインメントは、1つの小さなユニット(たとえば、4×4ブロックまたは他の小さなユニット)内のサンプルに対して一貫性があることが企図される。ベンチマークセット(BMS)-2.0では、(vx,vy)の値は、以下の式5に示されるように、各4×4ブロックの周りの6×6ウィンドウΩ内のΔを最小化することによって導出される。
式5に指定された最適化を解くために、BIOは、水平方向および垂直方向に(たとえば、次に垂直方向に)動きリファインメントを最適化することができる漸進的な方法/操作/手順を使用することができる。これは、以下のような方程式/不等式6および7をもたらし得る。
ここで、
は、入力以下の最大値を出力し得る床関数とすることができ、thBIOは、動きリファインメント閾値とすることができ、たとえば、符号化ノイズおよび/または不規則な局所的動きによる誤差伝播を防止するためのものであり、218-BDと等しい。S1,S2,S3,S5およびS6の値は、以下の式8~12に示されるようにさらに計算され得る。
S1=Σ(i,j)∈Ωψx(i,j)・ψx(i,j) (8)
S3=Σ(i,j)∈Ωθ(i,j)・ψx(i,j)・2L (9)
S2=Σ(i,j)∈Ωψx(i,j)・ψy(i,j) (10)
S5=Σ(i,j)∈Ωψy(i,j)・ψy(i,j)・2 (11)
S6=Σ(i,j)∈Ωθ(i,j)・ψy(i,j)・2L+1 (12)
ここで、様々な勾配が以下の式13~15で示され得る。
BMS-2.0では、水平方向と垂直方向の両方での式13~15におけるBIO勾配は、以下の式16および17に示されるように、各L0/L1予測ブロックの1つのサンプルポジションにおいて(たとえば、導出される勾配の方向に応じて水平または垂直に)2つの隣接するサンプルの間の差を計算することによって、直に取得されることが可能である。
k=0,1
式8~12において、Lは、たとえばBMS-2.0において5に設定され得る、データ精度を維持するための内部BIO処理/手順に関するビット深度増加であり得る。より小さい値による区分を回避するために、式6および7における調整パラメーターrおよびmが、以下の式18および19に示すように定義され得る。
r=500・4BD-8 (18)
m=700・4BD-8 (19)
ここで、BDは、入力ビデオのビット深度であり得る。式4および5によって導出された動きリファインメントに基づいて、以下の式20および21で指定されるように、オプティカルフロー式3に基づいて、動き軌道に沿ってL0/L1予測サンプルを補間することによって、カレントCUの最終的な双方向予測信号が計算されることが可能である。
ここで、shiftおよびοoffsetは、双方向予測のためにL0予測信号およびL1予測信号を組み合わせるために適用され得る右シフトおよびオフセットとすることができ、たとえば、それぞれ、15-BDおよび1<<(14-BD)+2・(1<<13)に等しく設定され得る。rnd(・)は、入力値を最も近い整数値に丸めることがある丸め関数である。
代表的なアフィンモード
HEVCでは、動き補償予測に並進動き(並進動きのみ)モデルが適用される。現実の世界では、多くの種類の動き(たとえば、ズームイン/アウト、回転、遠近法の動き、および他の不規則な動き)が存在する。VVCテストモデル(VTM)-2.0では、アフィン動き補償予測が適用される。アフィン動きモデルは、4パラメーターまたは6パラメーターのいずれかである。インター符号化されたCUに対する第1のフラグは、インター予測に並進動きモデルが適用されるかそれともアフィン動きモデルが適用されるかを示すためにシグナリングされる。アフィン動きモデルが適用される場合、モデルが4パラメータモデルであるかそれとも6パラメータモデルであるかを示すために、第2のフラグが送信される。
4パラメータアフィン動きモデルは、水平および垂直方向の並進移動のための2つのパラメーター、両方向のズーム動きのための1つのパラメーター、ならびに両方向の回転動きのための1つのパラメーターを有する。水平ズームパラメータは垂直ズームパラメータと等しい。水平回転パラメーターは垂直回転パラメーターと等しい。4パラメータアフィン動きモデルは、カレントCUの左上隅810および右上隅820で定義された2つの制御点ポジションにおける2つの動きベクトルを使用してVTMで符号化される。カレントCUの他の隅および/またはエッジなどにおける他の制御点ポジションも可能である。
1つのアフィン動きモデルが上記で説明されているが、他のアフィンモデルも同様に可能であり、本明細書の様々な実施形態で使用されてよい。
図8Aおよび図8Bは、代表的な4パラメータアフィンモデルおよびアフィンブロックのサブブロックレベル動き導出を示す図である。図8Aおよび図8Bを参照すると、ブロックのアフィン動きフィールドは、2つの制御点動きベクトルによって、第1の制御点810(カレントブロックの左上隅)および第2の制御点820(カレントブロックの右上隅)においてそれぞれ記述される。制御点動きに基づいて、1つのアフィン符号化されたブロックの動きフィールド(vx,vy)は、以下の式22および23に示されるように記述される。
ここで、(v0x,v0y)は、左上隅制御点810の動きベクトルとすることができ、(v1x,v1y)は、図8Aに示されるように右上隅制御点820の動きベクトルとすることができ、wは、CUの幅とすることができる。たとえば、アフィン符号化されたCUの動きフィールドは4×4ブロックレベルで導出され、すなわち、(vx,vy)は、カレントCU内の4×4ブロックのそれぞれについて導出され、対応する4×4ブロックに適用される。
4パラメータアフィンモデルの4つのパラメーターは、反復的に推定され得る。ステップkにおけるMVペアは、
として示され、元の信号(たとえば輝度信号)は、I(i,j)として示され、予測信号(たとえば輝度信号)は、I’k(i,j)として示され得る。空間勾配gx(i,j)およびgy(i,j)は、たとえばそれぞれ、水平方向および/または垂直方向で予測信号I’k(i,j)に適用されるソーベルフィルタを用いて導出され得る。式3の導出は、以下の式24および25に示されるように表されることが可能である。
ここで、ステップkにおいて、(a,b)はデルタ並進パラメーターとすることができ、(c,d)はデルタズームおよび回転パラメーターとすることができる。制御点におけるデルタMVは、以下の式26~29に示されるように、その座標を用いて導出され得る。たとえば、(0,0)、(w,0)は、それぞれ、左上制御点810および右上制御点820の座標であり得る。
オプティカルフロー式に基づいて、強度(たとえば輝度)の変化と空間勾配および時間的移動との間の関係は、以下のように式30で定式化される。
および
を式24で置き換えることによって、パラメータ(a,b,c,d)についての式31が以下のように取得される。
I’k(i,j)-I(i,j)=(gx(i,j)*i+gy(i,j)*j)*c+(-gx(i,j)*j+gy(i,j)*i)*d+gx(i,j)*a+gy(i,j)*b (31)
CUにおけるサンプル(たとえば、全てのサンプル)は式31を満たすので、パラメータセット(たとえば、a、b、c、d)は、たとえば最小二乗誤差法を使用して解かれることが可能である。ステップ(k+1)での2つの制御点
におけるMVは、式26~29を用いて解かれることができ、それらは、特定の精度(たとえば、1/4ピクセル精度(pel)または他のサブピクセル精度など)に丸められることができる。反復を使用して、2つの制御点におけるMVは、たとえば収束まで(たとえば、パラメータ(a、b、c、d)が全てゼロであるとき、または反復時間が事前定義された限界に達するときまで)、リファインし得る。
図9は、代表的な6パラメーターアフィンモードを示す図であり、図において、たとえば、V0、V1、およびV2は、それぞれ制御点910、920、および930における動きベクトルであり、(MVx、MVy)は、ポジション(x,y)を中心とするサブブロックの動きベクトルである。
図9を参照すると、(たとえば、6つのパラメーターを有する)アフィン動きモデルは、(1)水平方向の並進移動のためのパラメーター、(2)垂直方向の並進移動のためのパラメーター、(3)水平方向のズーム動きのためのパラメーター、(4)水平方向の回転動きのためのパラメーター、(5)垂直方向のズーム動きのためのパラメーター、および/または(6)垂直方向の回転動きのためのパラメーターのいずれかを有することができる。6パラメータアフィン動きモデルは、3つの制御点910、920、および930における3つのMVを用いて符号化され得る。図9に示されるように、6パラメーターのアフィン符号化されたCUについての3つの制御点910、920、および930は、それぞれCUの左上隅、右上隅、および左下隅で定義される。左上制御点910における動きは、並進動きに関係付けられてよく、右上制御点920における動きは、水平方向の回転動きおよび/または水平方向のズーム動きに関係付けられてよく、左下制御点930における動きは、垂直方向の回転および/または垂直方向のズーム動きに関係付けられてよい。6パラメータアフィン動きモデルでは、水平方向の回転動きおよび/またはズーム動きは、垂直方向における同じ動きとは同じでないことがある。各サブブロック(vx,vy)の動きベクトルは、以下の式32および33に示されるように、制御点910、920、および930における3つのMVを使用して導出され得る。
ここで、(v2x,v2y)は、左下制御点930の動きベクトルV2とすることができ、(x、y)は、サブブロックの中心ポジションとすることができ、wは、CUの幅とすることができ、hは、CUの高さとすることができる。
6パラメータアフィンモデルの6つのパラメーターは同様の方法で推定され得る。式24および25は、以下の式34および35に示されるように変更され得る。
ここで、ステップkにおいて、(a,b)はデルタ並進パラメーターとすることができ、(c,d)は水平方向についてのデルタズームおよび回転パラメーターとすることができ、(e,f)は垂直方向についてのデルタズームおよび回転パラメーターとすることができる。式31は、以下の式36に示されるように変更され得る。
I’k(i,j)-I(i,j)=(gx(i,j)*i)*c+(gx(i,j)*j)*d+(gy(i,j)*i)*e+(gy(i,j)*j)*f+gx(i,j)*a+gy(i,j)*b (36)
パラメータセット(a,b,c,d,e,f)は、たとえば、CU内のサンプル(たとえば、全てのサンプル)を考慮することによって最小二乗法/手順/演算を使用して解かれ得る。左上制御点のMV
は、式26~29を用いて計算され得る。右上制御点のMV
は、以下に示されるような式37および38を用いて計算され得る。左下制御点のMV
は、以下に示されるような式39および40を用いて計算され得る。
図8A、図8Bおよび図9では4および6パラメータアフィンモデルが示されているが、当業者は、異なる数のパラメーターおよび/または異なる制御点を有するアフィンモデルが同様に可能であることを理解する。
本明細書ではオプティカルフローリファインメントと関連してアフィンモデルが説明されているが、当業者は、オプティカルフローリファインメントと関連した他の動きモデルも同様に可能であることを理解する。
アフィン動き補償のための代表的なインターウイーブ予測
アフィン動き補償(AMC)では、たとえばVTMにおいて、符号化ブロックは、4×4程度の小さなサブブロックに区分され、その各々には、たとえば図8Aおよび図8Bまたは図9に示されるように、アフィンモデルによって導出された個々の動きベクトル(MV)が割り当てられ得る。4パラメーターまたは6パラメータアフィンモデルでは、MVは、2つまたは3つの制御点のMVから導出され得る。
AMCは、サブブロックのサイズに関連付けられたジレンマに直面する可能である。より小さいサブブロックでは、AMCはより良い符号化性能を達成し得るが、より大きい複雑さの負担に悩まされることがある。
図10は、たとえば複雑さの穏やかな増大と引換えに、MVのより細かい粒度を達成することができる、代表的なインターウイーブ予測手順を示す図である。
図10では、符号化ブロック1010は、2つの異なる区分パターン(たとえば、第1のパターン0および第2のパターン1)を有するサブブロックに区分され得る。図10に示されるように、第1の区分パターン0(たとえば、第1のサブブロックパターン、例として4×4サブブロックパターン)は、VTMにおけるものと同じであってよく、第2の区分パターン1(たとえば、重なるおよび/またはインターウイーブされた第2のサブブロックパターン)は、符号化ブロック1010を、第1の区分パターン0から2×2オフセットを有する4×4サブブロックへ区分してよい。2つの区分パターン(たとえば、第1の区分パターン0および第2の区分パターン1)を用いるAMCによって、いくつかの補助予測(たとえば、2つの補助予測P0およびP1)が生成され得る。区分パターン0および1のそれぞれにおける各サブブロックのMVは、アフィンモデルによって制御点動きベクトル(CPMV)から導出され得る。
最終予測Pは、以下の式41および42に示されるように定式化された補助予測(たとえば、2つの補助予測P0およびP1)の加重和として計算され得る。
図11は、サブブロックにおける代表的な重み値(たとえば、ピクセルに関連付けられている)を示す図である。図11を参照すると、サブブロック1100の中心(たとえば中心ピクセル)に配置された補助予測サンプルは、重み値3に関連付けられてよく、サブブロック1100の境界に配置された補助予測サンプルは、重み値1に関連付けられてよい。
図12は、インターウイーブ予測が適用される領域、およびインターウイーブ予測が適用されない他の領域を示す図である。図12を参照すると、領域1200は、たとえばインターウイーブ予測が適用される4×4サブブロックを有する、(図12に示されるように網掛けされていない)第1の領域1210と、たとえばインターウイーブ予測が適用されない、(図12に示されるように網掛けされた)第2の領域1220とを含むことができる。小さなブロック動き補償を回避するために、インターウイーブ予測は、たとえば第1の区分パターンと第2の区分パターンの両方について、サブブロックのサイズが閾値サイズ(たとえば4×4)を満たす領域のみに適用され得る。
VTM-3.0では、サブブロックのサイズは、色差成分において4×4であってよく、インターウイーブ予測は、色差成分および/または輝度成分に対して適用されてよい。サブブロック(たとえば全てのサブブロック)について動き補償(MC)を行うために使用される領域は、AMCにおいて全体として一緒に取り出され得るので、帯域幅は、インターウイーブ予測によって増大されないことがある。柔軟性のため、フラグが、インターウイーブ予測が使用されるか否かを示すためにスライスヘッダでシグナリングされてよい。インターウイーブ予測のために、フラグは、1ビットフラグ(たとえば、常に0または1としてシグナリングされ得る第1の論理レベル)としてシグナリングされてよい。
サブブロックベースの時間的動きベクトル予測(Sub-block-Based Temporal Motion Vector Prediction:SbTMVP)のための代表的な手順
SbTMVPは、VTMによってサポートされる。HEVCにおける時間的動きベクトル予測(TMVP)と同様に、SbTMVPは、たとえば、カレントピクチャにおけるCUの動きベクトル予測およびマージモードを改善するために、同一位置のピクチャにおける動きフィールドを使用することが可能である。TMVPによって使用される同じ同一位置のピクチャがSbTMVPに使用されてよい。SbTMVPは、TMVPと異なるのは、(1)TMVPはCUレベルでの動きを予測することができ、SbTMVPはサブCUレベルで動きを予測することができること、および/または(2)TMVPは、同一位置のピクチャ内の同一位置のブロックから時間的動きベクトルを取り出すことができ(たとえば、同一位置のブロックは、カレントCUに対して右下または中央のブロックであってよく)、SbTMVPは、同一位置のピクチャから時間的動き情報を取り出す前に動きシフトを適用することができる(たとえば、カレントCUの空間的隣接ブロックのうちの1つからの動きベクトルから、動きシフトが取得され得る)ことなどであり得る。
図13Aおよび図13Bは、SbTMVP処理を示す図である。図13Aは、ATMVPによって使用される空間的隣接ブロックを示し、図13Bは、空間的な隣接からの動きシフトを適用し、対応する同一位置のサブCUからの動き情報をスケーリングすることによる、サブCU動きフィールドの導出を示す。
図13Aおよび図13Bを参照すると、SbTMVPは、カレントCU動作内で(たとえば、2つの動作で)サブCUの動きベクトルを予測することができる。第1の動作では、空間的な隣接ブロックA1、B1、B0およびA0がA1、B1、B0およびA0の順に検査され得る。同一位置のピクチャをその参照ピクチャとして使用する動きベクトルを有する第1の空間的な隣接ブロックが識別されるとすぐに、および/または後に、この動きベクトルは、適用される動きシフトとして選択され得る。そのような動きが空間的な隣接ブロックから識別されない場合、動きシフトは(0,0)に設定され得る。第2の動作では、図13Bに示すように、第1の動作で識別された動きシフトが適用され(たとえば、カレントブロックの座標に追加され)、同一位置のピクチャから、サブCUレベルの動き情報(たとえば、動きベクトルおよび参照インデックス)を取得することができる。図13Bの例は、ブロックA1の動きに設定された動きシフトを示す。各サブCUについて、同一位置のピクチャにおけるその対応するブロック(たとえば、中心サンプルをカバーする最小の動きグリッド)の動き情報が、そのサブCUの動き情報を導出するために使用され得る。同一位置のサブCUの動き情報が識別された後、HEVCのTMVP処理と同様の方法で、動き情報は、カレントサブCUの動きベクトルおよび参照インデックスに変換され得る。たとえば、時間的動きスケーリングが、時間的動きベクトルの参照ピクチャをカレントCUのそれらに揃えるために適用され得る。
組み合わされたサブブロックベースのマージリストは、VTM-3において使用されてよく、たとえば、サブブロックベースのマージモードのシグナリングに使用するために、SbTMVPとアフィンマージ候補の両方を含有しまたは含むことができる。SbTMVPモードは、シーケンスパラメータセット(SPS)フラグによって有効/無効にされ得る。SbTMVPモードが有効にされた場合、サブブロックベースのマージ候補のリストの最初のエントリとしてSbTMVP予測子が追加され、アフィンマージ候補が後続し得る。サブブロックベースのマージリストのサイズはSPSでシグナリングされてよく、サブブロックベースのマージリストの最大許容サイズは整数とされ、たとえばVTM3では5にされてよい。
SbTMVPで使用されるサブCUサイズは、たとえば、8×8または別のサブCUサイズで固定されてよく、アフィンマージモードで行われるように、SbTMVPモードは、8以上であり得る幅および高さの両方を有するCUに適用可能であり得る(たとえば、それのみに適用可能であり得る)。追加のSbTMVPマージ候補のエンコードロジックは、他のマージ候補と同じであってよい。たとえば、PまたはBスライスにおける各CUについて、追加のレート歪み(RD)チェックが、SbTMVP候補を使用するかどうかを決定するために実行され得る。
代表的な回帰ベースの動きベクトルフィールド(Regression based Motion Vector Field)
ブロック内の動きベクトルの細かい粒度を提供するために、回帰ベースの動きベクトルフィールド(RMVF)ツールは、(たとえば、JVET-M0302で)実装されてよく、これにより、空間的に隣接した動きベクトルに基づいて、サブブロックレベルで各ブロックの動きベクトルをモデル化することを試みることができる。
図14は、動きパラメーター導出のために使用され得る隣接した動きブロック(たとえば、4×4動きブロック)を示す図である。ブロックの各側からの4×4サブブロックベースの(およびそれらの中心位置における)直接隣接する動きベクトルの1つの行1410および1つの列1420が、回帰処理で使用され得る。たとえば、それらの隣接した動きベクトルはRMVF動きパラメーター導出で使用され得る。
図15は、隣接した動き情報を減らす(たとえば、図14に関する回帰処理で使用される隣接した動きブロックの数が減らされ得る)、動きパラメーター導出のために使用され得る隣接した動きブロックを示す図である。隣接した4×4動きブロックのRMVFパラメーター導出のための隣接した動き情報の減らされた量は、動きパラメーター導出のために使用され得る(たとえば、約半分、たとえば、1つおきの隣接した動きブロックが動きパラメーター導出に使用され得る)。行1410および列1420の特定の隣接した動きブロックが、隣接した動き情報を減らすために選択、決定、または事前決定され得る。
行1410および列1420の隣接した動きブロックの約半分が選択されたように示されているが、たとえば、回帰処理で使用される隣接した動きブロックの数を減らすように、(他の動きブロック位置を含む)他の割合が選択されてよい。
動きパラメーター導出のための動き情報を収集するときに、図に示される5つの領域(たとえば、左下、左、左上、上、右上)が使用され得る。右上および左下の参照動き領域は、カレントブロックの対応する幅または高さの半分(たとえば半分のみ)に制限され得る。
RMVFモードでは、ブロックの動きは、6パラメーター動きモデルによって定義され得る。これらのパラメーターaxx、axy、ayx、ayy、bx、およびbyは、平均二乗誤差(MSE)の意味における線形回帰モデルを解くことによって計算され得る。回帰モデルへの入力は、上記に定義されたように、利用可能な隣接した4×4サブブロックの中心位置(x,y)および/または動きベクトル(mvxおよびmvy)から構成されてよく、またはそれらを含んでもよい。
(XsubPU,YsubPU)に中心位置を有する8×8サブブロックの動きベクトル(MVX_subPU,MVY_subPU)は、以下の式43に示されるように計算され得る。
動きベクトルは、サブブロック(たとえば各サブブロック)の中心位置に対する8×8サブブロックについて計算することができる。たとえば、動き補償は、RMVFモードでは8×8サブブロック精度で動き補償が適用され得る。動きベクトルフィールドについての効率的なモデリングを得るために、RMVFツールは、候補領域の少なくとも3つからの少なくとも1つの動きベクトルが利用可能な場合のみに適用される。
アフィン動きモデルパラメーターは、CUにおける特定のピクセル(たとえば各ピクセル)の動きベクトルを導出するために使用されることが可能である。ピクセルベースのアフィン動き補償予測の生成の複雑さは高い(たとえば、非常に高い)ことがあるが、この種のサンプルベースMCに対するメモリアクセス帯域幅要求が高いことがあるため、サブブロックベースのアフィン動き補償手順/方法が(たとえば、VVCによって)実装されてよい。たとえば、CUは、サブブロック(たとえば、4×4サブブロック、正方形サブブロック、および/または非正方形サブブロック)に区分されてよい。サブブロックのそれぞれは、アフィンモデルパラメータから導出され得るMVを割り当てられ得る。MVは、サブブロックの中心(またはサブブロック内の別の位置)におけるMVであり得る。サブブロック内のピクセル(たとえば、サブブロック内の全てのピクセル)は、サブブロックMVを共有し得る。サブブロックベースのアフィン動き補償は、符号化効率と複雑さとの間のトレードオフであり得る。より細かい粒度の動き補償を達成するために、アフィン動き補償のためのインターウイーブ予測が実装されることがあり、2つのサブブロック動き補償予測を加重平均することによって生成され得る。インターウイーブ予測は、サブブロック毎に2つ以上の動き補償予測を必要とし、および/または使用することができ、したがって、メモリー帯域幅および複雑さを増大させることがある。
特定の代表的実施形態では、オプティカルフローを用いて(たとえば、オプティカルフローを使用して、および/またはオプティカルフローに基づいて)サブブロックベースのアフィン動き補償予測をリファインするために、方法、装置、手順、および/または操作が実装され得る。たとえば、サブブロックベースのアフィン動き補償が実行された後、ピクセル強度は、オプティカルフロー式によって導出された差分値を加えることによってリファインしてよく、これは、オプティカルフローによる予測リファインメント(prediction refinement with optical flow:PROF)と呼ばれる。PROFは、複雑さを大きく増大させることなくピクセルレベルの粒度を達成することが可能であり、サブブロックベースのアフィン動作補償と同様の最悪ケースのメモリアクセス帯域幅を維持することがある。PROFは、予測信号(たとえば、リファインしていない動き予測信号および/またはサブブロックベース動き予測信号)に加えて、ピクセルレベルの動きベクトルフィールドが利用可能である(たとえば、計算され得る)任意のシナリオにおいて適用されてよい。アフィンモードに加えて、またはそれ以外に、予測PROF手順が他のサブブロック予測モードで使用されてよい。SbTMVPおよび/またはRMVFなどのサブブロックモードにおけるPROFの適用が実装されてよい。双方向予測におけるPROFの適用は本明細書で説明される。
アフィンモードのための代表的なPROF手順
特定の代表的実施形態では、方法、装置、および/または手順が、サブブロックベースのアフィン動き補償予測の粒度を改善するために、たとえば、オプティカルフロー(たとえばオプティカルフロー式)から導出されるピクセル強度の変化を適用することによって実装されることができ、たとえばVVCにおける既存のアフィン動き補償と同じ、サブブロック毎に1つの動き補償動作(たとえば、サブブロック毎に1つのみの動き補償動作)を使用する、および/または要求することができる。
図16は、サブブロックベースのアフィン動き補償予測の後のサブブロックMVおよびピクセルレベル動きベクトル差分Δv(i,j)(たとえば、ピクセルについてのリファインメントMVと呼ばれることもある)を示す図である。
図16を参照すると、CU1600は、サブブロック1610、1620、1630、および1640を含むことができる。各サブブロック1610、1620、1630および1640は、複数のピクセル(たとえば、サブブロック1610内の16ピクセル)を含むことができる。サブブロック1610の各ピクセル1660(i,j)に関連付けられたサブブロックMV1650(たとえば、粗いまたは平均のサブブロックMVとして)が示されている。サブブロック1610内の各それぞれのピクセル(i,j)に対して、リファインメントMV1670(i,j)(これは、ピクセル1660(i,j)の実際のMVとサブブロックMV1650との差を示すことができる(ここで、(i,j)はサブブロック1610内のピクセルポジションを定義する)が決定され得る。図16を明瞭にするために、リファインメントMV1670(1,1)のみがラベル付けされているが、他の個々のピクセルレベルの動きが示されている。特定の代表的実施形態では、リファインメントMV1670(i,j)は、ピクセルレベル動きベクトル差Δv(i,j)(動きベクトル差と呼ばれることもある)として決定され得る。
特定の代表的実施形態では、以下の動作のいずれかを含む方法、装置、手順および/動作が実装され得る。
(1)第1の動作において、サブブロックベースのAMCが本明細書に開示されたように実行されて、サブブロックベースの動き予測I(i,j)を生成することができる。
(2)第2の動作において、各サンプル位置におけるサブブロックベースの動き予測I(i,j)の空間勾配gx(i,j)およびgy(i,j)が計算されることができる(一例では、空間勾配は、BDOFで使用される勾配生成と同じ処理を使用して生成され得る。たとえば、サンプル位置における水平勾配が、その右の隣接サンプルとその左の隣接サンプルとの間の差として計算され得る、および/またはサンプル位置における垂直勾配が、その下の隣接サンプルとその上の隣接サンプルとの間の差として計算され得る。別の例では、空間勾配がソーベルフィルタ)を使用して生成されることが可能である。
(3)第3の動作において、たとえば以下の式44に示されるように、オプティカルフロー式を使用しておよび/またはそれによってCUにおけるピクセル毎の輝度強度変化が計算されることができる。
ΔI(i,j)=gx(i,j)*Δvx(i,j)+gy(i,j)*Δvy(i,j) (44)
ここで、動きベクトル差Δv(i,j)の値は、図16に示されるように、v(i,j)で示されるサンプル位置(i,j)について計算されるピクセルレベルMVと、ピクセル1660(i,j)をカバーするサブブロックのサブブロックレベルMV1650との間の差1670である。ピクセルレベルMV v(i,j)は、4パラメータアフィンモデルについての式22および23、または6パラメータアフィンモデルについての式32および33によって、制御点MVから導出され得る。
特定の代表的実施形態では、動きベクトル差分値Δv(i,j)は、式24および25により、または式24および25を使用して、アフィンモデルパラメータによって導出されてよく、式中、xおよびyは、ピクセル位置からサブブロックの中心までのオフセットであり得る。アフィンモデルパラメータおよびピクセルオフセットはサブブロック毎に変更されないため、動きベクトル差分値Δv(i,j)は、第1のサブブロックについて計算され、同じCU内の他のサブブロックで再利用され得る。たとえば、ピクセルレベルMVとサブブロックMVでは並進アフィンパラメータ(a,b)が同じであってよいので、ピクセルレベルMVとサブブロックレベルMVの間の差は、以下のように式45および46を使用して計算され得る。(c,d,e,f)は、4つの追加のアフィンパラメータ(たとえば、並進アフィンパラメータ以外の4つのアフィンパラメータ)とすることができる。
ここで、(i、j)は、サブブロックの左上ポジションに対するピクセル位置とすることができ、(xsb,ysb)は、サブブロックの左上ポジションに対するサブブロックの中心ポジションとすることができる。
図17Aは、サブブロックの実際の中心に対応するMVを決定するための代表的な手順を示す図である。
図17Aを参照すると、2つのサブブロックSB0およびSB1が4×4サブブロックとして示されている。サブブロック幅がSWであり、サブブロック高さがSHの場合、((SW-1)/2,(SH-1)/2)のようにサブブロック中心ポジションが示され得る。他の例では、サブブロック中心ポジションは、(SW/2,SH/2)として示されるポジションに基づいて推定され得る。実際の中心点は、((SW-1)/2,(SH-1)/2)を使用して、第1のサブブロックSB0についてはP0’であり、第2のサブブロックSB1についてはP1’である。推定された中心点は、(たとえばVVCにおいて、)たとえば(SW/2,SH/2)を使用して、第1のサブブロックSB0についてはP0であり、第2のサブブロックSB1についてはP1である。特定の代表的実施形態では、サブブロックのMVは、(VVCで使用される)推定された中心ポジションではなく、より正確に実際の中心ポジションに基づくことができる。
図17Bは、4:2:0色差フォーマットにおける色差サンプルの位置を示す図である。図17Bを参照すると、色差サブブロックMVは、輝度サブブロックのMVによって導出され得る。たとえば、4:2:0色差フォーマットにおいて、1つの4×4色差サブブロックは、8×8輝度領域に対応することができる。代表的実施形態は4:2:0色差フォーマットと関連して示されているが、当業者は、4:2:2色差フォーマットなどの他の色差フォーマットが同様に使用され得ることを理解する。
色差サブブロックMVは、左上4×4輝度サブブロックMVおよび右下輝度サブブロックMVを平均することによって導出され得る。導出された色差サブブロックMVは、色差サンプル位置タイプ0、2、および/または3に対して、色差サブブロックの中心に配置される場合もあれば、そうでない場合もある。色差サンプル位置タイプ0、2、および3に対して、色差サブブロック中心位置(xsb,ysb)がオフセットによって調整されてよく、または調整される必要があり得る。たとえば、4:2:0色差サンプル位置タイプ0、2、および3に対して、以下の式47~49に示されるように調整が適用され得る。
サブブロックベースの動き予測I(i,j)は、強度変化(たとえば、例として式44に提供されるような輝度強度変化)を加えることによってリファインし得る。最終的な(すなわちリファインした)予測I’(i,j)は、以下のように式50によってまたは式50を使用して生成され得る。
I’(i,j)=I(i,j)+ΔI(i,j) (50)
リファインメントが適用されると、サブブロックベースのアフィン動き補償は、最悪ケースの帯域幅および/またはメモリー帯域幅を増大させることなく、ピクセルレベルの粒度を達成し得る。
予測および/または勾配計算の精度を維持するために、サブブロックベースのAMCの動作関係性能におけるビット深度が、符号化ビット深度よりも高くなり得る中間ビット深度にされ得る。
上述された処理は、(たとえば、輝度強度のリファインメントに加えてまたは代えて)色差強度をリファインするために使用されてよい。一例では、式50で使用される強度差は、以下の式51に示されるように、予測に加えられる前に重み係数wによって乗算され得る。
I’(i,j)=I(i,j)+w・ΔI(i,j) (51)
ここで、wは、0から1までの値に設定されてよく、wは、CUレベルまたはピクチャレベルでシグナリングされ得る。たとえば、wは重みインデックスによってシグナリングされ得る。たとえば、wをシグナリングするためにインデックステーブル1が使用され得る。
エンコーダアルゴリズムは、最も低いレート歪コストをもたらすwの値を選ぶことができる。
予測サンプルの勾配、たとえば、gxおよび/またはgyは、異なる方法で計算され得る。特定の代表的実施形態では、予測サンプルgxおよびgyは、2次元ソーベルフィルタを適用することによって計算され得る。水平勾配および垂直勾配についての3×3ソーベルフィルタの例が以下に示される。
他の代表的実施形態では、1次元3タップフィルタを用いて勾配が計算され得る。例は、[-1 0 1]を含んでよく、これは、ソーベルフィルタよりも単純(たとえば、かなり単純)であり得る。
図17Cは、拡張されたサブブロック予測を示す図である。網掛けされた円1710は、4×4サブブロック(たとえば、網掛けされていない円1720)の周りのパディングサンプルである。例として、ソーベルフィルタを用いて、ボックス1730内のサンプルが中央のサンプル1740の勾配を計算するために使用され得る。勾配はソーベルフィルタを用いて計算され得るが、3タップフィルタなどの他のフィルターも可能である。
上記の例示的な勾配フィルター、たとえば、3×3ソーベルフィルタおよび1次元フィルターの場合、拡張されたサブブロック予測がサブブロック勾配計算のために使用され、および/または必要とされ得る。サブブロックの上下の境界における1つの行および左右の境界における1つの列が、たとえば、サブブロック境界におけるそれらのサンプルの勾配を計算するためにパディングされ得る。
拡張されたサブブロック予測を取得するための異なる方法/手順および/または動作が存在し得る。1つの代表的実施形態では、サブブロックサイズとしてN×Mが与えられて、サブブロックMVを使用して(N+2)×(M+2)ブロック動き補償を実行することによって、(N+2)×(M+2)拡張サブブロック予測が取得されることができる。この実施形態では、メモリー帯域幅が増大されることがある。メモリー帯域幅増大を回避するために、特定の代表的実施形態では、水平方向と垂直方向の両方におけるKタップ補間フィルターが与えられて、N×Mサブブロックの補間のために、補間前の(N+K-1)×(M+K-1)の整数参照サンプルが取り出されてよく、拡張された領域が(N+K-1+2)×(M+K-1+2)であり得るように、(N+K-1)×(M+K-1)ブロックの境界サンプルが、(N+K-1)×(M+K-1)サブブロックの近接サンプルからコピーされてよい。拡張された領域は(N+2)×(M+2)サブブロックの補間のために使用されてよい。これらの代表的実施形態は、サブブロックMV点が分数ポジションを指す場合、(N+2)×(M+2)予測を生成するために、追加の補間動作をさらに使用し、および/または必要とし得る。
たとえば、計算の複雑さを減らすために、他の代表的実施形態では、サブブロックMVを用いるN×Mブロック動き補償によってサブブロック予測が取得されてよい。(N+2)×(M+2)予測の境界は、(1)MVがサブブロックMVの整数部分である整数動き補償、(2)MVがサブブロックMVの最も近い整数MVである整数動き補償、および/または(3)N×Mサブブロック予測における最も近い近接サンプルからのコピー、のいずれかによって補間なしに取得されることがある。
たとえば、ピクセルレベルリファインメントMVの精度および/または範囲は、PROFの正確さに影響を与え得る。特定の代表的実施形態では、マルチビット分数成分と別のマルチビット整数成分との組み合わせが実装され得る。たとえば、5ビットの分数成分と11ビットの整数成分が使用されてよい。5ビット分数成分と11ビット整数成分の組み合わせは、合計16ビットの1/32ペル精度での-1024から1023のMV範囲を表すことが可能である。
勾配、たとえばgxおよびgy、ならびに強度変化ΔIの精度は、PROFの性能に影響を及ぼし得る。特定の代表的実施形態では、予測サンプル精度が、所定の数またはシグナリングされたビット数(たとえば、14ビットであるカレントVVCドラフトで定義された内部サンプル精度)に維持または保持され得る。特定の代表的実施形態では、勾配および/または強度変化ΔIは、予測サンプルと同じ精度に維持され得る。
強度変化ΔIの範囲は、PROFの性能に影響を及ぼし得る。強度変化ΔIは、不正確なアフィンモデルによって生成される誤った値を回避するために、より小さな範囲へクリップされ得る。一例では、強度変化ΔIはpredition_bitdepth-2にクリップされ得る。
ΔvxおよびΔvyの分数成分のビット数、勾配の分数成分のビット数、および強度変化ΔIのビット数の組み合わせは、特定のハードウェアまたはソフトウェア実装の複雑さに影響を与えることがある。1つの代表的実施形態では、5ビットが使用されてΔvxおよびΔvyの分数成分を表すことができ、2ビットが使用されて勾配の分数成分を表すことができ、12ビットが使用されてΔIを表すことができるが、それらは任意のビット数であることが可能である。
計算の複雑さを減らすために、特定の状況においてPROFが省略されてよい。たとえば、4×4サブブロック内の全てのピクセルベースのデルタ(たとえばリファインメント)MV(Δv(i,j))の大きさが閾値よりも小さい場合、アフィンCU全体でPROFが省略されてもよい。4×4サブブロック内の全てのサンプルの勾配が閾値よりも小さい場合、PROFが省略されてもよい。
PROFは、Cbおよび/またはCr成分などの色差成分に適用され得る。サブブロックのCbおよび/またはCr成分のデルタMVは、サブブロックのデルタMVを再利用してよい(たとえば、同じCU内の異なるサブブロックについて計算されたデルタMVを再利用してよい)。
本明細書に開示されている勾配手順(たとえば、コピーされた参照サンプルを使用して勾配計算のためにサブブロックを拡張する)は、PROF動作と共に使用されるように示されているが、勾配手順は、特にBDOF動作および/またはアフィン動き推定動作のような他の動作と共に使用されてもよい。
他のサブブロックモードのための代表的なPROF手順
PROFは、予測信号(たとえば、リファインしていない予測信号)に加えて、ピクセルレベル動きベクトルフィールドが利用可能である(たとえば、計算され得る)任意のシナリオにおいて適用され得る。たとえば、アフィンモードの他に、オプティカルフローを用いる予測リファインメントは、他のサブブロック予測モード、たとえば、SbTMVPモード(たとえば、VVCにおけるATMVPモード)、または回帰ベースの動きベクトルフィールド(RMVF)において使用されてよい。
特定の代表的実施形態では、PROFをSbTMVPに適用するための方法が実装され得る。たとえば、そのような方法は、特に以下のいずれかを含み得る。
(1)第1の動作において、サブブロックレベルMVおよびサブブロック予測が、本明細書に記載された既存のSbTMVP処理に基づいて生成されることができる、
(2)第2の動作において、アフィンモデルパラメータが、線形回帰法/手順を使用してサブブロックMVフィールドによって推定されることができる、
(3)第3の動作において、ピクセルレベルMVが、第2の動作で取得されたアフィンモデルパラメータによって導出されることができ、およびサブブロックMVに対する関連付けられたピクセルレベル動きリファインメントベクトル(Δv(i,j))が計算されることができる、および/または
(4)第4の動作において、オプティカルフロー処理を用いる予測精微化が適用されて、とりわけ、最終予測を生成することができる。
特定の代表的実施形態では、PROFをRMVFに適用するための方法が実装され得る。たとえば、そのような方法は、以下のいずれかを含み得る。
(1)第1の動作において、サブブロックレベルMVフィールド、サブブロック予測、および/またはアフィンモデルパラメータaxx、axy、ayx、ayy、bxおよびbxが、本明細書に記載されたRMVF処理に基づいて生成されることができる、
(2)第2の動作において、サブブロックレベルMVからのピクセルレベルMVオフセットが、以下のように式52によってアフィンモデルパラメータaxx、axy、ayx、ayy、bxおよびbxにより導出されることができる。
ここで、(i,j)は、サブブロック中心からのピクセルオフセットである。アフィンモデルパラメータ、および/もしくはサブブロックの中心からのピクセルオフセットは、サブブロック毎に変更されないため、ピクセルMVオフセットは、第1のサブブロックについて計算されてよく(たとえば、それについてのみ計算される必要がある、もしくは計算されるべきである)、およびCU内の他のサブブロックで再利用され得る、ならびに/または
(3)第3の動作において、PROF処理が適用されて、たとえば式44および50を適用することによって、最終予測を生成することができる。
双方向予測のための代表的なPROF手順
本明細書に記載されるように単予測にPROFを使用することに加えてまたは代えて、PROF技術は双方向予測に使用されてよい。双方向予測で使用されるとき、PROFは、L0予測および/またはL1予測を生成するために、たとえば、それらが重みと組み合わされる前に生成するために使用され得る。計算の複雑さを減らすために、PROFは、L0またはL1のような1つの予測に適用されてよい(たとえば、それのみに適用されてよい)。特定の代表的実施形態では、PROFは、リスト(たとえば、カレントピクチャが(たとえば閾値内で)近いおよび/または最も近い参照ピクチャと共にまたはそれに関連付けられた)リストに適用され得る。
PROF有効化のための代表的な手順
PROF有効化は、シーケンスパラメータセット(SPS)ヘッダ、ピクチャパラメータセット(PPS)ヘッダ、および/またはタイルグループヘッダにおいてまたはその中でシグナリングされ得る。特定の実施形態では、PROFがアフィンモードに対し有効化されているか否かを示すために、フラグがシグナリングされ得る。フラグが第1の論理レベル(たとえば「True」)に設定されている場合、PROFは単予測と双方向予測の両方に使用され得る。特定の実施形態では、第1のフラグが「True」に設定されている場合、PROFが双方向予測アフィンモードに対し有効化されているか有効化されていないかを示すために、第2のフラグが使用され得る。第1のフラグが第2の論理レベル(たとえば「False」)に設定されている場合、第2のフラグは「False」に設定されていると推測され得る。色差成分に対しPROFを適用するかどうかは、第1のフラグが「True」に設定されている場合、SPSヘッダ、PPSヘッダ、および/またはタイルグループヘッダにおいてまたはその中でフラグを用いてシグナリングされることができ、それにより、輝度成分と色差成分に対するPROFの制御が分離され得る。
条件付きで有効化されるPROFの代表的な手順
たとえば、複雑さを減らすために、PROFは、特定の条件が満たされたとき(たとえば、そのときのみ)に適用され得る。たとえば、小さなCUサイズ(たとえば、閾値レベル未満)に関して、アフィン動きが比較的小さいため、PROFを適用する利点が制限され得ることがある。特定の代表的実施形態では、CUサイズが小さいとき(たとえば、8×8、8×16、16×8のような16×16以下のCUサイズの場合)またはその条件で、PROFは、エンコーダーおよび/またはデコーダーの両方に関して複雑さを減らすためにアフィン動き補償において無効にされ得る。特定の代表的実施形態では、CUサイズが小さい(同じまたは異なる閾値レベル未満である)とき、PROFは、たとえば、エンコーダーの複雑さを減らすために、アフィン動き推定(たとえば、アフィン動き推定のみ)において省略されてよく、PROFは、CUサイズにかかわらずデコーダーでは実行されてよい。たとえば、エンコーダー側では、アフィンモデルパラメータ(たとえば制御点MV)を検索する動き推定の後に、動き補償(MC)手順が起動され、PROFが実行され得る。動き推定における反復毎に、MC手順が起動されてもよい。動き推定中のMCにおいて、複雑さを抑えるためにPROFは省略され得るが、エンコーダー内の最終MCがPROFを実行することになるので、エンコーダーとデコーダーとの間に予測ミスマッチは生じない。すなわち、エンコーダーによって、CUの予測に使用するアフィンモデルパラメータ(たとえばアフィンMV)を検索するときに、PROFリファインメントは適用されなくてよく、エンコーダーが検索を完了すると、またはその後に、エンコーダーは、検索から決定されたアフィンモデルパラメータを使用して、CUについての予測をリファインするためにPROFを適用することができる。
いくつかの代表的実施形態では、CPMV間の差を基準として使用して、PROFを有効化するかどうかを決定することができる。CPMV間の差が小さく(たとえば閾値レベル未満)、したがってアフィン動きが小さいとき、PROFを適用する利点が制限されることがあり、PROFは、アフィン動き補償および/またはアフィン動き推定について無効化され得る。たとえば、4パラメーターアフィンモードでは、以下の条件が満たされる(たとえば、以下の条件の全てが満たされる)場合、PROFは無効化されてよい。
6パラメーターアフィンモードでは、上記の条件に加えてまたは代えて、以下の条件が満たされる(たとえば、以下の条件の全ても満たされる)場合、PROFは無効化されてよい。
ここで、Tは、予め定義された閾値、たとえば、4である。このCPMVまたはアフィンパラメータベースのPROF省略手順は、エンコーダーにおいて適用されてよく(たとえば、適用のみされてもよく)、デコーダーはPROFを省略してもしなくてもよい。
デブロッキングフィルタと組み合わせたまたはデブロッキングフィルタの代わりのPROFのための代表的な手順
PROFは、ブロックベースのMCを補償できるピクセル毎のリファインメントであり得るので、ブロック境界間の動き差が減らされ得る(たとえば、大幅に減らされ得る)。エンコーダーおよび/またはデコーダーは、デブロッキングフィルタの適用を省略することができ、および/または、PROFが適用される場合にサブブロック境界においてより弱いフィルターを適用することができる。複数の変換ユニット(TU)に割られたCUでは、ブロッキングアーチファクトが変換ブロック境界上に出現することがある。
特定の代表的実施形態では、エンコーダーおよび/またはデコーダーは、サブブロック境界がTU境界と一致しない限り、デブロッキングフィルタの適用を省略することができ、またはサブブロック境界に1つもしくは複数のより弱いフィルターを適用することができる。
PROFが輝度に適用される(たとえば、輝度のみに適用される)とき、またはその条件で、エンコーダーおよび/またはデコーダーは、デブロッキングフィルタの適用を省略することができ、および/または輝度(たとえば、輝度のみ)についてサブブロック境界上に1つもしくは複数のより弱いフィルターを適用することができる。たとえば、より弱いデブロッキングフィルタを適用するために境界強度パラメーターBが使用され得る。
たとえば、エンコーダーおよび/またはデコーダーは、サブブロック境界がTU境界と一致しない限り、PROFが適用されるとき、サブブロック境界上のデブロッキングフィルタの適用を省略することができる。その場合、デブロッキングフィルタは、TU境界に沿って生じ得るブロッキングアーチファクトを減らすまたは取り除くために適用されてよい。
別の例として、エンコーダーおよび/またはデコーダーは、サブブロック境界がTU境界と一致しない限り、PROFが適用されるとき、サブブロック境界上により弱いデブロッキングフィルタを適用することができる。「弱い」デブロッキングフィルタは、PROFが適用されていないときにサブブロック境界に通常適用され得るものよりも弱いデブロッキングフィルタであり得ることが意図される。サブブロック境界がTU境界と一致するとき、より強いデブロッキングフィルタが適用され、TU境界と一致するサブブロック境界に沿ってより可視であると見込まれるブロッキングアーチファクトを、減らすまたは取り除くことができる。
特定の代表的実施形態では、PROFが輝度に適用される(たとえば、適用のみされる)とき、またはその条件で、エンコーダーおよび/またはデコーダーは、設計統一目的のために、たとえば、色差におけるPROFの適用がないにもかかわらず、色差に対するデブロッキングフィルタの適用を輝度に合わせることができる。たとえば、PROFが輝度のみに適用される場合、輝度に対するデブロッキングフィルタの通常の適用は、PROFが適用されたかどうかに基づいて(および場合によっては、サブブロック境界にTU境界があるかどうかに基づいて)変更されてよい。特定の代表的実施形態では、対応する色差ピクセルにデブロッキングフィルタを適用するための別個の/異なる論理を有するのではなく、デブロッキングフィルタが、輝度デブロッキングのための手順に整合する(および/またはその手順をミラーリングする)ように色差に対してサブブロック境界に適用されてよい。
図18Aは、第1の代表的なエンコード/デコード方法を示すフローチャートである。
図18Aを参照すると、符号化および/またはデコードする代表的な方法1800は、ブロック1805で、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、たとえばビデオの、カレントブロックについてのサブブロックベース動き予測信号を取得することを含むことができる。ブロック1810において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、カレントブロックについてのサブブロックベース動き予測信号の1つもしくは複数の空間勾配、またはカレントブロックのサブブロックに関連付けられた1つもしくは複数の動きベクトル差分値を取得することができる。ブロック1815において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、1つもしくは複数の取得された空間勾配、またはカレントブロックのサブブロックに関連付けられた1つもしくは複数の動きベクトル差分値に基づいて、カレントブロックについてのリファインメント信号を取得することができる。ブロック1820において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サブブロックベース動き予測信号およびリファインメント信号に基づいて、カレントブロックについてのリファインした動き予測信号を取得することができる。特定の実施形態では、エンコーダー100もしくは300は、リファインした動き予測信号に基づいてカレントブロックを符号化することができ、またはデコーダー200もしくは500は、リファインした動き予測信号に基づいてカレントブロックをデコードすることができる。リファインした動き予測信号は、(たとえば、GBiエンコーダー300および/またはGBiデコーダー500によって)生成された、リファインした動きインター予測信号とすることができ、1つまたは複数のPROF動作を使用することができる。
たとえば、方法1850および1900を含む本明細書に記載された他の方法に関係付けられた、特定の代表的実施形態では、ビデオのカレントブロックについてのサブブロックベース動き予測信号を取得することは、サブブロックベース動き予測信号を生成することを含むことができる。
たとえば、特に方法1850および1900を含む本明細書に記載された他の方法に関係付けられた、特定の代表的実施形態では、カレントブロックについてのサブブロックベース動き予測信号の1つもしくは複数の空間勾配、またはカレントブロックのサブブロックに関連付けられた1つもしくは複数の動きベクトル差分値を取得することは、サブブロックベース動き予測信号の(たとえば、勾配フィルターに関連付けられた)1つまたは複数の空間勾配を決定することを含むことができる。
たとえば、特に方法1850および1900を含む本明細書に記載された他の方法に関係付けられた、特定の代表的実施形態では、カレントブロックについてのサブブロックベース動き予測信号の1つもしくは複数の空間勾配、またはカレントブロックのサブブロックに関連付けられた1つもしくは複数の動きベクトル差分値を取得することは、カレントブロックのサブブロックに関連付けられた1つまたは複数の動きベクトル差分値を決定することを含むことができる。
たとえば、特に方法1850および1900を含む本明細書に記載された他の方法に関係付けられた、特定の代表的実施形態では、1つもしくは複数の決定された空間勾配または1つもしくは複数の決定された動きベクトル差分値に基づいて、カレントブロックについてのリファインメント信号を取得することは、決定された空間勾配に基づいて、リファインメント信号として、カレントブロックについての動き予測リファインメント信号を決定することを含むことができる。
たとえば、特に方法1850および1900を含む本明細書に記載された他の方法に関係付けられた、特定の代表的実施形態では、1つもしくは複数の決定された空間勾配または1つもしくは複数の決定された動きベクトル差分値に基づいて、カレントブロックについてのリファインメント信号を取得することは、決定された動きベクトル差分値に基づいて、リファインメント信号として、カレントブロックについての動き予測リファインメント信号を決定することを含むことができる。
情報などの何かに関係する用語「決定する」または「決定すること」は、一般に、情報に関する推定すること、計算すること、予測すること、取得すること、および/または検索することのうちの1つまたは複数を含むことが可能である。たとえば、決定することは、とりわけ、メモリーまたはビットストリームから何かを検索することを指すことが可能である。
たとえば、特に方法1850および1900を含む本明細書に記載された他の方法に関係付けられた、特定の代表的実施形態では、サブブロックベース動き予測信号およびリファインメント信号に基づいて、カレントブロックについてのリファインした動き予測信号を取得することは、サブブロックベース動き予測信号と動き予測リファインメント信号とを組み合わせて(たとえば、特に可算または減算して)、カレントブロックについてのリファインした動き予測信号を作成することを含むことができる。
たとえば、特に方法1850および1900を含む本明細書に記載された他の方法に関係付けられた、特定の代表的実施形態では、リファインした動き予測信号に基づいて、カレントブロックをエンコードおよび/またはデコードすることは、カレントブロックについての予測として、リファインした動き予測信号を使用して、ビデオをエンコードすること、および/またはカレントブロックについての予測として、リファインした動き予測信号を使用して、ビデオをデコードすることを含むことができる。
図18Bは、第2の代表的なエンコードおよび/またはデコード方法を示すフローチャートである。
図18Bを参照すると、ビデオを符号化および/またはデコードするための代表的な方法1850は、ブロック1855で、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、サブブロックベース動き予測信号を生成することを含むことができる。ブロック1860において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サブブロックベース動き予測信号の(たとえば、勾配フィルターに関連付けられた)1つまたは複数の空間勾配を決定することができる。ブロック1865において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、決定された空間勾配に基づいて、カレントブロックについての動き予測リファインメント信号を決定することができる。ブロック1870において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サブブロックベース動き予測信号と動き予測リファインメント信号とを組み合わせて(たとえば、特に可算または減算して)、カレントブロックについてのリファインした動き予測信号を作成することができる。ブロック1875において、エンコーダー100もしくは300は、カレントブロックについての予測として、リファインした動き予測信号を使用して、ビデオを符号化することができ、および/またはデコーダー200もしくは500は、カレントブロックについての予測として、リファインした動き予測信号を使用して、ビデオをデコードすることができる。特定の実施形態では、ブロック1810、1820、1830、および1840における動作は、一般的に現在符号化またはデコードされているブロックを指すブロックであるカレントブロックに対して実行され得る。リファインした動き予測信号は、(たとえば、GBiエンコーダー300および/またはGBiデコーダー500によって)生成されたリファインした動きインター予測信号であってよく、1つまたは複数のPROF動作を用いてよい。
たとえば、エンコーダー100もしくは300および/またはデコーダー200もしくは500によるサブブロックベース動き予測信号の1つまたは複数の空間勾配の決定は、第1の参照ピクチャに関連付けられた空間勾配の第1のセットおよび第2の参照ピクチャに関連付けられた空間勾配の第2のセットの決定を含むことができる。エンコーダー100もしくは300および/またはデコーダー200もしくは500によるカレントブロックについての動き予測リファインメント信号の決定は、決定された空間勾配に基づくことができ、空間勾配の第1のセットおよび第2のセットに基づく、カレントブロックについての動きインター予測リファインメント信号(たとえば双方向予測信号)の決定を含むことができ、(たとえば、1つまたは複数の参照ピクチャに関連付けられた1つまたは複数の重み値を示すまたは含む)重み情報Wに基づくこともできる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態では、エンコーダー100もしくは300が、重み情報Wを生成し、使用し、および/もしくはデコーダー200もしくは500に送信することができ、ならびに/または、デコーダー200または500が、重み情報Wを受信するもしくは取得することができる。たとえば、カレントブロックについての動きインター予測リファインメント信号は、(1)空間勾配の第1のセットから導出され、重み情報Wにより示される第1の重み係数に従って重み付けされた第1の勾配値、および/または(2)空間勾配の第2のセットから導出され、重み情報Wにより示される第2の重み係数に従って重み付けされた第2の勾配値に基づくことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態において、これらの方法は、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、ビデオのカレントブロックについてのアフィン動きモデルパラメーターを決定して、決定されたアフィン動きモデルパラメーターを使用してサブブロックベース動き予測信号が生成され得るようにすることをさらに含むことができる。
代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態において、これらの方法は、エンコーダー100もしくは300および/またはデコーダー200もしくは500による、サブブロックベース動き予測信号の1つまたは複数の空間勾配の決定を含むことができ、この決定は、サブブロックベース動き予測信号の少なくとも1つのサブブロックにおける、1つのそれぞれのサンプル位置、それぞれのサンプル位置の一部、または各それぞれのサンプル位置についての、少なくとも1つの勾配値の計算を含むことができる。たとえば、サブブロックベース動き予測信号の少なくとも1つのサブブロックにおける、1つのそれぞれのサンプル位置、それぞれのサンプル位置の一部、または各それぞれのサンプル位置についての、少なくとも1つの勾配値の計算は、1つのそれぞれのサンプル位置、それぞれのサンプル位置の一部、または各それぞれのサンプル位置について、サブブロックベース動き予測信号の少なくとも1つのサブブロックにおけるそれぞれのサンプル位置に対して、勾配フィルターを適用することを含むことができる。
代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態において、これらの方法は、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、サブブロックベース動き予測信号のカレントブロックの第1のサブブロックのサンプル位置に関連付けられた動きベクトル差分値のセットを決定することをさらに含むことができる。いくつかの例では、差分値は、サブブロック(たとえば、第1のサブブロック)について決定されてよく、カレントブロック内のいくつかまたは全ての他のサブブロックで再利用されてよい。特定の例では、アフィン動きモデルまたは異なる動きモデル(たとえば、SbTMVPモデルなど、別のサブブロックベースの動きモデル)を使用して、サブブロックベース動き予測信号が生成されてよく、動きベクトル差分値のセットが決定されてよい。例として、動きベクトル差分値のセットは、カレントブロックの第1のサブブロックについて決定されてよく、カレントブロックの1つまたは複数のさらなるサブブロックについての動き予測リファインメント信号を決定するために使用されてよい。
代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態において、サブブロックベース動き予測信号の1つまたは複数の空間勾配、および動きベクトル差分値のセットは、カレントブロックについての動き予測リファインメント信号を決定するために使用され得る。
代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態において、カレントブロックについてのアフィン動きモデルを使用して、サブブロックベース動き予測信号が生成され、動きベクトル差分値のセットが決定される。
代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態において、サブブロックベース動き予測信号の1つまたは複数の空間勾配の決定は、カレントブロックの1つまたは複数のそれぞれのサブブロックについて、サブブロックベース動き予測信号、およびそれぞれのサブブロックに接してそのサブブロックを囲む近接参照サンプルを使用して、拡張されたサブブロックを決定すること、ならびに動き予測リファインメント信号を決定するために、決定された拡張されたサブブロックを使用してそれぞれのサブブロックの空間勾配を決定することを含むことができる。
図19は、第3の代表的なエンコードおよび/またはデコード方法を示すフローチャートである。
図19を参照すると、ビデオを符号化および/またはデコードするための代表的な方法1900は、ブロック1910で、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、サブブロックベース動き予測信号を生成することを含むことができる。ブロック1920において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、カレントブロックのサブブロックに関連付けられた動きベクトル差分値のセットを決定することができる(たとえば、動きベクトル差分値のセットは、たとえば、カレントブロックのサブブロックの全てに関連付けられ得る)。ブロック1930において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、決定された動きベクトル差分値のセットに基づいて、カレントブロックについての動き予測リファインメント信号を決定することができる。ブロック1940において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サブブロックベース動き予測信号と動き予測リファインメント信号とを組み合わせて(たとえば、特に可算または減算して)、カレントブロックについてのリファインした動き予測信号を作成または生成することができる。ブロック1950において、エンコーダー100もしくは300は、カレントブロックについての予測として、リファインした動き予測信号を使用して、ビデオを符号化することができ、および/またはデコーダー200もしくは500は、カレントブロックについての予測として、リファインした動き予測信号を使用して、ビデオをデコードすることができる。特定の実施形態では、ブロック1910、1920、1930、および1940における動作は、現在符号化またはデコードされているブロックを一般的に指すカレントブロックに対して実行され得る。特定の代表的実施形態では、リファインした動き予測信号は、(たとえば、GBiエンコーダー300および/またはGBiデコーダー500によって)生成されたリファインした動きインター予測信号であってよく、1つまたは複数のPROF動作を用いてよい。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態において、これらの方法は、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、ビデオのカレントブロックについての動きモデルパラメーター(たとえば、1つまたは複数のアフィン動きモデルパラメーター)を決定して、決定された動きモデルパラメーター(たとえば、アフィン動きモデルパラメーター)を使用してサブブロックベース動き予測信号が生成され得るようにすることを含むことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態において、これらの方法は、エンコーダー100もしくは300および/またはデコーダー200もしくは500による、サブブロックベース動き予測信号の1つまたは複数の空間勾配の決定を含むことができる。たとえば、サブブロックベース動き予測信号の1つまたは複数の空間勾配の決定は、サブブロックベース動き予測信号の少なくとも1つのサブブロックにおける、1つのそれぞれのサンプル位置、それぞれのサンプル位置の一部、または各それぞれのサンプル位置についての、少なくとも1つの勾配値の計算を含むことができる。たとえば、サブブロックベース動き予測信号の少なくとも1つのサブブロックにおける、1つのそれぞれのサンプル位置、それぞれのサンプル位置の一部、または各それぞれのサンプル位置についての、少なくとも1つの勾配値の計算は、1つのそれぞれのサンプル位置、それぞれのサンプル位置の一部、または各それぞれのサンプル位置について、サブブロックベース動き予測信号の少なくとも1つのサブブロックにおけるそれぞれのサンプル位置に対して、勾配フィルターを適用することを含むことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態において、これらの方法は、エンコーダー100もしくは300および/またはデコーダー200もしくは500によって、カレントブロックの1つのそれぞれのサンプル位置、それぞれのサンプル位置の一部、または各それぞれのサンプル位置についての空間勾配に関連付けられた勾配値と、サブブロック動き予測信号のカレントブロックのサブブロック(たとえば、任意のサブブロック)のサンプル位置に関連付けられた動きベクトル差分値の決定されたセットと、を使用して、カレントブロックについての動き予測リファインメント信号を決定することを含むことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態において、カレントブロックについての動き予測リファインメント信号の決定は、カレントブロックの1つまたは複数のサブブロックの1つまたは複数のそれぞれのサンプル位置または各サンプル位置についての空間勾配に関連付けられた勾配値と、動きベクトル差分値の決定されたセットとを使用することができる。
図20は、第4の代表的なエンコードおよび/またはデコード方法を示すフローチャートである。
図20を参照すると、ビデオを符号化および/またはデコードするための代表的な方法2000は、ブロック2010で、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、少なくともカレントブロックの第1のサブブロックについての第1の動きベクトルおよびカレントブロックの第2のサブブロックについてのさらなる動きベクトルを使用して、サブブロックベース動き予測信号を生成することを含むことができる。ブロック2020において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サブブロックベース動き予測信号の第1のサブブロックにおける第1のサンプル位置についての勾配値の第1のセット、およびサブブロックベース動き予測信号の第1のサブブロックにおける第2のサンプル位置についての勾配値の第2の異なるセットを計算することができる。ブロック2030において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、第1のサンプル位置についての動きベクトル差分値の第1のセット、および第2のサンプル位置についての動きベクトル差分値の第2の異なるセットを決定することができる。たとえば、第1のサンプル位置についての動きベクトル差分値の第1のセットは、第1のサンプル位置における動きベクトルと第1のサブブロックの動きベクトルとの差を示すことができ、第2のサンプル位置についての動きベクトル差分値の第2のセットは、第2のサンプル位置における動きベクトルと第1のサブブロックの動きベクトルとの差を示すことができる。ブロック2040において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、勾配値の第1のセットおよび第2のセットならびに動きベクトル差分値の第1のセットおよび第2のセットを使用して、予測リファインメント信号を決定することができる。ブロック2050において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サブブロックベース動き予測信号を予測リファインメント信号と組み合わせて(たとえば、特に可算または減算して)、リファインした動き予測信号を作成することができる。ブロック2060において、エンコーダー100もしくは300は、カレントブロックについての予測として、リファインした動き予測信号を使用して、ビデオを符号化することができ、および/またはデコーダー200もしくは500は、カレントブロックについての予測として、リファインした動き予測信号を使用して、ビデオをデコードすることができる。特定の実施形態では、ブロック2010、2020、2030、2040、および2050における動作は、複数のサブブロックを含むカレントブロックに対して実行され得る。
図21は、第5の代表的なエンコードおよび/またはデコード方法を示すフローチャートである。
図21を参照すると、ビデオを符号化および/またはデコードするための代表的な方法2100は、ブロック2110で、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、カレントブロックについてのサブブロックベース動き予測信号を生成することを含むことができる。ブロック2120において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サブブロックベース動き予測信号のカレントブロックにおける複数のサンプル位置のリファインした動きを示すオプティカルフロー情報を使用して予測リファインメント信号を決定することができる。ブロック2130において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サブブロックベース動き予測信号を予測リファインメント信号と組み合わせて(たとえば、特に可算または減算して)、リファインした動き予測信号を作成することができる。ブロック2140において、エンコーダー100もしくは300は、カレントブロックについての予測として、リファインした動き予測信号を使用して、ビデオを符号化することができ、および/またはデコーダー200もしくは500は、カレントブロックについての予測として、リファインした動き予測信号を使用して、ビデオをデコードすることができる。たとえば、カレントブロックは、複数のサブブロックを含むことができ、サブブロックベース動き予測信号は、少なくともカレントブロックの第1のサブブロックについての第1の動きベクトルおよびカレントブロックの第2のサブブロックについてのさらなる動きベクトルを使用して生成され得る。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態において、これらの方法は、オプティカルフロー情報を使用することができる予測リファインメント信号の、エンコーダー100もしくは300および/またはデコーダー200もしくは500による決定を含むことができる。この決定は、エンコーダー100もしくは300および/またはデコーダー200もしくは500によって、サブブロックベース動き予測信号の第1のサブブロックにおける第1のサンプル位置についての勾配値の第1のセット、およびサブブロックベース動き予測信号の第1のサブブロックにおける第2のサンプル位置についての勾配値の第2の異なるセットを計算することを含むことができる。第1のサンプル位置についての動きベクトル差分値の第1のセット、および第2のサンプル位置についての動きベクトル差分値の第2の異なるセットが決定され得る。たとえば、第1のサンプル位置についての動きベクトル差分値の第1のセットは、第1のサンプル位置における動きベクトルと第1のサブブロックの動きベクトルとの差を示すことができ、第2のサンプル位置についての動きベクトル差分値の第2のセットは、第2のサンプル位置における動きベクトルと第1のサブブロックの動きベクトルとの差を示すことができる。エンコーダー100もしくは300および/またはデコーダー200もしくは500は、勾配値の第1のセットおよび第2のセットならびに動きベクトル差分値の第1のセットおよび第2のセットを使用して、予測リファインメント信号を決定することができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態において、これらの方法は、オプティカルフロー情報を使用することができる予測リファインメント信号の、エンコーダー100もしくは300および/またはデコーダー200もしくは500による決定を含むことができる。この決定は、サブブロックベース動き予測信号の第2のサブブロックにおける第1のサンプル位置についての勾配値の第3のセット、およびサブブロックベース動き予測信号の第2のサブブロックにおける第2のサンプル位置についての勾配値の第4のセットを計算することを含むことができる。エンコーダー100もしくは300および/またはデコーダー200もしくは500は、勾配値の第3のセットおよび第4セットならびに動きベクトル差分値の第1のセットおよび第2のセットを使用して、第2のサブブロックについての予測リファインメント信号を決定することができる。
図22は、第6の代表的なエンコードおよび/またはデコード方法を示すフローチャートである。
図22を参照すると、ビデオを符号化および/またはデコードするための代表的な方法2200は、ブロック2210で、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、ビデオのカレントブロックについての動きモデルを決定することを含むことができる。カレントブロックは、複数のサブブロックを含むことができる。たとえば、動きモデルは、カレントブロックにおける複数のサンプル位置についての個々の(たとえば、サンプル毎の)動きベクトルを生成することができる。ブロック2220において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、決定された動きモデルを使用して、カレントブロックについてのサブブロックベース動き予測信号を生成することができる。生成されたサブブロックベース動き予測信号は、カレントブロックの各サブブロックについて1つの動きベクトルを使用することができる。ブロック2230において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サブブロックベース動き予測信号の複数のサンプル位置の一部に対して勾配フィルターを適用することによって、勾配値を計算することができる。ブロック2240において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サンプル位置の一部についての動きベクトル差分値を決定することができ、動きベクトル差分値のそれぞれは、動きモデルに従ってそれぞれのサンプル位置について生成された動きベクトル(たとえば、個々の動きベクトル)と、それぞれのサンプル位置を含むサブブロックについてのサブブロックベース動き予測信号を作成するために使用される動きベクトルとの間の差を示すことができる。ブロック2250において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、勾配値および動きベクトル差分値を使用して、予測リファインメント信号を決定することができる。ブロック2260において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サブブロックベース動き予測信号を予測リファインメント信号と組み合わせて(たとえば、特に可算または減算して)、カレントブロックについてのリファインした動き予測信号を作成することができる。ブロック2270において、エンコーダー100もしくは300は、カレントブロックについての予測として、リファインした動き予測信号を使用して、ビデオを符号化することができ、および/またはデコーダー200もしくは500は、カレントブロックについての予測として、リファインした動き予測信号を使用して、ビデオをデコードすることができる。
図23は、第7の代表的なエンコードおよび/またはデコード方法を示すフローチャートである。
図23を参照すると、ビデオを符号化および/またはデコードするための代表的な方法2300は、ブロック2310で、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、サブブロックベースの動き補償を実行して、粗い動き予測信号としてサブブロックベース動き予測信号を生成することを含むことができる。ブロック2320において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サンプル位置におけるサブブロックベース動き予測信号の1つまたは複数の空間勾配を計算することができる。ブロック2330において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、計算された空間勾配に基づいて、カレントブロックにおけるピクセル毎の強度変化を計算することができる。ブロック2340において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、計算されたピクセル毎の強度変化に基づいて、リファインした動き予測信号としてピクセル毎ベースの動き予測信号を決定することができる。ブロック2350において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、カレントブロックの各サブブロックの粗い動き予測信号を使用して、およびカレントブロックの各ピクセルのリファインした動き予測信号を使用して、カレントブロックを予測することができる。特定の実施形態では、ブロック2310、2320、2330、2340、および2350における動作は、ビデオにおける少なくとも1つのブロック(たとえばカレントブロック)に対して実行され得る。たとえば、カレントブロックにおけるピクセル毎の強度変化を計算することは、オプティカルフロー式に従ってカレントブロックにおける各ピクセルについての輝度強度変化を決定することを含むことができる。カレントブロックを予測することは、それぞれのピクセルを含むサブブロックについての粗い動き予測ベクトルを、粗い動き予測ベクトルに対するリファインした動き予測ベクトルであってそれぞれのピクセルに関連付けられたリファインした動き予測ベクトルと組み合わせることによって、カレントブロックにおける各それぞれのピクセルについての動きベクトルを予測することを含むことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2300、および2600を含む特定の代表的実施形態において、サブブロックベース動き予測信号の1つまたは複数の空間勾配は、水平勾配および/または垂直勾配のいずれかを含むことができ、たとえば、水平勾配は、サブブロックのサンプルの右隣接サンプルとサブブロックのサンプルの左隣接サンプルとの間の輝度の差もしくは色差の差として計算されてよく、および/または垂直勾配は、サブブロックのサンプルの下隣接サンプルとサブブロックのサンプルの上隣接サンプルとの間の輝度の差もしくは色差の差として計算されてよい。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2300、および2600を含む特定の代表的実施形態において、サブブロック予測の1つまたは複数の空間勾配は、ソーベルフィルタを使用して生成され得る。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2300、および2600を含む特定の代表的実施形態において、粗い動き予測信号は、4パラメータアフィンモデルまたは6パラメータアフィンモデルの一方を使用することができる。たとえば、サブブロックベースの動き補償は、(1)アフィンサブブロックベースの動き補償、または(2)別の補償(たとえば、サブブロックベースの時間動きベクトル予測(SbTMVP)モード動き補償、および/もしくは回帰ベースの動きベクトルフィールド(RMVF)モードベースの補償)の一方であり得る。SbTMVPモードベースの動き補償が実行されるという条件で、この方法は、線形回帰演算によって、サブブロック動きベクトルフィールドを使用してアフィンモデルパラメータを推定することと、推定されたアフィンモデルパラメータを使用してピクセルレベル動きベクトルを導出することとを含むことができる。RMVFモードベースの動き補償が実行されるという条件で、この方法は、アフィンモデルパラメータを推定することと、推定されたアフィンモデルパラメータを使用して、サブブロックレベル動きベクトルからのピクセルレベル動きベクトルオフセットを導出することとを含むことができる。たとえば、ピクセル動きベクトルオフセットは、サブブロックの中心(たとえば、実際の中心、または実際の中心に最も近いサンプル位置)に対するものであってよい。たとえば、サブブロックについての粗い動き予測ベクトルは、サブブロックの実際の中心ポジションに基づくことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2300、および2600を含む特定の代表的実施形態において、これらの方法は、エンコーダー100もしくは300またはデコーダー200もしくは500が、各サブブロックについての粗い動き予測ベクトル(たとえば、サブブロックベースの動き予測ベクトル)に関連付けられた中心ポジションとして、(1)各サブブロックの実際の中心、または(2)サブブロックの中心に最も近いピクセル(たとえばサンプル)位置の1つの、一方を選択することを含むことができる。たとえば、カレントブロックの粗い動き予測信号(たとえばサブブロックベース動き予測信号)を使用して、およびカレントブロックの各ピクセル(たとえばサンプル)のリファインした動き予測信号を使用してカレントブロックを予測することは、各サブブロックの選択された中心ポジションに基づくことができる。たとえば、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サブブロックの色差ピクセルに関連付けられた中心ポジションを決定することができ、色差ピクセルに関連付けられた色差位置サンプルタイプに基づいて、サブブロックの色差ピクセルの中心ポジションに対するオフセットを決定することができる。サブブロックについての粗い動き予測信号(たとえば、サブブロックベース動き予測信号)は、オフセットにより調整された色差ピクセルの決定された中心ポジションに対応するサブブロックの実際のポジションに基づくことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2300、および2600を含む特定の代表的実施形態において、これらの方法は、(1)シーケンスパラメータセット(SPS)ヘッダ、(2)ピクチャパラメータセット(PPS)ヘッダ、または(3)タイルグループヘッダのうちの1つにおいて、オプティカルフローによる予測リファインメント(PROF)が有効化されるかどうかを示す情報をエンコーダー100もしくは300が生成すること、またはデコーダー200もしくは500が受信することを含むことができる。たとえば、PROFが有効化されるという条件では、リファインした動き予測動作が実行されてよく、したがって、粗い動き予測信号(たとえばサブブロックベース動き予測信号)およびリファインした動き予測信号がカレントブロックを予測するために使用され得る。別の例として、PROFが有効化されないという条件では、リファインした動き予測動作が実行されず、したがって、粗い動き予測信号(たとえばサブブロックベース動き予測信号)のみがカレントブロックを予測するために使用され得る。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2300、および2600を含む特定の代表的実施形態において、これらの方法は、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、カレントブロックの属性および/またはアフィン動き推定の属性に基づいて、リファインした動き予測動作をカレントブロックに対して実行するかまたはアフィン動き推定において実行するかを決定することを含むことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2300、および2600を含む特定の代表的実施形態において、これらの方法は、カレントブロックの属性および/またはアフィン動き推定の属性に基づいて、リファインした動き予測動作をカレントブロックに対して実行するかまたはアフィン動き推定において実行するかを決定することを含むことができる。たとえば、カレントブロックの属性に基づいてカレントブロックに対してリファインした動き予測動作を実行するかどうかの決定は、(1)カレントブロックのサイズが特定のサイズを超えるかどうか、および/または(2)制御点動きベクトル(CPMV)差が閾値を超えるかどうかのいずれかに基づいて、カレントブロックに対してリファインした動き予測動作を行うかどうかを決定することを含むことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2300、および2600を含む特定の代表的実施形態において、これらの方法は、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、変換ユニット境界と一致するカレントブロックのサブブロックの1つまたは複数の境界に対して第1のデブロッキングフィルタを適用し、いずれの変換ユニット境界とも一致しないカレントブロックのサブブロックの他の境界に対して第2の異なるデブロッキングフィルタを適用することを含むことができる。たとえば、第1のデブロッキングフィルタは、第2のデブロッキングフィルタよりも強いデブロッキングフィルタとすることができる。
図24は、第8の代表的なエンコードおよび/またはデコード方法を示すフローチャートである。
図24を参照すると、ビデオを符号化および/またはデコードするための代表的な方法2400は、ブロック2410で、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、サブブロックベースの動き補償を実行して、粗い動き予測信号としてサブブロックベース動き予測信号を生成することを含むことができる。ブロック2420において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、カレントブロックのサブブロックの各それぞれの境界サンプルについて、囲んでいる参照サンプルとして、それぞれの境界サンプルに近接するサンプルに対応しサブブロックを囲む1つまたは複数の参照サンプルを決定することができ、囲んでいる参照サンプル、およびそれぞれの境界サンプルに近接するサブブロックのサンプルを使用して、それぞれの境界サンプルに関連付けられた1つまたは複数の空間勾配を決定することができる。ブロック2430において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サブブロックにおける各それぞれの非境界サンプルについて、それぞれの非境界サンプルに近接するサブブロックのサンプルを使用して、それぞれの非境界サンプルに関連付けられた1つまたは複数の空間勾配を決定することができる。ブロック2440において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サブブロックの決定された空間勾配を使用してカレントブロックにおけるピクセル毎の強度変化を計算することができる。ブロック2450において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、計算されたピクセル毎の強度変化に基づいて、リファインした動き予測信号としてピクセル毎ベースの動き予測信号を決定することができる。ブロック2460において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、カレントブロックの各サブブロックに関連付けられた粗い動き予測信号を使用して、およびカレントブロックの各ピクセルに関連付けられたリファインした動き予測信号を使用して、カレントブロックを予測することができる。特定の実施形態では、2410、2420、2430、2440、2450、および2460における動作は、ビデオにおける少なくとも1つのブロック(たとえばカレントブロック)に対して実行され得る。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2300、2400、および2600を含む特定の代表的実施形態では、境界サンプルおよび非境界サンプルの1つまたは複数の空間勾配の決定は(1)垂直ソーベルフィルタ、(2)水平ソーベルフィルタ、または(3)3タップフィルタのいずれかを使用して、1つまたは複数の空間勾配を計算することを含むことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2300、2400、および2600を含む特定の代表的実施形態では、これらの方法は、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、いかなるさらなる操作なしに、参照ストアから囲んでいる参照サンプルをコピーすることを含むことができ、それぞれの境界サンプルに関連付けられた1つまたは複数の空間勾配の決定は、コピーされた、囲んでいる参照サンプルを使用して、それぞれの境界サンプルに関連付けられた1つまたは複数の空間勾配を決定することができる。
図25は、代表的な勾配計算方法を示すフローチャートである。
図25を参照すると、(たとえば、ビデオをエンコードおよび/またはデコードすることに使用される)サブブロックの境界に近接するサンプルに対応する参照サンプルを使用してサブブロックの勾配を計算する代表的な方法2500は、ブロック2510で、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、カレントブロックのサブブロックの各それぞれの境界サンプルについて、囲んでいる参照サンプルとして、それぞれの境界サンプルに近接するサンプルに対応しサブブロックを囲む1つまたは複数の参照サンプルを決定すること、ならびに、囲んでいる参照サンプル、およびそれぞれの境界サンプルに近接するサブブロックのサンプルを使用して、それぞれの境界サンプルに関連付けられた1つまたは複数の空間勾配を決定することを含むことができる。ブロック2520において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サブブロックにおける各それぞれの非境界サンプルについて、それぞれの非境界サンプルに近接するサブブロックのサンプルを使用して、それぞれの非境界サンプルに関連付けられた1つまたは複数の空間勾配を決定することができる。特定の実施形態では、ブロック2510および2520における動作は、ビデオにおける少なくとも1つのブロック(たとえばカレントブロック)に対して実行され得る。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2300、2400、2500および2600を含む特定の代表的実施形態では、決定された1つまたは複数の空間勾配が、(1)オプティカルフローによる予測リファインメント(PROF)動作、(2)双方向オプティカルフロー動作、または(3)アフィン動き推定動作のいずれかによってカレントブロックを予測するのに使用され得る。
図26は、第9の代表的なエンコードおよび/またはデコード方法を示すフローチャートである。
図26を参照すると、ビデオを符号化および/またはデコードするための代表的な方法2600は、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、ビデオのカレントブロックについてのサブブロックベース動き予測信号を生成することを含むことができる。たとえば、カレントブロックは、複数のサブブロックを含むことができる。ブロック2620において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、カレントブロックの1つもしくは複数のそれぞれのサブブロックまたは各それぞれのサブブロックについて、サブブロックベース動き予測信号、およびそれぞれのサブブロックに接してそのサブブロックを囲む近接参照サンプルを使用して、拡張されたサブブロックを決定し、決定された拡張されたサブブロックを使用して、それぞれのサブブロックの空間勾配を決定することができる。ブロック2630において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、決定された空間勾配に基づいて、カレントブロックについての動き予測リファインメント信号を決定することができる。ブロック2640において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、サブブロックベース動き予測信号と動き予測リファインメント信号とを組み合わせて(たとえば、特に可算または減算して)、カレントブロックについてのリファインした動き予測信号を作成することができる。ブロック2650において、エンコーダー100または300は、カレントブロックについての予測として、リファインした動き予測信号を使用して、ビデオを符号化することができ、および/またはデコーダー200もしくは500は、カレントブロックについての予測として、リファインした動き予測信号を使用して、ビデオをデコードすることができる。特定の実施形態では、ブロック2610、2620、2630、2640および2650における動作は、ビデオにおける少なくとも1つのブロック(たとえばカレントブロック)に対して実行され得る。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態では、これらの方法は、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、いかなるさらなる操作なしに、参照ストアから近接参照サンプルをコピーすることを含むことができる。たとえば、それぞれのサブブロックの空間勾配の決定は、コピーされた近接参照サンプルを使用して、それぞれのサブブロックの境界上のサンプル位置に関連付けられた勾配値を決定することができる。拡張されたブロックの近接参照サンプルは、カレントブロックを含む参照ピクチャにおける最も近い整数ポジションからコピーされ得る。特定の例では、拡張されたブロックの近接参照サンプルは、元の精度から丸められた最も近い整数の動きベクトルを有する。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態では、これらの方法は、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、ビデオのカレントブロックについてのアフィン動きモデルパラメーターを決定して、決定されたアフィン動きモデルパラメーターを使用してサブブロックベース動き予測信号が生成され得るようにすることを含むことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2300、2500、および2600を含む特定の代表的実施形態では、それぞれのサブブロックの空間勾配の決定は、それぞれのサブブロックにおける各それぞれのサンプル位置についての少なくとも1つの勾配値を計算することを含むことができる。たとえば、それぞれのサブブロックにおける各それぞれのサンプル位置についての少なくとも1つの勾配値の計算は、各それぞれのサンプル位置について、それぞれのサブブロックにおけるそれぞれのサンプル位置に対して勾配フィルターを適用することを含むことができる。別の例として、それぞれのサブブロックにおける各それぞれのサンプル位置についての少なくとも1つの勾配値の計算は、オプティカルフロー式に従って、それぞれのサブブロックにおける各それぞれのサンプル位置について強度変化を決定することを含むことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態では、これらの方法は、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、それぞれのサブブロックのサンプル位置に関連付けられた動きベクトル差分値のセットを決定することを含むことができる。たとえば、カレントブロックについてアフィン動きモデルを使用して、サブブロックベース動き予測信号が生成されてよく、動きベクトル差分値のセットが決定されてよい。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態では、動きベクトル差分値のセットは、カレントブロックのそれぞれのサブブロックについて決定されてよく、カレントブロックの他の残りのサブブロックについての動き予測リファインメント信号を決定するために使用されてよい。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態では、それぞれのサブブロックの空間勾配の決定は、(1)垂直ソーベルフィルタ、(2)水平ソーベルフィルタ、および/または(3)3タップフィルタのいずれかを使用して空間勾配を計算することを含むことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態では、それぞれのサブブロックに接してそのサブブロックを囲む近接参照サンプルが、整数動き補償を使用することができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態では、それぞれのサブブロックの空間勾配は、水平勾配または垂直勾配のいずれかを含むことができる。たとえば、水平勾配は、それぞれのサンプルの右隣接サンプルとそれぞれのサンプルの左隣接サンプルとの間の輝度の差もしくは色差の差として計算されてよく、および/または垂直勾配は、それぞれのサンプルの下隣接サンプルとそれぞれのサンプルの上隣接サンプルとの間の輝度の差もしくは色差の差として計算されてよい。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態では、サブブロックベース動き予測信号は、(1)4パラメータアフィンモデル、(2)6パラメータアフィンモデル、(3)サブブロックベースの時間動きベクトル予測(SbTMVP)モード動き補償、または(3)回帰ベースの動き補償のいずれかを使用して生成され得る。たとえば、SbTMVPモード動き補償が実行されるという条件で、この方法は、線形回帰演算によって、サブブロック動きベクトルフィールドを使用してアフィンモデルパラメータを推定すること、および/または、推定されたアフィンモデルパラメータを使用してピクセルレベル動きベクトルを導出することを含むことができる。別の例として、RMVFモードベースの動き補償が実行されるという条件で、この方法は、アフィンモデルパラメータを推定すること、および/または、推定されたアフィンモデルパラメータを使用して、サブブロックレベル動きベクトルからのピクセルレベル動きベクトルオフセットを導出することを含むことができる。ピクセル動きベクトルオフセットは、それぞれのサブブロックの中心に対するものであってよい。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態では、それぞれのサブブロックについてのリファインした動き予測信号は、それぞれのサブブロックの実際の中心ポジションに基づくことができ、またはそれぞれのサブブロックの実際の中心に最も近いサンプル位置に基づくことができる。
たとえば、これらの方法は、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、各それぞれのサブブロックについての動き予測ベクトルに関連付けられた中心ポジションとして、(1)各それぞれのサブブロックの実際の中心、または(2)それぞれのサブブロックの実際の中心に最も近いサンプル位置のうちの一方を選択することを含むことができる。リファインした動き予測信号は、各サブブロックの選択された中心ポジションに基づくことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態では、これらの方法は、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、それぞれのサブブロックの色差ピクセルに関連付けられた中心ポジションを決定し、および色差ピクセルに関連付けられた色差位置サンプルタイプに基づいてそれぞれのサブブロックの色差ピクセルの中心ポジションに対するオフセットを決定することを含むことができる。それぞれのサブブロックについてのリファインした予測信号は、オフセットにより調整された色差ピクセルの決定された中心ポジションに対応するサブブロックの実際のポジションに基づくことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、および2600を含む特定の代表的実施形態では、エンコーダー100もしくは300は、(1)シーケンスパラメータセット(SPS)ヘッダ、(2)ピクチャパラメータセット(PPS)ヘッダ、もしくは(3)タイルグループヘッダのうちの1つにおいて、オプティカルフローによる予測リファインメント(PROF)が有効化されるかどうかを示す情報を生成し送信することができ、ならびに/またはデコーダー200もしくは500は、(1)SPSヘッダ、(2)PPSヘッダ、もしくは(3)タイルグループヘッダのうちの1つにおいて、PROFが有効化されるかどうかを示す情報を受信することができる。
図27は、第10の代表的なエンコードおよび/またはデコード方法を示すフローチャートである。
図27を参照すると、ビデオを符号化および/またはデコードするための代表的な方法2700は、ブロック2710で、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、カレントブロックの各それぞれのサブブロックの実際の中心ポジションを決定することを含むことができる。ブロック2720において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、カレントブロックの各それぞれのサブブロックの実際の中心ポジションを使用して、サブブロックベース動き予測信号またはリファインした動き予測信号を生成することができる。ブロック2730において、(1)エンコーダー100もしくは300は、カレントブロックについての予測として、サブブロックベース動き予測信号もしくは生成されたリファインした動き予測信号を使用して、ビデオを符号化することができ、または(2)デコーダー200もしくは500は、カレントブロックについての予測として、サブブロックベース動き予測信号もしくは生成されたリファインした動き予測信号を使用して、ビデオをデコードすることができる。特定の実施形態では、ブロック2710、2720、および2730における動作は、ビデオにおける少なくとも1つのブロック(たとえばカレントブロック)に対して実行され得る。たとえば、カレントブロックの各それぞれのサブブロックの実際の中心ポジションの決定は、色差ピクセルの色差位置サンプルタイプに基づいて、それぞれのサブブロックの色差ピクセルに関連付けられた色差の中心ポジション、およびそれぞれのサブブロックの中心ポジションに対する色差の中心ポジションのオフセットを決定することを含むことができる。それぞれのサブブロックについてのサブブロックベース動き予測信号またはリファインした動き予測信号は、オフセットによって調整された決定された色差の中心ポジションに対応する、それぞれのサブブロックの実際の中心ポジションに基づくことができる。カレントブロックの各それぞれのサブブロックの実際の中心が様々な動作のために決定/使用されるように説明されているが、そのようなサブブロックの中心ポジションの1つ、一部、または全部が決定/使用され得ることが企図される。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2600、2700、および2800を含む特定の代表的実施形態では、リファインした動き予測信号の生成は、カレントブロックの各それぞれのサブブロックについて、サブブロックベース動き予測信号の1つもしくは複数の空間勾配を決定すること、決定された空間勾配に基づいてカレントブロックについての動き予測リファインメント信号を決定すること、および/またはサブブロックベース動き予測信号と動き予測リファインメント信号とを組み合わせてカレントブロックについてのリファインした動き予測信号を作成することによって、サブブロックベース動き予測信号を使用することができる。たとえば、サブブロックベース動き予測信号の1つまたは複数の空間勾配の決定は、サブブロックベース動き予測信号、およびそれぞれのサブブロックに接してそのサブブロックを囲む近接参照サンプルを使用して、拡張されたサブブロックを決定すること、ならびに/または、決定された拡張されたサブブロックを使用して、それぞれのサブブロックの1つもしくは複数の空間勾配を決定することを含むことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2600、2700、および2800を含む特定の代表的実施形態では、それぞれのサブブロックの空間勾配の決定は、それぞれのサブブロックにおける各それぞれのサンプル位置についての少なくとも1つの勾配値を計算することを含むことができる。たとえば、それぞれのサブブロックにおける各それぞれのサンプル位置についての少なくとも1つの勾配値の計算は、各それぞれのサンプル位置について、それぞれのサブブロックにおけるそれぞれのサンプル位置に対して勾配フィルターを適用することを含むことができる。
別の例として、それぞれのサブブロックにおける各それぞれのサンプル位置についての少なくとも1つの勾配値の計算は、オプティカルフロー式に従って、それぞれのサブブロックにおける1つまたは複数のそれぞれのサンプル位置について強度変化を決定することを含むことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2600、2700、および2800を含む特定の代表的実施形態では、これらの方法は、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、それぞれのサブブロックのサンプル位置に関連付けられた動きベクトル差分値のセットを決定することを含むことができる。カレントブロックについてアフィン動きモデルを使用して、サブブロックベース動き予測信号が生成されてよく、動きベクトル差分値のセットが決定されてよい。特定の例では、動きベクトル差分値のセットは、カレントブロックのそれぞれのサブブロックについて決定されてよく、カレントブロックのそのサブブロックおよび他の残りのサブブロックについての動き予測リファインメント信号を決定するために使用(たとえば再利用)されてよい。たとえば、それぞれのサブブロックの空間勾配の決定は(1)垂直ソーベルフィルタ、(2)水平ソーベルフィルタ、および/または(3)3タップフィルタのいずれかを使用して、空間勾配を計算することを含むことができる。それぞれのサブブロックに接してそのサブブロックを囲む近接参照サンプルが、整数動き補償を使用することができる。
いくつかの実施形態では、それぞれのサブブロックの空間勾配は、水平勾配または垂直勾配のいずれかを含むことができる。たとえば、水平勾配は、それぞれのサンプルの右隣接サンプルとそれぞれのサンプルの左隣接サンプルとの間の輝度の差または色差の差として計算され得る。別の例として、垂直勾配は、それぞれのサブブロックの下隣接サンプルとそれぞれのサブブロックの上隣接サンプルとの間の輝度の差または色差の差として計算され得る。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2600、2700、および2800を含む特定の代表的実施形態では、サブブロックベース動き予測信号は、(1)4パラメータアフィンモデル、(2)6パラメータアフィンモデル、(3)サブブロックベースの時間動きベクトル予測(SbTMVP)モード動き補償、および/または(3)回帰ベースの動き補償のいずれかを使用して生成され得る。たとえば、SbTMVPモード動き補償が実行されるという条件で、この方法は、線形回帰演算によって、サブブロック動きベクトルフィールドを使用してアフィンモデルパラメータを推定すること、および/または、推定されたアフィンモデルパラメータを使用してピクセルレベル動きベクトルを導出することを含むことができる。別の例として、回帰動きベクトルフィールド(regression motion vector field:RMVF)モードベースの動き補償が実行されるという条件で、この方法は、アフィンモデルパラメータを推定すること、および/または、推定されたアフィンモデルパラメータを使用して、サブブロックレベル動きベクトルからのピクセルレベル動きベクトルオフセットを導出することを含むことができ、ここで、ピクセル動きベクトルオフセットは、それぞれのサブブロックの中心に対するものである。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2600、2700、および2800を含む特定の代表的実施形態では、リファインした動き予測信号は、カレントブロックの制御点に関連付けられた複数の動きベクトルを使用して生成され得る。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2600、2700、および2800を含む特定の代表的実施形態では、(1)シーケンスパラメータセット(SPS)ヘッダ、(2)ピクチャパラメータセット(PPS)ヘッダ、または(3)タイルグループヘッダのうちの1つにおいて、オプティカルフローによる予測リファインメント(PROF)が有効化されるかどうかを示す情報を、エンコーダー100または300は生成、符号化、および送信することができ、デコーダー200または500は受信およびデコードすることができる。
図28は、第11の代表的なエンコードおよび/またはデコード方法を示すフローチャートである。
図28を参照すると、ビデオを符号化および/またはデコードするための代表的な方法2800は、ブロック2810で、エンコーダー100もしくは300および/またはデコーダー200もしくは500が、各それぞれのサブブロックについての動き予測ベクトルに関連付けられた中心ポジションとして、(1)各それぞれのサブブロックの実際の中心、または(2)それぞれのサブブロックの実際の中心に最も近いサンプル位置のうちの一方を選択することを含むことができる。ブロック2820において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、カレントブロックの各それぞれのサブブロックの選択された中心ポジションを決定することができる。ブロック2830において、エンコーダー100もしくは300および/またはデコーダー200もしくは500は、カレントブロックの各それぞれのサブブロックの選択された中心ポジションを使用して、サブブロックベース動き予測信号またはリファインした動き予測信号を生成することができる。ブロック2840において、(1)エンコーダー100もしくは300は、カレントブロックについての予測として、サブブロックベース動き予測信号もしくは生成されたリファインした動き予測信号を使用して、ビデオを符号化することができ、または(2)デコーダー200もしくは500は、カレントブロックについての予測として、サブブロックベース動き予測信号もしくは生成されたリファインした動き予測信号を使用して、ビデオをデコードすることができる。特定の実施形態では、ブロック2810、2820、2830、および2840における動作は、ビデオにおける少なくとも1つのブロック(たとえばカレントブロック)に対して実行され得る。カレントブロックの各それぞれのサブブロックに関して中心ポジションの選択が説明されているが、そのようなサブブロックの中心ポジションの1つ、一部、または全部が様々な動作において選択/使用され得ることが企図される。
図29は、代表的なエンコード方法を示すフローチャートである。
図29を参照すると、ビデオを符号化するための代表的な方法2900は、ブロック2910で、エンコーダー100または300が、ビデオのカレントブロックについての動き推定を実行することを含むことができ、これを実行することは、反復動き補償動作を使用してカレントブロックについてのアフィン動きモデルパラメーターを決定することと、決定されたアフィン動きモデルパラメーターを使用してカレントブロックについてのサブブロックベース動き予測信号を生成することを含む。ブロック2920において、エンコーダー100または300は、カレントブロックについての動き推定を実行した後、オプティカルフローによる予測リファインメント(PROF)動作を実行して、リファインした動き予測信号を生成する。ブロック2930において、エンコーダー100または300は、カレントブロックについての予測として、リファインした動き予測信号を使用して、ビデオを符号化することができる。たとえば、PROF動作は、サブブロックベース動き予測信号の1つもしくは複数の空間勾配を決定すること、決定された空間勾配に基づいて、カレントブロックについての動き予測リファインメント信号を決定すること、および/またはサブブロックベース動き予測信号と動き予測リファインメント信号とを組み合わせて、カレントブロックについてのリファインした動き予測信号を作成することを含むことができる。
少なくとも代表的な方法1800、1850、1900、2000、2100、2200、2600、および2900を含む特定の代表的実施形態では、PROF動作は、反復動き補償動作が完了した後(たとえば、後のみ)に実行され得る。たとえば、カレントブロックについての動き推定中にはPROF動作が実行されない。
図30は、別の代表的なエンコード方法を示すフローチャートである。
図30を参照すると、ビデオを符号化するための代表的な方法3000は、ブロック3010で、エンコーダー100または300が、カレントブロックについての動き推定中に、反復動き補償動作を使用してアフィン動きモデルパラメーターを決定することと、決定されたアフィン動きモデルパラメーターを使用してサブブロックベース動き予測信号を生成することとを含むことができる。ブロック3020において、エンコーダー100または300は、カレントブロックについての動き推定の後、カレントブロックのサイズが閾値サイズを満たすまたは超えるという条件で、オプティカルフローによる予測リファインメント(PROF)動作を実行して、リファインした動き予測信号を生成することができる。ブロック3030において、エンコーダー100または300は、(1)カレントブロックが閾値サイズを満たすもしくは超えるという条件では、カレントブロックについての予測として、リファインした動き予測信号を使用して、または(2)カレントブロックが閾値サイズを満たさないという条件では、カレントブロックについての予測として、サブブロックベース動き予測信号を使用して、ビデオを符号化することができる。
図31は、第12の代表的なエンコード/デコード方法を示すフローチャートである。
図31を参照すると、ビデオを符号化および/またはデコードするための代表的な方法3100は、ブロック3110で、エンコーダー100もしくは300が、カレントブロックのサイズを示す情報を決定するもしくは取得すること、またはデコーダー200もしくは500が、カレントブロックのサイズを示す情報を受信することを含むことができる。ブロック3120において、エンコーダー100もしくは300またはデコーダー200もしくは500は、サブブロックベース動き予測信号を生成することができる。ブロック3130において、エンコーダー100もしくは300またはデコーダー200もしくは500は、カレントブロックのサイズが閾値サイズを満たすまたは超えるという条件で、オプティカルフローによる予測リファインメント(PROF)動作を実行して、リファインした動き予測信号を生成することができる。ブロック3140において、エンコーダー100もしくは300は、(1)カレントブロックが閾値サイズを満たすもしくは超えるという条件では、カレントブロックについての予測として、リファインした動き予測信号を使用して、または(2)カレントブロックが閾値サイズを満たさないという条件では、カレントブロックについての予測として、サブブロックベース動き予測信号を使用して、ビデオを符号化することができ、またはデコーダー200もしくは500は、(1)カレントブロックが閾値サイズを満たすもしくは超えるという条件では、カレントブロックについての予測として、リファインした動き予測信号を使用して、または(2)カレントブロックが閾値サイズを満たさないという条件では、カレントブロックについての予測として、サブブロックベース動き予測信号を使用して、ビデオをデコードすることができる。
図32は、第13の代表的なエンコード/デコード方法を示すフローチャートである。
図32を参照すると、ビデオを符号化および/またはデコードするための代表的な方法3200は、ブロック3210で、エンコーダー100もしくは300が、ピクセルレベル動き補償が実行されるべきかどうかを決定すること、またはデコーダー200もしくは500が、ピクセルレベル動き補償が実行されるべきかどうかを示すフラグを受信することを含むことができる。ブロック3220において、エンコーダー100もしくは300またはデコーダー200もしくは500は、サブブロックベース動き予測信号を生成することができる。ブロック3230において、ピクセルレベル動き補償が実行されるべきという条件で、エンコーダー100もしくは300またはデコーダー200もしくは500は、サブブロックベース動き予測信号の1つまたは複数の空間勾配を決定し、決定された空間勾配に基づいてカレントブロックについての動き予測リファインメント信号を決定し、サブブロックベース動き予測信号と動き予測リファインメント信号とを組み合わせてカレントブロックについてのリファインした動き予測信号を作成することができる。ブロック3240において、ピクセルレベル動き補償が実行されるべきかどうかの決定に従って、エンコーダー100もしくは300は、カレントブロックについての予測として、サブブロックベース動き予測信号もしくはリファインした動き予測信号を使用して、ビデオを符号化することができ、またはデコーダー200もしくは500は、フラグの表示に従って、カレントブロックについての予測として、サブブロックベース動き予測信号もしくはリファインした動き予測信号を使用して、ビデオをデコードすることができる。特定の実施形態では、ブロック3220および3230における動作は、ビデオにおけるブロック(たとえばカレントブロック)に対して実行され得る。
図33は、第14の代表的なエンコード/デコード方法を示すフローチャートである。
図33を参照すると、ビデオを符号化および/またはデコードするための代表的な方法3300は、ブロック3310で、第1の参照ピクチャおよび第2の参照ピクチャに関連付けられた1つまたは複数の重みを示すインター予測重み情報を、エンコーダー100もしくは300が決定するもしくは取得する、またはデコーダー200もしくは500が受信することを含むことができる。ブロック3320において、エンコーダー100もしくは300またはデコーダー200もしくは500は、ビデオのカレントブロックについて、サブブロックベース動きインター予測信号を生成することができ、第1の参照ピクチャに関連付けられた空間勾配の第1のセット、および第2の参照ピクチャに関連付けられた空間勾配の第2のセットを決定することができ、空間勾配の第1のセットおよび第2のセットならびにインター予測重み情報に基づいて、カレントブロックについての動きインター予測リファインメント信号を決定することができ、サブブロックベース動きインター予測信号と動きインター予測リファインメント信号とを組み合わせてカレントブロックについてのリファインした動きインター予測信号を作成することができる。ブロック3330において、エンコーダー100もしくは300は、カレントブロックについての予測として、リファインした動きインター予測信号を使用して、ビデオを符号化することができ、またはデコーダー200もしくは500は、カレントブロックについての予測として、リファインした動きインター予測信号を使用して、ビデオをデコードすることができる。たとえば、インター予測重み情報は、(1)第1の参照ピクチャに適用される第1の重み係数および/もしくは第2の参照ピクチャに適用される第2の重み係数を示すインジケータ、または(2)重みインデックスのいずれかである。特定の実施形態では、カレントブロックについての動きインター予測リファインメント信号は、(1)空間勾配の第1のセットから導出され、インター予測重み情報により示される第1の重み係数に従って重み付けされた第1の勾配値、および(2)空間勾配の第2のセットから導出され、インター予測重み情報により示される第2の重み係数に従って重み付けされた第2の勾配値に基づくことができる。
態様の実装のための例示的なネットワーク
図34Aは、1つまたは複数の開示される態様が実装され得る例示的な通信システム3400を示す図である。通信システム3400は、音声、データ、ビデオ、メッセージング、ブロードキャストなどのコンテンツを複数のワイヤレスユーザに提供する、多元接続システムとすることができる。通信システム3400は、複数のワイヤレスユーザが、ワイヤレス帯域幅を含むシステムリソースの共有を通じてそのようなコンテンツにアクセスすることを可能にし得る。たとえば、通信システム3400は、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交FDMA(OFDMA)、シングルキャリアFDMA(SC-FDMA)、ゼロテールユニークワードDFT拡散OFDM(ZT UW DTS-s OFDM)、ユニークワードOFDM(UW-OFDM)、リソースブロックフィルタードOFDM、フィルタバンクマルチキャリア(FBMC)など、1つまたは複数のチャネルアクセス方法を利用することができる。
図34Aに示されるように、通信システム3400は、ワイヤレス送信/受信ユニット(WTRU)3402a、3402b、3402c、3402d、RAN3404/3413、CN3406/3415、公衆交換電話網(PSTN)3408、インターネット3410、および他のネットワーク3412を含むことができるが、開示される態様は、任意の数のWTRU、基地局、ネットワーク、および/またはネットワーク要素を企図することが理解されよう。WTRU3402a、3402b、3402c、3402dのそれぞれは、ワイヤレス環境で動作および/または通信するように構成された任意のタイプのデバイスとすることができる。例として、WTRU3402a、3402b、3402c、3402dは、いずれも「局」および/または「STA」と呼ばれてよく、ワイヤレス信号を送信および/または受信するように構成されてよく、ユーザー機器(UE)、移動局、固定または移動加入者ユニット、加入ベースのユニット、ページャ、セルラ電話、携帯情報端末(PDA)、スマートフォン、ラップトップ、ネットブック、パーソナルコンピュータ、ワイヤレスセンサ、ホットスポットまたはMi-Fiデバイス、モノのインターネット(IoT)デバイス、時計または他のウェアラブル、ヘッドマウントディスプレイ(HMD)、乗り物、ドローン、医療デバイスおよびアプリケーション(たとえば遠隔手術)、産業用デバイスおよびアプリケーション(たとえば、産業用および/または自動処理チェーンコンテキストで動作するロボットおよび/または他のワイヤレスデバイス)、家庭用電子機器、商用および/または産業用ワイヤレスネットワーク上で動作するデバイスなどを含み得る。WTRU3402a、3402b、3402cおよび3402dはいずれも、交換可能にUEと呼ばれてよい。
通信システム3400は、基地局3414aおよび/または基地局3414bを含むこともできる。基地局3414a、3414bのそれぞれは、CN3406/3415、インターネット3410、および/またはネットワーク3412などの1つまたは複数の通信ネットワークへのアクセスを容易にするために、WTRU3402a、3402b、3402c、3402dのうちの少なくとも1つとワイヤレスでインターフェース接続するように構成された、任意のタイプのデバイスとすることができる。例として、基地局3414a、3414bは、トランシーバー基地局(BTS)、ノードB、eノードB(end)、ホームノードB(HNB)、ホームeノードB(HeNB)、gNB、NRノードB、サイトコントローラ、アクセスポイント(AP)、およびワイヤレスルータなどにすることができる。基地局3414a、3414bはそれぞれが単一の要素として示されているが、基地局3414a、3414bは、任意の数の相互接続された基地局および/またはネットワーク要素を含むことができることが理解されよう。
基地局3414aは、RAN3404/3413の一部とすることができ、RAN3404/3413は、基地局コントローラ(BSC)、無線ネットワークコントローラ(RNC)、中継ノードなど、他の基地局および/またはネットワーク要素(図示せず)を含むこともできる。基地局3414aおよび/または基地局3414bは、セル(図示せず)と呼ばれることがある1つまたは複数のキャリア周波数でワイヤレス信号を送信および/または受信するように構成され得る。これらの周波数は、認可スペクトル、無認可スペクトル、または認可スペクトルと無認可スペクトルとの組み合わせであってよい。セルは、比較的固定され得るまたは時間と共に変化し得る特定の地理的エリアに対するワイヤレスサービスのためのカバレージを提供することができる。セルは、さらにセルセクタに区分され得る。たとえば、基地局3414aに関連付けられたセルは、3つのセクタに区分され得る。したがって、一実施形態では、基地局3414aは、3つのトランシーバー、すなわちセルのセクタ毎に1つのトランシーバーを含むことができる。実施形態において、基地局3414aは、多入力多出力(MIMO)技術を利用することができ、セルのセクタ毎に複数のトランシーバーを利用することができる。たとえば、ビームフォーミングが、所望される空間方向で信号を送信および/または受信するために使用され得る。
基地局3414a、3414bは、エアインターフェース3416を介してWTRU3402a、3402b、3402c、3402dのうちの1つまたは複数と通信することができ、エアインターフェース3416は、任意の適切なワイヤレス通信リンク(たとえば、無線周波数(RF)、マイクロ波、センチメートル波、マイクロメートル波、赤外線(IR)、紫外線(UV)、可視光など)とすることができる。エアインターフェース3416は、任意の適切な無線アクセス技術(RAT)を使用して確立され得る。
より具体的には、上記されたように、通信システム3400は、多元接続システムとすることができ、CDMA、TDMA、FDMA、OFDMA、およびSC-FDMAなどの1つまたは複数のチャネルアクセス方式を利用することができる。たとえば、RAN3404/3413内の基地局3414a、およびWTRU3402a、3402b、3402cは、広帯域CDMA(WCDMA)を使用してエアインターフェース3415/3416/3417を確立できるユニバーサル移動体通信システム(UMTS)地上無線アクセス(UTRA)などの無線技術を実装することができる。WCDMAは、高速パケットアクセス(HSPA)および/または進化型HSPA(HSPA+)などの通信プロトコルを含むことができる。HSPAは、高速ダウンリンク(DL)パケットアクセス(HSDPA)および/または高速ULパケットアクセス(HSUPA)を含むことができる。
実施形態において、基地局3414a、およびWTRU3402a、3402b、3402cは、ロングタームエボリューション(LTE)および/またはLTEアドバンスト(LTE-A)および/またはLTEアドバンストプロ(LTE-A Pro)を使用してエアインターフェース3416を確立できる、進化型UMTS地上無線アクセス(E-UTRA)などの無線技術を実装することができる。
実施形態において、基地局3414aおよびWTRU3402a、3402b、3402cは、NewRadio(NR)を使用してエアインターフェース3416を確立できるNR無線アクセスなどの無線技術を実装することができる。
実施形態において、基地局3414aおよびWTRU3402a、3402b、3402cは、複数の無線アクセス技術を実装することができる。たとえば、基地局3414aおよびWTRU3402a、3402b、3402cは、たとえばデュアル接続性(DC)原理を使用して、LTE無線アクセスとNR無線アクセスを一緒に実装することができる。したがって、WTRU3402a、3402b、3402cによって利用されるエアインターフェースは、複数のタイプの無線アクセス技術、および/または複数のタイプの基地局(たとえば、endおよびgNB)へ/から送られる送信によって特徴付けられ得る。
他の実施形態では、基地局3414aおよびWTRU3402a、3402b、3402cは、IEEE802.11(すなわち、ワイヤレスフィデリティ(WiFi))、IEEE802.16(すなわち、マイクロ波アクセス用世界的相互運用(WiMAX))、CDMA2000、CDMA2000 1X、CDMA2000 EV-DO、暫定標準2000(IS-2000)、暫定標準95(IS-95)、暫定標準856(IS-856)、移動体通信用グローバルシステム(GSM)、GSMエボリューション用拡張データレート(EDGE)、およびGSM EDGE(GERAN)などの無線技術を実装することができる。
図34Aにおける基地局3414bは、たとえば、ワイヤレスルータ、ホームノードB、ホームeノードB、またはアクセスポイントとすることができ、職場、家庭、乗り物、キャンパス、産業施設、(たとえばドローンにより使用される)空中回廊、および車道などの局所的エリアにおけるワイヤレス接続性を容易にするために任意の適切なRATを利用することができる。一実施形態では、基地局3414bおよびWTRU3402c、3402dは、IEEE802.11などの無線技術を実装してワイヤレスローカルエリアネットワーク(WLAN)を確立することができる。実施形態において、基地局3414bおよびWTRU3402c、3402dは、IEEE802.15などの無線技術を実装してワイヤレスパーソナルエリアネットワーク(WPAN)を確立することができる。さらに別の実施形態では、基地局3414bおよびWTRU3402c、3402dは、セルラベースのRAT(たとえば、WCDMA、CDMA2000、GSM、LTE、LTE-A、LTE-A Pro、NRなど)を利用してピコセルまたはフェムトセルを確立することができる。図34Aに示されるように、基地局3414bは、インターネット3410への直接接続を有することができる。したがって、基地局3414bは、CN3406/3415を介してインターネット3410にアクセスすることを必要とされなくてよい。
RAN3404/3413は、CN3406/3415と通信することができ、CN3406/3415は、音声、データ、アプリケーション、および/またはボイスオーバインターネットプロトコル(VoIP)サービスをWTRU3402a、3402b、3402c、3402dのうちの1つまたは複数に提供するように構成された、任意のタイプのネットワークとすることができる。データは、異なるスループット要件、待ち時間要件、エラー許容要件、信頼性要件、データスループット要件、およびモビリティ要件などの様々なサービス品質(QoS)要件を有することがある。CN3406/3415は、呼制御、請求サービス、モバイルロケーションベースのサービス、プリペイド通話、インターネット接続性、ビデオ配信などを提供し、および/またはユーザー認証などの高レベルセキュリティ機能を実行することができる。図34Aに示されていないが、RAN1084/3413および/またはCN3406/3415は、RAN3404/3413と同じRATまたは異なるRATを利用する他のRANとの直接的または間接的な通信が可能であることが理解されよう。たとえば、NR無線技術を利用し得るRAN3404/3413に接続されるのに加えて、CN3406/3415は、GSM、UMTS、CDMA2000、WiMAX、E-UTRA、またはWiFi無線技術を利用する別のRAN(図示せず)と通信することもできる。
CN3406/3415は、PSTN3408、インターネット3410、および/または他のネットワーク3412にアクセスするWTRU3402a、3402b、3402c、3402dのためのゲートウェイの役割をすることもできる。PSTN3408は、基本電話サービス(POTS)を提供する回線交換電話網を含むことができる。インターネット3410は、TCP/IPインターネットプロトコルスイートにおける伝送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、および/またはインターネットプロトコル(IP)などの共通の通信プロトコルを使用する、相互接続されたコンピュータネットワークおよびデバイスのグローバルシステムを含むことができる。ネットワーク3412は、他のサービスプロバイダによって所有および/または運用される有線および/またはワイヤレス通信ネットワークを含むことができる。たとえば、ネットワーク3412は、RAN3404/3413と同じRATまたは異なるRATを利用できる1つまたは複数のRANに接続された別のCNを含むことができる。
通信システム3400におけるWTRU3402a、3402b、3402c、3402dの一部または全部は、マルチモード能力を含むことができる(たとえば、WTRU3402a、3402b、3402c、3402dは、異なるワイヤレスリンクを介して異なるワイヤレスネットワークと通信するための複数のトランシーバーを含むことができる)。たとえば、図34Aに示されているWTRU3402cは、セルラベースの無線技術を利用できる基地局3414a、およびIEEE802無線技術を利用できる基地局3414bと通信するように構成され得る。
図34Bは、例示的なWTRU3402を示すシステム図である。図34Bに示されるように、WTRU3402は、プロセッサー3418、トランシーバー3420、送信/受信要素3422、スピーカー/マイクロフォン3424、キーパッド3426、ディスプレイ/タッチパッド3428、着脱不能メモリー3430、着脱可能メモリー3432、電源3434、全地球測位システム(GPS)チップセット3436、および/または他の周辺機器3438などを含むことができる。WTRU3402は、実施形態との整合性を保ちながら、上記要素の任意の部分的組み合わせを含むことができることが理解されよう。
プロセッサー3418は、汎用プロセッサー、専用プロセッサー、従来のプロセッサー、デジタル信号プロセッサー(DSP)、複数のマイクロプロセッサ、DSPコアと関連した1つまたは複数のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)回路、任意の他のタイプの集積回路(IC)、および状態機械などとすることができる。プロセッサー3418は、信号符号化、データ処理、電力制御、入出力処理、および/またはWTRU3402がワイヤレス環境で動作するのを可能にする任意の他の機能性を実行することができる。プロセッサー3418はトランシーバー3420に結合されてよく、トランシーバー3420は送信/受信要素3422に結合されてよい。図34Bはプロセッサー3418とトランシーバー3420を別々のコンポーネントとして示しているが、プロセッサー3418とトランシーバー3420は電子パッケージまたはチップに一緒に統合されてよいことが理解されよう。プロセッサー3418は、ビデオ(たとえばビデオフレーム)を符号化またはデコードするように構成され得る。
送信/受信要素3422は、エアインターフェース3416を介して、基地局(たとえば基地局3414a)に信号を送信し、または基地局から信号を受信するように構成され得る。たとえば、一実施形態では、送信/受信要素3422は、RF信号を送信および/または受信するように構成されたアンテナとすることができる。実施形態において、送信/受信要素3422は、たとえば、IR、UV、または可視光信号を送信および/または受信するように構成されたエミッタ/検出器とすることができる。さらに別の実施形態では、送信/受信要素3422は、RF信号と光信号の両方を送信および/または受信するように構成され得る。送信/受信要素3422がワイヤレス信号の任意の組み合わせを送信および/または受信するように構成され得ることは理解されよう。
図34Bでは送信/受信要素3422は単一の要素として示されているが、WTRU3402は任意の数の送信/受信要素3422を含むことができる。より具体的には、WTRU3402はMIMO技術を利用することができる。したがって、一実施形態では、WTRU3402は、エアインターフェース3416を介してワイヤレス信号を送信および受信するための2つ以上の送信/受信要素3422(たとえば、複数のアンテナ)を含むことができる。
トランシーバー3420は、送信/受信要素3422によって送信される信号を変調し、送信/受信要素3422によって受信された信号を復調するように構成され得る。上記されたように、WTRU3402はマルチモード能力を有することができる。したがって、トランシーバー3420は、たとえば、NRおよびIEEE802.11などの複数のRATを介してWTRU3402が通信することを可能にするための複数のトランシーバーを含むことができる。
WTRU3402のプロセッサー3418は、スピーカー/マイクロフォン3424、キーパッド3426、および/またはディスプレイ/タッチパッド3428(たとえば、液晶表示(LCD)ディスプレイユニットもしくは有機発光ダイオード(OLED)表示ユニット)に結合されることができ、それらからユーザー入力データを受信することができる。プロセッサー3418は、スピーカー/マイクロフォン3424、キーパッド3426、および/またはディスプレイ/タッチパッド3428にユーザデータを出力することもできる。加えて、プロセッサー3418は、着脱不能メモリー3430および/または着脱可能メモリー3432などの任意のタイプの適切なメモリーからの情報にアクセスすることができ、それらにデータを記憶することができる。着脱不能メモリー3430は、ランダムアクセスメモリ(RAM)、読み出し専用メモリー(ROM)、ハードディスク、または任意の他のタイプのメモリストレージデバイスを含み得る。着脱可能メモリー3432は、加入者識別モジュール(SIM)カード、メモリスティック、およびセキュアデジタル(SD)メモリカードなどを含み得る。他の実施形態では、プロセッサー3418は、WTRU3402上に物理的に配置されずにサーバまたはホームコンピュータ(図示せず)上などにあるメモリーからの情報にアクセスすることができ、それらにデータを記憶することができる。
プロセッサー3418は、電源3434から電力を受け取ることができ、WTRU3402内の他のコンポーネントへの電力の分配および/または制御をするように構成され得る。電源3434は、WTRU3402に電力供給するための任意の適切なデバイスとすることができる。たとえば、電源3434は、1つまたは複数の乾電池(たとえば、ニッケル-カドミウム(NiCd)、ニッケル-亜鉛(NiZn)、ニッケル水素(NiMH)、リチウムイオン(Li-ion)など)、太陽電池、および燃料電池などを含むことができる。
プロセッサー3418は、GPSチップセット3436に結合されてもよく、GPSチップセット3436は、WTRU3402の現在の位置に関する位置情報(たとえば、経度および緯度)を提供するように構成され得る。GPSチップセット3436からの情報に加えてまたは代えて、WTRU3402は、基地局(たとえば、基地局3414a、3414b)からエアインターフェース3416を介して位置情報を受信し、および/または2つ以上の近くの基地局から受信された信号のタイミングに基づいてその位置を決定することができる。WTRU3402は、実施形態との整合性を保ちながら、任意の適切な位置決定方法によって位置情報を獲得できることが理解されよう。
プロセッサー3418は、他の周辺機器3438にさらに結合されてよく、他の周辺機器3438は、追加的な特徴、機能性、および/または有線もしくはワイヤレス接続性を提供する1つまたは複数のソフトウェアおよび/またはハードウェアモジュールを含むことができる。たとえば、周辺機器3438は、加速度計、電子コンパス、衛星トランシーバー、(写真および/またはビデオ用)デジタルカメラ、ユニバーサルシリアルバス(USB)ポート、振動デバイス、テレビトランシーバ、ハンズフリーヘッドセット、Bluetooth(登録商標)モジュール、周波数変調(FM)無線ユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ、バーチャルリアリティおよび/または拡張現実(VR/AR)デバイス、ならびにアクティビティトラッカなどを含み得る。周辺機器3438は、1つまたは複数のセンサを含んでよく、センサは、ジャイロスコープ、加速度計、ホール効果センサ、磁力計、方位センサ、近接センサ、温度センサ、時間センサ、地理位置センサ、高度計、光センサ、タッチセンサ、磁力計、気圧計、ジェスチャセンサ、バイオメトリックセンサ、および/または湿度センサのうちの1つまたは複数であってよい。
WTRU3402のプロセッサー3418は、本明細書に開示されている代表的実施形態を実装するために、たとえば、1つもしくは複数の加速度計、1つもしくは複数のジャイロスコープ、USBポート、他の通信インターフェース/ポート、ディスプレイ、および/または他の視覚/音声インジケータのいずれかを含む様々な周辺機器3438と動作可能に通信することができる。
WTRU3402は、全二重無線を含んでよく、全二重無線では、(たとえば、UL(たとえば送信用)とダウンリンク(たとえば受信用)の両方についての特定のサブフレームに関連付けられた信号の一部または全部の送信および受信が、並列および/または同時であり得る。全二重無線は、ハードウェア(たとえばチョーク)またはプロセッサー(たとえば、別個のプロセッサ(図示せず)もしくはプロセッサー3418)による信号処理を介して自己干渉を減らすまたは実質的に除去するための干渉管理ユニットを含み得る。実施形態において、WTRU3402は、(たとえば、UL(たとえば送信用)またはダウンリンク(たとえば受信用)のいずれかについての特定のサブフレームに関連付けられた)信号の一部または全部の送信および受信のための半二重無線を含んでよい。
図34Cは、態様に係るRAN104およびCN3406を示すシステム図である。上記されたように、RAN3404は、E-UTRA無線技術を利用して、エアインターフェース3416を介してWTRU3402a、3402b、3402cと通信することができる。RAN3404はCN3406と通信することもできる。
RAN3404はeノードB3460a、3460b、3460cを含むことができるが、RAN3404は、実施形態との整合性を保ちながら、任意の数のeノードBを含むことができることが理解されよう。eノードB3460a、3460b、3460cはそれぞれが、エアインターフェース3416を介してWTRU3402a、3402b、3402cと通信するための1つまたは複数のトランシーバーを含むことができる。一実施形態では、eノードB3460a、3460b、3460cはMIMO技術を実装することができる。したがって、eノードB3460aは、たとえば、複数のアンテナを使用して、WTRU3402aにワイヤレス信号を送信し、および/またはWTRU3402aからワイヤレス信号を受信することができる。
eノードB3460a、3460b、3460cのそれぞれは、特定のセル(図示せず)に関連付けられてよく、無線リソース管理決定、ハンドオーバ決定、ならびにULおよび/またはDLにおけるユーザーのスケジューリングなどを処理するように構成され得る。図34Cに示されるように、eノードB3460a、3460b、3460cはX2インターフェースを介して互いに通信することができる。
図34Cに示されるCN3406は、モビリティ管理エンティティ(MME)3462、サービングゲートウェイ(SGW)3464、およびパケットデータネットワーク(PDN)ゲートウェイ(またはPGW)3466を含むことができる。上記の要素のそれぞれはCN3406の部分として示されているが、これらの要素のいずれも、CNオペレータとは異なるエンティティによって所有および/または運用され得ることが理解されよう。
MME3462は、S1インターフェースを介してRAN3404内のeノードB3460a、3460b、3460cのそれぞれに接続されてよく、制御ノードの役割をすることができる。たとえば、MME3462は、WTRU3402a、3402b、3402cのユーザーを認証すること、ベアラアクティブ化/非アクティブ化、およびWTRU3402a、3402b、3402cの初期アタッチ中に特定のサービングゲートウェイを選択することなどを担当することができる。MME3462は、RAN3404と、GSMおよび/またはWCDMAなど他の無線技術を利用する他のRAN(図示せず)との間の切り替えのための制御プレーン機能を提供することができる。
SGW3464は、S1インターフェースを介してRAN104内のeノードB3460a、3460b、3460cのそれぞれに接続され得る。SGW3464は一般に、WTRU3402a、3402b、3402cへ/からのユーザデータパケットをルーティングおよび転送することができる。SGW3464は、eノードB間ハンドオーバ中にユーザプレーンをアンカリングすること、DLデータがWTRU3402a、3402b、3402cに利用可能なときにページングをトリガすること、ならびにWTRU3402a、3402b、3402cのコンテキストを管理および記憶することなど、他の機能を実行することもできる。
SGW3464は、PGW3466に接続されてよく、PGW3466は、インターネット3410などのパケット交換ネットワークへのアクセスをWTRU3402a、3402b、3402cに提供して、WTRU3402a、3402b、3402cとIP対応デバイスとの間の通信を容易にすることができる。
CN3406は、他のネットワークとの通信を容易にすることができる。たとえば、CN106は、PSTN3408などの回線交換ネットワークへのアクセスをWTRU3402a、3402b、3402cに提供して、WTRU3402a、3402b、3402cと従来の陸線通信デバイスとの間の通信を容易にすることができる。たとえば、CN3406は、CN3406とPSTN3408との間のインターフェースとしての役割をするIPゲートウェイ(たとえば、IPマルチメディアサブシステム(IMS)サーバ)を含むことができ、またはそのようなIPゲートウェイと通信することができる。加えて、CN3406は、他のネットワーク3412へのアクセスをWTRU3402a、3402b、3402cに提供することができ、他のネットワーク3412は、他のサービスプロバイダによって所有および/または運用される他の有線および/またはワイヤレスネットワークを含むことができる。
図34A~図34DではWTRUがワイヤレス端末として説明されているが、特定の代表的実施形態では、そのような端末は、通信ネットワークとの有線通信インターフェースを(たとえば、一時的または永続的に)使用し得ることが企図される。
代表的実施形態において、他のネットワーク3412はWLANであってよい。
インフラストラクチャ基本サービスセット(BSS)モードにおけるWLANは、BSS用のアクセスポイント(AP)、およびAPに関連付けられた1つまたは複数の局(STA)を有することができる。APは、BSS内および/または外へのトラフィックを搬送する配信システム(DS)または別のタイプの有線/ワイヤレスネットワークへのアクセスまたはインターフェースを有することができる。BSSの外部から生じるSTAへのトラフィックは、APを介して到着してよく、STAに送達されてよい。BSSの外部の宛先に向けてSTAから生じるトラフィックは、APに送られてそれぞれの宛先に送達されてよい。BSS内のSTAの間のトラフィックは、APを通して送られてよく、たとえば、ソースSTAはAPにトラフィックを送ることができ、APは宛先STAにトラフィックを送達することができる。BSS内のSTAの間のトラフィックは、ピアツーピアトラフィックと見なされ、および/または称されることがある。ピアツーピアトラフィックは、ダイレクトリンクセットアップ(DLS)を用いてソースSTAと宛先STAとの間で(たとえば、間で直接)送られてよい。特定の代表的実施形態では、DLSは、802.11e DLSまたは802.11zトンネルDLS(TDLS)を使用してよい。独立BSS(IBSS)モードを使用するWLANはAPを有しなくてよく、IBSS内のまたはIBSSを使用するSTA(たとえば、STAの全て)は互いに直接通信してよい。IBSS通信モードは、本明細書では「アドホック」通信モードと呼ばれることがあり得る。
802.11acインフラストラクチャ動作モードまたは同様の動作モードを使用するとき、APは、一次チャネルなどの固定チャネル上でビーコンを送信することができる。一次チャネルは、固定された幅(たとえば、20MHz幅の帯域幅)、またはシグナリングを介して動的に設定された幅であり得る。一次チャネルは、BSSの動作チャネルであってよく、APとの接続を確立するためにSTAによって使用されてよい。特定の代表的実施形態では、キャリア検知多重アクセス/衝突回避(CSMA/CA)が、たとえば802.11システムにおいて実装され得る。CSMA/CAでは、APを含むSTA(たとえば、全てのSTA)が一次チャネルを感知することができる。特定のSTAによって一次チャネルが感知/検出されおよび/またはビジーであると決定される場合、特定のSTAはバックオフしてよい。1つのSTA(たとえば、単一の局)は、所与のBSSにおいて任意の所与の時間に送信をしてよい。
高スループット(HT)のSTAは、40MHz幅チャネルを形成するために、たとえば、隣り合ったまたは隣り合っていない20MHzチャネルと一次20MHzチャネルの組み合わせを用いて、通信用に40MHz幅チャネルを使用することができる。
超高スループット(VHT)のSTAは、20MHz、40MHz、80MHz、および/または160MHz幅チャネルをサポートすることができる。40MHzおよび/または80MHzチャネルは、連続する20MHzチャネルを組み合わせることによって形成され得る。160MHzチャネルは、8つの連続する20MHzチャネルを組み合わせることによって、または80+80構成と呼ばれることがある2つの連続していない80MHzチャネルを組み合わせることによって形成され得る。80+80構成では、データは、チャネルエンコード後に、2つのストリームにデータを区分できるセグメントパーサを通して渡されてよい。逆高速フーリエ変換(IFFT)処理と時間領域処理とが各ストリームで別々に行われてよい。ストリームは、2つの80MHzチャネル上にマッピングされてよく、データは、送信STAによって送信されてよい。受信STAの受信機では、80+80構成について上述された動作が逆にされてよく、組み合わされたデータが媒体アクセス制御(MAC)に送られてよい。
サブ1GHz動作モードが802.11afおよび802.11ahによってサポートされる。チャネル動作帯域幅およびキャリアは、802.11nおよび802.11acで使用されるものと比べて802.11afおよび802.11ahにて減らされる。802.11afは、TVホワイトスペース(TVWS)スペクトル中の5MHz、10MHz、および20MHz帯域幅をサポートし、802.11ahは、非TVWSスペクトルを使用して1MHz、2MHz、4MHz、8MHz、および16MHz帯域幅をサポートする。代表的実施形態によれば、802.11ahは、マクロカバレージエリア内のMTCデバイスなどのメータタイプ制御/マシンタイプ通信をサポートすることができる。MTCデバイスは、特定の能力、たとえば、特定および/または限定された帯域幅のサポート(たとえば、それのみのサポート)を含む限定された能力を有してよい。MTCデバイスは、(たとえば、非常に長いバッテリ寿命を維持するために)閾値を上回るバッテリ寿命を有するバッテリを含んでよい。
802.11n、802.11ac、802.11af、および802.11ahなどの複数のチャネルおよびチャネル帯域幅をサポートし得る、WLANシステムは、一次チャネルとして指定され得るチャネルを含む。一次チャネルは、BSSにおける全てのSTAによってサポートされる最大の共通動作帯域幅に等しい帯域幅を有し得る。一次チャネルの帯域幅は、BSSにおいて動作している全てのSTAのうちから最小の帯域幅動作モードをサポートするSTAによって、設定および/または限定され得る。802.11ahの例では、AP、およびBSSにおける他のSTAが、2MHz、4MHz、8MHz、16MHz、および/または他のチャネル帯域幅動作モードをサポートする場合でも、一次チャネルは、1MHzモードをサポートする(たとえば、それのみをサポートする)STA(たとえば、MTCタイプデバイス)に対して1MHz幅であり得る。キャリア検知および/またはネットワーク割り当てベクトル(NAV)設定は、一次チャネルのステータスに依存し得る。たとえば、APに送信をする(1MHz動作モードのみをサポートする)STAにより、一次チャネルがビジーである場合、周波数帯域の大部分がアイドル状態のままで利用可能であり得る場合でも、利用可能な周波数帯域全体がビジーであると見なされ得る。
米国では、802.11ahによって使用され得る利用可能な周波数帯域は、902MHzから928MHzである。韓国では、利用可能な周波数帯域は、917.5MHzから923.5MHzである。日本では、利用可能な周波数帯域は、916.5MHzから927.5MHzである。802.11ahに利用可能な全帯域幅は、国コードに応じて6MHzから26MHzである。
図34Dは、態様に係るRAN3413およびCN3415を示すシステム図である。上記されたように、RAN3413は、NR無線技術を利用して、エアインターフェース3416を介してWTRU3402a、3402b、3402cと通信することができる。RAN3413はCN3415と通信することもできる。
RAN3413はgNB3480a、3480b、3480cを含むことができるが、RAN3413は、実施形態との整合性を保ちながら、任意の数のgNBを含むことができることが理解されよう。gNB3480a、3480b、3480cはそれぞれが、エアインターフェース3416を介してWTRU3402a、3402b、3402cと通信するための1つまたは複数のトランシーバーを含むことができる。一実施形態では、gNB3480a、3480b、3480cはMIMO技術を実装することができる。たとえば、gNB3480a、3480bは、ビームフォーミングを利用して、gNB3480a、3480b、3480cに信号を送信し、および/またはgNB3480a、3480b、3480cから信号を受信することができる。したがって、gNB3480aは、たとえば、複数のアンテナを使用して、WTRU3402aにワイヤレス信号を送信し、および/またはWTRU3402aからワイヤレス信号を受信することができる。実施形態において、gNB3480a、3480b、3480cはキャリアアグリゲーション技術を実装することができる。たとえば、gNB3480aは、複数のコンポーネントキャリアをWTRU3402aに送信することができる(図示せず)。これらのコンポーネントキャリアのサブセットは無認可スペクトル上にあり得る一方、残りのコンポーネントキャリアは認可スペクトル上にあり得る。実施形態において、gNB3480a、3480b、3480cは、協調マルチポイント(CoMP)技術を実装することができる。たとえば、WTRU102aは、gNB3480aおよびgNB3480b(および/またはgNB3480c)から、協調された送信を受信することができる。
WTRU3402a、3402b、3402cは、スケーラブルなヌメロロジに関連付けられた送信を使用してgNB480a、3480b、3480cと通信することができる。たとえば、OFDMシンボル間隔および/またはOFDMサブキャリア間隔は、異なる送信、異なるセル、および/またはワイヤレス送信スペクトルの異なる部分によって変動し得る。WTRU3402a、3402b、3402cは、(たとえば、様々な数のOFDMシンボルを含む、および/または様々な長さの絶対時間を通して続く)様々またはスケーラブルな長さのサブフレームまたは送信時間間隔(TTI)を使用して、gNB3480a、3480b、3480cと通信することができる。
gNB3480a、3480b、3480cは、スタンドアロン構成および/または非スタンドアロン構成のWTRU3402a、3402b、3402cと通信するように構成され得る。スタンドアロン構成では、WTRU3402a、3402b、3402cは、他のRAN(たとえば、eノードB3460a、3460b、3460cなど)にはアクセスすることなくgNB3480a、3480b、3480cと通信し得る。スタンドアロン構成では、WTRU3402a、3402b、3402cは、gNB3480a、3480b、3480cのうちの1つまたは複数をモビリティアンカーポイントとして利用し得る。スタンドアロン構成では、WTRU3402a、3402b、3402cは、無認可帯域において信号を使用してgNB3480a、3480b、3480cと通信し得る。非スタンドアロン構成では、WTRU3402a、3402b、3402cは、eノードB3460a、3460b、3460cなどの別のRANとも通信/接続しながら、gNB3480a、3480b、3480cと通信/接続し得る。たとえば、WTRU3402a、3402b、3402cは、実質的に同時に1つまたは複数のgNB3480a、3480b、3480cおよび1つまたは複数のeノードB3460a、3460b、3460cと通信するためにDC原理を実装することができる。非スタンドアロン構成では、eノードB3460a、3460b、3460cは、WTRU3402a、3402b、3402cのためのモビリティアンカーの役割をすることができ、gNB3480a、3480b、3480cは、WTRU3402a、3402b、3402cにサービスするための追加のカバレージおよび/またはスループットを提供することができる。
gNB3480a、3480b、3480cのそれぞれは、特定のセル(図示せず)に関連付けられてよく、無線リソース管理決定、ハンドオーバ決定、ULおよび/またはDLにおけるユーザーのスケジューリング、ネットワークスライシングのサポート、デュアル接続性、NRとE-UTRAとの間のインターワーキング、ユーザプレーン機能(UPF)3484a、3484bに向けたユーザプレーンデータのルーティング、ならびにアクセスおよびモビリティ管理機能(AMF)3482a、3482bに向けた制御プレーン情報のルーティングなどを処理するように構成され得る。図34Dに示されるように、gNB3480a、3480b、3480cは、Xnインターフェースを介して互いと通信することができる。
図34Dに示されるCN3415は、少なくとも1つのAMF3482a、3482b、少なくとも1つのUPF3484a、3484b、少なくとも1つのセッション管理機能(SMF)3483a、3483b、および場合によってはデータネットワーク(DN)3485a、3485bを含むことができる。上記の要素のそれぞれがCN3415の一部として示されているが、これらの要素のいずれも、CNオペレータとは異なるエンティティによって所有および/または運用され得ることが理解されよう。
AMF3482a、3482bは、N2インターフェースを介してRAN3413内のgNB3480a、3480b、3480cのうちの1つまたは複数に接続されてよく、制御ノードの役割をすることができる。たとえば、AMF3482a、3482bは、WTRU3402a、3402b、3402cのユーザーを認証すること、ネットワークスライシング(たとえば、異なる要件を有する異なるプロトコルデータユニット(PDU)セッションの処理)のサポート、特定のSMF3483a、3483bを選択すること、登録エリアの管理、非アクセス層(NAS)シグナリングの終了、モビリティ管理などを担当することができる。ネットワークスライシングは、WTRU3402a、3402b、3402cに利用されているサービスのタイプに基づいてWTRU3402a、3402b、3402cのCNサポートをカスタマイズするために、AMF3482a、3482bによって使用され得る。たとえば、超高信頼低遅延通信(URLLC)アクセスに依存するサービス、拡張モバイル(たとえば大容量モバイル)ブロードバンド(eMBB)アクセスに依存するサービス、および/またはマシンタイプ通信(MTC)アクセスのサービスなどの異なる使用事例のために、異なるネットワークスライスが確立され得る。AMF3462は、RAN3413と、LTE、LTE-A、LTE-A Pro、および/またはWiFiなどの非3GPPアクセス技術など他の無線技術を利用する他のRAN(図示せず)との間の切り替えのための制御プレーン機能を提供することができる。
SMF3483a、3483bは、N11インターフェースを介してCN3415におけるAMF3482a、3482bに接続され得る。SMF3483a、3483bは、N4インターフェースを介してCN3415におけるUPF3484a、3484bにも接続され得る。SMF3483a、3483bは、UPF3484a、3484bを選択および制御し、UPF3484a、3484bを介してトラフィックのルーティングを構成することができる。SMF3483a、3483bは、UE IPアドレスを管理し割り当てること、PDUセッションを管理すること、ポリシー実施およびQoSを制御すること、ダウンリンクデータ通知を提供することなど、他の機能を実行することができる。PDUセッションタイプは、IPベース、非IPベース、イーサネットベースなどであり得る。
UPF3484a、3484bは、N3インターフェースを介してRAN3413内のgNB3480a、3480b、3480cのうちの1つまたは複数に接続されてよく、それは、インターネット3410などのパケット交換ネットワークへのアクセスをWTRU3402a、3402b、3402cに提供して、WTRU3402a、3402b、3402cとIP対応デバイスとの間の通信を容易にすることができる。UPF3484、3484bは、パケットをルーティングおよび転送すること、ユーザプレーンポリシーを実施すること、マルチホームPDUセッションをサポートすること、ユーザプレーンQoSを処理すること、ダウンリンクパケットをバッファリングすること、モビリティアンカリングを提供することなど、他の機能を実行することができる。
CN3415は、他のネットワークとの通信を容易にすることができる。たとえば、CN3415は、CN3415とPSTN408との間のインターフェースの役割をするIPゲートウェイ(たとえば、IPマルチメディアサブシステム(IMS)サーバ)を含むことができ、またはそのようなIPゲートウェイと通信することができる。加えて、CN3415は、他のネットワーク3412へのアクセスをWTRU3402a、3402b、3402ccに提供することができ、他のネットワーク3412は、他のサービスプロバイダによって所有および/または運用される他の有線および/またはワイヤレスネットワークを含むことができる。一実施形態では、WTRU3402a、3402b、3402cは、UPF3484a、3484bへのN3インターフェース、ならびにUPF3484a、3484bとDN3485a、3485bとの間のN6インターフェースを介して、UPF3484a、3484bを通してローカルデータネットワーク(DN)3485a、3485bに接続され得る。
図34A~34D、および図34A~34Dの対応する説明に鑑みて、WTRU3402a~d、基地局3414a~b、eノードB3460a~c、MME3462、SGW3464、PGW3466、gNB3480a~c、AMF3482a~b、UPF3484a~b、SMF3483a~b、DN3485a~b、および/または本明細書に記載された任意の他のデバイスのうちの1つまたは複数に関して本明細書に記載された機能のうちの1つもしくは複数または全ては、1つまたは複数のエミュレーションデバイス(図示せず)によって実行されることがある。エミュレーションデバイスは、本明細書に記載された機能のうちの1つもしくは複数または全てをエミュレートするように構成された1つまたは複数のデバイスであり得る。たとえば、エミュレーションデバイスは、他のデバイスをテストする、ならびに/またはネットワークおよび/もしくはWTRU機能をシミュレートするために使用され得る。
エミュレーションデバイスは、ラボ環境および/またはオペレータネットワーク環境において他のデバイスの1つまたは複数のテストを実施するように設計され得る。たとえば、1つまたは複数のエミュレーションデバイスは、通信ネットワーク内の他のデバイスをテストするために、有線および/またはワイヤレス通信ネットワークの一部として完全または部分的に実装および/または展開されながら、1つもしくは複数または全ての機能を実行してよい。1つまたは複数のエミュレーションデバイスは、有線および/またはワイヤレス通信ネットワークの一部として一時的に実装/展開されながら、1つもしくは複数または全ての機能を実行してよい。エミュレーションデバイスは、テストのために別のデバイスに直接結合されてよく、および/または無線のワイヤレス通信を使用してテストを実行してよい。
1つまたは複数のエミュレーションデバイスは、有線および/またはワイヤレス通信ネットワークの一部として実装/展開されずに、全てを含む1つまたは複数の機能を実行してよい。たとえば、エミュレーションデバイスは、1つまたは複数のコンポーネントのテストを実施するために、試験所ならびに/または展開されていない(たとえばテスト)有線および/もしくはワイヤレス通信ネットワークにおいてテストシナリオで利用されてよい。1つまたは複数のエミュレーションデバイスは試験装置であり得る。直接RF結合、および/または(たとえば、1つもしくは複数のアンテナを含み得る)RF回路を介したワイヤレス通信が、データを送信および/または受信するためにエミュレーションデバイスによって使用され得る。
HEVC規格は、従来のビデオ符号化規格H.264/MPEG AVCと比較して、同等の知覚品質で約50%のビットレートを節約する。HEVC規格は、その前身に対して大幅な符号化の向上を提供するが、追加の符号化ツールを用いて、さらなる符号化効率向上が達成され得る。共同ビデオ探索チーム(Joint Video Exploration Team:JVET)は、たとえば、そのような符号化効率向上を提供するために、多用途ビデオ符号化(Versatile Video Coding:VVC)と呼ばれる新世代ビデオ符号化規格を開発するプロジェクトを開始し、VVC規格のリファレンス実装を実証するためにVVCテストモデル(VTM)と呼ばれるリファレンスソフトウェアコードベースが確立された。新しい符号化ツールの評価を容易にするために、ベンチマークセット(benchmark set:BMS)と呼ばれる別のリファレンスソフトウェアベースも作成された。BMSコードベースでは、より高い符号化効率と中程度の実装の複雑さとを提供する追加の符号化ツールのリストがVTMに加えて含まれ、VVC標準化プロセスにおいて同様の符号化技術を評価する際のベンチマークとして使用される。BMS-2.0に統合されたJEM符号化ツール(たとえば、4×4非分離二次変換(non-separable secondary transform:NSST)、一般化された双方向予測(generalized bi-prediction:GBi)、双方向オプティカルフロー(BIO)、デコーダー側動きベクトルリファインメント(decoder-side motion vector refinement:DMVR)、およびカレントピクチャ参照(current picture referencing:CPR)の他にトレリス符号化の量子化ツールを含む。
代表的実施形態によるデータを処理するためのシステムおよび方法は、メモリデバイスに含まれる命令のシーケンスを実行する1つまたは複数のプロセッサーによって実行され得る。そのような命令は、二次データストレージデバイスのような他のコンピュータ可読媒体からメモリデバイスへ読み込まれてよい。メモリデバイスに含まれる命令のシーケンスの実行が、たとえば上述されたように、プロセッサーを動作させる。代替実施形態では、1つまたは複数の実施形態を実装するために、ハードワイヤ回路がソフトウェア命令の代わりにまたはソフトウェア命令と組み合わせて使用され得る。そのようなソフトウェアは、ロボット支援/装置(RAA)内および/または遠隔で別のモバイルデバイス内に収容されたプロセッサー上で動作することができる。後者の場合、データは、センサを含むRAAまたは他のモバイルデバイスと、上述されたようにスケール推定および補償を行うソフトウェアを実行するプロセッサーを含む遠隔デバイスとの間で、有線またはワイヤレスで転送されてよい。他の代表的実施形態によれば、位置特定に関して上述された処理の一部は、センサ/カメラを含むデバイスで実行されてよく、一方、処理の残りは、第2のデバイスで、センサ/カメラを含むデバイスから部分的に処理されたデータを受信した後に実行されてよい。
特徴および要素が特定の組み合わせで上記に説明されているが、各特徴または要素は、単独でまたは他の特徴および要素との任意の組み合わせで使用されることが可能であることが当業者には理解されよう。また、本明細書に記載された方法は、コンピュータまたはプロセッサーによって実行するためのコンピュータ可読媒体に組み込まれたコンピュータプログラム、ソフトウェア、またはファームウェアで実装され得る。非一時的なコンピュータ可読記憶媒体の例は、読み出し専用メモリー(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスクおよび着脱可能ディスクなどの磁気媒体、光磁気媒体、ならびにCD-ROMディスクおよびデジタル多用途ディスク(DVD)などの光媒体を含むが、これらに限定されない。ソフトウェアと関連するプロセッサーは、WTRU3402、UE、端末、基地局、RNC、または任意のホストコンピュータで使用するための無線周波数トランシーバーを実装するために使用され得る。
さらに、上述された実施形態において、処理プラットフォーム、コンピューティングシステム、コントローラ、およびプロセッサーを含む他のデバイスが言及される。これらのデバイスは、少なくとも1つの中央処理装置(「CPU」)およびメモリーを含み得る。コンピュータプログラミング分野の当業者の実務に従って、動作および演算または命令の記号表現への参照が様々なCPUおよびメモリーによって実行され得る。そのような動作および演算または命令は、「実行」、「コンピュータで実行」、または「CPUで実行」されているものとして参照され得る。
動作および記号で表現された演算または命令が、CPUによる電気信号の操作を含むことは、当業者には理解されよう。電気システムは、電気信号の結果的な変換または削減をもたらすことが可能であるデータビット、およびメモリシステム内のメモリー位置におけるデータビットの維持を表し、それにより、CPUの演算および他の信号の処理を再構成しまたは別の方法で変更する。データビットが維持されるメモリー位置は、データビットに対応しまたはデータビットを表す特定の電気特性、磁気特性、光特性、または有機特性を有する物理的位置である。代表的実施形態が上述されたプラットフォームまたはCPUに限定されないこと、ならびに提供された方法を他のプラットフォームおよびCPUがサポートし得ることを理解されたい。
また、データビットは、磁気ディスク、光ディスク、およびCPUに読み取り可能な任意の他の揮発性(たとえばランダムアクセスメモリ(「RAM」))または不揮発性(たとえば読み出し専用メモリー(「ROM」))の大容量記憶システムを含む、コンピュータ可読媒体上で維持される。コンピュータ可読媒体は、協働するまたは相互接続されたコンピュータ可読媒体を含んでよく、これらは、専ら処理システム上に存在し、または処理システムに対しローカルもしくはリモートであり得る複数の相互接続された処理システムの間で分散される。代表的実施形態が上述されたメモリーに限定されないこと、ならびに記載された方法を他のプラットフォームおよびメモリーがサポートし得ることは理解されよう。代表的実施形態が上述されたプラットフォームおよびCPUに限定されないこと、ならびに記載された方法を他のプラットフォームおよびCPUがサポートし得ることは理解されよう。
例示的な実施形態では、本明細書に記載された動作、処理などのいずれも、コンピュータ可読媒体に記憶されたコンピュータ可読命令として実装され得る。コンピュータ可読命令は、モバイルユニットのプロセッサー、ネットワーク要素、および/または任意の他の計算デバイスによって実行されてよい。
システムの側面のハードウェア実装およびソフトウェア実装の間にて、ほとんど差異が残されていない。ハードウェアまたはソフトウェアの使用は、一般に(特定の状況ではハードウェアとソフトウェアの間の選択が重要になり得るので、常にではないが)、費用対効果のトレードオフを表す設計上の選択である。本明細書に記載された処理および/またはシステムおよび/または他の技術が影響を受け得る様々な手段(たとえば、ハードウェア、ソフトウェア、および/またはファームウェア)があり得るが、好ましい手段は、処理および/またはシステムおよび/または他の技術が展開される状況によって異なり得る。たとえば、実装者が速度および精度が最も重要であると決定した場合、実装者は、主にハードウェアおよび/またはファームウェア手段を選択することができる。柔軟性が最も重要である場合、実装者は主にソフトウェア実装を選択することができる。あるいは、実装者は、ハードウェア、ソフトウェア、および/またはファームウェアの何らかの組み合わせを選択することができる。
上記の詳細な説明では、ブロック図、フローチャート、および/または例を使用することにより、デバイスおよび/または処理の様々な実施形態を示している。そのようなブロック図、フローチャート、および/または例が、1つもしくは複数の機能および/または動作を含む限り、そのようなブロック図、フローチャート、または例における各機能および/もしくは動作が、様々なハードウェア、ソフトウェア、ファームウェア、または実質的にそれらの任意の組み合わせによって個々におよび/または集合的に実装され得ることは、当業者には理解されよう。適切なプロセッサーは、例として、汎用プロセッサー、専用プロセッサー、従来のプロセッサー、デジタル信号プロセッサー(DSP)、複数のマイクロプロセッサ、DSPコアと関連した1つもしくは複数のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、フィールドプログラマブルゲートアレイ(FPGA)回路、任意の他のタイプの集積回路(IC)、および/または状態機械を含む。
特徴および要素が特定の組み合わせで上記に提供されているが、各特徴または要素が、単独で、または他の特徴および要素との任意の組み合わせで使用される可能であることは、当業者には理解されよう。本開示は、本出願に記載された特定の実施形態の観点に限定されず、それらは様々な側面の例示として意図される。当業者には明らかなように、その趣旨および範囲から逸脱することなく多くの変更および変形が行われ得る。本出願の説明で使用されるいかなる要素、動作、または命令も、実施形態に対し重要または本質的なものとして明示的に示されていない限り、そのように解釈されるべきではない。本明細書に列挙されたものに加えて、本開示の範囲内の機能的に等価な方法および装置は、上述の説明から当業者には明らかであろう。そのような変更および変形は、添付の特許請求の範囲の範囲内に含まれることが意図されている。本開示は、添付の特許請求の範囲の用語、およびそのような特許請求の範囲が権利を有する等価物の全範囲によってのみ限定されるべきである。本開示は特定の方法またはシステムに限定されないと理解されるべきである。
また、本明細書で使用される専門用語は、特定の実施形態を説明するためだけのものであり、限定することは意図されていないと理解されるべきである。本明細書で言及されるときに使用されるように、「局」という用語およびその略称「STA」、「ユーザー機器」という用語およびその略称「UE」は、(i)以下で説明されるようなワイヤレス送信および/もしくは受信ユニット(WTRU)、(ii)以下で説明されるようなWTRUの複数の実施形態のいずれか、(iii)以下で説明されるようなWTRUのいくつかまたは全ての構造および機能性を特に有するように構成されたワイヤレス対応および/もしくは有線対応(たとえば、テザリング可能)デバイス、(iii)以下で説明されるようなWTRUの全てに満たない構造および機能性を有するように構成されたワイヤレス対応および/もしくは有線対応デバイス、または(iv)類似のものを意味し得る。本明細書に記載された任意のUEを表し得る例示的なWTRUの詳細は、図34A~図34Dを参照して以下に提供される。
特定の代表的実施形態では、本明細書に記載された主題のいくつかの部分は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサー(DSP)、および/または他の集積された形式を用いて実装され得る。しかしながら、本明細書に開示される態様のいくつかの側面は、全体または部分的に、1つまたは複数のコンピュータ上で実行される1つまたは複数のコンピュータプログラムとして(たとえば、1つまたは複数のコンピュータシステム上で実行される1つまたは複数のプログラムとして)、1つまたは複数のプロセッサー上で実行される1つまたは複数のプログラムとして(たとえば、1つまたは複数のマイクロプロセッサ上で実行される1つまたは複数のプログラムとして)、ファームウェアとして、または実質的にそれらの任意の組み合わせとして、集積回路に等価に実装されてよく、また、ソフトウェアおよび/またはファームウェアのための回路の設計および/またはコードの記述は、本開示に照らして十分に当業者の技術の範囲内となることは、当業者には理解されよう。また、本明細書に記載された主題の機構が様々な形態のプログラム製品として配布され得ること、および本明細書に記載された主題の例示的な実施形態が、実際に配布を実行するために使用される信号担持媒体の特定のタイプにかかわらず適用されることは、当業者には理解されよう。信号担持媒体の例は、フロッピーディスク、ハードディスクドライブ、CD、DVD、デジタルテープ、コンピュータメモリなどの記録可能型媒体、ならびにデジタルおよび/またはアナログ通信媒体(たとえば、光ファイバケーブル、導波路、有線通信リンク、ワイヤレス通信リンクなど)などの伝送型媒体を含むが、これらに限定されない。
本明細書に記載された主題は、異なる他の構成要素内に含まれる、またはそれらの構成要素に接続された異なる構成要素を例示することがある。そのような示された構成は単に例であり、実際には、同じ機能性を実現する他の多くのアーキテクチャが実装され得ることは理解されよう。概念的な意味において、同じ機能性を実現するための任意の配置の構成要素が、所望の機能性が達成され得るように実質的に「関連付けられている」。したがって、本明細書において特定の機能性を達成するために組み合わせられた任意の2つの構成要素は、アーキテクチャまたは介在する構成要素にかかわらず、所望の機能性が実現されるように互いに「関連付けられている」と見なされてよい。同様に、そのように関連付けられた任意の2つの構成要素は、所望の機能性を実現するために互いに「動作可能に接続されている」、または「動作可能に結合されている」と見なされてよく、そのように関連付けられることが可能な任意の2つの構成要素は、所望の機能性を実現するために互いに「動作可能に結合可能」と見なされてよい。動作可能に結合可能である特定の例は、物理的に係合可能である、および/もしくは物理的に相互作用している構成要素、ならびに/またはワイヤレスで相互作用可能である、および/もしくはワイヤレスで相互作用している構成要素、ならびに/または論理的に相互作用している、および/もしくは論理的に相互作用可能である構成要素を含むが、これらに限定されない。
本明細書における実質的に任意の複数形および/または単数形の用語の使用に関して、当業者は、文脈および/または用途に応じて適切に、複数形から単数形へ、および/または単数形から複数形へ変換をすることが可能である。明瞭にするために、様々な単数形/複数形の置き換えが本明細書で明示的に記載される場合がある。
一般に、本明細書および特に添付の特許請求の範囲(たとえば、添付の請求項の本体)において使用される用語は、概して「開放した」用語として意図される(たとえば、「含んでいる」という用語は、「限定されるものではないが含んでいる」と解釈されるべきであり、「有している」という用語は、「少なくとも有している」と解釈されるべきであり、「含む」という用語は、「限定されるものではないが含む」と解釈されるべきであるなど)ことは、当業者には理解されよう。さらに、導入された請求項記載で特定の数が意図される場合、そのような意図は請求項において明示的に記載され、そのような記載がない場合、そのような意図が存在しないことは、当業者には理解されよう。たとえば、1つの要素のみが意図される場合は、「単一」という用語または類似の言葉が使用され得る。理解の助けとして、以下の添付の特許請求の範囲および/または本明細書の説明が、請求項記載を導入するための「少なくとも1つ」および「1つまたは複数」という導入句の使用を含む場合がある。しかしながら、そのような語句の使用によって、不定冠詞「a」または「an」による請求項記載の導入が、そのような導入された請求項記載を含む任意の特定の請求項を、かかる記載を1つのみ含む実施形態に限定することを含意すると解釈されるべきではなく、これは、同一請求項が、導入句「1つまたは複数」または「少なくとも1つ」と、不定冠詞「a」または「an」を含むときでさえ、そのように解釈されるべきではない(たとえば、「a」および/または「an」は、「少なくとも1つ」または「1つまたは複数の」を意味すると解釈されるべきである)。請求項記載を導入するのに使用される定冠詞の使用についても同様のことが当てはまる。また、導入された請求項記載の特定の数が明示的に記載された場合であっても、そのような記載が、少なくともその記載された数を意味する(たとえば、他の修飾語がない「2つの記載」の単なる記載は、少なくとも2つの記載または2つ以上の記載を意味する)と解釈されるべきであることは、当業者には認識されよう。さらに、「A、B、およびCなどの少なくとも1つ」に類似する慣例が使用される事例では、そのような構文は一般に、当業者がその慣例について理解するだろう意味で意図されている(たとえば、「A、B、およびCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AとBを共に、AとCを共に、BとCを共に、ならびに/またはA、B、およびCを共に有するシステムなどを含むが、これらに限定されない)。「A、B、またはCなどの少なくとも1つ」に類似する慣例が使用される事例では、そのような構文は一般に、当業者がその慣例について理解するだろう意味で意図されている(たとえば、「A、B、またはCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AとBを共に、AとCを共に、BとCを共に、ならびに/またはA、B、およびCを共に有するシステムなどを含むが、これらに限定されない)。さらに、2つ以上の代替的用語を提示する実質的にいかなる離接的な単語および/または語句であっても、明細書、特許請求の範囲、または図面のいずれにおいても、それらの用語の1つ、それらの用語のいずれか、または両方の用語を含む可能性を企図すると理解されるべきであることは、当業者には理解されよう。たとえば、「AまたはB」という語句は、「A」もしくは「B」、または「AおよびB」の可能性を含むと理解されることになる。さらに、本明細書で使用される場合、複数の要素および/または要素の複数のカテゴリの列挙が続く用語「いずれか(any of)」は、要素および/または要素のカテゴリの「いずれか」、「任意の組み合わせ」、「任意の複数」、および/または「複数の任意の組み合わせ」を、他の要素および/または要素の他のカテゴリと別個にまたは併せて含むことが意図される。さらに、本明細書で使用される場合、「セット」または「群」という用語は、ゼロを含む任意の数の要素を含むことが意図される。さらに、本明細書で使用される場合、「数」という用語は、ゼロを含む任意の数を含むことが意図される。
さらに、本開示の特徴または側面がマーカッシュ群の観点で説明される場合、それによって本開示がマーカッシュ群の任意の個々の要素または要素の下位群の観点からも説明されることが、当業者には理解されよう。
当業者に理解されるように、あらゆる目的のために、たとえば、書面による説明を提供するという観点から、本明細書に開示される全ての範囲は、そのあらゆる可能な部分範囲および部分範囲の組み合わせも包含する。任意の列挙された範囲は、少なくとも均等な2分の1、3分の1、4分の1、5分の1、10分の1などに分解された同じ範囲を十分に説明し可能にするものとして容易に認識されることが可能である。非限定的例として、本明細書で論じられた各範囲は、下側3分の1、中央3分の1、および上側3分の1などに容易に分解され得る。やはり当業者に理解されるように、「最大で」、「少なくとも」、「より大きい」、「より小さい」などの全ての言葉は、記載された数字を含み、上述されたように次いで部分範囲に分解されることが可能である範囲を指す。最後に、当業者に理解されるように、範囲は個々の各要素を含む。したがって、たとえば、1~3個のセルを有する群は、1、2、または3個のセルを有する群を指す。同様に、1~5個のセルを有する群は、1、2、3、4、または5個のセルを有する群を指し、以下同様である。
さらに、特許請求の範囲は、その旨が記載されていない限り、提供された順序または要素に限定されると解釈されるべきではない。また、いずれの請求項における「手段」という用語の使用も、合衆国法典第35巻第112条第6項、すなわちミーンズプラスファンクションクレーム形式を行使することが意図されており、「手段」という用語を有しない請求項はいずれもそのように意図されていない。
ソフトウェアに関連するプロセッサーは、ワイヤレス送信受信ユニット(WTRU)、ユーザー機器(UE)、端末、基地局、モビリティ管理エンティティ(MME)もしくは進化型パケットコア(EPC)、または任意のホストコンピュータで使用するための無線周波数トランシーバーを実装するために使用され得る。WTRUは、ハードウェアおよび/またはソフトウェア無線(SDR)を含むソフトウェアで実装されるモジュール、ならびに他の構成要素、たとえば、カメラ、ビデオカメラモジュール、ビデオフォン、スピーカフォン、振動デバイス、スピーカー、マイクロフォン、テレビトランシーバ、ハンズフリーヘッドセット、キーボード、Bluetooth(登録商標)モジュール、周波数変調(FM)無線ユニット、近距離無線通信(NFC)モジュール、液晶表示(LCD)ディスプレイユニット、有機発光ダイオード(OLED)ディスプレイユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ、および/またはワイヤレスローカルエリアネットワーク(WLAN)もしくは超広帯域(UWB)モジュールなどと関連して使用され得る。
本開示を通して、当業者は、特定の代表的実施形態が選択的にまたは他の代表的な実施形態と組み合わせて使用され得ることを理解する。
また、本明細書に記載された方法は、コンピュータまたはプロセッサーによって実行するためのコンピュータ可読媒体に組み込まれたコンピュータプログラム、ソフトウェア、またはファームウェアで実装され得る。非一時的なコンピュータ可読記憶媒体の例は、読み出し専用メモリー(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスクおよび着脱可能ディスクなどの磁気媒体、光磁気媒体、ならびにCD-ROMディスクおよびデジタル多用途ディスク(DVD)などの光媒体を含むが、これらに限定されない。ソフトウェアと関連するプロセッサーは、WTRU、UE、端末、基地局、RNC、または任意のホストコンピュータで使用するための無線周波数トランシーバーを実装するために使用され得る。