技術(shù)領(lǐng)域
本發(fā)明涉及例如媒體數(shù)據(jù)的流式傳輸?shù)鹊拿襟w數(shù)據(jù)在網(wǎng)絡(luò)上的傳遞。
背景技術(shù):
數(shù)字視頻能力可并入到廣泛范圍的裝置中,包含數(shù)字電視、數(shù)字直播系統(tǒng)、無線廣播系統(tǒng)、個(gè)人數(shù)字助理(PDA)、膝上型或桌上型計(jì)算機(jī)、數(shù)碼相機(jī)、數(shù)字記錄裝置、數(shù)字媒體播放器、視頻游戲裝置、視頻游戲控制臺、蜂窩式或衛(wèi)星無線電電話、視頻電話會議裝置及其類似物。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù),例如,由MPEG-2、MPEG-4、ITU-TH.263或ITU-T H.264/MPEG-4第10部分高級視頻譯碼(AVC)、ITU-T H.265/MPEG-H第2部分定義的標(biāo)準(zhǔn)及此類標(biāo)準(zhǔn)的擴(kuò)展中所描述的那些視頻壓縮技術(shù),以更有效地發(fā)射及接收數(shù)字視頻信息。
視頻壓縮技術(shù)執(zhí)行空間預(yù)測及/或時(shí)間預(yù)測以減少或移除視頻序列中固有的冗余。對于基于塊的視頻譯碼來說,可將視頻幀或切片分割為宏塊??蛇M(jìn)一步分割每一宏塊。使用相對于相鄰宏塊的空間預(yù)測來編碼經(jīng)幀內(nèi)譯碼(I)幀或切片中的宏塊。經(jīng)幀間譯碼(P或B)幀或切片中的宏塊可使用相對于同一幀或切片中的相鄰宏塊的空間預(yù)測或相對于其它參考幀的時(shí)間預(yù)測。
在已對視頻數(shù)據(jù)(及/或其它媒體數(shù)據(jù),例如音頻及/或定時(shí)文本數(shù)據(jù))進(jìn)行編碼之后,媒體數(shù)據(jù)可經(jīng)包化以供發(fā)射或存儲??墒褂脝尾f(xié)議,例如超文本傳輸協(xié)議(HTTP)或廣播或多播協(xié)議,例如增強(qiáng)的多媒體廣播多播服務(wù)(eMBMS)發(fā)送包化媒體數(shù)據(jù)。
技術(shù)實(shí)現(xiàn)要素:
一般來說,本發(fā)明描述用于準(zhǔn)備媒體內(nèi)容的技術(shù),所述媒體內(nèi)容用于自適應(yīng)流式傳輸,使得在播出及流式傳輸情況下,可通過用信號表示周期邊界來剪接及添加進(jìn)入現(xiàn)有的媒體數(shù)據(jù)集合中的額外的媒體數(shù)據(jù)(例如,廣告媒體數(shù)據(jù)),舉例來說,通過使用內(nèi)容的發(fā)送器處的決策或通過接收內(nèi)容的接收器,但同時(shí)當(dāng)不添加額外的媒體內(nèi)容時(shí),接收器具有足夠信息:接收器處的內(nèi)容的解碼及播出跨越周期邊界是連續(xù)的,即,保持周期連續(xù)性。媒體內(nèi)容可分為不同周期,其中每個(gè)周期包含一或多個(gè)適應(yīng)集合,每個(gè)適應(yīng)集合包含一或多個(gè)表示。一般來說,同一適應(yīng)集合內(nèi)的表示可被視為彼此的替代,使得客戶端裝置可在表示之間切換,例如以適應(yīng)改變網(wǎng)絡(luò)帶寬。一周期內(nèi)的適應(yīng)集合可包含此類可切換表示,即,共享共同譯碼及再現(xiàn)特征,但位速率不同的表示。
本發(fā)明描述用于將一個(gè)周期中提供的內(nèi)容拆分成兩個(gè)連續(xù)周期使得額外的媒體數(shù)據(jù)可插入所述連續(xù)周期之間的技術(shù)。以此方式,無需在添加媒體數(shù)據(jù)之后再用信號表示用于連續(xù)周期的表示的特征。替代地,用于一個(gè)周期中的表示的數(shù)據(jù)的相同用信號表示特征可用于下一連續(xù)周期中的表示的數(shù)據(jù)(其中額外的媒體數(shù)據(jù)可插入連續(xù)周期之間)。以此方式,可通過連續(xù)方式呈現(xiàn)媒體內(nèi)容的媒體數(shù)據(jù)及添加的媒體數(shù)據(jù)。舉例來說,客戶端裝置可基于第一周期的適應(yīng)集合的選擇而使用對應(yīng)于第一周期的適應(yīng)集合的第二周期的適應(yīng)集合(例如,不需要再分析第二周期的適應(yīng)集合的特征且不需要再初始化客戶端中的媒體解析及解碼實(shí)體)。
在一個(gè)實(shí)例中,檢索媒體數(shù)據(jù)的方法包含:確定媒體內(nèi)容的清單文件指示媒體內(nèi)容包含第一周期及第二周期、所述清單文件指示第一及第二周期是連續(xù)的及廣告媒體數(shù)據(jù)可用于插入第一及第二周期之間;至少部分地基于針對第一周期中的第一適應(yīng)集合用信號表示的特征而選擇所述第一適應(yīng)集合;基于第一適應(yīng)集合的選擇而檢索第一適應(yīng)集合的媒體數(shù)據(jù);檢索廣告媒體數(shù)據(jù);及基于第一適應(yīng)集合的選擇而檢索與第一適應(yīng)集合相關(guān)聯(lián)的第二周期中的第二適應(yīng)集合的媒體數(shù)據(jù)。
在另一實(shí)例中,用于檢索媒體數(shù)據(jù)的裝置包含:存儲器,其經(jīng)配置以存儲媒體數(shù)據(jù);及一或多個(gè)基于硬件的處理器,其經(jīng)配置以:確定媒體內(nèi)容的清單文件指示媒體內(nèi)容包含第一周期及第二周期、所述清單文件指示第一及第二周期是連續(xù)的及廣告媒體數(shù)據(jù)可用于插入第一及第二周期之間;至少部分地基于針對第一周期中的第一適應(yīng)集合用信號表示的特征而選擇所述第一適應(yīng)集合;基于第一適應(yīng)集合的選擇而檢索第一適應(yīng)集合的媒體數(shù)據(jù);檢索廣告媒體數(shù)據(jù);及基于第一適應(yīng)集合的選擇而檢索第二周期中的第二適應(yīng)集合的媒體數(shù)據(jù)且將所檢索媒體數(shù)據(jù)存儲到存儲器,清單文件指示第二周期中的第二適應(yīng)集合與第一適應(yīng)集合相關(guān)聯(lián)。
在另一實(shí)例中,發(fā)送媒體數(shù)據(jù)的方法包含:通過媒體服務(wù)器將媒體數(shù)據(jù)的主要內(nèi)容拆分成多個(gè)周期,包含第一周期及第二周期,其中第一周期及第二周期在時(shí)間上是依序的;通過媒體服務(wù)器將輔助媒體內(nèi)容插入第一周期與第二周期之間;通過媒體服務(wù)器用信號表示多個(gè)周期中的每一者的時(shí)間指示符,其中時(shí)間指示符界定用于多個(gè)周期中的每一者的一或多個(gè)時(shí)間特征;及通過媒體服務(wù)器從基于HTTP的動態(tài)自適應(yīng)流(DASH)客戶端接收請求以檢索包括多個(gè)周期、輔助媒體內(nèi)容及時(shí)間指示符的媒體流。
在另一實(shí)例中,用于發(fā)送媒體數(shù)據(jù)的裝置包含:存儲器,其經(jīng)配置以存儲媒體數(shù)據(jù);及一或多個(gè)基于硬件的處理器,其經(jīng)配置以將媒體數(shù)據(jù)的主要內(nèi)容拆分成多個(gè)周期,包含在時(shí)間上依序的第一周期及第二周期;將輔助媒體內(nèi)容插入第一周期與第二周期之間;用信號表示多個(gè)周期中的每一者的時(shí)間指示符,其中時(shí)間指示符界定用于多個(gè)周期中的每一者的一或多個(gè)時(shí)間特征;及從基于HTTP的動態(tài)自適應(yīng)流(DASH)客戶端接收請求以檢索包括多個(gè)周期、輔助媒體內(nèi)容及時(shí)間指示符的媒體流。
附圖及以下描述中闡明一或多個(gè)實(shí)例的細(xì)節(jié)。其它特征、目標(biāo)及優(yōu)點(diǎn)將從所述描述及圖式以及從權(quán)利要求書中顯而易見。
附圖說明
圖1是說明實(shí)施用于在網(wǎng)絡(luò)上流式傳輸媒體數(shù)據(jù)的技術(shù)的實(shí)例系統(tǒng)的框圖。
圖2是說明實(shí)例多媒體內(nèi)容的元素的概念圖。
圖3是說明可實(shí)施本發(fā)明的技術(shù)的另一實(shí)例系統(tǒng)的框圖。
圖4至6是說明根據(jù)本發(fā)明的各個(gè)方面的一或多個(gè)技術(shù)的流程圖。
圖7是說明通過媒體服務(wù)器執(zhí)行本發(fā)明的某些技術(shù)的實(shí)例方法的流程圖。
圖8是說明通過客戶端裝置執(zhí)行本發(fā)明的某些技術(shù)的實(shí)例方法的流程圖。
具體實(shí)施方式
一般來說,本發(fā)明描述用于連續(xù)多周期流中的廣告(ad)插入的技術(shù)。當(dāng)流式傳輸媒體數(shù)據(jù)時(shí),可例如根據(jù)單播服務(wù)(例如HTTP)、廣播或多播服務(wù),例如增強(qiáng)的多媒體廣播多播服務(wù)(eMBMS)使用這些技術(shù)。舉例來說,本發(fā)明的技術(shù)可與MBMS改進(jìn)增強(qiáng)的MBMS操作(MI-EMO)的技術(shù)結(jié)合使用或用于增強(qiáng)所述技術(shù)。MI-EMO描述于(例如)2013年12月的3GPP第12版V0.1.1的概述,其可從以下處獲得:http://www.3gpp.org/ftp/Information/WORK_PLAN/Description_Releases/Rel-12_description_20131224.zip。
應(yīng)理解,廣告數(shù)據(jù)是媒體數(shù)據(jù),即,在主要媒體數(shù)據(jù)的呈現(xiàn)的一或多個(gè)短暫間斷期間呈現(xiàn)給用戶的數(shù)據(jù)。額外的媒體數(shù)據(jù)(例如,廣告媒體數(shù)據(jù))通常以與主要媒體數(shù)據(jù)基本上相同的方式呈現(xiàn)。舉例來說,如果主要媒體數(shù)據(jù)包含音頻數(shù)據(jù)及視頻數(shù)據(jù)兩者,則廣告媒體數(shù)據(jù)可能也包含音頻數(shù)據(jù)及視頻數(shù)據(jù)。因此,廣告數(shù)據(jù)不應(yīng)與到客戶端裝置的服務(wù)器廣告混淆,所述服務(wù)器廣告通常不會呈現(xiàn)給用戶。
本發(fā)明的技術(shù)可應(yīng)用于流式傳輸網(wǎng)絡(luò)協(xié)議的上下文中,例如,基于HTTP的動態(tài)自適應(yīng)流(DASH)中。在DASH中,媒體內(nèi)容分成一組表示,其中每個(gè)表示對應(yīng)于特征的特定組合,例如譯碼特征(例如,編解碼器、簡檔、水平及其類似者)、再現(xiàn)特征(例如,視角、圖片尺寸、幀率以及其類似者)及位速率。媒體內(nèi)容可進(jìn)一步包含適應(yīng)集合,其中每個(gè)適應(yīng)集合包含用作彼此的可切換替代物的多個(gè)表示,使得所述表示共享相同再現(xiàn)特征,但位速率不同,例如,出于帶寬適應(yīng)的目的。表示的這些特征以及適應(yīng)集合的指示通常在清單文件中用信號表示。此外,每個(gè)適應(yīng)集合可以對應(yīng)于媒體內(nèi)容的特定周期,其中每個(gè)周期可包含一或多個(gè)適應(yīng)集合。一個(gè)周期通常對應(yīng)于由所述周期的開始播出時(shí)間界定的媒體內(nèi)容的區(qū)段,直到后續(xù)周期的開始播出時(shí)間為止。媒體內(nèi)容可包含一或多個(gè)周期。
本發(fā)明涉及清單文件(例如,媒體呈現(xiàn)描述(MPD))及產(chǎn)生為點(diǎn)播或直播內(nèi)容的內(nèi)容到提供周期連續(xù)性的具有多個(gè)周期的MPD(或其它清單文件)的轉(zhuǎn)換??沙鲇诓煌虍a(chǎn)生具有多個(gè)周期的內(nèi)容。舉例來說,可產(chǎn)生多個(gè)周期以實(shí)現(xiàn)內(nèi)容的剪接,例如用于廣告插入。在另一實(shí)例中,可產(chǎn)生多個(gè)周期以提供同步點(diǎn)以避免段號的偏移。在另一實(shí)例中,可產(chǎn)生多個(gè)周期以在適應(yīng)集合中清除或添加某些表示。在另一實(shí)例中,可產(chǎn)生多個(gè)周期以清除或添加某些適應(yīng)集合。在另一實(shí)例中,可產(chǎn)生多個(gè)周期以添加或清除在某些內(nèi)容分布網(wǎng)絡(luò)(CDN)上提供的內(nèi)容。在另一實(shí)例中,可產(chǎn)生多個(gè)周期以實(shí)現(xiàn)更短片段(如果通過編碼器產(chǎn)生)的用信號表示。這些實(shí)例技術(shù)可單獨(dú)或以任何組合使用。
周期提供廣告插入的機(jī)會,也稱為線索。但基于發(fā)送器或客戶端作出的決策,可添加或可不添加廣告。因此,就媒體解析及再現(xiàn)而言,不插入廣告的內(nèi)容通常是連續(xù)的。如果周期是連續(xù)的,則用信號表示客戶端的連續(xù)播出,使得客戶端不必再初始化且避免在周期邊界處的干擾的任何可能結(jié)果。為了滿足連續(xù)播出,本發(fā)明描述不同技術(shù)。在一個(gè)實(shí)例中,內(nèi)容提供商將規(guī)則點(diǎn)播內(nèi)容拆分成多個(gè)周期并且提供周期連續(xù)性信令。在另一實(shí)例中,內(nèi)容提供商將規(guī)則直播內(nèi)容拆分成多個(gè)時(shí)間并且提供周期連續(xù)性信令。在另一實(shí)例中,內(nèi)容提供商用信號表示內(nèi)容以實(shí)現(xiàn)周期連續(xù)性。在另一實(shí)例中,內(nèi)容提供商僅基于MPD信息用信號表示多個(gè)周期,而無需修改媒體內(nèi)容,即表示。
在一些實(shí)例中,當(dāng)使用廣播或多播接收媒體內(nèi)容時(shí),MBMS客戶端或eMBMS客戶端可接收媒體內(nèi)容,隨后使媒體內(nèi)容可用于流式傳輸客戶端,例如DASH客戶端。DASH客戶端可使用(例如)HTTP檢索操作從MBMS客戶端檢索媒體內(nèi)容。在HTTP流式傳輸(例如,DASH)中,頻繁使用的操作包含HEAD、GET及部分GET。HEAD操作檢索與給定的統(tǒng)一資源定位符(URL)或統(tǒng)一資源名(URN)相關(guān)聯(lián)的文件的標(biāo)頭,而不檢索與URL或URN相關(guān)聯(lián)的有效負(fù)載。GET操作檢索與給定URL或URN相關(guān)聯(lián)的整個(gè)文件。部分GET操作接收字節(jié)范圍作為輸入?yún)?shù),且檢索文件的持續(xù)數(shù)目的字節(jié),其中所述字節(jié)數(shù)目對應(yīng)于接收到的字節(jié)范圍。因而,可以提供電影片段以用于HTTP流式傳輸,因?yàn)椴糠諫ET操作可獲得一或多個(gè)個(gè)別的電影片段。在一電影片段中,可能存在不同軌道的幾個(gè)軌道片段。在HTTP流式傳輸中,媒體呈現(xiàn)可為客戶端可存取的數(shù)據(jù)的經(jīng)構(gòu)造集合。客戶端可請求及下載媒體數(shù)據(jù)信息以向用戶呈現(xiàn)流式傳輸服務(wù)。
在使用HTTP流式傳輸來流式傳輸3GPP數(shù)據(jù)的實(shí)例中,可能存在對于多媒體內(nèi)容的視頻及/或音頻數(shù)據(jù)的多個(gè)表示。如下文所解釋,不同表示可對應(yīng)于不同譯碼特征(例如,視頻譯碼標(biāo)準(zhǔn)的不同簡檔或水平)、不同譯碼標(biāo)準(zhǔn)或譯碼標(biāo)準(zhǔn)的擴(kuò)展(例如多視圖及/或可縮放擴(kuò)展)或不同位速率。這些表示的清單可在媒體呈現(xiàn)描述(MPD)數(shù)據(jù)結(jié)構(gòu)中定義。媒體呈現(xiàn)可對應(yīng)于可為HTTP流式傳輸客戶端裝置可存取的數(shù)據(jù)的經(jīng)構(gòu)造集合。HTTP流式傳輸客戶端裝置可請求及下載媒體數(shù)據(jù)信息以向客戶端裝置的用戶呈現(xiàn)流式傳輸服務(wù)。媒體呈現(xiàn)可在MPD數(shù)據(jù)結(jié)構(gòu)中描述,MPD數(shù)據(jù)結(jié)構(gòu)可包含MPD的更新。
媒體呈現(xiàn)可含有一或多個(gè)周期的序列。周期可通過MPD中的周期元素來定義。MPD可包含每一周期的start屬性和availableStartTime屬性。對于直播服務(wù),周期的start屬性與MPD屬性availableStartTime的總和可用UTC格式指定周期的可用性時(shí)間,具體來說是對應(yīng)周期中的每一表示的第一媒體片段。對于點(diǎn)播服務(wù),第一周期的start屬性可為0。對于任何其它周期,start屬性可指定對應(yīng)周期的開始時(shí)間相對于第一周期的開始時(shí)間之間的時(shí)間偏移。每一周期可延伸直到下一周期的開始為止,或者在最后一個(gè)周期的情況下直到媒體呈現(xiàn)的結(jié)束為止。周期開始時(shí)間可以是精確的。周期開始時(shí)間可反映由播放所有先前周期的媒體所產(chǎn)生的實(shí)際定時(shí)。
每一周期可含有相同媒體內(nèi)容的一或多個(gè)表示。表示可以是音頻或視頻數(shù)據(jù)的多個(gè)替代經(jīng)編碼版本中的一者。所述表示可依據(jù)編碼類型而不同,例如依據(jù)位速率、分辨率,及/或用于視頻數(shù)據(jù)及位速率的編解碼器,及/或用于音頻數(shù)據(jù)的編解碼器。術(shù)語“表示”可用于指代經(jīng)編碼音頻或視頻數(shù)據(jù)的對應(yīng)于多媒體內(nèi)容的特定周期并且用特定方式編碼的區(qū)段。
特定周期的表示可指派給由MPD中的屬性(所述屬性指示表示所屬的適應(yīng)集合)指示的群組。同一適應(yīng)集合中的表示通常被視為彼此的替代,因?yàn)榭蛻舳搜b置可在這些表示之間動態(tài)地且無縫地切換,例如以執(zhí)行帶寬適應(yīng)。舉例來說,特定周期的視頻數(shù)據(jù)的每個(gè)表示可指派給同一適應(yīng)集合,使得可選擇這些表示中的任一者進(jìn)行解碼以呈現(xiàn)對應(yīng)周期的多媒體內(nèi)容的媒體數(shù)據(jù)(例如,視頻數(shù)據(jù)或音頻數(shù)據(jù))。在一些實(shí)例中,一個(gè)周期內(nèi)的媒體內(nèi)容可由來自群組0(如果存在的話)的一個(gè)表示來表示,或者由來自每一非零群組的至多一個(gè)表示的組合來表示??上鄬τ谥芷诘拈_始時(shí)間來表達(dá)所述周期的每一表示的定時(shí)數(shù)據(jù)。
表示可包含一或多個(gè)片段。每一表示可包含初始化片段,或表示的每一片段可自初始化。當(dāng)存在時(shí),初始化片段可含有用于存取所述表示的初始化信息。一般來說,初始化片段不含媒體數(shù)據(jù)。片段可由識別符唯一地參考,例如統(tǒng)一資源定位符(URL)、統(tǒng)一資源名(URN)或統(tǒng)一資源識別符(URI)。MPD可提供每一片段的識別符。在一些實(shí)例中,MPD還可提供range屬性的形式的字節(jié)范圍,所述字節(jié)范圍可對應(yīng)于可通過URL、URN或URI存取的文件內(nèi)的片段的數(shù)據(jù)。
不同表示可選擇用于不同類型的媒體數(shù)據(jù)的基本上同時(shí)的檢索。舉例來說,客戶端裝置可選擇音頻表示、視頻表示及定時(shí)文本表示,從這些表示中檢索區(qū)段。在一些實(shí)例中,客戶端裝置可選擇特定適應(yīng)集合用于執(zhí)行帶寬適應(yīng)。也就是說,客戶端裝置可選擇包含視頻表示的適應(yīng)集合、包含音頻表示的適應(yīng)集合及/或包含定時(shí)文本的適應(yīng)集合。或者,客戶端裝置可選擇用于某些類型的媒體(例如,視頻)的適應(yīng)集合,并且直接選擇其它類型的媒體(例如,音頻及/或定時(shí)文本)的表示。
通常就內(nèi)容提供而言,在周期邊界處不需要連續(xù)性??赏ㄟ^不同編解碼器、語言屬性、內(nèi)容保護(hù)等提供內(nèi)容。預(yù)期客戶端跨越周期連續(xù)地播放內(nèi)容,但就實(shí)施方案而言可存在使播放完全連續(xù)及無縫的暗示。
一般來說,跨越周期邊界的音頻/視頻切換可能不是無縫的。根據(jù)ISO/IEC 23009-1,章節(jié)7.2.1,在新周期開始時(shí),媒體內(nèi)容組成的播出程序可能需要在前一周期結(jié)束時(shí)進(jìn)行調(diào)整以匹配新周期的周期開始時(shí)間,因?yàn)樵谇耙恢芷诮Y(jié)束時(shí)可能存在與表示的較小重疊或間隙。重疊(相應(yīng)地間隙)可能由具有比周期持續(xù)時(shí)間所指示更長(相應(yīng)地更短)的媒體流的實(shí)際呈現(xiàn)持續(xù)時(shí)間的媒體片段產(chǎn)生。此外,在周期開始時(shí),如果表示的任何存取單元的最早呈現(xiàn)時(shí)間可能不等于@presentationTimeOffset中用信號表示的呈現(xiàn)時(shí)間偏移,則播出程序需要相應(yīng)地進(jìn)行調(diào)整。
然而,在某些條件下,可獲得跨越周期的呈現(xiàn)的無縫延續(xù),尤其在適當(dāng)調(diào)節(jié)內(nèi)容的情況下。當(dāng)跨越周期下載及呈現(xiàn)內(nèi)容時(shí),此區(qū)段提供關(guān)于跨越周期的內(nèi)容提供需求及建議以及客戶端行為的概述。
應(yīng)注意,下文的論述適用于靜態(tài)及動態(tài)媒體呈現(xiàn)兩者,并且下文所描述的技術(shù)可與x鏈路的使用無關(guān)。下文描述的規(guī)則可適用于在解引用遠(yuǎn)程元件之后的情況。
表示的呈現(xiàn)持續(xù)時(shí)間可為表示的最終呈現(xiàn)時(shí)間與表示的最早呈現(xiàn)時(shí)間之間的差。呈現(xiàn)時(shí)間持續(xù)時(shí)間可具有(舉例來說)與呈現(xiàn)時(shí)間偏移相同的單元,即@timescale,并且表達(dá)表示的準(zhǔn)確呈現(xiàn)持續(xù)時(shí)間。
可通過兩個(gè)以下實(shí)例技術(shù)中的一者或類似技術(shù)用信號表示呈現(xiàn)持續(xù)時(shí)間。一個(gè)實(shí)例技術(shù)涉及指定在@timescale屬性的時(shí)間標(biāo)度中的所包含表示的呈現(xiàn)持續(xù)時(shí)間的新任選屬性@presentationTimeDuration。第二實(shí)例技術(shù)涉及具有設(shè)定成“urn:mpeg:dash:period_continuity:2014”的@scheme_id_URI的補(bǔ)充描述符,所述補(bǔ)充描述符可提供用于適應(yīng)集合,其中描述符的@value(即,PID)匹配可包含于MPD中的周期的@id的值,AdaptationSet@id的值為AID并且可提供此適應(yīng)集合的@presentationTimeOffset的值且所述值可為PTO。
如果此信號存在,則針對period@id的值為PID的周期及針對AdaptationSet@id為AID的適應(yīng)集合,此適應(yīng)集合中的每個(gè)表示的呈現(xiàn)持續(xù)時(shí)間可獲得為PTO減去@presentationTimeOffset的值的差。
如果內(nèi)容可通過多個(gè)周期提供,則內(nèi)容提供商可提供內(nèi)容,使得實(shí)際媒體呈現(xiàn)時(shí)間可盡可能接近實(shí)際周期持續(xù)時(shí)間??山ㄗh,周期持續(xù)時(shí)間可為包含于周期中的所有表示的呈現(xiàn)持續(xù)時(shí)間的最大值。
在某些情形中,內(nèi)容提供商提供下一周期中的內(nèi)容,所述內(nèi)容可為前一周期中,可能緊跟著的周期中或稍后的周期中的內(nèi)容的延續(xù)。舉例來說,在已插入廣告周期之后后者適用。內(nèi)容提供商可表達(dá)通過將等效資產(chǎn)識別符指派給兩個(gè)周期及通過識別具有屬性@id的相同值的兩個(gè)適應(yīng)集合,包含于兩個(gè)不同周期中的兩個(gè)適應(yīng)集合中的媒體組成相關(guān)聯(lián)。
如果兩個(gè)不同周期中的適應(yīng)集合相關(guān)聯(lián),則以下參數(shù)中的任一者或全部針對兩個(gè)適應(yīng)集合可為相同的:如通過@lang屬性描述的語言、通過@contentType屬性描述的媒體組成類型、如通過@par屬性描述的圖片高寬比、如通過角色元素描述的任何角色特性、如通過可存取性元素描述的任何可存取性特性及如通過視角元素描述的視角特性。在一個(gè)實(shí)例中,可根據(jù)本發(fā)明的技術(shù)修改DASH標(biāo)準(zhǔn),以要求在兩個(gè)不同周期中的適應(yīng)集合相關(guān)聯(lián)的情況下,以上參數(shù)中的每一者針對兩個(gè)適應(yīng)集合相同。
此外,如果以下條件中的每一者針對兩個(gè)適應(yīng)集合是真實(shí)的,則一個(gè)MPD中的兩個(gè)適應(yīng)集合可稱為周期連續(xù)的:
●適應(yīng)集合被指示為相關(guān)聯(lián)及/或確定為相關(guān)聯(lián),
●@presentationTimeOffset可存在或針對兩個(gè)適應(yīng)集合中的所有表示可推斷為0,
●在一個(gè)適應(yīng)集合內(nèi),@presentationTimeOffset的值針對所有表示可為相同的,
●@presentationTimeOffset的值與一個(gè)適應(yīng)凝視中的所有表示的呈現(xiàn)持續(xù)時(shí)間的總和等于另一適應(yīng)集合中的@presentationTimeOffset的值,及
●如果兩個(gè)適應(yīng)集合中的表示具有@id的相同值,則這些表示可具有功能上等效的初始化片段,即,一個(gè)表示的初始化片段可用于繼續(xù)另一表示的播出。
內(nèi)容作者可通過使用上文引入的兩個(gè)實(shí)例技術(shù)中的一者(例如,使用呈現(xiàn)持續(xù)時(shí)間信令,例如@presentationTimeDuration屬性及/或具有設(shè)定成“urn:mpeg:dash:period_continuity:2014”的@scheme_id_URI的補(bǔ)充描述符)用信號表示呈現(xiàn)持續(xù)時(shí)間而用信號表示周期連續(xù)的適應(yīng)集合。如果MPD含有具有相同資產(chǎn)識別符的周期,則內(nèi)容作者可向MPD提供周期連續(xù)的適應(yīng)集合。此外,如果一個(gè)MPD中的兩個(gè)適應(yīng)集合是周期連續(xù)的并且第二適應(yīng)集合已使具有@schemeIDURI=“urn:mpeg:dash:period-switchable”的補(bǔ)充描述符相關(guān)聯(lián),則第一適應(yīng)的任何表示與來自不具有初始化片段的第二適應(yīng)集合的任何表示的級聯(lián)產(chǎn)生位流格式,當(dāng)在第一適應(yīng)集合中用信號表示時(shí),所述位流格式符合使用的媒體格式。此特性可稱為周期可級聯(lián)適應(yīng)集合。對于客戶端處的簡化處理,如果MPD含有具有相同資產(chǎn)識別符的周期,則內(nèi)容作者可向MPD提供周期可級聯(lián)的適應(yīng)集合。
通常就內(nèi)容提供而言,在周期邊界處確保連續(xù)性。此外,內(nèi)容可通過不同編解碼器、語言屬性及不同保護(hù)提供??蛻舳丝煽缭街芷谶B續(xù)地播放內(nèi)容,但就實(shí)施方案而言可存在提供完全連續(xù)及無縫播出的暗示。在周期邊界處可能如此(例如,其中不存在連續(xù)性),呈現(xiàn)引擎可(舉例來說)由于格式、編解碼器或其它特性的變化再初始化。這可引起再初始化延遲。可減小或最小化此種再初始化延遲。
如果MPD為靜態(tài)類型,則實(shí)際媒體呈現(xiàn)可通過初始化延遲延長。然而,在動態(tài)服務(wù)的情況下,將再初始化延遲添加到播出可引起編碼器與呈現(xiàn)引擎之間的偏移。因此,可在每個(gè)周期結(jié)束時(shí)調(diào)整播出以提供連續(xù)呈現(xiàn),而不會添加MPD中記錄的時(shí)間與實(shí)際播出之間的偏移,即,實(shí)際播出時(shí)間與周期開始時(shí)間之間的差可保持恒定。
如果在一個(gè)周期中客戶端呈現(xiàn)特定適應(yīng)集合的媒體組成,并且如果以下周期已指派相同資產(chǎn)識別符,則客戶端可識別相關(guān)聯(lián)周期并且在不存在其它信息的情況下,繼續(xù)播放相關(guān)聯(lián)適應(yīng)集合中的內(nèi)容。
如果此外適應(yīng)集合是周期連續(xù)的,即,呈現(xiàn)時(shí)間是連續(xù)的且此可在MPD中用信號表示,則客戶端可跨越周期邊界無縫地播放內(nèi)容。最適當(dāng)?shù)氖牵蛻舳丝衫^續(xù)播放適應(yīng)集合中具有相同@id的表示,但不可保證此表示可為可用的。在這種情況下,客戶端應(yīng)無縫地切換到適應(yīng)集合中的任何其它表示。
輸入格式可為符合點(diǎn)播簡檔的MPD。下表中提供MPD的相關(guān)元素及屬性。在以下實(shí)例中,MPD含有兩個(gè)適應(yīng)集合。
表1-用于點(diǎn)播簡檔的相關(guān)信息
對于每個(gè)表示,可通過提供于表示為baseURL的BaseURL中的表示的URL下載片段指數(shù)并且SegmentBase@indexRange的值初始表示為如下:
GET baseURL HTTP/1.1
范圍:字節(jié)0-(初始-1)
隨后可針對片段指數(shù)解析接收到的字節(jié)范圍??蓮牡谝黄沃笖?shù)框中提取信息。軌道的時(shí)間標(biāo)度可從片段指數(shù)時(shí)間標(biāo)度中提取并且可表示為時(shí)間標(biāo)度。子片段的總數(shù)目Nsub可從片段指數(shù)中提取為reference_count。最早呈現(xiàn)時(shí)間ept可從片段指數(shù)中提取為earliest_presentation_time。第一偏移fo可從片段指數(shù)中提取為first_offset。對于每個(gè)葉子片段i,每個(gè)葉子片段的片段指數(shù)中的子片段持續(xù)時(shí)間表示為sdur[i],子片段大小表示為size[i]且其它子片段相關(guān)信息表示為ssi[i]。
在點(diǎn)播流的一個(gè)實(shí)例中,呈現(xiàn)可最早在相對于周期開始時(shí)間表達(dá)的媒體呈現(xiàn)時(shí)間tsplit處在兩個(gè)周期中拆分??纱嬖趦蓚€(gè)適應(yīng)集合并且每個(gè)適應(yīng)集合可具有一個(gè)表示。在一些實(shí)例中,可應(yīng)用適應(yīng)集合的子片段邊界的對準(zhǔn)。
可假設(shè)以下信息可用于單一周期內(nèi)容。
·period@start ps
·MPD@mediaPresentationDuration mpDUR
·BaseURL bu1,bu2
·SegmentBase@indexRange ir1,ir2
·SegmentBase@timecale ts1,ts2
·SegmentBase@presentationDuration pd1,pd2
·表示的片段指數(shù)
○Nsub1,Nsub2
○ept1,ept2
○fo1,fo2
○sdur1[i],sdur2[i]
○fo1[i],fo2[i]
○ssi1[i],ssi2[i]
為了產(chǎn)生新的媒體呈現(xiàn),可產(chǎn)生以下信息:
在針對每個(gè)適應(yīng)集合的每個(gè)表示的第一周期中的屬性及元素的更新:
a.period@start ps1
b.add period@duration pdur1=tsplit
c.BaseURL bu11,bu12
d.SegmentBase@indexRange ir11,ir12
e.SegmentBase@presentationTimeOffset pto11,pto12
f.SegmentBase@presentationDuration pd11,pd12
g.表示的片段指數(shù)
i.Nsub11,Nsub12
ii.ept11,ept12
iii.fo11,fo12
iv.sdur11[i],sdur12[i]
v.ssi11[i],ssi12[i]
h.可縮短表示本身
在每個(gè)表示的新第二周期中的元素及屬性的更新及添加:
a.add period@duration pdur2
b.BaseURL bu21,bu22
c.SegmentBase@indexRange ir21,ir22
d.SegmentBase@presentationTimeOffset pto21,pto22
e.SegmentBase@presentationDuration pd21,pd22
f.表示的片段指數(shù)
i.Nsub21,Nsub22
ii.ept21,ept22
iii.fo21,fo22
iv.sdur21[i],sdur22[i]
v.ssi21[i],ssi22[i]
可產(chǎn)生表示本身。
針對與片段邊界對準(zhǔn)的第一表示可如下產(chǎn)生新信息。例如根據(jù)以下算法,首先Nsub11可發(fā)現(xiàn)對應(yīng)于tsplit:
●時(shí)間=ept1-pto1
●Nsub11=0
●當(dāng)(時(shí)間<tsplit*ts1Nsub11<Nsub1))時(shí)
●執(zhí)行
○時(shí)間+=sdur[Nsub11]
○Nsub11++
●完成
通過此算法,可確定Nsub11。Nsub11可小于Nsub1。如果Nsub11不小于Nsub1,則不必執(zhí)行周期拆分。
當(dāng)可能需要準(zhǔn)確片段邊界處的拆分時(shí),表示1的拆分時(shí)間可為tsplit1=時(shí)間/ts1>=tsplit。應(yīng)注意,所通知的拆分可為tsplit,但在表示水平上,僅片段邊界被拆分。新的片段指數(shù)大小可小于前一個(gè)片段指數(shù)大小,即,新片段指數(shù)大小可小(Nsub1-Nsub11)*12字節(jié)。這可從第一偏移中扣除。
時(shí)間可為呈現(xiàn)持續(xù)時(shí)間pd11??删S持周期1的period@start。period@duration可設(shè)定成tsplit。以下算法是可如何針對周期1中的表示1產(chǎn)生新信息的一個(gè)實(shí)例。
●bu11=bu1_period1
●ir11=ir1-(Nsub1-Nsub11)*12
●pto11=pto1
●pd11=時(shí)間
●ept11=ept1
●fo11=fo1-(Nsub1-Nsub11)*12
●i=0
●當(dāng)(當(dāng)(i<Nsub11)時(shí))時(shí)
●執(zhí)行
○ssi11[i]=ssi1[i]
○i++
●完成
例如根據(jù)以下算法,隨后Nsub12可發(fā)現(xiàn)對應(yīng)于tsplit:
●時(shí)間=ept2-pto2
●Nsub12=0
●當(dāng)(時(shí)間<tsplit*ts2&&Nsub12<Nsub2))時(shí)
●執(zhí)行
○時(shí)間+=sdur[Nsub12]
○Nsub12++
●完成
表示2的真實(shí)拆分時(shí)間可為tsplit2=時(shí)間/ts2>=tsplit,可能需要準(zhǔn)確子片段邊界處的拆分。新的片段指數(shù)大小可小于前一個(gè)片段指數(shù)大小,例如,所述新片段指數(shù)大小可小(Nsub2-Nsub12)*12字節(jié)。這可從第一偏移中扣除。
時(shí)間可為呈現(xiàn)持續(xù)時(shí)間pd21。以下算法是可如何針對周期1中的表示2產(chǎn)生新信息的一個(gè)實(shí)例。
●bu12=bu2_period1
●ir12=ir2-(Nsub2-Nsub12)*12
●pto12=pto2
●pd12=時(shí)間
●ept12=ept2
●fo12=fo2-(Nsub2-Nsub12)*12
●i=0
●當(dāng)(當(dāng)(i<Nsub12)時(shí))時(shí)
●執(zhí)行
○ssi12[i]=ssi2[i]
○i++
●完成
可產(chǎn)生新的周期2。具體而言,在一個(gè)實(shí)例中,服務(wù)器裝置可產(chǎn)生新的周期2。首先,服務(wù)器裝置60可復(fù)制來自周期1的信息(此外資產(chǎn)識別符及具有標(biāo)識的適應(yīng)集合等)。不需要提供新周期的period@start。新周期的period@duration pdur2可為mpDUR-tsplit。以下算法是可如何針對周期2中的表示1產(chǎn)生新信息的一個(gè)實(shí)例。
●Nsub12=Nsub1-Nsub11
●bu21=bu1_period2
●ir21=ir1-(Nsub1-Nsub12)*12
●pto21=(tsplit1-tsplit)*ts1
●pd21=pd1-pd11
●ept21=pd11
●fo21=fo1-(Nsub1-Nsub12)*12
●i=0
●當(dāng)(當(dāng)(i<Nsub12)時(shí))時(shí)
●執(zhí)行
○ssi21[i]=ssi1[i+Nsub11]
○i++
●完成
以下算法是可如何針對周期2中的表示2產(chǎn)生新信息的一個(gè)實(shí)例。
●Nsub22=Nsub2-Nsub12
●bu22=bu2_period2
●ir22=ir2-(Nsub2-Nsub22)*12
●pto22=(tsplit2-tsplit)*ts2
●pd22=pd2-pd12
●ept22=pd12
●fo22=fo2-(Nsub2-Nsub22)*12
●i=0
●當(dāng)(當(dāng)(i<Nsub22)時(shí))時(shí)
●執(zhí)行
○ssi22[i]=ssi2[i+Nsub12]
○i++
●完成
在其它實(shí)例中,tsplit1可用作拆分時(shí)間,以便使pto21為0。當(dāng)在IDR幀處執(zhí)行分離時(shí)這可能如此。
以上信息可映射回具有相同信息的完整MPD中,但通過上述算法,可在時(shí)間tsplit處產(chǎn)生剪接點(diǎn)。任何周期可在所述剪接點(diǎn)處插入。以上努力可清除MPD@mediaPresentationDuration并且如上文所提及添加及替換。
在本發(fā)明的另一實(shí)例技術(shù)中,可使用直播流。對于直播簡檔信息,所述信息可獲自MPD及片段。軌道的時(shí)間標(biāo)度可從片段指數(shù)時(shí)間標(biāo)度中提取并且可表示為時(shí)間標(biāo)度。片段的總數(shù)目Nseg可從片段信息中提取。最早呈現(xiàn)時(shí)間ept可從片段指數(shù)中提取為earliest_presentation_time。第一偏移@startNumber可從MPD中提取。對于每個(gè)片段I,每個(gè)葉子片段的片段指數(shù)中的片段持續(xù)時(shí)間表示為sdur[i]并且其它片段相關(guān)信息表示為si[i]。
在一個(gè)實(shí)例呈現(xiàn)中,呈現(xiàn)可最早在相對于周期開始時(shí)間表達(dá)的媒體呈現(xiàn)時(shí)間tsplit處在兩個(gè)周期中拆分。此拆分可不與第二適應(yīng)集合的片段邊界對準(zhǔn)。可存在兩個(gè)適應(yīng)集合并且每個(gè)適應(yīng)集合可具有一個(gè)表示。
可假設(shè)以下信息可用于單一周期內(nèi)容。
●period@start ps
●MPD@mediaPresentationDuration mpDUR
●SegmentTemplate@media mt1,mt2
●SegmentTemplate@timecale ts1,ts2
●SegmentTemplate@presentationDuration pd1,pd2
●片段信息
○Nseg1,Nseg2
○ept1,ept2
○sn1,sn2
○sdur1[i],sdur2[i]
○si1[i],si2[i]
為了產(chǎn)生新的媒體呈現(xiàn),可產(chǎn)生以下信息:
●服務(wù)器裝置可如下更新針對每個(gè)適應(yīng)集合的每個(gè)表示的第一周期中的屬性及元素:
○period@start ps1
○add period@duration pdur1=tsplit
○SegmentTemplate@media mt11,mt12
○SegmentTemplate@presentationTimeOffset pto11,pto12
○SegmentTemplate@presentationDuration pd11,pd12
○表示的片段信息
■Nseg11,Nseg12
■ept11,ept12
■sn11,sn12
■sdur11[i],sdur12[i]
■si11[i],si12[i]
○可縮短表示本身
●服務(wù)器裝置可如下更新及添加針對每個(gè)表示的新第二周期中的元素及屬性:
○add period@duration pdur2
○SegmentTemplate@media mt21,mt22
○SegmentTemplate@presentationTimeOffset pto21,pto22
○SegmentTemplate@presentationDuration pd21,pd22
○表示的片段信息
■Nseg21,Nseg22
■ept21,ept22
■sn21,sn22
■sdur21[i],sdur22[i]
■si21[i],si22[i]
○可產(chǎn)生表示本身
服務(wù)器裝置可針對與片段邊界對準(zhǔn)的第一表示如下產(chǎn)生新信息。根據(jù)以下算法,首先Nseg11可發(fā)現(xiàn)對應(yīng)于tsplit:
●時(shí)間=ept1-pto1
●Nseg11=0
●當(dāng)(時(shí)間<tsplit*ts1&&Nseg11<Nseg1))時(shí)
●執(zhí)行
○時(shí)間+=sdur[Nseg11]
○Nseg11++
●完成
通過此算法,服務(wù)器裝置可確定Nseg11。Nseg11可小于Nseg1。如果Nseg11不小于Nseg1,則可不執(zhí)行周期拆分。時(shí)間可為呈現(xiàn)持續(xù)時(shí)間pd11。當(dāng)可能需要準(zhǔn)確片段邊界處的拆分時(shí),表示1的拆分時(shí)間可為tsplit1=時(shí)間/ts1>=tsplit。應(yīng)注意,所通知的拆分可為tsplit,但在表示水平上,僅片段邊界可被拆分??删S持周期1的period@start。period@duration可設(shè)定成tsplit。以下算法是可如何針對周期1中的表示1產(chǎn)生新信息的實(shí)例。
●mt11=mt1
●pto11=pto1
●pd11=時(shí)間
●ept11=ept1
●sn11=sn1
●i=0
●當(dāng)(當(dāng)(i<Nseg11)時(shí))時(shí)
●執(zhí)行
○si11[i]=si1[i]
○i++
●完成
例如根據(jù)以下實(shí)例算法,隨后Nseg12可發(fā)現(xiàn)對應(yīng)于tsplit:
●時(shí)間=ept2-pto2
●Nseg12=0
●當(dāng)(時(shí)間<tsplit*ts2&&Nseg12<Nseg2))時(shí)
●執(zhí)行
○時(shí)間+=sdur[Nseg12]
○Nseg12++
●完成
當(dāng)可能需要準(zhǔn)確子片段邊界處的拆分時(shí),表示2的真實(shí)拆分時(shí)間可為tsplit2=時(shí)間/ts2>=tsplit。時(shí)間可為呈現(xiàn)持續(xù)時(shí)間pd12。以下算法是可如何針對周期1中的表示2產(chǎn)生新信息的實(shí)例。
●mt12=mt2
●pto12=pto2
●pd12=時(shí)間
●ept12=ept2
●sn12=sn2
●i=0
●當(dāng)(當(dāng)(i<Nseg12)時(shí))時(shí)
●執(zhí)行
○si12[i]=si2[i]
○i++
●完成
可產(chǎn)生新的周期2。首先,可復(fù)制來自周期1的信息(此外資產(chǎn)識別符及具有標(biāo)識的適應(yīng)集合等)??刹惶峁┬轮芷诘膒eriod@start。新周期的period@duration pdur2可為mpDUR-tsplit。以下算法是可如何針對周期2中的表示1產(chǎn)生新信息的實(shí)例。
●Nseg12=Nseg1-Nseg11
●mt21=mt1
●pto21=(tsplit1-tsplit)*ts1
●pd21=pd1-pd11
●ept21=pd11
●sn21=sn1+Nseg11
●i=0
●當(dāng)(當(dāng)(i<Nseg12)時(shí))時(shí)
●執(zhí)行
○si21[i]=si1[i+Nseg11]
○i++
●完成
以下算法是可如何針對周期2中的表示2產(chǎn)生新信息的實(shí)例。
●Nseg22=Nseg2-Nseg12
●mt22=mt2
●pto22=(tsplit1-tsplit)*ts2
●pd22=pd2-pd12
●ept22=pd12
●sn22=sn2+Nseg12
●i=0
●當(dāng)(當(dāng)(i<Nseg22)時(shí))時(shí)
●執(zhí)行
○si22[i]=si2[i+Nseg12]
○i++
●完成
在一些實(shí)例中,tsplit1可用作拆分時(shí)間,以便使pto21為0。當(dāng)在IDR幀處執(zhí)行分離時(shí)這可能如此。
以上信息可映射回具有相同信息的完整MPD中,但通過此,可在時(shí)間tsplit處產(chǎn)生剪接點(diǎn)。任何周期可插入此處。以上努力可清除MPD@mediaPresentationDuration并且如上文所提及添加及替換信息。
使用本發(fā)明的技術(shù),可優(yōu)化點(diǎn)播簡檔。點(diǎn)播簡檔提供的問題可為:為了執(zhí)行用于廣告插入的周期構(gòu)造,必須物理地修改文件。這具有兩個(gè)結(jié)果。第一,修改需要文件水平修改且相對復(fù)雜。這意味著對于廣告插入,可改變內(nèi)容。第二,如果考慮不同廣告剪接點(diǎn),則可使用不同內(nèi)容及不同URL。這意味這對于相同內(nèi)容,可降低存儲效率及尤其高速緩存效率。因此,下文可提出僅基于MPD層級信息實(shí)現(xiàn)周期及廣播插入。這需要MPD中的若干修改并且這些工具應(yīng)被添加到包含x鏈路的新開發(fā)的廣告插入簡檔。
在點(diǎn)播流的一個(gè)實(shí)例中,呈現(xiàn)可最早在相對于周期開始時(shí)間表達(dá)的媒體呈現(xiàn)時(shí)間tsplit處在兩個(gè)周期中拆分??纱嬖趦蓚€(gè)適應(yīng)集合并且每個(gè)適應(yīng)集合可具有一個(gè)表示。在一些實(shí)例中,可應(yīng)用適應(yīng)集合的子片段邊界的對準(zhǔn)??杉僭O(shè)以下信息可用于單一周期內(nèi)容。
●period@start ps
●MPD@mediaPresentationDuration mpDUR
●BaseURL bu1,bu2
●SegmentBase@indexRange ir1,ir2
●SegmentBase@timecale ts1,ts2
●SegmentBase@presentationDuration pd1,pd2
●表示的片段指數(shù)
○Nsub1,Nsub2
○ept1,ept2
○fo1,fo2
○sdur1[i],sdur2[i]
○fo1[i],fo2[i]
○ssi1[i],ssi2[i]
為了產(chǎn)生新的媒體呈現(xiàn),可產(chǎn)生以下信息:
●在針對每個(gè)適應(yīng)集合的每個(gè)表示的第一周期中的屬性及元素的更新:
○period@start ps1
○add period@duration pdur1=tsplit
○SegmentBase@indexRange
○SegmentBase@presentationTimeOffset pto11,pto12
○SegmentBase@presentationDuration pd11,pd12
●在每個(gè)表示的新第二周期中的元素及屬性的更新及添加:
○add period@duration pdur2
○SegmentBase@indexRange
○SegmentBase@presentationTimeOffset pto21,pto22
○SegmentBase@presentationDuration pd21,pd22
針對pto及pd的以上信息可通過與針對點(diǎn)播簡檔相同的方式產(chǎn)生。唯一不同之處在于,可使用片段指數(shù)中的信息在表示中明確地表達(dá):對于此表示可僅播放pto與pd之間的時(shí)間。
以下實(shí)例參考圖3。指向含有單一周期呈現(xiàn)的CDN上的點(diǎn)播內(nèi)容的MPD是可用的。MPD可基于線索(廣告插入機(jī)會)修改成廣告多個(gè)周期,而不改變服務(wù)器上的內(nèi)容。對于每個(gè)機(jī)會,可提供到廣告決策服務(wù)器的x鏈路。可將MPD提供到DASH客戶端。對于MPD中的每個(gè)x鏈路,可檢查是否添加廣告(可能將用戶定為目標(biāo))。如果否,則周期可解析至0。如果是,則可添加其它內(nèi)容。DASH客戶端連續(xù)地播放內(nèi)容,并且如果解析至零,則媒體引擎可不進(jìn)行最新初始化。
圖1是說明實(shí)施用于在網(wǎng)絡(luò)上流式傳輸媒體數(shù)據(jù)的技術(shù)的實(shí)例系統(tǒng)10的框圖。在此實(shí)例中,系統(tǒng)10包含內(nèi)容準(zhǔn)備裝置20、服務(wù)器裝置60及客戶端裝置40??蛻舳搜b置40及服務(wù)器裝置60通過網(wǎng)絡(luò)74以通信方式耦合,所述網(wǎng)絡(luò)可包括因特網(wǎng)。在一些實(shí)例中,內(nèi)容準(zhǔn)備裝置20及服務(wù)器裝置60還可通過網(wǎng)絡(luò)74或另一網(wǎng)絡(luò)耦合,或者可直接以通信方式耦合。在一些實(shí)例中,內(nèi)容準(zhǔn)備裝置20及服務(wù)器裝置60可包括相同裝置。
在圖1的實(shí)例中,內(nèi)容準(zhǔn)備裝置20包括音頻源22及視頻源24。舉例來說,音頻源22可包括麥克風(fēng),所述麥克風(fēng)產(chǎn)生表示待由音頻編碼器26編碼的所俘獲的音頻數(shù)據(jù)的電信號?;蛘?,音頻源22可包括存儲先前所記錄的音頻數(shù)據(jù)的存儲媒體、例如計(jì)算機(jī)化合成器等音頻數(shù)據(jù)產(chǎn)生器或任何其它音頻數(shù)據(jù)源。視頻源24可包括:攝像機(jī),其產(chǎn)生待通過視頻編碼器28編碼的視頻數(shù)據(jù);存儲媒體,其被編碼有先前記錄的視頻數(shù)據(jù);視頻數(shù)據(jù)產(chǎn)生單元,例如計(jì)算機(jī)圖形源;或任何其它視頻數(shù)據(jù)源。內(nèi)容準(zhǔn)備裝置20未必在所有實(shí)例中都以通信方式耦合到服務(wù)器裝置60,而是可將多媒體內(nèi)容存儲到由服務(wù)器裝置60讀取的分開的媒體。
原始音頻及視頻數(shù)據(jù)可包括模擬或數(shù)字?jǐn)?shù)據(jù)。模擬數(shù)據(jù)可在由音頻編碼器26及/或視頻編碼器28編碼之前進(jìn)行數(shù)字化。音頻源22可在說話參與者正在說話時(shí)從所述說話參與者獲得音頻數(shù)據(jù),且視頻源24可同時(shí)獲得所述說話參與者的視頻數(shù)據(jù)。在其它實(shí)例中,音頻源22可包含包括所存儲的音頻數(shù)據(jù)的計(jì)算機(jī)可讀存儲媒體,且視頻源24可包含包括所存儲的視頻數(shù)據(jù)的計(jì)算機(jī)可讀存儲媒體。以此方式,本發(fā)明中所描述的技術(shù)可應(yīng)用于直播、流式傳輸、實(shí)時(shí)音頻及視頻數(shù)據(jù)或所存檔的、預(yù)先記錄的音頻及視頻數(shù)據(jù)。
對應(yīng)于視頻幀的音頻幀通常為含有通過音頻源22俘獲(或產(chǎn)生)的音頻數(shù)據(jù)的音頻幀,所述音頻數(shù)據(jù)同時(shí)伴隨包含于視頻幀中的通過視頻源24俘獲(或產(chǎn)生)的視頻數(shù)據(jù)。舉例來說,當(dāng)說話參與者通常通過說話而產(chǎn)生音頻數(shù)據(jù)時(shí),音頻源22俘獲音頻數(shù)據(jù),且視頻源24同時(shí)(即,在音頻源22正俘獲音頻數(shù)據(jù)的同時(shí))俘獲說話參與者的視頻數(shù)據(jù)。因此,音頻幀可在時(shí)間上對應(yīng)于一或多個(gè)特定視頻幀。因此,對應(yīng)于視頻幀的音頻幀大體上對應(yīng)于同時(shí)俘獲到音頻數(shù)據(jù)及視頻數(shù)據(jù)且音頻幀及視頻幀分別包括同時(shí)俘獲到的音頻數(shù)據(jù)及視頻數(shù)據(jù)的情形。
在一些實(shí)例中,音頻編碼器26可對每一經(jīng)編碼音頻幀中的表示記錄經(jīng)編碼音頻幀的音頻數(shù)據(jù)的時(shí)間的時(shí)戳進(jìn)行編碼,且類似地,視頻編碼器28可對每一經(jīng)編碼視頻幀中的表示記錄經(jīng)編碼視頻幀的視頻數(shù)據(jù)的時(shí)間的時(shí)戳進(jìn)行編碼。在此些實(shí)例中,對應(yīng)于視頻幀的音頻幀可包括包含時(shí)戳的音頻幀及包含相同時(shí)戳的視頻幀。內(nèi)容準(zhǔn)備裝置20可包含內(nèi)部時(shí)鐘,音頻編碼器26及/或視頻編碼器28可從所述內(nèi)部時(shí)鐘產(chǎn)生時(shí)戳,或者音頻源22及視頻源24可使用所述內(nèi)部時(shí)鐘以分別使音頻及視頻數(shù)據(jù)與時(shí)戳相關(guān)聯(lián)。
在一些實(shí)例中,音頻源22可向音頻編碼器26發(fā)送對應(yīng)于記錄音頻數(shù)據(jù)的時(shí)間的數(shù)據(jù),且視頻源24可向視頻編碼器28發(fā)送對應(yīng)于記錄視頻數(shù)據(jù)的時(shí)間的數(shù)據(jù)。在一些實(shí)例中,音頻編碼器26可對經(jīng)編碼音頻數(shù)據(jù)中的序列識別符進(jìn)行編碼以指示經(jīng)編碼音頻數(shù)據(jù)的相對時(shí)間排序,但未必指示記錄音頻數(shù)據(jù)的絕對時(shí)間,且類似地,視頻編碼器28也可使用序列識別符來指示經(jīng)編碼視頻數(shù)據(jù)的相對時(shí)間排序。類似地,在一些實(shí)例中,序列識別符可被映射或以其它方式與時(shí)戳相關(guān)。
音頻編碼器26通常產(chǎn)生經(jīng)編碼音頻數(shù)據(jù)流,而視頻編碼器28產(chǎn)生經(jīng)編碼視頻數(shù)據(jù)流。每一個(gè)別的數(shù)據(jù)流(不論是音頻還是視頻)可被稱為基本流?;玖魇且粋€(gè)表示的單個(gè)經(jīng)數(shù)字譯碼(可能經(jīng)壓縮)的分量。舉例來說,所述表示的經(jīng)譯碼視頻或音頻部分可為基本流。基本流可在被封裝在視頻文件內(nèi)之前被轉(zhuǎn)換成包化基本流(PES)。在同一表示內(nèi),可使用流ID來區(qū)分屬于一個(gè)基本流的PES包與屬于其它基本流的PES包?;玖鞯臄?shù)據(jù)的基本單元是包化基本流(PES)包。因此,經(jīng)譯碼視頻數(shù)據(jù)大體對應(yīng)于基本視頻流。類似地,音頻數(shù)據(jù)對應(yīng)于一或多個(gè)相應(yīng)基本流。
例如ITU-T H.264/AVC及即將到來的高效視頻譯碼(HEVC)標(biāo)準(zhǔn)等許多視頻譯碼標(biāo)準(zhǔn)界定無誤差位流的語法、語義及解碼過程,所述無誤差位流中的任一者符合特定簡檔或水平。視頻譯碼標(biāo)準(zhǔn)通常并不指定編碼器,但編碼器具有保證所產(chǎn)生的位流對于解碼器來說是適應(yīng)標(biāo)準(zhǔn)的任務(wù)。在視頻譯碼標(biāo)準(zhǔn)的上下文中,“簡檔”對應(yīng)于算法、特征或工具及適用于其的約束的子集。舉例來說,如通過H.264標(biāo)準(zhǔn)所定義,“簡檔”是通過H.264標(biāo)準(zhǔn)指定的整個(gè)位流語法的子集?!八健睂?yīng)于解碼器資源消耗的限制,例如,舉例來說,解碼器存儲器及計(jì)算,其涉及圖片分辨率、位速率及塊處理速率??墒褂胮rofile_idc(簡檔指示符)值用信號表示簡檔,同時(shí)可使用level_idc(水平指示符)值用信號表示水平。
舉例來說,H.264標(biāo)準(zhǔn)承認(rèn),在給定簡檔的語法所施加的界限內(nèi),仍然可能需要編碼器及解碼器的性能有較大變化,這取決于位流中的例如經(jīng)解碼圖片的指定大小等語法元素獲取的值。H.264標(biāo)準(zhǔn)進(jìn)一步承認(rèn),在許多應(yīng)用中,實(shí)施能夠處理特定簡檔內(nèi)的語法的所有假設(shè)使用的解碼器既不實(shí)際又不經(jīng)濟(jì)。因此,H.264標(biāo)準(zhǔn)將“水平”定義為強(qiáng)加于位流中的語法元素的值的指定約束集合。這些約束可為對值的簡單的限制。或者,這些約束可采用值的算術(shù)組合(例如,圖片寬度乘以圖片高度乘以每秒解碼的圖片數(shù)目)的約束的形式。H.264標(biāo)準(zhǔn)進(jìn)一步規(guī)定,個(gè)別實(shí)施方案可對于每一所支持的簡檔支持不同水平。
符合簡檔的解碼器通常支持簡檔中定義的所有特征。舉例來說,作為一個(gè)譯碼特征,B圖片譯碼在H.264/AVC的基礎(chǔ)簡檔中不被支持,但是在H.264/AVC的其它簡檔中被支持。符合某一水平的解碼器應(yīng)能夠?qū)θ魏尾恍枰鏊鏊街卸x的限制的資源的位流進(jìn)行解碼。簡檔和水平的定義可對可解釋性有幫助。舉例來說,在視頻發(fā)射期間,可針對整個(gè)發(fā)射會話協(xié)商及同意一對簡檔和水平定義。更確切地說,在H.264/AVC中,水平可定義對于需要處理的宏塊數(shù)目、經(jīng)解碼圖片緩沖器(DPB)大小、經(jīng)譯碼圖片緩沖器(CPB)大小、垂直運(yùn)動向量范圍、每兩個(gè)連續(xù)MB的運(yùn)動向量的最大數(shù)目及B塊是否可具有小于8x8像素的子宏塊分區(qū)的限制。以此方式,解碼器可確定解碼器是否能夠恰當(dāng)?shù)貙ξ涣鬟M(jìn)行解碼。
在圖1的實(shí)例中,內(nèi)容準(zhǔn)備裝置20的封裝單元30從視頻編碼器28接收包括經(jīng)譯碼視頻數(shù)據(jù)的基本流,且從音頻編碼器26接收包括經(jīng)譯碼音頻數(shù)據(jù)的基本流。在一些實(shí)例中,視頻編碼器28及音頻編碼器26可各自包含用于從經(jīng)編碼數(shù)據(jù)形成PES包的包化器。在其它實(shí)例中,視頻編碼器28及音頻編碼器26可各自與用于從經(jīng)編碼數(shù)據(jù)形成PES包的相應(yīng)包化器介接。在另外其它實(shí)例中,封裝單元30可包含用于從經(jīng)編碼音頻及視頻數(shù)據(jù)形成PES包的包化器。
視頻編碼器28可用多種方式對多媒體內(nèi)容的視頻數(shù)據(jù)進(jìn)行編碼,以便以各種位速率且用各種特征產(chǎn)生多媒體內(nèi)容的不同表示,所述特征例如,像素分辨率、幀速率、對于各種譯碼標(biāo)準(zhǔn)的符合性、對于各種譯碼標(biāo)準(zhǔn)的各種簡檔和/或簡檔水平的符合性、具有一或多個(gè)視圖的表示(例如,對于二維或三維播放)或其它此些特征。如本發(fā)明中所使用,表示可包括音頻數(shù)據(jù)、視頻數(shù)據(jù)、文本數(shù)據(jù)(例如,用于隱藏字幕)或其它此數(shù)據(jù)中的一者。表示可包含例如音頻基本流或視頻基本流的基本流。每一PES包可包含stream_id,其識別PES包所屬于的基本流。封裝單元30負(fù)責(zé)將基本流匯編成各種表示的視頻文件(例如,片段)。
封裝單元30從音頻編碼器26及視頻編碼器28接收用于表示的基本流的PES包且從所述PES包形成對應(yīng)的網(wǎng)絡(luò)抽象層(NAL)單元。在H.264/AVC(高級視頻譯碼)的實(shí)例中,經(jīng)譯碼視頻片段被組織成NAL單元,所述單元提供“網(wǎng)絡(luò)友好”的視頻表示,其解決例如視頻電話、存儲、廣播或流式傳輸?shù)鹊膽?yīng)用。NAL單元可分類為視頻譯碼層(VCL)NAL單元及非VCL NAL單元。VCL單元可含有核心壓縮引擎,且可包含塊、宏塊及/或切片層級數(shù)據(jù)。其它NAL單元可為非VCL NAL單元。在一些實(shí)例中,一個(gè)時(shí)間例子中的經(jīng)譯碼圖片(通常呈現(xiàn)為初級經(jīng)譯碼圖片)可容納在接入單元中,所述接入單元可包含一或多個(gè)NAL單元。
非VCL NAL單元可包含參數(shù)集NAL單元及SEI NAL單元等等。參數(shù)集可含有序列水平標(biāo)頭信息(在序列參數(shù)集(SPS)中)及不頻繁改變的圖片水平標(biāo)頭信息(在圖片參數(shù)集(PPS)中)。在參數(shù)集(例如,PPS及SPS)的情況下,不頻繁改變的信息不需要對于每一序列或圖片重復(fù),因此可改進(jìn)譯碼效率。另外,使用參數(shù)集可實(shí)現(xiàn)重要標(biāo)頭信息的帶外發(fā)射,從而避免了對于用于抗誤碼的冗余發(fā)射的需要。在帶外發(fā)射實(shí)例中,參數(shù)集NAL單元可在與其它NAL單元(例如SEI NAL單元)不同的信道上發(fā)射。
輔助增強(qiáng)信息(SEI)可含有對于對來自VCL NAL單元的經(jīng)譯碼圖片樣本進(jìn)行解碼不是必需的信息,但是可輔助與解碼、顯示、抗誤碼及其它目的相關(guān)的過程。非VCL NAL單元中可含有SEI消息。SEI消息是一些標(biāo)準(zhǔn)規(guī)范的規(guī)范性部分,且因而對于標(biāo)準(zhǔn)的順應(yīng)性解碼器實(shí)施方案并非始終是必選的。SEI消息可為序列水平SEI消息或圖片水平SEI消息。SEI消息中可含有一些序列層級信息,所述消息例如SVC的實(shí)例中的可縮放性信息SEI消息,及MVC中的視圖可縮放性信息SEI消息。這些實(shí)例SEI消息可傳達(dá)關(guān)于例如操作點(diǎn)的摘錄及操作點(diǎn)的特性的信息。另外,封裝單元30可形成清單文件,例如描述表示的特征的媒體呈現(xiàn)描述符(MPD)。封裝單元30可根據(jù)可擴(kuò)展標(biāo)記語言(XML)將MPD格式化。
封裝單元30可向輸出接口32提供用于多媒體內(nèi)容的一或多個(gè)表示的數(shù)據(jù)以及清單文件(例如,MPD)。輸出接口32可包括網(wǎng)絡(luò)接口或用于向存儲媒體進(jìn)行寫入的接口,例如通用串行總線(USB)接口、CD或DVD寫入器或燒錄器、到磁性或快閃存儲媒體的接口,或用于存儲或發(fā)射媒體數(shù)據(jù)的其它接口。封裝單元30可向輸出接口32提供多媒體內(nèi)容的表示中的每一者的數(shù)據(jù),所述輸出接口可經(jīng)由網(wǎng)絡(luò)發(fā)射或存儲媒體向服務(wù)器裝置60發(fā)送所述數(shù)據(jù)。在圖1的實(shí)例中,服務(wù)器裝置60包含存儲媒體62,其存儲各種多媒體內(nèi)容64,每一多媒體內(nèi)容包含相應(yīng)的清單文件66及一或多個(gè)表示68A-68N(表示68)。在一些實(shí)例中,輸出接口32還可向網(wǎng)絡(luò)74直接發(fā)送數(shù)據(jù)。
在一些實(shí)例中,表示68可分成若干適應(yīng)集合。也就是說,表示68的各種子集可包含相應(yīng)共同的特征集合,例如編解碼器、簡檔及水平、分辨率、視圖數(shù)目、片段的文件格式、可識別有待與待解碼及呈現(xiàn)的表示及/或音頻數(shù)據(jù)(例如,說話者發(fā)出的)一起顯示的文本的語言或其它特征的文本類型信息、可描述適應(yīng)集合中的表示的場景的相機(jī)角度或現(xiàn)實(shí)世界相機(jī)視角的相機(jī)角度信息、描述對于特定受眾的內(nèi)容適合性的分級信息等等。
清單文件66可包含指示對應(yīng)于特定適應(yīng)集合的表示68的子集以及所述適應(yīng)集合的共同特征的數(shù)據(jù)。清單文件66還可包含表示適應(yīng)集合的個(gè)別表示的個(gè)別特征(例如位速率)的數(shù)據(jù)。以此方式,適應(yīng)集合可提供用于簡化的網(wǎng)絡(luò)帶寬適應(yīng)。適應(yīng)集合中的表示可使用清單文件66的適應(yīng)集合元素的子代元素來指示。根據(jù)本發(fā)明的技術(shù),服務(wù)器裝置60可修改清單文件66以指示多媒體內(nèi)容64包含兩個(gè)或兩個(gè)以上連續(xù)周期,廣告內(nèi)容可插入所述兩個(gè)連續(xù)周期之間。
具體而言,服務(wù)器裝置60可使用上述不同技術(shù)中的任一者或類似技術(shù)構(gòu)造清單文件66以指示多媒體內(nèi)容64中存在連續(xù)周期,使得額外內(nèi)容(例如,廣告內(nèi)容)可插入連續(xù)周期之間。舉例來說,服務(wù)器裝置60可將Period@duration屬性添加到每個(gè)周期的清單文件66,每個(gè)周期被拆分成兩個(gè)連續(xù)周期。同樣地,服務(wù)器裝置60可將指示新的連續(xù)周期的數(shù)據(jù)添加到清單文件66,例如Period@duration元素、baseURL元素、SegmentBase@indexRange元素、SegmentBase@presentationTimeOffset元素及SegmentBase@presentationDuration元素。此外,服務(wù)器裝置60可用信號表示上述不同片段指數(shù)元素,且從現(xiàn)有表示中產(chǎn)生用于新周期的新表示。
因此,在一些實(shí)例中,服務(wù)器裝置60可將媒體數(shù)據(jù)的主要內(nèi)容拆分成多個(gè)周期,包含第一周期及第二周期,其中第一周期及第二周期在時(shí)間上是依序的。也就是說,第一及第二周期包含用于既定連續(xù)播出的主要內(nèi)容的數(shù)據(jù)。服務(wù)器裝置60可將輔助媒體內(nèi)容(例如,廣告媒體內(nèi)容)插入第一周期與第二周期之間。此外,服務(wù)器裝置60可用信號表示多個(gè)周期中的每一者的時(shí)間指示符,所述時(shí)間指示符界定多個(gè)周期中的每一者的一或多個(gè)時(shí)間特征。時(shí)間指示符可包括(舉例來說)清單文件66中用于周期的Period@duration屬性。服務(wù)器裝置60隨后可從例如客戶端裝置40接收請求以檢索包括周期、輔助媒體內(nèi)容及時(shí)間指示符的媒體流。所述請求可為多個(gè)請求中的一者以從客戶端裝置40檢索媒體流的數(shù)據(jù)。舉例來說,多個(gè)請求可為HTTP GET或部分GET請求。
盡管相對于服務(wù)器裝置60描述以上技術(shù),但是應(yīng)理解,內(nèi)容準(zhǔn)備裝置20還可(即,另外或在替代方案中)經(jīng)配置以將周期拆分成兩個(gè)連續(xù)周期且將廣告媒體數(shù)據(jù)插入所述連續(xù)周期之間。
服務(wù)器裝置60包含請求處理單元70及網(wǎng)絡(luò)接口72。在一些實(shí)例中,服務(wù)器裝置60可包含多個(gè)網(wǎng)絡(luò)接口。此外,服務(wù)器裝置60的所述特征中的任何或全部可在內(nèi)容傳遞網(wǎng)絡(luò)的其它裝置(例如路由器、橋接器、代理裝置、交換機(jī)或其它裝置)上實(shí)施。在一些實(shí)例中,內(nèi)容傳遞網(wǎng)絡(luò)的中間裝置可高速緩存多媒體內(nèi)容64的數(shù)據(jù),并且包含基本上與服務(wù)器裝置60的那些組件相符的組件。一般來說,網(wǎng)絡(luò)接口72經(jīng)配置以經(jīng)由網(wǎng)絡(luò)74發(fā)送及接收數(shù)據(jù)。
請求處理單元70經(jīng)配置以從客戶端裝置(例如客戶端裝置40)接收對于存儲媒體62的數(shù)據(jù)的網(wǎng)絡(luò)請求。舉例來說,請求處理單元70可實(shí)施超文本傳輸協(xié)議(HTTP)版本1.1,如RFC 2616中R.費(fèi)爾丁(R.Fielding)等人(網(wǎng)絡(luò)工作組,IETF,1999年6月)的“超文本傳輸協(xié)議-HTTP/1.1(Hypertext Transfer Protocol-HTTP/1.1,)”中所描述。也就是說,請求處理單元70可經(jīng)配置以接收HTTP GET或部分GET請求,并且響應(yīng)于所述請求而提供多媒體內(nèi)容64的數(shù)據(jù)。所述請求可例如使用表示68中的一者的片段的URL指定所述片段。在一些實(shí)例中,所述請求還可指定所述片段的一或多個(gè)字節(jié)范圍,因而包括部分GET請求。請求處理單元70可進(jìn)一步經(jīng)配置以服務(wù)于HTTP HEAD請求以提供表示68中的一者的片段的標(biāo)頭數(shù)據(jù)。在任何情況下,請求處理單元70可經(jīng)配置以處理所述請求以向請求裝置(例如,客戶端裝置40)提供所請求的數(shù)據(jù)。
另外或替代地,請求處理單元70可經(jīng)配置以經(jīng)由廣播或多播協(xié)議(例如eMBMS)傳送媒體數(shù)據(jù)。內(nèi)容準(zhǔn)備裝置20可以與所描述大體上相同的方式產(chǎn)生DASH片段及/或子片段,但服務(wù)器裝置60可使用eMBMS或另一廣播或多播網(wǎng)絡(luò)傳遞協(xié)議傳送這些片段或子片段。舉例來說,請求處理單元70可經(jīng)配置以從客戶端裝置40接收多播群組加入請求。也就是說,服務(wù)器裝置60可向客戶端裝置(包含客戶端裝置40)通告與多播群組相關(guān)聯(lián)的因特網(wǎng)協(xié)議(IP)地址,其與特定媒體內(nèi)容(例如,實(shí)況事件的廣播)相關(guān)聯(lián)。客戶端裝置40又可提交加入所述多播群組的請求。此請求可遍及網(wǎng)絡(luò)74(例如,構(gòu)成網(wǎng)絡(luò)74的路由器)傳播,使得致使所述路由器將去往與多播群組相關(guān)聯(lián)的IP地址的業(yè)務(wù)導(dǎo)向預(yù)訂的客戶端裝置(例如,客戶端裝置40)。
如圖1的實(shí)例中所說明,多媒體內(nèi)容64包含清單文件66,其可對應(yīng)于媒體呈現(xiàn)描述(MPD)。清單文件66可含有不同替代表示68(例如,具有不同質(zhì)量的視頻服務(wù))的描述,且所述描述可包含例如編解碼器信息、簡檔值、電平值、位速率及表示68的其它描述性特征??蛻舳搜b置40可檢索媒體呈現(xiàn)的MPD以確定如何接入表示68的片段。
具體而言,檢索單元52(其可實(shí)施本發(fā)明的技術(shù))可檢索客戶端裝置40的配置數(shù)據(jù)(未展示)以確定視頻解碼器48的解碼功能及視頻輸出44的再現(xiàn)功能。配置數(shù)據(jù)還可包含客戶端裝置40的用戶選擇的語言偏好中的任一者或全部、對應(yīng)于客戶端裝置40的用戶設(shè)置的深度偏好的一或多個(gè)相機(jī)視角及/或客戶端裝置40的用戶選擇的分級偏好。舉例來說,檢索單元52可包括網(wǎng)絡(luò)瀏覽器或媒體客戶端,其經(jīng)配置以提交HTTP GET及部分GET請求。檢索單元52可對應(yīng)于客戶端裝置40的一或多個(gè)處理器或處理單元(未展示)執(zhí)行的軟件指令。在一些實(shí)例中,相對于檢索單元52描述的功能性中的全部或部分可在硬件或硬件、軟件及/或固件的組合中實(shí)施,其中可提供必需的硬件以執(zhí)行針對軟件或固件的指令。
檢索單元52可將客戶端裝置40的解碼及再現(xiàn)功能與清單文件66的信息所指示的表示68的特征比較。檢索單元52可初始地檢索清單文件66的至少一部分以確定表示68的特征。舉例來說,檢索單元52可請求描述一或多個(gè)適應(yīng)集合的特征的清單文件66的一部分。檢索單元52可選擇具有客戶端裝置40的譯碼及再現(xiàn)功能可滿足的特征的表示68的子集(例如,適應(yīng)集合)。檢索單元52可確定適應(yīng)集合中的表示的位速率、確定網(wǎng)絡(luò)帶寬的目前可用量及從具有網(wǎng)絡(luò)帶寬可滿足的位速率的表示中的一者檢索片段。
一般來說,較高位速率表示可產(chǎn)生較高質(zhì)量的視頻回放,而在可用的網(wǎng)絡(luò)帶寬減少時(shí)較低位速率表示可提供充足質(zhì)量的視頻回放。因此,當(dāng)可用的網(wǎng)絡(luò)帶寬相對高時(shí),檢索單元52可從相對高的位速率表示檢索數(shù)據(jù),而當(dāng)可用的網(wǎng)絡(luò)帶寬較低時(shí),檢索單元52可從相對低的位速率表示中檢索數(shù)據(jù)。以此方式,客戶端裝置40可經(jīng)由網(wǎng)絡(luò)74流式傳輸多媒體數(shù)據(jù),同時(shí)還根據(jù)網(wǎng)絡(luò)74的改變的網(wǎng)絡(luò)帶寬可用性進(jìn)行調(diào)適。
另外或替代地,檢索單元52可經(jīng)配置以根據(jù)例如eMBMS或IP多播等廣播或多播網(wǎng)絡(luò)協(xié)議接收數(shù)據(jù)。在此類實(shí)例中,檢索單元52可提交加入與特定媒體內(nèi)容相關(guān)聯(lián)的多播網(wǎng)絡(luò)群組的請求。在加入多播群組之后,檢索單元52可在無發(fā)布到服務(wù)器裝置60或內(nèi)容準(zhǔn)備裝置20的進(jìn)一步請求的情況下接收多播群組的數(shù)據(jù)。檢索單元52可提交當(dāng)不再需要多播群組的數(shù)據(jù)時(shí)離開多播群組的請求,例如停止回放或?qū)⑿诺栏淖兊讲煌嗖ト航M。
此外,根據(jù)本發(fā)明的技術(shù),檢索單元52可經(jīng)配置以確定清單文件66是否指示多媒體內(nèi)容64的兩個(gè)或兩個(gè)以上周期是連續(xù)的。舉例來說,檢索單元52可確定當(dāng)兩個(gè)周期的兩個(gè)適應(yīng)集合相關(guān)聯(lián)時(shí)所述適應(yīng)集合是周期連續(xù)的,清單文件66包含@presentationTimeOffset元素或針對適應(yīng)集合中的所有表示可推斷為0,在一個(gè)適應(yīng)集合內(nèi)@presentationTimeOffset的值對于所有表示是相同的,@presentationTimeOffset的值與一個(gè)適應(yīng)集合中的所有表示的呈現(xiàn)持續(xù)時(shí)間的總和等于另一適應(yīng)集合的@presentationTimeOffset的值。
此外,檢索單元52可將一個(gè)周期的一個(gè)適應(yīng)集合中的一個(gè)表示的初始化片段用作另一周期的另一適應(yīng)集合中的表示的初始化片段,其中如果表示具有@id的相同值,則適應(yīng)集合是周期連續(xù)的。同樣地,在兩個(gè)適應(yīng)集合是周期連續(xù)的且稍后的適應(yīng)集合具有相關(guān)聯(lián)的補(bǔ)充描述符(其具有@schemeIDURI=“urn:mpeg:dash:period-switchable”)的情況下,檢索單元52可確定適應(yīng)集合中的一者中的表示可與來自另一適應(yīng)集合的任何表示級聯(lián),而不初始化另一適應(yīng)集合的片段。以此方式,假定第一及第二周期是連續(xù)的,則檢索單元52可基于第一周期的適應(yīng)集合的選擇而選擇第二周期的適應(yīng)集合(例如,不另外分析第二周期的適應(yīng)集合的特征)。
以此方式,檢索單元52可經(jīng)配置以確定媒體內(nèi)容的清單文件指示媒體內(nèi)容包含第一周期及第二周期,清單文件指示第一及第二周期是連續(xù)的且廣告媒體數(shù)據(jù)可用于插入第一周期與第二周期之間。檢索單元52還可經(jīng)配置以至少部分地基于針對第一周期中的第一適應(yīng)集合用信號表示的特征而選擇所述第一適應(yīng)集合。此類特征可包含(舉例來說)譯碼及再現(xiàn)特征,例如編解碼器、簡檔、水平、圖片尺寸、幀速率等等。為了選擇適應(yīng)集合,檢索單元52可將客戶端裝置40的譯碼及再現(xiàn)功能與不同可用適應(yīng)集合的特征比較,并且選擇可通過客戶端裝置40編碼及再現(xiàn)的適應(yīng)集合。
檢索單元52隨后可基于第一適應(yīng)集合的選擇而檢索第一適應(yīng)集合的媒體數(shù)據(jù)。更確切地說,檢索單元52可例如基于用于適應(yīng)集合的表示的可用網(wǎng)絡(luò)帶寬及位速率而選擇適應(yīng)集合的表示(如果一個(gè)以上表示是可用的),使得表示的位速率不超過可用的網(wǎng)絡(luò)帶寬。檢索單元52還可檢索廣告媒體數(shù)據(jù)。此外,檢索單元52可基于第一適應(yīng)集合的選擇而檢索第二周期中的第二適應(yīng)集合的媒體數(shù)據(jù),所述第二適應(yīng)集合與所述第一適應(yīng)集合相關(guān)聯(lián)。因此,檢索單元52可僅確定第二適應(yīng)集合與第一適應(yīng)集合是周期連續(xù)的并且僅選擇第二適應(yīng)集合,因?yàn)樗龅诙m應(yīng)集合與已選擇的第一適應(yīng)集合是周期連續(xù)的,而不在針對第一適應(yīng)集合完成時(shí)分析第二周期的適應(yīng)集合的特征。
網(wǎng)絡(luò)接口54可接收所選表示的片段的數(shù)據(jù)并且向檢索單元52提供所述數(shù)據(jù),所述檢索單元又可向解封裝單元50提供所述片段。解封裝單元50可將視頻文件的元素解封裝成組成PES流,將PES流解包化以檢索經(jīng)編碼數(shù)據(jù)并且根據(jù)經(jīng)編碼數(shù)據(jù)是音頻流還是視頻流的一部分(例如,如通過流的PES包標(biāo)頭所指示)而向音頻解碼器46或視頻解碼器48發(fā)送經(jīng)編碼數(shù)據(jù)。音頻解碼器46對經(jīng)編碼音頻數(shù)據(jù)進(jìn)行解碼,并且向音頻輸出42發(fā)送經(jīng)解碼音頻數(shù)據(jù),而視頻解碼器48對經(jīng)編碼視頻數(shù)據(jù)進(jìn)行解碼,并且向視頻輸出44發(fā)送經(jīng)解碼視頻數(shù)據(jù),其可包含流的多個(gè)視圖。
視頻編碼器28、視頻解碼器48、音頻編碼器26、音頻解碼器46、封裝單元30、檢索單元52及解封裝單元50各自可實(shí)施為適用的多種合適的處理電路中的任一者,所述處理電路例如是一或多個(gè)微處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、離散邏輯電路、軟件、硬件、固件或其任何組合。視頻編碼器28及視頻解碼器48中的每一者可包含在一或多個(gè)編碼器或解碼器中,所述編碼器或解碼器中的任一者可集成為組合視頻編碼器/解碼器(CODEC)的一部分。同樣,音頻編碼器26及音頻解碼器46中的每一者可包含在一或多個(gè)編碼器或解碼器中,所述編碼器或解碼器中的任一者可集成為組合CODEC的一部分。包含視頻編碼器28、視頻解碼器48、音頻編碼器音頻編碼器26、音頻解碼器46、封裝單元30、檢索單元52及/或解封裝單元50的設(shè)備可包括集成電路、微處理器及/或無線通信裝置,例如蜂窩式電話。
客戶端裝置40、服務(wù)器裝置60及/或內(nèi)容準(zhǔn)備裝置20可經(jīng)配置以根據(jù)本發(fā)明的技術(shù)操作。出于實(shí)例的目的,本發(fā)明相對于客戶端裝置40及服務(wù)器裝置60描述這些技術(shù)。然而,應(yīng)理解,代替服務(wù)器裝置60(或除此之外),內(nèi)容準(zhǔn)備裝置20可經(jīng)配置以執(zhí)行這些技術(shù)。
封裝單元30可形成NAL單元,所述NAL單元包括識別NAL單元所屬于的程序的標(biāo)頭,以及有效負(fù)載,例如音頻數(shù)據(jù)、視頻數(shù)據(jù)或描述NAL單元所對應(yīng)于的傳遞或程序流的數(shù)據(jù)。舉例來說,在H.264/AVC中,NAL單元包含1-字節(jié)標(biāo)頭及具有變化大小的有效負(fù)載。在其有效負(fù)載中包含視頻數(shù)據(jù)的NAL單元可包括各種粒度等級的視頻數(shù)據(jù)。舉例來說,NAL單元可包括視頻數(shù)據(jù)塊、多個(gè)塊、視頻數(shù)據(jù)的切片,或視頻數(shù)據(jù)的整個(gè)圖片。封裝單元30可從視頻編碼器28接收呈基本流的PES包的形式的經(jīng)編碼視頻數(shù)據(jù)。封裝單元30可使每一基本流與對應(yīng)程序相關(guān)聯(lián)。
封裝單元30還可組合來自多個(gè)NAL單元的存取單元。一般來說,存取單元可包括用于表示視頻數(shù)據(jù)幀以及對應(yīng)于所述幀的音頻數(shù)據(jù)(當(dāng)此種音頻數(shù)據(jù)可用時(shí))的一或多個(gè)NAL單元。存取單元通常包含針對一個(gè)輸出時(shí)間例項(xiàng)的所有NAL單元,例如針對一個(gè)時(shí)間例項(xiàng)的所有音頻及視頻數(shù)據(jù)。舉例來說,如果每一視圖具有20幀/秒(fps)的幀速率,則每一時(shí)間例項(xiàng)可對應(yīng)于0.05秒的時(shí)間間隔。在此時(shí)間間隔期間,用于相同存取單元的所有視圖的特定幀(相同時(shí)間例項(xiàng))可同時(shí)再現(xiàn)。在一個(gè)實(shí)例中,存取單元可包括一個(gè)時(shí)間例項(xiàng)中的經(jīng)譯碼圖片,其可呈現(xiàn)為初級經(jīng)譯碼圖片。
因此,存取單元可包括共同時(shí)間例項(xiàng)的所有音頻及視頻幀,例如對應(yīng)于時(shí)間X的所有視圖。本發(fā)明還將特定視圖的經(jīng)編碼圖片稱為“視圖分量”。也就是說,視圖分量可包括在特定時(shí)間針對特定視圖的經(jīng)編碼圖片(或幀)。因此,存取單元可被定義為包括共同時(shí)間例項(xiàng)的所有視圖分量。存取單元的解碼次序不一定與輸出或顯示次序相同。
媒體呈現(xiàn)可包含媒體呈現(xiàn)描述(MPD),其可含有不同替代表示(例如,具有不同質(zhì)量的視頻服務(wù))的描述,且所述描述可包含例如編解碼器信息、簡檔值及水平值。MPD是例如清單文件66等的清單文件的一個(gè)實(shí)例??蛻舳搜b置40可檢索媒體呈現(xiàn)的MPD以確定如何接入不同呈現(xiàn)的電影片段。電影片段可位于視頻文件的電影片段框(moof框)中。
清單文件66(其可包括(舉例來說)MPD)可通告表示68的片段的可用性。也就是說,MPD可包含指示表示68中的一者的第一片段變得可用時(shí)的掛鐘時(shí)間的信息,以及指示表示68內(nèi)的片段的持續(xù)時(shí)間的信息。以此方式,客戶端裝置40的檢索單元52可基于開始時(shí)間以及在特定片段之前的片段的持續(xù)時(shí)間而確定何時(shí)每一片段可用。
在封裝單元30已基于所接收數(shù)據(jù)將NAL單元及/或存取單元匯編到視頻文件中之后,封裝單元30將視頻文件傳遞到輸出接口32以用于輸出。在一些實(shí)例中,封裝單元30可將視頻文件存儲在本地,或經(jīng)由輸出接口32將視頻文件發(fā)送到遠(yuǎn)程服務(wù)器,而非將視頻文件直接發(fā)送到客戶端裝置40。輸出接口32可包括(舉例來說)發(fā)射器、收發(fā)器、用于將數(shù)據(jù)寫入到計(jì)算機(jī)可讀媒體的裝置,例如舉例來說光盤驅(qū)動器、磁性媒體驅(qū)動器(例如,軟盤驅(qū)動器)、通用串行總線(USB)端口、網(wǎng)絡(luò)接口或其它輸出接口。輸出接口32將視頻文件輸出到計(jì)算機(jī)可讀媒體34,舉例來說發(fā)射信號、磁性媒體、光學(xué)媒體、存儲器、快閃驅(qū)動器,或其它計(jì)算機(jī)可讀媒體。
網(wǎng)絡(luò)接口54可經(jīng)由網(wǎng)絡(luò)74接收NAL單元或存取單元,且經(jīng)由檢索單元52將NAL單元或存取單元提供到解封裝單元50。解封裝單元50可將視頻文件的元素解封裝成組成PES流,將PES流解包化以檢索經(jīng)編碼數(shù)據(jù),且依據(jù)經(jīng)編碼數(shù)據(jù)是音頻流還是視頻流的一部分(例如,如通過流的PES包標(biāo)頭所指示)而向音頻解碼器46或視頻解碼器48發(fā)送經(jīng)編碼數(shù)據(jù)。音頻解碼器46對經(jīng)編碼音頻數(shù)據(jù)進(jìn)行解碼,并且向音頻輸出42發(fā)送經(jīng)解碼音頻數(shù)據(jù),而視頻解碼器48對經(jīng)編碼視頻數(shù)據(jù)進(jìn)行解碼,并且向視頻輸出44發(fā)送所述經(jīng)解碼視頻數(shù)據(jù),其可包含流的多個(gè)視圖。
在一個(gè)實(shí)例中,描述檢索媒體數(shù)據(jù)的方法,所述方法包括:通過媒體服務(wù)器將媒體數(shù)據(jù)的主要內(nèi)容拆分成多個(gè)周期;通過媒體服務(wù)器將輔助媒體內(nèi)容插入第一周期與第二周期之間,其中第一周期及第二周期在時(shí)間上是依序的;通過媒體服務(wù)器用信號表示多個(gè)周期中的每一者的時(shí)間指示符,其中時(shí)間指示符界定用于多個(gè)周期中的每一者的一或多個(gè)時(shí)間特征;及通過媒體服務(wù)器從基于HTTP的動態(tài)自適應(yīng)流(DASH)客戶端接收請求以檢索包括多個(gè)周期、輔助媒體內(nèi)容及時(shí)間指示符的媒體流。
在另一實(shí)例中,描述檢索媒體數(shù)據(jù)的方法,所述方法包括確定媒體內(nèi)容的清單文件指示媒體內(nèi)容包含第一周期及第二周期、所述清單文件指示第一及第二周期是連續(xù)的及廣告媒體數(shù)據(jù)可用于插入第一及第二周期之間;至少部分地基于針對第一周期中的第一適應(yīng)集合用信號表示的特征而選擇所述第一適應(yīng)集合;基于第一適應(yīng)集合的選擇而檢索第一適應(yīng)集合的媒體數(shù)據(jù);檢索廣告媒體數(shù)據(jù);及基于第一適應(yīng)集合的選擇而檢索第二周期中的第二適應(yīng)集合的媒體數(shù)據(jù),清單文件指示第二周期中的第二適應(yīng)集合與第一適應(yīng)集合相關(guān)聯(lián)。
在另一實(shí)例中,描述檢索媒體數(shù)據(jù)的方法,所述方法包括確定媒體內(nèi)容是否包含第一周期及第二周期;確定第一周期及第二周期是否是連續(xù)的;確定廣告媒體數(shù)據(jù)是否可用于插入第一周期與第二周期之間;及形成清單文件,其中所述清單文件包含媒體內(nèi)容是否包含第一周期及第二周期、第一周期及第二周期是否是連續(xù)的及廣告媒體數(shù)據(jù)是否可用于插入第一周期與第二周期之間的指示。
圖2是說明實(shí)例多媒體內(nèi)容102的元素的概念圖。多媒體內(nèi)容102可對應(yīng)于多媒體內(nèi)容64(圖1),或存儲在存儲器62中的另一多媒體內(nèi)容。在圖2的實(shí)例中,多媒體內(nèi)容102包含媒體呈現(xiàn)描述(MPD)104及多個(gè)表示110A-110N。表示110A包含任選的標(biāo)頭數(shù)據(jù)112及片段114A-114N(片段114),而表示110N包含任選的標(biāo)頭數(shù)據(jù)122及片段124A-124N(片段124)。為了方便起見,使用字母N來標(biāo)明表示110A、110N中的每一者中的最后一個(gè)電影片段。在一些實(shí)例中,表示110A、110N之間可能存在不同數(shù)目的電影片段。
MPD 104可包括與表示110A-110N分開的數(shù)據(jù)結(jié)構(gòu)。MPD 104可對應(yīng)于圖1的清單文件66。同樣,表示110A-110N可對應(yīng)于圖1的表示68。一般來說,MPD 104可包含大體描述表示110A-110N的特征的數(shù)據(jù),例如譯碼及再現(xiàn)特征、適應(yīng)集合、MPD 104所對應(yīng)的簡檔、文本類型信息、相機(jī)角度信息、分級信息、特技模式信息(例如,指示包含時(shí)間子序列的表示的信息)及/或用于檢索遙遠(yuǎn)周期(例如,用于在回放期間向媒體內(nèi)容中插入定向廣告)的信息。
標(biāo)頭數(shù)據(jù)112當(dāng)存在時(shí)可描述片段114的特征,例如隨機(jī)存取點(diǎn)(RAP,也稱為流接入點(diǎn)(SAP))的時(shí)間位置、片段114中的哪一者包含隨機(jī)存取點(diǎn)、到片段114內(nèi)的隨機(jī)存取點(diǎn)的字節(jié)偏移、片段114的統(tǒng)一資源定位符(URL),或片段114的其它方面。標(biāo)頭數(shù)據(jù)122當(dāng)存在時(shí)可描述片段124的類似特征。另外或替代地,這些特性可完全包含在MPD 104內(nèi)。
片段114、124包含一或多個(gè)經(jīng)譯碼視頻樣本,其中的每一者可包含視頻數(shù)據(jù)的幀或切片。片段114的經(jīng)譯碼視頻樣本中的每一者可具有類似特征,例如,高度、寬度及帶寬要求??赏ㄟ^MPD 104的數(shù)據(jù)描述這些特征,但是圖2的實(shí)例中未說明這些數(shù)據(jù)。MPD 104可包含如3GPP規(guī)范描述的特征,其中添加了本發(fā)明中描述的用信號表示的信息中的任一者或全部。
片段114、124中的每一者可與唯一統(tǒng)一資源定位符(URL)相關(guān)聯(lián)。因此,片段114、124中的每一者可使用流式傳輸網(wǎng)絡(luò)協(xié)議(例如DASH)可獨(dú)立地檢索。以此方式,例如客戶端裝置40等目的地裝置可使用HTTP GET請求來檢索片段114或124。在一些實(shí)例中,客戶端裝置40可使用HTTP部分GET請求來檢索片段114或124的特定字節(jié)范圍。
根據(jù)本發(fā)明的技術(shù),媒體呈現(xiàn)描述104可指示表示110A-110N所對應(yīng)的周期與后續(xù)表示(未展示)可對應(yīng)的另一周期是連續(xù)的。因此,包含表示110A-110N的適應(yīng)集合可與另一周期的適應(yīng)集合相關(guān)聯(lián)。因此,包含表示110A-110N的適應(yīng)集合的一或多個(gè)特征可與另一適應(yīng)集合相同,其中此類特征可包含以下各項(xiàng)中的任一者或全部:如通過媒體呈現(xiàn)描述104的@lang屬性描述的語言、通過媒體呈現(xiàn)描述104的@contentType屬性描述的媒體組成類型、如通過媒體呈現(xiàn)描述104的@par屬性描述的圖片高寬比、如通過媒體呈現(xiàn)描述104的角色元素描述的任何角色特性、如通過媒體呈現(xiàn)描述104的可存取性元素描述的任何可存取性特性及/或如通過媒體呈現(xiàn)描述104的視角元素描述的任何視角特性。
以此方式,客戶端裝置40可基于在媒體呈現(xiàn)描述104中用信號表示的特征而選擇包含表示110A-110N的適應(yīng)集合,且隨后基于包含表示110A-110N的適應(yīng)集合的選擇而檢索(后續(xù)的連續(xù)周期的)另一調(diào)適集合的媒體數(shù)據(jù)。也就是說,客戶端裝置40無需評估相關(guān)聯(lián)適應(yīng)集合的特征,因?yàn)榇祟愄卣魇窍嗤?基于媒體呈現(xiàn)描述104中后續(xù)周期的適應(yīng)集合與包含表示110A-110N的適應(yīng)集合相關(guān)聯(lián)的指示)。
圖3是說明可實(shí)施本發(fā)明的技術(shù)的另一實(shí)例系統(tǒng)200的框圖。圖4中的系統(tǒng)200的元件通??蓪?yīng)于圖1的元件。舉例來說,系統(tǒng)200包含廣告(ad)決策服務(wù)器208、內(nèi)容分布系統(tǒng)212及客戶端裝置206。內(nèi)容分布系統(tǒng)212的元件通??蓪?yīng)于圖1的內(nèi)容準(zhǔn)備裝置20及/或服務(wù)器裝置60,而客戶端裝置206的元件可對應(yīng)于圖1的客戶端裝置40。在一些實(shí)例中,客戶端裝置206的元件可對應(yīng)于圖1的檢索單元52。
在此實(shí)例中,客戶端裝置206包含媒體引擎202及DASH接入客戶端204。內(nèi)容分布系統(tǒng)212包含MPD產(chǎn)生器214、打包器216及內(nèi)容分布網(wǎng)絡(luò)(CDN)/源服務(wù)器218。源服務(wù)器218存儲MPD 220、主要內(nèi)容222A-222C及廣告數(shù)據(jù)224A-224C。
媒體引擎202、DASH接入客戶端204、MPD產(chǎn)生器214及打包器216可在硬件或軟件中實(shí)施。當(dāng)在軟件中實(shí)施時(shí),假定還提供例如一或多個(gè)處理單元及一或多個(gè)計(jì)算機(jī)可讀存儲媒體等必需硬件。計(jì)算機(jī)可讀存儲媒體可存儲軟件的指令并且處理單元可執(zhí)行所述指令以執(zhí)行上文描述的功能。
指向含有單一周期呈現(xiàn)的CDN上的點(diǎn)播內(nèi)容的MPD是可用的。MPD基于線索(廣告插入機(jī)會)修改成廣告多個(gè)周期,而不改變服務(wù)器上的內(nèi)容。對于每個(gè)機(jī)會,提供到廣告決策服務(wù)器的x鏈路。將MPD提供到DASH客戶端。對于MPD中的每個(gè)x鏈路,檢查是否添加廣告(可能將用戶定為目標(biāo))。如果否,則周期可解析至0。如果是,則添加其它內(nèi)容。DASH客戶端連續(xù)地播放內(nèi)容,并且如果解析至零,則媒體引擎不進(jìn)行最新初始化。
圖3的MPD產(chǎn)生器214可經(jīng)配置以指示兩個(gè)或兩個(gè)以上周期是連續(xù)的。因此,MPD產(chǎn)生器214可根據(jù)本發(fā)明的技術(shù)指示在MPD(或其它清單文件)中的相關(guān)聯(lián)(如上文所論述)的周期的適應(yīng)集合。因此,客戶端裝置206可基于通過MPD產(chǎn)生器214產(chǎn)生的在MPD中用信號表示的第一周期的適應(yīng)集合的特征而選擇一個(gè)周期的適應(yīng)集合及另一連續(xù)周期的相關(guān)聯(lián)適應(yīng)集合。
以此方式,內(nèi)容分布系統(tǒng)212及CDN/源服務(wù)器218表示用于發(fā)送媒體數(shù)據(jù)的裝置的實(shí)例,所述裝置包含:存儲器,其經(jīng)配置以存儲媒體數(shù)據(jù);及一或多個(gè)基于硬件的處理器,其經(jīng)配置以:將媒體數(shù)據(jù)的主要內(nèi)容拆分成包含第一周期及第二周期的多個(gè)周期,所述第一周期及所述第二周期在時(shí)間上是依序的;將輔助媒體內(nèi)容插入第一周期與第二周期之間;用信號表示多個(gè)周期中的每一者的時(shí)間指示符,其中所述時(shí)間指示符界定多個(gè)周期中的每一者的一或多個(gè)時(shí)間特征;及從基于HTTP的動態(tài)自適應(yīng)流(DASH)客戶端接收請求以檢索包括多個(gè)周期、輔助媒體內(nèi)容及時(shí)間指示符的媒體流。
同樣地,客戶端裝置206表示用于檢索媒體數(shù)據(jù)的裝置的實(shí)例,所述裝置包含:存儲器,其經(jīng)配置以存儲媒體數(shù)據(jù);及一或多個(gè)基于硬件的處理器,其經(jīng)配置以:確定媒體內(nèi)容的清單文件指示媒體內(nèi)容包含第一周期及第二周期、所述清單文件指示第一及第二周期是連續(xù)的及廣告媒體數(shù)據(jù)可用于插入第一周期及第二周期之間;至少部分地基于針對第一周期中的第一適應(yīng)集合用信號表示的特征而選擇所述第一適應(yīng)集合;基于第一適應(yīng)集合的選擇而檢索第一適應(yīng)集合的媒體數(shù)據(jù);檢索廣告媒體數(shù)據(jù);及基于第一適應(yīng)集合的選擇而檢索第二周期中的第二適應(yīng)集合的媒體數(shù)據(jù)且將所檢索媒體數(shù)據(jù)存儲到存儲器,清單文件指示第二周期中的第二適應(yīng)集合與第一適應(yīng)集合相關(guān)聯(lián)。
圖4是說明根據(jù)本發(fā)明一或多個(gè)技術(shù)發(fā)送媒體數(shù)據(jù)的方法的流程圖。在此實(shí)例中,媒體服務(wù)器可將媒體數(shù)據(jù)的主要內(nèi)容拆分成多個(gè)周期(300)。媒體服務(wù)器可將輔助媒體內(nèi)容插入第一周期與第二周期之間(302),其中所述第一周期及所述第二周期在時(shí)間上是依序的。輔助媒體內(nèi)容可為(舉例來說)將以與主要媒體內(nèi)容大體上相同的方式呈現(xiàn)的廣告媒體內(nèi)容。媒體服務(wù)器可用信號表示多個(gè)周期中的每一者的時(shí)間指示符(304),其中所述時(shí)間指示符界定多個(gè)周期中的每一者的一或多個(gè)時(shí)間特征。媒體服務(wù)器可例如從基于HTTP的動態(tài)自適應(yīng)流(DASH)客戶端接收請求以檢索媒體流(306)。媒體流的請求可對應(yīng)于用于檢索包括多個(gè)周期、輔助媒體內(nèi)容及時(shí)間指示符的媒體流的請求。
圖5是說明根據(jù)本發(fā)明的一或多個(gè)技術(shù)檢索媒體數(shù)據(jù)的方法的流程圖。在此實(shí)例中,裝置確定清單文件的特征(310)。舉例來說,裝置可確定媒體內(nèi)容的清單文件指示媒體內(nèi)容包含第一周期及第二周期,清單文件指示第一及第二周期是連續(xù)的且廣告媒體數(shù)據(jù)可用于插入第一周期與第二周期之間。裝置可選擇第一適應(yīng)集合(312)。在一個(gè)實(shí)例中,第一適應(yīng)集合可處于第一周期中,并且所述選擇可至少部分地基于針對第一適應(yīng)集合用信號表示的特征。裝置隨后可基于第一適應(yīng)集合的選擇而檢索第一適應(yīng)集合的媒體數(shù)據(jù)(314)。裝置隨后可檢索廣告媒體數(shù)據(jù)(316)。此外,裝置可基于第一適應(yīng)集合的選擇而檢索第二適應(yīng)集合的媒體數(shù)據(jù)(318)。第二適應(yīng)集合可處于第二周期中,并且清單文件可指示第二適應(yīng)集合與第一適應(yīng)集合相關(guān)聯(lián)。
圖6是說明根據(jù)本發(fā)明一或多個(gè)技術(shù)發(fā)送媒體數(shù)據(jù)的方法的流程圖。在此實(shí)例中,裝置可確定媒體內(nèi)容是否包含第一周期及第二周期(320)。裝置可確定第一周期及第二周期是否是連續(xù)的(322)。裝置可確定廣告媒體數(shù)據(jù)是否可用于插入例如第一周期與第二周期之間(324)。裝置可形成清單文件(326),其中所述清單文件包含媒體內(nèi)容是否包含第一周期及第二周期、第一周期及第二周期是否是連續(xù)的及廣告媒體數(shù)據(jù)是否可用于插入第一周期與第二周期之間的指示。
圖7是說明通過媒體服務(wù)器執(zhí)行本發(fā)明的某些技術(shù)的實(shí)例方法的流程圖。此實(shí)例方法包含通過媒體服務(wù)器將媒體數(shù)據(jù)的主要內(nèi)容拆分成包含第一周期及第二周期的多個(gè)周期,其中第一周期及第二周期在時(shí)間上是依序的(350)。此實(shí)例方法還包含通過媒體服務(wù)器用信號表示指示輔助媒體內(nèi)容可用于插入第一周期與第二周期之間的信息(352)。此實(shí)例方法進(jìn)一步包含通過媒體服務(wù)器用信號表示多個(gè)周期中的每一者的時(shí)間指示符,其中所述時(shí)間指示符界定多個(gè)周期中的每一者的一或多個(gè)時(shí)間特征(354)。
圖8是說明通過客戶端裝置執(zhí)行本發(fā)明的某些技術(shù)的實(shí)例方法的流程圖。此實(shí)例方法包含確定媒體內(nèi)容的清單文件指示媒體內(nèi)容包含第一周期及第二周期、清單文件指示第一及第二周期是連續(xù)的及廣告媒體數(shù)據(jù)可用于插入第一周期與第二周期之間(370)。此實(shí)例方法還包含至少部分地基于針對第一周期中的第一適應(yīng)集合用信號表示的特征而選擇所述第一適應(yīng)集合(372)。此實(shí)例方法進(jìn)一步包含基于第一適應(yīng)集合的選擇而檢索第一適應(yīng)集合的媒體數(shù)據(jù)(374)。最后,此實(shí)例方法包含基于第一適應(yīng)集合的選擇而檢索與第一適應(yīng)集合相關(guān)聯(lián)的第二周期中的第二適應(yīng)集合的媒體數(shù)據(jù)(376)。
應(yīng)理解,在一些實(shí)例中,客戶端裝置可經(jīng)配置以執(zhí)行上文描述的第一實(shí)例、第二實(shí)例及第三實(shí)例的技術(shù)中的任一者或全部。舉例來說,不同內(nèi)容分布網(wǎng)絡(luò)可支持用于定向廣告插入的不同機(jī)構(gòu),并且客戶端裝置可實(shí)施第一實(shí)例、第二實(shí)例及/或第三實(shí)例中的任一者或全部的技術(shù)。作為另一實(shí)例,內(nèi)容分布網(wǎng)絡(luò)可支持上文描述的第一實(shí)例、第二實(shí)例及/或第三實(shí)例的技術(shù)中的任一者或全部。此外,上文描述的第一實(shí)例、第二實(shí)例及/或第三實(shí)例的技術(shù)可以任何組合共同執(zhí)行。
在一或多個(gè)實(shí)例中,描述的功能可用硬件、軟件、固件或其任何組合來實(shí)施。如果以軟件實(shí)施,那么所述功能可作為一或多個(gè)指令或代碼在計(jì)算機(jī)可讀媒體上存儲或傳輸,并且由基于硬件的處理單元來執(zhí)行。計(jì)算機(jī)可讀媒體可包含計(jì)算機(jī)可讀存儲媒體,其對應(yīng)于例如數(shù)據(jù)存儲媒體或通信媒體等有形媒體,通信媒體包含例如根據(jù)通信協(xié)議促進(jìn)將計(jì)算機(jī)程序從一處傳遞到另一處的任何媒體。以此方式,計(jì)算機(jī)可讀媒體一般可對應(yīng)于(1)有形計(jì)算機(jī)可讀存儲媒體,其為非暫時(shí)性的,或(2)通信媒體,例如信號或載波。數(shù)據(jù)存儲媒體可為可由一或多個(gè)計(jì)算機(jī)或一或多個(gè)處理器存取以檢索用于實(shí)施本發(fā)明中所描述的技術(shù)的指令、代碼及/或數(shù)據(jù)結(jié)構(gòu)的任何可用媒體。計(jì)算機(jī)程序產(chǎn)品可包含計(jì)算機(jī)可讀媒體。
借助于實(shí)例而非限制性地,此類計(jì)算機(jī)可讀存儲媒體可包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置、快閃存儲器或可用于存儲指令或數(shù)據(jù)結(jié)構(gòu)的形式的所需程序代碼并且可由計(jì)算機(jī)存取的任何其它媒體。并且,任何連接被恰當(dāng)?shù)胤Q作計(jì)算機(jī)可讀媒體。舉例來說,如果使用同軸纜線、光纖纜線、雙絞線、數(shù)字訂戶線(DSL)或例如紅外線、無線電及微波等無線技術(shù)從網(wǎng)站、服務(wù)器或其它遠(yuǎn)程源傳輸指令,那么同軸纜線、光纖纜線、雙絞線、DSL或例如紅外線、無線電及微波等無線技術(shù)包含在媒體的定義中。然而,應(yīng)理解,計(jì)算機(jī)可讀存儲媒體及數(shù)據(jù)存儲媒體并不包含連接、載波、信號或其它暫時(shí)性媒體,而是實(shí)際上涉及非暫時(shí)性的有形存儲媒體。如本文中所使用,磁盤及光盤包含壓縮光盤(CD)、激光光盤、光學(xué)光盤、數(shù)字多功能光盤(DVD)、軟性磁盤及藍(lán)光光盤,其中磁盤通常以磁性方式再現(xiàn)數(shù)據(jù),而光盤利用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。以上內(nèi)容的組合也可包含在計(jì)算機(jī)可讀媒體的范圍內(nèi)。
可由例如一或多個(gè)數(shù)字信號處理器(DSP)、通用微處理器、專用集成電路(ASIC)、現(xiàn)場可編程邏輯陣列(FPGA)或其它等效集成或離散邏輯電路等一或多個(gè)處理器來執(zhí)行指令。因此,如本文中所使用的術(shù)語“處理器”可指前述結(jié)構(gòu)或適合于實(shí)施本文中所描述的技術(shù)的任一其它結(jié)構(gòu)中的任一者。另外,在一些方面中,本文中所描述的功能性可在經(jīng)配置用于編碼及解碼的專用硬件及/或軟件模塊內(nèi)提供,或者并入在組合編解碼器中。而且,所述技術(shù)可完全實(shí)施于一或多個(gè)電路或邏輯元件中。
本發(fā)明的技術(shù)可在各種裝置或設(shè)備中實(shí)施,包含無線手持機(jī)、集成電路(IC)或一組IC(例如,芯片組)。本發(fā)明中描述各種組件、模塊或單元是為了強(qiáng)調(diào)經(jīng)配置以執(zhí)行所揭示的技術(shù)的裝置的功能方面,但未必需要由不同硬件單元實(shí)現(xiàn)。實(shí)際上,如上文所描述,各種單元可結(jié)合合適的軟件及/或固件組合在編碼解碼器硬件單元中,或者通過互操作硬件單元的集合來提供,所述硬件單元包含如上文所描述的一或多個(gè)處理器。
描述了各種實(shí)例。這些及其它實(shí)例在所附權(quán)利要求書的范圍內(nèi)。