低功耗藍牙LE Audio Profile 詳細介紹
1、LE Audio介紹
1.1、LE Audio傳輸協議
2019年底,藍牙官方組織SIG發布了藍牙5.2版本的核心協議,其中增加了一個重要的特性---LE Audio。藍牙的應用協議都是從應用層到物理層完整包含的協議,LE Audio也不例外。但藍牙5.2核心協議僅僅定義了藍牙LE的鏈路層傳輸Audio的方式,上層協議以及完整的LE Audio規范遲遲未出,近日,藍牙官方組織釋放了LE Audio較為完整的規范文檔。
1.2、LE Audio完整應用
本次Sig組織定義了如下規范和協議,這些規范協議連同核心協議組成了LE Audio的完整應用- Basic Audio Profile(BAP)
- Published Audio Capabilities Service(PACS)
- Audio Stream Control Service(ASCS)
- Broadcast Audio Scan Service(BASS)
- Low Complexity Comunication Codec(LC3)
用于LE Audio的音頻編解碼器,顧名思義,此編碼器屬于低復雜度的音頻編碼器。LC3編碼器可選參數范圍很大,應用范圍從8KHz單聲道語音到48KHZ多聲道音樂均支持,同時相比經典藍牙音頻規范使用的編碼器SBC,同碼率下音質有很大的提升。
2、LE Audio詳解
2.1、BAP規范
BAP規范作為LE Audio的基礎音頻規范,其位于如下藍牙協議層。
BAP規范根據支持的點對點音頻和廣播音頻,定義了如下角色
每類角色支持的服務如下(注: X代表不支持,M代表必須支持,O代碼可選支持)
當2個設備處于對應角色時,即可通過BAP定義的操作步驟完成服務的連接以及音頻傳輸服務。
以Unicast Server和Unicast Client為例,其步驟如下
- Unicast Client通過GATT服務發現操作發現Unicast Server的PACS服務并得知音頻參數。
- Unicast Client通過GATT服務發現操作發現Unicast Server的ASCS服務并得知當前狀態。
- Unicast Client如發現其音頻參數匹配且Server的狀態處于IDLE狀態,即可連接音頻服務。
- Unicast Client通過ASCS定義的操作碼,配置音頻編解碼參數和音頻傳輸參數,然后開啟音頻。
- Unicast Client通過核心協議5.2定義的方式,根據配置參數,在鏈路層開啟CIS音頻傳輸流。
- Unicast Sink通過ASCS操作碼,通知Unicast Source已可接收音頻。
- Unicast Source開啟LC3編解碼器,并將編碼后的音頻流通過CIS傳輸到Unicast Sink。
- Unicast Sink接收音頻流,解碼并播放。
2.2、PACS服務
PACS服務用于點對點音頻,定義了設備的音頻能力,其服務定義如下。
其中,Source PAC為音頻發送能力屬性,當設備支持音頻發送時才需要定義,其格式如下:
Sink PAC為音頻接收能力屬性,當設備支持音頻接收時才需要定義,其格式如下:
2.3、ASCS服務
ASCS服務用于音頻控制,通過定義的一套操作碼作交互,從而達到控制音頻狀態轉移的目的。
ASCS的服務定義如下
2.4、BASS服務
BASS為廣播音頻掃描服務,用于告知廣播音頻的一些參數,屬于輔助服務,其定義如下。
2.5、LC3編解碼器
LC3編解碼器用于LE Audio的音頻編解碼,與MP3,AAC類似,屬于頻域編碼,編碼效率遠高于SBC子帶編碼,而10毫秒和7.5毫秒的短幀結構,對于音頻延遲有較大改善。
LC3在頻域上引入了SNS頻域噪聲整形,TNS時域噪聲整形以及熵編碼等技術,其中TNS等技術已用于AAC,這些技術對于音質有提升,整個編碼過程如下:
解碼是編碼的逆過程,如下:
3、LE Audio支持展望
LE Audio作為一個非常重要的特性,發布至今除少量demo仍未見應用。大規模普及仍依賴于操作系統廠商是否支持,諸如蘋果的IOS以及谷歌的Android,從目前的進展(IOS14以及Android11)來看,仍未看到有支持LE Audio。
但翻看AOSP的代碼,在Android12(android-s-beta版)上,已能發現LE Audio的痕跡,如下
從目前的代碼完整度來看,仍不算完整功能支持,預計在Android12上會完善并開始應用,等手機支持后,相信會有廠商推出支持LE Audio的耳機。
但音頻應用屬于一個通用應用,蘋果以及其他操作系統諸如微軟的windows的支持也極其重要,從這個角度講,LE Audio要大規模普及可能仍需要時間。
————————————————
參考來源
HaaS技術社區: https://blog.csdn.net/HaaSTech/article/details/119565156