MPEG一4编码器在Intel PXA27X平台上的实现时间

2009-07-06 17:04:00来源:现代电子技术 作者:邹 涛,易 凡 武汉大学热度:

摘要:提出基于IntelPXA27X微处理器开发平台,在Linux操作系统上实现MPEG4编码软件设计。介绍了MPEG4的视频标准、编码关键技术以及编码软件实现部分,并进行针对IntelPXA27X处理器软件的优化和实际平台的测试。测试结果表明作为商用PDAMPEG4编码可以满足用户的对视频的需求,其速度达到了20帧/s,且有较高的压缩率,码流比较平稳,并有较好的质量。
关键词:MPEG4IntelPXA27X;优化;Linux


引言
随着人们对消费类电子产品(PDAMP4HDTV)需求不断增加,特别是对高质量高清晰多媒体的要求越来越高,因此视频质量已经成为广大消费者关注的焦点之一。在视频的格式方面,一些国际组织和大公司分别提出了自己的标准,如ISO组织的MPEG2MPEG4,微软的WMV等。
针对Intel公司的PXA27X处理器(这是一个包含IntelWirelessMMX技术基于IntelXscale的处理器),以XVIDMPEG4为基础,针对MPEG4Linux操作系统中实现视频的编码要求。在此首先介绍MPEG4视频标准,紧接着阐述MPEG-4视频标准的关键技术和MPEG4视频编码软件部分,最后还介绍了优化方法和实际平台的测试。


lMPEG4是视频标准
MPEG4视频部分是MPEG4标准的核心内容之一。既提供传统的基于帧的编码方法又提供基于视频对象(VO)的编码方法。在某一时刻,视频对象以视频对象平面(VOP)的形式出现,图1所示为MPEG4编码的框架。编码也主要针对该时刻视频对象的形状、运动和纹理这三类信息来进行。


3MPEG4是视频编码软件
MPEG4是软件编码是一个比较大的工程,项目用到的主要函数有:
mp4_encoder_init:初始化编码的参数,如视频大小尺寸、码流、缓冲大小;
encode_MPEG4:编码调用的总函数,文本是基本层;
encode_pvop_MPEG4P帧的VOP的编码的总函数;
ippiBlockMatcn_Imeger_16x16_MVFAST:运动搜索MVFAST(MotionVectorFieldAdaDtiveSearchTechnique)
下面是帧间宏块编码的函数:
encode_inter_mb_MPEG4
(1)lookup_uvmv_MPEG4:查找色度图像块的运动矢量;
(2)ippiComputeTextureErrorBlock_SAD_8u16s:计算块残余的纹理误差;
(3)encode_block_inter_MPEG4DCT变化和量化每块的系数。这还得反变化,来重构下帧的参考帧;
(4)create_mb_MPEG4:得到宏块编码的信息;
(5)ippiEncodeMV_MPEG4_8u16s:运动矢量和纹理残余的编码;
(6)ippiEncodeVLCZigzag_Inter_MPEG4_16sluzigzig扫描和变长编码。
IPP的函数合理使用,可以提高性能。如ippiBlockMatch_InIeger_16x16_MVFAST这个函数就比ippiMotionEstimation_16x16_MVFAST减少3倍时间。这个函数是占正个系统最多的时间之一。


4MPEG4是视频编码优化和结果
这里是针对Intel公司的PXA27X处理器,MPEG4计算量复杂,特别是运动搜索,必须对其必要的优化,以满足实时编码的要求。编译优化是静态优化,优化编译器可以自动完成程序段和代码块范围内的优化问题,但由于对算法的流程很难获取,所以人工优化是不必可少的。可使用内联函数,WirelessMMX指令编写,如WLDRDWMACS,特别在对数据处理时,打包指令是必不可少的指令。合理分配指令周期流水线也是重点,如WLDRD需要4个周期,而WUNPCKEL只需要1个周期,使用IPP库函数将大量节约开发时间和提高性能等,按照实际的工程的需要编写指令。当然对算法的本身优化也不必可少,如运动搜索,运动补偿算法,将这些函数[FS:Page]优化运算时间大量减少。还有对数据搬移方面,如何有效应用硬件资源也将提高运行的性能,如DMA、缓存、寄存器等。
这里的试验平台是南望信息产业有限公司PDA,主频可达624MHz。视频大小(480×272)透过大量的试验,测试表明MPEG4编码可以满足用户拍视频需求,速度可达到20帧/s,而且有较高的压缩率,码流比较低,质量也不错。图34为实际拍摄2帧图像。

5结语
针对Intel公司的PXA27X微处理器开发平台,在Linux操作系统中实现视频编码的功能。但是消费类产品对视频的画面有更高的要求,同时由于视频编码需要消耗大量的电源,电源的管理仍是视频开发的研究重点。


