Swagger On 華為云Devcloud
1192
2022-05-30
前言
1.Codecs的 支持
1.1 強制性編解碼器
1.2?可選編解碼器
1.3?供應商特定的A2DP編解碼器
1.4?編解碼器的互操作性要求
2.SBC
2.1 SBC編解碼器的信息
2.2?媒體有效載荷格式
總結
前言
本節主要包括SBC的一些信息。
1.Codecs的 支持
下表顯示了此配置文件中支持的強制性和可選編解碼器。
1.1 強制性編解碼器
A2DP要求使用低復雜度的子帶編解碼器(SBC),以確保互操作性。當設備為SRC時,設備應實現SBC編碼器,當設備為SNK時,設備應實現SBC解碼器。本文檔中的所有其他編解碼器都稱為非強制性編解碼器。
1.2?可選編解碼器
該設備還可支持可選的編解碼器,以最大化其可用性。當SRC和SNK都支持相同的可選編解碼器時,可以使用該編解碼器來代替強制性編解碼器。
1.3?供應商特定的A2DP編解碼器
該設備可能支持其他編解碼器,作為供應商特定的A2DP編解碼器。供應商特定的A2DP編解碼器(以下簡稱供應商)的用戶將需要定義參數和其他必要的信息在A2DP中使用編解碼器。該配置文件沒有指定供應商特定的A2DP編解碼器的任何內容,但規定有以下要求:
建議編解碼器應在正式互操作性(IOP)測試會議中成功測試: (1)成功測試編解碼器意味著至少兩個源和兩個接收槽實現應向BARB提供證據,表明建議編解碼器已成功實(2)正式IOP測試計劃應在正式的IOP測試會議之前提交并由BARB批準.
任何適用于擬議編解碼器的許可證應以公平合理的條款提供,并以非歧視的方式獲得。如果需要,建議編解碼器的規范應向所有計劃實施該編解碼器的公司提供擬議編解碼器的要求。
如果供應商特定的A2DP編解碼器升級到可選的,它將只列在藍牙分配編號中,而不列在這個或未來的配置文件版本中。
1.4?編解碼器的互操作性要求
當SRC希望發送SNK不支持編解碼器格式的音頻數據時,應將數據轉換為SBC。因此,當SRC支持非強制性編解碼器時,它將適用以下要求。
僅對SNK不支持其格式的任何SRC輸入需要轉換到SBC。
例如,當SRC接受非強制編解碼器格式的預編碼音頻數據時,SRC應擁有該非強制編解碼器的解碼器以及用于轉碼的SBC編碼器。
2.SBC
在此配置文件中必須支持SBC。SBC規范是藍牙規范的一部分。
2.1 SBC編解碼器的信息
注:在AVDTP的“獲取所有能力響應”中,可以在每個字段中定義/設置一個或多個位。另一方面,在AVDTP的設置配置命令和重新配置命令中,每個字段只能定義/設置一位。
采樣率
對于SNK中的解碼器,采樣必須使用44.1 kHz和48 kHz的頻率來支持。SRC中的編碼器應至少支持至少有一個采樣頻率為44.1 kHz和48 kHz。
通道模式
下表顯示了SBC信道模式字段的值。對于SNK中的解碼器,應提供所有功能得到支持。SRC中的編碼器應支持至少一個單通道和一個雙通道,立體聲和聯合立體聲模式。
塊長度
下表顯示了SBC的塊長度字段值。SRC中的編碼器和SRC中的解碼器SNK應支持所有參數。
子帶
下表為SBC的子帶數字段的值。對于SNK中的解碼器,應支持所有功能。SRC中的編碼器應至少支持至少8個子帶情況。
分配方法
下表顯示了SBC的分配方法字段的值。對于SNK中的解碼器,應支持所有功能。SRC中的編碼器應至少支持響度法。
最小/最大位池值
設備使用最小/最大位池值字段設置SBC位池參數的范圍由8位UiMsbf(無符號整數,最高有效位在前)表示,范圍從2到250。進退兩難AVDTP中的所有功能過程,最小/最大位池值字段包含允許的在流配置或流重新配置中,ACP中位池值的可變范圍過程在AVDTP中,字段包含INT期望的位池值的可變范圍發送/接收。
利用比特池值和其他編解碼器參數(采樣頻率、信道模式、塊長度和子頻帶數),計算音頻流的比特率和幀長。
確定比特率的編解碼器信息包含在SBC幀頭中,并重復發送到與音頻數據流相關聯的SNK。SRC能夠通過更改位池參數來動態更改比特率,而無需暫停。其他參數可以在GAVDP中定義的更改參數過程中進行更改。
SNK的解碼器應支持2作為下表中的最小比特池值和高質量比特池值作為最大比特池值。
SNK設備可能支持比下表中的高質量值更大的位池,但應該需要證明可接受地呈現結果媒體的能力。
對于SRC的編碼器,它需要支持至少一個可能的位池值。但是,建議編碼器支持下表中所示的以下設置。
請再次注意,此表中顯示的幀長度根據位池值是可變的。為了最有效地使用L2CAP中的傳輸,可以在構造介質有效載荷時調整幀長度。
SNK的解碼器應支持所有導致不超過最大比特率的可能比特池值。該配置文件將單聲道的可用最大比特率限制為320kb/s,對雙通道模式限制為512kb/s。
2.2?媒體有效載荷格式
圖4.2中所示的SBC的媒體有效負載由SBC規范中定義的SBC特定報頭和SBC幀組成。
如果傳輸通道配置的MTU大小大于或等于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
RFA-預留給未來的添加。具有此名稱的位點應設置為零。接收者應忽略這些位元。
幀數(4位)—如果F位設置為0,則該字段表示該數據包中包含的幀數。如果F位設置為1,則該字段表示剩余片段的數量,包括當前片段。因此,最后一個計數器值應為1。例如,如果有三個片段,則計數器的后續片段的值分別為3、2和1。該字段用4位UiMsbf表示。
總結
本小結主要介紹了Audio Codec SBC的信息和有效載荷格式
嵌入式
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。