Mpeg-2到h.264码的快速转换方法

文档序号:7644899阅读:233来源:国知局
专利名称:Mpeg-2到h.264码的快速转换方法
技术领域
本发明属于视频压缩编码领域中的视频格式转换,尤其是MPEG-2到H.264码的快速转换方法。
背景技术
数字电视的发展极其迅速,但是图像带宽束缚了数字视频业务的拓展。数字电视视频录像节目多采用MPEG-2视频压缩标准,图像尺寸较大,码率较大。广大数字电视用户的带宽较难以满足多路高码率的视频流的实时传输。这在移动数字电视、交互式高清电视、网络电视尤为突出。为了使用户能在较低带宽的情况下能顺利收看更多的数字电视节目,需要降低视频流的码率。再加上储存容量的限制和各种不同数字电视终端的出现,使数字电视用户对高效的视频编码码技术需求越来越迫切。如CN1745573图像拾取设备及其运动图片拍摄方法,在运动图片拍摄模式下工作的图像拾取装置,其中运动图片拍摄开始之前,通过在键输入部分(12)上的快门按钮来指示,将控制部分(10)的时钟频率设置为普通频率,从而减小监控状态下的电力消耗以延长电池寿命,而且其中,当指示运动图片拍摄开始时,由时钟转换控制部分(101)将该时钟频率大幅增加,从而使得在对运动图片数据进行解码处理期间,MPEG转换器(7)能够高速访问存储YUV数据,例如参考数据,搜索数据等的SDRAM(8),并能够对运动图片进行实时压缩。
CN1567271具备高速网络接口的MPEG码流变换采集方法及装置,在设备内实现传输流的数据过滤、PID修改、服务信息插入和码率变换,设备具有高速以太网接口用于将变换后的目标传输流传送到计算机中。实现码流的直接采集,也能够对码流进行处理。CN1633180基于变换和数据融合的多描述视频编码方法,包括对要编码的信号实施变换1~n;分别对变换1~n后的信号进行量化和熵编码;分别按照各自的路径1~n对量化和熵编码后的信号1~n进行解码;分别对解码后的信号1~n进行逆变换;逆变换后分别得到边描述1~n,将1~n个逆变换后的数据融合成为中心描述等步骤。它能将基于变换和数据融合的多描述编码和视频编码结合起来,对一组视频序列,这种编码方法能产生多个MPEG码流,从每一个码流中都可以还原出一个失真较大的视频序列;当多个码流被收到时,一个失真较小的视频序列将被还原出来。
H.264是由联合视频组ISO/IEC MPEG和ITU-T VCEG共同开发的新一代视频编码标准。在得到相同图像质量的前提下,相对于其它标准如MPEG-2,H.264可节约50%左右的比特率。H.264优越的编码性能,使得MPEG-2到H.264的转码研究实为当务之需。但H.264的编码算法与MPEG-2的有着显著不同,使得转码过程比其它的转码更加复杂。
目前的转码架构主要有两种基于像素域的级联体系转码(CPDT)和基于DCT域的转码(DDT)。基于像素域的级联体系转码先将MPEG-2视频流完全解码,再H.264编码。这种结构具有很大的灵活性,可以在不同的比特率、帧率、图像分辨率、编码模式之间转码。但计算复杂度高。基于DCT域的转码(DDT)直接在DCT域对DCT系数、运动失量等重估计,计算复杂度低,但灵活性受到限制,当要求改变运动矢量、码率、分辨率等,就很难采用这种体系结构。
H.264帧间预测是利用已编码视频帧/场和基于块的运动补偿的预测模式。与以往标准帧间预测的区别在于块尺寸范围更广(从16×16到4×4)、亚像素运动矢量的使用(亮度采用1/4像素精度MV)及多参考帧的运用等等。
关键步骤包括1.宏块分割H.264采用了树状结构的运动补偿,即每个宏块(16×16像素)可以4种方式分割一个16×16,两个16×8,两个8×16,四个8×8。其运动补偿也相应有四种。而8×8模式的每个子宏块还可以四种方式分割一个8×8,两个4×8或两个8×4及4个4×4。这些分割和子宏块大大提高了各宏块之间的关联性。
每个分割或子宏块都有一个独立的运动补偿。每个MV必须被编码、传输,分割的选择也需编码到压缩比特流中。对大的分割尺寸而言,MV选择和分割类型只需少量的比特,但运动补偿残差在多细节区域能量将非常高。小尺寸分割运动补偿残差能量低,但需要较多的比特表征MV和分割选择。分割尺寸的选择影响了压缩性能。整体而言,大的分割尺寸适合平坦区域,而小尺寸适合多细节区域。
宏块的色度成分(Cr和Cb)则为相应亮度的一半(水平和垂直各一半)。色度块采用和亮度块同样的分割模式,只是尺寸减半(水平和垂直方向都减半)。色度块的MV也是通过相应亮度MV水平和垂直分量减半而得。
2.RD优化H.264编码器采用了基于Lagrange优化算法的编码控制模型,确定宏块的编码模式,如宏块的划分类型、运动矢量以及量化参数等。其编码性能相对于以往的所有编码标准有了很大的提高。
与SAE不同,RD优化算法基于Lagrange函数选择宏块编码模式,通过一次编码和一次解码计算出每个宏块的比特率和失真,选择使Lagrange代价函数最小的编码模式作为该宏块的编码模式。这种方法的主要缺点是计算复杂度非常高,但结果能达到最优的RD性能。在实际应用中,特别是实时转码系统中,使用Lagrange优化算法的计算量太大,不能完成实时转码。
机器学习通过学习和分析数据,得到不同算法下的统计值来解决实际问题。已经广泛应用于不同的领域,如搜索引擎、医疗诊断、股票分析、DNA序列分类、语音与手写字识别、计算机视觉的对象识别、机器人运动等等。

