zoukankan      html  css  js  c++  java
  • G711(G711a+g711u)编码原理及代码

    G711编码的声音清晰度好,语音自然度高,但压缩效率低,数据量大常在32Kbps以上。常用于电话语音(推荐使用64Kbps),sampling rate为8K,压缩率为2,即把S16格式的数据压缩为8bit,分为a-law和u-law。

    a-law也叫g711a,输入的是13位(其实是S16的高13位),使用在欧洲和其他地区,这种格式是经过特别设计的,便于数字设备进行快速运算。

    运算过程如下:

    (1)      取符号位并取反得到s,

    (2)      获取强度位eee,获取方法如图所示

    (3)      获取高位样本位wxyz

    (4)      组合为seeewxyz,将seeewxyz逢偶数为取补数,编码完毕

    示例:

    输入pcm数据为3210,二进制对应为(0000 1100 1000 1010)

    二进制变换下排列组合方式(0 0001 1001 0001010)

    (1)      获取符号位最高位为0,取反,s=1

    (2)      获取强度位0001,查表,编码制应该是eee=100

    (3)      获取高位样本wxyz=1001

    (4)      组合为11001001,逢偶数为取反为10011100

    编码完毕。

    u-law也叫g711u,使用在北美和日本,输入的是14位,编码算法就是查表,没啥复杂算法,就是基础值+平均偏移值,具体示例如下:

    pcm=2345

    (1)取得范围值

    +4062 to +2015 in 16 intervals of 128
    

      

    (2)得到基础值0x90,

    (3)间隔数128,

    (4)区间基本值4062,

    (5)当前值2345和区间基本值差异4062-2345=1717,

    (6)偏移值=1717/间隔数=1717/128,取整得到13,

    (7)输出为0x90+13=0x9D

    参考https://blog.csdn.net/szfhy/article/details/52448906

  • 相关阅读:
    重构引发的开发思考
    JS-正则表达式
    中文数字转数值
    框架-VuePress(未完)
    HTML-表格
    框架-Vue 2.*的补充
    框架-Vue Class Component tsx 支持(vue-tsx-support V2.2.0)
    CSS-flex
    框架-Vue Class Component 官方支持(vue 2.*、Vue Class Component、vue-property-decorator 9.0.2、vuex-class 0.3.2)
    vue-router:2020-03-26
  • 原文地址:https://www.cnblogs.com/jifeng/p/14301135.html
Copyright © 2011-2022 走看看