用于在播放流媒體時實現(xiàn)零秒切臺的方法和設備的制作方法
【專利摘要】本發(fā)明的實施方式提供了用于播放流媒體的方法和設備,其中方法之一包括流媒體在頻點上的所有時隙中的數(shù)據(jù),緩存所接收的數(shù)據(jù),并且分別解析出多個頻道的相應幀。該方法還包括僅解碼并播放當前頻道的幀。通過本發(fā)明的用于播放流媒體的方法和設備,能夠?qū)崿F(xiàn)接近零秒的頻道切換,從而顯著提升用戶體驗。
【專利說明】用于在播放流媒體時實現(xiàn)零秒切臺的方法和設備
[0001]相關(guān)申請的交叉引用
[0002]本申請要求2012年8月7日遞交美國專利局的N0.61/680617號美國臨時專利申請的優(yōu)先權(quán),其全部內(nèi)容通過引用被結(jié)合于此。
【技術(shù)領域】
[0003]本發(fā)明的各實施方式涉及通信領域,并且更具體地,涉及用于播放流媒體的方法和設備。
【背景技術(shù)】
[0004]在手機或其他無線設備上進行播放的傳統(tǒng)的實時流播放程序通常在開始播放之前都需要花費幾秒鐘的時間來準備媒體數(shù)據(jù)。
[0005]圖1示出了傳統(tǒng)的實時多媒體流播放框架結(jié)構(gòu)。如圖1中所示,在傳統(tǒng)的實時多媒體流播放框架結(jié)構(gòu)中僅具有一個控制引擎101、一個數(shù)據(jù)緩沖器102和一個播放引擎103,其工作模式如下:
[0006]I)應用播放器(App player)請求節(jié)目播放,然后控制引擎配置頻道,并且硬件層使用該配置來接收數(shù)據(jù);
[0007]2)在數(shù)據(jù)準備好之后,控制引擎將該數(shù)據(jù)復制到數(shù)據(jù)緩沖器中,并且要求播放引擎來提取這些數(shù)據(jù);
[0008]3)播放引擎將這些數(shù)據(jù)提取到解碼器,并且準備好進行播放。
[0009]此時,如果需要切換到另一個頻道,則需要重復上述過程,這將在能夠?qū)ο乱粋€頻道進行播放之前花費數(shù)秒的時間。
【發(fā)明內(nèi)容】
[0010]因此需要一種既可以降低功耗又可以進行接近零秒的頻道切換的方法和設備。
[0011]為了解決上述問題,本發(fā)明的各實施方式提出了一種有效機制,使得在切換頻道時對準備過程所耗費的時間進行優(yōu)化。對于用戶來說,該方法不需要任何準備過程,而只是直接進行頻道切換并直接對其進行播放。這也就意味著僅需要幾乎零秒來準備媒體數(shù)據(jù)。
[0012]根據(jù)本發(fā)明的一個實施方式,提供了一種用于播放流媒體的方法,流媒體在一個頻點上包括多個頻道的數(shù)據(jù)。方法包括接收流媒體在頻點上的所有時隙中的數(shù)據(jù),緩存所接收的數(shù)據(jù),并且分別解析出多個頻道的相應幀。該方法還包括僅解碼并播放當前頻道的幀。
[0013]根據(jù)本發(fā)明的另一個實施方式,該方法還包括響應于切換到另一頻道的頻道切換請求,停止對當前頻道的幀的解碼和播放,并且將另一頻道設置為新的當前頻道。該方法還包括僅解碼并播放新的當前頻道的幀。
[0014]根據(jù)本發(fā)明的又一個實施方式,該方法還包括設置用于頻道切換的超時時段,如果在超時時段中沒有接收到頻道切換請求,則停止以后臺方式處理除當前頻道以外的頻道。
[0015]根據(jù)本發(fā)明的一個實施方式,該方法還包括如果在超時時段中接收到頻道切換請求,則變更以后臺方式處理的頻道,并且重置超時時段。
[0016]根據(jù)本發(fā)明的另一個實施方式,該方法還包括如果在經(jīng)過超時時段后接收到頻道切換請求,則重新以后臺方式處理除當前頻道以外的頻道,并且重置超時時段。
[0017]根據(jù)本發(fā)明的又一個實施方式,該方法還包括:根據(jù)頻道切換請求的歷史出現(xiàn)情況,預測何時重新以后臺方式處理除當前頻道以外的頻道,并且重置超時時段。
[0018]根據(jù)本發(fā)明的一個實施方式,提供了一種用于播放流媒體的設備。該設備包括控制引擎,控制引擎被配置為接收流媒體在頻點上的所有時隙中的數(shù)據(jù)。該設備還包括多個數(shù)據(jù)緩沖器,多個數(shù)據(jù)緩沖器被配置為緩存所接收的數(shù)據(jù),并且分別解析出多個頻道的相應幀。另外,該設備還包括多個播放引擎,多個播放引擎被配置為僅解碼并播放當前頻道的幀。
[0019]根據(jù)本發(fā)明的另一個實施方式,其中響應于切換到另一頻道的頻道切換請求,控制引擎還被配置為停止對當前頻道的幀的解碼和播放,并且將另一頻道設置為新的當前頻道,播放引擎還被配置為僅解碼并播放新的當前頻道的幀。
[0020]根據(jù)本發(fā)明的又一個實施方式,其中控制引擎還被配置為設置用于頻道切換的超時時段,如果在超時時段中沒有接收到頻道切換請求,則停止以后臺方式運行除對應于當前頻道的播放引擎以外的播放引擎。
[0021]根據(jù)本發(fā)明的一個實施方式,其中控制引擎還被配置為如果在超時時段中接收到頻道切換請求,則變更以后臺方式運行的播放引擎,并且重置超時時段。
[0022]根據(jù)本發(fā)明的另一個實施方式,其中控制引擎還被配置為如果在經(jīng)過超時時段后接收到頻道切換請求,則重新以后臺方式運行除對應于當前頻道的播放引擎以外的播放引擎,并且重置超時時段。
[0023]根據(jù)本發(fā)明的又一個實施方式,其中控制引擎還被配置為根據(jù)頻道切換請求的歷史出現(xiàn)情況,預測何時重新以后臺方式處理除當前頻道以外的頻道,并且重置超時時段。
[0024]根據(jù)本發(fā)明的一個實施方式,提供了一種用戶移動設備,其包括上述用于流媒體頻道切換的設備。
[0025]根據(jù)本發(fā)明的另一個實施方式,提供了一種機頂盒,其包括上述用于流媒體頻道切換的設備。
[0026]根據(jù)本發(fā)明的又一個實施方式,提供了一種用于流媒體頻道切換的裝置。該裝置包括用于接收流媒體在頻點上的所有時隙中的數(shù)據(jù)的部件;用于緩存所接收的數(shù)據(jù),并且分別解析出多個頻道的相應幀的部件;以及用于僅解碼并播放當前頻道的幀的部件。
[0027]根據(jù)本發(fā)明的一個實施方式,該裝置還包括用于響應于切換到另一頻道的頻道切換請求,停止對當前頻道的幀的解碼和播放,并且將另一頻道設置為新的當前頻道的部件;以及用于僅解碼并播放新的當前頻道的幀的部件。
[0028]根據(jù)本發(fā)明的另一個實施方式,該裝置還包括用于設置用于頻道切換的超時時段,如果在超時時段中沒有接收到頻道切換請求,則停止以后臺方式處理除當前頻道以外的頻道的部件。
[0029]根據(jù)本發(fā)明的又一個實施方式,該裝置還包括:用于如果在超時時段中接收到頻道切換請求,則變更以后臺方式處理的頻道,并且重置超時時段的部件。
[0030]根據(jù)本發(fā)明的一個實施方式,該裝置還包括:用于如果在經(jīng)過超時時段后接收到頻道切換請求,則重新以后臺方式處理除當前頻道以外的頻道,并且重置超時時段的部件。
[0031]根據(jù)本發(fā)明的另一個實施方式,該裝置還包括:用于根據(jù)頻道切換請求的歷史出現(xiàn)情況,預測何時重新以后臺方式處理除當前頻道以外的頻道,并且重置超時時段的部件。
[0032]利用本發(fā)明的實施方式,通過預先準備好針對各頻道的數(shù)據(jù),實現(xiàn)了快速、低功耗的流媒體頻道切換。
【專利附圖】
【附圖說明】
[0033]結(jié)合附圖并參考以下詳細說明,本發(fā)明的實施方式的特征、優(yōu)點及其他方面將變得更加明顯,其中:
[0034]圖1示意性地示出傳統(tǒng)的實時多媒體流播放框架結(jié)構(gòu);
[0035]圖2示意性地示出根據(jù)本發(fā)明的實施方式的用于播放流媒體的方法的流程圖;
[0036]圖3示意性地示出根據(jù)本發(fā)明的另一實施方式的頻道切換;以及
[0037]圖4示意性地示出根據(jù)本發(fā)明的實施方式的用于播放流媒體的設備的框圖。
【具體實施方式】
[0038]本發(fā)明的實施方式通過預先準備好下一個頻道數(shù)據(jù),使得當期望切換到下一個頻道時,可以直接對其進行播放,從而極大縮短頻道切換時間,進而顯著提升用戶體驗。在另一個實施方式中,通過設置用于頻道切換的超時時段來改變以后臺方式進行處理的頻道,實現(xiàn)了在快速切換的同時有效地降低功耗,這使得能夠在切換頻道的時間消耗和功率消耗之間獲得良好的折衷。在又一實施方式中,通過基于頻道切換請求的歷史出現(xiàn)情況來預測以后臺方式處理的頻道,使得頻道切換更加智能和高效。
[0039]下面將結(jié)合附圖來詳細描述本發(fā)明的【具體實施方式】。
[0040]圖2是示出了根據(jù)本發(fā)明的實施方式的用于播放流媒體的方法200的流程圖。如圖2所示,在步驟S201中,接收流媒體在頻點上的所有時隙中的數(shù)據(jù)。每個特定頻點可接收若干個頻道,在本實施方式中,接收在該頻點上的所有時隙中的數(shù)據(jù),以用于頻道切換后的播放。在另一實施方式中,接收流媒體所在頻點上的所有時隙中的幀遵從中國移動多媒體廣播CMMB標準。在步驟S202中,緩存所接收的數(shù)據(jù),并且分別解析出多個頻道的相應幀。其中針對接收到的數(shù)據(jù),僅進行復雜度和耗時遠小于解碼的解析操作,而不對其進行解碼。在步驟S203中,僅解碼并播放當前頻道的幀。與步驟S202不同,解碼操作僅對應于當前頻道的幀。在又一實施方式中,該解碼遵從H.264標準。
[0041]盡管在圖中未示出,在一個實施方式中,方法200還包括響應于切換到另一頻道的頻道切換請求,停止對當前頻道的幀的解碼和播放,并且將另一頻道設置為新的當前頻道。該方法還包括僅解碼并播放新的當前頻道的幀。在當前信道的播放過程中,同時進行上述步驟S201-202的操作,即,在播放的同時更新所緩存并經(jīng)解析的流媒體在頻點上的所有時隙中的數(shù)據(jù)。當接收到來自用戶的切換到另一頻道的頻道切換請求時,通過解碼已緩存并經(jīng)解析的數(shù)據(jù),實現(xiàn)了快速的頻道切換,進而極大地提升了用戶體驗。
[0042]在提升頻道切換速度的同時,另一關(guān)鍵問題是如何在實現(xiàn)接近零秒的頻道切換的同時降低功耗。如果在沒有切換頻道的操作時也使三個播放引擎都進行播放,則將對功率造成巨大浪費。因此,在本發(fā)明的一個實施方式中,通過在特定的時間內(nèi),當沒有切換頻道的操作時,停止以后臺方式進行處理的頻道,從而降低了功耗。
[0043]圖3示出了根據(jù)本發(fā)明的實施方式的頻道切換示例。如圖3所示,當前的播放頻道是頻道_2,前一個頻道是頻道_1,并且下一個頻道是頻道_3。當需要切換到前一個頻道或下一個頻道時,在僅有一個用于播放當前頻道的播放引擎和一個用戶緩存數(shù)據(jù)的數(shù)據(jù)緩沖器的情況下,在切換到頻道_1或頻道_3之前需要花費數(shù)秒來準備數(shù)據(jù)。但如果具有三個播放引擎和三個數(shù)據(jù)緩沖器,則根據(jù)以上描述可以實現(xiàn)接近零秒的頻道切換。
[0044]基于上述思想,根據(jù)本發(fā)明的另一個實施方式的方法通過針對切換頻道的操作來設置超時時段,能夠在沒有切換頻道的操作時避免后臺播放引擎的工作,其關(guān)鍵處理過程如下:
[0045]I)應用程序設置超時時段并且啟動后臺播放引擎(用于頻道_1和頻道_3的播放引擎);
[0046]2)如果在超時時段中沒有接收到頻道切換請求,則停止以后臺方式處理除當前頻道以外的頻道;
[0047]3)如果應用程序得知在該超時時段內(nèi)存在切換頻道的操作,諸如切換到頻道_3的操作,則將停止用于頻道_1的播放引擎并且啟動用于頻道_4的播放引擎,同時重置超時時段。此時,頻道_3是當前播放頻道。即,如果在超時時段中接收到頻道切換請求,則變更以后臺方式處理的頻道,并且重置超時時段;
[0048]4)如果在經(jīng)過超時時段后接收到頻道切換請求,則重新以后臺方式處理除當前頻道以外的頻道,并且重置超時時段。
[0049]由于處理4),該方法并不是真正的接近零秒的切換頻道的操作,但是對于實現(xiàn)接近零秒的切換頻道和節(jié)省功率是一個折衷??梢栽O置特殊的超時時段以降低處理4)發(fā)生的概率。
[0050]在又一實施方式中,還可根據(jù)頻道切換請求的歷史出現(xiàn)情況來預測何時重新以后臺方式處理除當前頻道以外的頻道,并且重置超時時段。
[0051]圖4是示出了根據(jù)本發(fā)明的實施方式的用于播放流媒體的設備400的框圖。如圖4所示,設備400包括控制引擎401,多個數(shù)據(jù)緩沖器402-1至402_n,以及多個播放引擎403-1至403-n。其中,控制引擎401被配置為接收流媒體在頻點上的所有時隙中的數(shù)據(jù),多個播放引擎403-1至403-n被配置為緩存所接收的數(shù)據(jù),并且分別解析出多個頻道的相應幀,而多個播放引擎403-1至403-n被配置為僅解碼并播放當前頻道的幀。具體地,首先,應用播放器請求節(jié)目播放,然后控制引擎配置多個頻道,并且硬件層將使用該配置來接收數(shù)據(jù)。其次,在數(shù)據(jù)準備好之后,控制引擎將多個頻道數(shù)據(jù)復制到多個數(shù)據(jù)緩沖器中,并且要求多個播放引擎來提取這些數(shù)據(jù)。然后,播放引擎將這些數(shù)據(jù)提取到解碼器,并且準備好進行播放。最后,應用播放器播放當前與播放引擎相對應的頻道節(jié)目。此時,如果期望切換到下一個頻道,則僅需要選擇另一個播放引擎,而不需要重復上述過程。因此,切換播放頻道所花費的時間幾乎是可忽略的。
[0052]在另一個實施方式中,響應于切換到另一頻道的頻道切換請求,控制引擎還被配置為停止對當前頻道的幀的解碼和播放,并且將另一頻道設置為新的當前頻道,播放引擎還被配置為僅解碼并播放新的當前頻道的幀。
[0053]在又一個實施方式中,控制引擎還被配置為設置用于頻道切換的超時時段,如果在超時時段中沒有接收到頻道切換請求,則停止以后臺方式運行除對應于當前頻道的播放引擎以外的播放引擎。在一個實施方式中,控制引擎還被配置為如果在超時時段中接收到頻道切換請求,則變更以后臺方式運行的播放引擎,并且重置超時時段。在另一個實施方式中,控制引擎還被配置為如果在經(jīng)過超時時段后接收到頻道切換請求,則重新以后臺方式運行除對應于當前頻道的播放引擎以外的播放引擎,并且重置超時時段。
[0054]在又一個實施方式中,控制引擎還被配置為根據(jù)頻道切換請求的歷史出現(xiàn)情況,預測何時重新以后臺方式處理除當前頻道以外的頻道,并且重置超時時段。
[0055]另外,本發(fā)明還可體現(xiàn)在包括上述用于流媒體頻道切換的設備的用戶移動設備以及機頂盒中。
[0056]綜上,結(jié)合附圖對本發(fā)明的各個實施方式進行了詳細的描述。本領域技術(shù)人員可以理解本發(fā)明的實施方式可以通過硬件、軟件、固件、模塊或者其結(jié)合來實現(xiàn),也可以在供任何合適數(shù)據(jù)處理系統(tǒng)使用的信號承載介質(zhì)上所設置的計算機程序產(chǎn)品中體現(xiàn)本發(fā)明。這種信號承載介質(zhì)可以是傳輸介質(zhì)或用于機器可讀信息的可記錄介質(zhì),包括磁介質(zhì)、光介質(zhì)或其他合適介質(zhì)??捎涗浗橘|(zhì)的示例包括:硬盤驅(qū)動器中的磁盤或軟盤、用于光驅(qū)的光盤、磁帶,以及本領域技術(shù)人員所能想到的其他介質(zhì)。本領域技術(shù)人員應該認識到,具有合適編程裝置的任何通信終端都將能夠執(zhí)行如程序產(chǎn)品中體現(xiàn)的本發(fā)明方法的步驟。
[0057]應當注意,為了使本發(fā)明更容易理解,上面的描述省略了對于本領域的技術(shù)人員來說是公知的、并且對于本發(fā)明的實現(xiàn)可能是必需的更具體的一些技術(shù)細節(jié)。
[0058]盡管已經(jīng)公開了本發(fā)明的特定實施方式,但本領域技術(shù)人員將理解可針對特定的實施方式做出改變而不會偏離本發(fā)明的精神和范圍。因此,本發(fā)明不限于特定的實施方式,并且所附權(quán)利要求包含本發(fā)明范圍內(nèi)的任何和所有這樣的應用、修改和實施方式。
【權(quán)利要求】
1.一種用于播放流媒體的方法,所述流媒體在一個頻點上包括多個頻道的數(shù)據(jù),所述方法包括: 接收所述流媒體在所述頻點上的所有時隙中的數(shù)據(jù); 緩存所接收的數(shù)據(jù),并且分別解析出所述多個頻道的相應幀;以及 僅解碼并播放當前頻道的幀。
2.根據(jù)權(quán)利要求1的方法,還包括:響應于切換到另一頻道的頻道切換請求: 停止對所述當前頻道的幀的解碼和播放; 將所述另一頻道設置為新的當前頻道;以及 僅解碼并播放所述新的當前頻道的幀。
3.根據(jù)權(quán)利要求1所述的方法,還包括:設置用于頻道切換的超時時段,如果在所述超時時段中沒有接收到所述頻道切換請求,則停止以后臺方式處理除所述當前頻道以外的頻道。
4.根據(jù)權(quán)利要求3所述的方法,還包括:如果在所述超時時段中接收到所述頻道切換請求,則變更以后臺方式處理的頻道,并且重置所述超時時段。
5.根據(jù)權(quán)利要求3所述的方法,還包括:如果在經(jīng)過所述超時時段后接收到所述頻道切換請求,則重新以后臺方式處理除所述當前頻道以外的頻道,并且重置所述超時時段。
6.根據(jù)權(quán)利要求3所述的方法,還包括:根據(jù)所述頻道切換請求的歷史出現(xiàn)情況,預測何時重新以后臺方式處 理除所述當前頻道以外的頻道,并且重置所述超時時段。
7.一種用于播放流媒體的設備,包括: 控制引擎,所述控制引擎被配置為接收所述流媒體在所述頻點上的所有時隙中的數(shù)據(jù); 多個數(shù)據(jù)緩沖器,所述多個數(shù)據(jù)緩沖器被配置為緩存所接收的數(shù)據(jù),并且分別解析出所述多個頻道的相應幀;以及 多個播放引擎,所述多個播放引擎被配置為僅解碼并播放當前頻道的幀。
8.根據(jù)權(quán)利要求7的設備,其中響應于切換到另一頻道的頻道切換請求,所述控制引擎還被配置為停止對所述當前頻道的幀的解碼和播放,并且將所述另一頻道設置為新的當前頻道,所述播放引擎還被配置為僅解碼并播放所述新的當前頻道的幀。
9.根據(jù)權(quán)利要求7所述的設備,其中所述控制引擎還被配置為設置用于頻道切換的超時時段,如果在所述超時時段中沒有接收到所述頻道切換請求,則停止以后臺方式運行除對應于所述當前頻道的播放引擎以外的播放引擎。
10.根據(jù)權(quán)利要求9所述的設備,其中所述控制引擎還被配置為如果在所述超時時段中接收到所述頻道切換請求,則變更以后臺方式運行的播放引擎,并且重置所述超時時段。
11.根據(jù)權(quán)利要求9所述的設備,其中所述控制引擎還被配置為如果在經(jīng)過所述超時時段后接收到所述頻道切換請求,則重新以后臺方式運行除對應于所述當前頻道的播放引擎以外的播放引擎,并且重置所述超時時段。
12.根據(jù)權(quán)利要求9所述的設備,其中所述控制引擎還被配置為根據(jù)所述頻道切換請求的歷史出現(xiàn)情況,預測何時重新以后臺方式處理除所述當前頻道以外的頻道,并且重置所述超時時段。
13.一種用戶移動設備,包括根據(jù)權(quán)利要求7至12中任一項所述的用于流媒體頻道切換的設備。
14.一種機頂盒,包括根據(jù)權(quán)利要求7至12中任一項所述的用于流媒體頻道切換的設備。
15.一種用于流媒體頻道切換的裝置,包括: 用于接收所述流媒體在所述頻點上的所有時隙中的數(shù)據(jù)的部件; 用于緩存所接收的數(shù)據(jù),并且分別解析出所述多個頻道的相應幀的部件;以及 用于僅解碼并播放當前頻道的幀的部件。
16.根據(jù)權(quán)利要求15的裝置,還包括:用于響應于切換到另一頻道的頻道切換請求,停止對所述當前頻道的幀的解碼和播放,并且將所述另一頻道設置為新的當前頻道的部件;以及 用于僅解碼并播放所述新的當前頻道的幀的部件。
17.根據(jù)權(quán)利要求15所述的裝置,還包括:用于設置用于頻道切換的超時時段,如果在所述超時時段中沒有接收到所述頻道切換請求,則停止以后臺方式處理除所述當前頻道以外的頻道的部件。
18.根據(jù)權(quán)利要求17所述的裝置,還包括:用于如果在所述超時時段中接收到所述頻道切換請求,則變更以后臺方式處理的頻道,并且重置所述超時時段的部件。
19.根據(jù)權(quán)利要求17所述的裝置,還包括:用于如果在經(jīng)過所述超時時段后接收到所述頻道切換請求,則重新以后臺方式處理除所述當前頻道以外的頻道,并且重置所述超時時段的部件。
20.根據(jù)權(quán)利要求17所述的裝置,還包括:用于根據(jù)所述頻道切換請求的歷史出現(xiàn)情況,預測何時重新以后臺方式處理除所述當前頻道以外的頻道,并且重置所述超時時段的部件。
【文檔編號】H04N21/43GK103581715SQ201310284952
【公開日】2014年2月12日 申請日期:2013年7月4日 優(yōu)先權(quán)日:2012年8月7日
【發(fā)明者】夏斌強, 左建春, 林世勤 申請人:馬維爾國際有限公司