一种编码单元模式决策方法及装置与流程

文档序号:14881204发布日期:2018-07-07 09:47阅读:178来源:国知局

本发明涉及视频编码技术领域,特别涉及一种编码单元模式决策方法及装置。



背景技术:

随着多媒体数字视频应用的不断发展和人们对视频云计算需求的不断提高,原始视频信源的数据量已使现有传输网络带宽和存储资源无法承受。因而,视频信号的压缩已成为目前国内外学术研究和工业应用的热点之一。视频压缩,也称视频编码,其目的是消除视频信号间存在的冗余信息。至今,国内外标准化组织已相继制定了多种不同的视频编码标准,主流的视频编码标准均采用“基于块的预测和变换”的混合编码框架,图1为现有技术中的一种视频编解码器总体框架图,输入的视频信号经过块结构划分、预测、变换、量化、熵编码等编码技术处理后,最后输出比特流。

为使得对视频进行编码后得到较小的输出码流,编码器对输入的视频信号进行编码时,需针对上述视频信号进行模式选择,从若干种模式中选择最优的一种模式进行编码,模式选择包括块结构划分、预测、变换等编码步骤。

以hevc(highefficiencyvideocodingstandard,高效视频编解码标准)为例:

hevc中以ctu(codingtreeunit,编码树单元)为单位进行编码,因此,在进行编码过程中需将视频序列中的图像划分成均匀等大小的ctu,进一步地,还可以将ctu按照四叉树结构划分成更小的cu(codingunit,编码单元),例如,如图2a所示,大小为64×64的ctu可四叉划分为4个32×32的cu,而一个32×32的cu又可四叉划分为4个16×16的cu或者不划分,如此下去,直到划分到允许的最小cu,可见,块结构划分中涉及多种cu模式。cu是编码的基本单元,一般呈2n×2n的方块,且大小不超过ctu的大小,当ctu为64×64时,cu大小可以为8×8、16×16、32×32、64×64,对应的划分深度分别为3、2、1、0。

另外,预测可以分为:帧内预测和帧间预测,其中,帧内预测具有35种不同模式,包括planar、dc以及33种角度模式,而帧间预测中也存在多种预测模式。pu(predictionunit,预测单元)是预测的基本单元,cu可以划分成不同大小、不同形状的pu,对于帧内预测,pu的大小如图2(b)左侧所示;对于帧间预测,pu的大小如图2(b)中间所示。

此外,tu(transformunit,变换单元)是变换的基本单元,用于对预测后得到的残差块进行变换。变换也可以根据cu划分为不同大小的变换模式,其大小可以为4×4、8×8、16×16、32×32,如图2(b)右侧所示。

对于一个cu而言,进行模式选择时,需要一一遍历上述各种变换模式、预测模式和更深划分深度的cu模式的组合,并根据率失真准则来决定一组最优的模式组合进行最终编码,该过程也称之为模式决策过程,因此,对于每一个cu来说,进行模式决策时,计算量较大。又由于一个ctu对应多种cu划分方式,所以对于一个ctu来说,模式决策过程中需要遍历各种cu模式、预测模式、变换模式的组合,遍历次数非常多,因此,编码复杂度极高。



技术实现要素:

本发明实施例的目的在于提供一种编码单元模式决策方法及装置,以降低编码复杂度。具体技术方案如下:

为达到上述目的,本发明实施例公开了一种编码单元模式决策方法,所述方法包括:

获得目标编码单元的最佳编码代价,作为第一最佳编码代价;

获得第一类编码树单元内第一编码单元的最佳编码代价的平均值,作为第一平均值,其中,所述第一类编码树单元为:基于所述第一编码单元进行编码且已完成编码的编码树单元,所述第一编码单元为:与所述目标编码单元的划分深度值相同的编码单元;

判断所述第一最佳编码代价与所述第一平均值是否满足预设的模式决策结束条件;

如果是,将所述目标编码单元的模式决策结果确定为不对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策。

可选的,所述判断所述第一最佳编码代价与所述第一平均值是否满足预设的模式决策结束条件,包括:

计算所述第一最佳编码代价与所述第一平均值的比值;

判断所述比值是否小于第一预设阈值,如果是,表示满足预设的模式决策结束条件;如果否,表示不满足预设的模式决策结束条件。

可选的,在所述第一最佳编码代价与所述第一平均值不满足预设的模式决策结束条件的情况下,所述方法还包括:

判断所述比值是否小于第二预设阈值,其中,所述第二预设阈值大于所述第一预设阈值;

如果小于所述第二预设阈值,计算所述目标编码单元范围内的图像区域的纹理复杂程度;

判断所述纹理复杂程度是否小于第三预设阈值;

如果小于所述第三预设阈值,将所述目标编码单元的模式决策结果确定为不对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策。

可选的,在所述比值不小于第二预设阈值,或,所述纹理复杂程度不小于第三预设阈值的情况下,所述方法还包括:

在所述目标编码单元的划分深度不是最深划分深度的情况下,获得所述目标编码单元的下一划分深度的各个子编码单元的最佳编码代价之和,作为第二最佳编码代价;

判断所述第二最佳编码代价是否小于所述第一最佳编码代价;

如果是,将所述目标编码单元的模式决策结果确定为对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策;

如果否,将所述目标编码单元的模式决策结果确定为不对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策。

可选的,在判断出所述第二最佳编码代价小于所述第一最佳编码代价的情况下,所述方法还包括:

将所述第二最佳编码代价确定为所述目标编码单元的最佳编码代价。

可选的,在所述将所述目标编码单元的模式决策结果确定为不对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策之后,还包括:

将所述第一最佳编码代价确定为所述目标编码单元的最佳编码代价。

可选的,所述计算所述目标编码单元范围内的图像区域的纹理复杂程度,包括:

计算所述目标编码单元范围内像素点的原始像素值的平均值,作为第二平均值;

分别计算所述目标编码单元范围内各个像素点的原始像素值与所述第二平均值的差值的绝对值;

获得计算得到的各个差值的绝对值的平均值,得到差值平均值;

根据所述第二平均值、差值平均值,计算所述目标编码单元范围内的图像区域的纹理复杂程度。

可选的,所述根据所述第二平均值、差值平均值,计算所述目标编码单元范围内的图像区域的纹理复杂程度,包括:

根据以下公式,计算所述目标编码单元范围内的图像区域的纹理复杂程度conanalyze:

其中,为所述差值平均值,为所述第二平均值。

可选的,所述第一类编码树单元为:与所述目标编码单元所在的目标编码树单元相邻的、已完成编码的编码树单元。

为达到上述目的,本发明实施例还公开了一种编码单元模式决策装置,所述装置包括:

第一获得模块,用于获得目标编码单元的最佳编码代价,作为第一最佳编码代价;

第二获得模块,用于获得第一类编码树单元内第一编码单元的最佳编码代价的平均值,作为第一平均值,其中,第一类编码树单元为:基于所述第一编码单元进行编码且已完成编码的编码树单元,所述第一编码单元为:与所述目标编码单元的划分深度值相同的编码单元;

第一判断模块,用于判断所述第一最佳编码代价与所述第一平均值是否满足预设的模式决策结束条件;如果是,将所述目标编码单元的模式决策结果确定为不对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策。

可选的,所述第一判断模块,包括:

第一计算子模块,用于计算所述第一最佳编码代价与所述第一平均值的比值;

判断子模块,用于判断所述比值是否小于第一预设阈值,如果是,表示满足预设的模式决策结束条件;如果否,表示不满足预设的模式决策结束条件。

可选的,所述装置还包括:

第二判断模块,用于在所述判断子模块判断出所述第一最佳编码代价与所述第一平均值不满足预设的模式决策结束条件的情况下,判断所述比值是否小于第二预设阈值,其中,所述第二预设阈值大于所述第一预设阈值;如果是,触发计算模块;

所述计算模块,用于计算所述目标编码单元范围内的图像区域的纹理复杂程度;

第三判断模块,用于判断所述纹理复杂程度是否小于第三预设阈值;如果是,将所述目标编码单元的模式决策结果确定为不对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策。

可选的,所述装置还包括:

第三获得模块,用于在所述第二判断模块判断出所述比值不小于第二预设阈值,或,所述第三判断模块判断出所述纹理复杂程度不小于第三预设阈值时,在所述目标编码单元的划分深度不是最深划分深度的情况下,获得所述目标编码单元的下一划分深度的各个子编码单元的最佳编码代价之和,作为第二最佳编码代价;

第四判断模块,用于判断所述第二最佳编码代价是否小于所述第一最佳编码代价;如果是,将所述目标编码单元的模式决策结果确定为对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策;如果否,将所述目标编码单元的模式决策结果确定为不对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策。

可选的,所述装置还包括:

第一确定模块,用于在所述第四判断模块判断出所述第二最佳编码代价小于所述第一最佳编码代价的情况下,将所述第二最佳编码代价确定为所述目标编码单元的最佳编码代价。

可选的,所述装置还包括:

第二确定模块,用于在将所述目标编码单元的模式决策结果确定为不对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策之后,将所述第一最佳编码代价确定为所述目标编码单元的最佳编码代价。

可选的,所述计算模块,包括:

第二计算子模块,用于计算所述目标编码单元范围内像素点的原始像素值的平均值,作为第二平均值;

第三计算子模块,用于分别计算所述目标编码单元范围内各个像素点的原始像素值与所述第二平均值的差值的绝对值;

获得子模块,用于获得计算得到的各个差值的绝对值的平均值,得到差值平均值;

第四计算子模块,用于根据所述第二平均值、差值平均值,计算所述目标编码单元范围内的图像区域的纹理复杂程度。

可选的,所述第四计算子模块,具体用于:

根据以下公式,计算所述目标编码单元范围内的图像区域的纹理复杂程度conanalyze:

其中,为所述差值平均值,为所述第二平均值。

可选的,所述第一类编码树单元为:与所述目标编码单元所在的目标编码树单元相邻的、已完成编码的编码树单元。

由以上可见,本发明实施例提供的方案中,首先获得目标编码单元的最佳编码代价,作为第一最佳编码代价;然后获得第一类编码树单元内第一编码单元的最佳编码代价的平均值,作为第一平均值,其中,第一类编码树单元为:基于第一编码单元进行编码且已完成编码的编码树单元,第一编码单元为:与目标编码单元的划分深度值相同的编码单元;判断第一最佳编码代价与第一平均值是否满足预设的模式决策结束条件;如果是,将目标编码单元的模式决策结果确定为不对目标编码单元进行划分,结束基于目标编码单元的模式决策。

可见,本发明实施例提供的方案,根据已完成编码的编码树单元的信息判断是否可以结束基于目标编码单元的模式决策,提前终止对目标编码单元继续划分子编码单元,对目标编码单元而言,减少了模式决策过程中遍历模式组合的次数,从而降低了计算复杂度。

附图说明

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

图1为现有技术中的一种视频编解码器总体框架图;

图2a为现有技术中ctu划分cu的块划分结构示例图;

图2b为现有技术中cu划分为pu和tu的块划分结构示例图;

图3为本发明实施例提供的一种编码单元模式决策方法的流程示意图;

图4为本发明实施例提供的一种编码单元模式决策装置的结构示意图。

具体实施方式

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

为解决现有技术问题,本发明实施例提供了一种编码单元模式决策方法及装置。下面首先对本发明实施例所提供的一种编码单元模式决策方法进行详细说明。

需要说明的是,本发明实施例所提供的一种编码单元模式决策方法的执行主体可以为一种视频编码装置,如:视频编码器。其中,该视频编码装置可以为现有视频编码软件中的插件,或者,独立的功能软件,这都是合理的。并且,该视频编码装置可以应用于终端中,也可以应用于服务器中。

图3为本发明实施例提供的一种视频编码方法的流程示意图,该方法包括:

s301,获得目标编码单元的最佳编码代价,作为第一最佳编码代价。

可以理解的,在对目标编码单元进行模式决策时,需要对目标编码单元进行帧内预测和/或帧间预测以及变换编码,获得目标编码单元在各种预测模式及变换模式下的编码代价,其中最小的编码代价可以作为目标编码单元最佳编码代价。这里的预测模式包括帧内预测和帧间预测,以hevc为例,帧内预测具有35种不同模式,包括planar、dc以及33种角度模式,而帧间预测中也存在多种预测模式。变换模式包括4×4dct(discretecosinetransform,离散余弦变换)、8×8dct、16×16dct、32×32dct和4×4dst(discretesinetransform,离散正弦变换)。

s302,获得第一类编码树单元内第一编码单元的最佳编码代价的平均值,作为第一平均值。

其中,第一类编码树单元为:基于第一编码单元进行编码且已完成编码的编码树单元,第一编码单元为:与目标编码单元的划分深度值相同的编码单元。

例如,目标编码单元为16×16的编码单元,已完成编码的编码树单元有a、b、c,其中,a的最优编码划分结构仅包括基于32×32的编码单元进行编码的、b的最优编码划分结构仅包括基于16×16、8×8的编码单元进行编码的、c的最优编码划分结构包括基于32×32、16×16、8×8的编码单元进行编码的、d的最优编码划分结构包括基于32×32、8×8的编码单元进行编码的,则上述第一类编码树单元为b和c。

需要说明的是,上述编码树单元可以理解为hevc中的编码树单元,也可以理解为其他视频编码标准中的块,如h.264/avc中的宏块,因此,本实施例中的编码树单元并不仅限于hevc中定义的编码树单元。

进一步的,上述第一类编码树单元可以是所有满足条件的编码树单元,在一种较佳的实现方式中,由于目标编码单元所在的编码树单元与其相邻的编码树单元的相关性较大,为了更准确地对目标编码单元进行模式决策,第一类编码树单元还可以为:与目标编码单元所在的目标编码树单元相邻的、已完成编码的编码树单元。其中,与目标编码树单元相邻的、已完成编码的编码树单元包括但不限于:目标编码树单元左相邻、上相邻、左上相邻、右上相邻的编码树单元和/或时域对应的编码树单元。其中,时域对应的编码树单元包括但不限于:前一个已完成编码的帧内对应位置的编码树单元、最近参考帧内对应位置的编码树单元、其余所有参考帧内对应位置的编码树单元。采用与目标编码树单元相邻的部分编码树单元,是因为编码树单元之间的距离越近相关性越高,而相关性越高第一平均值就越准确。

可以理解的,对于第一类编码树单元,对它进行模式决策后最终确定的块结构划分结果是已知的,因此可以从这些编码树单元中,确定出与目标编码单元的划分深度值相同的第一编码单元,并获得所确定的第一编码单元的最佳编码代价,进而确定第一平均值;

实际应用中,如果第一类编码树单元所对应的块结构划分结果中,均不包含与目标编码单元的划分深度值相同的第一编码单元,由于无法根据第一编码单元的最佳编码代价获得第一平均值,此时不需要对目标编码单元是否进行划分子编码单元进行判断,而是直接将目标编码单元划分为下一深度的子编码单元,从而结束基于目标编码单元的模式决策。

s303,判断第一最佳编码代价与第一平均值是否满足预设的模式决策结束条件;如果是,执行s304。

具体的,可以首先计算第一最佳编码代价bestcost与第一平均值nboravgcost的比值bestcost/nboravgcost,再判断比值bestcost/nboravgcost是否小于第一预设阈值thlow,如果是,表示满足预设的模式决策结束条件;如果否,表示不满足预设的模式决策结束条件。

其中,第一预设阈值thlow的设置方法包括但不仅限于:对所有划分深度的编码单元均采用相同的值,或者分别对不同划分深度的编码单元采用不同的值。实际应用中,第一预设阈值thlow可以是根据经验预先设定的,也可以是在编码过程中根据已完成编码的编码单元的最佳编码代价动态调整的,本实施例对此不做限定。

