本文作者:kaifamei

一种CTU的确定方法、装置、终端设备及存储介质与流程

更新时间:2025-01-09 20:47:18 0条评论

一种CTU的确定方法、装置、终端设备及存储介质与流程


一种ctu的确定方法、装置、终端设备及存储介质
技术领域
1.本发明涉及视频编码相关技术领域,尤其涉及一种ctu的确定方法、装置、终端设备及存储介质。


背景技术:



2.hevc作为新一代视频编码标准,相比上一代视频编码标准h.264/avc在压缩效率上提升了一倍,但与此同时编码复杂度也大大增加。由于hevc中引入的新技术导致编码的复杂度极高,这对于视频会议等实时应用场景来说,极高的编码复杂度导致无法实用。现有技术存在一种hevc帧间编码快速模式选择方法,从时空域相关性的角度估计当前ctu(编码树单元)的深度预测范围、模式选择和提前cu终止,来判决ctu深度,从而根据ctu深度来确定ctu的设置,从而通过设置好的ctu加速hevc编码过程。
3.但现有技术仅考虑了时空域相关性,没有考虑当前ctu块本身的纹理特征。因此,现有技术对于ctu深度判决和降低编码复杂度具有局限性,所计算获得的ctu深度准确率较低,根据低准确率的ctu深度所确定的ctu会影响hevc的编码效率。
4.因此,亟需一种ctu的确定策略,来解决最优ctu的深度计算准确率低的问题。


技术实现要素:



