專利名稱:基于文件格式生成和再現(xiàn)自適應(yīng)流的方法和裝置及記錄介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及內(nèi)容傳輸系統(tǒng),更特定地,涉及基于文件格式生成和再現(xiàn)自適應(yīng)流的方法和裝置。
背景技術(shù):
國際標(biāo)準(zhǔn)化組織/國際電子技術(shù)委員會(IS0/IEC) 14496-12定義ISO基礎(chǔ)文件格式作為用作多媒體服務(wù)的標(biāo)準(zhǔn)文件格式。ISO基礎(chǔ)文件格式具有靈 活和可擴(kuò)展的文件結(jié)構(gòu),于是,用作各種媒體文件格式的基礎(chǔ)。ISO基礎(chǔ)文件格式具有打包媒體資源和元數(shù)據(jù)的標(biāo)準(zhǔn)化文件結(jié)構(gòu),于是具有能夠包含各種類型媒體資源和元數(shù)據(jù)的面向?qū)ο蟮脑O(shè)計。例如,聯(lián)合圖像專家小組(JPEG)2000和第三代伙伴項目(3GPP)文件格式是基于ISO基礎(chǔ)文件格式,運動圖像專家組(MPEG) -4文件格式也對應(yīng)于ISO基礎(chǔ)文件格式的擴(kuò)展。同時,使用超文本傳輸協(xié)議(HTTP)的音頻/視頻(A/V)流對應(yīng)于最小化服務(wù)器負(fù)擔(dān)并且完全依賴于客戶的智能處理的流方案(streaming scheme)??蛻敉ㄟ^使用僅僅HTTP的部分文件傳輸請求或者文件傳輸請求來獲得流。因此,為了適應(yīng)網(wǎng)絡(luò)的數(shù)據(jù)率改變,對于相同的內(nèi)容,文件應(yīng)當(dāng)以各種數(shù)據(jù)率被壓縮并且應(yīng)當(dāng)預(yù)先被上傳到服務(wù)器。進(jìn)一步,為了適應(yīng)網(wǎng)絡(luò)的改變,整個內(nèi)容文件應(yīng)當(dāng)被分離為適當(dāng)尺寸的片段(fragment),并且將所分離片段存儲為文件。進(jìn)一步,包含關(guān)于順序獲取這些片段文件并且從其中再現(xiàn)AV內(nèi)容的方法的信息的獨立元數(shù)據(jù)文件應(yīng)當(dāng)被上傳到服務(wù)器中。這種元數(shù)據(jù)文件的實例是清單(manifest),它通常意指提供與文件列表有關(guān)的信息的文件。當(dāng)內(nèi)容信息被發(fā)送時,被用于發(fā)送關(guān)于文件的配置信息和附加信息(例如時間和構(gòu)成內(nèi)容的數(shù)據(jù)的帶寬)的文件被稱為“清單文件”。另外,有可能提前發(fā)送與文件列表有關(guān)的信息給客戶,以便客戶能夠選擇文件。進(jìn)一步,清單提供關(guān)于自適應(yīng)流的信息。例如,清單提供關(guān)于每個段(segment)所使用的比特率的信息。因此,終端能夠基于關(guān)于自適應(yīng)流的信息選擇適合的段。
發(fā)明內(nèi)容
技術(shù)問題然而,當(dāng)內(nèi)容在被分離為小單元以便適應(yīng)改變的廣播環(huán)境之后被發(fā)送時,需要一種有效傳送清單文件的方案。進(jìn)一步,也需要客戶能夠通過從服務(wù)器發(fā)送的文件格式為再現(xiàn)找到適當(dāng)文件的方案。另外,在服務(wù)器調(diào)度的時候,文件應(yīng)當(dāng)通過指向不同的通用資源定位符(URL)被映射到相應(yīng)的段,這增加了調(diào)度負(fù)荷。解決方案因此,本發(fā)明已經(jīng)被形成以解決在現(xiàn)有技術(shù)中出現(xiàn)的上述問題,并且本發(fā)明提供一種基于文件格式生成和再現(xiàn)自適應(yīng)流的方法和裝置,它能有效地傳送、接收和再現(xiàn)清單信息。
進(jìn)一步,本發(fā)明提供基于文件格式生成自適應(yīng)流的方法和裝置,它使得服務(wù)器能夠有效調(diào)度。根據(jù)本發(fā)明的一方面,提供一種在服務(wù)器中發(fā)送文件的方法,所述方法包括生成包含清單盒、moov盒、以及一個或多個段的單個文件,其中每個段包括媒體數(shù)據(jù)盒;并且發(fā)送所生成的單個文件給終端。根據(jù)本發(fā)明的另一方面,一種在服務(wù)器中生成文件的裝置,所述裝置包括生成器,生成發(fā)送清單信息的清單盒、moov盒、以及包含媒體數(shù)據(jù)盒的段;以及發(fā)送器,發(fā)送清單盒、moov盒、以及包含媒體數(shù)據(jù)盒的段給終端,其中,清單盒、moov盒以及段在單個文件中被發(fā)送。根據(jù)本發(fā)明的另一方面,提供一種在終端中再現(xiàn)文件的方法,所述方法包括從服務(wù)器接收清單盒、moov盒、以及段并且分析清單盒、moov盒、以及段;以及基于清單盒、moov盒、以及段的分析結(jié)果執(zhí)行解碼和再現(xiàn),其中清單盒、moov盒、以及段被包含在單個文件中。 根據(jù)本發(fā)明的另一方面,提供一種在終端中再現(xiàn)文件的裝置,所述裝置包括解析器,從服務(wù)器接收清單盒、moov盒、以及段并且分析清單盒、moov盒、以及段;以及解碼器,基于清單盒、moov盒、以及段的分析結(jié)果執(zhí)行解碼,其中,清單盒、moov盒、以及段被包含在單個文件中。根據(jù)本發(fā)明的另一方面,提供一種能夠存儲數(shù)據(jù)結(jié)構(gòu)的記錄介質(zhì),所述記錄介質(zhì)包括清單盒,用于發(fā)送清單信息;m00V盒;以及一個或多個段,每個段包含媒體數(shù)據(jù)盒,其中,清單盒、moov盒、以及段被包含在單個文件中。
從結(jié)合附圖的以下詳細(xì)描述,本發(fā)明的以上和其他方面、特點和優(yōu)點將是更加顯而易見的,其中圖I示出當(dāng)前機(jī)制的清單的圖式;圖2示出與圖I中所示的清單有關(guān)的文件格式的結(jié)構(gòu);圖3示出根據(jù)本發(fā)明第一實施例的清單配置;圖4示出根據(jù)本發(fā)明第二實施例的清單配置;圖5示出根據(jù)本發(fā)明第三實施例的清單配置;圖6示出根據(jù)本發(fā)明第四實施例的位于moov級或moov盒中的mani盒;圖7示出根據(jù)本發(fā)明第五實施例的位于meta級或meta盒的mani盒;圖8示出根據(jù)本發(fā)明的段結(jié)構(gòu)的示例;圖9示出根據(jù)本發(fā)明的段結(jié)構(gòu)的另一示例;圖10示出根據(jù)本發(fā)明的其他新字段能夠被加入到文件格式的清單中的示例;圖11是示出終端再現(xiàn)文件的方法的流程圖;圖12是示出服務(wù)器的操作的流程圖;圖13示出終端的框圖;以及圖14示出服務(wù)器的框圖。
具體實施方式
下面將參考附圖描述本發(fā)明的實施例。在以下描述中,當(dāng)它可能使得本發(fā)明的主題相當(dāng)不清晰時,將省略這里被并入的已知功能和配置的詳細(xì)描述。進(jìn)一步,在本發(fā)明的以下描述中,提供各種特定的定義僅僅是幫助本發(fā)明的一般理解,沒有這些定義也能實現(xiàn)本發(fā)明,這對于本領(lǐng)域技術(shù)人員是顯然的。在服務(wù)器和終端的操作的以下描述中,沒有被詳細(xì)描述的生成和解析文件格式的過程遵循IS0/IEC 14496-12,本發(fā)明并不限于此。清單參數(shù)包括如圖I中所示的圖式和屬性。圖2示出與圖I中所示的清單有關(guān)的文件格式的結(jié)構(gòu)。I. URL模板(URLTemplate)-對應(yīng)于通過組合包含段ID (segment ID)和磁軌ID(track ID)的固定部分所創(chuàng)建的唯一 URL。URL模板包括隨著磁軌ID和段ID —起的每個段的URL。URL模板表示訪問每個段的模板。如果有必要,URL模板在段中可以被URL覆蓋。
以下是URL模板的實例。http://example, com/vod/movie/18888/Track/{TrackID}/Segments/{segmentID}II. NextAdaptiveControlURL (下一個自適應(yīng)控制URL) —被用于指示有必要連續(xù)觀看的下一個XML URL。下一個自適應(yīng)控制URL是可選的,并且可以被用在實況自適應(yīng)流中或者用于廣告。III. RefDataURL(參考數(shù)據(jù)URL)-被用于表示一部分或全部的頭數(shù)據(jù)(.ref)。當(dāng)段能夠解碼自身時,參考數(shù)據(jù)URL是可選的。IV. Track (磁軌)-一組特定類型的具有不同比特速率的連續(xù)段。i. ID-表示磁軌 IDii. Types (類型)-表示磁軌的類型。類型可以是視頻、音頻、打包或組合的視頻和音頻、以及I-幀。iii. BitRate (比特率)_表示在磁軌中的段的比特率。iv. StartTime (開始時間)_指示規(guī)定磁軌起始時間的時間戳。起始時間是可選的。V. SegmentStartID (段起始ID)-表示屬于磁軌的段的初始ID。段起始ID是可選的。vi. SegmentDuration (段持續(xù)時間)_表示每個段的持續(xù)時間。段持續(xù)時間是可選的。vii. SegmentCount (段計數(shù))_表示屬于磁軌的段的總數(shù)。段計數(shù)是可選的。vi ii. Segment (段)-是一些基本單元的級聯(lián),每個單元包括僅僅由音頻或視頻數(shù)據(jù)組成,或者基于特定時間間隔被劃分的音頻和視頻兩者組成的片段。段是在服務(wù)器和客戶機(jī)之間傳輸?shù)幕締卧?。段被分配時間戳,用于時間和空間定位或者A/V同步。(元素段是可選的。如果磁軌元素的可選屬性被規(guī)定,則每個段的所有信息可以被推導(dǎo)出并且元素段變得沒必要了)。
ID-段 ID StartTime (起始時間)_表示段的起始時間。 Duration (持續(xù)時間)_表示段的持續(xù)時間。
URL-當(dāng)使用URL模板時,URL是可選的。URL可以被規(guī)定特定的用法(例如,來自另一個服務(wù)器的內(nèi)容或廣告)并且對于這個段,將忽略URL模板。本發(fā)明包括將被改變元素加入到幾個文件格式以便有效傳輸文件內(nèi)的清單信息。在如圖2中所示的當(dāng)前機(jī)制中,清單和數(shù)據(jù)(例如,音頻、視頻)被分離。終端從服務(wù)器請求和獲得清單。然后終端能夠知悉關(guān)于頭和每個段的信息。頭信息對應(yīng)于關(guān)于解碼和組織的信息,它被存儲在文件格式中的moov盒中。段信息是服務(wù)數(shù)據(jù)的一部分,并且包括moof盒和媒體數(shù)據(jù)(mdat)盒。moof盒存儲關(guān)于這部分服務(wù)的信息,而mdat盒存儲真實數(shù)據(jù),例如,諸如視頻和音頻的媒體流或媒體數(shù)據(jù)。在當(dāng)前機(jī)制中所描述的實例是基于當(dāng)前文件格式的。如果將來文件格式被修改,頭和段也可以被映射到新的格式。目前,清單沒有被存儲在文件格式內(nèi),并且文件格式和清單被獨立請求并且被發(fā) 送給終端。頭信息和段被分為具有不同URL的不同文件。即,不同的文件具有不同的URL。因此,在調(diào)度時,服務(wù)器應(yīng)當(dāng)參考不同的URL以便映射每個段到每個文件,這增加了調(diào)度的負(fù)荷?;贗SO的媒體文件格式包括包含關(guān)于視頻/音頻數(shù)據(jù)的詳細(xì)信息和視頻/音頻的多個盒。這里所描述的盒也可以被稱為數(shù)據(jù)塊或容器。在本發(fā)明的第一到第三實施例中,清單被配置在一個文件格式內(nèi)部的mani盒(mani box)中。圖3示出根據(jù)本發(fā)明第一實施例的清單配置。清單、頭信息、段和下一個清單全都被包含在一個文件中。清單被存儲在mani盒中,頭信息被存儲在moov盒中。SegmentOffset (段偏移)和SegmentSize (段尺寸)屬性被定義在清單中以便用信號通知文件中的每個段的偏移和尺寸。于是,終端能夠請求服務(wù)器基于http范圍提供所期望的段。進(jìn)一步,URLTemplate屬性以固定的部分和范圍信息被創(chuàng)建。就是說,有可能基于清單的段偏移和段尺寸屬性信息獲得在相同URL中的每個段。進(jìn)一步,當(dāng)在文件格式內(nèi)的清單盒被定義時,不使用NextAdaptiveControlURL(下一個自適應(yīng)控制URL)屬性。由于下一個清單也被存儲在此文件中,即,在單個文件中,下一個清單的偏移被定義在當(dāng)前清單盒中。其它參數(shù)與當(dāng)前清單的參數(shù)相同。圖4示出根據(jù)本發(fā)明第二實施例的清單配置。在本發(fā)明的第二實施例中,頭信息和所有段仍然在一個文件中,但是清單從一個文件被單獨傳遞,如圖4所示。清單可以被另一個單個文件存儲或者通過單獨消息而不是文件結(jié)構(gòu)來發(fā)送,或者可以通過單獨URL被獲取。就是說,清單和包含所有段和頭信息的單個文件被終端單獨獲得。根據(jù)本實施例的新機(jī)制具有類似于如上所述的關(guān)于圖2的結(jié)構(gòu),其中,單個文件包含所有的段和頭信息,而不包括清單信息。然而,雖然頭信息和每個段在如上所述的當(dāng)前機(jī)制中應(yīng)當(dāng)通過不同的URL來訪問和獲取,在本發(fā)明的第二實施例中頭信息和所有段應(yīng)當(dāng)通過一個URL來獲取。就是說,如上所述為了通過一個URL來獲取所有段,應(yīng)當(dāng)定義用于在清單內(nèi)部獲得頭信息的位置的新屬性“Headinfo (頭信息)”。
因此,由于頭信息被存儲在moov盒中,頭信息屬性包含文件中的moov盒的位置。為此,用包含HeadOffset (頭偏移)和HeadSize (頭尺寸)的參數(shù)來定義頭信息。如果頭信息和剩余段被分為具有不同URL的兩個文件,則這里能夠使用RefDataURL (參考數(shù)據(jù)URL)來表示頭信息??梢栽谇鍐沃卸x段偏移和段尺寸屬性,以便用信號通知文件中每個段的偏移和尺寸。因此,終端能夠基于http范圍請求所期望的段。進(jìn)一步,URL模板屬性用固定部分和范圍信息來創(chuàng)建。在本發(fā)明的第二實施例中,清單被單獨接收。因此,沒有使用mani盒,并且下一個清單用NextAdaptiveControlURL屬性來指示。就是說,有可能通過NextAdaptiveControlURL屬性來解釋下一個清單信息。圖5示出根據(jù)本發(fā)明第三實施例的清單配置。
在本機(jī)制中,一些段可以是在一個文件(主文件)中,而其余可以是在另一個文件(輔助文件)中。如圖5中所示,段#1和#2是在一個文件中,并且SegmentOffset (段偏移)和SegmentSize (段尺寸)屬性指示在一個文件內(nèi)部的段#1和段#2的位置。然而,段#3在另一個文件中,并且SegmentURL (段URL)屬性指示段#3的位置。例如,在混合網(wǎng)絡(luò)中,一些段可以通過有線網(wǎng)絡(luò)從一個文件取得,而一些段可以通過無線網(wǎng)絡(luò)從一個文件取得。因此,在段被存儲在主文件中的情形中,段偏移和段尺寸被用于指示文件中的段位置。在段被存儲在另一個文件(輔助文件)中的情形中,SegmentURL被用于指示段位置。清單可以被存儲在主文件中,正如在圖5中所示的實例,也可以被單獨存儲。文件格式中的清單的位置可以改變。mani盒不僅可以被定義在文件級別中,也可以被定位在另一個級別中。例如,mani盒可以被定位在moov級別。圖6示出根據(jù)本發(fā)明第四實施例的被定位在moov級別或moov盒中的mani盒。有關(guān)在moov級別中的清單盒的描述類似于關(guān)于在文件級別或文件盒中的清單盒的描述,就是說,類似于在本發(fā)明第一實施例中的描述。通常不更新moov盒。然而,清單更新可以被要求,例如,在實況直播流的情形中。當(dāng)需要清單更新時,moov盒應(yīng)當(dāng)支持更新機(jī)制并且攜帶下一個清單盒,如下面結(jié)構(gòu)中所示。在第一 moov盒中,除了正常的磁軌盒以外,mani盒被加入。當(dāng)需要一個新的mani盒時,moov盒被更新以攜帶新的mani盒。圖6示出段結(jié)構(gòu)。圖6中所示的結(jié)構(gòu)是基于第一種情形,將在后面描述。然而,如果使用自由空間,圖6中所示的結(jié)構(gòu)是基于第二種情形,這將在后面描述。文件格式中的清單位置可以改變。mani盒不僅可以被定義在文件級別中,而且也可以被定位在另一級別中。例如,mani盒可以被定位在元級別(meta level)中。圖7示出根據(jù)本發(fā)明第五實施例的被定位在元級別或元盒(meta box)中的mani盒。在元級別中的清單盒的描述類似于在文件級別或文件盒中的清單盒的描述,即,類似于本發(fā)明的第一實施例中的描述。通常不更新元盒。然而,可以要求清單更新,例如,在實況直播流的情形中。當(dāng)要求清單更新時,元盒應(yīng)當(dāng)支持更新機(jī)制并且發(fā)送下一個清單盒。在第一元盒中,除了正常的元數(shù)據(jù)信息盒之外,mani盒被加入。當(dāng)要求新的mani盒時,元盒被更新以攜帶新的mani盒。圖7示出段結(jié)構(gòu)。圖7中所示的結(jié)構(gòu)是基于第一種情形,它將在后面描述。然而,如果使用自由空間,圖7中所示的結(jié)構(gòu)是基于第二種情形,它將在后面描述。在新的清單配置中,新的mani盒被提出以便支持如上所述的各種實施例。各種盒可以被包含在所提出的mani盒的內(nèi)部。新定義的盒如下表I中所示。表I[表 I]
權(quán)利要求
1.一種在服務(wù)器中發(fā)送文件的方法,所述方法包括 生成包含清單盒、moov盒以及每個包含媒體數(shù)據(jù)盒的一個或多個段的單個文件;以及 將所生成的單個文件發(fā)送給終端。
2.一種在服務(wù)器中生成文件的裝置,所述裝置包括 生成器,生成用于發(fā)送清單信息的清單盒、moov盒、以及包含媒體數(shù)據(jù)盒的段;以及發(fā)送器,將清單盒、moov盒、以及包含媒體數(shù)據(jù)盒的段發(fā)送給終端,其中,在單個文件中發(fā)送清單盒、moov盒、以及段。
3.—種在終端中再現(xiàn)文件的方法,所述方法包括 從服務(wù)器接收清單盒、moov盒以及段,并且分析清單盒、moov盒、以及段;以及 基于分析清單盒、moov盒以及段的結(jié)果執(zhí)行解碼和再現(xiàn), 其中,清單盒、moov盒以及段被包含在單個文件中。
4.一種在終端中再現(xiàn)文件的裝置,所述裝置包括 解析器,從服務(wù)器接收清單盒、moov盒以及段,并且分析清單盒、moov盒、以及段; 解碼器,基于分析清單盒、moov盒以及段的結(jié)果執(zhí)行解碼, 其中,清單盒、moov盒以及段被包含在單個文件中。
5.一種能夠存儲數(shù)據(jù)結(jié)構(gòu)的記錄介質(zhì),所述記錄介質(zhì)包括 清單盒,用于發(fā)送清單信息; moov盒;以及 一個或多個段,每個段包含媒體數(shù)據(jù)盒, 其中,清單盒、moov盒、以及一個或多個段被包含在單個文件中。
6.分別如權(quán)利要求I所述的方法、權(quán)利要求2所述的生成裝置、權(quán)利要求3所述的再現(xiàn)方法、權(quán)利要求4所述的再現(xiàn)裝置、權(quán)利要求5所述的介質(zhì),其中,清單信息包含一個或多個段的偏移息和尺寸息。
7.分別如權(quán)利要求I所述的方法、權(quán)利要求2所述的生成裝置、權(quán)利要求3所述的再現(xiàn)方法、權(quán)利要求4所述的再現(xiàn)裝置、權(quán)利要求5所述的介質(zhì),其中,所述清單信息包括關(guān)于下一個清單偏移和下一個清單尺寸的信息。
8.分別如權(quán)利要求I所述的方法、權(quán)利要求2所述的生成裝置、權(quán)利要求3所述的再現(xiàn)方法、權(quán)利要求4所述的再現(xiàn)裝置、權(quán)利要求5所述的介質(zhì),其中,所述單個文件包含要被發(fā)送的段當(dāng)中的一些段,并且從單個文件中分離的文件包含要被發(fā)送的段當(dāng)中的剩余段。
9.分別如權(quán)利要求8所述的方法、權(quán)利要求8所述的生成裝置、權(quán)利要求8所述的再現(xiàn)方法、權(quán)利要求8所述的再現(xiàn)裝置、權(quán)利要求8所述的介質(zhì),其中一些段的位置由一些段的偏移信息和尺寸信息所指示,并且剩余段的位置由段URL (SegmentURL)屬性所指示。
10.分別如權(quán)利要求I所述的方法、權(quán)利要求2所述的生成裝置、權(quán)利要求3所述的再現(xiàn)方法、權(quán)利要求4所述的再現(xiàn)裝置、權(quán)利要求5所述的介質(zhì),其中,清單盒被存儲在moov盒中。
11.分別如權(quán)利要求I所述的方法、權(quán)利要求2所述的生成裝置、權(quán)利要求3所述的再現(xiàn)方法、權(quán)利要求4所述的再現(xiàn)裝置、權(quán)利要求5所述的介質(zhì),其中,單個文件進(jìn)一步包含元數(shù)據(jù)盒,并且清單盒被存儲在元數(shù)據(jù)盒中。
全文摘要
本發(fā)明公開一種基于文件格式生成和再現(xiàn)自適應(yīng)流的方法和裝置。所述方法包括從服務(wù)器接收一個或多個段,每個包括清單盒、moov盒、以及媒體數(shù)據(jù)盒,并且分析清單盒、moov盒、以及媒體數(shù)據(jù)盒;并且基于清單盒、moov盒、以及媒體數(shù)據(jù)盒的分析結(jié)果解碼和再現(xiàn)所述一個或多個段,其中,清單盒、moov盒、以及媒體數(shù)據(jù)盒被包含在單個文件中。
文檔編號H04N21/2381GK102783167SQ201180011986
公開日2012年11月14日 申請日期2011年3月4日 優(yōu)先權(quán)日2010年3月5日
發(fā)明者宋在涓, 張冠華, 徐異凌, 柳誠烈 申請人:三星電子株式會社