2MPEG4视频编码关键技术
MPEG4视频基于VOP的编码就是针对运动信息、形状信息和纹理信息等3种信息的编码技术。
21形状编码
MPEG4首次引入形状信息的编码。VO的形状信息有2类:二值形状信息和灰度形状信息。二值形状信息用01表示VOP的形状。二值信息的编码采用基于块的运动补偿技术,可以无损或有损编码。灰度形状信息用0255之间的数值表示VOP的透明程度。对灰度形状信息的编码是分别对二值形状及像素亮度值进行编码。目前对灰度形状信息的编码主要采用基于块的运动补偿与DCT方法,在不需要形状信息的应用中(譬如基于规则矩形框帧的视频编码),形状编码会被屏蔽掉。这部分编码是以宏块为单位进行的。
22运动估计与补偿编码
类似于现有的编码标准,MPEG4采用运动预测和运动补偿技术来去除图像信息中的时间冗余成分,这些运动信息的编码技术可视为由现有标准向任意形状的VOP的延伸。VOP的编码有3种模式,即帧内编码模式(IVOP)、帧间预测编码模式(PVOP)和双向预测编码模式(BVOP)。在MFEG4中运动预测和运动补偿可以是基于16×16宏块的,也可以是基于8×8子块的。为了能适应任意形状的VOPMPEG4引入了图像填充技术和多边形匹配技术。图像填充技术利用VOP内部的像素值外推VOP外的像素值,以此获得运动预测的参考值。对于标准宏块,采用传统的基于块的运动估计和补偿技术。
23纹理编码
VOP视频的纹理信息可以表示为亮度成分Y和两个色度成分CrCb。帧内编码情况下,纹理信息包含有亮度和色度成分;运动补偿情况下,纹理信息表示经过运动补偿后的残差。纹理编码的对象可以是帧内编码模式的IVOP,也可以是帧间预测编码模式BVOPPVOP运动补偿后的预测误差。在帧内编码模式中,对于完全在VOP内的像素块,采用经典DCT方法。对于完全位于VOP之外的像素块则不进行编码:对于部分在VOP内,部分在VOP外的像素块首先采用图像填充技术获得VOP之外的像素值,之后再进行DCT编码。在帧间编码模式中,为了对BVOPPVOP运动补偿后的预测误差进行编码,将那些位于VOP区域之外的像素值设为128。纹理编码过程如图1所示,DCT变换、量化、扫描及变长编码,这些过程与现有标准基本相同。

责任编辑:xiaolin

为您推荐

MPEG-4的音频标准

曾制定出MPEG-1和MPEG-2视音频压缩标准的运动图像专家组(MPEG)目前正在发展最新的MPEG-4标准,其目标是提供未来的交互式多媒体应用。MPEG-4将制定出与以往不同的、具有高度灵活性和可扩展性的未来新一代国际标准。在音频标准的制定方面,比较以前的音频编码标准,MPEG-4增加了许多新的关于合成内容及场景描述等领域的工作,增加了诸如可分级性、音调变化、可编辑性及延迟等新功能。MPEG-4将以前发展良好但相互分离的高质量音频编码、计算机音乐及合成语音等第一次合成并在一起,在诸多领域内给予高度的灵活性。MPEG-4中关于音频信号将包括:传统的音频编码标准,即所谓“自然音频”(natur

MPEG4之前世今生

MPEG全称是MovingPicturesExpertsGroup,动态图象专家组的英文缩写,MPEG的缔造者们原先打算开发四个版本:MPEG1-MPEG4,以适用于不同带宽和数字影像质量的要求。后由于MPEG3被放弃,所以现存只有三个版本的MPEG:MPEG-1,MPEG-2,MPEG-4。总体来说,MPEG在三方面优于其他压缩/解压缩方案。首先,由于在一开始它就是做为一个国际化的标准来研究制定,所以,MPEG具有很好的兼容性。其次,MPEG能够比其他算法提供更好的压缩比,最高可达200:1。更重要的是,MPEG在提供高压缩比的同时,对数据的损失很小。DIVX视频编码技术实际就是MPEG4压

MPEG-7标准及其应用简介

MPEG-7标准及其应用简介人们如何在海量的媒体信息中迅速找到自己所需的内容,并对其进行个性化的访问?MPEG-7媒体内容描述规范使无法通过现有的搜索引擎查询视频、音频等内容的难题迎刃而解。本文分析了MPEG-7的描述方案,并重点分析了它的集中应用。一、引言国际标准化组织(ISO)在制定MPEG-1、MPEG-2及MPEG-4的标准基础上,推出了新的标准MPEG-7,该标准的正式名称为“多媒体内容描述接口”(MultimediaContentDescriptionInterface),其目标就是产生一种描述多媒体内容数据的标准,满足实时、非实时以及推-拉应用的需求,它既不同于基于波形和基于压缩

NTT开发的声音可逆压缩技术成为MPEG国标

图1:利用最新款电脑进行可逆压缩时,各技术的压缩率和解码时间比较。2005年12月27日,NTT宣布由其主导开发的声音可逆压缩(无损编码)技术日前已被批准为MPEG国际标准规格“MPEG-4ALS”。据称,此技术可用于主数据(MasterData)保存和高音质声音数据收发等用途。所谓可逆压缩,就是指能够准确无误地重现原始数字波形数据的压缩方式。不过,数据压缩率通常都低于MP3等非可逆压缩方式。MPEG-4ALS的压缩率取决于采样频率和音乐类型,一般在15%~70%之间。过去的可逆压缩技术包括微软开发的“WindowsMediaAudioLossless”,苹果电脑的“Ap