●什么是A2DP?
首先从原理开始介绍。所有支持A2DP的蓝牙耳机,都能够支持GAVDP(Generic AV Distribution Profile)。而GAVDP就是AV数据传输协议AVDTP(AV Distribution Transport Protocol),我们可以把A2DP和GAVDP总称为Bluetooth A/V Profile。
【图1】A2DPAV数据通用传送profile GAVDP。
在建立好基于A2DP的profile连接之后,可以设定相关的解码器以及传输速率。同时CODEC需要配备一个叫做SBC的东西,如果要与A2DP对应的机器配合使用就必须配备这个SBC。在与PC进行Bluetoothstack组合使用的话一般都是使用SBC。而所谓的SBC就是Sub Band CODEC的缩写。
如果按44.1kHz16bit,立体声PCM计算,其码率就超过了1.4Mbps(=44100*16*2),因此Bluetooth 1.x就无法满足这个传输速率。正是基于这个缘故,进行某种程度的压缩也是很有必要了。同时这个时候因为处理任务繁重而造成一些延迟。同时由于像耳机这样简易机器使用的话至少在解码器方面的负荷不会太高。因此SBC专门针对这个制作了CODEC方式,同时对音质影响也降至了最低。
通过SBC将4~16份数据归结为单一的PCM数据块,然后再对数据进行基本处理。44.1kHz规格的16份数据相当于360μsec。这样再进行数据分割以及合成的时候则可以对这个数据块中的数据包进行处理,这样就提高了频率的分解/合成的精度。而在进行信号分割的时候可按8(或者4)个频率划分。在非常短的时间内将数据断开的时候,频率较高的信号就会慢慢发生变化。而当频率变低时,变化就是减少。这样就可以以最低限制的比特效表现PCM编码。