Bluetooth Profile Specification之1.1 A2DP 之Audio Codec(音频编解码器)-SBC

简介: Bluetooth Profile Specification之1.1 A2DP 之Audio Codec(音频编解码器)-SBC

image.png

前言

本节主要包括SBC的一些信息。


1.Codecs的 支持

下表显示了此配置文件中支持的强制性和可选编解码器。


image.png1.1 强制性编解码器

A2DP要求使用低复杂度的子带编解码器(SBC),以确保互操作性。当设备为SRC时,设备应实现SBC编码器,当设备为SNK时,设备应实现SBC解码器。本文档中的所有其他编解码器都称为非强制性编解码器。


1.2 可选编解码器

该设备还可支持可选的编解码器,以最大化其可用性。当SRC和SNK都支持相同的可选编解码器时,可以使用该编解码器来代替强制性编解码器。

1.3 供应商特定的A2DP编解码器

该设备可能支持其他编解码器,作为供应商特定的A2DP编解码器。供应商特定的A2DP编解码器(以下简称供应商)的用户将需要定义参数和其他必要的信息在A2DP中使用编解码器。该配置文件没有指定供应商特定的A2DP编解码器的任何内容,但规定有以下要求:


  • 建议编解码器应在正式互操作性(IOP)测试会议中成功测试: (1)成功测试编解码器意味着至少两个源和两个接收槽实现应向BARB提供证据,表明建议编解码器已成功实(2)正式IOP测试计划应在正式的IOP测试会议之前提交并由BARB批准.
  • 任何适用于拟议编解码器的许可证应以公平合理的条款提供,并以非歧视的方式获得。如果需要,建议编解码器的规范应向所有计划实施该编解码器的公司提供拟议编解码器的要求。
  • 如果供应商特定的A2DP编解码器升级到可选的,它将只列在蓝牙分配编号中,而不列在这个或未来的配置文件版本中。


1.4 编解码器的互操作性要求

当SRC希望发送SNK不支持编解码器格式的音频数据时,应将数据转换为SBC。因此,当SRC支持非强制性编解码器时,它将适用以下要求。


  • 仅对SNK不支持其格式的任何SRC输入需要转换到SBC。


例如,当SRC接受非强制编解码器格式的预编码音频数据时,SRC应拥有该非强制编解码器的解码器以及用于转码的SBC编码器。


2.SBC

在此配置文件中必须支持SBC。SBC规范是蓝牙规范的一部分。


2.1 SBC编解码器的信息

image.png


注:在AVDTP的“获取所有能力响应”中,可以在每个字段中定义/设置一个或多个位。另一方面,在AVDTP的设置配置命令和重新配置命令中,每个字段只能定义/设置一位。


采样率


对于SNK中的解码器,采样必须使用44.1 kHz和48 kHz的频率来支持。SRC中的编码器应至少支持至少有一个采样频率为44.1 kHz和48 kHz。

image.png


通道模式


下表显示了SBC信道模式字段的值。对于SNK中的解码器,应提供所有功能得到支持。SRC中的编码器应支持至少一个单通道和一个双通道,立体声和联合立体声模式。


image.png


块长度


下表显示了SBC的块长度字段值。SRC中的编码器和SRC中的解码器SNK应支持所有参数。


image.png


子带


下表为SBC的子带数字段的值。对于SNK中的解码器,应支持所有功能。SRC中的编码器应至少支持至少8个子带情况。


image.png


分配方法


下表显示了SBC的分配方法字段的值。对于SNK中的解码器,应支持所有功能。SRC中的编码器应至少支持响度法。


image.png


最小/最大位池值


设备使用最小/最大位池值字段设置SBC位池参数的范围由8位UiMsbf(无符号整数,最高有效位在前)表示,范围从2到250。进退两难AVDTP中的所有功能过程,最小/最大位池值字段包含允许的在流配置或流重新配置中,ACP中位池值的可变范围过程在AVDTP中,字段包含INT期望的位池值的可变范围发送/接收。


利用比特池值和其他编解码器参数(采样频率、信道模式、块长度和子频带数),计算音频流的比特率和帧长。


确定比特率的编解码器信息包含在SBC帧头中,并重复发送到与音频数据流相关联的SNK。SRC能够通过更改位池参数来动态更改比特率,而无需暂停。其他参数可以在GAVDP中定义的更改参数过程中进行更改。


SNK的解码器应支持2作为下表中的最小比特池值和高质量比特池值作为最大比特池值。


SNK设备可能支持比下表中的高质量值更大的位池,但应该需要证明可接受地呈现结果媒体的能力。


对于SRC的编码器,它需要支持至少一个可能的位池值。但是,建议编码器支持下表中所示的以下设置。

image.png



请再次注意,此表中显示的帧长度根据位池值是可变的。为了最有效地使用L2CAP中的传输,可以在构造介质有效载荷时调整帧长度。


SNK的解码器应支持所有导致不超过最大比特率的可能比特池值。该配置文件将单声道的可用最大比特率限制为320kb/s,对双通道模式限制为512kb/s。


2.2 媒体有效载荷格式

图4.2中所示的SBC的媒体有效负载由SBC规范中定义的SBC特定报头和SBC帧组成。


如果传输通道配置的MTU大小大于或等于SBC帧大小+[媒体有效负载头大小、内容保护头大小(如果选择内容保护)、媒体包头大小]的和,则媒体有效负载应包含完整SBC帧的总数(参见图4.2所示的格式(a))。


如果不是这样,并且如果没有选择AVDTP的复用服务,则SBC帧应跨多个媒体有效负载进行分段(见图4.2所示的格式(b))。除最后一个外,所有碎片数据包应具有相同的总数据包大小。媒体有效负载总是以一个8位头开始,该头放在SBC数据之前。如果选择了AVDTP的多路复用服务,那么建议不要跨多个媒体有效负载分割SBC帧,因为如果有必要,AVDTP将跨多个L2CAP数据包分割媒体有效负载。



图4.2:SBC的媒体有效负载格式

图4.3显示了SBC的媒体有效负载报头格式。

image.png


图4.3:SBC的媒体有效负载的报头格式

image.png

  • F位-如果SBC帧碎片,设置为1,否则设置为0。
  • S位-对于分段SBC帧的起始数据包,设置为1,否则设置为0。
  • L位-对于碎片化SBC帧的最后一个数据包设置为1,否则设置为0
  • RFA-预留给未来的添加。具有此名称的位点应设置为零。接收者应忽略这些位元。
  • 帧数(4位)—如果F位设置为0,则该字段表示该数据包中包含的帧数。如果F位设置为1,则该字段表示剩余片段的数量,包括当前片段。因此,最后一个计数器值应为1。例如,如果有三个片段,则计数器的后续片段的值分别为3、2和1。该字段用4位UiMsbf表示。


总结

本小结主要介绍了Audio Codec SBC的信息和有效载荷格式


目录
相关文章
|
编解码 安全 Android开发
低功耗蓝牙LE Audio Profile 详细介绍
2019年底,蓝牙官方组织SIG发布了蓝牙5.2版本的核心协议,其中增加了一个重要的特性---LE Audio。蓝牙的应用协议都是从应用层到物理层完整包含的协议,LE Audio也不例外。但蓝牙5.2核心协议仅仅定义了蓝牙LE的链路层传输Audio的方式,上层协议以及完整的LE Audio规范迟迟未出,近日,蓝牙官方组织释放了LE Audio较为完整的规范文档。
低功耗蓝牙LE Audio Profile 详细介绍
AHB-lite basic transfer
AHB-lite basic transfer
120 0
|
7月前
|
编解码 缓存 开发工具
Zynq7020 使用 Video Processing Subsystem 实现图像缩放
1、前言 没玩过图像缩放都不好意思说自己玩儿过FPGA,这是CSDN某大佬说过的一句话,鄙人深信不疑。。。 目前市面上主流的FPGA图像缩放方案如下:1:Xilinx的HLS方案,该方案简单,易于实现,但只能用于Xilinx自家的FPGA;2:非纯Verilog方案,大部分代码使用Verilog实现,但中间的fifo或ram等使用了IP,导致移植性变差,难以在Xilinx、Altera和国产FPGA之间自由移植;3:纯Verilog方案; 本文使用Xilinx Zynq7000系列FPGA Zynq7020实现Video Processing Subsystem图像缩放,输入视频源采用O
123 1
|
7月前
|
算法
2024最新分享iZotope RX 10 Audio Editor Advanced for Mac 直装版
iZotope RX 10 Audio Editor Advanced是一款先进的音频编辑软件,由iZotope公司推出。
|
编解码 物联网
【BLE】蓝牙5.2 新特性 - LE Audio
连接同步通道是基于蓝牙连接的,首先要先建立ble连接基于时间同步的音频传输机制,可以实现多个设备的数据同步一个master可以建立多个CIG每个CIG可以最多31个CIS每个CIS里面最多有31个subevent链路层有LL_CIS_REQ 和 LL_CIS_RSP来创建CIS无连接的单向的,无应答机制广播通道,对接收者的数量没有限制不仅可以广播数据包还可以广播控制包每个big里面最多可以包含31个bis。
1933 0
【BLE】蓝牙5.2 新特性 - LE Audio
|
传感器 物联网 数据安全/隐私保护
蓝牙5.2新特性 Enhance ATT
了解Enhance ATT之前先回顾一下BLE的ATT,BLE两个设备连接之后,GATT的client端如何知道server端支持了哪些profile、服务,这个就需要ATT, ATT层提供了标准机制、协议、帧格式,用来发现读、读取、写入对端设备的属性,ATT有client 和serve两个角色。在ATT的下层是L2CAP,位于hci的上层,L2CAP提供了多路通道的复用,ATT层、SM层的数据都需要经过L2CAP层,L2CAP层通过标志位来区分不同的协议层的数据包。
265 0
蓝牙5.2新特性 Enhance ATT
|
编解码 安全
Bluetooth Profile Specification之1.4 A2DP 之Audio Codec(音频编解码器)-供应商特定的 A2DP Codec
Bluetooth Profile Specification之1.4 A2DP 之Audio Codec(音频编解码器)-供应商特定的 A2DP Codec
365 1
Bluetooth Profile Specification之1.4 A2DP 之Audio Codec(音频编解码器)-供应商特定的 A2DP Codec
|
编解码 索引
Bluetooth Profile Specification之1.3 A2DP 之Audio Codec(音频编解码器)-ATRAC family
Bluetooth Profile Specification之1.3 A2DP 之Audio Codec(音频编解码器)-ATRAC family
317 0
Bluetooth Profile Specification之1.3 A2DP 之Audio Codec(音频编解码器)-ATRAC family
|
存储 编解码 索引
Bluetooth Profile Specification之1.2 A2DP 之Audio Codec(音频编解码器)-MPEG-1,2 Audio和MPEG-2, 4 AAC
Bluetooth Profile Specification之1.2 A2DP 之Audio Codec(音频编解码器)-MPEG-1,2 Audio和MPEG-2, 4 AAC
298 0
Bluetooth Profile Specification之1.2 A2DP 之Audio Codec(音频编解码器)-MPEG-1,2 Audio和MPEG-2, 4 AAC