TWI586158B - 用於透過http動態適應串流(dash)之媒體串流的管理器 - Google Patents
用於透過http動態適應串流(dash)之媒體串流的管理器 Download PDFInfo
- Publication number
- TWI586158B TWI586158B TW103119402A TW103119402A TWI586158B TW I586158 B TWI586158 B TW I586158B TW 103119402 A TW103119402 A TW 103119402A TW 103119402 A TW103119402 A TW 103119402A TW I586158 B TWI586158 B TW I586158B
- Authority
- TW
- Taiwan
- Prior art keywords
- media server
- media
- server
- client device
- manager
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 28
- 230000004044 response Effects 0.000 claims description 19
- 238000011156 evaluation Methods 0.000 claims description 3
- 230000006978 adaptation Effects 0.000 claims 2
- 238000012163 sequencing technique Methods 0.000 claims 1
- 238000003860 storage Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 239000012634 fragment Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000011177 media preparation Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Classifications
-
- 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
-
- 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
-
- 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/756—Media network packet handling adapting media to device capabilities
-
- 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/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
-
- 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/60—Network 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/63—Control 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/637—Control signals issued by the client directed to the server or network components
- H04N21/6373—Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
-
- 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
- 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/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- 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/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
Description
實施例係關於媒體串流。尤其是,一些實施例係關於用以配合媒體伺服器及媒體用戶端工作之媒體串流的一管理器。
透過HTTP動態適應串流(DASH)標準(同時習知如MPEG-DASH)是目前技術之適應視訊串流標準。其致能高品質媒體內容串流自習見的HTTP網路伺服器經網際網路被傳送。該標準將內容分成一序列小HTTP為基礎之檔案片段,其以各個片段包含一媒體之短的區間。這些短片段可能被要求並且依序地被播放以產生許多小時之播放時間。
於該DASH標準中,用戶端自伺服器選擇其想要使用之所要的片段。該伺服器返回該等要求的片段並且用戶端裝置播放該等片段。
依據本發明之一實施例,係特地提出一種由一用戶端裝置進行之方法,該方法包含下列步驟:下載一媒體呈
現描述符(MPD)檔案,該MPD檔案包含複數個媒體片段,各媒體片段與可提供該片段之至少一媒體伺服器相關聯;自一HTTP動態適應串流(DASH)管理器要求一媒體伺服器狀態更新,該媒體伺服器狀態更新包含與一媒體伺服器相關聯之一相對伺服器排序,該媒體伺服器指示來自該管理器伺服器的一推薦至該用戶端裝置;及自該MPD檔案選擇一片段;評估該媒體伺服器狀態更新;以及回應於該評估而選擇用於該片段之一來源媒體伺服器。
100‧‧‧網路
102‧‧‧媒體創立系統
104‧‧‧媒體預備系統
106‧‧‧媒體伺服器
108‧‧‧原始媒體伺服器
110‧‧‧HTTP快取
112‧‧‧網路連接
114‧‧‧用戶端裝置
200‧‧‧DASH媒體檔案結構
202‧‧‧媒體呈現檔案
204、206、208‧‧‧週期片段
210‧‧‧週期片段
212、214‧‧‧適應性組集
216‧‧‧適應性組集
218、220‧‧‧表示
222‧‧‧片段資訊
224‧‧‧啟始化片段
226、228、230‧‧‧媒體片段
300、307、313、319‧‧‧週期
302、304、306‧‧‧表示
308、310、312‧‧‧表示
314、316、318‧‧‧表示
320、322、324‧‧‧表示
400‧‧‧DASH用戶端流程圖
402-414‧‧‧操作步驟
500‧‧‧DASH媒體串流網路
502‧‧‧媒體伺服器
504‧‧‧用戶端裝置
506‧‧‧管理器
508‧‧‧媒體伺服器模組
510‧‧‧操作例示
512‧‧‧伺服器狀態更新
600‧‧‧裝置互動圖
602‧‧‧內容伺服器
604‧‧‧管理器
606‧‧‧用戶端裝置
608‧‧‧伺服器登記訊息
610-634‧‧‧操作步驟
700‧‧‧用戶端裝置流程圖
702-720‧‧‧操作步驟
800‧‧‧管理器流程圖
802-812‧‧‧操作步驟
900‧‧‧裝置系統方塊圖
902‧‧‧硬體處理器
904‧‧‧主記憶體
906‧‧‧靜態記憶體
908‧‧‧鏈路
910‧‧‧顯示裝置
912‧‧‧輸入裝置
914‧‧‧使用者介面導航裝置
916‧‧‧儲存單元
918‧‧‧信號產生裝置
920‧‧‧網路介面裝置
921‧‧‧感測器
922‧‧‧機器可讀取媒體
924‧‧‧資料結構或指令
926‧‧‧通訊網路
928‧‧‧輸出控制器
圖1例示一DASH媒體串流網路範例。
圖2例示一DASH媒體檔案結構範例。
圖3例示一DASH用戶端選擇各媒體片段之範例。
圖4例示一DASH用戶端裝置流程圖範例。
圖5例示包含一管理器之DASH媒體串流網路範例。
圖6例示在用戶端裝置、管理器及內容伺服器之間的互動之範例圖形。
圖7例示DASH用戶端裝置流程圖範例。
圖8例示管理器流程圖範例。
圖9例示依據一些實施例之代表性管理器或用戶端裝置之系統方塊圖。
下面的說明及圖形充分地例示特定實施例以使
那些熟習本技術者能夠實施它們。其他實施例可包含結構、邏輯、電氣、處理程序、以及其他的變化。一些實施例之部份及特點可被包含於其他的實施例中或被取代。申請專利範圍中提出之實施例包含所有那些申請專利範圍之可用的等效者。
那些熟習本技術者應明白,實施例可有各種修改,並且此處被界定之一般原理可被應用至其他實施例以及應用中而不脫離本揭示之範疇。此外,於下面的說明中,為了說明目的,許多的細節被提出。但是,一熟習本技術者將了解,此處揭示之實施例可被實施而不需這些特定細節之使用。於其他實例中,習知的結構及處理程序不以方塊圖形式被展示以避免因非必要之細節而混淆此處揭示之實施例的說明。因此,本揭示是不欲受制於所展示之實施例,但是卻與於此處揭示之原理及特點一致的最廣泛範疇相符合。
圖1例示DASH媒體串流網路100之範例。網路100也例示準備串流媒體的處理程序,嚴格地說,雖然此等功能可能不是一媒體串流網路之部份。
網路100可包括一媒體創立系統102。這系統基本上代表最後將經網路被串流之任何媒體來源。該媒體接著被備妥且以適當的格式被安置以供使用DASH標準而串流。這利用媒體預備系統104被例示。一代表性檔案結構於下面被例示於圖2中。
一旦媒體準備妥當,其在媒體伺服器106上被託
管。媒體伺服器106可以是任何型式之系統,其中該媒體內容被託管及/或被服務。如上所述,DASH使用HTTP以將該內容串流化。媒體伺服器106可包括原始媒體伺服器108以及HTTP快取110之層次結構。為了使串流更有效率以及減低單一伺服器上之負載,媒體之複數個複製可被安置於不同的伺服器上並且接著在以地理或邏輯地鄰近至一用戶端之一些形式被安置的伺服器上被快取,因而媒體可以較少之延遲被串流。希望串流內容之用戶端裝置114可經任何網路連接112之上達成一HTTP要求。伺服器106接著返回所要求的內容。
為了這揭示之目的,原始伺服器、快取伺服器、以及其它者之複雜性可大量地或完全地被忽略。一用戶端裝置114經由一伺服器106一致資源定位器(URL)而要求媒體內容之模式並且伺服器106返回該要求的內容是充分地詳細。
圖2例示DASH媒體檔案結構200之範例。媒體呈現檔案202,有時被稱為一媒體呈現描述符(MPD)檔案,包括複數個週期片段204、206、208。於這揭示中,這些詞語(媒體呈現檔案及MPD檔案)將可替換地被使用且選擇一者或另一者是無差異。分段之結構允許藉由增加另外的週期片段在檔案中之任何位置而疊接任意的內容成為檔案。
一週期片段210包括複數個適應性組集212、214。各週期片段210同時也包括週期、開始時間、以及適
應性組集212、214可於其中被取得之基本URL(一致資源定位器)。適應性組集212、214可包括不同型式之媒體。於2圖中,適應性組集212包括視訊且適應性組集214包括音訊。各種適應性組集允許用戶端裝置選擇其所要求的構件/歌曲。
一適應性組集216可包括複數個表示法218、220。各表示法包括關於該表示法之資訊,例如,串流帶寬、表示法之寬度及高度、以及其它者。因此,於2圖中,表示法218具有一512kbps之帶寬,以及一指定的高度及寬度。適應性組集也包括片段資訊,例如,片段持續以及片段樣型。不同的表示法允許用戶端裝置在片段邊界選擇及/或切換所需的串流帶寬。
片段222可包括實際片段可被取得的資訊。因此,片段222可包括一啟始化片段224,其包含一啟始化片段可被取得之一URL,以及複數個媒體片段226、228、230。各個媒體片段可包括一開始時間以及媒體片段可被取得之一URL。如上面之指示,媒體呈現檔案不包含媒體它本身,但是卻包含下面之資訊:允許一用戶端裝置辨識何種媒體是可用的、媒體之詳細說明、以及何處接收該媒體。該等片段允許做出調適所取得的媒體於各種情況之判定,例如,變動帶寬及負載。
在串流處理程序期間,一用戶端裝置被允許要求來自不同的表示法(以及來自不同伺服器)之一片段。圖3例示一DASH用戶端選擇來自不同表示法之各種媒體片段
的一範例。於3圖中,有四個例示週期,300、307、313、以及319。該等週期具有不同的長度。因此週期300是10秒、週期207是30秒、週期313是10秒、以及週期219是20秒。
如圖2之檔案結構中之指示,各週期具有不同的表示法,對於週期300之302、304、306,對於週期307之308、310、312,對於週期313之314、316、318,以及對於週期319之320、322及324。這些表示法之各者可以是不同的帶寬、尺寸、被安置於不同伺服器上、以及其它者。一用戶端裝置可在串流處理期間選擇不同的表示法以適應於各種情況。實線326代表在不同播放週期之期間用戶端裝置選擇不同表示法之範例。
圖4例示一範例DASH用戶端流程圖400。流程圖開始在操作402,於其中用戶端下載媒體呈現檔案,其包含如先前所述之URL、表示法及片段細節。於操作404中,用戶端計算可用的下載率並且判定哪個下載率對於這被給予片段的用戶端是最佳地。於操作406中,用戶端對於所需的播放時間區間而選擇所需的表示法/片段。於操作408中,所需的表示法被要求且被接收(箭號410)。進入的表示法被傳遞至一播放模組或它們將於其中被傳遞之其他模組(箭號412)。最後於操作414中,這些步驟被重複直至播放結束為止。
用戶端裝置缺少關於媒體伺服器情況之資訊,並且,因此,可在播放期間做出次佳選擇。圖5例示包含
管理器506之DASH媒體串流網路500範例。管理器506也可被稱為DASH管理器,其指示增補DASH串流結構使具有另外的功能,以當在播放期間選擇表示法時協助改進利用一用戶端裝置所做出之判定品質。
媒體伺服器502可登記於管理器506以通知管理器有關它們的存在。在媒體伺服器502以及管理器506之間的通訊可經由一選擇的媒體伺服器模組508被達成,其可便利於該通訊以便使在媒體伺服器502及管理器506之間的通訊之衝擊最小化。另外地,在不同伺服器之間的通訊細節可經由媒體伺服器模組508被標準化,以便提供無關於內容可能存在於媒體伺服器502之許多不同的型式及變化之一個一致的介面。
一媒體伺服器502對於一管理器506之登記允許管理器追蹤媒體伺服器之狀態並且了解具有責任之媒體伺服器族群的分別成員。因此,如利用510之例示,一媒體伺服器502可傳送狀態更新至管理器506,其接著將保持該狀態資訊。自媒體伺服器502被傳送之狀態資訊可包含上線狀態(例如,一伺服器是否上線或離線)、可用的內容(例如,一媒體伺服器必須要提供的內容)、媒體伺服器正服務之串流用戶端數目、媒體伺服器上之負載、位置資訊、以及其它者。於一些實施例中,媒體伺服器上之負載可被計算作為對於它們正服務之所有用戶端的伺服器上之所有上傳及/或下載率的總和。一些實施例可使用一媒體伺服器的其餘容量以取代該負載,或除了該負載之外。如果一
特定用戶端要求自登記媒體伺服器之一者取得內容,則狀態資訊允許管理器辨識媒體伺服器之相對需求性。因此協助管理器506判定使用一特定媒體伺服器502之需求性的任何資訊可被包含作為狀態資訊之部份。
利用登記媒體伺服器502所託管之呈現媒體檔案可被更新以包含一DASH管理器URL,因而用戶端裝置將了解哪個管理器對於有關一特定呈現媒體檔案之媒體伺服器族群具有責任。該DASH管理器URL可採用下面展示之形式。
DASH_manager>HTTP://{DASH_MANAGER_IP}</DASH_manager>
其中{DASH_MANAGER_IP}是用於DASH管理器之URL。當媒體伺服器登記於一管理器時,對呈現媒體檔案之更新可能發生並且如果管理器或管理器URL改變的話,可如所需地被更新。該更新可利用管理器、利用媒體伺服器、或利用另一實體被進行。
當一用戶端裝置504自一媒體伺服器502要求一呈現媒體檔案時,該用戶端裝置504可自該呈現媒體檔案得到該管理器URL。在做出關於其將使用哪個媒體伺服器之其選擇之前,其可自管理器506要求一伺服器狀態更新,如利用512之例示。管理器506接著可返回服務狀態至用戶端裝置504,如512之例示。被傳送至用戶端裝置504之伺服器狀態可包含媒體伺服器502之一相對排序,作為對用戶端裝置504應選擇哪一媒體伺服器502供將來的要求
之一推薦。一推薦可以為至少一推薦的媒體伺服器之形式。如果多於一個媒體伺服器被包含於該排序中,則對於各個伺服器之排序可以是相對於其他伺服器。伺服器狀態更新512也可包含供用於伺服器(或供用於利用管理器506被管理的伺服器之一子集)之其他資訊,例如,線上狀態、可用的內容、負載、以及其它者。於一些實施例中,媒體伺服器上之負載可被計算作為它們正服務的所有用戶端之伺服器上的所有上傳及/或下載率之總和。一些實施例可使用一媒體伺服器之其餘容量取代負載、或除了該負載之外。來自媒體伺服器502之任何的狀態資訊,如果需要的話,可被傳送至用戶端裝置504。於一些實施例中,管理器506可能不傳送一相對的排序,但是可傳送伺服器狀態更新512中之資訊,其可允許用戶端裝置504判定一相對排序以及選擇一所需的媒體伺服器502。
用戶端裝置504也可傳送體驗品質(QoE)資訊至管理器506,因而當管理器506對於用戶端裝置504產生用於媒體伺服器502的相對排序時,此QoE資訊可被考慮。該QoE資訊允許該排序考慮自一選擇的媒體伺服器接收資訊時之用戶端裝置的實際體驗及/或於聚集體中(例如,自媒體伺服器之一組合)接收資訊時之用戶端裝置的實際體驗。該QoE資訊可包含下列資訊,如下載率、平均下載率、緩衝事件數量、總緩衝時間、串流品質、平均串流品質、失效連接、選擇之伺服器(例如,其服務相關的任何或所有資訊)、位置、排序是否考慮到地理或邏輯鄰近
區、以及其它者。這些可以一單一聚集訊息或以對特定目的所專門製作的包含一個或多個表示資訊之各種訊息的方式被傳送。因此,管理器506可以使用來自用戶端裝置504及自媒體伺服器502兩者之回授以對於負載平衡以及其他目標做出推薦。以此方式,伺服器切換可更明確地對於用戶端以及伺服器之情況而被專門製作。因為隨著管理器僅提供推薦,適應性以及重新按特定路線運送被用戶端所採用,同時,這型式的伺服器推薦以及切換可以是更遵循DASH標準。
管理器506可被實行作為一分別之系統(或在其上)或作為一媒體伺服器502之部件。另外地,或此外地,管理器506可被實行作為一應用型式裝置之部件,例如,一路由器、切換器、或其他型式的裝置。其相同地適用於媒體伺服器模組508,其可以是一媒體伺服器502之部件、一管理器506之部件、或在它們之間的分裂。
圖6例示依據一實施例在用戶端裝置606、管理器604、以及內容伺服器602之間的一範例互動圖600。這實施例被設計以例示可能發生在用戶端裝置606、管理器604、以及內容伺服器602之間的一些訊息交換。該實施例未明確地展示在用戶端裝置606以及該媒體伺服器602之間的媒體串流要求/回應。該實施例集中在與管理器604之交換。
如於圖6中之指示,內容伺服器602可藉由傳送一伺服器登記訊息608而登記於管理器604。伺服器登記訊
息可指示至管理器604,有關一伺服器602是可用的並且可提供某種內容。當新的伺服器來到線上時,它們可以這形式動態地被添加至一管理器之責務區域。作為回應,管理器604可儲存所接收的資訊於一資料儲存器或其他位置中,如操作610之指示。以此方式,管理器604了解需負責於追蹤以及提供資訊的伺服器602之收集。
內容伺服器602可提供狀態更新資訊至管理器604,如利用狀態更新訊息612之指示。回應於來自管理器604之一查詢、或任何其他觸發事件之發生,由於自最後更新之資料中的改變,狀態更新訊息612可依據一些預先配置之排程被傳送。當狀態資訊被接收時,管理器604可保留該狀態資訊於一資料儲存器或其他位置中,如操作614之指示。以此方式,管理的內容伺服器602之目前最新狀態可被知道。
狀態資訊可包含線上狀態(例如,一伺服器是否在線上或離線)、可用的內容(例如,一媒體伺服器必須要提供的內容)、媒體伺服器正服務之串流用戶端數量、媒體伺服器上之負載、位置資訊、以及其它者。於一些實施例中,媒體伺服器上之負載可被計算作為對於它們正服務的所有用戶端之伺服器上的所有上傳及/或下載率之總和。一些實施例可使用一媒體伺服器之其餘容量取代負載、或除了該負載之外。如果一特定用戶端要求自登記媒體伺服器之一者取得內容,狀態資訊允許管理器辨識媒體伺服器之相對需求性。因此有助於管理器604判定使用一
特定媒體伺服器602之相對需求性的任何資訊可被包含作為狀態資訊之部份。
一用戶端裝置606可傳送QoE資料至管理器604,如利用QoE訊息616所指示。該QoE資料可包含下列資訊:下載率、平均下載率、緩衝事件數量、總緩衝時間、串流品質、平均串流品質、失效連接、選擇之伺服器(例如,其服務相關之任何或所有的資訊)、位置、排序是否考慮到地理或邏輯鄰近區、用戶端裝置要求之特定內容、以及其它者。這些可以一單一聚集訊息或以專門製作對包含一個或多個表示資訊的特定目的之各種訊息的方式被傳送。回應於來自管理器604之一查詢、或任何其他觸發事件發生,由於自最後更新之QoE資訊中的改變,QoE資訊可依據一些預先配置之排程被傳送。該接收的資訊可被儲存於一資料儲存器或其他位置中,如利用操作618之指示。以此方式,該管理器604可維持來自用戶端裝置606之QoE資訊。
當用戶端裝置606要求了解內容伺服器602之狀態及/或接收哪一內容伺服器602將最佳地符合用戶端裝置606之需要的一建議之排序時,用戶端裝置606可要求一伺服器狀態更新,如狀態要求620所指示。來自管理器之一推薦可以為至少一推薦媒體伺服器之形式。如果多於一媒體伺服器被包含在排序中,則對於各伺服器之排序可以是相對至其他伺服器。一些實施例可包含至少一些QoE資訊於狀態要求中。
因為管理器604保留內容伺服器狀態(操作614)以及用戶端裝置QoE資訊(操作618),當計算內容伺服器602之一相對排序時,其可考慮此資訊,以便推薦用戶端裝置606應選擇哪一內容伺服器602。因此,當做出此等推薦時,管理器604可考慮內容伺服器602以及用戶端裝置606回授。相對排序計算被例示於操作622中。排序及/或內容伺服器狀態資訊可被送回至用戶端裝置606,如排序/狀態訊息624中所例示。被送回至用戶端裝置606之狀態資訊,如果有的話,可包含,例如,利用管理器604被保留之任何或所有的狀態資訊,例如,於操作614中。
用戶端裝置606也可報告失效連接至管理器604。如上面之說明,此資訊可被包含在利用裝置606被傳送至管理器604之QoE資料中。但是,於一些實施例中,其可以是有利地即時報告失效連接而不是等待將被傳送至管理器604之QoE資訊。這型式的情況利用失效連接訊息626被例示。
於一些實施例中,管理器604可啟動與一內容伺服器602之接觸而取得如所需之狀態。這藉由狀態查詢628以及狀態更新630被例示。如果需要的話,相似查詢可被使用以自用戶端裝置606取得QoE資料。任何時間狀態資訊被接收,利用管理器604被保留之狀態資訊可被更新,如利用操作632所指示。
為了自一管理器之責務區域移除一伺服器,一內容伺服器602(或其他實體)可傳送一伺服器解登記訊息
634至管理器604。作為回應,管理器604將解登記該伺服器602,如利用操作632所指示。
圖7例示一範例用戶端裝置流程圖700。該用戶端裝置可自一內容伺服器取得一所需的媒體呈現檔案,如於操作702中之指示。用戶端裝置接著可判定其之所需的下載率以及其他有關的資訊,例如,對於其想要之媒體的視訊解析度以及其它者,如於操作704中之例示。
使用呈現檔案中之DASH管理器URL,用戶端裝置可以接觸管理器以得到哪一媒體伺服器可以是最適合其之需要的一推薦。這推薦可包含,例如,來自管理器之所有伺服器的一相對排序。另外地,或此外地,用戶端裝置可如先前討論地要求伺服器狀態資訊。做出這些要求以及接收回應之處理程序藉由操作706被例示。
基於相對排序、伺服器狀態資訊、所需的內容、所需的內容參數(例如,於操作704中被判定之視訊解析度、串流帶寬等等),用戶端裝置可對於所給予的播放區間,選擇片段以及表示法,以及自哪一伺服器去要求它們。操作706例示選擇該等片段/表示法之處理程序。
選擇內容之處理程序可以採用多種觀點並且以多種方式被實行。於一範例中,也許來自管理器之伺服器的排序以需求性之遞減順序列出,伺服器E、A、D、C、B。用戶端裝置注意到它具有的帶寬以及內容需要是與伺服器A、C以及B相符合。用戶端裝置接著選擇對於內容之伺服器A。
一旦表示法/片段被選擇,該等表示法/片段可自所選擇的伺服器被要求並且被接收,如於操作710中以及要求/回應712之指示。該內容可被轉至用於播放之另一模組、實體、以及其它者,如利用箭號714之指示。
操作716代表判定是否傳送QoE資訊至管理器。如上面之討論,回應於來自管理器604之一查詢,或當任何其他觸發事件時,由於自最後更新之QoE資訊中的改變,QoE資訊可依據一些預先配置之排程被傳送。如果QoE資訊是將被傳送,則“是”分支被採用並且於操作718中資訊被傳送。如果否,則“否”分支被採用。
操作720判定播放是否結束。如果是,則“是”分支被採用並且處理程序繼續至其他事件上。如果否,則“否”分支被採用並且在操作704執行繼續。
雖然圖7之實施例例示如每次經由包含操作704、706、708、710以及716之“迴路”發生的某些操作,不是每次所有的操作都需要經由該迴路而發生。例如,於一些實施例中,要求且接收資訊(例如,相對排序及/或伺服器狀態)之操作706可以不需要每次經由該迴路被執行。如果自從最後排序/狀態更新後之時間短,則排序/狀態可能不需要被更新。於這脈絡中“短”意謂著排序及/或狀態很可能不自最後更新後被改變。於一些情況中,這“短”時間可能以秒或分被量測。當一顯著的品質下降發生時,或用戶端特定區間(例如,5-10秒),一用戶端裝置可能要求一狀態更新。此外,當新的伺服器登記或解登記時,或當接
收伺服器更新時,DASH管理器可傳播更新。一DASH管理器可能傳送具有“不好的”串流QoE之一特定狀態更新至用戶端。
圖8例示管理器範例之流程圖800。流程圖尤其是集中於反應來自一用戶端裝置之對於一相對排序及/或伺服器狀態之一要求。操作802指示管理器接收此一要求。接著之二操作(804、806)指示管理器體驗以辨識應在排序上考慮之有關的伺服器組集之處理程序。於一些實例中,利用管理器被管理的所有伺服器可被考慮(例如,操作804)。於一些實例中,一子集可被考慮(例如,操作806)。取決於利用管理器被管理的內容伺服器數目,其可能是僅需考慮以及排序伺服器的一些子集。這子集可基於各種準則被選擇,例如,接近(於一些意義中)用戶端裝置的那些伺服器、具有與裝置相關之內容的那些伺服器、符合某些技術性需要(例如,帶寬、負載、正被服務之用戶端裝置數量、其之組合)的那些伺服器、以及其它者。於一些實施例中,媒體伺服器上之負載可被計算作為對於它們正服務之所有用戶端的伺服器上之所有上傳及/或下載率的總和。一些實施例可使用一媒體伺服器之其餘容量取代負載、或除了該負載之外。注意到,一些準則可自用戶端裝置從被供應至管理器的QoE資訊被判定(例如,操作808)。
於操作808中,管理器自資料儲存器或自其被安置的任何地方取得有關的QoE資訊(包含自用戶端裝置被接
收者)。如果該QoE資訊是需選擇有關的內容伺服器子集(操作806),則這操作可在操作806之前被進行。
於操作810中,管理器基於伺服器狀態及/或QoE資訊而計算相對排序。該排序可以是基於多種因數,例如,哪個伺服器具有用戶端裝置所需的內容、在一特定媒體伺服器上之負載、正被一特定媒體伺服器所服務之裝置數量、用戶端裝置所需的串流帶寬、一特定媒體伺服器之線上狀態、一用戶端所體驗之失效連接次數、在特定用戶端之緩衝事件(例如,一用戶端裝置必須等待內容至緩衝器之次數)、總緩衝時間、在一用戶端之平均緩衝器深度、一用戶端所體驗的平均帶寬、以及其它者。於一些實施例中,媒體伺服器上之負載可被計算作為對於它們正服務之所有用戶端的伺服器上之所有上傳及/或下載率的總和。一些實施例可使用一媒體伺服器之其餘容量取代負載、或除了該負載之外。管理器之一組目標可以是給一用戶端最佳QoE而同時使全部的資源使用最大化,例如,平衡可用的伺服器之間的負載。
許多不同的方法可被不同的管理器實施例所使用以計算用以推薦至一用戶端裝置之一推薦。一推薦可以為至少一推薦媒體伺服器之形式。如果多於一媒體伺服器被包含在排序中,則該排序可以是相對的,使各伺服器具有相對至其他者之一排序。於一代表性範例中,如果管理器自體驗一不良QoE之一用戶端裝置接收一狀態更新,則管理器可接著搜尋具有最少負載之伺服器並且推薦其至用
戶端及/或在推薦列表上將其排序列為較高者。因此,提升該用戶端在將來得到一較高的QoE之機會。
於另一代表性範例中,管理器可追隨一“貪婪”型式方法,其試圖以各用戶端裝置可以其之最大下載率而下載之方式分配用戶端裝置至伺服器。例如,考慮到一代表結構具有二媒體伺服器(其媒體伺服器A具有5Mbps之一上傳限制、以及媒體伺服器B具有4M位元之一上傳限制)。如果啟始地有二用戶端裝置(用戶端裝置C1具有一下載率2Mbps、以及用戶端裝置C2具有一下載率3Mbps),則管理器可開始離開該等伺服器之一者的各個用戶端裝置串流。因此,各用戶端裝置將是可以其之最大帶寬串流。假定,管理器推薦用戶端裝置C1選擇伺服器A以及用戶端裝置C2選擇伺服器B。如果具有4Mbps之下載率的一第三用戶端裝置C3判定結合,則管理器可選擇分配用戶端裝置C2至伺服器A並且分配用戶端裝置C3至伺服器B,因此各用戶端被保證以其之最大下載率下載。這可藉由管理器推薦用戶端裝置C2選擇伺服器A以及用戶端裝置C3選擇伺服器B而被達成。因此,管理器是可較佳地採用在所有伺服器的可用帶寬。如果不是這重新分配,則用戶端裝置C3將與用戶端裝置C1或用戶端裝置C2共用一伺服器並且僅以其之最大下載率的一小部分下載,而可能衝擊共用其之伺服器的任何用戶端裝置。
此一方法可使用下面的操作被達成:操作1:辨識目前登記在管理器之候選者用戶端
裝置的組集。
操作2:當候選者用戶端裝置尚待被分配時,進行下面的操作:操作2a:辨識具有最大可用帶寬的伺服器,其中該可用帶寬利用下式被計算:最大可用的帶寬=在伺服器之總上傳帶寬-在該伺服器之目前負載。
操作2b:辨識具有最大下載帶寬之候選者用戶端裝置。
操作2c:將於操作2b中所辨識的候選者用戶端裝置分配至於操作2a中所辨識的伺服器。
操作2d:增加該分配的候選者用戶端裝置下載帶寬至該分配的伺服器負載。
操作2e:自尚待被分配之候選者組集中移除該被分配的候選者裝置並且返回至操作2a。
如上面之討論,該分配可以是一相對的排序或一建議的選擇之形式。
於操作812中,管理器將相對排序及/或任何所需的媒體伺服器狀態資訊送回至用戶端裝置。
圖9例示依據一些實施例用於代表管理器或用戶端裝置之系統方塊圖。這範例機器900可被使用於此處討論之任何一個或多個可被進行之技術(例如,方法),例如,那些被例示於圖5-8中者。於不同實施例中,機器900可操作如一獨立的電腦裝置或可被連接(例如,網路)至其他機器。於一網路配置中,機器900可於一伺服器機器、
一用戶端機器、或伺服器用戶端網路環境兩者之設備容量中操作。於一範例中,機器900可作用如同一點對點(P2P)(或其分佈方式)之網路環境中的同位機器。機器900可以是一個人電腦(PC)、一平板電腦PC、一個人數位助理(PDA)、一移動電話、一網路器具、或指定被該機器所採用之動作的任何機器可執行指令(序列或其他者)。進一步地,雖然僅一單獨之機器被例示,詞語“機器”將也被採用以包含任何機器之聚集,其分別地或連合地執行一組(或複數組)指令以進行此處討論之任何一個或多個方法,例如,雲端計算、作為一服務之軟體(SaaS)、其他電腦聚集組態。
範例,如此處所述,可包含,或可操作於邏輯或一些構件、模組、或機構上。模組是可進行指定操作以及可以某種方式被組態或被配置之有形實體。於一範例中,電路可以一指定方式(如一模組)被配置(例如,內部的或相關於外部實體,例如,其他電路)。於一範例中,一個或多個電腦系統(例如,一獨立電腦、用戶端或伺服器電腦系統)或一個或多個硬體處理器之整體或部份可以利用韌體或軟體(例如,指令、一應用部份、或一應用程式)作為一操作模組地被組態以進行指定操作。於一範例中,軟體可能存在於(1)一非暫態機器可讀取媒體上或於(2)一發送信號中。於一範例中,該軟體,當藉由模組之基礎硬體被執行時,將導致該硬體進行指定的操作。
因此,應了解,詞語“模組”包含一有形實體,
其是實際地構成、永久地被組態(例如,硬接線式)、或暫時地被組態(例如,被程編)之一實體,而以一指定方式操作或進行此處所述之部份或所有的任何操作。考慮到於其中模組暫時地被組態之範例中,該等模組之各者不需要在任何時刻被舉例說明。例如,其中該等模組包括使用軟體被組態之一般用途硬體處理器,該一般用途硬體處理器可在不同時間被組態作為各自不同的模組。軟體因此可組態一硬體處理器,例如,以在一時間構成一特定模組以及在一不同時間構成一不同模組。
機器(例如,電腦系統)900可包含一硬體處理器902(例如,一處理單元、一圖形處理單元(GPU)、一硬體處理器核心、高等處理單元(APU)或其任何組合)、一主記憶體904、以及一靜態記憶體906,其之一些或所有者可經由一鏈路908(例如,一匯流排、鏈路、互連、或其類似者)彼此通訊。機器900可進一步地包含一顯示裝置910、一輸入裝置912(例如,一鍵盤)、以及一使用者介面(UI)導引裝置914(例如,一滑鼠)。於一範例中,顯示裝置910、輸入裝置912、以及UI導引裝置914可以是一觸控螢幕顯示器。機器900可另外地包含一儲存單元(例如,驅動單元)916、一信號產生裝置918(例如,一擴音機、音訊輸出,等等)、一網路介面裝置920、以及一個或多個感測器921,例如,一全球定位系統(GPS)感測器、攝影機、視訊記錄器、羅盤、加速器、或其他感測器。機器900可包含一輸出控制器928,例如,一串列式(例如,通用串列匯流排(USB))、
平行式、或其他有線或無線(例如,紅外線(IR))連接,以通訊或控制一個或多個週邊裝置(例如,一印表機、讀卡機等等)。
儲存單元916可包含一機器可讀取媒體922,其上儲存藉由此處所述之任何一個或多個技術或功能實施或被採用的一組或多組資料結構或指令924(例如,軟體)。該等指令924也可在利用機器900執行之期間,完全地或至少部份地存在主記憶體904內、在靜態記憶體906內、或在硬體處理器902內。於一範例中,硬體處理器902、主記憶體904、靜態記憶體906、或儲存單元916之一個或任何的組合可構成機器可讀取媒體。
雖然機器可讀取媒體922被例示如一單獨媒體,詞語“機器可讀取媒體”可包含一單一媒體或複數個媒體(例如,一集中式或分佈式資料庫、及/或相關聯的快取以及伺服器),其被組態以儲存該等一個或多個指令924。
詞語“機器可讀取媒體”可包含任何有形媒體,其是可儲存、編碼、或攜帶用以利用機器900執行之指令,並且可導致機器900進行本揭示之任何一個或多個的技術,或其是可儲存、編碼或攜帶被此等指令所使用或與此等指令相關聯的資料結構。非限制性機器可讀取媒體範例可包含固態記憶體、和光學及磁媒體。機器可讀取媒體之特定範例可包含:非依電性記憶體,例如,半導體記憶體裝置(例如,電氣可規劃唯讀記憶體(EPROM)、電氣可消除可規劃唯讀記憶體(EEPROM))以及快閃記憶體裝置;
磁碟,例如,內部硬碟以及可移動式碟片;磁光碟;以及CD-ROM及DVD-ROM碟片。詞語“機器可讀取儲存媒體”以及其類似者,除了明確地排除信號本身外,將包含所有方面之“機器可讀取媒體”。
指令924可進一步地利用一些轉移協定(例如,訊框中繼器、網際網路協定(IP)、傳輸控制協定(TCP)、使用者資料包協定(UDP),超文本轉移協定(HTTP)等等)之任何一者,使用經由網路介面裝置920之一發送媒體而經由一通訊網路926被發送或被接收。詞語“發送媒體”將被採用以包含可儲存、編碼或攜帶用以利用機器900執行之指令的任何無實體媒體,以及包含數位或類比通訊信號或其他無實體媒體以便利此軟體之通訊。
實施例可以硬體、韌體以及軟體之一者或其之一組合而被實行。實施例也可被實行如儲存在一電腦可讀取儲存裝置上之指令,其可藉由至少一處理器被讀取以及被執行以進行此處所述之操作。一電腦可讀取儲存裝置可包含用以儲存可利用一機器(例如,一電腦)讀取之形式的資訊之任何非暫態機構。例如,一電腦可讀取儲存裝置可包含唯讀記憶體(ROM)、隨機存取記憶體(RAM)、磁碟片儲存媒體、光學儲存媒體、快閃記憶體裝置、以及其他儲存裝置與媒體。
應了解,為清楚起見,上面之說明是參考不同功能單元或處理器而說明一些實施例。但是,明顯地,任何在不同功能單元、處理器或領域間之功能的適當分配可
被使用而不脫離此處揭示之實施例。例如,利用分別的處理器或控制器被進行之所例示的功能可藉由相同處理器或控制器被進行。因此,特定功能單元之參考僅是被視為用以提供所述功能之適當裝置參考,而不是作為嚴格邏輯或實際結構或機構之指示。
雖然本實施例已配合一些實施例被說明,其是不欲受限定於此處提出之特定形式。一熟習本技術者將明白,上述實施例之各種特點可依據本揭示被組合。此外,那些熟習本技術者應了解,本發明可有各種修改及變化而不脫離所揭示之範疇。
100‧‧‧網路
102‧‧‧媒體創立系統
104‧‧‧媒體預備系統
106‧‧‧媒體伺服器
108‧‧‧原始媒體伺服器
110‧‧‧HTTP快取
112‧‧‧網路連接
114‧‧‧用戶端裝置
Claims (20)
- 一種由一用戶端裝置進行之方法,該方法包含:下載一媒體呈現描述符(MPD)檔案,該MPD檔案包含複數個媒體片段,各媒體片段與可提供該片段之至少一媒體伺服器相關聯;自一HTTP動態適應串流(DASH)管理器要求一媒體伺服器狀態更新;接收來自該DASH管理器之一媒體伺服器狀態更新回應,其包含與該至少一媒體伺服器相關聯之一相對伺服器排序及一媒體伺服器狀態,該排序指示來自該管理器伺服器的一推薦至該用戶端裝置;以及自該MPD檔案選擇一片段;評估該媒體伺服器狀態更新回應;以及回應於該評估而選擇用於該片段之一來源媒體伺服器。
- 如請求項1之方法,其中該媒體伺服器狀態包含下列至少一者:該媒體伺服器之線上狀態;於該媒體伺服器之可用內容;以及該媒體伺服器上之負載或容量。
- 如請求項1之方法,其中選擇該來源媒體伺服器是基於在該媒體伺服器狀態更新回應中所接收的該相對伺服器排序及該媒體伺服器狀態兩者。
- 如請求項1之方法,其進一步地包含傳送體驗品質(QoE)資訊至該管理伺服器。
- 如請求項4之方法,其中該QoE資訊包含下列至少一者:該用戶端裝置所體驗之平均下載率;該用戶端裝置所體驗之緩衝事件數量;在該用戶端裝置之總共緩衝時間;該用戶端裝置所體驗之平均串流品質;以及失效的連接資訊。
- 一種HTTP動態適應串流(DASH)管理器,其包含:一耦接至記憶體之處理器;儲存在該記憶體中之可執行指令,當該等指令由該處理器執行時會組態該DASH管理器用以:接收來自複數個內容伺服器之各者之一登記訊息,該DASH管理器在該登記訊息被接收後負責該等複數個內容伺服器的管理;接收來自該用戶端裝置之體驗品質(QoE)資訊;接收來自該等複數個內容伺服器之至少若干者之一媒體伺服器狀態更新訊息,該媒體伺服器狀態更新訊息包含針對傳送該狀態更新訊息之該內容伺服器之媒體伺服器狀態資訊;接收來自一用戶端裝置之一媒體伺服器狀態更新要求;評估該等複數個內容伺服器之各者及辨識要被包括在一媒體伺服器狀態更新回應中的一組複數個媒體 伺服器;基於媒體伺服器狀態及該被接收的QoE資訊之至少一者來排序在該組媒體伺服器中之各媒體伺服器;傳送該媒體伺服器狀態更新回應,其包含該組被排序的媒體伺服器及針對在該組被排序的媒體伺服器中的該等媒體伺服器之各者的該等媒體伺服器狀態之至少一部份。
- 如請求項6之DASH管理器,其中該QoE資訊包含下列至少一者:該用戶端裝置所體驗之平均下載率;該用戶端裝置所體驗之緩衝事件數量;在該用戶端裝置之總共緩衝時間;該用戶端裝置所體驗之平均串流品質;以及失效的連接資訊。
- 如請求項6之DASH管理器,其中該等可執行指令進一步組態該DASH管理器以接收來自該等複數個媒體伺服器之各者一狀態更新,以便形成該媒體伺服器狀態。
- 如請求項6之DASH管理器,其中被包括在該媒體伺服器狀態更新回應中的該等媒體伺服器狀態之至少一部份包含下列至少一者:指示該至少一媒體伺服器之一建議相對選擇至該用戶端裝置的該至少一媒體伺服器之一相對排序;該至少一媒體伺服器之線上狀態;於該至少一媒體伺服器之可用內容; 由該至少一媒體伺服器服務之串流用戶端數量;該至少一媒體伺服器之負載;一媒體呈現描述符檔案之位置;該至少一媒體伺服器之可用上傳率。
- 如請求項9之DASH管理器,其中該MPD檔案包含該DASH管理器之一URL。
- 如請求項8之DASH管理器,其中來自該等複數個媒體伺服器之各者的該狀態更新包含:傳送該狀態更新的一媒體伺服器之線上狀態;於傳送該狀態更新的該媒體伺服器之可用內容;以及於傳送該狀態更新的該媒體伺服器上之負載;一媒體呈現描述符檔案之位置;傳送該狀態更新的該媒體伺服器之可用上傳率。
- 一種由一DASH管理器執行之方法,該方法包含:接收來自複數個內容伺服器之各者之一登記訊息,該DASH管理器在該登記訊息被接收後負責該等複數個內容伺服器的管理;接收來自一用戶端裝置之一媒體伺服器狀態更新要求;接收來自該用戶端裝置之體驗品質(QoE)資訊;評估該等複數個內容伺服器之各者及辨識要被包括在一媒體伺服器狀態更新回應中的一組複數個媒體伺服器; 基於媒體伺服器狀態及該被接收的QoE資訊之至少一者來排序在該組媒體伺服器中之各媒體伺服器;以及傳送一媒體伺服器狀態更新至該用戶端裝置,該媒體伺服器狀態更新包含該組被排序的媒體伺服器及針對在該組被排序的媒體伺服器中的該等媒體伺服器之各者的該等媒體伺服器狀態之至少一部份。
- 如請求項12之方法,其中該QoE資訊包含下列至少一者:該用戶端裝置所體驗之平均下載率;該用戶端裝置所體驗之緩衝事件數量;在該用戶端裝置之總共緩衝時間;該用戶端裝置所體驗之平均串流品質;以及失效的連接資訊。
- 如請求項12之方法,其進一步包含接收關於該至少一媒體伺服器之一狀態更新以便形成該至少一媒體伺服器狀態。
- 如請求項14之方法,其中該至少一伺服器狀態包含下列至少一者:該至少一媒體伺服器之線上狀態;於該至少一媒體伺服器之可用內容;由該至少一媒體伺服器服務之串流用戶端數量;以及該至少一媒體伺服器之負載; 一媒體呈現描述符檔案之位置;該至少一媒體伺服器之可用上傳率。
- 如請求項15之方法,其中該至少一媒體伺服器之該相對排序是自該至少一伺服器狀態中的資訊被計算出來。
- 如請求項14之方法,其中該方法進一步包含:接收針對該至少一媒體伺服器之登記資訊;以及當新狀態更新被接收時則維護一更新媒體伺服器狀態儲存器。
- 一種用戶端裝置,其包含:耦接至記憶體之一處理器;儲存在該記憶體中之指令,當該等指令被執行時則致使該處理器去進行下列動作,包含:下載一媒體呈現描述符(MPD)檔案,該MPD檔案包含複數個媒體片段,各媒體片段與至少一媒體伺服器相關聯;自一DASH管理器要求一媒體伺服器狀態更新;接收來自該DASH管理器之一媒體伺服器狀態更新回應,其包含與該至少一媒體伺服器相關聯之一相對伺服器排序及一媒體伺服器狀態,該排序指示來自該管理器伺服器的一推薦至該用戶端裝置;以及自該MPD檔案選擇一片段;評估該媒體伺服器狀態更新回應;以及回應於該評估而選擇一來源媒體伺服器。
- 如請求項18之用戶端裝置,其中該媒體伺服器狀態更新進一步地包含下列至少一者:該至少一媒體伺服器之線上狀態;於該至少一媒體伺服器之可用內容;由該至少一媒體伺服器服務之串流用戶端數量;以及該至少一媒體伺服器之負載,其中該負載包含來自該至少一媒體伺服器之所有用戶端之上傳率的總和;該至少一媒體伺服器之可用上傳率。
- 如請求項18之用戶端裝置,其中該等可執行指令進一步地致使該處理器來傳送體驗品質(QoE)資訊至該DASH管理器,該QoE資訊包含下列至少一者:該用戶端裝置所體驗之平均下載率;該用戶端裝置所體驗之緩衝事件數量;該用戶端裝置所體驗之總共緩衝時間;該用戶端裝置所體驗之平均串流品質;以及失效的連接資訊。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361831912P | 2013-06-06 | 2013-06-06 | |
US14/140,764 US9444863B2 (en) | 2013-06-06 | 2013-12-26 | Manager for DASH media streaming |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201507454A TW201507454A (zh) | 2015-02-16 |
TWI586158B true TWI586158B (zh) | 2017-06-01 |
Family
ID=52006407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103119402A TWI586158B (zh) | 2013-06-06 | 2014-06-04 | 用於透過http動態適應串流(dash)之媒體串流的管理器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9444863B2 (zh) |
EP (1) | EP3005718B1 (zh) |
CN (1) | CN105144738B (zh) |
HK (1) | HK1218032A1 (zh) |
TW (1) | TWI586158B (zh) |
WO (1) | WO2014197657A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2944089B1 (en) * | 2013-01-11 | 2018-03-07 | Telefonaktiebolaget LM Ericsson (publ) | Technique for operating client and server devices in a broadcast communication network |
EP2942918B1 (en) * | 2013-02-04 | 2019-01-02 | Huawei Technologies Co., Ltd. | Method and device for transmitting streaming media data |
US9444863B2 (en) | 2013-06-06 | 2016-09-13 | Intel Corporation | Manager for DASH media streaming |
US9628528B2 (en) * | 2013-07-19 | 2017-04-18 | Electronics And Telecommunications Research Institute | Apparatus and method for providing content |
US20150256577A1 (en) * | 2014-03-05 | 2015-09-10 | Nicepeopleatwork S.L. | Directing Fragmented Content |
US9838459B2 (en) * | 2014-04-30 | 2017-12-05 | Futurewei Technologies, Inc. | Enhancing dash-like content streaming for content-centric networks |
US10051035B2 (en) * | 2014-06-03 | 2018-08-14 | Verizon Patent And Licensing Inc. | Method and apparatus for providing secure file transmission |
US9860294B2 (en) * | 2014-12-24 | 2018-01-02 | Intel Corporation | Media content streaming |
CN104580442B (zh) * | 2014-12-30 | 2019-02-22 | 北京奇安信科技有限公司 | 升级服务器的控制方法及设备 |
CN107637045B (zh) | 2015-06-16 | 2020-11-27 | 苹果公司 | 使用动态无线接入网信息的自适应视频流送 |
KR102367134B1 (ko) | 2015-06-25 | 2022-02-24 | 삼성전자주식회사 | 가속기를 제어하는 방법 및 이를 이용한 가속기 |
EP3357208B1 (en) * | 2015-09-29 | 2020-02-26 | Telefonaktiebolaget LM Ericsson (PUBL) | Pcc control of http adaptive bit rate video streaming protocols |
CN105871975A (zh) * | 2015-11-17 | 2016-08-17 | 乐视云计算有限公司 | 选择回源服务器的方法及装置 |
CN107204955A (zh) * | 2016-03-16 | 2017-09-26 | 华为技术有限公司 | 一种内容推荐方法及装置 |
CN107306356A (zh) * | 2016-04-21 | 2017-10-31 | 中兴通讯股份有限公司 | 视频信息描述文件获取方法及内容分发服务器、机顶盒、系统 |
WO2018021950A1 (en) * | 2016-07-26 | 2018-02-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Device and method for controlling media streaming from a server to a client |
US10057337B2 (en) * | 2016-08-19 | 2018-08-21 | AvaSure, LLC | Video load balancing system for a peer-to-peer server network |
US10848537B2 (en) * | 2016-11-15 | 2020-11-24 | Google Llc | Leveraging aggregated network statistics for enhancing quality and user experience for live video streaming from mobile devices |
CN106961630B (zh) * | 2017-03-24 | 2019-08-16 | 西安理工大学 | 一种基于dash优化的p2p流媒体视频播放方法 |
US10674409B2 (en) | 2017-06-09 | 2020-06-02 | At&T Intellectual Property I, L.P. | System and method for fine grained service management using SDN-NFV networks |
US12075133B2 (en) * | 2018-01-31 | 2024-08-27 | Qualcomm Incorporated | Dynamic conditional advertisement insertion |
EP3811593A1 (en) * | 2018-06-21 | 2021-04-28 | British Telecommunications public limited company | Path selection for content delivery network |
CN112690005A (zh) * | 2018-09-14 | 2021-04-20 | 新加坡国立大学 | 用于流传输内容的方法和设备 |
US10999358B2 (en) * | 2018-10-31 | 2021-05-04 | Twitter, Inc. | Traffic mapping |
US10958705B2 (en) * | 2019-02-27 | 2021-03-23 | Citrix Systems, Inc. | Client computing device providing end-to-end quality of service (QoS) control for software as a service (SaaS) sessions and related methods |
CN113454934B (zh) * | 2019-03-06 | 2024-04-05 | 杜比实验室特许公司 | 多服务器通信系统中的下载控制 |
US11582278B2 (en) * | 2019-08-09 | 2023-02-14 | DAZN Limited | Content player performance detection |
US11570517B2 (en) | 2020-06-23 | 2023-01-31 | Tencent America LLC | Application intended interactive selection information for interactive playback of dash content |
WO2022201225A1 (ja) * | 2021-03-22 | 2022-09-29 | 日本電信電話株式会社 | 制御装置、制御方法及びプログラム |
US11882170B2 (en) * | 2021-04-19 | 2024-01-23 | Tencent America LLC | Extended W3C media extensions for processing dash and CMAF inband events |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201220826A (en) * | 2010-08-10 | 2012-05-16 | Qualcomm Inc | Manifest file updates for network streaming of coded video data |
US20120151009A1 (en) * | 2010-06-18 | 2012-06-14 | Nokia Corporation | Method and Apparatus for Generating and Handling Streaming Media Quality-of-Experience Metrics |
US20130117413A1 (en) * | 2010-07-20 | 2013-05-09 | Sharp Kabushiki Kaisha | Content distribution device, content playback device, content distribution system, method for controlling a content distribution device, control program, and recording medium |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2477513B (en) * | 2010-02-03 | 2015-12-23 | Orbital Multi Media Holdings Corp | Redirection apparatus and method |
US9497290B2 (en) * | 2010-06-14 | 2016-11-15 | Blackberry Limited | Media presentation description delta file for HTTP streaming |
KR20120034550A (ko) | 2010-07-20 | 2012-04-12 | 한국전자통신연구원 | 스트리밍 컨텐츠 제공 장치 및 방법 |
KR20120079880A (ko) | 2011-01-06 | 2012-07-16 | 삼성전자주식회사 | 스트리밍 서비스 시스템에서 북마크 생성 장치 및 방법 |
TW201644278A (zh) | 2011-02-11 | 2016-12-16 | 內數位專利控股公司 | 內熔分配及接收方法及裝置 |
US8683013B2 (en) * | 2011-04-18 | 2014-03-25 | Cisco Technology, Inc. | System and method for data streaming in a computer network |
WO2013077698A1 (ko) | 2011-11-25 | 2013-05-30 | (주)휴맥스 | Mmt 미디어와 dash 미디어와의 연동 방법 |
US9444863B2 (en) | 2013-06-06 | 2016-09-13 | Intel Corporation | Manager for DASH media streaming |
-
2013
- 2013-12-26 US US14/140,764 patent/US9444863B2/en not_active Expired - Fee Related
-
2014
- 2014-06-04 TW TW103119402A patent/TWI586158B/zh not_active IP Right Cessation
- 2014-06-05 WO PCT/US2014/041012 patent/WO2014197657A1/en active Application Filing
- 2014-06-05 CN CN201480022613.3A patent/CN105144738B/zh not_active Expired - Fee Related
- 2014-06-05 EP EP14807660.7A patent/EP3005718B1/en active Active
-
2016
- 2016-05-25 HK HK16105975.0A patent/HK1218032A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120151009A1 (en) * | 2010-06-18 | 2012-06-14 | Nokia Corporation | Method and Apparatus for Generating and Handling Streaming Media Quality-of-Experience Metrics |
US20130117413A1 (en) * | 2010-07-20 | 2013-05-09 | Sharp Kabushiki Kaisha | Content distribution device, content playback device, content distribution system, method for controlling a content distribution device, control program, and recording medium |
TW201220826A (en) * | 2010-08-10 | 2012-05-16 | Qualcomm Inc | Manifest file updates for network streaming of coded video data |
Also Published As
Publication number | Publication date |
---|---|
HK1218032A1 (zh) | 2017-01-27 |
EP3005718A4 (en) | 2016-12-28 |
US20140365556A1 (en) | 2014-12-11 |
CN105144738B (zh) | 2019-09-03 |
WO2014197657A1 (en) | 2014-12-11 |
US9444863B2 (en) | 2016-09-13 |
TW201507454A (zh) | 2015-02-16 |
CN105144738A (zh) | 2015-12-09 |
EP3005718B1 (en) | 2021-05-26 |
EP3005718A1 (en) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI586158B (zh) | 用於透過http動態適應串流(dash)之媒體串流的管理器 | |
US9661049B2 (en) | Systems and methods of providing interspersed manifest file specifications for adaptive streaming video | |
CN106464945B (zh) | 增强型流媒体回放的方法、系统及计算机可读介质 | |
Wang et al. | Joint online transcoding and geo-distributed delivery for dynamic adaptive streaming | |
Wang et al. | A joint online transcoding and delivery approach for dynamic adaptive streaming | |
TW200537293A (en) | Fast startup for streaming media | |
EP3207666B1 (en) | Broadcast readiness testing in distributed content delivery networks | |
CN112311874B (zh) | 媒体数据处理方法、装置、存储介质及电子设备 | |
JP2012520004A (ja) | ピアツーピアネットワークにおける優先順位付けのための方法及び装置 | |
US20160029050A1 (en) | Hybrid Stream Delivery | |
CN113767608A (zh) | 用于基于http的动态自适应流传输的基于会话的信息 | |
KR20120021246A (ko) | Http 스트리밍을 위한 미디어 정보 파일의 전송 및 수신 방법 | |
CN113474763A (zh) | 增强型的文件共享系统和方法 | |
US20150120952A1 (en) | Aggressive prefetching | |
JP6305738B2 (ja) | メディア再生制御装置、メディア再生制御方法、及びプログラム | |
JP2016091436A (ja) | 通信装置、通信方法、及び、プログラム | |
KR20130059259A (ko) | 스트리밍 서비스에서의 광고 영상 제공 방법 및 이를 이용한 스트리밍 서비스 장치 | |
Braun et al. | Mobile peer-to-peer assisted coded streaming | |
WO2019181343A1 (ja) | 再生装置及びプログラム | |
Juluri et al. | Look-ahead rate adaptation algorithm for DASH under varying network environments | |
AU2014339127A1 (en) | Aggressive prefetching | |
US11323499B2 (en) | Bandwidth efficient streaming and synching multimedia content at a desired quality of experience | |
Wang et al. | Joint Online Processing and Geo-Distributed Delivery for Dynamic Social Streaming | |
TWI598743B (zh) | 多媒體檔案下載方法與電子裝置 | |
Ahn et al. | Efficient Video Delivery by Leveraging Playback Buffers over Software Defined Networking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |