怎么查看avdtp的数据包是什么意思

   1. ACL分组表示为D(M|H)(1|3|5). 其中D表示数据分组;M表示使用中等速率的2:3比例FEC纠错编码;而H表示不使用纠错编码方式的高速率分组后面的数字1,35表示该分组所占用的时隙数。

   2. SCO分组表示为HV(1|2|3)其中HV表示高质量语音分组;后面的数字表示有效载荷采用的纠错编码方式:1 表示设备每隔2个时隙发送1个单时隙分组,2表示每隔4個时隙发送1个单时隙分组3为每隔6个时隙发送1个单时隙分组。

   另外公共分组中包含如下几种类型的包:

   2. NULL分组包:用于返回发送方ARQNFLOW等链路信息。当从设备接收到主设备的POLL分组后需要响应这样主设备可以对其成员做选择。

   另外关于数据包是什么意思格式的相关详细说明请參考以下网址:

Stream Handle (SH):主要是暴露给用于程序使用的 【可理解为文件操作的handle吧?】

Abort:用于两个设备的同步。

该配置文件定义了支持高质量音頻分发所需的Bluetooth?设备的要求。这些要求以终端用户服务的方式表达,并定义了音频分发使用模式中蓝牙设备之间的互操作性所需的功能和过程

高级音频分发配置文件(A2DP)定义了在ACL信道上实现单声道或立体声高品质音频内容分发的协议和过程。因此术语“高级音频”应与“藍牙音频”区分开来,其指示蓝牙基带规范第12章中定义的SCO信道上的窄带语音分发过程[1]

典型的用例是将音乐内容从立体声音乐播放器流式傳输到耳机或扬声器。音频数据以适当的格式被压缩以有效地利用有限的带宽。环绕声分发不包括在此配置文件的范围内

A2DP专注于音频鋶,而视频分发配置文件(VDP)则指定视频流支持这两个配置文件,使我们能够分发伴随高品质音频的视频内容 VDP中描述了视频和音频流嘚使用情况。

另请注意A2DP不包括遥控功能。设备可以通过实现A2DP和控制配置文件来支持远程控制功能例如在音频/视频远程控制配置文件[2]的使用场景中所描绘的。

可以增强核心规范所要求的QoS功能以便在连接建立期间建立容量分发(capacity allocation)规则,以确保最小时间分发有保证的服务类型当多个配置文件在微微网中运行时,这将提供可预测的结果然而,这些目前未被规划在将来的版本中

在图1.1中,描述了配置文件的结構和依赖关系如果通过隐式或明确地引用另一个配置文件,则该配置文件将依赖于另一个配置文件如图所示配置文件的相关性。配置攵件直接和间接地依赖于其中包含的配置文件

如图1.1所示,A2DP依赖于通用访问配置文件(GAP)以及通用音频/视频分发配置文件(GAVDP)[3]该配置文件定义了设置音频/视频流所需的步骤。 A2DP定义了特定于音频流的参数和过程除非另有明确说明,GAP和GAVDP中定义的术语用户界面和过程适用于此配置文件。

图1.1:配置文件依赖关系

1.3.1要求状态符号

在本文档中使用以下符号:

  • “M” 用于强制支持(用于配置文件中使用的功能)

  • "O" 用于可選支持(用于可在配置文件中使用的功能)。

  • “C” 用于条件支持(用于在支持某种其他功能的情况下使用的功能)

  • “X” 用于排除(用于鈳能由本机支持的功能,但不得在配置文件中使用)

  • “N/A” 不适用(在给定的上下文中不可能使用此功能)。

一些排除功能是根据相关藍牙规范的功能,是强制性的这些是可能会降低此配置文件设备运行的功能。因此在单元作为该配置文件中的单元运行时,这些功能將永远不会被激活

保留将来添加。具有此名称的位应设置为零接收器将忽略这些位。

留作将来定义这些位值组合或位值在当前规范Φ是不允许的,但可以在将来的版本中使用接收机应检查不使用不支持的比特值组合。

1.4 蓝牙A2DP配置文件更改历史记录

  • 来自A2DP 1.2的非A2DP编解码器现茬称为供应商特定的A2DP编解码器

  • 纳入通过的变更以纠正各种勘误相关勘误为879,938,29033043及3631。

  • 与来自音频/视频分发传输协议1.3的延迟报告功能的互操莋性以增强A/V同步

  • 与通用访问配置文件模式的互操作性,核心规范2.1 + EDR中定义的安全和空闲模式过程

  • 以符合标准的方式说明使用可选A2DP编解码器嘚标准并将供应商特定的A2DP编解码器提升为可选的A2DP编解码器

图2.1显示了此配置文件中使用的协议和实体。

图2.1所示的应用层是设备定义应用服務和传输服务参数的实体该实体还将音频流数据适配成定义的分组格式,反之亦然

对于图2.1中的阴影协议/实体,GAVDP适用除非在该配置文件明确说明偏差的情况下。

为实现此配置文件的设备定义了以下角色:

源(SRC) - 当SRC作为传送到微微网的SNK的数字音频流的源时设备是SRC。

Sink(SNK) - 當设备作为从同一微微网上的SRC传送的数字音频流的接收器时设备是SNK。

图2.2中描述了该配置文件的角色的配置示例

2.3 用户要求和场景

此配置攵件涵盖以下场景:

  • 设置/控制/处理从SRC到SNK的音频数据流。

以下限制适用于此配置文件:

  • 该配置文件不支持同步的点对多点分发

由于射频信號处理,数据缓冲和流数据的编码/解码SRC和SNK之间存在一定的延迟。抵制这种延迟的后果取决于实施

此配置文件中设置了以下要求:

  • 音频數据速率应该足够小于蓝牙链路上的可用比特率。这是为了允许重传方案来减少丢包的影响

  • 该配置文件不排除任何内容保护方法。

除了鉯下要求之外配置文件基本原理与GAVDP中定义的相同。

内容保护在应用层提供不是蓝牙链路级安全协议的功能。

当声明符合此配置文件要求时所有表明强制性的功能应以指定的方式(过程强制性)得到支持。这也适用于指示支持的可选和条件功能蓝牙认证计划的一部分,所有强制性可选性和有条件的功能,对于哪些支持的指示都需要进行验证。

本节介绍符合A2DP的设备的功能要求

表3.1显示了该配置文件嘚功能要求。

表3.2将每个功能映射到该功能使用的过程并显示该过程是可选的,强制的还是有条件的过程在参考部分中描述。

表3.2:应用層功能到过程映射

如果远程设备的AVDTP版本未知则设备应执行SDP查询以在远程设备上获取AVDTP版本。这将在执行GAVDP_ConnectionEstablishment过程之前执行这是必需的,因为喑频流设置过程中的一些命令取决于AVDTP版本

当设备希望开始流式传输音频内容时,设备首先需要建立流媒体连接信令过程和典型信令流汾别在GAVDP [3]的4.1节和附录A中说明。在这种设置过程中设备选择最合适的音频流参数。配置了两种服务:一个是应用服务能力(application service capability)另一个是传输服務能力(transport service capability)。 (有关详细信息请参阅AVDTP [4]中的第4.4节。)该配置文件指定了这些信令过程所需的特定于音频的参数 GAVDP [3]的第14章和本规范的第13章描述了會话信令(session signaling)的执行情况。

A2DP的应用服务能力包括音频编解码能力和内容保护能力音频编解码器互操作性要求和编解码器参数(如模式,采样頻率和比特率)的详细信息在第4章中描述内容保护功能在附录A中作为信息描述。

传输服务能力由AVDTP提供以便更智能地处理流分组。这些垺务的适当配置增加了通道吞吐量可用的服务列在第5.1.2节中。

[3]中的4.1节)SRC使用发送音频流过程将音频数据发送到SNK,SNK又使用接收音频流过程接收音频数据这些过程和创建的数据包是什么意思格式的框图如图3.1所示。在第4章中还规定了AVDTP头和媒体有效载荷格式中的音频特定参数

洅次注意,设备应处于STREAMING状态以发送/接收音频流如果SRC/SNK希望发送/接收音频流,而状态仍处于OPEN状态SRC/SNK将启动GAVDP中定义的开始流(Start Streaming)过程。

在发送音频鋶(Send Audio Stream)过程中如果需要,SRC将在信令会话(signaling session)中将数据编码为选定的格式然后,SRC的应用层应将编码的数据调整为定义的媒体有效载荷格式编码喑频数据的帧适应第4章定义的有效载荷格式。

当内容保护被使用时内容保护报头可以在加密的音频内容之前。这是内容保护方法的依赖

然后,流数据应通过AVDTP第2章暴露的接口(接口4)传递给AVDTP实体流数据应使用AVDTP [4]第5.4节中定义的所选传输服务在传输信道上发送出去。

SNK的AVDTP实体应使用所选择的传输服务从传输信道接收流数据并通过AVDTP第2章暴露的接口将其传递给应用层[4]。

当内容保护方法处于活动状态时SNK的应用层将按照内容保护方法的描述处理检索到的AVDTP有效载荷。通常该处理需要相关加密内容的内容保护报头分析和解密。

如果适用音频数据帧应根据选择的编码格式进行解码。

图3.1:音频流过程和分组格式框图

本章定义了音频编解码器特定的必要信息在4.2节中,对该配置文件版本中使用的编解码器及其要求进行了详细描述蓝牙分发号码(Bluetooth Assigned Numbers)[8]中描述了A2DP版本1.0后引入的编解码器的附加信息。

剩余部分为每个编解码器提供参考鉯及以下信息:

  • 媒体包头要求(Media packet header requirements)定义媒体包头中的编解码器特定参数它将被添加到AVDTP实体中的媒体有效载荷。 (见图3.1)

  • 媒体有效载荷格式(Media payload format)定義了AVDTP数据包是什么意思中的编解码器特定有效载荷格式它将在3.2节中的音频流过程中使用。另见图3.1

4.2 编解码器的支持

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

表4.1:支持的编解码器

以下编解码器被视为供应商特定的A2DP编解码器:

  • 不在表4.1或蓝牙分发号码[8]上的编解码器

  • 強制或可选编解码器以不符合的方式使用。

使用供应商特定A2DP编解码器的要求在4.2.3和4.7节中定义

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

设备还可鉯支持可选编解码器,以最大限度地提高其可用性当SRC和SNK都支持相同的可选编解码器时,可以使用该编解码器而不是强制编解码器此配置文件支持的可选编解码器列在表4.1中,另外在蓝牙分发号码[8]中定义为了保持互操作性,应适用第4.2.4节的要求

对于蓝牙分发号码[8]中列出的所有可选编解码器,但本规范未描述该列表包含有关如何获取有关编解码器特定信息元素(Codec Specific Information Element),媒体包头要求(Media Packet Header Requirement)和所有其他编解码器特定的信息

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

  • 为保持互操作性应适用第4.2.4節的要求。

  • 供应商特定的A2DP编解码器可以升级为可选当第4.2.2节中的可选编解码器要求以及以下两者都满足时:

  • 所提出的编解码器应在正式互操作性(IOP)测试会话中成功测试

  • 成功测试编解码器意味着至少两个源和两个接收器实现应向BARB提供所建议的编解码器已经成功实现的证据

  • 正式IOP测试计划应在正式IOP测试会议之前提交并由BARB批准

  • 适用于建议的编解码器的任何许可证应以公平合理的条件提供,并以非歧视的方式访问所建议的编解码器的规格应适用于所有计划实施编解码器的公司,如果需要在NDA下

  • 如果供应商特定的A2DP编解码器升级为可选,它将仅在蓝牙汾发号码[8]中列出而不在本或未来的配置文件版本中。

4.2.4 编解码器互操作性要求

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

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

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

4.2.5 音频编解码器类型字段值

有关此配置文件中可用的音频編解码器类型请参阅蓝牙分发号码[8]。 AVDTP的第8.19.5节定义了音频编解码功能的消息格式[4]

以下部分定义蓝牙链接上的音频流媒体所需的音频编解碼器参数和格式。

SBC必须在此配置文件中支持SBC规范是蓝牙规范的一部分。编解码器规范附在该配置文件的12(附录B)中

4.3.2 编解码器特定信息え素

图4.1显示了信令过程中使用的SBC编解码器特定信息元素(Codec Specific Information Elements)。如需参考参见AVDTP的第8.19.5节[4]。以下部分定义了字段值及其要求每个值的含义在附录B嘚SBC规范中定义。如果数据包是什么意思包含不正确的设置则错误代码将按第5.1.3节的规定进行返回。

图4.1:SBC的编解码器特定信息元素

表4.2给出了SBC采样频率字段的值对于SNK中的解码器,44.1kHz和48kHz的采样频率是必须支持的 SRC中的编码器应支持44.1kHz和48kHz的采样频率中的至少一个。

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

表4.5显示了SBC的子带数(Number of Subbands)字段的值对于SNK中的解码器,应支持所有功能 SRC中的编码器应支歭至少8个子带的情况。

表4.6显示SBC的分配方法(Allocation Method)字段的值对于SNK中的解码器,应支持所有功能 SRC中的编码器至少应支持LOUDNESS方法。

表4.6:SBC的分配方法

Value字段包含ACP中位值的允许可变范围而在AVDTP中的流配置(Stream Configuration)或流重配置(Stream Reconfigure)过程中,字段包含INT期望发送/接收的位值的可变范围使用位值和其他编解码器參数(采样频率,信道模式块长度和子带数),音频流的比特率和帧长度计算如第12.9节所示

确定比特率的编解码信息包含在SBC帧头中,并偅复发送到与音频数据流相关联的SNK SRC能够通过在不中止的情况下更改位池参数来动态地改变比特率。在GAVDP中定义的更改参数(Change Parameters)过程中可以更改其他参数

SNK设备可以支持大于表4.7中的高质量值(High Quality Value)的比特池,但是需要证明可接受地呈现所得到的媒体的能力

对于SRC的编码器,需要至少支持┅个可能的bitpool值但是,建议编码器支持表4.7所示的以下设置

表4.7:SRC设备中推荐的SBC参数集

再次注意,该表中显示的帧长度根据bitpool而变化为了最囿效地利用L2CAP中的传输,可以在构建媒体有效载荷时调整帧长度要使用SBC帧创建媒体有效载荷格式,请参见第4.3.4节

创建TS所需的时钟频率应设置为编码音频数据的采样率。

如果媒体有效载荷由多个SBC帧组成则媒体分组报头的TS表示第一SBC帧的TS。以下SBC帧的TS应使用采样率和每个通道每帧采样数来计算

当SBC帧被分段成多个媒体分组时,构成分片SBC帧的所有分组将使用相同的TS

应选择RTP动态范围内的有效载荷类型(参见[22],第3节)

4.3.4 媒体有效载荷格式

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

如果传输信道的配置MTU大小(configured MTU size)大于或等于SBC帧大小 + [媒体有效载荷报頭大小内容保护报头大小(如果选择内容保护),媒体分组报头大小]之和则媒体有效载荷应包含一整套完整的SBC帧(见图4.2所示的格式(a))。

如果不是这样并且如果没有选择AVDTP的复用服务,则SBC帧将在多个媒体有效载荷之间分段(见图4.2中的格式(b))除最后一个之外的所囿碎片包将具有相同的总数据包是什么意思大小。媒体有效载荷始终以8位头部开头放置在SBC数据之前。如果选择AVDTP的复用业务则建议不要茬多个媒体有效载荷之间分段SBC帧,因为如果需要AVDTP会将多个L2CAP数据包是什么意思的媒体有效载荷分段。

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

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

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

  • F位 - 如果SBC帧被分段,则设置为1否则设置为0。

  • S位 - 对于分段SBC帧的起始数据包是什么意思設置为1,否则设置为0

  • L位 - 对于分段SBC帧的最后一个分组,设置为1否则设置为0

  • 帧数(4位) - 如果F位设置为0,则此字段指示此数据包是什么意思Φ包含的帧数如果F位设置为1,则该字段指示剩余片段的数量包括当前片段。因此最后一个计数器值应为1。例如如果有三个片段,那么对于后续片段计数器的值为3,2和1该字段由4位UiMsbf表示。

4.4.2 编解码器特定信息元素

图4.4显示了在信令过程中使用的MPEG-1,2音频的编解码器特定信息え素参考8.19.5 AVDTP [4]。以下部分定义了字段值及其要求每个值的含义在[12]和[13]中定义。每个字段值中的支持列显示了支持该编解码器时要满足的要求如果数据包是什么意思包含不正确的设置,则错误代码应按第5.1.3节的规定进行返回

图4.4:MPEG-1,2音频的编解码器特定信息元素

支持CRC保护在SNK中是强淛性的,在SRC中是可选的

MPEG-1,2音频采样频率字段的值如表4.11所示。对于SNK中的解码器44.1kHz和48kHz的采样频率是必须支持的。 SRC中的编码器应支持44.1kHz和48kHz的采样频率中的至少一个对于SNK和SRC,其他采样频率都是可选的

在此配置文件中,支持MPEG-1,2音频的VBR(可变比特率)对于SNK中的解码器是必需的SRC中的编码器是可选的。第一层和第二层不要求这个参数但大多数实际的设备通常支持它。

MPEG-1,2音频比特率索引字段的值如表4.13所示索引值表示参考规范中定义的实际比特率值。对于SNK中的解码器除了索引值“0000”之外,所有功能都应被支持SRC中的编码器应支持在SNK中必须支持的至少一个索引值。

注意MPEG-1 Layer II(mp2)在总比特率和信道模式的允许组合中有限制(对于MPEG-1,参见[12]中的第2.4.2.3节)这种限制推翻了表4.13所示的比特率指数的支持。


当設置VBR时??应忽略比特率索引字段。

MPEG-1,2音频的媒体包头要求包含在第4.4.4节中引用的媒体有效载荷格式的规范中

4.4.4 媒体有效载荷格式

MPEG-1,2音频使用[14]囷[15]中定义的有效载荷格式。该配置文件要求支持MPF-1中的格式 MPF-2为MPEG-1,2音频层III提供了更多的错误鲁棒性。另见第4.4.2.4节对于MPF-1,请参阅[14]对于MPF-2,请参阅[15]

4.5.2 编解码器特定信息元素

图4.5显示了信令过程中使用的MPEG-2,4 AAC的编解码器特定信息元素。如需参考参见AVDTP的第8.19.5节[4]。以下部分定义了字段值及其要求每个字段值中的支持列显示了支持该编解码器时要满足的要求。如果数据包是什么意思包含不正确的设置则错误代码应按第5.1.3节的规定進行返回。

MPEG-2,4 AAC的采样频率字段的值如表4.15所示对于SNK中的解码器,44.1kHz和48kHz的采样频率是必须支持的 SRC中的编码器应支持44.1kHz和48kHz的采样频率中的至少一个。其他采样频率对于SNK和SRC都是可选的

在可变比特率流的情况下,在恒定速率流或最大峰值比特率(每帧测量)的情况下为比特率指定比特率字段。值为0表示比特率未知该字段表示为23位UiMsbf,如下图所述

支持VBR(可变比特率)对于SNK中的解码器是必需的,SRC中的编码器是可选的

MPEG-2,4 AAC嘚媒体包头要求包含在第4.5.4节中引用的媒体有效载荷格式的规范中。

4.5.4 媒体有效载荷格式

MPEG-2,4 AAC使用[18]中定义的媒体有效载荷格式该规范仅限于MPEG-4音频嘚有效载荷格式;在使用MPEG-2 AAC LC时,通过修改编解码器信息并将其转换为MPEG-4 LATM格式音频流将被转换为SRC中的MPEG-4 AAC LC,然后再进入媒体有效载荷格式如果需要,SNK应将流重新转换为MPEG-2 AAC LC有关详细信息,请参见[16]和[17]

ATRAC系列是索尼公司拥有的专有编解码器。许可用户获取此编解码器的规格有关许可证的詳细信息,请通过以下电子邮件地址与Sony Corporation联系:

4.6.2 编解码器特定信息元素

图4.7显示了信令过程中使用的ATRAC系列的编解码器特定信息元素。如需参栲参见AVDTP的第8.19.5节[4]。以下部分定义了字段值及其要求每个字段值中的支持列显示了支持该编解码器时要满足的要求。如果分组包含不正确嘚设置错误代码将按照第5.1.3节的规定进行返回。

图4.7:ATRAC系列的编解码器特定信息元素

表4.18显示了ATRAC系列版本字段的值版本字段包含一个特定版夲的ATRAC系列。因此如果该设备支持ATRAC和ATRAC3,应使用两个不同的流端点

表4.19显示了ATRAC系列的通道模式字段的值。 SRC和SNK应至少支持一个值

表4.20显示了ATRAC系列的采样频率字段的值。 SRC和SNK应至少支持一个值

对于SRC和SNK,支持ATRAC系列的VBR(可变比特率)是可选的

请注意,当支持VBR时4.6.2.5中的比特率索引字段將被忽略,因为设备可以采用第4.6.2.6节中描述的最大SUL值下的任何位速率当不应用VBR时,比特率索引字段明确指示支持的比特率而最大SUL字段将被忽略。

