JP7414127B2 - 拡張補間フィルタのメモリ帯域幅削減のためのアフィン動きモデル制限 - Google Patents
拡張補間フィルタのメモリ帯域幅削減のためのアフィン動きモデル制限 Download PDFInfo
- Publication number
- JP7414127B2 JP7414127B2 JP2022518666A JP2022518666A JP7414127B2 JP 7414127 B2 JP7414127 B2 JP 7414127B2 JP 2022518666 A JP2022518666 A JP 2022518666A JP 2022518666 A JP2022518666 A JP 2022518666A JP 7414127 B2 JP7414127 B2 JP 7414127B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- video
- size
- motion vector
- motion
- 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
- 230000033001 locomotion Effects 0.000 title claims description 306
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 title claims description 116
- 238000000034 method Methods 0.000 claims description 152
- 239000013598 vector Substances 0.000 claims description 140
- 238000012545 processing Methods 0.000 claims description 62
- 230000006870 function Effects 0.000 claims description 33
- 238000003491 array Methods 0.000 claims description 14
- 241000723655 Cowpea mosaic virus Species 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 5
- 238000013139 quantization Methods 0.000 description 74
- 230000006854 communication Effects 0.000 description 27
- 238000004891 communication Methods 0.000 description 27
- 238000005192 partition Methods 0.000 description 27
- 238000000638 solvent extraction Methods 0.000 description 26
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 19
- 238000001914 filtration Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 13
- 239000011449 brick Substances 0.000 description 11
- 230000003044 adaptive effect Effects 0.000 description 10
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 230000002123 temporal effect Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 6
- 241000023320 Luma <angiosperm> Species 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000036961 partial effect Effects 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 241000271946 Bitis gabonica Species 0.000 description 2
- 101150039623 Clip1 gene Proteins 0.000 description 2
- 241000385654 Gymnothorax tile Species 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 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
- 230000011664 signaling Effects 0.000 description 2
- 230000007727 signaling mechanism Effects 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000000926 separation method Methods 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
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- 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/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- 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/172—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 picture, frame or field
-
- 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/55—Motion estimation with spatial constraints, e.g. at image or region borders
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
本特許出願は、2019年9月30日に出願された国際特許出願PCT/RU2019/000691の優先権を主張する。前述の特許出願の開示は、その全体が参照により本明細書に組み込まれる。
動き補償のために、拡張補間フィルタEIFを含むエンコーダまたはデコーダに実装された映像を符号化するための方法であって、
i)アフィンインター予測に従ってブロックの制御点動きベクトルCPMVを決定する段階であって、ブロックはアフィンブロックまたはアフィンブロックの副次的ブロックである、決定する段階と、
ii)所定の副次的ブロックサイズについて、CPMVの値に従って、所定の副次的ブロックサイズを有する副次的ブロックのための参照領域を決定する段階と、
iii)決定された参照領域を事前定義された閾値と比較する段階と、
iv)動き補償のためにEIFを適用する段階であって、ブロックの画素ベースの動きベクトル場を導出することを含む、適用する段階と、を含み、
決定された参照領域が閾値よりも大きい場合、ブロックの画素ベースの動きベクトル場を導出することは、動きベクトルのクリッピングをさらに含み、
ブロックの動きモデルとブロックのサイズとに基づいて動きベクトルのクリップ範囲を決定する、方法。
Tタップの補間フィルタを用いて導出された動きベクトル場に基づいて参照ピクチャ内の補間サンプルを取得する段階であって、Tはフィルタの長さに対応する補間フィルタタップの数であり、Tは1より大きい、取得する段階と、
補間サンプルにハイパスフィルタを適用するこ段階、をさらに含むことができる。
ブロックのサイズを決定する段階と、
ブロックのサイズをブロックのサイズの第1の閾値と比較する段階と、をさらに含み得、
ブロックのサイズがブロックのサイズの第1の閾値以上である場合、ブロックベースのアフィン変換予測がブロックに対して実行される。
ハイパスフィルタの長さに基づいて副次的ブロックの各境界から画素マージンを加算することによって拡張ブロックを決定する段階と、
CPMVに基づいて拡張ブロックの各コーナーの動きベクトルを導出する段階と、
導出された動きベクトルに基づいて参照ピクチャ内の変換されたブロックを導出する段階と、
変換されたブロックのバウンディングボックスを導出する段階と、を含み得、
参照ブロックの領域は、バウンディングボックスの各境界からの(T-1)画素により拡張されるバウンディングボックスに対応する。
dVerY=-dHorX.
バウンディングボックスのサイズは、Ceil(W')xCeil(H')によって与えられ得る、または
バウンディングされたボックスのサイズは、Floor(W')xFloor(H')によって与えられ得る。
副次的ブロックのサイズおよびフィルタの長さに基づいて副次的ブロックの最大許容メモリアクセス消費量を決定する段階と、
決定されたメモリアクセス消費量が最大許容メモリアクセス消費量以下であるという制約が満たされた場合に、ブロックの動き補償のためのEIFが実行されるべきであると決定する段階と、をさらに含むことができる。この場合、MVクリッピングは、MVがピクチャの外側に向けられないことを保証するために使用される。
ブロックの中心の動きベクトルを計算し、並進動き補償を行う段階をさらに含む。
-変数eifSubblockSizeの値を4に等しく設定する段階と、
-アレイX[i]、Y[i]を、以下のように導出する段階と、
-X[0]=0、
-X[1]=(eifSubblockSize+1)*(dX[0]+(1<<9))、
-X[2]=(eifSubblockSize+1)*dY[0]、
-X[3]=X[1]+X[2]、
-Y[0]=0、
-Y[1]=(eifSubblockSize+1)*dX[1]、
-Y[2]=(eifSubblockSize+1)*(dY[1]+(1<<9))、
-Y[3]=Y[1]+Y[2]、
-変数Xmaxの値を、iが0..3に等しい場合のX[i]の最大値に等しく設定する段階と、
-変数Xminの値を、iが0..3に等しい場合のX[i]の最小値に等しく設定する段階と、
-変数Ymaxの値を、iが0..3に等しい場合のY[i]の最大値に等しく設定する段階と、
-変数Yminの値を、iが0..3に等しい場合のY[i]の最小値に等しく設定する段階と、
-変数Wの値を、(Xmax-Xmin+(1<<9)-1)>>9の値に等しく設定する段階と、
-変数Hの値を(Ymax-Ymin+(1<<9)-1)>>9の値に等しく設定する段階とをさらに含むことができる。
-変数eifSubblockSizeの値を4に等しく設定し、
-アレイX[i]、Y[i]を、以下のように導出し、
-X[0]=0、
-X[1]=(eifSubblockSize+1)*(dX[0]+(1<<K))、
-X[2]=(eifSubblockSize+1)*dY[0]、
-X[3]=X[1]+X[2]、
-Y[0]=0、
-Y[1]=(eifSubblockSize+1)*dX[1]、
-Y[2]=(eifSubblockSize+1)*(dY[1]+(1<<K))、
-Y[3]=Y[1]+Y[2]、
-変数Xmaxの値を、iが0..3に等しい場合のX[i]の最大値に等しく設定し、
-変数Xminの値を、iが0..3に等しい場合のX[i]の最小値に等しく設定し、
-変数Ymaxの値を、iが0..3に等しい場合のY[i]の最大値に等しく設定し、
-変数Yminの値を、iが0..3に等しい場合のY[i]の最小値に等しく設定し、
-変数Wの値を、(Xmax-Xmin+(1<<K)-1)>>Kの値に等しく設定し、
-変数Hの値を、(Ymax-Ymin+(1<<K)-1)>>Kの値に等しく設定する。
副次的ブロックのサイズおよびフィルタの長さに基づいて副次的ブロックの最大許容メモリアクセス消費量を決定する段階と、
決定されたメモリアクセス消費量が最大許容メモリアクセス消費量以下であるという制約が満たされた場合に、ブロックの動き補償のためのEIFが実行されるべきであると決定する段階と、をさらに含むことができる。この場合、MVクリッピングは、MVがピクチャの外側に向けられないことを保証するために、使用される。
1つまたは複数のプロセッサ、および
1つまたは複数のプロセッサに結合され、1つまたは複数のプロセッサによる実行のための命令を格納する非一時的コンピュータ可読記憶媒体であって、命令が、1つまたは複数のプロセッサによって実行されると、上記の方法を実行するようにデコーダを構成する、非一時的コンピュータ可読記憶媒体を含む、デコーダをさらに提供する。
1つまたは複数のプロセッサ、および
1つまたは複数のプロセッサに結合され、1つまたは複数のプロセッサによる実行のための命令を格納する非一時的コンピュータ可読記憶媒体であって、命令が、1つまたは複数のプロセッサによって実行されると、上記の方法を実行するようにエンコーダを構成する、非一時的コンピュータ可読記憶媒体を含む、エンコーダをさらに提供する。
アフィンインター予測に従ってブロックの制御点動きベクトルCPMVを決定するように構成された第1の決定ユニットであって、ブロックはアフィンブロックまたはアフィンブロックの副次的ブロックである、第1の決定ユニット、
所定の副次的ブロックサイズに対して、CPMVの値に従って所定の副次的ブロックサイズを有する副次的ブロックのための参照領域を決定するように構成された第2の決定ユニット、
決定された参照領域を事前定義された閾値と比較するように構成された比較ユニット、
動き補償のためにEIFを適用するように構成された動き補償ユニットであって、ブロックの画素ベースの動きベクトル場を導出することを含む、動き補償ユニット、を含み、
決定された参照領域が閾値よりも大きい場合、動き補償ユニットは、ブロックの画素ベースの動きベクトル場を導出するように構成され、動きベクトルのクリッピングをさらに含み、
ブロックの動きモデルとブロックのサイズとに基づいて動きベクトルのクリップ範囲を決定する、デコーダまたはエンコーダをさらに開示する。
図2は、本願の技術を実装するように構成された例示的なビデオエンコーダ20の概略的なブロック図を示す。図2の例では、ビデオエンコーダ20は、入力201(または入力インターフェース201)、残差計算ユニット204、変換処理ユニット206、量子化ユニット208、逆量子化ユニット210、および逆変換処理ユニット212、再構成ユニット214、ループフィルタユニット220、デコードピクチャバッファ(DPB)230、モード選択ユニット260、エントロピーエンコードユニット270、および出力272(または出力インターフェース272)を備える。モード選択ユニット260は、インター予測ユニット244、イントラ予測ユニット254および区分ユニット262を含んでもよい。インター予測ユニット244は、動き推定ユニットおよび動き補償ユニット(図示せず)を含んでもよい。図2に示すようなビデオエンコーダ20はまた、ハイブリッドビデオエンコーダ、またはハイブリッドビデオコーデックによるビデオエンコーダとも称され得る。
エンコーダ20は、例えば入力201を介して、ピクチャ17(またはピクチャデータ17)、例えば映像または映像シーケンスを形成するピクチャのシーケンスのピクチャを受信するように構成され得る。受信されたピクチャまたはピクチャデータはまた、前処理されたピクチャ19(または前処理されたピクチャデータ19)であってもよい。簡単にするために、以下の説明ではピクチャ17を参照する。ピクチャ17は、現在のピクチャ、または、符号化されるべきピクチャ(特に、現在のピクチャを他のピクチャ、例えば同じ映像シーケンス、すなわち現在のピクチャも含む映像シーケンスの以前にエンコードおよび/またはデコードされたピクチャから区別するための映像符号化において)とも称され得る。
残差計算ユニット204は、例えば、サンプル毎に(画素毎に)ピクチャブロック203のサンプル値から予測ブロック265のサンプル値を減算することによって、ピクチャブロック203および予測ブロック265(予測ブロック265に関するさらなる詳細は後に提供される)に基づいて残差ブロック205(残差205とも呼ばれる)を計算し、サンプルドメイン内の残差ブロック205を取得するように構成され得る。
変換処理ユニット206は、変換ドメイン内の変換係数207を取得するために、残差ブロック205のサンプル値に変換、例えば離散コサイン変換(DCT)または離散サイン変換(DST)を適用するように構成され得る。変換係数207は、変換残差係数とも称され、変換ドメイン内の残差ブロック205を表すことができる。
量子化ユニット208は、例えばスカラ量子化またはベクトル量子化を適用することによって、変換係数207を量子化して量子化係数209を得るように構成され得る。量子化係数209は、量子化変換係数209または量子化残差係数209とも称され得る。
逆量子化ユニット210は、例えば、量子化ユニット208と同じ量子化ステップサイズに基づいて、またはそれを使用して量子化ユニット208によって適用された量子化方式の逆を適用することによって、量子化係数に量子化ユニット208の逆量子化を適用して、逆量子化係数211を得るように構成される。逆量子化係数211は、逆量子化残差係数211とも称され、典型的には量子化による損失のために変換係数と同一ではないが、変換係数207に対応する。
逆変換処理ユニット212は、サンプルドメイン内の再構成された残差ブロック213(または対応する逆量子化係数213)を取得するために、変換処理ユニット206によって適用された変換の逆変換、例えば、逆離散コサイン変換(DCT)または逆離散サイン変換(DST)または他の逆変換を適用するように構成される。再構成された残差ブロック213は、変換ブロック213とも称され得る。
再構成ユニット214(例えば加算器214)は、例えば、再構成された残差ブロック213のサンプル値および予測ブロック265のサンプル値をサンプル毎に加算することによって、サンプルドメイン内の再構成ブロック215を取得するために、変換ブロック213(すなわち、再構成された残差ブロック213)を予測ブロック265に加算するように構成される。
ループフィルタユニット220(または略して「ループフィルタ」220)は、再構成されたブロック215をフィルタリングしてフィルタリングされたブロック221を取得するように、または一般に、再構成されたサンプルをフィルタリングしてフィルタリングされたサンプル値を取得するように構成される。ループフィルタユニットは、例えば、画素の移行を円滑にするか、または別様に映像の質を改善するように構成される。ループフィルタユニット220は、1つまたは複数のループフィルタ、例えばデブロッキングフィルタ、サンプル適応オフセット(SAO)フィルタ、または1つまたは複数の他のフィルタ、例えば適応ループフィルタ(ALF)、ノイズ抑制フィルタ(NSF)、またはそれらの任意の組合せを含むことができる。一例では、ループフィルタユニット220は、デブロッキングフィルタ、SAOフィルタ、およびALFフィルタを含むことができる。フィルタ処理の順序は、デブロッキングフィルタ、SAO、およびALFであってもよい。別の例では、クロマスケーリングを用いた輝度マッピング(LMCS)(すなわち、適応ループ内リシェーパ)と呼ばれるプロセスが追加される。この処理は、デブロッキングの前に行われる。別の例では、デブロッキングフィルタ処理は、内部副次的ブロックエッジ、例えばアフィン副次的ブロックエッジ、ATMVP副次的ブロックエッジ、副次的ブロック変換(SBT)エッジ、および副次的区分内(ISP)エッジにも適用され得る。図2では、ループフィルタユニット220はインループフィルタとして示されているが、他の構成では、ループフィルタユニット220はポストループフィルタとして実装されてもよい。フィルタリングされたブロック221は、フィルタリングされた再構成ブロック221とも称され得る。
デコードピクチャバッファ(DPB)230は、ビデオエンコーダ20で映像データをエンコードするための参照ピクチャ、一般的には参照ピクチャデータを格納するメモリであり得る。DPB230は、シンクロナスDRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM(登録商標))、または他のタイプのメモリデバイスを含むダイナミックランダムアクセスメモリ(DRAM)などの様々なメモリデバイスのいずれかによって形成することができる。デコードピクチャバッファ(DPB)230は、1つまたは複数のフィルタリングされたブロック221を格納するように構成することができる。デコードピクチャバッファ230は、同じ現在のピクチャまたは異なるピクチャ、例えば以前に再構成されたピクチャの、他の以前にフィルタリングされたブロック、例えば以前に再構成およびフィルタリングされたブロック221を格納するようにさらに構成され得、例えばインター予測のために、完全な以前に再構成された、すなわちデコードされたピクチャ(および対応する参照ブロックおよびサンプル)および/または部分的に再構成された現在のピクチャ(および対応する参照ブロックおよびサンプル)を提供し得る。デコードピクチャバッファ(DPB)230はまた、例えば再構成されたブロック215がループフィルタユニット220によってフィルタリングされていない場合、1つまたは複数のフィルタリングされていない再構成されたブロック215、または一般にフィルタリングされていない再構成されたサンプル、または再構成されたブロックもしくはサンプルの任意の他のさらなる処理されたバージョンを格納するように構成され得る。
モード選択ユニット260は、区分ユニット262と、インター予測ユニット244と、イントラ予測ユニット254とを備え、元のピクチャデータ、例えば元のブロック203(現在のピクチャ17の現在のブロック203)、再構成されたピクチャデータ、例えばフィルタリングされたおよび/またはフィルタリングされていない同じ(現在の)ピクチャの再構成されたサンプルまたはブロック、および/または、以前にデコードされたピクチャのうちのの1つまたは複数から、例えばデコードピクチャバッファ230または他のバッファ(例えば、図示されていないラインバッファ)からの、再構成されたピクチャデータを受信または取得するように構成される。再構成されたピクチャデータは、予測ブロック265または予測器265を取得するために、予測、例えばインター予測またはイントラ予測のための参照ピクチャデータとして使用される。
区分ユニット262は、映像シーケンスからのピクチャを符号化ツリーユニット(CTU)のシーケンスに区分するように構成され得、区分ユニット262は、符号化ツリーユニット(CTU)203をより小さい区分、例えば、正方形または長方形サイズのより小さいブロックに区分(または分割)し得る。3つのサンプルアレイを有するピクチャの場合、CTUは、2つの対応するクロマサンプルのブロックと共に、N×N個の輝度サンプルのブロックからなる。CTU内の輝度ブロックの最大許容サイズは、開発中の汎用映像符号化(VVC)では128×128に指定されているが、将来的には128×128ではなく、例えば256×256の値に指定することができる。ピクチャのCTUは、スライス/タイルグループ、タイルまたはレンガとしてクラスタ化/グループ化され得る。タイルはピクチャの長方形の領域を覆い、タイルは1つまたは複数のレンガに分割することができる。レンガは、タイル内のいくつかのCTU行からなる。複数のレンガに区分されていないタイルは、レンガと呼ぶことができる。しかしながら、レンガはタイルの真のサブセットであり、タイルとは呼ばれない。VVCでサポートされるタイルグループの2つのモード、すなわちラスタースキャンスライス/タイルグループモードおよび長方形スライスモードがある。ラスタースキャンタイルグループモードでは、スライス/タイルグループは、ピクチャのタイルラスタースキャンにおけるタイルのシーケンスを含む。長方形スライスモードでは、スライスは、ピクチャの長方形領域を集合的に形成する複数のピクチャのレンガを含む。長方形スライス内のレンガは、スライスのレンガラスタースキャンの順序である。これらのより小さいブロック(副次的ブロックとも呼ばれ得る)は、さらにより小さい区分に区分され得る。これは、ツリー区分または階層ツリー区分とも呼ばれ、例えば、ルートツリーレベル0(階層レベル0、深さ0)のルートブロックは、再帰的に区分され、例えば、次の下位ツリーレベルの2つ以上のブロック、例えばツリーレベル1(階層レベル1、深さ1)のノードに区分され得、これらのブロックは、区分が終了するまで、例えば、終了基準が満たされる、例えば、最大のツリーの深さまたは最小ブロックサイズに達するために、次の下位レベル、例えばツリーレベル2(階層レベル2、深さ2)の2つ以上のブロックに再び区分され得る。さらに区分されないブロックは、ツリーのリーフブロックまたはリーフノードとも呼ばれる。2つの区分に区分することを用いたツリーは、二分木(BT)と呼ばれ、3つの区分に区分することを用いたツリーは、三分木(TT)と呼ばれ、4つの区分に区分することを用いたツリーは、四分木(QT)と呼ばれる。
イントラ予測モードのセットは、35個の異なるイントラ予測モード、例えばDC(または平均)モードおよび平面モードのような無指向性モード、または例えばHEVCで定められるような指向性モードを備えてもよく、または67個の異なるイントラ予測モード、例えばDC(または平均)モードおよび平面モードのような無指向性モード、または例えばVVCで定められるような指向性モードを備えてもよい。例として、いくつかの従来の角度イントラ予測モードは、例えばVVCで定められるように、非正方形ブロックの広角イントラ予測モードで適応的に置き換えられる。別の例として、DC予測のための分割演算を回避するために、長辺のみが非正方形ブロックの平均を計算するために使用される。さらに、平面モードのイントラ予測の結果は、位置依存イントラ予測合成(PDPC)法によってさらに修正されてもよい。
インター予測モードのセット(または可能なインター予測モード)は、利用可能な参照ピクチャ(すなわち、例えばDBP230に格納された、以前の少なくとも部分的にデコードされたピクチャ)、および他のインター予測パラメータ、例えば、参照ピクチャ全体または参照ピクチャの一部のみ、例えば、現在のブロックの領域の周りの探索ウィンドウ領域が、最良一致の参照ブロックを探索するために使用されるかどうか、および/または、例えば、半画素、1/4画素および/または1/16画素の補間などの画素の補間が適用されるかどうかに依存する。
エントロピーエンコードユニット270は、例えば、ビデオデコーダ30がパラメータを受信してデコードに使用することができるように、例えばエンコードビットストリーム21の形態で出力272を介して出力することができるエンコードされたピクチャデータ21を取得するために、量子化係数209、インター予測パラメータ、イントラ予測パラメータ、ループ・フィルタ・パラメータ、および/または他のシンタックス要素に対して、例えば、エントロピーエンコードアルゴリズムまたはスキーム(例えば、可変長符号化(VLC)方式、コンテキスト適応型VLC方式(CAVLC)、算術符号化方式、二値化、コンテキスト適応型バイナリ算術符号化(CABAC)、シンタックスベースのコンテキスト適応型バイナリ算術符号化(SBAC)、確率区間区分エントロピー(PIPE)符号化、または別のエントロピーエンコード方法または技法)またはバイパス(圧縮なし)を適用するように構成される。エンコードビットストリーム21は、ビデオデコーダ30に送信されてもよいし、またはビデオデコーダ30による後の送信または検索のためにメモリに格納されてもよい。
図3は、本願の技術を実装するように構成されたビデオデコーダ30の例を示す。ビデオデコーダ30は、例えばエンコーダ20によってエンコードされた、エンコードされたピクチャデータ21(例えば、エンコードビットストリーム21)を受信して、デコードピクチャ331を取得するように構成される。エンコードされたピクチャデータまたはビットストリームは、エンコードされたピクチャデータをデコードするための情報、例えば、エンコードされた映像スライスのピクチャブロック(および/またはタイルグループまたはタイル)および関連するシンタックス要素を表すデータを含む。
エントロピーデコードユニット304は、ビットストリーム21(または、一般に、エンコードされたピクチャデータ21)を解析し、例えば、エンコードされたピクチャデータ21に対するエントロピーデコードを実行して、例えば、量子化係数309、および/または、デコードされた符号化パラメータ(図3には示されていない)、例えば、インター予測パラメータ(例えば、参照ピクチャインデックスおよび動きベクトル)、イントラ予測パラメータ(例えば、イントラ予測モードまたはインデックス)、変換パラメータ、量子化パラメータ、ループ・フィルタ・パラメータ、および/または、その他のシンタックス要素のうちのいずれかまたはすべてを取得するように構成される。エントロピーデコードユニット304は、エンコーダ20のエントロピーエンコードユニット270に関して記載されたようなエンコードスキームに対応するデコードアルゴリズムまたはスキームを適用するように構成され得る。エントロピーデコードユニット304はさらに、インター予測パラメータ、イントラ予測パラメータ、および/または、その他のシンタックス要素を、モード適用ユニット360へ提供し、その他のパラメータを、デコーダ30のその他のユニットへ提供するように構成され得る。ビデオデコーダ30は、映像スライスレベルおよび/または映像ブロックレベルでシンタックス要素を受信することができる。さらに、またはスライスおよびそれぞれのシンタックス要素の代替として、タイルグループおよび/またはタイルおよびそれぞれのシンタックス要素を、受信および/または使用することができる。
逆量子化ユニット310は、量子化パラメータ(QP)(または逆量子化に関連する一般的な情報)および量子化係数を、エンコードされたピクチャデータ21(例えば、エントロピーデコードユニット304によって、構文解析および/またはデコードすることによって)から受信し、量子化パラメータに基づいて、デコードされた量子化係数309に逆量子化を適用して、変換係数311とも呼ばれ得る逆量子化係数311を取得するように構成され得る。逆量子化プロセスは、適用されるべき量子化の程度、および同様に逆量子化の程度を決定するために、映像スライス(またはタイルまたはタイルグループ)内の各映像ブロックに対して、ビデオエンコーダ20によって決定された量子化パラメータを使用することを含むことができる。
逆変換処理ユニット312は、変換係数311とも呼ばれる逆量子化係数311を受信し、サンプルドメイン内の再構成された残差ブロック213を取得するために、逆量子化係数311に変換を適用するように構成され得る。再構成された残差ブロック313は、変換ブロック213とも称され得る。変換は、逆変換、例えば、逆DCT、逆DST、逆整数変換、または概念的に同様の逆変換プロセスであってもよい。逆変換処理ユニット312は、逆量子化係数311に適用されるべき変換を決定するために、(例えば、エントロピーデコードユニット304によって、構文解析および/またはデコードすることによって)エンコードされたピクチャデータ21から変換パラメータまたは対応する情報を受信するようにさらに構成され得る。
再構成ユニット314(例えば加算器314)は、例えば、再構成された残差ブロック313のサンプル値および予測ブロック365のサンプル値を加算することによって、サンプルドメイン内の再構成ブロック315を取得するために、再構成された残差ブロック313を予測ブロック365に加算するように構成される。
ループフィルタユニット320(符号化ループ内または符号化ループ後のいずれか)は、例えば画素の移行を円滑にするために、または映像の質を改善するために、再構成されたブロック315をフィルタリングして、フィルタリングされたブロック321を取得するように構成される。ループフィルタユニット320は、1つまたは複数のループフィルタ、例えばデブロッキングフィルタ、サンプル適応オフセット(SAO)フィルタ、または1つまたは複数の他のフィルタ、例えば適応ループフィルタ(ALF)、ノイズ抑制フィルタ(NSF)、またはそれらの任意の組合せを含むことができる。一例では、ループフィルタユニット220は、デブロッキングフィルタ、SAOフィルタ、およびALFフィルタを含むことができる。フィルタ処理の順序は、デブロッキングフィルタ、SAO、およびALFであってもよい。別の例では、クロマスケーリングを用いた輝度マッピング(LMCS)(すなわち、適応ループ内リシェーパ)と呼ばれるプロセスが追加される。この処理は、デブロッキングの前に行われる。別の例では、デブロッキングフィルタ処理は、内部副次的ブロックエッジ、例えばアフィン副次的ブロックエッジ、ATMVP副次的ブロックエッジ、副次的ブロック変換(SBT)エッジ、および副次的区分内(ISP)エッジにも適用され得る。図3では、ループフィルタユニット320はインループフィルタとして示されているが、他の構成では、ループフィルタユニット320はポストループフィルタとして実装されてもよい。
ピクチャのデコード映像ブロック321は、その後、デコードピクチャバッファ330に格納される。このバッファは、デコードピクチャ331を、他のピクチャのためのその後の動き補償および/またはそれぞれの表示を出力するための参照ピクチャとして格納する。
インター予測ユニット344はインター予測ユニット244(特に動き補償ユニット)と同一であってもよく、イントラ予測ユニット354はインター予測ユニット254と機能的に同一であってもよく、区分および/または予測パラメータ、またはエンコードされたピクチャデータ21から受信したそれぞれの情報(例えば、エントロピーデコードユニット304によって、構文解析および/またはデコードすることによって)に基づいて分割または区分の決定および予測を行う。モード適用ユニット360は、予測ブロック365を取得するために、再構成されたピクチャ、ブロック、またはそれぞれのサンプル(フィルタリングされたまたはフィルタリングされていない)に基づいて、ブロック毎に予測(イントラまたはインター予測)を実行するように構成され得る。
ITU-T H.265(HEVC)では、動き補償予測(MCP)には並進動きモデルのみが適用される。しかしながら、現実世界では、ズームイン/アウト、回転、遠近法の動き、および他の不規則な動きなど、多くの種類の動きがある。VTM6では、ブロックベースのアフィン変換動き補償予測が適用される。図6に示すように、ブロックのアフィン動き場では、2つの制御点(4パラメータ)または3つの制御点の動きベクトル(CPMV)(6パラメータ)の動きの情報によって記述される。
(mv0x,mv0y)は、左上コーナーの制御点の動きベクトルであり、(mv1x,mv1y)は、右上コーナーの制御点の動きベクトルであり、(mv2x,mv2y)は、左下コーナーの制御点の動きベクトルであり、Wはブロックの幅であり、Hはブロックの高さである。
dVerX=-dHorY,(1-10)
dVerY=-dHorX.(1-11)
動き補償予測を単純化するために、ブロックベースのアフィン変換予測が適用される。各8×8の輝度副次的ブロックの動きベクトルを導出するために、図7に示すように、各副次的ブロックの中心サンプルの動きベクトルが上記の式に従って計算され、1/16の部分的な精度に丸められる。次に、導出された動きベクトルを用いて各副次的ブロックの予測を生成するために、動き補償補間フィルタが適用される。クロマ成分の副次的ブロックサイズは4×4に設定される。
拡張バイリニア補間フィルタ(EIF)を使用したフィルタリングは、予測ブロックおよび副次的ブロックベースで使用することができる。フィルタリング手順は、輝度信号およびクロマ信号について同じである。フィルタリング手順は、以下のステップを含む。
E1.式(1-1)に従ってCPMVから画素ベースの動きベクトル場を導出する、
E2.部分的なオフセットのバイリニア補間を使用して、導出された動きベクトルに基づいて補間サンプルを取得する、
E3.8の正規化係数で固定-3タップのハイパスフィルタ[-1,10,-1]を使用して水平フィルタリング、次いで垂直フィルタリングを実行する。
メモリ帯域幅は、参照ブロック対現在のブロック領域の比として計算される。例えば、Tタップの補間フィルタを使用する8×8の双予測ブロックの場合、参照領域値はSrが2(8+T-1)(8+T-1)に等しく、ブロック領域Sbは8*8に等しい。したがって、メモリ帯域幅は
使用EIFの場合のアフィンブロックのためのメモリアクセス消費量計算
サイズWxHのアフィンブロックの動き補償にEIFが用いられる場合、メモリアクセス消費量計算のために以下のステップが行われる。
2.EIFのステップ3で使用されるブロックの各コーナーサンプルの位置を導出する(EIF中間ブロックとして示す)。
3.EIF中間ブロックの各コーナーサンプルの動きベクトルを導出する。
E4.参照ピクチャ内の変換されたブロックの位置を導出する。
E5.変換されたブロックのバウンディングボックスサイズを導出する。
E6.変換されたブロックのサイズおよびフィルタの長さに基づいてメモリアクセス消費量を得る(EIFはバイリニア補間を使用するので、フィルタの長さは2に等しい)。
アフィンブロックの左上のサンプルの座標として(x0,y0)と表すものとする。次いで、アフィンブロックの位置は、そのコーナーサンプルの座標(左上、右上、左下、右下)によって記述することができる。
EIFのステップE2におけるバイリニア補間は、サイズ(W+2)×(H+2)のブロックに対して実行される(各境界から1つの画素のマージンが追加される)。このブロックは、(W+2)×(H+2)ブロックと呼ばれることもある。この(W+2)×(H+2)ブロックを中間EIFブロックと表記する。中間EIFブロックコーナーサンプル(左上、右上、左下、右下)の座標は、以下のようになる。
動きベクトルは、式(1-1)に従って導出される。いくつかの例では、1つのCTUサイズのマージンを有する現在のピクチャの外側のサンプルが使用されないことを保証するために、動きベクトルクリッピングを使用することができる。
それぞれベクトルViの水平部分をVix、垂直部分をViyとする。
参照ピクチャ内の変換されたブロックのバウンディングボックスのサイズは、以下の式によって計算することができ、max関数は引数の最大値を返し、min関数は引数の最小値を返す。
1つの参照ピクチャ内のアフィンブロックのメモリアクセス消費量は、変換されたブロックのバウンディングボックスサイズ、変換されたブロック、およびアフィン動きブロックT'のMC補間フィルタの長さ、例えば、2,4,6,8....:によって決定することができる。
Mem=(W'+T'-1)*(H'+T'-1)(2-6)
EIFの場合、バイリニア補間が使用され、したがって、フィルタの長さは2であり、メモリアクセス消費量は以下に等しくなる。
Mem=(W'+1)*(H'+1)(2-7)
目標とする最悪の場合のメモリ帯域幅を
(W'+1)*(H'+1)≦T*W*H(2-8)
または
(W'+1)*(H'+1)≦SWCとして制約されるはずである。
T'が6に等しい場合、制限は以下の通りである。
(W'+1)*(H'+1)≦(4+6-1)*(4+6-1)(2-10)
Mem0+Mem1≦2*(8+T'-1)*(8+T'-1)(2-16)
k(H')2+(k+1)H'+1-TWH=0
を解き、H'=Floor(H'),W'=kH'のステップを実行することにより計算される。
使用EIFの場合のアフィンブロックのためのメモリアクセス消費量計算
実施形態1と実施形態2との違いは、実施形態2の文脈において、EIF動き補償が副次的ブロックサイズWxHを有する副次的ブロックによって副次的ブロック毎に実行されると仮定されることである。一例では、WはHに等しい。一例では、
W=4、h=4。一例では、W=8、H=8である。
2.EIFのステップE3で使用される副次的ブロックの各コーナーサンプルの位置を導出する(EIF中間副次的ブロックとして示す)。
3.EIF中間副次的ブロックの各コーナーサンプルの動きベクトルを導出する
4.参照ピクチャ内の変換された副次的ブロックの位置を導出する
5.変換された副次的ブロックのバウンディングボックスサイズを導出する。
6.変換された副次的ブロックサイズおよびフィルタの長さのバウンディングボックスサイズに基づいてメモリアクセス消費量を得る(EIFはバイリニア補間を使用するので、フィルタの長さは2に等しい)。
アフィンブロックの左上のサンプルの座標として(x0,y0)と表すものとする。メモリアクセス消費量計算のための本実施形態では、アフィン副次的ブロックの左上サンプルの座標は(1,1)に等しいと仮定する。位置(x0,y0)はメモリアクセス消費量の計算には意味をなさず、(x0,y0)=(1,1)の場合、式はより単純になる。
EIFはステップE3で3タップフィルタを使用するので、EIFのステップ2のバイリニア補間は、サイズ(W+2)×(H+2)の副次的ブロックに対して実行される(各境界から1つの画素のマージンが追加される)。このような副次的ブロックは、(W+2)×(H+2)副次的ブロックと呼ばれることもある。ここで、WxHはアフィンブロック(アフィン副次的ブロック)のサイズである。この(W+2)×(H+2)副次的ブロックを中間EIF副次的ブロックと表記する。中間EIFブロックコーナーサンプル(左上、右上、左下、右下)の座標は、以下のようになる。
初期の動きベクトル(mv0x,mv0y)はメモリアクセス消費量の計算には意味をなさず、(mv0x,mv0y)=(dHorX+dVerX,dHorY+dVerY)の場合、式はより単純になる。
参照ピクチャ内の変換されたブロックの位置は、そのコーナーサンプル(左上、右上、左下、右下)の座標によって記述することができる。
参照ピクチャ内の変換された副次的ブロックのバウンディングボックスのサイズは、以下の式によって計算することができ、max関数は引数の最大値を返し、min関数は引数の最小値を返す。
1つの参照ピクチャ内のアフィン副次的ブロックのメモリアクセス消費量は、変換された副次的ブロックサイズ、およびアフィン動きブロックT'のMC補間フィルタの長さに対するバウンディングボックスサイズによって決定することができ、例えば、2、4、6、8....
Mem=(W'+T'-1)*(H'+T'-1)(3-6)
である。
EIFの場合、バイリニア補間が使用され、したがって、フィルタの長さは2であり、メモリアクセス消費量は以下に等しくなる。
Mem=(W'+1)*(H'+1)(3-7)
目標とする最悪の場合のメモリ帯域幅を
(W'+1)*(H'+1)≦T*W*H(3-8)
または
(W'+1)*(H'+1)≦Swc
T'が6に等しい場合、制限は以下の通りである。
(W'+1)*(H'+1)≦(4+6-1)*(4+6-1)(3-10)
Mem0+Mem1≦2*(8+T'-1)*(8+T'-1)(3-16)
k(H')2+(k+1)H'+1-TWH=0
を解き、H'=Floor(H'),W'=kH'のステップを実行することにより計算される。
この例では、EIF副次的ブロックサイズは4x4に等しい。dX[0]はdHorXに対応し、dX[1]はdHorYに対応し、dY[0]はdVerXに対応し、dY[1]はdVerYに対応する。
...
変数eifSubblockSizeは、4に等しく設定される。
-eifCanBeAppliedがTRUEに設定される
-アレイX[i]、Y[i]は、以下のように導出される。
-X[0]=0
-X[1]=(eifSubblockSize+1)*(dX[0]+(1<<9))、
-X[2]=(eifSubblockSize+1)*dY[0]
-X[3]=X[1]+X[2]
-Y[0]=0
-Y[1]=(eifSubblockSize+1)*dX[1]
-Y[2]=(eifSubblockSize+1)*(dY[1]+(1<<9))
-Y[3]=Y[1]+Y[2]
-変数Xmaxは、iが0..3に等しい場合のX[i]の最大値に等しく設定される。
-変数Xminは、iが0..3に等しい場合のX[i]の最小値に等しく設定される。
-変数Ymaxは、iが0..3に等しい場合のY[i]の最大値に等しく設定される。
-変数Yminは、iが0..3に等しい場合のY[i]の最小値に等しく設定される。
-変数Wは、(Xmax-Xmin+(1<<9-1)>>9に等しく設定される。
-変数Hは、(Ymax-Ymin+(1<<9)-1)>>9に等しく設定される。
-(W+2)*(H+2)が81より大きい場合、変数eifCanBeAppliedはFALSEに等しくなる
...
-eifCanBeAppliedが変数sizeSbXよりもFALSEに等しい場合、sizeSbYは以下のように修正される。
-sizeSbX=max(8,sizeSbX)
-sizeSbY=max(8,sizeSbY)
i)(1601)アフィンインター予測に従ってブロックの制御点動きベクトルCPMVを決定することであって、ブロックはアフィンブロックまたはアフィンブロックの副次的ブロックである、決定することと、
ii)(1603)所定の副次的ブロックサイズに対して、CPMVの値に従って所定の副次的ブロックサイズを有する副次的ブロックのための参照領域を決定することと、
iii)(1605)決定された参照領域を事前定義された閾値と比較することと、
iv)(1609)動き補償のためにEIFを適用することであって、ブロックの画素ベースの動きベクトル場を導出することを含む、適用することと、を含み、
(1607)決定された参照領域が閾値よりも大きい場合、ブロックの画素ベースの動きベクトル場を導出することが、動きベクトルのクリッピングをさらに含み、
動きベクトルクリップ範囲はブロックの動きモデルとブロックのサイズとに基づいて決定する。
アフィンインター予測に従ってブロックの制御点動きベクトルCPMVを決定するように構成された第1の決定ユニット3001であって、ブロックはアフィンブロックまたはアフィンブロックの副次的ブロックである、第1の決定ユニット、
所定の副次的ブロックサイズに対して、CPMVの値に従って所定の副次的ブロックサイズを有する副次的ブロックのための参照領域を決定するように構成された第2の決定ユニット3003、
決定された参照領域を事前定義された閾値と比較するように構成された比較ユニット3005、
動き補償のためにEIFを適用するように構成された動き補償ユニット3007であって、ブロックの画素ベースの動きベクトル場を導出することを含む、動き補償ユニット、を含み、
決定された参照領域が閾値よりも大きい場合、動き補償ユニット3007は、ブロックの画素ベースの動きベクトル場を導出するように構成され、動きベクトルのクリッピングをさらに含み、
ブロックの動きモデルとブロックのサイズとに基づいて動きベクトルのクリップ範囲を決定する、デコーダ。
アフィンインター予測に従ってブロックの制御点動きベクトルCPMVを決定するように構成された第1の決定ユニット2001であって、ブロックはアフィンブロックまたはアフィンブロックの副次的ブロックである、第1の決定ユニット、
所定の副次的ブロックサイズに対して、CPMVの値に従って所定の副次的ブロックサイズを有する副次的ブロックのための参照領域を決定するように構成された第2の決定ユニット2003、
決定された参照領域を事前定義された閾値と比較するように構成された比較ユニット2005、
動き補償のためにEIFを適用するように構成された動き補償ユニット2007であって、ブロックの画素ベースの動きベクトル場を導出することを含む、動き補償ユニット、を含み、
決定された参照領域が閾値よりも大きい場合、動き補償ユニット2007は、ブロックの画素ベースの動きベクトル場を導出するように構成され、動きベクトルのクリッピングをさらに含み、
ブロックの動きモデルとブロックのサイズとに基づいて動きベクトルのクリップ範囲を決定する、エンコーダ。
本出願で使用される数学的演算子は、Cプログラミング言語で使用されるものと同様である。しかしながら、整数の除算および算術シフト演算の結果はより正確に定められ、指数化および実数値の除算などの追加の演算が定められる。数える規則や数え上げる規則は一般に0から始まり、例えば、「第1の」は0番目に相当し、「第2の」は1番目に相当するなどである。
以下の算術演算子を以下のように定める。
以下の論理演算子は以下のように定められる。
x&&y xおよびyのブール論理「and」
x||y xとyのブール論理「or」
! ブール論理の「not」
×?y:z xがTRUEまたは0に等しくない場合、yの値に対して評価する。
そうでない場合、zの値に対して評価される。
以下の関係演算子は以下のように定められる。
>より大きい
>=以上
<未満
<=以下
==等しい
!=等しくない
以下のビット毎の演算子は以下のように定められる。
&ビット単位の「and」。整数引数で演算する場合、整数値の2の補数表現で演算する。別の引数より少ないビットを含むバイナリ引数で演算する場合、短い方の引数は、0に等しい上位ビットを追加することによって拡張される。
|ビット単位の「or」。整数引数で演算する場合、整数値の2の補数表現で演算する。別の引数より少ないビットを含むバイナリ引数で演算する場合、短い方の引数は、0に等しい上位ビットを追加することによって拡張される。
^ビット単位の「排他的論理和」。整数引数で演算する場合、整数値の2の補数表現で演算する。別の引数より少ないビットを含むバイナリ引数で演算する場合、短い方の引数は、0に等しい上位ビットを追加することによって拡張される。
x>>y x×yの2進数による2つの補数整数表現の算術的右シフト。この関数は、負ではないyの整数値に対してのみ定められる。右シフトによりMSB(Most Significant Bits)にシフトさせたビットは、シフト演算前のxのMSBに等しい値となる。
x<<y x×yの2進数の2つの補数整数表現の算術左シフト。この関数は、負ではない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以下の整数値をとり、x、y、およびzは整数であり、zはyより大きい。
以下の数学関数が定められる。
Atan(x)ラジアン単位で-π÷2以上π÷2以下の範囲の出力値で、引数xに対して機能する三角関数の逆正接関数
Clip1Y(x)=Clip3(0,(1<<BitDepthY)-1,x)
Clip1C(x)=Clip3(0,(1<<BitDepthC)-1,x)
Floor(x)x以下の最大の整数である。
Log2(x)xの底2の対数。
Log10(x)xの底10の対数。
Tan(x)ラジアン単位の引数xで動作する三角正接関数
式における優先順位が括弧の使用によって明示的に示されない場合、以下の規則が適用される。
-より優先度の高い演算は、より優先度の低い任意の演算の前に評価される。
-同じ優先度の動作は、左から右に順次評価される。
本文では、論理演算の記述は、以下の形式で数学的に説明される。
if(条件0)
記述0
else if(条件1)
記述1
...
else/*残りの条件に関する有益な言及*/
記述n
は、以下のように記述することができる。
...as follows/...the following applies:
-If条件0,記述0
-Otherwise,if条件1,記述1
-...
-Otherwise(残りの条件に関するインフォーマティブな言及),記述n
本文では、論理演算の記述は、以下の形式で数学的に説明される。
if(条件0a&&条件0b)
記述0
else if(条件1a||条件1b)
記述1
...
else
記述n
は、以下のように記述することができる。
...as follows /...the following applies:
-If all of the following conditions are true,statement 0(以下の条件のすべてが真である場合、記述0):
-条件0a
-条件0b
-Otherwise,if one or more of the following conditions are true,statement 1(そうではなく、以下の条件のうちの1つまたは複数が真である場合、記述1):
-条件1a
-条件1b
-...
-Otherwise,記述n
if(条件0)
記述0
if(条件1)
記述1
は、以下のように記述することができる。
When condition 0,statement 0(条件0の場合、記述0)
When condition 1,statement 1(条件1の場合、記述1)
その他の可能な項目
(項目1)
動き補償のために、拡張補間フィルタEIFを含むエンコーダまたはデコーダに実装された映像を符号化するための方法であって、
i)アフィンインター予測に従ってブロックの制御点動きベクトルCPMVを決定することであって、上記ブロックはアフィンブロックまたは上記アフィンブロックの副次的ブロックである、決定することと、
ii)所定の副次的ブロックサイズについて、上記CPMVの値に従って上記所定の副次的ブロックサイズを有する副次的ブロックのための参照領域を決定することと、
iii)上記決定された参照領域を事前定義された閾値と比較することと、
iv)動き補償のためにEIFを適用することであって、上記ブロックの上記画素ベースの動きベクトル場を導出することを含む、適用することと、を含み、
上記決定された参照領域が上記事前定義された閾値よりも大きい場合、上記ブロックの上記画素ベースの動きベクトル場を導出することは、動きベクトルのクリッピングをさらに含み、
上記ブロックの動きモデルと上記ブロックのサイズとに基づいて動きベクトルのクリップ範囲を決定する、方法。
(項目2)
動き補償のためにEIFを使用することが、
Tタップの補間フィルタを用いて上記導出された動きベクトル場に基づいて参照ピクチャ内の補間サンプルを取得することであって、Tは上記フィルタの長さに対応する補間フィルタタップの数であり、Tは0より大きい、取得することと、
上記補間サンプルにハイパスフィルタを適用することと、をさらに含む、項目1に記載の方法。
(項目3)
動き補償のためにEIFを使用することは、
上記ブロックのサイズを決定することと、
上記ブロックの上記サイズを上記ブロックの上記サイズの第1の閾値と比較することと、をさらに含み、
上記ブロックの上記サイズが上記ブロックの上記サイズの上記第1の閾値以上である場合、ブロックベースのアフィン変換予測が上記ブロックに対して実行される、項目1または2に記載の方法。
(項目4)
上記ブロックの上記サイズがアフィン動きモデルパラメータに基づいて決定される、項目3に記載の方法。
(項目5)
上記アフィン動きモデルパラメータは、上記CPMVの動きベクトルの差、ならびに上記ブロックの幅および高さを含む、項目4に記載の方法。
(項目6)
上記アフィン動きモデルパラメータは、上記CPMVの精度をさらに含む、項目4または5に記載の方法。
(項目7)
上記事前定義された閾値は、上記所定の副次的ブロックサイズと、上記副次的ブロックの上記領域に対する上記参照ピクチャ内の上記副次的ブロックに対応する上記参照領域の所定の比とに基づいて計算される、項目1から6のいずれか一項に記載の方法。
(項目8)
上記副次的ブロックの上記領域に対する上記参照ピクチャ内の上記副次的ブロックに対応する上記参照領域の上記所定の比が、上記EIFのメモリ帯域幅に対応する、項目7に記載の方法。
(項目9)
上記事前定義された閾値は、上記ブロックの上記所定の副次的ブロックサイズに対する最大許容メモリアクセス消費量である、項目7に記載の方法。
(項目10)
上記CPMVの値に従って上記所定の副次的ブロックサイズを有する副次的ブロックの上記参照領域を決定することは、
ハイパスフィルタの長さに基づいて上記副次的ブロックの各境界から画素マージンを加算することによって拡張ブロックを決定することと、
上記CPMVに基づいて上記拡張ブロックの各コーナーの動きベクトルを導出することと、
上記導出された動きベクトルに基づいて上記参照ピクチャ内の変換されたブロックを導出することと、
上記変換されたブロックのバウンディングボックスを導出することと、を含み、
上記参照ブロックの上記領域は、上記バウンディングボックスの各境界からの(T-1)画素により拡張される上記バウンディングボックスに対応する、項目2から9のいずれかに記載の方法。
(項目11)
上記参照ピクチャ内の上記変換されたブロックの上記バウンディングボックスの上記サイズは、以下の式を使用して導出され、max関数は、上記引数の上記最大値を返し、min関数は、上記引数の上記最小値を返す、
項目10に記載の方法。
(項目12)
上記バウンディングの上記サイズは、W'xH'によって与えられる、または
上記バウンディングボックスの上記サイズは、Ceil(W')xCeil(H')によって与えられる、または
上記バウンディングボックスの上記サイズは、Floor(W')xFloor(H')によって与えられる、項目11に記載の方法。
(項目13)
上記フィルタの長さの上記値は、エンコーダおよびデコーダの両方に対して事前定義されるか、またはコーデックビデオシーケンスのパラメータセットにおいて指定される、項目2から12のいずれか一項に記載の方法。
(項目14)
4×4の副次的ブロックの場合、上記事前定義された閾値Tは、
(項目15)
8×8の副次的ブロックの場合、上記事前定義された閾値Tは、
(項目16)
上記ブロックの上記中心の動きベクトルを計算し、並進動き補償を行うことをさらに含む、項目15に記載の方法。
(項目17)
上記拡張補間フィルタの上記副次的ブロックの上記所定のサイズは4×4に等しく、dX[0]はdHorXに対応し、dX[1]はdHorYに対応し、dY[0]はdVerXに対応し、dY[1]はdVerYに対応し、上記CPMVの値に従って、所定の副次的ブロックサイズを有する副次的ブロックの参照領域を決定することは、
上記変数eifSubblockSizeの値を4に等しく設定し、
以下のように上記変数eifCanBeAppliedを導出し、
eifCanBeAppliedの上記値をTRUEに設定し、
-以下のように上記アレイX[i]、Y[i]を導出し、
-X[0]=0、
-X[1]=(eifSubblockSize+1)*(dX[0]+(1<<9))、
-X[2]=(eifSubblockSize+1)*dY[0]、
-X[3]=X[1]+X[2]、
-Y[0]=0、
-Y[1]=(eifSubblockSize+1)*dX[1]、
-Y[2]=(eifSubblockSize+1)*(dY[1]+(1<<9))、
-Y[3]=Y[1]+Y[2]、
-上記変数Xmaxの上記値を、iが0..3に等しい場合の最大値X[i]に等しく設定し、
-上記変数Xminの上記値を、iが0..3に等しい場合のX[i]の最小値に等しく設定し、
-上記変数Ymaxの上記値を、iが0..3に等しい場合のY[i]の最大値に等しく設定し、
-上記変数Yminの上記値を、iが0..3に等しい場合のY[i]の最小値に等しく設定し、
-上記変数Wの上記値を、(Xmax-Xmin+(1<<9)-1)>>9の値に等しく設定し、
-上記変数Hの上記値を(Ymax-Ymin+(1<<9)-1)>>9の値に等しく設定することを含む、項目1から16のいずれか一項に記載の方法。
(項目18)
上記アフィンインター予測が双予測を含む場合、上記制約は両方のリストに対称的に適用される、項目1から17のいずれか一項に記載の方法。
(項目19)
Tが2に等しい、項目2から18のいずれか一項に記載の方法。
(項目20)
上記事前定義された閾値が72に等しい、項目1から19のいずれか一項に記載の方法。
(項目21)
動きモデルがアフィン動きモデルであり、動きベクトルのクリップ範囲が、CPMVに基づいて決定された動きモデル手段に基づいて決定される、項目1から20のいずれか一項に記載の方法。
(項目22)
上記変換された副次的ブロックの上記バウンディングボックスの上記サイズおよびフィルタの長さに基づいて上記副次的ブロックの上記メモリアクセス消費量を決定することと、
上記副次的ブロックの上記サイズおよび上記フィルタの長さに基づいて上記副次的ブロックの最大許容メモリアクセス消費量を決定することと、
上記決定されたメモリアクセス消費量が上記最大許容メモリアクセス消費量以下であるという制約が満たされた場合に、上記ブロックの動き補償のためのEIFが実行されるべきであると決定することと、をさらに含む、項目1から21のいずれか一項に記載の方法。
(項目23)
項目1から22のいずれか一項に記載の方法を実行するための処理回路を備える、エンコーダ(20)。
(項目24)
項目1から22のいずれか一項に記載の方法を実行するための処理回路を備える、デコーダ(30)。
(項目25)
コンピュータまたはプロセッサで実行されると、項目1から22のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラム製品。
(項目26)
デコーダ(30)であって、
1つまたは複数のプロセッサ、および
上記1つまたは複数のプロセッサに結合され、上記1つまたは複数のプロセッサによる実行のための命令を格納する非一時的コンピュータ可読記憶媒体であって、上記命令が、上記1つまたは複数のプロセッサによって実行されると、項目1から22のいずれか一項に記載の方法を実行するように上記デコーダを構成する、非一時的コンピュータ可読記憶媒体を含む、デコーダ。
(項目27)
エンコーダ(20)であって、
1つまたは複数のプロセッサ、および
上記1つまたは複数のプロセッサに結合され、上記1つまたは複数のプロセッサによる実行のための命令を格納する非一時的コンピュータ可読記憶媒体であって、上記命令が、上記1つまたは複数のプロセッサによって実行されるとき項目1から22のいずれか一項に記載の方法を実行するように上記エンコーダを構成する、非一時的コンピュータ可読記憶媒体を含む、エンコーダ。
(項目28)
コンピュータデバイスによって実行されると、上記コンピュータデバイスに項目1から22のいずれか一項に記載の方法を実行させるプログラムコードを保持する、非一時的コンピュータ可読媒体。
(項目29)
動き補償のための上記拡張補間フィルタEIFを含むビデオシーケンスを符号化するためのデコーダ(30)またはエンコーダ(20)であって、上記デコーダ(30)またはエンコーダ(20)はそれぞれ、
アフィンインター予測に従ってブロックの制御点動きベクトルCPMVを決定するように構成された第1の決定ユニット(3001、2001)であって、上記ブロックはアフィンブロックまたは上記アフィンブロックの副次的ブロックである、第1の決定ユニット、
所定の副次的ブロックサイズに対して、上記CPMVの値に従って上記所定の副次的ブロックサイズを有する副次的ブロックのための参照領域を決定するように構成された第2の決定ユニット(3003、2003)、
上記決定された参照領域を事前定義された閾値と比較するように構成された比較ユニット(3005、2005)、
動き補償のためにEIFを適用するように構成された動き補償ユニット(3007、2007)であって、上記ブロックの上記画素ベースの動きベクトル場を導出することを含む、動き補償ユニット、を含み、
上記決定された参照領域が上記閾値よりも大きい場合、上記動き補償ユニット(3007、2007)は、上記ブロックの上記画素ベースの動きベクトル場を導出するように構成され、動きベクトルのクリッピングをさらに含み、
上記ブロックの動きモデルと上記ブロックのサイズとに基づいて動きベクトルのクリップ範囲を決定する、デコーダまたはエンコーダ。
Claims (22)
- 動き補償のために、ブロックの制御点動きベクトルCPMVを使用して補間を実行するための補間フィルタを含むコーデックに実装された映像をコーディングするための方法であって、
i)アフィンインター予測に従ってブロックの制御点動きベクトルCPMVを決定する段階であって、前記ブロックはアフィンブロックである、決定する段階と、
ii)所定の副次的ブロックサイズについて、前記CPMVの値に従って前記所定の副次的ブロックサイズを有する副次的ブロックのための参照領域を決定する段階と、
iii)前記決定された参照領域を事前定義された閾値と比較する段階と、
iv)動き補償のために補間フィルタを適用する段階であって、前記ブロックの画素ベースの動きベクトル場を導出することを含む、適用する段階と、を含み、
前記決定された参照領域が前記事前定義された閾値よりも大きい場合、前記ブロックの前記画素ベースの動きベクトル場を導出する段階は、前記ブロックのサンプル位置の動きベクトルをクリッピングする段階をさらに含み、
前記ブロックのサイズに基づいて動きベクトルのクリップ範囲を決定する、方法。 - 動き補償のために補間フィルタを使用する段階が、
Tタップの補間フィルタを用いて前記導出された動きベクトル場に基づいて参照ピクチャ内の補間サンプルを取得する段階であって、Tは前記補間フィルタの長さに対応する補間フィルタタップの数であり、Tは0より大きい、取得する段階と、
前記補間サンプルにハイパスフィルタを適用することと、をさらに含む、請求項1に記載の方法。 - 動き補償のために補間フィルタを使用する段階は、
前記ブロックのサイズを決定する段階と、
前記ブロックの前記サイズを前記ブロックの前記サイズの第1の閾値と比較する段階と、をさらに含み、
前記ブロックの前記サイズが前記ブロックの前記サイズの前記第1の閾値以上である場合、ブロックベースのアフィン変換予測が前記ブロックに対して実行される、請求項2に記載の方法。 - 前記CPMVの値に従って前記所定の副次的ブロックサイズを有する副次的ブロックの前記参照領域を決定する段階は、
前記ハイパスフィルタの長さに基づいて前記副次的ブロックの各境界から画素マージンを加算することによって拡張ブロックを決定する段階と、
前記CPMVに基づいて前記拡張ブロックの各コーナーの動きベクトルを導出する段階と、
前記導出された動きベクトルに基づいて前記参照ピクチャ内の変換されたブロックを導出する段階と、
前記変換されたブロックのバウンディングボックスを導出する段階と、を含み、
参照ブロックの領域は、前記バウンディングボックスの各境界からの(T-1)画素により拡張される前記バウンディングボックスに対応する、請求項2または3に記載の方法。 - 前記参照ピクチャ内の前記変換されたブロックの前記バウンディングボックスの前記サイズは、以下の式を使用して導出され、max関数は、引数の最大値を返し、min関数は、引数の最小値を返す、
請求項4に記載の方法。 - 前記バウンディングボックスの前記サイズは、W'xH'によって与えられる、または
前記バウンディングボックスの前記サイズは、Ceil(W')xCeil(H')によって与えられる、または
前記バウンディングボックスの前記サイズは、Floor(W')xFloor(H')によって与えられる、請求項5に記載の方法。 - 前記補間フィルタの長さの値は、エンコーダおよびデコーダの両方に対して事前定義されるか、またはコーデックビデオシーケンスのパラメータセットにおいて指定される、請求項2から6のいずれか一項に記載の方法。
- 4×4の副次的ブロックの場合、前記事前定義された閾値Tは、
- 8×8の副次的ブロックの場合、前記事前定義された閾値Tは、
- 前記ブロックの中心の動きベクトルを計算し、並進動き補償を行う段階をさらに含む、請求項9に記載の方法。
- 前記補間フィルタの前記副次的ブロックの前記所定のサイズは4×4に等しく、dX[0]はdHorXに対応し、dX[1]はdHorYに対応し、dY[0]はdVerXに対応し、dY[1]はdVerYに対応し、前記CPMVの値に従って、所定の副次的ブロックサイズを有する副次的ブロックの参照領域を決定する段階は、
変数eifSubblockSizeの値を4に等しく設定する段階と、
以下のように変数eifCanBeAppliedを導出する段階であって、
eifCanBeAppliedの前記値をTRUEに設定する、導出する段階と、
-以下のようにアレイX[i]、Y[i]を導出する段階と、
-X[0]=0、
-X[1]=(eifSubblockSize+1)*(dX[0]+(1<<9))、
-X[2]=(eifSubblockSize+1)*dY[0]、
-X[3]=X[1]+X[2]、
-Y[0]=0、
-Y[1]=(eifSubblockSize+1)*dX[1]、
-Y[2]=(eifSubblockSize+1)*(dY[1]+(1<<9))、
-Y[3]=Y[1]+Y[2]、
-変数Xmaxの前記値を、iが0..3に等しい場合の最大値X[i]に等しく設定する段階と、
-変数Xminの前記値を、iが0..3に等しい場合のX[i]の最小値に等しく設定する段階と、
-変数Ymaxの前記値を、iが0..3に等しい場合のY[i]の最大値に等しく設定する段階と、
-変数Yminの前記値を、iが0..3に等しい場合のY[i]の最小値に等しく設定する段階と、
-変数Wの前記値を、(Xmax-Xmin+(1<<9)-1)>>9の値に等しく設定する段階と、
-変数Hの前記値を(Ymax-Ymin+(1<<9)-1)>>9の値に等しく設定する段階とを含む、請求項1から10のいずれか一項に記載の方法。 - 前記アフィンインター予測が双予測を含む場合、制約は両方のリストに対称的に適用される、請求項1から11のいずれか一項に記載の方法。
- Tが2に等しい、請求項2から12のいずれか一項に記載の方法。
- 前記事前定義された閾値が72に等しい、請求項1から13のいずれか一項に記載の方法。
- 前記変換された副次的ブロックの前記バウンディングボックスの前記サイズおよびフィルタの長さに基づいて前記副次的ブロックのメモリアクセス消費量を決定する段階と、
前記副次的ブロックの前記サイズおよび前記フィルタの長さに基づいて前記副次的ブロックの最大許容メモリアクセス消費量を決定する段階と、
前記決定されたメモリアクセス消費量が前記最大許容メモリアクセス消費量以下であるという制約が満たされた場合に、前記ブロックの動き補償のための補間フィルタが実行されるべきであると決定する段階と、をさらに含む、請求項4から6のいずれか一項に記載の方法。 - 請求項1から15のいずれか一項に記載の方法を実行するための処理回路を備える、エンコーダ)。
- 請求項1から15のいずれか一項に記載の方法を実行するための処理回路を備える、デコーダ。
- コンピュータまたはプロセッサで実行されると、請求項1から15のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラム。
- デコーダであって、
1つまたは複数のプロセッサ、および
前記1つまたは複数のプロセッサに結合され、前記1つまたは複数のプロセッサによる実行のための命令を格納する非一時的コンピュータ可読記憶媒体であって、前記命令が、前記1つまたは複数のプロセッサによって実行されると、請求項1から15のいずれか一項に記載の方法を実行するように前記デコーダを構成する、非一時的コンピュータ可読記憶媒体を含む、デコーダ。 - エンコーダであって、
1つまたは複数のプロセッサ、および
前記1つまたは複数のプロセッサに結合され、前記1つまたは複数のプロセッサによる実行のための命令を格納する非一時的コンピュータ可読記憶媒体であって、前記命令が、前記1つまたは複数のプロセッサによって実行されると、請求項1から15のいずれか一項に記載の方法を実行するように前記エンコーダを構成する、非一時的コンピュータ可読記憶媒体を含む、エンコーダ。 - コンピュータデバイスによって実行されると、前記コンピュータデバイスに請求項1から15のいずれか一項に記載の方法を実行させるプログラムコードを保持する、非一時的コンピュータ可読媒体。
- 動き補償のために、ブロックの制御点動きベクトルCPMVを使用して、補間を実行する補間フィルタを含むビデオシーケンスをコーディングするためのコーデックであって、前記コーデックはそれぞれ、
アフィンインター予測に従ってブロックの制御点動きベクトルCPMVを決定するように構成された第1の決定ユニットであって、前記ブロックはアフィンブロックである、第1の決定ユニット、
所定の副次的ブロックサイズに対して、前記CPMVの値に従って前記所定の副次的ブロックサイズを有する副次的ブロックのための参照領域を決定するように構成された第2の決定ユニット、
前記決定された参照領域を事前定義された閾値と比較するように構成された比較ユニット、
動き補償のために補間フィルタを適用するように構成された動き補償ユニットであって、前記ブロックの画素ベースの動きベクトル場を導出することを含む、動き補償ユニット、を含み、
前記決定された参照領域が前記閾値よりも大きい場合、前記動き補償ユニットは、前記ブロックの前記画素ベースの動きベクトル場を導出するように構成され、前記動き補償ユニットは、前記ブロックのサンプル位置の動きベクトルのクリッピングをさらに含み、
前記ブロックのサイズに基づいて動きベクトルのクリップ範囲を決定する、コーデック。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2019000691 | 2019-09-30 | ||
RUPCT/RU2019/000691 | 2019-09-30 | ||
US202062958291P | 2020-01-07 | 2020-01-07 | |
US62/958,291 | 2020-01-07 | ||
PCT/RU2020/050258 WO2020256600A2 (en) | 2019-09-30 | 2020-09-30 | Affine motion model restrictions for memory bandwidth reduction of enhanced interpolation filter |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022550032A JP2022550032A (ja) | 2022-11-30 |
JP7414127B2 true JP7414127B2 (ja) | 2024-01-16 |
Family
ID=74040945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022518666A Active JP7414127B2 (ja) | 2019-09-30 | 2020-09-30 | 拡張補間フィルタのメモリ帯域幅削減のためのアフィン動きモデル制限 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220174326A1 (ja) |
EP (1) | EP4026333A4 (ja) |
JP (1) | JP7414127B2 (ja) |
CN (1) | CN114450958B (ja) |
BR (1) | BR112022005406A2 (ja) |
WO (1) | WO2020256600A2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3681239A4 (en) | 2017-10-27 | 2020-09-23 | Huawei Technologies Co., Ltd. | DIRECT ACCESS METHOD AND DEVICE |
WO2020251417A2 (en) * | 2019-09-30 | 2020-12-17 | Huawei Technologies Co., Ltd. | Usage of dct based interpolation filter and enhanced bilinear interpolation filter in affine motion compensation |
US20240098299A1 (en) * | 2022-09-21 | 2024-03-21 | Tencent America LLC | Method and apparatus for motion vector prediction based on subblock motion vector |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022505886A (ja) | 2018-11-12 | 2022-01-14 | 北京字節跳動網絡技術有限公司 | インター予測のためのバンド幅制御方法 |
JP2022548990A (ja) | 2019-09-29 | 2022-11-22 | クゥアルコム・インコーポレイテッド | ベクトルクリッピングを用いるアフィンコーディング |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG11201806865YA (en) * | 2016-03-15 | 2018-09-27 | Mediatek Inc | Method and apparatus of video coding with affine motion compensation |
US10560712B2 (en) * | 2016-05-16 | 2020-02-11 | Qualcomm Incorporated | Affine motion prediction for video coding |
WO2019013217A1 (ja) * | 2017-07-12 | 2019-01-17 | シャープ株式会社 | 補正装置、撮像装置、補正装置の制御方法、および制御プログラム |
US10609384B2 (en) * | 2017-09-21 | 2020-03-31 | Futurewei Technologies, Inc. | Restriction on sub-block size derivation for affine inter prediction |
WO2019069601A1 (ja) * | 2017-10-03 | 2019-04-11 | 日本電気株式会社 | 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム |
US11172229B2 (en) * | 2018-01-12 | 2021-11-09 | Qualcomm Incorporated | Affine motion compensation with low bandwidth |
AU2019292266B2 (en) * | 2018-06-25 | 2023-02-09 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Intra-frame prediction method and device |
-
2020
- 2020-09-30 CN CN202080067504.9A patent/CN114450958B/zh active Active
- 2020-09-30 JP JP2022518666A patent/JP7414127B2/ja active Active
- 2020-09-30 BR BR112022005406A patent/BR112022005406A2/pt unknown
- 2020-09-30 WO PCT/RU2020/050258 patent/WO2020256600A2/en active Application Filing
- 2020-09-30 EP EP20827036.3A patent/EP4026333A4/en active Pending
-
2022
- 2022-02-23 US US17/678,253 patent/US20220174326A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022505886A (ja) | 2018-11-12 | 2022-01-14 | 北京字節跳動網絡技術有限公司 | インター予測のためのバンド幅制御方法 |
JP2022548990A (ja) | 2019-09-29 | 2022-11-22 | クゥアルコム・インコーポレイテッド | ベクトルクリッピングを用いるアフィンコーディング |
Also Published As
Publication number | Publication date |
---|---|
CN114450958A (zh) | 2022-05-06 |
EP4026333A2 (en) | 2022-07-13 |
WO2020256600A3 (en) | 2021-03-04 |
BR112022005406A2 (pt) | 2022-11-29 |
US20220174326A1 (en) | 2022-06-02 |
WO2020256600A2 (en) | 2020-12-24 |
CN114450958B (zh) | 2023-08-22 |
EP4026333A4 (en) | 2022-11-02 |
JP2022550032A (ja) | 2022-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7106744B2 (ja) | ルーマおよびクロマ成分についてibc専用バッファおよびデフォルト値リフレッシュを使用するエンコーダ、デコーダおよび対応する方法 | |
JP2023103291A (ja) | エンコーダ、デコーダ、および対応するイントラ予測方法 | |
US20220078484A1 (en) | Method and apparatus of cross-component prediction | |
JP7366149B2 (ja) | 行列ベースのイントラ予測と二次変換コア選択を調和させるエンコーダ、デコーダ、および対応する方法 | |
WO2020181997A1 (en) | An encoder, a decoder and corresponding methods for inter prediction | |
US11856228B2 (en) | Deblocking filter for sub-partition boundaries caused by intra sub-partition coding tool | |
JP7414127B2 (ja) | 拡張補間フィルタのメモリ帯域幅削減のためのアフィン動きモデル制限 | |
US20220264094A1 (en) | Usage of DCT Based Interpolation Filter and Enhanced Bilinear Interpolation Filter in Affine Motion Compensation | |
JP2024055893A (ja) | 非線形適応ループフィルタのためのクリッピングレベル | |
US11985354B2 (en) | Affine motion model restrictions reducing number of fetched reference lines during processing of one block row with enhanced interpolation filter | |
AU2024201152A1 (en) | An encoder, a decoder and corresponding methods using intra mode coding for intra prediction | |
EP4029248A2 (en) | Usage of dct based interpolation filter | |
WO2020173196A1 (en) | An encoder, a decoder and corresponding methods for inter prediction | |
US11876956B2 (en) | Encoder, a decoder and corresponding methods for local illumination compensation | |
EP4078966A2 (en) | Motion vector range derivation for enhanced interpolation filter | |
US11997296B2 (en) | Motion field storage optimization for a line buffer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220427 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230515 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230530 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230829 |
|
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: 20231128 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231211 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7414127 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |