一种HEVC空间分辨率转码方法与流程

文档序号:11881009阅读:586来源:国知局
一种HEVC空间分辨率转码方法与流程

本发明涉及视频编解码领域,尤其是一种空间分辨率转码方法。



背景技术:

近十年里,H.264/MPEG-4AVC被广泛使用于各种应用。然而,随着高清以及超高清视频的发展和普及,其对视频压缩效率的要求进一步提高,H.264由于其局限性无法继续满足这种需求,因此给视频编码技术带来了新的挑战。一种高效率编码——HEVC就是在这种背景下被提出的,其目标是通过融合最新的技术和算法来达到在保证视频质量的基础上,压缩效率比H.264高一倍的目的,以满足人们对高清以及超高清视频的需求。

在编码原理和基本框架方面,HEVC沿用了从H.261就开始采用的经典的基于块的混合视频编码方式。其编码技术和H.264基本保持了一致,主要包括:帧内/帧间预测、运动补偿和估计、熵编码、变换、量化以及环路滤波等等。但是相对于H.264,HEVC在很多细节方面进行了比较大的改变。首先,HEVC使用了基于编码树单元(CTU)的四叉树结构取代了H.264中的宏块,并将编码单元的尺寸大小从H.264中宏块的16×16扩展到了HEVC中CTU的64×64。CTU还可以划分成多个编码单元CUs,其大小为64×64~8×8,对应的CU深度分别为0~3。此外,每个CU还可以进一步划分成预测单元(PU)和变换单元(TU)。第二,相对H.264中帧内预测的9个预测模式,HEVC在此基础上将预测模式进行了细化,一共定义了35种帧内预测模式。第三,HEVC的帧间预测模式除了采用了H.264中的对称分割模式,如:2N×2N模式、N×N模式、2N×N模式和N×2N模式,还引入了非对称分割模式,如:2N×nU模式、2N×nD模式、nL×2N模式和nR×2N模式。第四,HEVC首次使用了自适应环路滤波(Adaptive Loop Filter)技术来降低方块效应、振铃效应以及图像模糊等失真效应对视频质量的影响。该技术主要包括了去方块滤波(De-blocking Filter)技术和像素自适应偏移(Sample Adaptive Offset)技术。前者主要用来改善方块效应,后者则是为了解决振铃效应。这些技术在提高HEVC压缩效率的同时,也使得其计算复杂度大大增加。

另一方面,如今多种视频格式和数据压缩编码算法共存。为了实现不同网络、不同终端设备之间的无缝连接,原始视频必要通过动态调整成不同的格式以满足不同的网络以及各种用户的需求。视频转码技术就是这样一种可以解决视频发送端与接收端兼容性问题以及网络状况问题的技术。

另外,目前随着4K(3840×2160)电视以及电影的出现,数字视频已经由720P(1280×720)、1080P(1920×1080)走向了4K时代。然而,目前市场上大部分的移动设备终端所支持的分辨率目前至多达到1080P,因此为了使高分辨率的原始视频流可以在移动设备上播放,必须降低其分辨率。空间分辨率转码就是这样的一种技术,它可以把同一压缩标准的高分辨率视频流转换成另一个预先设定的低分辨率视频流。其主要目的是通过降低原视频流的分辨率,使得转码后的视频流格式符合当前移动设备的播放格式。因此,为了使HEVC广泛应用于各类产品中,其空间分辨率转码成为当前亟待解决的问题。

视频转码框架主要可以分为像素域转码PDT以及压缩域转码CDT两种。其中PDT主要是将输入视频流首先直接解码成像素域图像,然后再将像素域图像转码成目标码流;CDT则是将输入视频流进行不完全解码,只需得到变换域系数,然后对其进行重编码得到目标码流。级联型转码器是像素域转码器的一个最基本最原始的形式,也就是所谓的“全解全编”转码器。然而由于该框架是直接先对原始视频流进行完全解码再进行重新编码,编码器并没有利用任何解码器里面的信息来加速转码器,因此该转码器的计算复杂度非常大,使其在实际的应用中受到了限制。但是该转码器具有普适性和无损性的优点,可以在保证视频质量没有任何损失的前提下,实现各种格式的视频转码。因此,该转码器经常作为参考标准来衡量其他视频转码器性能的优劣。相对于像素域转码器,压缩域转码器在反量化后直接对变换系数进行重量化,省掉了DCT变换等操作,因此压缩域转码器大大降低了转码的复杂度,其转码效率比像素域转码器要高出许多。但简单压缩域转码器有一个致命的缺点就是该转码器的实现是基于解码端和编码端的图像帧具有相同的空间/时间分辨率的假设的,因此只能进行码率转码,并不能直接应用于空间/时间分辨率转码。

由于变换域转码器的缺点,因此目前在进行空间分辨率下采样时的主要方法是:在HEVC解码器中将HEVC视频完全解码为YUV视频流,随后再利用HEVC解码器中对解码的YUV视频流进行重新编码,即像素域转码框架。不过,该方法有一个比较明显的缺点,即该转码器的计算复杂度比较大,转码所需的时间比较长,很难满足实时转码的要求。研究一种任意空间分辨率转码快速算法的转码方案是非常有意义的。



技术实现要素:

本发明提供一种高效低耗的HEVC空间分辨率转码方法。

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

一种HEVC空间分辨率转码方法,包括如下步骤:使用解码器将原始的分辨率视频流进行解码,生成重建的视频流;对重建后的视频流进行空间分辨率下采样操作;利用编码器对下采样后的视频流进行重新编码,得到目标空间分辨率视频流,并将其输出;其中,从解码器中得到的编码块和编码器中的编码块之间的映射方法为:设Sd表示在当前编码单元CUo在深度为d时,其在解码端所对应的映射块,Wi、Hi分别为当前编码单元CUo在解码端中的映射块Sd的宽和高,而Wo、Ho则为当前编码单元CUo的宽和高;设输入视频流的原始分辨率为Wd×Hd,输出视频流的目标分辨率为We×He,α、β分别为视频图像宽、高的映射比例,则

那么Wi和Wo以及Hi和Ho的关系应满足公式

其中c为修正因子,取值为1。

为进一步加快编码速度,可采用快速CU深度预测算法,具体为:首先,统计映射块Sd中深度的分布情况,根据当前CU的高、宽以及公式(4-1)和(4-2)得到当前深度下的映射块Sd,然后以8×8为单位统计当前映射块中CU深度的分布情况,不足8×8的将其看作8×8编码块,需要统计的信息包括:映射块中8×8编码块的总数,每个深度所对应的编码块的个数、映射块中深度的最大值Dmax以及最小值Dmin、映射块中权重最大的深度值;当前编码单元CUo的深度为a,0≤a≤3,Nai代表当前编码单元CUo的深度为a时,其映射块中深度为i的8×8编码块的总数,0≤i≤3;因此,fai则为当前编码单元CUo的深度为a时,其映射块中深度i的权重,则

因此映射块Sd中数量最多的深度即所占权重最大的深度ma

ma=argmax fai,0≤i≤3 公式(4-5)

接下来,结合深度的初始化范围[Dmin,Dmax]以及上述深度信息,进一步精确CU深度的预测,采用如下算法:(根据前面的对应)

(1)当a=0时,执行CU跳过算法的情况为:

(a)其映射块Sa中深度满足Dmin>0,即

(b)其映射块中深度为2和3的8×8编码块数量超过一半以上,即f02+f03>0.5;若当前情况符合以上两者之一时,跳过深度0;另一方面,若映射块中深度满足Dmax=0,即映射块中所有CU的深度都为0,则认为当前CU的深度也为0,不再往下划分;

(2)当a≠0时,则映射块Sa,Sa-1以及Sa-2中深度的分布情况来决定,当a=1时,提前终止条件为:

(a)映射块中最大的深度满足Dmax≤1;

(b)上一层深度a=0所对应的映射块中所占权重最大的深度ma-1≤1,且深度为0的8×8编码块超过一半以上即f10>0.5;当满足以上两个条件时,跳过深度1;另一方面,若其映射块中深度分布情况满足以下所有条件,则执行CU跳过算法:

(a)当前映射块Sa的最小的深度满足Dmin>1;

(b)上一层深度即深度0所对应的映射块中所占权重最大的深度满足ma-1>1;

(c)当前深度映射块中深度为3的8×8编码块超过一半以上即f13>0.5;

而对于a=2,提前终止条件为:(a)映射块中最大的深度满足Dmax≤2;(b)映射块中深度为0和1的8×8编码块数量占一半以上;(c)深度为0所对应的映射块以及深度为1所对应的映射块中,权重最大的深度ma-1和ma-2均小于等于2;另一方面,当映射块中深度分布情况满足下面所有条件时,执行CU跳过算法:(a)当前映射块的最小的深度Dmin>2;(b)当前映射块中深度为3的8×8编码块数量占一半以上即f23>0.5;(c)ma-1和ma-2均大于2。

