一種數(shù)據(jù)流的發(fā)送和接收方法及其終端和系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及通信領域,公開了一種數(shù)據(jù)流的發(fā)送和接收方法及其終端和系統(tǒng)。本發(fā)明中,首先,通過數(shù)據(jù)池將待發(fā)送的文件進行數(shù)據(jù)轉(zhuǎn)換,再對轉(zhuǎn)換之后的數(shù)據(jù)分別進行截取、添加識別信息、進行子帶編碼各步驟處理。使得原本不能被A2DP傳輸?shù)臄?shù)據(jù)流變得可以傳輸,豐富A2DP,使得A2DP支持傳輸?shù)臄?shù)據(jù)流類型更加多樣。
【專利說明】一種數(shù)據(jù)流的發(fā)送和接收方法及其終端和系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及通信領域,特別涉及數(shù)據(jù)流的發(fā)送和接收的技術。
【背景技術】
[0002]近年來,隨著藍牙技術在電子產(chǎn)品中的日益普及,藍牙音頻設備也層出不窮,其中具有免提功能的藍牙耳機和藍牙音頻網(wǎng)關的應用是最典型的例子。但免提單元與音頻網(wǎng)關進行音頻傳輸建立起來的面向連接的同步鏈路(Synchronous Connection Oriented link,簡稱“SCO”)連接,僅能支持64kbps電信級語音質(zhì)量的音頻流,這也就限制了藍牙音頻質(zhì)量的提高,同時也影響了藍牙的娛樂消費市場。為了滿足人們對高質(zhì)量音頻的需求,進一步擴大藍牙產(chǎn)品市場,藍牙特殊興趣小組SIG組織,在藍牙1.1規(guī)范的應用框架基礎上又單獨提出了藍牙音頻傳輸模型協(xié)議(AdvancedAudioDistributionProfile,簡稱“A2DP”)。該協(xié)議利用了在邏輯鏈路控制和適配協(xié)議(Logical Link Control and Adaptation Protocol,簡稱“L2CAP”)層建立起來的訪問控制列表(Access Control List,簡稱“ACL”)異步無連接鏈路來傳輸高質(zhì)量的單聲道或者立體聲音頻數(shù)據(jù),有效負載的傳輸速率可以達到300kbps~400kbps。
[0003]藍牙傳輸在應用中為無線連接,且其功耗較低,優(yōu)化了人們的數(shù)據(jù)流傳輸體驗,但由于A2DP在發(fā)送端僅僅實現(xiàn)了高級音頻分發(fā)的基本功能,如立體聲音頻的傳輸,只支持低復雜度子帶編解碼(sub-band coding,簡稱“SBC”)標準,而對其他編解碼標準并未涉及,也就是說人們通過A2DP僅可以傳輸SBC編碼格式的數(shù)據(jù)流,而不能傳輸其他有傳輸需求的數(shù)據(jù)流,非常不便。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種數(shù)據(jù)流的發(fā)送和接收方法及其終端和系統(tǒng),使得A2DP更加豐富,支持傳輸?shù)臄?shù)據(jù)流類型更加多樣。
[0005]為解決上述技術問題,本發(fā)明提供了一種數(shù)據(jù)流的發(fā)送方法,發(fā)送端在每一次發(fā)送非子帶編碼SBC編碼格式數(shù)據(jù)流的文件時,包含以下步驟:
[0006]A.通過文件流對象將所述文件存入數(shù)據(jù)池里;
[0007]B.從所述數(shù)據(jù)池中取出所述文件中的定長字節(jié)數(shù)據(jù)作為信源,并為所述信源添加識別信息,其中,所述識別信息包含類型識別信息;
[0008]C.對添加過所述識別信息的信源進行子帶編碼,并通過藍牙音頻傳輸模型協(xié)議A2DP發(fā)送;
[0009]重復步驟B至C直至所述文件發(fā)送完畢。
[0010]本發(fā)明還提供了一種數(shù)據(jù)流的接收方法,在接收端接收到來自發(fā)送端的數(shù)據(jù)后,還包含以下步驟:
[0011] 對接收到的所述數(shù)據(jù)進行子帶解碼;
[0012]如果進行子帶解碼后的數(shù)據(jù)中存在識別信息,則刪除所述子帶解碼后的數(shù)據(jù)中的所述識別信息得到信源,并根據(jù)所述識別信息將所述信源存入數(shù)據(jù)池直至一個完整的數(shù)據(jù)被接收成功;
[0013]根據(jù)所述識別信息將所述數(shù)據(jù)池中的完整數(shù)據(jù)寫入一個空的文件,得到將所述非子帶編碼SBC編碼格式數(shù)據(jù)流的文件。
[0014]本發(fā)明還提供了一種數(shù)據(jù)流的發(fā)送終端,包含:
[0015]存儲模塊,用于在每一次發(fā)送非SBC編碼格式數(shù)據(jù)流的文件時,通過文件流對象將所述文件存入數(shù)據(jù)池里;
[0016]信源編輯模塊,用于從所述數(shù)據(jù)池中取出所述文件中的定長字節(jié)數(shù)據(jù)作為信源,并為所述信源添加識別信息,其中,所述識別信息包含類型識別信息;
[0017]信源發(fā)送模塊,用于對添加過所述識別信息的信源進行子帶編碼,并通過藍牙音頻傳輸模型協(xié)議A2DP發(fā)送;
[0018]判斷模塊,用于判斷所述文件是否被發(fā)送完畢,并在判定為未發(fā)送完畢時觸發(fā)所述信源編輯模塊。
[0019]本發(fā)明還提供了一種數(shù)據(jù)流的接收終端,包含:
[0020]子帶解碼模塊,用于在接收到來自發(fā)送端的數(shù)據(jù)后,對所述數(shù)據(jù)進行子帶解碼;
[0021]識別信息刪除模塊,用于如果進行子帶解碼后的數(shù)據(jù)中存在識別信息,則刪除所述子帶解碼后的數(shù)據(jù)中的所述識別信息得到信源;
[0022]存儲模塊,用于根據(jù)所述識別信息將所述信源存入數(shù)據(jù)池;
[0023]判斷模塊,用于判斷一個完整的數(shù)據(jù)是否被接收成功;并在判定為未接收成功時,觸發(fā)所述子帶解碼模塊;
[0024]寫入文件模塊,用于在所述判斷模塊判定為接收成功時,根據(jù)所述識別信息將所述數(shù)據(jù)池中的完整數(shù)據(jù)寫入一個空的文件,得到將所述非子帶編碼SBC編碼格式數(shù)據(jù)流的文件。
[0025]本發(fā)明還提供了一種數(shù)據(jù)流發(fā)送和接收的系統(tǒng),包含:
[0026]如上述的數(shù) 據(jù)流的發(fā)送終端和如上述的數(shù)據(jù)流的接收終端。
[0027]本發(fā)明實施方式相對于現(xiàn)有技術而言,主要區(qū)別及效果在于:將需發(fā)送的文件中的數(shù)據(jù)轉(zhuǎn)換為可被SBC編碼的二進制數(shù)據(jù),使得原本不能通過A2DP發(fā)送的數(shù)據(jù)流得以發(fā)送。由于A2DP傳輸?shù)谋仨毷荢BC編碼格式的數(shù)據(jù)流,而SBC編碼只能針對二進制數(shù)據(jù)進行,本發(fā)明的發(fā)明人發(fā)現(xiàn),利用數(shù)據(jù)池可以將非二進制數(shù)據(jù)轉(zhuǎn)換為十六進制數(shù)據(jù),再進一步轉(zhuǎn)換為二進制數(shù)據(jù),也就使得非二進制格式的數(shù)據(jù)在轉(zhuǎn)換為二進制數(shù)據(jù)后被允許SBC編碼,也就使得非二進制格式的數(shù)據(jù)得以被允許通過A2DP傳輸。首先,發(fā)送端利用數(shù)據(jù)池將非SBC編碼格式數(shù)據(jù)流的文件中的數(shù)據(jù)轉(zhuǎn)換為二進制,由于SBC編碼一般支持512比特的數(shù)據(jù)流塊,所以需要在轉(zhuǎn)換之后的數(shù)據(jù)中截取合適的數(shù)據(jù)流塊作為信源,而且為便于接收端對數(shù)據(jù)流塊的拼接還原,需對信源添加識別信息,識別信息中必須包含類型識別信息,也就是待發(fā)送文件的文件類型,最后對信源進行子帶編碼,使之可以通過A2DP傳輸。同樣,接收端在接收到相應的數(shù)據(jù)流塊并進行子帶解碼后,先去掉冗余信息,然后利用數(shù)據(jù)池將二進制數(shù)據(jù)還原為其他格式數(shù)據(jù),進而根據(jù)類型識別信息將接收到的完整數(shù)據(jù)寫入一個空的文件以得到原有待傳輸?shù)姆荢BC編碼格式數(shù)據(jù)流的文件。本發(fā)明的實施方式使得A2DP可以傳輸非SBC編碼格式的數(shù)據(jù)流,也就使得A2DP更加豐富,支持傳輸?shù)臄?shù)據(jù)流類型更加多樣,這樣也使得A2DP可替代文件傳輸協(xié)議FTP、對象交換協(xié)議obex、對象推送協(xié)議opp。
[0028]作為進一步改進,在所述取出所述文件中的定長字節(jié)數(shù)據(jù)作為信源的步驟前,包含以下步驟:對所述文件進行編碼壓縮;在所述取出所述文件中的定長字節(jié)數(shù)據(jù)作為信源的步驟中,所述文件為所述進行編碼壓縮后的文件。在文件發(fā)送之前進行編碼壓縮,可以去除文件中的冗余信息,也使得文件中數(shù)據(jù)更小,增加文件的發(fā)送速度。
[0029]作為進一步改進,在所述為所述信源添加識別信息的步驟中,所述識別信息位于所述信源的預設位置。由于發(fā)送方添加的識別信息在預設位置,使得接收方可以更快識別出識別信息,也就加快了接收端處理接收到的數(shù)據(jù)流的速度。
[0030]作為進一步改進,在所述為所述信源添加識別信息的步驟中,所述識別信息還包含以下之一或其任意組合:長度識別信息、信源頭識別信息和信源尾識別信息。更豐富的識別信息,使得接收端可以得到更多的信息,也更易將數(shù)據(jù)流塊還原拼接。
[0031]作為進一步改進,所述信源頭識別信息和所述信源尾識別信息相同。進一步限定了信源頭識別信息與信源尾識別信息相同,使得接收端可以根據(jù)相同字節(jié)更快識別出信源頭識別信息與信源尾識別信息,也就加快了接收端處理接收到的數(shù)據(jù)流的速度。
【專利附圖】
【附圖說明】
[0032]圖1是根 據(jù)本發(fā)明第一實施方式的數(shù)據(jù)流的發(fā)送方法流程圖;
[0033]圖2是根據(jù)本發(fā)明第二實施方式的數(shù)據(jù)流的發(fā)送方法流程圖;
[0034]圖3是根據(jù)本發(fā)明第三實施方式的數(shù)據(jù)流的接收方法流程圖;
[0035]圖4是根據(jù)本發(fā)明第四實施方式的數(shù)據(jù)流的發(fā)送終端結構示意圖;
[0036]圖5是根據(jù)本發(fā)明第五實施方式的數(shù)據(jù)流的發(fā)送終端結構示意圖;
[0037]圖6是根據(jù)本發(fā)明第六實施方式的數(shù)據(jù)流的接收終端結構示意圖。
【具體實施方式】
[0038]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明的各實施方式進行詳細的闡述。然而,本領域的普通技術人員可以理解,在本發(fā)明各實施方式中,為了使讀者更好地理解本申請而提出了許多技術細節(jié)。但是,即使沒有這些技術細節(jié)和基于以下各實施方式的種種變化和修改,也可以實現(xiàn)本申請各權利要求所要求保護的技術方案。
[0039]本發(fā)明的第一實施方式涉及一種數(shù)據(jù)流的發(fā)送方法,如圖1所示,發(fā)送端在每一次發(fā)送非子帶編碼SBC編碼格式數(shù)據(jù)流的文件時,具體包含以下步驟:
[0040]步驟101,通過文件流對象將文件存入數(shù)據(jù)池里。具體的說,本步驟是為了將待發(fā)送的文件中的數(shù)據(jù)轉(zhuǎn)換為十六進制,由于將十六進制數(shù)據(jù)轉(zhuǎn)換為二進制數(shù)據(jù)為本領域普通技術人員的公知技術,在此不再贅述。
[0041]步驟102,從數(shù)據(jù)池中取出文件中的定長字節(jié)數(shù)據(jù)作為信源。具體的說,由于數(shù)據(jù)經(jīng)由數(shù)據(jù)池(簡稱“buffer”)可以被轉(zhuǎn)換為十六進制的數(shù)據(jù),而十六進制的數(shù)據(jù)可以進一步轉(zhuǎn)換為二進制的數(shù)據(jù)。需要說明的是,該信源也就是之后在發(fā)送過程中的作為待發(fā)送文件主體的數(shù)據(jù),由于SBC —般支持大小是512byte,支持數(shù)據(jù)較小,所以在編碼之前需對數(shù)據(jù)進行截取操作。[0042]步驟103,為信源添加識別信息。具體的說,其中的識別信息至少包含類型識別信息,類型識別信息用于識別待傳輸文件的文件類型,如視頻文件、圖片文件。
[0043]值得說明的是,識別信息的長度可以根據(jù)實際需要設定。
[0044]還需說明的是,在實際應用中,識別信息還可根據(jù)需要包含長度識別信息、信源頭識別信息和信源尾識別信息。具體的說,長度識別信息用于識別待傳輸文件的總長度,便于接收端在接收時可預知需要接收多長的數(shù)據(jù);信源頭識別信息和信源尾識別信息分別用于識別信源的起始位置和末尾,便于接收端接收時更好地預知信源的頭部和尾部,還需說明的是,信源頭識別信息和信源尾識別信息可以相同,更便于接收端接收時的識別。利用上述這些識別信息可以使接收端處理數(shù)據(jù)流塊的還原拼接。
[0045]還值得說明的是,添加的識別信息可以位于信源的預設位置,下面以添加的識別信息包含類型識別信息、長度識別信息、信源頭識別信息和信源尾識別信息四類識別信息為例進行說明:
[0046]待發(fā)送的文件為一個視頻文件,從文件中截取的信源如下:視頻流{0x01,0x02, Ox03, 0x04, 0x05, 0x06, 0x07, 0x08,...},發(fā)送端在發(fā)送前為該信源分別添加四個字節(jié)的識別信息,{OxFl , 100, Oxff, Oxfe, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,...0xff,Oxfe},其中第一個字節(jié)代表流的類型(OxFl代表“視頻流”,0xF2代表“圖像流”,0xF3代表“文件流”,以此類推),第2個字節(jié)代表待傳輸文件的長度為100,第3個和第4個字節(jié)代表截取視頻流的開始,之后是要發(fā)送的數(shù)據(jù),結尾兩個字節(jié)代表截取視頻流的尾部,表示一段視頻流的結束,接收端在接收到數(shù)據(jù)后,可根據(jù)第I個字節(jié)(也就是類型識別信息)獲知此段接收到的是視頻流數(shù)據(jù),可根據(jù)第2個字節(jié)(也就是長度識別信息)獲知本段接收的數(shù)據(jù)流的長度為100,可根據(jù)第3個和第4個字節(jié)(也就是信源頭識別信息)獲知之后是截取的視頻流,也就是信源,同樣,也可根據(jù)信源尾識別信息獲知前一個字節(jié)是所截取信源的末尾。在上述事例中可知,在預設的固定位置添加識別信息將利于接收端在接收時更快識別,也將更快獲得識別信息中提供的傳輸文件的信息。
[0047]還需說明的是,在實際應用中,識別信息還可以用其他組合,如配合使用類型識別信息、信源編號識別信息、信源長度識別信息,分別識別待發(fā)送文件的文件類型,截取出的當前信源為待傳輸文件的第幾個信源,本信源的長度。接收端根據(jù)這些識別信息也可對收到的數(shù)據(jù)進行還原拼接,當然,還可以需要使用其他組合的識別信息,在此不再一一列舉。
[0048]步驟104,進行子帶編碼。具體的說,就是對添加識別信息后的信源進行子帶編碼。也就是說,在帶傳輸文件中的數(shù)據(jù)轉(zhuǎn)換為二進制且添加過識別信息后,就可進行子帶編碼,等待傳輸了。
[0049]步驟105,通過A2DP發(fā)送。具體的說,待傳輸文件在進行了上述步驟的準備后,處理后的數(shù)據(jù)即可通過A2DP分段發(fā)送了。
[0050]步驟106,判斷文件發(fā)送是否完畢;若是,結束本實施方式中的數(shù)據(jù)流的發(fā)送方法流程;若否,返回步驟102。也就是說,步驟102至步驟106是重復截取數(shù)據(jù)作為信源并處理發(fā)送直至文件發(fā)送完畢。具體的說,上述步驟102至步驟105為發(fā)送一個信源的步驟,也就是發(fā)送了文件中的一段數(shù)據(jù),而一個待發(fā)送文件可能分為若干個信源,也就是分成若干段數(shù)據(jù),所以在每個信源發(fā)送完之后,均需要判斷整個待發(fā)送文件是否發(fā)送完畢,如果判定為發(fā)送完畢,則直接結束本實施方式中的數(shù)據(jù)流的發(fā)送方法流程,如果判定為未發(fā)送完畢,則返回繼續(xù)準備截取下一段數(shù)據(jù),也就是下一個信源的處理發(fā)送。更具體的說,在實際應用中,只需要判斷存入數(shù)據(jù)池的數(shù)據(jù)是否為空,即可得知文件發(fā)送是否完畢。
[0051]本發(fā)明實施方式相對于現(xiàn)有技術而言,主要區(qū)別及效果在于:將需發(fā)送的文件中的數(shù)據(jù)轉(zhuǎn)換為可被SBC編碼的二進制數(shù)據(jù),使得原本不能通過A2DP發(fā)送的數(shù)據(jù)流得以發(fā)送。由于A2DP傳輸?shù)谋仨毷荢BC編碼格式的數(shù)據(jù)流,而SBC編碼只能針對二進制數(shù)據(jù)進行,本發(fā)明的發(fā)明人發(fā)現(xiàn),利用數(shù)據(jù)池可以將非二進制數(shù)據(jù)轉(zhuǎn)換為十六進制數(shù)據(jù),再進一步轉(zhuǎn)換為二進制數(shù)據(jù),也就使得非二進制格式的數(shù)據(jù)在轉(zhuǎn)換為二進制數(shù)據(jù)后被允許SBC編碼,也就使得非二進制格式的數(shù)據(jù)得以被允許通過A2DP傳輸。首先,發(fā)送端利用數(shù)據(jù)池將非SBC編碼格式數(shù)據(jù)流的文件中的數(shù)據(jù)轉(zhuǎn)換為二進制,由于SBC編碼一般支持512比特的數(shù)據(jù)流塊,所以需要在轉(zhuǎn)換之后的數(shù)據(jù)中截取合適的數(shù)據(jù)流塊作為信源,而且為便于接收端對數(shù)據(jù)流塊的拼接還原,需對信源添加識別信息,識別信息中必須包含類型識別信息,也就是待發(fā)送文件的文件類型,最后對信源進行子帶編碼,使之可以通過A2DP傳輸。同樣,接收端在接收到相應的數(shù)據(jù)流塊并進行子帶解碼后,先去掉冗余信息,然后利用數(shù)據(jù)池將二進制數(shù)據(jù)還原為其他格式數(shù)據(jù),進而根據(jù)類型識別信息將接收到的完整數(shù)據(jù)寫入一個空的文件以得到原有待傳輸?shù)姆荢BC編碼格式數(shù)據(jù)流的文件。本發(fā)明的實施方式使得A2DP可以傳輸非SBC編碼格式的數(shù)據(jù)流,也就使得A2DP更加豐富,支持傳輸?shù)臄?shù)據(jù)流類型更加多樣,這樣也使得A2DP可替代文件傳輸協(xié)議FTP、對象交換協(xié)議obex、對象推送協(xié)議opp。
[0052]本發(fā)明的第二實施方式同樣涉及一種數(shù)據(jù)流的發(fā)送方法,本實施方式是在第一實施方式的基礎上做了進一步改進,如圖2所示,主要改進之處在于第一實施方式中,在每一次發(fā)送非SBC編碼格式數(shù)據(jù)流的文件時,待傳輸文件是直接存入數(shù)據(jù)池中進行數(shù)據(jù)轉(zhuǎn)換,而本實施方式中,在每一次發(fā)送非SBC編碼格式數(shù)據(jù)流的文件時,先需對待傳輸文件進行編碼壓縮,可以去除文件中的冗余信息,也使得文件中數(shù)據(jù)更小,增加文件的發(fā)送速度。
[0053]步驟201,對文件進行編碼壓縮。具體的說,就是對待傳輸文件進行編碼壓縮,去除文件中的冗余,使得需傳輸?shù)臄?shù)據(jù)減少,也就是增加了文件的發(fā)送速度。
[0054]舉例說明,若待傳輸?shù)奈募橐曨l文件,可利用H.264進行編碼壓縮,去除該視頻文件中的冗余信息,使得該視頻文件的數(shù)據(jù)量變少。
[0055]本實施方式中的步驟202至步驟207與第一實施方式中的步驟101至步驟106相類似,在此不再贅述。
[0056]本發(fā)明的第三實施方式涉及一種數(shù)據(jù)流的接收方法,本實施方式的接收方法與第一實施方式中的發(fā)送方法相對應,如圖3所示,在接收端接收到來自發(fā)送端的數(shù)據(jù)后,具體包含以下步驟:
[0057]步驟301,進行子帶解碼。也就是說,對接收到的數(shù)據(jù)進行子帶解碼。
[0058]步驟302,如果存在識別信息,則刪除數(shù)據(jù)中的識別信息得到信源。也就是說,如果進行子帶解碼后的數(shù)據(jù)中存在識別信息,則刪除子帶解碼后的數(shù)據(jù)中的識別信息得到信源。
[0059]步驟303,根據(jù)識別信息將信源存入數(shù)據(jù)池。
[0060]需要說明的是,接收到的多段數(shù)據(jù)需要根據(jù)識別信息進行拼接還原。具體的方法可對應第一實施方式中的添加識別信息方法。
[0061] 步驟304,判斷完整數(shù)據(jù)是否被接收成功;若是,則執(zhí)行步驟305 ;若否,則返回執(zhí)行步驟301。也就是說,根據(jù)識別信息將信源存入數(shù)據(jù)池直至一個完整的數(shù)據(jù)被接收成功,并在判定為接收成功時,繼續(xù)執(zhí)行后續(xù)步驟,在判定為接收不成功時,返回對下一段接收到的數(shù)據(jù)繼續(xù)進行子帶解碼等處理。具體的說,在實際應用中,通過判斷接收的數(shù)據(jù)是否為空,即可得知數(shù)據(jù)是否已被完整接收。
[0062]步驟305,將完整數(shù)據(jù)寫入一個空的文件。具體的說,是根據(jù)接收到的數(shù)據(jù)中的識別信息將數(shù)據(jù)池中的完整數(shù)據(jù)寫入一個空的文件,其中的識別信息是類型識別信息。如,當接收到的數(shù)據(jù)中類型識別信息為視頻時,在此步驟中就將數(shù)據(jù)池中的完整數(shù)據(jù)寫入一個空的視頻文件中。
[0063]需要說明的是,上面各種方法的步驟劃分,只是為了描述清楚,實現(xiàn)時可以合并為一個步驟或者對某些步驟進行拆分,分解為多個步驟,只要包含相同的邏輯關系,都在本專利的保護范圍內(nèi);對算法中或者流程中添加無關緊要的修改或者引入無關緊要的設計,但不改變其算法和流程的核心設計都在該專利的保護范圍內(nèi)。
[0064]本發(fā)明第四實施方式涉及一種數(shù)據(jù)流的發(fā)送終端,其連接結構如圖4所示,具體包含:
[0065]存儲模塊,用于在每一次發(fā)送非SBC編碼格式數(shù)據(jù)流的文件時,通過文件流對象將文件存入數(shù)據(jù)池里。
[0066]信源編輯模塊,用于從數(shù)據(jù)池中取出文件中的定長字節(jié)數(shù)據(jù)作為信源,并為信源添加識別信息,其中,識別信息包含類型識別信息。 [0067]信源發(fā)送模塊,用于對添加過識別信息的信源進行子帶編碼,并通過藍牙音頻傳輸模型協(xié)議A2DP發(fā)送。
[0068]判斷模塊,用于判斷文件是否被發(fā)送完畢,并在判定為未發(fā)送完畢時觸發(fā)信源編輯模塊。
[0069]不難發(fā)現(xiàn),本實施方式為與第一實施方式相對應的系統(tǒng)實施例,本實施方式可與第一實施方式互相配合實施。第一實施方式中提到的相關技術細節(jié)在本實施方式中依然有效,為了減少重復,這里不再贅述。相應地,本實施方式中提到的相關技術細節(jié)也可應用在第一實施方式中。
[0070]值得一提的是,本實施方式中所涉及到的各模塊均為邏輯模塊,在實際應用中,一個邏輯單元可以是一個物理單元,也可以是一個物理單元的一部分,還可以以多個物理單元的組合實現(xiàn)。此外,為了突出本發(fā)明的創(chuàng)新部分,本實施方式中并沒有將與解決本發(fā)明所提出的技術問題關系不太密切的單元引入,但這并不表明本實施方式中不存在其它的單
J Li ο
[0071]本發(fā)明第五實施方式同樣涉及一種數(shù)據(jù)流的發(fā)送終端,第五實施方式是在第四實施方式的基礎上做的進一步改進,如圖5所示,主要改進之處在于:在第五實施方式中,新增了壓縮模塊,壓縮模塊與存儲模塊相連,用于在每一次發(fā)送非SBC編碼格式數(shù)據(jù)流的文件時,對文件進行編碼壓縮;存儲模塊還用于通過文件流對象將進行編碼壓縮后的文件存入數(shù)據(jù)池里。本實施方式中壓縮模塊對待傳輸文件先進行壓縮,去除冗余,加快文件發(fā)送速度。
[0072]由于第二實施方式與本實施方式相互對應,因此本實施方式可與第二實施方式互相配合實施。第二實施方式中提到的相關技術細節(jié)在本實施方式中依然有效,在第二實施方式中所能達到的技術效果在本實施方式中也同樣可以實現(xiàn),為了減少重復,這里不再贅述。相應地,本實施方式中提到的相關技術細節(jié)也可應用在第二實施方式中。
[0073]本發(fā)明第六實施方式涉及一種數(shù)據(jù)流的接收終端,本實施方式的接收終端與第四實施方式中的發(fā)送終端相對應,如圖6所示,具體包含以下模塊:
[0074]子帶解碼模塊,用于在接收到來自發(fā)送端的數(shù)據(jù)后,對數(shù)據(jù)進行子帶解碼。
[0075]識別信息刪除模塊,用于如果進行子帶解碼后的數(shù)據(jù)中存在識別信息,則刪除子帶解碼后的數(shù)據(jù)中的識別信息得到信源。
[0076]存儲模塊,用于根據(jù)識別信息將信源存入數(shù)據(jù)池。
[0077]判斷模塊,用于判斷一個完整的數(shù)據(jù)是否被接收成功;并在判定為未接收成功時,觸發(fā)子帶解碼模塊。
[0078]寫入文件模塊,用于在判斷模塊判定為接收成功時,根據(jù)識別信息將數(shù)據(jù)池中的完整數(shù)據(jù)寫入一個空的文件,得到將非子帶編碼SBC編碼格式數(shù)據(jù)流的文件。
[0079]由于第三實施方式與本實施方式相互對應,因此本實施方式可與第三實施方式互相配合實施。第三實施方式中提到的相關技術細節(jié)在本實施方式中依然有效,在第三實施方式中所能達到的技術效果在本實施方式中也同樣可以實現(xiàn),為了減少重復,這里不再贅述。相應地,本實施方式中提到的相關技術細節(jié)也可應用在第三實施方式中。
[0080]本發(fā)明第七實施方式涉及一種數(shù)據(jù)流發(fā)送和接收的系統(tǒng),具體包含:數(shù)據(jù)流的發(fā)送終端和數(shù)據(jù)流的接收終端。
[0081]如第四實施方式或第五實施方式中提到的數(shù)據(jù)流發(fā)送終端和如第六實施方式中提到的數(shù)據(jù)流的接收終端。
[0082]本領域的普通技術人員可以理解,上述各實施方式是實現(xiàn)本發(fā)明的具體實施例,而在實際應用中,可以在形式上和細節(jié)上對其作各種改變,而不偏離本發(fā)明的精神和范圍。
【權利要求】
1.一種數(shù)據(jù)流的發(fā)送方法,其特征在于,發(fā)送端在每一次發(fā)送非子帶編碼SBC編碼格式數(shù)據(jù)流的文件時,包含以下步驟: A.通過文件流對象將所述文件存入數(shù)據(jù)池里; B.從所述數(shù)據(jù)池中取出所述文件中的定長字節(jié)數(shù)據(jù)作為信源,并為所述信源添加識別信息,其中,所述識別信息包含類型識別信息; C.對添加過所述識別信息的信源進行子帶編碼,并通過藍牙音頻傳輸模型協(xié)議A2DP發(fā)送; 重復步驟B至C直至所述文件發(fā)送完畢。
2.根據(jù)權利要求1所述的數(shù)據(jù)流的發(fā)送方法,其特征在于,在取出所述文件中的定長字節(jié)數(shù)據(jù)作為信源的步驟前,包含以下步驟: 對所述文件進行編碼壓縮; 在所述取出所述文件中的定長字節(jié)數(shù)據(jù)作為信源的步驟中,所述文件為所述進行編碼壓縮后的文件。
3.根據(jù)權利要求1 所述的數(shù)據(jù)流的發(fā)送方法,其特征在于,在為所述信源添加識別信息的步驟中,所述識別信息位于所述信源的預設位置。
4.根據(jù)權利要求1所述的數(shù)據(jù)流的發(fā)送方法,其特征在于,在為所述信源添加識別信息的步驟中,所述識別信息還包含以下之一或其任意組合: 長度識別信息、信源頭識別信息和信源尾識別信息。
5.根據(jù)權利要求4所述的數(shù)據(jù)流的發(fā)送方法,其特征在于,所述信源頭識別信息和所述信源尾識別信息相同。
6.一種數(shù)據(jù)流的接收方法,其特征在于,在接收端接收到來自發(fā)送端的數(shù)據(jù)后,還包含以下步驟: 對接收到的所述數(shù)據(jù)進行子帶解碼; 如果進行子帶解碼后的數(shù)據(jù)中存在識別信息,則刪除所述子帶解碼后的數(shù)據(jù)中的所述識別信息得到信源,并根據(jù)所述識別信息將所述信源存入數(shù)據(jù)池,直至一個完整的數(shù)據(jù)被接收成功; 根據(jù)所述識別信息將所述數(shù)據(jù)池中的完整數(shù)據(jù)寫入一個空的文件,得到將所述非子帶編碼SBC編碼格式數(shù)據(jù)流的文件。
7.一種數(shù)據(jù)流的發(fā)送終端,其特征在于,包含以下模塊: 存儲模塊,用于在每一次發(fā)送非SBC編碼格式數(shù)據(jù)流的文件時,通過文件流對象將所述文件存入數(shù)據(jù)池里; 信源編輯模塊,用于從所述數(shù)據(jù)池中取出所述文件中的定長字節(jié)數(shù)據(jù)作為信源,并為所述信源添加識別信息,其中,所述識別信息包含類型識別信息; 信源發(fā)送模塊,用于對添加過所述識別信息的信源進行子帶編碼,并通過藍牙音頻傳輸模型協(xié)議A2DP發(fā)送; 判斷模塊,用于判斷所述文件是否被發(fā)送完畢,并在判定為未發(fā)送完畢時觸發(fā)所述信源編輯模塊。
8.根據(jù)權利要求7所述的數(shù)據(jù)流的發(fā)送終端,其特征在于,所述終端中還包含壓縮模塊;所述壓縮模塊與所述存儲模塊相連,用于在每一次發(fā)送非SBC編碼格式數(shù)據(jù)流的文件時,對所述文件進行編碼壓縮; 所述存儲模塊還用于通過文件流對象將所述進行編碼壓縮后的文件存入數(shù)據(jù)池里。
9.一種數(shù)據(jù)流的接收終端,其特征在于,包含以下模塊: 子帶解碼模塊,用于在接收到來自發(fā)送端的數(shù)據(jù)后,對所述數(shù)據(jù)進行子帶解碼; 識別信息刪除模塊,用于如果進行子帶解碼后的數(shù)據(jù)中存在識別信息,則刪除所述子帶解碼后的數(shù)據(jù)中的所述識別信息得到信源; 存儲模塊,用于根據(jù)所述識別信息將所述信源存入數(shù)據(jù)池; 判斷模塊,用于判斷一個完整的數(shù)據(jù)是否被接收成功;并在判定為未接收成功時,觸發(fā)所述子帶解碼模塊; 寫入文件模塊,用于在所述判斷模塊判定為接收成功時,根據(jù)所述識別信息將所述數(shù)據(jù)池中的完整數(shù)據(jù)寫入一個空的文件,得到將所述非子帶編碼SBC編碼格式數(shù)據(jù)流的文件。
10.一種數(shù)據(jù)流發(fā)送和接收的系統(tǒng),其特征在于,包含: 如權利要求7或8所述的數(shù)據(jù)流的發(fā)送終端和如權利要求9所述的數(shù)據(jù)流的接收終 端。
【文檔編號】H04L29/08GK104023007SQ201410203646
【公開日】2014年9月3日 申請日期:2014年5月14日 優(yōu)先權日:2014年5月14日
【發(fā)明者】李永強, 徐佳 申請人:上海卓悠網(wǎng)絡科技有限公司