JP2022521757A - 線形モデルを使用したイントラ予測のための方法および装置 - Google Patents
線形モデルを使用したイントラ予測のための方法および装置 Download PDFInfo
- Publication number
- JP2022521757A JP2022521757A JP2021549529A JP2021549529A JP2022521757A JP 2022521757 A JP2022521757 A JP 2022521757A JP 2021549529 A JP2021549529 A JP 2021549529A JP 2021549529 A JP2021549529 A JP 2021549529A JP 2022521757 A JP2022521757 A JP 2022521757A
- Authority
- JP
- Japan
- Prior art keywords
- luma
- sample
- chroma
- block
- reconstructed
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 218
- 238000012545 processing Methods 0.000 claims abstract description 64
- 238000001914 filtration Methods 0.000 claims abstract description 54
- 241000023320 Luma <angiosperm> Species 0.000 claims description 674
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims description 674
- 239000000523 sample Substances 0.000 claims description 555
- 239000013074 reference sample Substances 0.000 claims description 125
- 238000005070 sampling Methods 0.000 claims description 37
- 238000009795 derivation Methods 0.000 claims description 34
- 238000003860 storage Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 5
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 abstract description 4
- 238000013139 quantization Methods 0.000 description 103
- 238000006243 chemical reaction Methods 0.000 description 59
- 230000008569 process Effects 0.000 description 49
- 238000004891 communication Methods 0.000 description 39
- 230000009466 transformation Effects 0.000 description 29
- 239000000872 buffer Substances 0.000 description 25
- 239000013598 vector Substances 0.000 description 24
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 23
- 230000006870 function Effects 0.000 description 20
- 238000003491 array Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 19
- 230000009467 reduction Effects 0.000 description 15
- 230000006835 compression Effects 0.000 description 14
- 238000007906 compression Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 13
- 101150067055 minC gene Proteins 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 8
- 230000000295 complement effect Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 238000005192 partition Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 101150076173 cntL gene Proteins 0.000 description 6
- 238000009499 grossing Methods 0.000 description 6
- 230000002441 reversible effect Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- 238000000638 solvent extraction Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 229920001690 polydopamine Polymers 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 4
- 101150114515 CTBS gene Proteins 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000003595 spectral effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 101150039623 Clip1 gene Proteins 0.000 description 2
- 230000002146 bilateral effect Effects 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
- 230000006837 decompression Effects 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
- 238000007620 mathematical function Methods 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 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 1
- 238000012952 Resampling Methods 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 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
- 230000002123 temporal effect Effects 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/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/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- 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/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
-
- 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/186—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 a colour or a chrominance component
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
Abstract
Description
本特許出願は、2019年2月22日に出願された米国仮特許出願第62/809,555号の優先権、2019年3月28日に出願された米国仮特許出願第62/825,021号の優先権、および2019年3月28日に出願された米国仮特許出願第62/825,796号の優先権を主張する。前述の特許出願の開示は、全体が参照によって本明細書に組み込まれる。
クロマフォーマット情報に基づいてダウンサンプリングフィルタのセット(ダウンサンプリングフィルタ係数のセット)を決定するステップであって、クロマフォーマット情報が、現在のブロックが属するピクチャのクロマフォーマットを示す、ステップと、
ダウンサンプリングフィルタのセットの中の(それから選択された)それぞれのダウンサンプリングフィルタを使用して、現在のブロックのルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプル、および(そのルマブロックに隣接する)そのルマブロックの選択されたルマ参照サンプルのダウンサンプリングされたルマ参照サンプルを取得するステップと、
ダウンサンプリングされたルマ参照サンプルおよびダウンサンプリングされたルマ参照サンプルに対応する(選択されたまたは利用可能な)クロマ参照サンプルに基づいて、1つまたは複数の線形モデル係数を決定するステップと、
線形モデル係数およびルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルに基づいて、ルマブロックに対応するクロマブロックの予測サンプルを取得するステップとを備える。
クロマフォーマット情報に基づいて水平方向および垂直方向におけるサブサンプリング比情報(変数SubWidthCおよびSubHeightCなど)を決定することと、
サブサンプリング比情報(変数SubWidthCおよびSubHeightCなど)に基づいてダウンサンプリングフィルタのセットを決定することとを備える。
4:2:2クロマフォーマットであるクロマフォーマットに対して、ダウンサンプリングフィルタの第2のセット(ダウンサンプリングフィルタ係数のセット)が現在のブロックのルマブロックのために使用され、または、4:4:4クロマフォーマットであるクロマフォーマットに対して、ダウンサンプリングフィルタの第3のセット(すなわち、係数[1]を伴うフィルタ、すなわちバイパスフィルタとして)が、現在のブロックのルマブロックのために使用される。
変数SubWidthC=2およびSubHeightC=2であるとき、現在のブロックのルマブロックのためのダウンサンプリングフィルタの第1のセット(ダウンサンプリングフィルタ係数のセット)を決定すること、
SubWidthC=2およびSubHeightC=1であるとき、現在のブロックのルマブロックのためのダウンサンプリングフィルタの第2のセット(ダウンサンプリングフィルタ係数のセット)を決定すること、または、
SubWidthC=1およびSubHeightC=1であるとき、現在のブロックのルマブロックのためのダウンサンプリングフィルタの第3のセット(ダウンサンプリングフィルタ係数のセット)を決定することのうちの1つまたは複数を備える。
ダウンサンプリングフィルタのセットの中のそれぞれのダウンサンプリングフィルタを使用して、現在のブロックのルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプル、およびそのルマブロックの選択されたルマ参照サンプルのダウンサンプリングされたルマ参照サンプルを取得することは、
第1のダウンサンプリングフィルタを再構築されたルマサンプルの第1のセットに適用することによって、ルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルを取得することであって、再構築されたルマサンプルの第1のセットが、再構築されたルマサンプル(ダウンサンプリングされたルマサンプル)の位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備える、取得することと、
第1のダウンサンプリングフィルタを再構築されたルマサンプルの第2のセットに適用することによって、少なくとも1つの選択された参照ルマサンプルのダウンサンプリングされたルマ参照サンプルを取得することであって、再構築されたルマサンプルの第2のセットが、選択された参照ルマサンプル(ダウンサンプリングされたルマサンプル)の位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備える、取得することとを備え、
第1のダウンサンプリングフィルタが、ダウンサンプリングフィルタのセットから選択される。
4:2:0クロマフォーマットが使用されるとき(SubWidthC=2およびSubHeightC=2)、第1のダウンサンプリングフィルタは2Dの分離不可能フィルタである。
ダウンサンプリングフィルタのセットの中のそれぞれのダウンサンプリングフィルタを使用して、現在のブロックのルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプル、およびそのルマブロックの選択されたルマ参照サンプルのダウンサンプリングされたルマ参照サンプルを取得することは、
第2のダウンサンプリングフィルタを再構築されたルマサンプルの第3のセットに適用することによって、ルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルを取得することであって、再構築されたルマサンプルの第3のセットが、再構築されたルマサンプル(ダウンサンプリングされたルマサンプル)の位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備える、取得することと、
第2のダウンサンプリングフィルタを再構築されたルマサンプルの第4のセットに適用することによって、少なくとも1つの選択された参照ルマサンプルのダウンサンプリングされたルマ参照サンプルを取得することであって、再構築されたルマサンプルの第4のセットが、選択された参照ルマサンプル(ダウンサンプリングされたルマサンプル)の位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備える、取得することとを備え、
第2のダウンサンプリングフィルタが、ダウンサンプリングフィルタのセットから選択される。
- クロマサンプルタイプ2、または
- クロマサンプルタイプ4
のいずれか1つを備えるときに発生する。
- クロマサンプルタイプ0、
- クロマサンプルタイプ1、
- クロマサンプルタイプ3、または
- クロマサンプルタイプ5
のいずれか1つを備えるときに発生する。
クロマフォーマットが4:4:4クロマフォーマットである場合、バイパスフィルタが使用され、それ以外の場合、フィルタのセット{F2,F3,F5,F6}が次のように決定される。
F3[0]=1、F3[1]=2、F3[2]=1
F5[i][j]=F6[i][j]=0、ただしi=0..2、j=0..2
クロマフォーマットが4:2:0クロマフォーマットである場合、
F5[0][1]=1、F5[1][1]=4、F5[2][1]=1、F5[1][0]=1、F5[1][2]=1
F6[0][1]=1、F6[1][1]=2、F6[2][1]=1
F6[0][2]=1、F6[1][2]=2、F6[2][2]=1
F2[0]=1、F2[1]=1
クロマフォーマットが4:2:2クロマフォーマットである場合、
F5[0][1]=0、F5[1][1]=8、F5[2][1]=0、F5[1][0]=0、F5[1][2]=0
F6[0][1]=2、F6[1][1]=4、F6[2][1]=2
F6[0][2]=0、F6[1][2]=0、F6[2][2]=0
F2[0]=2、F2[1]=0
SubWidthC==1およびSubHeightC==1を含む少なくとも第1の条件が満たされない場合、フィルタのセット{F2, F3, F5, F6}は次のように決定される。
F3[0]=1、F3[1]=2、F3[2]=1
F5[i][j]=F6[i][j]=0、ただしi=0..2、j=0..2
SubWidthC==2およびSubHeightC==2を含む少なくとも第2の条件が満たされる場合、
F5[0][1]=1、F5[1][1]=4、F5[2][1]=1、F5[1][0]=1、F5[1][2]=1
F6[0][1]=1、F6[1][1]=2、F6[2][1]=1
F6[0][2]=1、F6[1][2]=2、F6[2][2]=1
F2[0]=1、F2[1]=1
それ以外の場合、
F5[0][1]=0、F5[1][1]=8、F5[2][1]=0、F5[1][0]=0、F5[1][2]=0
F6[0][1]=2、F6[1][1]=4、F6[2][1]=2
F6[0][2]=0、F6[1][2]=0、F6[2][2]=0
F2[0]=2、F2[1]=0
ルマブロックの上にあり、L個の利用可能なクロマ参照サンプルに基づいて選択される、隣接ルマサンプル、または
ルマブロックの左にあり、L個の利用可能なクロマ参照サンプルに基づいて選択される、隣接ルマサンプルのうちの少なくとも1つを備える。
LMモードが適用され、かつ上と左の両方の隣接サンプルが利用可能であるとき、S[W'/4, -1]、S[3W'/4, -1]、S[-1, H'/4]、S[-1, 3H'/4]であり、
LM-Aモードが適用されるとき、もしくは上の隣接サンプルのみが利用可能であるとき、S[W'/8, -1]、S[3W'/8, -1]、S[5W'/8, -1]、S[7W'/8, -1]であり、または、
LM-Lモードが適用されるとき、もしくは左の隣接サンプルのみが利用可能であるとき、S[-1, H'/8]、S[-1, 3H'/8]、S[-1, 5H'/8]、S[-1, 7H'/8]であるとして指定され、
クロマブロックの次元はW×Hであり、W'およびH'は、
LMモードが適用されるとき、W'=W、H'=Hであり、
LM-Aモードが適用されるとき、W'=W+Hであり、
LM-Lモードが適用されるとき、H'=H+Wであるとして設定される。
ダウンサンプリングされたルマ参照サンプルに基づいて最大ルマ値および最小ルマ値を決定することと、
最大ルマ値と関連付けられる1つまたは複数のダウンサンプリングされたルマ参照サンプルの1つまたは複数の位置に少なくとも一部基づいて第1のクロマ値を取得することと、
最小ルマ値と関連付けられる1つまたは複数のダウンサンプリングされたルマ参照サンプルの1つまたは複数の位置に少なくとも一部基づいて第2のクロマ値を取得することと、
第1のクロマ値、第2のクロマ値、最大ルマ値、および最小ルマ値に基づいて、1つまたは複数の線形モデル係数を計算することとを備える。
クロマフォーマット情報に基づいて水平方向および垂直方向におけるクロマスケーリング係数を決定するステップであって、クロマフォーマット情報が、現在の画像ブロックが属する現在のピクチャのクロマフォーマットを示す、ステップ、
水平方向および垂直方向におけるクロマスケーリング係数の値が第1の値に等しいとき、現在のブロックのルマブロックのためのダウンサンプリングフィルタの第1のセット(ダウンサンプリングフィルタ係数のセット)を決定するステップ、
水平方向におけるクロマスケーリング係数の値が第1の値に等しく、垂直方向におけるクロマスケーリング係数の値が第2の値に等しいとき、現在のブロックのルマブロックのためのダウンサンプリングフィルタの第2のセット(ダウンサンプリングフィルタ係数のセット)を決定するステップ、または、
水平方向および垂直方向におけるクロマスケーリング係数の値が第2の値に等しいとき、現在のブロックのルマブロックのためのダウンサンプリングフィルタの第3のセット(ダウンサンプリングフィルタ係数のセット)を決定するステップを備える。
現在のブロックが属するピクチャのクロマフォーマットを決定するステップと、
クロマフォーマットが4:2:0クロマフォーマットであるとき、現在のブロックのルマブロックのために使用されるべきダウンサンプリングフィルタの第1のセット(ダウンサンプリングフィルタ係数のセット)を決定するステップと、
クロマフォーマットが4:2:2クロマフォーマットであるとき、現在のブロックのルマブロックのために使用されるべきダウンサンプリングフィルタの第2のセット(ダウンサンプリングフィルタ係数のセット)を決定するステップと、
クロマフォーマットが4:4:4クロマフォーマットであるとき、現在のブロックのルマブロックのために使用されるべきダウンサンプリングフィルタの第3のセット(ダウンサンプリングフィルタ係数のセット)を決定するステップとを備える。
クロマフォーマット情報に基づいてダウンサンプリングフィルタのセットを決定するように構成される決定ユニットであって、クロマフォーマット情報が、現在のブロックが属するピクチャのクロマフォーマットを示す、決定ユニットと、
ダウンサンプリングフィルタのセットの中のそれぞれのダウンサンプリングフィルタを使用して、現在のブロックのルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプル、およびそのルマブロックの選択されたルマ参照サンプルのダウンサンプリングされたルマ参照サンプルを取得するように構成されるフィルタリングユニットと、
ダウンサンプリングされたルマ参照サンプルおよびダウンサンプリングされたルマ参照サンプルに対応するクロマ参照サンプルに基づいて、1つまたは複数の線形モデル係数を決定するように構成される線形モデル導出ユニットと、
線形モデル係数およびルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルに基づいて、ルマブロックに対応するクロマブロックの予測サンプルを取得するように構成される予測処理ユニットとを備える。
クロマフォーマット情報に基づいて水平方向および垂直方向におけるサブサンプリング比情報を決定し、
サブサンプリング比情報に基づいてダウンサンプリングフィルタのセットを決定するように構成される。
4:2:0クロマフォーマットであるクロマフォーマットに対して、ダウンサンプリングフィルタの第1のセットが現在のブロックのルマブロックのために使用され、
4:2:2クロマフォーマットであるクロマフォーマットに対して、ダウンサンプリングフィルタの第2のセットが現在のブロックのルマブロックのために使用され、または、
4:4:4クロマフォーマットであるクロマフォーマットに対して、ダウンサンプリングフィルタの第3のセットが現在のブロックのルマブロックのために使用される。
変数SubWidthC=2およびSubHeightC=2であるとき、現在のブロックのルマブロックのためのダウンサンプリングフィルタの第1のセット(ダウンサンプリングフィルタ係数のセット)を決定すること、
SubWidthC=2およびSubHeightC=1であるとき、現在のブロックのルマブロックのためのダウンサンプリングフィルタの第2のセット(ダウンサンプリングフィルタ係数のセット)を決定すること、または、
SubWidthC=1およびSubHeightC=1であるとき、現在のブロックのルマブロックのためのダウンサンプリングフィルタの第3のセット(ダウンサンプリングフィルタ係数のセット)を決定することのために構成される。
フィルタリングユニットは、第1のダウンサンプリングフィルタを再構築されたルマサンプルの第1のセットに適用することによって、ルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルを取得し、再構築されたルマサンプルの第1のセットが、再構築されたルマサンプルの位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備え、
第1のダウンサンプリングフィルタを再構築されたルマサンプルの第2のセットに適用することによって、少なくとも1つの選択された参照ルマサンプルのダウンサンプリングされたルマ参照サンプルを取得し、再構築されたルマサンプルの第2のセットが、選択された参照ルマサンプルの位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備える、ように構成され、
第1のダウンサンプリングフィルタが、ダウンサンプリングフィルタのセットから選択される。
4:2:0クロマフォーマットが使用されるとき(SubWidthC=2およびSubHeightC=2)、第1のダウンサンプリングフィルタは2Dの分離不可能フィルタである。
フィルタリングユニットは、第2のダウンサンプリングフィルタを再構築されたルマサンプルの第3のセットに適用することによって、ルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルを取得し、再構築されたルマサンプルの第3のセットが、再構築されたルマサンプルの位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備え、
第2のダウンサンプリングフィルタを再構築されたルマサンプルの第4のセットに適用することによって、少なくとも1つの選択された参照ルマサンプルのダウンサンプリングされたルマ参照サンプルを取得し、再構築されたルマサンプルの第4のセットが、選択された参照ルマサンプルの位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備える、ように構成され、
第2のダウンサンプリングフィルタが、ダウンサンプリングフィルタのセットから選択される。
4:2:0クロマフォーマットが使用される場合(SubWidthC=2およびSubHeightC=2)、第2のダウンサンプリングフィルタは2Dの分離不可能フィルタである。
- クロマサンプルタイプ2、または
- クロマサンプルタイプ4
のいずれか1つを備えるときに発生する。
- クロマサンプルタイプ0、
- クロマサンプルタイプ1、
- クロマサンプルタイプ3、または
- クロマサンプルタイプ5
のいずれか1つを備えるときに発生する。
クロマフォーマットが4:4:4クロマフォーマットである場合、バイパスフィルタが使用され、それ以外の場合、フィルタのセット{F2,F3,F5,F6}が次のように決定される。
F3[0]=1、F3[1]=2、F3[2]=1
F5[i][j]=F6[i][j]=0、ただしi=0..2、j=0..2
クロマフォーマットが4:2:0クロマフォーマットである場合、
F5[0][1]=1、F5[1][1]=4、F5[2][1]=1、F5[1][0]=1、F5[1][2]=1
F6[0][1]=1、F6[1][1]=2、F6[2][1]=1
F6[0][2]=1、F6[1][2]=2、F6[2][2]=1
F2[0]=1、F2[1]=1
クロマフォーマットが4:2:2クロマフォーマットである場合、
F5[0][1]=0、F5[1][1]=8、F5[2][1]=0、F5[1][0]=0、F5[1][2]=0
F6[0][1]=2、F6[1][1]=4、F6[2][1]=2
F6[0][2]=0、F6[1][2]=0、F6[2][2]=0
F2[0]=2、F2[1]=0
F3[0]=1、F3[1]=2、F3[2]=1
F5[i][j]=F6[i][j]=0、ただしi=0..2、j=0..2
SubWidthC==2およびSubHeightC==2を含む少なくとも第2の条件が満たされる場合、
F5[0][1]=1、F5[1][1]=4、F5[2][1]=1、F5[1][0]=1、F5[1][2]=1
F6[0][1]=1、F6[1][1]=2、F6[2][1]=1
F6[0][2]=1、F6[1][2]=2、F6[2][2]=1
F2[0]=1、F2[1]=1
それ以外の場合、
F5[0][1]=0、F5[1][1]=8、F5[2][1]=0、F5[1][0]=0、F5[1][2]=0
F6[0][1]=2、F6[1][1]=4、F6[2][1]=2
F6[0][2]=0、F6[1][2]=0、F6[2][2]=0
F2[0]=2、F2[1]=0
ルマブロックの上にあり、L個の利用可能なクロマ参照サンプルに基づいて選択される、隣接ルマサンプル、または
ルマブロックの左にあり、L個の利用可能なクロマ参照サンプルに基づいて選択される、隣接ルマサンプルのうちの少なくとも1つを備える。
LMモードが適用され、かつ上と左の両方の隣接クロマサンプルが利用可能であるとき、S[W'/4, -1]、S[3W'/4, -1]、S[-1, H'/4]、S[-1, 3H'/4]であり、
LM-Aモードが適用されるとき、または上の隣接クロマサンプルのみが利用可能であるとき、S[W'/8, -1]、S[3W'/8, -1]、S[5W'/8, -1]、S[7W'/8, -1]であり、
LM-Lモードが適用されるとき、または左の隣接クロマサンプルのみが利用可能であるとき、S[-1, H'/8]、S[-1, 3H'/8]、S[-1, 5H'/8]、S[-1, 7H'/8]であるとして指定され、
クロマブロックの次元はW×Hであり、W'およびH'は、
LMモードが適用されるとき、W'=W、H'=Hであり、
LM-Aモードが適用されるとき、W'=W+Hであり、
LM-Lモードが適用されるとき、H'=H+Wであるとして設定される。
最大ルマ値と関連付けられる1つまたは複数のダウンサンプリングされたルマ参照サンプルの1つまたは複数の位置に少なくとも一部基づいて第1のクロマ値を取得し、
最小ルマ値と関連付けられる1つまたは複数のダウンサンプリングされたルマ参照サンプルの1つまたは複数の位置に少なくとも一部基づいて第2のクロマ値を取得し、
第1のクロマ値、第2のクロマ値、最大ルマ値、および最小ルマ値に基づいて、1つまたは複数の線形モデル係数を計算するように構成される。
前述の態様のいずれかに従って、線形モデル(成分間線形モデル(CCLM)または多方向線形モデル(MDLM))を使用してイントラ予測を実行するステップと、
複数のシンタックス要素を含むビットストリームを生成するステップとを備え、複数のシンタックス要素は、ブロックに属するルマサンプルのためのフィルタの選択(CCLMのルマフィルタ、特に、sps_cclm_colocated_chroma_flagなどのSPSフラグの選択など)を示すシンタックス要素を含む。
シンタックス要素の値が1または真であるとき、フィルタは、線形モデルの決定および予測のためにルマサンプルに適用されない。
複数のシンタックス要素をビットストリームから解析するステップであって、複数のシンタックス要素が、ブロックに属するルマサンプルのためのフィルタの選択(CCLMのルマフィルタ、特に、sps_cclm_colocated_chroma_flagなどのSPSフラグの選択など)を示すシンタックス要素を含む、ステップと、
前述の態様のいずれかに従って、示された線形モデル(CCLMなど)を使用してイントラ予測を実行するステップとを備える。
シンタックス要素の値が1または真であるとき、フィルタは、線形モデルの決定および予測のためにルマサンプルに適用されない。たとえば、同一位置にあるとき、ルマフィルタを使用しない。
1つまたは複数のプロセッサと、
プロセッサに結合されプロセッサによる実行のためのプログラミングを記憶する、非一時的コンピュータ可読記憶媒体とを備え、プロセッサによって実行されると、プログラミングは、前述の態様のいずれかまたは前述の態様の任意の可能な実施形態に従って方法を行うようにデコーダを構成する。
1つまたは複数のプロセッサと、
プロセッサに結合されプロセッサによる実行のためのプログラミングを記憶する、非一時的コンピュータ可読記憶媒体とを備え、プロセッサによって実行されると、プログラミングは、前述の態様または前述の態様の任意の可能な実施形態に従って方法を行うようにエンコーダを構成する。
図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(予測ブロック265についてのさらなる詳細は後で提供される)に基づいて、たとえば、ピクチャブロック203のサンプル値から予測ブロック265のサンプル値をサンプルごとに(ピクセルごとに)差し引いて、サンプル領域において残差ブロック205を取得することによって、残差ブロック205(残差205とも呼ばれる)を計算するように構成され得る。
変換処理ユニット206は、変換、たとえば離散コサイン変換(DCT)または離散サイン変換(DST)を残差ブロック205のサンプル値に対して適用して、変換領域において変換係数207を取得するように構成され得る。変換係数207は、変換残差係数とも呼ばれることがあり、変換領域において残差ブロック205を表し得る。
量子化ユニット208は、たとえばスカラー量子化またはベクトル量子化を適用することによって、変換係数207を量子化して、量子化された係数209を取得するように構成され得る。量子化された係数209は、量子化された変換係数209または量子化された残差係数209とも呼ばれ得る。
逆量子化ユニット210は、たとえば、量子化ユニット208と同じ量子化ステップサイズに基づいて、またはそれを使用して、量子化ユニット208によって適用される量子化方式の逆を適用することによって、量子化された係数に対して量子化ユニット208の量子化解除を適用し、量子化解除された係数211を取得するように構成される。量子化解除された係数211は、量子化解除された残差係数211と呼ばれることもあり、量子化による損失により変換係数と通常は同一ではないが、変換係数207に対応することがある。
逆変換処理ユニット212は、変換処理ユニット206によって適用される変換の逆変換、たとえば、逆離散コサイン変換(DCT)または逆離散サイン変換(DST)または他の逆変換を適用して、サンプル領域において再構築された残差ブロック213(または対応する逆量子化された係数213)を取得するように構成される。再構築された残差ブロック213は、変換ブロック213とも呼ばれ得る。
再構築ユニット214(たとえば、加算器(adder)または総和器(summer)214)は、たとえば、再構築された残差ブロック213のサンプル値と予測ブロック265のサンプル値をサンプルごとに加算することによって、変換ブロック213(すなわち、再構築された残差ブロック213)を予測ブロック265に加算して、サンプル領域において再構築されたブロック215を取得するように構成される。
ループフィルタユニット220(またはショート「ループフィルタ」220)は、再構築されたブロック215をフィルタリングして、フィルタリングされたブロック221を取得し、または一般には、再構築されたサンプルをフィルタリングして、フィルタリングされたサンプルを取得するように構成される。ループフィルタユニットは、たとえば、ピクセル遷移を滑らかにし、または、ビデオ品質を別様に改善するように構成される。ループフィルタユニット220は、デブロッキングフィルタ、サンプル適応オフセット(SAO)フィルタ、または1つまたは複数の他のフィルタ、たとえばバイラテラルフィルタ、適応ループフィルタ(ALF)、先鋭化フィルタ、平滑化フィルタ、または協調フィルタ、またはこれらの任意の組合せなどの、1つまたは複数のループフィルタを備え得る。ループフィルタユニット220はループ内フィルタであるものとして図2において示されているが、他の構成では、ループフィルタユニット220は、ポストループフィルタとして実装され得る。フィルタリングされたブロック221は、フィルタリングされた再構築されたブロック221とも呼ばれ得る。
復号ピクチャバッファ(DPB)230は、参照ピクチャを、または一般には参照ピクチャデータを、ビデオエンコーダ20によるビデオデータの符号化のために記憶するメモリであり得る。DPB230は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、または他のタイプのメモリデバイスなどの、種々のメモリデバイスのいずれかによって形成され得る。復号ピクチャバッファ(DPB)230は、1つまたは複数のフィルタリングされたブロック221を記憶するように構成され得る。復号ピクチャバッファ230はさらに、同じ現在のピクチャの、または異なるピクチャ、たとえば以前に再構築されたピクチャの、他の以前にフィルタリングされたブロック、たとえば以前に再構築されフィルタリングされたブロック221を記憶するように構成されてもよく、たとえばインター予測のために、完全な以前に再構築された、すなわち復号されたピクチャ(および対応する参照ブロックとサンプル)および/または部分的に再構築された現在のピクチャ(および対応する参照ブロックとサンプル)を提供してもよい。復号ピクチャバッファ(DPB)230はまた、1つまたは複数のフィルタリングされていない再構築されたブロック215、または一般には、フィルタリングされていない再構築されたサンプルを、たとえば再構築されたブロック215がループフィルタユニット220によってフィルタリングされていない場合に記憶し、または、再構築されたブロックもしくはサンプルの任意の他のさらなる処理されたバージョンを記憶するように構成され得る。
モード選択ユニット260は、区分ユニット262、インター予測ユニット244、およびイントラ予測ユニット254を備え、元のピクチャデータ、たとえば元のブロック203(現在のピクチャ17の現在のブロック203)、および再構築されたピクチャデータ、たとえば同じ(現在の)ピクチャのフィルタリングされたおよび/またはフィルタリングされていない再構築されたサンプルもしくはブロックを、および/または1つまたは複数の以前に復号されたピクチャから、たとえば復号ピクチャバッファ230もしくは他のバッファ(たとえば、図示されていないラインバッファ)から、受信または取得するように構成される。再構築されたピクチャデータは、予測ブロック265または予測子265を取得するために、予測、たとえばインター予測またはイントラ予測のための参照ピクチャデータとして使用される。
区分ユニット262は、現在のブロック203をより小さい区分、たとえば正方形または長方形のサイズのより小さいブロックへと区分(または分割)し得る。これらのより小さいブロック(サブブロックとも呼ばれ得る)は、さらに小さい区分へとさらに区分され得る。これは、木区分または階層的な木区分とも呼ばれ、たとえば、ルート木レベル0(階層レベル0、深度0)におけるルートブロックは、再帰的に区分されてもよく、たとえば、次に低い木レベルの2つ以上のブロック、たとえば木レベル1(階層レベル1、深度1)のノードへと区分されてもよく、これらのブロックは、次に低いレベルの2つ以上のブロック、たとえば木レベル2(階層レベル2、深度2)などへと再び区分されてもよく、これは、たとえば終了基準が満たされたので、たとえば最大の木深度または最小のブロックサイズに達したので、区分が終了するまで続く。さらに区分されないブロックは、木のリーフブロックまたはリーフノードとも呼ばれる。2つの区分への区分を使用する木は二分木(BT)と呼ばれ、3つの区分への区分を使用する木は三分木(TT)と呼ばれ、4つの区分への区分を使用する木は四分木(QT)と呼ばれる。
イントラ予測モードのセットは、35個の異なるイントラ予測モード、たとえばDC(または平均)モードおよび平面モードのような非指向性モード、もしくは、たとえばHEVCにおいて定義されるような指向性モードを備えてもよく、または、67個の異なるイントラ予測モード、たとえばDC(または平均)モードおよび平面モードのような非指向性モード、もしくは、たとえばVVCのために定義されるような指向性モードを備えてもよい。
インター予測モード(または可能なインター予測モード)のセットは、利用可能な参照ピクチャ(すなわち、たとえばDBP230に記憶されている、以前の少なくとも部分的に復号されたピクチャ)および他のインター予測パラメータ、たとえば、最良の一致する参照ブロックを探すために参照ピクチャの全体が使用されるか、もしくはその一部のみ、たとえば現在のブロックのエリアの周囲の探索ウィンドウエリアのみが使用されるか、ならびに/または、たとえばピクセル補間が適用されるかどうか、たとえば2分の1/セミペル補間が適用されるか否か、および/もしくは4分の1ペル補間が適用されるか否かに依存する。
エントロピー符号化ユニット270は、たとえば、エントロピー符号化アルゴリズムまたは方式(たとえば、可変長コーディング(VLC)方式、コンテキスト適応VLC方式(CAVLC)、算術コーディング方式、二値化、コンテキスト適応バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディング、または別のエントロピー符号化方法もしくは技法)またはバイパス(圧縮なし)を、量子化された係数209、インター予測パラメータ、イントラ予測パラメータ、ループフィルタパラメータ、および/または他のシンタックス要素に適用して、たとえば符号化されたビットストリーム21の形式で、出力272を介して出力され得る符号化されたピクチャデータ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は、量子化パラメータ(QP)(または一般には量子化解除に関する情報)および符号化されたピクチャデータ21からの量子化された係数を(たとえばエントロピー復号ユニット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は、デブロッキングフィルタ、サンプル適応オフセット(SAO)フィルタ、または1つまたは複数の他のフィルタ、たとえばバイラテラルフィルタ、適応ループフィルタ(ALF)、先鋭化フィルタ、平滑化フィルタ、または協調フィルタ、またはこれらの任意の組合せなどの、1つまたは複数のループフィルタを備え得る。ループフィルタユニット320はループ内フィルタであるものとして図3において示されているが、他の構成では、ループフィルタユニット320は、ポストループフィルタとして実装され得る。
ピクチャの復号されたビデオブロック321は次いで、復号ピクチャバッファ330に記憶され、これは、他のピクチャに対する後続の動き補償のための参照ピクチャとして、および/または出力それぞれ表示のために、復号されたピクチャ331を記憶する。
インター予測ユニット344は、インター予測ユニット244(具体的には動き補償ユニット)と同一であってもよく、イントラ予測ユニット354は、インター予測ユニット254と機能的に同一であってもよく、(たとえばエントロピー復号ユニット304による、たとえば解析および/または復号によって)符号化されたピクチャデータ21から受信された区分および/もしくは予測パラメータまたはそれぞれの情報に基づいて、分割または区分の決定と予測を実行する。モード適用ユニット360は、再構築されたピクチャ、ブロック、またはそれぞれのサンプル(フィルタリングされた、またはフィルタリングされていない)に基づいて、ブロックごとに予測(イントラまたはインター予測)を実行して、予測ブロック365を取得するように構成され得る。
ux=(mvx+2bitDepth)%2bitDepth (1)
mvx=(ux>=2bitDepth-1)?(ux-2bitDepth):ux (2)
uy=(mvy+2bitDepth)%2bitDepth (3)
mvy=(uy>=2bitDepth-1)?(uy-2bitDepth):uy (4)
ここで、mvxは画像ブロックまたはサブブロックの動きベクトルの水平成分であり、mvyは画像ブロックまたはサブブロックの動きベクトルの垂直成分であり、uxおよびuyは中間値を示す。
ux=(mvpx+mvdx+2bitDepth)%2bitDepth (5)
mvx=(ux>=2bitDepth-1)?(ux-2bitDepth) : ux (6)
uy=(mvpy+mvdy+2bitDepth)%2bitDepth (7)
mvy=(uy>=2bitDepth-1)?(uy-2bitDepth) : uy (8)
vx=Clip3(-2bitDepth-1,2bitDepth-1-1,vx)
vy=Clip3(-2bitDepth-1,2bitDepth-1-1,vy)
ここで、vxは画像ブロックまたはサブブロックの動きベクトルの水平成分であり、vyは画像ブロックまたはサブブロックの動きベクトルの垂直成分であり、x、y、およびzはMV切り取りプロセスの3つの入力値にそれぞれ対応し、関数Clip3の定義は次の通りである。
- ルマ(Y)のみ(モノクローム)。
- ルマおよび2つのクロマ(YCbCrまたはYCgCo)。
- 緑、青、および赤(GBR、RGBとしても知られている)。
- 他の指定されていないモノクロームまたは三刺激カラーサンプリング(たとえば、XYZとしても知られている、YZX)を表すアレイ。
C(x,y)=α×L(x,y)+β
ここでCおよびLはそれぞれ、クロマサンプル値およびルマサンプル値を示す。パラメータαおよびβは、最小二乗法によって次のように導出される。
R(A, B) = M((A-M(A))×(B-M(B))
ここで、B=argmax(L(n))であり、A=argmin(L(n))はルマサンプルにおける最大値および最小値の位置である。
Rec'L[x,y]=(2×RecL[2x,2y]+2×RecL[2x,2y+1]+RecL[2x-1,2y]+RecL[2x+1,2y]+RecL[2x-1,2y+1]+RecL[2x+1,2y+1]+4)>>3 (0)
y=0である行がCTUの第1の行であり、x=0であり、ならびに左および上の隣接ブロックが利用不可能である場合、Rec'L[x,y]= RecL[2x,2y]、または、
y=0である行がCTUの第1の行であり、上の隣接ブロックが利用不可能である場合、Rec'L[x, y]=(2×RecL[2x,2y]+ RecL[2x-1,2y]+RecL[2x+1,2y]+2)>>2、または、
x=0であり、ならびに左および上の隣接ブロックが利用不可能である場合、Rec'L[x,y]=(RecL[2x,2y]+RecL[2x,2y+1]+1)>>1。
3タップ: RecL'(i,j)= [RecL(2i-1,2j)+2recL(2i,2j)+RecL(2i+1,2j)+2]>>2
5タップ: RecL'(i,j)= [RecL(2i,2j-1)+RecL(2i-1,2j)+4RecL(2i,2j)+RecL(2i+1,2j)+RecL(2i,2j+1)+4]>>3
- イントラ予測モードpredModeIntra、
- 現在のピクチャの左上サンプルに対する相対的な現在の変換ブロックの左上サンプルのサンプル位置(xTbC,yTbC)、
- 変換ブロック幅を指定する変数nTbW、
- 変換ブロック高さを指定する変数nTbH、
- クロマ隣接サンプルp[x][y]、ただしx=-1、y=0..2*nTbH-1およびx=0..2*nTbW-1、y=-1である。
( xTbY,yTbY)=(xTbC<<1,yTbC<<1) (8-155)
- ブロックに対する左側隣接サンプル導出プロセスの利用可能性は、現在のクロマ位置(xCurr,yCurr)が(xTbC,yTbC)に等しく設定された状態で、隣接クロマ位置(xTbC-1,yTbC)を入力として呼び出され、出力はavailLに割り当てられる。
- ブロックに対する上側隣接サンプル導出プロセスの利用可能性は、現在のクロマ位置(xCurr,yCurr)が(xTbC,yTbC)に等しく設定された状態で、隣接クロマ位置(xTbC、yTbC-1)を入力として呼び出され、出力はavailTに割り当てられる。
- ブロックに対する左上隣接サンプル導出プロセスの利用可能性は、現在のクロマ位置(xCurr,yCurr)が(xTbC,yTbC)に等しく設定された状態で、隣接クロマ位置(xTbC-1,yTbC-1)を入力として呼び出され、出力はavailTLに割り当てられる。
- 利用可能な右上隣接クロマサンプルの数numTopRightは次のように導出される。
- 変数numTopRightは0に等しく設定され、availTRはTRUEに等しく設定される。
- predModeIntraがINTRA_T_CCLMに等しいとき、availTRがFALSEに等しくなるまで、またはxが2*nTbW-1に等しくなるまで、x=nTbW..2*nTbW-1に対して次のことが当てはまる。
- ブロックに対する利用可能性導出プロセスは、現在のクロマ位置(xCurr,yCurr)が(xTbC,yTbC)に等しく設定された状態で、隣接クロマ位置(xTbC+x、yTbC-1)を入力として呼び出され、出力はavailableTRに割り当てられる。
- availableTRがTRUEに等しいとき、numTopRightは1だけインクリメントされる。
- 利用可能な左下隣接クロマサンプルの数numLeftBelowは次のように導出される。
- 変数numLeftBelowは0に等しく設定され、availLBはTRUEに等しく設定される。
- predModeIntraがINTRA_L_CCLMに等しいとき、availLBがFALSEに等しくなるまで、またはyが2*nTbH-1に等しくなるまで、y=nTbH..2*nTbH-1に対して次のことが当てはまる。
- ブロックに対する利用可能性導出プロセスは、現在のクロマ位置(xCurr,yCurr)が(xTbC,yTbC)に等しく設定された状態で、隣接クロマ位置(xTbC-1、yTbC+y)を入力として呼び出され、出力はavailableLBに割り当てられる。
- availableLBがTRUEに等しいとき、numLeftBelowは1だけインクリメントされる。
- predModeIntraがINTRA_LT_CCLMに等しい場合、次のことが当てはまる。
numSampT=availT?nTbW:0 (8-156)
numSampL=availL?nTbH:0 (8-157)
- それ以外の場合、次のことが当てはまる。
numSampT=(availT&&predModeIntra==INTRA_T_CCLM)?(nTbW+ numTopRight):0 (8-158)
numSampL=(availL&&predModeIntra==INTRA_L_CCLM)?(nTbH+numLeftBelow):0 (8-159)
bCTUboundary=(yTbC&(1<<(CtbLog2SizeY-1) -1)==0)?TRUE:FALSE (8-160)
- numSampLとnumSampTの両方が0に等しい場合、次のことが当てはまる。
predSamples[x][y]=1<<(BitDepthC-1) (8-161)
- それ以外の場合、次の順序付けられたステップが適用される。
1. x=0..nTbW*2-1、y=0..nTbH*2-1である同一位置のルマサンプルpY[x][y]が、位置(xTbY+x, yTbY+y)におけるデブロッキングフィルタ処理の前に、再構築されたルマサンプルに等しく設定される。
2. 隣接ルマサンプルサンプルpY[x][y]が次のように導出される。
- numSampLが0より大きいとき、x=-1.. -3、y=0..2*numSampL-1である隣接左側ルマサンプルpY[x][y]が、位置(xTbY+x, yTbY+y)におけるデブロッキングフィルタ処理の前に、再構築されたルマサンプルに等しく設定される。
- numSampTが0より大きいとき、x=0..2*numSampT-1、y=-1, -2である隣接上側ルマサンプルpY[x][y]が、位置(xTbY+x, yTbY+y)におけるデブロッキングフィルタ処理の前に、再構築されたルマサンプルに等しく設定される。
- availTLがTRUEに等しいとき、x=-1、y=-1、-2である隣接左上ルマサンプルpY[x][y]が、位置(xTbY+x, yTbY+y)におけるデブロッキングフィルタ処理の前に、再構築されたルマサンプルに等しく設定される。
3. x=0..nTbW-1、y=0..nTbH-1であるダウンサンプリングされた同一位置のルマサンプルpDsY[x][y]は、次のように導出される。
- sps_cclm_colocated_chroma_flagが1に等しい場合、次のことが当てはまる。
- x=1..nTbW-1、y=1..nTbH-1であるpDsY[x][y]は次のように導出される。
pDsY[x][y]=(pY[2*x][2*y-1]+pY[2*x-1][2*y]+4*pY[2*x][2*y]+pY[2*x+1][2*y]+pY[2*x][2*y+1]+4)>>3 (8-162)
- availLがTRUEに等しい場合、y=1..nTbH-1であるpDsY[0][y]は次のように導出される。
pDsY[0][y]=(pY[0][2*y-1]+pY[-1][2*y]+4*pY[0][2*y]+pY[1][2*y]+pY[0][2*y+1]+4)>>3 (8-163)
- それ以外の場合、y=1..nTbH-1であるpDsY[0][y]は次のように導出される。
pDsY[0][y]=(pY[0][2*y-1]+2*pY[0][2*y]+pY[0][2*y+1]+2)>>2 (8-164)
- availTがTRUEに等しい場合、x=1..nTbW-1であるpDsY[x][0]は次のように導出される。
pDsY[x][0]=(pY[2*x][ -1]+pY[2*x-1][0]+4*pY[2*x][0]+pY[2*x+1][0]+pY[2*x][1]+4)>>3 (8-165)
- それ以外の場合、x=1..nTbW-1であるpDsY[x][0]は次のように導出される。
pDsY[x][0]=(pY[2*x-1][0]+2*pY[2*x][0]+pY[2*x+1][0]+2)>>2 (8-166)
- availLがTRUEに等しく、availTがTRUEに等しい場合、pDsY[0][0]は次のように導出される。
pDsY[0][0]=(pY[0][ -1]+pY[-1][0]+4*pY[0][0]+pY[1][0]+pY[0][1]+4)>>3 (8-167)
- そうではなく、availLがTRUEに等しく、availTがFALSEに等しい場合、pDsY[0][0]は次のように導出される。
pDsY[0][0]=(pY[-1][0]+2*pY[0][0]+pY[1][0]+2)>>2 (8-168)
- そうではなく、availLがFALSEに等しく、availTがTRUEに等しい場合、pDsY[0][0]は次のように導出される。
pDsY[0][0]=(pY[0][ -1]+2*pY[0][0]+pY[0][1]+2)>>2 (8-169)
- そうではない(availLがFALSEに等しく、availTがFALSEに等しい)場合、pDsY[0][0]は次のように導出される。
pDsY[0][0]=pY[0][0] (8-170)
- それ以外の場合、次のことが当てはまる。
- x=1..nTbW-1、y=0..nTbH-1であるpDsY[x][y]は次のように導出される。
pDsY[x][y]=(pY[2*x-1][2*y]+pY[2*x-1][2*y+1]+2*pY[2*x][2*y]+2*pY[2*x][2*y+1]+pY[2*x+1][2*y]+pY[2*x+1][2*y+1]+4)>>3 (8-171)
- availLがTRUEに等しい場合、y=0..nTbH-1であるpDsY[0][y]は次のように導出される。
pDsY[0][y]=(pY[-1][2*y]+pY[-1][2*y+1]+2*pY[0][2*y]+2*pY[0][2*y+1]+pY[1][2*y]+pY[1][2*y+1]+4)>>3 (8-172)
- それ以外の場合、y=0..nTbH-1であるpDsY[0][y]は次のように導出される。
pDsY[0][y]=(pY[0][2*y]+pY[0][2*y+1]+1)>>1 (8-173)
- 過剰な平滑化、
- フィルタリングされた輝度信号の誤った位相シフト。
- separate_colour_plane_flagが0に等しい場合、図6Cに示されるように、2つのクロマアレイの各々が、ルマアレイと同じ高さおよび幅を有する。
- それ以外の場合(separate_colour_plane_flagが1に等しい)、3つの色平面が別々に、モノクロームのサンプリングされたピクチャとして処理される。
predC(i,j)=α・recL'(i,j)+β (1)
ここで、predC(i,j)は位置(i,j)におけるクロマブロック701の予測クロマサンプル703であり、iは水平インデックスであり、jは垂直インデックスである。recL'(i,j)は、再構築されたルマサンプル713の位置(i,j)におけるダウンサンプリングされたルマサンプルであり、αおよびβは、(選択された)隣接ルマ参照サンプル715および(選択された)クロマ参照サンプル705のダウンサンプリングされたルマ参照サンプルに基づいて決定される線形係数である。YUV 4:2:0フォーマットでは、各クロマサンプルは4つの同一位置のルマサンプルを有するので、αとβを導出するために使用されるルマサンプルと、予測されたクロマサンプルを計算するために使用されるサンプルの両方がダウンサンプリングされる(図6A参照)。
- sps_cclm_colocated_chroma_flagが1に等しい場合、次のことが当てはまる。
- x=1..nTbW-1、y=1..nTbH-1であるpDsY[x][y]は次のように導出される。
pDsY[x][y]=
(F[1][0]*pY[SubWidthC*x][SubHeightC*y-1]+
+F[0][1]*pY[SubWidthC*x-1][SubHeightC*y]+
+F[1][1]*pY[SubWidthC*x][SubHeightC*y]+
+F[2][1]*pY[SubWidthC*x+1][SubHeightC*y]+
+F[1][2]*pY[SubWidthC*x][SubHeightC*y+1]+4)>>3
- availLがTRUEに等しい場合、y=1..nTbH-1であるpDsY[0][y]は次のように導出される。
pDsY[0][y]=
(F[1][0]*pY[0][SubHeightC*y-1]+
+F[0][1]*pY[-1][SubHeightC*y]+
+F[1][1]*pY[0][SubHeightC*y]+
+2)>>2
- それ以外の場合、y=1..nTbH-1であるpDsY[0][y]は次のように導出される。
pDsY[0][y]=
(2*F[1][0]*pY[0][SubHeightC*y-1]+
+F[1][1]*pY[0][SubHeightC*y]+
+2)>>2
- availTがTRUEに等しい場合、x=1..nTbW-1であるpDsY[x][0]は次のように導出される。
pDsY[x][0]=
(F[1][0]*pY[SubWidthC*x][ -1]+
+F[0][1]*pY[SubWidthC*x-1][0]+
+F[1][1]*pY[SubWidthC*x][0]+
+F[2][1]*pY[SubWidthC*x+1][0]+
+F[1][2]*pY[SubWidthC*x][1]+4)>>3
- それ以外の場合、x=1..nTbW-1であるpDsY[x][0]は次のように導出される。
pDsY[x][0]=
(F[1][0]*pY[SubWidthC*x][-1]+
+F[0][1]*pY[SubWidthC*x-1][0]+
+F[1][1]*pY[SubWidthC*x][0]+
+F[2][1]*pY[SubWidthC*x+1][0]+
+F[1][2]*pY[SubWidthC*x][1]+4)>>3
- availLがTRUEに等しく、availTがTRUEに等しい場合、pDsY[0][0]は次のように導出される。
pDsY[0][0]=
(F[1][0]*pY[0][ -1]+
+F[0][1]*pY[-1][0]+
+F[1][1]*pY[0][0]+
+F[2][1]*pY[1][0]+
+F[1][2]*pY[0][1]+4)>>3
- そうではなく、availLがTRUEに等しく、availTがFALSEに等しい場合、pDsY[0][0]は次のように導出される。
pDsY[0][0]=
(F[0][1]*pY[-1][0]+
+F[1][1]*pY[0][0]+
+F[2][1]*pY[1][0]+
+2)>>2
- そうではなく、availLがFALSEに等しく、availTがTRUEに等しい場合、pDsY[0][0]は次のように導出される。
pDsY[0][0]=(pY[0][ -1]+2*pY[0][0]+pY[0][1]+2)>>2 (8-169)
- そうではない(availLがFALSEに等しく、availTがFALSEに等しい)場合、pDsY[0][0]は次のように導出される。
pDsY[0][0]=pY[0][0] (8-170)
- それ以外の場合、次のことが当てはまる。
- x=1..nTbW-1、y=0..nTbH-1であるpDsY[x][y]は次のように導出される。
pDsY[x][y]=
(F[0][1]*pY[SubWidthC*x-1][SubHeightC*y]+
+F[0][2]*pY[SubWidthC*x-1][SubHeightC*y+1]+
+F[1][1]*pY[SubWidthC*x][SubHeightC*y]+
+F[1][2]*pY[SubWidthC*x][SubHeightC*y+1]+
+F[2][1]*pY[SubWidthC*x+1][SubHeightC*y]+
+F[2][2]*pY[+1SubWidthC*x+1][SubHeightC*y+1]+4)>>3
- availLがTRUEに等しい場合、y=0..nTbH-1であるpDsY[0][y]は次のように導出される。
pDsY[0][y]=
(F[0][1]*pY[-1][SubHeightC*y]+
+F[0][2]*pY[-1][SubHeightC*y+1]+
+F[1][1]*pY[0][SubHeightC*y]+
+F[1][2]*pY[0][SubHeightC*y+1]+
+F[2][1]*pY[1][SubHeightC*y]+
+F[2][2]*pY[1][SubHeightC*y+1]+4)>>3
- それ以外の場合、y=0..nTbH-1であるpDsY[0][y]は次のように導出される。
pDsY[0][y]=
(F[1][1]*pY[0][SubHeightC*y]+
+F[1][2]*pY[0][SubHeightC*y+1]+1)>>1
- イントラ予測モードpredModeIntra、
- 現在のピクチャの左上サンプルに対する相対的な現在の変換ブロックの左上サンプルのサンプル位置(xTbC,yTbC)、
- 変換ブロック幅を指定する変数nTbW、
- 変換ブロック高さを指定する変数nTbH、
- クロマ隣接サンプルp[x][y]、ただしx=-1、y=0..2*nTbH-1およびx=0..2*nTbW-1、y=-1である。
(xTbY,yTbY)=(xTbC<<(SubWidthC-1),yTbC<<(SubHeightC-1)) (8-156)
- ブロックに対する左側隣接サンプル導出プロセスの利用可能性は、現在のクロマ位置(xCurr,yCurr)が(xTbC,yTbC)に等しく設定された状態で、隣接クロマ位置(xTbC-1,yTbC)を入力として呼び出され、出力はavailLに割り当てられる。
- ブロックに対する上側隣接サンプル導出プロセスの利用可能性は、現在のクロマ位置(xCurr,yCurr)が(xTbC,yTbC)に等しく設定された状態で、隣接クロマ位置(xTbC、yTbC-1)を入力として呼び出され、出力はavailTに割り当てられる。
- ブロックに対する左上隣接サンプル導出プロセスの利用可能性は、現在のクロマ位置(xCurr,yCurr)が(xTbC,yTbC)に等しく設定された状態で、隣接クロマ位置(xTbC-1,yTbC-1)を入力として呼び出され、出力はavailTLに割り当てられる。
- 利用可能な右上隣接クロマサンプルの数numTopRightは次のように導出される。
- 変数numTopRightは0に等しく設定され、availTRはTRUEに等しく設定される。
- predModeIntraがINTRA_T_CCLMに等しいとき、availTRがFALSEに等しくなるまで、またはxが2*nTbW-1に等しくなるまで、x=nTbW..2*nTbW-1に対して次のことが当てはまる。
- ブロックに対する利用可能性導出プロセスは、現在のクロマ位置(xCurr,yCurr)が(xTbC,yTbC)に等しく設定された状態で、隣接クロマ位置(xTbC+x、yTbC-1)を入力として呼び出され、出力はavailableTRに割り当てられる。
- availableTRがTRUEに等しいとき、numTopRightは1だけインクリメントされる。
- 利用可能な左下隣接クロマサンプルの数numLeftBelowは次のように導出される。
- 変数numLeftBelowは0に等しく設定され、availLBはTRUEに等しく設定される。
- predModeIntraがINTRA_L_CCLMに等しいとき、availLBがFALSEに等しくなるまで、またはyが2*nTbH-1に等しくなるまで、y=nTbH..2*nTbH-1に対して次のことが当てはまる。
- ブロックに対する利用可能性導出プロセスは、現在のクロマ位置(xCurr,yCurr)が(xTbC,yTbC)に等しく設定された状態で、隣接クロマ位置(xTbC-1、yTbC+y)を入力として呼び出され、出力はavailableLBに割り当てられる。
- availableLBがTRUEに等しいとき、numLeftBelowは1だけインクリメントされる。
- predModeIntraがINTRA_LT_CCLMに等しい場合、次のことが当てはまる。
numSampT=availT?nTbW:0
numSampL=availL?nTbH:0
- それ以外の場合、次のことが当てはまる。
numSampT=(availT&&predModeIntra==INTRA_T_CCLM)?(nTbW+ numTopRight):0
numSampL=(availL&&predModeIntra==INTRA_L_CCLM)?(nTbH+numLeftBelow):0
bCTUboundary=(yTbC&(1<<(CtbLog2SizeY-1) -1)==0)?TRUE:FALSE
- numSampLとnumSampTの両方が0に等しい場合、次のことが当てはまる。
predSamples[x][y]=1<<(BitDepthC-1)
- それ以外の場合、次の順序付けられたステップが適用される。
1. x=0..nTbW*SubWidthC-1、y=0..nTbH*SubHeightC-1である同一位置のルマサンプルpY[x][y]が、位置(xTbY+x, yTbY+y)におけるデブロッキングフィルタ処理の前に、再構築されたルマサンプルに等しく設定される。
2. 隣接ルマサンプルサンプルpY[x][y]は次のように導出される。
- numSampLが0より大きいとき、x=-1.. -3、y=0..SubHeightC*numSampL-1である隣接左側ルマサンプルpY[x][y]が、位置(xTbY+x, yTbY+y)におけるデブロッキングフィルタ処理の前に、再構築されたルマサンプルに等しく設定される。
- numSampTが0より大きいとき、x=0..SubWidthC*numSampT-1、y=-1, -2である隣接上側ルマサンプルpY[x][y]が、位置(xTbY+x, yTbY+y)におけるデブロッキングフィルタ処理の前に、再構築されたルマサンプルに等しく設定される。
- availTLがTRUEに等しいとき、x=-1、y=-1、-2である隣接左上ルマサンプルpY[x][y]が、位置(xTbY+x, yTbY+y)におけるデブロッキングフィルタ処理の前に、再構築されたルマサンプルに等しく設定される。
3. x=0..nTbW-1、y=0..nTbH-1であるダウンサンプリングされた同一位置のルマサンプルpDsY[x][y]は、次のように導出される。
- SubWidthC==1かつSubHeightC==1である場合、次のことが当てはまる。
- x=1..nTbW-1、y=1..nTbH-1であるpDsY[x][y]は次のように導出される。
pDstY[x][y]=pY[x][y]
//説明のための注記: 4:4:4であるとき(SubWidthCとSubHeightCの両方が1に等しい場合)、ダウンサンプリングは必要とされず、すなわち、フィルタリングは実行されない。これは、係数[1]を伴うフィルタ、すなわちバイパスフィルタとしても解釈され得る//
- それ以外の場合、以下のことがフィルタのセット{F3,F5,F6}に対して当てはまる。//説明のための注記:ここで、4:2:0または4:2:2のとき(SubWidthCとSubHeightCの両方が1に等しくない場合)、フィルタの係数を定義し、F2はダウンサンプリングフィルタの第1のセットと第2のセットの両方に属する//
- F3[0]=1、F3[1]=2、F3[2]=1
- SubWidthC==2かつSubHeightC==2である場合、
F5[0][1]=1、F5[1][1]=4、F3[2][1]=1、F5[1][0]=1、F5[1][2]=1
F6[0][1]=1、F6[1][1]=2、F6[2][1]=1
F6[0][2]=1、F6[1][2]=2、F6[2][2]=1
F2[0]=1、F2[1]=1
- それ以外の場合
F5[0][1]=0、F5[1][1]=8、F3[2][1]=0、F5[1][0]=0、F5[1][2]=0
F6[0][1]=2、F6[1][1]=4、F6[2][1]=2
F6[0][2]=0、F6[1][2]=0、F6[2][2]=0
F2[0]=2、F2[1]=0
- sps_cclm_colocated_chroma_flagが1に等しい場合、次のことが当てはまる。
- x=1..nTbW-1、y=1..nTbH-1であるpDsY[x][y]は、FをF5と設定することによって、次のように導出される。
- pDsY[x][y]=
(F[1][0]*pY[SubWidthC*x][SubHeightC*y-1]+
+F[0][1]*pY[SubWidthC*x-1][SubHeightC*y]+
+F[1][1]*pY[SubWidthC*x][SubHeightC*y]+
+F[2][1]*pY[SubWidthC*x+1][SubHeightC*y]+
+F[1][2]*pY[SubWidthC*x][SubHeightC*y+1]+4)>>3
//説明のための注記: F5は特許請求される第1のダウンサンプリングフィルタに対応する//
//
- availLがTRUEに等しい場合、F5に設定されたFについて、y=1..nTbH-1であるpDsY[0][y]は次のように導出される。
pDsY[0][y]=
(F[1][0]*pY[0][SubHeightC*y-1]+
+F[0][1]*pY[-1][SubHeightC*y]+
+F[1][1]*pY[0][SubHeightC*y]+
+F[2][1]*pY[1][SubHeightC*y]+
+F[1][2]*pY[0][SubHeightC*y+1]+4)>>3
- それ以外の場合、y=1..nTbH-1であるpDsY[0][y]は、F3に設定されたFについて、次のように導出される。
pDsY[0][y]=
(F[0]*pY[0][SubHeightC*y-1]+
+F[1]*pY[0][SubHeightC*y]+
+F[2]*pY[0][SubHeightC*y+1]+
+2)>>2
- availTがTRUEに等しい場合、x=1..nTbW-1であるpDsY[x][0]は、F5に設定されたFについて、次のように導出される。
pDsY[x][0]=
(F[1][0]*pY[SubWidthC*x][-1]+
+F[0][1]*pY[SubWidthC*x-1][0]+
+F[1][1]*pY[SubWidthC*x][0]+
+F[2][1]*pY[SubWidthC*x+1][0]+
+F[1][2]*pY[SubWidthC*x][1]+4)>>3
- それ以外の場合、x=1..nTbW-1であるpDsY[x][0]は、F3に設定されたFについて、次のように導出される。
pDsY[x][0]=
=(F[0]*pY[SubWidthC*x-1][0]+
+F[1]*pY[SubWidthC*x][0]+
+F[2]*pY[SubWidthC*x+1][0]+2)>>2
- availLがTRUEに等しく、availTがTRUEに等しい場合、pDsY[0][0]は、F5に設定されたFについて、次のように導出される。
pDsY[0][0]=
(F[1][0]*pY[0][-1]+
+F[0][1]*pY[-1][0]+
+F[1][1]*pY[0][0]+
+F[2][1]*pY[1][0]+
+F[1][2]*pY[0][1]+4)>>3
- そうではなく、availLがTRUEに等しく、availTがFALSEに等しい場合、pDsY[0][0]は、F3に設定されたFについて、次のように導出される。
pDsY[0][0]=
(F[0]*pY[-1][0]+
+F[1]*pY[0][0]+
+F[2]*pY[1][0]+
+2)>>2
- そうではなく、availLがFALSEに等しく、availTがTRUEに等しい場合、pDsY[0][0]は、F3に設定されたFについて、次のように導出される。
pDsY[0][0]=
(F[0]*pY[0][ -1]+
+F[1]*pY[0][0]++F[2]*pY[0][1]+
+2)>>2
- そうではない(availLがFALSEに等しく、availTがFALSEに等しい)場合、pDsY[0][0]は次のように導出される。
pDsY[0][0]=pY[0][0]
- それ以外の場合、次のことが当てはまる。
- x=1..nTbW-1、y=0..nTbH-1であるpDsY[x][y]は、F6に設定されたFについて、次のように導出される。
pDsY[x][y]=
(F[0][1]*pY[SubWidthC*x-1][SubHeightC*y]+
+F[0][2]*pY[SubWidthC*x-1][SubHeightC*y+1]+
+F[1][1]*pY[SubWidthC*x][SubHeightC*y]+
+F[1][2]*pY[SubWidthC*x][SubHeightC*y+1]+
+F[2][1]*pY[SubWidthC*x+1][SubHeightC*y]+
+F[2][2]*pY[SubWidthC*x+1][SubHeightC*y+1]+4)>>3
- availLがTRUEに等しい場合、F6に設定されたFについて、y=0..nTbH-であるpDsY[0][y]は次のように導出される。
pDsY[0][y]=
(F[0][1]*pY[-1][SubHeightC*y]+
+F[0][2]*pY[-1][SubHeightC*y+1]+
+F[1][1]*pY[0][SubHeightC*y]+
+F[1][2]*pY[0][SubHeightC*y+1]+
+F[2][1]*pY[1][SubHeightC*y]+
+F[2][2]*pY[1][SubHeightC*y+1]+4)>>3
- それ以外の場合、y=0..nTbH-1であるpDsY[0][y]は、F2に設定されたFについて、次のように導出される。
pDsY[0][y]=
(F[0]*pY[0][SubHeightC*y]+
+F[1]*pY[0][SubHeightC*y+1]+1)>>1
//ステップ3は、それぞれのダウンサンプリングフィルタを使用して、現在のブロックのルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルを取得するための実装形態である。//
4. numSampLが0より大きいとき、y=0..numSampL-1であるダウンサンプリングされた隣接する左側ルマサンプルpLeftDsY[y]は次のように導出される。
- SubWidthC==1かつSubHeightC==1である場合、次のことが当てはまる。
- y=0..nTbH-1であるpLeftDsY[y]は次のように導出される: pLeftDsY[y]=pY[-1][y]
- それ以外の場合、次のことが当てはまる。
- sps_cclm_colocated_chroma_flagが1に等しい場合、次のことが当てはまる。
- y=1..nTbH-1であるpLeftDsY[y]は、F5に設定されたFについて、次のように導出される。
pLeftDsY[y]=
=F[1][0]*pY[-SubWidthC][SubHeightC*y-1]+
+F[0][1]*pY[-1-SubWidthC][SubHeightC*y]+
+F[1][1]*pY[-SubWidthC][SubHeightC*y]+
+F[2][1]*pY[1-SubWidthC][SubHeightC*y]+
+F[1][2]*pY[-SubWidthC][SubHeightC*y+1]+4)>>3
- availTLがTRUEに等しい場合、F5に設定されたFについて、pLeftDsY[0]は次のように導出される。
pLeftDsY[0]=
=F[1][0]*pY[-SubWidthC][ -1]+
+F[0][1]*pY[-1-SubWidthC][0]+
+F[1][1]*pY[-SubWidthC][0]+
+F[2][1]*pY[1-SubWidthC][0]+
+F[1][2]*pY[-SubWidthC][1]+4)>>3
- それ以外の場合、x=1..nTbW-1であるpDsY[x][0]は、F3に設定されたFについて、次のように導出される。
pLeftDsY[0]=
(F[0]*pY[-1-SubWidthC][0]+
+F[1]*pY[-SubWidthC][0]+
+F[2]*pY[1-SubWidthC][0]+
+2)>>2
- それ以外の場合F6に設定されたFについて、次のことが当てはまる。
pLeftDsY[y]=
=(F[0][1]*pY[-1-SubWidthC][SubHeightC*y]+
+F[0][2]*pY[-1-SubWidthC][SubHeightC*y+1]+
+F[1][1]*pY[-SubWidthC][SubHeightC*y]+
+F[1][2]*pY[-SubWidthC][SubHeightC*y+1]+
+F[2][1]*pY[1-SubWidthC][SubHeightC*y]+
+F[2][2]*pY[1-SubWidthC][SubHeightC*y+1]+4)>>3
//説明のための注記:ステップ4および5は、それぞれのダウンサンプリングフィルタを使用して、ルマブロックの選択された隣接ルマサンプルのダウンサンプリングされたルマ参照サンプルを取得するための実装形態である。//
5. numSampTが0より大きいとき、x=0..numSampT-1であるダウンサンプリングされた隣接上側ルマサンプルpTopDsY[x]は次のように指定される。
- SubWidthC==1かつSubHeightC==1である場合、次のことが当てはまる。
- x=0..numSampT-1に対して、pTopDsY[x]=pY[x][-1]
- それ以外の場合、次のことが当てはまる。
- sps_cclm_colocated_chroma_flagが1に等しい場合、次のことが当てはまる。
- x=1..numSampT-1であるpTopDsY[x]は次のように導出される。
- bCTUboundaryがFALSEに等しい場合、F5に設定されたFについて、次のことが当てはまる。
pTopDsY[x]=
=(F[1][0]*pY[SubWidthC*x][ -1-SubHeightC]+
+F[0][1]*pY[SubWidthC*x-1][ -SubHeightC]+
+F[1][1]*pY[SubWidthC*x][ -SubHeightC]+
+F[2][1]*pY[SubWidthC*x+1][ -SubHeightC]+
+F[1][2]*pY[SubWidthC*x][1-SubHeightC]+4)>>3
- それ以外の場合(bCTUboundaryがTRUEに等しい)、F3に設定されたFについて、次のことが当てはまる。
pTopDsY[x]=
=(F[0]*pY[SubWidthC*x-1][ -1]+
+F[1]*pY[SubWidthC*x][ -1]+
+F[2]*pY[SubWidthC*x+1][ -1]+
+2)>>2
- pTopDsY[0]は次のように導出される。
- availTLがTRUEに等しく、bCTUboundaryがFALSEに等しい場合、F5に設定されたFについて、次のことが当てはまる。
pTopDsY[0]=
F[1][0]*pY[-1][ -1-SubHeightC]+
+F[0][1]*pY[-1][ -SubHeightC]+
+F[1][1]*pY[0][ -SubHeightC]+
+F[2][1]*pY[1][ -SubHeightC]++
+F[1][2]pY[-1][1-SubHeightC]++4)>>3
- そうではなく、availTLがTRUEに等しく、bCTUboundaryがTRUEに等しい場合、F3に設定されたFについて、次のことが当てはまる。
pTopDsY[0]=
=(F[0]*pY[-1][-1]+
+F[1]*pY[0][-1]+
+F[2]*pY[1][ -1]+
+2)>>2
- そうではなく、availTLがFALSEに等しく、bCTUboundaryがFALSEに等しい場合、F3に設定されたFについて、次のことが当てはまる。
pTopDsY[0]=
=(F[0]*pY[0][-1]+
+F[1]*pY[0][-2]+
+F[2]*pY[0][-1]+
+2)>>2
- それ以外の場合(availTLがFALSEに等しく、bCTUboundaryがTRUEに等しい)、次のことが当てはまる。
pTopDsY[0]=pY[0][ -1]
- それ以外の場合、次のことが当てはまる。
- x=1..numSampT-1であるpTopDsY[x]は次のように導出される。
- bCTUboundaryがFALSEに等しい場合、F6に設定されたFについて、次のことが当てはまる。
pTopDsY[x]=
=(F[0][1]*pY[SubWidthC*x-1][ -2]+
+F[0][2]*pY[SubWidthC*x-1][ -1]+
+F[1][1]*pY[SubWidthC*x][ -2]+
+F[1][2]*pY[SubWidthC*x][ -1]+
+F[2][1]*pY[SubWidthC*x+1][ -2]+
+F[2][2]*pY[SubWidthC*x+1][ -1]+4)>>3
- それ以外の場合(bCTUboundaryがTRUEに等しい)、F3に設定されたFについて、次のことが当てはまる。
pTopDsY[x]=
=(F[0]*pY[SubWidthC*y-1][ -1]+
+F[1]*pY[SubWidthC*y][ -1]+
+F[2]*pY[SubWidthC*y+1][ -1]+
+2)>>2
- pTopDsY[0]は次のように導出される。
- availTLがTRUEに等しく、bCTUboundaryがFALSEに等しい場合、F6に設定されたFについて、次のことが当てはまる。
pTopDsY[0]=
=(F[0][1]*pY[-1][ -2]+
+F[0][2]*pY[-1][-1]+
+F[1][1]*pY[0][ -2]+
+F[1][2]*pY[0][ -1]+
+F[2][1]*pY[1][ -2]+
+F[2][2]*pY[1][ -1]+4)>>3
- そうではなく、availTLがTRUEに等しく、bCTUboundaryがTRUEに等しい場合、F3に設定されたFについて、次のことが当てはまる。
pTopDsY[0]=
=(F[0]*pY[-1][ -1]+
+F[1]*pY[0][ -1]+
+F[2]*pY[1][ -1]+
+2)>>2
- そうではなく、availTLがFALSEに等しく、bCTUboundaryがFALSEに等しい場合、F2に設定されたFについて、次のことが当てはまる。
pTopDsY[0]=(F[1]*pY[0][ -2]+F[0]*pY[0][ -1]+1)>>1
- それ以外の場合(availTLがFALSEに等しく、bCTUboundaryがTRUEに等しい)、次のことが当てはまる。
pTopDsY[0]=pY[0][ -1]
//説明のための注記:ステップ4および5は、それぞれのダウンサンプリングフィルタを適用することによって、ルマブロックの選択された隣接ルマサンプルのダウンサンプリングされたルマ参照サンプルを取得するための実装形態である。//
6. 変数nS、xS、ySが次のように導出される。
- predModeIntraがINTRA_LT_CCLMに等しい場合、次のことが当てはまる。
nS=((availL&&availT)?Min(nTbW,nTbH):(availL?nTbH:nTbW))
xS=1<<(((nTbW>nTbH)&&availL&&availT)?(Log2(nTbW) -Log2(nTbH)):0) (8-192)
yS=1<<(((nTbH>nTbW)&&availL&&availT)?(Log2(nTbH) -Log2(nTbW)):0) (8-193)
- そうではなく、predModeIntraがINTRA_L_CCLMに等しい場合、次のことが当てはまる。
nS=numSampL
xS=1
yS=1
- それ以外の場合(predModeIntraがINTRA_T_CCLMに等しい)、次のことが当てはまる。
nS=numSampT
xS=1
yS=1
7. 変数minY、maxY、minC、およびmaxCは、次のように導出される。
- 変数minYは1<<(BitDepthY)+1に等しく設定され、変数maxYは-1に等しく設定される。
- availTがTRUEに等しい場合、x=0..nS-1である変数minY、maxY、minC、およびmaxCは、次のように導出される。
- minYがpTopDsY[x*xS]より大きい場合、次のことが当てはまる。
minY=pTopDsY[x*xS]
minC=p[x*xS][ -1]
- maxYがpTopDsY[x*xS]より小さい場合、次のことが当てはまる。
maxY=pTopDsY[x*xS]
maxC=p[x*xS][ -1]
- availLがTRUEに等しい場合、y=0..nS-1である変数minY、maxY、minC、およびmaxCは、次のように導出される。
- minYがpLeftDsY[y*yS]より大きい場合、次のことが当てはまる。
minY=pLeftDsY[y*yS]
minC=p[-1][y*yS]
- maxYがpLeftDsY[y*yS]より小さい場合、次のことが当てはまる。
maxY=pLeftDsY[y*yS]
maxC=p[-1][y*yS]
8. 変数a、b、およびkは、次のように導出される。
- numSampLが0に等しく、numSampTが0に等しい場合、次のことが当てはまる。
k=0
a=0
b=1<<(BitDepthC-1)
- それ以外の場合、次のことが当てはまる。
diff=maxY-minY
- diffが0に等しくない場合、次のことが当てはまる。
diffC=maxC-minC
x=Floor(Log2(diff))
normDiff=((diff<<4)>>x)&15
x+=(normDiff!=0)?1:0
y=Floor(Log2(Abs(diffC)))+1
a=(diffC*(divSigTable[normDiff]|8)+2y-1)>>y
k=((3+x-y)<1)?1:3+x-y
a=((3+x-y)<1)?Sign(a)*15:a
b=minC- ((a*minY)>>k)
ここで、divSigTable[]は次のように規定される。
divSigTable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0}
- それ以外の場合(diffが0に等しい)、次のことが当てはまる。
k=0
a=0
b=minC
//説明のための注記: ステップ6~8は、選択された隣接ルマサンプルのダウンサンプリングされたルマ参照サンプルおよびダウンサンプリングされたルマ参照サンプルに対応するクロマ参照サンプルに基づいて、1つまたは複数の線形モデル係数を決定するための実装形態であり、具体的には、線形モデル係数の決定は、minY、maxY、minC、およびmaxCに基づく。//
9. x=0..nTbW-1、y=0..nTbH-1である予測サンプルpredSamples[x][y]は次のように導出される。
predSamples[x][y]=Clip1C(((pDsY[x][y]*a)>>k)+b)
//説明のための注記: ステップ9は、線形モデル係数およびルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルに基づいて、ルマブロックに対応するクロマブロックの予測サンプルを取得するための実装形態である。//
・LMモードが適用される(上と左のテンプレートがLMモードにおいて使用される)とき、W'=W、H'=H
・LM-Aモードが適用される(上のテンプレートのみがLM-Aモードにおいて使用される)とき、W'=W+H
・LM-Lモードが適用される(左のテンプレートのみがLM-Lモードにおいて使用される)ときH'=H+W
・LMモードが適用され、かつ上と左の両方の隣接サンプルが利用可能であるとき、S[W'/4, -1]、S[3W'/4, -1]、S[-1, H'/4]、S[-1, 3H'/4]
・LM-Aモードが適用されるとき、または上の隣接サンプルのみが利用可能であるとき、S[W'/8, -1]、S[3W'/8, -1]、S[5W'/8, -1]、S[7W'/8, -1]
・LM-Lモードが適用されるとき、または左の隣接サンプルのみが利用可能であるとき、S[-1, H'/8]、S[-1, 3H'/8]、S[-1, 5H'/8]、S[-1, 7H'/8]
xA=(x0 A+x1 A+1)>>1、xB=(x0 B+x1 B+1)>>1、yA=(y0 A+y1 A+1)>>1、yB=(y0 B+y1 B+1)>>1
- イントラ予測モードpredModeIntra、
- 現在のピクチャの左上サンプルに対する相対的な現在の変換ブロックの左上サンプルのサンプル位置(xTbC,yTbC)、
- 変換ブロック幅を指定する変数nTbW、
- 変換ブロック高さを指定する変数nTbH、
- クロマ隣接サンプルp[x][y]、ただしx=-1、y=0..2*nTbH-1およびx=0..2*nTbW-1、y=-1である。
(xTbY,yTbY)=(xTbC<<(SubWidthC-1),yTbC<<(SubHeightC-1))
- ブロックに対する左側隣接サンプル導出プロセスの利用可能性は、現在のクロマ位置(xCurr,yCurr)が(xTbC,yTbC)に等しく設定された状態で、隣接クロマ位置(xTbC-1,yTbC)を入力として呼び出され、出力はavailLに割り当てられる。
- ブロックに対する上側隣接サンプル導出プロセスの利用可能性は、現在のクロマ位置(xCurr,yCurr)が(xTbC,yTbC)に等しく設定された状態で、隣接クロマ位置(xTbC、yTbC-1)を入力として呼び出され、出力はavailTに割り当てられる。
- ブロックに対する左上隣接サンプル導出プロセスの利用可能性は、現在のクロマ位置(xCurr,yCurr)が(xTbC,yTbC)に等しく設定された状態で、隣接クロマ位置(xTbC-1,yTbC-1)を入力として呼び出され、出力はavailTLに割り当てられる。
- 利用可能な右上隣接クロマサンプルの数numTopRightは次のように導出される。
- 変数numTopRightは0に等しく設定され、availTRはTRUEに等しく設定される。
- predModeIntraがINTRA_T_CCLMに等しいとき、availTRがFALSEに等しくなるまで、またはxが2*nTbW-1に等しくなるまで、x=nTbW..2*nTbW-1に対して次のことが当てはまる。
- ブロックに対する利用可能性導出プロセスは、現在のクロマ位置(xCurr,yCurr)が(xTbC,yTbC)に等しく設定された状態で、隣接クロマ位置(xTbC+x、yTbC-1)を入力として呼び出され、出力はavailableTRに割り当てられる。
- availableTRがTRUEに等しいとき、numTopRightは1だけインクリメントされる。
- 利用可能な左下隣接クロマサンプルの数numLeftBelowは次のように導出される。
- 変数numLeftBelowは0に等しく設定され、availLBはTRUEに等しく設定される。
- predModeIntraがINTRA_L_CCLMに等しいとき、availLBがFALSEに等しくなるまで、またはyが2*nTbH-1に等しくなるまで、y=nTbH..2*nTbH-1に対して次のことが当てはまる。
- ブロックに対する利用可能性導出プロセスは、現在のクロマ位置(xCurr,yCurr)が(xTbC,yTbC)に等しく設定された状態で、隣接クロマ位置(xTbC-1、yTbC+y)を入力として呼び出され、出力はavailableLBに割り当てられる。
- availableLBがTRUEに等しいとき、numLeftBelowは1だけインクリメントされる。
- predModeIntraがINTRA_LT_CCLMに等しい場合、次のことが当てはまる。
numSampT=availT?nTbW:0
numSampL=availL?nTbH:0
- それ以外の場合、次のことが当てはまる。
numSampT=(availT&&predModeIntra==INTRA_T_CCLM)?(nTbW+Min(numTopRight,nTbH)):0
numSampL=(availL&&predModeIntra==INTRA_L_CCLM)?(nTbH+Min(numLeftBelow,nTbW)):0
bCTUboundary=(yTbC&(1<<(CtbLog2SizeY-1) -1)==0)?TRUE:FALSE
- 変数numIs4Nは((availT&&availL&&predModeIntra==INTRA_LT_CCLM)?0:1)に等しく設定される。
- 変数startPosNはnumSampN>>(2+numIs4N)に等しく設定される。
- 変数pickStepNはMax(1, numSampN>>(1+numIs4N))に等しく設定される。
- availNがTRUEに等しく、predModeIntraがINTRA_LT_CCLMまたはINTRA_N_CCLMに等しい場合、cntNはMin(numSampN,(1+numIs4N)<<1)に等しく設定され、pickPosN[pos]は(startPosN+pos*pickStepN)に等しく設定され、pos=0..(cntN-1)である。
- それ以外の場合cntNは0に等しく設定される。
- numSampLとnumSampTの両方が0に等しい場合、次のことが当てはまる。
predSamples[x][y]=1<<(BitDepthC-1)
- それ以外の場合、次の順序付けられたステップが適用される。
1. x=0..nTbW*SubWidthC-1、y=0..nTbH*SubHeightC-1である同一位置のルマサンプルpY[x][y]が、位置(xTbY+x, yTbY+y)におけるデブロッキングフィルタ処理の前に、再構築されたルマサンプルに等しく設定される。
2. 隣接ルマサンプルサンプルpY[x][y]は次のように導出される。
- numSampLが0より大きいとき、x=-1..-3、y=0..SubHeightC*numSampL-1である隣接左側ルマサンプルpY[x][y]が、位置(xTbY+x, yTbY+y)におけるデブロッキングフィルタ処理の前に、再構築されたルマサンプルに等しく設定される。
- numSampTが0より大きいとき、x=0..SubWidthC*numSampT-1、y=-1,-2である隣接上側ルマサンプルpY[x][y]が、位置(xTbY+x, yTbY+y)におけるデブロッキングフィルタ処理の前に、再構築されたルマサンプルに等しく設定される。
- availTLがTRUEに等しいとき、x=-1、y=-1、-2である隣接左上ルマサンプルpY[x][y]が、位置(xTbY+x, yTbY+y)におけるデブロッキングフィルタ処理の前に、再構築されたルマサンプルに等しく設定される。
3. x=0..nTbW-1、y=0..nTbH-1であるダウンサンプリングされた同一位置のルマサンプルpDsY[x][y]は、次のように導出される。
- SubWidthC==1かつSubHeightC==1である場合、次のことが当てはまる。
- x=1..nTbW-1、y=1..nTbH-1であるpDsY[x][y]は次のように導出される。
pDstY[x][y]=pY[x][y]
//説明のための注記: 単なる説明として、YUV 4:4:4に対してフィルタなし。4:4:4であるとき(SubWidthCとSubHeightCの両方が1に等しい場合)、ダウンサンプリングは必要とされず、すなわち、フィルタリングは実行されない。これは、係数[1]を伴うフィルタ、すなわちバイパスフィルタとしても解釈され得る//
- それ以外の場合、以下のことがフィルタのセット{F3,F5,F6}に対して当てはまる。//説明のための注記:ここで、4:2:0または4:2:2のとき(SubWidthCとSubHeightCの両方が1に等しくない場合)、フィルタの係数を定義し、F2はダウンサンプリングフィルタの第1のセットと第2のセットの両方に属する//
- F3[0]=1、F3[1]=2、F3[2]=1
- SubWidthC==2かつSubHeightC==2である場合、
F5[0][1]=1、F5[1][1]=4、F3[2][1]=1、F5[1][0]=1、F5[1][2]=1
F6[0][1]=1、F6[1][1]=2、F6[2][1]=1
F6[0][2]=1、F6[1][2]=2、F6[2][2]=1
F2[0]=1、F2[1]=1
- それ以外の場合
F5[0][1]=0、F5[1][1]=8、F3[2][1]=0、F5[1][0]=0、F5[1][2]=0
F6[0][1]=2、F6[1][1]=4、F6[2][1]=2
F6[0][2]=0、F6[1][2]=0、F6[2][2]=0
F2[0]=2、F2[1]=0
- sps_cclm_colocated_chroma_flagが1に等しい場合、次のことが当てはまる。
- x=1..nTbW-1、y=1..nTbH-1であるpDsY[x][y]は、FをF5と設定することによって、次のように導出される。
pDsY[x][y]=
(F[1][0]*pY[SubWidthC*x][SubHeightC*y-1]+
+F[0][1]*pY[SubWidthC*x-1][SubHeightC*y]+
+F[1][1]*pY[SubWidthC*x][SubHeightC*y]+
+F[2][1]*pY[SubWidthC*x+1][SubHeightC*y]+
+F[1][2]*pY[SubWidthC*x][SubHeightC*y+1]+4)>>3//説明のための注記: F5は特許請求される第1のダウンサンプリングフィルタに対応する//
- availLがTRUEに等しい場合、F5に設定されたFについて、y=1..nTbH-1であるpDsY[0][y]は次のように導出される。
pDsY[0][y]=
(F[1][0]*pY[0][SubHeightC*y-1]+
+F[0][1]*pY[-1][SubHeightC*y]+
+F[1][1]*pY[0][SubHeightC*y]+
+F[2][1]*pY[1][SubHeightC*y]+
+F[1][2]*pY[0][SubHeightC*y+1]+4)>>3
- それ以外の場合、y=1..nTbH-1であるpDsY[0][y]は、F3に設定されたFについて、次のように導出される。
pDsY[0][y]=
(F[0]*pY[0][SubHeightC*y-1]+
+F[1]*pY[0][SubHeightC*y]+
+F[2]*pY[0][SubHeightC*y+1]+
+2)>>2
- availTがTRUEに等しい場合、x=1..nTbW-1であるpDsY[x][0]は、F5に設定されたFについて、次のように導出される。
pDsY[x][0]=
(F[1][0]*pY[SubWidthC*x][-1]+
+F[0][1]*pY[SubWidthC*x-1][0]+
+F[1][1]*pY[SubWidthC*x][0]+
+F[2][1]*pY[SubWidthC*x+1][0]+
+F[1][2]*pY[SubWidthC*x][1]+4)>>3
- それ以外の場合、x=1..nTbW-1であるpDsY[x][0]は、F3に設定されたFについて、次のように導出される。
pDsY[x][0]=
=(F[0]*pY[SubWidthC*x-1][0]+
+F[1]*pY[SubWidthC*x][0]+
+F[2]*pY[SubWidthC*x+1][0]+2)>>2
- availLがTRUEに等しく、availTがTRUEに等しい場合、pDsY[0][0]は、F5に設定されたFについて、次のように導出される。
pDsY[0][0]=
(F[1][0]*pY[0][-1]+
+F[0][1]*pY[-1][0]+
+F[1][1]*pY[0][0]+
+F[2][1]*pY[1][0]+
+F[1][2]*pY[0][1]+4)>>3
- そうではなく、availLがTRUEに等しく、availTがFALSEに等しい場合、pDsY[0][0]は、F3に設定されたFについて、次のように導出される。
pDsY[0][0]=
(F[0]*pY[-1][0]+
+F[1]*pY[0][0]+
+F[2]*pY[1][0]+
+2)>>2
- そうではなく、availLがFALSEに等しく、availTがTRUEに等しい場合、pDsY[0][0]は、F3に設定されたFについて、次のように導出される。
pDsY[0][0]=
(F[0]*pY[0][-1]+
+F[1]*pY[0][0]+
+F[2]*pY[0][1]+
+2)>>2
- そうではない(availLがFALSEに等しく、availTがFALSEに等しい)場合、pDsY[0][0]は次のように導出される。
pDsY[0][0]=pY[0][0]
- それ以外の場合、次のことが当てはまる。
- x=1..nTbW-1、y=0..nTbH-1であるpDsY[x][y]は、F6に設定されたFについて、次のように導出される。
pDsY[x][y]=
(F[0][1]*pY[SubWidthC*x-1][SubHeightC*y]+
+F[0][2]*pY[SubWidthC*x-1][SubHeightC*y+1]+
+F[1][1]*pY[SubWidthC*x][SubHeightC*y]+
+F[1][2]*pY[SubWidthC*x][SubHeightC*y+1]+
+F[2][1]*pY[SubWidthC*x+1][SubHeightC*y]+
+F[2][2]*pY[SubWidthC*x+1][SubHeightC*y+1]+4)>>3
- availLがTRUEに等しい場合、F6に設定されたFについて、y=0..nTbH-1であるpDsY[0][y]は次のように導出される。
pDsY[0][y]=
(F[0][1]*pY[-1][SubHeightC*y]+
+F[0][2]*pY[-1][SubHeightC*y+1]+
+F[1][1]*pY[0][SubHeightC*y]+
+F[1][2]*pY[0][SubHeightC*y+1]+
+F[2][1]*pY[1][SubHeightC*y]+
+F[2][2]*pY[1][SubHeightC*y+1]+4)>>3
- それ以外の場合、y=0..nTbH-1であるpDsY[0][y]は、F2に設定されたFについて、次のように導出される。
pDsY[0][y]=
(F[0]*pY[0][SubHeightC*y]+
+F[1]*pY[0][SubHeightC*y+1]1)>>1
//ステップ3は、それぞれのダウンサンプリングフィルタを使用して、現在のブロックのルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルを取得するための実装形態である。//
4. numSampLが0より大きいとき、選択された隣接左側クロマサンプルpSelC[idx]はp[-1][pickPosL[idx]]に等しく設定され、idx=0..(cntL-1)であり、idx=0..(cntL-1)である選択されたダウンサンプリングされた隣接左側ルマサンプルpSelDsY[idx]が、次のように導出される。
- 変数yはpickPosL[idx]に等しく設定される。
- SubWidthC==1かつSubHeightC==1である場合、次のことが当てはまる。
- pSelDsY[i]=pY[-1][y]
- それ以外の場合、次のことが当てはまる。
- sps_cclm_colocated_chroma_flagが1に等しい場合、次のことが当てはまる。
- y>0 || availTL==TRUEである場合、F5に設定されたFについて:
pSelDsY[idx]=
=F[1][0]*pY[-SubWidthC][SubHeightC*y-1]+
+F[0][1]*pY[-1-SubWidthC][SubHeightC*y]+
+F[1][1]*pY[-SubWidthC][SubHeightC*y]+
+F[2][1]*pY[1-SubWidthC][SubHeightC*y]+
+F[1][2]*pY[-SubWidthC][SubHeightC*y+1]+4)>>3
- それ以外の場合、F3に設定されたFについて:
pSelDsY[idx]=
(F[0]*pY[-1-SubWidthC][0]+
+F[1]*pY[-SubWidthC][0]+
+F[2]*pY[1-SubWidthC][0]+
+2)>>2
- それ以外の場合、F6に設定されたFについて、次のことが当てはまる。
pSelDsY[idx]=
=(F[0][1]*pY[-1-SubWidthC][SubHeightC*y]+
+F[0][2]*pY[-1-SubWidthC][SubHeightC*y+1]+
+F[1][1]*pY[-SubWidthC][SubHeightC*y]+
+F[1][2]*pY[-SubWidthC][SubHeightC*y+1]+
+F[2][1]*pY[1-SubWidthC][SubHeightC*y]+
+F[2][2]*pY[1-SubWidthC][SubHeightC*y+1]+4)>>3
//説明のための注記:ステップ4および5は、それぞれのダウンサンプリングフィルタを使用して、ルマブロックの選択された隣接ルマサンプルのダウンサンプリングされたルマ参照サンプルを取得するための実装形態である。//
5. numSampTが0より大きいとき、選択された隣接上側クロマサンプルpSelC[idx]はp[pickPosT[idx-cntL]][ -1]に等しく設定され、idx=cntL..(cntL+cntT-1)であり、idx=cntL..cntL+cntT-1であるダウンサンプリングされた隣接上側ルマサンプルpSelDsY[idx]が、次のように導出される。
- 変数xはpickPosT[idx-cntL]に等しく設定される。
- SubWidthC==1かつSubHeightC==1である場合、次のことが当てはまる。
- pSelDsY[idx]=pY[x][-1]
- それ以外の場合、次のことが当てはまる。
- sps_cclm_colocated_chroma_flagが1に等しい場合、次のことが当てはまる。
- x>0である場合:
- bCTUboundaryがFALSEに等しい場合、F5に設定されたFについて、次のことが当てはまる。
pSelDsY[idx]=
=(F[1][0]*pY[SubWidthC*x][ -1-SubHeightC]+
+F[0][1]*pY[SubWidthC*x-1][ -SubHeightC]+
+F[1][1]*pY[SubWidthC*x][ -SubHeightC]+
+F[2][1]*pY[SubWidthC*x+1][ -SubHeightC]+
+F[1][2]*pY[SubWidthC*x][1-SubHeightC]+4)>>3
- それ以外の場合(bCTUboundaryがTRUEに等しい)、F3に設定されたFについて、次のことが当てはまる。
pSelDsY[idx]=
=(F[0]*pY[SubWidthC*x-1][ -1]+
+F[1]*pY[SubWidthC*x][ -1]+
+F[2]*pY[SubWidthC*x+1][ -1]+
+2)>>2
- それ以外の場合:
- availTLがTRUEに等しく、bCTUboundaryがFALSEに等しい場合、F5に設定されたFについて、次のことが当てはまる。
pSelDsY[idx]=
F[1][0]*pY[-1][ -1-SubHeightC]+
+F[0][1]*pY[-1][-SubHeightC]+
+F[1][1]*pY[0][-SubHeightC]+
+F[2][1]*pY[1][-SubHeightC]+
+F[1][2]pY[-1][1-SubHeightC]+4)>>3
- そうではなく、availTLがTRUEに等しく、bCTUboundaryがTRUEに等しい場合、F3に設定されたFについて、次のことが当てはまる。
pSelDsY[idx]=
=(F[0]*pY[-1][-1]+
+F[1]*pY[0][-1]+
+F[2]*pY[1][-1]+
+2)>>2 (8-182)
- そうではなく、availTLがFALSEに等しく、bCTUboundaryがFALSEに等しい場合、F3に設定されたFについて、次のことが当てはまる。
pSelDsY[idx]=
=(F[0]*pY[0][-1]+
+F[1]*pY[0][-2]+
+F[2]*pY[0][-1]+
+2)>>2
- それ以外の場合(availTLがFALSEに等しく、bCTUboundaryがTRUEに等しい)、次のことが当てはまる。
pSelDsY[idx]=pY[0][-1]
- それ以外の場合、次のことが当てはまる。
- x>0である場合:
- bCTUboundaryがFALSEに等しい場合、F6に設定されたFについて、次のことが当てはまる。
pSelDsY[idx]=
=(F[0][1]*pY[SubWidthC*x-1][-2]+
+F[0][2]*pY[SubWidthC*x-1][-1]+
+F[1][1]*pY[SubWidthC*x][-2]+
+F[1][2]*pY[SubWidthC*x][-1]+
+F[2][1]*pY[SubWidthC*x+1][-2]+
+F[2][2]*pY[SubWidthC*x+1][-1]+4)>>3
- それ以外の場合(bCTUboundaryがTRUEに等しい)、F3に設定されたFについて、次のことが当てはまる。
pSelDsY[idx]=
=(F[0]*pY[SubWidthC*y-1][-1]+
+F[1]*pY[SubWidthC*y][-1]+
+F[2]*pY[SubWidthC*y+1][-1]+
+2)>>2
- それ以外の場合:
- availTLがTRUEに等しく、bCTUboundaryがFALSEに等しい場合、F6に設定されたFについて、次のことが当てはまる。
pSelDsY[idx]=
=(F[0][1]*pY[-1][-2]+
+F[0][2]*pY[-1][-1]+
+F[1][1]*pY[0][-2]+
+F[1][2]*pY[0][-1]+
+F[2][1]*pY[1][-2]+
+F[2][2]*pY[1][-1]+4)>>3
- そうではなく、availTLがTRUEに等しく、bCTUboundaryがTRUEに等しい場合、F3に設定されたFについて、次のことが当てはまる。
pSelDsY[idx]=
=(F[0]*pY[-1][-1]+
+F[1]*pY[0][-1]+
+F[2]*pY[1][-1]+
+2)>>2
- そうではなく、availTLがFALSEに等しく、bCTUboundaryがFALSEに等しい場合、F2に設定されたFについて、次のことが当てはまる。
pSelDsY[idx]=(F[1]*pY[0][-2]+F[0]*pY[0][-1]+1)>>1
- それ以外の場合(availTLがFALSEに等しく、bCTUboundaryがTRUEに等しい)、次のことが当てはまる。
pSelDsY[idx]=pY[0][-1]
//説明のための注記:ステップ4および5は、それぞれのダウンサンプリングフィルタを適用することによって、ルマブロックの選択された隣接ルマサンプルのダウンサンプリングされたルマ参照サンプルを取得するための実装形態である。//
6. cntT+cntLが0に等しくないとき、変数minY、maxY、minC、およびmaxCは、次のように導出される。
- cntT+cntLが2に等しいとき、pSelComp[3]をpSelComp[0]に等しく設定し、pSelComp[2]をpSelComp[1]に等しく設定し、pSelComp[0]をpSelComp[1]に等しく設定し、pSelComp[1]をpSelComp[3]に等しく設定し、CompはDsYおよびCにより置き換えられる。
- アレイminGrpIdx[]およびmaxGrpIdx[]は、minGrpIdx[0]=0、minGrpIdx[1]=2、maxGrpIdx[0]=1、maxGrpIdx[1]=3として設定される。
- pSelDsY[minGrpIdx[0]]>pSelDsY[minGrpIdx[1]]である場合、Swap(minGrpIdx[0], minGrpIdx[1])。
- pSelDsY[maxGrpIdx[0]]>pSelDsY[maxGrpIdx[1]]である場合、Swap(maxGrpIdx[0], maxGrpIdx[1])。
- pSelDsY[minGrpIdx[0]]>pSelDsY[maxGrpIdx[1]]である場合、Swap(minGrpIdx, maxGrpIdx)。
- pSelDsY[minGrpIdx[1]]>pSelDsY[maxGrpIdx[0]]である場合、Swap(minGrpIdx[1], maxGrpIdx[0])。
- maxY=( pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]]+1)>>1
- maxC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]]+1)>>1
- minY=(pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]]+1)>>1
- minC=(pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]]+1)>>1
7. 変数a、b、およびkは、次のように導出される。
- numSampLが0に等しく、numSampTが0に等しい場合、次のことが当てはまる。
k=0
a=0
b=1<<(BitDepthC-1)
- それ以外の場合、次のことが当てはまる。
diff=maxY-minY
- diffが0に等しくない場合、次のことが当てはまる。
diffC=maxC-minC
x=Floor(Log2(diff))
normDiff=((diff<<4)>>x)&15
x+=(normDiff!=0)?1:0
y=Floor(Log2(Abs(diffC)))+1
a=(diffC*(divSigTable[normDiff]|8)+2y-1)>>y
k=((3+x-y)<1)?1:3+x-y
a=((3+x-y)<1)?Sign(a)*15:a
b=minC-((a*minY)>>k)
ここで、divSigTable[]は次のように規定される。
divSigTable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0}
- それ以外の場合(diffが0に等しい)、次のことが当てはまる。
k=0
a=0
b=minC
//説明のための注記:ステップ6~7は、選択された隣接ルマサンプルのダウンサンプリングされたルマ参照サンプルおよびダウンサンプリングされたルマ参照サンプルに対応するクロマ参照サンプルに基づいて、1つまたは複数の線形モデル係数を決定するための実装形態であり、具体的には、線形モデル係数の決定は、minY、maxY、minC、およびmaxCに基づく。//
8. x=0..nTbW-1、y=0..nTbH-1である予測サンプルpredSamples[x][y]は次のように導出される。
predSamples[x][y]=Clip1C(((pDsY[x][y]*a)>>k)+b)//説明のための注記:ステップ8は、線形モデル係数およびルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルに基づいて、ルマブロックに対応するクロマブロックの予測サンプルを取得するための実装形態である。//
クロマフォーマット情報に基づいてダウンサンプリングフィルタのセットを決定するために構成される決定ユニット1201であって、クロマフォーマット情報が、現在のブロックが属するピクチャのクロマフォーマットを示す、決定ユニットと、
ダウンサンプリングフィルタのセットの中の(それから選択された)それぞれのダウンサンプリングフィルタを使用して、現在のブロックのルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプル、およびそのルマブロックの選択されたルマ参照サンプル(または選択されたルマ隣接サンプル)のダウンサンプリングされたルマ参照サンプルを取得するために構成されるフィルタリングユニット1203と、
ダウンサンプリングされたルマ参照サンプルおよびダウンサンプリングされたルマ参照サンプルに対応するクロマ参照サンプルに基づいて、1つまたは複数の線形モデル係数を決定するために構成される線形モデル導出ユニット1205と、
線形モデル係数およびルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルに基づいて、ルマブロックに対応するクロマブロックの予測サンプルを取得するために構成される予測ユニット1207とを備える。
- 現在のブロックが属するピクチャのクロマフォーマットに基づいて、ブロックに属するルマサンプル(各ルマサンプルなど)(すなわち、現在のブロックの内部サンプル)のためのフィルタを決定するステップを含み、具体的には、異なるルマサンプルは異なるフィルタに対応し得る。
- 現在のブロックに属するルマサンプル(各ルマサンプルなど)の位置において、再構築されたルマサンプルのエリアに決定されたフィルタを適用して、フィルタリングされた再構築されたルマサンプル(Rec'L[x, y]など)を取得すること、
- フィルタリングされた再構築されたルマサンプルに基づいて、線形モデル導出の入力として使用されるルマサンプルのセットを取得すること、および
線形モデル導出の線形モデル係数およびフィルタリングされた再構築されたルマサンプルに基づいて、成分間予測(成分間のルマからクロマへの予測またはCCLM予測など)を実行すること。
現在のブロックおよびクロマフォーマット内でのルマサンプルの位置に基づいて、フィルタを決定すること、または、
現在のブロック内でのルマサンプルのそれぞれの位置およびクロマフォーマットに基づいて、現在のブロックに属する複数のルマサンプルのためのそれぞれのフィルタを決定することを備える。現在のブロックに隣り合うサンプルが利用可能である場合、フィルタは、現在のブロックの境界エリアをフィルタリングするためにもそれらを使用し得ることが理解され得る。
現在のブロックが属するピクチャのクロマフォーマット、
現在のブロック内でのルマサンプルの位置、
現在のブロックに属するルマサンプルの数、
現在のブロックの幅と高さ、および
現在のブロック内でのルマサンプルに対する相対的なサブサンプリングされたクロマサンプルの位置
のうちの1つまたは複数に基づいてフィルタを決定することを備える。
サブサンプリングされたクロマサンプルが対応するルマサンプルと同一位置にあるとき、複数のフィルタと現在のブロックの幅および高さの値との間の第2または第3の関係(Table 2(表2)またはTable 3(表3)のいずれかなど)が、フィルタの決定のために使用される。
(
フィルタリングされた再構築されたルマサンプル(Rec'L[x,y]など)からサブサンプリングされる、再構築された境界ルマサンプルを備える。
predC(i,j)=α・recL'(i,j)+β
に基づいて取得される。
- 現在のブロックが属するピクチャのクロマフォーマットに基づいて、現在のブロックのルマ成分のためのフィルタを決定するステップと、
- 現在のブロックのルマ成分の再構築されたルマサンプルのエリア、および現在のブロックに隣接する選択された位置にあるルマサンプル(現在のブロックの左側または上側に隣接する1つまたはいくつかの行/列)に決定されたフィルタを適用し、フィルタリングされた再構築されたルマサンプル(たとえば、現在のブロックの内部のフィルタリングされた再構築されたルマサンプル(現在のブロックのルマ成分など))を取得するステップと、
線形モデル導出の入力としてのフィルタリングされた再構築されたルマサンプルに基づいて(たとえば、ルマサンプルのセットは、現在のブロックの内部のフィルタリングされた再構築されたルマサンプルおよび現在のブロックの外側のフィルタリングされた隣接ルマサンプルを含み、たとえば、決定されたフィルタは、現在のブロックの外側の隣接ルマサンプルにも適用され得る)、線形モデル係数を取得するステップと、
取得された線形モデル係数および現在のブロックのフィルタリングされた再構築されたルマサンプル(たとえば、現在のブロックの内部のフィルタリングされた再構築されたルマサンプル(現在のブロックのルマ成分など))に基づいて成分間予測を実行して、現在のクロマブロックの予測子を取得するステップとを備える。
現在のブロックおよびクロマフォーマット内でのルマサンプルの位置に基づいて、フィルタを決定すること、または、
現在のブロック内でのルマサンプルのそれぞれの位置およびクロマフォーマットに基づいて、現在のブロックに属する複数のルマサンプルのためのそれぞれのフィルタを決定することを備える。
サブサンプリング比情報(現在のブロックが属するピクチャのクロマフォーマットに従ってテーブルから取得され得る、SubWidthCおよびSubHeightCなど)、
現在のブロックが属するピクチャのクロマフォーマット(サブサンプリング比情報(SubWidthCおよびSubHeightCなど)を取得するためにクロマフォーマットが使用されるなど)、
現在のブロック内でのルマサンプルの位置、
現在のブロックに属するルマサンプルの数、
現在のブロックの幅と高さ、および/または
現在のブロック内でのルマサンプルに対する相対的なサブサンプリングされたクロマサンプルの位置
のうちの1つまたは複数に基づいてフィルタを決定することを備える。
サブサンプリングされたクロマサンプルが対応するルマサンプルと同一位置にあるとき、複数のフィルタとサブサンプリング比情報(SubWidthCおよびSubHeightCなど、または現在のブロックの幅および高さの値など)との間の第2または第3のあらかじめ設定された関係(Table 2(表2)またはTable 3(表3)のいずれかなど)が、フィルタの決定のために使用される。
第1の条件(SubWidthC==1およびSubHeightC==1などの、本明細書において定義されるテーブルから得られるサブサンプリング比情報など)が満たされない場合、次のことがフィルタのセット{F3,F5,F6}に対して当てはまる。
F3[0]=1, F3[1]=2, F3[2]=1
第2の条件(SubWidthC==2およびSubHeightC==2などの、テーブルから得られるサブサンプリング比情報など)が満たされる場合、
F5[0][1]=1、F5[1][1]=4、F3[2][1]=1、F5[1][0]=1、F5[1][2]=1
F6[0][1]=1、F6[1][1]=2、F6[2][1]=1
F6[0][2]=1、F6[1][2]=2、F6[2][2]=1
F2[0]=1、F2[1]=1
それ以外の場合(たとえば、第2の条件(SubWidthC==2およびSubHeightC==2などの、テーブルから得られるサブサンプリング比情報)が満たされない場合)、
F5[0][1]=0、F5[1][1]=8、F5[2][1]=0、F5[1][0]=0、F5[1][2]=0
F6[0][1]=2、F6[1][1]=4、F6[2][1]=2
F6[0][2]=0、F6[1][2]=0、F6[2][2]=0
F2[0]=2、F2[1]=0
(
フィルタリングされた再構築されたルマサンプル(Rec'L[x,y]など)からサブサンプリングされる、再構築された境界ルマサンプルを備える。
predC(i,j)=α・recL'(i,j)+β
に基づいて取得される。
本開示において説明されるような、線形モデル(成分間線形モデル(CCLM)または多方向線形モデル(MDLM)など)を使用してイントラ予測を実行するステップと、
複数のシンタックス要素を含むビットストリームを生成するステップとを備え、複数のシンタックス要素は、ブロックに属するルマサンプルのためのフィルタの選択(CCLMのルマフィルタ、特に、sps_cclm_colocated_chroma_flagなどのSPSフラグの選択など)を示すシンタックス要素を含む。
シンタックス要素の値が0または偽であるとき、フィルタは、線形モデルの決定および予測のためにルマサンプルに適用される。
複数のシンタックス要素をビットストリームから解析するステップであって、複数のシンタックス要素が、ブロックに属するルマサンプルのためのフィルタの選択(CCLMのルマフィルタ、特に、sps_cclm_colocated_chroma_flagなどのSPSフラグの選択など)を示すシンタックス要素を含む、ステップと、
本開示において説明されるように、示された線形モデル(CCLMなど)を使用してイントラ予測を実行するステップとを備える。
シンタックス要素の値が1または真であるとき、フィルタは、線形モデルの決定および予測のためにルマサンプルに適用されない。
- 現在のブロックが属するピクチャのクロマフォーマットに基づいて、ブロックに属するルマサンプルのためのフィルタを決定するために構成される、決定ユニットと、
- 現在のブロックに属するルマサンプルの位置において、再構築されたルマサンプルのエリアに決定されたフィルタを適用して、フィルタリングされた再構築されたルマサンプルを取得するために構成される、フィルタリングユニットと、
- フィルタリングされた再構築されたルマサンプルに基づいて、線形モデル導出の入力として使用されるルマサンプルのセットを取得するために構成される、取得ユニットと、
線形モデル導出の線形モデル係数およびフィルタリングされた再構築されたルマサンプルに基づいて、成分間予測を実行するために構成される、予測ユニットとを備える。
LMモードが適用され、かつ上と左の両方の隣接サンプルが利用可能であるとき、S[W'/4, -1]、S[3W'/4, -1]、S[-1, H'/4]、S[-1, 3H'/4]
LM-Aモードが適用されるとき、もしくは上の隣接サンプルのみが利用可能であるとき、S[W'/8, -1]、S[3W'/8, -1]、S[5W'/8, -1]、S[7W'/8, -1]
LM-Lモードが適用されるとき、もしくは左の隣接サンプルのみが利用可能であるとき、S[-1, H'/8]、S[-1, 3H'/8]、S[-1, 5H'/8]、S[-1, 7H'/8]
1つまたは複数のプロセッサと、プロセッサに結合されプロセッサによる実行のためのプログラミングを記憶する、非一時的コンピュータ可読記憶媒体とを備え、プロセッサによって実行されると、プログラミングは、第1から第3の態様のいずれか1つに従って方法を行うようにデコーダを構成する。
1つまたは複数のプロセッサと、プロセッサに結合されプロセッサによる実行のためのプログラミングを記憶する、非一時的コンピュータ可読記憶媒体とを備え、プロセッサによって実行されると、プログラミングは、第1から第3の態様のいずれか1つに従って方法を行うようにエンコーダを構成する。
- 水平方向および垂直方向におけるタップの数は3を超えない。
- 係数の値は2のべき乗である。
本出願において使用される数学演算子は、Cプログラミング言語において使用されるものと類似している。しかしながら、整数除算および算術シフト演算の結果はより正確に定義され、指数および実数値除算などの追加の演算が定義される。一般に、番号付けおよびカウントの表記法は0から開始し、たとえば、「第1の」は0番目と等価であり、「第2の」は1番目と等価である、などである。
以下の算術演算子は次のように定義される。
+ 加算
- 減算(2引数の演算子)または否定(単項前置演算子)
* 行列乗算を含む乗算
xy 指数。xのy乗を指定する。他の文脈では、指数として解釈されるものとして意図されない上付き文字のために、そのような表記が使用される。
/ 0への結果の切り捨てを伴う整数除算。たとえば、7/4および-7/-4は1へと切り捨てられ、-7/4および7/-4は-1へと切り捨てられる。
÷ 切り捨てまたは丸めが意図されない数学的な式における除算を表記するために使用される。
x%y 剰余。x≧0およびy>0である整数xおよびyだけに対して定義される、xをyで割った余り。
以下の論理演算子は次のように定義される。
x&&y xおよびyのブーリアン論理「積」
x||y xおよびyのブーリアン論理「和」
! ブーリアン論理「否定」
x?y:z xがTRUEである、または0に等しくない場合、yの値になり、それ以外の場合、zの値になる。
以下の関係演算子は次のように定義される。
> より大きい
≧ 以上
< より小さい
≦ 以下
== に等しい
!= に等しくない
以下のビットごとの演算子は次のように定義される。
& ビットごとの「積」。整数の引数について演算するとき、整数値の2の補数表現について演算する。別の引数より少ないビットを含む二進の引数について演算するとき、0に等しいさらなる上位ビットを追加することによって、より短い引数が延長される。
| ビットごとの「和」。整数の引数について演算するとき、整数値の2の補数表現について演算する。別の引数より少ないビットを含む二進の引数について演算するとき、0に等しいさらなる上位ビットを追加することによって、より短い引数が延長される。
^ ビットごとの「排他的論理和」整数の引数について演算するとき、整数値の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までの整数値をとり、x、y、およびzは整数であり、zはyより大きい。
以下の数学的な関数が定義される。
Atan(x) 逆三角タンジェント関数、引数xについて演算し、出力値はラジアンの単位で両端を含めて-π÷2からπ÷2の範囲にある。
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
は、以下の方式で記述され得る。
次のように.../...次のことが当てはまる:
- 条件0の場合、陳述0
- そうではなく、条件1の場合、陳述1
- ...
- それ以外の場合(残りの条件についての有益な所見)、陳述n
if(条件0a&&条件0b )
陳述0
else if(条件1a||条件1b )
陳述1
...
else
陳述n
は、以下の方式で記述され得る。
- 次のように.../...次のことが当てはまる:
- 以下の条件のすべてが真である場合、陳述0:
- 条件0a
- 条件0b
- そうではなく、以下の条件のうちの1つまたは複数が真である場合、陳述1:
- 条件1a
- 条件1b
- ...
- それ以外の場合、陳述n
if(条件0)
陳述0
if(条件1)
陳述1
は、以下の方式で記述され得る。
条件0のとき、陳述0
条件1のとき、陳述1
12 ソースデバイス
13 通信チャネル
14 デスティネーションデバイス
16 ピクチャソース
17 ピクチャデータ
18 プリプロセッサ
19 前処理されたピクチャデータ
20 エンコーダ
21 符号化されたピクチャデータ
22 通信インターフェース
28 通信インターフェース
30 ビデオデコーダ
31 復号されたピクチャデータ
32 ポストプロセッサ
33 後処理されたピクチャデータ
34 ディスプレイデバイス
40 コーデックシステム
41 イメージングデバイス
42 アンテナ
43 プロセッサ
44 メモリストア
45 ディスプレイデバイス
46 処理回路
201 入力
203 ピクチャブロック
204 残差計算ユニット
205 残差ブロック
206 変換処理ユニット
207 変換係数
208 量子化ユニット
209 量子化された係数
210 逆量子化ユニット
211 量子化解除された係数
212 逆変換処理ユニット
213 再構築された残差ブロック
214 再構築ユニット
215 再構築されたブロック
220 ループフィルタ
221 フィルタリングされたブロック
230 復号ピクチャバッファ
231 復号されたピクチャ
244 インター予測ユニット
254 イントラ予測ユニット
260 モード選択ユニット
262 区分ユニット
265 予測ブロック
266 シンタックス要素
270 エントロピー符号化ユニット
272 出力
304 エントロピー復号ユニット
309 量子化された係数
310 逆量子化ユニット
311 逆量子化された係数
312 逆変換処理ユニット
313 再構築された残差ブロック
314 再構築ユニット
315 再構築されたブロック
320 ループフィルタ
321 フィルタリングされたブロック
330 復号ピクチャバッファ
331 復号されたピクチャ
332 出力
344 インター予測ユニット
354 イントラ予測ユニット
360 モード適用ユニット
365 予測ブロック
366 シンタックス要素
400 ビデオコーディングデバイス
410 入口ポート
420 受信機ユニット
430 プロセッサ
440 送信機ユニット
450 出口ポート
460 メモリ
470 コーディングモジュール
500 装置
502 プロセッサ
504 メモリ
506 データ
508 オペレーティングシステム
510 アプリケーションプログラム
512 バス
518 ディスプレイ
700 CCLMイントラ予測
701 クロマブロック
703 クロマサンプル
705 隣接クロマ参照サンプル
706 左側テンプレート
707 上側テンプレート
711 ルマブロック
713 再構築されたルマサンプル
715 隣接ルマ参照サンプル
716 左側テンプレート
717 上側テンプレート
719 ダウンサンプリングされたルマ参照サンプル
901 サンプル
902 サンプル
903 サンプル
1200 デバイス
1201 決定ユニット
1203 フィルタリングユニット
1205 線形モデル導出ユニット
1207 予測ユニット
1500 機構
1511 ルマブロック
1512 ダウンサンプリングされたルマブロック
3100 コンテンツ供給システム
3102 キャプチャデバイス
3104 通信リンク
3106 端末デバイス
3108 スマートフォン/パッド
3110 コンピュータ/ラップトップ
3112 NVR/DVR
3114 TV
3116 セットトップボックス
3118 ビデオ会議システム
3120 ビデオ監視システム
3122 PDA
3124 車載デバイス
3126 ディスプレイ
3202 プロトコル進行ユニット
3204 逆多重化ユニット
3206 ビデオデコーダ
3208 オーディオデコーダ
3210 字幕デコーダ
3212 同期ユニット
3214 ビデオ/オーディオディスプレイ
3216 ビデオ/オーディオ/字幕ディスプレイ
クロマフォーマット情報に基づいて水平方向および垂直方向におけるサブサンプリング比情報を決定し、
サブサンプリング比情報に基づいてダウンサンプリングフィルタのセットを決定するように構成される。
4:2:0クロマフォーマットであるクロマフォーマットに対して、ダウンサンプリングフィルタの第1のセットが現在のブロックのルマブロックのために使用され、
4:2:2クロマフォーマットであるクロマフォーマットに対して、ダウンサンプリングフィルタの第2のセットが現在のブロックのルマブロックのために使用され、または、
4:4:4クロマフォーマットであるクロマフォーマットに対して、ダウンサンプリングフィルタの第3のセットが現在のブロックのルマブロックのために使用される。
変数SubWidthC=2およびSubHeightC=2であるとき、現在のブロックのルマブロックのためのダウンサンプリングフィルタの第1のセット(ダウンサンプリングフィルタ係数のセット)を決定すること、
SubWidthC=2およびSubHeightC=1であるとき、現在のブロックのルマブロックのためのダウンサンプリングフィルタの第2のセット(ダウンサンプリングフィルタ係数のセット)を決定すること、または、
SubWidthC=1およびSubHeightC=1であるとき、現在のブロックのルマブロックのためのダウンサンプリングフィルタの第3のセット(ダウンサンプリングフィルタ係数のセット)を決定することのために構成される。
フィルタリングユニットは、第1のダウンサンプリングフィルタを再構築されたルマサンプルの第1のセットに適用することによって、ルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルを取得し、再構築されたルマサンプルの第1のセットが、再構築されたルマサンプルの位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備え、
第1のダウンサンプリングフィルタを再構築されたルマサンプルの第2のセットに適用することによって、少なくとも1つの選択された参照ルマサンプルのダウンサンプリングされたルマ参照サンプルを取得し、再構築されたルマサンプルの第2のセットが、選択された参照ルマサンプルの位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備える、ように構成され、
第1のダウンサンプリングフィルタが、ダウンサンプリングフィルタのセットから選択される。
4:2:0クロマフォーマットが使用されるとき(SubWidthC=2およびSubHeightC=2)、第1のダウンサンプリングフィルタは2Dの分離不可能フィルタである。
フィルタリングユニットは、第2のダウンサンプリングフィルタを再構築されたルマサンプルの第3のセットに適用することによって、ルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルを取得し、再構築されたルマサンプルの第3のセットが、再構築されたルマサンプルの位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備え、
第2のダウンサンプリングフィルタを再構築されたルマサンプルの第4のセットに適用することによって、少なくとも1つの選択された参照ルマサンプルのダウンサンプリングされたルマ参照サンプルを取得し、再構築されたルマサンプルの第4のセットが、選択された参照ルマサンプルの位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備える、ように構成され、
第2のダウンサンプリングフィルタが、ダウンサンプリングフィルタのセットから選択される。
4:2:0クロマフォーマットが使用される場合(SubWidthC=2およびSubHeightC=2)、第2のダウンサンプリングフィルタは2Dの分離不可能フィルタである。
- クロマサンプルタイプ2、または
- クロマサンプルタイプ4
のいずれか1つを備えるときに発生する。
- クロマサンプルタイプ0、
- クロマサンプルタイプ1、
- クロマサンプルタイプ3、または
- クロマサンプルタイプ5
のいずれか1つを備えるときに発生する。
クロマフォーマットが4:4:4クロマフォーマットである場合、バイパスフィルタが使用され、それ以外の場合、フィルタのセット{F2,F3,F5,F6}が次のように決定される。
F3[0]=1、F3[1]=2、F3[2]=1
F5[i][j]=F6[i][j]=0、ただしi=0..2、j=0..2
クロマフォーマットが4:2:0クロマフォーマットである場合、
F5[0][1]=1、F5[1][1]=4、F5[2][1]=1、F5[1][0]=1、F5[1][2]=1
F6[0][1]=1、F6[1][1]=2、F6[2][1]=1
F6[0][2]=1、F6[1][2]=2、F6[2][2]=1
F2[0]=1、F2[1]=1
クロマフォーマットが4:2:2クロマフォーマットである場合、
F5[0][1]=0、F5[1][1]=8、F5[2][1]=0、F5[1][0]=0、F5[1][2]=0
F6[0][1]=2、F6[1][1]=4、F6[2][1]=2
F6[0][2]=0、F6[1][2]=0、F6[2][2]=0
F2[0]=2、F2[1]=0
F3[0]=1、F3[1]=2、F3[2]=1
F5[i][j]=F6[i][j]=0、ただしi=0..2、j=0..2
SubWidthC==2およびSubHeightC==2を含む少なくとも第2の条件が満たされる場合、
F5[0][1]=1、F5[1][1]=4、F5[2][1]=1、F5[1][0]=1、F5[1][2]=1
F6[0][1]=1、F6[1][1]=2、F6[2][1]=1
F6[0][2]=1、F6[1][2]=2、F6[2][2]=1
F2[0]=1、F2[1]=1
それ以外の場合、
F5[0][1]=0、F5[1][1]=8、F5[2][1]=0、F5[1][0]=0、F5[1][2]=0
F6[0][1]=2、F6[1][1]=4、F6[2][1]=2
F6[0][2]=0、F6[1][2]=0、F6[2][2]=0
F2[0]=2、F2[1]=0
ルマブロックの上にあり、L個の利用可能なクロマ参照サンプルに基づいて選択される、隣接ルマサンプル、または
ルマブロックの左にあり、L個の利用可能なクロマ参照サンプルに基づいて選択される、隣接ルマサンプルのうちの少なくとも1つを備える。
LMモードが適用され、かつ上と左の両方の隣接クロマサンプルが利用可能であるとき、S[W'/4, -1]、S[3W'/4, -1]、S[-1, H'/4]、S[-1, 3H'/4]であり、
LM-Aモードが適用されるとき、または上の隣接クロマサンプルのみが利用可能であるとき、S[W'/8, -1]、S[3W'/8, -1]、S[5W'/8, -1]、S[7W'/8, -1]であり、
LM-Lモードが適用されるとき、または左の隣接クロマサンプルのみが利用可能であるとき、S[-1, H'/8]、S[-1, 3H'/8]、S[-1, 5H'/8]、S[-1, 7H'/8]であるとして指定され、
クロマブロックの次元はW×Hであり、W'およびH'は、
LMモードが適用されるとき、W'=W、H'=Hであり、
LM-Aモードが適用されるとき、W'=W+Hであり、
LM-Lモードが適用されるとき、H'=H+Wであるとして設定される。
最大ルマ値と関連付けられる1つまたは複数のダウンサンプリングされたルマ参照サンプルの1つまたは複数の位置に少なくとも一部基づいて第1のクロマ値を取得し、
最小ルマ値と関連付けられる1つまたは複数のダウンサンプリングされたルマ参照サンプルの1つまたは複数の位置に少なくとも一部基づいて第2のクロマ値を取得し、
第1のクロマ値、第2のクロマ値、最大ルマ値、および最小ルマ値に基づいて、1つまたは複数の線形モデル係数を計算するように構成される。
インター予測モード(または可能なインター予測モード)のセットは、利用可能な参照ピクチャ(すなわち、たとえばDPB230に記憶されている、以前の少なくとも部分的に復号されたピクチャ)および他のインター予測パラメータ、たとえば、最良の一致する参照ブロックを探すために参照ピクチャの全体が使用されるか、もしくはその一部のみ、たとえば現在のブロックのエリアの周囲の探索ウィンドウエリアのみが使用されるか、ならびに/または、たとえばピクセル補間が適用されるかどうか、たとえば2分の1/セミペル補間が適用されるか否か、および/もしくは4分の1ペル補間が適用されるか否かに依存する。
インター予測ユニット344は、インター予測ユニット244(具体的には動き補償ユニット)と同一であってもよく、イントラ予測ユニット354は、イントラ予測ユニット254と機能的に同一であってもよく、(たとえばエントロピー復号ユニット304による、たとえば解析および/または復号によって)符号化されたピクチャデータ21から受信された区分および/もしくは予測パラメータまたはそれぞれの情報に基づいて、分割または区分の決定と予測を実行する。モード適用ユニット360は、再構築されたピクチャ、ブロック、またはそれぞれのサンプル(フィルタリングされた、またはフィルタリングされていない)に基づいて、ブロックごとに予測(イントラまたはインター予測)を実行して、予測ブロック365を取得するように構成され得る。
- numSampLとnumSampTの両方が0に等しい場合、次のことが当てはまる。
predSamples[x][y]=1<<(BitDepthC-1) (8-161)
- それ以外の場合、次の順序付けられたステップが適用される。
1. x=0..nTbW*2-1、y=0..nTbH*2-1である同一位置のルマサンプルpY[x][y]が、位置(xTbY+x, yTbY+y)におけるデブロッキングフィルタ処理の前に、再構築されたルマサンプルに等しく設定される。
2. 隣接ルマサンプルpY[x][y]が次のように導出される。
- numSampLが0より大きいとき、x=-1.. -3、y=0..2*numSampL-1である隣接左側ルマサンプルpY[x][y]が、位置(xTbY+x, yTbY+y)におけるデブロッキングフィルタ処理の前に、再構築されたルマサンプルに等しく設定される。
- numSampTが0より大きいとき、x=0..2*numSampT-1、y=-1, -2である隣接上側ルマサンプルpY[x][y]が、位置(xTbY+x, yTbY+y)におけるデブロッキングフィルタ処理の前に、再構築されたルマサンプルに等しく設定される。
- availTLがTRUEに等しいとき、x=-1、y=-1、-2である隣接左上ルマサンプルpY[x][y]が、位置(xTbY+x, yTbY+y)におけるデブロッキングフィルタ処理の前に、再構築されたルマサンプルに等しく設定される。
3. x=0..nTbW-1、y=0..nTbH-1であるダウンサンプリングされた同一位置のルマサンプルpDsY[x][y]は、次のように導出される。
- sps_cclm_colocated_chroma_flagが1に等しい場合、次のことが当てはまる。
- x=1..nTbW-1、y=1..nTbH-1であるpDsY[x][y]は次のように導出される。
pDsY[x][y]=(pY[2*x][2*y-1]+pY[2*x-1][2*y]+4*pY[2*x][2*y]+pY[2*x+1][2*y]+pY[2*x][2*y+1]+4)>>3 (8-162)
- availLがTRUEに等しい場合、y=1..nTbH-1であるpDsY[0][y]は次のように導出される。
pDsY[0][y]=(pY[0][2*y-1]+pY[-1][2*y]+4*pY[0][2*y]+pY[1][2*y]+pY[0][2*y+1]+4)>>3 (8-163)
- それ以外の場合、y=1..nTbH-1であるpDsY[0][y]は次のように導出される。
pDsY[0][y]=(pY[0][2*y-1]+2*pY[0][2*y]+pY[0][2*y+1]+2)>>2 (8-164)
- availTがTRUEに等しい場合、x=1..nTbW-1であるpDsY[x][0]は次のように導出される。
pDsY[x][0]=(pY[2*x][ -1]+pY[2*x-1][0]+4*pY[2*x][0]+pY[2*x+1][0]+pY[2*x][1]+4)>>3 (8-165)
- それ以外の場合、x=1..nTbW-1であるpDsY[x][0]は次のように導出される。
pDsY[x][0]=(pY[2*x-1][0]+2*pY[2*x][0]+pY[2*x+1][0]+2)>>2 (8-166)
- availLがTRUEに等しく、availTがTRUEに等しい場合、pDsY[0][0]は次のように導出される。
pDsY[0][0]=(pY[0][ -1]+pY[-1][0]+4*pY[0][0]+pY[1][0]+pY[0][1]+4)>>3 (8-167)
- そうではなく、availLがTRUEに等しく、availTがFALSEに等しい場合、pDsY[0][0]は次のように導出される。
pDsY[0][0]=(pY[-1][0]+2*pY[0][0]+pY[1][0]+2)>>2 (8-168)
- そうではなく、availLがFALSEに等しく、availTがTRUEに等しい場合、pDsY[0][0]は次のように導出される。
pDsY[0][0]=(pY[0][ -1]+2*pY[0][0]+pY[0][1]+2)>>2 (8-169)
- そうではない(availLがFALSEに等しく、availTがFALSEに等しい)場合、pDsY[0][0]は次のように導出される。
pDsY[0][0]=pY[0][0] (8-170)
- それ以外の場合、次のことが当てはまる。
- x=1..nTbW-1、y=0..nTbH-1であるpDsY[x][y]は次のように導出される。
pDsY[x][y]=(pY[2*x-1][2*y]+pY[2*x-1][2*y+1]+2*pY[2*x][2*y]+2*pY[2*x][2*y+1]+pY[2*x+1][2*y]+pY[2*x+1][2*y+1]+4)>>3 (8-171)
- availLがTRUEに等しい場合、y=0..nTbH-1であるpDsY[0][y]は次のように導出される。
pDsY[0][y]=(pY[-1][2*y]+pY[-1][2*y+1]+2*pY[0][2*y]+2*pY[0][2*y+1]+pY[1][2*y]+pY[1][2*y+1]+4)>>3 (8-172)
- それ以外の場合、y=0..nTbH-1であるpDsY[0][y]は次のように導出される。
pDsY[0][y]=(pY[0][2*y]+pY[0][2*y+1]+1)>>1 (8-173)
Claims (30)
- 線形モデルを使用してイントラ予測を実行するための方法であって、
クロマフォーマット情報に基づいてダウンサンプリングフィルタのセットを決定するステップであって、前記クロマフォーマット情報が、現在のブロックが属するピクチャのクロマフォーマットを示す、ステップと、
ダウンサンプリングフィルタの前記セットの中のそれぞれのダウンサンプリングフィルタを使用して、前記現在のブロックのルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプル、および前記ルマブロックの選択されたルマ参照サンプルのダウンサンプリングされたルマ参照サンプルを取得するステップと、
前記ダウンサンプリングされたルマ参照サンプルおよび前記ダウンサンプリングされたルマ参照サンプルに対応するクロマ参照サンプルに基づいて、1つまたは複数の線形モデル係数を決定するステップと、
前記線形モデル係数および前記ルマブロックの中の前記再構築されたルマサンプルの前記ダウンサンプリングされたルマサンプルに基づいて、前記ルマブロックに対応するクロマブロックの予測サンプルを取得するステップとを備える、方法。 - クロマフォーマット情報に基づいてダウンサンプリングフィルタのセットを決定する前記ステップが、
前記クロマフォーマット情報に基づいて水平方向および垂直方向におけるサブサンプリング比情報を決定するステップと、
前記サブサンプリング比情報に基づいてダウンサンプリングフィルタの前記セットを決定するステップとを備える、請求項1に記載の方法。 - 4:2:0クロマフォーマットである前記クロマフォーマットに対して、ダウンサンプリングフィルタの第1のセットが前記現在のブロックの前記ルマブロックのために使用され、
4:2:2クロマフォーマットである前記クロマフォーマットに対して、ダウンサンプリングフィルタの第2のセットが前記現在のブロックのルマブロックのために使用され、または、
4:4:4クロマフォーマットである前記クロマフォーマットに対して、ダウンサンプリングフィルタの第3のセットが前記現在のブロックのルマブロックのために使用される、請求項1に記載の方法。 - サブサンプリングされたクロマサンプルが、前記現在のブロック内で対応するルマサンプルと同一位置にあるとき、
ダウンサンプリングフィルタの前記セットの中のそれぞれのダウンサンプリングフィルタを使用して、前記現在のブロックのルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプル、および前記ルマブロックの選択されたルマ参照サンプルのダウンサンプリングされたルマ参照サンプルを取得する前記ステップが、
第1のダウンサンプリングフィルタを再構築されたルマサンプルの第1のセットに適用することによって、前記ルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルを取得するステップであって、再構築されたルマサンプルの前記第1のセットが、前記再構築されたルマサンプルの位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備える、ステップと、
前記第1のダウンサンプリングフィルタを再構築されたルマサンプルの第2のセットに適用することによって、少なくとも1つの選択された参照ルマサンプルのダウンサンプリングされたルマ参照サンプルを取得するステップであって、再構築されたルマサンプルの前記第2のセットが、前記選択された参照ルマサンプルの前記位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備える、ステップとを備え、
前記第1のダウンサンプリングフィルタが、ダウンサンプリングフィルタの前記セットから選択される、請求項1から3のいずれか一項に記載の方法。 - サブサンプリングされたクロマサンプルが、前記現在のブロック内で対応するルマサンプルと同一位置にないとき、
ダウンサンプリングフィルタの前記セットの中のそれぞれのダウンサンプリングフィルタを使用して、前記現在のブロックのルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプル、および前記ルマブロックの選択されたルマ参照サンプルのダウンサンプリングされたルマ参照サンプルを取得する前記ステップが、
第2のダウンサンプリングフィルタを再構築されたルマサンプルの第3のセットに適用することによって、前記ルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルを取得するステップであって、再構築されたルマサンプルの前記第3のセットが、前記再構築されたルマサンプルの位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備える、ステップと、
前記第2のダウンサンプリングフィルタを再構築されたルマサンプルの第4のセットに適用することによって、少なくとも1つの選択された参照ルマサンプルのダウンサンプリングされたルマ参照サンプルを取得するステップであって、再構築されたルマサンプルの前記第4のセットが、前記選択された参照ルマサンプルの前記位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備える、ステップとを備え、
前記第2のダウンサンプリングフィルタが、ダウンサンプリングフィルタの前記セットから選択される、請求項1から3のいずれか一項に記載の方法。 - 前記サブサンプリングされたクロマサンプルが前記現在のブロック内の前記対応するルマサンプルと同一位置にあるは、前記サブサンプリングされたクロマサンプルのクロマサンプルタイプが、
- クロマサンプルタイプ2、または
- クロマサンプルタイプ4
のいずれか1つを備えるときに発生する、請求項4に記載の方法。 - 前記サブサンプリングされたクロマサンプルが前記現在のブロック内の前記対応するルマサンプルと同一位置にないは、前記サブサンプリングされたクロマサンプルのクロマサンプルタイプが、
- クロマサンプルタイプ0、
- クロマサンプルタイプ1、
- クロマサンプルタイプ3、または
- クロマサンプルタイプ5
のいずれか1つを備えるときに発生する、請求項5に記載の方法。 - 前記クロマフォーマットが4:4:4クロマフォーマットであることを備える少なくとも1つの条件が満たされる場合、ダウサンプリングフィルタの前記セットがバイパスフィルタを備え、または、
前記クロマフォーマットが4:2:0クロマフォーマットであることを備える少なくとも1つの条件が満たされる場合、ダウサンプリングフィルタの前記セットがフィルタのセット{F2,F3,F5,F6}を備え、
F3[0]=1、F3[1]=2、F3[2]=1
F5[i][j]=F6[i][j]=0、ただしi=0..2、j=0..2
F5[0][1]=1、F5[1][1]=4、F5[2][1]=1、F5[1][0]=1、F5[1][2]=1
F6[0][1]=1、F6[1][1]=2、F6[2][1]=1
F6[0][2]=1、F6[1][2]=2、F6[2][2]=1
F2[0]=1、F2[1]=1、または、
前記クロマフォーマットが4:2:2クロマフォーマットであることを備える少なくとも1つの条件が満たされる場合、ダウサンプリングフィルタの前記セットがフィルタのセット{F2,F3,F5,F6}を備え、
F3[0]=1、F3[1]=2、F3[2]=1
F5[i][j]=F6[i][j]=0、ただしi=0..2、j=0..2
F5[0][1]=0、F5[1][1]=8、F5[2][1]=0、F5[1][0]=0、F5[1][2]=0
F6[0][1]=2、F6[1][1]=4、F6[2][1]=2
F6[0][2]=0、F6[1][2]=0、F6[2][2]=0
F2[0]=2,F2[1]=0
である、請求項1から7のいずれか一項に記載の方法。 - 水平方向および垂直方向における前記サブサンプリング比情報が、それぞれ、変数SubWidthCおよびSubHeightCの値によって表され、
SubWidthC==2およびSubHeightC==2であることを含む少なくとも1つの条件が満たされる場合、ダウサンプリングフィルタの前記セットがフィルタのセット{F2,F3,F5,F6}を備え、
F3[0]=1、F3[1]=2、F3[2]=1
F5[i][j]=F6[i][j]=0、ただしi=0..2、j=0..2
F5[0][1]=1,F5[1][1]=4,F5[2][1]=1,F5[1][0]=1,F5[1][2]=1
F6[0][1]=1、F6[1][1]=2、F6[2][1]=1
F6[0][2]=1、F6[1][2]=2、F6[2][2]=1
F2[0]=1、F2[1]=1
SubWidthC==2およびSubHeightC==1であることを含む少なくとも1つの条件が満たされる場合、ダウサンプリングフィルタの前記セットがフィルタのセット{F2,F3,F5,F6}を備え、
F3[0]=1、F3[1]=2、F3[2]=1
F5[i][j]=F6[i][j]=0、ただしi=0..2、j=0..2
F5[0][1]=0、F5[1][1]=8、F5[2][1]=0、F5[1][0]=0、F5[1][2]=0
F6[0][1]=2、F6[1][1]=4、F6[2][1]=2
F6[0][2]=0、F6[1][2]=0、F6[2][2]=0
F2[0]=2、F2[1]=0
である、請求項2から7のいずれか一項に記載の方法。 - 前記選択されたルマ参照サンプルが、
前記ルマブロックの上にあり、L個の利用可能なクロマ参照サンプルに基づいて選択される、隣接ルマサンプル、または
前記ルマブロックの左にあり、L個の利用可能なクロマ参照サンプルに基づいて選択される、隣接ルマサンプルのうちの少なくとも1つを備える、請求項1から9のいずれか一項に記載の方法。 - 前記利用可能なクロマ参照サンプルの前記位置が、
LMモードが適用され、かつ上と左の両方の隣接サンプルが利用可能であるとき、S[W'/4, -1]、S[3W'/4, -1]、S[-1, H'/4]、S[-1, 3H'/4]であり、
LM-Aモードが適用されるとき、もしくは前記上の隣接サンプルのみが利用可能であるとき、S[W'/8, -1]、S[3W'/8, -1]、S[5W'/8, -1]、S[7W'/8, -1]であり、または、
LM-Lモードが適用されるとき、もしくは前記左の隣接サンプルのみが利用可能であるとき、S[-1, H'/8]、S[-1, 3H'/8]、S[-1, 5H'/8]、S[-1, 7H'/8]であるとして指定され、
前記クロマブロックの次元がW×Hであり、W'およびH'が、
前記LMモードが適用されるとき、W'=W、H'=Hであり、
前記LM-Aモードが適用されるとき、W'=W+Hであり、
前記LM-Lモードが適用されるとき、H'=H+Wであるとして設定される、
請求項10に記載の方法。 - 前記選択されたルマ参照サンプルの前記ダウンサンプリングされたルマ参照サンプルおよび前記ダウンサンプリングされたルマ参照サンプルに対応するクロマ参照サンプルに基づいて1つまたは複数の線形モデル係数を決定する前記ステップが、
前記ダウンサンプリングされたルマ参照サンプルに基づいて最大ルマ値および最小ルマ値を決定するステップと、
前記最大ルマ値と関連付けられる1つまたは複数のダウンサンプリングされたルマ参照サンプルの1つまたは複数の位置に少なくとも一部基づいて第1のクロマ値を取得するステップと、
前記最小ルマ値と関連付けられる1つまたは複数のダウンサンプリングされたルマ参照サンプルの1つまたは複数の位置に少なくとも一部基づいて第2のクロマ値を取得するステップと、
前記第1のクロマ値、前記第2のクロマ値、前記最大ルマ値、および前記最小ルマ値に基づいて、前記1つまたは複数の線形モデル係数を計算するステップとを備える、請求項1から11のいずれか一項に記載の方法。 - 線形モデルを使用したイントラ予測のための装置であって、
クロマフォーマット情報に基づいてダウンサンプリングフィルタのセットを決定するように構成される決定ユニットであって、前記クロマフォーマット情報が、現在のブロックが属するピクチャのクロマフォーマットを示す、決定ユニットと、
ダウンサンプリングフィルタの前記セットの中のそれぞれのダウンサンプリングフィルタを使用して、前記現在のブロックのルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプル、および前記ルマブロックの選択されたルマ参照サンプルのダウンサンプリングされたルマ参照サンプルを取得するように構成されるフィルタリングユニットと、
前記ダウンサンプリングされたルマ参照サンプルおよび前記ダウンサンプリングされたルマ参照サンプルに対応するクロマ参照サンプルに基づいて、1つまたは複数の線形モデル係数を決定するように構成される線形モデル導出ユニットと、
前記線形モデル係数および前記ルマブロックの中の前記再構築されたルマサンプルの前記ダウンサンプリングされたルマサンプルに基づいて、前記ルマブロックに対応するクロマブロックの予測サンプルを取得するように構成される予測処理ユニットとを備える、装置。 - 前記決定ユニットが、
前記クロマフォーマット情報に基づいて水平方向および垂直方向におけるサブサンプリング比情報を決定し、
前記サブサンプリング比情報に基づいてダウンサンプリングフィルタの前記セットを決定するように構成される、請求項13に記載の装置。 - 4:2:0クロマフォーマットである前記クロマフォーマットに対して、ダウンサンプリングフィルタの第1のセットが前記現在のブロックの前記ルマブロックのために使用され、
4:2:2クロマフォーマットである前記クロマフォーマットに対して、ダウンサンプリングフィルタの第2のセットが前記現在のブロックのルマブロックのために使用され、または、
4:4:4クロマフォーマットである前記クロマフォーマットに対して、ダウンサンプリングフィルタの第3のセットが前記現在のブロックのルマブロックのために使用される、請求項13に記載の装置。 - サブサンプリングされたクロマサンプルが、前記現在のブロック内で対応するルマサンプルと同一位置にあるとき、
前記フィルタリングユニットが、第1のダウンサンプリングフィルタを再構築されたルマサンプルの第1のセットに適用することによって、前記ルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルを取得し、再構築されたルマサンプルの前記第1のセットが、前記再構築されたルマサンプルの位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備え、
前記第1のダウンサンプリングフィルタを再構築されたルマサンプルの第2のセットに適用することによって、少なくとも1つの選択された参照ルマサンプルのダウンサンプリングされたルマ参照サンプルを取得し、再構築されたルマサンプルの前記第2のセットが、前記選択された参照ルマサンプルの前記位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備える、ように構成され、
前記第1のダウンサンプリングフィルタが、ダウンサンプリングフィルタの前記セットから選択される、請求項13から15のいずれか一項に記載の装置。 - サブサンプリングされたクロマサンプルが、前記現在のブロック内で対応するルマサンプルと同一位置にないとき、
前記フィルタリングユニットが、第2のダウンサンプリングフィルタを再構築されたルマサンプルの第3のセットに適用することによって、前記ルマブロックの中の再構築されたルマサンプルのダウンサンプリングされたルマサンプルを取得し、再構築されたルマサンプルの前記第3のセットが、前記再構築されたルマサンプルの位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備え、
前記第2のダウンサンプリングフィルタを再構築されたルマサンプルの第4のセットに適用することによって、少なくとも1つの選択された参照ルマサンプルのダウンサンプリングされたルマ参照サンプルを取得し、再構築されたルマサンプルの前記第4のセットが、前記選択された参照ルマサンプルの前記位置に水平および/または垂直に隣り合う位置にある再構築されたルマサンプルを備える、ように構成され、
前記第2のダウンサンプリングフィルタが、ダウンサンプリングフィルタの前記セットから選択される、請求項13から15のいずれか一項に記載の装置。 - 前記サブサンプリングされたクロマサンプルが前記現在のブロック内の前記対応するルマサンプルと同一位置にあるは、前記サブサンプリングされたクロマサンプルのクロマサンプルタイプが、
- クロマサンプルタイプ2、または
- クロマサンプルタイプ4
のいずれか1つを備えるときに発生する、請求項16に記載の装置。 - 前記サブサンプリングされたクロマサンプルが前記現在のブロック内の前記対応するルマサンプルと同一位置にないは、前記サブサンプリングされたクロマサンプルのクロマサンプルタイプが、
- クロマサンプルタイプ0、
- クロマサンプルタイプ1、
- クロマサンプルタイプ3、または
- クロマサンプルタイプ5
のいずれか1つを備えるときに発生する、請求項17に記載の装置。 - 前記決定ユニットがダウンサンプリングフィルタのセットを決定するように構成され、
前記クロマフォーマットが4:4:4クロマフォーマットであることを備える少なくとも1つの条件が満たされる場合、ダウサンプリングフィルタの前記セットがバイパスフィルタを備え、または、
前記クロマフォーマットが4:2:0クロマフォーマットであることを備える少なくとも1つの条件が満たされる場合、ダウサンプリングフィルタの前記セットがフィルタのセット{F2,F3,F5,F6}を備え、
F3[0]=1、F3[1]=2、F3[2]=1
F5[i][j]=F6[i][j]=0、ただしi=0..2、j=0..2
F5[0][1]=1、F5[1][1]=4、F5[2][1]=1、F5[1][0]=1、F5[1][2]=1
F6[0][1]=1、F6[1][1]=2、F6[2][1]=1
F6[0][2]=1、F6[1][2]=2、F6[2][2]=1
F2[0]=1、F2[1]=1、または、
前記クロマフォーマットが4:2:2クロマフォーマットであることを備える少なくとも1つの条件が満たされる場合、ダウサンプリングフィルタの前記セットがフィルタのセット{F2,F3,F5,F6}を備え、
F3[0]=1、F3[1]=2、F3[2]=1
F5[i][j]=F6[i][j]=0、ただしi=0..2、j=0..2
F5[0][1]=0、F5[1][1]=8、F5[2][1]=0、F5[1][0]=0、F5[1][2]=0
F6[0][1]=2、F6[1][1]=4、F6[2][1]=2
F6[0][2]=0、F6[1][2]=0、F6[2][2]=0
F2[0]=2、F2[1]=0
である、請求項13から19のいずれか一項に記載の装置。 - 水平方向および垂直方向における前記サブサンプリング比情報が、それぞれ、変数SubWidthCおよびSubHeightCの値によって表され、
前記決定ユニットがダウンサンプリングフィルタの前記セットを決定するように構成され、
SubWidthC==2およびSubHeightC==2であることを含む少なくとも1つの条件が満たされる場合、ダウサンプリングフィルタの前記セットがフィルタのセット{F2,F3,F5,F6}を備え、
F3[0]=1、F3[1]=2、F3[2]=1
F5[i][j]=F6[i][j]=0、ただしi=0..2、j=0..2
F5[0][1]=1、F5[1][1]=4、F5[2][1]=1、F5[1][0]=1、F5[1][2]=1
F6[0][1]=1、F6[1][1]=2、F6[2][1]=1
F6[0][2]=1、F6[1][2]=2、F6[2][2]=1
F2[0]=1、F2[1]=1
SubWidthC==2およびSubHeightC==1であることを含む少なくとも1つの条件が満たされる場合、ダウサンプリングフィルタの前記セットがフィルタのセット{F2,F3,F5,F6}を備え、
F3[0]=1、F3[1]=2、F3[2]=1
F5[i][j]=F6[i][j]=0、ただしi=0..2、j=0..2
F5[0][1]=0、F5[1][1]=8、F5[2][1]=0、F5[1][0]=0、F5[1][2]=0
F6[0][1]=2、F6[1][1]=4、F6[2][1]=2
F6[0][2]=0、F6[1][2]=0、F6[2][2]=0
F2[0]=2、F2[1]=0
である、請求項14から19のいずれか一項に記載の装置。 - 前記選択されたルマ参照サンプルが、
前記ルマブロックの上にあり、L個の利用可能なクロマ参照サンプルに基づいて選択される、隣接ルマサンプル、または
前記ルマブロックの左にあり、L個の利用可能なクロマ参照サンプルに基づいて選択される、隣接ルマサンプルのうちの少なくとも1つを備える、請求項13から21のいずれか一項に記載の装置。 - 前記利用可能なクロマ参照サンプルの前記位置が、
LMモードが適用され、かつ上と左の両方の隣接クロマサンプルが利用可能であるとき、S[W'/4, -1]、S[3W'/4, -1]、S[-1, H'/4]、S[-1, 3H'/4]であり、
LM-Aモードが適用されるとき、もしくは上の隣接クロマサンプルのみが利用可能であるとき、S[W'/8, -1]、S[3W'/8, -1]、S[5W'/8, -1]、S[7W'/8, -1]であり、または、
LM-Lモードが適用されるとき、もしくは左の隣接クロマサンプルのみが利用可能であるとき、S[-1, H'/8]、S[-1, 3H'/8]、S[-1, 5H'/8]、S[-1, 7H'/8]であるとして指定され、
前記クロマブロックの次元がW×Hであり、W'およびH'が、
前記LMモードが適用されるとき、W'=W、H'=Hであり、
前記LM-Aモードが適用されるとき、W'=W+Hであり、
前記LM-Lモードが適用されるとき、H'=H+Wであるとして設定される、
請求項22に記載の装置。 - 前記線形モデル導出ユニットが、前記ダウンサンプリングされたルマ参照サンプルに基づいて最大ルマ値および最小ルマ値を決定し、前記最大ルマ値と関連付けられる1つまたは複数のダウンサンプリングされたルマ参照サンプルの1つまたは複数の位置に少なくとも一部基づいて、第1のクロマ値を取得し、前記最小ルマ値と関連付けられる1つまたは複数のダウンサンプリングされたルマ参照サンプルの1つまたは複数の位置に少なくとも一部基づいて、第2のクロマ値を取得し、前記第1のクロマ値、前記第2のクロマ値、前記最大ルマ値、および前記最小ルマ値に基づいて、1つまたは複数の線形モデル係数を計算するように構成される、請求項13から23のいずれか一項に記載の装置。
- 請求項1から12のいずれか一項に記載の方法を行うための処理回路を備える、エンコーダ(20)。
- 請求項1から12のいずれか一項に記載の方法を行うための処理回路を備える、デコーダ(30)。
- 請求項1から12のいずれか一項に記載の方法を実行するためのプログラムコードを備える、コンピュータプログラム製品。
- コンピュータデバイスによって実行されると、前記コンピュータデバイスに、請求項1から12のいずれか一項に記載の方法を実行させるプログラムコードを搬送する、非一時的コンピュータ可読媒体。
- デコーダであって、
1つまたは複数のプロセッサと、
前記プロセッサに結合され前記プロセッサによる実行のためのプログラミングを記憶する、非一時的コンピュータ可読記憶媒体とを備え、前記プロセッサによって実行されると、前記プログラミングが、請求項1から12のいずれか一項に記載の方法を行うように前記デコーダを構成する、デコーダ。 - エンコーダであって、
1つまたは複数のプロセッサと、
前記プロセッサに結合され前記プロセッサによる実行のためのプログラミングを記憶する、非一時的コンピュータ可読記憶媒体とを備え、前記プロセッサによって実行されると、前記プログラミングが、請求項1から12のいずれか一項に記載の方法を行うように前記エンコーダを構成する、エンコーダ。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962809555P | 2019-02-22 | 2019-02-22 | |
US62/809,555 | 2019-02-22 | ||
US201962825796P | 2019-03-28 | 2019-03-28 | |
US201962825021P | 2019-03-28 | 2019-03-28 | |
US62/825,796 | 2019-03-28 | ||
US62/825,021 | 2019-03-28 | ||
PCT/CN2020/076466 WO2020169113A1 (en) | 2019-02-22 | 2020-02-24 | Method and apparatus for intra prediction using linear model |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022521757A true JP2022521757A (ja) | 2022-04-12 |
Family
ID=72143758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021549529A Pending JP2022521757A (ja) | 2019-02-22 | 2020-02-24 | 線形モデルを使用したイントラ予測のための方法および装置 |
Country Status (12)
Country | Link |
---|---|
US (1) | US20210385440A1 (ja) |
EP (1) | EP3928517A4 (ja) |
JP (1) | JP2022521757A (ja) |
KR (1) | KR20210125086A (ja) |
CN (7) | CN116418981A (ja) |
AU (1) | AU2020226573A1 (ja) |
BR (1) | BR112021016560A2 (ja) |
CA (1) | CA3131027A1 (ja) |
CL (1) | CL2021002220A1 (ja) |
MX (1) | MX2021010130A (ja) |
WO (1) | WO2020169113A1 (ja) |
ZA (1) | ZA202106297B (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230107417A (ko) * | 2019-12-30 | 2023-07-14 | 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 | 비디오 데이터의 크로마 및 루마 성분의 교차 성분결정 |
KR20230002432A (ko) | 2020-04-18 | 2023-01-05 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 교차 성분 예측을 위한 사용 제한 |
WO2023132508A1 (ko) * | 2022-01-04 | 2023-07-13 | 현대자동차주식회사 | 크로마 성분을 위한 템플릿 기반 인트라 모드 유도를 위한 방법 |
WO2023197192A1 (zh) * | 2022-04-12 | 2023-10-19 | Oppo广东移动通信有限公司 | 编解码方法、装置、编码设备、解码设备以及存储介质 |
EP4262206A1 (en) * | 2022-04-14 | 2023-10-18 | FG Innovation Company Limited | Method for determining specific linear model and video processing device |
WO2024005545A1 (ko) * | 2022-06-29 | 2024-01-04 | 엘지전자 주식회사 | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 |
WO2024010359A1 (ko) * | 2022-07-05 | 2024-01-11 | 엘지전자 주식회사 | 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012164939A1 (ja) * | 2011-06-03 | 2012-12-06 | パナソニック株式会社 | 画像符号化方法および画像復号化方法 |
WO2012175646A1 (en) * | 2011-06-22 | 2012-12-27 | Canon Kabushiki Kaisha | Method and device for processing colour information in an image |
JP2014523698A (ja) * | 2011-06-28 | 2014-09-11 | サムスン エレクトロニクス カンパニー リミテッド | 画像の輝度成分を用いて画像の色差成分を予測する方法及び予測装置 |
WO2019054200A1 (ja) * | 2017-09-15 | 2019-03-21 | ソニー株式会社 | 画像処理装置および方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8023569B2 (en) * | 2005-12-15 | 2011-09-20 | Sharp Laboratories Of America, Inc. | Methods and systems for block-based residual upsampling |
US8724711B2 (en) * | 2011-07-12 | 2014-05-13 | Intel Corporation | Luma-based chroma intra prediction |
CN103369315B (zh) * | 2012-04-06 | 2016-08-24 | 华为技术有限公司 | 色度分量的帧内预测模式的编码、解码方法、设备及系统 |
US10455249B2 (en) * | 2015-03-20 | 2019-10-22 | Qualcomm Incorporated | Downsampling process for linear model prediction mode |
JP2018056685A (ja) * | 2016-09-27 | 2018-04-05 | 株式会社ドワンゴ | 画像符号化装置、画像符号化方法、及び画像符号化プログラム、並びに、画像復号装置、画像復号方法、及び画像復号プログラム |
US11025903B2 (en) * | 2017-01-13 | 2021-06-01 | Qualcomm Incorporated | Coding video data using derived chroma mode |
CN117354503A (zh) * | 2017-07-06 | 2024-01-05 | Lx 半导体科技有限公司 | 图像编码/解码方法、发送方法和数字存储介质 |
CN109257605B (zh) * | 2017-07-13 | 2021-11-19 | 华为技术有限公司 | 图像处理方法、设备及系统 |
-
2020
- 2020-02-24 CN CN202310491930.0A patent/CN116418981A/zh active Pending
- 2020-02-24 KR KR1020217029813A patent/KR20210125086A/ko unknown
- 2020-02-24 CN CN202310493028.2A patent/CN117278744A/zh active Pending
- 2020-02-24 CA CA3131027A patent/CA3131027A1/en active Pending
- 2020-02-24 JP JP2021549529A patent/JP2022521757A/ja active Pending
- 2020-02-24 CN CN202310494272.0A patent/CN116437077A/zh active Pending
- 2020-02-24 MX MX2021010130A patent/MX2021010130A/es unknown
- 2020-02-24 CN CN202310490443.2A patent/CN116506599A/zh active Pending
- 2020-02-24 EP EP20758453.3A patent/EP3928517A4/en active Pending
- 2020-02-24 CN CN202310493300.7A patent/CN117041552A/zh active Pending
- 2020-02-24 WO PCT/CN2020/076466 patent/WO2020169113A1/en unknown
- 2020-02-24 CN CN202310493322.3A patent/CN116405668A/zh active Pending
- 2020-02-24 AU AU2020226573A patent/AU2020226573A1/en active Pending
- 2020-02-24 CN CN202080016082.2A patent/CN113545063B/zh active Active
- 2020-02-24 BR BR112021016560-6A patent/BR112021016560A2/pt unknown
-
2021
- 2021-08-20 CL CL2021002220A patent/CL2021002220A1/es unknown
- 2021-08-20 US US17/407,554 patent/US20210385440A1/en active Pending
- 2021-08-30 ZA ZA2021/06297A patent/ZA202106297B/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012164939A1 (ja) * | 2011-06-03 | 2012-12-06 | パナソニック株式会社 | 画像符号化方法および画像復号化方法 |
WO2012175646A1 (en) * | 2011-06-22 | 2012-12-27 | Canon Kabushiki Kaisha | Method and device for processing colour information in an image |
JP2014523698A (ja) * | 2011-06-28 | 2014-09-11 | サムスン エレクトロニクス カンパニー リミテッド | 画像の輝度成分を用いて画像の色差成分を予測する方法及び予測装置 |
WO2019054200A1 (ja) * | 2017-09-15 | 2019-03-21 | ソニー株式会社 | 画像処理装置および方法 |
Non-Patent Citations (1)
Title |
---|
WANG, MENG ET AL.: "CE3-related: Modified linear model derivation for CCLM modes", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 13TH MEETING: MARR, vol. JVET-M0274 (version 1), JPN6022055106, 3 January 2019 (2019-01-03), ISSN: 0004956068 * |
Also Published As
Publication number | Publication date |
---|---|
WO2020169113A1 (en) | 2020-08-27 |
CN116506599A (zh) | 2023-07-28 |
CN117278744A (zh) | 2023-12-22 |
KR20210125086A (ko) | 2021-10-15 |
CN117041552A (zh) | 2023-11-10 |
AU2020226573A1 (en) | 2021-09-30 |
EP3928517A4 (en) | 2022-04-27 |
US20210385440A1 (en) | 2021-12-09 |
CN113545063B (zh) | 2023-04-28 |
EP3928517A1 (en) | 2021-12-29 |
CN116405668A (zh) | 2023-07-07 |
CL2021002220A1 (es) | 2022-05-06 |
BR112021016560A2 (pt) | 2021-10-26 |
CN113545063A (zh) | 2021-10-22 |
CA3131027A1 (en) | 2020-08-27 |
CN116437077A (zh) | 2023-07-14 |
MX2021010130A (es) | 2021-11-12 |
CN116418981A (zh) | 2023-07-11 |
ZA202106297B (en) | 2022-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210344915A1 (en) | Encoder, a decoder and corresponding methods of intra prediction | |
US10986336B2 (en) | Encoder, a decoder and corresponding methods for intra prediction | |
JP7332703B2 (ja) | クロマサブブロックのアフィンベースのインター予測のための方法及び装置 | |
EP4322531A2 (en) | An encoder, a decoder and corresponding methods harmonizing matrix-based intra prediction and secoundary core selection | |
JP2022521757A (ja) | 線形モデルを使用したイントラ予測のための方法および装置 | |
US11388422B2 (en) | Encoder, a decoder and corresponding methods related to intra prediction mode | |
JP7314300B2 (ja) | イントラ予測のための方法および装置 | |
AU2020247242B2 (en) | Method and apparatus for intra smoothing | |
JP2023126795A (ja) | ビデオコーディングにおけるクロマイントラ予測のための方法及び装置 | |
AU2024201152A1 (en) | An encoder, a decoder and corresponding methods using intra mode coding for intra prediction | |
WO2021025597A1 (en) | Method and apparatus of sample adaptive offset in-loop filter with application region size constraint | |
WO2021057755A1 (en) | An encoder, a decoder and corresponding methods of complexity reduction on intra prediction for the planar mode | |
US20220321888A1 (en) | Method and apparatus of position dependent prediction combination for oblique directional intra prediction | |
US20240137527A1 (en) | Encoder, a decoder and corresponding methods related to intra prediction mode | |
WO2020182079A1 (en) | An encoder, a decoder and corresponding methods using intra mode coding for intra prediction | |
NZ780730B2 (en) | Method and apparatus for intra-prediction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211022 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211022 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230104 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20230404 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230605 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230919 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231219 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20240318 |