为进一步加快编码速度,可采用快速多参考帧搜索算法以缩小多参考帧的取值范围,具体包括:首先得到当前编码块CUo的映射块Sd,然后以8×8编码块为单位统计当前映射块中多参考帧索引分布情况,不足8×8的将其看作8×8编码块,然后根据当前多参考帧的分布情况采用如下算法:

设映射块中存在的不同的参考帧的数量为Nref,Nref的取值范围为[1,4],设映射块中存在的最大的参帧索引号为refmax,最小的多参考帧索引号refmin,则多参考帧ref的取值范围根据Nref的取值分为如下两种情况:

当Nref=1时,将多参考帧ref的取值范围初始化为[0,refmax],而1<Nref≤4时,将多参考帧ref的范围精确为[refmin-1,refmax+1];其中,当refmin-1<0时,则将refmin-1的值设为0;或者当refmax+1>4时,则将refmax+1的值设为4。

为进一步加快编码速度,可采用快速多参考帧搜索算法以缩小多参考帧的取值范围,具体包括:首先得到当前编码块CUo的映射块Sd,然后以8×8编码块为单位统计当前映射块中多参考帧索引分布情况,不足8×8的将其看作8×8编码块,然后根据当前多参考帧的分布情况采用如下算法:

设映射块中存在的不同的参考帧的数量为Nref,Nref的取值范围为[1,4],设映射块中存在的最大的参帧索引号为refmax,最小的多参考帧索引号refmin,则多参考帧ref的取值范围根据Nref的取值分为如下两种情况:

当Nref=1时,将多参考帧ref的取值范围初始化为[0,refmax],而1<Nref≤4时,将多参考帧ref的范围设为[refmin,refmax]。

本发明的有益效果是:本发明对于HEVC空间分辨率转码框架,提出了快速算法(快速CU深度预测算法和快速多参考帧搜索算法),通过已提出的快速算法加快编码速度,同时还保证了视频的质量。

附图说明

图1为本发明实施例快速CU深度预测算法流程图。

图2为本发明实施例快速多参考帧搜索算法流程图。

具体实施方式

下面结合附图及实例,对本发明做进一步说明。

本实施例研究的是空间分辨率的转码,即原始图像和转码后的图像大小尺寸不相同,因此,对H.265格式视频按照标准进行解码到像素域,得到像素域的视频,必须要根据目标分辨率进行下采样,然后将下采样之后的视频进行重新编码。综上所述,空间分辨率转码主要分成三个步骤:首先使用解码器将原始的分辨率视频流进行解码,生成重建的视频流(YUV);然后对重建后的视频流进行空间分辨率下采样操作;最后利用编码器对下采样后的视频流进行重新编码,得到目标空间分辨率视频流,并将其输出。

为了可以更有效地利用转码器中解码端的编码信息,首当其冲要解决的问题便是从解码器中得到的编码块和编码器中的编码块之间的映射关系。由于研究的是任意空间分辨率下采样,因此无法像2:1空间分辨率转码一样,直接将四个编码块映射成一个。设Sd表示在当前编码单元CUo在深度为d时,其在解码端所对应的映射块。Wi、Hi分别为当前编码单元CUo在解码端中的映射块Sd的宽和高,而Wo、Ho则为当前编码单元CUo的宽和高。其中,Wo和Ho的取值一般为8、16、32以及64。设输入视频流的原始分辨率为Wd×Hd,输出视频流的目标分辨率为We×He,α、β分别为视频图像宽、高的映射比例,则

那么Wi和Wo以及Hi和Ho的关系应满足公式(4-2)

其中c为修正因子,在本实施例中其值设为1。例如,在执行720P→480P的任意空间分辨率转码时,有:Wd=1280,Hd=720,We=832,He=480,此时若当前编码块CUo的尺寸大小为32×32,则Wi=[1280/720*32]+1=50,Hi=[720/480*32]+1=49。

利用以上的映射关系,本实施例采用两个快速转码算法:快速CU深度预测算法和快速多参考帧搜索算法。而在算法中所要用到的映射块Sd中的统计信息(如CU深度信息、多参考帧索引信息等等)都是以8×8的编码块为单位进行统计的。

快速CU深度预测算法的主要思想就是通过利用从原始高分辨率图像映射块Sd中得到的深度信息来预测当前编码单元CUo的深度。

考虑到映射块Sd和当前编码单元CUo之间的相关性,可以利用Sd中的深度信息来缩小CUo的深度选择范围。设do为CUo的最佳深度(0≤do≤3),a为当前编码单元CUo正在计算的深度(0≤a≤3),则Dmax和Dmin分别为Sd中的最大深度和最小深度值,因此可以把do的范围初始化为do∈[Dmin,Dmax]。

