买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】编码单元深度确定方法及装置_腾讯科技(深圳)有限公司_201710266798.8 

申请/专利权人:腾讯科技(深圳)有限公司

申请日:2017-04-21

公开(公告)日:2020-11-24

公开(公告)号:CN108737841B

主分类号:H04N19/61(20140101)

分类号:H04N19/61(20140101);H04N19/96(20140101);H04N19/86(20140101);H04N19/82(20140101)

优先权:

专利状态码:有效-授权

法律状态:2020.11.24#授权;2018.11.27#实质审查的生效;2018.11.02#公开

摘要:本申请公开了一种编码单元深度确定方法及装置,本申请预先利用标记有分类结果的训练样本来训练预测模型,该训练样本包括设定类型的编码信息特征,进而在确定待处理编码单元的当前最优模式的残差系数不为零时,判断需要进行编码深度预测,从待处理编码单元及其所在编码树单元的近邻编码树单元中,获取设定类型的编码信息特征,组成预测特征向量样本,输入至预测模型中,利用机器学习预测模型来预测待处理编码单元是否需要进一步进行深度划分。本申请在预测结果表明待处理编码单元不需要进一步进行深度划分时,无需对待处理编码单元进行深度划分及率失真代价的计算和比较,相比于现有技术其编码预测时间大大降低,减少了计算资源。

主权项:1.一种编码单元深度确定方法,其特征在于,包括:确定待处理编码单元的当前最优模式的残差系数;在所述残差系数不为零时,若所述待处理编码单元的编码深度为零,则从所述待处理编码单元及所述待处理编码单元所在编码树单元的近邻编码树单元中,分别获取设定类型的编码信息特征,组成预测特征向量样本;将所述预测特征向量样本输入预训练的预测模型中,得到所述预测模型输出的预测结果,所述预测结果表明所述待处理编码单元是否需要进一步进行深度划分;若所述待处理编码单元的编码深度不为零,则确定所述待处理编码单元所在编码树单元的近邻编码树单元中,与所述待处理编码单元相同编码深度的编码单元的平均代价,作为第一平均代价;确定所述待处理编码单元所在编码树单元中相同编码深度的已编码的编码单元的平均代价,作为第二平均代价;根据所述第一平均代价及所述第二平均代价,确定代价阈值;若所述待处理编码单元的当前最优模式的代价小于所述代价阈值,则确定所述待处理编码单元不需要进一步进行深度划分;若所述待处理编码单元的当前最优模式的代价不小于所述代价阈值,则确定所述待处理编码单元需要进一步进行深度划分;其中,所述预测模型为利用标记有分类结果的训练样本预训练得到,所述训练样本包括所述设定类型的编码信息特征。

