基于
纹理和
邻域划分信息的vvc帧内快速cu划分方法
技术领域
1.本发明涉及视频编码领域中的帧内编码
复杂度降低技术问题,尤其是涉及一种基于纹理和邻域划分信息的vvc帧内快速cu划分方法。
背景技术:
2.随着5g技术的发展与普及,以及各种视频平台的兴起,人们对高清视频的需求不断增长。现有的视频编码技术h.264/avc和h.265/hevc的压缩能力已经无法满足市场的需求。为了研究更加高效的视频压缩编码技术,以支持未来一代的高分辨率视频编码标准,由mpeg和itu联合成立的jvet(joint video explore team)提出了新一代视频压缩编码标准h.266/vvc。vvc与hevc的整体编码框架区别不大,而是在每个编码模块中引入了新的技术。在不影响视频视觉质量的前提下,vvc编码效率较hevc提升了超过50%。而同时带来的还有编码时间的巨大提高,不利于实时通信。在cu划分模块,与hevc的四叉树划分不同,vvc引入了多类型树分块模式,在四叉树划分的基础上增加了二叉树和三叉树划分(qtmt),这意味着vvc中的cu不再只是正方形,而可以是正方形和长方形。更加灵活的分块
方式使得vvc能更加准确的预测编码块,减小预测误差,以达到降低码率的目的,但带来的时间复杂度也是巨大的。同时,vvc中的帧内预测模式也在hevc的35种模式的基础上增加到了67种,这意味着时间复杂度也会进一步增加。因此,到一种在不明显降低视频压缩效率的视频快速压缩编码算法是有必要的。
3.vvc中帧内cu的划分方式与纹理信息具有相关性,在纹理比较均匀的区域,通常采用大尺寸的cu进行划分,而在纹理比较丰富区域,通常采用较小尺寸的cu进行划分。在vvc中增加了二叉树和三叉树划分,都包括了垂直和水平两个方向的划分方式。而水平和垂直方向的划分与纹理方向具有相关性,在纹理偏水平的区域,通常采用水平划分,而在纹理偏垂直的方向,通常采用垂直划分。此外,由于视频序列每一帧中的图像画面大部分都是连续的,vvc中帧内cu的划分方式与其相邻cu的划分方式之间也存在相关性。当相邻cu被划分为大尺寸块时,当前cu也通常采用大尺寸作为最佳尺寸;当相邻cu采用四叉树、水平或垂直划分时,当前cu也通常采用相同的划分方式。
4.因此,我们可以利用这些相关性来提前跳过某些不必要的cu划分方式,在不明显影响帧内编码的码率和质量的前提下,减少帧内预测的时间复杂度。
技术实现要素:
5.在vvc帧内cu划分过程中,是对所有划分方式进行遍历,选出代价最小的一种作为最佳划分方式。而vvc在hevc的四叉树划分方式的基础上,还增加了多类型树划分方式,即二叉树和三叉树划分。而多类型树还包含了水平和垂直两个方向的划分。这意味着vvc中的cu划分方式更加复杂,需要遍历的划分方式更多,时间复杂度也提升了很多。而在实际的划分过程中,cu的最佳划分方式与纹理信息和其相邻cu划分方式都是具有较强的相关性的,但vvc并未利用这些相关性,而是直接遍历所有划分方式,因此增加了很多不必要的计算时
间。
6.针对vvc帧内cu划分时,cu划分模式与其纹理信息和邻域划分信息具有相关性的特点,本发明旨在提出一种在不明显降低vvc压缩编码效率的前提下,有效降低帧内预测复杂度的方法。该方法是在vvc帧内cu划分时,通过提取当前cu的纹理信息和相邻cu的划分信息,来提前跳过某些不必要的划分方式,以此来降低帧内cu划分的复杂度,从而达到在不明显影响视频码率和质量的前提下,降低帧内预测编码的时间的目的。
7.本发明专利针对vvc帧内cu划分,提出了一种降低帧内cu划分时间复杂度的方法。在进行帧内cu划分时,针对当前cu,首先提取当前cu的纹理丰富度和纹理方向性,以及左边和上边相邻cu的划分方式,来判断当前cu更可能采用哪种划分方式,从而提前跳过其它可能性较低的划分,具体包括以下步骤:
8.(1)利用sobel算子提取当前cu的梯度值g和水平垂直梯度比值b,获取当前cu左边相邻cu的宽lw和高lh以及上边相邻cu的宽aw和高ah,其中g和b的计算公式分别如公式(1)和(2)所示,
[0009][0010][0011]
其中,n是当前cu中的像素点总数,g
x
和gy分别为水平和垂直方向上的sobel梯度值,其计算公式分别如式(3)和(4),
[0012][0013][0014]
其中,(x,y)是当前像素点的坐标,m
x,y
是以当前像素点为中心的3
×
3像素矩阵;
[0015]
(2)根据cu的尺寸将cu分为三类进行处理,为尺寸为64
×
64的cu,尺寸为32
×
32的cu和其它尺寸的cu,如果当前cu尺寸为64
×
64,执行步骤(3),如果当前cu尺寸为32
×
32,则转到步骤(4),若是其它尺寸的cu,则转到步骤(5);
[0016]
(3)当g《th1时,若lw、lh、aw、ah中有至少一个等于64,则终止后面的划分,若相邻cu没有64的边,但相邻cu中有正方形(lw==lh或者aw==ah),则直接进行四叉树划分,跳过其它划分,若t》th2,则转到步骤(6),若是其它情况,则按原始流程进行划分;
[0017]
(4)当g《th3时,若lw、lh、aw、ah中有至少一个等于64或者32,则终止后面的划分,若相邻cu没有64和32的边,但相邻cu中有正方形(lw==lh或者aw==ah),则直接进行四叉树划分,跳过其它划分,若t》th4,则转到步骤(6),其他情况,则按原始流程进行划分;
[0018]
(5)若g《th5,则只进行不划分和四叉树划分(四叉树不可用时仅不划分),若g》th6,则转到步骤(6),其他情况,则按原始流程进行划分;
[0019]
(6)若b》th7且左边和上边相邻cu中有水平划分(lw》lh或aw》ah)时,则只进行水平划分(水平二叉树和水平三叉树),若b《th8且左边和上边相邻cu中有垂直划分(lw《lh或aw《ah)时,则只进行垂直划分(垂直二叉树和垂直三叉树)。若th8《b《th7,则按原始流程进行划分。
[0020]
本发明与现有技术相比所具有的优点及有益技术效果:
[0021]
(1)本发明提出的基于纹理和邻域划分信息的vvc帧内快速cu划分方法,与传统的vvc标准编码相比,不明显降低帧内编码性能的前提下,本发明所提出的帧内快速cu划分方法的帧内预测编码时间复杂度比vvc标准算法的帧内预测编码时间明显降低;
[0022]
(2)本发明提出的基于纹理和邻域划分信息的vvc帧内快速cu划分方法,分析了vvc帧内cu最佳划分方式与其纹理信息之间的相关性,利用此相关性,对纹理均匀的cu提前跳过后面的划分,对纹理丰富的cu直接进行下一步划分,并对纹理偏水平的cu直接采用水平划分,对纹理偏垂直的cu直接采用垂直划分,从而降低了cu划分的复杂度,减小了帧内预测的编码时间;
[0023]
(3)本发明提出的基于纹理和邻域划分信息的vvc帧内快速cu划分方法,分析了vvc帧内cu最佳划分方式与其相邻cu划分方式之间的相关性,利用此相关性,通过提前跳过不必要的方向的划分,进一步节省了帧内预测的编码时间;
[0024]
(4)本发明出的基于纹理和邻域划分信息的vvc帧内快速cu划分方法,分析了不同尺寸cu的梯度值分布情况,将cu分为64
×
64、32
×
32和其它尺寸的三类cu分别进行处理,在降低时间复杂度的同时,也保证了编码效率基本不受影响。
附图说明
[0025]
图1为vvc中的67种帧内预测模式。
[0026]
图2为vvc中qtmt结构中的5种cu划分方式。
[0027]
图3为测试序列basketballpass_416x240_50的帧内划分结果。
[0028]
图4为qp为22时测试序列basketballdrill_832x480_50的cu梯度分布情况。
[0029]
图5为基于纹理和邻域划分信息的vvc帧内快速cu划分方法的流程图。
[0030]
图6为parkscene和racehorsesc测试序列的率失真曲线。
具体实施方式
[0031]
下面结合实施例对本发明作进一步的详细说明,有必要指出的是,以下的实施例只用于对本发明做进一步的说明,不能理解为对本发明保护范围的限制,所属领域技术熟悉人员根据上述发明内容,对本发明做出一些非本质的改进和调整进行具体实施,应仍属于本发明的保护范围。
[0032]
(1)本发明所提方法是在vvc标准测试代码vtm9.1平台上展开的。其中配置文件选择encoder_intra_main.cfg,编码结构分别为全i帧编码,量化参数qp设置为22、27、32、37;
[0033]
(2)验证本发明所提方法编码性能的测试序列选取了分辨率为416
×
240、832
×
480、1280
×
720、1920
×
1080、2560
×
1600五种类型的官方标准测试序列。具体采用的标准测试序列为basketballpass、blowingbubbles、bqsquare、flowervase、keiba、mobisode2、racehorses、basketballdrill、bqmall、keiba、partyscene、racehorsesc、fourpeople、
johnny、kristenandsara、slideediting、slideshow、basketballdrive、bqterrace、cactus、kimono、parkscene、traffic、peopleonstreet、steamlocomotivetrain;
[0034]
(3)在本发明所提算法的程序中,对配置文件encoder_intra_main.cfg进行(1)中的参数设置,然后输入所有需要测试的视频标准序列,得到全i帧情况下本发明所提方法的结果,并对编码时间、码率、和视频质量进行记录统计;
[0035]
(4)在vvc标准算法的程序中,对配置文件encoder_intra_main.cfg进行(1)中的参数设置,然后输入所有需要测试的视频标准序列,得到全i帧情况下vvc标准算法的结果,并对编码时间、码率、和视频质量进行记录统计;
[0036]
(5)对上述两类的结果分别进行处理,其中编码时间复杂度通过
△
t进行衡量,其表示本发明所提方法相对于vvc减少的编码时间,编码性能的优劣通过客观评价标准bdbr和bdpsnr进行衡量;
[0037]
(6)从表1中可以看出,与vvc标准算法相比,在编码结构为全i帧时,本发明所提方法平均降低了44.22%的编码时间,而bdbr仅增加了0.93%,bdpsnr仅降低了0.04db。综上所述,在保证了帧内预测的编码效率的前提下,相对于vvc标准算法,本发明所提帧内快速cu划分方法的编码时间能够有效降低;
[0038]
(7)图6为不同分辨率测试序列在的率失真曲线,横坐标表示编码比特率,单位为kbps,纵坐标表示psnr,单位是db。从图6可以看出,在有效降低了帧内预测的编码时间的前提下,本发明所提方法的率失真曲线与vvc标准算法的率失真曲线基本重合,表示本方法的压缩编码效率基本没有降低。
[0039]
表1编码结构为全i帧时本方法的实验结果
[0040]
技术特征:
1.基于纹理和邻域划分信息的vvc帧内快速cu划分方法,其特征在于:(1)利用sobel算子提取当前cu的梯度值g和水平垂直梯度比值b,获取当前cu左边相邻cu的宽lw和高lh以及上边相邻cu的宽aw和高ah,其中g和b的计算公式分别如公式(1)和(2)所示,所示,其中,n是当前cu中的像素点总数,g
x
和g
y
分别为水平和垂直方向上的sobel梯度值,其计算公式分别如式(3)和(4),计算公式分别如式(3)和(4),其中,(x,y)是当前像素点的坐标,m
x,y
是以当前像素点为中心的3
×
3像素矩阵;(2)根据cu的尺寸将cu分为三类进行处理,为尺寸为64
×
64的cu,尺寸为32
×
32的cu和其它尺寸的cu,如果当前cu尺寸为64
×
64,执行步骤(3),如果当前cu尺寸为32
×
32,则转到步骤(4),若是其它尺寸的cu,则转到步骤(5);(3)当g<th1时,若lw、lh、aw、ah中有至少一个等于64,则终止后面的划分,若相邻cu没有64的边,但相邻cu中有正方形(lw==lh或者aw==ah),则直接进行四叉树划分,跳过其它划分,若t>th2,则转到步骤(6),若是其它情况,则按原始流程进行划分;(4)当g<th3时,若lw、lh、aw、ah中有至少一个等于64或者32,则终止后面的划分,若相邻cu没有64和32的边,但相邻cu中有正方形(lw==lh或者aw==ah),则直接进行四叉树划分,跳过其它划分,若t>th4,则转到步骤(6),其他情况,则按原始流程进行划分;(5)若g<th5,则只进行不划分和四叉树划分(四叉树不可用时仅不划分),若g>th6,则转到步骤(6),其他情况,则按原始流程进行划分;(6)若b>th7且左边和上边相邻cu中有水平划分(lw>lh或aw>ah)时,则只进行水平划分(水平二叉树和水平三叉树),若b<th8且左边和上边相邻cu中有垂直划分(lw<lh或aw<ah)时,则只进行垂直划分(垂直二叉树和垂直三叉树),若th8<b<th7,则按原始流程进行划分。2.如权利要求1所述的基于纹理和邻域划分信息的vvc帧内快速cu划分方法,其特征在于联合使用纹理信息和相邻cu划分信息来加速帧内cu的划分过程。3.如权利要求1所述的基于纹理和邻域划分信息的vvc帧内快速cu划分方法,其特征在于根据cu的不同尺寸进行不同的处理。4.一种用于执行权利要求1至3所述基于纹理和邻域划分信息的vvc帧内快速cu划分方法。
技术总结
本发明从VVC帧内CU划分方式和纹理信息和其相邻CU划分方式之间存在相关性入手,公开了一种基于纹理和邻域划分信息的VVC帧内快速CU划分方法。首先提取当前CU的纹理信息和相邻CU划分方式,然后根据尺寸将CU划分为三类,利用纹理和邻域信息提前跳过某些不必要的划分方式,从而降低帧内预测的编码时间。本发明公开的VVC帧内快速CU划分方法,相比于VVC编码标准,在不明显降低压缩编码效率的前提下,明显降低了VVC帧内编码的时间复杂度。降低了VVC帧内编码的时间复杂度。降低了VVC帧内编码的时间复杂度。
技术研发人员:
何小海 杨若兰 熊淑华 赵则明 卿粼波 陈洪刚 王正勇
受保护的技术使用者:
四川大学
技术研发日:
2021.08.23
技术公布日:
2023/2/23