智能音乐播放器的设计与实现(毕业设计)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章绪论
1.1 MP3播放器的发展沿革
MP3播放器的设计是一门集计算机技术、通信技术和数字多媒体技术于一体的综合设计。媒体在中国的宽带建设中被列为最主要的应用之一,越来越多的提供网络在线服务的运营商开始采用网络视频媒体服务解决方案,以增强在网络服务上的优势。媒体将成为未来互联网应用的主流,并将推动互联网整体架构的革新。
近年来,媒体技术在世界范围内己有应用,特别是1995年推出第一个Internet媒体播放器以来,Internet媒体应用有了爆炸性增长。互联网的发展更是决定了媒体市场的广阔前景。商业网站利用媒体上新闻、音乐直播和点播,企业和机构采用点播和媒体进行员工培训、信息发布、公司介绍等,可提高效率,节约开支。随着计算机技术、网络技术、数字多媒体技术等高科技技术的发展,媒体播放器技术也得到了迅速发展。媒体播放器的发展大致可分为两个阶段:基于PC的媒体播放器阶段和嵌入式媒体播放器阶段。
目前基于PC的MP3播放技术市场上主流的媒体技术有三种,分别是RealNetworks公司的RealMedia, Microsoft的Windows Media和Apple公司的Quicklime。这三家的技术都有自己的专利算法、专利文件格式甚至专利传输控制协议这三个关键要素在里面。
Apple公司的Quicklime是一个非常老牌的媒体技术集成,是数字媒体领域事实上的工业标准。之所以说集成这个词是因为Quicklime实际上是一个开放式的架构,包含了各种样的流式或者非流式的媒体技术。目前的最新版本支持MP4文件格式的播放。
RealNetworks公司在20世纪90年代中期首先推出了媒体技术,并随着互联网的急速发展而壮大了自身,在市场上处于主动地位,并拥有最多的用户数量。RealMedia通过基于SMIL并结合自己的RealPix和RealText技术来达到一定的交互能力和媒体控制能力,不过相比Quicklime来说还有一段距离。
Microsoft是三家之中最后进入这个市场的,但利用其操作系统的便利很快便取得了一定的市场份额。Windows Media的关键核心是MMS协议和ASF数据格式,MMS用于网络传输控制,ASF则用于媒体内容和编码方案的打包。
其实从一般的角度来看,这三种技术之间的差异并不大。总的来说,如果使用Windows 服务器平台,Windows Media的费用最少。Quicklime在性能价格比上具有优势,而RealMedia 则在用户数量上有优势。
目前虽然基于PC的媒体播放系统仍然占据多媒体应用的主要市场,但是它具有一个致命缺点就是,使用基于PC平台的媒体播放器的用户必须熟练掌握PC技术,并且其应用无法离开多媒体PC。
近两年随着媒体技术应用到各个领域,特别是计算机、通信、消费电子产品领域(3C产
业—Computer,Communication,Consumer Electronics),对视频播放系统的要求也越来越高:操作简单、实时可靠、多功能、数字化、经济实用的媒体播放器的开发和设计正越来越多地受到人们的瞩目。基于嵌入式技术的媒体播放器应运而生。
嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统以其本身体积小,实时性高,稳定性好,支持以太网等优点,成为多媒体应用领域的新热点。基于嵌入式技术的媒体播放器有效地将嵌入式技术和媒体技术结合在一起,可以很好地解决基于PC的媒体播放器在实际应用中存在的不便和问题。
和基于PC的媒体播放器相比,基于嵌入式技术的媒体播放器具有:体积小,携带方便,功能专业化高,成本较低,稳定性高,实时性好等特点。因此基于嵌入式技术的流体播放器必将有良好的应用与发展前景,特别是在消费电子产品领域(3C产业)。
1.2 课题的内容和意义
在一个典型的嵌入式媒体播放器的无线以太网应用中,多个嵌入式媒体播放器利用其无线网卡和一个无线接入点(Access Point,简称AP)组成一个BSS (Basic Service Set),这个BSS通过无线接入点和计算机网络相连;媒体服务器也通过其以太网接口连接在计算机网络上。媒体服务器根据获得的请求向嵌入式媒体播放器发送媒体数据;嵌入式媒体播放器向媒体服务器提出请求,在媒体服务器响应后接收媒体服务器发送过来的多媒体数据流并进行相应的解码和播放。
本课题对该嵌入式媒体播放器的嵌入式系统进行了分析和设计:
●首先结合主要芯片的性能对MP3播放器的硬件进行了设计。
●本播放器的硬件设计以AT89C51SND1C为核心。
●其次根据硬件设计基础和Linux下编程的特主要芯片的性能对MP3播放器的硬件
进行了设计点对嵌入式软件进行了总体设计。
●嵌入式Linux操作系统使用的是Monta Vista Linux。在其基础上开发的嵌入式媒体
播放器应用软件主要有三部分构成,分别是图形用户界面模块、系统管理主控模块
和音频视频解码器。图形用户界面模块通过事件/消息机制和系统管理主控模块交
互。音视频解码器模块可则从系统管理主控模块获得编码的音视频数据并对其解码
后发送己解码的音视频数据给系统管理主控模块。
●接着对嵌入式媒体播放器的应用软件的音频视频解码模块的实现进行了详细设计。
本嵌入式媒体播放器支持MP3的音频。
●为了达到性能需求的要求,还需要对软件进行必要的优化。对于MP3音频解码,
采用定点优化的MP3算法以及利用IPP库中对MP3的优化,使得实时解码MP3
达到比较高的效率。
●最后完成对硬件功能和性能的测试工作。
第2章方案选择及主要芯片简介
2.1 MP3播放器原理说明
经过近段时间的学习和了解,我认为MP3播放器的原理归根结底就是数字化信号的压缩、解码转换、传送放大的一个过程。数字化的声音有很多种存在形式:W A V、MP3、AAC 等等。但是无论怎样,声音的数据量由两方面决定:频度和样本精度。由于对于声音的数字化涉及较广的数学和感知领域的知识,我们只是简要介绍一下MP3音频。
MPEG-1音频定义了3个分明的层次,它们的基本模型是相同的。层1是最为基础的,层2和层3都在层1的基础上有所提高。每个后继的层次都有更高的压缩比,但也因此需要更加复杂的解码器。我们平时说的MP3解码就是说MPEG-1音频解码标准的第三层。
MPEG-1声音标准所提供的三个独立的压缩层次具体如下:
层1:编码器最为简单,编码的输出数据率为384kb/s,主要用于小型数字盒式磁带;
层2:编码器的复杂程度较高,编码输出数据率为256kb/s到192kb/s,广泛应用于CD,VCD等;
层3:编码器最为复杂,编码器的输出数据率为64kb/s,即为现今非常流行的MP3。
MP3的数据是以帧流的形式存储或传输的,每个帧由帧头和帧数据组成。媒体每一帧包含的比特数可以是不定的,但是能从帧头信息中的数据计算得到媒体。公式为:帧内比特数=(帧内采样数x位率)/采样率。对于MP3,帧内的数据包含2x576个时城采样值,采样率有44.1kHz,48kHz,32kHz3种,位率是从32kbps到320kbps。
帧头(header)包括头信息(4个字节),CRC校验数据(可选,2个字节),帧边信息(也可称为附加信息。单声道为17个字节,双声道为32个字节)。其中头信息中包含了MP3帧流的特征信息,有4个字节,32位。具体为:同步字(OXFFF)、标识符、层、CRC校验位、使能位串指数、采样频率、填充位、私有标志、模式、模式扩展位、版权、原始流/复制流和增强方式。帧边信息包含了解码所需的一切信息,如主数据开始指针、主数据位数、与Huffman解码相关的信息、与逆量化相关的信息等。
帧数据(main_data)包括两个粒度组的数据,这两个粒度的数据几乎是相互独立的。每个粒度有576个时域的采样值。每个粒度的数据又包含了每个声道的数据(分单声道和双声道),而每个声道数据中具体包含了MP3解码所需要的比例因子和Huffman编码的数据。最后是辅助数据。
但是,用于解码的帧的主数据的起始位置并不一定在该帧边信息后,而是根据帧边信息中主数据开始的值来步扩展和完善。采样频率的选择性更高,更接近CD音质;并且采用了解析度更高的滤波器组,达到很高的压缩率,并且可大幅度降低传输时间及介绍存储空间,适合新一代音乐产品决定主数据起始位置的前移字节数。
但是,用于解码的帧的主数据的起始位置并不一定在该帧边信息后,而是根据帧边信息