当然,实际应用中也可以利用第一最佳编码代价与第一平均值之间的差值等信息,设置其他的模式决策结束条件,本实施例对此不做限定。

s304,将所述目标编码单元的模式决策结果确定为不对所述目标编码单元进行划分,结束基于目标编码单元的模式决策。

当第一最佳编码代价与第一平均值满足预设的模式决策结束条件时,说明目标编码单元当前的划分深度已经比较合适了,不需要划分成更深的划分深度的编码单元,此时为了减小计算量,可以提前终止对目标编码单元进行划分,结束基于目标编码单元的模式决策。

在这种情况下,可以设置目标编码单元的划分标志为“否”,表示不对目标编码单元进一步划分子编码单元,并将第一最佳编码代价bestcost设置为目标编码单元的最佳编码代价,这样可以利用第一最佳编码代价bestcost来完成对目标编码单元的编码。

进一步的,在第一最佳编码代价与所述第一平均值不满足预设的模式决策结束条件的情况下,即bestcost/nboravgcost大于等于第一预设阈值thlow,该方法还可以包括:

判断第一最佳编码代价与第一平均值的比值bestcost/nboravgcost是否小于第二预设阈值thhigh,其中,第二预设阈值thhigh大于第一预设阈值thlow;

如果小于第二预设阈值thhigh,则计算目标编码单元范围内的图像区域的纹理复杂程度conanalyze;

判断纹理复杂程度conanalyze是否小于第三预设阈值thcontent;

如果小于第三预设阈值thcontent,则将所述目标编码单元的模式决策结果确定为不对所述目标编码单元进行划分,结束基于目标编码单元的模式决策。

可以理解的,如果第一最佳编码代价与第一平均值的比值比较大并且大于第二预设阈值,则为了保证编码质量,目标编码单元应当进一步划分为下一划分深度的子编码单元;如果第一最佳编码代价与第一平均值的比值不是很大,而是介于第一预设阈值和第二预设阈值之间时,还可以基于内容复杂度进一步判断是否对目标编码单元提前终止划分子编码单元,以减小计算量。具体的,内容复杂度可以用目标编码单元范围内的图像区域的纹理复杂程度来衡量。

当纹理复杂程度较大时,表明目标编码单元范围内的图像区域纹理较为复杂,而复杂度高的区域采用小的编码单元有利于提高编码效率,复杂度低的区域采用大的编码单元有利于提高编码效率,因此可以将目标编码单元划分为更小的子编码单元进行编码;而当纹理复杂程度较小时,可以提前终止对目标编码单元进行划分,结束基于目标编码单元的模式决策,这样既可以减小计算量又不至于降低编码质量。

在提前终止对目标编码单元进行划分的情况下,还可以设置目标编码单元的划分标志为“否”,表示不对目标编码单元进一步划分子编码单元,并将第一最佳编码代价bestcost设置为目标编码单元的最佳编码代价,并利用第一最佳编码代价bestcost来完成对目标编码单元的编码。

其中,第二预设阈值thhigh和第三预设阈值thcontent的设置方法包括但不限于:对所有划分深度的编码单元均采用相同的值,或分别对不同划分深度的编码单元采用不同的值。实际应用中,第二预设阈值thhigh、第三预设阈值thcontent和上述第一预设阈值thlow类似,可以是根据经验预先设定的,也可以是在编码过程中根据已完成编码的编码单元的最佳编码代价动态调整的,本实施例对此不做限定。

实际应用中,可以按照以下方式计算目标编码单元范围内的图像区域的纹理复杂程度:

计算目标编码单元范围内像素点的原始像素值的平均值,作为第二平均值;

分别计算目标编码单元范围内各个像素点的原始像素值与第二平均值的差值的绝对值;

获得计算得到的各个差值的绝对值的平均值,得到差值平均值;

根据第二平均值、差值平均值,计算目标编码单元范围内的图像区域的纹理复杂程度。

示例性的,首先获得目标编码单元范围内各个像素点p的原始像素值p(m,n),其中,m,n分别表示像素点p在图像中的水平坐标位置和垂直坐标位置,根据以下公式,可以计算目标编码单元范围内像素点的原始像素值的平均值

其中,2n为目标编码单元的长和宽(由于编码单元一般呈正方形),(i,j)为目标编码单元左上角像素点在图像中的坐标位置。

然后,一一遍历目标编码单元范围内的所有像素点,计算每个像素点的原始像素值与平均值的差值的绝对值。实际应用中,差值的计算方式包括但不仅限于绝对误差、均方差、平方差等。

以绝对误差的计算方式为例,可以根据以下公式,计算差值平均值

最后,可以根据以下公式,计算目标编码单元范围内的图像区域的纹理复杂程度conanalyze:

当然,实际应用中也可以采用其它的方式来衡量纹理复杂程度,本实施例对此不做限定。

实际应用中,如果第一最佳编码代价与第一平均值的比值不小于第二预设阈值,说明目标编码单元的划分模式与已编码的编码单元的划分模式的相似度较低,所以可以考虑将目标编码单元进一步划分为更小的子编码单元,来判断划分后的子编码单元与已编码的编码单元的相似度是否更高。同样的,在纹理复杂程度不小于第三预设阈值的情况下,说明目标编码单元的纹理比较复杂,对于纹理复杂的区域划分成小的编码单元比较合适,所以可以考虑对目标编码单元进一步向下划分。将目标编码单元划分为子编码单元,并将划分的各个子编码单元确定为新的目标编码单元,跳转至s301的步骤,对每个子编码单元按照本实施例提供的方案进行模式决策,从而获得每个子编码单元的最佳编码代价。

具体的,在根据上述的判断过程判断出目标编码单元需要进一步划分为更小的子编码单元时,该编码单元模式决策方法还可以包括:

在目标编码单元的划分深度不是最深划分深度的情况下,获得目标编码单元的下一划分深度的各个子编码单元的最佳编码代价之和,作为第二最佳编码代价;

判断第二最佳编码代价是否小于第一最佳编码代价;

如果是,将所述目标编码单元的模式决策结果确定为对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策;

如果否,将所述目标编码单元的模式决策结果确定为不对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策。

需要说明的是,在hevc中对目标编码单元进行划分,是将目标编码单元按照四叉树结构划分成四个均匀等大小子编码单元,而在其它视频编码标准中可以按照其它方式对目标编码单元进行划分,因此,本实施例中不限定对目标编码单元划分子编码单元的方式。

可以理解的,获得目标编码单元的下一划分深度的各个子编码单元的最佳编码代价,也就是假设将目标编码单元划分为下一划分深度对应的子编码单元,对各个子编码单元进行模式决策,获得每个子编码单元在各种预测模式、变换模式下的编码代价,并将其中最小的编码代价作为各自的最佳编码代价。需要强调的是,在一种较佳的实施方式中,目标编码单元划分为下一划分深度的子编码单元后,可以按照本实施例提供的方案将子编码单元作为新的目标编码单元进行模式决策。

如果第二最佳编码代价bestsumcost大于等于第一最佳编码代价bestcost,说明目标编码单元不应该进行划分,此时可以将目标编码单元的划分标志设置为“否”,结束基于目标编码单元的模式决策。为便于后续计算,还可以将第一最佳编码代价bestcost设置为目标编码单元的最佳编码代价,根据第一最佳编码代价bestcost来完成对目标编码单元的编码。

如果第二最佳编码代价bestsumcost小于第一最佳编码代价bestcost,说明目标编码单元划分为深度更深的子编码单元更为合理,此时可以将第二最佳编码代价bestsumcost确定目标编码单元的最佳编码代价,并将目标编码单元的划分标志设置为“是”,结束基于目标编码单元的模式决策。此时,将第二最佳编码代价bestsumcost设置为目标编码单元的最佳编码代价,根据第二最佳编码代价bestsumcost来完成对目标编码单元的编码。

