本發(fā)明實施例涉及視頻領(lǐng)域,并且更具體地,涉及頻道切換的方法及裝置。
背景技術(shù):
OTT是“Over The Top”的縮寫,是指通過互聯(lián)網(wǎng)向用戶提供各種應(yīng)用服務(wù)。這種應(yīng)用和目前運營商所提供的通信業(yè)務(wù)不同,它僅利用運營商的網(wǎng)絡(luò),而服務(wù)則由運營商之外的第三方提供。目前,典型的OTT業(yè)務(wù)有互聯(lián)網(wǎng)電視業(yè)務(wù)(OTT視頻業(yè)務(wù)),蘋果應(yīng)用商店等。
“Over The Top”這個詞匯來源于籃球等體育運動,是“過頂傳球”之意,指的是籃球運動員在他們頭之上來回傳送籃球而達到目的地?;ヂ?lián)網(wǎng)企業(yè)利用電信運營商的寬帶網(wǎng)絡(luò)發(fā)展自己的業(yè)務(wù),如國外的谷歌、蘋果、Skype、Netflix、國內(nèi)的QQ等。如Netflix網(wǎng)絡(luò)視頻以及各種移動應(yīng)用商店里的應(yīng)用就都是OTT。不少OTT服務(wù)商直接面向用戶提供服務(wù)和計費,使運營商淪為單純的“傳輸管道”,根本無法觸及管道中傳輸?shù)木薮髢r值。
OTT視頻業(yè)務(wù)近年來呈現(xiàn)快速發(fā)展的趨勢,不僅傳統(tǒng)的視頻網(wǎng)站進軍OTT領(lǐng)域,傳統(tǒng)的電信運營商也開始涉足OTT業(yè)務(wù)分一杯羹,如德國電信計劃在2016年推出的4K視頻業(yè)務(wù),就是IPTV+OTT的模式。與傳統(tǒng)的IPTV業(yè)務(wù)類似,OTT業(yè)務(wù)主要場景同樣包括直播和點播。不同的是:傳統(tǒng)的IPTV業(yè)務(wù)多采用RTP/RTSP協(xié)議,底層多基于不可靠傳輸?shù)腢DP協(xié)議;而OTT的直播和點播,多采用HLS/DASH/MSS等流媒體協(xié)議,底層基于可靠傳輸?shù)腡CP協(xié)議。而且,電信運營商傳統(tǒng)的IPTV業(yè)務(wù)包含點播和直播,其中直播多采用RTP組播的方式,這種方式對網(wǎng)絡(luò)有較高的要求,通常要求專網(wǎng)專用。如果電信運營商想要在同一網(wǎng)絡(luò)中既提供普通數(shù)據(jù)業(yè)務(wù)(如寬帶上網(wǎng)),同時又提供直播和點播等視頻業(yè)務(wù),那么OTT業(yè)務(wù)比傳統(tǒng)IPTV業(yè)務(wù)更適合,因為OTT業(yè)務(wù)多采用單播的方式。因此,OTT業(yè)務(wù)較之傳統(tǒng)IPTV業(yè)務(wù)的優(yōu)勢是顯而易見的。
然而,傳統(tǒng)的IPTV直播業(yè)務(wù)發(fā)展多年,已經(jīng)形成一套較為穩(wěn)定的CBR組播+倍速單播+組播切換的FCC方案,并形成相應(yīng)的IETF標(biāo)準(zhǔn)(draft-ietf-avt-rapid-acquisition-for-rtp),這可以將IPTV直播下的頻道切換時延控制在1秒左右,引入的時移深度亦可控。而在OTT場景的直播業(yè)務(wù)中,由于底層流化協(xié)議和傳輸方式發(fā)生變化,IPTV的FCC解決方案已經(jīng)不再適用,而OTT采用的主流協(xié)議HLS/DASH/MSS中也沒有FCC相關(guān)的建議或者標(biāo)準(zhǔn),由此使得OTT場景的直播業(yè)務(wù)中,頻道切換時延較大,且頻道切換引入的時移也較大。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種頻道切換方法及裝置,應(yīng)用在OTT視頻業(yè)務(wù),,能夠減少頻道切換過程中的時延,為OTT場景下的直播業(yè)務(wù)提供高效的頻道切換功能。
第一方面,本發(fā)明實施例提供一種頻道切換方法,應(yīng)用在OTT(Over The Top)視頻業(yè)務(wù),所述方法包括:
接收第一頻道的直播碼流,所述第一頻道的直播碼流中包含N個媒體文件集合,其中,第一媒體文件集合中包含n個媒體文件,其中N為大于或等于1的整數(shù),n為大于或等于2的整數(shù),所述第一媒體文件集合為所述N個媒體文件集合中的任意一個媒體文件集合;
采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼,同時生成主流和輔流;所述主流包含所述N個媒體文件集合和主流編碼信息,所述輔流包含所述N個媒體文件集合和輔流編碼信息,所述主流用于直播,所述輔流用于頻道切換;
根據(jù)所述第一頻道的頻道信息、所述主流的編碼信息和所述輔流的編碼信息,生成所述第一頻道的播放列表,所述播放列表用于當(dāng)客戶端發(fā)出頻道切換指令時,指引所述客戶端根據(jù)所述主流和所述輔流進行頻道切換。
第一方面的頻道切換方法是由服務(wù)器執(zhí)行的,服務(wù)器通過采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼生成主流和輔流,其中主流用于直播,輔流則專門用于頻道切換,由此使得發(fā)生頻道切換時由專門的輔流指引進行,從而提高頻道切換的效率。
在第一方面的一種可能的實現(xiàn)方式中,所述采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼,同時生成主流和輔流,包括:
采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼生成主流;
采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼,并在所述第一頻道的直播碼流中插入輔助幀生成輔流。
由于這種實現(xiàn)方式在第一頻道的直播碼流中插入輔助幀生成輔流,這樣為頻道切換時碼流的接入提供了更多的接入點,從而能夠即時的獲取解碼刷新的圖像幀進行播放,使得頻道切換可以有更少的切換時延。
可選的,在這種可能的實現(xiàn)方式中,所述輔助幀包括:可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,所述在所述第一頻道的直播碼流中插入輔助幀生成輔流,具體包括:
在所述第一頻道的直播碼流所包含的N個媒體文件集合中的每一個媒體文件中,將所述切換I幀和所述切換P幀依次插入;所述切換I幀和所述切換P幀用于為所述輔流提供多于所述主流的碼流接入點。
由于輔助幀包括可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,且切換I幀和切換P幀依次插入到直播碼流中生成輔流,這樣,這些切換I幀和切換P幀可以為頻道切換提供多于主流的碼流接入點,使得終端可以根據(jù)這些切換I幀和切換P幀即時的獲取解碼刷新的圖像幀進行播放,從而使頻道切換可以有更少的切換時延。
需要說明的是,此處的依次插入是將切換I幀和切換P幀間隔插入的,且這種插入方式可以是均勻的插入,也可以不做均勻插入而按照其他規(guī)則進行插入。
在第一方面的一種可能的實現(xiàn)方式中,所述n個媒體文件中的每一個媒體文件均包含一個或多個GOP(group of picture畫面組),其中,每一個GOP中包含兩幀或兩幀以上圖像幀;
所述將所述切換I幀和所述切換P幀依次插入具體包括:將所述切換I幀和所述切換P幀按預(yù)設(shè)密度依次插入,其中所述預(yù)設(shè)密度根據(jù)所述GOP的長度設(shè)置,所述GOP的長度由所述GOP所包含的圖像幀的數(shù)目表征。
在第一方面的另一種可能的實現(xiàn)方式中,所述第一頻道的播放列表中包含所述主流的編碼信息、所述輔流的編碼信息、所述第一頻道的ID號以及所述N個媒體文件集合中所包含的媒體文件的下載鏈接。
第二方面,本發(fā)明實施例提供一種頻道切換方法,應(yīng)用在OTT(Over The Top)視頻業(yè)務(wù),所述方法包括:
發(fā)出頻道切換指令,并停止獲取當(dāng)前播放頻道的媒體文件;
向服務(wù)器請求第一頻道的播放列表,所述第一頻道為所述頻道切換指令指示的待切換至的新頻道;
接收所述第一頻道的播放列表,并根據(jù)所述第一頻道的播放列表和主流、輔流進行頻道切換,所述主流和所述輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的。
第二方面的頻道切換方法是由終端執(zhí)行的,終端通過接收第一頻道的播放列表,并根據(jù)第一頻道的播放列表和主流、輔流進行頻道切換,其中主流和輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的,其中主流用于直播,輔流則專門用于頻道切換,由此使得發(fā)生頻道切換時由專門的輔流指引進行,從而提高頻道切換的效率。
在第二方面的一種可能的實現(xiàn)方式中,所述第一頻道的播放列表中包含主流的編碼信息、輔流的編碼信息、所述第一頻道的ID號以及所述第一頻道的直播碼流中包含的N個媒體文件集合中的媒體文件的下載鏈接,所述N為大于或等于1的整數(shù)。
在第二方面的另一種可能的實現(xiàn)方式中,所述根據(jù)所述第一頻道的播放列表和主流、輔流進行頻道切換包括:
根據(jù)所述第一頻道的播放列表選擇所述輔流中離所述頻道切換指令的接收時刻最近的碼流接入點;并根據(jù)所述第一頻道的播放列表中的所述N個媒體文件集合所包含的媒體文件的下載鏈接,下載當(dāng)前媒體文件中尚未播放的圖像幀并播放所述圖像幀,所述當(dāng)前媒體文件為所述輔流中與所述最近的碼流接入點一一對應(yīng)的圖像幀所在的媒體文件;直至所述當(dāng)前媒體文件中的所有圖像幀均播放完畢則切換到所述主流中與所述當(dāng)前媒體文件一一對應(yīng)的媒體文件的下一個媒體文件進行播放。
由于該實現(xiàn)方式為頻道切換提供了輔流,而不僅僅依賴于主流進行頻道切換,我們知道,主流中一個媒體文件只有一個碼流接入點用于接入,且主流的解碼依賴性比較復(fù)雜,而該實現(xiàn)方法中提供的輔流為頻道切換提供了另一種可能,使得發(fā)生頻道切換時可以根據(jù)第一頻道的播放列表選擇輔流中離頻道切換指令的接收時刻最近的碼流接入點進行接入,由此減少了切換時延且引入更少的切換時移。
根據(jù)上一種可能的實現(xiàn)方式,在第二方面的另一種可能的實現(xiàn)方式中,所述方法還包括:
在所述下載當(dāng)前媒體文件中尚未播放的圖像幀之后,所述直至所述當(dāng)前媒體文件中的所有圖像幀均播放完畢之前,下載所述主流中與所述當(dāng)前媒體文件一一對應(yīng)的媒體文件的下一個媒體文件。
這種可能的實現(xiàn)方式在輔流播放完畢之前即開始下載主流中與當(dāng)前媒體文件一一對應(yīng)的媒體文件的下一個媒體文件,這樣,一旦當(dāng)前媒體文件播放完成,就可以直接接入主流的下一個媒體文件開始播放,由此使得輔流和主流之間的切換無縫鏈接,減少切換時延。
在第二方面的又一種可能的實現(xiàn)方式中,所述主流和所述輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的,具體包括:
所述主流為采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼生成的;
所述輔流為采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼,并在所述第一頻道的直播碼流中插入輔助幀生成的。
由于這種實現(xiàn)方式在第一頻道的直播碼流中插入輔助幀生成輔流,這樣為頻道切換時碼流的接入提供了更多的接入點,從而能夠即時的獲取解碼刷新的圖像幀進行播放,使得頻道切換可以有更少的切換時延。
在第二方面的再一種可能的實現(xiàn)方式中,所述輔助幀包括:可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,所述在所述第一頻道的直播碼流中插入輔助幀,具體包括:
在所述第一頻道的直播碼流所包含的N個媒體文件集合中的每一個媒體文件中,將所述切換I幀和所述切換P幀按預(yù)設(shè)密度依次插入;所述切換I幀和所述切換P幀用于為所述輔流提供多于所述主流的碼流接入點。
由于輔助幀包括可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,且切換I幀和切換P幀按照預(yù)設(shè)密度依次插入到直播碼流中生成輔流,這樣,這些切換I幀和切換P幀可以為頻道切換提供多于主流的碼流接入點,使得終端可以根據(jù)這些切換I幀和切換P幀即時的獲取解碼刷新的圖像幀進行播放,從而使頻道切換可以有更少的切換時延。
第三方面,本發(fā)明實施例提供一種頻道切換裝置,應(yīng)用在OTT(Over The Top)視頻業(yè)務(wù),其特征在于,所述裝置包括:
接收模塊,用于接收第一頻道的直播碼流,所述第一頻道的直播碼流中包含N個媒體文件集合,其中,第一媒體文件集合中包含n個媒體文件,其中N為大于或等于1的整數(shù),n為大于或等于2的整數(shù),所述第一媒體文件集合為所述N個媒體文件集合中的任意一個媒體文件集合;
編碼模塊,用于采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼,同時生成主流和輔流;所述主流包含所述N個媒體文件集合和主流編碼信息,所述輔流包含所述N個媒體文件集合和輔流編碼信息,所述主流用于直播,所述輔流用于頻道切換;
播放列表生成模塊,用于根據(jù)所述第一頻道的頻道信息、所述主流的編碼信息和所述輔流的編碼信息,生成所述第一頻道的播放列表,所述播放列表用于當(dāng)客戶端發(fā)出頻道切換指令時,指引所述客戶端根據(jù)所述主流和所述輔流進行頻道切換。
第三方面的頻道切換裝置通過采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼生成主流和輔流,其中主流用于直播,輔流則專門用于頻道切換,由此使得發(fā)生頻道切換時由專門的輔流指引進行,從而提高頻道切換的效率。
在第三方面的一種可能的實現(xiàn)方式中,所述編碼模塊具體用于:
采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼生成主流;
采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼,并在所述第一頻道的直播碼流中插入輔助幀生成輔流。
由于這種實現(xiàn)方式在第一頻道的直播碼流中插入輔助幀生成輔流,這樣為頻道切換時碼流的接入提供了更多的接入點,從而能夠即時的獲取解碼刷新的圖像幀進行播放,使得頻道切換可以有更少的切換時延。
可選的,在這種可能的實現(xiàn)方式中,所述輔助幀包括:可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,所述編碼模塊具體用于:
在所述第一頻道的直播碼流所包含的N個媒體文件集合中的每一個媒體文件中,將所述切換I幀和所述切換P幀依次插入;所述切換I幀和所述切換P幀用于為所述輔流提供多于所述主流的碼流接入點。
由于輔助幀包括可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,且切換I幀和切換P幀依次插入到直播碼流中生成輔流,這樣,這些切換I幀和切換P幀可以為頻道切換提供多于主流的碼流接入點,使得終端可以根據(jù)這些切換I幀和切換P幀即時的獲取解碼刷新的圖像幀進行播放,從而使頻道切換可以有更少的切換時延。
需要說明的是,此處的依次插入是將切換I幀和切換P幀間隔插入的,且這種插入方式可以是均勻的插入,也可以不做均勻插入而按照其他規(guī)則進行插入。
在第三方面的一種可能的實現(xiàn)方式中,所述n個媒體文件中的每一個媒體文件均包含一個或多個GOP(group of picture畫面組),其中,每一個GOP中包含兩幀或兩幀以上圖像幀;
所述編碼模塊具體用于:將所述切換I幀和所述切換P幀按預(yù)設(shè)密度依次插入,其中所述預(yù)設(shè)密度根據(jù)所述GOP的長度設(shè)置,所述GOP的長度由所述GOP所包含的圖像幀的數(shù)目表征。
在第三方面的另一種可能的實現(xiàn)方式中,所述第一頻道的播放列表中包含所述主流的編碼信息、所述輔流的編碼信息、所述第一頻道的ID號以及所述N個媒體文件集合中所包含的媒體文件的下載鏈接。
第四方面,本發(fā)明實施例提供一種頻道切換裝置,應(yīng)用在OTT(Over The Top)視頻業(yè)務(wù),其特征在于,所述裝置包括:
發(fā)送模塊,用于發(fā)出頻道切換指令,并停止獲取當(dāng)前播放頻道的媒體文件;
所述發(fā)送模塊還用于,向服務(wù)器請求第一頻道的播放列表,所述第一頻道為所述頻道切換指令指示的待切換至的新頻道;
接收模塊,用于接收所述第一頻道的播放列表;
頻道切換模塊,用于根據(jù)所述第一頻道的播放列表和主流、輔流進行頻道切換,所述主流和所述輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的。
第四方面的頻道切換裝置通過接收第一頻道的播放列表,并根據(jù)第一頻道的播放列表和主流、輔流進行頻道切換,其中主流和輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的,其中主流用于直播,輔流則專門用于頻道切換,由此使得發(fā)生頻道切換時由專門的輔流指引進行,從而提高頻道切換的效率。
在第四方面的一種可能的實現(xiàn)方式中,所述第一頻道的播放列表中包含主流的編碼信息、輔流的編碼信息、所述第一頻道的ID號以及所述第一頻道的直播碼流中包含的N個媒體文件集合中的媒體文件的下載鏈接,所述N為大于或等于1的整數(shù)。
在第四方面的另一種可能的實現(xiàn)方式中,所述頻道切換模塊具體用于:
根據(jù)所述第一頻道的播放列表選擇所述輔流中離所述頻道切換指令的接收時刻最近的碼流接入點;并根據(jù)所述第一頻道的播放列表中的所述N個媒體文件集合所包含的媒體文件的下載鏈接,下載當(dāng)前媒體文件中尚未播放的圖像幀并播放所述圖像幀,所述當(dāng)前媒體文件為所述輔流中與所述最近的碼流接入點一一對應(yīng)的圖像幀所在的媒體文件;直至所述當(dāng)前媒體文件中的所有圖像幀均播放完畢則切換到所述主流中與所述當(dāng)前媒體文件一一對應(yīng)的媒體文件的下一個媒體文件進行播放。
由于該實現(xiàn)方式為頻道切換提供了輔流,而不僅僅依賴于主流進行頻道切換,我們知道,主流中一個媒體文件只有一個碼流接入點用于接入,且主流的解碼依賴性比較復(fù)雜,而該實現(xiàn)方法中提供的輔流為頻道切換提供了另一種可能,使得發(fā)生頻道切換時可以根據(jù)第一頻道的播放列表選擇輔流中離頻道切換指令的接收時刻最近的碼流接入點進行接入,由此減少了切換時延且引入更少的切換時移。
根據(jù)上一種可能的實現(xiàn)方式,在第四方面的另一種可能的實現(xiàn)方式中,所述頻道切換模塊還用于:
在所述下載當(dāng)前媒體文件中尚未播放的圖像幀之后,所述直至所述當(dāng)前媒體文件中的所有圖像幀均播放完畢之前,下載所述主流中與所述當(dāng)前媒體文件一一對應(yīng)的媒體文件的下一個媒體文件。
這種可能的實現(xiàn)方式在輔流播放完畢之前即開始下載主流中與當(dāng)前媒體文件一一對應(yīng)的媒體文件的下一個媒體文件,這樣,一旦當(dāng)前媒體文件播放完成,就可以直接接入主流的下一個媒體文件開始播放,由此使得輔流和主流之間的切換無縫鏈接,減少切換時延。
在第四方面的又一種可能的實現(xiàn)方式中,所述主流和所述輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的,具體包括:
所述主流為采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼生成的;
所述輔流為采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼,并在所述第一頻道的直播碼流中插入輔助幀生成的。
由于這種實現(xiàn)方式在第一頻道的直播碼流中插入輔助幀生成輔流,這樣為頻道切換時碼流的接入提供了更多的接入點,從而能夠即時的獲取解碼刷新的圖像幀進行播放,使得頻道切換可以有更少的切換時延。
在第四方面的再一種可能的實現(xiàn)方式中,所述輔助幀包括:可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,所述在所述第一頻道的直播碼流中插入輔助幀,具體包括:
在所述第一頻道的直播碼流所包含的N個媒體文件集合中的每一個媒體文件中,將所述切換I幀和所述切換P幀按預(yù)設(shè)密度依次插入;所述切換I幀和所述切換P幀用于為所述輔流提供多于所述主流的碼流接入點。
由于輔助幀包括可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,且切換I幀和切換P幀按照預(yù)設(shè)密度依次插入到直播碼流中生成輔流,這樣,這些切換I幀和切換P幀可以為頻道切換提供多于主流的碼流接入點,使得終端可以根據(jù)這些切換I幀和切換P幀即時的獲取解碼刷新的圖像幀進行播放,從而使頻道切換可以有更少的切換時延。
第五方面,一種支持頻道切換的服務(wù)器,應(yīng)用在OTT(Over The Top)視頻業(yè)務(wù),其特征在于,所述服務(wù)器包括:發(fā)送端口,接收端口,總線,處理器,存儲器,所述總線用于連接所述發(fā)送端口,所述接收端口,所述處理器以及所述存儲器,所述存儲器用于存儲信息:
所述接收端口用于,接收第一頻道的直播碼流,所述第一頻道的直播碼流中包含N個媒體文件集合,其中,第一媒體文件集合中包含n個媒體文件,其中N為大于或等于1的整數(shù),n為大于或等于2的整數(shù),所述第一媒體文件集合為所述N個媒體文件集合中的任意一個媒體文件集合;
所述處理器用于,采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼,同時生成主流和輔流;所述主流包含所述N個媒體文件集合和主流編碼信息,所述輔流包含所述N個媒體文件集合和輔流編碼信息,所述主流用于直播,所述輔流用于頻道切換;
所述處理器還用于,根據(jù)所述第一頻道的頻道信息、所述主流的編碼信息和所述輔流的編碼信息,生成所述第一頻道的播放列表,所述播放列表用于當(dāng)客戶端發(fā)出頻道切換指令時,指引所述客戶端根據(jù)所述主流和所述輔流進行頻道切換;
所述發(fā)送端口用于發(fā)送所述第一頻道的播放列表。
第五方面提供的支持頻道切換的服務(wù)器,通過采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼生成主流和輔流,其中主流用于直播,輔流則專門用于頻道切換,由此使得發(fā)生頻道切換時由專門的輔流指引進行,從而提高頻道切換的效率。
第六方面,一種支持頻道切換的終端,應(yīng)用在OTT(Over The Top)視頻業(yè)務(wù),其特征在于,所述客戶端包括:發(fā)送器、接收器、處理器,
所述發(fā)送器用于發(fā)出頻道切換指令,并停止獲取當(dāng)前播放頻道的媒體文件;
所述發(fā)送器還用于向服務(wù)器發(fā)送請求,所述請求用于請求第一頻道的播放列表,所述第一頻道為所述頻道切換指令指示的待切換至的新頻道;
所述接收器用于接收所述第一頻道的播放列表;
所述處理器用于據(jù)所述第一頻道的播放列表和主流、輔流進行頻道切換,所述主流和所述輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的。
第六方面提供的支持頻道切換的終端,通過接收第一頻道的播放列表,并根據(jù)第一頻道的播放列表和主流、輔流進行頻道切換,其中主流和輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的,其中主流用于直播,輔流則專門用于頻道切換,由此使得發(fā)生頻道切換時由專門的輔流指引進行,從而提高頻道切換的效率。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對本發(fā)明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是編碼后的視頻序列圖;
圖2是本發(fā)明提供的頻道切換方法的一個實施例;
圖3是本發(fā)明提供的頻道切換方法的另一個實施例;
圖4是本發(fā)明提供的頻道切換方法的又一個實施例;
圖5是本發(fā)明提供的頻道切換裝置的一個實施例;
圖6是本發(fā)明提供的頻道切換裝置的另一個實施例;
圖7是本發(fā)明提供的支持頻道切換的服務(wù)器實施例;
圖8是本發(fā)明提供的支持頻道切換的終端實施例。
具體實施方式
本發(fā)明實施例提供頻道切換方法和相關(guān)裝置,以期能夠降低OTT視頻業(yè)務(wù)中的頻道切換時延并減少頻道切換引入的時移。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護的范圍。
本發(fā)明說明書、權(quán)利要求書和附圖中出現(xiàn)的術(shù)語“第一”、“第二”等表述是用于區(qū)別不同的對象,而并非用于描述特定的順序。此外,術(shù)語“包括”和“具有”以及它們?nèi)魏巫冃危鈭D在于覆蓋不排他的包含。例如包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備沒有限定于已列出的步驟或單元,而是可選地還包括沒有列出的步驟或單元,或可選地還包括對于這些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
下面先對本發(fā)明實施例可能涉及的一些概念進行簡單介紹。
OTT(Over The Top)直播的基本原理介紹:
OTT直播一般采用S/C結(jié)構(gòu),包含OTT直播服務(wù)器和客戶端兩部分。OTT直播的每個頻道,一般說來包含1路碼流和1個播放列表文件(playlist)。碼流一般為長度1秒到幾十秒不等的媒體文件集合,該媒體文件稱為分片,也稱分段(segment);播放列表文件中包含碼流的編碼信息、節(jié)目信息,以及各個分片的下載鏈接。
當(dāng)客戶端收看直播頻道時,需要先向直播服務(wù)器請求該頻道的播放列表,并根據(jù)具體的協(xié)議規(guī)范(通常為HLS/DASH/MSS)對播放列表進行解析,得到媒體數(shù)據(jù)對應(yīng)的下載鏈接,進而通過HTTP/TCP協(xié)議下載頻道的分片并播放。
由于直播內(nèi)容是實時的,因此直播服務(wù)器上的播放列表和媒體數(shù)據(jù)也會實時更新。直播服務(wù)器維護一個長度固定的時間窗口,不斷產(chǎn)生新的分片、刪除過期的分片,并定期更新播放列表。相應(yīng)的,客戶端也必須定期去更新播放列表,從而獲取新的分片的下載鏈接。
FCC(Fast Channel Change,快速頻道切換)技術(shù)相關(guān)介紹:
在直播業(yè)務(wù)中,頻道切換時延和引入的時移是用戶體驗的重要指標(biāo)之一。
頻道切換時延是指,從客戶端發(fā)起頻道切換請求開始,到客戶端可以播放新頻道第一幀畫面的時間。時延越小,用戶體驗越好。
頻道切換引入的時移是指,客戶端切換頻道后,播放第一幀畫面時的絕對時間與該畫面的產(chǎn)生時的絕對時間之間的插值。時移越小,用戶看到的畫面越接近直播的實時畫面。
傳統(tǒng)的IPTV直播業(yè)務(wù)發(fā)展多年,已經(jīng)形成一套較為穩(wěn)定的CBR組播+倍速單播+組播切換的FCC方案,并形成相應(yīng)的IETF標(biāo)準(zhǔn)(draft-ietf-avt-rapid-acquisition-for-rtp),頻道切換時延可以達到1秒左右,引入的時移深度可控。
但在OTT場景的直播業(yè)務(wù)中,由于底層流化協(xié)議和傳輸方式發(fā)生變化,IPTV的FCC解決方案已經(jīng)不再適用,而OTT采用的主流協(xié)議HLS/DASH/MSS中也沒有FCC相關(guān)的建議或者標(biāo)準(zhǔn)。
在OTT直播中頻道切換的時延組成包括:
1、停止原頻道播放的時間;
2、獲取新頻道播放列表的時間;
3、等待新頻道SAP的時間;
4、下載新頻道分片的時間;
5、準(zhǔn)備播放新頻道分片的時間;
其中,第2、3、4點是時延的主要組成部分,根據(jù)開發(fā)過程中的實驗數(shù)據(jù),頻道切換時延可達2秒以上。
OTT直播的頻道切換引入的時移取決于分片的長度以及客戶端切換頻道的時間點與分片SAP(Stream Access Point,碼流接入點)之間的距離。以視頻分片長度為10秒為例,切換帶來的時移均值可達5秒。
目前OTT直播頻道切換性能與IPTV相比差距較大,如果不能有效提升OTT直播切換頻道的性能,將對OTT業(yè)務(wù)的推廣產(chǎn)生不利的影響。
視頻編解碼相關(guān)知識
最初由攝像機采集的視頻數(shù)據(jù)是未經(jīng)過編碼壓縮的原始數(shù)據(jù),數(shù)據(jù)量非常大,完全不可能對原始視頻數(shù)據(jù)進行存儲或者網(wǎng)絡(luò)傳輸。為了解決這個問題,通用按照某種編碼標(biāo)準(zhǔn)對原始數(shù)據(jù)進行編碼,目前主流的編碼標(biāo)準(zhǔn)包括H.265,H.264,MPEG2等。編碼后的視頻序列中通常包含I/P/B三種類型的幀,每一幀即一副圖像,編碼后的視頻序列如圖1所示,其中包括I幀可獨立解碼,體積最大,P幀需要依賴I幀和前一P幀進行解碼,體積較小,B幀需要依賴前后2幀來進行解碼,體積最小。圖中的箭頭表明解碼依賴性,箭頭引出的幀解碼需要依賴箭頭指向的幀。
在本發(fā)明的實施例中提到的SAP(stream access point,流接入點)為使用戶從該點接入此流,可以立刻解碼播放。SAP必須是I幀,如果是P或者B幀的話,就算用戶獲取了該幀的數(shù)據(jù),由于該幀解碼需要依賴前面的幀,所以也無法解碼播放。
下面繼續(xù)探討本發(fā)明實施例的技術(shù)方案。
下面先介紹本發(fā)明實施例提供的頻道切換方法,本發(fā)明實施例提供的頻道切換方法的執(zhí)行主體可以是服務(wù)器或者終端,其中,該終端可以是任何可以播放視頻的裝置,如電視,筆記本電腦、平板電腦、個人電腦、手機等設(shè)備。
如圖2所示,本發(fā)明提供的頻道切換方法的一個實施例,一種頻道切換方法100,應(yīng)用在OTT視頻業(yè)務(wù),可以包括:
S101、接收第一頻道的直播碼流,所述第一頻道的直播碼流中包含N個媒體文件集合。
其中,第一媒體文件集合中包含n個媒體文件,其中N為大于或等于1的整數(shù),n為大于或等于2的整數(shù),所述第一媒體文件集合為所述N個媒體文件集合中的任意一個媒體文件集合。
S103、采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼,同時生成主流和輔流;所述主流包含所述N個媒體文件集合和主流編碼信息,所述輔流包含所述N個媒體文件集合和輔流編碼信息,所述主流用于直播,所述輔流用于頻道切換。
S105、根據(jù)所述第一頻道的頻道信息、所述主流的編碼信息和所述輔流的編碼信息,生成所述第一頻道的播放列表,所述播放列表用于當(dāng)客戶端發(fā)出頻道切換指令時,指引所述客戶端根據(jù)所述主流和所述輔流進行頻道切換。
其中,所述第一頻道的頻道信息可以包括頻道標(biāo)識,例如頻道ID。
上述頻道切換方法是由服務(wù)器執(zhí)行的,服務(wù)器通過采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼生成主流和輔流,其中主流用于直播,輔流則專門用于頻道切換處理,由此使得發(fā)生頻道切換時由專門的輔流指引進行,從而提高頻道切換的效率。
需要說明的是,上述方法的步驟可以是同一個服務(wù)器執(zhí)行的,也可以是不同服務(wù)器分開執(zhí)行的,例如服務(wù)器1(我們可以叫它碼流發(fā)生服務(wù)器)執(zhí)行S101和S103,服務(wù)器2(我們可以叫它直播服務(wù)器)執(zhí)行S105,為使得方法實施例不顯得過于零散,此處不再展開,以免贅述。
如圖3所示,在本發(fā)明提供的頻道切換方法的另一個實施例中,其中S103、采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼,同時生成主流和輔流,進一步包括:
S1031、采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼生成主流。
S1032、采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼,并在所述第一頻道的直播碼流中插入輔助幀生成輔流。
具體的,所述輔助幀包括:可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,則進一步的,在S1032中的,所述在所述第一頻道的直播碼流中插入輔助幀生成輔流具體包括:
在所述第一頻道的直播碼流所包含的N個媒體文件集合中的每一個媒體文件中,將所述切換I幀和所述切換P幀依次插入;所述切換I幀和所述切換P幀用于為所述輔流提供多于所述主流的碼流接入點。
需要說明的是,此處的依次插入是將切換I幀和切換P幀間隔插入的,且這種插入方式可以是均勻的插入,也可以不做均勻插入而按照其他規(guī)則進行依次插入。
其中,所述視頻編碼標(biāo)準(zhǔn)可以包括:H.263、H.264、H.265、MPEG1、MPEG2、MPEG4、AVS、REAL8、REAL9、VC1、VP6、VP8、DIVX3、MJPEG等。
為了使讀者更清楚的理解本發(fā)明實施例中的“在所述第一頻道的直播碼流中插入輔助幀生成輔流”,此處先解釋一個概念,即GOP(group of picture),GOP通常指一組包含多幅圖像的視頻序列,通常以可以獨立解碼的I幀開始,并且通常也僅包含1個I幀,下面為一個常見GOP:
I P B B P B B P B B P B B P B B
上述GOP共包含16幀,如果按照普通30幀/秒的視頻規(guī)格,該GOP可以播放約0.53秒。由于視頻序列中,I幀的體積非常大,通常是P幀和B幀的幾倍甚至十幾倍,有時為了降低視頻序列的碼率,會將GOP的長度拉長,可達數(shù)十幀,甚至120幀之多。
在上述實施例中提到的“在所述第一頻道的直播碼流中插入輔助幀生成輔流”中,會在一個分片中插入多個SAP,通常情況下即在一個GOP中插入多個可以獨立解碼的類似I幀(在本發(fā)明實施例中叫做切換I幀)作為SAP,主要作用就是將GOP內(nèi)部解碼依賴性降低,用戶可以在當(dāng)前GOP內(nèi)部多個位置開始播放,而無需等待下一個GOP開始的I幀才能播放。
綜上,由于輔助幀包括可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,且切換I幀和切換P幀依次插入到直播碼流中生成輔流,這樣,這些切換I幀和切換P幀可以為頻道切換提供多于主流的碼流接入點,使得終端可以根據(jù)這些切換I幀和切換P幀即時的獲取解碼刷新的圖像幀進行播放,從而使頻道切換可以有更少的切換時延,并引入更小的切換時移。
在上述實施例的基礎(chǔ)上,本發(fā)明實施例提供的頻道切換方法進一步包括:所述n個媒體文件中的每一個媒體文件均包含一個或多個GOP(group of picture畫面組),其中,每一個GOP中包含兩幀或兩幀以上圖像幀;
所述將所述切換I幀和所述切換P幀依次插入具體包括:將所述切換I幀和所述切換P幀按預(yù)設(shè)密度依次插入,其中所述預(yù)設(shè)密度根據(jù)所述GOP的長度設(shè)置,所述GOP的長度由所述GOP所包含的圖像幀的數(shù)目表征。
在上述所有實施例的基礎(chǔ)上,可選的,所述第一頻道的播放列表中包含所述主流的編碼信息、所述輔流的編碼信息、所述第一頻道的ID號以及所述N個媒體文件集合中所包含的媒體文件的下載鏈接。
其中,所述編碼信息中可以包含編碼標(biāo)準(zhǔn)、音頻交織信息,還可能包含字幕信息。
如圖4所示,本發(fā)明提供的頻道切換方法的一個實施例,一種頻道切換方法200,應(yīng)用在OTT視頻業(yè)務(wù),可以包括:
S201、發(fā)出頻道切換指令,并停止獲取當(dāng)前播放頻道的媒體文件。
S203、向服務(wù)器請求第一頻道的播放列表,所述第一頻道為所述頻道切換指令指示的待切換至的新頻道。
S205、接收所述第一頻道的播放列表,并根據(jù)所述第一頻道的播放列表和主流、輔流進行頻道切換,所述主流和所述輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的。
其中,所述第一頻道的頻道信息可以包括頻道標(biāo)識,例如頻道ID。
上述頻道切換方法是由終端執(zhí)行的,終端通過接收第一頻道的播放列表,并根據(jù)第一頻道的播放列表和主流、輔流進行頻道切換,其中主流和輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的,其中主流用于直播,輔流則專門用于頻道切換,由此使得發(fā)生頻道切換時由專門的輔流指引進行,從而提高頻道切換的效率。
在圖4提供的實施例的基礎(chǔ)上,進一步的,所述實施例還包括:所述第一頻道的播放列表中包含主流的編碼信息、輔流的編碼信息、所述第一頻道的ID號以及所述第一頻道的直播碼流中包含的N個媒體文件集合中的媒體文件的下載鏈接,所述N為大于或等于1的整數(shù)。
其中,步驟S205中的,所述根據(jù)所述第一頻道的播放列表和主流、輔流進行頻道切換具體包括:
根據(jù)所述第一頻道的播放列表選擇所述輔流中離所述頻道切換指令的接收時刻最近的碼流接入點;并根據(jù)所述第一頻道的播放列表中的所述N個媒體文件集合所包含的媒體文件的下載鏈接,下載當(dāng)前媒體文件中尚未播放的圖像幀并播放所述圖像幀,所述當(dāng)前媒體文件為所述輔流中與所述最近的碼流接入點一一對應(yīng)的圖像幀所在的媒體文件;直至所述當(dāng)前媒體文件中的所有圖像幀均播放完畢則切換到所述主流中與所述當(dāng)前媒體文件一一對應(yīng)的媒體文件的下一個媒體文件進行播放。
其中,此處的“下載”可以指終端下載到自己的緩存區(qū)域。
其中,此處的“當(dāng)前媒體文件中尚未播放的圖像幀”可以是一個媒體文件,也可以是一個媒體文件中的部分GOP,甚至可以是媒體文件中GOP的部分圖像幀。
由于該實現(xiàn)方式為頻道切換提供了輔流,而不僅僅依賴于主流進行頻道切換,我們知道,主流中一個媒體文件只有一個碼流接入點用于接入,且主流的解碼依賴性比較復(fù)雜,而該實現(xiàn)方法中提供的輔流為頻道切換提供了另一種可能,使得發(fā)生頻道切換時可以根據(jù)第一頻道的播放列表選擇輔流中離頻道切換指令的接收時刻最近的碼流接入點進行接入,由此減少了切換時延且引入更少的切換時移。
在上述實施例的基礎(chǔ)上,進一步的,本發(fā)明實施例提供的視頻切換方法還包括:
在所述下載當(dāng)前媒體文件中尚未播放的圖像幀之后,所述直至所述當(dāng)前媒體文件中的所有圖像幀均播放完畢之前,下載所述主流中與所述當(dāng)前媒體文件一一對應(yīng)的媒體文件的下一個媒體文件。
這樣,在輔流播放完畢之前即開始下載主流中與當(dāng)前媒體文件一一對應(yīng)的媒體文件的下一個媒體文件,一旦當(dāng)前媒體文件播放完成,就可以直接接入主流的下一個媒體文件開始播放,由此使得輔流和主流之間的切換無縫鏈接,減少切換時延。
在上述實施例的基礎(chǔ)上,在本發(fā)明實施例的S205中:所述主流和所述輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的,具體包括:
所述主流為采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼生成的;
所述輔流為采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼,并在所述第一頻道的直播碼流中插入輔助幀生成的。
具體的,所述輔助幀包括:可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,則所述輔流為在所述第一頻道的直播碼流中插入輔助幀生成的具體包括:
在所述第一頻道的直播碼流所包含的N個媒體文件集合中的每一個媒體文件中,將所述切換I幀和所述切換P幀按預(yù)設(shè)密度依次插入;所述切換I幀和所述切換P幀用于為所述輔流提供多于所述主流的碼流接入點。
需要說明的是,此處的依次插入是將切換I幀和切換P幀間隔插入的,且這種插入方式可以是均勻的插入,也可以不做均勻插入而按照其他規(guī)則進行依次插入。
其中,所述視頻編碼標(biāo)準(zhǔn)可以包括:H.263、H.264、H.265、MPEG1、MPEG2、MPEG4、AVS、REAL8、REAL9、VC1、VP6、VP8、DIVX3、MJPEG等。
為了使讀者更清楚的理解本發(fā)明實施例中的“在所述第一頻道的直播碼流中插入輔助幀生成輔流”,此處先解釋一個上面一直提到的概念,即GOP(group of picture),GOP通常指一組包含多幅圖像的視頻序列,通常以可以獨立解碼的I幀開始,并且通常也僅包含1個I幀,下面為一個常見GOP:
I P B B P B B P B B P B B P B B
上述GOP共包含16幀,如果按照普通30幀/秒的視頻規(guī)格,該GOP可以播放約0.53秒。由于視頻序列中,I幀的體積非常大,通常是P幀和B幀的幾倍甚至十幾倍,有時為了降低視頻序列的碼率,會將GOP的長度拉長,可達數(shù)十幀,甚至120幀之多。
在上述實施例中提到的“在所述第一頻道的直播碼流中插入輔助幀生成輔流”中,會在一個分片中插入多個SAP,通常情況下即在一個GOP中插入多個可以獨立解碼的類似I幀(在本發(fā)明實施例中叫做切換I幀)作為SAP,主要作用就是將GOP內(nèi)部解碼依賴性降低,用戶可以在當(dāng)前GOP內(nèi)部多個位置開始播放,而無需等待下一個GOP開始的I幀才能播放。
綜上,由于輔助幀包括可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,且切換I幀和切換P幀按照預(yù)設(shè)密度依次插入到直播碼流中生成輔流,這樣,這些切換I幀和切換P幀可以為頻道切換提供多于主流的碼流接入點,使得終端可以根據(jù)這些切換I幀和切換P幀即時的獲取解碼刷新的圖像幀進行播放,從而使頻道切換可以有更少的切換時延,并引入更小的切換時移。
如圖5所示,本發(fā)明提供的頻道切換裝置的一個實施例,一種頻道切換裝置500,應(yīng)用在OTT視頻業(yè)務(wù),可以包括:
接收模塊501,用于接收第一頻道的直播碼流,所述第一頻道的直播碼流中包含N個媒體文件集合。
其中,第一媒體文件集合中包含n個媒體文件,其中N為大于或等于1的整數(shù),n為大于或等于2的整數(shù),所述第一媒體文件集合為所述N個媒體文件集合中的任意一個媒體文件集合;
編碼模塊503,用于采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼,同時生成主流和輔流;所述主流包含所述N個媒體文件集合和主流編碼信息,所述輔流包含所述N個媒體文件集合和輔流編碼信息,所述主流用于直播,所述輔流用于頻道切換;
播放列表生成模塊505,用于根據(jù)所述第一頻道的頻道信息、所述主流的編碼信息和所述輔流的編碼信息,生成所述第一頻道的播放列表,所述播放列表用于當(dāng)客戶端發(fā)出頻道切換指令時,指引所述客戶端根據(jù)所述主流和所述輔流進行頻道切換。
其中,所述第一頻道的頻道信息可以包括頻道標(biāo)識,例如頻道ID。
需要說明的是,所述編碼模塊503可能包括一個編碼器,用于對主流和輔流進行編碼;也可能包括兩個編碼器,用于對主流和輔流分別進行編碼。
上述頻道切換裝置500通過采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼生成主流和輔流,其中主流用于直播,輔流則專門用于頻道切換,由此使得發(fā)生頻道切換時由專門的輔流指引進行,從而提高頻道切換的效率。
需要說明的是,上述裝置中的模塊可以在同一個服務(wù)器中,也可以在不同服務(wù)器中分別存在,例如接收模塊501和編碼模塊503在服務(wù)器1中(我們可以叫它碼流發(fā)生服務(wù)器),播放列表生成模塊505在服務(wù)器2(我們可以叫它直播服務(wù)器),為使得方法實施例不顯得過于零散,此處不再展開,以免贅述。
在本發(fā)明提供的頻道切換裝置500的另一個實施例中,其中編碼模塊503具體可以用于:
采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼生成主流;
采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼,并在所述第一頻道的直播碼流中插入輔助幀生成輔流。
具體的,所述輔助幀包括:可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,所述編碼模塊具體用于:
在所述第一頻道的直播碼流所包含的N個媒體文件集合中的每一個媒體文件中,將所述切換I幀和所述切換P幀依次插入;所述切換I幀和所述切換P幀用于為所述輔流提供多于所述主流的碼流接入點。
需要說明的是,此處的依次插入是將切換I幀和切換P幀間隔插入的,且這種插入方式可以是均勻的插入,也可以不做均勻插入而按照其他規(guī)則進行依次插入。
其中,所述視頻編碼標(biāo)準(zhǔn)可以包括:H.263、H.264、H.265、MPEG1、MPEG2、MPEG4、AVS、REAL8、REAL9、VC1、VP6、VP8、DIVX3、MJPEG等。
為了使讀者更清楚的理解本發(fā)明實施例中的“在所述第一頻道的直播碼流中插入輔助幀生成輔流”,此處先解釋一個概念,即GOP(group of picture畫面組),GOP通常指一組包含多幅圖像的視頻序列,通常以可以獨立解碼的I幀開始,并且通常也僅包含1個I幀,下面為一個常見GOP:
I P B B P B B P B B P B B P B B
上述GOP共包含16幀,如果按照普通30幀/秒的視頻規(guī)格,該GOP可以播放約0.53秒。由于視頻序列中,I幀的體積非常大,通常是P幀和B幀的幾倍甚至十幾倍,有時為了降低視頻序列的碼率,會將GOP的長度拉長,可達數(shù)十幀,甚至120幀之多。
在上述實施例中提到的“在所述第一頻道的直播碼流中插入輔助幀生成輔流”中,會在一個分片中插入多個SAP,通常情況下即在一個GOP中插入多個可以獨立解碼的類似I幀(在本發(fā)明實施例中叫做切換I幀)作為SAP,主要作用就是將GOP內(nèi)部解碼依賴性降低,用戶可以在當(dāng)前GOP內(nèi)部多個位置開始播放,而無需等待下一個GOP開始的I幀才能播放。
綜上,由于輔助幀包括可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,且切換I幀和切換P幀依次插入到直播碼流中生成輔流,這樣,這些切換I幀和切換P幀可以為頻道切換提供多于主流的碼流接入點,使得終端可以根據(jù)這些切換I幀和切換P幀即時的獲取解碼刷新的圖像幀進行播放,從而使頻道切換可以有更少的切換時延,并引入更小的切換時移。
在上述實施例的基礎(chǔ)上,本發(fā)明實施例提供的頻道切換裝置500進一步包括:所述n個媒體文件中的每一個媒體文件均包含一個或多個GOP(group of picture),其中,每一個GOP中包含兩幀或兩幀以上圖像幀;
所述編碼模塊具體用于:將所述切換I幀和所述切換P幀按預(yù)設(shè)密度依次插入,其中所述預(yù)設(shè)密度根據(jù)所述GOP的長度設(shè)置,所述GOP的長度由所述GOP所包含的圖像幀的數(shù)目表征。
在上述所有實施例的基礎(chǔ)上,可選的,所述第一頻道的播放列表中包含所述主流的編碼信息、所述輔流的編碼信息、所述第一頻道的ID號以及所述N個媒體文件集合中所包含的媒體文件的下載鏈接。
其中,所述編碼信息中可以包含編碼標(biāo)準(zhǔn)、音頻交織信息,還可能包含字幕信息。
如圖6所示,本發(fā)明提供的頻道切換裝置的一個實施例,一種頻道切換裝置600,應(yīng)用在OTT視頻業(yè)務(wù),可以包括:
發(fā)送模塊601,用于發(fā)出頻道切換指令,并停止獲取當(dāng)前播放頻道的媒體文件;
所述發(fā)送模塊601還用于,向服務(wù)器請求第一頻道的播放列表,所述第一頻道為所述頻道切換指令指示的待切換至的新頻道;
接收模塊603,用于接收所述第一頻道的播放列表;
頻道切換模塊605,用于根據(jù)所述第一頻道的播放列表和主流、輔流進行頻道切換,所述主流和所述輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的。
其中,所述第一頻道的頻道信息可以包括頻道標(biāo)識,例如頻道ID。
上述頻道切換裝置600通過接收第一頻道的播放列表,并根據(jù)第一頻道的播放列表和主流、輔流進行頻道切換,其中主流和輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的,其中主流用于直播,輔流則專門用于頻道切換,由此使得發(fā)生頻道切換時由專門的輔流指引進行,從而提高頻道切換的效率。
在圖6提供的實施例的基礎(chǔ)上,進一步的,所述實施例還包括:所述第一頻道的播放列表中包含主流的編碼信息、輔流的編碼信息、所述第一頻道的ID號以及所述第一頻道的直播碼流中包含的N個媒體文件集合中的媒體文件的下載鏈接,所述N為大于或等于1的整數(shù)。
其中,所述頻道切換模塊605具體用于:根據(jù)所述第一頻道的播放列表選擇所述輔流中離所述頻道切換指令的接收時刻最近的碼流接入點;并根據(jù)所述第一頻道的播放列表中的所述N個媒體文件集合所包含的媒體文件的下載鏈接,下載當(dāng)前媒體文件中尚未播放的圖像幀并播放所述圖像幀,所述當(dāng)前媒體文件為所述輔流中與所述最近的碼流接入點一一對應(yīng)的圖像幀所在的媒體文件;直至所述當(dāng)前媒體文件中的所有圖像幀均播放完畢則切換到所述主流中與所述當(dāng)前媒體文件一一對應(yīng)的媒體文件的下一個媒體文件進行播放。
其中,此處的“下載”可以指終端下載到自己的緩存區(qū)域。
其中,此處的“當(dāng)前媒體文件中尚未播放的圖像幀”可以是一個媒體文件,也可以是一個媒體文件中的部分GOP,甚至可以是媒體文件中GOP的部分圖像幀。
由于該實現(xiàn)方式為頻道切換提供了輔流,而不僅僅依賴于主流進行頻道切換,我們知道,主流中一個媒體文件只有一個碼流接入點用于接入,且主流的解碼依賴性比較復(fù)雜,而該實現(xiàn)方法中提供的輔流為頻道切換提供了另一種可能,使得發(fā)生頻道切換時可以根據(jù)第一頻道的播放列表選擇輔流中離頻道切換指令的接收時刻最近的碼流接入點進行接入,由此減少了切換時延且引入更少的切換時移。
在上述實施例的基礎(chǔ)上,進一步的,本發(fā)明實施例提供的視頻切換裝置中,所述頻道切換模塊605還用于:
在所述下載當(dāng)前媒體文件中尚未播放的圖像幀之后,所述直至所述當(dāng)前媒體文件中的所有圖像幀均播放完畢之前,下載所述主流中與所述當(dāng)前媒體文件一一對應(yīng)的媒體文件的下一個媒體文件。
這樣,在輔流播放完畢之前即開始下載主流中與當(dāng)前媒體文件一一對應(yīng)的媒體文件的下一個媒體文件,一旦當(dāng)前媒體文件播放完成,就可以直接接入主流的下一個媒體文件開始播放,由此使得輔流和主流之間的切換無縫鏈接,減少切換時延。
在上述實施例的基礎(chǔ)上,在本發(fā)明實施例的頻道切換模塊605中:所述主流和所述輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的,具體包括:
所述主流為采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼生成的;
所述輔流為采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼,并在所述第一頻道的直播碼流中插入輔助幀生成的。
具體的,所述輔助幀包括:可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,則所述輔流為在所述第一頻道的直播碼流中插入輔助幀生成的具體包括:
在所述第一頻道的直播碼流所包含的N個媒體文件集合中的每一個媒體文件中,將所述切換I幀和所述切換P幀按預(yù)設(shè)密度依次插入;所述切換I幀和所述切換P幀用于為所述輔流提供多于所述主流的碼流接入點。
需要說明的是,此處的依次插入是將切換I幀和切換P幀間隔插入的,且這種插入方式可以是均勻的插入,也可以不做均勻插入而按照其他規(guī)則進行依次插入。
其中,所述視頻編碼標(biāo)準(zhǔn)可以包括:H.263、H.264、H.265、MPEG1、MPEG2、MPEG4、AVS、REAL8、REAL9、VC1、VP6、VP8、DIVX3、MJPEG等。
為了使讀者更清楚的理解本發(fā)明實施例中的“在所述第一頻道的直播碼流中插入輔助幀生成輔流”,此處先解釋一個上面一直提到的概念,即GOP(group of picture),GOP通常指一組包含多幅圖像的視頻序列,通常以可以獨立解碼的I幀開始,并且通常也僅包含1個I幀,下面為一個常見GOP:
I P B B P B B P B B P B B P B B
上述GOP共包含16幀,如果按照普通30幀/秒的視頻規(guī)格,該GOP可以播放約0.53秒。由于視頻序列中,I幀的體積非常大,通常是P幀和B幀的幾倍甚至十幾倍,有時為了降低視頻序列的碼率,會將GOP的長度拉長,可達數(shù)十幀,甚至120幀之多。
在上述實施例中提到的“在所述第一頻道的直播碼流中插入輔助幀生成輔流”中,會在一個分片中插入多個SAP,通常情況下即在一個GOP中插入多個可以獨立解碼的類似I幀(在本發(fā)明實施例中叫做切換I幀)作為SAP,主要作用就是將GOP內(nèi)部解碼依賴性降低,用戶可以在當(dāng)前GOP內(nèi)部多個位置開始播放,而無需等待下一個GOP開始的I幀才能播放。
綜上,由于輔助幀包括可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,且切換I幀和切換P幀按照預(yù)設(shè)密度依次插入到直播碼流中生成輔流,這樣,這些切換I幀和切換P幀可以為頻道切換提供多于主流的碼流接入點,使得終端可以根據(jù)這些切換I幀和切換P幀即時的獲取解碼刷新的圖像幀進行播放,從而使頻道切換可以有更少的切換時延,并引入更小的切換時移。
如圖7所示,本發(fā)明提供的支持頻道切換的服務(wù)器實施例,一種支持頻道切換的服務(wù)器700,應(yīng)用在OTT視頻業(yè)務(wù),可以包括:
發(fā)送端口701,接收端口703,總線705,處理器707,存儲器709,所述總線705用于連接所述發(fā)送端口701,所述接收端口703,所述處理器707以及所述存儲器709,所述存儲器709用于存儲信息:
所述接收端口703用于,接收第一頻道的直播碼流,所述第一頻道的直播碼流中包含N個媒體文件集合。
其中,第一媒體文件集合中包含n個媒體文件,其中N為大于或等于1的整數(shù),n為大于或等于2的整數(shù),所述第一媒體文件集合為所述N個媒體文件集合中的任意一個媒體文件集合;
所述處理器707用于,采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼,同時生成主流和輔流;所述主流包含所述N個媒體文件集合和主流編碼信息,所述輔流包含所述N個媒體文件集合和輔流編碼信息,所述主流用于直播,所述輔流用于頻道切換;
所述處理器707還用于,根據(jù)所述第一頻道的頻道信息、所述主流的編碼信息和所述輔流的編碼信息,生成所述第一頻道的播放列表,所述播放列表用于當(dāng)客戶端發(fā)出頻道切換指令時,指引所述客戶端根據(jù)所述主流和所述輔流進行頻道切換;
所述發(fā)送端口701用于發(fā)送所述第一頻道的播放列表。
其中,所述第一頻道的頻道信息可以包括頻道標(biāo)識,例如頻道ID。
上述實施例提供的支持頻道切換的服務(wù)器700,通過采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼生成主流和輔流,其中主流用于直播,輔流則專門用于頻道切換,由此使得發(fā)生頻道切換時由專門的輔流指引進行,從而提高頻道切換的效率。
需要說明的是,上述處理器707執(zhí)行的不同功能可以是同一個服務(wù)器中的處理器執(zhí)行的,也可以是不同服務(wù)器中不同的處理器分開執(zhí)行的,例如服務(wù)器1(我們可以叫它碼流發(fā)生服務(wù)器)用于采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼,同時生成主流和輔流,服務(wù)器2(我們可以叫它直播服務(wù)器)用于根據(jù)所述第一頻道的頻道信息、所述主流的編碼信息和所述輔流的編碼信息,生成所述第一頻道的播放列表,所述播放列表用于當(dāng)客戶端發(fā)出頻道切換指令時,指引所述客戶端根據(jù)所述主流和所述輔流進行頻道切換,為使得方法實施例不顯得過于零散,此處不再展開,以免贅述。
在上述實施例的基礎(chǔ)上,本發(fā)明實施例提供的頻道切換服務(wù)器700中的處理器707具體用于:
采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼生成主流;
采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼,并在所述第一頻道的直播碼流中插入輔助幀生成輔流。
具體的,所述輔助幀包括:可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,則進一步的,所述在所述第一頻道的直播碼流中插入輔助幀生成輔流具體包括:
在所述第一頻道的直播碼流所包含的N個媒體文件集合中的每一個媒體文件中,將所述切換I幀和所述切換P幀依次插入;所述切換I幀和所述切換P幀用于為所述輔流提供多于所述主流的碼流接入點。
需要說明的是,此處的依次插入是將切換I幀和切換P幀間隔插入的,且這種插入方式可以是均勻的插入,也可以不做均勻插入而按照其他規(guī)則進行依次插入。
其中,所述視頻編碼標(biāo)準(zhǔn)可以包括:H.263、H.264、H.265、MPEG1、MPEG2、MPEG4、AVS、REAL8、REAL9、VC1、VP6、VP8、DIVX3、MJPEG等。
為了使讀者更清楚的理解本發(fā)明實施例中的“在所述第一頻道的直播碼流中插入輔助幀生成輔流”,此處先解釋一個概念,即GOP(group of picture),GOP通常指一組包含多幅圖像的視頻序列,通常以可以獨立解碼的I幀開始,并且通常也僅包含1個I幀,下面為一個常見GOP:
I P B B P B B P B B P B B P B B
上述GOP共包含16幀,如果按照普通30幀/秒的視頻規(guī)格,該GOP可以播放約0.53秒。由于視頻序列中,I幀的體積非常大,通常是P幀和B幀的幾倍甚至十幾倍,有時為了降低視頻序列的碼率,會將GOP的長度拉長,可達數(shù)十幀,甚至120幀之多。
在上述實施例中提到的“在所述第一頻道的直播碼流中插入輔助幀生成輔流”中,會在一個分片中插入多個SAP,通常情況下即在一個GOP中插入多個可以獨立解碼的類似I幀(在本發(fā)明實施例中叫做切換I幀)作為SAP,主要作用就是將GOP內(nèi)部解碼依賴性降低,用戶可以在當(dāng)前GOP內(nèi)部多個位置開始播放,而無需等待下一個GOP開始的I幀才能播放。
綜上,由于輔助幀包括可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,且切換I幀和切換P幀依次插入到直播碼流中生成輔流,這樣,這些切換I幀和切換P幀可以為頻道切換提供多于主流的碼流接入點,使得終端可以根據(jù)這些切換I幀和切換P幀即時的獲取解碼刷新的圖像幀進行播放,從而使頻道切換可以有更少的切換時延,并引入更小的切換時移。
在上述實施例的基礎(chǔ)上,在本發(fā)明實施例提供的支持頻道切換的服務(wù)器中:所述n個媒體文件中的每一個媒體文件均包含一個或多個GOP(group of picture畫面組),其中,每一個GOP中包含兩幀或兩幀以上圖像幀;
所述處理器具體用于:將所述切換I幀和所述切換P幀按預(yù)設(shè)密度依次插入,其中所述預(yù)設(shè)密度根據(jù)所述GOP的長度設(shè)置,所述GOP的長度由所述GOP所包含的圖像幀的數(shù)目表征。
在上述所有實施例的基礎(chǔ)上,可選的,所述第一頻道的播放列表中包含所述主流的編碼信息、所述輔流的編碼信息、所述第一頻道的ID號以及所述N個媒體文件集合中所包含的媒體文件的下載鏈接。
其中,所述編碼信息中可以包含編碼標(biāo)準(zhǔn)、音頻交織信息,還可能包含字幕信息。
如圖8所示,本發(fā)明提供的支持頻道切換的終端實施例,一種支持頻道切換的終端800,應(yīng)用在OTT視頻業(yè)務(wù),可以包括:發(fā)送器801、接收器803、處理器805,
所述發(fā)送器801用于發(fā)出頻道切換指令,并停止獲取當(dāng)前播放頻道的媒體文件;
所述發(fā)送器801還用于向服務(wù)器發(fā)送請求,所述請求用于請求第一頻道的播放列表,所述第一頻道為所述頻道切換指令指示的待切換至的新頻道;
所述接收器803用于接收所述第一頻道的播放列表;
所述處理器805用于據(jù)所述第一頻道的播放列表和主流、輔流進行頻道切換,所述主流和所述輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的。
其中,所述第一頻道的頻道信息可以包括頻道標(biāo)識,例如頻道ID。
上述實施例提供的支持頻道切換的終端800,通過接收第一頻道的播放列表,并根據(jù)第一頻道的播放列表和主流、輔流進行頻道切換,其中主流和輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的,其中主流用于直播,輔流則專門用于頻道切換,由此使得發(fā)生頻道切換時由專門的輔流指引進行,從而提高頻道切換的效率。
在圖8提供的實施例的基礎(chǔ)上,進一步的,所述實施例還包括:所述第一頻道的播放列表中包含主流的編碼信息、輔流的編碼信息、所述第一頻道的ID號以及所述第一頻道的直播碼流中包含的N個媒體文件集合中的媒體文件的下載鏈接,所述N為大于或等于1的整數(shù)。
其中,所述處理器805具體用于:
根據(jù)所述第一頻道的播放列表選擇所述輔流中離所述頻道切換指令的接收時刻最近的碼流接入點;并根據(jù)所述第一頻道的播放列表中的所述N個媒體文件集合所包含的媒體文件的下載鏈接,下載當(dāng)前媒體文件中尚未播放的圖像幀并播放所述圖像幀,所述當(dāng)前媒體文件為所述輔流中與所述最近的碼流接入點一一對應(yīng)的圖像幀所在的媒體文件;直至所述當(dāng)前媒體文件中的所有圖像幀均播放完畢則切換到所述主流中與所述當(dāng)前媒體文件一一對應(yīng)的媒體文件的下一個媒體文件進行播放。
其中,此處的“下載”可以指終端800下載到自己的緩存區(qū)域。
其中,此處的“當(dāng)前媒體文件中尚未播放的圖像幀”可以是一個媒體文件,也可以是一個媒體文件中的部分GOP,甚至可以是媒體文件中GOP的部分圖像幀。
由于該實施例為頻道切換提供了輔流,而不僅僅依賴于主流進行頻道切換,我們知道,主流中一個媒體文件只有一個碼流接入點用于接入,且主流的解碼依賴性比較復(fù)雜,而該實現(xiàn)方法中提供的輔流為頻道切換提供了另一種可能,使得發(fā)生頻道切換時可以根據(jù)第一頻道的播放列表選擇輔流中離頻道切換指令的接收時刻最近的碼流接入點進行接入,由此減少了切換時延且引入更少的切換時移。
在圖8提供的實施例的基礎(chǔ)上,進一步的,所述處理器805還用于:
在所述下載當(dāng)前媒體文件中尚未播放的圖像幀之后,所述直至所述當(dāng)前媒體文件中的所有圖像幀均播放完畢之前,下載所述主流中與所述當(dāng)前媒體文件一一對應(yīng)的媒體文件的下一個媒體文件。
這樣,在輔流播放完畢之前即開始下載主流中與當(dāng)前媒體文件一一對應(yīng)的媒體文件的下一個媒體文件,一旦當(dāng)前媒體文件播放完成,就可以直接接入主流的下一個媒體文件開始播放,由此使得輔流和主流之間的切換無縫鏈接,減少切換時延。
在圖8提供的實施例的終端800中,所述主流和所述輔流是采用不同編碼方式對所述第一頻道的直播碼流分別進行編碼得到的,具體包括:
所述主流為采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼生成的;
所述輔流為采用視頻編碼標(biāo)準(zhǔn)對所述第一頻道的直播碼流進行編碼,并在所述第一頻道的直播碼流中插入輔助幀生成的。
具體的,所述輔助幀包括:可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,則所述輔流為在所述第一頻道的直播碼流中插入輔助幀生成的具體包括:
在所述第一頻道的直播碼流所包含的N個媒體文件集合中的每一個媒體文件中,將所述切換I幀和所述切換P幀按預(yù)設(shè)密度依次插入;所述切換I幀和所述切換P幀用于為所述輔流提供多于所述主流的碼流接入點。
需要說明的是,此處的依次插入是將切換I幀和切換P幀間隔插入的,且這種插入方式可以是均勻的插入,也可以不做均勻插入而按照其他規(guī)則進行依次插入。
其中,所述視頻編碼標(biāo)準(zhǔn)可以包括:H.263、H.264、H.265、MPEG1、MPEG2、MPEG4、AVS、REAL8、REAL9、VC1、VP6、VP8、DIVX3、MJPEG等。
為了使讀者更清楚的理解本發(fā)明實施例中的“在所述第一頻道的直播碼流中插入輔助幀生成輔流”,此處先解釋一個上面一直提到的概念,即GOP(group of picture),GOP通常指一組包含多幅圖像的視頻序列,通常以可以獨立解碼的I幀開始,并且通常也僅包含1個I幀,下面為一個常見GOP:
I P B B P B B P B B P B B P B B
上述GOP共包含16幀,如果按照普通30幀/秒的視頻規(guī)格,該GOP可以播放約0.53秒。由于視頻序列中,I幀的體積非常大,通常是P幀和B幀的幾倍甚至十幾倍,有時為了降低視頻序列的碼率,會將GOP的長度拉長,可達數(shù)十幀,甚至120幀之多。
在上述實施例中提到的“在所述第一頻道的直播碼流中插入輔助幀生成輔流”中,會在一個分片中插入多個SAP,通常情況下即在一個GOP中插入多個可以獨立解碼的類似I幀(在本發(fā)明實施例中叫做切換I幀)作為SAP,主要作用就是將GOP內(nèi)部解碼依賴性降低,用戶可以在當(dāng)前GOP內(nèi)部多個位置開始播放,而無需等待下一個GOP開始的I幀才能播放。
綜上,由于輔助幀包括可獨立解碼的切換I幀和依賴所述切換I幀解碼的切換P幀,且切換I幀和切換P幀按照預(yù)設(shè)密度依次插入到直播碼流中生成輔流,這樣,這些切換I幀和切換P幀可以為頻道切換提供多于主流的碼流接入點,使得終端可以根據(jù)這些切換I幀和切換P幀即時的獲取解碼刷新的圖像幀進行播放,從而使頻道切換可以有更少的切換時延,并引入更小的切換時移。
本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個模塊或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一個處理單元中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個模塊中。
所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi),因此本發(fā)明的保護范圍應(yīng)以權(quán)利要求的保護范圍為準(zhǔn)。