JP-2026077838-A - クロマサブブロックのアフィンベースのインター予測のための方法及び装置
Abstract
【課題】本発明は、クロマローマットに基づくクロマサブブロックのアフィンベースのインター予測のための動きベクトル導出のための方法及び装置に関する。 【解決手段】クロマフォーマット情報に基づいて水平及び垂直方向のクロマスケーリングファクタを決定し、クロマフォーマット情報は、現在画像ブロックが属する現在ピクチャのクロマフォーマットを示し、クロマスケーリングファクタの値に基づいてルマブロックのルマサブブロックのセット(S)を決定し、ルマサブブロックのセット(S)内の1つ以上のルマサブブロックの動きベクトルに基づいてクロマブロックのクロマサブブロックについての動きベクトルを決定する。 【選択図】図15
Inventors
- ルフィツキー,ヴァシリー アレクセーヴィッチ
- ソロビヨフ,ティモフェイ・ミハイロヴィチ
- フィリッポフ,アレクセイ コンスタンティノヴィッチ
- チェン,ジェンレェ
Assignees
- 華為技術有限公司
Dates
- Publication Date
- 20260513
- Application Date
- 20260218
- Priority Date
- 20190222
Claims (20)
- ルマブロック及び同一位置のクロマブロックを含む現在画像ブロックのアフィンベースのインター予測において使用されるクロマ動きベクトル導出の方法であって、 クロマフォーマット情報に基づいて水平及び垂直方向のクロマスケーリングファクタを決定するステップであり、前記クロマフォーマット情報は、前記現在画像ブロックが属する現在ピクチャのクロマフォーマットを示す、ステップと、 前記クロマスケーリングファクタの値に基づいて前記ルマブロックのルマサブブロックのセット(S)を決定するステップと、 ルマサブブロックの前記セット(S)内の1つ以上のルマサブブロックの動きベクトルに基づいて前記クロマブロックのクロマサブブロックについての動きベクトルを決定するステップと を含む方法。
- 前記セット(S)内の前記1つ以上のルマサブブロックのそれぞれは、水平方向のサブブロックインデックス及び垂直方向のサブブロックインデックスにより表される、請求項1に記載の方法。
- SubWidthC及びSubHeightCの双方が1に等しいとき、ルマサブブロックの前記セット(S)は、 S 0 =(xSbIdx,ySbIdx)によりインデックス付けされたルマサブブロックを含み、 SubWidthC及びSubHeightCの少なくとも1つが1に等しくないとき、ルマサブブロックの前記セット(S)は、 S 0 =((xSbIdx>>(SubWidthC-1)<<(SubWidthC-1)),(ySbIdx>>(SubHeightC-1)<<(SubHeightC-1)))によりインデックス付けされた第1のルマサブブロック、及び S 1 =((xSbIdx>>(SubWidthC-1)<<(SubWidthC-1))+(SubWidthC-1),(ySbIdx>>(SubHeightC-1)<<(SubHeightC-1))+(SubHeightC-1))によりインデックス付けされた第2のルマサブブロック を含み、 SubWidthC及びSubHeightCは、それぞれ水平及び垂直方向の前記クロマスケーリングファクタを表し、 xSbIdx及びySbIdxは、前記セット(S)内のルマサブブロックについて、それぞれ前記水平方向のサブブロックインデックス及び前記垂直方向のサブブロックインデックスを表し、 「<<」は左算術シフトを表し、 「>>」は右算術シフトを表し、 xSbIdx=0..numSbX-1且つySbIdx=0..numSbY-1であり、 numSbXは、前記水平方向に沿った前記ルマブロック内の前記ルマサブブロックの数を示し、 numSbYは、前記垂直方向に沿った前記ルマブロック内の前記ルマサブブロックの数を示す、請求項1又は2に記載の方法。
- 前記水平方向及び前記垂直方向に沿った前記クロマブロック内の前記クロマサブブロックの数は、それぞれ前記水平及び垂直方向に沿った前記ルマブロック内の前記ルマサブブロックの数と同じである、請求項3に記載の方法。
- SubWidthC及びSubHeightCの双方が1に等しいとき、ルマサブブロックの前記セット(S)は、 S 0 =(xCSbIdx,yCSbIdx)によりインデックス付けされたルマサブブロックを含み、 SubWidthC及びSubHeightCの少なくとも1つが1に等しくないとき、ルマサブブロックの前記セット(S)は、 S 0 =((xCSbIdx>>(SubWidthC-1)<<(SubWidthC-1)),(yCSbIdx>>(SubHeightC-1)<<(SubHeightC-1)))によりインデックス付けされた第1のルマサブブロック、及び S 1 =(xCSbIdx>>(SubWidthC-1)<<(SubWidthC-1))+(SubWidthC-1),(yCSbIdx>>(SubHeightC-1)<<(SubHeightC-1))+(SubHeightC-1))によりインデックス付けされた第2のルマサブブロック を含み、 SubWidthC及びSubHeightCは、それぞれ水平及び垂直方向の前記クロマスケーリングファクタを表し、 xCSbIdx及びyCSbIdxは、前記セット(S)内のルマサブブロックについて、それぞれ前記水平方向のサブブロックインデックス及び前記垂直方向のサブブロックインデックスを表し、 xCSbIdx=0..numCSbX-1且つyCSbIdx=0..numCSbY-1であり、numCSbXは、前記水平方向の前記クロマサブブロックの数を示し、numCSbYは、前記垂直方向の前記クロマサブブロックの数を示す、請求項1又は2に記載の方法。
- 前記クロマサブブロックのそれぞれのサイズは前記ルマサブブロックのそれぞれのサイズと同じである、請求項5に記載の方法。
- 前記水平方向に沿った前記クロマブロック内のクロマサブブロックの数は、前記水平に沿った前記ルマブロック内の前記ルマサブブロックの数及び前記水平方向の前記クロマスケーリングファクタの値に依存し、 前記垂直方向に沿った前記クロマブロック内のクロマサブブロックの数は、前記垂直方向に沿った前記ルマブロック内の前記ルマサブブロックの数及び前記垂直方向の前記クロマスケーリングファクタの値に依存する、請求項5に記載の方法。
- 前記水平方向のサブブロックインデックスxSbIdxL及び前記垂直方向のサブブロックインデックスySbIdxLによりインデックス付けされた前記クロマサブブロックについて、ルマサブブロックの前記セット(S)は、 S 0 =(xSbIdxL,ySbIdxL)、 S 1 =(xSbIdxL,ySbIdxL+(SubHeightC-1))、 S 2 =(xSbIdxL+(SubWidthC-1),ySbIdxL)、又は S 3 =(xSbIdxL+(SubWidthC-1),ySbIdxL+(SubHeightC-1)) によりインデックス付けされたサブブロックのうち1つ以上を含み、 前記ルマサブブロックインデックスS 0 は、前記水平方向の前記サブブロックインデックスxSbIdxL及び前記垂直方向の前記サブブロックインデックスySbIdxLにより表され、 前記ルマブロックインデックスS 1 は、前記水平方向のサブブロックインデックスxSbIdxL及び前記垂直方向のサブブロックインデックスySbIdxL+(SubHeightC-1)により表され、 前記ルマブロックインデックスS 2 は、前記水平方向のサブブロックインデックスxSbIdxL+(SubWidthC-1)及び前記垂直方向のサブブロックインデックスySbIdxLにより表され、 前記ルマブロックインデックスS 3 は、前記水平方向のサブブロックインデックスxSbIdxL+(SubWidthC-1)及び前記垂直方向のサブブロックインデックスySbIdxL+(SubHeightC-1)により表される、請求項1乃至7のうちいずれか1項に記載の方法。
- ルマサブブロックの前記セット(S)は、 S 0 =(xSbIdxL,ySbIdxL)によりインデックス付けされた第1のルマサブブロックと、 S 1 =(xSbIdxL+(SubWidthC-1),ySbIdxL+(SubHeightC-1))によりインデックス付けされた第2のルマサブブロックと を含み、 前記ルマブロック位置S 0 は、前記水平方向のサブブロックインデックスxSbIdxL及び前記垂直方向のサブブロックインデックスySbIdxLにより表され、 前記ルマブロック位置S 1 は、前記水平方向のサブブロックインデックスxSbIdxL+(SubWidthC-1)及び前記垂直方向のサブブロックインデックスySbIdxL+(SubHeightC-1)により表される、請求項1乃至8のうちいずれか1項に記載の方法。
- 前記クロマフォーマットが4:4:4であるとき、前記セット(S)は、前記クロマサブブロックと同一位置にある1つのルマサブブロックを含み、 前記クロマフォーマットが4:2:2であるとき、前記セット(S)は、互いに水平に隣接する2つのルマサブブロックを含み、 前記クロマフォーマットが4:2:0であるとき、前記セット(S)は、対角線にある2つのルマサブブロックを含む、請求項1乃至9のうちいずれか1項に記載の方法。
- 前記セット(S)内に1つよりも多くのルマサブブロックが存在するとき、ルマサブブロックの前記セット(S)内の1つ以上のルマサブブロックの前記動きベクトルに基づいて前記クロマサブブロックについての動きベクトルを決定することは、 平均化されたルマ動きベクトルを生成するために、前記セットS内の前記ルマサブブロックの動きベクトルを平均化し、 前記平均化されたルマ動きベクトルに基づいて前記クロマサブブロックについての前記動きベクトルを導出すること を含む、請求項1乃至10のうちいずれか1項に記載の方法。
- 前記セットS内の前記ルマサブブロックの動きベクトルを平均化することは、 前記セットS内の前記ルマサブブロックの前記動きベクトルの水平成分を平均化すること、又は 前記セットS内の前記ルマサブブロックの前記動きベクトルの垂直成分を平均化すること のうち1つ以上を含む、請求項11に記載の方法。
- 平均化されたルマ動きベクトルを生成するために、前記セットS内の前記ルマサブブロックの動きベクトルを平均化することは、 mvAvgLX=Σ i mvLX[S i x ][S i y ] mvAvgLX[0]が0以上であるとき、mvAvgLX[0]=(mvAvgLX[0]+(N>>1)-1)>>log2(N)、 そうでない場合、mvAvgLX[0]=-((-mvAvgLX[0]+(N>>1)-1)>>log2(N)) mvAvgLX[1]が0以上であるとき、mvAvgLX[1]=(mvAvgLX[1]+(N>>1)-1)>>log2(N)、 そうでない場合、mvAvgLX[1]=-((-mvAvgLX[1]+(N>>1)-1)>>log2(N)) を含み、 mvAvgLXは前記平均化の結果の動きベクトルであり、mvAvgLX[0]は前記結果の動きベクトルmvAvgLXの水平成分であり、mvAvgLX[1]は前記結果の動きベクトルmvAvgLXの垂直成分であり、 S i x 及びS i y は動きベクトル配列内のルマサブブロックの前記セット(S)内のサブブロックSiの水平及び垂直インデックスであり、 mvLX[S i x ][S i y ]はインデックスS i x 及びS i y を有するルマサブブロックの動きベクトルであり、Nはルマサブブロックの前記セット(S)内の要素の数であり、log2(N)は2を底とするNの対数を表し、前記値Nを取得するために数2が累乗される冪乗であり、「>>」は右算術シフトを表す、請求項11又は12に記載の方法。
- 前記セットS内の前記ルマサブブロックの動きベクトルを平均化することは、 mvAvgLX=mvLX[(xSbIdx>>(SubWidthC-1)<<(SubWidthC-1))][(ySbIdx>>(SubHeightC-1)<<(SubHeightC-1))]+mvLX[(xSbIdx>>(SubWidthC-1)<<(SubWidthC-1))+(SubWidthC-1)][(ySbIdx>>(SubHeightC-1)<<(SubHeightC-1))+(SubHeightC-1)] mvAvgLX[0]>=0である場合、 mvAvgLX[0]=(mvAvgLX[0]+1-(mvAvgLX[0]>=0))>>1 mvAvgLX[1]>=0である場合、 mvAvgLX[1]=(mvAvgLX[1]+1-(mvAvgLX[1]>=0))>>1 を含み、 mvAvgLX[0]は前記平均化された動きベクトルmvAvgLXの水平成分であり、mvAvgLX[1]は前記平均化された動きベクトルmvAvgLXの垂直成分であり、SubWidthC及びSubHeightCは、それぞれ水平及び垂直方向の前記クロマスケーリングファクタを表し、xSbIdx及びySbIdxは、前記セット(S)内のルマサブブロックについて、それぞれ水平方向のサブブロックインデックス及び前記垂直方向のサブブロックインデックスを表し、「<<」は左算術シフトであり、「>>」は右算術シフトである、請求項11乃至13のうちいずれか1項に記載の方法。
- クロマフォーマット情報に基づいて水平及び垂直方向のクロマスケーリングファクタを決定することは、 前記クロマフォーマット情報と前記水平及び垂直方向のクロマスケーリングファクタの対との間のマッピングに基づいて、前記水平及び垂直方向の前記クロマスケーリングファクタを決定することを含む、請求項1乃至14のうちいずれか1項に記載の方法。
- 前記決定された動きベクトルに基づいて前記クロマサブブロックの予測を生成するステップを更に含む、請求項1乃至15のうちいずれか1項に記載の方法。
- 前記クロマフォーマットは、YUV4:2:2フォーマット、YUV4:2:0フォーマット又はYUV4:4:4フォーマットのうち1つを含む、請求項1乃至16のうちいずれか1項に記載の方法。
- 符号化デバイスにより実現される、請求項1乃至17のうちいずれか1項に記載の方法。
- 復号デバイスにより実現される、請求項1乃至17のうちいずれか1項に記載の方法。
- 請求項1乃至18のうちいずれか1項に記載の方法を実行するための処理回路を含むエンコーダ(20)。
Description
[関連出願への相互参照] 本特許出願は、2024年12月27日に出願された日本特許出願第2024-23150号の分割出願であり、当該出願は、2023年8月10日に出願された日本特許出願第2023-130773号の分割出願であり、当該出願は、2020年2月24日に出願された日本特許出願第2021-549409号の分割出願であり、当該出願は、2019年2月22日に出願された米国仮特許出願第62/809,551号に対する優先権、2019年3月25日に出願された米国仮特許出願第62/823,653号に対する優先権、及び2019年3月26日に出願された米国仮特許出願第62/824,302号に対する優先権を主張する。上記の特許出願の開示を、その全体を参照することにより援用する。 [技術分野] 本開示の実施形態は、概してピクチャ処理の分野に関し、より詳細にはアフィンベースのインター予測(アフィン動き補償)に関し、特に、クロマフォーマットに基づくクロマサブブロックのアフィンベースのインター予測のための動きベクトル導出のための方法及び装置、並びにクロマサブブロックのアフィンベースのインター予測のための方法及び装置に関する。 ビデオコーディング(ビデオ符号化及び/又は復号)は、広範囲のデジタルビデオアプリケーション、例えば、放送デジタルTV、インターネット及び移動ネットワーク上のビデオ送信、ビデオチャットのようなリアルタイム会話アプリケーション、ビデオ会議、DVD及びブルーレイディスク、ビデオコンテンツ取得及び編集システム、並びにセキュリティアプリケーションのカムコーダにおいて使用される。 比較的短いビデオですら描写するために必要なビデオデータの量は相当なものになる可能性があり、これは、データがストリーミングされるとき或いは限られた帯域幅容量を有する通信ネットワークを横切って通信されるときに、困難を生じることがある。したがって、ビデオデータは、一般的に、現代の電気通信ネットワークを横切って通信される前に圧縮される。メモリリソースが制限されることがあるので、ビデオが記憶デバイスに記憶されるとき、ビデオのサイズも問題になる可能性がある。ビデオ圧縮デバイスは、しばしば、送信又は記憶の前にビデオデータをコーディングするためにソースにおいてソフトウェア及び/又はハードウェアを使用し、それにより、デジタルビデオ画像を表すために必要なデータの量を減少させる。次いで、圧縮されたデータは、ビデオデータを復号するビデオ解凍デバイスにより宛先で受信される。限られたネットワークリソース及びより高いビデオ品質についての更に高まる要求のため、より高い圧縮比を有し且つピクチャ品質にほとんど或いは全く犠牲を払わない、改善された圧縮及び解凍技術が望ましい。 特に、現在のバーサタイルビデオコーディング及びテストモデル(VTM, Versatile Video Coding and Test Model)コーダは、主に入力ピクチャフォーマットとしてクロマフォーマット4:2:0をサポートしている。入力クロマフォーマットが4:4:4になると、VTMコーダのクラッシュが発生する可能性がある。このような問題を回避するために、他のクロマフォーマット(例えば、4:4:4又は4:2:2)をサポートするコーダが非常に望ましく、広範なアプリケーションにとっては必須でさえある。 上記の課題を考慮して、複数のクロマフォーマットをサポートするためのビデオコーディングプロセスへの修正が、本開示において提案される。特に、本願の実施形態は、コーディング性能を改善するために、複数のサポートされるクロマフォーマットのうち1つでもよいクロマフォーマットに基づくクロマサブブロックのアフィンベースのインター予測のための動きベクトル導出のための装置、エンコーダ、デコーダ及び対応する方法を提供することを目的とする。 本発明の実施形態は、独立請求項の特徴により定義され、実施形態の更に有利な実現方式は、従属請求項の特徴により定義される。 特定の実施形態は添付の独立請求項に概説されており、他の実施形態は従属請求項に概説されている。 上記及び他の目的は、独立請求項の対象物により達成される。更なる実現方式は、従属請求項、説明及び図面から明らかである。 本開示の第1の態様によれば、ルマブロック及び同一位置のクロマブロックを含む現在画像ブロックのアフィンベースのインター予測において使用されるクロマ動きベクトル導出の方法が提供され、当該方法は、 クロマフォーマット情報に基づいて水平及び垂直方向のクロマスケーリングファクタ(すなわち、クロマスケーリングファクタの値)を決定するステップであり、クロマフォーマット情報は、現在画像ブロックが属する現在ピクチャのクロマフォーマットを示す、ステップと、 クロマスケーリングファクタの値に基づいてルマブロックのルマサブブロックのセット(S)を決定するステップと、 ルマサブブロックのセット(S)内の1つ以上のルマサブブロック(例えば、1つ又は2つのルマサブブロック)の動きベクトルに基づいてクロマブロックのクロマサブブロックについての動きベクトルを決定するステップと を含む。 本開示において、(ルマ又はクロマ)ブロック又はサブブロックは、その場所、位置又はインデックスにより表されることができるので、ブロック又はサブブロックを選択/決定することは、ブロック又はサブブロックの位置又は場所又はインデックスが選択又は決定されることを意味する。 本開示において使用される「ブロック」、「コーディングブロック」又は「画像ブロック」という用語は、変換ユニット(TU, transform unit)、予測ユニット(PU, prediction unit)、コーディングユニット(CU, coding unit)等を表すことができる点に留意する。バーサタイルビデオコーディング(VVC, Versatile Video Coding)では、変換ユニット及びコーディングユニットは、TUタイリング又はサブブロック変換(SBT, sub block transform)が使用されるときを除き、一般的に互いに整列されている。したがって、「ブロック」、「画像ブロック」、「コーディングブロック」及び「変換ブロック」という用語は、本開示において互換的に使用されてもよく、「ブロックサイズ」及び「変換ブロックサイズ」という用語は、本開示において互換的に使用されてもよい。「サンプル」及び「ピクセル」という用語もまた、本開示において互換的に使用されてもよい。 本開示は、ルマ動きベクトルからクロマ動きベクトルを取得するときに、ピクチャのクロマフォーマットを考慮するための方法を対象とする。ルマ動きベクトルの平均をとることにより、ルマ動き場の線形サブサンプリングが実行される。クロマ色平面がルマ平面と同じ高さを有するとき、水平に隣接するルマブロックから動きベクトルを選択し、それにより、これらが同じ垂直位置を有することがより適切であることが分かる。ピクチャクロマフォーマットに依存してルマ動きベクトルを選択することは、より正確なルマ動きベクトル場サブサンプリングのため、より正確なクロマ動き場をもたらす。クロマフォーマットへのこの依存性は、ルマ動きベクトルを平均化してクロマ動きベクトルを生成するときに、最も適切なルマブロックの選択を可能にする。より正確な動き場の補間の結果として、予測誤差が低減され、これは、圧縮性能改善の技術的結果をもたらし、したがって、コーディング性能が改善される。 第1の態様による方法の可能な実現形式では、ルマサブブロックのセット(S)は、水平及び垂直方向のクロマスケーリングファクタの値に基づいて決定される。すなわち、1つ以上のルマサブブロック(1つ又は2つのルマサブブロック等)は、水平及び垂直方向のクロマスケーリングファクタの値に基づいて決定される。 第1の態様による方法の可能な実現形式では、水平及び垂直方向のクロマスケーリングファクタは、変数SubWidthC及びSubHeightCにより表される。 第1の態様による方法の可能な実現形式では、ルマサブブロックのそれぞれの位置は、水平方向のサブブロックインデックス及び垂直方向のサブブロックインデックスにより表され、クロマサブブロックのそれぞれの位置は、水平方向のサブブロックインデックス及び垂直方向のサブブロックインデックスにより表される。 第1の態様による方法の可能な実現形式では、セット(S)内の1つ以上のルマサブブロック(1つ又は2つのルマサブブロック等)のそれぞれの位置は、水平方向のサブブロックインデックス及び垂直方向のサブブロックインデックスにより表される。 第1の態様のいずれかの先行する実現方式又は第1の態様自体による方法の可能な実現形式では、変数SubWidthC及びSubHeightCの双方が1に等しい場合、ルマサブブロックのセット(S)は、 S0=(xSbIdx,ySbIdx)によりインデックス付けされたルマサブブロックを含み、 SubWidthC及びSubHeightCの少なくとも1つが1に等しくない場合、ルマサブブロックのセット(S)は、 S0=((xSbIdx>>(SubWidthC-1)<<(SubWidthC-1)),(ySbIdx>>(SubHeightC-1)<<(SubHeightC-1)))によりインデックス付けされた第1のルマサブブロック、及び S1=((xSbIdx>>(SubWidthC-1)<<(SubWidthC-1))+(SubWidthC-1),(ySbIdx>>(SubHeightC-1)<<(SubHeightC-1))+(SubHeightC-1))によりインデックス付けされた第2のルマサブブロック を含み、 SubWidthC及びSubHeightCは、それぞれ水平及び垂直方向のクロマスケーリングファクタを表し、 xSbIdx及びySbIdxは、それぞれセット(S)内のルマサブブロックについての水平方向のサブブロックインデックス及び垂直方向のサブブロックインデックスを表し、「<<」は左算術シフトを表し、「>>」は右算術シフトを表し、xSbIdx=0..numSbX-1且つySbIdx=0..numSbY-1であり、numSbXは、水平方向に沿ったルマブロック内のルマサブブロックの数を示し、numSbYは、垂直方向に沿ったルマブロック内のルマサブブロックの数を示す。 第1の態様のいずれかの先行する実現方式又は第1の態様自体による方法の可能な実現形式では、水平及び垂直方向のクロマサブブロックの数は、それぞれ水平及び垂直方向のルマサブブロックの数と同じである。 第1の態様のいずれかの先行する実現方式又は第1の態様自体による方法の可能な実現形式では、SubWidthC及びSubHeightCの双方が1に等しい場合、ルマサブブロックのセット(S)は、 S0=(xCSbIdx,yCSbIdx)によりインデックス付けされたルマサブブロックを含み、 SubWidthC及びSubHeightCの少なくとも1つが1に等しくない場合、ルマサブブロックのセット(S)は、 S0=((xCSbIdx>>(SubWidthC-1)<<(SubWidthC-1)),(yCSbIdx>>(SubHeightC-1)<<(SubHeightC-1)))によりインデックス付けされた第1のルマサブブロック、及び S1=(xCSbIdx>>(SubWidthC-1)<<(SubWidthC-1))+(SubWidthC-1),(yCSbIdx>>(SubHeightC-1)<<(SubHeightC-1))+(SubHeightC-1))によりインデックス付けされた第2