Mpeg到avs视频编码转换系统的制作方法

文档序号:7697947阅读:163来源:国知局

专利名称::Mpeg到avs视频编码转换系统的制作方法
技术领域
:本发明涉及一种视频编码技术,特别是涉及利用软件方法实现两种视频编码的转换的系统。
背景技术
:数字多媒体技术发展迅速,多媒体应用领域呈现出多种标准共存的局面。AVS(AudioVideocodingStandard)是由中国信息产业部科学技术司于2002年6月批准成立的音视频编解码技术标准工作组所制定的标准,具有中国自主的知识产权。AVS标准将在数字电视、IPTV以及移动多媒体服务等领域中获得广泛的应用。然而,由于AVS标准的产业化还处于起步阶段,符合AVS标准的数字多媒体资源较少,实际应用中急需可以提供AVS格式的硬件或软件产品。
发明内容鉴于上述技术问题,本发明提出了一种MPEG到AVS视频编码转换系统,禾U用软件实现MPEG编码到AVS编码的转换,高效率地实现大量MPEG格式的码流共享为AVS格式。本发明提出了一种MPEG到AVS的视频编码转换系统,包括MPEG格式的数据流、MPEG系统层解复用模块和MPEG系统层复用模块,其特征在于,该系统还包括编码转换器,以及该编码转换器中的DCT帧内预测模式判断模块、运动矢量重用及帧间宏块模式判断模块,MPEG格式的数据流首先经过MPEG系统层解复用模块,解复用后分别提取出MPEG视频、音频数据及其他数据;其中解复用得到的MPEG音频数据不进行转码处理,直接送入后端的"MPEG系统层复用"模块,而编码转码器将解复用输出的MPEG视频数据完全解码到像素域,再结合DCT帧内预测模式判断模块、运动矢量重用及帧间宏块模式判断模块进行AVS编码,然后送入MPEG系统层复用模块,转换器中的DCT帧内预测模式判断模块利用输入码流的VLC解码再反量化后的DCT系数进行帧内预测模式判断;运动矢量重用及帧间宏块模式判断模块中的运动矢量重用子模块将MPEG码流中的运动矢量MV作为AVS运动估计的参考,通过运动矢量MV优化后,获得半像素精度运动矢量MV,帧间宏块模式判断子模块则通过MPEG解码宏块,判断AVS宏块的编码类型,划分尺寸。所述DCT帧内预测模式判断模块的算法,包括以下步骤在帧内预测模式判断中,计算图像纹理的角度e(请补充计算公式)和参数p,可以得到当前待编码块以及其左邻和上邻数据块的纹理方向,当待编码宏块与左邻或上邻数据宏块纹理方向一致时,得到帧内预测模式;<formula>formulaseeoriginaldocumentpage7</formula>(1)式中,F(u,0)为DCT系数的第一列AC系数;F(0,v)为DCT系数的第一行AC系数。当待编码宏块与左邻或上邻数据宏块纹理方向存在较大差异时,即待编码宏块、左邻和上邻宏块中有两个分别满足20°<=9<=35°或55°<=9<=70°而不能进行水平、垂直和斜向预测时,需要进一步在DCT域计算预测矩阵,比较帧内预测模式与当前数据块的当前待编码块的DCT数据绝对误差和SAD,得到最佳帧内预测模式,具体的算法处理流程如下步骤l,判断当前待编码块是否处于图像左边缘或上边缘,如果是,则判断为DCT帧内预测模式,否则进入步骤2;步骤2,判断当前宏块,左邻块和上邻块的9值是否都满足T1<9<T2,T1=35°、T2=55°,如果是,说明当前宏块所在区域具有一定的斜向纹理,进行步骤3,否则进行步骤4;步骤3,判断参数P的值,如果P-1则可判断当前待编码块的帧内预测模式为右上帧内预测模式,P^O判断为右下帧内预测模式;步骤4,判断当前宏块和上邻块的9值是否都满足0°<=6<0303=20°),如果是,说明当前宏块所在区域具有一定的垂直纹理,可判断为垂直帧内预测模式,否则进行步骤步骤5,判断当前宏块和左邻块的0值是否都满足丁4<6<=90°,T4=70°,如果是,说明当前宏块所在区域具有一定水平纹理,可判断为水平帧内预测模式,否则进行步骤6;步骤6,分别计算其与当前待编码块的DCT数据绝对误差和,=I釘(Z))-=2ZI"",=0_/=0步骤7,记^4^^为水平预测的绝对误差和,"^Ar为垂直预测的绝对误差和,S^Ax:为DC预测的绝对误差和。通过比较^4。^,"^A^和&4i)^,确定最小者所对应的模式为最佳帧内预测模式;上述的参数参数P由8x8DCT系数矩阵的[1]和[1]位置的数据的正负符号确定,当两系数同号,参数P二l,当两系数异号,参数P-O。所述运动矢量重用及帧间宏块模式判断模块,该模块在判断宏块划分模式时主要采用宏块细节程度作为判断准则,帧间宏块划分模式选择16X16和8X8两种,具体判断过程包括以下步骤步骤1,所有帧间宏块都初始化为16X16宏块划分模式;步骤2,统计MPEG码流中的每个宏块残差系数的VLC编码比特数,计算当前帧宏块残差系数的VLC编码平均比特数,并以此平均比特数作为宏块是否属于细节较多区域的评判标准的基础门限;步骤3,用每个宏块残差系数的VLC编码比特数和基础门限相除,如果比值大于1.5倍(实验设定阈值),则说明该宏块的细节程度明显大于图像平均值,需要使用8X8模式进行编码;否则使用默认的16X16模式。运动矢量重用及帧间宏块模式判断模块中的帧间宏块模式判断子模块的算法,还包括以下步骤根据区域特性判断AVS宏块的编码类型,表l、表2为转换编码过程中MPEG帧间宏块编码类型到AVS帧间宏块编码类型的转换初始化映射表;表lP帧宏块编码类型初始化映射表MPEGMBTYPEAVSMBTYPE1(Intra)或17(Intra量化)Intra8(MC编码)、10(MC无编码)或26(MC编码量化)InterMC2(非MC编码)或18(非MC编码量化)InterMC(mvK))表2B帧宏块编码类型初始化映射表MPEGMBTYPEAVSMBTYPE1(Intra)或17(Intra量化)Intra8(前向预测无编码)、10(前向预测编码)或26(前向预测编码量化)B—Fwd—16X16或SB一Fwd一8X84(后向预测无编码)、6(后向预测编码)或22(后向预测编码量化)B—Bck—16X16或SB一Bck一8X812(双向预测无编码)、14(双向预测编码)或30(双向预测编码量化)B—Sym_16X16或SB—Sym—8X8AVS中B帧宏块的4个8X8子块采用不同的预测方向进行编码,为了获得8X8子块的编码类型,需进一步进行处理初始化8X8子块E的编码类型为E子块所在宏块的MPEG编码类型,MPEG中当前编码宏块为前向预测编码,则E子块初始化为SB—Fwd—8X8;获得E子块相邻宏块A、B、C的MPEG编码类型如果E子块的初始化编码类型为SB—Fwd—8X8或8SB—Sym—8X8,而A、B、C三宏块的MPEG宏块编码类型均为后向预测编码,则判断E子块的编码类型为SB一Bck一8X8,否则判断为E的初始化编码类型;如果E子块的初始化编码类型为SB—Bck—8X8或SB—Sym—8X8,而A、B、C三宏块的MPEG宏块编码类型均为前向预测编码,则判断E子块的编码类型为SB一Fwd一8X8,否则判断为E的初始化编码类型;帧间宏块模式判断算法的步骤如下步骤l,如果与当前编码宏块对应的MPEG解码宏块是帧内预测编码,则该宏块采用AVS帧内预测编码,由于当前宏块周围都是帧间宏块,只有残差数据,故不能像前节使用DCT域帧内预测模式判断,这里直接选择DC模式;步骤2,判断帧间宏块的划分尺寸如果是16X16划分尺寸,则进行步骤3;如果是8X8划分尺寸,则进行步骤4;步骤3,按照表l、表2进行16X16划分模式下的编码类型映射;步骤4,按照表l、表2进行8X8划分模式的编码类型初始化映射,然后按照前面介绍的8X8子块编码类型校正方法获得当前编码宏块内所有8X8子块的最终编码类型,并与16X16划分模式进行编码开销比较,选择最小者进行编码;步骤5,如果是B帧宏块则进行Direct模式校正;步骤6,对满足帧内预测宏块编码校正条件的帧间宏块进行帧内预测编码校正,帧内预测模式判定方法同步骤1。运动矢量重用及帧间宏块模式判断模块中的运动矢量重用子模块的算法,还包括以下步骤,对于采用16X16的编码模式和采用8X8的宏块划分模式,均以MPEG解码运动矢量作为最优的半像素精度运动矢量,然后在此运动矢量基础上做一次1/4像素精度的运动矢量重搜索优化,即搜索该半像素运动矢量周围的8个l/4像素精度运动矢量,从而得到最优1/4像素精度的运动矢量,以及釆用8X8的宏块划分模式记录4个运动矢量。与现有技术相比,本发明提供了一种MPEG到AVS的转换编码系统,避免了复杂的解码一重编码处理,所需的计算量极低,可以采用软件方式实现MPEG—AVS转码,提供AVS节目源,推进AVS标准的应用发展。附,说明图1为本发明的MPEG到AVS的视频编码转换系统结构图;图2为本发明的图像纹理方向角示意图;图3为8X8子块时域预测方向示意图;图4为1/4像素运动矢量优化示意图;图5、为本发明实施例的标准测试码流实验R一D曲线图6为本发明实施例的DVD序列R—D曲线图。具体实施例方式目前,实际应用中的数字多媒体资源主要为MPEG标准格式。MPEG标准的多媒体资源可以分为节目流(PS)和传输流(TS)两种,针对这两种格式,可以采用图l所示的转换编码结构完成转码处理。由于AVS标准中的系统层部分和音频编码标准均可兼容MPEG标准的系统层和音频标准,本发明所提出的编码转换码系统中对音频和系统层复用采用了符合MPEG标准的技术。如图1所示,为MPEG到AVS的视频编码转换系统结构图,MPEG格式的数字多媒体节目首先经过"MPEG系统层解复用"模块11,解复用后分别提取出MPEG视频、音频数据及其他数据;其中解复用得到的MPEG音频数据不进行转码处理,直接送入后端的"MPEG系统层复用"模块13,而解复用输出的MPEG视频数据被转码为AVS格式,然后送入"MPEG系统层复用"模块13。MPEG格式视频数据到AVS格式视频数据的编码转码器12的结构见图1中的虚线框部分,包括DCT帧内预测模式判断模块121和运动矢量MV重用及频域宏块模式判断模块122,还包括硬件部分,包括变长解码(VLD)、反量化(IQ)、反向离散余弦转换器(IDCT)、运动补偿(MC)等。该转码器12梧输入的MPEG码流完全解码到像素域,再进行AVS编码,转换器中的关键处理模块为DCT帧内预测模式判断模块121,DCT帧内预测模式判断模块121利用输入码流的VLC解码再反量化后的DCT系数进行帧内预测模式判断;运动矢量重用及帧间宏块模式判断模块122中的运动矢量重用子模块将MPEG码流中的运动矢量MV作为AVS运动估计的参考,通过运动矢量MV优化后,可以较为准确的获得半像素精度MV,宏块模式判断子模块则通过MPEG解码宏块的编码类型、编码比特数等信息快速判断AVS宏块的编码类型,划分尺寸等参数,采用这两部分技术可以极大地降低转码计算量。与传统的简单级联转码结构(解码器和编码器级联>不同的是,图1所示的编码转换充分利用了MPEG解码信息,在AVS编码某宏块之前就基本确定了该宏块的编码参数,在AVS编码器中直接编码,而不是遍历式的编码,这样一来,提高了编码转换的效率。.,以下将对本发明中的主要算法模块一"DCT帧内预测模式判断"和"运动矢量重用及帧间宏块模式判断"进行详细介绍。一、DCT域帧内预测模式判断AVS标准的帧内预测亮度帧内预测模式共有5种,分别为水平、垂直、DC帧内预测模式、右上和右下帧内预测模式。事实上,不同的帧内预测模式适用于不同纹理特性的图像数据块。本专利釆用如下算法判断转码中AVS帧内预测模式图2中,e表示图像纹理的角度,F(u,v)为DCT系数。其中DCT系数为MPEG输入码流中各宏块中的DCT变化系数,通过计算e,并选择与e相同方向的帧内预测模式,可以得到右上、水平以及垂直帧内预测模式。然而,采用该方法计算所得的e在090度的范围内,无法获得AVS帧内预测模式的所有预测方向(如右下预测)。因此,进一步引入参数p,用于辅助判断e的角度范围,参数p由8x8DCT系数矩阵的[1]和[1]位置的数据的正负符号确定,这两个系数分别是AC系数的最低频分量,反映了图像的基本纹理信息DCT系数[1]位置系数表示的纹理为d正。负DCT系数[1]位置系数表示的纹理为O正O负[l]、[l][O]两位置系数同号时图像大致纹理为O正正D负负[O][l]、[l][O]两位置系数异号时图像大致纹理为0正负D负正由上述分析可知,当两系数同号(p=l)时图像纹理大致为右上方向,异号(p=0)时图像纹理大致为右下方向,结合参数e,可以预测图像数据块的纹理方向。在帧内预测模式判断中,计算e和p可以得到当前待编码块以及其左邻和上邻数据块的纹理方向,当待编码块与左邻或上邻数据块纹理方向一致时,可以快速得到帧内预测模式。当纹理方向存在较大差异时,则采用进一步在DCT域计算预测矩阵,比较帧内预测模式与当前数据块的SAD,得到最佳帧内预测模式,具体的算法处理流程如下1.判断当前待编码块是否处于图像左边缘或上边缘,如果是则判断为DCT帧内预测模式,否则进入步骤2;2.判断当前宏块,左邻块和上邻块的9值是否都满足Tl<e<T2(Tl=35°、T2=55°),如果是,说明当前宏块所在区域具有一定的斜向纹理,进行步骤3,否则进行步骤4;3.判断p的值,如果p-1则可判断当前待编码块的帧内预测模式为右上帧内预测模式,pk)判断为右下帧内预测模式;4.判断当前宏块和上邻块的9值是否都满足0°<=0<丁3(丁3=20°),如果是,说明当前宏块所在区域具有一定的垂直纹理,可判断为垂直帧内预测模式,否则进行步骤5;5.判断当前宏块和左邻块的9值是否都满足丁4<6<=90°(T4=70°),如果是,说明当前宏块所在区域具有一定水平纹理,可判断为水平帧内预测模式,否则进行步骤6;6.计算水平、垂直和DC三种模式的DCT预测数据(计算方法见下节),并分别计算其与当前待编码块的DCT数据绝对误差和=|ix:r(z))-z)cros)|=S3。"—(0.1)/=0乂=011记&4"flZ为水平预测的绝对误差和,^^^为垂直预测的绝对误差和,"^"DC为DC预测的绝对误差和。通过比较^4。^,"^Ar和^Ax:,确定最小者所对应的模式为最佳帧内预测模式。由上述算法流程可见,在大多数情况下,不需进行第6步计算即可得到帧内预测模式。第6步处理涉及DCT域的预测矩阵计算。以下论述中用DCT()表示DCT变换,D表示8X8像素原始数据,S表示像素域预测数据,R表示像素域预测数据的提取矩阵,P表示DCT域预测数据的提取矩阵,在像素域和DCT域中用提取矩阵和原始数据矩阵相乘就可得到对应的预测矩阵。Y表示DC帧内预测模式中的像素域加权矩阵,Q表示DC帧内预测模式中的DCT域加权矩阵。不同的下标表示了各种帧内预测模式。"x"表示行列式乘法,""表示矩阵对应位置的点乘运算。下面以垂直预测为例说明水平预测和垂直预测DCT预测矩阵的计算方法。在像素域,垂直预测矩阵数据&P采用下式得出(0-2)<formula>formulaseeoriginaldocumentpage12</formula>(0.3)其中""P表示当前待编码块上方的8X8数据块,《为其中对应位置的像素数据。在不考虑计算精度的条件下,DCT变换为线性变换。对式(0.2)进行001变换,有:zx7r(sp)=Dcr(^x£>》.可见,垂直帧内预测模式的DCT域预测数据可由像素数据的DCT变换数据(ZXT(A^))和域预测数据的提取矩阵(《0获得。其中《P可通过对^p进行DCT变换求得<formula>formulaseeoriginaldocumentpage13</formula>(0.5)釆用上述类似方法可得到水平预测的DCT域预测矩阵:<formula>formulaseeoriginaldocumentpage13</formula>(0.6)其中:,T表示矩阵转置。DCT帧内预测模式中需要对水平帧内预测模式或垂直帧内预测模式得到的预测矩阵作一次加权滤波处理,具体加权方式参看标准。以仅左块可用的DC帧内预测模式为例说明该加权过程在DCT域的矩阵处理方法,以及DC帧内预测模式中DCT预测矩阵的生成,在像素域中<formula>formulaseeoriginaldocumentpage13</formula>(0.7)其中。(^表示仅左块可用时DC帧内预测模式的像素域预测矩阵,帧内预测模式的像素域预测矩阵,"力表示像素域的加权矩阵有縱u=/4)x~)通过对(0.7)式的数学整理可得^表示水平对式(0.7)进行DCT变换,<formula>formulaseeoriginaldocumentpage13</formula>(0.8)<formula>formulaseeoriginaldocumentpage13</formula>(0.9)由式(0.8)可见,仅左块可用的DCT预测数据可以由水平帧内预测模式的DCT预测数据(ZX77XS妙))和加权矩阵a^获得。采用上述类似方法可得到仅上块可用的DCT域预测数据<formula>formulaseeoriginaldocumentpage14</formula>进一步可以得到左、上块数据都可用时的DCT预测数据<formula>formulaseeoriginaldocumentpage14</formula>上述过程中,^^^(D)数据可以在转码中的解码部分直接获得,"则根据不同模式选择左邻或上邻的数据块。采用提取矩阵^和D^(D)相乘,可以得到水平和垂直模式所对应的DCT预测数据D0^(5)。进一步使用加权矩阵^与D^^")进行点乘运算,可以获得DCT预测所对应的DCT预测数据。P和G中大部分数据为O,因此计算时较为简单。二、运动矢量重用和帧间宏块模式判断算法1、帧间宏块划分模式判断MPEG的帧间宏块划分在帧编码模式下只支持16X16—种编码模式,在场编码模式下增加了16X8编码模式。AVS在帧间宏块模式上支持16X16,16X8,8X16,8X8四种编码模式。因此在MPEG到AVS转换编码过程中,就需要解决宏块划分模式的重新判断问题。对于大部分自然序列,16X16宏块划分模式的使用概率最大,其它模式所占比例较小。本发明MPEG到AVS实时转换编码器设计中,帧间宏块划分模式选择16X16和8X8两种。不使用16X8和8X16两种宏块划分模式的主要原因有两点第一,从计算量考虑,减少这两个模式,在帧间宏块模式判断环节的计算量就减少了50%左右,有利于达到实时转码的要求;第二,16X8和8X16这两种模式也是在细节较多区域使用,分别针对横向纹理较多和纵向纹理较多的情况,对于这两种情况8X8模式可以在只带来一个运动矢量开销的情况下完成。帧间宏块划分模式判断在图1中运动矢量重用和帧间宏块模式判断模块完成,该模块在判断宏块划分模式时主要采用宏块细节程度作为判断准则,具体判断过程为第一步,所有帧间宏块都初始化为16X16宏块划分模式;第二步,统计MPEG码流中的每个宏块残差系数的VLC编码比特数,计算当前帧宏块残差系数的VLC编码平均比特数,并以此平均比特数作为宏块是否属于细节较多区域的评判标准的基础门限;第三步,用每个宏块残差系数的VLC编码比特数和基础门限相除,如果比值大于1.5倍(实验设定阈值),则说明该宏块的细节程度明显大于图像平均值,需要使用8X8模式进行编码;否则使用默认的16X16模式。2、帧间宏块模式判断算法对于帧间宏块,AVS标准提供了多种编码类型。虽然MPEG宏块编码类型不能和AVS宏块编码类型一一对应,不能在编码端被直接使用,但是它却能反映出图像的区域特性,从而根据这些区域特性判断AVS宏块的编码类型。表l、表2给出了转换编码过程中MPEG帧间宏块编码类型到AVS帧间宏块编码类型的转换初始化映射表。表lP帧宏块编码类型初始化映射表MPEGMBTYPEAVSMBTYPE1(Intra)或17(Intra量化)Intra8(MC编码)、10(MC无编码)或26(MC编码量化)InterMC.2(非MC编码)或18(非MC编码量化)InterMC(mv=0)表2B帧宏块编码类型初始化映射表MPEGMBTYPEAVSMBTYPE1(Intra)或17(Intra量化)Intra8(前向预测无编码)、10(前向预测编码)或26(前向预测编码量化)B—Fwd—16X16或SB—Fwd—8X84(后向预测无编码)、6(后向预测编码)或22(后向预测编码量化)'B—Bck—16X16或SB—Bck—8X812(双向预测无编码)、14(双向预测编码)或30(双向预测编码量化)B—Sym—16X16或SB_Sym—8X8AVS中B帧宏块的4个8X8子块采用不同的预测方向进行编码,为了获得8X8子块的编码类型,需进一步进行处理,如图3,初始化8X8子块E的编码类型为E子块所在宏块的MPEG编码类型,MPEG中当前编码宏块为前向预测编码,则E子块初始化为SB—Fwd—8X8;获得E子块相邻宏块A、B、C的MPEG编码类型如果E子块的初始化编码类型为SB—Fwd—8X8或SB—Sym—8X8,而A、B、C三宏块的MPEG宏块编码类型均为后向预测编码,则判断E子块的编码类型为SB—Bck—8X8,否则判断为E的初始化编码类型;如果E子块的初始化编码类型为SB—Bck—8X8或SB—Sym—815X8,而A、B、C三宏块的MPEG宏块编码类型均为前向预测编码,则判断E子块的编码类型为SB—Fwd一8X8,否则判断为E的初始化编码类型。宏块模式判断算法的步骤如下步骤l,如果与当前编码宏块对应的MPEG解码宏块是帧内预测编码,则该宏块采用AVS帧内预测编码,由于当前宏块周围都是帧间宏块,只有残差数据,故不能像前节使用DCT域帧内预测模式判断,这里直接选择DC模式;步骤2,判断帧间宏块的划分尺寸如果是16X16划分尺寸,则进行步骤3;如果是8X8划分尺寸,则进行步骤4;步骤3,按照表l、表2进行16X16划分模式下的编码类型映射;步骤4,按照表l、表2进行8X8划分模式的编码类型初始化映射,然后按照前面介绍的8X8子块编码类型校正方法获得当前编码宏块内所有8X8子块的最终编码类型,并与16X16划分模式进行编码开销比较,选择最小者进行编码;步骤5,如果是B帧宏块则进行Direct模式校正;步骤6,对满足帧内预测宏块编码校正条件的帧间宏块进行帧内预测编码校正,帧内预测模式判定方法同步骤l。.3、运动矢量重用及优化算法运动矢量的重用是视频转换编码中的关键技术。在相同标准间的转换编码过程中,输入码流的运动矢量是经过编码器运动估计过程的,它代表着在某种运动搜索算法下的最优运动矢量。在不同标准间的转换编码,由于参考图像插值过程和运动矢量精度等差异,运动矢量重用并不会带来像同类码流转换时的直接利益,但是却可以作为运动估计时的重要参考运动矢量。MPEG的亮度参考图像是半像素精度,.其半像素点是通过相邻的两个整像素样本线性插值而来。AVS的亮度参考图像是l/4像素精度,其插值过程参见标准文献。比较这两个标准中半像素点的计算过程,MPEG采用线性插.值滤波器,AVS采用的4抽头滤波器(-1/8,5/8,5/8,-1/8),这两种半像素插值滤波器虽然结构不同,但最终插值结果反映在图像上的差别却不很明显。因此,可以认为MPEG的半像素精度运动矢量近似AVS编码器运动搜索得到的最优半像素精度运动矢量,转码时即以MPEG解码运动矢量作为最优的半像素精度运动矢量(图4中G所示为该半像素精度运动矢量所指的参考块位置),从而省去了整像素运动矢量搜索和半像素运动矢量搜索过程,然后在此运动矢量基础上做一次l/4像素精度的运动矢量重搜索优化,即搜索该半像素运动矢量周围的8个1/4像素精度运动矢量(图4中a~h为8个1/4像素精度运动矢量所指的参考块位置),从而得到最优1/4像素精度的运动矢量。对于采用16X16的编码模式,直接采用以上方法,得到最优1/4像素精度运动矢量;对于8X8宏块划分模式,由于MPEG只有宏块级的运动矢量,因此需要独立编码每个8X8子块,每个8X8子块都采用MPEG的宏块级运动矢量,然后再分别做重搜索优化。16下面通过一个具体实施实例,进一步说明本发明的技术方案。实验采用AVS标准工作组提供的参考软件rm52j—rl作为参考,实验结果中用REF中表示。本专利设计实现的MPEG到AVS转码系统在实验结果中用TRANS表示。实验序列为用bus_cif,mobile—cif,football—704X480,tempete—704X480标准测试序列制作的MPEGPS流(帧率30),以及用于实际验证的DVD节目(MPEGPS流)《功夫》(720X576,帧率30)。实验环境为P41.5GHZ,320M内存的PC机。各序列R-D曲线如图5和图6所示。表3给出了实验中参考编码器REF与本文转码系统TRANS的运行时间,PSNR和比特率,以及计算量(时间比值倒数)的比较结果,量化参数为QP-35。_表3不同测试序列的时间、PSNR和比特率的比较_PSNR(dB)Bitrate(Kbps)Time(frame/s)CalculationREFTRANSREFTRANSREFTRANS/REF(%)mobile一cif33.0133.381840.131928.001.118.3013.37%bus_cif34.0834.611412.721558.001.078.5112.57%tempete一704一48034.2634.664183.474679.270.291.8515.68%football—704—48035.6336.55861.147268.000.281.8315.30%GongFu_720_57636.9537.332柳.562784.190.271.6416.46%图5、6和表3的实验结果表明,本专利提出的转码系统与参考编码器相比在相同码率下,图像PSNR略有降低。在football序列降低最为明显,原因是由于该序列运动较快、而且复杂,MPEG编码的运动矢量较大,在转码时增加了AVS编码开销,导致比特率上升。由表3可知,本专利转码系统在保证输出图像质量的前提下,计算量只有参考编码器的15%左右,实验中还采用了其他测试序列获得了一致的结果。为了验证转码码流的正确性,实验中还采用了上海广电有限公司的AVS标准数字电视机顶盒作为辅助验证手段。将转码得到的AVS传输流(AVSTS)通过码流发送板卡发送到机顶盒,机顶盒的音/视频输出送入电视机,传输流节目播放流畅,音视频同步良好。1权利要求1.一种MPEG到AVS的视频编码转换系统,包括MPEG格式的数据流、MPEG系统层解复用模块和MPEG系统层复用模块,其特征在于,该系统还包括编码转换器,以及该编码器转换中的DCT帧内预测模式判断模块、运动矢量重用及帧间宏块模式判断模块,其中运动矢量重用及帧间宏块模式判断模块分为运动矢量重用子模块和帧间宏块模式判断子模块;MPEG格式的多媒体流首先经过MPEG系统层解复用模块,解复用后分别提取出MPEG视频、音频数据及其他数据;其中解复用得到的MPEG音频数据不进行转码处理,直接送入后端的“MPEG系统层复用”模块,而编码器转换将解复用输出的MPEG视频数据完全解码到像素域,再结合DCT帧内预测模式判断模块、运动矢量重用及帧间宏块模式判断模块进行AVS编码,然后送入MPEG系统层复用模块;转换器中的DCT帧内预测模式判断模块利用输入码流的VLC解码再反量化后的DCT系数进行帧内预测模式判断;运动矢量重用及帧间宏块模式判断模块中的运动矢量重用子模块将MPEG码流中的运动矢量MV作为AVS运动估计的参考,通过运动矢量MV优化后,获得半像素精度运动矢量MV,帧间宏块模式判断子模块则通过MPEG解码宏块,判断AVS宏块的编码类型,划分尺寸。2.如权利要求1所述的MPEG到AVS的视频编码转换系统,其特征在于,所述DCT帧内预测模式判断模块的算法,包括以下步骤在帧内预测模式判断中,计算图像纹理的角度e和参数P,得到当前待编码块以及其左邻和上邻数据块的纹理方向,当待编码宏块与左邻或上邻数据宏块纹理方向一致时,得到帧内预测模式P=arctan|;|f(",o)itl,,v)lv=l式中,F(u,O)为DCT系数的第一列AC系数;F(O,v)为DCT系数的第一行AC系数;当待编码宏块与左邻或上邻数据宏块纹理方向存在较大差异时,即待编码宏块、左邻和上邻宏块中有两个分别满足20°<=e<=35°或55°<=e<=70°而不能进行水平、垂直和斜向预测时,需要进一步在DCT域计算预测矩阵,比较帧内预测模式与当前数据块的当前待编码块的DCT数据绝对误差和SAD,得到最佳帧内预测模式,具体的算法处理流程如下步骤l,判断当前待编码块是否处于图像左边缘或上边缘,如果是,则判断为DCT帧内预测模式,否则进入步骤2;步骤2,判断当前宏块,左邻块和上邻块的0值是否都满足T1<6<T2,Tl=35°、T2=55°,如果是,说明当前宏块所在区域具有一定的斜向纹理,进行步骤3,否则进行步骤4;步骤3,判断参数P的值,如果P-1则可判断当前待编码块的帧内预测模式为右上帧内预测模式,P:O判断为右卞帧内预测模式;步骤4,判断当前宏块和上邻块的0值是否都满足0°<=0<0(73=20°),如果是,说明当前宏块所在区域具有一定的垂直纹理,可判断为垂直帧内预测模式,否则进行步骤步骤5,判断当前宏块和左邻块的6值是否都满足丁4<9<=90°,T4=70°,如果是,说明当前宏块所在区域具有一定水平纹理,可判断为水平帧内预测模式,否则进行步骤6;步骤6,分别计算其与当前待编码块的DCT数据绝对误差和'<8乂<8/=0乂=0步骤7,记1^1^^为水平预测的绝对误差和,^^^w为垂直预测的绝对误差和,^^"。c为DC预测的绝对误差和,通过比较^^""z,&4/^和&4/)^,确定最小者所对应的模式为最佳帧内预测模式;上述的参数参数P由8x8DCT系数矩阵的[1]和[1]位置的数据的正负符号确定,当两系数同号,参数P二1,当两系数异号,参数P^0。3.如权利要求1所述的MPEG到AVS的视频编码转换系统,其特征在于,所述运动矢量重用及帧间宏块模式判断模块,该模块在判断宏块划分模式时主要采用宏块细节程度作为判断准则,帧间宏块划分模式选择16X16和8X8两种,具体判断过程包括以下步骤步骤1,所有帧间宏块都初始化为16X16宏块划分模式;步骤2,统计MPEG码流中的每个宏块残差系数的VLC编码比特数,计算当前帧宏块残差系数的VLC编码平均比特数,并以此平均比特数作为宏块是否属于细节较多区域的评判标准的基础门限;步骤3,用每个宏块残差系数的VLC编码比特数和基础门限相除,如果比值大于1.5倍(实验设定阈值),则说明该宏块的细节程度明显大于图像平均值,需要使用8X8模式进行编码;否则使用默认的16X16模式。4.如权利要求1所述的MPEG到AVS的视频编码转换系统,其特征在于,所述运动矢量重用及帧间宏块模式判断模块中的帧间宏块模式判断子模块的算法,包括以下步骤根据区域特性判断AVS宏块的编码类型,表l、表2为转换编码过程中MPEG帧间宏块编码类型到AVS帧间宏块编码类型的转换初始化映射表;<table>tableseeoriginaldocumentpage4</column></row><table>介绍的8X8子块编码类型校正方法获得当前编码宏块内所有8X8子块的最终编码类型,并与16X16划分模式进行编码开销比较,选择最小者进行编码;步骤5,如果是B帧宏块则进行Direct模式校正;步骤6,对满足帧内预测宏块编码校正条件的帧间宏块进行帧内预测编码校正,帧内预测模式判定方法同步骤1。5.如权利要求1所述的MPEG到AVS的视频编码转换系统,其特征在于,所述运动矢量重用及帧间宏块模式判断模块中的运动矢量重用子模块的算法,包括以下步骤对于采用16X16的编码模式和采用8X8的宏块划分模式,均以MPEG解码运动矢量作为最优的半像素精度运动矢量,然后在此运动矢量基础上做一次1/4像素精度的运动矢量重搜索优化,即搜索该半像素运动矢量周围的8个l/4像素精度运动矢量,从而得到最优1/4像素精度的运动矢量,以及采用8X8的宏块划分模式记录4个运动矢全文摘要本发明公开了一种MPEG到AVS的视频编码转换系统,该系统的编码转码器将解复用输出的MPEG视频数据完全解码到像素域,再结合DCT帧内预测模式判断模块、运动矢量重用及帧间宏块模式判断模块进行AVS编码,然后送入MPEG系统层复用模块,转换器中的DCT帧内预测模式判断模块利用输入码流的VLC解码再反量化后的DCT系数进行帧内预测模式判断;运动矢量重用及帧间宏块模式判断模块中的运动矢量重用子模块将MPEG码流中的运动矢量MV作为AVS运动估计的参考,通过运动矢量MV优化后,获得半像素精度运动矢量MV,帧间宏块模式判断子模块则通过MPEG解码宏块,判断AVS宏块的编码类型,划分尺寸。本发明避免了复杂的解码-重编码处理,所需的计算量极低,可以采用软件方式实现MPEG-AVS转码,提供AVS节目源,推进AVS标准的应用发展。文档编号H04N7/26GK101668207SQ20091007059公开日2010年3月10日申请日期2009年9月25日优先权日2009年9月25日发明者昱刘,李桂苓,段继忠,奇汪,榕潘,王忠磊申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1