TW201633759A - 用於多媒體和檔案傳輸的傳輸介面 - Google Patents

用於多媒體和檔案傳輸的傳輸介面 Download PDF

Info

Publication number
TW201633759A
TW201633759A TW104140802A TW104140802A TW201633759A TW 201633759 A TW201633759 A TW 201633759A TW 104140802 A TW104140802 A TW 104140802A TW 104140802 A TW104140802 A TW 104140802A TW 201633759 A TW201633759 A TW 201633759A
Authority
TW
Taiwan
Prior art keywords
media
segment
time
range
unit
Prior art date
Application number
TW104140802A
Other languages
English (en)
Other versions
TWI668982B (zh
Inventor
渥克高登肯特
史多克漢摩湯瑪仕
Original Assignee
高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 高通公司 filed Critical 高通公司
Publication of TW201633759A publication Critical patent/TW201633759A/zh
Application granted granted Critical
Publication of TWI668982B publication Critical patent/TWI668982B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/23439Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/262Content 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/26208Content 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 the scheduling operation being performed under constraints
    • H04N21/26216Content 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 the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一種用於發送媒體資料的伺服器設備,該伺服器設備包括第一單元和第二單元。第一單元包括一或多個處理單元,其被配置為:向伺服器設備的第二單元發送針對媒體資料的描述性資訊,其中描述性資訊指示媒體資料的區段或區段的位元組範圍,以及能夠傳遞區段或位元組範圍的一最早時間或者能夠傳遞區段或區段的位元組範圍的一最遲時間;及向第二單元發送媒體資料。第二單元由此根據描述性資訊來傳遞區段或區段的位元組範圍(例如,在最早時間之後及/或在最遲時間之前)。

Description

用於多媒體和檔案傳輸的傳輸介面
本專利申請案主張享有於2014年12月5日提出申請的美國臨時申請案第62/088,351號、於2015年1月13日提出申請的美國臨時申請案第62/102,930號,以及於2015年8月25日提出申請的美國臨時申請案第62/209,620號的權益,故此以引用方式將上述每項申請的全部內容併入本文。
本案內容係關於媒體資料的傳輸。
數位視訊能力可以併入到廣泛的設備中,包括數位電視、數位直接廣播系統、無線廣播系統、個人數位助理(PDAs)、膝上型或桌上型電腦、數位相機、數位記錄設備、數位媒體播放機、視訊遊戲裝置、視訊遊戲控制台、蜂巢或衛星無線電話、視訊電話會議設備等。數位視訊設備實施視訊壓縮技術(例如由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4,第10部分,高級視訊編碼(AVC),高效視訊編碼(HEVC)/ITU-T H.265所定義的標準中以及該等標準的擴展中所描述的彼等視訊壓縮技術),以更有效地發送和 接收數位視訊資訊。
視訊壓縮技術執行空間預測及/或時間預測,以減少或移除視訊序列中固有的冗餘。對於基於區塊的視訊編碼,可以將視訊訊框或切片劃分成巨集區塊。可以進一步地劃分每個巨集區塊。可以使用相對於相鄰巨集區塊的空間預測來對訊框內編碼(I)訊框或切片中的巨集區塊進行編碼。訊框間編碼(P或B)訊框或切片中的巨集區塊可以使用相對於相同訊框或切片中的相鄰巨集區塊的空間預測或者相對於其他參考訊框的時間預測。在訊框或訊框群組間可以使用分層參考。
在對視訊資料進行編碼之後,可以對視訊資料進行打包以用於傳輸或儲存。可以將媒體資料組裝成符合各種標準(例如,國際標準組織(ISO)基本媒體檔案格式(ISO BMFF)及其擴展,例如AVC)中的任何標準的檔案。
概括地說,本案內容描述了與媒體資料的傳遞(例如,經由網路)相關的技術。伺服器設備通常包括媒體資料的傳遞中所涉及的各種單元。例如,該等單元可以包括:第一單元,用於對媒體資料進行打包;及第二單元,用於發送經打包的媒體資料。更特定言之,本案內容的技術涉及:該第一單元向該第二單元提供指示應當何時傳遞該媒體資料的資訊。
在一個實例中,一種傳輸媒體資料的方法包括:由伺服器設備的第一單元進行以下操作:向該伺服器設備的第 二單元發送針對媒體資料的描述性資訊,其中該描述性資訊指示該媒體資料的區段或者該區段的位元組範圍中的至少一項,以及能夠傳遞該區段或該區段的該位元組範圍的最早時間或者能夠傳遞該區段或該區段的該位元組範圍的最遲時間中的至少一項;及向該第二單元發送該媒體資料。
在另一個實例中,一種用於傳輸媒體資料的伺服器設備包括第一單元和第二單元。該第一單元包括一或多個處理單元,其被配置為:向該伺服器設備的該第二單元發送針對媒體資料的描述性資訊,其中該描述性資訊指示該媒體資料的區段或該區段的位元組範圍,以及能夠傳遞該區段或該位元組範圍的最早時間或者能夠傳遞該區段或該區段的該位元組範圍的最遲時間;及向該第二單元發送該媒體資料。
在另一個實例中,一種用於傳輸媒體資料的伺服器設備包括第一單元和第二單元。該第一單元包括:用於向該伺服器設備的該第二單元發送針對媒體資料的描述性資訊的手段,其中該描述性資訊指示該媒體資料的區段或該區段的位元組範圍,以及能夠傳遞該區段或該位元組範圍的最早時間或者能夠傳遞該區段或該區段的該位元組範圍的最遲時間;及用於向該第二單元發送該媒體資料的手段。
在另一個實例中,一種具有儲存在其上的指令的電腦可讀取儲存媒體,其中當該等指令被執行時,使得伺服器設備的第一單元的處理器執行以下操作:向該伺服器設備的第二單元發送針對媒體資料的描述性資訊,其中該描述性資訊指示該媒體資料的區段或者該區段的位元組範圍中的至少 一項,以及能夠傳遞該區段或該區段的該位元組範圍的最早時間或者能夠傳遞該區段或該區段的該位元組範圍的最遲時間中的至少一項;及向該第二單元發送該媒體資料。
在下文的附圖和描述中闡述了一或多個實例的細節。經由描述和附圖以及經由申請專利範圍,其他特徵、目標和優勢將是顯而易見的。
10‧‧‧系統
20‧‧‧內容準備設備
22‧‧‧音訊源
24‧‧‧視訊源
26‧‧‧音訊編碼器
28‧‧‧視訊編碼器
30‧‧‧封裝單元
32‧‧‧輸出介面
40‧‧‧客戶端設備
42‧‧‧音訊輸出
44‧‧‧視訊輸出
46‧‧‧音訊解碼器
48‧‧‧視訊解碼器
50‧‧‧解封裝單元
52‧‧‧獲取單元
54‧‧‧網路介面
60‧‧‧伺服器設備
62‧‧‧儲存媒體
64‧‧‧多媒體內容
66‧‧‧清單檔案
68A‧‧‧表示
68N‧‧‧表示
70‧‧‧請求處理單元
72‧‧‧網路介面
74‧‧‧網路
102‧‧‧多媒體內容
104‧‧‧媒體呈現描述(MPD)
110‧‧‧表示
112‧‧‧標頭資料
114A‧‧‧區段
114B‧‧‧區段
114N‧‧‧區段
120‧‧‧表示
122‧‧‧標頭資料
124A‧‧‧區段
124B‧‧‧區段
124N‧‧‧區段
150‧‧‧清單檔案
152‧‧‧步驟
154‧‧‧步驟
156‧‧‧步驟
158‧‧‧步驟
圖1是圖示實施用於經由網路來資料串流媒體資料的技術的示例性系統的方塊圖。
圖2是圖示示例性多媒體內容的元素的概念圖。
圖3是圖示伺服器設備(例如,圖1的伺服器設備)和客戶端設備(例如,圖1的客戶端設備)的示例性元件的方塊圖。
圖4是圖示(圖3的客戶端設備的)媒體存取控制(MAC)/PHY(實體)層處接收到資料的時間和媒體播放機輸出從接收到的資料產生的媒體資料的時間之間的差異的實例的概念圖。
圖5是圖示(圖3的客戶端設備的)MAC/Phy層處接收到資料的時間、(圖3的客戶端設備的)DASH播放機處接收到輸入的時間以及DASH播放機傳遞輸出的時間之間的差異的實例的概念圖。
圖6是圖示資料傳遞事件和媒體傳遞事件之間的對應關係的實例的概念圖。
圖7是圖示MAC/PHY資料傳遞區塊的概念圖。
圖8是圖示發送程序和接收程序的實例的概念圖。
圖9A和圖9B圖示根據本案內容的技術的、應用於媒體資料的前向糾錯(FEC)的實例。
圖10是圖示各種區段傳遞樣式(A-D)的概念圖。
圖11是圖示真實的傳輸緩衝器模型的概念圖。
圖12A和圖12B是將本案內容的技術與MPEG-2 TS模型進行對比的概念圖。
圖13是示例性的接收器IP堆疊的方塊圖,其中可以由客戶端設備(例如,圖3的客戶端設備及/或圖1的客戶端設備)來實施示例性的接收器IP堆疊。
圖14是圖示根據恆定延遲假設和基於區塊傳遞的phy來實施的示例性發送系統的概念圖。
圖15是圖示示例性的發射器配置的方塊圖。
圖16是圖示具有經排程的封包傳遞的系統中針對資料的示例性傳遞模型的概念圖。
圖17是圖示發送系統的更多細節的概念圖。
圖18是圖示區段時間的交錯的概念圖。
圖19是圖示當串流包括可以是可選的媒體資料和強制的媒體時,目標時間和最早時間之間的差異的概念圖。
圖20是具有潛在地可丟棄的訊框群組的視訊序列的概念圖。
圖21是圖示根據本案內容的技術的另一個示例性系統的方塊圖。
圖22是圖示用於獲取媒體傳遞事件的示例性技術的 流程圖。
圖23是圖示根據本案內容的技術的、用於傳輸媒體資料的示例性方法的流程圖。
概括地說,本案內容描述了與用於多媒體和檔案傳遞的傳輸介面設計的態樣相關的技術。特定言之,該等技術係關於具有定時媒體及/或檔案傳遞的系統。此舉偏離了用於例如基於MPEG-2系統的MPEG-2傳輸串流(TS)的系統的歷史方法,其中MPEG-2系統通常假設恆定的端到端延遲,當考慮最新的傳輸系統及其相關的實體(PHY)層/媒體存取控制(MAC)時,此時此種假設遠沒有那麼相關。
本案內容的技術可以應用於視訊或其他多媒體和中繼資料檔案,其中該等視訊或其他多媒體和中繼資料檔案符合根據以下檔案格式中的任何檔案格式來進行封裝的視訊資料:ISO基本媒體檔案格式、可縮放視訊編碼(SVC)檔案格式、高階視訊編碼(AVC)檔案格式、第三代合作夥伴計劃(3GPP)檔案格式,及/或多視圖視訊編碼(MVC)檔案格式或者其他類似的視訊檔案格式。
在HTTP資料串流中,頻繁使用的操作包括HEAD、GET和部分GET。HEAD操作獲取與給定的統一資源定位符(URL)或統一資源名稱(URN)相關聯的檔案的標頭,而不獲取與URL或URN相關聯的有效負荷。GET操作獲取與給定的URL或URN相關聯的整個檔案。部分GET操作接收位元組範圍作為輸入參數並且獲取檔案的連續數量的位元組,其中位元 組數量對應於所接收的位元組範圍。因此,可以提供電影片段用於HTTP資料串流,如此是因為部分GET操作可以取得一或多個單獨的電影片段。在電影片段中,可以存在不同軌道的若干個軌道片段。在HTTP資料串流中,媒體呈現可以是客戶端可存取的結構化資料集合。客戶端可以請求並下載媒體資料資訊,以向使用者提供資料串流服務。
在使用HTTP資料串流來資料串流3GPP資料的實例中,可能存在針對多媒體內容的視訊及/或音訊資料的多個表示(representation)。如下文說明的,不同的表示可以對應於不同的編碼特性(例如,不同的視訊編碼標準設定檔或位準)、不同的編碼標準或編碼標準的擴展(例如,多視圖及/或可縮放擴展)或者不同的位元速率。可以在HTTP的動態可適應資料串流(DASH)的媒體呈現描述(MPD)資料結構中定義此種表示的清單(manifest)。媒體呈現可以對應於HTTP資料串流客戶端設備可存取的結構化資料集合。HTTP資料串流客戶端設備可以請求並下載媒體資料資訊,以向客戶端設備的使用者提供資料串流服務。可以在MPD資料結構(其可以包括MPD的更新)中描述媒體呈現。
媒體呈現可以包含一或多個週期的序列。可以由MPD中的Period(週期)元素來定義週期。每個週期可以具有MPD中的屬性start(開始)。MPD可以包括針對每個週期的start屬性和availabilityStartTime(可用開始時間)屬性。對於實況服務,週期的start屬性和MPD屬性availabilityStartTime的和可以以網路時間協定(NTP)64格式來指定週期的可用時 間,特別是針對相應週期之每一者表示的第一媒體區段。對於隨選服務,第一週期的start屬性可以是0。對於任何其他週期,start屬性可以指定相應週期的開始時間相對於第一週期的開始時間的時間偏移。每個週期可以擴展,直到下一週期的開始為止,或者在最後一個週期的情況下,直到媒體呈現的結束為止。週期開始時間可以是精確的。週期開始時間可以反映由於播放所有先前週期的媒體而產生的實際時序。
每個週期可以包含針對相同媒體內容的一或多個表示。表示可以是音訊或視訊資料的多個替代的經編碼版本中的一個版本。表示可以依據編碼類型(例如,位元速率、解析度,及/或針對視訊資料和位元速率的編碼解碼器、語言,及/或針對音訊資料的編碼解碼器)而不同。術語表示可以用於代表經編碼的音訊或視訊資料的對應於多媒體內容的特定週期並以特定方式編碼的部分。
特定週期的表示可以分配給MPD中的屬性(其指示表示所屬的適配集)所指示的群組。相同適配集中的表示通常被視為彼此的替代,因為客戶端設備可以動態地並且無瑕疵地在該等表示之間切換,例如,以便執行頻寬適配。例如,針對特定週期的視訊資料的每個表示可以分配給相同的適配集,使得表示中的任何表示可以被選擇用於解碼,以呈現針對相應週期的多媒體內容的媒體資料(例如,視訊資料或音訊資料)。一個週期內的媒體內容可以由來自群組0的一個表示(若存在)來表示,或者在一些實例中,由來自每個非零群組的最多一個表示的組合來表示。可以相對於週期的開 始時間來表達針對週期的每個表示的時序資料。
表示可以包括一或多個區段。每個表示可以包括初始化區段,或者表示的每個區段可以是自初始化的。當存在初始化區段時,其可以包含用於存取表示的初始化資訊。通常,初始化區段不包含媒體資料。可以用識別符(例如,統一資源定位符(URL)、統一資源名稱(URN)或統一資源辨識項(URI))來唯一地引用區段。MPD可以提供針對每個區段的識別符。在一些實例中,MPD亦可以以range(範圍)屬性的形式來提供位元組範圍,其可以與針對可由URL、URN或URI存取的檔案內的區段的資料相對應。
可以選擇不同的表示以用於大體上同時獲取不同類型的媒體資料。例如,客戶端設備可以選擇從中獲取區段的音訊表示、視訊表示以及定時文字表示。在一些實例中,客戶端設備可以選擇特定的適配集以用於執行頻寬適配。亦即,客戶端設備可以選擇包括視訊表示的適配集、包括音訊表示的適配集,及/或包括定時文字的適配集。或者,客戶端設備可以選擇針對某些類型的媒體(例如,視訊)的適配集,並且直接地選擇針對其他類型的媒體(例如,音訊及/或定時文字)的表示。
圖1是圖示實施用於經由網路來資料串流媒體資料的技術的示例性系統10的方塊圖。在該實例中,系統10包括內容準備設備20、伺服器設備60和客戶端設備40。客戶端設備40和伺服器設備60經由網路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產生經編碼的視訊資料串流。每個單獨的資料串流(無論是音訊還是視訊)可以被稱為基本串流或者來自所傳遞的多個物件的片段集合。基本串流是表示的單個的、經數位編碼(可能經壓縮)的分量。例如,表示的經編碼的視訊或音訊部分可以是基本串流。基本串流可以在被封裝到視訊檔案中之前轉換為打包的基本串流(PES)。在相同的表示內,可以使用串流ID來將屬於一個基本串流的PES封包與屬於其他基本串流的PES封包進行區分。基本串流的基本資料單元是打包的基本串流(PES)封包。因此,經編碼的視訊資料通常對應於基本視訊串流。類似地,音訊資料對應於一或多個對應的基本串流。在一些實例中,例如,根據單向傳輸的即時物件傳遞(ROUTE)協定,可以以在功能上與基本串流類似的方式來資料串流媒體物件。此舉亦與漸進式下載和重播類似。ROUTE通信期可以包括一或多個分層編碼傳輸(LCT)通信期。在Luby等人2009年10月的RFC 5651「Layered Coding Transport(LCT)Building Block」中描述了LCT。
許多視訊編碼標準(例如,ITU-T H.264/AVC和高效視訊編碼(HEVC)標準(亦被稱為ITU-T H.265))定義了針對無錯誤位元串流的語法、語義和解碼程序,其中任何一項符合某個設定檔或位準。視訊編碼標準通常不指定編碼器,但是編碼器的任務是保證所產生的位元串流對於解碼器來說是符合標準的。在視訊編碼標準的上下文中,「設定檔」與演算法、特徵或工具以及施加到演算法、特徵或工具的約束的子集相對應。如由H.264標準定義的,例如,「設定檔」是由H.264標準指定的整個位元串流語法的子集。「位準」對應於諸如例如解碼器記憶體和計算之類的解碼器資源消耗的限制,該等限制與圖片的解析度、位元速率以及區塊處理速率相關。可以利用profile_idc(設定檔指示符)值來用信號發送設定檔,同時可以利用level_idc(位準指示符)值來用信號發送位準。
例如,H.264標準認識到,在由給定設定檔的語法強加的界限內,取決於位元串流中的語法元素所取的值(例如,經解碼的圖片的指定大小),仍然可能要求編碼器和解碼器的效能的大變化。H.264標準進一步認識到,在許多應用中,實施能夠處理特定設定檔內的語法的所有假設使用的解碼器既不實際亦不經濟。因此,H.264標準將「位準」定義為強加在位元串流中的語法元素的值上的指定約束集合。該等約束可以是對值的簡單限制。或者,該等約束可以採取對值的算術組合(例如,圖片寬度乘以圖片高度乘以每秒解碼的圖片數量)的約束的形式。H.264標準進一步提供的是,單獨的 實現方式可以針對每個所支援的設定檔支援不同的位準。
符合設定檔的解碼器通常支援該設定檔中所定義的所有特徵。例如,作為編碼特徵,B圖片編碼在H.264/AVC的基線設定檔中未得到支援,但是在H.264/AVC的其他設定檔中得到支援。符合位準的解碼器應當能夠解碼不需要超出該位準中定義的限制的資源的任何位元串流。設定檔和位準的定義可以有助於可解釋性。例如,在視訊傳輸期間,可以針對整個傳輸通信期來協商和同意一對設定檔和位準定義。特定言之,在H.264/AVC中,位準可以定義對以下各項的限制:需要處理的巨集區塊數量,經解碼圖片緩衝器(DPB)大小,經編碼圖片緩衝器(CPB)大小,垂直運動向量範圍,每兩個連續MB的運動向量的最大數量,以及B區塊是否可以具有小於8x8圖元的子巨集區塊劃分。以此方式,解碼器可以決定該解碼器是否能夠恰當地解碼位元串流。
在圖1的實例中,內容準備設備20的封裝單元30從視訊編碼器28接收包括經編碼的視訊資料的基本串流,並且從音訊編碼器26接收包括經編碼的音訊資料的基本串流。在一些實例中,視訊編碼器28和音訊編碼器26均可以包括封包器(packetizer)以用於根據經編碼的資料來形成PES封包。在其他實例中,視訊編碼器28和音訊編碼器26均可以與用於根據經編碼的資料來形成PES封包的對應封包器對接。在其他實例中,封裝單元30可以包括封包器,以用於根據經編碼的音訊和視訊資料來形成PES封包。
視訊編碼器28可以以各種方式來對多媒體內容的視 訊資料進行編碼,以在各種位元速率下並且利用各種特性(例如,圖元解析度、訊框速率、對各種編碼標準的符合性、對用於各種編碼標準的各種設定檔及/或設定檔位準的符合性、具有一或多個視圖的表示(例如,針對二維或三維重播),或其他此類特性)來產生多媒體內容的不同表示。如本案內容中所使用的,表示可以包括以下各項中的一項:音訊資料、視訊資料、文字資料(例如,用於隱藏式字幕),或者其他此類資料。表示可以包括基本串流,例如音訊基本串流或視訊基本串流。每個PES封包可以包括stream_id(串流_id),其識別該PES封包所屬的基本串流。封裝單元30負責將基本串流組裝成各種表示的視訊檔案(例如,區段)。
封裝單元30從音訊編碼器26和視訊編碼器28接收用於表示的基本串流的PES封包,並且根據PES封包來形成相應的網路抽象層(NAL)單元。在H.264/AVC(高階視訊編碼)的實例中,將經編碼的視訊區段組織成NAL單元,其中NAL單元提供處理例如視訊電話、儲存、廣播或資料串流等應用的「網路友好的」視訊表示。NAL單元可以分類為視訊編碼層(VCL)NAL單元和非VCL NAL單元。VCL單元可以包含核心壓縮引擎並且可以包括區塊、巨集區塊及/或切片位準資料。其他NAL單元可以是非VCL NAL單元。在一些實例中,一個時間實例中的經編碼圖片(通常呈現為主要經編碼圖片)可以包含在存取單元中,其中存取單元可以包括一或多個NAL單元。
非VCL NAL單元可以包括參數集NAL單元和補充增 強資訊(SEI)NAL單元等等。參數集可以包含序列位準標頭資訊(在序列參數集(SPS)中)以及很少改變的圖片位準標頭資訊(在圖片參數集(PPS)中)。利用參數集(例如,PPS和SPS),不需要針對每個序列或圖片重複很少改變的資訊,因此可以提高編碼效率。此外,參數集的使用可以實現重要標頭資訊的帶外傳輸,從而避免了需要針對錯誤復原而進行冗餘傳輸。在帶外傳輸的實例中,可以在與其他NAL單元(例如,SEI NAL單元)不同的頻道上發送參數集NAL單元。
SEI NAL單元可以包含對於解碼來自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,其中每個多媒體內容64包括對應的清單檔案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可以實施如RFC 2616,1999年6月,IETF,網路工作組,R.Fielding等人的「超文字傳輸協定-HTTP/1.1」中所描述的超文字傳輸協定(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)。DASH代表HTTP的動態可適應資料串流,例如,如INTERNATIONAL STANDARD ISO/IEC 23009-1 Second edition 2014-05-01 Information Technology-Dynamic Adaptive Streaming Over HTTP(DASH)Part 1:Media Presentation Description and Segment Formats中所定義的。
如圖1的實例中所示出的,多媒體內容64包括清單檔案66,其中清單檔案66可以對應於媒體呈現描述(MPD)。清單檔案66可以包含對不同的替代表示68(例如,具有不同品質的視訊服務)的描述,並且該描述可以包括例如編碼解碼器資訊、設定檔值、位準值、位元速率以及表示68的其他描述性特性。客戶端設備40可以獲取媒體呈現的MPD,以決定如何存取表示68的區段。
特定言之,獲取單元52可以獲取客戶端設備40的配置資料(未圖示),以決定視訊解碼器48的解碼能力和視訊 輸出44的再現能力。配置資料亦可以包括以下各項中的任何或所有項:客戶端設備40的使用者所選擇的語言偏好、與客戶端設備40的使用者所設定的深度偏好相對應的一或多個相機視角,及/或客戶端設備40的使用者所選擇的分級偏好。獲取單元52可以包括例如被配置為提交HTTP GET和部分GET請求的web瀏覽器或媒體客戶端。獲取單元52可以與客戶端設備40的一或多個處理器或處理單元(未圖示)所執行的軟體指令相對應。在一些實例中,可以在硬體,或者硬體、軟體,及/或韌體的組合中實施針對獲取單元52所描述的功能中的全部或部分功能,其中可以提供必要的硬體來執行針對軟體或韌體的指令。
獲取單元52可以將客戶端設備40的解碼和再現能力與清單檔案66的資訊所指示的表示68的特性進行比較。獲取單元52可以初始地獲取清單檔案66的至少一部分以決定表示68的特性。例如,獲取單元52可以請求清單檔案66的描述一或多個適配集的特性的部分。獲取單元52可以選擇表示68的子集(例如,適配集),該子集具有客戶端設備40的編碼和再現能力能夠滿足的特性。獲取單元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均可以視適用情況實施為各種適當的處理電路中的任何處理電路,例如,一或多個微處理器、數位訊號處理器(DSPs)、特殊應用積體電路(ASICs)、現場可程式閘陣列(FPGAs)、個別邏輯電路、軟體、硬體、韌體或者其任何組合。視訊編碼器28和視訊解碼器48中均可以包括在一或多個編碼器或解碼器中,其中任一項可以整合為組合的視訊編碼器/解碼器(CODEC)的一部分。同樣地,音訊編碼器26和音訊解碼器46均可以包括在一或多個編碼器或解碼器中,其中任一項可以整合為組合的CODEC的一部分。包括視訊編碼器28、視訊解碼器48、音訊編碼器26、音訊解碼器46、封裝單元30、獲取單元52及/或解封裝單元50的裝置可以包括積體電路、微處理器及/或無線通訊設備(例如,蜂巢式電話)。
客戶端設備40、伺服器設備60及/或內容準備設備20可以被配置為根據本案內容的技術來操作。出於舉例的目的,本案內容針對客戶端設備40和伺服器設備60來描述該等技術。但是,應當理解,作為伺服器設備60的替代或者除伺服器設備60之外,內容準備設備20亦可以被配置為執行該等技術。
封裝單元30可以形成NAL單元,其包括識別NAL單元所屬的程式的標頭以及有效負荷,例如音訊資料、視訊資料或者描述NAL單元所對應的串流的資料。例如,在H.264/AVC中,NAL單元包括一個位元組的標頭和變化大小的 有效負荷。在其有效負荷中包括視訊資料的NAL單元可以包括各種細微性位準的視訊資料。例如,NAL單元可以包括視訊資料區塊、複數個區塊、視訊資料切片或者視訊資料的整個圖片。封裝單元30可以從視訊編碼器28接收具有基本串流的PES封包形式的經編碼的視訊資料。封裝單元30可以將每個基本串流與相應的節目相關聯。
封裝單元30亦可以根據複數個NAL單元來組裝存取單元。通常,存取單元可以包括用於表示視訊資料訊框的一或多個NAL單元,以及對應於該訊框的音訊資料(當該音訊資料可用時)。存取單元通常包括針對一個輸出時間實例的所有NAL單元,例如,針對一個時間實例的所有音訊和視訊資料。例如,若每個視圖具有每秒20訊框(fps)的訊框速率,則每個時間實例可以對應於0.05秒的時間間隔。在該時間間隔期間,可以同時再現針對相同存取單元(相同時間實例)的所有視圖的特定訊框。在一個實例中,存取單元可以包括一個時間實例中的經編碼圖片,其可以被呈現為主要經編碼圖片。
因此,存取單元可以包括共同時間實例的所有音訊訊框和視訊訊框,例如對應於時間X的所有視圖。本案內容亦將特定視圖的經編碼圖片稱為「視圖分量」。亦即,視圖分量可以包括針對特定的時間處的特定視圖的經編碼圖片(或訊框)。因此,存取單元可以定義為包括共同時間實例的所有視圖分量。存取單元的解碼順序不必與輸出順序或顯示順序相同。
媒體呈現可以包括媒體呈現描述(MPD),其可以包含對不同的替代表示(例如,具有不同品質的視訊服務)的描述,並且該描述可以包括例如編碼解碼器資訊、設定檔值和位準值。MPD是清單檔案(例如,清單檔案66)的一個實例。客戶端設備40可以獲取媒體呈現的MPD,以決定如何存取各種表示的電影片段。電影片段可以位於視訊檔案的電影片段盒(moof盒)中。
清單檔案66(其可以包括例如MPD)可以對表示68的區段的可用性進行通告。亦即,MPD可以包括對表示68中的一個表示的第一區段變為可用的掛鐘時間進行指示的資訊,以及對表示68內的區段的持續時間進行指示的資訊。以此方式,客戶端設備40的獲取單元52可以基於在特定區段之前的區段的開始時間以及持續時間來決定每個區段何時可用。
在封裝單元30已經基於接收到的資料將NAL單元及/或存取單元組裝成視訊檔案之後,封裝單元30將視訊檔案傳遞給輸出介面32以用於輸出。在一些實例中,封裝單元30可以本端地儲存視訊檔案或者經由輸出介面32將視訊檔案發送給遠端伺服器,而不是直接地將視訊檔案發送給客戶端設備40。輸出介面32可以包括例如發射器、收發機、用於向電腦可讀取媒體(例如,光學驅動器、磁性媒體驅動器(例如,軟碟機))寫入資料的設備、通用序列匯流排(USB)埠、網路介面或者其他輸出介面。輸出介面32將視訊檔案輸出到電腦可讀取媒體34,例如傳輸信號、磁性媒體、光學媒體、記憶體、快閃驅動器或者其他電腦可讀取媒體。
網路介面54可以經由網路74來接收NAL單元或存取單元,並且經由獲取單元52將NAL單元或存取單元提供給解封裝單元50。解封裝單元50可以將視訊檔案的元素解封裝為組成PES串流(constituent PES stream),對PES串流進行解包以獲取經編碼的資料,並且將經編碼的資料發送給音訊解碼器46或視訊解碼器48,此舉取決於經編碼的資料是音訊串流還是視訊串流的一部分(例如,如串流的PES封包標頭所指示的)。音訊解碼器46對經編碼的音訊資料進行解碼並將經解碼的音訊資料發送給音訊輸出42,而視訊解碼器48對經編碼的視訊資料進行解碼並將經解碼的視訊資料(其可以包括串流的複數個視圖)發送給視訊輸出44。
出於本案內容的技術的目的,假設客戶端設備40(或者其他接收設備)和伺服器設備60(或者內容準備設備20或其他發送設備)具有根據協調世界時間(UTC)的準確的時鐘。可以在發射器(例如,伺服器設備60)中經由全球定位系統(GPS)或類似技術來建立時間。例如,可以在客戶端設備40的實體層中(例如,在網路介面54內)經由高階電視系統委員會(ATSC)3.0技術來建立時間。儘管DASH協定強制該要求,但是DASH標準當前沒有定義用於達成同步時間的實際方法。當然,客戶端設備40處的ATSC 3.0時間名義上是在伺服器設備60的時間之後的飛行時間。但是,對於本案內容的技術來說,此舉是期望的結果。亦即,客戶端設備40中的本端時間將準確地描述實體層處的資料區塊的位置。下文更加詳細地描述了本案內容的技術。
在一些實例中,伺服器設備60和客戶端設備40被配置為使用穩健標頭壓縮(ROHC)來壓縮/解壓縮封包的標頭資料。ROHC技術包括使用上下文資訊來執行壓縮。因此,當伺服器設備60使用特定的上下文來壓縮封包的標頭資訊時,客戶端設備40使用相同的上下文來解壓縮該封包的標頭資訊是重要的。因此,當客戶端設備40在隨機存取點(RAP)處執行隨機存取時,應當提供用於決定上下文(該上下文用於解壓縮針對包括該RAP的一或多個封包的標頭資訊)的資訊。因此,本案內容的技術包括提供ROHC上下文資訊連同RAP。
例如,當發送媒體呈現描述(MPD)(或其他清單檔案)和初始化區段(IS)時,伺服器設備60可以緊接在MPD/清單檔案之前發送ROHC上下文初始化資料。同樣地,客戶端設備40可以緊接在MPD/清單檔案和IS之前接收ROHC上下文初始化資料。「緊接在...之前」可以意謂早於MPD/清單檔案和IS並且緊鄰MPD/清單檔案和IS來接收用於ROHC上下文初始化的資料。
圖2是圖示示例性多媒體內容102的元素的概念圖。多媒體內容102可以與多媒體內容64(圖1)或儲存在記憶體62中的另一個多媒體內容相對應。在圖2的實例中,多媒體內容102包括媒體呈現描述(MPD)104以及複數個表示110-120。表示110包括可選的標頭資料112和區段114A-114N(區段114),而表示120包括可選的標頭資料122和區段124A-124N(區段124)。為了方便起見,使用字母N來標示表示110、120之每一者表示中的最後一個電影片段。在一些實例中,在表示 110、120之間可能存在不同數量的電影片段。
MPD 104可以包括與表示110-120分離的資料結構。MPD 104可以對應於圖1的清單檔案66。同樣地,表示110-120可以對應於圖1的表示68。通常,MPD 104可以包括通常描述表示110-120的特性(例如,編碼和再現特性、適配集、MPD 104所對應的設定檔、文字類型資訊、相機角度資訊、分級資訊、特技模式資訊(例如,對包括時間子序列的表示進行指示的資訊)及/或用於獲取遠端週期的資訊(例如,用於在重播期間將目標廣告插入到媒體內容中))的資料。
標頭資料112(當存在時)可以描述區段114的特性,例如,隨機存取點(RAP,亦被稱為串流存取點(SAPs))的時間位置,區段114中的哪個區段包括隨機存取點,到區段114內的隨機存取點的位元組偏移,區段114的統一資源定位符(URLs),或者區段114的其他態樣。標頭資料122(當存在時)可以描述區段124的類似特性。另外地或替代地,該等特性可以完全地包括在MPD 104中。
區段114、124包括一或多個經編碼的視訊取樣,其中每個視訊取樣可以包括視訊資料訊框或切片。區段114的經編碼的視訊取樣之每一者視訊取樣可以具有類似的特性,例如,高度、寬度以及頻寬要求。可以由MPD 104的資料來描述該等特性,儘管圖2的實例中未圖示此種資料。MPD 104可以包括如由3GPP規範描述的特性,外加本案內容中所描述的用信號發送的資訊中的任何或所有資訊。
區段114、124之每一者區段可以與唯一的統一資源 定位符(URL)相關聯。因此,可以使用資料串流網路通訊協定(例如,DASH)來獨立地獲取區段114、124之每一者區段。以此方式,目的地設備(例如,客戶端設備40)可以使用HTTP GET請求來獲取區段114或124。在一些實例中,客戶端設備40可以使用HTTP部分GET請求來獲取區段114或124的特定位元組範圍。
圖3是圖示伺服器設備(例如,圖1的伺服器設備60)和客戶端設備(例如,圖1的客戶端設備40)的示例性元件的方塊圖。在該實例中,伺服器設備包括媒體編碼器、分段器、發送機(在該實例中,發送機使用ROUTE傳輸協定)、MAC/PHY排程器以及激勵器/放大器。在該實例中,客戶端設備包括MAC/PHY接收器、傳輸接收器(在該實例中,傳輸接收器使用ROUTE協定)、媒體播放機(在該實例中,媒體播放機是DASH客戶端)以及編碼解碼器。
可以在硬體中或者在硬體和軟體的組合中實施伺服器設備的各個元件(例如,媒體編碼器、分段器、發送機以及MAC/PHY排程器)中的任何或所有元件。例如,可以在一或多個微處理器、數位訊號處理器(DSPs)、特殊應用積體電路(ASICs)、現場可程式閘陣列(FPGAs)及/或個別邏輯電路或者其組合中實施該等單元。另外地或替代地,可以在由硬體執行的軟體中實施該等單元。針對軟體的指令可以儲存在電腦可讀取儲存媒體上,並且由一或多個處理單元(其可以包括諸如上文論述的硬體)來執行。
媒體編碼器產生具有重播時間資訊的經壓縮的媒體 。分段器將該媒體打包到檔案中,很可能是ISO BMFF(基本媒體檔案格式)。分段器將作為位元組範圍的檔案傳遞給發送機。發送機對作為位元組範圍的檔案進行包裝以用於以IP/UDP/ROUTE傳遞。MAC/PHY取得IP封包並經由RF將其發送給接收器。虛線處的連接是端到端工作的。出於提供區塊名稱的目的,如此是簡化的論述。
根據本案內容的技術,伺服器設備包括與媒體資料的傳遞相關的第一單元和第二單元。第一單元向第二單元發送針對媒體資料的描述性資訊。在該實例中,第一單元和第二單元可以分別對應於分段器和發送機或者發送機和MAC/PHY排程器。描述性資訊指示媒體資料的區段或者區段的位元組範圍中的至少一項,以及能夠傳遞區段或區段的位元組範圍的最早時間或者能夠傳遞區段或區段的位元組範圍的最遲時間中的至少一項。第一單元亦向第二單元發送媒體資料。
應當理解,伺服器設備可以進一步封裝媒體區段或者其部分(例如,特定的位元組範圍)以用於網路傳輸。例如,伺服器設備可以以一或多個封包的形式來對媒體區段的資料進行封裝。通常,藉由利用根據網路堆疊的不同層級處的一或多個協定(例如,根據開放式系統互聯(OSI)模型)的資料對有效負荷進行封裝來形成封包。例如,可以用傳輸控制協定(TCP)標頭和網際網路協定(IP)標頭來對有效負荷(例如,ISO BMFF檔案的全部或部分)進行封裝。應當理解,描述性資訊亦適用於用於對有效負荷進行封裝的資料。 例如,當描述性資訊指示能夠傳遞區段或區段的位元組範圍的最早時間時,最早時間亦適用於用於對區段或位元組範圍進行封裝的任何資料(例如,根據一或多個網路通訊協定的資料)。同樣地,當描述性資訊指示能夠傳遞區段或區段的位元組範圍的最遲時間時,最遲時間亦適用於用於對區段或位元組範圍進行封裝的任何資料。
以此方式,第二單元可以被配置為根據描述性資訊來向客戶端設備傳遞媒體資料。例如,第二單元可以確保不早於最早時間傳遞區段或區段的位元組範圍,及/或確保在最遲時間之前傳遞區段或位元組範圍。
藉由根據描述性資訊來發送資料(例如,在最早時間之後及/或在最遲時間之前),伺服器設備可以確保媒體資料在客戶端可以使用該媒體資料的時間抵達客戶端設備。若媒體資料早於最早時間或者遲於最遲時間抵達,則客戶端設備可能丟棄媒體資料,因為該媒體資料可能是不可用的。此外,若媒體資料在最遲時間之後抵達(或者被丟棄),則該媒體資料可能不可用作為對隨後的媒體資料進行解碼的參考媒體資料。例如,若媒體資料包括一或多個參考圖片,則由於參考圖片將不可用於參考,因此隨後的圖片可能不可準確地解碼。以此方式,本案內容的技術可以避免浪費的頻寬並改良使用者體驗。
描述性資訊進一步可以包括以下各項中的任何或所有項:區段或位元組範圍的受制於特定媒體編碼器的部分;目標時間,其中區段或位元組範圍應當在目標時間處或緊接 在目標時間之後傳遞;能夠傳遞區段或位元組範圍的最遲時間;針對區段或位元組範圍內的資料的呈現時間戳記;包括區段的媒體串流相對於其他媒體串流關於針對媒體串流的資料的目標傳遞時間的優先順序;及/或針對區段或位元組範圍內的資料的解碼時間戳記。因此,第二單元可以根據該額外資訊中的任何或全部資訊來傳遞媒體資料。例如,第二單元可以確保儘可能地接近目標時間,及/或在呈現時間及/或解碼時間之前傳遞媒體資料。同樣地,第二單元可以根據優先順序資訊來傳遞媒體資料。例如,若僅可以按時傳遞媒體資料的複數個離散單元中的一個離散單元,則第二單元可以決定離散單元中的哪個離散單元具有最高優先順序,並且在其他離散單元之前傳遞該離散單元。這裡,術語媒體資料的「離散單元」可以代表例如區段或區段的位元組範圍。
圖4是圖示(圖3的客戶端設備的)MAC/PHY層處接收到資料的時間和媒體播放機輸出從接收到的資料產生的媒體資料的時間之間的差異的實例的概念圖。MAC/Phy層和媒體播放機可以交互動操作,以在工作的系統中實施傳輸緩衝器模型(其可以使兩個准獨立等時線一致)。該兩個等時線包括圖示離散時間媒體輸出事件的媒體傳遞和消耗等時線(圖4的底部)以及圖示離散時間資料傳遞事件的MAC/PHY層資料傳遞等時線(圖4的頂部)。
圖4圖示接收器角度(例如,圖3的客戶端設備(其可以對應於圖1的客戶端設備40)的角度)。MAC/Phy等時線可以被認為是接收器中的MAC的輸出處的實體層的脈衝回應 ,其在特定的時間處具有資料短脈衝。媒體播放機輸出等時線可以是特定的時間處的視訊訊框或音訊取樣。圖4頂部的箭頭表示資料傳遞事件(在MAC/Phy等時線中)或者例如在媒體播放機輸出等時線中的視訊訊框。圖4底部的箭頭表示媒體播放機輸出事件,例如,特定的時間處的媒體資料的呈現。
圖5是圖示(圖3的客戶端設備的)MAC/Phy層處接收到資料(亦即,圖5頂部的MAC/PHY等時線中的離散時間資料傳遞事件)的時間、(圖3的客戶端設備的)DASH播放機接收到輸入(亦即,圖5的垂直中部的DASH播放機輸入等時線中的離散時間媒體資料事件)的時間,以及DASH播放機傳遞輸出(亦即,圖5底部的DASH播放機輸出等時線中的離散時間媒體輸出事件)的時間之間的差異的實例的概念圖。媒體輸出通常不能直接地符合MAC/Phy層的資料傳遞事件。如此是因為輸出離散時間媒體事件可能具有許多輸入媒體取樣。例如,音訊可能具有每個音訊訊框數千個取樣。舉另一個實例,輸出視訊訊框可能具有描述輸出視訊訊框所需要的N個輸入視訊訊框。傳輸緩衝器模型允許MAC/Phy離散時間資料傳遞事件和DASH播放機離散時間媒體傳遞事件之間的一致。
圖6是圖示資料傳遞事件和媒體傳遞事件之間的對應關係的實例的概念圖。存在驅動事件的某些資料集合,例如,開始並播放媒體以及下一個媒體訊框或訊框群組。ROUTE發送機/接收器介面的位元組範圍傳輸機制允許分段器(圖3)定義對DASH播放機有意義的媒體的離散單元。有意義的離散單元(媒體資料事件)的實例是用於開始視訊重播的單元 ,其可以包括MPD、IS、電影盒(Moof)以及多達6個針對HEVC的經壓縮的視訊訊框。圖6圖示接收器視圖以及各層間的時間關係/對應關係。特定言之,圖6圖示MAC/PHY等時線中的離散時間資料傳遞事件、DASH播放機輸入等時線中的離散時間媒體資料事件,以及DASH播放機輸出等時線中的離散時間媒體輸出事件。
圖7是圖示MAC/Phy資料傳遞區塊的概念圖。根據本案內容的技術,該等區塊不再是單獨的MPEG-2 TS(傳輸串流)封包(儘管在ATSC 1.0中其是單獨的MPEG-2 TS封包)。圖7圖示從由MAC位址定義的輸入埠到輸出埠的現代實體層傳輸資料區塊。該等資料區塊的大小的範圍可以是2KB至8KB,但是在任何情況下遠大於MPEG-2 TS封包。該等資料區塊可以包含IP封包。MAC位址可以映射到IP位址和埠號。在MAC/Phy輸出處知道區塊的內容的傳遞時間(依據相對於MAC/Phy輸入的延遲)。圖7表示資料傳遞區塊的經抽象的模型。恰好是具有已知傳遞時間的IP封包的離散資料單元被傳遞給接收器。
圖8是圖示發送程序和接收程序的實例的概念圖。在由(例如,圖3的)伺服器設備執行的發送程序中,分段器被配置有對經壓縮的媒體的資料結構以及所定義的媒體事件的時間傳遞要求(例如,編碼解碼器的輸入處在特定的時間要求特定的音訊訊框)進行定義的資料。特殊事件(例如,媒體層處的隨機存取點(RAP))具有額外要求的資料,但是分段器可以偵測到RAP的存在並且可以預先準備該額外要求的 資料,例如,MPD、IS、Moof等。MAC/Phy排程器在特定的時間處將特定資料分配給特定的區塊。該等資料區塊在Phy/MAC的輸出處具有已知的接收時間。
在由(例如,圖3的)客戶端設備執行的接收程序中,Phy/MAC層接收資料區塊並立即地(按時間表)將其公佈,亦即,藉由將資料區塊提供給傳輸單元。該等IP/UDP/ROUTE封包直接地進入ROUTE傳輸緩衝器。媒體傳遞事件按時間表可用於DASH播放機。播放機按時間表將媒體向上傳遞給編碼解碼器。編碼解碼器隨後按時間表進行解碼。
對於發送和接收程序來說存在某些邊界條件。對於週期邊界,假如在週期邊界處存在媒體的任何切換(例如,在表示之間)(例如,用於廣告插入),則為了使切換是無瑕疵的,不能提早傳遞週期的第一位元組。若提早傳遞第一位元組,則廣告可能不能正確地開始。結束點不是那麼敏感,因為下一個週期(無論是廣告還是返回到節目)的開始傳輸RAP(T-RAP)將乾淨地開始解碼器,但是若在正確的目標週期期間接收最後一個位元組將會更好。此外,對於IP片段和磁碟重組(defragment),分別在ROUTE發送機和ROUTE接收器中處理IP封裝和解封裝。ROUTE發送機對IP封包進行組織,使得T-RAP和週期邊界是乾淨的。傳輸接收器可以提早(但是從不在週期邊界處)看到下一個媒體傳遞事件(MDE)媒體事件的片段。
安全開始:媒體事件等時線的定義和實體層排程可以保證為了開始而需要的媒體在正確的時間抵達。所以,至 此,若客戶端設備具有資料,則該客戶端設備可以立即播放資料。至此所描述的系統可以經由實施早時間和遲時間來假設地實現此點,但是如此會對實體層施加不實際的要求,如此會導致過於激進的媒體壓縮(其是使經編碼的媒體符合所要求的呈現排程的實體層/MAC排程器手段)。
寬鬆排程:為了使實體層具有能夠排程所有資料的最佳機會,若在傳遞時間上存在某種彈性將是不錯的。不是每個位元組可以同時傳遞給接收器。例如,若phy傳遞速率是20Mbs/sec,並且服務佔用3Mbs/sec,則傳遞可以以平均7X真實時間執行。在該示例性用例中,對於0.5秒的區段,0.5秒的時間餘量會將是非常充足的。
圖9A和圖9B圖示根據本案內容的技術的、應用於媒體資料的前向糾錯(FEC)的實例。下文描述了在執行安全開始時的示例性場景。在一個實例中,存在提早開始。亦即,客戶端設備可能在接收到以T-RAP開始的媒體傳遞事件之後立即嘗試播放媒體資料。在最壞的情況下,此舉導致短暫的停頓。停頓的最大持續時間取決於時間餘量。停頓持續時間可以定義為實際的開始點和功能上要求的長期開始時間之間的差異。對於嚴格符合的相對於媒體呈現等時線的媒體大小,實體層排程器確保安全開始是可能的,但是如此可能不會產生最佳可能的視訊品質。此處關注的關鍵態樣是早/遲機制足夠彈性以允許出現期望的結果。結果的複數個態樣與以下事實相關:可以存在不同的目標並且該等機制可以有效地服務所有目標。
在安全開始中,客戶端設備在最後一個位元組的經排程的傳遞之後播放媒體資料。可以保證對媒體傳遞事件的最後一個位元組的接收。傳遞訊窗持續時間可以是動態的。除有可能週期結束之外,遲時間大部分時間很可能按固定的時間表。類似地,除在週期開始時之外,早時間可以是彈性的。亦即,彈性是可能的,但是在週期邊界處可能受約束。圖9A圖示若A/V物件與A/V拘束束上的FEC對準,則FEC如何沒有影響。圖9B圖示若多達五個A/V物件與A/V拘束束上的FEC對準(如此會增加容量(其有益於記錄)),則FEC如何會引起零至四秒的延遲。
圖10是圖示各種區段傳遞樣式的概念圖。為了避免啟動延遲,MPD和IS應當緊接在RAP之前。因此,圖10圖示其中MPD和IS在RAP之前的兩個實例。若使用穩健標頭壓縮(ROHC),則在兩個實例中可以緊接在MPD之前插入ROHC上下文初始化資料。以此方式,ROHC解壓縮器(或解碼器)可以接收ROHC上下文初始化資料並且使用該初始化資料來恰當地解壓縮標頭。上下文資訊可以特定於ROUTE通信期或每個LCT通信期,其中ROUTE通信期可以包括一或多個LCT通信期。因此,對於單個ROUTE通信期及/或對於ROUTE通信期的一或多個LCT通信期之每一者LCT通信期,可以在MPD之前傳遞上下文資訊。
圖11是圖示真實的傳輸緩衝器模型的概念圖。經由本案內容的技術使該傳輸緩衝器模型變得簡單。就啟動和溢出而言,僅存在一個緩衝器,並且該緩衝器是傳輸緩衝器。 MAC/phy排程保證啟動,而不涉及緩衝器模型。僅存在一個重要的界限。媒體在經排程的傳遞時間進入緩衝器,並且當其作為檔案在輸出區域中發佈時被刪除。服務開始(service start)(亦即,以T-RAP開始的MDE)清除緩衝器。緩衝器模型在資料將傳遞或發佈到傳輸緩衝器的每個時間t處進行更新。暫存器值是針對接收器設備(客戶端設備)處的時間t的緩衝器模型充滿度(fullness)(以位元組為單位)。緩衝器包含與該通信期中的當前傳遞和所有其他當前未解決的傳遞相關的所有IP/UDP/ROUTE封包,包括針對每個當前活動傳遞的所有相關AL-FEC。當發佈的一或多個物件的狀態是已解決時,緩衝器模型減少所有與該等物件相關的封包的大小。在此種使用方式中,當ROUTE傳輸接收器已決定狀態並相應地採取行動時(亦即,發佈或丟棄物件),該物件「已解決」。刪除相應的相關傳輸資料,並且緩衝器模型暫存器相應地減少。
以此方式,藉由建立針對實體層的MAC/Phy排程(其對於所使用的MAC/Phy來說是準確的),就緩衝器模型而言不存在啟動條件。由於保證了等時線事件,因此可以直接計算緩衝器充滿度。已知大小的媒體事件在已知時間進入。在已知時間(亦即,當區段發佈到輸出區域時)刪除媒體。
圖12A和圖12B是將本案內容的技術與MPEG-2 TS模型進行對比的概念圖。在圖12A中,在被發送和接收的封包之間存在固定延遲。如此對於MPEG-2 TS是相當優良的模型並且該模型很好地服務於業界。但是,如圖12B中所示出的, 嘗試使其適應ATSC 3.0可能具有一些不令人期望的結果。圖12B包括前向糾錯(FEC)解碼緩衝器、去信號干擾緩衝器以及MPEG媒體傳輸協定(MMTP)解封裝緩衝器。為了使MPEG-2 TS模型有效,必須用低通濾波器來對ASTC 3.0實體層的固有短脈衝態樣進行平滑。該實體層平滑最終使到播放機的媒體傳遞延遲。
圖13是示例性的接收器IP堆疊的方塊圖,其中可以由客戶端設備(例如,圖3的客戶端設備及/或圖1的客戶端設備40)來實施示例性的接收器IP堆疊。圖13圖示實體層,該實體層向UDP IP堆疊提供資料區塊,UDP IP堆疊向AL-FEC和檔案傳遞協定層提供封包,AL-FEC和檔案傳遞協定層向DASH客戶端/ISO-BMFF/MMT/檔案處理常式層提供檔案或檔案的位元組範圍,DASH客戶端/ISO-BMFF/MMT/檔案處理常式層向編碼解碼器的解碼器提供媒體串流。檔案傳遞協定層和檔案處理常式層之間的介面有可能會允許向上傳遞檔案和或檔案的部分(例如,檔案的位元組範圍)。此外,該等檔案或檔案的部分可能具有針對在接收器處進行接收的時限並且亦具有優選的接收順序。檔案可以表示例如根據DASH的媒體內容的表示的區段。
針對此種系統的歷史方法是假設經由固定延遲和頻寬管道跨實體層的恆定延遲的緩衝器模型,如圖12A中所圖示的。該等系統在RF處對MPEG-2 TS封包進行表達,並且經常將整個輸入串流視為單個系列的MPEG2傳輸串流封包。該等MPEG2傳輸串流可能包含具有若干不同的唯一封包ID或所謂 的PID的封包。
現代實體層通常不將MPEG-2 TS表達為RF處的特徵。就算攜帶了MPEG-2 TS,其亦是在某個更大的容器(例如,2K位元組或8K位元組)內,而該更大的容器可能包含IP封包。可以對該等RF資料區塊進行分段,儘管當嘗試達成直接存取某些位址時,不如此做是更加電池高效的。
圖14是圖示根據恆定延遲假設和基於區塊傳遞的實體層來實施的示例性發送系統的概念圖。圖14圖示了發送機設備的Phy/MAC緩衝器,以及接收器設備的兩個緩衝器(包括Phy/MAC緩衝器和傳輸緩衝器)。對於圖14的系統的發送側,存在很大程度上對稱的發送堆疊,如在下文所描述的圖15中所示出的。該等現代實體層以如下方式進化:使得可以將該等現代實體層視為對資料區塊的傳輸,其中資料區塊具有已知的大小以及從輸入到輸出的可知的延遲。承載資料頻道的此種配置很大程度上是利用來自所定義的MAC/Phy特性的已知出發時間和傳遞時間來分配容量。不需要將該等類型的系統視為具有恆定延遲的單個或甚至多個傳遞管道。此外,為了達成恆定延遲,該等系統實際上可能必須實施輸入及/或輸出緩衝器,如此會增加整體潛時並減慢頻道改變。圖14中圖示此種系統的經抽象的接收器模型。
圖15是圖示源設備的示例性發射器配置的方塊圖。在該實例中,源設備(本文中亦被稱為發送機設備或伺服器設備)包括媒體編碼器、一或多個分段器、ROUTE發送機以及MAC/phy單元。與圖14的系統的配置相反,向MAC/phy介 面提供資料(其具有關於目的地處何時需要該資料的資訊)並且令MAC/phy排程器最佳化所定義的虛擬傳遞管道中的已知管道(可能經由動態配置)是更有效的。通常由IP位址和埠號來映射該等虛擬傳遞管道。
圖16是圖示在具有經排程的封包傳遞的系統中針對資料的示例性傳遞模型的概念圖。該特定配置圖示ROUTE傳輸協定的使用,出於經由區塊傳輸實體層來發送物件(檔案)的目的,ROUTE傳輸協定是合適的,但是協定亦可以是FLUTE(IETF RFC 6726中所定義的單向傳輸的檔案傳遞),FLUTE具有類似的功能,儘管具有稍微要少些的特徵。圖16中圖示針對此種系統的修正模型。發射器和接收器二者皆不需要包含接收器實體層平滑緩衝器,如圖16中所示出的。經排程的封包直接地或以最小延遲傳遞給接收器的傳輸緩衝器。由於在更接近實際需要的時間傳遞媒體,因此所產生的設計既更簡單又會引起更快的啟動。
返回參看圖15,ROUTE、FLUTE或其他檔案傳遞協定可以對要傳遞給接收器的物件(檔案)進行處理。在FLUTE的情況下,此舉通常是每次單個檔案以及整個物件(可選地具有FEC)。ROUTE和可能的其他協定亦可以將物件作為一系列位元組範圍來傳遞。可以例如以不透明的方式將該等位元組範圍傳遞給ROUTE發送機。為了對位元組範圍進行處理,ROUTE發送機不必知道檔案類型。ROUTE發送機僅將物件的位元組範圍傳遞給鏈路的另一端。此外,物件和或位元組範圍在接收器傳輸緩衝器介面處可能具有要求的或期望的傳 遞時間,如上文論述的可能在擴展標頭中表達的傳遞時間。亦即,整個物件可能必須在某個時間之前傳遞給接收器傳輸緩衝器介面(此舉可能符合availabilityStartTime),或者物件的一部分在某個時間之前傳遞給接收器傳輸緩衝器介面(此舉可能符合擴展標頭)。情況是,多個物件可能同時在到接收器的傳遞程序中。
該當前論述是針對到一個傳輸緩衝器的一個傳遞的。所傳遞的物件可以是DASH區段(INTERNATIONAL STANDARD ISO/IEC 23009-1 Second edition 2014-05-01 Information Technology-Dynamic Adaptive Streaming Over HTTP(DASH)Part 1:Media Presentation Description and Segment Formats),並且檔案類型可以是專用於資料串流媒體的ISO BMFF,如ISO/IEC 14496-12:2012(E),INTERNATIONAL STANDARD ISO/IEC 14496-12 Fourth edition,2012-07-15 Corrected version 2012-09-15,Information Technology-Coding of Audio-Visual Objects Part 12:ISO Base Media File Format中所描述的。
ROUTE或其他發送機不需要知道「要傳遞的」物件的(例如,檔案)的檔案類型,但是所傳遞的檔案類型可能具有對於接收器來說是重要的特定部分。圖15中被示出為「分段器」的區塊可以決定所傳遞的媒體部分(位元組範圍)的重要性,並且進一步可以決定終端中所要求的檔案或檔案的部分的傳遞時間。通常,檔案的字首具有某個傳遞時間,以便使客戶端以漸進的方式消耗檔案。因此,在一個實例中 ,可能要求檔案的特定字首P1,以便呈現所包含的媒體直至時間T1。可能要求第二字首P2>P1,以便呈現所包含的媒體直至時間T2>T1。可以使用資料串流媒體(例如,作為具有特定持續時間的一系列ISO BMFF檔案來傳輸的視訊或音訊)來構造此種用例的實例。在該等所謂的區段檔案內,某個位元組範圍對於媒體播放機(例如,DASH)來說可能具有時間重要性。此種實例可以是視訊訊框或訊框群組(此舉可能是先前描述的MDE)。某些編碼解碼器類型可能要求編碼器圖像的N訊框,以便在特定時刻或者可能在特定時刻之前產生單個輸出視訊訊框。
分段器或類似的媒體或檔案類型感知格式器可以以要求的傳遞時間來向ROUTE傳輸發送機提供位元組範圍。要求的傳遞時間可以被表達為要傳遞區段或區段的位元組範圍的最早時間及/或最遲時間中的任意一個或二者。對於特定的位元組範圍,該傳遞時間不需要是具體的。例如,該要求可以指定「應當如此傳遞該位元組範圍:使得在時間X之後並且在時間Y之前在傳輸緩衝器處接收到該位元組範圍」,其中X表示最早時間,並且Y表示最遲時間。當加入串流時,在時間X之後到傳輸緩衝器的傳遞可以是相關的。若過早地接收資料,則在加入事件(例如,週期邊界的切換)中可能丟失資料。藉由避開週期開始,接收器不能加入服務,此舉導致差的使用者體驗。另一個界限Y可以與例如跨多個設備的同步播出相關。假設的模型接收器可能不能夠在任何遲於該傳遞界限所規定的時間播放媒體。假設的接收器具有ROUTE(接收器 傳輸)緩衝器大小,保證其既不欠執行(under run)亦不超限執行(over run)。例如在ROUTE協定中描述了所要求的緩衝器的實際大小。當然,情況是,假如接收器期望進一步延遲重播時間,則接收器可以分配更多的記憶體。
該等時間X和Y可以是絕對的或相對的。至發佈到介面的時刻的相對時間似乎是優選的解決方案。應當理解,發送機將決定跨MAC/Phy的實際延遲,以便不要求不可服務的請求。一般來說,經由發送機遠早於實際發送時間發佈媒體,可以簡化針對實體層排程器的任務。MAC/phy排程器具有更多的時間來映射媒體資料,則MAC/phy排程器可以更好地完成工作。
分段器可以指示傳遞時間應當接近Z。分段器亦可以提供關於該時間的優先順序。例如,在相同的ROUTE傳遞中可能要攜帶兩個位元組範圍,但是該等位元組範圍中的一個位元組範圍具有關於接近時間Z的優先順序,該優先順序可以提供給ROUTE發送機並且隨後提供給MAC/phy介面,以便使MAC/phy介面決定實體層處的最優傳遞排序。優先順序可以例如產生順序,以實現快速和一致的頻道改變體驗。在一些實例中,可以針對ROUTE通信期來強加傳遞順序,亦即,必須在接收器中的ROUTE接收器的輸入處保留傳遞給排程器的位元組範圍/MDE的順序。例如,語法元素(例如,標誌)可以指示是否按傳遞順序來提供ROUTE通信期的資料,以及是否要保持該傳遞順序。
因此,儘管某些位元組範圍可能具有半重疊的傳遞 時間,但是若語法元素指示資料已經是按順序的並且要保持(亦即,保留)該順序,則即使無序傳遞仍然會滿足如通告的傳遞時間,亦需要保持/保留該傳遞順序。若已指示按順序傳遞,則期望在排程器之前的功能提供允許按順序傳遞的早傳遞時間和遲傳遞時間。以此方式,語法元素(例如,標誌)表示對當從例如MAC/phy介面向客戶端設備發送媒體資料時是否必須保留媒體資料的傳遞順序進行指示的語法元素的實例。
如所圖示的,圖15圖示在圍繞媒體編碼器、分段器、ROUTE發送機以及MAC/phy的級聯的閉合迴路中可能或可以存在速率控制機制功能。此配置是共用配置,其中多個媒體串流經由共用或共享的實體層同時地發送。此種通用方法經常被稱為統計多工。一般來說,統計多工器使用各個媒體串流的統計獨立性來將更多服務裝入單個傳遞系統中。通常,媒體編碼器輸出經定義的編碼語法。亦即,語法資料隨後被放置在容器檔案(例如,ISO BMFF)中。隨後將該等檔案封裝到傳輸協定(例如,ROUTE或FLUTE)中。存在添加到分段器和發送機功能二者中的增量資料(例如,中繼資料和標頭資訊)。速率控制系統僅可以直接管理媒體的大小而通常不直接管理信號的中繼資料或標頭部分的大小,儘管傳送給MAC/phy的資料是由所有三種類型構成的,並且某個檔案和或位元組範圍可能不包含受到媒體編碼器控制的資料。
圖17是圖示發送系統的更多細節的概念圖。圖17中圖示MAC/Phy的功能的實際實現方式。實體層排程器解決了 實體層的傳遞排程(亦即,排程器可以決定在傳遞方面實體層實際上可以達成什麼),並且定義了對基頻處的RF信號的描述。可以將該基頻波形分發給多個發射器,該等發射器將同時產生相同波形以建立單頻網路(SFN)。諸如FLO或媒體FLO以及LTE廣播/eMBMS之類的系統已經使用了同時產生相同波形的此種方法。
圖18是圖示區段時間的交錯的概念圖。交錯區段時間可以使峰值位元速率要求最小化。可能需要以使得峰值頻寬需求的可能衝突最小化方式來組織各個服務的區段時間。此舉對介面的設計沒有影響,但是對單獨的串流的組織有影響。區段邊界時間的此種組織可能與實體層具有特定的關係,如圖18中所圖示的。
在圖18中,區段被圖示為在時間上是線性的,與對實體層的存取一樣。對服務的此種階段劃分往往對平均資料速率進行平滑而具有RAP或SAP的最小位移。區段內資料速率相對於呈現時間不是均勻的。此舉僅是一個示例性方法,提供該方法以說明實體層上的排程是實際啟動延遲的決定因素。傳輸僅在最後適當的時刻或在最後適當的時刻之前將媒體沿著堆疊向上傳遞。
下文描述了系統的各個元件之間的介面的實例。媒體編碼器可能有或者可能沒有其自身和分段器之間的暴露的介面。但是,假如系統包括此種介面,則對於分段器來說是重要的位元組範圍可以離散地並直接地傳遞給分段器。重要態樣可以包括:最遲傳遞時間,以便足夠快地傳遞給傳輸緩 衝器;及最早目標傳遞時間,以便不會過早地將位元組範圍或物件傳遞給傳輸緩衝器。可以由分段器來分析地決定該等態樣,其中分段器將經編碼的媒體轉換為區段,例如ISO BMFF檔案。該等ISO BMFF檔案包含將媒體訊框傳遞給接收器中的媒體解碼器的具體細節。在媒體編碼器的語法之外該介面自身可以傳送特定的所傳遞的媒體特徵(例如,相關聯的媒體訊框、呈現時間戳記及/或解碼時間戳記)的大小。
分段器和ROUTE發送機之間的介面可以提供以下資訊:
針對重要特徵的適用位元組範圍或字首
所傳遞的資料的受制於特定媒體編碼器的部分
對於每個檔案單個媒體類型,這是一一映射
對於所謂的經多工的區段,針對媒體編碼器(其在該區段中具有媒體)之每一者媒體編碼器的比例的描述
識別符,該等識別符允許知道關於特定媒體編碼器(其是源)的類型和可能的位址,很可能是IP位址和埠。
可以傳遞位元組範圍的最早時間,使得在針對接收器中的傳輸緩衝器的最早特定的時間之前不會接收到該位元組範圍。
目標時間,其中媒體應當在目標時間處或者緊接在目標時間之後傳遞,使得在傳輸緩衝器處在正確的時間接收到該媒體。
該媒體串流與該傳遞中的其他媒體串流相比關於精確的目標傳遞時間的相對優先順序。
可以傳遞位元組範圍的最遲時間。
發送機和MAC/phy之間的介面可以提供以下資訊:
針對當前傳遞的適用位元組範圍,可能是整個IP封包
所傳遞的媒體的受制於特定媒體編碼器的部分
識別符,該識別符允許知道特定媒體編碼器的身份
可以傳遞整個位元組範圍的最早時間。
目標時間,其中媒體應當在目標時間處或者緊接在目標時間之後傳遞,使得在接收器傳輸緩衝器處在適當的時間及時接收到該媒體。
該媒體串流與該傳遞中的其他媒體串流相比關於精確的目標傳遞時間的相對優先順序。
可以傳遞位元組範圍或字首的最遲時間,使得在接收器中的傳輸緩衝器處及時接收到該位元組範圍或字首。
所定義的介面級聯允許MAC/phy排程器具有要傳遞的媒體的完整畫面,如此可以允許對實體層的排程。MAC/phy排程器可以看到在相關時間跨度中所傳遞的所有媒體。若沒有給定早時間,則目標時間可以是最早時間或早時間,並且目標時間可以被設置為相同的值。
下文描述了由MAC/phy層執行的示例性的排程器功能。只要認為有用,排程器就可以提前映射。此舉會增加整體潛時,只要整體潛時保持在合理的限度,如此通常不是問題。但是,提前規劃亦會引起增加的效率以及特別是最佳化的頻道改變。最遲傳遞的需求約束了phy層關於當前發送的媒體的選擇。phy層在用於傳遞的解析度方面亦可能具有離散限制。此舉是單獨實體層的特性,並且對於給定實體層來說, MAC/phy排程器已知該特性。
圖19是圖示當串流包括可以是可選的媒體資料以及強制的媒體時,目標時間和最早時間之間的差異的概念圖。通常,資料串流媒體的傳遞具有等時線。存在消耗媒體的順序。某些媒體可以是可選的。丟棄媒體是不令人期望的,儘管若連續地接收串流,則所丟棄的媒體可能是簡短的並且僅在啟動處。使用該特徵會潛在地與所謂的共用加密發生干擾,因此必須將使用限制於早傳遞的資料不與DRM或諸如檔案循環冗餘碼(CRC)(其可能由於丟失媒體而失效)之類的機制發生干擾的情況。針對早傳遞或很早傳遞的最可能的應用是大型檔案傳遞,其中最遲傳遞時間遠超過實體層排程器的分析的前向時間深度,亦即,實體層容量沒有完全用於資料串流媒體,並且可能在每次傳遞N位元組的額定傳遞排程上的非即時檔案可以機會性地佔用更多的實體層容量。將預期依據目標時間和最遲時間來執行媒體。在該等情況下,目標時間和早時間將具有相同的值。
圖20是具有潛在地可丟棄的訊框群組的視訊序列的概念圖。在該實例中,箭頭表示可能的訊框間預測。亦存在圖20中所示出的兩行數字。上面一行指示在彼等數字之上的訊框的相對顯示順序。下面一行數字指示顯示順序中所識別的訊框的解碼順序。亦即,第一訊框(I訊框)第一個顯示並且第一個解碼,第一P訊框第八個顯示並且第二個解碼,第一B訊框第二個顯示並且第五個解碼等等。
某些媒體元件可以被視為是可選的。例如,在訊框 群組中,非RAP訊框可以被視為是可選的。但是,如圖20中所示出的,由於訊框之間的依賴性,因此當丟棄某些訊框時,依賴於所丟棄的訊框的其他訊框將不可恰當地解碼,並且因此亦可能被丟棄。在圖20中,在下面一行數字中概述了要作為群組來丟棄的訊框。例如,若訊框8被丟棄,則所有隨後的訊框(按解碼順序)亦被丟棄。另一方面,若訊框4被丟棄,則訊框2、1、3、6、5和7被丟棄。同樣地,若訊框2被丟棄,則訊框1和3區域亦被丟棄。以此方式,某些媒體元件可以被視為是可選的。
具有資料的區塊傳遞的實體層的可用性可以實現比針對MPEG-2傳輸所實施的媒體傳遞映射更具體的媒體傳遞映射。這轉而可以允許將傳遞映射到phy/MAC接收器介面處實際要求的時間。此種特殊性可以降低緩衝要求並且可以允許開始時間不取決於一般MPEG-2 TS緩衝器模型。如此轉而可以引起頻道改變時間的整體改良,並且可以簡化緩衝器模型。本文所描述的增強可以允許在系統的網路側實施該方案。
圖21是圖示根據本案內容的技術的另一個示例性系統的方塊圖。圖21的示例性系統類似於圖3、15和17。亦即,圖21的實例係包括:發送機設備,其包括媒體編碼器、分段器、發送機、MAC/phy排程器,以及激勵器/放大器;及接收器設備,其包括MAC/phy接收器、傳輸機、媒體播放機(例如,DASH媒體播放機)和編碼解碼器(例如,解碼器)。圖21圖示關於針對該等各個元件的傳輸緩衝器模型的實例的更 詳細的細節。
本案內容描述了用於對跨越多個介面的位元組範圍和物件進行描述的某些技術。實現方式的具體架構可以暴露或者可以不暴露所有介面。可以產生的益處包括允許MAC/phy以更有效的方式來進行排程的能力。此外,該等技術可以允許MAC/phy以以下方式來進行排程:將在不丟棄媒體的情況下進行播放,除非丟棄媒體是期望的能力。
以此方式,本案內容的技術包括將介面配置為:視適用情況,提供描述針對物件或位元組範圍的所要求的傳遞時間(例如,最早及/或最遲時間)的資訊。物件可以對應於區段(亦即,根據DASH的、獨立地可獲取的檔案),並且位元組範圍可以對應於區段的位元組範圍。描述針對物件或位元組範圍的期望傳遞時間的資訊可以包括:物件/位元組範圍相對於傳遞中的其他媒體串流及/或該MAC/phy資源上的其他服務的優先順序。相對於其他媒體串流的優先順序可以描述例如視訊資料相對於相同媒體內容的音訊及/或定時文字串流的優先順序。該資訊亦可以描述最遲傳遞時間。該資訊進一步可以描述最早傳遞時間,對於對該物件/位元組範圍和其他物件/位元組範圍進行編碼的編碼器,最早傳遞時間可以包括相對於該其他位元組範圍的優先順序。該資訊亦可以描述位元組範圍或物件的受制於特定編碼器的部分,其可以包括編碼器的類型及/或編碼器的位址。
本案內容的技術進一步可以包括編碼器和分段器/封包器、分段器和發送機(例如,實施ROUTE及/或FLUTE協 定的發送機),以及發送機(其實施ROUTE及/或FLUTE協定)和MAC/phy層設備間的介面。
圖22是圖示用於獲取媒體傳遞事件的示例性技術的流程圖。亦即,圖22圖示示例性資料和相關聯的事件以達成資料串流媒體服務。可以由例如接收器設備(例如,圖3的MAC/Phy接收器或ROUTE接收器)來執行圖22的技術。在該實例中,存在兩個事件序列。第一群組與實體層相關。排程器可以被配置為:決定包含例如服務清單(SLT)和時間需求的封包在引導程式和前序信號之後的緊湊的鄰近時間內出現。此舉可以藉由將相關封包識別為「緊接在前序信號之後的FEC訊框中進行發送」來支援。引導程式和前序信號的循環時間位置很可能與媒體T-RAP等時線對準,以便使等候狀態最小化。多個交錯的媒體開始時間和T-RAP可能要求:需要多個引導程式和相關聯的訊號傳遞來使頻道改變時間最小化。若使用ROHC-U(單向模式的穩健標頭壓縮)標頭壓縮,則可能需要對上下文刷新進行同步,以便在功能上識別T-RAP。這應當可選地支援,如圖22中所示出的。
如圖22中所示出的,用於獲取媒體傳遞事件的示例性技術(其可以由如上文針對例如圖1、3、8、14、15、17和21所論述的發送機設備來執行)可以包括引導程式偵測、前序信號接收、獲取SLT和時間PLP和可選的ROHC-U,以及獲取服務PLP,上述各項中的所有項可以使用時間上的群組傳遞來使等候狀態最小化。PLP可以是BS/前序信號之後的第一PLP。另外,該技術可以包括MPD接收、IS接收、媒體區段接收 以及媒體重播。可以使用經由T-RAP的群組傳遞來使等候狀態最小化。
圖23是圖示根據本案內容的技術的、用於傳輸媒體資料的示例性方法的流程圖。特定言之,該實例通常涉及一種方法,該方法包括:從伺服器媒體資料的第一單元向伺服器的第二單元發送媒體資料,連同針對媒體資料的描述性資訊。描述性資訊通常指示第二單元何時能夠將媒體資料傳遞給客戶端設備。第一單元可以對應於例如分段器(例如,圖3、8、15、17和21的分段器)或發送機(例如,圖3、8、15、17和21的發送機)。或者,第一單元可以對應於發送機(例如,圖3、8、15、17和21的發送機),並且第二單元可以對應於MAC/phy單元(例如,圖3、8、15和21的MAC/phy單元或者圖17的實體層排程器)。
在圖23的實例中,初始地,第一單元產生包括區段的位元串流,其中區段具有隨機存取點(RAPs)以及緊接在RAP中的至少一個RAP之前的清單檔案(150)。清單檔案可以包括例如媒體呈現描述(MPD)。儘管在該實例中,第一單元產生位元串流,但是應當理解,在其他實例中,第一單元可以例如從內容準備設備20(圖1)簡單地接收所產生的位元串流。在一些實例中,第一單元可以接收位元串流並且隨後對位元串流進行操作,例如,以便緊接在RAP中的至少一個RAP之前插入清單檔案,例如,如圖10中所示出的。
第一單元隨後將針對位元串流的媒體資料的描述性資訊發送給伺服器設備的第二單元。描述性資訊指示媒體資 料的區段中的一個區段或者區段中的至少一個區段的位元組範圍中的至少一項,以及能夠傳遞區段或區段的位元組範圍的最早時間或者能夠傳遞區段或區段的位元組範圍的最遲時間中的至少一項(152)。描述性資訊可以符合上文的描述。例如,描述性資訊可以包括以下各項中的任何或所有項:區段或位元組範圍的受制於特定媒體編碼器的部分;目標時間,其中區段或位元組範圍應當在目標時間處或緊接在目標時間之後傳遞;能夠傳遞區段或位元組範圍的最遲時間;針對區段或位元組範圍中的資料的呈現時間戳記;包括區段的媒體串流相對於其他媒體串流關於針對媒體串流的資料的目標傳遞時間的優先順序;及/或針對區段或位元組範圍中的資料的解碼時間戳記。第一單元亦向第二單元發送媒體資料(例如,位元串流或者一或多個區段,或者區段的部分)(154)。
第一單元亦可以向第二單元發送語法元素,其中語法元素指示當從第二單元向客戶端設備發送媒體資料時是否必須保留媒體資料的傳遞順序(156)。語法元素可以是例如一位元的標誌,其指示是否按傳遞順序提供ROUTE通信期的資料以及是否要保持/保留該傳遞順序,如上文所論述的。
第二單元隨後可以向客戶端設備發送區段或區段的位元組範圍(其中客戶端設備與伺服器設備分離),使得客戶端設備在不早於特定的時間接收到媒體資料(亦即,區段或區段的位元組範圍),其中特定的時間基於能夠傳遞區段或位元組範圍的最早時間或者能夠傳遞區段或位元組範圍的 最遲時間,如由描述性資訊指示的(158)。例如,第二單元可以確保在能夠傳遞區段或位元組範圍的最早時間之後及/或最遲時間之前傳遞區段或區段的位元組範圍。因此,第二單元可以確保在其間客戶端可以使用區段或位元組範圍的時間傳遞區段或位元組範圍。
在一或多個實例中,可以在硬體、軟體、韌體或者其任意組合中實施所描述的功能。若在軟體中實施,則該等功能可以作為一或多個指令或代碼儲存在電腦可讀取媒體上或者經由電腦可讀取媒體進行傳輸,並且可由基於硬體的處理單元來執行。電腦可讀取媒體可以包括電腦可讀取儲存媒體或通訊媒體,其中電腦可讀取儲存媒體對應於有形媒體,例如資料儲存媒體,通訊媒體包括促進電腦程式從一個位置傳送到另一個位置(例如,根據通訊協定)的任何媒體。以此方式,電腦可讀取媒體通常可以對應於(1)非暫態的有形電腦可讀取儲存媒體或(2)通訊媒體,例如信號或載波。資料儲存媒體可以是可由一或多個電腦或者一或多個處理器存取以獲取用於實施本案內容中所描述的技術的指令、代碼及/或資料結構的任何可用媒體。電腦程式產品可以包括電腦可讀取媒體。
舉例而言(但並非限制),此種電腦可讀取儲存媒體可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟儲存、磁碟儲存或其他磁性儲存設備、快閃記憶體,或者可以用於以指令或資料結構的形式儲存期望的程式碼並且可由電腦存取的任何其他媒體。此外,任何連接可以適當地稱為電 腦可讀取媒體。例如,若使用同軸電纜、光纖電纜、雙絞線、數位用戶線(DSL)或諸如紅外線、無線電和微波之類的無線技術從網站、伺服器或其他遠端源傳輸指令,則同軸電纜、光纖電纜、雙絞線、DSL或諸如紅外線、無線電和微波之類的無線技術包括在媒體的定義中。但是,應當理解,電腦可讀取儲存媒體和資料儲存媒體不包括連接、載波、信號或其他暫態媒體,而是涉及非暫態的有形儲存媒體。如本文所使用的,磁碟和光碟包括壓縮光碟(CD)、雷射光碟、光碟、數位多功能光碟(DVD)、軟碟和藍光光碟,其中磁碟通常磁性地再現資料,而光碟通常利用雷射來光學地再現資料。上述的組合亦應當包括在電腦可讀取媒體的範圍內。
指令可以由一或多個處理器執行,例如一或多個數位訊號處理器(DSPs)、通用微處理器、特殊應用積體電路(ASICS)、現場可程式邏輯陣列(FPGAs),或者其他等效的積體或個別邏輯電路。因此,如本文所使用的,術語「處理器」可以代表前述結構中的任何結構或者適合於實施本文所描述的技術的任何其他結構。另外,在某些態樣中,可以在被配置用於進行編碼和解碼的專用硬體模組及/或軟體模組內提供本文所描述的功能,或者將本文所描述的功能併入組合的編碼解碼器中。此外,可以在一或多個電路或邏輯元件中充分地實施該技術。
可以在廣泛多樣的設備或裝置(包括無線手持設備、積體電路(IC)或一組IC(例如,晶片組))中實施本案內容的技術。本案內容中描述各種元件、模組或單元是為了 強調被配置為執行所揭示的技術的設備的功能態樣,但不一定要求由不同的硬體單元來實現。相反,如上文所描述的,各種單元可組合到編碼解碼器硬體單元中,或者由交互動操作的硬體單元的集合(包括如上文所描述的一或多個處理器)結合適當的軟體及/或韌體來提供。
已描述了各種實例。該等實例和其他實例在所附申請專利範圍的範圍內。
150‧‧‧清單檔案
152‧‧‧步驟
154‧‧‧步驟
156‧‧‧步驟
158‧‧‧步驟

Claims (36)

  1. 一種傳輸媒體資料的方法,該方法包括,由一伺服器設備的一第一單元進行以下操作:向該伺服器設備的一第二單元發送針對媒體資料的描述性資訊,其中該描述性資訊指示該媒體資料的一區段或者該區段的一位元組範圍中的至少一項,以及能夠傳遞該區段或該區段的該位元組範圍的一最早時間或者能夠傳遞該區段或該區段的該位元組範圍的一最遲時間中的至少一項;及向該第二單元發送該媒體資料。
  2. 如請求項1所述之方法,進一步包括以下步驟:向該第二單元發送一語法元素,其中該語法元素指示當從該第二單元向一客戶端設備發送該媒體資料時是否必須保留該媒體資料的一傳遞順序。
  3. 如請求項1所述之方法,其中該描述性資訊進一步指示該區段或該位元組範圍的受制於一特定媒體編碼器的一部分。
  4. 如請求項1所述之方法,其中該描述性資訊進一步指示一目標時間,其中該區段或該位元組範圍應當在該目標時間處或者緊接在該目標時間之後傳遞。
  5. 如請求項1所述之方法,其中該描述性資訊進一步指示包括該區段的一媒體串流相對於其他媒體串流關於針對該等媒 體串流的資料的目標傳遞時間的一優先順序。
  6. 如請求項5所述之方法,其中該媒體串流包括視訊串流,並且其中該其他媒體串流包括與該視訊串流相關的一音訊串流。
  7. 如請求項5所述之方法,其中該媒體串流包括一音訊串流,並且其中該其他媒體串流包括與該音訊串流相關的一視訊串流。
  8. 如請求項5所述之方法,其中該媒體串流包括:包括該其他媒體串流的複數個串流中的一個串流,其中該複數個串流之每一者串流與該相同的媒體內容相關,並且其中該複數個串流包括一或多個視訊串流以及一或多個音訊串流。
  9. 如請求項8所述之方法,其中該複數個串流進一步包括一或多個定時文字串流。
  10. 如請求項1所述之方法,其中該描述性資訊進一步指示以下各項中的至少一項:能夠傳遞該區段或該位元組範圍的一最遲時間,針對該區段或該位元組範圍內的資料的一呈現時間戳記,或者針對該區段或該位元組範圍內的資料的一解碼時間戳記。
  11. 如請求項1所述之方法,其中該第一單元包括一分段器,並且其中該第二單元包括一發送機。
  12. 如請求項1所述之方法,其中該第一單元包括一發送機,並且其中該第二單元包括一MAC/phy單元。
  13. 如請求項1所述之方法,進一步包括以下步驟:由該第二單元向與該伺服器設備分離的客戶端設備發送該區段或該區段的該位元組範圍,使得該客戶端設備不早於一特定的時間接收該媒體資料,其中該特定的時間基於由該描述性資訊指示的該最早時間或該最遲時間。
  14. 如請求項13所述之方法,進一步包括以下步驟:決定該伺服器設備和該客戶端設備之間的一延遲,其中發送之步驟包括:基於該最早時間或該最遲時間以及該所決定的延遲來發送該區段或該位元組範圍。
  15. 如請求項1所述之方法,進一步包括以下步驟:產生一位元串流以包括描述該媒體資料的一清單檔案,使得該清單檔案緊接在該媒體資料的一隨機存取點(RAP)之前。
  16. 如請求項15所述之方法,其中產生該位元串流之步驟包括:產生該位元串流以包括緊接在該清單檔案之前的穩健標頭壓縮(ROHC)上下文初始化資料。
  17. 如請求項16所述之方法,其中該ROHC上下文初始化資料是針對用於傳輸該位元串流的單向傳輸的一即時物件傳遞(ROUTE)通信期的。
  18. 如請求項17所述之方法,進一步包括以下步驟:針對包括在該ROUTE通信期中的一或多個分層編碼傳輸(LCT)通信期來產生該ROHC上下文初始化資料。
  19. 如請求項16所述之方法,其中該ROHC上下文初始化資料是針對用於傳輸該位元串流的一或多個分層編碼傳輸(LCT)通信期的。
  20. 如請求項16所述之方法,進一步包括以下步驟:當使用ROHC-U(處於單向模式的ROHC)壓縮時,對一上下文刷新進行同步。
  21. 如請求項15所述之方法,其中該清單檔案包括根據HTTP的動態可適應資料串流(DASH)的一媒體呈現描述(MPD)。
  22. 如請求項1所述之方法,進一步包括以下步驟:利用根據一或多個網路通訊協定的資料來對該區段或該位元組範圍進行封裝,其中指示該最早時間或最遲時間的該描述性資訊亦 適用於該根據該一或多個網路通訊協定的資料。
  23. 一種用於發送媒體資料的伺服器設備,該設備包括:一第一單元,以及一第二單元,其中該第一單元包括一或多個處理單元,其被配置為:向該伺服器設備的該第二單元發送針對媒體資料的描述性資訊,其中該描述性資訊指示該媒體資料的一區段或該區段的一位元組範圍,以及能夠傳遞該區段或該位元組範圍的一最早時間或者能夠傳遞該區段或該區段的該位元組範圍的一最遲時間;及向該第二單元發送該媒體資料。
  24. 如請求項23所述之設備,其中該第一單元包括一分段器,並且其中該第二單元包括一發送機。
  25. 如請求項23所述之設備,其中該第一單元包括一發送機,並且其中該第二單元包括一MAC/phy單元。
  26. 如請求項23所述之設備,其中該描述性資訊進一步指示以下各項中的至少一項:該區段或該位元組範圍的受制於一特定媒體編碼器的一部分;一目標時間,其中該區段或該位元組範圍應當在該目標時間處或緊接在該目標時間之後傳遞;能夠傳遞該區段或該位元組範圍的一最遲時間;針對該區 段或該位元組範圍內的資料的一呈現時間戳記;或者針對該區段或該位元組範圍內的資料的一解碼時間戳記。
  27. 如請求項23所述之設備,其中該描述性資訊進一步指示包括該區段的一媒體串流相對於其他媒體串流關於針對該媒體串流的資料的目標傳遞時間的一優先順序。
  28. 如請求項23所述之設備,其中該第一單元的該一或多個處理器進一步被配置為:產生一位元串流以包括描述該媒體資料的一清單檔案,使得該清單檔案緊接在該媒體資料的一隨機存取點(RAP)之前,並且穩健標頭壓縮(ROHC)上下文初始化資料緊接在該清單檔案之前。
  29. 一種用於發送媒體資料的伺服器設備,該設備包括:一第一單元,以及一第二單元,其中該第一單元包括:用於向該伺服器設備的該第二單元發送針對媒體資料的描述性資訊的手段,其中該描述性資訊指示該媒體資料的一區段或該區段的一位元組範圍,以及能夠傳遞該區段或該位元組範圍的一最早時間或者能夠傳遞該區段或該區段的該位元組範圍的一最遲時間;及用於向該第二單元發送該媒體資料的手段。
  30. 如請求項29所述之設備,其中該描述性資訊進一步指示以下各項中的至少一項:該區段或該位元組範圍的受制於一特定媒體編碼器的一部分;一目標時間,其中該區段或該位元組範圍應當在該目標時間處或者緊接在該目標時間之後傳遞;能夠傳遞該區段或該位元組範圍的一最遲時間;針對該區段或該位元組範圍中的資料的一呈現時間戳記;或者針對該區段或該位元組範圍中的資料的一解碼時間戳記。
  31. 如請求項29所述之設備,其中該描述性資訊進一步指示包括該區段的一媒體串流相對於其他媒體串流關於針對該媒體串流的資料的目標傳遞時間的一優先順序。
  32. 如請求項29所述之設備,其中該第一單元進一步包括:用於產生一位元串流以包括描述該媒體資料的一清單檔案,使得該清單檔案緊接在該媒體資料的一隨機存取點(RAP)之前的手段;及用於產生緊接在該清單檔案之前的穩健標頭壓縮(ROHC)上下文初始化資料的手段。
  33. 一種具有儲存在其上的指令的電腦可讀取儲存媒體,其中當該等指令被執行時,使得一伺服器設備的一第一單元的一處理器執行以下操作:向該伺服器設備的一第二單元發送針對媒體資料的描述性資訊,其中該描述性資訊指示該媒體資料的一區段或者該 區段的一位元組範圍中的至少一項,以及能夠傳遞該區段或該區段的該位元組範圍的一最早時間或者能夠傳遞該區段或該區段的該位元組範圍的一最遲時間中的至少一項;及向該第二單元發送該媒體資料。
  34. 如請求項33所述之電腦可讀取儲存媒體,其中該描述性資訊進一步指示以下各項中的至少一項:該區段或該位元組範圍的受制於一特定媒體編碼器的一部分;一目標時間,其中該區段或該位元組範圍應當在該目標時間處或者緊接在該目標時間之後傳遞;能夠傳遞該區段或該位元組範圍的一最遲時間;針對該區段或該位元組範圍內的資料的一呈現時間戳記;或者針對該區段或該位元組範圍內的資料的一解碼時間戳記。
  35. 如請求項33所述之電腦可讀取儲存媒體,其中該描述性資訊進一步指示包括該區段的一媒體串流相對於其他媒體串流關於針對該媒體串流的資料的目標傳遞時間的一優先順序。
  36. 如請求項33所述的電腦可讀取儲存媒體,進一步包括使得該處理器執行以下操作的指令:產生一位元串流以包括描述該媒體資料的一清單檔案,使得該清單檔案緊接在該媒體資料的一隨機存取點(RAP)之前;及 產生緊接在該清單檔案之前的穩健標頭壓縮(ROHC)上下文初始化資料。
TW104140802A 2014-12-05 2015-12-04 用於多媒體和檔案傳輸的傳輸介面的方法及伺服器設備、及用於記錄相關指令於其上的電腦可讀取儲存媒體 TWI668982B (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201462088351P 2014-12-05 2014-12-05
US62/088,351 2014-12-05
US201562102930P 2015-01-13 2015-01-13
US62/102,930 2015-01-13
US201562209620P 2015-08-25 2015-08-25
US62/209,620 2015-08-25
US14/958,086 US20160164943A1 (en) 2014-12-05 2015-12-03 Transport interface for multimedia and file transport
US14/958,086 2015-12-03

Publications (2)

Publication Number Publication Date
TW201633759A true TW201633759A (zh) 2016-09-16
TWI668982B TWI668982B (zh) 2019-08-11

Family

ID=55229794

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104140802A TWI668982B (zh) 2014-12-05 2015-12-04 用於多媒體和檔案傳輸的傳輸介面的方法及伺服器設備、及用於記錄相關指令於其上的電腦可讀取儲存媒體

Country Status (5)

Country Link
US (1) US20160164943A1 (zh)
KR (1) KR20170089863A (zh)
CN (1) CN107005729A (zh)
TW (1) TWI668982B (zh)
WO (1) WO2016090280A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI699700B (zh) * 2017-10-20 2020-07-21 英商葛夫科有限公司 編譯方法、編譯器及相關計算機程式
US10936008B2 (en) 2017-10-20 2021-03-02 Graphcore Limited Synchronization in a multi-tile processing array
US10963003B2 (en) 2017-10-20 2021-03-30 Graphcore Limited Synchronization in a multi-tile processing array
US11321272B2 (en) 2017-10-20 2022-05-03 Graphcore Limited Instruction set

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3232668A4 (en) * 2014-12-10 2018-06-13 LG Electronics Inc. Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method and broadcast signal reception method
WO2016105100A1 (ko) * 2014-12-22 2016-06-30 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US10721505B2 (en) * 2015-01-21 2020-07-21 Lg Electronic Inc. Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method
CN106105240B (zh) 2015-01-21 2019-11-08 Lg电子株式会社 发送广播信号的装置以及发送广播信号的方法
KR102044702B1 (ko) 2015-02-04 2019-11-14 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
CN112468251A (zh) * 2015-03-01 2021-03-09 Lg 电子株式会社 发送广播信号的设备和方法以及接收广播信号的设备和方法
WO2016153241A1 (ko) * 2015-03-23 2016-09-29 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US10469919B2 (en) * 2015-04-07 2019-11-05 Lg Electronics Inc. Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method
US10594417B2 (en) 2016-01-14 2020-03-17 Lg Electronics Inc. Apparatus and method for transmitting and receiving broadcast signal
WO2017141701A1 (ja) * 2016-02-15 2017-08-24 ソニー株式会社 受信装置、送信装置、及び、データ処理方法
US10432690B1 (en) * 2016-06-03 2019-10-01 Amazon Technologies, Inc. Manifest partitioning
US9872062B1 (en) * 2017-02-22 2018-01-16 Wyse Technology L.L.C. Enforcing synchronization by embedding audio within video frame data
KR102391799B1 (ko) * 2017-10-19 2022-04-29 삼성전자주식회사 유니캐스트 기반 멀티미디어 서비스 방법 및 장치
GB201721847D0 (en) 2017-12-22 2018-02-07 Telecom Paris Tech Priority map for media files
CN110545492B (zh) * 2018-09-05 2020-07-31 北京开广信息技术有限公司 媒体流的实时递送方法及服务器
US11582125B2 (en) * 2019-10-01 2023-02-14 Qualcomm Incorporated Repair mechanism for adaptive bit rate multicast
KR20230002287A (ko) * 2020-01-02 2023-01-05 보드 오브 트러스티즈 오브 미시건 스테이트 유니버시티 향상된 멀티미디어 신호 브로드캐스팅, 수신, 데이터 전달 및 데이터 수집을 위한 시스템들 및 방법들
US11638044B1 (en) * 2022-03-01 2023-04-25 Amazon Technologies, Inc. Preparation of warm inputs for digital content streaming

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6988144B1 (en) * 1999-11-18 2006-01-17 International Business Machines Corporation Packet scheduling system and method for multimedia data
EP1170919A1 (en) * 2000-07-04 2002-01-09 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Method and device for improving the transmission efficiency in a communication system with a layered protocol stack
US7489706B2 (en) * 2004-06-28 2009-02-10 Spirent Communications, Inc. Method and apparatus for placing a timestamp in a frame
US9209934B2 (en) * 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
WO2009006593A2 (en) * 2007-07-05 2009-01-08 Coherent Logix Incorporated Mobile television broadcast system
CN101370175B (zh) * 2007-08-15 2011-12-28 华为技术有限公司 确定数据发送时间的方法、组播分组方法、装置和系统
US8521901B2 (en) * 2007-12-28 2013-08-27 Citrix Systems, Inc. TCP burst avoidance
US8719435B2 (en) * 2009-08-21 2014-05-06 The Chinese University Of Hong Kong Devices and methods for scheduling transmission time of media data
US9185445B2 (en) * 2009-09-24 2015-11-10 At&T Intellectual Property I, L.P. Transmitting a prioritized audio stream along with multimedia content
US9456015B2 (en) * 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
WO2013102179A1 (en) * 2011-12-30 2013-07-04 Krause Edward A High capacity network communication link using multiple cellular devices
US20130271655A1 (en) * 2012-04-12 2013-10-17 Google Inc. System, apparatus and method to facilitate live video streaming
US9125073B2 (en) * 2012-08-03 2015-09-01 Intel Corporation Quality-aware adaptive streaming over hypertext transfer protocol using quality attributes in manifest file
EP2784996A1 (en) * 2013-03-27 2014-10-01 British Telecommunications public limited company Deadline driven content delivery

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI699700B (zh) * 2017-10-20 2020-07-21 英商葛夫科有限公司 編譯方法、編譯器及相關計算機程式
US10802536B2 (en) 2017-10-20 2020-10-13 Graphcore Limited Compiler method
US10936008B2 (en) 2017-10-20 2021-03-02 Graphcore Limited Synchronization in a multi-tile processing array
US10963003B2 (en) 2017-10-20 2021-03-30 Graphcore Limited Synchronization in a multi-tile processing array
US11262787B2 (en) 2017-10-20 2022-03-01 Graphcore Limited Compiler method
US11321272B2 (en) 2017-10-20 2022-05-03 Graphcore Limited Instruction set

Also Published As

Publication number Publication date
KR20170089863A (ko) 2017-08-04
US20160164943A1 (en) 2016-06-09
WO2016090280A1 (en) 2016-06-09
TWI668982B (zh) 2019-08-11
CN107005729A (zh) 2017-08-01

Similar Documents

Publication Publication Date Title
TWI668982B (zh) 用於多媒體和檔案傳輸的傳輸介面的方法及伺服器設備、及用於記錄相關指令於其上的電腦可讀取儲存媒體
KR102469676B1 (ko) Lct에 기초한 dash 포맷들을 이용하는 파일 포맷 기반 스트리밍
TWI740878B (zh) 決定用於媒體傳輸的媒體傳遞事件位置
TWI686077B (zh) 低延遲視訊串流
CN108141455B (zh) 用于媒体数据的流式发射的期限信令
CN110447234B (zh) 用于处理媒体数据及产生位流的方法、装置及存储媒体
CN109905730B (zh) 用于经由http的动态自适应流式传输(dash)的实况定时方法
US20160337424A1 (en) Transferring media data using a websocket subprotocol
CA2807157C (en) Manifest file updates for network streaming of coded video data
CN111837403B (zh) 处理用于以流传送媒体数据的交互性事件
CN110870282B (zh) 使用网络内容的文件轨处理媒体数据
EP3095247B1 (en) Robust live operation of dash
TW202037177A (zh) 用於串流媒體資料之服務描述
US20180176278A1 (en) Detecting and signaling new initialization segments during manifest-file-free media streaming

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees