掌桥专利:专业的专利平台
掌桥专利
首页

一种视频编码方法、装置、电子设备及介质

文献发布时间:2023-06-19 10:03:37


一种视频编码方法、装置、电子设备及介质

技术领域

本申请涉及视频处理技术领域,尤其涉及一种视频编码方法、一种视频编码装置、一种电子设备及一种计算机存储介质。

背景技术

随着人们对高清晰度视频信息消费需求的日益增大,新一代移动通信技术(如5G技术)的成熟和大规模建网,高清和超高清视频产业迎来了历史性发展机遇。

为了尽可能保持视频帧中的细节,提升画面质量,高清和超高清视频采用了高分辨率、高帧频、以及加大了量化比特数,这极大的增加了视频的数据量,给视频数据的传输和存储带来了巨大的挑战。为有效压缩高清和超高清视频数据量,在进行视频传输时,需要对视频进行压缩,也即是编码,来降低视频对存储空间的占用。相关技术中,电子设备对视频进行编码时,需将视频图像划分为多个块,并对每个可能的块进行决策从而选择最优的编码方式。新一代视频编码标准引入多种块划分模式之后,导致编码决策过程复杂,急剧增加了编码复杂度,增加了视频的编码时间。

发明内容

本申请实施例提供了一种视频编码方法、装置、电子设备及介质,可以降低编码的复杂度,在保证视频编码质量的条件下,减少编码消耗的时间。

一方面,本申请实施例提供了一种视频编码方法,该方法包括:

在视频编码过程中,获取待编码单元对应的划分模式,所述划分模式包括第一划分模式和第二划分模式,所述第一划分模式是指无方向性的划分模式,所述第二划分模式是指有方向性的划分模式;

按照所述第一划分模式对所述待编码单元进行划分,获得划分决策信息;

若所述划分决策信息满足目标条件,则禁止按照所述第二划分模式对所述待编码单元进行再划分。

另一方面,本申请实施例提供了一种视频编码装置,该视频编码装置包括:

获取单元,用于在视频编码过程中,获取待编码单元对应的划分模式,所述划分模式包括第一划分模式和第二划分模式,所述第一划分模式是指无方向性的划分模式,所述第二划分模式是指有方向性的划分模式;

处理单元,用于按照所述第一划分模式对所述待编码单元进行划分,获得划分决策信息;

所述处理单元,还用于若所述划分决策信息满足目标条件,则禁止按照所述第二划分模式对所述待编码单元进行再划分。

相应地,本申请实施例还提供了一种电子设备,该电子设备包括输出设备、处理器和存储装置;存储装置,用于存储程序指令;处理器,用于调用程序指令并执行上述的视频编码方法。

相应地,本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现上述的视频编码方法。

相应地,根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述提供的数据处理方法。

本申请实施例在视频编码过程中,可获取待编码单元对应的划分模式,该划分模式包括无方向性的第一划分模式和有方向性的第二划分模式,按照第一划分模式对待编码单元进行划分,获得划分决策信息,若该划分决策信息满足目标条件,则禁止按照第二划分模式对待编码单元进行再划分。在视频编码过程中,可以无需遍历对待编码单元进行划分的所有划分模式,依照预先通过第一划分模式得到的划分决策信息,提前跳过第二划分模式,从而降低编码的复杂度,减少编码消耗的时间,提高编码效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本申请实施例提供的一种四叉树划分的示意图;

图1b是本申请实施例提供的一种二叉树划分的示意图;

图1c是本申请实施例提供的一种四叉树划分和二叉树划分结合的示意图;

图1d是本申请实施例提供的一种扩展四叉树划分的示意图;

图1e是本申请实施例提供的一种三叉树划分的示意图;

图2是本申请实施例提供的一种视频编码方法的流程示意图;

图3是本申请实施例提供的一种通过四叉树划分的场景示意图;

图4是本申请实施例提供的一种像素点排列方式的示意图;

图5是本申请实施例提供的另一种视频编码方法的流程示意图;

图6是本申请实施例提供的一种视频编码结果的示意图;

图7是本申请实施例提供的一种视频编码装置的结构示意图;

图8是本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了适应新一代的视频编码标准(例如VVC(Versatile Video Coding,多功能视频编码标准)、AVS3(Audio Video coding Standard 3,第三代数字视频编解码技术标准)等等),现有的视频编码器通常使用QT(Quad tree,四叉树)划分和BT(Binary Tree,二叉树)划分相结合的方式对LCU(Largest Coding Unit,最大编码单元)进行划分得到CU(Coding Unit,编码单元)。其中,QT划分没有方向性,BT划分具有水平和垂直两种划分方式,可以包括水平二叉树划分和垂直二叉树划分。

其中,一个图像帧包括多个编码单元。视频编码过程中,需要对图像帧进行划分,划分包括多个层级。举例来说,QT划分的具体划分方式可以参见图1a,假设最大编码单元为图像帧101,在视频编码过程中,电子设备能够依照QT的划分方式将图像帧101划分为四个面积相同的矩形子块102,该四个矩形子块102也即是编码单元。进一步地,电子设备能够对矩形子块102中的任一个继续进行划分,得到新的子块(也即新的编码单元)。

BT划分的具体划分方式可以参见图1b,假设最大编码单元为图像帧101,在视频编码过程中,电子设备能够依照水平二叉树划分将图像帧101划分为2个面积相同的两个矩形子块103,该两个矩形子块103也即是编码单元。进一步地,电子设备能够对矩形子块103中的任一个继续进行划分,得到新的子块(也即新的编码单元)。

QT和BT相结合的具体划分方式可以参见图1c,假设最大编码单元为图像帧101,在视频编码过程中,电子设备能够首先依照QT划分将图像帧101划分为四个面积相同的矩形子块104,进一步地,电子设备能够依照垂直二叉树划分将任一个矩形子块104划分为两个子块105。进一步地,电子设备还能够对两个子块105中的任一个继续进行划分。

除上述提及的QT和BT相结合的划分方式以外,现有的视频编码器采用的划分方式还包括TT(Trinomial tree,三叉树)划分、EQT(Extended Quad-Tree,扩展四叉树)划分,以及TT、EQT分别与BT相结合的划分方式。其中,TT、EQT分别与BT相结合的划分方式可以包括:进行EQT或者TT划分之后可以继续进行BT划分,同样地,进行BT划分之后也可以继续进行EQT或者TT划分。

其中,EQT和TT的划分方式,同样具有水平和垂直两种划分方式。示例性地,EQT划分的具体划分方式可以参见图1d所示,假设最大编码单元为图像帧101,在视频编码过程中,电子设备能够依照垂直EQT的划分方式将图像帧101划分为四个矩形子块106,该四个矩形子块106也即是编码单元。进一步地,电子设备能够对矩形子块106中的任一个继续进行划分,例如将矩形子块106中的任一个进行水平EQT划分,得到4个新的矩形子块107。进一步地,电子设备还能够对矩形子块107中的任一个继续进行划分。

TT划分的具体划分方式可以参见图1e所示,TT划分的具体划分方式可以参见图1d所示,假设最大编码单元为图像帧101,在视频编码过程中,电子设备能够依照垂直TT的划分方式将图像帧101划分为三个矩形子块108,该三个矩形子块108(也即编码单元)。进一步地,电子设备还能够对三个矩形子块108中的任一个继续进行划分。

由上述内容可知,为适用于新一代视频编码标准,视频编码器在编码过程中涉及对多种划分模式的编码决策,导致编码决策过程复杂,急剧增加了编码复杂度,增加了视频的编码时间。为了解决上述问题,本申请实施例提出了一种视频编码方法,电子设备可以在视频编码过程中,获取待编码单元对应的划分模式,该划分模式包括无方向性的第一划分模式(例如QT)和有方向性的第二划分模式(例如BT、TT、EQT等等)。进一步地,电子设备可以按照第一划分模式对待编码单元进行划分,获得划分决策信息,若该划分决策信息满足目标条件,则禁止按照第二划分模式对待编码单元进行再划分。采用这样的方式,电子设备无需遍历对待编码单元进行划分的所有划分模式,可以依照预先通过第一划分模式得到的划分决策信息,提前跳过第二划分模式,从而降低编码的复杂度,减少编码消耗的时间,提高编码效率。

其中,本申请实施例所涉及的电子设备配置有视频编码器或者为视频编码器本身,该电子设备可以包括终端或者服务器,该终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,服务器可以是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。

请参见图2,是本申请实施例提出的一种视频编码方法,本申请实施例的所述方法可以由上述电子设备来执行,该视频编码方法可包括以下步骤S201-S203:

S201:在视频编码过程中,获取待编码单元对应的划分模式,该划分模式包括第一划分模式和第二划分模式,该第一划分模式是指无方向性的划分模式,该第二划分模式是指有方向性的划分模式。

在一个实施例中,上述第一划分模式包括四叉树划分,四叉树划分不具有方向性;第二划分模式包括二叉树划分、三叉树划分和扩展四叉树划分中的一种或者多种,二叉树划分、三叉树划分和扩展四叉树划分均具有垂直和水平两种划分方向。其中,二叉树划分,用于将待编码单元划分为两个面积相同的矩形子块,其具体划分逻辑可以参见上述图1b所示,此处不再赘述;三叉树划分,用于将待编码单元划分为三个矩形子块,其具体划分逻辑可以参见上述图1e所示,此处不再赘述;四叉树划分用于将待编码单元划分为四个面积相同的矩形子块,其具体划分逻辑可以参见上述图1a所示,此处不再赘述;扩展四叉树划分,用于将待编码单元划分为四个矩形子块,其具体划分逻辑可以参见上述图1d所示,此处不再赘述。

可以理解的是,在视频编码过程中,需要对图像帧进行划分,划分包括多个层级,每一个层级的划分均会产生新的子块,也即产生新的编码单元。步骤S201中描述的待编码单元可以指任一层级划分对应的编码单元。示例性地,参见图3,假设任一编码单元为64*64的编码单元,计算机设备可以首先将64*64的编码单元作为当前层级的待编码单元,依照四叉树划分将64*64的编码单元划分为4个32*32的子块,每一个32*32的子块可以作为下一层级划分的待编码单元。进一步地,计算机设备可以继续依照四叉树划分对4个32*32的子块进行再次划分,可以将每一个32*32的子块划分为4个16*16的子块,每一个16*16的子块可以作为下下层级划分的待编码单元,以此类推,可以对16*16的子块继续划分,直至划分至最小块。

S202:按照第一划分模式对待编码单元进行划分,获得划分决策信息。其中,划分决策信息包括按照第一划分模式对待编码单元进行划分得到的各子块中选择第一划分模式的子块数量。

在一个实施例中,在视频编码过程中,可以首先依照第一划分模式对待编码单元进行划分,得到划分决策信息。其中,以第一划分模式为四叉树划分,第二划分模式为二叉树划分、三叉树划分和扩展四叉树划分中的一种或者多种为例,说明依照第一划分模式对待编码单元进行划分,得到划分决策信息的具体过程包括:首先进行第一层级的划分,依照四叉树划分将待编码单元划分为4个子块;其次,进行第二层级的划分,对4个子块进行划分决策,确定对4个子块进行划分各自对应的目标划分模式,该目标划分模式包括四叉树划分、二叉树划分、三叉树划分和扩展四叉树划分等,进而依照4个子块进行划各自对应的目标划分模式生成划分决策信息。该划分决策信息指示了4个子块中选择四叉树划分的子块数量。

S203:若划分决策信息满足目标条件,则禁止按照第二划分模式对待编码单元进行再划分。

在一个实施例中,电子设备按照第一划分模式对待编码单元进行划分之后,可以依照第二划分模式进行划分决策,由于以预先对待编码单元进行第一划分模式的划分,因此,依照第一划分模式对待编码单元进行划分对应的划分决策信息已经获得。这种情况下,电子设备可以在按照第二划分模式对待编码单元进行划分决策时,检测划分决策信息是否满足目标条件。若划分决策信息不满足目标条件,则按照第二划分模式对待编码单元进行再划分,若划分决策信息满足目标条件,则禁止按照第二划分模式对待编码单元进行再划分。

具体实现中,目标条件包括针对上述子块数量预先设置的目标数量条件。本申请实施例中,可以在基于划分决策信息确定上述子块数量大于或者等于数量阈值C(C为大于等于0,且小于等于4的整数,例如C=2)时,确定划分决策信息满足目标条件。其中,该上数量阈值C是基于实验测试数据预先设置的,后续可以基于实际情况进行调整,本申请实施例对此不作具体限定。

由于第二划分模式具有明显的方向性,而第一划分模式没有方向性,因此,本申请实施例中,可以在视频编码过程中,首先依照第一划分模式对待编码单元进行划分,获得划分决策信息,该划分决策信息包括按照第一划分模式对该待编码单元进行划分得到的各子块中选择第一划分模式的子块数量。

本申请实施例中,利用待编码单元的各子块中选择第一划分模式的子块数量表示其方向性,若基于划分决策信息确定子块数量满足上述目标数量条件,则表明当前的待编码单元较大可能没有方向性,因此不需要进行具有方向性的划分模式决策,从而禁止按照第二划分模式对待编码单元进行再划分。采用这样的方式,电子设备无需遍历对待编码单元进行划分的所有划分模式,可以依照预先通过第一划分模式得到的划分决策信息,提前跳过第二划分模式,从而降低编码的复杂度,减少编码消耗的时间,提高编码效率。

在一个实施例中,上述第一划分模式可以为QT,目标数量条件包括子块数量大于数量阈值C,第二划分模式可以为BT划分,电子设备预先以依照QT划分将待编码单元划分为4个子块,若电子设备检测到4个子块中选择QT划分的子块数量大于或者等于C,则可以禁止按照BT划分对待编码单元进行再划分。或者,若电子设备检测到4个子块中选择QT划分的子块数量小于C,则可以按照BT划分对待编码单元进行再划分。

在另一个实施例中,上述第一划分模式可以为QT,目标数量条件包括子块数量大于数量阈值C(C为大于等于0,且小于等于4的整数,例如C=2),第二划分模式可以为EQT划分,电子设备预先以依照QT划分将待编码单元划分为4个子块,若电子设备检测到4个子块中选择QT划分的子块数量大于或者等于C,则可以禁止按照EQT划分对待编码单元进行再划分。或者,若电子设备检测到4个子块中选择QT划分的子块数量小于C,则可以按照EQT划分对待编码单元进行再划分。

在又一个实施例中,上述第一划分模式可以为QT,目标数量条件包括子块数量大于数量阈值C(C为大于等于0,且小于等于4的整数,例如C=2),第二划分模式可以为TT划分,电子设备预先以依照QT划分将待编码单元划分为4个子块,若电子设备检测到4个子块中选择QT划分的子块数量大于或者等于C,则可以禁止按照TT划分对待编码单元进行再划分。或者,若电子设备检测到4个子块中选择QT划分的子块数量小于C,则可以按照TT划分对待编码单元进行再划分。

在一个实施例中,电子设备是否禁止按照第二划分模式对待编码单元进行再划分,除了可以基于上述划分决策信息之外,还可以结合依照第二划分模式对待编码单元进行预划分,得到的多个目标子块的目标参数来确定。具体实现中,电子设备在编码过程中,可以首先按照第一划分模式对所述待编码单元进行划分,获得划分决策信息,进一步地,可以按照第二划分模式对待编码单元进行预划分,得到多个目标子块。在电子设备执行上述步骤S203时,若上述划分决策信息满足目标条件,则可以获取上述多个目标子块的目标参数,若该目标参数满足参数条件,则禁止按照第二划分模式对待编码单元进行再划分。其中,预划分是一种虚拟的划分过程,也即是采用预划分时,电子设备并没有按照第二划分模式将待编码单元划分为多个实际的目标子块,而是多个虚拟的目标子块。

其中,在一个实施例中,上述目标参数包括用于表示对应目标子块的纹理特征参数,对应目标子块的纹理特征参数用于表示对应目标子块的图像纹理,可以包括对应目标子块像素点的平均像素值、像素值方差、图像梯度参数、像素值均方根误差以及像素值标准差中的至少一项。上述参数条件包括:多个目标子块的纹理特征参数之和大于待编码单元的纹理特征参数与第一阈值之积,或者,多个目标子块的纹理特征参数之间的差值小于第二阈值,其中,第一阈值和第二阈值均用于表示视频编码的清晰度。待编码单元的纹理特征参数为待编码单元中多个像素点的像素值的平均像素值、像素值方差、图像梯度参数、像素值均方根误差以及像素值标准差中的至少一项。

在一个实施例中,假设上述目标参数包括用于表示对应目标子块的纹理特征参数,在电子设备执行上述步骤S203时,若上述划分决策信息满足目标条件,则可以继续获取上述多个目标子块的纹理特征参数,若多个目标子块的纹理特征参数之和大于待编码单元的纹理特征参数与第一阈值之积,或者,多个目标子块的纹理特征参数之间的差值小于第二阈值,均可以确定目标参数满足参数条件,从而禁止按照第二划分模式对待编码单元进行再划分。其中,多个目标子块的纹理特征参数之和大于待编码单元的纹理特征参数与第一阈值之积,以及多个目标子块的纹理特征参数之间的差值小于第二阈值,均可以表明多个目标子块与待编码单元之间的相似程度较高。采用这样的方式,本申请实施例可以结合依照第一划分模式对待编码单元进行划分所获得到的划分决策信息,以及依照第二划分模式对待编码单元进行预划分得到的多个目标子块的纹理特征参数,在确定当前的待编码单元较大可能没有方向性,且多个目标子块与待编码单元之间的相似程度较高的情况下,禁止按照第二划分模式对待编码单元进行再划分,可以综合待编码单元的方向性以及图像纹理,来决策是否禁止第二划分模式,有利于提高编码决策的准确率,保证编码质量。

具体实现中,电子设备获取上述多个目标子块的目标参数的具体方式为:获取依照第二划分模式对待编码单元进行预划分,得到的多个目标子块中多个参考像素点的像素值;基于多个参考像素点的像素值,获取多个目标子块的统计信息,任一个目标子块的统计信息包括任一个目标子块内的参考像素点的平均像素值、像素值方差、图像梯度参数、像素值均方根误差以及像素值标准差中的至少一项;将多个目标子块的统计信息作为多个目标子块的纹理特征参数。

为了便于理解,下面以电子设备对待编码单元进行二叉树划分为例,对电子设备获取两个目标子块的纹理特征参数的方法进行说明,需要说明的是,在下述说明过程中,为了更加简洁和清楚,对于数字的计算结果均保留了整数部分。

以统计信息为多个参考像素点的平均像素值为例,电子设备将待编码单元划分为目标子块A和目标子块B,目标子块A和目标子块B均由四个像素点组成。若待编码单元为灰度图像,目标子块A的四个像素点的灰度值分别为125、110、108以及98,目标子块B的四个像素点的灰度值分别为135、128、130以及145。电子设备可以将目标子块A的四个像素点的灰度值的平均值(125+110+108+98)/4=110,作为目标子块A的纹理特征参数。电子设备可以将目标子块B的四个像素点的灰度值的平均值(135+128+130+145)/4=134作为目标子块B的纹理特征参数。

或者,若待编码单元为彩色图像,目标子块A的四个像素点的亮度色度值(顺序为YUV,其中Y表示亮度,U和V表示色度)分别为(78,135,160)、(85,98,64)、(58,69,120)以及(46,84,90),目标子块B的四个像素点的亮度色度值分别为(98,135,25)、(63,55,46)、(72,89,85)以及(74,76,230)。电子设备将目标子块A的四个像素点的亮度色度值的平均值(67,96,108)作为目标子块A的纹理特征参数。电子设备将目标子块B的四个像素点的亮度色度值的平均值(77,89,96)作为目标子块B的纹理特征参数。

以统计信息为多个参考像素点的像素值方差为例,电子设备将待编码单元划分为目标子块A和目标子块B,目标子块A和目标子块B均由四个像素点组成。若待编码单元为灰度图像,目标子块A的四个像素点的灰度值分别为125、110、108以及98,目标子块B的四个像素点的灰度值分别为135、128、130以及145,目标子块A的灰度值的平均值为110,目标子块B的灰度值的平均值为134。电子设备确定目标子块A的灰度值方差为[(125-110)2+(110-110)2+(108-110)2+(98-110)2]/4=93,电子设备将灰度值方差93作为目标子块A的纹理特征参数。电子设备确定目标子块B的灰度值方差为[(135-134)2+(128-134)2+(130-134)2+(145-134)2]/4=43,电子设备将灰度值方差43作为目标子块B的纹理特征参数。

或者,若待编码单元为彩色图像,目标子块A的四个像素点的亮度色度值(顺序为YUV)分别为(78,135,160)、(85,98,64)、(58,69,120)以及(46,84,90),目标子块B的四个像素点的亮度色度值分别为(98,135,25)、(63,55,46)、(72,89,85)以及(74,76,230)。电子设备确定目标子块A的三个亮度色度值的方差为(241,599,1277),电子设备将三个亮度色度值的方差(241,599,1277)作为目标子块A的纹理特征参数。电子设备确定目标子块B的三个亮度色度值的方差为(167,860,6404),电子设备将三个亮度色度值的方差(167,860,6404)作为目标子块B的纹理特征参数。

以统计信息为多个参考像素点的图像梯度参数为例,终端将待编码单元划分为目标子块A和目标子块B,目标子块A和目标子块B均由四个像素点组成,目标子块A和目标子块B中像素点的排列方式如图4所示,为了便于理解,目标子块A和目标子块B中像素点的排列方向均规定为x方向。若待编码单元为灰度图像,在一种可能的实施方式中,电子设备能够通过梯度近似公式(如公式1)来确定目标子块A和目标子块B的图像梯度。公式1中,Gx(x,y)为x方向的图像梯度,H(x,y)为像素点的灰度值,(x,y)为像素点的坐标。

Gx(x,y)=H(x+1,y)-H(x-1,y) 公式1

以统计信息为多个参考像素点的像素值标准差为例,电子设备将待编码单元划分为目标子块A和目标子块B,目标子块A和目标子块B均由四个像素点组成。若待编码单元为灰度图像,目标子块A的四个像素点的灰度值分别为125、110、108以及98,目标子块B的四个像素点的灰度值分别为135、128、130以及145,目标子块A的灰度值的平均值为110,目标子块B的灰度值的平均值为134。电子设备确定目标子块A的标准差为9,目标子块B的标准差为6。电子设备将标准差9作为目标子块A的纹理特征参数,将标准差6作为目标子块B的纹理特征参数。

或者,若待编码单元为彩色图像,目标子块A的四个像素点的亮度色度值(顺序为YUV)分别为(78,135,160)、(85,98,64)、(58,69,120)以及(46,84,90),目标子块B的四个像素点的亮度色度值分别为(98,135,25)、(63,55,46)、(72,89,85)以及(74,76,230)。电子设备确定目标子块A的三个亮度色度值的标准差为(15,24,35),电子设备将三个亮度色度值的标准差(15,24,35)作为目标子块A的纹理特征参数。电子设备确定目标子块B的三个亮度色度值的标准差为(13,29,80),电子设备将三个亮度色度值的标准差(13,29,80)作为目标子块B的纹理特征参数。

本申请实施例中,电子设备可以在视频编码过程中,获取待编码单元对应的划分模式,该划分模式包括无方向性的第一划分模式和有方向性的第二划分模式。进一步地,电子设备可以按照第一划分模式对待编码单元进行划分,获得划分决策信息,若该划分决策信息满足目标条件,则禁止按照第二划分模式对待编码单元进行再划分。采用这样的方式,电子设备无需遍历对待编码单元进行划分的所有划分模式,可以依照预先通过第一划分模式得到的划分决策信息,提前跳过第二划分模式,从而降低编码的复杂度,减少编码消耗的时间,提高编码效率。

基于上述的描述,本申请实施例提出另一种视频编码方法,该方法可以由上述所提及的电子设备执行,请参见图5,该视频编码方法可包括以下步骤S501-S504:

S501:在视频编码过程中,获取待编码单元对应的划分模式,该划分模式包括第一划分模式和第二划分模式,该第一划分模式是指无方向性的划分模式,该第二划分模式是指有方向性的划分模式。

S502:按照第一划分模式对待编码单元进行划分,获得划分决策信息,该划分决策信息包括按照第一划分模式对待编码单元进行划分得到的各子块中选择第一划分模式的子块数量。其中,第一划分模式包括四叉树划分,第二划分模式包括二叉树划分、三叉树划分和扩展四叉树划分中的一种或者多种。其中,步骤S501~步骤S502的具体实施方式,可以参见上述实施例中步骤S201~步骤S202的相关描述,此处不再赘述。

S503:若基于划分决策信息确定上述子块数量大于或者等于第一数量阈值,且小于第二数量阈值,则将二叉树划分、三叉树划分和扩展四叉树划分中的任一种确定为第二划分模式,并禁止按照第二划分模式对待编码单元进行再划分。其中,第二数量阈值大于第一数量阈值,例如第一数量阈值为2,第二数量阈值为3或4。

S504:若基于划分决策信息确定上述子块数量大于或者等于第二数量阈值,则将二叉树划分、三叉树划分和扩展四叉树划分确定为第二划分模式,并禁止按照第二划分模式对待编码单元进行再划分;其中,第二数量阈值大于第一数量阈值。

本申请实施例提出的视频编码方法,可以用于提前禁止某一种划分模式,也可以提前禁止多种划分模式。在一个实施例中,假设本申请实施例提出的视频编码方法,用于提前禁止某一种划分模式,这种情况下,若电子设备基于划分决策信息确定上述子块数量大于或者等于第一数量阈值,则将二叉树划分、三叉树划分和扩展四叉树划分中的任一种确定为第二划分模式,并禁止按照第二划分模式对待编码单元进行再划分。

可以理解的是,在本申请实施例可以用于禁止某一种划分模式的场景下,电子设备检测到上述子块数量大于或者等于第一数量阈值时,具体确定二叉树划分、三叉树划分和扩展四叉树划分中的哪一种作为待禁止的第二划分模式,可以根据实际需求预先设置。

例如,预先设置在上述子块数量大于或者等于第一数量阈值,且小于第二数量阈值时,将二叉树划分确定为待禁止的第二划分模式。这种情况下,在对实际视频编码过程中,当电子设备执行步骤S503时,若基于划分决策信息确定上述子块数量大于或者等于第一数量阈值,且小于第二数量阈值,则可以将二叉树划分确定为第二划分模式,并禁止按照二叉树划分对待编码单元进行再划分。

又例如,预先设置在上述子块数量大于或者等于第一数量阈值,且小于第二数量阈值时,将三叉树划分确定为待禁止的第二划分模式。这种情况下,在对实际视频编码过程中,当电子设备执行步骤S503时,若基于划分决策信息确定上述子块数量大于或者等于第一数量阈值,且小于第二数量阈值,则可以将三叉树划分确定为第二划分模式,并禁止按照三叉树划分对待编码单元进行再划分。

再例如,预先设置在上述子块数量大于或者等于第一数量阈值,且小于第二数量阈值时,将扩展四叉树划分确定为待禁止的第二划分模式。这种情况下,在对实际视频编码过程中,当电子设备执行步骤S503时,若基于划分决策信息确定上述子块数量大于或者等于第一数量阈值,且小于第二数量阈值,则可以将扩展四叉树划分确定为第二划分模式,并禁止按照扩展四叉树划分对待编码单元进行再划分。

或者,在另一个实施例中,假设本申请实施例提出的视频编码方法,可以应用于提前禁止多种划分模式。这种情况下,若电子设备基于划分决策信息确定上述子块数量大于或者等于第二数量阈值,则可以将二叉树划分、三叉树划分和扩展四叉树划分均确定为第二划分模式,并禁止按照第二划分模式对待编码单元进行再划分,从而实现对多种划分模式的提前禁止。

示例性地,假设第一划分模式为QT,上述划分决策信息为QT划分决策信息(即依照QT划分模式对待编码单元进行划分,获得的划分决策信息),第一数量阈值为2,第二数量阈值为3,在视频编码过程中,电子设备预先依照QT划分将待编码单元划分为4个子块,当电子设备依照其它具有方向性的划分模式(例如BT)对待编码单元进行划分决策时,则可以获取划分决策信息,若基于划分决策信息确定4个子块中选择QT划分的子块数量为2,则可以禁止按照BT对待编码单元进行再划分,这种情况下,BT即为上述第二划分模式。又或者,若基于划分决策信息确定4个子块中选择QT划分的子块数量为4,则可以将禁止按照BT、EQT和TT多种划分模式对待编码单元进行再划分,从而实现对多种划分模式的提前禁止。这种情况下,BT、EQT和TT即为上述第二划分模式。

通过实施例本申请实施例,电子设备在进行视频编码的过程中,可以在进行块划分决策时,可以通过当前待编码单元的子块中选择第一划分模式的子块数量,从而判断是否需要提前跳过其他块划分模式(即第二划分模式),从而无需遍历对待编码单元进行划分的所有划分模式,即可完成对待编码单元的划分决策,能在保证视频编码质量的基础上,显著降低编码复杂度。利用本申请实施例提出的视频编码方法进行实验测试,得到的实验结果如图6所示,从图6中可以看出,利用本申请实施例提出的视频编码方法对于1080p序列节省11%的编码时间,BD-rate性能损失0.52%。其中,BD-rate是评价视频编码算法性能的主要参数之一,表示新算法编码的视频相对于原来的算法在码率和PSNR上的变化情况。在视频编码中,码率低表示压缩量大,PSNR值高表示客观质量好。因此,对于一种编码算法,如果压缩视频码率降低、PSNR值提高,那么该算法具有良好的性能。但是通常视频编码算法在提高压缩量的同时会损失压缩质量,即码率减小的同时PSNR值也减小,此时就需要使用BD-rate进行衡量。

本申请实施例中,电子设备可以在视频编码过程中,获取待编码单元对应的划分模式,该划分模式包括无方向性的第一划分模式(例如QT)和有方向性的第二划分模式(例如BT、TT、EQT等等)。进一步地,可按照第一划分模式对待编码单元进行划分,获得划分决策信息,该划分决策信息包括按照第一划分模式对待编码单元进行划分得到的各子块中选择第一划分模式的子块数量。若基于划分决策信息确定上述子块数量大于或者等于第一数量阈值,且小于第二数量阈值,则将二叉树划分、三叉树划分和扩展四叉树划分中的任一种确定为第二划分模式,并禁止按照第二划分模式对待编码单元进行再划分。或者,若基于划分决策信息确定上述子块数量大于或者等于第二数量阈值,则将二叉树划分、三叉树划分和扩展四叉树划分确定为第二划分模式,并禁止按照第二划分模式对待编码单元进行再划分;其中,第二数量阈值大于第一数量阈值。本申请实施例中,可通过依照第一划分模式对待编码单元进行划分得到的各子块中选择第一划分模式的子块数量,提前跳过其他块划分模式(即第二划分模式),从而无需遍历对待编码单元进行划分的所有划分模式,即可完成对待编码单元的划分决策,能在保证视频编码质量的基础上,显著降低编码复杂度,提高编码效率。

本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现上述实施例中描述的相应方法。

再请参见图7,是本申请实施例的一种视频编码装置的结构示意图,本申请实施例的视频编码装置可以设置在上述电子设备中,也可以为运行于电子设备中的一个计算机程序(包括程序代码)。

本申请实施例的装置的一个实现方式中,装置包括如下结构。

获取单元70,用于在视频编码过程中,获取待编码单元对应的划分模式,所述划分模式包括第一划分模式和第二划分模式,所述第一划分模式是指无方向性的划分模式,所述第二划分模式是指有方向性的划分模式;

处理单元71,用于按照所述第一划分模式对所述待编码单元进行划分,获得划分决策信息;

所述处理单元71,还用于若所述划分决策信息满足目标条件,则禁止按照所述第二划分模式对所述待编码单元进行再划分。

在一个实施例中,所述划分决策信息包括按照所述第一划分模式对所述待编码单元进行划分得到的各子块中选择所述第一划分模式的子块数量,所述目标条件包括针对所述子块数量预先设置的目标数量条件,所述处理单元71,具体用于:若基于所述划分决策信息确定所述子块数量满足所述目标数量条件,则禁止按照所述第二划分模式对所述待编码单元进行再划分。

在一个实施例中,所述第一划分模式包括四叉树划分;所述第二划分模式包括二叉树划分、三叉树划分和扩展四叉树划分中的一种或者多种;其中,所述二叉树划分,用于将所述待编码单元划分为两个面积相同的矩形子块;所述三叉树划分,用于将所述待编码单元划分为三个矩形子块;所述四叉树划分用于将所述待编码单元划分为四个面积相同的矩形子块;所述扩展四叉树划分,用于将所述待编码单元划分为四个矩形子块。

在一个实施例中,所述处理单元71,还具体用于:若基于所述划分决策信息确定所述子块数量大于或者等于第一数量阈值,且小于第二数量阈值,则将所述二叉树划分、三叉树划分和扩展四叉树划分中的任一种确定为第二划分模式,并禁止按照所述第二划分模式对所述待编码单元进行再划分,其中,所述第二数量阈值大于所述第一数量阈值。

在一个实施例中,所述处理单元71,还用于:若基于所述划分决策信息确定所述子块数量大于或者等于第二数量阈值,则将所述二叉树划分、三叉树划分和扩展四叉树划分确定为第二划分模式,并禁止按照所述第二划分模式对所述待编码单元进行再划分。

在一个实施例中,所述处理单元71,还用于:若所述划分决策信息不满足所述目标条件,则按照所述第二划分模式对所述待编码单元进行再划分。

在一个实施例中,所述按照所述第一划分模式对所述待编码单元进行划分之后,所述若所述划分决策信息满足目标条件,则禁止按照所述第二划分模式对所述待编码单元进行再划分之前,所述处理单元71,还用于:按照所述第二划分模式对所述待编码单元进行预划分,并检测所述划分决策信息是否满足所述目标条件。

在一个实施例中,所述处理单元71,还具体用于:若所述划分决策信息满足目标条件,则获取依照所述第二划分模式对所述待编码单元进行预划分,得到的多个目标子块的目标参数;若所述目标参数满足参数条件,则禁止按照所述第二划分模式对所述待编码单元进行再划分。

在一个实施例中,所述目标参数包括用于表示对应目标子块的纹理特征参数,所述处理单元71,还具体用于:获取依照所述第二划分模式对所述待编码单元进行预划分,得到的多个目标子块中多个参考像素点的像素值;基于所述多个参考像素点的像素值,获取所述多个目标子块的统计信息,任一个目标子块的统计信息包括所述任一个目标子块内的参考像素点的平均像素值、像素值方差、图像梯度参数、像素值均方根误差以及像素值标准差中的至少一项;将所述多个目标子块的统计信息作为所述多个目标子块的纹理特征参数。

在一个实施例中,所述参数条件包括:所述多个目标子块的所述纹理特征参数之和大于所述待编码单元的纹理特征参数与第一阈值之积,或者,所述多个目标子块的纹理特征参数之间的差值小于第二阈值;其中,所述第一阈值和所述第二阈值均用于表示所述视频编码的清晰度。

在本申请实施例中,上述各个单元的具体实现可参考前述各个附图所对应的实施例中相关内容的描述。

本申请实施例中的视频编码装置可在视频编码过程中,获取待编码单元对应的划分模式,该划分模式包括无方向性的第一划分模式和有方向性的第二划分模式。进一步地,电子设备可以按照第一划分模式对待编码单元进行划分,获得划分决策信息,若该划分决策信息满足目标条件,则禁止按照第二划分模式对待编码单元进行再划分。采用这样的方式,电子设备无需遍历对待编码单元进行划分的所有划分模式,可以依照预先通过第一划分模式得到的划分决策信息,提前跳过第二划分模式,从而降低编码的复杂度,减少编码消耗的时间,提高编码效率。

再请参见图8,是本申请实施例的一种电子设备的结构示意图,本申请实施例的电子设备包括供电模块等结构,并包括处理器80、存储装置81以及通信接口82。处理器80、存储装置81以及通信接口82之间可以交互数据,由处理器80实现相应的视频编码功能。

存储装置81可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储装置81也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储装置81还可以包括上述种类的存储器的组合。

