首页> 中国专利> 色度残差的联合编解码中的色度编解码增强

色度残差的联合编解码中的色度编解码增强

摘要

一种电子设备实现对视频数据进行解码的方法。该方法包括:从视频数据的比特流中接收或推断指示是否启用色度残差的联合编码(JCCR)的第一语法元素;在所述第一语法元素指示启用所述JCCR的情况下,从该比特流中接收或推断序列参数集(SPS)或图片参数集(PPS)中的指示图片头部中是否存在JCCR符号标志的第二语法元素;在该第二语法元素指示在图片头部中存在该JCCR符号标志的情况下,从该比特流中接收该图片头部中的JCCR符号标志,并根据该第一语法元素、该第二语法元素和该JCCR符号标志解码该视频数据。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-02-03

    公开

    国际专利申请公布

说明书

相关申请的交叉引用

本申请要求于2020年6月8日提交的美国临时申请No.63/036,439发明名称为“色度编解码增强”的优先权,该临时申请的全部内容通过引用完整地并入本文。

技术领域

本申请总体上涉及视频编解码和压缩,并且更具体地,涉及提高色度编解码效率的方法和装置。

背景技术

如数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏机、智能手机、视频电话会议设备、视频流式传输设备等各种电子设备都支持数字视频。电子设备通过实施视频压缩/解压缩标准来传输、接收、编码、解码和/或存储数字视频数据。一些众所周知的视频编解码标准包括通用视频编码(VersatileVideo Coding,VVC)、高效视频编码(High Efficiency Video Coding,HEVC,也被称为H.265或MPEG-H第2部分)和高级视频编码(Advanced Video Coding,AVC,也被称为H.264或MPEG-4第10部分),这些视频编解码标准由ISO/IEC MPEG和ITU-T VCEG联合开发。开放媒体联盟视频1(AOMedia Video 1,AV1)由开放媒体联盟(Alliance for Open Media,AOM)开发作为其先前标准VP9的后续标准。音视频编解码(Audio Video Coding,AVS)(其是指数字音频和数字视频压缩标准)是中国数字音视频编解码技术标准工作组(Audio andVideoCoding Standard Workgroup of China)开发的另一个视频压缩系列标准。

视频压缩典型地包括执行空间(帧内)预测和/或时间(帧间)预测以减少或消除视频数据中固有的冗余。对于基于块的视频编解码,将视频帧分区为一个或多个条带,每个条带具有多个视频块,所述视频块也可以被称为编码树单元(Coding tree unit,CTU)。每个CTU可以包含一个编码单元(Coding unit,CU)或递归地分割成较小的CU,直到达到预设的最小CU尺寸。每个CU(也称为叶CU)包含一个或多个变换单元(Transform Unit,TU),并且每个CU还包含一个或多个预测单元(Prediction Unit,PU)。可以以帧内、帧间或IBC模式对每个CU进行编解码。相对于同一视频帧内的相邻块中的参考样点,使用空间预测对视频帧的帧内编码(I)条带中的视频块进行编码。视频帧的帧间编码(P或B)条带中的视频块可以相对于同一视频帧内的相邻块中的参考样点使用空间预测或相对于其它先前和/或未来参考视频帧中的参考样点使用时间预测。

基于先前已被编码的参考块(例如,相邻块)的空间或时间预测产生针对待编码的当前视频块的预测块。查找参考块的过程可以通过块匹配算法来完成。表示待编码的当前块与预测块之间的像素差的残差数据被称为残差块或预测误差。根据指向形成预测块的参考帧中的参考块的运动向量、以及残差块来对帧间编码块进行编码。确定运动向量的过程典型地被称为运动估计。根据帧内预测模式和残差块对帧内编码块进行编码。为了进一步压缩,将残差块从像素域变换到变换域,例如频域,从而产生残差变换系数,然后可以对所述残差变换系数进行量化。可以扫描最初布置为二维阵列的量化的变换系数,以产生变换系数的一维向量,并且然后将其熵编码为视频比特流,以实现更多的压缩。

然后,将已编码视频比特流保存在计算机可读存储介质(例如,闪速存储器)中,以被具有数字视频能力的另一个电子设备访问,或者直接以有线或无线方式传输到电子设备。然后,电子设备通过例如解析已编码视频比特流以从比特流获得语法元素并且至少部分地基于从比特流获得的语法元素将数字视频数据从已编码视频比特流重构为其原始格式来执行视频解压缩(其是与上文描述的视频压缩相反的过程),并且在电子设备的显示器上渲染重构的数字视频数据。

随着数字视频质量从高清到4K×2K或甚至8K×4K,待编码/解码的视频数据量呈指数增长。如何在保持解码视频数据的图像质量的同时更高效地对视频数据进行编码/解码方面一直存在挑战。

发明内容

本申请描述了涉及视频数据编码和解码、更具体地涉及改进色度编解码的编解码效率的方法和装置,包括通过简化色度残差的联合编解码(Joint Coding of ChromaResiduals,JCCR)符号标志控制来提高编解码效率。在一些实施例中,通过信号发送标志来指示在图片头部中是否存在该JCCR符号标志。

根据本申请的第一方面,一种对视频数据进行解码的方法包括:从视频数据的比特流中接收或推断指示是否启用色度残差的联合编码(JCCR)的第一语法元素;在所述第一语法元素指示启用所述JCCR的情况下,从该比特流中接收或推断序列参数集(SequenceParameter Set,SPS)中的指示图片头部中是否存在JCCR符号标志的第二语法元素;以及根据该第一语法元素和该第二语法元素解码该视频数据。在一些实施例中,该对视频数据进行解码的方法还包括:在该第二语法元素指示在该图片头部中存在该JCCR符号标志的情况下,从该比特流中接收该图片头部中的JCCR符号标志,并根据该JCCR符号标志进一步对该视频数据进行解码。

