赞
踩
蓝牙音频视频分发传输协议(AVDTP): 定义了蓝牙设备间A/V数据流的协商,建立,和传输过程以及相互交换信令消息形式。
音视频的应用协议和应用框架总览为:
AVDTP实现实体通过L2CAP分组进行:
如下图所示:
这两者的关系:A/V信令 提供 A/V数据流 的发现,配置,建立和传输控制功能。
基本的概念和术语:
Stream:两个点对点设备之间的流媒体数据
Source (SRC) and Sink (SNK):依赖与应用层的两种角色,音频源和接收方。这两种角色都是在A2DP定义的。
Initiator (INT) and Acceptor (ACP):启动过程的设备作为启动者、接受启动的设备为接收者。要注意的是INT和ACP独立于上层应用定义的SRC和SNK,并且不能对应底层L2CAP中的角色
Application and Transport Service Capabilities:应用服务和传输服务的功能。应用服务功能比如协商、配置音源设备的codec,内容保护系统等;传输服务能力比如数据报文的分割和重组,数据包的防丢检测等等。
Services, Service Categories, and Service Parameters:服务、服务类别、服务参数
Media Packets, Recovery Packets, and Reporting Packets:流媒体包,数据恢复包,报告报文
Stream Context (SC):流文本。流文本保存了流设置过程中达成一致的配置内容,包括选择的服务,参数,以及传输通道分配。流的两端都存在流文本,他可以理解为用来收集和保存信息的表格。
Stream Handle (SH):流句柄。在SRC和SNK建立了连接之后分配的一个独立的标识符,用于对流和流文本的引用。
Stream End Point (SEP):流端点,流端点是为了协商一个流而公开可用传输服务和A/V功能的应用程序。换句话说,应用程序通过这个接口提供Transport Services and A/V capabilities来建立Stream。【类似网络编程中的端口号?】
Stream End Point Identifier (SEID):流端点标识,对特定设备的跨设备引用,该引用用于信令事物
Stream End Point State:流端点状态
Transport Session:传输会话。在A/V传输层的内部,在配对的AVDTP实体之间,流可以分解为一个、两个或多个
三个传输会话。
Transport Session Identifier (TSID):传输会话标识。代表对一个传输会话的引用。
Transport Channel:传输通道。传输通道指的是对A/V传输层下层承载程序的抽象,始终对应L2CAP的通道。通常和一个L2CAP Channel对应。不用AVDTP Multiplexing Mode时,一条Transport Channel只传输一个transport session;用transport session的情况下,一条Transport Channel可以传输多个transport session (media,report或者recovery)。
Transport Channel Identifier (TCID):传输通道标识。代表对一个传输通道的引用。
Reserved for Future Additions(RFA):保留给将来添加
Reserved for Future Definitions (RFD):保留给将来定义
Forbidden (F):禁用
下图显示了AVDTP,蓝牙协议栈 和 A/V分发应用高层间的相应关系。
AVDTP内部结构图:
AVDTP组成为:流管理器,校正,适配层和信令四个部分。其中,
关于 流端点(SEP)有两方面内容:流端点配置过程 和 流端点状态机。
(1)下图流端点配置过程示例分为三个步骤:
① 设备A 发现 设备B 的资源(包括SEID和媒介类型);
②收集SEP z 的应用和传输服务能力;
③在了解到所有的能力并与自身的能力比较之后,设备A 可以对流 进行配置。
以上三个过程分别由应用层选择在不同的服务来实现。
(2)流端点状态机
(1)基本服务
高层应用将AVDTP配置为基本服务时,仅有信令和流管理器部分工作。基本服务保证了每个会话的媒介分组在单独的信道上传输。
在AVDTP与L2CAP间存在两个接口,分别用于信令分组 和 媒介分组。
(2)校正服务
在基本服务和其他己经配置的基础上,校正实体也被激活。在信源(SRC)端校正服务使用同一个传输会话的媒介分组来产生额外的校正分组。在信宿(SNK)端这些校正分组可以用来重建那些在空中传输路径中丢失的媒介分组。为了有效的抗干扰,所有的校正分组通过单独的传输信道进行传输。
(1)范围
校正服务可以根据媒介分组类型 和 内容来决定保护手段,如可以根据音频分组和视频分组各自的错误恢复能力来决定保护其中的哪种,或者只保护流中易破坏的部分。
(2)校正服务概述
校正服务在专门的传输会话上独立于其他AVDTP 服务操作,处理媒介分组保护的应用请求包括下列途径:
在信源端,该服务对于经过特定接口的应用命令处于激活状态。校正分组从要保护的媒介分组中产生,产生的校正分组自动进入相关的传输信道而不需要高层应用的介入。
在信宿端,当发现受保护的传输会话上丢失了媒介分组时,流管理实体直接启动校正服务,校正服务尝试使用一个或者几个并发的校正分组存储丢失的分组。如果原始的媒介分组被成功地重构,则校正服务呼叫流管理器功能,将恢复的媒介分组插入到流的输出接口;如果校正失败,则通过信令通知高层应用。
(3)报告服务
在基本服务和其他己经配置的基础上,报告接口也被激活。报告服务向本地应用和远端设备提供有关媒介流的时间校准和分组丢失的统计信息,从而帮助实现媒介流同步和调调整纠错机制。
在报告服务中,一个单独的应用(如视频)可以打开不同的媒介传输会话,对于每个媒介传输会话,都有一个相关的报告会话。因此,每个流会话 包括两条传输信道:一条用于媒介分组,另一条用于报告分组。
在AVDTP中,仅仅使用接收方报告分组(RR),信源描述分组(SDES) 和 发送方报告分组(SR)。他们的分组形式后续附录给出。
(4)适配服务
多路复用服务,它通过L2CAP 层中的分段实现,可以提高L2CAP 分组的使用效率。
下面给出适配层PDU分组格式:
具体先略;
一,概述:
(1)AVDTP信令遵循L2CAP中定义的事务模型。下列给出了信令命令:
(2)下图为流 的信令管理流程,虚线表示过程,实现包含过程。
建立流端点连接的过程包括四步:
①首先使用AVDTP Discover命令发现ACP 中的流端点;
②然后从中选择将要建立连接的流端点;
③再使用AVDTP_Get Capabilities 命令收集目标SEID 的服务能力;
④最后使用AVDTP_Set_Configuration 命令对流端点进行配置。
(3)信令消息的分组格式:
二,信令命令 和 响应头
①事务标签:是每个正在处理的INT事务的标识。在ACP端,信令命令 和 相应的响应中的事务标签应保持一致。
②分组类型:指出信令消息是由单一分组还是由多个分组组成,在多分组情况下,将指出是起始分组,中继分组还是结束分组。
③消息类型:在 命令分组 和 响应分组 中各有定义:
④待定类型:该字段为,接收方将忽略还字段。
⑤信令标识符:信令响应消息中的信令标识符 与 信令命令消息中的信令标识符保持一致。
⑥分组尺寸要求:分端消息的接受方可以根据起始分组的长度和起始分组中的NOSP信息来为消息的重组分配资源。
⑦接收端完整性校验:接收方将丢弃收到破坏的消息,并且不通知本地高层。
三、信令消息格式
各种各样呀,简单罗列一下都有哪些格式类型:
流端点发现
获得能力信息
流配置
获取配置信息
流建立
流启动
流释放
流暂停
重新配置流
安全控制
中断
通用拒绝
四,信息元素
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。