CN116320457B - 以4:4:4色度格式进行视频编解码的方法和装置 - Google Patents
以4:4:4色度格式进行视频编解码的方法和装置 Download PDFInfo
- Publication number
- CN116320457B CN116320457B CN202310531097.8A CN202310531097A CN116320457B CN 116320457 B CN116320457 B CN 116320457B CN 202310531097 A CN202310531097 A CN 202310531097A CN 116320457 B CN116320457 B CN 116320457B
- Authority
- CN
- China
- Prior art keywords
- video
- act
- residual
- block
- prediction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- 238000013139 quantization Methods 0.000 claims abstract description 61
- 230000003044 adaptive effect Effects 0.000 claims abstract description 23
- 239000011159 matrix material Substances 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 49
- 238000003860 storage Methods 0.000 claims description 20
- 230000008859 change Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 241000023320 Luma <angiosperm> Species 0.000 description 75
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 75
- 239000013598 vector Substances 0.000 description 40
- 230000008569 process Effects 0.000 description 30
- 238000013461 design Methods 0.000 description 26
- 230000011664 signaling Effects 0.000 description 26
- 238000013507 mapping Methods 0.000 description 23
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 22
- 238000010586 diagram Methods 0.000 description 20
- 238000013459 approach Methods 0.000 description 19
- 239000000523 sample Substances 0.000 description 19
- 230000009466 transformation Effects 0.000 description 18
- 238000005192 partition Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 15
- 230000011218 segmentation Effects 0.000 description 12
- 230000002441 reversible effect Effects 0.000 description 11
- 238000000638 solvent extraction Methods 0.000 description 10
- 230000006835 compression Effects 0.000 description 9
- 238000007906 compression Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000002123 temporal effect Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241000985610 Forpus Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000013074 reference sample Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
电子装置执行一种解码视频数据的方法,该方法包括:如果针对编码单元的残差启用自适应色彩变换(ACT),则从比特流中的信息接收应用于量化参数以进行反量化的调整值、以及用于编码单元的残差的系数;通过对用于编码单元的残差的接收系数应用反量化和逆变换来重建编码单元的残差;以及,如果已经使用ACT对编码单元的残差进行编码,则通过应用逆ACT来修改编码单元的重建残差,以基于与应用于以有损或无损编码模式编码的一个编码单元的一个相同的逆ACT矩阵来将编码单元的重建残差从YCgCo色彩空间转换到原始色彩空间。
Description
本申请是申请日为2020年12月10日,发明名称为“以4:4:4色度格式进行视频编解码的方法和装置”,申请号为202080094115.5的专利申请的分案申请。
相关申请
本申请要求享有于2019年12月10日提交的标题为“Methods and Apparatus on4:4:4video CODING”的美国临时专利申请号62/946,328和于2019年12月13日提交的标题为“Methods and Apparatus on 4:4:4video CODING”的美国临时专利申请号62/948,054的优先权,上述两个美国临时专利申请通过引用的方式将其全部内容合并入本文。
技术领域
本申请总体上涉及视频数据编解码和压缩,并且具体地,涉及改进和简化用于有损和无损编码的自适应色彩空间变换(ACT)的方法和装置。
背景技术
数字视频由各种电子设备支持,诸如数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字录制设备、数字媒体播放器、视频游戏控制台、智能电话、视频电话会议设备、视频流设备等。电子设备通过实施如由MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、高级视频编解码(AVC)、高效视频编解码(HEVC)和通用视频编解码(VVC)标准定义的视频压缩/解压缩标准,来发送、接收、编码、解码、和/或存储数字视频数据。视频压缩通常包括执行空间(帧内)预测和/或时间(帧间)预测,以减少或去除视频数据中固有的冗余。针对基于块的视频编解码,视频帧被分割为一个或多个条带,每个条带具有多个视频块,视频块也可以被称为编解码树单元(CTU)。每个CTU可以包含一个编码单元(CU)或递归地拆分成更小的CU,直到达到预定义的最小CU尺寸。每个CU(也称为叶CU)包含一个或多个变换单元(TU),并且每个CU还包含一个或多个预测单元(PU)。每个CU可以以帧内模式、帧间模式或帧内块复制(IBC)模式被编解码。视频帧的帧内编码(I)条带中的视频块是使用空间预测被编码的,空间预测是关于同一视频帧内的相邻块中的参考样本进行的。视频帧的帧间编码(P(前向预测图片)或B(双向预测图片))条带中的视频块可以使用空间预测或时间预测,空间预测是关于同一视频帧内的相邻块中的参考样本进行的,时间预测是关于其他先前和/或未来参考视频帧中的参考样本进行的。
基于先前已编码的参考块(例如,相邻块)的空间预测或时间预测,得出了针对待编解码的当前视频块的预测块。寻找参考块的过程可以通过块匹配算法来完成。残差数据,其表示待编解码的当前块和预测块之间的像素差异,被称为残差块或预测误差。帧间编码块根据运动矢量和残差块而被编码,运动矢量指向形成预测块的参考帧中的参考块。确定运动矢量的过程通常被称为运动估计。帧内编码块根据帧内预测模式和残差块而被编码。为了进一步压缩,残差块从像素域被变换到变换域,例如频域,从而得出残差变换系数,残差变换系数然后可以被量化。最初以二维阵列排列的量化后的变换系数可以被扫描以产生变换系数的一维矢量,并且然后被熵编码到视频比特流中以实现甚至更多的压缩。
已编码的视频比特流然后被保存在计算机可读存储介质(例如,闪存)中,以被具有数字视频能力的另一电子设备访问,或者直接有线地或无线地发送给电子设备。电子设备然后通过以下方式执行视频解压缩(其是上文描述的视频压缩的相反过程):例如,解析已编码的视频比特流以从比特流获得语法元素,以及至少部分地基于从比特流获得的语法元素从已编码的视频比特流将数字视频数据重建为其原始格式,并且电子设备将重建的数字视频数据呈现在电子设备的显示器上。
随着数字视频质量从高清变为4Kx2K或者甚至8Kx4K,要编码/解码的视频数据量呈指数增长。如何在保持已解码视频数据的图像质量的同时,能够更有效率地编码/解码视频数据,是一项持续的挑战。
某些视频内容,例如屏幕内容视频,是以4:4:4色度格式编码的,其中,所有三个分量(亮度分量和两个色度分量)具有相同的分辨率。虽然4:4:4色度格式包括与4:2:0色度格式和4:2:2色度格式相比更多的冗余(其不利于获得良好的压缩效率),但是对于需要高保真度以在解码视频中保留色彩信息(比如,锐利边缘)的很多应用而言,4:4:4色度格式仍然是优选的编码格式。鉴于4:4:4色度格式视频中存在冗余,有证据表明可以通过利用4:4:4视频的三个色彩分量(例如,YCbCr域中的Y、Cb和Cr;或者RGB域中的G、B和R)之间的相关性来实现显著的编解码改善。由于这些相关性,在HEVC屏幕内容编解码(SCC)扩展的开发期间,采用了自适应色彩空间变换(ACT)工具来利用三个色彩分量之间的相关性。
发明内容
本申请描述了与视频数据编码和解码有关的实施方式,并且更具体地,实施方式有关于在有损和无损编码下执行自适应色彩空间变换(ACT)的***和方法。
对于最初以4:4:4色彩格式捕捉到的视频信号,如果解码后的视频信号需要高保真度并且在原始色彩空间中存在丰富的信息冗余(例如,RGB视频),则优选在原始空间中对视频进行编码。尽管当前VVC标准中的一些组件间编解码工具,例如跨组件线性模型预测(CCLM),可以提高4:4:4视频编解码的效率,但是三个组件之间的冗余并没有完全消除。这是因为仅使用Y/G分量来预测Cb/B和Cr/R分量,而没有考虑Cb/B和Cr/R分量之间的相关性。相应地,三个色彩分量的进一步去相关可以提高4:4:4视频编解码的编解码性能。
在当前的VVC标准中,现有的帧间和帧内工具的设计主要关注以4:2:0色度格式捕捉的视频。因此,为了实现更好的复杂度/性能折衷,大多数那些编解码工具仅适用于亮度分量,但禁用于色度分量(例如,位置相关帧内预测组合(PDPC)、多参考线(MRL)和子分区预测(ISP)),或者对亮度分量和色度分量使用不同的操作(例如,应用于运动补偿预测的插值滤波器)。但是,与4:2:0视频相比,以4:4:4色度格式的视频信号表示迥然不同的特性。例如,与4:2:0视频中的色度分量相比,4:4:4YCbCr和RGB视频的Cb/B分量和Cr/R分量表示更丰富的色彩信息并且拥有更多高频信息(例如,边缘和纹理)。在这样考虑的情况下,在VVC中针对4:2:0视频和4:4:4视频两者,使用一些现有编解码工具的相同设计可能总是最佳的。
根据本申请的第一方面,一种解码视频数据的方法包括:从比特流接收第一控制标志,其中,所述第一控制标志指示是否启用自适应色彩变换(ACT)以解码所述比特流中的编码单元的残差;根据基于所述第一控制标志的关于启用所述ACT以解码所述比特流中的所述编码单元的所述残差的确定:从所述比特流接收多个语法元素,其中所述多个语法元素指示应用于量化参数的调整值,所述量化参数用于对使用所述ACT的所述编码单元的所述残差进行反量化;从所述比特流接收与所述编码单元相对应的所述视频数据,其中,所述视频数据包括与所述编码单元的所述残差相对应的系数和指示是否已经使用所述ACT在YCgCo色彩空间中对所述编码单元的所述残差进行编码的第二控制标志;通过对所接收的与所述编码单元的所述残差相对应的系数应用反量化和逆变换,来重建所述编码单元的所述残差;以及,根据基于所述第二控制标志的关于已经使用所述ACT对所述编码单元的所述残差进行编码的确定,通过应用逆ACT以基于一个逆ACT矩阵将所述编码单元的所述重建残差从所述YCgCo色彩空间转换到原始色彩空间,来修改所述编码单元的重建残差。
在一些实施例中,根据确定使用有损编码模式对编码单元进行编码,向所接收的与所述编码单元的所述残差相对应的系数应用所述反量化和逆变换。
在一些实施例中,无论编码单元的残差是以有损模式还是无损模式进行编码,都使用相同的逆ACT矩阵来转换已重建的残差。
根据本申请的第二方面,一种解码视频数据的方法包括:从与编码单元相对应的所述视频数据接收第一语法元素,其中,所述第一语法元素指示是否已经使用所述ACT对所述编码单元的残差进行编码;根据基于所述第一语法元素的关于还没有使用所述ACT对所述编码单元的所述残差进行编码的确定,接收指示是否应用逆变换来解码所述编码单元的所述残差的第二语法元素;以及,根据基于所述第一语法元素的关于已经使用所述ACT对所述编码单元的所述残差进行编码的确定,将默认值分配给所述第二语法元素,所述默认值指示逆变换应用于解码所述编码单元的所述残差。
根据本申请的第三方面,一种电子装置包括一个或多个处理单元、存储器、以及存储在所述存储器中的多个程序。这些程序在由一个或多个处理单元执行时,使电子装置执行如上文所描述的解码视频数据的方法。
根据本申请的第四方面,一种非暂时性计算机可读存储介质存储用于由具有一个或多个处理单元的电子装置执行的多个程序。这些程序在由一个或多个处理单元执行时,使电子装置执行如上文所描述的解码视频数据的方法。
附图说明
附图,其被包括以提供对实施方式的进一步理解并且被并入本文且构成说明书的一部分,示出了所描述的实施方式并且与描述一起用于解释基本原理。相似的参考标号指代对应的部分。
图1是示出根据本公开的一些实施方式的示例性视频编码和解码***的框图。
图2是示出根据本公开的一些实施方式的示例性视频编码器的框图。
图3是示出根据本公开的一些实施方式的示例性视频解码器的框图。
图4A到图4E是示出根据本公开的一些实施方式的帧如何被递归地分割成具有不同尺寸和形状的多个视频块的框图。
图5A和图5B是示出根据本公开的一些实施方式的应用自适应色彩空间变换(ACT)来将残差在RGB色彩空间与YCgCo色彩空间之间变换的技术的示例的框图。
图6是根据本公开的一些实施方式在示例性视频数据解码过程中应用具有色度缩放的亮度映射(LMCS)技术的框图。
图7是示出根据本公开的一些实施方式的示例性视频解码过程的框图,所述视频解码器通过该示例性视频解码过程来实施逆自适应色彩空间变换(ACT)的技术。
图8A和图8B是示出根据本公开的一些实施方式的示例性视频解码过程的框图,所述视频解码器通过该示例性视频解码过程实施逆自适应色彩空间变换(ACT)和具有色度缩放的亮度映射(LMCS)的技术。
图9是示出根据本公开的一些实施方式的在执行自适应色彩空间变换(ACT)和块差分脉冲编码调制(BDPCM)之间的示例性解码逻辑的框图。
图10是示出根据本公开的一些实施方式的示例性过程的流程图,视频编解码器通过针对以有损模式和无损模式两者编码的编码单元使用逆自适应色彩空间变换(ACT)来解码视频数据。
图11是根据本公开的一些实施方式当亮度和色度内部比特深度不同时针对不同分量应用不同量化参数(QP)偏移的解码流程图。
具体实施方式
现在将详细参考具体实施方式,其示例在附图中示出。在下面的详细描述中,阐述了许多非限制性的具体细节以帮助理解本文呈现的主题。但是对于本领域普通技术人员而言将清楚的是,在不脱离权利要求的范围的情况下可以使用各种替代方案,并且可以在没有这些具体细节的情况下实践主题。例如,对于本领域普通技术人员而言将清楚的是,本文呈现的主题可以在具有数字视频能力的许多类型的电子设备上实现。
在一些实施例中,提供这些方法以提高VVC标准对4:4:4视频的编解码效率。通常,本公开中的技术的主要特征总结如下。
在一些实施例中,实施这些方法以改进现有的ACT设计,其在残差域中实现自适应色彩空间转换。特别地,对处理ACT与VVC中的一些现有编解码工具的交互做了特殊考虑。
在一些实施例中,实施这些方法以提高VVC标准中针对4:4:4视频的一些现有帧间和帧内编解码工具的效率,包括:1)针对色度分量启用8抽头插值滤波器;2)针对色度分量的帧内预测,启用PDPC;3)针对色度分量的帧内预测,启用MRL;4)针对色度分量,启用ISP分割。
图1是示出根据本公开的一些实施方式的用于并行地编码和解码视频块的示例性***10的框图。如图1中所示,***10包括源设备12,源设备12生成并编码稍后将由目的地设备14解码的视频数据。源设备12和目的地设备14可以包括各种电子设备中的任何电子设备,包括台式计算机或膝上型计算机、平板计算机、智能电话、机顶盒、数字电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备等。在一些实施方式中,源设备12和目的地设备14配备有无线通信能力。
在一些实施方式中,目的地设备14可以经由链路16接收要解码的已编码视频数据。链路16可以包括能够将已编码视频数据从源设备12移动到目的地设备14的任何类型的通信介质或设备。在一个示例中,链路16可以包括使源设备12能够向目的地设备14实时地直接发送已编码视频数据的通信介质。已编码视频数据可以根据通信标准(诸如无线通信协议)被调制,并向目的地设备14发送。通信介质可以包括任何无线或有线的通信介质,诸如射频(RF)频谱或者一个或更多物理传输线。通信介质可以形成基于分组的网络(诸如局域网、广域网、或者全球网络,诸如因特网)的一部分。通信介质可以包括路由器、交换机、基站、或者可以有助于促进从源设备12到目的地设备14的通信的任何其他装备。
在一些其他实施方式中,已编码视频数据可以从输出接口22发送给存储设备32。随后,存储设备32中的已编码视频数据可以由目的地设备14经由输入接口28访问。存储设备32可以包括各种分布式或本地访问的数据存储介质中的任何数据存储介质,诸如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器、或用于存储已编码视频数据的任何其他合适的数字存储介质。在进一步的示例中,存储设备32可以对应于文件服务器或另一中间存储设备,其可以保持由源设备12生成的已编码视频数据。目的地设备14可以经由流传输或下载来访问来自存储设备32的已存储视频数据。文件服务器可以是能够存储已编码视频数据并将已编码视频数据发送给目的地设备14的任何类型的计算机。示例性文件服务器包括web服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)设备、或本地磁盘驱动器。目的地设备14可以通过适用于访问文件服务器上存储的已编码视频数据的任何标准数据连接来访问已编码视频数据,标准数据连接包括无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)、或两者的组合。来自存储设备32的已编码视频数据的传输可以是流传输、下载传输、或两者的组合。
如图1中所示,源设备12包括视频源18、视频编码器20和输出接口22。视频源18可以包括诸如视频捕获设备之类的源(例如摄像机)、包含先前捕获视频的视频档案、用于从视频内容提供者接收视频的视频馈送接口、和/或用于生成作为源视频的计算机图形数据的计算机图形***、或此类源的组合。作为一个示例,如果视频源18是安全监视***的摄像机,则源设备12和目的地设备14可以形成相机电话或视频电话。然而,本申请中描述的实施方式可以一般性地适用于视频编码,并且可以应用于无线应用和/或有线应用。
捕获的视频、预先捕获的视频、或计算机生成的视频可以由视频编码器20编码。已编码视频数据可以经由源设备12的输出接口22直接发送到目的地设备14。已编码视频数据也可以(或替代地)被存储到存储设备32上,以供目的地设备14或其他设备稍后访问,以用于解码和/或回放。输出接口22还可以包括调制解调器和/或发射机。
目的地设备14包括输入接口28、视频解码器30和显示设备34。输入接口28可以包括接收器和/或调制解调器,并且通过链路16接收已编码视频数据。通过链路16传送的、或在存储设备32上提供的已编码视频数据可以包括由视频编码器20生成的各种语法元素,以供视频解码器30在解码视频数据时使用。这样的语法元素可以被包括在通信介质上发送的、在存储介质上存储的、或在文件服务器上存储的已编码视频数据内。
在一些实施方式中,目的地设备14可以包括显示设备34,显示设备34可以是集成显示设备和被配置为与目的地设备14进行通信的外部显示设备。显示设备34向用户显示已解码视频数据,并且可以包括各种显示设备中的任何显示设备,诸如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、或另一类型的显示设备。
视频编码器20和视频解码器30可以根据专属标准或行业标准(诸如VVC、HEVC、MPEG-4第10部分、高级视频编解码AVC、或此类标准的扩展)进行操作。应当理解,本申请不限于具体的视频编码/解码标准,并且可以适用于其他视频编码/解码标准。通常预期源设备12的视频编码器20可以被配置为根据这些当前或未来标准中的任何标准来编码视频数据。类似地,通常还预期目的地设备14的视频解码器30可以被配置为根据这些当前或未来标准中的任何标准来解码视频数据。
视频编码器20和视频解码器30均可以被实施为各种合适的编码器电路***中的任何电路***,诸如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件、或其任何组合。当部分以软件实现时,电子设备可以将用于软件的指令存储在合适的非暂时性计算机可读介质中,并使用一个或多个处理器在硬件中执行指令,以执行本公开中公开的视频编码/解码操作。视频编码器20和视频解码器30中的每一个可以被包括在一个或多个编码器或解码器中,其中的任一者可以被集成为相应设备中的组合式编码器/解码器(CODEC)的一部分。
图2是示出根据本申请中描述的一些实施方式的示例性视频编码器20的框图。视频编码器20可以执行视频帧内的视频块的帧内预测编码和帧间预测编码。帧内预测编码依赖于空间预测,以减少或去除给定视频帧或图片内的视频数据中的空间冗余。帧间预测编码依赖于时间预测,以减少或去除视频序列的邻近视频帧或图片内的视频数据中的时间冗余。
如图2中所示,视频编码器20包括视频数据存储器40、预测处理单元41、解码图片缓冲器(DPB)64、加法器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41还包括运动估计单元42、运动补偿单元44、分割单元45、帧内预测处理单元46和帧内块复制(BC)单元48。在一些实施方式中,视频编码器20还包括反量化单元58、逆变换处理单元60和加法器62,以用于视频块重建。去块滤波器(未示出)可以位于加法器62和DPB 64之间,来对块边界进行滤波以便从重建的视频中去除块效应伪像。除了去块滤波器以外,还可以使用环路滤波器(未示出)来对加法器62的输出进行滤波。视频编码器20可以采用固定硬件单元或可编程硬件单元的形式,或者可以在已说明的固定硬件单元或可编程硬件单元中的一个或多个之间划分。
视频数据存储器40可以存储将由视频编码器20的组件编码的视频数据。视频数据存储器40中的视频数据可以例如从视频源18获得。DPB 64是一种缓冲器,其存储用于由视频编码器20在编码视频数据(例如,在帧内或帧间预测编码模式中)时使用的参考视频数据。视频数据存储器40和DPB 64可以由各种存储器设备中的任何存储器设备形成。在各种示例中,视频数据存储器40可以与视频编码器20的其他组件一起在芯片上,或者相对于那些组件在芯片外。
如图2中所示,在接收视频数据之后,预测处理单元41内的分割单元45将视频数据分割成视频块。该分割还可以包括根据与视频数据相关联的预定义拆分结构(诸如四叉树结构),将视频帧分割为条带、瓦片、或其他更大的编码单元(CU)。视频帧可以被划分为多个视频块(或者被称为瓦片的视频块集合)。预测处理单元41可以基于误差结果(例如,编解码速率和失真水平),来针对当前视频块选择多种可能的预测编码模式之一,诸如多种帧内预测编码模式之一或多种帧间预测编码模式之一。预测处理单元41可以将得到的帧内或帧间预测编码块提供给加法器50以生成残差块,并且提供给加法器62以重建已编码的块以便后续用作参考帧的一部分。预测处理单元41还向熵编码单元56提供语法元素,诸如运动矢量、帧内模式指示符、分割信息、以及其他此类语法信息。
为了针对当前视频块选择合适的帧内预测编码模式,预测处理单元41内的帧内预测处理单元46可以相对于与待编码的当前块位于同一帧中的一个或多个相邻块,执行当前视频块的帧内预测编码以提供空间预测。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或多个参考帧中的一个或多个预测块,执行当前视频块的帧间预测编码以提供时间预测。视频编码器20可以执行多个编码遍次,例如以针对每个视频数据块选择合适的编码模式。
在一些实施方式中,运动估计单元42通过根据视频帧序列内的预定型式生成运动矢量来确定针对当前视频帧的帧间预测模式,该运动矢量指示当前视频帧内的视频块的预测单元(PU)相对于参考视频帧内的预测块的位移。由运动估计单元42执行的运动估计是生成运动矢量的过程,运动矢量估计针对视频块而言的运动。运动矢量例如可以指示当前视频帧或图片内的视频块的PU相对于参考帧内的预测块(或其他被编码的单元)的位移,该预测块是相对于当前帧内被编码的当前块(或其他被编码的单元)而言的。预定型式可以将序列中的视频帧指定为P帧或B帧。帧内BC单元48可以以类似于由运动估计单元42为了帧间预测而确定运动矢量的方式,来确定用于帧内BC编码的矢量(例如,块矢量),或者可以利用运动估计单元42来确定块矢量。
预测块是在像素差方面被认为与待编码的视频块的PU紧密匹配的参考帧的块,像素差可以通过绝对差之和(SAD)、平方差之和(SSD)、或其他差值度量来确定。在一些实施方式中,视频编码器20可以计算DPB 64中存储的参考帧的亚整数像素位置的值。例如,视频编码器20可以内插出参考帧的四分之一像素位置、八分之一像素位置、或其他分数像素位置的值。因此,运动估计单元42可以相对于全像素位置和分数像素位置执行运动搜索,并输出具有分数像素精度的运动矢量。
运动估计单元42通过以下方式来计算帧间预测编码帧中的视频块的PU的运动矢量:将PU的位置与从第一参考帧列表(列表0)或第二参考帧列表(列表1)中选择的参考帧的预测块的位置进行比较,第一参考帧列表和第二参考帧列表中的每个参考帧列表标识DPB64中存储的一个或多个参考帧。运动估计单元42将计算的运动矢量发送给运动补偿单元44,并且然后发送给熵编码单元56。
由运动补偿单元44执行的运动补偿可以涉及基于由运动估计单元42确定的运动矢量来获取或生成预测块。一经接收到针对当前视频块的PU的运动矢量,运动补偿单元44可以在参考帧列表之一中定位运动矢量指向的预测块,从DPB 64取回预测块,并将预测块转发给加法器50。加法器50然后通过以下方式来形成像素差值的残差视频块:从正在被编码的当前视频块的像素值减去由运动补偿单元44所提供的预测块的像素值。形成残差视频块的像素差值可以包括亮度差分量或色度差分量或两者。运动补偿单元44还可以生成与视频帧的视频块相关联的语法元素,以供视频解码器30在解码视频帧的视频块时使用。语法元素可以包括例如定义用于描述预测块的运动矢量的语法元素、指示预测模式的任何标志、或本文描述的任何其他语法信息。注意,运动估计单元42和运动补偿单元44可以高度集成,但是出于概念目的而被单独说明。
在一些实施方式中,帧内BC单元48可以按照与上文结合运动估计单元42和运动补偿单元44所描述的方式类似的方式来生成矢量并获取预测块,但是预测块位于与正在被编码的当前块相同的帧中,并且矢量被称为块矢量而非运动矢量。具体而言,帧内BC单元48可以确定用于编码当前块的帧内预测模式。在一些示例中,帧内BC单元48可以例如在多个单独编码遍次期间使用各种帧内预测模式来编码当前块,并通过率失真分析来测试它们的性能。接下来,帧内BC单元48可以在各种被测试的帧内预测模式中选择适当的帧内预测模式来使用,并相应地生成帧内模式指示符。例如,帧内BC单元48可以针对各种被测试的帧内预测模式使用率失真分析来计算率失真值,并且在被测试的模式中选择具有最佳率失真特性的帧内预测模式作为要使用的合适的帧内预测模式。率失真分析通常确定已编码块与被编码以产生已编码块的原始未编码块之间的失真(或误差)量、以及用于产生已编码块的比特率(即,比特的数量)。帧内BC单元48可以从针对各种已编码块的失真和速率来计算比率,以确定哪种帧内预测模式针对块展现出最佳率失真值。
在其他示例中,帧内BC单元48可以全部地或部分地使用运动估计单元42和运动补偿单元44,来执行根据本文描述的实施方式的用于帧内BC预测的此类功能。在任一情况下,对于帧内块复制,预测块可以是在像素差方面被认为与待编码块紧密匹配的块,像素差可以由绝对差之和(SAD)、平方差之和(SSD)、或其他差值度量来确定,并且对预测块的识别可以包括针对亚整数像素位置的值计算。
无论预测块是根据帧内预测来自同一帧,还是根据帧间预测来自不同帧,视频编码器20都可以通过从正被编码的当前视频块的像素值减去预测块的像素值而形成像素差值,来形成残差视频块。形成残差视频块的像素差值可以包括亮度分量差和色度分量差两者。
作为如上文所描述的由运动估计单元42和运动补偿单元44执行的帧间预测或由帧内BC单元48执行的帧内块复制预测的替代方式,帧内预测处理单元46可以对当前视频块进行帧内预测。具体而言,帧内预测处理单元46可以确定用于编码当前块的帧内预测模式。为此,帧内预测处理单元46可以例如在多个单独的编码遍次期间使用各种帧内预测模式来编码当前块,并且帧内预测处理单元46(或在一些示例中,是模式选择单元)可以从被测试的帧内预测模式中选择要使用的合适的帧内预测模式。帧内预测处理单元46可以向熵编码单元56提供信息,该信息指示针对块所选择的帧内预测模式。熵编码单元56可以将指示所选择的帧内预测模式的信息编码在比特流中。
在预测处理单元41经由帧间预测或帧内预测确定针对当前视频块的预测块之后,加法器50通过从当前视频块减去预测块来形成残差视频块。残差块中的残差视频数据可以被包括在一个或多个变换单元(TU)中,并且被提供给变换处理单元52。变换处理单元52使用变换将残差视频数据变换成残差变换系数,变换诸如是离散余弦变换(DCT)或概念上类似的变换。
变换处理单元52可以将得出的变换系数发送给量化单元54。量化单元54对变换系数进行量化以进一步降低比特率。量化过程还可以减少与一些或所有系数相关联的比特深度。量化的程度可以通过调整量化参数来修改。在一些示例中,量化单元54然后可以执行对包括已量化变换系数的矩阵的扫描。备选地,熵编码单元56可以执行扫描。
在量化之后,熵编码单元56使用例如上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、基于语法的上下文自适应二进制算术编码(SBAC)、概率区间分割熵(PIPE)编码或另外的熵编码方法或技术,来将已量化的变换系数熵编码成视频比特流。已编码比特流然后可以被发送给视频解码器30,或存档在存储设备32中以供稍后传输给视频解码器30或由视频解码器30取回。熵编码单元56还可以对用于正在被编码的当前视频帧的运动矢量和其他语法元素进行熵编码。
反量化单元58和逆变换处理单元60分别应用反量化和逆变换来重建像素域中的残差视频块,以生成用于预测其他视频块的参考块。如上文指出的,运动补偿单元44可以从DPB 64中存储的帧的一个或多个参考块来生成经运动补偿的预测块。运动补偿单元44还可以将一个或多个内插滤波器应用于预测块,以计算用于在运动估计中使用的亚整数像素值。
加法器62将重建的残差块加到由运动补偿单元44所产生的经运动补偿的预测块以产生参考块,用于存储在DPB 64中。参考块然后可以由帧内BC单元48、运动估计单元42和运动补偿单元44用作预测块,以对后续视频帧中的另一视频块进行帧间预测。
图3是示出根据本申请的一些实施方式的示例性视频解码器30的框图。视频解码器30包括视频数据存储器79、熵解码单元80、预测处理单元81、反量化单元86、逆变换处理单元88、加法器90和DPB 92。预测处理单元81还包括运动补偿单元82、帧内预测处理单元84和帧内BC单元85。视频解码器30可以执行解码过程,解码过程大体上与上文结合图2关于视频编码器20所描述的编码过程互逆。例如,运动补偿单元82可以基于从熵解码单元80接收的运动矢量来生成预测数据,而帧内预测单元84可以基于从熵解码单元80接收的帧内预测模式指示符来生成预测数据。
在一些示例中,视频解码器30的单元可以被分配任务以执行本申请的实施方式。此外,在一些示例中,本公开的实施方式可以在视频解码器30的一个或多个单元之间划分。例如,帧内BC单元85可以单独地或者与视频解码器30的其他单元(诸如运动补偿单元82、帧内预测处理单元84和熵解码单元80)组合地执行本申请的实施方式。在一些示例中,视频解码器30可以不包括帧内BC单元85,并且帧内BC单元85的功能可以由预测处理单元81的其他组件(诸如运动补偿单元82)来执行。
视频数据存储器79可以存储要由视频解码器30的其他组件解码的视频数据,诸如已编码视频比特流。视频数据存储器79中存储的视频数据可以例如从存储设备32获得,从本地视频源(诸如相机)获得,经由视频数据的有线或无线网络通信获得,或通过访问物理数据存储介质(例如,闪存驱动器或硬盘)获得。视频数据存储器79可以包括编码图片缓冲器(CPB),编码图片缓冲器存储来自已编码视频比特流的已编码视频数据。视频解码器30的解码图片缓冲器(DPB)92存储参考视频数据,以供视频解码器30在解码视频数据时使用(例如,在帧内或帧间预测编码模式中)。视频数据存储器79和DPB 92可以由各种存储器设备中的任何存储器设备形成,诸如动态随机存取存储器(DRAM)(包括同步DRAM,SDRAM)、磁阻RAM(MRAM)、电阻RAM(RRAM)、或其他类型的存储器设备。为了说明的目的,视频数据存储器79和DPB 92在图3中被描绘为视频解码器30的两个不同组件。但是对于本领域技术人员将清楚的是,视频数据存储器79和DPB 92可以由相同的存储器设备或分开的存储器设备提供。在一些示例中,视频数据存储器79可以与视频解码器30的其他组件一起位于芯片上,或者相对于那些组件位于芯片外。
在解码过程期间,视频解码器30接收已编码视频比特流和相关联的语法元素,已编码视频比特流表示已编码视频帧的视频块。视频解码器30可以在视频帧级别和/或视频块级别接收语法元素。视频解码器30的熵解码单元80对比特流进行熵解码以生成量化后的系数、运动矢量或帧内预测模式指示符、以及其他语法元素。熵解码单元80然后将运动矢量和其他语法元素转发给预测处理单元81。
当视频帧被编码为帧内预测编码(I)帧或用于其他类型帧中的帧内编码预测块时,预测处理单元81的帧内预测处理单元84可以基于用信号发送的帧内预测模式和来自当前帧的先前解码块的参考数据,来生成针对当前视频帧的视频块的预测数据。
当视频帧被编码为帧间预测编码(即,B或P)帧时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收到的运动矢量和其他语法元素,来产生针对当前视频帧的视频块的一个或多个预测块。预测块中的每个预测块可以从参考帧列表之一内的参考帧产生。视频解码器30可以基于DPB 92中存储的参考帧,使用默认构建技术来构建参考帧列表:列表0和列表1。
在一些示例中,当视频块根据本文描述的帧内BC模式被编码时,预测处理单元81的帧内BC单元85基于从熵解码单元80接收的块矢量和其他语法元素来产生针对当前视频块的预测块。预测块可以位于与由视频编码器20定义的当前视频块相同的图片的重建区域内。
运动补偿单元82和/或帧内BC单元85通过解析运动矢量和其他语法元素来确定针对当前视频帧的视频块的预测信息,并且然后使用预测信息来产生针对正在被解码的当前视频块的预测块。例如,运动补偿单元82使用所接收的语法元素中的一些语法元素来确定用于对视频帧的视频块进行编码的预测模式(例如,帧内预测或帧间预测)、帧间预测帧类型(例如,B或P)、针对帧的一个或多个参考帧列表的构建信息、针对帧的每个帧间预测编码视频块的运动矢量、针对帧的每个帧间预测编码视频块的帧间预测状态、以及用于对当前视频帧中的视频块进行解码的其他信息。
类似地,帧内BC单元85可以使用接收到的语法元素中的一些语法元素(例如,标志),来确定当前视频块是使用帧内BC模式被预测的、帧的哪些视频块位于重建区域内并且应当被存储在DPB 92中的构建信息、针对帧的每个帧内BC预测的视频块的块矢量、针对帧的每个帧内BC预测的视频块的帧内BC预测状态、以及用于对当前视频帧中的视频块进行解码的其他信息。
运动补偿单元82还可以使用如在视频块的编码期间由视频编码器20使用的内插滤波器来执行内插,以计算针对参考块的亚整数像素的内插值。在此情况下,运动补偿单元82可以从所接收的语法元素来确定由视频编码器20所使用的内插滤波器,并且使用这些内插滤波器来产生预测块。
反量化单元86使用由视频编码器20为确定量化程度针对视频帧中的每个视频块所计算的相同量化参数,对比特流中提供的并由熵解码单元80熵解码的量化后变换系数进行反量化。逆变换处理单元88对变换系数应用逆变换,例如逆DCT、逆整数变换、或概念上类似的逆变换过程,以便重建像素域中的残差块。
在运动补偿单元82或帧内BC单元85基于矢量和其他语法元素生成针对当前视频块的预测块之后,加法器90通过对来自逆变换处理单元88的残差块以及由运动补偿单元82和帧内BC单元85生成的对应预测块进行求和,来重建针对当前视频块的已解码视频块。环路滤波器(未图示)可以位于加法器90和DPB 92之间以进一步处理已解码视频块。给定帧中的已解码视频块然后被存储在DPB 92中,DPB 92存储用于接下来的视频块的后续运动补偿的参考帧。DPB 92或与DPB 92分开的存储器设备也可以存储已解码视频,以便稍后在显示设备(诸如图1的显示设备34)上呈现。
在典型的视频编解码过程中,视频序列通常包括帧或图片的有序集合。每个帧可以包括三个样本阵列,表示为SL、SCb和SCr。SL是亮度样本的二维阵列。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。在其他情况下,帧可以是单色的并且因此仅包括亮度样本的一个二维阵列。
如图4A中所示,视频编码器20(或更具体地是分割单元45)通过首先将帧分割为一组编码树单元(CTU),来生成该帧的已编码表示。视频帧可以包括按照从左到右和从上到下的光栅扫描顺序连续排序的整数个CTU。每个CTU是最大的逻辑编码单元,并且CTU的宽度和高度由视频编码器20在序列参数集中用信号发送,使得视频序列中的所有CTU具有相同的尺寸,即128×128、64×64、32×32和16×16之一。但是应当注意,本申请不必限于特定的尺寸。如图4B中所示,每个CTU可以包括亮度样本的一个编码树块(CTB)、色度样本的两个对应的编码树块、以及用于对编码树块的样本进行编码的语法元素。语法元素描述已编码的像素块的不同类型单元的属性以及如何可以在视频解码器30处重建视频序列,包括帧间预测或帧内预测、帧内预测模式、运动矢量和其他参数。在单色图片或具有三个单独色彩平面的图片中,CTU可以包括单个编码树块和用于对编码树块的样本进行编码的语法元素。编码树块可以是NxN的样本块。
为了实现更好的性能,视频编码器20可以对CTU的编码树块递归地执行树分割,诸如二叉树分割、三叉树分割、四叉树分割或以上的组合,并且将CTU划分成更小的编码单元(CU)。如图4C中所描绘的,64x64的CTU 400首先被划分成四个较小的CU,每个较小的CU具有32x32的块尺寸。在四个较小的CU中,CU 410和CU 420均按块尺寸被划分成四个16x16的CU。两个16x16的CU 430和CU 440各自进一步按块尺寸被划分成四个8x8的CU。图4D描绘了四叉树数据结构,四叉树数据结构示出了如图4C中所描绘的CTU 400的分割过程的最终结果,四叉树的每个叶节点对应于范围从32x32到8x8的相应尺寸的一个CU。类似于图4B中所描绘的CTU,每个CU可以包括相同尺寸的帧的亮度样本的编码块(CB)和色度样本的两个对应的编码块、以及用于对编码块的样本进行编码的语法元素。在单色图片或具有三个单独色彩平面的图片中,CU可以包括单个编码块和用于对编码块的样本进行编码的语法结构。应当注意,图4C和图4D中所描绘的四叉树分割仅用于说明目的,并且一个CTU可以基于四叉/三叉/二叉树分割被拆分成CU以适应不同的局部特性。在多类型树结构中,一个CTU被四叉树结构分割,并且每个四叉树叶CU可以被二叉和三叉树结构进一步分割。如图4E中所示,有五种分割类型,也即,四叉分割、水平二叉分割、垂直二叉分割、水平三叉分割和垂直三叉分割。
在一些实施方式中,视频编码器20可以进一步将CU的编码块分割成一个或多个MxN预测块(PB)。预测块是对其应用相同预测(帧间或帧内)的矩形(正方形或非正方形)样本块。CU的预测单元(PU)可以包括亮度样本的预测块、色度样本的两个对应预测块、以及用于对预测块进行预测的语法元素。在单色图片或具有三个单独色彩平面的图片中,PU可以包括单个预测块和用于对预测块进行预测的语法结构。视频编码器20可以为CU的每个PU的亮度预测块、Cb预测块和Cr预测块生成预测的亮度块、Cb块和Cr块。
视频编码器20可以使用帧内预测或帧间预测来生成针对PU的预测块。如果视频编码器20使用帧内预测来生成PU的预测块,则视频编码器20可以基于与PU相关联的帧的已解码样本来生成PU的预测块。如果视频编码器20使用帧间预测来生成PU的预测块,则视频编码器20可以基于不同于与PU相关联的帧的一个或多个帧的已解码样本来生成PU的预测块。
在视频编码器20针对CU的一个或多个PU生成预测的亮度块、Cb块和Cr块之后,视频编码器20可以通过将CU的预测亮度块从其原始亮度编码块中减去来生成针对CU的亮度残差块,使得CU的亮度残差块中的每个样本指示CU的预测亮度块之一中的亮度样本与CU的原始亮度编码块中的对应样本之间的差异。类似地,视频编码器20可以针对CU分别生成Cb残差块和Cr残差块,使得CU的Cb残差块中的每个样本指示CU的预测Cb块之一中的Cb样本与CU的原始Cb编码块中的对应样本之间的差异,并且CU的Cr残差块中的每个样本可以指示CU的预测Cr块之一中的Cr样本与CU的原始Cr编码块中的对应样本之间的差异。
此外,如图4C中所示,视频编码器20可以使用四叉树分割来将CU的亮度残差块、Cb残差块和Cr残差块分解为一个或多个亮度变换块、Cb变换块和Cr变换块。变换块是对其应用相同变换的矩形(正方形或非正方形)样本块。CU的变换单元(TU)可以包括亮度样本的变换块、色度样本的两个对应变换块、以及用于对变换块样本进行变换的语法元素。因此,CU的每个TU可以与亮度变换块、Cb变换块和Cr变换块相关联。在一些示例中,与TU相关联的亮度变换块可以是CU的亮度残差块的子块。Cb变换块可以是CU的Cb残差块的子块。Cr变换块可以是CU的Cr残差块的子块。在单色图片或具有三个单独色彩平面的图片中,TU可以包括单个变换块和用于对变换块的样本进行变换的语法结构。
视频编码器20可以将一个或多个变换应用到TU的亮度变换块,以生成针对TU的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一个或多个变换应用到TU的Cb变换块,以生成针对TU的Cb系数块。视频编码器20可以将一个或多个变换应用到TU的Cr变换块,以生成针对TU的Cr系数块。
在生成系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以对系数块进行量化。量化通常是指一种过程,在该过程中,变换系数被量化以有可能减少用于表示变换系数的数据量,从而提供进一步压缩。在视频编码器20对系数块进行量化之后,视频编码器20可以对指示量化后的变换系数的语法元素进行熵编码。例如,视频编码器20可以对指示量化后的变换系数的语法元素执行上下文自适应二进制算术编码(CABAC)。最后,视频编码器20可以输出包括比特序列的比特流,该比特序列形成编码帧和相关联数据的表示,比特流被保存在存储设备32中或被传输给目的地设备14。
在接收到由视频编码器20生成的比特流之后,视频解码器30可以解析比特流以从比特流获得语法元素。视频解码器30可以至少部分地基于从比特流获得的语法元素来重建视频数据的帧。重建视频数据的过程通常与视频编码器20执行的编码过程互逆。例如,视频解码器30可以对与当前CU的TU相关联的系数块执行逆变换,以重建与当前CU的TU相关联的残差块。视频解码器30还通过将针对当前CU的PU的预测块的样本加到当前CU的TU的变换块的对应样本,来重建当前CU的编解码块。在为帧的每个CU重建编解码块之后,视频解码器30可以重建帧。
如上文指出的,视频编解码主要使用两种模式来实现视频压缩,也即,帧内部预测(或帧内预测)和帧之间预测(或帧间预测)。基于调色板的编解码是已经被许多视频编解码标准采用的另一种编解码方案。在基于调色板的编解码(其可能特别适用于屏幕生成内容编解码)中,视频编解码器(例如,视频编码器20或视频解码器30)形成色彩的调色板表格,其表示给定块的视频数据。调色板表格包括给定块中的最主导(例如,频繁使用)的像素值。给定块的视频数据中不频繁表示的像素值不被包括在调色板表格中,或者作为逃逸色彩被包括在调色板表格中。
调色板表格中的每个条目包括针对调色板表格中的对应像素值的索引。针对块中的样本的调色板索引可以被编解码,以指示来自调色板表格的哪个条目将用于预测或重建哪个样本。该调色板模式开始于针对图片、条带、瓦片、或其他此类视频块分组的第一块而生成调色板预测值的过程。如下文将解释的,通常通过更新先前使用的调色板预测值来生成用于后续视频块的调色板预测值。为了说明的目的,假设调色板预测值是在图片级别定义的。换句话说,图片可以包括多个编解码块,每个编解码块具有其自己的调色板表格,但是针对整张图片只有一个调色板预测值。
为了减少在视频比特流中用信号发送调色板条目所需要的比特,视频解码器可以利用调色板预测值来确定用于重建视频块的调色板表格中的新调色板条目。例如,调色板预测值可以包括来自先前使用的调色板表格的调色板条目,或者甚至通过包括最为近期使用的调色板表格的所有条目而利用最为近期使用的调色板表格被初始化。在一些实施方式中,调色板预测值可以包括少于来自最为近期使用的调色板表格的所有条目,并且然后包含来自其他先前使用的调色板表格的一些条目。调色板预测值可以具有与用于对不同块进行编解码的调色板表格相同的尺寸,或者可以大于或小于用于对不同块进行编解码的调色板表格。在一个示例中,调色板预测值被实施为包括64个调色板条目的先进先出(FIFO)表格。
为了从调色板预测值生成用于视频数据块的调色板表格,视频解码器可以从已编码视频比特流接收针对调色板预测值的每个条目的1比特标志。该1比特标志可以具有第一值(例如,二进制1)或者第二值(例如,二进制0),第一值指示调色板预测值的相关联条目将被包括在调色板表格中,第二值指示调色板预测值的相关联条目将不被包括在调色板表格中。如果调色板预测值的尺寸大于用于视频数据块的调色板表格,则一旦达到针对调色板表格的最大尺寸,视频解码器就可以停止接收更多标志。
在一些实施方式中,调色板表格中的一些条目可以在已编码视频比特流中直接以信号发送,而不是使用调色板预测值来确定。对于这样的条目,视频解码器可以从已编码视频比特流接收三个单独的m比特值,三个单独的m比特值指示与条目相关联的亮度分量和两个色度分量的像素值,其中m表示视频数据的比特深度。与直接以信号发送的调色板条目所需的多个m比特值相比,从调色板预测值导出的那些调色板条目只需要1比特标志。因此,使用调色板预测值以信号发送一些或所有调色板条目可以显著地减少以信号发送新调色板表格的条目所需的比特数量,从而提高调色板模式编解码的整体编解码效率。
在许多情况下,针对一个块的调色板预测值是基于用于对一个或多个先前编解码块进行编解码的调色板表格来确定的。但是当对图片、条带或瓦片中的第一编解码树单元进行编解码时,先前编解码块的调色板表格可能是不可用的。因此,调色板预测值不能使用先前使用的调色板表格的条目来生成。在这种情况下,调色板预测值的初始化值的序列可以在序列参数集(SPS)和/或图片参数集(PPS)中用信号被发送,这些初始化值是当先前使用的调色板表格不可用时用于生成调色板预测值的值。SPS通常是指应用于一系列连续已编解码视频图片的语法元素的语法结构,该一系列连续已编解码视频图片被称为已编解码视频序列(CVS),CVS由在每个条带分段头部中找到的语法元素所引用的PPS中找到的语法元素的内容来确定。PPS通常是指应用于CVS内的一个或多个单独图片的语法元素的语法结构,其由每个条带分段头部中找到的语法元素确定。因此,SPS通常被认为是比PPS更高级别的语法结构,意味着与PPS中包括的语法元素相比,SPS中包括的语法元素通常较不频繁地变化并且应用于视频数据的更大部分。
图5A到图5B是示出了根据本公开的一些实施方式的应用自适应色彩空间变换(ACT)的技术来变换RGB色彩空间与YCgCo色彩空间之间的残差的示例的框图。
在HEVC屏幕内容编解码扩展中,应用ACT以将残差从一个色彩空间(例如,RGB)自适应地变换到另一色彩空间(例如,YCgCo),从而使得三个色彩分量(例如,R、G和B)之间的相关性(例如,冗余)在YCgCo色彩空间中显著减少。此外,在现有ACT设计中,通过针对每个TU用信号发送一个标志tu_act_enabled_flag,在变换单元(TU)级别执行不同色彩空间的自适应。当标识tu_act_enabled_flag等于1时,其表示当前TU的残差是在YCgCo空间中被编码的;否则(即,标志位等于0),其表示当前TU的残差是在原始色彩空间中(即,没有色彩空间转换)被编码的。此外,依据当前TU是以无损模式还是以有损模式编码,应用不同的色彩空间变换公式。具体地,在图5A中定义了针对有损模式的RGB色彩空间与YCgCo色彩空间之间的正向和反向色彩空间变换公式。
对于无损模式,使用可逆版本的RGB-YCgCo变换(也称为YCgCo-LS)。RGB-YCgCo变换的可逆版本是基于图5B及相关说明中描绘的提升操作来实现的。
如图5A中所示,在有损模式中使用的正向和反向色彩变换矩阵没有被归一化。因此,YCgCo信号的幅度小于在应用色彩变换之后的原始信号的幅度。为了补偿由正向色彩变换引起的幅度下降,将调整后的量化参数应用于YCgCo域中的残差。具体而言,当应用色彩空间变换时,用于量化YCgCo域残差的QP值QPY、QPCg和QPCo分别设置为QP-5、QP-5和QP-3,其中QP是用于原始色彩空间中的量化参数。
图6是根据本公开的一些实施方式在示例性视频数据解码过程中的应用具有色度缩放的亮度映射(LMCS)的技术的框图。
在VVC中,LMCS用作在环路滤波器(例如,去块滤波器、SAO和ALF)之前应用的新编解码工具。一般来说,LMCS有两个主模块:1)基于自适应分段线性模型的亮度分量的环路映射;2)亮度相关色度残差缩放。图6示出了具有应用LMCS的经修改的解码过程。在图6中,在映射域中进行的解码模块包括:熵解码模块、反量化模块、逆变换模块、亮度帧内预测模块和亮度样本重建模块(即,亮度预测样本和亮度残差样本的相加)。在原始(即,非映射)域中进行的解码模块包括运动补偿预测模块、色度帧内预测模块、色度样本重建模块(即,色度预测样本和色度残差样本的相加)、以及诸如去块模块、SAO模块和ALF模块之类的所有环路滤波器模块。由LMCS引入的新操作模块包括:亮度样本的正向映射模块610、亮度样本的反向映射模块620和色度残差缩放模块630。
LMCS的环路映射可以调整输入信号的动态范围,以提高编解码效率。现有LMCS设计中的亮度样本的环路映射建立在两个映射函数上:一个正向映射函数FwdMap和一个相应反向映射函数InvMap。正向映射函数使用具有16个相等尺寸段的一个分段线性模型从编码器用信号发送给解码器。可以从正向映射函数直接推导反向映射函数,因此不需要用信号发送。
在条带级别用信号发送亮度映射模型的参数。首先用信号发送存在标志,以指示是否要用信号发送针对当前条带的亮度映射模型。如果当前条带中存在亮度映射模型,则进一步用信号发送相应的分段线性模型参数。此外,在条带级别,用信号发送另一LMCS控制标志以启用/禁用针对条带的LMCS。
色度残差缩放模块630被设计为当将环路映射应用于亮度信号时补偿亮度信号与其对应色度信号之间的量化精度的相互影响。还在条带报头中用信号发送是否针对当前条带启用或禁用色度残差缩放。如果启用了亮度映射,则用信号发送附加标志来指示是否应用了亮度相关色度残差缩放。当不使用亮度映射时,亮度相关色度残差缩放总是被禁用并且不需要附加标志。此外,对于包含少于或等于四个色度样本的CU,始终禁用色度残差缩放。
图7是示出根据本公开的一些实施方式的示例性视频解码过程的框图,视频解码器通过所述示例性视频解码过程来实施逆自适应色彩空间变换(ACT)的技术。
与HEVC SCC中的ACT设计类似,VVC中的ACT将4:4:4色度格式中的一个CU的帧内/帧间预测残差从原始色彩空间(例如,RGB色彩空间)转换到YCgCo色彩空间。结果,可以减少三个色彩分量之间的冗余,以获得更好的编解码效率。图7描绘了其中如何通过添加逆ACT模块710在VVC框架中应用逆ACT的解码流程图。当处理启用ACT编码的CU时,熵解码、反量化和基于逆DCT/DST的变换首先应用于CU。在那之后,如图7中所示,调用逆ACT以便将解码后的残差从YCgCo色彩空间转换到原始色彩空间(例如,RGB和YCbCr)。此外,由于有损模式中的ACT没有归一化,所以(-5,-5,-3)的QP调整应用于Y、Cg和Co分量,以补偿已变换残差的已变化幅度。
在一些实施例中,ACT方法重复使用HEVC的相同ACT核心变换来进行不同色彩空间之间的色彩转换。具体地,依据当前CU是以有损方式还是无损方式进行编码,应用两种不同版本的色彩变换。针对有损情况的正向和反向色彩变换使用不可逆的YCgCo变换矩阵,如图5A中所示。针对无损情况,应用如图5B中所示的可逆色彩变换YCgCo-LS。此外,与现有ACT设计不同,对ACT方案引入了以下变更,以处理其与VVC标准中的其他编解码工具的交互。
例如,因为HEVC中的一个CU的残差可以被分割成多个TU,所以针对每个TU单独地用信号发送ACT控制标志以指示是否需要应用色彩空间转换。然而,如上面结合图4E所述,在VVC中应用嵌套二叉和三叉分割结构的一个四叉树来取代多分割类型概念,从而去除HEVC中的单独CU、PU和TU分割。这意味着在大多数情况下,一个CU叶节点也被用作预测和变换处理的单元而无需进一步分割,除非最大支持的变换尺寸小于CU的一个分量的宽度或高度。基于这样的分区结构,在CU级别的ACT被自适应地启用和禁用。具体地,为每个CU发送一个标志cu_act_enabled_flag以在原始色彩空间与YCgCo色彩空间之间进行选择,以对CU的残差进行编解码。如果标志等于1,则表示CU内的所有TU的残差是在YCgCo色彩空间中编解码的。否则,如果标志cu_act_enabled_flag等于0,则CU的所有残差都编解码在原始色彩空间中。
在一些实施例中,存在禁用ACT的不同场景。当针对一个CU启用ACT时,它需要访问所有三个分量的残差来进行色彩空间转换。但是,VVC设计不能保证每个CU总是包含三个组件的信息。根据本公开的实施例,在其中CU不包含所有三个组件的信息的那些情况下,应当强制禁用ACT。
首先,在一些实施例中,当应用单独树分割结构时,基于单独分割结构将一个CTU内的亮度和色度样本分割为CU。结果,亮度分割树中的CU只包含亮度分量的编解码信息,并且色度分割树中的CU只包含两个色度分量的编解码信息。根据当前VVC,在单树与单独树分割结构之间的切换是在条带级别执行的。因此,根据本公开的实施例,当发现单独树应用于一个条带时,将始终针对条带内的所有CU(包括亮度CU和色度CU)禁用ACT,而不用信号发送被推断为零的ACT标志。
第二,在一些实施例中,当启用ISP模式(下文进一步描述)时,TU分割仅应用于亮度样本,而色度样本被编解码而不进一步划分成多个TU。假设N是针对一个内部CU的ISP子分割(即,TU)的数量,根据当前ISP设计,只有最后一个TU包含亮度分量和色度分量,而前N-1个ISP TU仅由亮度分量组成。根据本公开的一个实施例,在ISP模式下ACT被禁用。有两种方式禁用针对ISP模式的ACT。在第一种方法中,在用信号发送ISP模式的语法之前用信号发送ACT启用/禁用标志(即,cu_act_enabled_flag)。在这种情况下,当标志cu_act_enabled_flag等于1时,将不会在比特流中用信号发送ISP模式,但始终被推断为零(即,关闭)。在第二种方法中,使用ISP模式信令,以绕过ACT标志的信令。具体而言,在该方法中,在标志cu_act_enabled_flag之前用信号发送ISP模式。当选择ISP模式时,不用信号发送标志cu_act_enabled_flag,并且推断为零。否则(不选择ISP模式),标志cu_act_enabled_flag仍将用信号发送以自适应地选择用于CU的残差编解码的色彩空间。
在一些实施例中,除了针对其中亮度和色度分割结构未对齐的CU强制地禁用ACT以外,还针对其中应用ACT的CU禁用LMCS。在一个实施例中,当一个CU选择YCgCo色彩空间来编解码其残差时(即,ACT为1),亮度映射和色度残差缩放都被禁用。在另一实施例中,当为一个CU启用ACT时,仅禁用色度残差缩放,仍然可以应用亮度映射来调整输出亮度样本的动态范围。在最后一个实施例中,对于应用ACT来编解码其残差的CU,亮度映射和色度残差缩放都被启用。可以有多种方式来针对应用ACT的CU启用色度残差缩放。在一种方法中,在解码时的逆ACT之前应用色度残差缩放。通过这种方法,这意味着:当应用ACT时,色度残差缩放应用于YCgCo域中的色度残差(即,Cg和Co残差)。在另一种方法中,在逆ACT之后应用色度残差缩放。具体而言,通过第二种方法,将色度缩放应用于原始色彩空间中的残差。假设输入视频是以RGB格式捕捉到的,这意味着色度残差缩放应用于B和R分量的残差。
在一些实施例中,语法元素(例如,sps_act_enabled_flag)被添加到序列参数集(SPS)以指示是否在序列级别启用ACT。此外,由于色彩空间转换应用于其亮度分量和色度分量具有相同分辨率的视频内容(例如,4:4:4色度格式4:4:4),所以需要添加一个比特流一致性要求,从而能够仅针对4:4:4色度格式启用ACT。表1示出了添加有上述语法的修改后的SPS语法表。
表1修改后的SPS语法表
具体地,sps_act_enabled_flag等于1指示启用ACT,并且sps_act_enabled_flag等于0指示禁用ACT,使得针对涉及SPS但推断为0的CU,不用信号发送标志cu_act_enabled_flag。当ChromaArrayType不等于3时,比特流一致性的要求是sps_act_enabled_flag的值应当等于0。
在另一个实施例中,没有总是用信号发送sps_act_enabled_flag,而是以输入信号的色度类型为条件用信号发送标志。具体来说,假设只能在亮度分量和色度分量处于相同分辨率时应用ACT,则仅在以4:4:4色度格式捕捉输入视频时用信号发送标志sps_act_enabled_flag。在这样改变的情况下,修改后的SPS语法表是:
表2带有信令条件的修改后的SPS语法表
在一些实施例中,在下表中示出了用于使用ACT来解码视频数据的语法设计规范。
表3针对信令ACT模式的规范
标志cu_act_enabled_flag等于1表示在YCgCo色彩空间中对编码单元的残差进行编解码,而标志cu_act_enabled_flag等于0表示在原始色彩空间(例如,RGB或YCbCr)中对编码单元的残差进行编解码。当标志cu_act_enabled_flag不存在时,其被推断为等于0。
在当前VVC工作草案中,当以4:4:4色度格式捕捉输入视频时,可以将变换跳过模式应用于亮度分量和色度分量两者。基于这样的设计,在一些实施例中,下面使用三种方法来处理ACT与变换跳过之间的交互。
在一种方法中,当针对一个ACT CU启用变换跳过模式时,变换跳过模式仅应用于亮度分量,而不应用于色度分量。在一些实施例中,下表中示出针对该方法的语法设计规范。
表4当变换跳过模式仅应用于亮度分量时的语法规范
在另一种方法中,变换跳过模式应用于亮度分量和色度分量两者。在一些实施例中,下表中示出了针对该方法的语法设计规范。
表5当变换跳过模式应用于亮度分量和色度分量两者时的语法规范
在又一方法中,当对一个CU启用ACT时,始终禁用变换跳过模式。在一些实施例中,下表中示出了针对该方法的语法设计规范。
表6当始终禁用转换跳过模式时的语法规范
图8A和图8B是示出了根据本公开的一些实施方式的示例性视频解码过程的框图,视频解码器通过该示例性视频解码过程来实施逆自适应色彩空间变换(ACT)和具有色度缩放的亮度映射的技术。在一些实施例中,使用ACT(例如,图7中的逆ACT 710)和色度残差缩放(例如,图6中的色度残差缩放630)对视频比特流进行编解码。在一些其它实施例中,视频比特流是使用色度残差缩放而不是两者的ACT进行编解码的,因此不需要逆ACT 710。
更具体地说,图8A描绘了其中视频编解码器在逆ACT 710之前执行色度残差缩放630的实施例。结果,视频编解码器在色彩空间变换域中执行具有色度残差缩放630的亮度映射。例如,假设输入视频是以RGB格式被捕捉到并被转换到YCgCo色彩空间,视频编解码器根据YCgCo色彩空间中的亮度残差Y对色度残差Cg和Co执行色度残差缩放630。
图8B描绘了其中视频编解码器在逆ACT 710之后执行色度残差缩放630的替代实施例。结果,视频编解码器在原始色彩空间域中执行具有色度残差缩放630的亮度映射。例如,假设输入视频是以RGB格式被捕捉到的,视频编解码器对B分量和R分量应用色度残差缩放。
图9是示出根据本公开的一些实施方式的在执行自适应色彩空间变换(ACT)和块差分脉冲编码调制(BDPCM)之间的示例性解码逻辑的框图。
BDPCM是用于屏幕内容编码的编码工具。在一些实施例中,BDPCM启用标志是在SPS中以序列级别用信号发送的。只有在SPS中启用转换跳过模式,才用信号发送BDPCM启用标志。
当启用BDPCM时,如果CU尺寸小于或等于MaxTsSize×MaxTsSize的亮度样本,并且如果CU是帧内编码的,则在CU级别发送标志,其中MaxTsSize是允许变换跳过模式的最大块尺寸。该标志指示是使用常规帧内编码还是使用BDPCM。如果使用BDPCM,则进一步发送另一BDPCM预测方向标志以指示预测是水平的还是垂直的。然后,使用具有未滤波参考样本的常规水平或垂直帧内预测过程来预测块。对残差进行量化,并对每个量化残差与其预测值之差(即,水平或垂直(取决于BDPCM预测方向)相邻位置的先前编码残差)进行编码。
对于尺寸M(高)×N(宽)的块,令ri,j,0≤i≤M-1,0≤j≤N-1为预测残差。令Q(ri,j),0≤i≤M-1,0≤j≤N-1表示残差ri,j的量化版本。BDPCM应用于已量化的残差值,产生具有元素的修改后的M×N阵列其中,是从其相邻量化残差值预测的。对于垂直BDPCM预测模式,对于0≤j≤(N-1),以下用于推导
对于水平BDPCM预测模式,对于0≤i≤(M-1),以下用于推导
在解码器侧,将上述过程反过来计算Q(ri,j),0≤i≤M-1,0≤j≤N-1,如下:
如果使用垂直BDPCM (3)
如果使用水平BDPCM (4)
将逆量化残差Q-1(Q(ri,j))添加到块内预测值,以产生已重建的样本值。
使用与变换跳过模式残差编码相同的残差编码过程来将预测的量化残差值发送给解码器。就用于未来帧内模式编码的MPM模式而言,如果BDPCM预测方向分别为水平或垂直,则为BDPCM编码的CU存储水平或垂直预测模式。对于去块,如果块边界两侧的两个块都使用BDPCM进行编码,则该特定块边界不被去块。根据最新VVC工作草案,当输入视频是4:4:4色度格式时,可以通过用信号发送两个单独标志(即,intra_bdpcm_luma_flag和intra_bdpcm_chroma_flag,针对CU级别的亮度和色度通道)来将BDPCM应用于亮度分量和色度分量。
在一些实施例中,视频编解码器执行不同的逻辑以更好地处理ACT和BDPCM之间的交互。例如,当将ACT应用于一个帧内CU时,BDPCM对亮度分量启用但对色度分量禁用(910)。下面示出了编码单元的相应的修改后的语法表:
表7仅对亮度分量启用的BDPCM
在一些实施例中,当将ACT应用于一个帧内CU时,针对亮度分量和色度分量两者启用BDPCM(920)。下面示出了编码单元的相应的修改后的语法表:
表8针对亮度分量和色度分量启用的BDPCM
在一些实施例中,当将ACT应用于一个帧内CU时,对于亮度分量和色度分量都禁用BDPCM(930)。在这种情况下,不需要用信号发送BDPCM相关语法元素。下面示出了编码单元的相应的修改后的语法表:
表9针对亮度分量和色度分量都禁用BDPCM
在一些实施例中,使用无损编码来处理ACT。在HEVC标准中,通过用信号发送一个CU级别标志cu_transquant_bypass_flag为1来指示一个CU的无损模式。然而,在正在进行的VVC标准化过程中,应用了一种不同的无损启用方法。具体来说,当以无损方式对一个CU进行编码时,只需要跳过变换并且使用量化步长为1。这可以通过用信号发送CU级别的QP值为1并用信号发送TU级别的transform_skip_flag为1来实现。因此,在本公开的一个实施例中,根据transform_skip_flag的值和QP值来对一个CU/TU进行有损ACT变换与无损ACT变换的切换。当标志transform_skip_flag等于1并且QP值等于4时,应用无损ACT变换;否则,应用ACT变换的有损版本,如下所示。
如果transform_skip_flag等于1并且QP等于4,则残差样本rY、rCb和rCr的(nTbW)x(nTbH)阵列(其中,x=0..nTbW-1,y=0..nTbH–1)被修改如下:
tmp=rY[x][y]–(rCb[x][y]>>1)
rY[x][y]=tmp+rCb[x][y]
rCb[x][y]=tmp–(rCr[x][y]>>1)
rCr[x][y]=rCb[x][y]+rCr[x][y]
否则,残差样本rY、rCb和rCr的(nTbW)x(nTbH)阵列(其中,x=0..nTbW-1,y=0..nTbH-1)被修改如下:
tmp=rY[x][y]-rCb[x][y]
rY[x][y]=rY[x][y]+rCb[x][y]
rCb[x][y]=tmp–rCr[x][y]
rCr[x][y]=tmp+rCr[x][y]
在以上描述中,不同的ACT变换矩阵用于有损和无损编码。为了实现更统一的设计,无损ACT变换矩阵用于有损和无损编码。此外,假定无损ACT变换将会使Cg分量和Co分量的动态范围增加1位,在正ACT变换后将附加1位右移应用于Cg分量和Co分量,同时在逆ACT变换之前将1位左移应用于Cg分量和Co分量。如下所述,
如果transform_skip_flag等于0或QP不等于4,则残差样本rCb和rCr(其中,x=0..nTbW-1,y=0..nTbH-1)的(nTbW)x(nTbH)阵列被修改如下:
rCb[x][y]=rCb[x][y]<<1
rCr[x][y]=rCr[x][y]<<1
残差样本rY、rCb和rCr的(nTbW)x(nTbH)阵列(其中,x=0..nTbW-1,y=0..nTbH-1)被修改如下:
tmp=rY[x][y]–(rCb[x][y]>>1)
rY[x][y]=tmp+rCb[x][y]
rCb[x][y]=tmp–(rCr[x][y]>>1)
rCr[x][y]=rCb[x][y]+rCr[x][y]
此外,从上面可以看出,当应用ACT时,QP偏移(-5、-5、-3)被应用到Y分量、Cg分量和Co分量。因此,针对较小输入QP值(例如,<5),负QP将用于未定义的ACT变换系数的量化/反量化。为了解决这个问题,在ACT的QP调整之后增加了一个裁剪操作,使得所应用的QP值总是等于或大于零,即QP'=max(QPorg-QPoffset,0),其中QP是原始QP,QPoffset是ACT QP偏移,QP'是已调整的QP值。
在如上所述的方法中,虽然相同的ACT变换矩阵(即,无损ACT变换矩阵)用于有损和无损编码两者,但是仍然可以识别出以下两个问题:
依据当前CU是有损CU还是无损CU,仍然应用不同的逆ACT操作。具体来说,对于无损CU,应用逆ACT变换;对于有损CU,需要在逆ACT变换之前应用附加右移。此外,解码器需要知道当前CU是以有损模式还是无损模式进行编码的。这与当前VVC无损设计不符。详细地说,与其中通过用信号发送一个cu_transquant_bypass_flag来指示一个CU的无损模式的HEVC无损设计不同,VVC中的无损编码是以一种纯粹非规范方式完成的,即,跳过预测残差的变换(针对亮度分量和色度分量,启用变换跳过模式),选择适当QP值(即,4)并且明确地禁用避免无损编码的编码工具,例如环路滤波器。
用于标准化ACT变换的QP偏移现在是固定的。然而,就编解码效率而言,最佳QP偏移的选择可以取决于内容本身。因此,当启用ACT工具时允许灵活的QP偏移信令可能更有益,以便最大化其编解码增益。
基于以上考虑,一种统一ACT设计被实现如下。首先,针对在有损模式和无损模式下编码的CU应用无损ACT正变换和逆变换。第二,不使用固定的QP偏移,而是在比特流中明确地用信号发送向ACT CU应用的QP偏移(即,应用于Y分量、Cg分量和Co分量的三个QP偏移)。第三,为了避免向ACT CU应用的QP的可能溢出问题,对每个ACT CU的结果QP应用裁剪操作,以使QP范围有效。可以看出,基于上述方法,可以通过纯粹仅编码器的修改(即使用不同的编码器设置)来实现有损编码与无损编码之间的选择。针对ACT CU的有损和无损编码的解码操作是相同的。具体而言,为了实现无损编码,除了现有编码器侧无损配置外,编码器只需要用信号发送三个QP偏移的值为零。另一方面,为了启用有损编码,编码器可以用信号发送非零QP偏移。例如,在一个实施例中,为了补偿由有损编码中的无损ACT变换引起的动态范围变化,可以在应用ACT时针对Y分量、Cg分量和Co分量用信号发送QP偏移(-5、1、3)。另一方面,可以在不同的编码级别上用信号发送ACT QP偏移,例如,序列参数集(SPS)、图片参数集(PPS)、图片报头、编码块组级别等等,其可以按不同粒度提供不同的QP适配。下表给出了一个示例,其中,在SPS中执行QP偏移信令。
表10其中在SPS中执行QP偏移信令的语法规范
在另一实施例中,在SPS或PPS处添加一个高级控制标志(例如,picture_header_act_qp_offset_present_flag)。当标志等于0时,这意味着在SPS或PPS中用信号发送的QP偏移将应用于在ACT模式中编解码的所有CU。否则,当标志等于1时,可以进一步在图片报头中用信号发送附加的QP偏移语法(例如,picture_header_y_qp_offset_plus5、picture_header_cg_qp_offset_minus1和picture_header_co_qp_offset_minus3),以单独地控制对一个具体图片中的ACT CU所应用的QP值。
另一方面,用信号发送的QP偏移也应当被应用以将最终的ACT QP值裁剪到有效动态范围。此外,可以将不同的裁剪范围应用于使用变换和不使用变换进行编解码的CU。例如,当不应用变换时,最终的QP应当不小于4。假设ACT QP偏移量是在SPS级别用信号发送的,则针对ACT CU的相应QP值推导过程可以被描述如下:
QpY=((qPY_PRED+CuQpDeltaVal+64+2*QpBdOffset+
sps_act_y_qp_offset)%(64+QpBdOffset))-QpBdOffset
Qp′Cb=Clip3(-QpBdOffset,63,qPCb+pps_cb_qp_offset+slice_cb_qp_offset+CuQpOffsetCb+
sps_act_cg_offset)+QpBdOffset
Qp′Cr=Clip3(-QpBdOffset,63,qPCr+pps_cr_qp_offset+slice_cr_qp_offset+CuQpOffsetCr+
sps_act_co_offset)+QpBdOffset
Qp′CbCr=Clip3(-QpBdOffset,63,qPCbCr+pps_joint_cbcr_qp_offset+
slice_joint_cbcr_qp_offset+CuQpOffsetCbCr+sps_act_cg_offset)+QpBdOffset
在另一个实施例中,在SPS级别用信号发送ACT启用/禁用标志,同时在PPS级别用信号发送ACT QP偏移,以允许编码器更灵活地调整应用于ACT CU的QP偏移,从而提高编码效率。具体来说,下表中呈现了具有所描述的更改的SPS和PPS语法表。
表11其中在SPS级别用信号发送ACT启用/禁用标志,同时在PPS级别用信号发送ACT QP偏移的语法规范
pps_act_qp_offset_present_flag等于1规定了比特流中存在pps_act_y_qp_offset_plus5、pps_act_cg_qp_offset_minus1和pps_act_co_qp_offset_minus3。当pps_act_qp_offset_present_flag等于0时,在比特流中不存在语法元素pps_act_y_qp_offset_plus5、pps_act_cg_qp_offset_minus1和pps_act_co_qp_offset_minus3。比特流的一致性是:当sps_act_enabled_flag等于0时,pps_act_qp_offset_present_flag的值应当为0。
pps_act_y_qp_offset_plus5、pps_act_cg_qp_offset_minus1和pps_act_co_qp_offset_minus3用于确定应用于量化参数的值的偏移,所述量化参数用于其cu_act_enabled_flag等于1的编码块的亮度分量和色度分量。当不存在时,pps_act_y_qp_offset_plus5、pps_act_cg_qp_offset_minus1和pps_act_cr_qp_offset_minus3的值被推断为等于0。
在上述PPS信令中,当应用或不应用色度残差的联合编码(JCCR)模式时,向ACT CU应用相同的QP偏移值。假定在JCCR模式中仅对一个信号色度分量的残差进行编码,这样的设计可能不是最优的。因此,为了获得一个更佳编码增益,当JCCR模式应用于一个ACT CU时,可以应用一个不同的QP偏移以便对色度分量的残差进行编码。基于这样的考虑,在PPS中针对JCCR模式增加一个单独QP偏移信令,具体如下。
表12其中在PPS中针对JCCR模式添加单独QP偏移信令的语法规范
pps_joint_cbcr_qp_offset用于确定应用于量化参数的值的偏移,该量化参数用于其中应用联合色度残差编码的编码块的色度残差。如果不存在,则推断pps_joint_cbcr_qp_offset的值等于0。
图10是示出根据本公开的一些实施方式的示例性过程的流程图1000,视频编码器通过该示例性过程通过针对在有损模式和无损模式下编码的编码单元使用相同的逆自适应色彩空间变换(ACT)来解码视频数据。
在一些实施例中,视频解码器30从比特流中接收语法中的第一控制标志,其中,第一控制标志指示是否启用自适应色彩变换(ACT)以解码比特流中的编码单元的残差(1010)。
在一些实施例中,视频解码器30随后根据第一控制标志(例如,如果第一控制标志值是真或非零)来确定ACT被启用以解码比特流中的编码单元的残差(1020)。
根据步骤1020中的确定,视频解码器30从比特流接收多个语法元素(1020-1)。多个语法元素指示应用于量化参数的调整值,所述量化参数用于对使用ACT的编码单元的残差进行反量化。接下来,视频解码器30从比特流接收与编码单元相对应的视频数据(1020-2)。视频数据包括与编码单元的残差相对应的系数和在语法中的第二控制标志,所述第二控制标志指示是否已经使用ACT在YCgCo色彩空间中对编码单元的残差进行编码。
视频解码器30通过将反量化和逆变换应用于所接收的与编码单元的残差相对应的系数来构建编码单元的残差(1020-3)。
在一些实施例中,视频解码器30根据第二控制标志(例如,如果第二控制标志值为真或非零)来确定已经使用ACT在YCgCo色彩空间中对编码单元的残差进行编码(1030)。
根据在步骤1030中确定已经使用ACT在YCgCo色彩空间中对编码单元的残差进行编码,视频解码器30通过应用逆ACT来修改编码单元的重建残差(1030-1)。逆ACT基于一个逆ACT矩阵来将编码单元的重建残差从YCgCo色彩空间转换到原始色彩空间。在一些实施例中,逆ACT矩阵用于转换以有损模式和无损模式两者进行编码的编码单元的重建残差。换言之,无论以有损模式还是无损模式对编码单元的残差进行编码,都使用同一逆ACT矩阵来转换重建残差。
在一些实施例中,根据使用有损编码模式对编码单元进行编码的确定,将反量化和逆变换应用于所接收的与编码单元的残差相对应的系数。
在一些实施例中,在将调整值应用于量化参数之后,视频解码器30应用裁剪操作以进一步将已调整的量化参数限制在有效范围。在一些实施例中,有效范围等于或大于零。
在一些实施例中,应用于量化参数的调整值是基于在应用逆ACT之前和之后的编码单元的残差的幅度的变化而被预先确定的。
在一些实施例中,应用于量化参数的调整值包括对Y分量的第一量化参数调整、对Cg分量的第二量化参数调整和对Co分量的第三量化参数调整。在一些实施例中,应用于量化参数的调整值进一步包括对通过色度残差联合编码(JCCR)模式进行编码的编码单元的色彩分量的第四量化参数调整。
在一些实施例中,在编码之前以4:4:4色度格式捕捉视频数据。
在一些实施例中,在序列参数集(SPS)、图片参数集(PPS)、图片报头和编码块组级别中的一项或多项中执行第一控制标志和多个语法元素。
在一些实施例中,解码器从与编码单元相对应的视频数据接收第一语法元素,其中,所述第一语法元素指示是否已经使用ACT对编码单元的残差进行编码;根据从第一语法元素确定编码单元的残差还没使用ACT进行编码,解码器接收指示是否应用逆变换来解码编码单元的残差的第二语法元素;以及,根据从第一语法元素来确定已经使用ACT对编码单元的残差进行编码,解码器将默认值分配给第二语法元素,该默认值指示应用逆变换来解码编码单元的残差。
在一些实施例中,图11示出了当内部亮度和色度位深度不同时处理ACT的方法。具体来说,图11是根据本公开的一些实施方式当亮度和色度内部位深度不同时为不同分量应用不同QP偏移的解码流程图。
根据现有的VVC规范,允许亮度分量和色度分量使用不同的内部位深度(表示为BitDepthY和BitDepthC)进行编解码。然而,现有的ACT设计总是假设内部亮度和色度位深度是相同的。在本节中,方法被实现为当BitDepthY不等于BitDepthC时改进ACT设计。
在第一种方法中,当内部亮度位深度不等于色度分量时,始终禁用ACT工具。
第二种方法是在第二种方案中通过将具有较小位深度的分量左移来匹配另一分量的位深度来实现亮度分量和色度分量的位深度对齐;然后,缩放后的分量将在色彩变换后通过右位移重新调整到原始位深度。
与HEVC类似,量化步长随着QP的每个增量增加大约21/6倍,并且每6个增量正好翻倍。基于这样的设计,在第二种方法中,为了补偿亮度和色度之间的内部位深度,它实现了将用于具有较小内部位深度的分量的QP值增加6Δ,其中Δ是在亮度与色度内部位深度之差。然后,通过应用Δ位的右移,将分量的残差移回原始动态范围。图11示出了当应用上述方法时的相应解码过程。例如,假设输入QP值为qp,则应用于Y、Cg和Co分量的默认QP值等于qp-5、qp-5和qp-3。此外,假设亮度内部位深度高于色度位深度,即,Δ=BitDepthY–BitDepthC。然后,应用于亮度分量和色度分量的最终QP值等于qp-5、qp-5+6Δ和qp-3+6Δ。
在一些实施例中,实现了编码器加速逻辑。为了选择用于一个CU的残差编码的色彩空间,最直接的方法是让编码器核查每种编码模式(例如,帧内编码模式、帧间编码模式和IBC模式)两次,一次启用ACT,而另一次ACT被禁用。这可能会使编码复杂度大约翻倍。为了进一步降低ACT的编码复杂度,在本公开中实施了以下编码器加速逻辑:
首先,由于YCgCo空间比RGB空间更紧凑,所以当输入视频为RGB格式时,实施了首先核查启用ACT工具的率失真(R-D)成本,然后核查禁用ACT工具的R-D成本。此外,只有当启用ACT时至少有一个非零系数时,才进行禁用色彩空间变换的R-D成本的计算。取代地,当输入视频为YCbCr格式时,实施了在启用ACT的R-D核查之后,核查禁用ACT的R-D成本。只有当禁用ACT时至少有一个非零系数时,才执行第二R-D核查(即,启用ACT)。
第二,为了减少测试编码模式的数量,实施了对两个色彩空间使用相同的编码模式。更具体地说,对于帧内模式,用于全R-D成本比较的选定帧内预测模式是在两个色彩空间之间共享的;对于帧间模式,所选择的运动矢量、参考图片、运动矢量预测器和合并索引(用于帧间合并模式)是在两个色彩空间之间共享的;对于IBC模式,所选择的块向量和块向量预测器和合并索引(用于IBC合并模式)是在两个色彩空间之间共享的。
第三,由于在VVC中使用四叉树/二叉树/三叉树分割结构,可以通过不同的分割组合得到一个相同的块分割。为了加快色彩空间的选择,当通过不同分割路径来实现一个相同块时,实施了使用ACT启用/禁用决策。具体而言,当第一次编码CU时,将存储用于对一个特定CU的残差进行编码的所选择的色彩空间。然后,当通过另一分割路径获得相同的CU时,不在两个空间之间进行选择,而是直接重复使用存储的色彩空间决策。
第四,假定一个CU与其空间相邻块之间的强相关性,它被实现为使用其空间相邻块的色彩空间选择信息来决定需要检查多少色彩空间以用于当前CU的残差编码。例如,如果有足够数量的空间相邻块选择YCgCo空间来编码它们的残差,则可合理地推断当前CU很可能选择相同的色彩空间。相应地,可以跳过对当前CU在原始色彩空间中的残差进行编码的R-D核查。如果有足够的空间邻居选择原始色彩空间,则可以绕过YCgCo域中的残差编码的R-D核查。否则,需要测试两个色彩空间。
第五,假定在同一区域中的CU之间存在强相关性,一个CU可以选择与其父CU相同的色彩空间来编码其残差。或者子CU可以从其父CU的信息中推导出色彩空间,例如,所选择的色彩空间和每个色彩空间的RD成本。因此,为了简化编码复杂度,如果在YCgCo域中对其父CU的残差进行编码,则针对一个CU将跳过核查RGB域中的残差编码的R-D成本;此外,如果在RGB域中对其父CU的残差进行编码,则将跳过核查YCgCo域中的残差编码的RD成本。另一种保守的方法是,如果在其父CU的编码中测试了两个色彩空间,则在两个色彩空间中使用其父CU的R-D成本。如果其父CU选择YCgCo色彩空间,并且YCgCo的RD成本远小于RGB的RD成本,则会跳过RGB色彩空间,反之亦然。
在一些实施例中,通过启用用于色度分量的仅亮度编解码工具来提高4:4:4视频编解码效率。由于VVC设计的主焦点是针对以4:2:0色度格式捕捉的视频,因此大多数现有的帧间/帧内编解码工具仅针对亮度分量启用,而针对色度分量禁用。但如早先讨论的,当与4:2:0视频信号相比时,4:4:4色度格式的视频信号表现出截然不同的特性。例如,与亮度分量类似,4:4:4YCbCr/RGB视频的Cb/B分量和Cr/R分量通常包含有用的高频纹理和边缘信息。这与4:2:0视频中的色度分量不同,4:2:0视频中的色度分量通常非常平滑且包含的信息比亮度分量少得多。基于这样的分析,当输入视频为4:4:4色度格式时,以下方法被实现为将当前VVC中的一些仅亮度编解码工具扩展到色度分量。
首先,为色度分量启用亮度插值滤波器。如同HEVC,VVC标准利用运动补偿预测技术来利用时间相邻图片之间的冗余,该运动补偿预测技术支持的运动矢量精确到Y分量为1/16个像素,Cb和Cr分量为1/32个像素。使用一组可分离8抽头滤波器对分数样本进行插值。Cb分量和Cr分量的分数插值是与Y分量的分数插值基本相同,只是针对4:2:0视频格式使用可分离4抽头滤波器。这是因为对于4:2:0视频,Cb分量和Cr分量包含的信息比Y分量少得多,并且当与使用8抽头插值滤波器相比时,4抽头插值滤波器可以降低分数插值滤波的复杂度,而不会影响针对Cb分量和Cr分量的运动补偿预测的效率。
如之前所指出的,现有4抽头色度插值滤波器对于用于4:4:4视频中的色度分量的运动补偿预测的内插分数样本可能不是有效的。因此,在本公开的一个实施例中,实施了使用相同的一组8抽头插值滤波器(用于4:2:0视频中的亮度分量)用于4:4:4视频中的亮度分量和色度分量的分数样本插值。在另一实施例中,为了在编解码效率和复杂度之间更好权衡,实施了对4:4:4视频中的色度样本启用自适应插值滤波器选择。例如,可以在SPS、PPS和/或条带级别中用信号发送一个插值滤波器选择标志,以指示8抽头插值滤波器(或其他插值滤波器)或默认的4抽头插值滤波器是否用于各种编解码级别的色度分量。
第二,为色度分量启用PDPC和MRL。
VVC中的位置相关帧内预测组合(PDPC)工具通过采用帧内预测样本与未过滤参考样本的加权组合来扩展上述思想。在当前的VVC工作草案中,针对以下无信令的帧内模式启用了PDPC:平面、DC、水平(即,模式18)、垂直(即,模式50)、接近左下角对角线方向的角方向(即,模式2、3、4、...、10)和接近右上角对角线方向的角度方向(即,模式58、59、60、...、66)。假设位于坐标(x,y)的预测样本为pred(x,y),则其PDPC之后的对应值被计算为
pred(x,y)=(wL×R-1,y+wT×Rx,-1–wTL×R-1,-1+(64–wL–wT+wTL)×pred(x,y)+32)>>6
其中,Rx,-1,R-1,y分别表示位于当前样本(x,y)的上侧和左侧的参考样本,并且R-1,-1表示位于当前块的左上角的参考样本。上式中的权重wL、wT和wTL是依据预测模式和样本位置而自适应地选择的,如下所述,其中假设当前编解码块具有大小W×H:
对于DC模式,
wT=32>>((y<<1)>>shift),wL=32>>((x<<1)>>shift),wTL=(wL>>4)+(wT>>4)
对于平面模式,
wT=32>>((y<<1)>>shift),wL=32>>((x<<1)>>shift),wTL=0
对于水平模式:
wT=32>>((y<<1)>>shift),wL=32>>((x<<1)>>shift),wTL=wT
对于垂直模式:
wT=32>>((y<<1)>>shift),wL=32>>((x<<1)>>shift),wTL=wL
对于左下角对角线方向:
wT=16>>((y<<1)>>shift),wL=16>>((x<<1)>>shift),wTL=0
对于右上角对角线方向:
wT=16>>((y<<1)>>shift),wL=16>>((x<<1)>>shift),wTL=0
其中shift=(log2(W)–2+log2(H)–2+2)>>2。
与其中仅将重建样本的最近行/列作为参考的HEVC不同,在VVC中引入了多参考线(MRL),其中两个附加行/列用于帧内预测。从编码器向解码器用信号发送所选择的参考行/列的索引。当选择非最近的行/列时,从可用于预测当前块的帧内模式集合中排除平面模式和DC模式。
在当前VVC设计中,PDPC工具仅由亮度组件用来减少/去除帧内预测样本与其从已重建的相邻样本推导出的参考样本之间的不连续性。然而,如上面提到的,4:4:4色度格式的视频信号中的色度块中可能存在丰富的纹理信息。因此,像PDPC这样使用未过滤参考样本和帧内预测样本的加权平均来提高预测质量的工具应当也有利于提高4:4:4视频的色度编解码效率。基于这样的考虑,在本公开的一个实施例中,实施了启用PDPC过程以对4:4:4视频中的色度分量进行帧内预测。
同样的考虑也可以扩展到MRL工具。在当前VVC中,MRL不能应用于色度分量。基于本公开的实施例,实施了通过用信号发送针对一个帧内CU的色度分量的一个MRL索引来启用针对4:4:4视频的色度分量的MRL。基于本实施例,可以使用不同的方法。在一种方法中,可以用信号发送一个附加MRL索引并且由Cb/B分量和Cr/R分量共享。在另一种方法中,实施了用信号发送两个MRL索引,一个MRL索引用于每一色度分量。在第三种方法中,实施了重复使用亮度MRL索引以用于色度分量的帧内预测,从而不需要额外MRL信令来启用针对色度分量的MRL。
第三,针对色度分量,启用ISP。
在一些实施例中,将一种称为子分割预测(ISP)的编解码工具引入VVC中以进一步提高帧内编解码效率。传统的帧内模式仅利用与一个CU相邻的重建样本来生成该块的帧内预测样本。基于这样的设计,预测样本与参考样本之间的空间相关性大致与它们之间的距离成正比。因此,在内部的样本(尤其是位于块的右下角处的样本)通常比靠近块边界的样本具有更差的预测质量。依据块大小,ISP将当前CU在水平方向或垂直方向上划分为2个或4个子块,并且每个子块至少包含16个样本。一个子块中的重建样本可以用作预测下一子块中的样本的参考。重复上述过程,直到当前CU内的所有子块都被编解码。此外,为了减少信令开销,一个ISP CU内的所有子块共享相同的帧内模式。另外,根据现有的ISP设计,子块分割仅适用于亮度分量。具体而言,可以仅将一个ISP CU的亮度样本进一步划分为多个子块(或TU),并且对每个亮度子块进行单独编解码。但是,没有划分ISP CU的色度样本。换言之,对于色度分量,CU被用作用于帧内预测、变换、量化和熵编解码的处理单元,而无需进一步分割。
在当前的VVC中,当启用ISP模式时,TU分割只应用于亮度样本,而色度样本被编解码而不进一步划分成多个TU。根据本公开的一个实施例,由于色度平面中的丰富的纹理信息,实施了也启用ISP模式以在4:4:4视频中进行色度编解码。基于本实施例,可以采用不同的方法。在一种方法中,用信号发送一个附加的ISP索引并由两个色度分量共享。在另一种方法中,实施了分别用信号发送两个额外的ISP索引,一个用于Cb/B,而另一个用于Cr/R。在第三种方法中,实施了重复使用用于亮度分量的ISP索引来对两个色度分量进行ISP预测。
第四,针对色度分量启用基于矩阵的帧内预测(MIP)作为一种新的帧内预测技术。
为了预测宽度W和高度H的矩形块的样本,MIP将块左侧的一行H个重建的相邻边界样本和块上方的一行W个重建的相邻边界样本作为输入。如果重建的样本不可用,则按照常规帧内预测中的方式来生成它们。
在一些实施例中,仅对亮度分量启用MIP模式。由于针对色度分量启用ISP模式的相同原因,在一个实施例中,实施了启用针对4:4:4视频的色度分量的MIP。可以应用两种信令方法。在第一种方法中,实施了分别用信号发送两个MIP模式,一个用于亮度分量,而另一个用于两个色度分量。在第二种方法中,实施了仅用信号发送由亮度分量和色度分量共享的一个单独MIP模式。
第五,针对色度分量,启用多重变换选择(MTS)。
除了在HEVC中采用的DCT-II以外,MTS方案用于帧间编解码块和帧内编解码块两者的残差编解码。它使用来自DCT8/DST7的多个选定变换。新引入的变换矩阵是DST-VII和DCT-VIII。
在当前VVC中,仅针对亮度分量,启用MTS工具。在本公开的一个实施例中,实施了针对4:4:4视频的色度分量启用MIP。可以应用两种信令方法。在第一种方法中,实施了当针对一个CU启用MTS时,分别用信号发送两个变换索引,一个用于亮度分量,而另一个用于两个色度分量。在第二种方法中,实施了当启用MTS时,仅用信号发送一个单独变换索引,该变换索引由亮度分量和色度分量共享。
在一个或多个示例中,所描述的功能可以以硬件、软件、固件或其任何组合来实现。如果以软件实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质被发送,并由基于硬件的处理单元来执行。计算机可读介质可以包括计算机可读存储介质或通信介质,计算机可读存储介质对应于诸如数据存储介质之类的有形介质,通信介质包括有助于(例如,根据通信协议)将计算机程序从一个地方转移到另一个地方的任何介质。以此方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质或(2)诸如信号或载波之类的通信介质。数据存储介质可以是任何可用介质,其能够由一台或多台计算机或者一个或多个处理器访问以取回指令、代码和/或数据结构,以实现本申请中描述的实施方式。计算机程序产品可以包括计算机可读介质。
在本文实施方式的描述中使用的术语仅用于描述特定实施方式的目的,并且不旨在限制权利要求的范围。如在实施方式的描述和所附权利要求中所使用的,单数形式“一种”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。还将理解,本文所使用的术语“和/或”指代并涵盖一个或多个相关联的所列条目的任何和所有可能的组合。将进一步理解,当在本说明书中使用时,术语“包括”和/或“包含”,指定所陈述的特征、元素和/或组件的存在,但不排除一个或多个其他特征、元素、组件和/或其群组的存在或添加。
还将理解,虽然在本文中可以使用术语第一、第二等描述各种元件,但这些元件不应当受这些术语的限制。这些术语仅用于将一个元件与另一个元件区分开。例如,在不脱离实施方式的范围的情况下,第一电极可以被称为第二电极,并且类似地,第二电极可以被称为第一电极。第一电极和第二电极两者都是电极,但它们不是同一电极。
本申请的描述是为了说明和描述的目的而呈现的,并且不旨在穷举或限于所公开形式的发明。受益于前述描述和相关附图中呈现的教导,本领域普通技术人员将清楚许多修改、变化和替代的实施方式。选择和描述实施例是为了最好地解释本发明的原理、实际应用,并且使本领域其他技术人员能够理解本发明的各种实施方式,并最好地利用基本原理和具有适用于预期的特定用途的各种修改的各种实施方式。因此,将理解,权利要求的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在被包括在所附权利要求的范围内。
Claims (13)
1.一种解码视频数据的方法,包括:
从与编码单元相对应的视频数据接收第一语法元素,其中,所述第一语法元素指示是否已经使用自适应色彩变换(ACT)对所述编码单元的残差进行编码;
根据基于所述第一语法元素的关于还没有使用所述ACT对所述编码单元的所述残差进行编码的确定,接收用于确定是否应用逆变换来解码所述编码单元的数据的第二语法元素,其中,所述第二语法元素指示块差分脉冲编码调制(BDPCM)是否应用于所述编码单元的色度分量;以及
根据基于所述第一语法元素的关于已经使用所述ACT对所述编码单元的所述残差进行编码的确定,将默认值分配给所述第二语法元素,
其中,当所述第二语法元素具有所述默认值时,逆变换被应用以解码所述编码单元的数据。
2.根据权利要求1所述的方法,还包括:
从与所述编码单元相对应的所述视频数据中获得与所述编码单元的所述残差相对应的系数;以及
根据比特流来确定多个调整值,并且将所述多个调整值应用于量化参数以获得用于对所获得的所述编码单元的系数进行反量化的经调整的量化参数;
通过使用所述经调整的量化参数对所获得的与所述编码单元的所述残差相对应的系数应用反量化,以及向经反量化的系数应用逆变换,来重建所述编码单元的所述残差;以及
根据基于所述第一语法元素的关于已经使用所述ACT对所述编码单元的所述残差进行编码的确定,通过应用逆ACT以基于一个逆ACT矩阵将所述编码单元的所述重建残差从YCgCo色彩空间转换到原始色彩空间,来修改所述编码单元的重建残差。
3.根据权利要求2所述的方法,其中:
根据确定使用有损编码模式对所述编码单元进行编码,应用所述反量化和逆变换。
4.根据权利要求2所述的方法,还包括:
在将所述调整值应用于所述量化参数之后,应用裁剪操作以进一步将调整后的量化参数限制到有效范围。
5.根据权利要求4所述的方法,其中,所述有效范围中的最小值等于或大于零。
6.根据权利要求2所述的方法,其中,应用于所述量化参数的所述调整值是基于在应用所述逆ACT之前和之后的所述编码单元的所述残差的幅度的变化而被预先确定的。
7.根据权利要求3所述的方法,其中,应用于所述量化参数的所述调整值包括:针对Y分量的第一量化参数调整、针对Cg分量的第二量化参数调整、以及针对Co分量的第三量化参数调整。
8.根据权利要求7所述的方法,其中,应用于所述量化参数的所述调整值进一步包括:针对通过色度残差联合编码(JCCR)模式编码的编码单元的色彩分量的第四量化参数调整。
9.根据权利要求2所述的方法,其中,所述视频数据是在编码之前以4:4:4色度格式进行捕捉的。
10.根据权利要求2所述的方法,其中,所述逆ACT矩阵用于转换以有损模式或无损模式编码的所述编码单元的所述重建残差。
11.一种电子装置,包括:
一个或多个处理单元;
耦合到所述一个或多个处理单元的存储器;以及
存储在所述存储器中的多个程序,当被所述一个或多个处理单元执行时,使得所述电子装置执行根据权利要求1-10中任一项所述的方法。
12.一种非暂时性计算机可读存储介质,存储用于由具有一个或多个处理单元的电子装置执行的多个程序,其中,所述多个程序当被所述一个或多个处理单元执行时,使得所述电子装置接收比特流以执行根据权利要求1-10中任一项所述的方法。
13.一种计算机程序产品,包括至少一个指令,所述至少一个指令当由至少一个处理器执行时,使得所述至少一个处理器执行根据权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310531097.8A CN116320457B (zh) | 2019-12-10 | 2020-12-10 | 以4:4:4色度格式进行视频编解码的方法和装置 |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962946328P | 2019-12-10 | 2019-12-10 | |
US62/946,328 | 2019-12-10 | ||
US201962948054P | 2019-12-13 | 2019-12-13 | |
US62/948,054 | 2019-12-13 | ||
PCT/US2020/064346 WO2021119337A1 (en) | 2019-12-10 | 2020-12-10 | Methods and apparatus of video coding in 4:4:4 chroma format |
CN202080094115.5A CN115004705A (zh) | 2019-12-10 | 2020-12-10 | 以4:4:4色度格式进行视频编解码的方法和装置 |
CN202310531097.8A CN116320457B (zh) | 2019-12-10 | 2020-12-10 | 以4:4:4色度格式进行视频编解码的方法和装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080094115.5A Division CN115004705A (zh) | 2019-12-10 | 2020-12-10 | 以4:4:4色度格式进行视频编解码的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116320457A CN116320457A (zh) | 2023-06-23 |
CN116320457B true CN116320457B (zh) | 2024-06-28 |
Family
ID=76330805
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080094115.5A Pending CN115004705A (zh) | 2019-12-10 | 2020-12-10 | 以4:4:4色度格式进行视频编解码的方法和装置 |
CN202310531097.8A Active CN116320457B (zh) | 2019-12-10 | 2020-12-10 | 以4:4:4色度格式进行视频编解码的方法和装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080094115.5A Pending CN115004705A (zh) | 2019-12-10 | 2020-12-10 | 以4:4:4色度格式进行视频编解码的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220329859A1 (zh) |
EP (1) | EP4070554A4 (zh) |
CN (2) | CN115004705A (zh) |
WO (1) | WO2021119337A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220060734A1 (en) * | 2020-08-21 | 2022-02-24 | Alibaba Group Holding Limited | Intra prediction methods in video coding |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10142642B2 (en) * | 2014-06-04 | 2018-11-27 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
US20150373327A1 (en) * | 2014-06-20 | 2015-12-24 | Qualcomm Incorporated | Block adaptive color-space conversion coding |
KR102051193B1 (ko) * | 2014-09-12 | 2019-12-02 | 브이아이디 스케일, 인크. | 비디오 코딩을 위한 성분간 탈상관 |
JP6194427B2 (ja) | 2014-10-06 | 2017-09-06 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 量子化パラメータのコーディング及び導出 |
US9883184B2 (en) * | 2014-10-07 | 2018-01-30 | Qualcomm Incorporated | QP derivation and offset for adaptive color transform in video coding |
CN105960802B (zh) * | 2014-10-08 | 2018-02-06 | 微软技术许可有限责任公司 | 切换色彩空间时对编码和解码的调整 |
-
2020
- 2020-12-10 CN CN202080094115.5A patent/CN115004705A/zh active Pending
- 2020-12-10 CN CN202310531097.8A patent/CN116320457B/zh active Active
- 2020-12-10 WO PCT/US2020/064346 patent/WO2021119337A1/en unknown
- 2020-12-10 EP EP20900534.7A patent/EP4070554A4/en active Pending
-
2022
- 2022-06-10 US US17/838,087 patent/US20220329859A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220329859A1 (en) | 2022-10-13 |
EP4070554A4 (en) | 2023-01-25 |
WO2021119337A1 (en) | 2021-06-17 |
CN115004705A (zh) | 2022-09-02 |
EP4070554A1 (en) | 2022-10-12 |
CN116320457A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114567786B (zh) | 以4:4:4色度格式进行视频编解码的方法和装置 | |
CN115086681B (zh) | 4:4:4色度格式的视频编解码的方法和装置 | |
CN116320457B (zh) | 以4:4:4色度格式进行视频编解码的方法和装置 | |
CN116614625B (zh) | 一种视频编码的方法、装置和介质 | |
WO2021134072A1 (en) | Methods and apparatus of video coding in 4:4:4 chroma format | |
CN116055737B (zh) | 一种视频编码的方法、装置和介质 | |
US20220345750A1 (en) | Methods and apparatus of video coding in 4:4:4 chroma format |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |