流式傳輸經(jīng)編碼視頻數(shù)據(jù)的制作方法
【專利說明】
[0001] 分案申請的相關(guān)信息
[0002] 本案是分案申請。該分案的母案是申請日為2010年10月27日、申請?zhí)枮?201080048812. 3、發(fā)明名稱為"流式傳輸經(jīng)編碼視頻數(shù)據(jù)"的發(fā)明專利申請案。
[0003] 本申請案主張2009年10月28日申請的第61/255, 767號美國臨時申請案的權(quán)益, 所述臨時申請案的全部內(nèi)容特此以引用的方式明確地并入本文中。
技術(shù)領(lǐng)域
[0004] 本發(fā)明涉及經(jīng)編碼視頻數(shù)據(jù)的輸送。
【背景技術(shù)】
[0005] 可將數(shù)字視頻能力并入到廣泛范圍的裝置中,包括數(shù)字電視、數(shù)字直播系統(tǒng)、無線 廣播系統(tǒng)、個人數(shù)字助理(PDA)、膝上型或桌上型計算機、數(shù)字相機、數(shù)字記錄裝置、數(shù)字媒 體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話、視頻電話會議裝置 等。數(shù)字視頻裝置實施視頻壓縮技術(shù),例如,在由MPEG-2、MPEG-4、ITU-T H. 263或ITU-T H.264/MPEG-4第10部分(高級視頻譯碼(AVC))定義的標準及這些標準的擴展中所描述的 技術(shù),以更有效率地發(fā)射及接收數(shù)字視頻信息。
[0006] 視頻壓縮技術(shù)執(zhí)行空間預(yù)測及/或時間預(yù)測,以減少或去除視頻序列中所固有的 冗余。對于基于塊的視頻譯碼,可將視頻幀或片段分割成若干宏塊??蛇M一步分割每一宏 塊。使用相對于相鄰宏塊的空間預(yù)測來編碼經(jīng)幀內(nèi)譯碼(I)的幀或片段中的宏塊。經(jīng)幀間 譯碼(P或B)幀或片段中的宏塊可使用相對于同一幀或片段中的相鄰宏塊的空間預(yù)測或相 對于其它參考幀的時間預(yù)測。
[0007] 在已編碼視頻數(shù)據(jù)之后,視頻數(shù)據(jù)可由多路復(fù)用器包化以用于發(fā)射或存儲。舉例 來說,MPEG-2標準包括定義許多視頻編碼標準的輸送等級的"系統(tǒng)"章節(jié)。MPEG-2輸送等 級系統(tǒng)可由MPEG-2視頻編碼器或遵守不同視頻編碼標準的其它視頻編碼器使用。舉例來 說,MPEG-4標準規(guī)定與MPEG-2的編碼及解碼方法不同的編碼及解碼方法,但實施MPEG-4標 準的技術(shù)的視頻編碼器可仍利用MPEG-2輸送等級方法。第三代合作伙伴計劃(3GPP)還提 供用于使用用于經(jīng)編碼視頻數(shù)據(jù)的特定多媒體容器格式來輸送經(jīng)編碼視頻數(shù)據(jù)的技術(shù)。
【發(fā)明內(nèi)容】
[0008] -般來說,本發(fā)明描述用于支持經(jīng)由例如超文本傳送協(xié)議(HTTP)等網(wǎng)絡(luò)協(xié)議來 流式輸送經(jīng)編碼視頻數(shù)據(jù)的技術(shù)。源裝置可形成媒體呈現(xiàn)描述(MPD)文件,所述文件列出 經(jīng)編碼媒體數(shù)據(jù)的多種呈現(xiàn)。每一呈現(xiàn)對應(yīng)于針對共同視頻的不同編碼。舉例來說,就編 碼及/或渲染能力以及各種平均位率來說,每一呈現(xiàn)可具有目的地裝置的不同期望。
[0009] 源裝置可發(fā)信號通知每一呈現(xiàn)的特性,從而允許目的地裝置基于所述目的地裝置 的解碼及渲染能力而選擇呈現(xiàn)中的一者,且基于網(wǎng)絡(luò)環(huán)境變化及呈現(xiàn)的帶寬而在不同呈現(xiàn) 之間切換。呈現(xiàn)可經(jīng)預(yù)編碼或?qū)崟r編碼,且存儲在服務(wù)器中作為文件或文件分段,其遵守 (例如)ISO基本媒體文件格式及其擴展。目的地裝置可在(例如)HTTP上在各種時間從呈 現(xiàn)中的一者或一者以上檢索數(shù)據(jù)。源裝置可進一步發(fā)信號通知每一呈現(xiàn)的分段,例如,在每 一呈現(xiàn)內(nèi)的視頻分段的字節(jié)范圍及對應(yīng)的時間位置,使得目的地裝置可基于(例如)HTTP 請求而從各種呈現(xiàn)檢索個別視頻分段。
[0010] 在一個實例中,一種用于輸送經(jīng)編碼視頻數(shù)據(jù)的方法包括:通過源視頻裝置接收 包含若干個視頻區(qū)段的經(jīng)編碼視頻數(shù)據(jù);形成包含若干個視頻文件的呈現(xiàn),所述視頻文件 中的每一者對應(yīng)于所述視頻區(qū)段中的一相應(yīng)者;及響應(yīng)于指定所述視頻數(shù)據(jù)的時間段的 請求,輸出對應(yīng)于所述所請求的時間段的所述若干個視頻區(qū)段的所述視頻文件中的至少一 者。
[0011] 在另一實例中,一種用于輸送經(jīng)編碼視頻數(shù)據(jù)的設(shè)備包括:管理單元,其經(jīng)配置以 接收包含若干個視頻區(qū)段的經(jīng)編碼視頻數(shù)據(jù),且形成包含若干個視頻文件的呈現(xiàn),所述視 頻文件中的每一者對應(yīng)于所述視頻區(qū)段中的一相應(yīng)者;及網(wǎng)絡(luò)接口,其經(jīng)配置以響應(yīng)于指 定所述視頻數(shù)據(jù)的時間段的請求,輸出對應(yīng)于所述所請求的時間段的所述若干個視頻區(qū)段 的所述視頻文件中的至少一者。
[0012] 在另一實例中,一種用于輸送經(jīng)編碼視頻數(shù)據(jù)的設(shè)備包括:用于接收包含若干個 視頻區(qū)段的經(jīng)編碼視頻數(shù)據(jù)的裝置;用于形成包含若干個視頻文件的呈現(xiàn)的裝置,所述視 頻文件中的每一者對應(yīng)于所述視頻區(qū)段中的一相應(yīng)者;及用于響應(yīng)于指定所述視頻數(shù)據(jù)的 時間段的請求輸出對應(yīng)于所述所請求的時間段的所述若干個視頻區(qū)段的所述視頻文件中 的至少一者的裝置。
[0013] 在另一實例中,一種計算機可讀存儲媒體包含在執(zhí)行時致使用于輸送經(jīng)編碼視頻 數(shù)據(jù)的源裝置的處理器進行以下操作的指令:接收包含若干個視頻區(qū)段的經(jīng)編碼視頻數(shù) 據(jù);形成包含若干個視頻文件的呈現(xiàn),所述視頻文件中的每一者對應(yīng)于所述視頻區(qū)段中的 一相應(yīng)者;及響應(yīng)于指定所述視頻數(shù)據(jù)的時間段的請求,輸出對應(yīng)于所述所請求的時間段 的所述若干個視頻區(qū)段的所述視頻文件中的至少一者。
[0014] 在再一實例中,一種用于檢索經(jīng)編碼視頻數(shù)據(jù)的方法包括:通過客戶端裝置檢索 描述視頻數(shù)據(jù)的呈現(xiàn)的特性的呈現(xiàn)描述數(shù)據(jù),其中所述視頻數(shù)據(jù)包含若干個視頻區(qū)段,且 其中所述呈現(xiàn)包含若干個視頻文件,所述視頻文件中的每一者對應(yīng)于所述視頻區(qū)段中的一 相應(yīng)者;將指定所述視頻數(shù)據(jù)的時間段的請求提交給源裝置;響應(yīng)于所述請求,從所述源 裝置接收對應(yīng)于所述所請求的時間段的所述若干個視頻區(qū)段的的所述視頻文件中的至少 一者;及解碼并顯示所述視頻文件中的所述至少一者。
[0015] 在另一實例中,一種用于檢索經(jīng)編碼視頻數(shù)據(jù)的設(shè)備包括:網(wǎng)絡(luò)接口;控制單元, 其經(jīng)配置以經(jīng)由所述網(wǎng)絡(luò)接口檢索描述視頻數(shù)據(jù)的呈現(xiàn)的特性的呈現(xiàn)描述數(shù)據(jù),其中所述 視頻數(shù)據(jù)包含若干個視頻區(qū)段,且其中所述呈現(xiàn)包含若干個視頻文件,所述視頻文件中的 每一者對應(yīng)于所述視頻區(qū)段中的一相應(yīng)者,將指定所述視頻數(shù)據(jù)的時間段的請求提交給源 裝置,且響應(yīng)于所述請求,從所述源裝置接收對應(yīng)于所述所請求的時間段的所述若干個視 頻區(qū)段的所述視頻文件中的至少一者;視頻解碼器,其經(jīng)配置以解碼所述視頻文件中的所 述至少一者;及用戶接口,其包含經(jīng)配置以顯示所述視頻文件中的所述經(jīng)解碼的至少一者 的顯示器。
[0016] 在另一實例中,一種用于檢索經(jīng)編碼視頻數(shù)據(jù)的設(shè)備包括:用于檢索描述視頻數(shù) 據(jù)的呈現(xiàn)的特性的呈現(xiàn)描述數(shù)據(jù)的裝置,其中所述視頻數(shù)據(jù)包含若干個視頻區(qū)段,且其中 所述呈現(xiàn)包含若干個視頻文件,所述視頻文件中的每一者對應(yīng)于所述視頻區(qū)段中的一相應(yīng) 者;用于將指定所述視頻數(shù)據(jù)的時間段的請求提交給源裝置的裝置;用于響應(yīng)于所述請求 從所述源裝置接收對應(yīng)于所述所請求的時間段的所述若干個視頻區(qū)段的所述視頻文件中 的至少一者的裝置;及用于解碼并顯示所述視頻文件中的所述至少一者的裝置。
[0017] 在另一實例中,一種計算機可讀存儲媒體包含在執(zhí)行時致使用于檢索經(jīng)編碼視頻 數(shù)據(jù)的裝置的處理器進行以下操作的指令:檢索描述視頻數(shù)據(jù)的呈現(xiàn)的特性的呈現(xiàn)描述數(shù) 據(jù),其中所述視頻數(shù)據(jù)包含若干個視頻區(qū)段,且其中所述呈現(xiàn)包含若干個視頻文件,所述視 頻文件中的每一者對應(yīng)于所述視頻區(qū)段中的一相應(yīng)者;將指定所述視頻數(shù)據(jù)的時間段的請 求提交給源裝置;響應(yīng)于所述請求,從所述源裝置接收對應(yīng)于所述所請求的時間段的所述 若干個視頻區(qū)段的所述視頻文件中的至少一者;致使所述客戶端裝置的視頻解碼器解碼所 述視頻文件中的所述至少一者;及致使所述客戶端裝置的用戶接口顯示所述經(jīng)解碼的視頻 文件中的所述至少一者。
[0018] 在附圖及以下描述中陳述一個或一個以上實例的細節(jié)。從描述及圖式且從所附權(quán) 利要求書將明白其它特征、目標及優(yōu)點。
【附圖說明】
[0019] 圖1為說明音頻/視頻(A/V)源裝置將音頻及視頻數(shù)據(jù)輸送到A/V目的地裝置的 實例系統(tǒng)的框圖。
[0020] 圖2為說明多路復(fù)用器的組件的實例布置的框圖。
[0021]圖3為說明程序特定信息表的實例集合的框圖。
[0022] 圖4為說明各種呈現(xiàn)的第三代合作伙伴計劃(3GPP)文件與對應(yīng)的視頻區(qū)段之間 的對準的概念圖。
[0023] 圖5為說明用于將經(jīng)編碼視頻數(shù)據(jù)從源裝置輸送到目的地裝置的實例方法的流 程圖。
[0024] 圖6為說明實例3GPP文件的元素的框圖。
[0025] 圖7為說明用于響應(yīng)于對在3GPP文件內(nèi)的時間位置的搜尋請求而請求3GPP文件 的分段的實例方法的流程圖。
【具體實施方式】
[0026] 本發(fā)明的技術(shù)大體是針對支持使用例如超文本傳送協(xié)議(HTTP)及HTTP的HTTP 流式傳輸應(yīng)用等協(xié)議的視頻數(shù)據(jù)的流式輸送。一般來說,在本發(fā)明中,對HTTP的參考可包 括對HTTP流式傳輸?shù)膮⒖?。本發(fā)明提供發(fā)信號通知視頻數(shù)據(jù)的若干個呈現(xiàn)的特性元素的 媒體呈現(xiàn)描述(MPD)文件,例如,在視頻數(shù)據(jù)的分段存儲在呈現(xiàn)內(nèi)的情況下。每一呈現(xiàn)可包 括若干個個別文件,例如,第三代合作伙伴計劃(3GPP)文件。一般來說,每一呈現(xiàn)可包括一 組個別特性,例如位率、幀率、分辨率、交錯式或漸進式掃描類型、編碼類型(例如,MPEG-1、 MPEG-2、H. 263、MPEG-4/H. 264、H. 265 等)或其它特性。
[0027] 3GPP文件中的每一者可個別地由服務(wù)器存儲且個別地由客戶端檢索,例如,使用 HTTP GET及部分GET請求。HTTP GET及部分GET請求描述于R ?費爾?。≧. Fielding)等 人的"超文本傳送協(xié)議--HTTP/1. 1 (Hypertext Transfer Protocol-HTTP/1. 1) "(網(wǎng)絡(luò) 工作組,RFC2616,1999 年6 月)中,可在 http://tools.ietf.org/html/rfc2616 處獲得。 根據(jù)本發(fā)明的技術(shù),可使每一呈現(xiàn)的3GPP文件對準,使得其對應(yīng)于視頻的同一段,即,一個 或一個以上場景的同一集合。此外,服務(wù)器可使用類似的命名方案來命名每一呈現(xiàn)的對應(yīng) 3GPP文件。以此方式,隨著網(wǎng)絡(luò)條件改變,HTTP客戶端可易于改變呈現(xiàn)。舉例來說,當(dāng)較高 的帶寬量可用時,客戶端可檢索相對較高質(zhì)量呈現(xiàn)的3GPP文件,而當(dāng)較低帶寬量可用時, 客戶端可檢索相對較低質(zhì)量呈現(xiàn)的3GPP文件。
[0028] 本發(fā)明還提供用于發(fā)信號通知MH)文件中所總結(jié)的呈現(xiàn)及對應(yīng)的3GPP文件的特 性的技術(shù)。舉例來說,本發(fā)明提供服務(wù)器可藉以發(fā)信號通知例如針對每一呈現(xiàn)的客戶端裝 置的期望渲染能力及解碼能力等特性的技術(shù)。以此方式,客戶端裝置可基于所述客戶端裝 置的解碼及渲染能力在各種呈現(xiàn)之間選擇。作為另一實例,本發(fā)明提供用于發(fā)信號通知針 對每一呈現(xiàn)的平均位率及最大位率的技術(shù)。以此方式,客戶端裝置可確定帶寬可用性,且基 于所確定的帶寬在各種呈現(xiàn)之間選擇。
[0029] 根據(jù)本發(fā)明的技術(shù),服務(wù)器可使用指示每一呈現(xiàn)的對應(yīng)于同一場景的3GPP文件 的命名慣例。本發(fā)明提供用于對準每一呈現(xiàn)的3GPP文件使得每一場景對應(yīng)于每一呈現(xiàn)中 的3GPP文件中的一者的技術(shù)。舉例來說,服務(wù)器可使用類似于" [program] _preX_T_T+N" 的命名慣例來命名對應(yīng)于從時間T持續(xù)到時間T+N的場景的每一呈現(xiàn)的3GPP文件,其中命 名慣例中的T及T+N對應(yīng)于時間T及時間T+N的值," [program] "對應(yīng)于視頻的名稱,且"_ preX"對應(yīng)于呈現(xiàn)的指示符(例如,用于呈現(xiàn)2的"pre2")。因此,可對準每一呈現(xiàn)的3GPP 文件,使得在同一時間周期中的3GPP文件的文件大小可用以導(dǎo)出每一呈現(xiàn)的瞬時位率。
[0030] 另外,服務(wù)器可發(fā)信號通知每一呈現(xiàn)的3GPP文件中的每一者的開始時間以及結(jié) 束時間及/或持續(xù)時間。以此方式,客戶端可通過檢索如由服務(wù)器發(fā)信號通知的3GPP文件 的開始時間及結(jié)束時間且基于開始時間及結(jié)束時間自動產(chǎn)生文件名稱而基于文件的名稱 使用HTTP GET來檢索特定3GPP文件。另外,服務(wù)器還可發(fā)信號通知每一呈現(xiàn)的3GPP文件 中的每一者的字節(jié)范圍。因此,客戶端可基于待檢索的3GPP文件的自動產(chǎn)生的名稱及字節(jié) 范圍而使用部分GET來檢索3GPP文件的全部或一部分??蛻舳丝墒褂肏TTP的HEAD方法 來檢索特定3GPP文件的文件大小。一般來說,對于HEAD請求所針對的URN或URL,HEAD請 求檢索無對應(yīng)的主體數(shù)據(jù)的標頭數(shù)據(jù)。
[0031 ] 圖1為說明其中音頻/視頻(A/V)源裝置20將音頻及視頻數(shù)據(jù)輸送到A/V目的 地裝置40的實例系統(tǒng)10的框圖。圖1的系統(tǒng)10可對應(yīng)于視頻電話會議系統(tǒng)、服務(wù)器/客 戶端系統(tǒng)、廣播設(shè)備/接收器系統(tǒng)、游戲系統(tǒng),或?qū)⒁曨l數(shù)據(jù)從例如A/V源裝置20等源裝置 發(fā)送到例如A/V目的地裝置40等目的地裝