音频解码技术研究与音乐播放器实现Word文档格式.docx
《音频解码技术研究与音乐播放器实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《音频解码技术研究与音乐播放器实现Word文档格式.docx(83页珍藏版)》请在冰豆网上搜索。
![音频解码技术研究与音乐播放器实现Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/10/62767833-4022-4820-9dc9-8a3fefeda87e/62767833-4022-4820-9dc9-8a3fefeda87e1.gif)
项目工程;
资源文件.
1绪论
1.1课题的来源
语音时语言的声学表现,是人类交流信息最自然、最有效、最直接的手段,也是人类进行思维的一种依托。
随着社会的不断进步,人们的生活水平也在不断的提高,从而对精神生活提出了新的要求。
音乐一直以来就是人们日常休闲的必要调剂品,它可以陶冶人的情操,极大的丰富了人们的精神生活。
那么一首首动听的音乐又是如何播放出来的呢?
这就要通过形式多样的合成手段了,即当播放多媒体文件时,计算机将指令发给声卡,声卡按照指令将媒体播放信息重新合成起来。
所以,多媒体的播放效果取决于用户设备的质量和音色。
就电脑声卡而言,最为常见的手段是fm合成与波表合成。
前者多用于以前的isa声卡,fm是“频率调变”的英文缩写,它运用声音振荡的原理对MIDI进行合成处理。
但由于技术本身的局限,加上这类声卡或显卡用的大多数为廉价的芯片,效果自然差劲;
而波表和视频合成所带来的效果要远远超过fm,而且在电脑上已被广泛运用,各类波表,声卡、显卡,以及解码软件层出不穷。
图1.1多媒体播放流程图
然而,在音频压缩出现之前,存储高质量的数字音频数据往往需要占用大量的硬盘空间以及通道带宽。
假设一首普通的歌曲时间为一分钟,要想达到CD音质,至少需要大约10MB的存储空间,可以想象,如果要从Internet上下载这首歌,使用一个普通的28.8Kbit/s的Modem,不算传输开支和网络不畅,理论上将会用至少49分钟。
同时,如果是要在电脑上欣赏音乐,也会极大的降低磁盘占用空间,这明显是不可接受的。
所以,音乐的存储就成了一个问题。
为了使人们能够更方便,更直接的欣赏音乐,就必须要降低磁盘占用空间。
可以使用两种方法达到目的,降低采样指标或者压缩。
降低指标不可取,因此只能通过各种压缩方法进行压缩。
音频压缩需要编码,自然,播放此音频文件则需要解码。
编码,解码的不同,导致音频在经过处理后得到的音质也不尽相同,而好的音质能够更好的满足人们的听觉享受。
所以,对各种音频文件进行解码的技术研究就很有必要了。
本课题就是对音频解码技术进行相关研究,并设计出一款属于自己的音乐播放器软件。
1.2选题的背景及目的
1.2.1音频编解码发展历史
音频压缩技术的发展最初是从才能够无损压缩开始的。
20世纪70年代初,开始采用类似的瞬时压缩技术和块压扩(Block-Compressing)技术。
这种技术的编码率较低。
20世纪80年代,随着数字信号处理技术的发展,出现了从音质尚可到音质卓越的一系列频域编码算法。
20世纪80年代末至90年代初涌现的编码算法普遍采用了一种高效率编码技术,即利用人耳的掩蔽效应和临界频带等特性来进行子带编码和变换编码,其中有MUSICAM系统、128kbit/s的AC-2编码器、AC-3系统、ASPEC和SB-ADPCM编码算法等。
20世纪90年代至今,有损音频编码把音频数据的压缩率提高到了12:
1。
付出的代价是音质的下降。
比较著名的是MP3、AAC高级音频编码、RM等。
同时,能给最终用户提供最佳的听觉体验的无损压缩技术也取得了新的突破。
Meridian无损压缩(MLP)是一种应用所有权技术的音频编解码计划,它能传送多声道环绕声,并以可能的最高动态范围和更高的取样频率来确保任何声音细节都表现完美。
音频解码和音频编码是共生的,音频编码的发展历史其实也就是音频解码技术不断进步的真实写照。
1.2.2音频编解码过程
当前数字音频编码领域存在着不同的编码方案和实现方式,但基本的编码思路大同小异,对每一个音频声道中的PCM音频信号,首先都要将它们映射到频域中,这种时域到频域的映射可通过子带滤波器或通过变换滤波器组实现。
这两种方式的最大不同之处在于滤波器组中的频率分辨率不同。
每个声道中的音频采样块首先要根据心里声学模型来计算掩蔽门限值,然后由计算出的掩蔽门限值决定,从公共比特池中分配给该声道的不同频率域中多少比特数,或由计算出的掩蔽门限值来决定哪些频率范围内的量化噪声可引入而不需要去除。
最后将控制参数及辅助数据进行交织产生编码后的数据流。
解码过程则首先将编码后的数据流进行解码复用,然后通过比特流中传输的控制参数对音频数据反量化,或通过心里声学模型参数反向运算得到音频信号,最后得到的音频信号由频域反变换到时域,完成解码过程。
当前常见的音频编码系统主要有G.7xx、MPEG伴音系列和杜比音像系统。
CCITT最初定义的音频编码算法建议标准包括G.711、G.721、G.723等。
1995年,ITU-T批准了新的语音压缩标准G.729.该标准采用共轭结构代数码激励线性预测(CS-ACELP),可以仅用8kbit/s的带宽传输话音,而话音质量与32kbit/s的ADPCM相同,它被用于IP-phone技术中。
G.711是现在使用最普遍的编码技术,它是目前全世界电路交换电话网中使用的编码技术。
而在ADPCM上最主要的标准就是G.726,我们就以G.726ADPCM编码系统为例来了解一下编码解码的过程。
编码过程:
图1.2编码原理流程图
ACCUM
SUBTA
MIX
ADDA
ADDC
decoder()解码函数。
decoder()解码函数主要由ACCUM方框、MIX方框、ADDB方框、ADDC方框4个功能子方框组合完成。
g723-24-decoder()、g721decoder()、g723-40-decoder()用于完成24、32、40kbit/sADPCM解码原理。
首先读入k时刻ADPCM输入信号i,用k-1时刻量化差分信号dq和重建信号sr,调用predictor-zero()函数和predictor_pole()函数完成自适应预测器功能,预测出K时刻信号估算值se。
在量化前,调用step_size()函数计算出量化器标度因子Y,使反向量化器能适应语音和数据等具有不同统计特性以及不同幅度的输入信号。
调用reconstruct()函数,使用ADPCM代码i和量化器标度因子Y完成反向自适应量化器功能,产生量化差分信号dq,进一步得到重建信号sr,为计算出k+1时刻预测值se做准备。
调用update()函数,更新反向量化器快、慢标度因子和二、六阶预测器系数等,完成量化器标度因子自适应、自适应速度控制、音调和转移检测器功能。
解码过程:
图1.3解码原理流程图
1.2.3选题的目的
人类进入信息化时代以来,网络的长足发展和广泛的普及,使得人们能够更快,更方便的欣赏音乐。
在个人PC上,一款音乐播放器在手,听尽世间音乐。
而一款好的音乐播放器,能帮助人们更好的去欣赏音乐。
现今网络上有许多优秀的音乐播放器,如千千静听等,他们内置了相当多的音频解码器,能够播放各种格式的音频文件。
能编写属于自己的一款音乐播放器无疑是一件有趣的事情,但首先得了解音乐播放器是怎么实现对各种音频格式文件进行播放的,如何实现播放器上许多方便快捷的功能。
带着这个目的,我选择了此课题。
而对音频解码进行技术研究有助于了解其内在的原理,能够帮助我们更好的设计出一款属于自己的音乐播放器。
1.3系统主要实现内容与实现方式
1.3.1系统主要实现内容
通过对音频编码解码技术的相关研究,了解音频编码解码的原理以及过程,从而设计出一款能够播放多音频格式的音乐播放器。
这款音乐播放器实现的相关内容如下:
❑美观、时尚的操作界面。
❑界面上添加时钟。
❑滚动显示正在播放的歌曲及其长度信息。
❑歌曲控制方式要多样化。
❑显示歌曲的播放进度。
❑MP3文件的添加方式多样化,并且要将其添加到歌曲列表中。
❑实现静音和音量的控制。
❑能显示MP3文件的相关信息,如歌手、专辑等。
❑用户可以自定义滚动信息的方式。
1.3.2系统的开发方法
建立一个信息系统,是一项复杂的软件工程的实施。
近30多年来,软件工程发展成为新科学,至今已经成为IT产业的重要支柱。
一开始,人们往往使用手工作坊式的软件开发方法,靠个人的力量编写各种小型程序;
但是随着计算机硬件技术的飞速发展,计算机软件在各个领域中的作用日益突出,那种多年来被人们沿用的手工作坊式的开发方法,已经在软件产品的质量、成本及开发时间等方面无法满足需求。
结构化生命周期法是一种传统的管理信息系统开发方法,其基本思想是把整个系统开发过程分成若干个阶段,每个阶段进行若干活动,每项活动应用一系列标准、规范、方法和技术,完成一个或多个任务,形成符合给定规范的产品。
采用结构化生命周期法开发管理信息系统时,应遵循的主要原则:
(1)用户参与的原则
(2)“先逻辑后物理”的原则
(3)“自顶向下”的原则
(4)工作成果描述(主要指文档)标准化的原则
其具体开发步骤可分为以下四步:
(1)系统规划
(2)系统开发
❑系统分析
系统初步调查
系统可行性研究
现行系统的详细调查
新系统逻辑方案的提出
❑系统设计
系统总体结构设计
系统总体功能设计
系统总体物理结构设计
系统详细设计
数据库设计
代码设计
输入输出设计
❑系统实施
程序设计
系统测试
(3)系统的运行及维护
(4)系统评价
快速原型法是80年代发展起来的,旨在缩短开发周期,提高开发效率和用户对系统的满意程度。
其基本思想是在系统开发的初期,尽快构造出系统的原型,使用户能及早地运行这个系统原型,通过使用它、熟悉它,受到启发并取得经验,然后对系统的目标和功能提出更精确、具体的要求,研制人员据此逐渐修改和完善原型,使它满足用户的需求,最后完成系统的开发。
该方法大大提高了系统开发效率,弥补了结构化生命周期法开发时间长的缺陷。
通常采用原型法需以下四个阶段:
(1)明确用户的基本要求
(2)研制系统的原型
(3)使用、评价系统原型
(4)修改和完善原型
1.3.3系统的开发平台
众所周知,VS2005是功能非常强大的多媒体开发工具,它有丰富的函数和方法处理各种各样的多媒体信息,能够很灵活的操作图形、声音、动画、影像等多媒体素材。
但有时我们使用VisualStudio2005开发非多媒体应用程序,并不需要在应用程序中大量的使用声音,而只是需要在特定的场合出现。
如Windows的警告声。
这就要求程序员在恰当的环境中恰当的使用声音文件,既不失去VC在多媒体方面的特长,又能够为应用程序增加吸引人的效果。
本音乐播放器系统就是在VisualStudio2005平台环境下编写设计而成的。
2系统的分析
2.1系统的可行性分析
2.1.1经济可行性分析
本系统开发简单但要耗去一定的