JP7384912B2 - 映像符号化におけるイントラブロックコピーのためのバッファにおけるデータ記憶 - Google Patents
映像符号化におけるイントラブロックコピーのためのバッファにおけるデータ記憶 Download PDFInfo
- Publication number
- JP7384912B2 JP7384912B2 JP2021543342A JP2021543342A JP7384912B2 JP 7384912 B2 JP7384912 B2 JP 7384912B2 JP 2021543342 A JP2021543342 A JP 2021543342A JP 2021543342 A JP2021543342 A JP 2021543342A JP 7384912 B2 JP7384912 B2 JP 7384912B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- buffer
- current video
- current
- samples
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000000872 buffer Substances 0.000 title claims description 373
- 238000013500 data storage Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims description 296
- 239000013598 vector Substances 0.000 claims description 198
- 238000012545 processing Methods 0.000 claims description 73
- 238000006243 chemical reaction Methods 0.000 claims description 65
- 230000009466 transformation Effects 0.000 claims description 58
- 238000003672 processing method Methods 0.000 claims description 48
- 230000000007 visual effect Effects 0.000 claims description 48
- 238000001914 filtration Methods 0.000 claims description 38
- 230000015654 memory Effects 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 24
- 229910052757 nitrogen Inorganic materials 0.000 claims description 8
- 239000000523 sample Substances 0.000 description 146
- 230000008569 process Effects 0.000 description 110
- 238000013461 design Methods 0.000 description 21
- 230000003044 adaptive effect Effects 0.000 description 14
- 101150039623 Clip1 gene Proteins 0.000 description 12
- 238000009795 derivation Methods 0.000 description 11
- 239000011449 brick Substances 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 9
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 8
- 238000003491 array Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000001419 dependent effect Effects 0.000 description 6
- 241000023320 Luma <angiosperm> Species 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 239000013074 reference sample Substances 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 239000010754 BS 2869 Class F Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 239000012723 sample buffer Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 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/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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
-
- 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/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
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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/146—Data rate or code amount at the encoder output
-
- 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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/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/1883—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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/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
-
- 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
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
- H04N19/426—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
Description
本願は、2019年2月2日出願の国際特許出願PCT/CN2019/074598号の優先権及び利益を適時に主張する、2020年2月2日出願の国際特許出願PCT/CN2020/074156号に基づく。法に基づくすべての目的のために、上記出願の開示全体は、本明細書の開示の一部として参照により援用される。
変数offsetXおよびoffsetYは、以下のように導出される。
offsetX=(ChromaArrayType==0)?0:(mvCLX[0]&0x7?2:0) (8-104)
offsetY=(ChromaArrayType==0)?0:(mvCLX[1]&0x7?2:0) (8-105)
参照ピクチャが現在のピクチャである場合、輝度動きベクトルmvLXは、以下の制約に従うべきであることが、ビットストリーム適合性の要件である。
- 6.4.1項で規定されたようなz走査順序ブロックの可用性に対する導出処理が、(xCb,yCb)と等しく設定された(xCurr,yCurr)と、(xPb+(mvLX[0]>>2)-offsetX,yPb+(mvLX[1]>>2)-offsetY)に等しく設定された近傍の輝度位置(xNbY,yNbY)と、が入力として呼び出されると、出力はTRUEとなる。
- 6.4.1項に規定されたようなz走査順序ブロックの可用性に対する導出処理が、(xCb,yCb)と等しく設定された(xCurr,yCurr)と、(xPb+(mvLX[0]>>2)+nPbW-1+offsetX、yPb+(mvLX[1]>>2)+nPbI-I-1+offsetY)と等しく設定された近傍の輝度位置(xNbY,yNbY)と、が入力として呼び出されると、出力はTRUEとなる。
- 次の条件の一方または両方がtrueであること
- (mvLX[0]>>2)の値+nPbW+xB1+offsetXが0以下である。
- (mvLX[1]>>2)の値+nPbH+yB1+offsetYが0以下である。
- 次の条件がtrueとなること。
(xPb+(mvLX[0]>>2)+nPbSw-1+offsetX)/CtbSizeY-xCb/CtbSizeY<=yCb/CtbSizeY-(yPb+(mvLX[1]>>2)+nPbSh-1+offsetY)/CtbSizeY (8-106).
1)コロケーションされた輝度ブロックの輝度CUの各々は、CPRモードで符号化されるべきである。
2)輝度4×4ブロック’BVの各々は、まず、クロマブロックのBVに変換され、クロマブロックのBVは、有効なBVである。
1)BVによって特定される参照ブロックのすべてのサンプルは、制限された検索範囲内にあるべきである(例えば、現在のVVC設計において同じCTU内にある)。
2)BVによって特定された参照ブロックのすべてのサンプルが再構成されている。
y=((m*x+2FP_PREC-1)>>FP_PREC)+c
- イントラの場合、再構成された輝度を平均する。
- インターの場合、予測輝度を平均する。
sps_reshaper_enabled_flagが1と等しい場合は、符号化映像シーケンス(CVS)においてリシェイパが使用されていることを規定している。sps_reshaper_enabled_flagが0と等しい場合は、CVSにおいてリシェイパが使用されていないことを規定している。
タイルグループヘッダ構文において、以下の意味論を追加する。
tile_group_reshaper_model_present_flagが1と等しい場合は、tile_group_reshaper_model()がタイルグループ内に存在することを規定している。
tile_group_reshaper_model_present_flagが0と等しい場合は、tile_group_reshaper_model()がタイルグループヘッダに存在しないことを規定している。
tile_group_reshaper_model_present_flagが存在しない場合は、0に等しいと推論される。
tile_group_reshaper_enabled_flagが1と等しい場合は、現在のタイルグループに対してリシェイパが有効になっていることを規定している。
tile_group_reshaper_enabled_flagが0と等しい場合は、現在のタイルグループに対してリシェイパが有効になっていないことを規定している。
tile_group_reshaper_enable_flagが存在しない場合、0であると推論される。
tile_group_reshaper_chroma_residual_scale_flagが1と等しい場合は、現在のタイルグループに対してクロマ残差スケーリングを有効であることを規定している。
tile_group_reshaper_chroma_residual_scale_flagが0と等しい場合は、現在のタイルグループに対してクロマ残差スケーリングが有効でないことを規定している。
tile_group_reshaper_chroma_residual_scale_flagが存在しない場合は、0であると推測される。
tile_group_reshaper_model()構文を追加する。
reshape_model_min_bin_idxは、最小のビン(またはピース)インデックスを、リシェイパ構築処理に使用するように規定している。reshape_model_min_bin_idxの値が0~MaxBinIdxの範囲内にあるものとする。
MaxBinIdxの値は15と等しいとする。
reshape_model_delta_max_bin_idxは、最大許容ビン(またはピース)インデックスMaxBinIdxから最大ビンインデックスを引いたものが、リシェイパ構築処理で使用されることを規定している。reshape_model_max_bin_idxの値は、MaxBinIdx-reshape_model_delta_max_bin_idxに等しく設定される。
reshaper_model bin_delta_abs_cw_prec_minus1+1は、構文reshape_model_bin_delta_abs_CW[i]の表現に使用するビット数を規定している。
reshape_model_bin_delta_abs_CW[i]は、i番目のビンの絶対デルタコード名値を規定する。
reshaper_model_bin_delta_sign_CW_flag[i]は、reshape_model_bin_delta_abs_CW[i]のサインを次のように記述する。
- reshape_model_bin_delta_sign_CW_flag[i]が0と等しい場合、対応する変数RspDeltaCW[i]は正の値である。
- そうでない場合(reshape_model_bin_delta_sign_CW_flag[i]が0と等しくない)、対応する変数RspDeltaCW[i]は負の値である。
reshape_model_bin_delta_sign_CW_flag[i]が存在しない場合、0に等しいと推測される。
変数RspDeltaCW[i]=(1 2*reshape_model_bin_delta_sign_CW[i])*reshape_model_bin_delta_abs_CW[i];
変数RspCW[i]は、以下のステップとして導出される。
変数OrgCWは、(1<<BitDepthY)/(MaxBinIdx+1)に等しく設定される。
-reshaper_model_min_bin_idx<=i<=reshaper_model_max_bin_idxの場合、RspCW[i]=OrgCW+RspDeltaCW[i]である。
- そうでない場合、RspCW[i]=0である。
BitDepthYの値が10に等しい場合、RspCW[i]の値は、32~2*OrgCW_1の範囲内にくる。
iが0~MaxBinIdx+1の範囲にある変数InputPivot[i]は、以下のように導出される。
InputPivot[i]=i*OrgCW
iが0~MaxBinIdx+1の範囲にあり、変数ScaleCoef[i]およびInvScaleCoeff[i]がそれぞれ0~MaxBinIdxの範囲にあり、iが0~MaxBinIdxの範囲にある変数ReshapePivot[i]は、以下のように導出される。
shiftY=14
ReshapePivot[0]=0;
for(i=0;i<=MaxBinIdx;i++){
ReshapePivot[i+1]=ReshapePivot[i]+RspCW[i]
ScaleCoef[i]=(RspCW[i]*(1<<shiftY)+(1<<(Log2(OrgCW)-1)))>>(Log2(OrgCW))
if(RspCW[i]==0)
InvScaleCoeff[i]=0
else
InvScaleCoeff[i]=OrgCW*(1<<shiftY)/RspCW[i]
}
iが0~MaxBinIdxの範囲内にある変数ChromaScaleCoef[i]は、以下のように導出される。
ChromaResidualScaleLut[64]={16384,16384,16384,16384,16384,16384,16384,8192,8192,8192,8192,5461,5461,5461,5461,4096,4096,4096,4096,3277,3277,3277,3277,2731,2731,2731,2731,2341,2341,2341,2048,2048,2048,1820,1820,1820,1638,1638,1638,1638,1489,1489,1489,1489,1365,1365,1365,1365,1260,1260,1260,1260,1170,1170,1170,1170,1092,1092,1092,1092,1024,1024,1024,1024};
shiftC=11
-if(RspCW[i]==0)
ChromaScaleCoef[i]=(1<<shiftC)
-Otherwise(RspCW[i]!=0),ChromaScaleCoef[i]=
ChromaResidualScaleLut[RspCW[i]>>1]
1)参照領域が動的に変化するため、エンコーダ/デコーダの処理が複雑になる。
2)無効なブロックベクトルは容易に生成され、チェックしにくいため、エンコーダおよびデコーダの両方を複雑にする。
3)参照領域が不規則であると、ブロックベクトルの符号化が非効率になる。
4)128×128より小さいCTUサイズに対してどのように対処するかは不明である。
5)BVが有効であるか無効であるかの判定処理において、クロマブロックの場合、この決定は、輝度サンプルの可用性に基づいて行われ、このことは、デュアルツリーパーティション構造に起因して誤った判定をもたらす可能性がある。
1. CPR/IBCのために輝度参照サンプルを記憶するために、M×N個の画素バッファを使用することが提案される。
a. 一例において、バッファサイズは64×64である。
b. 一例において、バッファサイズは128×128である。
c. 一例において、バッファサイズは64×128である。
d. 一例において、バッファサイズは128×64である。
e. 一例において、NはCTUの高さに等しい。
f. 一例において、N=nHであり、HはCTUの高さであり、nは正の整数である。
g. 一例において、MはCTUの幅に等しい。
h. 一例において、M=mWであり、WはCTUの幅であり、mは正の整数である。
i. 一例において、バッファサイズは、CTUサイズに等しくなく、例えば、96×128または128×96である。
j. 一例において、バッファサイズはCTUサイズに等しい。
k. 一例において、M=mW、N=Hであり、WおよびHは、CTUの幅および高さであり、mは、正の整数である。
l. 一例において、M=W、N=nHであり、WおよびHは、CTUの幅および高さであり、nは、正の整数である。
m. 一例において、M=mW、N=nHであり、WおよびHは、CTUの幅および高さであり、mおよびnは、正の整数である。
n. 上記例において、mおよびnはCTUのサイズに依存してもよい。
i. 一例において、CTUのサイズが128×128である場合、m=1であり、n=1である。
ii. 一例において、CTUのサイズが64×64である場合、m=4であり、n=1である。
iii. 一例において、CTUのサイズが32×32である場合、m=16であり、n=1である。
iv. 一例において、CTUのサイズが16×16である場合、m=64であり、n=1である。
o. 代替的に、バッファサイズはCTUサイズに対応する。
p.代替的に、このバッファサイズは、仮想パイプラインデータユニット(VPDU)のサイズに対応する。
q. Mおよび/またはNは、エンコーダからデコーダに、例えばVPS/SPS/PPS/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ等で信号通知されてもよい。
2. Mおよび/またはNは、規格で規定された異なるプロファイル/レベル/層で異なってもよい。別のMc×Nc画素バッファを使用して、CPR/IBCのためのクロマ参照サンプルを記憶することが提案される。
a. 一例において、4:2:0映像の場合、Mc=M/2およびNc=N/2である。
b. 一例において、4:4:4映像の場合、Mc=MおよびNc=Nである。
c. 一例において、4:2:2映像の場合、Mc=MおよびNc=N/2である。
d. 代替的に、McおよびNcは、MおよびNから独立してもよい。
e. 一例において、クロマバッファは、CbおよびCrに対応する2つのチャネルを含む。
f. 一例において、Mc=Mであり、Nc=Nである。
3. M×Nサンプルバッファを使用してPR/IBCのためにRGB参照サンプルを記憶ことが提案される。
a. 一例において、バッファサイズは64×64である。
b. 一例において、バッファサイズは128×128である。
c. 一例において、バッファサイズは64×128である。
d. 一例において、バッファサイズは128×64である。
e. 代替的に、バッファサイズはCTUサイズに対応する。
f. 代替的に、このバッファサイズは、仮想パイプラインデータユニット(VPDU)のサイズに対応する。
4. バッファは、ループフィルタリングの前に再構成された画素を記憶することができることが提案される。ループフィルタリングは、非ブロック化フィルタ、適応ループフィルタ(ALF)、サンプル適応オフセット(SAO)、クロス成分ALF、または任意の他のフィルタを参照してもよい。
a. 一例において、バッファは、現在のCTUにサンプルを記憶することができる。
b. 一例において、バッファは、現在のCTUの外部にサンプルを記憶することができる。
c. 一例において、バッファは、現在のピクチャの任意の部分からのサンプルを記憶することができる。
d. 一例において、バッファは、他のピクチャからのサンプルを記憶することができる。
5. バッファは、ループフィルタリングの後に再構成された画素を記憶することができることが提案される。ループフィルタリングは、非ブロック化フィルタ、適応ループフィルタ(ALF)、サンプル適応オフセット(SAO)、クロス成分ALF、または任意の他のフィルタを参照してもよい。
a. 一例において、バッファは、現在のCTUにサンプルを記憶することができる。
b. 一例において、バッファは、現在のCTUの外部にサンプルを記憶することができる。
c. 一例において、バッファは、現在のピクチャの任意の部分からのサンプルを記憶することができる。
d. 一例において、バッファは、他のピクチャからのサンプルを記憶することができる。
6. バッファは、ループフィルタリング前およびループフィルタリング後の両方で再構成されたサンプルを記憶することができることが提案される。ループフィルタリングは、非ブロック化フィルタ、適応ループフィルタ(ALF)、サンプル適応オフセット(SAO)、クロス成分ALF、または任意の他のフィルタを参照してもよい。
a. 一例において、バッファは、現在のピクチャからのサンプルと他のピクチャからのサンプルとを、それらのサンプルの可用性に基づいて記憶することができる。
b. 一例において、他のピクチャからの参照サンプルは、ループフィルタリング後の再構成サンプルからのものである。
c. 一例において、他のピクチャからの参照サンプルは、ループフィルタリングの前に再構成されたサンプルからのものである。
7. バッファは、符号化映像データのビット深度とは異なり得る所与のビット深度を有するサンプルを記憶することが提案される。
a. 一例において、再構成バッファ/符号化映像データのビット深度は、バッファに記憶されたIBC参照サンプルのビット深度よりも大きい。
b. 一例において、内部ビット深度が1つの映像シーケンスのための入力ビット深度と異なる場合、例えば(10ビット対8ビット)であっても、IBC参照サンプルは、入力ビット深度に位置合わせされて記憶される。
c. 一例において、ビット深度は再構成バッファのビット深度と同じである。
d. 一例において、ビット深度は、入力画像/映像のビット深度と同じである。
e. 一例において、ビット深度は、予め規定された数と同じである。
f. 一例において、ビット深度は、標準のプロファイルに依存する。
g. 一例において、出力ビット深度/入力ビット深度/内部ビット深度と比較したビット深度またはビット深度の差は、SPS/PPS/シーケンスヘッダ/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/タイルヘッダまたは他の種類の映像データユニットにおいて信号通知されてもよい。
h. 提案された方法は、他の黒丸印で言及された提案されたバッファ定義に適用されてもよく、代替的に、IBCの既存の設計にも適用されてもよい。
i. バッファの各色成分のビット深度は異なってもよい。
8. 所与の値でバッファを初期化することが提案される。
a. 一例において、バッファは所与の値で初期化される。
i. 一例において、所与の値は、入力ビット深度および/または内部ビット深度に依存してもよい。
ii. 一例において、バッファは、中間グレー値で初期化され、例えば、8ビット信号の場合、128が設定され、10ビット信号の場合、512が設定される。
iii. 一例において、ILRが使用される場合、バッファはforwardLUT(m)で初期化される。例m=1<<(Bitdepth-1)。
b. 代替的に、バッファは、SPS/VPS/APS/PPS/シーケンスヘッダ/タイルグループヘッダ/ピクチャヘッダ/tile/CTU/符号化ユニット/VPDU/領域で信号通知される値で初期化される。
c. 一例において、この所与の値は、前に復号化されたピクチャまたはスライスまたはCTUの行またはCTUまたはCUのサンプルから導出されてもよい。
d. この所与の値は、異なる色成分ごとに異なってもよい。
9. 代替的に、前回符号化されたブロックからの復号化された画素を使用してバッファを初期化することが提案される。
a. 一例において、復号化された画素は、インループフィルタリング前の画素である。
b. 一例において、バッファサイズがCTUである場合、バッファは、利用可能である場合、前回の復号化されたCTUの復号化された画素で初期化される。
c. 一例において、バッファサイズが64×64である場合、そのバッファサイズは、利用可能である場合、前回の復号化された64×64ブロックの復号化された画素で初期化される。
d. 代替的に、さらに、前回符号化されたブロックが利用可能でない場合、黒丸印8の方法が適用されてもよい。
10. 1つのブロックがバッファ内の画素を参照として使用するために、このブロックは、バッファ内の位置(x,y),x=0,1,2,...,M-1;y=0,1,2,...,N-1,を使って参照先を示すことができる。
11. 代替的に、この参照位置は、l=y*M+x,l=0,1,...,M*N-1として表すことができる。
12. なお、現在のCTUに関するブロックの左上の位置を(x0,y0)として、ブロックベクトル(BVx,BVy)=(x-x0,y-y0)をデコーダに送信し、バッファにおける参照先を示してもよい。
13. 代替的に、ブロックベクトル(BVx,BVy)は、(x-x0+Tx,y-y0+Ty)として規定されてもよく、TxおよびTyは、予め規定されたオフセットである。
14. 任意の画素(x0,y0)および(BVx,BVy)の場合、バッファにおけるその参照は、(x0+BVx,y0+BVy)に見出すことができる。
a. 一例において、(x0+BVx,y0+BVy)がバッファの外にある場合、それは境界にクリップされる。
b. 代替的に、(x0+BVx,y0+BVy)がバッファの外にある場合、その基準値は、所与の値、例えば、中間グレーとして予め規定される。
c. 代替的に、参照位置は、常にバッファ内にあるように、((x0+BVx)mod M,(y0+BVy)mod N)として規定される。
15. 任意の画素(x0,y0)および(BVx,BVy)に対して、(x0+BVx,y0+BVy)がバッファの外にある場合、その基準値はバッファにおける値から導出されてもよい。
a. 一例において、この値は、バッファにおけるサンプル((x0+BVx)mod M,(y0+BVy)mod N)から導出される。
b. 一例において、この値は、バッファにおけるサンプル((x0+BVx)mod M, clip(y0+BVy,0,N-1))から導出される。
c. 一例において、この値は、バッファにおけるサンプル(clip(x0+BVx,0,M-1),(y0+BVy)mod N)から導出される。
d. 一例において、この値は、バッファにおけるサンプル(clip(x0+BVx,0,M-1),clip(y0+BVy,0,N-1))から導出される。
16. バッファ範囲外の特定の座標を許可しない場合がある。
a. 一例において、CTUの左上隅およびブロックベクトル(BVx,BVy)に対する任意の画素(x0,y0)について、y0+BVyが[0,..,N-1]の範囲内にあるべきであることが、ビットストリーム制約である。
b. 一例において、CTUおよびブロックベクトル(BVx,BVy)の左上隅の任意の画素(x0,y0)に対して、x0+BVxが[0,..,M-1]の範囲内にあるべきであることが、ビットストリーム制約である。
c. 一例において、CTUおよびブロックベクトル(BVx,BVy)の左上隅の任意の画素(x0,y0)に対して、y0+BVyが[0,..,N-1]の範囲内にあるべきであり、且つx0+BVxが[0,..,M-1]の範囲内にあるべきであることが、ビットストリーム制約である。
17. 1つのブロックの信号通知されたまたは導出されたブロックベクトルがバッファの外のどこかを指している場合、バッファに基づいてパディングを行ってもよい。
a. 一例において、バッファの外の任意のサンプルの値は、予め規定された値で規定される。
i. 一例において、この値は、1<(ビット深度-1)であってもよく、例えば、8ビット信号の場合、128であり、10ビット信号の場合、512である。
ii. 一例において、ILRが使用される場合、この値はforwardLUT(m)であってもよい。例m=1<<(Bitdepth-1).
iii. 代替的に、予め規定された値の表示は、SPS/PPS/シーケンスヘッダ/ピクチャヘッダ/スライスヘッダ/タイルグループ/タイル/CTU/CUレベルで信号通知または表示されてもよい。
b. 一例において、バッファの外の任意のサンプルは、バッファにおける最も近いサンプルの値として規定される。
18. バッファ参照からの取り扱い方法は、水平方向と垂直方向とで異なってもよく、または現在のブロックの位置によって(例えば、ピクチャ境界により近いか否か)異なってもよい。
a. 一例において、y0+BVyが[0,N-1]の外にある場合、(x0+BVx,y0+BVy)のサンプル値が予め規定された値として割り当てられる。
b. 一例において、x0+BVxが[0,M-1]の外にある場合、(x0+BVx,y0+BVy)のサンプル値が予め規定された値として割り当てられる。
c. 代替的に、(x0+BVx,y0+BVy)のサンプル値を((x0+BVx)mod M,y0+BVy)のサンプル値として割り当て、これにより、(((x0+BVx)mod M,y0+BVy)がまだバッファの外にある場合には、その値をさらに導出するために他の方法を呼び出してもよい。
d. 代替的に、(x0+BVx,y0+BVy)のサンプル値を(x0+BVx,(y0+BVy)mod N)のサンプル値として割り当て、これにより、(x0+BVx,(y0+BVy)mod N)がまだバッファの外にある場合には、その値をさらに導出するために他の方法を呼び出してもよい。
19. ブロックベクトル(BVx,BVy)の各成分またはその成分の1つを一定の範囲に正規化してもよい。
a. 一例において、BVxは、(BVx mod M)に置き換えられてもよい。
b. 代替的に、BVxは、((BVx+X)mod M)-Xに置き換えられてもよく、Xは、予め規定された値である。
i. 一例において、Xは64。
ii. 一例において、XはM/2。
iii. 一例において、Xは、現在のCTUに対するブロックの水平座標である。
c. 一例において、BVyは、(BVy mod N)に置き換えられてもよい。
d. 代替的に、BVyを((BVy+Y)mod N)-Yで置き換えてもよく、Yは予め規定された値である。
i. 一例において、Yは64。
ii. 一例において、YはN/2。
iii. 一例において、Yは、現在のCTUに対するブロックの垂直座標である。
20. BVxおよびBVyは、異なる正規化範囲を有してもよい。
21. ブロックベクトル差(BVDx,BVDy)を一定の範囲に正規化することができる。
a. 一例において、BVDxは、(BVDx mod M)に置き換えられてもよく、関数modは、リマインダを返す。
b. 代替的に、BVDxは、((BVDx+X)mod M)-Xに置き換えられてもよく、Xは、予め規定された値である。
i. 一例において、Xは64。
ii. 一例において、XはM/2。
c. 一例において、BVyは、(BVDy mod N)に置き換えられてもよい。
d. 代替的に、BVyを((BVDy+Y)mod N)-Yで置き換えてもよく、Yは予め規定された値である。
i. 一例において、Yは64。
ii. 一例において、YはN/2。
22. BVDxおよびBVDyは、異なる正規化範囲を有してもよい。
IBCバッファの幅および高さをWbufおよびHbufとする。ピクチャの左上隅に対して(X,Y)から始まるW×Hブロック(輝度ブロック、クロマブロック、CU、TU、4×4、2×2、または他のサブブロックであってもよい)の場合、ブロックベクトル(BVx、BVy)が有効であるかどうかを示すために、以下を適用してもよい。Wpic、Hpicを1つのピクチャの幅および高さとし、Wctu、Hctuを1つのCTUの幅および高さとする。関数floor(x)は、xより大きくない最大の整数を返す。関数isRec(x,y)は、サンプル(x,y)を再構成した場合、それを返す。
23. いずれかの参照位置がピクチャ境界の外にあっても、ブロックベクトル(BVx,BVy)を有効であるとして設定してもよい。
a. 一例において、ブロックベクトルは、X+BVx<0であっても有効であるとして設定してもよい。
b. 一例において、ブロックベクトルは、X+W+BVx>Wpicであっても、有効であるとして設定してもよい。
c. 一例において、Y+BVy<0であっても、ブロックベクトルを有効であるとして設定してもよい。
d. 一例において、Y+H+BVy>Hpicであっても、ブロックベクトルを有効であるとして設定してもよい。
24. 現在のCTU行の外側に参照位置が存在しても、ブロックベクトル(BVx,BVy)を有効であるとして設定してもよい。
a. 一例において、ブロックベクトルは、Y+BVy<floor(Y/Hctu)*Hctuであっても有効であるとして設定してもよい。
b. 一例において、ブロックベクトルは、Y+H+BVy>=floor(Y/Hctu)*Hctu+Hctuであっても有効であるとして設定してもよい。
25.ブロックベクトル(BVx,BVy)は、いずれかの参照位置が現在のCTUおよび左(n-1)CTUの外にあったとしても、有効であるとして設定してもよく、nは、IBCのための参照領域として使用できるCTU(現在のCTUを含む、または除く)の数である。
a. 一例において、ブロックベクトルは、X+BVx<floor(X/Wctu)*Wctu-(n-1)*Wctuであっても有効であるとして設定してもよい。
b. 一例において、ブロックベクトルは、X+W+BVx>floor(X/Wctu)*Wctu+Wctuであっても、有効であるとして設定してもよい。
26. 特定のサンプルが再構成されていなくても、ブロックベクトル(BVx,BVy)を有効として設定してもよい。
a. 一例において、isRec(X+BVx,Y+BVy)がfalseであっても、ブロックベクトルを有効であるとして設定してもよい。
b. 一例において、isRec(X+BVx+W-1,Y+BVy)がfalseであっても、ブロックベクトルを有効であるとして設定してもよい。
c. 一例において、isRec(X+BVx,Y+BVy+H-1)がfalseであっても、ブロックベクトルを有効であるとして設定してもよい。
d. 一例において、isRec(X+BVx+W-1,Y+BVy+H-1)がfalseであっても、ブロックベクトルを有効であるとして設定してもよい。
27. ブロックベクトル(BVx,BVy)は、1つのブロックがCTU行における第1のCTUのブロックでない場合、常に有効であるとして設定してもよい。
a. 代替的に、ブロックベクトルは、常に有効であるとして設定してもよい。
28. 以下の3つの条件をすべて満たす場合、ブロックベクトル(BVx,BVy)を常に有効であるとして設定してもよい。
・X+BVx>=0
・Y+BVy>=floor(Y/Hctu)
・isRec(X+BVx+W-1,Y+BVy+H-1)==true
a. 代替的に、1つのCTU行における第1のCTUのブロックについて、3つの条件をすべて満たす場合、ブロックベクトルを常に有効であるとして設定してもよい。
29. ブロックベクトル(BVx,BVy)が有効である場合、ブロックのサンプルコピーはブロックベクトルに基づいて行われてもよい。
a. 一例において、サンプル(X,Y)の予測は、((X+BVx)%Wbuf,(Y+BVy)%Hbuf)から得ることができる。
30. 新しいピクチャまたはタイルを符号化するとき、バッファはリセットされてもよい。
a. 「リセット」という用語は、バッファが初期化されることを指すことができる。
b. 用語「リセット」は、バッファ内のすべてのサンプル/画素が所与の値(例えば、0または-1)に設定されることを指すことができる。
31. VPDUの符号化を終えたら、バッファはVPDUの再構成された値で更新されてもよい。
32. CTUの符号化を終えたら、バッファはCTUの再構成された値で更新されてもよい。
a. 一例において、バッファが満杯でない場合、バッファはCTUによってCTUを順次更新することができる。
b. 一例において、バッファが満杯である場合、最も古いCTUに対応するバッファ領域を更新する。
c. 一例において、M=mW、N=H(W、HはCTUのサイズであり、M、Nはバッファサイズである)であり、前回更新された領域が(kW,0)から始まる場合、更新する次の開始位置は、((k+1)W mod M,0)となる。
33. バッファは、各CTU行の最初にリセットされてもよい。
a. 代替的に、バッファは、各CTUの復号化の開始時にリセットされてもよい。
b. 代替的に、バッファは、1つのタイルを復号化する開始時にリセットされてもよい。
c. 代替的に、バッファは、1つのタイルグループ/ピクチャの復号化の開始時にリセットされもよい。
34. (x,y)から始まるブロックの符号化を終えたら、(x,y)から始まるバッファの対応する領域は、ブロックからの再構成によって更新される。
a. 一例において、(x,y)は、CTUの左上隅に対する位置である。
35. ピクチャに対するブロックの符号化を終えたら、バッファの対応する領域は、ブロックからの再構成によって更新される。
a. 一例において、バッファにおける位置(x mod M,y mod N)の値は、ピクチャの左上隅に対する位置(x,y)の再構成された画素値で更新されてもよい。
b. 一例において、バッファにおける位置(x mod M,y mod N)の値は、現在のタイルの左上隅に対する位置(x,y)の再構成された画素値で更新されてもよい。
c. 一例において、バッファにおける位置(x mod M,y mod N)の値は、現在のCTU行の左上隅に対する位置(x,y)の再構成された画素値で更新されてもよい。
d. 一例において、バッファ内の値は、ビット深度整列後の再構成された画素値で更新されてもよい。
36. (x,y)から始まるブロックの符号化を終えたら、(xb,yb)から始まるバッファの対応する領域は、ブロックからの再構成によって更新され、(xb,yb)および(x,y)は2つの異なる座標である。
a. 一例において、(x,y)は、CTUの左上隅に関する位置であり、(xb,yb)は、(x+update_x,y+update_y)であり、update_xおよびupdate_yは、バッファにおける更新可能
37. 上記の例では、1つのブロックの再構成された値は、フィルタ(例えば、非ブロック化フィルタ)を適用する前の再構成された値を示してもよい。
a. 代替的に、1つのブロックの再構成された値は、フィルタ(例えば、非ブロック化フィルタ)が適用された後の再構成された値を示してもよい。
38. バッファが再構成されたサンプルから更新されるとき、再構成されたサンプルは、記憶される前にまず修正されてもよく、例えば、サンプルのビット深度を変更してもよい。
a. 一例において、バッファは、バッファのビット深度へのビット深度整列後、再構成されたサンプル値で更新される。
b. 一例において、バッファ値は、値{p+[1<<(b-1)]}>>bに基づいて更新され、pは、再構成されたサンプル値であり、bは、予め規定されたビットシフト値である。
c. 一例において、バッファ値は、clip({p+[1<<(b-1)]}>>b,0,(1<<bitdepth)-1)の値に基づいて更新され、pは、再構成されたサンプル値であり、bは、予め規定されたビットシフト値であり、ビット深度は、バッファビット深度である。
d. 一例において、バッファ値は、値{p+[1<(b-1)-1]}>bに基づいて更新され、pは、再構成されたサンプル値であり、bは、予め規定されたビットシフト値である。
e. 一例において、バッファ値は、clip({p+[1<<(b-1)-1]}>>b,0,(1<<bitdepth)-1)の値に基づいて更新され、pは、再構成されたサンプル値であり、bは、予め規定されたビットシフト値であり、bitdepthは、バッファビット深度である。
f. 一例において、バッファ値は、値p>>bに基づいて更新される。
g. 一例において、バッファ値は、clip(p>>b,0,(1<<bitdepth)-1)の値に基づいて更新され、bitdepthは、バッファビット深度である。
h. 上記例において、bは、ビット深度から入力サンプルビット深度を引いたものとして再構成されてもよい。
39. バッファサンプルを使用して予測を形成する場合、前処理を適用することができる。
a. 一例において、予測値は、p<<bであり、pは、バッファにおけるサンプル値であり、bは、予め規定された値である。
b. 一例において、予測値は、clip(p<<b,0,1<<bitdepth)であり、bitdepthは、再構成サンプルのビット深度である。
c. 一例において、予測値は、(p<<b)+(1<<(bitdepth-1))であり、pは、バッファにおけるサンプル値であり、bは、予め規定された値であり、bitdepthは、再構成サンプルのビット深度である。
d. 上記例において、bは、ビット深度から入力サンプルビット深度を引いたものとして再構成されてもよい。
40. バッファは所与の順番で更新されてもよい。
a. 一例において、バッファは順次更新されてもよい。
b. 一例において、バッファは、再構成されたブロックの順に基づいて更新されてもよい。
41. バッファが満杯である場合、バッファ内のサンプルを最新の再構成サンプルに置き換えることができる。
a. 一例において、サンプルは、先入れ先出し方式で更新されてもよい。
b. 一例において、最も古いサンプルが置き換えられる。
c. 一例において、サンプルに優先順位を割り当て、この優先順位に基づいてサンプルを置き換えることができる。
d. 一例において、サンプルは、他のサンプルが最初に置き換えられるように、「長期」としてマークされ得る。
e. 一例において、高い優先順位を示すために、1つのブロックとともに1つのフラグを送信することができる。
f. 一例において、優先順位を示すために、1つのブロックとともに1つの数字を送信することができる。
g. 一例において、ある特徴を有する再構成されたブロックからのサンプルは、他のサンプルが最初に置き換えられるように、より高い優先順位を割り当てられる。
i. 一例において、IBCモードで符号化されたサンプルのパーセンテージが閾値よりも大きい場合、ブロックのすべてのサンプルに高い優先順位を割り当てることができる。
ii. 一例において、Paletteモードで符号化されたサンプルのパーセンテージが閾値よりも大きい場合、ブロックのすべてのサンプルに高い優先順位を割り当てることができる。
iii. 一例において、IBCまたはPaletteモードで符号化されたサンプルのパーセンテージが閾値よりも大きい場合、ブロックのすべてのサンプルに高い優先順位を割り当てることができる。
iv. 一例において、変換スキップモードで符号化されたサンプルのパーセンテージが閾値よりも大きい場合、ブロックのすべてのサンプルに高い優先順位を割り当てることができる。
v. この閾値は、ブロックサイズ、色成分、CTUサイズに基づいて異なってもよい。
vi. 閾値は、SPS/PPS/シーケンスヘッダ/スライスヘッダ/タイルグループ/タイルレベル/領域で信号通知されてもよい。
h. 一例において、このバッファが一杯であることは、このバッファにおける利用可能なサンプルの数が所与の閾値に等しいかまたはそれよりも多いことを意味し得る。
i. 一例において、バッファにおける利用可能なサンプルの数が64×64×3輝度サンプル以上である場合、バッファは満杯であると判定されてもよい。
42. 前回符号化された3つの64×64ブロックを常に参照領域として使用する代わりに、現在のブロック(またはVPDU)の位置に基づいてそれを適応的に変更することが提案される。
a. 一例において、64×64ブロックを符号化/復号化するとき、前回の3つの64×64ブロックを参照として使用できる。図2に比べ、前回の64×64個のブロックをより多く組み合わせてもよい。図2は、前の64×64ブロックの異なる組み合わせの例を示す。
43. z走査順序を用いる代わりに、垂直走査順序を使用してもよい。
a. 一例において、1つのブロックがz走査順序にインデックス0..3を有する4つのVPDUに分割される場合、符号化/復号化の順序は、0、2、1、3である。
b. 一例において、64×64個のブロックを符号化/復号化するとき、前回の3つの64×64個のブロックを参照として使用できる。図2と比較して、より多くの種類の64×64ブロックの符号化/復号化の順序を適用することができる。図4は、64×64ブロックの異なる符号化/復号化の順序の例を示す。
c. 代替的に、上記方法は、スクリーンコンテンツの符号化にのみ適用されてもよい。
d. 代替的に、上記方法は、1つのタイル/タイルグループ/ピクチャに対してCPRが有効化される場合にのみ適用されてもよい。
e. 代替的に、上記方法は、1つのCTUまたは1つのCTU行に対してCPRが有効化される場合にのみ適用されてもよい。
以下、輝度サンプルにおいて、VPDUの幅および高さを、それぞれWVPDU(例えば、64)およびHVPDU(例えば、64)と表す。代替的に、WVPDUおよび/またはHVPDUは、他の映像ユニット(例えば、CTU)の幅および/または高さを表してもよい。
44. IBC参照領域の状態を追跡し続けるために、仮想バッファを維持してもよい。
a. 一例において、仮想バッファサイズは、mWVPDU×nHVPDUである。
i. 一例において、mは3に等しく、nは2に等しい。
ii. 一例において、mおよび/またはnは、ピクチャ解像度、CTUサイズに依存してもよい。
iii. 一例において、mおよび/またはnは、信号通知されてもよく、または予め規定されてもよい。
b. 一例において、上記の黒丸印および副黒丸印で記載された方法は、仮想バッファに適用されてもよい。
c. 一例において、ピクチャ/スライス/タイル/ブリックの左上隅に対するサンプル(x,y)は、(x%(mWVPDU),y%(nHVPDU))にマッピングされてもよい。
45. アレイを使用して、仮想バッファに関連付けられた各サンプルの可用性を追跡してもよい。
a. 一例において、フラグは、仮想バッファにおけるサンプルに関連付けて、バッファにおけるサンプルがIBC参照として使用できるか否かを特定してもよい。
b. 一例において、輝度サンプルおよびクロマサンプルを含む各4×4ブロックは、1つのフラグを共有して、そのブロックに関連付けられたいずれかのサンプルがIBC参照として使用できるかどうかを示してもよい。
46. VPDUまたは映像ユニットの復号化を終えた後、仮想バッファに関連付けられた特定のサンプルは、IBC参照に利用不可能なものとしてマークされてもよい。
a. 一例において、どのサンプルが利用不可能であるかは、直近に復号化されたVPDUの位置に依存してもよい。
b. 1つのサンプルが利用不可能とマークされた場合、このサンプルからの予測は許可されない。
i. 代替的に、他の方法(例えば、デフォルト値を使用する)をさらに適用して、予測子を導出し、利用不可能なサンプルを置き換えてもよい。
47. 最近復号化されたVPDUの位置を記録し、仮想バッファに関連付けられたどのサンプルが利用不可能であるとマークされているかを識別しやすくすることができる。
a. 一例において、VPDUを復号化する開始時に、最近復号化されたVPDUの位置に基づいて、仮想バッファに関連付けられたいくつかのサンプルに利用不可能なマークを付けることができる。
i. 一例において、直近に復号化されたVPDUのピクチャ/スライス/タイル/ブリック/他の映像処理ユニットの左上隅に対して(xPrevVPDU,yPrevVPDU)を左上位置として表し、yPrevVPDU%(nHVPDU)が0に等しいと、特定の位置(x,y)は、利用不可能とマークを付けることができる。
1. 一例において、xは、[xPrevVPDU-2WVPDU+2mWVPDU)% mWVPDU,((xPrevVPDU-2WVPDU+2mWVPDU)% mWVPDU)-1+WVPDU]のような範囲内にあってもよい。
2. 一例において、yは、[yPrevVPDU%(nHVPDU),(yPrevVPDU%(nHVPDU))-1+HVPDU]のような範囲内にあってもよい。
3. 一例において、xは、[xPrevVPDU-2WVPDU+2mWVPDU]%mWVPDU、((xPrevVPDU-2WVPDU+2mWVPDU)%mWVPDU、((xPrevVPDU-2WVPDU+2mWVPDU)%mWVPDU)-1+WVPDU]のような範囲内にあってもよく、yは、[yPrevVPDU%(nHVPDU),(yPrevVPDU%(nHVPDU))-1+HVPDU]のような範囲内にあってもよい。
ii. 一例において、直近に復号化されたVPDUのピクチャ/スライス/タイル/ブリック/他の映像処理ユニットの左上隅に対して、(xPrevVPDU,yPrevVPDU)を左上位置として表し、yPrevVPDU%(nHVPDU)が0に等しくない場合、特定の位置(x,y)は、利用不可能とマークを付けることができる。
1. 一例において、xは、[xPrevVPDU-WVPDU+2mWVPDU)% mWVPDU,((xPrevVPDU-WVPDU+2mWVPDU)% mWVPDU)-1+WVPDU]のような範囲内にあってもよい。
2. 一例において、yは、[yPrevVPDU%(nHVPDU),(yPrevVPDU%(nHVPDU))-1+HVPDU]のような範囲内にあってもよい。
3. 一例において、xは、[xPrevVPDU-WVPDU+2mWVPDU)% mWVPDU,((xPrevVPDU-WVPDU+2mWVPDU)% mWVPDU)-1+WVPDU]のような範囲内にあってもよく、yは、[yPrevVPDU%(nHVPDU),(yPrevVPDU%(nHVPDU))-1+HVPDU]のような範囲内にあってもよい。
48. 1つのCUが複数のVPDUを含む場合、VPDUに基づくIBC参照可用性マーキング処理を適用する代わりに、IBC参照可用性マーキング処理は以下のCUに従ってもよい。
a. 一例において、複数のVPDUを含むCUを復号化する開始時に、CU内のVPDUを復号化する前に、各VPDUごとにIBC参照可用性マーキング処理を適用してもよい。
b. このような場合、128×64個のIBCブロックと64×128個のIBCブロックとは許可されないことがある。
i. 一例において、128×64および64×128個のCUのためのpred_mode_ibc_flagは送信されなくてもよく、0に等しいと推測されてもよい。
49. 参照ブロックまたはサブブロックの場合、右上隅の参照可用性ステータスをチェックして、この参照ブロックに関連付けられたブロックベクトルが有効であるかどうかを判断する必要がない場合がある。
a. 一例において、ブロックベクトルが有効であるか否かを判断して、ブロック/サブブロックの左上、左下、右下の角のみをチェックする。
50. IBCバッファサイズは、VPDUのサイズ(幅/高さはvSizeで表される)および/またはCTB/CTUのサイズ(幅/高さはctbSizeで表される)に依存してもよい。
a. 一例において、バッファの高さはctbSizeに等しくてもよい。
b. 一例において、バッファの幅は、min(ctbSize,64)に依存してもよい。
i. 一例において、バッファの幅は、(128*128/vSize,min(ctbSize,64))であってもよい。
51. IBCバッファは、画素範囲外の値を含んでもよく、このことは、この位置がIBC参照に利用可能でない(例えば、他のサンプルの予測に利用されない)可能性があることを示す。
a. サンプル値は、サンプルが利用不可能であることを示す値に設定してもよい。
b. 一例において、この値は、-1であってもよい。
c. 一例において、この値は、[0,1<<(internal_bit_depth)-1]の外側の任意の値であってもよく、internal_bit_depthは正の整数値である。
例えば、internal_bit_depthは、1つの色成分のサンプルを符号化/復号化するために使用される内部ビット深度である。
d. 一例において、この値は、[0, 1<<(input_bit_depth) - 1]の範囲外の任意の値であってもよく、input_bit_depthは正の整数値である。
例えば、input_bit_depthは、1つの色成分のサンプルを符号化/復号化するために使用される入力ビット深度である。
52. IBCバッファにおけるサンプルの可用性マーキングは、現在のブロックの位置、現在のブロックのサイズ、CTU/CTBのサイズ、およびVPDUのサイズに依存してもよい。一例において、(xCb,yCb)は、ピクチャの左上に対するブロックの位置を表し、ctbSizeは、CTU/CTBのサイズ(即ち、幅および/または高さ)であり、vSize=min(ctbSize,64)であり、wIbcBufおよびhIbcBufは、IBCバッファの幅および高さである。
a. 一例において、(xCb%vSize)が0に等しく、(yCb%vSize)が0に等しい場合、IBCバッファにおける特定の位置のセットは、利用不可能とマークを付けることができる。
b. 一例において、現在のブロックのサイズがVPDUのサイズ、即ち、min(ctbSize,64)より小さい場合、利用不可能とマークを付けられた領域は、VPDUのサイズに従ってもよい
c. 一例において、現在のブロックのサイズがVPDUのサイズより大きい場合、即ち、min(ctbSize,64)である場合、利用不可能とマークを付けられた領域は、CUのサイズに従ってもよい。
53. ピクチャの左上位置に対する映像ユニット(例えば、VPDU(xV,yV))の復号化の開始時に、IBCバッファにおける対応する位置は、画素範囲外の値に設定してもよい。
a. 一例において、バッファにおける位置(x%wIbcBuf,y%hIbcBuf)を有し、x=xV、...、xV+ctbSize-1、y=yV、...、yV+ctbSize-1を有するバッファサンプルは、値-1に設定される。wIbcBufおよびhIbcBufは、IBCバッファの幅および高さであり、ctbSizeは、CTU/CTBの幅である。
i. 一例において、hIbcBufはctbSizeに等しくてもよい。
54. ビットストリーム適合性の制約は、IBCバッファにおけるサンプルの値に従ってもよい。
a. 一例において、IBCバッファにおける1つのブロックベクトルに関連付けられた1つの参照ブロックが画素範囲外の値を含む場合、このビットストリームは不正である可能性がある。
55. IBCバッファにおける可用性表示に基づいて、ビットストリーム適合性の制約を設定してもよい。
a. 一例において、IBCバッファにマッピングされたいずれかの参照サンプルが、1つのブロックを符号化/復号化するために利用不可能とマークを付けられた場合には、このビットストリームは不正である可能性がある。
b. 一例において、singletreeが使用される場合、1つのブロックを符号化/復号化するためにIBCバッファにマッピングされたいずれかの輝度参照サンプルが利用不可能とマークを付けられた場合には、このビットストリームは不正である可能性がある。
c. 1つの適合ビットストリームは、IBC符号化ブロックの場合、関連付けられたブロックベクトルがIBCバッファにマッピングされた1つの参照ブロックを指してもよく、1つのブロックを符号化/復号化するためにIBCバッファに位置する各輝度参照サンプルには利用可能なものとしてマークを付けることを満たすことができる(例えば、サンプルの値は、[K0,K1]の範囲内にあり、例えば、K0が0に設定され、K1が(1<<BitDepth-1)に設定され、BitDepthは、内部ビット深度または入力ビット深度である)。
56. ビットストリーム適合性の制約は、分割木のタイプおよび現在のCUの符号化のtreeTypeに依存してもよい。
a. 一例において、dualtreeが高レベル(例えば、スライス/ピクチャ/ブリック/タイル)で許可され、現在の映像ブロック(例えば、CU/PU/CB/PB)がシングルツリーで符号化される場合、ビットストリーム制約は、IBCバッファにマッピングされたすべての成分の位置が利用不可能としてマークされているかどうかをチェックする必要がある場合もある。
b. 一例において、dualtreeがハイレベル(例えば、スライス/ピクチャ/ブリック/タイル)で許可され、現在の輝度映像ブロック(例えば、CU/PU//CB/PB)がデュアルツリーで符号化されている場合には、ビットストリームの制約により、クロマ成分のIBCバッファ内にマッピングされた位置が利用不可能としてマークされているかどうかを無視してもよい。
i. 代替的に、このような場合、ビットストリーム制約は、依然として、IBCバッファにマッピングされたすべての成分の位置が利用不可能としてマークされているかどうかをチェックすることもある。
c. 一例において、シングルツリーが使用される場合、ビットストリーム制約は、IBCバッファにマッピングされたクロマ成分の位置が利用不可能であるか否かを無視することができる。
57. IBCの予測は、再構成よりも低い精度を有していてもよい。
a. 一例において、予測値は、値clip{{p+[1<<(b-1)]}>>b,0,(1<<bitdepth)-1}<<bに基づいており、pは、再構成されたサンプル値であり、bは、予め規定されたビットシフト値であり、bitdepthは、予測サンプルビットのビット深度である。
b. 一例において、予測値は、値clip{{p+[1<<(b-1)-1]}>>b,0,(1<<bitdepth)-1}<<bに基づいており、pは、再構成されたサンプル値であり、bは、予め規定されたビットシフト値である。
c. 一例において、予測値は、値((p>>b)+(1<<(bitdepth-1)))<<bに基づいており、ビット深度は、予測サンプルのビット深度である。
d. 一例において、予測値は、値(clip((p>>b),0,(1<<(bitdepth-b)))+(1<<(bitdepth-1)))<<bに基づいており、ビット深度は、予測サンプルのビット深度である。
e. 一例において、予測値は、ILRが適用されるかどうかに基づいて、異なる方法でクリップされる。
f. 上記例において、bは、ビット深度から入力サンプルビット深度を引いたものとして再構成されてもよい。
g. 一例において、出力ビット深度/入力ビット深度/内部ビット深度と比較したビット深度またはビット深度の差は、SPS/PPS/シーケンスヘッダ/ピクチャヘッダ/スライスヘッダ/タイルグループヘッダ/タイルヘッダまたは他の種類の映像データユニットにおいて信号通知されてもよい。
58. IBCの予測の一部はより精度が低くてもよく、他の部分は再構成と同じ精度を有する。
a. 一例において、許容される参照領域は、異なる精度(例えば、ビット深度)を有するサンプルを含んでもよい。
b. 一例において、現在の64×64ブロックが復号化されていない他の64×64ブロックからの参照は、精度が低く、現在の64×64ブロックからの参照は、再構成と同じ精度を有する。
c. 一例において、復号化されている現在のCTU以外のCTUからの参照は精度が低く、現在のCTUからの参照は再構成と同じ精度を有する。
d. 一例において、特定の色成分の集まりからの参照は精度が低く、他の色成分からの参照は再構成と同じ精度を有する。
59. CTUのサイズがM×Mであり、参照領域のサイズがnM×nMである場合、参照領域は、CTUの行における最も近い利用可能なn×n CTUである。
a. 一例において、参照領域のサイズが128×128であり、CTUのサイズが64×64である場合、1つのCTU行における最も近い利用可能な4つのCTUをIBC参照に使用できる。
b. 一例において、参照領域のサイズが128×128であり、CTUのサイズが32×32である場合、1つのCTU行における最も近い利用可能な16個のCTUをIBC参照に使用できる。
60. CTUのサイズがMであり、参照領域のサイズがnMである場合、参照領域は、CTUの行/タイルにおける最も近い利用可能なn-1個のCTUである。
a. 一例において、参照領域のサイズが128×128または256×64であり、CTUのサイズが64×64である場合、1つのCTU行における最も近い利用可能な3つのCTUをIBC参照に使用できる。
b. 一例において、参照領域のサイズが128×128または512×32であり、CTUのサイズが32×32である場合、1つのCTU行における最も近い利用可能な15個のCTUをIBC参照に使用できる。
61. CTUのサイズがMである場合、VPDUのサイズはkMであり、参照領域のサイズはnMであり、参照領域はCTUの行/タイルにおける最も近い利用可能なn-k個のCTUである。
a. 一例において、CTUのサイズは64×64であり、VPDUのサイズも64×64であり、参照のサイズは128×128であり、1つのCTUの行における最も近い3つのCTUをIBC参照のために使用できる。
b. 一例において、CTUのサイズは32×32であり、VPDUのサイズは64×64であり、参照のサイズは128×128であり、1つのCTU行における最も近い(16-4)=12個のCTUをIBC参照のために使用できる。
62. IBCを使用して、左上隅が(x,y)であるw×hブロックの場合、参照ブロックをメモリ再利用のための特定の領域から守る制約があり、wおよびhは、現在のブロックの幅および高さである。
a. 一例において、CTUのサイズが128×128であり、(x,y)=(m×64,n×64)である場合、参照ブロックは、((m-2)×64,n×64)から始まる64×64の領域と重複することはできない。
b. 一例において、CTUのサイズが128×128である場合、参照ブロックは、w×hブロックの左上隅が(x-128,y)である場合に重複することはできない。
c. 一例において、CTUのサイズが128×128である場合、(x+BVx,y+BVy)は、左上隅は(x-128,y)であるw*hブロック内に存在することはなく、BVxおよびBVyは、現在のブロックのブロックベクトルを表す。
d. 一例において、CTUのサイズがM×Mであり、IBCバッファサイズがk×M×Mである場合、参照ブロックは、w×hブロックと重複することができず、左上隅は(x-k×M,y)であり、BVxおよびBVyは、現在のブロックのブロックベクトルを表す。
e. 一例において、CTUのサイズがM×Mであり、IBCバッファサイズがk×M×Mである場合、(x+BVx,y+BVy)は、w×hイントラブロック内に存在することはなく、左上隅は(x-k×M,y)であり、BVxおよびBVyは、現在のブロックのブロックベクトルを表す。
63. CTUのサイズがM×Mでなく、参照領域のサイズがnM×nMである場合、参照領域は、CTUの行における最も近い利用可能なn×n-1個のCTUである。
a. 一例において、参照領域のサイズが128×128であり、CTUのサイズが64×64である場合、1つのCTU行における最も近い利用可能な3つのCTUをIBC参照に使用できる。
b. 一例において、参照領域のサイズが128×128であり、CTUのサイズが32×32である場合、1つのCTU行における最も近い利用可能な15個のCTUをIBC参照に使用できる。
64. (2m*64,2n*64)から始まる64×64のブロックのCU、即ち128×128CTUにおける左上の64×64ブロックの場合、そのIBC予測は、((2m-2)*64,2n*64)から始まる64×64ブロック、((2m-1)*64,2n*64)から始まる64×64ブロック、および((2m-1)*64,(2n+1)*64)から始まる64×64ブロック、および現在の64×64ブロックにおける再構成サンプルから行うことができる。
65. ((2m+1)*64、(2n+1)*64)から始まる64×64ブロックのCU、すなわち、128×128CTUにおける右下の64×64ブロックの場合、そのIBC予測は、現在の128×128CTUからであってもよい。
66. ((2m+1)*64,2n*64)から始まる64×64のブロックのCU、即ち128×128CTUにおける右上の64×64ブロックの場合、そのIBC予測は、((2m-1)*64, 2n*64)から始まる64×64ブロック、((2m-1)*64,(2n+1)*64)から始まる64×64ブロック、および(2m*64,2n*64)から始まる64×64ブロック、および現在の64×64ブロックにおける再構成サンプルから行うことができる。
a. 代替的に、(2m*64,(2n+1)*64)から始まる64×64ブロックを再構成した場合、IBC予測は、((2m-1)*64,2n*64)から始まる64×64ブロック、(2m*64,2n*64)から始まる64×64ブロック、(2m*64,(2n+1)*64)から始まる64×64ブロック、および現在の64×64ブロックにおける再構成サンプルから行うことができる。
67. (2m*64,(2n+1)*64)から始まる64×64ブロックのCU、即ち128×128CTUにおける左下の64×64ブロックの場合、そのIBC予測は、((2m-1)*64,(2n+1)*64)から始まる64×64ブロック、(2m*64,2n*64)から始まる64×64ブロック、((2m+1)*64,2n*64)から始まる64×64ブロック、および現在の64×64ブロックにおける再構成サンプルから行うことができる。
a. 代替的に、((2m+1)*64,2n*64)から始まる64×64ブロックを再構成されていない場合、IBC予測は、((2m-1)*64,2n*64)から始まる64×64ブロック、((2m-1)*64,(2n+1)*64)から始まる64×64ブロック、(2m*64,2n*64)から始まる64×64ブロック、および現在の64×64ブロックにおける再構成サンプルから行うことができる。
68. 現在のCUがどの64×64ブロックに属するかに基づいて、参照領域を調整することが提案される。
a. 一例において、(x,y)から始まるCUの場合、(y>>6)&1==0のとき、((x>>6<<6)-128,y>>6<<6)および((x>>6<<6)-64,y>>6<<6)から始まる2つまたは2つ前までの64×64ブロックは、IBCモードによって参照することができる。
b. 一例において、(x,y)から始まるCUの場合、(y>>6)&1==1であるとき、((x>>6<<6)-64,y>>6<<<6)から始まる1つの前の64×64ブロックは、IBCモードによって参照することができる。
69. (x,y)から始まり、ブロックベクトル(BVx,BVy)を有するブロックの場合、isRec(((x+BVx)>>6<<6)+128-(((y+BVy)>>6)&1)*64+(x%64),((y+BVy)>>6<<6)+(y%64))がtrueならば、ブロックベクトルは無効である。
a. 一例において、ブロックは輝度ブロックである。
b. 一例において、このブロックは、4:4:4フォーマットではクロマブロックである。
c. 一例において、このブロックは、輝度成分およびクロマ成分の両方を含む。
70. (x,y)から始まり、ブロックベクトル(BVx,BVy)を有する4:2:0形式のクロマブロックの場合、isRec(((x+BVx)>>5<<5)+64-(((y+BVy)>>5)&1)*32+(x%32),((y+BVy)>>5<<5)+(y%32))がtrueならば、ブロックベクトルは無効である。
71. 成分cのブロックに対してBVが無効であるかどうかの判定は、輝度サンプルのみをチェックする代わりに、成分Xのサンプルの可用性に依存してもよい。
a. (x,y)から始まり、ブロックベクトル(BVx,BVy)を有する成分cのブロックの場合、isRec(c,((x+BVx)>>6<<6)+128-(((y+BVy)>>6)&1)*64+(x%64),((y+BVy)>>6<<6)+(y%64))がtrueであれば、ブロックベクトルは無効として扱ってもよい。
i. 一例において、このブロックは、輝度ブロックである(例えば、cは、輝度成分であるか、またはRGB符号化のためのG成分である)。
ii. 一例において、このブロックは、4:4:4フォーマットのクロマブロックである(例えば、cは、cbまたはcr成分、またはRGB符号化のためのB/R成分である)。
iii. 一例において、例えば、このブロックは、輝度およびクロマ成分の両方を含むなど、輝度およびクロマ成分の両方のためのサンプルの可用性がチェックしてもよい。
b. 成分cの(x,y)から始まり、ブロックベクトル(BVx,BVy)を有する4:2:0形式のクロマブロックの場合、isRec(c,((x+BVx)>>5<<5)+64-(((y+BVy)>>5)&1)*32+(x%32),((y+BVy)>>5<<5)+(y%32))がtrueである場合、ブロックベクトルは、無効として扱ってもよい。
c. 成分cの(x,y)から始まり、ブロックベクトル(BVx,BVy)を有するクロマブロックまたはサブブロックの場合、クロマ成分のためのisRec(c,x+BVx+Chroma_CTU_size,y)がtrueである場合、ブロックベクトルは無効として扱ってもよく、Chroma_CTU_sizeは、クロマ成分のCTUサイズである。
i. 一例において、4:2:0フォーマットの場合、Chroma_CTU_sizeは64であってもよい。
ii. 一例において、クロマサブブロックは、4:2:0フォーマットの2×2ブロックであってもよい。
iii. 一例において、クロマサブブロックは、4:4:4フォーマットの4×4ブロックであってもよい。
iv. 一例において、クロマサブブロックは、輝度成分における最小CUサイズに対応しうる。
1. 代替的に、クロマサブブロックは、クロマ成分の最小CUサイズに対応してもよい。
72. 上述したすべての黒丸印について、参照バッファは複数のM×Mブロック(M=64)を含むと仮定する。しかしながら、これは、参照バッファが複数のN×M個のブロックを含む(例えば、N=128、M=64)等の他の場合にも拡張できる。
73. 上述したすべての黒丸印に対して、参照バッファが現在のブロックと同じブリック/タイル/タイルグループ/スライス内にあるべきであるという、さらなる制限を適用してもよい。
a. 一例において、参照バッファの一部が現在のブリック/タイル/タイルグループ/スライスの外にある場合、IBCの使用は無効にされ得る。IBC関連構文要素の信号通知はスキップしてもよい。
b. 代替的に、参照バッファの一部が現在のブリック/タイル/タイルグループ/スライスの外にある場合、IBCは1つのブロックに対して依然として有効化される可能性があるが、1つのブロックに関連付けられたブロックベクトルは残りの参照バッファのみを指してもよい。
74. IBCの参照領域として、現在のVPDUを除き、利用可能であれば、CTU/CTB行の第1のVPDU行において、K1個の最近符号化VPDUを有し、可能であれば、CTU/CTB行の第2のVPDU行において、K2個の最近符号化VPDUを有することが提案される。
a. 一例において、K1は2に等しく、K2は1に等しい。
b. 一例において、上記方法は、CTU/CTBサイズが128×128であり、VPDUサイズが64×64である場合に適用されてもよい。
c. 一例において、上記方法は、CTU/CTBサイズが64×64であり、VPDUサイズが64×64および/または32×32である場合に適用されてもよい。
d. 一例において、上記方法は、CTU/CTBサイズが32×32であり、VPDUサイズが32×32以下である場合に適用されてもよい。
75. 上述した方法は、異なる段階で適用されてもよい。
a. 一例において、ブロックベクトル(BV)のモジュール演算(例えば、mod b)を、BVの可用性チェック処理において呼び出して、BVが有効であるか否かを判定してもよい。
b. 一例において、ブロックベクトル(BV)のモジュール演算(例えば、mod b)を呼び出して、IBC仮想バッファまたは再構成ピクチャバッファにおける参照サンプルの位置(例えば、現在のサンプルの位置およびBVのモジュール結果に基づいて)を特定してもよい(例えば、インループフィルタリング処理の前)。
1) 1つのVPDU行の復号化の開始時に、バッファのすべての位置が利用不可能とマークされる。(xPrevVPDU,yPrevVPDU)は、(0,0)として設定される。
2) VPDUの第1のCUの復号化開始時に、x=(xPrevVPDU-2WVPDU+2mWVPDU)%(mWVPDU),..,((xPrevVPDU-2WVPDU+2mWVPDU)%(mWVPDU))-1+WVPDU;and y=yPrevVPDU%(nHVPDU),..,(yPrevVPDU%(nHVPDU))-1+HVPDUの場合の位置(x,y)を利用不可能としてマークしてもよい。そして、(xPrevVPDU,yPrevVPDU)を(xCU,yCU)として、即ち、CUのピクチャに対する左上位置に設定する。
3) 1つのCUを復号化した後、x=xCU%(mWVPDU),...,(xCU+CU_width-1)%(mWVPDU)およびy=yCU%(nHVPDU),...,(yCU+CU_height-1)%(nHVPDU)の場合の位置(x,y)は、利用可能としてマークされる。
4)ブロックベクトル(xBV,yBV)を有するIBCCUの場合、x=(xCU+xBV)%(mWVPDU),...,(xCU+xBV+CU_width-1)%(mWVPDU)およびy=(yCU+yBV)%(nHVPDU),...,(yCU+yBV+CU_height-1)%(nHVPDU)の場合の位置(x,y)は、利用不可能としてマークされ、ブロックベクトルは、無効であると考えられる。
1) 1つのVPDU行の復号化の開始時に、バッファのすべての位置が利用不可能とマークされる。(xPrevVPDU,yPrevVPDU)は、(0,0)として設定される。
2) VPDUの第1のCUの復号化の始めに、
a. yPrevVPDU%64が0に等しい場合、x=(xPrevVPDU-128)%192,..,((xPrevVPDU-128)%192)+63;およびy=yPrevVPDU%128,..,(yPrevVPDU%128)+63の位置(x,y)は、利用不可能としてマークされる。そして、(xPrevVPDU,yPrevVPDU)を(xCU,yCU)として、即ち、CUのピクチャに対する左上位置に設定する。
b. そうでない場合、x=(xPrevVPDU-64)%192,..,((xPrevVPDU-64)%192)+63;およびy=yPrevVPDU%128,..,(yPrevVPDU%128)+63の位置(x,y)は、利用不可能としてマークされる。そして、(xPrevVPDU,yPrevVPDU)を(xCU,yCU)として、即ち、CUのピクチャに対する左上位置に設定する。
3) 1つのCUを復号化した後、x=xCU%192,...,(xCU+CU_width-1)%192およびy=yCU%128,...,(yCU+CU_height-1)%128の場合の位置(x,y)は、利用可能としてマークされる。
4) ブロックベクトル(xBV,yBV)を有するIBCCUの場合、x=(xCU+xBV)%192,...,(xCU+xBV+CU_width-1)%192およびy=(yCU+yBV)%128,...,(yCU+yBV+CU_height-1)%128の場合の位置(x,y)は、利用不可能としてマークされ、ブロックベクトルは、無効であると考えられる。
1) 1つのVPDU行の復号化の開始時に、バッファのすべての位置が利用不可能とマークされる。(xPrevVPDU,yPrevVPDU)は、(0,0)として設定される。
2) VPDUの第1のCUの復号化の開始時に、x=(xPrevVPDU-Wbuf*S)%S,..,((xPrevVPDU-Wbuf*S)%S)+S-1;andy=yPrevVPDU%S,..,(yPrevVPDU%S)+S-1の場合の位置(x,y)は、利用不可能であるとマークされる。そして、(xPrevVPDU,yPrevVPDU)を(xCU,yCU)として、即ち、CUのピクチャに対する左上位置に設定する。
3) 1つのCUを復号化した後、x=xCU%(Wbuf),...,(xCU+CU_width-1)%(Wbuf)およびy=yCU%S,...,(yCU+CU_height-1)%Sである場合の位置(x,y)は、利用可能としてマークされる。
4) ブロックベクトル(xBV,yBV)を有するIBCCUの場合、x=(xCU+xBV)%(Wbuf),...,(xCU+xBV+CU_width-1)%(Wbuf)およびy=(yCU+yBV)%S,...,(yCU+yBV+CU_height-1)%Sの場合の位置(x,y)は、利用不可能としてマークされ、ブロックベクトルは、無効であると考えられる。
1) 1つのVPDU行の復号化の開始時に、バッファのすべての位置が利用不可能とマークされる。(xPrevVPDU,yPrevVPDU)は、(0,0)として設定される。
2) VPDUの第1のCUの復号化の始めに、
a. yPrevVPDU%64が0に等しい場合、x=(xPrevVPDU-128)%256,..,((xPrevVPDU-128)%256)+63;およびy=yPrevVPDU%128,..,(yPrevVPDU%128)+63の位置(x,y)は、利用不可能としてマークされる。そして、(xPrevVPDU,yPrevVPDU)を(xCU,yCU)として、即ち、CUのピクチャに対する左上位置に設定する。
b. そうでない場合、x=(xPrevVPDU-64)%256,..,((xPrevVPDU-64)%256)+63;およびy=yPrevVPDU%128,..,(yPrevVPDU%128)+63の位置(x,y)は、利用不可能としてマークされる。そして、(xPrevVPDU,yPrevVPDU)を(xCU,yCU)として、即ち、CUのピクチャに対する左上位置に設定する。
3) 1つのCUを復号化した後、x=xCU%256,...,(xCU+CU_width-1)%256およびy=yCU%128,...,(yCU+CU_height-1)%128の場合の位置(x,y)は、利用可能としてマークされる。
4) ブロックベクトル(xBV,yBV)を有するIBCCUの場合、x=(xCU+xBV)%256,...,(xCU+xBV+CU_width-1)%256およびy=(yCU+yBV)%128,...,(yCU+yBV+CU_height-1)%128の場合の位置(x,y)は、利用不可能としてマークされ、ブロックベクトルは、無効であると考えられる。
...
8.6.3.2項のブロックベクトルmvLでブロックベクトル妥当性検査処理が呼び出される時に、isBVvalidがtrueであることが、ビットストリーム共同性能の要件である。
...
- 現在のピクチャの左上の輝度サンプルに対する現在の符号化ブロックの左上のサンプルを規定する輝度位置(xCb,yCb)、
- 輝度サンプルにおける現在の符号化ブロックの幅を規定する変数cbWidth、
- 輝度サンプルにおける現在の符号化ブロックの高さを規定する変数cbHeight、
- 水平および垂直方向の輝度符号化サブブロックの数を規定する変数numSbXおよびnumSbY、
- 動きベクトルmv[xSbIdx][ySbIdx]withxSbIdx=0..numSbX-1、およびySbIdx=0..numSbY-1、
- 現在のブロックの色成分インデックスを規定する変数cIdx。
- a (nIbcBufW)×(ctbSize)array ibcBuf
...
- 現在のピクチャの左上の輝度サンプルに対する現在の符号化サブブロックの左上のサンプルを規定する輝度位置(xSb,ySb)は、以下のように導出される。
(xSb,ySb)=(xCb+xSbIdx*sbWidth,yCb+ySbIdx*sbHeight) (8-913)
cIdxが0に等しい場合、nIbcBufWをibcBufferWidthに設定し、そうでない場合、nIbcBufWを(ibcBufferWidth/SubWidthC)に設定する。以下のことが適用される。
predSamples[xSb+x][ySb+y]=ibcBuf[(xSb+x+(mv[xSb][ySb][0]>>4))% nIbcRefW][ySb+y+(mv[xSb][ySb][1]>>4)]with x=0..sbWidth-1 and y=0..sbHeight-1.
...
この処理への入力は以下の通りである。
- 現在のピクチャの左上の輝度サンプルに対する現在の符号化ブロックの左上のサンプルを規定する輝度位置(xCb,yCb)、
- 輝度サンプルにおける現在の符号化ブロックの幅を規定する変数cbWidth、
- 輝度サンプルにおける現在の符号化ブロックの高さを規定する変数cbHeight、
- 水平および垂直方向の輝度符号化サブブロックの数を規定する変数numSbXおよびnumSbY、
- xSbIdx=0..numSbX-1、およびySbIdx=0..numSbY-1の場合のブロックベクトルmv[xSbIdx][ySbIdx]、
- 現在のブロックの色成分インデックスを規定する変数cIdx、
- a(nIbcBufW)x(ctbSize)array ibcBuf
この処理の出力は、ブロックベクトルが有効であるかどうかを示すためのフラグisBVvalidである。
以下が適用される
1. isBVvalidはtrueに等しくなるように設定される。
2. ((yCb &(ctbSize-1)+mv[0][0][1]+cbHeight)>ctbSizeの場合、isBVvalidはfalseに等しく設定される。
3. そうでない場合、xSbIdx=0..numSbX-1,およびySbIdx=0..numSbY-1である各サブブロックインデックスxSbIdx,ySbIdxに対しては、ibcBufの左上の輝度サンプルに対するその位置を導出する。
xTL=(xCb+xSbIdx*sbWidth+mv[xSbIdx][ySbIdx][0])&(nIbcBufW-1)
yTL=(yCb&(ctbSize-1))+ySbIdx * sbHeight+mv[xSbIdx][ySbIdx][1]
xBR=(xCb+xSbIdx * sbWidth+sbWidth-1+mv[xSbIdx][ySbIdx][0])&(nIbcBufW-1)
yBR=(yCb &(ctbSize-1))+ySbIdx * sbHeight+sbHeight-1+mv[xSbIdx][ySbIdx][1]
もし(isDecoded[xTL>>2][yTL>>2]==0)あるいは(isDecoded[xBR>>2][yTL>>2]==0)あるいは(isDecoded[xBR>>2][yBR>>2]==0)であれば、isBVvalidはfalseに等しいと設定される。
- 現在のピクチャ成分の左上のサンプルに対する現在のブロックの左上のサンプルを規定する位置(xCurr,yCurr)、
- 現在のブロックの幅および高さをそれぞれ規定する変数nCurrSwおよびnCurrSh、
- 現在のブロックの色成分を規定する変数cIdx、
- 現在のブロックの予測サンプルを規定するan(nCurrSw)×(nCurrSh) array predSamples、
- 現在のブロックの残差サンプル規定するan(nCurrSw)×(nCurrSh) array 。
- 再構成されたピクチャサンプルアレイrecSamples。
- IBC参照アレイibcBuf
...
nIbcBufWはibcBufの幅であることを示し,以下が適用される。
ibcBuf[(xCurr+i)&(nIbcBufW-1)][(yCurr+j)&(ctbSize-1)]=recSamples[xCurr+i][yCurr+j]
with i=0..nCurrSw-1,j=0..nCurrSh-1.
- IsInSmr[x0][y0]is equal to TRUE.
- SmrX[x0][y0]is equal to x0.
- SmrY[x0][y0]is equal to y0.
CbPosX[x][y]=x0 (7-135)
CbPosY[x][y]=y0 (7-136)
CbWidth[x][y]=cbWidth (7-137)
CbHeight[x][y]=cbHeight (7-138)
vSizeをmin(ctbSize,64)、wIbcBufを(128*128/ctbSize)とする。ibcBufの幅および高さは、wIbcBufおよびctbSizeに従う。
refresHIbcBufが1に等しい場合、以下が適用される。
-ibcBuf[x % wIbcBuf][y % ctbSize]=-1,for x=x0..x0+wIbcBuf-1 and y=y0..y0+ctbSize-1
-resetIbcBuf=0
(x0 % vSize)が0に等しく、かつ、(y0 % vSize)が0に等しいとき,但しx=x0..x0+vSize-1 であって y=y0..y0+vSize -1であるが,以下が適用される。
ibcBuf[x % wIbcBuf][y % ctbSize]=-1
- 現在のピクチャの左上の輝度サンプルに対する現在の輝度符号化ブロックの左上のサンプルの輝度位置(xCb,yCb)、
- 輝度サンプルにおける現在の符号化ブロックの幅を規定する変数cbWidth、
- 輝度サンプルにおける現在の符号化ブロックの高さを規定する変数cbHeight。
- 1/16分数サンプル精度mvLにおける輝度動きベクトル。
- 8.6.2.2項で規定されたIBC輝度動きベクトル予測の導出処理は、輝度位置(xCb,yCb)、変数cbWidthおよびcbHeightを入力として呼び出され、その出力は輝度動きベクトルmvLである。
- general_merge_flag[xCb][yCb]が0の場合、以下が適用される
1. 変数mvdは、以下のように導出される。
mvd[0]=MvdL0[xCb][yCb][0] (8-883)
mvd[1]=MvdL0[xCb][yCb][1] (8-884)
2. 8.5.2.14項で規定されるような動きベクトルの丸め処理は、mvLに等しく設定されたmvXセット、MvShift+2に等しく設定されたrightShiftセット、MvShift+2に等しく設定されたleftShiftセットを入力として呼び出され、丸められたmvLが出力となる。
3. 輝度動きベクトルmvLは、以下のように修正される。
u[0]=(mvL[0]+mvd[0]+218)% 218 (8-885)
mvL[0]=(u[0]>=217)?(u[0]-218):u[0](8-886)
u[1]=(mvL[1]+mvd[1]+218)% 218 (8-887)
mvL[1]=(u[1]>=217)?(u[1]-218):u[1] (8-888)
注1- 上記で指定したmvL[0]およびmvL[1]の結果値は、常に-217~217-1の範囲に含まれる。
輝度ブロックベクトルmvLが以下の制約に従うべきであることは、ビットストリーム適合性の要件である。
-(((yCb+(mvL[1]>4))% wIbcBuf)+cbHeightがctbSize以下である。
-x=xCb..xCb+cbWidth-1およびy=yCb..yCb+cbHeight-1の場合、ibcBuf[(x+(mvL[0]>>4))% wIbcBuf][(y+(mvL[1]>>4))% ctbSize]は-1に等しくならない。
- 現在のピクチャ成分の左上のサンプルに対する現在のブロックの左上のサンプルを規定する位置(xCurr,yCurr)、
- 現在のブロックの幅および高さをそれぞれ規定する変数nCurrSwおよびnCurrSh、
- 現在のブロックの色成分を規定する変数cIdx、
- 現在のブロックの予測サンプルを規定するan(nCurrSw)×(nCurrSh)array predSamples、
- 現在のブロックの残差サンプル規定するan(nCurrSw)×(nCurrSh)array。
- cIdxが0に等しい場合、recSamplesは再構成ピクチャサンプルアレイSLに対応し、関数clipCidx1はClip1Yに対応する。
- そうでない場合、cIdxが1に等しければ、tuCbfChromaはtu_cbf_cb[xCurr][yCurr]に等しく設定され、recSamplesは再構成されたクロマサンプル配列SCbに対応し、関数clipCidx1はClip1Cに対応する。
- そうでない場合(cIdxが2に等しい)、tuCbfChromaをtu_cbf_cr[xCurr][yCurr]に等しく設定し、recSamplesは再構成されたクロマサンプル配列SCrに対応し、関数clipCidx1はClip1Cに対応する。
- slice_lmcs_enabled_flagが0に等しい場合、位置(xCurr,yCurr)における再構成サンプルrecSamplesの(nCurrSw)×(nCurrSh)ブロックは、i=0..nCurrSw-1,j=0..nCurrSh-1に対しては下記のように導出する。
recSamples[xCurr+i][yCurr+j]=clipCidx1(predSamples[i][j]+resSamples[i][j]) (8-992)
- そうでない場合(slice_lmcs_enabled_flagが1に等しい)、以下が適用される。
- cIdxが0に等しい場合、以下が適用される。
- 8.7.5.2項で規定されるような輝度サンプルのマッピング処理を伴うピクチャ再構成は、輝度位置(xCurr,yCurr)、ブロック幅nCurrSwおよび高さnCurrSh、予測輝度サンプル配列preSamples、および残差輝度サンプル配列resSamplesを入力として呼び出され、出力は再構成輝度サンプル配列reCamplesとなる。
-それ以外の場合(cIdxが0より大きい場合)は,8.7.5.3項で規定されているクロマサンプルの輝度依存クロマ残差スケーリング処理によるピクチャ再構成が、クロマの位置(xCurr,yCurr)、変換ブロックの幅nCurrSwおよび高さnCurrSh、現在のクロマ変換ブロックの符号化ブロックフラグtuCbfChroma、予測クロマサンプル配列 predSamples、残差クロマサンプル配列resSamplesを入力として呼び出され、再構成されたクロマサンプル配列recSamplesを出力とする。
現在の符号化ユニットを復号化した後、以下が適用される。
ibcBuf[(xCurr+i)% wIbcBuf][(yCurr+j)% ctbSize]
=recSamples[xCurr+i][yCurr+j]
for i=0..nCurrSw-1,j=0..nCurrSh-1.
- IsInSmr[x0][y0]is equal to TRUE.
- SmrX[x0][y0]is equal to x0.
- SmrY[x0][y0]is equal to y0.
CbPosX[x][y]=x0 (7-135)
CbPosY[x][y]=y0 (7-136)
CbWidth[x][y]=cbWidth (7-137)
CbHeight[x][y]=cbHeight (7-138)
vSizeをmin(ctbSize,64)に、wIbcBufYを(128*128/CtbSizeY)に設定する。
ibcBufLは、幅がwIbcBufYであり、高さがCtbSizeYである配列である。
ibcBufCbおよびibcBufCrは、幅がwIbcBufC=(wIbcBufY/SubWidthC)であり、高さが(CtbSizeY/SubHeightC)であるアレイ、すなわちCtbSizeCである。
resetIbcBufが1に等しい場合、以下が適用される。
- ibcBufL[x % wIbcBufY][y % CtbSizeY]=-1,for x=x0..x0+wIbcBufY-1 and y=y0..y0+CtbSizeY-1
- ibcBufCb[x % wIbcBufC][y % CtbSizeC]=-1,for x=x0..x0+wIbcBufC-1 and y=y0..y0+CtbSizeC -1
- ibcBufCr[x % wIbcBufC][ y % CtbSizeC ]=-1,for x=x0..x0+wIbcBufC-1 and y=y0..y0+CtbSizeC-1
- resetIbcBuf=0
(x0 % vSizeY)が0と等しく、(y0 % vSizeY)が0と等しい場合、以下が適用される。
- ibcBufL[x % wIbcBufY][y% CtbSizeY]=-1,for x=x0..x0+vSize -1 and y=y0..y0+vSize -1
- ibcBufCb[ x % wIbcBufC][y % CtbSizeC]=-1,for x=x0/SubWidthC..x0/SubWidthC+vSize/ SubWidthC-1 and y=y0/SubHeightC..y0/SubHeightC+vSize/SubHeightC-1
- ibcBufCr[ x % wIbcBufC][y % CtbSizeC]=-1,for x=x0/SubWidthC..x0/SubWidthC+vSize/SubWidthC-1 and y=y0/SubHeightC..y0/SubHeightC+vSize/SubHeightC-1
- 現在のピクチャの左上の輝度サンプルに対する現在の輝度符号化ブロックの左上のサンプルの輝度位置(xCb,yCb)、
- 輝度サンプルにおける現在の符号化ブロックの幅を規定する変数cbWidth、
- 輝度サンプルにおける現在の符号化ブロックの高さを規定する変数cbHeight。
- 1/16分数サンプル精度mvLにおける輝度動きベクトル。
- 8.6.2.2項で規定されたIBC輝度動きベクトル予測の導出処理は、輝度位置(xCb,yCb)、変数cbWidthおよびcbHeightを入力として呼び出され、その出力は輝度動きベクトルmvLである。
- general_merge_flag[xCb][yCb]が0と等しい場合、以下が適用される。
4. 変数mvdは、以下のように導出される。
mvd[0]=MvdL0[xCb][yCb][0] (8-883)
mvd[1]=MvdL0[xCb][yCb][1] (8-884)
5. 8.5.2.14項で規定されるような動きベクトルの丸め処理は、mvLに等しく設定されたmvXセット、MvShift+2に等しく設定されたrightShiftセット、MvShift+2に等しく設定されたleftShiftセットを入力として呼び出され、丸められたmvLが出力となる。
6. 輝度動きベクトルmvLは、以下のように修正される。
u[0]=(mvL[0]+mvd[0]+218)% 218 (8-885)
mvL[0]=(u[0]>=217)?(u[0]-218):u[0] (8-886)
u[1]=(mvL[1]+mvd[1]+218)% 218 (8-887)
mvL[1]=(u[1]>=217)?(u[1]-218):u[1] (8-888)
注1- 上記で指定したmvL[0]およびmvL[1]の結果値は、常に-217~217-1の範囲に含まれる。
8.6.2.5項は、mvLを入力として、mvCを出力として呼び出される。
輝度ブロックベクトルmvLが以下の制約に従うべきであることは、ビットストリーム適合性の要件である。
- (((yCb+(mvL[1]>4))% CtbSizeY)+cbHeightがCtbSizeY以下である。
- x=xCb..xCb+cbWidth-1およびy=yCb..yCb+cbHeight-1の場合、ibcBufL[(x+(mvL[0]>>4))% wIbcBufY][(y+(mvL[1]>>4))% CtbSizeY]は、-1に等しくはならない。
- treeType がSINGLE_TREEに等しい場合、x=xCb..xCb+cbWidth-1およびy=yCb..yCb+cbHeight-1に対しては、,ibcBufCb[(x+(mvC[0]>5))% wIbcBufC][(y+(mvC[1]>>5))% CtbSizeC]]は、-1に等しくはならない。
- 現在のピクチャの左上の輝度サンプルに対する現在の符号化ブロックの左上のサンプルを規定する輝度位置(xCb,yCb)、
- 輝度サンプルにおける現在の符号化ブロックの幅を規定する変数cbWidth、
- 輝度サンプルにおける現在の符号化ブロックの高さを規定する変数cbHeight、
- 現在のブロックの色成分インデックス、
- 動きベクトルmv、
- an(wIbcBufY)×(CtbSizeY)array ibcBufL,an(wIbcBufC)×(CtbSizeC)array ibcBufCb, an(wIbcBufC)×(CtbSizeC)array ibcBufCr。
- 予測サンプルの配列predSamples。
x=xCb..xCb+Width-1およびy=yCb..yCb+Height-1の場合、以下が適用される
cIdxが0に等しい場合
predSamples[x][y]=ibcBufL[(x+mv[0]>>4))% wIbcBufY][(y+(mv[1]>>4))% CtbSizeY]
cIdxが1に等しい場合
predSamples[x][y]=ibcBufCb[(x+mv[0]>>5))% wIbcBufC][(y+(mv[1]>>5))% CtbSizeC]
cIdxが2に等しい場合
predSamples[x][y]=ibcBufCr[(x+mv[0]>>5))% wIbcBufC][(y+(mv[1]>>5))% CtbSizeC]
- 現在のピクチャ成分の左上のサンプルに対する現在のブロックの左上のサンプルを規定する位置(xCurr,yCurr)、
- 現在のブロックの幅および高さをそれぞれ規定する変数nCurrSwおよびnCurrSh、
- 現在のブロックの色成分を規定する変数cIdx、
- 現在のブロックの予測サンプルを規定するan(nCurrSw)×(nCurrSh)array predSamples、
- 現在のブロックの残差サンプル規定するan(nCurrSw)×(nCurrSh)array。
- cIdxが0に等しい場合、recSamplesは再構成ピクチャサンプルアレイSLに対応し、関数clipCidx1はClip1Yに対応する。
- そうでない場合、cIdxが1に等しければ、tuCbfChromaはtu_cbf_cb[xCurr][yCurr]に等しく設定され、recSamplesは再構成されたクロマサンプル配列SCbに対応し、関数clipCidx1はClip1Cに対応する。
- そうでない場合、(cIdxが2に等しければ、tuCbfChromaはtu_cbf_cb[xCurr][yCurr]に等しく設定され、recSamplesは再構成されたクロマサンプル配列SCbに対応し、関数clipCidx1はClip1Cに対応する。
- slice_lmcs_enabled_flagが0に等しい場合、位置(xCurr,yCurr)における再構成サンプルrecSamplesの(nCurrSw)x(nCurrSh)ブロックは、i=0..nCurrSw-1,j=0..nCurrSh-1に対しては下記のように導出する。
recSamples[xCurr+i][yCurr+j]=clipCidx1(predSamples[i][j]+resSamples[i][j]) (8-992)
- そうでない場合(slice_lmcs_enabled_flagが1に等しい)、以下が適用される。
- cIdxが0に等しい場合、以下が適用される。
- 8.7.5.2項で規定されるような輝度サンプルのマッピング処理を伴うピクチャ再構成は、輝度位置(xCurr,yCurr)、ブロック幅nCurrSwおよび高さnCurrSh、予測輝度サンプル配列preSamples、および残差輝度サンプル配列resSamplesを入力として呼び出され、出力は再構成輝度サンプル配列reCamplesとなる。
- それ以外の場合(cIdxが0より大きい場合)は,8.7.5.3項で規定されているクロマサンプルの輝度依存クロマ残差スケーリング処理によるピクチャ再構成が、クロマの位置(xCurr,yCurr)、変換ブロックの幅nCurrSwおよび高さnCurrSh、現在のクロマ変換ブロックの符号化ブロックフラグtuCbfChroma、予測クロマサンプル配列predSamples、残差クロマサンプル配列resSamplesを入力として呼び出され、再構成されたクロマサンプル配列recSamplesを出力とする。
現在の符号化ユニットを復号化した後、以下を適用することができる。
cIdxが0に等しく、treeTypeがSINGLE_TREEまたはDUAL_TREE_LUMAに等しい場合、以下が適用される。
ibcBufL[(xCurr+i)% wIbcBufY][(yCurr+j)% CtbSizeY]=recSamples[xCurr+i][yCurr+j]
for i=0..nCurrSw-1, j=0..nCurrSh-1.
cIdxが1に等しく、treeTypeがSINGLE_TREEまたはDUAL_TREE_CHROMAに等しい場合、以下が適用される。
ibcBufCb[(xCurr+i)% wIbcBufC][(yCurr+j)% CtbSizeC]=recSamples[xCurr+i][yCurr+j]
for i=0..nCurrSw-1, j=0..nCurrSh-1.
cIdxが2に等しく、treeTypeがSINGLE_TREEまたはDUAL_TREE_CHROMAに等しい場合、以下が適用される。
ibcBufCr[(xCurr+i)% wIbcBufC][(yCurr+j)% CtbSizeC]=recSamples[xCurr+i][yCurr+j]
for i=0..nCurrSw-1, j=0..nCurrSh-1.
- IsInSmr[x0][y0]is equal to TRUE.
- SmrX[x0][y0]is equal to x0.
- SmrY[x0][y0]is equal to y0.
CbPosX[x][y]=x0 (7-135)
CbPosY[x][y]=y0 (7-136)
CbWidth[x][y]=cbWidth (7-137)
CbHeight[x][y]=cbHeight (7-138)
vSizeをmin(ctbSize,64)に、wIbcBufYを(128*128/CtbSizeY)に設定する。
ibcBufLは、幅がwIbcBufYであり、高さがCtbSizeYである配列である。
ibcBufCbおよびibcBufCrは、幅がwIbcBufC=(wIbcBufY/SubWidthC)であり、高さが(CtbSizeY/SubHeightC)であるアレイ、すなわちCtbSizeCである。
resetIbcBufが1に等しい場合、以下が適用される。
- ibcBufL[x % wIbcBufY][y % CtbSizeY]=-1,for x=x0..x0+wIbcBufY-1 and y=y0..y0+CtbSizeY-1
- ibcBufCb[x % wIbcBufC][y % CtbSizeC]=-1,for x=x0..x0+wIbcBufC-1 and y=y0..y0+CtbSizeC-1
- ibcBufCr[x % wIbcBufC][y % CtbSizeC]=-1,for x=x0..x0+wIbcBufC-1 and y=y0..y0+CtbSizeC-1
- resetIbcBuf=0
(x0 % vSizeY)が0と等しく、(y0 % vSizeY)が0と等しい場合、以下が適用される。
- ibcBufL[ x % wIbcBufY][y % CtbSizeY]=-1,for x=x0..x0+min(vSize,cbWidth)-1 and y=y0..y0+min(vSize, cbHeight)-1
- ibcBufCb[ x % wIbcBufC][y % CtbSizeC]=-1,for x=x0/SubWidthC..x0/SubWidthC+min(vSize/SubWidthC,cbWidth)-1 and y=y0/SubHeightC..y0/SubHeightC+min(vSize/SubHeightC,cbHeight)-1
- ibcBufCr[ x % wIbcBufC][y % CtbSizeC]=-1,for x=x0/SubWidthC..x0/SubWidthC+min(vSize/SubWidthC,cbWidth)-1 and y=y0/SubHeightC..y0/SubHeightC+min(vSize/SubHeightC,cbHeight)-1
- 現在のピクチャの左上の輝度サンプルに対する現在の輝度符号化ブロックの左上のサンプルの輝度位置(xCb,yCb)、
- 輝度サンプルにおける現在の符号化ブロックの幅を規定する変数cbWidth、
- 輝度サンプルにおける現在の符号化ブロックの高さを規定する変数cbHeight。
- 1/16分数サンプル精度mvLにおける輝度動きベクトル。
- 8.6.2.2項で規定されたIBC輝度動きベクトル予測の導出処理は、輝度位置(xCb,yCb)、変数cbWidthおよびcbHeightを入力として呼び出され、その出力は輝度動きベクトルmvLである。
- general_merge_flag[xCb][yCb]が0の場合、以下が適用される
7. 変数mvdは、以下のように導出される。
mvd[0]=MvdL0[xCb][yCb][0] (8-883)
mvd[1]=MvdL0[xCb][yCb][1] (8-884)
8. 8.5.2.14項で規定されるような動きベクトルの丸め処理は、mvLに等しく設定されたmvXセット、MvShift+2に等しく設定されたrightShiftセット、MvShift+2に等しく設定されたleftShiftセットを入力として呼び出され、丸められたmvLが出力となる。
9. 輝度動きベクトルmvLは、以下のように修正される。
u[0]=(mvL[0]+mvd[0]+218)% 218 (8-885)
mvL[0]=(u[0]>=217)?(u[0]-218):u[0] (8-886)
u[1]=(mvL[1]+mvd[1]+218)% 218 (8-887)
mvL[1]=(u[1]>=217)?(u[1]-218):u[1] (8-888)
注1- 上記で指定したmvL[0]およびmvL[1]の結果値は、常に-217~217-1の範囲に含まれる。
8.6.2.5項は、mvLを入力として、mvCを出力として呼び出される。
輝度ブロックベクトルmvLが以下の制約に従うべきであることは、ビットストリーム適合性の要件である。
- (((yCb+(mvL[1]>4))% CtbSizeY)+cbHeightがCtbSizeY以下である。
- x=xCb..xCb+cbWidth-1およびy=yCb..yCb+cbHeight-1の場合、ibcBufL[(x+(mvL[0]>>4))% wIbcBufY][(y+(mvL[1]>>4))% CtbSizeY]は、-1に等しくはならない。
- treeTypeがSINGLE_TREEに等しい場合、x=xCb..xCb+cbWidth-1およびy=yCb..yCb+cbHeight-1に対しては、ibcBufCb[(x+(mvC[0]>5))%wIbcBufC][(y+(mvC[1]>>5))%CtbSizeC]]は、-1に等しくはならない。
- 現在のピクチャの左上の輝度サンプルに対する現在の符号化ブロックの左上のサンプルを規定する輝度位置(xCb,yCb)、
- 輝度サンプルにおける現在の符号化ブロックの幅を規定する変数cbWidth、
- 輝度サンプルにおける現在の符号化ブロックの高さを規定する変数cbHeight、
- 現在のブロックの色成分インデックスを規定する変数cIdx、
- ・動きベクトルmv、
- an(wIbcBufY)x(CtbSizeY)array ibcBufL,an(wIbcBufC)x(CtbSizeC)array ibcBufCb, an(wIbcBufC)x(CtbSizeC)array ibcBufCr.
この処理の出力は以下の通りである。
- 予測サンプルの配列predSamples
x=xCb..xCb+Width-1およびy=yCb..yCb+Height-1,の場合、以下が適用される
cIdxが0に等しい場合predSamples[x][y]=ibcBufL[(x+mv[0]>>4))% wIbcBufY][(y+(mv[1]>>4))% CtbSizeY]
cIdxが1に等しい場合predSamples[x][y]=ibcBufCb[(x+mv[0]>>5))% wIbcBufC][(y+(mv[1]>>5))% CtbSizeC]
cIdxが2に等しい場合
predSamples[x][y]=ibcBufCr[(x+mv[0]>>5))% wIbcBufC][(y+(mv[1]>>5))% CtbSizeC]
- 現在のピクチャ成分の左上のサンプルに対する現在のブロックの左上のサンプルを規定する位置(xCurr,yCurr)、
- 現在のブロックの幅および高さをそれぞれ規定する変数nCurrSwおよびnCurrSh、
- 現在のブロックの色成分を規定する変数cIdx、
- 現在のブロックの予測サンプルを規定するan(nCurrSw)×(nCurrSh)array predSamples、
- 現在のブロックの残差サンプル規定するan(nCurrSw)×(nCurrSh)array。
- cIdxが0に等しい場合、recSamplesは再構成ピクチャサンプルアレイSLに対応し、関数clipCidx1はClip1Yに対応する。
- そうでない場合、cIdxが1に等しければ、tuCbfChromaはtu_cbf_cb[xCurr][yCurr]に等しく設定され、recSamplesは再構成されたクロマサンプル配列SCbに対応し、関数clipCidx1はClip1Cに対応する。
- そうでない場合、(cIdxが2に等しければ、tuCbfChromaはtu_cbf_cb[xCurr][yCurr]に等しく設定され、recSamplesは再構成されたクロマサンプル配列SCrに対応し、関数clipCidx1はClip1Cに対応する。
-slice_lmcs_enabled_flagが0に等しい場合、位置(xCurr,yCurr)における再構成サンプルrecSamplesの(nCurrSw)×(nCurrSh)ブロックは、i=0..nCurrSw-1,j=0..nCurrSh-1に対しては下記のように導出する。
recSamples[xCurr+i][yCurr+j]=clipCidx1(predSamples[i][j]+resSamples[i][j]) (8-992)
- そうでない場合(slice_lmcs_enabled_flagが1に等しい)、以下が適用される。
- cIdxが0に等しい場合、以下が適用される。
- 8.7.5.2項で規定されるような輝度サンプルのマッピング処理を伴うピクチャ再構成は、輝度位置(xCurr,yCurr)、ブロック幅nCurrSwおよび高さnCurrSh、予測輝度サンプル配列preSamples、および残差輝度サンプル配列resSamplesを入力として呼び出され、出力は再構成輝度サンプル配列reCamplesとなる。
それ以外の場合(cIdxが0より大きい場合)は,8.7.5.3項で規定されているクロマサンプルの輝度依存クロマ残差スケーリング処理によるピクチャ再構成が、クロマの位置(xCurr,yCurr)、変換ブロックの幅nCurrSwおよび高さnCurrSh、現在のクロマ変換ブロックの符号化ブロックフラグtuCbfChroma、予測クロマサンプル配列 predSamples、残差クロマサンプル配列resSamplesを入力として呼び出され、再構成されたクロマサンプル配列recSamplesを出力とする。
現在の符号化ユニットを復号化した後、以下を適用することができる。
cIdxが0に等しく、treeTypeがSINGLE_TREEまたはDUAL_TREE_LUMAに等しい場合、以下が適用される。
ibcBufL[(xCurr+i)% wIbcBufY][(yCurr+j)% CtbSizeY]=recSamples[xCurr+i][yCurr+j]
for i=0..nCurrSw-1,j=0..nCurrSh-1.
cIdxが1に等しく、treeTypeがSINGLE_TREEまたはDUAL_TREE_CHROMAに等しい場合、以下が適用される。
ibcBufCb[(xCurr+i)% wIbcBufC][(yCurr+j)% CtbSizeC]=recSamples[xCurr+i][yCurr+j]
for i=0..nCurrSw-1, j=0..nCurrSh-1.
cIdxが2に等しく、treeTypeがSINGLE_TREEまたはDUAL_TREE_CHROMAに等しい場合、以下が適用される。
ibcBufCr[(xCurr+i)% wIbcBufC][(yCurr+j)% CtbSizeC]=recSamples[xCurr+i][yCurr+j]
for i=0..nCurrSw-1,j=0..nCurrSh-1.
- IsInSmr[x0][y0] is equal to TRUE.
- SmrX[x0][y0] is equal to x0.
- SmrY[x0][y0] is equal to y0.
CbPosX[x][y]=x0 (7-135)
CbPosY[x][y]=y0 (7-136)
CbWidth[x][y]=cbWidth (7-137)
CbHeight[x][y]=cbHeight (7-138)
vSizeをmin(ctbSize,64)に、wIbcBufYを(128*128/CtbSizeY)に設定する。
ibcBufLは、幅がwIbcBufYであり、高さがCtbSizeYである配列である。
ibcBufCbおよびibcBufCrは、幅がwIbcBufC=(wIbcBufY/SubWidthC)であり、高さが(CtbSizeY/SubHeightC)であるアレイ、すなわちCtbSizeCである。
resetIbcBufが1に等しい場合、以下が適用される。
- ibcBufL[x%wIbcBufY][y % CtbSizeY]=-1,for x=x0..x0+wIbcBufY-1 and y=y0..y0+CtbSizeY-1
- ibcBufCb[x % wIbcBufC][y % CtbSizeC]=-1,for x=x0..x0+wIbcBufC-1 and y=y0..y0+CtbSizeC-1
- ibcBufCr[x % wIbcBufC][y % CtbSizeC]=-1,for x=x0..x0+wIbcBufC-1 and y=y0..y0+CtbSizeC-1
- resetIbcBuf=0
(x0 % vSizeY)が0と等しく、(y0 % vSizeY)が0と等しい場合、以下が適用される。
- ibcBufL[x % wIbcBufY][y % CtbSizeY]=-1,for x=x0..x0+max(vSize,cbWidth)-1 and y=y0..y0+max(vSize,cbHeight)-1
- ibcBufCb[x % wIbcBufC][y % CtbSizeC]=-1,for x=x0/SubWidthC..x0/SubWidthC+max(vSize/SubWidthC,cbWidth)-1 and y=y0/SubHeightC..y0/SubHeightC+max(vSize/SubHeightC,cbHeight)-1
- ibcBufCr[x % wIbcBufC][y % CtbSizeC]=-1,for x=x0/SubWidthC..x0/SubWidthC+max(vSize/SubWidthC,cbWidth)-1 and y=y0/SubHeightC..y0/SubHeightC+max(vSize/SubHeightC,cbHeight)-1
- 現在のピクチャの左上の輝度サンプルに対する現在の輝度符号化ブロックの左上のサンプルの輝度位置(xCb,yCb)、
- 輝度サンプルにおける現在の符号化ブロックの幅を規定する変数cbWidth、
- 輝度サンプルにおける現在の符号化ブロックの高さを規定する変数cbHeight。
- 1/16分数サンプル精度mvLにおける輝度動きベクトル。
- 8.6.2.2項で規定されたIBC輝度動きベクトル予測の導出処理は、輝度位置(xCb,yCb)、変数cbWidthおよびcbHeightを入力として呼び出され、その出力は輝度動きベクトルmvLである。
- general_merge_flag[xCb][yCb]が0と等しい場合、以下が適用される
10. 変数mvdは、以下のように導出される。
mvd[0]=MvdL0[xCb][yCb][0] (8-883)
mvd[1]=MvdL0[xCb][yCb][1] (8-884)
11. 8.5.2.14項で規定されるような動きベクトルの丸め処理は、mvLに等しく設定されたmvXセット、MvShift+2に等しく設定されたrightShiftセット、MvShift+2に等しく設定されたleftShiftセットを入力として呼び出され、丸められたmvLが出力となる。
12. 輝度動きベクトルmvLは、以下のように修正される。
u[0]=(mvL[0]+mvd[0]+218)% 218 (8-885)
mvL[0]=(u[0]>=217)?(u[0]-218):u[0] (8-886)
u[1]=(mvL[1]+mvd[1]+218)% 218 (8-887)
mvL[1]=(u[1]>=217)?(u[1]-218):u[1] (8-888)
注1- 上記で指定したmvL[0]およびmvL[1]の結果値は、常に-217~217-1の範囲に含まれる。
8.6.2.5項は、mvLを入力として、mvCを出力として呼び出される。
輝度ブロックベクトルmvLが以下の制約に従うべきであることは、ビットストリーム適合性の要件である。
- (((yCb+(mvL[1]>4))% CtbSizeY)+cbHeightがCtbSizeY以下である。
- x=xCb..xCb+cbWidth-1およびy=yCb..yCb+cbHeight-1の場合、ibcBufL[(x+(mvL[0]>>4))% wIbcBufY][(y+(mvL[1]>>4))% CtbSizeY]は、-1に等しくはならない。
- 現在のピクチャの左上の輝度サンプルに対する現在の符号化ブロックの左上のサンプルを規定する輝度位置(xCb,yCb)、
- 輝度サンプルにおける現在の符号化ブロックの幅を規定する変数cbWidth、
- 輝度サンプルにおける現在の符号化ブロックの高さを規定する変数cbHeight、
- 現在のブロックの色成分インデックスを規定する変数cIdx、
- 動きベクトルmv
- an(wIbcBufY)×(CtbSizeY) array ibcBufL, an(wIbcBufC)×(CtbSizeC)array ibcBufCb, an(wIbcBufC)×(CtbSizeC)array ibcBufCr。
この処理の出力は以下の通りである。
- 予測サンプルの配列predSamples。
x=xCb..xCb+Width-1およびy=yCb..yCb+Height-1,の場合、以下が適用される
cIdxが0に等しい場合
predSamples[x][y]=ibcBufL[(x+mv[0]>>4))% wIbcBufY][(y+(mv[1]>>4))% CtbSizeY]
cIdxが1に等しい場合
predSamples[x][y]=ibcBufCb[(x+mv[0]>>5))% wIbcBufC][(y+(mv[1]>>5))% CtbSizeC]
cIdxが2に等しい場合
predSamples[x][y]=ibcBufCr[(x+mv[0]>>5))%wIbcBufC][(y+(mv[1]>>5))% CtbSizeC]
- 現在のピクチャ成分の左上のサンプルに対する現在のブロックの左上のサンプルを規定する位置(xCurr,yCurr)、
- 現在のブロックの幅および高さをそれぞれ規定する変数nCurrSwおよびnCurrSh、
- 現在のブロックの色成分を規定する変数cIdx、
- 現在のブロックの予測サンプルを規定するan(nCurrSw)×(nCurrSh) array predSamples、
- 現在のブロックの残差サンプル規定するan(nCurrSw)×(nCurrSh) array。
- cIdxが0に等しい場合、recSamplesは再構成ピクチャサンプルアレイSLに対応し、関数clipCidx1はClip1Yに対応する。
- そうでない場合、cIdxが1に等しければ、tuCbfChromaはtu_cbf_cb[xCurr][yCurr]に等しく設定され、recSamplesは再構成されたクロマサンプル配列SCbに対応し、関数clipCidx1はClip1Cに対応する。
- そうでない場合、(cIdxが2に等しければ、tuCbfChromaはtu_cbf_cb[xCurr][yCurr]に等しく設定され、recSamplesは再構成されたクロマサンプル配列SCbに対応し、関数clipCidx1はClip1Cに対応する。
- slice_lmcs_enabled_flagが0に等しい場合、位置(xCurr,yCurr)における再構成サンプルrecSamplesの(nCurrSw)x(nCurrSh)ブロックは、i=0..nCurrSw-1,j=0..nCurrSh-1に対しては下記のように導出する。
recSamples[xCurr+i][yCurr+j]=clipCidx1(predSamples[i][j]+resSamples[i][j]) (8-992)
- そうでない場合(slice_lmcs_enabled_flagが1に等しい)、以下が適用される。
- cIdxが0に等しい場合、以下が適用される。
- 8.7.5.2項で規定されるような輝度サンプルのマッピング処理を伴うピクチャ再構成は、輝度位置(xCurr,yCurr)、ブロック幅nCurrSwおよび高さnCurrSh、予測輝度サンプル配列preSamples、および残差輝度サンプル配列resSamplesを入力として呼び出され、出力は再構成輝度サンプル配列reCamplesとなる。
- それ以外の場合(cIdxが0より大きい場合)は,8.7.5.3項で規定されているクロマサンプルの輝度依存クロマ残差スケーリング処理によるピクチャ再構成が、クロマの位置(xCurr,yCurr)、変換ブロックの幅nCurrSwおよび高さnCurrSh、現在のクロマ変換ブロックの符号化ブロックフラグtuCbfChroma、予測クロマサンプル配列predSamples、残差クロマサンプル配列resSamplesを入力として呼び出され、再構成されたクロマサンプル配列recSamplesを出力とする。
現在の符号化ユニットを復号化した後、以下を適用することができる。
cIdxが0に等しく、treeTypeがSINGLE_TREEまたはDUAL_TREE_LUMAに等しい場合、以下が適用される。
ibcBufL[(xCurr+i)% wIbcBufY][(yCurr+j)% CtbSizeY]=recSamples[xCurr+i][yCurr+j]
for i=0..nCurrSw-1,j=0..nCurrSh-1.
cIdxが1に等しく、treeTypeがSINGLE_TREEまたはDUAL_TREE_CHROMAに等しい場合、以下が適用される。
ibcBufCb[(xCurr+i)% wIbcBufC][(yCurr+j)% CtbSizeC]=recSamples[xCurr+i][yCurr+j]
fori=0..nCurrSw-1,j=0..nCurrSh-1.
cIdxが2に等しく、treeTypeがSINGLE_TREEまたはDUAL_TREE_CHROMAに等しい場合、以下が適用される。
ibcBufCr[(xCurr+i)% wIbcBufC][(yCurr+j)% CtbSizeC]=recSamples[xCurr+i][yCurr+j]
fori=0..nCurrSw-1,j=0..nCurrSh-1.
1. より小さなCTUサイズを扱うことが問題となり場合がある。CTUのサイズが32x32であるとすると、現在のVPDUを復号化する現在の64×64メモリが、異なるアーキテクチャにおいて32×32レベルのメモリ再利用を効率的にサポートできるかどうかは、不明である。
2. 参照領域は有意に異なる。従って、あまりにも多くのビットストリーム適合性の制約が導入されている。これは、参照領域を効率的に利用し、合法的なビットストリームの生成を回避するために、エンコーダに余分な負担をかける。また、異なるモジュール、例えばマージリストにおいて無効なBVを有する可能性が高まる。これらの無効なBVを扱うことにより、余分なロジックまたは余分な適合性の制約を導入してしまう場合がある。これは、エンコーダまたはデコーダに負担をもたらすだけでなく、BV符号化とMV符号化との間に相違を生じさせる可能性がある。
3. 設計がうまく拡大縮小されていない。VPDU復号化はIBCバッファと混合されるので、現在の1つの128×128CTU設計に対して参照領域を増減させることは容易ではない。を利用することは、より低いまたはより高いプロファイルなどの、後の開発において、より優れた符号化効率とオンチップメモリのトレードオフを有効に利用するための柔軟性を制限する可能性がある。
4. IBC参照バッファのビット深度は、復号化バッファに接続される。通常、スクリーンコンテンツのビット深度は内部復号化のビット深度よりも小さいが、バッファは、大部分が丸められたり量子化されたりするノイズを表すビットを記憶するために、依然としてメモリを費やす必要がある。より高い復号化ビット深度構成を考える場合、この問題はさらに深刻になる。
視覚メディアデータの現在の映像ブロックと現在の映像ブロックのビットストリーム表現との間での変換のため、イントラブロックコピーモードで予測するための再構成サンプルを記憶するバッファを判定することと、このバッファは、ループフィルタリングステップの前に再構成サンプルを記憶するために使用され、
バッファに記憶された再構成サンプルを使用してこの変換を行うことと、を含み、この変換は、参照ピクチャを参照することなく、現在の映像ブロックと同じ映像領域に位置する再構成ブロックに関する動き情報に基づくイントラブロックコピーモードで行われる。
視覚メディアデータの現在の映像ブロックと前記現在の映像ブロックのビットストリーム表現との間での変換のため、イントラブロックコピーモードで予測するための再構成サンプルを記憶するバッファを判定することと、前記バッファは、ループフィルタリングステップの後に前記再構成サンプルを記憶するために使用され、
前記バッファに記憶された前記再構成サンプルを使用して前記変換を行うことと、を含み、前記変換は、参照ピクチャを参照することなく、前記現在の映像ブロックと同じ映像領域に位置する再構成ブロックに関する動き情報に基づく前記イントラブロックコピーモードで行われる。
視覚メディアデータの現在の映像ブロックと前記現在の映像ブロックのビットストリーム表現との間での変換のため、イントラブロックコピーモードで予測するための再構成サンプルを記憶するバッファを判定することと、前記バッファが、ループフィルタリングステップの前とループフィルタリングステップの後の両方に再構成サンプルを記憶するために使用され、
バッファに記憶された再構成サンプルを使用してこの変換を行うことと、を含み、この変換は、参照ピクチャを参照することなく、現在の映像ブロックと同じ映像領域に位置する再構成ブロックに関する動き情報に基づくイントラブロックコピーモードで行われる。
イントラブロックコピーモードにおいて、予測のための参照サンプルを記憶するためにバッファを使用することと、前記バッファの第1のビット深度は、前記ビットストリーム表現において視覚メディアデータを表すために使用される第2のビット深度とは異なり、
前記バッファに記憶された前記参照サンプルを使用して、前記視覚メディアデータの現在の映像ブロックと前記現在の映像ブロックのビットストリーム表現との間での変換を行うことと、を含み、前記変換は、参照ピクチャを参照することなく、前記現在の映像ブロックと同じ映像領域に位置する再構成ブロックに関する動き情報に基づく前記イントラブロックコピーモードで行われる。
Claims (12)
- 視覚メディア処理方法であって、
映像の現在の映像ブロックと前記映像のビットストリームとの変換について、前記現在の映像ブロックに第1のコーディングモードが適用されていることを判定することと、
前記現在の映像ブロックに対する第1のブロックベクトル(BVx,BVy)を導出することと、
前記第1のブロックベクトルおよびバッファに基づいて、前記現在の映像ブロックの第1のサンプル(x0,y0)に対する第1の予測サンプルを生成することであって、前記バッファの幅および高さはそれぞれMおよびNで表され、前記第1のコーディングモードにおいて前記現在の映像ブロックの予測サンプルは前記現在の映像ブロックを含む同一のピクチャから導出されることと、
前記現在の映像ブロックの予測サンプルに基づいて前記変換を行うことと、を含み、
(x0+BVx,y0+BVy)に対して位置変換演算を行い、前記第1の予測サンプルの前記バッファ内の位置を導出し、
前記位置変換演算はモデュロ演算であり、前記第1の予測サンプルの前記位置は((x0+BVx)mod M,(y0+BVy)mod N)によって表され、modはモデュロ関数である、方法。 - 前記第1のブロックベクトル(BVx,BVy)は、整数画素精度に基づく、
請求項1に記載の方法。 - 前記バッファには、インループフィルタリング処理を適用せずに、再構成されたサンプルが記憶される、
請求項1または2に記載の方法。 - 前記Mおよび前記Nは、前記現在の映像ブロックを含む前記ピクチャに対して不変に維持される、
請求項1~3のいずれか1項に記載の方法。 - 前記バッファは、各コーディングツリーユニット行に固定値にリセットされる、
請求項1~4のいずれか1項に記載の方法。 - 再構成されたサンプルを記憶する順番はコーディング順と同じである、
請求項1~5のいずれか1項に記載の方法。 - 前記バッファは矩形領域であり、MがNよりも大きい、
請求項1~6のいずれか1項に記載の方法。 - 前記変換は、前記現在の映像ブロックを前記ビットストリームに符号化することを含む、
請求項1~7のいずれか1項に記載の方法。 - 前記変換は、前記ビットストリームから前記現在の映像ブロックを復号化すること含む、
請求項1~7のいずれか1項に記載の方法。 - 処理装置と、前記処理装置に命令が記憶された非一時的メモリと、を備える映像データ処理装置であって、前記命令が前記処理装置によって実行されると、前記処理装置に、
映像の現在の映像ブロックと前記映像のビットストリームとの変換について、前記現在の映像ブロックに第1のコーディングモードが適用されていることを判定することと、
前記現在の映像ブロックに対する第1のブロックベクトル(BVx,BVy)を導出することと、
前記第1のブロックベクトルおよびバッファに基づいて、前記現在の映像ブロックの第1のサンプル(x0,y0)に対する第1の予測サンプルを生成することであって、前記バッファの幅および高さはそれぞれMおよびNで表され、前記第1のコーディングモードにおいて前記現在の映像ブロックの予測サンプルは前記現在の映像ブロックを含む同一のピクチャから導出されることと、
前記現在の映像ブロックの予測サンプルに基づいて前記変換を行うことと、を行わせ、
(x0+BVx,y0+BVy)に対して位置変換演算を行い、前記第1の予測サンプルの位置を導出し、
前記位置変換演算はモデュロ演算であり、前記第1の予測サンプルの前記位置は((x0+BVx)mod M,(y0+BVy)mod N)によって表され、modはモデュロ関数である、装置。 - 処理装置に、
映像の現在の映像ブロックと前記映像のビットストリームとの変換について、前記現在の映像ブロックに第1のコーディングモードが適用されていることを判定することと、
前記現在の映像ブロックに対する第1のブロックベクトル(BVx,BVy)を導出することと、
前記第1のブロックベクトルおよびバッファに基づいて、前記現在の映像ブロックの第1のサンプル(x0,y0)に対する第1の予測サンプルを生成することであって、前記バッファの幅および高さはそれぞれMおよびNで表され、前記第1のコーディングモードにおいて前記現在の映像ブロックの予測サンプルは前記現在の映像ブロックを含む同一のピクチャから導出されることと、
前記現在の映像ブロックの予測サンプルに基づいて前記変換を行うことと、を行わせる命令を記憶し、
(x0+BVx,y0+BVy)に対して位置変換演算を行い、前記第1の予測サンプルの位置を導出し、
前記位置変換演算はモデュロ演算であり、前記第1の予測サンプルの前記位置は((x0+BVx)mod M,(y0+BVy)mod N)によって表され、modはモデュロ関数である、非一時的なコンピュータ可読記憶媒体。 - 映像のビットストリームを記憶する方法であって、
前記方法は、
前記映像の現在の映像ブロックに第1のコーディングモードが適用されていることを判定することと、
前記現在の映像ブロックに対する第1のブロックベクトル(BVx,BVy)を導出することと、
前記第1のブロックベクトルおよびバッファに基づいて、前記現在の映像ブロックの第1のサンプル(x0,y0)に対する第1の予測サンプルを生成することであって、前記バッファの幅および高さはそれぞれMおよびNで表され、前記第1のコーディングモードにおいて前記現在の映像ブロックの予測サンプルは前記現在の映像ブロックを含む同一のピクチャから導出されることと、
前記現在の映像ブロックの予測サンプルに基づいて前記ビットストリームを生成することと、
前記ビットストリームを非一時的なコンピュータ可読記録媒体に記憶することと、を含み、
(x0+BVx,y0+BVy)に対して位置変換演算を行い、前記第1の予測サンプルの位置を導出し、
前記位置変換演算はモデュロ演算であり、前記第1の予測サンプルの前記位置は((x0+BVx)mod M,(y0+BVy)mod N)によって表され、modはモデュロ関数である、方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023191676A JP2024020340A (ja) | 2019-02-02 | 2023-11-09 | 映像符号化におけるイントラブロックコピーのためのバッファにおけるデータ記憶 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019074598 | 2019-02-02 | ||
CNPCT/CN2019/074598 | 2019-02-02 | ||
PCT/CN2020/074156 WO2020156541A1 (en) | 2019-02-02 | 2020-02-02 | Data storage in buffers for intra block copy in video coding |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023191676A Division JP2024020340A (ja) | 2019-02-02 | 2023-11-09 | 映像符号化におけるイントラブロックコピーのためのバッファにおけるデータ記憶 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2022518554A JP2022518554A (ja) | 2022-03-15 |
JPWO2020156541A5 JPWO2020156541A5 (ja) | 2022-06-16 |
JP7384912B2 true JP7384912B2 (ja) | 2023-11-21 |
Family
ID=77525236
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021543341A Active JP7384911B2 (ja) | 2019-02-02 | 2020-02-02 | 映像符号化におけるイントラブロックコピーのためのバッファ初期化 |
JP2021543342A Active JP7384912B2 (ja) | 2019-02-02 | 2020-02-02 | 映像符号化におけるイントラブロックコピーのためのバッファにおけるデータ記憶 |
JP2023191676A Pending JP2024020340A (ja) | 2019-02-02 | 2023-11-09 | 映像符号化におけるイントラブロックコピーのためのバッファにおけるデータ記憶 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021543341A Active JP7384911B2 (ja) | 2019-02-02 | 2020-02-02 | 映像符号化におけるイントラブロックコピーのためのバッファ初期化 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023191676A Pending JP2024020340A (ja) | 2019-02-02 | 2023-11-09 | 映像符号化におけるイントラブロックコピーのためのバッファにおけるデータ記憶 |
Country Status (9)
Country | Link |
---|---|
US (2) | US11228775B2 (ja) |
EP (3) | EP3900357A4 (ja) |
JP (3) | JP7384911B2 (ja) |
KR (3) | KR20210123300A (ja) |
CN (4) | CN113366853A (ja) |
BR (1) | BR112021014484A2 (ja) |
MX (1) | MX2021008963A (ja) |
SG (1) | SG11202107959WA (ja) |
ZA (1) | ZA202105238B (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112585976A (zh) * | 2018-08-06 | 2021-03-30 | 韩国电子通信研究院 | 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质 |
AU2020214083B2 (en) | 2019-02-02 | 2023-06-01 | Beijing Bytedance Network Technology Co., Ltd. | Buffer management for intra block copy in video coding |
CN117395439A (zh) | 2019-03-01 | 2024-01-12 | 北京字节跳动网络技术有限公司 | 用于视频编解码中的帧内块复制的基于方向的预测 |
CN117640927A (zh) | 2019-03-04 | 2024-03-01 | 北京字节跳动网络技术有限公司 | 视频编解码中的帧内块复制中的实施方式方面 |
CN114175645B (zh) | 2019-07-06 | 2024-04-12 | 北京字节跳动网络技术有限公司 | 用于视频编解码中的帧内块复制的虚拟预测缓冲 |
CA3146391A1 (en) | 2019-07-10 | 2021-01-14 | Beijing Bytedance Network Technology Co., Ltd. | Sample identification for intra block copy in video coding |
EP3981146A4 (en) * | 2019-07-11 | 2022-08-03 | Beijing Bytedance Network Technology Co., Ltd. | BITSTREAM CONFORMITY RESTRICTIONS FOR INTRA-BLOCK COPY IN VIDEO ENCODING |
GB2586484B (en) * | 2019-08-20 | 2023-03-08 | Canon Kk | A filter |
JP7323709B2 (ja) | 2019-09-09 | 2023-08-08 | 北京字節跳動網絡技術有限公司 | イントラブロックコピーの符号化および復号化 |
BR112022005293A2 (pt) | 2019-09-19 | 2022-09-20 | Beijing Bytedance Network Tech Co Ltd | Método de processamento de vídeo, aparelho para processar dados de vídeo e meios de armazenamento e de gravação não transitórios legíveis por computador |
US20230049909A1 (en) * | 2019-12-31 | 2023-02-16 | Koninklijke Kpn N.V. | Partial output of a decoded picture buffer in video coding |
WO2021252525A1 (en) * | 2020-06-08 | 2021-12-16 | Bytedance Inc. | Constraints of slice count in a coded video picture |
US11849129B2 (en) * | 2022-03-18 | 2023-12-19 | Qualcomm Incorporated | Intra-block copy decoding using dynamic re-mapping of on-chip memory |
CN115866287B (zh) * | 2023-02-22 | 2023-05-05 | 深圳市网联天下科技有限公司 | 一种智慧校园管理平台的数据高效传输方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016534660A (ja) | 2013-09-13 | 2016-11-04 | キヤノン株式会社 | ビデオデータを符号化および復号するための方法、装置およびシステム |
JP2016539542A (ja) | 2013-10-14 | 2016-12-15 | マイクロソフト テクノロジー ライセンシング,エルエルシー | ビデオ及び画像の符号化及び復号のためのイントラブロックコピー予測モードの特徴 |
JP2017130938A (ja) | 2014-07-07 | 2017-07-27 | 寰發股▲ふん▼有限公司HFI Innovation Inc. | イントラブロックコピー検索と補償範囲の方法 |
JP2017535148A (ja) | 2014-09-30 | 2017-11-24 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 映像符号化のためのハッシュベースのエンコーダ判断 |
JP2018521539A (ja) | 2015-05-11 | 2018-08-02 | クアルコム,インコーポレイテッド | ビデオデータの特定のピクチャ内のインターコーディングのための探索範囲決定 |
Family Cites Families (116)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100499788C (zh) | 2003-01-09 | 2009-06-10 | 加利福尼亚大学董事会 | 视频编码设备 |
JP4360093B2 (ja) | 2003-02-05 | 2009-11-11 | ソニー株式会社 | 画像処理装置および符号化装置とそれらの方法 |
CN1589028B (zh) | 2004-07-29 | 2010-05-05 | 展讯通信(上海)有限公司 | 基于像素流水的帧内预测装置及预测方法 |
US7715588B2 (en) * | 2005-10-28 | 2010-05-11 | Lawrence N. Ginsberg | Two level cross-correlation based system for watermarking continuous digital media |
US7801223B2 (en) | 2006-07-27 | 2010-09-21 | Lsi Corporation | Method for video decoder memory reduction |
JP4592656B2 (ja) * | 2006-08-17 | 2010-12-01 | 富士通セミコンダクター株式会社 | 動き予測処理装置、画像符号化装置および画像復号化装置 |
CN100551073C (zh) | 2006-12-05 | 2009-10-14 | 华为技术有限公司 | 编解码方法及装置、分像素插值处理方法及装置 |
JP2008227702A (ja) * | 2007-03-09 | 2008-09-25 | Oki Electric Ind Co Ltd | 動きベクトル探索装置、動きベクトル探索方法及び動きベクトル探索プログラム |
JP2009272724A (ja) | 2008-04-30 | 2009-11-19 | Panasonic Corp | ビデオ符号化・復号化装置 |
US20100014584A1 (en) | 2008-07-17 | 2010-01-21 | Meir Feder | Methods circuits and systems for transmission and reconstruction of a video block |
TWI383688B (zh) * | 2009-03-11 | 2013-01-21 | Quanta Comp Inc | 視訊壓縮電路與其方法 |
US20110249754A1 (en) | 2010-04-12 | 2011-10-13 | Qualcomm Incorporated | Variable length coding of coded block pattern (cbp) in video compression |
EP2559239A2 (en) | 2010-04-13 | 2013-02-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus for intra predicting a block, apparatus for reconstructing a block of a picture, apparatus for reconstructing a block of a picture by intra prediction |
US9118929B2 (en) | 2010-04-14 | 2015-08-25 | Mediatek Inc. | Method for performing hybrid multihypothesis prediction during video coding of a coding unit, and associated apparatus |
US8917774B2 (en) | 2010-06-30 | 2014-12-23 | Warner Bros. Entertainment Inc. | Method and apparatus for generating encoded content using dynamically optimized conversion |
US9161056B2 (en) | 2010-11-24 | 2015-10-13 | Texas Instruments Incorporated | Method for low memory footprint compressed video decoding |
US20120236931A1 (en) | 2010-12-23 | 2012-09-20 | Qualcomm Incorporated | Transform coefficient scan |
CN102595118B (zh) | 2011-01-14 | 2015-04-08 | 华为技术有限公司 | 一种编解码中的预测方法和预测器 |
CA2840427C (en) | 2011-06-30 | 2018-03-06 | Microsoft Corporation | Reducing latency in video encoding and decoding |
US9426463B2 (en) | 2012-02-08 | 2016-08-23 | Qualcomm Incorporated | Restriction of prediction units in B slices to uni-directional inter prediction |
US8947449B1 (en) | 2012-02-21 | 2015-02-03 | Google Inc. | Color space conversion between semi-planar YUV and planar YUV formats |
US9906786B2 (en) | 2012-09-07 | 2018-02-27 | Qualcomm Incorporated | Weighted prediction mode for scalable video coding |
US9491460B2 (en) | 2013-03-29 | 2016-11-08 | Qualcomm Incorporated | Bandwidth reduction for video coding prediction |
US10904551B2 (en) | 2013-04-05 | 2021-01-26 | Texas Instruments Incorporated | Video coding using intra block copy |
RU2639958C2 (ru) * | 2013-04-17 | 2017-12-25 | Нокиа Текнолоджиз Ой | Устройство, способ и компьютерная программа для кодирования и декодирования видеоинформации |
US20140348240A1 (en) | 2013-05-22 | 2014-11-27 | Qualcomm Incorporated | Video coding using sample prediction among color components |
US10015515B2 (en) | 2013-06-21 | 2018-07-03 | Qualcomm Incorporated | Intra prediction from a predictive block |
US20140376611A1 (en) | 2013-06-21 | 2014-12-25 | Qualcomm Incorporated | Adaptive color transforms for video coding |
US9560358B2 (en) | 2013-07-22 | 2017-01-31 | Qualcomm Incorporated | Device and method for scalable coding of video information |
US10313682B2 (en) | 2013-08-26 | 2019-06-04 | Qualcomm Incorporated | Determining regions when performing intra block copying |
US9503715B2 (en) | 2013-08-30 | 2016-11-22 | Qualcomm Incorporated | Constrained intra prediction in video coding |
CN105659602B (zh) | 2013-10-14 | 2019-10-08 | 微软技术许可有限责任公司 | 用于视频和图像编码的帧内块复制预测模式的编码器侧选项 |
KR20160075705A (ko) | 2013-10-25 | 2016-06-29 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 비디오 및 이미지 코딩에서의 해시 기반 블록 매칭 |
CN106416250B (zh) | 2013-12-02 | 2020-12-04 | 诺基亚技术有限公司 | 视频编码和解码 |
US10390034B2 (en) * | 2014-01-03 | 2019-08-20 | Microsoft Technology Licensing, Llc | Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area |
MX360926B (es) | 2014-01-03 | 2018-11-22 | Microsoft Technology Licensing Llc | Prediccion de vector de bloque en codificacion/descodificacion de video e imagen. |
US9883197B2 (en) * | 2014-01-09 | 2018-01-30 | Qualcomm Incorporated | Intra prediction of chroma blocks using the same vector |
US11284103B2 (en) | 2014-01-17 | 2022-03-22 | Microsoft Technology Licensing, Llc | Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning |
US10555001B2 (en) | 2014-02-21 | 2020-02-04 | Mediatek Singapore Pte. Ltd. | Method of video coding using prediction based on intra picture block copy |
EP3253059A1 (en) | 2014-03-04 | 2017-12-06 | Microsoft Technology Licensing, LLC | Block flipping and skip mode in intra block copy prediction |
KR102185245B1 (ko) | 2014-03-04 | 2020-12-01 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 해시 기반 블록 매칭을 위한 해시 테이블 구성 및 이용가능성 검사 |
AU2014201583A1 (en) | 2014-03-14 | 2015-10-01 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding video data using a block dictionary |
US20150264383A1 (en) | 2014-03-14 | 2015-09-17 | Mitsubishi Electric Research Laboratories, Inc. | Block Copy Modes for Image and Video Coding |
US9756354B2 (en) | 2014-03-17 | 2017-09-05 | Qualcomm Incorporated | Block vector predictor for intra block copying |
US9712837B2 (en) | 2014-03-17 | 2017-07-18 | Qualcomm Incorporated | Level definitions for multi-layer video codecs |
US9860559B2 (en) | 2014-03-17 | 2018-01-02 | Mediatek Singapore Pte. Ltd. | Method of video coding using symmetric intra block copy |
US20150264348A1 (en) | 2014-03-17 | 2015-09-17 | Qualcomm Incorporated | Dictionary coding of video content |
US10432928B2 (en) | 2014-03-21 | 2019-10-01 | Qualcomm Incorporated | Using a current picture as a reference for video coding |
US9877034B2 (en) | 2014-04-14 | 2018-01-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Pipelined video decoder system |
US10666968B2 (en) | 2014-05-06 | 2020-05-26 | Hfi Innovation Inc. | Method of block vector prediction for intra block copy mode coding |
AU2014202682A1 (en) * | 2014-05-16 | 2015-12-03 | Canon Kabushiki Kaisha | Method, apparatus and system for copying a block of video samples |
US10091512B2 (en) | 2014-05-23 | 2018-10-02 | Futurewei Technologies, Inc. | Advanced screen content coding with improved palette table and index map coding methods |
US10897629B2 (en) | 2014-06-19 | 2021-01-19 | Vid Scale, Inc. | Methods and systems for intra block copy search enhancement |
CN111432220B (zh) | 2014-06-19 | 2022-05-06 | Vid拓展公司 | 采用块向量导出的帧内块复制编码的方法和系统 |
US9948949B2 (en) | 2014-06-20 | 2018-04-17 | Qualcomm Incorporated | Intra block copy block vector signaling for video coding |
KR101748620B1 (ko) | 2014-06-20 | 2017-07-04 | 성균관대학교산학협력단 | 영상의 부호화/복호화 방법 및 이를 이용하는 장치 |
US10412387B2 (en) | 2014-08-22 | 2019-09-10 | Qualcomm Incorporated | Unified intra-block copy and inter-prediction |
KR102034938B1 (ko) | 2014-09-01 | 2019-10-21 | 에이치에프아이 이노베이션 인크. | 스크린 콘텐츠 및 비디오 코딩을 위한 인트라 픽처 블록 카피의 방법 |
US10856009B2 (en) * | 2014-09-04 | 2020-12-01 | Mediatek Inc. | Method of block vector clipping and coding for screen content coding and video coding |
JP2017532885A (ja) | 2014-09-26 | 2017-11-02 | ヴィド スケール インコーポレイテッド | 時間ブロックベクトル予測を用いたイントラブロックコピー符号化 |
CN105491376B (zh) | 2014-10-06 | 2020-01-07 | 同济大学 | 图像编码、解码方法及装置 |
GB2531001B (en) | 2014-10-06 | 2019-06-05 | Canon Kk | Method and apparatus for vector encoding in video coding and decoding |
US9832467B2 (en) | 2014-10-07 | 2017-11-28 | Qualcomm Incorporated | Deblock filtering for intra block copying |
US9918105B2 (en) * | 2014-10-07 | 2018-03-13 | Qualcomm Incorporated | Intra BC and inter unification |
CN106797475B (zh) | 2014-10-08 | 2019-12-10 | 联发科技股份有限公司 | 视频编码方法 |
US10212445B2 (en) * | 2014-10-09 | 2019-02-19 | Qualcomm Incorporated | Intra block copy prediction restrictions for parallel processing |
US9838662B2 (en) | 2014-10-10 | 2017-12-05 | Qualcomm Incorporated | Harmonization of cross-component prediction and adaptive color transform in video coding |
US10283091B2 (en) | 2014-10-13 | 2019-05-07 | Microsoft Technology Licensing, Llc | Buffer optimization |
CN114630131B (zh) * | 2014-11-12 | 2023-11-07 | 寰发股份有限公司 | 索引映射编解码中的跳出像素编解码方法 |
US9591325B2 (en) * | 2015-01-27 | 2017-03-07 | Microsoft Technology Licensing, Llc | Special case handling for merged chroma blocks in intra block copy prediction mode |
EP3251350B1 (en) | 2015-01-29 | 2023-04-19 | VID SCALE, Inc. | Intra-block copy searching |
US20160227222A1 (en) | 2015-02-02 | 2016-08-04 | Mediatek Inc. | Multi-Standard Video Decoder with Novel Intra Prediction Decoding |
US10165292B2 (en) | 2015-02-02 | 2018-12-25 | Mediatek Inc. | Method and apparatus for intra block copy mode in video coding system with pipeline architecture |
US9955185B2 (en) | 2015-02-12 | 2018-04-24 | Mediatek Inc. | Method and apparatus of constrained intra block copy for coding video |
EP3262836B1 (en) | 2015-03-02 | 2020-07-29 | HFI Innovation Inc. | Method and apparatus for intrabc mode with fractional-pel block vector resolution in video coding |
US10148981B2 (en) | 2015-03-20 | 2018-12-04 | Mediatek Singapore Pte. Ltd. | Methods of palette coding with inter-prediction in video coding |
AU2016269362A1 (en) | 2015-05-28 | 2017-12-07 | Hfi Innovation Inc. | Method and apparatus for using a current picture as a reference picture |
WO2016192594A1 (en) * | 2015-05-29 | 2016-12-08 | Hfi Innovation Inc. | Method of decoded picture buffer management for intra block copy mode |
WO2016192678A1 (en) | 2015-06-03 | 2016-12-08 | Mediatek Inc. | Methods for palette coding of image and video data |
WO2016196843A1 (en) | 2015-06-03 | 2016-12-08 | Apple Inc. | Techniques for resource conservation during performance of intra block copy prediction searches |
WO2016192677A1 (en) * | 2015-06-03 | 2016-12-08 | Mediatek Inc. | Method and apparatus of error handling for video coding using intra block copy mode |
US10306240B2 (en) | 2015-06-08 | 2019-05-28 | Vid Scale, Inc. | Intra block copy mode for screen content coding |
US10178403B2 (en) | 2015-06-23 | 2019-01-08 | Qualcomm Incorporated | Reference picture list construction in intra block copy mode |
CA2993104C (en) | 2015-07-27 | 2021-03-02 | Mediatek, Inc. | Method of system for video coding using intra block copy mode |
US10462468B2 (en) * | 2015-09-08 | 2019-10-29 | Mediatek Inc. | Method and system of decoded picture buffer for intra block copy mode |
GB2543736B (en) | 2015-09-10 | 2019-03-27 | Advanced Risc Mach Ltd | An interface apparatus and method of operating an interface apparatus |
US10491922B2 (en) | 2015-09-29 | 2019-11-26 | Qualcomm Incorporated | Non-separable secondary transform for video coding |
US20170099490A1 (en) | 2015-10-02 | 2017-04-06 | Qualcomm Incorporated | Constrained intra-prediction for block copy mode |
US10812822B2 (en) * | 2015-10-02 | 2020-10-20 | Qualcomm Incorporated | Intra block copy merge mode and padding of unavailable IBC reference region |
CN115278231A (zh) | 2015-11-11 | 2022-11-01 | 三星电子株式会社 | 对视频进行解码的设备和对视频进行编码的设备 |
US20170188033A1 (en) | 2015-12-23 | 2017-06-29 | Mediatek Inc. | Method and Apparatus of Bandwidth Estimation and Reduction for Video Coding |
US10630992B2 (en) * | 2016-01-08 | 2020-04-21 | Samsung Electronics Co., Ltd. | Method, application processor, and mobile terminal for processing reference image |
US10404979B2 (en) * | 2016-03-17 | 2019-09-03 | Mediatek Inc. | Video coding with interpolated reference pictures |
US10575007B2 (en) | 2016-04-12 | 2020-02-25 | Microsoft Technology Licensing, Llc | Efficient decoding and rendering of blocks in a graphics pipeline |
WO2017206803A1 (en) | 2016-05-28 | 2017-12-07 | Mediatek Inc. | Method and apparatus of current picture referencing for video coding |
US10157480B2 (en) * | 2016-06-24 | 2018-12-18 | Microsoft Technology Licensing, Llc | Efficient decoding and rendering of inter-coded blocks in a graphics pipeline |
US20170374369A1 (en) * | 2016-06-24 | 2017-12-28 | Mediatek Inc. | Methods and Apparatuses of Decoder Side Intra Mode Derivation |
CN107846597B (zh) | 2016-09-20 | 2019-12-10 | 上海澜至半导体有限公司 | 用于视频解码器的数据缓存方法和装置 |
US10681370B2 (en) | 2016-12-29 | 2020-06-09 | Qualcomm Incorporated | Motion vector generation for affine motion model for video coding |
US10694181B2 (en) | 2017-01-27 | 2020-06-23 | Qualcomm Incorporated | Bilateral filters in video coding with reduced complexity |
US10743032B2 (en) * | 2017-05-24 | 2020-08-11 | Qualcomm Incorporated | Substream multiplexing for display stream compression |
JP6324590B2 (ja) | 2017-05-25 | 2018-05-16 | キヤノン株式会社 | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム |
US11134272B2 (en) | 2017-06-29 | 2021-09-28 | Qualcomm Incorporated | Memory reduction for non-separable transforms |
US20200236361A1 (en) | 2017-07-18 | 2020-07-23 | Lg Electronics Inc. | Intra prediction mode based image processing method, and apparatus therefor |
US11172201B2 (en) | 2017-12-18 | 2021-11-09 | Panasonic Intellectual Property Corporation Of America | Encoder, decoder, encoding method, and decoding method |
US10986349B2 (en) | 2017-12-29 | 2021-04-20 | Microsoft Technology Licensing, Llc | Constraints on locations of reference blocks for intra block copy prediction |
US11012715B2 (en) | 2018-02-08 | 2021-05-18 | Qualcomm Incorporated | Intra block copy for video coding |
JP7104186B2 (ja) | 2018-06-05 | 2022-07-20 | 北京字節跳動網絡技術有限公司 | Ibcとatmvpとの間でのインタラクション |
US10440378B1 (en) | 2018-07-17 | 2019-10-08 | Tencent America LLC | Method and apparatus for history-based motion vector prediction with parallel processing |
KR20220048066A (ko) | 2018-07-18 | 2022-04-19 | 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 | 히스토리-기반 모션 벡터 예측을 사용한 비디오 코딩 방법 및 장치 |
CN116781930A (zh) | 2018-08-13 | 2023-09-19 | Lg电子株式会社 | 图像编码/解码方法、图像数据发送方法和存储介质 |
EP3843405A4 (en) * | 2018-10-05 | 2021-10-27 | LG Electronics Inc. | IMAGE CODING PROCESS USING HISTORY-BASED MOVEMENT INFORMATION, AND ASSOCIATED DEVICE |
WO2020108574A1 (en) | 2018-11-28 | 2020-06-04 | Beijing Bytedance Network Technology Co., Ltd. | Improving method for transform or quantization bypass mode |
KR102572355B1 (ko) * | 2018-11-30 | 2023-08-30 | 텐센트 아메리카 엘엘씨 | 비디오 코딩을 위한 방법 및 장치 |
US10999594B2 (en) * | 2018-12-20 | 2021-05-04 | Qualcomm Incorporated | Virtual search area for current picture referencing (CPR) and intra block copy (IBC) |
AU2020214083B2 (en) | 2019-02-02 | 2023-06-01 | Beijing Bytedance Network Technology Co., Ltd. | Buffer management for intra block copy in video coding |
-
2020
- 2020-02-02 KR KR1020217022037A patent/KR20210123300A/ko not_active Application Discontinuation
- 2020-02-02 EP EP20748900.6A patent/EP3900357A4/en active Pending
- 2020-02-02 CN CN202080011726.9A patent/CN113366853A/zh active Pending
- 2020-02-02 MX MX2021008963A patent/MX2021008963A/es unknown
- 2020-02-02 CN CN202080011479.2A patent/CN113396592B/zh active Active
- 2020-02-02 CN CN202080011486.2A patent/CN113366844B/zh active Active
- 2020-02-02 BR BR112021014484-6A patent/BR112021014484A2/pt unknown
- 2020-02-02 SG SG11202107959WA patent/SG11202107959WA/en unknown
- 2020-02-02 CN CN202311191571.3A patent/CN117119200A/zh active Pending
- 2020-02-02 JP JP2021543341A patent/JP7384911B2/ja active Active
- 2020-02-02 JP JP2021543342A patent/JP7384912B2/ja active Active
- 2020-02-02 KR KR1020217022039A patent/KR102653088B1/ko active IP Right Grant
- 2020-02-02 KR KR1020217022038A patent/KR102662448B1/ko active IP Right Grant
- 2020-02-02 EP EP20748417.1A patent/EP3900349A4/en active Pending
- 2020-02-02 EP EP20747609.4A patent/EP3900348A4/en active Pending
-
2021
- 2021-05-13 US US17/320,008 patent/US11228775B2/en active Active
- 2021-07-23 ZA ZA2021/05238A patent/ZA202105238B/en unknown
-
2022
- 2022-01-10 US US17/571,748 patent/US20220166993A1/en active Pending
-
2023
- 2023-11-09 JP JP2023191676A patent/JP2024020340A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016534660A (ja) | 2013-09-13 | 2016-11-04 | キヤノン株式会社 | ビデオデータを符号化および復号するための方法、装置およびシステム |
JP2016539542A (ja) | 2013-10-14 | 2016-12-15 | マイクロソフト テクノロジー ライセンシング,エルエルシー | ビデオ及び画像の符号化及び復号のためのイントラブロックコピー予測モードの特徴 |
JP2017130938A (ja) | 2014-07-07 | 2017-07-27 | 寰發股▲ふん▼有限公司HFI Innovation Inc. | イントラブロックコピー検索と補償範囲の方法 |
JP2017535148A (ja) | 2014-09-30 | 2017-11-24 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 映像符号化のためのハッシュベースのエンコーダ判断 |
JP2018521539A (ja) | 2015-05-11 | 2018-08-02 | クアルコム,インコーポレイテッド | ビデオデータの特定のピクチャ内のインターコーディングのための探索範囲決定 |
Also Published As
Publication number | Publication date |
---|---|
JP2022518554A (ja) | 2022-03-15 |
KR102653088B1 (ko) | 2024-04-01 |
JP2024020340A (ja) | 2024-02-14 |
US11228775B2 (en) | 2022-01-18 |
CN113396592B (zh) | 2023-11-14 |
US20220166993A1 (en) | 2022-05-26 |
CN117119200A (zh) | 2023-11-24 |
CN113366844B (zh) | 2023-10-03 |
CN113396592A (zh) | 2021-09-14 |
SG11202107959WA (en) | 2021-08-30 |
ZA202105238B (en) | 2023-01-25 |
EP3900357A1 (en) | 2021-10-27 |
KR20210123300A (ko) | 2021-10-13 |
BR112021014484A2 (pt) | 2021-09-28 |
EP3900349A4 (en) | 2023-08-02 |
CN113366844A (zh) | 2021-09-07 |
KR20210121014A (ko) | 2021-10-07 |
KR20210123301A (ko) | 2021-10-13 |
EP3900357A4 (en) | 2022-06-08 |
EP3900349A1 (en) | 2021-10-27 |
US20210274202A1 (en) | 2021-09-02 |
MX2021008963A (es) | 2021-08-24 |
CN113366853A (zh) | 2021-09-07 |
EP3900348A1 (en) | 2021-10-27 |
EP3900348A4 (en) | 2022-06-08 |
KR102662448B1 (ko) | 2024-05-02 |
JP7384911B2 (ja) | 2023-11-21 |
JP2022518553A (ja) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7384912B2 (ja) | 映像符号化におけるイントラブロックコピーのためのバッファにおけるデータ記憶 | |
JP7405861B2 (ja) | 映像符号化におけるイントラブロックコピーのための方向に基づく予測 | |
CN113383541B (zh) | 用于视频编解码中的帧内块复制的缓冲区访问方法 | |
JP7284284B2 (ja) | 映像符号化におけるイントラブロックコピーの実装形態の態様 | |
JP2023182664A (ja) | 映像符号化におけるイントラブロックコピーのためのビットストリーム適合性の制約 | |
JP7359934B2 (ja) | 映像符号化におけるイントラブロックコピーのためのサンプル識別 | |
JP2024020308A (ja) | 映像符号化におけるイントラブロックコピーのための仮想予測バッファ | |
US20230247192A1 (en) | Setting intra-block copy virtual buffer based on virtual pipeline data unit | |
CN114026850A (zh) | 用于视频编解码中的帧内块复制的块矢量的有效性检查 | |
CN113545068A (zh) | 用于视频编解码中的帧内块复制的基于顺序的更新 | |
JP7384910B2 (ja) | 映像符号化におけるイントラブロックコピーのためのバッファ管理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210726 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210726 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220608 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220906 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230404 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230628 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231010 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231109 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7384912 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |