一种基于神经网络的帧内编码单元尺寸划分方法

文档序号:1954809 发布日期:2021-12-10 浏览:22次 >En<

阅读说明:本技术 一种基于神经网络的帧内编码单元尺寸划分方法 (Intra-frame coding unit size dividing method based on neural network ) 是由 张鹏 刘浩宁 向国庆 严伟 贾惠柱 于 2021-07-01 设计创作,主要内容包括:本申请涉及硬件编码器技术领域,具体来说,本申请涉及一种基于神经网络的帧内编码单元尺寸划分方法。所述方法包括:获取第一预设尺寸的编码单元;将编码单元输入到训练好的神经网络模型中,获得第二预设尺寸的编码单元;在模型预测结果中找到其相应位置并进行加和平均操作,获得对该编码单元不划分的概率;如果所述不划分的概率大于第一阈值,则提前终止划分;如果所述不划分的概率小于第二阈值,则计算对该编码单元划分为子块的概率,然后获取第二预设尺寸的编码单元在当前划分模式下的概率。所述方法省去了统计信息和手工设计特征过程,降低了数据依赖度,灵活限制了划分模式,能达到有效提高编码器编码效率的目的。(The application relates to the technical field of hardware encoders, in particular to an intra-frame encoding unit size dividing method based on a neural network. The method comprises the following steps: acquiring a coding unit with a first preset size; inputting the coding unit into the trained neural network model to obtain a coding unit with a second preset size; finding out the corresponding position in the model prediction result, and performing addition and average operation to obtain the probability of not dividing the coding unit; if the probability of not dividing is larger than a first threshold value, terminating the division in advance; if the probability of non-division is smaller than a second threshold value, calculating the probability of dividing the coding unit into the subblocks, and then acquiring the probability of the coding unit with a second preset size in the current division mode. The method saves the processes of statistical information and manual design characteristics, reduces the data dependence, flexibly limits the division mode, and can achieve the purpose of effectively improving the coding efficiency of the encoder.)

一种基于神经网络的帧内编码单元尺寸划分方法

技术领域

本申请涉及帧内编码技术领域,更为具体来说,本申请涉及一种基于神经网络的帧内编码单元尺寸划分方法。

背景技术

帧内预测是在相同解码图像中使用先前解码的样值生成当前样本预测值的过程。AVS代表中国数字音视频编解码技术标准,AVS3代表新一代的编解码技术标准。现有技术中的包括基于相关性分析的传统方法和基于机器学习的分类方法。基于相关性分析的传统方法中主要有,当父块和子块的率失真代价即成本满足特定约束时,可跳过第二个子块的二叉树划分过程,及利用不同深度级别与空间相邻CU之间的RD成本和模式相关性,来跳过在空间上相邻的CU中很少选择为最佳深度的深度级别。基于机器学习的分类方法中,设计了联合分类器决策树结构,以消除当前深度不必要的划分模式,减少迭代;基于机器学习的分类方法中还有一种基于两级二进制分类的方法,其中将因分类错误而导致的RD成本增加建模为支持向量机(SVM)训练中的权重,对是否提前终止划分进行选择。

然而,基于相关性分析的传统方法高度依赖于已编码CU的全局统计信息,很难处理复杂情况,随着划分模式种类增加,人工统计分析容易造成重要信息缺失。基于机器学习的分类方法过于依赖于人工设计提取有用编码特征,划分模式复杂,准确率低。

因此,本申请提出了基于神经网络的帧内编码单元尺寸划分方法,以解决此问题。

发明内容

为实现上述技术目的,本申请提供了一种基于神经网络的帧内编码单元尺寸划分方法,包括以下步骤:

获取第一预设尺寸的编码单元;

将所述编码单元输入到训练好的神经网络模型中,获得第二预设尺寸的编码单元;

记录所述第二预设尺寸的编码单元的尺寸,在模型预测结果中找到其相应位置并进行加和平均操作,获得对该编码单元不划分的概率;

如果所述不划分的概率大于第一阈值,则提前终止划分;

如果所述不划分的概率小于第二阈值,则计算对该编码单元划分为子块的概率,然后进行加和平均操作回溯到该编码单元的尺寸以获取所述第二预设尺寸的编码单元在当前划分模式下的概率;

获取预设数目的概率进行大小比较并排序,选取前N个最大概率对应的划分模式进行划分。

具体地,所述计算对该编码单元划分为子块的方法包括:四叉树划分,横向二叉树划分、纵向二叉树划分、横向扩展的四叉树划分和纵向扩展的四叉树划分。

再具体地,所述神经网络模型包括1个输入层、4个卷积层、1个添加层和2个反卷积层。

优选地,所述神经网络模型的训练步骤如下:

获取样本;

将所述样本按预设比例分为训练样本和验证样本;

设计损失函数与优化算法;

输入所述训练样本进行训练,每训练一次就用所述验证样本进行验证;

在达不到预设的验证效果时重新设计损失函数与优化算法;

当迭代次数达到预设次数时,终止训练。

优选地,所述损失函数为:

其中,为类平衡因子,(1-pj)γ为调制因子,p为预测概率,C为类别数,β和γ表示固定系数。

进一步地,所述卷积层还包括预设尺寸的滤波器。

再进一地,所述神经网络模型还包括输出层,所述输出层的激活函数为softmax函数。

本发明第二方面提供了一种AVS3硬件编码器,所述AVS3硬件编码器应用任一实施方式中的所述基于神经网络的帧内编码单元尺寸划分方法。

本发明第三方面提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如下步骤:

获取第一预设尺寸的编码单元;

将所述编码单元输入到训练好的神经网络模型中,获得第二预设尺寸的编码单元;

记录所述第二预设尺寸的编码单元的尺寸,在模型预测结果中找到其相应位置并进行加和平均操作,获得对该编码单元不划分的概率;

如果所述不划分的概率大于第一阈值,则提前终止划分;

如果所述不划分的概率小于第二阈值,则计算对该编码单元划分为子块的概率,然后进行加和平均操作回溯到该编码单元的尺寸以获取所述第二预设尺寸的编码单元在当前划分模式下的概率;

获取预设数目的概率进行大小比较并排序,选取前N个最大概率对应的划分模式进行划分。

本发明第四方面提供了一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行执行如下步骤:

获取第一预设尺寸的编码单元;

将所述编码单元输入到训练好的神经网络模型中,获得第二预设尺寸的编码单元;

记录所述第二预设尺寸的编码单元的尺寸,在模型预测结果中找到其相应位置并进行加和平均操作,获得对该编码单元不划分的概率;

如果所述不划分的概率大于第一阈值,则提前终止划分;

如果所述不划分的概率小于第二阈值,则计算对该编码单元划分为子块的概率,然后进行加和平均操作回溯到该编码单元的尺寸以获取所述第二预设尺寸的编码单元在当前划分模式下的概率;

获取预设数目的概率进行大小比较并排序,选取前N个最大概率对应的划分模式进行划分。

本申请的有益效果为:本发明的所述方法利用视频空间域的相关性,使用同一帧图像内邻近已编码像素预测当前的像素,能达到有效去除视频空域冗余的目的。所述方法省去了统计信息和手工设计特征过程,降低了数据依赖度,灵活限制了划分模式,能达到有效提高编码器编码效率的目的。

附图说明

图1示出了本申请实施例1的方法流程示意图;

图2示出了本申请实施例1的划分方法示意图;

图3示出了本申请实施例1、2中神经网络训练流程示意图;

图4示出了本申请实施例2中的神经网络结构示意图;

图5示出了本申请实施例2中的神经网络中批归一化示意图;

图6示出了本申请实施例2中的划分操作过程示意图;

图7示出了本申请一实施例所提供的一种电子设备的结构示意图;

图8示出了本申请一实施例所提供的一种存储介质的示意图。

具体实施方式

以下,将参照附图来描述本申请的实施例。但是应该理解的是,这些描述只是示例性的,而并非要限制本申请的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本申请的概念。对于本领域技术人员来说显而易见的是,本申请可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本申请发生混淆,对于本领域公知的一些技术特征未进行描述。

应予以注意的是,这里所使用的术语仅是为了描述具体实施例,而非意图限制根据本申请的示例性实施例。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式。此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或多个其他特征、整体、步骤、操作、元件、组件和/或它们的组合。

现在,将参照附图更详细地描述根据本申请的示例性实施例。然而,这些示例性实施例可以多种不同的形式来实施,并且不应当被解释为只限于这里所阐述的实施例。附图并非是按比例绘制的,其中为了清楚表达的目的,可能放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状以及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。

实施例1:

本实施例实施了一种基于神经网络的帧内编码单元尺寸划分方法,如图1所示,包括以下步骤:

S1、获取第一预设尺寸的编码单元;

S2、将所述编码单元输入到训练好的神经网络模型中,获得第二预设尺寸的编码单元;

S3、记录所述第二预设尺寸的编码单元的尺寸,在模型预测结果中找到其相应位置并进行加和平均操作,获得对该编码单元不划分的概率;

S4、如果所述不划分的概率大于第一阈值,则提前终止划分;

S5、如果所述不划分的概率小于第二阈值,则计算对该编码单元划分为子块的概率,然后进行加和平均操作回溯到该编码单元的尺寸以获取所述第二预设尺寸的编码单元在当前划分模式下的概率;

S6、获取预设数目的概率进行大小比较并排序,选取前N个最大概率对应的划分模式进行划分。

具体地,如图2所示,计算对该编码单元划分为子块的方法包括:四叉树划分DIV1,横向二叉树划分DIV2、纵向二叉树划分DIV3、横向扩展的四叉树划分DIV4和纵向扩展的四叉树划分DIV5。本实施例中,计算对该编码单元划分为子块的方法为:四叉树划分DIV1,横向二叉树划分DIV2、纵向二叉树划分DIV3、横向扩展的四叉树划分DIV4和纵向扩展的四叉树划分DIV5,共计5种划分方法,加上不划分的情况一共为6种,因此预设数目的概率进行大小比较并排序,选取前N个最大概率对应的划分模式进行划分时,预设数目优选为6,N为介于1至6之间的整数。

再具体地,所述神经网络模型包括1个输入层、4个卷积层、1个添加层和2个反卷积层。

如图3所示,神经网络模型的训练大体上包括训练样本选择,模型建立,训练模型及运行流程,在训练模型的过程中不断优化模型。优选地,本申请的神经网络模型的具体训练步骤如下:

获取样本;

将所述样本按预设比例分为训练样本和验证样本;

设计损失函数与优化算法;输入所述训练样本进行训练,每训练一次就用所述验证样本进行验证;

在达不到预设的验证效果时重新设计损失函数与优化算法;

当迭代次数达到预设次数时,终止训练。

在获取样本时,每一个分辨率下至少选择一个序列,对测试序列进行空间感知信息测量(SI)计算,保证所选序列可以涵盖SI整个范围,消除2N×2N和N×N编码单元之间的率失真代价(RD)差异太小的样本,以防止模型学习此类样本,对其他样本产生错误分类,消除阈值为|RD|≤0.02。在模型建立时,编码单元CU类别设置64x64的CU中每个尺寸为4x4,类别数量为22种{0:4x8,1:8x4,…,21:64x64},批(batch)大小选取64。

优选地,所述损失函数为:

其中,为类平衡因子,(1-pj)γ为调制因子,p为预测概率,C为类别数,β和γ表示固定系数。

进一步地,卷积层还包括预设尺寸的滤波器。

再进一地,神经网络模型还包括输出层,所述输出层的激活函数为softmax函数。

实施例2:

本实施实施了一种基于神经网络的帧内编码单元尺寸划分方法,包括以下步骤:

步骤1、获取第一预设尺寸的编码单元。

本实施例选第一预设尺寸的编码单元(CU)尺寸为64x64。

步骤2、将所述编码单元输入到训练好的神经网络模型中,获得第二预设尺寸的编码单元。

本实施例选第二预设尺寸的编码单元(CU)尺寸为16x16x22的输出。

步骤3、记录所述第二预设尺寸的编码单元的尺寸,在模型预测结果中找到其相应位置并进行加和平均操作,获得对该编码单元不划分的概率。

训练神经网络模型的大体流程仍如图3所示,具体的训练步骤如下:

获取样本;

将所述样本按预设比例分为训练样本和验证样本;

设计损失函数与优化算法;

输入所述训练样本进行训练,每训练一次就用所述验证样本进行验证;

在达不到预设的验证效果时重新设计损失函数与优化算法;

当迭代次数达到预设次数时,终止训练。

优选地,所述损失函数为:

其中,为类平衡因子,(1-pj)γ为调制因子,p为预测概率,C为类别数,β和γ表示固定系数。类平衡因子对于样本量较小的类别,损失值将赋予较高的权重,调制因子将进一步增加分类难度更大的样本的损失权重,使模型更加关注错误的样本。

优选地,优化算法采用Adam算法,Adam算法全称为Adaptive moment estimation算法。

如图4所示,提出的深度学习模型结构由1个输入层,4个卷积层,1个添加层和2个反卷积层组成,其中conv代表卷积层,deconv代表反卷积层,表示添加层,QP标识量化参数,未标注箭头中实线箭头代表卷积操作,虚线箭头代表反卷积操作。再如图5所示,每个卷积层和反卷积层都包含批归一化(Batch Normalization简称BN),就是对每一批数据进行归一化,这样效率更高。另外,输出层激活函数为softmax函数,其他层激活函数为relu函数。

步骤4、如果所述不划分的概率大于第一阈值,则提前终止划分。

步骤5、如果所述不划分的概率小于第二阈值,则计算对该编码单元划分为子块的概率,然后进行加和平均操作回溯到该编码单元的尺寸以获取所述第二预设尺寸的编码单元在当前划分模式下的概率。

步骤6、获取预设数目的概率进行大小比较并排序,选取前N个最大概率对应的划分模式进行划分。

参考图6所示,CU标识编码单元,QP标识量化参数,SUB标识子块,QT代表四叉树划分,HBT代表横向二叉树划分,P代表概率,P(N)表示对该编码单元不划分的概率,P(QT)表示对该编码单元进行四叉树划分的概率,P(HBT)表示对该编码单元进行横向二叉树划分的概率,省略号表示还对该编码单元进行纵向二叉树划分、横向扩展的四叉树划分和纵向扩展的四叉树划分。对当前编码单元基础上进行不同划分操作,记录子块坐标及尺寸大小,在模型预测结果中找到对应位置,即可以计算出划分后子块的概率,然后对划分后的子块们的概率通过加和平均操作回溯到当前编码单元尺寸以获取在当前编码单元特定划分模式下的预测概率。本实施方式中预设数目设为6,6种划分模式分别为四叉树划分、横向二叉树划分、纵向二叉树划分、横向扩展的四叉树划分、纵向扩展的四叉树划分及不划分模式,N为介于1至6之间的整数。

实施例3:

本实施例实施了一种AVS3硬件编码器,所述AVS3硬件编码器应用上述任一实施方式中的所述基于神经网络的帧内编码单元尺寸划分方法。该基于神经网络的帧内编码单元尺寸划分方法包括如下步骤:

获取第一预设尺寸的编码单元;

将所述编码单元输入到训练好的神经网络模型中,获得第二预设尺寸的编码单元;

记录所述第二预设尺寸的编码单元的尺寸,在模型预测结果中找到其相应位置并进行加和平均操作,获得对该编码单元不划分的概率;

如果所述不划分的概率大于第一阈值,则提前终止划分;

如果所述不划分的概率小于第二阈值,则计算对该编码单元划分为子块的概率,然后进行加和平均操作回溯到该编码单元的尺寸以获取所述第二预设尺寸的编码单元在当前划分模式下的概率;

获取预设数目的概率进行大小比较并排序,选取前N个最大概率对应的划分模式进行划分。

接下来请参考图7,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图7所示,所述电子设备2包括:处理器200,存储器201,总线202和通信接口203,所述处理器200、通信接口203和存储器201通过总线202连接;所述存储器201中存储有可在所述处理器200上运行的计算机程序,所述处理器200运行所述计算机程序时执行本申请前述任一实施方式所提供的基于神经网络的帧内编码单元尺寸划分方法。

其中,存储器201可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口203(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。

总线202可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器201用于存储程序,所述处理器200在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述基于神经网络的帧内编码单元尺寸划分方法可以应用于处理器200中,或者由处理器200实现。

处理器200可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器200中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器200可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器201,处理器200读取存储器201中的信息,结合其硬件完成上述方法的步骤。

本申请实施例提供的电子设备与本申请实施例提供的基于神经网络的帧内编码单元尺寸划分方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。

本申请实施方式还提供一种与前述实施方式所提供的基于神经网络的帧内编码单元尺寸划分方法对应的计算机可读存储介质,请参考图8,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的基于神经网络的帧内编码单元尺寸划分方法。

所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。

需要说明的是:在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备有固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。

以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:显示控制方法、显示控制电路及显示装置

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!