TW201542014A - Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments - Google Patents

Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments Download PDF

Info

Publication number
TW201542014A
TW201542014A TW104100458A TW104100458A TW201542014A TW 201542014 A TW201542014 A TW 201542014A TW 104100458 A TW104100458 A TW 104100458A TW 104100458 A TW104100458 A TW 104100458A TW 201542014 A TW201542014 A TW 201542014A
Authority
TW
Taiwan
Prior art keywords
user terminal
cache memory
server
representation
segment
Prior art date
Application number
TW104100458A
Other languages
Chinese (zh)
Inventor
Remi Houdaille
Stephane Gouache
Charline Taibi
Original Assignee
Thomson Licensing
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 Thomson Licensing filed Critical Thomson Licensing
Publication of TW201542014A publication Critical patent/TW201542014A/en

Links

Classifications

    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control 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
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • 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/80Responding to QoS
    • 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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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, manipulating MPEG-4 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/26258Content 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
    • 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
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2885Hierarchically arranged intermediate devices, e.g. for hierarchical caching

Abstract

Client terminal (CT) configured for receiving a multimedia content divided into segments and provided by at least one remote server (SE), each segment being available in one or more representations, comprising a communication module (2) configured for receiving a network information comprising an ordered list of caches (DANE) along the path between the server (SE) and the client terminal (CT).

Description

用戶終端機配置成接收多段分割之多媒體內容以取得網路 資訊之方法 The user terminal is configured to receive the multi-segment split multimedia content to obtain the network Information method

本發明一般相關例如(但非限定)透過HTTP(超文本傳輸協定)的適應性串流技術,尤其相關一用戶終端機配置成接收多段分割的多媒體內容以取得網路資訊的方法。 The present invention relates generally to, but not limited to, adaptive streaming techniques over HTTP (Hypertext Transfer Protocol), and more particularly to a method in which a user terminal is configured to receive multi-segment split multimedia content for network information.

本段落希望介紹讀者有關此技藝的各種不同面向,其可相關本發明以下說明及/或請求的各種不同面向,咸信本討論有助於提供讀者背景資訊,俾更瞭解本發明的各種面向。因此,應瞭解此等敍述應由這個觀點閱讀,並非要作為先前技術的認可。 This paragraph is intended to introduce a variety of different aspects of the subject matter of the present invention, which may be related to the various aspects of the invention described below and/or claimed. Therefore, it should be understood that such statements should be read from this point of view and are not intended to be recognized as prior art.

透過HTTP的適應性串流快速成為多媒體內容分配的主要技術,在已使用的HTTP適應性串流協定當中,最有名的係源自蘋果電腦公司(Apple)的HTTP即時串流(HLS),源自微軟公司(Microsoft)的銀光平滑串流(SSS),源自Adobe公司的Adobe動態串流(ADS),及由SA4工作小組內的3GPP(第三代行動通訊夥伴合作計畫)所開發的透過HTTP動態適應性串流(DASH)。 Adaptive streaming over HTTP is quickly becoming the primary technology for multimedia content distribution. Among the HTTP adaptive streaming protocols that have been used, the most famous one is from Apple's HTTP Instant Streaming (HLS) source. Silver Smooth Streaming (SSS) from Microsoft Corporation, Adobe Dynamic Streaming (ADS) from Adobe, and 3GPP (3rd Generation Mobile Communications Partner Program) developed by the SA4 Working Group Dynamic Adaptive Streaming (DASH) over HTTP.

當一用戶終端機希望以適應性串流播放一視聽內容(或A/V內容)時,首先必須取得一檔案描述如何可取得此A/V內容。通常係藉由從一URL(全球資訊定址器,即網址)得到一描述檔案(所謂的工具性質規定檔(manifest))透過HTTP協定來完成此步驟,但亦可藉由其他手段(如廣播、電子郵件、SMS(短訊息服務)等)來達成。該工具性質規定檔基本上列出此一A/V內容的可用表示法(按照位元率、解析度及其他特性),該工具性質規定檔係預先產生及例如由一遠程伺服器傳送到該用戶終端機。 When a user terminal wants to adaptively stream an audiovisual content (or A/V content), it must first obtain a file describing how the A/V content can be obtained. This step is usually done by an HTTP protocol from a URL (a global information addresser, ie a web address), but by other means (eg broadcast, Email, SMS (short message service), etc. to achieve. The tool property specification basically lists the available representations of the A/V content (in terms of bit rate, resolution, and other characteristics) that are pre-generated and transmitted to the remote server, for example, by a remote server. User terminal.

實際上,在一HTTP伺服器上可取得對應到該A/V內容 的不同品質資料流,最高品質係與高位元率相關聯,最低品質係與低位元率相關聯,這容許對可能受到高度多樣化網路條件支配的許多不同終端機的分配。 In fact, the corresponding A/V content can be obtained on an HTTP server. The different quality streams, the highest quality is associated with a high bit rate, and the lowest quality is associated with a low bit rate, which allows for the allocation of many different terminals that may be subject to highly diverse network conditions.

整個資料流係分割成數段,如此作出多段使一用戶終端機可平順地在二段之間從一品質等級切換到另一品質等級,結果,視訊品質在播放時會有不同,但鮮少因中斷(亦稱凍結)受損。 The entire data stream is divided into several segments, so that multiple segments are made so that one user terminal can smoothly switch from one quality level to another quality level between the two segments. As a result, the video quality will be different during playback, but few The interruption (also known as freezing) is damaged.

取決於協定,工具性質規定檔可呈現各種不同格式,用於蘋果電腦公司的HLS協定係一M3U8播放表列,稱為"主播放表列"。此播放表列的各元素係另一播放表列,每表示法各一個。根據其他協定(例如DASH),工具性質規定檔係由一或多個XML檔案所構成,一個接著一個地描述所有表示法。在任何情況中,產生一工具性質規定檔就像根據一確定性文法來產生一文字檔及寫該文字一樣簡單。 Depending on the agreement, the nature of the tool can be presented in a variety of different formats. The HLS protocol for Apple Computer is an M3U8 playlist, called the "main playlist". Each element of this playlist column is another playlist column, one for each representation. According to other agreements (such as DASH), the tool property specification file consists of one or more XML files, describing all representations one after the other. In any case, generating a tool property profile is as simple as generating a text file and writing the text based on a deterministic grammar.

熟知一用戶終端機根據其可用頻寬在一已知時間點選擇最佳表示法,使網路變動在品質(如視訊品質)與穩固之間取得最適平衡。可用頻寬係在每一接收段動態地加以判定,實際上,通常測量在發出一HTTP請求用於一已知段與接收到對應HTTP回應之間所定義的往返時間(以下稱為HTTP RTT),並用以估算沿著傳輸路徑的可用頻寬。 It is well known that a user terminal selects the best representation at a known point in time based on its available bandwidth, so that the network variation is optimally balanced between quality (such as video quality) and stability. The available bandwidth is dynamically determined at each receive segment. In practice, the round-trip time defined between issuing a HTTP request for a known segment and receiving a corresponding HTTP response (hereinafter referred to as HTTP RTT) is typically measured. And used to estimate the available bandwidth along the transmission path.

當一快取記憶體沿著一用戶終端機與一遠程伺服器之間的傳輸路徑設置時,常是如此發生,若另一用戶先前已請求具相同表示法的相同片段,或若一內容遞送網路(CDN)已提供該片段在該快取記憶體中,則該片段可已儲存在該快取記憶體中。 This is often the case when a cache memory is set along a transmission path between a user terminal and a remote server, if another user has previously requested the same segment with the same representation, or if a content is delivered The network (CDN) has provided the segment in the cache memory, and the segment can already be stored in the cache memory.

因此,對該已知片段的一HTTP請求的回應比該片段若來自遠程伺服器時更快,由於傳輸路徑較短,HTTP請求的HTTP RTT在用戶終端機與快取記憶體之間會比在用戶終端機與遠程伺服器之間小許多。 Therefore, the response to an HTTP request for the known segment is faster than if the segment was from a remote server. Because the transmission path is short, the HTTP RTT of the HTTP request is compared between the user terminal and the cache. The user terminal is much smaller than the remote server.

此外,若沿著該傳輸路徑存在一快取記憶體(所請求片段係儲存在該快取記憶體中),則最高速率會較佳,尤其當該快取記憶體與遠程伺服器之間的傳輸路徑上發生擁塞時。 In addition, if there is a cache memory along the transmission path (the requested segment is stored in the cache memory), the highest rate is better, especially when the cache memory is connected to the remote server. When congestion occurs on the transmission path.

由於一用戶終端機通常不辨別一遠程伺服器或一中間快取記憶體所傳送的回答,當事實上係觀察到傳輸路徑從”用戶終端機到伺服器”路徑切換到”用戶終端機到快取記憶體”路徑時,卻將一頻寬變化誤 認為端對端網路條件的變化。 Since a user terminal usually does not recognize the answer sent by a remote server or an intermediate cache, it is in fact observed that the transmission path is switched from the "user terminal to the server" path to the "user terminal to the fast". When taking the memory path, it will change the bandwidth Think of end-to-end network conditions.

因此,用戶終端機所執行的頻寬估算係高估及未準確地反映如預期的端對端傳輸路徑特徵。 Therefore, the bandwidth estimate performed by the user terminal is overestimated and does not accurately reflect the end-to-end transmission path characteristics as expected.

此一高估通常導致終端用戶不好的經驗,實際上,若估算頻寬高於預期,則適應性串流用戶終端機通常從較高品質表示法(例如較高位元率)請求一片段。因此當表示法變更時,所請求的此片段具有較低機率會在一快取記憶體中(藉由假設該快取記憶體係由先前一用戶終端機以恆定位元率播放相同多媒體內容所填滿)。與所請求片段相關聯的下載時間應該會比預期更久,造成所請求片段太遲到達,該用戶終端機則將切換回可能再次在該快取記憶體中找到的較低品質表示法。 This overestimation often results in a bad experience for the end user. In fact, if the estimated bandwidth is higher than expected, the adaptive streaming user terminal typically requests a segment from a higher quality representation (e.g., a higher bit rate). Therefore, when the representation is changed, the requested fragment has a lower probability of being in a cache memory (by assuming that the cache memory system is played by the previous user terminal at the constant bit rate to play the same multimedia content). full). The download time associated with the requested segment should be longer than expected, causing the requested segment to arrive too late, and the user terminal will switch back to the lower quality representation that may be found again in the cache.

結果,該用戶終端機在高品質片段與低品質片段之間來回切換-不斷地因快取未中而中斷-其完全危害快取的有利點。 As a result, the user terminal switches back and forth between high quality segments and low quality segments - constantly interrupted by cache misses - which completely compromises the advantage of cache.

此外,因HAS用戶終端機未察覺快取記憶體的內容,因此錯失快取記憶體的加速能力及減低網路負荷的有利點。 In addition, since the HAS user terminal does not perceive the contents of the cache memory, it misses the acceleration capability of the cache memory and the advantage of reducing the network load.

本發明努力補救至少一些上述缺點,用以提升終端用戶的經驗品質。 The present invention seeks to remedy at least some of the above disadvantages to enhance the end user's experience quality.

本發明涉及一種由用戶終端機取得網路資訊的方法,該用戶終端機係配置用以接收多段分割及由至少一遠程伺服器所提供的多媒體內容,各片段係可用於一或多個表示法中,該方法的特徵在於該網路資訊包括一有序列表,列出沿著伺服器與用戶終端機之間路徑的快取記憶體。 The invention relates to a method for obtaining network information by a user terminal, the user terminal is configured to receive a plurality of segments and multimedia content provided by at least one remote server, and each segment can be used for one or more representations. The method is characterized in that the network information includes an ordered list listing the cache memory along the path between the server and the user terminal.

在一實施例中,該網路資訊尚可包括該等快取記憶體所儲存片段的一表示法列表,以用於該有序列表中的至少一些快取記憶體。 In an embodiment, the network information may further include a representation list of the segments stored in the cache memory for at least some of the cache memories in the ordered list.

在一實施例中,用戶終端機傳送一請求到屬於該有序列表的一目標快取記憶體,及接收該目標快取記憶體所儲存片段的一表示法列表,此表示法列表係一完整列表或先前儲存片段與目前儲存片段之間的一差異列表。 In an embodiment, the user terminal transmits a request to a target cache that belongs to the ordered list, and receives a representation list of the segments stored in the target cache. The representation list is complete. A list of differences between the list or previously stored clips and the currently stored clip.

在一實施例中,用戶終端機係根據該目標快取記憶體所儲 存片段的表示法列表來更新該等快取記憶體所儲存片段的表示法列表。 In an embodiment, the user terminal is stored according to the target cache memory. A representation list of the segments is stored to update the representation list of the segments stored by the cache.

在另一實施例中,該網路資訊係可由用戶終端機從一伺服器接收的一工具性質規定檔所提供,該工具性質規定檔列有該多媒體內容在該伺服器的可用表示法。 In another embodiment, the network information is provided by a tool property profile received by the user terminal from a server, the tool property specification listing the available representation of the multimedia content at the server.

此外,該工具性質規定檔可包括有序列表,列出沿著伺服器與用戶終端機之間路徑的快取記憶體。 In addition, the tool property specification file can include an ordered list of cache memory along the path between the server and the user terminal.

此外,該工具性質規定檔可辨識該快取記憶體所儲存該等片段的表示法,以用於該有序列表的各快取記憶體。由沿著伺服器與用戶終端機之間的路徑遇到的各快取記憶體,透過區域快取表示法列表加到該工具性質規定檔,可遞增地建構該列表。 In addition, the tool property specification file identifies the representation of the segments stored by the cache memory for each cache memory of the ordered list. The cache access representation list is added to the tool property specification file by the cache memory encountered along the path between the server and the user terminal, and the list can be incrementally constructed.

此外,可由沿著伺服器與用戶終端機之間路徑遇到的各快取記憶體,藉由加上自己的識別符以建立該有序列表來修改該工具性質規定檔。 In addition, the tool property specification can be modified by adding the own identifier to each cache memory encountered along the path between the server and the user terminal to establish the ordered list.

此外,該等快取記憶體尚可藉由添加一連接資訊來修改該工具性質規定檔。 In addition, the cache memory can modify the tool property specification by adding a connection information.

在又一方面,用戶終端機可藉由使用一輔助通訊路徑,不同於傳遞資料用的一資料路徑,查詢該有序列表中的至少一些快取記憶體,為要判定所查詢各快取記憶體所儲存片段的表示法。 In another aspect, the user terminal can query at least some of the cached memory in the ordered list by using an auxiliary communication path, different from a data path for transmitting data, in order to determine the cached memory to be queried. The representation of the stored fragments of the body.

在另一方面,網路資訊可附加在用戶終端機從伺服器接收的一訊息中,其包括一延伸標頭用以容許接收該訊息的快取記憶體在該訊息中報告其存在。 In another aspect, the network information can be appended to a message received by the user terminal from the server, including an extension header for allowing the cache memory receiving the message to report its presence in the message.

尤其,可在該延伸標頭中建立一有序列表識別所遇到的各快取記憶體。 In particular, an arrayed table can be created in the extension header to identify each of the cache memories encountered.

此外,一連接資訊係可與該有序列表的各快取記憶體相關聯。 In addition, a connection information can be associated with each cache memory of the ordered list.

在一實施例中,該方法包括從屬於該有序快取記憶體列表中的至少一快取記憶體下載數個片段。 In one embodiment, the method includes downloading a plurality of segments from at least one cache memory belonging to the ordered cache memory list.

在一實施例中,接收網路資訊係透過一網路介面,類似用以接收片段的介面或不同於用以接收片段的介面。 In one embodiment, the receiving network information is through a network interface similar to the interface used to receive the segment or different from the interface used to receive the segment.

根據不同實施例,調適用以接收網路資訊(如有序列表)的 網路介面係Wifi無線、ADSL(非對稱數位用戶線)、纜線、行動及/或廣播(如DVB(歐規無線數位電視傳輸標準)、ATSC(美規無線數位電視傳輸標準)介面。 According to various embodiments, the adjustment is applied to receive network information (such as an ordered list) The network interface is Wifi wireless, ADSL (asymmetric digital subscriber line), cable, mobile and/or broadcast (such as DVB (European wireless digital TV transmission standard), ATSC (American wireless digital TV transmission standard) interface.

根據不同實施例,調適用以接收片段的網路介面係一Wifi、ADSL、纜線、行動及/或廣播(如DVB、ATSC)介面。 According to various embodiments, the network interface adapted to receive segments is a Wifi, ADSL, cable, mobile, and/or broadcast (eg, DVB, ATSC) interface.

在一實施例中,用戶終端機係使用一協定來接收網路資訊,類似接收片段用的協定(如http、Flute),或各有不同(片段:http、flute;網路資訊:TR69廣播論壇或一廣播協定、xmpp IETF(即時通訊協定)、DDS OMG(物件管理組))。 In an embodiment, the user terminal uses a protocol to receive network information, similar to the protocol used to receive the segment (eg, http, Flute), or each has a different (segment: http, flute; network information: TR69 broadcast forum Or a broadcast agreement, xmpp IETF (instant messaging protocol), DDS OMG (object management group).

在一實施例中,網路資訊係儲存在一隨機存取記憶體(RAM)中。 In one embodiment, the network information is stored in a random access memory (RAM).

在一實施例中,該等片段係儲存在區域記憶體(硬碟、快閃記憶體)上,及/或由一解碼器進行解碼,及/或在一顯示器上顯示。 In one embodiment, the segments are stored on a local memory (hard disk, flash memory) and/or decoded by a decoder and/or displayed on a display.

而且,本發明包括一種用戶終端機,配置用以接收多段分割及由一遠程伺服器所提供的多媒體內容,各片段係可用於一或多個表示法中。根據本發明,該用戶終端機包括一通訊模組,配置用以接收一網路資訊,包括有一有序列表,列出沿著伺服器與用戶終端機之間路徑的快取記憶體。 Moreover, the present invention includes a user terminal configured to receive a plurality of segments and multimedia content provided by a remote server, each segment being usable in one or more representations. According to the present invention, the user terminal includes a communication module configured to receive a network message, including an ordered list of cache memories along a path between the server and the user terminal.

此外,該網路資訊尚可包括該等快取記憶體所儲存片段的又一表示法列表,以用於該有序列表中的至少一些快取記憶體。 In addition, the network information may further include a further representation list of the segments stored in the cache memory for at least some of the cache memories in the ordered list.

此外,該通訊模組尚可配置成,藉由使用一輔助通訊路徑,不同於傳遞資料用的一資料路徑,查詢該有序列表中的至少一些快取記憶體,為要判定所查詢的各快取記憶體所儲存片段的表示法。 In addition, the communication module can be configured to query at least some cache memories in the ordered list by using an auxiliary communication path, different from a data path for transmitting data, in order to determine each of the queried queries. The representation of the fragment stored in the cache.

而且,本發明涉及一種由一快取記憶體傳送網路資訊的方法,該快取記憶體係配置成將至少一遠程伺服器所提供的多媒體內容片段傳遞到一用戶終端機,各片段係可用於一或多個表示法中。 Moreover, the present invention relates to a method for transmitting network information from a cache memory, the cache memory system configured to deliver a multimedia content segment provided by at least one remote server to a user terminal, each segment being usable One or more representations.

根據本發明,該網路資訊包括一有序列表,列出沿著一伺服器與該用戶終端機之間路徑的快取記憶體。 In accordance with the present invention, the network information includes an ordered list of cache memories along a path between a server and the user terminal.

在一實施例中,該快取記憶體接收一有序列表及加以更新認定其為最接近該用戶終端機的快取記憶體,最接近的此快取記憶體係最 有利於存取速度及最省網路資源(如節省上傳多段內容在用戶終端機上的網路資源,及/或最快存取到多段內容)。接著,該快取記憶體將更新的有序列表往下轉送到用戶;依此,遞增地建構該有序列表。 In an embodiment, the cache memory receives an ordered list and updates it to be the cache memory closest to the user terminal, and the closest cache memory system is the closest. Conducive to access speed and the most provincial network resources (such as saving the network resources of uploading multiple pieces of content on the user terminal, and / or the fastest access to multiple pieces of content). Next, the cache memory forwards the updated ordered list down to the user; accordingly, the ordered list is incrementally constructed.

在一實施例中,該快取記憶體將關聯到該快取記憶體的一區域快取表示法列表添加到接收的一表示法列表中,所接收的表示法列表係關聯到接收的有序快取記憶體列表;接著,該快取記憶體將更新的表示法列表往下轉送到該用戶;依此,遞增地建構該表示法列表。 In one embodiment, the cache memory adds a list of region cache representations associated with the cache memory to a received representation list, the received representation list being associated with the received order. The memory list is cached; then, the cache memory forwards the updated representation list to the user; accordingly, the representation list is incrementally constructed.

而且,本發明涉及一種快取記憶體,其調適用以傳送一網路資訊,該快取記憶體係配置用以傳遞至少一遠程伺服器所提供的一多媒體內容到一用戶終端機,各片段係可用於一或多個表示法中。根據本發明,該網路資訊包括一有序列表,列出沿著一伺服器與該用戶終端機之間路徑的快取記憶體。 Moreover, the present invention relates to a cache memory adapted to transmit a network information, the cache memory system configured to deliver at least one multimedia content provided by a remote server to a user terminal, each fragment system Can be used in one or more representations. In accordance with the present invention, the network information includes an ordered list of cache memories along a path between a server and the user terminal.

在一實施例中,該快取記憶體係一網路元件(亦稱為網路快取記憶體),包含在一集合中,包括有:家用閘道器、公用閘道器、公司閘道器、熱點、手機、汽車、網際網路服務供應商(ISP)網路元件及公司代理主機。 In an embodiment, the cache memory system (also referred to as network cache memory) is included in a set, including: a home gateway, a public gateway, and a corporate gateway. , hotspots, mobile phones, cars, Internet Service Provider (ISP) network components, and corporate agent hosts.

本發明進一步涉及一種電腦程式產品,可從一通訊網路下載及記錄在可由電腦讀取的媒體上及/或可由一處理器執行,該電腦程式產品包括程式碼指令用以實施上述方法的步驟。 The invention further relates to a computer program product that can be downloaded and recorded from a communication network on a computer readable medium and/or can be executed by a processor, the computer program product including code instructions for implementing the steps of the above method.

此外,本發明亦涉及一種非暫態電腦可讀取媒體,包括一電腦程式產品記錄在其上及能由一處理器執行,該電腦程式產品包含程式碼指令用以實施上述方法的步驟。 Furthermore, the present invention also relates to a non-transitory computer readable medium, comprising a computer program product recorded thereon and executable by a processor, the computer program product comprising program code instructions for performing the steps of the method.

以下提出與本發明揭示的數個實施例範圍相稱的數個特定方面,應瞭解提出此等方面僅為提供讀者本發明可採取特定形式的簡略總結,並不希望此等方面限制本發明的範圍,實際上,,本發明可涵蓋以下可能未提出的各種方面。 In the following, several specific aspects are set forth which are to be construed as the scope of the invention. In fact, the invention may encompass various aspects that may not be presented below.

1‧‧‧連接介面 1‧‧‧Connection interface

2‧‧‧通訊模組 2‧‧‧Communication module

3‧‧‧適應性串流模組 3‧‧‧Adaptive Streaming Module

4‧‧‧視訊播放器 4‧‧‧Video Player

5‧‧‧處理器 5‧‧‧ Processor

6‧‧‧儲存構件 6‧‧‧Storage components

7‧‧‧計算器 7‧‧‧Calculator

8‧‧‧選擇模組 8‧‧‧Selection module

9‧‧‧評估模組 9‧‧‧Evaluation module

B‧‧‧內部匯流排 B‧‧‧Internal busbar

CT‧‧‧用戶終端機 CT‧‧‧user terminal

DANE‧‧‧智慧型快取記憶體 DANE‧‧‧Smart Cache Memory

M‧‧‧方法 M‧‧‧ method

N‧‧‧網路架構 N‧‧‧ network architecture

N1‧‧‧網路 N1‧‧‧ network

RNE‧‧‧舊有快取記憶體 RNE‧‧‧Old cache memory

SE‧‧‧伺服器 SE‧‧‧ server

S1‧‧‧計算步驟 S1‧‧‧ calculation steps

S2‧‧‧選擇步驟 S2‧‧‧Selection steps

S3‧‧‧下載步驟 S3‧‧‧Download steps

S20‧‧‧初步計算步驟 S20‧‧‧ preliminary calculation steps

S21‧‧‧最常快取表示法選擇步驟 S21‧‧‧The most frequently cached representation selection step

S22‧‧‧目標組合下載時間計算步驟 S22‧‧‧ Target combination download time calculation step

S23‧‧‧比較步驟 S23‧‧‧Comparative steps

S24‧‧‧判定步驟 S24‧‧‧ Determination step

S25‧‧‧替代表示法有序列表建立步驟 S25‧‧‧Alternative notation sequence table creation steps

S26‧‧‧選擇、判定、計算步驟 S26‧‧‧Selection, determination, calculation steps

S27‧‧‧拒絕步驟 S27‧‧‧Rejection steps

S28‧‧‧維持步驟 S28‧‧‧Maintenance steps

S29‧‧‧額外替代表建立步驟 S29‧‧‧Additional table creation steps

S4‧‧‧表示法有序列表建立步驟 S4‧‧‧ indicates that there is a sequence listing procedure

S41‧‧‧選擇最高i步驟 S41‧‧‧Select the highest i step

S42‧‧‧計算U(k)及T(k)步驟 S42‧‧‧ Calculate U(k) and T(k) steps

S241‧‧‧增大公用程式功能步驟 S241‧‧‧Increase utility function steps

T(k)‧‧‧下載時間 T(k)‧‧‧ download time

U(k)‧‧‧公用程式功能 U(k)‧‧‧ utility function

以下將參考附圖並藉由實施例及執行範例(非用以限定)以描述本發明,俾審查委員能更進一步了解本發明的技術特徵,圖中: 圖1係以示意圖描繪一主從式(Client-Server)網路架構,其中可實施本發明的一實施例;圖2係根據本發明的實施例以方塊圖描繪一用戶終端機範例;圖3係以流程圖描繪圖2的用戶終端機所實施用以下載一預定要的多媒體內容片段序列的方法。 The present invention will be described below by way of embodiments and implementation examples (not to be limited), and the review panel can further understand the technical features of the present invention. 1 is a schematic diagram depicting a client-server network architecture in which an embodiment of the present invention may be implemented; FIG. 2 is a block diagram illustrating a user terminal example in accordance with an embodiment of the present invention; A method for downloading a predetermined sequence of multimedia content segments implemented by the user terminal of FIG. 2 is depicted in a flowchart.

在圖1及2中,所示方塊單純係功能實體,其不必對應到物質上分開的實體,意即,其可在軟體、硬體形式中開發,或實施在一或數個積體電路中,包括有一或多個處理器。 In Figures 1 and 2, the blocks shown are purely functional entities that do not necessarily correspond to physically separate entities, that is, they can be developed in software, hardware, or in one or more integrated circuits. , including one or more processors.

只要有可能,相同參考數字符號將使用在全部附圖中,用以指相同或相似零件。 Whenever possible, the same reference numerals will be used throughout the drawings to refer to the same or similar parts.

應瞭解,為清楚瞭解本發明,已簡化本發明的附圖及描述,只繪示相關元件,同時為求清晰,消去典型數位多媒體內容傳遞方法及系統中發現的其他許多元件,然而,因這類元件為此藝所熟知,本文中不再提供這類元件的詳細討論。 It will be appreciated that the drawings and description of the present invention have been simplified for a clear understanding of the present invention, only the related elements are illustrated, and the typical digital content delivery methods and other elements found in the system are eliminated for clarity, however, Class elements are well known to the art and a detailed discussion of such elements is not provided herein.

根據一實施例,本發明係相關HTTP適應性串流協定(或HAS)加以繪示,本發明當然不限定於此一特定環境,當然可考慮及實施其他適應性串流協定。 According to an embodiment, the present invention is illustrated in relation to an HTTP Adaptive Streaming Protocol (or HAS), and the present invention is of course not limited to this particular environment, and other adaptive streaming protocols may of course be considered and implemented.

如圖1所繪示,由一或數個網路N(圖中只顯示一網路)支援的主從式(Client-Server)網路架構,其中可實施本發明,包括一或數個用戶終端機CT、一或多個HTTP伺服器SE、複數個智慧型快取記憶體DANE及一或多個舊有快取記憶體RNE。根據DASH,此類伺服器亦稱為媒體原點,其例如產生媒體呈現描述(或MPD),所謂的工具性質規定檔(manifest)。此係內容分配的來源:多媒體內容可來自一些外部實體並在該媒體原點轉換成HAS格式。 As shown in FIG. 1 , a client-server network architecture supported by one or several network N (only one network is shown), wherein the present invention can be implemented, including one or several users. The terminal machine CT, one or more HTTP server SEs, a plurality of smart cache memories DANE, and one or more old cache memories RNE. According to DASH, such servers are also referred to as media origins, which for example produce a media presentation description (or MPD), a so-called tool property manifest. This is the source of content distribution: multimedia content can come from some external entities and be converted to HAS format at the origin of the media.

一智慧型快取記憶體DANE係網路N中的一快取元件,其配置用以瞭解傳遞的HAS內容,使用MPEG-DASH術語,認為智慧型快取記憶體係DASH察覺網路元件(DANE)。 A smart cache memory DANE is a cache component in network N, configured to understand the delivered HAS content, using MPEG-DASH terminology, and considers the smart cache memory system DASH to detect network components (DANE) .

一舊有快取記憶體RNE係網路N中的一快取元件,其不認得透過它轉接的資料類型,或至少它不瞭解HAS方面,在MPEG-DASH術語中,認為舊有快取記憶體係正規網路元件(RNE)。 An old cache memory RNE is a cache component in the network N that does not recognize the type of data transferred through it, or at least it does not understand the HAS aspect. In MPEG-DASH terminology, it is considered to have an old cache. Memory system regular network element (RNE).

用戶終端機CT希望從該等HTP伺服器SE中的一者取得一多媒體內容,該多媒體內容係分割成複數個片段(亦稱為資料塊),假設該多媒體內容係在伺服器SE可用在不同表示法。一旦用戶請求,HTTP伺服器SE能使用HTTP適應性串流協定透過一或多個TCP/IP(傳輸控制協定/網際網路協定)連接方式,將數片段串流到用戶終端機CT。 The user terminal machine CT desires to obtain a multimedia content from one of the HTP servers SE, the multimedia content being divided into a plurality of segments (also referred to as data blocks), assuming that the multimedia content is available in the server SE differently Notation. Once requested by the user, the HTTP server SE can stream the segments to the user terminal CT using one or more TCP/IP (Transmission Control Protocol/Internet Protocol) connections using an HTTP adaptive streaming protocol.

根據圖2所示實施例,用戶終端機CT至少包括:- 一連接介面1(有線及/或無線,例如Wi-Fi、乙太等),連接到第一網路N1;- 一通訊模組2,包含用以通訊到HTTP伺服器SE的協定堆疊,尤其通訊模組2包括此藝所熟知的TCP/IP堆疊,當然可以是能使用戶終端機CT通訊到HTTP伺服器SE的其他任何類型的網路及/或通訊構件;- 一適應性串流模組3,其從HTTP伺服器SE接收HTTP串流多媒體內容,該模組持續地以較佳匹配網路限制及其自己限制的位元率選擇該片段;- 一視訊播放器4,調適用以解碼及產生該多媒體內容;- 一或多個處理器5,用以執行用戶終端機CT的一非暫態記憶體中所儲存的應用程式及程式;- 儲存構件6,如一暫態記憶體,用以將接收自HTTP伺服器SE的該等片段在傳輸到視訊播放器4前加以緩衝;- 一內部匯流排B,用以連接該等不同模組及此藝者所熟知用以執行一般用戶終端機功能的所有構件。 According to the embodiment shown in FIG. 2, the user terminal CT includes at least: - a connection interface 1 (wired and / or wireless, such as Wi-Fi, Ethernet, etc.), connected to the first network N1; - a communication module 2, comprising a protocol stack for communication to the HTTP server SE, in particular the communication module 2 comprises a TCP/IP stack as is well known in the art, and of course any other type that enables the user terminal CT to communicate to the HTTP server SE. Network and/or communication component; - an adaptive streaming module 3 that receives HTTP streaming multimedia content from an HTTP server SE, the module continuously continually matching the network limit with its own limited bits The frequency rate selects the segment; - a video player 4 adapted to decode and generate the multimedia content; - one or more processors 5 for performing storage in a non-transitory memory of the user terminal CT An application and program; - a storage component 6, such as a transient memory, for buffering the segments received from the HTTP server SE before being transmitted to the video player 4; - an internal bus B for connection These different modules and those skilled in the art are familiar with performing the general All family members terminal functions.

在該實施例中,用戶終端機CT係可攜式媒體元件、行動電話、數位板或膝上型電腦、電視機、機上盒、遊戲裝置或積體電路,實際上,用戶終端機CT可不包括完整的視訊播放器,卻只是一些子元件如將該媒體內容解多工及解碼者,及可依賴一外部構件將解碼內容顯示給終端用戶。在此範例中,用戶終端機CT係一HTTP適應性串流(HAS)能視訊解碼器,如機上盒。 In this embodiment, the user terminal CT is a portable media component, a mobile phone, a tablet or laptop, a television, a set-top box, a game device or an integrated circuit. In fact, the user terminal CT may not Including a complete video player, but only some sub-components such as de-multiplexing and decoding the media content, and relying on an external component to display the decoded content to the end user. In this example, the user terminal CT is an HTTP Adaptive Streaming (HAS) capable video decoder, such as a set-top box.

根據本發明,各用戶終端機CT係配置用以實施一方法M,用以下載一遠程伺服器SE中所儲存一預定要的多媒體內容片段序列,選擇該序列以便其特徵最佳匹配一些品質準則,說明如下。 According to the present invention, each user terminal machine CT is configured to implement a method M for downloading a predetermined sequence of multimedia content segments stored in a remote server SE, and selecting the sequence so that its features best match some quality criteria. ,described as follows.

為實施方法M,用戶終端機CT較佳須具有網路架構N的知識。 To implement method M, the user terminal CT preferably has knowledge of the network architecture N.

為此目的,一旦用戶終端機CT請求一多媒體內容,即由一伺服器SE透過一HTTP回應將工具性質規定檔傳遞給該用戶終端機,該工作性質規定檔包括該多媒體內容在伺服器SE的一可用表示法列表,尚可包括一有序列表載明位在伺服器SE與用戶終端機CT之間的智慧型快取記憶體DANE。在此範例中,伺服器SE係察覺該網路架構(如在受管理網路中)及能預先建立此一有序列表。伺服器SE可提供一有序列表,其取決於提出請求的用戶終端機CT。 For this purpose, once the user terminal CT requests a multimedia content, a server SE transmits the tool property specification file to the user terminal through an HTTP response, and the work property specification file includes the multimedia content at the server SE. A list of available representations may also include an intelligent cache memory DANE with an ordered list of bits between the server SE and the user terminal CT. In this example, the server SE is aware of the network architecture (as in a managed network) and can pre-establish this ordered list. The server SE can provide an ordered list that depends on the requesting user terminal CT.

在該有序列表中,可藉由以下各項來識別所遇到的各智慧型快取記憶體DANE:- 唯一識別符;- 一連接資訊,如容許達到該智慧型快取記憶體的一服務存取點(如以下說明)。 In the ordered list, each of the smart cache memories DANE encountered can be identified by: - a unique identifier; - a connection information, such as one that allows access to the smart cache memory Service access point (as explained below).

當用戶終端機CT接收到工具性質規定檔時,智慧型快取記憶體DANE的此有序列表(視需要利用額外連接資訊完成)係提供作為該工具性質規定檔的延伸。 When the user terminal machine CT receives the tool property specification file, the ordered list of the smart cache memory DANE (completed with additional connection information as needed) provides an extension of the nature of the tool.

在該有序列表中,較佳將智慧型快取記憶體DANE藉由考慮其與用戶終端機CT的接近程度加以列表:有序列表中的第一元素對應到最接近用戶終端機CT的智慧型快取記憶體。 In the ordered list, the smart cache memory DANE is preferably listed by considering its proximity to the user terminal CT: the first element in the ordered list corresponds to the wisdom closest to the user terminal CT Type cache memory.

在一變化中,當伺服器SE不察覺該網路架構時,可能無法預先建立此一有序列表。在該範例中,各智慧型快取記憶體DANE檢查(由於一專屬檢查模組)伺服器SE的HTTP回應的內容型式標頭,用以辨識該回應包含一工具性質規定檔,及接著藉由例如利用其對應的服務存取點加上自己的識別符到該有序列表中,用以更新該工具性質規定檔。 In a variation, when the server SE is unaware of the network architecture, the ordered list may not be pre-established. In this example, each smart cache DANE checks (due to a dedicated check module) the content type header of the HTTP response of the server SE to identify that the response contains a tool property specification file, and then For example, the corresponding service access point is added to the ordered list by its own service access point to update the tool property specification file.

用以建立該有序列表的兩方法可同時存在,以便伺服器SE不知道的一些智慧型快取記憶體DANE在接收到伺服器SE的HTTP 回應時,可將自己加到已存在的有序列表中。明顯地,在該範例中,智慧型快取記憶體在添加一些資料前,較佳核對自己在該有序列表中的存在。 The two methods for establishing the ordered list can exist at the same time, so that some smart cache memory DANE that the server SE does not know receives the HTTP of the server SE. When responding, you can add yourself to an existing ordered list. Obviously, in this example, the smart cache memory preferably checks its existence in the ordered list before adding some data.

以下係智慧型快取記憶體DANE的有序列表在一MPEG-DASH工具性質規定檔(截略式)中的一說明性(但非限定)範例: The following is an illustrative (but not limited) example of an ordered list of intelligent cache memory DANE in an MPEG-DASH tool nature specification (truncated):

(其餘MPD內容截略)) (The rest of the MPD content is truncated )

除了該有序列表的智慧型快取記憶體階層資訊外,該工具性質規定檔尚可指示該有序列表的各智慧型快取記憶體DANE中所儲存多媒體內容片段的表示法,如藉由將所儲存各多媒體內容片段(或其一部分)的表示法添加到一額外列表中,該額外列表係與對應智慧型快取記憶體識別符相關聯。該額外列表可能係由伺服器SE(如若為一受管理網路)或由所遇到的各智慧型快取記憶體DANE所建立。 In addition to the intelligent cache memory class information of the ordered list, the tool property specification file may indicate the representation of the multimedia content segment stored in each intelligent cache memory DANE of the ordered list, for example, by The representation of each stored multimedia content segment (or a portion thereof) is added to an additional list associated with the corresponding smart cache memory identifier. This additional list may be established by the server SE (if it is a managed network) or by the various smart cache DANEs encountered.

在另一變化中,為判定該網路架構及格外地判定該有序列表的智慧型快取記憶體階層,伺服器SE傳送一HTTP回應到用戶終端機CT,該回應包括一延伸標頭,使接收該回應的各智慧型快取記憶體DANE能將其存在報告給用戶終端機CT,及報告給該快取記憶體DANE與用戶終端機CT之間的下一個快取記憶體。該HTTP延伸標頭可定義如下: In another variation, to determine the network architecture and to specifically determine the intelligent cache memory hierarchy of the ordered list, the server SE transmits an HTTP response to the user terminal CT, the response including an extension header, The smart cache memory DANE receiving the response can report its presence to the user terminal CT and report to the next cache memory between the cache memory DANE and the user terminal CT. The HTTP extension header can be defined as follows:

該標頭延伸可提供給伺服器SE及/或智慧型快取記憶體 DANE一手段,用以向下游智慧型快取記憶體DANE及/或向用戶終端機CT指示其存在,此類手段係附加在任一回應(尤其包括有該工具性質規定檔的一回應)上。 This header extension can be provided to the server SE and/or smart cache memory The DANE is a means for indicating the presence of the downstream smart cache DANE and/or to the user terminal CT, such means being attached to any response (especially including a response with the nature of the tool).

伺服器SE可使用語法"X-智慧型快取記憶體:必要項"附加到一HTTP回應,由於一專屬修改模組,用以強制下游智慧型快取記憶體DANE附上其自己的識別符,及視需要附上其連接資訊。一旦接收到此標頭,各智慧型快取記憶體DANE利用其識別符及連接資訊預先考慮該有序列表。有利的是,接收到該HTTP回應的第一個智慧型快取記憶體丟棄”必要項”符記。 The server SE can be attached to an HTTP response using the syntax "X-Smart Cache Memory: Necessary", which is used to force the downstream smart cache DANE to attach its own identifier due to a dedicated modification module. And attach the connection information as needed. Upon receipt of this header, each of the smart cached DANEs pre-considers the ordered list with its identifier and connection information. Advantageously, the first smart cache that receives the HTTP response discards the "necessary" token.

此變化的一有利點在於該HTTP延伸標頭可附加在其他回應訊息(如進一步內容資料傳輸)上,一旦攔截包括有一工具性質規定檔的HTTP回應,亦可使用該延伸標頭,但不修改該工具性質規定檔。 An advantage of this change is that the HTTP extension header can be attached to other response messages (such as further content data transmission). Once the HTTP response including a tool-specific profile is intercepted, the extension header can also be used, but not modified. The nature of the tool is defined.

作為一說明性(但非限定)範例,可使用一HTTP回應標頭如下以指示該有序快取記憶體列表的智慧型快取記憶體階層:X-SmartCache-List:157.254.235.97:12345,74.125.226.230:12345(X-智慧型快取記憶體-列表:157.254.235.97:12345,74.125.226.230:12345) As an illustrative (but not limiting) example, an HTTP response header can be used to indicate the smart cache memory hierarchy of the ordered cache memory list: X-SmartCache-List: 157.254.235.97:12345, 74.125.226.230:12345 (X-Smart Cache Memory - List: 157.254.235.97:12345, 74.125.226.230:12345)

在該實施例的又一方面,用以查詢智慧型快取記憶體DANE的發信訊息係可透過一輔助通訊通道(或路徑)進行交換,該輔助通道與傳遞該資料的主通道係分開的,此輔助通道係無關於該資料主通道地作業,此一發信機制稱為帶外發信。 In still another aspect of the embodiment, the signaling message for querying the smart cache memory DANE can be exchanged through an auxiliary communication channel (or path) that is separate from the primary channel that transmits the data. This auxiliary channel is not related to the main channel of the data. This signaling mechanism is called out-of-band signaling.

可發展帶外發信的二分開機制,用於第一機制,實施一分開協定以一特定智慧型快取記憶體DANE為目標,及用於第二機制,HTTP協定利用一第二TCP(傳輸控制協定)連接用於發信,得益於HTTP請求的自然往上選路(用戶終端機CT朝向伺服器SE傳送的一發信請求自然地跨越所遇到的智慧型快取記憶體DANE及舊有快取記憶體RNE,其可在適當時機作出回應)。在任何情況中,此等機制不影響舊有快取記憶體RNE。 A separate mechanism for out-of-band signaling can be developed for the first mechanism, a separate protocol is implemented to target a particular smart cache memory DANE, and for the second mechanism, the HTTP protocol utilizes a second TCP (transport) Control protocol) connection for signaling, thanks to the natural upward selection of HTTP requests (a request sent by the user terminal CT towards the server SE naturally spans the encountered smart cache DANE and The old cache memory RNE can respond at the appropriate time). In any case, these mechanisms do not affect the old cache memory RNE.

根據使用一特定協定的第一機制,該發信重疊係使用該有序列表的智慧型快取記憶體階層及其識別符所組成。一旦取得該發信重疊,不同的網路設備可互相通訊。可使用智慧型快取介面交換快取管理作業。該等智慧型快取介面可透過智慧型快取服務存取點來進行存取,該存 取點係提供作為該工具性質規定檔的一部分或包含在HTTP回應標頭中。容許DASH/HAS用戶引動智慧型快取介面的作業,藉由建構含有作業識別符及其參數的一訊息並傳送到智慧型快取介面,可引動各作業。 The signaling overlap consists of a smart cache memory hierarchy of the ordered list and its identifier, according to a first mechanism that uses a particular protocol. Once the call overlap is obtained, different network devices can communicate with each other. You can use the smart cache interface to exchange cache management jobs. The smart cache interface can be accessed through a smart cache access point. The fetch point is provided as part of the tool's property specification or included in the HTTP response header. Allow DASH/HAS users to motivate the smart cache interface. By constructing a message containing the job identifier and its parameters and transmitting it to the smart cache interface, each job can be motivated.

在一說明性(但非限定)範例中,可將該發信訊息建立為JSON字串,其係輕易在許多伺服器端手稿語言中進行剖析,一旦接收到該發信訊息,智慧型快取記憶體DANE可執行所請求的作業。 In an illustrative (but non-limiting) example, the messaging message can be created as a JSON string, which is easily parsed in many server-side manuscript languages. Once the messaging message is received, the smart cache is available. The memory DANE can execute the requested job.

尤其,用戶終端機CT與智慧型快取記憶體DANE之間的發信訊息係可藉由數個合適協定來傳輸。 In particular, the messaging message between the user terminal CT and the smart cache memory DANE can be transmitted by a number of suitable protocols.

在第一說明性範例中,使用一WebSocket協定,其容許用戶終端機CT與一已知智慧型快取記憶體DANE之間的雙向點對點通訊。在第二說明性範例中,可使用XMPP(即時通訊協定)以容許單點對多點資訊傳送(如用於一智慧型快取記憶體的所有用戶終端機的快取記憶體更新通知),當然可使用其他協定。 In a first illustrative example, a WebSocket protocol is used that allows bidirectional peer-to-peer communication between a user terminal CT and a known smart cache memory DANE. In a second illustrative example, XMPP (Instant Messaging Protocol) may be used to allow for point-to-multipoint messaging (eg, cache memory update notifications for all user terminals of a smart cache), Of course, other agreements can be used.

由於第一機制,用戶終端機CT可與一已知智慧型快取記憶體DANE交換訊息,為要發現該智慧型快取記憶體DANE中儲存的該等片段及其表示法,可使用以下訊息:get/sCached([segment/ds:<list>]) Due to the first mechanism, the user terminal CT can exchange messages with a known smart cache memory DANE. To discover the segments stored in the smart cache DANE and their representations, the following message can be used. : get/sCached([segment/ds: < list > ])

(取得/s快取到([片段/ds:<列表>])) ( Get /s cached ([fragment / ds: < list > ]) )

一旦接收到此發信訊息,智慧型快取記憶體DANE可回覆一更新表,其包含該等快取到片段的識別符。該用戶終端機可將此訊息傳送到其上游任何智慧型快取記憶體DANE,為要取得個別智慧型快取記憶體各自內容的精確概觀。 Upon receiving the message, the smart cache DANE can reply to an update table containing the identifiers of the cached segments. The user terminal can transmit this message to any smart cache memory DANE upstream thereof for an accurate overview of the individual content of the individual smart cache.

此外,一智慧型快取記憶體DANE可使用到註冊用戶終端機的回呼以通知該用戶有關其快取內容的變更,用戶終端機例如已初步地規定他們想要監視的片段。目前利用HTML5 websocket技術、伺服器端事件輕易實施此類回呼機制,但利用其他技術可達成類似結果。 In addition, a smart cache memory DANE can use a callback to a registered user terminal to notify the user of changes to its cached content, for example, the user terminal has preliminarily specified the segments they want to monitor. Currently, such callback mechanisms are easily implemented using HTML5 websocket technology and server-side events, but other techniques can be used to achieve similar results.

cacheUpdate([segment/ds:<list>]) cacheUpdate([segment/ds: < list > ])

(快取更新([片段/ds:<列表>])) ( Cache update ([fragment / ds: < list > ]) )

根據第二機制,用戶終端機CT亦可使用HTTP作為發信手段,用以查詢該快取記憶體鏈(智慧型快取記憶體DANE及舊有快取記 憶體RNE)來發現快取的內容。此等發信HTTP訊息係在一次要TCP(傳輸控制協定)通信期朝相同伺服器位址傳送,並遵循主資料傳遞通信期的相同路徑。明確地建立發信HTTP請求以避免觸發資料傳輸。 According to the second mechanism, the user terminal CT can also use HTTP as a signaling means to query the cache memory chain (smart cache memory DANE and old cache) Recalling the body RNE) to discover the contents of the cache. These outgoing HTTP messages are transmitted to the same server address in a TCP (Transmission Control Protocol) communication period and follow the same path of the primary data delivery communication period. Clearly establish a send HTTP request to avoid triggering data transfer.

為此目的,可使用HTTP HEAD方法或一最小位元組範圍GET(如請求單個位元組的資料),藉由為預定要的片段的不同表示法傳送多個HEAD(或1位元組範圍GET)請求,及使用建議的延伸,用戶終端機CT能建立快取表示法的位置圖。 For this purpose, the HTTP HEAD method or a minimum byte range GET (such as requesting a single byte of data) can be used to transfer multiple HEADs (or 1 byte range) for different representations of the intended segment. The GET) request, and the extension of the recommendation, the user terminal CT can establish a location map of the cache representation.

尤其,為查詢一快取記憶體的內容,用戶終端機CT可使用"Cache-control(快取-控制)"HTTP標頭,具有"only-if-cached(僅若快取到)”指引用以請求最接近快取記憶體的內容。然而,與第一機制作比較,HTTP為基的機制暗中容許只查詢朝向伺服器SE的路徑上的第一快取記憶體。 In particular, to query the contents of a cache memory, the user terminal CT can use the "Cache-control" HTTP header with the "only-if-cached" command. To request the content that is closest to the cache. However, compared to the first machine production, the HTTP-based mechanism implicitly allows only the first cache memory on the path towards the server SE to be queried.

作為一延伸用以減輕僅查詢第一快取記憶體的缺點,該發信請求的”僅若快取到”指引尚可包括一快取記憶體的深度指示,其應考量如:Cache-Control:only-if-cached,depth=3 As an extension to alleviate the shortcomings of querying only the first cache memory, the "only if cached" guide of the call request may further include a depth indication of the cache memory, which should be considered as: Cache-Control :only-if-cached,depth = 3

(快取-控制:僅若快取到,深度=3) ( Cache - Control: only if cached, depth = 3 )

此深度值係由智慧型快取記憶體DANE詮釋,以致當所請求一片段的表示法未快取到一智慧型快取記憶體DANE中,若該深度值容許,該智慧型快取記憶體則往上轉送該發信請求。每次一智慧型快取記憶體DANE未儲存有請求的表示法,在轉送該發信請求前會遞降深度值並據以修改HTTP標頭。當一智慧型快取記憶體DANE接收一發信請求具有一深度值等於1時,若快取未中,則不再轉送該發信請求。 The depth value is interpreted by the smart cache memory DANE, so that when the representation of the requested segment is not quickly fetched into a smart cache memory DANE, if the depth value allows, the smart cache memory Then forward the request to the mail. Each time a smart cache memory DANE does not store the requested representation, the depth value is decremented and the HTTP header is modified accordingly before forwarding the request. When a smart cache memory DANE receives a send request having a depth value equal to 1, if the cache miss is not present, the send request is not forwarded.

在一細微點,儲存有請求表示法的智慧型快取記憶體DANE可在其回應中包含一補充指引,指示達到該深度,如:X-SmartCache-Info:depth=2 At a subtle point, the smart cache DANE storing the request representation can include a supplemental guide in its response indicating that the depth is reached, such as: X-SmartCache-Info:depth = 2

(X-智慧型快取記憶體-資訊:深度=2) ( X-Smart Cache Memory - Information: Depth = 2 )

接著,用戶終端機CT利用接收自智慧型快取記憶體DANE的值,可藉由從用戶終端機CT的發信請求的初始深度值減去返回值,知道到所考慮的智慧型快取記憶體DANE的距離(用快取記憶體換算)。 Then, the user terminal machine CT uses the value received from the smart cache memory DANE, and can learn the smart cache memory considered by subtracting the return value from the initial depth value of the call request of the user terminal machine CT. The distance of the body DANE (converted with cache memory).

或者,用戶終端機CT可藉由在其發信請求中識別一已知快取記憶體,將查詢深度限制到該已知快取記憶體。當發信請求達到識別出的該智慧型快取記憶體DANE時,及該智慧型快取記憶體DANE未儲存有請求片段表示法時,所識別的該智慧型快取記憶體DANE不將該請求往上轉送到伺服器SE並否定地回覆。為此目的,將規定目標智慧型快取記憶體識別符的一特定延伸加到HTTP發信請求的快取控制”僅若快取到”指引上,如:Cache-Control:only-if-cached,until=<smartcache_id> Alternatively, the user terminal CT may limit the depth of the query to the known cache memory by identifying a known cache memory in its signaling request. When the signaling request reaches the identified smart cache DANE, and the smart cache DANE does not store the requested segment representation, the identified smart cache DANE does not The request is forwarded to the server SE and replied negatively. For this purpose, a specific extension of the target smart cache identifier is added to the cache control of the HTTP send request "Only if cached" guide, such as: Cache-Control: only-if-cached , until =< smartcache_id >

(快取-控制:僅-若-快取到,直到=<智慧型快取記憶體_識別符>) ( Cache - Control: Only - if - cached until ~ < Smart Cache Memory_Identifier >)

發信請求中使用的智慧型快取記憶體識別符可係智慧型快取記憶體DANE的已知SAP或該智慧型快取記憶體DANE的任何獨特識別符。 The smart cache memory identifier used in the signaling request may be any known identifier of the smart SAP cached DANE or any unique identifier of the smart cache memory DANE.

當HAS用戶終端機CT察覺到伺服器SE的路徑上設置的智慧型快取記憶體DANE,及察覺各智慧型快取記憶體DANE持有的快取表示法列表時,用戶終端機CT可實施方法M。 When the HAS user terminal machine CT perceives the smart cache memory DANE set on the path of the server SE, and perceives the cache representation list held by each smart cache memory DANE, the user terminal machine CT can be implemented. Method M.

假定知道用戶終端機CT與伺服器SE之間的智慧型快取記憶體DANE的內容以用於預定要的k片段(定義k片段序列),方法M可判定待下載序列的該等片段的k個表示法。在只下載m個片段(1<=m<=k)或一旦接收到一快取記憶體更新訊息後,較佳週期地執行方法M。此類更新容許片段從m+1到m+m的進一步下載最佳化(使用預測高達m+k)。 Assuming that the contents of the smart cache DANE between the user terminal CT and the server SE are known for the predetermined k-segment (defining the k-segment sequence), the method M can determine the k of the segments of the sequence to be downloaded. Representation. The method M is preferably performed periodically after downloading only m segments (1 <= m <= k) or upon receiving a cache memory update message. Such updates allow for further download optimization of segments from m+1 to m+m (using predictions up to m+k).

根據該實施例,及如圖3所示,在用戶終端機CT將一預定要的k片段多媒體內容序列下載的方法包括以下步驟,該序列儲存於一伺服器SE中及可用於不同表示法中:- 計算(步驟S1)以下項目,以用於所識別快取記憶體DANE(如上述)中所儲存(或未儲存)的該等片段的一些或所有可用表示法組合,該快取記憶體係設置在用戶終端機CT與伺服器SE之間:■品質的公用程式功能U(k)的一值各用於k個表示法的該等組合;■一預測時間T(k)各用以下載該等組合;計算步驟S1係由圖2所示用戶終端機CT的一計算器7來執行,在一變化中,計算器7可係與處理器模組5一體成型或作為其一部分; - 在公用程式功能的判定值之中,選擇(步驟S2)最高公用程式功能值,具有一下載時間劣於一時間臨限值(如對應到該片段序列的播放時間),選擇步驟S2係由用戶終端機CT的一選擇模組8來實施;- 在用戶終端機CT下載(步驟S3)所選擇組合相關聯的至少一初始表示法序列,一旦接收到關於所選擇組合的資訊,即由通訊模組2及/或由適應性串流模組3來管理所選擇組合的下載。 According to this embodiment, and as shown in FIG. 3, the method for downloading a predetermined k-segment multimedia content sequence at the user terminal machine CT comprises the following steps, the sequence being stored in a server SE and usable in different representations :- Calculate (step S1) the following items for some or all of the available representation combinations of the segments stored (or not stored) in the identified cache memory DANE (as described above), the cache memory system Set between the user terminal CT and the server SE: ■ A value of the quality utility function U(k) is used for each combination of k representations; ■ a prediction time T(k) is used for downloading The combination step S1 is performed by a calculator 7 of the user terminal machine CT shown in FIG. 2, and in a variation, the calculator 7 can be integrally formed with or as part of the processor module 5; - among the decision values of the utility function, selecting (step S2) the highest utility function value having a download time that is inferior to a time threshold (e.g., corresponding to the play time of the sequence of segments), the selection step S2 being A selection module 8 of the user terminal CT is implemented; - at least one initial representation sequence associated with the selected combination is downloaded (step S3) at the user terminal machine CT, upon receipt of information about the selected combination, ie by communication The module 2 and/or the adaptive streaming module 3 manages the download of the selected combination.

步驟S1至S3中的至少一些步驟當然可不在用戶終端機CT中執行,卻在一外部網路設備(如伺服器、閘道器、代理主機等)中執行。 At least some of the steps S1 to S3 may of course not be performed in the user terminal machine CT, but in an external network device (such as a server, gateway, proxy host, etc.).

尤其,用於一已知組合,公用程式功能U(k)取決於:- 該組合的表示法的整體品質 (k);- 該組合的表示法的一變異性 σ ;- 該組合的表示法的快取未中成本M(k)。 In particular, for a known combination, the utility function U(k) depends on: - the overall quality of the representation of the combination ( k ) ;- a variability σ of the representation of the combination; - the cache of the representation is not the cost M(k).

如終端用戶將在用戶終端機上觀察到的整體品質係與該組合中的表示法品質成正比,由於較高位元率係用以提供較高品質,因此可使用表示法的位元率總和,以 (k)表示,及其平均作為此整體品質的估算。 If the overall quality observed by the end user on the user terminal is proportional to the representation quality in the combination, since the higher bit rate is used to provide higher quality, the sum of the bit rates of the representation can be used, Take ( k ) indicates, and its average is an estimate of this overall quality.

該變異性例如可由該組合中的表示值的變異數來表示。 This variability can be expressed, for example, by the number of variations in the value represented by the combination.

快取未中的成本係衝擊網路資源的頻寬成本,及伺服器資源中用以傳遞資料的成本,兩者皆與下載自該伺服器的片段的位元率成正比,因此,此成本例如可由具有快取未中的片段表示法的位元率總和來表示。 The cost of cache miss is the bandwidth cost of impacting network resources, and the cost of transmitting data in the server resources, both of which are proportional to the bit rate of the segment downloaded from the server. Therefore, this cost For example, it can be represented by a sum of bit rates having a segment representation of cache misses.

在一說明性(但非限定)範例中,一已知組合的公用程式功能U(k)可由以下公式得出: 其中:- (k)係該表示法組合的一平均位元率,k係該序列片段數;- σ 係該表示法組合的變異數(及因此描述該序列的不穩定性);- α 係該變異數的一加權參數;- M(k)係該表示法組合的快取未中平均成本; - β係一加權參數用於快取未中的平均成本。 In an illustrative (but non-limiting) example, a known combined utility function U(k) can be derived from the following formula: among them:- ( k ) is an average bit rate of the representation combination, k is the number of fragments of the sequence; - σ is the number of variations of the representation combination (and thus the instability of the sequence); - α is the variation A weighting parameter; - M(k) is the average cost of the cache miss for the representation combination; - the beta system is a weighted parameter for the average cost of the cache miss.

尤其,可由以下公式判定一已知表示法組合的平均位元率: Ri係片段i的一已知表示法的位元率,該片段屬於該組合。 In particular, the average bit rate of a known combination of representations can be determined by the following formula: The bit rate of a known representation of the Ri-series fragment i, which belongs to the combination.

此外,可由以下公式取得該已知表示法組合的變異數 σ 變異數 σ 係根據表示法之間的變更數目及變更自平均表示法的大小兩者而增大。 Furthermore, the variation σ of the known representation combination can be obtained by the following formula: The number of variances σ is increased by both the number of changes between the representations and the size of the change from the average representation.

此外,例如由以下公式描述該已知表示法組合的快取未中平均成本M(k): 其中當一片段i的表示法係檢索自伺服器SE時,Si=1,在其他情況(該表示法係在所識別智慧型快取記憶體DANE中的一者快取到),Si=0。 Further, for example, the cache miss average cost M(k) of the known representation combination is described by the following formula: Wherein when the representation of a segment i is retrieved from the server SE, Si=1, in other cases (the representation is cached in one of the identified smart caches DANE), Si=0 .

藉由將用於該序列的公用程式功能U(k)最大化,具有低變異數及極少快取未中的高位元率將具有優先權,可調整加權參數 α 及/或β用以界定變異數及/或快取未中的容許度。明顯地,藉由 α 及/或β的值設成零,可忽略變異數及/或快取未中。 By maximizing the utility function U(k) for the sequence, the high bit rate with low variance and very few cache misses will have priority, and the weighting parameters α and/or β can be adjusted to define the variation. Number and / or cache miss tolerance. Obviously, by setting the value of α and/or β to zero, the number of variations and/or cache misses can be ignored.

計算公用程式功能U(k)以用於所考慮的各候選組合,為要判定符合以下準則的組合,:- 高平均位元率(及暗指高品質);- 具小變異性的穩定位元率,意指前後一致的視訊品質;- 檢索自該快取記憶體的最大片段數,用以儘可能地減輕伺服器SE及網路N上的負荷。 The utility function U(k) is calculated for each candidate combination considered, in order to determine a combination that meets the following criteria: - high average bit rate (and implies high quality); - stable bit with small variability Meta-rate, which means consistent video quality; - Retrieves the maximum number of segments from the cache to minimize the load on the server SE and network N.

此外,由於以下公式可計算一組合的估算下載時間T(k): 其中:- BW 伺服器 係從該伺服器下載該組合的一已知表示法時觀察到的下載頻寬;- BW ci 係從持有該已知表示法的最接近智慧型快取記憶體DANE下載該組合的片段i的一已知表示法時觀察到的下載頻寬,Ci對應到一向量C的一元素,該向量係藉由採取持有該表示法的最接近快取記憶體的索引用於該組合的各表示法所建立。 In addition, a combined estimated download time T(k) can be calculated due to the following formula: Where: - the BW server is the download bandwidth observed when downloading a known representation of the combination from the server; - BW ci is from the closest intelligent cache memory DANE holding the known representation The download bandwidth observed when downloading a known representation of the segment i of the combination, Ci corresponds to an element of a vector C by taking the index of the closest cache memory holding the representation The various representations used for this combination are established.

在該分母中,由於Si係0或1,項目Si或(1-Si)中只有一者不等於零,因此,該分母係鏈接自伺服器SE的頻寬BW 伺服器 或來自所考慮智慧型快取記憶體DANE的頻寬BW ci 。藉由各選擇片段表示法的位元率數目除以頻寬BW 伺服器 ,得到下載各表示法所需的時間。 In the denominator, since Si is 0 or 1, only one of the items Si or (1-Si) is not equal to zero, so the denominator is linked from the bandwidth BW server of the server SE or from the considered smart type. Take the bandwidth BW ci of the memory DANE. The time required to download each representation is obtained by dividing the number of bit rates for each selected segment representation by the bandwidth BW server .

一組合的此下載時間T(k)較佳應較劣於該序列的播放時間,否則播放會由於緩衝器洩流而中斷,因此: T(k)<k資料塊_期間 A combination of this download time T(k) should preferably be inferior to the playback time of the sequence, otherwise the playback will be interrupted due to buffer bleed, thus: T ( k ) < k . Data block_ period

根據該實施例,用戶終端機CT計算(步驟S1)公用程式功能U(k)及下載時間T(k)以用於k片段的各可用表示法組合,r表示(從伺服器SE來的)可用表示法數目,分別將U(k)及T(k)係計算rk次。 According to this embodiment, the user terminal machine CT calculates (step S1) the utility function U(k) and the download time T(k) for each available representation combination of the k-segment, r represents (from the server SE) U(k) and T(k) are calculated r k times, respectively, using the number of representations.

因此,藉由執行步驟S2,用戶終端機CT可選擇k個表示法的最佳序列,以避免緩衝器洩流。 Thus, by performing step S2, the user terminal machine CT can select the best sequence of k representations to avoid buffer drain.

下表中以說明性(但非限定)範例顯示一群組智慧型快取記憶體DANE的內容,以用於範圍從1至8的一8片段序列(1係待下載序列的第一段),格子中的值對應到持有所考慮片段/表示法的智慧型快取記憶體DANE的索引。(kbps=每秒千位元) The following table shows the contents of a group of smart cache memory DANE for illustrative (but not limited) examples for an 8-segment sequence ranging from 1 to 8 (1 is the first segment of the sequence to be downloaded) The value in the grid corresponds to the index of the smart cache memory DANE holding the considered fragment/representation. (kbps=thousands per second)

藉由考慮以下位元率向量R={R1=2500kbps,R2=2500kbps,R3=2500kbps,R4=2500kbps,R5=2500kbps,R6=2500kbps,R7=2500kbps,R8=2500kbps},其對應到在恆定表示法2500kbps的k片段序列。藉由採取持有表示法2500kbps的最接近智慧型快取記憶體DANE的索引以用於各片段,建立C向量。利用上述表格上提供的智慧型快取記憶體的樣本內容,C={1,1,2,1,0,0,0,1},0意指在所識別的一智慧型快取記憶體DANE中未快取到表示法2500kbps。 By considering the following bit rate vector R = {R1 = 2500 kbps, R2 = 2500 kbps, R3 = 2500 kbps, R4 = 2500 kbps, R5 = 2500 kbps, R6 = 2500 kbps, R7 = 2500 kbps, R8 = 2500 kbps}, which corresponds to a constant representation Method 2500 kbps k-segment sequence. The C vector is established by taking an index of the closest smart cache memory DANE holding the representation 2500 kbps for each segment. Using the sample content of the smart cache memory provided in the above table, C={1,1,2,1,0,0,0,1}, 0 means in the identified smart cache memory The representation is not fast enough to represent 2500 kbps.

在該實施例的一變化中,用戶終端機CT不計算公用程式功能U(k)及下載時間T(k)用於k片段的各可用表示法組合,反而初步地經由一評估模組9-從用戶終端機CT與伺服器SE之間的智慧型快取記憶體用於預定要的k片段的內容知識-計算(在一步驟S20)快取到片段數以用於各可能表示法,為要在又一步驟S21中選擇最常快取到的表示法,亦稱為目標表示法。 In a variation of this embodiment, the user terminal machine CT does not calculate the utility function U(k) and the download time T(k) for each available representation combination of the k-segment, but instead initially via an evaluation module 9- The smart cache memory from the user terminal CT and the server SE is used to reserve the content knowledge of the desired k-segment-calculation (in one step S20) to the number of segments to be used for each possible representation, In a further step S21, the most frequently retrieved representation, also called the target representation, is selected.

基於以上範例表,k=8,選擇的表示法係具有位元率等於2500kbps的表示法,其具有5個快取到的片段。對應目標組合的位元率向量R具有同一值等於目標表示法R={R1=2500kbps,R2=2500kbps,R3=2500kbps,R4=2500kbps,R5=2500kbps,R6=2500kbps,R7=2500kbps,R8=2500kbps}的位元率。 Based on the above example table, k=8, the selected notation has a representation with a bit rate equal to 2500 kbps, which has 5 cached segments. The bit rate vector R corresponding to the target combination has the same value equal to the target representation R={R1=2500 kbps, R2=2500 kbps, R3=2500 kbps, R4=2500 kbps, R5=2500 kbps, R6=2500 kbps, R7=2500 kbps, R8=2500 kbps The bit rate of }.

在又一步驟S22中,用戶終端機CT由於其計算器7計算該目標組合的下載時間T(k)。 In a further step S22, the user terminal machine CT calculates the download time T(k) of the target combination due to its calculator 7.

在又一步驟S23中,用戶終端機CT將算出的下載時間T(k)(亦稱為初始T(k))與播放時間作比較。 In a further step S23, the user terminal machine CT compares the calculated download time T(k) (also referred to as the initial T(k)) with the play time.

當初始T(k)係至少等於播放時間(T(k) k資料塊_期間)時,用於一智慧型快取記憶體中未儲存目標表示法的片段(如上表範例中的第5、6及7片段),用戶終端機CT判定(在一步驟S24中)該等片段的替代快取表示法。 When the initial T(k) is at least equal to the play time ( T ( k ) k . In the data block_period, for a segment of the smart cache memory in which the target representation is not stored (the fifth, sixth and seventh segments in the example above), the user terminal machine determines (in step S24) An alternative cache representation of the fragments.

為此目的,用戶終端機CT在一步驟S25中建立替代表示法的一替代有序列表,其中以升序列出快取到的較高品質替代表示法,之後接著是按遞降次序列出快取到的較低品質替代表示法。 For this purpose, the user terminal machine CT establishes an alternative ordered list of alternative representations in step S25, in which the cached higher quality alternative representation is listed in ascending order, followed by a list of caches in descending order A lower quality alternative representation.

在一步驟S26中,用戶終端機CT: - 選擇該替代有序列表中的第一表示法;- 判定一新組合,類似該目標組合,除了選擇的替代表示法已取代目標表示法以用於對應片段(根據上表的範例,新組合的向量R係{2500kbps,2500kbps,2500kbps,2500kbps,2500kbps,4500kbps,2500kbps,2500kbps,});及- 計算下載時間以用於該新表示法組合。 In a step S26, the user terminal machine CT: - Select the first representation in the alternative ordered list; - Determine a new combination, similar to the target combination, except that the alternative representation chosen replaces the target representation for the corresponding fragment (according to the example in the table above, the new combination) Vector R system {2500 kbps, 2500 kbps, 2500 kbps, 2500 kbps, 2500 kbps, 4500 kbps, 2500 kbps, 2500 kbps, }); and - Calculate the download time for this new representation combination.

若新組合的T(k)相關目標組合的T(k)而增加,則在一步驟S27中拒絕選擇的替代表示法及拒絕新組合,以該替代有序列表中的下一表示法重複步驟S26,以便利用該下一表示法修改目標組合,用以建立又一新組合。 If the T(k) of the new combination is increased by T(k) of the target combination, the alternative representation of the selection is rejected and the new combination is rejected in step S27, and the next representation in the alternative ordered list is repeated. S26, in order to modify the target combination by using the next representation to establish another new combination.

若新組合的T(k)係低於播放時間,則用戶終端機CT開始下載該新組合(步驟S3)。 If the T(k) of the new combination is lower than the play time, the user terminal machine CT starts downloading the new combination (step S3).

若新組合的T(k)相關目標組合的T(k)而減低但仍至少等於播放時間,則替代列表中選擇的替代表示法保持不變(步驟S28),及藉由考慮新組合取代目標組合,重複步驟S26。 If the T(k) of the newly combined T(k) related target combination is reduced but still at least equal to the play time, the alternative representation selected in the alternative list remains unchanged (step S28), and the target is replaced by considering the new combination. In combination, step S26 is repeated.

已知以上範例表,將以R6=4500kbps、R5=6500kbps、R7=6500kbps及R5=1200kbps、R7=1200kbps連續地測試此表格,除非找到一中間解答。 The above example table is known, and this table will be continuously tested with R6=4500 kbps, R5=6500 kbps, R7=6500 kbps, and R5=1200 kbps, R7=1200 kbps, unless an intermediate solution is found.

當已試過該替代有序列表中的所有表示法及若計算用於最新組合的T(k)係不劣於播放時間時,在一步驟S29中,用戶終端機CT建立一額外替代列表,包括有比目標表示法低的品質表示法,安排在遞降次序中。將步驟26、27及28應用到該額外有序列表。 When all the representations in the alternative ordered list have been tried and if the T(k) for calculating the latest combination is not inferior to the play time, the user terminal machine CT establishes an additional substitute list in step S29. Includes a lower quality representation than the target representation, arranged in descending order. Steps 26, 27 and 28 are applied to the additional ordered list.

在此演算法結束時,T(k)滿足該限制,或無任何較低可能值用於T(k)。 At the end of this algorithm, T(k) satisfies this limit, or no lower possible value is used for T(k).

當初始T(k)係低於播放時間時,用戶終端機CT試著(在一步驟S241中)藉由使用具較高速率的快取表示法以增大公用程式功能U(k),在一第一步驟S4中,用戶終端機CT按一升序建立大於初始目標表示法的一表示法有序列表。 When the initial T(k) is lower than the play time, the user terminal CT tries (in one step S241) to increase the utility function U(k) by using a cached representation with a higher rate, In a first step S4, the user terminal machine CT establishes a representational ordered list greater than the initial target representation in an ascending order.

接著用於此列表的各表示法,用戶終端機CT: Then for each representation of this list, the user terminal CT:

- 選擇(步驟S41)最高i,以便用於考慮表示法的對應片段係可在一快取 記憶體中取得。 - selecting (step S41) the highest i, so that the corresponding segment for considering the representation can be in a cache Obtained in memory.

- 計算(步驟S42)U(k)及T(k),藉由利用所考慮表示法來變更先前Ri以用於所取得的表示法組合。 - Calculate (step S42) U(k) and T(k) by using the considered representation to change the previous Ri for the obtained representation combination.

接著,若T(k)仍滿足該限制及U(k)的新值係大於一先前值,則用戶終端機CT保持新組合不變及利用下個(較低)i來重複步驟S41。若T(k)不再滿足該限制或U(k)減低,則用戶終端機CT拒絕Ri的新值用以恢復先前組合。 Then, if T(k) still satisfies the limit and the new value of U(k) is greater than a previous value, the user terminal machine CT keeps the new combination unchanged and repeats step S41 with the next (lower) i. If T(k) no longer satisfies the limit or U(k) is reduced, the user terminal machine CT rejects the new value of Ri to recover the previous combination.

當已考慮過所有索引i時,進行次高表示法的測試。 The test of the second highest notation is performed when all indices i have been considered.

明顯地,不背離該實施例,可使用其他啟發法以滿足在T(k)上的限制同時提升U(k)。 Obviously, without departing from this embodiment, other heuristics can be used to satisfy the limit on T(k) while boosting U(k).

實際上,步驟S20至S29中的至少一些步驟可不在用戶終端機CT中執行,卻可能在一外部網路設備中執行(如伺服器、閘道器、代理主機等)。 In fact, at least some of the steps S20 to S29 may not be performed in the user terminal machine CT, but may be performed in an external network device (such as a server, a gateway, a proxy host, etc.).

一旦已判定所期待的組合(段序列),用戶終端機CT即不延遲地從該序列下載後續片段直到達到m片段(1mk),或從一智慧型快取記憶體接收到一更新訊息,或接收速率變更。在任一前述事件中,用戶終端機CT重複方法M。 Once the desired combination (segment sequence) has been determined, the user terminal machine CT downloads the subsequent segments from the sequence without delay until the m segment is reached (1) m k), or receive an update message from a smart cache, or receive a rate change. In any of the foregoing events, the user terminal CT repeats the method M.

一網路資訊包括一有序列表,列出沿著一伺服器SE與用戶終端機CT之間路徑的快取記憶體DANE,及視需要,該網路資訊尚包括該等快取記憶體DANE所儲存片段的一表示法列表,以用於該階層中的至少一些快取記憶體。 The network information includes an ordered list listing the cache memory DANE along the path between the server SE and the user terminal CT, and the network information includes the cache memory DANE as needed. A representation of the stored segments for at least some of the cached memory in the hierarchy.

請注意到,根據本發明的不同變化,接收該網路資訊係透過一網路介面,類似用以接收片段的介面,或不同於用以接收片段的介面。 Please note that in accordance with various variations of the present invention, receiving the network information is via a network interface, similar to the interface used to receive the segment, or different than the interface used to receive the segment.

根據特定實施例,用戶終端機的網路介面係調適用以從一Wifi、ADSL、纜線、行動及/或廣播(如DVB、ATSC)介面接收網路資訊。 According to a particular embodiment, the network interface of the user terminal is adapted to receive network information from a Wifi, ADSL, cable, mobile and/or broadcast (eg, DVB, ATSC) interface.

根據不同實施例,用戶終端機的網路介面係調適用以從一Wifi、ADSL、纜線、行動及/或廣播(如DVB、ATSC)介面接收片段。 According to various embodiments, the network interface of the user terminal is adapted to receive segments from a Wifi, ADSL, cable, mobile, and/or broadcast (e.g., DVB, ATSC) interface.

根據不同實施例,用戶終端機係使用一協定來接收網路資訊,類似用以接收片段的協定(如http、Flute)。根據不同實施例,用戶終端機係使用一不同協定來接收網路資訊: - 片段傳輸及接收可使用http或flute協定;- 網路資訊傳輸及接收可使用TR69寬頻論壇協定或一廣播協定(如xmpp IETF、DDS OMG(物件管理組))。 According to various embodiments, the user terminal uses a protocol to receive network information, similar to a protocol (eg, http, Flute) for receiving segments. According to various embodiments, the user terminal uses a different protocol to receive network information: - Fragment transmission and reception can use http or flute protocol; - Network information transmission and reception can use TR69 broadband forum agreement or a broadcast agreement (such as xmpp IETF, DDS OMG (object management group)).

根據不同實施例,網路資訊係儲存在一隨機存取記憶體(RAM)中。 According to various embodiments, the network information is stored in a random access memory (RAM).

根據不同實施例,該等片段係儲存在區域記憶體(如硬碟或快閃記憶體)上,及/或由一解碼器進行解碼,及/或顯示在一顯示器上。 According to various embodiments, the segments are stored on a local memory (such as a hard disk or a flash memory) and/or decoded by a decoder and/or displayed on a display.