全文数据:编码单元深度确定方法及装置技术领域[0001]本申请涉及视频编码技术领域,更具体地说,涉及一种编码单元深度确定方法及装置。背景技术[0002]近年来,数字视频已经成为许多消费应用中占据主导地位的媒体内容,人们对于更高的分辨率和更好的视频质量的要求也在增加。针对这种需求,新一代视频编码国际标准HEVCHighEfficiencyVideoCoding,高效率视频编码标准开始制定。同H.264AVC标准相比,HEVC取得了更高的编码压缩性能。[0003]结合附图1对HEVC编码标准的编码过程进行介绍:原始视频序列中一帧图像与缓存的参考帧一起经过帧内预测或者帧间预测之后,得到预测值,预测值与输入的视频帧相减得到残差,残差经过DCT变换和量化之后得到残差系数,然后送入熵编码模块进行编码,并输出视频码流。同时,残差系数经过反量化和反变换之后,得到重构图像的残差值,重构图像的残差值和帧内或帧间的预测值相加,得到重构图像,重构图像经过去方块效应滤波、环路滤波之后,得到重建帧,重建帧作为下一帧输入图像的参考帧,加入参考帧序列。[0004]在HEVC标准中,输入的视频帧被划分为一系列的编码树单元CTUCodingTreeUnit。在巾贞内或巾贞间预测时,每个CTU从最大编码单元LCULargestCodeUnit开始,每层按照四叉树形式划分为不同大小的编码单元CUCodingUnit。深度为0的层次即为LCU,其大小一般为64*64,深度为1-3的层次大小分别为32*32、16*16、8*8。为了达到最佳的编码性能,现有HEVC在编码单元CU块深度划分中选择最佳模式时,采用的是全遍历方式,它将CU块不同深度的所有模式都进行率失真代价的计算,然后逐层比较,进而选取率失真代价最小的模式。参见图2,其示例了一种最优模式的CU划分情况,图2中左侧图为具体划分方式,右侧图为左侧图划分方式对应的四叉树,四叉树中的叶子节点表示按照左侧图中箭头示意的划分顺序,每层中四个CU块是否需要进一步划分,其中1表示需要,〇表示不需要。[0005]根据上述图2可知,有些⑶块在做了一层划分之后就找到了最优的模式,不需要再向下划分并计算、比较率失真代价,如图2所示四叉树中第1层中第2个CU±夬,其节点数值为0,表示不需要进一步划分。显然,按照现有全遍历算法,其编码预测过程耗时极长,且需要消耗大量的计算资源。发明内容[0006]有鉴于此,本申请提供了一种编码单元深度确定方法及装置,用于解决现有全遍历方法来确定编码单元深度的方法所存在的编码预测时间长、消耗大量计算资源的问题。[0007]为了实现上述目的,现提出的方案如下:[0008]一种编码单元深度确定方法,包括:[0009]确定待处理编码单元的当前最优模式的残差系数;[0010]在所述残差系数不为零时,从所述待处理编码单元及所述待处理编码单元所在编码树单元的近邻编码树单元中,分别获取设定类型的编码信息特征,组成预测特征向量样本;[0011]将所述预测特征向量样本输入预训练的预测模型中,得到所述预测模型输出的预测结果,所述预测结果表明所述待处理编码单元是否需要进一步进行深度划分;[0012]其中,所述预测模型为利用标记有分类结果的训练样本预训练得到,所述训练样本包括所述设定类型的编码信息特征。[0013]一种编码单元深度确定装置,包括:[0014]残差系数确定单元,用于确定待处理编码单元的当前最优模式的残差系数;[0015]特征获取单元,用于在所述残差系数不为零时,从所述待处理编码单元及所述待处理编码单元所在编码树单元的近邻编码树单元中,分别获取设定类型的编码信息特征,组成预测特征向量样本;[0016]模型预测单元,用于将所述预测特征向量样本输入预训练的预测模型中,得到所述预测模型输出的预测结果,所述预测结果表明所述待处理编码单元是否需要进一步进行深度划分;[0017]其中,所述预测模型为利用标记有分类结果的训练样本预训练得到,所述训练样本包括所述设定类型的编码信息特征。[0018]本申请实施例提供的编码单元深度确定方法,预先利用标记有分类结果的训练样本来训练预测模型,该训练样本包括设定类型的编码信息特征,进而在确定待处理编码单元的当前最优模式的残差系数不为零时,说明待处理编码单元并非skip编码单元,需要进行编码深度预测,进而从待处理编码单元及其所在编码树单元的近邻编码树单元中,获取设定类型的编码信息特征,组成预测特征向量样本,输入至预测模型中,利用机器学习预测模型来预测待处理编码单元是否需要进一步进行深度划分。本申请在预测结果表明待处理编码单元不需要进一步进行深度划分时,无需对待处理编码单元进行深度划分及率失真代价的计算和比较,相比于现有技术其编码预测时间大大降低,且减少了计算资源,降低了计算复杂度。附图说明[0019]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。[0020]图1为HEVC编码框架示意图;[0021]图2示例了一种最优模式的CU划分示意图;[0022]图3为本申请实施例公开的一种服务器硬件结构不意图;[0023]图4为本申请实施例公开的一种编码单元深度确定方法流程图;[0024]图5为本申请实施例公开的另一种编码单元深度确定方法流程图;[0025]图6为本申请实施例公开的又一种编码单元深度确定方法流程图;[0026]图7为本申请实施例公开的一种第一平均代价确定方法流程图;[0027]图8示例了一种CurrentCTU的各个近邻编码树单元的⑶划分示意图;[0028]图9为本申请实施例公开的一种确定待处理编码单元是否需要进一步进行深度划分的方法流程图;[0029]图10为本申请实施例公开的一种编码单元深度确定装置结构示意图。具体实施方式[0030]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。[0031]本申请实施例提供了一种编码单元深度确定方案,该挖掘方案可以应用于视频编码器,视频编码器基于服务器实现。该服务器的硬件结构可以是电脑、笔记本等处理设备,在介绍本申请的编码单元深度确定方法之前,首先介绍一下服务器的硬件结构。如图3所示,该服务器可以包括:[0032]处理器1,通信接口2,存储器3,通信总线4,和显示屏5;[0033]其中处理器1、通信接口2、存储器3和显示屏5通过通信总线4完成相互间的通信。[0034]接下来,我们结合服务器硬件结构,对本申请的编码单元深度确定方法进行介绍,如图4所示,该方法包括:[0035]步骤S100、确定待处理编码单元的当前最优模式的残差系数;[0036]具体地,针对待处理编码单兀,根据标准协议构造候选mvmotionvector,运动向量列表,然后遍历列表中的每个mv,并做运动补偿,得到预测值,然后计算预测值和待处理编码单元原始像素的差值的平方和SSD,SumofSquaredDifference,并估算对应mv的索引所编出的比特数bits,并找到率失真代价rdcost最小所对应的mv,即为最优模式mv。其中:[0037]rdcost=SSD+A*bitA为常量[0038]进一步,将最优tnv对应的SSD计算后结果做变换和量化,得到残差系数,。如果残差系数为0表示待处理编码单元为skip块,否则为merge块。[0039]可以理解的是,如果残差系数为零,则表示待处理编码单元为skip块,可以直接结束CU划分,否则,说明待处理编码单元CU需要进行划分预测。[0040]具体实施时,可以预先通过通信接口2,将待处理视频帧图像存储至存储器3中。在编码时,由处理器1通过通信总线4获取存储器中存储的待处理视频帧图像,并划分为多个编码单元,从中确定待处理编码单元,并确定待处理编码单元的当前最优模式的残差系数。[0041]可选的,通信接口2可以为通信模块的接口,如GSM模块的接口。[0042]可选的,处理器1可能是一个中央处理器CPU,或者是特定集成电路ASICApplicationSpecificIntegratedCircuit,或者是被配置成实施本申请实施例的一个或多个集成电路。[0043]步骤S110、在所述残差系数不为零时,从所述待处理编码单元及所述待处理编码单元所在编码树单元的近邻编码树单元中,分别获取设定类型的编码信息特征,组成预测特征向量样本;[0044]具体地,本步骤中获取的编码信息特征的类型与预测模型训练过程所使用的训练样本的类型相同。本申请可以预先设置各类型的编码信息特征模板,进而按照编码信息特征模板,从所述待处理编码单元及所述待处理编码单元所在编码树单元的近邻编码树单元中获取编码信息特征,由获取的编码信息特征组成预测特征向量样本。[0045]其中,本步骤中获取编码信息特征的对象为,待处理编码单元⑶,以及待处理编码单元CU所在编码树单元CTU的近邻编码树单元CTU。[0046]具体实施时,可以预先在存储器3中存储各类型的编码信息特征模板,进而可以由处理器1按照编码信息特征模板,从待处理编码单元及所述待处理编码单元所在编码树单元的近邻编码树单元中获取编码信息特征,组成预测特征向量样本。[0047]步骤S120、将所述预测特征向量样本输入预训练的预测模型中,得到所述预测模型输出的预测结果,所述预测结果表明所述待处理编码单元是否需要进一步进行深度划分。[0048]其中,所述预测模型为利用标记有分类结果的训练样本预训练得到,所述训练样本包括所述设定类型的编码信息特征。[0049]具体实施时,可以将预测模型预先存储在存储器3中。在预测时,由处理器1将所述预测特征向量样本输入预训练的预测模型中,得到所述预测模型输出的预测结果,并通过显不屏5输出显不。[0050]其中,预测模型可以是SVMSupportVectorMachine,支持向量机)模型,或者是神经网络模型机器学习模型等。[0051]本申请实施例提供的编码单元深度确定方法,预先利用标记有分类结果的训练样本来训练预测模型,该训练样本包括设定类型的编码信息特征,进而在确定待处理编码单元的当前最优模式的残差系数不为零时,说明待处理编码单元并非skip编码单元,需要进行编码深度预测,进而从待处理编码单元及其所在编码树单元的近邻编码树单元中,获取设定类型的编码信息特征,组成预测特征向量样本,输入至预测模型中,利用机器学习预测模型来预测待处理编码单元是否需要进一步进行深度划分。本申请在预测结果表明待处理编码单元不需要进一步进行深度划分时,无需对待处理编码单元进行深度划分及率失真代价的计算和比较,相比于现有技术其编码预测时间大大降低,且减少了计算资源,降低了计算复杂度。[0052]可选的,由于整个编码过程中I帧所占比值较小,因此本申请可以只对属于非I帧视频图像的待处理编码单元进行深度确定,也即,上述待处理编码单元属于非I帧视频图像。[0053]在本申请的另一个实施例中,介绍了另一种编码单元深度确定方法,如图5所示,该方法包括:[0054]步骤S200、确定待处理编码单元的当前最优模式的残差系数;[0055]步骤S210、在所述残差系数不为零时,判断所述待处理编码单元的编码深度是否为零,若是,执行步骤S220;[0056]具体地,待处理编码单元的编码深度若为零,则表示待处理编码单元为最大编码单元L⑶,也即编码树单元CTU并未进行划分。[0057]本实施例中,在确定待处理编码单元的编码深度为零时,才执行下述使用预测模型预测待处理编码单元是否需要进一步进行深度划分的操作。[0058]需要说明的是,对于编码深度不为零的待处理编码单元,使用预测模型进行预测的过程,其计算过程也比较复杂,本申请可以采用其它方式来预测,详细见说明书下文相关介绍。[0059]步骤S220、从所述待处理编码单元及所述待处理编码单元所在编码树单元的近邻编码树单元中,分别获取设定类型的编码信息特征,组成预测特征向量样本;[0060]步骤S230、将所述预测特征向量样本输入预训练的预测模型中,得到所述预测模型输出的预测结果,所述预测结果表明所述待处理编码单元是否需要进一步进行深度划分。[0061]其中,所述预测模型为利用标记有分类结果的训练样本预训练得到,所述训练样本包括所述设定类型的编码信息特征。[0062]相比于上一实施例,本实施例中增加了使用预测模型进行编码深度预测的判断条件,即在确定待处理编码单元的编码深度为零时,才执行模型预测的过程。对于编码深度不为零的待处理编码单元,使用预测模型进行预测的过程,其计算过程也比较复杂,本申请可以采用其它方式来预测,详细见说明书下文相关介绍。[0063]在本申请的另一个实施例中,对预测模型进行介绍。[0064]由于视频码流中B帧和P帧的误差累计周期不同,为了使得预测模型的预测结果更加准确,本申请可以设置预测模型包括P帧预测模型和B帧预测模型,[0065]其中:[0066]P帧预测模型预训练时使用的训练样本为,属于P帧视频图像的编码单元中提取的设定类型的编码信息特征。[0067]B帧预测模型预训练时使用的训练样本为,属于B帧视频图像的编码单元中提取的所述设定类型的编码信息特征。[0068]基于此,上述步骤S230,将所述预测特征向量样本输入预训练的预测模型中,得到所述预测模型输出的预测结果的过程,具体可以包括:[0069]S1、确定所述待处理编码单元所属视频帧图像的类型为P帧还是B帧;[0070]S2、若为P帧,则将所述预测特征向量样本输入所述P帧预测模型,得到所述P帧预测模型输出的预测结果;[0071]S3、若为B帧,则将所述预测特征向量样本输入所述B帧预测模型,得到所述B帧预测模型输出的预测结果。[0072]本申请通过对B帧和P帧视频图像包括的待处理编码单元使用不同的预测模型进行预测,提高了预测结果的准确度。[0073]接下来,对本申请预测模型的建立过程进行介绍。[0074]一、训练特征获取[0075]首先介绍预测模型训练时所使用的训练样本。定义待处理编码单元为当前编码单元,待处理编码单元所在编码树单元的近邻编码树单元为当前编码单元的近邻编码树单元,则本申请训练预测模型时所使用的设定类型的编码信息特征可以包括:[0076]1、当前编码单元的代价(curr_merge_rdcost[0077]2、当前编码单元的失真(curr_merge_distortion[0078]3、当前编码单元的量化系数curr_qp[0079]4、当前编码单元的方差curr_var[0080]5、当前编码单元的近邻编码树单元的代价around-rdcost[0081]6、当前编码单元的近邻编码树单元的深度信息around-depth。[0082]其中,当前编码单元的近邻编码树单元可以是当前编码单元所在编码树单元的上侧近邻编码树单元和左侧近邻编码树单元,则上述编码信息特征5具体可以包括:[0083]51、当前编码单元的左侧近邻编码树单元的代价left-rdcost[0084]52、当前编码单元的上侧近邻编码树单元的代价above_rdc〇st[0085]上述编码信息特征6具体可以包括:[0086]61、当前编码单元的左侧近邻编码树单元的深度信息Geft-dePth[0087]62、当前编码单元的上侧近邻编码树单元的深度信息above-depth。[0088]需要说明的是,在训练预测模型时所使用编码信息特征的类型与待处理编码单元进行模型预测时所获取的编码信息特征的类型要保持一致。[0089]在此基础上,本申请可以选取不同场景的视频码流序列,针对序列中包括的训练编码单元,离线提取上述各类型的编码信息特征,并记录下实际编码过程中,训练编码单元是否做了进一步深度划分,如果是,则标记训练编码单元的分类结果为第一标记值,否则,标记训练编码单元的分类结果为第二标记值。第一标记值可以是1,第二标记值可以是_1。[0090]将训练编码单元获取的各类型的编码信息特征组成训练特征向量,将训练特征向量及训练编码单元的分类结果组成训练样本。[0091]需要说明的是,B帧预测模型和P帧预测模型是分开进行训练的,因此B帧和P帧的编码信息特征也要分开提取。并且,本实施例可以仅提取编码深度为0的训练编码单元,训练得到的预测模型也仅对编码深度为零的待处理编码单元进行预测。[0092]二、模型训练[0093]本实施例可以选用SVM模型训练,采用第三方开源软件,离线训练。[0094]S1、组合训练样本。按照1:1的比例,获取分类结果为需要进一步深度划分以及不需要进一步深度划分的训练样本,然后交错组成整个训练样本集。[0095]S2、训练样本标准化。对整理好的训练样本做标准化,将训练样本映射至[-1,1]区间中。_[0096]本步骤中进行训练样本标准化的操作,是为了便于数据格式的统一,可以提高预测的准确度。[0097]S3、模型训练。调用第三方开源软件,采用RBF内核,对属于B巾贞的训练样本、属于P帧的训练样本分开训练,最后分别得到B帧预测模型和P帧预测模型,记为mode—B_cue4*64及mode_P_cu64*64。[0098]在本申请的又一个实施例中,介绍了又一种编码单元深度确定方法,如图6所示,该方法包括:[0099]步骤S300、确定待处理编码单元的当前最优模式的残差系数;[0100]步骤S310、在所述残差系数不为零时,判断所述待处理编码单元的编码深度是否为零,若是,执行步骤S320,若否,执行步骤S340;[0101]具体地,待处理编码单元的编码深度若为零,则表示待处理编码单元为最大编码单元LCU,也即编码树单元CTU并未进行划分。[0102]本实施例中,在确定待处理编码单元的编码深度为零时,执行下述使用预测模型预测待处理编码单元是否需要进一步进行深度划分的操作。在确定待处理编码单元的编码深度不为零时,使用另一种方法进行编码深度的预测。[0103]步骤S320、从所述待处理编码单元及所述待处理编码单元所在编码树单元的近邻编码树单元中,分别获取设定类型的编码信息特征,组成预测特征向量样本;[0104]步骤S330、将所述预测特征向量样本输入预训练的预测模型中,得到所述预测模型输出的预测结果,所述预测结果表明所述待处理编码单元是否需要进一步进行深度划分;[0105]其中,所述预测模型为利用标记有分类结果的训练样本预训练得到,所述训练样本包括所述设定类型的编码信息特征。[0106]上述步骤S300-S330与前述实施例中步骤S200-S230—一对应,此处不再赘述。[0107]步骤S340、确定所述待处理编码单元所在编码树单元的近邻编码树单元中,与所述待处理编码单元相同编码深度的编码单元的平均代价,作为第一平均代价;[0108]步骤S350、确定所述待处理编码单元所在编码树单元中相同编码深度的己编码的编码单元的平均代价,作为第二平均代价;[0109]步骤S360、根据所述第一平均代价及所述第二平均代价,确定所述待处理编码单元是否需要进一步进行深度划分。[0110]相比于前述各实施例,本实施例中增加了在确定待处理编码单元的编码深度不为零时,对待处理编码单元的编码深度进行预测的过程,即根据待处理编码单元及其所在编码树单元的近邻编码树单元中相同编码深度的编码单元的平均代价,来预测待处理编码单元是否需要进一步进行深度划分。由于一帧视频图像中近邻的编码树单元的像素分布差异不会过大,因此可以基于已编码的近邻编码树中相同编码深度的编码单元的平均代价,来预测待处理编码单元是否需要进一步进行深度划分,其预测结果准确率比较高,且无需对待处理编码单元进行深度划分及率失真代价的计算和比较,相比于现有技术其编码预测时间大大降低,且减少了计算资源,降低了计算复杂度。[0111]进一步,对上述步骤S340的实现过程进行介绍,详细参见图7所示,该过程可以包括:[0112]步骤S400、针对所述待处理编码单元所在编码树单元的每一近邻编码树单元,确定其中与所述待处理编码单元相同编码深度的编码单元的平均代价;[0113]步骤S410、按照每一所述近邻编码树单元与所述待处理编码单元所在编码树单元的方位关系,确定每一所述近邻编码树单元的权重值;[0114]具体地,为了便于表述,定义待处理编码单元所在编码树单元为CurrentCTU,CurrentCTU的近邻编码树单元可以包括:左边近邻编码树单元LeftCTU、左上角近邻编码树单元AboveLeftCTU、上边近邻编码树单元AboveCTU、右上角近邻编码树单元AboveRightCTU〇[0115]图8示例了CurrentCTU的各个近邻编码树单兀。[0116]可以理解的是,CurrentCTU与各个近邻CTU的方位关系不同,进而各个近邻CTU的权重值也不同。[0117]—种可选的对应关系中,近邻CTU的权重比值为:[0118]LeftCTU:AboveCTU:AboveLeftCTU:AboveRightCTU=2:2:l:l〇[0119]步骤S420、根据每一所述近邻编码树单元的权重值及其平均代价,确定各所述近邻编码树单元的加权平均代价,作为第一平均代价。[0120]具体地,每一近邻编码树单元的平均代价与对应的权重值相乘,得到相乘结果,各个相乘结果相加,得到加权平均代价,作为第一平均代价。[0121]以图8示例的情况为例,对第一平均代价的确定过程进行说明:[0122]假设待处理编码单元的编码深度为1。则由图8可知,LeftCTU包括4个编码深度为1的CU32*32,AboveLeftCTU包括3个编码深度为1的CU32*32,AboveCTU包括0个编码深度为1的:1132*32,4^^61^8}^^1]包括2个编码深度为1的〇]32*32。[0123]定义CTU中编码深度为1的4个⑶32*32的位置标记为按照顺时针方向,从左上角开始,位置标记依次为0、1、2、3。[0124]则结合图8可知:[0125]left_depthl_cost=left_depthl_costO+left_depthl_costl+left_depthl_cost2+left_depthl_cost3;[0126]aboveleft_depthl_cost=aboveIeft_depthl_cost0+aboveleft_depthl_cost2+aboveleft_depthl_cost3;[0127]aboveright_depthl_cost=aboveright_depthl_costl+aboveright_depthl_cost2;[0128]其中,以第一个公式为例进行说明,left_depthl_cost表不左边近邻CTU中编码深度为1的⑶的平均代价,left_depthl_cost0表不左边近邻CTU中编码沫度为1的⑶中,位置标记为〇的⑶的代价。[0129]进一步,所有近邻CTU中编码深度为1的⑶的加权平均代价为:[0130]Avg_depthl—cost=left—depth1—cost*2+aboveleft—depth1—cost*1+aboveright_depthl—cost*1left—depthl_num*2+aboveleft_depthl—num*l+aboveright—depthl—num氺1[0131]其中,left—d印thl—num、aboveleft—depthl一num、aboveright_depthl_num分别表示左边近邻、上边近邻及左上角近邻CTU中,编码深度为1的CU的个数。[0132]可以理解的是,上述仅仅以编码深度为1进行说明,对于编码深度为2、3的计算方式同上。[0133]再进一步,对上述步骤S360,根据所述第一平均代价及所述第二平均代价,确定^述待处理编码单元是否需要进一步进行深度划分的实现过程进行介绍,详细参见图9所示,该过程可以包括:[0134]步骤S500、根据所述第一平均代价及所述第二平均代价,确定代价阈值;[0135]具体地,可以为第一平均代价和第二平均代价设置不同的权重值,进而对第一平均代价及第二平均代价进行加权相加,结果可以作为代价阈值。[0136]可选的,由于近邻CTU均己经全部完成编码,因此可以设置第一平均代价的权重值大于第二平均代价的权重值。[0137]步骤S510、判断所述待处理编码单元的当前最优模式的代价是否小于所述代价阈值;若是,执行步骤S520,若否,执行步骤S530;[0138]步骤S520、确定所述待处理编码单元不需要进一步进行深度划分;[0139]步骤S530、确定所述待处理编码单元需要进一步进行深度划分。[0M0]具体地,若待处理编码单元的当前最优模式的代价小于代价阈值,则本申请认为待处理编码单元已经无需进一步进行深度划分,否则,表示待处理编码单元还需要进一步进行深度划分。[0141]仍以待处理编码单元的编码深度为1,结合图8示例的进行说明:[0142]定义所述待处理编码单元所在编码树单元中编码深度为1的已编码的编码单元的平均代价表示为Avg_curr_CU_depthl,也即第二平均代价表示为Avg_curr_CU_depthl。[0143]设置第一平均代价和第二平均代价的的权重值比值为4:3。则代价阈值表示为:[0144]Threshold_depthl二(Avg_depthl_cost*4+Avg_curr—CU—depthl*33+4[0145]定义待处理编码单元的当前最优模式的代价为CUrr_C〇St_depthl,则如果确定curr_cost_depthlThreshold_depthl,则认为待处理编码单元不需要再做进一步深度划分,否则需要作进一步深度划分。[0146]通过使用本申请上述提供的方法及现有技术进行实验验证,可以发现,相比于现有全遍历方法,本申请方法的编码速度提升了94%,压缩比下降了3.1%,由此可见,本申请通过少量的压缩比的下降来换取了很大程度的编码速度的提升,使得视频编码器的编码速度大大加快,计算复杂度大大降低。[0147]下面对本申请实施例提供的编码单元深度确定装置进行描述,下文描述的编码单元深度确定装置与上文描述的编码单元深度确定方法可相互对应参照。[0148]参见图10,图10为本申请实施例公开的一种编码单元深度确定装置结构示意图。[0149]如图10所示,该装置包括:[0150]残差系数确定单元11,用于确定待处理编码单元的当前最优模式的残差系数;[0151]特征获取单元12,用于在所述残差系数不为零时,从所述待处理编码单元及所述待处理编码单元所在编码树单元的近邻编码树单元中,分别获取设定类型的编码信息特征,组成预测特征向量样本;[0152]模型预测单元13,用于将所述预测特征向量样本输入预训练的预测模型中,得到所述预测模型输出的预测结果,所述预测结果表明所述待处理编码单元是否需要进一步进行深度划分;[0153]其中,所述预测模型为利用标记有分类结果的训练样本预训练得到,所述训练样本包括所述设定类型的编码信息特征。[0154]本申请实施例提供的编码单元深度确定装置,预先利用标记有分类结果的训练样本来训练预测模型,该训练样本包括设定类型的编码信息特征,进而在确定待处理编码单元的当前最优模式的残差系数不为零时,说明待处理编码单元并非skip编码单元,需要进行编码深度预测,进而从待处理编码单元及其所在编码树单元的近邻编码树单元中,获取设定类型的编码信息特征,组成预测特征向量样本,输入至预测模型中,利用机器学习预测模型来预测待处理编码单元是否需要进一步进行深度划分。本申请在预测结果表明待处理编码单元不需要进一步进行深度划分时,无需对待处理编码单元进行深度划分及率失真代价的计算和比较,相比于现有技术其编码预测时间大大降低,且减少了计算资源,降低了计算复杂度。[0155]可选的,所述残差系数确定单元具体可以用于,确定处于非I帧视频图像的待处理编码单元的当前最优模式的残差。[0156]可选的,本申请的装置还可以包括:[0157]编码深度判断单元,用于判断所述待处理编码单元的编码深度是否为零;[0158]基于此,所述特征提取单元具体用于,在所述编码深度判断单元的判断结果为是时,从所述待处理编码单元及所述待处理编码单元所在编码树单元的近邻编码树单元中,分别提取设定类型的编码信息特征。[0159]可选的,本申请的装置还可以包括:[0160]近邻平均代价确定单元,用于在判断所述待处理编码单元的编码深度不为零时,确定所述待处理编码单元所在编码树单元的近邻编码树单元中,与所述待处理编码单元相同编码深度的编码单元的平均代价,作为第一平均代价;[0161]自身平均代价确定单元,用于确定所述待处理编码单元所在编码树单元中相同编码深度的已编码的编码单元的平均代价,作为第二平均代价;[0162]深度划分判断单元,用于根据所述第一平均代价及所述第二平均代价,确定所述待处理编码单元是否需要进一步进行深度划分。[0163]可选的,所述预测模型可以包括P帧预测模型和B帧预测模型,所述P帧预测模型预训练时使用的训练样本为,属于P帧视频图像的编码单元中提取的所述设定类型的编码信息特征,所述B帧预测模型预训练时使用的训练样本为,属于B帧视频图像的编码单元中提取的所述设定类型的编码信息特征。在此基础上,所述模型预测单元可以包括:[0164]帧类型确定单元,用于确定所述待处理编码单元所属视频帧图像的类型为P帧还是B巾贞;[0165]P帧模型预测单元,用于在所述帧类型确定单元确定为P帧时,将所述预测特征向量样本输入所述P帧预测模型,得到所述P帧预测模型输出的预测结果;[0166]B帧模型预测单元,用于在所述帧类型确定单元确定为B帧时,将所述预测特征向量样本输入所述B帧预测模型,得到所述B帧预测模型输出的预测结果。[0167]可选的,所述特征获取单元可以包括:[0168]第一特征获取单元,用于获取所述待处理编码单元的代价、量化系数、失真及方差;[0169]第二特征获取单元,用于获取所述待处理编码单元所在编码树单元的近邻编码树单元的代价和深度信息。[0170]可选的,所述近邻平均代价确定单元可以包括:[0171]第一近邻平均代价确定子单元,用于针对所述待处理编码单元所在编码树单元的每一近邻编码树单元,确定其中与所述待处理编码单元相同编码深度的编码单元的平均代价;[0172]第二近邻平均代价确定子单元,用于按照每一所述近邻编码树单元与所述待处理编码单元所在编码树单元的方位关系,确定每一所述近邻编码树单元的权重值;[0173]第三近邻平均代价确定子单元,用于根据每一所述近邻编码树单元的权重值及其平均代价,确定各所述近邻编码树单元的加权平均代价,作为第一平均代价。[0174]可选的,所述深度划分判断单元可以包括:[0175]代价阈值确定单元,用于根据所述第一平均代价及所述第二平均代价,确定代价國值;[0176]代价阈值比较单元,用于判断所述待处理编码单元的当前最优模式的代价是否小于所述代价阈值;若是,确定所述待处理编码单元不需要进一步进行深度划分,否则,确定所述待处理编码单元需要进一步进行深度划分。[0177]本申请实施例进一步公开了一种视频编码器,该视频编码器包括上述的编码单元深度确定装置。[0178]进一步,视频编码器还可以包括上述介绍的预测模型。本申请公开的视频编码器相比于现有视频编码器,其编码速度大大提升,计算复杂度也大大降低。[0179]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。[0180]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。[0181]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

权利要求:1.一种编码单元深度确定方法,其特征在于,包括:确定待处理编码单元的当前最优模式的残差系数;在所述残差系数不为零时,从所述待处理编码单元及所述待处理编码单元所在编码树单元的近邻编码树单元中,分别获取设定类型的编码信息特征,组成预测特征向量样本;将所述预测特征向量样本输入预训练的预测模型中,得到所述预测模型输出的预测结果,所述预测结果表明所述待处理编码单元是否需要进一步进行深度划分;其中,所述预测模型为利用标记有分类结果的训练样本预训练得到,所述训练样本包括所述设定类型的编码信息特征。2.根据权利要求1所述的方法,其特征在于,所述待处理编码单元属于非I帧视频图像。3.根据权利要求1所述的方法,其特征在于,在所述从所述待处理编码单元及所述待处理编码单元所在编码树单元的近邻编码树单元中,分别提取设定类型的编码信息特征之前,该方法还包括:判断所述待处理编码单元的编码深度是否为零,若是,则执行所述从所述待处理编码单元及所述待处理编码单元所在编码树单元的近邻编码树单元中,分别提取设定类型的编码信息特征的步骤。4.根据权利要求3所述的方法,其特征在于,还包括:在判断所述待处理编码单元的编码深度不为零时,确定所述待处理编码单元所在编码树单元的近邻编码树单元中,与所述待处理编码单元相同编码深度的编码单元的平均代价,作为第一平均代价;确定所述待处理编码单元所在编码树单元中相同编码深度的已编码的编码单元的平均代价,作为第二平均代价;根据所述第一平均代价及所述第二平均代价,确定所述待处理编码单元是否需要进一步进行深度划分。5.根据权利要求1-4任一项所述的方法,其特征在于,所述预测模型包括P帧预测模型和B帧预测模型,所述P帧预测模型预训练时使用的训练样本为,属于P帧视频图像的编码单元中提取的所述设定类型的编码信息特征,所述B帧预测模型预训练时使用的训练样本为,属于B帧视频图像的编码单元中提取的所述设定类型的编码信息特征;所述将所述预测特征向量样本输入预训练的预测模型中,得到所述预测模型输出的预测结果,包括:确定所述待处理编码单元所属视频帧图像的类型为P帧还是B帧;若为P帧,则将所述预测特征向量样本输入所述P帧预测模型,得到所述P帧预测模型输出的预测结果;若为B帧,则将所述预测特征向量样本输入所述B帧预测模型,得到所述B帧预测模型输出的预测结果。6.根据权利要求1-4任一项所述的方法,其特征在于,所述从所述待处理编码单元及所述待处理编码单元所在编码树单元的近邻编码树单元中,分别获取设定类型的编码信息特征,包括:获取所述待处理编码单元的代价、量化系数、失真及方差;获取所述待处理编码单元所在编码树单元的近邻编码树单元的代价和深度信息。7.根据权利要求4所述的方法,其特征在于,所述确定所述待处理编码单元所在编码树单元的近邻编码树单元中,与所述待处理编码单元相同编码深度的编码单元的平均代价,作为第一平均代价,包括:针对所述待处理编码单元所在编码树单元的每一近邻编码树单元,确定其中与所述待处理编码单元相同编码深度的编码单元的平均代价;按照每一所述近邻编码树单元与所述待处理编码单元所在编码树单元的方位关系,确定每一所述近邻编码树单元的权重值;根据每一所述近邻编码树单元的权重值及其平均代价,确定各所述近邻编码树单元的加权平均代价,作为第一平均代价。8.根据权利要求4或7所述的方法,其特征在于,所述根据所述第一平均代价及所述第二平均代价,确定所述待处理编码单元是否需要进一步进行深度划分,包括:根据所述第一平均代价及所述第二平均代价,确定代价阈值;判断所述待处理编码单元的当前最优模式的代价是否小于所述代价阈值;若是,确定所述待处理编码单元不需要进一步进行深度划分,否则,确定所述待处理编码单元需要进一步进行深度划分。9.一种编码单元深度确定装置,其特征在于,包括:残差系数确定单元,用于确定待处理编码单元的当前最优模式的残差系数;特征获取单元,用于在所述残差系数不为零时,从所述待处理编码单元及所述待处理编码单元所在编码树单元的近邻编码树单元中,分别获取设定类型的编码信息特征,组成预测特征向量样本;模型预测单元,用于将所述预测特征向量样本输入预训练的预测模型中,得到所述预测模型输出的预测结果,所述预测结果表明所述待处理编码单元是否需要进一步进行深度划分;其中,所述预测模型为利用标记有分类结果的训练样本预训练得到,所述训练样本包括所述设定类型的编码信息特征。10.根据权利要求9所述的装置,其特征在于,所述残差系数确定单元具体用于,确定处于非I帧视频图像的待处理编码单元的当前最优模式的残差系数。11.根据权利要求9所述的装置,其特征在于,还包括:编码深度判断单元,用于判断所述待处理编码单元的编码深度是否为零;所述特征提取单元具体用于,在所述编码深度判断单元的判断结果为是时,从所述待处理编码单元及所述待处理编码单元所在编码树单元的近邻编码树单元中,分别提取设定类型的编码信息特征。12.根据权利要求11所述的装置,其特征在于,还包括:近邻平均代价确定单元,用于在判断所述待处理编码单元的编码深度不为零时,确定所述待处理编码单元所在编码树单元的近邻编码树单元中,与所述待处理编码单元相同编码深度的编码单元的平均代价,作为第一平均代价;自身平均代价确定单元,用于确定所述待处理编码单元所在编码树单元中相同编码深度的已编码的编码单元的平均代价,作为第二平均代价;深度划分判断单元,用于根据所述第一平均代价及所述第二平均代价,确定所述待处理编码单元是否需要进一步进行深度划分。13.根据权利要求9-12任一项所述的装置,其特征在于,所述预测模型包括P帧预测模型和B帧预测模型,所述P帧预测模型预训练时使用的训练样本为,属于P帧视频图像的编码单元中提取的所述设定类型的编码信息特征,所述B帧预测模型预训练时使用的训练样本为,属于B帧视频图像的编码单元中提取的所述设定类型的编码信息特征;所述模型预测单元包括:帧类型确定单元,用于确定所述待处理编码单元所属视频帧图像的类型为P帧还是B帧;P帧模型预测单元,用于在所述帧类型确定单元确定为P帧时,将所述预测特征向量样本输入所述P帧预测模型,得到所述P帧预测模型输出的预测结果;B帧模型预测单元,用于在所述帧类型确定单元确定为B帧时,将所述预测特征向量样本输入所述B帧预测模型,得到所述B帧预测模型输出的预测结果。14.根据权利要求9-12任一项所述的装置,其特征在于,所述特征获取单元包括:第一特征获取单元,用于获取所述待处理编码单元的代价、量化系数、失真及方差;第二特征获取单元,用于获取所述待处理编码单元所在编码树单元的近邻编码树单元的代价和深度信息。15.根据权利要求12所述的装置,其特征在于,所述近邻平均代价确定单元包括:第一近邻平均代价确定子单元,用于针对所述待处理编码单元所在编码树单元的每一近邻编码树单元,确定其中与所述待处理编码单元相同编码深度的编码单元的平均代价;第二近邻平均代价确定子单元,用于按照每一所述近邻编码树单元与所述待处理编码单元所在编码树单元的方位关系,确定每一所述近邻编码树单元的权重值;第三近邻平均代价确定子单元,用于根据每一所述近邻编码树单元的权重值及其平均代价,确定各所述近邻编码树单元的加权平均代价,作为第一平均代价。

百度查询: 腾讯科技(深圳)有限公司 编码单元深度确定方法及装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。