博士论坛
文章编号:1008-0570(2010)09-2-0012-02
《微计算机信息》(嵌入式与SOC)2010年第26卷第9-2期
基于S3C2440的多格式媒体播放器的设计与实现
DesignandImplementationofMulti-formatMediaPlayerbasedonS3C2440
(中南大学)
许雪梅徐蔚钦周文黄帅
XUXue-meiXUWei-qinZHOUWenHUANGShuai
摘要:设计了一种嵌入式多格式媒体播放器。硬件系统采用三星公司ARM9系列的S3C2440芯片作为其核心,软件平台采用
Linux操作系统,利用Mplayer编译的多种软件解码器,实现了一款可以播放各种常见格式的媒体播放器。该系统完成了播放的各项功能,具有很好的用户图形交互界面,为嵌入式ARM播放器的开发打下良好的基础。关键词:S3C2440;媒体播放器;嵌入式系统;用户图形界面中图分类号:TP37文献标识码:B
技术创新
Abstract:Thispaperresearchesthedesignofanembeddedmulti-formatmediaplayer.ThesystemselectsS3C2440chipbasedonSamsungARM9seriesasthecoreofhardwareplatformandembeddedLinuxasoperatingsystem.UsingavarietyofsoftwaredecodercompiledinMplayer,amediaplayerthatcanplaymostofcommonformatmediahavebeenrealized.Thissystemcancompletevari-ousfunctionsofplayingandincludeagoodgraphicaluserinterface.ItlaysagoodfoundationfordevelopmentofembeddedARMplayers.Keywords:S3C2440;Mediaplayer;Embeddedsystem;Graphicaluserinterface
1引言
随着电子技术,多媒体技术及网络技术的快速发展,视频播放系统正在向嵌入式,网络化方向发展,多媒体组件逐渐成为系统中不可缺少的重要组成部分。现在许多手机和PDA上已经有了多媒体播放器,可是与PC机上的播放器相比,现有的这些播放器的功能都很不完善,比如说支持的播放文件格式很少,只支持MPEG-1格式的文件,存储容量小,功耗高,持续播放时间不长,没有中文界面等。本文介绍的播放器系统提供了对流行的
3系统硬件设计
本系统由嵌入式微处理器、外围硬件设备、软件程序等部分组成,硬件部分的核心是ARM9系列的S3C2440芯片,主频高达530MHz,它提供了MMU处理虚拟内存管理、LCD控制器、
MPEG-1、MPEG-2、MPEG-4、DivX、H.2等格式的音视频文件的支持,具有良好的用户界面,高性能、低功耗、高集成度,可扩展
等特点。
2系统总体结构
整个播放器系统的总体架构如图1所示。
AC97控制器,S3C2440高度的集成性可节省外围电路,降低系统的成本。外围硬件设备包含M字节的SDRAM,工作在32位模式下。2个USBHOST,可以从USB接口读入移动存储介质中的多媒体。FLASH芯片采用K9F1280,用来存储启动引导程序U-boot、内核及文件系统。以太网接口可以作为读取接受流媒体的入口。TFTLCD作为视频输出设备,用来显示音视频文件的相关信息。音频D/A转换芯片选用具有IIS接口的U-DA1341。
硬件系统的多媒体数据流程为:外存中的多媒体文件通过SDRAM缓冲,分解为视频流和音频流,由主芯片S3C2440负责数据流的软件解码后,视频流通过LCD控制器送到TFTLCD输出,音频流通过AC97控制器,送到Speaker输出。
4软件设计与实现
图1系统总体设计框架图
为了提高系统运行效率,本文中的播放器系统采用
GEC2440平台作为硬件平台,软件平台选用2.6.12内核的Lin-ux操作系统来控制各设备驱动的正常运行,管理进程调度和资源(如CPU时间、内存)分配等。在Linux环境中交叉编译带有多种软件解码器的多媒体播放器Mplayer,实现多媒体文件的解码播放功能。最后选用MiniGUI图形用户接口设计播放器的人机交互界面,实现文件管理和播放控制两部分功能。
许雪梅:博士后副教授
-12-360元/年邮局订阅号:82-946
图2系统软件设计总体框架图
《现场总线技术应用200例》
您的论文得到两院院士关注
播放器软件主要由三部分组成,工作于从模式的Mplayer、系统控制程序以及用户界面模块,它们之间的关系结构如图2所示。
工作于从模式的Mplayer从系统控制程序模块获得播放控制相关命令,完成对多媒体文件的音视频预处理,解码,通过底层设备驱动同步输出;系统控制程序是播放器的主控模块,主要负责接收来自播放器界面的按键事件和消息,完成播放控制处理,信息管理;用户界面模块主要负责按键消息分发、处理,完成播放器的所有窗口的创建、窗口的管理功能,为播放器的错误提示信息、播放状态提示信息、节目信息提示等提供统一的抽象应用程序接口。
博士论坛
对于视频数据就会读取相应的帧,逐帧解码,将解码出来的信息输出,传递给下一级的输出层。
输出层:主要包含音、视频同步,音频输出和视频输出模块。这一层由输出模块选择最适合的输出设备驱动,进行音、视频的播放。
4.3MiniGUI制作用户界面
播放器的用户界面主要包括文件管理和播放控制两部分功能。文件管理主要是选择要播放的文件,实现文件列表管理、文件列表排序和添加删除文件。播放控制主要是对播放进行停止、暂停及快进等控制。
播放控制部分代码如下:
4.1Mplayer移植
Mplayer是Linux系统上优秀的多媒体播放器,源码开放,具有可移植性,本身编译自带了多种类型的解码器库,另外还可以自行增加解码库。它支持大多数的媒体格式如:MPEG/VOB,AVI,ASF/WMA/WMV,RM,QT/MOV/MP4,FLI,NuppelVideo,yuv4mpeg等文件。还能观看VC,SVCD,DVD,3ivx,DivX3/4/5,甚至WMV电影。
要使Mplayer在平台上顺利运行,需要先在平台上烧入引导加载程序(u-boot),操作系统,文件系统。下载最新版的Mplayer-1.0rc2,为了增加对各种音视频文件的支持,在配置时添加“—with-extralibdir=解码库路径”选项来增加libpng、libmad、libfaad三个解码库。最后根据需要进行配置和交叉编译,编译成功后将可执行文件烧入进GEC2440的根文件系统中,就可以实现基于S3C2440的基本软件解码播放功能。
4.2软件解码流程
播放器程序流程图如图3所示。该流程主要分四个功能层。
staticintMainEvent(HWNDhwnd,skin_itemt*item,intevent,void*data)
{
if(event=SIE_BUTTON_CLICKED){switch(item->id){
caseSIIDPLAY://播放按键消息……caseSIIDPAUSE://暂停按键消息……caseSIIDSTOP://停止按键消息……caseSIIDCLOSE://关闭播放器}
}elseif(event=SIE_SLIDER_CHANGED&&item->id!=SI-ID_VOLUME){……
}
return1;}
技术创新
图4播放效果图
5结语
本文提出了一种基于32位的高性能ARM处理器
S3C2440的多格式媒体播放器的系统设计和实现方案,经过测
图3程序流程图
输入层:程序从选定的多媒体文件读入数据,将它们放入缓冲区,并读入文件头,做一些基本的处理,读出文件长度,分析文件格式获取此文件的编码类型、码率、标签信息,判断文件是否损坏等。
分流层:即图中分离部分,其主要功能模块为分流器,它的功能是依靠数据头来判断音、视频在这段文件数据中各自的位置,继而对音、视频进行分离。分离后的音、视频数据将分别存入各自缓冲区。分流器同时将提取时间戳(PTS,Presentationtime
试可以流畅的播放DivX4.X、DivX5.X、DivX、WMV、MPEG-1和
MP3、aac等格式的音视频文件,播放分辨率为320×240,帧频可达30fps,音视频可以同步播放,播放效果如图4所示。该方案解决了有些格式的多媒体在嵌入式播放器中不能播放的问题,具有可扩展性,今后可以在以ARM为核心处理器的多媒体手机
或PDA上应用,特别是针对3G移动通信的发展,该播放器可以播放流媒体格式的文件,对于流媒体技术的应用开发也具有借鉴作用。
本文作者创新点:在基于S3C2440的嵌入式系统中,利用
stamp),随音、视频数据一同传送。通过PTS,我们可以有效的控
制音频和视频的同步输出。
解码层:该层不但包含音、视频的解码模块,也包含了音、视频解码器的选择模块。根据多媒体文件的格式程序会自动从
Mplayer的多种软件解码器,实现可播放各种格式多媒体的媒体
播放器系统。
ad_mp3lib.c,ad_acm.c,ad_pcm.c,vd_xvid.c,vd_qtvideo.c等解码器文件中选择对应的音视频解码器,并对解码器进行初始化,以便将音、视频数据分别进行解码,对于音频数据就会进行重采样,
《PLC技术应用200例》
参考文献
[1]王旭东,徐刚.基于WindowsCE.Net4.2嵌入式操作系统多媒体播放器的应用研究[J].微计算机信息,2006,6(2):77-79
[2]贺志强.基于Qtopia的媒体播放器的设计与实现[J].计算机与现代化,2009,6:81-83(下转第9页)邮局订阅号:82-946360元/年-13-
您的论文得到两院院士关注
博士论坛
2004,26(5):475-480.
[2]黄丛生,姚俊武.自重构机器人团队控制系统的开发[J].微计算机信息,2008,24(1-2):260-262.
[3]HowardA.,MataddM.,SukhatmeG..Anincrementalself-deploymentalgorithmformobilesensornetworks[J].AutonomousRobots,SpecialIssueonIntelligentEmbeddedSystems,2002,13(2):113-126.
[4]N.Pezeshkian,H.G.Nguyen,A.Burmeister.UnmannedGroundVehicleRadioRelayDeploymentSystemforNon-line-of-sightOperations[A].ProceedingsofIASTEDInternationalConferenceonRoboticsandApplications[C],Wuerzburg,Germany,2007:29-31.[5]UlamP.,ArkinR.Whengoodcommunicationsgobad:Communicationsrecoveryformulti-robotteams[A].Proceedingsof2004IEEEInternationalConferenceonRoboticsandAutomation[C],BarcelonaSpain,2004:3727-3734.
[6]VazquezJ.,MalcolmC.Distributedmulti-robotexplorationmaintainingamobilenetwork[A].ProceedingsofSecondIEEEInternationalConferenceonIntelligentSystems[C],2004:113-118.
作者简介:崔益安(1978-),男,湖南益阳人,中南大学信息物理工程学院讲师,博士,研究领域为人工智能,多智能系统等。
Biography:CuiYi-an(1978-),Male,HunanProvince,CentralSouthUniversity,Dr.,researchinterestsincludeAIandmulti-robotssystem.(410083湖南长沙中南大学信息物理工程学院)崔益安
(610031四川成都中铁二院工程集团有限责任公司)高景宏(SchoolofInfo-PhysicsEngineering,CentralSouthUniversity,Changsha410083,China)CUIYi-an
(EngineeringGroupCo.Ltd.OftheSecondInstituteOfChinaRailway,ChenduChina,610031)GAOJing-hong
通讯地址:(410083湖南长沙中南大学信息物理工程学院)
崔益安
(收稿日期:2009.11.21)(修稿日期:2010.02.25)
图4算法实现的准确性验证
5结论
本文在给出FSD算法流程的基础上,详细推到了CORDIC运算和对应的硬件算法逻辑,并给出了FSD算法实现的硬件原理图,进而在FPGA平台上实现了STC解码,并与理论解码算法比较,验证了其正确性。给出的实现方法能对WiMAX标准的实际实现起到一定的参考作用。
参考文献:
[1]NChiurtu,BRimoldi,ETelatar.Onthecapacityofmulti-an-tennaGaussianchannels[J].InformationTheory,2001IEEEInter-nationalSymposium,2001,24:53.
[2]刘冰.MIMO系统的信道容量分析[J].微计算机信息,2005,12-151.3:129-130、
[3]VTarokh,NSeshadri,ARCalderbank.Space-timeblockcodesfromorthogonaldesigns[J].IEEETransactiononInformation-Theory,1999,45:1456-1467.
[4]VTarokh,NSeshadri,ARCalderbank.Space-timecodesforhighdataratewirelesscommunication:performancecriterionandcodeconstruction[J].IEEETransactiononInformationTheory,1998,44:744-765.
[5]ABurg,MBor`gmann,MWenk.VLSIimplementationofMI-MOdetectionusingthespheredecodingalgorithm[J].IEEEJournalofSolid-StateCircuits,2005,40:1566-1577.
[6]HWang,PLeray,JPalicot.AReconfigurableArchitectureforMIMOSquareRootDecoder[J].LectureNotesinComputerSci-ence,ReconfigurableComputing:ArchitecturesandApplications,2006.
作者简介:陈宏(1972-),女(汉族),天津人,博士研究生,主要研究方向:无线宽带通信物理层算法研究。
Biography:ChenHong(1972-),female(Han),Tianjin,Tianjinuniversity,PhD,majoredincommunicationandinformationsys-tems,Researcharea:physicallayeralgorithmsinwirelessbroadbandcommunicationsystem.(300072天津天津大学电子信息工程学院)陈宏戴居丰(SchoolofElectronic&InformationEngineering,TianjinU-niversity,Tianjin,300072,China)CHENHongDAIJu-feng通讯地址:(300072天津天津大学电子信息工程学院)陈宏
(收稿日期:2009.11.21)(修稿日期:2010.02.25)
技术创新
(上接第13页)[3]鄂大伟.多媒体技术基础与应用(第三版)[M].北京:高等教育出版社,2007
[4]杨小军.基于嵌入式Linux系统界面的研究[[J].现代电子技术,2004,27(15):-91
[5]魏永明,耿岳,钟书毅.LINUX设备驱动程序(第三版)[M].北京:中国电力出版社,2006
作者简介:许雪梅(1971-),女,博士后,副教授,研究方向为光电子技术及信号采集与处理;徐蔚钦(1986-)男,在读硕士,研究方向为
嵌入式系统开发与应用。
Biography:XUXue-mei(1971-),female,postdoctoral,researcharea:optoelectronictechnologyandsignalcollectionandprocess-ing.(410083长沙中南大学物理科学与技术学院)许雪梅徐蔚钦
周文黄帅
(上接第11页)进行的仿真实验表明SSS策略能有效建立通信链路。下一步的研究将对算法策略进行进一步改进,并研究链路建立的性能效果的评价方法等。
(SchoolofPhysicsScienceandTechnology,CentralSouthU-niversity,ChangshaHunan410083,China)XUXue-meiXUWei-qinZHOUWenHUANGShuai
通讯地址:(410083湖南沙市中南大学校本部桃A328)
徐蔚钦
(收稿日期:2009.11.21)(修稿日期:2010.02.25)
参考文献
[1]谢云,杨宜民.全自主机器人足球系统的研究综述[J].机器人,
《PLC技术应用200例》
邮局订阅号:82-946360元/年-9-