面向硬件的帧内编码模式中编码单元划分模式确定方法

文档序号:1893572 发布日期:2021-11-26 浏览:17次 >En<

阅读说明:本技术 面向硬件的帧内编码模式中编码单元划分模式确定方法 (Method for determining coding unit partition mode in hardware-oriented intra-frame coding mode ) 是由 高伟 袁航 李革 于 2021-07-30 设计创作,主要内容包括:本发明公开一种面向硬件的帧内编码模式中编码单元划分模式确定方法,所述方法包括以下步骤:将目标视频的初始编码单元拆分为多个最小编码单元;计算所述多个最小编码单元的纹理参数;基于所述纹理参数,获得所述初始编码单元的目标划分模式。本发明还公开终端设备以及计算机可读存出介质。利用本发明的面向硬件的帧内编码模式中编码单元划分模式确定方法计算时长较短,效率较高。(The invention discloses a method for determining a partition mode of a coding unit in a hardware-oriented intra-frame coding mode, which comprises the following steps: splitting an initial coding unit of a target video into a plurality of minimum coding units; calculating texture parameters of the minimum coding units; and obtaining a target partition mode of the initial coding unit based on the texture parameters. The invention also discloses a terminal device and a computer readable storage medium. The method for determining the coding unit division mode in the hardware-oriented intra-frame coding mode has the advantages of short calculation time and high efficiency.)

面向硬件的帧内编码模式中编码单元划分模式确定方法

技术领域

本发明涉及视频压缩技术领域,特别涉及一种面向硬件的帧内编码模式中编码单元划分模式确定方法、终端设备以及计算机可读存储介质。

背景技术

在视频编码领域,降低压缩文件的比特率和提高重建视频的质量是永恒的追求。将视频编码帧内模式中的每帧图像分割为具有相对一致的内部纹理的小块可以减少后续编码过程中重建区域和原始区域之间的残差,从而减少比特流。

相关技术中,公布了一种帧内编码模式下编码单元划分模式确定方法,将初始编码单元按照预设划分模式进行拆分,并对每一种划分模式,计算该划分模式的率失真代价,然后将率失真代价最低的划分模式确定为最终的划分模式。

但是,采用现有的帧内编码模式下编码单元划分模式确定方法,确定划分模式的效率较低。

发明内容

本发明的主要目的是提供一种面向硬件的帧内编码模式中编码单元划分模式确定方法、终端设备以及计算机可读存储介质,旨在解决现有技术中用现有的帧内编码模式中编码单元划分模式确定方法,确定划分模式的效率较低的技术问题。

为实现上述目的,本发明提出一种面向硬件的帧内编码模式中编码单元划分模式确定方法,所述方法包括以下步骤:

将目标视频的初始编码单元拆分为多个最小编码单元;

计算所述多个最小编码单元的纹理参数;

基于所述纹理参数,获得所述初始编码单元的目标划分模式。

本发明技术方案提出了一种面向硬件的帧内编码模式中编码单元划分模式确定方法,通过将目标视频的初始编码单元拆分为多个最小编码单元;计算所述多个最小编码单元的纹理参数;基于所述纹理参数,获得所述初始编码单元的目标划分模式。

现有的方法中,将初始编码单元按照预设划分模式进行分割,并对每一种划分模式,计算该划分模式的率失真代价,然后将率失真代价最低的划分模式确定为最终的划分模式,由于,计算不同划分模式中各率失真代价时,均需要对各个最小编码单元的数据进行处理,各个最小编码单元的数据多次重复计算消耗额外的计算资源,使得计算时长较长,效率较低。在本发明中,提前计算好各最小编码单元的纹理参数,然后基于所述纹理参数,获得所述初始编码单元的目标划分模式,不需要进行纹理参数的重复计算,所以,利用本发明的面向硬件的帧内编码模式中编码单元划分模式确定方法计算时长较短,效率较高。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例方案涉及的硬件运行环境的终端设备结构示意图;

图2为本发明面向硬件的帧内编码模式中编码单元划分模式确定方法第一实施例的流程示意图;

图3为现有技术中的划分标准的示意图;

图4为本发明中预设划分模式对应的分区结构示意图;

图5为本发明决策树模型框架示意图;

图6为直方图差异度和梯度差异度的示意图;

图7为本发明色度直方图差异度优化算法的伪代码示意图;

图8为本发明的实施例的面向硬件的帧内编码模式中编码单元划分模式确定装置的结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的终端设备结构示意图。

通常,终端设备包括:至少一个处理器301、存储器302以及存储在所述存储器上并可在所述处理器上运行的面向硬件的帧内编码模式中编码单元划分模式确定程序,所述面向硬件的帧内编码模式中编码单元划分模式确定程序配置为实现如前所述的面向硬件的帧内编码模式中编码单元划分模式确定方法的步骤。

处理器301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。

存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器。

在一些实施例中,终端还可选包括有:通信接口303和至少一个外围设备。处理器301、存储器302和通信接口303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与通信接口303相连。具体地,外围设备包括:射频电路304、显示屏305和电源306中的至少一种。

通信接口303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器301和存储器302。

射频电路304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路304通过电磁信号与通信网络以及其他通信设备进行通信。

显示屏305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。

电源306用于为电子设备中的各个组件进行供电。电源306可以是交流电、直流电、一次性电池或可充电电池。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有面向硬件的帧内编码模式中编码单元划分模式确定程序,所述面向硬件的帧内编码模式中编码单元划分模式确定程序被处理器执行时实现如上文所述的面向硬件的帧内编码模式中编码单元划分模式确定方法的步骤。因此,这里将不再进行赘述。

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

基于上述硬件结构,提出本发明面向硬件的帧内编码模式中编码单元划分模式确定方法的实施例。

参照图2,图2为本发明面向硬件的帧内编码模式中编码单元划分模式确定方法第一实施例的流程示意图,所述方法用于终端设备,所述方法包括以下步骤:

步骤S11:将目标视频的初始编码单元拆分为多个最小编码单元。

需要说明的是,本发明的执行主体是终端设备,终端设备安装有面向硬件的帧内编码模式中编码单元划分模式确定程序,终端设备执行分区确定程序时,实现本发明的分区确定方法。

视频编码的帧内编码模式中,将视频的每帧图像划分为具有相对一致的内部纹理的小块可以减少后续编码过程中重建区域和原始区域之间的残差,从而减少比特流。从理论上讲,更精细的划分可以带来更高的编码增益。现有的技术中,最常用的为HEVC标准和VVC标准;视频帧首先会被拆分为多个编码树单元(coding tree unit,CTU),然后基于率失真优化(rate-distortion optimization,RDO)策略,然后对当前编码单元(coding unit,CU,在本发明下文描述中为当前待划分单元)进行所有可能的划分,然后从中选择最佳拆分模式。

参照图3,图3为现有技术中的划分标准的示意图。

在HEVC中,CTU的大小为64×64,最小编码单位(smallest coding uint,SCU)大小为8×8,划分模式包括两种,即四叉树(Quad Tree,QT)划分模式和不拆分模式(Non-Split),在分区过程中将生成四种大小的CU:64×64、32×32、16×16和8×8。

相较于在HEVC,VVC具有更高编码性能,在VVC中的CTU大小已增加到128×128,SCU大小已减少到4×4,划分模式的数量已增加到6,如图3所示,分别称为四叉树划分模式、不拆模式、垂直二叉树(Binary Tree,BT)划分模式、水平BT划分模式、垂直三叉树(TernaryTree,TT)划分模式和水平TT划分模式。然而,VVC中更加多样化的划分模式不仅带来了编码增益,而且还带来了计算复杂性的爆炸性增长。

为了在硬件平台上实现对视频的实时编码,在VVC的基础上其进行了精简,然后利用精简后的VVC,对视频进行编码,其中,视频为8K超高清视频。表1展示了编码结果,表1如下:

表1

在表1中,M1为在VVC中删除TT划分模式后的结果,M2为将SCU提升至16×16后的结果,可以看出TT模式(垂直三叉树划分模式和水平三叉树划分模式)带来的编码增益对8K超高清视频编码来说是非常小的,去TT模式后BD-Rate仅增加了0.157。此外,较小的SCU尺寸在8K超高清视频编码性能方面的提升也非常有限。因此,在本发明中划分模式删除了TT划分模式,将SCU的大小增加到16×16。

需要说明的是,目标视频即是进行视频编码的视频,目标视频可以是8K超高清视频。目标视频中的每一个视频帧均需要进行本发明的操作;每一个视频帧被拆分成多个初始编码单元,每个初始编码单元的大小为64×64;然后将每个初始编码单元均执行本发明的步骤S11,并进行后面的步骤S12-S14,其中,每个初始编码单元对应的最小编码单元均是16×16,即,一个初始编码单元对应16个最小编码单元。

步骤S12:计算所述多个最小编码单元的纹理参数。

步骤S13:基于所述纹理参数,获得所述初始编码单元的目标划分模式。

其中,所述纹理参数包括亮度梯度和色度直方图;相应的,所述计算所述多个最小编码单元的纹理参数的步骤,包括:并行计算所述多个最小编码单元的亮度梯度和色度直方图;相应的,所述基于所述纹理参数,获得所述初始编码单元的目标划分模式的步骤,包括:基于所述亮度梯度和所述色度直方图,获得所述初始编码单元的目标划分模式。

需要说明的是,目标视频的格式为YUV格式,亮度梯度通过最小编码单元的Y分量求得,色度直方图包括U分量的色度直方图和V分量的色度直方图,即两种色度直方图分别通过最小编码单元的U分量和V分量求得。同时,多个最小编码单元的运算过程是并行的,每一个最小编码单元的亮度梯度和色度直方图也是并行计算的。参照上文描述,对于一个初始编码单元,对应16个最小编码单元(本发明中的最小编码单元),每个最小编码单元包括三种分量(YUV),则,此时同时进行16×3=48组数据的并行运算。双重并行运算的方式,大大提高了亮度梯度和色度直方图的求解速度速度。可以理解的是,所述色度直方图包括初始编码单元对应的多个最小编码单元各自的色度直方图,所述亮度梯度包括初始编码单元对应的多个最小编码单元各自的亮度梯度。可以将最小编码单元各自的亮度梯度和色度直方图存储于缓存,以便于后续步骤直接应用。

可以理解的是,为了适应步骤S12的并行运算,终端设备需要具有并行运算的处理器架构,即,终端设备的处理器包括多个运算单元,每个运算单元用于计算一组数据,同时,每个运算单元内部的数据也可以进行并行运算,终端设备的处理器可以是FPGA(FieldProgrammable Gate Array,现场可编程逻辑门阵列)。

其中,所述预设划分模式包括四叉树划分模式、垂直二叉树划分模式、水平二叉树划分模式和不划分模式,即,在本发明中,划分模式设定为4种。参照上文描述,初始编码单元尺寸为64×64,包括16个16×16的最小编码单元。

具体的,所述基于所述亮度梯度和所述色度直方图,获得所述初始编码单元的目标划分模式的步骤,包括:将所述初始编码单元确定为当前待划分单元;基于预设划分模式,确定所述当前待划分单元对应的当前组合编码单元;基于所述亮度梯度,获得亮度梯度差异度;基于所述色度直方图,获得色度直方图差异度;获取所述当前待划分单元的当前编码信息;将所述亮度梯度差异度和所述当前编码信息输入亮度决策树模型,以获得所述当前待划分单元的亮度划分模式;将所述色度直方图差异度和所述当前编码信息输入色度决策树模型,以获得所述当前待划分单元的色度划分模式;基于所述亮度划分模式和所述色度划分模式,获得得所述当前待划分单元的初始划分模式;在所述初始划分模式不满足预设条件时,利用所述初始划分模式,对所述当前待划分单元进行划分,以获得新的当前待划分单元;基于所述预设划分模式和所述新的当前待划分单元,确定所述新的当前待划分单元对应的新的当前组合编码单元;利用所述新的当前待划分单元更新所述当前待划分单元;利用所述新的当前组合编码单元更新所述当前组合编码单元,并返回执行所述基于所述亮度梯度,获得亮度梯度差异度的步骤,直到初始划分模式满足所述预设条件,或新的当前待划分单元只包括一个最小编码单元,基于初始划分模式,获得所述目标划分模式。

需要说明的是,预设条件为初始划分模式为不划分模式,即,当初始划分模式为不划分模式,或新的当前待划分单元不能再被划分(新的当前待划分单元为所述最小编码单元)时,即停止。划分的过程是一个循环过程,满足上述的情况即停止循环。

另外,当前编码信息包括划分深度(可以理解为当前待划分单元对应的当前循环次数,第一次循环对应的划分深度即为1)和尺寸信息(即为当前待划分单元的尺寸)。其中,色度划分模式和亮度划分模式是区别开来,当前待划分单元需要进行色度划分和亮度划分,当前待划分单元分别需要利用色度决策树模型和亮度决策树模型进行决策。

参照图4,图4为本发明中预设划分模式对应的分区结构示意图。图4中,一个64*64的初始编码单元被划分成16个最小编码单元(尺寸为16*16),16个最小编码单元(1-16为16个最小编码单元的编号,便于讲解)。

对于第一次循环(可以进行四叉树划分和二叉树划分),以初始编码单元为当前待划分单元,利用预设划分模式,确定出4个当前组合编码单元:1、2、5和6为第一大单元,3、4、7和8为第二大单元,6、10、13和14为第三大单元,11、12、15和16为第四大单元。对于四叉树划分模式,四个当前组合编码单元即为该划分模式中的四个分区:第一大单元为第一大分区,第二大单元为第二大分区,第三大单元为第三大分区,第四大单元为第四大分区;对于水平二叉树划分模式,第一大单元与第二大单元构成上大分区,第三大单元和第四大单元构成下大分区;对于垂直二叉树划分模式,第一大单元与第三大单元构成左大分区,第二大单元和第四大单元构成右大分区。

第一次循环对应的初始划分模式为四叉树划分模式时,第二次循环开始时,当前待划分单元包括上述第一大分区、第二大分区、第三大分区和第四大分区,一个大分区即为一个新的当前待划分单元尺寸为2*2(最小编码单元的个数,下文图4涉及到的尺寸均以最小编码单元的个数为例,例如图4中1、2、5和6组成的当前待划分单元,每个最小编码单元为一个新的当前组合编码单元),每个新的当前待划分单元,均按照第一次循环的方式继续划分;在第二次循环对应的也是四叉树划分模式,经过第二次循环之后,对应的则新的当前待划分单元只包括一个最小编码单元,不能在进行划分,不在进行循环,此时两个循环过程分别对应的划分模式均是四叉树划分模式,则此时对应的目标划分模式是四叉树划分模式和四叉树划分模式。

第一次循环对应的初始划分模式为四叉树划分模式时,以四个大分区中的某一个大分区(例如第一大分区)为例,当前待划分单元的尺寸为4*4,第二次循环对应的当前组合编码单元的大小为1*1,以该当前组合编码单元为基准,求得第二次循环过程需要的亮度梯度差异度、色度直方图差异度和当前编码信息;在第二次循环是水平二叉树叉树划分模式,第二次循环之后,产生的新的当前待划分单元的尺寸为2*1(例如图4中,1和2组成的单元),对于该种尺寸的一个单元,依旧以当前组合编码单元的大小为1*1为准,求得第三次循环需要的亮度梯度差异度、色度直方图差异度和当前编码信息;第三次循环过程只能进行垂直二叉树划分,以获得对应的两个尺寸为1*1的新的当前组合编码单元,从而不再进行第四次循环。

第一次循环对应的初始划分模式为四叉树划分模式时,以四个大分区中的某一个大分区(例如第一大分区)为例,当前待划分单元的尺寸为4*4,第二次循环对应的当前组合编码单元的大小为1*1,以该当前组合编码单元为基准,求得第二次循环需要的亮度梯度差异度、色度直方图差异度和当前编码信息;在第二次循环对应的是垂直二叉树叉树划分模式,经过第二次循环,则此时产生的新的当前待划分单元的尺寸为1*2(例如图4中,1和5组成的单元),依旧以当前组合编码单元的大小为1*1为准,求得第三次循环需要的亮度梯度差异度、色度直方图差异度和当前编码信息;第三次循环过程只能进行水平二叉树划分,以获得对应的两个尺寸为1*1的新的当前组合编码单元,从而不再进行第四次循环。

第一次循环为垂直二叉树划分模式时(图4中第三行左起第一个),对应新的当前待划分单元尺寸为2*4,该当前待划分单元只能进行二叉树划分(图4中,水平二叉树划分:第三行左起第二个,垂直二叉树划分:第三行左起第三个),对应的当前组合编码单元的大小为1*2(一个大区对应四个组合编码单元),以该当前组合编码单元为基准,求得第二次循环过程需要的亮度梯度差异度、色度直方图差异度和当前编码信息;在第二次循环对应的是垂直二叉树叉树划分模式(图4中,第三行左起第三个),则此时产生的新的当前待划分单元的尺寸为1*4(例如,1、5、9和13组成的单元),以当前组合编码单元的大小为1*2为准,求得第三次循环需要的亮度梯度差异度、色度直方图差异度和当前编码信息;第三次循环过程只能进行水平二叉树划分(图4中第三行左起第四个),以获得对应的两个尺寸为1*2的新的当前组合编码单元,然后进行第四次循环(图4中,1*2的只能进行水平二叉树划分,例如,1和5组成的单元),以获得尺寸为1*1的当前组合编码单元,便无法进行第五次循环;或,在第二次循环对应的是水平二叉树叉树划分模式,则此时产生的新的当前待划分单元的尺寸为2*2(图4中,左起第二个,由1、2、5和6组成的单元),以当前组合编码单元的大小为1*1为准,求得第三次循环需要的亮度梯度差异度、色度直方图差异度和当前编码信息;然后按照上文所述的尺寸为4*4的单元的划分方式继续划分。

第一次循环为水平二叉树划分模式时(图4中第二行左起第一个),对应新的当前待划分单元尺寸为4*2,只能进行二叉树划分(图4中,水平二叉树划分:第二行左起第二个,垂直二叉树划分:第二行左起第三个),对应的当前组合编码单元的大小为2*1(一个大区对应四个组合编码单元),以该当前组合编码单元为基准,求得第二次循环需要的亮度梯度差异度、色度直方图差异度和当前编码信息;在第二次循环对应的是水平二叉树叉树划分模式,则此时产生的新的当前待划分单元的尺寸为4*1(图4中,第二行左起第二个,由1、2、3和4组成的单元),以当前组合编码单元的大小为2*1为准,求得第三次循环需要的亮度梯度差异度、色度直方图差异度和当前编码信息;在第三次循环过程只能进行垂直二叉树划分(图4中第三行尺寸为4*1,由1、2、3和4组成的单元),以获得对应的两个尺寸为2*1的新的当前待划分单元,然后进行第四次循环(图4中,2*1的只能进行垂直二叉树划分,例如,1和2组成的单元),以获得尺寸为1*1的当前组合编码单元,便无法进行第五次循环;或,在第二次循环对应的是垂直二叉树叉树划分模式,第二次循环之后,产生的新的当前待划分单元的尺寸为2*2(例如,1、2、5和6组成的单元),以当前组合编码单元的大小为1*1为准,求得对应的亮度梯度差异度、色度直方图差异度和当前编码信息;然后按照上文所述的尺寸为4*4单元的划分方式继续划分。

对于上文的各个例子,每一个循环过程均可能出现不划分的情况,出现不划分即停止即可,上文的描述均以未出现不划分为例进行解释。

可以理解的是,对于当前待划分单元的亮度梯度差异度、色度直方图差异度、当前编码信息以及所述决策树模型对当前待划分单元的决策过程,在硬件支撑(终端设备的芯片具有多个可并行的运算单元)的前提下,均可以是一个并行的过程(多个当前待划分单元亮度梯度差异度可以并行运算,多个当前待划分单元色度直方图差异度可以并行运算,多个当前待划分单元的决策过程可以并行进行,其中,色度直方图差异度和亮度梯度差异度也是并行运算的)。例如,对于第一次循环过程结束之后,获得的新的当前待划分单元为4个32*32的单元,则该4个单元可以并行的运算方式,同时获得4个单元各自的亮度梯度差异度和色度直方图差异度,然后对该4个单元进行并行的决策。

另外,所述亮度决策树模型对所述亮度梯度差异度和所述当前编码信息的处理流程为:在所述当前待划分单元为第一类编码单元时,采用第一分类器,利用所述亮度梯度差异度和所述当前编码信息,判断所述当前待划分单元是否进行分区;当所述当前待划分单元进行分区时,采用第二分类器,利用所述亮度梯度差异度和所述当前编码信息,判断所述当前待划分单元是否进行四叉树划分模式,否则将不划分模式确定为所述初始划分模式;当所述当前待划分单元不进行四叉树划分模式时,采用第三分类器,利用所述亮度梯度差异度和所述当前编码信息,判断所述当前待划分单元是否进行水平二叉树划分模式,否则将四叉树划分模式确定为所述初始划分模式;当所述当前待划分单元不进行水平二叉树划分模式,将垂直二叉树划分模式确定为所述初始划分模式,否则将水平二叉树划分模式确定为所述初始划分模式;或,在所述当前待划分单元为第二类编码单元时,采用第四分类器,利用所述亮度梯度差异度和所述当前编码信息,判断所述当前待划分单元是否进行垂直二叉树划分模式;当所述当前待划分单元进行垂直二叉树划分模式时,将垂直二叉树划分模式确定为所述初始划分模式,否则将不划分模式确定为所述初始划分模式;或,在所述当前待划分单元为第三类编码单元时,采用第五分类器,利用所述亮度梯度差异度和所述所述当前编码信息,判断所述当前待划分单元是否进行水平二叉树划分模式;当所述当前待划分单元进行水平二叉树划分模式时,将水平二叉树划分模式确定为所述初始划分模式,否则将不划分模式确定为所述初始划分模式。

可以理解的是,所述色度决策树模型对所述色度直方图差异度和所述当前编码信息的处理流程与上文类似,此处不再赘述。同理,色度决策树模型也包括5个分类器。

同时,当前待划分单元的不可进行“田”字划分时,当前待划分单元为第一类编码单元为,当前待划分单元的尺寸可以是32*32、32*64或64*32,即当前待划分单元的边长大于16(对于32*64或64*32,虽然不能进行四叉树划分,但是依旧将其按照四叉树模式输入,第一分类器判断其可以进行划分后,第二分类器直接确定其进行二叉树划分,并继续由第三分类器继续判定何种二叉树划分);当前待划分单元的尺寸为Mini—Size的编码单元,且只可采用垂直二叉树划分模式时,当前待划分单元为第二类编码单元;当前待划分单元的尺寸为Mini—Size的编码单元,且只可采用水平二叉树划分模式时,当前待划分单元为第三类编码单元。

参照图5,图5为本发明决策树模型框架示意图。

对于本申请的决策树模型,包括亮度决策树模型和色度决策树模型,亮度决策树模型和色度决策树模型的结构是类似的,均涉及两种框架:第一类框架和第二类框架,第一类框架是针对第一类编码单元,第二类框架是针对第二类编码单元和第三类编码单元,第二类编码单元和第三类编码单元对应的决策树模型框架是同一种,由于其仅仅是高度和宽度方向的转变,参照图4所示的结构。

对于本申请的决策树模型(包括亮度决策树模型和色度决策树模型),需要10个分类器,即对于第一分类器,需要包括两个分类器,一个用于进行亮度梯度差异度的判定,一个用于进行色度差异度的判定,同理,第二分类器至第五分类器也均包括两个。

可以基于上述亮度决策树模型对所述亮度梯度差异度和当前编码信息的处理流程,以及色度决策树模型对所述色度差异度和当前编码信息的处理流程,利用获取的训练样本,对初始决策树模型进行训练,获得所述色度决策树模型和亮度决策树模型,具体的训练过程此处不再赘述。

可以理解的是,对于亮度梯度差异度和色度差异度,会分别对应一个决策结果,综合两个决策结果,以确定最后的目标划分模式。

具体的,所述基于所述色度直方图,获得色度直方图差异度的步骤,包括:将当前组合编码单元包括的最小编码单元的色度直方图进行合并,以获得所述当前组合编码单元的组合色度直方图;将当前分区包括的当前组合编码单元的组合色度直方图进行合并,以获得所述当前分区对应的结果色度直方图,所述当前分区为所述预设划分模式中每个划分模式对应的分区;基于所述结果色度直方图,获得所述预设划分模式对应的所述色度直方图差异度;同理,所述基于所述亮度梯度,获得亮度梯度差异度的步骤,包括:将当前组合编码单元包括的最小编码单元的亮度梯度进行合并,以获得所述当前组合编码单元的组合亮度梯度;将当前分区包括的当前组合编码单元的组合亮度梯度进行合并,以获得所述当前分区对应的结果亮度梯度,所述当前分区为所述预设划分模式中每个划分模式对应的分区;基于所述结果亮度梯度,获得所述预设划分模式对应的所述亮度梯度差异度。

当前组合编码单元的具体情况参照上文图4涉及的解释,此处不再赘述。对于每一次循环过程结束后,产生的新的当前待划分单元,即为该次循环过程对应的分区,例如,2*4(最小编码单元的个数)为某一次循环过程开始时的当前待划分单元,其只能进行二叉树划分,对应的当前组合编码单元为四个1*2(最小编码单元的个数)的单元,该次循环结束后的分区分别为1*4(最小编码单元的个数)的分区和2*2(最小编码单元的个数)的分区,那么该次循环对应的分区即为1*4(最小编码单元的个数)分区和2*2(最小编码单元的个数)分区,即,一次循环过程的分区,均是由该次循环过程对应的当前组合编码单元构成。

