本发明涉及视频编码,尤其是涉及一种基于mse-cnn的vcc编码单元划分方法。
背景技术:
1、随着近年来视频技术的快速发展,短视频、直播视频、4k甚至8k的超高分辨率视频不断涌现出来。视频的分辨率越来越高,这无疑会产生大量的编码需求,编码的时间成本也会大大提高,通用视频编码(versatile video coding,vvc)应运而生。vvc也被称为h.266,是一种视频编码标准,由联合视频专家组(joint video experts team,jvet)开发。它是high efficiency video coding(hevc/h.265)的后续标准,旨在进一步提高视频压缩效率,同时保持高质量的视频。vvc作为新一代的视频编码标准,凭借其高压缩效率和广泛的适用性,在视频传输和存储中发挥重要作用。
2、现有的基于图像纹理复杂度来进行编码单元(coding unit,cu)划分的方法,通过选取图像的纹理复杂度,然后计算复杂度并与预先设置的阈值作对比来决定对cu进行什么样的划分,这种方法有如下几个缺点:
3、1.纹理复杂度只能反映图像区域内像素值变化的程度,无法捕捉到更高级别的图像语义信息或结构信息。这意味着在某些情况下,基于纹理复杂度的划分可能会导致不准确的划分决策,特别是在存在复杂结构或图像内容变化较大的场景下。
4、2.确定适当的纹理复杂度阈值是一个挑战,阈值的选择通常依赖于具体的应用场景和数据集,需要经过大量实验和调整。如果阈值设置不合理,可能导致划分决策不稳定或不准确。
5、3.在存在复杂结构的图像区域中,纹理复杂度可能无法区分不同的结构类型或者细节,导致无法有效地进行精细划分。
6、4.尽管纹理复杂度的计算通常比较快速,但如果需要在每个cu上进行详尽的纹理复杂度分析,并根据其决定是否进一步划分,这可能会增加编码的计算时间。尤其是在高分辨率或大尺寸图像上,这种影响可能更为显著。
7、总的来说,基于纹理复杂度进行cu划分是一种简单直观的方法,适用于静态或者纹理特征明显的场景。然而,在处理动态变化和复杂结构的图像时,可能需要结合其他特征和方法,以提高划分的准确性和适应性。
8、经过检索,中国发明专利公开号cn112104868b公开了一种针对vvc帧内编码单元划分的快速决策方法,用以解决现有通用视频编码(vvc)存在复杂度过高的问题,利用梯度算子对当前帧内亮度编码块的纹理内容进行分析,评估亮度编码单元纹理的复杂程度,之后利用分区像素差异进一步的加强对纹理的预测,最后通过提取当前亮度编码单元的纹理信息,提前判断当前亮度编码单元的预测趋势,跳过可能性小的划分模式,减少了候选列表中划分模式数量,提前跳出划分模式的递归过程。该现有专利存在编码时间过长和精度不高的问题。
9、如何实现vcc编码单元编码精度与时间的平衡,成为需要解决的技术问题。
技术实现思路
1、本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于mse-cnn的vcc编码单元划分方法。
2、本发明的目的可以通过以下技术方案来实现:
3、根据本发明的一个方面,提供了一种基于mse-cnn的vcc编码单元划分方法,该方法包括以下步骤:
4、步骤s1,将待编码视频的每帧图像划分为多个初始尺寸是128×128的编码单元,并进行四叉划分后将编码单元传给纹理复杂度划分模块;
5、步骤s2,纹理复杂度划分模块对传入的编码单元尺寸进行判断,若尺寸>尺寸阈值,则进入步骤s3;否则,执行步骤s4;
6、步骤s3,纹理复杂度划分模块判断是否对编码单元继续做划分,若为是,则做划分直至尺寸≤尺寸阈值而进入步骤s4,否则,执行步骤s5;
7、步骤s4,mse-cnn模块对尺寸≤尺寸阈值的编码单元做进一步的划分,直至不需要划分而进入步骤s5;
8、步骤s5,结束划分并输出待编码视频的编码单元划分结果。
9、优选地,所述的mse-cnn模块为训练好的多阶段退出卷积神经网络,所述编码单元被输入mse-cnn模块后,先经过重叠卷积层提取一组特征图,然后经过多个阶段划分,直至全部提前退出或编码单元不能再划分。
10、更加优选地,每个所述的阶段划分包括首先经条件卷积层处理后输出特征图,然后进入子网络生成划分模式,若不需要划分则提前退出,结束划分,否则在本阶段按照划分模式进行划分,并将划分结果传输到下一个阶段继续进行划分。
11、更加优选地,所述的条件卷积层包括多个残差处理单元,假设当前编码单元的大小为w×h,则此编码单元的最小轴长为min(w,h),如果当前编码单元与其父编码单元的最小轴长分别为axis_cur和axis_par,则使用res_number∈{0,1,2}个残差处理单元处理特征图,res_number的计算公式为:
12、
13、若编码单元的大小已知,则残差单元k∈{1,2,3,4}的索引就确定了,其中:
14、
15、其中min(w,h)为编码单元的最小轴长。
16、更加优选地,所述的条件卷积层先根据残差处理单元的个数来判断编码单元是否进行四分之一缩放,若不需要缩放,则直接跳到下一个判断中;否则,将缩放的结果进行一次重叠卷积和一次普通卷积,将卷积结果与传入的cu进行异或运算,再将运算结果传入到下一次判断中;
17、然后根据残差处理单元的个数来判断编码单元是否要进行二分之一或者四分之一缩放,若不需要,则输出结果到后续步骤,否则将缩放结果进行一次重叠卷积和一次普通卷积,再次将卷积结果与上一步传入的编码单元进行异或运算,将运算结果传入到后续步骤。
18、更加优选地,每个所述的残差处理单元包括依次连接的重叠卷积层和普通卷积层。
19、更加优选地,所述的特征图进入子网络后,依次进行量化参数半掩码操作、两次卷积操作、量化参数半掩码操作和全连接操作,最后由全连接层输出划分模式。
20、优选地,所述的纹理复杂度划分模块对编码单元进行划分的过程包括:
21、步骤s201,纹理复杂度划分模块对收到的编码单元进行判断,如果其尺寸≤尺寸阈值,则进入步骤s3,将其作为初步结果传入给mse-cnn模块进行划分;否则进入步骤s202;
22、步骤s202,提取编码单元的纹理特征,并计算编码单元的像素平均绝对差与像素均值;
23、步骤s203,将像素平均绝对差和像素均值的比值与预设的第一阈值作比较,若比值小于预设的第一阈值,则认为编码单元不需要进一步的划分,结束划分;否则,编码单元需要进行下一步的划分,进入步骤s204;
24、步骤s204,评估纹理复杂度模块对编码单元的亮度值进行评估;
25、步骤s205,根据评估结果决定划分的方式,并进行划分,返回步骤s201。
26、更加优选地,所述编码单元的像素平均绝对差与像素均值具体计算为:
27、
28、其中,width表示编码单元的宽度,height表示编码单元的高度,p(i,j)是(i,j)处的像素值,avg为像素均值,cupv为像素平均绝对差。
29、更加优选地,所述的评估纹理复杂度模块对编码单元的亮度值进行评估包括:纹理复杂度模块计算编码单元的纵向方差、横向方差与标准差,并与设定的第二阈值比较:
30、若纵向方差小于预设的第二阈值,且横向方差大于预设的第二阈值,且标准差小于标准差阈值,则进行二叉水平划分;
31、若纵向方差大于预设的第二阈值,且横向方差小于预设的第二阈值,且标准差小于标准差阈值,则进行二叉垂直划分;
32、若纵向方差小于预设的第二阈值,且横向方差大于预设的第二阈值,且标准差大于标准差阈值,则进行三叉水平划分;
33、若纵向方差大于预设的第二阈值,且横向方差小于预设的第二阈值,且标准差大于标准差阈值,则进行三叉垂直划分;
34、若纵向方差和横向方差都大于预设的第二阈值,则进行四叉划分;
35、否则,不再对编码单元划分。
36、与现有技术相比,本发明具有以下有益效果:
37、1)本发明将传统的纹理复杂度以及mse-cnn结合使用,大尺寸(尺寸大于32×32)编码单元的初步划分使用简单的纹理复杂度计算,可以大幅度减少计算时间和资源消耗,小尺寸(尺寸小于等于32×32)编码单元的精细划分使用mse-cnn,可以保证cu划分的精度,从而在精度和效率之间找到平衡,保证一定的视频质量的情况下节省更多的时间。
38、2)本发明的mse-cnn分多阶段划分,每个阶段根据具体划分模式都可能提前退出,在保证视频质量的情况下节省时间实现快速编码单元划分。
39、3)本发明条件卷积的每个残差处理单元中使用一个重叠卷积层和一个普通卷积层而不是两个重叠卷积层,可以在得到一定的精度的同时又可以适当地缩短卷积进行的时间。
1.一种基于mse-cnn的vcc编码单元划分方法,其特征在于,该方法包括以下步骤:
2.根据权利要求1所述的一种基于mse-cnn的vcc编码单元划分方法,其特征在于,所述的mse-cnn模块为训练好的多阶段退出卷积神经网络,所述编码单元被输入mse-cnn模块后,先经过重叠卷积层提取一组特征图,然后经过多个阶段划分,直至全部提前退出或编码单元不能再划分。
3.根据权利要求2所述的一种基于mse-cnn的vcc编码单元划分方法,其特征在于,每个所述的阶段划分包括首先经条件卷积层处理后输出特征图,然后进入子网络生成划分模式,若不需要划分则提前退出,结束划分,否则在本阶段按照划分模式进行划分,并将划分结果传输到下一个阶段继续进行划分。
4.根据权利要求3所述的一种基于mse-cnn的vcc编码单元划分方法,其特征在于,所述的条件卷积层包括多个残差处理单元,假设当前编码单元的大小为w×h,则此编码单元的最小轴长为min(w,h),如果当前编码单元与其父编码单元的最小轴长分别为axis_cur和axis_par,则使用res_number∈{0,1,2}个残差处理单元处理特征图,res_number的计算公式为:
5.根据权利要求4所述的一种基于mse-cnn的vcc编码单元划分方法,其特征在于,所述的条件卷积层先根据残差处理单元的个数来判断编码单元是否进行四分之一缩放,若不需要缩放,则直接跳到下一个判断中;否则,将缩放的结果进行一次重叠卷积和一次普通卷积,将卷积结果与传入的cu进行异或运算,再将运算结果传入到下一次判断中;
6.根据权利要求4所述的一种基于mse-cnn的vcc编码单元划分方法,其特征在于,每个所述的残差处理单元包括依次连接的重叠卷积层和普通卷积层。
7.根据权利要求3所述的一种基于mse-cnn的vcc编码单元划分方法,其特征在于,所述的特征图进入子网络后,依次进行量化参数半掩码操作、两次卷积操作、量化参数半掩码操作和全连接操作,最后由全连接层输出划分模式。
8.根据权利要求1所述的一种基于mse-cnn的vcc编码单元划分方法,其特征在于,所述的纹理复杂度划分模块对编码单元进行划分的过程包括:
9.根据权利要求8所述的一种基于mse-cnn的vcc编码单元划分方法,其特征在于,所述编码单元的像素平均绝对差与像素均值具体计算为:
10.根据权利要求8所述的一种基于mse-cnn的vcc编码单元划分方法,其特征在于,所述的评估纹理复杂度模块对编码单元的亮度值进行评估包括:纹理复杂度模块计算编码单元的纵向方差、横向方差与标准差,并与设定的第二阈值比较: