CN116325734A - 具有虚拟边界的跨分量样点自适应偏移中的色度编解码增强 - Google Patents
具有虚拟边界的跨分量样点自适应偏移中的色度编解码增强 Download PDFInfo
- Publication number
- CN116325734A CN116325734A CN202180065282.1A CN202180065282A CN116325734A CN 116325734 A CN116325734 A CN 116325734A CN 202180065282 A CN202180065282 A CN 202180065282A CN 116325734 A CN116325734 A CN 116325734A
- Authority
- CN
- China
- Prior art keywords
- component
- samples
- virtual boundary
- block
- video
- 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
- 230000003044 adaptive effect Effects 0.000 title description 21
- 238000000034 method Methods 0.000 claims abstract description 70
- 238000012545 processing Methods 0.000 claims description 61
- 238000003860 storage Methods 0.000 claims description 20
- 238000005070 sampling Methods 0.000 claims description 8
- 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
- 238000010586 diagram Methods 0.000 description 39
- 239000013598 vector Substances 0.000 description 34
- 230000008569 process Effects 0.000 description 30
- 230000011664 signaling Effects 0.000 description 24
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 22
- 239000000872 buffer Substances 0.000 description 19
- 238000013139 quantization Methods 0.000 description 17
- 238000005192 partition Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 238000000638 solvent extraction Methods 0.000 description 11
- 230000006835 compression Effects 0.000 description 9
- 238000007906 compression Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 6
- 238000001914 filtration Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 239000011449 brick Substances 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 101100520660 Drosophila melanogaster Poc1 gene Proteins 0.000 description 2
- 101100520662 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PBA1 gene Proteins 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001143 conditioned effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 101150114515 CTBS gene Proteins 0.000 description 1
- 241000985610 Forpus Species 0.000 description 1
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 101100520663 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ADD66 gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/1883—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种执行视频信号的解码方法的电子装置。所述方法包括:从视频信号接收包括第一分量和第二分量的图片帧;从与所述第二分量的相应样点相关联的所述第一分量的一个或多个样点的集合中确定针对所述第二分量的分类器;根据所述分类器确定是否修改虚拟边界内的所述图片帧的当前块的所述第二分量的所述相应样点的值;响应于根据所述分类器修改所述当前块的所述第二分量的所述相应样点的值的确定,根据所述分类器确定针对所述第二分量的所述相应样点的样点偏移;以及基于所确定的样点偏移修改所述第二分量的所述相应样点的值。
Description
相关申请
本申请要求于2020年9月23日提交的标题为“Cross-component Sample AdaptiveOffset”的第63/082,356号美国临时申请以及于2020年10月1日提交的标题为“Cross-component Sample Adaptive Offset”的第63/086,504号美国临时申请的优先权,这些临时申请的全部内容通过引用完整地并入本文。
技术领域
本申请总体上涉及视频编解码和压缩。更具体地,本申请涉及提高色度编解码效率的方法和装置。
背景技术
各种电子设备(例如数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏机、智能电话、视频电话会议设备、视频流传输设备等)支持数字视频。这些电子设备通过实施视频压缩/解压缩标准来发送、接收、编码、解码和/或存储数字视频数据。一些众所周知的视频编解码标准包括由ISO/IEC MPEG和ITU-T VECG联合开发的通用视频编解码(VVC)、高效视频编解码(HEVC,也称为H.265或MPEG-H Part 2)和高级视频编解码(AVC,也称为H.264或MPEG-4Part 10)。AOMedia Video1(AV1)是由开放媒体联盟(AOM)开发的,作为其先前标准VP9的后继者。音视频编解码(AVS)是由中国音频和视频编解码标准工作组制定的又一系列视频压缩标准,是指数字音频和数字视频压缩标准。
视频压缩通常包括执行空间(帧内)预测和/或时间(帧间)预测以减少或去除视频数据中固有的冗余。对于基于块的视频编解码,视频帧被分割为一个或多个条带,每个条带具有多个视频块,所述视频块也可以称为编码树单元(CTU)。每个CTU可以包含一个编码单元(CU)或者被递归地分割为较小的CU,直到达到预设的最小CU的尺寸。每个CU(也称为叶子CU)包含一个或多个变换单元(TU),每个CU还包含一个或多个预测单元(PU)。每个CU可以采用帧内、帧间或IBC模式进行编码。使用相对于同一视频帧内的相邻块中的参考样点的空间预测对视频帧的帧内编码(I)条带中的视频块进行编码。视频帧的帧间编码(P或B)条带中的视频块可使用相对于同一视频帧内相邻块中的参考样点的空间预测或相对于其他先前的和/或未来的参考视频帧中的参考样点的时间预测。
基于先前编码参考块(如相邻块)的空间或时间预测产生针对待编码的当前视频块的预测块。查找参考块的过程可以通过块匹配算法来完成。表示待编解码的当前块与预测块之间的像素差的残差数据被称为残差块或预测误差。根据指向形成该预测块的参考帧中的参考块的运动矢量,以及该残差块对帧间编码块进行编码。确定该运动矢量的过程通常称为运动估计。根据帧内预测模式以及该残差块对帧内编码块进行编码。为了进一步压缩,将该残差块从像素域变换到变换域,如频域,从而产生残差变换系数,然后可以对其进行量化。可以对最初以二维阵列排列的所述量化了的变换系数进行扫描以产生变换系数的一维向量,然后将其熵编码到视频比特流中以实现更多的压缩。
然后将已编码的该视频比特流保存在计算机可读存储介质(如闪速存储器)中,以由具有数字视频能力的另一个电子设备访问或者直接以有线或无线的方式传输到该电子设备。然后,该电子设备通过例如解析该已编码的视频比特流以从该比特流获得语义元素以及至少部分地基于从该比特流获得的语义元素从该已编码的视频比特流将该数字视频数据重建为其原始格式来进行视频解压缩(这是与上述视频压缩相反的过程),并且在该电子设备的显示器上呈现该重建的数字视频数据。
随着数字视频质量从高清到4K×2K甚至8K×4K,待编码/解码的视频数据量呈指数增长。如何在保持解码视频数据的图像质量的同时更有效地编码/解码视频数据是一种持续的挑战。
发明内容
本申请描述了涉及视频数据编码和解码的实施方式,更具体地,涉及提高色度编解码的编解码效率的方法和装置,包括通过探索亮度分量和色度分量之间的跨分量关系来提高编解码效率。
根据本申请的第一方面,一种视频信号的解码方法包括:从视频信号接收包括第一分量和第二分量的图片帧;从与所述第二分量的相应样点相关联的所述第一分量的一个或多个样点的集合中确定针对所述第二分量的分类器;根据所述分类器确定是否修改虚拟边界内的所述图片帧的当前块的所述第二分量的所述相应样点的值;响应于根据所述分类器修改所述虚拟边界内的所述图片帧的所述当前块的所述第二分量的所述相应样点的值的确定,根据所述分类器确定针对所述第二分量的所述相应样点的样点偏移;以及基于所确定的样点偏移修改所述第二分量的所述相应样点的值。
根据本申请的第二方面,一种电子装置包括一个或多个处理单元,存储器以及存储在该存储器中的多个程序。这些程序在由一个或多个处理单元执行时使得该电子装置执行如上文所描述的视频数据的解码方法。
根据本申请的第三方面,一种非暂时性计算机可读存储介质,其存储由具有一个或多个处理单元的电子装置执行的多个程序。这些程序在由一个或多个处理单元执行时使得该电子装置执行如上文所描述的视频数据的解码方法。
附图说明
所包括的附图用以提供对实施方式的进一步理解并且结合在本文中并构成说明书的一部分,图示了所描述的实施方式并且与说明书一起用于解释基本原理。相同的附图标记指代相应的部分。
图1是示出了根据本公开的一些实施方式的示例性视频编码和解码***的框图。
图2是示出了根据本公开的一些实施方式的示例性视频编码器的框图。
图3是示出了根据本公开的一些实施方式的示例性视频解码器的框图。
图4A至图4E是示出了根据本公开的一些实施方式的如何将帧递归地分割为不同尺寸和形状的多个视频块的框图。
图5是描绘了根据本公开的一些实施方式的在样点自适应偏移(SAO)中使用的四种梯度模式的框图。
图6A是示出了根据本公开的一些实施方式的跨分量样点自适应偏移(CCSAO)的***和过程的框图。
图6B是示出了根据本公开的一些实施方式的与AVS标准中的增强样点自适应偏移(ESAO)并行应用的CCSAO的***和过程的框图。
图6C是示出了根据本公开的一些实施方式的在SAO之后应用的CCSAO的***和过程的框图。
图6D是示出了根据本公开的一些实施方式的与跨分量自适应环路滤波器(CCALF)并行应用的CCSAO的***和过程的框图。
图7是示出了根据本公开的一些实施方式的使用CCSAO的样点处理的框图。
图8是示出了根据本公开的一些实施方式的CCSAO过程被交织到垂直和水平去块滤波器(DBF)的框图。
图9是示出了根据本公开的一些实施方式的使用跨分量相关对视频信号进行解码的示例性过程的流程图。
图10A是示出了根据本公开的一些实施方式的针对分类使用不同亮度样点位置的分类器的框图。
图10B示出了根据本公开的一些实施方式的对于亮度候选的不同形状的一些示例。
图11是示出了根据本公开的一些实施方式的除亮度样点之外的其他跨分量的同位的色度样点和相邻的色度样点也被馈送到CCSAO分类中的样点处理的框图。
图12示出了根据本公开的一些实施方式的通过将同位的亮度样点值替换为通过对同位的和相邻的亮度样点进行加权而获得的值的示例性分类器。
图13A是示出了根据本公开的一些实施方式的如果用于分类的同位和相邻亮度样点中的任何一个在当前图片之外,则不对当前色度样点应用CCSAO的框图。
图13B是示出了根据本公开的一些实施方式的如果用于分类的同位和相邻亮度样点中的任何一个在当前图片之外,则对当前色度样点应用CCSAO的框图。
图14是示出了根据本公开的一些实施方式的如果用于分类的对应选择的同位或相邻亮度样点在由虚拟边界(VB)定义的虚拟空间之外,则不对当前色度样点应用CCSAO的框图。
图15示出了根据本公开的一些实施方式的在虚拟边界之外的亮度样点上应用重复或镜像填充。
图16示出了根据本公开的一些实施方式的如果所有9个同位的相邻亮度样点都用于分类,则需要额外的1个亮度行缓冲器。
图17示出了根据本公开的一些实施方式的跨VB的9个亮度候选CCSAO可以增加2个额外的亮度行缓冲器的AVS的图示。
图18示出了根据本公开的一些实施方式的跨VB的9个亮度候选CCSAO可以增加1个额外的亮度行缓冲器的VVC的图示。
图19A至图19C示出了根据本公开的一些实施方式的在AVS和VVC中,如果任何色度样点的亮度候选跨越VB(在当前色度样点VB之外),则对于色度样点禁用CCSAO。
图20A至图20C示出了根据本公开的一些实施方式的在AVS和VVC中,如果任何色度样点的亮度候选跨越VB(在当前色度样点VB之外),则对于色度样点使用重复填充来启用CCSAO。
图21A至图21C示出了根据本公开的一些实施方式的在AVS和VVC中,如果任何色度样点的亮度候选跨越VB(在当前色度样点VB之外),则对于色度样点使用镜像填充来启用CCSAO。
图22示出了根据本公开的一些实施方式的对于分类使用有限数量的亮度候选的限制。
图23是示出了根据本公开的一些实施方式的本公开中公开的SAO分类方法用作后预测滤波器的框图。
图24是示出了根据本公开的一些实施方式的对于后预测SAO滤波器,每个分量可以使用当前和相邻样点进行分类的框图。
图25是示出了根据本公开的一些实施方式的在存在虚拟边界时使用跨分量相关对视频信号进行解码的示例性过程的流程图。
具体实施方式
现在将详细参照具体实施方式,在附图中示出了具体实施方式的示例。在以下详细描述中,阐述了大量非限制性具体细节以便帮助理解本文呈现的主题。但是对于本领域普通技术人员将显而易见的是,在不脱离权利要求的范围的情况下,可以使用各种替代方案,并且可以在没有这些具体细节的情况下实践主题。例如,对于本领域普通技术人员将显而易见的是,本文呈现的主题可以在具有数字视频能力的许多类型的电子设备上实现。
第一代AVS标准包括中国国家标准《信息技术,高级音视频编解码,第2部分:视频》(称为AVS1)和《信息技术,高级音视频编解码,第16部分:无线电视视频》(称为AVS+)。与MPEG-2标准相比,它可以在相同的感知质量下节省大约50%的比特率。第二代AVS标准包括中国国家标准《信息技术,高效多媒体编解码》系列(称为AVS2),主要针对超高清电视节目的传输。AVS2的编解码效率是AVS+的编解码效率的两倍。同时,AVS2标准视频部分由电气和电子工程师协会(IEEE)提交,作为针对应用的一项国际标准。AVS3标准是针对UHD视频应用的新一代视频编解码标准,旨在超越最新国际标准HEVC的编解码效率,其相对于HEVC标准提供了大约30%的比特率节省。在2019年3月,在第68次AVS会议上,AVS3-P2基线已完成,其相对于HEVC标准提供了大约30%的比特率节省。目前,存在一种称为高性能模型(HPM)的参考软件,其由AVS组维护以演示AVS3标准的参考实现。与HEVC类似,AVS3标准建立在基于块的混合视频编解码框架之上。
图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。随后,可以由目标设备14经由输入接口28访问存储设备32中的编码视频数据。存储设备32可以包括各种分布式或本地访问的数据存储介质中的任何数据存储介质,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存存储器、易失性或非易失性存储器、或者用于存储编码视频数据的任何其他合适的数字存储介质。在另一示例中,存储设备32可以对应于文件服务器或可以保持由源设备12生成的编码视频数据的另一中间存储设备。目标设备14可以经由流传输或下载从存储设备32访问存储的视频数据。文件服务器可以是能够存储编码视频数据并且将编码视频数据发送到目标设备14的任何类型的计算机。示例性文件服务器包括网络服务器(例如,用于网站)、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)、AVS)或此类标准的扩展进行操作。应当理解,本申请不限于特定的视频编码/解码标准,并且可以适用于其他视频编码/解码标准。通常认为源设备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。诸如去块滤波器的环路滤波器63可以位于加法器62与DPB64之间以对块边界进行滤波,来从重建视频中去除块效应。除去块滤波器之外,还可以使用另一个环路滤波器63来对加法器62的输出进行滤波。此外,在将重建CU放入参考图片存储库中并用于对后面的视频块进行编解码之前,可对重建CU应用环路滤波63,诸如样点自适应偏移(SAO)和自适应环路滤波器(ALF)。视频编码器20可以采取固定或可编程硬件单元的形式,或者可以分散在所说明的固定或可编程硬件单元中的一个或更多个中。
视频数据存储器40可以存储将由视频编码器20的组件编码的视频数据。例如,可从视频源18获得视频数据存储器40中的视频数据。DPB 64是存储供视频编码器20(例如,以帧内或帧间预测编码模式)在对视频数据进行编码时使用的参考视频数据的缓冲器。视频数据存储器40和DPB 64可以由各种存储器设备中的任何存储器设备形成。在各种示例中,视频数据存储器40可以与视频编码器20的其他组件一起在芯片上,或相对于那些组件在芯片外。
如图2所示,在接收到视频数据之后,预测处理单元41内的分割单元45将视频数据分割为视频块。此分割还可以包括根据与视频数据相关联的预定义的拆分结构(例如四叉树(QT)结构)将视频帧分割为条带、瓦片(tile)或其他更大的编码单元(CU)。视频帧可以被划分为多个视频块(或称为瓦片的视频块的集合)。预测处理单元41可以基于误差结果(例如,编码速率和失真等级)为当前视频块选择多个可行预测编码模式中的一个,例如多个帧内预测编码模式中的一个或多个帧间预测编码模式中的一个。预测处理单元41可以将所得的帧内预测编码块或帧间预测编码块提供给加法器50以生成残差块,并且提供给加法器62以重建编码块以用于随后作为参考帧的一部分使用。预测处理单元41还将语法元素(例如运动矢量、帧内模式指示符、分割信息和其他此类语法信息)提供给熵编码单元56。
为了选择用于当前视频块的合适的帧内预测编码模式,预测处理单元41内的帧内预测处理单元46可以与和待编码的当前块在同一帧中的一个或更多个邻近块相关地执行当前视频块的帧内预测编码以提供空间预测。预测处理单元41内的运动估计单元42和运动补偿单元44与一个或更多个参考帧中的一个或更多个预测块相关地执行当前视频块的帧间预测编码以提供时间预测。视频编码器20可以执行多个编码遍次,例如,以为视频数据的每个块选择合适的编码模式。
在一些实施方式中,运动估计单元42通过根据视频帧序列内的预定模式生成运动矢量来确定用于当前视频帧的帧间预测模式,运动矢量指示当前视频帧内的视频块的预测单元(PU)相对于参考视频帧内的预测块的位移。由运动估计单元42执行的运动估计是生成运动矢量的过程,该运动矢量估计针对视频块的运动。例如,运动矢量可以指示当前视频帧或图片内的视频块的PU相对于与当前帧内正被编码的当前块(或者其他编码单元)相关的参考帧(或者其他编码单元)内的预测块的位移。预定模式可以将序列中的视频帧指定为P帧或B帧。帧内BC单元48可以以与由运动估计单元42确定用于帧间预测的运动矢量类似的方式确定用于帧内BC编码的矢量(例如,块矢量),或可以利用运动估计单元42确定块矢量。
在像素差方面,预测块可以是被认为与待编码视频块紧密匹配的参考帧的块,像素差可以由绝对差总和(SAD)、平方差总和(SSD)或其他差度量确定。在一些实施方式中,视频编码器20可以计算用于DPB 64中存储的参考帧的子整数像素位置的值。例如,视频编码器20可以对参考帧的四分之一像素位置、八分之一像素位置或其他分数像素位置的值进行内插。因此,运动估计单元42可以相对于全像素位置和分数像素位置执行运动搜索并且输出具有分数像素精度的运动矢量。
运动估计单元42通过以下方式来计算针对帧间预测编码帧中的视频块的PU的运动矢量:将该PU的位置与从第一参考帧列表(列表0)或第二参考帧列表(列表1)选择的参考帧的预测块的位置进行比较,第一参考帧列表和第二参考帧列表中的每一个参考帧列表标识DPB 64中存储的一个或更多个参考帧。运动估计单元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的其他组件进行解码的视频数据,例如编码视频比特流。可以例如从存储设备32、从本地视频源(例如相机)、经由视频数据的有线或无线网络通信、或通过访问物理数据存储介质(例如,闪存驱动器或硬盘)获得存储在视频数据存储器79中的视频数据。视频数据存储器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生成的对应预测块相加,来重建针对当前视频块的解码视频块。环路滤波器91可以位于加法器90与DPB 92之间以进一步处理解码视频块。在将重建CU放入参考图片存储库中之前,可对重建CU应用环路滤波91,诸如去块滤波器、样点自适应偏移(SAO)和自适应环路滤波器(ALF)。然后,将给定帧中的解码视频块存储在DPB 92中,DPB 92存储用于接下来的视频块的后续运动补偿的参考帧。DPB 92或与DPB 92分离的存储器设备还可以存储解码视频以用于稍后呈现在显示器设备(例如,图1的显示器设备34)上。
在典型的视频编码过程中,视频序列通常包括帧或图片的有序集合。每一帧可以包括三个样点阵列,表示为SL、SCb和SCr。SL是亮度样点的二维阵列。SCb是Cb色度样点的二维阵列。SCr是Cr色度样点的二维阵列。在其他实例中,帧可以是单色的,因此仅包括亮度样点的一个二维阵列。
与HEVC类似,AVS3标准建立在基于块的混合视频编解码框架之上。输入视频信号被逐块(称为编码单元(CU))处理。与仅基于四叉树对块进行划分的HEVC不同,在AVS3中,将一个编码树单元(CTU)分割为多个CU,以适应基于四叉树/二叉树/扩展的四叉树的不同局部特征。此外,去除了HEVC中多分区单元类型的概念,即AVS3中不存在CU、预测单元(PU)和变换单元(TU)的分离。相反,每个CU始终用作预测和变换的基本单元,而无需进一步分区。在AVS3的树分区结构中,一个CTU首先被基于四叉树结构划分。然后,每个四叉树的叶子节点可基于二叉树和扩展的四叉树结构被进一步划分。
如图4A所示,视频编码器20(或更具体地,分割单元45)通过首先将帧分割为编码树单元(CTU)的集合来生成帧的编码表示。视频帧可以包括以光栅扫描顺序从左到右和从上到下连续排序的整数个CTU。每个CTU是最大的逻辑编码单元,并且由视频编码器20在序列参数集中用信号传送CTU的宽度和高度,使得视频序列中的所有CTU具有128×128、64×64、32×32和16×16之一的相同尺寸。但是应当注意,本申请不必限于特定尺寸。如图4B所示,每个CTU可以包括亮度样点的一个编码树块(CTB)、色度样点的两个对应编码树块、以及用于对编码树块的样点进行编码的语法元素。语法元素描述编码像素块的不同类型的单元的性质以及可以如何在视频解码器30处重建视频序列,包括帧间预测或帧内预测、帧内预测模式、运动矢量和其他参数。在单色图片或具有三个单独颜色平面的图片中,CTU可以包括单个编码树块和用于对该编码树块的样点进行编码的语法元素。编码树块可以是N×N的样点块。
为了实现更好的性能,视频编码器20可以对CTU的编码树块递归地执行树分割,例如二叉树分割、三叉树分割、四叉树分割或其组合,并且将CTU划分为较小的编码单元(CU)。如图4C中所描绘的,首先将64×64的CTU 400划分为四个较小的CU,每个CU具有32×32的块尺寸。在四个较小的CU中,将CU 410和CU 420分别划分为块尺寸为16×16的四个CU。将两个16×16的CU 430和CU 440分别进一步划分为块尺寸为8×8的四个CU。图4D描绘了示出如图4C中所描绘的CTU 400的分割过程的最终结果的四叉树数据结构,四叉树的每个叶节点与范围从32×32到8×8的相应尺寸的一个CU对应。类似于图4B中描绘的CTU,每个CU可以包括相同尺寸的帧的亮度样点的编码块(CB)和色度样点的两个对应编码块、以及用于对编码块的样点进行编码的语法元素。在单色图片或具有三个单独颜色平面的图片中,CU可以包括单个编码块和用于对编码块的样点进行编码的语法结构。应注意,图4C和图4D中所描绘的四叉树分割仅用于说明性目的,并且一个CTU可以基于四叉树分割/三叉树分割/二叉树分割而被拆分为多个CU以适应于变化的局部特性。在多类型树结构中,一个CTU按照四叉树结构被分割,并且每个四叉树叶CU可以按照二叉和三叉树结构被进一步分割。如图4E所示,AVS3中有五种分割/分区类型,即,四元分割,水平二元分割,垂直二元分割,水平扩展四叉树分割,以及垂直扩展四叉树分割。
在一些实施方式中,视频编码器20可以进一步将CU的编码块分割为一个或更多个(M×N个)预测块(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的预测亮度块之一中的亮度样点与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可以重建帧。
SAO是基于编码器发送的查找表中的值,通过在应用去块滤波器之后将偏移值有条件地加到每个样点来修改解码样点的过程。基于通过语法元素sao-type-idx按CTB选择的滤波类型,在区域基础上来进行SAO滤波。sao-type-idx的值为0指示sao滤波器不被应用于CTB,其值1和值2分别表示频带偏移的使用和边缘偏移滤波类型的使用。在由等于1的sao-type-idx指定的频带偏移模式中,所选择的偏移值直接取决于样点幅度。在该模式中,整个样点幅度范围被均匀地分割为32个称为频带的段,并且属于这些频带中的四个频带(这四个频带在32个频带内是连续的)的样点值通过与表示为频带偏移(该频带偏移可以是正的或负的)的被发送值相加而被修改。使用四个连续频带的主要原因是在可能出现带状伪影的平滑区域中,CTB中的样点幅度趋向于仅集中在几个频带中。此外,使用四个偏移的设计选择与也使用四个偏移值的边缘偏移模式的操作是统一的。在由等于2的sao-type-idx指定的边缘偏移模式中,具有从0至3的值的语法元素sao-eo-class分别表示是水平方向或者是垂直方向或者是两个对角梯度方向之一被用于CTB中的边缘偏移分类。
图5是描绘了根据本公开的一些实施方式的在SAO中使用的四种梯度模式的框图。四个梯度模式502、504、506和508被用于边缘偏移模式中的相应sao-eo-class。标记为“p”的样点指示有待被考虑的中心样点。标记为“n0”和“n1”的两个样点指定沿着(a)水平(sao-eo-class=0)梯度模式、(b)垂直(sao-eo-class=1)梯度模式、(c)135°对角线(sao-eo-class=2)梯度模式和(d)45°(sao-eo-class=3)梯度模式的两个相邻样点。通过将位于某个位置处的样点值p与位于如图5所示的其相邻位置处的两个样点的值n0和n1进行比较来将CTB中的每个样点分类为五个EdgeIdx类别之一。由于基于解码样点值对每个样点进行这种分类,因此针对EdgeIdx分类不需要额外信令。取决于样点位置处的EdgeIdx类别,对于从1至4的EdgeIdx类别,将来自被发送的查找表的偏移值与样点值相加。偏移值对于类别1和类别2总是正的,并且对于类别3和类别4总是负的。因此,滤波器通常在边缘偏移模式下具有平滑效果。
下面的表1示出了SAO边缘分类中的样点EdgeIdx类别。
表1:SAO边缘分类中的样点EdgeIdx类别
对于SAO类型1和SAO类型2,针对每个CTB总共四个幅度偏移值被发送到解码器。对于类型1,符号也被编码。偏移值和相关语法元素(诸如sao-type-idx和sao-eo-class)由编码器确定(通常使用优化率失真性能的标准)。可使用合并标志将SAO参数指示为从左侧CTB或上方CTB继承,以使信令有效。总之,SAO是非线性滤波操作,其允许重建信号的附加修正,并且它可增强平滑区域和周围边缘的信号表示。
在一些实施例中,本文公开了通过引入跨分量信息来提高编解码效率或降低样点自适应偏移(SAO)的复杂性的方法和***。SAO被用于HEVC、VVC、AVS2和AVS3标准中。尽管HEVC、VVC、AVS2和AVS3标准中的现有SAO设计在以下描述中被用作基本SAO方法,但是对于视频编解码领域的普通技术人员来说,本公开中描述的跨分量方法也可以应用于具有类似设计精神的其他环路滤波器设计或其他编解码工具。例如,在AVS3标准中,SAO被称为增强样点自适应偏移(ESAO)的编解码工具所取代。然而,本文所公开的CCSAO也可以与ESAO并行应用。在另一示例中,CCSAO可以与AV1标准中的约束定向增强滤波器(CDEF)并行应用。
对于HEVC、VVC、AVS2和AVS3标准中的现有SAO设计,亮度Y、色度Cb和色度Cr样点偏移值是独立确定的。也就是说,例如,当前色度样点偏移仅由当前和相邻色度样点值决定,而不考虑同位的或相邻的亮度样点。然而,亮度样点比色度样点保留了更多的原始图片细节信息,并且这些亮度样点可以有利于当前色度样点偏移的决定。此外,由于色度样点在从RGB到YCbCr的颜色转换之后或在量化和去块滤波器之后通常会丢失高频细节,因此引入具有针对色度偏移决策保留的高频细节的亮度样点可以有利于色度样点重建。因此,通过探索跨分量相关性,例如通过使用跨分量样点自适应偏移(CCSAO)的方法和***,可以期待进一步的增益。
图6A是示出了根据本公开的一些实施方式的CCSAO的***和过程的框图。亮度去块滤波器(DBF Y)之后的亮度样点用于针对SAO Cb和SAO Cr之后的色度Cb和Cr确定附加偏移。例如,使用同位的亮度样点604和相邻(白色)亮度样点606首先对当前色度样点602进行分类,并且将对应类别的对应CCSAO偏移值与当前色度样点值相加。
在一些实施例中,CCSAO还可以与其他编解码工具(例如AVS标准中的ESAO或AV1标准中的CDEF)并行应用。图6B是示出了根据本公开的一些实施方式的与AVS标准中的ESAO并行应用的CCSAO的***和过程的框图。
图6C是示出了根据本公开的一些实施方式的在SAO之后应用的CCSAO的***和过程的框图。在一些实施例中,图6C示出了CCSAO的位置(即,VVC标准中的跨分量自适应环路滤波器(CCALF)的位置)可以在SAO之后。在一些实施例中,SAO Y/Cb/Cr可以由例如AVS3标准中的ESAO代替。
图6D是示出了根据本公开的一些实施方式的与CCALF并行应用的CCSAO的***和过程的框图。在一些实施例中,图6D示出了CCSAO可以与CCALF并行应用。在一些实施例中,在图6D中,可以切换CCALF和CCSAO的位置。在一些实施例中,在图6A至图6D中,或在整个本公开中,SAO Y/Cb/Cr块可以由(AVS3中的)ESAO Y/Cb/Cr代替或由(AV1中的)CDEF代替。
在一些实施例中,当前色度样点分类再次使用同位亮度样点的SAO类型(EO或BO)、分类和类别。对应的CCSAO偏移可以用信号发送或从解码器本身导出。例如,令h_Y是同位的亮度SAO偏移,h_Cb和h_Cr分别是CCSAO Cb和Cr偏移。h_Cb(或h_Cr)=w*h_Y,其中w可以在限定的表中选择。例如,+-1/4、+-1/2、0、+-1、+-2、+-4…等,其中|w|仅包括2的幂的值。
在一些实施例中,使用同位的亮度样点(Y0)和相邻的8个亮度样点的比较分数[-8,8],这总共产生17个类别。
在一些实施例中,可以组合上述分类方法。例如,比较分数与SAO BO(32个频带分类)相结合用于增加多样性,总共产生17*32个类别。在一些实施例中,Cb和Cr可以使用相同的类来降低复杂性或节省比特。
图7是示出了根据本公开的一些实施方式的使用CCSAO的样点处理的框图。具体地,图7示出了CCSAO的输入可以引入垂直和水平DBF的输入,以简化类别确定或增加灵活性。例如,令Y0_DBF_V、Y0_DPF_H和Y0分别是在DBF_V、DBF_H和SAO的输入处的同位亮度样点。Yi_DBF_V、Yi_DBF_H和Yi分别是在DBF_V、DBF_H和SAO输入处的相邻8个亮度样点,其中i=1至8。
Max Y0=max(Y0_DBF_V,Y0_DBF_H,Y0_DBF)
Max Yi=max(Yi_DBF_V,Yi_DBF_H,Yi_DBF)
并将最大Y0和最大Yi馈送到CCSAO分类。
图8是示出了根据本公开的一些实施方式的CCSAO过程被交织到垂直和水平DBF的框图。在一些实施例中,图6、7和8中的CCSAO块可以是选择性的。例如,对于第一CCSAO_V使用Y0_DBF_V和Yi_DBF_V,其应用与图6中相同的样点处理,同时使用DBF_V亮度样点的输入作为CCSAO输入。
在一些实施例中,实现的CCSAO语法在下面的表2中示出。
表2:CCSAO语法示例
在一些实施例中,对于用信号发送CCSAO Cb和Cr偏移值,如果用信号发送了一个附加的色度偏移,则可以通过加号或减号或加权来导出其他色度分量偏移,以节省比特开销。例如,令h_Cb和h_Cr分别为CCSAO Cb和Cr的偏移量。对于显式用信号发送w,其中w=+-|w|(具有有限的|w|候选),h_Cr可以从h_Cb导出,而无需显式用信号发送h_Cr本身。
h_Cr=w*h_Cb
图9是示出了根据本公开的一些实施方式的使用跨分量相关对视频信号进行解码的示例性过程900的流程图。
视频解码器30接收包括第一分量和第二分量的视频信号(910)。在一些实施例中,该第一分量是该视频信号的亮度分量,而该第二分量是该视频信号的色度分量。
视频解码器30还接收与第二分量相关联的多个偏移(920)。
视频解码器30然后利用第一分量的特性测量来获得与第二分量相关联的分类类别(930)。例如,在图6中,使用同位的亮度样点604和相邻(白色)亮度样点606首先对当前色度样点602进行分类,并且将对应的CCSAO偏移值与当前色度样点相加。
视频解码器30还根据分类类别从针对第二分量的多个偏移中选择第一偏移(940)。
视频解码器30基于所选择的第一偏移额外地修改第二分量(950)。
在一些实施例中,利用第一分量的特性测量来获得与第二分量相关联的分类类别(930)包括:利用第一分量的相应样点来获得第二分量的相应各样点的相应分类类别,其中该第一分量的相应样点是与第二分量的相应各样点同位的第一分量的相应样本点。例如,当前色度样点分类再次使用同位亮度样点的SAO类型(EO或BO)、分类和类别。
在一些实施例中,利用第一分量的特性测量来获得与第二分量相关联的分类类别(930)包括:利用第一分量的相应样点来获得第二分量的相应各样点的相应分类类别,其中该第一分量的相应样点在被去块之前被重构,或者在被去块之后被重构。在一些实施例中,第一分量在去块滤波器(DBF)处被去块。在一些实施例中,第一分量在亮度去块滤波器(DBFY)处被去块。例如,替代图6或7,CCSAO输入也可以在DBF Y之前。
在一些实施例中,通过将第一分量的样点值的范围划分为若干频带并基于第一分量中的样点的强度值选择频带来导出特性测量。在一些实施例中,从频带偏移(BO)导出特性测量。
在一些实施例中,基于第一分量中的样点的边缘信息的方向和强度导出特性测量。在一些实施例中,从边缘偏移(EO)导出特性测量。
在一些实施例中,修改第二分量(950)包括将所选择的第一偏移直接加到第二分量中。例如,将对应的CCSAO偏移值与当前色度分量样点相加。
在一些实施例中,修改第二分量(950)包括将所选择的第一偏移映射到第二偏移,并将所映射的第二偏移加到第二分量中。例如,对于用信号发送CCSAO Cb和Cr偏移值,如果用信号发送了一个附加的色度偏移,则可以通过使用加号或减号或加权来导出其他色度分量偏移,以节省比特开销。
在一些实施例中,接收视频信号(910)包括接收语法元素,该语法元素指示针对序列参数集(SPS)中的视频信号是否启用使用CCSAO的解码视频信号的方法。在一些实施例中,cc_sao_enabled_flag指示是否在序列级别启用CCSAO。
在一些实施例中,接收视频信号(910)包括接收语法元素,该语法元素指示针对条带级别上的第二分量是否启用使用CCSAO的解码视频信号的方法。在一些实施例中,slice_cc_sao_cb_flag或slice_cc_sao_cr_flag指示是否在针对cb或cr的相应条带中启用CCSAO。
在一些实施例中,接收与第二分量相关联的多个偏移(920)包括针对不同的编码树单元(CTU)接收不同的偏移。在一些实施例中,对于CTU,cc_sao_offset_sign_flag指示针对偏移的符号,cc_sao_offset_abs指示当前CTU的CCSAO Cb和Cr偏移值。
在一些实施例中,接收与第二分量相关联的多个偏移(920)包括接收语法元素,该语法元素指示接收到的CTU的偏移是否与接收到的该CTU的相邻CTU之一的偏移相同,其中相邻CTU是左侧相邻CTU或顶部相邻CTU。例如,cc_sao_merge_up_flag指示是否从左侧CTU或上方CTU合并CCSAO偏移。
在一些实施例中,视频信号还包括第三分量,以及使用CCSAO来解码视频信号的方法还包括:接收与第三分量相关联的多个第二偏移;利用该第一分量的特性测量来获得与第三分量相关联的第二分类类别;根据该第二分类类别从多个第二偏移中为该第三分量选择第三偏移;以及基于所选择的第三偏移来修改该第三分量。
图11是示出了根据本公开的一些实施方式的除亮度样点之外的其他跨分量的同位的(1102)色度样点和相邻的(白色)色度样点也被馈送到CCSAO分类中的样点处理的框图。图6A、图6B和图11示出了CCSAO分类的输入。在图11中,当前色度样点是1104,跨分量同位的色度样点是1102,以及同位的亮度样点是1106。
在一些实施例中,分类器示例(C0)使用同位的亮度样点值(Y0)进行分类。令band_num为亮度动态范围的等分频带的数量,bit_depth为序列比特深度,则当前色度样点的类别索引为:
Class(C0)=(Y0*band_num)>>bit_depth
在一些实施例中,分类考虑取整,例如:
Class(C0)=((Y0*band_num)+(1<<bit_depth))>>bit_depth
下面的表3列出了一些band_num和bit_depth示例。表3示出了当频带的数量对于每个分类示例都不同时的三个分类示例。
表3:针对每个类别索引的示例性band_num和bit_depth
在一些实施例中,分类器使用不同的亮度样点位置进行C0分类。图10A是示出了根据本公开的一些实施方式的针对C0分类使用不同亮度样点位置的分类器的框图,例如使用相邻的Y7而不是Y0进行C0分类。
在一些实施例中,可以在序列参数集(SPS)/自适应参数集(APS)/图片参数集(PPS)/图片头部(PH)/条带头部(SH)/编码树单元(CTU)/编码单元(CU)级别中切换不同的分类器。例如,在图10中,对于POC0使用Y0,但是对于POC1使用Y7,如下面的表4所示。
POC | 分类器 | C0 band_num | 总类别 |
0 | 使用Y0位置的C0 | 8 | 8 |
1 | 使用Y7位置的C0 | 8 | 8 |
表4:不同的分类器应用于不同的图片
在一些实施例中,图10B示出了根据本公开的一些实施方式的对于亮度候选的不同形状的一些示例。例如,可将约束应用到这些形状中。在一些情况下,亮度候选的总数必须是2的幂,如图10B的(b)、(c)和(d)所示。在一些情况下,亮度候选的数量相对于(在中心的)色度样点必须是水平和垂直对称的,如图10B的(a)、(c)、(d)和(e)所示。
在一些实施例中,C0位置和C0 band_num可以在
SPS/APS/PPS/PH/SH/CTU/CU级别组合和切换。不同的组合可以是不同的分类器,如下表5所示。
POC | 分类器 | C0 band_num | 总类别 |
0 | 使用Y0位置的C0 | 16 | 16 |
1 | 使用Y7位置的C0 | 8 | 8 |
表5:不同的分类器和频带数量组合应用于不同的图片
在一些实施例中,同位的亮度样点值(Y0)由通过对同位的亮度样点和相邻的亮度样点进行加权获得的值(Yp)代替。图12示出了根据本公开的一些实施方式的通过将同位的亮度样点值替换为通过对同位的和相邻的亮度样点进行加权而获得的值的示例性的分类器。同位的亮度样点值(Y0)可以由通过对相邻的亮度样点进行加权获得的相位校正值(Yp)代替。不同的Yp可以是不同的分类器。
在一些实施例中,不同的Yp被应用在在不同的色度格式上。例如,在图12中,(a)的Yp用于420色度格式,(b)的Yp用于422色度格式,Y0用于444色度格式。
在一些实施例中,另一个分类器(C1)是同位的亮度样点(Y0)和相邻的8个亮度样点的比较分数[-8,8],这总共产生如下所示的17个类别。
Initial Class(C1)=0,Loop over neighboring 8luma samples(Yi,i=1to 8)
if Y0>Yi Class+=1
else if Y0<Yi Class-=1
在一些实施例中,变体(C1’)仅计算比较分数[0,8],这会产生8个类别。(C1,C1’)是分类器组,并且PH/SH级别标志可以被通过信号发送以在C1和C1’之间切换。
Initial Class(C1’)=0,Loop over neighboring 8luma samples(Yi,i=1to 8)
if Y0>Yi Class+=1
在一些实施例中,不同的分类器被组合以产生通用分类器。例如,对于不同的图片(不同的POC值)应用不同的分类器,如下表6所示。
POC | 分类器 | C0 band_num | 总类别 |
0 | 组合C0和C1 | 16 | 16×17 |
1 | 组合C0和C1’ | 16 | 16×9 |
2 | 组合C0和C1 | 7 | 7×17 |
表6:不同的通用分类器应用于不同的图片
在一些实施例中,分类器示例(C2)使用同位的亮度样点和相邻的亮度样点的差(Yn)。图12(c)示出了Yn的示例,当比特深度为10时,Yn具有[-1024,1023]的动态范围。令C2band_num是Yn动态范围的等分频带的数目,
Class(C2)=(Yn+(1<<bit_depth)*band_num)>>(bit_depth+1)。
在一些实施例中,C0和C2被组合以产生通用分类器。例如,对于不同的图片(不同的POC)应用不同的分类器,如下表7所示。
POC | 分类器 | C0 band_num | C2 band_num | 总类别 |
0 | 组合C0和C2 | 16 | 16 | 16×17 |
1 | 组合C0和C2 | 8 | 7 | 8×7 |
表7:不同的通用分类器应用于不同的图片
在一些实施例中,组合所有上述的分类器(C0、C1、C1’、C2)。例如,对于不同的图片(不同的POC)应用不同的分类器,如下表8所示。
POC | 分类器 | C0 band_num | C2 band_num | 总类别 |
0 | 组合C0、C1和C2 | 4 | 4 | 4×17×4 |
1 | 组合C0、C1’和C2 | 6 | 4 | 6×9×4 |
表8:不同的通用分类器应用于不同的图片
在一些实施例中,在同一POC中使用多个分类器。当前帧被几个区域分割,每个区域使用同一分类器。例如,在POC0中使用了3个不同的分类器,并且在CTU级别中通过信号发送使用了哪个分类器(0、1或2),如下表9所示。
POC | 分类器 | C0 band_num | 区域 |
0 | 使用Y0位置的C0 | 16 | 0 |
0 | 使用Y0位置的C0 | 8 | 1 |
0 | 使用Y1位置的C0 | 8 | 2 |
表9:不同的通用分类器应用于同一图片的不同区域
在一些实施例中,多个分类器(多个分类器也可以被称为替代偏移集)的最大数量可以在SPS/APS/PPS/PH/SH/CTU/CU级别中被固定或通过信号被发送。在一个示例中,多个分类器的固定(预定义)最大数量为4。在这种情况下,在POC0中使用了4个不同的分类器,并且使用了哪个分类器(0、1或2)在CTU级别中通过信号被发送。截断一元(Truncated-unary,TU)码可用来指示用于每个色度CTB的分类器。例如,如下表10所示,当TU码为0时:不应用CCSAO;当TU码为10时:应用集合0;当TU码为110时,应用集合1;当TU码为1110时:应用集合2;当TU码为1111时:应用集合3。固定长度编码(fixed-length code)、哥伦布莱斯编码(golomb-rice code)和指数哥伦布编码(exponential-golomb code)也可用于指示针对CTB的分类器(偏移集合索引)。在POC1中使用3个不同的分类器。
POC | 分类器 | C0 band_num | 区域 | TU码 |
0 | 使用Y3位置的C0 | 6 | 0 | 10 |
0 | 使用Y3位置的C0 | 7 | 1 | 110 |
0 | 使用Y1位置的C0 | 3 | 2 | 1110 |
0 | 使用Y6位置的C0 | 6 | 3 | 1111 |
1 | 使用Y0位置的C0 | 16 | 0 | 10 |
1 | 使用Y0位置的C0 | 8 | 1 | 110 |
1 | 使用Y1位置的C0 | 8 | 2 | 1110 |
表10:截断一元(Truncated-unary,TU)码用来指示用于每个色度CTB的分类器
针对1280×720序列POC0,给出了的Cb和Cr CTB偏移集合索引的示例(如果CTU大小为128×128,则帧中CTU的数量为10×6)。POC0 Cb使用4个偏移集合,而Cr使用1个偏移集合。如下表11所示,当偏移集合索引为0时:不应用CCSAO;当偏移集合索引为1时:应用集合0;当偏移集合索引为2时:应用集合1;当偏移集合索引为3时:应用集合2;当偏移集合索引为4时,应用集合3。表11中的类型(type)是指所选的同位的亮度样点(Yi)的位置。不同的偏移集合可以具有不同的类型、band_num和对应的偏移。
表11:针对1280×720序列POC0,给出了的Cb和Cr CTB偏移集合索引的示例(如果CTU大小为128×128,则帧中CTU的数量为10×6)
在一些实施例中,最大band_num可以在SPS/APS/PPS/PH/SH/CTU/CU级别被固定或通过信号被发送。例如,在解码器中固定max band_num=16,并且对于每一帧,通过信号发送4比特以指示帧中的C0 band_num。下面的表12列出了一些其他最大band_num示例。
表12:最大band_num和band_num比特示例
在一些实施例中,可以对C0分类应用限制,例如,将band_num限制仅为2的幂的值。不是显式地通过信号发送band_num,而是通过信号发送语法band_num_shift。解码器可以使用移位操作来避免乘法。
Class(C0)=(Y0>>band_num_shift)>>bit_depth
另一个操作示例是考虑取整以减少误差。
Class(C0)=((Y0+(1<<(band_num_shift-1)))>>band_num_shift)>>bit_depth
例如,如果band_num_max是16,则对应于band_num=1、2,4、8、16,可能的band_num_shift候选是0、1、2、3和4,如表13所示。
POC | 分类器 | C0 band_num_shift | C0 band_num | 总类别 |
0 | 使用Y0位置的C0 | 4 | 16 | 16 |
1 | 使用Y7位置的C0 | 3 | 8 | 8 |
表13:Band_num和对应的Band_num_shift候选
在一些实施例中,应用于Cb和Cr的分类器是不同的。对于所有类别的Cb和Cr偏移都可以单独地通过信号发送。例如,通过信号发送的不同的偏移被应用于不同的色度分量,如下面的表14所示。
POC | 分量 | 分类器 | C0 | 总类别 | 通过信号发送 |
0 | Cb | C0 | 16 | 16 | 16 |
0 | Cr | C0 | 5 | 5 | 5 |
表14:单独地通过信号发送对于所有类别的Cb和Cr偏移
在一些实施例中,最大偏移值在序列参数集(SPS)/自适应参数集(APS)/图片参数集(PPS)/图片头部(PH)/条带头部(SH)中被固定或通过信号被发送。例如,最大偏移量介于[-15,15]之间。
在一些实施例中,偏移信令可以使用差分脉冲码调制(Differential pulse-codemodulation,DPCM)。例如,偏移{3,3,2,1,-1}可以用信号表示为{3、0,-1,-1,-2}。
在一些实施例中,可以将偏移存储在APS或存储缓冲器中,以备下一图片/条带再次使用。可以通过信号发送索引以指示哪些存储的先前帧偏移被用于当前图片。
在一些实施例中,Cb和Cr的分类器是相同的。例如,针对所有类别的Cb和Cr偏移可以联合地通过信号被发送,如下面的表15所示。
表15:联合地通过信号发送对于所有类别的Cb和Cr偏移
在一些实施例中,Cb和Cr的分类器可以是相同的。例如,针对所有类别的Cb和Cr偏移可以联合地通过信号被发送(具有符号标志差异),如下面的表16所示。根据表16,当Cb偏移为(3,3,2,-1)时,导出的Cr偏移为(-3,-3,-2,1)。
表16:联合地通过信号发送对于所有类别的Cb和Cr偏移(具有符号标志差异)
在一些实施例中,针对每个类别可以通过信号发送符号标志。例如如下表17所示。根据表17,当Cb偏移为(3,3,2,-1)时,根据相应的符号标志,导出的Cr偏移为(-3,3,2,1)。
表17:联合地通过信号发送对于所有类别的Cb和Cr偏移(具有针对每个类别的通过信号发送的符号标志)
在一些实施例中,Cb和Cr的分类器可以是相同的。例如,针对所有类别的Cb和Cr偏移可以联合地通过信号被发送(具有权重差异),如下面的表18所示。权重(w)可在限定的表格中选择,例如,+-1/4、+-1/2、0、+-1、+-2、+-4…等,其中|w|仅包括2的幂的值。根据表18,当Cb偏移为(3,3,2,-1)时,根据相应的符号标志,导出的Cr偏移为(-6,-6,-4,2)。
表18:联合地通过信号发送对于所有类别的Cb和Cr偏移(具有权重差异)
在一些实施例中,针对每个类别可以通过信号发送权重。例如如下表19所示。根据表19,当Cb偏移为(3,3,2,-1)时,根据相应的符号标志,导出的Cr偏移为(-6,12,0,-1)。
表19:联合地通过信号发送对于所有类别的Cb和Cr偏移(具有针对每个类别的通过信号发送的权重)
在一些实施例中,如果在同一POC中使用多个分类器,则单独地或联合地通过信号发送不同的偏移集合。
在一些实施例中,可以存储先前解码的偏移以供未来帧使用。可以通过信号发送索引以指示哪个先前解码的偏移集合用于了当前帧,以减少偏移信令开销。例如,POC0偏移可以由具有信令偏移设置(idx=0)的POC2再次使用,如下表20所示。
表20:通过信号发送索引以指示哪个先前解码的偏移集合用于当前帧
在一些实施例中,针对Cb和Cr的再次使用的偏移集合索引可以是不同的。例如如下表21所示。
表21:通过信号发送索引以指示哪个先前解码的偏移集合用于当前帧,该索引针对Cb分量和Cr分量可以是不同的
在一些实施例中,偏移信令可以使用包括起点和长度的附加语法,以减少信令开销。例如,当band_num=256时,仅通过信号发送band_idx=37~44的偏移。在下表22的示例中,起点和长度的语法都是8位固定长度编码的,其应该与band_num比特匹配。
表22:偏移信令使用包括起点和长度的附加语法
在一些实施例中,如果序列比特深度高于10(或特定比特深度),则可以在通过信号发送之前量化偏移。在解码器侧,如下面的表23所示,在应用解码的偏移之前对解码的偏移进行去量化。例如,对于12比特序列,解码的偏移被左移(去量化)2。
通过信号发送的偏移 | 去量化的、被应用的偏移 |
0 | 0 |
1 | 4 |
2 | 8 |
3 | 12 |
... | |
14 | 56 |
15 | 60 |
表23:在应用解码的偏移之前对解码的偏移去量化
在一些实施例中,偏移可被计算为CcSaoOffsetVal=(1-2*
ccsao_offset_sign_flag)*(ccsao_offset_abs<<(BitDepth-Min(10,BitDepth)))。
在一些实施例中,下面描述样点处理。令R(x,y)是CCSAO之前的输入色度样点值,R'(x,y)是CCSAO之后的输出色度样点值:
offset=ccsao_offset[class_index of R(x,y)]
R’(x,y)=Clip3(0,(1<<bit_depth)–1,R(x,y)+offset)
根据上述等式,使用当前图片的指示的分类器对每个色度样点值R(x,y)进行分类。导出的类别索引的对应偏移被加到每个色度样点值R(x,y)上。裁剪(clip)函数clip 3应用于(R(x,y)+offset),以使输出色度样点值R'(x,y)在比特深度动态范围内,例如,范围从0到(1<<bit_depth)-1。
在一些实施例中,下面描述边界处理。如果用于分类的同位的亮度样点和相邻的亮度样点中的任何一个在当前图片之外,则不对当前色度样点应用CCSAO。图13A是示出了根据本公开的一些实施方式的如果用于分类的同位和相邻亮度样点中的任何一个在当前图片之外,则不对当前色度样点应用CCSAO的框图。例如,在图13A(a)中,如果使用分类器,则不对当前图片的左侧1列的色度分量应用CCSAO。例如,如果使用了C1’,则如图13A(b)所示,不对当前画面的左侧1列和顶部1行的色度分量应用CCSAO。
图13B是示出了根据本公开的一些实施方式的如果用于分类的同位和相邻亮度样点中的任何一个在当前图片之外,则对当前色度样点应用CCSAO的框图。在一些实施例中,如果用于分类的同位的亮度样点和相邻的亮度样点中的任何一个在当前画面之外,则一种变化是如图13B(a)所示的重复地使用缺失的样点,或者如图13B(b)所示的镜像填充缺失的样点以创建用于分类的样点,并且CCSAO可以应用于当前色度样点。
图14是示出了根据本公开的一些实施方式的如果用于分类的对应选择的同位或相邻亮度样点在由虚拟边界定义的虚拟空间之外,则不对当前色度样点应用CCSAO的框图。在一些实施例中,虚拟边界(VB)是分隔图片帧内的空间的虚拟线。在一些实施例中,如果在当前帧中应用了虚拟边界(VB),则不对已经在由虚拟边界定义的虚拟空间之外选择了对应亮度位置的色度样点应用CCSAO。图14示出了具有9个亮度位置候选的针对C0分类器的虚拟边界的示例。对于每个CTU,CCSAO不被应用于对应的选定亮度位置位于由虚拟边界包围的虚拟空间之外的色度样点。例如,在图14(a)中,当所选择的Y7亮度样点位置位于水平虚拟边界1406的另一侧时,CCSAO不应用于色度样点1402,该水平虚拟边界位于距帧底侧的4个像素行处。例如,在图14(b)中,当所选择的Y5亮度样点位置位于垂直虚拟边界1408的另一侧时,CCSAO不应用于色度样点1404,该垂直虚拟边界位于距帧右侧的y个像素行处。
图15示出了根据本公开的一些实施方式的可在虚拟边界之外的亮度样点上应用重复或镜像填充。图15(a)示出了重复填充的示例。如果原始Y7被选择作为位于VB 1502底侧的分类器,则使用Y4亮度样点值来进行分类(复制到Y7位置),而不是使用原始Y7亮度样点值。图15(B)示出了镜像填充的示例。如果Y7被选择作为位于VB 1504底侧的分类器,则使用相对于Y0亮度样点与Y7值对称的Y1亮度样点值进行分类,而不是使用原始Y7亮度样点值。填充方法为应用CCSAO提供了更多色度样点的可能性,从而可以获得更多的编解码增益。
在一些实施例中,可以应用限制以减少CCSAO所需的行缓冲器,并简化边界处理条件检查。图16示出了根据本公开的一些实施方式的如果所有9个同位的相邻亮度样点都用于分类,则需要额外的1个亮度行缓冲器(即,在当前VB 1602之上的行-5的全行亮度样点)。图10B(a)显示了仅使用6个亮度候选进行分类的示例,这减少了行缓冲器,并且不需要图13A和图13B中的任何额外的边界检查。
在一些实施例中,使用亮度样点进行CCSAO分类可能会增加亮度行缓冲器,并因此增加解码器硬件实现成本。图17示出了根据本公开的一些实施方式的跨VB 1702的9个亮度候选CCSAO可以增加2个额外的亮度行缓冲器的AVS的图示。对于虚拟边界(VB)1702之上的亮度和色度样点,在当前CTU行处理DBF/SAO/ALF。对于VB1702之下的亮度和色度样点,在下一个CTU行处理DBF/SAO/ALF。在AVS解码器硬件设计中,亮度行-4至-1的pre DBF样点、行-5的pre SAO样点、色度行-3至-1的pre DBF样点、以及行-4的pre SAO样点被存储为下一CTU行DBF/SAO/ALF处理的行缓冲器。当处理下一个CTU行时,不在行缓冲器中的亮度和色度样点不可用。然而,例如,在色度行-3(b)的位置,色度样点在下一个CTU行处理,但CCSAO需要pre SAO亮度样点行-7、-6和-5进行分类。pre SAO亮度样点行-7、-6不在行缓冲器中,因此它们不可用。将pre SAO亮度样点行-7和-6添加到线缓冲器中会增加解码器硬件实现成本。在一些示例中,亮度VB(-4行)和色度VB(-3行)可以是不同的(不对齐)。
类似于图17,图18示出了根据本公开的一些实施方式的跨VB 1802的9个亮度候选CCSAO可以增加1个额外的亮度行缓冲器的VVC的图示。VB在不同的标准中可以是不同的。在VVC中,亮度VB是行-4,色度VB是行-2,因此9个候选CCSAO可以增加1个亮度行缓冲器。
在一些实施例中,在第一解决方案中,如果任何色度样点的亮度候选跨越VB(在当前色度样点VB之外),则对于色度样点禁用CCSAO。图19A至图19C示出了根据本公开的一些实施方式的在AVS和VVC中,如果任何色度样点的亮度候选跨越VB 1902(在当前色度样点VB之外),则对于该色度样点禁用CCSAO。图14也示出了这种实现的一些示例。
在一些实施例中,在第二种解决方案中,针对“跨VB”亮度候选,从靠近VB的并在VB另一侧的亮度行(例如,亮度行-4)对CCSAO使用重复填充。图20A至图20C示出了根据本公开的一些实施方式的在AVS和VVC中,如果任何色度样点的亮度候选跨越VB 2002(在当前色度样点VB之外),则对于色度样点使用重复填充来启用CCSAO。图14(a)也示出了这种实现的一些示例。
在一些实施例中,在第三种解决方案中,针对“跨VB”亮度候选,从亮度VB以下对CCSAO使用镜像填充。图21A至图21C示出了根据本公开的一些实施方式的在AVS和VVC中,如果任何色度样点的亮度候选跨越VB 2102(在当前色度样点VB之外),则对于色度样点使用镜像填充来启用CCSAO。图14(b)和图13B(b)示出了这种实现的一些示例。
填充方法为应用CCSAO提供了更多色度样点的可能性,从而可以获得更多的编解码增益。
在一些实施例中,在底部图片(或条带、瓦片、砖块(brick))边界CTU行,VB以下的样点在当前CTU行被处理,因此上述特殊处理(解决方案1、2、3)不会应用于底部图片(或者切片、瓦片、砖块)边界的CTU行。例如,1920×1080的帧被128x128的CTU分割。一个帧包含15×9个CTU(向上取整)。底部CTU行是第15个CTU行。解码过程是逐个CTU行进行的,并且对于每个CTU行是逐个CTU进行的。需要沿着当前CTU行和下一CTU行之间的水平CTU边界应用去块。由于在一个CTU内,在底部4/2亮度/色度行,DBF样点(VVC情况)在下一个CTU行处理,并且在当前CTU行不可用于CCSAO,因此对于每个CTU行应用CTB VB。然而,在图片帧的底部CTU行,由于没有剩余的下一CTU行,因此,底部4/2亮度/色度行DBF样点在当前CTU行可用并且在当前CTU行被DBF处理。
在一些实施例中,可以应用限制以减少CCSAO所需的行缓冲器,并简化边界处理条件检查,如图16所示。图22示出了根据本公开的一些实施方式的对于分类使用有限数量的亮度候选的限制。图22(a)示出了针对分类仅使用6个亮度候选的限制。图22(b)示出了针对分类仅使用4个亮度候选的限制。
在一些实施例中,实现的CCSAO语法在下面的表24中示出。在AVS3中,术语补块(patch)与条带类似,补块头部与条带头部类似。FLC代表固定长度编码。TU代表截断一元码。EGk代表k阶指数哥伦布编码,其中k可以是固定的。
表24:示例性的CCSAO语法
如果较高级别的标志关闭,则较低级别的标志可以从标志的关闭状态推断出来,并且不需要通过信号被发送。例如,如果此图片中的ph_cc_sao_cb_flag为假(false),则ph_cc_sao_cb_band_num_minus1、ph_cc_so_cb_cb_luma_type、cc_sao_cb_offset_sign_flag、cc_sao_cb_offset_abs、ctb_cc_sao_cb_flag、cc_sau_cb_merge_left_flag和cc_sao_ab_merge_up_flag不存在,并推断为假(false)。
在一些实施例中,SPS ccsao_enabled_flag以SPS SAO启用标志为条件,如下表25所示。
表25:SPS ccsao_enabled_flag以SPS SAO启用标志为条件
在一些实施例中,ph_cc_sao_cb_ctb_control_flag、ph_cc_sao_cr_ctb_contral_flag指示是否启用Cb/Cr CTB开/关控制粒度。如果ph_cc_sao_cb_ctb_control_flag、ph_cc_sao_cr_ctb_contronl_flag被启用,则可以进一步通过信号发送ctb_cc_sao_cb_flag和ctb_cc_sao_cr_flag。否则,CCSAO是否应用于当前图片取决于ph_cc_sao_cb_flag、ph_cc_sao_cr_flag,而无需在CTB级别进一步通过信号发送ctb_cc_sao_cb_flag和ctb_cc_sao_cr_flag。
在一些实施例中,对于ph_cc_sao_cb_type和ph_cc_sao_cr_type,可以进一步通过信号发送标志,以区分中心同位的亮度位置(图10中的Y0位置)是否用于色度样点的分类,以减少比特开销。类似地,如果cc_sao_cb_type和cc_sao_cr_type在CTB级别通过信号被发送,则可以用相同的机制进一步通过信号发送标志。例如,如果C0亮度位置候选的数量是9,则进一步通过信号发送cc_sao_cb_type0_flag,以区分是否使用了中心同位的亮度位置,如下面的表26所示。如果未使用中心同位的亮度位置,则使用cc_sao_cb_type_idc来指示剩余的8个相邻亮度位置中的哪一个被使用。
表26:通过信号发送cc_sao_cb_type0_flag,以区分是否使用了中心同位的亮度位置
在一些实施例中,以下进一步阐述了对帧内和帧间后预测SAO滤波器的扩展。在一些实施例中,本公开中公开的SAO分类方法可以用作后预测滤波器,并且该预测可以是帧内、帧间或诸如帧内块复制的其他预测工具。图23是示出了根据本公开的一些实施方式的本公开中公开的SAO分类方法用作后预测滤波器的框图。
在一些实施例中,对于每个Y、U和V分量,选择对应的分类器。对于每个分量预测样点,首先对其进行分类,并添加相应的偏移。例如,每个分量可以使用当前和相邻样点进行分类。Y使用当前Y和相邻Y样点,U/V使用当前U/V样点进行分类,如下表27所示。图24是示出了根据本公开的一些实施方式的对于后预测SAO滤波器每个分量可以使用当前和相邻样点进行分类的框图。
表27:为每个Y、U和V分量选择相应的分类器
在一些实施例中,通过添加相应的类别偏移来更新细化的预测样点(Ypred’,Upred’,Vpred’),并随后用于帧内、帧间或其他预测。
Ypred’=clip3(0,(1<<bit_depth)-1,Ypred+h_Y[i])
Upred’=clip3(0,(1<<bit_depth)-1,Upred+h_U[i])
Vpred’=clip3(0,(1<<bit_depth)-1,Vpred+h_V[i])
在一些实施例中,对于色度U和V分量,除了当前色度分量之外,跨分量(Y)可以用于进一步的偏移分类。例如,可以在当前分量偏移(h_U,h_V)上加上额外的跨分量偏移(h’_U,h’_V),如下表28所示。
表28:对于色度U和V分量,除了当前色度分量之外,跨分量(Y)可以用于进一步的偏移分类
在一些实施例中,通过添加相应的类别偏移来更新细化的预测样点(Upred”,Vpred”),并随后用于帧内、帧间或其他预测。
Upred”=clip3(0,(1<<bit_depth)-1,Upred’+h’_U[i])
Vpred”=clip3(0,(1<<bit_depth)-1,Vpred’+h’_V[i])
在一些实施例中,帧内和帧间预测可以使用不同的SAO滤波器偏移。
图25是示出了根据本公开的一些实施方式的在存在VB时使用跨分量相关对视频信号进行解码的示例性过程2500的流程图。
视频解码器30(如图3所示)从视频信号接收包括第一分量和第二分量的图片帧(2510)。
视频解码器30从与第二分量的相应样点相关联的第一分量的一个或多个样点的集合中确定针对第二分量的分类器(2520)。
视频解码器30根据分类器确定是否修改虚拟边界内的图片帧的当前块的第二分量的相应样点的值(2530)。
视频解码器30响应于根据分类器修改虚拟边界内的图片帧的当前块的第二分量的相应样点的值的确定,根据分类器确定针对第二分量的相应样点的样点偏移(2540)。
视频解码器30基于所确定的样点偏移修改第二分量的相应样点的值(2550)。
在一些实施例中,虚拟边界包括第一分量的第一块内的第一虚拟边界和第二分量的第二块内的第二虚拟边界。
在一些实施例中,虚拟边界包括第一分量的第一编码树块CTB内的第一虚拟边界和第二分量的第二CTB内的第二虚拟边界,并且第一虚拟边界未与第二虚拟边界对齐。在一些示例中,第一CTB和第二CTB在CTU内。
在一些实施例中,虚拟边界与块边界平行,并且虚拟边界与块边界间隔开至少一行或一列样点。
在一些实施例中,根据分类器确定是否修改虚拟边界内的图片帧的当前块的第二分量的相应样点的值(2530)包括:根据与第二分量的相应样点相关联的第一分量的一个或多个样点的集合被第一虚拟边界分割的确定,确定不修改在虚拟边界内的图片帧的当前块的第二分量的相应样点的值。例如,对“跨VB”色度样点禁用CCSAO。
在一些实施例中,根据分类器确定是否修改虚拟边界内的图片帧的当前块的第二分量的相应样点的值(2530)包括:根据与第二分量的相应样点相关联的第一分量的一个或多个样点的集合相对于第二分量的相应样点位于虚拟边界的不同侧的确定,根据分类器确定不修改虚拟边界内的图片帧的当前块的第二分量的相应样点的值。例如,对“跨VB”色度样点禁用CCSAO。
在一些实施例中,根据分类器确定是否修改虚拟边界内的图片帧的当前块的第二分量的相应样点的值(2530)包括:根据与第二分量的相应样点相关联的第一分量的一个或多个样点的集合的第一子集相对于第二分量的相应样点位于虚拟边界的不同侧,以及与第二分量的相应样点相关联的第一分量的一个或多个样点的集合的剩余子集相对于第二分量的相应样点位于虚拟边界的同一侧的确定,复制来自第一分量的一个或多个样点的集合的剩余子集的第二子集以替换第一子集;以及根据分类器确定修改虚拟边界内的图片帧的当前块的第二分量的相应样点的值。例如,当VB跨越亮度样点时,从亮度行使用重复填充和/或镜像填充。
在一些实施例中,来自第一分量的一个或多个样点的集合的剩余子集的第二子集来自与第一子集最近的行。例如,当VB跨越亮度样点时,使用重复填充。
在一些实施例中,来自第一分量的一个或多个样点的集合的剩余子集的第二子集位于第一虚拟边界或第二分量的相应样点的与第一子集对称的位置。例如,当VB跨越亮度样点时,使用镜像填充。
在一些实施例中,根据分类器确定是否修改虚拟边界内的图片帧的当前块的第二分量的相应样点的值(2530)包括:根据与第二分量的相应样点相关联的第一分量的一个或多个样点的集合相对于第二分量的相应样点位于虚拟边界的不同侧的确定,复制相对于第二分量的相应样点在虚拟边界的同一侧的第一分量的样点的第二集合,以替换第一分量的一个或多个样点的所述集合;以及根据分类器确定修改虚拟边界内的图片帧的当前块的第二分量的相应样点的值。例如,当VB在亮度样点之下时,从亮度行使用重复填充和/或镜像填充。
在一些实施例中,相对于第二分量的相应样点在虚拟边界的同一侧的样点的第二集合来自相对于第二分量的相应样点在虚拟边界的同一侧的与第一分量的一个或多个样点的集合最近的行。例如,当VB在亮度样点之下时,从亮度行使用重复填充。
在一些实施例中,相对于第二分量的相应样点在虚拟边界的同一侧的样点的第二集合位于第一虚拟边界或第二分量的相应样点的与第一分量的一个或多个样点的集合对称的位置。例如,当VB在亮度样点之下时,从亮度行使用镜像填充。
在一些实施例中,根据分类器确定是否修改虚拟边界内的图片帧的当前块的第二分量的相应样点的值(2530)包括:根据与第二分量的相应样点相关联的第一分量的一个或多个样点的集合被虚拟边界分割,第一分量的一个或多个样点的子集相对于第二分量的相应样点位于虚拟边界的不同侧,以及第一分量的一个或多个样点的子集位于图片帧的处理底部的边界编码树单元(CTU)行内的确定,根据分类器确定修改虚拟边界内的图片帧的当前块的第二分量的相应样点的值。例如,在底部图片(或条带、瓦片、砖块(brick))边界CTU行,VB以下的样点在当前CTU行被处理,因此特殊处理(解决方案1、2、3)不会应用于底部图片(或者切片、瓦片、砖块)边界的CTU行。
其他实施例还包括在各种其他实施例中组合或以其他方式重新布置的上述实施例的各种子集。
在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则这些功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输,并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质或通信介质,计算机可读存储介质对应于诸如数据存储介质之类的有形介质,通信介质包括促进将计算机程序从一个地方转移到另一个地方(例如,根据通信协议)的任何介质。以这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质或(2)诸如信号或载波的通信介质。数据存储介质可以是任何可用介质,其可以由一个或多个计算机或者一个或多个处理器访问以取回指令、代码和/或数据结构以实现本申请中描述的实施方式。计算机程序产品可以包括计算机可读介质。
在此处的实施方式的描述中使用的术语仅用于描述特定实施方式的目的,并不旨在限制权利要求的范围。在实施方式和所附权利要求的描述中使用的单数形式“一个”和“该/所述”也旨在包括复数形式,除非上下文另有明确指示。还应理解,本文所用的术语“和/或”是指并且涵盖一个或多个相关联的所列项目的任何和所有可能的组合。将会进一步理解,当在本说明书中使用时,术语“包括”指定所陈述的特征、要素和/或组件的存在,但不排除其它一个或多个特征、要素、组件和/或它们的组的存在或添加。
还应理解,虽然术语第一、第二等在本文中可用于描述各种要素,但这些要素不应受限于这些术语。这些术语仅用于区分一种要素与另一种要素。例如,在不脱离实施方式的范围的情况下,第一电极可以被称为第二电极,并且类似地,第二电极可以被称为第一电极。第一电极和第二电极都是电极,但不是同一个电极。
在整个说明书中以单数或复数形式对“一个示例”、“示例”、“示例性示例”等的引用表示结合示例描述的一个或多个特定特征、结构或特性包括在本申请的至少一个示例中。因此,贯穿本说明书的各处以单数或复数形式出现的短语“在一个示例中”或“在示例中”、“在示例性示例中”等不一定都指代同一示例。此外,一个或多个示例中的特定特征、结构或特性可以包括以任何合适的方式组合。
本申请的描述是为了说明和描述的目的而呈现的,并不旨在穷举或限制以所公开形式的本发明。受益于在以上描述和相关联的附图中呈现的教导,许多修改、变化和备选实施方式对于本领域普通技术人员将是显而易见的。选择和描述实施例是为了最好地解释本发明的原理、实际应用,并使本领域的其他技术人员能够理解本发明的各种实现方式,并最好地利用具有各种修改的基本原理和各种实现方式,如适用于预期的特定用途。因此,应当理解,权利要求的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在包括在所附权利要求的范围内。
Claims (15)
1.一种视频信号的解码方法,所述方法包括:
从视频信号接收包括第一分量和第二分量的图片帧;
从与所述第二分量的相应样点相关联的所述第一分量的一个或更多个样点的集合中确定针对所述第二分量的分类器;
根据所述分类器确定是否修改虚拟边界内的所述图片帧的当前块的所述第二分量的所述相应样点的值;
响应于根据所述分类器修改所述虚拟边界内的所述图片帧的所述当前块的所述第二分量的所述相应样点的值的确定,根据所述分类器确定针对所述第二分量的所述相应样点的样点偏移;以及
基于所确定的样点偏移修改所述第二分量的所述相应样点的值。
2.根据权利要求1所述的方法,其中,所述虚拟边界包括所述第一分量的第一块内的第一虚拟边界和所述第二分量的第二块内的第二虚拟边界。
3.根据权利要求1所述的方法,其中,所述虚拟边界包括所述第一分量的第一编码树块CTB内的第一虚拟边界和所述第二分量的第二CTB内的第二虚拟边界,并且,在编码树单元CTU内,所述第一虚拟边界未与所述第二虚拟边界对齐。
4.根据权利要求1所述的方法,其中,所述虚拟边界与块边界平行,并且所述虚拟边界与所述块边界间隔开至少一行或一列样点。
5.根据权利要求2所述的方法,其中,所述根据所述分类器确定是否修改在虚拟边界内的所述图片帧的当前块的所述第二分量的所述相应样点的值包括:
根据与所述第二分量的所述相应样点相关联的所述第一分量的一个或更多个样点的所述集合被所述第一虚拟边界分割的确定,
根据所述分类器确定不修改所述虚拟边界内的所述图片帧的所述当前块的所述第二分量的所述相应样点的值。
6.根据权利要求2所述的方法,其中,所述根据所述分类器确定是否修改虚拟边界内的所述图片帧的当前块的所述第二分量的所述相应样点的值包括:
根据与所述第二分量的所述相应样点相关联的所述第一分量的一个或更多个样点的所述集合相对于所述第二分量的所述相应样点位于所述虚拟边界的不同侧的确定,
根据所述分类器确定不修改所述虚拟边界内的所述图片帧的所述当前块的所述第二分量的所述相应样点的值。
7.根据权利要求2所述的方法,其中,所述根据所述分类器确定是否修改在虚拟边界内的所述图片帧的当前块的所述第二分量的所述相应样点的值包括:
根据与所述第二分量的所述相应样点相关联的所述第一分量的一个或更多个样点的所述集合的第一子集相对于所述第二分量的所述相应样点位于所述虚拟边界的不同侧,以及与所述第二分量的所述相应样点相关联的所述第一分量的一个或更多个样点的所述集合的剩余子集相对于所述第二分量的所述相应样点位于所述虚拟边界的同一侧的确定,
复制来自所述第一分量的一个或更多个样点的所述集合的所述剩余子集的第二子集以替换所述第一子集;以及
根据所述分类器确定修改所述虚拟边界内的所述图片帧的所述当前块的所述第二分量的所述相应样点的值。
8.根据权利要求7所述的方法,其中,来自所述第一分量的一个或更多个样点的集合的所述剩余子集的所述第二子集来自与所述第一子集最近的行。
9.根据权利要求7所述的方法,其中,来自所述第一分量的一个或更多个样点的集合的所述剩余子集的所述第二子集位于所述第一虚拟边界或所述第二分量的所述相应样点的与所述第一子集对称的位置。
10.根据权利要求2所述的方法,其中,所述根据所述分类器确定是否修改虚拟边界内的所述图片帧的当前块的所述第二分量的所述相应样点的值包括:
根据与所述第二分量的所述相应样点相关联的所述第一分量的一个或更多个样点的所述集合相对于所述第二分量的所述相应样点位于所述虚拟边界的不同侧的确定,
复制相对于所述第二分量的所述相应样点在所述虚拟边界的同一侧的所述第一分量的样点的第二集合,以替换所述第一分量的一个或更多个样点的所述集合;以及
根据所述分类器确定修改所述虚拟边界内的所述图片帧的所述当前块的所述第二分量的所述相应样点的值。
11.根据权利要求10所述的方法,其中,相对于所述第二分量的所述相应样点在所述虚拟边界的同一侧的样点的所述第二集合来自相对于所述第二分量的所述相应样点在所述虚拟边界的同一侧的与所述第一分量的一个或更多个样点的所述集合最近的行。
12.根据权利要求10所述的方法,其中,相对于所述第二分量的所述相应样点在所述虚拟边界的同一侧的样点的所述第二集合位于所述第一虚拟边界或所述第二分量的所述相应样点的与所述第一分量的一个或更多个样点的所述集合对称的位置。
13.根据权利要求1所述的方法,其中,所述根据所述分类器确定是否修改虚拟边界内的所述图片帧的当前块的所述第二分量的所述相应样点的值包括:
根据与所述第二分量的所述相应样点相关联的所述第一分量的一个或更多个样点的所述集合被所述虚拟边界分割,所述第一分量的所述一个或更多个样点的子集相对于所述第二分量的所述相应样点位于所述虚拟边界的不同侧,以及所述第一分量的所述一个或更多个样点的所述子集位于所述图片帧的处理底部的边界编码树单元CTU行内的确定,
根据所述分类器确定修改所述虚拟边界内的所述图片帧的所述当前块的所述第二分量的所述相应样点的值。
14.一种电子装置,包括:
一个或更多个处理单元;
耦合到所述一个或更多个处理单元的存储器;以及
存储在所述存储器中的多个程序,当由所述一个或更多个处理单元执行时,所述多个程序使所述电子装置执行根据权利要求1-13中任一项所述的方法。
15.一种非暂时性计算机可读存储介质,其存储由具有一个或更多个处理单元的电子装置执行的多个程序,其中所述多个程序在由所述一个或更多个处理单元执行时使所述电子装置执行根据权利要求1-13中任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063082356P | 2020-09-23 | 2020-09-23 | |
US63/082,356 | 2020-09-23 | ||
US202063086504P | 2020-10-01 | 2020-10-01 | |
US63/086,504 | 2020-10-01 | ||
PCT/US2021/051573 WO2022066783A1 (en) | 2020-09-23 | 2021-09-22 | Chroma coding enhancement in cross-component sample adaptive offset with virtual boundary |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116325734A true CN116325734A (zh) | 2023-06-23 |
Family
ID=80845785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180065282.1A Pending CN116325734A (zh) | 2020-09-23 | 2021-09-22 | 具有虚拟边界的跨分量样点自适应偏移中的色度编解码增强 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230308652A1 (zh) |
EP (1) | EP4218235A4 (zh) |
CN (1) | CN116325734A (zh) |
WO (1) | WO2022066783A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11770524B2 (en) * | 2021-11-11 | 2023-09-26 | Realtek Semiconductor Corp. | Loop filter utilized in encoder and associated signal processing method |
WO2023200836A1 (en) * | 2022-04-13 | 2023-10-19 | Qualcomm Incorporated | Virtual boundary processing for ccsao, bilateral filter and adaptive loop filter for video coding |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104769950B (zh) * | 2012-09-28 | 2018-11-13 | Vid拓展公司 | 用于视频编码中的色度信号增强的交叉平面滤波 |
US10306246B2 (en) * | 2015-02-13 | 2019-05-28 | Mediatek Inc. | Method and apparatus of loop filters for efficient hardware implementation |
WO2018170801A1 (zh) * | 2017-03-22 | 2018-09-27 | 华为技术有限公司 | 图像滤波方法及装置 |
WO2020083108A1 (en) * | 2018-10-23 | 2020-04-30 | Mediatek Inc. | Method and apparatus for reduction of in-loop filter buffer |
CA3120828A1 (en) * | 2019-01-17 | 2020-07-23 | Huawei Technologies Co., Ltd. | An encoder, a decoder and corresponding methods of deblocking filter adaptation |
US11910024B2 (en) * | 2019-03-11 | 2024-02-20 | Qualcomm Incorporated | Boundary handling for adaptive loop filtering |
US11641465B2 (en) * | 2019-07-25 | 2023-05-02 | Hfi Innovation Inc. | Method and apparatus of cross-component adaptive loop filtering with virtual boundary for video coding |
WO2021070427A1 (en) * | 2019-10-09 | 2021-04-15 | Sharp Kabushiki Kaisha | Systems and methods for reducing a reconstruction error in video coding based on a cross-component correlation |
-
2021
- 2021-09-22 WO PCT/US2021/051573 patent/WO2022066783A1/en unknown
- 2021-09-22 CN CN202180065282.1A patent/CN116325734A/zh active Pending
- 2021-09-22 EP EP21873363.2A patent/EP4218235A4/en active Pending
-
2023
- 2023-03-23 US US18/125,568 patent/US20230308652A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230308652A1 (en) | 2023-09-28 |
EP4218235A4 (en) | 2024-04-03 |
WO2022066783A1 (en) | 2022-03-31 |
EP4218235A1 (en) | 2023-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114449274B (zh) | 对视频信号进行解码的方法、装置和介质 | |
CN114007067B (zh) | 对视频信号进行解码的方法、设备和介质 | |
US20230388509A1 (en) | Chroma coding enhancement in cross-component sample adaptive offset | |
CN114223201B (zh) | 在跨分量相关中的色度编解码增强 | |
CN114567786B (zh) | 以4:4:4色度格式进行视频编解码的方法和装置 | |
US20230199209A1 (en) | Chroma coding enhancement in cross-component sample adaptive offset | |
US20230308652A1 (en) | Chroma coding enhancement in cross-component sample adaptive offset with virtual boundary | |
WO2022178424A1 (en) | Coding enhancement cross-component sample adaptive offset | |
CN115956362A (zh) | 跨分量样点自适应偏移中的色度编码增强 | |
US20240007652A1 (en) | Coding enhancement in cross-component sample adaptive offset | |
US20230336785A1 (en) | Coding enhancement in cross-component sample adaptive offset | |
US20230319315A1 (en) | Coding enhancement in cross-component sample adaptive offset | |
CN116614625B9 (zh) | 一种视频编码的方法、装置和介质 | |
EP4285591A1 (en) | Chroma coding enhancement in cross-component sample adaptive offset | |
US20230262235A1 (en) | Chroma coding enhancement in cross-component sample adaptive offset with virtual boundary | |
CN117296315A (zh) | 跨分量样点自适应偏移中的编解码增强 | |
CN116569551A (zh) | 交叉分量样本自适应偏移中的色度编码增强 | |
CN116965017A (zh) | 在跨分量样点自适应偏移中的色度编解码增强 | |
CN117413516A (zh) | 跨分量样本自适应偏移中的编解码增强 | |
CN117917074A (zh) | 跨分量样点自适应偏移中的编解码增强 | |
CN117769834A (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 |