处理器80可以是中央处理器80(central processing unit,CPU)。在一个实施例中,处理器80还可以是图形处理器80(Graphics Processing Unit,GPU)。处理器80也可以是由CPU和GPU的组合。在电子设备中,可以根据需要包括多个CPU和GPU进行相应的视频编码。

在一个实施例中,存储装置81用于存储程序指令。处理器80可以调用程序指令,实现如本申请实施例中上述涉及的各种方法。

在第一个可能的实施方式中,电子设备的处理器80,调用存储装置81中存储的程序指令,用于在视频编码过程中,获取待编码单元对应的划分模式,所述划分模式包括第一划分模式和第二划分模式,所述第一划分模式是指无方向性的划分模式,所述第二划分模式是指有方向性的划分模式;按照所述第一划分模式对所述待编码单元进行划分,获得划分决策信息;若所述划分决策信息满足目标条件,则禁止按照所述第二划分模式对所述待编码单元进行再划分。

所述划分决策信息包括按照所述第一划分模式对所述待编码单元进行划分得到的各子块中选择所述第一划分模式的子块数量,所述目标条件包括针对所述子块数量预先设置的目标数量条件,所述处理器80,具体用于:若基于所述划分决策信息确定所述子块数量满足所述目标数量条件,则禁止按照所述第二划分模式对所述待编码单元进行再划分。

在一个实施例中,所述第一划分模式包括四叉树划分;所述第二划分模式包括二叉树划分、三叉树划分和扩展四叉树划分中的一种或者多种;其中,所述二叉树划分,用于将所述待编码单元划分为两个面积相同的矩形子块;所述三叉树划分,用于将所述待编码单元划分为三个矩形子块;所述四叉树划分用于将所述待编码单元划分为四个面积相同的矩形子块;所述扩展四叉树划分,用于将所述待编码单元划分为四个矩形子块。

在一个实施例中,所述处理器80,还具体用于:若基于所述划分决策信息确定所述子块数量大于或者等于第一数量阈值,且小于第二数量阈值,则将所述二叉树划分、三叉树划分和扩展四叉树划分中的任一种确定为第二划分模式,并禁止按照所述第二划分模式对所述待编码单元进行再划分,其中,所述第二数量阈值大于所述第一数量阈值。

在一个实施例中,所述处理器80,还用于:若基于所述划分决策信息确定所述子块数量大于或者等于第二数量阈值,则将所述二叉树划分、三叉树划分和扩展四叉树划分确定为第二划分模式,并禁止按照所述第二划分模式对所述待编码单元进行再划分。

在一个实施例中,所述处理器80,还用于:若所述划分决策信息不满足所述目标条件,则按照所述第二划分模式对所述待编码单元进行再划分。

在一个实施例中,所述按照所述第一划分模式对所述待编码单元进行划分之后,所述若所述划分决策信息满足目标条件,则禁止按照所述第二划分模式对所述待编码单元进行再划分之前,所述处理器80,还用于:按照所述第二划分模式对所述待编码单元进行预划分,并检测所述划分决策信息是否满足所述目标条件。

在一个实施例中,所述处理器80,还具体用于:若所述划分决策信息满足目标条件,则获取依照所述第二划分模式对所述待编码单元进行预划分,得到的多个目标子块的目标参数;若所述目标参数满足参数条件,则禁止按照所述第二划分模式对所述待编码单元进行再划分。

在一个实施例中,所述目标参数包括用于表示对应目标子块的纹理特征参数,所述处理器80,还具体用于:获取依照所述第二划分模式对所述待编码单元进行预划分,得到的多个目标子块中多个参考像素点的像素值;基于所述多个参考像素点的像素值,获取所述多个目标子块的统计信息,任一个目标子块的统计信息包括所述任一个目标子块内的参考像素点的平均像素值、像素值方差、图像梯度参数、像素值均方根误差以及像素值标准差中的至少一项;将所述多个目标子块的统计信息作为所述多个目标子块的纹理特征参数。

在一个实施例中,所述参数条件包括:所述多个目标子块的所述纹理特征参数之和大于所述待编码单元的纹理特征参数与第一阈值之积,或者,所述多个目标子块的纹理特征参数之间的差值小于第二阈值;其中,所述第一阈值和所述第二阈值均用于表示所述视频编码的清晰度。

在本申请实施例中,上述处理器80的具体实现可参考前述各个附图所对应的实施例中相关内容的描述。

本申请实施例中的电子设备可在视频编码过程中,获取待编码单元对应的划分模式,该划分模式包括无方向性的第一划分模式和有方向性的第二划分模式。进一步地,电子设备可以按照第一划分模式对待编码单元进行划分,获得划分决策信息,若该划分决策信息满足目标条件,则禁止按照第二划分模式对待编码单元进行再划分。采用这样的方式,电子设备无需遍历对待编码单元进行划分的所有划分模式,可以依照预先通过第一划分模式得到的划分决策信息,提前跳过第二划分模式,从而降低编码的复杂度,减少编码消耗的时间,提高编码效率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所描述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。

以上所揭露的仅为本申请的部分实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于本申请所涵盖的范围。

相关技术
  • 视频编码方法、视频编码装置、电子设备及存储介质
  • 视频编码方法、视频解码方法、存储介质以及电子设备
技术分类

06120112406851