一种针对VVC帧内编码单元划分的快速决策方法与流程

文档序号:23347783发布日期:2020-12-18 16:50阅读:120来源:国知局
一种针对VVC帧内编码单元划分的快速决策方法与流程

本发明属于视频编码领域,特别指一种针对vvc帧内编码单元划分的快速决策方法。



背景技术:

随着视频市场的发展,超高清(uhd)和虚拟现实(vr)视频因其能够提供更现实的感知质量而越来越受欢迎;但是,由于高分辨率和广泛的亮度动态范围,uhd和vr视频的数据量急剧增加,目前的高效视频编码(hevc)标准没有具有足够的压缩能力,以满足未来市场的要求。为了研究未来视频编码技术标准化的潜在需要,itu-t视频编码专家组(vceg)和iso/iec移动图像专家组(mpeg)联合成立了视频探索小组(jvet),该专家组征集hevc及其扩展提案,推出了一种新的视频编码标准,称为通用视频编码(vvc)。在jvet的发展过程中,许多新的编码技术已经被探索和采用,如四叉树加二叉树块划分结构、位置依赖的预测组合、仿射运动补偿预测和自适应多核变换等;所有工具都集成到jvet测试软件中,以评估其潜在性能,许多被采用到下一代视频编码标准vvc中。vvc性能远远超越了hevc,但编码器复杂度也急剧增加;在全帧内测试配置下,vvc测试软件(vtm)的内部编码复杂度比hevc测试软件(hm)增加了18倍。

块划分结构作为编码层的核心,利用灵活的块大小,获得了很大的编码性能增益。联合探索测试模型(jem)采用二叉树加四叉树(qtbt)作为块划分结构来适应各种纹理模式;而vtm通过添加两种三元划分模式,进一步改进了qtbt,形成了具有嵌套的多类型树,以支持更灵活的编码分区形状;特别是,编码树单元首先由四叉树划分(qt),然后通过多元树(mt)结构进一步划分四叉树叶节点。在多元树结构中,一共有4种类型的树,包括垂直二叉树、水平二叉树、垂直三叉树和水平三叉树;为了简化编码树单元的划分过程,一旦编码单元被划分为多元树,随后的划分不再出现四叉树。

然而,在高效视频编码(hevc)标准中,使用了四叉树划分寻找最优的划分结构,极大的增加了编码复杂度;相比于hevc,通用视频编码(vvc)增加了二叉树划分和三叉树划分,复杂度成倍增加;基于此,本发明一种针对vvc帧内编码单元划分的快速决策方法,以用于开发快速编码方法,以满足潜在市场的实际需求。



技术实现要素:

本发明的目的在于针对通用视频编码(vvc)存在复杂度过高的问题,提出了一种针对vvc帧内编码单元划分的快速决策方法,主要利用梯度算子对当前帧内亮度编码块的纹理内容进行分析,评估亮度编码单元纹理的复杂程度,之后利用分区像素差异进一步的加强对纹理的预测,最后通过纹理对当前亮度编码块的划分方式进行筛选,减少划分模式的数量,提前结束划分过程,节省了编码时间。

为实现上述目的,本发明采用的技术方案如下:

一种针对vvc帧内编码单元划分的快速决策方法,其特征在于,包括以下步骤:

s1、二叉树划分决策,包括:步骤s11与步骤s12,具体如下:

s11、水平二叉树划分决策:当前亮度编码单元满足如下任一条件,则当前亮度编码单元跳过水平二叉树划分;

计算当前亮度编码单元的水平二叉树子区域bh1和bh2的水平平均梯度ghbh1和ghbh2,垂直平均梯度gvbh1和gvbh2,45度平均梯度g45bh1和g45bh2,135度平均梯度g135bh1和g135bh2;子区域bh1和bh2内平均梯度的比值均小于设定阈值th1:

计算垂直二叉树子区域bv1和bv2的像素差异covbv1和covbv2,covbv1和covbv2的比值大于设定阈值th2:

s12、垂直二叉树划分决策:当前亮度编码单元满足如下任一条件,则当前亮度编码单元跳过垂直二叉树划分;

计算当前亮度编码单元的垂直二叉树子区域bv1和bv2的水平平均梯度ghbv1和ghbv2,垂直平均梯度gvbv1和gvbv2,45度平均梯度g45bv1和g45bv2,135度平均梯度g135bv1和g135bv2;子区域bv1和bv2内平均梯度的比值均小于阈值th3:

计算水平二叉树子区域bh1和bh2的像素差异covbh1和covbh2,covbh1和covbh2的比值大于设定阈值th4:

s2、三叉树划分决策,包括:步骤s21与步骤s22,具体如下:

s21、水平三叉树划分决策:当前亮度编码单元满足如下条件,则当前亮度编码单元跳过水平三叉树划分;

计算当前亮度编码单元的水平三叉树子区域th1、th2和th3的垂直平均梯度gvth1、gvth2和gvth3,gvth1、gvth2和gvth3两两之间比值均小于设定阈值th5:

s22、垂直三叉树划分决策:当前亮度编码单元满足如下条件,则当前亮度编码单元跳过垂直三叉树划分;

计算当前编码单元的垂直三叉树子区域tv1、tv2和tv3的水平平均梯度ghtv1、ghtv2和ghtv3,ghtv1、ghtv2和ghtv3两两之间比值均小于设定阈值th6:

s3、将剩余未跳过的划分模式添加到候选列表,划分模式选择完毕。

进一步的,所述设定阈值th1的取值范围为1.1~1.3,所述设定阈值th2的取值范围为3.0~4.0,所述设定阈值th3的取值范围为1.1~1.3,所述设定阈值th4的取值范围为3.0~4.0,所述设定阈值th5的取值范围为1.5~2.5,所述设定阈值th6的取值范围为1.5~2.5。

进一步的,所述水平二叉树子区域bh1和bh2的像素差异covbh1和covbh2的计算表达式为:

所述垂直二叉树子区域bv1和bv2的像素差异covbv1和covbv2的计算表达式为:

其中,i表示当前亮度编码单元像素值,wh分别表示当前亮度编码单元的宽度、高度。

与现有技术相比,本发明的有益效果在于:

本发明提供的针对vvc帧内编码单元划分的快速决策方法,通过提取当前亮度编码单元的纹理信息,提前判断当前亮度编码单元的预测趋势,跳过可能性小的划分模式,减少了候选列表中划分模式数量,提前跳出划分模式的递归过程,有效的降低了vvc帧内编码的时间复杂度。

附图说明

图1为本发明针对vvc帧内编码单元划分的快速决策方法的流程概要图。

图2为本发明实施例中针对vvc帧内编码单元划分的快速决策方法的流程图。

图3为本发明实施例中二叉树水平划分、二叉树垂直划分、三叉树垂直划分和三叉树水平划分的子区域示意图。

具体实施方式

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

本实施例提供一种针对vvc帧内编码单元划分的快速决策方法,其流程概要如图1所示,主要包括二叉树划分决策和三叉树划分决策,当编码单元的纹理信息符合预设条件时,相应跳过二叉树划分和三叉树划分;涉及的二叉树划分与三叉树划分,其中,二叉树划分包括二叉树水平划分与二叉树垂直划分,三叉树划分包括三叉树水平划分与三叉树垂直划分;具体的讲:所述二叉树水平划分指:将编码单元按高度1:1划分为两部分,所述二叉树垂直划分指:将编码单元按宽度1:1划分为两部分,所述三叉树水平划分指:将编码单元按高度1:2:1划分为三部分,所述三叉树垂直划分指:将编码单元按宽度1:2:1划分为三部分;本实施例中,二叉树水平划分、二叉树垂直划分、三叉树水平划分和三叉树垂直划分的子区域如图3所示,二叉树水平划分为水平二叉树子区域bh1和bh2,二叉树垂直划分为垂直二叉树子区域bv1和bv2,三叉树水平划分为水平三叉树子区域th1、th2和th3,三叉树垂直划分为垂直三叉树子区域tv1、tv2和tv3。

所述针对vvc帧内编码单元划分的快速决策方法的具体流程如图2所示,详细步骤如下:

当前帧内编码单元划分模式进行选择时,计算当前亮度编码单元i的水平梯度gh、垂直梯度gv、45度梯度g45和135度梯度g135,表达式为:

