CN113228636A - 使用当前图片参考的视频信号处理方法和设备 - Google Patents
使用当前图片参考的视频信号处理方法和设备 Download PDFInfo
- Publication number
- CN113228636A CN113228636A CN201980082678.XA CN201980082678A CN113228636A CN 113228636 A CN113228636 A CN 113228636A CN 201980082678 A CN201980082678 A CN 201980082678A CN 113228636 A CN113228636 A CN 113228636A
- Authority
- CN
- China
- Prior art keywords
- mode
- current block
- prediction mode
- flag
- block
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title abstract description 8
- 238000000034 method Methods 0.000 claims description 96
- 230000011664 signaling Effects 0.000 claims description 86
- 238000012545 processing Methods 0.000 claims description 55
- 230000009977 dual effect Effects 0.000 claims description 43
- 238000005192 partition Methods 0.000 claims description 6
- 239000013598 vector Substances 0.000 description 112
- 239000004519 grease Substances 0.000 description 28
- 241000023320 Luma <angiosperm> Species 0.000 description 17
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 17
- 230000002123 temporal effect Effects 0.000 description 12
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 10
- 238000001914 filtration Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000013139 quantization Methods 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 7
- 230000006835 compression Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000009795 derivation Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000013074 reference sample Substances 0.000 description 4
- 239000000523 sample Substances 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 241000209094 Oryza Species 0.000 description 2
- 235000007164 Oryza sativa Nutrition 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005429 filling process Methods 0.000 description 2
- 235000009566 rice Nutrition 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007430 reference method 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/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/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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/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/174—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 slice, e.g. a line of blocks or a group of blocks
-
- 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/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
-
- 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
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种视频信号处理方法和装置,更具体地说,涉及一种对视频信号进行编码或解码的视频信号处理方法和设备。
Description
技术领域
本公开涉及一种用于处理视频信号的方法和装置,并且更具体地,涉及一种用于对视频信号进行编码和解码的视频信号处理方法和装置。
背景技术
压缩编码指代用于通过通信线路发送数字化信息或以适合于存储介质的形式存储信息的一系列信号处理技术。压缩编码的对象包括诸如语音、视频和文本的对象,并且特别地,用于对图像执行压缩编码的技术被称为视频压缩。考虑到空间相关性、时间相关性和随机相关性,通过去除过多的信息来执行对视频信号的压缩编码。然而,随着各种媒体和数据传输媒体的最新发展,需要更有效的视频信号处理方法和装置。
发明内容
技术问题
本公开的一方面在于提高视频信号的编译效率。
技术方案
为了解决上述问题,本公开提供一种视频信号处理装置以及视频信号处理方法。
根据本公开的实施例,提供一种处理视频信号的方法。该方法包括:确定当前块的预测模式;当当前块的预测模式为参考当前图片的块复制(BC)预测模式时,基于BC预测模式解码当前块;当当前块的预测模式是参考至少一个图片的帧间预测模式时,基于帧间预测模式解码当前块,其中,在BC预测模式中为解码当前块而参考的空间邻近位置的集合包括在帧间预测模式中为解码当前块而参考的空间邻近位置的集合中的一些。
根据本公开的实施例,提供一种处理视频信号的方法。该方法包括:确定当前块的预测模式;当当前块的预测模式为其中参考当前图片的块复制(BC)预测模式时,基于BC预测模式生成用于编码当前块的比特流;以及当当前块的预测模式是其中参考至少一个图片的帧间预测模式时,基于帧间预测模式生成用于编码当前块的比特流,其中,在BC预测模式中为编码当前块而参考的空间邻近位置的集合包括在帧间预测模式中为编码当前块而参考的空间邻近位置的集合中的一些。
根据本公开的实施例,提供一种用于处理视频信号的装置。该装置包括:处理器,其中,处理器被配置为确定当前块的预测模式,当当前块的预测模式为其中参考当前图片的块复制(BC)预测模式时,基于BC预测模式解码当前块;以及当当前块的预测模式是其中参考至少一个图片的帧间预测模式时,基于帧间预测模式解码当前块,以及在BC预测模式中为解码当前块而参考的空间邻近位置的集合包括在帧间预测模式中为解码当前块而参考的空间邻近位置的集合中的一些。
根据本公开的实施例,提供一种用于处理视频信号的装置。该装置包括:处理器,其中,处理器被配置为确定当前块的预测模式;当当前块的预测模式为其中参考当前图片的块复制(BC)预测模式时,基于BC预测模式生成用于编码当前块的比特流;以及当当前块的预测模式是其中参考至少一个图片的帧间预测模式时,基于帧间预测模式生成用于编码当前块的比特流,以及在BC预测模式中为编码当前块而参考的空间邻近位置的集合包括在帧间预测模式中为编码当前块而参考的空间邻近位置的集合中的一些。
根据本公开的实施例,提供一种存储用于处理视频信号的比特流的计算机可读记录介质。该比特流包含目标块的预测模式信息,并且包括用于当目标块的预测模式是其中参考目标图片的块复制(BC)预测模式时,基于BC预测模式编码目标块的比特流,以及用于当目标块的预测模式是其中参考至少一个图片的帧间预测模式时,基于帧间预测模式编码目标块的比特流,其中,在BC预测模式中为编码目标块而参考的空间邻近位置的集合包括在帧间预测模式中为编码目标块而参考的空间邻近位置的集合中的一些。
有益效果
根据本公开的实施例,可以提高视频信号的编译效率。
附图说明
图1是根据本发明的实施例的视频信号编码装置的示意性框图。
图2是根据本发明的实施例的视频信号解码装置的示意性框图。
图3示出在图片中编译树单元被划分为编译单元的实施例。
图4示出用于用信号告知四叉树和多类型树的划分的方法的实施例。
图5图示了在帧间预测模式中用于预测当前块的参考样本的实施例。
图6图示了在帧内预测中使用的预测模式的实施例。
图7图示了根据本公开的实施例的帧间预测。
图8图示了根据本公开的实施例的运动矢量信令方法。
图9图示了根据本公开的实施例的运动矢量差(MVD)的语法。
图10图示了根据本公开的实施例的自适应运动矢量分辨率(AMVR)信令。
图11图示根据本公开的实施例的帧间预测相关语法。
图12图示了根据本公开的实施例的空间邻近位置。
图13图示了根据本公开的实施例的对当前图片的参考。
图14图示了根据本公开的实施例的参考相邻候选的方法。
图15图示根据本公开的实施例的块位置和运动候选列表的配置。
图16图示根据本公开的实施例的块位置和运动候选列表的配置。
图17图示了根据本公开的实施例的空间邻近候选的使用。
图18图示根据本公开的实施例的运动矢量。
图19图示了根据本公开的实施例的MVD的语法。
图20图示根据本公开的实施例的运动矢量。
图21图示了根据本公开的实施例的MVD的语法。
图22图示了根据本公开的实施例的MVD的语法。
图23图示了根据本公开的实施例的块和大小。
图24图示了根据本公开的实施例的合并候选列表的配置。
图25图示了根据本公开的实施例的块位置和语法。
图26图示了根据本公开的实施例的用于存储HMVP的历史的空间的重置。
图27图示了根据本公开的实施例的编译单元语法。
图28图示了根据本公开的实施例的预测模式信令。
图29图示了根据本公开的实施例的预测模式信令。
图30图示了根据本公开的实施例的预测模式信令。
图31图示了根据本公开的实施例的编译单元语法。
图32图示了根据本公开的实施例的预测模式信令。
图33图示了根据本公开的实施例的编译单元语法。
图34图示了根据本公开的实施例的编译单元语法。
图35图示了根据本公开的实施例的色度分量的帧内预测模式的推导。
图36图示了根据本公开的实施例的色度分量的帧内预测模式的推导。
图37图示了根据本公开的实施例的编译单元语法。
图38图示了根据本公开的实施例的语法结构。
图39图示了根据本公开的实施例的推断信令值的方法。
图40图示了根据本公开的实施例的推断信令值的方法。
图41图示了根据本公开的实施例的inter_pred_idc的值和二值化。
图42图示了根据本公开的实施例的inter_pred_idc的值和二值化。
图43图示了根据本公开的实施例的inter_pred_idc的值和二值化。
具体实施方式
为解决上述问题,本公开提供一种视频信号处理装置以及视频信号处理方法。
根据本公开的实施例,提供了一种处理视频信号的方法。该方法包括:确定当前块的预测模式;当当前块的预测模式是参考当前图片的块复制(BC)预测模式时,基于BC预测模式解码当前块;当当前块的预测模式是参考至少一个图片的帧间预测模式时,基于帧间预测模式解码当前块,其中,在BC预测模式中为解码当前块而参考的空间邻近位置的集合包括在帧间预测模式中为解码当前块而参考的空间邻近位置的集合中的一些。BC预测模式可以被命名为帧内块复制(IBC)预测模式或当前图片参考(CPR)预测模式。
当当前块的最左上位置为(xCb,yCb)时,在帧间预测模式中为解码当前块而参考的空间邻近位置的集合可以包括(xCb-1,yCb-1)的位置,以及当当前块的最左上位置为(xCb,yCb)时,在BC预测模式中为解码当前块而参考的空间邻近位置的集合可以不包括(xCb-1,yCb-1)的位置。
当当前块的最左上位置为(xCb,yCb)时,在BC预测模式中为解码当前块而参考的空间邻近位置的集合可以包括(xCb-1,yCb+cbHeight-1)的位置和(xCb+cbWidth-1,yCb-1)的位置中的至少一个,并且cbWidth可以是当前块的宽度,以及cbHeight可以是当前块的高度。
确定当前块的预测模式的操作可以包括:从比特流中获取指示当前块的预测模式是否是BC预测模式的BC模式参数(pred_mode_bc_flag)的操作以及基于BC模式参数,将当前块的预测模式确定为BC预测模式的操作。当BC模式被命名为IBC模式时,BC模式参数可以由pred_mode_ibc_flag指示。
当没有从比特流中获取到BC模式参数时,如果当前块所属的并行处理单元是不参考除当前图片以外的图片作为参考图片的单元并且比当前块更高级别处的信令信息(sps_bc_enabled_flag)指示BC预测模式可用,则可以将BC模式参数的值确定为指示使用BC预测模式的值。当BC模式被命名为IBC模式时,更高级别处的信令信息(sps_bc_enabled_flag)可以由sps_ibc_enabled_flag指示。
当没有从比特流中获取到BC模式参数时,如果当前块所属的切片是不参考除当前图片以外的图片作为参考图片的切片并且当比当前块更高级别处的信令信息(sps_bc_enabled_flag)指示BC预测模式可用时,可以将BC模式参数的值确定为指示不使用BC预测模式的值。
当没有从比特流中获取到BC模式参数时,如果当前块所属的并行处理单元是可以参考除当前图片以外的图片作为参考图片的单元,则可以将BC模式参数的值确定为指示不使用BC预测模式的值。
当没有从比特流中获取到BC模式参数时,如果当前块所属的切片是可以参考除当前图片以外的图片作为参考图片的切片,则可以将BC模式参数的值确定为指示不使用BC预测模式的值。
确定当前块的预测模式的操作可以包括在从比特流中获取指示当前块的预测模式是否是BC预测模式的BC模式参数(pred_mode_bc_flag)之前,从比特流中获取指示当前块的预测模式的预测模式参数(pred_mode_flag)的操作。
当没有从比特流中获取到预测模式参数时,如果当前块所属的并行处理单元是不参考除当前图片以外的图片作为参考图片的单元,则将预测模式参数确定为指示帧内预测模式的值。
当没有从比特流中获取到预测模式参数时,如果当前块所属的并行处理单元是可以参考除当前图片以外的图片作为参考图片的单元,则可以将预测模式参数确定为指示帧间预测模式的值。
确定当前块的预测模式的操作可以包括从比特流中获取指示当前块的预测模式是否是BC预测模式的BC模式参数的操作。当没有从比特流中获取到BC模式参数时,如果指示当前块的分区的编译树类型信息(treeType)为指示色度分量的DUAL_TREE_CHROMA,则可以将BC模式参数的值确定为指示不使用BC预测模式的值。
确定当前块的预测模式的操作可以包括从比特流中获取指示当前块的预测模式的预测模式参数的操作,以及当没有从比特流中获取到预测模式参数时,如果当前块的大小不与被预设为帧间预测受限的块大小的块大小相对应并且当前块所属的并行处理单元是可以参考除当前图片以外的图片作为参考图片的单元,则可以将预测模式参数确定为指示帧间预测的值。
确定当前块的预测模式的操作可以包括从比特流中获取指示当前块的预测模式是否是BC预测模式的BC模式参数的操作,以及当没有从比特流中获取到BC模式参数时,如果指示当前块的模式是否是跳过模式的参数指示跳过模式并且当前块的大小与被预设为帧间预测受限的块大小的块大小相对应,则可以将BC模式参数的值确定为指示使用BC预测模式的值。
当没有从比特流中获取到BC模式参数时,如果指示当前块的模式是否是跳过模式的参数不指示跳过模式、当前块的大小不与帧间预测受限的块大小相对应并且当前块所属的并行处理单元是可以参考除当前图片以外的图片作为参考图片的单元,则可以将BC模式参数的值确定为指示不使用BC的值。
确定当前块的预测模式的操作可以包括在从比特流获取指示当前块的预测模式是否为BC预测模式的BC模式参数之前,从比特流中获取指示当前块的预测模式的预测模式参数的操作,以及当没有从比特流中获取到预测模式参数时,如果当前块的大小与被预设为帧间预测受限的块大小的块大小相对应,则可以将预测模式参数确定为指示帧内预测的值。
基于帧间预测模式解码当前块的操作可以包括:从比特流中获取指示当前块的帧间预测类型的帧间预测类型参数(inter_pred_idc)的操作以及基于当前块的大小和帧间预测类型参数,确定当前块的参考列表的操作,当当前块的宽度和高度之和大于12时,帧间预测类型参数可以指示参考列表L0和参考列表L1中的至少一个,而当当前块的宽度和高度之和为12时,帧间预测类型参数可以指示参考列表L0和参考列表L1中的一个。
当当前块的宽度和高度之和大于12时,帧间预测类型参数的比特信令00可以指示参考列表L0,比特信令01可以指示参考列表L1,以及比特信令1可以指示参考列表L0和参考列表L1。
根据本公开的实施例,提供了一种处理视频信号的方法。该方法包括:确定当前块的预测模式;当当前块的预测模式是其中参考当前图片的块复制(BC)预测模式时,基于BC预测模式生成用于编码当前块的比特流;以及当当前块的预测模式是其中参考至少一个图片的帧间预测模式时,基于帧间预测模式生成用于编码当前块的比特流,其中,在BC预测模式中为编码当前块而参考的空间邻近位置的集合包括在帧间预测模式中为编码当前块而参考的空间邻近位置的集合中的一些。
根据本公开的实施例,提供一种用于处理视频信号的装置。该装置包括:处理器,其中,处理器被配置为确定当前块的预测模式,当当前块的预测模式是其中参考当前图片的块复制(BC)预测模式时,基于BC预测模式解码当前块;以及当当前块的预测模式是其中参考至少一个图片的帧间预测模式时,基于帧间预测模式解码当前块,以及在BC预测模式中为解码当前块而参考的空间邻近位置的集合包括在帧间预测模式中为解码当前块而参考的空间邻近位置的集合中的一些。
当当前块的最左上位置为(xCb,yCb)时,在帧间预测模式中为解码当前块而参考的空间邻近位置的集合可以包括(xCb-1,yCb-1)的位置,以及当当前块的最左上位置为(xCb,yCb)时,在BC预测模式中为解码当前块而参考的空间邻近位置的集合可以不包括(xCb-1,yCb-1)的位置。
当当前块的最左上位置为(xCb,yCb)时,在BC预测模式中为解码当前块而参考的空间邻近位置的集合可以包括(xCb-1,yCb+cbHeight-1)的位置和(xCb+cbWidth-1,yCb-1)的位置中的至少一个,以及cbWidth可以是当前块的宽度,cbHeight可以是当前块的高度。
处理器可以被配置为从比特流中获取指示当前块的预测模式是否是BC预测模式的BC模式参数;以及基于BC模式参数,将当前块的预测模式确定为BC预测模式。
当没有从比特流中获取到BC模式参数、当前块所属的并行处理单元是不参考除当前图片以外的图片作为参考图片的单元、并且比当前块更高级别处的信令信息(sps_bc_enabled_flag)指示BC预测模式可用时,可以将BC模式参数的值确定为指示使用BC预测模式的值。
当没有从比特流中获取到BC模式参数时,如果当前块所属的切片是不参考除当前图片以外的图片作为参考图片的切片,则可以将BC模式参数的值确定为指示不使用BC预测模式的值。
当没有从比特流中获取到BC模式参数并且当前块所属的并行处理单元是不参考除当前图片以外的图片作为参考图片的单元时,可以将BC模式参数的值确定为指示不使用BC预测模式的值。
当没有从比特流中获取到BC模式参数时,如果当前块所属的切片是可以参考除当前图片以外的图片作为参考图片的切片,则可以将BC模式参数的值确定为指示不使用BC预测模式的值。
该处理器可以被配置为在从比特流中获取指示当前块的预测模式是否是BC预测模式的BC模式参数之前,从比特流中获取指示当前块的预测模式的预测模式参数,以及当没有从比特流中获取到预测模式参数时,如果当前块所属的并行处理单元是不参考除当前图片以外的图片作为参考图片的单元,则可以将预测模式参数确定为指示帧内预测模式的值,以及当没有从比特流中获取到预测模式参数时,如果当前块所属的并行处理单元是可以参考除当前图片以外的图片作为参考图片的单元时,可以将预测模式参数确定为指示帧间预测模式的值。
处理器可以被配置为从比特流中获取指示当前块的预测模式是否是BC预测模式的BC模式参数。当没有从比特流中获取到BC模式参数并且指示当前块的分区的编译树类型信息(treeType)为指示色度分量的DUAL_TREE_CHROMA时,可以将BC模式参数的值确定为指示不使用BC预测模式的值。
处理器可以被配置为从比特流中获取指示当前块的预测模式的预测模式参数。当没有从比特流中获取到预测模式参数、当前块的大小不与被预设为帧间预测受限的块大小的块大小相对应并且当前块所属的并行处理单元是可以参考除当前图片以外的图片作为参考图片的单元时,将预测模式参数确定为指示帧间预测的值。
处理器可以被配置为从比特流中获取指示当前块的预测模式是否为BC预测模式的BC模式参数,以及当没有从比特流中获取到BC模式参数、指示当前块的模式是否是跳过模式的参数指示跳过模式并且当前块的大小与被预设为帧间预测受限的块大小的块大小相对应时,将BC模式参数的值确定为指示使用BC预测模式的值。
当没有从比特流中获取到BC模式参数、指示当前块的模式是否是跳过模式的参数不指示跳过模式、当前块的大小不与帧间预测受限的块大小相对应并且当前块所属的并行处理单元是可以参考除当前图片以外的图片作为参考图片的单元时,可以将BC模式参数的值确定为指示不使用BC的值。
根据本公开的实施例,提供一种用于处理视频信号的装置。该装置包括:处理器,其中,处理器被配置为确定当前块的预测模式;当当前块的预测模式是参考当前图片的块复制(BC)预测模式时,基于BC预测模式生成用于编码当前块的比特流;以及当当前块的预测模式是参考至少一个图片的帧间预测模式时,基于帧间预测模式生成用于编码当前块的比特流,以及在BC预测模式中为编码当前块而参考的空间邻近位置的集合包括在帧间预测模式中为编码当前块而参考的空间邻近位置的集合中的一些。
处理器可以被配置为在从比特流中获取指示当前块的预测模式是否是BC预测模式的BC模式参数之前,从比特流中获取指示当前块的预测模式的预测模式参数,以及当没有从比特流中获取到预测模式参数时,如果当前块的大小与被预设为帧间预测受限的块大小的块大小相对应,则可以将预测模式参数确定为指示帧内预测的值。
处理器可以被配置为从比特流获取指示当前块的帧间预测类型的帧间预测类型参数,并且基于当前块的大小和帧间预测类型参数确定当前块的参考列表,以及当当前块的宽度和高度的总和大于12时,帧间预测类型参数可以指示参考列表L0和参考列表L1中的至少一个,以及当当前块的宽度和高度的总和为12时,可以指示参考列表L0和参考列表L1中的一个。
当当前块的宽度和高度之和大于12时,帧间预测类型参数的比特信令00可以指示参考列表L0,比特信令01可以指示参考列表L1,以及比特信令1可以指示参考列表L0和参考列表L1。
根据本公开的实施例,提供了一种存储用于处理视频信号的比特流的计算机可读记录介质。该比特流可以包含目标块的预测模式信息,并且包括用于当目标块的预测模式是其中参考目标图片的块复制(BC)预测模式时,基于BC预测模式编码目标块的比特流,以及用于当目标块的预测模式是其中参考至少一个图片的帧间预测模式时,基于帧间预测模式编码目标块的比特流,其中,在BC预测模式中为编码目标块而参考的空间邻近位置的集合包括在帧间预测模式中为编码目标块而参考的空间邻近位置的集合中的一些。
用于执行本发明的模式
考虑到本公开中的功能,本说明书中使用的术语可以是当前广泛使用的通用术语,但是可以根据本领域的技术人员的意图、习俗或新技术的出现而改变。另外,在某些情况下,可能存在申请人任意选择的术语,并且在这种情况下,其含义在本公开的相应描述部分中进行了描述。因此,应基于整个说明书中的术语和内容的实质含义来解释本说明书中使用的术语。
在本说明书中,一些术语可以解释如下。在一些情况下,编译可以解释为编码或解码。在本说明书中,通过执行视频信号的编码(编译)来生成视频信号比特流的装置被称为编码装置或编码器,并且执行视频信号比特流的解码(解码)以重构视频信号的装置被称为解码装置或解码器。另外,在本说明书中,视频信号处理装置被用作包括编码器和解码器两者的概念的术语。信息是包括所有值、参数、系数、元素等的术语。在一些情况下,含义被不同地解释,因此本公开不限于此。“单元”被用作指代图像处理的基本单位或图片的特定位置的含义,并且指代包括亮度分量和色度分量两者的图像区域。另外,“块”指代包括亮度分量和色度分量(即,Cb和Cr)当中的特定分量的图像区域。然而,取决于实施例,诸如“单元”、“块”、“分区(partition)”和“区域”的术语可以互换使用。另外,在本说明书中,单元可以用作包括编译单元、预测单元和变换单元的全部的概念。图片指示场或帧,并且根据实施例,这些术语可以互换使用。
图1是根据本发明的实施例的视频信号编码装置的示意性框图。参考图1,本公开的编码装置100包括变换单元110、量化单元115、逆量化单元120、逆变换单元125、滤波单元130、预测单元150和熵编译单元160。
变换单元110通过对残差信号进行变换来获得变换系数的值,该残差信号是输入的视频信号与由预测单元150生成的预测信号之间的差。例如,可以使用离散余弦变换(DCT)、离散正弦变换(DST)或小波变换。DCT和DST通过将输入图像信号分割成多个块来执行变换。在变换中,编译效率可以根据变换区域中的值的分布和特性而变化。量化单元115对从变换单元110输出的变换系数值的值进行量化。
为了改进编译效率,代替照原样对图像信号进行编译的方法,使用一种方法,其使用通过预测单元150已经编码的区域来预测图片,并通过将在原始图片和预测的图片之间的残差值添加到预测的图片来获得重构图像。为了防止编码器和解码器中的不匹配,当在编码器中执行预测时,应该使用可以在解码器中使用的信息。为此,编码器再次执行重构编码的当前块的处理。逆量化单元120对变换系数的值进行逆量化,并且逆变换单元125使用逆量化的变换系数值来重构残差值。同时,滤波单元130执行滤波操作以改善重构图片的质量并改善编译效率。例如,可以包括去块滤波器、样本自适应偏移(SAO)和自适应环路滤波器。滤波后的图片被输出或存储在解码图片缓冲器(DPB)156中,以用作参考图片。
预测单元150包括帧内预测单元152和帧间预测单元154。帧内预测单元152在当前图片内执行帧内预测,并且帧间预测单元154执行帧间预测以通过使用存储在DBP 156中的参考图片来预测当前图片。帧内预测单元152根据当前图片中的重构样本来执行帧内预测,并且将帧内编码信息传送到熵编译单元160。帧内编码信息可以包括帧内预测模式、最可能模式(MPM)标记和MPM索引中的至少一种。帧间预测单元154可以包括运动估计单元154a和运动补偿单元154b。运动估计单元154a通过参考重构参考图片的特定区域来获得当前区域的运动矢量值。运动估计单元154a将用于参考区域的运动信息(参考图片索引、运动矢量信息等)传送到熵编译单元160。运动补偿单元154b通过使用从运动估计单元154a传递的运动矢量值来执行运动补偿。帧间预测单元154将包括关于参考区域的运动信息的帧间编码信息传送到熵编译单元160。
当执行上述图片预测时,变换单元110变换在原始图片和预测图片之间的残差值以获得变换系数值。在这种情况下,可以以图片内的特定块为单位执行变换,并且可以在预设范围内改变特定块的大小。量化单元115对在变换单元110中生成的变换系数值进行量化,并将其发送到熵编译单元160。
熵编译单元160对量化的变换系数、帧内编码信息、帧间编码信息等进行熵编译,以生成视频信号比特流。在熵编译单元160中,可以使用可变长度编译(VLC)方案、算术编译方案等。可变长度编译(VLC)方案包括将输入符号变换成连续的码字,并且码字的长度可以是可变的。例如,频繁出现的符号由短码字表示,而由长码字表示很少出现的符号。基于上下文的自适应可变长度编译(CAVLC)方案可以被用作可变长度编译方案。算术编译可以将连续数据符号变换成单个质数,其中,算术编译可以获得表示每个符号所需的最佳比特。基于上下文的自适应二进制算术编译(CABAC)可以被用作算术编译。
使用网络抽象层(NAL)单元作为基本单位来封装所生成的比特流。NAL单元包括整数个编译的编译树单元。为了在视频解码器中对比特流进行解码,首先,必须将比特流分离成NAL单元,并且然后必须对每个分离的NAL单元进行解码。同时,可以通过诸如图片参数集(PPS)、序列参数集(SPS)、视频参数集(VPS)等等的高层集合的原始字节序列有效载荷(RBSP)来发送对视频信号比特流进行解码所需的信息。
同时,图1的框图示出根据本发明的实施例的编码装置100,并且分开显示的块在逻辑上区分并示出编码装置100的元件。因此,取决于设备的设计上述编码装置100的元件可以被安装为一个芯片或多个芯片。根据实施例,上述编码装置100的每个元件的操作可以由处理器(未示出)执行。
图2是根据本发明的实施例的视频信号解码装置200的示意性框图。参考图2,本发明的解码装置200包括熵解码单元210、逆量化单元220、逆变换单元225、滤波单元230和预测单元250。
熵解码单元210对视频信号比特流进行熵解码,以提取每个区域的变换系数信息、帧内编码信息、帧间编码信息等。熵解码单元210通过对二进制码进行逆二进制化来获得量化的变换系数。逆量化单元220对量化的变换系数进行逆量化,并且逆变换单元225通过使用逆量化的变换系数来重构残差值。视频信号处理设备200通过将由逆变换单元225获得的残差值与由预测单元250获得的预测值相加来重构原始像素值。
同时,滤波单元230对图片执行滤波以改善图像质量。这可以包括用于减少块失真的去块滤波器和/或用于去除整个图片的失真的自适应环路滤波器。滤波后的图片被输出或存储在DPB 256中,以用作下一个图片的参考图片。
预测单元250包括帧内预测单元252和帧间预测单元254。预测单元250通过使用通过上述熵解码单元210解码的编码类型、每个区域的变换系数和内/间编码信息来生成预测图片。为了重构其中执行解码的当前块,可以使用当前图片或包括当前块的其他图片的解码区域。在重构中,仅将当前图片,即,执行帧内预测的图片(或图块/切片)称为帧内图片或I图片(或图块/切片),以及将可以执行所有帧内预测和帧间预测的图片(或图块/切片)称为帧间图片(或图块/切片)。为了预测帧间图片(或图块/切片)当中的每个块的样本值,使用最多一个运动矢量和参考图片索引的图片(或者图块/切片)被称为预测图片或P图片(或图块/切片),并且使用最多两个运动矢量和参考图片索引的图片(或图块/切片)称为双向预测图片或B图片(或图块/切片)。换句话说,P图片(或图块/切片)使用最多一个运动信息集来预测每个块,并且B图片(或图块/切片)使用最多两个运动信息集来预测每个块。这里,运动信息集包括一个或多个运动矢量和一个参考图片索引。
帧内预测单元252使用帧内编码信息和当前图片中的重构样本生成预测块。如上所述,帧内编码信息可以包括帧内预测模式、最可能模式(MPM)标志和MPM索引中的至少一个。帧内预测单元252通过将位于当前块的左侧和/或上侧的重构像素用作参考像素来预测当前块的像素值。根据实施例,参考像素可以是与当前块的左边界和/或上边界相邻的像素。根据另一实施例,参考像素可以是当前块的邻近块的像素中,距当前块的左边界预设距离内的相邻像素和/或距当前块的上边界预设距离内的相邻像素。在这种情况下,当前块的邻近块可以包括与当前块相邻的左(L)块、上(A)块、左下(BL)块、右上(AR)块或左上(AL)块中的至少一个。
帧间预测单元254使用存储在DPB 256中的参考图片和帧间编码信息来生成预测块。帧间编译信息可以包括用于参考块的当前块的运动信息集(参考图片索引、运动矢量信息等)。帧间预测可以包括L0预测、L1预测和双向预测。L0预测意指使用L0图片列表中包括的一个参考图片进行预测,而L1预测意指使用L1图片列表中包括的一个参考图片进行预测。为此,可能需要一个运动信息集合(例如,运动矢量和参考图片索引)。在双向预测方法中,可以使用最多两个参考区域,并且两个参考区域可以存在于同一参考图片中或可以存在于不同图片中。即,在双向预测方法中,可以使用最多两个的运动信息集合(例如,运动矢量和参考图片索引),并且两个运动矢量可以对应于相同的参考图片索引或不同的参考图片索引。在这种情况下,在时间方面,可以在当前图片之前和之后显示(或输出)参考图片。
帧间预测单元254可以使用运动矢量和参考图片索引来获得当前块的参考块。参考块在与参考图片索引相对应的参考图片中。而且,由运动矢量指定的块的像素值或其内插值可以用作当前块的预测器。对于具有子像素(sub-pel)单位像素准确度的运动预测,例如,可以使用用于亮度信号的8抽头内插滤波器和用于色度信号的4抽头内插滤波器。然而,以子像素为单位的用于运动预测的内插滤波器不限于此。以这种方式,帧间预测单元254执行运动补偿以根据先前使用运动信息重构的运动图片来预测当前单元的纹理。
通过将从帧内预测单元252或帧间预测单元254输出的预测值与从逆变换单元225输出的残差值相加生成重构的视频图片。即,视频信号解码装置200使用由预测单元250生成的预测块和从逆变换单元225获得的残差来重构当前块。
同时,图2的框图示出根据本发明的实施例的解码装置200,并且分开显示的块在逻辑上区分并示出解码装置200的元件。因此,取决于设备的设计上述解码装置200的元件可以被安装为一个芯片或多个芯片。根据实施例,上述解码装置200的每个元件的操作可以由处理器(未示出)执行。
图3图示其中在图片中编译树单元(CTU)被分割成编译单元(CU)的实施例。在视频信号的编码过程中,可以将图片分割成一系列编译树单元(CTU)。编译树单元由亮度样本的NXN块和与其相对应的色度样本的两个块组成。编译树单元可以被分割成多个编译单元。编译单元指代在上述视频信号的处理过程中,即,帧内/帧间预测、变换、量化和/或熵编译中用于处理图片的基本单元。一个图片中编译单元的大小和形状可能不恒定。编译单元可以具有正方形或矩形形状。矩形编译单元(或矩形块)包括垂直编译单元(或垂直块)和水平编译单元(或水平块)。在本说明书中,垂直块是其高度大于宽度的块,并且水平块是其宽度大于高度的块。此外,在本说明书中,非正方形块可以指代矩形块,但是本公开不限于此。
参考图3,首先将编译树单元分割成四叉树(QT)结构。即,在四叉树结构中具有2NX2N大小的一个节点可以被分割成具有NXN大小的四个节点。在本说明书中,四叉树也可以称为四元树。可以递归地执行四叉树分割,并非所有节点都需要以相同的深度分割。
同时,上述四叉树的叶节点可以进一步被分割成多类型树(MTT)结构。根据本发明的实施例,在多类型树结构中,一个节点可以被分割成水平或垂直划分的二叉或三叉树结构。即,在多类型树结构中,存在四个分割结构,诸如垂直二元分割、水平二元分割、垂直三元分割和水平三元分割。根据本发明的实施例,在每个树结构中,节点的宽度和高度都可以具有2的幂。例如,在二叉树(BT)结构中,2NX2N大小的节点可以通过垂直二元分割被分割成两个NX2N节点,并通过水平二元分割将其分割成两个2NXN节点。另外,在三叉树(TT)结构中,将2NX2N大小的节点通过垂直三元分割被分割成(N/2)X2N、NX2N和(N/2)X2N节点,并通过水平二元分割被分割成2NX(N/2)、2NXN和2NX(N/2)节点。可以递归地执行此多类型树分割。
多类型树的叶节点可以是编译单元。如果针对最大变换长度该编译单元不大,则无需进一步划分就将编译单元用作预测和变换的单元。另一方面,可以通过诸如PPS、SPS、VPS等的高层集合的RBSP来预定义或发送上述四叉树和多类型树中的以下参数中的至少一个。1)CTU大小:四叉树的根节点大小,2)最小QT大小MinQtSize:允许的最小QT叶节点大小,3)最大BT大小MaxBtSize:允许的最大BT根节点大小,4)最大TT大小MaxTtSize:允许的最大TT根节点大小,5)最大MTT深度MaxMttDepth:从QT的叶节点分割而来的MTT的最大允许深度,6)最小BT大小MinBtSize:允许的最小BT叶节点大小,7)最小TT大小MinTtSize:允许的最小TT叶节点大小。
图4示出用于发信号告知四叉树和多类型树的分割的方法的实施例。可以使用预设标记来发信号告知上述四叉树和多类型树的分割。参考图4,指示是否分割四叉树节点的标记“qt_split_flag”、指示是否分割多类型树节点的标记“mtt_split_flag”、指示多类型树节点的分割方向的标记“mtt_split_vertical_flag”或者指示多类型树节点的分割类型的标记“mtt_split_binary_flag”中的至少一个可以被使用。
根据本发明的实施例,编译树单元是四叉树的根节点,并且可以首先被分割成四叉树结构。在四叉树结构中,为每个节点“QT_node”发信号告知“qt_split_flag”。如果“qt_split_flag”的值为1,则将该节点分割成4个正方形节点,并且如果“qt_split_flag”的值为0,则相应的节点成为四叉树的叶节点“QT_leaf_node”。
每个四叉树叶节点“QT_leaf_node”可以进一步被分割成多类型树结构。在多类型树结构中,为每个节点“MTT_node”发信号告知“mtt_split_flag”。当“mtt_split_flag”的值是1时,相应的节点被分割成多个矩形节点,并且当“mtt_split_flag”的值是0时,相应的节点是多类型树的叶节点“MTT_leaf_node”。当将多类型树节点“MTT_node”分割成多个矩形节点时(即,当“mtt_split_flag”的值是1时),可以附加地发信号告知节点“MTT_node”的“mtt_split_vertical_flag”和“mtt_split_binary_flag”。当“mtt_split_vertical_flag”的值是1时,指示节点“MTT_node”的垂直分割,并且当“mtt_split_vertical_flag”的值是0时,指示节点“MTT_node”的水平分割。另外,当“mtt_split_binary_flag”的值为1时,节点“MTT_node”被分割成2个矩形节点,并且当“mtt_split_binary_flag”的值为0时,节点“MTT_node”被分割成3个矩形节点。
图5和6更加具体地图示根据本发明的实施例的帧内预测方法。如上所述,帧内预测单元通过使用位于当前块的左侧和/或上侧的重构的像素作为参考样本来预测当前块的像素值。
首先,图5图示了在帧内预测模式中,用于预测当前块的参考样本的实施例。根据实施例,参考像素可以是与当前块的左边界和/或上边界相邻的像素。如图5所示,当当前块的大小为W×H且与当前块相邻的单个参考线的像素被用于帧内预测时,可以使用位于当前块的左侧和/或上侧的最多2W+2H+1个相邻像素来配置参考像素。同时,根据本公开的附加的实施例,多个参考线的像素可以被用于当前块的帧内预测。多个参考线可以包括位于距当前块预设范围内的n个线。根据实施例,当多个参考线的像素被用于帧内预测时,可以发信号告知指示要配置给参考像素的线的单独的索引信息。当还没有重构将被用作参考像素的相邻像素中的至少一些时,帧内预测器可以根据预设规则,通过参考样本填充过程获取参考像素。此外,帧内预测器可以执行参考样本过滤过程以减少帧内预测的误差。即,可以通过对相邻像素和/或通过参考样本填充过程获取的像素进行滤波来获取参考像素。帧内预测器使用所获取的参考像素来预测当前块的像素。
接下来,图6示出用于帧内预测的预测模式的实施例。对于帧内预测,可以发信号告知指示帧内预测方向的帧内预测模式信息。帧内预测模式信息指示被包括在帧内预测模式集中的多个帧内预测模式中的一个。当当前块是帧内预测块时,解码器从比特流接收当前块的帧内预测模式信息。解码器的帧内预测单元基于提取的帧内预测模式信息对当前块执行帧内预测。
根据本发明的实施例,帧内预测模式集合可以包括在帧内预测中使用的所有帧内预测模式(例如,总共67个帧内预测模式)。更具体地说,帧内预测模式集合可以包括平面模式、DC模式以及多个(例如65个)角度模式(即,定向模式)。可以通过预设索引(即,帧内预测模式索引)来指示每个帧内预测模式。例如,如图6所示,帧内预测模式索引0指示平面模式,而帧内预测模式索引1指示DC模式。此外,帧内预测模式索引2至66可以分别指示不同的角度模式。角度模式分别指示在预设角度范围内彼此不同的角度。例如,角度模式可以指示在顺时针方向的45度和-135度之间的角度范围(即,第一角度范围)内的角度。可以基于12点钟方向来定义角度模式。在这种情况下,帧内预测模式索引2指示水平对角线(HDIA)模式,帧内预测模式索引18指示水平(水平,HOR)模式,帧内预测模式索引34指示对角线(DIA)模式,帧内预测模式索引50指示垂直(VER)模式,而帧内预测模式索引66指示垂直对角线(VDIA)模式。
同时,可以根据当前块的形状,不同地配置预设角度范围。例如,当当前块为矩形块时,可以附加地使用指示在顺时针方向大于45度且小于-135度的角度的广角模式。当当前块为水平块时,角度模式可以指示在顺时针方向,在(45+offset1)度与(-135+offset1)度之间的角度范围(即第二角度范围)内的角度。在这种情况下,可以附加地使用第一角度范围之外的角度模式67至76。当当前块为垂直块时,角度模式可以指示在顺时针方向,(45-offset2)度与(-135-offset2)度之间的角度范围(即第三角度范围)内的角度。在这种情况下,可以附加地使用第一角度范围之外的角度模式-10到-1。根据本公开的实施例,可以根据矩形块的宽度和高度之间的比率,确定offset1和offset2的值彼此不同。此外,offset1和offset2可以是正数。
根据本公开的附加实施例,包括在帧内预测模式集中的多个角度模式可以包括基本角度模式和扩展角度模式。在这种情况下,可以基于基本角度模式来确定扩展角度模式。
根据实施例,基本角度模式可以是与传统高效视频编译(HEVC)标准的帧内预测中使用的角度相对应的模式,而扩展角度模式可以是与新添加到下一代视频编解码器标准的的帧内预测的角度相对应的模式。更具体地,基本角度模式可以是对应于帧内预测模式{2,4,6,...,66}之一的角度模式,而扩展角度模式可以是对应于帧内预测模式{3,5,7,...,65}之一的角度模式。即,扩展角度模式可以是第一角度范围内的基本角度模式之间的角度模式。因此,可以基于由基本角度模式指示的角度来确定由扩展角度模式指示的角度。
根据另一实施例,基本角度模式可以是与预设第一角度范围内的角度相对应的模式,而扩展角度模式可以是第一角度范围外的广角模式。即,基本角度模式可以是对应于帧内预测模式{2,3,4,...,66}之一的角度模式,而扩展角度模式可以是对应于帧内预测模式{-10,-9,...,-1}和{67,68,...,76}之一的角度模式。可以将由扩展角度模式所指示的角度确定为与由基本角度模式所指示的角度相反的角度。因此,可以基于由基本角度模式指示的角度来确定由扩展角度模式指示的角度。同时,扩展角度模式的数量不限于此,可以根据当前块的大小和/或形状来定义附加的扩展角度。例如,扩展角度模式可以被定义为对应于帧内预测模式{-14,-13,...,-1}和{67,68,...,80}之一的角度模式。同时,包括在帧内预测模式集中的帧内预测模式的总数可以根据基本角度模式和扩展角度模式的配置而变化。
在本实施例中,可以基于基本角度模式之间的间隔来配置扩展角度模式之间的间隔。例如,可以基于基本角度模式{2,4,6,...,66}之间的间隔来配置扩展角度模式{3,5,7,...,65}之间的间隔。进一步地,可以基于对侧上的相对应的基本角度模式{56,57,...,65}之间的间隔来确定扩展角度模式{-10,-9,...,-1}之间的间隔,以及可以基于对侧上的相对应的基本角度模式{3,4,...,12}之间的间隔来确定扩展角度模式{67,68,...,76}之间的间隔。扩展角度模式之间的角度间隔可以被配置为与基本角度模式之间的角度间隔相同。进一步地,可以将帧内预测模式集中的扩展角度模式的数量配置为等于或小于基本角度模式的数量。
根据本公开的实施例,可以基于基本角度模式,发信号告知扩展角度模式。例如,广角模式(即扩展角度模式)可以替代第一角度范围内的至少一个角度模式(即基本角度模式)。被替代的基本角度模式可以是与广角模式的对侧相对应的角度模式。即,被替代的基本角度模式可以是与在与由广角模式所指示的角度相对的方向上的角度相对应的角度模式,或者是与距相对方向上的角度具有预设偏移索引的差的角度相对应的角度模式。根据本公开的实施例,预设偏移索引为1。与被替代的基本角度模式相对应的帧内预测模式索引可以再次被映射到广角模式并且发信号告知相应的广角模式。例如,可以由帧内预测模式索引{57,58,...,66}发信号告知广角模式{-10,-9,...,-1},并且可以由帧内预测模式索引{2,3,...,11}发信号告知广角模式{67,68,...,76}。由于用于基本角度模式的帧内预测模式索引发信号告知扩展角度模式,因此即使用于块的帧内预测的角度模式的配置彼此不同,相同的集合中的预测模式索引也可以被用于发信号告知帧内预测模式。因此,根据帧内预测模式的配置的变化,可以最小化信令开销。
同时,可以基于当前块的形状和大小中的至少一个来确定是否使用扩展角度模式。根据实施例,当当前块的大小大于预设大小时,可以将扩展角度模式用于当前块的帧内预测。否则,仅基本角度模式可以用于当前块的帧内预测。根据另一实施例,当当前块不是矩形块时,可以将扩展角度模式用于当前块的帧内预测。当当前块为矩形块时,仅基本角度模式可以被用于当前块的帧内预测。
帧内预测器基于当前块的帧内预测模式信息,确定要用于当前块的帧内预测的参考像素和/或内插参考像素。当帧内预测模式索引指示特定角度模式时,可以将对应于距当前块的当前像素特定角度的参考像素或内插参考像素用于当前像素的预测。因此,根据帧内预测模式,不同集合中的参考像素和/或内插参考像素可以被用于帧内预测。当使用参考像素和帧内预测模式信息执行当前块的帧内预测时,解码器通过将从逆转换器获取的当前块的残差信号与当前块的帧内预测值相加来重构当前块的像素值。
图7图示了根据本公开的实施例的帧间预测。
如上所述,当对当前图片或块进行编码或解码时,可以从另一图片或块执行预测。即,可以基于与另一图片或块的相似性来执行编码或解码。可以通过当前图片或块中的省略信令来对与另一图片或块相似的部分进行编码或解码,这将在下文更详细地描述。可以以块为单位进行预测。
参考图7,左侧有参考图片,右侧有当前图片,可以使用与参考图片或部分参考图片的相似性来预测当前图片或部分当前图片。当由图7的当前图片中的实线指示的矩形是当前要编码或解码的块时,可以根据由参考图片的虚线指示的矩形来预测当前块。在这种情况下,可能存在指示当前块应当参考的块(参考块)的信息,并且可以直接发信号告知该信息或可以按约定实现该信息以减少信令开销。指示当前块应当参考的块的信息可以包括运动矢量。运动矢量可以是指示图片内的当前块和参考块之间的相对位置的矢量。参考图7,存在由参考图片的虚线指示的部分,以及指示如何将当前块移动到当前块应当参考的块的矢量可以是运动矢量。即,当前块根据运动矢量移动时出现的块可以是由图7的当前图片中的虚线所示的部分,以及由图片中的虚线指示的部分的位置可以与参考图片的参考块的位置相同。
指示当前块应当参考的块的信息可以包括指示参考图片的信息。指示参考图片的信息可以包括参考图片列表和参考图片索引。参考图片列表是指示参考图片的列表,并且可以在包括在参考图片列表中的参考图片中使用参考块。即,可以从包括在参考图片列表中的参考图片来预测当前块。参考图片索引可以是指示要使用的参考图片的索引。
图8图示了根据本公开的实施例的运动矢量信令方法。
根据本公开的实施例,可以基于运动矢量预测器(MVP)生成运动矢量(MV)。例如,MVP可能会变成运动矢量,如下所示。
MV=MVP
在另一示例中,运动矢量可以基于运动矢量差(MVD),如下所示。MVD可以被添加到MVP以便指示准确的运动矢量。
MV=MVP+MVD
可以将在视频编译中,由编码器确定的运动矢量信息发送到解码器,解码器可以根据所接收到的运动矢量信息生成运动矢量并确定预测块。例如,运动矢量信息可以包括关于MVP和MVD的信息。在这种情况下,运动矢量信息的元素可以根据模式而变化。例如在合并模式中,运动矢量信息可以包括关于MVP的信息但可以不包括MVD。在另一示例中,在高级运动矢量预测(AMVP)模式中,运动矢量信息可以包括关于MVP和MVD的信息。
为了确定、发送和接收关于MVP的信息,编码器和解码器可以通过相同的方法生成MVP候选。例如,编码器和解码器可以以相同的顺序生成相同的MVP候选。编码器可以向解码器发送指示在所生成的MVP候选当中的所确定的MVP的索引,并且解码器可以基于该索引来识别所确定的MVP和MV。
MVP候选和生成MVP候选的方法可以包括空间候选、时间候选等。空间候选可以是用于在距当前块预定位置处的块的运动矢量。例如,空间候选可以是与当前块相邻或不相邻的块或位置相对应的运动矢量。时间候选可以是对应于与当前图片不同的图片内的块的运动矢量。可替代地,MVP候选可以包括仿射运动矢量、ATMVP、STMVP、上述运动矢量的组合、上述运动矢量的平均矢量、零运动矢量等。
也可以将指示参考图片的信息从编码器发送到解码器。当对应于MVP候选的参考图片不对应于指示参考图片的信息时,可以执行运动矢量缩放。运动矢量缩放可以是基于当前图片的图片序列号(POC)、当前块的参考图片的POC、MVP候选的参考图片的POC以及MVP候选的计算。
图9图示了根据本公开的实施例的MVD语法。
可以在分离MVD的符号和绝对值的同时编译MVD。也就是说,MVD的符号和绝对值可以是不同的语法。此外,MVD的绝对值可以被直接编译,但是可以在包括指示绝对值是否大于N的标志的同时被编译,如图9所示。当绝对值大于N时,还可以发信号告知(绝对值-N)的值。在图9的示例中,可以发送abs_mvd_greater0_flag,并且该标志可以指示绝对值是否大于0。当abs_mvd_greater0_flag指示绝对值不大于0时,可以确定绝对值为0。当abs_mvd_greater0_flag指示绝对值大于0时,可以有其他的语法。例如,abs_mvd_greater1_flag可能存在,并且该标志可以指示绝对值是否大于1。当abs_mvd_greater1_flag指示绝对值不大于1时,可以确定绝对值为1。如果abs_mvd_greater1_flag指示绝对值大于1,则可能存在其他语法。例如,abs_mvd_minus2可能存在,并且可以对应于(绝对值-2)的值。由于通过abs_mvd_greater0_flag和abs_mvd_greater1_flag,确定绝对值大于1(大于或等于2),所以指示(绝对值-2)。将abs_mvd_minus2二值化为可变长度是为了以较少的比特来发信号告知。例如,存在诸如Exp-Golomb(指数哥伦布)、截断一元、截断Rice(莱斯)等的可变长度二值化方法。mvd_sign_flag可以是指示MVD的符号的标志。
虽然在本实施例中通过MVD描述了编译方法,但是可以将除MVD以外的信息分为符号和绝对值,并且可以用指示绝对值是否大于任何值的标志以及从绝对值中减去任何值获得的值来编译绝对值。
在图9中,[0]和[1]可以指示分量索引。例如,[0]和[1]可以指示x分量和y分量。
此外,在图9中,cpIdx可以指示控制点索引。控制点索引可以是与仿射运动预测中的控制运动矢量索引相对应的索引。在除仿射运动预测以外的预测方法中,可以将cpIdx用作预设值,例如0。
图10图示了根据本公开的实施例的自适应运动矢量分辨率(AMVR)信令。
根据本公开的实施例,可能存在指示运动矢量或MVD的各种分辨率。换句话说,可能存在用其编译运动矢量或MVD的各种分辨率。例如,可以基于像素(画素(pel))来指示分辨率。例如,可以以1/4(四分之一)、1/2(一半)、1(整数)、2或4个像素为单位来发信号告知运动矢量或MVD。例如,当根据结果,预期为16时,可以以1/4为单位执行编译为64(1/4*64=16),以1为单位执行编译为16(1*16=16),以及可以以4为单位执行编译为4(4*.4=16)。即,可以如下所示确定该值。
valueDetermined=分辨率*valuePerResolution
valueDetermined可以是一个值,即本实施例中的运动矢量或MVD。valuePerResolution可以是指示以[/分辨率]为单位的valueDetermined的值。
在这种情况下,当由运动矢量或MVD发信号告知的值不能被分辨率整除时,可能由于舍入等而发送不是最佳性能运动矢量或MVD的不准确值。使用高分辨率可以减少不准确度但增加了待编译的值,因此可能使用更多比特。使用低分辨率可能会增加不准确度但会减少要编译的值,因此可能使用更少的比特。
此外,可以以块、CU、切片等为单位不同地配置分辨率。因此,可以自适应地应用分辨率以适合该单位。
分辨率可以从编码器发信号告知解码器。分辨率的信令可以是利用可变长度二值化的信令。在这种情况下,当以对应于最小值(最前面的值)的索引执行信令时,减少了信令开销。
在实施例中,信令索引可以以从高分辨率(详细信令)到低分辨率的顺序来匹配分辨率。
图10图示了三种分辨率的信令。这三个信号可以是0、10和11,分别对应分辨率1、分辨率2和分辨率3。由于分辨率1的信令需要1比特,其余分辨率的信令需要2比特,因此分辨率1的信令的信令开销较小。在图10的示例中,分辨率1、分辨率2、分辨率3分别为1/4、1、4画素(pel)。
在下文中,运动矢量分辨率可以指本公开中的MVD的分辨率。
图11图示了根据本公开的实施例的帧间预测相关语法。
根据本公开的实施例,帧间预测方法可以包括跳过模式、合并模式、帧间模式等。根据实施例,在跳过模式中,可以不发送残差信号。在跳过模式中,可以使用与合并模式中相同的MV确定方法。可以根据跳过标志来确定是否使用跳过模式。参考图11,可以根据cu_skip_flag的值来确定是否使用跳过模式。
根据实施例,在合并模式中可以不使用MVD。可以基于运动候选索引来确定运动矢量。可以根据合并标志来确定是否使用合并模式。参考图11,可以根据merge_flag的值来确定是否使用合并模式。当不使用跳过模式时,可以使用合并模式。
可以在跳过模式或合并模式中,在一个或多个候选列表类型中选择性地使用一个候选。例如,可以使用合并候选或子块合并候选。合并候选可以包括空间邻近候选、时间邻近候选等。此外,合并候选可以包括将运动矢量用于整个当前块(CU)的候选。即,属于当前块的各个子块的运动矢量可以包括相同的候选。子块合并候选可以包括基于子块的时间MV、仿射合并候选等。此外,子块合并候选可以包括可以对当前块(CU)的各个子块使用不同运动矢量的候选。仿射合并候选可以是通过在不使用MVD的情况下确定仿射运动预测的控制点运动矢量的方案实现的方法。子块合并候选可以包括以当前块中的子块为单位确定运动矢量的方法。例如,子块合并候选可以包括平面MV、基于回归的MV、STMVP等以及基于子块的时间MV和仿射合并候选。
根据实施例,可以在帧间模式中使用MVD。可以基于运动候选索引来确定MVP,并且可以基于MVP和MVD来确定运动矢量。可以根据有关是否使用其他模式的信息来确定是否使用帧间模式。在另一个实施例中,可以由标志来确定是否使用帧间模式。图11图示了在不使用其他模式(诸如跳过模式和合并模式)的情况下使用帧间模式的示例。
帧间模式可以包括AMVP模式、仿射帧间模式等。帧间模式可以是基于MVP和MVD确定运动矢量的模式。仿射帧间模式可以是在确定仿射运动预测的控制点运动矢量时使用MVD的方法。
参考图11,在确定跳过模式或合并模式之后,可以确定是使用子块合并候选还是合并候选。例如,当满足特定条件时,可以解析指示是否使用子块合并候选的merge_subblock_flag。特定条件可以是与块大小相关的条件。例如,特定条件可以是与宽度、高度、面积等相关的条件,或者可以使用它们的组合。参考图11,特定条件可以是例如当前块(CU)的宽度和高度大于或等于特定值的情况下的条件。当解析merge_subblock_flag时,该值可以被推断为0。当merge_subblock_flag为1时,可以使用子块合并候选。当merge_subblock_flag为0时,可以使用合并候选。当使用子块合并候选时,可以解析对应于候选索引的merge_subblock_idx,以及当使用合并候选时,可以解析对应于候选索引的merge_idx。当候选列表的最大数量为1时,可以不执行解析。当未解析merge_subblock_idx或merge_idx时,该值可以被推断为0。
图11图示了coding_unit的函数,以及可以省略与帧内预测有关的内容,或者图11可以指示确定帧间预测的情况。
图12图示了根据本公开的实施例的空间邻近的位置。
如上所述,当执行预测时可以参考当前块周围的位置。这可能意味着参考与当前块周围的位置相对应的运动信息。例如,当使用合并模式、AMVP模式等时,可以基于与当前块周围的位置相对应的运动信息来配置MVP或MV。可以预设其周围的位置。当其周围存在多个位置时,可以预设参考位置的顺序。其周围的位置可以包括空间邻近和时间邻近。
参考图12,可以预设对应于A0、A1、B0、B1和B2的位置。这些位置可以是亮度位置。当前块的最左上位置为(xCb,yCb)时,A0、A1、B0、B1、B2可以分别是(xCb-1,yCb+cbHeight)、(xCb-1,yCb+cbHeight-1)、(xCb+cbWidth,yCb-1)、(xCb+cbWidth-1,yCb-1)以及(xCb-1,yCb-1)。在这种情况下,cbWidth和cbHeight可以分别是当前块的宽度和高度。
根据本公开的实施例,在合并模式中可以按照A1、B1、B0、A0和B2的顺序来参考空间邻近。与空间邻近的位置相对应的空间候选可以被添加到候选列表中。除添加空间候选外还可以添加时间候选,并且可以添加在空间候选之后。对应于时间候选的运动矢量可以被称为同位(collocated)运动矢量。
当候选列表未满时,可以将零运动矢量添加到候选列表。零运动矢量可以是指示当前块位置的运动矢量。
合并候选列表可包括基于历史的运动矢量预测候选、成对平均候选等。候选可以位于候选列表中的空间候选之后。基于历史的运动矢量预测候选可以是被存储的运动信息。被存储的运动信息可以是与在当前块之前解码(编码)的块相对应的运动信息。成对平均候选可以是基于已经添加到候选列表的候选生成的候选。例如,成对平均候选可以是已经添加到候选列表的候选的平均值。
参考当前块周围的位置将候选添加到候选列表的方法可以包括矢量缩放过程。可以基于参考的运动信息的参考图片的图片序列号(POC)、包括当前块的图片的POC、当前块的参考图片的POC、参考的运动信息来执行运动矢量缩放。
根据本公开的实施例,可以对预设的空间邻近位置进行分组。组可以参考预设数量的运动信息。例如,组1可以参考预设数量的运动信息,组2可以参考预设数量的运动信息。例如,预设数量可以是1。进一步地,可以预设组内的参考顺序。可以预设组间候选添加顺序。
参考图12,组1可以包括A0和A1,以及组2可以包括B0、B1和B2。此外,可以从组1中可用的运动信息生成候选,以及可以从组2中可用的运动信息生成候选。可以顺序地将来自组1的候选添加到候选列表以及将来自组2的候选添加到候选列表。例如,可以在AMVP模式中如上所述地实现候选列表。
当候选列表未满时,可以添加缩放候选、时间候选、零运动矢量等。
图13图示了根据本公开的实施例的当前图片参考。
如上所述,当预测当前块时可以参考参考块内的块。根据本公开的实施例,参考图片可以是包括当前块的图片,即当前图片。因此,在预测当前块时可以参考当前图片的块。这种技术可以被称为当前图片参考(CPR)。
根据实施例,当使用CPR时,当前块可以是唯一参考图片。在这种情况下,可以在没有指示参考图片的信令的情况下执行推断。
根据实施例,当使用CPR时,可能存在指示当前块参考的参考块的运动矢量。根据实施例,当使用CPR时,可以限制参考块的位置。例如,可以基于当前块的位置来限制参考块的位置。例如,可以将参考块的位置限于包括当前块的CTU的内部。可替代地,参考块的位置可以限于包括包括当前块的CTU的至少一些的位置。限制参考块的位置可以是为了减少内存负载。
根据本公开的实施例,可以存在指示当前块是否使用CPR的信令。在实施例中,该信令可以是包括当前块的更大单元中的信令。例如,可能是在切片级别或图块级别处的信令。例如,可能是执行并行处理的级别处的信令。在实施例中,例如,当当前块参考的参考图片是当前图片时,可以使用CPR。可替代地,当当前图片是唯一参考图片时,可以使用CPR。另外,当当前块是不使用帧内预测的块时,可以使用CPR。即,例如,当对应于当前块的参考图片是当前图片时,如果不使用帧内预测,则可以使用CPR。在实施例中,指示当前图片是唯一参考图片的信息可以由CurrPicIsOnlyRef的参数来指示。可替代地,使用CPR可能意味着参考图片是当前图片。可替代地,使用CPR可能意味着参考图片是当前图片并且不使用帧内预测。
根据本公开的实施例,当使用CPR时,可以使用合并模式、AMVP模式等来指示运动信息。
此外,当使用CPR时,当前切片或图块可以被配置为P切片或P图块。当使用CPR时,可以将指示使用双树(dual tree)的标志配置为指示使用双树的值。双树可以是指对应于亮度的树和对应于色度的树是不同的。
参考图13,由实线指示的当前块可以在当前图片内。此外,由虚线指示的参考块可能存在于当前图片内。在这种情况下,可能存在指示参考块位置的运动信息。参考图13,箭头可以是指示参考块的位置的运动信息。
根据本公开的实施例,当使用CPR时,候选列表的配置可能变得不同。例如,当使用CPR时,可能不会将时间候选添加到候选列表中。
根据本公开的实施例,当使用CPR时,可以不缩放从周围参考的运动信息。
图14图示了根据本公开的实施例的空间邻近候选参考方法。
根据本公开的实施例,当当前块使用CPR时,候选列表配置方法可能不同于不使用CPR的情况。例如,当当前块使用CPR时,空间邻近候选添加方法可能不同于不使用CPR的情况。例如,当当前块使用CPR时,可以不参考超出CPR的参考块可能位于的范围的位置处的运动信息。可替代地,当当前块使用CPR时,可以不参考基于CPR的参考块可能位于的范围的范围之外的位置处的运动信息。CPR的参考块可能位于的范围可以是当前块所属的CTU范围。根据本公开的实施例,可以不从超出当前CTU的位置参考运动信息。例如,当当前块与参考块所处的范围边界邻接时,预设的空间邻近位置可能在参考块可能位于的范围之外。特别地,当参考图12的预设空间邻近位置时,如果当前块与参考块可能位于的范围的上边界或左边界邻接,则多个预设空间邻近位置可能脱离参考块可能位于的范围。
参考图14,参考块的位置可以限于CTU内部。根据实施例,可以不参考从超出参考块可能位于的范围的位置的运动。例如,当当前块位于参考块可能具有的范围的边界处时,预设空间邻近位置可能脱离参考块可能位于的范围。在图14中,当前块周围的预设空间邻近用小虚线矩形标记。在这种情况下,可以确定CTU外的位置不可用。
这是因为,如果参考超出参考块可能位于的范围的位置,则该位置处的运动信息具有较窄的范围,以便防止当前块的参考块或参考位置处的参考块超出限制范围。例如,在图14的情况下,标记为不可用的部分中的参考块不应当在参考块所属的CTU之外。为了防止由标记为不可用的部分中的运动信息所指示的位置脱离当前块的参考块可能位于的范围,图14的参考部分中的运动信息的y分量应当为0。当当前块与左边界邻接时,超出边界的参考部分中的运动信息的x分量应当为0。即使在x分量或y分量为0且其余分量不为0的状态下,如果按预设编译顺序,一个分量中的仅一个符号(例如负)有效,或者该分量具有其他符号,也极有可能使MVD变大。
在参考块限于当前CTU内部的附加描述中,仅CTU的内部用作参考块,因此MV之间几乎没有相关性。当诸如在合并模式下无法校正MVD时,如果在CTU的外部存在MV的x和y分量,则当前块或邻近块的参考块会超出CTU范围。例如,当当前块在CTU上方的边界上时,如果存在上块的MV的y分量,则当前块或邻近块会超出CTU范围。
由于整个切片是参考当前图片的(CPR),因此,邻近块也可能已经使用了帧内或CPR。
当当前块在图块边界上时(或者在切片而不是CPR的情况下),周围可以使用帧间而不是CPR,在这种情况下,邻近MV可以指示远离的位置,从而脱离CTU。由于邻近MV指示另一图片,因此可能几乎没有相关性。
根据本公开的实施例,仅当由使用CPR的当前块所参考的空间邻近位置使用CPR时,才可以参考运动信息。可替代地,当由使用CPR的当前块参考的空间邻近位置不使用CPR时,可以不由此参考运动信息。
根据另一实施例,空间邻近位置处的运动信息可以在被裁剪到与当前块相对应的参考块可以具有的范围之后被参考。
如图14的实施例中所示,当减小可用空间邻近位置时,可以减少候选的总数。在这种情况下,可以减少候选索引信令。例如,当可以将预设位置处的空间邻近候选和零运动矢量添加到候选列表时,或者当可以将i)预设位置处的空间邻近候选,ii)有限数量的HMVP候选或成对平均候选,或iii)零运动矢量添加到候选列表时,如果减小可用空间邻近位置,则可以减少候选的总数。在这种情况下,可以通过减少候选索引的最大值来减少对索引进行二值化时的比特数。
可替代地,当如在图14的实施例中所示,减少可用空间邻近位置时,可以将在空间邻近候选之后添加的候选添加到候选列表的前面,因此当使用在空间邻近候选之后添加的候选时,可以减少对应于候选索引的比特数。
图15图示根据本公开的实施例的块位置和运动候选列表的配置。
根据本公开的实施例,可以在预设位置处参考运动信息的候选的数量可以很少。例如,根据参考图14描述的情况,可以减少可用空间邻近位置。例如,当当前块与参考块可能具有的范围的上边界或左边界邻接时,可用候选的数量可能很少。在这种情况下,即使没有检测参考相应的空间邻近的可用性(例如,即使没有检测相应的空间邻近位置是使用了帧内预测还是帧间预测),解码器和编码器也可以确定没有对应于相应空间邻近的候选。在这种情况下,可以在候选列表中向前移动零MV的位置。
因此,根据本公开的实施例,可以通过候选索引来确定候选索引是否指示零MV。例如,当根据当前块位置和空间邻近位置可以被参考作为邻近的范围,排除了一些空间邻近位置时,如果索引的数量大于或等于所有剩余可用候选的数量,可以确定是零运动矢量。例如,当在空间邻近候选之后添加零运动矢量时,如果索引的数量大于或等于可用空间邻近候选的数量,则可以确定是零运动矢量。例如,当根据当前块位置和空间邻近位置可以被参考作为邻近的范围,排除了一些空间邻近位置时,如果剩余空间邻近位置的数量为M且从0开始的索引的值为M,则可以确定是在空间邻近候选之后添加的候选,以及如果在空间邻近候选之后是零MV,则可以确定是零MV。
例如,如图15中用A标记的块的情况,可能存在当前块与参考块可能位于的范围的左边界邻接的情况。在这种情况下,如图14所示,如果在参考块可能位于的范围之外的位置处的运动信息未被参考,则可以不使用当前块的左位置。因此,可以仅使用除了左位置之外的位置。可替代地,在这种情况下,如图14所示,当参考块可能位于的范围之外的位置处的运动信息未被参考时,可以不使用图12中描述的位置A0、A1和B3。可以仅使用B0和B1。在实施例中,在合并模式中,可以使用B0和B1两者,而在AMVP模式中,可以使用B0和B1中的仅一个。因此,当在合并模式下索引为2时(从0开始),可以确定候选是在空间邻近候选之后的候选。进一步地,当在AMVP模式下索引为1时(从0开始),可以确定候选是在空间邻近候选之后的候选。即,当在空间邻近候选之后出现零MV时,可以由索引确定零MV。
此外,类似于图15中用B标记的块的情况,可能存在当前块与参考块可能位于的范围的上边界邻接的情况。在这种情况下,如图14所示,当在参考块可能位于的范围之外的位置处的运动信息未被参考时,可以不使用当前块的上位置。因此,可以仅使用除了当前块的上位置之外的位置。可替代地,在这种情况下,如图14所述,当参考块可能位于的范围之外的位置处的运动信息未被参考时,可以不使用图12中描述的B0、B1和B2。因此,只有A0和A1可用。在实施例中,在合并模式中可以使用A0和A1两者,而在AMVP模式中,可以使用A0和A1中的仅一个。因此,当在合并模式下索引为2时(从0开始),可以确定候选是在空间邻近候选之后的候选。进一步地,当,在AMVP模式下索引为1时(从0开始),可以确定候选是在空间邻近候选之后的候选。即,当在空间邻近候选之后出现零MV时,可以由索引确定零MV。
参考图15,示出了在参考块的位置限于当前CTU范围并且不参考当前CTU之外的位置处的运动信息的情况下的AMVP候选列表的配置。当当前块与CTU左边界或上边界邻接时,如图15中的A或B所示,空间邻近候选的最大数量可以是1,以及剩余候选可以用零MV填充。例如,在AMVP候选列表的配置中,可以将A0和A1之一的位置以及B0、B1和B2之一的位置用作空间邻近候选。因此,当当前块与左边界邻接时,如图15中的块A,B0和B1之一的位置可以被用作空间邻近候选。当当前块与上块邻接时,如图15中的块B,可以将A0和A1之一的位置用作空间邻近候选。因此,当候选索引为1时,可以确定MVP是零MV。
根据本公开的实施例,如果通过候选索引指示零MV,则可以执行参考图18至22所述的实施例。例如,可以改变MVD编译。例如,在特定情况下,可以在没有任何语法解析的情况下发信号告知和确定MVD分量的符号。
图16图示根据本公开的实施例的块位置和运动候选列表的配置。
根据本公开的实施例,可能无法参考图片外的位置处的运动信息。这可以包括使用CPR的情况和不使用CPR的情况两者。
根据本公开的实施例,在CPR中参考块可能具有的位置可以在图片内部。可替代地,根据本公开的实施例,在CPR中参考块可能具有的位置可以是包括图片内部的区域。
参考图16,当当前块与图片边界邻接时,可能限制空间邻近位置。这是因为可能无法参考图片外的位置处的运动信息。例如,当当前块与图片的左边界邻接时(在图16中用A标记的块的情况下),无法参考当前块的左位置。此外,当当前块与图片的上边界邻接时(在图16中用B标记的块的情况下),无法参考当前块的上位置。
因此,在这种情况下,可以降低二值化的最大值或确定是零MV。
当如上所述使用CPR时,可以不使用时间候选、缩放候选等。
在首先使用CPR并且使用AMVP模式的情况下,当根据本实施例当前块与图片边界相邻时,可用空间邻近位置可能受限。特别地,当当前块与左边界或上边界邻接时,可能无法参考当前块的左位置和当前块的上位置的运动信息。因此,当配置AMVP候选列表时可用的空间候选的最大数量可以为1。当由候选索引(如果候选的最大数量为2,则是标志)指示的值为1时(当候选索引从0开始时),对应于候选索引的运动矢量可以被确定为零运动矢量。
当使用合并模式时,如果根据本实施例,当前块与图片边界相邻,则可用空间邻近位置可能受限。特别地,当当前块与左边界或上边界邻接时,可能无法参考当前块的左位置和当前块的上位置的运动信息。因此,在图12的实施例中,可以参考的最大位置数可以是2。因此,可以确定与其中合并候选索引的数量大于或等于可以参考的最大数量的情况相对应的运动矢量不会来自空间邻近候选。
当在使用CPR的合并模式中仅使用空间邻近候选和零MV时,在上述情况下可以通过候选索引确定零MV。然而,由于零MV在CPR合并模式下可能没有意义,因此可以将与可变长度相对应的候选索引的最大值配置为(可用空间邻近候选的数量-1)。因此,可以减少任何索引值的比特数。
在另一个实施例中,在使用CPR的合并模式中,空间邻近候选、HMVP候选、成对平均候选等可以被包括在候选列表中。在这种情况下,当如在上述实施例中所示,可用空间邻近候选的最大数量受限时,可以减少可用成对平均候选的数量。这是因为可以减少空间邻近候选的组合的数量。如果在图12和16的实施例中,可用空间邻近候选位置为2,则成对平均候选的数量可以是1。此外,可能存在在HMVP中,重置用于存储历史的空间的预设部分。例如,可以在每CTU行中重置HMVP中用于存储历史的空间。这是为了便于并行处理。此外,这是因为编码器和解码器应当保持相同的历史。因此,可以不将HMVP候选添加到HMVP中重置用于存储历史的空间的预设部分中的候选列表。当使用CPR并且空间邻近位置受限时,如果在HMVP中重置用于存储历史的空间,则可以进一步减少可用候选的最大数量。例如,图片的左边界中的空间邻近位置的最大数量可以被限制到2,并且可以在CTU行的开始部分中重置HMVP中用于存储历史的空间。在这种情况下,最多两个空间邻近候选可以被包括在候选列表中,并且可以包括HMVP候选。即使可以添加成对平均候选,当进行成对平均时也只有一种组合。因此,当可以添加成对平均候选时,可以存在最多三个候选和零运动矢量。在可能无法添加成对平均候选的实施例中,可以存在最多两个候选和零运动矢量。因此,可以减少候选索引的最大值并减少索引的比特数。
在另一个实施例中,当使用CPR时,可以不使用成对平均候选。这是因为与不使用CPR的情况相比,在使用CPR的情况下有用的运动矢量更更受限。
在另一实施例中,当当前块与图片的左边界相邻时,可以不使用HMVP候选。可替代地,当当前块与HMVP的历史被重置的边界相邻时(例如,当重置位置和当前块的左上侧的x坐标相同时),可以不使用HMVP候选。如果在CTU行的开头重置用于存储HMVP的历史的空间,则当编译图片的最左侧的CTU时,历史中的运动信息可能不会很多样。因此,在与图片的左边界相邻的块的情况下,运动矢量的x分量应当为0或正。此外,在这种情况下,存储在历史中的运动矢量的方向有限,因此与左边界相邻的块可能难以使用。因此,当当前块与图片的左边界相邻时,可以不使用HMVP候选。在这种情况下,通过结合上述实施例,在与图片的左边界相邻的块的情况下,最多两个空间邻近候选、最多一个成对平均候选、以及零MV可以被添加到合并候选列表。因此,当可以添加零MV时,可以将索引的最大值二值化为3(如果索引从0开始),以及当不添加零MV时,可以将索引的最大值二值化为2(如果索引从0开始)。
根据本公开的实施例,可以基于当前块的坐标、当前块的宽度、当前块的高度、当前图片的宽度、当前图片的高度等来确定与图片的左、右、上、下边界相邻的当前块。当前块的最左上坐标可以是(x0,y0)。当前块的宽度和高度可以分别为cbWidth和cbHeight。当前图片的宽度和高度可以分别为picWidth和picHeight。如果(x0==0)为真,则当前块可能与图片的左边界相邻。如果((x0+cbWidth)==picWidth)为真,则当前块可能与图片的右边界相邻。如果(y0==0)为真,则当前块可能与图片的上边界相邻。如果((y0+cbHeight)==picHeight)为真,则当前块与图片的下边界相邻。
上面已经描述了使用CPR的情况,但是即使不使用CPR,如果无法使用时间运动矢量或者如果相邻块的参考图片和当前块的参考图片相同,也可以执行操作。
图17图示了根据本公开的实施例的空间邻近候选的使用。
根据本公开的实施例,可能存在无法使用空间邻近位置的情况。如果预设位置已经经过帧内预测,则可能不能从相应位置参考运动信息。根据本公开的实施例,可以根据预设空间邻近位置是否使用帧内预测来减少可用空间邻近候选的数量。可替代地,可以根据预设空间邻近位置是否使用可以参考的帧间预测来减少可用空间邻近候选的数量。例如,可以根据预设空间邻近位置是否使用利用CPR的帧间预测来减少可用空间邻近候选的数量。
例如,在AMVP模式下,空间邻近位置当中,所有左位置或所有上位置都经过了帧内预测(除了超出图片的部分或尚未解码的位置)。可替代地,在AMVP模式下,在空间邻近位置当中,左位置或上位置都没有经过可以参考的帧间预测(除了超出图片的部分或尚未解码的位置)。也就是说,左位置或上位置都可能无法参考运动信息。在这种情况下,当可以参考左位置或上位置中的仅一个时,可用空间邻近候选的数量可以为1,而当索引为1时,可以确定是零MV。可替代地,当左位置或上位置都无法被参考时(例如,所有预设位置都执行了帧间预测,如图17所示),可用空间邻近候选的数量可能为0,并且当索引为0,则可以确定是零MV。可替代地,当左位置和上位置都没有被参考时(例如,所有预设位置都执行了帧间预测,如图17所示),可用空间邻近候选的数量可以为0,并且可以省略索引传输和解析。此外,索引可以是0并且可以推断为零MV。
在另一个示例中,当在预设空间邻近位置中无法参考运动信息时,在语法解析步骤中可以排除这些位置,并且可以改变最大候选数量。无法参考运动信息的情况可以包括其中相应位置使用帧内预测的情况。可替代地,无法参考运动信息的情况可以包括其中相应位置脱离图片或者还没有以编译顺序被解码的情况。
如果假设在合并模式下在所有预设位置都无法参考运动信息,则没有空间邻近候选可以被添加到候选列表中。因此,可以将HMVP候选、成对平均候选等用作候选。在这种情况下,当如前所述,当前块位于重置用于存储HMVP的历史的空间的位置处时,HMVP候选也可能无法被添加。进一步地,当成对平均候选在HMVP候选之前或者HMVP候选无法被添加时,成对平均候选也可能不出现。因此,仅零MV可以仍然作为可用候选。但是,在CPR中,零MV可能没有意义。在这种情况下,可以省略指示合并模式的信令(可以省略传输和解析)。此外,可以推断为不使用合并模式。例如,指示合并模式的信令可以是merge_flag。根据本公开的实施例,当使用CPR时,当前块周围的预设空间邻近位置可能都无法使用(包括其中相应位置脱离图片的情况、其中相应位置已经过帧内预测的情况、以及其中相应位置不使用CPR的情况),以及当当前块位于重置用于存储HMVP的历史的空间的位置处时,可以省略指示合并模式的信令,并且可以推断为不使用合并模式。重置用于存储HMVP的历史的空间的位置可以与CTU行开始的位置或不使用HMVP候选的预设位置相同。
在另一示例中,除了一个预设的空间邻近位置之外,可能无法参考运动信息。可能无法参考运动信息的情况可以包括其中相应位置脱离图片的情况、其中相应位置已经过帧内预测的情况以及其中相应位置不使用CPR的情况。在这种情况下,如果如在上述实施例中所述,除了一个空间邻近候选之外没有添加另一候选,则可能无法进行成对平均候选。由于用于存储HMVP的历史的空间是重置部分,因此可能不包括HMVP候选。因此,在这样的位置处,候选索引的最大值可以被改变并被二值化。例如,在除了一个预设空间邻近位置之外的任何剩余位置都可能无法参考运动信息,并且可以在重置用于存储HMVP的历史的空间的部分中实现最多一个空间邻近候选、最多0个HMVP候选和最多0个成对平均候选。因此,在零MV可以被添加到候选的实施例中,候选索引可以由1比特标志发信号告知。然而,在这种情况下,可以省略候选索引的传输和解析,并且索引可以被推断为0。这是因为零MV在CPR中是没有意义的。在零MV无法被添加到候选的实施例中,可用候选的数量可能仅为1,在这种情况下,可以省略候选索引的传输和解析,并且可以将索引推断为0。
图18图示根据本公开的实施例的运动矢量。
根据本公开的实施例,可以根据编译顺序来限制运动矢量可以具有的值。此外,这可以对应于使用CPR的情况。例如,根据编译顺序,运动矢量可能不指示右下方向。这是因为根据编译顺序,还没有解码当前块的右侧或下侧上的块。根据本公开的实施例,当使用CPR时,运动矢量的x分量可以大于或等于0并且y分量可以不大于或等于0。即,当使用CPR时,运动矢量可能不对应于(x分量>=0&&y分量>=0)。
根据图14至17所示的实施例,MVP可以是零MV。特别地,可以在语法解析步骤期间获知MVP是零MV的事实。在这种情况下,MVD(MVD)可能不指示右下方向。即,MVD可能不对应于(x分量>=0&&y分量>=0)。在另一实施例中,MV可能不对应于(x分量>-(当前块宽度)&&y分量>(-当前块高度))。即,当零MV被用作MVP时,MVD可能不对应于(x分量>-(当前块宽度)&&y分量>(-当前块高度))。根据本公开的实施例,可以根据MV或MVD的x分量来限制y分量的范围。
根据实施例,可以分离和编译MVD的分量。例如,可以如图9所示编译MVD。例如,可以单独地编译分量1和分量2。例如,可以顺序地编译分量1和分量2。在实施例中,分量1和分量2可以分别是x分量和y分量。下述实施例可以是MVP为零MV的情况。
根据本公开的实施例,当分量1大于0时,分量2可以小于0。更具体地,当分量1大于0时,分量2的绝对值可以大于或等于最小块大小。当分量1大于0时,分量2的绝对值可以大于或等于当前块高度。
根据本公开的实施例,当分量1为0时,分量2可以不为0。当分量1为0时,分量2可以小于0。更具体地,当分量1为0时,分量2的绝对值可以大于或等于最小块大小。当分量1为0时,分量2的绝对值可以大于或等于当前块高度。
根据本公开的实施例,当分量1小于0并且其绝对值小于最小块大小时,分量2可以不为0。进一步地,在这种情况下,分量2可以小于0。更具体地说,在这种情况下,分量2的绝对值可以大于或等于最小块大小。在这种情况下,分量2的绝对值可以大于或等于当前块高度。
根据本公开的一个实施例,当分量1小于0并且其绝对值小于当前块宽度时,分量2可以不为0。进一步地,在这种情况下,分量2可以小于0。更具体地说,在这种情况下,分量2的绝对值可以大于或等于最小块大小。在这种情况下,分量2的绝对值可以大于或等于当前块高度。
参考图18,当前块中的MV的x分量值可以如图所示。在这种情况下,CPR的参考块可以在图18中的阴影区域内。因此,y分量可能具有的值可能会受限。即,可以根据x分量值限制y分量值。
图19图示了根据本公开的实施例的MVD语法。
如图9所示,MVD可以在被分成x分量和y分量的同时被编译。参考图19,对应于[0]和[1]的值可以分别是x分量和y分量。进一步地,abs_mvd_greater0_flag可以是指示相应分量的绝对值是否大于0的标志。abs_mvd_greater1_flag可以是指示相应分量的绝对值是否大于1的标志。abs_mvd_minus2可以是通过从相应分量的绝对值减去2获得的值。mvd_sign_flag可以是指示相应分量的符号的标志。mvd_sign_flag的值为0可以表示正,而mvd_sign_flag的值为1可以表示负。
可以在图19的MVD编译语法中反映图18所示的实施例。
在图19中,条件“zeroMVP”可以指示MVP是零MV并且使用CPR的情况。即,在MVP是零MV并且使用CPR的情况下,零MVP可能为真。指示MVP是零MV的条件可以遵循图14至17所示的实施例。根据前述实施例,可以基于当前块的位置或候选索引获知MVP是否是零MV。
根据本公开的实施例,在零MVP的情况下,如果x分量为0,则y分量可以不为0。因此,在这种情况下,可以不解析abs_mvd_greater0_flag[1]。此外,在这种情况下,abs_mvd_greater0_flag[1]可以被推断为指示非零的值。在这种情况下,abs_mvd_greater0_flag[1]可以被推断为1。
根据本公开的实施例,在零MVP的情况下,如果x分量为0,则y分量的绝对值可以大于1。这是因为当前块高度大于1。因此,在这种情况下,可以不解析abs_mvd_greater1_flag[1]。此外,在这种情况下,abs_mvd_greater1_flag[1]可以被推断为指示绝对值大于1的值。在这种情况下,abs_mvd_greater1_flag[1]可以被推断为1。在CPR之前的常规MVD编译中,当abs_mvd_greater1_flag不存在时推断为0。通过与本实施例的结合,当abs_mvd_greater1_flag不存在时,推断的值可以根据条件而变化。例如,当abs_mvd_greater1_flag[compIdx]不存在时,如果abs_mvd_greater0_flag[compIdx]为0,则可以推断为0。当abs_mvd_greater1_flag[compIdx]为1时,可以推断为1。可替代地,例如当abs_mvd_greater1_flag[compIdx]不存在时,如果abs_mvd_greater0_flag[compIdx]为0,则可以推断为0。可替代地,当abs_mvd_greater1_flag[compIdx]不存在时,在零MVP的情况和abs_mvd_greater0_flag[!compIdx]为0的情况下,可以推断为1。
根据本公开的实施例,在零MVP的情况下,如果x分量是正值或0,则y分量可以是负值。因此,在这种情况下,可以不解析y分量的mvd_sign_flag。此外,在这种情况下,mvd_sign_flag可以被推断为指示负值的值。在这种情况下,mvd_sign_flag可以被推断为1。因此,在零MVP的情况下以及mvd_sign_flag[0]为0的情况下,mvd_sign_flag[1]可能不被解析并且可以被推断为1。因此,在零MVP的情况和mvd_sign_flag[0]为0的情况下,mvd_sign_flag[1]可能不被解析并且可能被推断为1。
当在CPR之前不存在mvd_sign_flag时,可以推断为0。但是,mvd_sign_flag不存在的情况(参见图9实施例)可以仅对应于相应分量绝对值为0的情况。因此,通过与本发明实施例的结合,在mvd_sign_flag不存在的所有情况下可以被推断为1。在另一个实施例中,mvd_sign_flag的推断值可以根据条件而变化。例如,在零MVP&&(mvd_sign_flag[0]==0||abs_mvd_greater0_flag[0]==0)的情况下,可以推断为1。否则,可以推断为0。
图20图示根据本公开的实施例的运动矢量。
根据本公开的实施例,根据参考块可以位于的范围,可以限制运动矢量可以具有的值。此外,这可以对应于使用CPR的情况。例如,运动矢量可以被配置为不脱离参考块可能位于的范围。
例如,当当前块与参考块可能位于的范围的边界相邻时,运动矢量可以是与相邻边界相反的方向。即当当前块与参考块可能位于的范围的左边界或右边界相邻时,x分量可以大于或等于0或者等于或小于0。当当前块与参考块可能位于的范围的上边界或下边界相邻时,y分量可以大于或者等于0或小于或等于0。在实施例中,参考块可能位于的范围可以是当前块所属的CTU范围。
根据图14至17所示的实施例,MVP可以是零MV。特别地,可以在语法解析步骤期间获知MVP是零MV的事实。在这种情况下,关于运动矢量的上述描述可以应用于MVD。
参考图20,CPR的参考块可能具有的位置可能被限制在当前块所属的CTU内。在这种情况下,当当前块如A所指示的与左边界相邻时,运动矢量的x分量可以大于或等于0。当当前块如B所指示的与上边界相邻时,运动矢量的y分量可以大于或等于0。
图21图示了根据本公开的实施例的MVD语法。
如图9所示,MVD可以在被分成x分量和y分量的同时被编译。参考图21,对应于[0]和[1]的值可以分别是x分量和y分量。进一步地,abs_mvd_greater0_flag可以是指示相应分量的绝对值是否大于0的标志。abs_mvd_greater1_flag可以是指示相应分量的绝对值是否大于1的标志。abs_mvd_minus2可以是通过从相应分量的绝对值减去2获得的值。mvd_sign_flag可以是指示相应分量的符号的标志。mvd_sign_flag的值为0可以表示正,而mvd_sign_flag的值为1可以表示负。
可以在图21的MVD编译语法中反映图19所示的实施例。
在图21中,条件“zeroMVP”可以指示MVP是零MV并且使用CPR的情况。即,在MVP是零MV并且使用CPR的情况下,零MVP可能为真。指示MVP是零MV的条件可以遵循图14至17所示的实施例。根据前述实施例,可以基于当前块的位置或候选索引获知MVP是否是零MV的事实。
参考图21,指示当前块与左边界、右边界、上边界和下边界相邻的条件分别表示为left_boundary(左_边界)、right_boundary(右_边界)、upper_boundary(上_边界)和lower_boundary(下_边界)。进一步地,可以基于当前块的坐标、当前块的宽度、当前块的高度、可用作参考块的位置的范围的宽度、可用作参考块的位置的范围的高度等来确定当前块与边界相邻的事实。例如,当前块的左上坐标可以是(x0,y0)。当前块的宽度和高度可以分别为cbWidth和cbHeight。可用作参考块的位置的范围的宽度和高度可以分别为rWidth和rHeight。例如,当(x0%rWidth==0)为真时,当前块可能与左边界相邻。当((x0+cbWidth)%rWidth==0)为真时,当前块可能与右边界相邻。当(y0%rHeight==0)为真时,当前块可能与上边界相邻。当((y0+cbHeight)%rHeight==0)为真时,当前块可能与下边界相邻。根据实施例,rWidth和rHeight可以是CTU(CTB)的宽度和高度。
如图20所示,在零MVP的情况以及当前块与边界相邻的情况下,可以确定MVD的符号。例如,在零MVP和left_boundary的情况下,可以不解析mvd_sign_flag[0]并且可以推断为指示正的值(例如,0)。
例如,在零MVP和right_boundary的情况下,可以不解析mvd_sign_flag[0]并且可以推断为指示负的值(例如,1)。
在零MVP和upper_boundary的情况下,可以不解析mvd_sign_flag[1]并且可以推断为指示正的值(例如,0)。
例如,在零MVP和lower_boundary的情况下,可以不解析mvd_sign_flag[1]并且可以推断为指示负的值(例如,1)。
在图9、19和21中,可以顺序地编译abs_mvd_greater0_flag、abs_mvd_greater1_flag、abs_mvd_minus2和mvd_sign_flag,但是如果改变顺序,则可以执行不同的实施例。可以在不解析的语法的情况下可以基于当前块的位置、零MVP、参考块可以位于的范围、已知的另一个语法值等来推断。
图22图示了根据本公开的实施例的MVD语法。
参考图22,可以实现图18至21所示实施例的组合。因此,可以减少mvd编译所需的比特数。
根据本公开的实施例,在零MVP的情况下,如果确定了任一分量的MVD的绝对值,则可以在不解析的情况下确定MVD的符号,使得MVD不指示超出可用范围的参考块。例如,可以在如图9、19和21的实施例中所示确定MVD的符号之前确定绝对值。如果任一分量的|MVD|超出可用范围,可以将符号确定为负。如果任一分量的-|MVD|超出可用范围,可以将符号确定为正。
图23图示了根据本公开的实施例的块和大小。
根据本公开的实施例,当前块的宽度或高度可以是最大宽度或最大高度。在这种情况下,在预设空间邻近位置可能无法参考运动信息。这可以遵循编译顺序。例如,当当前块的宽度为最大宽度时,可能无法从当前块的右位置参考运动信息。在图12的实施例中,可能无法从B0参考运动信息。在另一个示例中,当当前块的高度为最大高度时,可能无法从当前块的下位置参考运动信息。在图12的实施例中。可能无法从A0参考运动信息。
如果图23的实施例与图14的实施例相结合,运动信息可以被参考的空间邻近位置的数量可能减少到1。例如,当当前块与左边界相邻并且其宽度为最大宽度时,可能无法从图12的A0、A1、B0和B2参考运动信息。当前块与上边界相邻且其高度为最大高度时,可能无法从A0、B0、B1和B2参考运动信息。因此,在这种情况下,可用空间邻近位置的数量减少,因此可以像以上实施例一样实现确定零MV、省略候选索引的解析或将候选索引的最大值二值化为小的实施例。
图24图示根据本公开的实施例的合并候选列表的配置。
根据本公开的实施例,当使用CPR时的配置合并候选列表的方法可以不同于当不使用CPR时的方法。例如,当不使用CPR时可以被添加到合并候选列表的一些候选,在使用CPR的情况下可能无法被添加到合并候选列表。
在实施例中,当使用CPR时,可以不使用零MV。这是因为由当前图片内的零MV指示的参考块可以是当前块。
在实施例中,当使用CPR时,可以不使用时间MV(同位MV)。这是因为当使用CPR时可能无法参考除当前图片以外的图片。
在实施例中,当使用CPR时,可以不使用HMVP候选或成对平均候选。在这种情况下,可以如在上述附图的实施例中所述改变索引信令。
在实施例中,当使用CPR时,可以使用基于HMVP候选或成对平均候选的候选。
在实施例中,当使用CPR时,可以不使用子块合并模式。子块合并模式可以与上述相同。因此,当使用CPR时,指示子块合并模式的标志可能不被解析并且可能被推断。
根据本公开的实施例,使用CPR时的预设空间邻近位置的集合可能不同于不使用CPR时的预设空间邻近位置的集合。根据本公开的实施例,当使用CPR时,在图12的预设位置处可以不使用B0和B1之一。例如,当使用CPR时,可以不从位置B0参考运动信息。可替代地,根据本公开的实施例,当使用CPR时,在图12的预设位置处可以不使用A0和A1之一。例如,当使用CPR时,可以不从位置A0参考运动信息。这是因为使用CPR时的运动信息可能不需要相对复杂和多样。可替代地,这是因为当使用CPR时,来自近距离位置的运动信息可能相似。
图25图示了根据本公开的实施例的块位置和语法。
根据本公开的实施例,当使用CPR时,在AMVP模式中,零MV可能不被用作MVP。在这种情况下,通过结合图15的实施例,根据当前块的位置,可以将仅一个空间候选添加到候选列表。当零MV不被用作MVP时,MVP候选列表中可能存在仅一个候选。在这种情况下,可以不解析候选索引。此外,在这种情况下,候选索引可以被推断为0。
参考图25(a),当前块与参考块可能具有的范围的左边界或上边界相邻。在这种情况下,可能不参考来自超出参考块可能具有的范围的位置的运动信息。当使用AMVP模式时,如果零MV不被用作MVP,则可用MVP候选的最大数量可以是1。因此,如图25(b)所示,可以不解析指示候选索引的mvp_l0_flag和mvp_l1_flag。在这种情况下,可以推断为0。可以由CurrPicIsOnlyRef指示使用CPR的情况。l0和l1可以分别表示参考列表0和1。当使用CPR时,当前图片可能是唯一参考图片,因此可能存在仅用于一个参考列表的MV。在这种情况下,也可以仅对一个参考列表来解析与MV相关的语法。
图26图示了根据本公开的实施例的用于存储HMVP的历史的空间的重置。
如上所述,可以在预设位置处重置用于存储HMVP的历史的空间。用于存储HMVP的历史的空间可以被称为HMVP表。
根据本公开的实施例,在其中使用CPR的情况和其中不使用CPR的情况下,预设位置可能不同。例如,当不使用CPR时,可以在CTU行的开始处重置HMVP表。例如,当使用CPR时,可以在参考块可能存在的范围的开始处重置HMVP表。可替代地,当使用CPR时,可以在每个CTU的开始处重置HMVP表。可替代地,当使用CPR时,与不使用CPR的情况相比,可以存在更多的重置HMVP表的预设位置(更频繁)。
当使用CPR时,与远离当前块的位置相对应的运动信息可能与当前几乎没有相关性。当使用CPR时,可以通过更频繁地重置HMVP表来促进并行处理。
图26中的每个小矩形可以指示参考块可能存在的范围或CTU范围。此外,用X标记的部分可以是重置HMVP表的部分。当不使用CPR时,如图26的上侧所示,可以在CTU行的开始处重置HMVP表。当使用CPR时,如图26的下侧所示,可以在CTU的开始处重置HMVP表。
根据本公开的实施例,当使用CPR时的编译MVD的方法可以不同于不使用CPR时的编译MVD的方法。例如,当不使用CPR时,可以使用如图9所示的编译方法。这是因为当使用CPR时,根据编译顺序的可用MV的范围可能不同于当不使用CPR时的范围。
在实施例中,当使用CPR时,可以不使用单独编译x分量和y分量的方案。例如,可以使用基于矢量的绝对值和方向的编译方案。
在实施例中,当使用CPR时,当MVP为零MV时,由MV所指示的参考点可能不同于常规矢量(来自当前块的左上侧的矢量)。
在实施例中,当使用CPR时,可以使用不同于图9、19和21中所述的语法。例如,在指示绝对值是否大于任何值的标志中,在其中使用CPR的情况下和其中不使用CPR的情况下该值可能不同。因此,可以发信号告知通过从绝对值减去任何值而获得的值。例如,在上述实施例中,存在指示绝对值是否大于1的标志。例如,当使用CPR时,可能存在指示绝对值是否大于最小块大小的标志。可替代地,当使用CPR时,可以使用指示绝对值是否大于当前块的宽度或高度的标志。例如,当使用CPR时,指示绝对值是否大于当前块宽度的标志可以被用于x分量,以及指示绝对值是否大于当前块高度的标志可以被用于y分量。
根据本公开的实施例,当使用CPR时,可以不使用共享合并列表。共享合并列表可以对应于多个块(例如,编译单元)使用相同合并列表的技术。共享合并列表可用于促进并行处理。然而,当使用CPR时,当前图片被用作参考块,因此应当重构当前图片的相应部分并且促进并行处理可能没有多大价值。此外,当使用CPR时,如果使用共享合并列表,则准确性可能会降低或者可用候选的数量可能太少。
根据另一实施例,当使用CPR时,使用共享合并列表中的同一合并列表的对块进行分组的参考可以与不使用CPR时的参考不同。
根据本公开的实施例,当使用CPR时,可以不使用在不使用CPR时使用的一些方法。可替代地,根据本公开的实施例,当使用CPR时,可以不同地使用在不使用CPR时使用的一些方法。当不使用CPR时使用的方法可以包括预测模式等。
图27图示根据本公开的实施例的编译单元语法。
CPR也可以被称为帧内块复制(IBC)或块复制(BC)。因此,CPR模式可以被命名为IBC模式或BC模式。
根据本公开的实施例,IBC可以作为独立的预测模式存在。即,帧内预测和帧间预测可以分别是MODE_INTRA和MODE_INTER,并且可以存在不同于MODE_INTRA和MODE_INTER的MODE_IBC。此外,如先前图中所示,MODE_INTRA、MODE_INTER和MODE_IBC可以由CuPredMode值指示。
图块组可以是高于CU、CTU、PU等的单元。此外,图块组可以是可以进行并行处理的单元。
双向预测(B)图块组可以使用帧内预测或帧间预测、IBC等。B图块组在块中可以使用最多两个运动矢量和最多两个参考索引。可替代地,B图块组在块中可以使用最多一个或多个运动矢量和最多一个或多个参考索引。
帧内预测可以是包括IBC方案的概念。帧内预测可以是仅参考当前图片的预测方法。帧间预测可以是参考除当前图片以外的图片作为参考图片的方法。
预测(P)图块组可以使用帧内预测或帧间预测、IBC等。P图块组在块中可以使用最多一个运动矢量和最多一个参考索引。可替代地,B图块组在块中可以使用不大于2的运动矢量和不大于2的参考索引。
帧内(I)图块组可以使用帧内预测和IBC。I图块组可以不参考除当前图片以外的图片作为参考图片。
根据本公开的实施例,在(tile_group_type!=I||sps_ibc_enabled_flag)的情况下,可能存在解析cu_skip_flag、pred_mode_flag和pred_mode_ibc_flag的可能性。即在不对应于(tile_group_type!=I||sps_ibc_enabled_flag)的情况下,有可能不解析所有的cu_skip_flag、pred_mode_flag和pred_mode_ibc_flag。
此外,sps_ibc_enabled_flag可以是指示是否使用IBC的更高级别处的信令。例如,sps_ibc_enabled_flag可以是指示是否使用IBC的序列参数集中的信令。当sps_ibc_enabled_flag被配置为0时可以不使用IBC,而当sps_ibc_enabled_flag配置为1时可以使用IBC。当IBC模式被称为BC模式时,sps_ibc_enabled_flag可以被表示为sps_bc_enabled_flag。
可以基于cu_skip_flag的值来确定是否使用跳过模式。当cu_skip_flag为1时,可以使用跳过模式。
可以基于pred_mode_flag或pred_mode_ibc_flag来确定预测模式。即,可以基于pred_mode_flag或pred_mode_ibc_flag来确定当前模式是MODE_INTRA、MODE_INTER还是MODE_IBC。可替代地,可以基于pred_mode_flag或pred_mode_ibc_flag来确定CuPredMode的值。pred_mode_flag可以被命名为预测模式标志,以及pred_mode_ibc_flag可以被命名为BC模式标志。当IBC模式被命名为BC模式时,pred_mode_ibc_flag可以被表示为pred_mode_bc_flag。
tile_group_type可以指示图块组类型。图块组类型可以包括如上所述的I图块组、P图块组和B图块组。此外,tile_group_type的I、P和B值可以分别指示I图块组、P图块组和B图块组。
根据本公开的实施例,在(cu_skip_flag[x0][y0]==0&&tile_group_type!=I)的情况下,可以解析pred_mode_flag。当cu_skip_flag为1时,可以不解析pred_mode_flag。当tile_group_type为1时,可以不解析pred_mode_flag。
根据实施例,在((tile_group_type==I&&cu_skip_flag[x0][y0]==0)||(tile_group_type!=I&&(cu_skip_flag[x0][y0]||CuPredMode[x0][y0]!=MODE_INTRA))&&sps_ibc_enabled_flag&&blockSizeCondition)的情况下,可以解析pred_mode_ibc_flag。例如,在(tile_group_type==I&&cu_skip_flag[x0][y0]==0)的情况下,可以解析pred_mode_ibc_flag。可替代地,在((tile_group_type!=I&&(cu_skip_flag[x0][y0]||CuPredMode[x0][y0]!=MODE_INTRA))的情况下,可以解析pred_mode_ibc_flag。可替代地,在既不对应于(tile_group_type==I&&cu_skip_flag[x0][y0]==0)也不对应于(tile_group_type!=I&&(cu_skip_flag[x0][y0]||CuPredMode[x0][y0]!=MODE_INTRA))的情况下,可以不解析pred_mode_ibc_flag。进一步地,当sps_ibc_enabled_flag为1时可以解析pred_mode_ibc_flag,以及当sps_ibc_enabled_flag为0时可以不解析pred_mode_ibc_flag。可能存在基于可以解析pred_mode_ibc_flag的块大小的条件。参考图27,块大小条件对应于cbWidth和cbHeight都小于32的情况。
进一步地,参考图27,当CuPredMode为MODE_INTRA时,可以解析帧内预测相关的语法元素。当CuPredMode为MODE_INTRA时,可以不解析运动矢量相关的语法元素。
当CuPredMode不是MODE_INTRA时,可以解析帧间预测相关的语法元素。当CuPredMode不是MODE_INTRA时,可以解析IBC相关的语法元素。IBC相关语法元素可以包括运动矢量相关语法元素。即,当CuPredMode不是MODE_IBC时,可以解析IBC相关的语法元素。IBC相关语法元素可以包括合并模式相关语法元素和AMVP相关语法元素。与MODE_INTER相比,IBC可以具有更受限的预测模式和更少的待解析的语法元素。例如,在MODE_IBC的情况下,可以仅解析用于参考列表L0的语法元素。在另一示例中,在MODE_IBC的情况下,可以不解析merge_data中指示是否使用模式的一些标志。当CuPredMode不是MODE_INTRA时,可以解析帧间预测相关的语法元素。解析IBC相关的语法元素可以是不解析用于色度分量的语法的情况。当CuPredMode不是MODE_INTRA时,可以解析帧间预测相关的语法元素。解析IBC相关的语法元素可以是树类型(treeType)不是DUAL_TREE_CHROMA的情况。
在实施例中,可以通过树类型确定解析用于哪种分量的语法以及确定要处理的分量。当树类型为SINGLE_TREE时,亮度分量和色度分量可以共享语法元素值。当树类型为SINGLE_TREE时,可以通过相同的方法分割亮度块和色度块。当树类型为DUAL_TREE时,可以通过不同的方法分割亮度块和色度块。DUAL_TREE的树类型可以包括DUAL_TREE_LUMA和DUAL_TREE_CHROMA。可以根据树类型是DUAL_TREE_LUMA还是DUAL_TREE_CHROMA来确定是处理亮度分量还是色度分量。
图28图示根据本公开的实施例的预测模式信令。
根据本公开的实施例,可以基于pred_mode_flag指示预测模式。可以基于pred_mode_flag来确定CuPredMode。此外,可以基于pred_mode_flag来指示帧间预测或帧内预测。
根据本公开的实施例,当pred_mode_flag为0时,CuPredMode可以被配置为MODE_INTER。当pred_mode_flag为1时,CuPredMode可以被配置为MODE_INTRA。根据实施例,pred_mode_flag可以指示当前CU是帧间预测模式还是帧内预测模式。
当pred_mode_flag不存在时,可以推断出pred_mode_flag或CuPredMode。当pred_mode_flag不存在时,可以基于其图块组来推断pred_mode_flag或CuPredMode。例如,在I图块组的情况下,CuPredMode可以被推断为MODE_INTRA。在P图块组或B图块组的情况下,CuPredMode可以被推断为MODE_INTER。
根据本公开的实施例,可以基于pred_mode_ibc_flag指示预测模式。可以基于pred_mode_ibc_flag来确定CuPredMode。此外,可以基于pred_mode_ibc_flag来指示IBC模式。
根据本公开的实施例,当pred_mode_ibc_flag为0时,CuPredMode可以被配置为MODE_INTER。当pred_mode_ibc_flag为1时,CuPredMode可以被配置为MODE_IBC。当pred_mode_ibc_flag为0时,CuPredMode可以被配置为除MODE_IBC以外的值。
当pred_mode_ibc_flag不存在时,可以推断出pred_mode_ibc_flag或CuPredMode。当pred_mode_ibc_flag不存在时,可以基于其图块组推断pred_mode_ibc_flag或CuPredMode。例如,在I图块组的情况下,CuPredMode可以被推断为MODE_INTRA。在P图块组或B图块组的情况下,CuPredMode可以被推断为MODE_INTER。
在本公开中,图块组可以用切片或其他其中可以进行并行处理的单元以及图块组来代替。
根据本公开的实施例,当使用IBC时,可以使用跳过模式。例如,当IBC用于I图块组时,可以使用跳过模式。例如,跳过模式可以被用于将IBC用于I图块组的CU。然而,参考图27至28描述的语法和信令方法可能不支持此。例如,可以在I图块组中假设IBC模式和跳过模式。在这种情况下,sps_ibc_enabled_flag可以为1。此外,可以解析cu_skip_flag。在这种情况下,cu_skip_flag的值可以为1(指示使用跳过模式的值)。对于cu_skip_flag的值为1或I图块组,可以不解析pred_mode_flag。在这种情况下,对于I图块组,可以将CuPredMode推断为MODE_INTRA。对于I图块组和值为1的cu_skip_flag,可以不解析pred_mode_ibc_flag。在这种情况下,对于I图块组,可以将CuPredMode推断为MODE_INTRA。因此,可能存在即使使用IBC,也可能不由MODE_IBC指示CuPredMode的情况。
图29图示了根据本公开的实施例的预测模式信令。
图29的pred_mode_flag和pred_mode_ibc_flag的描述可以参考图27至28。图29的实施例可以用于解决参考图28描述的问题。
根据本公开的实施例,可以基于cu_skip_flag来推断CuPredMode。此外,可以基于其图块组来推断CuPredMode。例如,在I图块组的情况下,可以基于cu_skip_flag来推断CuPredMode。例如,在I图块组和cu_skip_flag的值为0的情况下,CuPredMode可以被推断为MODE_INTRA。例如,在I图块组和cu_skip_flag的值为1的情况下,CuPredMode可以被推断为MODE_IBC。cu_skip_flag的值为0和1可以分别指示不使用和使用跳过模式。当pred_mode_flag或pred_mode_ibc_flag不存在时,可以执行该实施例。
此外,可以在无需将CuPredMode配置为另一值的任何过程的情况下基于cu_skip_flag来配置CuPredMode。此外,基于cu_skip_flag,可以在无需将CuPredMode配置为另一值的任何过程的情况下将CuPredMode配置为MODE_IBC或MODE_INTRA。例如,在I图块组和cu_skip_flag的值为1的情况下,可以将CuPredMode配置为MODE_IBC。此外,在I图块组和cu_skip_flag的值为0的情况下,可以将CuPredMode配置为MODE_INTRA。类似地,当pred_mode_flag或pred_mode_ibc_flag不存在时,可以执行该实施例。
可能存在基于图块组类型和cu_skip_flag配置的CuPredMode-推断值,并且可能存在基于图块组类型并且不基于cu_skip_flag配置的CuPredMode-推断值。例如,可以基于图块组类型和cu_skip_flag,将CuPredMode推断为MODE_INTRA和MODE_IBC。此外,可以基于图块组类型,将CuPredMode推断为MODE_INTER。
不是IBC的传统帧内预测可能不使用跳过模式。因此,当执行指示使用跳过模式的信令时,可以确定是IBC或帧间预测。在发信号告知使用跳过模式并且仅使用帧内预测(包括IBC)的图块组的情况下,可以确定是IBC。
参考图29,当pred_mode_flag不存在时,可以推断CuPredMode。在I图块组的情况并且cu_skip_flag为0的情况下,可以推断为MODE_INTRA。在I图块组的情况并且cu_skip_flag为1的情况下,可以推断为MODE_IBC。在P图块组或B图块组的情况下,可以推断为MODE_INTER。
参考图29,当pred_mode_ibc_flag不存在时,可以推断CuPredMode。在I图块组的情况并且cu_skip_flag为0的情况下,可以推断为MODE_INTRA。在I图块组的情况并且cu_skip_flag为1的情况下,可以推断为MODE_IBC。在P图块组或B图块组的情况下,可以推断为MODE_INTER。
图30图示了根据本公开的实施例的预测模式信令。
图30的pred_mode_flag和pred_mode_ibc_flag的描述可以参考图27至28。图30的实施例可以用于解决参考图28描述的问题。
在实施例中,推断CuPredMode、pred_mode_flag或pred_mode_ibc_flag的方法可以根据sps_ibc_enabled_flag而改变。
在实施例中,当sps_ibc_enabled_flag为1时,可以使用图29中所示的推理方法。当sps_ibc_enabled_flag为0时,可以使用图28中所示的推理方法。
参考图30,可以推断CuPredMode。例如,当不存在pred_mode_flag或pred_mode_ibc_flag时,可以推断CuPredMode。根据本公开的实施例,在sps_ibc_enabled_flag为1的情况和I图块组的情况下,可以基于cu_skip_flag来推断CuPredMode。例如,在sps_ibc_enabled_flag为1的情况并且I图块组的情况下,如果cu_skip_flag为0,则可以将CuPredMode配置为MODE_INTRA。在sps_ibc_enabled_flag为1的情况并且在I图块组的情况下,如果cu_skip_flag为1,则可以将CuPredMode配置为MODE_IBC。在sps_ibc_enabled_flag为1的情况并且在P图块组或B图块组的情况下,可以将CuPredMode配置为MODE_INTER。在sps_ibc_enabled_flag为0的情况并且在I图块组的情况下,可以将CuPredMode配置为MODE_INTRA。在sps_ibc_enabled_flag为0的情况并且在P图块组或B图块组的情况下,可以将CuPredMode配置为MODE_INTER。
图31图示根据本公开的实施例的编译单元语法。
根据本公开的实施例,在I图块组的情况下,可以解析pred_mode_ibc_flag。在这种情况下,可以解决图28中描述的问题。在I图块组的情况并且sps_ibc_enabled_flag为1的情况下,可以解析pred_mode_ibc_flag。即,即使当I图块组使用IBC模式和跳过模式时,也可以配置pred_mode_ibc_flag并且可以指示MODE_IBC。
参考图31,在(tile_group_type==I)的情况下,sps_ibc_enabled_flag可以为1,并且当满足与块大小相关的条件时,解析pred_mode_ibc_flag。
图32图示了根据本公开的实施例的预测模式信令。
根据本公开的实施例,当pred_mode_flag不存在时,可以推断pred_mode_flag。编码器可以根据当前块的更高级别组的类型推断当前块的pred_mode_flag,从而在比特流中省略当前块的pred_mode_flag的记载,从而提高压缩效率。例如,当当前块所属的图块组为I图块组且当前块的预测模式为帧内预测模式时,编码器可以在比特流中省略指示值为1的当前块的pred_mode_flag的记载。例如,当当前块所属的图块组为B或P图块组且当前块的预测模式为帧间预测模式时,编码器可以在比特流中省略当指示值为0的前块的pred_mode_flag的记载。更具体地,当当前块所属的图块组是B或P图块组并且当前块的预测模式为跳过模式时(例如,当cu_skip_flag的值为1时),编码器可以在比特流中省略指示值为0的当前块的pred_mode_flag的记载。
因此,根据实施例,解码器可以基于图块组类型来推断pred_mode_flag。例如,在I图块组的情况下,pred_mode_flag可以被推断为1。在P图块组的情况下,pred_mode_flag可以被推断为0。在B图块组的情况下,pred_mode_flag可以被推断为0。
可以基于pred_mode_flag,将CuPredMode配置为MODE_INTER或MODE_INTRA。例如,当pred_mode_flag为0时,可以将CuPredMode配置为MODE_INTER。此外,当pred_mode_flag为1时,可以将CuPredMode配置为MODE_INTRA。
根据本公开的实施例,可以基于pred_mode_flag或pred_mode_ibc_flag来配置CuPredMode。例如,当pred_mode_ibc_flag为0时,可以基于pred_mode_flag来配置CuPredMode。例如,当pred_mode_ibc_flag为0时,可以基于pred_mode_flag,将CuPredMode配置为MODE_INTER或MODE_INTRA。可替代地,当pred_mode_ibc_flag为0时,可以基于pred_mode_flag,将CuPredMode配置为除MODE_IBC以外的值。参考图32,当pred_mode_ibc_flag为0且pred_mode_flag为0时,可以将CuPredMode配置为MODE_INTER。此外,当pred_mode_ibc_flag为0且pred_mode_flag为1时,可以将CuPredMode配置为MODE_INTRA。
根据本公开的实施例,可以仅基于pred_mode_ibc_flag来配置CuPredMode。例如,当pred_mode_ibc_flag为1时,可以在没有任何其他标志的情况下配置CuPredMode。例如,当pred_mode_ibc_flag为1时,可以将CuPredMode配置为MODE_IBC。
根据本公开的实施例,当pred_mode_ibc_flag不存在时,可以推断pred_mode_ibc_flag。例如,可以基于图块组类型来推断pred_mode_ibc_flag的值。此外,可以基于图块组类型和IBC模式可用性条件来推断pred_mode_ibc_flag的值。更具体地,在I图块组的情况下,可以基于IBC模式可用性条件来推断pred_mode_ibc_flag的值。例如,在I图块组的情况并且在满足IBC模式可用性条件的情况下,可以将pred_mode_ibc_flag的值推断为1。当推断为1时,可以将CuPredMode配置为MODE_IBC的值。进一步地,在I图块组的情况并且在不满足IBC模式可用性条件的情况下,可以将pred_mode_ibc_flag的值推断为0。可替代地,在I图块组的情况并且不满足IBC模式可用性条件中的至少一个的情况下,可以将pred_mode_ibc_flag的值推断为0。当推断为0时,可以将CuPredMode配置为除MODE_IBC以外的值。IBC模式可用性条件可以包括sps_ibc_enabled_flag的值。此外,IBC模式可用性条件可以包括与块大小相关的条件。参考图32,在I图块组的情况并且在sps_ibc_enabled_flag为1的情况下,可以将pred_mode_ibc_flag的值推断为1。在这种情况下,当增加并满足IBC模式可用性条件时,可以将pred_mode_ibc_flag的值推断为1。在图32中,附加的IBC模式可用性条件被指示为块大小条件。
即使在I图块组(图32的条件1)的情况且sps_ibc_enabled_flag为0(图32的条件2a)的情况下,也可以将pred_mode_ibc_flag的值推断为0。在I图块组(图32的条件1)的情况且不满足另一个IBC模式可用性条件(图32的条件2b)的情况下,可以将pred_mode_ibc_flag的值推断为0。
在另一个实施例中,在P或B图块组的情况下,可以将pred_mode_ibc_flag的值推断为0。在P或B图块组的情况下,可以将pred_mode_ibc_flag的值推断为预设值,除了图块组类型外,无需任何其他条件。
当在视频信号的编码过程中满足上述条件时,编码器可以不在比特流中声明pred_mode_ibc_flag。因此,编码器可以通过不在比特流中声明pred_mode_ibc_flag的值来提高视频压缩效率。
本公开的多个实施例中的术语“推断(推断出)(inference(infer))”可以是指配置(进行配置)(configuration(configure))、推导(进行推导)(derivation(derive))等。
根据本公开的实施例,可以如下导出树类型。
当tile_group_type为I且qtbtt_dual_tree_intra_flag为1时,树类型可以被配置为DUAL_TREE_LUMA。当tile_group_type为I、qtbtt_dual_tree_intra_flag为1,并且处理亮度分量时,树类型可以被配置为DUAL_TREE_LUMA。
当tile_group_type为I且qtbtt_dual_tree_intra_flag为1时,树类型可以被配置为DUAL_TREE_CHROMA。可替代地,当tile_group_type为I、qtbtt_dual_tree_intra_flag为1并且处理色度分量时,可以将树类型配置为DUAL_TREE_CHROMA。
当tile_group_type不为I或qtbtt_dual_tree_intra_flag为0时,树类型可以被配置为SINGLE_TREE。
根据实施例,qtbtt_dual_tree_intra_flag可以是指示是否允许双树的信令。允许双树可能是指存在用于亮度和色度分量的单独的编译四叉树语法结构。更具体地,当当前图片是唯一参考图片时,qtbtt_dual_tree_intra_flag可以是指示是否允许双树的信令。
图33图示根据本公开的实施例的编译单元语法。
根据本公开的实施例,在色度分量的情况下,可以不使用IBC模式。更具体地说,在DUAL_TREE_CHROMA的情况下,可以不使用IBC模式。
参考图33,当树类型不是DUAL_TREE_CHROMA时,可以解析pred_mode_ibc_flag。当树类型为DUAL_TREE_CHROMA时,可以不解析pred_mode_ibc_flag。根据实施例,当树类型是DUAL_TREE_CHROMA时,CuPredMode可以被推断为MODE_INTRA。
图34图示根据本公开的实施例的编译单元语法。
图34的编译单元语法可以指示与帧内预测相关的语法。根据本公开的实施例,可能存在intra_chroma_pred_mode信令。可以基于intra_chroma_pred_mode来确定色度分量的帧内预测模式。
参考图34,当树类型为SINGLE_TREE或DUAL_TREE_CHROMA时,可以解析intra_chroma_pred_mode。当树类型为DUAL_TREE_LUMA时,可以不解析intra_chroma_pred_mode。
图35图示了根据本公开的实施例的色度分量的帧内预测模式的推导。
参考图35,IntraPredModeC可以是用于色度分量的帧内预测模式。xCb和yCb可以基于亮度位置指示色度编译块的最左上样本。IntraPredModeY可以是用于亮度分量的帧内预测模式。
根据本公开的实施例,可以基于IntraPredModeY来确定IntraPredModeC。可以基于IntraPredModeY和intra_chroma_pred_mode来确定IntraPredModeC。IntraPredModeY可以是对应于与当前色度块相对应的亮度块的模式。根据实施例,可以预设使用与用于任何位置的IntraPredModeC相对应的IntraPredModeY的位置。根据实施例,预设位置可以是与当前色度块的中心相对应的亮度块位置。例如,在推导位置(xCb,yCb)的IntraPredModeC时,可以参考位置(xCb+cbWidth/2,yCb+cbHeight/2)的IntraPredModeY。可替代地,当推导位置(xCb,yCb)的IntraPredModeC时,预设位置可以是基于xCb或yCb的位置。
对于任何IntraPredModeY的值的IntraPredModeC的值可以参考图35的表8-2或表8-3。表8-2可以对应不使用CCML(或sps_cclm_enabled_flag为0)的情况,而表8-3可以对应于可以使用CCLM(或sps_cclm_enabled_flag为1)的情况。当IntraPredModeY为任意值时,在图35中,可以参考与该值相对应的列,并且该列中,与intra_chroma_pred_mode相对应的值可以是IntraPredModeC。例如,当IntraPredModeY为1并且intra_chroma_pred_mode为1时,IntraPredModeC可以为50。
根据实施例,sps_cclm_enabled_flag可以是指示是否可以应用CCLM的更高级别的信令。例如,当sps_cclm_enabled_flag为1时,可以应用CCLM。当sps_cclm_enabled_flag为0时,可能不能应用CCLM。
图35中,为81、82或83的IntraPredModeC的值可以对应于CCLM模式。当图35的sps_cclm_enabled_flag为0时,IntraPredModeC的值为4可以对应于DM模式。当图35的sps_cclm_enabled_flag为1时,IntraPredModeC的值为7可以对应于DM模式。
可能存在用于发信号告知intra_chroma_pred_mode的bin串的定义。例如,可以使用最小数量的intra_chroma_pred_mode来指示DM模式。例如,可以使用1比特intra_chroma_pred_mode来指示DM模式。
根据实施例,当sps_cclm_enabled_flag为0时,指示对应于intra_chroma_pred_mode的值4、0、1、2或3的比特数可能增加或相同。根据实施例,当sps_cclm_enabled_flag为0时,指示对应于intra_chroma_pred_mode的值4、0、1、2或3的bin串可以是0、100、101、110或111。
根据实施例,当sps_cclm_enabled_flag为1时,指示对应于intra_chroma_pred_mode的值7、4、5、6、0、1、2或3的比特数可以增加或相同。根据实施例,当sps_cclm_enabled_flag为1时,指示对应于intra_chroma_pred_mode的值的7、4、5、6、0、1、2或3的bin串可以是0、10、1110、1111、11000、11001、11010或11011。
然而,根据上述实施例,用于色度块的帧内预测可能并不容易。特别地,用于色度块的帧内预测模式的推导可能并不容易。如上所述,当色度块为帧内预测时,应当参考用于相应亮度块的帧内预测模式以便确定帧内预测模式。然而,相应的亮度位置可能不执行帧内预测或可能不是MODE_INTRA。例如,当相应的亮度位置为MODE_IBC时,相应的亮度帧内预测模式可能不存在。根据实施例,在SINGLE_TREE的情况下,相应的亮度块和色度块可以使用相同的预测模式。进一步地,在DUAL_TREE的情况下,相应的亮度块和色度块可以使用不同的预测模式。此外,在I图块组的情况下,可以使用DUAL_TREE。此外,在I图块组的情况下,可以使用MODE_INTRA或MODE_IBC。因此,在同一位置处,DUAL_TREE_LUMA可以使用MODE_IBC,而DUAL_TREE_CHROMA可以使用MODE_INTRA。
图36图示了根据本公开的实施例的色度分量的帧内预测模式的推导。
图36的实施例可以是解决图35中描述的问题的方法。
根据本公开的实施例,当不存在IntraPredModeY时,可以将IntraPredModeY配置为预设模式(或值)。因此,即使当与色度块相对应的亮度位置不使用帧内预测或使用IBC模式时,也可以导出IntraPredModeC。
更具体地说,当IntraPredModeY不存在时,IntraPredModeY可以被配置为平面模式(值为0)。在这种情况下,在图35中描述的信令方法中使用更少比特来发信号告知该平面模式是可能的。
可替代地,当IntraPredModeY不存在时,可以将IntraPredModeY配置为DC模式(值为1)。在这种情况下,在图35中描述的信令方法中,使用更少比特来发信号告知DC模式是可能的。
可替代地,当IntraPredModeY不存在时,可以将IntraPredModeY配置为垂直模式(值为50)。在这种情况下,在图35中描述的信令方法中,使用更少比特来发信号告知垂直模式是可能的。
可替代地,当IntraPredModeY不存在时,可以将IntraPredModeY配置为水平模式(值为18)。在这种情况下,在图35中描述的信令方法中,使用更少比特来发信号告知水平模式是可能的。
在另一个实施例中,当IntraPredModeY不存在时,可以将对应于intra_chroma_pred_mode的值的IntraPredModeC的值确定为图35中未示出的值。即,在图35中可以单独存在IntraPredModeY的值不存在的情况下的列。例如,对应于intra_chroma_pred_modes 4、0、1、2和3的IntraPredModeC可以分别为0、1、50和18。可替代地,对应于intra_chroma_pred_modes 4、0、1、2和3的IntraPredModeC可以分别为0、50、18和1。这可以应用于sps_cclm_enabled_flag为0和1的两种情况。
在另一实施例中,当IntraPredModeY不存在时,可以将IntraPredModeC配置为预设值。例如,当IntraPredModeY不存在时,可以将IntraPredModeC配置为预设值而与intra_chroma_pred_mode无关。此外,当IntraPredModeY不存在时,可以总是以值0发信号告知intra_chroma_pred_mode的值。例如,当IntraPredModeY不存在时,可以将IntraPredModeC配置为平面模式。可替代地,当IntraPredModeY不存在时,可以将IntraPredModeC配置为CCLM。可替代地,当IntraPredModeY不存在时,可以将IntraPredModeC配置为DM模式。此外,当IntraPredModeY不存在时,可以不解析图34中描述的intra_chroma_pred_mode。
在另一个实施例中,当IntraPredModeY不存在时,可以改变参考IntraPredModeC的位置。
在上述实施例中,IntraPredModeY不存在的情况可以是指推导色度帧内预测模式时所参考的相应亮度位置不是MODE_INTRA的情况。可替代地,该情况可以是指对应于当推导(xCb,yCb)位置处的色度帧内预测模式时的亮度分量的CuPredMode[xCb+cbWidth/2][yCb+cbHeight/2]不是MODE_INTRA或者是MODE_IBC的情况。
可替代地,该情况可以是指对应于当推导(xCb,yCb)位置处的色度帧内预测模式时的亮度分量的IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]不存在的情况。
参考图36,如果当推导IntraPredModeC[xCb][yCb]时,IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]不存在,可以将IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]配置为预设值。可以参考IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]和图35中所述的表,推导IntraPredModeC。
如果当推导IntraPredModeC[xCb][yCb]时,IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]存在,则可以参考IntraPredModeY[xCb+cbWidth/2][yCb+cbHeight/2]和图35中所述的表来推导IntraPredMode。
根据本公开的实施例,如果在预测色度块时相应的亮度块使用IBC模式,则预测模式可能受限。更具体地,如果当色度块被帧内预测时相应的亮度块使用IBC模式,则帧内预测模式可能受限。例如,在这种情况下,可能无法使用DM模式。这是因为,当相应的亮度块和色度块使用不同的模式时,它们之间的相似度会降低。
图37图示根据本公开的实施例的编译单元语法。
根据本公开的实施例,色度块的运动信息可能与亮度块的运动信息分开存在。例如,当色度块使用IBC模式时,色度块的运动信息可能与用于亮度块的运动信息分开存在。
参考图37,当树类型为DUAL_TREE_CHROMA时,可以解析运动信息相关的语法元素。例如,当树类型为DUAL_TREE_CHROMA且CuPredMode为MODE_IBC时,可以解析运动信息相关的语法元素。运动信息相关语法元素可以包括merge_flag、merge_data内的语法元素、mvp_l0_flag、amvr_4pel_flag等。
图38图示了根据本公开的实施例的语法元素。
根据本公开的实施例,可以基于块大小来限制预测模式。即,可以基于块大小来限制CuPredMode。例如,可以限制帧间预测。这是为了减少存储器带宽或计算复杂度。例如,可以在具有小尺寸的块中限制预测模式。例如,可以在具有大小等于或小于阈值的块中限制预测模式。例如,阈值可以是4x4的大小。即,在详细实施例中,在具有大小等于或小于4x4的块中可能无法使用帧间预测。
在另一个实施例中描述的受限的预测模式可以是双向预测的帧间预测。例如,在等于或小于阈值的块大小中可能无法使用双向预测。在这种情况下,阈值可以指示等于或小于4x8或8x4的大小。例如,阈值可以是12(宽+高)。当双向预测受限时,可能存在将双向预测转换为单向预测的过程。可替代地,当双向预测受限时,可以限制指示预测方向或参考列表的值。
如上所述,可以限制预测模式,因此可以将与上述附图中描述的语法结构不同的语法结构用于高效的信令。
根据本公开的实施例,在MODE_INTRA的情况下,可能无法使用跳过模式。因此,在MODE_INTRA的情况下,cu_skip_flag可以是0。因此,如果cu_skip_flag为1,则可以确定是非MODE_INTRA。
参考图38,当图块组类型不是I或sps_ibc_enabled_flag为1时,可以解析cu_skip_flag、pred_mode_flag和pred_mode_ibc_flag。在这种情况下,可以在考虑附加条件的情况下执行解析。即,当图块组类型为I且sps_ibc_enabled_flag为0时,可以不解析cu_skip_flag、pred_mode_flag和pred_mode_ibc_flag。根据实施例,CuPredMode可以是MODE_INTRA、MODE_INTER和MODE_IBC之一的值。当图块组类型为I时的可用CuPredMode值可以是MODE_INTRA或MODE_IBC。然而,当MODE_IBC受限时,例如当sps_ibc_enabled_flag为0时的可用CuPredMode值可能仅为MODE_INTRA。因此,当图块组类型是I并且sps_ibc_enabled_flag为0时,可以不解析pred_mode_flag和pred_mode_ibc_flag并且可以将CuPredMode确定为MODE_INTRA。此外,如上所述,可以确定cu_skip_flag为0。
根据本公开的实施例,可以基于块大小来解析cu_skip_flag、pred_mode_flag和pred_mode_ibc_flag。
例如,在帧间预测受限的块大小的情况并且在可能无法使用IBC的情况下,可以不解析cu_skip_flag。即,在可以使用帧间预测的块大小的情况或者可以使用IBC的情况下,可以解析cu_skip_flag。在帧间预测受限的块大小的情况和可能无法使用IBC的情况下,可以将CuPredMode确定为MODE_INTRA。在这种情况下,可以将cu_skip_flag的值确定并推断为0。在实施例中,帧间预测受限的块大小可以是4x4的块。此外,可能无法使用IBC的情况可以是sps_ibc_enabled_flag为0的情况。
根据本公开的实施例,在帧间预测受限的块大小的情况下,可以不解析pred_mode_flag。根据本公开的实施例,可以基于pred_mode_flag的值来确定CuPredMode是MODE_INTRA还是MODE_INTER。在帧间预测受限的块大小的情况下,可以确定pred_mode_flag是指示CuPredMode是MODE_INTRA的值。可以基于pred_mode_ibc_flag改变CuPredMode。即,可以基于pred_mode_flag和pred_mode_ibc_flag确定CuPredMode,并且可以基于pred_mode_ibc_flag,改变仅基于pred_mode_flag确定的CuPredMode。根据实施例,可以根据pred_mode_ibc_flag的值,确定CuPredMode是否为MODE_IBC以及是否仅基于pred_mode_flag确定CuPredMode。
在帧间预测不受限的块大小的情况下,可以解析pred_mode_flag。在这种情况下,可以考虑附加条件。例如,可以基于cu_skip_flag或者图块组类型来确定是否解析pred_mode_flag。如上所述,pred_mode_flag可以是用于确定CuPredMode是MODE_INTRA还是MODE_INTER的值,这是因为可以基于cu_skip_flag或图块组类型限制CuPredMode。例如,当图块组类型为I时,CuPredMode可能只是MODE_INTRA的值。当图块组类型不是I,即图块组类型是P或B时,CuPredMode可以是MODE_INTRA和MODE_INTER两者。然而,当图块组类型不是I且cu_skip_flag为1时,CuPredMode可以仅是MODE_INTER的值。根据本公开的实施例,当cu_skip_flag为1或图块组类型为I时,可以不解析pred_mode_flag。根据本公开的实施例,当图块组类型为I时,pred_mode_flag或CuPredMode可以被推断为指示MODE_INTRA的值。当图块组类型是P或B时,pred_mode_flag或CuPredMode可以被推断为指示MODE_INTER的值。
在实施例中,帧间预测受限的块大小可以是4x4的块。可替代地,帧间预测受限的块大小可以是大小等于或小于4×4的块。
可以基于帧间预测受限的块大小来解析pred_mode_ibc_flag。此外,可以基于cu_skip_flag来解析pred_mode_ibc_flag。根据实施例,在帧间预测受限的块大小的情况和cu_skip_flag为1的情况下,可以不解析pred_mode_ibc_flag。如上所述,在帧间预测受限的块大小中,CuPredMode可以不是MODE_INTER。当cu_skip_flag为1时,CuPredMode可以不是MODE_IBC。因此,在帧间预测受限的块大小的情况和cu_skip_flag为1的情况下,pred_mode_ibc_flag或CuPredMode可以被确定和推断为MODE_IBC。此外,可能存在配置为MODE_IBC的情况。例如,当sps_ibc_enabled_flag为1时,可以配置为MODE_IBC。因此,在帧间预测受限的块大小的情况和cu_skip_flag为1的情况下,可以根据sps_ibc_enabled_flag确定和推断pred_mode_ibc_flag或CuPredMode。更具体地,在帧间预测受限的块大小的情况和cu_skip_flag为1的情况下,pred_mode_ibc_flag可以被推断为sps_ibc_enabled_flag。在帧间预测不受限的块大小的情况和cu_skip_flag为0的情况下,可以解析pred_mode_ibc_flag。
当图块组类型为I且cu_skip_flag为1时,可以不解析pred_mode_ibc_flag。此外,在这种情况下,可以将pred_mode_ibc_flag或CuPredMode确定并推断为指示MODE_IBC的值。I图块组中可用的CuPredMode的值为MODE_INTRA或MODE_IBC。这是因为在MODE_INTRA中不使用跳过模式。因此,当图块组类型为I并且cu_skip_flag为0时,可以解析pred_mode_ibc_flag。
当图块组类型不是I时,CuPredMode为MODE_INTRA,并且在不对应于帧间预测受限的块大小的情况下,可以不解析pred_mode_ibc_flag。在这种情况下,可以在没有pred_mode_ibc_flag的情况下确定预测模式。当图块组类型不是I时,CuPredMode不是MODE_INTRA,并且在帧间预测受限的块大小的情况下,可以解析pred_mode_ibc_flag。在这种情况下,可以考虑附加条件来解析pred_mode_ibc_flag。例如,当图块组类型不是I时,当CuPredMode为MODE_INTRA时,且在帧间预测受限的块的情况下,可以解析pred_mode_ibc_flag。这是因为即使帧间预测受限,最终预测模式也被确定为MODE_INTRA或MODE_IBC。另外,当cu_skip_flag为0时,可以解析pred_mode_ibc_flag。
在实施例中,帧间预测受限的块大小可以是4x4的块。可替代地,帧间预测受限的块大小可以是大小等于或小于4×4的块。
图39图示了根据本公开的实施例的推断信令值的方法。
参考图39,可以如图38中所述地推断pred_mode_flag或pred_mode_ibc_flag。可替代地,可以如图38中所述确定CuPredMode。图39的pred_mode_flag和pred_mode_ibc_flag可以是与图38的pred_mode_flag和pred_mode_ibc_flag相同的信令。
根据本公开的实施例,可以基于pred_mode_flag的值,将CuPredMode确定为MODE_INTER或MODE_INTRA。当值为MODE_TEMP时,可以基于pred_mode_ibc_flag的值,将CuPredMode确定为MODE_TEMP或MODE_IBC。
如图38所示,在帧间预测受限的块大小的情况下,pred_mode_flag可以被推断为指示MODE_INTRA的值。即,在帧间预测受限的块大小的情况下,pred_mode_flag可以被推断为1。参考图39,当块大小为4x4时,pred_mode_flag的值可以被推断为1。
如图38所示,在帧间预测受限的块大小的情况下和跳过模式的情况下,pred_mode_ibc_flag可以被推断为指示MODE_IBC的值。这可能是可以使用MODE_IBC的情况。例如,可以使用MODE_IBC的情况可以是sps_ibc_enabled_flag为1的情况。例如,在帧间预测受限的块大小的情况和跳过模式的情况下,pred_mode_ibc_flag可以被推断为sps_ibc_enabled_flag的值。参考图39,在块大小为4x4的情况下和跳过模式的情况下,pred_mode_ibc_flag可以被推断为sps_ibc_enabled_flag的值。
图40图示了根据本公开的实施例的推断信令值的方法。
图38至39已经描述了解析、推断或确定cu_skip_flag、pred_mode_flag、pred_mode_ibc_flag和CuPredMode的方法。然而,在图39所示的推断方法中,可能存在冲突。
例如,在帧间预测受限的块大小以及图块组类型是P或B的情况下,可能难以推断pred_mode_flag的值。在图39中,pred_mode_flag的值可以被推断为两个值之一,并且可以满足所有两种情况。
在帧间预测受限的块大小的情况、跳过模式的情况以及图块组类型是P或B的情况下,可能难以推断pred_mode_ibc_flag的值。在图39中,pred_mode_ibc_flag的值可以被推断为两个值之一,并且可以满足所有两种情况。
图40可以是解决问题的实施例。
当图块组类型为P或B时可用的预测模式可以是MODE_INTRA、MODE_INTER或MODE_IBC。在帧间预测受限的块大小的情况下,在MODE_INTRA、MODE_INTER和MODE_IBC当中,可能无法使用MODE_INTER。根据本公开的实施例,在这种情况下,可以将pred_mode_flag推断为指示MODE_INTRA的值。这是因为可以通过pred_mode_ibc_flag确定MODE_IBC。因此,以上描述可以概括如下。
在图块组类型是I的情况下或者帧间预测受限的块大小的情况下,pred_mode_flag可以被推断为指示MODE_INTRA的值。此外,1)在图块组类型是P或B的情况下和2)不对应于帧间预测受限的块大小的情况下,pred_mode_flag可以被推断为指示MODE_INTER的值。
当图块组类型为P或B时可用的预测模式可以是MODE_INTRA、MODE_INTER或MODE_IBC。在帧间预测受限的块大小的情况下,在MODE_INTRA、MODE_INTER和MODE_IBC当中,可能无法使用MODE_INTER。在跳过模式的情况下,在MODE_INTRA、MODE_INTER和MODE_IBC当中可能无法使用MODE_INTRA。因此,在图块组类型是P或B的情况下、在帧间预测受限的块大小的情况下以及在跳过模式的情况下,可以仅使用MODE_IBC。因此,在这种情况下,可以将pred_mode_ibc_flag推断为1。因此,上述描述可以概括如下。
1)当图块组类型是I时或2)在帧间预测受限的块大小的情况下和跳过模式的情况下,pred_mode_ibc_flag可以被推断为指示MODE_IBC的值,例如1。此外,i)当图块组类型是P或B时和ii)在不对应于帧间预测受限的块大小的情况下或不对应于跳过模式的情况下,可以将pred_mode_ibc_flag推断为不指示MODE_IBC的值,例如0。
在实施例中,帧间预测受限的块大小可以是4x4的块。可替代地,帧间预测受限的块大小可以是大小等于或小于4×4的块。
图40图示了推断pred_mode_flag和pred_mode_ibc_flag的方法是帧间预测受限的块大小是4x4的情况的示例。
在描述的本公开中,图块组类型可以是切片类型。模式是否为跳过模式可以通过cu_skip_flag来确定。
图41图示了根据本公开的实施例的inter_pred_idc的值和二值化。inter_pred_idc是指示帧间预测的类型的参数,并且可以被称为帧间预测类型参数。
如图38所示,基于块大小可以不使用双向预测。根据本公开的实施例,任何块大小可用的帧间预测可以是L0单向预测、L1单向预测或双向预测,以及任何块大小可用的帧间预测可以是L0单向预测或L1单向预测。此外,可以通过inter_pred_idc来指示帧间预测的类型。L0单向预测可以是仅使用参考列表0的帧间预测。L1单向预测可以是仅使用参考列表1的帧间预测。双向预测可以是使用参考列表0和参考列表1两者的帧间预测。此外,可以对每个CU确定帧间预测类型。指示L0单向预测、L1单向预测和双向预测的inter_pred_idc的值可以分别是PRED_L0、PRED_L1和PRED_BI。指示L0单向预测、L1单向预测和双向预测的inter_pred_idc的值可以分别是0、1和2。
根据本公开的实施例,在不使用双向预测的块大小的情况下,可能不存在对应于双向预测的inter_pred_idc的值。
此外,可以存在指示inter_pre_idc的二值化方法。在允许双向预测的块和不允许双向预测的块中,该方法可以不同。此外,这可能是在解析inter_pre_idc的情况下使用的bin串。当允许双向预测时,可以将对应于L0单向预测、L1单向预测或双向预测的值用作inter_pre_idc。为了表达这一点,可以通过可变长度二值化方法来指示inter_pred_idc。例如,对应于L0单向预测、L1单向预测和双向预测的值可以分别被指示为00、01和1。可替代地,对应于L0单向预测、L1单向预测和双向预测的值可以分别被指示为10、11和0。当不允许双向预测时,可以将对应于L0单向预测或L1单向预测的值用作inter_pre_idc。因此,inter_pre_idc可以由1比特来指示。例如,可以将对应于L0单向预测和L1单向预测的值分别指示为0和1。可替代地,可以将对应于L0单向预测和L1单向预测的值分别指示为1和0。
根据实施例,不使用双向预测的块大小可以是等于或小于阈值的块大小。例如,阈值可以是4x8的块或8x4的块。当不允许4x4帧间预测时,不使用双向预测的块大小可以是4x8或8x4的块。4x4的块可以由(width+height==8)表示。4x8或8x4的块可以用(width+height==12)表示。
参考图41,在块为4x8或8x4的情况下,inter_pred_idc可以仅具有对应于PRED_L0、PRED_L1的值。在这种情况下,inter_pred_idc可以用0或1指示。
图42图示了根据本公开的实施例的inter_pred_idc的值和二值化。
如图41所示,可能存在inter_pred_idc可以指示的多个值的集合及其信令方法。例如,在任何块中,inter_pred_idc可以指示的值的类型的数量是3,在这种情况下,可以使用1或2比特来执行信令。此外,在任何块中,inter_pred_idc可以指示的值的类型的数量为2,其中,可以使用b比特来执行信令。inter_pred_idc可以指示的值的类型和信令可以根据块大小而变化。例如,根据允许双向预测的块大小,inter_pred_idc可以指示的值的类型和信令可以不同。
然而,在图41所示的方法中,在任何块大小的情况下,inter_pred_idc可以指示的值的类型和信令可能存在歧义。例如,当块大小为4x8或8x4时,可以满足所有条件(width+height)!=8)和条件((width+height==8)||(width+height==12)。因此,编码器和解码器之间的信令和比特流可能不匹配。
图42的实施例可以是解决该问题的方法。根据本公开的实施例,在满足条件1的情况下和满足!条件1的情况下,inter_pred_idc可以指示的值的类型和信令方法可以不同。例如,条件1可以是不允许双向预测的块大小条件。例如,条件1可以是4x8或8x4的块的条件。当不允许双向预测时,如果使用2比特发信号告知inter_pred_idc,则认为该信令低效。这是因为当不允许双向预测时,inter_pred_idc的值不指示PRED_BI。在实施例中,不允许双向预测的块大小条件可以是4x8或8x4的块大小。因此,不允许双向预测的块大小可以是4x8、8x4或4x4。
参考图42,当宽度+高度对应于8或12时,inter_pred_idc可能具有的值可以是PRED_L0、PRED_L1。此外,可以通过1比特来指示inter_pred_idc。信令可以是0或1。当宽度+高度既不是8也不是12时,inter_pred_idc可能具有的值可以是PRED_L0、PRED_L1或PRED_BI。此外,可以通过1比特或2比特来指示inter_pred_idc。信令可以是00、01或1。
图43图示了根据本公开的实施例的inter_pred_idc的值和二值化。
图43可以是用于解决图41至42所示的问题的实施例。此外,图43可以是提高图42的实施例的效率的方法。如上所述,可能存在不允许帧间预测的块大小。在图42的实施例中,如果不考虑不允许帧间预测的块大小,则可能需要不必要的条件检查。例如,当不允许帧间预测时,inter_pred_idc的值是没有意义的。如果在inter_pred_idc信令中检查不允许帧间预测的情况的条件,则可能没有意义。根据本公开的实施例,可以通过检查不允许双向预测的情况的条件而不检查不允许帧间预测的情况的条件来确定inter_pred_idc信令和值的集合。例如,不允许帧间预测的情况可以是4x4的块大小,不允许双向预测的情况可以是4x8或8x4的块大小。
参考图43,当width+height对应于12时,inter_pred_idc可能具有的值可以是PRED_L0或PRED_L1。此外,可以通过1比特来指示inter_pred_idc。信令可以是0或1。当宽度+高度不对应于12时,inter_pred_idc可能具有的值可以是PRED_L0、PRED_L1或PRED_BI。此外,可以通过1比特或2比特来指示inter_pred_idc。信令可以是00、01或1。
因此,在图43的实施例中,实际上,在4x4块的情况下,inter_pred_idc值的集合和信令可以对应于图43的两列中的左侧(所有列当中的第三列),这可能与图42的实施例不同。
根据本公开的实施例,当树类型为DUAL_TREE_CHROMA时,可以解析cu_skip_flag。在对应于DUAL_TREE_CHROMA的树类型中,亮度块和色度块的分区可以不同,并且可以指示对应于色度的处理。此外,当树类型为DUAL_TREE_CHROMA时,如果MODE_IBC可用,则可以解析cu_skip_flag。可以使用MODE_IBC的情况可以是sps_ibc_enabled_flag为1的情况。这是为了在色度块的预测模式为MODE_IBC时允许使用跳过模式。
可以通过各种手段来实现本发明的上述实施例。例如,可以通过硬件、固件、软件或其组合来实现本发明的实施例。
对于通过硬件实现的情况,可以通过专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器等中的一个或多个来实现根据本发明的实施例的方法。
在通过固件或软件实现的情况下,可以以执行上述功能或操作的模块、过程或函数的形式来实现根据本发明的实施例的方法。可以将软件代码存储在存储器中并由处理器驱动。存储器可以位于处理器内部或外部,并且可以通过各种已知的方式与处理器交换数据。
本发明的上述描述仅用于说明目的,并且将会理解,本发明所属的本领域的普通技术人员可以在不改变本发明的技术思想或者基本特征的情况下对本发明进行改变,并且本发明可以以其他特定形式容易地被修改。因此,上述实施例是说明性的,并且在所有方面均不受限制。例如,被描述为单个实体的每个组件可以被分布和实现,并且同样,被描述为被分布的组件也可以以关联的方式被实现。
本发明的范围由所附权利要求书而不是上述详细描述来限定,并且从所附权利要求书的含义和范围及其等效物导出的所有改变或修改都应解释为包括在本发明的范围内。
Claims (21)
1.一种处理视频信号的方法,所述方法包括:
确定当前块的预测模式;
当所述当前块的预测模式是参考当前图片的块复制(BC)预测模式时,基于所述BC预测模式解码所述当前块;以及
当所述当前块的预测模式是参考至少一个图片的帧间预测模式时,基于所述帧间预测模式解码所述当前块,
其中,在所述BC预测模式中为解码所述当前块而参考的空间邻近位置的集合包括在所述帧间预测模式中为解码所述当前块而参考的空间邻近位置的集合中的一些。
2.根据权利要求1所述的方法,
其中,当所述当前块的最左上位置为(xCb,yCb)时,在所述帧间预测模式中为解码所述当前块而参考的所述空间邻近位置的集合包括(xCb-1,yCb-1)的位置,以及
其中,当所述当前块的最左上位置为(xCb,yCb)时,在所述BC预测模式中为解码所述当前块而参考的所述空间邻近位置的集合不包括(xCb-1,yCb-1)的位置。
3.根据权利要求1所述的方法,
其中,当所述当前块的最左上位置为(xCb,yCb)时,在所述BC预测模式中为解码所述当前块而参考的所述空间邻近位置的集合包括(xCb-1,yCb+cbHeight-1)的位置和(xCb+cbWidth-1,yCb-1)的位置中的至少一个,以及
其中,cbWidth为所述当前块的宽度,以及cbHeight为所述当前块的高度。
4.根据权利要求1所述的方法,其中,确定所述当前块的预测模式包括:
从比特流中获取指示所述当前块的预测模式是否是所述BC预测模式的BC模式参数(pred_mode_bc_flag);以及
基于所述BC模式参数,将所述当前块的预测模式确定为所述BC预测模式,以及
当没有从所述比特流中获取到所述BC模式参数时,如果所述当前块所属的切片是不参考除所述当前图片以外的图片作为参考图片的切片、并且比所述当前块更高级别处的信令信息(sps_bc_enabled_flag)指示所述BC预测模式可用,则将所述BC模式参数的值确定为指示使用所述BC预测模式的值,以及
当没有从所述比特流中获取到所述BC模式参数时,如果所述当前块所属的切片是能够参考除所述当前图片以外的图片作为参考图片的切片,则将所述BC模式参数的值确定为指示不使用所述BC预测模式的值。
5.根据权利要求1所述的方法,其中,确定所述当前块的预测模式包括:
在从比特流中获取指示所述当前块的预测模式是否是所述BC预测模式的BC模式参数(pred_mode_bc_flag)之前,从所述比特流中获取指示所述当前块的预测模式的预测模式参数(pred_mode_flag),以及
当没有从所述比特流中获取到所述预测模式参数时,如果所述当前块所属的并行处理单元是不参考除所述当前图片以外的图片作为参考图片的单元,则将所述预测模式参数确定为指示帧内预测模式的值,以及
当没有从所述比特流中获取到所述预测模式参数时,如果所述当前块所属的并行处理单元是能够参考除所述当前图片以外的图片作为参考图片的单元,则将所述预测模式参数确定为指示所述帧间预测模式的值。
6.根据权利要求1所述的方法,其中,确定所述当前块的预测模式包括:
从比特流中获取指示所述当前块的预测模式是否是所述BC预测模式的BC模式参数(pred_mode_bc_flag),以及
当没有从所述比特流中获取到所述BC模式参数时,如果指示所述当前块的分区的编译树类型信息(treeType)为指示色度分量的DUAL_TREE_CHROMA,则将所述BC模式参数的值确定为指示不使用所述BC预测模式的值。
7.根据权利要求1所述的方法,其中,确定所述当前块的预测模式包括:
从比特流中获取指示所述当前块的预测模式的预测模式参数(pred_mode_flag),以及
当没有从所述比特流中获取到所述预测模式参数时,如果所述当前块的大小不与被预设为帧间预测受限的块大小的块大小相对应并且所述当前块所属的并行处理单元是能够参考除所述当前图片以外的图片作为参考图片的单元,则将所述预测模式参数确定为指示帧间预测的值。
8.根据权利要求1所述的方法,其中,确定所述当前块的预测模式包括:
从比特流中获取指示所述当前块的预测模式是否是所述BC预测模式的BC模式参数(pred_mode_bc_flag),以及
当没有从所述比特流中获取到所述BC模式参数时,如果指示所述当前块的模式是否是跳过模式的参数指示所述跳过模式并且所述当前块的大小与被预设为帧间预测受限的块大小的块大小相对应,则将所述BC模式参数的值确定为指示使用所述BC预测模式的值。
9.根据权利要求8所述的方法,其中,当没有从所述比特流中获取到所述BC模式参数时,如果指示所述当前块的模式是否是所述跳过模式的参数不指示所述跳过模式、所述当前块的大小不与帧间预测受限的块大小相对应、并且所述当前块所属的并行处理单元是能够参考除所述当前图片以外的图片作为参考图片的单元,则将所述BC模式参数的值确定为指示不使用所述BC的值。
10.一种处理视频信号的方法,所述方法包括:
确定当前块的预测模式;
当所述当前块的预测模式是其中参考当前图片的块复制(BC)预测模式时,基于所述BC预测模式生成用于编码所述当前块的比特流;以及
当所述当前块的预测模式是其中参考至少一个图片的帧间预测模式时,基于所述帧间预测模式生成用于编码所述当前块的比特流,
其中,在所述BC预测模式中为编码所述当前块而参考的空间邻近位置的集合包括在所述帧间预测模式中为编码所述当前块而参考的空间邻近位置的集合中的一些。
11.一种用于处理视频信号的装置,所述装置包括:
处理器,
其中,所述处理器被配置为确定当前块的预测模式,
当所述当前块的预测模式是其中参考当前图片的块复制(BC)预测模式时,基于所述BC预测模式解码所述当前块;以及当所述当前块的预测模式是其中参考至少一个图片的帧间预测模式时,基于所述帧间预测模式解码所述当前块,以及在所述BC预测模式中为解码所述当前块而参考的空间邻近位置的集合包括在所述帧间预测模式中为解码所述当前块而参考的空间邻近位置的集合中的一些。
12.根据权利要求11所述的装置,
其中,当所述当前块的最左上位置为(xCb,yCb)时,在所述帧间预测模式中为解码所述当前块而参考的所述空间邻近位置的集合包括(xCb-1,yCb-1)的位置,以及
其中,当所述当前块的最左上位置为(xCb,yCb)时,在所述BC预测模式中为解码所述当前块而参考的空间邻近位置的集合不包括(xCb-1,yCb-1)的位置。
13.根据权利要求11所述的装置,
其中,当所述当前块的最左上位置为(xCb,yCb)时,在所述BC预测模式中为解码所述当前块而参考的所述空间邻近位置的集合包括(xCb-1,yCb+cbHeight-1)的位置和(xCb+cbWidth-1,yCb-1)的位置中的至少一个,以及
其中,cbWidth为所述当前块的宽度,以及cbHeight为所述当前块的高度。
14.根据权利要求11所述的装置,
其中,所述处理器被配置为:
从比特流中获取指示所述当前块的预测模式是否是所述BC预测模式的BC模式参数(pred_mode_bc_flag);以及基于所述BC模式参数,将所述当前块的预测模式确定为所述BC预测模式,以及当没有从所述比特流中获取到所述BC模式参数、所述当前块所属的切片是不参考除所述当前图片以外的图片作为参考图片的切片、并且比所述当前块更高级别处的信令信息(sps_bc_enabled_flag)指示所述BC预测模式可用时,将所述BC模式参数的值确定为指示使用所述BC预测模式的值,以及当没有从所述比特流中获取到所述BC模式参数并且所述当前块所属的切片是能够参考除所述当前图片以外的图片作为参考图片的切片时,所述BC模式参数的值指示不使用所述BC预测模式。
15.根据权利要求11所述的装置,
其中,所述处理器被配置为:
在从比特流中获取指示所述当前块的预测模式是否是所述BC预测模式的BC模式参数(pred_mode_bc_flag)之前,从所述比特流中获取指示所述当前块的预测模式的预测模式参数(pred_mode_flag),以及当没有从所述比特流中获取到所述预测模式参数并且所述当前块所属的并行处理单元是不参考除所述当前图片以外的图片作为参考图片的单元时,将所述预测模式参数确定为指示帧内预测模式的值,以及当没有从所述比特流中获取到所述预测模式参数并且所述当前块所属的并行处理单元是能够参考除所述当前图片以外的图片作为参考图片的单元时,将所述预测模式参数确定为指示所述帧间预测模式的值。
16.根据权利要求11所述的装置,
其中,所述处理器被配置为:
从比特流中获取指示所述当前块的预测模式是否是所述BC预测模式的BC模式参数(pred_mode_bc_flag),以及当没有从所述比特流中获取到所述BC模式参数并且指示所述当前块的分区的编译树类型信息(treeType)为指示色度分量的DUAL_TREE_CHROMA时,将所述BC模式参数的值确定为指示不使用所述BC预测模式的值。
17.根据权利要求11所述的装置,其中,所述处理器被配置为:从比特流中获取指示所述当前块的预测模式的预测模式参数(pred_mode_flag),以及当没有从所述比特流中获取到所述预测模式参数、所述当前块的大小不与被预设为帧间预测受限的块大小的块大小相对应并且所述当前块所属的并行处理单元是能够参考除所述当前图片以外的图片作为参考图片的单元时,将所述预测模式参数确定为指示帧间预测的值。
18.根据权利要求11所述的装置,
其中,所述处理器被配置为:
从比特流中获取指示所述当前块的预测模式是否是所述BC预测模式的BC模式参数(pred_mode_bc_flag),以及当没有从所述比特流中获取到所述BC模式参数、指示所述当前块的模式是否是跳过模式的参数指示所述跳过模式、并且所述当前块的大小与被预设为帧间预测受限的块大小的块大小相对应时,将所述BC模式参数的值确定为指示使用所述BC预测模式的值。
19.根据权利要求18所述的装置,其中,当没有从所述比特流中获取到所述BC模式参数、指示所述当前块的模式是否是所述跳过模式的参数不指示所述跳过模式、所述当前块的大小不与帧间预测受限的块大小相对应、并且所述当前块所属的并行处理单元是能够参考除所述当前图片以外的图片作为参考图片的单元时,所述BC模式参数的值指示不使用所述BC。
20.一种用于处理视频信号的装置,所述装置包括:
处理器,
其中,所述处理器被配置为确定当前块的预测模式;当所述当前块的预测模式是其中参考当前图片的块复制(BC)预测模式时,基于所述BC预测模式生成用于编码所述当前块的比特流;以及当所述当前块的预测模式是其中参考至少一个图片的帧间预测模式时,基于所述帧间预测模式生成用于编码所述当前块的比特流,以及在所述BC预测模式中为编码所述当前块而参考的空间邻近位置的集合包括在所述帧间预测模式中为编码所述当前块而参考的空间邻近位置的集合中的一些。
21.一种计算机可读记录介质,其存储用于处理视频信号的比特流,所述比特流包含目标块的预测模式信息,并且包括用于当所述目标块的预测模式是其中参考目标图片的块复制(BC)预测模式时,基于所述BC预测模式编码所述目标块的比特流,以及用于当所述目标块的预测模式是其中参考至少一个图片的帧间预测模式时,基于所述帧间预测模式编码所述目标块的比特流,其中,在所述BC预测模式中为编码所述目标块而参考的空间邻近位置的集合包括在所述帧间预测模式中为编码所述目标块而参考的空间邻近位置的集合中的一些。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410898188.XA CN118741097A (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
CN202410901806.1A CN118741100A (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
CN202410901767.5A CN118741099A (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
CN202410898268.5A CN118741098A (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0160432 | 2018-12-12 | ||
KR20180160432 | 2018-12-12 | ||
KR10-2019-0019512 | 2019-02-19 | ||
KR20190019512 | 2019-02-19 | ||
KR10-2019-0048097 | 2019-04-24 | ||
KR20190048097 | 2019-04-24 | ||
PCT/KR2019/017639 WO2020122654A1 (ko) | 2018-12-12 | 2019-12-12 | 현재 픽쳐 참조를 이용한 비디오 신호 처리 방법 및 장치 |
Related Child Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410898188.XA Division CN118741097A (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
CN202410901767.5A Division CN118741099A (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
CN202410898268.5A Division CN118741098A (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
CN202410901806.1A Division CN118741100A (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113228636A true CN113228636A (zh) | 2021-08-06 |
CN113228636B CN113228636B (zh) | 2024-07-26 |
Family
ID=71075465
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410901806.1A Pending CN118741100A (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
CN202410901767.5A Pending CN118741099A (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
CN202410898188.XA Pending CN118741097A (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
CN201980082678.XA Active CN113228636B (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
CN202410898268.5A Pending CN118741098A (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410901806.1A Pending CN118741100A (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
CN202410901767.5A Pending CN118741099A (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
CN202410898188.XA Pending CN118741097A (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410898268.5A Pending CN118741098A (zh) | 2018-12-12 | 2019-12-12 | 使用当前图片参考的视频信号处理方法和设备 |
Country Status (6)
Country | Link |
---|---|
US (2) | US12003699B2 (zh) |
EP (2) | EP4383703A1 (zh) |
JP (2) | JP7524188B2 (zh) |
KR (1) | KR20210091208A (zh) |
CN (5) | CN118741100A (zh) |
WO (1) | WO2020122654A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11190800B2 (en) | 2019-02-07 | 2021-11-30 | Qualcomm Incorporated | Motion vector predictor list generation for intra block copy mode in video coding |
CN113785568B (zh) * | 2019-05-02 | 2024-03-08 | 字节跳动有限公司 | 变换跳过模式下的信令通知 |
WO2021036990A1 (en) * | 2019-08-24 | 2021-03-04 | Beijing Bytedance Network Technology Co., Ltd. | Initialization of history-based motion vector predictor tables |
JP7323709B2 (ja) * | 2019-09-09 | 2023-08-08 | 北京字節跳動網絡技術有限公司 | イントラブロックコピーの符号化および復号化 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140016823A (ko) * | 2012-07-24 | 2014-02-10 | 한국전자통신연구원 | 영상의 복호화 방법 및 이를 이용하는 장치 |
WO2015070801A1 (en) * | 2013-11-14 | 2015-05-21 | Mediatek Singapore Pte. Ltd. | Method of video coding using prediction based on intra picture block copy |
WO2015142556A2 (en) * | 2014-03-16 | 2015-09-24 | Vid Scale, Inc. | Method and apparatus for the signaling of lossless video coding |
WO2015192353A1 (en) * | 2014-06-19 | 2015-12-23 | Microsoft Technology Licensing, Llc | Unified intra block copy and inter prediction modes |
CN106416243A (zh) * | 2014-02-21 | 2017-02-15 | 联发科技(新加坡)私人有限公司 | 利用基于帧内图像区块复制预测的视频编码方法 |
CN106797476A (zh) * | 2014-10-07 | 2017-05-31 | 高通股份有限公司 | 帧内bc及帧间统一 |
CN107079161A (zh) * | 2014-09-01 | 2017-08-18 | 寰发股份有限公司 | 用于屏幕内容以及视频编码的帧内图片块复制的方法 |
JP2018088715A (ja) * | 2018-02-23 | 2018-06-07 | マイクロソフト テクノロジー ライセンシング,エルエルシー | イントラブロックコピー予測におけるブロック反転及びスキップモード |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107071486B (zh) | 2010-11-04 | 2020-10-30 | Ge视频压缩有限责任公司 | 解码装置和方法、编码装置和方法、存储和传输图像方法 |
ES2933424T3 (es) | 2011-03-06 | 2023-02-08 | Lg Electronics Inc | Método de predicción intra para bloques de crominancia |
CN107071428B (zh) | 2011-06-23 | 2019-12-27 | Jvc 建伍株式会社 | 图像编码装置和图像编码方法 |
KR102007047B1 (ko) | 2011-06-30 | 2019-08-02 | 선 페이턴트 트러스트 | 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치 |
KR20130049526A (ko) | 2011-11-04 | 2013-05-14 | 오수미 | 복원 블록 생성 방법 |
FI2869557T3 (fi) | 2012-06-29 | 2023-11-02 | Electronics & Telecommunications Res Inst | Menetelmä ja laite kuvien koodaamiseksi/dekoodaamiseksi |
PT2984837T (pt) | 2013-04-08 | 2018-04-26 | Ge Video Compression Llc | Predição intercomponente |
US11323747B2 (en) * | 2013-06-05 | 2022-05-03 | Qualcomm Incorporated | Residual differential pulse code modulation (DPCM) extensions and harmonization with transform skip, rotation, and scans |
MX2016004705A (es) * | 2013-10-14 | 2016-07-18 | Microsoft Technology Licensing Llc | Caracteristicas del modo de prediccion copia de bloque interno para codificacion y decodificacion de imagen y video. |
US9883197B2 (en) * | 2014-01-09 | 2018-01-30 | Qualcomm Incorporated | Intra prediction of chroma blocks using the same vector |
US20150271515A1 (en) * | 2014-01-10 | 2015-09-24 | Qualcomm Incorporated | Block vector coding for intra block copy in video coding |
CA2939431C (en) * | 2014-03-04 | 2020-09-22 | Microsoft Techology Licensing, Llc | Block flipping and skip mode in intra block copy prediction |
US10412387B2 (en) * | 2014-08-22 | 2019-09-10 | Qualcomm Incorporated | Unified intra-block copy and inter-prediction |
ES2917123B1 (es) | 2015-09-11 | 2023-04-21 | Kt Corp | Método para modificar una muestra de predicción basado en interpredicción |
KR102346713B1 (ko) | 2016-04-12 | 2022-01-03 | 세종대학교산학협력단 | 인트라 예측 기반의 비디오 신호 처리 방법 및 장치 |
CN109479141B (zh) | 2016-07-12 | 2023-07-14 | 韩国电子通信研究院 | 图像编码/解码方法和用于所述方法的记录介质 |
US20200045305A1 (en) | 2016-09-30 | 2020-02-06 | Lg Electronics Inc. | Picture processing method and apparatus for same |
EP4075798B1 (en) | 2016-10-04 | 2024-09-11 | HFI Innovation Inc. | Method and apparatus for intra chroma coding in image and video coding |
US10848788B2 (en) | 2017-01-06 | 2020-11-24 | Qualcomm Incorporated | Multi-type-tree framework for video coding |
US10531085B2 (en) | 2017-05-09 | 2020-01-07 | Futurewei Technologies, Inc. | Coding chroma samples in video compression |
WO2019194500A1 (ko) | 2018-04-01 | 2019-10-10 | 엘지전자 주식회사 | 인트라 예측에 기반한 영상 코딩 방법 및 그 장치 |
CN118381918A (zh) | 2018-09-19 | 2024-07-23 | 韩国电子通信研究院 | 用于帧内预测模式编码/解码的方法和记录介质 |
US10958904B2 (en) | 2019-02-01 | 2021-03-23 | Tencent America LLC | Method and apparatus for video coding |
CN118870031A (zh) | 2019-02-19 | 2024-10-29 | 数码士有限公司 | 基于帧内预测的视频信号处理方法和设备 |
CN113545065B (zh) | 2019-03-06 | 2023-12-12 | 北京字节跳动网络技术有限公司 | 转换后的单向预测候选的使用 |
BR112021018554A2 (pt) | 2019-03-23 | 2021-11-30 | Huawei Tech Co Ltd | Codificador, decodificador e métodos correspondentes para predição intra |
-
2019
- 2019-12-12 CN CN202410901806.1A patent/CN118741100A/zh active Pending
- 2019-12-12 EP EP24167363.1A patent/EP4383703A1/en active Pending
- 2019-12-12 KR KR1020217017095A patent/KR20210091208A/ko unknown
- 2019-12-12 CN CN202410901767.5A patent/CN118741099A/zh active Pending
- 2019-12-12 CN CN202410898188.XA patent/CN118741097A/zh active Pending
- 2019-12-12 EP EP19895005.7A patent/EP3896969B1/en active Active
- 2019-12-12 CN CN201980082678.XA patent/CN113228636B/zh active Active
- 2019-12-12 WO PCT/KR2019/017639 patent/WO2020122654A1/ko unknown
- 2019-12-12 JP JP2021534131A patent/JP7524188B2/ja active Active
- 2019-12-12 CN CN202410898268.5A patent/CN118741098A/zh active Pending
-
2021
- 2021-06-09 US US17/343,258 patent/US12003699B2/en active Active
-
2024
- 2024-03-21 JP JP2024045270A patent/JP2024060107A/ja active Pending
- 2024-04-24 US US18/645,298 patent/US20240275953A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140016823A (ko) * | 2012-07-24 | 2014-02-10 | 한국전자통신연구원 | 영상의 복호화 방법 및 이를 이용하는 장치 |
WO2015070801A1 (en) * | 2013-11-14 | 2015-05-21 | Mediatek Singapore Pte. Ltd. | Method of video coding using prediction based on intra picture block copy |
CN106416243A (zh) * | 2014-02-21 | 2017-02-15 | 联发科技(新加坡)私人有限公司 | 利用基于帧内图像区块复制预测的视频编码方法 |
WO2015142556A2 (en) * | 2014-03-16 | 2015-09-24 | Vid Scale, Inc. | Method and apparatus for the signaling of lossless video coding |
WO2015192353A1 (en) * | 2014-06-19 | 2015-12-23 | Microsoft Technology Licensing, Llc | Unified intra block copy and inter prediction modes |
CN107079161A (zh) * | 2014-09-01 | 2017-08-18 | 寰发股份有限公司 | 用于屏幕内容以及视频编码的帧内图片块复制的方法 |
CN106797476A (zh) * | 2014-10-07 | 2017-05-31 | 高通股份有限公司 | 帧内bc及帧间统一 |
JP2018088715A (ja) * | 2018-02-23 | 2018-06-07 | マイクロソフト テクノロジー ライセンシング,エルエルシー | イントラブロックコピー予測におけるブロック反転及びスキップモード |
Non-Patent Citations (2)
Title |
---|
XIAOZHONG XU: "CE8: CPR mode with local search ranges (Test CE8.3.1 and CE8.3.2)", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 12TH MEETING: MACAO, CN, 3–12 OCT. 2018, JVET-L0293 * |
XUGUANG ZUO: "Intra block copy for intra-frame coding", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 10TH MEETING: SAN DIEGO, US, 10–20 APR. 2018,JVET-J0042, 20 April 2018 (2018-04-20) * |
Also Published As
Publication number | Publication date |
---|---|
KR20210091208A (ko) | 2021-07-21 |
US20240275953A1 (en) | 2024-08-15 |
EP3896969B1 (en) | 2024-11-13 |
US12003699B2 (en) | 2024-06-04 |
CN118741099A (zh) | 2024-10-01 |
JP2022513857A (ja) | 2022-02-09 |
EP3896969A4 (en) | 2022-09-14 |
CN118741100A (zh) | 2024-10-01 |
WO2020122654A1 (ko) | 2020-06-18 |
CN118741098A (zh) | 2024-10-01 |
EP3896969A1 (en) | 2021-10-20 |
US20210297662A1 (en) | 2021-09-23 |
CN113228636B (zh) | 2024-07-26 |
EP4383703A1 (en) | 2024-06-12 |
JP7524188B2 (ja) | 2024-07-29 |
CN118741097A (zh) | 2024-10-01 |
JP2024060107A (ja) | 2024-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110662052B (zh) | 更新查找表(lut)的条件 | |
CN110662059B (zh) | 使用查找表存储先前编码的运动信息并用其编码后续块的方法和装置 | |
CN110662053B (zh) | 使用查找表的视频处理方法、装置和存储介质 | |
US20240048692A1 (en) | Video signal processing method and device using motion compensation | |
CN112840654A (zh) | 使用多假设预测的视频信号处理方法和装置 | |
KR102550530B1 (ko) | 서브블록 기반의 모션 보상을 이용한 비디오 신호 처리 방법 및 장치 | |
CN113228636B (zh) | 使用当前图片参考的视频信号处理方法和设备 | |
CN114145014A (zh) | 处理视频信号的方法和设备 | |
CN114208205A (zh) | 视频信号处理方法和设备 | |
CN113454992A (zh) | 基于帧内预测的视频信号处理方法和设备 | |
KR20200095982A (ko) | 모션 벡터 차이를 사용하는 머지를 기반으로 한 모션 예측을 이용한 비디오 신호 처리 방법 및 장치 | |
KR20200137326A (ko) | 현재 픽쳐 참조를 이용한 비디오 신호 처리 방법 및 장치 | |
KR20240132290A (ko) | 종속 양자화를 이용한 비디오 신호 처리 방법 및 이를 위한 장치 | |
KR20240087758A (ko) | Mhp(multi-hypothesis prediction)모드에 기초한 비디오 신호 처리 방법 및 이를 위한 장치 | |
KR20240026180A (ko) | 인트라 예측을 이용한 비디오 신호 처리 방법 및 이를 위한 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220824 Address after: Gyeonggi Do, South Korea Applicant after: HUMAX Co.,Ltd. Address before: Gyeonggi Do, South Korea Applicant before: WILUS INSTITUTE OF STANDARDS AND TECHNOLOGY Inc. Applicant before: HUMAX Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |