蓝牙编码到底是个什么玩意?在开始之前先行声明:蓝牙传输编码的原始信息量=发射码率*压缩比。这里魁宝浅析目前主流A2DP蓝牙协议下属编码应用 SBC:目前蓝牙设备均支持的连接模式。虽然最高传输比特率只有328kbps,但由于A2DP协议强制要求,故现有所有蓝牙设备均支持SBC编码模式。 下面是SBC编码算法所用的主要参数: 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。此值越大,编码产生的数据越长 索尼之前有推出SRS-XB10这类可并联蓝牙设备,其协议支持AAC/SBC,在不支持AAC的情况下,两台SRS-XB10可以通过联合立体声模式实现一拖二并做到同步播放。但由于其编码算法古老,SBC编码会经过多重的编解码,例如使用SBC传输一首320k的MP3时其编解码流程是这样的:MP3->CM->SBC->CM,在这之间的编解码就会影响最终音质,且为负向反馈,即劣化音质。 现阶段由于各家设备均有增加其他蓝牙编码模式,故此SBC使用率较低。 冷知识:SBC的压缩比最高可以达到8,即展开后为8*328kbps=2624kbps。说人话就是48kHz/24bit/2 channel=2304kbps的音源也可以传输。 AAC:隔壁Apple用的最多的编码方案,从AirPods到MacBook的蓝牙,全部都是AAC,想不到吧?不,我想到了。 早年间苹果说过:AAC和无损区别并不大。 从现在的眼光来看,这句话我觉得也没什么问题,但放在LDAC和aptx HD诞生之前,AAC的确是传输效率最高的音频编码。AAC编码由杜比开发,通常应用的码率为256kbps,看起来挺拉胯的吧?但是!注意这个但是,AAC的压缩比高达18,展开后即为18*256=4608kbps。这个比特率是不是看着很眼熟?我们常听的FLAC 96kHz/24bit/2 channel换算比特率就是4608kbps。欸,就是玩,这格局一下子就大起来了对不对? 除此之外还有俩项比较特别的方案,正是aptx家族与LDAC两种编码方案。 aptX的前身是由CSR公司研发,后CSR公司被Qualcomm收购,也就将aptX变成了高通的专利。现有的高通设备基本可以做到全系支持aptX,其他使用高通CSR芯片的接收端也支持aptX编码方案。aptX的压缩比为4,传输码率为352kbps。展开后的对应上限是1408kbps。而aptX HD的传输比特率为576kbps,压缩比仍为4,展开后的比特率为2304。分别对应44.1kHz/16bit和48kHz/24bit的音源,也是无损传输的一种。 而aptX还有一种编码方案称为aptX LL(Low Latency),这是基于aptX编码方案进行改进的低延迟aptX编码方案,基本可以做到无感延迟,使得安卓阵营的tws存在了打音游的可能。其传输码率与aptX一致,仍为352kbps。但相较于隔壁阿果把平均延迟120ms的AAC优化到无感仍有一定差距。 接下来讲一下LDAC编码方案 LDAC编码是一种比较暴力的编码方案,索尼简单粗暴的把蓝牙信道直接拉到了接近1M(990kbps),相较于SBC编码方案,信道宽度提升了足足三倍有余(328kbps)。但如若真想做到无损流式传输,其压缩率是不能高于2的。而索尼在LDAC的宣传图册上标注了可以传输4.5Mbps的96kHz/24bit的HR资源,那么LDAC注定也是一种有损编码格式。且其压缩率不会低于4.5。 固然LDAC的传输非常暴力,但LDAC也有自己被人诟病的地方。比如在复杂电磁环境下,尤其是CBD中心等2.4G射频满天飞的情况下,LDAC 990/909kbps的传输率极易出现连接不稳甚至断联的情况。所以LDAC还有660/606的均衡模式和330/303的连接优先模式,不过在座的各位应该都是开的音质优先。 不知道大家有没有遇到LDAC发射端在左裤兜,接收端在右裤兜然后惨遭断连的情况,LDAC的穿透力其实不是一般的差,且由于信道宽度大幅增加,导致其抗干扰能力也差的离谱。但好巧不巧,LDAC仍然是现在高带宽传输编码方案的最优解。 技术拙劣,如有纰漏,还请各位老师批评指正
|