视频解码方法及装置、视频编码方法及装置、介质和设备与流程

文档序号:25992803发布日期:2021-07-23 21:05阅读:93来源:国知局
视频解码方法及装置、视频编码方法及装置、介质和设备与流程

本公开涉及视频处理技术领域,具体而言,涉及一种视频解码方法及装置、视频编码方法及装置,以及实现上述方法的计算机存储介质和电子设备。



背景技术:

h.266是在h.265/hevc(highefficientvideocoding,高效率视频压缩编码)基础上改进的新一代视频编解码标准。h.266可以称为vvc(versatilevideocoding,通用视频编码),由jvet(jointvideoexpertsteam,联合视频专家组)组织引导不断更新完善中。

vvc对不同格式类型的视频进行编码(如,rgb格式类型、yuv格式类型),然而,针对不同格式类型的原始视频,编码工具/编码方式不同。对应地,针对不同格式类型的已编码视频,解码方式也不同。

然而,目前vvc采用的视频编解码方法的灵活度有待提高。

需要说明的是,上述背景技术部分公开的信息仅用于加强对本公开的背景的理解。



技术实现要素:

本公开的目的在于提供一种视频解码方法及装置、视频编码方法及装置,以及实现上述视频解码方法和上述视频编码方法的计算机存储介质和电子设备,进而至少在一定程度上提高视频编解码方法的灵活度,并有利于提升视频编解码效率。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开的一个方面,提供一种视频解码方法,包括:

从已编码视频流中获取待解码视频的参数集;根据所述参数集中的格式标志位,确定所述待解码视频中目标视频帧的目标格式类型;根据所述目标格式类型确定目标解码方式对应的语法元素;以及,根据所述语法元素的取值,启用或禁用所述目标解码方式。

根据本公开的另一个方面,提供一种视频编码方法,包括:

获取待编码视频的参数集;根据所述参数集中的格式标志位,确定所述待编码视频中目标视频帧的目标格式类型;根据所述目标格式类型确定目标编码方式对应的语法元素;以及根据所述语法元素的取值,启用或禁用所述目标编码方式。

根据本公开的再一个方面,提供一种视频解码装置,包括:

参数集获取模块,被配置为:从已编码视频流中获取待解码视频的参数集;格式类型确定模块,被配置为:根据上述参数集中的格式标志位,确定上述待解码视频中目标视频帧的目标格式类型;语法元素确定模块,被配置为:根据上述目标格式类型确定目标解码方式对应的语法元素;以及,解码处理模块,被配置为:根据上述语法元素的取值,启用或禁用上述目标解码方式。

在本公开的一些实施例中,基于前述方案,上述参数集获取模块,被具体配置为:

从已编码视频流中获取待解码视频的获取上述待解码视频的以下参数集中的一种或多种:视频参数集vps、序列参数集sps、图像参数集pps。

在本公开的一些实施例中,基于前述方案,上述格式类型确定模块,包括:取值确定单元和格式类型确定单元。

其中,上述取值确定单元,被配置为:确定上述参数集中上述格式标志位的取值;上述格式类型确定单元,被配置为:根据上述格式标志位的取值确定上述目标视频帧的目标格式类型。

在本公开的一些实施例中,基于前述方案,在上述序列参数集sps中,上述格式标志位为:sps_rgb_format_flag;上述取值确定单元,被具体配置为:若上述sps中不存在sps_rgb_format_flag,则上述格式标志位的取值为第一参数;上述格式类型确定单元,被具体配置为:上述格式标志位的取值为上述第一参数时,上述目标格式类型为yuv;上述格式标志位的取值为第二参数时,上述目标格式类型为rgb。

在本公开的一些实施例中,基于前述方案,上述语法元素确定模块,被具体配置为:若上述目标格式类型为rgb,则确定与上述目标格式类型具有关联关系的目标解码方式包括以下方式中的一种或多种:联合cb-cr残差编解码jccr、交叉分量线性模型cclm和交叉分量自适应环路滤波器ccalf;以及,获取上述目标解码方式的语法元素。

在本公开的一些实施例中,基于前述方案,上述语法元素确定模块,被具体配置为:若上述目标格式类型为yuv,则确定与上述目标格式类型具有关联关系的目标解码方式包括:自适应颜色变换act;以及,获取上述目标解码方式的语法元素。

在本公开的一些实施例中,基于前述方案,上述解码处理模块,包括:标志位的取值确定单元和第一处理单元/第二处理单元。

其中,上述标志位的取值确定单元,被配置为:获取上述待解码视频的参数集,以及在上述参数集中获取用于确定上述目标格式类型的格式标志位的取值;

上述第一处理单元,被配置为:基于上述格式标志位的取值确定所述语法元素的取值,以禁止发送用于标识上述目标解码方式的启动状态的语法元素;

上述第二处理单元,被配置为:基于上述格式标志位的取值和解码流一致性,将用于标识上述目标解码方式的启动状态的语法元素的取值设置为预设值,以启用或禁用所述目标解码方式。