表4.22显示了ATRAC系列的比特率索引字段的值索引值表示参考规范中定义的实际比特率值。 SRC和SNK应至少支持一个值

声音单元长度(Sound Unit Length,SUL)昰确定音频流的比特率的参数之一具有16位UiMsbf的最大SUL字段包含SNK中解码器支持的SUL的最大值(以字节表示)。 SRC应发送SUL等于或小于SNK中解码器的最大SUL嘚音频流数据在SRC启动的AVDTP的所有能力过程中,SNK发起的AVDTP流配置过程中SNK中的最大SUL值应通知SRC。

创建TS所需的时钟频率应设置为编码音频数据的采樣率

如果媒体有效载荷由ATRAC系列的多个编解码帧组成,则媒体分组报头的TS表示第一编解码器帧的TS以下编解码帧的TS应使用采样率和每个通噵每帧采样数来计算。

应选择RTP动态范围内的有效载荷类型(参见[22]第3节)。

4.6.4 媒体有效载荷格式

许可用户获取ATRAC系列的媒体有效载荷格式说明见第4.6.1节。

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

供应商的定义和处理特定A2DP编解码器在第4.2.3

4.7 编解码器特定信息元素

图4.8显示了信令过程中使用的供应商特定A2DP編解码器的编解码器特定信息元素。参考参见AVDTP的第8.19.5节[4]。如果数据包是什么意思包含不正确的设置则错误代码应按第5.1.3节的规定进行返回。

图4.8:供应商特定A2DP编解码器的编解码器特定信息元素

应使用32位供应商ID 32位供应商ID的低16位应包含蓝牙分发号码[8]中定义的有效的非保留16位公司ID。32位供应商ID的高16位应设置为零供应商ID的LSB应以八位字节0的形式放置。

图4.8中的供应商特定编解码器ID字段包含由供应商管理的16位编解码器ID

图4.8Φ的“供应商特定值”字段包含供应商明确定义的值。详细信息超出了此配置文件的范围

媒体包头要求由卖方定义。

4.7.4 媒体有效载荷格式

媒体有效载荷格式由卖方定义

此配置文件要求符合通用A/V分发配置文件(GAVDP)[3]。以下文本连同相关的子条款除了GAVDP中定义的要求外还定义了關于此配置文件的要求。

注意:对于INT/ACP描述了GAVDP中描述的要求对于SRC,必须支持INT和ACP对于SNK,必须支持ACP支持INT是可选的。见表5.2

流媒体和延迟报告过程有不同的要求。在流式传输可能由SRC或SNK发起时延迟报告始终从SNK发送到SRC。

在A2DP中SRC和SNK的可选功能必须能够建立流式连接,开始流式传输囷释放流式连接 SRC可以承担INT和ACP的作用,而SNK设备可以承担ACP的作用并且可以可选地承担INT的作用。因此SRC必须支持ACP角色,以便可以在SRC设备和SNK设備的任意组合之间操纵信令过程

延迟报告从SNK发送到SRC,因此SNK始终为INTSRC始终为ACP。SNK设备中的INT角色对于延迟报告是强制性的而SRC设备中的ACP角色是鈳选的。

表5.3:GAVDP中延迟报告的作用

表5.4显示了对该配置文件的AVDTP传输能力的支持在此配置文件基本服务是必需的支持。

如果编解码器特定信息え素包括不正确的设置则错误代码如下所示。除了GAVDP [3]中指定的错误代码外表5.5列出了应用过程使用的其他错误代码,如果在接收到的命令Φ发现适用的错误

对于L2CAP层,除了以下要求外不适用于GAVDP中规定的要求。

此配置文件的L2CAP实现的最小MTU值为335字节

  • DH5数据包是什么意思大小等于339芓节,包括4字节的L2CAP头

该配置文件分别定义了SRC和SNK的以下服务记录。指定给“值”列中使用的助记符的代码以及指定给属性标识符的代码(洳果在AttrID列中没有具体提到)可以在蓝牙分发号码[8]中找到

5.4 链路管理器互操作性要求

对于LMP层,不适用GAVDP中规定的要求

5.5 链路控制器互操作性要求

对于链路控制器层,应适用GAVDP中规定的要求此外,SNK和SRC中都应支持以下数据包是什么意思:DH3DM3,DH5和DM5

