1. SBC算法简介
- SBC是sub band code的缩写,也可称为子带编码
- 在A2DP协议中,SBC算法是默认支持的
- 蓝牙SBC算法是一种以中等比特率传递高质量音频数据的低计算复杂度的音频编码算法
2. 算法基本框图
- SBC系统使用一个余弦调制的滤波器组,用来解析和同步。滤波器组可设定成4或8个子带
- 子带信号的量化采用比特分配器和自适应脉冲编码器组调制
- 可用的比特位数和编码器的块数都是可配置的
- 编码后的数据由比特流打包器打包,以有线或无线方式传输
- 解码是编码的逆过程
3. 算法所用参数
- sampling_frequency:采样频率。常用的是16KHz,32KHz,44.1KHz和48KHz
- channel mode:通道模式。可以是单声道,双声道,立体声和联合立体声
- block length:块长度。可以是4,8,12,16;各个子带audio 对自身进行n个的子带采样,这些n个采样形成了一个block。使用这些block 用来计算各个子带最大的louness,加上尺度因子(scale factors),最终subband的audio信号归一化为-1和1之间的值,归一化的值最终会被选择性的量化(不是所有的值都会被采用),这些block最终会形成one