一种流式视频像素域转码的方法

文档序号:7647337阅读:147来源:国知局
专利名称:一种流式视频像素域转码的方法
技术领域
本发明属于计算机多媒体技术领域,特别涉及视频转码技术。
背景技术
数字视频是指以数字形式记录的视频信息,英文对应的词组是Digital video。数字视频的原始数据量非常大,给传输和存储都带来了很大的不便,因此实际应用中往往需要进行编码压缩。
视频编码采用运动估计的方法来实现数据的压缩。视频数据是以固定的时间间隔连续采集的图像序列,由于采集速度快,相邻图像在内容上的相关性很强。运动估计就是利用图像间的这种相关性,消除其中的冗余信息,实现数据的压缩。运动估计方法的大体过程如下首先将当前帧(编码过程中准备编码的图像)划分为固定大小的宏块(16像素×16像素);然后,对于每个宏块,在参考帧中(编码选用的参考图像)进行搜索和比较,找到一个内容相似度最高的“匹配宏块”,由此得到编码当前宏块的运动矢量(当前宏块与匹配宏块之间的相对位移);接着,将两个宏块相减得到残差,并对残差矩阵进行DCT变换;最后对运动矢量和DCT变换系数进行熵编码得到压缩数据。
为了满足各种视频应用的不同需求,国际组织MPEG和ITU先后制定了一系列的视频压缩标准,如MPEG组织提出的MPEG-1/2/4和ITU组织提出的H.261、H.263、H.264等。这些标准采用不同的编码技术和压缩算法对原始的视频数据(图像序列)进行处理,最终得到不同格式的压缩码流。各个标准在制定的时候都有较强的针对性,如,H.261主要针对可视电话和电视会议,MPEG-2主要针对标清和高清数字电视等。因此,采用不同的标准编码得到的压缩码流在特性上有所差异,一般很难在各个应用领域间交叉使用。一种解决问题的方法是采用转码技术,将一种格式的压缩码流转化为另一种格式,如将MPEG-2格式的压缩码流(按照MPEG-2标准编码得到的压缩数据)转码为MPEG-4格式。通过转码,使生成的码流更好的适应传输或存储的要求。
在各种压缩标准中,MPEG-2和MPEG-4的应用最为广泛。MPEG-2标准主要针对数字视频的广播应用,如数字电视;MPEG-4标准则具有超低比特率压缩和良好的抗误码性能,主要针对无线应用领域,如手机视频,可视电话等。历史上,MPEG-2被成功地应用在视频广播领域,对数字技术的广泛普及起到了重大的推动作用。MPEG-4推出之后,由于其优异的性能,无疑成为传输、存储和剪辑等众多领域的首选。而且,某些无线领域,如无线视频、PDA等,由于网络传输环境的限制,要求压缩码流具有很低的比特率和良好的抗噪能力,此时MPEG-2已很难胜任。所以,MPEG-4标准的广泛普及,直至最终取代MEPG-2可以说是技术发展的必然趋势。问题是,现在遗存的视频数据大部分是MPEG-2的压缩格式,很难直接应用到新的领域。解决问题最直接的方法就是采用转码技术,将MPEG-2格式的压缩码流直接换为MPEG-4格式。
视频转码方法主要可以分为两大类像素域转码和变换域转码。变换域转码通过对DCT系数进行运动补偿,实现码流格式的转换。这种方法的优点是计算量小,转码速度快,缺点是该方法对运动向量,编码速率等有一定的要求,给实际应用带来了一定的限制。像素域转码则比较灵活,便于实现,但转码的计算量较大。
MPEG-2和MPEG-4中常用的GOP(group of picthures图像组)结构在MPEG-2在编码时,一般采用B帧,B帧同时参考前后两个邻近的P帧或I帧,如图1a所示,图中箭头指向编码采用的参考帧;而MPEG-4的编码一般只采用P帧,且P帧只参考前面邻近的P帧或I帧,如图1b所示。最简单的MPEG-2到MPEG-4的像素域转码方法由MPEG-2解码器和MPEG-4编码器级联实现,该方法如图2所示,包括MPEG-2格式的视频码流经MPEG-2解码器解码后得到原始的YUV格式的视频图像,然后再由MPEG-4编码器对这些YUV格式的图像进行运动估计,编码生成MPEG-4格式的视频码流。其中,在MPEG-4编码时,可以利用MPEG-2解码得到的图像运动信息来辅助编码,即利用MPEG-2解码得到的运动向量进行运动重估计,快速得到MPEG-4运动向量的近似值,从而避免了重新进行运动估计所带来的复杂计算。由于运动估计的计算量一般占整个编码运算的70%-80%,所以,现有的MPEG-2到MPEG-4的像素域转码方法基本都采用了运动重估计方法。运动重估计得到的运动向量越准确,编码效率越高,所以设计高效的运动重估计方法是视频转码的关键技术。
目前已有的运动重估计方法大都采用线性拟和的估算方法,即利用MPEG-2解码得到的运动向量,通过简单的时间域插值得到MPEG-4编码运动向量的估计值。这些方法的前提假设是图像中物体的运动速度保持不变,这在大部分应用场合下和较小的考察区间(假设的时间段)内基本成立,但对于一些运动速度变化较快的应用场景或者较大的考察区间,该假设将不再成立适用,从而导致运动重估计得到的运动向量的准确度降低。

发明内容
本发明提出了一种新的流式视频像素域转码的方法,该方法的前提假设是图像中物体运动的加速度不变,即物体的运动速度可以有所差别,但是速度的变化速率保持不变。本发明基于该假设设计的运动重估计方法能更好的适应快速运动的场景,有效弥补了已有的流式视频像素域转码的方法采用线性拟和的不足之处。
本发明提出的一种流式视频像素域转码的方法,其特征在于,包括以下步骤1)对MPEG-2格式的视频码流进行MPEG-2解码得到当前帧图像和各个宏块的MPEG-2编码运动向量;2)判断当前帧在MPEG-2格式中的帧类型,如果是I帧则不需进行运动重估计,直接进行MPEG-4编码;3)如果是B帧,则对于每个宏块,利用解码得到的MPEG-2运动向量V1(x,y)和V2(x,y)分别采用“速度恒定”,“加速度恒定”和“区域运动恒定”的运动重估计方法得到三个重估计运动向量 和 然后,对所述三个重估计运动向量分别进行MPEG-4运动补偿并比较各自的残差,保留残差最小的重估计运动向量 对 进行半像素范围的细化搜索得到最终的编码运动向量Vb(x,y);4)如果是P帧,则对于每个宏块,利用解码得到的运动向量V1(x,y)分别采用“速度恒定”和“区域运动恒定”的运动重估计方法得到两个重估计运动向量 和 然后,对两个重估计运动向量分别进行MPEG-4运动补偿并比较各自的残差,保留残差较小的重估计运动向量 对该向量进行半像素范围的细化搜索得到最终的编码运动向量Vp(x,y);5)利用得到的最终的编码运动向量Vb(x,y)或Vp(x,y),完成该宏块的MPEG-4编码;6)输出码流并判断转码是否结束,如果没有结束,则继续解码下一帧并如上所各步骤进行转码处理。
本发明的特点及效果本发明提出的流式视频像素域转码的运动重估计方法,在对运动向量进行重估计时基于运动加速度不变的假设,可有效的提高快速运动场景下的运动向量的估计精度,提高编码效率。


图1为MPEG-2和MPEG-4中常用的GOP结构及各图像编码时的参考关系示意图;其中,图1(a)为MPEG-2各帧编码时的参考关系,图1(b)为MPEG-4各帧编码时的参考关系;图2为一种简单的MPEG-2解码和MPEG-4编码级联的像素域转码方法流程框图;图3为本发明方法的流程框图;图4为MPEG-2中的B帧在MPEG-2和MPEG-4中的参考关系示意图,其中,图4(a)为MPEG-2中B帧的参考关系图,图4(b)为当前帧转码为MPEG-4后的参考关系图;图5为MPEG-2中的P帧在MPEG-2和MPEG-4中的参考关系示意图,其中,图5(a)MPEG-2中P帧的参考关系图,图5(b)当前帧转码为MPEG-4后的参考关系图;图6为实施例中MPEG-2解码和MPEG-4编码的GOP结构及各图像间的参考关系示意图;
其中,图6(a)为实施例中MPEG-2解码的GOP结构及各图像间的参考关系示意图;图6(b)为实施例中MPEG-4编码的GOP结构及各图像间的参考关系示意图;图7为实施例中第2帧转码时图像的参考关系示意图;图8为实施例中第3帧转码时图像的参考关系示意图;图9为实施例中第4帧转码时图像的参考关系示意图;图10为实施例中第5帧转码时图像的参考关系示意图。
为便于画图,图中的运动向量在表示上均省略了x分量和y分量。
具体实施例方式
本发明提出了一种MPEG-2到MPEG-4的流式视频像素域转码的方法,下面结合附图及具体的实施例进行详细说明本发明方法的流程如图3所示,包括以下步骤7)对MPEG-2格式的视频码流进行MPEG-2解码得到当前帧图像和各个宏块的MPEG-2编码运动向量(I帧没有运动向量);8)判断当前帧在MPEG-2格式中的帧类型,如果是I帧则不需进行运动重估计,直接进行MPEG-4编码;9)如果是B帧,则对于每个宏块,利用解码得到的MPEG-2运动向量V1(x,y)(该运动向量以及后面运动向量的表示中,x和y分别表示运动向量在x和y两个方向上的分量)和V2(x,y)分别采用“速度恒定”,“加速度恒定”和“区域运动恒定”的运动重估计方法得到三个重估计运动向量 和 然后,对所述三个重估计运动向量分别进行MPEG-4运动补偿并比较各自的残差,保留残差最小的重估计运动向量 对 进行半像素范围的细化搜索得到最终的编码运动向量Vb(x,y);10)如果是P帧,则对于每个宏块,利用解码得到的运动向量V1(x,y)分别采用“速度恒定”和“区域运动恒定”的运动重估计方法得到两个重估计运动向量 和 然后,对两个重估计运动向量分别进行MPEG-4运动补偿并比较各自的残差,保留残差较小的重估计运动向量 对该向量进行半像素范围的细化搜索得到最终的编码运动向量Vp(x,y);11)利用得到的最终的编码运动向量Vb(x,y)或Vp(x,y),完成该宏块的MPEG-4编码;12)输出码流并判断转码是否结束,如果没有结束,则继续解码下一帧并如上所各步骤进行转码处理。
上述步骤3)中,当MPEG-2解码图像为B帧时,采用的运动重估计方法具体说明如下如图4所示,B′表示当前解码得到的B帧,其在MPEG-2中的参考帧是Pm和Pm+1,对应的运动向量分别为V1(x,y)和V2(x,y)。s表示B′和前参考帧Pm之间的距离(间隔的帧数),t表示B′和后参考帧Pm+1之间的距离,如图4(a)所示。对当前帧B′进行MPEG-4编码后,对应的MPEG-4中的图像是Pn,其在MPEG-4中的参考帧是前一帧Pn-1,对应的运动向量是Vb(x,y),如图4(b)所示。所以对当前帧转码时,其运动重估计的目的就是利用V1(x,y)和V2(x,y)的值估计出Vb(x,y)的值。
对当前B帧内的每个宏块分别采用“速度恒定”,“加速度恒定”和“区域运动恒定”的运动向量重估计方法,分别得到对应的重估计MPEG-4运动向量 和 31)采用“速度恒定”方法运动重估计得到的MPEG-4编码运动向量 32)采用“加速度恒定”方法运动重估计得到的MPEG-4编码运动向量 33)采用“区域运动恒定”方法运动重估计得到的MPEG-4编码运动向量 其中,M1(x,y)是当前编码宏块上方邻近宏块的MPEG-4编码运动向量,M2(x,y)是当前编码宏块左方邻近宏块的MPEG-4编码运动向量,M3(x,y)是当前编码宏块右上方邻近宏块的MPEG-4编码运动向量。
上述步骤4)中,当MPEG-2解码图像为P帧时,采用的运动重估计方法具体说明如下如图5所示,Pm+1表示当前解码得到的P帧,其在MPEG-2中的参考帧是Pm,对应的运动向量分别为V1(x,y)。s表示Pm+1和参考帧Pm之间的距离(间隔的帧数),如图5(a)所示。对当前帧Pm+1进行MPEG-4编码后,对应的MPEG-4中的图像是Pk,其在MPEG-4中的参考帧是前一帧Pk-1,对应的运动向量是Vp(x,y),如图5(b)所示。所以对当前帧转码时,其运动重估计的目的就是利用V1(x,y)的值估计出后Vp(x,y)的值。
对当前P帧内的每个宏块分别采用“速度恒定”和“区域运动恒定”的运动向量重估计方法,分别得到对应的重估计MPEG-4运动向量 和 具体计算如下41)“速度恒定”方法运动重估计得到的MPEG-4编码运动向量 42)“区域运动恒定”方法运动重估计得到的MPEG-4编码运动向量 其中,M1(x,y)是当前编码宏块上方邻近宏块的MPEG-4编码运动向量,M2(x,y)是当前编码宏块左方邻近宏块的MPEG-4编码运动向量,M3(x,y)是当前编码宏块右上方邻近宏块的MPEG-4编码运动向量。
本发明方法内容通过实施例作进一步说明本实施例是MPEG-2格式到MPEG-4格式的转码应用。其中MPEG-2视频的GOP长度为16,帧类型为IBBBPBBBPBBBPBBB,转码后的MPEG-4视频的GOP长度也为16,帧类型为IPPPPPPPPPPPPPPP。
下面以视频序列的第1个GOP的MPEG-2到MPEG-4的转码操作为例,详细说明本发明提出的MPEG-2到MPEG-4的流式视频像素域转码方法的操作方法(后续GOP的转码操作方法类似)。如图6所示,图6(a)是本实施例中MPEG-2解码得到的第1个GOP的结构及图像间的参考关系;图6(b)是本实施例中MPEG-4编码得到的第1个GOP的结构及图像间的参考关系。
本实施例的方法包括以下步骤1)MPEG-2解码得到第1帧图像,判断该帧的编码类型为I帧,所以不进行运动重估计,直接送入MPEG-4编码器进行编码,至此第1帧转码完毕;2)MPEG-2解码得到第2帧图像,判断该帧的编码类型为B帧,利用解码得到的MPEG-2运动向量V1(x,y)和V2(x,y)对该帧的每个宏块采用运动重估计方法计算MPEG-4编码运动向量;该帧的参考关系如图7所示,并且对应于图4中的s=1,t=3。
(21)由式①速度恒定方法运动重估计得到的MPEG-4编码运动向量 (22)由式②加速度恒定方法运动重估计得到的MPEG-4编码运动向量
=V1(x,y)]]>(23)由式③区域运动恒定方法运动重估计得到的MPEG-4编码运动向量 上述三种运动向量重估计方法得到了三个MPEG-4编码运动向量的估计值 和 对 和 分别进行MPEG-4运动补偿,并比较各自的残差,保留残差最小的运动向量作为 对 进行半像素范围的精细化搜索得到运动向量Vb(x,y);Vb(x,y)即为最终的MPEG-4编码运动向量;最后利用Vb(x,y)完成当前宏块的MPEG-4编码处理。至此,当前宏块的MPEG-2到MPEG-4的转码处理已完成;对第2帧中的每个宏块按照上述方法进行转码处理,直至第2帧转码处理完毕。
3)MPEG-2解码得到第3帧图像,判断该帧的编码类型为B帧,所以对于每个宏块采用运动重估计方法计算MPEG-4编码运动向量。
该帧的参考关系如图8所示,并且对应于图4中的s=2,t=2。
(31)由式①速度恒定方法运动重估计得到的MPEG-4编码运动向量 (32)由式②加速度恒定方法运动重估计得到的MPEG-4编码运动向量 =38V1(x,y)-18V2(x,y)]]>(33)由式③区域运动恒定方法运动重估计得到的MPEG-4编码运动向量 上述三种运动向量重估计方法得到了三个MPEG-4编码运动向量的估计值 和 对 和 分别进行MPEG-4运动补偿,并比较各自的残差,保留残差最小的运动向量作为 对 进行半像素范围的精细化搜索得到运动向量Vb(x,y);Vb(x,y)即为最终的MPEG-4编码运动向量;最后利用Vb(x,y)完成当前宏块的MPEG-4编码处理。至此,当前宏块的MPEG-2到MPEG-4的转码处理已完成。
对第3帧中的每个宏块按照上述方法进行转码处理,直至第3帧转码处理完毕。
4)MPEG-2解码得到第4帧图像,判断该帧的编码类型为B帧,所以对于每个宏块采用运动重估计方法计算MPEG-4编码运动向量。
该帧的参考关系如图9所示,并且对应于图4中的s=3,t=1。
(41)由式①速度恒定方法运动重估计得到的MPEG-4编码运动向量 (42)由式②加速度恒定方法运动重估计得到的MPEG-4编码运动向量 =16V1(x,y)-12V2(x,y)]]>(43)由式③区域运动恒定方法运动重估计得到的MPEG-4编码运动向量 上述三种运动向量重估计方法得到了三个MPEG-4编码运动向量的估计值 和 对 和 分别进行MPEG-4运动补偿,并比较各自的残差,保留残差最小的运动向量作为 对 进行半像素范围的精细化搜索得到运动向量Vb(x,y);Vb(x,y)即为最终的MPEG-4编码运动向量;最后利用Vb(x,y)完成当前宏块的MPEG-4编码处理。至此,当前宏块的MPEG-2到MPEG-4的转码处理已完成;对第4帧中的每个宏块按照上述方法进行转码处理,直至第4帧转码处理完毕。
5)MPEG-2解码得到第5帧图像,判断该帧的编码类型为P帧,所以对于每个宏块采用运动重估计方法计算MPEG-4编码运动向量。
该帧的参考关系如图10所示,并且对应于图5中的s=4。
(51)由④速度恒定方法重估计得到的MPEG-4编码运动向量 (52)由⑤区域运动恒定方法运动重估计得到的MPEG-4编码运动向量 上述两种运动向量重估计方法得到了两个MPEG-4编码运动向量的估计值 和 和 分别进行MPEG-4运动补偿,并比较各自的残差,保留残差较小的运动向量作为 对 进行半像素范围的精细化搜索得到运动向量Vp(x,y);Vp(x,y)即为最终的MPEG-4编码运动向量;最后利用Vb(x,y)完成当前宏块的MPEG-4编码处理。至此,当前宏块的MPEG-2到MPEG-4的转码处理已完成。
对第5帧中的每个宏块按照上述方法进行转码处理,直至第5帧转码处理完毕。
6)从第6帧开始,GOP中后续图像的编码类型和参考关系都可以在上述2-5步中找到相同的情况,故转码处理操作也相同,重复2-5中的相应操作即可;7)至此第1个GOP的MPEG-2到MPEG-4的转码操作完成;8)对视频序列中的每个GOP重复上述1-7步,直至整个MPEG-2到MPEG-4的转码处理结束。
权利要求
1.一种流式视频像素域转码的方法,其特征在于,包括以下步骤1)对MPEG-2格式的视频码流进行MPEG-2解码得到当前帧图像和各个宏块的MPEG-2编码运动向量;2)判断当前帧在MPEG-2格式中的帧类型,如果是I帧则不需进行运动重估计,直接进行MPEG-4编码;3)如果是B帧,则对于每个宏块,利用解码得到的MPEG-2运动向量V1(x,y)和V2(x,y)分别采用“速度恒定”,“加速度恒定”和“区域运动恒定”的运动重估计方法得到三个重估计运动向量 和 然后,对所述三个重估计运动向量分别进行MPEG-4运动补偿并比较各自的残差,保留残差最小的重估计运动向量 对 进行半像素范围的细化搜索得到最终的编码运动向量Vb(x,y);4)如果是P帧,则对于每个宏块,利用解码得到的运动向量V1(x,y)分别采用“速度恒定”和“区域运动恒定”的运动重估计方法得到两个重估计运动向量 和 然后,对两个重估计运动向量分别进行MPEG-4运动补偿并比较各自的残差,保留残差较小的重估计运动向量 对该向量进行半像素范围的细化搜索得到最终的编码运动向量Vp(x,y);5)利用得到的最终的编码运动向量Vb(x,y)或Vp(x,y),完成该宏块的MPEG-4编码;6)输出码流并判断转码是否结束,如果没有结束,则继续解码下一帧并如上所各步骤进行转码处理。
2.如权利要求1所述的方法,其特征在于,所述步骤3)中,得到重估计MPEG-4运动向量 和 分别为31)采用“速度恒定”方法运动重估计得到的MPEG-4编码运动向量 32)采用“加速度恒定”方法运动重估计得到的MPEG-4编码运动向量 33)采用“区域运动恒定”方法运动重估计得到的MPEG-4编码运动向量 其中,M1(x,y)是当前编码宏块上方邻近宏块的MPEG-4编码运动向量,M2(x,y)是当前编码宏块左方邻近宏块的MPEG-4编码运动向量,M3(x,y)是当前编码宏块右上方邻近宏块的MPEG-4编码运动向量。
3.如权利要求1所述的方法,其特征在于,所述步骤4)中,得到的重估计MPEG-4运动向量 和 分别为41)“速度恒定”方法运动重估计得到的MPEG-4编码运动向量 42)“区域运动恒定”方法运动重估计得到的MPEG-4编码运动向量 其中,M1(x,y)是当前编码宏块上方邻近宏块的MPEG-4编码运动向量,M2(x,y)是当前编码宏块左方邻近宏块的MPEG-4编码运动向量,M3(x,y)是当前编码宏块右上方邻近宏块的MPEG-4编码运动向量。
全文摘要
本发明涉及一种流式视频像素域转码的方法,属于计算机多媒体技术领域,包括对MPEG-2格式的视频码流进行MPEG-2解码得到当前帧图像和各个宏块的MPEG-2编码运动向量;判断当前帧在MPEG-2格式中的帧类型,如果是I帧则直接进行MPEG-4编码;如果是B帧或P帧,则对于每个宏块,利用解码得到的MPEG-2运动向量分别采用运动重估计方法得到多个重估计运动向量;保留残差最小的重估计运动向量并进行半像素范围的细化搜索得到最终的编码运动向量;完成该宏块的MPEG-4编码;继续解码下一帧并进行转码处理。本发明基于该假设设计的运动重估计方法能更好的适应快速运动的场景,有效弥补了已有的流式视频像素域转码的方法采用线性拟和的不足之处。
文档编号H04N7/24GK101035284SQ200710063818
公开日2007年9月12日 申请日期2007年2月12日 优先权日2007年2月12日
发明者戴琼海, 于志涛, 尚明海 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1