專利名稱:用于數字視頻流的快速啟動的制作方法
技術領域:
本發明一般涉及用于數字視頻流技術。
背景技術:
隨著數字視頻流技術(例如視頻點播(VOD)系統)的出現,用戶在從視頻服務器接收數據時,或多或少能夠看到和聽到數字視頻。
在視頻流入時,隨著數據下載到用戶的接收設備(如計算機或機頂盒)上,輸入視頻流一般緩存于該接收設備。而在某些規定點(一般在緩沖器滿時),將視頻內容呈現給用戶。隨著視頻內容的播放,接收設備清空存儲在緩沖器中的數據。然而,在接收設備播放所存儲視頻的同時,會下載更多的數據,以重填緩沖器。只要數據能下載得至少如其播放一樣快,文件就能流暢地播放。
MPEG主要的數字視頻壓縮與傳輸格式來自一個稱為MPEG(運動圖像專家組)的系列。這是用于以數字壓縮格式編碼音視頻信息(如影片、視頻、音樂之類)的標準的系列名。
為了解釋視頻流技術的方便,在此一般性地討論與描述MPEG系列視頻流。但是,那些本領域的技術人員會理解并意識到還存在并可以使用其它類似的數字視頻壓縮與傳輸格式。
當然,還有其它的數字視頻壓縮與傳輸格式,例如H.264編解碼器。本領域的普通技術人員將會理解如何將這里所述的與MPEG有關的概念應用于其它格式。
GOP與幀MPEG視頻流一般由一系列稱為圖像組(GOP)的分段來定義。一般而言,GOP由一組圖像構成,當按其所需要的速度顯示該組圖像時,需要在短時段(如1/2秒)內順序顯示。
GOP一般包括三種幀·內幀(I幀);·預測幀(P幀);和·雙向預測幀(B幀)。
對于GOP中可以使用的幀數沒有特別的限制,在一個視頻序列中也不要求所有的GOP中的圖像數量相等。
I幀是編碼的靜止圖像。其不依賴于解碼器已經接收到的任何其它幀。每個GOP一般只有一個I幀。由于它是存取其所關聯的GOP的入口,所以有時將其稱為隨機存取點(或“RAP”)。
從視頻流解碼器的觀點看,P幀是從最近重構的I或P幀預測的。P幀(例如幀120p)需要來自先前解壓的錨幀(如I幀或P幀)的數據以使其能夠解壓。
而以視頻流編碼器與發射機的觀點來看,B幀是從最接近的兩個I或P幀(過去一幀和將來一幀)預測的。B幀(例如幀132p)需要來自之前的和之后的錨幀(如I幀或P幀)的數據以解碼其圖像。它是雙向依賴的。
當然,其它的數字視頻壓縮與傳輸格式(例如H.264編解碼器)可以使用其它的標簽、一些不同類型和不同的幀間關系。舉例來說,在H.264中,幀類型、幀的依賴關系和幀的順序比在MPEG中更加去耦。在H.264中,I幀可獨立解碼,并也是隨機存取點。而且,幀定義了顯示順序(如MPEG一樣)。但是,其它幀的關聯與MPEG的P幀和B幀的關聯不同。
如此,本領域的普通技術人員將會理解如何將這里所述與MPEG有關的概念應用于其它格式。
傳輸與顯示時間線圖1示出了同一MPEG視頻流的兩種表現。第一種是傳輸時間線100t,另一種是顯示時間線100p。
傳輸時間線100t從由視頻流編碼器和發射機傳輸的角度示出了視頻流。另外,也可從該視頻流傳輸的接收機的角度來看。
如圖1所示,I幀(如100t和150t)一般在時間上長于在傳輸時間線中的其它幀。由于它不利用來自任何其它幀的數據,所以它包含了產生一幅用于顯示的完整圖像所必需的所有數據。因此,I幀比任何其它幀包括了更多的數據。由于I幀比其它幀具有更多數據,因而它一般需要比其它幀類型更多的傳輸(當然還有接收)時間。
圖1還示出了傳輸時間線100t的P幀(例如120t)和B幀(例如130t和132t)。相對于B幀,在傳輸時間線中P幀在時間上更長,因為它們一般比B幀包括了更多的數據。然而,P幀一般在時間上比I幀短,因為它們比I幀包括更少的數據。由于B幀依賴于來自至少兩個其它幀的數據,所以它們一般不象(依賴于一個其它幀的)P幀那樣,需要它們自身那么多的數據來解碼其圖像。
圖1還從由視頻解碼器和顯示器顯示的角度示出了該視頻流的顯示時間線100p。與其傳輸時長相反,每個幀(無論其類型)的顯示時長是嚴格相同的。換句話說,它按固定頻率顯示。
視頻流的輸入幀按固定頻率(如每秒24幀(fps))來解碼、緩沖,然后顯示,以對用戶產生相對流暢的運動圖像顯示。在用以傳送NTSC視頻的MPEG 2中,場速率是固定的,而每個MPEG 2圖像可以產生1、2或3個場。需要場圖像以產生1個場,而幀圖像可能產生2或3個場。因此,幀圖像顯示速率可以是不固定的,但并不由這些幀圖像的傳輸速率控制。
圖1還示出了在其顯示時間線中的典型的解碼MPEG GOP 105。這一GOP的例子包括一個I幀110p、六個P幀(如120p)和14個B幀(如130p和132p)。一般而言,每個GOP包括以I幀(如幀110p)開頭的一系列連續顯示的解碼幀。
傳輸與顯示的順序如圖1所示,顯示幀的順序一般與傳輸這些幀被的順序不直接匹配。在圖1中傳輸時間線100t和顯示時間線100p的幀間所示的箭頭示出了幀在接收和顯示之間重新排序的典型方式。每個箭頭的尾部都有一個點(即圓圈),其錨定在某個傳輸幀的末端。每個箭頭的頭部都有一個箭頭指向其相應的顯示幀。
舉例來說,傳輸I幀110t對應于顯示I幀110p。實際上它們是同一幀,但它們的時間線表示指示出它們不同的表現。
回到這一示例的解釋,傳輸P幀120t對應于顯示P幀120p。傳輸B幀130t和132t對應于顯示B幀130p和132p。如在圖1中所示,在傳輸時間線100t中這些B幀130t和132t在它們的P幀120t后面被解碼、發送、接收和解碼,但在顯示時間線100p中它們相應的顯示B幀卻在它們的P幀120p前面被顯示。值得注意的是編碼器一般按幀最終顯示的相同順序接收未壓縮形式的幀,而編碼器一般在壓縮這些幀前進行幀的重新排序。
而且,下一個要傳送的GOP開始于I幀150t,但在這一新的GOP開始后一般出現兩個B幀134t和136t。如在圖1中所示,在該新GOP的I幀150p的顯示之前,順序顯示落后的B幀134p和136p。
GOP顯示延遲圖1示出了一個示例GOP的I幀110t時間上在點T1開始被首先接收,但它直到點T2才被首先顯示。這兩個點之間的時間差在此稱為“GOP顯示延遲”,在圖1中標為170。它代表了從接收機第一次開始接收GOP的第一幀(一般是I幀)到設備第一次顯示該GOP的第一幀的延遲。
這一延遲有很多原因。某些是視頻流技術的自然結果,而另一些則是強加于該過程中以解決已知的技術問題。GOP顯示延遲的某些原因包括·接收幀傳輸需要的時間與顯示幀需要的時間之間的差異;·對幀進行解碼需要的時間(特別是考慮到解碼的幀間依賴);以及·為便于幀的流暢顯示而無需等待幀的傳輸或解碼的內建延遲。
這些原因的細節和對其它原因的認識對于本領域技術人員是已知的。
視頻流顯示啟動延遲為了在某個視頻流技術環境(例如數字線纜)中調諧頻道,接收機接收視頻流,并等待對該視頻流存取點。直到接收存儲點,頻道才能發生改變。從用戶的角度看,這可以導致較長的頻道變換時間。
圖2在280示出了視頻流顯示啟動延遲的示例。啟動延遲是用戶所經歷的實際延遲。它包括請求某特定視頻流時和來自該特定視頻流的GOP的第一幀的實際顯示之間的延遲。如在圖2中所示,啟動延遲280包括(上面所討論的)GOP顯示延遲270。
這一示例參照圖2來解釋。以I幀210t開始的GOP正被傳送。這在傳輸時間線200t中示出。接收機在請求點R調諧到這一視頻流。這一選擇示出為用戶使用遙控器260選擇視頻流頻道。
此外,這是一個用作解釋性目的的示例。這一點R可以是GOP開始后(即在其I幀210t開始后)的任何時刻。
為了存取該視頻流,接收機必須等待隨機存取點(或RAP)。在本示例中,每個GOP都有一個RAP。I幀就是典型RAP的實例。所以,每個GOP都有一個I幀。這樣,接收機在可以如傳輸時間線200t所示存取該視頻流傳輸前必須等待下一個I幀(在下一個GOP的開頭)。
一旦接收機在其緩沖器中具有了I幀,就可以往回參照它進行P和B幀的依賴解碼。因此,傳統的系統在其可以對(有用地)幀進行緩沖之前必須等待RAP。
在圖2中,接收機在點M1從I幀250t開始對下一個GOP進行緩沖。這樣,可以向用戶最終顯示的第一幀就是I幀250t,因為它是在接收器加入該視頻流的點之后視頻流中的第一個RAP。由于(上面所討論的)GOP顯示延遲,實際上在點M2(從顯示時間線200p的I幀250p)開始顯示該GOP,這也是啟動延遲280的顯示啟動點S。
如屏幕262-266所演示,啟動延遲是用戶所經歷的實際延遲。用戶在請求點R(例如使用遙控器260)選擇視頻流頻道,并看到空白屏幕,如屏幕262所示。當然,可能有信息顯示在那里(例如電子節目信息),但由于它不是所期望的視頻流內容,因此等效于空白的。
屏幕264示出即使在當前接收下一個GOP后該屏幕仍然是空白的。屏幕266示出幀250p的第一個圖像最終向用戶顯示。
這一啟動延遲的平均長度與平均GOP長度直接成比例。某些視頻流提供器使用相對長的平均GOP長度。在這些情況下,這一延遲就更為劇烈,因為用戶在她改變頻道后等待下一個GOP到來的時間更長。
簡短來說,這一啟動延遲對于一般用戶是非常煩惱的,并且會試驗他們的耐心。
發明內容
在此所描述的是一種便于數字視頻流顯示的技術。在此所描述的一個實現減少了在系統調諧到視頻流時發生的顯示視頻內容的第一幀的實際啟動延遲。
本發明內容本身無意限制本專利的范圍。而且,本專利的題目也無意限制本專利的范圍。為了更好地理解本發明,請結合附圖,參見以下的詳細描述和所附權利要求書。本發明的范圍在所附權利要求書中指出。
在整個附圖中用相同的數字指代類似的部分和特性。
圖1是示出典型的視頻流傳輸時間線和其相應的顯示時間線的圖。
圖2是用典型的視頻流傳輸時間線和其相應的顯示時間線示出顯示啟動延遲的圖。
圖3是按照在此所描述的利用單一可選視頻流的實現,使出新的顯示啟動延遲的圖。
圖4是按照在此所描述的利用多個可選視頻流的另一個實現,示出新的顯示啟動延遲的圖。
圖5是示出在此所描述的方法實現的流程圖。
圖6是示出在此所描述的方法實現的流程圖。
圖7示出了利用在此所描述的實現示例性環境。
圖8示出了示例顯示設備、電視和與該顯示設備交互的多種輸入設備。
圖9是示出圖7與8中所示的示例顯示設備的各部件的框圖。
具體實施例方式
在以下的描述中,為了解釋目的,提出了特定的數字、材料和配置,以提供對本發明的透徹理解。然而,對本領域技術人員顯而易見的是,本發明可以無需這些特定的示例性細節也可以實現。在其它情況下,省略或簡化了眾所周知的特性,以闡明本發明的示例性實現的描述,從而能更好地解釋本發明。而且,為了理解容易,某些方法步驟被描繪成分開的步驟;但是,這些分開描述的步驟不應理解為必需依賴于它們出現的順序。
以下的描述提出了用于數字視頻流的快速啟動的一個或多個示例性實現,其結合了在所附權利要求書中敘述的部分。這些實現以特征來描述,以便符合法定的書面描述、實現和最佳模式要求。但是,該描述本身無意限制本專利的范圍。
發明者期望這些示例性實現成為示例。發明者不期望這些示例性實現限制所要求保護的本發明的范圍;而是,發明者預期所要求保護的本發明還可以基和其它現有或未來的技術,以其它的方式來具體化和實現。
用于數字視頻流的快速啟動的實施例可以稱為“示例性快速啟動系統”。
為了解釋的方便,數字視頻流在此按照MPEG系列標準格式來討論與描述。但是,本領域的技術人員會理解并意識到,還有其它這樣的數字視頻壓縮與傳輸格式存在。
介紹在此所描述的要求保護的本發明一個或多個示例性實現可以由(圖7-9的)顯示設備708和/或如圖7中所示出的計算環境的部分來(整體或部分地)實現。
為了在數字視頻組播(如IP組播)環境下調諧頻道,接收機接收組播視頻數據流,并等待對該視頻流的存取點。這有時候稱為隨機存取點(RAP)。直到接收RAP,頻道改變才會發生。這樣就會導致較長的頻道變換時間。
組播環境是使用視頻流技術的一類環境的一個實例。這樣的環境可以利用互聯網協議組播(即IP組播)。本領域的普通技術人員都很熟悉組播及其在組播環境中的應用。
在很多IP組播場合中,具有可用于客戶端設備(即接收機)的限定比特率。用于客戶端設備的比特率一般依賴于該客戶端當前在所有可用的IP組播中收聽哪個IP組播。
由于正在進行的IP組播的總數并不受對任何特定客戶端的可用比特率的限制,因此本示例性快速啟動系統尤其可應用于這一場合。一個系統可以始終組播多個加入的流(如可選的傳輸402-207)和一個主流。而且,個別的客戶端設備可以為自己確定在任何給定的點要收聽哪個流。而且,主流的比特率可以與該客戶端設備可支持的連接一樣高——這樣,就可以獲得相對高的呈穩定狀態的視頻質量。
如圖3中所示,本示例性快速啟動系統使用主組播視頻流傳輸300t和一個或多個可選的組播導引視頻流傳輸(例如傳輸302t),以獲得較快的調諧時間。這些可選的流包括與主流同樣的初始內容,但它們可能具有比主流更低的比特率。
這些可選的流可以是低比特率的,這樣它們可以在比傳輸主流所需更少的時間傳輸。這被圖形化地示為可選的視頻流傳輸302t比主視頻流傳輸300t中的相應幀更短。這里,“低比特率”的概念是以每幅圖像(即幀)的比特數而言的。就每秒的比特數而言這可以是正常的比特率。
在本示例性快速啟動系統中,響應于調諧指令,(比傳統方法)更快速地顯示視頻流內容——即使起始圖像是較低質量的。
盡管本示例性快速啟動系統的討論是限于MPEG系列數字視頻壓縮與傳輸格式的,但本領域的普通技術人員將會理解如何將如這里所述的與MPEG有關的概念應用于其它格式,例如H.264。
具有一個可選流的示例性快速啟動系統圖3示出了只有一個可選視頻流的示例性快速啟動系統的示例性操作。圖3示出了主組播視頻流傳輸300t和可選組播導引視頻流傳輸302t。盡管這一討論提到只有一個可選流的使用,但在這一示例中所述的這些概念也可應用于多個可選視頻流的使用。
圖3還示出了該操作如何減少明顯的視頻流顯示啟動延遲——這是用戶所經歷的實際延遲。這一啟動延遲是請求特定視頻流的時間和GOP第一幀實際顯示之間的延遲。
這一示例參照圖3來解釋。以I幀310t開始的GOP在主流300t中傳輸。接收機在請求點R調諧到這一視頻流。這一選擇被示為用戶使用遙控器360選擇了視頻流的頻道。(但是,該視頻流300t是在組播環境中請求的,但由于接收機還沒有調諧到,該視頻流實際上直到R后的某些點才可能傳送到接收機。)這是還為了解釋性目的的示例。這一點R可以是GOP內在其開頭后(即在其I幀310t的開頭后)的任何時刻。
接收機一般等待隨機存取點(或RAP),以便對視頻流進行存取。(在這一示例中,假定每個GOP都具有一個RAP。)I幀是典型RAP的一個實例。所以,接收機在對視頻流傳輸進行存取并顯示視頻前必須等待下一個I幀(在下一個GOP傳輸的開頭)。
在傳統方法中,用戶將在點M2第一個I幀350p的顯示時看到視頻顯示(如在顯示時間線300p中所示)。所以,傳統的顯示啟動延遲(D)將是請求點(R)和點M2之間的差。寫成公式就是D=M2-R[1]傳統的顯示啟動延遲但是,代替等待主流傳輸300t中的下一個RAP的是,本示例性快速啟動系統調諧到可選視頻流傳輸302t。它在點A開始接收這一GOP傳輸。可選傳輸302t的RAP是I幀312t;所以,它可以在點S’以顯示I幀312p開始顯示可選顯示時間線302p。
在顯示可選視頻流時(如在顯示時間線302p中所示),示例性快速啟動系統請求組播路由器在主流的下一個RAP(如I幀350t)將接收機切換到主流組播傳輸300t。
在顯示可選視頻流時(如在顯示時間線302p中所示),示例性快速啟動系統開始接收以主流的下一個GOP的第一幀(如I幀350t)開始的主視頻流傳輸300t。在圖3中,下一個GOP的第一幀(如I幀350t)在點M1開始。時間線上的點B代表接收可選流傳輸302t的最后一幀的結束。
從可選流傳輸302t切換回主流300t發生在圖3中點B和M1之間的時隙中或附近。在圖3中示出了這些點之間的放大并可見的時隙,以示出示例性快速啟動系統有明顯的機會來加入主視頻流。現實中,點B和M1可能非常接近于同時發生,也可能就是同時發生的。在某些實施例中有可能具有小的交迭,使點B在點M1很短時間后發生。
在點M2,示例性快速啟動系統開始顯示以主流的下一個GOP的第一幀(如I幀350t)開始的主視頻流顯示300p。這在顯示可選流顯示302p的最后一幀(如幀322p)后(或非常接近這點)立即開始。在圖3中的點M2指明了這一顯示切換點。
為實現切換,可以希望主流為接合而作標記。另外,主流內RAP的位置可以經由某些其它機制來傳遞給組播路由器。而且,可以希望路由器具有對正常IP組播的擴展,使它可以在主流中下一個GOP到達時開始傳遞主流組播傳輸。
盡管并不是必需的,但還是希望對可選流302p的顯示進行定時,使所顯示的最后一幀(如幀322p)正好在顯示主流顯示300p的第一幀(如幀350p)之前顯示。這樣做就增強了視頻內容的流暢顯示——特別是它使得在點M2從可選流到主流顯示的切換顯示變得流暢。
如屏幕362-366所示,啟動延遲是用戶所經歷的實際延遲。如屏幕362所示,用戶在請求點R(如使用遙控器360)選擇視頻流的頻道,并看到一個空白屏幕。當然,這里可能有信息顯示(例如電子節目信息),但由于這不是所期望的視頻流內容,所以等效于空白。
屏幕364示出了即使正在傳送和接收可選流302t的RAP,屏幕仍為空白。然而,屏幕366示出幀312p的第一幅圖像向用戶顯示。
在本示例性快速啟動系統中(如在圖3中所示),用戶在點S’第一I幀312p的顯示時首先經歷視頻內容的顯示(如在可選顯示時間線302p中所示)。所以,新的顯示啟動延遲(D’)將是請求點(R)和在點S’的可選流顯示之間的差。表達成公式為D’=S’-R [2]新的顯示啟動延遲由本示例性快速啟動系統所達到的時間節省就是D’與D之間的差。使用公式1和2,該節省的時間可以表達成公式D’-D=M2-S’ [1]節省的時間在本示例性快速啟動系統中,用戶體驗由于新的啟動延遲(D’)比傳統啟動延遲(D)少(即D’<D)而得以改善。本示例性快速啟動系統通過與使用傳統方法所經歷的延遲相比減少了用戶所經歷的實際啟動延遲而改善了用戶體驗。
具有多個可選流的示例性快速啟動系統為了進一步使啟動延遲最小,本示例性快速啟動系統可以通過使用多個可選的、RAP階段交錯的視頻流傳輸來考慮用戶調諧到視頻流頻道的隨機性。
圖4示出了主組播視頻流傳輸400t和階段交錯的多個可選導引視頻流傳輸402t-407t。每個可選傳輸可以用所有可用的帶寬來發送——從而使每個流的傳輸時間最小。而且,這些流的傳輸安排是階段交錯的,這樣每個流的RAP的完整接收也就交錯了。由于圖4中所示的每個流的RAP都是在傳輸的開始,所以每個傳輸402t-407t的開始也就交錯了。在圖4中示出了可選傳輸的交錯開始。
而且,可選流402t-407t的階段交錯的時間范圍是在主流傳輸400t的RAP之間。如圖4中I幀410t和450t之間的階段交錯所示。
通過發送多個不同的流,就改善了調諧時間,因為接收機可以選擇這些導引流之一來播放。所選擇的流一般是在用戶調諧時刻后能最快準備顯示的視頻流。
在組播環境中,這些可選的傳輸不需要同時發送給某個特定接收機。更合適的是,每個流都準備好傳輸,但只有在特定接收機請求時才將特定的組播流發送給該接收機。圖4示出了六個可選的請求點(R1至R6),其中每個點對應于一個特定的可選視頻流傳輸(分別為流402t-407t)。
舉例來說,當本示例性快速啟動系統希望調諧到某個頻道(實例由點R1至R6所示)時,它詢問組播服務器(例如圖7的內容服務器712),以便確定哪個導引可選流是尚未開始的第一個導引,而接收機就加入該可選組播傳輸。而后,本示例性快速啟動系統請求路由器正好在主流的下一個RAP(如幀450t)之前將該接收機切換回主流組播傳輸400t。
由于可選流傳輸作為一座“橋”,直至接收機可以開始接收主流400t的下一個RAP,因此所有這些可選流(402t-408t)在圖4中都示出為在點B結束。
在圖4中,下一個GOP的第一幀(如I幀450t)在點M1開始。時間線上的點B代表接收每個可選流(402t-408t)的最后一幀的結束。
從每個可選流(402t-408t)切換回主流400t發生在圖4中點B和M1之間的時隙中或附近。在圖4中示出了這些點之間放大并可見的時隙,以示出示例性快速啟動系統有明顯的機會來加入主流。現實中,點B和M1可能非常接近于同時發生,也可能就是同時發生的。在某些實施例中有可能具有小的交迭,使點B在點M1很短時間后發生。
圖4示出了分別對應于可選視頻流傳輸402t-407t的可選視頻流顯示402p-407p。盡管并不是必需的,但還是希望對可選視頻流顯示402p-407p進行定時,使所顯示的最后一幀正好在顯示主流顯示400p的第一幀之前顯示。這樣做就增強了視頻內容的流暢顯示——特別是它使在點M2從可選到主流顯示的切換顯示變得流暢。
示例性快速啟動系統的操作圖5示出了示例性快速啟動系統的方法實現。這一方法實現可以以軟件、硬件或它們的組合來執行。
在圖5的510,用戶調諧到特定的主視頻流組播傳輸(如300t或400t)。這一示例點在圖3的點R和圖4的點R1至R6指出。
在512,示例性快速啟動系統詢問組播服務器(例如圖7的內容服務器712),以便確定哪個可選的RAP階段交錯的導引可選視頻流是尚未開始的第一個導引。當然,如果只有一個可選的傳輸,則這一詢問可以簡單地看成一個請求。
在514,示例性快速啟動系統加入由該詢問所標識的可選組播傳輸。它接收并緩存這一可選傳輸。這發生于(例如)圖3的點A和圖4的點A1至A6。
在516,它顯示該已標識和緩存的可選傳輸的視頻流。這發生于(例如)圖3的點S。
在518,示例性快速啟動系統正好在主流的下一個RAP(如幀350t和450t)切換回接收并緩存主流組播傳輸(如300t和400t)。這可以通過正好在主流的下一個RAP請求路由器將接收機切換回主流組播傳輸來做到。這發生于(例如)圖3和4的指定點B和M1之間或周圍。這也可以描述成發生在這些指定點“上或附近”。
示例性快速啟動組播系統的操作圖6示出了示例性快速啟動系統的方法實現,該系統可以由一個內容提供器702和/或圖7的內容分布系統706來實現。這一方法實現可以以軟件、硬件或它們的組合來執行。
在圖6的610,示例性快速啟動系統同時對一個或多個可選視頻流進行編碼以用于傳輸。服務器系統對每個可選的流進行編碼,使每個流的RAP相對于其它流都是階段交錯的。
而且,每個流都被編碼成在同一點結束,而該點是在主視頻流中下一個RAP可用時的點或其附近。這一指定點是(例如)圖3和4的點M1。
在612,該組播系統接收到一個對哪個RAP階段交錯的導引可選視頻流是尚未開始的第一個導引的查詢。當然,如果只有一個可選的傳輸,則這一詢問可以簡單地看成一個請求。
在614,它將由該詢問所標識的可選組播傳輸傳送給請求它的接收機。
在616,該組播系統接收對路由器的正好在主流的下一個RAP之前將該接收機切換回主流組播傳輸的請求。在618,它響應于這樣的請求進行該操作。這發生于(例如)圖3和4的指定點B和M1之間或周圍。這也可以描述成發生在這些指定點“上或附近”。
示例性環境圖7示出了示例性環境700,其中可以(部分或全部)實現這里所描述的技術、系統及其它方面。示例性環境700是便于多媒體分布的電視娛樂系統。
環境700包括一個或多個多媒體內容提供器702、內容分布系統706和一個或多個經由可組播網絡710耦合到內容分布系統706的顯示設備708(1)、708(2)、…、708(N)。
多媒體內容提供器702包括內容服務器712和所存儲的內容714,例如影片、電視節目、廣告、音樂以及類似的音頻和/或視頻內容。內容服務器712控制將所存儲的內容714從內容提供器702向內容分布系統706的發布。而且,內容服務器712還控制直播內容(如不是先前所存儲的內容,例如實況轉播)和/或存儲在其它位置的內容向內容分布系統706的發布。
內容分布系統706可以耦合到網絡720,例如某個企業內部互聯網或互聯網。內容分布系統706包括組播發射機728以及一個或多個內容處理器730。組播發射機728在可組播網絡710上組播信號。
內容分布系統706表示向多個用戶提供多媒體內容的頭端服務。
可組播網絡710可以包括有線電視網絡、RF、微波、衛星和/或數據網絡(例如互聯網),也可以包括使用任何組播格式或組播協議的有線或無線媒介。而且,可組播網絡710可以是任何種類的網絡,使用任何種類的網絡拓撲及任何網絡通信協議,并可以顯示成或實現成兩個或多個網絡的組合。
內容處理器730在將從內容提供器702接收到的內容在可組播網絡708上發送以前處理這些內容。特定的內容處理器730可以將所接收的內容編碼(或處理)為某種耦合到可組播網絡710的多個顯示設備708(1)、708(2)、…、708(N)所理解的格式。
顯示設備708可以以許多方式實現。舉例來說,顯示設備708(1)接收從基于衛星的發射機經由衛星碟形天線734而組播的內容。顯示設備708(1)也可稱為機頂盒或衛星接收設備。顯示設備708(1)耦合到用于顯示由該顯示設備所接收的內容(如音頻數據與視頻數據)以及圖形用戶接口的電視機736(1),。特定的顯示設備708可以耦合到任何數量的電視機736和/或可以實現為顯示或呈現內容的類似設備。同樣,任何數量的顯示設備708可以耦合到單臺電視機736。
顯示設備708(2)還耦合以從可組播網絡710接收內容,并將所接收的內容提供給相關的電視機736(2)。顯示設備708(N)是組合電視機738或集成機頂盒740的一個示例。在這一示例中,機頂盒的多種部件和功能被結合進電視機中,而不是使用兩個分離的設備。結合入電視機的機頂盒可以經由衛星碟形天線或無線天線(例如碟形天線734)和/或經由可組播網絡710接收組播信號。在可替換的實現中,顯示設備706可以經由互聯網或任何其它組播媒介接收內容。
示例性環境700還包括直播或存儲的付費觀看(PPV)內容742,例如PPV影片內容。這些存儲的或直播的內容一般按照某一安排進行組播。當設備加入PPV組播頻道時,就可以用顯示設備708來觀看PPV內容。
示例性顯示設備圖8示出了顯示設備708的示例性實現800,其顯示為耦合到電視機736的獨立單元。顯示設備708可以在任何數量的實施例中實現,包括作為機頂盒、衛星接收機、帶硬盤的TV錄像機、游戲控制臺、信息設備、DVD播放機、個人視頻錄影機、個人計算機、家庭媒體中心、調制解調器等等。
顯示設備708包括一個無線接收端口802(例如紅外(IR)或藍牙無線端口),用于從遙控設備804、手持輸入設備806或任何其它無線設備(例如無線鍵盤)接收無線通信。手持輸入設備806可以是個人數字助理(PDA)、手持計算機、無線電話等等。而且,耦合有線鍵盤以與該顯示設備708通信。在可替換的實施例中,遙控設備804、手持設備806和/或鍵盤808可以使用RF通信鏈路或其它傳輸模式來與顯示設備708通信。
顯示設備708可以具有存儲媒介閱讀器809,用于讀取內容存儲媒介,例如DVD盤片。獨立或非獨立的顯示設備708可以包括存儲媒介閱讀器809。
顯示設備708可以從一個或多個組播源(例如從組播網絡)接收一個或多個組播信號810。
顯示設備708還包括用于向用戶提供圖形用戶接口的硬件和/或軟件,通過該接口用戶可以(例如)訪問多種網絡服務、配置該顯示設備708以及執行其它功能。
顯示設備708能夠經由一個或多個連接與其它設備通信,這些連接包括傳統電話鏈路812、ISDN鏈路814、線纜鏈路816、以太網鏈路818、DSL鏈路820等等。顯示設備708在特定時刻可以使用多種通信鏈路812-820中的一個或多個來與任何數量的其它設備通信。組播信號也可以經由這多種通信鏈路812-820來接收。
顯示設備708產生視頻信號820和音頻信號822,這兩種信號都被傳送給電視機736。可替換的是,視頻與音頻信號也可以傳送給其它音頻/視頻設備,例如揚聲器、視頻監視器、家庭影院系統、音響系統等等。
盡管沒有在圖8中示出,顯示設備708可以包括一個或多個燈或其它指示器,標識該設備的當前狀態。而且,顯示設備可以包括一個或多個控制按鈕、開關或其它可選擇的控件,用于控制該設備的運行。
圖9示出了圖7和8中所示的顯示設備708的選定部件。顯示設備708包括第一調諧器900和可選的第二調諧器902。調諧器900和902表示一個或多個調諧到多種頻率或頻道以接收電視信號的頻帶內調諧器,以及調諧到或接收組播通信頻道的頻帶外調諧器或接收機或網絡接口卡,而其它內容可以在該組播通信頻道上對顯示設備708進行組播。
調諧器900和902可以是數字調諧器、模擬調諧器或任何用以將數字數據取入該客戶端設備708的模擬與數字部件的組合。
顯示設備708還包括一個或多個處理器304和一個或多個存儲器部件。可能的存儲器部件的實例包括隨機存取存儲器(RAM)906、硬盤驅動器908、大容量存儲部件910以及非易失性存儲器912(如ROM、閃存、EPROM、EEPROM等)。
顯示設備708的可替換的實現可以包括一定范圍的處理和存儲能力,還可以包括比圖9中所示的更多或更少類型的存儲器部件。
處理器904處理多種指令,以控制顯示設備708的運行并與其它電子與計算設備通信。存儲器部件(如RAM 906、硬盤驅動器908、存儲媒介910及非易失性存儲器912)存儲多種信息和/或數據,例如多媒體內容、電子節目數據、網絡內容數據、用于顯示設備708的配置數據,和/或圖形用戶接口信息。該設備可以將數據高速緩存入許多存儲器部件任意一個。
操作系統914和一個或多個應用程序916可以存儲在非易失性存儲器912中,并在處理器904上執行,以提供運行時環境。運行時環境通過允許定義多種接口(這就允許應用程序916與顯示設備708交互)而便于顯示設備708的擴展性。
可以在顯示設備708上實現的應用程序916包括電子節目指南(EPG)、利于電子郵件的電子郵件程序,等等。
顯示設備708還可以包括在本示例中為簡化目的而未示出的其它關于電視娛樂系統的部件。舉例來說,顯示設備708可以包括用戶接口應用和便于觀看者與該設備交互的用戶接口燈、按鈕、控件等。
網絡接口924和串行和/或并行接口926使顯示設備708能經由多種通信鏈路與其它電子與計算設備通信。盡管未示出,顯示設備708還可以包括其它類型的數據通信接口,以與其它設備通信。
它可以包括調制解調器928或經由傳統電話線或其它通信媒介利于與其它電子與計算設備通信的其它通信設備。
顯示設備708具有接收組播數字數據的能力,它可以用調諧器900或902、網絡接口924、調制解調器928或其它通信設備來接收。
顯示設備708還包括音頻/視頻輸出930,它向電視機或其它處理和/或顯示或呈現這些音頻和視頻數據的其它設備提供信號。這一輸出可以稱為顯示。
顯示設備708還包括部分或全部地實現本示例性快速啟動系統的快速啟動模塊940。它可以是應用程序或硬件部件。
盡管是分別地示出,但顯示設備708的某些部件可以在特定用途集成電路(ASIC)中實現。而且,一般系統總線(未示出)在顯示設備708內連接這多種部件。
系統總線可以實現成幾種總線架構任意之一種或多種,包括存儲器總線或存儲器控制器、外部總線、加速圖形接口,或使用多種總線架構中任一種的局部總線。舉例來說,這樣的架構可以包括卡總線、個人計算機存儲器卡國際聯合會(PCMCIA)、加速圖形接口(AGP)、小型計算機系統接口(SCSI)、通用串行總線(USB)、IEEE 1394、視頻電子標準協會(VESA)局部總線,以及也稱為Mezzanine總線的外圍部件互連(PCI)總線。
計算機可執行指令示例性快速啟動系統的實現可以在計算機可執行指令的一般環境中來描述,例如由一臺或多臺計算機或其它設備執行的程序模塊。總的來說,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等。一般來說,這些程序模塊的功能可以如在多個實施例中所述進行組合或分布。
計算機可讀取媒介示例性快速啟動系統的實現可以存儲在某些形式的計算機可讀取媒介上,或通過它們傳送。計算機可讀取媒介可以是能由計算機所存取的任何可用的媒介。舉例來說(但非限制),計算機可讀取媒介可以由“計算機存儲媒介”和“通信媒介”組成。
“計算機存儲媒介”包括以任何存儲信息(例如計算機可讀取指令、數據結構、程序模塊或其它數據)的方法或技術實現的易失性和非易失性、可移動和不可移動的媒介。計算機存儲媒介包括(但不限于)RAM、ROM、EEPROM、按塊擦除存儲器或其它存儲器技術、CD-ROM、數字萬用盤(DVD)或其它光存儲器、盒式磁帶、磁帶、磁盤存儲器或其它磁存儲設備,或可用以存儲所希望的信息并能由計算機存取的任何其它媒介。
“通信媒介”一般將計算機可讀取指令、數據結構、程序模塊或其它數據實現在調制的數據信號中,如載波或其它傳輸機制。通信媒介還包括任何信息傳遞媒介。
術語“調制的數據信號”意指某種信號,其一個或多個特征可以以某種方式設置或改變,以便將信息編碼到該信號中。舉例而言(但非限制),通信媒介包括有線媒介(例如有線網絡或直接線纜連接)和無線媒介(例如聲學、RF、紅外或其它無線媒介)。以上的任意組合也應當包括在計算機可讀取媒介的范圍內。
結論盡管本發明是以特定于結構特性和/或方法步驟的語言來描述的,但應當理解,在所附權利要求書中定義的本發明并不必需局限于所描述的明確特性或步驟。更合適地說,這些明確的特性或步驟是作為實現所要求權利的發明的較佳形式來揭示的。
權利要求
1.一種具有計算機可執行指令的計算機可讀取媒介,這些指令在由計算機執行時實現一種方法,包含選擇導引視頻流,其中所述導引視頻流對應于特定的主視頻流傳輸;接收該選定的導引視頻流的傳輸;顯示所述選定的導引視頻流傳輸的內容;將接收從所述導引視頻流傳輸切換到所述主視頻流傳輸;將顯示從所述導引視頻流傳輸的內容切換到所述主視頻流傳輸的內容。
2.如權利要求1所述的媒介,其特征在于在選擇中選定的導引視頻流是從多個導引視頻流之一所選擇出來的。
3.如權利要求1所述的媒介,其特征在于所述切換在主視頻流傳輸中所傳送的隨機存取點(RAP)發生時或附近發生。
4.如權利要求1所述的媒介,其特征在于所述切換正好在主視頻流傳輸中所傳送的隨機存取點(RAP)發生之前發生。
5.如權利要求1所述的媒介,其特征在于進一步包含詢問一視頻流提供器,要求該提供器標識多個導引視頻流傳輸中哪個是第一個具有可用RAP的傳輸,其中所標識的導引視頻流傳輸就是所述選定的導引視頻流傳輸。
6.如權利要求1所述的媒介,其特征在于將多個導引視頻流傳輸安排為在傳輸主視頻流傳輸的一個圖像組(GOP)期間傳輸,其中一個GOP只具有一個RAP。
7.如權利要求1所述的媒介,其特征在于將多個導引視頻流傳輸中每一個的RAP安排為相互階段交錯的傳輸。
8.如權利要求1所述的媒介,其特征在于多個導引視頻流傳輸中的每一個都使用比所述主視頻流傳輸所用的更低的比特率來進行編碼。
9.如權利要求1所述的媒介,其特征在于所述視頻流傳輸是組播。
10.一種計算設備,包含視頻流顯示設備;如權利要求1所述的媒介。
11.一種具有計算機可執行指令的計算機可讀取媒介,這些指令在由計算機執行時實現一種方法,包含選擇一特定的主視頻流傳輸進行接收和顯示;在傳輸所述主視頻流傳輸中所傳送的下一個隨機存取點(RAP)之前,暫時接收對應于所述特定主視頻流傳輸的導引視頻流;將接收從所述導引視頻流切換到所述主視頻流傳輸。
12.如權利要求11所述的媒介,其特征在于進一步包含顯示所述導引視頻流的傳輸的內容;在將接收切換到主視頻流后,顯示所述主視頻流傳輸的內容。
13.如權利要求11所述的媒介,其特征在于所述切換是在傳輸主視頻流傳輸中的RAP時或附近進行的。
14.如權利要求11所述的媒介,其特征在于所述切換是在傳輸主視頻流傳輸中要發生的下一個RAP時或附近進行的。
15.如權利要求11所述的媒介,其特征在于將所述導引視頻流傳輸安排為在傳輸主視頻流傳輸的一個圖像組(GOP)期間傳輸,其中一個GOP只具有一個RAP。
16.如權利要求11所述的媒介,其特征在于多個導引視頻流傳輸中的每一個都用比所述主視頻流傳輸所用的更低的比特率來進行編碼。
17.如權利要求11所述的媒介,其特征在于所述視頻流傳輸是組播。
18.一種計算設備,其特征在于包含視頻流顯示設備;如權利要求11所述的媒介。
19.如權利要求11所述的媒介,其特征在于進一步包含選擇多個導引視頻流傳輸中的一個進行接收,其中每個導引視頻流對應于特定的主視頻流傳輸,其中選定的一個導引視頻流傳輸是暫時接收的導引視頻傳輸;顯示該選定的導引視頻流傳輸的內容;將接收從所述導引視頻流傳輸切換到所述主視頻流傳輸,并在所述主視頻流傳輸中所傳送的隨機存取點(RAP)發生時或附近進行切換;將顯示從所述導引視頻流傳輸的內容切換到所述主視頻流傳輸的內容。
20.如權利要求19所述的媒介,其特征在于進一步包含詢問一視頻流提供器,要求該提供器標識多個導引視頻流傳輸中哪個是第一個具有可用RAP的傳輸,其中所標識的導引視頻流傳輸就是所述選定的導引視頻流傳輸。
21.如權利要求19所述的媒介,其特征在于將所述多個導引視頻流傳輸安排為在傳輸主視頻流傳輸的一個圖像組(GOP)期間傳輸,其中一個GOP只具有一個RAP。
22.如權利要求19所述的媒介,其特征在于其中將多個導引視頻流傳輸中每一個的RAP安排為相互階段交錯的傳輸。
23.如權利要求19所述的媒介,其特征在于其中多個導引視頻流傳輸中的每一個都用比所述主視頻流傳輸所用的更低的比特率來進行編碼。
24.一種用于快速啟動顯示的方法,該方法包含選擇多個導引視頻流傳輸中的一個進行接收,其中每個導引視頻流對應于特定的主視頻流傳輸;接收選定的導引視頻流傳輸;顯示所述選定的導引視頻流傳輸的內容;將接收從所述導引視頻流傳輸切換到所述主視頻流傳輸,并在所述主視頻流傳輸中所傳送的隨機存取點(RAP)發生時進行切換;將顯示從所述導引視頻流傳輸的內容切換到所述主視頻流傳輸的內容。
25.如權利要求24所述的方法,其特征在于進一步包含詢問一視頻流提供器,要求該提供器標識所述多個導引視頻流傳輸中哪個是第一個具有可用RAP的傳輸,而所標識的導引視頻傳輸就是所述選定的導引視頻流傳輸。
26.如權利要求24所述的方法,其特征在于將所述多個導引視頻流傳輸安排為在傳輸所述主視頻流傳輸的一個圖像組(GOP)期間傳輸,其中一個GOP只具有一個RAP。
27.如權利要求24所述的方法,其特征在于將所述多個導引視頻流傳輸中每一個的RAP安排為相互階段交錯的傳輸。
28.如權利要求24所述的方法,其特征在于所述多個導引視頻流傳輸中的每一個都用比所述主視頻流傳輸所用的更低的比特率來進行編碼。
29.如權利要求24所述的方法,其特征在于所述視頻流傳輸是組播。
30.一種計算機,包含一個或多個具有計算機可執行指令的計算機可讀取媒介,這些指令在由計算機執行時實現如權利要求24所述的方法。
31.一種具有計算機可執行指令的計算機可讀取媒介,這些指令在由計算機執行時實現一種方法,包含根據同一原始視頻內容制備多個視頻流,以用于交迭傳輸安排,使得每一個視頻流的隨機存取點(RAP)都是階段交錯的;按照所述交迭傳輸安排,在通信網絡上傳送所述多個視頻流中的一個或多個。
32.如權利要求31所述的媒介,其特征在于在所述傳輸安排中,所述多個視頻流中每一個的圖像組(GOP)傳輸于同一點或同一點附近結束。
33.如權利要求31所述的媒介,其特征在于所述多個視頻流包括主視頻流和導引視頻流。
34.如權利要求31所述的媒介,其特征在于所述視頻流中的一個或多個都用比其它視頻流中一個或多個所用的更低的比特率來進行編碼。
35.一種計算設備,包含傳送設備,用于傳送所述多個視頻流中的一個或多個;如權利要求31所述的媒介。
全文摘要
在此描述的是一種便于數字視頻流顯示的技術。這里描述的實現減少了當系統調諧到視頻流時顯示該視頻內容的第一個幀中發生的實際啟動延遲。本摘要自身無意限制本專利的范圍。本發明的范圍在所附的權利要求書中指出。
文檔編號H04N7/173GK1574972SQ200410048898
公開日2005年2月2日 申請日期2004年6月11日 優先權日2003年6月13日
發明者J·A·鮑德溫, D·L·格林, J·H·格羅斯曼四世 申請人:微軟公司