另外,通过实验发现,在d=1或d=2时,其上层深度所对应的映射块Sd-1以及Sd-2中深度的分布情况会对当前编码块的深度选择产生影响。因此,本实施例所设计的基于任意空间分辨率转码算法的快速CU深度预测算法的基本思想是:对于深度d=0的情况,本实施例主要根据do∈[Dmin,Dmax]来判断是否执行跳过当前深度或者提前终止CU划分的操作;而对于深度d=1或d=2时的情况,本实施例则将当前映射块Sd和Sd-1以及Sd-2中的深度信息都联合起来根据一定的条件是否执行跳过当前深度或者提前终止CU划分的操作。其算法流程图如图1所示,具体描述如下:

首先,统计映射块Sd中深度的分布情况。根据当前CU的高、宽以及公式(4-1)和(4-2)得到当前深度下的映射块Sd,然后以8×8为单位(不足8×8的将其看作8×8编码块)统计当前映射块中CU深度的分布情况,需要统计的信息主要有:映射块中8×8编码块的总数,每个深度(0~3)所对应的编码块的个数、映射块中深度的最大值Dmax以及最小值Dmin、映射块中权重最大的深度值。当前编码单元CUo的深度为a(0≤a≤3),Nai代表当前编码单元CUo的深度为a时,其映射块中深度为i的8×8编码块的总数(0≤i≤3)。因此,fai则为当前编码单元CUo的深度为a时,其映射块中深度i的权重,则

因此映射块Sd中数量最多的深度即所占权重最大的深度ma

ma=argmax fai,0≤i≤3 公式(4-5)

接下来,我们将结合深度的初始化范围[Dmin,Dmax]以及上述深度信息,进一步精确CU深度的预测,设计了如图1所示的算法,具体描述如下:

(1)当a=0时,执行CU跳过算法的情况为:

(a)其映射块Sa中深度满足Dmin>0,即

(b)其映射块中深度为2和3的8×8编码块数量超过一半以上,即f02+f03>0.5,即图1中的跳过条件1。若当前情况符合以上两者之一时,跳过深度0。另一方面,若映射块中深度满足Dmax=0,即映射块中所有CU的深度都为0,即Sa中深度的分布情况满足图1中的提前终止条件1,则认为当前CU的深度也为0,不再往下划分。

(2)当a≠0时,则映射块Sa,Sa-1以及Sa-2中深度的分布情况来决定。此时,根据深度的不同,即a=1或a=2,设置了不同的提前终止条件2以及跳过条件2。因此,当a=1时,图1中的提前终止条件2为:

(a)映射块中最大的深度满足Dmax≤1;

(b)上一层深度(a=0)所对应的映射块中所占权重最大的深度ma-1≤1,且深度为0的8×8编码块超过一半以上即f10>0.5。当满足以上两个条件时,跳过深度1。另一方面,若其映射块中深度分布情况满足以下所有条件,则执行CU跳过算法。另外,对a=1,图1中的跳过条件2为:(a)当前映射块Sa的最小的深度满足Dmin>1;(b)上一层深度即深度0所对应的映射块中所占权重最大的深度满足ma-1>1;(c)当前深度映射块中深度为3的8×8编码块超过一半以上即f13>0.5。而对于a=2,图1中的提前终止条件2为:(a)映射块中最大的深度满足Dmax≤2;(b)映射块中深度0和1的8×8编码块数量占一半以上;(c)深度为0所对应的映射块以及深度1所对应的映射块中,权重最大的深度ma-1和ma-2均小于等于2。因此,若其映射块中深度分布情况满足以下所有条件,则提前终止算法。另一方面,当映射块中深度分布情况满足下面所有条件时(即图1中的跳过条件2),执行CU跳过算法:(a)当前映射块的最小的深度Dmin>2;(b)当前映射块中深度为3的8×8编码块数量占一半以上即f23>0.5;(c)ma-1和ma-2均大于2。

多参考帧预测是指通过对当前编码块在前面的几个参考帧中进行运动补偿计算,选择代价最小的多参考帧作为最优的参考帧。但这种操作的缺点是其计算量很大。另一方面,实验表明,70%的最佳参考帧是离当前帧最近的那一帧。也就是说当前帧和参考帧的距离越远,他们之间的相关性就越弱。因此,选距离较远的参考帧作为最佳参考帧的可能性就越小。所以,根据这种现象可以得到一个结论:并不是参考帧越多,对图像质量的改进的帮助就越大;相反地,这中操作反而使运动补偿过程的复杂度随着参考帧数线性增加,运算量增加,增大了编码的复杂度。因此本实施例设计了一个快速多参考帧搜索算法,其目的是在图像质量和参考帧之间找到一个平衡点,保证在图像质量不变的前提下选用合适的参考帧进行运动补偿,而不需要搜索所有的参考帧,从而提高编解码速度。

因此,为了进一步加速空间分辨率转码器,本实施例提出了快速多参考帧搜索算法以缩小多参考帧的范围,从而提高转码速度。如图2所示,首先,类似于上述的CU算法,首先得到当前编码块CUo的映射块Sd,然后以8×8编码块为单位(注:不足8×8的将其看作8×8编码块)统计当前映射块中多参考帧索引分布情况。然后根据当前多参考帧的分布情况设计了如下算法:

设映射块中存在的不同的参考帧的数量为Nref,而在lowdelay_P_main的配置文件下,GOPsize的值为4,则Nref的取值范围为[1,4]。此外,设映射块中存在的最大的参帧索引号为refmax,最小的多参考帧索引号refmin,则多参考帧ref的取值范围可根据Nref的取值分为两种情况,如下所示:

当Nref=1时,将多参考帧ref的取值范围初始化为[0,refmax],而1<Nref≤4时,将多参考帧ref的取值范围初始化为[refmin,refmax]。同样地,为了验证该想法的准确性,本实施例以8×8为单位分别统计了序列前100帧中最终选择的多参考帧索引。值得注意的是,由于编码单元CU在遍历每个深度时所对应的映射块不同,因此不同深度下所对应的refmin和refmax也不相同。当深度为0时,多参考帧索引号的命中率高达97%,但当深度越大,其命中率越来越低,因此为了提高多参考帧的命中率,当1<Nref≤4时,将多参考帧ref的范围精确为[refmin-1,refmax+1]。

其中,当refmin-1<0时,则将refmin-1的值设为0;或者当refmax+1>4时,则将refmax+1的值设为4。

为了验证所提出的快速码率转码算法的正确性以及有效性,本实施例基于HM15.0搭建了像素域空间分辨率转码器,并在该转码器上基于visual studio 2013实现了快速空间分辨率转码算法。最后,在采集实验结果数据环节,考虑到笔记本电脑的不稳定因素表较多,因此为了保证实验结果的真实可靠性,本实施例的所有实验包括第五章中快速空间分辨率转码算法的实验均是在高性能计算平台上执行的。该平台采用了混合式的集群(Cluster)架构,其计算网络采用Infinband高速交换机,能有效地保证实验结果的稳定性和可靠性。因此,本实施例的所有实验数据均是在不存在任何干扰的稳定的环境中进行仿真测试得到的,具有真实可靠性。此外,本实施例所有实验的具体编码参数(如:量化参数QP,GOPsize等等)的配置条件如表4-2所示。

表4-2主要的编码器参数配置

本实施例根据视频流的原始分辨率以及目标分辨率将测试结果分为了四组:1920×1080转1280×720(即1080P→720P)、1920×1080转832×480(即1080P→480P)、1280×720转832×480(即720P→480P)以及832×480转480×320(即480P→320P),具体测试序列及实验结果如表5-3所示。通过表5-3可知,每一组不同格式空间分辨率的转码都测试了5组序列,其中,1080P→720P的视频序列在加速快速算法后BDBR(Bjontegaard delta bit rate,表示了在同样的客观质量下,两种方法的码率节省情况)平均上升了1.04%,编码时间(ΔT)平均降低了46.58%;1080P→480P的视频序列的BDBR平均上升了0.84%,编码时间平均降低了39.37%;而720P→480P的视频序列的BDBR平均上升了0.91%,编码时间平均降低了56.87%;480P→320P的视频序列则在时间平均减少35.2%的情况下,BDBR平均增加了0.82%。最后可以看出对于所有序列所有转码格式的20组序列,BDBR平均上升为0.91%,编码时间降低了44.56%。从以上数据可以看出,本实施例所提出的算法针对三种不同分辨率的转码都取得了较好的效果,达到了本发明的目的。

表5-3测试序列及实验结果

因此,可以得出结论:从客观质量对本实施例的快速算法进行评价,都可以说明本实施例的快速算法取得了良好的效果——在时间减少44.56%的前提下,视频图像的质量影响几乎可以忽略。

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