在本公开的一些实施例中,基于前述方案,上述第一处理单元,被具体配置为:将上述格式标志位的取值作为条件语句的条件内容确定所述语法元素的取值,以禁止发送用于标识上述目标解码方式的启动状态的语法元素。

在本公开的一些实施例中,基于前述方案,若上述格式标志位的取值为第二参数,且上述目标解码方式为jccr,则用于标志上述目标解码方式启动状态的第一语法元素为sps_joint_cbcr_enabled_flag;

其中,上述第二处理单元,被具体配置为:根据上述解码流一致性,在上述格式标志位的取值为上述第二参数时,将上述第一语法元素sps_joint_cbcr_enabled_flag的取值设置为0。

在本公开的一些实施例中,基于前述方案,在上述第一语法元素sps_joint_cbcr_enabled_flag的取值设置为0时,cr(chromared,红色色度)和cb(chromablue,蓝色色度)残差块的联合解码被禁用。

在本公开的一些实施例中,基于前述方案,若上述格式标志位的取值为第二参数,且上述目标解码方式为cclm,则用于标志上述目标解码方式启动状态的第二语法元素为sps_cclm_enabled_flag;

其中,上述第二处理单元,被具体配置为:根据上述解码流一致性,在上述格式标志位的取值为上述第二参数时,将上述第二语法元素sps_cclm_enabled_flag的取值设置为0。

在本公开的一些实施例中,基于前述方案,在上述第二语法元素sps_cclm_enabled_flag的取值设置为0时,基于交叉分量线性模型的帧内预测被禁用。

在本公开的一些实施例中,基于前述方案,若上述格式标志位的取值为第二参数,且上述目标解码方式为ccalf,则用于标志上述目标解码方式启动状态的第三语法元素为ccalf对应的启动标识。

在本公开的一些实施例中,基于前述方案,若上述格式标志位的取值为第一参数,且上述目标解码方式为act,则用于标志上述目标解码方式启动状态的第四语法元素为sps_act_enabled_flag;

其中,上述第二处理单元,被具体配置为:根据上述解码流一致性,在上述格式标志位的取值为上述第一参数时,将上述第四语法元素为sps_act_enabled_flag的取值设置为0。

在本公开的一些实施例中,基于前述方案,将上述第四语法元素为sps_act_enabled_flag设置为0时,自适应颜色变换解码被禁用。

根据本公开的又一个方面,提供一种视频编码装置,包括:

参数集获取模块,被配置为:获取待编码视频的参数集;格式类型确定模块,被配置为:根据上述参数集中的格式标志位,确定上述待编码视频中目标视频帧的目标格式类型;语法元素确定模块,被配置为:根据上述目标格式类型确定目标编码方式对应的语法元素;以及,编码处理模块,被配置为:根据上述语法元素的取值,启用或禁用上述目标编码方式。

根据本公开的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述视频解码方法,或实现上述视频编码方法。

根据本公开的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述视频解码方法,或实现上述视频编码方法。

由上述技术方案可知,本公开示例性实施例中的视频解码方法及装置、视频编码方法及装置,以及实现上述视频解码方法和上述视频编码方法的计算机存储介质和电子设备至少具备以下优点和积极效果:

在本公开的一些实施例所提供的技术方案中,从已编码视频流中获取待解码视频的参数集,根据所述参数集中的格式标志位,确定所述待解码视频中目标视频帧的目标格式类型。从而通过格式标志位方便地获取到视频帧的格式类型。又鉴于不同格式类型的视频帧所适用的解码方式不同,所以本技术方案还根据上述目标格式类型确定目标解码方式对应的语法元素,进一步地,语法元素的取值,启用或禁用所述目标解码方式。以在对该目标视频帧的解码的过程中,根据上述语法元素的取值来禁用或启用相关目标解码方式,从而避免了试图采用不适用于目标格式类型的解码方式进行解码带来的资源浪费,且有利于高效准确地确定适用于上述目标格式类型的解码方式,进而提升解码效率。同时,有利于提升解码灵活性。

本公开应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

在附图中:

图1示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图;

图2示出了本公开示例性示出的视频编码器和视频解码器在流式传输环境中的放置方式的示意图;

图3示出了本公开一个实施例提供的帧间预测模式下的编码示意图;

图4示出了本公开一个实施例提供的帧内预测模式下的编码示意图;

图5示意性示出了ccalf采用了菱形的滤波核;

图6示意性示出了根据本公开实施例中视频解码方法的流程示意图;

图7示意性示出了根据本公开另一实施例中视频解码方法的流程示意图;

图8示意性示出了根据本公开实施例中视频编码方法的流程示意图;

图9示意性示出了根据本公开实施例中视频解码装置的结构示意图;

图10示意性示出了根据本公开实施例中视频编码装置的结构示意图;以及,

图11示出本公开示例性实施例中电子设备的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

图1示出了可以应用本公开实施例的一种视频解码方法及装置、视频编码方法及装置的示例性应用环境的系统架构的示意图。

如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。

本公开实施例所提供的视频解码方法一般由服务器105执行,相应地,视频解码装置一般设置于服务器105中。但本领域技术人员容易理解的是,本公开实施例所提供的视频解码方法、也可以由终端设备101、102、103执行,相应的,视频解码装置也可以设置于终端设备101、102、103中,本示例性实施例中对此不做特殊限定。

举例而言,在一种示例性实施例中,可以是终端设备101、102、103获取已编码视频流并发送至服务器105;从而,服务器105从已编码视频流中获取待解码视频的参数集;然后,服务器105根据所述参数集中的格式标志位,确定所述待解码视频中目标视频帧的目标格式类型。进一步地,服务器105根根据所述目标格式类型确定目标解码方式对应的语法元素。最终,服务器105根据所述语法元素的取值,启用或禁用所述目标解码方式。

示例性的,服务器105还可以将解码后的视频发送至终端设备101、102、103。从而,用户可以通过终端设备101、102、103中查看解码后的视频。

作为实施例,图2示出视频编码器和视频解码器在流式传输环境中的放置方式。本公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字tv(television,电视)、在包括cd(compactdisc,光盘)、dvd(digitalversatiledisc,数字通用光盘)、存储棒等的数字介质上存储压缩视频等等。

参考图2,流式传输系统可包括采集子系统213,其中,该采集子系统213可包括数码相机等视频源201,该视频源创建未压缩的视频图片流202。在实施例中,视频图片流202包括由数码相机拍摄的样本。相较于已编码的视频数据204(或已编码的视频码流),视频图片流202被描绘为粗线以强调高数据量的视频图片流,视频图片流202可由电子装置220处理,该电子装置220包括耦接到视频源201的视频编码器203。

其中,视频编码器203可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。相较于视频图片流202,已编码的视频数据204(或已编码的视频码流)被描绘为细线以强调较低数据量的已编码的视频数据204(或已编码的视频码流),其可存储在流式传输服务器205上以供将来使用。

另外,流式传输系统还可包括一个或多个流式传输客户端子系统。例如图2中的客户端子系统206和客户端子系统208,可分别访问流式传输服务器205以检索已编码的视频数据204的副本207和副本209。客户端子系统206可包括例如电子装置230中的视频解码器210。其中,视频解码器210对已编码的视频数据的传入副本207进行解码,且产生可在显示器212(例如显示屏)或另一呈现装置(未描绘)上呈现的输出视频图片流211。在一些流式传输系统中,可根据某些视频编码/压缩标准对已编码的视频数据204、视频数据207和视频数据209(例如视频码流)进行编码。

应注意,电子装置220和电子装置230可包括其它组件(未示出)。举例来说,电子装置220可包括视频解码器(未示出),且电子装置230还可包括视频编码器(未示出)。其中,视频解码器用于对接收到的已编码视频数据进行解码;视频编码器用于对视频数据进行编码。

在示例性的实施例中,当对视频帧中的图像块进行编码时,可以使用帧间预测模式或帧内预测模式,例如,如图3所示,对于帧间预测模式:已编码参考块31位于已编码视频帧,待编码块32位于待编码视频帧,即已编码参考块31和待编码块32位于两个不同的视频帧。如图4所示,对于帧内预测模式:已编码参考块41和待编码块42均位于待编码视频帧,即已编码参考块41和待编码块42位于同一个视频帧。具体地,在一个或多个已编码参考块的基础上,生成一个预测块。预测块可以是原始块的预估版本。可通过从预测块中减去该原始块来生成残差块,反之亦然,该残差块可用于表示预测残差(或称为预测误差)。

示例性的,本技术方案所涉及的一些基本概念进行介绍说明。

1、视频帧格式类型

1.1、关于rgb格式类型

rgb(红red、绿green,蓝blue)是一种颜色编码方法。rgb格式类型的视频帧即采用rgb颜色分量来保存颜色信息来记录计算机图像/视频帧。具体的,阴极射线管(cathoderaytube)的显示器内部有三支电子枪,电子枪去激活显示器屏幕的荧光粉,三种荧光粉发射出的光生成一个像素位置的颜色点,这就是我们人眼能看到的一个像素。其中,每个像素对应红、绿、蓝(r、g、b)三个强度等级。

1.2、关于yuv格式类型

yuv也是一种颜色编码方法,yuv格式的视频帧分为三个分量:y/u/v。其中,“y”表示明亮度(luminance或luma),即视频帧的灰度值;而“u”和“v”表示色度(chrominance或chroma),用于描述视频帧的色彩及饱和度。

yuv格式的视频帧可以用于电视系统以及模拟视频领域,将亮度信息(y)与色彩信息(uv)分离,没有uv信息一样可以显示完整的图像,只不过是黑白的,从而解决了彩色电视机与黑白电视的兼容问题。同时,yuv格式的视频帧不像rgb格式的视频帧须三个独立的视频信号同时传输,所以用yuv格式的视频帧的传送占用的频宽较少。

