TW202130189A - 在基於http的動態自適應串流(dash)片段之重新同步點之隨機存取 - Google Patents
在基於http的動態自適應串流(dash)片段之重新同步點之隨機存取 Download PDFInfo
- Publication number
- TW202130189A TW202130189A TW109134450A TW109134450A TW202130189A TW 202130189 A TW202130189 A TW 202130189A TW 109134450 A TW109134450 A TW 109134450A TW 109134450 A TW109134450 A TW 109134450A TW 202130189 A TW202130189 A TW 202130189A
- Authority
- TW
- Taiwan
- Prior art keywords
- media data
- media
- segment
- point
- information list
- Prior art date
Links
- 230000015654 memory Effects 0.000 claims abstract description 16
- 239000012634 fragment Substances 0.000 claims description 93
- 238000000034 method Methods 0.000 claims description 68
- 238000004458 analytical method Methods 0.000 claims description 14
- 230000006978 adaptation Effects 0.000 description 27
- 238000012545 processing Methods 0.000 description 26
- 238000005516 engineering process Methods 0.000 description 24
- 238000004806 packaging method and process Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000002360 preparation method Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 7
- 238000012546 transfer Methods 0.000 description 6
- 238000005538 encapsulation Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 239000003550 marker Substances 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 101100412093 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rec16 gene Proteins 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- FMYKJLXRRQTBOR-UBFHEZILSA-N (2s)-2-acetamido-4-methyl-n-[4-methyl-1-oxo-1-[[(2s)-1-oxohexan-2-yl]amino]pentan-2-yl]pentanamide Chemical group CCCC[C@@H](C=O)NC(=O)C(CC(C)C)NC(=O)[C@H](CC(C)C)NC(C)=O FMYKJLXRRQTBOR-UBFHEZILSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- -1 moof Chemical compound 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000003936 working memory 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/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- 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
- H04N21/23439—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 for generating different versions
-
- 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/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2365—Multiplexing of several video streams
-
- 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/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/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/24—Systems for the transmission of television signals using pulse code modulation
- H04N7/52—Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
- H04N7/54—Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal the signals being synchronous
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/04—Scanning arrangements
- H04N2201/047—Detection, control or error compensation of scanning velocity or position
- H04N2201/04701—Detection of scanning velocity or position
- H04N2201/04748—Detection of scanning velocity or position by detecting synchronisation signals or driving signals, e.g. page sync
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Image Generation (AREA)
Abstract
一裝置用於擷取媒體,其包括一記憶體經配置以儲存一媒體呈現的媒體資料;以及一或多個實施於電路系統中的處理器,經配置以對一媒體呈現擷取一資訊清單檔案,該資訊清單檔案指示可使一位元流的媒體資料的容器解析(parsing)在該媒體呈現之一表現之一片段之一重新同步點開始,該重新同步點係在該片段之一起始以外之一位置且表示可使該位元流的該媒體資料的該容器解析開始之一點;利用該資訊清單檔案以形成一請求以擷取在該重新同步點開始之該表現之該媒體資料;發送該請求以啟動在該重新同步點開始的該媒體呈現之該媒體資料之擷取;以及呈現所擷取之該媒體資料。
Description
[相關申請案]
本專利申請案主張於2019年10月2日提出的美國臨時申請案第No.62/909,642號的優先權,該申請案之整體內容在此經由引用的方式併入本案中。
本揭露相關於經編碼之視訊資料之儲存及轉移。
數位視訊能力可以被結合到各種裝置中,包括數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、筆記型或桌上型電腦、
數位相機、數位記錄裝置、數位媒體播放器、視訊遊戲裝置、視訊遊戲機、蜂巢式或衛星無線電電話、視訊會議裝置等。數位視訊裝置採用視訊壓縮技術,例如MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4第10部分高階視訊編碼(AVC)、ITU-T H.265(亦稱為高效視訊編碼(HEVC))中定義的標準,以及此類標準的延伸版本,以更有效率地傳輸和接收數位視訊資訊。
視訊壓縮技術執行空間預測及/或時間預測以減少或去除視訊序列中固有的冗餘訊息。對於基於區塊之視訊編碼,一視訊訊框或圖塊可被劃分成巨集區塊(macroblocks)。每個巨集區塊可進一步被劃分。I畫格的訊框內或圖塊內編碼圖框(intra-coded frame or slice)中的巨集區塊通過使用相對於相鄰巨集區塊的空間預測被編碼。P畫格或B畫格的訊框內或圖塊內編碼圖框(intra-coded frame or slice)中的巨集區塊可使用相對於同一訊框或圖塊中的相鄰巨集區塊的空間預測,或相對於其他參考框的時間預測。
在對視訊資料進行編碼後,可將視訊資料封包化以進行傳輸或儲存。視訊資料可被集合入一視訊檔案,該視訊檔案符合多種標準中的任一種,例如國際標準化組織(ISO)的基本媒體檔案格式及其延伸版本,如AVC。
總體而言,本揭露描述了一種技術,用以存取基於HTTP之動態自適應串流(Dynamic Adaptive Streaming over HTTP, DASH)及/或通用媒體存取格式(Common Media Access Format, CMAF)之一片段,且不僅存取該片段的開始處,也存取該片段內的其他處(例如用於隨機存取)。本揭露亦描述了關於訊號通知在一片段內執行隨機存取的能力的技術。本揭露描述了與這些技術有關的各種使用情況。舉例來說,本揭露定義了重新同步(resynchronization)點以及以DASH與ISO基礎媒體檔案格式(Basic Media File Format, BMFF)訊號傳輸重新同步點。
在一實施例中,一種擷取媒體資料的方法包括對一媒體呈現擷取一資訊清單檔案,該資訊清單檔案指示可使一位元流的媒體資料的容器解析(parsing)在該媒體呈現之一表現之一片段之一重新同步點開始,該重新同步點係在該片段之一起始以外之一位置且表現可使該位元流的該媒體資料的該容器解析開始之一點;利用該資訊清單檔案以形成一請求以擷取在該重新同步點開始之該表現之該媒體資料;發送該請求以啟動在該重新同步點開始的該媒體呈現之該媒體資料之擷取;以及呈現所擷取之媒體資料。
在另一實施例中,一種用於擷取媒體資料的裝置包含一記憶體,經配置以儲存一媒體呈現的媒體資料;以及一或多個實施於電路系統中的處理器,經配置以對一媒體呈現擷取一資訊清單檔案,該資訊清單檔案指示可使一位元流的媒體資料的容器解析在該媒體呈現之一表現之一片段之一重新同步點開始,該重新同步點係在該片段之一起始以外之一位置且表現可使該位元流的該媒體資料的該容器解析開始之一點;利用該資訊清單檔案以形成一請求以擷取在該重新同步點開始之該表現之該媒體資料;發送該請求以啟動在該重新同步點開始的該媒體呈現之該媒體資料之擷取;以及呈現所擷取之該媒體資料。
在另一實施例中,一種電腦可讀儲存媒體具有儲存於其中之指令,該指令在被執行時使一處理器對一媒體呈現擷取一資訊清單檔案,該資訊清單檔案指示可使一位元流的媒體資料的容器解析在該媒體呈現之一表現之一片段之一重新同步點開始,該重新同步點係在該片段之一起始以外之一位置且表現可使該位元流的該媒體資料的該容器解析開始之一點;利用該資訊清單檔案以形成一請求以擷取在該重新同步點開始之該表現之該媒體資料;發送該請求以啟動在該重新同步點開始的該媒體呈現之該媒體資料之擷取;以及呈現所擷取之該媒體資料。
在另一實施例中,一種用於擷取媒體資料的裝置包含用以對一媒體呈現擷取一資訊清單檔案之一元件,該資訊清單檔案指示可使一位元流的媒體資料的容器解析在該媒體呈現之一表現之一片段之一重新同步點開始,該重新同步點係在該片段之一起始以外之一位置且表現可使該位元流的該媒體資料的該容器解析開始之一點;用以利用該資訊清單檔案以形成一請求以擷取在該重新同步點開始之該表現之該媒體資料之一元件;用以發送該請求以啟動在該重新同步點開始的該媒體呈現之該媒體資料之擷取之一元件;以及呈現所擷取之該媒體資料之一元件。
附圖及以下的說明中闡述一或多個實施例的細節。其餘特徵、目的及優點將根據以下的說明、附圖和申請專利範圍而顯而易見。
本揭露的技術可應用於根據ISO基本媒體檔案格式、可調整視訊編碼(Scalable Video Coding, SVC)檔案格式、高階視訊編碼(Advanced Video Coding, AVC)檔案格式、第三代合作夥伴計畫(Third Generation Partnership Project, 3GPP)檔案格式及/或多視角視訊編碼(Multiview Video Coding, MVC)檔案格式,或其他類似的視訊檔案格式封裝的視訊檔案。
在HTTP串流中,經常使用的操作包括HEAD、GET及部分GET。HEAD操作擷取與給定的統一資源定位符(Uniform Resource Name, URL)或統一資源名稱(Uniform Resource Name, URN)相關聯的檔案的標頭,而無需擷取與URL或URN相關聯的有效負載。GET操作擷取與給定的URL或URN相關聯的整個檔案。部分GET操作接收一個位元組範圍作為輸入參數,並擷取一檔案的一連續位元組數,其中所述位元組數與接收到的位元組範圍相對應。因此,影片片段可被提供於HTTP串流,因為部分GET操作可以獲取一或多個單獨的影片片段。在一影片片段中,可以有幾個不同播放軌的播放軌片段。在HTTP串流中,媒體呈現可以是客戶端可存取的結構化資料集合。客戶端可以請求並下載媒體資料資訊以向使用者呈現串流服務。
在使用HTTP串流的3GPP資料串流的實施例中,可能有多種表現形式以表現多媒體內容的視訊及/或音訊資料可能有多種表示形式。如下所說明,不同的表現可對應於不同的編碼特徵(例如,視訊編碼標準的不同設定檔或層級)、不同的編碼標準或編碼標準的延伸版本(例如,多視角及/或可調整延伸),或不同的位元率。此類表現的清單可以在媒體呈現描述(Media Presentation Description, MPD)資料結構中被定義。媒體呈現可對應於HTTP串流的客戶端裝置可存取的結構化資料集合。HTTP串流客戶端裝置可請求並下載媒體資料資訊以向客戶端裝置的使用者呈現串流服務。媒體呈現可在MPD資料結構中被描述,且MPD資料結構中可包括MPD的更新。
媒體呈現可包含一個或多個時段的序列。每個時段都可延長到下一個時段開始,或者,就最末時段而言,直到媒體呈現結束為止。每個時段可包含相同媒體內容的一或多個表現。表現可以是許多替代編碼版本之音訊、視訊、定時文字或其他此類資料的其中之一。這些表現可以根據編碼類型而不同,例如,以視訊資料而言,根據不同的位元率、解析率及/或編解碼器而不同;對於音訊資料而言,根據不同的位元率、語言及/或編解碼器而不同。術語表現可用於指涉與多媒體內容的特定時段相對應並且以特定方式編碼的一編碼音訊或視訊資料的一部分。
特定時段的表現可被分配到由MPD中以屬性表示的一組,該屬性指示這些表現所屬的調適集合。在同一調適組中的表現一般來說被視為是彼此的替代,因為客戶端裝置可在這些表現之間動態且無縫地切換,例如以執行頻寬自適應。舉例來說,特定時段的視訊資料的每個表現可以被分配到同一調適集合,從而可以選擇其中任何一表顯以解碼以呈現相應時段的多媒體內容的媒體資料,例如視訊資料或音訊資料。在一些實施例中,一個時段內的媒體內容可以通過來自組0的一種表現(如果存在)或來自每個非零組的至多一種表現的組合來表示。一時段的每種表現的時序資料可相對於該時段的開始時間來表示。
一表現可以包括一或多個片段。每一表示可以包括一初始化片段,或一表現的每個片段可自行初始化。當存在時,初始化片段可包含用於存取表現的初始化資訊。一般來說,初始化片段不包含媒體資料。一片段可由一標識符唯一表示,例如統一資源定位符(URL)、統一資源名稱(URN)或統一資源標識符(URI)。MPD可提供每一片段的標識符。在一些實施例中,MPD還可以範圍屬性的形式來提供位元組範圍,該範圍屬性可對應於通過URL、URN或URI可存取的一檔案中的某個片段的資料。
可以選擇不同的表現以用於實質同時地擷取不同類型的媒體資料。舉例而言,客戶端裝置可選擇一音訊表現、視訊表現以及定時文字表現,以從中擷取片段。在一些實施例中,客戶端裝置可選擇特定的調適集合以執行頻寬適配。亦即,客戶端裝置可選擇包含視訊表現的調適集合、包括音訊表現的調適集合及/或包括定時文字的調適集合。可替代地,客戶端裝置可以選擇用於某些類型的媒體(例如:視訊)的調適集合,並且直接選擇用於其他類型的媒體的表現(例如音訊及/或定時文字)。
基於HTTP的低延遲動態自適應串流(Low-latency Dynamic Adaptive Streaming over HTTP, LL-DASH)是DASH的一種設定檔,其試圖以低延遲向DASH客戶端提供媒體資料。LL-DASH的若干技術簡要總結如下:
編碼係基於片段式的ISO BMFF檔案,通常採用CMAF片段及CMAF組塊。
每一組塊都可由DASH封裝器單獨存取,並映射到被上載到原始伺服器的HTTP組塊。對於低延遲操作,建議使用這樣的1對1映射,但並非必要條件。客戶端不應假定此1對1映射保留給客戶端。
在此使用了部分可用片段的低延遲協定,例如HTTP組塊傳輸編碼,以使客戶端可在片段完成之前存取這些片段。可用性開始時間將為了能夠使用此功能的客戶端而調整。
允許兩種操作模式:
o 通過使用@duration訊令和基於$ Number $的模板來執行簡單實時供給
o DASH第四版本中建議的更新支持以片段時間軸(SegmentTimeline)作為$ Number $或$ Time $的主要實時供給。
可使用MPD有效性到期事件,但對於客戶端來說不是必需了解的。
總體而言,可能會出現頻內事件訊息,但是僅希望客戶端在片段開始時恢復訊息,而不是在任意組塊中恢復。DASH封裝器可在組塊邊界或使用定時元資料軌道完全異步地從編碼器接收通知。
允許在單一媒體呈現中和一媒體呈現中的一個期段內有一使用組分塊低延遲模式的調適集合以及對於不同媒體類型使用短片段的調適集合。
對於DASH客戶端的一定數量的播放控制可在媒體管道上使用,並且為了DASH客戶端的穩健性應被使用。例如,播放可能會在某些時段加速或減速,或者DASH客戶端可執行片段搜索。
該系統係設計為可與標準HTTP / 1.1一起使用,但也應適用於HTTP的延伸及其他協定,以改善低延遲操作。
MPD包括對於服務配置和服務屬性的明確訊令(例如,包括服務的目標延遲)。
MPD及片段包括錨定時間,錨定時間使DASH客戶端可以量測當前延遲以與實時延遲比較,並進行調整以滿足服務期望。
可以解決操作穩健性問題,例如在編碼器出現故障的情況下。
現有的DRM及加密模式與建議的低延遲操作相容。
基於以上概述,可定義以下內容:片段可被使用以在片段邊界和片段內隨機存取表現。如果提供了這種隨機存取,則應在MPD中用訊號通知。
圖1顯示了實施例系統10的功能方塊圖,實施例系統10採用了通過網路進行媒體資料串流的技術。在本實施例中,系統10包括內容準備裝置20,伺服器裝置60與客戶端裝置40。客戶端裝置40與伺服器裝置60通過網路74通訊耦合,網路74可包括網際網路。在一些實施例中,內容準備裝置20與伺服器裝置60也可以通過網路74或另一網路耦合,或直接通訊耦合。在一些實施例中,內容準備裝置20和伺服器裝置60可以包括相同的裝置。
圖1的內容準備裝置20包括音訊源22和視訊源24。音訊源22可包括例如麥克風,其產生電訊號用以表示要由音訊編碼器26編碼的所獲取的音訊資料。可替代地,音訊源22可以包括儲存有先前記錄的音訊資料儲存媒體、音訊資料產生器(例如電腦化合成器)或任何其他音訊資料源。視訊源24可包括一攝影機用以產生欲由視訊編碼器28編碼的視訊資料、以先前記錄的視訊資料編碼的一儲存媒體、如電腦圖形源之視訊資料產生器,或任何其他視訊資料源。在所有實施例中,內容準備裝置20不一定與伺服器裝置60通訊耦合,但可將多媒體內容儲存到由伺服器裝置60讀取的另一媒體中。
原始音訊和視訊資料可以包括類比或數位資料。類比資料可以在被音訊編碼器26及/或視訊編碼器28編碼之前被數位化。音訊源22可以在講話參與者正在講話時從講話參與者獲得音訊資料,並且視訊源24可以同時取得講話參與者的視訊資料。在其他實施例中,音訊源22可包括一電腦可讀儲存媒體,其儲存有音訊資料,而視訊源24可包括一電腦可讀儲存媒體,其儲存有視訊資料。如此,本揭露中描述的技術可被應用於實時的、串流的、實時音訊和視訊資料,也可應用於已存檔的、先前記錄的音訊和視訊資料。
與視訊訊框相對應的音訊訊框通常是包含由音訊源22取得(或產生)的音訊資料的音訊訊框,同時有著由視訊源24取得(或產生)的視訊資料,該視訊資料包含在視訊訊框內。例如,當講話參與者通過講話產生音訊資料,音訊源22接收音訊資料,而視訊源24同時取得講話參與者的視訊資料,即在音訊源22接收音訊資料的同時。因此,音訊訊框可以在時間上對應於一個或多個特定的視訊訊框。據此,一個與視訊訊框相對應的音訊訊框通常對應於以下情況:音訊資料和視訊資料被同時取得,且針對此情況,一音訊訊框和一視訊訊框分別包括所述同一時間取得的音訊資料和視訊資料。
在一些實施例中,音訊編碼器26可以在每個編碼的音訊訊框中對一時間戳編碼,該時間戳代表該編碼的音訊訊框的音訊資料被記錄的時間,並且類似地,視訊編碼器28可以在每個編碼的視訊中對一時間戳編碼,該時間戳代表該編碼視訊訊框的視訊資料被記錄的時間。在這樣的實施例中,與一視訊訊框相對應的音訊訊框可以包括具有一時間戳的音訊訊框,以及具有相同時間戳的視訊訊框。內容準備裝置20可包括內部時鐘,音訊編碼器26及/或視訊編碼器28可以根據內部時鐘產生時間戳,或者音訊源22和視訊源24可以利用內部時鐘使音訊和視訊資料分別與一時間戳相關聯。
在一些實施例中,音訊源22可將與紀錄音訊資料的時間相對應的資料發送到音訊編碼器26,而視訊源24可將與記錄視訊資料的時間相對應的資料發送到視訊編碼器28。在一些實施例中,音訊編碼器26可以在編碼的音訊資料中編碼入一順序標識符,以指示編碼的音訊資料的相對時間順序,但是不必然指示記錄音訊資料的絕對時間,並且類似地,視訊編碼器28也可以使用順列標識符以指示編碼的視訊資料的相對時間順序。同樣地,在一些實施例中,順列標識符可以被映射至或以其他方式與時間戳相關聯。
音訊編碼器26通常產生編碼音訊資料流,而視訊編碼器28產生編碼視訊資料流。每個單獨的資料流(無論是音訊還是視訊)都可被稱為基本位元流。基本位元流是一表現的單一、數位編碼(可能是壓縮的)組成部分。舉例來說,表現的編碼視訊或音訊部分可以是基本位元流。在將基本位元流封裝入一視訊檔案內之前,可將其轉換為封包化的基本位元流(packetized elementary stream, PES)。在一相同的表現中,一串流ID可用以將屬於一個基本位元流的PES封包與另一PES封包區分開。基本位元流的資料的基本單元是封包化基本位元流(PES)資料包。因此,編碼視訊資料通常對應於基本視訊流。同樣地,音訊資料對應於一或多個相應的基本位元流。
許多視訊編碼標準(例如ITU-T H.264 / AVC和即將推出的高效視訊編碼(HEVC)標準),為無錯位元流定義了語法、語義和解碼程序,其中任何一個都符合特定設定檔或層級。視訊編碼標準通常不指定編碼器,但編碼器的任務是確保產生的位元流符合解碼器的標準。在視訊編碼標準的脈絡中,「設定檔」對應於適用於這些標準的演算、功能或工具和限制條件的子集。例如,由H.264標準所定義的「設定檔」是H.264標準所指定的整個位元流語法的集合。 「層級」對應於解碼器資源消耗的限制,例如解碼器記憶體和計算,該些資源消耗關係到圖片的解析率、位元率和區塊處理率。一設定檔可用profile_idc(設定檔指示符)值來發送訊號通知,而一層級可以用level_idc(層級指示符)值來發送訊號通知。
舉例來說,H.264標準認知到,在一給定設定檔的語法所施加的範圍內,仍然可能依據位元流中的語法元素所採用的值來對編碼器和解碼器的性能進行較大的更改,語法元素例如是指定的解碼圖片大小。H.264標準進一步認知到,在許多應用中,採用能夠處理特定設定檔中語法的所有假設用途的解碼器既不實際也不經濟。因此,H.264標準將“層級”定義為施加在位元流中語法元素的值上的一組限制。這組限制可能是對值的簡單限制。可替代地,這些約束可以是對值的算術組合的約束形式(例如,圖像寬度乘以圖像高度乘以每秒解碼的圖像數量)。 H.264標准進一步規定,針對每一支持的設定檔,各個實施可支持不同的層級。
符合設定檔的解碼器通常支持設定檔中定義的所有功能。例如,作為一種編碼功能,H.264 / AVC的基準設定檔中不支持B圖片編碼,但B圖片編碼在H.264 / AVC的其他設定檔中被支持。符合一層級的解碼器應能夠對不需要任何超出該層級中定義的限制的資源的位元流進行解碼。設定檔和層級的定義可助於判讀。舉例來說,在視訊傳輸期間,可對整個傳輸通訊期協商並協定一對設定檔和層級的定義。更具體地說,在H.264 / AVC中,一層級可以定義對所需處理的巨集區塊數量的限制、解碼圖片緩衝器(decoded picture buffer, DPB)大小、編碼圖片緩衝器(coded picture buffer, CPB)大小、垂直運動向量範圍、每兩個連續巨集區塊的最大運動向量數量,以及是否B塊可具有小於8x8像素的子句集區塊分區。如此,解碼器可以確定是否能夠正確地對位元流解碼。
在圖1的實施例中,內容準備裝置20的封裝單元30從視訊編碼器28接收包括編碼視訊資料的基本位元流,並且從音訊編碼器26接收包括編碼音訊資料的基本位元流。在一些實施例中,視訊編碼器28和音訊編碼器26可各自包括用於使編碼資料形成PES封包的封包器。在其他實施例中,視訊編碼器28和音訊編碼器26可各自與相應的封包器形成界面,以自編碼資料形成PES封包。在其他實施例中,封裝單元30可以包括用以從編碼的音訊和視訊資料形成PES封包的封包器。
視訊編碼器28可以各種方式對多媒體內容的視訊資料進行編碼,以產生不同位元率以及不同特性(例如像素解析率、訊框速率、符合各種不同的編碼標準、符合不同編碼標準的各種設定檔及/或層級、具有一或多視角的表現,如二維或三維回放,或其他這樣的特徵)的多媒體內容的不同表現。本揭露中使用的表現可包括音訊資料、視訊資料、文字資料(例如用於隱藏式字幕)或其他這樣的資料。該表現可包括基本為元流,如音訊基本位元流或視訊基本位元流。每個PES封包可包括識別該PES封包所屬的基本位元流的串流ID。封裝單元30負責將基本位元流集合入各種表現的視訊檔案(例如片段)。
封裝單元30從音訊編碼器26和視訊編碼器28接收一表現的基本位元流的PES封包,並從PES封包形成對應的網路抽象層(Network Abstraction Layer, NAL)單元。編碼的視訊片段可被組織為NAL單元,這些NAL單元提供了“網路友好型”視訊表現,可處理如視訊電話、儲存、廣播或串流媒體等應用。NAL單元可分類為視訊編碼層(Video Coding Layer, VCL)NAL單元和非VCL NAL單元。VCL單元可包含核心壓縮引擎,並且可包括區塊、巨集區塊及/或圖塊級資料。其他NAL單元可以是非VCL NAL單元。在一些實施例中,在一次實例中的一編碼圖片(通常呈現為主要編碼圖片)可被包含在存取單元中,該存取單元可包括一或多個NAL單元。
非VCL NAL單元尤其可包括參數集NAL單元和SEI NAL單元。參數集可包含序列級標題資訊(在序列參數集(sequence parameter set, SPS)中)和不經常變化的圖片級標題資訊(在圖片參數集(picture parameter set, PPS)中)。有了參數集(如PPS和SPS),不經常資訊更改不需要對每個序列或圖片重複,因此可以提高編碼效率。此外,使用參數集可以實現重要標頭資訊的頻外傳輸,從而避免冗餘傳輸以實現錯誤恢復能力。頻外傳輸的實施例中,參數集NAL單元可在與其他NAL單元不同的通道上傳輸,如SEI NAL單元。
補充增強資訊(supplemental enhancement information, SEI)可能包含對於解碼被編碼的來自VCL NAL單元的圖片樣本來說不需要的資訊,但可能有助於與解碼、顯示、錯誤恢復和其他目的有關的程序。SEI訊息可包含在非VCL NAL單元中。SEI訊息是某些標準規範的基準部分,因此對於實現符合標準的解碼器而言,並非始終是強制性的。 SEI訊息可以是序列級SEI訊息或圖片級SEI訊息。某些序列級資訊可被包含在SEI訊息中,例如SVC實施例中的可調整資訊SEI訊息,以及MVC中的可調整資訊SEI訊息。這些SEI訊息實施例可以傳達例如操作點的提取及操作點的特性的資訊。另外,封裝單元30可以形成資訊清單檔案,例如描述表現的特徵的媒體呈現描述(MPD)。封裝單元30可根據可延伸標記語言(XML)來格式化MPD。
封裝單元30可將多媒體內容的一或多種表現的資料以及資訊清單檔案(例如MPD)提供給輸出介面32。輸出介面32可包括網路介面或用於寫入儲存媒體的介面,例如通用序列匯流排(USB)介面、CD或DVD寫錄機或燒錄機、磁性或快閃儲存介質的介面或其他用於儲存或傳輸媒體資料的介面。封裝單元30可將多媒體內容的每個表現的資料提供給輸出介面32,輸出介面32可以經由網路傳輸或儲存媒體將資料發送到伺服器裝置60。在圖1的實施例中,伺服器裝置60包括儲存各種多媒體內容64的儲存媒體62,每一多媒體內容包括各自的資訊清單檔案66以及一或多個表現68A-68N(表現68)。在一些實施例中,輸出介面32還可將資料直接傳送到網路74。
在一些實施例中,表現68可被分開成多個適應集合。亦即,表現68的各個子集可以包括各自的共同特徵集,例如編解碼器、設定檔和層級、解析率、視圖數量、片段的檔案格式、可識別將要與表現一同顯示的文字的語言或其他特徵的文字類型資訊、及/或將要被解碼及呈現的音訊資料(例如通過揚聲器)、相機角度資訊(可用以描述調適集合中表現的場景的相機角度或現實世界中的相機視角)、描述內容對特定觀眾的適合性的評分資訊等。
資訊清單檔案66可包括資料用以指示與特定的調適集合對應的表示68的子集以及調適集合的共同特徵。資訊清單檔案66還可包括代表調應集合的各個表現的特徵(例如位元率)的資料。如此,調適集合可提供簡化的網路頻寬適配。調適集合中的表現可通過資訊清單檔案66的調適集合元素的子元素來表示。
伺服器裝置60包括請求處理單元70和網路介面72。在一些實施例中,伺服器裝置60可包括多個網路介面。此外,伺服器裝置60的任何或全部特徵可在內容傳遞網路的其他裝置上實現,例如路由器、橋接器、代理裝置、交換機或其他裝置。在一些實施例中,內容傳遞網路的中間裝置可緩存多媒體內容64的資料,並且包含實質與伺服器裝置60的組件一致的組件。一般而言,網路介面72被配置以經由網路74發送和接收資料。
請求處理單元70被配置為從如客戶端裝置40之類的客戶端裝置接收對儲存媒體62的資料的網路請求。例如,請求處理單元70可實施超文本傳輸協定(HTTP)版本1.1,如IETF網路工作組R.Fielding等人於RFC 2616的“超文本傳輸協定– HTTP / 1.1”中所提出。亦即,請求處理單元70可以配置為接收HTTP GET或部分GET請求並提供回應於該請求的多媒體內容64的資料。該請求可指定表現68之一的片段,例如使用片段的URL。在一些實施例中,請求還可以指定段的一個或多個位元組範圍,從而包括部分GET請求。請求處理單元70可以進一步被配置為服務HTTP HEAD請求以提供表示68之一的片段的標頭資料。在任何情況下,請求處理單元70可被配置為處理該請求以將所請求的資料提供給請求裝置,例如客戶端裝置40。
附加地或替代地,請求處理單元70可以被配置為經由諸如eMBMS的廣播或多播協定來傳遞媒體資料。內容準備裝置20可以與所描述的實質上相同的方式來創造DASH片段及/或子片段,但是伺服器裝置60可使用eMBMS或另一廣播或多播網路傳輸協定來傳遞這些片段或子片段。例如,請求處理單元70可被配置為從客戶端裝置40接收一多播組加入請求。亦即,伺服器裝置60可向與特定媒體內容相關聯(例如,直播事件的廣播)的客戶端裝置(包括客戶端裝置40)通告與該多播組相關聯的網際網路協定(IP)地址。客戶端裝置40可以提交加入該多播組的請求。該請求可以在整個網路74中傳播,例如組成網路74的路由器,從而使路由器將發往與多播組關聯的IP地址的流量定向到訂閱客戶端裝置(例如客戶端裝置40)。
如圖1的實施例中所示,多媒體內容64包括資訊清單檔案66,資訊清單檔案66可以對應於一媒體呈現描述(MPD)。資訊清單檔案66可包含對不同替代表現68(例如不同品質的視訊服務)的描述,且該描述可以包括例如表現68的編解碼器資訊、設定檔值、層級值、位元率和其他描述性特徵。客戶端裝置40可以擷取媒體呈現的MPD以決定如何存取表示68的片段。
尤其是,擷取單元52可以擷取客戶端裝置40的配置資料(未示出)以決定視訊解碼器48的解碼能力和視訊輸出44的渲染能力。配置資料還可包括語言偏好中的任何一個或全部、由客戶端裝置40的使用者選擇的一或多個對應於由客戶端裝置40的使用者設置的深度偏好的相機視角,及/或由客戶端裝置40的使用者選擇的評分偏好。擷取單元52可包括如配置為提交HTTP GET和部分GET請求的網頁瀏覽器或媒體客戶端。擷取單元52可以對應於由客戶端裝置40的一或多個處理器或處理單元(未示出)執行的軟體指令。在一些實施例中,對於擷取單元52描述的功能的全部或部分可以硬體實現,或者硬件、軟件及/或韌體的組合,其中可提供必需的硬體來執行軟體或韌體的指令。
擷取單元52可將客戶端裝置40的解碼和渲染能力與資訊清單檔案66的資訊指示的表現68特徵進行比較。擷取單元52可先擷取資訊清單檔案66的至少一部分以決定表現68的特徵。舉例來說,擷取單元52可請求資訊清單檔案66的描述一或多個調適集合的特徵的部分。擷取單元52可選擇具有可被客戶端裝置40的編碼和渲染能力滿足的特徵的表現68的子集(例如,一調適集合)。擷取單元52接著可決定用於調適集合中的表現的位元率、決定網路頻寬的當前可用量,並從表現之一中擷取位元率可被網路頻寬滿足的片段。
一般來說,較高位元率表示可產生較高品質的視訊播放,而較低位元率表示可在可用網路頻寬減小時提供足夠品質的視訊播放。因此,當可用網路頻寬相對較高時,擷取單元52可以從相對較高的位元率表現中擷取資料,而當可用網路頻寬較低時,擷取單元52可以從相對較低的位元率表現中擷取資料。如此,客戶端裝置40可以在網路74上串流多媒體資料,同時還適應於網路74的改變網路頻寬可用性。
附加地或替代地,擷取單元52可被配置為根據如eMBMS或IP多播的廣播或多播網路協定來接收資料。在這樣的實施例中,擷取單元52可以提交加入與特定媒體內容相關聯的一多播網路組的請求。在加入該多播組之後,擷取單元52可以接收多播組的資料而無需向伺服器裝置60或內容準備裝置20發出進一步的請求。當不再需要多播組的資料時,例如要停止播放或要更改頻道至其他多播組時,擷取單元52可以提交離開多播組的請求。
網路介面54可以接收並提供所選表現的片段的資料給擷取單元52,擷取單元52可接著將這些片段提供給解封裝單元50。解封裝單元50可以將視訊檔案的元素解封裝為其組成中的PES流、對PES流進行解封包以擷取編碼資料,並將編碼資料發送到音訊解碼器46或視訊解碼器48,具體取決於編碼資料是音訊流還是視訊流的一部分,例如如該流的PES封包標頭所指示的。音訊解碼器46對編碼的音訊資料進行解碼並將解碼的音訊資料發送到音訊輸出42,而視訊解碼器48對編碼的視訊資料進行解碼並將解碼的視訊資料(可能包括該流的多個視圖)發送到視訊輸出44。
視訊編碼器28、視訊解碼器48、音訊編碼器26、音訊解碼器46、封裝單元30、擷取單元52以及解封裝單元50均可以實現為適用的處理電路中的任何一個,例如一或多個微處理器、數位訊號處理器(DSP)、專用積體電路(ASIC)、場域可編程邏輯閘陣列(FPGA)、離散邏輯電路、軟體、硬件、韌體或其任意組合。視訊編碼器28和視訊解碼器48中的每一個可被包括在一或多個編碼器或解碼器中,這兩者中的任一個可以被整合為一組合的視訊編碼器/解碼器(CODEC)的一部分。同樣地,音訊編碼器26和音訊解碼器46中的每一個可以被包括在一或多個編碼器或解碼器中,這兩者中的任一個可被整合為組合的CODEC的一部分。包括視訊編碼器28、視訊解碼器48、音訊編碼器26、音訊解碼器46、封裝單元30、擷取單元52及/或解封裝單元50的裝置可包括積體電路、微處理器及/或無線通訊裝置,例如行動電話。
客戶端裝置40、伺服器裝置60及/或內容準備裝置20可被配置為根據本揭露的技術運作。為了舉例說明的目的,本揭露描述了關於客戶端裝置40和伺服器裝置60的技術。然而,應當理解,內容準備裝置20可被配置為執行這些技術,而不是由(或者除了)伺服器裝置60執行。
封裝單元30可以形成NAL單元,該NAL單元包括標識該NAL單元所屬的程序的標頭以及有效載荷,例如音訊資料、視訊資料或描述NAL單位對應的傳輸或節目流的資料。舉例來說,在H.264 / AVC,NAL單元包括1位元組的標頭和大小可變的有效載荷。具有在其有效載荷下的視訊資料的NAL單元可包括各種粒度等級的視訊資料。例如,NAL單元可包括視訊資料的一區塊、視訊資料的多個區塊、視訊資料的一圖塊或視訊資料的整個圖像。封裝單元30可以基本位元流的PES封包形式自視訊編碼器28接收編碼的視訊資料。封裝單元30可將每個基本位元流與對應的程序相關聯。
封裝單元30還可從多個NAL單元組合存取單元。一般來說,一存取單元可包括一個或多個NAL單元,用於表現一訊框的視訊資料,以及當該音訊資料可用時與該訊框相對應的音訊資料。存取單元通常包括用於一輸出時間實例的所有NAL單元,例如,用於一個時間實例的所有音訊和視訊資料。舉例來說,如果每個視圖的訊框速率均為每秒20訊框(fps),則每個時間實例可以對應於0.05秒的時間間隔。在此時間間隔內,可以同時渲染同一存取單元(同一時間實例)的所有視圖的特定訊框。在一個實施例中,存取單元可以在一個時間實例中包括編碼圖片,其可以被呈現為主要編碼圖片。
因此,存取單元可以包括共同時間實例的所有音訊和視訊訊框,例如,對應於時間X的所有視圖。在本揭露中,特定視圖的編碼圖片稱為“視圖分量”。亦即,視圖組件可包括在特定時間用於特定視圖的編碼圖片(或訊框)。因此,可以將存取單元定義為包括共同時間實例的所有視圖分量。存取單元的解碼順序不必與輸出或顯示順序相同。
媒體呈現可包括媒體呈現描述(MPD),其可以包含不同替代表現的描述(例如,不同品質的視訊服務),並且該描述可以包括例如編解碼器資訊、設定檔值和層級值。MPD是資訊清單檔案(例如資訊清單檔案66)的一個實施例。客戶端裝置40可以擷取媒體呈現的MPD,以決定如何存取各種呈現的影片片段。影片片段可以位於視訊檔案的影片片段盒(moof boxes)中。
資訊清單檔案66(其可包括例如MPD)可通告表現68的片段的可用性。換句話說,MPD可包括指示表現68中的一個之第一片段的經過時間的資訊,以及指示表示68中的片段的持續時間的資訊。如此,客戶端裝置40的擷取單元52可以基於開始時間以及片段之前的片段持續時間來決定每個片段何時可用。
在封裝單元30已基於接收到的資料將NAL單元及/或存取單元組合成視訊檔案之後,封裝單元30將視訊檔案傳遞到輸出介面32以進行輸出。在一些實施例中,封裝單元30可以將視訊檔案本地儲存或通過輸出介面32將視訊檔案發送到遠端伺服器,而非將視訊檔案直接發送到客戶端裝置40。輸出介面32可以包括例如發送器、收發器、用於將資料寫入電腦可讀媒體的裝置(例如光學驅動器)、磁性媒體驅動器(例如軟碟機)、通用序列匯流排(USB)端口、網路介面或其他輸出介面。輸出介面32將視訊檔案輸出到電腦可讀媒體,例如,傳輸訊號、磁性媒體、光學媒體、記憶體、快閃驅動器或其他電腦可讀媒體。
網路介面54可以通過網路74接收NAL單元或存取單元,並通過擷取單元52將NAL單元或存取單元提供給解封裝單元50。解封裝單元50可以將視訊檔案的元素解封裝為組成的PES流、對PES流進行解封包以擷取編碼資料,並將編碼資料發送到音訊解碼器46或視訊解碼器48,具體取決於編碼資料是音訊流還是視訊流的一部分,例如如該流的PES封包標頭所指示的。音訊解碼器46對編碼的音訊資料進行解碼並將解碼的音訊資料發送到音訊輸出42,而視訊解碼器48對編碼的視訊資料進行解碼並將解碼的視訊資料(可能包括該流的多個視圖)發送到視訊輸出44。
根據本揭露的技術,內容準備裝置20及/或伺服器裝置60可在DASH / CMAF片段中加入附加的隨機存取點。隨機存取包括乾淨隨機存取以及開放或逐步的解碼器刷新,直到只提供檔案格式解析的重新同步。上述可以通過提供組塊邊界來處理,該塊邊界提供了可在此點開始重新同步和解密的資訊,以及有關後續隨機存取點類型的訊號。 軌片段解碼時間(Tfdt)的可用性、moof標頭資訊以及可能的初始化片段的使用允許在呈現時間層級進行時間重新同步。本揭露將該新點稱為“重新同步點”。亦即,重新同步點表示可以正確解析檔案級容器(例如,ISO BMFF中的盒)的點,此後將出現媒體資料(例如訊框)中的隨機存取點。因此,客戶端裝置40可例如在這些隨機存取點之一處隨機存取多媒體內容64。
內容準備裝置20及/或伺服器裝置60還可在資訊清單檔案66(例如MPD)中添加適當的訊令,以指示隨機存取點的可用性和每個DASH片段中的重新同步,以及提供有關隨機存取存取點的位置、類型和時間的資訊。內容準備裝置20及/或伺服器裝置60可以在資訊清單檔案66(MPD)中提供訊令,以指示片段中有其他重新同步點可用,可能會在位置、時間、隨機存取的類型添加特徵,以及該資訊是準確的或估計的。因此,客戶端裝置40可以使用該訊令資料來決定這種隨機存取點是否可用,並相應地使擷取和播放重新同步。
在任意起始點的情況下,客戶端裝置40可以被配置為具有通過找到重新同步點而與解封裝、解密和解碼重新同步的能力。內容準備裝置20及/或伺服器裝置60可以提供適當的組塊,該組塊滿足在CMAF TUC中解決的上述要求。不同的類型可稍後定義。
客戶端裝置40可被配置為在受限的接收器環境中開始處理例如在基於HTML-5 / MSE的播放中可用的處理。可以通過接收器實現解決此問題。然而,向接收器管道提供重新同步觸發和資訊,使其具有能力在資料結構、時序與類型中取得重新同步點的映射是合適的,且它允許解碼管道的使用者在隨機存取點初始化播放。
此外,資訊清單檔案66中的向後兼容的訊令可被提供。未配置有解析訊令的能力的客戶端裝置可以忽略訊令並執行如上所述的方法。另外,資訊清單檔案66可包括將位置與@頻寬的值相關的訊令,以使能夠在調適集合層級上進行訊令。
圖2更詳細地顯示圖1的擷取單元52的組件集合實施例功能方塊圖。在本實施例中,擷取單元52包括eMBMS中介軟體單元100、DASH客戶端110以及媒體應用112。
在本實施例中,eMBMS中介軟體單元100還包括eMBMS接收單元106、高速緩衝記憶體104和代理伺服器單元102。在本實施例中,eMBMS接收單元106被配置通過eMBMS來接收資料,如根據單向傳輸上檔案傳遞(File Delivery over Unidirectional Transport, FLUTE),其由T. Paila等人在“FLUTE—File Delivery over Unidirectional Transport”, 網路工作組,RFC 6726,2012年11月中描述,可從tools.ietf.org/html/rfc6726獲得。亦即,eMBMS接收單元106可經由例如伺服器裝置60的廣播來接收檔案,該伺服器裝置可以充當廣播/多播服務中心(broadcast/multicast service center, BM-SC)。
當eMBMS中介軟體單元100接收檔案資料,eMBMS中介軟體單元可以將接收到的資料儲存在高速緩衝記憶體104中。高速緩衝記憶體104可包括電腦可讀儲存媒體,例如快閃記憶體、硬碟、RAM或任何其他合適的儲存媒體。
代理伺服器單元102可充當DASH客戶端110的伺服器。例如,代理伺服器單元102可向DASH客戶端110提供MPD檔案或其他資訊清單檔案。代理伺服器單元102可在MPD檔案中通告片段的可用性時間,或可從中擷取片段的超鏈結。這些超鏈結可包括與客戶端裝置40相對應的本地主機地址前綴(例如對於IPv4為127.0.0.1)。如此,DASH客戶端110可使用HTTP GET或部分GET向代理伺服器單元102請求片段。例如,對於從鏈結http://127.0.0.1/rep1/seg3可取得的片段,DASH客戶端110可以建構一HTTP GET請求,該HTTP GET請求包括對http://127.0.0.1/rep1/seg3的請求,並向代理伺服器單元102提交該請求。代理伺服器單元102可向高速緩衝記憶體104擷取所請求的資料,並將該資料提供給DASH客戶端110以回應於這樣的請求。
圖3顯示多媒體內容120實施例的元件的概念示意圖。多媒體內容120可對應於多媒體內容64(圖1)或儲存在儲存媒體62中的另一多媒體內容。如圖3的實施例所示,多媒體內容120包括媒體呈現描述(MPD)122和多個表現124A-124N(表現124)。表現124A包括可選的標頭資料126和片段128A-128N(片段128),而表現124N包括可選的標頭資料130和片段132A-132N(片段132)。為了方便起見,字母N用以指涉每個表現124中的最後一個影片片段。在一些實施例中,表現124之間可以存在不同數量的影片片段。
MPD 122可包括獨立於表現124的資料結構。MPD 122可對應於圖1的資訊清單檔案66。同樣地,表現124可以對應於圖1的表現68。通常來說,MPD 122可包括概括描述表現124的特徵的資料,如編碼和渲染特徵、調適集合、MPD 122對應的設定檔、文字類型資訊、攝影機角度資訊、評分資訊、特效模式資訊(例如,指示包括時間子序列的表現的資訊),及/或用於擷取遠端時段的資訊(例如,用於在播放期間將目標廣告插入媒體內容中的資訊)。
當標頭資料126存在時,標頭資料126可描述片段128的特性,例如:隨機存取點(RAP,也稱為串流存取點(SAP))的時間位置,片段128中的哪些包括隨機存取點、片段128內的隨機存取點的位元組偏移、片段128的統一資源定位符(URL)或片段128的其他面向。標頭資料130存在時,其可描述片段132的相似特徵。另外或可替代地,這些特徵可以完全是包含在MPD 122中。
片段128、132包括一或多個編碼視訊樣本,每個編碼視訊樣本可包括視訊資料的訊框或圖塊。片段128的每個編碼視訊樣本可以具有相似的特性,例如高度、寬度和頻寬要求。這些特性可以通過MPD 122的資料來描述,雖然在圖3的實施例中沒有顯示這樣的資料。MPD 122可以包括由3GPP規範描述的特性,另外還包括本揭露中描述的任何或所有訊令資訊。
片段128、132中的每一個可與一專屬的統一資源定位符(URL)相關聯。因此,片段128、132中的每一個可通過利用如DASH的串流網路協定來獨立地擷取。如此,如客戶端裝置40的目的地裝置可使用HTTP GET請求來擷取片段128或132。在一些實施例中,客戶端裝置40可使用HTTP部分GET請求來擷取片段128或132的特定位元組範圍。
根據本揭露的技術,MPD 122(可對應於圖1的資訊清單檔案66)可包括訊令以解決上述問題。例如,對於每個表現124(可能默認為調適集合層級),MPD 122可以包括一或多個重新同步元件(可以實現向後兼容)。每個重新同步元件可指示,對於相應的表現124中的片段128、132中的每一個,以下成立:
在每個片段中,存在串流存取點(SAP)類型@type或更小(但大於0)的重新同步點,其中,最大T增量(deltaT)由@dT表示,最大位元組偏移差由@dImax表示,最小位元組偏移差由@dImin表示。這兩個值都需要乘以分配給此表現的@bandwidth屬性的值,以獲取該值。“ deltaT”是指在重新同步點之後的任何資料的最早呈現時間的差異,以表現的@timescale為單位。如果@type設置為0,則僅保證在容器和解密級別上重新同步。
可以設置重新同步標記標誌@marker,以指示使用由使用的片段格式定義的重新同步模式在每個重新同步點處都包括重新同步點。
對於不同的SAP類型,可能存在多個重新同步元素。
重新同步點要求媒體處理可以結合CMAF標頭/初始化片段在ISO BMFF及解密資訊上進行。
重新同步點的實施例用法將配合圖8在下文說明。
對於片段128、132中,MPD 122中提供了重新同步元素,且基於ISO BMFF或CMAF的片段,以下條件可以成立:
該片段可以是一或多個組塊的序列,其定義如下。
此外,對於元素中指定的@type片段中的任意兩個連續的重新同步點,以下內容可能適用:
o 兩者最早呈現時間的差異最多為@dT的值。
o 從開始起的位元組偏移量差最多可以用@bandwidth值歸一化@dImax。
o 從開始起的位元組偏移量差至小可以使用@bandwidth值歸一化@dImin
如果設置了重新同步標記標誌,則每個重新同步點可能包括重新同步盒/樣式。
圖4是一描繪視訊檔案150實施例的元件的功能方塊圖,其可對應一表現的一片段,例如圖3的片段128、132的其中之一。片段128、132中的每一個可包括實質符合圖4的實施例中所示的資料佈置的資料。視訊檔案150可說是封裝了一片段。如上所述,根據ISO基礎媒體檔案格式及其延伸版本的視訊檔案將資料儲存在稱為“盒子”的一系列物件中。在圖4的實施例中,視訊檔案150包括檔案類型(FTYP)盒152,影片(MOOV)盒154、片段索引(sidx)盒162、影片片段(MOOF)盒164和影片片段隨機存取(MFRA)盒166。儘管圖4呈現了視訊檔案的實施例,但是應當理解,其他媒體檔案可包括與視訊檔案150的資料構造類似的其他類型的媒體資料(例如音訊資料,定時文字資料等),且符合ISO基本媒體檔案格式及其延伸版本。
檔案類型(FTYP)盒152通常描述視訊檔案150的檔案類型。檔案類型盒152可包括標識描述視訊檔案150的最佳用途的規範的資料。檔案類型盒152可替代地放在MOOV盒154、影片片段盒164及/或MFRA盒166之前。
在一些實施例中,如視訊檔案150的片段可在FTYP盒152之前包括MPD更新盒(未示出)。MPD更新盒可以包括指示與包括視訊檔案150的一表現相對應的MPD被更新的資訊,以及用於更新MPD的資訊。例如,MPD更新盒可針對用於更新MPD的資源提供URI或URL。作為另一實施例,MPD更新盒可包括用於更新MPD的資料。在一些實施例中,MPD更新盒可以立即跟隨視訊檔案150的片段類型(STYP)盒(未示出),其中,STYP盒可定義視訊檔案150的片段類型。
在圖4的實施例中,MOOV盒154被設置為包括影片標題(MVHD)盒156,軌道(TRAK)盒158和一或多個影片延伸(MVEX)盒160。一般來說,MVHD盒156可以描述視訊檔案150的一般特性。例如,MVHD盒156可以包括資料用以描述視訊檔案150原始被產生的時間、視訊檔案150最後被修改的時間、視訊檔案150的時間標度、視訊檔案150的播放持續時間,或概括描述視訊檔案150的其他資料。
TRAK盒158可包括視訊檔案150的播放軌的資料。TRAK盒158可包括描述與TRAK盒158對應的播放軌的特徵的播放軌標題(TKHD)盒。在一些實施例中,TRAK盒158可包括編碼視訊圖片,而在其他實施例中,播放軌的編碼視訊圖片可包含在影片片段164中,影片片段164可以被TRAK盒158及/或sidx盒162的資料引用。
在一些實施例中,視訊檔案150可以包括一個以上的播放軌。因此,MOOV盒154可包括與視訊檔案150中的播放軌數量相等的TRAK盒的數量。TRAK盒158可描述視訊檔案150的一對應的播放軌的特性。例如,TRAK盒158可描述對應播放軌時間及/或空間資訊。當封裝單元30(圖3)在如視訊檔案150之類的視訊檔案中包括參數集合播放軌時,類似於MOOV盒154的TRAK盒158的一TRAK盒可以描述參數集合播放軌的特性。在TRAK盒內的參數集合播放軌中用訊號通知序列級SEI訊息的存在,描述該參數集軌道。
MVEX盒160可以描述對應的影片片段164的特性,例如,以訊號表示視訊檔案150除了包括在MOOV盒154內的視訊資料之外,還包括影片片段164。在串流視訊資料的脈絡中,編碼的視訊圖片可以包括在影片片段164中,而不是包含在MOOV盒154中。因此,所有編碼的視訊樣本都可以包含在影片片段164中,而不是包含在MOOV盒154中。
MOOV盒154可以包括等於視訊檔案150中的影片片段164數量的MVEX盒160數量。每個MVEX盒160可描述對應的一個影片片段164的特性。例如,每個MVEX盒可包括一影片延伸標題盒(movie extends header box, MEHD),該盒描述了對應的該影片片段164的時間長度。
如上所述,封裝單元30可以將序列資料集合儲存在不包括實際編碼視訊資料的視訊樣本中。視訊樣本通常可以對應於一存取單元,該存取單元是在特定時間實例的編碼圖片的表現。在AVC的脈絡中,編碼圖片包括一或多個VCL NAL單元,其包含用於構成存取單元和其他相關的非VCL NAL單元的所有像素的資訊,例如SEI訊息。因此,封裝單元30可在影片片段164之一中包括序列資料集合,該序列資料集合可包括序列級SEI訊息。封裝單元30還可發送訊令通知,在對應於影片片段164之一的MVEX盒160中的該影片片段164之中,存在序列資料集合及/或序列級SEI訊息。
SIDX盒162是視訊檔案150的選擇性元素。也就是說,符合3GPP檔案格式或其他此類檔案格式的視訊檔案不一定包括SIDX盒162。根據3GPP檔案格式的示例,SIDX盒可用於識別片段(例如視訊檔案150中包含的片段)的子片段。 3GPP檔案格式將子片段定義為“一個包含一個或多個連續影片片段盒的獨立集合,其中包含對應的媒體資料盒,並且包含影片片段盒引用的資料的媒體資料盒必須緊隨該影片盒片段之後,且在下一個包含關於同一播放軌資訊的影片片段盒之前。” 3GPP檔案格式還指示SIDX盒“包含對盒所記錄的(子)片段的子片段的引用序列。引用的子片段在呈現時間上是連續的。同樣地,片段索引盒所引用的位元組在片段內始終是連續的。所引用的大小給出所引用材料中位元組數的計數。”
SIDX盒162通常提供表示視訊檔案150的片段的一或多個子片段的資訊。舉例來說,此類資訊可包括子片段開始及/或結束的播放時間、子片段的位元組偏移、子片段是否包括(例如以之開始)串流存取點(SAP)、SAP的類型(例如,SAP是否為瞬時解碼器刷新(IDR)圖片、乾淨的隨機存取( CRA)圖片、斷開鏈結存取(BLA)圖片等)、SAP在子片段中的位置(基於播放時間及/或位元組偏移來表示)等。
影片片段164可以包括一個或多個編碼的視訊圖片。在一些實施例中,影片片段164可以包括一或多個圖片組(GOP),每一圖片組可包括多個編碼的視訊圖片,例如,訊框或圖片。此外,如上所述,在一些實施例中,影片片段164可以包括序列資料集盒。影片片段164中的每一個可包括影片片段標題盒(MFHD,在圖4中未示出)。 MFHD盒可描述相應影片片段的特徵,例如影片片段的序列號。影片片段164可按序列號的順序包含在視訊檔案150中。
MFRA盒166可描述視訊檔案150的影片片段164內的隨機存取點。這可輔助執行特效模式,例如對由視訊檔案150封裝的片段內的特定時間位置(即播放時間)執行搜索。在一些實施例中,MFRA盒166通常是選擇性的,並且不需要包括在視訊檔案中。同樣地,客戶端裝置(例如客戶端裝置40)不一定需要引用MFRA盒166才能正確解碼和顯示視訊檔案150的視訊資料。MFRA盒166包括的多個播放軌片段隨機存取(TFRA)盒(未示出)數目等於視訊檔案150的播放軌數目,或者在一些實施例中,等於視訊檔案150的媒體播放軌(例如,非提示軌道)數目。
在一些實施例中,影片片段164可包括一或多個串流存取點(SAP),例如IDR圖片。同樣地,MFRA盒166可提供SAP的視訊檔案150內的位置的指示。如此,視訊檔案150的時間子序列可由視訊檔案150的SAP形成。時間子序列還可包括其他圖片,例如依賴於SAP的P畫格及/或B畫格。時間子序列的訊框及/或圖塊可被佈置在片段內,使得依賴於子序列的其他訊框/圖塊的時間子序列的訊框/圖塊可被適當地解碼。例如,在資料的分層佈置中,用於其他資料預測的資料也可包括在時間子序列中。
在一實施例中,本揭露根據下表定義“組塊”。下表提供組塊的基數和序數的定義實施例:
NL 0 | 基數 | 規範 | 約束 | 描述 |
styp | 0/1 | ISO/IEC 14496-12 | DASH/CMAF 約束 | 片段類型 訊號通知相容性至CMAF組塊 |
prft | 0/1 | ISO/IEC 14496-12 | DASH/CMAF約束 | 製造者參考時間 |
emsg | * | ISO/IEC 23009-1 | DASH/CMAF約束 | 事件訊息 |
moof | 1 | ISO/IEC 14496-12 | DASH/CMAF約束 | 影片片段盒及其所包含的盒 |
mdat | 1 | ISO/IEC 14496-12 | DASH/CMAF約束 | 用於媒體樣本的媒體資料容器 |
在一個實施例中,本揭露將重新同步點定義為組塊的開始。此外,可為重新同步點分配以下性質:
•它與片段的開頭有一個位元組偏移,指向組塊的第一位元組。
•它具有最早呈現時間,該時間是根據影片片段盒(moof)中的資訊以及分配給它的影片標題而得出。
•根據ISO / IEC 14496-12的定義,為其分配了SAP類型。
•存在一指示,表示該組塊是否包含一個重新同步盒(上述styp)。
•從重新同步點開始,連同影片標題中的資訊,可完成檔案格式的解析和解密。
在一些實施例中,可定義重新同步標記盒,該重新同步標記盒通過掃描位元組流中的標記來使同步到片段(如視訊檔案150)的開始。 此重新同步盒可具有以下性質:
•它定義了一種獨特模式,用於以極高的似然率進行重新同步。
•它定義了SAP類型。
重新同步標記盒可以是新盒,也可以重新使用現有的盒,例如styp盒。在本揭露中,假設具有特定限制的styp可以用作重新同步標記盒。關於這種方法的穩健性的研究正在進行中。
圖5-7用於描述幾種使用例,在這些使用例中,在DASH片段除了片段起點以外的點進行隨機存取可能很有用。
圖5是說明根據本發明的可在第一使用例情況下使用的低延遲架構200實施例概念圖。亦即,圖5顯示了根據DASH-IF IOP的用於操作低延遲DASH服務的資訊的基本流程。低延遲架構200包括DASH封裝器202、編碼器216、內容傳遞網路(content delivery network, CDN)220、常規DASH客戶端230和低延遲時間DASH客戶端232。編碼器216通常可以對應於圖1的音訊編碼器26和視訊編碼器28中的一或兩者,而DASH封裝器202可對應於圖1的封裝單元30。
在此實施例中,編碼器216對接收到的媒體資料進行編碼以形成CMAF標頭(CH),例如CH 208、CMAF初始組塊206A、206B(CIC 206)和CMAF非初始塊204A-204D(CNC 204)。編碼器216將CH 208、CIC 206和CNC 204提供給DASH封裝器202。DASH封裝器202還接收服務描述,其包括有關服務的一般性描述和編碼器216的編碼器配置的資訊。
DASH封裝器202使用服務描述CH 208、CIC 206和CNC 204來形成媒體呈現描述(MPD)210和初始化片段(IS)212。DASH封裝器202還產生地圖CH 208、CIC 206和CNC 204到片段214A、214B(片段214),並以遞增的方式將片段214提供給CDN 220。DASH封裝器202可在生成片段時以組塊的形式傳送片段214。CDN 220包括用於儲存MPD 210、IS 212和片段214的片段儲存器222。CDN 220將完整的片段傳遞給常規DASH客戶端230,但將各個組塊(例如CH 208、CIC 206和CNC 204)傳遞給低延遲DASH客戶端232,例如以回應於來自常規DASH客戶端230和低延遲DASH客戶端232的HTTP Get或部分Get請求。
圖6進一步詳細顯示關於圖5的使用例的實施例的概念圖。圖6顯示了片段250A-250E(片段250),其包括各自的組塊252A-252E(組塊252)。如圖1的客戶端裝置40之類的客戶端裝置可擷取完整片段250或個別組塊252。例如,請參照圖5,常規DASH客戶端230可以擷取片段250,而低延遲時間DASH客戶端232可以擷取個別的組塊252(至少初始地)。
圖6進一步描繪如何通過擷取個別組塊252而不是完整片段250來減少等待時間。舉例來說,在當前時間擷取完整片段可能導致更高的等待時間。僅僅是擷取最新的、完全可用的片段可減少等待時間,但仍會導致相對較高的等待時間。
通過取回組塊,可大大減少這些延遲。例如,在如圖6中的“現在”所指示的當前時間,片段250E未完全形成。然而,在完全形成片段250E之前,客戶端裝置仍可取回已形成的組塊,例如片段250E的組塊252E-1和252E-2,假設已形成片段252E-1和252E-2並且可用於擷取。
當加入實況串流時,通常應同時實現低延時時間和快速啟動。然而,這是不簡單的,下面基於圖6討論一些策略:
•在第一種情況下,在實時邊緣,將時間歷史中落後3個片段的片段(即片段250B,250C和250D)加載到緩衝區中。一旦有一個片段可用,就開始播放。這會導致很大的延遲,但由於加載了片段開頭的隨機存取,因此播放可能會相對較快地開始。
•在第二種情況下,選擇了最新的可用片段,即片段250D,而不是三段的舊片段。在這種情況下,播放延遲至少為片段的持續時間,但可能會更高。啟動可能與上面的情況類似。
•在其他三種情況下,包含多個組塊的片段(例如,片段250E)在被產生的同時被回放。這降低了延遲,但是存在一個問題,即開始播放可能會受到影響,特別是如果最新發布的片段的片段可用性開始時間與經過時間之差大於目標等待時間。在這種情況下,客戶端裝置可能必須等到下一秒發布。在6秒片段的情況下,這可能會導致4-5秒的啟動延遲。
•存在其他技術和使用例。例如,客戶端可以在開始時存取舊片段,下載所有內容,並加快播放速度並進行快速正向解碼。然而,這種方法的缺點是在可能發生加速解碼之前,需要下載大量資料。此外,它在解碼器介面未得到廣泛支持。
合適的解決方案可以是:
•調適集合的至少一種表現在片段/片段中包含更頻繁的隨機存取點和非初始塊。
•DASH客戶端可以使用來自MPD的資訊來確定存在這種隨機存取方法,但是隨機存取點的位置/位元組偏移可能無法準確發出。
•DASH客戶端可以在啟動時存取此表現,但是只能從最近可用的非初始塊的位元組範圍開始或至少接近處下載。
•一旦下載,DASH客戶端可以確定隨機存取點並開始處理資料以及下載具有相同表現的初始化段/ CMAF標頭。 下文將討論隨機存取點的定位。
但是,後一種方法可能會遇到各種問題,如下所述。
因此,如圖6的實施例中所示,且如以下所討論的,如本揭露中所討論的使用塊可以大大減少等待時間。提前發訊號通知組塊的開始可以允許資訊清單檔案提前產生,該資訊清單檔案不需要頻繁更新,但是仍可以指示組塊內串流存取點(SAP)的一般位置。以此方式,客戶端裝置可以使用清單檔案來確定組塊邊界的位置,而不需要連續更新資訊清單檔案,同時仍允許客戶端裝置在組塊邊界的開始處啟動媒體流,例如,重新同步點。換句話說,即使在資訊清單檔案已經完全形成前,客戶端裝置也可以從資訊清單檔案中確定包括重新同步點的片段的位元組範圍,因為資訊清單檔案可能會發訊號表示該位元組範圍或表示片段中重新同步點的一般位置的其他資料。
圖7是說明在廣播協定的脈絡中使用DASH和CMAF隨機存取的第二使用例的概念圖。圖7顯示了包括媒體編碼器280、CMAF /檔案格式(FF)封裝器282、DASH封裝器284、ROUTE發送器286、CDN原點伺服器288,ROUTE接收器290、DASH客戶端292、CMAF / FF解析器294及媒體解碼器296的實施例。媒體編碼器280對諸如音訊或視訊資料之類的媒體資料進行編碼。媒體編碼器280可以對應於圖1的音訊編碼器26或視訊編碼器28,或圖5的編碼器216。媒體編碼器280向CMAF / FF封裝器282提供編碼的媒體資料,CMAF / FF封裝器282根據CMAF和如ISO BMFF或其延伸的特定檔案格式將編碼的媒體資料格式化為檔案。
CMAF / FF封裝器282將這些檔案(例如,組塊)提供給DASH封裝器284,DASH封裝器284將檔案/組塊聚合為DASH片段。 DASH封裝器284還可以形成資訊清單檔案,例如MPD,包括描述檔案/組塊/片段的資料。另外,根據本發明的技術,DASH封裝器284可以確定未來串流存取點(SAP)或隨機存取點(RAP)的近似位置,並在MPD中用訊號發送該近似位置。CMAF / FF封裝器282和DASH封裝器284可以對應於圖1的封裝單元30或圖5的DASH封裝器202。
DASH封裝器284將片段與MPD一起提供給ROUTE發送器286和CDN原點伺服器288。 ROUTE發送器286和CDN原點伺服器288可以對應於圖1的伺服器裝置60或圖5的CDN 220。通常,在本實施例中,ROUTE發送器286可以根據ROUTE將媒體資料發送到ROUTE接收器290。在其他實施例中,其他基於檔案的傳遞協定可以用於廣播或多播,例如FLUTE。附加地或替代地,CDN原點伺服器288可以例如根據HTTP將媒體資料發送到ROUTE接收器290及/或直接發送到DASH客戶端292。
ROUTE接收器290可以在諸如圖2的eMBMS中介軟體單元100的中介軟體中實現。 ROUTE接收器290可以例如在圖2所示的高速緩衝記憶體104中緩衝接收到的媒體資料。DASH客戶端292(其可以對應於圖2的DASH客戶端110)可以使用HTTP從ROUTE接收器290擷取緩存的媒體資料。可替代地,如上所述,DASH客戶端292可以根據HTTP直接從CDN原點伺服器288擷取媒體資料。
此外,根據本揭露的技術,DASH客戶端292可以例如在資訊清單檔案中用訊號通知的重新同步點之後使用資訊清單檔案(諸如MPD)來確定SAP或RAP的位置。 DASH客戶端292可以從下一個最快的重新同步點開始發起媒體呈現的擷取。重同步點通常可以指示位元流的位置,在該位置可以正確解析檔案容器級別的資料。因此,DASH客戶端292可以在重新同步點開始發起流傳輸,並且將從重新同步點開始的接收到的媒體資料傳遞到CMAF / FF解析器294。
CMAF / FF解析器294可以從重新同步點開始解析媒體資料。 CMAF / FF解析器294可以對應於圖1的解封裝單元50。此外,CMAF / FF解析器294可以從解析的資料中提取可解碼的媒體資料,並將可解碼的媒體資料傳遞給媒體解碼器296,媒體解碼器296可以對應於圖1的音訊解碼器46或視訊解碼器48。媒體解碼器296可以解碼媒體資料,並將解碼的媒體資料傳送到相應的輸出裝置,例如圖1的音訊輸出42或視訊輸出44。
在廣播的情況下,圖7顯示了DASH / CMAF和ROUTE的組合實施例。將低延遲DASH模式與ROUTE結合使用(例如,考慮用於ABR多播的DVB TM-IPI工作組以及ATSC設定檔),可能會出現以下問題。如果ROUTE接收器290在DASH / CMAF低延遲段的中間加入,則它不能開始處理資料,因為沒有同步可用,也不存在用於其他目的的任何隨機存取。因此,即使在片段的中間提供了更頻繁的隨機存取,啟動也會被延遲。
合適的解決方案可以是:
•廣播/多播表現在片段包含更頻繁的隨機存取點和非初始塊。
•DASH客戶端292使用MPD的資訊及/或可能來自ROUTE接收器290的資訊來確定存在這種隨機存取方法。DASH客戶端292可以使用這樣的資訊精確地定位隨機存取點,但是可能不存在。
•DASH客戶端292可能在啟動時存取此表現,但可能從一開始就無法存取所有資訊。
•一旦開始存取片段的接收部分,DASH客戶端292可以找到隨機存取點並開始處理資料以及下載的相同表現的初始化片段/ CMAF標頭。下面討論隨機存取點的定位。
然而,後一種方法可能會遇到各種問題,如下所述。
在與以上在第二種使用情況中討論的類似情況下,不僅在隨機存取重新同步時,封包的丟失也可能是有問題的。在該第三使用例的實施例中,可以應用如上所述的類似過程。除此之外,甚至可能不僅嘗試進行乾淨的隨機存取,而且在可能進行充分的盒解析之後,還可能嘗試非隨機存取組塊(例如無IDR訊框)的事件,解碼和呈現。因此,不僅重新同步以清除隨機存取問題,而且還重新同步以隨機存取檔案格式解析。
如果通常以低延遲分發實況媒體內容,但是隨後將相同的媒體內容用於時移以用於延遲的播放,則可能會出現另一個第四使用情況。客戶端可能希望在特定時間存取媒體呈現,但是此時間可能(通常不會)與“段/ CMAF片段”開始時間一致。
合適的解決方案可以是:
•調適集合的至少一種表現可能在片段中包含更頻繁的隨機存取點和非初始塊。
•DASH客戶端292可以使用來自MPD的資訊來確定存在這樣的隨機存取方法,但是隨機存取點的位置/位元組偏移可能無法確切知道。
•DASH客戶端292可以在尋找時存取該表現,但是僅允許從最新可用的非初始塊的位元組範圍開始或者至少接近處的下載。
•一旦下載,DASH客戶端292就可以找到隨機存取點並開始處理資料以及亦被下載的具有相同表現的初始化段/ CMAF標頭。下面討論隨機存取點的定位。
然而,後一種方法可能會遇到各種問題,如下所述。
在ISO BMFF / DASH / CMAF片段的情況下,重新同步通常涉及多個過程,總結如下:
1)找到盒的結構。
2)查找具有所有相關資訊的CMAF組塊/片段。
3)通過mdat和tfdt查找時序。
4)獲取所有解密相關資訊(如果適用)。
5)可能處理事件訊息。
6)在基本串流層成開始解碼。
以下總結了在特定時間在盒形結構中找到重新同步點的實施例方法:
•如果有一個片段索引(SIDX盒),則將提供重新同步點,例如呈現時間和位元組偏移量。但是,片段索引通常不適用於低延遲實時播放,因為片段沒有預先完全形成。
•如果片段的開頭可用,則客戶端可以下載最小的位元組範圍集合,以便可以處理盒結構。
•重新同步由基礎協定提供,例如,提供訊號通知組塊的邊界,並且客戶端可以開始解析。
•如果無法通過訊號資料輕易確定片段的開始,則客戶端可能會找到一個同步模式,該模式允許客戶端隨機存取資料。然後,客戶端可以開始解析並找到允許處理的適當的盒結構,例如emsg,prft,mdat,moof及/或mdat。
本揭露描述了可以應用於以上第四實施例的技術。前三個呈現在相應資訊可用的情況下的實施例簡化。
本揭露基於上面的討論認識到以下問題,並且這些問題需要解決方案:
1)在DASH / CMAF段中添加其他隨機存取點。隨機存取可能包括乾淨的隨機存取以及開放或逐步的解碼器刷新,一直到只提供檔案格式解析的重新同步。
2)在MPD(或其他資訊清單檔案)中添加適當的訊號,指示隨機存取點的可用性和每個DASH段中的重新同步,以及提供有關隨機存取點的位置、類型和時間的資訊。該資訊可以是準確的,也可以在一定範圍內。
3)在任意起點的情況下,通過找到重新同步點,可以與解封裝、解密和解碼重新同步。
4)在受限的接收器環境中開始處理的能力,例如在基於HTML-5 / MSE的播放中可用。
圖8是說明資訊清單檔案中的串流存取點(SAP)的實施例訊令的概念圖。特別是,圖8顯示包括SAP 302A-302D(SAP 302)和片段304A-304D(片段304)的位元流300,以及包括SAP 312A-312D(SAP 312),SAP 316A-316D(SAP 316)和片段314A的位元流310–314D(片段314)。亦即,在該實施例中,位元流310的片段314比位元流300的片段304包括更頻繁的SAP 312、316。SAP 302、312中的每一個也可以對應於段304、314中的相應的一個的開始,且可對應這些片段的一第一組塊。SAP 316可對應於對應片段316內的一組塊的開始,但不對應於對應片段316的開始。
為了提供一種簡單的技術來實現恆定位元率表現,其中組塊具有等距的1000個採樣(採樣時長為@ timescale = 1000)和SAP類型1(例如,可以是音訊表現),可以使用Resync元素加上:
•@type = 1
•@dT = 1000
•@dImin = 100
•@dImax = 100
客戶端(例如圖1的客戶端裝置40)對於@ duration = 10000的段,接收到這樣的資訊可能無法識別出可在精確的位元組範圍內每秒存取一次隨機存取點。如果位元率是可變的,則接收器(例如,客戶端裝置40)可以使用@dIMin和@dIMax來標識尋找隨機存取點的範圍。作為@dT發訊號通知最大值的替代方法,它也可以發訊號通知標稱塊持續時間。
資訊清單檔案的重新同步元素還可以包括URL @index,該URL @index使用與常規片段相同的模板功能,且指向每個片段中的重新同步點的二進制重新同步索引。如果存在,則此重新同步可以以與片段索引類似的方式提供片段中所有重新同步點的準確位置。如果存在此索引,則此重新同步索引可能適用於資訊清單檔案/ MPD的發佈時間可用的期間的所有片段。
在一種方法中,重新同步索引可以與片段索引相同,但是可以改變。
圖1的客戶端裝置40包括可使用ISO BMFF 4字符盒類型作為基礎以重新同步到媒體檔案(例如圖4的視訊檔案150,其可以是片段)。在一個實施例中,選定的盒類型是“styp”盒,但也可以是“ moof”盒本身。 盒字串型態的隨機仿真非常少見。筆型仿真的測試報告如下所述。這樣的仿真接著通過對照已知的預期盒類型來避免。客戶端裝置40可以執行如下概述的重新同步機制:
1)查找某個片段中“styp”位元組字符串的出現,例如在位元組偏移量B1處。
2)如下進行隨機仿真驗證:將下一個盒類型與所需盒類型列表進行比較:“ styp”,“ sidx”,“ ssix”,“ prft”,“ moof”,“ mdat”,“ free” ','mfra','skip','meta','meco'。
a.如果找到一種已知的盒類型,則位元組偏移B1-4位元組是重新同步點的位元組偏移。
b.如果這不是前面提到的已知盒類型之一,則這種樣式盒的出現被認為是無效的同步點,因此將被忽略。從上面的步驟1重新啟動。
本揭露的技術在30,282個來自被掃描的DASH-IF測試資產的片段上被測試。掃描發現檔案中有28,408個“ styp”字符串出現,並且一旦確定以下盒不是預期的盒類型之一,就會丟棄這28,408個中的10個(約2840個中的1個)模擬。 :“ styp”,“ sidx”,“ ssix”,“ prft”,“ moof”,“ mdat”,“ free”,“ mfra”,“ skip”,“ meta”,“ meco”。
基於這些結果,認為使用styp重新同步點檢測以及組塊結構進行偵測是足夠的。僅限制可能遵循樣式的盒的子集,例如prft,emsg,free,skip和moof,將是合適的。
剩下的問題是SAP類型和最早呈現時間的決定。通過使用tfdt和影片片段標頭中的其他資訊,可以輕鬆實現後者。記錄算法是合適的。
如下所述,有幾種用於確定SAP類型的選項:
•根據影像中的資訊進行偵測。可以記錄和執行一種簡單的技術。
•對SAP類型使用兼容性戳記。通過使用CMAF,可以得出以下結論:
o cmff:表示SAP為1或2
o cmfl:表示SAP為0(解密正確嗎?)
o cmfr:表示SAP為1、2或3
•如果持續使用,則此訊令可能就足夠了。可以定義其他SAP類型的兼容性戳記。
•可以使用其他技術來指示SAP類型。
現有選項可用於確定SAP類型。
如此,本揭露的技術可以總結如下,並且可以由如圖1的內容準備裝置20、伺服器裝置60及/或客戶端裝置40之類的裝置執行,如上所述。
在DASH脈絡中,在某些情況下,片段被視為單一單元,用於下載、存取媒體呈現以及所尋址的URL。但,片對可進行結構化,以實現在容器級別的重新同步,甚至在片段內也可以隨機存取各個表現。重新同步機制由重新同步元素支持並發出訊號通知。
重新同步元素用訊號通知段中的重新同步點。重新同步點是一組塊的開始(以位元組為單位),其中,組塊被定義為片段中結構化的連續位元組範圍,該片段包含某個表現持續時間的媒體資料,並且可獨立於包含潛在解密的容器格式進行存取。片段中的重新同步點可以定義如下:
•重新同步點是組塊的開始。
•此外,重新同步點還具有以下屬性:
o 從段的開頭起有一個位元組偏移量或索引值,指向塊的第一個位元組。
o 在表現中分配了最早的表現時間
o 它具有被分配的SAP類型,例如由ISO / IEC 14496-12中的SAP類型定義。
o 它分配了一個標記屬性,指示在通過特定標記解析片段時是否可以偵測到重新同步點,或者是否需要通過外部手段發出重新同步點的訊號。
•從重新同步點開始進行處理,以及初始化片段中的資訊(如果存在),則可以進行容器解析和解密。是否以及如何存取所包含的基本視訊流的能力由SAP類型定義。
出於因果關係的原因,用訊號發送MPD中的每個重新同步點可是困難的,因為片段封裝器可能會獨立於MPD更新添加重新同步點。舉例來說,編碼器和封裝器可以獨立於MPD生成重新同步點。並且,在低延遲情況下,MPD訊令可能不適用於DASH客戶端,例如圖2的DASH客戶端110或圖7的DASH客戶端292。因此,有兩種方法可以發訊號通知MPD的段中提供的重新同步點:
•通過為每個片段的重新同步索引片段中的重新同步點提供二進制映射。這對於通過網路完全可用的片段來說最容易使用。
•通過發訊號通知段中存在重新同步點以及一些其他資訊,這些資訊可以輕鬆地根據位元組位置和顯示時間來定位重新同步點。
為了表示上述屬性,重新同步元素具有不同的屬性,DASH規範的第5.3.12.2節對此進行了更詳細的說明。
隨機存取指的是,從時刻t開始,通過初始化片段(如果存在的話)以初始化表現,並從訊號通知的片段開始處理、解碼並呈現該表現。 如下面的表10中所定義的,隨機存取點可以通過隨機存取元素來訊號通知。
表10— 隨機存取訊令
元素或屬性名稱 | 使用 | 描述 | |||
ResyncPoint | 訊號通知重新同步點 | ||||
@type | OD default: "0" | 若大於0,指明一或多個重新同步點存在於片段中,其中SAP類型與所指出的值相同或較小。 若等於0,指明重新同步點存在於任何SAP類型的片段。 SAP類型的細節可參考DASH第4.5.2節。 | |||
@dT | O | 指明在該表現的任何媒體片段中,上述@type定義中包含的任何兩連續重新同步點的時間值最大差異。 該值是以對應表現的@timescale為單位被表達。 若不存在,則該值未知。 | |||
@dImax | O | 指明通過表現的@bandwidth值規範化的此表現的任何媒體片段中,上述@type定義中包括的任何兩個連續的重新同步點的索引值的最大差值。 為了獲得最大的位元組差,將@dImax的值與@bandwidth值相乘。 如果不存在,則該值未知。 | |||
@dImin | OD Default: 0 | 指明通過表現的@bandwidth值規範化的此表示形式的任何媒體段中,上述@type定義中包括的任何兩個連續的重新同步點的索引值的最小差。 為了獲得最小的位元組差,將@dImax的值與@bandwidth值相乘。 如果不存在,則假定該值為0。 | |||
@marker | OD Default: FALSE | 如果設置為TRUE,則它指定每個重新同步點都包括用於重新同步點檢測的特定標記。 如果不存在或為FALSE,則無法預期每個信號通知的Resync Point都將存在標記。 | |||
@index | OD | 指明用於為定義的@type創建“重新同步點片段列表”的模板。 如果存在,則每個對應的可用媒體片段都應有一個重新同步點索引片段。 更多詳細信息,請參閱DASH的5.3.9.4.4節 |
表11提供了不同的隨機存取點類型。
表11
<!-- Resync Point --> |
<xs:complexType name="ResyncType"> |
<xs:attribute name="type" type="SAPType" default="0"/> |
<xs:attribute name="dT" type="xs:unsignedInt"/> |
<xs:attribute name="dImax" type="xs:float"/> |
<xs:attribute name="dImin" type="xs:float" default="0"/> |
<xs:attribute name="marker" type="xs:boolean" default="false"/> |
<xs:attribute name="index" type="xs:anyURI"/> |
<xs:anyAttribute namespace="##other" processContents="lax"/> |
</xs:complexType> |
重新同步索引片段包含與媒體片段有關的資訊。重新同步索引片段以與片段索引類似的方式提供片段中所有重新同步點的準確位置。重新同步點在DASH規範的第5.3.12.1節中定義。
ISO BMFF的重新同步點可以被定義為ISO BMFF片段的開始,在基數和序數方面都具有以下限制:
NL 0 | 基數 | 規範 | 約束 | 描述 |
styp | 0/1 | ISO/IEC 14496-12 | DASH/CMAF約束 | 片段類型訊令相容性至CMAF組塊 |
prft | 0/1 | ISO/IEC 14496-12 | DASH/CMAF約束 | 生產者參考時間 |
emsg | * | ISO/IEC 23009-1 | DASH/CMAF約束 | 事件訊息 |
moof | 1 | ISO/IEC 14496-12 | DASH/CMAF約束 | 影片片段盒及其包括的盒 |
mdat | 1 | ISO/IEC 14496-12 | DASH/CMAF約束 | 媒體樣本的媒體資料容器 |
對於基於ISO BMFF的重新同步點,可以如下定義屬性:
•索引Index定義為上述受限ISO BMFF片段的第一個位元組的偏移量。
•最早的呈現時間Time定義為組塊中任何樣本的解碼時間、構圖偏移量和編輯列表的總和的最小時間。
•SAP類型是根據DASH規範的第4.5.2節定義的。
•如果以“ cmfl”作為相容性的主要戳記,則該標記也存在。
重新同步索引片段可以索引一表現的一媒體片段,並且可以定義如下:
•每個表現索引片段應以“styp”盒開頭,戳記“risg”應出現在“styp”盒中。本條款定義了“風險”戳記的符合要求。
•每個媒體片段由一或多個“片段索引”盒索引;給定媒體片段的盒是連續的。
圖9顯示根據本揭露技術的擷取媒體資料的實施例方法的流程圖。圖9的方法配合圖1的客戶端裝置40來解釋。然而,圖5的低延遲DASH客戶端232或一包括媒體解碼器296、CMAF / FF解析器294、DASH客戶端292和圖7的ROUTE接收器290的客戶端裝置可以被配置為執行該方法或類似方法。
最初,客戶端裝置40可擷取媒體呈現的資訊清單檔案(350),例如MPD。客戶端裝置40可以從例如伺服器裝置60擷取資訊清單檔案。資訊清單檔案可以包括資料以指示媒體呈現在媒體呈現的表現的片段內的組塊邊界處具有重新同步點。因此,客戶端裝置40可以決定媒體呈現的重新同步點(352),例如,最近可用的重新同步點。一般來說,重新同步點可以指示組塊邊界的開始,該組塊邊界是表現的隨機存取點,在該處可以適當地解析檔案級容器(例如:盒之類的資料結構)。
特別是,資訊清單檔案可以指示重新同步點的位置,例如距片段的開頭的位元組偏移。此資訊可能無法準確地標識片段中重新同步點的位置,但可以保證重新同步點在距位元組偏移量的位元組範圍內可用。因此,客戶端裝置40可以形成請求,例如HTTP部分Get請求,其指定所指示的位元組偏移,以在重新同步點開始擷取(354)。客戶端裝置40接著可以將請求發送到伺服器裝置60(356)。
客戶端裝置40可以回應於該請求而接收所請求的媒體資料(358),包括重新同步點。如上所述,位元組偏移可能不能精確地標識重新同步點的位置,因此,客戶端裝置40可以解析資料,直到檢測到重新同步點的實際位置為止。客戶端裝置40可以從重新同步點開始解析檔案級資料結構,例如檔案格式盒,以確定所擷取的媒體資料的相應組塊的媒體資料的位置。特別是,客戶端裝置40可以通過檢測例如片段類型值、生產者參考時間值、事件訊息、影片片段和媒體資料容器盒來將重新同步點識別為組塊的開始。影片片段可以包括編碼的媒體資料。
解封裝單元50可例如從電影片段中提取相應組塊的編碼媒體資料(360),並且將編碼的媒體資料提供給例如視訊解碼器48。組塊可以從隨機存取點( RAP)開始,例如視訊資料的訊框內編碼圖框(I畫格)。資訊清單檔案可以進一步指示RAP是封閉圖片組(GOP)的開始或是開放GOP,從而指示可以從RAP開始執行的隨機存取的類型(例如,是否是RAP的前導圖片)。 I畫格是可解碼的還是不可解碼的)。視訊解碼器48繼而可以解碼編碼的媒體資料(362),並將解碼的媒體資料發送到例如視訊輸出44,以呈現媒體資料(364)。
如此,圖9表示擷取媒體資料的方法的實施例,該方法包括擷取用於媒體呈現的資訊清單檔案,該資訊清單檔案指示可以在媒體呈現的表現的片段的重新同步點處開始對位元流的媒體資料進行容器解析,該重新同步該點位於該片段的起點以外的位置,並且表示可以開始對位元流的媒體資料進行容器解析;利用該資訊清單檔案以形成一請求以擷取在該重新同步點開始之該表現之該媒體資料;發送該請求以啟動在該重新同步點開始的該媒體呈現之該媒體資料之擷取;並呈現擷取到的媒體資料。
本揭露的特定技術將在以下的實施例做總結:
實施例1:一種擷取媒體資料的方法,該方法包含:對一媒體呈現擷取一資訊清單檔案,該資訊清單檔案指示重新同步以及解密可在該媒體呈現之一表現的一重新同步點開始;擷取在該重新同步點開始的該表現的媒體資料;以及呈現所擷取的媒體資料。
實施例2:如實施例1的方法,其中該重新同步點包含一組塊邊界的一起始。
實施例3:如實施例2的方法,其中該組塊邊界包含一組塊的一起始,該起始包含零或一片段類型數值、零或一生產者參考時間數值、零或一事件訊息、至少一影片片段盒以及至少一媒體資料容器盒。
實施例4:如實施例1-3中任一的方法,其中該資訊清單檔案指示該表現之該片段中的該重新同步點之可用性。
實施例5:如實施例4的方法,該重新同步點在該片段之一開始以外之一位置。
實施例6:如實施例4及5中任一的方法,其中該資訊清單檔案指示可在該重新同步點被執行之一隨機存取類型。
實施例7:如實施例4-6中任一的方法,其中該資訊清單檔案指示該重新同步點的位置及時序,以及該位置及時序資訊為精確的或者為一估計。
實施例8:如實施例1-7中任一的方法,其中該資訊清單檔案包含一媒體呈現描述(media presentation description, MPD)。
實施例9:一用於擷取媒體資料的裝置,該裝置包括一或多個元件以執行實施例1-8的方法。
實施例10:如實施例9的裝置,其中該一或多個元件包括一或多個實施在電路系統中的處理器,以及一記憶體經配置已儲存媒體資料。
實施例11:如實施例9的裝置,其中該裝置包括積體電路、微處理器或無線通訊裝置的至少一個。
實施例12:一電腦可讀儲存媒體,具有儲存於其中之指令,該指令在被執行時使一處理器執行實施例1-8中的任一方法。
實施例13:一用於擷取媒體資料的裝置,該裝置包含:一元件用以對一媒體呈現擷取一資訊清單檔案,該資訊清單檔案指示重新同步以及解密可在該媒體呈現之一表現的一重新同步點開始;一元件用以擷取在該重新同步點開始的該表現的媒體資料;一元件用以呈現所擷取的媒體資料。
實施例14:一傳送媒體資料的方法,該方法包含:傳送一媒體呈現的一資訊清單檔案指示重新同步以及解密可在該媒體呈現之一表現的一重新同步點開始;從客戶端接收一請求,以要求該表現的在該重新同步點開始的媒體資料:以及傳送所請求的該表現的在重新同步點開始的媒體資料至客戶裝置以回應於該請求。
實施例15:如實施例14的方法,進一步包括產生該資訊清單檔案。
實施例16:如實施例14及15中任一的方法,其中該重新同步點包括一組塊邊界的一起始。
實施例17:如實施例16的方法,其中該組塊邊界包含一組塊的一起始,該起始包含零或一片段類型數值、零或一生產者參考時間數值、零或一事件訊息、至少一影片片段盒以及至少一媒體資料容器盒。
實施例18:如實施例14-17中任一的方法,該資訊清單檔案指示該表現之一片段中的該重新同步點之可用性。
實施例19:如實施例18的方法,其中該重新同步點在該片段之一開始以外之一位置。
實施例20:如實施例18及19中任一的方法,其中該資訊清單檔案指示可在該重新同步點被執行之一隨機存取類型。
實施例21:如實施例18-20中任一的方法,其中該資訊清單檔案指示該重新同步點的位置及時序,以及該位置及時序資訊為精確的或者為一估計。
實施例22:如實施例14-21中任一的方法,其中該資訊清單檔案包含一媒體呈現描述(media presentation description, MPD)。
實施例23:一用以傳送媒體資料的裝置,該裝置包括一或多個元件以執行實施例14-22中任一的方法。
實施例24:如實施例23的裝置,其中該一或多個元件包括一或多個實施在電路系統中的處理器以及一記憶體經配置以儲存媒體資料。
實施例25:如實施例23的裝置,其中該裝置包括一積體電路;一微處理器以及一無線通訊網路的至少一個。
實施例26:一電腦可讀儲存媒體,具有儲存於其中之指令,該指令在被執行時使一處理器執行實施例1-8中的任一方法。
實施例27:一用於傳送媒體資料的裝置,該裝置包含:一元件用以傳送一媒體呈現的一資訊清單檔案指示重新同步以及解密可在該媒體呈現之一表現的一重新同步點開始;一元件用以從客戶端接收一請求,以要求該表現的在該重新同步點開始的媒體資料:以及一元件用以傳送所請求的該表現的在重新同步點開始的媒體資料至客戶裝置以回應於該請求。
在一個或多個實施例中,可以以硬體、軟件、韌體或其任意組合來實現所描述的功能。如果以軟體實現,則功能可以作為一個或多個指令或代碼儲存在電腦可讀媒體上或在電腦可讀媒體上傳輸,並由基於硬體的處理單元執行。電腦可讀媒體可以包括電腦可讀儲存媒體,其對應於如資料儲存媒體的有形媒體,或者通訊媒體,包括例如根據通訊協議來促進將電腦程序從一個地方轉移到另一個地方的任何介質 。如此,電腦可讀媒體通常可以對應於(1)非暫時性的有形電腦可讀儲存媒體,或者(2)如訓號或載波的通訊媒體。資料儲存媒體可以是可由一台或多台電腦或一個或多個處理器存取以擷取指令、程式碼及/或資料結構以實現本揭露中描述的技術的任何可用媒體。電腦程式產品可以包括電腦可讀媒體。
作為實施例而非限制,這種電腦可讀儲存媒體可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟儲存、磁碟儲存或其他磁性儲存裝置、塊閃記憶體或任何其他可以用於以指令或資料結構形式儲存所需程式代碼並且可以由電腦存取的其他媒體。同樣地,任何連接都可以適當地稱為電腦可讀媒體。例如,如果使用同軸電纜、光纖電纜、雙絞線、數位使用者線(DSL)或無線技術(例如紅外、無線電和微波)從網站,伺服器或其他遠端源發送指令,則媒體的定義包括同軸電纜、光纖電纜、雙絞線、DSL或諸如紅外線、無線電和微波之類的無線技術。然而,應當理解,電腦可讀儲存媒體和資料儲存介質不包括連接、載波、訓號或其他瞬時媒體,而是針對非瞬時的有形儲存媒體。本文使用的磁碟包括光碟(CD)、雷射光碟、光盤、數位多功能光碟(DVD)、軟碟和藍光光碟,其中磁碟通常以磁性方式複制資料,而光碟則通過雷射光學方式複制資料。上述的組合也應包括在電腦可讀媒體的範圍內。
指令可以由一或多個處理器執行,例如一或多個數位訊號處理器(DSP)、通用微處理器、專用積體電路(ASIC)、場域可編程邏輯閘陣列(FPGA)或其他等效的積體電路或離散邏輯電路。因此,如本文所使用的,術語“處理器”可以指任何前述結構或適合於實現本文所描述的技術的任何其他結構。另外,在一些方面,本文描述的功能可以在被配置用於編碼和解碼的專用硬體及/或軟體模組內提供,或結合在組合編解碼器中。同樣,該技術可以在一個或多個電路或邏輯元件中完全實現。
本揭露的技術可以在各種各樣的裝置或裝置中實現,包括無線手持機,積體電路(IC)或一組IC(例如,晶片組)。在本發明中描述各種組件、模塊或單元以強調經配置以執行所揭示技術的裝置的功能方面,但不一定需要由不同硬體單元來實現。而是,如上所述,各種單元可以組合在編解碼器硬體單元中,或者由互操作的硬體單元的集合提供,包括與合適的軟體及/或韌體結合的如上所述的一或多個處理器。
已經描述了各種實施例。這些和其他實施例在所附權利要求的範圍內。
100:地面定位系統
110-1,110-2:傳送接收點
120:使用者裝置
130:位置伺服器
140:廣域網路
150-1,150-2,150-3:距離
160-1,160-2,160-3:圓圈
605:匯流排
610:處理單元
615:輸出裝置
620:數位訊號處理器
630:無線通訊介面
640:感測器
660:記憶體
670:輸入裝置
680:GNSS接收器
703:匯流排
710:處理單元
720:數位訊號處理器
730:無線通訊介面
760:記憶體
780:網路介面
810:處理單元
825:儲存裝置
815:輸入裝置
820:輸出裝置
830:通訊子系統
833:無線通訊介面
835:工作記憶體
840:作業系統
845:應用程式
圖1顯示一實施例系統採用在網路上串流媒體資料的技術的功能方塊圖。
圖2顯示一實施例的擷取單元的組件集合的功能方塊圖。
圖3顯示一實施例的多媒體內容的元件的概念示意圖。
圖4顯示一實施例中可對應於一表現的一片段的視訊檔案的元件的功能方塊圖。
圖5顯示可被用於本揭露的一第一使用例的一低延遲架構的功能方塊圖。
圖6顯示圖5的使用例的進一步細節的實施例的概念示意圖。
圖7顯示一第二使用例中在一廣播協定的情境中使用DASH以及CMAF的概念示意圖。
圖8顯示一資訊清單檔案中訊號通知串流存取點的實施例的概念示意圖。
圖9顯示根據本揭露的技術擷取媒體資料的方法的實施例的流程圖。
300,310:位元流
302A~302D,312A~312D,316A~316D:串流存取點
304A~304D,314A~314D:片段
Claims (29)
- 一種擷取媒體資料的方法,該方法包含: 對一媒體呈現擷取一資訊清單檔案,該資訊清單檔案指示可使一位元流的媒體資料的容器解析(parsing)在該媒體呈現之一表現之一片段之一重新同步點開始,該重新同步點係在該片段之一起始以外之一位置且表示可使該位元流的該媒體資料的該容器解析開始之一點; 利用該資訊清單檔案以形成一請求以擷取在該重新同步點開始之該表現之該媒體資料; 發送該請求以啟動在該重新同步點開始的該媒體呈現之該媒體資料之擷取;以及 呈現所擷取之該媒體資料。
- 如請求項1所述的方法,其中,呈現所擷取之該媒體資料包含解析所擷取的在該重新同步點的媒體資料的檔案層級媒體資料容器。
- 如請求項2所述的方法,其中,解析包含: 解析該檔案層級媒體資料容器直到偵測到該媒體呈現的一隨機存取點(random access point, RAP);以及 傳送該隨機存取點至一媒體解碼器。
- 如請求項1所述的方法,其中,該重新同步點包含一組塊邊界(chunk boundary)的一起始。
- 如請求項2所述的方法,其中,該組塊邊界包含一組塊的一起始,該起始包含零或一片段類型數值、零或一生產者參考時間數值、零或一事件訊息、至少一影片片段盒(movie fragment box)以及至少一媒體資料容器盒(container box)。
- 如請求項1所述的方法,其中,該資訊清單檔案指示該表現之該片段中的該重新同步點之可用性。
- 如請求項6所述的方法,其中,該重新同步點在該片段之一開始以外之一位置。
- 如請求項6所述的方法,其中,該資訊清單檔案指示可在該重新同步點被執行之一隨機存取類型。
- 如請求項6所述的方法,其中,該資訊清單檔案指示該重新同步點的位置及時序,以及該位置及時序資訊為精確的或者為一估計。
- 如請求項1所述的方法,其中,該資訊清單檔案包含一媒體呈現描述(media presentation description, MPD)。
- 一種用於擷取媒體資料的裝置,該裝置包含: 一記憶體,經配置以儲存一媒體呈現的媒體資料;以及 一或多個處理器,實施於電路系統中,經配置以: 對一媒體呈現擷取一資訊清單檔案,該資訊清單檔案指示可使一位元流的媒體資料的容器解析(parsing)在該媒體呈現之一表現之一片段之一重新同步點開始,該重新同步點係在該片段之一起始以外之一位置且表示可使該位元流的該媒體資料的該容器解析開始之一點; 利用該資訊清單檔案以形成一請求以擷取在該重新同步點開始之該表現之該媒體資料; 發送該請求以啟動在該重新同步點開始的該媒體呈現之該媒體資料之擷取;以及 呈現所擷取之該媒體資料。
- 如請求項11所述的裝置,其中,為了呈現所擷取之該媒體資料,該一或多個處理器經配置以解析所擷取的在重新同步點的媒體資料的檔案層級媒體資料容器。
- 如請求項12所述的裝置,其中,為了解析該檔案層級媒體資料容器,該一或多個處理器經配置以: 解析該檔案層級媒體資料容器直到偵測到該媒體呈現的一隨機存取點(random access point, RAP);以及 傳送該隨機存取點至一媒體解碼器。
- 如請求項11所述的裝置,其中,該重新同步點包含一組塊邊界(chunk boundary)的一起始。
- 如請求項14所述的裝置,其中,該組塊邊界包含一組塊的一起始,該起始包含零或一片段類型數值、零或一生產者參考時間數值、零或一事件訊息、至少一影片片段盒(movie fragment box)以及至少一媒體資料容器盒(container box)。
- 如請求項11所述的裝置,其中,該資訊清單檔案指示該表現之該片段中的該重新同步點之可用性。
- 如請求項16所述的裝置,其中,該重新同步點在該片段之一開始以外之一位置。
- 如請求項16所述的裝置,其中,該資訊清單檔案指示可在該重新同步點被執行之一隨機存取類型。
- 如請求項16所述的裝置,其中,該資訊清單檔案指示該重新同步點的位置及時序,以及該位置及時序資訊為精確的或者為一估計。
- 如請求項11所述的裝置,其中,該資訊清單檔案包含一媒體呈現描述(media presentation description, MPD)。
- 一種電腦可讀儲存媒體,具有儲存於其中之指令,該指令在被執行時使一處理器: 對一媒體呈現擷取一資訊清單檔案,該資訊清單檔案指示可使一位元流的媒體資料的容器解析(parsing)在該媒體呈現之一表現之一片段之一重新同步點開始,該重新同步點係在該片段之一起始以外之一位置且表示可使該位元流的該媒體資料的該容器解析開始之一點; 利用該資訊清單檔案以形成一請求以擷取在該重新同步點開始之該表現之該媒體資料; 發送該請求以啟動在該重新同步點開始的該媒體呈現之該媒體資料之擷取;以及 呈現所擷取之該媒體資料。
- 如請求項21所述的電腦可讀儲存媒體,其中,該重新同步點包含一組塊邊界(chunk boundary)的一起始。
- 如請求項22所述的電腦可讀儲存媒體,其中,該組塊邊界包含一組塊的一起始,該起始包含零或一片段類型數值、零或一生產者參考時間數值、零或一事件訊息、至少一影片片段盒(movie fragment box)以及至少一媒體資料容器盒(container box)。
- 如請求項21所述的電腦可讀儲存媒體,其中,該資訊清單檔案指示該表現之該片段中的該重新同步點之可用性。
- 如請求項24所述的電腦可讀儲存媒體,其中,該重新同步點在該片段之一開始以外之一位置。
- 如請求項24所述的電腦可讀儲存媒體,其中,該資訊清單檔案指示可在該重新同步點被執行之一隨機存取類型。
- 如請求項24所述的電腦可讀儲存媒體,其中,該資訊清單檔案指示該重新同步點的位置及時序,以及該位置及時序資訊為精確的或者為一估計。
- 如請求項21所述的電腦可讀儲存媒體,其中,該資訊清單檔案包含一媒體呈現描述(media presentation description, MPD)。
- 一種用於擷取媒體資料的裝置,該裝置包含: 一元件,用以對一媒體呈現擷取一資訊清單檔案,該資訊清單檔案指示可使一位元流的媒體資料的容器解析(parsing)在該媒體呈現之一表現之一片段之一重新同步點開始,該重新同步點係在該片段之一起始以外之一位置且表示可使該位元流的該媒體資料的該容器解析開始之一點; 一元件,用以利用該資訊清單檔案以形成一請求以擷取在該重新同步點開始之該表現之該媒體資料; 一元件,用以發送該請求以啟動在該重新同步點開始的該媒體呈現之該媒體資料之擷取;以及 一元件,用於呈現所擷取之該媒體資料。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962909642P | 2019-10-02 | 2019-10-02 | |
US62/909,642 | 2019-10-02 | ||
US17/061,152 US11564018B2 (en) | 2019-10-02 | 2020-10-01 | Random access at resync points of dash segments |
US17/061,152 | 2020-10-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202130189A true TW202130189A (zh) | 2021-08-01 |
Family
ID=75274508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109134450A TW202130189A (zh) | 2019-10-02 | 2020-10-05 | 在基於http的動態自適應串流(dash)片段之重新同步點之隨機存取 |
Country Status (10)
Country | Link |
---|---|
US (2) | US11564018B2 (zh) |
EP (1) | EP4038894A1 (zh) |
JP (1) | JP2022551436A (zh) |
KR (1) | KR20220078578A (zh) |
CN (1) | CN114430911A (zh) |
CL (1) | CL2022000803A1 (zh) |
CO (1) | CO2022003859A2 (zh) |
IL (1) | IL290762B1 (zh) |
TW (1) | TW202130189A (zh) |
WO (1) | WO2021067768A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12093126B2 (en) | 2021-11-22 | 2024-09-17 | Mediatek Singapore Pte. Ltd. | Http-URI error-recovery method and user equipment thereof |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11564018B2 (en) | 2019-10-02 | 2023-01-24 | Qualcomm Incorporated | Random access at resync points of dash segments |
US11687386B2 (en) * | 2020-10-07 | 2023-06-27 | Tencent America LLC | MPD validity expiration processing model |
CN113794898B (zh) * | 2021-08-13 | 2023-03-07 | 网宿科技股份有限公司 | Dash媒体流传输方法、电子设备及存储介质 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9049497B2 (en) | 2010-06-29 | 2015-06-02 | Qualcomm Incorporated | Signaling random access points for streaming video data |
US9185439B2 (en) * | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Signaling data for multiplexing video components |
KR20120010089A (ko) | 2010-07-20 | 2012-02-02 | 삼성전자주식회사 | Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치 |
US9456015B2 (en) * | 2010-08-10 | 2016-09-27 | Qualcomm Incorporated | Representation groups for network streaming of coded multimedia data |
KR101739272B1 (ko) * | 2011-01-18 | 2017-05-24 | 삼성전자주식회사 | 멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법 |
US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
WO2014057896A1 (ja) | 2012-10-09 | 2014-04-17 | シャープ株式会社 | コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、制御プログラムおよび記録媒体 |
US9432426B2 (en) | 2013-02-04 | 2016-08-30 | Qualcomm Incorporated | Determining available media data for network streaming |
WO2016014129A1 (en) | 2014-07-23 | 2016-01-28 | Arris Technology, Inc. | Methods of implementing multi mode trickplay |
US9414100B2 (en) | 2014-03-31 | 2016-08-09 | Arris Enterprises, Inc. | Adaptive streaming transcoder synchronization |
BR112017015841B1 (pt) | 2015-02-04 | 2024-01-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Dispositivo para decodificar amostras de ponto de acesso aleatório dependente, dispositivo para gerar um arquivo de recipiente de mídia, métodos relacionados e arquivo de recipiente de mídia |
WO2017075804A1 (en) * | 2015-11-06 | 2017-05-11 | Microsoft Technology Licensing, Llc | Flexible reference picture management for video encoding and decoding |
EP3481071B1 (en) * | 2016-06-30 | 2022-07-27 | Sony Semiconductor Solutions Corporation | Reception device, transmission device, and data processing method |
CN110383845A (zh) * | 2016-12-22 | 2019-10-25 | 弗劳恩霍夫应用研究促进协会 | 允许有效支持快速调入和任何时间切换的媒体流传输构思 |
US20200021867A1 (en) * | 2017-03-22 | 2020-01-16 | Lg Electronics Inc. | Broadcast signal transmitting and receiving method and device |
WO2018178507A1 (en) | 2017-03-27 | 2018-10-04 | Nokia Technologies Oy | An apparatus, a method and a computer program for video coding and decoding |
FR3068554B1 (fr) * | 2017-06-28 | 2020-07-17 | Tdf | Procede de transmission d'un contenu audio interrompu dans un recepteur hybride, systeme, recepteur et programme associe au procede |
US11647251B2 (en) * | 2017-07-12 | 2023-05-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Fast tune-in for low latency streaming |
GB201721847D0 (en) | 2017-12-22 | 2018-02-07 | Telecom Paris Tech | Priority map for media files |
EP3818717A4 (en) * | 2018-07-06 | 2022-03-23 | Nokia Technologies Oy | DEVICE, METHOD AND COMPUTER PROGRAM FOR VIDEO ENCODING AND DECODING |
US11564018B2 (en) | 2019-10-02 | 2023-01-24 | Qualcomm Incorporated | Random access at resync points of dash segments |
-
2020
- 2020-10-01 US US17/061,152 patent/US11564018B2/en active Active
- 2020-10-02 JP JP2022519566A patent/JP2022551436A/ja active Pending
- 2020-10-02 EP EP20797602.8A patent/EP4038894A1/en active Pending
- 2020-10-02 KR KR1020227010066A patent/KR20220078578A/ko active Search and Examination
- 2020-10-02 WO PCT/US2020/054026 patent/WO2021067768A1/en unknown
- 2020-10-02 IL IL290762A patent/IL290762B1/en unknown
- 2020-10-02 CN CN202080066431.1A patent/CN114430911A/zh active Pending
- 2020-10-05 TW TW109134450A patent/TW202130189A/zh unknown
-
2022
- 2022-03-30 CO CONC2022/0003859A patent/CO2022003859A2/es unknown
- 2022-03-31 CL CL2022000803A patent/CL2022000803A1/es unknown
- 2022-12-20 US US18/069,069 patent/US11843840B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12093126B2 (en) | 2021-11-22 | 2024-09-17 | Mediatek Singapore Pte. Ltd. | Http-URI error-recovery method and user equipment thereof |
Also Published As
Publication number | Publication date |
---|---|
IL290762B1 (en) | 2024-09-01 |
US20210105542A1 (en) | 2021-04-08 |
CL2022000803A1 (es) | 2023-01-20 |
US20230130014A1 (en) | 2023-04-27 |
WO2021067768A1 (en) | 2021-04-08 |
CN114430911A (zh) | 2022-05-03 |
EP4038894A1 (en) | 2022-08-10 |
CO2022003859A2 (es) | 2022-04-19 |
KR20220078578A (ko) | 2022-06-10 |
JP2022551436A (ja) | 2022-12-09 |
US11843840B2 (en) | 2023-12-12 |
IL290762A (en) | 2022-04-01 |
US11564018B2 (en) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI780063B (zh) | 擷取及存取媒體串流之區段組塊 | |
KR101442999B1 (ko) | 코딩된 비디오 데이터의 네트워크 스트리밍을 위한 매니페스트 파일 업데이트들 | |
KR101558116B1 (ko) | 코딩된 멀티미디어 데이터의 네트워크 스트리밍 동안의 표현들 사이의 전환 | |
US9645878B2 (en) | Error handling for files exchanged over a network | |
KR102303582B1 (ko) | 웹 콘텐츠에 대한 파일 트랙들을 사용하여 미디어 데이터를 프로세싱 | |
TW201842785A (zh) | 作為分隔符及可定址之資源識別符之區段類型 | |
TW202037177A (zh) | 用於串流媒體資料之服務描述 | |
KR102076064B1 (ko) | Dash의 강건한 라이브 동작 | |
TW202130189A (zh) | 在基於http的動態自適應串流(dash)片段之重新同步點之隨機存取 | |
US20180176278A1 (en) | Detecting and signaling new initialization segments during manifest-file-free media streaming | |
TW201947938A (zh) | 用於在一片段中之網路串流之媒體資料之發信丟失區段 | |
TW201933878A (zh) | 處理國際標準化組織基礎媒體檔案格式網頁資源追蹤之動態網頁內容 | |
TWI820227B (zh) | 用於媒體資料之網路串流之初始化集合 | |
US20210306703A1 (en) | Determination of availability of chunks of data for network streaming media data | |
CN115244943B (zh) | 用于传输媒体数据的方法、设备和计算机可读存储介质 |