CN116325754A - 交叉分量样本自适应偏移中的编码增强 - Google Patents

交叉分量样本自适应偏移中的编码增强 Download PDF

Info

Publication number
CN116325754A
CN116325754A CN202280007226.7A CN202280007226A CN116325754A CN 116325754 A CN116325754 A CN 116325754A CN 202280007226 A CN202280007226 A CN 202280007226A CN 116325754 A CN116325754 A CN 116325754A
Authority
CN
China
Prior art keywords
sample
component
offset
video
samples
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280007226.7A
Other languages
English (en)
Inventor
郭哲玮
修晓宇
陈伟
王祥林
陈漪纹
朱弘正
闫宁
于冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Publication of CN116325754A publication Critical patent/CN116325754A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/186Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种电子设备执行解码视频数据的方法。所述方法包括:从视频信号接收包括第一分量和第二分量的图片帧;通过第一环路滤波器重建第一分量的样本;通过第二环路滤波器重建第二分量的样本;从相对于第一分量的相应重建样本的第二分量的一个或多个重建样本确定用于第一分量的分类器;根据所述分类器为第一分量的相应重建样本选择第一样本偏移;与第一样本偏移的选择并行地应用多个滤波器以获得多个并行偏移;以及对第一分量的相应重建样本、第一样本偏移和来自所述多个滤波器的多个并行偏移的组合的输出进行截取。

Description