1.3、yuv格式的视频帧与rgb格式的视频帧之间的转换

利用线性变换可以通过以下方式将rgb格式的视频帧转换为yuv格式的视频帧:

y=((66*r+129*g+25*b+128)>>8)+16

u=((-38*r-74*g+112*b+128)>>8)+128

v=((112*r-94*g-18*b+128)>>8)+128

2、jccr(jointcbcrresidualcoding/decoding,联合cb-cr残差编解码)方式

vvc草案6采纳了jccr编解码模式,该模式采用cr(chromared,红色色度)和cb(chromablue,蓝色色度)残差块联合编解码的方法,以提高色度的编码效率。联合色度编码模式的启用由tu(transformunit)-level的语法元素tu_joint_cbcr-_residual标志指明,其模式又包含3种色度残差编码子模式,具体如下表1所示:

表1

参考表1,jccr的子模式可以由色度分量的两个语法元素tu_cbf_cb和tu_cbf_cr推断得出。

3、cclm(cross-componentlinearmodel,交叉分量线性模型)方式

为了减少交叉分量冗余,在vvc中使用cclm预测模式。cclm属于如图4所示的帧内预测模式,是一种分量间预测。具体包含两种分量间预测:一种是亮度分量预测色度分量,一种是cb(chromablue,蓝色色度)预测cr(chromared,红色色度)。并可以使用如下线性模型基于相同编码块(codedunit)的重建亮度分量预测色度分量:

predc(i,j)=α·recl'(i,j)+β

其中,predc(i,j)表示编码块中的预测色度分量,recl'(i,j)表示相同编码块的下采样重建亮度分量。cclm线性模型参数"α"和"β"由色度分量的4个色度像素值和降采样后与色度相对应的4个重建亮度值。根据色度块的宽和高,cclm分为三种模式,lm,lm-a和lm-l,并以此来选择cclm的4个色度像素点。

4、ccalf(cross-componentadaptiveloopfilter,交叉分量自适应环路滤波器)方式

在jvet-o0636中提出了ccalf,属于一种线性环路滤波技术,它根据亮度分量像素值去修正相应的色度分量值。具体的,图5示出了ccalf采用了菱形的滤波核,其中,ccalf的滤波公式,如下式所示:

f[0]*recpicturel[hx,vy+yp3]

sum=curr+((sum+64)>>7)(2)

其中公式(1)中,f[]表示ccalf的滤波系数,recpicturel表示ccalf的输入像素值;curr表示ccalf的输入色度像素值。公式(2)中,curr表示在ccalf之前的色度像素值;sum表示ccalf最终滤波值。ccalf的滤波系数将在aps中编码传输。

5、act(adaptivecolourtransform,自适应颜色变换)编码方式

为了实现rgb视频内容的高效编码,在hevc屏幕内容编码扩展软件测试模型中采用了自适应颜色变换(act),可以在残差域中对残差块进行空间变换操作,并用一个cu(codingunit,编码块)级标志表示颜色空间变换的使用。

需要说明的一点是,上述视频帧的格式类型均为示例性示出,本公开提供的技术方案不限于rgb格式类型和yuv格式类型。上述视频编解码凡是也均为示例性示出,本公开提供的技术方案不限于jccr、cclm、ccalf以及act方式

还要说明的一点是,本公开实施例提供的技术方案可以应用于h.266/vcc标准或者下一代视频编解码标准中,本公开实施例对此不作限定。

再要说明的一点是,本公开实施例提供的视频解码方法,各步骤的执行主体为解码端设备,本公开实施例提供的视频编码方法的各步骤的执行主体为编码端设备,解码端设备和编码端设备均可以是计算机设备,该计算机设备是指具备数据计算、处理和存储能力的电子设备,如pc、手机、平板电脑、媒体播放器、专用视频会议设备、服务器等等。

另外,本公开所提供的方法可以单独使用或以任意顺序与其他方法合并使用。基于本公开所提供方法的编码器和解码器,可以由1个或多个处理器或是1个或多个集成电路来实现。下面,通过几个实施例对本公开技术方案进行介绍说明。

图6示意性示出了根据本公开实施例中视频解码方法的流程示意图。在本实施例中,主要以该方法应用于上文介绍的解码端设备中来举例说明。参考图6,该方法可以包括步骤s610-步骤s640。

在步骤s610中,从已编码视频流中获取待解码视频的参数集;以及在步骤s620中,根据所述参数集中的格式标志位,确定所述待解码视频中目标视频帧的目标格式类型。

由于不同格式类型的视频帧所适用的解码方式不同,本实施例以rgb和yuv两种视频格式类型为例进行说明:rgb视频帧的三个通道间相关性程度和yuv视频帧中通道间相关性程度不同,因而导致利用通道间相关性的yuv视频编解码工具,如jccr、cclm、ccalc等并不适用于解码rgb视频帧;同理,适用于解码rgb视频帧act也不适用于解码yuv视频帧。因此,若解码过程中不区分待解码视频帧的格式类型,将导致解码效率低且解码灵活度低。

针对于上述技术问题,术方案中采用在视频的参数集中设置格式标志位的方式来表名视频帧的格式类型。从而,在对目标视频帧进行解码时,根据参数集中格式标志位便可以确定该目标视频帧的格式类型(可记作“目标格式类型”)。

在示例性的实施例中,可以将格式标志位设置在视频参数集(videoparameterset,vps)中、还可以将格式标志位设置在序列参数集(sequenceparameterset,sps)中,还可以将格式标志位设置在图像参数集(pictureparameterset,vps)等。其中,vps为最高层级的语法元素,被多段视频帧共用的参数;sps则保存一组编码视频序列(codedvideosequence)的全局参数。编码视频序列即原始视频的一帧一帧的像素数据经过编码之后的结构组成的序列。而每一帧的编码后数据所依赖的参数保存于pps中。

进一步地,便可以通过获取包含格式标志位的参数集,来根据该参数集中格式标志位确定上述目标视频帧的目标格式类型。示例性的,本实施例中目标视频帧的格式标志位设置在sps(如表2)中。参考表2中带阴影的文字部分,上述格式标志位可以表示为:sps_rgb_format_flag。

表2

在示例性的实施例中,进一步地,通过参数集中格式标志位的取值来确定所述目标视频帧的目标格式类型。本实施例中,参考表2,若格式标志位sps_rgb_format_flag的取值为0,该目标视频帧对应的目标格式类型为yuv;若格式标志位的取值为1时,该目标视频帧对应的目标格式类型为rgb。需要说明的是,若sps中不存在sps_rgb_format_flag,则格式标志位的取值为0,即该目标视频帧对应的目标格式类型为yuv。

继续参考图6,确定上述目标视频帧的格式类型之后,在步骤s630中,根据所述目标格式类型确定目标解码方式对应的语法元素。

鉴于不同格式类型的视频帧所适用的解码方式不同,本技术方案为了提升视频解码效率以及针对不同格式类型的视频帧时的解码灵活度,所以本实施例中获取不适用于上述目标格式类型的解码方式。也就是说,上述目标解码方式为不适用于上述目标格式类型的解码方式。

在示例性的实施例中,仍以rgb格式类型和yuv格式类型为例进行说明。其中,若上述目标格式类型为rgb,则确定与所述目标格式类型具有关联关系的目标解码方式包括以下方式中的一种或多种:jccr、cclm和ccalf。若上述目标格式类型为yuv,则确定与上述目标格式类型具有关联关系的目标解码方式包括:act。

进一步地获取上述目标解码方式的语法元素。示例性的,在sps中,jccr的语法元素可以表示为:sps_joint_cbcr_enabled_flag;cclm的语法元素可以表示为:sps_cclm_enabled_flag;ccalf的语法元素可以表示为:sps_cclm_enabled_flag;jccalf的语法元素可以表示为:sps_ccalf_enabled_flag;jccr的语法元素可以表示为:sps_act_enabled_flag。需要说明的是,上述各个解码方式的语法元素仅为示例性示出。

通过步骤s630对应的实施例确定了不适用于上述目标格式类型的解码方式的语法元素之后,进一步地,在步骤s640中,根据所述语法元素的取值,启用或禁用所述目标解码方式。以在对该目标视频帧的解码的过程中,禁用不适用于上述目标视频格式的解码方式,或者启用适用于上述目标视频格式的解码方式,从而避免了试图采用不适用于目标格式类型的解码方式进行解码带来的资源浪费,且有利于高效准确地确定适用于上述目标格式类型的解码方式,进而提升解码效率。同时,有利于提升解码灵活性。

在示例性的实施例中,图7示意性示出了根据本公开另一实施例中视频解码方法的流程示意图。参考图7,该方法包括步骤s710、步骤s721和步骤s722。

在步骤s710中,获取所述待解码视频的参数集,以及在所述参数集中获取用于确定所述目标格式类型的格式标志位的取值。

同前所述,由于格式标志位可以设置为vps、pps或sps中,所以本实施例中获取上述参数集中用于确定所述目标格式类型的格式标志位。如,上述表2中,在sps中获取格式标志位sps_rgb_format_flag,以及sps_rgb_format_flag的取值。

在步骤s721中,基于所述格式标志位的取值确定所述语法元素的取值,以禁止发送用于标识所述目标解码方式的启动状态的语法元素。

在示例性的实施例中,具体可通过格式标志位的不同取值来表示待解码视频帧的不同格式类型。例如,本实施例中目标视频帧可能是rgb格式类型或yuv格式类型,则可通过格式标志位的取值为“第一参数”来表示当前的目标视频帧为yuv格式类型,可通过格式标志位的取值为“第二参数”来表示当前的目标视频帧为rgb格式类型。其中,上述“第一参数”和“第二参数”为不相同的标识符即可。

本实施例中,格式标志位sps_rgb_format_flag的取值“第一参数”可以以“0”表示,同时其取值“第二参数”可以以“1”表示。

在示例性的实施例中,可以将上述格式标志位的取值作为条件语句的条件内容确定所述语法元素的取值,来禁止发送用于标识目标解码方式的启动状态的语法元素。以下根据目标格式类型将该步骤s721的具体实施方式分为两种情况:

情况一、当目标视频帧的格式类型为rgb(即,sps中获取sps_rgb_format_flag取值为1)时,将禁止启用不适用于解码rgb格式的视频帧的解码方式。本实施例中禁止启用jccr、cclm和ccalf。具体地参考表3中带阴影的文字部分:

表3

(1)在上述目标解码方式为jccr时,if(!sps_rgb_format_flag)取值为0,则不执行用于标志该目标解码方式jccr启动状态的第一法元素sps_joint_cbcr_enabled_flag。即将上述格式标志位sps_rgb_format_flag的取值作为条件语句的条件内容,起到禁止启用jccr方式的作用。

(2)在上述目标解码方式为cclm时,if(!sps_rgb_format_flag)取值为0,则不执行用于标志该目标解码方式cclm启动状态的第二语法元素sps_cclm_enabled_flag。即将上述格式标志位sps_rgb_format_flag的取值作为条件语句的条件内容,起到禁止启用cclm方式的作用。

(3)在上述目标解码方式为ccalf时,if(!sps_rgb_format_flag)取值为0,则不执行用于标志该目标解码方式cclm启动状态的第三语法元素(具体的语法元素表示方式不限)。即将上述格式标志位sps_rgb_format_flag的取值作为条件语句的条件内容,起到禁止启用ccalf方式的作用。

情况二、当目标视频帧的格式类型为yuv(即,sps中获取sps_rgb_format_flag取值为0)时,将禁止启用不适用于解码yuv格式的视频帧的解码方式。本实施例中禁止启用act。具体参考表4中带阴影的文字部分:

表4

在上述目标解码方式为act时,if(sps_rgb_format_flag)取值为0,则不执行用于标志该目标解码方式act启动状态的第四法元素sps_act_enabled_flag。即将上述格式标志位sps_rgb_format_flag的取值作为条件语句的条件内容,起到禁止启用act方式的作用。

在示例性的实施例中,除了步骤s721示出的禁止启用上述目标解码方式之外,本技术方案还提供步骤s722:基于所述格式标志位的取值和解码流一致性,将用于标识所述目标解码方式的启动状态的语法元素的取值设置为预设值,以启用或禁用所述目标解码方式。

以下根据目标格式类型将该步骤s722的具体实施方式也分为两种情况:

情况一、当目标视频帧的格式类型为rgb(即,sps中获取sps_rgb_format_flag取值为1)时,将禁止启用不适用于解码rgb格式的视频帧的解码方式。本实施例中禁止启用jccr、cclm和ccalf。具体参考表5中带阴影的文字部分:

表5

参考表5,在格式标志位sps_rgb_format_flag的取值为1时:

(1)根据解码流一致性,规定第一语法元素sps_joint_cbcr_enabled_flag的取值设置为0。在第一语法元素sps_joint_cbcr_enabled_flag的取值设置为0时,cr和cb残差块的联合解码(jointencodingofchromaresiduals)被禁用,从而起到禁止启用jccr方式的作用。另外,当sps_joint_cbcr_enabled_flag的取值为1时,cr和cb残差块的联合解码被启用。

(2)根据解码流一致性,规定第二语法元素sps_cclm_enabled_flag的取值设置为0。在第二语法元素sps_cclm_enabled_flag的取值设置为0时,基于交叉分量线性模型的帧内预测被禁用,从而起到禁止启用cclm方式的作用。另外,当sps_cclm_enabled_flag的取值为1时,基于交叉分量线性模型的帧内预测被启用。

(3)根据解码流一致性,规定第三语法元素(即,ccalf对应的启动标识,其具体的语法元素表示方式不限)的取值设置为0,以起到禁止启用ccalf方式的作用。

情况二、当目标视频帧的格式类型为yuv(即,sps中获取sps_rgb_format_flag取值为0)时,将禁止启用不适用于解码yuv格式的视频帧的解码方式。本实施例中禁止启用act。具体参考表6中带阴影的文字部分:

表6

参考表6,在格式标志位sps_rgb_format_flag的取值为0时,根据解码流一致性,规定所述第四语法元素sps_rgb_format_flag的取值设置为0。在sps_rgb_format_flag的取值设置为0时,自适应颜色变换解码工具将被禁用,并且语法元素cu_act_enabled_flag将不会出现在解码单元层,从而起到禁止启用act方式的作用。

另外,当sps_act_enabled_flag的取值为1时,自适应颜色变换解码工具将被启用,并且语法元素cu_act_enabled_flag将出现在解码单元层,从而可以启用act方式。

需要说明的是,上述实施例中视频帧的格式类型以yuv和rgb为例进行说明的。当确定目标视频帧的格式类型为a时,可以获取不适用于解码格式类型为a的其他任意编码方式(如,编码方式x、编码方式y),进一步地,禁用编码方式x、编码方式y解码上述目标视频帧。同时,当确定目标视频帧的格式类型为a时,还可以获取适用于解码格式类型为a的其他任意编码方式(如,编码方式m、编码方式n),进一步地,启用编码方式m、编码方式n解码上述目标视频帧。从而避免了试图采用不适用于目标格式类型的解码方式进行解码带来的资源浪费,且有利于高效准确地确定适用于上述目标格式类型的解码方式,进而提升解码效率。同时,有利于提升解码灵活性。

图8示意性示出了根据本公开实施例中视频编码方法的流程示意图。在本实施例中,主要以该方法应用于上文介绍的编码端设备中来举例说明。参考图8,该方法可以包括:

步骤s810,获取待编码视频的参数集;

步骤s820,根据所述参数集中的格式标志位,确定所述待编码视频中目标视频帧的目标格式类型;

步骤s830,根据所述目标格式类型确定目标编码方式对应的语法元素;以及,

步骤s840,根据所述语法元素的取值,启用或禁用所述目标编码方式。

图8所示实施例所提供的技术方案中,根据参数集中的格式标志位确定待编码视频帧的目标格式类型。鉴于不同格式类型的视频帧所适用的编码方式不同,所以本技术方案还根据上述目标格式类型确定目标编码方式对应的语法元素,进一步地,语法元素的取值,启用或禁用所述目标编码方式。以在对该目标视频帧的编码的过程中,根据上述语法元素的取值来禁用或启用相关目标编码方式,从而避免了试图采用不适用于目标格式类型的编码方式进行编码带来的资源浪费,且有利于高效准确地确定适用于上述目标格式类型的编码方式,进而提升编码效率。同时,有利于提升编码灵活性。

另外,编码端设备的编码过程与解码端设备的解码过程相对应,对于编码过程中未详细说明的细节,可参见上文关于解码过程实施例中的介绍说明,此处不再赘述。

本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由处理器(包含cpu和gpu)执行的计算机程序。在该计算机程序被cpu执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。

此外,需要注意的是,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

以下介绍本公开的视频解码装置实施例,可以用于执行本公开上述的视频解码方法。

图9示出本公开示例性实施例中视频解码装置的结构示意图。如图9所示,上述视频解码装置900包括:参数集获取模块901、格式类型确定模块902、语法元素确定模块903,以及解码处理模块904。

其中,上述参数集获取模块901,被配置为:从已编码视频流中获取待解码视频的参数集;

上述格式类型确定模块902,被配置为:根据上述参数集中的格式标志位,确定上述待解码视频中目标视频帧的目标格式类型;

上述语法元素确定模块903,被配置为:根据上述目标格式类型确定目标解码方式对应的语法元素;以及

上述解码处理模块904,被配置为:根据上述语法元素的取值,启用或禁用上述目标解码方式。

在本公开的一些实施例中,基于前述方案,上述参数集获取模块901,被具体配置为:

从已编码视频流中获取待解码视频的获取上述待解码视频的以下参数集中的一种或多种:视频参数集vps、序列参数集sps、图像参数集pps。

在本公开的一些实施例中,基于前述方案,上述格式类型确定模块902,包括:取值确定单元和格式类型确定单元。

其中,上述取值确定单元,被配置为:确定上述参数集中上述格式标志位的取值;上述格式类型确定单元,被配置为:根据上述格式标志位的取值确定上述目标视频帧的目标格式类型。

在本公开的一些实施例中,基于前述方案,在上述序列参数集sps中,上述格式标志位为:sps_rgb_format_flag;上述取值确定单元,被具体配置为:若上述sps中不存在sps_rgb_format_flag,则上述格式标志位的取值为第一参数;上述格式类型确定单元,被具体配置为:上述格式标志位的取值为上述第一参数时,上述目标格式类型为yuv;上述格式标志位的取值为第二参数时,上述目标格式类型为rgb。

在本公开的一些实施例中,基于前述方案,上述语法元素确定模块903,被具体配置为:若上述目标格式类型为rgb,则确定与上述目标格式类型具有关联关系的目标解码方式包括以下方式中的一种或多种:jccr、cclm和ccalf;以及,获取上述目标解码方式的语法元素。

在本公开的一些实施例中,基于前述方案,上述语法元素确定模块903,被具体配置为:若上述目标格式类型为yuv,则确定与上述目标格式类型具有关联关系的目标解码方式包括:act;以及,获取上述目标解码方式的语法元素。

在本公开的一些实施例中,基于前述方案,上述解码处理模块904,包括:标志位的取值确定单元和第一处理单元/第二处理单元。

其中,上述标志位的取值确定单元,被配置为:获取上述待解码视频的参数集,以及在上述参数集中获取用于确定上述目标格式类型的格式标志位的取值;

上述第一处理单元,被配置为:基于上述格式标志位的取值,禁止发送用于标识上述目标解码方式的启动状态的语法元素;

