问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

蓝牙音频传输格式详解:SBC、AAC、APTX和LDAC

创作时间:
2025-04-05 13:40:15
作者:
@小白创作中心

蓝牙音频传输格式详解:SBC、AAC、APTX和LDAC

引用
1
来源
1.
https://cloud.tencent.com/developer/article/2132662

蓝牙耳机的音频解码主要分为SBC、AAC、APTX和LDAC等几种。其中,SBC是通用的最基本的解码方式,而LDAC则是真正的高音质解码。本文将详细介绍这些解码方式的特点,并重点讲解SBC算法的原理和实现。

蓝牙音频解码方式对比

  1. SBC(Subband Coding)
  • 特点:蓝牙耳机都支持,支持44kHz/16bit的音频,最高码率是328kbps,延时大约220ms,音质一般。
  • 适用场景:对音质要求不高的用户。
  1. AAC(Advanced Audio Coding)
  • 特点:苹果产品通用的解码方式,支持44kHz/16bit的音频,最高码率512kbps,延时大约100ms,音质略好于SBC。
  • 适用场景:苹果设备用户。
  1. APTX
  • 特点:高通的专利,支持48kHz/16bit的音频,最高码率352kbps,延时约40ms,音质好于SBC,但相比SBC提升并不大。
  • 适用场景:对音质有一定要求的用户。
  1. LDAC
  • 特点:索尼出品,支持96kHz/24bit的音频,最高码率达990kbps,接近无损解码。
  • 适用场景:音乐发烧友。
  1. LHAC(HWA)
  • 特点:华为主推,支持96kHz/24bit的音频,最高码率900kbps,可以媲美LDAC。
  • 适用场景:追求高品质音质的用户。

以FLAC格式的无损音乐为例,FLAC 24bit/96kHz典型压缩编码码率在2350kbps左右,我们网上下载的FLAC无损音质一般是44kHz/16bit的,码率大约990kbps,网上下载的WAV无损音乐一般也是44kHz/16bit的,码率大约1400kbps。所以高品质的无损音乐体积是比较大的。

SBC算法详解

1. SBC算法简介

SBC是Subband Coding的缩写,也可称为子带编码。在A2DP协议中,SBC算法是默认支持的。蓝牙SBC算法是一种以中等比特率传递高质量音频数据的低计算复杂度的音频编码算法。

2. 算法基本框图

SBC系统使用一个余弦调制的滤波器组,用来解析和同步。滤波器组可设定成4或8个子带。子带信号的量化采用比特分配器和自适应脉冲编码器组调制。可用的比特位数和编码器的块数都是可配置的。编码后的数据由比特流打包器打包,以有线或无线方式传输。解码是编码的逆过程。

3. 算法所用参数

  • sampling_frequency:采样频率。常用的是16KHz,32KHz,44.1KHz和48KHz
  • channel mode:通道模式。可以是单声道,双声道,立体声和联合立体声
  • block length:块长度。可以是4,8,12,16
  • subbands:子带数量。可以是4或8
  • allocation method:分配方式。可以是SNR或loudness
  • bitpool:比特池。范围是2-250。此值越大,编码产生的数据越长

4. SBC算法实现

PCM格式的左右声道进入多相解析器,输出尺度因子和子带采样数据。每个尺度因子分别对应一个子带。量化后的子带采样数据需要进行打包,打包方式可以是分段或不分段。

SBC编码:

SBC解码:

SBC算法在某些蓝牙主设备上面的应用

3.1帧格式 BLE 语音包: 完整的一帧数据由58个字节组成,其中压缩后的语音数据是49字节。通过三个 BLE data 包发送给host 第一包:
第二包:
第三包:

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号