交叉分量样本自适应偏移中的编码增强
相关申请
本申请要求2021年5月26日提交的标题为“Cross-component Sample AdaptiveOffset”的美国临时专利申请第63/193,539号的优先权,该申请全部内容通过引用并入。
技术领域
本申请一般地涉及视频编解码和压缩,并且更具体地,涉及提高亮度和色度二者编码效率的方法和装置。
背景
数字视频由各种电子设备支持,这些电子设备诸如数字电视、膝上型或台式计算机、平板计算机、数字相机、数字记录设备、数字媒体播放器、视频游戏控制台、智能电话、视频电话会议设备、视频流式传输设备等。所述电子设备通过实施视频压缩/解压缩标准来传输、接收、编码、解码和/或存储数字视频数据。一些公知的视频编解码标准包括通用视频编解码(VVC)、高效视频编解码(HEVC,也称为H.265或MPEG-H Part 2)和高级视频编解码(AVC,也称为H.264或MPEG-4Part 10),这些标准由ISO/IEC MPEG和ITU-T VCEG联合开发。AOMedia Video 1(AV1)由开放媒体联盟(AOM)开发,作为其先前标准VP9的后承者。音视频编解码(AVS)涉及数字音频和数字视频压缩标准,是由音频和视频编解码标准工作组开发的另一个视频压缩标准系列。
视频压缩通常包括执行空间(帧内)预测和/或时间(帧间)预测以减少或移除视频数据中固有的冗余。对于基于块的视频编解码,视频帧被分区成一个或多个切片(slice),每个切片具有多个视频块,该视频块也可被称为编码树单元(CTU)。每个CTU可以包含一个编码单元(CU)或递归地分割成更小的CU,直到达到预定义的最小CU尺寸。每个CU(也称为叶CU)包含一个或多个变换单元(TU),并且每个CU还包含一个或多个预测单元(PU)。每个CU可以按照帧内、帧间或IBC模式被编码。视频帧的帧内编码(I)切片中的视频块是使用相对于同一视频帧内的邻近块中的参考样本的空间预测来编码的。视频帧的帧间编码(P或B)切片中的视频块可以使用相对于同一视频帧内邻近块中的参考样本的空间预测或使用相对于其它先前和/或未来参考视频中帧的参考样本的时间预测。
基于先前已经编码的参考块(例如,邻近块)的空间或时间预测产生针对待编码的当前视频块的预测块。找到参考块的过程可以通过块匹配算法来完成。表示待编码的当前块和预测块之间的像素差的残差数据被称为残差块或预测误差。帧间编码块根据指向形成预测块的参考帧中的参考块的运动矢量和残差块来编码。确定运动矢量的过程通常称为运动估计。根据帧内预测模式和残差块对帧内编码块进行编码。为了进一步压缩,将残差块从像素域变换到变换域,例如频域,得到残差变换系数,然后可以对残差变换系数进行量化。最初布置在二维阵列中的量化变换系数可以被扫描以产生变换系数的一维矢量,然后被熵编码到视频比特流中以实现更进一步的压缩。
然后将编码的视频比特流保存在计算机可读存储介质(例如,闪存)中,以供具有数字视频能力的另一个电子设备访问或直接有线或无线地传输到电子设备。电子设备随后通过例如以下步骤来执行视频解压缩(这是与上述视频压缩相反的过程):解析该编码的视频比特流以从比特流获得语法元素并至少部分地基于从所述比特流获得的语法元素从该编码的视频比特流将数字视频数据重建为其原始格式,并且在电子设备的显示器上呈现该重建的数字视频数据。
随着数字视频质量从高清发展到4Kx2K甚至8Kx4K,待编码/解码的视频数据量呈指数增长。如何在保持解码的视频数据的图像质量的同时更高效地编码/解码视频数据一直是一个挑战。
发明内容
本申请描述了与以下内容相关的实施方式:视频数据编码和解码,并且更具体地,提高亮度和色度分量二者的编码效率(包括通过探索亮度分量和色度分量之间的交叉分量关系来提高编码效率)的方法和装置,
根据本申请的第一方面,一种解码视频信号的方法包括:从视频信号接收图片帧,所述图片帧包括第一分量和第二分量;通过第一环路滤波器重建所述第一分量的样本;通过第二环路滤波器重建所述第二分量的样本;从相对于所述第一分量的相应重建样本的所述第二分量的一个或多个重建样本确定所述第一分量的分类器;根据所述分类器为第一分量的相应重建样本选择第一样本偏移;在第一环路滤波器之后与第一样本偏移的选择并行地应用多个滤波器以获得多个并行偏移;以及对第一环路滤波器之后的第一分量的相应重建样本、第一样本偏移和来自所述多个滤波器的所述多个并行偏移的组合的输出进行截取,其中该组合的输出在位深度动态范围内作为所述第一分量的经修改的相应重建样本。
根据本申请的第二方面,一种电子装置包括一个或多个处理单元、存储器以及存储在存储器中的多个程序。当由所述一个或多个处理单元执行时,所述程序使所述电子装置执行如上所述的编解码视频信号的方法。
根据本申请的第三方面,一种非暂时性计算机可读存储介质存储有多个程序,所述多个程序用于由具有一个或多个处理单元的电子装置执行。当由所述一个或多个处理单元执行时,所述程序使电子装置执行如上所述的编解码视频信号的方法。
根据本申请的第四方面,一种计算机可读存储介质具有存储在其中的比特流,所述比特流包括如上所述的视频编解码方法生成的视频信息。
应当理解,前述的一般描述和以下的详细描述二者都仅是示例,而不是对本公开的限制。
附图说明
包括的附图是为了提供对实施方式的进一步理解并且并入本文并构成说明书的一部分,图示了所描述的实施方式并且与描述一起用于解释基本原理。相似的附图标记指代对应的部分。
图1是图示根据本公开的一些实施方式的示例性视频编码和解码系统的框图。
图2是图示根据本公开的一些实施方式的示例性视频编码器的框图。
图3是图示根据本公开的一些实施方式的示例性视频解码器的框图。
图4A至图4E是图示根据本公开的一些实施方式的如何将帧递归地分区为不同尺寸和形状的多个视频块的框图。
图5A是描绘根据本公开的一些实施方式的样本自适应偏移(SAO)中使用的四种梯度模式的框图。
图5B是描绘根据本公开的一些实施方式的围绕中心样本的样本的命名约定的框图。
图6A是图示根据本公开的一些实施方式的应用于色度样本并使用DBF Y作为输入的CCSAO的系统和过程的框图。
图6B是图示根据本公开的一些实施方式的应用于亮度和色度样本并使用DBF Y/Cb/Cr作为输入的CCSAO的系统和过程的框图。
图6C是图示根据本公开的一些实施方式的可以独立工作的CCSAO的系统和过程的框图。
图6D是图示根据本公开的一些实施方式的可以利用相同或不同偏移被递归地(2次或N次)应用的CCSAO的系统和过程的框图。
图6E是图示根据本公开的一些实施方式的与AVS标准中的增强型样本自适应偏移(ESAO)并行地应用的CCSAO的系统和过程的框图。
图6F是图示根据本公开的一些实施方式的在SAO之后应用的CCSAO的系统和过程的框图。
图6G是图示根据本公开的一些实施方式的CCSAO的系统和过程可以在没有CCALF的情况下独立工作的框图。
图6H是图示根据本公开的一些实施方式的与交叉分量自适应环路滤波器(CCALF)并行地应用的CCSAO的系统和过程的框图。
图6I是图示根据本公开的一些实施方式的与SAO和BIF并行地应用的CCSAO的系统和过程的框图。
图6J是图示根据本公开的一些实施方式的通过替代SAO而与BIF并行地应用的CCSAO的系统和过程的框图。
图7是图示根据本公开的一些实施方案的使用CCSAO的样本过程的框图。
图8是图示根据本公开的一些实施方式的CCSAO过程与垂直和水平去块滤波器(DBF)交错的框图。
图9是图示根据本公开的一些实施方式的使用交叉分量相关性来解码视频信号的示例性过程的流程图。
图10A是示出根据本公开的一些实施方式的使用不同亮度(或色度)样本位置进行C0分类的分类器的框图。
图10B图示了根据本公开的一些实施方式的用于亮度候选的不同形状的一些示例。
图11是根据本公开的一些实施方式的样本过程的框图,该框图图示了可以将所有同位的和邻近的亮度/色度样本馈送到CCSAO分类中。
图12图示了根据本公开的一些实施方式的示例性分类器,其将同位亮度样本值替换为通过对同位亮度样本和邻近亮度样本进行加权而获得的值。
图13是图示根据本公开的一些实施方式的CCSAO与具有不同截取组合的其它环路滤波器一起应用的框图。
图14A是图示根据本公开的一些实施方式的如果用于分类的同位和邻近亮度(色度)样本中的任何一个在当前图片之外则CCSAO不被应用于当前色度(亮度)样本的框图。
图14B是图示根据本公开的一些实施方式的如果用于分类的同位和邻近亮度或色度样本中的任一个在当前图片之外则将CCSAO应用于当前亮度或色度样本的框图。
图14C是图示根据本公开的一些实施方式的如果用于分类的对应选择的同位或邻近亮度样本在由虚拟边界(VB)定义的虚拟空间之外则CCSAO不被应用于当前色度样本的框图。
图15示出了根据本公开的一些实施方式对处于虚拟边界之外的亮度样本应用重复或镜像填充。
图16示出了根据本公开的一些实施方式的如果所有9个同位邻近亮度样本都用于分类则需要附加的1个亮度线缓冲器。
图17示出了根据本公开的一些实施方式的AVS中的图示,其中9个亮度候选CCSAO跨VB可以增加2个附加的亮度线缓冲器。
图18A示出了根据本公开的一些实施方式的VVC中的图示,其中9个亮度候选CCSAO跨VB可以增加1个附加亮度线缓冲器。
图18B示出了根据本公开的一些实施方式的图示,其中当同位或邻近色度样本用于对当前亮度样本进行分类时,所选择的色度候选可能跨VB并且需要附加的色度线缓冲器。
图19A-19C根据本公开的一些实施方式示出了在AVS和VVC中如果色度样本的任何亮度候选跨越VB(在当前色度样本VB之外)则针对色度样本禁用CCSAO。
图20A-20C根据本公开的一些实施方式示出了在AVS和VVC中如果色度样本的任何亮度候选跨越VB(在当前色度样本VB之外)则通过对色度样本使用重复填充来启用CCSAO。
图21A-21C根据本公开的一些实施方式示出了在AVS和VVC中如果色度样本的任何亮度候选跨越VB(在当前色度样本VB之外)则通过对色度样本使用镜像填充来启用CCSAO。
图22A-22B根据本公开的一些实施方式示出了通过对不同的CCSAO样本形状使用双侧对称填充来启用CCSAO。
图23示出了根据本公开的一些实施方式使用有限数量的亮度候选进行分类的限制。
图24根据本公开的一些实施方式示出了CCSAO应用区域未对准编码树块(CTB)/编码树单元(CTU)边界。
图25根据本公开的一些实施方式示出了CCSAO应用区域帧分区可以利用CCSAO参数来固定。
图26根据本公开的一些实施方式示出了CCSAO应用区域可以是来自帧/切片/CTB级别的二叉树(BT)/四叉树(QT)/三叉树(TT)分割。
图27是图示根据本公开的一些实施方式的在图片帧内在不同级别使用和切换的多个分类器的框图。
图28是图示根据本公开的一些实施方式的CCSAO应用区域分区在图片级别中可以是动态的并且被切换的框图。
图29是图示根据本公开的一些实施方式的CCSAO分类器可以计及当前或交叉分量编码信息的图。
图30是图示根据本公开的一些实施方式的本公开中公开的SAO分类方法用作后预测滤波器的框图。
图31是图示根据本公开的一些实施方式的对于后预测SAO滤波器每个分量可以使用当前和邻近样本进行分类的框图。
图32是图示根据本公开的一些实施方式的使用交叉分量相关性来解码视频信号的示例性过程的流程图。
图33是图示根据本公开的一些实施方式的与用户接口耦合的计算环境的图。
具体实施方式
现在将详细参考具体实施方式,具体实施方式的示例在附图中图示。在下面的详细描述中,阐述了许多非限制性具体细节以帮助理解本文呈现的主题。但是对于本领域的普通技术人员来说将显而易见的是,在不脱离权利要求的范围的情况下可以使用各种备选方案并且可以在没有这些具体细节的情况下实践主题。例如,对于本领域的普通技术人员来说将显而易见的是,可以在许多类型的具有数字视频能力的电子设备上实施本文呈现的主题。
第一代AVS标准包括中国国家标准“信息技术,高级音视频编解码第2部分:视频”(称为AVS 1)和“信息技术,高级音视频编解码第16部分:广播电视视频”(称为AVS+)。与MPEG-2标准相比,它可以在相同的感知质量下节省大约50%的比特率。第二代AVS标准包括中国国家标准“信息技术,高效多媒体编解码”系列(简称AVS2),其主要针对超HD TV节目的传输。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和DPB 64之间以对块边界进行滤波以从重建的视频中移除块状伪影。除了去块滤波器之外,还可以使用另一环路滤波器63来对加法器62的输出进行滤波。另外的环路内滤波63(诸如样本自适应偏移(SAO)和自适应环路滤波器(ALF))可以在将重建的CU放入参考图片存储并用作对未来视频块进行编码的参考之前应用于该重建的CU。视频编码器20可采用固定或可编程硬件单元的形式,或者可以在所图示的固定或可编程硬件单元中的一个或更多个之间被划分。
视频数据存储器40可以存储将由视频编码器20的组件编码的视频数据。可例如从视频源18获得视频数据存储器40中的视频数据。DPB 64是用于存储供视频编码器20(例如,以帧内或帧间预测编码模式)在对视频数据进行编码时使用的参考视频数据的缓冲器。视频数据存储器40和DPB 64可以由各种存储器设备中的任何存储器设备形成。在各种示例中,视频数据存储器40可以与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。
如图2中所示,在接收到视频数据之后,预测处理单元41内的分区单元45将视频数据分区成视频块。这种分区还可以包括根据与视频数据相关联的诸如四叉树结构之类的预定义分割结构将视频帧分区为切片、瓦片(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确定块矢量。
在像素差方面,预测块是被认为与待编码视频块的PU紧密匹配的参考帧的块,像素差可以由绝对差总和(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之间以进一步处理解码视频块。环路滤波器91(诸如去块滤波器、样本自适应偏移(SAO)和自适应环路内(ALF)滤波器)可以在重建CU被放入参考图片存储之前被应用于所述重建CU。然后,将给定帧中的解码视频块存储在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的亮度PB、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分别发信令通知使用带偏移和边缘偏移滤波类型。在sao-type-idx等于1指定的带偏移模式中,选择的偏移值直接取决于样本幅度。在这种模式下,整个样本幅度范围被均匀地分割成32个称为带的分段,并且属于这些带中的四个(它们在32个带内是连续的)的样本值通过与表示为带偏移的传输值相加来修改,带偏移可以是正的或负的。使用四个连续带的主要原因是,在可能出现带状伪影的平滑区域中,CTB中的样本幅度往往集中在仅几个带中。此外,使用四个偏移的设计选择与也使用四个偏移值的边缘偏移操作模式是统一的。在由等于2的sao-type-idx指定的边缘偏移模式中,具有从0到3的值的语法元素sao-eo-class发信令通知水平、垂直或两个对角梯度方向之一是否用于CTB中的边缘偏移分类。
图5A是描绘根据本公开的一些实施方式的在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)梯度模式的两个邻近样本。通过将如图5A中所示的位于某个位置的样本值p与位于邻近位置的两个样本的值n0和n1进行比较,CTB中的每个样本被分类到五个EdgeIdx类别之一中。这种分类基于解码样本值针对每个样本进行,因此EdgeIdx分类不需要附加的信令。根据样本位置处的EdgeIdx类别,对于从1到4的EdgeIdx类别,将来自传输的查找表的偏移值与样本值相加。偏移值对于类别1和2始终为正,并且对于类别3和4始终为负。因此滤波器通常在边缘偏移模式中具有平滑效果。下面的表1-1说明了SAO边缘种类中的样本EdgeIdx类别。
Figure BDA0004203987600000221
表1-1:SAO边缘种类中的示例EdgeIdx类别。
对于SAO类型1和2,总共四个幅度偏移值针对每个CTB被传输到解码器。对于类型1,符号也被编码。偏移值和相关语法元素(诸如sao-type-idx和sao-eo-class)由编码器确定——通常使用优化速率-失真性能的准则。可以使用合并标志指示SAO参数从左侧或上方CTB继承,以使信令高效。总之,SAO是一种非线性滤波操作,它允许对重建信号进行附加的细化,并且它可以增强平滑区域中和边缘周围的信号表示。
在一些实施例中,实施预样本自适应偏移(Pre-SAO)。具有低复杂度的pre-SAO的编码性能在未来的视频编解码标准发展中很有前途。在一些示例中,Pre-SAO仅应用于使用用于分类的亮度样本的亮度分量样本。Pre-SAO通过应用两个类似SAO的滤波操作(称为SAOV和SAOH)进行操作,并且在应用现有(传统)SAO之前将它们与去块滤波器(DBF)联合应用。第一类似SAO的滤波器SAOV操作为在应用针对垂直边缘的去块滤波器(DBFV)之后将SAO应用于输入图片Y2。
Y3(i)=Clip1(Y2(i)+d1·(f(i)>T?1:0)-d2·(f(i)<-T?1:0))。
其中T是预定的正常数,并且d1和d2是与基于Y1(i)和Y2(i)之间的逐样本差值的两个种类相关联的偏移系数,逐样本差值由下式给出:
f(i)=Y1(i)-Y2(i)。
针对d1的第一种类被给出为:采用所有样本位置i,使得f(i)>T,而针对d2的第二种类由f(i)<-T给出。在编码器处计算偏移系数d1和d2,采用与现有SAO过程相同的方式使SAOV的输出图片Y3与原始图片X之间的均方误差最小化。在应用SAOV之后,第二类似SAO的滤波器SAOH操作为将SAO应用于Y4,在已经应用SAOV之后,基于Y3(i)和Y4(i)之间的逐样本差值进行分类,从而有水平边缘的去块滤波器(DBFH)的输出图片。与SAOV相同的程序被应用于SAOH,使用Y3(i)-Y4(i)而不是Y1(i)-Y2(i)用于其分类。SAOH和SAOV中的每一个的两个偏移系数、预定阈值T和启用标志在切片级中发信令通知。对于亮度和两个色度分量,独立地应用SAOH和SAOV。
在一些情况中,SAOV和SAOH这二者仅对受相应去块(DBFV或DBFH)影响的图片样本进行操作。因此,与现有的SAO过程不同,Pre-SAO仅处理给定空间区域(图片或传统SAO情况下的CTU)中所有样本的子集,这将每个图片样本的解码器侧平均操作的结果增加保持在低位(根据初步估计,在最坏的情况下,每个样本进行两次或三次比较和两次加法)。Pre-SAO只需要去块滤波器使用的样本,而不需要在解码器处存储额外的样本。
在一些实施例中,双边滤波器(BIF)被实施以进行超越VVC的压缩效率探索。BIF在样本自适应偏移(SAO)环路滤波器阶段执行。双边滤波器(BIF)和SAO二者都使用来自去块的样本作为输入。每个滤波器为每个样本创建偏移,并且这些偏移被加到输入样本,然后在进入ALF之前被截取。
详细地,输出样本IOUT获得为
iOUT=clip3(IC+ΔIBIF+ΔISAO),
其中IC是来自去块的输入样本,ΔIBIF是来自双边滤波器的偏移,并且ΔISAO是来自SAO的偏移。
在一些实施例中,该实施方式为编码器提供了在CTU和切片级别启用或禁用滤波的可能性。编码器通过评估速率-失真优化(RDO)成本做出决定。
在PPS中引入了以下语法元素:
Figure BDA0004203987600000241
表1-2:图片参数集RBSP语法。
等于0的pps_bilateral_filter_enabled_flag指定双边环路滤波器对于涉及PPS的切片被禁用。等于1的pps_bilateral_filter_flag指定对引用PPS的切片启用双边环路滤波器。
bilateral_filter_strength指定在双边变换块滤波过程中使用双边环路滤波器强度值。bilateral_iltet_strength的值应在0到2的范围内,包括端值。
bilateral_filter_qp_offset指定:对于引用PPS的切片,在双边滤波器查找表LUT(x)的推导中使用偏移。bilateral_filter_qp_offset应在-12到+12的范围内,包括端值。QP代表量化参数。
引入以下语法元素:
Figure BDA0004203987600000242
表1-3:切片头部语法。
Figure BDA0004203987600000251
表1-4:编码树单元语法。
语义如下:slice_bilateral_filter_all_ctb_enabled_flag等于1指定启用双边滤波器并应用于当前切片中的所有CTB。当slice_bilateral_filter_all_ctb_enabled_flag不存在时,推断它等于0。
slice_bilateral_filter_enabled_flag等于1指定启用双边滤波器并且可以应用于当前切片的CTB。当slice_bilateral_filter_enabled_flag不存在时,推断它等于slice_bilateral_filter_all_ctb_enabled_flag。
bilateral_filter_ctb_flag[xCtb>>CtbLog2SizeY][yCtb>>CtbLog2SizeY]等于1指定双边滤波器应用于亮度位置(xCtb,yCtb)处的编码树单元的亮度编码树块。bilateral_filter_ctb_flag[cIdx][xCtb>>CtbLog2SizeY][yCtb>>CtbLog2 SizeY]等于0指定不对亮度位置(xCtb,yCtb)处的编码树单元的亮度编码树块应用双边滤波器。当bilateral_filter_ctb_flag不存在时,推断它等于(slice_bilateral_filter_all_ctb_enabled_flag&slice_bilateral_filter_enabled_flag)。
在一些示例中,对于被滤波的CTU,滤波过程如下进行。在样本不可用的图片分界处,双边滤波器使用扩展(样本重复)来填充不可用的样本。对于虚拟边界,行为动作与对SAO是一样的,即不发生滤波。当跨越水平CTU分界时,双边滤波器可以访问与SAO正在访问的相同样本。图5B是描绘根据本公开的一些实施方式的围绕中心样本的样本的命名约定的框图。作为示例,如果中心样本IC位于CTU的顶线,则从CTU上面开始读取INW、IA和INE,就像SAO做的一样,但填充了IAA,因此不需要额外的线缓冲器。中心样本IC周围的样本根据图5B被表示,其中A、B、L和R代表上、下、左和右,并且其中NW、NE、SW、SE代表西北等。同样,AA代表上-上,BB代表下-下等。这种菱形形状不同于另一种使用正方形滤波器支持的方法,不使用IAA、IBB、ILL或IRR
每个周围样本IA、IR等将贡献对应的修改量值
Figure BDA0004203987600000261
Figure BDA0004203987600000262
等。这些值计算方式如下:从右侧样本IR的贡献开始,计算差值为:
ΔIR=引IR-IC|+4)>>3,
其中|·|表示绝对值。对于不是10位的数据,使用ΔIR=(|IR-IC|+2(n-6))>>(n-7)代替,其中针对8位的数据,n=8等。结果值现在被截取,使得其小于16:
sIR=min(15,ΔIR)。
修改量值现在计算为
Figure BDA0004203987600000263
其中LUTROW[]是由qpb=clip(0,25,QP+bilateral_filter_qp_offset-17)的值确定的16个值的阵列:
Figure BDA0004203987600000271
这些值可以使用每个条目六位来存储,产生26*16*6/8=312字节或300字节(如果排除全为零的第一行的话)。修改量值
Figure BDA0004203987600000272
Figure BDA0004203987600000273
以相同的方式从IL、IA和IB计算。对于对角线样本INW、INE、ISE、ISW,以及两步骤之外的样本IAA、IBB、IRR和ILL,计算也遵循等式2和3,但使用的值移1位。以对角线样本ISE为例,
Figure BDA0004203987600000281
并且其它对角线样本和两步骤之外的样本被类似计算。
修改量值被求和在一起
Figure BDA0004203987600000282
在一些示例中,
Figure BDA0004203987600000283
等于针对先前的样本的
Figure BDA0004203987600000284
同样,
Figure BDA0004203987600000285
等于针对上面样本的
Figure BDA0004203987600000286
并且对于对角线和两步骤之外的修改量值也可以找到类似的对称性。这意味着在硬件实现中,计算
Figure BDA0004203987600000287
Figure BDA0004203987600000288
这六个值就足够了,并且其余六个值可以从先前计算的值获得。
msum值现在乘以c=1、2或3,这可以通过以下方式使用单个加法器和逻辑与门来完成:
cv=k1&(msum<<1)+k2&msum
其中&表示逻辑与,并且k1是乘数c的最高有效位,并且k2是最低有效位。要乘以的值是使用最小块尺寸D=min(width,height)获得的,如表1-5中所示:
块类型 D≤4 4<D<16 D≥16
帧内 3 2 1
帧间 2 2 1
表1-5:从块的最小尺寸D=min(width,height)中获取参数c。
最后,计算双边滤波器偏移ΔIBIF。对于全强度滤波,使用以下内容:
ΔIBIF=(cv+16)>>5,
而对于半强度滤波,使用以下内容:
ΔIBIF=(cv+32)>>6。
n位的数据的通用公式是使用
radd=214-n-bilateral_filt er_strength
rshift=15-n-bilateal_filter_strength
ΔIBIF=(cv+radd)>>rshift
其中bilateral_filter_strength可以是0或1,并且被在pps中发信令通知。
在一些实施例中,本文公开的方法和系统通过引入交叉分量信息来提高编码效率或降低样本自适应偏移(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)的方法和系统)可以预期进一步的益处。在一些实施例中,这里的相关性不仅包括交叉分量样本值,而且包括图片/编码信息,诸如来自交叉分量的预测/残差编码模式、变换类型和量化/去块/SAO/ALF参数。
另一个示例是对于SAO,亮度样本偏移仅由亮度样本决定。然而,例如,具有相同带偏移(BO)分类的亮度样本可以按照其同位的和邻近的色度样本被进一步分类,这可能导致更有效的分类。SAO分类可以作为一种捷径来补偿原始图片和重建图片之间的样本差值。因此,期望一种有效的分类。
图6A是图示根据本公开的一些实施方式的应用于色度样本上并使用DBF Y作为输入的CCSAO的系统和过程的框图。亮度去块滤波器(DBF Y)之后的亮度样本用于确定针对SAO Cb和SAO Cr之后的色度Cb和Cr的附加偏移。例如,当前色度样本602首先使用同位亮度样本604和邻近(白色)亮度样本606被分类,并且对应种类的对应CCSAO偏移值被加到当前色度样本值。图6B是图示根据本公开的一些实施方式的应用于亮度和色度样本并使用DBFY/Cb/Cr作为输入的CCSAO的系统和过程的框图。图6C是图示根据本公开的一些实施方式的可以独立工作的CCSAO的系统和过程的框图。图6D是图示根据本公开的一些实施方式的可以在同一编解码器级中以相同或不同偏移递归地(2次或N次)应用或在不同级中重复应用的CCSAO的系统和过程的框图。总之,在一些实施例中,为了对当前亮度样本进行分类,可以使用当前和邻近亮度样本的信息、同位和邻近色度样本(Cb和Cr)的信息。在一些实施例中,为了对当前色度样本(Cb或Cr)进行分类,可以使用同位和邻近的亮度样本、同位和邻近的交叉色度样本以及当前和邻近的色度样本。在一些实施例中,CCSAO可以在(1)DBF Y/Cb/Cr之后,(2)在DBF之前的重建图像Y/Cb/Cr之后,或(3)在SAO Y/Cb/Cr之后,或(4)在ALF Y/Cb/Cr之后被级联。
在一些实施例中,CCSAO还可以与其它编码工具(例如AVS标准中的ESAO,或AV1标准中的CDEF)并行地应用。图6E是图示根据本公开的一些实施方式的与AVS标准中的ESAO并行地应用的CCSAO的系统和过程的框图。
图6F是图示根据本公开的一些实施方式的在SAO之后应用的CCSAO的系统和过程的框图。在一些实施例中,图6F示出CCSAO的位置可以在SAO之后,即VVC标准中交叉分量自适应环路滤波器(CCALF)的位置。图6G是图示根据本公开的一些实施方式的CCSAO的系统和过程可以在没有CCALF的情况下独立工作的框图。在一些实施例中,例如在AVS3标准中,SAOY/Cb/Cr可以被ESAO替代。
图6H是图示根据本公开的一些实施方式的与CCALF并行地应用的CCSAO的系统和过程的框图。在一些实施例中,图6H示出CCSAO可以与CCALF并行地应用。在一些实施例中,在图6H中,CCALF和CCSAO的位置可以互换。在一些实施例中,在图6A至图6H中,或贯穿本公开,SAO Y/Cb/Cr块可以由ESAO Y/Cb/Cr(在AVS3中)或CDEF(在AV1中)替代。注意Y/Cb/Cr在视频编解码领域中也可以表示为Y/U/V。在一些实施例中,如果视频采用RGB格式,则本公开中也可以通过简单地将YUV标记法分别映射到GBR来应用CCSAO。
图6I是图示根据本公开的一些实施方式的与SAO和BIF并行地应用的CCSAO的系统和过程的框图。
图6J是图示根据本公开的一些实施方式的通过替代SAO而与BIF并行地应用的CCSAO的系统和过程的框图。
在一些实施例中,当前色度样本分类重新使用同位的亮度样本的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个种类(Class)。
初始Class=0
在邻近的8个亮度样本(Yi,i=1到8)上循环
如果Y0>Yi Class+=1
否则如果Y0<Yi Class-=1。
在一些实施例中,可以组合上述分类方法。例如,比较分数与SAO BO(32个带分类)组合用于增加多样性,这总共产生17*32个种类。在一些实施例中,Cb和Cr可以使用相同的种类来降低复杂度或节省比特。
图7是图示根据本公开的一些实施方式的使用CCSAO的样本过程的框图。具体来说,图7示出CCSAO的输入可以引入垂直和水平DBF的输入,以简化种类确定,或者增加灵活性。例如,设Y0_DBF_V、Y0_DBF_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)
并将max Y0和max Yi馈送给CCSAO分类。
图8是图示根据本公开的一些实施方式的CCSAO过程与垂直和水平DBF交错的框图。在一些实施例中,图6、7和8中的CCSAO块可以是选择性的。例如,将Y0_DBF_V和Yi_DBF_V用于第一CCSAO_V,第一CCSAO_V应用与图6中相同的样本处理,同时使用DBF_V亮度样本的输入作为CCSAO输入。
在一些实施例中,实施的CCSAO语法在下表2中示出。
Figure BDA0004203987600000321
表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指示CCSAO偏移是从左CTU合并还是从上CTU合并。
在一些实施例中,视频信号还包括第三分量,并且使用CCSAO解码视频信号的方法还包括:接收与第三分量相关联的第二多个偏移;利用第一分量的特性测量获得与第三分量相关联的第二分类类别;根据第二分类类别从第三分量的第二多个偏移中选择第三偏移;以及基于选择的第三偏移修改第三分量。
图11是图示根据本公开的一些实施方式的所有同位的和邻近的(白色)亮度/色度样本可以被馈送到CCSAO分类的样本过程的框图。图6A、6B和图11示出了CCSAO分类的输入。在图11中,当前色度样本为1104,交叉分量同位色度样本为1102,并且同位亮度样本为1106。
在一些实施例中,在下面图12中,分类器示例(C0)使用同位亮度或色度样本值(Y0)(图6B和图6C中是Y4/U4/V4)用于分类。令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示出了当带的数量针对每一个分类示例不同时的三个分类示例。
Figure BDA0004203987600000351
表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 C0(使用Y0位置) 8 8
1 C0(使用Y7位置) 8 8
表4:不同分类器被应用于不同图片。
在一些实施例中,图10B图示了根据本公开的一些实施方式的用于亮度候选的不同形状的一些示例。例如,可以对形状应用约束。在一些情况下,亮度候选的总数必须是2的幂,如图10B(b)(c)(d)中所示。在一些情况下,亮度候选的数量相对于色度样本(在中心)必须水平和垂直对称,如图10B(a)(c)(d)(e)中所示。在一些实施例中,2的幂的约束和对称约束也可以应用于色度候选。图6B和图6C的U/V部分示出对称约束的示例。在一些实施例中,不同的颜色格式可以具有不同的分类器“约束”。例如,420颜色格式使用亮度/色度候选选择(从3x3形状中选择一个候选),如图6B和图6C中所示,但444颜色格式使用图10B(f)用于亮度和色度候选选择,422颜色格式使用图10B(g)用于亮度(2个色度样本共享4个亮度候选),使用图10B(f)用于色度候选。
在一些实施例中,C0位置和C0 band_num可以在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块/样本级别中组合和切换。不同的组合可以是不同的分类器,如下表5中所示。
POC 分类器 C0 band_num 总的种类
0 C0(使用Y0位置) 16 16
1 C0(使用Y7位置) 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个种类(class),如下所示。
初始Class(C1)=0,在邻近的8个亮度样本(Yi,i=1到8)上循环
如果Y0>Yi class+=1
否则如果Y0<Yi class-=1。
在一些实施例中,Cl示例等于以下函数,其中阈值th为0。
ClassIdx=Index2ClassTable(f(C,P1)+f(C,P2)+…+f(C,P8))
如果x-y>th,则f(x,y)=1;如果x-y=th,则f(x,y)=0;如果x-y<th,则f(x,y)=-1
其中Index2ClassTable是查找表(LUT),C是当前或同位样本,并且P1到P8是邻近样本。
在一些实施例中,类似于C4分类器,一个或多个阈值可以被预定义(例如,保存在LUT中)或在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块/样本级别中被发信令通知以帮助对差值进行分类(量化)。
在一些实施例中,变体(C1′)仅对比较分数[0,8]进行计数,并且这产生8个种类。(C1,C1′)是分类器组,并且PH/SH级别标志可以被发信令通知以在C1和C1′之间切换。
初始Class(C1′)=0,在邻近的8个亮度样本(Yi,i=1到8)上循环
如果Y0>Yi class+=1。
在一些实施例中,变体(C1s)选择性地使用M个邻近样本中的N个邻近样本来对比较分数进行计数。可以在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块/样本级别发信令通知M位的位掩码,以指示选择哪些邻近样本来对比较分数进行计数。使用图6B作为亮度分类器的示例:8个邻近亮度样本是候选,并且在PH发信令通知8位的位掩码(01111110),指示选择了Y1到Y6这6个样本,所以比较分数在[-6,6]中,这产生13个偏移。选择性分类器Cis为编码器提供了更多选择,以在偏移信令开销和分类粒度之间进行权衡。
与C1s类似,变体(C1′s)仅对比较分数[0,+N]进行计数,先前的位掩码01111110示例给出了[0,6]中的比较分数,这产生了7个偏移。
在一些实施例中,组合不同的分类器以产生通用分类器。例如,对于不同的图片(不同的POC值),应用不同的分类器,如下表6-1中所示。
POC 分类器 C0 band_num 总的种类
0 组合C0和C1 16 16*17
1 组合C0和C1’ 16 16*9
2 组合C0和C1 7 7*17
表6-1:不同的通用分类器应用于不同的图片。
在一些实施例中,另一个分类器示例(C3)使用位掩码用于分类,如表6-2中所示。10位的位掩码在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块/样本级别中发信令通知以指示分类器。例如,位掩码1111000000表示对于给定的10位亮度样本值,只有最高有效位(MSB):4位用于分类,并且总共产生16个种类。另一个示例位掩码1001000001表示仅3位用于分类,并且总共产生8个种类。
在一些实施例中,位掩码长度(N)可以在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块/样本级别中固定或切换。例如,对于10位的序列,4位的位掩码1110在图片中在PH中发信令通知,并且MSB3位b9、b8、b7用于分类。另一个示例是LSB上的4位的位掩码0011,并且b0、b1用于分类。位掩码分类器可以应用于亮度或色度分类。位掩码N是使用MSB还是LSB可以在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块/样本级别中固定或切换。
在一些实施例中,亮度位置和C3位掩码可以在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块/样本级别中组合和切换。不同的组合可以是不同的分类器。
在一些实施例中,可以应用位掩码限制的“1的最大数量”来限制偏移的对应数量。例如,在SPS中将位掩码的“1的最大数量”限制为4,并且这将在序列中产生最大偏移为16。不同POC中的位掩码可以不同,但“1的最大数量”不应超过4(总的种类不应超过16)。在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块/样本级别中,“1的最大数量”值可以发信令通知并且切换。
POC 分类器 C310位的位掩码 总的种类
0 C3(使用Y0位置) 111100 0000 16
亮度样本值 种类索引
000000 1111 0(0000)
101011 0011 9(1010)
111100 1001 15(1111)
POC 分类器 C3 10位的位掩码 总的种类
1 C3(使用Y4位置) 10 0100 0001 8
亮度样本值 种类索引
0000001111 1(001)
1010110011 5(101)
1111001001 7(111)
表6-2:分类器示例使用位掩码进行分类(位掩码位置有下划线)。
在一些实施例中,如图11中所示,其它交叉分量色度样本(例如,色度样本1102及其邻近样本)也可以被馈送到例如针对当前色度样本1104的CCSAO分类中。例如,Cr色度样本可以被馈送到CCSAO Cb分类中。Cb色度样本可以馈送到CCSAO Cr分类中。交叉分量色度样本的分类器可以与亮度交叉分量分类器相同,或者可以具有其自己的分类器,如本公开中所描述的。可以将这两个分类器组合以形成联合分类器来对当前色度样本进行分类。例如,组合了交叉分量亮度和色度样本的联合分类器总共产生16个种类,如下表6-3中所示。
POC 分类器 种类 总的种类
0 组合
C3(使用Y4位置) 位掩码:1001000001 8
C0(使用交叉色度同位位置) C0 band_num:2 2
16
表6-3:使用组合交叉分量亮度和色度样本的联合分类器的分类器示例(位掩码位置有下划线)。
所有上述分类器(C0、C1、C 1′、C2、C3)都可以组合。例如,见下表6-4。
POC 分类器 总的种类
0 组合C0、C1和C2 C0 band_num:4 C2 band_num:4 4*17*4
1 组合C0、C1′和C2 C0 band_num:6 C2 band_num:4 6*9*4
2 组合C1和C3 C31的数量:4 16*17
表6-4:组合不同分类器。
在一些实施例中,分类器示例(C2)使用同位和邻近亮度样本的差值(Yn)。图12(c)示出Yn的示例,当位深度为10时,Yn的动态范围为[-1024,1023]。令C2 band_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、C 1、C 1′、C2)被组合。例如,对于不同的图片(不同的POC),应用不同的分类器,如下表8-1中所示。
POC 分类器 C0band_num C2band_num 总的种类
0 组合C0、C1和C2 4 4 4*17*4
1 组合C0、C1′和C2 6 4 6*9*4
表8-1:不同通用分类器应用于不同图片。
在一些实施例中,分类器示例(C4)使用CCSAO输入值和待补偿样本值的差值进行分类,如下表8-2中所示。例如,如果在ALF阶段中应用CCSAO,则使用当前分量pre-ALF和post-ALF样本值的差值进行分类。一个或多个阈值可以被预定义(例如,被保存在查找表(LUT)中)或在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块/样本级别中被发信令通知,以帮助对所述差值进行分类(量化)。C4分类器可以与C0 Y/U/V bandNum组合以形成联合分类器(如表8-2中所示的POC1示例)。
Figure BDA0004203987600000411
表8-2:分类器示例使用CCSAO输入值与待补偿样本值的差值进行分类。
在一些实施例中,分类器示例(C5)使用“编码信息”来帮助子块分类,因为不同编码模式可能在重建图像中引入不同的失真统计。CCSAO样本按照其样本先前的编码信息被分类,并且编码信息的组合可以形成分类器,例如,如下表8-3中所示。以下图30示出了C5的编码信息的不同阶段的另一个示例。
Figure BDA0004203987600000421
表8-3CCSAO样本按照其样本先前编码信息被分类,并且编码信息的组合可以形成分类器。
在一些实施例中,分类器示例(C6)使用YUV颜色变换值进行分类。例如,为了对当前Y分量进行分类,选择1/1/1同位或邻近Y/U/V样本进行向RGB的颜色变换,并使用C3bandNum来量化R值作为当前Y分量分类器。
在一些实施例中,仅使用当前分量信息进行当前分量分类的其它分类器示例可以被用作交叉分量分类。例如,如图5A和表1中所示,亮度样本信息和eo-class被用于导出EdgeIdx,并对当前色度样本进行分类。也可以用作交叉分量分类器的其它“非交叉分量”分类器包括边缘方向、像素强度、像素变化、像素方差、像素拉普拉斯算子求和、索贝尔(sobel)算子、罗盘(compass)算子、高通滤波值,低通滤波值等。
在一些实施例中,多个分类器被用在相同的POC中。当前帧被按照几个区域划分,并且每个区域使用相同的分类器。例如,在POC0中使用了3个不同的分类器,并且使用哪个分类器(0、1或2)在CTU级别发信令通知,如下面的表9中所示。
POC 分类器 C0 band_num 区域
0 C0(使用Y0位置) 16 0
0 C0(使用Y0位置) 8 1
0 C0(使用Y1位置) 8 2
表9:不同的通用分类器被应用于同一图片中的不同区域。
在一些实施例中,复数分类器(复数分类器也可以称为替代偏移集合)的最大数量可以是固定的或在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块/样本级别中发信令通知。在一个示例中,复数分类器的固定(预定义)最大数量为4。在这种情况下,在POC0中使用4个不同的分类器,并且使用哪个分类器(0、1或2)在CTU级别中发信令通知。截断一元(TU)代码可用于指示用于每个亮度或色度CTB的分类器。例如,如下表10所示,当TU代码为0时:不应用CCSAO;当TU代码为10时:应用集合0;当TU代码为110时,应用集合1;当TU代码为1110时:应用集合2;当TU代码为1111时:应用集合3。定长码、golomb-rice码和exponential-golomb码也可以用来指示CTB的分类器(偏移集合索引)。在POC1中使用3种不同的分类器。
POC 分类器 C0 band_num 区域 TU代码
0 C0(使用Y3位置) 6 0 10
0 C0(使用Y3位置) 7 1 110
0 C0(使用Y1位置) 3 2 1110
0 C0(使用Y6位置) 6 3 1111
1 C0(使用Y0位置) 16 0 10
1 C0(使用Y0位置) 8 1 110
1 C0(使用Y1位置) 8 2 1110
表10:截断一元(TU)代码用于指示用于每个色度CTB的分类器。
Cb和Cr CTB偏移集合索引的示例针对1280x720序列POC0给出(如果CTU尺寸为128x128,则帧中CTU数量为10x6)。POC0 Cb使用4个偏移集合,并且Cr使用1个偏移集合。如下表11-1中所示,当偏移集合索引为0时:不应用CCSAO;当偏移集合索引为1时:应用集合0;当偏移集合索引为2时:应用集合1;当偏移集合索引为3时:应用集合2;当偏移集合索引为4时:应用集合3。类型(Type)表示所选同位亮度样本(Yi)的位置。不同的偏移集合可以有不同的类型、band num和对应偏移。
Figure BDA0004203987600000441
表11-1:为1280x720序列POC0给出了Cb和Cr CTB偏移集合索引的示例(如果CTU尺寸为128x128,则帧中CTU的数量为10x6)。
在一些实施例中,在下面的表11-2中列出了联合使用同位/当前和邻近Y/U/V样本进行分类的示例(每个Y/U/V分量有3分量联合bandNum分类)。在POC0中,{2,4,1}偏移集合分别用于{Y,U,V}。每个偏移集合都可以在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块/样本级别中自适应切换。不同偏移集合可以具有不同分类器。例如,如图6B和6C中所示的候选位置(candPos),为了对当前Y4亮度样本进行分类,Y set0选择{当前Y4,同位U4,同位V4}作为候选,分别具有不同的bandNum{Y,U,V}={16,1,2}。以{candY,candU,candV}作为选择的{Y,U,V}候选的样本值,总的种类的数量为32,并且种类索引导出可示出为:
bandY=(candY*bandNumY)>>BitDepth;
bandU=(candU*bandNumU)>>BitDepth;
bandV=(candV*bandNumV)>>BitDepth;
clas sIdx=bandY*bandNumU*bandNumV
+bandU*bandNumV
+bandV。
在一些实施例中,联合分类器的classIdx导出可以表示为“或-移位(or-shift)”形式以简化导出过程。例如,max bandNum={16,4,4}
classldx=(bandY<<4)(bandU<<2)|bandV。
另一个示例是在POC1中的分量V set1分类。在该示例中,使用candPos={邻近Y8,邻近U3,邻近V0}和bandNum={4,1,2},这会产生8个种类。
Figure BDA0004203987600000451
表11-2:联合使用同位/当前和邻近Y/U/V样本进行分类的示例。
在一些实施例中,列出了联合使用同位和邻近Y/U/V样本用于当前Y/U/V样本分类的示例(每个Y/U/V分量有3个分量联合edgeNum(Cls)和bandNum分类),例如,如下表11-3中所示。edge CandPos是用于C1s分类器的中心位置,edge bitMask是C1 s邻近样本激活指示符,并且edgeNum是C1s种类的对应数量。在此示例中,C1s仅应用于Y分类器(因此edgeNum等于edgeNumY),其中,edge candPos始终为Y4(当前/同位样本位置)。然而,C1s可以应用于以边缘candPos作为邻近样本位置的Y/U/V分类器。
diff表示Y C1s的比较分数,classIdx导出可以是
bandY=(candY*bandNumY)>>BitDepth;
bandU=(candU*bandNumU)>>BitDepth;
bandV=(candV*bandNumV)>>BitDepth;
edgeIdx=diff+(edgeNum>>1),
bandIdx=bandY*bandNumU*bandNumV
+bandU*bandNumV
+bandV;
classldx=band ldx*ed牡eNum+edgeldx,
Figure BDA0004203987600000461
表11-3(第1部分):联合使用同位/当前和邻近Y/U/V样本进行分类的示例
Figure BDA0004203987600000471
表11-3(第2部分):联合使用同位/当前和邻近Y/U/V样本进行分类的示例
Figure BDA0004203987600000472
表11-3(第3部分):联合使用同位/当前和邻近Y/U/V样本进行分类的示例。
在一些实施例中,最大band_num(bandNumY、bandNumU或bandNumV)可以是固定的或在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块/样本级别中发信令通知。例如,在解码器中固定最大band_num=16,并且对于每个帧,发信令通知4比特以指示帧中的C0 band_num。下面的表12中列出了一些其它最大band_num示例。
Band_num_min Band_num_max Band_num位
1 1 0
1 2 1
1 4 2
1 8 3
1 16 4
1 32 5
1 64 6
1 128 7
1 256 8
表12:最大band_num和band_num位示例。
在一些实施例中,每个集合(或添加的所有集合)的种类或偏移的最大数量(联合使用多个分类器的组合,例如,C1s edgeNum*C 1bandNumY*bandNumU*bandNumV)可以是固定的或在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块/样本级别中发信令通知。例如,对于所有添加的集合,max是固定的class_num=256*4,并且可以使用编码器一致性检查或解码器规范性检查来检查约束。
在一些实施例中,可以对C0分类应用限制,例如,将band_num(bandNumY、bandNumU或bandNumV)限制为仅为2的幂的值。替代显式地发信令通知band_num,改为发信令通知语法band_num_shift。解码器可以使用移位操作来避免乘法。不同的band_num_shift可以用于不同分量。
Class(C0)=(Y0>>band_num_shift)>>nit_depth。
另一个操作示例是将舍入纳入考虑以减少误差。
Class(C0)=((Y0+(1<<(band_num_shift-1)))>>band_num_shift)>>bit_depth。
例如,如果band_num_max(Y、U或V)为16,则可能的band_num_shift候选为0、1、2、3、4,对应于band_num=1、2、4、8、16,如在表13中所示。
POC 分类器 C0 band_num_shift C0 band_num 总的种类
0 C0(使用Y0位置) 4 16 16
1 C0(使用Y7位置) 3 8 8
Band_num_max 有效的band_num Band_num_shift候选
1 1 0
2 1,2 0,1
4 1,2,4 0,1,2
8 1,2,4,8 0,1,2,3
16 1,2,4,8,16 0,1,2,3,4
32 1,2,4,8,16,32 0,1,2,3,4,5
64 1,2,4,8,16,32,64 0,1,2,3,4,5,6
128 1,2,4,8,16,32,64,128 0,1,2,3,4,5,6,7
256 1,2,4,8,16,32,64,128,256 0,1,2,3,4,5,6,7,8
表13:Band_num和对应的band_num_shift候选。
在一些实施例中,应用于Cb和Cr的分类器是不同的。所有种类的Cb和Cr偏移都可以单独发信令通知。例如,发信令通知的不同偏移被应用于不同色度分量,如下表14中所示。
POC 分量 分类器 C0 band num 总的种类 发信令通知的偏移
0 Cb C0 16 16 16
0 Cr C0 5 5 5
表14:所有种类的Cb和Cr偏移都可以单独发信令通知。
在一些实施例中,最大偏移值是固定的或在序列参数集(SPS)/适配参数集(APS)/图片参数集(PPS)/图片头部(PH)/切片头部(SH)/区域/CTU/CU/子块/样本级别中发信令通知。例如,最大偏移在[-15,15]之间。不同分量可以具有不同最大偏移值。
在一些实施例中,偏移信令可以使用差分脉冲编码调制(DPCM)。例如,偏移{3,3,2,1,-1}可以作为{3,0,-1,-1,-2}发信令通知。
在一些实施例中,偏移可以存储在APS或存储器缓冲器中以供下一图片/切片重新使用。可以发信令通知索引以指示哪些存储的先前帧偏移用于当前图片。
在一些实施例中,Cb和Cr的分类器是相同的。所有种类的Cb和Cr偏移可以联合发信令通知,例如,如下表15中所示。
POC 分量 分类器 C0 band_num 总的种类 发信令通知的偏移
0 Cb和Cr C0 8 8 8
表15:所有种类的Cb和Cr偏移可以联合发信令通知。
在一些实施例中,Cb和Cr的分类器可以是相同的。所有种类的Cb和Cr偏移可以与符号标志差异一起联合发信令通知,例如,如下表16中所示。根据表16,当Cb偏移为(3,3,2,-1)时,导出的Cr偏移为(-3,-3,-2,1)。
Figure BDA0004203987600000501
表16:所有种类的Cb和Cr偏移可以与符号标志差异一起联合发信令通知。
在一些实施例中,可以针对每个种类发信令通知符号标志。例如,如下表17中所示。根据表17,当Cb偏移为(3,3,2,-1)时,根据相应的带符号标志导出的Cr偏移为(-3,3,2,1)。
Figure BDA0004203987600000502
表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)。
Figure BDA0004203987600000511
表18:所有种类的Cb和Cr偏移可以与权重差异一起联合发信令通知。
在一些实施例中,可以发信令通知每个种类的权重。例如,如下表19中所示。根据表19,当Cb偏移为(3,3,2,-1)时,根据相应的带符号标志导出的Cr偏移为(-6,12,0,-1)。
Figure BDA0004203987600000512
表19:所有种类的Cb和Cr偏移可以与为每个种类发信令通知的权重一起联合发信令通知。
在一些实施例中,如果在相同POC中使用多个分类器,则单独或联合地发信令通知不同的偏移集合。
在一些实施例中,可以存储先前解码的偏移以供未来帧使用。可以发信令通知索引以指示哪个先前解码的偏移集合用于当前帧,以减少偏移信令开销。例如,POC2可以重新使用POC0偏移,并发信令通知偏移集合idx=0,如下表20中所示。
Figure BDA0004203987600000521
表20:可以发信令通知索引以指示哪个先前解码的偏移集合用于当前帧。
在一些实施例中,Cb和Cr的重新使用偏移集合idx可以不同,例如,如下表21中所示。
Figure BDA0004203987600000522
表21:可以发信令通知索引以指示哪个先前解码的偏移集合用于当前帧,并且索引对于Cb和Cr分量可以不同。
在一些实施例中,偏移信令可以使用包括开始(start)和长度(length)的附加语法,以减少信令开销。例如,当band_num=256时,仅发信令通知band_idx=37~44的偏移。在下表22-1中的示例中,开始(start)和长度(1ength)的语法都是8位的固定长度编码,应该与band_num位匹配。
Figure BDA0004203987600000531
表22-1:偏移信令使用包括开始和长度的附加语法。
在一些实施例中,如果将CCSAO应用于所有YUV 3个分量,则同位和邻近YUV样本可以被联合使用以进行分类,并且所有上述用于Cb/Cr的偏移信令方法都可以扩展到Y/Cb/Cr。在一些实施例中,不同分量偏移集合可以被单独存储和使用(每个分量具有其自己的存储集合)或联合存储和使用(每个分量共享/重新使用相同的存储)。下
表22-2中示出了单独集合示例。
Figure BDA0004203987600000532
Figure BDA0004203987600000541
表22-2:示出不同分量偏移集合可以单独存储和使用(每个分量具有其自己的存储集合)或联合存储和使用(每个分量共享/重新使用相同的存储)的示例。
在一些实施例中,如果序列位深度高于10(或特定位深度),则可以在发信令通知之前量化所述偏移。在解码器侧,解码的偏移在应用其之前被去量化,如下表23-1中所示。例如,对于12位的序列,解码的偏移按照2被向左移位(去量化)。
发信令通知的偏移 去量化和应用的偏移
0 0
1 4
2 8
3 12
14 56
15 60
表23-1:解码的偏移在应用其前被去量化。
在一些实施例中,偏移可以被计算为CcSaoOffsetVal=(1-2*ccsao_offset_sign_flag)*(ccsao_offset_abs<<(BitDepth-Min(10,BitDepth)))。
在一些实施例中,本文进一步引入滤波器强度概念。例如,分类器偏移可以在被应用于样本之前进一步加权。可以在2的幂值表中选择权重(w)。例如,+-1/4、+-1/2、0、+-1、+-2、+-4……等,其中|w|仅包括2的幂的值。权重索引可以在SPS/APS/PPS/PH/SH/区域(集合)/CTU/CU/子块/样本级别上发信令通知。量化的偏移信令可以作为该权重应用的子集。如果递归的CCSAO如图6D中所示那样被应用,则可以在第一阶段和第二阶段之间应用类似的权重索引机制。
在一些示例中,对不同分类器的加权:可以将复数分类器的偏移与权重组合一起应用于相同样本。可以如上所述那样发信令通知类似的权重索引机制。例如,
offset_final=w*offset_1+(1-w)*offset_2,或
offset_final=w1*offset_1+w2*offset_2+…。
在一些实施例中,代替在PH/SH中直接发信令通知CCSAO参数,先前使用的参数/偏移可以存储在自适应参数集(APS)或存储器缓冲器中以供下一图片/切片重新使用。索引可以在PH/SH中发信令通知,以指示哪些存储的先前帧偏移用于当前图片/切片。可以创建新APS ID来维持CCSAO历史偏移。下表示出了使用图6I、candPos和bandNum{Y,U,V}={16,4,4}的一个示例。在一些示例中,candPos、bandNum、偏移信令方法可以是固定长度代码(FLC)或其它方法,例如截断一元(TU)代码、具有阶数k的exponential-golomb代码(EGk)、带符号的EG0(SVLC)、或无符号EG0(UVLC)。在这种情况下,sao_cc_y_class_num(或cb、cr)等于sao_cc_y_band_num_y*sao_cc_y_band_num_u*sao_cc_y_band_num_v(或cb、cr)。ph_sao_cc_y_aps_id是这个图片/切片中使用的参数索引。注意cb和cr分量可以遵循相同的信令逻辑。
Figure BDA0004203987600000561
Figure BDA0004203987600000571
Figure BDA0004203987600000581
表23-2:自适应参数集(APS)语法。
aps_adaptation_parameter_set_id提供APS的标识符以供其它语法元素参考。当aps_params_type等于CCSAO_APS时,aps_adaptation_parameter_set_id的值应在0到7的范围内,包括端点(例如)。
ph_sao_cc_y_aps_id指定当前图片中切片的Y颜色分量所引用的CC SAO AP S的aps_adaptation_parameter_set_id。当存在ph_sao_cc_y_aps_id时,以下适用:aps_params_type等于CC SAO_AP S且aps_adaptation_parameter_set_id等于ph_sao_cc_y_aps_id的AP SNAL单元的sao_cc_y_set_signal_flag的值应等于1;aps_params_type等于CC SAO_AP S且aps_adaptation_parameter_set_id等于ph_sao_cc_y_aps_id的APS网络抽象层(NAL)单元的TemporalId应小于或等于当前图片的TemporalId。
在一些实施例中,样本处理在下文描述。令R(x,y)为CCSAO之前的输入亮度或色度样本值,R′(x,y)为CCSAO之后的输出亮度或色度样本值:
Offset=ccsao_offset[R(x,y)的class_index]
R’(x,y)=Clip3(0,(1<<bit_depth)-1,R(x,y)+Offset)。
根据以上等式,使用当前图片和/或当前偏移集合idx的指示的分类器对每个亮度或色度样本值R(x,y)进行分类。导出的种类索引的对应偏移被加到每个亮度或色度样本值R(x,y)。将截取函数Clip3应用于(R(x,y)+Offset(偏移)),以使输出亮度或色度样本值R′(x,y)在位深度动态范围(例如范围0到(1<<bit_depth)-1)内。
图13是图示根据本公开的一些实施方式的CCSAO与具有不同截取组合的其它环路滤波器一起应用的框图。
在一些实施例中,当CCSAO与其它环路滤波器一起操作时,截取操作可以是
(1)相加后截取。以下等式示出了以下情况的示例:(a)CCSAO与SAO和BIF一起操作,或(b)CCSAO取代SAO但仍与BIF一起操作。
(a)IOUT=Clip 1(IC+ΔISAO+ΔIBIF++ΔICCSAO)
(b)IOUT=clip 1(IC+ΔlCCSAO+ΔIBIF)
(2)相加前截取,与BIF一起操作。在一些实施例中,可以切换截取次序。
(a)IOUT=clip1(IC+ΔISAO)
I′OUT=clip1(IOUT+ΔIBIF)
I″OUT=clip1(I″OUT+ΔICCSAO)
(b)IOUT=clip1(IC+ΔIBIF)
I′OUT=clip1(I′OUT+ΔICCSAO)
(3)部分相加后截取截取
Figure BDA0004203987600000601
在一些实施例中,不同的截取组合在校正精度和硬件临时缓冲器大小(寄存器或SRAM比特宽度)之间给出不同的权衡。
图13(a)示出SAO/BIF偏移截取。图13(b)示出CCSAO的一个附加位深度截取。图13(c)示出在将SAO/BIF/CCSAO偏移加到输入样本之后的联合截取。更具体地,例如,图13(a)示出BIF与SAO交互时的当前BIF设计。来自SAO和BIF的偏移被加到输入样本,然后执行一个位深度截取。然而,当在SAO阶段也联合CCSAO时,可以选择两种可能的截取设计:(1)为CCSAO添加一个附加位深度截取,以及(2)在将SAO/BIF/CCSAO偏移加到输入样本之后执行联合截取的一种协调设计,如图13(b)和图13(c)中所示。在一些实施例中,上述截取设计仅在亮度样本方面不同,因为BIF仅应用于它们。
在一些实施例中,边界处理描述如下。如果用于分类的任何同位和邻近亮度(色度)样本在当前图片之外,则CCSAO不应用于当前色度(亮度)样本。图14A是图示根据本公开的一些实施方式的如果用于分类的同位和邻近亮度(色度)样本中的任何一个在当前图片之外则CCSAO不应用于当前色度(亮度)样本的框图。例如,在图14A(a)中,如果使用分类器,则CCSAO不应用于当前图片的左1列色度分量。例如,如果使用C1′,则CCSAO不应用于当前图片的左1列和顶1行色度分量,如图14A(b)中所示。
图14B是图示根据本公开的一些实施方式的如果用于分类的同位和邻近亮度或色度样本中的任何一个在当前图片之外则将CCSAO应用于当前亮度或色度样本的框图。在一些实施例中,一种变化是,如果用于分类的同位和邻近亮度或色度样本中的任何一个在当前图片之外,则重复使用缺省样本,如图14B(a)中所示,或者将缺省样本进行镜像填充以创建用于分类的样本,如图14B(b)中所示,并且CCSAO可以应用于当前亮度或色度样本。在一些实施例中,如果用于分类的同位和邻近亮度(色度)样本中的任何一个在当前子图片/切片/瓦片/补丁/CTU/360虚拟边界之外,则本文公开的禁用/重复/镜像图片边界处理方法也可以应用于所述子图片/切片/瓦片/补丁/CTU/360虚拟边界。
例如,图片被划分成一个或多个瓦片行和一个或多个瓦片列。瓦片是覆盖图片的矩形区域的一系列CTU。
切片由整数个完整瓦片或图片的瓦片内的整数个连续完整CTU行组成。
子图片包含共同覆盖图片的矩形区域的一个或多个切片。
在一些实施例中,360度视频是在球体上捕获的并且本质上没有“边界”,在投影域中超出参考图片边界的参考样本总是可以在球域中从邻近样本获得。对于由多个面组成的投影格式,无论使用何种紧凑的拼帧布置,拼帧图片中的两个或更多个邻近面之间会出现不连续性。在VVC中,引入了垂直和/或水平虚拟边界,跨这些边界禁用环路内滤波操作,并且这些边界的位置在SPS或图片头部中发信令通知。与使用两个瓦片(连续面的每个集合一个)相比,360虚拟边界的使用更加灵活,因为它不需要面尺寸是CTU尺寸的倍数。在一些实施例中,垂直360虚拟边界的最大数量为3,并且水平360虚拟边界的最大数量也为3。在一些实施例中,两个虚拟边界之间的距离大于或等于CTU尺寸,并且虚拟边界粒度是8个亮度样本,例如8x8样本网格。
图14C是图示根据本公开的一些实施方式的如果用于分类的对应选择的同位或邻近亮度样本在由虚拟边界定义的虚拟空间之外则CCSAO不应用于当前色度样本的框图。在一些实施例中,虚拟边界(VB)是分隔图片帧内的空间的虚拟线。在一些实施例中,如果在当前帧中应用虚拟边界(VB),则CCSAO不应用在已经选择了由虚拟边界定义的虚拟空间之外的对应亮度位置的色度样本上。图14C示出具有9个亮度位置候选的C0分类器的具有虚拟边界的示例。对于每个CTU,CCSAO不应用于这样的色度样本:针对该色度样本,对应所选择的亮度位置在虚拟边界包围的虚拟空间之外。例如,在图14C(a)中,当所选择的Y7亮度样本位置位于水平虚拟边界1406的另一侧上时,CCSAO不应用于色度样本1402,水平虚拟边界1406位于距帧的底部侧4个像素线处。例如,在图14C(b)中,当所选择的Y5亮度样本位置位于垂直虚拟边界1408的另一侧上时,CCSAO不应用于色度样本1404,垂直虚拟边界1408位于距帧的右侧y个像素线处。
图15根据本公开的一些实施方式示出可以对位于虚拟边界之外的亮度样本应用重复或镜像填充。图15(a)示出了重复填充的示例。如果选择原始Y7作为位于VB 1502底部侧上的分类器,则使用Y4亮度样本值进行分类(复制到Y7位置),而不是使用原始Y7亮度样本值。图15(b)示出了镜像填充的示例。如果选择Y7作为位于VB 1504底部侧上的分类器,则使用与Y7值相对于Y0亮度样本对称的Y1亮度样本值进行分类,而不是使用原始Y7亮度样本值。该填充方法给予更多的色度样本应用CCSAO的可能性,因此可以实现更多的编码益处。
在一些实施例中,可以应用限制以减少CCSAO所需的线缓冲器,并简化边界处理条件检查。图16根据本公开的一些实施方式示出了如果所有9个同位邻近亮度样本都用于分类则可能需要附加的1个亮度线缓冲器,即当前VB 1602之上的线-5的整个线亮度样本。图10B(a)示出仅使用6个亮度候选用于分类的示例,其减少了线缓冲器且不需要图14A和图14B中的任何附加边界检查。
在一些实施例中,使用亮度样本进行CCSAO分类可能会增加亮度线缓冲器,并且因此会增加解码器硬件实现成本。图17示出根据本公开的一些实施方式的AVS中的图示,跨VB1702的9个亮度候选CCSAO可能增加2个附加的亮度线缓冲器。对于虚拟边界(VB)1702以上的亮度和色度样本,在当前CTU行处理DBF/SAO/ALF。对于VB 1702以下的亮度和色度样本,在下一个CTU行处理DBF/SAO/ALF。在AVS解码器硬件设计中,亮度线-4到-1预DBF样本、线-5预SAO样本、和色度线-3到-1预DBF样本、线-4预SAO样本被存储作为线缓冲器用于下一CTU行DBF/SAO/ALF处理。在处理下一CTU行时,不在所述线缓冲器中的亮度和色度样本不可用。然而,例如,在色度线-3(b)位置处,色度样本在下一CTU行被处理,但CCSAO需要预SAO亮度样本线-7、-6和-5用于分类。预SAO亮度样本线-7、-6不在线缓冲器中,因此它们不可用。并且将预SAO亮度样本线-7和-6加到线缓冲器将增加解码器硬件实现成本。在一些示例中,亮度VB(线-4)和色度VB(线-3)可以不同(未对齐)。
类似于图17,图18A示出根据本公开的一些实施方式的VVC中的图示,跨VB 1802的9个亮度候选CCSAO可能增加1个附加的亮度线缓冲器。VB在不同的标准中可能不同。在VVC中,亮度VB是线-4,色度VB是线-2,所以9个候选CCSAO可能会增加1个亮度线缓冲器。
在一些实施例中,在第一解决方案中,如果色度样本的任何亮度候选跨越VB(在当前色度样本VB之外),则针对该色度样本禁用CCSAO。图19A-19C根据本公开的一些实施方式示出:在AVS和VVC中,如果色度样本的任何亮度候选跨越VB 1902(在当前色度样本VB之外),则针对该色度样本禁用CCSAO。图14C还示出了此实施方式的一些示例。
在一些实施例中,在第二解决方案中,对于“跨VB”亮度候选,从靠近VB的另一侧并在VB的另一侧上的亮度线(例如,亮度线-4)开始针对CCSAO使用重复填充。在一些实施例中,针对“跨VB”色度候选实施从VB以下的亮度最近邻居开始的重复填充。图20A-20C根据本公开的一些实施方式示出:在AVS和VVC中,如果色度样本的任何亮度候选跨越VB 2002(在当前色度样本VB之外),则对色度样本使用重复填充来启用CCSAO。图14C(a)也示出此实施方式的一些示例。
在一些实施例中,在第三解决方案中,针对“跨VB”亮度候选,从亮度VB下面开始针对CCSAO使用镜像填充。图21A-21C根据本公开的一些实施方式示出:在AVS和VVC中,如果色度样本的任何亮度候选跨越VB 2102(在当前色度样本VB之外),则对色度样本使用镜像填充来启用CCSAO。图14C(b)和14B(b)也示出了此实施方式的一些示例。在一些实施例中,在第四解决方案中,使用“双侧对称填充”来应用CCSAO。图22A-22B根据本公开的一些实施方式的示出:对不同CCSAO形状的一些示例(例如,9个亮度候选(图22A)和8个亮度候选(图22B))使用双侧对称填充来启用CCSAO。对于具有色度样本的同位居中亮度样本的亮度样本集合,如果亮度样本集合的一侧在VB 2202之外,则对亮度样本集合的两侧应用双侧对称填充。例如,在图22A中,亮度样本Y0、Y1和Y2在VB 2202之外,因此Y0、Y1、Y2和Y6、Y7、Y8二者均使用Y3、Y4、Y5进行填充。例如,在图22B中,亮度样本Y0在VB 2202之外,因此使用Y2填充Y0,并且使用Y5填充Y7。
图18B示出了根据本公开的一些实施方式的图示,当同位或邻近色度样本被使用来对当前亮度样本进行分类时,所选择的色度候选可能跨越VB并且需要附加的色度线缓冲器。可以应用与上述类似的解决方案1至4来处理该问题。
解决方案1是当亮度样本的任何色度候选可能跨越VB时,针对亮度样本禁用CCSAO。
解决方案2是针对“跨VB”色度候选从VB以下的色度最近邻居开始使用重复填充。
解决方案3是针对“跨VB”色度候选从色度VB下面开始使用镜像填充。
解决方案4是使用“双侧对称填充”。对于以CCSAO同位色度样本为中心的候选集合,如果候选集合的一侧在VB之外,则对两侧都应用双侧对称填充。
填充方法给予更多的亮度或色度样本应用CCSAO的可能性,因此可以实现更多的编码益处。
在一些实施例中,在底部图片(或切片、瓦片、砖块)边界CTU行处,VB以下的样本在当前CTU行被处理,因此上述特殊处理(解决方案1、2、3、4)不应用于底部图片(或切片、瓦片、砖块)边界CTU行。例如,1920x1080的帧按照128x128的CTU划分。一个帧包含15x9个CTU(取整)。底部CTU行是第15个CTU行。解码过程是逐个CTU行的,并且对应每个CTU行,是逐个CTU的。需要沿着当前和下一CTU行之间的水平CTU边界应用去块。针对每个CTU行应用CTBVB,因为在一个CTU内部,在底部4/2亮度/色度线处,DBF样本(VVC情况)在下一CTU行处被处理,并且不可用于当前CTU行处的CCSAO。然而,在图片帧的底部CTU行处,底部4/2亮度/色度线DBF样本在当前CTU行处可用,因为没有剩下下一个CTU行,并且它们在当前CTU行处被进行DBF处理。
在一些实施例中,在图13到22中显示的VB可以用子图片/切片/瓦片/补丁/CTU/360虚拟边界的边界替代。在一些实施例中,图13到22中的色度样本和亮度样本的位置可以切换。在一些实施例中,图13到22中的色度样本和亮度样本的位置可以用第一色度样本和第二色度样本的位置替代。在一些实施例中,CTU内部的ALF VB通常可以是水平的。在一些实施例中,子图片/切片/瓦片/补丁/CTU/360虚拟边界的边界可以是水平的或垂直的。
在一些实施例中,可以应用限制来减少CCSAO所需的线缓冲器,并且简化如图16中所解释的边界处理条件检查。图23示出了根据本公开的一些实施方式的使用有限数量的亮度候选进行分类的限制。图23(a)示出了仅使用6个亮度候选进行分类的限制。图23(b)示出了仅使用4个亮度候选进行分类的限制。
在一些实施例中,实施应用区域。CCSAO应用区域单元可以是基于CTB的。即,开/关控制、CCSAO参数(偏移集合索引、用于分类的偏移、亮度候选位置、band_num、位掩码等)在一个CTB中是相同的。
在一些实施例中,应用区域可以不与CTB边界对齐。例如,应用区域未与色度CTB边界对齐,而是发生了移位。仍然针对每个CTB发信令通知语法(开/关控制、CCSAO参数),但真正应用的区域未与CTB边界对齐。图24根据本公开的一些实施方式示出CCSAO应用区域未与CTB/CTU边界2406对齐。例如,应用区域未与色度CTB/CTU边界2406对齐,而是向左上移位(4,4)个样本至VB 2408。这种未对齐的CTB边界设计有利于去块过程,因为相同的去块参数对每个8x8去块过程区域都使用。
在一些实施例中,CCSAO应用区域单元(掩码尺寸)可以是变化的(大于或小于CTB尺寸),如表24中所示。掩码尺寸对于不同的分量可以是不同的。掩码尺寸可以在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块/样本级别中切换。例如,在PH中,发信令通知一系列掩码开/关标志和偏移集合索引以指示每个CCSAO区域信息。
POC 分量 CTB尺寸 掩码尺寸
0 Cb 64x64 128x128
0 Cr 64x64 32x32
1 Cb 64x64 16x16
1 Cr 64x64 256x256
表24:CCSAO应用区域单元(掩码尺寸)可以变化。
在一些实施例中,CCSAO应用区域帧分区可以是固定的。例如,将帧分区为N个区域。图25根据本公开的一些实施方式示出了CCSAO应用区域帧分区可以用CCSAO参数来固定。
在一些实施例中,每个区域可以具有其自己的区域开/关控制标志和CCSAO参数。此外,如果区域尺寸大于CTB尺寸,则它可以具有CTB开/关控制标志和区域开/关控制标志二者。图25(a)和(b)示出了将帧分区为N个区域的一些示例。图25(a)示出了4个区域的垂直分区。图25(b)示出4个区域的正方形分区。在一些实施例中,类似于图片级CTB全开控制标志(ph_cc_sao_cb_ctb_control_flag/ph_cc_sao_cr_ctb_control_flag),如果区域开/关控制标志为关闭,则CTB开/关标志可被进一步发信令通知。否则,CCSAO将应用于该区域中的所有CTB,而无需进一步发信令通知CTB标志。
在一些实施例中,不同的CCSAO应用区域可以共享相同的区域开/关控制和CCSAO参数。例如,在图25(c)中,区域0~2共享相同参数,并且区域3~15共享相同参数。图25(c)还示出了区域开/关控制标志,并且CCSAO参数可以按照希尔伯特(Hilbert)扫描次序发信令通知。
在一些实施例中,CCSAO应用区域单元可以是来自图片/切片/CTB级别的四叉树/二叉树/三叉树分割。与CTB分割类似,一系列分割标志被发信令通知以指示CCSAO应用区域分区。图26根据本公开的一些实施方式示出了CCSAO应用区域可以是来自帧/切片/CTB级别的二叉树(BT)/四叉树(QT)/三叉树(TT)分割。
图27是图示根据本公开的一些实施方式的在图片帧内在不同级别使用和切换的多个分类器的框图。在一些实施例中,如果在一帧中使用复数个分类器,则可以在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块/样本级别切换中如何应用分类器集合索引的方法。例如,四个分类器集合在帧中使用,在PH中切换,如下表25中所示。图27(a)和(c)示出默认的固定区域分类器。图27(b)示出分类器集合索引在掩码/CTB级别中发信令通知,其中0表示针对该CTB CCSAO关闭,并且1~4表示集合索引。
POC
0 正方形分区4个区域(与帧QT分割到最大深度1相同)(a)
1 CTB级别切换分类器(b)
2 垂直分区4个区域(c)
3 帧QT分割到最大深度2
表25:四个分类器集合在帧中使用,在PH中切换。
在一些实施例中,对于默认区域情况,如果该区域中的CTB不使用默认集合索引(例如,区域级别标志为0),但在该帧中使用其它分类器集合,则可以发信令通知区域级别标志。例如,如果使用默认集合索引,则区域级别标志为1。例如,在正方形分区4个区域中,使用以下分类器集合,如下表26-1中所示,
POC 区域 标志 使用默认集合索引
0 1 1 使用默认集合:1
2 1 使用默认集合:2
3 1 使用默认集合:3
4 0 CTB切换集合1到4
表26-1:可以发信令通知区域级别标志以示出该区域中的CTB是否不使用默认集合索引。
图28是图示根据本公开的一些实施方式的CCSAO应用区域分区可以是动态的并且可以在图片级别中切换的框图。例如,图28(a)示出在该POC中使用3个CCSAO偏移集合(set_num=3),因此图片帧被垂直分区为3个区域。图28(b)示出在该POC中使用4个CCSAO偏移集合(set_num=4),因此图片帧被水平分区为4个区域。图28(c)示出在该POC中使用3个CCSAO偏移集合(set_num=3),因此图片帧被光栅分区为3个区域。每个区域均可以具有其自己的区域全开标志,以节省每个CTB的开/关控制位。区域的数量取决于发信令通知的图片set_num。CCSAO应用区域可以是根据块内的编码信息(样本位置、样本编码模式、环路滤波器参数等)的特定区域。例如,1)CCSAO应用区域只能在样本被跳过模式编码时被应用,或2)CCSAO应用区域仅包含沿CTU边界的N个样本,或3)CCSAO应用区域仅包含帧中8x8网格上的样本,或4)CCSAO应用区域仅包含经DBF滤波的样本,或5)CCSAO应用区域仅包含CU中的顶部M和左侧N行,或(6)CCSAO应用区域仅包含帧内编码样本,或(7)CCSAO应用区域仅包含cbf=0块中的样本,或(8)CCSAO应用区域仅在块QP在[N,M]中的块上,其中(N,M)可以被预定义或在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块/样本级别中被发信令通知。也可以考虑交叉分量编码信息,(9)CCSAO应用区域在其同位亮度样本在cbf=0块中的色度样本上。
在一些实施例中,是否引入编码信息应用区域限制可以被预定义或者在SPS/APS/PPS/PH/SH/区域(每个备选集合)/CTU/CU/子块/样本级别中单选一个控制标志以指示在CCSAO应用中是否包含/排除指定的编码信息。解码器根据预定义条件或控制标志跳过那些区域的CCSAO处理。例如,YUV使用不同的预定义/标志受控条件,这些受控条件在区域(集合)级别中切换。CCSAO应用判断可以在CU/TU/PU或者样本级别中。
Figure BDA0004203987600000681
表26-2:YUV使用在区域(集合)级别切换的不同预定义/标志受控条件。
另一示例是重新使用全部或部分双侧启用约束(预定义)。
bool islnter=(currCU.predMode==MODE_INTFR)?true:false;
if(ccSaoParams,ctuOn[ctuRsAddr]
&&((TUgetCbf(curTU,COMPONENT_Y)||islnter==false)&&(currTU.cu->qp>17))
&&(128>std:max(currTU.lumaSize().width,currTU.lumaS ize().heigh))
&&((isInter==false)||(32>std::min(currTU.lumaSize()width,currTU.lumaSize()height))))
在一些实施例中,排除一些特定区域可以有益于CCSAO统计收集。偏移导出可能更精确或适合于那些真正需要校正的区域。例如,cbf=0的块通常表示块被完美预测,其可以不需要进一步校正。排除这些块可以有利于其它区域的偏移导出。
不同应用区域可以使用不同分类器。例如,在CTU中,跳过模式使用C1,8x8网格使用C2,跳过模式和8x8网格使用C3。例如,在CTU中,跳过模式编码样本使用C1,CU中心处的样本使用C2,在CU中心处被跳过模式编码的样本使用C3。图29是图示根据本公开的一些实施方式的CCSAO分类器可以计及当前或交叉分量编码信息的图。例如,不同编码模式/参数/样本位置可以形成不同分类器。可以组合不同编码信息以形成联合分类器。不同区域可以使用不同分类器。图29还示出应用区域的另一示例。
在一些实施例中,预定义或标志控制“编码信息排除区域”机制可用于DBF/Pre-SAO/SAO/BIF/CCSAO/ALF/CCALF/NN环路滤波器(NNLF)或其它环路滤波器中。
在一些实施例中,实施的CCSAO语法在下表27中示出。在一些示例中,可以改变每个语法元素的二进制化。在AVS3中,术语补丁类似于切片,补丁头部类似于切片头部。FLC代表固定长度代码。TU代表截断的一元代码。EGk代表k阶exponential-golomb码,其中k可以是固定的。SVLC代表带符号的EG0。UVLC代表无符号的EG0。
Figure BDA0004203987600000701
Figure BDA0004203987600000711
Figure BDA0004203987600000721
Figure BDA0004203987600000731
表27:示例性CCSAO语法。
如果较高级别标志是关闭,则可以从该标志的关闭状态推断出较低级别的标志并且不需要发信令通知该较低级别的标志。例如,如果ph_cc_sao_cb_flag在该图片中是假,则ph_cc_sao_cb_band_num_minus 1、ph_cc_sao_cb_luma_type、cc_sao_cb_offset_sign_flag、cc_sao_cb_offset_abs、ctb_cc_sao_cb_flag、cc_sao_cb_merge_left_flag以及cc_sao_cb_merge_up_flag不存在并且被推断为假。
在一些实施例中,SPS ccsao_enabled_flag以SPS SAO启用标志为条件,如下表28中所示。
Figure BDA0004203987600000741
表28:SPS ccsao_enabled_flag以SPS SAO启用标志为条件。
在一些实施例中,ph_cc_sao_cb_ctb_control_flag、ph_cc_sao_cr_ctb_control_flag指示是否启用Cb/Cr CTB开/关控制粒度。如果ph_cc_sao_cb_ctb_control_flag和ph_cc_sao_cr_ctb_control_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以区分是否使用所述中心同位亮度位置,如下表29中所示。如果未使用中心同位亮度位置,则使用cc_sao_cb_type_idc指示使用剩余8个邻近亮度位置中的哪一个。
ctb_cc_sao_cb_flag u(1)
if(ctb_cc_sao_cb_flag)
cc_sao_cb_type0_flag u(1),可以被上下文编码
if(!cc_sao_cb_type0_flag)
cc_sao_cb_type_idc u(3),可以被上下文编码
表29:发信令通知cc_sao_cb_type0_flag以区分是否使用中心同位亮度位置。
下表30示出了AVS中单个(set_num=1)或复数个(set_num>1)分类器在帧中使用的示例。请注意,语法标记法可以映射到上面使用的标记法。
Figure BDA0004203987600000751
Figure BDA0004203987600000761
Figure BDA0004203987600000762
Figure BDA0004203987600000771
表30:AVS中单个(set_num=1)或复数个(set_num>1)分类器在图片帧中使用的示例。
如果与其中每个区域都具有其自己的集合的图25或图27结合,语法示例可以包括如下表31所示的区域开/关控制标志(picture_ccsao_lcu_control_flag[compIdx][setIdx])。
Figure BDA0004203987600000772
Figure BDA0004203987600000781
表31:每个区域都具有其自己的集合,并且语法示例可以包括区域开/关控制标志(picture_ccsao_lcu_control_flag[compIdx][setIdx])。
在一些实施例中,对于高级语法,可以添加pps_ccsao_info_in_ph_flag和gci_no_sao_constraint_flag。
在一些实施例中,pps_ccsao_info_in_ph_flag等于1指定CCSAO滤波器信息可以在PH语法结构中存在并且在引用不包含PH语法结构的PPS的切片头部中不存在。pps_ccsao_info_in_ph_flag等于0指定CCSAO滤波器信息在PH语法结构中不存在,并且可以在引用PPS的切片头部中存在。当不存在时,pps_ccsao_info_in_ph_flag的值被推断为等于0。
在一些实施例中,gci_no_ccsao_constraint_flag等于1指定OlsInScope中所有图片的sps_ccsao_enabled_flag应等于0。gci_no_ccsao_constraint_flag等于0不施加这样的约束。在一些实施例中,视频的比特流根据规则包括一个或多个输出层集合(OLS)。在本文的示例中,OlsInScope指代范围内的一个或多个OLS。在一些示例中,profile_tier_level()语法结构提供级别信息,并且可选地提供简档(profile)、层(tier)、子简档(sub-profile)和OlsInScope符合的一般约束信息。当profile_tier_level()语法结构被包括在VPS中时,OlsInScope是由VPS指定的一个或多个OLS。当profile_tier_level()语法结构被包括在SPS中时,OlsInScope是仅包括引用SPS的层中作为最低层的层的OLS,并且该最低层是独立层。
在一些实施例中,下文进一步说明对帧内和帧间后预测SAO滤波器的扩展。在一些实施例中,本公开中所公开的SAO分类方法可以作为后预测滤波器,并且预测可以是帧内、帧间或其它预测工具,诸如帧内块复制(Intra Block Copy)。图30是图示根据本公开的一些实施方式的本公开中所公开的SAO分类方法用作后预测滤波器的框图。
在一些实施例中,对于每个Y、U和V分量,选择对应的分类器。并且对于每个分量预测样本,首先对其进行分类,并加上对应偏移。例如,每个分量都可以使用当前样本和邻近样本进行分类。Y使用当前Y和邻近Y样本,并且U/V使用当前U/V样本进行分类,如下表32中所示。图31是图示根据本公开的一些实施方式的对于后预测SAO滤波器每个分量可以使用当前样本和邻近样本进行分类的框图。
Figure BDA0004203987600000791
表32:为每个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)上,例如,如下表33中所示。
Figure BDA0004203987600000792
表33:对于色度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滤波器偏移。
图32是图示根据本公开的一些实施方式的使用交叉分量相关性来解码视频信号的示例性过程3200的流程图。
视频解码器30(如图3中所示)从视频信号接收包括第一分量和第二分量的图片帧(3210)。
视频解码器30通过第一环路滤波器重建第一分量的样本(3220)。
视频解码器30通过第二环路滤波器重建第二分量的样本(3230)。
视频解码器30从相对于第一分量的相应重建样本的第二分量的一个或多个重建样本确定第一分量的分类器(3240)。
视频解码器30根据分类器为第一分量的相应重建样本选择第一样本偏移(3250)。
视频解码器30在第一环路滤波器之后与第一样本偏移的选择并行地应用多个滤波器以获得多个并行偏移(3260)。
视频解码器30对第一环路滤波器之后的第一分量的相应重建样本、第一样本偏移和来自所述多个滤波器的所述多个并行偏移的组合的输出进行截取,其中,所述组合的输出在位深度动态范围内作为第一分量的经修改的相应重建样本(3270)。
在一些实施例中,第一分量是亮度分量而第二分量是色度分量,或者第一分量是色度分量而第二分量是亮度分量,或者第一分量是第一色度分量并且第二分量是第二色度分量。
在一些实施例中,与第一样本偏移的选择并行地应用的多个滤波器中的一个是在第一环路滤波器之后的双边滤波器(BIF),并且所述多个并行偏移中的一个是第二样本偏移;以及解码视频信号的方法还包括:通过BIF确定第一分量的相应重建样本的第二样本偏移。
在一些实施例中,与第一样本偏移的选择并行地应用的所述多个滤波器中的一个是在第一环路滤波器之后的样本自适应偏移(SAO)滤波器,并且所述多个并行偏移中的一个是第三样本偏移;以及解码视频信号的方法还包括:通过SAO滤波器接收多个SAO样本偏移,以及根据第一分量的相应重建样本的SAO分类器从所述多个SAO样本偏移中选择第三样本偏移。
在一些实施例中,对第一环路滤波器之后的第一分量的相应重建样本、第一样本偏移和来自所述多个滤波器的所述多个并行偏移的组合的输出进行截取(3270)包括:将截取函数应用于第一分量的相应重建样本、第一样本偏移、第二样本偏移和第三样本偏移的组合。
在一些实施例中,对第一环路滤波器之后的第一分量的相应重建样本、第一样本偏移和来自所述多个滤波器的多个并行偏移的组合的输出进行截取(3270)包括:将第一截取函数应用于第一环路滤波器之后的第一分量的相应重建样本和第三样本偏移的第一组合以获得第一输出;将第二截取函数应用于第一输出和第二样本偏移的第二组合以获得第二输出;以及将第三截取函数应用于第二输出和第一样本偏移的第三组合。
在一些实施例中,对第一环路滤波器之后的第一分量的相应重建样本、第一样本偏移和来自所述多个滤波器的多个并行偏移的组合的输出进行截取(3270)包括:将第一截取函数应用于第一环路滤波器之后的第一分量的相应重建样本、第二样本偏移和第三样本偏移的第一组合以获得第一输出;以及将第二截取函数应用于第一输出和第一样本偏移的第二组合。
在一些实施例中,对第一环路滤波器之后的第一分量的相应重建样本、第一样本偏移和来自所述多个滤波器的多个并行偏移的组合的输出进行截取(3270)包括:将截取函数应用于第一分量的相应重建样本、第一样本偏移和第二样本偏移的组合。
在一些实施例中,对第一环路滤波器之后的第一分量的相应重建样本、第一样本偏移和来自所述多个滤波器的多个并行偏移的组合的输出进行截取(3270)包括:将第一截取函数应用于第一环路滤波器之后的第一分量的相应重建样本和第二样本偏移的第一组合以获得第一输出;以及将第二截取函数应用于第一输出和第一样本偏移的第二组合。
在一些实施例中,第一环路滤波器是亮度去块滤波器(DBF)并且第二环路滤波器是色度DBF,或者第一环路滤波器是色度DBF并且第二环路滤波器是亮度DBF,或者第一环路滤波器是第一色度DBF,并且第二环路滤波器是第二色度DBF。
图33示出了与用户接口3350耦合的计算环境3310。计算环境3310可以是数据处理服务器的一部分。计算环境3310包括处理器3320、存储器3330和输入/输出(I/O)接口3340。
处理器3320通常控制计算环境3310的整体操作,例如与显示、数据采集、数据通信和图像处理相关联的操作。处理器3320可以包括用于执行指令以执行上述方法中的全部或一些步骤的一个或更多个处理器。此外,处理器3320可以包括促进处理器3320与其他组件之间的交互的一个或更多个模块。处理器可以是中央处理单元(CPU)、微处理器、单片机、图形处理单元(GPU)等。
存储器3330被配置为存储各种类型的数据以支持计算环境3310的操作。存储器3330可以包括预定软件3332。这种数据的示例包括用于在计算环境3310上操作的任何应用或方法的指令、视频数据集、图像数据等。存储器3330可以通过使用任何类型的易失性或非易失性存储器设备或其组合来实现,诸如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存存储器、磁盘或光盘。
I/O接口3340提供处理器3320与外围接口模块(诸如键盘、点击轮、按钮等)之间的接口。按钮可以包括但不限于主页按钮、开始扫描按钮和停止扫描按钮。I/O接口3340可以与编码器和解码器耦合。
在实施例中,还提供了一种包括例如存储器3330中的多个程序的非暂态计算机可读存储介质,所述多个程序可以由计算环境3310中的处理器3320执行以用于执行上述方法。备选地,非暂态计算机可读存储介质中可以存储有由编码器(例如,图2中的视频编码器20)使用例如上述编码方法产生以由解码器(例如,图3中的视频解码器30)在解码视频数据时使用的包括编码的视频信息(例如,包括一个或多个语法元素的视频信息)的比特流或数据流。非暂态计算机可读存储介质可以是例如ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘、光学数据存储设备等。
在实施例中,还提供了一种计算设备,该计算设备包括:一个或多个处理器(例如,处理器3320);以及在其中存储了可以由一个或多个处理器执行的多个程序的非暂态计算机可读存储介质或存储器3330,其中一个或多个处理器在执行多个程序时被配置为执行上述方法。
在实施例中,还提供了一种包括例如存储器3330中的多个程序的计算机程序产品,所述多个程序可以由计算环境3310中的处理器3320执行以用于执行上述方法。例如,计算机程序产品可以包括非暂态计算机可读存储介质。
在实施例中,计算环境3310可以由用于执行上述方法的一个或更多个ASIC、DSP、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、FPGA、GPU、控制器、微控制器、微处理器或其他电子组件来实现。
进一步的实施例还包括在各种其它实施例中组合或以其它方式重新布置的上述实施例的各种子集。
在一个或多个示例中,所描述的功能可以以硬件、软件、固件或其任何组合来实现。如果以软件实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过其传输并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,该计算机可读存储介质对应于诸如数据存储介质之类的有形介质或通信介质,通信介质包括有助于例如根据通信协议将计算机程序从一个地方传输到另一个地方的任何介质。以此方式,计算机可读介质一般可对应于(1)非暂时性有形计算机可读存储介质或(2)诸如信号或载波之类的通信介质。数据存储介质可以是如下任何可用介质,该可用介质可以被一个或多个计算机或一个或多个处理器访问以取回指令、代码和/或数据结构以实现本申请中描述的实施方式。计算机程序产品可以包括计算机可读介质。
在本文的实施方式的描述中使用的术语仅用于描述特定实施方式的目的,而不旨在限制权利要求的范围。如实施方式的描述和所附权利要求中所使用的,单数形式“一”、“一种”和“该”旨在也包括复数形式,除非上下文清楚地另有说明。还应当理解,本文所用的术语“和/或”指代并涵盖相关列出的一项或多项的任何和所有可能组合。还应当理解,当在本说明书中使用时,术语“包含”和/或“包括”指定了所陈述的特征、元素和/或组件的存在,但不排除存在或添加一个或多个其它特征、元素、组件和/或其组。
还应当理解,尽管术语第一、第二等可在本文中用于描述各种元件,但这些元件不应受这些术语限制。这些术语仅用于将一个元件与另一个元件区分开来。例如,第一电极可以称为第二电极,并且类似地,第二电极可以称为第一电极,而不脱离实施方式的范围。第一电极和第二电极均为电极,但它们不是同一电极。
遍及本说明书对单数或复数形式的“一个示例”、“示例”、“示例性示例”等的引用意味着结合示例描述的一个或多个特定特征、结构或特性包括在本公开的至少一个示例中。因此,遍及本说明书各处以单数或复数形式出现的短语“在一个示例中”或“在示例中”、“在示例性示例中”等不一定都指代相同的示例。此外,一个或多个示例中的特定特征、结构或特性可以包括以任何合适的方式组合。
本申请的描述是为了说明和描述的目的而呈现的,并不旨在穷举或限于所公开形式的本发明。许多修改、变化和替代实施方式对于受益于前述描述和相关附图中呈现的教导的本领域普通技术人员而言将是显而易见的。选择和描述该实施例是为了最好地解释本发明的原理、实际应用,并使本领域的其它技术人员能够理解本发明的各种实施方式,并最好地利用具有适合预期的特定用途的各种修改的基本原理和各种实施方式。因此,应当理解,权利要求的范围不限于所公开的实施方式的具体示例,并且修改和其它实施方式旨在包括在所附权利要求的范围内。

