VoIP基本原理
VoIP基本原理
VoIP是通过Internet等互联网络传递语音信息的,主要包括终端设备、网关、网守和网络管理等部分。网关负责提供IP网络和传统的PSTN接口。
VoIP的基本原理:通过语音压缩算法对语音数据进行压缩编码处理,然后将语音数据按照TCP/IP标准打包,经过IP网络把数据包发送到接收端,之后将语音数据包串起来,经过解码解压之后,恢复成原来的语音信号,从而达到利用互联网传送语音的目的。与之相似的有公共交换电话网络(Public Swithched Telephone Network, PSTN):这是一种日常生活中经常使用的电话网。由于PSTN是一种电路交换的方式,所以一条通路自建立直至释放,其全部带宽仅能被通路两端的设备使用,因此带宽利用率极低。
VoIP的核心与关键设备是IP网关。网关具有路由管理功能,它把各地区电话区号映射为相应的地区网关IP地址。这些信息存放在一个数据库中,数据接续处理软件将完成呼叫处理、数字语音打包、路由管理等功能。在用户拨打长途电话时,网关根据电话区号数据库资料,确定相应网关的IP地址,并将此IP地址加入IP数据包中,同时选择最佳路由以减少传输时延,IP数据包经Internet到达目的地的网关,在一些Internet尚未延伸到或暂时未设立网关的地区,可设置路由,由最近的网关经过长途电话网转接,实现通信业务。
为了在一个IP网络上传输语音信号,对网络有一些最低要求。最简单形式的网络由两个或多个具有VoIP功能的设备组成,这些设备通过一个IP网络连接。VoIP传输过程:
语音->数据转换
语音信号本身是模拟信号,如果通过IP传输语音,不管是实时应用还是非实时应用,首先都需要对语音信号进行模拟数据转换,也就是对模拟信号进行8位或16位的量化,然后送入缓冲存储区中,缓冲区大小可以根据延迟和编码的要求选择,低比特率的编码器通常采取以帧为单位进行编码,典型帧长为10ms~30ms。考虑传输过程中的代价,语音包通常由60ms、120ms和240ms的语音数据组成。数字化可以使用各种语音编码方案来实现,目前采用的语音编码标准有
ITU-T G. 711、G. 729等。发送端和接收端的语音编码器和语音编码器必须实现相同的算法,这样接收端才能恢复原始的语音信号。原始数据->IP转换
语音数据数字编码之后,下一步就是对语音包以特定的帧长进行压缩编码。大部分的编码器都有特定帧长,若一个编码器使用15ms的帧,则把第1步中的60ms的包分成4帧,并按照顺序进行编码,如果采样率8kHz,则每帧共
15ms*8kHz=120个采样点。编码后将4个数据包合成一个压缩语音包送入网络处理器,网络处理器为语音添加包头、时序和其它信息通过互联网传送到另一端。IP网络不像电路交换网络,其不形成连接,它要求把数据放在变长的数据报或分组中,每个数据报附带寻址和控制信息,并通过网络发送,一站一站转发到目的地。传送
在这个通道中,全部网络被看成一个整体,持续不断地从输入端接收语音包,然后在一定时间\(t\)内将其传送到网络输出端。时间\(t\)可以在某个范围内变化,反映了网络传输中的抖动。网络中的中间节点检查每个IP数据附带的寻址信息,并使用这个信息把该数据报转发到目的地路径上的下一站。
IP包->数据转换
目的地VoIP设备接收这个IP数据报并开始处理,并提供一个变长缓冲区用来调节网络产生的抖动。小的缓冲区延迟较小,但不能容纳更大的抖动。
数字信号->模拟语音
播放驱动器将缓冲器中的语音样本点送入声卡,通过扬声器按照预定的频率播放。
VoIP基本原理的更多相关文章
- VoIP语音处理流程和知识点梳理
做音频软件开发10+年,包括语音通信.语音识别.音乐播放等,大部分时间在做语音通信.做语音通信中又大部分时间在做VoIP语音处理.语音通信是全双工的,既要把自己的语音发送出去让对方听到,又要接收对方的 ...
- Ognl表达式基本原理和使用方法
Ognl表达式基本原理和使用方法 1.Ognl表达式语言 1.1.概述 OGNL表达式 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,他是一个 ...
- Android自定义控件之基本原理
前言: 在日常的Android开发中会经常和控件打交道,有时Android提供的控件未必能满足业务的需求,这个时候就需要我们实现自定义一些控件,今天先大致了解一下自定义控件的要求和实现的基本原理. 自 ...
- HMM基本原理及其实现(隐马尔科夫模型)
HMM(隐马尔科夫模型)基本原理及其实现 HMM基本原理 Markov链:如果一个过程的“将来”仅依赖“现在”而不依赖“过去”,则此过程具有马尔可夫性,或称此过程为马尔可夫过程.马尔可夫链是时间和状态 ...
- 动态令牌-(OTP,HOTP,TOTP)-基本原理
名词解释和基本介绍 OTP 是 One-Time Password的简写,表示一次性密码. HOTP 是HMAC-based One-Time Password的简写,表示基于HMAC算法加密的一次性 ...
- ZooKeeper基本原理
ZooKeeper简介 ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. ZooKeeper设计目的 1. ...
- 如何实现VoIP中大并发应用
后台服务器实现高并发方式: 说明: 黄色皆为运营商或第三方对接系统的VoIP设备等. 前置服务器A与B为热备容灾模式,当A异常,立即跳转到B. 应用服务器做实时容灾处理. 数据库做实时容灾处理. 媒体 ...
- GBDT的基本原理
这里以二元分类为例子,给出最基本原理的解释 GBDT 是多棵树的输出预测值的累加 GBDT的树都是 回归树 而不是分类树 分类树 分裂的时候选取使得误差下降最多的分裂 计算的技巧 最终分裂收益按照下面 ...
- 全文检索引擎 Solr 部署与基本原理
全文检索引擎 Solr 部署与基本原理 搜索引擎Solr环境搭建实例 关于 solr , schema.xml 的配置说明 全文检索引擎Solr系列-–全文检索基本原理 一.搜索引擎Solr环境搭建实 ...
随机推荐
- Docker 一步搞定 ZooKeeper 集群的搭建
Docker 一步搞定 ZooKeeper 集群的搭建 背景 原来学习 ZK 时, 我是在本地搭建的伪集群, 虽然说使用起来没有什么问题, 但是总感觉部署起来有点麻烦. 刚好我发现了 ZK 已经有了 ...
- Spring+Spring+Hibernate环境搭建
源码地址:https://gitee.com/kszsa/ssht.git 一.引入lib包 pom.xml,引入需要的jar包 <?xml version="1.0" en ...
- windows下的文件管理工具--total commander
https://www.ghisler.com/ http://www.guyiren.com/archives/1647
- eclipse配置lombok插件
下载lombok-1.16.12.jar包 然后将包添加到eclipse.ini 同级目录下 打开eclipse目录:最后两行添加如下配置: -Xbootclasspath/a:lombok-1.16 ...
- js实现对上传图片的路径转成base64编码,并且对图片进行压缩,实现预览功能1
参考 https://blog.csdn.net/qq_31965515/article/details/82975381 https://www.cnblogs.com/zhangdiIT/p/78 ...
- 在Apache中安装php5.6 & php7.3
1.下载 httpd-2.4.41-win64-VC15.zip.php5.6 + vc11. php7.3 + vc14-16 2.配置httpd,在 httpd.conf L180 添加如下 ...
- DDR3(1):IP核调取
本系列整理一下基于 Xilinx A7 芯片的 DDR3 的使用,此处采用的 DDR3 IP核为软核,即采用 FPGA 逻辑单元.寄存器.查找表等搭建出来 IP核.从 IP 核的调取开始,接着读写测试 ...
- using 语句(C# 参考)(转载)
using 语句 提供可确保正确使用 IDisposable对象的方便语法. 示例 下面的示例演示如何使用 using 语句. using (var font1 = new Font("Ar ...
- 【WPF】1、 基本控件的简介
WPF一直都是断断续续的使用.偶尔用到一下.但是每次间隔比较长,需要重新学习,就写了这篇日志.以后有问题,看这个就可以了解各大概,然后针对细节再另外想办法. 微软的东西真心好,如果什么都不懂,可以直接 ...
- TreeView树,全选,反选,平级选操作
首先事件选择,选择的是MouseUp事件.为啥?因为凡是跟Check有关的,在选中父节点或者子节点,都会二次触发.然后发生的就是死循环. Up事件就可以避免二次触发.Down事件呢?那就触发After ...