论文部分内容阅读
媒体播放器是一种大众娱乐消费类电子产品,一般定义为多媒体影音播放器。它除了看电影的基本功能外还支持音乐播放、浏览图片,甚至部分产品还具有上网等功能,能够满足人们随时播放视频的需要。随着当今社会人们的旅游、出差、户外活动的日益增加,对媒体播放器的需求量将迅速增加,而由于现在多媒体技术中采用的视频、音频编码方式和文件格式的多样性和复杂性,要求媒体播放器要具有很强的性能和功能,这就对其硬件和软件系统都提出了很高的要求。本文选择ARM核心的三星S3C2440微处理器,在此基础上进行了硬件扩展和软件系统的选择,设计了一个简单的媒体播放器系统。在该系统中,首先,以S3C2440为核心,设计了系统终端的硬件,给出了系统硬件的总体架构,设计了S3C2440处理器和外部电路的硬件接口以及总线连接,详细设计了存储器、LCD、电源管理模块的电路。其次,阐述了将嵌入式Linux移植到本系统的具体方法,分析了混合文件系统的构建,选择Cramfs+Yaffs作为本系统的文件系统,并给出了具体的实现方法。同时,从硬件、操作系统以及软件代码设计的层面上,研究如何降低系统的功耗,通过减少系统的耗能从而节约能源、提高速度以及减小尺寸。再次,分别使用libmad和ffmpeg实现MP3音频解码和MP4视频解码,并对音视频同步进行了深入的研究。同时选择挪威Trolltech公司的Qt/Embedded作为系统上层图形界面应用程序,并成功地完成了其到系统的移植。最后,由于解码后的图像是YUV格式,需要转化成RGB格式来播放,并且每帧图像在播放前都要经过YUV到RGB的转换,降低了整体解码速度,为了解决这个问题,本文使用完全查表法来转换色彩空间,每次转换只需要一次查表,从而大大降低了算法的时间复杂度,加快了解码速度,保证了系统的实时性。