语音处理:蓝牙音频编解码器LC3技术文档研读总结

注:LC3技术说明文档可直接从文末参考资料3地址下载,LC3 Plus源码可从参考资料2官网获取。

LC3简要介绍


Low Complexity Communication Codec(LC3)是一种高效的蓝牙®在LE音频配置文件使用音频编解码器。它是个频域编码器,能够以各种比特率编码语音和音乐,并且可以合并到任何蓝牙音频配置文件中。

重点特性:

  • 低复杂度、低功耗
  • 基于块的变换音频编解码器
  • 提供了广泛的可用比特率
  • 支持10 ms和7.5 ms的帧间隔
  • 支持无限数量的音频通道
  • 支持以下位深度:每个音频样本16、24和32位
  • 支持以下采样率:8 kHz,16 kHz,24 kHz,32 kHz,44.1 kHz和48 kHz

总体流程


数据流程
在这里插入图片描述

帧结构

见LC3技术文档fig3.12

编码侧框架


见LC3技术文档fig3.1

解码侧框架


在这里插入图片描述

主要技术模块


SNS

SNS为Spectral Noise Shape,谱噪声整形。
输入:转到MDCT域上的X(k)和每个带的能量E(b)。
输出:经过系数相乘调整后的频域信号Xs(k)以及相关gain值。
效果:对谱量化形成的量化噪声进行整形,降低到人耳听觉无法感知到。
中间过程(原理):
1) SNS分析,得到16个比例系数
2) 系数量化,此步量化只是为了得到量化后的调整系数
3) 比例系数插值,插值到64个系数,使之与带能量E(b)个数匹配
4) 谱整形,输出整形后的信号
在这里插入图片描述
解码侧的逆过程:
在这里插入图片描述

TNS

TNS为Temporal Noise Shape,时域噪声整形。
输入:经SNS处理后的频域信号Xs(k)。
输出:调整后的频域信号Xf(k)。
效果:调整控制在每个窗转换时,量化噪声的时域形状。量化噪声指的是将浮点值数字信号,转化为要求精度的整型值时,损失的精度带来的听感差异。
中间过程(原理):
1)TNS分析,将频域信号转化为估计的LPC系数和估计误差
2)计算得预测的Gain值与阈值比较,若小于则不需要做TNS
3)若大于,则先更新权重,从而更新带权重的LPC系数
4)量化,得到每个滤波器的阶数,对tns相关参数编码分配比特
5)滤波,更新得到TNS滤波后的MDCT信号
在这里插入图片描述

LTPF

LTPF为Long term postfilter,长时后滤波器。
输入:原始输入的时域信号xs(n)。
输出:pitch所在索引,pitch存在标志,ltpf激活和ltpf激活标志。
效果:控制解码侧的基于基音的后滤波器对频谱波谷处(低频区)的量化噪声进行整形。
中间过程(原理): 时域滤波
1) 将时域信号点重采样成固定128个点,再下采样到64个点,减小数据量和运算复杂度
2) 对64个时域点做基音检测,若不大于阈值,则发出基音为0的pitch标志
3) 若大于,则发出基音为1的pitch标志
4) 接着,估计基音时延(Pitch-lag)并得到对应的基音索引位
5) 然后,激活LTPF,并将激活检测标志置位为激活
在这里插入图片描述

SQ

SQ为Spectral quantization,谱量化。
输入:TNS后的Xf(k)
输出:量化后为整数的Xq(k)
效果:根据重要性,将相应浮点转化为定点
中间过程(原理):
1) 计算得到可用比特数nbits_spec
2) 第一次全局增益估计(粗估),目标是使量化的结果尽量接近要求的比特数
3) 按照公式将增益估计和Xf(k)进行运算,得到量化后的Xq(k)
4) 根据可用比特数,对量化后多余的Xq(k)信息进行截断,置零,此时lsbMode=1
5) 如果nbits_est比nbits_spec相差过大,则截断信息较多,需对全局增益做调整(精估)
6) 如果没有截断,有多余比特,此时lsbMode=0,用剩余比特做标记,量化有损失的记1,无损失的记0

BE

BE为Bitstream encoding,码流编码。
输入:各种参数的边信息、量化后的MDCT系数等
输出:一帧帧完整的码流
效果:将压缩后的每帧信息打包成码流,然后进行数据传输
中间过程(原理):
1) 初始化边信息
2) 打包算术编码的动态数据块
3) 打包符号位和谱信息最低有效位LSB
4) 残余信息

见LC3技术文档fig3.12

参考资料

  1. 蓝牙LE Audio的关键-LC3技术
  2. LC3官网
  3. LC3技术说明文档下载地址
  4. 【LE AUDIO】LC3 - Low Complexity Communication Codec
  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值