根據不同實施例,該用戶終端機屬於一集合,包括:- 一可攜式媒體裝置;- 一行動電話;- 一遊戲裝置;- 一機上盒;- 一電視機;- 一數位板;- 一膝上型電腦;及- 一積體電路。 According to various embodiments, the user terminal belongs to a set comprising: - a portable media device; - a mobile phone; - a gaming device; - a set-top box; - a television set; - a tablet; a laptop; and - an integrated circuit.

附圖中的流程圖及/或方塊圖係根據本發明的不同實施例描繪系統、方法及電腦程式產品可能實施的配置、操作及功能。依此,流程圖或方塊圖中的各方塊可表示一模組、區段或部分碼,其包括一或多個可執行指令用以實施該(等)規定的邏輯功能。亦應注意到,在一些替代實施方式中,標示在方塊中的功能可不按圖中標示的次序發生,例如,取決於涉入的功能,顯示連續的二方塊事實上可幾乎同時地執行,或該等方塊有時可在相反次序中執行,或數個方塊可在一替代次序中執行。亦請注意到,方塊圖及/或流程圖的各方塊,及方塊圖及/或流程圖中的方塊組合,可由執行指定功能或行為的特殊目的硬碟式系統實施,或由特殊目的硬碟與電腦指令的組合實施。雖然未明確說明,但本發明實施例可利用在任何組合或次組合中。 The flowchart and/or block diagrams in the figures illustrate the configuration, operation, and functionality of systems, methods, and computer program products that may be implemented in accordance with various embodiments of the present invention. Accordingly, blocks of the flowcharts or block diagrams can represent a module, segment, or portion code that includes one or more executable instructions for performing the specified logical functions. It should also be noted that in some alternative implementations, the functions indicated in the blocks may not occur in the order indicated in the figures. For example, depending on the function involved, the display of consecutive two squares may in fact be performed almost simultaneously, or The blocks may sometimes be executed in the reverse order, or the blocks may be executed in an alternate order. It should also be noted that blocks of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented by a special purpose hard disk system that performs the specified function or behavior, or by a special purpose hard disk. Implemented in combination with computer instructions. Although not explicitly illustrated, embodiments of the invention may be utilized in any combination or sub-combination.

如熟諳此藝者所了解,本發明的數個方面可具體化為一系統、方法或電腦可讀取媒體,因此,本發明的數個方面可採取形式為一完全硬體實施例、一完全軟體實施例(包含韌體、常駐軟體、微碼等),或結 合軟體及硬體方面的一實施例,其在本文中一般全稱為”電路”、”模組”或”系統”。此外,本發明的數個方面可採取一電腦可讀取儲存媒體形式,可利用一或多個電腦可讀取儲存媒體的任何組合方式。 As will be appreciated by those skilled in the art, several aspects of the present invention can be embodied as a system, method, or computer readable medium. Thus, several aspects of the present invention can take the form of a complete hardware embodiment, a complete Software embodiment (including firmware, resident software, microcode, etc.), or knot An embodiment of the software and hardware aspects is generally referred to herein as a "circuit," "module," or "system." Moreover, aspects of the invention may take the form of a computer readable storage medium, any combination of one or more computer readable storage media.

一電腦可讀取儲存媒體可採取一電腦可讀取程式產品形式,其具體化在一或多個電腦可讀取媒體中,及具有電腦可讀取程式碼具體化在其上可由電腦執行。如本文中使用的電腦可讀取儲存媒體考慮係一非暫態儲存媒體,提供固有能力用以在其中儲存資訊,以及固有能力用以從其提供資訊檢索。一電腦可讀取儲存媒體例如可係(但不限於)電子、磁性、光學、電磁、紅外線或半導體的系統、裝置或元件,或以上各項的任何合適組合。應了解,雖然以下提供可應用本發明的電腦可讀取儲存媒體的較特定範例,但如熟諳此藝者立即明白,僅是舉例而非徹查的列表:可攜式電腦磁碟;硬碟;隨機存取記憶體(RAM);唯讀記憶體(ROM);可拭除可程式化唯讀記憶體(EPROM或快閃記憶體);可攜式光碟唯讀記憶體(CD-ROM);光學儲存裝置;磁性儲存裝置;或以上各項的任何合適組合。 A computer readable storage medium can take the form of a computer readable program product embodied in one or more computer readable media, and having computer readable code embodied thereon can be executed by a computer. A computer readable storage medium as used herein is considered to be a non-transitory storage medium that provides an inherent ability to store information therein, as well as an inherent ability to provide information retrieval therefrom. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or component, or any suitable combination of the above. It should be understood that although a more specific example of a computer readable storage medium to which the present invention is applicable is provided below, it is immediately apparent to those skilled in the art that it is merely an example rather than a comprehensive list: portable computer disk; hard disk Random Access Memory (RAM); Read Only Memory (ROM); Erasable Programmable Read Only Memory (EPROM or Flash Memory); Portable Disc Read Only Memory (CD-ROM) An optical storage device; a magnetic storage device; or any suitable combination of the above.

1‧‧‧連接介面 1‧‧‧Connection interface

2‧‧‧通訊模組 2‧‧‧Communication module

3‧‧‧適應性串流模組 3‧‧‧Adaptive Streaming Module

4‧‧‧視訊播放器 4‧‧‧Video Player

5‧‧‧處理器 5‧‧‧ Processor

6‧‧‧儲存構件 6‧‧‧Storage components

7‧‧‧計算器 7‧‧‧Calculator

8‧‧‧選擇模組 8‧‧‧Selection module

9‧‧‧評估模組 9‧‧‧Evaluation module

B‧‧‧內部匯流排 B‧‧‧Internal busbar

CT‧‧‧用戶終端機 CT‧‧‧user terminal

Claims (6)

一種由一用戶終端機(CT)取得網路資訊之方法,該用戶終端機係配置用以接收一多段分割及由至少一遠程伺服器(SE)所提供之多媒體內容,各片段可用於一或多個表示法中,其中該網路資訊包括一有序列表,列出沿著一伺服器(SE)與該用戶終端機(CT)間路徑之快取記憶體(DANE)。 A method for obtaining network information by a user terminal (CT) configured to receive a plurality of segments and multimedia content provided by at least one remote server (SE), each segment being usable for Or a plurality of representations, wherein the network information includes an ordered list listing cached memory (DANE) along a path between a server (SE) and the user terminal (CT). 一種用戶終端機,配置用以接收一多段分割及由至少一遠程伺服器(SE)所提供之多媒體內容,各片段可用於一或多個表示法中,該用戶終端機包括一通訊模組(2),配置用以接收網路資訊,包括一有序列表,列出沿著伺服器(SE)與用戶終端機(CT)間之路徑之快取記憶體(DANE)。 A user terminal configured to receive a plurality of segments and multimedia content provided by at least one remote server (SE), each segment being usable in one or more representations, the user terminal comprising a communication module (2) configured to receive network information, including an ordered list, listing cached data (DANE) along a path between the server (SE) and the user terminal (CT). 一種由一快取記憶體傳送網路資訊之方法,該快取記憶體係配置成將至少一遠程伺服器(SE)提供之多媒體內容片段傳遞至一用戶終端機,各片段可用於一或多個表示法中,其中該網路資訊包括一有序列表,列出沿著一伺服器(SE)與該用戶終端機(CT)間之路徑之快取記憶體(DANE)。 A method for transmitting network information by a cache memory system, the cache memory system configured to transmit a multimedia content segment provided by at least one remote server (SE) to a user terminal, each segment being usable for one or more In the representation, the network information includes an ordered list listing the cache memory (DANE) along the path between a server (SE) and the user terminal (CT). 一種快取記憶體,調適用以傳送網路資訊,該快取記憶體係配置成將至少一遠程伺服器(SE)提供之多媒體內容片段傳遞至一用戶終端機,各片段可用於一或多個表示法中,其中該網路資訊包括一有序列表,列出沿著一伺服器(SE)與該用戶終端機(CT)間之路徑之快取記憶體(DANE)。 A cache memory adapted to transmit network information, the cache memory system configured to deliver a multimedia content segment provided by at least one remote server (SE) to a user terminal, each segment being usable for one or more In the representation, the network information includes an ordered list listing the cache memory (DANE) along the path between a server (SE) and the user terminal (CT). 一種電腦程式產品,可下載自一通訊網路,及/或記錄於一可由電腦讀取之媒體上,及/或可由一處理器執行,該電腦程式產品包括程式碼指令以實施如申請專利範圍第1或3項之方法。 A computer program product downloadable from a communication network and/or recorded on a computer readable medium and/or executable by a processor, the computer program product including code instructions for implementation as claimed in the patent application Method of 1 or 3 items. 一種非暫態電腦可讀取媒體,包括一電腦程式產品記錄於其上及能由一處理器執行,該電腦程式產品包含程式碼指令以實施如申請專利範圍第1或3項之方法。 A non-transitory computer readable medium, comprising a computer program product recorded thereon and executable by a processor, the computer program product comprising code instructions for implementing the method of claim 1 or 3.
TW104100458A 2014-01-10 2015-01-08 Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments TW201542014A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP14305037 2014-01-10

Publications (1)

Publication Number Publication Date
TW201542014A true TW201542014A (en) 2015-11-01

Family

ID=49958402

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104100458A TW201542014A (en) 2014-01-10 2015-01-08 Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments

Country Status (2)

Country Link
TW (1) TW201542014A (en)
WO (1) WO2015104146A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9445136B2 (en) * 2011-09-21 2016-09-13 Qualcomm Incorporated Signaling characteristics of segments for network streaming of media data
US9401968B2 (en) * 2012-01-20 2016-07-26 Nokia Techologies Oy Method and apparatus for enabling pre-fetching of media
JP5880139B2 (en) * 2012-02-29 2016-03-08 富士通株式会社 Placement server, information processing system, cache placement method, cache placement program

Also Published As

Publication number Publication date
WO2015104146A1 (en) 2015-07-16

Similar Documents

Publication Publication Date Title
JP2015133701A (en) Method for downloading, at client terminal, upcoming sequence of segments of multimedia content, and corresponding terminal
JP6514217B2 (en) Method of acquiring network information by a client terminal configured to receive multimedia content divided into segments
EP2953319A1 (en) Method, system and various components of such a system for selecting a chunk identifier
US20150006621A1 (en) Adaptive Video Streaming for Information Centric Networks
CN108668146B (en) Method and equipment for adjusting streaming media code rate
EP3120519B1 (en) Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache
JP2016028470A (en) Method for operating cache arranged in transmission path between at least one server and client terminals, and corresponding cache
CN106464738B (en) Method for operating a network device and corresponding network device
KR102212973B1 (en) Method for providing a content part of a multimedia content to a client terminal, corresponding cache
TW201532427A (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
TW201542013A (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
KR102237900B1 (en) Method for retrieving, by a client terminal, a content part of a multimedia content
WO2015104149A1 (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
CN110545492B (en) Real-time delivery method and server of media stream
TW201542014A (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
TW201532426A (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments
WO2016172967A1 (en) Media stream transmission method and device
WO2015104147A1 (en) Method for obtaining network information by a client terminal configured for receiving a multimedia content divided into segments