音频传输课程方案设计书.docx
- 文档编号:8517755
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:31
- 大小:419.96KB
音频传输课程方案设计书.docx
《音频传输课程方案设计书.docx》由会员分享,可在线阅读,更多相关《音频传输课程方案设计书.docx(31页珍藏版)》请在冰豆网上搜索。
音频传输课程方案设计书
武汉工程大学
计算机科学与工程学院
综合设计报告
设计名称:
智能系统应用综合设计
设计题目:
音频网络传输的实现
学生学号:
0905030211
专业班级:
09智能2班
学生姓名:
柯力
学生成绩:
指导教师(职称):
鲁统伟(讲师)
课题工作时间:
2013.1.7至2013.1.18
说明:
1、报告中的第一、二、三项由指导教师在综合设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成综合设计后填写。
矚慫润厲钐瘗睞枥庑赖。
2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。
3、指导教师评语一栏由指导教师就学生在整个设计期间的平时表现、设计完成情况、报告的质量及答辩情况,给出客观、全面的评价。
聞創沟燴鐺險爱氇谴净。
4、所有学生必须参加综合设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。
答辩小组成员应由2人及以上教师组成。
残骛楼諍锩瀨濟溆塹籟。
5、报告正文字数一般应不少于5000字,也可由指导教师根据本门综合设计的情况另行规定。
6、平时表现成绩低于6分的学生,取消答辩资格,其本项综合设计成绩按不及格处理。
7、此表格式为武汉工程大学计算机科学与工程学院提供的基本格式(适用于学院各类综合设计),各教研室可根据本门综合设计的特点及内容做适当的调整,并上报学院批准。
酽锕极額閉镇桧猪訣锥。
成绩评定表
学生姓名:
柯力学号:
0905030211班级:
智能02彈贸摄尔霁毙攬砖卤庑。
类别
合计
分值
各项分值
评分标准
实际得分
合计得分
备注
平时表现
10
10
按时参加综合设计,无旷课、迟到、早退、违反实验室纪律等情况。
由设计负责人给出
完成情况
30
20
按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。
10
能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。
报告质量
35
10
报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。
5
课题背景介绍清楚,综述分析充分。
5
设计方案合理、可行,论证严谨,逻辑性强,具有说服力。
5
符号统一;图表完备、符合规范要求。
5
能对整个设计过程进行全面的总结,得出有价值的结论或结果。
5
参考文献数量在3篇以上,格式符合要求,在正文中正确引用。
答辩情况
25
10
在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。
15
在规定时间内能准确、完整、流利地回答教师所提出的问题。
总评成绩:
分
补充说明:
指导教师:
(签字)
日期:
年月日
答辩记录表
学生姓名:
柯力学号:
0905030211班级:
智能02
答辩地点:
答辩内容记录:
答辩成绩
合计
分值
各项分值
评分标准
实际得分
合计得分
备注
25
10
在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。
15
在规定时间内能准确、完整、流利地回答教师所提出的问题。
答辩小组成员(签字):
年月日
指导教师评语
指导教师:
(签字)
日期:
年月日
一、综合设计目的、条件、任务和内容要求:
1、设计目的
随着计算机技术、网络技术、视频压缩编码技术等关健术的飞速发展,特别是Internet的迅速普及,网络音频传输系统得到越来越广泛的应用。
用VC++实现从压缩、组帧、发送到接收、解压整个音频传输流程以及传输控制策略,达到高质量的实时音频传输的目的。
2、设计条件
VC++6.0,openCV
3、设计任务
实现局域网高质量的实时音频传输。
4、设计内容
实现服务端音频捕获或播放,音频压缩、组帧、发送的功能;实现客户端音频接收、解压,播放的功能。
指导教师签字:
年月日
二、进度安排:
2013-1-7查阅资料
2013-1-8~2013-1-9设计规划及原理分析
2013-1-10~2013-1-17设计实现音频网络传输
2013-1-18答辩
三、应收集资料及主要参考文献:
[1]陈坚,陈伟.VisualC++网络高级编程[M].北京:
人民邮电出版社,2001.
[2]曹衍龙,刘海英.VisualC++网络通信编程实用案例精选[M].北京:
人民邮电出版社,2006.
[3]曹章元,刘加明.VisualC++6.0类库大全[M].北京:
电子工业出版社,1999.
[4]求是科技.VisualC++音视频编解码技术及实践[M].北京:
人民邮电出版社,2006.
[5][美]JAMSAKris.C/C++/c*程序员实用大全[M].北京:
中国水利水电出版社,2002.
[6][美]KRUGLINSKIDavidJ.VisualC++技术内幕[M].4版.北京:
清华大学出版社,2001.
[7]王华,叶爱亮.VisualC++6.0编程实例与技巧FM].北京:
机械工业出版社,1999.
[8]陈坚.实用VisualC++编程大全FM].西安:
西安电子科技大学出版社,2000.
[9]王士元.C高级实用程序设计[M].北京:
清华大学出版社,1999.
四、综合设计(课程设计)摘要(中文):
计算机网络的飞速发展,给传统音频传输领域带米了极大的冲击并且为基于网络的视、音频通信提供了可能,在很多的网络通信中,都需要将某一发送端的话音实时的传榆给接收端。
VC下的Client/server体系为这些应用需求提供了一个不错的解决方案。
实时语音组播系统可以分成发送端、接收端和网络传输3个子系统.在此从TCP/IP通信的原理,包括路由选择、传输协议、编程实现等角度。
给出了比较完善的解决方案,从而实现了在局域网内语音信号的实时传输,有很好的参考意义和实用价值。
关键词局域网;实时语音;TCP/IP;组播;音频捕捉
五、综合设计(课程设计)Abstract(英文):
Thedevelopmentofcomputernetworkshadbroughtgreatimpactonthetraditionalaudioandprovidedapossibilityforvideoandaudiocommunicationbasedonnetwork.Inthenetworkcommunication,somevoicefromsendingterminationshouldbetransmittedtothereceivingterminationreal—timely.ClientandServersystemunderVCplatformprovidedagoodsolutionfortheapplications,whichincludedthreesystemssuchassendingtermination,receivingterminationandnetworktransmission.AccordingtotheprincipleofTCP/IP,routeselection,transferprotocol,programimplementationandsoon.aperfectsolutionisproposedinthispaperforrealizingreal-timetransmissionofvoicesignalwithinLAN.Ithasgoodreferenceandutilityvalue.
Keywords:
LAN;real-timevoice;TCP/IP;multieast;voicecatch
摘要
计算机网络的飞速发展,给传统音频传输领域带米了极大的冲击并且为基于网络的视、音频通信提供了可能,在很多的网络通信中,都需要将某一发送端的话音实时的传榆给接收端。
VC下的Client/server体系为这些应用需求提供了一个不错的解决方案。
实时语音组播系统可以分成发送端、接收端和网络传输3个子系统.在此从TCP/IP通信的原理,包括路由选择、传输协议、编程实现等角度。
给出了比较完善的解决方案,从而实现了在局域网内语音信号的实时传输,有很好的参考意义和实用价值。
尧侧閆繭絳闕绚勵蜆贅。
关键词局域网;实时语音;TCP/IP;组播;音频捕捉
Abstract
Thedevelopmentofcomputernetworkshadbroughtgreatimpactonthetraditionalaudioandprovidedapossibilityforvideoandaudiocommunicationbasedonnetwork.Inthenetworkcommunication,somevoicefromsendingterminationshouldbetransmittedtothereceivingterminationreal—timely.ClientandServersystemunderVCplatformprovidedagoodsolutionfortheapplications,whichincludedthreesystemssuchassendingtermination,receivingterminationandnetworktransmission.AccordingtotheprincipleofTCP/IP,routeselection,transferprotocol,programimplementationandsoon.aperfectsolutionisproposedinthispaperforrealizingreal-timetransmissionofvoicesignalwithinLAN.Ithasgoodreferenceandutilityvalue.识饒鎂錕缢灩筧嚌俨淒。
Keywords:
LAN;real-timevoice;TCP/IP;multieast;voicecatch凍鈹鋨劳臘锴痫婦胫籴。
第一章课题背景
1.1音频传输背景
计算机网络的飞速发展,给传统音频传输领域带米了极大的冲击。
鉴于传统音频传输中难以克服的诸如不便于管理、布线复杂、难于实现自动切换等等的缺点,数字网络易管理、败控、强大的数据传输能力无疑为未来传统音频传输指明了方向。
恥諤銪灭萦欢煬鞏鹜錦。
目前以太网是计算机局域网络的主流技术,其应用已遍及各个方面,每幢智能大厦都具备连通互连网物理层布线。
与专业音频数字网络技术比较,以太网具有成熟的技术标准,以及极高的性能价格比。
应用以太网构成音频数字网络,将具有快速、廉价和方便等诸多优点,是近几年来各大专业音频设备研发公司研究的热点。
鯊腎鑰诎褳鉀沩懼統庫。
音频传输的实时性要求是基于以太网来构筑传输系统首先必须考虑和解决的问题。
同时,这样一个分布式系统内部的时钟同步十分关键,否则时序逻辑将可能发生意想不到的混乱。
硕癘鄴颃诌攆檸攜驤蔹。
本综合设计根据音频传输网络的要求,结合传统以太网技术,研究了以太网的控制实时调度、系统时钟同步和系统设计等技术问题,分析了音频传输网络的协议设计,提出了理想的基于以太网的音频实时传输系统的解决方案。
阌擻輳嬪諫迁择楨秘騖。
1.2音频处理简介
一、音频媒体的数字化处理
随着计算机技术的发展,特别是海量存储设备和大容量内存在PC机上的实现,对音频媒体进行数字化处理便成为可能。
数字化处理的核心是对音频信息的采样,通过对采集到的样本进行加工,达成各种效果,这是音频媒体数字化处理的基本含义。
氬嚕躑竄贸恳彈瀘颔澩。
二、音频媒体的基本处理
基本的音频数字化处理包括以下几种:
不同采样率、频率、通道数之间的变换和转换。
其中变换只是简单地将其视为另一种格式,而转换通过重采样来进行,其中还可以根据需要采用插值算法以补偿失真。
釷鹆資贏車贖孙滅獅赘。
针对音频数据本身进行的各种变换,如淡入、淡出、音量调节等。
通过数字滤波算法进行的变换,如高通、低通滤波器。
三、音频媒体的三维化处理
长期以来,计算机的研究者们一直低估了声音对人类在信息处理中的作用。
当虚拟技术不断发展之时,人们就不再满足单调平面的声音,而更催向于具有空间感的三维声音效果。
听觉通道可以与视觉通道同时工作,所以声音的三维化处理不仅可以表达出声音的空间信息,而且与视觉信息的多通道的结合可以创造出极为逼真的虚拟空间,这在未来的多媒体系统中是极为重要的。
这也是在媒体处理方面的重要措施。
怂阐譜鯪迳導嘯畫長凉。
人类感知声源的位置的最基本的理论是双工理论,这种理论基于两种因素:
两耳间声音的到达时间差和两耳间声音的强度差。
时间差是由于距离的原因造成,当声音从正面传来,距离相等,所以没有时间差,但若偏右三度则到达右耳的时间就要比左耳约少三十微秒,而正是这三十微秒,使得我们辨别出了声源的位置。
强度差是由于信号的衰减造成,信号的衰减是因为距离而自然产生的,或是因为人的头部遮挡,使声音衰减,产生了强度的差别,使得靠近声源一侧的耳朵听到的声音强度要大于另一耳。
谚辞調担鈧谄动禪泻類。
基于双工理论,同样地,只要把一个普通的双声道音频在两个声道之间进行相互混合,便可以使普通双声道声音听起来具有三维音场的效果。
这涉及到以下有关音场的两个概念:
音场的宽度和深度。
嘰觐詿缧铴嗫偽純铪锩。
音场的宽度利用时间差的原理完成,由于现在是对普通立体声音频进行扩展,所以音源的位置始终在音场的中间不变,这样就简化了我们的工作。
要处理的就只有把两个声道的声音进行适当的延时和强度减弱后相互混合。
由于这样的扩展是有局限性的,即延时不能太长,否则就会变为回音。
熒绐譏钲鏌觶鷹緇機库。
音场的深度利用强度差的原理完成,具体的表现形式是回声.音场越深,则回音的延时就越长.所以在回音的设置中应至少提供三个参数:
回音的衰减率、回音的深度和回音之间的延时。
同时,还应该提供用于设置另一通道混进来的声音深度的多少的选项。
鶼渍螻偉阅劍鲰腎邏蘞。
1.3socket简介
本次综合设计运用的网络传输的核心方式就是socket。
所谓socket通常也称作"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
以J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包中。
ServerSocket用于服务器端,Socket是建立网络连接时使用的。
在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。
对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。
不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。
纣忧蔣氳頑莶驅藥悯骛。
常用的Socket类型有两种:
流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。
流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。
Socket为了建立Socket,程序可以调用Socket函数,该函数返回一个类似于文件描述符的句柄。
socket函数原型为:
intsocket(intdomain,inttype,intprotocol);domain指明所使用的协议族,通常为PF_INET,(其与addrinfo里的AF_INET在现在看来是相同的。
只是历史上人们曾构想将AF(地址家族addressfamily)与PF(protocolfamily协议家族)分开,但实际上这种区分并未真正推广,所以现在AF_INET和PF_INET具有相同的意义。
其中AF_INET是基于IPv4而PF_INET基于IPv6)表示互联网协议族(TCP/IP协议族);type参数指定socket的类型:
SOCK_STREAM或SOCK_DGRAM,Socket接口还定义了原始Socket(SOCK_RAW),允许程序使用低层协议;protocol通常赋值0。
Socket()调用返回一个整型socket描述符,你可以在后面的调用使用它。
Socket描述符是一个指向内部数据结构的指针,它指向描述符表入口。
调用Socket函数时,socket执行体将建立一个Socket,实际上"建立一个Socket"意味着为一个Socket数据结构分配存储空间。
Socket执行体为你管理描述符表。
两个网络程序之间的一个网络连接包括五种信息:
通信协议、本地协议地址、本地主机端口、远端主机地址和远端协议端口。
Socket数据结构中包含这五种信息。
socket在测量软件中的使用也很广泛。
颖刍莖蛺饽亿顿裊赔泷。
第二章设计简介及设计方案论述
2.1设计简介
要实现局域网音频数据传输,必须要解决两个间题:
第一个问题是语音的录制和播放,即将一个用户所讲的语音信号录制下来,等待传输;同时将从网络上接收到其它用户所发来的语音信息进行还原,使本地用户听到声音;对于声音信息的录制和播放,在这里采用的是低层音频函数主要是考虑到语音信息传输的实时性要求。
如果采用的是媒休控制接口函数(MCI),在进行录制时首先将录制的信息保存在计算机的硬盘文件上,而数据发送时则需要将文件从硬盘读到缓冲区中,由此而导致数据在接收方有较大的延迟而低层音频函数,由于它提供了对计算机缓冲区的直接操作,使得录制的音频信息在缓冲区中就可以发送,不必先保存在文件中,这样就可以保证接收方无延迟地接收到发送方所发送的数据(所谓的无延迟指接收方感觉不出声音滞后)。
因此只能选择较为低层的音频函数,虽然这种方法编程较为复杂,但却较好地保证了一说“与“听”是同时进行的第几个问题是数据在局域网内的传输,这是个网络数据传输的问题。
实现网络信息的互通,MFC中提供了封装的CAsyncSocket类,可以方便地派生出符合要求的接收发送类。
濫驂膽閉驟羥闈詔寢賻。
2.2设计方案
系统的应用平台是Windows操作系统,使用的是Winsock2规范,系统的开发工具是MicrosoftVisualC++6.0。
此次设计的软件,对组播组的成员,分为Server和Client2种。
进行通信之前,Server和Client都必须先加入一个组播组。
除了服务器端和用户端以外,对于音频的处理也很重要。
下面将设计方案分为三部分来进行介绍。
銚銻縵哜鳗鸿锓謎諏涼。
2.2.1音频处理方案
在Windows系列操作系统中,Microsoft提供了强大的DirectX工具。
其中的DirectSound技术可以实现对声音的实时捕捉和播放。
挤貼綬电麥结鈺贖哓类。
1播放功能概述
DirectSound缓冲区对象表示一个包含声音数据的缓冲区,这些数据以PCM格式被存储。
该对象不仅可以用于开始、停止或暂停声音的播放,还能够设置声音数据中诸如频率和格式等属性。
赔荊紳谘侖驟辽輩袜錈。
2音频捕获
Directsoundcapture对象可以查询音频捕获设备的性能,并为从输入源捕获音频而创建缓冲区,它还能够捕获压缩格式的音频。
DirectsoundcaptureBuffer对象表示一个用于捕获音频的缓冲区.它可以循环利用。
塤礙籟馐决穩賽釙冊庫。
3播放声音的过程
(1)锁定(IdirectsoundBuffer:
:
Lock)从缓冲区的一部分;
(2)写数据:
将捕捉到的声音数据写入将要发送的数据包中;
(3)解锁(1directSoundBuffer:
:
Unlock):
对
(1)的锁定部分进行解锁;
(4)将声音传送给主缓冲区,并从哪里输出(IdirectSoundBuffer:
:
Play)。
2.2.2Server设计方案
Server就是可以随时发言,实时接听,不受他人限制。
对来自Client的发言申请作出响应,然后将该信息拷贝到发送缓冲区发送出去。
图2.1为Server端数据流程图。
裊樣祕廬廂颤谚鍘羋蔺。
仓嫗盤紲嘱珑詁鍬齊驁。
图2.1Server端数据流程图
2.2.3Client设计方案
Client就是可以实时接听,每次发言前必须发出申请信息。
当申请信息发送出去后,组播组内的所有成员都可以收到。
当Server发送出对申请信息的响应信息后,各个Client将根据自己的本地地址与信息中包含的地址信息做比较,如果发现申请信息中的地址信息与本机地址一致,则说明是自己的发言申请的响应,于是处理;如果信息中的地址信息与本机地址不一致,那么不处理。
图2.2是Client端数据流程图。
绽萬璉轆娛閬蛏鬮绾瀧。
骁顾燁鶚巯瀆蕪領鲡赙。
图2.2Client端数据流程图
2.3界面设计
一个功能完备的语音聊天系统必须拥有友好的界面。
由于本次设计的是一种随机建立服务器的系统,所以每一个用户都有可能成为服务器端。
所以在任何人使用这一款软件的时候应该能够第一眼看见自己的IP地址,并且可以设置端口号其作用相当于一个密钥。
当局域网中的另一个用户同时知道你的IP地址和端口号,并且你已经建立好一个服务器的情况下才能够连接。
界面上应该同时拥有建立服务器和连接服务器的选项,还要有开始语音通信的按钮,以便不方便进行语音聊天的时候可以关闭该功能。
市面上所有的语音聊天工具都附带有一个即时打字聊天的功能,我所设计的这款软件也拥有这样的功能,因为不是随时都有客观条件进行语音通信的。
那么界面还应该有一个编辑框和一个对话框。
所以界面初步在MFC中设计如图2.3所示。
瑣钋濺暧惲锟缟馭篩凉。
图2.3语音平台界面初步成型
可以从图2.3看出,右上方的本机IP信息,端口号信息清晰明了,一目了然。
连接服务器,建立服务器按钮平行分布。
左边的编辑框和对话框也很清晰,符合人们运用聊天工具的习惯。
鎦诗涇艳损楼紲鯗餳類。
界面很单调不够友好怎么办?
想把界面的做的好看有修改主题和设置壁纸两种方法,这里我用的是嵌入壁纸这个方法。
全部设置好之后运行的最后如图2.4所示。
栉缏歐锄棗鈕种鵑瑶锬。
图2.4比较友好的界面成型
设置嵌入背景的具体步骤如下:
1.载入一张图片ID设置为IDB_BIT_CHUYIN.
2.在CExample2_ChatRoomDlg.h中定义一个public下的CBrushm_brBk。
CBrush:
类CBrush封装了Windows图形设备接口(GDI)中的画刷,画刷也就是采取什么方案填充图形的背景的工具。
辔烨棟剛殓攬瑤丽阄应。
3.在初始化函数OnInitDialog()中加入:
BOOLCExample2_ChatRoomDlg:
:
OnInitDialog()
{
CDialog:
:
OnInitDialog();
CBitmapbmp;
bm
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 音频 传输 课程 方案设计