用于下載和串流的內(nèi)容存儲和傳輸?shù)南到y(tǒng)和方法
【專利說明】用于下載和串流的內(nèi)容存儲和傳輸?shù)南到y(tǒng)和方法
【背景技術(shù)】
[0001] 媒體內(nèi)容提供者或分發(fā)者可以將媒體內(nèi)容下發(fā)到電視、筆記本電腦以及手機等各 種用戶端設(shè)備。媒體內(nèi)容提供者可以支持多個媒體編碼器和/或解碼器(編解碼器)、多個 媒體播放器、多個視頻幀率、多個空間分辨率、多個比特率、多個視頻格式或者其組合??梢?將媒體內(nèi)容的源表述或初始表述轉(zhuǎn)換為其他各種表述以適用于不同的用戶設(shè)備。
[0002] 媒體內(nèi)容可包括媒體表示描述文件(MPD)和多個片段。所述MPD可以為描述所 述媒體內(nèi)容比如其各種表述、統(tǒng)一資源定位符(URL)以及其他特征等的可擴展標記語言 (XML)文件。例如,媒體內(nèi)容可包括數(shù)個媒體分量(例如,音頻、視頻和文本),其中的每一 個媒體分量可以具有MTO規(guī)定的不同特征,每一個媒體分量包括多個包含有實際媒體內(nèi)容 各部分的片段,該多個片段可以集中存儲在單個文件中,或者分別存儲在多個文件中。每一 個片段可包含該媒體內(nèi)容的預定義的字節(jié)大小(例如,1000字節(jié))或該媒體內(nèi)容的播放時 間間隔(例如,2或5秒)。
[0003] 媒體內(nèi)容可根據(jù)應(yīng)用劃分成各種層次,例如,媒體內(nèi)容可包括多個區(qū)段,其中區(qū)段 是相對長于片段的時間間隔。例如,可以將一個電視節(jié)目劃分為被若干個2分鐘長廣告區(qū) 段分隔開的若干個5分鐘長的節(jié)目區(qū)段,進一步地,區(qū)段可包括一個或多個適配集(AS)。一 個適配集可提供一個或多個媒體分量以及其各種已編碼的表述,例如,一個適配集可包含 媒體內(nèi)容的視頻分量的不同比特率,而另一個適配集可包含同一媒體內(nèi)容的音頻分量的不 同比特率。一個表述可以為媒體分量的一種已編碼的形式,其在比特率、分辨率、信道數(shù)量、 其它特征或者其的組合上不同于其它表述。每一個表述包括多個片段,該多個片段是具有 時域序列的媒體內(nèi)容數(shù)據(jù)塊。另外,有時為了能夠在多個部分進行片段下載,可以使用多個 子片段,每一個子片段具有具體的時長和/或字節(jié)大小。本領(lǐng)域技術(shù)人員將會理解該各種 層次可以用來下發(fā)媒體內(nèi)容。
[0004] 在自適應(yīng)流媒體中,當媒體內(nèi)容下發(fā)到客戶端或者用戶設(shè)備時,用戶設(shè)備可以根 據(jù)各種因素,如網(wǎng)絡(luò)狀況、設(shè)備能力、用戶選擇等動態(tài)選擇合適的片段。自適應(yīng)流媒體可包 括各種已實現(xiàn)的或者正在開發(fā)的技術(shù)或標準,例如,超文本傳輸協(xié)議(HTTP)動態(tài)自適應(yīng)流 媒體(DASH)、HTTP實況流媒體(HLS)或者互聯(lián)網(wǎng)信息服務(wù)(IIS)平滑流媒體。例如,用戶 設(shè)備可盡可能選擇高質(zhì)量(例如,高分辨率或高比特率)的能夠及時下載播放而不會在播 放過程中造成暫?;蛑匦戮彌_的事件的片段,因此,用戶設(shè)備可以無縫地使其媒體內(nèi)容播 放適應(yīng)不斷變化的網(wǎng)絡(luò)狀況。
[0005] 另一種內(nèi)容下發(fā)方式涉及下載,可用于部分滿足用戶的個體化需求。DASH可使用 戶擁有更好的體驗,例如,當網(wǎng)絡(luò)連接較快的時候,該用戶的設(shè)備可以取得高質(zhì)量的媒體內(nèi) 容;當網(wǎng)絡(luò)連接變差時,可以切換到低質(zhì)量的媒體內(nèi)容繼續(xù)播放內(nèi)容。在現(xiàn)有方案中,在由 用戶端設(shè)備取得并解碼媒體內(nèi)容的片段后,該媒體內(nèi)容的片段會被丟棄。相應(yīng)地,該片段可 能后續(xù)不會使用,例如,如果用戶端設(shè)備決定重新播放媒體內(nèi)容,可能需要從頭開始串流, 浪費網(wǎng)絡(luò)資源。
【發(fā)明內(nèi)容】
[0006] 在一實施例中,本發(fā)明包括一種由第一用戶端設(shè)備實現(xiàn)的方法,該方法包括:從流 媒體服務(wù)器接收媒體內(nèi)容的媒體表示描述文件(MPD);從一個或多個流媒體服務(wù)器接收所 述媒體內(nèi)容的多個片段;將所述MH)和至少一部分所述接收到的片段封裝,使得第二用戶 端設(shè)備可以通過所述已封裝Mro訪問所述已封裝片段。
[0007] 在另一個實施例中,本發(fā)明包括一種裝置,包括:接收器,用于接收描述媒體內(nèi)容 的Mro和所述媒體內(nèi)容的多個片段;處理器,與所述接收器耦合,用于使用所述接收到的片 段播放所述媒體內(nèi)容;存儲器,與所述處理器耦合,用于存儲所述Mro和至少一部分所述接 收到的片段,其中,可以通過所述存儲的Mro取得所述存儲的片段中的每一個片段,所述處 理器還用于使用至少一些所述存儲的片段重新播放所述媒體內(nèi)容。
[0008] 在又一個實施例中,本發(fā)明包括一種由第二用戶端設(shè)備實現(xiàn)的用于獲得包含多個 片段的媒體內(nèi)容的方法,該方法包括:從作為源設(shè)備的第一用戶端設(shè)備獲得所述片段的第 一部分;從流媒體服務(wù)器獲得所述片段的第二部分;使用所述片段的第一部分和所述片段 的第二部分播放所述媒體內(nèi)容。
[0009] 通過以下結(jié)合附圖和權(quán)利要求的詳細描述,這些以及其他特征將會被清楚的理 解。
【附圖說明】
[0010] 為了更完整地理解本發(fā)明,現(xiàn)參考以下簡單描述,并結(jié)合附圖和詳細的說明,其 中,相同圖例編號代表相同部分。
[0011] 圖1為內(nèi)容下發(fā)系統(tǒng)的實施例的示意圖;
[0012] 圖2為用戶端設(shè)備的實施例的示意圖;
[0013] 圖3示出了 Mro文件直接包含片段數(shù)據(jù)的示例性實施方式;
[0014] 圖4示出了 Mro和片段數(shù)據(jù)屬于同一個文件的另一種示例性實施方式;
[0015] 圖5示出了將資源元素添加到Mro中作為所述Mro的子元素的又一種示例性實施 方式;
[0016] 圖6示出了將本地統(tǒng)一資源標識符(URI)元素添加到每一個片段元素的又一種示 例性實施方式;
[0017] 圖7示出了將存儲的片段數(shù)據(jù)通過XML特征鏈接到對應(yīng)的片段元素的又一種示例 性實施方式;
[0018] 圖8示出了將存儲的片段數(shù)據(jù)通過完整路徑鏈接到對應(yīng)的片段元素的又一種示 例性實施方式;
[0019] 圖9示出了生成MPD擴展的又一種示例性實施方式;
[0020] 圖IOA和圖IOB示出了將MPD和片段數(shù)據(jù)封裝成文件的相互獨立的部分的又一種 示例性實施方式;
[0021] 圖11示出了將MPD和片段數(shù)據(jù)封裝到文件的又一種示例性實施方式;
[0022] 圖12為文件處理方法的實施例的流程圖;
[0023] 圖13A和圖13B示出了將MPD和片段數(shù)據(jù)封裝成兩個單獨文件的又一種示例性實 施方式;
[0024] 圖14為另一種處理媒體內(nèi)容方法的實施例的流程圖;
[0025] 圖15為又一種獲得和播放媒體內(nèi)容的方法的實施例的流程圖;
[0026] 圖16為網(wǎng)絡(luò)設(shè)備的實施例的示意圖。
【具體實施方式】
[0027] 首先應(yīng)理解,盡管下文提供一項或多項實施例的說明性實施方案,但所公開的系 統(tǒng)和/或方法可使用任何數(shù)目的技術(shù)來實施,無論該技術(shù)是當前已知還是現(xiàn)有的。本發(fā)明 決不應(yīng)限于下文所說明的說明性實施方案、附圖和技術(shù),包括本文所說明并描述的示例性 設(shè)計和實施方案,而是可在所附權(quán)利要求書的范圍以及其等效物的完整范圍內(nèi)修改。
[0028] 根據(jù)本發(fā)明介紹的實施例,一旦從內(nèi)容提供者或者服務(wù)器上獲得媒體片段,用戶 端設(shè)備能夠進一步利用所述媒體片段。這些片段還可進一步用于在所述用戶端設(shè)備上重新 播放的媒體內(nèi)容,或用于供所述用戶端設(shè)備與第二用戶端設(shè)備共享,或者既可以用于重新 播放也可以用于共享。具體地,可以封裝或存儲所述用戶端設(shè)備第一次接收到的MH)和片 段,使得第二用戶端設(shè)備可以通過所述已封裝Mro訪問已封裝片段。所述Mro和所述片段 可以存儲為單個文件或者單獨的相關(guān)聯(lián)的文件,單個文件存儲可采用各種形式(例如,MPD 直接包含片段或者將片段鏈接到所述Mro的元素),并且允許所述第二設(shè)備無需通過遠程 內(nèi)容提供者就可下載所述文件;多文件存儲可以允許所述第二用戶端設(shè)備從源設(shè)備上串流 所述媒體內(nèi)容中的至少一部分。
[0029] 圖1是內(nèi)容下發(fā)系統(tǒng)100的實施例的示意圖,該內(nèi)容下發(fā)系統(tǒng)100可包括一個或 多個媒體流服務(wù)器和流客戶端。例如,圖1示出了流媒體服務(wù)器110、流媒體服務(wù)器120、流 媒體服務(wù)器130、源設(shè)備140、宿設(shè)備150,其中的每一個都與其它設(shè)備相互連接。所述源設(shè) 備140和所述宿設(shè)備150都可以是從所述服務(wù)器110至130中的一個或多個中獲得(通過 下載或串流)媒體內(nèi)容的流客戶端,其中媒體內(nèi)容可以為例如音頻、視頻、文本或其組合中 的任何可實施的形式的媒體內(nèi)容。所述媒體內(nèi)容可包含任何適用的信息類型,例如,電影、 音樂和/或電子出版物等。另外,在從所述服務(wù)器110至130中獲得媒體內(nèi)容后,所述源設(shè) 備140可進一步與所述宿設(shè)備150共享所述獲得的媒體內(nèi)容。在這個意義上,所述源設(shè)備 140作為所述宿設(shè)備150的流媒體服務(wù)器,所述宿設(shè)備150可以從所述源設(shè)備140上獲得所 述媒體內(nèi)容中的至少一部分。
[0030] 所述內(nèi)容下發(fā)系統(tǒng)100可以實現(xiàn)任何合適的內(nèi)容下發(fā)方案或方法,例如,DASH方 案。所述流客戶端可以為在用戶設(shè)備如所述源設(shè)備140或所述宿設(shè)備150的操作系統(tǒng)中實 現(xiàn)的程序或應(yīng)用,或者可以為在網(wǎng)(web)平臺接入的web客戶端。
[0031] 所述流媒體服務(wù)器110(同樣適用于其它流媒體服務(wù)器)可以作為任何合適類型 的服務(wù)器,例如,HTTP服務(wù)器實施,其中,媒體內(nèi)容可由流媒體準備單元生成或準備,其中所 述流媒體準備單元可以位于HTTP服務(wù)器或者其他地方(例如,位于內(nèi)容提供者)。所述流 媒體服務(wù)器110可以為內(nèi)容提供者的一部分,或者可以為內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)中的節(jié)點,其 中,媒體內(nèi)容可由內(nèi)容提供者生成然后傳輸?shù)紺DN節(jié)點。所述流媒體服務(wù)器110中的媒體 內(nèi)容可包括Mro和多個片段。應(yīng)注意的是,如果需要,所述Mro和所述片段可以存儲在不同