專利名稱:用于多媒體流傳輸文件的存儲文件格式、存儲方法和使用其的客戶端裝置的制作方法
技術(shù)領(lǐng)域:
與示范實施例一致的裝置和方法涉及一種在客戶端側(cè)用于支持從服務器提供的自適應多媒體流的存儲和重放的存儲文件格式、使用該存儲文件格式的客戶端裝置、和在客戶端裝置中存儲多媒體流的方法。
背景技術(shù):
近來,已廣泛使用經(jīng)由因特網(wǎng)或移動通信網(wǎng)絡發(fā)送多媒體數(shù)據(jù)的流傳輸服務(streaming service)。流傳輸服務是使得能夠無需用戶的終端中存儲多媒體數(shù)據(jù)即可播放該多媒體數(shù)據(jù)的多媒體服務。在已經(jīng)使用按照固定比特率提供數(shù)據(jù)的流傳輸服務的同時,最近已經(jīng)使用具有取決于網(wǎng)絡環(huán)境的可變比特率的自適應流傳輸服務。對于自適應流傳輸,服務器側(cè)預先準備各種比特率的媒體流傳輸數(shù)據(jù)并且通過根據(jù)網(wǎng)絡環(huán)境或客戶端的請求改變比特率來發(fā)送數(shù)據(jù)。通過在服務器和客戶端之間以叫做大塊(chunk)的片段為單位發(fā)送和接收數(shù)據(jù)來執(zhí)行自適應流傳輸服務。也即,服務器將整個多媒體數(shù)據(jù)劃分為片段,每個以數(shù)秒為單位,并且發(fā)送片段,而客戶端以片段為單位接收和再現(xiàn)該多媒體數(shù)據(jù)。
發(fā)明內(nèi)容
技術(shù)問題自適應流傳輸服務假設(shè)客戶端側(cè)排除時間差別、幾乎實時地再現(xiàn)從服務器側(cè)提供的多媒體數(shù)據(jù),該時間差別諸如根據(jù)數(shù)據(jù)通信的延遲和客戶端側(cè)用于抖動補償和多媒體數(shù)據(jù)同步的緩沖時間。因此,客戶端側(cè)很難在自適應流傳輸服務中存儲和重放多媒體數(shù)據(jù)。技術(shù)方案示范實施例提供一種用于重放自適應多媒體流的存儲文件格式、使用該存儲文件格式的客戶端裝置、和在客戶端裝置中存儲多媒體流的方法。示范實施例也可以提供一種客戶端裝置,能夠在存儲和重放多媒體流傳輸數(shù)據(jù)時執(zhí)行高質(zhì)量數(shù)據(jù)再現(xiàn),以及提供一種在客戶端裝置中存儲多媒體流的方法。有益效果根據(jù)這里描述的示范實施例,可以在線存儲和離線播放在自適應流傳輸服務中提供的多媒體數(shù)據(jù)。此外,根據(jù)示范實施例,當播放存儲的多媒體流數(shù)據(jù)時,能夠播放比之前更高質(zhì)量的多媒體數(shù)據(jù)。
圖1是用于描述根據(jù)示范實施例的自適應多媒體流傳輸服務的參考圖2是根據(jù)示范實施例的多媒體流傳輸數(shù)據(jù)的存儲文件格式的結(jié)構(gòu)圖;圖3是用于示出根據(jù)示范實施例的、圖2的電影元數(shù)據(jù)(moov)盒(box)的具體配置的參考圖;圖4是用于示出根據(jù)示范實施例的、用于存儲圖2所示的每個片段的元信息的片段報頭信息(moof :電影片段元數(shù)據(jù))盒的具體配置的參考圖;圖5是用于示出根據(jù)示范實施例的、圖2的作為片段訪問元信息的電影片段隨機訪問(mfra)盒的具體配置的參考圖;圖6是根據(jù)示范實施例的客戶端裝置的框圖;圖7是用于描述根據(jù)另一示范實施例的客戶端裝置的參考圖;圖8是根據(jù)示范實施例的存儲多媒體流傳輸文件的方法的流程圖;以及圖9是根據(jù)另一示范實施例的存儲多媒體流傳輸文件的方法的流程圖。
具體實施例方式根據(jù)示范實施例的一方面,提供一種存儲多媒體流傳輸文件的方法,該方法包括從服務器接收和存儲用于播放多媒體流傳輸文件的元信息,該多媒體流傳輸文件包括多個等級的軌跡(track),其中在多個等級的軌跡的每個等級中,多媒體數(shù)據(jù)以不同比特率被編碼;接收和存儲包括多媒體流傳輸文件的片段;獲取用于隨機訪問存儲的片段的隨機訪問信息;和基于獲取的隨機訪問信息產(chǎn)生和存儲用于重放存儲的片段的片段訪問元信息。根據(jù)另一示范實施例的一方面,提供一種用于接收多媒體流傳輸文件的客戶端裝置,該客戶端裝置包括通信單元,其發(fā)送對多媒體流傳輸文件的請求以及從服務器接收多媒體流傳輸文件,其中多媒體流傳輸文件包括多個等級的軌跡,其中在多個等級的軌跡的每個等級中,多媒體數(shù)據(jù)以不同比特率被編碼;存儲單元,其存儲形成由通信單元接收的多媒體流傳輸文件的片段;再現(xiàn)單元,其播放多媒體流傳輸文件;片段訪問數(shù)據(jù)庫,其存儲用于隨機訪問在存儲單元中存儲的片段的隨機訪問信息;片段訪問管理單元,其基于存儲在片段訪問數(shù)據(jù)庫的隨機訪問信息來確定是否存儲了形成多媒體流傳輸文件的片段,并且控制通信單元接收沒有被存儲的片段;以及元數(shù)據(jù)輸入和輸出單元,其產(chǎn)生用于播放多媒體流傳輸文件的元信息和用于重放存儲的片段的片段訪問元信息,在存儲單元中存儲該元信息和片段訪問元信息,并且讀取在存儲單元中存儲的元信息和片段訪問元信息。根據(jù)另一示范實施例的一方面,提供一種用于存儲多媒體流傳輸文件的存儲文件格式,該存儲文件格式包括文件類型(ftyp)盒,用于存儲文件類型;電影元數(shù)據(jù)(moov)盒,用于存儲播放待存儲的多媒體流傳輸文件的元信息;片段,具有用于存儲接收的片段的元信息的片段報頭信息(moof:電影片段元數(shù)據(jù))盒和用于存儲接收的片段的媒體數(shù)據(jù)的媒體數(shù)據(jù)(mdat)盒;和電影片段隨機訪問(mfra)盒,其是用于隨機訪問和重放片段的片段訪問元信息。現(xiàn)在將參考附圖充分描述各示范實施例。圖1是用于描述根據(jù)示范實施例的自適應多媒體流傳輸服務的參考圖。參考圖1,在自適應多媒體流傳輸服務中,服務器110通過以不同比特率編碼多媒體數(shù)據(jù)而預先在多個等級中準備多媒體流傳輸文件140,并且在根據(jù)網(wǎng)絡120的環(huán)境或客戶端130的請求而從形成多媒體流傳輸文件140的多個等級的多媒體數(shù)據(jù)141、142和143中選擇的等級中向客戶端130發(fā)送形成多媒體數(shù)據(jù)的片段。形成多媒體流傳輸文件140的多個等級的多媒體數(shù)據(jù)141、142和143中的每個可以被定義為由軌跡標識符Track_ID標識的軌跡(track)。形成多媒體流傳輸文件140的多個等級的多媒體數(shù)據(jù)141、142和143根據(jù)不同的方法被編碼以具有不同的比特率。多個等級的多媒體數(shù)據(jù)141、142和143可以通過分辨率或編解碼器而非比特率來識別。多個等級的多媒體數(shù)據(jù)141、142和143中的每個包括與具有對應于秒的數(shù)據(jù)量的多媒體數(shù)據(jù)對應的片段。由于通過根據(jù)各自不同的方法編碼相同的多媒體數(shù)據(jù)而獲得不同等級中的片段,故不同等級中的片段具有不同的大小。例如,形成第一等級的多媒體數(shù)據(jù)143的片段可以具有IMbps的比特率,形成第二等級的多媒體數(shù)據(jù)142的片段可以具有5Mbps的比特率,而形成第三等級的多媒體數(shù)據(jù)141的片段可以具有IOMbps的比特率。如上所述,根據(jù)網(wǎng)絡120的環(huán)境或客戶端130的請求在從形成多媒體流傳輸文件140的多個等級的多媒體數(shù)據(jù)141、142和143中選擇的等級中向客戶端130發(fā)送形成多媒體數(shù)據(jù)的片段。如果網(wǎng)絡120的帶寬或客戶端130可用的數(shù)據(jù)帶寬改變,如參考數(shù)字150表示的,則月艮務器110向客戶端130發(fā)送在多個可用等級的多媒體數(shù)據(jù)141、142和143之中形成具有適合于該帶寬改變的最大比特率的等級的多媒體數(shù)據(jù)的片段。也即,通過流傳輸具有在當前帶寬中可用的最大比特率的片段并且在當前帶寬已惡化時流傳輸具有相對小的比特率的片段,來根據(jù)帶寬自適應地發(fā)送片段。換句話說,所發(fā)送的片段的等級和比特率在傳輸期間可以根據(jù)可用帶寬的改變而改變。在有關(guān)技術(shù)的自適應多媒體流傳輸服務中,由于服務器110根據(jù)客戶端130的請求以片段為單位發(fā)送數(shù)據(jù),并且客戶端130接收和播放與整個多媒體流傳輸文件的一部分對應的片段,以致客戶端130很難根據(jù)多媒體流傳輸服務來重放多媒體數(shù)據(jù)。因此,這里描述的示范實施例包括使用用于通過向數(shù)據(jù)的片段添加用于重放的隨機訪問信息和用于播放的元信息來存儲多媒體流傳輸數(shù)據(jù)的存儲文件格式、使用該存儲文件格式的客戶端裝置、和在客戶端裝置中存儲多媒體流的方法。圖2是根據(jù)示范實施例的多媒體流傳輸數(shù)據(jù)的存儲文件格式的結(jié)構(gòu)圖。參考圖2,多媒體流傳輸數(shù)據(jù)的存儲文件格式包括盒210,用于存儲文件類型的文件類型(ftyp);盒220,用于存儲播放待存儲的多媒體流傳輸文件的元信息的電影元數(shù)據(jù)(moov);多個片段230和240 ;和電影片段隨機訪問(mfra)盒250,其具有用于隨機訪問和重放存儲的片段的片段訪問元信息。多個片段230和240中的每個包括用于存儲對應片段的元信息的片段報頭信息(moof :電影片段元數(shù)據(jù))盒231或241以及媒體數(shù)據(jù)(mdat)盒232或242。雖然圖2示出的情況是moov盒220緊接在ftyp盒210之后,但是示范實施例不局限于此,并且moov盒220可以在最后一個片段和mfra盒250之間。在這種情況下,moov盒220還可以包括用于描述其大小的信息。盡管針對其中存儲文件格式符合MP4文件格式標準的情況來描述存儲文件格式,但是本領(lǐng)域的普通技術(shù)人員通過詳細描述將會理解示范實施例不局限于MP4文件格式標準,而其他傳輸文件格式標準也能適用。ftyp盒210是用于存儲待存儲的多媒體流傳輸文件的類型的盒子(box)。如上所述,ftyp盒210根據(jù)MP4文件格式標準可以具有值m、4、d和S。圖3是用于示出根據(jù)示范實施例的、圖2的moov盒220的具體配置的參考圖。參考圖3,moov盒300包括軌跡信息310以及片段的分段持續(xù)時間信息320,其中軌跡信息310包括軌跡標識符(track_ID)信息和每個軌跡的編解碼器信息,track_ID信息用于標識在服務器側(cè)準備的多個等級的多媒體數(shù)據(jù)中的每個軌跡。通過對多個等級的多媒體數(shù)據(jù)定義軌跡信息310的唯一的track_ID,可確定待存儲的片段屬于哪個等級的多媒體數(shù)據(jù)。要做到這一點,如下面描述的,track_ID也可以被包括在每個片段的片段報頭信息中以標識該片段屬于哪個等級的多媒體數(shù)據(jù)。片段的分段持續(xù)時間信息320用于在重放或播放中執(zhí)行時間同步。此外,雖然在圖3中未示出,但是moov盒300還可以包括分段索引信息,其基于從服務器側(cè)提供的多媒體數(shù)據(jù)文件來指示接收的片段的順序。分段索引信息可用于搜索所期望的片段。在基于實時流傳輸協(xié)議(RTSP)的自適應流傳輸?shù)那闆r下,可以按會話描述協(xié)議 (SDP)格式來傳遞元信息,并且在基于超文本傳輸協(xié)議(HTTP)的自適應流傳輸?shù)那闆r下,可以按單獨的元文件(諸如清單文件)的格式向客戶端傳遞元信息。圖4是用于示出根據(jù)示范實施例的、用于存儲圖2所示的每個片段的元信息的moof盒231或241的具體配置的參考圖。參考圖4,moof盒400包括序列號410和track_ID420,其中序列號410被分配了按將接收的片段的順序而增加的值,而track_ID420用于檢查接收的片段屬于哪個等級的多媒體數(shù)據(jù)。每個可用軌跡的標識符可以由服務器通過上述的圖3的軌跡信息310的track_ID來識別,并且包括片段的每個等級的多媒體數(shù)據(jù)可以通過添加到每個接收的片段的track_ID420來檢查。序列號410按接收順序被分配給每個片段并允許在隨機訪問存儲的片段中找到期望的片段。序列號410與指示服務器側(cè)的全部片段中的當前片段的順序的分段索引不同。由于從服務器發(fā)送的片段是根據(jù)客戶端的請求在任意時刻發(fā)送的,故在客戶端側(cè)接收的順序可以與由服務器側(cè)實際準備的多媒體流傳輸數(shù)據(jù)的配置順序不同。例如,圖1中所示的三個等級的編碼的多媒體數(shù)據(jù)141,142,和143中的每個包括具有相同的分段索引的片段。即,圖1中的第一、第二和第三等級中的每個的FragnU是等于或大于I的整數(shù))表示在所有多媒體數(shù)據(jù)當中的第η個片段,其中第一、第二和第三等級中的每個的Fragn具有相同的分段索引。這樣的分段索引是被順序地分配給通過在服務器側(cè)劃分整個多媒體流傳輸數(shù)據(jù)而獲得的片段的。然而,在實際的流傳輸服務中,任意的片段被請求和流傳輸,而不是按照分段索引順序來流傳輸。因此,由客戶端側(cè)接收的片段的順序可能會與服務器側(cè)準備的整個多媒體流傳輸數(shù)據(jù)的分段索引的順序不同。因此,序列號410被分配為接收順序以標識由客戶端側(cè)接收的片段的順序,而對于每個片段的隨機訪問,可通過使用其分段索引和序列號來在存儲的片段中搜索期望的片段。moof盒400與實際的mdat組合,并且通過此組合而重構(gòu)的片段形成用于存儲接收的片段的單個單元。圖5是用于示出根據(jù)示范實施例的、圖2的作為片段訪問元信息的mfra盒250的具體配置的參考圖。參考圖5,mfra盒500包括關(guān)于片段的總數(shù)的信息510、片段文件偏移信息520和時間同步信息530。片段文件偏移信息520指示在圖2所示的存儲文件格式中從存儲文件的開始處起每個片段的存儲位置。可以使用片段文件偏移信息520來確定第一片段的位置。當播放包括在片段中的mdat時,時間同步信息530用于同步。mfra盒500可進一步包括用于標識接收的片段的分段索引信息(未示出)。如上所述,分段索引信息指示多媒體流傳輸文件的每個片段的順序,并且期望的片段的存儲位置可以使用分段索引信息和片段文件偏移信息520來確定。分段索引信息可以被包括在圖2的moov盒220中而不是被包括在mfra盒500中??梢园凑哲壽E片段隨機訪問(tfra)盒和電影片段隨機訪問偏移(mfro)盒的形式來實現(xiàn)mfra盒500,以隨機訪問MP4文件格式?,F(xiàn)在將描述使用參考圖2到圖5描述的存儲文件格式來存儲由服務器提供服務的多媒體流的客戶端裝置。圖6是根據(jù)示范實施例的客戶端裝置600的框圖。參考圖6,客戶端裝置600包括再現(xiàn)單元610、片段訪問管理單元620、通信單元630、片段訪問數(shù)據(jù)庫640、元數(shù)據(jù)輸入和輸出單元650以及存儲單元660。再現(xiàn)單元610是用于播放多媒體流傳輸文件的模塊,并且當通過用戶界面(未示出)請求預定幀的數(shù)據(jù)時請求片段訪問管理單元620提供形成預定幀的數(shù)據(jù)的片段。此時,再現(xiàn)單元610也可以發(fā)送等級信息到片段訪問管理單元620,等級信息指示在多媒體流傳輸文件中包括的以不同比特率編碼的多個等級的軌跡中需要哪個等級的多媒體流傳輸文件。片段訪問管理單元620通過片段訪問數(shù)據(jù)庫640來確定是否存儲了與由再現(xiàn)單元610請求的幀的數(shù)據(jù)對應的片段。如果請求的片段沒有被存儲在存儲單元660中,則片段訪問管理單元620控制通信單元630從服務器接收請求的片段。否則,如果請求的片段被存儲在存儲單元660中,則片段訪問管理單元620從存儲單元660中讀取請求的片段。片段訪問管理單元620也充當解析器。存儲單元660根據(jù)圖2所示的存儲文件格式,按照如下形式存儲存儲文件,在該形式中,從服務器接收的片段與對應于元信息的moov盒和對應于片段訪問元信息的mfra盒組合。片段訪問數(shù)據(jù)庫640存儲通過通信單元630接收并且存儲在存儲單元660中的信息片段。詳細地說,片段訪問數(shù)據(jù)庫640存儲如圖2所述的在moov盒中包括的元信息和在mfra盒中包括的片段訪問元信息。即,片段訪問數(shù)據(jù)庫640存儲track_ID、分段索引、序列號、開始時間、moof盒偏移信息、有關(guān)片段的總數(shù)的信息、片段偏移信息以及片段中的媒體開始點或用于計算在存儲單元660中存儲的片段中的每個的媒體開始點的信息。通信單元630根據(jù)片段訪問管理單元620的控制向服務器發(fā)送請求以發(fā)送片段。詳細地,通信單元630從片段訪問管理單元620接收關(guān)于請求的分段索引和期望等級的信息并且從服務器請求對應的片段。此時,通信單元630可通過使用諸如網(wǎng)絡狀態(tài)、客戶端裝置600中的殘余緩沖量的信息、以及諸如存儲器的可用資源來確定適合于接收的片段的等級,并可從服務器請求所確定的等級的片段。例如,如果片段訪問管理單元620從具有比特率5Mbps的第二等級的多媒體流數(shù)據(jù)中請求具有分段索引為3的片段,則通信單元630請求服務器發(fā)送具有該分段索引值和等級值的片段。如果網(wǎng)絡環(huán)境或客戶端的殘余緩沖量太糟糕或太不充分來接收和處理比特率是5Mbps的片段,則通信單元630可從服務器請求在比請求的等級低的第一等級中的具有比特率IMbps的片段。元數(shù)據(jù)輸入和輸出單元650通過產(chǎn)生與用于播放多媒體流傳輸文件的元信息對應的moov盒和作為片段訪問元信息的用于重放存儲的片段的mfra盒并且將接收的片段與產(chǎn)生的moov盒和mfra盒組合來產(chǎn)生根據(jù)如圖2所示的存儲文件格式的存儲文件,并且在存儲單元660中存儲產(chǎn)生的存儲文件。此外,元數(shù)據(jù)輸入和輸出單元650提取在存儲單元660中存儲的元信息并且向片段訪問數(shù)據(jù)庫640發(fā)送提取的元信息,以便當加載存儲在存儲單元660中的文件時更新片段訪問數(shù)據(jù)庫640。下文中,具體描述圖6所示的客戶端裝置600的操作。在初始操作中,元數(shù)據(jù)輸入和輸出單元650通過加載在存儲單元660中存儲的文件來初始化片段訪問數(shù)據(jù)庫640。詳細地,元數(shù)據(jù)輸入和輸出單元650加載在存儲單元660中存儲的存儲文件的moov盒和mfra盒,并且發(fā)送moov盒和mfra盒到片段訪問數(shù)據(jù)庫640,而片段訪問數(shù)據(jù)庫640通過解析mfra盒來獲取目前存儲在存儲單元660中的片段的總數(shù)量,并且通過解析moov盒來獲取諸如每個等級中的track_ID和每個等級中播放軌跡所需的編解碼器的信息。此外,片段訪問數(shù)據(jù)庫640通過使用從moov盒和mfra盒獲得的關(guān)于片段的數(shù)量和每個等級的track_ID的信息來設(shè)置當前時間的序列號。例如,如果到目前為止接收的序列號是10000,則設(shè)置當前時間的序列號以使得從10001起的序列號被分配給此后通過通信單元630接收的片段。也即,通過序列號初始設(shè)置,可以向此后接收的片段分配無重復的序列號。當再現(xiàn)單元610請求或搜索幀數(shù)據(jù)時,片段訪問管理單元620通過片段訪問數(shù)據(jù)庫640確定與所請求的幀數(shù)據(jù)對應的請求的片段是否被存儲在存儲單元660中。如果請求的片段未被存儲在存儲單元660中,則片段訪問管理單元620向通信單元630發(fā)送關(guān)于請求的片段的分段索引和期望等級的信息。通信單元630基于網(wǎng)絡環(huán)境以及客戶端裝置600的殘余緩沖量和可用的資源向服務器發(fā)送對于以合適的等級發(fā)送片段的請求。元數(shù)據(jù)輸入和輸出單元650通過向接收的片段添加序列號和track_ID來重構(gòu)通過通信單元630完全接收的片段,并存儲在存儲單元660中重構(gòu)的片段。此外,元數(shù)據(jù)輸入和輸出單元650基于關(guān)于新接收的片段的信息來更新關(guān)于存儲在存儲單元660中的moov盒和mfra盒的信息。如果moov盒恰位于mfra盒之前而非緊接在ftyp盒之后,如參考圖2所描述的,則由于現(xiàn)有的moov盒被新接收的片段覆寫,所以元數(shù)據(jù)輸入和輸出單元650可以產(chǎn)生新的moov盒并且緊接在新接收的片段之后存儲產(chǎn)生的moov盒。此外,元數(shù)據(jù)輸入和輸出單元650將有關(guān)新接收的片段的信息發(fā)送到片段訪問數(shù)據(jù)庫640,且片段訪問數(shù)據(jù)庫640基于發(fā)送的信息而更新自身。否則,如果通過通信單元630接收到所請求的片段,則片段訪問管理單元620發(fā)送接收的片段到再現(xiàn)單元610。如果所請求的片段被存儲在存儲單元660中,則片段訪問管理單元620從存儲單元660中讀取所請求的片段并且發(fā)送所請求的片段到再現(xiàn)單元610。如上所述,客戶端裝置600可通過如下來重放多媒體流,即添加與元信息對應的moov盒和用于隨機訪問以片段為單位發(fā)送的多媒體流的mfra盒,并將多媒體流與moov盒和mfra盒一起存儲?,F(xiàn)在將描述根據(jù)另一示范實施例的客戶端裝置。
除了其操作外,根據(jù)另一示范實施例的客戶端裝置具有與圖6所示的客戶端裝置600相同的配置。圖7是用于描述根據(jù)另一示范實施例的客戶端裝置的參考圖。參照圖7,客戶端裝置可通過經(jīng)過將在存儲單元660中的每個片段710的等級和對應的可接收的片段的每個的等級相比較而存儲比其他片段更高質(zhì)量的片段來重放相對高質(zhì)量的多媒體數(shù)據(jù)。在圖7中,第一等級具有IMbps的比特率,第二等級具有5Mbps的比特率,而第三等級具有IOMbps的比特率,其中第一等級的等級值是I,第二等級的等級值是2,而第三等級的等級值是3。如果可用的最大等級值是3,則客戶端裝置將每個片段存儲為具有可能更大的等級值的片段。即,如圖7所示,對于被存儲在存儲單元660內(nèi)的第一等級或第二等級中的現(xiàn)有的片段Fragl711、Frag2712和Frag3713,在第三等級中的片段Fragl72U Frag2722和Frag3723 (每個具有最高質(zhì)量和相同的分段索引)被再次接收和存儲。具體地,當再現(xiàn)單元610請求幀數(shù)據(jù)時,除了對應片段的分段索引信息外,再現(xiàn)單元610向片段訪問管理單元620發(fā)送期望等級值。片段訪問管理單元620確定具有請求的等級值和請求的分段索引的片段是否被存儲在存儲單元660中。具體地,片段訪問管理單元620從當前存儲在存儲單元660中的具有請求的分段索引的片段中獲得關(guān)于最高等級的片段的信息,并且確定具有請求的分段索引并且當前被存儲在存儲單元660中的、最高等級中的片段是否滿足根據(jù)請求的等級值的質(zhì)量。如果具有請求的分段索引并且當前存儲在存儲單元660中的、最高等級中的片段是期望質(zhì)量的片段,則片段訪問管理單元620從存儲單元660中讀取最高等級中的片段并且發(fā)送讀取的片段到再現(xiàn)單元610。如果具有請求的分段索引的片段沒有被存儲在存儲單元660中,或如果存儲在存儲單元660中的片段沒有滿足期望的質(zhì)量,則片段訪問管理單元620向通信單元630發(fā)送關(guān)于所需要的片段的分段索引和期望等級的信息。片段訪問管理單元620可以基于網(wǎng)絡環(huán)境以及客戶端裝置的殘余緩沖量和可用的資源來控制通信單元630以請求和接收在當前可用的最高等級中的片段。此外,如果新接收了當前可用的最高等級中的片段,則片段訪問管理單元620可以將新接收的片段的等級值與存儲在存儲單元660中的片段的等級進行比較并且發(fā)送比其他等級更高的等級(即,更高質(zhì)量)的片段到再現(xiàn)單元610。另外,片段訪問管理單元620可以將服務器可提供的片段的等級與當前可用的最高等級進行比較,并且如果由于網(wǎng)絡環(huán)境或客戶端裝置的資源的缺乏而當前可用的最高等級比服務器可提供的片段的等級低,則當之后網(wǎng)絡環(huán)境或客戶端裝置的資源的缺乏的問題被解決時,片段訪問管理單元620可以控制通信單元630來接收對應的片段。元數(shù)據(jù)輸入和輸出單元650通過向接收的片段添加序列號和track_ID來重構(gòu)通過通信單元630完全接收的片段,并存儲在存儲單元660中重構(gòu)的片段。此外,元數(shù)據(jù)輸入和輸出單元650基于關(guān)于新接收的片段的信息來更新關(guān)于存儲在存儲單元660中的moov盒和mfra盒的信息。此外,元數(shù)據(jù)輸入和輸出單元650發(fā)送關(guān)于新接收的片段的信息到片段訪問數(shù)據(jù)庫640,而片段訪問數(shù)據(jù)庫640基于發(fā)送的信息來更新自身。如果通過通信單元630接收到具有期望等級值的片段,則片段訪問管理單元620發(fā)送接收的片段到再現(xiàn)單元610。該接收高質(zhì)量的片段的操作可以通過后臺模塊獨立地執(zhí)行。即,客戶端裝置600可進一步包括單獨的后臺下載模塊(未示出),其中,如果在具有當前播放的片段的分段索引之后的分段索引的片段當中、具有對應分段索引的片段沒有被存儲在存儲單元660中或即使存儲在存儲單元660中但是不具有期望的質(zhì)量,則后臺下載模塊過后臺操作從服務器接收具有對應分段索引的片段并且通在存儲單元660中存儲接收的片段。圖8是根據(jù)示范實施例的存儲多媒體流傳輸文件的方法的流程圖。參考圖8,在操作810中,從提供多媒體流傳輸文件的服務器接收用于播放多媒體流傳輸文件的元信息并且存儲,多媒體流傳輸文件包括通過以不同比特率編碼多媒體數(shù)據(jù)而獲得的多個等級的軌跡。如上所述,元信息包括關(guān)于在多個等級中的軌跡的軌跡信息、編解碼器信息和片段長度信息。在操作820中,接收和存儲形成多媒體流傳輸文件的片段。具體地,產(chǎn)生片段報頭信息,其包括接收的片段的軌跡信息和按照片段的接收順序分配的序列號,并且存儲通過將在接收的片段中包括的一部分多媒體數(shù)據(jù)與片段報頭信息組合而重構(gòu)的片段。在操作830中,獲取用于隨機訪問接收的片段的隨機訪問信息。隨機訪問信息可包括用于標識接收的片段的分段索引信息、關(guān)于接收的片段的總數(shù)量的信息和多媒體時間同步信息。在操作840中,產(chǎn)生和存儲通過使用獲取的隨機訪問信息來重放存儲的片段的片段訪問元信息。如上所述,可以根據(jù)MP4文件格式使用mfra盒來存儲該片段訪問元信息。圖9是根據(jù)另一示范實施例的存儲多媒體流傳輸文件的方法的流程圖。參考圖9,在操作910中,請求使用客戶端裝置需要的片段的請求的分段索引和期望等級值來確定該片段是否被存儲。在操作920中,確定是否存儲了任何具有請求的分段索引的片段,以及如果操作920的確定結(jié)果是存儲了具有請求的分段索引的片段,則在操作930中確定存儲的片段是否滿足期望的質(zhì)量。如果具有請求的分段索引的片段滿足期望的質(zhì)量,則在步驟935中提供存儲的片段。否則,如果沒有存儲任何具有請求的分段索引的片段,或如果存儲的片段不滿足期望的質(zhì)量,則在操作940中從服務器請求具有請求的分段索引和期望等級值的片段。在操作950中,接收具有請求的分段索引和期望等級值的片段,并且在操作960中,使用新接收的片段來更新片段訪問元信息和用于播放的元信息。也即,在操作960中,使用新接收的片段更新moov盒和mfra盒。根據(jù)這里描述的示范實施例,能夠在線存儲和離線播放在自適應流傳輸服務中提供的多媒體數(shù)據(jù)。此外,根據(jù)示范實施例,當播放存儲的多媒體流傳輸數(shù)據(jù)時,能夠播放比之前更高質(zhì)量的多媒體數(shù)據(jù)。示范實施例也能夠?qū)崿F(xiàn)為在計算機可讀記錄介質(zhì)上的計算機可讀代碼。計算機可讀記錄介質(zhì)是能夠存儲隨后由計算機系統(tǒng)讀取的數(shù)據(jù)的任何數(shù)據(jù)存儲設(shè)備。計算機可讀記錄介質(zhì)的例子包括只讀存儲器(ROM),隨機訪問存儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲設(shè)備等。計算機可讀記錄介質(zhì)也能夠分布在網(wǎng)絡耦合的計算機系統(tǒng)從而以分布方式存儲和執(zhí)行計算機可讀代碼。雖然已經(jīng)具體示出和描述示范實施例,但本領(lǐng)域的技術(shù)人員將理解在不脫離本發(fā)明的精神和范圍的情況下,這里可以在形式和細節(jié)上做出各種改變,本發(fā)明的范圍由所附權(quán)利要求限定。因此,本發(fā)明的范圍不是由本發(fā)明的具體描述定義而是由所附權(quán)利要求定義,在該范圍中的全部差異將推斷為包括在本發(fā)明中。
權(quán)利要求
1.一種存儲多媒體流傳輸文件的方法,該方法包括 接收和存儲用于播放多媒體流傳輸文件的元信息,其中多媒體流傳輸文件包括多個等級的軌跡,其中在多個等級的軌跡的每個等級中,多媒體數(shù)據(jù)以不同比特率被編碼; 接收和存儲包括多媒體流傳輸文件的片段; 獲取用于隨機訪問存儲的片段的隨機訪問信息;和 基于獲取的隨機訪問信息來產(chǎn)生和存儲用于重放存儲的片段的片段訪問元信息。
2.根據(jù)權(quán)利要求1所述的方法,其中,每個片段是等級中的軌跡的多媒體數(shù)據(jù)的一部分,并且該方法還包括根據(jù)網(wǎng)絡環(huán)境或客戶端的請求從多個等級的軌跡中選擇一個等級的軌跡中的至少一個片段。
3.根據(jù)權(quán)利要求1所述的方法,其中,元信息包括多個等級的軌跡中的每個的軌跡信息、編解碼器信息和片段長度信息。
4.根據(jù)權(quán)利要求1所述的方法,其中,接收和存儲片段包括 產(chǎn)生片段報頭信息,包括接收的片段的軌跡信息和按片段的接收順序分配的序列號;和 存儲通過將在接收的片段中包括的一部分多媒體數(shù)據(jù)與片段報頭信息組合而重構(gòu)的片段。
5.根據(jù)權(quán)利要求1所述的方法,其中,獲取隨機訪問信息包括獲取用于標識形成多媒體流傳輸文件的接收的片段中的每個的分段索引信息、關(guān)于接收的片段的總數(shù)量的信息、和多媒體時間同步信息。
6.根據(jù)權(quán)利要求1所述的方法,還包括 比較存儲的片段中的每個的等級和可用的片段的等級; 如果比存儲的片段中的每個的等級更高的等級中的片段是可用的,則發(fā)送對更高等級中的片段的請求; 接收和存儲更高等級中的片段;以及 獲取更高等級中的片段的隨機訪問信息并且使用獲取的更高等級中的片段的隨機訪問信息來更新片段訪問元信息。
7.根據(jù)權(quán)利要求1所述的方法,還包括 確定存儲的片段中的每個的等級是否具有等于或大于預定比特率的等級值; 如果存儲的片段中的每個的等級不具有等于或大于預定比特率的等級值,則發(fā)送對于具有等于或大于預定比特率的等級值的片段的請求; 接收和存儲具有等于或大于預定比特率的等級值的片段;和 獲取具有等于或大于預定比特率的等級值的片段的隨機訪問信息,并且通過使用獲取的具有等于或大于預定比特率的等級值的片段的隨機訪問信息來更新片段訪問元信息。
8.一種用于接收多媒體流傳輸文件的客戶端裝置,該客戶端裝置包括 通信單元,其發(fā)送對多媒體流傳輸文件的請求并接收多媒體流傳輸文件,其中多媒體流傳輸文件包括多個等級的軌跡,其中在多個等級的軌跡的每個等級中,多媒體數(shù)據(jù)以不同比特率被編碼; 存儲單元,其存儲形成由通信單元接收的多媒體流傳輸文件的片段; 再現(xiàn)單元,其播放多媒體流傳輸文件;片段訪問數(shù)據(jù)庫,其存儲用于隨機訪問在存儲單元中存儲的片段的隨機訪問信息; 片段訪問管理單元,其基于存儲在片段訪問數(shù)據(jù)庫的隨機訪問信息來確定是否存儲了形成多媒體流傳輸文件的片段并且控制通信單元接收沒有被存儲的片段;和 元數(shù)據(jù)輸入和輸出單元,其產(chǎn)生用于播放多媒體流傳輸文件的元信息和用于重放存儲的片段的片段訪問元信息,在存儲單元中存儲該元信息和片段訪問元信息,并且讀取在存儲單元中存儲的元信息和片段訪問元信息。
9.根據(jù)權(quán)利要求8所述的客戶端裝置,其中,每個片段是在多個等級的軌跡中、根據(jù)網(wǎng)絡環(huán)境或客戶端的請求而選擇的等級中的軌跡的多媒體數(shù)據(jù)的一部分。
10.根據(jù)權(quán)利要求8所述的客戶端裝置,其中,元信息包括多個等級的軌跡中的每個的軌跡信息、編解碼器信息和片段長度信息。
11.根據(jù)權(quán)利要求8所述的客戶端裝置,其中,元數(shù)據(jù)輸入和輸出單元產(chǎn)生片段報頭信息,包括接收的片段的軌跡信息和按片段的接收順序分配的序列號,并且 存儲單元存儲通過將在接收的片段中包括的一部分多媒體數(shù)據(jù)與片段報頭信息組合而重構(gòu)的片段。
12.根據(jù)權(quán)利要求8所述的客戶端裝置,其中,隨機訪問信息包括用于標識形成多媒體流傳輸文件的接收的片段中的每個的分段索引信息、關(guān)于接收的片段的總數(shù)量的信息、和多媒體時間同步信息。
13.根據(jù)權(quán)利要求8所述的客戶端裝置,其中,片段訪問管理單元比較存儲的片段中的每個的等級和可用的片段的等級,并且如果比存儲的片段中的每個的等級更高的等級中的片段是可用的,則控制通信單元發(fā)送對更高等級中的片段的請求。
14.根據(jù)權(quán)利要求13所述的客戶端裝置,其中,如果接收更高等級中的片段,則片段訪問管理單元通過使用更高等級中的片段的隨機訪問信息來更新片段訪問元信息。
15.根據(jù)權(quán)利要求8所述的客戶端裝置,其中,片段訪問管理單元確定存儲的片段中的每個的等級是否具有等于或大于預定比特率的等級值,以及如果存儲的片段中的每個的等級不具有等于或大于預定比特率的等級值,則控制通信單元發(fā)送對于具有等于或大于預定比特率的等級值的片段的請求。
全文摘要
提供一種用于重放自適應流傳輸?shù)亩嗝襟w流的存儲文件格式、使用該存儲文件格式的客戶端裝置和在客戶端裝置中存儲多媒體流的方法。根據(jù)該存儲文件格式,向片段添加用于播放片段的元信息和用于重放片段的片段訪問元信息。
文檔編號H04B7/26GK103069492SQ201180039860
公開日2013年4月24日 申請日期2011年6月20日 優(yōu)先權(quán)日2010年6月18日
發(fā)明者鄭度泳, 金潔潤, 金容圭, 鄭純龍 申請人:三星電子株式會社