在本发明中,在初始编码单元为64×64时,对应的多个最小编码单元为16个,每一个最小编码单元均为16×16;可以理解的是,用户可以基于需求,参照本发明的思路设定初始编码单元和最小编码单元的尺寸,此处不做限定。

可以理解的是,在本发明中,基于初始编码单元对应的多个最小编码单元,求得多个组合编码单元的各自的亮度梯度和色度直方图,组合编码单元的亮度梯度即为组合亮度梯度,组合编码单元的色度直方图即为组合色度直方图。所述组合亮度梯度包括各个组合编码单元的组合亮度梯度,所述组合色度直方图包括各个组合编码单元的组合色度直方图。

具体的,参照图4,第一大单元的组合亮度梯度即是将1、2、5和6的亮度梯度合并,同理,计算其他组合编码单元的组合亮度梯度。第一大单元的组合色度直方图即是将1、2、5和6的色度直方图合并,同理,计算其他组合编码单元的组合色度直方图。

可以理解的组合编码单元的组合色度直方图包括U分量和V分量分别对应的色度直方图,均可采用上述方式获得,此处不再赘述。

具体的,每个最小编码单元的色度直方图是对每个最小编码单元的色度像素进行统计获得即:利用所述多个最小编码单元的色度像素值,获得所述色度直方图(包括多个最小编码单元各自的色度直方图)。

另外,每个最小编码单元的亮度梯度通过如下方式获得:利用公式一,计算所述多个最小编码单元的亮度梯度;公式一为:

其中,A为所述多个最小编码单元中的一个最小编码单元,Gh(A)、Gv(A)、G45(A)和G135(A)分别为A在水平、垂直、45度和135度方向的亮度梯度,W为A的宽度,H为A的高度,i和j分别表示A中的亮度像素v的横坐标和纵坐标。

参照图6,图6为直方图差异度和梯度差异度的示意图。

在图5中,a、b和c中,每幅图片分成左右两部分,采用直方图的方式确定a、b和c中左右两部分的差距时,结果表现为差异度极高,近乎为同样的纹理,但是实际上三幅图中左右部分的纹理均存在明显的差异;同时,d中分成四部分,若果采用梯度的方式计算四部分之间差距时,结果表现为差异度极高,几乎为同样的纹理,但实际上四部分之间的纹理差距也很明显,即,采用直方图和梯度的方式均是不准确的,由于,梯度和直方图算法在对结构纹理(亮度纹理)和颜色纹理的敏感性方面有所不同,所以,在本申请中,对于色度分量,采用直方图的方式,对于亮度分量,采用梯度方式。

可以理解是,每个最小编码单元的亮度梯度和色度直方图是不变的,在不同的划分模式下,只需要将已经求得的每个最小编码单元的亮度梯度和色度直方图,得到对应的组合编码单元的结果亮度梯度和结果色度直方图,并利用各组合编码单元的结果亮度梯度和结果色度直方图,按照预设划分模式,分别获得各种分区的结果亮度梯度和结果亮度直方图。对于本申请中的一个尺寸为64×64初始编码单元,对应的最小编码单元的尺寸为16×16时,第一次循环过程,涉及到分区的即为上文所述的第一分区、第二分区、第三分区、第四分区、上大分区、下大分区、左大分区和右大分区,即,需要基于个最小编码单元的亮度梯度和色度直方图,获得上述8个分区的结果亮度梯度和结果亮度直方图。

另外,获得每个最小编码单元的亮度梯度和色度直方图之后,可以采用并行的方式,快速的求得各种分区分别对应的组合亮度梯度和组合亮度直方图。

具体的,所述基于所述结果亮度梯度,获得所述预设划分模式对应的所述亮度梯度差异度的步骤,包括:

利用公式三,计算所述预设划分模式分别对应的所述亮度梯度差异度;公式三为:

a∈(h,v,45,135)

其中,α为梯度方向:水平、垂直、45度和135度,M和N分别为所述每个划分模式的任意两个分区,C和D分别为M分区(或N分区)的宽度和高度,GDα(M,N)为M和N在α方向的亮度梯度差异度。

需要说明的是,M和N必须是同一种划分模式对应的分区,例如,对于四叉树划分模式,M和N可以是第一分区、第二分区、第三分区和第四分区的任意两个。亮度梯度差异度是采用梯度差异度的方式求解,需要涉及到四个方向的亮度梯度差异度,即α涉及水平、垂直、45度和135度四个方向。同时,对于一种划分模式,求得该划分模式对应的一组数据,本申请涉及四种划分模式,对于不划分模式,不需要求得色度差异度和亮度梯度差异度,则需要获得其他三种划分模式分别对应的三组亮度梯度差异度。

进一步的,所述基于所述结果色度直方图,获得所述预设划分模式对应的所述色度直方图差异度的步骤,包括:

基于所述结果色度直方图,利用公式二,计算所述色度直方图差异度;

公式二为:

其中,L为固定常数,Q和S分别为所述每个划分模式的任意两个分区分别对应的结果色度直方图,Vmin为Q和S中最低位的非0有效值,Vmax为Q和S中最高位的有效值,qn为Q中第n位的值,sn为S中的第n位的值,HD(Q,S)为Q和S的色度直方图差异度。其中,在像素值为8bit数据时,像素值区间为[0,255],则固定常数L取256;在像素值为10bit数据时,像素值区间为[0,1023],则固定常数L取1024。