Claims (13)

1.一种解码视频信号的方法,包括:
从所述视频信号接收包括第一分量和第二分量的图片帧;
通过第一环路滤波器重建所述第一分量的样本;
通过第二环路滤波器重建所述第二分量的样本;
从相对于所述第一分量的相应重建样本的所述第二分量的一个或多个重建样本确定用于所述第一分量的分类器;
根据所述分类器为所述第一分量的所述相应重建样本选择第一样本偏移;
在所述第一环路滤波器之后与所述第一样本偏移的选择并行地应用多个滤波器以获得多个并行偏移;以及
对所述第一环路滤波器之后的所述第一分量的所述相应重建样本、所述第一样本偏移和来自所述多个滤波器的所述多个并行偏移的组合的输出进行截取,
其中所述组合的输出在位深度动态范围内作为所述第一分量的经修改的相应重建样本。
2.根据权利要求1所述的方法,其中所述第一分量是亮度分量并且所述第二分量是色度分量,或者所述第一分量是色度分量并且所述第二分量是亮度分量,或者所述第一分量是第一色度分量并且所述第二分量是第二色度分量。
3.根据权利要求1所述的方法,其中与所述第一样本偏移的选择并行地应用的所述多个滤波器中的一个是在所述第一环路滤波器之后的双边滤波器(BIF),并且所述多个并行偏移中的一个是第二样本偏移;并且解码视频信号的方法还包括:
通过BIF确定所述第一分量的所述相应重建样本的第二样本偏移。
4.根据权利要求1所述的方法,其中与所述第一样本偏移的选择并行地应用的所述多个滤波器中的一个是在所述第一环路滤波器之后的样本自适应偏移(SAO)滤波器,并且所述多个并行偏移中的一个是第三样本偏移;并且解码视频信号的方法还包括:
通过所述SAO滤波器接收多个SAO样本偏移,并且根据所述第一分量的所述相应重建样本的SAO分类器从所述多个SAO样本偏移中选择所述第三样本偏移。
5.根据权利要求3所述的方法,其中与所述第一样本偏移的选择并行地应用的所述多个滤波器中的一个是在所述第一环路滤波器之后的样本自适应偏移(SAO)滤波器,并且所述多个并行偏移中的一个是通过所述SAO滤波器的第三样本偏移;并且对所述第一环路滤波器之后的所述第一分量的所述相应重建样本、所述第一样本偏移和来自所述多个滤波器的所述多个并行偏移的组合的输出进行截取包括:
将截取函数应用于所述第一分量的所述相应重建样本、所述第一样本偏移、所述第二样本偏移和所述第三样本偏移的组合。
6.根据权利要求3所述的方法,其中与所述第一样本偏移的选择并行地应用的所述多个滤波器中的一个是在所述第一环路滤波器之后的样本自适应偏移(SAO)滤波器,并且所述多个并行偏移中的一个是通过所述SAO滤波器的第三样本偏移;并且对所述第一环路滤波器之后的所述第一分量的所述相应重建样本、所述第一样本偏移和来自所述多个滤波器的所述多个并行偏移的组合的输出进行截取包括:
将第一截取函数应用于所述第一环路滤波器之后的所述第一分量的所述相应重建样本和所述第三样本偏移的第一组合以获得第一输出,
将第二截取函数应用于所述第一输出和所述第二样本偏移的第二组合以获得第二输出,以及
将第三截取函数应用于所述第二输出和所述第一样本偏移的第三组合。
7.根据权利要求3所述的方法,其中与所述第一样本偏移的选择并行地应用的所述多个滤波器中的一个是在所述第一环路滤波器之后的样本自适应偏移(SAO)滤波器,并且所述多个并行偏移中的一个是通过所述SAO滤波器的第三样本偏移;并且对所述第一环路滤波器之后的所述第一分量的所述相应重建样本、所述第一样本偏移和来自所述多个滤波器的所述多个并行偏移的组合的输出进行截取包括:
将第一截取函数应用于所述第一环路滤波器之后的所述第一分量的所述相应重建样本、所述第二样本偏移和所述第三样本偏移的第一组合以获得第一输出,以及
将第二截取函数应用于所述第一输出和所述第一样本偏移的第二组合。
8.根据权利要求3所述的方法,其中,对所述第一环路滤波器之后的所述第一分量的所述相应重建样本、所述第一样本偏移和来自所述多个滤波器的所述多个并行偏移的组合的输出进行截取包括:
将截取函数应用于所述第一分量的所述相应重建样本、所述第一样本偏移和所述第二样本偏移的组合。
9.根据权利要求3所述的方法,其中,对所述第一环路滤波器之后的所述第一分量的所述相应重建样本、所述第一样本偏移和来自所述多个滤波器的所述多个并行偏移的组合的输出进行截取包括:
将第一截取函数应用于所述第一环路滤波器之后的所述第一分量的所述相应重建样本和所述第二样本偏移的第一组合以获得第一输出,以及
将第二截取函数应用于所述第一输出和所述第一样本偏移的第二组合。
10.根据权利要求1所述的方法,其中所述第一环路滤波器是亮度去块滤波器(DBF)并且所述第二环路滤波器是色度DBF,或者所述第一环路滤波器是色度DBF并且所述第二环路滤波器是亮度DBF,或者所述第一环路滤波器是第一色度DBF并且所述第二环路滤波器是第二色度DBF。
11.一种电子装置,包括:
一个或多个处理单元;
存储器,耦合到所述一个或多个处理单元;以及
存储在所述存储器中的多个程序,当由所述一个或多个处理单元执行时,所述多个程序使所述电子装置执行权利要求1-10中任一项所述的方法。
12.一种计算机可读存储介质,具有存储在其中的比特流,所述比特流包括通过根据权利要求1-10中任一项所述的解码视频信号的方法生成的视频信息。
13.一种非暂时性计算机可读存储介质,存储多个程序,所述多个程序用于由具有一个或多个处理单元的电子装置执行,其中当由所述一个或多个处理单元执行时,所述多个程序使所述电子装置执行权利要求1-10中任一项所述的方法。
CN202280007226.7A 2021-05-26 2022-05-26 交叉分量样本自适应偏移中的编码增强 Pending CN116325754A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163193539P 2021-05-26 2021-05-26
US63/193539 2021-05-26
PCT/US2022/031044 WO2022251433A1 (en) 2021-05-26 2022-05-26 Coding enhancement in cross-component sample adaptive offset

Publications (1)

Publication Number Publication Date
CN116325754A true CN116325754A (zh) 2023-06-23

Family

ID=84229211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280007226.7A Pending CN116325754A (zh) 2021-05-26 2022-05-26 交叉分量样本自适应偏移中的编码增强

Country Status (7)

Country Link
US (1) US20230319315A1 (zh)
EP (1) EP4349013A1 (zh)
JP (1) JP2024520401A (zh)
KR (1) KR20230170072A (zh)
CN (1) CN116325754A (zh)
MX (1) MX2023014057A (zh)
WO (1) WO2022251433A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11863775B2 (en) * 2021-07-21 2024-01-02 Tencent America LLC Cross-component transform coefficient level reconstruction

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107396129B (zh) * 2011-03-30 2020-05-05 Lg 电子株式会社 环路滤波方法及其设备
US20200304785A1 (en) * 2019-03-22 2020-09-24 Qualcomm Incorporated Simplified non-linear adaptive loop filter
JP7485761B2 (ja) * 2019-10-29 2024-05-16 北京字節跳動網絡技術有限公司 クロスコンポーネント適応ループフィルタの信号通知

Also Published As

Publication number Publication date
MX2023014057A (es) 2023-12-15
EP4349013A1 (en) 2024-04-10
KR20230170072A (ko) 2023-12-18
WO2022251433A1 (en) 2022-12-01
US20230319315A1 (en) 2023-10-05
JP2024520401A (ja) 2024-05-24