(1)

其中,表示卷积运算,i表示当前亮度编码单元像素值;

s1、计算当前亮度编码单元的水平二叉树子区域bh1和bh2的水平平均梯度ghbh1和ghbh2,垂直平均梯度gvbh1和gvbh2,45度平均梯度g45bh1和g45bh2,135度平均梯度g135bh1和g135bh2;表达式为:

(2)

其中,wh分别表示当前亮度编码单元的宽度、高度,(y,x)、(j,i)均表示位置坐标;

若子区域bh1和bh2内的水平平均梯度、垂直平均梯度、45度平均梯度和135度平均梯度的比值均小于自定义阈值th1,则当前亮度编码单元跳过二叉树水平划分,表达式为:

(3)

其中,自定义阈值th1的取值范围为1.1~1.3;本实施例中,阈值th1设置为1.18;

s2、计算当前亮度编码单元的垂直二叉树子区域bv1和bv2的水平平均梯度ghbv1和ghbv2,垂直平均梯度gvbv1和gvbv2,45度平均梯度g45bv1和g45bv2,135度平均梯度g135bv1和g135bv2;表达式为:

(4)

若子区域bv1和bv2内的4种平均梯度的比值均小于阈值th3,则当前编码单元跳过二叉树垂直划分,表达式为:

(5)

其中,自定义阈值th3的取值范围为1.1~1.3;本实施例中,阈值th3设置为1.18;

s3、计算水平划分子区域bh1和bh2的像素差异covbh1和covbh2,表达式为:

(6)

当covbh1和covbh2的比值大于自定义阈值th4时,跳过二叉树垂直划分;表达式为:

(7)

其中,自定义阈值th4的取值范围为3.0~4.0;本实施例中,阈值th4的设置为3.5;

s4、计算垂直划分子区域bv1和bv2的像素差异covbv1和covbv2,表达式为:

(8)

当covbv1和covbv2的比值大于自定义阈值th2时,跳过二叉树水平划分,表达式为:

(9)

其中,自定义阈值th2的取值范围为3.0~4.0;本实施例中,阈值th2的设置为3.5;

s5、计算当前亮度编码单元的水平三叉树子区域th1、th2和th3的垂直平均梯度gvth1、gvth2和gvth3,表达式为:

(10)

gvth1、gvth2和gvth3两两之间比值均小于设定阈值th5时,跳过三叉树水平划分,表达式为:

(11)

其中,自定义阈值th5的取值范围为1.5~2.5;本实施例中,阈值th5设定为2;

s6、计算当前编码单元的垂直三叉树子区域tv1、tv2和tv3的水平平均梯度ghtv1、ghtv2和ghtv3,表达式为:

(12)

ghtv1、ghtv2和ghtv3两两之间比值均小于设定阈值th6,此时跳过三叉树垂直划分,表达式为:

(13)

其中,自定义阈值th6的取值范围为1.5~2.5;本实施例中,阈值th6设定为2;

s7、将剩余未跳过的划分模式添加到候选列表。

基于上述实施例所公开的技术内容,本实施例在最新的vvc编码器(vtm9.3)上进行测试,以此评估该方法的可行性和有效性;测试时,编码配置为“allintra,”并采用默认的配置参数;量化系数分别设置为22,27,32,37;最后根据码率变化(bd-rate,表示相同psnr下码率的变化)和编码节省时间(ts)来评估算法性能。

测试序列包含了4种分辨率的12个序列,分别为1920×1080(kimono1,parkscene,bqterrace),1280×716(johnny,fourpeople,kristenandsara),832×480(partyscene,racehorsesc,basketballdrill)和416×240(blowingbubbles,racehorses,bqsquare);如表1所示为本发明所提供方法在vtm9.3测试平台上的性能对比结果:

表1

从表1所示的结果可以看出,对比于传统vtm,本发明方法的平均节约时间为37.12%,而bd-rate平均仅增加1.06%;对不同测试视频,实验结果会有小幅度的波动,但本发明提出的方法是有效的;和vtm9.3原始平台相比,本发明在减少了编码时间的同时,也保证了视频的质量。

以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。

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