- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GIPS语音引擎分析报告
内部公开▲本文中的所有信息均为中兴通讯股份有限公司内部信息,不得向外传播GIPS语音引擎分析报告中心研究院 多媒体平台部 阮亚始信息来源公司IT部门采购了IM语音引擎以提升IM通话质量,我们通过IT部门同事拿到了GIPS VoiceEngine的库、Demo以及使用说明书。GIPS概述Global IP Solution (GIPS),是瑞典一家全球顶级的专业从事IP多媒体编解码引擎的技术公司,专为包交换网络开发世界级的语音和视频处理解决方案。其产品主要包括两大类:媒体引擎VoiceEngine: 全功能语音处理框架。包括PC、Mobile、Conference、SDK(集成SIP信令)等各版本。VideoEngine:完整高质量的语音和视频解决方案。同样包括PC、Conference、SDK等各版本。组件NetEQ:单向嵌入式解决方案,即使在语音网络条件不佳的情况下仍能提供先进的抖动缓冲和丢包掩盖功能。Voice Quality Enhancement(VQE):通过去除回声和噪音,以及调整音阶来改善 VoIP 的通话质量,以达到一个稳定和舒适的收听水平。音频和视频编解码器:音频和视频编解码器套件包括了宽带和窄带﹐即在严重丢包的情况下都能输送有健壮性的﹐清晰的声音。和GIPS NetEQ结合在一起时﹐可有效控制延迟与抖动。音频codec:iLBC, Enhanced G.711, iSAC, iPCM-wb 和超过20种标准编解码器。视频codec:LSVX, H.264, H.264 SVC。VioceEngine概述GIPS VoiceEngine(GIPS语音引擎,简称GIPS VE)是一个全功能语音处理框架,解决延迟、丢包、抖动和回声等问题,并处理所有操作系统与语音有关的工作。此外,其不同增强版本还分别包括会议电话网络桥接器功能及SIP信令功能。 以VoIP应用为例,包含VoiceEngine的应用解决方案如下图所示,其中VoiceEngine处理了所有与语音相关的任务(包括编解码、回放、网络接收和发送、QoE控制等等)。图1 GIPS VE应用解决方案框架图以VoiceEngine PC版本为例,其细分模块结构图如下所示(其他版本结构类似):图2 GIPS VE模块结构图VoiceEngine API架构和模式 GIPS VoiceEngine(简称GIPSVE)API由几个不同的子API构成,其中只有一个子API:GIPSVEBase是必需的。所有的其他子API向BaseAPI中增加功能,但对于建立一个全双工的标准G.711呼叫应用并非是必须的。 下图包含GIPSVE提供的部分子API描述:图3 GIPS VE API分类和描述图 GIPSVE的API风格主要采取接口查询+引用计数模式,类似于MS的COM模型,但有所变化。GIPSVoiceEngine是模块的工厂类,通过它的工厂方法Create和Destroy来创建和销毁GIPSVoiceEngine实例(工厂类和实例类共用类定义),GIPSVoiceEngine类并不包含任何功能接口,用户可以通过此接口查询到其他具体功能接口类。方式类似于COM中的IUnknwn接口。用户可以通过GetInterface函数通过此接口查询到其它功能接口并使用,使用过程中要注意对引用计数管理,此风格也与COM中的QueryInterface、AddRef、Release接口使用类似。GIPSVE的接口模式如下图所示:图4 GIPS VE接口图VoiceEngine实例的创建和查询代码示例如下:VoiceEngine公共类和数据结构Struct GIPS_CodecInst:Codec描述信息结构,包括PT、MIME、采样率、包大小、码率、声道数等信息。Class InStream/OutStream,:定义抽象接口,用户需要负责实现子类的虚函数,以实现读写回调。Class GIPS_transport: 定义一个抽象接口,用户可以用来定义外部传输协议,用户需要通过覆盖SendPacket和SendRTCPPacket函数来实现此类的继承类。Class GIPS_encryption: 定义一个抽象接口,用户可以定义外部加密策略。用户需要覆盖子类方法。GIPSVE API概述Base API GIPSVEBase 是构造GIPS VoIP客户端唯一必需的API,GIPSVEBase通过G.711 over RTP可支持全双工的VoIP会话。除上述功能外,其功能还包括:认证、初始化和终止、通过文件或回调输出日志、多通道支持、呼叫建立、启动和停止全双工流、会议(仅高级版本
文档评论(0)