需要说明的是,Q和S必须是同一种划分模式对应的分区,例如,对于四叉树划分模式,Q和S可以是第一分区、第二分区、第三分区和第四分区的任意两个。色度差异度涉及两个色度分量U和V,按照上文所述的方式,分别求得两个分量的色度差异度。最终的色度差异度为两个分量的色度差异度的平均值。同时,对于一种划分模式,求得该划分模式对应的一组数据,本申请涉及四种划分模式,对于不划分模式,不需要求得色度差异度和亮度梯度差异度,则需要获得其他三种划分模式分别对应的三组色度差异度。

通常,目标视频的视频帧中的事物通常是平滑的,换而言之,在对应的色度直方图(涉及色度直方图、结果色度直方图和组合色度直方图)中,大多数位的直方图值为0,即在上述不同分区中,色度像素的值相对连续,不会出现明显波动,现有的直方图统计过程需要对全部的色度像素值(0-255)进行遍历操作,以获得色度差异度,使得计算时间较长,计算效率较低。在本申请中,只需要对分区中色度像素值在最高位的有效值和最低位的有效值之间的进行遍历操作即可,不需要对全部的256个值进行遍历操作,节省了计算时间,提高了计算效率。

参照图7,图7为本发明色度直方图差异度优化算法的伪代码示意图。即在具体的应用过程中,还可以对色度直方图差异度的计算进行优化。

伪代码可以如下表述:

输入:bit:目标视频序列的位数(8bit,10bit);

Hist1,hist2…hist3:16个U分量或Y分量上最小编码单元对应的色度直方图;

Max1,max2…max3:16个色度直方图各自的最高位的有效值;

Min1,min2…min16:16个直方图各自的最低位的有效值;

输出:

diff12:第一大分区和第二大分区的色度直方图差异度;

diff24:第二大分区和第四大分区的色度直方图差异度;

diff34:第三大分区和第四大分区的色度直方图差异度;

diff13:第一大分区和第三大分区的色度直方图差异度;

diffab:上大分区和下大分区的色度直方图差异度;

diffcd:左大分区和右大分区的色度直方图差异度;

算法开始:

第1行:计算所有色度直方图最高位的有效值中的最大值maxval;

第2行:计算所有色度直方图最低位的有效值中的最小值minval;

第3行:将sum12,sum24,sum34,sum13,sumab,sumcd置零;

第4行:从minval到minmax循环5-25行操作,i值从minval循环到minmax第5行:v1等于hist1,hist2,hist4,hist6四个色度直方图第i位的和;

第6行:v2等于hist3,hist4,hist7,hist8四个色度直方图第i位的和;

第7行:v3等于hist9,hist10,hist13,hist14四个色度直方图第i位的和;

第8行:v4等于hist11,hist12 hist15,hist16四个色度直方图第i位的和;

第9行:va等于v1与v2的和;vb等于v3与v4的和;vc等于v1与v3的和;vd等于v2与v4的和;

第10行:如果v1与v2中的最大值大于零,则sum12累加ABS(v1-v2)/MAX(v1-v2)。其中ABS()是绝对值函数,MAX是求最大值函数。

第12行:如果v2与v4中的最大值大于零,则sum24累加ABS(v2-v4)/

MAX(v2-v4);

第14行:如果v3与v4中的最大值大于零,则sum34累加ABS(v3-v4)/MAX(v3-v4);

第16行:如果v1与v3中的最大值大于零,则sum13累加ABS(v1-v3)/MAX(v1-v3);

第18行:如果va与vb中的最大值大于零,则sumab累加ABS(va-vb)/MAX(va-vb);

第20行:如果vc与vd中的最大值大于零,则sumcd累加ABS(vc-vd)/MAX(vc-vd);

第23行:diff12等于sum12右移bit位(相当于除以bit次2);diff24等于sum24右移bit位(相当于除以bit次2);diff34等于sum34右移bit位(相当于除以bit次2);diff13等于sum13右移bit位(相当于除以bit次2);diffab等于sumab右移bit位(相当于除以bit次2);simicd等于sumcd右移bit位(相当于除以bit次2)。

利用上述运算过程,即可减少冗余色度直方图的合并操作,即:上大分区、下大分区、左大分区和右大分区,均可以用第一大单元、第二大单元、第三大单元和第四大单元合并获得。同时,遍历操作只在最高位的有效值和最低位的有效值之间进行,不涉及全部256个位,减少了遍历操作的时间,提高了运算效率。

以8K数据集对应的最小编码单元(SCU)的尺寸为16×16,以16×16为初始编码单元的尺寸,统计各最小编码单元的色度像素值的范围,统计结果参照表2,表2如下:

表2

结果证明,与理论上允许的范围相比,最大值和最小值之间的实际跨度相对较小。在这些数据中,所有序列的平均范围是6.94,最大范围是193。优化算法平均可以节省至少97.29%的循环操作,即使在最坏的情况下也可以节省24.61%的操作,这可以明显提高硬件吞吐量和计算效率。

可以理解的是,对于预设划分模式中涉及的四种,除不划分模式以外的其他三种划分模式,均需要求得该模式对应的亮度梯度差异度和色度差异度,即所述色度差异度包括三种划分模式分别对应的三组数据,以及色度差异度也是包括三种划分模式分别对应的三组数据。