实际应用中,还可以在编码过程中设置对目标编码单元最终的划分情况,例如,在上述的判断结果为拒绝对目标编码单元进行划分,结束基于目标编码单元的模式决策的情况下,设置目标编码单元的划分标志为“否”,表示不对目标编码单元进一步划分;在上述的判断结果为将目标编码单元划分为下一划分深度对应的子编码单元的情况下,将目标编码单元的划分标志设置为“是”,表示需要将目标编码单元划分子编码单元。

可以理解的,如果目标编码单元的划分深度已经是最深划分深度,则目标编码单元已经不能进一步划分了,这种情况下,在步骤s301中获得目标编码单元的最佳编码代价后,即可对目标编码单元进行编码,而不需要再进行后续步骤来判断是否对目标编码单元进行划分。

需要说明的是,因为利用本实施例所提供的方案,可以生成符合现有视频编码标准的视频码流,所以生成的视频码流可以直接被常用播放器解码播放。

由以上可见,本实施例提供的方案中,首先获得目标编码单元的最佳编码代价,作为第一最佳编码代价;然后获得第一类编码树单元内第一编码单元的最佳编码代价的平均值,作为第一平均值,其中,第一类编码树单元为:基于第一编码单元进行编码且已完成编码的编码树单元,第一编码单元为:与目标编码单元的划分深度值相同的编码单元;判断第一最佳编码代价与第一平均值是否满足预设的模式决策结束条件;如果是,将目标编码单元的模式决策结果确定为不对目标编码单元进行划分,结束基于目标编码单元的模式决策。

可见,本实施例提供的方案,根据已编码的编码树单元的信息判断是否可以结束基于目标编码单元的模式决策,提前终止对目标编码单元继续划分子编码单元,对目标编码单元而言,减少了模式决策过程中遍历模式组合的次数,从而降低了计算复杂度。

本实施例所提供的编码单元模式决策方法的基本原理是内容感知自适应地提前终止对编码单元继续划分子编码单元,减少了编码单元模式决策过程中遍历编码单元、预测模式、变换模式组合的次数,从而降低计算复杂度以加速编码器编码,节省视频编码时间,同时编码性能损失较小。

具体的,表1表明了本实施例所提供的编码单元模式决策方法带来的编码时间节省,表1中y、u、v和yuv分别表示y、u、v以及yuv合并质量下的码率节省(负值表示节省,正值表示增加);编码器复杂度的计算方式如(1)所示,其中,δfps表示编码加速,fpsanchor表示使用原编码器编码视频序列的帧率fps,fpsproposed表示同一编码器采用本实施例所提供的编码单元模式决策方法后的编码视频序列的帧率fps。因此,表1中正值表示加速,负值表示减速。由表1可知,本实施例所提供的编码单元模式决策方法平均带来8%左右的加速,且几乎不影响编码效率,仅有2%左右的码率增加,可减低编码一般视频的编码时间,尤其对于低分辨率、低帧率的视频序列具有更好的加速表现。

表1

与上述的编码单元模式决策方法相对应,本发明实施例还提供了一种编码单元模式决策装置。

与图3所示的方法实施例相对应,图4为本发明实施例提供的一种编码单元模式决策装置的结构示意图,该装置可以包括:

第一获得模块401,用于获得目标编码单元的最佳编码代价,作为第一最佳编码代价;

第二获得模块402,用于获得第一类编码树单元内第一编码单元的最佳编码代价的平均值,作为第一平均值,其中,所述第一类编码树单元为:基于所述第一编码单元进行编码且已完成编码的编码树单元,所述第一编码单元为:与所述目标编码单元的划分深度值相同的编码单元;

第一判断模块403,用于判断所述第一最佳编码代价与所述第一平均值是否满足预设的模式决策结束条件;如果是,将所述目标编码单元的模式决策结果确定为不对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策。

具体的,所述第一判断模块403,可以包括:

第一计算子模块(图中未示出),用于计算所述第一最佳编码代价与所述第一平均值的比值;

判断子模块(图中未示出),用于判断所述比值是否小于第一预设阈值,如果是,表示满足预设的模式决策结束条件;如果否,表示不满足预设的模式决策结束条件。

具体的,所述装置还可以包括:

第二判断模块(图中未示出),用于在所述判断子模块判断出所述第一最佳编码代价与所述第一平均值不满足预设的模式决策结束条件的情况下,判断所述比值是否小于第二预设阈值,其中,所述第二预设阈值大于所述第一预设阈值;如果是,触发计算模块(图中未示出);

所述计算模块,用于计算所述目标编码单元范围内的图像区域的纹理复杂程度;

第三判断模块(图中未示出),用于判断所述纹理复杂程度是否小于第三预设阈值;如果是,将所述目标编码单元的模式决策结果确定为不对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策。

具体的,所述装置还可以包括:

第三获得模块(图中未示出),用于在所述第二判断模块判断出所述比值不小于第二预设阈值,或,所述第三判断模块判断出所述纹理复杂程度不小于第三预设阈值时,在所述目标编码单元的划分深度不是最深划分深度的情况下,获得所述目标编码单元的下一划分深度的各个子编码单元的最佳编码代价之和,作为第二最佳编码代价;

第四判断模块(图中未示出),用于判断所述第二最佳编码代价是否小于所述第一最佳编码代价;如果是,将所述目标编码单元的模式决策结果确定为对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策;如果否,将所述目标编码单元的模式决策结果确定为不对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策。

具体的,所述装置还可以包括:

第一确定模块(图中未示出),用于在所述第四判断模块判断出所述第二最佳编码代价小于所述第一最佳编码代价的情况下,将所述第二最佳编码代价确定为所述目标编码单元的最佳编码代价。

具体的,所述装置还可以包括:

第二确定模块(图中未示出),用于在将所述目标编码单元的模式决策结果确定为不对所述目标编码单元进行划分,结束基于所述目标编码单元的模式决策之后,将所述第一最佳编码代价确定为所述目标编码单元的最佳编码代价。

具体的,所述计算模块,可以包括:

第二计算子模块(图中未示出),用于计算所述目标编码单元范围内像素点的原始像素值的平均值,作为第二平均值;

第三计算子模块(图中未示出),用于分别计算所述目标编码单元范围内各个像素点的原始像素值与所述第二平均值的差值的绝对值;

获得子模块(图中未示出),用于获得计算得到的各个差值的绝对值的平均值,得到差值平均值;

第四计算子模块(图中未示出),用于根据所述第二平均值、差值平均值,计算所述目标编码单元范围内的图像区域的纹理复杂程度。

具体的,所述第四计算子模块,具体可以用于:

根据以下公式,计算所述目标编码单元范围内的图像区域的纹理复杂程度conanalyze:

其中,为所述差值平均值,为所述第二平均值。

具体的,所述第一类编码树单元可以为:与所述目标编码单元所在的目标编码树单元相邻的、已完成编码的编码树单元。

由以上可见,本实施例提供的方案中,首先获得目标编码单元的最佳编码代价,作为第一最佳编码代价;然后获得第一类编码树单元内第一编码单元的最佳编码代价的平均值,作为第一平均值,其中,第一类编码树单元为:基于第一编码单元进行编码且已完成编码的编码树单元,第一编码单元为:与目标编码单元的划分深度值相同的编码单元;判断第一最佳编码代价与第一平均值是否满足预设的模式决策结束条件;如果是,将目标编码单元的模式决策结果确定为不对目标编码单元进行划分,结束基于目标编码单元的模式决策。

可见,本实施例提供的方案,根据已编码的编码树单元的信息判断是否可以结束基于目标编码单元的模式决策,提前终止对目标编码单元继续划分子编码单元,对目标编码单元而言,减少了模式决策过程中遍历模式组合的次数,从而降低了计算复杂度。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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