注意:对于INT/ACP描述了GAVDP中描述的要求。对於SRC必须支持INT和ACP。对于SNK必须支持ACP,它是可选的以支持INT。

表5.6显示了此配置文件中链路控制器过程的支持状态

设备类别字段应设置如下:

  1. 选择蓝牙分发号码[8]中定义的适当的次设备类。

A2DP要求符合通用访问配置文件本节定义了通用访问配置文件中定义的功能的支持要求。

表6.1顯示了此配置文件中模式的支持状态

  • C1 如果支持有限的可发现模式,则不可发现模式是强制性的否则是可选的。

  • C2 应支持有限的可发现模式或一般可发现模式

通用访问配置文件中所述的要求没有变化。

表6.2显示了此配置文件中空闲模式过程的支持状态

表6.2:支持的空闲模式過程

A2DP需要互操作性测试。测试策略的细节在[9]中有描述测试的功能在[10]中定义。

该配置文件没有指定特定的内容保护方法而只是提供对各種内容保护方法的支持。具体来说AVDTP通过“获取所有功能(Get All Capabilities)和流配置(Stream Configuration)”过程提供对特定内容保护方法的识别和协商。

AVDTP中的安全控制过程提供叻激活的内容保护方法的交换

本附录介绍了低复杂度子带编码技术规范(SBC)。 SBC是专为蓝牙AV应用而设计的音频编码系统以中等比特率获嘚高质量的音频,并具有较低的计算复杂度SBC使用4或8个子带,自适应比特分配算法和简单的自适应块PCM量化器SBC音频编码系统基于早期的系統,在[11]中提出针对Win32平台,[19]提供SBC编解码器的编码器和解码器的参考可执行文件有关更多信息,请参见[9]中的第9.4.3节请注意,SBC的源代码没有莋为说明书的一部分提供

表12.2:算术操作符

表12.3:逻辑操作符

表12.4:关系操作符

表12.5:比特操作符

表12.6:赋值操作符

定义了以下助记符来描述编码仳特流中使用的不同数据类型。

表12.10:数字符号

表12.15:填充语法

  • crc_check - 该8位奇偶校验字用于编码流内的错误检测

  • join[sb] - 用于指示在子带sb中是否使用联合立體声的一位。如果子带已经以联合立体声编码则等于1,如果子带已经以立体声编码则等于0。join[nrof_subbands-1]总是等于0

在图12.1中,示出了解码器的操作在比例因子的基础上,计算比特分发对于MONO和DUAL_CHANNEL,每个通道独立地计算位分发(见第12.6.3.1节)对于STEREO和JOINT_STEREO通道模式,组合两个通道的分发计算(見第12.6.3.2节)然后针对每个子带导出量化级数,计算子带样本最后通过多相合成滤波器生成PCM输出。本节将进一步描述此过程

为了检测传輸错误,执行CRC校验包括frame_header的所有位,除了syncword和crc_check加上scale_factors的所有位。所使用的误差检测方法是具有生成多项式的 CRC-8

CRC方法在图12.2给出的CRC校验图中描述。移位寄存器的初始状态为$0FCRC校验中包含的所有位都输入到图中所示的电路。每个位输入后移位寄存器移位一位。在最后一次移位操作の后输出bn-1…b0构成要与流中的CRC校验字进行比较的字。如果这些单词不相同则在已经应用CRC校验的字段中发生了传输错误。为了避免恼人的夨真推荐使用隐藏技术,例如静音实际帧或重复前一帧

图12.2:CRC校验图。附加块代表独特或门

通道ch和子带sb的实际缩放因子根据以下公式計算:

12.6.3.1 单通道和双通道位分发

对于这两个通道模式,每个通道独立地计算位分发并从比例因子得到。

在第一步中每个通道独立地根据鉯下伪代码从比例因子中导出比特值。表offset8和offset8在第12.8节中

然后搜索最大比特数索引。

接下来一个迭代过程会发现有多少位位适合于位池。

洇此比特位如此分配直到到达最后的比特分片。

从第一通道的子带0开始分发剩余的位

对于这两个通道模式,两个通道的位分发计算相結合并从两个通道的比例因子中得出。

对于JOINT_STEREO信道模式以联合立体声模式发送的子带应按照以下方式计算:

针对每个通道分别计算解码輸出的合成。对于解码子带采样的每个块应用合成滤波器来计算nrof_subbands连续音频采样。合成过滤器是根据以下的多相过滤器组:

更多细节参见[12]Φ的2.4.3.2.2节“合成子带滤波器”如第12.6.4节“子带样本的重建”和第12.6.5节“联合处理”中计算的sb_sample[blk][ch][sb]值是合成滤波器的输入。合成滤波器的输出是解码嘚音频输出样本

详细的过滤器框图如图12.3所示。

图12.3:合成滤波器的流程图

在图12.4中示出了编码器的操作。通过多相分析滤波器将输入PCM分成孓带信号对于每个子带,计算比例因子在比例因子的基础上,比特分发从那里,为每个子带导出级别然后对子带样本进行缩放和量化,最后生成比特流本节将进一步描述此过程。

对每个通道分别计算输入PCM的分析对于nrof_subbands连续PCM采样的每个块,应用分析滤波器来计算nrof_subbands子帶样本分析滤波器是根据以下的多相滤波器组:

详细的过滤器框图可以在图12.5中找到。

图12.5:分析过滤器的流程图

对于每个子带通过获取烸个子带中的最大绝对值的下一较高比例因子值来计算比例因子。比例因子值在第12.6.2节中定义

12.7.3联合立体声通道模式操作

对于JOINT_STEREO通道模式操作,应用稍微不同的过程从L和R子带信号中导出和和差分子带信号,并计算这些和和差分子带信号的比例因子可以使用简单的标准来确定L囷R子带信号是传输还是和差和差分子带信号,例如如果比例的和

L和R的因子大于和和差信号的比例因子的总和,子带使用联合编码进行编碼

编码器和解码器的位分发是完全相同的,并在第12.6.3节中描述

使用以下公式对子带样本进行归一化和量化。

在比特分发过程中使用LOUDNESS比特汾配方法的情况下使用接下来的两个表。

表12.21:四个子带的偏移表

表12.22:八个子带的偏移表

对于分析和合成滤波滤波器系数在接下来的两個表中定义。这些表应以行方式读取

表12.23:四个子带的滤波系数

表12.24:八个子带的滤波器系数1

表12.24:八个子带的滤波器系数2

12.9 比特率和帧长度的計算

使用以下公式计算比特率(bit_rate):

这里,nrof_channels和bitpool分别表示通道数和位池值当使用联合立体声时,join = 1否则为0.有关参考,请参见第12.5节

本节包含AVDTP中定义的用于音频流设置的典型信令过程的示例。本节仅供参考有关详细信息,请参阅GAVDP [3]和AVDTP [4]在这个例子中,SRC被假定为INT而SNK为ACP。

SRC启动Stream Endpoint(SEP)发现过程此过程用于返回每个流终端的媒体类型和SEID。 SRC找到音频流流终端

然后,启动“获取所有功能”过程以收集SNK的服务功能有两種服务能力;一个是应用服务能力,另一个是传输服务能力 A2DP的应用服务能力包括音频编解码能力和内容保护能力。关于运输服务能力参見AVDTP第4节[4]。

基于收集的SEP信息和服务能力SRC确定SNK和SRC本身最合适的音频流参数(编解码器,内容保护和传输服务)然后,SRC请求SNK使用流配置过程配置SNK的音频参数 SRC还配置自身的音频参数。

然后根据流建立过程中的定义建立L2CAP信道。最后两个设备的状态都设置为<OPEN>。

图13.1:音频流设置

SRC通过用户启动的操作或内部事件启动开始流过程两种设备的状态都从<OPEN>更改为<STREAMING>。此过程完成后音频流即被启动。

本节定义了制造商在设備中实现编解码器时要满足的要求

[D1]它可以解码SBC比特流语法。
[D2]其输出应至少满足SBC测试规范中对于配置VBR,最大比特率特殊测试和典型比特流定义的14比特标准。

14.1.2 可选编解码器解码器

[D3]其解码器的输出应满足为符合参考而定义的标准

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

[E1]其输出符合SBC比特流语法。

[E2]主观质量(通过标准化方式或通过客观测试方法测量参见[20]和[21])应等同于参考编码器。

[E3]其输出应符合相应的比特流语法

我要回帖

更多关于 数据包是什么意思 的文章

 

随机推荐