在一些实施例中,初始编码单元为64×64,参照上文方式获得亮度梯度差异度和色度差异度;在另一些实施例中,存在Mini—Size的初始编码单元:一条边为16的编码单元。对于Mini—Size的初始编码单元,只能采用垂直二叉树划分模式、水平二叉树模式和不划分模式,即,此时涉及的分区即为上大分区、下大分区、左大分区和右大分区。对于Mini—Size的初始编码单元,依旧是将其拆分为16×16的最小编码单元,并按照上述方式求得最小编码单元的亮度梯度和色度直方图,以及按照上述方式获得各个分区的组合亮度梯度和组合色度直方图,最后,按照上文方式获得各种划分模式分别对应的色度差异度和亮度梯度差异度,此处不再赘述。

对于每一次循环过程,按照上文方式求得色度差异度和亮度梯度差异度,基于色度差异度和亮度梯度差异度,确定该次循环对应的初始划分模式,直到不再进行循环,基于多个循环过程的初始划分模式,获得目标划分模式,例如:第一次循环为四叉树划分,第二次循环也为四叉树划分,则目标划分模式即为两次四叉树划分。

本发明技术方案提出了一种面向硬件的帧内编码模式中编码单元划分模式确定方法,通过将目标视频的初始编码单元拆分为多个最小编码单元;计算所述多个最小编码单元的纹理参数;基于所述纹理参数,获得所述初始编码单元的目标划分模式。

现有的方法中,将初始编码单元按照预设划分模式进行分割,并对每一种划分模式,计算该划分模式的率失真代价,然后将率失真代价最低的划分模式确定为最终的划分模式,由于,计算不同划分模式中各率失真代价时,均需要对各个最小编码单元的数据进行处理,各个最小编码单元的数据多次重复计算消耗额外的计算资源,使得计算时长较长,效率较低。在本发明中,提前计算好各最小编码单元的纹理参数,然后基于所述纹理参数,获得所述初始编码单元的目标划分模式,不需要进行纹理参数的重复计算,所以,利用本发明的面向硬件的帧内编码模式中编码单元划分模式确定方法计算时长较短,效率较高。

为了评估本申请的方法的具体性能,在VVC的参考软件VTM-11.0的编码过程中提取了每个序列中随机5帧的实际分割结果,其中以8K UHD视频为数据源。然后,计算色度差异度和亮度像素的亮度梯度差异度以构造数据集。之后,使用相同的色度差异度和亮度梯度差异度特征训练初始决策树模型,以获得本申请的决策树。

在VTM-11.0中实现了包括训练有素的分区框架在内的快速方法,并在通用测试条件获得了实验结果。编码QP取为{22,27,32,37},编码配置为ALL-INTRA。除此以外,测试平台是具有16GB RAM和Intel Core i5-10500 CPU的Windows 10。为了证明所提算法的性能和价值,我们还用VTM-11.0和HEVC的参考软件HM-16.20对相同的测试序列进行了编码,最终的实验结果是如表3中所示,表3如下:

表3

可见,与HEVC相比,VVC的视频压缩性能有了显着提高,BD-Rate的编码增益平均为为-37.549%,BD-PSNR平均0.826dB,编码增益充分说明,新标准对于8K UHD视频应用程序的普及是必不可少的。然后,本申请的方法与VTM-11.0的对比,BD-Rate和BD-PSNR分别损失5.712%和-0.127dB,从软件快速算法的角度来看,编码损失有点过大,但是考虑到分区对于硬件平台上的VVC实时帧内编码是不可避免的挑战,因此可以接受。特别是在这种情况下,本申请方法与HM-16.20相比,该方法仍具有-31.595%的BD-Rate和0.7dB的BD-PSNR增益。

为了验证本申请方法的有效性,在Vivado 2019.2中基于XilinxVirtexUltraScale VU440 FPGA进行了仿真实验。仿真了总体架构,另外人为地调整了决策模块,使分割过程变得最复杂,将一个LPCU(最大编码单元,即所述初始编码单元)均划分至SCU(最小编码单元,所述最小编码单元),并选择BT模式,但第一次除法是QT模式。在这些严格的测试条件下,目标视频为单通道模式下的8K UHD视频,目标视频每秒33帧(fps),针对目标视频的视频帧进行分区操作。仿真结果参照表4,表4如下:

表4

在这种情况下,BRAM_18K,DSP48E,FF和LUT的VU-440FPGA的资源利用率分别为0.2%,5.7%,2.6%和5.3%。此外,如果使用多通道模型并设置4种并行架构,则可以提供130fps的算力,支持几乎最高的视频质量。

参照图7,图7为本发明的实施例的任务调度装置的结构框图,所述装置用于终端设备,基于与前述实施例相同的发明构思,所述装置包括:

拆分模块10,用于将目标视频的初始编码单元拆分为多个最小编码单元;

计算模块20,用于计算所述多个最小编码单元的纹理参数;

获得模块30,用于基于所述纹理参数,获得所述初始编码单元的目标划分模式。

需要说明的是,由于本实施例的装置所执行的步骤与前述方法实施例的步骤相同,其具体的实施方式以及可以达到的技术效果都可参照前述实施例,这里不再赘述。

以上所述仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种插值滤波器系数自适应生成方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类