G.711与G.729语音带宽的计算方法

我们知道G.711与G.729的带宽分别是80Kbps和24Kbps。记住这两个已经足够了,但如果进一步了解了它们的来由则更好。 恩奎斯特原理规定声音的采样频率是每秒8000次,每次8bit,语音数据带宽就是64Kbps(8000*8)。正常语音包是10ms成帧一次,每两帧 成一个包 (20ms)。这样,每秒就成50个包(1000/20)。每个包的IP头是20byte,UDP头8byte,RTP头12byte,总共40byte,或 320bits(40*8)。50个包就是16000bits(320*50),或16K。就是说全部包头的带宽要求是16Kbps。加上语音数据,全部 带宽就是80Kbps(64+16)。那么每个包的大小是多少呢?80Kbits/50=1600bits=200byte(1600/8)。其中,语音 数据的大小是160byte(200-40,或64K/8/50)。这是G.711。

G.729采用了压缩算法,语音数据大小是20byte(显然,比起G.711的160byte,压缩比为8:1),包头不变还是40byte,一共就是 60byte。带宽要求就是60*8*50=24000bps=24Kbps。这是G.729。 由于相对数据负载,包头太大(2倍),看上去似乎头重脚轻,所以G.729在WAN的电路上往往对包头进行压缩。压缩过后的包头是4byte或 2byte。带宽要求将进一步减少。

时间: 2024-11-09 04:51:45

G.711与G.729语音带宽的计算方法的相关文章

G.711是一种由国际电信联盟(ITU-T)制定的音频编码方式

http://zh.wikipedia.org/zh-cn/G.711 ITU-T G.711 page ITU-T G.191 software tools for speech and audio coding, including G.711 C code Code Project C# implementation of G.711 with source code G.711是一种由国际电信联盟(ITU-T)制定的音频编码方式,又称为ITU-T G.711. 基本信息编辑 它是国际电信

G.711编码原理及代码

最近看语音编码,发现网上大都只给出了G711的代码,确没有介绍原理,尽管很简单,但直接看代码也是有点摸不着.下面找到了原理进行简要的叙述,并给出了在网上找到的代码. 1.介绍: G.711 也称为PCM(脉冲编码调制),是国际电信联盟订定出来的一套语音压缩标准,主要用于电话.它主要用脉冲编码调制对音频采样,采样率为8k每秒.它利用一个 64Kbps 未压缩通道传输语音讯号.起压缩率为1:2,即把16位数据压缩成8位.G.711是主流的波形声音编解码器. G.711 标准下主要有两种压缩算法.一种

G.711编解码

wiki上关于G.711的介绍以及A-law和mu-law原理解释 http://en.wikipedia.org/wiki/G.711 自带的中文不能打开,google不知道为啥翻译不了,用了个bing将就着看吧 http://www.microsofttranslator.com/bv.aspx?from=&to=zh-CHS&a=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FG.711

正则表达式(/[^0-9]/g,'')中的"/g"是什么意思?

解答“正则表达式(/[^0-9]/g,'')中的"/g"是什么意思?”这个问题,也为了能够便于大家对正则表达式有一个更为综合和深刻的认识,我将一些关键点和容易犯糊涂的地方再系统总结一下. 总结1:附件参数g的用法 表达式加上参数g之后,表明可以进行全局匹配,注意这里“可以”的含义.我们详细叙述: 1)对于表达式对象的exec方法,不加入g,则只返回第一个匹配,无论执行多少次均是如此,如果加入g,则第一次执行也返回第一个匹配,再执行返回第二个匹配,依次类推.例如 var regx=/us

正则表达式(/[^0-9]/g,'')中的"/g"是什么意思 ?

正则表达式(/[^0-9]/g,'')中的"/g"是什么意思 ?     表达式加上参数g之后,表明可以进行全局匹配,注意这里“可以”的含义.我们详细叙述: 1)对于表达式对象的exec方法,不加入g,则只返回第一个匹配,无论执行多少次均是如此,如果加入g,则第一次执行也返回第一个匹配,再执行返回第二个匹配,依次类推.例如 var regx=/user\d/; var str=“user18dsdfuser2dsfsd”; var rs=regx.exec(str);//此时rs的值为

Flask中g对象,以及g,session,flash之间的区别

一.g对象的使用 专门用来存储用户信息的g对象,g的全称的为global g对象在一次请求中的所有的代码的地方,都是可以使用的 g对象的使用: 设置:g.变量名= 变量值 获取:g.name 注意:g对象比如说再a路由设置只能再a路由中去到g对象,在b路由汇总没法获得g对象 二.g,session,flash之间的区别 session 只要设置,在任意请求中都能拿到,无论你拿多少次 flash 一旦设置,可在任意一次请求中获取,但是只能取一次 g 在A路由中设置设置,只能在A路由请求中请求中获取

alsa rtp g.711

https://blog.csdn.net/aphero/article/details/53373888 https://www.cnblogs.com/lifan3a/articles/4939828.html https://blog.csdn.net/alajl/article/details/44224705 https://blog.csdn.net/wangwenwen/article/details/8966389 原文地址:https://www.cnblogs.com/don

通过ipv6访问 g o o g l e

Google.Youtube.Facebook等均支持IPv6访问,IPv4网络的用户大部分都无法访问,比如Gmail,Google Docs等等各种相关服务.而该类网站大部分均已接入IPv6网络,因此通过IPv6访问则不受任何限制,尤其是对教育网用户来说,使用IPv6更是免费的服务. 而接入IPv6网络,也不仅仅只有教育网用户才能享受,普通公网用户也都可以通过隧道或软件来接入IPv6网络,但根据所处的网络环境.接入方式,访问IPv6的速度通常取决于本地网络宽带提供商与所接入的IPv6隧道服务器

加强赛第五轮G题(G - 单词数 HDU - 2072 )

感谢我的学长们对我的带领:该题思想与代码来源于WArobot: 题目概述: lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个问题. Input有多组数据,每组一行,每组就是一篇小文章.每篇小文章都是由小写字母和空格组成,没有标点符号,遇到#时表示输入结束. Output每组只输出一个整数,其单独成行,该整数代表一篇文章里不同单词的总数. Sample Input you are my frie