蓝牙应用层中A2DP下的Aptx,AAC,MP3,LDAC编码对比及浅谈。
随着无线技术发展,蓝牙已经发布了它的4.0版本。带来了高速.低功耗等种种特点。 不过随着技术的完善,带宽逐渐变大,为什么还是总说蓝牙无音质呢? 这边文章将通过对蓝牙音频传输协议的浅谈来为大家解答这个疑惑。
我们先从带宽说起:
蓝牙2.0/2.1+EDR(蓝牙增强速率)的上限为3Mbps,实际差不多是2.1Mbps。
蓝牙3.0+HS(WiFi)的上线为24Mbps。(因为蓝牙3.0支持了交替射频AMP技术,可以兼容802.11无线协议PAL,还内置了EPC增强电源控制技术,做到了在带宽不够之时借用80211下的wifi等无线技术进行传输,同时保证了低功耗)。
而蓝牙4.0就更厉害了,它分为了3个子集(高速.低功耗.经典)和两种部署方式,不但拥有更高的带宽,相对于3.0降低了90%的功耗,还拥有更好的加密技术,是蓝牙3.0+HS的规范和补充。
从带宽来讲,2.0+EDR的可用传输速率都已经到2.1Mbps了,而我们普通CD的音质也就1.4Mbps就可以了,那为什么目前还是不可行呢?这一切的“罪魁祸首”其实都是因为蓝牙音频传输所规定的协议A2DP(AdvancedAudioDistributionProfile,蓝牙音频传输模型协议,AVDTP的应用层)。蓝牙规定了所有音频都需要经过A2DP才能实现蓝牙音频传输。A2DP定义了ACL(异步无连接)信道上传送单声道或立体声等音频信息协议过程。而这种协议又必须经过二次压缩才可以实现,并且最高的支持码率最大才只有可怜的512kbps,并且蓝牙截止到目前的4.0也依然采用着这一标准来进行音频传输,所以这一点就是蓝牙传输音频的硬伤。
A2DP要求必须支持SBC(Sub-band Coding)编码,也就是蓝牙当中应该属于最通用的蓝牙音频编码。SBC官方推荐的44.1kHz的音频双声道最大的速率为512kbps,而根据官方资料最高328kbit/s的SBC 音质大约介于 224 kbit/s 到 256 kbit/s 的 MP3 之间A2DP规定单声道SBC最大码率为320kbps。可见经过传输后的音质一般。
综上所述以SBC为例从设备到接收设备我们要经过两次解码和一次编码:音频封装格式–PCM–SBC–PCM。既然A2DP不给力,也逃不掉,我们也只能在编码那里做文章来获得相对标准传输好一点的音频体验了,反正编码也是可选的。
APT-x:
这是CSR公司自己弄并且专有的一种编码格式(所以使用它的厂商需要支付授权费用),压缩率为4:1(约352kbps)。由于比SBC的编码原理要高效很多,所以相对的细节保留也更多。aptX分为三种:aptX(普通),aptX HD(高品)和aptX Low Latency(低延迟)。它的中心思路是将声音流中每次采样的16bit数据以4bit存储,也就是将音频数据分段,从而带来高效和低延时的体验。支持16/24/20bit音频,48kHz采样频率,2m/s的低延迟。算是现在高品质蓝牙音频传输中的比较主流的协议吧。
AAC高级音频编码和MP3: AAC高压缩比音频算法,是由杜比实验室提供技术。两者都是比较老的编码格式了,AAC在蓝牙上主要是苹果机用的多一些,总体情况也比SBC要好一些。
LDAC:
由索尼推出的给蓝牙使用的高效编码格式,最大化提高了A2DP对蓝牙带宽的利用率。最高支持高达990kbps的音频传输。上线支持24bit/96khz的无损封装传输。可见是索法推出的又一个黑科技啊。目前只有索尼的部分设备和耳机支持这一协议。不过,索尼在不久前将LDAC授权给了谷歌,在android o上将得到支持。到时候技术文档多了,我们再继续深入探究这一技术。
单从这些编码的参数来看,LDAC最好,Aptx其次,然后是AAC和MP3,最后是SBC。笔者曾经对比过aptx和ldac,在听无损dsd时这细节的不同确是一耳朵能听出来的,不过我更希望索尼可以更好的发扬ldac这项技术,像索尼的1abt因为解析力略不足等等并没有给我带来许多的惊喜。另外也希望我们的蓝牙技术和编码技术等等继续加油努力,蓝牙实现无损传输其实离我们真的不远了,可以说指日可待吧?
具体的关于A2DP和LDAC等等的详谈和具体分析,敬请期待下期!!
@本地磁盘姬 撰稿
ohayou.moeres.org
微博@萌萌的本地磁盘w
2017年04月02日