CN114145014A - 处理视频信号的方法和设备 - Google Patents
处理视频信号的方法和设备 Download PDFInfo
- Publication number
- CN114145014A CN114145014A CN202080052141.1A CN202080052141A CN114145014A CN 114145014 A CN114145014 A CN 114145014A CN 202080052141 A CN202080052141 A CN 202080052141A CN 114145014 A CN114145014 A CN 114145014A
- Authority
- CN
- China
- Prior art keywords
- value
- block
- width
- flag
- transform 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.)
- Pending
Links
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/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/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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
该视频信号解码设备包括处理器,并且该处理器的特征在于:基于预设条件,确定指示用于划分当前变换块(TB)的方向的结果值;基于所述结果值,将所述当前变换块划分为多个变换块;以及通过使用所述多个变换块,对视频信号进行解码,其中,所述预设条件包括与所述当前变换块的颜色分量有关的条件。
Description
技术领域
本公开涉及一种视频信号处理方法和设备,更具体地,涉及一种编码或解码视频信号的视频信号处理方法和设备。
背景技术
压缩编译指代用于通过通信线路发送数字化信息或以适合于存储介质的形式存储信息的一系列信号处理技术。压缩编码的对象包括诸如语音、视频和文本的对象,并且特别地,用于对图像执行压缩编码的技术被称为视频压缩。考虑到空间相关性、时间相关性和随机相关性,通过去除过多的信息来执行对视频信号的压缩编译。然而,随着各种媒体和数据传输媒体的最新发展,需要更有效的视频信号处理方法和装置。
发明内容
技术问题
本发明的目的在于增加视频信号的编译效率。
本发明的目的是通过分区变换单元(块)来提高视频信号的编译效率。
本发明的目的是在帧内预测方法中有效地接收由编码器选择的预测模式。
技术方案
本说明书提供了一种使用二次变换来处理视频信号的方法。
具体地,一种视频信号解码设备包括处理器,其中,所述处理器被配置为:基于预设条件,确定指示当前变换块(TB)的分区方向的结果值,基于所述结果值,将所述当前变换块分割为多个变换块,以及通过使用所述多个变换块来解码视频信号,以及所述预设条件包括与所述当前变换块的颜色分量相关的条件。
另外,在本说明书中,所述预设条件附加地包括与比较所述当前变换块的宽度和最大变换块宽度的结果相关的条件,以及基于与所述当前变换块相关的色度格式、所述当前变换块的颜色分量和最大变换大小,确定所述最大变换块宽度。
另外,在本说明书中,所述预设方法附加地包括与比较第一宽度值和第一高度值的结果相关的条件,所述第一宽度值是通过将所述当前变换块的宽度乘以第一值而获得的值,所述第一高度值是通过将所述当前变换块的高度乘以第二值而获得的值,所述第一值和所述第二值分别是与所述当前变换块的宽度和所述当前变换块的高度相关的值,以及如果所述当前变换块的颜色分量为亮度,则将所述第一值和所述第二值分别设定为1,并且如果所述当前变换块的颜色分量为色度,则基于与所述当前变换块相关的色度格式来分别确定所述第一值和所述第二值。
另外,在本说明书中,当所述当前变换块的宽度大于所述最大变换块宽度并且所述第一宽度值大于所述第一高度值时:所述结果值被确定为1,其是指示所述分区方向是垂直方向的值,所述多个变换块中的每一个的宽度是通过将所述变换块的宽度除以2而获得的值,以及所述多个变换块中的每一个的高度与所述变换块的高度相同。
另外,在本说明书中,当所述当前变换块的宽度小于或等于所述最大变换块宽度,或所述第一宽度值小于或等于所述第一高度值时:所述结果值被确定为0,其是指示所述分区方向是水平方向的值,所述多个变换块中的每一个的宽度与所述变换块的宽度相同,以及所述多个变换块中的每一个的高度是通过将所述变换块的高度除以2而获得的值。
另外,在本说明书中,基于包括在与所述当前变换块相关的编译树单元(CTU)中的具有亮度分量的编译树块(CTB)的大小,确定所述最大变换大小。
另外,在本说明书中,当所述编译树块的大小为32时,所述最大变换大小为32。
另外,在本说明书中,如果所述当前变换块的颜色分量为色度,所述处理器解析指示与所述当前变换块相关的编译块的预测方法是否为基于块的增量脉码调制(BDPCM)的语法元素,当作为解析的结果,编译块的预测方法不是BDPCM时,附加地解析与所述编译块的预测方法相关的语法元素,以及基于所述解析结果确定所述编译块的预测方法,以及,与所述编译块的预测方法相关的所述语法元素是指示跨分量线性模型(CCLM)、平面模式、DC模式、垂直模式、水平模式、对角线模式及DM模式中的至少一个的语法元素。
另外,一种视频信号编码设备,包括处理器,其中,所述处理器基于预设条件,确定指示当前变换块(TB)的分区方向的结果值,基于所述结果值,将所述当前变换块分割为多个变换块,以及生成包括关于所述多个变换块的信息的比特流,以及所述预设条件包括与所述当前变换块的颜色分量相关的条件。
另外,在本说明书中,所述预设条件附加地包括与比较所述当前变换块的宽度和最大变换块宽度的结果相关的条件,以及基于与所述当前变换块相关的色度格式、所述当前变换块的颜色分量和最大变换大小,确定所述最大变换块宽度。
另外,在本说明书中,所述预设方法附加地包括与比较第一宽度值和第一高度值的结果相关的条件,所述第一宽度值是通过将所述当前变换块的宽度乘以第一值而获得的值,所述第一高度值是通过将所述当前变换块的高度乘以第二值而获得的值,所述第一值和所述第二值分别是与所述当前变换块的宽度和所述当前变换块的高度相关的值,以及如果所述当前变换块的颜色分量为亮度,则将所述第一值和所述第二值分别设定为1,并且如果所述当前变换块的颜色分量为色度,则基于与所述当前变换块相关的所述色度格式来分别确定所述第一值和所述第二值。
另外,在本说明书中,当所述当前变换块的宽度大于所述最大变换块宽度并且所述第一宽度值大于所述第一高度值时:所述结果值被确定为1,其是指示所述分区方向是垂直方向的值,所述多个变换块中的每一个的宽度是通过将所述变换块的宽度除以2而获得的值,以及所述多个变换块中的每一个的高度与所述变换块的高度相同。
另外,在本说明书中,当所述当前变换块的宽度小于或等于所述最大变换块宽度,或所述第一宽度值小于或等于所述第一高度值时:所述结果值被确定为0,其是指示所述分区方向是水平方向的值,所述多个变换块中的每一个的宽度与所述变换块的宽度相同,以及所述多个变换块中的每一个的高度是通过将所述变换块的高度除以2而获得的值。
另外,在本说明书中,基于包括在与所述当前变换块相关的编译树单元(CTU)中的具有亮度分量的编译树块(CTB)的大小,确定所述最大变换大小。
另外,在本说明书中,当所述编译树块的大小为32时,所述最大变换大小为32。
另外,在本说明书中,如果所述当前变换块的颜色分量为色度,所述处理器解析指示与所述当前变换块相关的编译块的预测方法是否为基于块的增量脉码调制(BDPCM)的语法元素,当作为解析的结果,编译块的预测方法不是BDPCM时,附加地解析与所述编译块的预测方法相关的语法元素,以及基于所述解析结果确定所述编译块的预测方法,以及与所述编译块的预测方法相关的所述语法元素是指示跨分量线性模型(CCLM)、平面模式、DC模式、垂直模式、水平模式、对角线模式以及DM模式中的至少一个的语法元素。
另外,一种用于存储比特流的非暂时性计算机可读介质,所述比特流由编码方法编码,所述编码方法包括以下步骤:基于预设条件,确定指示当前变换块(TB)的分区方向的结果值,基于所述结果值,将所述当前变换块分区为多个变换块,以及编码包括关于所述多个变换块的信息的比特流,其中,所述预设条件包括与所述当前变换块的颜色分量相关的条件。
另外,在本说明书中,所述预设条件附加地包括与比较所述当前变换块的宽度和最大变换块宽度的结果相关的条件,以及基于与所述当前变换块相关的色度格式、所述当前变换块的颜色分量和最大变换大小,确定所述最大变换块宽度。
另外,在本说明书中,所述预设方法附加地包括与比较第一宽度值和第一高度值的结果相关的条件,所述第一宽度值是通过将所述当前变换块的宽度乘以第一值而获得的值,所述第一高度值是通过将所述当前变换块的高度乘以第二值而获得的值,所述第一值和所述第二值分别是与所述当前变换块的宽度和所述当前变换块的高度相关的值,以及如果所述当前变换块的颜色分量为亮度,则将所述第一值和所述第二值分别设定为1,并且如果所述当前变换块的颜色分量为色度,则基于与所述当前变换块相关的色度格式来分别确定所述第一值和所述第二值。
另外,在本说明书中,基于包括在与所述当前变换块相关的编译树单元(CTU)中的亮度分量的编译树块(CTB)的大小,确定所述最大变换大小。
有益效果
本发明的实施例提供了一种使用变换单元的分区来处理视频信号的方法及其装置。
本发明的实施例提供了一种在帧内预测方法中处理视频信号以有效地接收由编码器选择的预测模式的方法及其装置。
附图说明
图1是根据本发明的实施例的视频信号编码装置的示意性框图。
图2是根据本发明的实施例的视频信号解码装置的示意性框图。
图3示出在图片中编译树单元被划分为编译单元的实施例。
图4示出用于用信号发送四叉树和多类型树的划分的方法的实施例。
图5和图6根据本公开的实施例更详细地图示帧内预测方法。
图7是图示根据本发明的实施例的帧间预测方法的图。
图8是图示根据本发明的实施例的用信号发送当前块的运动矢量的方法的图。
图9是图示根据本发明的实施例的用信号发送当前块的运动矢量差值的方法的图。
图10是图示根据本发明的实施例的编译单元和变换单元的图。
图11是图示根据本发明的实施例的变换树语法的图。
图12是图示根据本发明的实施例的帧内块中的解码过程的图。
图13是图示根据本发明的实施例的残差信号的解码过程的图。
图14是图示根据本发明的实施例的颜色分量之间的关系的图。
图15是图示根据本发明的实施例的颜色分量之间的关系的图。
图16是图示根据本发明的实施例的最大变换大小的图。
图17是图示根据本发明的实施例的较高级别的语法的图。
图18是图示根据本发明的实施例的变换树语法的图。
图19是图示根据本发明的实施例的TU分区的图。
图20是图示根据本发明的实施例的TU分区的图。
图21是图示根据本发明的实施例的解码过程的图。
图22是图示根据本发明的实施例的解码过程的图。
图23是图示根据本发明的实施例的较高级别语法的图。
图24是图示根据本发明的实施例的较高级别语法的图。
图25是图示根据本发明的实施例的变换树语法的图。
图26是图示根据本发明的实施例的解码过程的图。
图27是图示根据本发明的实施例的执行BDPCM的方法的图。
图28是图示根据本发明的实施例的与BDPCM相关的语法的图。
图29是图示根据本发明的实施例的BDPCM可使用条件的图。
图30是图示根据本发明的实施例的CIIP和帧内预测的图。
图31是图示根据本发明的实施例的合并数据语法的图。
图32是图示根据本发明的实施例的合并数据语法的图。
图33是图示根据本发明的实施例的执行CIIP模式的方法的图。
图34是图示根据本发明的实施例的色度BDPCM语法结构的图。
图35是图示根据本发明的实施例的色度BDPCM语法结构的图。
图36是图示根据本发明的实施例的与BDPCM相关的较高级别语法的图。
图37是图示根据本发明的实施例的关于BDPCM的在较高级别处用信号发送的语法元素的图。
图38是图示根据本发明的实施例的与色度BDPCM相关的语法的图。
图39是图示根据本发明的实施例的与帧内预测相关的语法的图。
图40是图示根据本发明的实施例的与帧内预测相关的语法的图。
图41是图示根据本发明的实施例的序列参数集语法的图。
图42是图示根据本发明的实施例的与子图片相关的语法元素的图。
图43是图示根据本发明的实施例的运算符的图。
图44是图示根据本发明的实施例的图片和子图片的图。
图45是图示根据本发明的实施例的与子图片相关的语法元素的图。
图46是图示根据本发明的实施例的分区变换块的方法的图。
具体实施方式
考虑到本公开中的功能,本说明书中使用的术语可以是当前广泛使用的一般术语,但是可以根据本领域的技术人员的意图、习俗或新技术的出现而改变。另外,在某些情况下,可能存在申请人任意选择的术语,并且在这种情况下,其含义在本公开的相应描述部分中进行了描述。因此,应基于整个说明书中的术语和内容的实质含义来解释本说明书中使用的术语。
在本说明书中,一些术语可以解释如下。在一些情况下,编译可以解释为编码或解码。在本说明书中,通过执行视频信号的编码(编译)来生成视频信号比特流的装置被称为编码装置或编码器,并且执行视频信号比特流的解码(解码)以重构视频信号的装置被称为解码装置或解码器。另外,在本说明书中,视频信号处理装置被用作包括编码器和解码器两者的概念的术语。信息是包括所有值、参数、系数、元素等的术语。在一些情况下,含义被不同地解释,因此本公开不限于此。“单元”被用作指代图像处理的基本单位或图片的特定位置的含义,并且指代包括亮度分量和色度分量两者的图像区域。另外,“块”指代包括亮度分量和色度分量(即,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通过使用存储在解码图片缓冲器156中的参考图片来预测当前图片。帧内预测单元152从当前图片中的重构区域执行帧内预测,并且将帧内编译信息传送到熵编译单元160。帧间预测单元154可以包括运动估计单元154a和运动补偿单元154b。运动估计单元154a通过参考特定的重构区域来获得当前区域的运动矢量值。运动估计单元154a将参考区域的位置信息(参考帧、运动矢量等)传递到熵编译单元160,以使得将该位置信息包括在比特流中。运动补偿单元154b通过使用从运动估计单元154a传递的运动矢量值来执行帧间运动补偿。
预测单元150包括帧内预测单元152和帧间预测单元154。帧内预测单元152在当前图片内执行帧内预测,并且帧间预测单元154执行帧间预测以通过使用存储在DBP 156中的参考图片来预测当前图片。帧内预测单元152从当前图片中的重构样本执行帧内预测,并且将帧内编码信息传送到熵编译单元160。帧内编码信息可以包括帧内预测模式、最可能模式(MPM)标志和MPM索引中的至少一个。帧内编码信息可以包括关于参考样本的信息。帧间预测单元154可以包括运动估计单元154a和运动补偿单元154b。运动估计单元154a通过参考重构参考图片的特定区域来获得当前区域的运动矢量值。运动估计单元154a将用于参考区域的运动信息集(参考图片索引、运动矢量信息等)传递到熵编译单元160。运动补偿单元154b通过使用从运动估计单元154a传递的运动矢量值来执行运动补偿。帧间预测单元154将包括关于参考区域的运动信息的帧间编码信息传递到熵编译单元160。
根据另一实施例,预测单元150可以包括帧内块复制(BC)预测单元(未示出)。帧内BC预测单元基于当前图片中的重构样本来执行帧内BC预测,并将帧内BC编码信息传送到熵编译单元160。帧内BC预测单元获得参考当前图片中的特定区域,指示用于预测当前区域的参考区域的块矢量值。帧内BC预测单元可以使用所获得的块矢量值来执行帧内BC预测。帧内BC预测单元将帧内BC编码信息传送到熵编译单元160。帧内BC编码信息可以包括块矢量信息。
当执行上述图片预测时,变换单元110变换在原始图片和预测图片之间的残差值以获得变换系数值。在这种情况下,可以以图片内的特定块为单位执行变换,并且可以在预设范围内改变特定块的大小。量化单元115对在变换单元110中生成的变换系数值进行量化,并将其发送到熵编译单元160。
熵编译单元160对指示量化的变换系数的信息、帧内编码信息、帧间编码信息等进行熵编译,以生成视频信号比特流。在熵编译单元160中,可以使用可变长度编译(VLC)方案、算术编译方案等。可变长度编译(VLC)方案包括将输入符号变换成连续的码字,并且码字的长度可以是可变的。例如,频繁出现的符号由短码字表示,而很少出现的符号由长码字表示。基于上下文的自适应可变长度编译(CAVLC)方案可以被用作可变长度编译方案。算术编译可以将连续数据符号变换成单个质数,其中,算术编译可以获得表示每个符号所需的最佳比特。基于上下文的自适应二进制算术编译(CABAC)可以被用作算术编译。例如,熵编译单元160可以二值化指示量化的变换系数的信息。熵编译单元160可以通过算术编译二进制信息来生成比特流。
使用网络抽象层(NAL)单元作为基本单位来封装所生成的比特流。NAL单元包括整数个编译的编译树单元。为了在视频解码器中对比特流进行解码,首先,必须将比特流分离成NAL单元,并且然后必须对每个分离的NAL单元进行解码。同时,能够通过诸如图片参数集(PPS)、序列参数集(SPS)、以及视频参数集(VPS)的较高级别集合的原始字节序列有效载荷(RBSP)来发送对视频信号比特流进行解码所需的信息。
同时,图1的框图示出根据本发明的实施例的编码装置100,并且分开显示的块在逻辑上区分并示出编码装置100的元件。因此,取决于设备的设计上述编码装置100的元件可以被安装为一个芯片或多个芯片。根据实施例,上述编码装置100的每个元件的操作可以由处理器(未示出)执行。
图2是根据本发明的实施例的视频信号解码装置200的示意性框图。参考图2,本发明的解码装置200包括熵解码单元210、逆量化单元220、逆变换单元225、滤波单元230和预测单元250。
熵解码单元210对视频信号比特流进行熵解码,以提取每个区域的变换系数信息、帧内编码信息、帧间编码信息等。例如,熵解码单元210可以从视频信号比特流中获得用于特定区域的变换系数信息的二值化码。熵解码单元210通过对二进制码进行逆二值化来获得量化的变换系数。逆量化单元220对量化的变换系数进行逆量化,并且逆变换单元225通过使用逆量化的变换系数来恢复残差值。视频信号处理设备200通过将由逆变换单元225获得的残差值与由预测单元250获得的预测值相加来恢复原始像素值。
同时,滤波单元230对图片执行滤波以改善图像质量。这可以包括用于减少块失真的去块滤波器和/或用于去除整个图片的失真的自适应环路滤波器。滤波后的图片被输出或存储在DPB 256中,以用作下一个图片的参考图片。
预测单元250包括帧内预测单元252和帧间预测单元254。预测单元250通过使用通过上述熵解码单元210解码的编码类型、每个区域的变换系数和帧内/帧间编码信息来生成预测图片。为了重构其中执行解码的当前块,可以使用当前图片或包括当前块的其他图片的解码区域。在重构中,仅将当前图片,即,仅执行帧内预测或者帧内BC预测的图片(或拼块(tile)/切片(slice))称为帧内图片或I图片(或拼块/切片),并且将能够执行所有帧内预测、帧间预测以及帧内BC预测的图片(或拼块/切片)称为帧间图片(或拼块/切片)。为了预测帧间图片(或拼块/切片)当中的每个块的样本值,使用最多一个运动矢量和参考图片索引的图片(或者拼块/切片)被称为预测图片或P图片(或拼块/切片),并且使用最多两个运动矢量和参考图片索引的图片(或拼块/切片)称为双向预测图片或B图片(或拼块/切片)。换句话说,P图片(或拼块/切片)使用最多一个运动信息集来预测每个块,并且B图片(或拼块/切片)使用最多两个运动信息集来预测每个块。这里,运动信息集包括一个或多个运动矢量和一个参考图片索引。
帧内预测单元252使用帧内编码信息和当前图片中的重构的样本来生成预测块。如上所述,帧内编码信息可以包括帧内预测模式、最可能模式(MPM)标志和MPM索引中的至少一种。帧内预测单元252通过使用位于当前块的左边和/或上边的重构的样本作为参考样本来预测当前块的样本值。在本公开中,重构的样本、参考样本和当前块的样本可以表示像素。而且,样本值可以表示像素值。
根据实施例,参考样本可以是当前块的相邻块中包括的样本。例如,参考样本可以是与当前块的左边界相邻的样本和/或样本可以是与上边界相邻的样本。而且,参考样本可以是当前块的相邻块的样本当中的位于距当前块的左边界预定距离内的线上的样本和/或位于距当前块的上边界预定距离内的线上的样本。在这种情况下,当前块的相邻块可以包括左(L)块、上(A)块、左下(BL)块、右上(AR)块或左上(AL)块。
帧间预测单元254使用存储在DPB 256中的参考图片和帧间编码信息来生成预测块。帧间编译信息可以包括用于参考块的当前块的运动信息集(参考图片索引、运动矢量信息等)。帧间预测可以包括L0预测、L1预测和双向预测。L0预测意指使用L0图片列表中包括的一个参考图片进行预测,而L1预测意指使用L1图片列表中包括的一个参考图片进行预测。为此,可能需要一个运动信息集合(例如,运动矢量和参考图片索引)。在双向预测方法中,可以使用最多两个参考区域,并且两个参考区域可以存在于同一参考图片中或可以存在于不同图片中。即,在双向预测方法中,可以使用最多两个的运动信息集合(例如,运动矢量和参考图片索引),并且两个运动矢量可以对应于相同的参考图片索引或不同的参考图片索引。在这种情况下,在时间方面,可以在当前图片之前和之后显示(或输出)参考图片。根据实施例,在双向预测方案中使用的两个参考区域可以是分别从图片列表L0和图片列表L1中选择的区域。
帧间预测单元254可以使用运动矢量和参考图片索引来获得当前块的参考块。参考块在与参考图片索引相对应的参考图片中。而且,由运动矢量指定的块的样本值或其内插值可以用作当前块的预测器(predictor)。对于具有子像元(sub-pel)单位像素准确度的运动预测,例如,可以使用用于亮度信号的8抽头内插滤波器和用于色度信号的4抽头内插滤波器。然而,以子像素为单位的用于运动预测的内插滤波器不限于此。以这种方式,帧间预测单元254执行运动补偿以根据先前使用运动信息重构的运动图片来预测当前单元的纹理。在这样的情况下,帧间预测单元可以使用运动信息集。
根据另一实施例,预测单元250可以包括帧内BC预测单元(未示出)。帧内BC预测单元可以通过参考包括当前图片内的重构样本的特定区域来重构当前区域。帧内BC预测单元从熵解码单元210获得当前区域的帧内BC编码信息。帧内BC预测单元获得指示当前图片中的特定区域的当前区域的块矢量值。帧内BC预测单元可以通过使用所获得的块矢量值来执行帧内BC预测。帧内BC编码信息可以包括块矢量信息。
通过将从帧内预测单元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,指示是否分割节点的标志“split_cu_flag”、指示是否分割四叉树节点的标志“split_qt_flag”、指示多类型树节点的分割方向的标志“mtt_split_cu_vertical_flag”、或者指示多类型树节点的分割形状的标志“mtt_split_cu_binary_flag”中的至少一个可以被使用。
根据本发明的实施例,可以首先用信号发送作为指示是否分割当前节点的标志的“split_cu_flag”。当“split_cu_flag”的值为0时,其指示当前节点没有被分割,并且当前节点成为编译单元。当当前节点为编译树单元时,编译树单元包括一个未分割的编译单元。当前节点为四叉树节点“QT节点”时,当前节点为四叉树的叶节点“QT叶节点”,并且变成编译单元。当当前节点为多类树节点“MTT节点”时,当前节点为多类树的叶节点“MTT叶节点”并且变成编译单元。
当“split_cu_flag”的值为1时,可以根据“split_qt_flag”的值将当前节点分割为四叉树或多类型树的节点。编译树单元是四叉树的根节点,可以首先分割成四叉树结构。在四叉树结构中,为每个节点“QT节点”用信号发送“split_qt_flag”。当“split_qt_flag”的值为1时,对应的节点被分割成4个正方形节点,并且当“qt_split_flag”的值为0时,对应的节点变成四叉树的“QT叶节点”,并且对应的节点被分割成多种类型的节点。根据本发明的实施例,可以根据当前节点的类型来限制四叉树的分割。当当前节点为编译树单元(四叉树的根节点)或四叉树节点时可以允许四叉树分割,并且当当前节点为多类型树节点时不允许四叉树分割。每个四叉树叶节点“QT叶节点”可以进一步分割成多类型树结构。如上所述,当“split_qt_flag”为0时,可以将当前节点分割成多类型节点。为了指示分割方向和分割形状,可以用信号发送“mtt_split_cu_vertical_flag”和“mtt_split_cu_binary_flag”。当“mtt_split_cu_vertical_flag”的值为1时,指示节点“MTT节点”的垂直分割,并且当“mtt_split_cu_vertical_flag”的值为0时,指示节点“MTT节点”的水平分割。另外,当“mtt_split_cu_binary_flag”的值为1时,节点“MTT节点”被分割成两个矩形节点,并且当“mtt_split_cu_binary_flag”的值为0时,节点“MTT节点”被分割成三个矩形节点。
对不再被划分的编译单元(即,编译单元树的叶节点)上执行用于编码的图片预测(运动补偿)。在下文中,用于执行预测的基本单元将被称为“预测单元”或“预测块”。
在下文中,在此使用的术语“单元”可以代替预测单元,该预测单元是用于执行预测的基本单元。然而,本公开不限于此,并且“单元”可以被理解为广泛地涵盖编译单元的概念。
图5和图6更加具体地图示根据本发明的实施例的帧内预测方法。如上所述,帧内预测单元通过使用位于当前块的左边和/或上边的重构的样本作为参考样本来预测当前块的样本值。
首先,图5示出在帧内预测模式中用于当前块的预测的参考样本的实施例。根据实施例,参考样本可以是与当前块的左边界相邻的样本和/或与上边界相邻的样本。如图5中所示,当当前块的大小是WXH并且与当前块相邻的单个参考线的样本被用于帧内预测时,可以使用位于当前块的左边和上边的最大2W+2H+1个邻近样本来配置参考样本。
当尚未恢复要用作参考样本的至少一些样本时,帧内预测单元可以通过执行参考样本填充过程来获得参考样本。帧内预测单元可以执行参考样本滤波过程以减少帧内预测中的误差。也就是说,可以对通过参考样本填充过程获得的相邻样本和/或参考样本执行滤波,以便获得滤波的参考样本。帧内预测单元通过使用如上获得的参考样本来预测当前块的样本。帧内预测单元通过使用未滤波的参考样本或滤波的参考样本来预测当前块的样本。在本公开中,相邻样本可以包括至少一个参考线上的样本。例如,相邻样本可以包括在与当前块的边界相邻的线上的相邻样本。
接下来,图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}中的任一种相对应的角度模式。同时,帧内预测模式集中包括的帧内预测模式的总数可以取决于上述基本角度模式和扩展角度模式的配置而变化。
在上述实施例中,扩展角度模式之间的间隔可以基于对应的基本角度模式之间的间隔来设置。例如,扩展角度模式{3,5,7,...,65}之间的间隔可以基于相应的基本角度模式{2,4,6,...,66}之间的间隔来确定。另外,扩展角度模式{-10,-9,…,-1}之间的间隔可以基于在相对侧上的对应的基本角度模式{56,57,…,65}之间的间隔来确定,并且扩展角度模式{67,68,…,76}的间隔可以基于在相对侧上的对应的基本角度模式{3,4,…,12}的间隔确定。扩展角度模式之间的角度间隔可以设置为与对应的基本角度模式之间的角度间隔相同。此外,可以将帧内预测模式集中的扩展角度模式的数量设置为小于或等于基本角度模式的数量。
根据本发明的实施例,可以基于基本角度模式用信号发送扩展角度模式。例如,广角模式(即,扩展角度模式)可以替代第一角度范围内的至少一个角度模式(即,基本角度模式)。要替换的基本角度模式可以是与广角模式相对的一侧上的对应的角度模式。即,要替换的基本角度模式是对应于与由广角模式指示的角度相反方向的角度的角度模式,或者对应于与相反方向的角度相差预设偏移索引的角度的角度模式。根据本发明的一个实施例,预设偏移索引为1。可以将与要替换的基本角度模式对应的帧内预测模式索引重新映射到广角模式,以用信号发送对应的广角模式。例如,广角模式{-10,-9,...,-1}可以分别由帧内预测模式索引{57,58,...,66}用信号发送,并且广角模式{67,68,...,76}可以分别由帧内预测模式索引{2,3,...,11}用信号发送。这样,用于基本角度模式的帧内预测模式索引用信号发送扩展角度模式,并且因此即使用于每个块的帧内预测的角度模式的配置彼此不同,也可以使用同一帧内预测模式索引集来用信号发送帧内预测模式。因此,可以最小化由于帧内预测模式配置的改变而引起的信令开销。
同时,可以基于当前块的形状和大小中的至少一个来确定是否使用扩展角度模式。根据实施例,当当前块的大小大于预设大小时,扩展角度模式可以用于当前块的帧内预测,否则基本角度模式能够仅被用于当前块的帧内预测。根据另一实施例,当当前块是除了正方形以外的块时,扩展角度模式可以被用于当前块的帧内预测,并且当当前块是正方形块时,仅基本角度模式可以被用于当前块的帧内预测。
在下文中,将参考图7描述根据本发明的实施例的帧间预测方法。本文描述的帧间预测方法可以包括针对平移运动优化的一般帧间预测方法和基于仿射模型的帧间预测方法。此外,运动矢量可以包括用于根据一般帧间预测方法的运动补偿的一般运动矢量和用于仿射运动补偿的控制点运动矢量中的至少一个。
图7是图示根据本发明的实施例的帧间预测方法的图。如上所述,解码器可以参考另一解码图片的重构样本来预测当前块。参考图7,解码器基于当前块701的运动信息集,获得参考图片720中的参考块702。在这种情况下,运动信息集可以包括参考图片索引和运动矢量703。参考图片索引指示包括用于参考图片列表中的当前块的帧间预测的参考块的参考图片720。根据实施例,参考图片列表可以包括上述L0图片列表和L1图片列表中的至少一个。运动矢量703表示当前图片710中的当前块701的坐标值与参考图片720中的参考块702的坐标值之间的偏移。解码器基于参考块702的样本值获得当前块701的预测器,并且使用预测器来重构当前块701。
具体地,编码器可以通过在具有较早重构顺序的图片中搜索与当前块类似的块来获得上述参考块。例如,编码器可以在预设搜索区域内搜索当前块与样本值之间的差的和为最小值的参考块。在这种情况下,为了测量当前块和参考块的样本之间的相似性,可以使用绝对差之和(SAD)和哈达玛变换差之和(SATD)中的至少一个。在此,SAD可以是通过将包括在两个块中的样本值之间的各个差的所有绝对值相加而获得的值。另外,SATD可以是通过将通过对包括在两个块中的样本值之间的差执行哈达玛(Hadamard)变换而获得的哈达玛变换系数的所有绝对值相加而获得的值。
同时,可以使用一个或多个参考区域来预测当前块。如上所述,可以使用两个或更多个参考区域,通过双预测方法对当前块进行帧间预测。根据实施例,解码器可以基于当前块的两个运动信息集获得两个参考块。另外,解码器可以基于所获得的两个参考块中的每一个的样本值来获得当前块的第一预测器和第二预测器。另外,解码器可以使用第一预测器和第二预测器来重构当前块。例如,解码器可以基于第一预测器和第二预测器的每个样本的平均来重构当前块。
如上所述,对于当前块的运动补偿,可以用信号发送一个或多个运动信息集。在这种情况下,可以使用用于多个块中的每一个的运动补偿的运动信息集之间的相似性。例如,可以由用于预测其它在前重构样本中的任一个的运动信息集导出用于预测当前块的运动信息集。以这种方式,编码器和解码器可以减少信令开销。在下文中,将描述用信号发送当前块的运动信息集的各种实施例。
图8是图示根据本发明的实施例的用信号发送当前块的运动矢量的方法的图。根据本发明的实施例,可以从当前块的运动矢量预测器(MVP)导出当前块的运动矢量。根据实施例,可以使用运动矢量预测器(MVP)候选列表来获得被参考以导出当前块的运动矢量的运动矢量预测器。MVP候选列表可以包括预设数量的MVP候选(候选1、候选2、...、候选N)。
根据实施例,MVP候选列表可以包括空间候选和时间候选中的至少一个。空间候选可以是用于预测距当前图片中的当前块的特定范围内的相邻块的运动信息集。可以基于当前块的相邻块中的可用相邻块来构建空间候选。另外,时间候选可以是用于预测不同于当前图片的图片中的块的运动信息集。例如,可以基于特定参考图片中的对应于当前块的位置的特定块来构造时间候选。在这种情况下,特定块的位置表示参考图片中的特定块的左上样本的位置。根据另外的实施例,MVP候选列表可以包括零运动矢量。根据另外的实施例,可以对包括在当前块的MVP候选列表中的MVP候选执行舍入过程。在这种情况下,可以使用稍后将描述的当前块的运动矢量差值的分辨率。例如,可以基于当前块的运动矢量差值的分辨率来舍入当前块的MVP候选中的每一个。
在本公开中,MVP候选列表可以包括高级时间运动矢量预测(ATMVP)列表、用于合并帧间预测的合并候选列表、用于仿射运动补偿的控制点运动矢量候选列表、基于子块的时间运动矢量预测(STMVP)列表及其组合。
根据实施例,编码器810和解码器820可以构建用于当前块的运动补偿的MVP候选列表。例如,在当前块之前重构的样本当中,可以存在对应于可能已经基于与当前块的运动信息集相同或类似的运动信息集预测的样本的候选。编码器810和解码器820可以基于多个候选块,构建当前块的MVP候选列表。在这种情况下,编码器810和解码器820可以根据编码器810和解码器820之间的预定义规则来构建MVP候选列表。也就是说,分别在编码器810和解码器820中构建的MVP候选列表可以彼此相同。
另外,预定义规则可以取决于当前块的预测模式而变化。例如,在当前块的预测模式为基于仿射模型的仿射预测模式时,编码器和解码器可以基于仿射模型,使用第一方法构建当前块的MVP候选列表。第一方法可以是获得控制点运动矢量候选列表的方法。另一方面,在当前块的预测模式为不是基于仿射模型的一般帧间预测模式时,编码器和解码器可以使用不基于仿射模型的第二方法来构建当前块的MVP候选列表。在这种情况下,第一方法和第二方法可以是不同的方法。
解码器820可以基于包括在当前块的MVP候选列表中的至少一个MVP候选中的任一个来导出当前块的运动矢量。例如,编码器810可以用信号发送指示待参考以导出当前块的运动矢量的运动矢量预测器的MVP索引。解码器820可以基于用信号发送的MVP索引获得当前块的运动矢量预测器。解码器820可以使用运动矢量预测器来导出当前块的运动矢量。根据实施例,解码器820可以将从MVP候选列表获得的运动矢量预测器用作当前块的运动矢量,而无需单独的运动矢量差值。解码器820可以基于当前块的运动矢量重构当前块。从MVP候选列表获得的运动矢量预测器被用作当前块的运动矢量而无需单独运动矢量差值的帧间预测模式可以被称为合并模式。
根据另一实施例,解码器820可以获得用于当前块的运动矢量的单独运动矢量差。解码器820可以通过将从MVP候选列表获得的运动矢量预测器与当前块的运动矢量差值相加来获得当前块的运动矢量。在这种情况下,编码器810可以用信号发送指示当前块的运动矢量与运动矢量预测器之间的差的运动矢量(MV)差值MV差。将参考图9,详细地描述用信号发送运动矢量差值的方法。解码器820可以基于运动矢量差值MV差获得当前块的运动矢量。解码器820可以基于当前块的运动矢量重构当前块。
另外,可以用信号发送用于当前块的运动补偿的参考图片索引。在当前块的模式的预测中,编码器810可以用信号发送指示包括参考块的参考图片的参考图片索引。解码器820可以基于用信号发送的参考图片索引,获得要参考以重构当前块的参考图片的POC。在这种情况下,参考图片的POC可以不同于对应于被参考以导出当前块的运动矢量的MVP的参考图片的POC。在这种情况下,解码器820可以执行运动矢量缩放。也就是说,解码器820可以通过缩放MVP来获得MVP'。在这种情况下,可以基于当前图片的POC、当前块的用信号发送的参考图片的POC和对应于MVP的参考图片的POC来执行运动矢量缩放。另外,解码器820可以将MVP'用作当前块的运动矢量预测器。
如上所述,可以通过将当前块的运动矢量预测器与运动矢量差值相加来获得当前块的运动矢量。在这种情况下,可以从编码器用信号发送运动矢量差值。编码器可以编码运动矢量差值以生成并用信号发送表示运动矢量差值的信息。在下文中,将描述根据本发明的实施例的用信号发送运动矢量差值的方法。
图9是图示根据本发明的实施例的用信号发送当前块的运动矢量差值的方法的图。根据实施例,指示运动矢量差值的信息可以包括运动矢量差值的绝对值信息和运动矢量差值的符号信息中的至少一个。可以单独地编码运动矢量差值的绝对值和符号。
根据实施例,可以不将运动矢量差值的绝对值作为值本身用信号发送。编码器可以通过使用指示运动矢量差值的绝对值的特性的至少一个标志来减小待用信号发送的值的量值。解码器可以通过使用至少一个标志,由发信号发送的值来导出运动矢量差值的绝对值。
例如,至少一个标志可以包括指示运动矢量差值的绝对值是否大于N的第一标志。在这种情况下,N可以是整数。当运动矢量差值的绝对值的量值大于N时,(运动矢量差值的绝对值-N)的值可以与激活的第一标志一起被用信号发送。在这种情况下,激活的标志可以指示运动矢量差值的绝对值的量值大于N的情况。解码器可以基于激活的第一标志和用信号发送的值来获得运动矢量差值的绝对值。
参考图9,可以用信号发送指示运动矢量差值的绝对值是否大于“0”的第二标志abs_mvd_greater0_flag。当第二标志abs_mvd_greater0_flag[]指示运动矢量差值的绝对值不大于“0”时,运动矢量差值的绝对值可以是“0”。另外,当第二标志abs_mvd_greater0_flag指示运动矢量差值的绝对值大于“0”时,解码器可以使用关于运动矢量差值的其它信息来获得运动矢量差值的绝对值。
根据实施例,可以用信号发送指示运动矢量差值的绝对值是否大于“1”的第三标志abs_mvd_greater1_flag。当第三标志abs_mvd_greater1_flag指示运动矢量差值的绝对值不大于‘1’时,解码器可以确定运动矢量差值的绝对值为‘1’。
相反,当第三标志abs_mvd_greater1_flag指示运动矢量差值的绝对值大于‘1’时,解码器可以使用关于运动矢量差值的另一信息来获得运动矢量差值的绝对值。例如,可以用信号发送abs_mvd_minus2的值(运动矢量差值的绝对值-2)。这是因为,当运动矢量差值的绝对值大于‘1’时,运动矢量差值的绝对值可以是2或更大的值。
如上所述,当前块的运动矢量差值的绝对值可以被变形为至少一个标志。例如,运动矢量差值的变形绝对值可以根据运动矢量差值的量值表示(运动矢量差值的绝对值-N)。根据实施例,可以通过至少一比特用信号发送运动矢量差值的变形绝对值。在这种情况下,用信号发送以指示运动矢量差值的变形绝对值的比特数可以是可变的。编码器可以使用可变长度二值化方法对运动矢量差值的变形绝对值进行编码。例如,编码器可以将截断一元二值化、一元二值化、截断莱斯或指数哥伦布二值化中的至少一个用作可变长度二值化方法。
另外,可以通过符号标志mvd_sign_flag用信号发送运动矢量差值的符号。同时,运动矢量差值的符号可以通过符号比特隐藏来隐式地用信号发送。
同时,上述当前块的运动矢量差值可以以特定分辨率为单位用信号发送。在本公开中,运动矢量差值的分辨率可以指示用信号发送运动矢量差值的单位。即,在本公开中,除图片的分辨率以外的分辨率可以表示用信号发送运动矢量差值的精度或粒度。运动矢量差值的分辨率可以以样本或像素为单位表示。例如,可以使用样本单位(诸如四分之一、二分之一、一个、两个或四个样本单位)来表示运动矢量差值的分辨率。另外,随着当前块的运动矢量差值的分辨率变小,当前块的运动矢量差值的精度可以增加。
根据本发明的实施例,可以基于各种分辨率用信号发送运动矢量差值。根据实施例,可以将运动矢量差值的绝对值或变形绝对值用信号发送为以整数样本为单位的值。可替代地,运动矢量差值的绝对值可以用信号发送为以1/2子像元(subpel)为单位的值。也就是说,运动矢量差值的分辨率可以根据情况而不同地设置。根据本发明的实施例的编码器和解码器可以通过适当地利用运动矢量差值的各种分辨率来有效地用信号发送当前块的运动矢量差值。
根据实施例,对于块、编译单元、切片或图块中的至少一个的每个单元,可以将运动矢量差值的分辨率设置为不同的值。例如,第一块的运动矢量差值的第一分辨率可以是1/4样本的单位。在这种情况下,可以用信号发送“64”,其是通过将运动矢量差值的绝对值“16”除以第一分辨率而获得的值。另外,第二块的运动矢量差值的第二分辨率可以是整数样本单位。在这种情况下,可以用信号发送“16”,其是通过将第二运动矢量差值的绝对值“16”除以第二分辨率而获得的值。像这样,即使当运动矢量差值的绝对值相同时,也可以根据分辨率用信号发送不同值。在这种情况下,当通过将运动矢量差值的绝对值除以分辨率获得的值包括小数位时,可以将舍入函数应用于相应的值。
编码器可以基于运动矢量差值的分辨率用信号发送指示运动矢量差值的信息。解码器可以从用信号发送的运动矢量差值获得修改的运动矢量差值。解码器可以基于分辨率差值的分辨率来修改运动矢量差值。当前块的用信号发送的运动矢量差值valuePerResolution和修改的运动矢量差值valueDetermined之间的关系由下面的等式1表示。在下文中,在本公开中,除非另有说明,否则运动矢量差值指示修改的运动矢量差值valueDetermined。另外,用信号发送的运动矢量差值表示在通过分辨率修改之前的值。
[等式1]
valueDetermined=resolution*valuePerResolution
在等式1中,分辨率表示当前块的运动矢量差值的分辨率。即,解码器可以通过将当前块的用信号发送的运动矢量差值乘以分辨率来获得修改的运动矢量差值。接下来,解码器可以基于修改的运动矢量差值获得当前块的运动矢量。另外,解码器可以基于当前块的运动矢量来重构当前块。
当将相对小的值用作当前块的运动矢量差值的分辨率时(即,当精度高时),可能有利的是更精确地表示当前块的运动矢量差值。然而,在这种情况下,由于用信号发送的值本身变大,因此当前块的运动矢量差值的信令开销可能增加。相反,当将相对较大的值用作当前块的运动矢量差值的分辨率时(即,当精度低时),可以通过减小用信号发送的值的量值来减小运动矢量差值的信令开销。即,当运动矢量差值的分辨率大时,可以通过比在当前块的运动矢量差值的分辨率小时相比更少的比特数,用信号发送当前块的运动矢量差值。然而,在这种情况下,可能难以精确地表示当前块的运动矢量差值。
因此,编码器和解码器可以根据情况,从多个分辨率当中选择用于用信号发送运动矢量差值的有利分辨率。例如,编码器可以基于情况用信号发送所选择的分辨率。另外,解码器可以基于用信号发送的分辨率来获得当前块的运动矢量差值。在下文中,将描述根据本发明的实施例的用信号发送当前块的运动矢量差值的分辨率的方法。根据本发明的实施例,当前块的运动矢量差值的分辨率可以是包括在分辨率集的多个可用分辨率中的任何一个。在此,多个可用分辨率可以指示在特定情况下可用的分辨率。另外,分辨率集中包括的可用分辨率的类型和数量可以根据情况而变化。
图10是图示根据本发明的实施例的编译单元和变换单元的图。
图10(a)是图示根据本发明的实施例的编译单元的图,以及图10(b)是图示根据本发明的实施例的变换单元的图。
根据本发明的实施例,可以存在对其执行变换的块单元。例如,对其执行变换的块单元可以小于或等于编译单元(CU),或者可以小于或等于对其执行预测的块单元。另外,对其执行变换的块单元的大小可能受最大变换大小限制。例如,对其执行变换的块单元的宽度或高度可能受最大变换大小限制。具体地,对其执行变换的块单元的宽度或高度可以小于或等于最大变换大小。另外,最大变换大小可以取决于变换块的色差分量(即,亮度分量和色度分量)而变化。在这种情况下,可以将对其执行变换的块单元表示为变换单元(TU)。如果编译单元或预测单元(PU)大于最大变换大小,则可以将编译单元或预测单元分区以生成多个变换单元。可以分割多个变换单元当中,大于最大变换大小的变换单元,并且可以生成多个变换单元。通过该过程生成的多个变换单元的大小可以均小于或等于最大变换大小。在本发明中,单元(块)的大小大于最大变换大小的事实可能意味着单元(块)的宽度或高度大于最大变换大小。同时,单元(块)的大小小于或等于最大变换大小的事实可能意味着单元(块)的宽度和高度两者都小于或等于最大变换大小。根据本发明的实施例,可以在诸如当执行帧内预测时、当处理残差信号时等的情况下执行基于最大变换大小分区变换单元的操作。可以递归地执行基于最大变换大小分区变换单元的操作,并且可以执行该操作直到变换单元的大小变得小于或等于最大变换大小。
参考图10(a),编译单元的宽度和高度可以分别被表示为cbWidth和cbHeight。参考图10(b),变换单元的宽度和高度可以分别被表示为tbWidth和tbHeight。最大变换大小可以被表示MaxTbSizeY。具体地,MaxTbSizeY可以是用于亮度分量的最大变换大小。当变换单元的大小大于最大变换大小并且因此需要分割变换单元时,在分区之前的变换单元的tbWidth及tbHeight可以分别是cbWidth及cbHeight。即,可以根据变换单元的宽度或高度是否大于最大变换大小来分区变换单元,并且可以更新tbWidth或tbHeight。例如,参考图10(a),cbWidth大于MaxTbSizeY。在这种情况下,可以分割变换单元。在分割变换单元之前,变换单元的tbWidth及tbHeight可以分别是cbWidth及cbHeight。参考图10(b),由于tbWidth大于MaxTbSizeY,因此TU可以被分区成变换单元1和变换单元2。在这种情况下,作为新变换单元的宽度(分区之后的变换单元的宽度)的newTbWidth可以是tbWidth/2。
本说明书中所描述的变换单元(TU)分区可以是指分区包括在TU中的变换块(TB)。
在本说明书中,可以互换地使用单元和块。另外,该单元可以是包括根据色差分量的一个或多个块的概念。例如,单元可以是包括用于亮度的块和用于色度的一个或多个块的概念。
图11是图示根据本发明的实施例的变换树语法的图。
图11的语法可以是用于执行参考图10描述的TU的分区的语法。
可以从编译单元语法或预测单元语法调用图11所示的变换树语法。在这种情况下,作为变换树语法的输入值的tbWidth及tbHeight可以是参考图10所描述的cbWidth及cbHeight。另外,解码器可以检查tbWidth是否大于最大变换大小MaxTbSizeY或tbHeight是否大于MaxTbSizeY。作为检查的结果,当tbWidth或tbHeight大于MaxTbSizeY时,可以执行TU分区,并且可以再次调用变换树语法。否则,可以调用变换单元语法。在这种情况下,当再次调用变换树语法时,可以更新输入值。例如,当tbWidth或tbHeight大于MaxTbSizeY时,可以将输入值分别更新为tbWidth/2和tbHeight/2。可以将图11中的更新的tbWidth和tbHeight表示为trafoWidth和trafoHeight。另外,在语法元素transform_tree(x0,y0,tbWidth,tbHeight,treeType)中,x0及y0可以是指示对其应用变换树语法的块的位置的水平和垂直坐标值。解码器可以使用trafoWidth及trafoHeight的值来解析语法元素transform_tree(x0,y0,trafoWidth,trafoHeight,treeType)。当tbWidth大于MaxTbSizeY时,解码器可以解析语法元素transform_tree(x0+trafoWidth,y0,trafoWidth,trafoHeight,treeType)。当tbHeight大于MaxTbSizeY时,解码器可以解析语法元素transform_tree(x0,y0+trafoHeight,trafoWidth,trafoHeight,treeType)。当tbWidth大于MaxTbSizeY并且tbHeight大于MaxTbSizeY时,解码器可以解析语法元素transform_tree(x0+trafoWidth,y0+trafoHeight,trafoWidth,trafoHeight,treeType)。在这种情况下,多次调用变换树语法“transform_tree()”的过程的顺序在编码器、解码器匹配或编译性能方面可能很重要。在这种情况下,顺序可以遵循预设顺序,并且预设顺序可以是根据图11中公开的语法的顺序。
另外,当在编译单元或预测单元中首次调用图11的变换树语法时,tbWidth、tbHeight、x0和y0可以是基于亮度分量设置的值。例如,当亮度块的大小为16×16时,根据色度格式的色度块的大小可以是8×8。在这种情况下,即使解码器解析用于色度块的变换树语法,tbWidth和tbHeight值也可以分别是16和16。
另外,可以解析图11的变换树语法,而不管treeType值如何。treeType指示亮度分量的块结构与色度分量的块结构是相同还是不同。例如,当treeType为SINGLE_TREE时,亮度分量的块结构和色度分量的块结构可以相同。同时,当treeType不为SINGLE_TREE时,亮度分量的块结构和色度分量的块结构可以不同。当treeType为DUAL_TREE_LUMA时,亮度分量的块结构和色度分量的块结构可以不同。在这种情况下,treeType可以指示用于亮度分量的树或指示解析用于亮度分量的变换树语法。另一方面,当treeType为DUAL_TREE_CHROMA时,亮度分量的块结构和色度分量的块结构可以不同。在这种情况下,treeType可以指示用于色度分量的树或指示解析用于色度分量的变换树语法。
图12是图示根据本发明的实施例的帧内块中的解码过程的图。
图12是图示变换单元分区和帧内预测过程的说明的图。
在参考本说明书的附图描述的实施例中,定义了所使用的术语。
(xTb0,yTb0):当前变换块的左上样本位置的坐标。
nTbW:当前变换块的宽度。
nTbH:当前变换块的高度。
图12中所公开的条款8.4.1示出编译单元的亮度块的解码过程和色度块的解码过程。色度块的解码过程可以包括Cb块的解码过程和Cr块的解码过程。参考图12的条款8.4.1,不同的输入可以被用于亮度块的解码过程和色度块的解码过程,并且解码器可以使用不同的输入来执行图12的条款8.4.5.1中公开的操作。
图12的条款8.4.1中公开的cbWidth和cbHeight可以是指当前编译块的宽度和高度,并且cbWidth和cbHeight的值可以是基于亮度样本的值。例如,如果亮度块大小为16×16,则根据色度格式,色度块大小可以是8×8。在这种情况下,用于色度编译块的cbWidth和cbHeight的值可以分别为16和16。另外,图12中公开的(xCb,yCb)可以指示当前编译块的坐标,或者可以是当前编译块的左上样本的坐标值。在这种情况下,可以基于当前图片的左上样本的坐标来设置坐标值。另外,(xCb,yCb)可以是基于亮度样本表示的值。
参考图12的条款8.4.1,当treeType是SINGLE_TREE或DUAL_TREE_LUMA时,解码器可以对亮度块执行解码过程。在这种情况下,可以调用图12中公开的条款8.4.5.1,此时的样本位置输入可以是(xCb,yCb),并且块的宽度和高度可以分别是cbWidth和cbHeight。另外,指示颜色分量的cIdx的值可以是0。
当treeType为SINGLE_TREE或DUAL_TREE_CHROMA时,解码器可以对色度块执行解码过程。在这种情况下,可以调用在图12中所公开的条款8.4.5.1,并且可以针对Cb块和Cr块中的每一个调用。在这种情况下,样本位置输入可以是(xCb/SubWidthC,yCb/SubHeightC),并且该块的宽度和高度可以分别是cbWidth/SubWidthC和cbHeight/SubHeightC。在这种情况下,cIdx的值可以不是0,并且cIdx的值对于Cb块可以被设置为1,对于Cr块可以被设置为2。SubWidthC和SubHeightC可以是基于色度格式的预设值。SubWidthC及SubHeightC的值可以为1或2,并且可以是用于亮度分量和色度分量之间的关系的值。稍后将参考图14至图15描述SubWidthC和SubHeightC。
当解码器执行图12的条款8.4.5.1中所公开的解码过程时,输入可以处于转换状态以对应于亮度块和色度块。例如,图12的条款8.4.5.1中所公开的块宽度nTbW、块高度nTbH和样本位置坐标(xTb0,yTb0)可以在执行色度块的解码过程时,基于色度样本的数量来确定,并且可以在执行亮度块的解码过程时,基于亮度样本的数量来确定。
上述TU分区可以通过图12的条款8.4.5.1来执行。图12中所公开的maxTbWidth和maxTbHeight分别是指示对应于颜色分量的最大变换大小的值,并且可以是对应于宽度和高度的值。如上所述,MaxTbSizeY可以是亮度块的最大变换大小。因此,对于色度块(即,当cIdx不为0时),maxTbWidth可以是MaxTbSizeY/SubWidth,并且maxTbHeight可以是MaxTbSizeY/SubHeightC。对于亮度块,maxTbWidth和maxTbHeight两者都可以是MaxTbSizeY。
另外,参考图12的8-43,可以基于亮度来转换坐标(xTbY,yTbY),并且在这种情况下,可以基于cIdx、SubWidthC和SubHeightC来计算坐标。
图12中描述的解码过程应当匹配语法结构。也就是说,图12的解码过程应当匹配图11的语法结构。
当在图12的条款8.4.5.1中nTbW大于maxTbWidth或nTbH大于maxTbHeight时,可以执行图12的条款8.4.5.1中公开的步骤1至5。参考图12的步骤1,可以用newTbW和newTbH更新块的宽度nTbW和高度nTbH。具体地,如果nTbW大于maxTbWidth,则将该块的宽度更新为nTbW/2,否则,该块的宽度保持nTbW。如果nTbH大于maxTbHeight,则将该块的高度更新为nTbH/2,否则,块高度保持nTbH。参考图12的步骤2,通过将坐标(xTb0,yTb0)、newTbW和newTbH用作输入,可以再次调用图12的条款8.4.5.1。参考图12的步骤3,如果nTbW大于maxTbWidth,则可以通过将坐标(xTb0+newTbW,yTb0)、newTbW和newTbH用作输入来再次调用图12的条款8.4.5.1。参考图12的过程4,如果nTbH大于maxTbHeight,则可以通过将坐标(xTb0,yTb0+newTbH)、newTbW和newTbH用作输入来再次调用图12的章节8.4.5.1。参考图12的步骤5,如果nTbW大于maxTbWidth并且nTbH大于maxTbHeight,则可以通过将坐标(xTb0+newTbW,yTb0+newTbH)、newTbW和newTbH用作输入来再次调用图12的条款8.4.5。图12的步骤2至5可以与图11中再次调用变换树语法的过程相同。
同时,如果nTbW小于或等于maxTbWidth并且nTbH小于或等于maxTbHeight,则可以执行除了图12的步骤1至5之外的过程。在这种情况下,除了图12的步骤1至5之外的过程可以是与实际帧内预测、残差信号解码、变换和重构相关的过程。
图13是图示根据本发明的实施例的残差信号的解码过程的图。
在图13中公开的内容中,将省略与上述内容冗余的内容。
当应用帧间预测、帧内块复制(IBC)预测等时,可以执行图13中公开的解码过程。另外,图13可以公开上文所述的TU分区。
参考图13的S1301,可以对每个颜色分量执行调用图13的章节8.5.8的步骤。在这种情况下,如参考图12所述,可以使用对应于每个颜色分量的输入来执行图13的条款8.5.8的解码过程。作为图13的条款8.5.8的解码过程的输入的样本位置的坐标(xTb0,yTb0)、块宽度nTbW和块高度nTbH对于亮度块可以是(xCb,yCb)、CbWidth、CbHeight,并且对于色度块可以是(xCb/SubWidthC,yCb/SubHeightC)、cbWidth/SubWidthC和cbHeight/SubHeightC。另外,指示颜色分量的cIdx值可以在块为亮度分量时被设定为0,并且在块为色度分量时被设定为除0以外的值。例如,当块为Cb分量时,cIdx值可以被设定为1,并且当块为Cr分量时,cIdx值可以被设定为2。
当执行图13的条款8.5.8的解码过程时,(xTb0,yTb0)、nTbW和nTbH可以是对应于每个颜色分量的值。即,(xTb0,yTb0)、nTbW和nTbH可以是对应于每一颜色分量的样本数量的值。
参考图13的8-849和8-850,可以针对每一颜色分量自适应地计算最大变换大小。另外,参考图13的8-852和8-853,基于nTbW或nTbH是否大于最大变换大小来更新块的宽度或块的高度,并且可以将其描述为newTbW和newTbH。图13的条款8.5.8的步骤2至5公开了再次调用条款8.5.8的过程,其可以与上文参考图12描述的内容相同。
同时,如果nTbW小于或等于maxTbWidth并且nTbH小于或等于maxTbHeight,则可以执行除了图13的步骤1至5之外的过程。在这种情况下,除了图13的步骤1至5之外的过程可以是与实际残差信号解码、变换等相关的过程。
图14是图示根据本发明的实施例的颜色分量之间的关系的图。
参考图14,与颜色分量相关的元素可以包括chroma_format_idc、色度格式、separate_colour_plane_flag等。
例如,当色度格式是单色时,可能仅存在一个样本阵列,并且SubWidthC和SubHeightC可以均为1。当色度格式为4:2:0采样时,可能存在两个色度阵列。在这种情况下,色度阵列可以具有亮度阵列的一半宽度和一半高度,并且SubWidthC和SubHeightC两者都可以是2。当色度格式为4:2:2采样时,可以存在两个色度阵列。在这种情况下,色度阵列可以具有亮度阵列的一半宽度和与亮度阵列相同的高度,并且SubWidthC及SubHeightC可以分别为2和1。当色度格式为4:4:4采样时,可能存在两个色度阵列。在这种情况下,色度阵列可以具有与亮度阵列相同的宽度和相同的高度,并且SubWidthC和SubHeightC可以均为1。
同时,当色度格式为4:4:4采样时,基于separate_colour_plane_flag执行的过程可以不同。当separate_colour_plane_flag为0时,色度阵列可以具有与亮度阵列相同的宽度和相同的高度。当separate_colour_plane_flag为1时,可以分别执行用于三个颜色平面(即,亮度、Cb和Cr)的过程。当separate_colour_plane_flag为1时,在一个切片中可以仅存在一个颜色分量。同时,当separate_colour_plane_flag为0时,在一个切片中可以存在多个颜色分量。如图14所示,当色度格式为4:4:4采样时,SubWidthC和SubHeightC两者均可以为1,与separate_colour_plane_flag无关。
SubWidthC和SubHeightC可以指示色度阵列与亮度阵列相比有多大,当色度阵列宽度或色度阵列高度是亮度阵列的一半时,SubWidthC或SubHeightC可以为2,并且当色度阵列宽度或高度与亮度阵列大小相同时,SubWidthC或SubHeightC可以是1。
参考图14,仅当色度格式是4:2:2采样时,SubWidthC和SubHeightC可以具有不同的值。因此,当色度格式为4:2:2采样时,基于亮度分量的宽度与高度之间的关系可以不同于基于色度分量的宽度与高度之间的关系。
图15是图示根据本发明的实施例的颜色分量之间的关系的图。
图15(a)图示了色度格式为4:2:0采样的情况,图15(b)图示了色度格式为4:2:2采样的情况,以及图15(c)图示了色度格式为4:4:4采样的情况。
参考图15(a),当色度格式为4:2:0采样时,在水平方向上可以定位每两个亮度样本的一个色度样本(一个Cb,一个Cr)。另外,在垂直方向上可以定位每两个亮度样本的一个色度样本(一个Cb,一个Cr)。
参考图15(b),当色度格式为4:2:2采样时,可以在水平方向上每两个亮度样本定位一个色度样本(一个Cb,一个Cr)。另外,可以在垂直方向上每亮度样本定位一个色度样本(一个Cb,一个Cr)。
参考图15(c),当色度格式为4:4:4采样时,可以在水平方向上每亮度样本定位一个色度样本(一个Cb,一个Cr)。另外,可以在垂直方向上每亮度样本定位一个色度样本(一个Cb,一个Cr)。
可以根据图15中所示的亮度样本与色度样本之间的关系来确定上述SubWidthC和SubHeightC,并且可以基于SubWidthC和SubHeightC来执行基于亮度样本的变换和基于色度样本的变换。
图16是图示根据本发明的实施例的最大变换大小的图。
最大变换大小可以是可变的,并且可以通过改变最大变换大小来调整编码器或解码器的复杂度。例如,当最大变换大小较小时,可以减小编码器或解码器的复杂度。
在本发明的实施例中,可以限制可以是最大变换大小的值。例如,最大变换大小可以限于两个值中的任一个。在这种情况下,两个值可以是32或64,并且可以是基于亮度的大小。
最大变换大小可以在较高级别用信号发送。在这种情况下,较高级别可以是包括当前块的级别。例如,诸如序列、序列参数、切片、图块、图块组、图片和编译树单元(CTU)的单元可以是较高级别。
参考图16,sps_max_luma_transform_size_64_flag可以是指示最大变换大小的标志。例如,当sps_max_luma_transform_size_64_flag的值为1时,最大变换大小可以是64,而当sps_max_luma_transform_size_64_flag的值为0时,最大变换大小可以是32。在这种情况下,最大变换大小可以是基于亮度样本的大小。
另外,MaxTbLog2SizeY可以是通过取最大变换大小的log2而获得的值。因此,MaxTbLog2SizeY可以是(sps_max_luma_transform_size_64_flag?6:5)。也就是说,当sps_max_luma_transform_size_64_flag的值为1时,MaxTbLog2SizeY值为6,而当sps_max_luma_transform_size_64_flag的值为0时,MaxTbLog2SizeY值为5。
另外,指示最大变换大小的MaxTbSizeY可以是(1<<MaxTbLog2SizeY)。即,如果MaxTbLog2SizeY的值为6,则比特向左位移6个空格,并且MaxTbSizeY的值变为64。如果MaxTbLog2SizeY的值为5,则比特向左位移5个空格,并且MaxTbSizeY的值变为32。
图16中所公开的MinTbSizeY可以是指示最小变换大小的值。
亮度编译树块的大小CtbSizeY或编译树单元CTU大小的大小可以是可变的。例如,当CtbSizeY小于64时,最小变换大小可以小于64。因此,当CtbSizeY小于64时,sps_max_luma_transform_size_64_flag的值可以为0。
下面在本发明中描述的CtbSizeY是指亮度编译树块的大小,具体地,指示亮度编译树块的宽度和高度。
图17是图示根据本发明的实施例的较高级别的语法的图。
参考图17,图17中所图示的语法结构可以是较高级别语法并且可以包括sps_max_luma_transform_size_64_flag。
另外,图17的语法结构可以包括log2_ctu_size_minus5。基于log2_ctu_size_minus5,可以确定亮度编译树块的CTU大小和大小CtbSizeY。例如,log2_ctu_size_minus5+5是CtbLog2SizeY,并且CtbLog2SizeY表示log2(CtbSizeY)。另外,CtbSizeY可以被确定为(1<<CtbLog2SizeY)。
另外,图17的语法结构可以包括sps_sbt_enabled_flag和sps_sbt_max_size_64_flag。sps_sbt_enabled_flag可以是指示是否可以使用子块变换(SBT)的标志。SBT可以仅变换CU或PU的一些样本。sps_sbt_max_size_64_flag可以是指示可以使用SBT的最大大小的标志。参考图17,当sps_sbt_enabled_flag指示可以使用SBT时(例如当sps_sbtenabled_flag的值为1时),可以用信号发送sps_sbt_max_size_64_flag。另一方面,当sps_sbt_enabled_flag指示可以不使用SBT时(例如,当sps_sbt_enabled_flag的值为0时),可以不用信号发送sps_sbt_max_size_64_flag。另外,当块的宽度和高度都小于可以使用SBT的最大大小时,可以使用SBT。
可以使用由sps_sbt_max_size_64_flag指示的SBT的最大大小可以包括32。另外,可以使用由sps_sbt_max_size_64_flag指示的SBT的最大大小可以是32或64。当最大变换大小小于可以使用由sps_sbt_max_size_64_flag指示的SBT的最大大小时,可以将可以使用SBT的最大大小设置为最大变换大小。参考图17的7-31,可以将最大变换大小MaxTbSizeY和可以使用由sps_sbt_max_size_64_flag指示的SBT的最大大小中的较小者设定为可以使用SBT的最大大小MaxSbtSize。
图17的语法结构可以包括sps_transform_skip_enabled_flag。sps_transform_skip_enabled_flag可以是指示变换跳过是否可使用的标志。在这种情况下,变换跳过可以指示不执行变换。
图18是图示根据本发明的实施例的变换树语法的图。
图18的变换树语法可以是用于支持参考图16至17描述的可变最大变换大小的语法。
当CU或PU的最大大小是最大变换大小的两倍并且使用固定最大变换大小时,可以使用图11至13中描述的语法和解码过程。具体地,当CU或PU的最大大小为128并且最大变换大小为64时,可以使用图11至13的实施例。在这种情况下,如果CU或PU大于最大变换大小并且因此TU被分割,则TU可以被分区成两个或四个。在分区中,TU可以在水平方向和垂直方向中的每一个上分区成多达两个TU。
然而,当使用可变最大变换大小时,或当支持小于常规最大变换大小的最大变换大小时,或当CU或PU的最大大小大于最大变换大小的两倍时,TU应当在水平和垂直方向上分别被分区成两个或两个以上。然而,存在参考图11至图13描述的语法和过程不支持这种分区的问题。
因此,为了解决该问题,将参考图18描述用于递归地执行仅在水平或垂直方向上将TU分区为两个的操作的语法。参考图18,当tbWdith大于MaxTbSizeY或tbHeight大于MaxTbSizeY时,可以再次调用图18的变换树语法“transform_tree()”。在这种情况下,可以调用“transform_tree()”两次(图18的(6)和(8)或图18的(6)和(10))。可以根据TU的第一分区方向来确定两次调用是图18的(6)和(8)还是图18的(6)和(10)。可以基于verSplitFirst来确定TU的第一分区方向。基于verSplitFirst调用的“transform_tree()”的输入可以不同。另外,可以基于verSplitFirst来确定两次调用是图18的(6)和(8)还是图18的(6)和(10)。tbWidth和tbHeight是块的宽度和高度,并且MaxTbSizeY是最大变换大小。
参考图18的(3),可以基于tbWidth、tbHeight和MaxTbSizeY来确定verSplitFirst值。
在本发明的实施例中,当tbWidth大于MaxTbSizeY并且tbWidth大于tbHeight时,verSplitFirst值可以被设置为1,否则,verSplitFirst值可以被设置为0。
作为图18的“transform_tree()”的输入的块的宽度和高度可以是图18的(6)、(8)和(10)中的trafoWidth和trafoHeight。可以基于verSplitFirst来确定trafoWidth和trafoHeight。例如,当verSplitFirst为1时,trafoWidth可以被设置为tbWidth/2,而当verSplitFirst为0时,trafoWidth可以被设置为tbWidth。另外,当verSplitFirst为0时,trafoHeight可以被设置为tbHeight/2,并且当verSplitFirst为1时,trafoHeight可以被设置为tbHeight。也就是说,作为图18的(6)、(8)和(10)的输入的trafoWidth和trafoHeight可以与现有块宽度和高度中的任何一个相同,而另一个可以是现有值的一半。换句话说,trafoWidth和trafoHeight可以是tbWidth/2、tbHeight,或者可以是tbWidth、tbHeight/2。
在本发明的实施例中,当tbWidth大于或等于MaxTbSizeY并且tbWidth大于或等于tbHeight时,可以将verSplitFirst设置为1,否则可以将verSplitFirst设置为0。
块的宽度和高度可以通过图18的(4)和(5)来更新。在这种情况下,所更新的块的宽度和高度可以是trafoWidth和trafoHeight。作为图18的(6)的输入,即再次调用的“transform_tree()”,可以使用trafoWidth和trafoHeight。图18的(6)可以是利用坐标(x0,y0)、trafoWidth和trafoHeight作为输入调用“transform_tree()”的过程。也就是说,图18的(6)可以是利用与作为现有“transform_tree()”的输入的坐标相同的坐标、以及更新块的宽度(即,trafoWidth)或更新块的高度(即,trafoHeight)作为输入,调用“transform_tree()”的过程。
基于verSplitFirst,可以执行图18的(8)或(10)。当执行图18的(8)时,可以调用利用坐标(x0+trafoWidth,y0)、trafoWidth和trafoHeight作为输入的“transform_tree()”。当执行图18的(10)时,可以调用利用坐标(x0,y0+trafoHeight)、trafoWidth和trafoHeight作为输入的“transform_tree()”。也就是说,调用与现有“transform_tree()”中除了与图18的(6)对应的块之外的剩余块(因为坐标彼此不同)相对应的“transform_tree()”可以是图18的(8)和(10)。
可以递归地执行调用“transform_tree()”的步骤。
当tbWidth小于或等于MaxTbSizeY并且tbHeight小于或等于MaxTbSizeY时,可以调用“transform_unit()”。
图18中的x0、y0、tbWidth和tbHeight可以是基于亮度样本的值,并且可以与图11中所描述的值相同。因此,可以利用基于亮度样本的值执行用于确定verSplitFirst的大小比较。这是因为,当大小比较是基于色度样本时,即使当变换块(单元)的宽度和高度相同时,也可能发生色度块的tbWidth大于tbHeight的情况。例如,当色度格式是4:2:2采样时,可能发生tbWidth大于tbHeight并且tbWidth/SubWidthC等于tbHeight/SubHeightC的情况。
图19是图示根据本发明的实施例的TU分区的图。
图19中所图示的TU的分区可以指示根据图18的语法的分区。例如,当块宽度tbWidth大于最大变换大小MaxTbSizeY并且块宽度tbWidth大于块高度tbHeight时,如图19所示,可以应用将TU分区成左(1)TU和右(2)TU的垂直分区。如果verSplitFirst的值为1,如图18所述,则TU可以被分区成左和右TU的两个TU,如图19所示。在这种情况下,可以通过再次调用的“transform_tree()”来再次分区TU。图19图示了tbHeight也大于最大变换大小MaxTbSizeY的情况。可以在图19的左TU((1))内部进行分割,并且可以在图19的右TU((2))内部进行分区。根据图18的语法,由于递归地调用“transform_tree()”,因此可以在解析或执行与在左TU((1))中进行的分区相关的所有操作之后,解析或执行与在左TU((2))中进行的分区相关的所有操作。同时,当块的宽度小于最大变换大小或块的宽度小于块的高度时,可以将verSplit的值确定为0。在这种情况下,可以通过应用水平分区来将TU分区成上TU和下TU。
图20是图示根据本发明的实施例的TU分区的图。
图20的TU分区可以是根据参考图11至图13描述的实施例的TU分区。例如,当块的宽度tbWidth大于最大变换大小MaxTbSizeY并且块的高度tbHeight大于MaxTbSizeY时,一次可以将一个TU分区成四个TU,如图20所示。另外,参考图11至图13的实施例,可以存在对分区的TU执行解码过程的预设顺序。作为预设顺序的示例,可以按照图20的(a)、(b)、(c)和(d)的顺序执行解码过程。
然而,由于对应于图19的(1)的区域是图20的(a)和(c),并且对应于图19的(2)的区域是图20的(b)和(d),因此可能存在对图19和20的分区的TU执行解码过程的顺序彼此不同的问题。另外,当语法顺序和解码过程顺序彼此不同时,当语法中的块顺序和解码过程中的块顺序彼此不同时,存在实现复杂度增加的问题。这是因为,在某个块的解码过程中,应当应用与应用于每个块的解码过程相对应的语法。
如在图19和图20的实施例中,块的解码过程顺序彼此不同的情况可以是tbWidth可能大于MaxTbSizeY并且tbWidth可能大于tbHeight的情况。具体地,可以是tbWidth大于MaxTbSizeY、tbWidth大于tbHeight,并且tbHeight大于MaxTbSizeY的情况。例如,当MaxTbSize为32、tbWidth为128并且tbHeight为64时,块的解码过程顺序可以不同。
图21是图示根据本发明的实施例的解码过程的图。
图21中公开的内容与帧内块相关,但不限于此,并且可适用于TU分区的其他实施例,诸如残差信号解码过程。
图21中公开的解码过程是与图18的语法对应的解码过程。
为了解决图20的实施例等中描述的上述问题,需要改变与TU分区相关的解码过程。如上所述,本文描述的TU分区可以具有与TB分区相同的含义。图21中公开的解码过程可以被定义为将TB分区为两个并且递归地操作的形式。例如,TB可以基于verSplitFirst被分区成两个。参考图21的8-41和8-42,可以以与图12的实施例中相同的方式确定maxTbWidth和maxTbHeight。另外,图21的nTbW和nTbH可以是基于每个颜色分量设定的值。maxTbWidth和maxTbHeight指示最大变换块的宽度和高度,并且nTbW和nTbH指示块的宽度和高度。
例如,当nTbW大于maxTbWidth并且nTbW大于nTbH时,verSplitFirst可以被设置为1,否则verSplitFirst可以被设置为0。另外,当verSplitFirst为1时,newTbW可以被设置为nTbW/2,否则可以被设置为nTbW(图21中的8-44)。另外,当verSplitFirst为0时,newTbH可以被设置为nTbH/2,否则可以被设置为nTbH(图21中的8-45)。
同时,如果在图18公开的语法中不同地定义verSplitFirst,则可以不同地定义图21的verSplitFirst。例如,在图18中,当tbWidth大于MaxTbSizeY并且tbWidth大于或等于tbHeight时,verSplitFirst被设置为1,否则,如果verSplitFirst被设置为0,则图21的verSplitFirst可以被设置为1,否则,当nTbW大于maxTbWidth并且nTbW大于或等于nTbH时,verSplitFirst可以被设置为0。
在图21的步骤2中,可以再次调用图21中公开的条款8.4.5.1。在这种情况下,样本位置(xTb0,yTb0)的坐标、newTbH和newTbH可以被用作输入。当如图19的左TU(1)分区TU时,这些输入可以用于第一(左或上)TU。
另外,在图21的步骤3或4中,可以基于verSplitFirst再次调用图21的章节8.4.5.1。当如图19的右TU(2)部分分区TU时,这些输入可以用于第二(右或下)TU。在图21的步骤3中,当调用图21的条款8.4.5.1时,坐标(xTb0+newTbW,yTb0)、newTbH和newTbH可以被用作输入。在图21的步骤4中,当调用图21的条款8.4.5.1时,坐标(xTb0,yTb0+newTbH)、newTbH和newTbH可以被用作输入。
如上所述,在图18中,tbWidth和tbHeight可以是基于亮度的值,并且在图21中,nTbW和nTbH可以是基于每个颜色分量的值。因此,当对色度分量的块执行图21中公开的解码过程时,在图18的语法与图21的解码过程之间可能发生不匹配。例如,tbWdith和nTbW之间的关系可以如下。在块具有亮度分量的情况下,tbWidth可以等于nTbW,并且tbHeight可以等于nTbH。在色度分量的块的情况下,tbWidth/SubWidthC可以等于nTbW,并且tbHeight/SubHeightC可以等于nTbH。因此,图18所示的比较块的宽度和高度以确定verSplit的部分的结果和图21的步骤1所示的比较块的宽度和高度以确定verSplit的部分的结果可以彼此不同。例如,存在图18的tbWidth>tbHeight的结果和图21的nTbW>nTbH的结果可能不同的问题,因此,图18和21的verSplitFirst值不同。
图22是图示根据本发明的实施例的解码过程的图。
图22中公开的内容与帧内块相关,但不限于此,并且可以适用于TB分区的其他实施例,诸如残差信号解码过程。在图22中公开的内容中,将省略与上述内容相同的内容。
图22中公开的内容可以是与图18中公开的语法相对应的解码过程。另外,将参考图22描述用于解决参考图20至图21描述的问题的解码过程,特别是与TB分割相关的解码过程。
参考图22,作为帧内块解码过程或残差信号解码过程的输入,可以包括指示块的位置的坐标(xTb0,yTb0)、指示块的宽度的nTbW、指示块的高度的nTbH、指示颜色分量的cIdx、指示树结构的treeType等。在这种情况下,nTbW和nTbH可以是变换块的宽度和高度。即,nTbW和nTbH可以是基于当前块的颜色分量的宽度和高度。例如,当色度子采样为4:2:0时,如果亮度块的宽度和高度分别为16和16,则对于色度块(当cIdx不为0时),图22中所公开的解码过程的nTbW和nTbH可以分别为8和8。
参考图22的8-41,可以基于cIdx和SubWidthC来确定maxTbWidth。例如,当cIdx为0时,maxTbWidth为MaxTbSizeY,而当cIdx不为0时,可以基于MaxTbSizeY和SubWidthC来确定maxTbWidth。当cIdx不为0时,可以将maxTbWidth设置为MaxTbSizeY/SubWidthC。
参考图22的8-42,可以基于cIdx和subHeightC来确定maxTbHeight。例如,当cIdx为0时,maxTbHeight为MaxTbSizeY,而当cIdx不为0时,可以基于MaxTbSizeY和SubHeightC来确定maxTbHeight。当cIdx不为0时,maxTbHeight可以被设置为MaxTbSizeY/SubHeightC。
当nTbW大于maxTbWidth或nTbH大于maxTbHeight时,可以使用其它输入再次调用图22中所公开的解码过程。例如,解码过程可以被调用两次。另外,可能发生递归调用的情况。当再次调用图22中公开的解码过程时,TB可以被分割。
根据本发明的实施例,当TB被分割时,可以基于nTbW、nTbH、MaxTbSizeY、cIdx、SubWidthC和SubHeightC来分区TB。可替代地,当TB被分割时,可以基于nTbW、nTbH、maxTbWidth、cIdx、SubWidthC和SubHeightC来分区TB。可替代地,可以基于verSplitFirst值来分区TB。
可以基于cIdx来确定verSplitFirst值。例如,当cIdx为0时,可以基于nTbW、nTbH和maxTbWidth来确定verSplitFirst值。当cIdx为0时,可以确定verSplitFirst值,而不考虑SubWidthC和SubHeightC。同时,当cIdx不为0时,即,当cIdx为1或2时,可以基于nTbW、nTbH、maxTbWidth、SubWidthC和SubHeightC来确定verSplitFirst值。
另外,可以基于一个或多个条件来确定verSplitFirst值。例如,可以基于块的宽度是否大于最大变换大小来确定verSplitFirst。可以基于块的高度是否大于最大变换大小来确定verSplitFirst。在这种情况下,块的宽度和块的高度是否大于最大变换大小的结果与该结果是基于亮度块还是色度块无关。换句话说,无论基于什么颜色分量,都不会影响结果。因此,参考图22,使用基于每个颜色分量的输入来检查上述条件。这可以是为了避免变换到基于亮度的值的计算。
另外,用于确定verSplitFirst值的一个或多个条件可以是基于块的宽度和高度的条件。例如,可以根据块的宽度是否大于块的高度来确定verSplitFirst值。在这种情况下,块的宽度和高度可以是具有亮度分量的块的值。换句话说,解码器可以通过在基于亮度像素和亮度分量的值的基础上比较块的宽度和块的高度来确定verSplitFist值。也就是说,当cIdx为0时(在亮度块的情况下),nTbW和nTbH可以被用于上述一个或多个条件,而当cIdx不为0时(在色度块的情况下),可以使用nTbW*SubWidthC和nTbH*SubHeightC。参考图22,当cIdx为0时,可以检查nTbW是否大于nTbH,而当cIdx不为0时,可以检查nTbW*SubWidthC是否大于nTbH*SubHeightC。
在这种情况下,当满足上述一个或多个条件时,可以将verSplitFirst值设置为1,否则(当不满足一个或多个条件中的至少一个时),可以将verSplitFirst值设置为0。
换句话说,解码器可以在比较块的宽度与最大变换大小时使用考虑颜色分量和色度格式的值,并且可以在比较块的宽度与块的高度时使用基于亮度分量的值。
如果通过等式表示上文参考图22描述的用于确定verSplitFirst值的条件,则可以将其表示为下面的等式2。
[等式2]
verSplitFirst=(nTbW>maxTbWidth&&(cldx==0?nTbW:nTbW*SubWidthC)>(cldx==0?nTbH:nTbH*SubHeightC))?1:0
再次参考等式2,当cIdx为0时,可以如在下面的等式3中确定verSplitFirst。
[等式3]
verSplitFirst=(nTbW>maxTbWidth&&nTbW>nTbH)?1:0
再次参考等式2,当cIdx不为0时(例如,当cIdx为1或2时),可以如在下面的等式4中确定verSplitFirst。
[等式4]
verSplitFirst=(nTbW>maxTbWidth&&nTbW*SubWidthC>nTbH*SubHeightC)?1:0
当比较等式2至4中的大小时,可以包括等号(=)。换句话说,可以检查nTbW是否大于或等于maxTbWidth。当cIdx为0时,可以检查nTbW是否大于或等于nTbH,而当cIdx不为0时,可以检查nTbW*SubWidthC是否大于nTbH*SubHeightC。在这种情况下,当比较大小时,等号(=)也可以被包括在图18的语法中。
参考图22的8-44和8-45,可以基于verSplitFirst值来确定newTbW和newTbH。例如,当verSplitFirst为1时,可以将newTbW确定为nTbW/2,并且可以将newTbH确定为nTbH。当verSplitFirst为0时,newTbW可以被确定为nTbW,并且newTbH可以被确定为nTbH/2。
参考图22,基于verSplitFirst,可以在图22的步骤2和3中再次调用解码过程,或者可以在步骤2和4中再次调用解码过程。
在图22的步骤2中,可以使用块的位置(xTb0,yTb0)、newTbW和newTbH再次调用解码过程。这可以是针对如图19的左TU(1)部分的分区的TU的第一(左或上)TU的。
在图22的步骤3中,可以使用块的位置(xTb0+newTbW,yTb0)、newTbW和newTbH再次调用解码过程。这可以是针对如图19的右TU(2)部分的分区的TU的第二(右)TU的。
在图22的步骤4中,可以使用块的位置(xTb0,yTb0+newTbH)、newTbW和newTbH再次调用解码过程。这可以是针对如图19的右TU(2)部分的分区的TU的第二(下)TU的。
图23是图示根据本发明的实施例的较高级别语法的图。
指示最大变换大小的语法元素可以基于CTU大小(CtbSizeY)或指示CtbSizeY的语法元素。例如,可以从候选中排除大于CTU大小的最大变换大小(CtbSizeY)和由指示CtbSizeY的语法元素指示的大小。当CTU大小、CtbSizeY和由指示CtbSizeY的语法元素指示的大小小于64时,可以从最大变换大小候选中排除大于或等于64的值。当存在用于最大变换大小的两个可能值时,可以基于CTU大小、CtbSizeY和由指示CtbSizeY的语法元素指示的大小来确定最大变换大小,无需指示最大变换大小的信令,并且可以确定最大变换大小的值。CTU大小是指编译树单元的宽度和高度,并且CtbSizeY指示亮度编译树块的大小并且是指色度编译树块的宽度和高度。
参考图23,指示最大变换大小的语法元素可以是sps_max_luma_transform_size_64_flag。表示最大变换大小的语法元素可以将最大变换大小表示为64和小于64的值。如果CtbSizeY小于64,则可以推断sps_max_luma_transform_size_64_flag而无需用信号发送。例如,如果当sps_max_luma_transform_size_64_flag的值为1时最大变换大小指示64,则当CtbSizeY小于64时,可以将sps_max_luma_transform_size_64_flag的值推断为等于0。可替代地,MaxTbLog2SizeY的值可以被确定为5,或MaxTbSizeY的值可以被确定为32。
如果最小CtbSizeY为32,则CtbSizeY小于64的情况可以与CtbSizeY为32的情况相同。例如,如果CtbSizeY为32,则可以将sps_max_luma_transform_size_64_flag的值推断为等于0,并且因此可以将最大变换大小(MaxTbSizeY)值确定为32。
图24是图示根据本发明的实施例的较高级别语法的图。
如果最大变换大小受到限制,则也相应地限制可以使用子块变换(SBT)的最大大小。例如,可以使用SBT的最大大小可以小于或等于最大变换大小。因此,指示可以使用SBT的最大大小的语法元素可以变化。例如,可以基于指示最大变换大小的语法元素或最大变换大小,用信号发送指示可以使用SBT的最大大小的语法元素。
参考图24,当最大变换大小小于64时,不用信号发送指示可以使用SBT的最大大小是否为64的语法元素,并且可以推断可以使用SBT的最大大小。指示可以使用SBT的最大大小为64的语法元素可以是sps_sbt_max_size_64_flag。参考图24,当sps_sbt_enabled_flag的值为1并且sps_max_luma_tranform_size_64_flag的值为1(即,sps_sbt_enabled_flag&&sps_max_luma_tranform_size_64_flag)时,用信号发送sps_sbt_max_size_64_flag,否则不用信号发送sps_sbt_max_size_64_flag。另外,当sps_sbt_max_size_64_flag不存在时,可以将sps_sbt_max_size_64_flag的值推断为等于0。可替代地,当sps_sbt_max_size_64_flag不存在时,其值可以被推断为sps_max_luma_tranform_size_64_flag的值。在这种情况下,如在图24的7-31中所公开的,当sps_sbt_max_size_64_flag为1时,可以将MaxSbtSize设定为64,而当sps_sbt_max_size_64_flag为0时,可以将MaxSbtSize设定为32。
图25是图示根据本发明的实施例的变换树语法的图。
在图25中,改变了用于确定参考图18的语法描述的verSplitFirst值的条件,并且将省略剩余的相同描述。
TU分区方法可以基于树类型treeType而不同。例如,当树类型为DUAL_TREE_CHROMA时,可以基于具有每一颜色分量(即,色度分量)的块,在宽度和高度的基础上,执行TU分区。在图18的实施例中,使用图18的(3)中公开的条件来确定verSplitFirst,但是在DUAL_TREE_CHROMA的情况下,可以使用图25的(2)中公开的条件来确定verSplitFirst。
当确定块的宽度和最大变换大小时,该确定是基于亮度还是基于每个颜色分量是不相关的,由此基于亮度的值可以被用于变换树语法“transform_tree()”的输入。然而,当比较块的宽度与高度时,可以使用基于色度分量的值。也就是说,可以比较tbWidth/SubWidthC和tbHeight/SubHeightC。具体地,可以检查tbWidth/SubWidthC是否大于tbHeight/SubHeightC。
因此,当树类型为双树时,可以以与亮度分量被用于TU分区时相同的为基础执行用于色度分量的TU分区。
参考图25,当树类型是SINGLE_TREE或DUAL_TREE_LUMA时,解码器可以通过执行图25的步骤(1)来确定verSplitFirst。也就是说,可以使用基于亮度分量的值来确定分区。当树类型为DUAL_TREE_CHROMA时,解码器可以通过执行图25的步骤(2)来确定verSplitFirst。即,可以使用基于色度分量的值来确定分区。
图26是图示根据本发明的实施例的解码过程的图。
图26中公开的解码过程的实施例可以是与图25中公开的语法对应的解码过程。如上所述,本文描述的TU分区可以具有与TB分区相同的含义。
可以基于cIdx、treeType等来确定其中确定TB分区或verSplitFirst的方法。例如,当cIdx为0时,可以通过使用基于每个颜色分量的块的宽度和块的高度来确定verSplitFirst。当树类型为DUAL_TREE_CHROMA时,可以通过使用基于每个颜色分量的块的宽度和块的高度来确定verSplitFirst。当cIdx不为0并且树类型不为DUAL_TREE_CHROMA(即,cIdx不为0并且树类型为SINGLE_TREE)时,可以通过使用基于亮度分量的块的宽度和块的高度来确定verSplitFirst。
即,当cIdx为0或树类型为DUAL_TREE_CHROMA(cIdx==0||treeType==DUAL_TREE_CHROMA)时,可以通过比较nTbW是否大于nTbH来确定verSplitFirst。也就是说,可以在不使用SubWidthC和SubHeightC的情况下确定verSplitFirst。当cIdx不为0并且树类型不为DUAL_TREE_CHROMA时(当cIdx!=0&&treeType!=DUAL_TREE_CHROMA时),可以通过比较nTbW/SubWidthC是否大于nTbH/SubHeightC来确定verSplitFirst。
最大变换跳过大小可以小于最大变换大小。例如,如果最大变换大小是可变的,则最大变换跳过大小可以相应地变化。因此,当最大变换大小可变时,用信号发送最大变换跳过大小的方法可以相应地变化。
最大变换大小和最大变换跳过大小可以相同。在这种情况下,当CU或PU的大小大于最大变换大小时,可以共享变换跳过是否被用于分区的TU。换句话说,当CU或PU的大小大于最大变换大小时,可以部分地省略指示变换跳过是否被用于分区的TU的语法元素的信令。这是因为当CU或PU的大小大于最大变换大小时,分区的TU的残差信号形状可以类似。共享是否在分区的TU中使用变换跳过或省略相关语法元素的信令可以限于当使用可变最大变换大小和可变最大变换跳过大小时最大变换大小和最大变换跳过大小相同的情况。在附加地分区的TU中共享是否使用变换跳过可限于变换跳过被用于用作参考的TU(例如,第一TU)的情况。也就是说,当变换跳过不用于用作参考的TU时,可以将是否使用变换跳过用信号发送到其它分区的TU。另外,如果将是否使用变换跳过用信号发送到以预设顺序分区的TU并且用信号发送变换跳过被用于特定TU,则不将指示是否使用变换跳过的语法元素用信号发送到后续TU,可以确定使用变换跳过。
当共享变换跳过是否用于分区的TU或省略相关语法元素的信令时,关于是否在CU或PU级别处使用变换跳过的语法元素的信令是可能的。
图27是图示根据本发明的实施例的执行BDPCM的方法的图。
基于块的增量脉码调制(BDPCM)可以是(帧内)预测方法或编译方法。另外,BDPCM在预测方法和残差信号生成方法中可以具有独特的特性。即,BDPCM可以是编译和用信号发送基于特定值(例如,残差信号或预测信号、图片样本或重构样本)的差的值的方法。例如,编码器可以用信号发送基于特定值的差的值,并且解码器可以基于信令重构特定值。在这种情况下,在解码器的重构过程中,由于应当相反地执行计算特定值的差的过程,可以通过基于用信号发送的值来执行加法过程,以重构特定值。BDPCM可以被描述为量化残差差分脉码调制(RDPCM)。
可以存在指示是否使用BDPCM的语法元素。例如,语法元素可以是BdpcmFlag或intra_bdpcm_flag。可以在CU级别处执行指示是否使用BDPCM的语法元素的信令。另外,可以存在指示是否可以使用BDPCM的较高级别处的语法元素。例如,指示是否使用BDPCM的较高级别处的语法元素可以是sps_bdpcm_enabled_flag。另外,用信号发送语法元素的较高级别可以是SPS级别、切片级别、图块级别或图块组级别。当指示是否使用BDPCM的较高级别处的语法元素的信令是可能的时,可以不执行指示是否使用BDCPM的语法元素的信令。另外,当指示是否使用BDPCM的较高级别处的语法元素的信令不可能时,可以不执行指示是否使用BDCPM的语法元素的信令。
BDPCM的预测模式可能是受限的。指示BDPCM的预测模式的语法元素可以是BdpcmDir或intra_bdpcm_dir_flag。当使用BDPCM时,预测模式可以是角度模式。具体地,当使用BDPCM时,预测模式可以是水平模式(模式18;INTRA_ANGULAR18)或垂直模式(模式50;INTRA_ANGULAR50)。因此,当使用BDPCM时,某一位置处的预测样本的值可以是与在水平模式下对应于该某一位置的左侧的参考样本相同的值。另外,当使用BDPCM并且在水平模式中时,对应于相同行的预测样本(即,具有相同y坐标的预测样本)可以具有相同值。另外,当使用BDPCM时,某一位置处的预测样本的值可以是与在垂直模式下,对应于该某一位置的上部的参考样本相同的值。另外,当使用BDPCM并且在垂直模式中时,对应于相同列的预测样本(即,具有相同x坐标的预测样本)可以具有相同值。
图27(a)是BDPCM的预测模式推导的图。参考图27(a),BDPCM的预测模式推导可以基于BdpcmDir。当在图27(a)中BdpcmFlag的值为1时,这可能意味着使用BDPCM。IntraPredModeY可以是指示预测模式的值。具体地,IntraPredModeY可以是指示用于亮度分量的预测模式的值。例如,可以基于BdpcmDir,将IntraPredModeY设置为INTRA_ANGULAR50或INTRA_ANGULAR18。当BdpcmDir的值为1时,将IntraPredModeY设置为INTRA_ANGULAR50,并且可以是垂直模式。另外,当BdpcmDir的值为0时,将IntraPredModeY设置为INTRA_ANGULAR18,并且可以是水平模式。可以基于IntraPredmodeY来执行预测操作。
可以存在用于BDPCM的残差信号生成方法或缩放和变换方法。如上所述,当使用BDPCM时,可以对基于特定值之间的差的值进行编译并用信号发送。例如,当使用BDPCM时,可以对以残差信号与基于残差信号的值之间的差为基础的值进行编译并用信号发送。对应于第一位置的样本的用信号发送的值可以是基于第一位置的第二位置的值与第一位置的值之间的差。具体地,对应于第一位置的样本的用信号发送的值可以是第一位置的值与第二位置的值之间的差,所述第二位置是与第一位置相邻的位置。对应于第一位置(x,y)的样本的用信号发送的值可以是第二位置(x-1,y)的值与水平模式中的第一位置的值之间的差。另外,对应于第一位置(x,y)的样本的用信号发送的值可以是垂直模式中的第二位置(x,y-1)的值与第一位置的值之间的差。在这种情况下,第二位置的值和第一位置的值可以是残差信号或基于残差信号的值。
图27(b)是图示当使用BDPCM时解码器中的操作的图。参考图27(b),dz可以是基于通过语法元素用信号发送的值创建的阵列。另外,在水平模式下,可以基于dz[x][y]和dz[x-1][y]设置dz[x][y]值。例如,在水平模式下,可以基于(dz[x-1][y]+dz[x][y])设置dz[x][y]值(参考图27(b)中的8-961)。当x大于0(不与块的左边界相切)时,可以执行该设置。当x为0时,dz[x][y]可以保持为dz[x][y]。在垂直模式下,可以基于dz[x][y]和dz[x][y-1]设置dz[x][y]值。在垂直模式下,可以基于(dz[x][y-1]+dz[x][y])来设置dz[x][y]值(图27(b)中的8-962)。当y大于0(不与块的上边界相切)时,可以执行该设置。当y为0时,dz[x][y]可以保持为dz[x][y]。基于求和(+)运算计算dz的原因是因为基于差(-)运算执行用信号发送的信号。例如,用信号发送的信号dz[x][y]可以是在水平模式中设定为(dz[x][y]-dz[x-1][y])的值,并且可以是在垂直模式中设定为(dz[x][y]-dz[x][y-1])的值。因此,为了重构这一点,解码器可以基于求和运算来执行计算。另外,基于dz[x][y]值,可以导出dnc[x][y],并且可以导出d[x][y](图27(b)中的8-963和8-964)。
在本发明的实施例中,可以基于d[x][y]执行变换。在这种情况下,执行变换可以包括执行变换跳过模式。也就是说,执行变换可以包括不执行基于变换矩阵的操作。当使用BDPCM时,可以始终使用变换跳过模式。当使用BDPCM时,作为指示是否使用变换跳过模式的语法元素的transform_skip_flag的值可以总是1。当使用变换跳过模式时,可以在没有将d[x][y]乘以矢量或矩阵的步骤的情况下确定残差信号。当使用变换跳过模式时,可以在不对d[x][y]执行除了位移或舍入之外的运算的情况下确定残差信号。例如,当使用变换跳过模式时,(d[x][y]<<tsShift)值可以是r[x][y],其是残差样本阵列值。在此,tsShift可以是基于变换块的宽度和高度确定的值。另外,可以基于r[x][y]来确定中间残差样本和残差样本。另外,BDPCM可以仅在应用变换跳过模式时可使用。这是因为当使用BDPCM时,变换跳过模式可使用。例如,仅当在较高级别用信号发送的语法元素指示变换跳过模式可使用时,可以执行指示BDPCM可使用的较高级别处的语法元素的信令。
图28是图示根据本发明的实施例的与BDPCM相关的语法的图。
当在指示BDPCM是否可使用的较高级别处用信号发送的语法元素指示BDPCM可使用时,可以使用BDPCM。参考图28,可以基于sps_bdpcm_enabled_flag来确定是否解析intra_bdpcm_flag。
另外,可以使用变换跳过的块大小可能是受限的。例如,可以使用变换跳过的块的宽度或高度的最大值可以是MaxTsSize。因此,当块的宽度小于或等于MaxTsSize并且块的高度小于或等于MaxTsSize时,可以使用变换跳过。另一方面,如果块的宽度大于MaxTsSize或块的高度大于MaxTsSize,则可以不使用跳过变换。由于在TU级别执行变换,因此块的宽度和高度可以是变换块的宽度和高度。在这种情况下,变换块的宽度可以被描述为tbWidth,而变换块的高度可以被描述为tbHeight。由于BDPCM使用变换跳过,因此可以基于MaxTsSize来确定BDPCM是否可使用。另外,可以在CU级别用信号发送BDPCM是否可使用。因此,可以基于编译块(CB)的宽度和高度(其可以被描述为cbWidth和cbHeight)以及MaxTsSize来确定是否使用BDPCM。例如,当cbWidth小于或等于MaxTsSize并且cbHeight小于或等于MaxTsSize时,可以使用BDPCM。当cbWidth大于MaxTsSize或cbHeight大于MaxTsSize时,BDPCM可能不可使用。参考图28,当cbWidth<=MaxTsSize并且cbHeight<=MaxTsSize时,可以解析intra_bdpcm_flag,并且当cbWidth>MaxTsSize或cbHeight>MaxTsSize时,可以不解析intra_bdpcm_flag。在这种情况下,当intra_bdpcm_flag不存在时,可以将其值推断为等于0。
根据本发明的实施例,可以选择MaxTsSize并将其用作多个值中的任何一个。例如,MaxTsSize可以是32或更小的值。可替代地,MaxTsSize可以是小于或等于MaxTbSizeY的值。可替代地,MaxTsSize可以是32、16、8或4中的一个。另外,可以存在用于确定MaxTsSize的语法元素。例如,可以用信号发送基于log2(MaxTsSize)的值。可以用信号发送log2_transform_skip_max_size_minusN,并且MaxTsSize可以是(1<<(log2_transform_skip_max_size_minusN+N))。具体地,N可以是2,在这种情况下,用信号发送log2_transform_skip_max_size_minus2,并且MaxTsSize可以是(1<<(log2_transform_skip_max_size_minus2+2))。在这种情况下,log2_transform_skip_max_size_minus2可以是范围从0到3的值,并且在这种情况下,MaxTsSize可以是4、8、16和32中的一个。用于确定MaxTsSize的语法元素可以在较高级别用信号发送。例如,可以在图片参数集或切片级别处用信号发送语法元素。
图29是图示根据本发明的实施例的BDPCM可使用条件的图。
参考图28,当编译块的宽度cbWidth和高度cbHeight小于或等于MaxTsSize时,可以使用BDPCM。如果MaxTbSizeY大于MaxTsSize且编译块的宽度和高度小于或等于MaxTsSize,则编译块的宽度和高度可以与变换块的宽度和高度相同。这是因为在这种情况下不发生TU分区。具体地,当MaxTbSizeY为64并且MaxTsSize为32或更小时,如果cbWidth为MaxTsSize或更小并且cbHeight为MaxTsSize或更小,则cbWidth可以等于tbWidth并且cbHeight可以等于tbHeight。因此,当cbWidth和cbHeight为MaxTsSize或更小时BDPCM可使用的事实可以是指当tbWidth和tbHeight为MaxTsSize或更小时BDPCM可使用。
然而,根据本发明的实施例,MaxTbSizeY可以小于或等于MaxTsSize。在这种情况下,如果cbWidth大于MaxTsSize或者cbHeight大于MaxTsSize,则可以使用BDPCM。这是因为,在这种情况下,可能发生TU分区,并且TU分区之后的变换块的宽度和高度小于或等于MaxTsSize。当MaxTbSizeY等于MaxTsSize时,如果cbWidth大于MaxTsSize或cbHeight大于MaxTsSize,则可能发生TU分区,并且TU分区之后的变换块的宽度和高度可以等于MaxTbSizeY。因此,可以执行变换跳过模式,其是在BDPCM的情况下使用的模式。这是因为变换跳过模式是在TU级别执行的。当BDPCM可使用时,可以解析intra_bdpcm_flag。
因此,即使当MaxTbSizeY和MaxTsSize相同时,也可以使用BDPCM。可替代地,当在较高级别用信号发送的指示BDPCM是否可使用的语法元素指示BDPCM可使用且MaxTbSizeY和MaxTsSize相同时,可以使用BDPCM。可替代地,即使当MaxTbSizeY和MaxTsSize不同时,当cbWidth小于或等于MaxTsSize并且cbHeight小于或等于MaxTsSize时,可以使用BDPCM。可替代地,当在较高级别处用信号发送的指示BDPCM是否可使用的语法元素指示BDPCM可使用并且MaxTbSizeY和MaxTsSize不同时,可以在cbWidth小于或等于MaxTsSize并且cbHeight小于或等于MaxTsSize时使用BDPCM。另一方面,当MaxTbSizeY和MaxTsSize不同时,当cbWidth大于MaxTsSize或cbHeight大于MaxTsSize时,可以不使用BDPCM。
当BDPCM可使用时,可以解析作为指示是否使用BDPCM的语法元素的intra_bdpcm_flag。
如上所述,MaxTbSizeY可以具有32或更大的值。具体地,MaxTbSizeY可以具有32或64的值。另外,MaxTsSize可以具有32或更小的值。具体地,MaxTsSize可以具有4或8或16或32的值。因此,当MaxTbSizeY和MaxTsSize相同时,MaxTbSizeY可以是32并且MaxTsSize可以是32。
图29(a)和(b)是图示与上述实施例相关的语法结构的图。
参考图29(a),当sps_bdpcm_enabled_flag的值为1并且满足以下两个条件中的至少一个时,可以解析intra_bdpcm_flag。
条件a-1)cbWidth<=MaxTsSize&&cbHeight<=MaxTsSize
条件a-2)MaxTbSizeY==32&&MaxTsSize==32
另一方面,如果不满足条件a-1和a-2两者,则可以不解析intra_bdpcm_flag。同时,当intra_bdpcm_flag不存在时,可以将intra_bdpcm_flag的值推断为等于0。
参考图29(b),当sps_bdpcm_enabled_flag的值为1并且满足以下两个条件中的至少一个时,可以解析intra_bdpcm_flag。
条件b-1)cbWidth<=MaxTsSize&&cbHeight<=MaxTsSize
条件b-2)MaxTbSizeY==MaxTsSize
同时,如果不满足条件b-1和b-2两者,则可以不解析intra_bdpcm_flag。同时,当intra_bdpcm_flag不存在时,可以将intra_bdpcm_flag的值推断为等于0。
图30是图示根据本发明的实施例的CIIP和帧内预测的图。
CIIP是组合的帧间和帧内预测的缩写,或者CIIP是组合的图片间合并和图片内预测的缩写。CIIP是指在生成预测信号时组合帧内预测信号和帧间预测信号的方法。当使用CIIP时,帧内预测方法或帧间预测方法可能受限。例如,当使用CIIP时,仅平面模式MODE_PLANAR或仅合并模式可用于帧内预测模式。当CIIP用于编译块(CB)或编译单元(CU)时,可以对整个编译块执行帧内预测。也就是说,当CIIP用于CB或CU时,可以对具有(cbWidth xcbHeight)大小的块执行帧内预测。换句话说,当CIIP用于CB或CU时,可以在没有TU分区的情况下执行帧内预测。即使CB大于最大变换大小,当使用CIIP时,也可以在没有TU分区的情况下执行帧内预测。
可以使用CIIP的块大小可以是受限的。在这种情况下,有限块大小可以是固定值。可以预先确定可以使用CIIP的块大小的最大值。例如,当块的宽度cbWidth或高度cbHeigh为128或大于128时,可以不使用CIIP。当cbWidth小于128,cbHeight小于128,并且cbWidth*cbHeight为64或更大时,可以使用CIIP。
图30图示了当CB或CU为64×64时的CIIP模式和帧内预测模式。当使用CIIP模式时,可以执行针对大小为64×64的块的帧间预测和针对大小为64×64的块的帧内预测。另外,可以基于帧间预测和帧内预测生成大小为64×64的预测块(图30的“组合帧间和帧内预测块”)。
当不使用帧内预测模式时(即,当仅使用当前图片时,或者当不使用参考图片时,或者当CuPredMode是MODE_INTRA时),可以基于MaxTbSizeY来确定要从大小为64×64的CB分区的TB。例如,当MaxTbSizeY小于64时(例如,32),可以将大小为64×64的CB分区成大小为32×32的TU,并且可以对分区的TU中的每一个执行帧内预测。因此,可以生成各自大小为32×32的四个预测块。
在这种情况下,可能存在CIIP模式中的帧内预测和帧内预测模式中的帧内预测彼此不对齐的问题。换句话说,当使用CIIP模式时,可以对大小大于32×32的块执行帧内预测,并且可以对大小小于或等于32×32的块执行帧内预测模式中的帧内预测。因此,在帧内预测模式的情况下,需要具有能够处理大小小于或等于32×32的块的帧内预测的能力的硬件和软件,但是在CIIP模式的情况下,需要具有能够处理大小大于32×32的块的帧内预测的能力的硬件和软件。这在实施方面可能是巨大的负担。例如,一些编码器旨在将最大变换大小限制为32而非64以对小尺寸的块执行帧内预测,并且减少硬件和软件负担,但可能需要为具有大于32的大小的块准备帧内预测以便使用CIIP模式。
图31是图示根据本发明的实施例的合并数据语法的图。
根据本发明的实施例,分组方法可以被用作合并模式信令方法。例如,可以用信号发送group_1_flag,并且解码器可以基于group_1_flag来确定所选择的模式是否属于组1。当group_1_flag指示其不属于组1时,可以用信号发送group_2_flag。另外,解码器可以基于group_2_flag来确定所选择的模式是否属于组2。即使当存在多个组时,也可以执行这样的操作。另外,可以存在指示组内的模式的信令。在分组方法中,与顺序信令方法相比,可以减小信令深度。另外,可以减小信令的最大长度(例如,码字的最大长度)。
在下文中将详细地描述分组方法。
首先,假设存在三个组。特定组可以包含多于一个模式。例如,可以存在包括在组1中的一个模式。组1可以包括子块合并模式,组2可以包括常规合并模式以及与运动矢量差合并(MMVD),并且组3可以包括CIIP和三角合并模式。group_1_flag可以是merge_subblock_flag,并且group_2_flag可以是regular_merge_flag。另外,ciip_flag和mmvd_merge_flag可以作为指示组内的模式的语法元素存在。在实施例中,用信号发送merge_subblock_flag,并且可以基于merge_subblock_flag来确定当前模式是否是子块合并模式。在这种情况下,在当前模式不是子块合并模式时,可以用信号发送regular_merge_flag。解码器可以基于regular_merge_flag来确定该模式是包括在组2(常规合并模式或MMVD)中还是组3(CIIP或三角合并模式)中。在这种情况下,当regular_merge_flag指示组2时,可以基于mmvd_merge_flag来确定当前模式是常规合并模式还是MMVD。同时,当regular_merge_flag指示组3时,可以基于ciip_flag确定当前模式是CIIP还是三角合并模式。
参考图31,当使用合并模式时,可以用信号发送merge_subblock_flag。使用合并模式的实施例可以与上述相同,并且可以是general_merge_flag为1的情况。另外,本发明可以应用于CuPredMode不是MODE_IBC的情况或CuPredMode是MODE_INTER的情况。解码器可以基于MaxNumSubblockMergeCand或块大小来确定是否解析merge_subblock_flag。当merge_subblock_flag的值为1时,解码器可以确定使用子块合并模式,并且可以附加地基于merge_subblock_idx来确定候选索引。当merge_subblock_flag的值为0时,解码器可以解析regular_merge_flag。在这种情况下,可能存在允许解析regular_merge_flag的条件。例如,可以存在基于块大小的条件。另外,可以存在基于在较高级别处用信号发送的指示模式是否可使用的语法元素的条件。在这种情况下,在较高级别处用信号发送的指示模式是否可使用的语法元素可以包括sps_ciip_enabled_flag和sps_triangle_enabled_flag。在这种情况下,sps_triangle_enabled_flag可以是在较高级别处用信号发送的指示解码器是否可以使用三角模式的语法元素,并且可以从序列参数集用信号发送。还可以存在基于切片类型的条件。另外,可能存在基于cu_skip_flag的条件。在这种情况下,cu_skip_flag可以是指示是否可以使用跳过模式的语法元素。当使用跳过模式时,可以不用信号发送残差信号。因此,当使用跳过模式时,解码器可以在没有残差信号(或变换系数)的情况下,由预测信号重构块。
与可以使用CIIP的块大小相关的条件可以是块的宽度*块的高度为64或更大、块的宽度小于128,并且块的高度小于128。另外,可以使用三角合并模式的块大小条件可以是块宽度*块高度为64或更大。参考图31,当不满足块宽度*块高度为64或更大的条件时,解码器可以不解析regular_merge_flag。另外,当块的宽度等于(或大于或等于)128或块的高度等于(或大于或等于)128时,解码器可以解析regular_merge_flag。
具体地,i)当sps_ciip_enabled_flag的值为1、cu_skip_flag的值为0、块的宽度小于128,并且块的高度小于128时,如果满足块宽度*块高度为64或更大的条件,则解码器可以解析regular_merge_flag。或者ii)当sps_triangle_enabled_flag的值为1、MaxNumTriangleMergeCand的值大于1,并且slice_type为B时,如果满足块宽度*块高度为64或更大的条件,则解码器可以解析regular_merge_flag。
同时,当不满足允许解析regular_merge_flag的条件时,即,i)当不满足sps_ciip_enabled_flag的值为1、cu_skip_flag的值为0、块的宽度小于128,并且块的高度小于128时,以及ii)当不满足sps_triangle_enabled_flag的值为1、MaxNumTriangleMergeCand的值大于1,并且slice_type为B时,解码器可以不解析regular_merge_flag。在这种情况下,MaxNumTriangleMergeCand可以是可以在三角(合并)模式中使用的候选的最大数量。另外,slice_type可以是指示切片类型的信令。slice_type为B指示可以使用双预测。slice_type为P指示可以不使用双预测并且可以使用单预测。slice_type为P或B指示可以使用帧间预测。slice_type为I指示可以不使用帧间预测。
另外,参考图31,当解码器确定是否解析ciip_flag时,可以使用基于块大小的条件。例如,当块的宽度小于128并且块的高度小于128时,解码器可以解析ciip_flag。另一方面,当块的宽度是128(或128或更大)或块的高度是128(或128或更大)时,解码器可以不解析ciip_flag。这是因为当块的宽度或块的高度是128(或128或更大)时,可以使用CIIP和三角合并模式中的仅一个。例如,可以不使用CIIP,而是可以仅使用三角合并模式。
在本发明中,可以解析ciip_flag的事实可以是指可以使用CIIP。可替代地,可以解析ciip_flag的事实可以是指可以使用CIIP或三角合并模式。
可以使用CIIP的条件可以包括sps_ciip_enabled_flag的值为1并且cu_skip_flag的值为0的情况。另外,与可以使用CIIP的块大小相关的条件可以包括块的宽度*块的高度为64或更大、块的宽度小于128,并且块的高度小于128的情况。
可以使用三角合并模式的条件可以包括sps_triangle_enabled_flag的值为1、MaxNumTriangleMergeCand的值大于1,并且slice_type为B的情况。此外,与可以使用三角合并模式的块大小相关的条件可以包括块的宽度*块的高度为64或更大的情况。
当满足上述可以使用CIIP的条件或上述可以使用三角合并模式的条件时,解码器可以解析regular_merge_flag。另一方面,当可以使用CIIP的条件和可以使用三角合并模式的条件均不满足时,解码器可以不解析regular_merge_flag。
当regular_merge_flag不存在时,可以将regular_merge_flag的值推断为等于1。在本发明中,当regular_merge_flag的值为1时,可以使用常规合并模式或MMVD。因此,当与上述可以使用CIIP的块大小相关的条件和与上述可以使用三角合并模式的块大小相关的条件均不满足时,可使用模式可以是常规合并模式和MMVD。在这种情况下,可以将regular_merge_flag确定为1,而不进行解析。
另外,当上述可以使用CIIP的条件和上述可以使用三角合并模式的条件均不满足时,可使用模式可以是常规合并模式或MMVD,因此可以将regular_merge_flag推断为等于1而不进行解析。
参考图31,当regular_merge_flag的值为1时,可以基于sps_mmvd_enabled_flag的值来解析语法元素。sps_mmvd_enabled_flag可以是在较高级别处用信号发送的指示MMVD是否可使用的语法元素。当sps_mmvd_enabled_flag的值为0时,可以不使用MMVD。参考图31,当sps_mmvd_enabled_flag的值为0时,可以不解析mmvd_merge_flag、mmvd_cand_flag、mmvd_distance_idx和mmvd_direction_idx。当mmvd_merge_flag不存在时,可以将mmvd_merge_flag的值推断为等于0。
另外,参考图31,如果regular_merge_flag的值为0,则当满足上述可以使用CIIP的条件和上述可以使用三角合并模式的条件时,解码器可以解析ciip_flag。在这种情况下,当ciip_flag的值为1时,可以使用CIIP,并且当ciip_flag的值为0时,可以使用三角合并模式。当ciip_flag的值为0时,可以是指不使用CIIP。另一方面,当上述可以使用CIIP的条件或上述可以使用三角合并模式的条件均不满足时,解码器可以不解析ciip_flag。
当不存在ciip_flag时,当满足所有以下条件时,可以将ciip_flag的值推断为等于1。同时,如果不满足以下条件中的任一个,则可以将ciip_flag的值推断为等于0。
条件c-1)sps_ciip_enabled_flag==1
条件c-2)general_merge_flag==1
条件c-3)merge_subblock_flag==0
条件c-4)regular_merge_flag==0
条件c-5)cbWidth<128
条件c-6)cbHeight<128
条件c-7)cbWidth*cbHeight>=64
条件c-8)cu_skip_flag==0
sps_ciip_enabled_flag可以是在较高级别处用信号发送的指示是否使用CIIP的语法元素。可以从序列参数集用信号发送sps_ciip_enabled_flag。general_merge_flag可以是指示是否使用合并模式的语法元素。merge_subblock_flag可以是指示是否使用子块合并模式的语法元素。在这种情况下,子块合并模式可以是仿射合并模式或基于子块的时间运动矢量预测(SbTMVP)。regular_merge_flag可以是指示是否使用现有合并模式(例如,常规合并模式)或MMVD的语法元素。
图32是图示根据本发明的实施例的合并数据语法的图。
如上所述,可以使用CIIP的块大小是受限的,并且在这种情况下,块大小可以是固定值。另外,当最大变换大小可变时,存在CIIP模式中的帧内预测和帧内预测模式中的帧内预测彼此不对齐的问题。
在下文中,将参考图32描述用于解决该问题的方法。参考图32,可以使用CIIP模式的块大小可以是可变的。具体地,可以使用CIIP模式的块大小可以基于MaxTbSizeY。例如,当块的宽度小于或等于MaxTbSizeY并且块的高度小于或等于MaxTbSizeY时,可以使用CIIP模式。另外,当块的宽度大于MaxTbSizeY或块的高度大于MaxTbSizeY时,可以不使用CIIP。在这种情况下,块的宽度和高度可以是编译块(单元)的宽度和高度。因为基于MaxTbSizeY确定块的宽度和高度,所以CIIP模式中的帧内预测大小限于小于或等于MaxTbSizeY,并且现有帧内预测大小也限于小于或等于MaxTbSizeY,并且因此可以使用统一方法、硬件和软件来执行帧内预测。这具有减少硬件和软件所需的资源的效果。即使当MaxTbSizeY为32时,也可以对大小为32×32或更小的块执行CIIP模式中的帧内预测和常规帧内预测两者。
参考图32,允许使用CIIP模式的条件可以包括sps_ciip_enabled_flag的值为1、cbWidth小于或等于MaxTbSizeY、cbHeight小于或等于MaxTbSizeY、cbWidth*cbHeight为64或更大,并且cu_skip_flag的值为0的情况。因此,当sps_ciip_enabled_flag的值为0、cbWidth大于MaxTbSizeY、cbHeight大于MaxTbSizeY、cbWidth*cbHeight小于64,或cu_skip_flag的值不为0时,不使用CIIP模式。当满足使用CIIP模式的条件时,解码器可以解析ciip_flag。另外,当满足使用CIIP模式的条件时,解码器可以解析regular_merge_flag。另外,解码器可以在解析ciip_flag或regular_merge_flag时考虑附加条件。另外,当可以不使用CIIP模式时,解码器可以不解析ciip_flag。
允许使用三角(合并)模式的条件可以包括sps_triangle_enabled_flag的值为1、MaxNumTriangleMergeCand的值大于1、slice_type为B,并且cbWidth*cbHeight为64或更大的情况。
在这种情况下,当满足允许使用CIIP模式的条件和允许使用三角(合并)模式的条件两者时,解码器可以解析ciip_flag。当不满足允许使用CIIP模式的条件和允许使用三角(合并)模式的条件的任一个时,解码器可以不解析ciip_flag。另外,当不存在ciip_flag并且不满足允许使用CIIP模式的条件时,可以将ciip_flag值推断为等于0。另外,当不存在ciip_flag、满足允许使用CIIP模式的条件、general_merge_flag的值为1、merge_subblock_flag的值为0,并且regular_merge_flag的值为0时,可以将ciip_flag值推断为等于1。
当满足允许使用CIIP模式的条件和允许使用三角(合并)模式的条件中的任一个时,解码器可以解析regular_merge_flag。当允许使用CIIP模式的条件和允许使用三角(合并)模式的条件两者均不满足时,解码器可以不解析regular_merge_flag。在这种情况下,如果regular_merge_flag不存在,则可以将regular_merge_flag的值推断为(general_merge_flag&&!merge_subblock_flag)。
参考图32,当cbWidth小于或等于MaxTbSizeY并且cbHeight小于或等于MaxTbSizeY时,解码器可以解析ciip_flag。另一方面,当cbWidth大于MaxTbSizeY或cbHeight大于MaxTbSizeY时,解码器可以不解析ciip_flag。当cbWidth大于MaxTbSizeY或cbHeight大于MaxTbSizeY时,可以将ciip_flag的值推断为等于0。
当cbWidth小于或等于MaxTbSizeY并且cbHeight小于或等于MaxTbSizeY时,解码器可以解析regular_merge_flag。另一方面,当i)cbWidth大于MaxTbSizeY或cbHeight大于MaxTbSizeY,并且ii)不满足允许使用三角(合并)模式的条件时,可以不解析regular_merge_flag。
当满足下面的等式5的条件时,解码器可以解析ciip_flag。
[等式5]
(sps_ciip_enabled_flag&&sps_triangle_enabled_flag&&MaxNumTriangleMergeCand>1&&slice_type==B&&cu_skip_flag[x0][y0]==0&&(cbWidth*cbHeight)>=64&&cbWidth<=MaxTbSizeY&&cbHeight<=MaxTbSizeY)
在不存在ciip_flag的情况下,当满足所有以下条件时,可以将ciip_flag的值推断为等于1。另一方面,当不满足以下条件中的任一个时,可以将ciip_flag的值推断为等于0。
条件d-1)sps_ciip_enabled_flag==1
条件d-2)general_merge_flag==1
条件d-3)merge_subblock_flag==0
条件d-4)regular_merge_flag==0
条件d-5)cbWidth<=MaxTbSizeY
条件d-6)cbHeight<=MaxTbSizeY
条件d-7)cbWidth*cbHeight>=64
条件d-8)cu_skip_flag==0
当满足下面的等式6的条件时,解码器可以解析regular_merge_flag。
[等式6]
((cbWidth*cbHeight)>=64&&(sps_ciip_enabled_flag&&cu_skip_flag[x0][y0]==0&&cbWidth<=MaxTbSizeY&&cbHeigt<=MaxTbSizeY)||(sps_triangle_ enabled_flag&&MaxNumTriangleMergeCand>1&&slice_type==B)))
当regular_merge_flag不存在时,regular_merge_flag的值可以被推断为(general_merge_flag&&!merge_subblock_flag)。也就是说,当general_merge_flag的值为1并且merge_subblock_flag的值为0时,可以将regular_merge_flag的值推断为等于1。另一方面,当general_merge_flag的值为0或merge_subblock_flag的值为1时,可以将regular_merge_flag推断为等于0。
图33是图示根据本发明的实施例的执行CIIP模式的方法的图。
图33可以是图示用于解决图30中描述的问题的实施例的图。
在本发明的实施例中,可以以变换块(单元)为单位执行CIIP模式中的帧内预测。也就是说,当使用CIIP模式时,可以执行TU分区。例如,当cbWidth大于MaxTbSizeY或cbHeight大于MaxTbSizeY时,可以使用CIIP模式,在这种情况下执行TU分区,并且可以以(MaxTbSizeY x MaxTbSizeY)块为单位,对(tbWidth x tbHeight)的块执行帧内预测。因此,可以利用与现有帧内预测相同的资源来执行CIIP模式中的帧内预测。
图33图示了当CIIP模式用于大小为64×64并且MaxTbSizeY为32的CU时的预测方法。由于使用CIIP模式,因此可以基于使用帧间预测的预测信号和使用帧内预测的预测信号来生成预测信号。在这种情况下,可以对大小为64×64的CU执行帧间预测。另外,由于大小为64×64的块超过MaxTbSizeY,因此可以在执行帧内预测之前执行TU分区。TU分区之后的块可以是大小为MaxTbSizeY×MaxTbSizeY的块。也就是说,在TU分区之后,可以生成大小为32×32的多个块。另外,可以分别对TU分区之后生成的块执行帧内预测。
在下文中,将描述用于使用CIIP模式并执行TU分区的情况的帧内预测方法。
对于TU分区之后的帧内预测,可以在分区之后使用与每一个TU相邻的位置处的参考样本。由于使用接近块的参考样本,因此在预测性能方面以及在编译效率方面具有优势。例如,参考样本可以是重构样本。然而,在这种情况下,为了对特定TU执行帧内预测,需要等待相邻TU(即,对应于参考样本的位置的TU)被重构,因此可能发生不必要的时延。另外,参考样本可以是预测样本。在这种情况下,预测性能可能低于使用重构样本的预测性能,但是即使相邻TU未被完全重构,如果预测完成,则可以开始当前TU的预测。因此,与将重构样本用作参考样本的情况相比,可以减少时延。然而,即使将预测样本用作参考样本,也可能存在关于时延的问题。
对于TU分区之后的帧内预测,可以使用TU分区之前与CU相邻的位置处的参考样本。在这种情况下,可以解决上述时延问题。然而,由于使用非相邻样本,因此预测性能可能劣化。另外,由于使用与TU不相邻的参考样本对一些分区的TU执行帧内预测,因此需要与传统帧内预测不同位置的参考样本,并且需要与传统帧内预测不同的过程。
在使用CIIP模式时执行TU分区的情况下,即使CU的大小较大,也可以执行CIIP模式中的预测。这是因为可以对具有大的大小的CU执行包括在CIIP模式中的帧内预测,并且可以对在TU分区之后的分区的较小块执行包括在CIIP模式中的帧内预测。因此,与可以使用CIIP模式的块大小相关的条件可以不具有上限。也就是说,可能不存在图31至图32中描述的cbWidth小于128并且cbHeight小于128的条件。因此,当满足对于块大小(cbWidth*cbHeight)为64或更大的条件时,解码器可以解析ciip_flag或regular_merge_flag。换句话说,即使cbWidth大于64、cbHeight大于64(见图31)、cbWidth大于MaxTbSizeY,或cbHeight大于MaxTbSizeY(见图32),解码器也可以解析ciip_flag或regular_merge_flag。
具体地,当满足以下条件时,可以解析ciip_flag。另一方面,当不满足以下条件中的任何一个时,可以不解析ciip_flag。
条件e-1)sps_ciip_enabled_flag==1
条件e-2)sps_triangle_enabled_flag==1
条件e-3)MaxNumTriangleMergeCand>1
条件e-4)slice_type==B
条件e-5)cu_skip_flag==0
条件e-6)cbWidth*cbHeight>=64
在不存在ciip_flag的情况下,当满足所有以下条件时,将ciip_flag推断为等于1,并且当不满足以下条件中的任一个时,可以将ciip_flag推断为等于0。
条件f-1)sps_ciip_enabled_flag==1
条件f-2)general_merge_flag==1
条件f-3)merge_subblock_flag==0
条件f-4)regular_merge_flag==0
条件f-5)cbWidth*cbHeight>=64
条件f-6)cu_skip_flag==0
当满足所有以下条件时,可以解析regular_merge_flag。另一方面,当不满足以下条件中的任何一个时,可以不解析regular_merge_flag。
条件g-1)cbWidth*cbHeight>=64
条件g-2)
(sps_ciip_enabled_flag&&cu_skip_flag==0)||(sps_triangle_enabled_flag&&MaxNumTriangleMergeCand>1&&slice_type==B)
当regular_merge_flag不存在时,可以推断regular_merge_flag的值,这与参考图31和32描述的相同,因此将省略其描述。
图34是图示根据本发明的实施例的色度BDPCM语法结构的图。
可以对色度分量执行图27至图29中描述的BDPCM。通过对色度分量执行BDPCM,可以提高特定视频内容的压缩性能。在本发明中,将BDPCM应用于色度块将被描述为色度BDPCM。
为了对色度分量执行BDPCM,需要单独的信令方法,并且将参考图34进行描述。另外,图34中公开的语法可以存在于编译单元语法中。
当treeType值为SINGLE_TREE或DUAL_TREE_CHROMA时,可以解析图34中所公开的语法元素。另外,当ChromaArrayType不为0时,可以解析图34中所公开的语法元素。当separate_colour_plane_flag的值为0时,ChromaArrayType可以被设置为chroma_format_idc的值。当separate_colour_plane_flag的值为1时,ChromaArrayType可以被设置为0。在这种情况下,separate_colour_plane_flag可以指示是否单独地编译4:4:4色度格式的颜色分量。例如,当separate_colour_plane_flag的值为0时,其可以指示不单独地编译颜色分量。当separate_colour_plane_flag的值为0并且不是单色时,ChromaArrayType可以不为0。
当pred_mode_plt_flag的值为1并且树类型treeType为DUAL_TREE_CHROMA时,可以执行“palette_coding()”。pred_mode_plt_flag是指示是否使用调色板模式的语法元素,并且“palette_coding()”可以是解析与调色板模式相关的语法元素的一部分。当pred_mode_plt_flag的值为0或treeType值不是DUAL_TREE_CHROMA时,解码器可以执行图34中的步骤(1)和后续步骤。
另外,基于cu_act_enabled_flag,可以执行图34中的步骤(1)和后续步骤。cu_act_enabled_flag可以是指示是否应用自适应颜色变换的语法元素。当cu_act_enabled_flag的值为1时,可以在另一颜色空间中对残差信号进行编译,并且当cu_act_enabled_flag的值为0时,可以在原始颜色空间中对残差信号进行编译。原始颜色空间可以是YUV颜色空间或YCbCr颜色空间。另一颜色空间可以是YCgCo颜色空间或RGB颜色空间。参考图34,当cu_act_enabled_flag的值为0时,可以执行图34中的步骤(1)和后续步骤。同时,当cu_act_enabled_flag的值为1时,可以不执行图34中的步骤(1)和后续步骤。即,当cu_act_enabled_flag的值为0时,解码器可以解析与色度帧内预测相关的语法元素,并且当cu_act_enabled_flag的值不为0时,解码器可以不解析与色度帧内预测相关的语法元素。
参考图34,当满足下面的等式7的条件时,解码器可以解析intra_bdpcm_chroma_flag。
[等式7]
(cbWidth<=MaxTsSize&&cbHeight<=MaxTsSize&&sps_bdpcm_chroma_ enabled_flag))
intra_bdpcm_chroma_flag可以是指示是否将BDPCM应用于当前色度编译块的语法元素。例如,当intra_bdpcm_chroma_flag的值为1时,其可以指示将BDPCM应用于当前色度编译块,并且当intra_bdpcm_chroma_flag的值为0时,其可以指示不将BDPCM应用于当前色度编译块。参考图34,可以存在用于解析intra_bdpcm_chroma_flag的条件。可替代地,可能存在可以使用色度BDPCM的条件。可以使用色度BDPCM的条件可以与用于解析intra_bdpcm_chroma_flag的条件相同。允许解析intra_bdpcm_chroma_flag的条件与上述等式7相同,其将在下面详细描述。
条件h-1)cbWidth<=MaxTsSize
条件h-2)cbheight<=MaxTsSize
条件h-3)sps_bdpcm_chroma_enable_flag==1
当不满足上述任何条件时,解码器可以不解析intra_bdpcm_chroma_flag。当intra_bdpcm_chroma_flag不存在时,可以将intra_bdpcm_chroma_flag的值推断为等于0。当intra_bdpcm_chroma_flag的值为1时,解码器可以解析与色度BDPCM相关的语法。在这种情况下,与色度BDPCM相关的语法可以包括intra_bdpcm_chroma_dir_flag。intra_bdpcm_chroma_dir_flag可以是指示色度BDPCM的预测方向的标志。例如,intra_bdpcm_chroma_dir_flag可以指示色度BDPCM的预测方向是水平还是垂直。sps_bdpcm_chroma_enable_flag可以是在较高级别处用信号发送的指示色度BDPCM是否可使用的语法元素。例如,可以在包括当前编译单元的范围(例如序列、图片、切片等的级别)用信号发送sps_bdpcm_chroma_enable_flag。当sps_bdpcm_chroma_enable_flag的值为1时,可以使用色度BDPCM,并且可以存在指示是否使用色度BDPCM的附加语法元素。当sps_bdpcm_chroma_enable_flag的值为0时,不使用色度BDPCM。
参考图34,当解码器解析intra_bdpcm_chroma_flag并且作为解析的结果,intra_bdpcm_chroma_flag的值为0时,解码器不解析与色度帧内预测相关的语法。在这种情况下,与色度帧内预测相关的语法可以包括cclm_mode_flag、cclm_mode_idx、intra_chroma_pred_mode等。在这种情况下,cclm_mode_flag可以是指示跨分量线性模型(CCLM)是否被用作色度帧内预测模式的语法元素。cclm_mode_flag可以是指示色度帧内预测模式是否是INTRA_LT_CCLM、INTRA_L_CCLM和INTRA_T_CCLM中的一个的语法元素。CcLMEnabled可以是指示CCLM是否可使用的值。可替代地,CclmEnabled可以是指示是否解析指示CCLM是否可使用的语法元素的值。CCLM是基于亮度样本的色度预测方法。当使用CCLM时,可以解析cclm_mode_idx。cclm_mode_idx可以是指示使用多个CCLM方法当中的哪个方法的语法元素。当不使用CCLM时,解码器可以解析intra_chroma_pred_mode。在这种情况下,intra_chroma_pred_mode可以是指示色度样本的帧内预测模式的语法元素。具体地,intra_chroma_pred_mode可以是指示平面模式(模式索引0)、DC模式(模式索引1)、垂直模式(模式索引50)、水平模式(模式索引18)、对角线模式(模式索引66)、DM模式(与亮度模式相同的模式)中的哪一模式被用作用于色度分量的预测模式的语法元素。
参考图34,即使满足允许解析intra_bdpcm_chroma_flag的条件或可以使用色度BDPCM的条件,当用信号发送不使用色度BDPCM的语法元素时,由于不解析与上述色度帧内预测相关的语法,可能发生不确定色度预测模式的问题。
图35是图示根据本发明的实施例的色度BDPCM语法结构的图。
图35的实施例是用于解决参考图34所述的问题的实施例,并且将省略冗余内容。
参考图35,当满足可以解析intra_bdpcm_chroma_flag的条件或可以使用色度BDPCM的条件时,解码器可以解析intra_bdpcm_chroma_flag。可以解析intra_bdpcm_chroma_flag的条件与图35的(1)相同,其与上述等式7相同。也就是说,当满足所有以下条件时,可以使用色度BDPCM,并且当不满足以下条件中的任何一个时,可以不使用色度BDPCM。另外,当不满足以下条件中的任一个时,intra_bdpcm_chroma_flag可能不存在。在这种情况下,当intra_bdpcm_chroma_flag不存在时,可以将intra_bdpcm_chroma_flag的值推断为等于0。
条件i-1)cbWidth<=MaxTSSize
条件i-2)cbHeight<=MaxTsSize
条件i-3)sps_bdpcm_chroma_enable_flag==1
图29中描述的BDPCM应用方法也可以应用于色度BDPCM。也就是说,即使编译块大小cbWidth或cbHeight大于MaxTsSize,当分区的TU或TB的大小小于或等于MaxTsSize时,可以使用色度BDPCM。因此,当满足所有以下条件时,可以使用色度BDPCM,并且当不满足以下条件中的任何一个时,可以不使用色度BDPCM。
条件j-1)
(cbWidth<=MaxTsSize&&cbHeight<=MaxTsSize)||(MaxTbSizeY==MaxTsSize)
条件j-2)sps_bdpcm_chroma_enable_flag==1
当intra_bdpcm_chroma_flag的值为1时,解码器可以解析与色度BDPCM相关的语法。在这种情况下,与色度BDPCM相关的语法可以包括intra_bdpcm_chroma_dir_flag、sps_bdpcm_chroma_enable_flag等。intra_bdpcm_chroma_dir_flag、sps_bdpcm_chroma_enable_flag等可以与参考图34描述的语法相同。
参考图35,当解码器解析intra_bdpcm_chroma_flag并且作为解析的结果,intra_bdpcm_chroma_flag的值为0时(当不使用色度BDPCM时),解码器可以执行图35中的步骤(2)和后续步骤。即,解码器可以解析与其它色度帧内预测相关的语法。与其它色度帧内预测相关的语法可以与参考图34所描述的语法相同。与其它色度帧内预测相关的语法可以包括cclm_mode_flag、cclm_mode_idx、intra_chroma_pred_mode等。
当intra_bdpcm_chroma_flag的值为0并且CclmEnabled的值为1时,解码器可以解析cclm_mode_flag。另外,当cclm_mode_flag的值为1时,解码器可以解析cclm_mode_idx,并且当cclm_mode_flag的值不为1时,解码器可以解析intra_chroma_pred_mode。
参考图35,即使当满足可以解析intra_bdpcm_chroma_flag的条件并且作为解析intra_bdpcm_chroma_flag的结果,用信号发送不使用色度BDPCM的语法元素时,由于可以解析用于确定其他色度预测模式的语法元素,因此解码器可以确定色度预测模式。具体地,如果块的宽度和高度小于或等于最大变换跳过大小并且使用在较高级别处用信号发送的指示是否可以使用色度BDPCM的语法元素,则解码器可以解析指示是否可以使用色度BDPCM的语法元素。在这种情况下,当作为解析的结果,指示不使用色度BDPCM时,解码器可以基于指示将使用哪一色度帧内预测模式的语法元素(例如,cclm_mode_flag、intra_chroma_pred_mode)来确定色度帧内预测模式。
图36是图示根据本发明的实施例的与BDPCM相关的较高级别语法的图。
如上所述,可以存在包括指示BDPCM是否可使用的语法元素的较高级别语法。例如,在较高级别用信号发送的指示BDPCM是否可使用的语法元素可以包括上文所述的sps_bdpcm_enabled_flag、sps_bdpcm_chroma_enabled_flag等。具体地,sps_bdpcm_enabled_flag是在较高级别处用信号发送的指示亮度分量的BDPCM是否可使用的语法元素。另外,sps_bdpcm_chroma_enabled_flag是在较高级别处用信号发送的指示用于色度分量的BDPCM是否可使用的语法元素。在这种情况下,用信号发送指示BDPCM是否可使用的语法元素的较高级别可以包括序列级别、序列参数集级别(SPS级别)、切片级别、图片级别和图片参数集级别(PPS级别)。当在较高级别处用信号发送的指示BDPCM是否可使用的语法元素指示BDPCM可使用时(例如,当其值为1时),可以存在关于是否使用BDPCM的附加语法元素。例如,关于是否使用BDPCM的语法元素可以存在于块级别和编译单元(块)级别处。同时,当在较高级别处用信号发送的指示BDPCM是否可使用的语法元素指示BDPCM不可使用时(例如,当其值为0时),关于是否使用BDPCM的附加语法元素可能不存在。另外,当在较高级别处用信号发送的指示BDPCM是否可使用的语法元素不存在时,可以将在较高级别处用信号发送的语法元素的值推断为等于0。另外,与是否使用sps_bdpcm_enabled_flag相关的语法元素可以是参考图28和29描述的intra_bdpcm_flag。intra_bdpcm_flag可以与intra_bdpcm_luma_flag相同。另外,与是否使用sps_bdpcm_chroma_enabled_flag相关的语法元素可以是参考图34和35描述的intra_bdpcm_chroma_flag。
可以存在在较高级别处用信号发送的指示变换跳过是否可使用的语法元素。参考图36,在较高级别处用信号发送的指示变换跳过是否可使用的语法元素可以是sps_transform_skip_enalbed_flag。在这种情况下,用信号发送指示变换跳过是否可使用的语法元素的较高级别可以包括序列级别、序列参数集级别(SPS级别)、切片级别、图片级别和图片参数集级别(PPS级别)。当在较高级别处用信号发送的指示变换跳过是否可使用的语法元素指示变换跳过可使用时(例如,当其值为1时),可以存在关于是否使用变换跳过的附加语法元素。例如,关于是否使用变换跳过的语法元素可以存在于块级别和编译单元(块)级别。同时,当在较高级别处用信号发送的指示变换跳过是否可使用的语法元素指示变换跳过不可使用时(例如,当其值为0时),不存在关于是否使用变换跳过的附加语法元素。当在较高级别处用信号发送的指示变换跳过是否可使用的语法元素不存在时,可以将在较高级别处用信号发送的语法元素的值推断为等于0。与是否使用sps_transform_skip_enabled_flag相关的语法元素可以是参考图27和28描述的transform_skip_flag。
如上所述,为了使用BDPCM,应当能够使用变换跳过。参考图36,当在较高级别处用信号发送的指示变换跳过是否可使用的语法元素指示变换跳过可使用时,解码器可以解析在较高级别处用信号发送的指示BDPCM是否可使用的语法元素。同时,当在较高级别处用信号发送的指示变换跳过是否可使用的语法元素指示变换跳过不可使用时,解码器可以不解析在较高级别处用信号发送的指示BDPCM是否可使用的语法元素。在这种情况下,在较高级别处用信号发送的指示BDPCM是否可使用的语法元素可以包括关于亮度分量的信息和关于色度分量的信息。
当sps_bdpcm_enabled_flag的值为1时,解码器可以解析sps_bdpcm_chroma_enabled_flag。同时,当sps_bdpcm_enabled_flag的值为0时,解码器可以不解析sps_bdpcm_chroma_enabled_flag。也就是说,仅当用于亮度分量的BDPCM可使用时,才可以使用用于色度分量的BDPCM。
参考图36,当解码器解析sps_transform_skip_enabled_flag并且作为解析的结果,sps_transform_skip_enabled_flag的值为1时,解码器可以解析sps_bdpcm_enabled_flag。当sps_bdpcm_enabled_flag的值为1时,解码器可以解析sps_bdpcm_chroma_enabled_flag。
图37是图示根据本发明的实施例的关于BDPCM的在较高级别处用信号发送的语法元素的图。
在图37的实施例中,将省略对图36的内容冗余的内容。
参考图37,可以基于色度格式来确定色度BDPCM是否可使用。与颜色格式相关的信息可以包括chroma_format_idc、separate_colour_plance_flag、色度格式、SubWidthC、SubHeightC等。具体地,当颜色格式是4:4:4时,可以使用色度BDPCM。同时,当颜色格式不是4:4:4时,色度BDPCM可能不可使用。因此,是否可以使用色度BDPCM可以基于chroma_format_idc。例如,当chroma_format_idc的值为3时,解码器可以解析指示色度BDPCM是否可使用的语法元素sps_bdpcm_chroma_enabled_flag,否则,解码器可以不解析指示色度BDPCM是否可使用的语法元素sps_bdpcm_chroma_enabled_flag。在本发明中,可以以与色度格式相同的含义使用颜色格式。
图38是图示根据本发明的实施例的与色度BDPCM相关的语法的图。
在较高级别处用信号发送的指示亮度分量的BDPCM是否可使用的语法元素和在较高级别处用信号发送的指示色度分量的BDPCM是否可使用的语法元素可能不单独存在。即,可以由一个语法元素指示用于亮度分量和色度分量两者的BDPCM是否可使用。例如,当在较高级别处用信号发送的指示BDPCM是否可使用的语法元素指示BDPCM可使用时,用于亮度分量的BDPCM或用于色度分量的BDPCM可以是可使用的。另外,在这种情况下,可以存在指示是否使用BDPCM的附加语法元素。例如,附加语法元素可以是上文所述的intra_bdpcm_flag和intra_bdpcm_chroma_flag。同时,当在较高级别处用信号发送的指示BDPCM是否可使用的语法元素指示BDPCM不可使用时,BDPCM可以不被用于亮度分量和色度分量两者。
可以基于在较高级别处用信号发送的指示同一BDPCM是否可用于亮度分量和色度分量两者的语法元素来解析指示是否使用用于亮度分量的BDPCM的语法元素和指示是否使用用于色度分量的BDPCM的语法元素。例如,当指示同一BDPCM是否可使用的语法元素是sps_intra_bdpcm_flag时,如参考图28至29所述,解码器可以解析指示是否使用用于亮度分量的BDPCM的语法元素。也就是说,当sps_bdpcm_enabled_flag的值为1时,解码器可以解析intra_bdpcm_flag(在这种情况下,可以考虑附加条件),并且当sps_bdpcm_enabled_flag的值不是1时,解码器可以不解析intra_bdpcm_flag。
参考图38,可以根据sps_bdpcm_enabled_flag的值执行指示是否使用用于色度分量的BDPCM的语法元素。例如,当sps_bdpcm_enabled_flag的值为1时,解码器可以解析intra_bdpcm_chroma_flag(在这种情况下,可以考虑附加条件),并且当sps_bdpcm_enabled_flag的值不为1时,解码器可以不解析intra_bdpcm_chroma_flag。
对于亮度分量和色度分量,可以不分离指示是否使用编译单元(块)级别的BDPCM的语法元素。也就是说,当指示是否使用BDPCM的语法元素指示使用BDPCM时,BDPCM可以被用于亮度分量和色度分量两者。同时,当指示是否使用BDPCM的语法元素指示不使用BDPCM时,BDPCM可以不被用于亮度分量和色度分量两者。
图39是图示根据本发明的实施例的与帧内预测相关的语法的图。
参考图39,可以根据预设顺序用信号发送与多个帧内预测相关的语法元素。
可以针对每一颜色分量分组并且用信号发送语法元素。例如,与亮度分量相关的语法元素可以被分组并用信号发送。与色度分量相关的语法元素可以被分组并用信号发送。另外,可以按顺序用信号发送与亮度分量相关的语法元素组和与色度分量相关的语法元素组。相反,可以按顺序用信号发送与色度分量相关的语法元素组和与亮度分量相关的语法元素组。
参考图39,将描述按顺序用信号发送与亮度分量相关的语法元素组和与色度分量相关的语法元素组的结构。
与亮度分量相关的语法元素组可以包括以下语法元素。
i)与用于亮度分量的BDPCM相关的语法元素:
语法元素可以包括指示是否可以使用BDPCM的语法元素和指示预测方向的语法元素。例如,图39中所公开的intra_bdpcm_luma_flag和intra_bdpcm_luma_dir_flag可以对应于语法元素。
ii)基于矩阵的帧内预测(MIP)相关语法元素:
语法元素是指指示是否使用MIP预测的语法元素、指示MIP输入矢量是否被转置的语法元素以及指示MIP模式的语法元素。例如,图39中公开的intra_mip_flag、intra_mip_transposed和intra_mip_mode可以对应于语法元素。
iii)指示用于预测的参考线的语法元素:
语法元素可以是指示用于帧内预测的参考线的位置的语法元素。例如,图39中所公开的intra_luma_ref_idx可以对应于语法元素。
iv)帧内子分区(ISP)相关语法元素:
语法元素可以包括指示是否使用ISP的语法元素和指示ISP分区方向的语法元素。例如,图39中公开的intra_subpartitions_mode_flag和intra_subpartitions_split_flag可以对应于语法元素。在这种情况下,ISP是帧内子分区模式或通过将块分区为子分区来预测的方法。
v)指示帧内预测模式的语法元素:
语法元素可以包括指示是否使用MPM列表(候选列表)的语法元素、指示是否使用平面模式的语法元素、指示MPM索引的语法元素和指示不包括在MPM列表中的模式的语法元素。例如,图39中所公开的intra_luma_mpm_flag、intra_luma_not_planar_flag、intra_luma_mpm_idx和intra_luma_mpm_remainder可以对应于语法元素。
与色度分量相关的语法元素组可以包括以下语法元素。
i)与BDPCM相关的色度分量语法元素:
色度分量语法元素可以包括指示是否使用BDPCM的语法元素和指示预测方向的语法元素。例如,图39中公开的intra_bdpcm_chroma_flag和intra_bdpcm_chroma_dir_flag可以对应于色度分量语法元素。
ii)跨分量线性模型(CCLM)相关语法元素:
CCLM相关语法元素可以包括指示是否使用CCLM的语法元素和指示用于预测的CCLM模式的语法元素。例如,图39中所公开的cclm_mode_flag和cclm_mode_idx可以对应于CCLM相关语法元素。CCLM可以是基于另一颜色分量值进行预测的方法。具体地,CCLM可以是基于亮度分量值预测色度分量的方法。
iii)与色度帧内预测模式相关的语法元素:
语法元素可以是用于确定色度分量的帧内预测模式索引的语法元素。例如,图39中所公开的intra_chroma_pred_mode可以对应于语法元素。
参考图39,当treeType为SINGLE_TREE或DUAL_TREE_LUMA时,解码器可以解析与亮度分量相关的语法元素,并且当树类型为SINGLE_TREE或DUAL_TREE_CHROMA时,解码器可以解析与色度分量相关的语法元素。因此,解码器可以连续地解析与亮度分量相关的语法元素组,并且可以连续地解析与色度分量相关的语法组。
参考图39,与色度分量相关的语法元素intra_bdpcm_chroma_flag和intra_bdpcm_chroma_dir_flag可以位于与亮度分量相关的语法元素组之后。因此,当树类型是SINGLE_TREE时,可以解析位于与亮度分量相关的语法元素组之后的intra_bdpcm_chroma_flag和intra_bdpcm_chroma_dir_flag。
通过以这种方式解析,分别连续地定位(解析)与亮度分量相关的语法元素和与色度分量相关的语法元素,因此在存储器管理方面存在优势。也就是说,它在实现方面可能是有效率的。
图40是图示根据本发明的实施例的与帧内预测相关的语法的图。
参考图39,可以不按顺序解析与亮度分量相关的语法元素组和与色度分量相关的语法元素组。例如,可以颠倒并解析参考图39描述的与亮度分量相关的语法元素组和与色度分量相关的语法元素组的语法元素中的一些的次序。具体地,可以连续地解析与用于亮度分量的BDPCM相关的语法元素和与用于色度分量的BDPCM相关的语法元素。可以连续地解析在与亮度分量相关的语法元素组中包括的语法元素中排除与用于亮度分量的BDPCM相关的语法元素的语法元素组和在与色度分量相关的语法元素组中包括的语法元素中排除与用于色度分量的BDPCM相关的语法元素的语法元素组。另外,可以在其他语法元素组之前解析与BDPCM相关的语法元素。
解析语法元素的顺序的实施例如下。
首先,可以解析与用于亮度分量的BDPCM相关的语法元素,并且可以解析与用于色度分量的BDPCM相关的语法元素。然后,在与亮度分量相关的语法元素组中包括的语法元素中,可以解析排除与用于亮度分量的BDPCM相关的语法元素的语法元素组。然后,在与色度分量相关的语法元素组中包括的语法元素之中,可以解析排除与用于色度分量的BDPCM相关的语法元素的语法元素组。
参考图40,intra_bdpcm_luma_flag、intra_bdpcm_luma_dir_flag、intra_bdpcm_chroma_flag和intra_bdpcm_chroma_dir_flag可以位于intra_mip_flag、intra_mip_transposed、intra_mip_mode、intra_luma_ref_idx、intra_subpartitions_mode_flag、intra_subpartitions_split_flag、intra_luma_mpm_flag、intra_luma_not_planar_flag、intra_luma_mpm_idx、intra_luma_mpm_remainder、cclm_mode_flag、cclm_mode_idx和intra_chroma_pred_mode之前。
可替代地,intra_bdpcm_luma_flag、intra_bdpcm_luma_dir_flag、intra_bdpcm_chroma_flag和intra_bdpcm_chroma_dir_flag可以位于intra_mip_flag、intra_mip_transposed、intra_mip_mode、intra_luma_ref_idx、intra_subpartitions_mode_flag、intra_subpartitions_split_flag、intra_luma_mpm_flag、intra_luma_not_planar_flag、intra_luma_mpm_idx、intra_luma_mpm_remainder、cclm_mode_flag、cclm_mode_idx和intra_chroma_pred_mode中的至少一个之前。
参考图40,与用于色度分量的BDPCM相关的语法元素可以位于与亮度分量相关的语法元素之前。通过以这种方式定位,当大量使用色度BDPCM时,存在用于确定是否解析语法元素的动作/操作减少的效果。
亮度BDPCM和色度BDPCM可以共享预测方向。因此,如图40所示,intra_bdpcm_luma_dir_flag和intra_bdpcm_chroma_dir_flag不单独存在,并且可以通过一个语法元素指示亮度BDPCM的预测方向和色度BDPCM的预测方向。在这种情况下,是否使用亮度BDPCM和是否使用色度BDPCM可能不是独立的。例如,为了使用色度BDPCM,可能需要使用亮度BDPCM。因此,指示是否使用亮度BDPCM的语法元素和指示是否使用色度BDPCM的语法元素可以相关。只有当指示是否使用亮度BDPCM的语法元素指示使用亮度BDPCM时,才可以解析指示是否使用色度BDPCM的语法元素。
图41是图示根据本发明的实施例的序列参数集语法的图。
序列参数集(SPS)语法可以是应用于编译视频序列(CVS)的语法。SPS语法是否应用于CVS可以通过由切片头的语法元素参考的图片参数集(PPS)的语法元素值来确定。
图41中所公开的语法元素可以是SPS语法元素中的一些。参考图41,SPS语法可以包括语法元素,诸如pic_width_max_in_luma_samples、pic_height_max_in_luma_samples、sps_log2_ctu_size_minus5、subpics_present_flag、sps_num_subpics_minus1、subpic_ctu_top_left_x、subpic_ctu_top_left_y、subpic_width_minus1、subpic_height_minus1、subpic_treated_as_pic_flag、loop_filter_across_subpic_enabled_flag、sps_subpic_id_present_flag、sps_subpic_id_signalling_present_flag、sps_subpic_id_len_minus1和sps_subpic_id。另外,包括在SPS语法中的语法元素中的一些可以存在与子图片的数量一样多的数量。例如,语法元素subpic_ctu_top_left_x、subpic_ctu_top_left_y、subpic_width_minus1、subpic_height_minus1、subpic_treated_as_pic_flag、loop_filter_across_subpic_enabled_flag和sps_subpic_id可以存在与子图片的数量一样多。具体地,这些语法元素可以表示为syntaxElement[I],其中,i可以是0至(子图片的数量-1)。在这种情况下,syntaxElements可以是存在与子图片的数量一样多的语法元素。
子图片可以是比图片或帧更低的单元。例如,图片或帧可以包括一个或多个子图片。在这种情况下,子图片可以是矩形区域。具体地,子图片可以是指由图片中的一或多个切片组成的矩形区域。另外,子图片可以被独立地解码。因此,即使解码器仅接收关于图片中的某个子图片的信息,解码器也可以解码并重构所接收的子图片。另外,图片中的多个子图片可以彼此不重叠。
参考图41,当subpics_present_flag的值为1时,解码器可以解析sps_num_subpics_minus1、subpic_ctu_top_left_x、subpic_ctu_top_left_y、subpic_width_minus1、subpic_height_minus1、subpic_treated_as_pic_flag和loop_filter_across_subpic_enabled_flag。另外,subpic_ctu_top_left_x、subpic_ctu_top_left_y、subpic_height_minus1、subpic_treated_as_pic_flag和loop_filter_across_subpic_enabled_flag可以分别被解析为与(sps_num_subpics_minus1+1)一样多。
将参考图42描述上述SPS语法的语法元素和子图片信令方法。
图42是图示根据本发明的实施例的与子图片相关的语法元素的图。
图42中所公开的pic_width_max_in_luma_samples是指示图片的最大宽度的语法元素,并且在这种情况下,图片的最大宽度可以以亮度样本为单位表达。pic_width_max_in_luma_samples的值可以不为0,并且可以是预设值的整数倍。预设值可以是8和最小编译块大小中的较大值。在这种情况下,最小编译块大小可以基于亮度样本来确定,并且可以被描述为MinCbSizeY。
另外,pic_height_max_in_luma_samples是指示图片的最大高度的语法元素,并且在这种情况下,图片的最大高度可以以亮度样本为单位来表示。另外,pic_height_max_in_luma_samples的值可以不是0,并且可以是预设值的整数倍。预设值可以是8和最小编译块大小中的较大值。在这种情况下,最小编译块大小可以基于亮度样本来确定,并且可以被描述为MinCbSizeY。
当图片使用子图片时,pic_width_max_in_luma_samples和pic_height_max_in_luma_samples分别指图片的宽度和高度。在这种情况下,图片的最大宽度和最大高度可以分别与图片的宽度和高度相同。
sps_log_2_ctu_size_minus5可以是指示编译树单元(CTU)的编译树块(CTB)的大小的语法元素。具体地,sps_log_2_ctu_size_minus5可以指示亮度编译树块的大小。另外,sps_log_2_ctu_size_minus5可以具有通过以亮度样本为单位取CTB大小的log2然后从中减去预设值而获得的值。如果亮度编译树块的大小为CtbSizeY,则CtbSizeY可以是(1<<(sps_log2_ctu_size_minus5+预设值))。预设值可以是5。也就是说,当sps_log2_ctu_size_minus5是0、1和2时,CtbSizeY值可以分别是32、64和128。另外,sps_log2_ctu_size_minus5值可以是2或更小。
subpics_present_flag是指示子图片参数是否存在的语法元素。subpics_present_flag指示是否可以使用子图片或者是否可以将子图片的数量用信号发送为大于1的值。在这种情况下,子图片参数可以包括sps_num_subpics_minus1、subpic_ctu_top_left_x、subpic_ctu_top_left_y、subpic_width_minus1、subpic_height_minus1、subpic_treated_as_pic_flag、loop_filter_across_subpic_enabled_flag等。
sps_num_subpics_minus1可以是指示子图片的数量的语法元素。例如,通过将预设值与sps_num_subpics_minus1的值相加而获得的值可以是子图片的数量。在这种情况下,预设值可以是1。在这种情况下,子图片的数量可以用信号发送为1或更大的值。另外,预设值可以是2。在这种情况下,子图片的数量可以用信号发送为2或更大的值。sps_num_subpics_minus1值为0或更大且254或更小,并且可以以8比特表示。同时,当sps_num_subpics_minus1值不存在时,可以将sps_num_subpics_minus1的值推断为等于0。
图42中公开的subpic_ctu_top_left_x、subpic_ctu_top_left_y、subpic_width_minus1和subpic_height_minus1是指示每个子图片的位置和大小的语法元素。subpic_ctu_top_left_x[i]、subpic_ctu_top_left_y[i]、subpic_width_minus1[i]和subpic_height_minus1[i]指示对应于第i个子图片的值。在这种情况下,i的值可以等于或大于0并且小于或等于sps_num_subpics_minus1的值。
subpic_ctu_top_left_x可以指示子图片的左上位置的x坐标(水平位置)。具体地,subpic_ctu_top_left_x可以指示子图片的左上CTU的x坐标。在这种情况下,坐标可以以CTU或CTB为单位表示。例如,坐标可以以CtbSizeY为单位表示。另外,subpic_ctu_top_left_x可以用信号发送为无符号整数值,并且在这种情况下,比特数可以是Ceil(Log2(pic_width_max_in_luma_samples/CtbSizeY))。同时,当subpic_ctu_top_left_x的值不存在时,可以将subpic_ctu_top_left_x的值推断为等于0。
subpic_ctu_top_left_y可以指示子图片的左上位置的y坐标(垂直位置)。具体地,subpic_ctu_top_left_y可以指示子图片的左上CTU的y坐标。在这种情况下,坐标可以以CTU或CTB为单位表示。例如,坐标可以CtbSizeY为单位表示。另外,subpic_ctu_top_left_y可以用信号发送为无符号整数值。在这种情况下,比特数可以是Ceil(Log2(pic_height_max_in_luma_samples/CtbSizeY))。同时,当subpic_ctu_top_left_y的值不存在时,可以将subpic_ctu_top_left_y的值推断为等于0。
subpic_width_minus1可以指示子图片的宽度。例如,通过将预设值与subpic_width_minus1的值相加而获得的值可以是子图片的宽度。在这种情况下,预设值可以是1。另外,子图片的宽度可以以CTU为单位或以CTB为单位表示。例如,子图片的宽度可以以CtbSizeY为单位来表示。另外,subPic_width_minus1可以用信号发送为无符号整数值,并且在这种情况下,比特数可以是Ceil(Log2(pic_width_max_in_luma_samples/CtbSizeY))。同时,当subpic_width_minus1的值不存在时,可以将subpic_width_minus1的值推断为等于(Ceil(pic_width_max_in_luma_samples/CtbSizeY)-1)。
subpic_height_minus1可以指示子图片的高度。例如,通过将预设值与subpic_height_minus1的值相加而获得的值可以是子图片的高度。在这种情况下,预设值可以是1。另外,子图片的高度可以以CTU为单位或以CTB为单位表示。例如,子图片的高度可以以CtbSizeY为单位来表示。另外,subpic_height_minus1可以用信号发送为无符号整数值,并且在这种情况下,比特数可以是Ceil(Log2(pic_height_max_in_luma_samples/CtbSizeY))。同时,当subpic_height_minus1值不存在时,可以将subpic_height_minus1值推断为等于(Ceil(pic_height_max_in_luma_samples/CtbSizeY)-1)。
本发明中描述的Ceil(x)值可以是大于或等于x的最小整数。在上述比特数的计算中执行与Ceil(Log2(x))相同的运算,其是用于计算表示二进制格式的x的值所需的比特数的运算,x是大于或等于0的整数。
另外,当确定子图片的位置和大小时,可以计算子图片边界位置。由此,可以确定子图片中存在的位置。
图43是图示根据本发明的实施例的运算符的图。
参考图43,可以定义多个除法运算。
“/”可以表示整数除法。也就是说,“/”的结果值可以是整数。具体地,当使“/”运算的结果值为整数时,可以将其朝向零截断。例如,7/4和(-7)/(-4)的值为1。此外,(-7)/4和7/(-4)的值为-1。整数除法可以用在关于图42中所描述的比特数的运算或推断比特数的运算中。
“÷”是不执行截断或舍入的除法运算。因此,“÷”运算的结果值可以是或可以不是整数。例如,7÷4和(-7)÷(-4)的值可以大于1。此外,(-7)÷4和7÷(-4)的值可以小于-1。
图44是图示根据本发明的实施例的图片和子图片的图。
如上所述,图片可以被划分为多个子图片。在这种情况下,可以通过图42中公开的信令来确定如何划分子图片或如何配置子图片。然而,根据参考图42至43描述的实施例,可能存在不能通过信令表示的范围。例如,当图片的宽度不可被CtbSizeY整除或图片的高度不可被CtbSizeY整除时,可能存在不可表示的子图片结构。具体地,当图片的宽度不能被CtbSizeY整除时,pic_width_max_in_luma_samples/CtbSizeY值朝向0截断,因此可能不表达图片的最右CTB的位置。另外,当图片的高度不可被CtbSizeY整除时,pic_height_max_in_luma_samples/CtbSizeY值朝向0截断,因此可能不表达图片的最下CTB的位置。因此,当图片的宽度不可被CtbSizeY整除并且子图片的宽度与图片的宽度相同时,上述信令可以不表示子图片的宽度。另外,当图片的宽度不可被CtbSizeY整除并且子图片的水平位置是最右CTB时,上述信令可以不表示子图片的左上x坐标。
具体地,参考图44,图片的宽度可以是1032个亮度样本。另外,CtbSizeY可以是128个亮度样本。如在图44的子图片0中,子图片的宽度可以与图片的宽度相同。在这种情况下,由于子图片0的宽度以CtbSizeY为单位为9,因此subpic_width_minus1的值应当表示8。然而,由于pic_width_max_in_luma_samples/CtbSizeY(1032/128)值为8,因此ceil(log2(pic_width_max_in_luma_samples/CtbSizeY))值为3。因此,Subpic_width_minus1具有以下问题:仅值0至7可以使用3比特来表示,而8可能无法被表示。另外,可能存在subpic_width_minus1的值不存在并且因此被推断的情况。在这种情况下,由于图片由一个子图片组成,因此应当推断子图片的宽度等于图片宽度,但如上所述,当图片的宽度不可被CtbSizeY整除时,可以不推断子图片宽度。
参考图44,如在子图片2中,子图片的左上x坐标可以是最右CTB。在这种情况下,子图片的左上x坐标应当以CtbSizeY为单位表示第9值,并且当坐标以0开始时表示8的值。然而,由于pic_width_max_in_luma_samples/CtbSizeY值为8,因此ceil(log2(pic_width_max_in_luma_samples/CtbSizeY))值为3。因此,subpic_ctu_top_left_x具有仅值0到7可以使用3个比特来表示并且8可能无法被表示的问题。
图45是图示根据本发明的实施例的与子图片相关的语法元素的图。
如参考图44所述,当pic_width_max_in_luma_samples不能被CtbSizeY整除时,存在pic_width_max_in_luma_samples/CtbSizeY经受截断(向下舍入(flooring))并且表达范围缩小的问题。类似地,当pic_height_max_in_luma_samples不能被CtbSizeY整除时,pic_height_max_in_luma_samples/CtbSizeY被截断(向下舍入),并且表达范围被缩小。因此,本发明提出了一种不发生截断的运算方法。
例如,由于子图片的左上的x坐标和y坐标、子图片的宽度和子图片的高度以CtbSizeY为单位表示,因此它们应当被CtbSizeY整除。在这种情况下,可以使用图43中描述的“÷”运算。
subpic_ctu_top_left_x可以表示子图片的左上位置的x坐标(水平位置)。具体地,subpic_ctu_top_left_x可以表示子图片的左上CTU的x坐标。在这种情况下,坐标可以以CTU为单位或以CTB为单位表示。例如,它可以以CtbSizeY为单位来表示。subpic_ctu_top_left_x可以用信号发送为无符号整数的值,并且subpic_ctu_top_left_x的比特数可以是Ceil(Log2(pic_width_max_in_luma_samples÷CtbSizeY))。同时,当subpic_ctu_top_left_x的值不存在时,可以将subpic_ctu_top_left_x的值推断为等于0。在这种情况下,subpic_ctu_top_left_x的比特数可以被确定为Ceil(Log2(Ceil(pic_width_max_in_luma_samples÷CtbSizeY)))。
subpic_ctu_top_left_y可以表示子图片的左上位置的y坐标(垂直位置)。具体地,subpic_ctu_top_left_y可以表示子图片的左上CTU的y坐标。在这种情况下,坐标可以以CTU为单位或以CTB为单位表示。例如,它可以以CtbSizeY为单位来表示。subpic_ctu_top_left_y可以用信号发送为无符号整数的值,并且subpic_ctu_top_left_y的比特数可以是Ceil(Log2(pic_height_max_in_luma_samples÷CtbSizeY))。同时,当subpic_ctu_top_left_y的值不存在时,可以将subpic_ctu_top_left_y的值推断为等于0。在这种情况下,subpic_ctu_top_left_y的比特数可以被确定为Ceil(Log2(Ceil(pic_height_max_in_luma_samples÷CtbSizeY)))。
subpic_width_minus1可以指示子图片的宽度。例如,通过将预设值与subpic_width_minus1的值相加而获得的值可以指示子图片的宽度。在这种情况下,预设值可以是1。另外,子图片的宽度可以以CTU为单位或以CTB为单位表示。例如,子图片的宽度可以以CtbSizeY为单位来表示。subpic_width_minus1可以用信号发送为无符号整数值,并且subpic_width_minus1的比特数可以是Ceil(Log2(pic_width_max_in_luma_samples÷CtbSizeY))。同时,当subpic_width_minus1的值不存在时,可以将subpic_width_minus1的值推断为等于(Ceil(pic_width_max_in_luma_samples÷CtbSizeY)-1)。
在这种情况下,subpic_width_minus1的比特数可以被确定为Ceil(Log2(Ceil(pic_width_max_in_luma_samples÷CtbSizeY)))。
subpic_height_minus1可以指示子图片的高度。例如,通过将预设值与subpic_height_minus1的值相加而获得的值可以表示子图片的高度。在这种情况下,预设值可以是1。另外,子图片的高度可以以CTU为单位或以CTB为单位表示。例如,子图片的高度可以以CtbSizeY为单位来表示。subpic_height_minus1可以用信号发送为无符号整数值,并且subpic_height_minus1的比特数可以是Ceil(Log2(pic_height_max_in_luma_samples÷CtbSizeY))。同时,当subpic_height_minus1的值不存在时,可以将subpic_height_minus1的值推断为等于(Ceil(pic_height_max_in_luma_samples÷CtbSizeY)-1)。在这种情况下,subpic_height_minus1的比特数可以被确定为Ceil(Log2(Ceil(pic_height_max_in_luma_samples÷CtbSizeY)))。
可以通过使用图45中公开的语法元素来扩展子图片的位置和大小的表达范围。如上所述,当语法元素不存在且因此推断语法元素的值时,比特数的计算可以为Ceil(Log2(Ceil(x)))。这在实现可以仅接收Log2(y)的y作为整数的设备(解码器/编码器)方面可能是有利的。上述(pic_width_max_in_luma_samples÷CtbSizeY)和(pic_height_max_in_luma_samples÷CtbSizeY)的值分别表示图片的宽度和图片的高度由多少CtbSizeY单元组成。当使用图45所示的语法元素时,可以表示图44所示的子图片0的宽度和子图片2的x坐标。
图46是图示根据本发明的实施例的分区变换块的方法的流程图。
在下文中,将描述基于参考图1至45描述的实施例的用于分区变换块的方法和装置。
视频信号解码设备可以包括执行分区变换块的方法的处理器。首先,视频信号解码设备可以接收包括关于变换块的信息(例如,语法元素)的比特流。处理器可以基于预设条件来确定指示当前变换块(TB)的分区方向的结果值(S4601)。处理器可以基于结果值将当前变换块分区为多个变换块(S4602)。处理器可以使用多个变换块对视频信号进行解码(S4603)。
另外,视频信号编码设备可以包括处理器,该处理器基于预设条件确定指示当前变换块(TB)的分区方向的结果值,基于结果值将当前变换块分割为多个变换块,并且生成包括关于多个变换块的信息的比特流。
在这种情况下,预设条件可以包括与当前变换块的颜色分量相关的条件。
在这种情况下,上述预设条件附加地包括与当前变换块的宽度和最大变换块宽度的比较的结果相关的条件,并且最大变换块宽度可以基于与当前变换块相关的色度格式、当前变换块的颜色分量和最大变换大小来确定。
在这种情况下,预设方法还包括与比较第一宽度值和第一高度值的结果相关的条件,第一宽度值是通过将当前变换块的宽度乘以第一值而获得的值,第一高度值是通过将当前变换块的高度乘以第二值而获得的值,第一值和第二值分别是与当前变换块的宽度和当前变换块的高度相关的值,以及如果当前变换块的颜色分量是亮度,则将第一值和第二值分别设置为1,而如果当前变换块的颜色分量是色度,则基于与当前变换块相关的色度格式分别确定第一值和第二值。
在当前变换块的宽度大于最大变换块宽度并且第一宽度值大于第一高度值时,结果值可以被确定为1,其是指示分区方向为垂直方向的值。在这种情况下,多个变换块中的每一个的宽度可以是通过将变换块的宽度除以2获得的值,并且多个变换块中的每一个的高度可以是与变换块的高度相同的值。
在当前变换块的宽度小于或等于最大变换块宽度或第一宽度值小于或等于第一高度值时,结果值可以被确定为0,其为指示分区方向为水平方向的值。在这种情况下,多个变换块中的每一个的宽度可以是与变换块的宽度相同的值,并且多个变换块中的每一个的高度可以是通过将变换块的高度除以2而获得的值。
在这种情况下,预设条件可以是通过上述等式2至4描述的条件。
可以基于包括在与当前变换块相关的编译树单元(CTU)中的具有亮度分量的编译树块(CTB)的大小来确定最大变换大小。当编译树块的大小为32时,最大变换大小可以是32。
如果当前变换块的颜色分量是色度,则处理器可以解析指示与当前变换块相关的编译块的预测方法是否是基于块的增量脉码调制(BDPCM)的语法元素。此后,作为解析的结果,当编译块的预测方法不是BDPCM时,处理器还可以解析与编译块的预测方法相关的语法元素,并且基于解析结果确定编译块的预测方法。在这种情况下,与编译块的预测方法相关的语法元素是指示跨分量线性模型(CCLM)、平面模式、DC模式、垂直模式、水平模式、对角线模式和DM模式中的至少一个的语法元素。
可以通过各种手段来实现本发明的上述实施例。例如,可以通过硬件、固件、软件或其组合来实现本发明的实施例。
对于通过硬件实现的情况,可以通过专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器等中的一个或多个来实现根据本发明的实施例的方法。
在通过固件或软件实现的情况下,可以以执行上述功能或操作的模块、过程或函数的形式来实现根据本发明的实施例的方法。可以将软件代码存储在存储器中并由处理器驱动。存储器可以位于处理器内部或外部,并且可以通过各种已知的方式与处理器交换数据。
还可以以诸如由计算机执行的程序模块的包括计算机可执行指令的记录介质的形式来实现某些实施例。计算机可读介质可以是可由计算机访问的任何可用介质,并且可以包括所有易失性、非易失性、可移除和不可移除的介质。另外,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任何用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的方法或技术实现的所有易失性、非易失性、可移动和不可移动介质。通常,通信介质包括计算机可读指令、调制数据信号的其他数据(诸如数据结构或程序模块)或其他传输机制,并且包括任何信息传输介质。
本发明的上述描述仅用于说明目的,并且将会理解,本发明所属的本领域的普通技术人员可以在不改变本发明的技术思想或者基本特征的情况下对本发明进行改变,并且本发明可以以其他特定形式容易地被修改。因此,上述实施例是说明性的,并且在所有方面均不受限制。例如,被描述为单个实体的每个组件可以被分布和实现,并且同样,被描述为被分布的组件也可以以关联的方式被实现。
本发明的范围由所附权利要求书而不是上述详细描述来限定,并且从所附权利要求书的含义和范围及其等效物导出的所有改变或修改都应解释为包括在本发明的范围内。
Claims (20)
1.一种视频信号解码设备,包括处理器,
其中,所述处理器被配置为:
基于预设条件,确定指示当前变换块(TB)的分区方向的结果值,
基于所述结果值,将所述当前变换块分割为多个变换块,以及
通过使用所述多个变换块来解码视频信号,
其中,所述预设条件包括与所述当前变换块的颜色分量相关的条件。
2.根据权利要求1所述的视频信号解码设备,
其中,所述预设条件附加地包括与比较所述当前变换块的宽度和最大变换块宽度的结果相关的条件,以及
其中,基于与所述当前变换块相关的色度格式、所述当前变换块的颜色分量和最大变换大小,确定所述最大变换块宽度。
3.根据权利要求2所述的视频信号解码设备,
其中,所述预设方法附加地包括与比较第一宽度值和第一高度值的结果相关的条件,所述第一宽度值是通过将所述当前变换块的宽度乘以第一值而获得的值,所述第一高度值是通过将所述当前变换块的高度乘以第二值而获得的值,
其中,所述第一值和所述第二值分别是与所述当前变换块的宽度和所述当前变换块的高度相关的值,以及
其中,如果所述当前变换块的颜色分量为亮度,则将所述第一值和所述第二值分别设定为1,并且如果所述当前变换块的颜色分量为色度,则基于与所述当前变换块相关的色度格式来分别确定所述第一值和所述第二值。
4.根据权利要求3所述的视频信号解码设备,
其中,当所述当前变换块的宽度大于所述最大变换块宽度并且所述第一宽度值大于所述第一高度值时:
所述结果值被确定为1,其是指示所述分区方向是垂直方向的值,
所述多个变换块中的每一个的宽度是通过将所述变换块的宽度除以2而获得的值,以及
所述多个变换块中的每一个的高度与所述变换块的高度相同。
5.根据权利要求3所述的视频信号解码设备,
其中,当所述当前变换块的宽度小于或等于所述最大变换块宽度,或所述第一宽度值小于或等于所述第一高度值时:
所述结果值被确定为0,其是指示所述分区方向是水平方向的值,
所述多个变换块中的每一个的宽度与所述变换块的宽度相同,以及
所述多个变换块中的每一个的高度是通过将所述变换块的高度除以2而获得的值。
6.根据权利要求2所述的视频信号解码设备,
其中,基于包括在与所述当前变换块相关的编译树单元(CTU)中的具有亮度分量的编译树块(CTB)的大小,确定所述最大变换大小。
7.根据权利要求6所述的视频信号解码设备,
其中,当所述编译树块的大小为32时,所述最大变换大小为32。
8.根据权利要求1所述的视频信号解码设备,
其中,所述处理器被配置为:
当所述当前变换块的颜色分量为色度时,解析指示与所述当前变换块相关的编译块的预测方法是否为基于块的增量脉码调制(BDPCM)的语法元素,
当作为解析的结果,所述编译块的预测方法不是BDPCM时,附加地解析与所述编译块的预测方法相关的语法元素,以及
基于所述解析结果确定所述编译块的预测方法,
其中,与所述编译块的预测方法相关的所述语法元素是指示跨分量线性模型(CCLM)、平面模式、DC模式、垂直模式、水平模式、对角线模式及DM模式中的至少一个的语法元素。
9.一种视频信号编码设备,其包括处理器,
其中,所述处理器被配置为:
基于预设条件,确定指示当前变换块(TB)的分区方向的结果值,
基于所述结果值,将所述当前变换块分割为多个变换块,以及
生成包括关于所述多个变换块的信息的比特流,
其中,所述预设条件包括与所述当前变换块的颜色分量相关的条件。
10.根据权利要求9所述的视频信号编码设备,
其中,所述预设条件附加地包括与比较所述当前变换块的宽度和最大变换块宽度的结果相关的条件,以及
其中,基于与所述当前变换块相关的色度格式、所述当前变换块的颜色分量和最大变换大小,确定所述最大变换块宽度。
11.根据权利要求10所述的视频信号编码设备,
其中,所述预设方法附加地包括与比较第一宽度值和第一高度值的结果相关的条件,所述第一宽度值是通过将所述当前变换块的宽度乘以第一值而获得的值,所述第一高度值是通过将所述当前变换块的高度乘以第二值而获得的值,
其中,所述第一值和所述第二值分别是与所述当前变换块的宽度和所述当前变换块的高度相关的值,以及
其中,如果所述当前变换块的颜色分量为亮度,则将所述第一值和所述第二值分别设定为1,并且如果所述当前变换块的颜色分量为色度,则基于与所述当前变换块相关的色度格式来分别确定所述第一值和所述第二值。
12.根据权利要求11所述的视频信号编码设备,
其中,当所述当前变换块的宽度大于所述最大变换块宽度并且所述第一宽度值大于所述第一高度值时:
所述结果值被确定为1,其是指示所述分区方向是垂直方向的值,
所述多个变换块中的每一个的宽度是通过将所述变换块的宽度除以2而获得的值,以及
所述多个变换块中的每一个的高度与所述变换块的高度相同。
13.根据权利要求11所述的视频信号编码设备,
其中,当所述当前变换块的宽度小于或等于所述最大变换块宽度,或所述第一宽度值小于或等于所述第一高度值时:
所述结果值被确定为0,其是指示所述分区方向是水平方向的值,
所述多个变换块中的每一个的宽度与所述变换块的宽度相同,以及
所述多个变换块中的每一个的高度是通过将所述变换块的高度除以2而获得的值。
14.根据权利要求10所述的视频信号编码设备,
其中,基于包括在与所述当前变换块相关的编译树单元(CTU)中的具有亮度分量的编译树块(CTB)的大小,确定所述最大变换大小。
15.根据权利要求14所述的视频信号编码设备,
其中,当所述编译树块的大小为32时,所述最大变换大小为32。
16.根据权利要求9所述的视频信号编码设备,
其中,所述处理器被配置为:
当所述当前变换块的颜色分量为色度时,
解析指示与所述当前变换块相关的编译块的预测方法是否为基于块的增量脉码调制(BDPCM)的语法元素,
当作为解析的结果,所述编译块的预测方法不是BDPCM时,附加地解析与所述编译块的预测方法相关的语法元素,以及
基于所述解析结果确定所述编译块的预测方法,
其中,与所述编译块的预测方法相关的所述语法元素是指示跨分量线性模型(CCLM)、平面模式、DC模式、垂直模式、水平模式、对角线模式以及DM模式中的至少一个的语法元素。
17.一种用于存储比特流的非暂时性计算机可读介质,
其中,所述比特流由编码方法编码,所述编码方法包括:
基于预设条件,确定指示当前变换块(TB)的分区方向的结果值,
基于所述结果值,将所述当前变换块分区为多个变换块,以及
编码包括关于所述多个变换块的信息的比特流,
其中,所述预设条件包括与所述当前变换块的颜色分量相关的条件。
18.根据权利要求17所述的非暂时性计算机可读介质,
其中,所述预设条件附加地包括与比较所述当前变换块的宽度和最大变换块宽度的结果相关的条件,以及
其中,基于与所述当前变换块相关的色度格式、所述当前变换块的颜色分量和最大变换大小,确定所述最大变换块宽度。
19.根据权利要求18所述的非暂时性计算机可读介质,
其中,所述预设方法附加地包括与比较第一宽度值和第一高度值的结果相关的条件,所述第一宽度值是通过将所述当前变换块的宽度乘以第一值而获得的值,所述第一高度值是通过将所述当前变换块的高度乘以第二值而获得的值,
其中,所述第一值和所述第二值分别是与所述当前变换块的宽度和所述当前变换块的高度相关的值,以及
其中,如果所述当前变换块的颜色分量为亮度,则将所述第一值和所述第二值分别设定为1,并且如果所述当前变换块的颜色分量为色度,则基于与所述当前变换块相关的色度格式来分别确定所述第一值和所述第二值。
20.根据权利要求18所述的非暂时性计算机可读介质,
其中,基于包括在与所述当前变换块相关的编译树单元(CTU)中的具有亮度分量的编译树块(CTB)的大小,确定所述最大变换大小。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20190087951 | 2019-07-19 | ||
KR10-2019-0087951 | 2019-07-19 | ||
KR10-2019-0102908 | 2019-08-22 | ||
KR20190102908 | 2019-08-22 | ||
KR20190128764 | 2019-10-16 | ||
KR10-2019-0128764 | 2019-10-16 | ||
KR20190171122 | 2019-12-19 | ||
KR10-2019-0171122 | 2019-12-19 | ||
PCT/KR2020/009563 WO2021015524A1 (ko) | 2019-07-19 | 2020-07-20 | 비디오 신호 처리 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114145014A true CN114145014A (zh) | 2022-03-04 |
Family
ID=74193547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080052141.1A Pending CN114145014A (zh) | 2019-07-19 | 2020-07-20 | 处理视频信号的方法和设备 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220141465A1 (zh) |
EP (1) | EP4002847B1 (zh) |
JP (2) | JP7379656B2 (zh) |
KR (1) | KR20220032566A (zh) |
CN (1) | CN114145014A (zh) |
WO (1) | WO2021015524A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3081657A1 (fr) * | 2018-06-27 | 2019-11-29 | Orange | Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image. |
JP7265040B2 (ja) | 2019-05-13 | 2023-04-25 | 北京字節跳動網絡技術有限公司 | 変換スキップ・モードのブロック寸法設定 |
CN117354528A (zh) * | 2019-05-22 | 2024-01-05 | 北京字节跳动网络技术有限公司 | 基于子块使用变换跳过模式 |
CN114365490B (zh) * | 2019-09-09 | 2024-06-18 | 北京字节跳动网络技术有限公司 | 高精度图像和视频编解码的系数缩放 |
JP2022548203A (ja) * | 2019-09-13 | 2022-11-17 | アリババ グループ ホウルディング リミテッド | サブブロック変換情報を信号化するための方法及び装置 |
JP7323712B2 (ja) | 2019-09-21 | 2023-08-08 | 北京字節跳動網絡技術有限公司 | 画像およびビデオコーディングのための高精度変換および量子化 |
JP7315509B2 (ja) * | 2020-03-30 | 2023-07-26 | Kddi株式会社 | 画像復号装置、画像復号方法及びプログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9635368B2 (en) * | 2009-06-07 | 2017-04-25 | Lg Electronics Inc. | Method and apparatus for decoding a video signal |
CN102957907B (zh) * | 2011-08-31 | 2016-06-29 | 华为技术有限公司 | 一种变换块位置信息的获取方法和模块 |
US9807401B2 (en) * | 2011-11-01 | 2017-10-31 | Qualcomm Incorporated | Transform unit partitioning for chroma components in video coding |
AU2013200051B2 (en) | 2013-01-04 | 2016-02-11 | Canon Kabushiki Kaisha | Method, apparatus and system for de-blocking video data |
CN107637078B (zh) * | 2015-03-31 | 2020-05-26 | 瑞尔数码有限公司 | 整数变换系数的视频译码***和方法 |
CN114786009A (zh) | 2016-03-16 | 2022-07-22 | 寰发股份有限公司 | 视频编码中限制块尺寸的视频数据处理方法与装置 |
KR102568900B1 (ko) * | 2016-10-10 | 2023-08-21 | 삼성전자주식회사 | 영상을 부호화/복호화 하는 방법 및 그 장치 |
EP3503550A1 (en) * | 2016-10-10 | 2019-06-26 | Samsung Electronics Co., Ltd. | Method and device for encoding or decoding luma block and chroma block |
CN116647677A (zh) | 2016-10-28 | 2023-08-25 | 韩国电子通信研究院 | 视频编码/解码方法和设备以及存储比特流的记录介质 |
US10893286B2 (en) * | 2018-10-09 | 2021-01-12 | Tencent America LLC | Methods and apparatus for low-complexity MTS |
US11159795B2 (en) * | 2019-03-04 | 2021-10-26 | Tencent America LLC | Max transform size control |
-
2020
- 2020-07-20 KR KR1020227002239A patent/KR20220032566A/ko unknown
- 2020-07-20 EP EP20844951.2A patent/EP4002847B1/en active Active
- 2020-07-20 WO PCT/KR2020/009563 patent/WO2021015524A1/ko active Application Filing
- 2020-07-20 JP JP2022503871A patent/JP7379656B2/ja active Active
- 2020-07-20 CN CN202080052141.1A patent/CN114145014A/zh active Pending
-
2022
- 2022-01-18 US US17/578,402 patent/US20220141465A1/en active Pending
-
2023
- 2023-11-01 JP JP2023188012A patent/JP2023181460A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP7379656B2 (ja) | 2023-11-14 |
EP4002847A1 (en) | 2022-05-25 |
WO2021015524A1 (ko) | 2021-01-28 |
US20220141465A1 (en) | 2022-05-05 |
KR20220032566A (ko) | 2022-03-15 |
EP4002847A4 (en) | 2022-12-14 |
JP2023181460A (ja) | 2023-12-21 |
EP4002847B1 (en) | 2024-07-17 |
JP2022541798A (ja) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112840654B (zh) | 使用多假设预测的视频信号处理方法和装置 | |
EP4358514A2 (en) | Video signal processing method and device | |
CN113302927B (zh) | 使用运动补偿的视频信号处理方法和设备 | |
EP4002847B1 (en) | Method and device for processing video signal | |
US11979554B2 (en) | Intra prediction-based video signal processing method and device | |
US20240195954A1 (en) | Video signal processing method and device | |
KR20210084567A (ko) | 화면 내 예측 필터링을 이용한 비디오 신호 처리 방법 및 장치 | |
CN113454992A (zh) | 基于帧内预测的视频信号处理方法和设备 | |
CN112823526B (zh) | 通过使用交叉分量线性模型来处理视频信号的方法和设备 | |
CN113966610A (zh) | 使用块dpcm预测方法的视频信号处理方法和设备 | |
CN113853791A (zh) | 数字视频中的变换旁路编解码残差块 | |
JP2024060107A (ja) | 現在ピクチャ参照を用いたビデオ信号処理方法及び装置 | |
CN115606177A (zh) | 在跨分量视频编解码中使用相邻样点 | |
JP7524188B2 (ja) | 現在ピクチャ参照を用いたビデオ信号処理方法及び装置 | |
CN113491116B (zh) | 基于帧内预测的视频信号处理方法和装置 | |
CN113228636B (zh) | 使用当前图片参考的视频信号处理方法和设备 |
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 |
Effective date of registration: 20220825 Address after: Gyeonggi Do, South Korea Applicant after: WILUS INSTITUTE OF STANDARDS AND TECHNOLOGY Inc. Address before: Gyeonggi Do, South Korea Applicant before: WILUS INSTITUTE OF STANDARDS AND TECHNOLOGY Inc. Applicant before: HUMAX Co.,Ltd. |
|
TA01 | Transfer of patent application right |