TW202002662A - 用於更新媒體呈現資料的方法和裝置 - Google Patents
用於更新媒體呈現資料的方法和裝置 Download PDFInfo
- Publication number
- TW202002662A TW202002662A TW108118338A TW108118338A TW202002662A TW 202002662 A TW202002662 A TW 202002662A TW 108118338 A TW108118338 A TW 108118338A TW 108118338 A TW108118338 A TW 108118338A TW 202002662 A TW202002662 A TW 202002662A
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- media presentation
- generating
- location
- location reference
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000003068 static effect Effects 0.000 claims abstract description 26
- 230000008569 process Effects 0.000 claims abstract description 19
- 239000000463 material Substances 0.000 claims description 91
- 230000008520 organization Effects 0.000 claims description 27
- 230000008859 change Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 description 30
- 238000003780 insertion Methods 0.000 description 16
- 230000037431 insertion Effects 0.000 description 16
- 230000000153 supplemental effect Effects 0.000 description 11
- 230000000576 supplementary effect Effects 0.000 description 11
- 239000012634 fragment Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000005415 magnetization Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N21/2353—Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26291—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Library & Information Science (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本文描述的技術涉及被配置為自適應地處理視訊資料的方法、裝置和電腦可讀介質。媒體呈現資料與以多種格式編碼的視訊資料相關聯,各格式與不同位元速率相關聯。所述媒體呈現資料被生成為包括:第一資料,所述第一資料表示所述媒體呈現資料是針對靜態視訊資料還是針對動態視訊資料;以及第二資料,所述第二資料表示對所述視訊資料的內容更新的位置的至少一個位置參考。用戶端從所述媒體呈現資料確定所述第一資料和所述第二資料,並且基於所述第一資料和所述第二資料來下載所述視訊資料的媒體片段。
Description
本文描述的技術大體上涉及媒體呈現資料,並且具體地涉及用於更新媒體呈現資料的技術。
各種類型的多媒體內容(諸如視訊內容、電視內容和音訊內容)通過互聯網傳遞到終端使用者。網路服務器通常使用超文字傳輸協定(HTTP)將這種媒體內容(包括直播或點播內容)流傳輸到終端使用者。消費媒體內容的終端使用者設備的範圍可以是各種計算設備(例如,桌上型電腦、膝上型電腦、平板電腦和/或其他類型的計算設備)、連接有互聯網的電視、電視機上盒、智慧型電話等。
終端使用者設備通過許多不同類型的設備和網路與媒體伺服器通信。設備和網路的物理元件(例如,路由器、電纜等)的範圍可以較廣。另外,網路條件通常不斷變化,這取決於當日時間、使用網路資源的設備的數量、設備故障、路由式通訊協定等。因此,網路狀況通常是不可預測的,並且可以在多媒體流傳輸會話期間改變。運動圖像專家組(MPEG:Moving Picture Experts Group)基於HTTP的動態自我調整流傳輸(DASH:Dynamic Adaptive Streaming over HTTP)協議是一種自我調整位元速率流傳輸技術,它利用傳統的HTTP網路服務器通過互聯網來傳遞自我調整內容。MPEG DASH將內容分成一系列小檔片段,各小檔片段包括以各種不同位元速率提供的短時段多媒體內容。當使用MPEG DASH時,用戶端可以基於當前網路條件來選擇要下載的各種位元速率中的哪一個,通常被配置為選擇在不影響重播的情況下可以下載的最高位元速率。因此,MPEG DASH協定允許用戶端適應不斷變化的網路條件。
根據所公開的主題,提供了對各種類型的內容(包括點播和直播內容)進行媒體呈現資料更新(例如,媒體呈現描述(Media Presentation Description, MPD)更新)的裝置、系統和方法。該技術可以包括:例如,在媒體呈現資料中提供對附加內容參考的支援、提供附加元素來指定更新、和/或提供媒體呈現資料組織描述來描述更新。
一些實施例涉及一種生成與視訊資料相關聯的媒體呈現資料的方法。該方法包括生成與以多種格式編碼的視訊資料相關聯的媒體呈現資料,各格式與不同位元速率相關聯,包括:在媒體呈現資料內生成第一資料,該第一資料表示媒體呈現資料是針對靜態視訊資料還是針對動態視訊資料;以及在媒體呈現資料內生成第二資料,該第二資料表示對視訊資料的內容更新的位置的至少一個位置參考。
在一些示例中,媒體呈現資料包括媒體呈現描述(MPD)檔,並且該MPD檔包括第一資料和第二資料。
在一些示例中,媒體呈現資料是對先前媒體呈現資料的部分改變;並且生成第二資料包括生成包括第二資料的媒體呈現資料的基本屬性元素或補充屬性元素;並且生成第二資料包括生成位置參考集合,其中,位置參考集合中的各個位置參考針對具有關聯內容更新的關聯位置。
在一些示例中,生成位置參考集合包括:生成由空白隔開的統一資源定位符列表。
在一些示例中,生成第二資料包括生成媒體呈現資料的更新屬性元素,該更新屬性元素包括:第二資料,其中,生成第二資料包括生成位置參考集合,其中,位置參考集合中的各個位置參考針對具有關聯內容更新的關聯位置;以及第三資料,該第三資料表示位置參考集合是與(a)對先前媒體呈現資料的部分改變相關聯,還是與(b)完整媒體呈現資料相關聯。在一些示例中,生成位置參考集合包括生成由逗號隔開且以分號終止的統一資源定位符列表。
在一些示例中,生成統一資源定位符列表包括:包含如下空白,該空白表示編輯機會。
在一些示例中,生成第二資料包括使用媒體呈現資料的補充屬性元素或基本屬性元素生成組織描述符,該組織描述符包括:第二資料,其中,生成第二資料包括生成位置參考集合,其中,位置參考集合中的各個位置參考針對具有關聯內容更新的關聯位置;以及第三資料,該第三資料表示位置參考集合是與(a)對先前媒體呈現資料的部分改變相關聯,還是與(b)完整媒體呈現資料相關聯。
在一些示例中,生成組織描述符包括生成組織描述符的第三資料,其中,第三資料包括表示以下中的一個或更多個的資料:編輯機會的時間、是否支持提前終止針對編輯機會的內容、以及在提前終止該內容之前所需的該內容的播放時間。
一些實施例涉及一種被配置為生成與視訊資料相關聯的媒體呈現資料的裝置,該裝置包括與記憶體通信的處理器。該處理器被配置為執行存儲在記憶體中的指令,該指令使處理器生成與以多種格式編碼的視訊資料相關聯的媒體呈現資料,各格式與不同位元速率相關聯,包括:在媒體呈現資料內生成第一資料,該第一資料表示媒體呈現資料是針對靜態視訊資料還是針對動態視訊資料;以及在媒體呈現資料內生成第二資料,該第二資料表示對視訊資料的內容更新的位置的至少一個位置參考。
在一些示例中,媒體呈現資料包括媒體呈現描述(MPD)檔,並且該MPD檔包括第一資料和第二資料。
在一些示例中,媒體呈現資料是對先前媒體呈現資料的部分改變;並且生成第二資料包括生成包括第二資料的媒體呈現資料的基本屬性元素或補充屬性元素;並且生成第二資料包括生成位置參考集合,其中,位置參考集合中的各個位置參考針對具有關聯內容更新的關聯位置。
在一些示例中,生成位置參考集合包括生成由空白隔開的統一資源定位符列表。
在一些示例中,生成第二資料包括生成媒體呈現資料的更新屬性元素,該更新屬性元素包括:第二資料,其中,生成第二資料包括生成位置參考集合,其中,位置參考集合中的各個位置參考針對具有關聯內容更新的關聯位置;以及第三資料,該第三資料表示位置參考集合是與(a)對先前媒體呈現資料的部分改變相關聯,還是與(b)完整媒體呈現資料相關聯。在一些示例中,生成位置參考集合包括生成由逗號隔開且以分號終止的統一資源定位符列表。
在一些示例中,生成統一資源定位符列表包括:包含如下空白,該空白表示編輯機會。
在一些示例中,生成第二資料包括使用媒體呈現資料的補充屬性元素或基本屬性元素生成組織描述符,該組織描述符包括:第二資料,其中,生成第二資料包括生成位置參考集合,其中,位置參考集合中的各個位置參考針對具有關聯內容更新的關聯位置;以及第三資料,該第三資料表示位置參考集合是與(a)對先前媒體呈現資料的部分改變相關聯,還是與(b)完整媒體呈現資料相關聯。
在一些示例中,生成組織描述符包括生成組織描述符的第三資料,其中,第三資料包括表示以下中的一個或更多個的資料:編輯機會的時間、是否支持提前終止針對編輯機會的內容、以及在提前終止該內容之前所需的該內容的播放時間。
一些實施例涉及一種用於處理與視訊資料相關聯的媒體呈現資料的方法,該方法包括:接收與以多種格式編碼的視訊資料相關聯的媒體呈現資料,各格式與不同位元速率相關聯;從媒體呈現資料確定第一資料,第一資料表示媒體呈現資料是針對靜態視訊資料還是針對動態視訊資料;從媒體呈現資料確定第二資料,第二資料表示對視訊資料的內容更新的位置的至少一個位置參考;以及基於第一資料和第二資料來下載視訊資料的媒體片段。
一些實施例涉及一種處理與視訊資料相關聯的媒體呈現資料的裝置,該裝置包括與記憶體通信的處理器,該處理器被配置為執行存儲在記憶體中的指令,該指令使處理器進行如下操作:接收與以多種格式編碼的視訊資料相關聯的媒體呈現資料,各格式與不同位元速率相關聯;從媒體呈現資料確定第一資料,該第一資料表示媒體呈現資料是針對靜態視訊資料還是針對動態視訊資料;從媒體呈現資料確定第二資料,該第二資料表示對視訊資料的內容更新的位置的至少一個位置參考;以及基於第一資料和第二資料來下載視訊資料的媒體片段。
因此,已經對所公開主題的特徵進行了廣義地概述,使得可以更好地理解下面對其的詳細描述,並且使得可以更好地瞭解對現有技術的當前貢獻。當然,還存在所公開主題的其他特徵,這些其他特徵會在下文描述並且會形成隨附權利要求書的主題。要理解,本文採用的措辭和術語是為了進行說明,不應該被視為具有限制性。
可以使用各種技術來提供媒體呈現資料,諸如媒體呈現描述(MPD:Media Presentation Description)文件。可能會期望更新媒體呈現資料,諸如利用補丁(例如,部分)更新和/或利用完全更新。發明人已經發現用於更新媒體呈現資料的現有技術低效且不靈活,並且不允許某些類型的更新和/或相關功能。發明人已經開發了使用媒體呈現資料中的現有結構和/或新結構來為各種類型的內容(例如,直播內容、點播內容)提供媒體呈現資料更新的技術。如本文進一步討論的,這些技術可用于向現有媒體呈現資料提供補丁以及完整更新。
在以下描述中,闡述了關於所公開主題的系統和方法以及這些系統和方法可以操作的環境等的許多具體細節,以便提供對所公開主題的透徹理解。另外,應當理解,下面提供的示例是示例性的,並且預期存在處於所公開主題範圍內的其他系統和方法。
第1圖示出了根據一些實施例的示例性動態流傳輸配置100。HTTP DASH伺服器102存儲並通過互聯網106將DASH內容104傳送到HTTP DASH用戶端設備108。出於示例性目的,僅示出了一個HTTP DASH伺服器102和一個HTTP DASH用戶端設備108,但是應當瞭解,可以在各種配置中部署多個伺服器和用戶端。如本文所解釋的,DASH內容104包括針對各條多媒體內容的小檔片段序列。各個檔片段是短時段多媒體內容,並且以各種不同的位元速率可用。HTTP DASH用戶端108基於當前網路狀況選擇從HTTP DASH伺服器102下載各種位元速率中的哪一個。
對於DASH應用,內容通常具有對應的媒體呈現描述(MPD)檔。MPD為DASH用戶端108提供足夠的資訊,以通過從HTTP DASH伺服器102下載媒體片段來促進內容的自我調整流傳輸。MPD是可延伸標記語言(XML:Extensible Markup Language)文檔,其包含關於媒體片段的資訊、它們的關係和HTTP DASH用戶端108在片段中進行選擇所需的資訊、以及HTTP DASH用戶端108可能需要的其他中繼資料。
MPD可以具有分層結構,其中“MPD”元素是根項目,其可以包括各種部分,諸如基本MPD設置、時段(Period)、自我調整集(Adaptation Set)、表現(Representation)、片段(Segment)等。時段可以描述具有開始時間和持續時間的內容的一部分。例如,可以使用時段來表示場景或章節,以將廣告與節目內容分開,等等。自我調整集可以包含媒體流或媒體流集合。在基本示例中,時段可以有一個包含內容的所有音訊和視訊的自我調整集。但是,更典型地(例如,為了減少頻寬),可以將各個流分成不同的自我調整集。例如,多個自我調整集可用於具有一個視訊自我調整集和多個音訊自我調整集(例如,針對每種支援的語言有一個)。表現(Representation)允許自我調整集包含以不同方式編碼的相同內容。例如,通常以多種螢幕大小、頻寬、編碼方案等提供表現。片段是DASH用戶端播放的實際媒體檔,通常是將它們連續播放,就好像它們是同一個檔案一樣。可以使用針對單片段表現的BaseURL、片段列表(SegmentList)、具有SegmentBase的範本(SegmentTemplate)或xlink(例如,頂層元素中的xlink、時段)來描述媒體片段位置。可以使用SegmentTimeline來描述片段開始時間和持續時間(對於即時資料流尤其重要,因此用戶端可以快速確定最新的片段)。在時段中指定BaseURL、SegmentList和SegmentTemplate。片段可以在單獨的檔中(例如,針對即時流傳輸),或者它們可以是單個檔內的位元組範圍(例如,針對靜態或點播內容)。
MPD還可以包括一個或更多個EssentialProperty描述符元素和/或SupplementalProperty描述符元素。EssentialProperty元素可以指定有關包含元素的資訊,該資訊被認為是媒體呈現作者處理包含元素所必需的。SupplementalProperty元素可以指定關於含元素的補充資訊,例如,該資訊可供優化該處理的DASH用戶端使用。
其中一個例子是空間關係描述(SRD:Spatial Relationship Description)方案。具有EssentialProperty或SupplementalProperty描述符的SRD方案允許媒體呈現描述作者表達空間物件之間的空間關係。空間物件用自我調整集或子表現來表示。作為示例,空間關係可以說明:一視訊表示另一個全幀視訊(例如,感興趣的區域或區塊)的空間部分。使用SRD方案的EssentialProperty或SupplementalProperty元素的值是針對SRD參數的以逗號隔開的值的列表。一些示例性SRD屬性包括source_id、object_x、object_y、object_width、object_height、total_width、total_height和/或spatial_set_id。source_id可以指定內容源的識別字。object_x可以指定空間物件左上角的水平位置。object_y可以指定空間物件左上角的垂直位置。object_width可以指定空間物件的寬度。object_height可以指定空間物件的高度。total_width可以指定參考空間的寬度。total_height可以指定參考空間的高度。spatial_set_id可以指定一組空間物件的識別字。傳統DASH用戶端可能會忽略該方案,或者,如果它不將其理解為補充資訊或作為基本資訊,則可能會停止。
對於MPEG DASH應用,MPD可以具有“靜態”或“動態”類型。靜態MPD不會針對媒體呈現而改變。靜態MPD類型通常與點播流傳輸服務一起使用,使得靜態MPD是對整個相應內容的描述。對於靜態MPD,如果用戶端選擇請求全部長度之內容,則DASH用戶端可以執行MPD的一次性獲取。可以在媒體演示期間更新動態MPD。動態MPD類型通常用於直播事件,使得動態MPD在該事件期間改變,因此在事件時間線期間需要更新。對於動態MPD,DASH用戶端通常需要週期性地請求更新版本的MPD,以便繼續事件播出。
DASH標準的第1部分是2017年1月發佈的ISO / IEC 23009-1草案第3版修訂版“第1部分:Media presentation description and segment formats(媒體呈現描述和片段格式)”中的基於HTTP的動態自我調整流傳輸(DASH),其以引用的方式全部併入本文。DASH第1部分指定動態MPD的完整版MPD更新。見第5.4節DASH第1部分。MPD更新通常擴展各個表現的可訪問片段列表,引入新的時段,更新片段位置和/或終止媒體呈現。需要注意的是,MPD更新提供了更新的MPD的完整版本,而不是對先前版本的MPD的補丁(例如,部分改變)。
DASH標準還指定了針對補丁或完整版MPD更新的事件消息。見第5.10.4節DASH第1部分。Dash事件格式可以包括MPD補丁或完整的MPD,取決於事件值。針對MPD更新的DASH事件必須與直播服務時間線一起週期性出現在表現中。
MPD檔案大小可以根據時段的數量和長度、時段中的自我調整集的數量、各個自我調整集中的表現的數量等而變化。通常,各個實例越多,MPD越大。如上所述,可以使用SegmentList、SegmentTemplate或xlink指定針對各個片段使用的片段URL。然而,與其他現有技術(諸如SegmentTemplate)相比,用於指定片段URL的當前技術(諸如SegmentList或xlink)可以生成更大尺寸的MPD。例如,與SegmentList和xlink相比,可以通過使用SegmentTemplate表達片段URL來維護合理大小的MPD,諸如通過使用DASH標準中指定的$Time$或$Number$。然而,SegmentTemplate也無法提供合併高級DASH特徵的靈活性。
對於靜態MPD和動態MPD,通常需要支援廣告插入。有使用當前DASH技術的指定或建議的一些解決方案。例如,在針對DASH考慮的當前技術中,已經討論了用於廣告插入的DPD(DASH播放清單)和混合時段技術。然而,兩者都很難實現,並且還存在其他技術問題。因此,在組織MPD以及解決DASH用戶端的當前問題(包括MPD的大小、頻繁的帶內MPD更新消息、廣告插入問題等)方面都需要一種更靈活的方法。
再次參考第1圖,HTTP DASH伺服器102根據來自DASH用戶端的請求,將MPD發送到HTTP DASH用戶端108。在接收到MPD時,DASH用戶端可以選擇MPD中描述的媒體內容片段。DASH用戶端可以根據個人偏好和網路動態,來選擇具有給定時間線、給定時段ID、自我調整集和表現的媒體片段。
發明人已經發現並瞭解現有DASH技術具有各種不足。不能為靜態和動態MPD(例如,針對點播內容和直播內容)統一地提供用於MPD更新的現有技術。用於MPD更新的現有技術也不提供無論MPD類型如何都能提供MPD更新類型的靈活性,諸如提供MPD補丁或完整MPD更新。如上所述,例如,MPD更新不能提供MPD補丁(而是提供完整的MPD)。作為另一示例,MPD補丁僅可以被提供用於動態DASH事件,並且DASH事件通常需要週期性地出現在表現中,並且具有直播服務時間線。
發明人已經開發了對基於互聯網的媒體流傳輸技術的技術改進(本文將進一步討論)。例如,這些技術改進可以提供對MPD大小的更好控制(例如,以滿足各種DASH用戶端設備的要求),提供對內容編輯和廣告插入的支援(例如,針對正片前廣告(pre-roll)和正片中廣告(mi-roll)的應用),促進有效的受控重播和編輯等。在一些實施例中,該技術提供了為靜態和動態類型的MPD指定MPD更新資訊。在一些實施例中,MPD更新資訊可以在MPD級別提供(例如,作為MPD元素、在MPD EssentialProperty或SupplementalProperty元素內,等等)。一些技術提供了指定MPD更新資訊(例如,可以在MPD級別指定的更新URL)。一些技術提供了新的MPD元素,其可以概括用於直播和點播服務的媒體呈現組織和更新機制,具有可以設置MPD更新屬性類型和位置的特徵,如本文進一步討論的。一些技術提供了指定MPD組織。
在一些實施例中,可以使用附加資訊來促進對直播和點播內容(例如,靜態和動態類型的MPD)的MPD補丁更新。例如,附加資訊可以是MPD URL資訊。例如,可以包括URL,作為由MPD的EssentialProperty和/或SupplementalProperty元素指定的參數(例如,通過@value屬性)。發信號通知MPD補丁的方案可以由URN來指定(例如,“urn:mpeg:dash:mpd-patch-update:2018”)。識別字(例如,描述符的屬性,@schemeIdUri)可以表示EssentialProperty或SupplementalProperty的值包含以空白隔開的HTTP URL列表,這些HTTP URL建議用於獲取和組合MPD補丁。例如,就IETF RFC 5261指定的XML補丁操作框架而言,可以使用URL,該框架以引用的方式全部併入本文,用於獲得適當的補丁。URL的值(例如,EssentialProperty或SuppelmentalProperty的@value欄位)可以包含HTTP URL列表(例如,以空白隔開),媒體呈現補丁可用在這些HTTP URL處,DASH用戶端可以向這些HTTP URL發送請求以獲取MPD補丁。有利地,使用該方案的DASH應用可以提供附加MPD更新機制。對於不理解所提出的方案的傳統DASH用戶端,傳統用戶端可以忽略該方案(例如,並繼續使用當前標準中指定的MPD更新機制)。
在一些實施例中,MPD可以包括用於指定MPD更新資訊的新元素。出於說明性目的,新MPD元素在本文中將被稱為UpdateProperty元素,其僅用於示例性目的,因為在不脫離本文所討論的技術的情況下,其他名稱也可用於新MPD元素。無論MPD的類型如何,都可以包括新的MPD元素,包括靜態和動態MPD。在一些實施例中,UpdateProperty元素是可選的,使得MPD可以包括零個或一個UpdateProperty元素。UpdateProperty元素可用于指定MPD更新屬性。例如,可以通過服務來使用UpdateProperty以提供指定的MPD檔案組織、更新機制和位置,如下面進一步討論的。在一些實施例中,為了包括UpdateProperty元素,在MPD級別上包括基本描述符或補充描述符,其中@schemeIDURI被設置為更新屬性的統一資源名稱(URN)(例如,“urn:mpeg:dash:mpd-update-property:2018” )。
UpdateProperty元素可以包括各種屬性。第2圖示出了根據一些實施例的針對UpdateProperty元素202的語義200的示例。UpdateProperty元素202包括類型屬性@type 204和位置元素Location 206。類型屬性204可以指定在位置屬性處可用的媒體呈現的組織類型和更新。對於補丁媒體呈現,類型屬性204可以被設置為“補丁”類型,而對於完整的媒體呈現,類型屬性204可以被設置為“完整”。位置元素206可以包括任何數量的MPD(例如,具有由類型屬性指定的類型)可用的位置。在一些實施例中,位置元素206可以指定字串中的多個位置,各個位置由逗號(',')隔開且以分號(';')結束。在一些實施例中,位置元素206的字串可以包括空白(例如,在兩個逗號之間或在最後一個逗號與分號之間),以表示用於指定對應MPD位置的編輯或廣告插入機會。如果存在空白,則在一些實施例中,應提供各個MPD內部識別字(MPD@id),因為插入的廣告可具有不同的MPD@id。例如,包括MPD@id在內可以:幫助DASH用戶端將插入的廣告與原來正在進行的內容區分開來。
在一些實施例中,UpdateProperty類型可以與MPD類型結合使用。例如,在針對“補丁”這種UpdateProperty類型的一些實施例中,如果MPD類型是“靜態的”,則在由位置元素206指定的位置處可用的媒體呈現被組織為媒體呈現的有序多個補丁。例如,按照位置元素206中的位置的順序,組合的媒體呈現應形成內容的完整媒體呈現。在一些實施例中,針對“補丁”這種UpdateProperty類型,如果MPD類型是“動態的”,則在位置元素206中指定的位置處可用的媒體呈現是如下補丁,該補丁是對用於直播服務的媒體呈現的更新 。在一些實施例中,針對“full”這種UpdateProperty類型,位置元素206可用於為針對靜態和動態媒體呈現的可用媒體呈現提供額外位置(例如,與MPD位置元素MPD.Location相同)。
UpdateProperty元素還可以具有值屬性,例如@value。該值可以是和/或可以指定各種參數,諸如,空白時間、內容是否可以提前終止的表示(例如,廣告)、終止重播的時間等。例如,當在MPD欄位中(諸如在“UpdateProperty.Location欄位”內)出現空白時,可以使用空白時間,如本文所討論的。空白時間參數可以是資料欄位,諸如非負整數(例如,十進位),其提供針對MPD欄位中出現的空白編輯或執行廣告插入的機會的時間(以秒為單位)。作為另一示例,提前終止參數可以是資料欄位(諸如布林值)用於使DASH用戶端能夠在插入內容結束之前可選地終止插入內容的重播。作為另一示例,當可以提前終止內容時,可以使用終止時間參數。終止時間參數可以是資料欄位,諸如用於指定在可以終止重播之前的播放時間(以秒為單位)的整數(例如,十進位表現中的非負整數)。例如,零值可以指定不重播,或者可以在開始重播之後的任何時間終止內容。
在一些實施例中,可以提供DASH MPD更新屬性方案,以指定新MPD更新屬性的方案。為MPD組織、更新和位置提供附加資訊的方案可以由URN來指定(例如,“urn:mpeg:dash:mpd-update-property:2018”)。例如,該方案可以與基本屬性描述符一起使用,同時結合UpdateProperty元素、補充屬性描述符等。補丁定義可以利用現有補丁定義,諸如IETF RFC 5261中指定的補丁定義,其以引用的方式全部併入本文。IETF RFC 5261定義了符合XML Patch Operations框架的有效XML補丁。具有該方案的MPD可以充當根MPD,並且可以與所有補丁進行組裝以形成完整的媒體呈現。MPD中的語法的示例可以是,例如,>xs:element name=“UpdateProperty” type=“UpdatePropertyType” minOccurs=“0” maxOccurs= “1”/>。
第3圖示出了根據一些實施例的UpdateProperty元素302的示例性XML語法300。該XML語法指定UpdateProperty元素302包括類型屬性304和位置元素306。XML語法還指定如下限制308:類型屬性304的類型可以僅包括“補丁(patch)”或“完整(full)”值。如本文所述,考慮到可以指定UpdateProperty方式,不理解該方案的傳統DASH用戶端可以忽略該方案並繼續使用當前標準中指定的MPD。支援該方案的DASH應用可以提供附加屬性,諸如支援比傳統方案可用的更多功能,諸如靈活的內容編輯和廣告插入(例如,在正片前和在正片中進行廣告插入)。
第4圖示出了根據一些實施例的針對點播服務的使用第3圖所示方案的MPD的示例。MPD@type 402是“靜態的”。UpdateProperty 404指定了值406 “30,1,5”,這意味著UpdateProperty正在添加長度為30秒的內容,該內容可以提前終止(布林值為 “1”表示啟用提前終止),並且該內容可以在5秒後提前終止。位置408指定可用的媒體呈現,由逗號隔開且以分號結束。媒體呈現410指定廣告內容。不包括媒體呈現410,相反,該示例可以包括空白,使得Ad伺服器、用戶端應用等可以用期望的廣告內容來替換空白。
第5圖示出了根據一些實施例的針對直播服務的使用第3圖所示方案的MPD的示例。MPD@type 502是“動態的”。UpdateProperty 504指定了值506 “60,1,0”,這意味著UpdateProperty正在添加長度為60秒的內容,該內容可以提前終止(布林值為 “1”表示啟用提前終止),並且該內容可以在任何時間(值“0”)提前終止。位置508指定一個媒體呈現510的位置,隨後是空白512,使得當沒有MPD補丁時,廣告伺服器、用戶端應用等可以用期望的廣告內容來替換空白512。
在一些實施例中,該技術可以指定MPD組織(MPDO)描述符。例如,具有特定方案的SupplementalProperty和/或EssentialProperty元素可以稱為MPDO描述符。例如,可以使用等於“urn:mpeg:dash:mpd-org:2018”的元素的@schemeIdUri來指定方案。在一些實施例中,MPDO描述符可以存在於MPD級別、時段級別等。MPDO描述符可以表示MPD被組織成使得MPD包括“根”MPD和相應的MPD補丁、以及一個或更多個“葉(leaf)”MPD。例如,MPDO描述符可以用於發信號通知可通用的附加MPD特徵,諸如用於支援流服務的廣告插入。例如,DASH應用可以使用MPDO描述符來提供附加MPD組織描述,其中添加了內容插入或發信號通知的廣告插入機會。
在一些實施例中,MPDO描述符不包括@value屬性。在一些實施例中,MPDO描述符可以包括各種元素和屬性,諸如類型、位置、空白時間、提前終止啟用、提前終止時間等中的一個或更多個。例如,如本文所討論的,類型可以指定“補丁”或“完整”。作為另一示例,如本文所討論的,位置可以指定MPD可用的位置,並且可以根據MPD類型是靜態的還是動態的而變化。作為另一示例,如本文所討論的,空白時間可以指定編輯或廣告插入的機會的秒數;提前終止啟用可以表示插入內容是否可以在結束之前終止;並且終止時間可以指定在可以終止內容之前的播放時間。
第6圖示出了根據一些實施例的MPDO 描述符的示例性XML語法600。XML語法600指定類型屬性602和位置元素604。XML語法600還指定上面討論的三個不帶正負號的整數屬性time_of_space 606、early_termination_enable 608和time_to_termination 610。XML語法600還指定如下限制612:類型屬性602的類型可以僅包括“補丁(patch)”或“完整(full)”值。如本文所述,考慮到可以指定UpdateProperty方式,不理解該方案的傳統DASH用戶端可以忽略該方案並繼續使用當前標準中指定的MPD。支援該方案的DASH應用可以提供附加屬性,諸如支援比傳統方案可用的更多功能,諸如靈活的內容編輯和廣告插入(例如,在正片前和在正片中進行廣告插入)。
MPDO描述符可用於直播和點播服務兩種。補丁定義可以利用現有補丁定義,諸如IETF RFC 5261中定義的補丁定義,其是符合XML Patch Operations框架的有效XML補丁。某些操作可能僅取決於MPDO描述符是用於直播內容還是點播內容而適用。例如,對於點播服務,只有“添加”操作可以適用於補丁處理。
在一些實施例中,MPDO描述符可用於提供播放清單。例如,從根MPD開始,MPDO位置(MPDO:Location)處可用的MPD(具有@type)可以基本上用作具有所提供順序的時間線的播放清單。
在一些實施例中,對於點播服務,如果MPDO描述符存在於MPD級別,則可以使用EssentialProperty,因為根MPD可以僅是完整MPD的開始部分。根據配置,在開始部分重播之後,不理解MPDO描述符的傳統DASH用戶端可能無法繼續。如果MPDO描述符存在于時段級別,則可以使用SupplementalProperty,因為根MPD應該是完整的MPD。理解這種MPDO描述符的DASH用戶端可以選擇(例如,在第一時段之後)與MPDO描述符中指定的列表一起重播,並用用戶端驅動的內容/廣告插入填充任何機會。根據配置,傳統DASH用戶端可以在下一個時段繼續使用根MPD。
第7圖示出了根據一些實施例的針對點播服務的具有MPDO描述符的MPD 700的示例。MPD類型(MPD@type)702是“靜態的”。MPD 700包括具有由“urn:mpeg:dash:mpd-org:2018”指定的方案的EssentialProperty 704,因此是MDPO描述符(本文稱為MPDO描述符704)。MPDO描述符704類型706是“補丁”。MPDO描述符704位置元素708包括空白710。如本文所討論的,廣告伺服器、用戶端應用等可以用廣告內容來替換空白710。其他屬性,即time_of_space 712、early_termination_enable 714和time_to_termination 716,分別指定:插入的廣告內容可以持續30秒、啟用了提前終止、以及提前終止能在5秒重播之後發生。
第8圖示出了根據一些實施例的針對直播服務的具有MPDO描述符的MPD 800的示例。MPD類型(MPD@type)802是“動態的”。MPD 800包括具有由“urn:mpeg:dash:mpd-org:2018”指定的方案的EssentialProperty 804,因此是MDPO描述符(本文稱為MPDO描述符804)。MPDO描述符804類型806是“補丁”。MPDO描述符804位置元素808包括空白810。如本文所討論的,廣告伺服器、用戶端應用等可以用廣告內容替換空白810。其他屬性,即time_of_space 812、early_termination_enable 814和time_to_termination 816,分別指定:插入的廣告內容可以持續60秒、啟用了提前終止、以及提前終止能在任何時間發生。
第9圖示出了根據一些實施例的用於生成媒體呈現資料(諸如媒體呈現描述(MPD)檔)的示例性電腦化方法900。在步驟902,編碼設備(例如,第1圖中的HTTP DASH伺服器102)確定已經以多種不同格式編碼的視訊資料。如本文所討論的,媒體呈現資料與已被編碼以支援不同位元速率的視訊資料相關聯。編碼設備可以將視訊資料編碼為多個位元速率和/或從另一個源接收編碼的視訊資料。
在步驟904中,編碼設備生成媒體呈現資料。如本文所討論的,媒體呈現資料可以是如下XML文檔,該XML文檔包含關於視訊資料的媒體片段的資訊、它們的關係和用戶端(例如,第1圖中的HTTP DASH用戶端108)在片段中進行選擇所需的資訊、以及用戶端可能需要的其他中繼資料。如本文所討論的,媒體呈現資料可以具有分層結構,具有根項目和各種部分。例如,MPD檔具有MPD元素作為其根,MPD元素可以包括各種部分。雖然本文討論的一些示例涉及MPD檔,但是這僅用於示例性目的而不是限制性的。
在步驟906中,編碼設備在媒體呈現資料內生成第一資料,該第一資料表示媒體呈現資料是針對靜態視訊資料還是針對動態視訊資料。在步驟908中,編碼設備還在媒體呈現資料內生成第二資料,該第二資料表示對視訊資料的內容更新的位置的至少一個位置參考(例如,URL)。如本文所討論的,第一資料和第二資料可以包括在媒體呈現資料的頂層和/或檔案的子級內,可以使用不同的元素等來指定。例如,如本文在一些實施例中所討論的,媒體呈現資料可以是對先前媒體呈現資料的部分改變(例如,補丁)的類型,並且可以使用基本屬性元素或補充屬性元素來指定第二資料。基本或補充屬性元素可以包括位置參考集合,該位置參考集合中的各個位置參考提供對具有內容更新的位置的參考(例如,指定為由空白隔開的參考列表)。作為另一示例,如本文中在一些實施例中所討論的,該技術可以包括生成媒體呈現資料的更新屬性元素。更新屬性元素可以包括如下第二資料,該第二資料可以包括位置參考集合,該位置參考集合中的各個位置參考提供對具有內容更新的位置的參考。更新屬性元素還可以包括其他資料,諸如表示位置參考集合是與(a)對先前媒體呈現資料的部分改變相關聯還是與(b)完整媒體呈現資料相關聯的資料。第二資料可以是以逗號隔開且以分號終止的URL列表。URL列表可以包括用於表示編輯機會的空格,諸如廣告插入機會。作為另一示例,如本文中還討論的,在一些實施例中,該技術可以包括使用實現指定方案URI的媒體呈現資料的補充屬性元素或基本屬性元素來生成組織描述符(例如,MPDO描述符)。該組織描述符包括第二資料,該第二資料可以包括位置參考集合,該位置參考集合中的各個位置參考提供對具有內容更新的位置的參考。組織描述符可以包括其他資料。例如,組織描述符還可以包括表示位置參考集合是與(a)對先前媒體呈現資料的部分改變相關聯還是與(b)完整媒體呈現資料相關聯的資料。作為另一示例,組織描述符可以包括表示如下項的資料:編輯機會時間(例如,以秒為單位)、是否支援提前終止針對編輯機會的內容、以及(若支援)在提前終止該內容之前所需的該內容的播放時間。
解碼設備和/或用戶端(例如,第1圖中的HTTP Dash用戶端108)可以被配置為,使用本申請的媒體呈現資料技術來解碼和/或播放媒體內容。如本文所討論的,例如,DASH應用通常具有對應的MPD檔。MPD為DASH用戶端提供資訊,以通過從HTTP DASH伺服器下載媒體片段來促進內容的自我調整流傳輸。用戶端可以被配置為使用本文描述的技術來處理MPD更新。例如,用戶端可以被配置為處理媒體呈現資料更新,該媒體呈現資料更新被指定為對先前媒體呈現資料的部分改變(例如,補丁)並且使用基本屬性元素(例如,其包括位置參考集合、URL等)或補充屬性元素來指定。作為另一示例,如本文中在一些實施例中所討論的,用戶端可以被配置為,處理使用媒體呈現資料的更新屬性元素指定的媒體呈現資料更新。作為另一示例,如本文所討論的,在一些實施例中,用戶端可以被配置為通過處理組織描述符(例如,MPDO描述符)來處理媒體呈現資料更新,該組織描述符是使用實現指定方案URI的媒體呈現資料的補充屬性元素或基本屬性元素來指定的。
根據本文描述的原理操作的技術可以以任何合適的方式實現。上面的流程圖的處理和判定框表示:可以包括在執行這些各種過程的演算法中的步驟和動作。從這些過程匯出的演算法可以被實現為與一個或更多個單用途或多用途處理器的操作相集成並指導其操作的軟體,可以被實現為功能等同電路(諸如數位信號處理(DSP)電路或專用積體電路(ASIC)),或者可以以任何其他合適的方式實現。應當理解,本文包括的流程圖不描繪任何特定電路或任何特定程式設計語言的語法或操作或程式設計語言的類型。相反,流程圖圖示了本領域技術人員可以用來製造電路或實現電腦軟體演算法以進行執行本文所描述的技術類型的特定裝置的處理的功能資訊。還應當理解,除非本文另有指示,否則各個流程圖中描述的特定步驟和/或動作序列僅僅是對可以實現的演算法的說明,並且在本文描述的原理的實施方式和實施例中可以變化。
因此,在一些實施例中,本文描述的技術可以體現為被實現為軟體的電腦可執行指令,包括作為應用軟體、系統軟體、固件、中介軟體、嵌入代碼、或任何其他合適類型的電腦代碼。這種電腦可執行指令可以使用許多合適的程式設計語言和/或程式設計或腳本工具中的任何一種來編寫,並且還可以被編譯為在框架或虛擬機器上執行的可執行機器語言代碼或中間代碼。
當本文描述的技術體現為電腦可執行指令時,這些電腦可執行指令可以以任何合適的方式實現,包括作為多個功能設施,各個功能設施提供一個或更多個操作以完成根據這些技術操作的演算法的執行。然而,產生實體的“功能設施”是電腦系統的結構元件,當與一個或更多個電腦集成並由所述一個或更多個電腦執行時,其使所述一個或更多個電腦執行特定的操作角色。功能設施可以是軟體元素的一部分或整個軟體元素。例如,功能設施可以根據過程、或作為離散過程、或作為任何其他合適的處理單元來實現。如果本文描述的技術被實現為多功能設施,則各個功能設施可以以其自己的方式實現;所有這些都不需要以同樣的方式實現。另外,若恰當,這些功能設施可以並行和/或串列地執行,並且可以使用它們正在執行的電腦上的共用記憶體、使用消息傳遞協定、或者以任何其他合適的方式在彼此之間傳遞資訊。
通常,功能設施包括執行特定任務或者實現特定抽象資料類型的常式、程式、物件、元件、資料結構等。通常,若需要,功能設施的功能性可以在它們所運行的系統中組合或分佈。在一些實施方式中,執行本文技術的一個或更多個功能設施可以共同形成完整的套裝軟體。在替代實施例中,這些功能設施可以適於與其他不相關的功能設施和/或過程交互,以實現軟體程式應用。
本文已經描述了用於執行一個或更多個任務的一些示例性功能設施。然而,應當理解,所描述的功能設施和任務劃分僅僅是可以實現本文描述的示例性技術的功能設施的類型的說明,並且實施例不限於以任何特定數量、劃分、或功能設施的類型來實現。在一些實施方式中,所有功能都可以在單個功能設施中實現。還應當理解,在一些實施方式中,本文描述的一些功能設施可以與其他功能設施一起實現,或與其他功能設施分開實現(即,作為單個單元或單獨的單元),或者可以不實現這些功能設施中的一些。
在一些實施例中,實現本文描述的技術的電腦可執行指令(當被實現為一個或更多個功能設施或以任何其他方式實現時)可以在一個或更多個電腦可讀介質上編碼以向媒體提供功能性。電腦可讀介質包括諸如硬碟驅動器之類的磁介質、諸如光碟(CD)或數位通用盤(DVD)之類的光學介質、持久或非持久固態記憶體(例如,快閃記憶體、磁性 RAM等)、或任何其他合適的存儲介質。這種電腦可讀介質可以以任何合適的方式實現。如本文所使用的,“電腦可讀介質”(也稱為“電腦可讀存儲介質”)指的是有形存儲介質。有形存儲介質是非暫時性的並且具有至少一個物理的結構元件。在如本文所使用的“電腦可讀介質”中,至少一個物理的結構元件具有至少一種物理特性,該物理特性可在創建具有嵌入資訊的介質的過程(該過程是在介質上記錄資訊的過程)或用資訊編碼介質的任何其他過程期間以某種方式來改變。例如,可以在記錄過程期間改變電腦可讀介質的物理結構的一部分的磁化狀態。
此外,上述一些技術包括:以某些方式存儲資訊(例如,資料和/或指令)以供這些技術使用的動作。在這些技術的一些實施方式(諸如將技術實現為電腦可執行指令的實施方式)中,可以將資訊編碼在電腦可讀存儲介質上。在本文中將特定結構描述為存儲該資訊的有利格式的情況下,這些結構可用於當編碼在存儲介質上時賦予資訊的物理組織。然後,這些有利結構可以通過影響與該資訊交互的一個或更多個處理器的操作來向存儲介質提供功能性;例如,通過提高處理器所執行的電腦操作的效率。
在技術可以體現為電腦可執行指令的一些但非全部實施方式中,這些指令可以在任何合適的電腦系統中操作的一個或更多個合適的計算設備上執行,或者一個或更多個計算設備(或者,一個或更多個計算設備的一個或更多個處理器)可以被程式設計為執行電腦可執行指令。計算設備或處理器可以被程式設計為:當指令以計算設備或處理器可訪問的方式存儲時,諸如存儲在資料記憶體(例如,片上緩存或指令寄存器、可經由匯流排訪問的電腦可讀存儲介質、可經由一個或更多個網路訪問和可通過設備/處理器訪問的電腦可讀存儲介質,等等)中時,執行這些指令。包括這些電腦可執行指令的功能設施可以與單個多用途可程式設計數位計算設備、共用處理能力並且聯合執行本文描述的技術的兩個或更多個多用途計算設備的協調系統、專用于執行本文描述的技術的單個計算設備或計算設備的協調系統(共址的或地理分佈的)、用於執行本文描述的技術的一個或更多個現場可程式設計閘陣列(FPGA)、或任何其他合適的系統的操作相集成並指導其操作。
計算設備可以包括至少一個處理器、網路介面卡和電腦可讀存儲介質。例如,計算設備可以是臺式或膝上型個人電腦、個人數位助理(PDA)、智慧行動電話、伺服器、或任何其他合適的計算設備。網路介面卡可以是任何合適的硬體和/或軟體,以使計算設備能夠通過任何合適的計算網路與任何其他合適的計算設備進行有線和/或無線通訊。計算網路可以包括無線接入點、交換機、路由器、閘道、和/或其他聯網設備以及用於在兩個或更多個電腦之間交換資料的任何合適的(多種)有線和/或無線通訊介質(包括互聯網)。電腦可讀介質可以適於存儲要處理的資料和/或要由處理器執行的指令。處理器能夠處理資料和執行指令。資料和指令可以存儲在電腦可讀存儲介質上。
計算設備還可具有一個或更多個元件和週邊設備,包括輸入和輸出設備。除其他之外,這些設備可用於呈現使用者介面。可用於提供使用者介面的輸出設備的示例包括印表機或顯示幕,用於輸出和揚聲器或其他聲音生成設備的視覺呈現,以用於輸出的可聽呈現。可以用於使用者介面的輸入裝置的示例包括鍵盤和指示設備,諸如滑鼠、觸控板和數位化平板電腦。作為另一示例,計算設備可以通過語音辨識或以其他可聽格式來接收輸入資訊。
已經描述了以電路系統和/或電腦可執行指令實現這些技術的實施例。應當理解,一些實施例可以是方法的形式,已經提供了方法的至少一個示例。作為方法的一部分執行的動作可以以任何合適的方式排序。因此,可以構造如下實施例:以不同於所示的循序執行動作,可以包括同時執行一些動作,即使在示例性實施例中示出為順序的動作。
上述實施例的各個方面可以單獨使用、組合使用、或者按照在前面描述的實施例中沒有具體討論的各種佈置來使用,因此不限於應用於上述描述中闡述的或在附圖中圖示的組件的細節和佈置。例如,一個實施例中描述的方面可以以任何方式與其他實施例中描述的方面組合。
在權利要求書中使用諸如“第一”、“第二”等序數詞來修改權利要求元素本身並不暗示任何優先順序、位次、或者一個權利要求元素比另一個權利要求元素優先、或者執行方法的動作的時間順序,僅僅是被用作將具有某個名稱的一個權利要求元素與具有相同名稱(但是使用了該序數詞)的另一個元素區分開來的標籤,以便區分權利要求元素。
本文使用的措辭和用語是為了進行描述,不應該將其視為具有限制性。本文對“包括(including)”、“包含(comprising)”、“具有(having)”、“含有(containing)”、“涉及(involving)”及其變形的使用旨在涵蓋其後列出的項及其等同物以及附加項。
本文使用了詞語“示例性的”來表示用作示例、實例或者圖示。因此,在本文中被描述為示例性的任何實施例、實施方式、過程、特徵等都應當被理解為說明性示例,並且除非另有指示,否則不應被理解為優選或有利示例。
雖然已經描述了至少一種實施方式的多個方面,但要瞭解的是本領域的技術人員可以容易地想到各種更改、修改和改進。這種更改、修改和改進旨在成為本公開的一部分並且旨在落入本文描述的原理的精神和範圍內。因此,上述描述和附圖僅僅是示例性的。
100‧‧‧動態流傳輸配置
102‧‧‧HTTP DASH伺服器
106‧‧‧互聯網
104‧‧‧DASH內容
108‧‧‧HTTP DASH用戶端設備
116‧‧‧顯示器
200‧‧‧語義
202、302、404、504‧‧‧UpdateProperty元素
204、304、402、502、602、702、706、802、806‧‧‧類型屬性
206、306、408、604、708、808‧‧‧位置元素
300、600‧‧‧語法
308、612‧‧‧限制
406、506‧‧‧指定值
410、510‧‧‧媒體呈現
512、710、810‧‧‧空白
606、712、812‧‧‧time_of_space
608、714、814‧‧‧early_termination_enable
610、716、816‧‧‧time_to_termination
700、800‧‧‧MPD
704、804‧‧‧MPDO描述符
900‧‧‧方法
902-908‧‧‧步驟
在附圖中,在各個圖中圖示的各個相同或幾乎相同的元件用類似的參考符號表示。出於簡潔起見,並未在每張圖中都標出每個元件。這些圖並未按比例繪製,相反,重點放在圖示本文描述的技術和設備的各個方面上。
第1圖示出了根據一些實施例的示例性動態流傳輸配置。
第2圖示出了根據一些實施例的針對更新屬性元素的語義的示例。
第3圖示出了根據一些實施例的更新屬性元素的示例性XML語法。
第4圖示出了根據一些實施例的針對點播服務的使用第3圖所示方案的媒體呈現描述(MPD)的示例。
第5圖示出了根據一些實施例的針對直播服務的使用第3圖所示方案的MPD的示例。
第6圖示出了根據一些實施例的針對MPD組織(MPDO)描述符的示例性XML語法。
第7圖示出了根據一些實施例的針對點播服務的具有MPDO描述符的MPD的示例。
第8圖示出了根據一些實施例的針對直播服務的具有MPDO描述符的MPD的示例。
第9圖示出了根據一些實施例的用於生成媒體呈現資料(諸如MPD檔)的示例性電腦化方法。
900‧‧‧方法
902-908‧‧‧步驟
Claims (20)
- 一種生成與視訊資料相關聯的媒體呈現資料的方法,所述方法包括如下步驟: 生成與以多種格式編碼的視訊資料相關聯的媒體呈現資料,各格式與不同位元速率相關聯,包括如下步驟: 在所述媒體呈現資料內生成第一資料,所述第一資料表示所述媒體呈現資料是針對靜態視訊資料還是針對動態視訊資料;以及 在所述媒體呈現資料內生成第二資料,所述第二資料表示對所述視訊資料的內容更新的位置的至少一個位置參考。
- 如申請專利範圍第1項所述的方法,其中,所述媒體呈現資料包括媒體呈現描述檔即MPD檔,並且所述MPD檔包括所述第一資料和所述第二資料。
- 如申請專利範圍第1項所述的方法,其中: 所述媒體呈現資料是對先前媒體呈現資料的部分改變;並且 生成所述第二資料包括如下步驟: 生成包括所述第二資料的所述媒體呈現資料的基本屬性元素或補充屬性元素;以及 生成所述第二資料包括生成位置參考集合,其中,所述位置參考集合中的各個位置參考針對具有關聯內容更新的關聯位置。
- 如申請專利範圍第3項所述的方法,其中,生成所述位置參考集合包括:生成由空白隔開的統一資源定位符列表。
- 如申請專利範圍第1項所述的方法,其中,生成所述第二資料包括:生成所述媒體呈現資料的更新屬性元素,所述更新屬性元素包括: 所述第二資料,其中,生成所述第二資料包括生成位置參考集合,其中,所述位置參考集合中的各個位置參考針對具有關聯內容更新的關聯位置;以及 第三資料,所述第三資料表示所述位置參考集合是與(a)對先前媒體呈現資料的部分改變相關聯,還是與(b)完整媒體呈現資料相關聯。
- 如申請專利範圍第5項所述的方法,其中,生成所述位置參考集合包括:生成由逗號隔開且以分號終止的統一資源定位符列表。
- 如申請專利範圍第6項所述的方法,其中,生成所述統一資源定位符列表之步驟包括:包含如下空白,該空白表示編輯機會。
- 如申請專利範圍第1項所述的方法,其中,生成所述第二資料包括:使用所述媒體呈現資料的補充屬性元素或基本屬性元素來生成組織描述符,所述組織描述符包括: 所述第二資料,其中,生成所述第二資料包括生成位置參考集合,其中,所述位置參考集合中的各個位置參考針對具有關聯內容更新的關聯位置;以及 第三資料,所述第三資料表示所述位置參考集合是與(a)對先前媒體呈現資料的部分改變相關聯,還是與(b)完整媒體呈現資料相關聯。
- 如申請專利範圍第8項所述的方法,其中,生成所述組織描述符包括:生成所述組織描述符的第三資料,其中,所述第三資料包括表示以下中的一個或更多個的資料:編輯機會的時間、是否支持提前終止針對所述編輯機會的內容、以及在提前終止該內容之前所需的該內容的播放時間。
- 一種被配置為生成與視訊資料相關聯的媒體呈現資料的裝置,所述裝置包括與記憶體通信的處理器,所述處理器被配置為執行存儲在所述記憶體中的指令,所述指令使所述處理器進行如下操作: 生成與以多種格式編碼的視訊資料相關聯的媒體呈現資料,各格式與不同位元速率相關聯,包括如下步驟: 在所述媒體呈現資料內生成第一資料,所述第一資料表示所述媒體呈現資料是針對靜態視訊資料還是針對動態視訊資料;以及 在所述媒體呈現資料內生成第二資料,所述第二資料表示對所述視訊資料的內容更新的位置的至少一個位置參考。
- 如申請專利範圍第10項所述的裝置,其中,所述媒體呈現資料包括媒體呈現描述檔即MPD檔,並且所述MPD檔包括所述第一資料和所述第二資料。
- 如申請專利範圍第10項所述的裝置,其中: 所述媒體呈現資料是對先前媒體呈現資料的部分改變;並且 生成所述第二資料包括如下步驟: 生成包括所述第二資料的所述媒體呈現資料的基本屬性元素或補充屬性元素;以及 生成所述第二資料包括生成位置參考集合,其中,所述位置參考集合中的各個位置參考針對具有關聯內容更新的關聯位置。
- 如申請專利範圍第12項所述的裝置,其中,生成所述位置參考集合包括:生成由空白隔開的統一資源定位符列表。
- 如申請專利範圍第10項所述的裝置,其中,生成所述第二資料包括:生成所述媒體呈現資料的更新屬性元素,所述更新屬性元素包括: 所述第二資料,其中,生成所述第二資料包括生成位置參考集合,其中,所述位置參考集合中的各個位置參考針對具有關聯內容更新的關聯位置;以及 第三資料,所述第三資料表示所述位置參考集合是與(a)對先前媒體呈現資料的部分改變相關聯,還是與(b)完整媒體呈現資料相關聯。
- 如申請專利範圍第14項所述的裝置,其中,生成所述位置參考集合包括:生成由逗號隔開且以分號終止的統一資源定位符列表。
- 如申請專利範圍第15項所述的裝置,其中,生成所述統一資源定位符列表之步驟包括:包含如下空白,該空白表示編輯機會。
- 如申請專利範圍第10項所述的裝置,其中,生成所述第二資料包括:使用所述媒體呈現資料的補充屬性元素或基本屬性元素來生成組織描述符,所述組織描述符包括: 所述第二資料,其中,生成所述第二資料包括生成位置參考集合,其中,所述位置參考集合中的各個位置參考針對具有關聯內容更新的關聯位置;以及 第三資料,所述第三資料表示所述位置參考集合是與(a)對先前媒體呈現資料的部分改變相關聯,還是與(b)完整媒體呈現資料相關聯。
- 如申請專利範圍第17項所述的裝置,其中,生成所述組織描述符包括:生成所述組織描述符的第三資料,其中,所述第三資料包括表示以下中的一個或更多個的資料:編輯機會的時間、是否支持提前終止針對所述編輯機會的內容、以及在提前終止該內容之前所需的該內容的播放時間。
- 一種處理與視訊資料相關聯的媒體呈現資料的方法,所述方法包括如下步驟: 接收與以多種格式編碼的視訊資料相關聯的媒體呈現資料,各格式與不同位元速率相關聯; 從所述媒體呈現資料確定第一資料,所述第一資料表示所述媒體呈現資料是針對靜態視訊資料還是針對動態視訊資料; 從所述媒體呈現資料確定第二資料,所述第二資料表示對所述視訊資料的內容更新的位置的至少一個位置參考;以及 基於所述第一資料和所述第二資料來下載所述視訊資料的媒體片段。
- 一種被配置為處理與視訊資料相關聯的媒體呈現資料的裝置,所述裝置包括與記憶體通信的處理器,所述處理器被配置為執行存儲在所述記憶體中的指令,所述指令使所述處理器進行如下操作: 接收與以多種格式編碼的視訊資料相關聯的媒體呈現資料,各格式與不同位元速率相關聯; 從所述媒體呈現資料確定第一資料,所述第一資料表示所述媒體呈現資料是針對靜態視訊資料還是針對動態視訊資料; 從所述媒體呈現資料確定第二資料,所述第二資料表示對所述視訊資料的內容更新的位置的至少一個位置參考;以及 基於所述第一資料和所述第二資料來下載所述視訊資料的媒體片段。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862687859P | 2018-06-21 | 2018-06-21 | |
US62/687,859 | 2018-06-21 | ||
US201862692946P | 2018-07-02 | 2018-07-02 | |
US62/692,946 | 2018-07-02 | ||
US201862695287P | 2018-07-09 | 2018-07-09 | |
US62/695,287 | 2018-07-09 | ||
US16/410,756 | 2019-05-13 | ||
US16/410,756 US10904642B2 (en) | 2018-06-21 | 2019-05-13 | Methods and apparatus for updating media presentation data |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202002662A true TW202002662A (zh) | 2020-01-01 |
TWI717744B TWI717744B (zh) | 2021-02-01 |
Family
ID=68980804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108118338A TWI717744B (zh) | 2018-06-21 | 2019-05-28 | 用於更新媒體呈現資料的方法和裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10904642B2 (zh) |
TW (1) | TWI717744B (zh) |
WO (1) | WO2019245685A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11212597B2 (en) * | 2019-05-15 | 2021-12-28 | Tencent America LLC | Early termination of content |
US11012761B1 (en) * | 2019-12-17 | 2021-05-18 | Sony Corporation | Techniques for replacement content signaling in advanced television systems committee (ATSC) 3.0 television |
US11930254B2 (en) * | 2020-04-07 | 2024-03-12 | Tencent America LLC | Patchable remote element for data manipulation |
US11533346B2 (en) * | 2021-01-05 | 2022-12-20 | Tencent America LLC | Methods and apparatuses for dynamic adaptive streaming over HTTP |
US11520848B2 (en) * | 2021-01-06 | 2022-12-06 | Tencent America LLC | Methods and apparatuses for dynamic adaptive streaming over HTTP |
US11895172B2 (en) * | 2021-04-21 | 2024-02-06 | Tencent America LLC | Session-based description URL customization using the session-based DASH operations |
KR20240052834A (ko) * | 2021-10-01 | 2024-04-23 | 바이트댄스 아이엔씨 | 비디오 처리 방법, 장치 및 매체 |
GB2620583A (en) * | 2022-07-11 | 2024-01-17 | Canon Kk | Method, device, and computer program for optimizing dynamic encapsulation and parsing of content data |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US9497290B2 (en) | 2010-06-14 | 2016-11-15 | Blackberry Limited | Media presentation description delta file for HTTP streaming |
CN102137137B (zh) * | 2010-09-17 | 2013-11-06 | 华为技术有限公司 | 基于http流的媒体内容动态插播方法、装置及系统 |
US9661104B2 (en) * | 2011-02-07 | 2017-05-23 | Blackberry Limited | Method and apparatus for receiving presentation metadata |
JP2013021574A (ja) * | 2011-07-12 | 2013-01-31 | Sharp Corp | 生成装置、配信サーバ、生成方法、再生装置、再生方法、再生システム、生成プログラム、再生プログラム、記録媒体およびデータ構造 |
US9712891B2 (en) * | 2011-11-01 | 2017-07-18 | Nokia Technologies Oy | Method and apparatus for selecting an access method for delivery of media |
US9277230B2 (en) | 2011-11-23 | 2016-03-01 | Qualcomm Incorporated | Display mode-based video encoding in wireless display devices |
US8924582B2 (en) | 2012-07-09 | 2014-12-30 | Futurewei Technologies, Inc. | Dynamic adaptive streaming over hypertext transfer protocol client behavior framework and implementation of session management |
WO2015009723A1 (en) * | 2013-07-15 | 2015-01-22 | Huawei Technologies Co., Ltd. | Just-in-time dereferencing of remote elements in dynamic adaptive streaming over hypertext transfer protocol |
CN105230024B (zh) | 2013-07-19 | 2019-05-24 | 华为技术有限公司 | 一种媒体表示自适应方法、装置及计算机存储介质 |
US10924781B2 (en) * | 2014-06-27 | 2021-02-16 | Satellite Investors, Llc | Method and system for real-time transcoding of MPEG-DASH on-demand media segments while in transit from content host to dash client |
US10412461B2 (en) * | 2015-06-12 | 2019-09-10 | Cable Television Laboratories, Inc. | Media streaming with latency minimization |
EP3314850A1 (en) * | 2015-06-29 | 2018-05-02 | VID SCALE, Inc. | Dash caching proxy application |
-
2019
- 2019-05-13 US US16/410,756 patent/US10904642B2/en active Active
- 2019-05-20 WO PCT/US2019/033049 patent/WO2019245685A1/en active Application Filing
- 2019-05-28 TW TW108118338A patent/TWI717744B/zh active
Also Published As
Publication number | Publication date |
---|---|
TWI717744B (zh) | 2021-02-01 |
WO2019245685A1 (en) | 2019-12-26 |
US20190394537A1 (en) | 2019-12-26 |
US10904642B2 (en) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI717744B (zh) | 用於更新媒體呈現資料的方法和裝置 | |
NL2016051B1 (en) | Live-stream video advertisement system | |
US10560726B2 (en) | System and method for delivery and caching of personalized media streaming content | |
US11537562B2 (en) | Auxiliary manifest file to provide timed metadata | |
TWI623226B (zh) | 用於儲存媒體片段之基於目錄限制之系統及方法 | |
JP6141926B2 (ja) | リアルタイム又はリアルタイムに近いストリーミング | |
CN103583051B (zh) | 用于实时或近实时流传输的播放列表 | |
JP6054398B2 (ja) | 適応httpストリーミングのための表示の改善された切り替えを提供する切替シグナリング方法 | |
US10015222B2 (en) | Systems and methods for selective retrieval of adaptive bitrate streaming media | |
EP2494482B1 (en) | Assembling streamed content for on-demand presentation | |
US20150172353A1 (en) | Method and apparatus for interacting with a media presentation description that describes a summary media presentation and an original media presentation | |
Müller et al. | A test-bed for the dynamic adaptive streaming over HTTP featuring session mobility | |
CN113767639B (zh) | 接收媒体数据的方法、装置和非易失性计算机可读介质 | |
US20130232233A1 (en) | Systems and methods for client-side media chunking | |
US11451602B2 (en) | Methods and apparatuses for dynamic adaptive streaming over HTTP | |
JP2022524073A (ja) | Httpによる動的適応ストリーミングのための方法及び装置 | |
US20150195599A1 (en) | Methods for synchronization of a live streaming broadcast and systems using the same | |
JP2022526807A (ja) | メディアコンテンツのメディアデータを受信する方法、装置、およびコンピュータプログラム | |
JP7483919B2 (ja) | Httpによる動的適応ストリーミングのための方法及び装置 | |
KR20170007258A (ko) | 수신 장치, 송신 장치, 데이터 통신 방법, 및 데이터 처리 방법 | |
US11895350B2 (en) | Techniques for providing a content stream based on a delivered stream of content | |
CN112188256B (zh) | 信息处理方法、信息提供方法、装置、电子设备及存储介质 | |
CN115462063A (zh) | 用于通过http的动态自适应流传输的方法和设备 |