CN116671105A - 具有虚拟边界的跨分量样点自适应偏移中的色度编解码增强 - Google Patents

具有虚拟边界的跨分量样点自适应偏移中的色度编解码增强 Download PDF

Info

Publication number
CN116671105A
CN116671105A CN202180073769.4A CN202180073769A CN116671105A CN 116671105 A CN116671105 A CN 116671105A CN 202180073769 A CN202180073769 A CN 202180073769A CN 116671105 A CN116671105 A CN 116671105A
Authority
CN
China
Prior art keywords
component
samples
subset
video
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180073769.4A
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 CN116671105A publication Critical patent/CN116671105A/zh
Pending legal-status Critical Current

Links

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/134Methods 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/167Position within a video image, e.g. region of interest [ROI]
    • 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/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/134Methods 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/136Incoming video signal characteristics or properties
    • 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/90Methods 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/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

一种电子装置执行解码视频数据的方法。该方法包括:从视频信号接收包括第一分量和第二分量的图像帧;根据与第二分量的相应样点相关联的第一分量的样点集合确定用于第二分量的分类器;当与第二分量的相应样点相关联的第一分量的样点集合被虚拟边界划分时,将第一分量的样点集合的一个或多个中心子集复制到第一分量的样点集合的第一边界位置和第二边界位置;根据分类器,确定第二分量的相应样点的样点偏移;以及基于所确定的样点偏移来修改第二分量的相应样点的值。

Description

