(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022191507
(43)【公開日】2022-12-27
(54)【発明の名称】双方向オプティカルフローに基づいた動き補償予測
(51)【国際特許分類】
H04N 19/105 20140101AFI20221220BHJP
H04N 19/176 20140101ALI20221220BHJP
H04N 19/136 20140101ALI20221220BHJP
【FI】
H04N19/105
H04N19/176
H04N19/136
【審査請求】有
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2022172303
(22)【出願日】2022-10-27
(62)【分割の表示】P 2019572653の分割
【原出願日】2018-07-03
(31)【優先権主張番号】62/560,823
(32)【優先日】2017-09-20
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/564,598
(32)【優先日】2017-09-28
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/579,559
(32)【優先日】2017-10-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/599,241
(32)【優先日】2017-12-15
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/528,296
(32)【優先日】2017-07-03
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WCDMA
2.3GPP
(71)【出願人】
【識別番号】514041959
【氏名又は名称】ヴィド スケール インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】シャオユ・シュ
(72)【発明者】
【氏名】ユウェン・ヘ
(72)【発明者】
【氏名】ヤン・イェ
(57)【要約】
【課題】双方向オプティカルフローに基づいた動き補償予測を提供する。
【解決手段】デバイスは、CUに対してBIOを有効または無効にするかどうかを決定してもよい。CUについての予測情報が識別されてもよく、第1の参照ブロックおよび第2の参照ブロックと関連付けられた予測信号を含んでもよい。予測差が算出されてもよく、2つの予測信号の間の類似性を決定するために使用されてもよい。CUは、類似性に基づいて再構築されてもよい。例えば、有効にされたBIOまたは無効にされたBIOによりCUを再構築するかどうかは、2つの予測信号が類似であるかどうかに基づいてもよい。2つの予測信号が非類似であると決定されるときにCUに対してBIOを有効にすると決定されてもよい。例えば、CUは、2つの予測信号が類似であると決定されるときに無効にされたBIOにより再構築されてもよい。
【選択図】
図11
【特許請求の範囲】
【請求項1】
ビデオデータコーディングのためのデバイスであって、
カレントコーディングユニットについての予測情報を識別し、前記予測情報は、第1の参照ブロックにおける複数のサンプル値を含む第1の予測信号および第2の参照ブロックにおける複数のサンプル値を含む第2の予測信号を含み、
前記第1の予測信号に含まれる前記複数のサンプル値と前記第2の予測信号に含まれる前記複数のサンプル値との間の予測サンプル値差を算出し、
前記算出された予測サンプル値差に基づいて、前記第1の予測信号および前記第2の予測信号が非類似であるかどうかを決定し、
前記第1の予測信号および前記第2の予測信号が非類似であるかどうかの前記決定に基づいて、前記カレントコーディングユニットを再構築し、双方向オプティカルフロー(BIO)は、前記第1の予測信号および前記第2の予測信号が非類似であるとの前記決定に基づいて、前記カレントコーディングユニットに対して前記予測情報を精緻化するように有効にされ、BIOは、前記第1の予測信号および前記第2の予測信号が非類似でないとの前記決定に基づいて、前記カレントコーディングユニットに対して無効にされる、
ように少なくとも構成されたプロセッサを備えたことを特徴とするデバイス。
【発明の詳細な説明】
【背景技術】
【0001】
本出願は、2017年7月3日に出願された米国特許仮出願第62/528296号、2017年9月20日に出願された米国特許仮出願第62/560823号、2017年9月28日に出願された米国特許仮出願第62/564598号、2017年10月31日に出願された米国特許仮出願第62/579559号、および2017年12月15日に出願された米国特許仮出願第62/599241号の利益を主張し、それらの内容は、参照によって本明細書に組み込まれる。
【0002】
ビデオコーディングシステムは、デジタルビデオ信号を圧縮して、そのような信号の記憶必要量および/または送信帯域幅を低減させるために、広く使用されている。ブロックベース、ウェーブレットベース、およびオブジェクトベースシステムなど、ビデオコーディングシステムの様々なタイプが存在する。現在、ブロックベースのハイブリッドビデオコーディングシステムが、広く使用および/または展開されている。ブロックベースのビデオコーディングシステムの例は、MPEG1/2/4パート2、H.264/MPEG-4パート10 AVC、VC-1、およびITU-T/SG16/Q.6/VCEGとISO/IEC/MPEGとのJCT-VC(ビデオコーディングに関する共同研究部会)によって開発された、高効率ビデオコーディング(HEVC)と呼ばれる最新のビデオコーディング規格などの、国際ビデオコーディング規格を含む。
【発明の概要】
【課題を解決するための手段】
【0003】
ビデオデータコーディングを実行するためのデバイスは、カレントコーディングユニット(例えば、ブロックおよび/またはサブブロック)に対して、双方向オプティカルフロー(BIO:bi-directional optical flow)を有効にするか、それとも無効にするかを決定するように構成されてよい。カレントコーディングユニットのための予測情報が、識別されてよい。予測情報は、第1の基準ブロック(または、例えば、サブブロック)と関連付けられた予測信号と、第2の基準ブロック(または、例えば、サブブロック)と関連付けられた予測信号とを含んでよい。2つの予測信号の間の予測差が、算出されてよい。2つの予測信号の間の類似性が、予測差に基づいて、決定されてよい。カレントコーディングユニットは、2つの予測信号の類似性に基づいて、再構成されてよい。例えば、カレントコーディングユニットを、BIOを有効にして再構成するか、それともBIOを無効にして再構成するかは、2つの予測信号が十分に類似しているかどうかに基づいて、決定されてよい。2つの予測信号が、類似していない(例えば、非類似である)と決定されたとき、カレントコーディングユニットに対してBIOを有効にすると決定されてよい。例えば、2つの予測信号が、類似していると決定されたとき、カレントコーディングユニットは、BIOを無効にして再構成されてよい。
【0004】
2つの予測信号の間の類似性を決定するために使用されてよい予測差は、複数の方法で決定されてよい。例えば、予測差を算出することは、2つの予測信号と関連付けられた2つの基準ブロックのそれぞれのサンプル値の間の平均差を算出することを含んでよい。それぞれの基準ブロックからのサンプル値は、補間されてよい。例えば、予測差を算出することは、2つの予測信号と関連付けられた2つの基準ブロックのそれぞれの動きベクトルの間の平均動きベクトル差を算出することを含んでよい。動きベクトルは、基準ピクチャとカレントコーディングユニットとの間の時間的距離に基づいて、スケーリングされてよい。
【0005】
2つの予測信号の間の類似性は、2つの予測信号の間の予測差を閾値と比較することによって、決定されてよい。予測差が、閾値以下であるとき、2つの予測信号は、類似していると決定されてよい。予測差が、閾値よりも大きいとき、2つの予測信号は、十分に類似していると決定されなくてよい(例えば、非類似である)。閾値は、ビデオコーディングデバイスによって決定されて、および/またはビデオコーディングデバイスにおいて受信されてよい。閾値は、望ましい複雑度レベルおよび/または望ましいコーディング効率に基づいて、決定されてよい。
【0006】
ビデオデータコーディングを実行するためのデバイスは、1つまたは複数のサブブロックをサブブロックグループにグループ化するように構成されてよい。例えば、類似の動き情報を有する連続するサブブロックは、サブブロックグループに一緒にグループ化されてよい。サブブロックグループは、形状およびサイズが変化してよく、カレントコーディングユニットの形状および/またはサイズに基づいて、形成されてよい。サブブロックは、水平および/または垂直にグループ化されてよい。動き補償操作(例えば、単一の動き補償操作)は、サブブロックグループに対して実行されてよい。BIO精緻化が、サブブロックグループに対して実行されてよい。例えば、BIO精緻化は、サブブロックグループのサブブロックの勾配値に基づいてよい。
【0007】
BIO勾配は、単一命令複数データ(SIMD)ベースの加速化が利用され得るように、導出されてよい。1つまたは複数の技法においては、BIO勾配は、補間フィルタおよび勾配フィルタを適用することによって、導出されてよく、その場合、水平フィルタリングが実行され、続いて、垂直フィルタリングが実行されてよい。BIO勾配導出においては、加算および右シフトによって実施されてよい丸め操作が、入力値に対して実行されてよい。
【0008】
ビデオエンコーダおよび/またはデコーダの(例えば、通常の)動き補償(MC)ステージ(例えば、ブロックレベル)において、BIO操作をスキップするための、デバイス、プロセス、および手段が、開示される。1つまたは複数の技法においては、1つまたは複数の要因/条件が満足され得る1つまたは複数のブロック/サブブロックに対しては、BIO操作が、(例えば、部分的または完全に)無効にされてよい。フレームレートアップコンバージョン(FRUC)バイラテラルモードにおいて/FRUCバイラテラルモードによってコーディングされるブロック/サブブロックに対しては、BIOは、無効にされてよい。時間領域において近似的に比例した少なくとも2つの動きベクトルによって予測されるブロック/サブブロックに対しては、BIOは、無効にされてよい。少なくとも2つの予測ブロックの間の平均差が、事前定義/事前決定された閾値以下であるとき、BIOは、無効にされてよい。BIOは、勾配情報に基づいて、無効にされてよい。
【0009】
ビデオデータコーディングのためのデコーディングデバイスは、メモリを備えてよい。デコーディングデバイスは、プロセッサを備えてよい。プロセッサは、少なくとも1つのコーディングユニット(CU)の複数のサブブロックを識別するように構成されてよい。プロセッサは、MCのために複数のサブブロックのうちの1つまたは複数のサブブロックを選択するように構成されてよい。プロセッサは、MC条件のステータスが満足されているか、それとも満足されていないかを決定するように構成されてよい。プロセッサは、MC条件のステータスが満足されている場合、1つまたは複数のサブブロックに対するBIO動き精緻化処理を伴わない動き補償を開始するように構成されてよい。プロセッサは、MC条件のステータスが満足されていない場合、1つまたは複数のサブブロックに対するBIO動き精緻化処理を伴った動き補償を開始するように構成されてよい。
【0010】
図における同様の参照番号は、同様の要素を示す。
【図面の簡単な説明】
【0011】
【
図1】ブロックベースのビデオエンコーダの例示的な全体図である。
【
図2】ビデオデコーダの例示的な全体ブロック図である。
【
図3】双方向オプティカルフローの例を示す図である。
【
図4A】動き精度が1/16ピクセルである、BIOにおける例示的な勾配導出(gradient derivation)プロセスを示す図である。
【
図4B】動き精度が1/16ピクセルである、BIOにおける例示的な勾配導出プロセスを示す図である。
【
図5A】ブロック拡張制約(block extension constraint)を用いない、BIOの例示的なメモリアクセスを示す図である。
【
図5B】ブロック拡張制約を用いる、BIOの例示的なメモリアクセスを示す図である。
【
図6】高度時間動きベクトル予測の例を示す図である。
【
図7】例示的な空間時間動きベクトル予測を示す図である。
【
図8A】テンプレートマッチングを用いる、例示的なフレームレートアップコンバージョンを示す図である。
【
図8B】バイラテラルマッチングを用いる、例示的なフレームレートアップコンバージョンを示す図である。
【
図9A】簡略化されたアフィンモデルを用いる、アフィンモードの例を示す図である。
【
図9B】アフィンブロックに対するサブブロックレベルの動き導出を用いる、アフィンモードの例を示す図である。
【
図10A】破線矢印が、水平勾配導出のためのフィルタリング方向を示す、BIOの例示的な2D勾配フィルタリングプロセスを示す図である。
【
図10B】破線矢印が、垂直勾配導出のためのフィルタリング方向を示す、BIOの例示的な2D勾配フィルタリングプロセスを示す図である。
【
図12A】破線矢印が、水平勾配導出のフィルタリング方向を示す、BIOの例示的な変更された2D勾配フィルタリングプロセスを示す図である。
【
図12B】破線矢印が、垂直勾配導出のフィルタリング方向を示す、BIOの例示的な変更された2D勾配フィルタリングプロセスを示す図である。
【
図13】BIO勾配導出のための丸め方法の例示的なマッピング関数を示す図である。
【
図14】BIO勾配導出のための丸め方法の例示的なマッピング関数を示す図である。
【
図15A】1/16ピクセルの動き精度を有する、BIOにおける例示的な勾配導出プロセスを示す図である。
【
図15B】1/16ピクセルの動き精度を有する、BIOにおける例示的な勾配導出プロセスを示す図である。
【
図16A】様々なサブブロックベースの動き補償の例示的な比較を示す図である。
【
図16B】サブブロックマージングを用いる、様々なサブブロックベースの動き補償の例示的な比較を示す図である。
【
図16C】2Dサブブロックマージングを用いる、様々なサブブロックベースの動き補償の例示的な比較を示す図である。
【
図17A】サブブロック動き補償方法が適用される場合に、BIOブロック拡張制約によって影響されるサンプルの例示的な表示を示す図である。
【
図17B】2Dサブブロックマージングに基づいたサブブロック動き補償を用いる場合に、BIOブロック拡張制約によって影響されるサンプルの例示的な表示を示す図である。
【
図18A】例示的な行に関するサブブロックマージング実施を示す図である。
【
図18B】例示的な列に関するサブブロックマージング実施を示す図である。
【
図19】重ね合わされたブロック動き補償の例を示す図である。
【
図22】FRUCバイラテラルモードにおいて/FRUCバイラテラルモード(bilateral mode)によってコーディングされたブロックについての、BIOをスキップした後の、例示的な動き補償プロセスを示す図である。
【
図23】動きベクトル差に基づいて、BIOをスキップした後の、例示的な動き補償プロセスを示す図である。
【
図24】少なくとも2つの予測信号の間の差に基づいて、BIOをスキップした後の、例示的な動き補償プロセスを示す図である。
【
図25】勾配情報に基づいて、BIOをスキップした後の、例示的な動き補償プロセスを示す図である。
【
図26】マルチステージBIO早期終了を用いる、例示的な動き補償プロセスを示す図である。
【
図27】高い精度で2つの中間予測信号を平均するときの、例示的な双予測プロセスを示す図である。
【
図28A】1つまたは複数の開示される実施形態が実施されてよい、例示的な通信システムのシステム図である。
【
図28B】
図28Aに示される通信システム内において使用されてよい、例示的な無線送信/受信ユニット(WTRU)のシステム図である。
【
図28C】
図28Aに示される通信システム内において使用されてよい、例示的な無線アクセスネットワーク(RAN)および例示的なコアネットワーク(CN)のシステム図である。
【
図28D】
図28Aに示される通信システム内において使用されてよい、さらなる例示的なRANおよびさらなる例示的なCNのシステム図である。
【発明を実施するための形態】
【0012】
説明的な実施形態についての詳細な説明が、様々な図を参照して、今から行われる。この説明は、可能な実施の詳細な例を提供するが、細部は、例示的であることが意図されており、決して本出願の範囲を限定しないことが、留意されるべきである。
【0013】
図1は、ブロックベースのハイブリッドビデオエンコーディングシステムの例示的なブロック図を示している。入力ビデオ信号1102は、ブロックごとに処理されてよい。高解像度(1080pおよびそれ以上)ビデオ信号を効率的に圧縮するために、(「コーディングユニット」またはCUと呼ばれる)拡張されたブロックサイズが、使用されてよい。CUは、最大で64×64ピクセルであることができる。CUは、別々の予測方法がそれに対して適用される、予測ユニット(PU)にさらに区分化されることができる。1つもしくは複数または各入力ビデオブロック(MBまたはCU)に対して、空間予測(1160)および/または時間予測(1162)が、実行されてよい。空間予測(または「イントラ予測」)は、カレントビデオブロックを予測するために、同じビデオピクチャ/スライス内の(例えば、基準サンプルと呼ばれる)すでにコーディングされた近隣ブロックのサンプルからのピクセルを使用する。空間予測は、ビデオ信号に内在する空間冗長性を低減させ得る。(例えば、「インター予測」および/または「動き補償された予測」とも呼ばれる)時間予測は、カレントビデオブロックを予測するために、すでにコーディングされたビデオピクチャからの再構成されたピクセルを使用してよい。時間予測は、ビデオ信号に内在する時間冗長性を低減させ得る。与えられたビデオブロックについての時間予測信号は、カレントブロックとそれの基準ブロックとの間の動きの量および/または方向を示す、1つまたは複数の動きベクトルによって伝達されてよい。また、複数の基準ピクチャが、サポートされる場合、1つもしくは複数または各ビデオブロック、それの基準ピクチャインデックスが、送信されてよい。時間予測信号が、基準ピクチャストア(1164)内のどの基準ピクチャから来るかを識別するために、基準インデックスが、使用されてよい。空間および/または時間予測の後、エンコーダ内のモード決定ブロック(1180)は、例えば、レート-歪み最適化方法に基づいて、最良の予測モードを選択してよい。
【0014】
予測ブロックが、カレントビデオブロックから減算されてよい(1116)。予測残差は、変換(1104)および/または量子化(1106)を使用して、脱相関されてよい。再構成されたビデオブロックを形成ために、予測ブロックに加算されてよい(1126)、再構成された残差を形成するために、量子化された残差係数が、逆量子化(1110)および/または逆変換(1112)されてよい。さらに、再構成されたビデオブロックに対して、おそらくは、それが基準ピクチャストア(1164)に入れられ、および/または将来のビデオブロックをコーディングするために使用される前に、デブロッキングフィルタおよび/または適応ループフィルタなどのインループフィルタリングが、適用されてよい(1166)。出力ビデオビットストリーム1120を形成するために、コーディングモード(例えば、インターおよび/もしくはイントラ)、予測モード情報、動き情報、ならびに/または量子化された残差係数が、さらに圧縮および/またはパッキングを施して、ビットストリームを形成するための、エントロピコーディングユニット(1108)に送信されてよい。
【0015】
図2は、ブロックベースのビデオデコーダの全体的なブロック図を示している。ビデオビットストリーム202は、エントロピデコーディングユニット208において、アンパッキングおよび/またはエントロピデコードされてよい。予測ブロックを形成するために、コーディングモードおよび/または予測情報が、空間予測ユニット260(例えば、イントラコーディングされた場合)および/または時間予測ユニット262(例えば、インターコーディングされた場合)に送信されてよい。残差ブロックを再構成するために、残差変換係数が、逆量子化ユニット210および/または逆変換ユニット212に送信されてよい。226において、予測ブロックと残差ブロックとが、一緒に加算されてよい。再構成されたブロックは、おそらくは、例えば、それが基準ピクチャストア264内に記憶され得る前に、インループフィルタリングを通過してよい。基準ピクチャストア内の再構成されたビデオは、表示デバイスを駆動するために、送出されてよく、および/または将来のビデオブロックを予測するために、使用されてよい。
【0016】
図1および/または
図2に示されるように、空間予測(例えば、イントラ予測)、時間予測(例えば、インター予測)、変換、量子化、エントロピコーディング、および/またはループフィルタが、実行または使用されてよい。ビデオコーディングにおける双予測は、平均化を使用した、すでに再構成されていてよい基準ピクチャから取得される2つの時間予測ブロックの組み合わせを含んでよい。例えば、ブロックベースの動き補償(MC)の限界のせいで、2つの予測ブロックの間に、観測されることができる小さい動きが、まだ残っていることがある。そのような動きを補償するために、双方向オプティカルフロー(BIO)が、少なくとも1つのブロック内部の1つもしくは複数またはあらゆるサンプルに対して適用されてよい。BIOは、双予測が使用されるとき、ブロックベースの動き補償された予測上において実行されてよい、サンプルに関する動き精緻化であってよい。少なくとも1つのブロック内の1つもしくは複数または各サンプルについての精緻化された動きベクトルの導出は、古典的なオプティカルフローモデルに基づいてよい。I
(k)(x,y)は、基準ピクチャリストk(k=0,1)から導出された予測ブロックの座標(x,y)におけるサンプル値であるとし、∂I
(k)(x,y)/∂xおよび∂I
(k)(x,y)/∂yは、サンプルの水平および垂直勾配を示してよい。オプティカルフローモデルが、有効であると仮定すると、(x,y)における動き精緻化(v
x,v
y)は、
【0017】
【0018】
によって導出されることができる。オプティカルフロー式(1)と、(例えば、
図3に示されるような)動き軌道に沿った予測ブロックの補間との組み合わせを用いると、BIO予測は、
【0019】
【0020】
として取得されてよく、ここで、τ0およびτ1は、I(0)およびI(1)と関連付けられた基準ピクチャRef0およびRef1の、カレントピクチャCurPicまでの時間的距離を示してよく、例えば、
【0021】
【0022】
である。
【0023】
図3において、(MV
x0,MV
y0)および(MV
x1,MV
y1)は、2つの予測ブロックI
(0)およびI
(1)を生成するために使用されてよい、ブロックレベルの動きベクトルを示してよい。さらに、サンプルロケーション(x,y)における動き精緻化(v
x,v
y)は、
【0024】
【0025】
として示されるような、動き精緻化補償後のサンプル(例えば、
図3におけるAおよびB)の値の間の差Δを最小化することによって、算出されてよい。
【0026】
おそらくは、例えば、導出された動き精緻化の規則性を保証するために、動き精緻化は、(x,y)を中心とする局所的周囲エリア内において、整合性があることが、仮定されてよい。例示的なBIO設計においては、(vx,vy)の値は、
【0027】
【0028】
のように、(x,y)におけるカレントサンプルの周りの5×5窓Ωの内部において、Δを最小化することによって、導出されてよい。BIOは、時間的に近隣するピクチャからの2つの基準ブロックによって予測されてよい、双予測ブロックに適用されてよい。BIOは、エンコーダからデコーダに追加の情報を送信することなく、有効にされてよい。BIOは、前方および後方予測信号の両方を有する(例えば、τ0・τ1>0)、いくつかの双方向予測されたブロックに適用されてよい。例えば、カレントブロックの2つの予測ブロックが、同じ方向(前方向または後方向のどちらか、例えば、τ0・τ1<0)からのものである場合、BIOは、予測ブロックが、非ゼロの動きと関連付けられ、例えば、abs(MVx0)+abs(MVy0)≠0、およびabs(MVx1)+abs(MVy1)≠0であり、2つの動きベクトルが、カレントピクチャと基準ピクチャとの間の時間的距離に比例する、例えば、
【0029】
【0030】
であるときに、適用されてよい。例えば、カレントブロックの2つの予測ブロックが、同じ基準ピクチャからのものである場合(例えば、τ0=τ1)、BIOは、無効にされてよい。カレントブロックに対して、局所的照明補償(LIC)が、使用されるとき、BIOは、無効にされてよい。
【0031】
(2)および(4)に示されるように、おそらくは、ブロックレベルMCに加えて、(例えば、局所的動き精緻化を導出し、および/またはそのサンプルロケーションにおける最終的な予測を生成するために)BIOにおいては、動き補償されたブロック(例えば、I(0)およびI(1))のサンプルについての勾配が、導出されてよい。BIOにおいては、予測ブロック内のサンプルの水平および垂直勾配(例えば、
【0032】
【0033】
、
【0034】
【0035】
、および
【0036】
【0037】
、
【0038】
【0039】
)は、予測信号が、動き補償補間と整合性があってよいフィルタリングプロセス(例えば、2D分離可能な有限インパルス応答(FIR)フィルタ)に基づいて、生成されるときに、同時に算出されてよい。勾配導出プロセスへの入力は、動き補償のために使用されるのと同じ基準サンプルと、入力動き(MVx0/x1、MVy0/y1)の分数成分(fracX、fracY)であってよい。
【0040】
サンプル位置(例えば、各サンプル位置)における勾配値を導出するために、異なるフィルタ(例えば、1つは補間フィルタhL、1つは勾配フィルタhG)が、おそらくは、例えば、算出されてよい勾配の方向ごとに異なる順序で、別々に適用されてよい。水平勾配(例えば、
【0041】
【0042】
および
【0043】
【0044】
)を導出するとき、fracYにおける垂直分数位置(vertical fractional position)におけるサンプル値を導出するために、補間フィルタhLが、予測ブロック内部のサンプルに対して垂直に適用されてよい。おそらくは、fracXの値に基づいて、水平勾配値を算出するために、その後、勾配フィルタhGが、生成された垂直分数サンプルに対して水平に適用されてよい。垂直勾配(例えば、
【0045】
【0046】
および
【0047】
【0048】
)を導出するとき、fracYに対応する中間垂直勾配を算出するために、勾配フィルタhGが、予測サンプル上において垂直に適用されてよく、中間垂直勾配の水平補間は、fracXの値に従って、補間フィルタhLを使用する。勾配フィルタおよび補間フィルタ両方の長さは、6タップまたは8タップであってよい。表1および表2は、それぞれ、ブロックレベル動きベクトルの精度に従った、hGおよびhLのために使用されてよい、例示的なフィルタ係数を示している。
【0049】
【0050】
【0051】
図4Aおよび
図4Bは、BIOにおいて適用される例示的な勾配導出プロセスを示しており、整数サンプル位置におけるサンプル値は、パターンのある四角形で示され、分数サンプル位置におけるサンプル値は、空白の四角形で示されている。動きベクトル精度は、1/16ピクセルに合わせて増やされてよく、
図4Aおよび
図4Bにおいては、整数サンプルの領域内において定義された255個の分数サンプル位置が、存在してよく、下付き文字座標(x,y)は、サンプルの対応する水平および垂直分数位置を表す(例えば、座標(0,0)は、整数位置におけるサンプルに対応する)。分数位置(1,1)(例えば、a
1,1)において、水平および垂直勾配値が、算出されてよい。
図4Aおよび
図4Bによれば、水平勾配導出については、垂直方向において補間フィルタh
Lを適用することによって、分数サンプルf
0,1、e
0,1、a
0,1、b
0,1、c
0,1、およびd
0,1が、導出されてよく、例えば、
【0052】
【0053】
であり、ここで、Bは、入力信号のビット深度であり、OffSet0は、
【0054】
【0055】
に等しくてよい、丸めオフセットである。f0,1、e0,1、a0,1、b0,1、c0,1、およびd0,1の精度は、14ビットであってよい。a1,1の水平勾配は、対応する勾配フィルタhGを導出された分数サンプルに水平に適用することによって、算出されてよい。これは、
【0056】
【0057】
によって示されるように、中間20ビットにおいて、丸められていない勾配値を算出することによって、行われてよい。最終的な水平勾配は、
【0058】
【0059】
のように、中間勾配値を出力精度にシフトすることによって、算出されてよく、ここで、sign(・)およびabs(・)は、入力信号の符号および絶対値を返す関数であり、OffSet1は、217-Bとして算出されてよい、丸めオフセットである。
【0060】
(1,1)における垂直勾配値を導出するとき、分数位置(0,1)における中間垂直勾配値が、導出されてよく、例えば、
【0061】
【0062】
である。中間垂直勾配値は、その後、
【0063】
【0064】
のように、14ビット値にシフトすることによって、調整されてよい。分数位置(1,1)における垂直勾配値は、分数位置(0,1)における中間勾配値上における補間フィルタhLによって、取得されてよい。これは、20ビットにおいて丸められていない勾配値を算出することによって、行われてよく、それは、その後、
【0065】
【0066】
として示されるように、シフト操作を通して、出力ビット深度に調整されてよい。
【0067】
(5)に示されるように、おそらくは、1つの位置における局所的動き精緻化を導出するために、サンプルの周りの周囲窓(surrounding window)Ω内のいくつかのサンプルに対して、サンプル値および勾配値が、算出されてよい。窓サイズは、(2M+1)×(2M+1)であってよく、ここで、M=2である。本明細書において説明されるように、勾配導出は、カレントブロックの拡張されたエリア内の追加の基準サンプルにアクセスしてよい。補間フィルタおよび勾配フィルタの長さTが、6であってよいことを仮定すると、対応する拡張されたブロックサイズは、T-1=5に等しくてよい。与えられたW×Hブロックに対して、BIOによって必要とされるメモリアクセスは、(W+T-1+2M)×(H+T-1+2M)=(W+9)×(H+9)であってよく、それは、動き補償によって使用されるメモリアクセス(W+7)×(H+7)よりも大きくなり得る。BIOのメモリアクセスを制御するために、ブロック拡張制約が、使用されてよい。例えば、ブロック制約が、適用された場合、おそらくは、ブロック内部の位置における局所的動き精緻化(v
x,v
y)を算出するために、カレントブロック内にあってよい近隣サンプルが、使用されてよい。
図5Aおよび
図5Bは、ブロック拡張制約が適用される前と、適用された後とで、BIOのためのメモリアクセス領域のサイズを比較している。
【0068】
高度時間動きベクトル予測(ATMVP)においては、時間動きベクトル予測は、ブロックが、カレントピクチャの時間的近隣ピクチャの複数のより小さいブロックから、ブロック内のサブブロックについての複数の動き情報(例えば、動きベクトルおよび基準インデックス)を導出することを可能にすることによって、改善されてよい。ATMVPは、時間的基準ピクチャ内における(コロケートされたブロックと呼ばれてよい)カレントブロックの対応するブロックを識別することによって、ブロック内のサブブロックの動き情報を導出してよい。選択された時間的基準ピクチャは、コロケートされたピクチャと呼ばれてよい。カレントブロックは、サブブロックに分割されてよく、各サブブロックの動き情報は、
図6に示されるように、コロケートされたピクチャ内の対応する小さいブロックから導出されてよい。
【0069】
コロケートされたブロックおよびコロケートされたピクチャは、カレントブロックの空間的近隣ブロックの動き情報によって、識別されてよい。
図6は、マージ候補リスト内の利用可能な候補が検討されるプロセスである、プロセスを示している。ブロックAは、マージ候補リストのスキャニング順序に基づいて、カレントブロックの利用可能なマージ候補として識別されることが仮定されてよい。ブロックAの対応する動きベクトル(例えば、MV
A)およびそれの基準インデックスが、コロケートされたピクチャおよびコロケートされたブロックを識別するために、使用されてよい。コロケートされたピクチャ内のコロケートされたブロックのロケーションは、ブロックAの動きベクトル(例えば、MV
A)をカレントブロックの座標に加算することによって、決定されてよい。
【0070】
カレントブロック内のサブブロックについて、カレントブロック内のサブブロックの動き情報を導出するために、コロケートされたブロック内の(
図6における矢印によって示されるような)それの対応する小さいブロックの動き情報が、使用されてよい。コロケートされたブロック内の各小さいブロックの動き情報が、識別されたとき、それは、(例えば、時間動きベクトルスケーリングが適用されてよい、時間動きベクトル予測(TMVP)と同じ方法で)カレントブロック内の対応するサブブロックの動きベクトルおよび基準インデックスに変換されてよい。
【0071】
空間-時間動きベクトル予測(STVMP)においては、コーディングブロック内のサブブロックの動き情報は、再帰的な方法で導出されてよく、その例が、
図7に示されている。
図7は、概念を示すための1つの例を示している。
図7に示されるように、カレントブロックは、4つのサブブロックA、B、C、Dを含んでよい。カレントブロックの空間的近隣者である近隣する小さいブロックは、それぞれ、a、b、c、dとラベリングされている。サブブロックAのための動き導出は、それの2つの空間的近隣者を識別してよい。サブブロックAの第1の近隣者は、近隣者cであってよい。例えば、小さいブロックcが、利用可能でない、またはイントラコーディングされていない場合、カレントブロックの上側の(左から右に)次の近隣する小さいブロックが、チェックされてよい。サブブロックAの第2の近隣者は、左近隣者bであってよい。例えば、小さいブロックbが、利用可能でない、またはイントラコーディングされていない場合、カレントブロックの左側の(上から下に)次の近隣する小さいブロックが、チェックされてよい。サブブロックAの時間的近隣者の動き情報は、HEVCにおけるTMVPプロセスの類似の手順に従うことによって、取得されてよい。利用可能な空間的および時間的近隣者(例えば、最大3つ)の動き情報は、平均され、サブブロックAの動き情報として使用されてよい。ラスタスキャン順序に基づいて、上述のSTMVPプロセスは、カレントビデオブロック内の他のサブブロックの動き情報を導出するために、繰り返されてよい。
【0072】
フレームレートアップコンバージョンモード(FRUC)が、インターコーディングされたブロックのためにサポートされてよい。このモードが、有効にされているとき、例えば、コーディングされたブロックの(例えば、動きベクトルおよび/または基準インデックスを含む)動き情報は、伝達されなくてよい。情報は、テンプレートマッチングおよび/またはバイラテラルマッチング技法によって、デコーダ側において、導出されてよい。おそらくは、例えば、デコーダにおける動き導出プロセスの間に、ブロックのマージ候補リスト、および/またはカレントブロックの時間的にコロケートされたブロックの動きベクトルから生成された予備動きベクトルのセットが、チェックされてよい。最小の差分絶対値の和(SAD)をもたらす候補が、開始点として選択されてよい。開始点の周りにおけるテンプレートマッチングおよび/またはバイラテラルマッチングに基づいた(例えば、局所的)探索が、実行されてよい。最小のSADをもたらすMVが、全ブロックのためのMVとして取られてよい。より良い動き補償効率のために、動き情報が、サブブロックレベルにおいて、さらに精緻化されてよい。
【0073】
図8Aおよび
図8Bは、FRUCプロセスの例を示している。
図8Aに示されるように、カレントピクチャ内のテンプレート(例えば、カレントブロックの上および/または左近隣ブロック)と、基準ピクチャ内の(例えば、テンプレートと同じサイズの)ブロックとの間の(例えば、最良の)マッチを見つけることによって、カレントブロックの動き情報を導出するために、テンプレートマッチングが、使用されてよい。
図8Bにおいては、2つの異なる基準ピクチャ内における、カレントブロックの動き軌道に沿った、2つのブロックの間の(例えば、最良の)マッチを見つけることによって、カレントブロックの動き情報を導出するために、バイラテラルマッチングが、使用されてよい。バイラテラルマッチングの動き探索プロセスは、動き軌道に基づいてよく、例えば、2つの基準ブロックをポイントする動きベクトルMV
0およびMV
1は、カレントピクチャと、2つの基準ピクチャの一方または各々との間の時間的距離(例えば、T
0およびT
1)に比例してよい。
【0074】
動き補償予測のために、並進運動モデルが、適用されてよい。多くの種類の動きが、例えば、ズームイン/アウト、回転、遠近運動、および他の不規則な動きが、存在する。アフィン変換動き補償予測が、適用されてよい。
図9Aに示されるように、ブロックのアフィン動き場は、いくつか(例えば、2つ)の制御点動きベクトルによって、記述されてよい。制御点の動きに基づいて、アフィンブロックの動き場は、
【0075】
【0076】
のように記述されてよい。ここで、
図9Aに示されるように、(v
0x,v
0y)は、左上隅の制御点の動きベクトルであってよく、(v
1x,v
1y)は、右上隅の制御点の動きベクトルであってよい。おそらくは、例えば、ビデオブロックが、アフィンモードによってコーディングされるとき、それの動き場は、4×4ブロックの粒度に基づいて、導出されてよい。4×4ブロックの動きベクトルを導出するために、
図9Bに示されるような、各サブブロックの中央サンプルの動きベクトルは、(15)に従って算出されてよく、1/16ピクセルの精度に丸められてよい。導出された動きベクトルは、カレントブロック内部のサブブロックの予測信号を生成するために、動き補償ステージにおいて、使用されてよい。
【0077】
エンコーディングおよびデコーディング両方の処理スピードを加速するために、最新のビデオコーデックのソフトウェア/ハードウェア設計においては、単一命令複数データ(SIMD)命令が、使用されてよく、SIMDは、おそらくは、単一の命令を使用することによって、複数のデータ要素に対して同じ操作を同時に実行してよい。SIMD幅は、レジスタによって並列に処理されてよい、データ要素の数を定義する。汎用中央処理ユニット(CPU)において、128ビットSIMDが、使用されてよい。グラフィックス処理ユニット(GPU)は、より広いSIMD実施をサポートすることができ、例えば、512ビットレジスタを用いて、算術、論理、ロード、ストア命令をサポートする。
【0078】
本明細書において説明されるように、フィルタリング操作の数を低減させるために、BIO実施は、勾配導出プロセスにおいて、2D分離可能FIRフィルタ、例えば、1Dローパス補間フィルタと1Dハイパス勾配フィルタとの組み合わせを使用してよい。対応するフィルタ係数の選択は、ターゲットサンプルの分数位置に基づいてよい。そのような特性(例えば、2D分離可能フィルタ)のせいで、いくつかの計算操作が、並列して複数のサンプルに対して行われてよい。勾配導出プロセスは、SIMD加速化に適し得る。
【0079】
水平および垂直勾配導出のために、垂直フィルタリングが、適用され、続いて、水平フィルタリングが、適用されてよい。例えば、水平勾配を算出するために、補間フィルタh
Lを使用した垂直補間が、実行されて、中間サンプルを生成してよく、続いて、勾配フィルタh
Gが、中間サンプル上において水平に適用される。垂直勾配の算出のために、勾配フィルタh
Gが、垂直方向に適用されて、中間垂直勾配を算出してよく、それは、その後、水平補間フィルタh
Lに入力されてよい。h
Lおよびh
G両方のフィルタ長が、T=6であると仮定すると、水平フィルタリングプロセスは、カレントブロックの水平拡張領域において、追加の中間データ(例えば、水平勾配算出のための中間サンプル、および垂直勾配算出のための中間勾配)を生成してよく、続く水平フィルタリングプロセスに十分な基準データを提供する。
図10Aおよび
図10Bは、BIOに対して適用されてよい、2D勾配フィルタリングプロセスを示しており、破線は、各フィルタリングプロセスが適用されてよい、それぞれの方向を示している。
図10Aおよび
図10Bに示されるように、W×Hブロックについては、中間データのサイズは、(W+T-1)×H=(W+5)×Hである。HEVCおよびJEMにおいては、コーディングブロックの幅は、2のべき乗、例えば、4、8、16、32などであってよい。サンプルは、(8ビットビデオについては)1バイト、または(8ビット超のビデオ信号については)2バイトによって、メモリ内に記憶されてよい。本明細書において説明されるように、水平フィルタリングプロセスに入力される中間データの幅は、W+5であってよい。既存のSIMD幅を与えられると、SIMDレジスタは、水平フィルタリングプロセスの間、十分には利用されないことがあり、それが、SIMD実施の並列性効率を低減させることができる。例えば、幅が8のコーディングブロックについては、中間データの幅は、8+5=13であってよい。128ビットSIMD実施、および10ビット入力ビデオを仮定すると、それは、水平フィルタリングプロセスの間、中間データの各ラインを処理するために、2つのSIMD操作ループを必要としてよい。例えば、第1のSIMDループは、8つのサンプルを並列してフィルタリングすることによって、128ビットレジスタのペイロードを使用してよく、一方、第2のループにおいては、残っている5つのサンプル(例えば、5×16ビット=80ビット)が、存在してよい。
【0080】
(10)、(12)、および(14)に示されるように、勾配導出プロセスの間の丸め操作は、入力データの絶対値を算出し、1つのオフセットを加算してから右シフトすることによって、絶対値を丸め、丸められた絶対値に入力データの符号を乗算することによって行われてよい。本明細書において説明されるように、1つまたは複数のサブブロックコーディングモード(例えば、ATMVP、STMVP、FRUC、およびアフィンモード)が、使用されてよい。サブブロックレベルのコーディングモードが、有効にされているとき、カレントコーディングブロックは、複数の小さいサブブロックにさらに区分化されてよく、各サブブロックについての動き情報は、別々に導出されてよい。1つのコーディングブロック内部のサブブロックの動きベクトルは、異なってよいので、動き補償は、各サブブロックに対して別々に実行されてよい。カレントブロックが、サブブロックモードによってコーディングされると仮定すると、
図11は、BIO関連の操作を使用してブロックの予測信号を生成するために使用される、例示的なプロセスを示している。
図11に示されるように、カレントブロックのいくつか(例えば、すべて)のサブブロックについて、動きベクトルが、導出されてよい。その後、ブロック内部のサブブロックについての動き補償された予測信号(例えば、Predi)を生成するために、通常のMCが、適用されてよい。例えば、BIOが、使用される場合、サブブロックについての変更された予測信号PredBIOiを取得するために、BIOベースの動き精緻化が、さらに実行されてよい。これは、各サブブロックの予測信号を生成するためのBIOの複数の起動をもたらしてよい。サブブロックレベルにおいてBIOを実行するために、補間フィルタリングおよび勾配フィルタリングは、(フィルタ長に応じて)追加の基準サンプルにアクセスしてよい。ブロック内に含まれるサブブロックの数は、相対的に大きくてよい。動き補償操作と、異なる動きベクトルの使用との間の頻繁な切り換えが、生じてよい。
【0081】
効率的なSIMD実施のために、BIO予測導出が、実施されてよい。
【0082】
例示的なBIO実施においては、BIO予測は、式(2)を用いて導出されてよい。例示的なBIO実施においては、BIO予測は、1つまたは複数のステップ(例えば、2つのステップ)を含んでよい。ステップ(例えば、第1のステップ)は、高い精度から(例えば、式(16)を用いた)調整を導出することであってよい。ステップ(例えば、第2のステップ)は、式(17)に見られるように、リスト(例えば、2つのリスト)からの予測(例えば、2つの予測)と調整とを組み合わせることによって、BIO予測を導出することであってよい。
【0083】
【0084】
パラメータround1は、0.5丸めのために、(1<<(shift1-1))に等しくてよい。
【0085】
【0086】
パラメータround2は、0.5丸めのために、(1<<(shift2-1))に等しくてよい。
【0087】
式(16)における丸めは、変数から絶対値および符号を算出し、符号と右シフト後の中間結果とを組み合わせてよい。式(16)における丸めは、複数の操作を使用してよい。
【0088】
BIO勾配は、SIMDベースの加速化が利用され得るように、導出されてよい。例えば、BIO勾配は、水平フィルタリングを適用し、続いて、垂直フィルタリングを適用することによって、導出されてよい。第2のフィルタリングプロセス(例えば、垂直フィルタリング)に入力される中間データの長さは、おそらくは、SIMDの並列性能力を十分に利用するために、SIMDレジスタの長さの倍数であってよい。例においては、入力値に対する丸め操作は、直接的に実行されてよい。これは、加算および右シフトによって実施されてよい。
【0089】
BIO勾配導出プロセスにおいては、垂直フィルタリングの後に、水平フィルタリングが続いてよい。中間ブロックの幅は、共通SIMDレジスタの長さと、よく揃えられていないことがある。勾配導出プロセスの間の丸め操作は、絶対値に基づいて、実行されてもよく、それは、SIMD実施のために、コスト高の計算(例えば、絶対値算出および乗算)を導入し得る。
【0090】
図10Aおよび
図10Bに示されるように、BIOの勾配算出プロセスにおいては、垂直フィルタリングの後に、水平フィルタリングが続いてよい。おそらくは、使用されてよい補間フィルタおよび勾配フィルタの長さのために、垂直フィルタリングの後の中間データの幅は、W+5であってよい。そのような幅は、実際に使用されてよいSIMDレジスタの幅と揃えられていること、または揃えられていないことがある。
【0091】
水平および垂直勾配導出の両方のために、水平フィルタリングが、実行され、続いて、垂直フィルタリングが、実行されてよい。水平勾配を算出するために、水平勾配フィルタh
Gが、実行されて、分数水平動きfracXに基づいて、中間水平勾配を生成してよく、続いて、分数垂直動きfracYに従って、中間水平勾配上において、補間フィルタh
Lが、垂直に適用される。垂直勾配の算出のために、補間フィルタh
Lが、おそらくは、中間サンプルを算出するために、fracXの値に基づいて、水平方向に適用されてよい。勾配フィルタh
Gが、おそらくは、fracYの値に応じて、中間サンプルに垂直に適用されてよい。
図12Aおよび
図12Bは、フィルタリングの後の、対応する2D勾配導出プロセスを示している。
図12Aおよび
図12Bに示されるように、中間データ(例えば、水平勾配算出のための中間勾配、および垂直勾配算出のための中間サンプル)のサイズは、W×(H+T-1)=W×(H+5)であってよい。
図12Aおよび
図12Bのフィルタリングプロセスは、中間データの幅(例えば、W)が、実施において使用されてよいSIMDレジスタ長(例えば、128ビットおよび512ビット)と揃うことができることを保証してよい。説明のために、128ビットSIMD実施、10ビット入力ビデオ、およびブロック幅W=8を仮定した、
図10Aおよび
図10Bにおけるのと同じ例を取る。
図10Aおよび
図10Bに見られるように、中間ブロック(例えば、W+5)の各ライン内のデータを処理するために、SIMD操作の2つのセットが、使用されてよく、第1のセットは、128ビットSIMDレジスタのペイロードを使用してよく(例えば、100%使用)、一方、第2のセットは、128ビットペイロードのうちの80ビットを使用してよい(例えば、62.5%使用)。SIMD操作のセットは、128ビットレジスタ容量を利用してよい、例えば、100%使用。
【0092】
本明細書において説明されるように、BIO勾配導出は、絶対値に基づいて、入力値を丸めてよく、それは、丸め誤差を最小化し得る。例えば、入力の絶対値は、絶対値を丸め、丸められた絶対値を入力の符号と乗算することによって、算出されてよい。この丸めは、
【0093】
【0094】
のように記述されてよく、ここで、σiおよびσrは、入力信号および丸め後の信号の対応する値であってよく、oおよびshiftは、丸めの間に適用されてよい、オフセットおよび右シフトの数であってよい。BIOブロックについての勾配を導出するときに、入力値に対する丸め操作が、実行されてよく、例えば、
【0095】
【0096】
である。
【0097】
図13および
図14は、異なる丸め方法のマッピング関数を比較している。
図13および
図14に見られるように、2つの方法によって算出される丸められた値の間の差は、小さいものであってよい。差は、σ
iの入力値が、おそらくは、
図13の丸め方法によって、整数-1、-2、-3、...に丸められ、
図14の丸め方法によって、整数0、-1、-2、...に丸められ得る、-0.5、-1.5、-2.5、...に等しいときに、存在してよい。
図14の丸め方法によって導入されるコーディング性能影響は、無視できるものであってよい。(17)に見られるように、
図14の丸め方法は、単一のステップによって終了されてよく、加算および右シフトによって実施されてよく、それらはともに、(16)において使用されてよい絶対値の算出および乗算ほどコスト高になり得ない。
【0098】
本明細書において説明されるように、2D分離可能フィルタの順序、および/または何らかの丸め方法の使用は、BIO勾配導出に影響してよい。
図15Aおよび
図15Bは、2D分離可能フィルタの順序、および何らかの丸め方法の使用が、BIO勾配導出に影響してよい、例示的な勾配導出プロセスを示している。例えば、水平勾配を導出するとき、分数サンプルs
1,0、g
1,0、a
1,0、m
1,0、y
1,0における水平勾配値は、水平方向において勾配フィルタh
Gを適用することによって、導出されてよく、例えば、
【0099】
【0100】
である。a1,1の水平勾配、例えば、gH_a’1,1は、
【0101】
【0102】
として示されるように、補間フィルタhLを垂直に適用することによって、それらの中間水平勾配値から補間されてよい。垂直勾配は、水平方向において補間フィルタhLを適用することによって、分数位置(1,0)においてサンプル値を補間することによって、算出されてよく、例えば、
【0103】
【0104】
である。a1,1における垂直勾配値は、
【0105】
【0106】
として示されるように、(1,0)における中間分数位置上において、勾配フィルタhGを垂直に実行することによって、取得されてよい。
【0107】
補間フィルタおよび勾配フィルタによって引き起こされるビット深度増加(bit-depth increase)は、同じであってよい(例えば、表1および表2によって示されるように、6ビット)。フィルタリング順序の変更は、内部ビット深度に影響しなくてよい。
【0108】
本明細書において説明されるように、サブブロックレベルの動き補償に基づいた1つまたは複数のコーディングツール(例えば、ATMVP、STMVP、FRUC、およびアフィンモード)が、使用されてよい。これらのコーディングツールが、有効にされる場合、コーディングブロックは、複数の小さいサブブロック(例えば、4×4ブロック)に分割されてよく、動き補償ステージにおいて使用されてよい、それ自体の動き情報(例えば、基準ピクチャおよび動きベクトル)を導出してよい。動き補償は、各サブブロックに対して別々に実行されてよい。各サブブロックについての動き補償を実行するために、追加の基準サンプルが、フェッチされてよい。動き補償プロセスのために、コーディングブロック内部の、同じ動き情報を提示する連続するサブブロックをマージするために、可変ブロックサイズに基づいた領域ベースの動き補償が、適用されてよい。これは、カレントブロック内部において適用される動き補償プロセスおよびBIOプロセスの数を引き下げ得る。近隣サブブロックをマージするために、異なるスキームが、使用されてよい。ラインベースのサブブロックマージングおよび2Dサブブロックマージングが、実行されてよい。
【0109】
サブブロックモードによってコーディングされるブロックのために、動き補償された予測が、実行されてよい。同じ動き情報を有する連続するサブブロックをサブブロックグループにマージすることによって、可変ブロックサイズ動き補償が、適用されてよい。各サブブロックグループに対して、単一の動き補償が、実行されてよい。
【0110】
ラインベースのサブブロックマージングにおいては、隣接サブブロックは、同一の動きを有するカレントコーディングブロック内部の同じサブブロックラインを1つのグループ内に配置し、グループ内のサブブロックに対して単一の動き補償を実行することによって、マージされてよい。
図16Aは、カレントコーディングブロックが、16個のサブブロックから成り、各ブロックが、特定の動きベクトルと関連付けられてよい、例を示している。(
図11に示されるような)既存のサブブロックベースの動き補償方法に基づいて、おそらくは、カレントブロックの予測信号を生成するために、通常の動き補償とBIO動き精緻化との両方が、各サブブロックに対して別々に行われてよい。それに対応して、動き補償操作の16回の起動が、存在してよい(各操作は、通常の動き補償とBIOとの両方を含む)。
図16Bは、ラインベースのサブブロックマージングスキームが適用された後の、サブブロック動き補償プロセスを示している。
図16Bに示されるように、同一の動きを有するサブブロックを水平にマージした後、動き補償操作の数は、6に低減されてよい。
【0111】
サブブロックマージングは、ブロックの形状に依存してよい。
【0112】
図16Bに見られるように、動き補償ステージにおけるマージングのために、水平方向における近隣サブブロックの動きが、検討されてよい。例えば、動き補償ステージにおけるマージングのために、CU内部の(例えば、同じ)サブブロック行内のサブブロックが、検討されてよい。(例えば、1つの)ピクチャ内のブロックを区分化するために、(例えば、1つの)四分木プラス二分木(QTBT)構造が、適用されてよい。QTBT構造においては、(例えば、各)コーディングユニットツリー(CTU)は、四分木実施を使用して、区分化されてよい。(例えば、各)四分木リーフノードは、二分木によって、区分化されてよい。この区分化は、水平および/または垂直方向に生じてよい。イントラコーディングおよび/またはインターコーディングのために、長方形および/または正方形形状のコーディングブロックが、使用されてよい。これは、二分木区分化のせいであってよい。例えば、そのようなブロック区分化スキームが、実施され、ラインベースのサブブロックマージング方法が、適用された場合、サブブロックは、水平方向において、類似(例えば、同一)の動きを有してよい。例えば、長方形ブロックが、垂直に向き付けられた(例えば、ブロック高さが、ブロック幅よりも大きい)場合、同じサブブロック列内に配置された隣接サブブロックは、同じサブブロック行内に配置された隣接サブブロックよりも、相関が大きくてよい。そのようなケースにおいては、サブブロックは、垂直方向にマージされてよい。
【0113】
ブロック形状依存のサブブロックマージングスキームが、使用されてよい。例えばCUの幅が、それの高さ以上である場合、水平方向において同じ動きを有するサブブロック(例えば、同じサブブロック行に配置されたサブブロック)を共同で予測するために、行に関するサブブロックマージングスキームが、使用されてよい。これは、(例えば、1つの)動き補償操作を使用して、実行されてよい。例えば、CUの高さが、それの幅よりも大きい場合、同じ動きを有し、カレントCU内部の同じサブブロック列に配置された、隣接サブブロックをマージするために、列に関するサブブロックマージングスキームが、使用されてよい。これは、(例えば、1つの)動き補償操作を使用して、実行されてよい。
図18Aおよび
図18Bは、ブロック形状に基づいた、適応サブブロックマージングの例示的な実施を示している。
【0114】
本明細書において説明されるライン/列ベースのサブブロックマージングスキームにおいては、動き補償ステージにおいて、サブブロックをマージするために、水平方向および/または垂直方向における近隣サブブロックの動き一貫性が、検討されてよい。実際には、隣接サブブロックの動き情報は、垂直方向において、高い相関があってよい。例えば、
図16Aに示されるように、第1のサブブロック行および第2のサブブロック行における最初の3つのサブブロックの動きベクトルは、同じであってよい。そのようなケースにおいては、より効率的な動き補償のために、サブブロックをマージするとき、水平および垂直動き一貫性の両方が、検討されてよい。2Dサブブロックマージングスキームが、使用されてよく、垂直および水平両方向における隣接サブブロックが、サブブロックグループにマージされてよい。各動き補償のためのブロックサイズを算出するために、漸進的探索方法が、使用されて、水平および垂直両方にサブブロックをマージすることができる。サブブロック位置を与えられると、それは、単一の動き補償ステージにマージされることができる、サブブロック行(例えば、各サブブロック行)における連続するサブブロックの最大数を算出し、カレントサブブロック行において達成されてよい動き補償ブロックサイズを、最後のサブブロック行において算出されるそれと比較し、および/またはサブブロックをマージすることによって、機能してよい。これは、おそらくは、与えられたサブブロック行において、追加のサブブロックをマージした後、動き補償ブロックサイズが、さらに増やされ得なくなるまで、上述のステップを繰り返すことによって、進行してよい。
【0115】
本明細書において説明される探索方法は、以下の例示的な手順によって、要約されてよい。第iのサブブロック行および第jのサブブロック列におけるサブブロック位置bi,jを与えられると、カレントサブブロックと同じ動きを有する第iのサブブロック行における連続するサブブロックの数(例えば、Ni)が、算出されてよい。対応する動き補償ブロックサイズをSi=Niとし、k=iと設定する。第(k+1)のサブブロック行に進み、マージされることが許可される連続するサブブロックの数(例えば、Nk+1)を算出してよい。Nk+1=min(Nk,Nk+1)と更新し、対応する動き補償ブロックサイズをSk+1=Nk+1・(k-i+1)と算出する。Sk+1≧Skである場合、Nk+1=Nk、k=k+1と設定し、第(k+1)のサブブロック行に進み、マージされることが許可される連続するサブブロックの数(例えば、Nk+1)を算出する。Nk+1=min(Nk,Nk+1)と更新し、対応する動き補償ブロックサイズをSk+1=Nk+1・(k-i+1)と算出する。それ以外の場合、終了する。
【0116】
図16Cは、2Dサブブロックマージングスキームが適用された後の、対応するサブブロック動き補償プロセスを示している。
図16Cに見られるように、動き補償操作の数は、3であってよい(例えば、3つのサブブロックグループについての動き補償操作)。
【0117】
本明細書において説明されるように、サブブロックマージングが、実行されてよい。ブロック拡張制約が、BIO勾配導出プロセスに適用されてよい。ブロック内部のサンプル位置についての局所的動き精緻化を算出するために、カレントブロック内にある近隣サンプルが、使用されてよい。サンプルの局所的動き精緻化は、((5)に示されるように)サンプルの5×5周囲エリア内の近隣サンプルを検討することによって、算出されてよく、カレント勾配/補間フィルタの長さは、6であってよい。カレントブロックの最初/最後の2つの行および最初/最後の2つの列におけるサンプルについて導出された局所的動き精緻化値は、おそらくは、4つの角隅サンプル位置の水平/垂直勾配の、カレントブロックの拡張されたエリアへの複写のために、他のサンプル位置において導出された動き精緻化値と比較されたとき、あまり正確ではないことがある。動き補償ステージにおいてより大きいブロックサイズを使用することは、BIOブロック拡張制約によって影響されるサンプルの数を低減させ得る。サブブロックのサイズが8であることを仮定すると、
図17Aおよび
図17Bは、サブブロック動き補償方法(
図17A)の使用、および2Dサブブロックマージングスキーム(
図17B)の使用が、それぞれ適用されたときの、BIOブロック拡張制約のせいで影響されるサンプルの数を比較している。
図17Aおよび
図17Bに見られるように、2Dサブブロックマージングは、影響されるサンプルの数を低減させ得、不正確な動き精緻化算出によって招かれる影響も最小化し得る。
【0118】
BIO予測導出においては、丸めが、実行されてよい。丸めは、絶対値に適用されてよい(例えば、最初に適用されてよい)。符号が、適用されてよい(例えば、その場合、右シフトの後に適用されてよい)。BIO予測のための調整導出における丸めが、式(24)に示されるように、適用されてよい。式(24)における右シフトは、算術右シフトであってよい(例えば、変数の符号は、右シフトの後、無変化に保たれてよい)。SIMDにおいて、調整adj(x,y)が、算出されてよい。調整は、1つの加算と、1つの右シフト操作とを用いて、算出されてよい。式(16)における丸めと、式(24)における丸めとの例示的な差分が、
図13および/または
図14に示され得る。
【0119】
【0120】
(24)に見られる丸め方法は、元の入力値に対して、2つの丸め操作(例えば、(24)におけるround1、および(17)におけるround2)を実行してよい。(24)に見られる丸め方法は、2つの右シフト操作(例えば、(24)におけるshift1、および(17)におけるshift2)を1つの右シフトにマージしてよい。BIOによって生成される最終的な予測は、式(25)に見られ得、
【0121】
【0122】
ここで、round3は、(1<<(shift1+shift2-1))に等しい。
【0123】
(21ビットに設定されてよく、1ビットは符号のために使用されてよい)調整値を導出するためのカレントビット深度は、双予測の中間ビット深度よりも高くてよい。(16)に示されるように、丸め操作(例えば、round1)が、調整値(例えば、adjhp(x,y))に適用されてよい。中間ビット深度が、(例えば、14ビットに設定されてよい)双予測信号を生成するために、適用されてよい。絶対値ベースの右シフト(例えば、shift1=20-14=6)が、式(16)において実施されてよい。導出されたBIO調整値のビット深度は、第1の丸め操作(例えば、(例えば、round1)が、BIOプロセスの間、スキップされてよいように、例えば、21ビットから15ビットに、低減されてよい。(16)および(17)に見られるBIO生成プロセスは、(26)および(27)に見られるように、変更されてよく、
【0124】
【0125】
ここで、
【0126】
【0127】
および
【0128】
【0129】
は、低減された精度で導出された、水平および垂直予測勾配であってよく、vLP
xおよびvLP
yは、より低いビット深度における、対応する局所的動きであってよい。(27)に見られるように、BIO生成プロセスにおいて、1つの丸め操作が、使用されてよい。
【0130】
別々に適用されるのに加えて、本明細書において説明される方法は、組み合わせて適用されてよいことが言及されるべきである。例えば、本明細書において説明されるBIO勾配導出とサブブロック動き補償とは、組み合わされてよい。本明細書において説明される方法は、動き補償ステージにおいて、共同で有効にされてよい。
【0131】
MCステージにおけるブロッキングアーチファクトを除去するために、重ね合わされたブロック動き補償(OBMC)が、実行されてよい。OBMCは、おそらくは、例えば、1つのブロックの右および/または下境界を除いて、1つもしくは複数またはすべてのブロック間境界に対して、実行されてよい。1つのビデオブロックが、1つのサブブロックモードでコーディングされるとき、サブブロックモードは、カレントブロック内部のサブブロックが、それ自体の動きを有することを可能にする、コーディングモード(例えば、FRUCモード)を指してよい。OBMCは、サブブロックの境界のうちの1つもしくは複数または4つすべてに対して、実行されてよい。
図19は、OBMCの概念の例を示している。OBMCが、1つのサブブロック(例えば、
図19におけるサブブロックA)において適用されるとき、おそらくは、カレントサブブロックの動きベクトルに加えて、最大で4つの近隣サブブロックの動きベクトルも、カレントサブブロックの予測信号を導出するために、使用されてよい。近隣サブブロックの動きベクトルを使用する、1つもしくは複数または多数の予測ブロックは、カレントサブブロックの最終的な予測信号を生成するために、平均されてよい。
【0132】
1つまたは複数のブロックの予測信号を生成するために、OBMCにおいて、加重平均が、使用されてよい。少なくとも1つの近隣サブブロックの動きベクトルを使用する予測信号は、PNと呼ばれてよく、および/またはカレントサブブロックの動きベクトルを使用する予測信号は、PCと呼ばれてよい。OBMCが、適用されるとき、PNの最初/最後の4つの行/列におけるサンプルは、PCにおける同じ位置にあるサンプルを用いて、加重平均されてよい。加重平均が適用されるサンプルは、対応する近隣サブブロックのロケーションに従って、決定されてよい。近隣サブブロックが、例えば、上近隣者(例えば、
図19におけるサブブロックb)であるとき、カレントサブブロックの最初のX行におけるサンプルが、調整されてよい。近隣サブブロックが、例えば、下近隣者(例えば、
図19におけるサブブロックd)であるとき、カレントサブブロックの最後のX行におけるサンプルが、調整されてよい。近隣サブブロックが、例えば、左近隣者(例えば、
図19におけるサブブロックa)であるとき、カレントブロックの最初のX列におけるサンプルが、調整されてよい。おそらくは、近隣サブブロックが、例えば、右近隣者(例えば、
図19におけるサブブロックc)であるとき、カレントサブブロックの最後のX列におけるサンプルが、調整されてよい。
【0133】
Xの値および/または重みは、カレントブロックをコーディングするために使用されるコーディングモードに基づいて、決定されてよい。例えば、カレントブロックが、サブブロックモードでコーディングされないとき、PNの少なくとも最初の4つの行/列に対しては、重み係数{1/4,1/8,1/16,1/32}が、使用されてよく、および/またはPCの最初の4つの行/列に対しては、重み係数{3/4,7/8,15/16,31/32}が、使用されてよい。例えば、カレントブロックが、サブブロックモードでコーディングされるとき、PNおよびPCの最初の2つの行/列が、平均されてよい。そのようなシナリオにおいては、とりわけ、PNに対しては、重み係数{1/4,1/8}が、使用されてよく、および/またはPCに対しては、重み係数{3/4,7/8}が、使用されてよい。
【0134】
本明細書において説明されるように、BIOは、MCステージにおいて使用される動きベクトルの粒度および/または精度を改善することによる、通常のMCの1つの強化と見なされることができる。CUが、複数のサブブロックを含むと仮定すると、
図20は、BIO関連の操作を使用して、CUについての予測信号を生成するための、プロセスの例を示している。
図20に示されるように、動きベクトルは、カレントCUの1つもしくは複数またはすべてのサブブロックについて導出されてよい。CU内部の1つもしくは複数または各サブブロックについての動き補償された予測信号(例えば、Pred
i)を生成するために、通常のMCが、適用されてよい。おそらくは、例えば、BIOが使用される場合、サブブロックについての変更された予測信号Pred
BIO
iを取得するために、BIOベースの動き精緻化が、実行されてよい。例えば、OBMCが使用されるとき、それは、CUの1つもしくは複数または各サブブロックに対して実行されてよく、その後に、対応するOBMC予測信号を生成するために、本明細書において説明されるのと同じ手順が続く。いくつかのシナリオにおいては、予測信号を導出するために、(例えば、おそらくは、カレントサブブロックの動きベクトルの代わりに)空間的近隣サブブロックの動きベクトルが、使用されてよい。
【0135】
図20においては、例えば、少なくとも1つのサブブロックが、双予測されるとき、通常のMCステージおよび/またはOBMCステージにおいて、BIOが、使用されてよい。BIOは、サブブロックの予測信号を生成するために、起動されてよい。
図21は、BIOを用いずに実行されてよい、OBMC後の予測生成プロセスの例示的なフローチャートを示している。
図21においては、おそらくは、例えば、通常のMCステージにおいて、動き補償された予測の後に、BIOが、まだ続いてよい。本明細書において説明されるように、BIOベースの動き精緻化の導出は、サンプルベースの操作であってよい。
【0136】
BIOは、通常のMCプロセスにおいて、サブブロックモード(例えば、FRUC、アフィンモード、ATMVP、および/またはSTMVP)を用いてコーディングされたカレントCUに対して、適用されてよい。それらのサブブロックモードのうちの1つもしくは複数またはいずれかによってコーディングされたCUについて、CUは、1つもしくは複数または多数のサブブロックにさらに分割されてよく、1つもしくは複数または各サブブロックは、1つまたは複数の一意的な動きベクトル(例えば、単予測および/または双予測)を割り当てられてよい。おそらくは、例えば、BIOが、有効にされるとき、BIOを適用するか、それとも適用しないかについての決定、および/またはBIO操作自体は、サブブロックの1つもしくは複数または各々に対して、別々に実行されてよい。
【0137】
本明細書において説明されるように、MCステージ(例えば、通常のMCステージ)においてBIO操作をスキップするために、1つまたは複数の技法が、企図される。例えば、BIOの中核設計(例えば、勾配の算出および/または精緻化された動きベクトル)は、同じおよび/または実質的に同様に保たれてよい。1つまたは複数の技法においては、1つまたは複数の要因または条件が満足され得るブロック/サブブロックについては、BIO操作は、(例えば、部分的または完全に)無効にされてよい。いくつかの例においては、MCは、BIOを伴わずに、実行されてよい。
【0138】
サブブロックモードにおいては、CUは、2つ以上のサブブロックに分割することを許可されてよく、および/または1つまたは複数の異なる動きベクトルは、1つもしくは複数または各サブブロックと関連付けられてよい。CUに対して、および/または(例えば、CUがサブブロックコーディングの使用を可能にされた場合)2つ以上のサブブロックに対して、動き補償された予測および/またはBIO操作が、実行されてよい。本明細書において説明される技法のうちの1つまたは複数は、サブブロックモードによってコーディングされなくてよい(例えば、分割されることのない、および/または(例えば、単一の)動きベクトルを有する)ビデオブロックに適用可能であってよい。
【0139】
本明細書において説明されるように、BIOは、従来のブロックベースのMCによって生成された(例えば、少なくとも)2つの予測ブロックの間に残ることがある(例えば、小さい)動きを補償してよい。
図8Aおよび
図8Bに示されるように、前方および/または後方基準ピクチャ内の予測ブロックの間の動き軌道に沿った時間的対称性に基づいて、動きベクトルを推定するために、FRUCバイラテラルマッチングが、使用されてよい。例えば、2つの予測ブロックと関連付けられた動きベクトルの値は、カレントピクチャとそれらのそれぞれの基準ピクチャとの間の時間的距離に比例してよい。バイラテラルマッチングベースの動き推定は、おそらくは、例えば、2つの基準ブロック(例えば、ランダムアクセス構成における最も高い時間的レイヤ内のコーディングブロック)の間に、小さい並進運動(例えば、それだけ)が存在し得るとき、1つまたは複数の(例えば、信頼できる)動きベクトルを提供することができる。
【0140】
例えば、シナリオの中でもとりわけ、少なくとも1つのサブブロックが、FRUCバイラテラルモードによってコーディングされるとき、サブブロック内部のサンプルの1つまたは複数の真の動きベクトルは、コヒーレントであってよい(例えば、コヒーレントであるべきである)。1つまたは複数の技法においては、FRUCバイラテラルモードによってコーディングされる1つまたは複数のサブブロックについての通常のMCプロセスの間、BIOは、無効にされてよい。
図22は、MCステージにおいてFRUCバイラテラルブロックのためのBIOプロセスを無効にした後の、予測生成プロセスについての例示的な図を示している。例えば、デコーダ側において、おそらくは、デコーダが、ひとたび、FRUCバイラテラルモードがブロックをコーディングするために使用される/使用されたと決定し得ると、BIOプロセスは、バイパスされてよい。
【0141】
本明細書において説明されるように、BIOは、2つの動きベクトルが、時間領域において対称であってよい(例えば、常に対称であってよい)、1つまたは複数のFRUCバイラテラルサブブロックについては、スキップされてよい。おそらくは、シナリオの中でもとりわけ、さらなる複雑さ低減を達成するために、少なくとも1つの双予測されたサブブロックの少なくとも2つの動きベクトルの間の(例えば、絶対)差に基づいて、BIOプロセスは、MCステージにおいて、スキップされてよい。例えば、時間領域において近似的に比例してよい2つの動きベクトルによって予測されてよい1つまたは複数のサブブロックについては、2つの予測ブロックは、高い相関があり、および/またはサブブロックレベルのMCにおいて使用される動きベクトルは、予測ブロックの間の真の動きを正確に反映するのに十分であり得ることが、合理的に仮定されてよい。1つまたは複数のシナリオにおいては、BIOプロセスは、それらのサブブロックについて、スキップされてよい。それの動きベクトルが時間的に比例しないことがある(例えば、決して比例し得ない)双予測されたサブブロックのシナリオの場合、サブブロックレベルの動き補償された予測上において、BIOが、実行されてよい。
【0142】
図3におけるのと同じ表記を使用すると、例えば、(MV
x0,MV
y0)および/または(MV
x1,MV
y1)は、2つの予測ブロックを生成するために使用されてよい、サブブロックレベルの動きベクトル(例えば、予測信号)を表す。また、τ
0およびτ
1は、
前方および/または後方時間的基準ピクチャの、カレントピクチャまでの時間的距離を表す。また、(MV
s
x1,MV
s
y1)は、(MV
x1,MV
y1)のスケーリングされたバージョンとして算出されてよく、
【0143】
【0144】
のように、τ0およびτ1に基づいて生成されてよい。
【0145】
(28)に基づいて、おそらくは、1つまたは複数の企図された技法が、適用されてよいとき、BIOプロセスは、少なくとも1つのブロックおよび/またはサブブロックについて、スキップされてよい。例えば、(28)に基づいて、2つの予測ブロック(例えば、基準ブロック)は、類似または非類似であると決定されて(例えば、予測差に基づいて決定されて)よい。2つの予測ブロック(例えば、基準ブロック)が、類似する場合、BIOプロセスは、少なくとも1つのブロックまたはサブブロックについて、スキップされてよい。2つの予測ブロック(例えば、基準ブロック)が、非類似である場合、BIOプロセスは、少なくとも1つのブロックまたはサブブロックについて、スキップされなくてよい。例えば、2つの予測ブロックは、以下の条件が満足されるとき、類似すると決定されてよい。
【0146】
【0147】
変数thresは、動きベクトル差の事前定義/事前決定された閾値を示してよい。さもなければ、カレントサブブロックのサブブロックレベルのMCのために使用されてよい動きベクトルは、不正確と見なされてよい。とりわけ、そのようなシナリオにおいては、BIOが、サブブロックに対してまだ適用されてよい。例えば、変数thresは、伝達されて、および/または望ましいコーディング性能に基づいて決定されて(例えば、デコーダによって決定されて)よい。
【0148】
図23は、BIOが、(29)の動きベクトル差基準に基づいて、無効にされてよい、例示的な予測生成プロセスを示している。(29)から分かるように、MCステージにおいて、少なくとも1つのブロックまたはサブブロックが、BIOプロセスをスキップすることができるかどうかを決定するために、動きベクトル差の閾値(例えば、thres)が、使用されてよい。言い換えると、BIOプロセスをスキップすることが、全体的なエンコーディング/デコーディング複雑さに対して、無視できない影響を有し得る、または有し得ないところを識別するために、閾値が、使用されてよい。BIOプロセスをスキップすべきか、それともスキップすべきでないかを決定するために、閾値が、使用されてよい。1つまたは複数の技法においては、エンコーダおよび/またはデコーダにおいて、1つもしくは複数またはすべてのピクチャに対して、動きベクトル差の同じ閾値が、使用されてよい。1つまたは複数の技法においては、異なるピクチャに対して、1つまたは複数の異なる閾値が、使用されてよい。例えば、ランダムアクセス構成においては、高い時間的レイヤにおけるピクチャに対しては、(例えば、おそらくは、より小さい動きのせいで)相対的に小さい閾値が、使用されてよい。例えば、低い時間的レイヤにおけるピクチャに対しては、(例えば、より大きい動きのせいで)相対的に大きい閾値が、使用されてよい。
【0149】
(28)および(29)に示されるように、動きベクトル差を算出するために、動きベクトルスケーリングが、(MVx1,MVy1)に適用されてよい。例えば、(28)における動きベクトルスケーリングが、適用され、および/またはτ0>τ1が仮定されるとき、(MVx1,MVy1)の動き推定によって招かれる誤差は、増幅されることがある。動きベクトルスケーリングは、カレントピクチャから相対的に大きい時間的距離を有する、基準ピクチャと関連付けられた、動きベクトルに適用されてよい(例えば、常に適用されてよい)。例えば、τ0≦τ1であるとき、(例えば、(28)および(29)によって示されるような)動きベクトル差を算出するために、動きベクトル(MVx1,MVy1)が、スケーリングされてよい。そうではなく、例えば、τ0>τ1である場合、
【0150】
【0151】
として示されるように、動きベクトル差を算出するために、動きベクトル(MVx0,MVy0)が、スケーリングされてよい。
【0152】
本明細書において説明されるように、2つの基準ピクチャのカレントピクチャまでの時間的距離が、異なる(例えば、τ0≠τ1)とき、動きベクトルスケーリングが、適用されてよい。(例えば、除算および/または丸め操作のせいで)動きベクトルスケーリングは、追加の誤差を導入することができるので、それは、スケーリングされた動きベクトルの精度に影響する(例えば、精度を低減させる)ことができる。シナリオの中でもとりわけ、そのような誤差を回避する、または低減させるため、おそらくは、例えば、少なくとも2つまたは最大2つの基準ピクチャ(例えば、基準ブロック)の、カレントサブブロックからの時間的距離が、同じであり得る、または実質的に類似し得る(例えば、τ0=τ1)とき(例えば、そのときだけ)、MCステージにおいてBIOを無効にするために、((30)および(31)に示されるような)動きベクトル差が、使用されてよい(例えば、使用されるだけでよい)。
【0153】
本明細書において説明されるように、(例えば、2つの基準ブロックが類似するかどうかに基づいて)MCステージにおいて少なくとも1つのサブブロックについて、BIOプロセスがスキップされることができるかどうかを決定するための測定として、動きベクトル差が、使用されてよい。2つの基準ブロックの間の動きベクトル差が、相対的に小さい(例えば、閾値を下回る)とき、(例えば、実質的な)コーディング損失を招くことなく、BIOが無効にされることができるように、2つの予測ブロックは類似し得る(例えば、高い相関があり得る)と仮定することが合理的なことがある。動きベクトル差は、2つの予測ブロック(例えば、基準ブロック)の間の類似性(例えば、相関)を測定するための、多くの方法のうちの1つであってよい。1つまたは複数の技法においては、2つの予測ブロックの間の相関は、2つの予測ブロックの間の平均差を算出することによって、例えば、
【0154】
【0155】
によって、決定されてよい。
【0156】
変数I
(0)(x,y)およびI
(1)(x,y)は、前方および/または後方基準ピクチャ(例えば、基準ブロック)から導出された動き補償されたブロックの座標(x,y)における、サンプル値である。サンプル値は、それぞれの基準ブロックのそのルーマ値と関連付けられてよい。サンプル値は、それらのそれぞれの基準ブロックから補間されてよい。変数B、およびNは、それぞれ、サンプル座標の集合、およびカレントブロックまたはサブブロック内において定義されたサンプルの数である。変数Dは、誤差の平方和(SSE)、差分絶対値の和(SAD)、および/または変換された差分絶対値の和(SATD)など、1つまたは複数の異なる測定/メトリックがそれに対して適用されてよい、歪み測定である。(32)を与えられると、おそらくは、例えば、差分測定が、1つまたは複数の事前定義/事前決定された閾値以下であり得る、例えば、Diff≦D
thresであるとき、BIOは、MCステージにおいて、スキップされることができる。そうではないとき、カレントサブブロックの2つの予測信号は、非類似である(例えば、相関がより小さい)と見なされてよく、それに対して、BIOが、適用されてよい(例えば、まだ適用されてよい)。本明細書において説明されるように、D
thresは、伝達されて、または(例えば、望ましいコーディング性能に基づいて)デコーダによって決定されてよい。
図24は、2つの予測信号の間の差分を測定することに基づいて、BIOがスキップされた後の、予測生成プロセスの例を示している。
【0157】
本明細書において説明されるように、BIOプロセスは、CUまたは(例えば、CUを有するサブブロックにおける)サブCUレベルにおいて、条件付きでスキップされてよい。例えば、エンコーダおよび/またはデコーダは、カレントCUについて、BIOがスキップされてよいと決定してよい。本明細書において説明されるように、この決定は、(例えば、(28)、(29)、(30)、(31)、および/または(32)を使用する)カレントCUと関連付けられた2つの基準ブロックの類似性に基づいてよい。エンコーダおよび/またはデコーダが、カレントCUについて、BIOがスキップされるべきであると決定した場合、エンコーダおよび/またはデコーダは、有効にされたサブブロックコーディングを用いて、カレントCUがコーディングされるかどうかを決定してよい。有効にされたサブブロックコーディングを用いて、カレントCUがコーディングされる場合、エンコーダおよび/またはデコーダは、CU内のサブブロックについて、BIOがスキップされてよいと決定してよい。
【0158】
図24に示されるように、BIOプロセスは、それの2つの予測信号の間の歪みが閾値以下であり得る、カレントCUまたはカレントCU内部のサブブロックについて、条件付きでスキップされてよい。歪み測定の算出、およびBIOプロセスは、サブブロックに基づいて、実行されてよく、カレントCU内のサブブロックのために、頻繁に起動されてよい。カレントCUについて、BIOプロセスをスキップすべきかどうかを決定するために、CUレベルの歪み測定が、使用されてよい。異なるブロックレベルから算出される歪み値に基づいて、BIOプロセスが、スキップされてよい、マルチステージ早期終了(multi-stage early termination)が、実行されてよい。
【0159】
歪みは、カレントCU内のいくつか(例えば、すべて)のサンプルを考慮して、算出されてよい。例えば、CUレベルの歪みが、十分に小さい(例えば、事前定義されたCUレベルの閾値以下)である場合、CUについて、BIOプロセスが、スキップされてよく、そうではない場合、サブブロックレベルにおいて、BIOプロセスをスキップすべきかどうかを決定するために、カレントCU内部の各サブブロックについての歪みが、算出および使用されてよい。
図26は、マルチステージ早期終了がBIOに対して適用される、例示的な動き補償された予測プロセスを示している。
図26の変数
【0160】
【0161】
および
【0162】
【0163】
は、基準ピクチャリストL0およびL1からカレントCUのために生成された予測信号を表し、
【0164】
【0165】
および
【0166】
【0167】
は、CU内部の第iのサブブロックのために生成された対応する予測信号を表す。
【0168】
本明細書において説明されるように、例えば、カレントCUについて、BIO操作が無効にされてよいかどうかを決定するために、CUレベルの歪みが、算出されてよい。CU内部のサブブロックの動き情報は、高い相関があってよく、または高い相関がなくてよい。CU内部のサブブロックの歪みは、変化してよい。マルチステージ早期終了が、実行されてよい。例えば、CUは、サブブロックからなる複数のグループに分割されてよく、グループは、類似の(例えば、同じ)動き情報(例えば、同じ基準ピクチャインデックスおよび同じ動きベクトル)を有する、連続するサブブロックを含んでよい。各サブブロックグループについて、歪み測定が、算出されてよい。例えば、1つのサブブロックグループの歪みが、十分に小さい(例えば、事前定義された閾値以下である)場合、サブブロックグループ内部のサンプルについて、BIOプロセスが、スキップされてよく、そうではない場合、サブブロックについて、BIOプロセスをスキップすべきかどうかを決定するために、サブブロックグループ内部の各サブブロックについての歪みが、算出および使用されてよい。
【0169】
(32)において、I(0)(x,y)およびI(1)(x,y)は、基準ピクチャリストL0およびL1から取得された、座標(x,y)における、動き補償されたサンプルの値(例えば、ルーマ値)を指してよい。動き補償されたサンプルの値は、入力信号ビット深度の精度で(例えば、入力信号が8ビットまたは10ビットビデオである場合、8ビットまたは10ビットで)、定義されてよい。1つの双予測ブロックの予測信号が、入力ビット深度の精度で、L0およびL1からの2つの予測信号を平均することによって、生成されてよい。
【0170】
例えば、MVが、分数サンプル位置をポイントする場合、I
(0)(x,y)およびI
(1)(x,y)は、(入力ビット深度よりも高くてよい)1つの中間精度における補間を使用して、取得され、その後、中間予測信号は、平均操作に先立って、入力ビット深度に丸められる。例えば、1つのブロックに対して、分数MVが使用される場合、入力ビット深度の精度における2つの予測信号は、中間精度(例えば、H.265/HEVCおよびJEMにおいて指定された中間精度)において、平均されてよい。例えば、I
(0)(x,y)およびI
(1)(x,y)を取得するために使用されるMVが、分数サンプル位置に対応する場合、補間フィルタプロセスは、高い精度(例えば、中間ビット深度)において中間値を保ってよい。例えば、2つのMVのうちの一方が、整数動きである(例えば、対応する予測が、補間を適用することなしに、生成される)場合、対応する予測の精度は、平均が適用される前に、中間ビット深度まで増やされてよい。
図27は、高い精度にある2つの中間予測信号を平均するときの、例示的な双予測プロセスを示しており、
【0171】
【0172】
および
【0173】
【0174】
は、中間ビット深度(例えば、HEVCおよびJEMにおいて指定されるような14ビット)にある、リストL0およびL1から取得される、2つの予測信号を指し、BitDepthは、入力ビデオのビット深度を示す。
【0175】
高ビット深度で生成された双予測信号を与えられると、式(32)における2つの予測ブロックの間の対応する歪みは、
【0176】
【0177】
として指定されるように、中間精度において算出されてよく、ここで、
【0178】
【0179】
および
【0180】
【0181】
は、それぞれ、L0およびL1から生成された予測ブロックの、座標(x,y)における、高精度差サンプル値であり、Diff
hは、中間ビット深度において算出される、対応する歪み測定を表す。加えて、おそらくは、(33)における高ビット深度歪みのせいで、(例えば、
図24および
図26に関して、本明細書において説明されたような)BIO早期終了によって使用される、CUレベルの閾値およびサブブロックレベルの閾値は、それらが予測信号の同じビット深度において定義されたように、調整されてよい。例として、L1ノルム歪み(例えば、SAD)を使用すると、以下の式は、歪み閾値を入力ビット深度から中間ビット深度にどのように調整すべきかを説明し得る。
【0182】
【0183】
変数
【0184】
【0185】
および
【0186】
【0187】
は、入力ビット深度の精度における、CUレベルおよびサブブロック歪み閾値であり、
【0188】
【0189】
および
【0190】
【0191】
は、中間ビット深度の精度における、対応する歪み閾値である。
【0192】
本明細書において説明されるように、BIOは、少なくとも1つの動き補償されたブロック内の1つもしくは複数または各サンプルロケーションにおける局所的勾配情報に基づいて、算出されてよい、サンプルに関する動き精緻化を提供してよい。高周波数の細部をあまり含まなくてよい1つの領域(例えば、フラットなエリア)内のサブブロックについては、表1における勾配フィルタを使用して導出されてよい勾配は、小さい傾向があり得る。式(4)に示されるように、局所的勾配(例えば、∂I(k)(x,y)/∂xおよび∂I(k)(x,y)/∂y)が、ゼロに近いとき、BIOから取得される最終的な予測信号は、従来の双予測によって生成される予測信号に近似的に等しくてよく、例えば、
【0193】
【0194】
である。
【0195】
1つまたは複数の技法においては、BIOは、十分および/または豊富な高周波数情報を含んでよいサブブロックの1つまたは複数の予測サンプルに適用されてよい(例えば、適用されるだけでよい)。少なくとも1つのサブブロックの予測信号が、高周波数情報を含むかどうかの決定は、例えば、少なくとも1つのサブブロック内のサンプルについての勾配の平均の大きさに基づいて、行われることができる。おそらくは、例えば、平均が、少なくとも1つの閾値よりも小さい場合、サブブロックは、フラットなエリアとして分類されてよく、および/またはBIOは、サブブロックに適用されなくてよい。そうではない場合、少なくとも1つのサブブロックは、BIOがまだ適用可能であってよい、十分な高周波数情報/細部を含むと見なされてよい。1つもしくは複数または各基準ピクチャについての1つまたは複数の閾値の値は、おそらくは、例えば、その基準ピクチャにおける平均勾配に基づいて、事前決定および/または適応的に決定されてよい。1つまたは複数の技法においては、カレントサブブロックが1つのフラットなエリアに属し得るかどうかを決定するために、勾配情報が、算出されてよい(例えば、算出されるだけでよい)。いくつかの技法においては、この勾配情報は、((4)に示されるような)BIO予測信号を生成するために使用されてよい勾配値ほど正確でなくてよい。BIOを少なくとも1つのサブブロックに適用すべきかどうかを決定するために、相対的に単純な勾配フィルタが、使用されてよい。例えば、水平および/または垂直勾配を導出するために、2タップフィルタ[-1,1]が、適用されてよい。
図25は、勾配ベースのBIOのスキップを適用した後の、予測生成プロセスの例示的なフローチャートを示している。
【0196】
MCステージにおいてBIOをスキップしてよい、本明細書において個々に説明された1つまたは複数の技法は、共同で適用されてよい(例えば、2つ以上の技法が、組み合わされてよいなど)。本明細書において説明された、1つまたは複数の技法、閾値、式、および/または要因/条件などは、自由に組み合わされてよい。本明細書において説明された、技法、閾値、式、および/または要因/条件などの1つまたは複数の異なる組み合わせは、コーディング性能、および/またはエンコーディング/デコーディング複雑さの低減に関して、異なるトレードオフを提供することができる。例えば、本明細書において説明された、技法、閾値、式、および/または要因/条件などのうちの1つまたは複数は、少なくとも1つのブロック/サブブロックについて、BIOプロセスが無効にされてよい(例えば、完全に無効にされて)ように、共同でまたは別々に実施されてよい。
【0197】
図28Aは、1つまたは複数の開示される実施形態が実施されてよい、例示的な通信システム100を示す図である。通信システム100は、音声、データ、ビデオ、メッセージング、放送などのコンテンツを複数の無線ユーザに提供する、多元接続システムであってよい。通信システム100は、複数の無線ユーザが、無線帯域幅を含むシステムリソースの共用を通して、そのようなコンテンツにアクセスすることを可能にしてよい。例えば、通信システム100は、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交FDMA(OFDMA)、シングルキャリアFDMA(SC-FDMA)、ゼロテールユニークワードDFT拡散OFDM(ZT UW DTS-s OFDM)、ユニークワードOFDM(UW-OFDM)、リソースブロックフィルタードOFDM、およびフィルタバンクマルチキャリア(FBMC)など、1つまたは複数のチャネルアクセス方法を利用してよい。
【0198】
図28Aに示されるように、通信システム100は、無線送信/受信ユニット(WTRU)102a、102b、102c、102dと、RAN104/113と、CN106/115と、公衆交換電話網(PSTN)108と、インターネット110と、他のネットワーク112とを含んでよいが、開示される実施形態は、任意の数のWTRU、基地局、ネットワーク、および/またはネットワーク要素を企図していることが理解されよう。WTRU102a、102b、102c、102dの各々は、無線環境において動作および/または通信するように構成された任意のタイプのデバイスであってよい。例として、それのどれもが、「局」および/または「STA」と呼ばれてよい、WTRU102a、102b、102c、102dは、無線信号を送信および/または受信するように構成されてよく、ユーザ機器(UE)、移動局、固定または移動加入者ユニット、サブスクリクションベースのユニット、ページャ、セルラ電話、パーソナルデジタルアシスタント(PDA)、スマートフォン、ラップトップ、ネットブック、パーソナルコンピュータ、無線センサ、ホットスポットまたはMi-Fiデバイス、モノノインターネット(IoT)デバイス、ウォッチまたは他のウェアラブル、ヘッドマウントディスプレイ(HMD)、乗物、ドローン、医療用デバイスおよびアプリケーション(例えば、遠隔手術)、工業用デバイスおよびアプリケーション(例えば、工業用および/または自動化された処理チェーン状況において動作するロボットおよび/または他の無線デバイス)、家電デバイス、ならびに商業用および/または工業用無線ネットワーク上において動作するデバイスなどを含んでよい。WTRU102a、102b、102c、102dのいずれも、交換可能に、UEと呼ばれてよい。
【0199】
通信システム100は、基地局114aおよび/または基地局114bも含んでよい。基地局114a、114bの各々は、CN106/115、インターネット110、および/または他のネットワーク112など、1つまたは複数の通信ネットワークへのアクセスを容易にするために、WTRU102a、102b、102c、102dのうちの少なくとも1つと無線でインターフェースをとるように構成された任意のタイプのデバイスであってよい。例として、基地局114a、114bは、基地送受信機局(BTS)、ノードB、eNodeB、ホームノードB、ホームeNodeB、gNB、NRノードB、サイトコントローラ、アクセスポイント(AP)、および無線ルータなどであってよい。基地局114a、114bは、各々が、単一の要素として描かれているが、基地局114a、114bは、任意の数の相互接続された基地局および/またはネットワーク要素を含んでよいことが理解されよう。
【0200】
基地局114aは、RAN104/113の一部であってよく、RAN104/113は、他の基地局、および/または基地局コントローラ(BSC)、無線ネットワークコントローラ(RNC)、中継ノードなどのネットワーク要素(図示されず)も含んでよい。基地局114aおよび/または基地局114bは、セル(図示されず)と呼ばれてよい、1つまたは複数のキャリア周波数上において、無線信号を送信および/または受信するように構成されてよい。これらの周波数は、免許要スペクトル、免許不要スペクトル、または免許要スペクトルと免許不要スペクトルとの組み合わせの中にあってよい。セルは、相対的に一定であってよい、または時間とともに変化してよい特定の地理的エリアに、無線サービス用のカバレージを提供してよい。セルは、さらに、セルセクタに分割されてよい。例えば、基地局114aと関連付けられたセルは、3つのセクタに分割されてよい。したがって、一実施形態においては、基地局114aは、送受信機を3つ、すなわち、セルの各セクタに対して1つずつ含んでよい。実施形態においては、基地局114aは、多入力多出力(MIMO)技術を利用してよく、セルの各セクタに対して複数の送受信機を利用してよい。例えば、所望の空間方向において信号を送信および/または受信するために、ビームフォーミングが使用されてよい。
【0201】
基地局114a、114bは、エアインターフェース116上において、WTRU102a、102b、102c、102dのうちの1つまたは複数と通信してよく、エアインターフェース116は、任意の適切な無線通信リンク(例えば、無線周波(RF)、マイクロ波、センチメートル波、マイクロメートル波、赤外線(IR)、紫外線(UV)、可視光など)であってよい。エアインターフェース116は、任意の適切な無線アクセス技術(RAT)を使用して、確立されてよい。
【0202】
より具体的には、上で言及されたように、通信システム100は、多元接続システムであってよく、CDMA、TDMA、FDMA、OFDMA、およびSC-FDMAなど、1つまたは複数のチャネルアクセス方式を利用してよい。例えば、RAN104/113内の基地局114aと、WTRU102a、102b、102cとは、広帯域CDMA(WCDMA)を使用して、エアインターフェース115/116/117を確立してよい、ユニバーサル移動体通信システム(UMTS)地上無線アクセス(UTRA)などの無線技術を実施してよい。WCDMAは、高速パケットアクセス(HSPA)および/または進化型HSPA(HSPA+)などの通信プロトコルを含んでよい。HSPAは、高速ダウンリンク(DL)パケットアクセス(HSDPA)、および/または高速アップリンク(UL)パケットアクセス(HSUPA)を含んでよい。
【0203】
実施形態においては、基地局114aと、WTRU102a、102b、102cとは、ロングタームエボリューション(LTE)、および/またはLTEアドバンスト(LTE-A)、および/またはLTEアドバンストプロ(LTE-A Pro)を使用して、エアインターフェース116を確立してよい、進化型UMTS地上無線アクセス(E-UTRA)などの無線技術を実施してよい。
【0204】
実施形態においては、基地局114aと、WTRU102a、102b、102cとは、ニューラジオ(NR)を使用して、エアインターフェース116を確立してよい、NR無線アクセスなどの無線技術を実施してよい。
【0205】
実施形態においては、基地局114aと、WTRU102a、102b、102cとは、複数の無線アクセス技術を実施してよい。例えば、基地局114aと、WTRU102a、102b、102cとは、例えば、デュアルコネクティビティ(DC)原理を使用して、LTE無線アクセスと、NR無線アクセスとを一緒に実施してよい。したがって、WTRU102a、102b、102cによって利用されるエアインターフェースは、複数のタイプの無線アクセス技術、ならびに/または複数のタイプの基地局(例えば、eNBおよびgNB)に送信される/そこから送信される送信によって特徴付けられてよい。
【0206】
他の実施形態においては、基地局114aと、WTRU102a、102b、102cとは、IEEE802.11(すなわち、ワイヤレスフィデリティ(WiFi))、IEEE802.16(すなわち、Worldwide Interoperability for Microwave Access(WiMAX))、CDMA2000、CDMA2000 1X、CDMA2000 EV-DO、暫定標準2000(IS-2000)、暫定標準95(IS-95)、暫定標準856(IS-856)、移動体通信用グローバルシステム(GSM)、GSMエボリューション用高速データレート(EDGE)、およびGSM EDGE(GERAN)などの無線技術を実施してよい。
【0207】
図28Aにおける基地局114bは、例えば、無線ルータ、ホームノードB、ホームeNodeB、またはアクセスポイントであってよく、事業所、自宅、乗物、キャンパス、産業用施設、(例えば、ドローンによって使用される)エアコリド、および車道など、局所化されたエリアにおける無線接続性を容易にするために、任意の適切なRATを利用してよい。一実施形態においては、基地局114bと、WTRU102c、102dとは、IEEE802.11などの無線技術を実施して、無線ローカルエリアネットワーク(WLAN)を確立してよい。実施形態においては、基地局114bと、WTRU102c、102dとは、IEEE802.15などの無線技術を実施して、無線パーソナルエリアネットワーク(WPAN)を確立してよい。また別の実施形態においては、基地局114bと、WTRU102c、102dとは、セルラベースのRAT(例えば、WCDMA、CDMA2000、GSM、LTE、LTE-A、LTE-A Pro、NRなど)を利用して、ピコセルまたはフェムトセルを確立してよい。
図28Aに示されるように、基地局114bは、インターネット110への直接的な接続を有してよい。したがって、基地局114bは、CN106/115を介してインターネット110にアクセスする必要がないことがある。
【0208】
RAN104/113は、CN106/115と通信してよく、CN106/115は、音声、データ、アプリケーション、および/またはボイスオーバインターネットプロトコル(VoIP)サービスを、WTRU102a、102b、102c、102dのうちの1つまたは複数に提供するように構成された任意のタイプのネットワークであってよい。データは、異なるスループット要件、遅延要件、エラー耐性要件、信頼性要件、データスループット要件、およびモビリティ要件など、様々なサービス品質(QoS)要件を有してよい。CN106/115は、呼制御、ビリングサービス、モバイルロケーションベースのサービス、プリペイド発呼、インターネット接続性、ビデオ配信などを提供してよく、および/またはユーザ認証など、高レベルセキュリティ機能を実行してよい。
図28Aには示されていないが、RAN104/113および/またはCN106/115は、RAN104/113と同じRATまたは異なるRATを利用する他のRANと直接的または間接的通信を行ってよいことが理解されよう。例えば、NR無線技術を利用していることがあるRAN104/113に接続されていることに加えて、CN106/115は、GSM、UMTS、CDMA2000、WiMAX、E-UTRA、またはWiFi無線技術を利用する別のRAN(図示されず)とも通信してよい。
【0209】
CN106/115は、WTRU102a、102b、102c、102dが、PSTN108、インターネット110、および/または他のネットワーク112にアクセスするためのゲートウェイとしての役割も果たしてよい。PSTN108は、基本電話サービスを提供する、回線交換電話網を含んでよい。インターネット110は、TCP/IPインターネットプロトコルスイート内の伝送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、および/またはインターネットプロトコル(IP)など、共通の通信プロトコルを使用する、相互接続されたコンピュータネットワークおよびデバイスからなる地球規模のシステムを含んでよい。ネットワーク112は、他のサービスプロバイダによって所有および/または運営される、有線および/または無線通信ネットワークを含んでよい。例えば、ネットワーク112は、RAN104/113と同じRATまたは異なるRATを利用してよい1つまたは複数のRANに接続された、別のCNを含んでよい。
【0210】
通信システム100内のWTRU102a、102b、102c、102dのうちのいくつかまたはすべては、マルチモード機能を含んでよい(例えば、WTRU102a、102b、102c、102dは、異なる無線リンク上において、異なる無線ネットワークと通信するための、複数の送受信機を含んでよい)。例えば、
図28Aに示されるWTRU102cは、セルラベースの無線技術を利用してよい基地局114aと通信するように、またIEEE802無線技術を利用してよい基地局114bと通信するように構成されてよい。
【0211】
図28Bは、例示的なWTRU102を示すシステム図である。
図28Bに示されるように、WTRU102は、とりわけ、プロセッサ118、送受信機120、送信/受信要素122、スピーカ/マイクロフォン124、キーパッド126、ディスプレイ/タッチパッド128、非リムーバブルメモリ130、リムーバブルメモリ132、電源134、全地球測位システム(GPS)チップセット136、および/または他の周辺機器138を含んでよい。WTRU102は、実施形態との整合性を保ちながら、上記の要素の任意のサブコンビネーションを含んでよいことが理解されよう。
【0212】
プロセッサ118は、汎用プロセッサ、専用プロセッサ、従来型プロセッサ、デジタル信号プロセッサ(DSP)、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)回路、他の任意のタイプの集積回路(IC)、および状態機械などであってよい。プロセッサ118は、信号コーディング、データ処理、電力制御、入力/出力処理、および/またはWTRU102が無線環境において動作することを可能にする他の任意の機能性を実行してよい。プロセッサ118は、送受信機120に結合されてよく、送受信機120は、送信/受信要素122に結合されてよい。
図28Bは、プロセッサ118と送受信機120を別個の構成要素として描いているが、プロセッサ118と送受信機120は、電子パッケージまたはチップ内に一緒に統合されてよいことが理解されよう。
【0213】
送信/受信要素122は、エアインターフェース116上において、基地局(例えば、基地局114a)に信号を送信し、または基地局から信号を受信するように構成されてよい。例えば、一実施形態においては、送信/受信要素122は、RF信号を送信および/または受信するように構成されたアンテナであってよい。実施形態においては、送信/受信要素122は、例えば、IR、UV、または可視光信号を送信および/または受信するように構成された放射器/検出器であってよい。また別の実施形態においては、送信/受信要素122は、RF信号および光信号の両方を送信および/または受信するように構成されてよい。送信/受信要素122は、無線信号の任意の組み合わせを送信および/または受信するように構成されてよいことが理解されよう。
【0214】
図28Bにおいては、送信/受信要素122は、単一の要素として描かれているが、WTRU102は、任意の数の送信/受信要素122を含んでよい。より具体的には、WTRU102は、MIMO技術を利用してよい。したがって、一実施形態においては、WTRU102は、エアインターフェース116上において無線信号を送信および受信するための2つ以上の送信/受信要素122(例えば、複数のアンテナ)を含んでよい。
【0215】
送受信機120は、送信/受信要素122によって送信されることになる信号を変調し、送信/受信要素122によって受信された信号を復調するように構成されてよい。上で言及されたように、WTRU102は、マルチモード機能を有してよい。したがって、送受信機120は、WTRU102が、例えば、NRおよびIEEE802.11など、複数のRATを介して通信することを可能にするための、複数の送受信機を含んでよい。
【0216】
WTRU102のプロセッサ118は、スピーカ/マイクロフォン124、キーパッド126、および/またはディスプレイ/タッチパッド128(例えば、液晶表示(LCD)ディスプレイユニットもしくは有機発光ダイオード(OLED)ディスプレイユニット)に結合されてよく、それらからユーザ入力データを受信してよい。プロセッサ118は、スピーカ/マイクロフォン124、キーパッド126、および/またはディスプレイ/タッチパッド128にユーザデータを出力してもよい。加えて、プロセッサ118は、非リムーバブルメモリ130および/またはリムーバブルメモリ132など、任意のタイプの適切なメモリから情報を入手してよく、それらにデータを記憶してよい。非リムーバブルメモリ130は、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、ハードディスク、または他の任意のタイプのメモリ記憶デバイスを含んでよい。リムーバブルメモリ132は、加入者識別モジュール(SIM)カード、メモリスティック、およびセキュアデジタル(SD)メモリカードなどを含んでよい。他の実施形態においては、プロセッサ118は、サーバまたはホームコンピュータ(図示されず)上などに配置された、WTRU102上に物理的に配置されていないメモリから情報を入手してよく、それらにデータを記憶してよい。
【0217】
プロセッサ118は、電源134から電力を受け取ってよく、WTRU102内の他の構成要素に電力を分配するように、および/またはそれらへの電力を制御するように構成されてよい。電源134は、WTRU102に給電するための任意の適切なデバイスであってよい。例えば、電源134は、1つまたは複数の乾電池(例えば、ニッケル-カドミウム(NiCd)、ニッケル-亜鉛(NiZn)、ニッケル水素(NiMH)、リチウム-イオン(Li-ion)など)、太陽電池、および燃料電池などを含んでよい。
【0218】
プロセッサ118は、GPSチップセット136にも結合されてよく、GPSチップセット136は、WTRU102の現在のロケーションに関するロケーション情報(例えば、経度および緯度)を提供するように構成されてよい。GPSチップセット136からの情報に加えて、またはそれの代わりに、WTRU102は、基地局(例えば、基地局114a、114b)からエアインターフェース116上においてロケーション情報を受信してよく、および/または2つ以上の近くの基地局から受信されている信号のタイミングに基づいて、自らのロケーションを決定してよい。WTRU102は、実施形態との整合性を保ちながら、任意の適切なロケーション決定方法を用いて、ロケーション情報を取得してよいことが理解されよう。
【0219】
プロセッサ118は、さらに他の周辺機器138に結合されてよく、他の周辺機器138は、追加の特徴、機能性、および/または有線もしくは無線接続性を提供する、1つまたは複数のソフトウェアモジュールおよび/またはハードウェアモジュールを含んでよい。例えば、周辺機器138は、加速度計、eコンパス、衛星送受信機、(写真および/またはビデオ用の)デジタルカメラ、ユニバーサルシリアルバス(USB)ポート、バイブレーションデバイス、テレビ送受信機、ハンズフリーヘッドセット、Bluetooth(登録商標)モジュール、周波数変調(FM)ラジオユニット、デジタル音楽プレーヤ、メディアプレーヤ、ビデオゲームプレーヤモジュール、インターネットブラウザ、仮想現実および/または拡張現実(VR/AR)デバイス、ならびにアクティビティトラッカなどを含んでよい。周辺機器138は、1つまたは複数のセンサを含んでよく、センサは、ジャイロスコープ、加速度計、ホール効果センサ、磁力計、方位センサ、近接センサ、温度センサ、時間センサ、ジオロケーションセンサ、高度計、光センサ、タッチセンサ、磁力計、気圧計、ジェスチャセンサ、バイオメトリックセンサ、および/または湿度センサのうちの1つまたは複数であってよい。
【0220】
WTRU102は、(例えば、(例えば、送信用の)ULと(例えば、受信用の))ダウンリンクの両方のための特定のサブフレームと関連付けられた信号のいくつかまたはすべての送信および受信が、並列および/または同時であってよい、全二重無線を含んでよい。全二重無線は、ハードウェア(例えば、チョーク)を介して、またはプロセッサ(例えば、別個のプロセッサ(図示されず)もしくはプロセッサ118)を介する信号処理を介して、自己干渉を低減させ、および/または実質的に除去するために、干渉管理ユニット139を含んでよい。実施形態においては、WTRU102は、(例えば、(例えば、送信用の)ULまたは(例えば、受信用の)ダウンリンクのどちらかのための特定のサブフレームと関連付けられた)信号のいくつかまたはすべての送信および受信のための、半二重無線を含んでよい。
【0221】
図28Cは、実施形態に従った、RAN104およびCN106を示すシステム図である。上で言及されたように、RAN104は、E-UTRA無線技術を利用して、エアインターフェース116上において、WTRU102a、102b、102cと通信してよい。RAN104は、CN106とも通信してよい。
【0222】
RAN104は、eNodeB160a、160b、160cを含んでよいが、RAN104は、実施形態との整合性を保ちながら、任意の数のeNodeBを含んでよいことが理解されよう。eNodeB160a、160b、160cは、各々が、エアインターフェース116上においてWTRU102a、102b、102cと通信するための、1つまたは複数の送受信機を含んでよい。一実施形態においては、eNodeB160a、160b、160cは、MIMO技術を実施してよい。したがって、eNodeB160aは、例えば、複数のアンテナを使用して、WTRU102aに無線信号を送信し、および/またはWTRU102aから無線信号を受信してよい。
【0223】
eNodeB160a、160b、160cの各々は、特定のセル(図示されず)と関連付けられてよく、無線リソース管理決定、ハンドオーバ決定、ならびにULおよび/またはDLにおけるユーザのスケジューリングなどを処理するように構成されてよい。
図28Cに示されるように、eNodeB160a、160b、160cは、X2インターフェース上において、互いに通信してよい。
【0224】
図28Cに示されるCN106は、モビリティ管理エンティティ(MME)162と、サービングゲートウェイ(SGW)164と、パケットデータネットワーク(PDN)ゲートウェイ(またはPGW)166とを含んでよい。上記の要素の各々は、CN106の部分として描かれているが、これらの要素のうちのいずれも、CNオペレータとは異なるエンティティによって所有および/または運営されてよいことが理解されよう。
【0225】
MME162は、S1インターフェースを介して、RAN104内のeNodeB160a、160b、160cの各々に接続されてよく、制御ノードとしての役割を果たしてよい。例えば、MME162は、WTRU102a、102b、102cのユーザを認証すること、ベアラアクティブ化/非アクティブ化、およびWTRU102a、102b、102cの初期アタッチ中に特定のサービングゲートウェイを選択することなどを担ってよい。MME162は、RAN104と、GSMおよび/またはWCDMAなどの他の無線技術を利用する他のRAN(図示されず)との間における交換のためのコントロールプレーン機能を提供してよい。
【0226】
SGW164は、S1インターフェースを介して、RAN104内のeNodeB160a、160b、160cの各々に接続されてよい。SGW164は、一般に、ユーザデータパケットを、WTRU102a、102b、102cに/WTRU102a、102b、102cからルーティングおよび転送してよい。SGW164は、eNodeB間ハンドオーバ中にユーザプレーンをアンカリングすること、DLデータがWTRU102a、102b、102cに利用可能なときにページングをトリガすること、ならびにWTRU102a、102b、102cのコンテキストを管理および記憶することなど、他の機能を実行してよい。
【0227】
SGW164は、PGW166に接続されてよく、PGW166は、インターネット110など、パケット交換ネットワークへのアクセスをWTRU102a、102b、102cに提供して、WTRU102a、102b、102cとIP対応デバイスとの間の通信を容易にしてよい。
【0228】
CN106は、他のネットワークとの通信を容易にしてよい。例えば、CN106は、PSTN108など、回線交換ネットワークへのアクセスをWTRU102a、102b、102cに提供して、WTRU102a、102b、102cと従来の固定電話回線通信デバイスとの間の通信を容易にしてよい。例えば、CN106は、CN106とPSTN108との間のインターフェースとしての役割を果たすIPゲートウェイ(例えば、IPマルチメディアサブシステム(IMS)サーバ)を含んでよく、またはそれと通信してよい。加えて、CN106は、他のネットワーク112へのアクセスをWTRU102a、102b、102cに提供してよく、他のネットワーク112は、他のサービスプロバイダによって所有および/または運営される他の有線および/または無線ネットワークを含んでよい。
【0229】
図28A~
図28Dにおいては、WTRUは、無線端末として説明されるが、ある代表的な実施形態においては、そのような端末は、通信ネットワークとの有線通信インターフェースを(例えば、一時的または永続的に)使用することができることが企図されている。
【0230】
代表的な実施形態においては、他のネットワーク112は、WLANであってよい。
【0231】
インフラストラクチャ基本サービスセット(BSS)モードにあるWLANは、BSSのためのアクセスポイント(AP)と、APと関連付けられた1つまたは複数の局(STA)とを有してよい。APは、トラフィックをBSS内および/またはBSS外に搬送する、ディストリビューションシステム(DS)または別のタイプの有線/無線ネットワークへのアクセスまたはインターフェースを有してよい。BSS外部から発信されたSTAへのトラフィックは、APを通して到着してよく、STAに配送されてよい。STAからBSS外部の送信先に発信されたトラフィックは、それぞれの送信先に配送するために、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モードの通信は、本明細書においては、ときに「アドホック」モードの通信と呼ばれてよい。
【0232】
802.11acインフラストラクチャモードの動作または類似したモードの動作を使用するとき、APは、プライマリチャネルなどの固定されたチャネル上において、ビーコンを送信してよい。プライマリチャネルは、固定された幅(例えば、20MHz幅帯域幅)、またはシグナリングを介して動的に設定された幅であってよい。プライマリチャネルは、BSSの動作チャネルであってよく、APとの接続を確立するために、STAによって使用されてよい。ある代表的な実施形態においては、例えば、802.11システムにおいては、キャリアセンス多重アクセス/衝突回避(CSMA/CA)が、実施されてよい。CSMA/CAの場合、APを含むSTA(例えば、あらゆるSTA)は、プライマリチャネルをセンスしてよい。プライマリチャネルが、センス/検出され、および/または特定のSTAによってビジーであると決定された場合、特定のSTAは、バックオフしてよい。与えられたBSS内においては、任意の与えられた時間に、1つのSTA(例えば、ただ1つの局)が、送信してよい。
【0233】
高スループット(HT)STAは、例えば、プライマリ20MHzチャネルを隣接または非隣接20MHzチャネルと組み合わせて、40MHz幅のチャネルを形成することを介して、通信のために40MHz幅チャネルを使用してよい。
【0234】
超高スループット(VHT)STAは、20MHz、40MHz、80MHz、および/または160MHz幅のチャネルをサポートしてよい。40MHzおよび/または80MHzチャネルは、連続する20MHzチャネルを組み合わせることによって形成されてよい。160MHzチャネルは、8つの連続する20MHzチャネルを組み合わせることによって形成されてよく、または2つの非連続な80MHzチャネルを組み合わせることによって形成されてよく、これは、80+80構成と呼ばれてよい。80+80構成の場合、データは、チャネルエンコーディングの後、データを2つのストリームに分割し得るセグメントパーサを通過させられてよい。各ストリームに対して別々に、逆高速フーリエ変換(IFFT)処理、および時間領域処理が、行われてよい。ストリームは、2つの80MHzチャネル上にマッピングされてよく、データは、送信STAによって送信されてよい。受信STAの受信機においては、80+80構成のための上で説明された動作が、逆転されてよく、組み合わされたデータは、媒体アクセス制御(MAC)に送信されてよい。
【0235】
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デバイスは、(例えば、非常に長いバッテリ寿命を維持するために)閾値を上回るバッテリ寿命を有するバッテリを含んでよい。
【0236】
802.11n、802.11ac、802.11af、および802.11ahなど、複数のチャネルおよびチャネル帯域幅をサポートしてよい、WLANシステムは、プライマリチャネルとして指定されてよいチャネルを含む。プライマリチャネルは、BSS内のすべてのSTAによってサポートされる最大の共通動作帯域幅に等しい帯域幅を有してよい。プライマリチャネルの帯域幅は、BSS内において動作するすべてのSTAの中の、最小帯域幅動作モードをサポートするSTAによって設定および/または制限されてよい。802.11ahの例においては、BSS内のAPおよび他のSTAが、2MHz、4MHz、8MHz、16MHz、および/または他のチャネル帯域幅動作モードをサポートする場合であっても、1MHzモードをサポートする(例えば、それだけをサポートする)STA(例えば、MTCタイプデバイス)のために、プライマリチャネルは、1MHz幅であってよい。キャリアセンシングおよび/またはネットワークアロケーションベクトル(NAV)設定は、プライマリチャネルのステータスに依存してよい。例えば、(1MHz動作モードだけをサポートする)STAが、APに送信しているせいで、プライマリチャネルが、ビジーである場合、周波数バンドの大部分が、アイドルのままであり、利用可能であり得るとしても、利用可能な周波数バンド全体が、ビジーと見なされてよい。
【0237】
米国においては、802.11ahによって使用されてよい利用可能な周波数バンドは、902MHzから928MHzである。韓国においては、利用可能な周波数バンドは、917.5MHzから923.5MHzである。日本においては、利用可能な周波数バンドは、916.5MHzから927.5MHzである。802.11ahのために利用可能な合計帯域幅は、国の規則に応じて、6MHzから26MHzである。
【0238】
図28Dは、実施形態に従った、RAN113およびCN115を示すシステム図である。上で言及されたように、RAN113は、NR無線技術を利用して、エアインターフェース116上において、WTRU102a、102b、102cと通信してよい。RAN113は、CN115とも通信してよい。
【0239】
RAN113は、gNB180a、180b、180cを含んでよいが、RAN113は、実施形態との整合性を保ちながら、任意の数のgNBを含んでよいことが理解されよう。gNB180a、180b、180cは、各々が、エアインターフェース116上においてWTRU102a、102b、102cと通信するための、1つまたは複数の送受信機を含んでよい。一実施形態においては、gNB180a、180b、180cは、MIMO技術を実施してよい。例えば、gNB180a、108bは、ビームフォーミングを利用して、gNB180a、180b、180cに信号を送信し、および/またはgNB180a、180b、180cから信号を受信してよい。したがって、gNB180aは、例えば、複数のアンテナを使用して、WTRU102aに無線信号を送信し、および/またはWTRU102aから無線信号を受信してよい。実施形態においては、gNB180a、180b、180cは、キャリアアグリゲーション技術を実施してよい。例えば、gNB180aは、WTRU102aに複数のコンポーネントキャリアを送信してよい(図示されず)。これらのコンポーネントキャリアのサブセットは、免許不要スペクトル上にあってよいが、残りのコンポーネントキャリアは、免許要スペクトル上にあってよい。実施形態においては、gNB180a、180b、180cは、多地点協調(CoMP)技術を実施してよい。例えば、WTRU102aは、gNB180aとgNB180b(および/またはgNB180c)とから調整された送信を受信してよい。
【0240】
WTRU102a、102b、102cは、スケーラブルなヌメロロジ(numerology)と関連付けられた送信を使用して、gNB180a、180b、180cと通信してよい。例えば、OFDMシンボル間隔、および/またはOFDMサブキャリア間隔は、異なる送信、異なるセル、および/または無線送信スペクトルの異なる部分ごとに様々であってよい。WTRU102a、102b、102cは、(例えば、様々な数のOFDMシンボルを含む、および/または様々な長さの絶対時間だけ持続する)様々なまたはスケーラブルな長さのサブフレームまたは送信時間間隔(TTI)を使用して、gNB180a、180b、180cと通信してよい。
【0241】
gNB180a、180b、180cは、スタンドアロン構成および/または非スタンドアロン構成で、WTRU102a、102b、102cと通信するように構成されてよい。スタンドアロン構成においては、WTRU102a、102b、102cは、(例えば、eNodeB160a、160b、160cなどの)他のRANにアクセスすることもなしに、gNB180a、180b、180cと通信してよい。スタンドアロン構成においては、WTRU102a、102b、102cは、gNB180a、180b、180cのうちの1つまたは複数を、モビリティアンカポイントとして利用してよい。スタンドアロン構成においては、WTRU102a、102b、102cは、免許不要バンド内において信号を使用して、gNB180a、180b、180cと通信してよい。非スタンドアロン構成においては、WTRU102a、102b、102cは、eNodeB160a、160b、160cなどの別のRANとも通信し/別のRANにも接続しながら、gNB180a、180b、180cと通信し/gNB180a、180b、180cに接続してよい。例えば、WTRU102a、102b、102cは、DC原理を実施して、1つまたは複数のgNB180a、180b、180c、および1つまたは複数のeNodeB160a、160b、160cと実質的に同時に通信してよい。非スタンドアロン構成においては、eNodeB160a、160b、160cは、WTRU102a、102b、102cのためのモビリティアンカとしての役割を果たしてよく、gNB180a、180b、180cは、WTRU102a、102b、102cにサービスするための追加のカバレージおよび/またはスループットを提供してよい。
【0242】
gNB180a、180b、180cの各々は、特定のセル(図示されず)と関連付けられてよく、無線リソース管理決定、ハンドオーバ決定、ULおよび/またはDLにおけるユーザのスケジューリング、ネットワークスライシングのサポート、デュアルコネクティビティ、NRとE-UTRAとの間のインターワーキング、ユーザプレーンデータのユーザプレーン機能(UPF)184a、184bへのルーティング、ならびにコントロールプレーン情報のアクセスおよびモビリティ管理機能(AMF)182a、182bへのルーティングなどを処理するように構成されてよい。
図28Dに示されるように、gNB180a、180b、180cは、Xnインターフェース上において、互いに通信してよい。
【0243】
図28Dに示されるCN115は、少なくとも1つのAMF182a、182bと、少なくとも1つのUPF184a、184bと、少なくとも1つのセッション管理機能(SMF)183a、183bと、おそらくは、データネットワーク(DN)185a、185bとを含んでよい。上記の要素の各々は、CN115の部分として描かれているが、これらの要素のうちのいずれも、CNオペレータとは異なるエンティティによって所有および/または運営されてよいことが理解されよう。
【0244】
AMF182a、182bは、N2インターフェースを介して、RAN113内のgNB180a、180b、180cのうちの1つまたは複数に接続されてよく、制御ノードとしての役割を果たしてよい。例えば、AMF182a、182bは、WTRU102a、102b、102cのユーザを認証すること、ネットワークスライシングのサポート(例えば、異なる要件を有する異なるPDUセッションの処理)、特定のSMF183a、183bを選択すること、レジストレーションエリアの管理、NASシグナリングの終了、およびモビリティ管理などを担ってよい。ネットワークスライシングは、WTRU102a、102b、102cによって利用されるサービスのタイプに基づいて、WTRU102a、102b、102cに対するCNサポートをカスタマイズするために、AMF182a、182bによって使用されてよい。例えば、超高信頼低遅延(URLLC)アクセスに依存するサービス、高速大容量モバイルブロードバンド(eMBB)アクセスに依存するサービス、および/またはマシンタイプコミュニケーション(MTC)アクセスのためのサービスなど、異なる使用事例のために、異なるネットワークスライスが、確立されてよい。AMF162は、RAN113と、LTE、LTE-A、LTE-A Pro、および/またはWiFiのような非3GPPアクセス技術など、他の無線技術を利用する他のRAN(図示されず)との間の交換のためのコントロールプレーン機能を提供してよい。
【0245】
SMF183a、183bは、N11インターフェースを介して、CN115内のAMF182a、182bに接続されてよい。SMF183a、183bは、N4インターフェースを介して、CN115内のUPF184a、184bにも接続されてよい。SMF183a、183bは、UPF184a、184bを選択および制御し、UPF184a、184bを通したトラフィックのルーティングを構成してよい。SMF183a、183bは、UE IPアドレスの管理および割り当てを行うこと、PDUセッションを管理すること、ポリシ実施およびQoSを制御すること、ならびにダウンリンクデータ通知を提供することなど、他の機能を実行してよい。PDUセッションタイプは、IPベース、非IPベース、およびイーサネットベースなどであってよい。
【0246】
UPF184a、184bは、N3インターフェースを介して、RAN113内のgNB180a、180b、180cのうちの1つまたは複数に接続されてよく、それらは、インターネット110など、パケット交換ネットワークへのアクセスをWTRU102a、102b、102cに提供して、WTRU102a、102b、102cとIP対応デバイスとの間の通信を容易にしてよい。UPF184a、184bは、パケットをルーティングおよび転送すること、ユーザプレーンポリシを実施すること、マルチホーミングPDUセッションをサポートすること、ユーザプレーンQoSを処理すること、ダウンリンクパケットをバッファすること、ならびにモビリティアンカリングを提供することなど、他の機能を実行してよい。
【0247】
CN115は、他のネットワークとの通信を容易にしてよい。例えば、CN115は、CN115とPSTN108との間のインターフェースとしての役割を果たすIPゲートウェイ(例えば、IPマルチメディアサブシステム(IMS)サーバ)を含んでよく、またはそれと通信してよい。加えて、CN115は、他のネットワーク112へのアクセスをWTRU102a、102b、102cに提供してよく、他のネットワーク112は、他のサービスプロバイダによって所有および/または運営される他の有線および/または無線ネットワークを含んでよい。一実施形態においては、WTRU102a、102b、102cは、UPF184a、184bへのN3インターフェース、およびUPF184a、184bとDN185a、185bとの間のN6インターフェースを介して、UPF184a、184bを通して、ローカルデータネットワーク(DN)185a、185bに接続されてよい。
【0248】
図28A~
図28D、および
図28A~
図28Dについての対応する説明に鑑みて、WTRU102a~d、基地局114a~b、eNodeB160a~c、MME162、SGW164、PGW166、gNB180a~c、AMF182a~b、UPF184a~b、SMF183a~b、DN185a~b、および/または本明細書において説明される他の任意のデバイスのうちの1つまたは複数に関する、本明細書において説明される機能の1つもしくは複数またはすべては、1つまたは複数のエミュレーションデバイス(図示されず)によって実行されてよい。エミュレーションデバイスは、本明細書において説明される機能の1つもしくは複数またはすべてをエミュレートするように構成された、1つまたは複数のデバイスであってよい。例えば、エミュレーションデバイスは、他のデバイスをテストするために、ならびに/またはネットワークおよび/もしくはWTRU機能をシミュレートするために、使用されてよい。
【0249】
エミュレーションデバイスは、実験室環境において、および/またはオペレータネットワーク環境において、他のデバイスの1つまたは複数のテストを実施するように設計されてよい。例えば、1つまたは複数のエミュレーションデバイスは、通信ネットワーク内の他のデバイスをテストするために、有線および/または無線通信ネットワークの一部として、完全または部分的に実施および/または展開されながら、1つもしくは複数またはすべての機能を実行してよい。1つまたは複数のエミュレーションデバイスは、有線および/または無線通信ネットワークの一部として、一時的に実施/展開されながら、1つもしくは複数またはすべての機能を実行してよい。エミュレーションデバイスは、テストの目的で、別のデバイスに直接的に結合されてよく、および/またはオーバザエア無線通信を使用して、テストを実行してよい。
【0250】
1つまたは複数のエミュレーションデバイスは、有線および/または無線通信ネットワークの一部として実施/展開されずに、すべての機能を含む、1つまたは複数の機能を実行してよい。例えば、エミュレーションデバイスは、1つまたは複数の構成要素のテストを実施するために、テスト実験室、ならびに/または展開されていない(例えば、テスト)有線および/もしくは無線通信ネットワークにおける、テストシナリオにおいて利用されてよい。1つまたは複数のエミュレーションデバイスは、テスト機器であってよい。
データを送信および/または受信するために、直接RF結合、および/または(例えば、1つもしくは複数のアンテナを含んでよい)RF回路を介した無線通信が、エミュレーションデバイスによって使用されてよい。
【0251】
上では、特徴および要素が、特定の組み合わせで説明されたが、各特徴または要素は、単独で使用されることができ、または他の特徴および要素との任意の組み合わせで使用されることができることを当業者は理解されよう。加えて、本明細書において説明された方法は、コンピュータおよび/またはプロセッサによって実行される、コンピュータ可読媒体内に含まれる、コンピュータプログラム、ソフトウェア、またはファームウェアで実施されてよい。コンピュータ可読媒体の例は、(有線または無線接続上において送信される)電子信号、およびコンピュータ可読記憶媒体を含む。コンピュータ可読記憶媒体の例は、限定されることなく、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードディスクおよびリムーバブルディスクなどの磁気媒体、光磁気媒体、ならびにCD-ROMディスクおよびデジタル多用途ディスク(DVD)などの光媒体を含む。WTRU、UE、端末、基地局、RNC、または任意のホストコンピュータにおいて使用される、無線周波数送受信機を実施するために、ソフトウェアと関連付けられたプロセッサが、使用されてよい。
【符号の説明】
【0252】
100 通信システム
102a 受信ユニット(WTRU)
102b 受信ユニット(WTRU)
102c 受信ユニット(WTRU)
102d 受信ユニット(WTRU)
108 公衆交換電話網(PSTN)
110 インターネット
112 ネットワーク
114a 基地局
114b 基地局
116 エアインターフェース
118 プロセッサ
120 送受信機
122 受信要素
124 マイクロフォン
126 キーパッド
128 タッチパッド
130 非リムーバブルメモリ
132 リムーバブルメモリ
134 電源
136 チップセット
138 周辺機器
139 干渉管理ユニット
162 モビリティ管理エンティティ(MME)
164 サービングゲートウェイ(SGW)
166 ゲートウェイ(またはPGW)
182a モビリティ管理機能(AMF)
182b モビリティ管理機能(AMF)
183a セッション管理機能(SMF)
183b セッション管理機能(SMF)
184a ユーザプレーン機能(UPF)
184b ユーザプレーン機能(UPF)
185a データネットワーク(DN)
185b データネットワーク(DN)
【手続補正書】
【提出日】2022-11-28
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
カレントサブブロックの第1の参照ブロックにおける第1の複数のサンプル値と、前記カレントサブブロックの第2の参照ブロックにおける第2の複数のサンプル値とを取得し、
前記第1の複数のサンプル値および前記第2の複数のサンプル値に基づいて変数を取得し、
前記取得された変数に基づいて、前記カレントサブブロックに対して双方向オプティカルフロー(BIO)を有効にするかどうかを決定し、
前記カレントサブブロックに対してBIOを有効にするかどうかの前記決定に基づいて前記カレントサブブロックをデコードする
ように構成されたプロセッサ
を備えたことを特徴とするビデオデコードのためのデバイス。
【請求項2】
BIOは、前記第1の複数のサンプル値と前記第2の参照ブロックにおける前記第2の複数のサンプル値とに基づいて取得された前記変数が、ある値以上であるという決定に基づいて、前記カレントサブブロックに対して有効にされ、BIOは、前記第1の複数のサンプル値および前記第2の複数のサンプル値に基づいて取得された前記変数が前記ある値未満であるという決定に基づいて、前記カレントサブブロックに対して無効にされることを特徴とする請求項1に記載のデバイス。
【請求項3】
前記プロセッサは、前記第1の複数のサンプル値および前記第2の複数のサンプル値に基づいて予測サンプル値差を決定するように構成され、前記変数は、前記予測サンプル値差に基づいて取得されることを特徴とする請求項1に記載のデバイス。
【請求項4】
前記取得された変数は、差分絶対値の和(SAD)を含むことを特徴とする請求項1に記載のデバイス。
【請求項5】
前記プロセッサは、
フレームレートアップコンバージョンモード(FRUC)を用いて、前記カレントサブブロックに関連付けられた動きベクトル(MV)を取得し、前記カレントサブブロックに対してBIOを無効にする決定は、前記MVがFRUCを用いて取得されていることに基づいて行われ、前記カレントサブブロックは、前記カレントサブブロックに対してBIOを無効にすることによってデコードされる
ように構成されることを特徴とする請求項1に記載のデバイス。
【請求項6】
カレントサブブロックの第1の参照ブロックにおける第1の複数のサンプル値と、前記カレントサブブロックの第2の参照ブロックにおける第2の複数のサンプル値とを取得することと、
前記第1の複数のサンプル値および前記第2の複数のサンプル値に基づいて変数を取得することと、
前記取得された変数に基づいて、前記カレントサブブロックに対して双方向オプティカルフロー(BIO)を有効にするかどうかを決定することと、
前記カレントサブブロックに対してBIOを有効にするかどうかの前記決定に基づいて前記カレントサブブロックをデコードすることと
を備えることを特徴とするビデオデコードのための方法。
【請求項7】
前記第1の複数のサンプル値および前記第2の複数のサンプル値に基づいて予測サンプル値差を決定することをさらに備え、前記第1の参照ブロックは第1の参照ピクチャーリストに関連付けられ、前記第2の参照ブロックは第2の参照ピクチャーリストに関連付けられ、前記第1の参照ピクチャーリストと前記第2の参照ピクチャーリストとは異なり、前記変数は前記予測サンプル値差に基づいて取得されることを特徴とする請求項6に記載の方法。
【請求項8】
前記第1の複数のサンプル値および前記第2の複数のサンプル値に基づいて取得された前記変数が、ある値以上であるという決定に基づいて、BIOは、前記カレントサブブロックにおけるロケーションに関連付けられた勾配に少なくとも部分的に基づいて、前記カレントサブブロックに関連付けられた動きベクトルをリファインメントすることによって行われることを特徴とする請求項6に記載の方法。
【請求項9】
フレームレートアップコンバージョンモード(FRUC)を用いて、前記カレントサブブロックに関連付けられた動きベクトル(MV)を取得することであって、前記カレントサブブロックに対してBIOを無効にする決定は、前記MVがFRUCを用いて取得されていることに基づいて行われ、前記カレントサブブロックは、前記カレントサブブロックに対してBIOを無効にすることによってデコードされる、こと
をさらに備えることを特徴とする請求項6に記載の方法。
【請求項10】
カレントサブブロックの第1の参照ブロックにおける第1の複数のサンプル値と、前記カレントサブブロックの第2の参照ブロックにおける第2の複数のサンプル値とを取得し、
前記第1の複数のサンプル値および前記第2の複数のサンプル値に基づいて変数を取得し、
前記取得された変数に基づいて、前記カレントサブブロックに対して双方向オプティカルフロー(BIO)を有効にするかどうかを決定し、
前記カレントサブブロックに対してBIOを有効にするかどうかの前記決定に基づいて前記カレントサブブロックをエンコードする
ように構成されたプロセッサ
を備えたことを特徴とするビデオエンコードのためのデバイス。
【請求項11】
BIOは、前記第1の複数のサンプル値と前記第2の参照ブロックにおける前記第2の複数のサンプル値とに基づいて取得された前記変数が、ある値以上であるという決定に基づいて、前記カレントサブブロックに対して有効にされ、BIOは、前記第1の複数のサンプル値および前記第2の複数のサンプル値に基づいて取得された前記変数が前記ある値未満であるという決定に基づいて、前記カレントサブブロックに対して無効にされることを特徴とする請求項10に記載のデバイス。
【請求項12】
前記取得された変数は、差分絶対値の和(SAD)を含むことを特徴とする請求項10に記載のデバイス。
【請求項13】
カレントサブブロックの第1の参照ブロックにおける第1の複数のサンプル値と、前記カレントサブブロックの第2の参照ブロックにおける第2の複数のサンプル値とを取得することと、
前記第1の複数のサンプル値および前記第2の複数のサンプル値に基づいて変数を取得することと、
前記取得された変数に基づいて、前記カレントサブブロックに対して双方向オプティカルフロー(BIO)を有効にするかどうかを決定することと、
前記カレントサブブロックに対してBIOを有効にするかどうかの前記決定に基づいて前記カレントサブブロックをエンコードすることと
を備えることを特徴とするビデオエンコードのための方法。
【請求項14】
前記第1の複数のサンプル値および前記第2の複数のサンプル値に基づいて予測サンプル値差を決定することをさらに備え、前記第1の参照ブロックは第1の参照ピクチャーリストに関連付けられ、前記第2の参照ブロックは第2の参照ピクチャーリストに関連付けられ、前記第1の参照ピクチャーリストと前記第2の参照ピクチャーリストとは異なり、前記変数は前記予測サンプル値差に基づいて取得されることを特徴とする請求項13に記載の方法。
【請求項15】
前記第1の複数のサンプル値および前記第2の複数のサンプル値に基づいて取得された前記変数が、ある値以上であるという決定に基づいて、BIOは、前記カレントサブブロックにおけるロケーションに関連付けられた勾配に少なくとも部分的に基づいて、前記カレントサブブロックに関連付けられた動きベクトルをリファインメントすることによって行われることを特徴とする請求項13に記載の方法。
【請求項16】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
カレントサブブロックの第1の参照ブロックにおける第1の複数のサンプル値と、前記カレントサブブロックの第2の参照ブロックにおける第2の複数のサンプル値とを取得し、
前記第1の複数のサンプル値および前記第2の複数のサンプル値に基づいて変数を取得し、
前記取得された変数に基づいて、前記カレントサブブロックに対して双方向オプティカルフロー(BIO)を有効にするかどうかを決定し、
前記カレントサブブロックに対してBIOを有効にするかどうかの前記決定に基づいて前記カレントサブブロックをデコードする
ことをさせる命令を含むコンピュータ読取り可能媒体。
【請求項17】
BIOは、前記第1の複数のサンプル値と前記第2の参照ブロックにおける前記第2の複数のサンプル値とに基づいて取得された前記変数が、ある値以上であるという決定に基づいて、前記カレントサブブロックに対して有効にされ、BIOは、前記第1の複数のサンプル値および前記第2の複数のサンプル値に基づいて取得された前記変数が前記ある値未満であるという決定に基づいて、前記カレントサブブロックに対して無効にされることを特徴とする請求項16に記載のコンピュータ読取り可能媒体。