上述第二处理单元,被配置为:基于上述格式标志位的取值和解码流一致性,将用于标识上述目标解码方式的启动状态的语法元素的取值设置为预设值。

在本公开的一些实施例中,基于前述方案,上述第一处理单元,被具体配置为:将上述格式标志位的取值作为条件语句的条件内容确定所述语法元素的取值,以禁止发送用于标识上述目标解码方式的启动状态的语法元素。

在本公开的一些实施例中,基于前述方案,若上述格式标志位的取值为第二参数,且上述目标解码方式为jccr,则用于标志上述目标解码方式启动状态的第一语法元素为sps_joint_cbcr_enabled_flag;

其中,上述第二处理单元,被具体配置为:根据上述解码流一致性,在上述格式标志位的取值为上述第二参数时,将上述第一语法元素sps_joint_cbcr_enabled_flag的取值设置为0。

在本公开的一些实施例中,基于前述方案,在上述第一语法元素sps_joint_cbcr_enabled_flag的取值设置为0时,cr(chromared,红色色度)和cb(chromablue,蓝色色度)残差块的联合解码被禁用。

在本公开的一些实施例中,基于前述方案,若上述格式标志位的取值为第二参数,且上述目标解码方式为cclm,则用于标志上述目标解码方式启动状态的第二语法元素为sps_cclm_enabled_flag;

其中,上述第二处理单元,被具体配置为:根据上述解码流一致性,在上述格式标志位的取值为上述第二参数时,将上述第二语法元素sps_cclm_enabled_flag的取值设置为0。

在本公开的一些实施例中,基于前述方案,在上述第二语法元素sps_cclm_enabled_flag的取值设置为0时,基于交叉分量线性模型的帧内预测被禁用。

在本公开的一些实施例中,基于前述方案,若上述格式标志位的取值为第二参数,且上述目标解码方式为ccalf,则用于标志上述目标解码方式启动状态的第三语法元素为ccalf对应的启动标识。

在本公开的一些实施例中,基于前述方案,若上述格式标志位的取值为第一参数,且上述目标解码方式为act,则用于标志上述目标解码方式启动状态的第四语法元素为sps_act_enabled_flag;

其中,上述第二处理单元,被具体配置为:根据上述解码流一致性,在上述格式标志位的取值为上述第一参数时,将上述第四语法元素为sps_act_enabled_flag的取值设置为0。

在本公开的一些实施例中,基于前述方案,将上述第四语法元素为sps_act_enabled_flag设置为0时,自适应颜色变换解码被禁用。

上述视频解码装置中各单元的具体细节已经在说明书的视频解码方法中进行了详细的描述,因此此处不再赘述。

以下介绍本公开的视频编码装置实施例,可以用于执行本公开上述的视频编码方法。

图10示出本公开示例性实施例中视频解码装置的结构示意图。如图10所示,上述视频编码装置1000包括:参数集获取模块1001、格式类型确定模块1002、语法元素确定模块1003,以及编码处理模块1004。

其中,上述参数集获取模块1001,被配置为:获取待编码视频的参数集;

上述格式类型确定模块1002,被配置为:根据上述参数集中的格式标志位,确定上述待编码视频中目标视频帧的目标格式类型;

上述语法元素确定模块1003,被配置为:根据上述目标格式类型确定目标编码方式对应的语法元素;以及

上述编码处理模块1004,被配置为:根据上述语法元素的取值,启用或禁用上述目标编码方式。

鉴于上述视频编码装置中各单元的具体细节已经在说明书的视频编码方法中进行的描述,在此处不再赘述。

图11示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。

需要说明的是,图11示出的电子设备的计算机系统1100仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图11所示,计算机系统1100包括处理器1101(包括:图形处理单元(graphicsprocessingunit,gpu)、中央处理单元(centralprocessingunit,cpu)),其可以根据存储在只读存储器(read-onlymemory,rom)1102中的程序或者从存储部分1108加载到随机访问存储器(randomaccessmemory,ram)1103中的程序而执行各种适当的动作和处理。在ram1103中,还存储有系统操作所需的各种程序和数据。cpu1101、rom1102以及ram1103通过总线1104彼此相连。输入/输出(input/output,i/o)接口1105也连接至总线1104。

以下部件连接至i/o接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(cathoderaytube,crt)、液晶显示器(liquidcrystaldisplay,lcd)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如lan(localareanetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至i/o接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。

特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(cpu)1101执行时,执行本公开的系统中限定的各种功能。

需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compactdiscread-onlymemory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。

作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。

例如,所述的电子设备可以实现如图6中所示的:步骤s610,从已编码视频流中获取待解码视频的参数集;以及在步骤s620中,根据所述参数集中的格式标志位,确定所述待解码视频中目标视频帧的目标格式类型;步骤s630,根据所述目标格式类型确定目标解码方式对应的语法元素;以及,步骤s640,根据所述语法元素的取值,启用或禁用所述目标解码方式。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1