具有虚拟边界的跨分量样点自适应偏移中的色度编解码增强
相关申请
本申请要求2020年10月28日提交的题为“跨分量样点自适应偏移(Cross-component Sample Adaptive Offset)”的美国临时专利申请第63/106,357号的优先权,其全部内容通过引用并入。
技术领域
本申请一般涉及视频编解码和压缩,更具体地,涉及提高色度编解码效率的方法和装置。
背景技术
数字视频由多种电子设备支持,例如数字电视、膝上型或台式计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏控制台、智能电话、视频电话会议设备、视频流式传输设备等。电子设备通过实施视频压缩/解压缩标准来传输、接收、编码、解码和/或存储数字视频数据。一些众所周知的视频编解码标准包括通用视频编解码(VVC)、高效视频编解码(HEVC,也称为H.265或MPEG-H Part2)和高级视频编解码(AVC,也称为H.264或MPEG-4Part 10),其由ISO/IEC MPEG和ITU-T VCEG联合开发。AOMediaVideo 1(AV1)由开放媒体联盟(AOM)开发,作为其先前标准VP9的继承者。音频视频编解码(AVS)是指数字音频和数字视频压缩标准,是由中国音视频编解码标准工作组开发的另一个视频压缩标准系列。
视频压缩通常包括执行空间(帧内)预测和/或时间(帧间)预测以减少或去除视频数据中固有的冗余。对于基于块的视频编解码,视频帧被分割成一个或多个条带,每个条带具有多个视频块,其也可被称为编码树单元(CTU)。每个CTU可能包含一个编码单元(CU)或递归地拆分成更小的CU,直到达到预定义的最小CU大小。每个CU(也称为叶CU)包含一个或多个变换单元(TU),每个CU还包含一个或多个预测单元(PU)。每个CU都可以在帧内、帧间或IBC模式下进行编解码。视频帧的帧内编码(I)条带中的视频块是使用关于同一视频帧内的相邻块中的参考样点的空间预测来编码的。视频帧的帧间编码(P或B)条带中的视频块可以使用关于同一视频帧内相邻块中的参考样点的空间预测或关于其他先前和/或未来参考视频帧中的参考样点的时间预测。
基于先前已经编码的参考块(例如,相邻块)的空间或时间预测产生用于要编码的当前视频块的预测块。找到参考块的过程可以通过块匹配算法来完成。表示待编码的当前块和预测块之间的像素差异的残差数据被称为残差块或预测误差。帧间编码块根据指向形成预测块的参考帧中的参考块的运动向量和残差块来编码。确定运动向量的过程通常称为运动估计。根据帧内预测模式和残差块对帧内编码块进行编码。为了进一步压缩,将残差块从像素域变换到变换域,例如频域,得到残差变换系数,然后可以对其进行量化。最初排列在二维阵列中的量化变换系数可以被扫描以产生变换系数的一维向量,然后被熵编码到视频比特流中以实现甚至更多的压缩。
然后将编码的视频比特流保存在计算机可读存储介质(例如,闪存)中,以供具有数字视频能力的另一个电子设备访问或直接以有线方式或无线方式传输到电子设备。电子设备随后通过例如解析编码视频比特流以从比特流获得语法元素并至少部分地基于从比特流获得的语法元素将数字视频数据从编码的视频比特流重构为其原始格式来执行视频解压缩(这是与上述视频压缩相反的过程),并且在电子设备的显示器上渲染重构的数字视频数据。
随着数字视频质量从高清到4Kx2K甚至8Kx4K,要编码/解码的视频数据量呈指数增长。如何在保持解码视频数据的图像质量的同时更高效地编码/解码视频数据一直是一个挑战。
发明内容
本申请描述了与视频数据编码和解码相关的实现方式,更具体地,描述了与提高色度编解码的编解码效率的方法和装置相关的实现方式,包括通过探索亮度和色度分量之间的跨分量关系来提高编解码效率。
根据本申请的第一方面,一种对视频信号进行解码的方法,包括:从所述视频信号接收包括第一分量和第二分量的图片帧;根据与第二分量的相应样点相关联的第一分量的样点集合确定针对第二分量的分类器;响应于确定与所述第二分量的相应样点相关联的第一分量的样点集合被虚拟边界划分,通过将所述第一分量的样点集合的一个或多个中心子集复制到所述第一分量的样点集合的第一边界位置和第二边界位置来获得所述第一分量的更新的样点集合,其中一个或多个中心子集处于虚拟边界的相对于第二分量的相应样点的同一侧;根据所述分类器基于所述第一分量的更新的样点集合来确定所述第二分量的相应样点的样点偏移;以及基于所确定的样点偏移来修改所述第二分量的相应样点的值。
根据本申请的第二方面,一种电子装置包括一个或多个处理单元、存储器以及存储在存储器中的多个程序。当由一个或多个处理单元执行时,程序使电子装置执行如上所述的对视频数据进行编解码的方法。
根据本申请的第三方面,一种非暂时性计算机可读存储介质存储多个程序以供具有一个或多个处理单元的电子装置执行。当由一个或多个处理单元执行时,程序使电子装置执行如上所述的对视频数据进行编解码的方法。
附图说明
包括的附图是为了提供对实施方式的进一步理解并且并入本文并构成说明书的一部分,附图图示了所描述的实施方式并且与描述一起用于解释基本原理。相似的附图标记表示对应的部分。
图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示出了根据本公开的一些实施方式的AVS中的图示,其中9个亮度候选CCSAO跨VB可以增加2个额外的亮度线缓冲器。
图18示出了根据本公开的一些实施方式的VVC中的图示,其中9个亮度候选CCSAO跨VB可以增加1个额外的亮度线缓冲器。
图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是示出了根据本公开的一些实施方式的本公开中公开的SAO分类方法用作后预测滤波器的框图。
图28是示出了根据本公开的一些实施方式的对于后预测SAO滤波器,每个分量可以使用当前样点和相邻样点进行分类的框图。
图29是示出了根据本公开的一些实施方式的当存在虚拟边界时使用跨分量相关来解码视频信号的示例性过程的流程图。
具体实施方式
现在将详细参考具体的实施方式,其示例在附图中示出。在下面的详细描述中,阐述了许多非限制性具体细节以帮助理解本文呈现的主题。但是对于本领域的普通技术人员来说显而易见的是,在不脱离权利要求的范围的情况下可以使用各种备选方案并且可以在没有这些具体细节的情况下实践主题。例如,对于本领域的普通技术人员来说显而易见的是,可以在许多类型的具有数字视频能力的电子设备上实现本文呈现的主题。
第一代AVS标准包括中国国家标准《信息技术,高级音视频编解码,第2部分:视频(Information Technology,Advanced AudioVideo Coding,Part 2:Video)》(称为AVS1)和《信息技术,高级音视频编解码,第16部分:广播电视视频(Information Technology,Advanced AudioVideo Coding Part 16:Radio TelevisionVideo》(称为AVS+)。与MPEG-2标准相比,它可以在相同的感知质量下节省大约50%的比特率。第二代AVS标准包括中国国家标准“信息技术、高效多媒体编解码(Information Technology,Efficient MultimediaCoding)”系列(称为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。随后,存储设备32中的编码视频数据可以由目标设备14经由输入接口28访问。存储设备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的输出进行滤波。在将重构的CU放入参考图片存储库并用作对未来视频块进行编码的参考之前,进一步的环路滤波63,例如样点自适应偏移(SAO)和自适应环路滤波器(ALF)可以应用于重构的CU。视频编码器20可采用固定或可编程硬件单元的形式,或可在所示固定或可编程硬件单元中的一个或多个之间划分。
视频数据存储器40可以存储要由视频编码器20的组件编码的视频数据。视频数据存储器40中的视频数据可以例如从视频源18获得。DPB 64是存储用于由视频编码器20编码视频数据(例如,在帧内或帧间预测编码模式中)的参考视频数据的缓冲器。视频数据存储器40和DPB 64可以由多种存储器设备中的任何一种形成。在各种示例中,视频数据存储器40可以与视频编码器20的其他组件一起在芯片上,或者相对于那些组件在芯片外。
如图2所示,在接收到视频数据之后,预测处理单元41内的分区单元45将视频数据分割成视频块。这种分割还可以包括根据与视频数据相关联的诸如四叉树结构之类的预定义拆分结构将视频帧分割为条带、瓦片或其他更大的编码单元(CU)。视频帧可以被分成多个视频块(或称为瓦片的视频块集合)。预测处理单元41可基于误差结果(例如,编码率和失真程度)为当前视频块选择多个可能的预测编码模式中的一个,诸如多个帧内预测编码模式中的一个,或多个帧间预测编码模式中的一个。预测处理单元41可将得到的帧内或帧间预测编码块提供给加法器50以生成残差块,并提供给加法器62以重构编码块以随后用作参考帧的一部分。预测处理单元41还向熵编码单元56提供语法元素,例如运动向量、帧内模式指示符、分区信息和其他此类语法信息。
为了为当前视频块选择合适的帧内预测编码模式,预测处理单元41内的帧内预测处理单元46可以相对于要编码的当前块的同一帧中的一个或多个相邻块执行当前视频块的帧内预测编码以提供空间预测。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或多个参考帧中的一个或多个预测块执行当前视频块的帧间预测编码以提供时间预测。视频编码器20可执行多个编码通道,例如以针对每一视频数据块选择适当的编码模式。
在一些实施方式中,运动估计单元42通过产生运动向量来确定当前视频帧的帧间预测模式,所述运动向量根据视频帧序列内的预定模式指示当前视频帧内的视频块的预测单元(PU)相对于参考视频帧内的预测块的位移。由运动估计单元42执行的运动估计是产生运动向量的过程,运动向量估计视频块的运动。例如,运动向量可以指示当前视频帧或图片内的视频块的PU相对于参考帧(或其他编码单元)内的预测块相对于当前帧(或其他编码单元)内正在编码的当前块的位移。预定模式可以将序列中的视频帧指定为P帧或B帧。帧内BC单元48可以以类似于由运动估计单元42确定运动向量用于帧间预测的方式来确定用于帧内BC编码的向量,例如块向量,或者可以利用运动估计单元42来确定块向量。
预测块是被认为在像素差方面与要编码的视频块的PU紧密匹配的参考帧的块,像素差可以通过绝对差和(SAD)、平方差和(SSD),或其他差异指标来确定。在一些实施方式中,视频编码器20可计算存储在DPB 64中的参考帧的子整数像素位置的值。例如,视频编码器20可内插参考帧的四分之一像素位置、八分之一像素位置或其他分数像素位置的值。因此,运动估计单元42可执行相对于完整像素位置和分数像素位置的运动搜索且输出具有分数像素精度的运动向量。
运动估计单元42通过将PU的位置与选自第一参考帧列表(列表0)或第二参考帧列表(列表1)的参考帧的预测块的位置进行比较来计算帧间预测编码帧中视频块的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都可以通过从被编码的当前视频块的像素值中减去预测块的像素值而形成像素差值来形成残差视频块。形成残差频块的像素差值可包括亮度和色度分量差。
帧内预测处理单元46可帧内预测当前视频块,作为由运动估计单元42和运动补偿单元44执行的帧间预测或由帧内BC单元48执行的帧内块复制预测的替代,如上所述。具体而言,帧内预测处理单元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或由其取回。熵编码单元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并且可以由预测处理单元81的其他组件(例如运动补偿单元82)执行帧内BC单元85的功能。
视频数据存储器79可以存储要由视频解码器30的其他组件解码的视频数据,例如编码视频比特流。存储在视频数据存储器79中的视频数据可以例如从以下获得:存储设备32,本地视频源(例如相机),经由视频数据的有线或无线网络通信,或通过访问物理数据存储介质(例如,闪存驱动器或硬盘)。视频数据存储器79可包括编码图片缓冲器(CPB),其存储来自编码视频比特流的编码视频数据。视频解码器30的解码图片缓冲器(DPB)92存储参考视频数据以供视频解码器30解码视频数据使用(例如,在帧内或帧间预测编码模式中)。视频数据存储器79和DPB 92可以由各种存储器设备中的任何一种形成,例如动态随机存取存储器(DRAM),包括同步DRAM(SDRAM)、磁阻RAM(MRAM)、电阻RAM(RRAM)、或其他类型的存储器设备。为了说明的目的,视频数据存储器79和DPB 92被描绘为图3中的视频解码器30的两个不同组件。但是对于本领域的技术人员来说显而易见的是,视频数据存储器79和DPB 92可以由相同的存储器设备或单独的存储器设备提供。在一些示例中,视频数据存储器79可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。
在解码过程期间,视频解码器30接收表示编码视频帧的视频块和相关联的语法元素的编码视频比特流。视频解码器30可在视频帧级和/或视频块级接收语法元素。视频解码器30的熵解码单元80对比特流进行熵解码以生成经量化系数、运动向量或帧内预测模式指示符以及其它语法元素。熵解码单元80然后将运动向量和其他语法元素转发到预测处理单元81。
当视频帧被编码为帧内预测编码(I)帧或用于其他类型帧中的帧内编码预测块时,预测处理单元81的帧内预测处理单元84可以基于用信号通知的帧内预测模式和来自当前帧的先前解码块的参考数据来生成当前视频帧的视频块的预测数据。
当视频帧被编码为帧间预测编码(即,B或P)帧时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动向量和其他语法元素来产生当前视频帧的视频块的一个或多个预测块。每个预测块可以从参考帧列表之一内的参考帧产生。视频解码器30可使用基于存储在DPB 92中的参考帧的默认构造技术来构造参考帧列表,列表0和列表1。
在一些示例中,当视频块根据本文描述的帧内BC模式编码时,预测处理单元81的帧内BC单元85基于从熵解码单元80接收的块向量和其他语法元素来产生当前视频块的预测块。预测块可以在与视频编码器20定义的当前视频块相同的图片的重构区域内。
运动补偿单元82和/或帧内BC单元85通过解析运动向量和其他语法元素来确定当前视频帧的视频块的预测信息,然后使用预测信息来产生正被解码的当前视频块的预测块。举例来说,运动补偿单元82使用一些所接收的语法元素来确定用于编解码视频帧的视频块的预测模式(例如,帧内或帧间预测)、帧间预测帧类型(例如,B或P),帧的一个或多个参考帧列表的构造信息、帧的每个帧间预测编码视频块的运动向量、帧的每个帧间预测编码视频块的帧间预测状态,以及解码当前视频帧中的视频块的其他信息。
类似地,帧内BC单元85可以使用一些接收到的语法元素(例如,标志)来确定当前视频块是使用帧内BC模式预测的,该帧的哪些视频块的构造信息在重构区域内并应存储在DPB 92中,帧的每个帧内BC预测视频块的块向量,帧的每个帧内BC预测视频块的帧内BC预测状态,以及用于解码当前视频帧中的视频块的其他信息。
运动补偿单元82还可使用视频编码器20在视频块的编码期间所使用的内插滤波器来执行内插,以计算参考块的子整数像素的内插值。在此情况下,运动补偿单元82可根据所接收的语法元素来确定视频编码器20所使用的内插滤波器且使用内插滤波器来产生预测块。
反量化单元86使用由视频编码器20为视频帧中的每个视频块计算的相同量化参数来对比特流中提供的量化变换系数和熵解码单元80解码的熵进行反量化以确定量化程度。逆变换处理单元88对变换系数应用逆变换,例如逆DCT、逆整数变换或概念上类似的逆变换过程,以便重构像素域中的残差块。
在运动补偿单元82或帧内BC单元85基于向量和其他语法元素生成当前视频块的预测块之后,加法器90通过对来自逆变换处理单元88的残差块和由运动补偿单元82和帧内BC单元85生成的对应的预测块求和,来重构当前视频块的解码视频块。环路滤波器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按光栅扫描顺序从左到右及从上到下连续排列。每个CTU都是最大的逻辑编码单元,并且CTU的宽度和高度由视频编码器20在序列参数集中用信号通知,这样视频序列中的所有CTU都具有相同的大小,即128×128、64×64、32×32和16×16中的一个。但需要说明的是,本申请并不一定限于特定的大小。如图4B所示,每个CTU可以包括亮度样点的一个编码树块(CTB)、色度样点的两个对应的编码树块、以及用于对编码树块的样点进行编码的语法元素。语法元素描述编码像素块的不同类型单元的属性以及如何能够在视频解码器30处重构视频序列,包括帧间或帧内预测、帧内预测模式、运动向量和其他参数。在单色图片或具有三个独立颜色平面的图片中,CTU可以包括单个编码树块和用于对编码树块的样点进行编码的语法元素。编码树块可以是NxN样点块。
为了实现更好的性能,视频编码器20可以递归地对CTU的编码树块执行树分割,例如二叉树分割、三叉树分割、四叉树分割或两者的组合,并且划分CTU成更小的编码单元(CU)。如图4C所描绘的,64x64的CTU 400首先被划分成四个更小的CU,每个具有32x32的块大小。在四个较小的CU中,CU 410和CU 420各自被按块大小划分为四个16x16的CU。两个16×16的CU 430和CU 440各自进一步按块大小划分成四个8×8的CU。图4D描绘了四叉树数据结构,其示出了如图4C中所描绘的CTU 400的分割过程的最终结果,四叉树的每个叶节点对应于范围从32x32到8x8的相应大小的一个CU。如图4B所描绘的CTU,每个CU可以包括相同大小的帧的亮度样点的编码块(CB)和两个对应的色度样点的编码块,以及用于对编码块的样点进行编码的语法元素。在单色图片或具有三个独立颜色平面的图片中,CU可包括单个编码块和用于对编码块的样点进行编码的语法结构。应当注意的是,图4C和4D中描绘的四叉树分割仅用于说明目的,一个CTU可以拆分为CU以适应基于四叉树/三叉树/二叉树分区的不同局部特性。在多类型树结构中,一个CTU被四叉树结构分割,每个四叉树叶CU可以进一步被二叉树和三叉树结构分割。如图4E所示,AVS3中有五种拆分/分割类型,即四元分割、水平二元分割、垂直二元分割、水平扩展四叉树分割和垂直扩展四2020KI0065USPCTCN
叉树分割。
在一些实施方式中,视频编码器20可进一步将CU的编码块分割成一个或多个MxN预测块(PB)。预测块是矩形(正方形或非正方形)样点块,在其上应用了相同的帧间或帧内预测。CU的预测单元(PU)可包括亮度样点预测块、两个对应的色度样点预测块和用于预测预测块的语法元素。在单色图片或具有三个独立颜色平面的图片中,PU可包括单个预测块和用于预测预测块的语法结构。视频编码器20可为CU的每个PU的亮度、Cb及Cr预测块生成预测性亮度、Cb及Cr块。
视频编码器20可以使用帧内预测或帧间预测来生成PU的预测块。如果视频编码器20使用帧内预测来生成PU的预测块,则视频编码器20可以基于与PU相关联的帧的解码样点来生成PU的预测块。如果视频编码器20使用帧间预测来生成PU的预测块,那么视频编码器20可以基于与PU相关联的帧之外的一个或多个帧的解码样点来生成PU的预测块。
在视频编码器20为CU的一个或多个PU生成预测亮度、Cb和Cr块之后,视频编码器20可以通过从其原始亮度编码块中减去CU的预测亮度块来为CU生成亮度残差块,使得CU的亮度残差块中的每个样点指示CU的预测亮度块之一中的亮度样点与CU的原始亮度编解块中的对应样点之间的差异。类似地,视频编码器20可以分别为CU生成Cb残差块和Cr残差块,使得CU的Cb残差块中的每个样点指示CU的预测性Cb块之一中的Cb样点与CU的原始Cb编码块中的对应的样点和CU的Cr残差块中的每个样点之间的差异可以指示CU的预测性Cr块之一中的Cr样点与CU的原始Cr编码块中的对应样点之间的差异。
此外,如图4C所示,视频编码器20可使用四叉树分割来将CU的亮度、Cb及Cr残差块分解成一个或多个亮度、Cb及Cr变换块。变换块是矩形(正方形或非正方形)样点块,在其上应用了相同的变换。CU的变换单元(TU)可包括亮度样点的变换块、色度样点的两个对应的变换块以及用于变换变换块样点的语法元素。因此,CU的每个TU可与亮度变换块、Cb变换块和Cr变换块相关联。在一些示例中,与TU相关联的亮度变换块可以是CU的亮度残差块的子块。Cb变换块可以是CU的Cb残差块的子块。Cr变换块可以是CU的Cr残差块的子块。在单色图片或具有三个独立颜色平面的图片中,TU可以包括单个变换块和用于变换变换块的样点的语法结构。
视频编码器20可将一个或多个变换应用于TU的亮度变换块以生成TU的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可将一个或多个变换应用于TU的Cb变换块以生成TU的Cb系数块。视频编码器20可将一个或多个变换应用于TU的Cr变换块以生成TU的Cr系数块。
在生成系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可量化系数块。量化通常指的是其中对变换系数进行量化以可能减少用于表示变换系数的数据量、提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可对指示经量化变换系数的语法元素进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术编解码(CABAC)。最后,视频编码器20可以输出比特流,该比特流包括形成编码帧和关联数据的表示的比特序列,其要么被保存在存储设备32中要么被传输到目标设备14。
在接收到由视频编码器20生成的比特流之后,视频解码器30可以解析比特流以从比特流获得语法元素。视频解码器30可至少部分地基于从比特流获得的语法元素来重构视频数据的帧。重构视频数据的过程通常与视频编码器20执行的编码过程相反。例如,视频解码器30可以对与当前CU的TU相关联的系数块执行逆变换以重构与当前CU的TU相关联的残差块。视频解码器30还通过将当前CU的PU的预测块的样点添加到当前CU的TU的变换块的对应样点来重构当前CU的编解码块。在为帧的每个CU重构编码块之后,视频解码器30可重构帧。
SAO是基于编码器传输的查找表中的值,通过在应用去块滤波器之后有条件地将偏移值添加到每个样点来修改解码样点的过程。基于由语法元素sao-type-idx为每个CTB选择的滤波类型,基于区域执行SAO滤波。sao-type-idx的值为0表示SAO滤波器未应用于CTB,值1和2分别表示使用带段(band)偏移和边缘偏移滤波类型。在由等于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与位于相邻位置的两个样点的值n0和n1进行比较,CTB中的每个样点被分类到五个EdgeIdx类别中的一个,如图5所示。这种分类是基于解码样点值对每个样点进行的,因此EdgeIdx分类不需要额外的信令。根据样点位置处的EdgeIdx类别,对于从1到4的EdgeIdx类别,将来自传输的查找表的偏移值添加到样点值。偏移值对于类别1和2始终为正,对于类别3和4始终为负。因此滤波器通常在边缘偏移模式下具有平滑效果。下面的表1说明了SAO边缘类中的样点EdgeIdx类别。
表1:SAO边缘类中的样点EdgeIdx类别。
对于SAO类型1和2,总共有四个幅度偏移值被传输到每个CTB的解码器。对于类型1,符号也被编码。偏移值和相关语法元素(例如sao-type-idx和sao-eo-class)由编码器确定-通常使用优化率失真性能的标准。可以使用合并标志指示SAO参数从左侧或上方的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的额外偏移。例如,当前色度样点602首先使用同位604和相邻(白色)亮度样点606进行分类,并且对应类的对应CCSAO偏移值被添加到当前色度样点值。
在一些实施例中,CCSAO还可以与其他编解码工具并行应用,例如AVS标准中的ESAO,或AV1标准中的CDEF。图6B是示出根据本公开的一些实施方式的与AVS标准中的ESAO并行应用的CCSAO的系统和过程的框图。
图6C是示出根据本公开的一些实施方式的在SAO之后应用的CCSAO的系统和过程的框图。在一些实施例中,图6C显示CCSAO的位置可以在SAO之后,即VVC标准中跨分量自适应环路滤波器(CCALF)的位置。在一些实施例中,例如在AVS3标准中,SAO Y/Cb/Cr可以被ESAO代替。
图6D是示出根据本公开的一些实施方式的与CCALF并行应用的CCSAO的系统和过程的框图。在一些实施例中,图6D显示CCSAO可以与CCALF并行应用。在一些实施例中,在图6D中,CCALF和CCSAO的位置可以互换。在一些实施例中,在图6A至图6D中,或贯穿本公开,SAO Y/Cb/Cr块可以由ESAO Y/Cb/Cr(在AVS3中)或CDEF(在AV1中)代替。
在一些实施例中,当前色度样点分类重新使用同位亮度样点的SAO类型(EO或BO)、类(class)和类别(category)。对应的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个类。
初始类=0
循环相邻的8个亮度样点(Yi,i=1到8)
如果Y0>Yi类+=1
否则如果 Y0<Yi类-=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。
MaxY0=max(Y0_DBF_V,Y0_DBF_H,Y0_DBF)
MaxYi=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,其应用与图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指示CCSAO偏移是从左CTU还是从上CTU合并。
在一些实施例中,视频信号还包括第三分量,并且使用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 C0使用Y0位置 8 8
1 C0使用Y7位置 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 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个类,如下所示。
Initial Class(C1)=0,在相邻的8个亮度样点上循环(Yi,i=1到8)
如果 Y0>Yi 类+=1
否则如果 Y0<Yi 类-=1
在一些实施例中,变体(C1')仅对比较分数[0,8]进行计数,并且这产生8个类。(C1,C1')是2020KI0065USPCTCN
一个分类器组,并且PH/SH级别标志可以被用信号通知以在C1和C1'之间切换。
Initial Class(C1’)=0,在相邻的8个亮度样点上循环(Yi,i=1到8)
如果 Y0>Yi 类+=1
在一些实施例中,不同的分类器被组合以产生通用分类器。例如,对于不同的图片(不同的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/子块级别用信号通知,以指示分类器。例如,位掩码11 11000000表示对于给定的10位亮度样点值,只有最高有效位(MSB):4位用于分类,总共产生16个类。另一个示例位掩码10 0100 0001表示仅3位用于分类,并且总共产生8个类。
在一些实施例中,亮度位置和C3位掩码可以在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块级别中组合和切换。不同的组合可以是不同的分类器。
在一些实施例中,可以应用位掩码限制的“1的最大数量”来限制对应数量的偏移。例如,在SPS中将位掩码的“1的最大数量”限制为4,这将产生序列中的最大偏移为16。不同POC中的位掩码可以不同,但“1的最大数量”不应超过4个(总类不得超过16个)。“1的最大数量”值可以在SPS/APS/PPS/PH/SH/区域/CTU/CU/子块级别用信号通知和切换。
表6-2:分类器示例使用位掩码进行分类(位掩码位置有下划线)
所有上述分类(C0、C1、C1’、C2、C3)都可以组合。例如,见下表6-3。
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 C3 1的数量:4 16*17
表6-3:不同分类器组合
在一些实施例中,分类器示例(C2)使用同位和相邻的亮度样点的差(Yn)。图12(c)示出了Yn的示例,当比特深度为10时,其动态范围为[-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、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个不同的分类器,并且使用哪个分类器(0、1或2)在CTU级别用信号通知,如下面的表9所示。
表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。定长码、哥伦布莱斯(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所示,当偏移集索引为0时:不应用CCSAO;当偏移集索引为1时:应用集0;当偏移集索引为2时:应用集1;当偏移集索引为3时:应用集2;当偏移集索引为4时:应用集3。类型表示所选同位亮度样点(Yi)的位置。不同的偏移集可以有不同的类型、band_num和对应的偏移。
表11:针对1280x720序列POC0给出了Cb和Cr CTB偏移集索引的示例(如果CTU大小为128x128,则帧中的CTU数量为10x6)
在一些实施例中,最大band_num可以是固定的或在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 bit
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比特示例
在一些实施例中,可以对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_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 总类 用信号通知的偏移
0 Cb C0 16 16 16
0 Cr C0 5 5 5
表14:所有类的Cb和Cr偏移都可以单独地用信号通知
在一些实施例中,最大偏移值是固定的或在序列参数集(SPS)/适配参数集(APS)/图片参数集(PPS)/图片头部(PH)/条带头部(SH)中用信号通知。例如,最大偏移在[-15,15]之间。
在一些实施例中,偏移信令可以使用差分脉冲编码调制(DPCM)。例如,偏移{3,3,2,1,-1}可以用信号表示为{3,0,-1,-1,-2}。
在一些实施例中,偏移可以存储在APS或存储器缓冲器中以供下一个图片/条带重用。可以用信号通知索引以指示哪些存储的先前帧偏移用于当前图片。
在一些实施例中,Cb和Cr的分类器是相同的。可以联合用信号通知所有类的Cb和Cr偏移,例如,如下面的表15所示。
POC 分量 分类器 C0 总类 用信号通知的偏移
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)。
表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)。
2020KI0065USPCTCN
表19:所有类的Cb和Cr偏移可以用为每个类别用信号通知的权重联合地用信号通知
在一些实施例中,如果在相同的POC中使用多个分类器,则单独地或联合地用信号通知不同的偏移集。
在一些实施例中,可以存储先前解码的偏移以供未来帧使用。可以用信号通知索引以指示哪个先前解码的偏移集用于当前帧,以减少偏移信令开销。例如,POC2可以重用POC0偏移,其中信令偏移集idx=0,如下表20所示。
表20:可以用信号通知索引以指示哪个先前解码的偏移集用于当前帧在一些实施例中,Cb和Cr的重用偏移集idx可以不同,例如,如下表21所示。
/>
表21:可以用信号通知索引以指示哪个先前解码的偏移集用于当前帧,并且索引对于Cb和Cr分量可以不同。
在一些实施例中,偏移信令可以使用包括开始(start)和长度(length)的附加语法,以减少信令开销。例如,当band_num=256时,仅用信号通知band_idx=37~44的偏移。在下面表22的示例中,开始(start)和长度(length)的语法都是8比特固定长度编码,应该与band_num比特匹配。
表22:偏移信令使用附加语法,包括开始(start)和长度(length)
在一些实施例中,如果序列比特深度高于10(或特定比特深度),则可以在用信号通知之前量化偏移。在解码器侧,解码偏移在应用之前被去量化,如下面的表23所示。例如,对于12比特的序列,解码后的偏移左移(去量化)2。
2020KI0065USPCTCN
表23:解码的偏移在应用前被去量化
在一些实施例中,偏移可以被计算为CcSaoOffsetVal=(1-2*ccsao_offset_sign_flag)*(ccsao_offset_abs<<(BitDepth-Min(10,BitDepth)))
在一些实施例中,样点处理描述如下。设R(x,y)为CCSAO前的输入色度样点值,R’(x,y)为CCSAO后的输出色度样点值:
偏移=ccsao_offset[R(x,y)的class_index]
R’(x,y)=Clip3(0,(1<<bit_depth)–1,R(x,y)+偏移)
根据以上等式,使用当前图片的指示的分类器对每个色度样点值R(x,y)进行分类。导出的类索引的对应偏移被添加到每个色度样点值R(x,y)。对(R(x,y)+偏移)应用裁剪函数Clip 3,使输出色度样点值R’(x,y)在比特深度动态范围内,例如范围0到(1<<bit_depth)–1。
在一些实施例中,边界处理描述如下。如果用于分类的任何同位和相邻亮度样点在当前图片之外,则CCSAO不会应用于当前色度样点。图13A是示出根据本公开的一些实施方式的如果用于分类的同位和相邻的亮度样点中的任何一者在当前图片之外则CCSAO不应用于当前色度样点的框图。例如,在图13A(a)中,如果使用分类器,则CCSAO不应用于当前图片的左1列色度分量。例如,如果使用C1’,则CCSAO不应用于当前图片的左面1列和顶部1行的色度分量,如图13A(b)所示。
图13B是示出根据本公开的一些实施方式的如果用于分类的同位和相邻的亮度样点中的任何一个在当前图片之外则将CCSAO应用于当前色度样点的框图。在一些实施例中,一种变化是,如果用于分类的同位和相邻的亮度样点中的任何一个在当前图片之外,则重复使用丢失的样点,如图13B(a)所示,或者将丢失的样点进行镜像填充以创建用于分类的样点,如图13B(b)所示,并且CCSAO可以应用于当前色度样点。
图14是示出根据本公开的一些实施方式的如果用于分类的对应选择的同位或相邻亮度样点在由虚拟边界定义的虚拟空间之外则CCSAO不应用于当前色度样点的框图。在一些实施例中,虚拟边界(VB)是分隔图片帧内的空间的虚拟线。在一些实施例中,如果在当前帧中应用虚拟边界(VB),则CCSAO不应用到已经选择由虚拟边界定义的虚拟空间之外的对应亮度位置的色度样点。图14显示了具有9个亮度位置候选的C0分类器的虚拟边界的示例。对于每个CTU,CCSAO不应用于对应的所选亮度位置在由虚拟边界包围的虚拟空间之外的色度样点。例如,在图14(a)中,当所选择的Y7亮度样点位置位于水平虚拟边界1406的另一侧时,CCSAO不应用于色度样点1402,该水平虚拟边界1406位于距帧的底部侧4个像素行。例如,在图14(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个亮度候选进行分类的示例,它减少了线缓冲器并且不需要图13A和图13B中的任何额外边界检查。
在一些实施例中,使用亮度样点进行CCSAO分类可能会增加亮度线缓冲器,因此会增加解码器硬件实现成本。图17示出了根据本公开的一些实施方式的AVS中的图示,其中9个亮度候选CCSAO跨VB 1702可以增加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,图18示出了根据本公开的一些实施方式的VVC中的图示,其中9个亮度候选CCSAO跨VB 1802可以增加1个额外的亮度线缓冲器。VB可以在不同的标准中有所不同。在VVC中,亮度VB是线-4,色度VB是线-2,所以9个候选CCSAO可能会增加1个亮度线缓冲器。
在一些实施例中,在第一解决方案中,如果色度样点的任何亮度候选跨VB(在当前色度样点VB之外),则针对色度样点禁用CCSAO。图19A-19C在AVS和VVC中示出,根据本公开的一些实施方式,如果色度样点的任何亮度候选跨VB 1902(在当前色度样点VB之外),则针对色度样点禁用CCSAO。图14还显示了此实施方式的一些示例。
在一些实施例中,在第二解决方案中,从靠近且位于VB的另一侧的亮度线,例如亮度线-4,重复填充用于CCSAO,用于“跨VB”亮度候选。图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。图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。
填充方法给予更多色度样点应用CCSAO的可能性,因此可以实现更多编码增益。
在一些实施例中。在底部图片(或条带(slice)、瓦片(tile)、砖块(brick))边界CTU行,VB以下的样点在当前CTU行处理,因此上述特殊处置(解决方案1、2、3、4)不适用于底部图片(或条带、瓦片、砖块)边界CTU行。例如,1920x1080的帧除以128x128的CTU。一个帧包含15x9个CTU(向上舍入)。底部CTU行是第15个CTU行。解码过程是一个CTU行接一个CTU行,并且每个CTU行中一个CTU接一个CTU。需要沿着当前和下一个CTU行之间的水平CTU边界应用去块。CTB VB适用于每个CTU行,因为在一个CTU内部,在底部4/2亮度/色度线,DBF样点(VVC情况)在下一个CTU行处理,并且不可用于当前CTU行的CCSAO。然而,在图片帧的底部CTU行处,底部4/2亮度/色度线DBF样点在当前CTU行处可用,因为没有剩下下一个CTU行,并且它们在当前CTU行进行DBF处理。
在一些实施例中,可以应用限制来减少CCSAO所需的线缓冲器,并且简化边界处理条件检查,如图16中所解释的。图23示出了根据本公开的一些实施方式使用有限数量的亮度候选进行分类的限制。图23(a)显示了仅使用6个亮度候选进行分类的限制。图23(b)显示了仅使用4个亮度候选进行分类的限制。
在一些实施例中,应用区域被实施。CCSAO应用区域单元可以是基于CTB的。即开/关控制、CCSAO参数(偏移、亮度候选位置、band_num、位掩码等用于分类,偏移集索引)在一个CTB中是相同的。
在一些实施例中,应用区域可以不与CTB边界对齐。例如,应用区域不与色度CTB边界对齐,而是发生了移位。语法(开/关控制、CCSAO参数)仍然针对每个CTB发信号通知,但真正应用的区域不与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个区域的正方形分割。
在一些实施例中,不同的CCSAO应用区域可以共享相同的区域开/关控制和CCSAO参数。例如,在图25(c)中,区域0~2共享相同的参数,区域3~15共享相同的参数。图25(c)还显示了区域开/关控制标志和CCSAO参数可以以希尔伯特扫描顺序用信号通知。
在一些实施例中,CCSAO应用区域单元可以是从图片/条带/CTB级别拆分的四叉树/二叉树/三叉树。与CTB拆分类似,一系列拆分标志被用信号通知以指示CCSAO应用的区域分区。图26示出根据本公开的一些实施方式,CCSAO应用的区域可以是从帧/条带/CTB级别拆分的二叉树(BT)/四叉树(QT)/三叉树(TT)。
在一些实施例中,实施的CCSAO语法在下面的表25中示出。在AVS3中,术语补片(patch)类似于条带,补片头部类似于条带头部。FLC代表固定长度代码。TU代表截断的一元代码。EGk代表k阶指数哥伦布码,其中k可以固定。
表25:示例性CCSAO语法
如果较高级别的标志关闭,则较低级别的标志可以从标志的关闭状态推断出来,并且不需要用信号通知。例如,如果在该图片中ph_cc_sao_cb_flag为假,则ph_cc_sao_cb_band_num_minus1、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启用标志为条件,如下表26所示。
/>
表26: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被进一步用信号通知以区分是否使用中心同位的亮度位置,如下面的表27所示。如果未使用中心同位的亮度位置,则使用cc_sao_cb_type_idc指示使用剩余8个相邻亮度位置中的哪一个。
表27:用信号通知cc_sao_cb_type0_flag以区分是否使用中心同位的亮度位置
在一些实施例中,下文进一步示出对帧内和帧间预测后SAO滤波器的扩展。在一些实施例中,本公开中公开的SAO分类方法可以用作为预测后滤波器,预测可以是帧内、帧间或其他预测工具,例如Intra Block Copy。图27是示出根据本公开的一些实施方式的本公开中公开的SAO分类方法用作预测后滤波器的框图。
在一些实施例中,对于每个Y、U和V分量,选择相应的分类器。并且对于每个分量预测样点,首先进行分类,并加上对应的偏移。例如,每个分量都可以使用当前样点和相邻样点进行分类。Y使用当前Y和相邻Y样点,并且U/V使用当前U/V样点进行分类,如下表28所示。图28是示出根据本公开的一些实施方式的对于预测后SAO滤波器,每个分量可以使用当前样点和相邻样点进行分类的框图。
表28:为每个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)上,例如,如下表29所示。
表29:对于色度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滤波器偏移。
图29是示出根据本公开的一些实施方式的当存在VB时使用跨分量相关来解码视频信号的示例性过程2900的流程图。
视频解码器30(如图3所示)从视频信号接收包括第一分量和第二分量的图片帧(2910)。
视频解码器30根据与第二分量的相应样点相关联的第一分量的样点集合确定用于第二分量的分类器(2920)。
响应于确定与第二分量的相应样点相关联的第一分量的样点集合被虚拟边界划分(2930-1):视频解码器30通过将第一分量的样点集合的一个或多个中心子集复制到第一分量的该样点集合的第一边界位置和第二边界位置来获得第一分量的更新的样点集合,其中,一个或多个中心子集位于虚拟边界的相对于第二分量的相应样点的同一侧(2930-2)。
视频解码器30根据分类器,基于第一分量的更新的样点集合来确定第二分量的相应样点的样点偏移(2940)。
视频解码器30基于所确定的样点偏移来修改第二分量的相应样点的值(2950)。
在一些实施例中,通过将第一分量的样点集合的一个或多个中心子集复制到第一分量的样点集合的第一边界位置和第二边界位置来获得第一分量的更新的样点集合(2930-2)包括:根据以下确定信息:与第二分量的相应样点相关联的第一分量的样点集合的第一子集位于虚拟边界的相对于第二分量的相应样点的不同侧,以及与第二分量的相应样点相关联的第一分量的样点集合的剩余子集位于虚拟边界的相对于第二分量的相应样点的同一侧,复制来自第一分量的样点集合的剩余子集的一个或多个中心子集的第二子集,以替换第一边界位置处的第一子集;以及复制来自第一分量的样点集合的剩余子集中一个或多个中心子集的第二子集,以替换第二侧处的剩余子集中的第三子集。
在一些实施例中,第三子集和第一子集相对于与第二分量的相应样点相关联的第一分量的同位样点是对称的。
在一些实施例中,来自第一分量的样点集合的剩余子集的第二子集来自最靠近第一子集的行。
在一些实施例中,来自第一分量的样点集合的剩余子集的第二子集来自最靠近第三子集的行。
在一些实施例中,通过将第一分量的样点集合的一个或多个中心子集复制到第一分量的样点集合的第一边界位置和第二边界位置来获得第一分量的更新的样点集合(2930-2)包括:根据以下确定信息:与第二分量的相应样点相关联的第一分量的样点集合的第一子集位于虚拟边界的相对于第二分量的相应样点的不同侧,以及与第二分量的相应样点相关联的第一分量的样点集合的剩余子集位于虚拟边界的相对于第二分量的相应样点的同一侧,复制来自第一分量的样点集合的剩余子集的一个或多个中心子集的第二子集,以替换第一边界位置处的第一子集;以及复制来自第一分量的样点集合的剩余子集中的一个或多个中心子集的第三子集,以替换第二侧处的剩余子集中的第四子集。
在一些实施例中,第四子集和第一子集相对于与第二分量的相应样点相关联的第一分量的同位样点是对称的。
在一些实施例中,来自第一分量的样点集合的剩余子集的第二子集来自最靠近第一子集的行。
在一些实施例中,来自第一分量的样点集合的剩余子集的第三子集来自最靠近第四子集的行。
在一些实施例中,第一分量的样点集合相对于与第二分量的相应样点相关联的第一分量的同位样点是水平或垂直对称的。
在一些实施例中,虚拟边界包括第一分量的第一块内的第一虚拟边界和第二分量的第二块内的第二虚拟边界。
在一些实施例中,虚拟边界包括第一分量的第一编码树块(CTB)内的第一虚拟边界和第二分量的第二CTB内的第二虚拟边界,并且在编码树单元(CTU)内第一虚拟边界与第二虚拟边界不对齐。
在一些实施例中,虚拟边界与块边界平行并且与块边界分开至少一行或一列样点。
在一些实施例中,根据确定与第二分量的相应样点相关联的第一分量的一个或多个样点的集合被虚拟边界划分、第一分量的所述的一个或多个样点的子集位于虚拟边界的相对于第二分量的相应样点的不同侧以及第一分量的一个或多个样点的子集在所述图像帧的处理底部的边界编码树单元(CTU)行内,根据所述分类器来确定在所述虚拟边界内修改所述图像帧的当前块的第二分量的相应样点的值。例如,在底部图片(或条带、瓦片、砖块)边界CTU行,VB以下的样点在当前CTU行处理,因此特殊处置(解决方案1、2、3、4)不适用于底部图片(或条带、瓦片、砖块)边界CTU行。
进一步的实施例还包括在各种其他实施例中组合或以其他方式重新布置的上述实施例的各种子集。
在一个或多个示例中,所描述的功能可以以硬件、软件、固件或它们的任意组合来实现。如果以软件实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过其传输并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其对应于诸如数据存储介质之类的有形介质,或通信介质,包括有助于例如根据通信协议将计算机程序从一个地方传输到另一个地方的任何介质。以此方式,计算机可读介质一般可对应于(1)非暂时性的有形计算机可读存储介质或(2)诸如信号或载波的通信介质。数据存储介质可以是任何可用介质,其可以被一台或多台计算机或一个或多个处理器访问以取回指令、代码和/或数据结构以实现本申请中描述的实施方式。计算机程序产品可以包括计算机可读介质。
在本文的实施方式的描述中使用的术语仅用于描述特定实施方式的目的,而不旨在限制权利要求的范围。如实施方式的描述和所附权利要求中所使用的,单数形式“一个(a)”、“一个(an)”和“该(the)”意在也包括复数形式,除非上下文清楚地另有说明。还应当理解,本文所用的术语“和/或”是指并涵盖相关联列出的项目中的一项或多项的任何和所有可能组合。还应当理解,当在本说明书中使用时,术语“包含”和/或“包括”指定了所陈述的特征、元素和/或组件的存在,但不排除存在或添加一个或多个其他特征、元素、组件和/或它们的组。
还应当理解,尽管术语第一、第二等可在本文中用于描述各种元件,但这些元件不应受这些术语限制。这些术语仅用于将一个元素与另一个元素区分开来。例如,第一电极可以称为第二电极,并且类似地,第二电极可以称为第一电极,而不脱离实施方式的范围。第一电极和第二电极均为电极,但它们不是同一电极。
贯穿本说明书对单数或复数形式的“一个示例”、“示例”、“示例性示例”等的引用意味着结合示例描述的一个或多个特定特征、结构或特性包括在本公开的至少一个示例中。因此,贯穿本说明书各处以单数或复数形式出现的短语“在一个示例中”或“在示例中”、“在示例性示例中”等不一定都指代相同的示例。此外,一个或多个示例中的特定特征、结构或特性可以包括以任何合适的方式组合。
本申请的描述是为了说明和描述的目的而呈现的,并不旨在穷举或限制所公开形式的发明。许多修改、变化和替代实施方式对于受益于前述描述和相关联的附图中呈现的教导的本领域普通技术人员而言将是显而易见的。选择和描述该实施例是为了最好地解释本发明的原理、实际应用,并使本领域的其他技术人员能够理解本发明的各种实施方式,并最好地利用适合预期的特定用途的具有各种修改的基本原理和各种实施方式。因此,应当理解,权利要求的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在包括在所附权利要求的范围内。

Claims (15)

1.一种对视频信号进行解码的方法,包括:
从所述视频信号接收包括第一分量和第二分量的图像帧;
根据与所述第二分量的相应样点相关联的所述第一分量的样点集合确定用于所述第二分量的分类器;
响应于确定与所述第二分量的相应样点相关联的所述第一分量的样点集合被虚拟边界划分,
通过将所述第一分量的样点集合的一个或多个中心子集复制到所述第一分量的样点集合的第一边界位置和第二边界位置来获得所述第一分量的更新的样点集合,其中,所述一个或多个中心子集位于所述虚拟边界的相对于所述第二分量的相应样点的同一侧;
根据所述分类器,基于所述第一分量的更新的样点集合来确定所述第二分量的相应样点的样点偏移;以及
基于所确定的样点偏移来修改所述第二分量的相应样点的值。
2.根据权利要求1所述的方法,其中,通过将所述第一分量的样点集合的一个或多个中心子集复制到所述第一分量的样点集合的第一边界位置和第二边界位置来获得所述第一分量的更新的样点集合包括:
根据以下确定信息:
与所述第二分量的相应样点相关联的所述第一分量的样点集合的第一子集位于所述虚拟边界的相对于所述第二分量的相应样点的不同侧,以及
与所述第二分量的相应样点相关联的所述第一分量的样点集合的剩余子集位于所述虚拟边界的相对于第二分量的相应样点的同一侧,
复制来自所述第一分量的样点集合的剩余子集的所述一个或多个中心子集的第二子集,以替换在所述第一边界位置处的第一子集;以及
复制来自所述第一分量的样点集合的剩余子集的所述一个或多个中心子集的第二子集,以替换第二侧的所述剩余子集中的第三子集。
3.根据权利要求2所述的方法,其中,所述第三子集和所述第一子集相对于与所述第二分量的相应样点相关联的所述第一分量的同位样点是对称的。
4.根据权利要求2所述的方法,其中,来自所述第一分量的样点集合的剩余子集的所述第二子集来自最靠近所述第一子集的行。
5.根据权利要求2所述的方法,其中,来自所述第一分量的样点集合的剩余子集的所述第二子集来自最靠近所述第三子集的行。
6.根据权利要求1所述的方法,其中,通过将所述第一分量的样点集合的一个或多个中心子集复制到所述第一分量的样点集合的第一边界位置和第二边界位置来获得所述第一分量的更新的样点集合包括:
根据以下确定信息:
与所述第二分量的相应样点相关联的所述第一分量的样点集合的第一子集位于所述虚拟边界的相对于所述第二分量的相应样点的不同侧,以及
与所述第二分量的相应样点相关联的所述第一分量的样点集合的剩余子集位于所述虚拟边界的相对于所述第二分量的相应样点的同一侧,
复制来自所述第一分量的样点集合的剩余子集的所述一个或多个中心子集的第二子集,以替换在所述第一边界位置处的第一子集;以及
复制来自所述第一分量的样点集合的剩余子集的所述一个或多个中心子集的第三子集,以替换第二侧的所述剩余子集中的第四子集。
7.根据权利要求6所述的方法,其中,所述第四子集和所述第一子集相对于与所述第二分量的相应样点相关联的所述第一分量的同位样点是对称的。
8.根据权利要求6所述的方法,其中,来自所述第一分量的样点集合的剩余子集的所述第二子集来自最靠近所述第一子集的行。
9.根据权利要求6所述的方法,其中,来自所述第一分量的样点集合的剩余子集的所述第三子集来自最靠近所述第四子集的行。
10.根据权利要求1所述的方法,其中,所述第一分量的样点集合相对于与所述第二分量的相应样点相关联的所述第一分量的同位样点是水平或垂直对称的。
11.根据权利要求1所述的方法,其中,所述虚拟边界包括所述第一分量的第一块内的第一虚拟边界和所述第二分量的第二块内的第二虚拟边界。
12.根据权利要求1所述的方法,其中,所述虚拟边界包括在所述第一分量的第一编码树块(CTB)内的第一虚拟边界和在所述第二分量的第二CTB内的第二虚拟边界,并且在编码树单元(CTU)内所述第一虚拟边界与所述第二虚拟边界不对齐。
13.根据权利要求1所述的方法,其中,所述虚拟边界与块边界平行并且与所述块边界分开至少一行或一列样点。
14.一种电子装置,包括:
一个或多个处理单元;
耦合到所述一个或多个处理单元的存储器;以及
存储在所述存储器中的多个程序,所述多个程序当由所述一个或多个处理单元执行时,使所述电子装置执行权利要求1-13所述的方法。
15.一种非暂时性计算机可读存储介质,存储有多个程序,用于由具有一个或多个处理单元的电子装置执行,其中,所述多个程序当由所述一个或多个处理单元执行时,使所述电子装置执行权利要求1-13所述的方法。
CN202180073769.4A 2020-10-28 2021-10-27 具有虚拟边界的跨分量样点自适应偏移中的色度编解码增强 Pending CN116671105A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063106357P 2020-10-28 2020-10-28
US63/106,357 2020-10-28
PCT/US2021/056897 WO2022093992A1 (en) 2020-10-28 2021-10-27 Chroma coding enhancement in cross-component sample adaptive offset with virtual boundary

Publications (1)

Publication Number Publication Date
CN116671105A true CN116671105A (zh) 2023-08-29

Family

ID=81383160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180073769.4A Pending CN116671105A (zh) 2020-10-28 2021-10-27 具有虚拟边界的跨分量样点自适应偏移中的色度编解码增强

Country Status (4)

Country Link
US (1) US20230262235A1 (zh)
EP (1) EP4238311A4 (zh)
CN (1) CN116671105A (zh)
WO (1) WO2022093992A1 (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107079166A (zh) * 2014-10-28 2017-08-18 联发科技(新加坡)私人有限公司 用于视频编码的引导交叉分量预测的方法
US10419757B2 (en) * 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter

Also Published As

Publication number Publication date
WO2022093992A1 (en) 2022-05-05
WO2022093992A8 (en) 2023-06-15
US20230262235A1 (en) 2023-08-17
EP4238311A4 (en) 2024-05-29
EP4238311A1 (en) 2023-09-06

Similar Documents

Publication Publication Date Title
CN114007067B (zh) 对视频信号进行解码的方法、设备和介质
CN116418993A (zh) 视频编码的方法、装置和介质
US20230388509A1 (en) Chroma coding enhancement in cross-component sample adaptive offset
US20230396781A1 (en) Coding enhancement in cross-component sample adaptive offset
US20230199209A1 (en) Chroma coding enhancement in cross-component sample adaptive offset
CN116325734A (zh) 具有虚拟边界的跨分量样点自适应偏移中的色度编解码增强
US20240007652A1 (en) Coding enhancement in cross-component sample adaptive offset
CN115956362A (zh) 跨分量样点自适应偏移中的色度编码增强
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
US20230262235A1 (en) Chroma coding enhancement in cross-component sample adaptive offset with virtual boundary
CN117296315A (zh) 跨分量样点自适应偏移中的编解码增强
CN116569551A (zh) 交叉分量样本自适应偏移中的色度编码增强
CN117413516A (zh) 跨分量样本自适应偏移中的编解码增强
CN116965017A (zh) 在跨分量样点自适应偏移中的色度编解码增强
CN117769834A (zh) 跨分量样点自适应偏移中的编解码增强
CN117917074A (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