蓝牙音频双剑客(二)

您所在的位置:网站首页 苹果手机蓝牙音频协议 蓝牙音频双剑客(二)

蓝牙音频双剑客(二)

#蓝牙音频双剑客(二)| 来源: 网络整理| 查看: 265

零. 概述

主要介绍下蓝牙协议栈(bluetooth stack)传统蓝牙音频协议之高质量音频分布协议(A2DP) SBC编解码算法 Codec Specific Infomation Elements。

 

一. 声明

本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:

第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。

第二篇:Transport层介绍,主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,基于USB的H2等

第三篇:传统蓝牙controller介绍,主要介绍传统蓝牙芯片的介绍,包括射频层(RF),基带层(baseband),链路管理层(LMP)等

第四篇:传统蓝牙host介绍,主要介绍传统蓝牙的协议栈,比如HCI,L2CAP,SDP,RFCOMM,HFP,SPP,HID,AVDTP,AVCTP,A2DP,AVRCP,OBEX,PBAP,MAP等等一系列的协议吧。

第五篇:低功耗蓝牙controller介绍,主要介绍低功耗蓝牙芯片,包括物理层(PHY),链路层(LL)

第六篇:低功耗蓝牙host介绍,低功耗蓝牙协议栈的介绍,包括HCI,L2CAP,ATT,GATT,SM等

第七篇:蓝牙芯片介绍,主要介绍一些蓝牙芯片的初始化流程,基于HCI vendor command的扩展

第八篇:附录,主要介绍以上常用名词的介绍以及一些特殊流程的介绍等。

另外,开发板如下所示,对于想学习蓝牙协议栈的最好人手一套。以便更好的学习蓝牙协议栈,相信我,学完这一套视频你将拥有修改任何协议栈的能力(比如Linux下的bluez,Android下的bluedroid)。

-------------------------------------------------------------------------------------------------------------------------

CSDN学院链接(进入选择你想要学习的课程):https://edu.csdn.net/lecturer/5352?spm=1002.2001.3001.4144

蓝牙交流扣扣群:970324688

Github代码:https://github.com/sj15712795029/bluetooth_stack

入手开发板:https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-22329603896.18.5aeb41f973iStr&id=622836061708

蓝牙学习目录:https://blog.csdn.net/XiaoXiaoPengBo/article/details/107727900

--------------------------------------------------------------------------------------------------------------------------

二. A2DP codec

在A2DP协议中有以下规定:

首先所有设备强制规定必须有SBC的codec算法,这个是有损算法,音质跟MP3差不多,之所以一直保留在现在,是因为最开始的蓝牙就有SBC,我个人感觉算是一种纪念性意义以及兼容性意义,纪念性意义不用说,我们来提下兼容性意义,为什么说兼容性意义呢,设想一个下,Local设备跟Remote设备假设都支持更高音质,更小压缩损耗的算法,但是算法不同,在AVDTP的时候就无法建立握手的动作,但是有了SBC就能保证一点了,你们其他音频算法不匹配,但是至少有SBC可以用,至少可以出声音哦!

另外还支持3中可选算法,MPEG-1,2 audio/MPEG-2,4 AAC、ATRAC family,当然还有一些自定义扩展codec算法,比如比较流行的APTX,LDAC等。

我们本书暂时不对Codec算法来深入研究,我们只是来说明下部分参数,教你怎么用起来,至于音频算法,我觉得是一门很深的学问,我自己也hold不住。

SBC codec

SBC是蓝牙强制规定支持的协议,其中Codec Specific Infomation Elements定义如下:

Sampling Frequency:这部分是采样频率,Source端强制要求44.1KHz,48KHz支持一种,Sink要求44.1KHz,48Khz都支持,每个值对应的如下

Channel Mode:通道数

Sink要求全支持,而Source只强制要求支持Mono,其他可选

Block Length:块长度

Subbands:次频带

Allocation Method:配置方法

Minimum Bitpool Value:

Maximum Bitpool Value:

在播放设备中可以设置 SBC 编码质量,这个值叫 bitpool,大概 1 bitpool = 6~7 kbit/s。SBC 是一种复杂度较低的编码格式,同等码率下音质稍差,根据这个网站上的比较,最高 328 kbit/s 的 SBC 音质大约介于 224 kbit/s 到 256 kbit/s 的 MP3 之间。此外,设置不当、信号差、设备不支持高 bitpool 等都会造成传输码率下降而使音质下降,耳机或音箱本身的音质也是很重要的因素。以下为不同的bitpool的码率

A2DP media封包格式为:

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3