5.本发明实施例提供一种ctu的确定方法、装置、终端设备及存储介质,以提高最优ctu的深度计算准确率。
6.为了解决上述问题,本发明一实施例提供一种ctu的确定方法,包括:
7.获取若干已编码ctu的深度数据,并根据所述深度数据确定目标ctu的初步深度遍历范围;其中,所述若干已编码ctu为所述目标ctu时空域相邻的ctu;
8.根据所述若干已编码ctu与所述目标ctu之间的时空域相关性、以及所述深度数据,获取目标ctu的深度预测数据;
9.根据所述目标ctu的像素数据,获取所述目标ctu的纹理复杂度;其中,所述目标ctu的纹理复杂度的类型包括以下一种或多种:平坦块、复杂块和普通块;
10.所述目标ctu为平坦块时或复杂块时,根据初步深度遍历范围和深度预测数据获取目标ctu的深度区间;所述目标ctu为普通块时,根据深度预测数据和深度数据获取目标ctu的深度区间;
11.根据目标ctu的深度区间选定目标ctu,并基于选定的目标ctu执行hevc编码。
12.作为上述方案的改进,所述获取若干已编码ctu的深度数据,并根据所述深度数据确定目标ctu的初步深度遍历范围,具体为:
13.根据目标ctu时空域相邻的已编码ctu,读取并获得若干已编码ctu的深度数据;
14.根据所述深度数据,在若干已编码ctu的深度值中,选取最大深度值和最小深度值,作为目标ctu的初步深度遍历范围。
15.作为上述方案的改进,所述根据所述若干已编码ctu与所述目标ctu之间的时空域
相关性、以及所述深度数据,获取目标ctu的深度预测数据,具体为:
16.根据所述若干已编码ctu与所述目标ctu之间的时空域相关性,确定目标ctu空域左侧的cul、目标ctu空域上侧的cua、目标ctu空域左上侧的cula、目标ctu空域右上侧的cura、以及目标ctu时域同位的cucol;其中,所述若干已编码ctu包括:cul、cua、cula、cura和cucol;
17.根据所述深度数据,获取cul右半块的平均深度值level1、cua下半块的平均深度值level2、cula中的第一编码单元的平均深度值level3、cura中的第二编码单元的平均深度值level4和cucol的平均深度值level5,并代入预测深度计算公式进行计算,获得深度预测数据;其中,在cula的所有编码单元中,所述第一编码单元和所述目标ctu的距离为第一预设值;在cura的所有编码单元中,所述第二编码单元和所述目标ctu的距离为第二预设值;所述深度数据包括:level1、level2、level3、level4和level5;以及所述预测深度计算公式如下:
[0018][0019]
其中,n=5,ωi为时空域相邻ctu的权重因子,leveli为时空域相邻ctu的编码深度值;权重因子ωi是根据当前ctu与时空域相邻ctu的相关性进行设置的。
[0020]
作为上述方案的改进,所述根据所述目标ctu的像素数据,获取所述目标ctu的纹理复杂度,具体为:
[0021]
根据所述目标ctu的像素数据,通过roberts梯度算子计算方法,计算获得目标ctu的平均梯度值;
[0022]
根据所述平均梯度值,通过预设的纹理复杂度下阈值和纹理复杂度上阈值,获得目标ctu的纹理复杂度:当平均梯度值小于纹理复杂度下阈值时,所述目标ctu为平坦块;当平均梯度值大于纹理复杂度下阈值且小于纹理复杂度上阈值时,所述目标ctu为普通块;当平均梯度值大于纹理复杂度上阈值时,所述目标ctu为复杂块。
[0023]
作为上述方案的改进,所述目标ctu为平坦块时或复杂块时,根据初步深度遍历范围和深度预测数据获取目标ctu的深度区间,具体为:
[0024]
所述目标ctu为复杂块时,获取目标ctu的初步深度遍历范围和深度预测数据;
[0025]
当初步深度遍历范围的最小深度值小于等于第一深度阈值时,则进行深度扩展,且目标ctu的深度区间为[1,3];
[0026]
当深度预测数据的数值大于第二深度阈值时,则目标ctu的深度区间为[2,3]。
[0027]
作为上述方案的改进,所述目标ctu为平坦块时或复杂块时,根据初步深度遍历范围和深度预测数据获取目标ctu的深度区间,还包括:
[0028]
所述目标ctu为平坦块时,获取目标ctu的初步深度遍历范围和深度预测数据;
[0029]
当初步深度遍历范围的最小深度值大于等于第三深度阈值时,则进行深度裁剪,且目标ctu的深度区间为[0,2];
[0030]
当深度预测数据的数值小于第四深度阈值时,则目标ctu的深度区间为[0,2]。
[0031]
作为上述方案的改进,所述目标ctu为普通块时,根据深度预测数据和深度数据获取目标ctu的深度区间,具体为:
[0032]
所述目标ctu为普通块时,根据所述若干已编码ctu与所述目标ctu之间的深度相关性,确定目标ctu时域同位的cucol、cucol空域左侧的culc、以及目标ctu空域左侧的cul;其中,所述若干已编码ctu包括:cucol、culc和cul;
[0033]
根据所述深度数据,获取cucol的平均深度值depth
co
、culc的平均深度值depthl
co
和cul的平均深度值depthl;
[0034]
根据depth
co
、depthl
co
、depthl和所述深度预测数据depth
pre
,获取目标ctu的深度区间:当depthl
co
《depth
co
、depthl≥2且depth
pre
≥2时,则目标ctu的深度区间最小深度值为2;当depthl
co
《depth
co
、depthl≥1且depth
pre
≥1时,则目标ctu的深度区间最小深度值为1;当depthl
co
》depth
co
、depthl≤1且depth
pre
≤1时,则目标ctu的深度区间最大深度值为1;当depthl
co
》depth
co
、depthl≤2且depth
pre
≤2时,则目标ctu的深度区间最大深度值为2。
[0035]
相应的,本发明一实施例还提供了一种ctu的确定装置,包括:第一数据获取模块、第二数据获取模块、第三数据获取模块、深度区间计算模块和结果生成模块;
[0036]
所述第一数据获取模块,用于获取若干已编码ctu的深度数据,并根据所述深度数据确定目标ctu的初步深度遍历范围;其中,所述若干已编码ctu为所述目标ctu时空域相邻的ctu;
[0037]
所述第二数据获取模块,用于根据所述若干已编码ctu与所述目标ctu之间的时空域相关性、以及所述深度数据,获取目标ctu的深度预测数据;
[0038]
所述第三数据获取模块,用于根据所述目标ctu的像素数据,获取所述目标ctu的纹理复杂度;其中,所述纹理复杂度包括以下一种或多种:平坦块、复杂块和普通块;
[0039]
所述深度区间计算模块,用于所述目标ctu为平坦块时或复杂块时,根据初步深度遍历范围和深度预测数据获取目标ctu的深度区间;所述目标ctu为普通块时,根据深度预测数据和深度数据获取目标ctu的深度区间;
[0040]
所述结果生成模块,用于根据目标ctu的深度区间选定目标ctu,并基于选定的目标ctu执行hevc编码。
[0041]
作为上述方案的改进,所述第一数据获取模块,包括:深度数据获取单元和初步深度遍历范围计算单元;
[0042]
所述深度数据获取单元,用于根据目标ctu时空域相邻的已编码ctu,读取并获得若干已编码ctu的深度数据;
[0043]
所述初步深度遍历范围计算单元,用于根据所述深度数据,在若干已编码ctu的深度值中,选取最大深度值和最小深度值,作为目标ctu的初步深度遍历范围。
[0044]
作为上述方案的改进,所述第二数据获取模块,包括:时空域相关性获取单元和深度预测数据计算单元;
[0045]
所述时空域相关性获取单元,用于根据所述若干已编码ctu与所述目标ctu之间的时空域相关性,确定目标ctu空域左侧的cul、目标ctu空域上侧的cua、目标ctu空域左上侧的cula、目标ctu空域右上侧的cura、以及目标ctu时域同位的cucol;其中,所述若干已编码ctu包括:cul、cua、cula、cura和cucol;
[0046]
所述深度预测数据计算单元,用于根据所述深度数据,获取cul右半块的平均深度值level1、cua下半块的平均深度值level2、cula中的第一编码单元的平均深度值level3、cura中的第二编码单元的平均深度值level4和cucol的平均深度值level5,并代入预测深度
计算公式进行计算,获得深度预测数据;其中,在cula的所有编码单元中,所述第一编码单元和所述目标ctu的距离为第一预设值;在cura的所有编码单元中,所述第二编码单元和所述目标ctu的距离为第二预设值;所述深度数据包括:level1、level2、level3、level4和level5;以及所述预测深度计算公式如下:
[0047][0048]
其中,n=5,ωi为时空域相邻ctu的权重因子,leveli为时空域相邻ctu的编码深度值;权重因子ωi是根据当前ctu与时空域相邻ctu的相关性进行设置的。
[0049]
作为上述方案的改进,所述第三数据获取模块,包括:平均梯度值计算单元和判断单元;
[0050]
所述平均梯度值计算单元,用于根据所述目标ctu的像素数据,通过roberts梯度算子计算方法,计算获得目标ctu的平均梯度值;
[0051]
所述判断单元,用于根据所述平均梯度值,通过预设的纹理复杂度下阈值和纹理复杂度上阈值,获得目标ctu的纹理复杂度:当平均梯度值小于纹理复杂度下阈值时,所述目标ctu为平坦块;当平均梯度值大于纹理复杂度下阈值且小于纹理复杂度上阈值时,所述目标ctu为普通块;当平均梯度值大于纹理复杂度上阈值时,所述目标ctu为复杂块。
[0052]
作为上述方案的改进,所述目标ctu为平坦块时或复杂块时,根据初步深度遍历范围和深度预测数据获取目标ctu的深度区间,具体为:
[0053]
所述目标ctu为复杂块时,获取目标ctu的初步深度遍历范围和深度预测数据;
[0054]
当初步深度遍历范围的最小深度值小于等于第一深度阈值时,则进行深度扩展,且目标ctu的深度区间为[1,3];
[0055]
当深度预测数据的数值大于第二深度阈值时,则目标ctu的深度区间为[2,3]。
[0056]
作为上述方案的改进,所述目标ctu为平坦块时或复杂块时,根据初步深度遍历范围和深度预测数据获取目标ctu的深度区间,还包括:
[0057]
所述目标ctu为平坦块时,获取目标ctu的初步深度遍历范围和深度预测数据;
[0058]
当初步深度遍历范围的最小深度值大于等于第三深度阈值时,则进行深度裁剪,且目标ctu的深度区间为[0,2];
[0059]
当深度预测数据的数值小于第四深度阈值时,则目标ctu的深度区间为[0,2]。
[0060]
作为上述方案的改进,所述目标ctu为普通块时,根据深度预测数据和深度数据获取目标ctu的深度区间,具体为:
[0061]
所述目标ctu为普通块时,根据所述若干已编码ctu与所述目标ctu之间的深度相关性,确定目标ctu时域同位的cucol、cucol空域左侧的culc、以及目标ctu空域左侧的cul;其中,所述若干已编码ctu包括:cucol、culc和cul;
[0062]
根据所述深度数据,获取cucol的平均深度值depth
co
、culc的平均深度值depthl
co
和cul的平均深度值depthl;
[0063]
根据depth
co
、depthl
co
、depthl和所述深度预测数据depth
pre
,获取目标ctu的深度区间:当depthl
co
《depth
co
、depthl≥2且depth
pre
≥2时,则目标ctu的深度区间最小深度值为2;当depthl
co
《depth
co
、depthl≥1且depth
pre
≥1时,则目标ctu的深度区间最小深度值为
1;当depthl
co
》depth
co
、depthl≤1且depth
pre
≤1时,则目标ctu的深度区间最大深度值为1;当depthl
co
》depth
co
、depthl≤2且depth
pre
≤2时,则目标ctu的深度区间最大深度值为2。
[0064]
相应的,本发明一实施例还提供了一种计算机终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如本发明所述的一种ctu的确定方法。
[0065]
相应的,本发明一实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如本发明所述的一种ctu的确定方法。
[0066]
由上可见,本发明具有如下有益效果:
[0067]
本发明提供了一种ctu的确定方法,首先根据与目标ctu时空域相邻的若干已编码ctu的深度数据,进行目标ctu的初步深度遍历范围的计算;再结合目标ctu与若干已编码ctu的时空域相关性,通过深度数据和时空域相关性进行深度预测数据的计算;然后根据目标ctu的像素数据进行纹理复杂度的计算;最后根据不同纹理复杂度的ctu类型,在初步深度遍历范围的基础上,结合深度预测数据和深度数据进行目标ctu的深度区间的计算,从而提高了ctu的深度区间计算准确率,通过获得的ctu深度区间确定最优ctu,并通过最优ctu执行hevc编码,能够降低hevc编码的复杂度,继而提高hevc编码效率。
附图说明
[0068]
图1是本发明一实施例提供的ctu的确定方法的流程示意图;
[0069]
图2是本发明一实施例提供的ctu的确定装置的结构示意图;
[0070]
图3是本发明一实施例提供的若干已编码ctu与目标ctu的时空域相邻的位置关系;
[0071]
图4是本发明一实施例提供的在空域中若干已编码ctu与目标ctu之间的深度相关性;
[0072]
图5是本发明一实施例提供的一种终端设备结构示意图。
具体实施方式
[0073]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0074]
实施例一
[0075]
参见图1,图1是本发明一实施例提供的一种ctu的确定方法的流程示意图,如图1所示,本实施例包括步骤101至步骤105,各步骤具体如下:
[0076]
步骤101:获取若干已编码ctu的深度数据,并根据所述深度数据确定目标ctu的初步深度遍历范围;其中,所述若干已编码ctu为所述目标ctu时空域相邻的ctu。
[0077]
在本实施例中,所述获取若干已编码ctu的深度数据,并根据所述深度数据确定目标ctu的初步深度遍历范围,具体为:
[0078]
根据目标ctu时空域相邻的已编码ctu,读取并获得若干已编码ctu的深度数据;
[0079]
根据所述深度数据,在若干已编码ctu的深度值中,选取最大深度值和最小深度值,作为目标ctu的初步深度遍历范围。
[0080]
在一具体的实施例中,设最大深度值为d
max
,最小深度值为d
min
,则目标ctu的初步深度遍历范围计算方法具体如下:
[0081][0082]
其中d
min
和d
max
表示所有存在的时空域相邻ctu中的最小深度值和最大深度值,dr表示当前ctu的初步深度遍历范围。
[0083]
若当前ctu的时空域相邻ctu都不存在,则dr为[0,3]。
[0084]
在一具体的实施例中,为更好地说明与目标ctu(图3中cu0)时空域相邻的已编码ctu,请参见图3,如图3所示,空域(当前帧)相邻已编码的ctu(左侧ctu:cul,上侧ctu:cua,左上ctu:cula,右上ctu:cura)和时域(前向参考帧)已编码的同位ctu(cucol)。
[0085]
步骤102:根据所述若干已编码ctu与所述目标ctu之间的时空域相关性、以及所述深度数据,获取目标ctu的深度预测数据。
[0086]
在一具体的实施例中,为更好地说明若干已编码ctu与目标ctu之间的时空域相关性,请参见图4;其中,左边ctu的深度值采用目标ctu左边ctu的右半ctu块的平均深度值;同理上边ctu的深度值采用目标ctu上边ctu的下半ctu块的平均深度值;由于左上和右上块与目标ctu的相关性较小,左上ctu的深度值和右上ctu的深度值采用与目标ctu最相邻的cu的深度值。
[0087]
在本实施例中,所述根据所述若干已编码ctu与所述目标ctu之间的时空域相关性、以及所述深度数据,获取目标ctu的深度预测数据,具体为:
[0088]
根据所述若干已编码ctu与所述目标ctu之间的时空域相关性,确定目标ctu空域左侧的cul、目标ctu空域上侧的cua、目标ctu空域左上侧的cula、目标ctu空域右上侧的cura、以及目标ctu时域同位的cucol;其中,所述若干已编码ctu包括:cul、cua、cula、cura和cucol;
[0089]
根据所述深度数据,获取cul右半块的平均深度值level1、cua下半块的平均深度值level2、cula中的第一编码单元的平均深度值level3、cura中的第二编码单元的平均深度值level4和cucol的平均深度值level5,并代入预测深度计算公式进行计算,获得深度预测数据;其中,在cula的所有编码单元中,所述第一编码单元和所述目标ctu的距离为第一预设值;在cura的所有编码单元中,所述第二编码单元和所述目标ctu的距离为第二预设值;所述深度数据包括:level1、level2、level3、level4和level5;以及所述预测深度计算公式如下:
[0090][0091]
其中,n=5,ωi为时空域相邻ctu的权重因子,leveli为时空域相邻ctu的编码深度
值;权重因子ωi是根据当前ctu与时空域相邻ctu的相关性进行设置的。
[0092]
在一具体的实施例中,在cula的所有编码单元中,选取与目标ctu最近的编码单元作为第一编码单元(即所述第一编码单元和所述目标ctu的距离为第一预设值);在cura的所有编码单元中,选取与目标ctu最近的编码单元作为第二编码单元(即所述第二编码单元和所述目标ctu的距离为第二预设值);
[0093]
由于左边ctu(即cul)和上边ctu(cua)与目标ctu的相关性大一些,ωi分别设为0.25;左上ctu(即cula)和右上ctu(即cura)与当前目前ctu的相关性小一些,ωi分别设为0.2,时域同位ctu(即cucol)对应的ωi设为0.1。
[0094]
步骤103:根据所述目标ctu的像素数据,获取所述目标ctu的纹理复杂度;其中,所述目标ctu的纹理复杂度的类型包括以下一种或多种:平坦块、复杂块和普通块。
[0095]
在本实施例中,所述根据所述目标ctu的像素数据,获取所述目标ctu的纹理复杂度,具体为:
[0096]
根据所述目标ctu的像素数据,通过roberts梯度算子计算方法,计算获得目标ctu的平均梯度值;
[0097]
根据所述平均梯度值,通过预设的纹理复杂度下阈值和纹理复杂度上阈值,获得目标ctu的纹理复杂度:当平均梯度值小于纹理复杂度下阈值时,所述目标ctu为平坦块;当平均梯度值大于纹理复杂度下阈值且小于纹理复杂度上阈值时,所述目标ctu为普通块;当平均梯度值大于纹理复杂度上阈值时,所述目标ctu为复杂块。
[0098]
在一具体的实施例中,roberts梯度算子计算方法为:
[0099]gx
=f(x+1,y)-f(x,y)
[0100]gy
=f(x,y+1)-f(x,y)
[0101]
g(x,y)=|g
x
+gy|
[0102][0103]
其中,f(x,y)表示位置(x,y)处的像素值,g
x
表示(x,y)的水平方向梯度,gy表示(x,y)的垂直方向梯度,g(x,y)表示(x,y)处的梯度,g
avg
表示当前ctu的平均梯度值;height表示当前ctu的高度,width表示当前ctu的宽度,因此i的范围限制为x~x+width,j的范围限制为y~y+height。
[0104]
在一具体的实施例中,为更好地表示纹路复杂度的选取,采用以下公式进行说明:
[0105][0106]
其中,tc表示当前ctu的纹理复杂度,simple表示当前ctu为平坦块,common表示当前ctu为普通块,complex表示当前ctu为复杂块,thr1表示纹理复杂度下阈值,thr2表示纹理复杂度上阈值;在本实施例中,thr1为5,thr2为10。
[0107]
步骤104:所述目标ctu为平坦块时或复杂块时,根据初步深度遍历范围和深度预测数据获取目标ctu的深度区间;所述目标ctu为普通块时,根据深度预测数据和深度数据
获取目标ctu的深度区间。
[0108]
在本实施例中,所述目标ctu为平坦块时或复杂块时,根据初步深度遍历范围和深度预测数据获取目标ctu的深度区间,具体为:
[0109]
所述目标ctu时,获取目标ctu的初步深度遍历范围和深度预测数据;
[0110]
当初步深度遍历范围的最小深度值小于等于第一深度阈值时,则进行深度扩展,且目标ctu的深度区间为[1,3];
[0111]
当深度预测数据的数值大于第二深度阈值时,则目标ctu的深度区间为[2,3]。
[0112]
在一具体的实施例中,若当前ctu为复杂块,并且其预测深度数据depth
pre
大于2(第二深度阈值),则当前ctu的深度区间为[2,3],即当前ctu跳过深度0和1的计算;若当前ctu为复杂块,并且dr中的最小深度值小于等于1(第一深度阈值),则进行深度扩展,当前ctu的深度区间为[1,3],即当前ctu跳过深度0的计算。
[0113]
在本实施例中,所述目标ctu为平坦块时或复杂块时,根据初步深度遍历范围和深度预测数据获取目标ctu的深度区间,还包括:
[0114]
所述目标ctu为平坦块时,获取目标ctu的初步深度遍历范围和深度预测数据;
[0115]
当初步深度遍历范围的最小深度值大于等于第三深度阈值时,则进行深度裁剪,且目标ctu的深度区间为[0,2];
[0116]
当深度预测数据的数值小于第四深度阈值时,则目标ctu的深度区间为[0,2]。
[0117]
在一具体的实施例中,若当前ctu为平坦块,并且其预测深度数据depth
pre
小于2(第四深度阈值),则当前ctu的深度区间为[0,2],即当前ctu跳过深度3的计算;若当前ctu为平坦块,并且dr中的最大深度值大于等于2(第三深度阈值),则进行深度裁剪,当前ctu的深度区间为[0,2],即当前ctu跳过深度3的计算。
[0118]
在本实施例中,所述目标ctu为普通块时,根据深度预测数据和深度数据获取目标ctu的深度区间,具体为:
[0119]
所述目标ctu为普通块时,根据所述若干已编码ctu与所述目标ctu之间的深度相关性,确定目标ctu时域同位的cucol、cucol空域左侧的culc、以及目标ctu空域左侧的cul;其中,所述若干已编码ctu包括:cucol、culc和cul;
[0120]
根据所述深度数据,获取cucol的平均深度值depth
co
、culc的平均深度值depthl
co
和cul的平均深度值depthl;
[0121]
根据depth
co
、depthl
co
、depthl和所述深度预测数据depth
pre
,获取目标ctu的深度区间:当depthl
co
《depth
co
、depthl≥2且depth
pre
≥2时,则目标ctu的深度区间最小深度值为2;当depthl
co
《depth
co
、depthl≥1且depth
pre
≥1时,则目标ctu的深度区间最小深度值为1;当depthl
co
》depth
co
、depthl≤1且depth
pre
≤1时,则目标ctu的深度区间最大深度值为1;当depthl
co
》depth
co
、depthl≤2且depth
pre
≤2时,则目标ctu的深度区间最大深度值为2。
[0122]
步骤105:根据目标ctu的深度区间选定目标ctu,并基于选定的目标ctu执行hevc编码。
[0123]
本实施例首先根据与目标ctu时空域相邻的若干已编码ctu的深度数据,进行目标ctu的初步深度遍历范围计算;再结合目标ctu与若干已编码ctu的时空域相关性,通过深度数据和时空域相关性进行深度预测数据的计算;然后根据目标ctu的像素数据进行纹理复杂度的计算;最后根据不同纹理复杂度的ctu类型,在初步深度遍历范围的基础上,结合深
度预测数据和深度数据进行目标ctu的深度区间的计算。确定当前ctu的深度区间,加速hevc编码过程。本实施例相比开源编码器x265,在低延时p(lowdelay p)测试条件下,平均率失真性能没有损失的情况下,编码时间复杂度平均降低8.1%。
[0124]
实施例二
[0125]
参见图2,图2是本发明一实施例提供的一种ctu的确定装置的结构示意图,包括:第一数据获取模块201、第二数据获取模块202、第三数据获取模块203、深度区间计算模块204和结果生成模块205;
[0126]
所述第一数据获取模块201,用于获取若干已编码ctu的深度数据,并根据所述深度数据确定目标ctu的初步深度遍历范围;其中,所述若干已编码ctu为所述目标ctu时空域相邻的ctu;
[0127]
所述第二数据获取模块202,用于根据所述若干已编码ctu与所述目标ctu之间的时空域相关性、以及所述深度数据,获取目标ctu的深度预测数据;
[0128]
所述第三数据获取模块203,用于根据所述目标ctu的像素数据,获取所述目标ctu的纹理复杂度;其中,所述目标ctu的纹理复杂度的类型包括以下一种或多种:平坦块、复杂块和普通块;
[0129]
所述深度区间计算模块204,用于所述目标ctu为平坦块时或复杂块时,根据初步深度遍历范围和深度预测数据获取目标ctu的深度区间;所述目标ctu为普通块时,根据深度预测数据和深度数据获取目标ctu的深度区间;
[0130]
所述结果生成模块205,用于根据目标ctu的深度区间选定目标ctu,并基于选定的目标ctu执行hevc编码。
[0131]
作为上述方案的改进,所述第一数据获取模块201,包括:深度数据获取单元和初步深度遍历范围计算单元;
[0132]
所述深度数据获取单元,用于根据目标ctu时空域相邻的已编码ctu,读取并获得若干已编码ctu的深度数据;
[0133]
所述初步深度遍历范围计算单元,用于根据所述深度数据,在若干已编码ctu的深度值中,选取最大深度值和最小深度值,作为目标ctu的初步深度遍历范围。
[0134]
作为上述方案的改进,所述第二数据获取模块202,包括:时空域相关性获取单元和深度预测数据计算单元;
[0135]
所述时空域相关性获取单元,用于根据所述若干已编码ctu与所述目标ctu之间的时空域相关性,确定目标ctu空域左侧的cul、目标ctu空域上侧的cua、目标ctu空域左上侧的cula、目标ctu空域右上侧的cura、以及目标ctu时域同位的cucol;其中,所述若干已编码ctu包括:cul、cua、cula、cura和cucol;
[0136]
所述深度预测数据计算单元,用于根据所述深度数据,获取cul右半块的平均深度值level1、cua下半块的平均深度值level2、cula中的第一编码单元的平均深度值level3、cura中的第二编码单元的平均深度值level4和cucol的平均深度值level5,并代入预测深度计算公式进行计算,获得深度预测数据;其中,在cula的所有编码单元中,所述第一编码单元和所述目标ctu的距离为第一预设值;在cura的所有编码单元中,所述第二编码单元和所述目标ctu的距离为第二预设值;所述深度数据包括:level1、level2、level3、level4和level5;以及所述预测深度计算公式如下:
[0137][0138]
其中,n=5,ωi为时空域相邻ctu的权重因子,leveli为时空域相邻ctu的编码深度值;权重因子ωi是根据当前ctu与时空域相邻ctu的相关性进行设置的。
[0139]
作为上述方案的改进,所述第三数据获取模块203,包括:平均梯度值计算单元和判断单元;
[0140]
所述平均梯度值计算单元,用于根据所述目标ctu的像素数据,通过roberts梯度算子计算方法,计算获得目标ctu的平均梯度值;
[0141]
所述判断单元,用于根据所述平均梯度值,通过预设的纹理复杂度下阈值和纹理复杂度上阈值,获得目标ctu的纹理复杂度:当平均梯度值小于纹理复杂度下阈值时,所述目标ctu为平坦块;当平均梯度值大于纹理复杂度下阈值且小于纹理复杂度上阈值时,所述目标ctu为普通块;当平均梯度值大于纹理复杂度上阈值时,所述目标ctu为复杂块。
[0142]
作为上述方案的改进,所述目标ctu为平坦块时或复杂块时,根据初步深度遍历范围和深度预测数据获取目标ctu的深度区间,具体为:
[0143]
所述目标ctu为复杂块时,获取目标ctu的初步深度遍历范围和深度预测数据;
[0144]
当初步深度遍历范围的最小深度值小于等于第一深度阈值时,则进行深度扩展,且目标ctu的深度区间为[1,3];
[0145]
当深度预测数据的数值大于第二深度阈值时,则目标ctu的深度区间为[2,3]。
[0146]
作为上述方案的改进,所述目标ctu为平坦块时或复杂块时,根据初步深度遍历范围和深度预测数据获取目标ctu的深度区间,还包括:
[0147]
所述目标ctu为平坦块时,获取目标ctu的初步深度遍历范围和深度预测数据;
[0148]
当初步深度遍历范围的最小深度值大于等于第三深度阈值时,则进行深度裁剪,且目标ctu的深度区间为[0,2];
[0149]
当深度预测数据的数值小于第四深度阈值时,则目标ctu的深度区间为[0,2]。
[0150]
作为上述方案的改进,所述目标ctu为普通块时,根据深度预测数据和深度数据获取目标ctu的深度区间,具体为:
[0151]
所述目标ctu为普通块时,根据所述若干已编码ctu与所述目标ctu之间的深度相关性,确定目标ctu时域同位的cucol、cucol空域左侧的culc、以及目标ctu空域左侧的cul;其中,所述若干已编码ctu包括:cucol、culc和cul;
[0152]
根据所述深度数据,获取cucol的平均深度值depth
co
、culc的平均深度值depthl
co
和cul的平均深度值depthl;
[0153]
根据depth
co
、depthl
co
、depthl和所述深度预测数据depth
pre
,获取目标ctu的深度区间:当depthl
co
《depth
co
、depthl≥2且depth
pre
≥2时,则目标ctu的深度区间最小深度值为2;当depthl
co
《depth
co
、depthl≥1且depth
pre
≥1时,则目标ctu的深度区间最小深度值为1;当depthl
co
》depth
co
、depthl≤1且depth
pre
≤1时,则目标ctu的深度区间最大深度值为1;当depthl
co
》depth
co
、depthl≤2且depth
pre
≤2时,则目标ctu的深度区间最大深度值为2。
[0154]
本实施例通过第一数据获取模块获得目标ctu的初步深度遍历范围,通过第二数据获取模块获得目标ctu的深度预测数据,通过第三数据获取模块获得目标ctu的纹理复杂
度,将获得的深度预测数据、初步深度遍历范围和纹理复杂度输入至深度区间计算模块进行目标ctu深度区间的计算,并将深度区间输入至结果生成模块选定目标ctu,从而根据选取的目标ctu执行hevc编码。本实施例通过获得的ctu深度区间确定最优ctu,并通过最优ctu执行hevc编码,能够降低hevc编码的复杂度,继而提高hevc编码效率。
[0155]
实施例三
[0156]
参见图5,图5是本发明一实施例提供的终端设备结构示意图。
[0157]
该实施例的一种终端设备包括:处理器501、存储器502以及存储在所述存储器502中并可在所述处理器501上运行的计算机程序。所述处理器501执行所述计算机程序时实现上述各个ctu的确定方法在实施例中的步骤,例如图1所示的ctu的确定方法的所有步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块的功能,例如:图2所示的ctu的确定装置的所有模块。
[0158]
另外,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上任一实施例所述的ctu的确定方法。
[0159]
本领域技术人员可以理解,所述示意图仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
[0160]
所称处理器501可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器501是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
[0161]
所述存储器502可用于存储所述计算机程序和/或模块,所述处理器501通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器502内的数据,实现所述终端设备的各种功能。所述存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0162]
其中,所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述
计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。
[0163]
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0164]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