Similar Documents

Publication Publication Date Title
WO2022115698A1 (en) Chroma coding enhancement in cross-component sample adaptive offset
KR20230139811A (ko) 교차-성분 샘플 적응적 오프셋에서의 코딩 향상
US20240137546A1 (en) Coding enhancement in cross-component sample adaptive offset
US20240007652A1 (en) Coding enhancement in cross-component sample adaptive offset
WO2022066783A1 (en) Chroma coding enhancement in cross-component sample adaptive offset with virtual boundary
EP4205389A1 (en) Chroma 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
WO2022164757A1 (en) Chroma coding enhancement in cross-component sample adaptive offset
CN117413516A (zh) 跨分量样本自适应偏移中的编解码增强
CN117296315A (zh) 跨分量样点自适应偏移中的编解码增强
CN117917074A (zh) 跨分量样点自适应偏移中的编解码增强
CN117795957A (zh) 跨分量样点自适应偏移中的编解码增强
CN116965017A (zh) 在跨分量样点自适应偏移中的色度编解码增强
CN117769834A (zh) 跨分量样点自适应偏移中的编解码增强
CN116671105A (zh) 具有虚拟边界的跨分量样点自适应偏移中的色度编解码增强
CN116569551A (zh) 交叉分量样本自适应偏移中的色度编码增强
CN118318438A (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