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