论文部分内容阅读
数字3C加速融合的时代,以影音播放为代表的嵌入式多媒体处理有着广阔的市场空间,机顶盒、智能手机、平板电脑等嵌入式终端逐渐占领消费类电子市场,用户不断增长的需求对嵌入式多媒体播放技术提出更高要求。紧随嵌入式处理器IP核设计及制造工艺的进步,更多的硬件资源可用于提升多媒体处理性能,这对嵌入式播放软件的设计提出更高考验。
本文选用ARM11核+DSP的解决方案,基于S3C6410和嵌入式Linux设计实现了一款嵌入式多媒体播放器。所设计的可扩展性的软件架构充分发挥了S3C6410内嵌的DSP协处理器的多媒体处理性能;针对平台特点改进的音视频同步算法,以及软/硬件视频解码搭配软/硬件缩放与颜色空间转换的工作模式,在链队列数据缓冲模型及POSIX Threads多线程模型的驱动下,协作实现了嵌入式多媒体播放器,达到了既能满足对D1分辨率的H.264 BP或MPEG4 SP编码视频的流畅、同步播放,又对容器格式和应用场合提供广泛支持的设计目标。本文为嵌入式多媒体播放器设计的基于Qt4的图形界面,增强了软件的易用性;为S3C6410平台研发的多媒体功能模块测试程序可被该平台类似应用借鉴。本文主要工作如下:
1.研究嵌入式多媒体播放技术的发展趋势和解决方案,确定本课题技术方案。研究ARM11和ARMv6架构特点,搭建适用于ARM11和嵌入式Linux平台的开发环境。
2.研究多媒体编解码标准,设计系统架构方案。分析Real6410硬件资源和S3C6410内嵌的MFC、Postprocessor协处理器的工作原理,设计硬件体系结构。
3.为嵌入式多媒体播放器应用软件设计了具有扩展性的软件架构参考模型;设计实现了基于POSIX Pthreads的多线程并发处理和基于链队列的数据缓冲。
4.研究MFC对H.264与MPEG-4的解码原理和Postprocessor的处理流程。实现了FFmpeg与MFC的双“视频解码”和libswscale与Postprocessor的软硬件双“缩放与颜色空间转换”的工作模式。
5.针对本平台特点改进音视频同步算法并用多线程技术实现;实现了基于Overlay技术的Framebuffer视频显示和基于ALSA的音频输出;基于Qt4设计了播放列表,基本实现了为嵌入式多媒体播放器设计的图形界面。
6.优化了部分程序代码;设计了适用于S3C6410平台的带有Qt图形界面的多媒体功能模块测试程序;对嵌入式多媒体播放器进行了功能模块分项测试和整机性能测试。