數據轉發方法、其裝置、藍牙設備及音頻傳輸方法與流程
2023-05-01 09:43:49 4

本發明涉及藍牙技術領域,特別是涉及一種藍牙數據轉發方法、轉發裝置、藍牙設備及音頻傳輸方法。
背景技術:
各種不同類型的無線傳輸設備,例如智慧型手機、藍牙耳機、MP3播放器等如今得到了廣泛的應用。大多的無線傳輸設備能夠支持藍牙傳輸音頻或者其它各種類型的數據。在藍牙協議(A2DP prfile)中,一個數據輸出設備(例如智慧型手機、MP3播放器等)只能連接到一個音頻播放設備,通過藍牙傳輸數據至該音頻播放設備進行播放。
在一些應用場景中,需要數據輸出設備傳輸數據至兩個或者以上的音頻播放設備,例如立體聲耳機需要左右聲道的播放設備均與數據輸出源建立無線連接,接收數據時,只能由其中一個聲道的播放設備(如左耳機)作為主耳機,接收數據輸出源傳輸的數據。然後將該數據通過藍牙或者其它非藍牙的無線傳輸協議傳輸至另一個聲道的播放設備中。
在實現本發明過程中,發明人發現相關技術存在以下問題:上述由主耳機轉發的技術方案中,若採用藍牙方式進行轉發,由於藍牙通信帶寬是固定的,在轉發數據量較大時,會佔用較多的帶寬,影響主耳機與數據輸出設備之間的通信,轉發數據和接收數據之間存在著矛盾。
技術實現要素:
本發明實施例主要解決的技術問題是提供一種藍牙數據轉發方法、轉發裝置、藍牙設備及音頻傳輸方法,能夠解決現有的藍牙協議下,轉發數據和接收數據共用藍牙通信時,轉發數據佔用藍牙通信帶寬多的問題。
為解決上述技術問題,本發明實施例提供了一種藍牙數據轉發方法。該方法包括:接收來自數據輸出設備的源數據;重組縮減所述源數據,形成重組數據;所述重組數據的數據量小於所述源數據的數據量;以及轉發所述重組數據至數據接收設備。
可選地,所述重組縮減所述源數據,形成重組數據,具體包括:解碼接收的源數據,形成解碼數據;提取所述解碼數據中的一部分作為目標數據;壓縮所述目標數據,形成重組數據。
可選地,所述重組縮減所述源數據,形成重組數據,具體包括:解碼具有第一壓縮率的源數據,形成解碼數據;提取所述解碼數據中的一部分作為目標數據;以第二壓縮率壓縮所述目標數據,形成重組數據,所述第二壓縮率大於第一壓縮率。
可選地,所述提取所述解碼數據中的一部分作為目標數據,具體包括:在所述解碼數據中,提取與所述數據接收設備對應的數據作為目標數據。
可選地,所述轉發所述重組數據,具體包括:通過藍牙廣播,轉發所述重組數據至兩個或以上的數據接收設備;分時接收所述數據接收設備返回的狀態信息。
為解決上述技術問題,本發明實施例還提供了一種藍牙數據轉發裝置。該裝置包括:接收模塊,用於接收來自數據輸出設備的源數據;數據重組模塊,用於重組縮減所述源數據,形成重組數據;所述重組數據的數據量小於所述源數據的數據量以及轉發模塊,用於轉發所述重組數據至數據接收設備。
可選地,所述數據重組模塊具體用於:解碼接收的源數據,形成解碼數據;提取所述解碼數據中的一部分作為目標數據;以及壓縮所述目標數據,形成重組數據。
可選地,所述數據重組模塊具體用於:解碼具有第一壓縮率的源數據,形成解碼數據;提取所述解碼數據中的一部分作為目標數據;以第二壓縮率壓縮所述目標數據,形成重組數據,所述第二壓縮率大於第一壓縮率。
可選地,所述數據重組模塊具體用於:在所述解碼數據中,提取與所述數據接收設備對應的數據作為目標數據。
可選地,所述轉發模塊具體用於:通過藍牙廣播,轉發所述重組數據至兩個或以上的數據接收設備;分時接收所述數據接收設備返回的狀態信息。
為解決上述技術問題,本發明實施例還提供了一種藍牙設備,包括用於接收來自數據輸出設備的源數據和轉發源數據的主設備以及至少一個用於接收轉發的源數據的從設備;
所述主設備包括藍牙通信模組、存儲器以及耦合至所述藍牙通信模組和存儲器的處理器,所述存儲器存儲有可被所述處理器執行的指令程序;
所述處理器執行所述指令程序,通過分時復用所述藍牙通信模組以接收來自數據輸出設備的源數據並轉發重組數據至數據接收設備;
所述處理器還執行所述指令程序,以重組縮減所述源數據,形成重組數據,所述重組數據的數據量小於所述源數據的數據量。
可選地,所述主設備通過藍牙通信模組,以藍牙廣播的方式轉發所述重組數據至若干個從設備中;所述主設備的藍牙通信模組分時進行從設備的狀態信息的接收。
為解決上述技術問題,本發明實施例還提供了一種藍牙通信系統,包括提供源數據的數據輸出設備,與所述數據輸出設備建立藍牙通信連接的第一設備以及若干個第二設備;
所述第一設備對於數據輸出設備的角色為從設備,對於第二設備的角色為主設備;
所述第一設備用於接收數據輸出設備下發的源數據並緩存所述源數據;所述第一設備還用於重組縮減所述源數據,形成重組數據,所述重組數據的數據量小於所述源數據的數據量;並將所述重組數據轉發至所述第二設備。
為解決上述技術問題,本發明實施例還提供一種基於A2DP協議的立體聲音頻傳輸方法。該方法包括:
通過藍牙通信,由主設備接收來自數據輸出設備的第一立體聲音頻數據並緩存;
播放主設備緩存的第一立體聲音頻數據;
重組縮減所述第一立體聲音頻數據,形成第二立體聲音頻數據;
通過藍牙通信,從主設備轉發第二立體聲音頻數據至對應的從設備中播放。
可選地,所述通過藍牙通信,從主設備轉發第二立體聲音頻數據至對應的從設備中播放,具體包括:
通過藍牙廣播的方式,轉發所述第二立體聲音頻數據;分時接收從設備返回的狀態信息。
本發明實施例中提供的數據轉發方法,在藍牙通信過程中,對接收到的源數據進行數據重組,縮減不需要的部分後再進行轉發操作,從而能夠很好的降低需要轉發的數據量,減少轉發源數據佔用的藍牙通信帶寬。
附圖說明
一個或多個實施例通過與之對應的附圖中的圖片進行示例性說明,這些示例性說明並不構成對實施例的限定,附圖中具有相同參考數字標號的元件表示為類似的元件,除非有特別申明,附圖中的圖不構成比例限制。
圖1為本發明實施例提供的應用環境示意圖;
圖2為本發明實施例提供的藍牙通信系統的結構示意圖;
圖3為本發明實施例提供的藍牙數據轉發裝置的功能框圖;
圖4為本發明實施例提供的藍牙數據轉發方法的方法流程圖;
圖5為本發明實施例提供的縮減重組方法的方法流程圖;
圖6為本發明實施例提供的轉發數據的方法流程圖;
圖7為典型的接收多個從設備返回的狀態信息的時隙示意圖;
圖8為本發明實施例提供的接收多個從設備返回的狀態信息的時隙示意圖;
圖9為本發明實施例提供的電子設備的結構框圖;
圖10為本發明實施例提供的藍牙通信系統的數據轉發示意圖;
圖11為本發明另一實施例提供的藍牙通信系統的數據轉發示意圖;
圖12為本發明另一實施例提供的藍牙數據轉發方法的方法流程圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,並不用於限定本發明。
藍牙可以是點對點或者點對多點的拓撲結構。其中,點對多點的拓撲結構是通過共享一個物理信道的方式實現的。在基於同一個物理信道的微微網(piconet)中,硬體設備可以擔任主設備(master)或者從設備(slave)的角色,具體的設備角色可以由設備任意選擇,用以實現對應的控制功能(一個微微網中只能存在一個主設備)。不同的微微網之間是可以存在交叉的,即一個微微網中的從設備可以作為另一個微微網中的主設備。
在藍牙(Bluetooth)中,藍牙設備不需要實現全部的藍牙規範。為了支持不同的藍牙設備之間的兼容,在藍牙規範中定義了一些應用層協議(profile),其用以定義藍牙設備之間如何實現一種連接或者應用。
其中,A2DP(Advenced Audio Distribution Profile藍牙音頻傳輸模型協定)屬於上述的藍牙協議profile中的一個子集。A2DP是專門為使用藍牙傳送立體聲音頻而制定。在兩個藍牙設備均支持該規範的情況下,即可使用藍牙傳送立體聲音頻。
圖1為本發明實施例提供的在A2DP下傳輸立體聲音頻的應用環境。如圖1所示,包括:用戶10、數據輸出設備20、多聲道播放設備(包括第一音頻播放設備30、第二音頻播放設備40)以及網絡50。
用戶10可以為任意數量的,具有相同或者相近操作行為的群體,例如家庭、工作組或者個人。用戶10可以通過任何合適的類型的,一種或者多種用戶交互設備與數據輸出設備20和/或多聲道播放設備交互,例如滑鼠、按鍵、遙控器、觸控螢幕、體感攝像頭或者智能可穿戴設備,輸入指令或者控制數據輸出設備20和/或多聲道播放設備執行一種或者多種操作,如立體聲音頻播放操作。
數據輸出設備20可以是任何合適的,支持A2DP,提供一個或者多個音頻內容的各類型電子設備,例如智慧型手機、平板電腦、MP3播放器、個人電腦、手提電腦、個人音響、CD機或者其它智能/非智能終端設備。數據輸出設備20耦合至至少一個用於存儲音頻數據的存儲介質中,獲取音頻數據。該數據輸出設備20還可以是一種或者多種電子設備的組合,例如智慧型手機以及與其連接的模數轉換器(DAC)。
多聲道音頻播放設備包括第一音頻播放設備30及第二音頻播放設備40。其可以是任何合適的,支持A2DP並具有播放音頻數據能力的電子設備,例如立體聲耳機、2.1聲道喇叭,5.1聲道音響,立體聲喇叭或者其它合適類型的揚聲器組。所述第一音頻播放設備30及第二音頻播放設備40僅用以表示用以播放不同聲道的揚聲器部分,例如對於立體聲耳機,第一音頻播放設備30可以是左聲道耳機,第二音頻播放設備40為右聲道耳機,或者對於2.1聲道喇叭,第一音頻播放設備30可以是低音喇叭,第二音頻播放設備40為左聲道和右聲道喇叭。
所述第一音頻播放設備30及第二音頻播放設備40之間通過藍牙模組通信連接,進行數據轉發。在一些實施例中,還可以設置其它額外的通信模組,例如WiFi模組進行通信連接。
數據輸出設備20可以根據用戶指令,與多聲道音頻播放設備之間建立藍牙連接,在A2DP協議下傳輸音頻數據。在本實施例中,數據輸出設備20可以與第一音頻播放設備30建立藍牙連接,作為主設備,下發相應的立體聲音頻數據。第一音頻播放設備30也通過藍牙通信,轉發立體聲音頻數據至第二音頻播放設備40中進行播放。
網絡50可以是任何合適的,用以實現兩個電子設備之間通信連接的有線或者無線網絡,例如網際網路、區域網或者有線線纜。數據輸出源設備20具有至少一個網絡接口,與網絡50建立通信連接,從網絡50獲取相應的音頻數據或者指令。當然,數據輸出設備20還可以具有至少一個本地存儲裝置,從本地存儲裝置獲取相應的音頻數據。在另一些實施例中,可以根據實際情況,增加或者減省一些設備,例如可以減省網絡50或者添加額外的用戶交互設備。
在立體聲音頻傳輸過程中,用戶10發送指令至數據輸出源設備20(如智慧型手機)。輸出設備20在A2DP協議下,根據用戶指令,通過藍牙發送音頻數據至第一音頻播放設備30中。
在播放過程中,第一音頻播放設備30可以首先緩存部分接收到的音頻數據,並且通過藍牙通信方式,將音頻數據轉發到第二音頻播放設備40中。
該數據接收和數據轉發過程可以通過分時復用第一音頻播放設備的藍牙通信模組完成,根據實際需要切換藍牙通信模組執行的功能。因此,數據接收和數據轉發能夠使用的總的藍牙通信帶寬是固定的。儘可能的減少轉發數據佔用的藍牙通信帶寬或者提高藍牙通信帶寬的利用效率是該應用場景中的一個目標。
該第一音頻播放設備接收的源數據是由數據輸出設備下發的完整的立體聲音頻數據。其通常包括了各個不同的聲道所需要的數據(如左聲道、右聲道)。慣常的,第一音頻播放設備在接收到源數據後,直接將這些數據轉發至第二音頻播放設備中。
但在實際音頻播放過程中,第一和第二音頻播放設備只需要播放與自身對應聲道的音頻數據。因此,基於減少轉發數據量的考慮,可以通過任何合適的數據重組方式,將第二音頻播放設備所需要的數據從源數據中提取後再進行轉發,從而縮減轉發數據的數據量。
為陳述簡便,可以將接收數據輸出設備輸出的音頻數據的第一音頻播放設備30稱為主設備,其餘接收主設備轉發的音頻數據的第二音頻播放設備40稱為從設備。亦即數據輸出設備20在輸出立體聲音頻過程中,可以任意選擇多聲道音頻播放設備中的其中一個音頻播放設備建立藍牙通信連接(即主設備),並通過A2DP協議傳輸完整的立體聲音頻數據,然後由主設備執行相應的重組縮減操作。
在圖1所示的應用環境中,存在著兩個交叉的微微網,對於數據輸出設備20和第一音頻播放設備30而言,數據輸出設備20擔任的是主設備的角色,而對於第一音頻播放設備30和第二音頻播放設備40而言,第一音頻播放設備30則擔任主設備的角色。
在此使用的「主設備」和「從設備」僅用以表示在藍牙網絡中硬體設備擔任的角色。在實際運行過程中,設備角色可以根據實際需求進行轉換,例如某個第二音頻設備可以轉換角色為主設備,接收數據輸出設備的立體聲音頻數據。
雖然在圖1中僅顯示了2個用戶10、2個數據輸出設備20、2個第一音頻播放設備30以及3個第二音頻播放設備40。但本領域技術人員可以理解的是,在實際應用過程中,該應用環境還可以包括更多的用戶10、數據輸出設備20、第一音頻播放設備30或者第二音頻播放設備40。
另外,圖1所示的實施例提供的應用環境基於A2DP的藍牙音頻傳輸為例進行描述。但本發明實施例提供的藍牙數據轉發方法還可以應用於其它合適的,需要通過藍牙傳輸,將數據從一個數據輸出設備發送至多個不同的數據接收設備的情況,而不僅限於在A2DP協議下進行的立體聲傳。
圖2為本發明實施例提供的藍牙通信系統。該藍牙通信系統在圖1所示的應用環境中使用,其可以包括:作為數據源的數據輸出設備21以及數據播放設備。該數據播放設備中包括一個第一設備22和若干個第二設備23。
在本實施例中,該第一設備和第二設備用以指在藍牙通信系統中具有特定角色的設備而非固定的硬體設備。所述第一設備對於數據輸出設備的角色為從設備,對於第二設備的角色為主設備。
其中,第一設備22用於接收數據輸出設備21下發的源數據並緩存所述源數據。所述第一設備22還重組縮減所述源數據,形成重組數據,所述重組數據的數據量小於所述源數據的數據量;並將所述重組數據轉發至所述第二設備。
例如,如圖10所示,對於左聲道耳機(即第一設備22)和右聲道耳機(即第二設備23)組成的立體聲藍牙耳機:
第一設備22接收來自數據輸出設備21的源數據(包括左聲道數據包1-n以及右聲道數據包1-n)。然後,經過縮減重組後,將第二設備23需要的右聲道數據1-n轉發給第二設備23。
這樣的,第一設備22基於重組縮減的操作,可以減少需要轉發的數據量,降低轉發數據佔用的藍牙通信帶寬的比例,以獲得更好的數據傳輸效果。
慣常的,源數據和轉發的重組數據均是通過具有特定壓縮率的壓縮方法壓縮後獲得的數據。在另一些實施例中,如圖11所示,重組數據可以具有比源數據更高的壓縮率(即第二壓縮率大於第一壓縮率),從而進一步的降低重組數據的數據量。
在該藍牙通信系統中,由於第一設備22相對於第二設備23擔任主設備的角色,相對於數據輸出設備21則擔任從設備的角色。由此,第一設備可以較好的調節調頻信道,避免在數據通信情況發生數據衝突(例如,當數據輸出設備21給第一設備22發送數據的同時,第二設備23也給第一設備22發送數據)。
另外,在該藍牙通信系統中,由於第一設備22和第二設備23組成的數據播放設備之間也使用藍牙通信完成數據轉發。因此,可以不需要額外增加其它的無線傳輸模塊。
圖3為本發明實施例提供的藍牙數據轉發裝置。該藍牙數據轉發裝置可以在圖2所示的第一設備22中執行,以使第一設備22降低轉發數據量,減少轉發數據佔用的藍牙通信帶寬比例。如圖3所示,該藍牙數據轉發裝置包括:接收模塊100,數據重組模塊200以及轉發模塊300。
其中,接收模塊100用於在藍牙通信過程中,接收來自數據輸出設備的源數據。在一些實施例中,還可以設置額外的緩存模塊用以緩存接收的源數據。數據重組模塊200用於重組縮減所述源數據,形成重組數據;所述重組數據的數據量小於所述源數據的數據量。轉發模塊300用於轉發所述重組數據至數據接收設備。
在實際的藍牙通信過程中,第一設備的接收模塊100和轉發模塊300同時運作,共用第一設備的藍牙通信模組以完成對應的數據接收或者數據轉發功能。
數據重組模塊200則用以執行合適的縮減重組操作,重組數據從而降低轉發模塊300轉發的數據量。在另一些實施例中,數據重組模塊200。還可以進一步的執行方法實施例中其它合適的步驟或者其組合。
圖4為本發明實施例提供的藍牙數據轉發方法的方法流程圖。該數據轉發方法可以由圖2所示的,用於接收數據輸出設備傳輸的數據的第一設備或者圖3所示的藍牙數據轉發裝置執行。
如圖4所示,該方法包括:
100:接收來自數據輸出設備的源數據。該源數據是一個完整的數據,其包含了各個第二設備所需要的數據。
在另一些實施例中,為了保證藍牙設備在數據播放過程中的連續性,通常還可以接收的源數據進行緩存操作而不是直接進行播放,例如,對於音頻數據播放而言,可以緩存80ms的音頻數據,從而在各種幹擾因素導致數據無法接收(丟失數據小於80ms)時,音頻播放設備仍然可以保持音樂的連續播放。
200:重組縮減所述源數據,形成重組數據,所述重組數據的數據量小於所述源數據的數據量。
如上所述,若直接轉發源數據至第二設備時,轉發的源數據中通常會包含許多第二設備不需要,或者不會用於播放的數據。這些數據的轉發會佔用許多的藍牙通信帶寬,為了進一步的提高利用效率,可以執行合適的重組縮減操作,形成一個數據量遠小於源數據的重組數據。
300:轉發所述重組數據至數據接收設備。
在形成了一個數據量較小的重組數據後,第一設備可以將該重組數據轉發至對應的第二設備(即數據接收設備)中,完成數據傳輸的任務。
在本發明實施例中,使用了重組縮減的方式,首先對源數據進行縮減、提取後再轉發。由此,可以提高藍牙帶寬的利用效率,降低轉發數據的數據量。
步驟200中具體可以採用任何合適的重組縮減方法對所述源數據進行處理。在一些實施例中,可以採用圖5所示的重組縮減方法。
如圖5所示,該重組縮減方法包括如下步驟:
210:解碼接收的源數據,形成解碼數據。
接收穫得的源數據通常是以某種壓縮方法形成的壓縮數據。第一設備使用對應的解碼方法對其進行解碼後,獲得解碼數據進行播放或者其它操作。
220:提取所述解碼數據中的一部分作為目標數據。
該目標數據是指解碼數據中,某個第二設備所需要的數據。這些目標數據是解碼數據中的一部分。例如,解碼數據中包括左聲道和右聲道的音頻數據,而對於立體聲耳機的左聲道播放設備而言,目標數據為左聲道的音頻數據。
230:壓縮所述目標數據,形成重組數據。
提取目標數據完畢後,第一設備還可以重新使用合適的壓縮方法對這些數據進行壓縮後,再轉發至對應的第二設備中。
在另一些實施例中,基於進一步減少轉發數據量的考慮,還可以通在第一設備中使用不同的壓縮方法。即設源數據的壓縮率為第一壓縮率。在第一設備對目標數據重新進行壓縮的過程中,使用具有比第一壓縮率更高壓縮率的壓縮方法,形成具有第二壓縮率的重組數據。這樣的重組數據具有更少的數據量,從而進一步的減少了轉發數據所需要佔用的藍牙通信帶寬。
在一些實施例中,步驟220的提取操作是基於用於接收重組數據的數據接收設備所決定的。對於不同的數據接收設備(即第二設備)可能需要提取不同的數據,例如,對於5.1聲道音響而言,不同的第二設備具有各自需要的音頻數據。
該目標數據的提取可以採用任何合適的提取方式完成,例如通過識別數據包中特定的標識,其為本領域技術人員所熟知。
在一些使用場景中,可能只存在一個第一音頻播放設備以及一個第二音頻播放設備(如藍牙立體聲耳機)。而在另一些的使用場景中,可能存在兩個或以上的第二音頻播放設備(如5.1聲道音響)。第一音頻播放設備需要向多個第二音頻播放設備轉發源數據。
為了進一步的提高對於藍牙通信模組的利用效率,圖5為本發明實施例提供的,第一音頻播放設備轉發源數據的方法流程圖。
如圖6所示,該方法可以包括:
301:通過藍牙廣播,轉發所述重組數據至兩個或以上的數據接收設備。該藍牙廣播是指主設備同時將源數據轉發到全部從設備中。亦即,第一音頻播放設備在轉發重組數據時,以廣播的形式,同時發送到各個第二音頻播放設備中。
302:分時接收所述數據接收設備返回的狀態信息。
由於轉發過程仍然是基於藍牙通信進行的。因此,第二音頻播放設備通常需要向第一音頻播放設備返回一些相關的,用以反映數據接收情況或者其它的狀態信息。例如,第二音頻播放設備可能需要告知第一音頻播放設備某些數據包沒有獲取到,需要重新發送,或者告知第一音頻播放設備自己當前的設備狀態。
圖7為主設備轉發數據至多個從設備的典型方式。主設備分別單獨的向每個從設備轉發數據。如圖7所示,在藍牙通信協議中,每個時隙(slot)為625us(即最小通信單元)。而藍牙通信模組每次只能允許與一個從設備進行通信(基於一個物理信道上的點對多點拓撲結構)。因此,若存在較多的從設備時,轉發所需要佔用的藍牙通信帶寬較多。
但在實際使用過程中,如圖7所示,從設備返回的狀態信息的數據量通常遠小於一個時隙。因此,若採用圖7所示的方式,對於藍牙通信模組的利用率較低,每個時隙中包含的狀態信息的數據量很少。
圖8為本發明實施例提供的主設備轉發數據至多個從設備的示意圖。如圖8所示,步驟302在接收從設備返回的狀態信息時,採用分時接收的策略。亦即將各個從設備對應的時隙依次的錯開(錯開的長度由返回的狀態信息的數據量決定)。
通過這樣的方式,藍牙通信模組在一個時隙中,可以完成多個不同的從設備的狀態信息的接收(例如圖7所示的3個),有效的提高了利用率,減少了在具有較多從設備的情況下,轉發所需要佔用的藍牙通信帶寬。
需要說明的是,由於上述裝置實施例與方法實施例基於相同的申請構思,因此,方法實施例中的相應內容同樣適用於裝置實施例,此處不再詳述。
由於在藍牙通信過程中,第一設備的藍牙通信模組是分時復用的。因此,在一些實施例中,根據實際的通信情況,動態的調整分配給用於接收數據或者轉發數據的藍牙通信帶寬(如在緩存的數據量較少的情況下,將70%的藍牙通信帶寬分配用於接收數據,30%用於轉發數據),實現對於不同通信質量的自適應,能夠確保數據傳輸的穩定,更好的解決轉發數據和接收數據之間存在的矛盾。
圖12為本發明實施例提供的,用以動態調整分配給用於接收數據或者轉發數據的藍牙通信帶寬的方法流程圖。
如圖12所示,該方法可以包括:
1100:在藍牙通信過程中,接收來自數據輸出設備的源數據作為緩存數據。
該緩存數據的數據量實際上取決於藍牙設備的播放速度和接收源數據的速度。例如,在與數據輸出設備通信質量較好的情況,緩存數據的數據量通常是充足的。而緩存數據的數據量越大,越能夠保證數據播放的連續性。
1200:判斷緩存數據是否小於第一預設閾值,若是執行步驟1500a。若否則執行步驟1400。
該第一預設閾值是一個可以由技術人員,根據實際情況自行設置的數值。其提供了一個定性的判斷標準,確定接收的數據量是否充足,能夠較大程度的保證播放的流暢性。
在大於第一預設閾值的情況下,緩存數據的數據量較大,可以保證較長時間的數據連續播放,對於接收數據的需求較小。而在小於第一預設閾值的情況下,表明緩存數據的數據量不足,應當提高接收數據的速度。
1500a:優先分配藍牙通信帶寬用於接收所述源數據。
如上所述,由於第一音頻播放設備和第二音頻播放設備之間的轉發也共用藍牙通信模組進行。因此,除用於接收所述源數據外,藍牙通信模組還需要用於第一音頻播放設備轉發所述源數據至第二音頻播放設備中(步驟1300)。
1400:判斷待轉發的源數據的數據量大於第二預設閾值,若是,則執行步驟1500b。
與上述第一預設閾值相類似的,該第二預設閾值也是一個可以由技術人員,根據實際情況自行設置的數值。其提供了一個定性的判斷標準,確定是否存在數據轉發的需求,保證第二音頻播放設備的播放連續性。
在待轉發的源數據的數據量較多的情況下,可以認為此時需要及時的將這些待轉發的源數據轉發至第二音頻播放設備中,否則可能會造成第二音頻播放設備因接收到的數據量不足導致播放的中斷或者不穩定。
1500b:優先分配藍牙通信帶寬用於轉發所述源數據。步驟1500a和1500b中使用優先分配這樣的詞語用以表示在藍牙通信帶寬的分配過程中的側重的部分。
在優先分配執行某功能(即轉發所述源數據或接收所述源數據)的情況下,是指相比於通常使用的情況,分配更多的藍牙通信帶寬給對應的功能。例如,在正常情況下,轉發所述源數據和接收所述源數據分別佔用50%的藍牙通信帶寬。而在優先分配轉發所述源數據時,則將更多的藍牙通信帶寬,例如70%的藍牙通信帶寬分配用於轉發所述源數據。
在實際操作過程中,具體可以通過任何合適的規則或者定義來確定具體分配給轉發所述源數據以及接收所述源數據的藍牙通信帶寬,通常的在緩存數據量較低或者待轉發數據量較大的情況下,需要分配更多的藍牙通信帶寬用於對應的功能。例如建立分配的帶寬比例與緩存數據量之間的函數關係或者對應表,根據曲線或者查表,隨緩存數據量的變化,分配對應比例的藍牙通信帶寬用於接收源數據。
在本發明實施例中,使用了第一預設閾值和第二預設閾值兩個標準用以判斷當前的藍牙數據傳輸情況,並根據該標準,提供了對應的帶寬調整方式。由此,可以實現藍牙數據傳輸過程中,數據接收和數據轉發之間的帶寬分配自適應。
在另一些實施例中,還可以組合應用上述動態調整藍牙通信帶寬以及縮減重組源數據的方法,從而進一步的提高數據傳輸的穩定性。
圖9為本發明實施例提供的第一設備或者第二設備的硬體結構示意圖。如圖9所示,該設備包括:一個或多個處理器810、存儲器820以及藍牙通信模組830,圖9中以一個處理器810為例。在一些實施例中,其還可以包括:輸入裝置和輸出裝置。
處理器、存儲器、輸入裝置和輸出裝置可以通過總線或者其他方式連接,圖9中以通過總線連接為例。
存儲器820作為一種非易失性計算機可讀存儲介質,可用於存儲非易失性軟體程序、非易失性計算機可執行程序以及模塊,如本申請實施例中的藍牙數據轉發方法對應的程序指令/模塊(例如,附圖3所示的接收模塊100,數據重組模塊200以及轉發模塊300)。處理器810通過運行存儲在存儲器820中的非易失性軟體程序、指令以及模塊,從而執行伺服器的各種功能應用以及數據處理,通過藍牙通信模組實現上述方法實施例藍牙數據轉發方法。
存儲器820可以包括存儲程序區和存儲數據區,其中,存儲程序區可存儲作業系統、至少一個功能所需要的應用程式;存儲數據區可存儲根據數據轉發裝置的使用所創建的數據等。此外,存儲器820可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁碟存儲器件、快閃記憶體器件、或其他非易失性固態存儲器件。在一些實施例中,存儲器820可選包括相對於處理器810遠程設置的存儲器,這些遠程存儲器可以通過網絡連接至數據轉發裝置。上述網絡的實例包括但不限於網際網路、企業內部網、區域網、移動通信網及其組合。
輸入裝置可接收輸入的數字或字符信息,以及產生與數據轉發裝置的用戶設置以及功能控制有關的鍵信號輸入。輸出裝置可包括顯示屏等顯示設備。所述一個或者多個模塊存儲在所述存儲器820中,當被所述一個或者多個處理器810執行時,執行上述任意方法實施例中的數據轉發方法。
本領域技術人員應該還可以進一步意識到,結合本文中所公開的實施例描述的示例性的藍牙通信步驟,能夠以電子硬體、計算機軟體或者二者的結合來實現,為了清楚地說明硬體和軟體的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬體還是軟體方式來執行,取決於技術方案的特定應用和設計約束條件。
本領域技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的範圍。所述的計算機軟體可存儲於計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光碟、只讀存儲記憶體或隨機存儲記憶體等。
以上所述僅為本發明的實施方式,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護範圍內。