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