技术特征:


1.一种ctu的确定方法,其特征在于,包括:获取若干已编码ctu的深度数据,并根据所述深度数据确定目标ctu的初步深度遍历范围;其中,所述若干已编码ctu为所述目标ctu时空域相邻的ctu;根据所述若干已编码ctu与所述目标ctu之间的时空域相关性、以及所述深度数据,获取目标ctu的深度预测数据;根据所述目标ctu的像素数据,获取所述目标ctu的纹理复杂度;其中,所述目标ctu的纹理复杂度的类型包括以下一种或多种:平坦块、复杂块和普通块;所述目标ctu为平坦块时或复杂块时,根据初步深度遍历范围和深度预测数据获取目标ctu的深度区间;所述目标ctu为普通块时,根据深度预测数据和深度数据获取目标ctu的深度区间;根据目标ctu的深度区间选定目标ctu,并基于选定的目标ctu执行hevc编码。2.根据权利要求1所述的ctu的确定方法,其特征在于,所述获取若干已编码ctu的深度数据,并根据所述深度数据确定目标ctu的初步深度遍历范围,具体为:根据目标ctu时空域相邻的已编码ctu,读取并获得若干已编码ctu的深度数据;根据所述深度数据,在若干已编码ctu的深度值中,选取最大深度值和最小深度值,作为目标ctu的初步深度遍历范围。3.根据权利要求1所述的ctu的确定方法,其特征在于,所述根据所述若干已编码ctu与所述目标ctu之间的时空域相关性、以及所述深度数据,获取目标ctu的深度预测数据,具体为:根据所述若干已编码ctu与所述目标ctu之间的时空域相关性,确定目标ctu空域左侧的cul、目标ctu空域上侧的cua、目标ctu空域左上侧的cula、目标ctu空域右上侧的cura、以及目标ctu时域同位的cucol;其中,所述若干已编码ctu包括:cul、cua、cula、cura和cucol;根据所述深度数据,获取cul右半块的平均深度值level1、cua下半块的平均深度值level2、cula中的第一编码单元的平均深度值level3、cura中的第二编码单元的平均深度值level4和cucol的平均深度值level5,并代入预测深度计算公式进行计算,获得深度预测数据;其中,在cula的所有编码单元中,所述第一编码单元和所述目标ctu的距离为第一预设值;在cura的所有编码单元中,所述第二编码单元和所述目标ctu的距离为第二预设值;所述深度数据包括:level1、level2、level3、level4和level5;以及所述预测深度计算公式如下:其中,n=5,ω
i
为时空域相邻ctu的权重因子,level
i
为时空域相邻ctu的编码深度值;权重因子ω
i
是根据当前ctu与时空域相邻ctu的相关性进行设置的。4.根据权利要求1所述的ctu的确定方法,其特征在于,所述根据所述目标ctu的像素数据,获取所述目标ctu的纹理复杂度,具体为:根据所述目标ctu的像素数据,通过roberts梯度算子计算方法,计算获得目标ctu的平均梯度值;根据所述平均梯度值,通过预设的纹理复杂度下阈值和纹理复杂度上阈值,获得目标
ctu的纹理复杂度:当平均梯度值小于纹理复杂度下阈值时,所述目标ctu为平坦块;当平均梯度值大于纹理复杂度下阈值且小于纹理复杂度上阈值时,所述目标ctu为普通块;当平均梯度值大于纹理复杂度上阈值时,所述目标ctu为复杂块。5.根据权利要求1所述的ctu的确定方法,其特征在于,所述目标ctu为平坦块时或复杂块时,根据初步深度遍历范围和深度预测数据获取目标ctu的深度区间,具体为:所述目标ctu为复杂块时,获取目标ctu的初步深度遍历范围和深度预测数据;当初步深度遍历范围的最小深度值小于等于第一深度阈值时,则进行深度扩展,且目标ctu的深度区间为[1,3];当深度预测数据的数值大于第二深度阈值时,则目标ctu的深度区间为[2,3]。6.根据权利要求5所述的ctu的确定方法,其特征在于,所述目标ctu为平坦块时或复杂块时,根据初步深度遍历范围和深度预测数据获取目标ctu的深度区间,还包括:所述目标ctu为平坦块时,获取目标ctu的初步深度遍历范围和深度预测数据;当初步深度遍历范围的最小深度值大于等于第三深度阈值时,则进行深度裁剪,且目标ctu的深度区间为[0,2];当深度预测数据的数值小于第四深度阈值时,则目标ctu的深度区间为[0,2]。7.根据权利要求1所述的ctu的确定方法,其特征在于,所述目标ctu为普通块时,根据深度预测数据和深度数据获取目标ctu的深度区间,具体为:所述目标ctu为普通块时,根据所述若干已编码ctu与所述目标ctu之间的深度相关性,确定目标ctu时域同位的cucol、cucol空域左侧的culc、以及目标ctu空域左侧的cul;其中,所述若干已编码ctu包括:cucol、culc和cul;根据所述深度数据,获取cucol的平均深度值depth
co
、culc的平均深度值depthl
co
和cul的平均深度值depthl;根据depth
co
、depthl
co
、depthl和所述深度预测数据depth
pre
,获取目标ctu的深度区间:当depthl
co
<depth
co
、depthl≥2且depth
pre
≥2时,则目标ctu的深度区间最小深度值为2;当depthl
co
<depth
co
、depthl≥1且depth
pre
≥1时,则目标ctu的深度区间最小深度值为1;当depthl
co
>depth
co
、depthl≤1且depth
pre
≤1时,则目标ctu的深度区间最大深度值为1;当depthl
co
>depth
co
、depthl≤2且depth
pre
≤2时,则目标ctu的深度区间最大深度值为2。8.一种ctu的确定装置,其特征在于,包括:第一数据获取模块、第二数据获取模块、第三数据获取模块、深度区间计算模块和结果生成模块;所述第一数据获取模块,用于获取若干已编码ctu的深度数据,并根据所述深度数据确定目标ctu的初步深度遍历范围;其中,所述若干已编码ctu为所述目标ctu时空域相邻的ctu;所述第二数据获取模块,用于根据所述若干已编码ctu与所述目标ctu之间的时空域相关性、以及所述深度数据,获取目标ctu的深度预测数据;所述第三数据获取模块,用于根据所述目标ctu的像素数据,获取所述目标ctu的纹理复杂度;其中,所述纹理复杂度包括以下一种或多种:平坦块、复杂块和普通块;所述深度区间计算模块,用于所述目标ctu为平坦块时或复杂块时,根据初步深度遍历范围和深度预测数据获取目标ctu的深度区间;所述目标ctu为普通块时,根据深度预测数据和深度数据获取目标ctu的深度区间;
所述结果生成模块,用于根据目标ctu的深度区间选定目标ctu,并基于选定的目标ctu执行hevc编码。9.一种计算机终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任意一项所述的一种ctu的确定方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至7中任意一项所述的一种ctu的确定方法。

技术总结


本发明公开了一种CTU的确定方法、装置、终端设备及存储介质,首先根据与目标CTU时空域相邻的若干已编码CTU的深度数据,进行目标CTU的初步深度遍历范围的计算;再结合目标CTU与若干已编码CTU的时空域相关性,通过深度数据和时空域相关性进行深度预测数据的计算;然后根据目标CTU的像素数据进行纹理复杂度的计算;最后根据不同纹理复杂度的CTU类型,在初步深度遍历范围的基础上,结合深度预测数据和深度数据进行目标CTU的深度区间的计算,从而提高了CTU的深度区间计算准确率,通过获得的CTU深度区间确定最优CTU,并通过最优CTU执行HEVC编码,能够降低HEVC编码的复杂度,继而提高HEVC编码效率。HEVC编码效率。HEVC编码效率。


技术研发人员:


受保护的技术使用者:

厦门亿联网络技术股份有限公司

技术研发日:

2022.09.26

技术公布日:

2023/1/17


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-84008-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2023-01-28 07:07:09

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论