根据本申请的第二方面,一种对视频数据进行解码的方法包括:从视频数据的比特流中接收或推断指示是否启用色度残差的联合编码(JCCR)的第一语法元素;在所述第一语法元素指示启用所述JCCR的情况下,从该比特流中接收或推断图片参数集(PictureParameter Set,PPS)中的指示图片头部中是否存在JCCR符号标志的第二语法元素;以及根据该第一语法元素和该第二语法元素解码视频数据。在一些实施例中,该对视频数据进行解码的方法还包括:在该第二语法元素指示在该图片头部中存在该JCCR符号标志的情况下,从该比特流中接收该图片头部中的JCCR符号标志,并根据该JCCR符号标志进一步对该视频数据进行解码。

根据本申请的第三方面,一种电子设备包括一个或多个处理单元、存储器和存储在该存储器中的多个程序。在由该一个或多个处理单元执行时,这些程序使得该电子设备实现上述对视频数据进行解码的方法。

根据本申请的第四方面,一种非暂时性计算机可读存储介质,其存储由包括一个或多个处理单元的电子设备执行的多个程序。在由该一个或多个处理单元执行时,这些程序使得该电子设备实现上述对视频数据进行解码的方法。

附图说明

包括附图来提供对实施方式的进一步理解,这些附图被并入说明书中并且构成说明书的一部分,这些附图示出了所描述的实施方式,并且与本描述一起用于解释本申请的原理。相同的附图标记指代相应的部分。

图1是示出了根据本申请的一些实施方式的示例性的视频编码和解码系统的框图。

图2是示出了根据本申请的一些实施方式的示例性的视频编码器的框图。

图3是示出了根据本申请的一些实施方式的示例性的视频解码器的框图。

图4A至图4E是示出了根据本申请的一些实施方式的如何将帧递归地分割为不同尺寸和形状的多个视频块的框图。

图5是示出了根据本申请的一些实施方式的用在样点自适应偏离(SampleAdaptive Offset,SAO)中的四个梯度模式的框图。

图6是示出了根据本申请的一些实施方式的利用色度残差的联合编解码(JCCR)符号标志控制对视频信号进行解码的示例性过程的流程图。

图7是示出了根据本申请的一些实施方式的利用简化的JCCR符号标志控制对视频信号进行解码的示例性过程的流程图。

具体实施方式

现在将详细参照具体实施方式,在附图中示出了具体实施方式的示例。在以下详细描述中,阐述了大量非限制性具体细节以便帮助理解本文呈现的主题。但是对于本领域普通技术人员将显而易见的是,在不脱离权利要求的范围的情况下,可以使用各种替代方案,并且可以在没有这些具体细节的情况下实践主题。例如,对于本领域普通技术人员将显而易见的是,本文呈现的主题可以在具有数字视频能力的许多类型的电子设备上实现。

第一代AVS标准包括中国国家标准《信息技术,高级音频视频编解码,第2部分:视频》(称为AVS1)和《信息技术,高级音频视频编解码,第16部分:无线电视视频》(称为AVS+)。与MPEG-2标准相比,它可以在相同的感知质量下节省大约50%的比特率。第二代AVS标准包括中国国家标准《信息技术,高效多媒体编解码》系列(称为AVS2),主要针对超高清电视节目的传输。AVS2的编解码效率是AVS+的两倍。同时,AVS2标准视频部分是由电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)提交的,作为一项国际标准应用。AVS3标准是针对超高清视频应用的新一代视频编解码标准,旨在超越最新国际标准HEVC的编解码效率,比HEVC标准节省约30%的比特率。2019年3月,在第68次AVS会议上,完成了AVS3-P2基线,与HEVC标准相比,它提供了大约30%的比特率节省。目前,一个称为高性能模型(High performance model,HPM)的参考软件由AVS小组维护,以演示AVS3标准的参考实现。与HEVC一样,AVS3标准建立在基于块的混合视频编解码框架之上。

图1是示出了根据本申请的一些实施方式的示例性的视频编码和解码系统的框图。如图1中所示,系统10包括源设备12,源设备12生成并编码稍后将由目标设备14进行解码的视频数据。源设备12和目标设备14可以包括各种各样的电子设备中的任何电子设备,包括台式计算机或膝上型计算机、平板计算机、智能电话、机顶盒、数字电视、相机、显示器设备、数字媒体播放器、视频游戏机、视频流传输设备等。在一些实施方式中,源设备12和目标设备14配备有无线通信能力。

在一些实施方式中,目标设备14可以经由链路16接收待解码的编码视频数据。链路16可以包括能够将编码视频数据从源设备12移动到目标设备14的任何类型的通信介质或设备。在一个示例中,链路16可以包括使源设备12能够实时地将编码视频数据直接发送到目标设备14的通信介质。编码视频数据可以根据通信标准(例如无线通信协议)被调制,并且被发送到目标设备14。通信介质可以包括任何无线或有线通信介质,例如射频(Radiofrequency,RF)频谱或一个或更多个物理传输线。通信介质可以形成基于分组的网络(例如局域网、广域网或诸如互联网的全球网)的一部分。通信介质可以包括路由器、交换机、基站或可以有利于促进从源设备12到目标设备14的通信的任何其它装置。

在其它一些实施方式中,可以将编码视频数据从输出接口22发送到存储设备32。随后,可以由目标设备14经由输入接口28访问存储设备32中的编码视频数据。存储设备32可以包括各种分布式或本地访问的数据存储介质中的任何数据存储介质,例如硬盘驱动器、蓝光光盘、数字通用盘(Digital Video Disc,DVD)、压缩盘只读存储器(Compact DiscRead-Only Memory,CD-ROM)、闪存存储器、易失性或非易失性存储器、或者用于存储编码视频数据的任何其它合适的数字存储介质。在另一示例中,存储设备32可以对应于文件服务器或可以保持由源设备12生成的编码视频数据的另一中间存储设备。目标设备14可以经由流传输或下载从存储设备32访问存储的视频数据。文件服务器可以是能够存储编码视频数据并且将编码视频数据发送到目标设备14的任何类型的计算机。示例性文件服务器包括网络服务器(例如,用于网站)、文件传输协议(File Transfer Protocol,FTP)服务器、网络附属存储(Network attached storage,NAS)设备或本地磁盘驱动器。目标设备14可以通过适合于访问存储在文件服务器上的编码视频数据的任何标准数据连接来访问编码视频数据,标准数据连接包括无线信道(例如,无线保真(Wi-Fi)连接)、有线连接(例如,数字订户线(Digital Subscriber Line,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向用户显示解码视频数据,并且可以包括各种显示器设备中的任何显示器设备,诸如液晶显示器(Liquid Crystal Display,LCD)、等离子显示器、有机发光二极管(Organic Light-Emitting Diode,OLED)显示器或另一类型的显示器设备。

视频编码器20和视频解码器30可以根据专有标准或行业标准(例如,VVC、HEVC、MPEG-4的第10部分、高级视频编码(AVC)、AVS)或此类标准的扩展进行操作。应当理解,本申请不限于特定的视频编码/解码标准,并且可以适用于其它视频编码/解码标准。通常认为源设备12的视频编码器20可以被配置为根据这些当前标准或未来标准中的任何标准对视频数据进行编码。类似地,还通常认为目标设备14的视频解码器30可以被配置为根据这些当前标准或未来标准中的任何标准对视频数据进行解码。

视频编码器20和视频解码器30可以分别被实现为各种合适的编码器电路中的任何一个,例如一个或更多个微处理单元、数字信号处理单元(digital signal processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field programmable gate array,FPGA)、分立逻辑器件、软件、硬件、固件或其任何组合。当部分地以软件实现时,电子设备可以将用于软件的指令存储于合适的非暂态计算机可读介质中,并且使用一个或更多个处理单元执行硬件中的指令以执行本申请中所公开的视频编码/解码操作。视频编码器20和视频解码器30中的每一个可以被包括在一个或更多个编码器或解码器中,编码器或解码器中的任一者可以被集成为相应设备中的组合式编码器/解码器(encoder/decoder,CODEC)的一部分。

图2是示出了根据本申请中描述的一些实施方式的示例性的视频编码器20的框图。视频编码器20可以对视频帧内的视频块执行帧内预测编码和帧间预测编码。帧内预测编码依赖于空间预测以减少或移除给定视频帧或图片内的视频数据中的空间冗余。帧间预测编码依赖于时间预测以减少或移除视频序列的邻近视频帧或图片内的视频数据中的时间冗余。

如图2中所示,视频编码器20包括视频数据存储器40、预测处理单元41、解码图片缓冲器(decoded picture buffer,DPB)64、加法器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41进一步包括运动估计单元42、运动补偿单元44、分割单元45、帧内预测处理单元46和帧内块复制(block copy,BC)单元48。在一些实施方式中,视频编码器20还包括用于视频块重构的反量化单元58、逆变换处理单元60和加法器62。诸如去块滤波器(未示出)的环内滤波器可以位于加法器62与DPB 64之间以对块边界进行滤波以从重构的视频中去除块状伪影。除了去块滤波器之外,还可以使用另一环内滤波器(未示出)来对加法器62的输出进行滤波。可以在重构的CU被放入参考图片存储器并用作对未来视频块进行编解码的参考之前,对该重构的CU应用进一步的环路滤波,例如,样点自适应偏离(SAO)和自适应环内滤波(adaptive in-loop filter,ALF)。视频编码器20可以采取固定或可编程硬件单元的形式,或者可以分散在所说明的固定或可编程硬件单元中的一个或更多个中。

视频数据存储器40可以存储将由视频编码器20的组件编码的视频数据。可例如从图1所示的视频源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确定块矢量。

在像素差方面,针对视频块的预测块可以是或可以对应于被认为与待编码视频块紧密匹配的参考帧的块或参考块,像素差可以由绝对差总和(sum of absolutedifference,SAD)、平方差总和(sum of square difference,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通过从当前视频块减去预测块来形成残差视频块。残差块中的残差视频数据可以被包括在一个或更多个变换单元(Transform Unit,TU)中并且提供给变换处理单元52。变换处理单元52使用变换(例如离散余弦变换(discrete cosine transform,DCT)或概念上类似的变换)将残差视频数据变换为残差变换系数。

变换处理单元52可以将所得变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步减小比特率。量化过程还可以减小与系数中的一些或全部相关联的比特深度。可以通过调整量化参数来修改量化程度。在一些示例中,量化单元54可以随后对包括量化的变换系数的矩阵执行扫描。备选地,熵编码单元56可以执行扫描。

在量化之后,熵编码单元56使用例如上下文自适应可变长度编码(contextadaptive variable length coding,CAVLC)、上下文自适应二进制算术编码(contextadaptive binary arithmetic coding,CABAC)、基于语法的上下文自适应二进制算术编码(syntax-based context-adaptive binary arithmetic coding,SBAC)、概率区间分割熵(probability interval partitioning entropy,PIPE)编码或另一熵编码方法或技术,将量化的变换系数熵编码成视频比特流。然后,可以将编码的比特流发送到如图1所示的视频解码器30,或存档于如图1所示的存储设备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可以由各种存储器设备中的任何存储器设备形成,例如动态随机存取存储器(Dynamic Random Access Memory,DRAM)(包括同步DRAM(Synchronous DynamicRandom Access Memory,SDRAM))、磁阻式RAM(Magneto-resistive Random AccessMemory,MRAM)、电阻式RAM(Resistive Random Access Memory,RRAM)或其它类型的存储器设备。出于说明性目的,视频数据存储器79和DPB 92在图3中被描绘为视频解码器30的两个不同组件。但是对于本领域的技术人员将显而易见的是,视频数据存储器79和DPB 92可以由同一存储器设备或单独存储器设备提供。在一些示例中,视频数据存储器79可以与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。

在解码过程期间,视频解码器30接收表示编码视频帧的视频块和相关联的语法元素的编码视频比特流。视频解码器30可以在视频帧级和/或视频块级接收语法元素。视频解码器30的熵解码单元80对比特流进行熵解码以生成量化系数、运动矢量或帧内预测模式指示符、以及其它语法元素。然后,熵解码单元80将运动矢量或帧内预测模式指示符、以及其它语法元素转发到预测处理单元81。

当视频帧被编码为帧内预测编码(I)帧或用于其它类型的帧中的帧内编码预测块时,预测处理单元81的帧内预测单元84可以基于用信号传送的帧内预测模式和来自当前帧的先前解码块的参考数据来生成用于当前视频帧的视频块的预测数据。

当视频帧被编码为帧间预测编码(即,B或P)帧时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收的运动矢量和其它语法元素产生针对当前视频帧的视频块的一个或更多个预测块。预测块中的每一个可以从参考帧列表中的一个参考帧列表内的参考帧产生。视频解码器30可以基于存储在DPB 92中的参考帧使用默认构建技术来构建参考帧列表,即,列表0和列表1。

在一些示例中,当根据本文描述的帧内BC模式对视频块进行编码时,预测处理单元81的帧内BC单元85基于从熵解码单元80接收的块矢量和其它语法元素产生针对当前视频块的预测块。预测块可以在由视频编码器20定义的与当前视频块相同的图片的重构区域内。

运动补偿单元82和/或帧内BC单元85通过解析运动矢量和其它语法元素来确定针对当前视频帧的视频块的预测信息,然后使用该预测信息产生针对正被解码的当前视频块的预测块。例如,运动补偿单元82使用接收到的语法元素中的一些语法元素来确定用于对视频帧的视频块进行编码的预测模式(例如,帧内预测或帧间预测)、帧间预测帧类型(例如,B或P)、用于针对帧的参考帧列表中的一个或更多个的构建信息、用于帧的每个帧间预测编码视频块的运动矢量、用于帧的每个帧间预测编码视频块的帧间预测状态、以及用于对当前视频帧中的视频块进行解码的其它信息。

类似地,帧内BC单元85可以使用接收到的语法元素中的一些语法元素,例如标志,以确定当前视频块是使用帧内BC模式预测的、帧的哪些视频块在重构区域内且应被存储在DPB 92中的构建信息、用于帧的每个帧内BC预测视频块的块矢量、用于帧的每个帧内BC预测视频块的帧内BC预测状态、以及用于对当前视频帧中的视频块进行解码的其它信息。

运动补偿单元82还可以使用如由视频编码器20在对视频块进行编码期间使用的内插滤波器执行内插,以计算针对参考块的子整数像素的内插值。在这种情况下,运动补偿单元82可以根据接收到的语法元素确定由视频编码器20使用的内插滤波器,并且使用这些内插滤波器来产生预测块。

反量化单元86使用由视频编码器20针对视频帧中的每个视频块计算出的用于确定量化程度的相同量化参数,对在比特流中提供且由熵解码单元80熵解码的量化的变换系数进行反量化。逆变换处理单元88将逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程)应用于变换系数,以便在像素域中重构残差块。

在运动补偿单元82或帧内BC单元85基于矢量和其它语法元素生成针对当前视频块的预测块之后,加法器90通过将来自逆变换处理单元88的残差块与由运动补偿单元82和帧内BC单元85生成的对应预测块相加,来重构针对当前视频块的解码视频块。环内滤波器(未示出)可位于加法器90与DPB 92之间以进一步处理解码的视频块。可在重构的CU被放入参考图片存储器之前对该重构的CU应用环内滤波(如去块滤波器、样点自适应偏离(SAO)和自适应环内滤波器(ALF))。然后,将给定帧中的解码视频块存储在DPB 92中,DPB 92存储用于接下来的视频块的后续运动补偿的参考帧。DPB 92或与DPB 92分离的存储器设备还可以存储解码视频以用于稍后呈现在显示器设备(例如,图1的显示器设备34)上。

在典型的视频编码过程中,视频序列通常包括帧或图片的有序集合。每一帧可以包括三个样点阵列,表示为SL、SCb和SCr。SL是亮度样点的二维阵列。SCb是Cb色度样点的二维阵列。SCr是Cr色度样点的二维阵列。在其它实例中,帧可以是单色的,因此仅包括亮度样点的一个二维阵列。

与HEVC一样,AVS3标准建立在基于块的混合视频编解码框架之上。输入视频信号被逐块(称为编码单元(CU))处理。与仅基于四叉树划分块的HEVC不同,在AVS3中,将一个编码树单元(CTU)划分为多个CU,以适应基于四叉树/二叉树/延伸的四叉树的不同局部特征。此外,HEVC中多分区单元类型的概念被去除了,即AVS3中不再存在CU、预测单元(PU)和变换单元(TU)的分离。相反,每个CU始终用作预测和变换的基本单元,而无需进一步分区。在AVS3的树分区结构中,一个CTU首先被基于四叉树结构划分。然后,每个四叉树的叶节点可以基于二叉树和延伸的四叉树结构被进一步划分。

如图4A中所示,视频编码器20(或更具体地,分割单元45)通过首先将帧分割为编码树单元(CTU)的集合来生成该帧的编码表示。视频帧可以包括以光栅扫描顺序从左到右和从上到下连续排序的整数个CTU。每个CTU是最大的逻辑编码单元,并且由视频编码器20在序列参数集中用信号传送CTU的宽度和高度,使得视频序列中的所有CTU具有128×128、64×64、32×32和16×16之一的相同尺寸。但是应当注意,本申请不必限于特定尺寸。如图4B中所示,每个CTU可以包括亮度样点的一个编码树块(Coding tree block,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可以包括相同尺寸的帧的亮度样点的编码块(Coding block,CB)和色度样点的两个对应编码块、以及用于对编码块的样点进行编码的语法元素。在单色图片或具有三个单独颜色平面的图片中,CU可以包括单个编码块和用于对编码块的样点进行编码的语法结构。应注意,图4C和图4D中所描绘的四叉树分割仅用于说明性目的,并且一个CTU可以基于四叉树分割/三叉树分割/二叉树分割而被划分为多个CU以适应于变化的局部特性。在多类型树结构中,一个CTU按照四叉树结构被分割,并且每个四叉树叶CU可以按照二叉和三叉树结构被进一步分割。如图4E所示,在AVS3中有五种分割/划分类型,即四叉树分割、水平二叉树分割、垂直二叉树分割、水平扩展四叉树分割和垂直扩展四叉树分割。

在一些实施方式中,视频编码器20可以进一步将CU的编码块分割为一个或更多个(M×N个)预测块(prediction block,PB)。PB是被应用相同预测(帧间或帧内)的矩形(正方形或非正方形)样点块。CU的预测单元(PU)可以包括亮度样点的PB、色度样点的两个对应PB和用于对PB进行预测的语法元素。在单色图片或具有三个单独颜色平面的图片中,PU可以包括单个PB和用于对PB进行预测的语法结构。视频编码器20可以生成针对CU的每个PU的亮度预测块、Cb预测块和Cr预测块的预测亮度块、预测Cb块和预测Cr块。

视频编码器20可以使用帧内预测或帧间预测来生成针对PU的预测块。如果视频编码器20使用帧内预测来生成PU的预测块,则视频编码器20可以基于与PU相关联的帧的解码样点来生成PU的预测块。如果视频编码器20使用帧间预测来生成PU的预测块,则视频编码器20可以基于除与PU相关联的帧之外的一个或更多个帧的解码样点来生成PU的预测块。

在视频编码器20生成针对CU的一个或更多个PU的预测亮度块、预测Cb块和预测Cr块之后,视频编码器20可以通过从CU的原始亮度编码块减去CU的预测亮度块来生成针对CU的亮度残差块,使得CU的亮度残差块中的每个样点指示CU的预测亮度块之一中的亮度样点与CU的原始亮度编码块中的对应样点之差。类似地,视频编码器20可以分别生成针对CU的Cb残差块和Cr残差块,使得CU的Cb残差块中的每个样点指示CU的预测Cb块之一中的Cb样点与CU的原始Cb编码块中的对应样点之差,并且CU的Cr残差块中的每个样点可以指示CU的预测Cr块之一中的Cr样点与CU的原始Cr编码块中的对应样点之差。

此外,如图4C中所示,视频编码器20可以使用四叉树分割将CU的亮度残差块、Cb残差块和Cr残差块分别分解成一个或更多个亮度变换块、Cb变换块和Cr变换块。变换块是被应用相同变换的矩形(正方形或非正方形)样点块。CU的TU可以包括亮度样点的变换块、色度样点的两个对应变换块和用于对变换块样点进行变换的语法元素。因此,CU的每个TU可以与亮度变换块、Cb变换块和Cr变换块相关联。在一些示例中,与TU相关联的亮度变换块可以是CU的亮度残差块的子块。Cb变换块可以是CU的Cb残差块的子块。Cr变换块可以是CU的Cr残差块的子块。在单色图片或具有三个单独颜色平面的图片中,TU可以包括单个变换块和用于对该变换块的样点进行变换的语法结构。

视频编码器20可以将一个或更多个变换应用于TU的亮度变换块以生成针对TU的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一个或更多个变换应用于TU的Cb变换块以生成针对TU的Cb系数块。视频编码器20可以将一个或更多个变换应用于TU的Cr变换块以生成针对TU的Cr系数块。

在生成系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以对系数块进行量化。量化通常是指变换系数被量化以可能减少用于表示变换系数的数据量从而提供进一步压缩的过程。在视频编码器20对系数块进行量化之后,视频编码器20可以对指示量化的变换系数的语法元素进行熵编码。例如,视频编码器20可以对指示量化的变换系数的语法元素执行上下文自适应二进制算术编码(context adaptive binaryarithmetic coding,CABAC)。最后,视频编码器20可以输出包括比特序列的比特流,比特序列形成编码帧和相关联数据的表示,比特流被保存于存储设备32中或被发送到目标设备14。

在接收到由视频编码器20生成的比特流之后,视频解码器30可以解析比特流以从比特流获得语法元素。视频解码器30可以至少部分地基于从比特流获得的语法元素来对视频数据的帧进行重构。对视频数据进行重构的过程通常与由视频编码器20执行的编码过程互逆。例如,视频解码器30可以对与当前CU的TU相关联的系数块执行逆变换以重构与当前CU的TU相关联的残差块。视频解码器30还通过将针对当前CU的PU的预测块的样点与当前CU的TU的变换块的对应样点相加,来重构当前CU的编码块。在重构针对帧的每个CU的编码块之后,视频解码器30可以重构帧。

SAO是通过在应用去块滤波器之后基于由编码器发送的查找表中的值将偏移值有条件地加到每个样点来修改解码样点的过程。基于通过语法元素sao-type-idx按CTB选择的滤波类型,在区域基础上执行SAO滤波。sao-type-idx的值0指示不将SAO滤波器应用于CTB,并且值1和值2分别用信号传送频带偏移滤波器类型的使用和边缘偏移滤波器类型的使用。在由等于1的sao-type-idx指定的频带偏移模式中,所选择的偏移值直接取决于样点幅度。在该模式中,整个样点幅度范围被均匀地划分为32个分段(称为频带),并且属于这些频带中的四个频带(在32个频带内是连续的)的样点值通过与被发送的值(被表示为频带偏移)相加而被修改,频带偏移可以是正的或负的。使用四个连续频带的主要原因是在可能出现带状伪影的平滑区域中,CTB中的样点幅度趋向于仅集中在几个频带中。此外,使用四个偏移的设计选择与也使用四个偏移值的边缘偏移模式的操作是统一的。在由等于2的sao-type-idx指定的边缘偏移模式中,具有从0至3的值的语法元素sao-eo-class用信号传送是水平方向、垂直方向还是两个对角梯度方向之一被用于CTB中的边缘偏移分类。

图5是示出了根据本申请的一些实施方式的用在SAO中的四个梯度模式的框图。四个梯度模式502、504、506和508被用于边缘偏移模式中的相应sao-eo-class。标记为“p”的样点指示将被考虑的中心样点。标记为“n0”和“n1”的两个样点指定沿着(a)水平(sao-eo-class=0)梯度模式、(b)垂直(sao-eo-class=1)梯度模式、(c)135°对角线(sao-eo-class=2)梯度模式和(d)45°(sao-eo-class=3)梯度模式的两个相邻样点。如图5所示,通过将位于某个位置处的样点值p与位于相邻位置处的两个样点的值n0和n1进行比较,将CTB中的每个样点分类为五个EdgeIdx类别之一。基于解码样点值对每个样点进行这种分类,因此EdgeIdx分类不需要额外信令。取决于样点位置处的EdgeIdx类别,对于从1至4的EdgeIdx类别,将来自发送的查找表的偏移值与样点值相加。偏移值对于类别1和类别2总是正的,并且对于类别3和类别4总是负的。因此,滤波器通常在边缘偏移模式下具有平滑效果。下面的表1示出了SAO边缘分类中的样点EdgeIdx类别。

表1:SAO边缘分类中的样点EdgeIdx类别

对于SAO类型1和SAO类型2,针对每个CTB将总共四个幅度偏移值发送到解码器。对于类型1,符号也被编码。偏移值和相关语法元素(诸如sao-type-idx和sao-eo-class)由编码器确定-通常使用优化率失真性能的标准。可使用合并标志来指示SAO参数以从左侧CTB或上方CTB继承,从而使信令有效。总之,SAO是非线性滤波操作,其允许重建信号的附加修正,并且它可增强平滑区域和周围边缘的信号表示。

在一些实施例中,本文公开了简化VVC标准中的色度残差的联合编解码(JCCR)CSign标志控制的方法和系统。虽然在以下描述中使用VVC标准中的JCCR设计作为基本的JCCR方法,但是对于视频编码领域的技术人员来说,本发明描述的方法和系统也可以应用于其它残差编解码或具有相同或相似设计精神的其它编码工具。

在VVC JCCR设计中,通过信号发送图片级标志以指示在JCCR resJointC[x][y]推导中应用的CSign。然而,具有编码视频内容的先验知识的编码器受制于重复地通过信号发送图片级标志,即使整个序列仅适合于应用负符号。编码器能够在对序列进行编码之前分析常见用例以确定JCCR符号,而当前的VVC语法要求编码器重复地通过信号发送图片级标志,这会导致冗余。下面的表2示出了图片头部结构语法。

表2:图片头部结构语法

ph_joint_cbcr_sign_flag指明在tu_joint_cbcr_residual_flag[x0][y0]等于1的变换单元中,两个色度分量的并置残差样点是否具有反转符号。当tu_joint_cbcr_residual_flag[x0][y0]对于一个变换单元等于1时,ph_joint_cbcr_sign_flag等于0指明Cr(或Cb)分量的每个残差样点的符号与并置的Cb(或Cr)残差样点的符号相同,ph_joint_cbcr_sign_flag等于1指明Cr(或Cb)分量的每个残差样点的符号由并置的Cb(或Cr)残差样点的反转符号给出。

在一实施例中,通过信号发送SPS标志(sps_joint_cbcr_info_present_in_ph_flag)以指示在图片头部中是否存在ph_joint_cbcr_sign_flag。当ph_joint_cbcr_sign_flag不存在时,ph_joint_cbcr_sign_flag的值被推断为等于1。提供了一些变体或替代语法示例。修改后的语法如下表3和表4所示。

表3:通过信号发送SPS标志(sps_joint_cbcr_info_present_in_ph_flag)以指示图片头部中是否存在ph_joint_cbcr_sign_flag时的序列参数集原始字节序列负荷(RawByte Sequence Payload,RBSP)语法

表4:通过信号发送SPS标志(sps_joint_cbcr_info_present_in_ph_flag)以指示图片头部中是否存在ph_joint_cbcr_sign_flag时的图片头部结构语法

在一些实施例中,表3中所示的序列参数集原始字节序列负荷(Raw ByteSequence Payload,RBSP)语义的定义在下文进一步详细解释。

sps_joint_cbcr_enabled_flag等于0指明色度残差的联合编码被禁用。sps_joint_cbcr_enabled_flag等于1指明启用色度残差的联合编码。当sps_joint_cbcr_enabled_flag不存在时,sps_joint_cbcr_enabled_flag的值被推断为等于0。

sps_joint_cbcr_info_present_in_ph_flag等于1指明ph_joint_cbcr_sign_flag存在于引用SPS的图片头部(Picture header,PH)中。sps_joint_cbcr_info_present_in_ph_flag等于0指明ph_joint_cbcr_sign_flag不存在于引用SPS的PH中。当sps_joint_cbcr_info_present_in_ph_flag不存在时,sps_joint_cbcr_info_present_in_ph_flag的值被推断为等于0。

在一些实施例中,下面更详细地解释表4中所示的图片头部结构语义的定义。

ph_joint_cbcr_sign_flag指明在tu_joint_cbcr_residual_flag[x0][y0]等于1的变换单元中,两个色度分量的并置残差样点是否具有反转符号。当tu_joint_cbcr_residual_flag[x0][y0]对于一个变换单元等于1时,ph_joint_cbcr_sign_flag等于0指明Cr(或Cb)分量的每个残差样点的符号与并置的Cb(或Cr)残差样点的符号相同,ph_joint_cbcr_sign_flag等于1指明Cr(或Cb)分量的每个残差样点的符号由并置的Cb(或Cr)残差样点的反转符号给出。当ph_joint_cbcr_sign_flag不存在时,推断ph_joint_cbcr_sign_flag的值等于1。

在另一实施例中,通过信号发送PPS标志(joint_cbcr_info_in_ph_flag)以指示ph_joint_cbcr_sign_flag是否存在于图片头部中。当ph_joint_cbcr_sign_flag不存在时,ph_joint_cbcr_sign_flag的值被推断为等于1。提供了一些变体或替代语法示例。修改后的语法如下表5和表6所示。

表5:通过信号发送PPS标志(joint_cbcr_info_in_ph_flag)以指示图片头部中是否存在ph_joint_cbcr_sign_flag时的图片参数集原始字节序列负荷(Raw Byte SequencePayload,RBSP)语法

表6:通过信号发送PPS标志(joint_cbcr_info_in_ph_flag)以指示图片头部中是否存在ph_joint_cbcr_sign_flag时的图片头部结构语法

在一些实施例中,下面更详细地解释表5中所示的图片参数集原始字节序列负荷(Raw Byte Sequence Payload,RBSP)语义的定义。

joint_cbcr_info_in_ph_flag等于1指明ph_joint_cbcr_sign_flag存在于引用PPS的PH中。joint_cbcr_info_in_ph_flag等于0指明ph_joint_cbcr_sign_flag不存在于引用PPS的PH中。当joint_cbcr_info_in_ph_flag不存在时,joint_cbcr_info_in_ph_flag的值被推断为等于0。

rpl_info_in_ph_flag等于1指明参考图片列表信息存在于该PH语法结构中并且不存在于条带头部中,该条带头部引用不包含PH语法结构的PPS。rpl_info_in_ph_flag等于0指明参考图片列表信息不存在于PH语法结构中,并且可能存在于引用PPS的条带头部中。当rpl_info_in_ph_flag不存在时,rpl_info_in_ph_flag的值被推断为等于0。

sao_info_in_ph_flag等于1指明SAO滤波信息存在于PH语法结构中并且不存在于条带头部中,该条带头部引用不包含PH语法结构的PPS。sao_info_in_ph_flag等于0指明SAO滤波信息不存在于PH语法结构中,并且可能存在于引用PPS的条带头部中。当sao_info_in_ph_flag不存在时,sao_info_in_ph_flag的值被推断为等于0。

在一些实施例中,下面更详细地解释表6中所示的图片头部结构语义的定义。

ph_joint_cbcr_sign_flag指明在tu_joint_cbcr_residual_flag[x0][y0]等于1的变换单元中,两个色度分量的并置残差样点是否具有反转符号。当tu_joint_cbcr_residual_flag[x0][y0]对于一个变换单元等于1时,ph_joint_cbcr_sign_flag等于0指明Cr(或Cb)分量的每个残差样点的符号与并置的Cb(或Cr)残差样点的符号相同,ph_joint_cbcr_sign_flag等于1指定Cr(或Cb)分量的每个残差样点的符号由并置的Cb(或Cr)残差样点的反转符号给出。当ph_joint_cbcr_sign_flag不存在时,推断ph_joint_cbcr_sign_flag的值等于1。

图6是示出了根据本申请的一些实施方式的利用简化的色度残差的联合编解码(JCCR)符号标志控制对视频信号进行解码的示例性过程600的流程图。

视频解码器30从视频数据的比特流中接收或推断指示是否启用色度残差的联合编码(JCCR)的第一语法元素(610)。

在该第一语法元素指示启用该JCCR的情况下,视频解码器30从该比特流中接收或推断序列参数集(SPS)中的指示图片头部中是否存在JCCR符号标志的第二语法元素(620)。

视频解码器30根据该所述第一语法元素和第二语法元素解码视频数据(630)。

在一些实施例中,在该第二语法元素指示在图片头部中存在该JCCR符号标志的情况下,视频解码器30从该比特流中接收该图片头部中的JCCR符号标志,并根据该JCCR符号标志进一步解码该视频数据。

在一些实施例中,从该比特流中接收或推断该SPS中的指示该图片头部中是否存在该JCCR符号标志的第二语法元素(620)包括:在该SPS中存在该第二语法元素的情况下,视频解码器30从该比特流中接收指示该图片头部中是否存在该JCCR符号标志的该SPS中的该第二语法元素;在该SPS中不存在该第二语法元素的情况下,视频解码器30推断该SPS中的该第二语法元素以指示该图片头部中不存在该JCCR符号标志。

在一些实施例中,从该视频数据的比特流中接收或推断指示是否启用该JCCR的该第一语法元素(610)包括:在存在该第一语法元素的情况下,从该比特流中接收指示是否启用该JCCR的该第一语法元素;在SPS中不存在该第一语法元素的情况下,推断该第一语法元素以指示未启用该JCCR。

在一些实施例中,该第一语法元素是sps_joint_cbcr_enabled_flag。

在一些实施例中,该第二语法元素是sps_joint_cbcr_info_present_in_ph_flag。

在一些实施例中,该JCCR符号标志是ph_joint_cbcr_sign_flag。

在一些实施例中,该JCCR符号标志指示多个色度分量的每个残差样点的第一符号是否与对应的多个色度分量的每个并置残差样点的第二符号相同。

在一些实施例中,在该图片头部中不存在该JCCR符号标志的情况下,视频解码器30推断该JCCR符号标志以指示多个色度分量的每个残差样点的第一符号与对应的多个色度分量的每个并置残差样点的第二符号不同。

图7是示出了根据本申请的一些实施方式的利用简化的色度残差的联合编解码(JCCR)符号标志控制对视频信号进行解码的示例性过程700的流程图。

视频解码器30从视频数据的比特流中接收或推断指示是否启用色度残差的联合编码(JCCR)的第一语法元素(710)。

在该第一语法元素指示启用该JCCR的情况下,视频解码器30从该比特流中接收或推断图片参数集(PPS)中的指示图片头部中是否存在JCCR符号标志的第二语法元素(720)。

视频解码器30根据该第一语法元素和第二语法元素解码视频数据(730)。

在一些实施例中,该第一语法元素是sps_joint_cbcr_enabled_flag。

在一些实施例中,该第二语法元素是joint_cbcr_info_in_ph_flag。

在一些实施例中,当该第二语法元素指示在图片头部中存在该JCCR符号标志的情况下,视频解码器30从该比特流中接收该图片头部中的JCCR符号标志并且根据该JCCR符号标志进一步解码该视频数据。

在一些实施例中,从比特流接收或推断PPS中的指示JCCR符号标志是否存在于图片头部中的第二语法元素(720)包括:在该PPS中存在该第二语法元素的情况下,视频解码器30从该比特流中接收PPS中的第二语法元素,该第二语法元素指示JCCR符号标志是否存在于图片头部中;当该PPS中不存在该第二语法元素时,视频解码器30推断PPS中的第二语法元素以指示JCCR符号标志不存在于图片头部中。

在一些实施例中,从该视频数据的比特流中接收或推断指示是否启用JCCR的第一语法元素(710)包括:在存在该第一语法元素的情况下,从比特流中接收指示是否启用JCCR的第一语法元素;在PPS中不存在第一个语法元素的情况下,推断第一个语法元素以指示未启用JCCR。

在一些实施例中,该JCCR符号标志是ph_joint_cbcr_sign_flag。

在一些实施例中,该JCCR符号标志指示多个色度分量的每个残差样点的第一符号是否与对应的多个色度分量的每个并置残差样点的第二符号相同。

在一些实施例中,在该图片头部中不存在该JCCR符号标志的情况下,视频解码器30推断该JCCR符号标志以指示多个色度分量的每个残差样点的第一符号与对应的多个色度分量的并置残差样点的第二符号不同。

其它的实施例还包括在各种其它实施例中组合或以其它方式重新布置的上述实施例的各种子集。

在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则这些功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输并由基于硬件的处理单元执行。计算机可读介质可包括计算机可读存储介质,其对应于诸如数据存储介质之类的有形介质,或者包括便于将计算机程序从一个地方转移到另一个地方的任何介质的通信介质,例如,根据通信协议。在这种方式中,计算机可读介质通常可对应于(1)非暂时性的有形计算机可读存储介质或(2)诸如信号或载波的通信介质。数据存储介质可以是可由一台或多台计算机或一个或多个处理器访问以检索指令、代码和/或数据结构以实现本申请中描述的实施方式的任何可用介质。计算机程序产品可包括计算机可读介质。

在此处的实施方式的描述中使用的术语仅用于描述特定实施方式的目的,并不旨在限制权利要求的范围。在实施方式和所附权利要求的描述中使用的单数形式“一个”和“该/所述”也旨在包括复数形式,除非上下文另有明确指示。还应理解,本文所用的术语“和/或”是指并且涵盖一个或多个相关联的所列项目的任何和所有可能的组合。将会进一步理解,当在本说明书中使用时,术语“包括”指定所陈述的特征、要素和/或组件的存在,但不排除其它一个或多个特征、要素、组件和/或它们的组的存在或添加。

还应理解,虽然术语第一、第二等在本文中可用于描述各种要素,但这些要素不应受限于这些术语。这些术语仅用于区分一种要素与另一种要素。例如,在不脱离实施方式的范围的情况下,第一电极可以被称为第二电极,并且类似地,第二电极可以被称为第一电极。第一电极和第二电极都是电极,但不是同一个电极。

在整个说明书中以单数或复数形式对“一个示例”、“示例”、“示例性示例”等的引用表示结合示例描述的一个或多个特定特征、结构或特性包括在本申请的至少一个示例中。因此,贯穿本说明书的各处以单数或复数形式出现的短语“在一个示例中”或“在示例中”、“在示例性示例中”等不一定都指代同一示例。此外,一个或多个示例中的特定特征、结构或特性可以包括以任何合适的方式组合。

本申请的描述是为了说明和描述的目的而呈现的,并不旨在穷举或限制以所公开形式的本发明。受益于前述描述和相关附图中呈现的教导,本领域普通技术人员将明白许多修改、变化和替代实施方式。选择和描述实施例是为了最好地解释本发明的原理、实际应用,并使本领域的其他技术人员能够理解本发明的各种实现方式,并最好地利用具有各种修改的基本原理和各种实现方式,如适用于预期的特定用途。因此,应当理解,权利要求的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在包括在所附权利要求的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号