JP7303894B2 - エンコーダ、デコーダ、及び対応するインター予測方法 - Google Patents
エンコーダ、デコーダ、及び対応するインター予測方法 Download PDFInfo
- Publication number
- JP7303894B2 JP7303894B2 JP2021552986A JP2021552986A JP7303894B2 JP 7303894 B2 JP7303894 B2 JP 7303894B2 JP 2021552986 A JP2021552986 A JP 2021552986A JP 2021552986 A JP2021552986 A JP 2021552986A JP 7303894 B2 JP7303894 B2 JP 7303894B2
- Authority
- JP
- Japan
- Prior art keywords
- sample
- block
- prediction
- backward
- optical flow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 97
- 230000003287 optical effect Effects 0.000 claims description 99
- 239000013598 vector Substances 0.000 claims description 83
- 238000012549 training Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 5
- 239000000523 sample Substances 0.000 description 149
- 238000013139 quantization Methods 0.000 description 77
- 238000012545 processing Methods 0.000 description 45
- 230000006870 function Effects 0.000 description 41
- 230000008569 process Effects 0.000 description 37
- 230000006854 communication Effects 0.000 description 30
- 238000004891 communication Methods 0.000 description 30
- 238000005192 partition Methods 0.000 description 26
- 241000023320 Luma <angiosperm> Species 0.000 description 23
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 23
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 14
- 238000003491 array Methods 0.000 description 13
- 238000000638 solvent extraction Methods 0.000 description 12
- 239000011449 brick Substances 0.000 description 11
- 230000006835 compression Effects 0.000 description 11
- 238000007906 compression Methods 0.000 description 11
- 230000002123 temporal effect Effects 0.000 description 11
- 238000001914 filtration Methods 0.000 description 10
- 230000002457 bidirectional effect Effects 0.000 description 8
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 7
- 101001036283 Xenopus laevis DNA-binding protein inhibitor ID-3-A Proteins 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000007620 mathematical function Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000007727 signaling mechanism Effects 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101150114515 CTBS gene Proteins 0.000 description 1
- 238000012952 Resampling Methods 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000013074 reference sample Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/54—Motion estimation other than block-based using feature points or meshes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Analysis (AREA)
- Analogue/Digital Conversion (AREA)
Description
図2は、本出願の技術を実装するように構成されたビデオエンコーダ20の一例の概略ブロック図を示している。図2の例において、ビデオエンコーダ20は、入力201(又は入力インタフェース201)、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、ループフィルタユニット220、復号ピクチャバッファ(decoded picture buffer;DPB)230、モード選択ユニット260、エントロピー符号化ユニット270、及び出力272(又は出力インタフェース272)を有している。モード選択ユニット260は、インター予測ユニット244、イントラ予測ユニット254、及び分割ユニット262を含み得る。インター予測ユニット244は、動き推定ユニット及び動き補償ユニット(図示せず)を含み得る。図2に示すビデオエンコーダ20は、ハイブリッドビデオエンコーダ、又はハイブリッドビデオコーデックに従ったビデオエンコーダとしても参照され得る。
エンコーダ20は、例えば入力201を介して、例えば映像又は映像シーケンスを形成する一連のピクチャのうちのピクチャといった、ピクチャ17(又はピクチャデータ17)を受信するように構成され得る。受信されるピクチャ又はピクチャデータはまた、前処理済みピクチャ19(又は前処理済みピクチャデータ19)であってもよい。単純にするため、以下の説明はピクチャ17を参照する。ピクチャ17はまた、現在ピクチャ又はコーディング対象のピクチャとしても参照され得る(特に、映像コーディングでは、現在ピクチャを、例えば同一の映像シーケンスすなわち現在ピクチャをも含む映像シーケンスのうち先行して符号化及び/又は復号されたピクチャといった他のピクチャから区別するため)。
残差計算ユニット204は、ピクチャブロック203及び予測ブロック265(予測ブロック265に関する更なる詳細については後に提供する)に基づいて、例えば、予測ブロック265のサンプル値をピクチャブロック203のサンプル値からサンプル毎(ピクセル毎)に差し引くことにより、残差ブロック205(残差205としても参照される)を計算して、サンプルドメインにおける残差ブロック205を得るように構成され得る。
変換処理ユニット206は、残差ブロック205のサンプル値に対して例えば離散コサイン変換(DCT)又は離散サイン変換(DST)といった変換を適用して、変換ドメインにおける変換係数207を得るように構成され得る。変換係数207は、変換残差係数として参照されることもあり、変換ドメインでの残差ブロック205を表し得る。
量子化ユニット208は、例えばスカラー量子化又はベクトル量子化を適用することによって、変換係数207を量子化して、量子化された係数209を得るように構成され得る。量子化された係数209は、量子化された変換係数209又は量子化された残差係数209として参照されることもある。
逆量子化ユニット210は、例えば、量子化ユニット208と同じ量子化ステップサイズに基づいて又はそれを用いて、量子化ユニット208によって適用された量子化スキームの逆を適用することによって、量子化された係数に対して量子化ユニット208の逆量子化を適用して、量子化解除された係数211を得るように構成される。量子化解除された係数211は、量子化解除された残差係数211として参照されることもあり、変換係数207に対応するが、典型的には量子化による損失のために変換係数と同じではない。
逆変換処理ユニット212は、例えば、逆の離散コサイン変換(DCT)、逆の離散サイン変換(DST)、又は他の逆変換といった、変換処理ユニット206によって適用された変換の逆変換を適用して、サンプルドメインにおける再構成残差ブロック213(又は対応する量子化解除された係数213)を得るように構成される。再構成残差ブロック213は、変換ブロック213として参照されることもある。
再構成ユニット214(例えば、加算器(adder又はsummer)214)は、例えば再構成残差ブロック213のサンプル値と予測ブロック265のサンプル値とをサンプル毎に足し合わせることによって、変換ブロック213(すなわち、再構成残差ブロック213)を予測ブロック265に足し合わせて、サンプルドメインにおける再構成ブロック215を得るように構成される。
ループフィルタユニット220(又は略して“ループフィルタ”220)は、再構成ブロック215をフィルタリングして、フィルタリングされたブロック221を得るように構成され、又は一般に、再構成サンプルをフィルタリングして、フィルタリングされたサンプル値を得るように構成される。ループフィルタユニットは、例えば、ピクセル遷移を平滑化するように構成され、又はその他の方法で映像品質を向上させるように構成される。ループフィルタユニット220は、例えば、デブロッキングフィルタ、サンプル適応オフセット(sample-adaptive offset;SAO)フィルタ、又は例えば適応ループフィルタ(adaptive loop filter;ALF)、ノイズ抑制フィルタ(noise suppression filter;NSF)若しくはこれらの任意の組み合わせといった1つ以上の他のフィルタなどの、1つ以上のループフィルタを有し得る。一例において、ループフィルタユニット220は、デブロッキングフィルタ、SAOフィルタ、及びALFフィルタを有し得る。フィルタリングプロセスの順序は、デブロッキングフィルタ、SAO及びALFとし得る。他の一例では、クロマスケーリング付きルママッピング(luma mapping with chroma scaling;LMCS)と呼ばれるプロセス(すなわち、適応インループリシェイパ)が追加される。このプロセスは、デブロッキングの前に実行される。他の一例において、デブロッキングフィルタプロセスは、例えば、アフィンサブブロックエッジ、ATMVPサブブロックエッジ、サブブロック変換(sub-block transform;SBT)エッジ、及びイントラサブパーティション(intra sub-partition;ISP)エッジといった、内部のサブブロックエッジにも適用され得る。ループフィルタユニット220は、図2ではインループフィルタとして示されているが、他の構成では、ループフィルタユニット220は、ポストループフィルタとして実装されてもよい。フィルタリングされたブロック221は、フィルタリングされた再構成ブロック221として参照されることもある。
復号ピクチャバッファ(DPB)230は、ビデオエンコーダ20によって映像データを符号化するための参照ピクチャ又は一般に参照ピクチャデータを格納するメモリとし得る。DPB230は、例えば、同期DRAM(SDRAM)を含めたダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)、又は他のタイプのメモリデバイスなどの、多様なメモリデバイスのうちのいずれかによって形成され得る。復号ピクチャバッファ(DPB)230は、フィルタリングされた1つ以上のブロック221を格納するように構成され得る。復号ピクチャバッファ230は更に、同じ現在ピクチャの又は例えば先行再構成ピクチャなどの異なるピクチャの、先行して再構成されてフィルタリングされたブロック221といった、他の先行したフィルタリングされたブロックを格納するように構成されてもよく、また、例えばインター予測のために、完全な先行した再構成すなわち復号されたピクチャ(並びに対応する参照ブロック及びサンプル)、及び/又は部分的に再構成された現在ピクチャ(並びに対応する参照ブロック及びサンプル)を提供し得る。復号ピクチャバッファ(DPB)230はまた、例えば再構成ブロック215がループフィルタユニット220によってフィルタリングされない場合に、1つ以上のフィルタリングされていない再構成ブロック215、又は一般に、フィルタリングされていない再構成サンプルを格納するように構成されてもよく、あるいは、再構成ブロック又は再構成サンプルの任意の他の更に処理されたバージョンを格納するように構成されてもよい。
モード選択ユニット260は、分割ユニット262、インター予測ユニット244、及びイントラ予測ユニット254を有し、例えば元のブロック203(現在ピクチャ17の現在ブロック203)といった、元のピクチャデータと、例えば復号ピクチャバッファ230又は他のバッファ(例えば、ラインバッファ、図示せず)からの、例えば同一(現在)ピクチャの及び/又は1つ若しくは複数の先行復号ピクチャからのフィルタリングされた及び/又はフィルタリングされていない再構成サンプル若しくはブロックといった、再構成ピクチャデータと、を受信又は取得するように構成される。再構成ピクチャデータは、予測ブロック265又は予測子265を得るために、例えばインター予測又はイントラ予測である予測のための参照ピクチャデータとして使用される。
分割ユニット262は、映像シーケンスからのピクチャを一連のコーディングツリーユニット(CTU)に分割するように構成されることができ、また、分割ユニット262は、コーディングツリーユニット203を、例えば正方形又は長方形のいっそう小さいサイズのブロックといった、より小さいパーティションに分割する(又はスプリットする)ことができる。3つのサンプルアレイを持つピクチャでは、CTUは、ルマサンプルのN×Nブロックを対応する2つのクロマサンプルのブロックと共に備えて構成される。CTUでのルマブロックの最大許容サイズは、開発中のバーサタイルビデオコーディング(VVC)では128×128であるように指定されているが、将来的には、例えば256×256など、128×128ではない値であるように指定されるかもしれない。ピクチャのこれらCTUが、スライス/タイルグループ、タイル又はブリックとしてクラスタ化/グループ化され得る。タイルはピクチャの長方形領域をカバーし、タイルは1つ以上のブリックへと分けられ得る。ブリックは、タイル内のある数のCTU行で構成される。複数のブリックへと分割されないタイルは、ブリックとして参照されることがある。しかし、ブリックは、タイルのうちの真のサブセットであり、タイルとして参照されることはない。VVCでは、ラスタスキャンスライス/タイルグループモードと矩形スライスモードという、タイルグループの2つのモードがサポートされている。ラスタスキャンタイルグループモードにおいて、スライス/タイルグループは、ピクチャのタイルラスタスキャンにおける一連のタイルを含む。矩形スライスモードでは、スライスは、ピクチャの矩形領域を集団で形成する、ピクチャのある数のブリックを含む。矩形スライス内のブリックは、スライスのブリックラスタスキャンの順である。より小さいこれらのブロック(これらはサブブロックとして参照されることもある)が、さらに小さいパーティションへと更に分割されてもよい。これは、ツリー分割又は階層ツリー分割とも呼ばれ、例えばルートツリーレベル0(階層レベル0、深さ0)にあるルートブロックを再帰的に分割することができ、例えば、ツリーレベル1(階層レベル1、深さ1)にあるノードといった次の下位ツリーレベルの2つ以上のブロックに分割され、これらのブロックが再び、例えばツリーレベル2(階層レベル2、深さ2)といった次の下位レベルの2つ以上のブロックに分割される等々、例えば最大ツリー深さ又は最小ブロックサイズに到達するといった終了基準が満たされるなどによって分割が終了するまで続けられ得る。それ以上分割されないブロックは、ツリーのリーフブロック又はリーフノードとも呼ばれる。2つのパーティションへの分割を用いるツリーは二分木(BT)と呼ばれ、3つのパーティションへの分割を用いるツリーは三分木(TT)と呼ばれ、そして、4つのパーティションへの分割を用いるツリーは四分木(QT)と呼ばれる。
イントラ予測モードのセットは、例えばHEVCで規定されるように、35個の異なるイントラ予測モード、例えば、DC(又は平均)モード及びプレーナモードのような非方向モード、又は方向モード、を有することができ、あるいは、VVC向けに規定されるように、67個の異なるイントラ予測モード、例えば、DC(又は平均)モード及びプレーナモードのような非方向モード、又は方向モード、を有することができる。一例として、幾つかの従来の角度イントラ予測モードが、例えばVVCで規定されるように、非正方形ブロック向けの広角イントラ予測モードに適応的に置き換えられる。他の一例として、DC予測での除算演算を回避するために、非正方形ブロックについての平均を計算するのに、長辺側のみが使用される。また、プレーナモードのイントラ予測の結果が、位置依存イントラ予測組み合わせ(position dependent intra prediction combination;PDPC)法によって更に修正され得る。
インター予測モード(又は取り得るインター予測モード)のセットは、利用可能な参照ピクチャ(すなわち、先行する少なくとも部分的に復号されたピクチャ、例えば、DBP230に格納されている)、及び他のインター予測パラメータ、例えば、最良一致の参照ブロックを探索するために使用されるのが、参照ピクチャのうち、参照ピクチャ全体であるのか、それとも、例えば現在ブロックの領域の周りのサーチウィンドウ領域といった一部のみであるのか、及び/又は、例えば、例えば二分の一/半ペル、四分の一ペル、及び/又は1/16ペル補間といったピクセル補間が適用されるか否か、に依存する。
エントロピー符号化ユニット270は、例えば、量子化された係数209、インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、及び/又は他の構文要素に対して、エントロピー符号化アルゴリズム若しくはスキーム(例えば、可変長コーディング(variable length coding;VLC)スキーム、コンテキスト適応VLCスキーム(context adaptive VLC;CAVLC)、算術コーディングスキーム、二値化、コンテキスト適応バイナリ算術コーディング(context adaptive binary arithmetic coding;CABAC)、構文スベースコンテキスト適応バイナリ算術コーディング(syntax-based context-adaptive binary arithmetic coding;SBAC)、確率インターバルパーティショニングエントロピー(probability interval partitioning entropy;PIPE)コーディング、又は他のエントロピー符号化方法若しくは技術)又はバイパス(圧縮なし)を適用して、出力272を用いて出力され得る符号化ピクチャデータ21を例えば符号化ビットストリーム21の形態で得るように構成され、その結果、例えば、ビデオデコーダ30が復号のためにこれらのパラメータを受信して使用し得る。符号化ビットストリーム21は、ビデオデコーダ30に送信されてもよいし、あるいは、後の送信又はビデオデコーダ30による取り出しのためにメモリに格納されてもよい。
図3は、この本出願の技術を実装するように構成されたビデオデコーダ30の一例を示している。ビデオデコーダ30は、例えばエンコーダ20によって符号化された、符号化ピクチャデータ21(例えば、符号化ビットストリーム21)を受信して、復号ピクチャ331を得るように構成される。符号化ピクチャデータ又はビットストリームは、例えば、符号化映像スライス(及び/又はタイルグループ若しくはタイル)のピクチャブロックを表すデータ及び付随する構文要素といった、符号化ピクチャデータを復号するための情報を有する。
エントロピー復号ユニット304は、ビットストリーム21(又は、一般に、符号化ピクチャデータ21)を構文解析し、例えば、符号化ピクチャデータ21に対してエントロピー復号を実行して、例えば、量子化された係数309、及び/又は復号されたコーディングパラメータ(図3には示さず)、例えば、インター予測パラメータ(例えば、参照ピクチャインデックス及び動きベクトル)、イントラ予測パラメータ(例えば、イントラ予測モード又はインデックス)、変換パラメータ、量子化パラメータ、ループフィルタパラメータ、及び/又は他の構文要素のうちのいずれか又は全て、を得るように構成される。エントロピー復号ユニット304は、エンコーダ20のエントロピー符号化ユニット270に関して説明した符号化スキームに対応する復号アルゴリズム又はスキームを適用するように構成され得る。エントロピー復号ユニット304は更に、インター予測パラメータ、イントラ予測パラメータ及び/又は他の構文要素をモード適用ユニット360に提供するとともに、他のパラメータをデコーダ30の他のユニットに提供するように構成され得る。ビデオデコーダ30は、映像スライスレベル及び/又は映像ブロックレベルで構文要素を受信し得る。スライス及びそれぞれの構文要素に加えて、又はこれらの代わりとして、タイルグループ及び/又はタイル並びにそれぞれの構文要素が受信及び/又は使用されてもよい。
逆量子化ユニット310は、符号化ピクチャデータ21から量子化パラメータ(QP)(又は、一般に、逆量子化に関する情報)及び量子化された係数を受け取り(例えばエントロピー復号ユニット304により、例えば構文解析及び/又は復号することによって)、復号した量子化された係数309に対して量子化パラメータに基づいて逆量子化を適用して、変換係数311としても参照され得るものである量子化解除された係数311を得るように構成され得る。逆量子化プロセスは、量子化の程度、及び同様に、適用されるべき逆量子化の程度を決定するために、映像スライス(又はタイル若しくはタイルグループ)内の各映像ブロックに対してビデオエンコーダ20によって決定された量子化パラメータを使用することを含み得る。
逆変換処理ユニット312は、変換係数311とも称される量子化解除された係数311を受け取り、そして、サンプルドメインにおける再構成残差ブロック213を得るために、量子化解除された係数311に変換を適用するように構成され得る。再構成残差ブロック213は、変換ブロック313として参照されることもある。この変換は、例えば逆DCT、逆DST、逆整数変換、又は概念的に類似した逆変換プロセスといった、逆変換とし得る。逆変換処理ユニット312は更に、符号化ピクチャデータ21から変換パラメータ又は対応する情報を受け取り(例えばエントロピー復号ユニット304により、例えば構文解析及び/又は復号することによって)、量子化解除された係数311に適用すべき変換を決定するように構成され得る。
再構成ユニット314(例えば、加算器(adder又はsummer)314)は、例えば再構成残差ブロック313のサンプル値と予測ブロック365のサンプル値とを足し合わせることによって、再構成残差ブロック313を予測ブロック365に足し合わせて、サンプルドメインにおける再構成ブロック315を得るように構成され得る。
ループフィルタユニット320(コーディングループ内又はコーディングループ後のいずれか)は、例えば、ピクセル遷移を平滑化するために、又はその他の方法で映像品質を向上させるために、再構成ブロック315をフィルタリングして、フィルタリングされたブロック321を得るように構成される。ループフィルタユニット320は、例えば、デブロッキングフィルタ、サンプル適応オフセット(sample-adaptive offset;SAO)フィルタ、又は例えば適応ループフィルタ(adaptive loop filter;ALF)、ノイズ抑制フィルタ(noise suppression filter;NSF)若しくはこれらの任意の組み合わせといった1つ以上の他のフィルタなどの、1つ以上のループフィルタを有し得る。一例において、ループフィルタユニット220は、デブロッキングフィルタ、SAOフィルタ、及びALFフィルタを有し得る。フィルタリングプロセスの順序は、デブロッキングフィルタ、SAO及びALFとし得る。他の一例では、クロマスケーリング付きルママッピング(luma mapping with chroma scaling;LMCS)と呼ばれるプロセス(すなわち、適応インループリシェイパ)が追加される。このプロセスは、デブロッキングの前に実行される。他の一例において、デブロッキングフィルタプロセスは、例えば、アフィンサブブロックエッジ、ATMVPサブブロックエッジ、サブブロック変換(sub-block transform;SBT)エッジ、及びイントラサブパーティション(intra sub-partition;ISP)エッジといった、内部のサブブロックエッジにも適用され得る。ループフィルタユニット320は、図3ではインループフィルタとして示されているが、他の構成では、ループフィルタユニット320は、ポストループフィルタとして実装されてもよい。
そして、ピクチャの復号映像ブロック321は、他のピクチャの後の動き補償のための参照ピクチャとして及び/又はそれぞれの表示の出力のために復号ピクチャ331を格納するものである復号ピクチャバッファ330に格納される。
機能において、インター予測ユニット344はインター予測ユニット244(特に、動き補償ユニット)に同じであるとすることができ、イントラ予測ユニット354はイントラ予測ユニット254と同じであるとすることができ、符号化ピクチャデータ21から受信した(例えばエントロピー復号ユニット304により、構文解析及び/又は復号することによって)分割及び/又は予測パラメータ若しくはそれぞれの情報に基づいて、スプリット若しくは分割の決定及び予測を実行する。モード適用ユニット360は、再構成ピクチャ、ブロック又はそれぞれのサンプル(フィルタリングされた又はフィルタリングされていない)に基づいてブロック毎に予測(イントラ予測又はインター予測)を実行して、予測ブロック365を得るように構成され得る。
双予測オプティカルフロー精緻化は、双予測のために一般的にシグナリングされる情報以外の情報をビットストリーム内で明示的にシグナリングすることなく、双予測の正確さを向上させるプロセスである。
Bi-prediction=Prediction1*W1+Prediction2*W2+K
によって行われることができ、ここで、W1及びW2は、シグナリングされるか予め定められるかし得る重み係数である。Kは、これもシグナリングされるか予め定められるかし得る付加係数である。一例として、双予測は、W1及びW2を0.5に設定し、Kを0に設定して、
Bi-prediction=(Prediction1+Prediction2)/2
を用いて取得され得る。
1. サンプル勾配を計算する;
2. 第1予測と第2予測との間の差を計算する;
3. オプティカルフロー方程式を用いて得られた2つの参照パッチ間の誤差Δ:
を最小化するピクセル又はピクセルのグループの変位を計算し、ここで、I(0)は、第1予測におけるサンプル値に対応し、I(1)は、第2予測におけるサンプル値であり、vx及びvyは、-x方向及び-y方向に計算される変位であり、そして、∂I(0)/∂x及び∂I(0)/∂yは、x方向及びy方向における勾配である。τ1及びτ0は、そこで第1予測及び第2予測が得られた参照ピクチャまでの距離を表す。一部のアプローチは二乗誤差の和を最小化し、一部のアプローチは絶対誤差の和を最小化する。この最小化問題を解くために、所与の位置(x,y)の周りのサンプルのパッチが利用される;
4. 例えば以下:
など、オプティカルフロー方程式の具体的な実装を使用する。ここで、predBIOは、オプティカルフロー精緻化プロセスの出力である修正予測を規定する。
- 現在コーディングブロックの幅及び高さを規定する2つの変数nCbW及びnCbH、
- 2つの(nCbW+2)×(nCbH+2)ルマ予測サンプルアレイpredSamplesL0及びpredSamplesL1、
- 予測リスト利用フラグpredFlagL0及びpredFlagL1、
- 参照インデックスrefIdxL0及びrefIdxL1、
- xIdx=0..(nCbW>>2)-1、yIdx=0..(nCbH>>2)-1での、双方向オプティカルフロー利用フラグbdofUtilizationFlag[xIdx][yIdx]。
- 変数bitDepthは、BitDepthYに等しく設定される。
- 変数shift1は、Max(2,14-bitDepth)に等しく設定される。
- 変数shift2は、Max(8,bitDepth-4)に等しく設定される。
- 変数shift3は、Max(5,bitDepth-7)に等しく設定される。
- 変数shift4は、Max(3,15-bitDepth)に等しく設定され、変数offset4は、1<<(shift4-1)に等しく設定される。
- 変数mvRefineThresは、Max(2,1<<(13-bitDepth))に等しく設定される。
- 変数xSbは、(xIdx<<2)+1に等しく設定され、ySbは、(yIdx<<2)+1に等しく設定される。
- bdofUtilizationFlag[xSbIdx][yIdx]がFALSEに等しい場合、x=xSb-1..xSb+2、y=ySb-1..ySb+2に対し、現在サブブロックの予測サンプル値が、次のように導出される:
pbSamples[x][y]=Clip3(0,(2bitDepth)-1,(predSamplesL0[x+1][y+1]+offset2+predSamplesL1[x+1][y+1])>>shift2)
- それ以外の場合(bdofUtilizationFlag[xSbIdx][yIdx]がTRUEに等しい)、現在サブブロックの予測サンプル値が、次のように導出される:
- x=xSb-1..xSb+4、y=ySb-1..ySb+4に対し、以下の順序付けられたステップが適用される:
1. 予測サンプルアレイ内の対応するサンプル位置(x,y)の各々に対する位置(hx,vy)が、以下のように導出される:
hx=Clip3(1,nCbW,x)
vy=Clip3(1,nCbH,y)
2. 変数gradientHL0[x][y]、gradientVL0[x][y]、gradientHL1[x][y]及びgradientVL1[x][y]が、次のように導出される:
gradientHL0[x][y]=(predSamplesL0[hx+1][vy]-predSampleL0[hx-1][vy])>>shift1
gradientVL0[x][y]=(predSampleL0[hx][vy+1]-predSampleL0[hx][vy-1])>>shift1
gradientHL1[x][y]=(predSamplesL1[hx+1][vy]-predSampleL1[hx-1][vy])>>shift1
gradientVL1[x][y]=(predSampleL1[hx][vy+1]-predSampleL1[hx][vy-1])>>shift1
3. 変数temp[x][y]、tempH[x][y]及びtempV[x][y]が、次のように導出される:
diff[x][y]=(predSamplesL0[hx][vy]>>shift2)-(predSamplesL1[hx][vy]>>shift2))
tempH[x][y]=(gradientHL0[x][y]+gradientHL1[x][y])>>shift3
tempV[x][y]=(gradientVL0[x][y]+gradientVL1[x][y])>>shift3
- 変数sGx2、sGy2、sGxGy、sGxdI及びsGydIが、次のように導出される:
i,j=-1..4で、sGx2=ΣiΣj(tempH[xSb+i][ySb+j]*tempH[xSb+i][ySb+j])
i,j=-1..4で、sGy2=ΣiΣj(tempV[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])
i,j=-1..4で、sGxGy=ΣiΣj(tempH[xSb+i][ySb+j]*tempV[xSb+i][ySb+j])
i,j=-1..4で、sGxdI=ΣiΣj(-tempH[xSb+i][ySb+j]*diff[xSb+i][ySb+j])
i,j=-1..4で、sGydI=ΣiΣj(-tempV[xSb+i][ySb+j]*diff[xSb+i][ySb+j])
- 現在サブブロックの水平及び垂直動きオフセットが:
vx=sGx2>0? Clip3(-mvRefineThres,mvRefineThres,-(sGxdI<<3)>>Floor(Log2(sGx2))):0
vy=sGy2>0? Clip3(-mvRefineThres,mvRefineThres,((sGydI<<3)-((vx*sGxGym)<<12+vx*sGxGys)>>1)>>Floor(Log2(sGx2))):0
として導出される
- x=xSb-1..xSb+2、y=ySb-1..ySb+2に対し、現在サブブロックの予測サンプル値が、次のように導出される:
bdofOffset=Round((vx*(gradientHL1[x+1][y+1]-gradientHL0[x+1][y+1]))>>1)+Round((vy*(gradientVL1[x+1][y+1]-gradientVL0[x+1][y+1]))>>1)
pbSamples[x][y]=Clip3(0,(2bitDepth)-1,(predSamplesL0[x+1][y+1]+offset4+predSamplesL1[x+1][y+1]+bdofOffset)>>shift4)
(a)二乗値の和に代えて、2つのリファレンスにおける勾配の和の絶対値の和を使用する;
(b)サンプル差の乗算をサンプルの勾配の和で置き換え、サンプルの差の乗算をサンプルの勾配の和の符号で置き換える;後者は、サンプルの勾配の和の符号に基づいて累積値にサンプル差の値を加算又は減算することにより、乗算なしで行われることができる。
一部の実現可能な実装において、2つの動きベクトルが入力として取得される。当初の動きベクトルを、ビットストリーム内の指示情報に基づいて決定することができる。例えば、候補動きベクトルのリスト内の位置を指し示すインデックスがビットストリーム内でシグナリングされ得る。他の一例において、動きベクトル予測子インデックス及び動きベクトル差分値をビットストリーム内でシグナリングすることができる。他の一例において、これらの動きベクトルは、ビットストリーム内で指し示される動きベクトルの当初ペアから始めて、動きベクトル精緻化を用いて、精緻化動きベクトルとして導出されることができる。他の一例において、取得された動きベクトルペアにおける所与の動きベクトルが関連付けられた参照ピクチャを指し示す参照ピクチャインジケーションを、ビットストリームから得ることができる。
一部の実現可能な実装において、取得された動きベクトルペア及びKタップ補間フィルタに従って、各参照フレームにおいて第1の片方向予測が取得される。より具体的には、この予測は、動きベクトルが整数サンプル位置に対応する場合、再構成参照サンプル値を得る。動きベクトルが非ゼロの水平成分とゼロの垂直成分とを持つ場合、それは、水平Kタップ補間を行って予測サンプル値を得る。動きベクトルが非ゼロの垂直成分とゼロの水平成分とを持つ場合、それは、垂直Kタップ補間を行って予測サンプル値を得る。動きベクトルが水平成分及び垂直成分の両方に対して非ゼロの値を持つ場合、2D分離可能なKタップ補間が実行され、最初に水平補間を行い、続いて垂直補間を行って、予測サンプル値を得る。
このオプティカルフロー計算は、2つのリファレンスにわたる水平サンプル勾配の和又は2つのリファレンスにわたる垂直サンプル勾配の和のいずれかを入力としてとり、N個の取り得る値のうちの1つを出力として返す関数を使用し、ここで、Nは3以上の正の奇数である。関数の戻り値は、入力値の符号と、第1の所定の閾値Tに対する入力の絶対値の比較とに基づく。
gradientHL0[x][y]=predSamplesL0[x+1][y]-predSamplesL0[x-1][y];
前方垂直勾配:
gradientVL0[x][y]=predSamplesL0[x][y+1]-predSamplesL0[x][y-1];
後方水平勾配:
gradientHL1[x][y]=predSamplesL1[x+1][y]-predSamplesL1[x-1][y];
後方垂直勾配:
gradientVL1[x][y]=predSamplesL1[x][y+1]-predSamplesL1[x][y-1]。
サンプル差:
diff[x][y]=predSamplesL0[x][y]-predSamplesL1[x][y];
水平方向の平均勾配:
TempH[x][y]=(gradientHL0[x][y]+gradientHL1[x][y])/2;
垂直平均勾配:
TempV[x][y]=(gradientVL0[x][y]+gradientVL1[x][y])/2。
ブロックオプティカルフローパラメータのうち少なくとも1つは、第1のサンプルオプティカルフローパラメータと第2のサンプルオプティカルフローパラメータの符号関数の出力値との間の乗算によって取得される。
i,j=-1..4で、sGx2=ΣiΣjAbs(tempH[xSb+i][ySb+j])
i,j=-1..4で、sGy2=ΣiΣjAbs(tempV[xSb+i][ySb+j])
i,j=-1..4で、sGxGy=ΣiΣj(Sign(tempV[xSb+i][ySb+j])*tempH[xSb+i][ySb+j])
sGxGym=sGxGy>>12
sGxGys=sGxGy&((1<<12)-1)
i,j=-1..4で、sGxdI=ΣiΣj(-Sign(tempH[xSb+i][ySb+j])*diff[xSb+i][ySb+j])
i,j=-1..4で、sGydI=ΣiΣj(-Sign(tempV[xSb+i][ySb+j])*diff[xSb+i][ySb+j])
を有し得る。
- 現在コーディングブロックの幅及び高さを規定する2つの変数nCbW及びnCbH、
- 2つの(nCbW+2)×(nCbH+2)ルマ予測サンプルアレイpredSamplesL0及びpredSamplesL1、
- 予測リスト利用フラグpredFlagL0及びpredFlagL1、
- 参照インデックスrefIdxL0及びrefIdxL1、
- 双方向オプティカルフロー利用フラグsbBdofFlag。
- 変数shift1は6に等しく設定される。
- 変数shift2は4に等しく設定される。
- 変数shift3は1に等しく設定される。
- 変数shift4は、Max(3,15-BitDepth)に等しく設定され、変数offset4は、1<<(shift4-1)に等しく設定される。
- 変数mvRefineThresは、1<<5に等しく設定される。
- 変数xSbは、(xIdx<<2)+1に等しく設定され、ySbは、(yIdx<<2)+1に等しく設定される。
- sbBdofFlagがFALSEに等しい場合、x=xSb-1..xSb+2、y=ySb-1..ySb+2に対し、現在サブブロックの予測サンプル値が、次のように導出される:
pbSamples[x][y]=Clip3(0,(2BitDepth)-1,(predSamplesL0[x+1][y+1]+offset4+predSamplesL1[x+1][y+1])>>shift4)
- それ以外の場合(sbBdofFlagがTRUEに等しい)、現在サブブロックの予測サンプル値が、次のように導出される:
- x=xSb-1..xSb+4、y=ySb-1..ySb+4に対し、以下の順序付けられたステップが適用される:
4. 予測サンプルアレイ内の対応するサンプル位置(x,y)の各々に対する位置(hx,vy)が、以下のように導出される:
hx=Clip3(1,nCbW,x)
vy=Clip3(1,nCbH,y)
5. 変数gradientHL0[x][y]、gradientVL0[x][y]、gradientHL1[x][y]及びgradientVL1[x][y]が、次のように導出される:
gradientHL0[x][y]=(predSamplesL0[hx+1][vy]>>shift1)-(predSamplesL0[hx-1][vy])>>shift1)
gradientVL0[x][y]=(predSamplesL0[hx][vy+1]>>shift1)-(predSamplesL0[hx][vy-1])>>shift1)
gradientHL1[x][y]=(predSamplesL1[hx+1][vy]>>shift1)-(predSamplesL1[hx-1][vy])>>shift1)
gradientVL1[x][y]=(predSamplesL1[hx][vy+1]>>shift1)-(predSamplesL1[hx][vy-1])>>shift1)
6. 変数diff[x][y]、tempH[x][y]及びtempV[x][y]が、次のように導出される:
diff[x][y]=(predSamplesL0[hx][vy]>>shift2)-(predSamplesL1[hx][vy]>>shift2))
tempH[x][y]=(gradientHL0[x][y]+gradientHL1[x][y])>>shift3
tempV[x][y]=(gradientVL0[x][y]+gradientVL1[x][y])>>shift3
- 変数sGx2、sGy2、sGxGy、sGxdI及びsGydIが、次のように導出される:
i,j=-1..4で、sGx2=ΣiΣjAbs(tempH[xSb+i][ySb+j])
i,j=-1..4で、sGy2=ΣiΣjAbs(tempV[xSb+i][ySb+j])
i,j=-1..4で、sGxGy=ΣiΣj(Sign(tempV[xSb+i][ySb+j])*tempH[xSb+i][ySb+j])
sGxGym=sGxGy>>12
sGxGys=sGxGy&((1<<12)-1)
i,j=-1..4で、sGxdI=ΣiΣj(-Sign(tempH[xSb+i][ySb+j])*diff[xSb+i][ySb+j])
i,j=-1..4で、sGydI=ΣiΣj
(-Sign(tempV[xSb+i][ySb+j])*diff[xSb+i][ySb+j])
- 現在サブブロックの水平及び垂直動きオフセットが:
vx=sGx2>0?Clip3(-mvRefineThres+1,mvRefineThres-1,-(sGxdI<<2)>>Floor(Log2(sGx2))):0
vy=sGy2>0?Clip3(-mvRefineThres+1,mvRefineThres-1,((sGydI<<2)-((vx*sGxGym)<<12+vx*sGxGys)>>1)>>Floor(Log2(sGy2))):0
として導出される
- x=xSb-1..xSb+2、y=ySb-1..ySb+2に対し、現在サブブロックの予測サンプル値が、次のように導出される:
bdofOffset=vx*(gradientHL0[x+1][y+1]-gradientHL1[x+1][y+1])+vy*(gradientVL0[x+1][y+1]-gradientVL1[x+1][y+1])
pbSamples[x][y]=Clip3(0,(2BitDepth)-1,(predSamplesL0[x+1][y+1]+offset4+predSamplesL1[x+1][y+1]+bdofOffset)>>shift4)
この出願で使用される数学演算子は、Cプログラミング言語で使用されるものと同様である。しかし、整数除算及び算術シフト演算の結果をいっそう正確に定義し、例えば指数化及び実数値除算などの更なる演算を定義する。番号付ける及びカウントすることの慣習は一般に0から始まり、例えば、“1番目(the first)”は0番(0-th)、“2番目(the second)”は1番(1-th)、等々である。
以下の論理演算子は次のように定義される:
x&&y x及びyのブール論理“and”
x||y x及びyのブール論理“or”
! ブール論理“not”
x? y:z xがTRUEである又は0に等しくない場合、yの値の方を評価し、そうでない場合、zの値の方を評価する。
以下の関係演算子は次のように定義される:
> より大きい
>= 以上
< より小さい
<= 以下
== 等しい
!= 等しくない。
以下のビット単位演算子は次のように定義される:
& ビット単位の“and”。整数の引数について演算するとき、整数値の2の補数表現について演算する。別の引数よりも少ないビットを含むバイナリ引数について演算するとき、短い方の引数が、0に等しい上位ビットを付加することによって延ばされる。
| ビット単位の“or”。整数の引数について演算するとき、整数値の2の補数表現について演算する。別の引数よりも少ないビットを含むバイナリ引数について演算するとき、短い方の引数が、0に等しい上位ビットを付加することによって延ばされる。
^ ビット単位の“排他的or”。整数の引数について演算するとき、整数値の2の補数表現について演算する。別の引数よりも少ないビットを含むバイナリ引数について演算するとき、短い方の引数が、0に等しい上位ビットを付加することによって延ばされる。
x>>y xの2の補数の整数表現の、バイナリでy桁の算術右シフト。この関数は、負でない整数値のyに対してのみ定義される。右シフトの結果として最上位ビット(MSB)にシフトされたビットは、シフト演算前のxのMSBに等しい値を持つ。
x<<y xの2の補数の整数表現の、バイナリでy桁の算術左シフト。この関数は、負でない整数値のyに対してのみ定義される。左シフトの結果として最下位ビット(LSB)にシフトされたビットは、0に等しい値を持つ。
以下の算術演算子は次のように定義される:
= 割当て演算子
++ インクリメント、すなわち、x++は、x=x+1と等価である;アレイインデックスで使用される場合、インクリメント演算前の変数の値の方を評価する。
-- デクリメント、すなわち、x--は、x=x-1と等価である;アレイインデックスで使用される場合、デクリメント演算前の変数の値の方を評価する。
+= 指定量分のインクリメント、すなわち、x+=3は、x=x+3と等価であり、x+=(-3)は、x=x+(-3)と等価である。
-= 指定量分のデクリメント、すなわち、x-=3は、x=x-3と等価であり、x-=(-3)は、x=x-(-3)と等価である。
値の範囲を規定するために以下の表記が使用される:
x=y..z xは、yから始まってzまでの整数値を、y、zを含めてとり、x、y、及びzは整数であり、且つzはyより大きい。
式の中で優先順位の序列が括弧を用いて明示的に示されない場合、次の規則が適用される:
- より高い優先順位の演算が、任意のより低い優先順位の演算の前に評価される。
- 同じ優先順位の演算が、左から右に順に評価される。
テキストにおいて、次の形式で数学的に記述される論理演算のステートメント:
if(condition 0)
statement 0
else if(condition 1)
statement 1
...
else /* 残りの条件についての情報の言及 */
Statement n
は、以下のように記述され得る:
...以下のとおりである/...以下が適用される:
- If condition 0, statement 0
- Otherwise, if condition 1, statement 1
- ...
- Otherwise (残りの条件についての情報の言及), statement n。
if(condition 0a && condition 0b)
statement 0
else if(condition 1a || condition 1b)
statement 1
...
else
statement n
は、以下のように記述され得る:
...以下のとおりである/...以下が適用される:
- If 以下の条件の全てがtrueである, statement 0:
- condition 0a
- condition 0b
- Otherwise, if 以下の条件のうち1つ以上がtrueである, statement 1:
- condition 1a
- condition 1b
- ...
- Otherwise, statement n。
if(condition 0)
statement 0
if(condition 1)
statement 1
は、以下のように記述され得る:
Condition 0である場合, statement 0
Condition 1である場合, statement 1。
Claims (10)
- 双方向オプティカルフロー予測方法であって、
現在ブロックについて当初動きベクトルペアを取得し、当該当初動きベクトルペアは、前方動きベクトルと後方動きベクトルとを有し、
前記前方動きベクトルに従った前方予測ブロックと、前記後方動きベクトルに従った後方予測ブロックとを取得し、
前記現在ブロック内の現在サンプルについての、前方水平勾配、後方水平勾配、前方垂直勾配、及び後方垂直勾配を有する勾配パラメータを、前記現在サンプルに対応する前方予測サンプル及び後方予測サンプルに基づいて計算し、前記前方予測サンプルは前記前方予測ブロック内にあり、前記後方予測サンプルは前記後方予測ブロック内にあり、前記前方予測サンプルはpredSamplesL0[x][y]によって表され、前記後方予測サンプルはpredSamplesL1[x][y]によって表され、前記前方水平勾配はgradientHL0[x][y]によって表され、前記後方水平勾配はgradientHL1[x][y]によって表され、前記前方垂直勾配はgradientVL0[x][y]によって表され、前記後方垂直勾配はgradientVL1[x][y]によって表され、
前記勾配パラメータに基づいて、前記現在サンプルについての少なくとも2つのサンプルオプティカルフローパラメータを取得し、当該サンプルオプティカルフローパラメータは、第1パラメータ及び第2パラメータを有し、
前記現在ブロック内のサンプルのサンプルオプティカルフローパラメータに基づいて、ブロックオプティカルフローパラメータを取得し、当該ブロックオプティカルフローパラメータのうち1つは、前記第1パラメータの値と前記第2パラメータの符号関数の値とを乗算することを含む演算によって取得され、前記符号関数は、少なくとも3つのサブインターバルを有する区分関数であり、
前記前方予測ブロック、前記後方予測ブロック、前記ブロックオプティカルフローパラメータ、及び前記サンプルオプティカルフローパラメータに基づいて、前記現在ブロックの予測値を取得する、
ことを有し、
前記サンプルオプティカルフローパラメータは、サンプル差、水平平均勾配、及び垂直平均勾配を有し、
前記サンプル差は、diff[x][y] = predSamplesL0[x][y] - predSamplesL1[x][y]によって表され、
前記水平平均勾配は、TempH[x][y] = (gradientHL0[x][y] + gradientHL1[x][y])/2によって表され、
前記垂直平均勾配は、TempV[x][y] = (gradientVL0[x][y] + gradientVL1[x][y])/2によって表され、
前記第1パラメータは前記水平平均勾配であり、前記第2パラメータは前記垂直平均勾配であり、
前記符号関数は、
であり、Tは非負の実数である、
方法。 - 前記現在ブロックは、コーディングユニット又は該コーディングユニットのサブブロックである、請求項1又は2に記載の方法。
- 前記前方水平勾配は、前記前方予測サンプルに隣接する右サンプルと左サンプルとの差であり、
前記後方水平勾配は、前記後方予測サンプルに隣接する右サンプルと左サンプルとの差であり、
前記前方垂直勾配は、前記前方予測サンプルに隣接する下サンプルと上サンプルとの差であり、
前記後方垂直勾配は、前記後方予測サンプルに隣接する下サンプルと上サンプルとの差である、
請求項1乃至3のいずれか一項に記載の方法。 - 双方向オプティカルフロー予測装置であって、
現在ブロックについて当初動きベクトルペアを取得するように構成された取得モジュールであり、前記当初動きベクトルペアは、前方動きベクトルと後方動きベクトルとを有する、取得モジュールと、
前記前方動きベクトルに従った前方予測ブロックと、前記後方動きベクトルに従った後方予測ブロックとを取得するように構成されたパッチングモジュールと、
前記現在ブロック内の現在サンプルについての、前方水平勾配、後方水平勾配、前方垂直勾配、及び後方垂直勾配を有する勾配パラメータを、前記現在サンプルに対応する前方予測サンプル及び後方予測サンプルに基づいて計算するように構成された勾配モジュールであり、前記前方予測サンプルは前記前方予測ブロック内にあり、前記後方予測サンプルは前記後方予測ブロック内にあり、前記前方予測サンプルはpredSamplesL0[x][y]によって表され、前記後方予測サンプルはpredSamplesL1[x][y]によって表され、前記前方水平勾配はgradientHL0[x][y]によって表され、前記後方水平勾配はgradientHL1[x][y]によって表され、前記前方垂直勾配はgradientVL0[x][y]によって表され、前記後方垂直勾配はgradientVL1[x][y]によって表される、勾配モジュールと、
前記勾配パラメータに基づいて、前記現在サンプルについての少なくとも2つのサンプルオプティカルフローパラメータを取得するように構成された計算モジュールであり、前記サンプルオプティカルフローパラメータは、第1パラメータ及び第2パラメータを有する、計算モジュールと、
前記現在ブロック内のサンプルのサンプルオプティカルフローパラメータに基づいて、ブロックオプティカルフローパラメータを取得するように構成された訓練モジュールであり、前記ブロックオプティカルフローパラメータのうち1つは、前記第1パラメータの値と前記第2パラメータの符号関数の値とを乗算することを含む演算によって取得され、前記符号関数は、少なくとも3つのサブインターバルを有する区分関数である、訓練モジュールと、
前記前方予測ブロック、前記後方予測ブロック、前記ブロックオプティカルフローパラメータ、及び前記サンプルオプティカルフローパラメータに基づいて、前記現在ブロックの予測値を取得するように構成された予測モジュールと、
を有し、
前記サンプルオプティカルフローパラメータは、サンプル差、水平平均勾配、及び垂直平均勾配を有し、
前記サンプル差は、diff[x][y] = predSamplesL0[x][y] - predSamplesL1[x][y]によって表され、
前記水平平均勾配は、TempH[x][y] = (gradientHL0[x][y] + gradientHL1[x][y])/2によって表され、
前記垂直平均勾配は、TempV[x][y] = (gradientVL0[x][y] + gradientVL1[x][y])/2によって表され、
前記第1パラメータは前記水平平均勾配であり、前記第2パラメータは前記垂直平均勾配であり、
前記符号関数は、
であり、Tは非負の実数である、
装置。 - 前記現在ブロックは、コーディングユニット又は該コーディングユニットのサブブロックである、請求項5又は6に記載の装置。
- 前記前方水平勾配は、前記前方予測サンプルに隣接する右サンプルと左サンプルとの差であり、
前記後方水平勾配は、前記後方予測サンプルに隣接する右サンプルと左サンプルとの差であり、
前記前方垂直勾配は、前記前方予測サンプルに隣接する下サンプルと上サンプルとの差であり、
前記後方垂直勾配は、前記後方予測サンプルに隣接する下サンプルと上サンプルとの差である、
請求項5乃至7のいずれか一項に記載の装置。 - 双方向オプティカルフロー予測装置であって、
1つ以上のプロセッサと、
前記プロセッサに結合され、前記プロセッサによる実行のためのプログラミングを格納する非一時的なコンピュータ読み取り可能記憶媒体と、
を有し、
前記プログラミングは、前記プロセッサによって実行されるときに、請求項1乃至4のいずれか一項に記載の方法を実行するように当該装置を構成する、
装置。 - 請求項1乃至4のいずれか一項に記載の方法を実行するためのプログラムコードを有するコンピュータプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201931009184 | 2019-03-08 | ||
IN201931009184 | 2019-03-08 | ||
PCT/CN2020/077121 WO2020181997A1 (en) | 2019-03-08 | 2020-02-28 | An encoder, a decoder and corresponding methods for inter prediction |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022524357A JP2022524357A (ja) | 2022-05-02 |
JP7303894B2 true JP7303894B2 (ja) | 2023-07-05 |
Family
ID=72427687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021552986A Active JP7303894B2 (ja) | 2019-03-08 | 2020-02-28 | エンコーダ、デコーダ、及び対応するインター予測方法 |
Country Status (11)
Country | Link |
---|---|
US (2) | US11968387B2 (ja) |
EP (1) | EP3915262A4 (ja) |
JP (1) | JP7303894B2 (ja) |
KR (2) | KR102616680B1 (ja) |
CN (1) | CN113508592A (ja) |
AU (1) | AU2020234595A1 (ja) |
BR (1) | BR112021016896A2 (ja) |
CA (1) | CA3131311A1 (ja) |
MX (1) | MX2021010504A (ja) |
WO (1) | WO2020181997A1 (ja) |
ZA (1) | ZA202107479B (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020223552A1 (en) * | 2019-04-30 | 2020-11-05 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and apparatus of prediction refinement with optical flow |
US11523109B2 (en) * | 2019-05-02 | 2022-12-06 | Tencent America LLC | Method and apparatus for improvements of affine prof |
CN114073090A (zh) * | 2019-07-01 | 2022-02-18 | 交互数字Vc控股法国公司 | 仿射运动补偿的双向光流细化 |
KR20220061240A (ko) * | 2019-09-20 | 2022-05-12 | 텔레호낙티에볼라게트 엘엠 에릭슨(피유비엘) | 시프트 동작들에 대한 양방향 광학 흐름 단순화를 이용한 비디오 인코딩 및/또는 디코딩 방법들 및 관련 장치 |
KR20230070535A (ko) * | 2019-10-09 | 2023-05-23 | 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 | 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들 |
WO2023085759A1 (ko) * | 2021-11-09 | 2023-05-19 | 삼성전자 주식회사 | Ai를 이용하는 영상 부호화 장치 및 영상 복호화 장치, 및 이들에 의한 영상의 부호화 및 복호화 방법 |
CN117915097A (zh) * | 2022-10-12 | 2024-04-19 | 维沃移动通信有限公司 | 帧内预测方法、装置及设备 |
CN116127671B (zh) * | 2023-04-17 | 2023-06-23 | 四川奥凸环保科技有限公司 | 一种供水管网参数优化方法、系统、设备和存储介质 |
CN118101970B (zh) * | 2024-04-17 | 2024-07-26 | 哈尔滨师范大学 | 基于深度学习的冰雪项目场地监控图像高效通信方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019010156A1 (en) | 2017-07-03 | 2019-01-10 | Vid Scale, Inc. | MOTION COMPENSATION PREDICTION BASED ON A BIDIRECTIONAL OPTICAL FLOW |
WO2020054591A1 (ja) | 2018-09-14 | 2020-03-19 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法、および復号方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI463878B (zh) | 2009-02-19 | 2014-12-01 | Sony Corp | Image processing apparatus and method |
CN107925775A (zh) * | 2015-09-02 | 2018-04-17 | 联发科技股份有限公司 | 基于双向预测光流技术的视频编解码的运动补偿方法及装置 |
US10375413B2 (en) | 2015-09-28 | 2019-08-06 | Qualcomm Incorporated | Bi-directional optical flow for video coding |
KR102469145B1 (ko) * | 2015-10-13 | 2022-11-21 | 삼성전자주식회사 | 영상을 부호화 또는 복호화하는 방법 및 장치 |
EP3586513A4 (en) * | 2017-03-16 | 2020-12-09 | MediaTek Inc | METHOD AND APPARATUS FOR REFINING MOTION BASED ON A BIDIRECTIONAL OPTICAL FLOW FOR VIDEO CODING |
CN116866584A (zh) * | 2017-05-17 | 2023-10-10 | 株式会社Kt | 对视频解码和编码的方法以及存储压缩视频数据的装置 |
WO2018230493A1 (ja) * | 2017-06-14 | 2018-12-20 | シャープ株式会社 | 動画像復号装置、動画像符号化装置、予測画像生成装置及び動きベクトル導出装置 |
KR102427789B1 (ko) * | 2017-10-10 | 2022-08-02 | 한국전자통신연구원 | 인터 예측 정보를 사용하는 방법 및 장치 |
-
2020
- 2020-02-28 KR KR1020217029164A patent/KR102616680B1/ko active IP Right Grant
- 2020-02-28 AU AU2020234595A patent/AU2020234595A1/en active Pending
- 2020-02-28 BR BR112021016896A patent/BR112021016896A2/pt unknown
- 2020-02-28 JP JP2021552986A patent/JP7303894B2/ja active Active
- 2020-02-28 EP EP20770156.6A patent/EP3915262A4/en active Pending
- 2020-02-28 CN CN202080018505.4A patent/CN113508592A/zh active Pending
- 2020-02-28 CA CA3131311A patent/CA3131311A1/en active Pending
- 2020-02-28 MX MX2021010504A patent/MX2021010504A/es unknown
- 2020-02-28 WO PCT/CN2020/077121 patent/WO2020181997A1/en unknown
- 2020-02-28 KR KR1020237043647A patent/KR20240000636A/ko active IP Right Grant
-
2021
- 2021-09-07 US US17/467,785 patent/US11968387B2/en active Active
- 2021-10-05 ZA ZA2021/07479A patent/ZA202107479B/en unknown
-
2024
- 2024-03-22 US US18/613,596 patent/US20240259583A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019010156A1 (en) | 2017-07-03 | 2019-01-10 | Vid Scale, Inc. | MOTION COMPENSATION PREDICTION BASED ON A BIDIRECTIONAL OPTICAL FLOW |
JP2020526964A (ja) | 2017-07-03 | 2020-08-31 | ヴィド スケール インコーポレイテッド | 双方向オプティカルフローに基づいた動き補償予測 |
WO2020054591A1 (ja) | 2018-09-14 | 2020-03-19 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法、および復号方法 |
US20210218970A1 (en) | 2018-09-14 | 2021-07-15 | Panasonic Intellectual Property Corporation Of America | Encoder, decoder, encoding method, and decoding method |
Non-Patent Citations (2)
Title |
---|
Guillaume Laroche, et al.,Non-CE2.3 On SAO Edge offset classification,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 11th Meeting: Ljubljana, SI, 10-18 July 2018,JVET-K0202-v1,2018年07月10日,pp.1-3,庁内DB(送付可) |
Li Jingya, et al.,CE9-related: Simplification of BIO,Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macao, CN, 03-12 Oct. 2018,JVET-L0123-v2,2018年10月05日,pp.1-6,庁内DB(送付可) |
Also Published As
Publication number | Publication date |
---|---|
CN113508592A (zh) | 2021-10-15 |
KR20240000636A (ko) | 2024-01-02 |
CA3131311A1 (en) | 2020-09-17 |
BR112021016896A2 (pt) | 2021-11-03 |
EP3915262A1 (en) | 2021-12-01 |
EP3915262A4 (en) | 2022-08-03 |
WO2020181997A1 (en) | 2020-09-17 |
US11968387B2 (en) | 2024-04-23 |
US20220014776A1 (en) | 2022-01-13 |
AU2020234595A1 (en) | 2021-09-09 |
ZA202107479B (en) | 2024-05-30 |
KR102616680B1 (ko) | 2023-12-20 |
KR20210122854A (ko) | 2021-10-12 |
MX2021010504A (es) | 2021-10-01 |
JP2022524357A (ja) | 2022-05-02 |
US20240259583A1 (en) | 2024-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102431537B1 (ko) | 루마 및 크로마 성분에 대한 ibc 전용 버퍼 및 디폴트 값 리프레싱을 사용하는 인코더, 디코더 및 대응하는 방법들 | |
JP7239697B2 (ja) | エンコーダ、デコーダ、インター予測のための対応する方法 | |
JP7303894B2 (ja) | エンコーダ、デコーダ、及び対応するインター予測方法 | |
JP7471328B2 (ja) | エンコーダ、デコーダ、および対応する方法 | |
JP7521057B2 (ja) | エンコーダ、デコーダ、及びデブロッキングフィルタの境界強度導出の対応する方法 | |
KR102622148B1 (ko) | 병합 모드를 위한 인코더, 디코더 및 대응 방법 | |
JP7314281B2 (ja) | イントラ・サブパーティション・コーディング・ツールによって引き起こされるサブパーティション境界のためのデブロッキングフィルタ | |
JP7414127B2 (ja) | 拡張補間フィルタのメモリ帯域幅削減のためのアフィン動きモデル制限 | |
JP7231759B2 (ja) | オプティカルフローベースのビデオフレーム間予測 | |
CN114556923B (zh) | 编码器、解码器和使用插值滤波的对应方法 | |
JP7436526B2 (ja) | 非線形適応ループフィルタのためのクリッピングレベル | |
KR20220065880A (ko) | 아핀 모션 보상에서 dct 기반 보간 필터 및 향상된 쌍선형 보간 필터의 사용 | |
CN113228632A (zh) | 用于局部亮度补偿的编码器、解码器、以及对应方法 | |
RU2809192C2 (ru) | Кодер, декодер и соответствующие способы межкадрового предсказания | |
RU2818228C2 (ru) | Уровни ограничения для нелинейного адаптивного контурного фильтра | |
JP2022550989A (ja) | エンコーダ、デコーダ、および、対応する方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211004 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230404 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230606 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230623 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7303894 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |