一種處理數據的方法和系統的製作方法
2023-05-21 12:13:21 2
專利名稱:一種處理數據的方法和系統的製作方法
技術領域:
本發明涉及藍牙設備,更具體地說,涉及一種為藍牙流音頻應用提供最優結構的方法和系統。
背景技術:
藍牙無線技術將個人設備從有線連接中解放出來,為個人連通性帶來了根本改變。藍牙是一種小型化、低成本的無線通信解決方案的規範,它為移動計算機、行動電話和其他可攜式和手持設備提供連結。
藍牙無線技術是一種使智能設備之間能夠通過無線、短程通信進行通信的開放性國際標準。該技術使得任何種類的藍牙兼容設備——從計算機和蜂窩電話到鍵盤和耳機——能夠建立自己的連接,不需要線纜或用戶的任何直接動作。目前,藍牙正以日漸增加的速度結合到各種商業產品中,包括膝上型電腦、PDA、蜂窩電話和印表機。
藍牙設備,例如行動電話和PAD正變得越來越複雜,因為這些設備將用於發射和接收音頻信息。例如,藍牙設備在將音頻信息傳輸給另一個藍牙設備之前,可使用編碼器/解碼器(CODEC)對音頻信息進行編碼。類似地,接收到來自其他藍牙設備的編碼音頻信息時,可使用CODEC對編碼音頻信息進行解碼。
在具有集成藍牙晶片的傳統藍牙手持設備中,低複雜度的次頻帶CODEC(SBC)編碼器在手持設備的主處理器上運行。這樣,藍牙編碼處理過程使用了寶貴的主處理器資源,不然的話,這部分資源可用於處理該手持設備上運行的其他任務。在這些傳統的手持設備中,例如蜂窩電話,手持設備必須有足夠的額外處理能力以處理與編碼SBC音頻有關的任務。這種需求導致的結果是,缺乏足夠處理能力的廉價手持設備無法進行SBC音頻編碼處理。除了SBC之外,藍牙所用的其它CODEC也是如此。
比較本發明後續將要結合附圖介紹的系統,現有技術的其它局限性和弊端對於本領域的普通技術人員來說是顯而易見的。
發明內容
本發明要解決的技術問題在於,針對現有技術的上述編碼處理要使用寶貴的主處理器資源的缺陷,提供一種處理數據的方法和系統,該方法和系統能夠為藍牙流音頻應用提供最優結構。
根據本發明的一方面,提供一種處理數據的方法,包括在藍牙收發器晶片上使用所述藍牙收發器晶片內的音頻編解碼器壓縮音頻信息。
優選地,所述音頻編解碼器包括低複雜度的次頻帶編解碼器(SBC)。
優選地,該方法還包括在所述藍牙收發器晶片外部產生包含所述音頻信息的音頻數據流。
優選地,所述音頻數據流是通過所述藍牙收發器晶片外部的音/視頻分布式傳輸協議(AVDTP)生成。
優選地,該方法,還包括通過藍牙收發器晶片在藍牙主設備和對等的藍牙設備之間建立數據信道,以將所生成的音頻數據流傳遞給所述藍牙收發器晶片進行壓縮。
優選地,該方法還包括通過至少使用以下之一邏輯鏈路控制和適配協議(L2CAP)和高級音頻分布框架(A2DP)建立所述數據信道。
優選地,該方法還包括在所述藍牙收發器晶片中確定包含所述壓縮音頻信息的至少一個音頻幀的幀尺寸。
優選地,該方法還包括在所述藍牙收發器晶片中基於所確定的幀尺寸將所述至少一個音頻幀格式化。
優選地,所述格式化至少包括以下之一分割所述至少一個音頻幀、組合多個所述音頻幀。
優選地,該方法還包括通過所述藍牙收發器晶片內的音/視頻分布式傳輸協議(AVDTP)將所述至少一個音頻幀格式化。
優選地,所述方法還包括通過脈衝編碼調製(PCM)有線連接從所述藍牙收發器晶片外部獲取所述音頻信息。
根據本發明的一方面,提供一種處理數據的系統,該系統包括藍牙收發器晶片,所述藍牙收發器晶片包括用於壓縮所接收到的音頻信息的片載音頻編解碼器。
優選地,所述音頻編解碼器包括低複雜度的次頻帶編解碼器(SBC)。
優選地,所述藍牙收發器晶片通過藍牙收發器晶片外部的協議棧接收包含所述音頻信息的音頻數據流。
優選地,所述接收到的音頻數據流是通過所述藍牙收發器晶片外部的所述協議棧內的音/視頻分布式傳輸協議(AVDTP)產生。
優選地,通過所述藍牙收發器晶片在藍牙主設備和對等的藍牙設備之間建立數據信道,以將所生成的音頻數據流傳遞給所述藍牙收發器晶片進行壓縮。
優選地,所述數據信道是通過使用所述藍牙收發器晶片外部的協議棧內的至少以下協議之一邏輯鏈路控制和適配協議(L2CAP)和高級音頻分布框架(A2DP)而建立。
優選地,所述藍牙收發器晶片在晶片中確定包含所述壓縮音頻信息的至少一個音頻幀的幀尺寸。
優選地,所述藍牙收發器晶片在晶片中基於所確定的幀尺寸將包含所述壓縮音頻信息的至少一個音頻幀格式化。
優選地,所述藍牙收發器晶片通過至少以下方式之一在晶片上格式化至少一個音頻幀分割至少一個音頻幀、組合多個音頻幀。
優選地,所述藍牙收發器晶片使用音/視頻分布式傳輸協議(AVDTP)將所述至少一種音頻幀格式化。
優選地,所述藍牙收發器晶片通過脈衝編碼調製(PCM)有線連接獲取所述音頻信息。
根據本發明的一方面,提供一種計算機可讀的存儲器,其上存儲有電腦程式,所述電腦程式包括至少一個用於處理數據的代碼段,當計算機執行該至少一個代碼段時,能使計算機執行以下步驟使用所述藍牙收發器晶片內的音頻編解碼器壓縮音頻信息。
優選地,所述音頻編解碼器包括低複雜度的次頻帶編解碼器(SBC)。
優選地,所述計算機可讀的存儲器還包括用於在所述藍牙收發器晶片外部生成包含所述音頻信息的音頻數據流的代碼。
優選地,所述音頻數據流是通過所述藍牙收發器晶片外部的音/視頻分布式傳輸協議(AVDTP)生成。
優選地,所述計算機可讀的存儲器還包括用於通過藍牙收發器晶片在藍牙主設備和對等的藍牙設備之間建立數據信道的代碼,以將所生成的音頻數據流傳遞給所述藍牙收發器晶片進行壓縮。
優選地,所述計算機可讀的存儲器還包括用於至少使用以下之一邏輯鏈路控制和適配協議(L2CAP)和高級音頻分布框架(A2DP)建立所述數據信道的代碼。
優選地,所述計算機可讀的存儲器還包括用於在所述藍牙收發器晶片中確定包含所述壓縮音頻信息的至少一個音頻幀的幀尺寸的代碼。
優選地,所述計算機可讀的存儲器還包括用於基於所確定的幀尺寸在所述藍牙收發器晶片內將所述至少一個音頻幀格式化的代碼,所述格式化至少包括以下之一分割所述至少一個音頻幀、組合多個所述音頻幀;以及用於通過所述藍牙收發器晶片內的音/視頻分布式傳輸協議(AVDTP)將所述至少一個音頻幀格式化的代碼。
從以下的描述和附圖中,可以得到對本發明的各種優點、各個方面、創新特徵、及其實施例細節的更深入的理解。
下面將結合附圖及實施例對本發明作進一步說明,附圖中
圖1是藍牙(BT)流音頻設備一些實例的示意圖;圖2是簡化的協議棧的示意圖;圖3是典型的藍牙硬體的示意框圖;圖4是用於流音頻的藍牙協議棧的示意框圖;圖5A是AVDTP特性的示意圖;圖5B是根據本發明一個實施例的用於流音頻播放的典型硬體的示意框圖;圖6是根據本發明一個實施例的在藍牙主設備中的音頻信號處理過程的示意圖;圖7是根據本發明一個實施例的藍牙協議棧的示意圖;圖8是根據本發明一個實施例的在藍牙收發器中的壓縮音頻信號的示意圖;圖9是根據本發明一個實施例的使用音頻信號壓縮的典型藍牙收發器的示意圖;圖10是根據本發明一個實施例的在藍牙設備中處理數據的步驟的流程圖。
具體實施例方式
本發明涉及為藍牙流音頻應用提供最優結構的方法和系統。本發明的一方面通過藍牙將流音頻提供給藍牙設備。在這點上,最優結構使用藍牙晶片——該晶片可集成在藍牙設備中——來直接處理音頻數據的SBC編碼操作。由於SBC編碼操作是在藍牙設備中直接完成,內部編碼所得到的音頻數據可通過藍牙協議直接傳遞給外部的藍牙設備(例如藍牙耳機)或者傳遞給手機的內部設備。
在本發明的另一個實施例中,在這種配置之下,藍牙晶片提供SBC編碼處理過程的的硬體加速。所述藍牙晶片可用於從脈衝編碼調製(PCM)有線CODEC接口(例如標準硬體立體聲PCM接口)接收輸入的音頻信號。所述藍牙晶片可在硬體方面加速輸入音頻信號的SBC編碼處理,從而釋放了主處理器通常用於進行SBC音頻編碼的那部分處理資源。
圖1是藍牙(BT)流音頻設備一些實例的示意圖。參考圖1,圖中示出了立體耳機104、行動電話106、藍牙立體聲音響系統108、個人計算機(PC)110和102、立體揚聲器102a和102b。立體耳機104可接收存儲在行動電話106上的MP3文件的流音頻。耳機104還可以作為用於電話呼叫的標準藍牙電話耳機。藍牙立體聲音響系統108可接收存儲在PC 110中的MP3文件的流音頻,解決了如何在立體聲音響系統108上獲取PC 110中的MP3的流音頻的問題。PC 102可通過揚聲器102a和102b播放立體聲音頻,使桌面避免了各種連線的雜亂。
藍牙協議使用在2.4GHz的免許可頻段(Unlicensed Band)上運行的跳頻擴頻(FHSS)無線系統。低發射功率使其有效範圍約為10米。設備之間互相連接,形成所謂的微微網,微微網中活動的設備數可達7部。設備之間的最大數據吞吐量是2.0至3.0兆比特每秒(Mbps),這一數據容量由微微網中的設備所共享。
藍牙協議使用協議棧傳輸數據和實現各種應用程式要求的各種高級特性。藍牙協議棧包括為不同目的而設計的多種不同的協議。各種框架或應用程式存放在協議棧上,並使用藍牙協議棧提供的服務。藍牙協議也包括下層協議棧,用於鏈路管理和基帶控制。
藍牙協議棧中的一種或多種協議可存放於主設備中,例如具有藍牙功能的設備。藍牙協議棧中的其他協議,例如下層藍牙協議棧中的協議,可存放於藍牙晶片上。在這點上,SBC編碼處理,或者音頻數據的壓縮將從上層藍牙協議棧轉移到位於藍牙晶片中的下層藍牙協議棧。從而釋放了由藍牙設備的主處理器處理的處理資源,所釋放的處理資源可作他用。
圖2是簡化的協議棧的示意圖。參考圖2,所示的是典型的藍牙協議棧201。典型的藍牙協議棧201可包括框架層(Profile Layer)202、藍牙管理實體(BTM)層204、射頻通信(RFCOMM)協議206、音/視頻分布式傳輸協議(AVDTP)207、服務發現協議(SDP)208、邏輯信道控制和適配協議(L2CAP)210、主控制器接口(HCI)212以及下層棧214。框架層202可包括一種或多種應用程式的框架,這些應用程式可用於與藍牙協議棧連接。BTM層204通過整合藍牙模塊,使各種設備具有無線通信功能。RFCOMM協議206可用於在L2CAP協議上提供RS-232串行埠的仿真,為上層服務提供傳輸能力,例如使用串行線作為傳輸機制的OBEX。
SDP 208可用於查詢藍牙設備信息、藍牙設備服務以及服務的特性。L2CAP210可用於支持上層協議復用、數據包分段與重組、服務質量(QoS)。L2CAP 210允許上層協議以及應用程式發送和接收長度達64k字節的數據包。HCI 212可用於給基帶控制器、鏈路管理器提供命令接口,並可訪問硬體狀態和控制寄存器。
音/視頻分布式傳輸協議(AVDTP)207是為藍牙流音頻和視頻而特別設計的協議。該協議可執行用於配置、打開和/或關閉藍牙設備之間的數據流的信令。可使用實時協議(RTP)數據包傳輸音頻流數據。協議棧中AVDTP位於L2CAP之上,對於信令和數據可使用分立的L2CAP信道。
下層棧214可包括鏈路管理協議(LMP)215和鏈路控制器(LC)217。鏈路管理器(LM)215可用於實現鏈路建立、驗證、鏈路配置和其他協議。鏈路管理器215可發現其他的遠程LM,並通過LMP與他們通信。為完成自己的服務提供方任務,LM 215使用下面的鏈路控制(LC)217。LMP本質上包括很多協議數據單元(PDU),這些PDU可從一個設備發送到另一個設備,例如由數據包報頭的地址確定的另一個設備。LMP 215可控制各種藍牙設備之間的通信,例如電話機和PC之間的通信。
在下層協議棧214中的LC 217可用於管理藍牙基帶功能,如音頻和/或數據包的編碼、糾錯、時隙定界、跳頻、無線電接口、數據加密和/或鏈路驗證。此外,LC 217可用於執行與LMP 215有關的鏈路管理軟體。例如,鏈路管理的控制可包括建立通信鏈路和執行驗證、配置以及其他的協議。在本發明的實施例中,下層棧214可包括使用SBC編碼或壓縮的高級音頻分布框架(A2DP)。在這點上,在下層棧214中實施的A2DP可用於處理音頻數據格式化操作,例如壓縮或編碼。
藍牙硬體通常是包括一個或兩個晶片的高度集成的系統。圖3是典型的藍牙硬體實施的示意框圖。參考圖3,藍牙硬體包括藍牙基帶集成電路(IC)305和無線電IC 301。無線IC 301可包括藍牙無線收發裝置303。基帶IC 305可包括藍牙基帶電路307、處理器309、隨機訪問存儲器(RAM)311、只讀存儲器(ROM)313、語音CODEC 321、串行外圍接口(SPI)319、通用串行總線(USB)317以及通用異步接收器/發射器(UART)315。無線IC 301可用單獨的晶片實現。處理器309可用於運行全部所需的軟體,例如,包括下層棧、上層的棧以及嵌入框架。這種類型的單CPU實現允許小的、低功率的以及低成本的解決方案。
吞吐量為723kbps的藍牙鏈路適用於MP3和/或其他編碼格式的流音頻。藍牙流音頻可由覆蓋協議和框架的三個藍牙規範定義,包括AVDTP、GAVDP以及A2DP。音/視頻分布式傳輸協議(AVDTP)是為藍牙流音頻和視頻而特別設計的協議。該協議可實現用於配置、打開和/或關閉藍牙設備之間的數據流的信令。可使用實時協議(RTP)數據包傳輸音頻流數據。AVDTP位於協議棧中L2CAP之上,信令和數據可使用分立的L2CAP信道。
通用音/視頻分布式框架(GAVDP)是定義應用程式如何使用AVDTP的概要性框架。高級音頻分布式框架(A2DP)定義如何運行藍牙流音頻應用程式。例如,A2DP定義如何為MPEG和/或其他編解碼器獲得和設定音頻CODEC參數。A2DP也可以定義媒體有效載荷格式以將音頻流數據打包,可以包括低複雜度的次頻帶CODEC(SBC)的規範。在這點上,SBC可在藍牙基帶IC 305內的晶片上實現,可用於將從無線IC 301接收的未壓縮數據進行音頻數據壓縮。例如,SBC可在處理器309中實現,或者可以作為單獨的壓縮加速模塊在處理器309外實現。
圖4是用於流音頻的藍牙協議棧的示意框圖。參考圖4,用於流音頻的藍牙協議棧401可包括A2DP 402、藍牙管理實體(BTM)協議404、GAVDP/AVDTP406、服務發現協議(SDP)408、邏輯鏈路控制和適配協議(L2CAP)410、主控制器接口(HCI)412和下層棧414。除了圖4所示的藍牙規範之外,還有多種用於藍牙流音頻的ISO/IEC和網際RFC規範,現概括於表1中
表1.用於藍牙流音頻的其他規範A2DP 402可包括低複雜度的次頻帶CODEC(SBC)403。例如,SBC 403可用於對音頻數據進行壓縮,或者對從藍牙無線收發器接收的未壓縮數據進行編碼。
大多數藍牙數據流A/V系統都在AVDTP協議中實現。圖5A是AVDTP特徵的示意圖。參考圖5A,AVDTP可包括藍牙協議棧501位於藍牙協議框架503之下的一部分,如A2DP,可分成四個子系統信令502、數據流管理504、恢復506、適配層508。AVDTP信令消息502用於發現、配置、打開以及關閉兩個藍牙設備之間的數據流。有11種消息類型,其中一些消息是可選的。
數據流管理器504的媒介傳輸特性可用於傳輸包含音頻數據的RTP數據包,該特性是AVDTP必需的特性。數據流管理器504的報告特性使得能夠通過使用RFC 1889定義的協議交換鏈路質量信息,如信號不穩定或者數據包丟失。該特性是可選的。恢復特性506在數據傳輸中添加了包括糾錯數據的額外數據包,使得丟失的數據包能夠得以恢復。這種恢復機制由RFC 2733定義,是一個可選的特性,需要額外的ROM和/或RAM。
如RFC 3095所定義的,適配層508的報頭壓縮特性使得RTP報頭得以壓縮。使用AVDTP時,可將RTP報頭減少5至7位元組。與實現該特性所付出的代價相比,這種節省可能是不值得的,特別是使用大的媒體數據分組時。AVDTP適配層508的復用特性使得媒介、報告和/或恢復數據分組能夠共享L2CAP信道,從而實現了更少的L2CAP信道以及更好地利用基帶信道容量。對於使用具有報告和恢復的多個並發數據流的設備而言,這一複合(complex)特性是有用的。
在本發明的一個實施例中,AVDTP能使用數據格式化功能。例如,AVDTP可在數據流管理器504中使用音頻數據格式化功能。例如,該格式化功能可用於通過SBC在晶片上對音頻數據進行壓縮。即,數據流管理器504能建立數據格式參數,例如用於壓縮音頻數據的壓縮參數;在藍牙基帶IC中實現的SBC可用於音頻數據壓縮。接著,壓縮後的音頻數據被傳遞給對等的藍牙設備。
圖5B是根據本發明一個實施例的用於流音頻播放的典型硬體的示意框圖。參考圖5B,為流音頻播放而實施的藍牙硬體可包括藍牙基帶集成電路(IC)525,無線IC 521以及音頻IC 543。無線IC 521包括藍牙無線收發裝置523。音頻IC 543包括MP3解碼器545以及立體聲編解碼電路547。基帶IC 525包括藍牙基帶電路527、處理器529、隨機存儲存儲器(RAM)531、只讀存儲器(ROM)533、音頻編解碼器541、串行外圍接口(SPI)539、通用串行總線(USB)537以及通用異步接收器/發射器(RART)535。無線IC 521以及音頻IC 543可在分立的晶片上實現。處理器529可用於運行全部所需的軟體,例如,包括下層棧、上層棧以及嵌入框架。通過藍牙鏈路接收的數據可由協議棧處理並傳遞給應用程式。應用程式可獲得音頻流數據,並通過硬體接口將音頻流數據傳遞給音頻IC 543。音頻IC 543對數字音頻進行解碼,並將音頻信號轉換成模擬信號。
實施具有最少必需特性的AVDTP要求多數據流支持。對於圖1所示的簡單的流音頻設備實施例,可不要求可選的特性如恢復、報告、報頭壓縮以及復用,因為這些簡單的藍牙設備沒有這些特性也能適當地運行。
在藍牙鏈路中,維持數據傳輸的恆定比特率是有困難的。如果數據發送太慢,音頻解碼器將有部分時間沒有流數據處理,這會導致聽覺可感受到的錯誤。丟失數據包也會導致相同的問題。另一方面,如果數據發送太快,那麼數據將緩衝在音頻解碼器處,當設備用完緩衝空間時,最後會導致擁塞或者數據丟失。由於AVDTP或L2CAP沒有內置的流量控制機制,所以可用其它的機制來防止數據丟失。音頻源或發送數據流的設備使用的機製取決於源的類型。如果源是「實況轉播」的並且音頻流式數據由音頻編碼器提供,那麼編碼器本身就可提供恆定比特率。如果源來自文件,那麼可使用定時器來維持恆定的比特率。
可通過下面這個實施例了解使用定時器的思想。設備正在從以碼率為128kbps、採樣頻率為48kHz編碼的文件上發送MP3數據流。參考表2a,這表明每24.0毫秒發送384位元組長的MP3音頻幀。如果設備簡單地設置24.0毫秒的周期定時器,當定時器期滿就發送一個數據包,就能夠維持恆定的比特率。
表2aSBC和MP3的音頻幀尺寸
表2bSBC和MP3的音頻幀周期從表2b的SBC和MP3音頻幀周期的幾種典型值可以看到,SBC幀小,周期短。一些設備在如此短的時間間隔內使用定時器或者處理數據會出現問題。因此建議與其在每個短的時間間隔內發送包含單幀的小數據包,不如在更長的時間間隔上發送包含幾個幀的較大的數據包。MP3幀的最大尺寸與AVDTP傳輸信道的L2CAP MTU對應,這樣,無需將音頻幀分割到多個AVDTP數據包上。
當在設備之間傳輸多於一個數據流時,數據流的播放可以同步。考慮圖1所示的無線PC揚聲器。該PC將藍牙音頻流傳遞給每個揚聲器。實際上這個例子中有兩個同步問題。首先,這兩個揚聲器的音頻播放需要互相同步。其次,音頻播放需要與PC的顯示同步。雖然藍牙規範中沒有覆蓋同步問題,但是可利用該系統的一些特性來解決這些同步問題。
圖6是根據本發明一個實施例的在藍牙主設備中的音頻信號處理過程的示意圖。參考圖6,藍牙設備或主機606包括中央處理單元(CPU)608和藍牙收發器602。例如,CPU或處理器608使用低複雜度的次頻帶CODEC(SBC)模塊610。藍牙收發器602包括CPU 604。CPU 608可用於處理未壓縮的音頻數據。例如,CPU 608可使用SBC模塊610編碼或壓縮未壓縮的音頻數據。藍牙收發器602中的CPU 604可用於控制必需的藍牙軟體的處理,例如,包括下層藍牙協議棧、上層的藍牙協議棧和/或嵌入框架。
具體實施時,藍牙設備606接收未壓縮的音頻數據612。藍牙設備606還可用於從標準脈衝編碼調製(PCM)有線CODEC接口(如標準硬體立體聲PCM接口)接收未壓縮的輸入音頻信號614。CPU 608使用SBC模塊610將所述未壓縮的音頻數據壓縮。將所得到的壓縮音頻數據616從SBC模塊610傳遞給藍牙收發器602。通過藍牙協議將內部編碼所得到的音頻數據直接傳遞給外部的藍牙設備。例如,藍牙無線收發裝置(如藍牙收發器602內的藍牙無線收發裝置523)將所接收到的壓縮信號(如RF壓縮音頻信號618)傳輸給對等的藍牙設備。
在本發明的一個實施例中,可通過將SBC壓縮功能轉移到藍牙收發器602上來,可以釋放主CPU 608的處理資源。即,可將SBC功能從上層藍牙協議棧轉移到下層藍牙協議棧,例如從上層的藍牙A2DP到下層的藍牙A2DP。
圖7是根據本發明一個實施例的藍牙協議棧的示意圖。參考圖6和圖7,該示例性的藍牙協議棧包括上層藍牙協議棧以及下層藍牙協議棧。所述上層藍牙協議棧可在主機606上實現,包括上層A2DP 702、上層AVDTP 704、上層L2CAP 706和上層HCI 708。下層藍牙協議棧在藍牙收發器602中實現,包括下層HCI 710、LMP 712、下層A2DP、下層AVDTP 718、下層L2CAL 719和LC 720。所述下層A2DP可包括SBC 716。上層L2CAP 706、上層HCI 708、下層HCI 710、LMP 712以及LC 720能執行如上面圖2、4以及5A中所述的相同的功能。上層藍牙協議棧可用於處理來自主機的藍牙協議的控制信令部分;而下層藍牙協議棧可用於處理來自主控制器的藍牙協議的數據處理/格式化部分。
在根據本發明的一個實施例中,SBC模塊可從主機606中的上層藍牙協議棧轉移到藍牙收發器602中的下層藍牙協議棧中。即,帶有SBC 716的下層A2DP 714可包括在位於下層HCI 710下面的協議層中。下層A2DP 714可用於建立信令信道,例如建立從主設備606到對等藍牙設備之間的信令信道,以傳輸壓縮音頻數據。下層AVDTP 718可以在位於下層A2DP 714下面的藍牙協議層實現,用於在壓縮音頻數據的處理過程中提供分割與組合功能。
例如,還可以基於壓縮音頻數據包的大小,將壓縮音頻數據進一步分割或組合。下層AVDTP 718可用於將多個SBC數據包壓縮成單個的AVDTP數據包,以及在該AVDTP數據包上添加媒介有效載荷報頭。下層L2CAP 719可用於支持較高層水平的協議復用、數據包分割和重組,以及與由下層A2DP 714和下層AVDTP 718協議處理的壓縮音頻幀有關的服務質量(QoS)處理。下層L2CAP 719可用於校驗從下層AVDTP 718接收的AVDTP數據包(具有報頭),並添加L2CAP報頭。接著,將L2CAP數據包與報頭傳送給LC 720以進行進一步的基帶處理和傳輸。
參考圖7和圖8,主設備806可以是藍牙主設備,它能知道藍牙收發器802可用於執行音頻幀的編碼或壓縮。藍牙主設備可使用標準的藍牙協議和程序初始建立與對等藍牙設備的連接。藍牙主設備806與對等藍牙設備之間的連接建立之後,藍牙主設備806告知藍牙收發器802可以通過特定的L2CAP信道(帶有特定的L2CAP信道ID(CID))將未壓縮的音頻數據傳遞給藍牙收發器802。這種告知可通過廠商特性命令(vendor specific command)例如上層HCI 708和/或下層HCI 710的廠商特性命令來完成。
接著,藍牙主設備806將控制信息傳遞給藍牙收發器802,所述控制信息用於SBC壓縮,也用於為下層AVDTP 718和下層L2CAP 719構造AVDTP和L2CAP數據包。所述控制信息包括例如,SBC參數和/或建立藍牙連接時議定的A2DP/AVDTP報頭。當藍牙收發器802從下層HCI 710接收到下一個HCI數據包時,藍牙收發器802檢查該HCI數據包是否屬於特定的L2CAP CID。如果該HCI數據包不屬於特定的L2CAP CID,就將該HCI數據包直接從下層HCI 710傳遞給LC 720。如果該HCI數據包屬於特定的L2CAP CID,那麼藍牙收發器802組合來自上層L2CAP 706的L2CAP數據包的片段並將之傳遞給下層A2DP714和SBC 716以進行壓縮。壓縮後的數據包傳遞給下層AVDTP 718以進行發送。下層AVDTP 718將必需的報頭添加到所接受的數據包上,並將所得到的報頭和數據包傳給下層L2CAP 719。下層L2CAP 719添加L2CAP報頭,所得到的數據包和報頭被傳遞給LC 720。
雖然使用SBC編碼進行音頻壓縮,但本發明不限於此,本發明還可以使用其他的編碼方法如MP3或AAC等。
圖8是根據本發明一個實施例的在藍牙收發器中的音頻信號壓縮的示意圖。參考圖8,藍牙設備或主機806可包括中央處理單元(CPU)808和藍牙收發器802。藍牙收發器802可包括CPU 804,CPU804可使用低複雜度的次頻帶CODEC(SBC)模塊810。CPU 804可用於處理從CPU 808接收到的未經壓縮的音頻數據。例如,CPU 804可用於使用SBC模塊810編碼或壓縮未經壓縮的音頻數據。此外,藍牙收發器802中的CPU 804可用於運行所有必需的藍牙軟體,包括下層藍牙協議棧、上層藍牙協議棧,和/或嵌入框架。
具體實施時,使用藍牙設備806接收未經壓縮的音頻數據812。接著,通過連接814將該未經壓縮的音頻數據傳給藍牙收發器802。接著,藍牙收發器802中的CPU 804使用SBC模塊810壓縮未經壓縮的數據。藍牙收發器802也用於通過標準脈衝編碼調製(PCM)有線CODEC接口(如標準硬體立體PCM接口)接收未經壓縮的輸入音頻信號816。可通過藍牙協議將所得到的內部編碼音頻數據從藍牙收發器802直接傳遞給外部的藍牙設備。例如,位於藍牙收發器802中的藍牙無線收發裝置(如圖5B中的藍牙無線收發裝置523)可將壓縮音頻信號(如RF壓縮音頻信號)傳遞給對等的藍牙設備。
雖然使用PCM接口來接收未經壓縮的輸入音頻信號,但本發明不受此限制。本發明還可以使用其他類型的接口,例如I2S或其它的硬體接口來接收未經壓縮的輸入音頻信號。
圖9是根據本發明一個實施例的使用音頻信號壓縮的藍牙收發器的示意圖。參考圖9,藍牙收發器902包括發射/接收開關904、發射(Tx)模塊906、接收(Rx)模塊908、基帶處理模塊910以及壓縮加速模塊914。基帶處理模塊910包括CPU 912。基帶處理模塊910和CPU 912的功能與圖3中所示的基帶IC 305和處理器309的功能相同。
壓縮加速模塊914包括適當的電路、邏輯和/或編碼,可用於壓縮從基帶處理模塊910接收的音頻數據。在本發明的一個實施例中,壓縮加速模塊914包括數位訊號處理器,其實現低複雜度的次頻帶CODEC。
在本發明的另一個實施例中,藍牙收發器晶片902可包括在CPU 912內的片載音頻編解碼器,該編解碼器在晶片上壓縮接收到的音頻數據。例如,CPU 912內的音頻編解碼器包括低複雜度的次頻帶編解碼器(SBC)。藍牙收發器晶片902通過藍牙收發器晶片902外部的協議棧接收包含音頻信息的音頻數據流。所接收的音頻數據流可通過所述藍牙收發器晶片902外部的協議棧內的音/視頻分布式傳輸協議(AVDTP)產生。建立藍牙收發器902與對等的藍牙設備之間的數據信道,以將所生成的音頻數據流傳遞給藍牙收發器晶片902進行壓縮。所述數據信道可通過使用藍牙收發器晶片902外部的協議棧內的邏輯鏈路控制和適配協議(L2CAP)和/或高級音頻分布框架(A2DP)建立。
藍牙收發器晶片902可在晶片上確定包括壓縮音頻信息的至少一個音頻幀的幀尺寸。示例性SBC音頻幀的尺寸已列在上面的表2a中。藍牙收發器晶片902在晶片上基於所確定的幀尺寸將包括壓縮音頻信息的音頻幀格式化。藍牙收發器晶片902在晶片上格式化音頻幀包括分割音頻幀、組合多個音頻幀。藍牙收發器晶片902在晶片上通過音/視頻分布式傳輸協議(AVDTP)將音頻幀格式化。藍牙收發器晶片可在晶片上通過脈衝編碼調製(PCM)有線連接獲得音頻信息。
圖10是根據本發明一個實施例的在藍牙設備內處理數據的步驟流程圖。參考圖8和10,在步驟1002中,通過藍牙收發器晶片802外部的音/視頻分布式傳輸協議(AVDTP)在藍牙收發器晶片802外生成包含音頻信息的音頻數據流812。步驟1004中,通過藍牙收發器晶片802建立藍牙設備與對等的藍牙設備之間的數據信道,以將所生成的音頻數據流812傳遞給藍牙收發器晶片802進行壓縮。步驟1006中,在藍牙收發器晶片802上使用音頻CODEC(如在藍牙收發器晶片802內實現的SBC 810)將未經壓縮的音頻信息812壓縮。
相應地,本發明可以通過硬體、軟體,或者軟、硬體結合來實現。本發明可以在至少一個計算機系統中以集中方式實現,或者由分布在幾個互連的計算機系統中的不同部分以分散方式實現。任何可以實現所述方法的計算機系統或其它設備都是可適用的。常用軟硬體的結合可以是安裝有電腦程式的通用計算機系統,通過安裝和執行所述程序控制計算機系統,使其按所述方法運行。在計算機系統中,利用處理器和存儲單元來實現所述方法。
本發明還可以通過電腦程式產品進行實施,所述程序包含能夠實現本發明方法的全部特徵,當其安裝到計算機系統中時,通過運行,可以實現本發明的方法。本文件中的電腦程式所指的是可以採用任何程序語言、代碼或符號編寫的一組指令的任何表達式,該指令組使系統具有信息處理能力,以直接實現特定功能,或在進行下述一個或兩個步驟之後實現特定功能a)轉換成其它語言、編碼或符號;b)以不同的格式再現。
本發明是通過幾個具體實施例進行說明的,本領域技術人員應當明白,在不脫離本發明範圍的情況下,還可以對本發明進行各種變換及等同替代。另外,針對特定情形或具體情況,可以對本發明做各種修改,而不脫離本發明的範圍。因此,本發明不局限於所公開的具體實施例,而應當包括落入本發明權利要求範圍內的全部實施方式。
權利要求
1.一種處理數據的方法,包括在藍牙收發器晶片上使用所述藍牙收發器晶片內的音頻編解碼器壓縮音頻信息。
2.根據權利要求1所述的方法,其中,所述音頻編解碼器包括低複雜度的次頻帶編解碼器。
3.根據權利要求1所述的方法,還包括在所述藍牙收發器晶片外部產生包含所述音頻信息的音頻數據流。
4.根據權利要求3所述的方法,其中,所述音頻數據流通過所述藍牙收發晶片外部的音/視頻分布式傳輸協議生成。
5.根據權利要求3所述的方法,還包括藍牙收發器晶片在藍牙主設備和對等的藍牙設備之間建立數據信道,以將所生成的音頻數據流傳遞給所述藍牙收發器晶片進行壓縮。
6.一種處理數據的系統,該系統包括藍牙收發器晶片,所述藍牙收發器晶片包括用於壓縮晶片上所接收到的音頻信息的片載音頻編解碼器。
7.根據權利要求6所述的系統,其中,所述音頻編解碼器包括低複雜度的次頻帶編解碼器。
8.根據權利要求6所述的系統,其中,所述藍牙收發器晶片通過藍牙收發器晶片外部的協議棧接收包含所述音頻信息的音頻數據流。
9.根據權利要求8所述的系統,其中,所述接收到的音頻數據流是通過所述藍牙收發器晶片外部的所述協議棧內的音/視頻分布式傳輸協議產生。
10.一種計算機可讀的存儲器,其上存儲有電腦程式,所述電腦程式包括至少一個用於處理數據的代碼段,當計算機執行該至少一個代碼段時,能使計算機執行以下步驟使用所述藍牙收發器晶片內的音頻編解碼器壓縮音頻信息。
全文摘要
本發明揭露了一種處理數據的方法和系統,包括在藍牙收發器晶片上使用所述藍牙收發器晶片內的音頻編解碼器壓縮音頻信息。所述音頻編解碼器可以是低複雜度的次頻帶編解碼器(SBC)。帶有音頻信息的音頻數據流可在藍牙收發器晶片外部生成。該音頻數據流通過藍牙收發器晶片外部的音/視頻分布式傳輸協議(AVDTP)生成。藍牙收發器晶片可在藍牙主設備和對等的藍牙設備之間建立數據信道,以將所生成的音頻數據流傳遞給所述藍牙收發器晶片進行壓縮。所述數據信道可使用邏輯鏈路控制和適配協議(L2CAP)和/或高級音頻分布框架(A2DP)來建立。
文檔編號H04B5/02GK1925350SQ20061010590
公開日2007年3月7日 申請日期2006年7月11日 優先權日2005年8月30日
發明者賈森·希利亞德, 羅伯特·赫爾維伊, 約翰·沃利, 維克託·佐德齊施斯凱 申請人:美國博通公司