專利名稱:一種實現(xiàn)移動終端音視頻實時共享方法及移動終端的制作方法
技術領域:
本發(fā)明涉及移動通信領域,具體地涉及一種實現(xiàn)移動終端音視頻實時共享的方法
及移動終端。
背景技術:
媒體功能是當前移動終端的重要功能之一,而媒體共享也逐漸顯現(xiàn)它在資源共享 方面的重要性。目前,移動終端之間的音視頻等媒體信息的實時共享一般都是通過先將音 視頻等媒體文件傳輸?shù)浇邮斩?,再由接收端進行媒體文件的解碼與播放。但是,如果接收端 不支持相關媒體文件的解碼,則該接收端就無法播放這些媒體文件;而且,由于文件傳輸需 要一段時間,接收端需要等待較長的時間進行文件下載,才能進行播放;而且,對于需要分 享其實時播放或顯示內(nèi)容的移動終端用戶,可能還需要將這些內(nèi)容錄制成文件,再傳輸?shù)?接收端,不能滿足實時與同步性。 現(xiàn)有的專利文獻有專利申請?zhí)枮镃N200810066097. 0的專利申請?zhí)岢隽?"一種 共享播放多媒體文件的方法及多媒體播放器"。該專利申請?zhí)岢龅姆椒ê投嗝襟w播放器雖 然可以通過實時流的方式對播放器中的媒體進行緩沖,但還需播放器進行媒體解碼,對播 放器解碼能力要求較高,對一些播放器不支持的文件格式?jīng)]有辦法共享播放;并且,該專利 申請?zhí)岢龅姆椒ê投嗝襟w播放器未涉及與解決非實體文件的實時共享問題,例如,終端如 何將其C匪B(China Mobile Multimedia Broadcasting,中國移動多媒體廣播)或收音機 所接收到的視頻或音頻信息實時共享給其他終端,或如何將終端的LCD(Liquid Crystal Display,液晶顯示器)顯示內(nèi)容或聲音實時共享給其他終端。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術問題是提供一種實現(xiàn)移動終端音視頻實時共享的方法及 移動終端,以將發(fā)送端所播放的音視頻數(shù)據(jù)同步傳輸?shù)浇邮斩恕?為了解決上述技術問題,本發(fā)明提供了一種實現(xiàn)移動終端音視頻實時共享的方 法,包括以下步驟 A、發(fā)送端記錄將要播放的音視頻數(shù)據(jù),對所述音視頻數(shù)據(jù)進行編碼壓縮后傳輸給 接收端; B、接收端對接收到的所述音視頻數(shù)據(jù)進行解壓解碼后調(diào)用相應的驅(qū)動接口對所 述音視頻數(shù)據(jù)進行播放。
進一步地,上述方法具有下面特點所述步驟A具體實現(xiàn)為 發(fā)送端以特定的速率定時抽取將要播放的音視頻數(shù)據(jù),按時間順序?qū)⑾噜廇 t時 間內(nèi)抽取的音視頻數(shù)據(jù)存儲在不同的緩沖區(qū)中,形成多個At時間數(shù)據(jù)包;
輪流編碼壓縮所述不同的緩沖區(qū)中的At時間數(shù)據(jù)包;
將編碼壓縮后的At時間數(shù)據(jù)包傳輸給接收端。 進一步地,上述方法具有下面特點所述抽取音視頻數(shù)據(jù)具體實現(xiàn)為
按照抽取周期定時采樣視頻數(shù)據(jù),并且抽取所述抽取周期內(nèi)完整的音頻數(shù)據(jù)。
進一步地,上述方法具有下面特點在所述輪流編碼壓縮所述不同的緩沖區(qū)中的 At時間數(shù)據(jù)包之后還包括 將編碼壓縮后的At時間數(shù)據(jù)包存儲于數(shù)據(jù)隊列中。
進一步地,上述方法具有下面特點所述步驟B具體實現(xiàn)為 接收端接收發(fā)送端發(fā)來的所述A t時間數(shù)據(jù)包; 對所述A t時間數(shù)據(jù)包進行解壓解碼后交替存儲于不同的緩沖區(qū)中;
輪流地從所述不同的緩沖區(qū)中取出所述At時間數(shù)據(jù)包中的音視頻數(shù)據(jù)進行分 離和調(diào)整后,調(diào)用LCD驅(qū)動接口和CODEC驅(qū)動接口分別對所述音視頻數(shù)據(jù)進行播放。
本發(fā)明還提供一種移動終端,包括 數(shù)據(jù)記錄模塊,用于記錄所述移動終端的音視頻數(shù)據(jù),然后向第一數(shù)據(jù)處理模塊 發(fā)送一消息; 第一數(shù)據(jù)處理模塊,用于接收所述數(shù)據(jù)記錄模塊發(fā)來的消息后對所述音視頻數(shù)據(jù) 進行編碼壓縮,然后通知數(shù)據(jù)發(fā)送模塊; 數(shù)據(jù)發(fā)送模塊,用于接收到所述第一數(shù)據(jù)處理模塊發(fā)來的通知后發(fā)送編碼壓縮后 的音視頻數(shù)據(jù)。 進一步地,上述移動終端具有下面特點 所述數(shù)據(jù)記錄模塊,具體用于以特定的速率定時抽取本身的音視頻數(shù)據(jù),按時間 順序?qū)⑾噜廇t時間內(nèi)抽取的音視頻數(shù)據(jù)存儲在不同的緩沖區(qū)中,形成多個At時間數(shù)據(jù) 包,每形成一個At時間數(shù)據(jù)包即向所述第一數(shù)據(jù)處理模塊發(fā)送一消息;
所述第一數(shù)據(jù)處理模塊,具體用于接收到所述消息后相應地輪流編碼壓縮所述不 同的緩沖區(qū)中的At時間數(shù)據(jù)包,然后通知所述數(shù)據(jù)發(fā)送模塊; 所述數(shù)據(jù)發(fā)送模塊,具體用于接收到所述通知后發(fā)送編碼壓縮后的所述At時間 數(shù)據(jù)包。
進一步地,上述移動終端具有下面特點還包括 數(shù)據(jù)接收模塊,用于接收其它移動終端發(fā)來的音視頻數(shù)據(jù),然后向第二數(shù)據(jù)處理 模塊發(fā)送消息; 第二數(shù)據(jù)處理模塊,用于接收所述消息后對所述音視頻數(shù)據(jù)進行解壓解碼,然后 通知驅(qū)動接口模塊; 驅(qū)動接口模塊,用于接收到所述通知后調(diào)用相應的驅(qū)動接口對所述音視頻數(shù)據(jù)進 行顯示和播放。 進一步地,上述移動終端具有下面特點 所述數(shù)據(jù)接收模塊接收到的音視頻數(shù)據(jù)為第二 A t時間數(shù)據(jù)包; 所述第二數(shù)據(jù)處理模塊,具體用于對所述第二 A t時間數(shù)據(jù)包進行解壓解碼后交
替存儲于不同的緩沖區(qū)中; 所述驅(qū)動接口模塊,具體用于輪流地從所述緩沖區(qū)中取出所述第二 At時間數(shù)據(jù) 包中的音視頻數(shù)據(jù)進行分離和調(diào)整后,調(diào)用LCD驅(qū)動接口和CODEC驅(qū)動接口對所述音視頻 數(shù)據(jù)進行播放。
本發(fā)明還提供一種移動終端,包括
數(shù)據(jù)接收模塊,用于接收其它移動終端發(fā)來的音視頻數(shù)據(jù),然后向第三數(shù)據(jù)處理 模塊發(fā)送一消息; 第三數(shù)據(jù)處理模塊,用于接收所述消息后對所述音視頻數(shù)據(jù)進行解壓解碼,然后 通知驅(qū)動接口模塊; 驅(qū)動接口模塊,用于接收到所述通知后調(diào)用相應的驅(qū)動接口對所述音視頻數(shù)據(jù)進 行播放。 綜上,本發(fā)明提供的實現(xiàn)移動終端音視頻實時共享的方法及移動終端,可以使接 收端在沒有發(fā)送端播放文件相應解碼器的情況下同步觀看文件,或可以在沒有發(fā)送端媒體 硬件(如C匪B、攝像頭、收音機等)的情況下同步播放媒體,或滿足接收端實時同步顯示和 播放發(fā)送端所顯示或播放內(nèi)容,包括各種實體或非實體信息。通過移動終端間的音視頻實 時共享,可以加大用戶間的交流,增強用戶的多媒體體驗。
附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實 施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中 圖1為根據(jù)本發(fā)明實施例的移動終端(發(fā)送端)的示意圖; 圖2為根據(jù)發(fā)明實施例的移動終端(接收端)的示意圖; 圖3為根據(jù)發(fā)明實施例的移動終端(包括發(fā)送端和接收端功能)的示意圖; 圖4為根據(jù)發(fā)明實施例的實現(xiàn)移動終端音視頻實時共享的方法的流程圖; 圖5示出了根據(jù)本發(fā)明實施例的線程T110控制與數(shù)據(jù)流圖; 圖6示出了根據(jù)本發(fā)明實施例的線程T120控制與數(shù)據(jù)流圖; 圖7示出了根據(jù)本發(fā)明實施例的線程T130控制與數(shù)據(jù)流圖; 圖8示出了根據(jù)本發(fā)明實施例的線程T210控制與數(shù)據(jù)流圖; 圖9示出了根據(jù)本發(fā)明實施例的線程T220控制與數(shù)據(jù)流圖; 圖10示出了根據(jù)本發(fā)明實施例的線程T230控制與數(shù)據(jù)流圖。
具體實施例方式
目前,各種移動終端,特別是手機基本上都采用藍牙作為短距離無線傳輸方式,因 此,本發(fā)明實施例基于該傳輸方式進行各種移動終端間的音視頻實時共享,但不局限于該 傳輸方式。主要的技術方案是發(fā)送端將其需要顯示和播放的音視頻數(shù)據(jù)記錄下來,并進行 編碼壓縮,通過藍牙傳輸給接收端,接收端再將該數(shù)據(jù)解壓解碼,并通過調(diào)用其相應的驅(qū)動 接口進行顯示和播放。以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進行說明,應當理解,此處所描 述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。 圖l為本發(fā)明實施例的移動終端(發(fā)送端)的示意圖,如圖l所示,本實施例的移 動終端,即發(fā)送端S100,包括數(shù)據(jù)記錄模塊S110、數(shù)據(jù)處理模塊S120和數(shù)據(jù)發(fā)送模塊S130。
數(shù)據(jù)記錄模塊S110用于抽取發(fā)送端S100的音視頻數(shù)據(jù),即RGB與PCM的原始數(shù) 據(jù),經(jīng)過數(shù)據(jù)預處理降低數(shù)據(jù)量后,保存于緩沖區(qū)中,最終形成At時間數(shù)據(jù)包,然后通知 數(shù)據(jù)處理模塊S120進行下一步處理; 數(shù)據(jù)處理模塊S120得到數(shù)據(jù)記錄模塊S110的通知消息后,對保存于緩沖區(qū)中的數(shù)據(jù)進行編碼壓縮,并將編碼壓縮結(jié)果保存于數(shù)據(jù)隊列,接著,通知數(shù)據(jù)發(fā)送模塊S130進 行下一步處理; 數(shù)據(jù)發(fā)送模塊S130得到數(shù)據(jù)處理模塊S120通知消息,調(diào)用藍牙接口將數(shù)據(jù)隊列 中保存的音視頻數(shù)據(jù)通過藍牙發(fā)送至接收端。 圖2為發(fā)明實施例的移動終端(接收端)的示意圖,如圖2所示,本實施例的移動 終端,即接收端R100,包括數(shù)據(jù)接收模塊R110、數(shù)據(jù)處理模塊R120和驅(qū)動接口模塊R130。
數(shù)據(jù)接收模塊R110用于通過藍牙接收到從發(fā)送端傳過來的音視頻數(shù)據(jù)包,存于 數(shù)據(jù)隊列P2中,并通知數(shù)據(jù)處理模塊R120進行處理; 數(shù)據(jù)處理模塊R120用于接收到數(shù)據(jù)接收模塊R110的通知后,對數(shù)據(jù)隊列P2中的 音視頻數(shù)據(jù)進行解壓縮、解碼,恢復出At時間數(shù)據(jù)包內(nèi)的各個數(shù)據(jù)抽樣,存于緩沖區(qū)中, 然后通知驅(qū)動接口模塊R130進行處理; 驅(qū)動接口模塊R130用于接收到數(shù)據(jù)處理模塊R120的通知后,處理緩沖區(qū)中的數(shù) 據(jù)抽樣,得到原始的RGB數(shù)據(jù)和PCM數(shù)據(jù),調(diào)用LCD驅(qū)動接口和CODEC驅(qū)動接口進行音視頻 數(shù)據(jù)的顯示和播放。 圖3為發(fā)明實施例的移動終端(包括發(fā)送端和接收端功能)的示意圖,如圖3所 示,本實施例的移動終端10包括上述發(fā)送端的功能模塊(數(shù)據(jù)記錄模塊S110、數(shù)據(jù)處理模 塊S120和數(shù)據(jù)發(fā)送模塊S130),用于向其它移動終端發(fā)送其本身顯示和播放的音視頻數(shù) 據(jù);還包括上述接收端的功能模塊(數(shù)據(jù)接收模塊R110、數(shù)據(jù)處理模塊R120和驅(qū)動接口模 塊R130),用于顯示和播放其它移動終端發(fā)來的音視頻數(shù)據(jù)。本實施例的移動終端10即可 以作為發(fā)送端也可以作為接收端。 下面詳細介紹利用本發(fā)明提供的移動終端來實現(xiàn)移動終端音視頻實時共享的方 法,本發(fā)明的實現(xiàn)移動終端音視頻實時共享的方法主要是通過抽取發(fā)送端原始的音視頻數(shù) 據(jù),即RGB數(shù)據(jù)與PCM數(shù)據(jù),經(jīng)過編碼與壓縮,有效的降低數(shù)據(jù)包大小,然后通過藍牙發(fā)送給 接收端,接收端通過藍牙接收到該音視頻數(shù)據(jù),對其進行解壓和解碼,經(jīng)過LCD驅(qū)動和音頻 CODEC驅(qū)動最終將音視頻播放出來。 如圖4所示,本實施例的實現(xiàn)移動終端音視頻實時共享的方法包括步驟 S401、發(fā)送端記錄本身將播放的音視頻數(shù)據(jù),對所述音視頻數(shù)據(jù)進行編碼壓縮后
通過藍牙傳輸給接收端; 在該方法中,發(fā)送端S100包括數(shù)據(jù)記錄模塊S110、數(shù)據(jù)處理模塊S120和數(shù)據(jù)發(fā) 送模塊S130。本實施例中應用線程T110來實現(xiàn)數(shù)據(jù)記錄模塊S110的功能,應用線程T120 來實現(xiàn)數(shù)據(jù)處理模塊S120的功能,應用線程T130和藍牙模塊來實現(xiàn)數(shù)據(jù)發(fā)送模塊S130的 功能。 在本實施例中,線程T110記錄一段時間A t中的音視頻數(shù)據(jù)。該音視頻數(shù)據(jù)包括 發(fā)送端將輸出到其LCD驅(qū)動接口模塊的RGB數(shù)據(jù),以及將輸出到音頻CODEC (解碼-譯碼器) 模塊的PCM數(shù)據(jù)。該記錄方法應該盡可能降低音視頻原始數(shù)據(jù)量對于視頻RGB數(shù)據(jù),可以 采用降低視頻數(shù)據(jù)分辨率,可以采用降低視頻數(shù)據(jù)位數(shù),可以采用降低視頻數(shù)據(jù)抽取速率, 或采用其他降低視頻原始數(shù)據(jù)量的方式,或不進行視頻數(shù)據(jù)傳輸而只傳輸音頻數(shù)據(jù);對于 音頻數(shù)據(jù),可以采用降低音頻數(shù)據(jù)位數(shù),可以采用降低音頻數(shù)據(jù)抽取速率,可以進行u率或 A率編碼,或采用其他降低音頻原始數(shù)據(jù)量的方式,或不進行音頻數(shù)據(jù)傳輸而只傳輸視頻數(shù)據(jù)。記錄過程中為降低音視頻數(shù)據(jù)量所消耗的時間應小于對音視頻數(shù)據(jù)的抽樣周期。線程 T110將所記錄的數(shù)據(jù)采用雙緩沖或多緩沖方式存儲于存儲器中,例如線程TllO使用緩沖 區(qū)B1記錄一段時間At后,通知線程T120對緩沖區(qū)Bl進行數(shù)據(jù)處理,這時,線程T110可 在線程T120處理緩沖區(qū)B1的數(shù)據(jù)的同時,繼續(xù)將新的抽樣數(shù)據(jù)保存在緩沖區(qū)B2中,使按 時間關系相鄰的At時間抽樣的數(shù)據(jù)保存在不同的緩沖區(qū)中。 圖5示出了根據(jù)本發(fā)明實施例的線程T110控制與數(shù)據(jù)流圖。如圖5所示,線程 T110以一定的抽取速率定時抽取RGB數(shù)據(jù)和PCM數(shù)據(jù),經(jīng)過數(shù)據(jù)預處理,進行簡單的圖像 和音頻數(shù)據(jù)的調(diào)整與壓縮,存儲到緩沖區(qū)B1中,作為一條數(shù)據(jù)抽樣,這樣一直在緩沖區(qū)B1 中進行數(shù)據(jù)抽樣保存,直到進行At時間后,形成一個完整的At時間數(shù)據(jù)包。此時,線程 T110通知線程T120處理緩沖區(qū)B1中的At時間數(shù)據(jù)包,接下來的At時間內(nèi)的數(shù)據(jù)抽樣 保存在緩沖區(qū)B2中,之后處理過程依此在緩沖區(qū)Bl和緩沖區(qū)B2循環(huán)進行。這里以將抽 樣的音視頻數(shù)據(jù)存儲于雙緩沖區(qū)中為例,當然也可以將抽樣的音視頻數(shù)據(jù)存儲于多緩沖區(qū) 中,方法類似,這里就不再贅述。而且,對于RGB數(shù)據(jù)和PCM數(shù)據(jù)抽取方式不盡相同RGB數(shù) 據(jù)按照抽取周期進行定時采樣,而所抽取的PCM數(shù)據(jù)則是對該抽取周期內(nèi)的PCM數(shù)據(jù)的完 整記錄。 然后,線程T120處理線程T110所保存數(shù)據(jù)。圖6示出了根據(jù)本發(fā)明實施例的線 程T120控制與數(shù)據(jù)流圖。如圖6所示,線程T120得到線程T110的通知消息,輪流處理緩 沖區(qū)B 1和緩沖區(qū)B2中的At時間數(shù)據(jù)包。處理過程可以包括編碼、壓縮等步驟,也可以 采取其他方式,目的是盡可能消除At時間數(shù)據(jù)包內(nèi)各個數(shù)據(jù)抽樣之間的冗余信息,達到 數(shù)據(jù)存儲空間的最小化,以及降低對藍牙傳輸帶寬的要求。線程T120進行一個At時間數(shù) 據(jù)的壓縮編碼的耗時應小于At,否則會導致新的At時間數(shù)據(jù)有效時,不能及時進行壓縮 編碼處理。A t時間數(shù)據(jù)包經(jīng)過編碼、壓縮等步驟處理后,存儲于數(shù)據(jù)隊列Pl中,并通知線 程T130。通過數(shù)據(jù)隊列P1的應用,可以靈活調(diào)整每次通過藍牙模塊發(fā)送At時間數(shù)據(jù)包的 個數(shù),優(yōu)化藍牙傳輸階段的有效性。 然后,線程T130處理線程T120所保存數(shù)據(jù)。圖7示出了根據(jù)本發(fā)明實施例的線 程T130控制與數(shù)據(jù)流圖。如圖7所示,線程T130得到線程T120的通知消息后,選擇數(shù)據(jù) 隊列P1中的數(shù)據(jù)通過藍牙模塊的藍牙空口發(fā)出。在通過藍牙模塊發(fā)送該數(shù)據(jù)時,可以采用 藍牙的OPP(Object Push Profile,物體推拉傳輸協(xié)議)、FTP(File Transfer Protocol,文 件傳送協(xié)議)等協(xié)議進行,也可以采用其他協(xié)議進行。數(shù)據(jù)隊列P1中數(shù)據(jù)的選擇方法可以 根據(jù)具體情況進行調(diào)整,可以每次傳輸固定個數(shù)的At時間數(shù)據(jù)包,也可以根據(jù)鏈路情況 動態(tài)調(diào)整,可以在每次調(diào)用藍牙模塊接口進行藍牙傳輸前,將所傳輸At時間數(shù)據(jù)包個數(shù) 信息傳輸至接收端。At時間數(shù)據(jù)包需要在發(fā)送之前經(jīng)過處理,如加入At時間數(shù)據(jù)包結(jié)束 標志,以便接收端能夠判斷一個At時間數(shù)據(jù)包是否已經(jīng)接收完成。 S402、接收端對接收到的音視頻數(shù)據(jù)進行解壓解碼后調(diào)用相應的驅(qū)動接口對所述 音視頻數(shù)據(jù)進行播放。 在該方法中,接收端R100包括數(shù)據(jù)接收模塊Rl 10、數(shù)據(jù)處理模塊R120和驅(qū)動接口 模塊R130。本實施例中應用藍牙模塊和線程T210來實現(xiàn)數(shù)據(jù)接收模塊R110的功能,應用 線程T220來實現(xiàn)數(shù)據(jù)處理模塊R120的功能,應用線程T230來實現(xiàn)驅(qū)動接口模塊R130的 功能。
圖8示出了根據(jù)本發(fā)明實施例的線程T210控制與數(shù)據(jù)流圖。如圖8所示,藍牙模 塊通過藍牙空口接收到發(fā)送端發(fā)來的音視頻數(shù)據(jù)后,通知線程T210接收。線程T210將該 音視頻數(shù)據(jù)存儲到接收數(shù)據(jù)隊列P2中的當前寫入位置。當檢測到一個完整的At時間數(shù) 據(jù)包被接收,如通過At時間數(shù)據(jù)包結(jié)束標志判斷,則將接收到的結(jié)束標志之后得數(shù)據(jù)存 儲于數(shù)據(jù)隊列P2的其他單元之中,并通知線程T220進行數(shù)據(jù)處理。線程T210如果未在預 定的T時間內(nèi)得到一個完整的A t時間數(shù)據(jù)包,則通知上層應用進行錯誤處理,以防止接收 端一直處于數(shù)據(jù)接收狀態(tài)。 然后,線程T220進行音視頻數(shù)據(jù)處理。線程T220接收到線程T210的通知消息, 從接受數(shù)據(jù)隊列P2中取數(shù)據(jù)進行解壓縮、解碼等操作,得到一個A t時間數(shù)據(jù),存于雙緩沖 或多緩沖區(qū),并通知驅(qū)動接口模塊R130進行處理。圖9是示出了根據(jù)本發(fā)明實施例的線程 T220控制與數(shù)據(jù)流圖。如圖9所示,線程T220接收到線程T210的通知消息后,從數(shù)據(jù)隊列 P2的當前讀出位置取出一個At時間數(shù)據(jù)包,進行解壓縮、解碼,恢復出一個At時間數(shù)據(jù) 包內(nèi)的各個數(shù)據(jù)抽樣,存于多緩沖區(qū),例如緩沖區(qū)B3或緩沖區(qū)B4中,并通知線程T230進行 后續(xù)處理。如果之前一個A t時間數(shù)據(jù)包存于緩沖區(qū)B3中,則下一個A t時間數(shù)據(jù)包存于 緩沖區(qū)B4中,S卩A t時間數(shù)據(jù)包數(shù)據(jù)抽樣的保存與處理在兩個緩沖區(qū)之間交替進行。
然后,線程T230實現(xiàn)與驅(qū)動程序的接口功能。線程T230接收到線程T220的通知 消息后,從雙緩沖區(qū)(或多緩沖區(qū))中取出數(shù)據(jù)進行預處理,以符合LCD和音頻CODEC對 RGB、 PCM數(shù)據(jù)的要求,并調(diào)用相應的LCD驅(qū)動程序與音頻驅(qū)動程序。其中,RGB數(shù)據(jù)使用發(fā) 送端RGB抽樣速率進行LCD刷新;PCM數(shù)據(jù)則根據(jù)該PCM的采樣率、采樣位數(shù)、壓縮方式等 信息,調(diào)用音頻驅(qū)動程序播放。 圖10是示出了根據(jù)本發(fā)明實施例的線程T230控制與數(shù)據(jù)流圖。
如圖10所示,線程T230接收到線程T220的通知消息后,從數(shù)據(jù)緩沖區(qū)B3或數(shù)據(jù) 緩沖區(qū)B4中取出一個At時間數(shù)據(jù)包內(nèi)抽樣的音視頻數(shù)據(jù),經(jīng)過PCM數(shù)據(jù)、RGB數(shù)據(jù)分離, RGB數(shù)據(jù)調(diào)整、PCM數(shù)據(jù)調(diào)整,然后調(diào)用LCD驅(qū)動接口和CODEC驅(qū)動接口顯示和播放該抽樣 的音視頻數(shù)據(jù)。PCM、 RGB數(shù)據(jù)分離,RGB數(shù)據(jù)調(diào)整、PCM數(shù)據(jù)調(diào)整等步驟主要是使最終輸入 到LCD驅(qū)動接口和CODEC驅(qū)動接口的數(shù)據(jù)滿足相應接口的要求。對抽樣的音視頻數(shù)據(jù)的處 理方式,對于PCM數(shù)據(jù)和RGB數(shù)據(jù)是不同的,這是由其的信號特點決定,并從數(shù)據(jù)抽樣的采 樣方式反映。 綜上所述,通過本發(fā)明的移動終端和實現(xiàn)移動終端音視頻實時共享的方法,可 以將發(fā)送端所播放的音視頻數(shù)據(jù)同步傳輸?shù)浇邮斩?,由于采用將最終輸出到LCD和音頻 CODEC的數(shù)據(jù)進行發(fā)送,實現(xiàn)了接收端LCD圖像與聲音與發(fā)送端的同步。這樣,可以使接收 端在沒有發(fā)送端播放文件相應解碼器的情況下同步觀看文件,或可以在沒有發(fā)送端媒體硬 件(如C匪B、攝像頭、收音機等)的情況下同步播放媒體,使用戶同步實時共享媒體信息,達 到移動終端間的音視頻實時共享,加大用戶間的交流,增強用戶的多媒體體驗。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技 術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權利要求
一種實現(xiàn)移動終端音視頻實時共享的方法,包括以下步驟A、發(fā)送端記錄將要播放的音視頻數(shù)據(jù),對所述音視頻數(shù)據(jù)進行編碼壓縮后傳輸給接收端;B、接收端對接收到的所述音視頻數(shù)據(jù)進行解壓解碼后調(diào)用相應的驅(qū)動接口對所述音視頻數(shù)據(jù)進行播放。
2. 如權利要求1所述的方法,其特征在于,所述步驟A具體實現(xiàn)為 發(fā)送端以特定的速率定時抽取將要播放的音視頻數(shù)據(jù),按時間順序?qū)⑾噜廇 t時間內(nèi)抽取的音視頻數(shù)據(jù)存儲在不同的緩沖區(qū)中,形成多個At時間數(shù)據(jù)包;輪流編碼壓縮所述不同的緩沖區(qū)中的At時間數(shù)據(jù)包;將編碼壓縮后的At時間數(shù)據(jù)包傳輸給接收端。
3. 如權利要求2所述的方法,其特征在于所述抽取音視頻數(shù)據(jù)具體實現(xiàn)為按照抽取周期定時采樣視頻數(shù)據(jù),并且抽取所述抽取周期內(nèi)完整的音頻數(shù)據(jù)。
4. 如權利要求2所述的方法,其特征在于在所述輪流編碼壓縮所述不同的緩沖區(qū)中 的A t時間數(shù)據(jù)包之后還包括將編碼壓縮后的At時間數(shù)據(jù)包存儲于數(shù)據(jù)隊列中。
5. 如權利要求2所述的方法,其特征在于所述步驟B具體實現(xiàn)為 接收端接收發(fā)送端發(fā)來的所述At時間數(shù)據(jù)包;對所述At時間數(shù)據(jù)包進行解壓解碼后交替存儲于不同的緩沖區(qū)中; 輪流地從所述不同的緩沖區(qū)中取出所述At時間數(shù)據(jù)包中的音視頻數(shù)據(jù)進行分離和 調(diào)整后,調(diào)用LCD驅(qū)動接口和CODEC驅(qū)動接口分別對所述音視頻數(shù)據(jù)進行播放。
6. —種移動終端,包括數(shù)據(jù)記錄模塊,用于記錄所述移動終端的音視頻數(shù)據(jù),然后向第一數(shù)據(jù)處理模塊發(fā)送 一消息;第一數(shù)據(jù)處理模塊,用于接收所述數(shù)據(jù)記錄模塊發(fā)來的消息后對所述音視頻數(shù)據(jù)進行 編碼壓縮,然后通知數(shù)據(jù)發(fā)送模塊;數(shù)據(jù)發(fā)送模塊,用于接收到所述第一數(shù)據(jù)處理模塊發(fā)來的通知后發(fā)送編碼壓縮后的音 視頻數(shù)據(jù)。
7. 如權利要求6所述的移動終端,其特征在于,所述數(shù)據(jù)記錄模塊,具體用于以特定的速率定時抽取本身的音視頻數(shù)據(jù),按時間順序 將相鄰At時間內(nèi)抽取的音視頻數(shù)據(jù)存儲在不同的緩沖區(qū)中,形成多個At時間數(shù)據(jù)包,每 形成一個At時間數(shù)據(jù)包即向所述第一數(shù)據(jù)處理模塊發(fā)送一消息;所述第一數(shù)據(jù)處理模塊,具體用于接收到所述消息后相應地輪流編碼壓縮所述不同的 緩沖區(qū)中的At時間數(shù)據(jù)包,然后通知所述數(shù)據(jù)發(fā)送模塊;所述數(shù)據(jù)發(fā)送模塊,具體用于接收到所述通知后發(fā)送編碼壓縮后的所述At時間數(shù)據(jù)包。
8. 如權利要求6所述的移動終端,其特征在于,還包括數(shù)據(jù)接收模塊,用于接收其它移動終端發(fā)來的音視頻數(shù)據(jù),然后向第二數(shù)據(jù)處理模塊 發(fā)送消息;第二數(shù)據(jù)處理模塊,用于接收所述消息后對所述音視頻數(shù)據(jù)進行解壓解碼,然后通知驅(qū)動接口模塊;驅(qū)動接口模塊,用于接收到所述通知后調(diào)用相應的驅(qū)動接口對所述音視頻數(shù)據(jù)進行顯 示和播放。
9. 如權利要求8所述的移動終端,其特征在于, 所述數(shù)據(jù)接收模塊接收到的音視頻數(shù)據(jù)為第二 At時間數(shù)據(jù)包;所述第二數(shù)據(jù)處理模塊,具體用于對所述第二 At時間數(shù)據(jù)包進行解壓解碼后交替存 儲于不同的緩沖區(qū)中;所述驅(qū)動接口模塊,具體用于輪流地從所述緩沖區(qū)中取出所述第二 At時間數(shù)據(jù)包中 的音視頻數(shù)據(jù)進行分離和調(diào)整后,調(diào)用LCD驅(qū)動接口和CODEC驅(qū)動接口對所述音視頻數(shù)據(jù) 進行播放。
10. —種移動終端,包括數(shù)據(jù)接收模塊,用于接收其它移動終端發(fā)來的音視頻數(shù)據(jù),然后向第三數(shù)據(jù)處理模塊 發(fā)送一消息;第三數(shù)據(jù)處理模塊,用于接收所述消息后對所述音視頻數(shù)據(jù)進行解壓解碼,然后通知 驅(qū)動接口模塊;驅(qū)動接口模塊,用于接收到所述通知后調(diào)用相應的驅(qū)動接口對所述音視頻數(shù)據(jù)進行播放。
全文摘要
本發(fā)明提供一種實現(xiàn)移動終端音視頻實時共享的方法及移動終端,該方法包括步驟A、發(fā)送端記錄將要播放的音視頻數(shù)據(jù),對所述音視頻數(shù)據(jù)進行編碼壓縮后傳輸給接收端;B、接收端對接收到的所述音視頻數(shù)據(jù)進行解壓解碼后調(diào)用相應的驅(qū)動接口對所述音視頻數(shù)據(jù)進行播放。根據(jù)本發(fā)明可以使接收端在沒有發(fā)送端播放文件相應解碼器的情況下同步觀看文件,滿足接收端實時同步顯示和播放發(fā)送端所顯示或播放內(nèi)容,包括各種實體或非實體信息。
文檔編號H04M1/725GK101695090SQ200910205518
公開日2010年4月14日 申請日期2009年10月20日 優(yōu)先權日2009年10月20日
發(fā)明者王冰 申請人:中興通訊股份有限公司;