首页 > 其他分享 >Bluetooth LE AUDIO架构概述

Bluetooth LE AUDIO架构概述

时间:2024-12-08 08:59:25浏览次数:9  
标签:Profile LE Service 音频 Audio Bluetooth AUDIO 客户端

背景

Bluetooth LE AUDIO是蓝牙5.2版本引入,LE AUDIO的引入不仅仅只是在功耗和延迟方面相对于经典蓝牙音频有改善,最大的创新在于应用场景的拓展,尤其是LE广播音频Auracast的引入,丰富了蓝牙Audio的应用场景,下面列举广播音频几个典型的应用场景:

场景描述
公共场所广播LE Audio广播音频的“主打”用例是:作为一种高性价比的增强和辅助听力技术应用于目前部署了公共广播常所。凭借低功耗音频的无连接广播功能,无数用户将能够在公共场所使用私人设备有效地收听各种音频串流
多语言支持支持同声传译服务的地点可以将Auracast™广播音频用作一项多语言技术,该用例是公共空间用例的一个分支。用户将能够以他们的语言偏好来选择相应的音频串流,以此来获得信息和音频。这方面的典型用例包括会议中心或电影院。
游览系统用户能够加入博物馆、体育场、会议中心、旅游景点等场所的音频游览系统。导游将配备一个低功耗音频广播发射器,听众将能够使用自己的耳机或助听器收听音频。
静音电视屏幕低功耗音频除了用于家中电视的音频传输之外,还可用于全球许多安装了电视、但却没有提供音频或者音频很难听清的地点。而借助低功耗音频,用户可以通过他们的Auracast™助手和耳机设备接入特定屏幕的音频,从而优化这些环境中的访客体验并提高客户满意度。

接下来看看Bluetooth LE AUDIO的架构:

架构

整个LE Audio 框架如下:
在这里插入图片描述

Use Case Specific Profiles

Bluetooth LE Audio目前定义了三大应用用例:

应用用例详解
TMAPTelephony and Media Profile的缩写,电话和媒体服务,也就是现在最常见的应用用例
HAP/HASHearing Access Profile/Service的缩写,助听器
PBPPublic Broadcast Profile的缩写,公共广播,也就是我在上面列举的那些广播应用场景例子

Generic Audio Framework

通用音频架构,这个LE Audio的核心架构

ProfileService详解
CAPCASCommon Audio Profile/Service。CAP定义了起播,停播,更新基于BAP的LE Audio 单播和广播的流程,同时也定义了如何基于VCP和MICP控制音量;
CAS则表示定义了一个支持CAP的服务器的实例
BAPPACS/ASCS/BASSBAP:Basic audio Profile,他定义了设备如何通过LE发起或者收听音频的行为。
PACS:Published Audio Capabilities Service:他定义了服务器的支持的音频能力,比如Source和Sink端点支持的codec的能力(采样率,信道数,帧间隔,帧字节数等等)以及支持哪些应用场景(Media , Conversational, Game, Live等等)。
ASCS:Audio Stream Control Service:定义了服务端音频流控制服务,它定义了服务端支持哪些ASE(包括Source 和Sink),以及通过配置这些ASE对单播音频流进行QOS Config, Codec Config, Enabling, Streaming。
BASS:BroadCast Audio Scan Service:定义了服务端也就是广播发布者告知接收器的音频的参数和状态。
MCPMCSMCP: Media control Profile,定义了客户端操作对方媒体播放器的能力和流程,比如起播,上一首,下一首等。
MCS:Media Control Service,提供了让客户端操作服务端媒体播放器的能力。
CCPTBSCCP:Call Control Profile,定义了客户端操作对方电话服务的能力和流程,比如接听,挂断,通话保持等。
TBS:telephony bear service,提供了让客户端操作的电话服务控制接口和能够让客户端须知的状态。
CSIPCSISCSIP:Coordinated Set Identification Profile ,提供了如何识别和定义同一个协调集的设备的方法和手段,最典型的例子就是两个耳机是同一个协调集,我们该如何去识别他们。
CSIS :Coordinated Set Identification Service,提供了让客户端来识别和寻找同一个协调集的服务。
MCIPMCISMICP: Microphone Control Profile:提供了麦克风控制方法,这是LE Audio最简单的一个Profile,就只有一个Mute和UnMute的功能。
MICS: Microphone Control Service:提供给客户端控制服务端控制麦克风的服务。
VCPVCS/VOCS/AICSVCP:Volume Control Profile,提供了如何调控服务端音量的手段和方法。
VCS: volume control service;VOCS: volume offset control service;AICS:audio input control service,这三个都是提供给客户端音量控制的服务:在这里插入图片描述

LC3

LC3编解码器用于LE Audio的音频编解码,这是LE Audio指定的必须支持的编解码器。这就是像经典蓝牙A2DP必须支持SBC编解码器一样,但LC3属于频域编码。编码效率远高于SBC子带编码,而10毫秒和7.5毫秒的短帧结构,对于音频延迟有较大改善。而且支持更低的码率(差不多能达到SBC码率的一半),在相同码率的情况下,听感要好于SBC。

结语

LE Audio的引入是蓝牙的又一次重大进步,可以预见在未来数年,LE Audio的应用必将如雨后春笋般的出现,在未来的音频市场上必将占据重要一席。

标签:Profile,LE,Service,音频,Audio,Bluetooth,AUDIO,客户端
From: https://blog.csdn.net/Jzj1234555/article/details/144214349

相关文章

  • 教你如何打穿Kioptrix-Level1靶机
    本篇文章旨在为网络安全初学者介绍渗透测试行业靶机教学。通过阅读本文,读者将能够对渗透Kioptrix-Level1靶机有一个初步的了解目录一、信息收集阶段1、扫描网段,发现主机2、扫描主机详细信息(1)22/tcpopensshOpenSSH2.9p2(protocol1.99)(2)80/tcpopenhttpApacheh......
  • java 发送邮件 css-style 样式丢失错乱问题,有解决方案
    邮件系列java如何实现发送邮件email?java搭建属于自己的邮件服务器java发送邮件css-style样式丢失错乱问题,有解决方案java发送邮件-04-java邮件发送http接口如何定义?开源项目email:一行代码实现邮件发送前言大家好,我是老马。大家日常开发,对于邮件发送应该能不......
  • canvas 里面的 clearRect 的方法论
    ‌在Canvas中清除内容可以使用clearRect方法。https://turfjs.fenxianglu.cn/docs/next/api/bbox......
  • 文献阅读笔记|将H&E图像转换为虚拟免疫组化图像的病理学工具|Accelerating histopatho
    论文链接:https://doi.org/10.1038/s42256-024-00889-5论文信息:发表于NatureMachineIntelligence。2023年12月4日投稿,2024年7月29日接收,2024年9月9日online目录AbstractIntroduction1、从HE染色病理图像合成多重免疫组化(IHC)染色图像的意义2、虚拟染色【1】含义介绍【2】配对模......
  • AllenExplorer v6.8 离线注册分析
    AllenExplorerv6.8离线注册分析目录AllenExplorerv6.8离线注册分析文件信息脱壳离线注册分析ConfirmButton_Click按钮事件FinishRegistrationSetGqmpyps解密的代码null文件信息PE64操作系统:Windows(Server2003)[AMD64,64位,GUI]链接程序:MicrosoftLinker......
  • vxe-table 树表格跨层级拖拽排序
    vxe-table树表格跨层级拖拽排序,通过row-drag-config.isCrossDrag启用跨层级拖拽官网:https://vxetable.cn/<template><div><vxe-gridv-bind="gridOptions"></vxe-grid></div></template><script>exportdefault{da......
  • SAT问题(Boolean satisfiability problem)(布尔可满足性问题)
    1.组成SAT问题的三要素m个逻辑变元(variable)的集合:\(x_1,x_2,…,x_m\)文字(literal)的集合:一个文字就是一个逻辑变元或其非。这样,全部基本式为:\(x_1,\overline{x_1},x_2,\overline{x_2}…,x_m,\overline{x_m}\)n个子句(clause)的集合:\(C_1,C_2,…,C_n\),其中......
  • Leetcode Hot100 | Day02 双指针
    4.移动零283.移动零给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。示例1:输入:nums=[0,1,0,3,12]输出:[1,3,12,0,0]示例2:输入:nums=[0]输出:[0]题解:......
  • 详解LeetCode地下城游戏(动态规划)——区分两种状态表示形式
    地下城游戏题目链接:174.地下城游戏状态表示:按照以往题的表示,dp[i][j]表示:从起点(0,0)位置到达(i,j)位置时,所需的最小初始健康值。但是如果这么去表示,不仅要考虑到达(i,j)位置的最小初始健康值,由于魔法球的存在,还需要考虑到达(i,j)位置时的健康值,因为魔法球会对算后续位置的最小初始......
  • leetcode3351 好子序列的元素之和
    给定数组num[n],如果一个子序列中任意两个相邻元素的绝对差恰好为1,则称它为好子序列,返回nums中所有好子序列的元素之和,结果对1E9+7取模。注意,长度为1的子序列算好子序列。1<=n<=1E5;0<=nums[i]<=1E5分析:设f[x]表示以x结尾的所有子序列元素之和,g[x]表示以x结尾的子序列个数,从左到......