发明内容
本发明目的是针对MPEG2到H.264转码中转码效率不足,无法达到实时转换,提供了一种新的基于机器学习的宏块预测方法。尤其是MPEG-2到H.264码的快速转换方法。本发明目的还在于提出基于机器学习的级联像素域转码算法。利用H.264的宏块模式选择与MPEG-2运动补偿残差间的相关性,将H.264宏块模式选择问题转化为数据分类问题。利用MPEG-2解码得到的运动补偿残差、MB模式、编码块模式(CBPC)直接映射成H.264的宏块模式,大大降低了转码复杂度,同时保证了转码的灵活性。
本发明技术解决方案是MPEG-2到H.264码的快速转换方法,利用H.264的宏块模式选择与MPEG-2运动补偿残差间的相关性,将H.264宏块模式的选择转化为数据分类,其特征是利用MPEG-2解码得到的运动补偿残差、MB模式、编码块模式(CBPC)直接映射成H.264的宏块模式;在MPEG-2码解码时,保存相关的MB信息,包括MB编码模式、编码块类型(CBPC)、MB残差的均值和方差(以4×4的sub-MB分别计算,共16个均值和方差),解码后采用标准的H.264编码器对YUV图像编码,并保存H.264MB编码模式,采用机器学习算法得到决策树,用于H.264编码模式的分类;得到决策树的方法是,决策树分类应遵循一下原则1)将输入序列分成Intra、Skip、Inter16×16和Inter8×8的分类器;2)将Inter16×16分成16×16、16×8、8×16的分类器;3)将inter8×8分成8×8、8×4、4×8、4×4的分类器;决策树生成应遵循一下原则1)如果MPEG-2MB的MC没有编码,即没有非零MV,4个8×8块没有编码系数,H.264MB将被编码成16×16,需通过决策树二级判别,选择最优模式;2)如果MPEG-2MB为intra模式,则在H.264中,该MB编码成intra或inter8×8,若编码成intra,算法终止;若为inter8×8,需通过二级判决,选择最优模式;3)如果MPEG-2MB为skip模式,在H.264中,该MB也为skip模式。
在MPEG-2码流解码时,获取MPEG-2的MC残差、宏块模式,并计算出4×4子块MC残差的均值和方差;通过决策树获取H.264中宏块编码模式;在H.264编码时,对MB的编码模式直接赋值;H.264编码器的输入为MPEG-2解码后的YUV数据以及MB编码模式,并没有使用MPEG-2的运动矢量,在运动估计时,使用由决策树得到的MB编码模式。
本发明通过机器学习的方法实现了低复杂度的MPEG-2到H.264的转码。在MPEG-2解码时,保存相关的MB信息,包括MB编码模式、编码块类型(CBPC)、MB残差的均值和方差(以4×4的sub-MB分别计算,共16个均值和方差)。解码后采用标准的H.264编码器对YUV图像编码,并保存H.264 MB编码模式。基于MPEG-2MB数据及相关的H.264MB编码模式,采用机器学习算法得到决策树,用于H.264编码模式的分类。图3为MPEG-2到H.264转码决策树的生成框图。


图1宏块及子宏块分割图2H.264RD优化算法图3MPEG-2到H.264转码的决策树生成框4视频转码器决策树图5转码器原理框图具体实施方式
本发明以下述方法实现1.决策树的生成决策树通过分析一系列样本数据生成树枝和节点。节点表示变量,而树枝表示可能的变量值。当决策树不止一层时,节点就代表基于不同变量所做出的决策。在数据分类过程中,节点表示分类,树枝表示判别分类的特征依据。通过决策树,可以将输入的样本分为其中的一类。
决策树可以通过WEKA数据挖掘工具生成。WEKA的数据挖掘程序的文件格式为ARFF(Attribute-Relation File Format)。一个ARFF文件采用ASCII代码书写,反映一组属性间的相互关系。一般包括两个不同的段1)文件头,包括关系的名称、属性和类型;2)数据。
训练集由高码率的MPEG-2序列组成,不包括B帧。决策集由MPEG-2码流解码后,H.264重新编码得到。在H.264编码过程中,量化参数为25,使用RD优化得到宏块编码模式。大量试验表明,一个好的训练集的图像区域从平坦到高细节都有分布。较好的样本序例如花或足球。最终的目标就是生成单一决策树,可以对任何MPEG-2视频转码。
图4为建立了图3所描述的决策树。转码决策树包括三个等级,采用3个不同的WEKA树1)将输入序列分成Intra、Skip、Inter16×16和Inter8×8的分类器;2)将Inter16×16分成16×16、16×8、8×16的分类器;3)将inter8×8分成8×8、8×4、4×8、4×4的分类器。
第一个WEKA决策树,训练数据集使用了MPEG-2一个宏块内16个4×4子块残差的均值和方差、宏块模式(skip、intra和3种non-intra,分别以0、1、2、4、8标识)、编码块模式(CBPC)和H.264MB的编码模式。ARFF头部分的属性定义如下@RELATION mean-variance_4×4@ATTRIBUTE mean0 Numeric@ATTRIBUTE variance0 Numeric@ATTRIBUTE mean1 Numeric@ATTRIBUTE variance1 Numeric…………………………………………@ATTRIBUTE mean15 Numeric@ATTRIBUTE variance15 Numeric@ATTRIBUTE mode_mpeg2{0,1,2,4,8}
@ATTRIBUTE CBPC0{0,1}………………………………………@ATTRIBUTE CBPC6{0,1}@ATTRIBUTE class{0,1,8,9}ARFF数据段的实例行样本用于训练决策树模型,一行代表一个宏块样本。
第二个决策树,训练样本集使用了MPEG-2一个宏块内16个4×4子块残差的均值和方差、宏块模式(3种non-intra)、编码块模式(CBPC)和H.264MB的16×16的子编码模式(16×16,16×8,8×16)。该决策树决定了inter16×16的最终编码模式。
第三个决策树,训练样本集使用了MPEG-2一个宏块内4个4×4子块残差的均值和方差、宏块模式(3种non-intra)、编码块模式(CBPC)和H.264MB的8×8的子编码模式(8×8,8×4,4×8,4×4)。
基于这些训练文件,通过WEKA数据挖掘工具使用J48算法生成决策树。J48算法由Ross Quinlan提出,在数据挖掘领域有着广泛的应用。
2.基于决策树的分类MPEG-2使用了16×16的运动补偿(MC),整副图像在时域上没有完全去相关。通过MC的残差,可以反映H.264的宏块编码模式。使用开源的数据挖掘工具WEKA分析MPEG-2宏块残差的均值与方差、编码模式、编码块类型(CBPC),获取H.264宏块编码模式。该转码器的决策树如图4所示。
该决策树包括3个WEKA决策树,在图4中以灰色标识。第一个WEKA决策树用于判别skip、Intra、8×8、16×16模式,如果是8×8模式或16×16模式,则使用第二个或第三个决策树判决该MB的最终模式。通过WEKA工具计算出决策树中均值和方差的判决电平。决策树的工作如下节点1输入该节点的是MPEG-2编码MB。通过检测MPEG-2MB的残差大小,将MB的编码方式分成4类skip、Intra、8×8或16×16。Intra决策过程不在专利中讨论,其他情况需根据前面的分类情况进行第二次决策分类。在生成决策树时,将使用以下规则1)如果MPEG-2MB的MC没有编码,即没有非零MV,4个8×8块没有编码系数。H.264MB将被编码成16×16。需通过决策树二级判别,选择最优模式。
2)如果MPEG-2MB为intra模式,则在H.264中,该MB编码成intra或inter8×8。若编码成intra,算法终止;若为inter8×8,需通过二级判决,选择最优模式。
3)如果MPEG-2 MB为skip模式,在H.264中,该MB也为skip模式。
节点2输入该节点是由节点1分出的16×16MB,该节点用第二个WEKA决策树,对H.264MB的模式(16×16,16×8或8×16)分类。检测16×8或8×16子块是否生成更好的预测,若判别为16×8或8×16,则为最终的编码模式,否则,将由节点4继续判别。
节点3输入该节点的由节点1分出的8×8MB。该节点用第三个WEKA决策树,对H.264 8×8子宏块选择最优模式8×8,8×4,4×8,4×4。该决策树执行4次,分别对一个宏块内的4个8×8子块进行判别一次,该部分只使用8×8子块内的4个4×4块的均值和方差。
节点4输入该节点的是由节点1分出的skip模式块或由节点2分出的16×16模式块。该节点估计H.264 16×16模式(不包括16×8和8×16模式),选择最优模式是skip或inter16×16。
MB模式的判决和门限值的选择由H.264的量化参数(QP)决定,随着QP的不同,均值和方差的门限值也不同。解决这种情况可以有两种方法1)对每个QP生成一个决策树,在H.264编码时,根据所用的QP值,选择相应的决策树;2)只生成一个决策树,根据QP值调整均值和方差的门限。对于第一种方法,在一个转码器中需生成52个不同的决策树,而每一个又需3个WEKA决策树,因此共需156个WEKA决策树。在H.264中,QP值与量化步长有一定的关系,QP每增加6,量化步长增加一倍,因此可以通过这种关系调整均值和方差的门限值。在该转码器中,采用了第二种方法。生成了QP为25的决策树,其他QP值可以通过调整门限电平来实现。当QP增加6时,门限值提高2.5%,反之降低2.5%。
本发明专利的有益效果是转码器的复杂度比参考转码器(MPEG-2解码+H.264编码)复杂度要低很多,转码器在不同码率和分辨率下,都能得到很好的性能。由于MPEG-2的解码所消耗的时间相同,通过比较H.264编码时间以及PSNR,可以得到两种结构转码器的性能对比。
转码器的原理框图如图5所示。在MPEG-2码流解码的同时,获取相关的信息,包括MPEG-2的MC残差、宏块模式、编码块模式(CBPC),并计算出4×4子块MC残差的均值和方差。通过决策树获取H.264中宏块编码模式。在H.264编码时,对MB的编码模式直接赋值。H.264编码器的输入为MPEG-2解码后的YUV数据以及MB编码模式,并没有使用MPEG-2的运动矢量,在运动估计时,使用由决策树得到的MB编码模式。
权利要求
1.MPEG-2到H.264码的快速转换方法,利用H.264的宏块模式选择与MPEG-2运动补偿残差间的相关性,将H.264宏块模式的选择转化为数据分类,其特征是利用MPEG-2解码得到的运动补偿残差、MB模式、编码块模式(CBPC)直接映射成H.264的宏块模式;在MPEG-2码解码时,保存相关的MB信息,包括MB编码模式、编码块类型(CBPC)、MB残差的均值和方差,解码后采用标准的H.264编码器对YUV图像编码,并保存H.264 MB编码模式,采用机器学习算法得到决策树,用于H.264编码模式的分类;得到决策树的方法是,决策树分类原则1)将输入序列分成Intra、Skip、Inter16×16和Inter8×8的分类器;2)将Inter16×16分成16×16、16×8、8×16的分类器;3)将inter8×8分成8×8、8×4、4×8、4×4的分类器;决策树生成原则1)如果MPEG-2 MB的MC没有编码,即没有非零MV,4个8×8块没有编码系数,H.264 MB将被编码成16×16,需通过决策树二级判别,选择最优模式;2)如果MPEG-2 MB为intra模式,则在H.264中,该MB编码成intra或inter8×8,若编码成intra,算法终止;若为inter8×8,需通过二级判决,选择最优模式;3)如果MPEG-2 MB为skip模式,在H.264中,该MB也为skip模式。
2.根据权利要求1所述的MPEG-2到H.264码的快速转换方法,其特征是在MPEG-2码流解码时,获取MPEG-2的MC残差、宏块模式,并计算出4×4子块MC残差的均值和方差;通过决策树获取H.264中宏块编码模式;在H.264编码时,对MB的编码模式直接赋值;H.264编码器的输入为MPEG-2解码后的YUV数据以及MB编码模式,并没有使用MPEG-2的运动矢量,在运动估计时,使用由决策树得到的MB编码模式。
3.根据权利要求1所述的MPEG-2到H.264码的快速转换方法,其特征是决策树的生成方法是决策树通过WEKA数据挖掘工具生成。WEKA的数据挖掘程序的文件格式为ARFF;一个ARFF文件采用ASCII代码书写,反映一组属性间的相互关系;包括两个不同的段1)文件头,包括关系的名称、属性和类型;2)数据。
4.根据权利要求1所述的MPEG-2到H.264码的快速转换方法,其特征是训练集由高码率的MPEG-2序列组成,不包括B帧。决策集由MPEG-2码流解码后,H.264重新编码得到。在H.264编码过程中,量化参数为25,使用RD优化得到宏块编码模式。
5.根据权利要求1所述的MPEG-2到H.264码的快速转换方法,其特征是转码决策树包括三个等级,采用3个不同的WEKA树1)将输入序列分成Intra、Skip、Inter16×16和Inter8×8的分类器;2)将Inter16×16分成16×16、16×8、8×16的分类器;3)将inter8×8分成8×8、8×4、4×8、4×4的分类器;第一个WEKA决策树,训练数据集使用了MPEG-2一个宏块内16个4×4子块残差的均值和方差、宏块模式(skip、intra和3种non-intra,分别以0、1、2、4、8标识)、编码块模式(CBPC)和H.264 MB的编码模式;ARFF数据段的实例行样本用于训练决策树模型,一行代表一个宏块样本;第二个决策树,训练样本集使用了MPEG-2一个宏块内16个4×4子块残差的均值和方差、宏块模式(3种non-intra)、编码块模式(CBPC)和H.264 MB的16×16的子编码模式(16×16,16×8,8×16)。该决策树决定了inter16×16的最终编码模式;第三个决策树,训练样本集使用了MPEG-2一个宏块内4个4×4子块残差的均值和方差、宏块模式(3种non-intra)、编码块模式(CBPC)和H.264 MB的8×8的子编码模式(8×8,8×4,4×8,4×4); 基于这些训练文件,通过WEKA数据挖掘工具使用J48算法生成决策树。
6.根据权利要求1所述的MPEG-2到H.264码的快速转换方法,其特征是基于决策树的分类是使用开源的数据挖掘工具WEKA分析MPEG-2宏块残差的均值与方差、编码模式、编码块类型(CBPC),获取H.264宏块编码模式;该转码器的决策树包括3个WEKA决策树,第一个WEKA决策树用于判别skip、Intra、8×8、16×16模式,如果是8×8模式或16×16模式,则使用第二个或第三个决策树判决该MB的最终模式;通过WEKA工具计算出决策树中均值和方差的判决电平;决策树的工作如下节点1输入该节点的是MPEG-2编码MB。通过检测MPEG-2 MB的残差大小,将MB的编码方式分成4类skip、Intra、8×8或16×16;Intra决策过程不在专利中讨论,其他情况需根据前面的分类情况进行第二次决策分类;在生成决策树时,将使用以下规则1)如果MPEG-2 MB的MC没有编码,即没有非零MV,4个8×8块没有编码系数。H.264 MB将被编码成16×16。需通过决策树二级判别,选择最优模式;2)如果MPEG-2 MB为intra模式,则在H.264中,该MB编码成intra或inter8×8。若编码成intra,算法终止;若为inter8×8,需通过二级判决,选择最优模式;3)如果MPEG-2 MB为skip模式,在H.264中,该MB也为skip模式;节点2输入该节点是由节点1分出的16×16MB,该节点用第二个WEKA决策树,对H.264 MB的模式(16×16,16×8或8×16)分类。检测16×8或8×16子块是否生成更好的预测,若判别为16×8或8×16,则为最终的编码模式,否则,将由节点4继续判别;节点3输入该节点的由节点1分出的8×8MB。该节点用第三个WEKA决策树,对H.264 8×8子宏块选择最优模式8×8,8×4,4×8,4×4。该决策树执行4次,分别对一个宏块内的4个8×8子块进行判别一次,该部分只使用8×8子块内的4个4×4块的均值和方差;节点4输入该节点的是由节点1分出的skip模式块或由节点2分出的16×16模式块。该节点估计H.264 16×16模式(不包括16×8和8×16模式),选择最优模式是skip或inter16×16。
7.根据权利要求1所述的MPEG-2到H.264码的快速转换方法,其特征是MB模式的判决和门限值的选择由H.264的量化参数(QP)决定,随着QP的不同,均值和方差的门限值也不同解决这种情况有两种方法1)对每个QP生成一个决策树,在H.264编码时,根据所用的QP值,选择相应的决策树;2)只生成一个决策树,根据QP值调整均值和方差的门限;对于第一种方法,在一个转码器中需生成52个不同的决策树,而每一个又需3个WEKA决策树,因此需156个WEKA决策树。
8.根据权利要求7所述的MPEG-2到H.264码的快速转换方法,其特征是在H.264中,QP值与量化步长有一定的关系,QP每增加6,量化步长增加一倍,因此通过这种关系调整均值和方差的门限值,在该转码器中,采用了第二种方法;生成了QP为25的决策树,其他QP值可以通过调整门限电平来实现;当QP增加6时,门限值提高2.5%,反之降低2.5%。
全文摘要
MPEG-2到H.264码的快速转换方法,利用H.264的宏块模式选择与MPEG-2运动补偿残差间的相关性,将H.264宏块模式的选择转化为数据分类,利用MPEG-2解码得到的运动补偿残差、MB模式、编码块模式(CBPC)直接映射成H.264的宏块模式;在MPEG-2码解码时,保存相关的MB信息,包括MB编码模式、编码块类型(CBPC)、MB残差的均值和方差,解码后采用标准的H.264编码器对YUV图像编码,并保存H.264MB编码模式,采用机器学习算法得到决策树,用于H.264编码模式的分类;得到决策树的方法是,用决策树分类原则决策树生成原则进行。
文档编号H04N7/30GK101068355SQ20071002347
公开日2007年11月7日 申请日期2007年6月5日 优先权日2007年6月5日
发明者方怀东, 柳翀, 鹿宝生, 严肃, 陈启美 申请人:南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1