[go: up one dir, main page]

WO2018021950A1 - Dispositif et procédé de commande de diffusion multimédia en continu d'un serveur à un client - Google Patents

Dispositif et procédé de commande de diffusion multimédia en continu d'un serveur à un client Download PDF

Info

Publication number
WO2018021950A1
WO2018021950A1 PCT/SE2016/050728 SE2016050728W WO2018021950A1 WO 2018021950 A1 WO2018021950 A1 WO 2018021950A1 SE 2016050728 W SE2016050728 W SE 2016050728W WO 2018021950 A1 WO2018021950 A1 WO 2018021950A1
Authority
WO
WIPO (PCT)
Prior art keywords
media
denotes
streaming
rml
segment
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/SE2016/050728
Other languages
English (en)
Inventor
Hans Hannu
Min Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Priority to PCT/SE2016/050728 priority Critical patent/WO2018021950A1/fr
Publication of WO2018021950A1 publication Critical patent/WO2018021950A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management 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/454Content or additional data filtering, e.g. blocking advertisements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data

Definitions

  • the proposed technology generally relates to methods and devices for controlling streaming of media from a media server to a client terminal. More specifically it relates to methods and devices that controls which particular upcoming media segments to download for streaming.
  • the proposed technology also provides corresponding computer programs and computer program products.
  • HTTP adaptive streaming is implemented by different vendors such as HTTP dynamic streaming, HDS, developed by Adobe, HTTP smooth streaming, HSS, implemented by Microsoft, HTTP live streaming (HLS) provided by Apple.
  • Dynamic adaptive streaming over HTTP, DASH also named HTTP Adaptive Streaming, HAS, has been adopted by 3GPP targeting to unify behaviors for different vendors.
  • the video server can be incorporated in normal web servers with storage of video representation with different codec rates.
  • a video clip is composed of multiple representation layers with different resolutions.
  • Each layer is encoded with CBR, Constant Bit Rate, or VBR, Variable Bit Rate, encoding algorithms.
  • CBR Constant Bit Rate
  • VBR Variable Bit Rate
  • encoding algorithms Such organization gives finer scalability which can adapt to the client variants and different network bandwidths.
  • the client fetches the Media Presentation Description, MPD, see ref [1 ], from the streaming server for the requested video clip.
  • the MPD conveys detailed characteristics of the requested video clip using a hierarchical data model, which for example includes the timing, segmentation duration, URL, video bitrates, resolutions etc.
  • the client initiates a video request with the initial rate, which is typically a low rate, to the video server.
  • the video request is followed by a bundle of video frames transmitted by the video server.
  • the bundle of video frames also called video segments or video chunks is composed of the subsequent frames in the interval of several seconds.
  • the client may select a new media rate, from the rates given by the MPD, based on the estimated available network throughput and / or the amount of video in the play-out buffer.
  • the buffer-based rate adaptation reduces the buffer underrun and may increase the media rate through the session it suffers from increased rate changes that may negatively affect the quality of experience.
  • the media rate achieved with the buffer based and look ahead scheme for media rate adaptation is lower than the common bandwidth or throughput estimate based rate adaptation. This is due to that the endpoint lacks full knowledge of the system load as the client cannot conceive what happens with other clients sharing the same resources
  • the conference paper [6] used a variant of the algorithm in [5] to provide a media rate recommendation to the client from the network based on the more detailed knowledge that the network has of its part of the system. The client would then issue a request to the server for the suitable video segment.
  • the idea presented in [6] is good at avoiding play-out buffer underrun/re-buffering i.e. in order to avoid a video freeze event.
  • the idea of look ahead as described in [4] is beneficial to reduce the amount of rate switches.
  • both ideas suffer from lower session media rate than common bandwidth or throughput estimate based rate adaptation.
  • existing solutions may not be able to produce the best possible QoE when QoE metrics such as re-buffering events, rate switches, session media rate, pre-buffering and re-buffering time are weighted together.
  • the proposed technology aims to provide alternative mechanisms that improve handling of media streaming from a media server to a client terminal.
  • An object of the proposed technology is to provide a method for controlling streaming of media.
  • Another object of the proposed technology is to provide an apparatus configured to control the streaming of media
  • Yet another object is to provide computer programs and computer program products that enables the controlling of media streaming.
  • a method for controlling streaming of media from a media server 200 to a client terminal 100 comprises acquiring S1 information specifying at least two possible streams that can be used for streaming of the media, each of the streams comprising media segments with stream specific bitrates and sizes.
  • the method also comprises obtaining S2 information specifying a recommended bitrate, RBR, to be used by the terminal 100 during streaming of media.
  • the method also comprises selecting S3 upcoming media segments to be downloaded from the media server 200 based at least partially on the acquired information and the recommended bitrate.
  • an apparatus that is configured to control streaming of media from a media server to a client terminal.
  • the apparatus is configured to acquire information specifying at least two possible streams that can be used for streaming of the media, each of the streams comprising media segments with stream specific bitrates and sizes.
  • the apparatus is also configured to obtain information specifying a recommended bitrate, RBR, to be used by the terminal during streaming of media.
  • RBR recommended bitrate
  • the apparatus is also configured to select upcoming media segments to be downloaded from the media server based at least partially on the acquired information and the recommended bitrate.
  • a computer program comprising instructions, which when executed by at least one processor, cause the at least one processor to:
  • ⁇ read information specifying at least two possible streams that can be used for streaming of the media, each of the streams comprising media segments with stream specific bitrates and sizes;
  • determine upcoming media segments to be downloaded from a media server based at least partially on the acquired information and the recommended bitrate.
  • a computer program product comprising the computer program of the third aspect.
  • an apparatus for controlling streaming of media from a media server to a client terminal comprises:
  • a reading module for reading information specifying at least two possible streams that can be used for streaming of the media, each of the streams comprising media segments with stream specific bitrates and sizes;
  • Embodiments of the proposed technology makes it possible to provide improved Quality of Experience, QoE, for a client streaming media such as e.g. video.
  • the proposed technology also provide mechanism that will improve system fairness which in turn leads to more satisfied users.
  • FIG. 1A is a schematic illustration of a network environment in which the proposed technology may be utilized.
  • FIG. 1 B is a schematic signaling diagram illustrating the signaling between different nodes in a particular embodiment of the proposed technology.
  • FIG. 2 is a schematic flow diagram illustrating a method according to the proposed technology.
  • FIG. 3 is a schematic flow diagram illustrating a particular embodiment of a method according to the proposed technology.
  • FIG. 4 is a schematic block diagram illustrating an apparatus for controlling streaming according to the proposed technology.
  • FIG. 5A is a schematic block diagram illustrating another embodiment of an apparatus for controlling streaming according to the proposed technology.
  • FIG. 5B is a schematic block diagram illustrating how an apparatus according to the proposed technology may be implemented in a client terminal, a medias server or a network node.
  • FIG. 6 is a schematic block diagram illustrating a computer program implementation according to the proposed technology.
  • FIG. 7 is a schematic block diagram illustrating an apparatus for controlling streaming according to the proposed technology.
  • Streaming of media e.g. multimedia is normally performed by means of interaction between a data server, which possesses the media and, upon request, provides the media to a client terminal. That is, during streaming of media, i.e. multimedia, data is constantly received by and presented to a client, or end-user, while being delivered by a provider.
  • Streaming media refers to applications where e.g. audio or video content is played immediately, or almost immediately, since buffering is used to avoid freeze events, instead of being saved to a hard drive for later use.
  • a TV episode is divided into smaller parts e.g. chunks, that is sent to the receiver using a transport protocol such as TCP.
  • the media may be provided to the client in either a wireless fashion, wherein the particular streaming is performed over an intermittent wireless link, such as a network node, or by means of wired streaming.
  • a certain client may request media, e.g. movies, radio shows, sport, etc., to be streamed from a data server.
  • the streaming is generally performed by means of a data server that provides segments, or chunks, of the media to the client terminal.
  • the client terminal receives the segments and store the segments in buffers.
  • the streaming will normally begin on the client side after a certain buffer level is reached, i.e.
  • the proposed technology provides an alternative way to ensure smooth streaming in so far that it provides mechanisms for controlling the streaming of media.
  • the proposed mechanisms in general provides a way whereby a network assisted recommend media rate is combined with a look ahead method in order to increase the session media rate with limited rate steps. This is done in order to mitigate, or completely avoid annoying disruptions of the streaming due to re-buffering events.
  • FIG. 1A is a schematic flow diagram illustrating a network environment in which the proposed technology may be utilized.
  • a terminal 100 that communicates with a server 200 over the paths E and F.
  • a wireless system B with a network assistance method included in a node 300.
  • path E includes a link, e.g. a wireless link such as a LTE radio channel, which is different from the links of path F.
  • a wireless link such as a LTE radio channel
  • the network assistance is a potential downlink bit rate that the terminal 100 may have over path E, which is commonly the bottleneck of communication systems of today.
  • the recommended bitrate provides a measure of the most suitable, from a network point of view, bitrate for the client over the particular link between the network node and the client and based on the format of the media.
  • the proposed technology provides a method for controlling streaming of media from a media server 200 to a client terminal 100.
  • the method comprises acquiring S1 information specifying at least two possible streams that can be used for streaming of the media, each of the streams comprising media segments with stream specific bitrates and sizes.
  • the method also comprises obtaining S2 information specifying a recommended bitrate, RBR, to be used by the terminal 100 during streaming of media.
  • the method also comprises selecting S3 upcoming media segments to be downloaded from the media server 200 based at least partially on the acquired information and the recommended bitrate.
  • the flow diagram of FIG.2 provides a schematic illustration of the proposed method.
  • a method that selects the particular media segments, or particular sequences of media segments, to be downloaded by a client terminal 100 that is streaming media from a media server 200.
  • the method relies on at least two different types of information, a first type of information that specifies the possible streams that can be used for streaming.
  • streams are here intended a sequence of media segments having specified sizes or lengths together with corresponding bitrates.
  • the information may in a particularly simple example be represented by a set of numbers, e.g. the acquired information comprises a first parameter N, which is equal or larger than one, which is describing the number of media segments of a first stream of the at least two possible streams.
  • the parameter N Associated to the first stream and the parameter N is also corresponding media segment sizes and bitrates.
  • each of the N different segments of the first stream are associated with a particular segment size and a particular bitrate. If, for example, it is given that N is two, then the information about the first stream acquired in step S1 comprises 4 additional numbers. Two numbers specifying the size and bitrate of the first segment and two specifying the size and bitrate of the second segment.
  • the information acquired in step S1 will also comprise corresponding information related to a second stream.
  • the acquired information may therefore comprise information about a second parameter M which is describing the number of media segments of a second stream of the at least two possible streams.
  • the parameter M may be the same as N above.
  • the information acquired in step S1 will comprise information about the sizes and bitrates of each of the M segments of the second stream.
  • the information may be acquired from the media server 200, either upon request or as information transmitted by means of e.g. a Media Presentation Description, MPD, providing details enabling streaming of the media.
  • MPD Media Presentation Description
  • the media server is selected to perform the method than the media server can read of the information from the stored information about the media already at hand.
  • the method also comprises the step S2 of obtaining information about a recommended bitrate, RBR, to be used by the terminal 100 during streaming of media.
  • the value of the recommended bitrate may be obtained from e.g. a network assistance node providing connection links between the media server and the terminal.
  • the network assistance node may for example provide a wireless link between the media server and the client terminal. Other links are however also possible.
  • the method may proceed and select, in a step S3, the specific upcoming media segments to be downloaded from the media server 200 based at least partially on the acquired information and the recommended bitrate. Specific ways of selecting the media segments will be described in what follows.
  • the step S3 of selecting a media segment comprises calculating S31 a target value for a media segment entity based at least partially on the acquired information and the obtained recommended bitrate.
  • the step S3 of selecting a media segment also comprises determining S32, for each of at least two streams, a representative value of the media segment entity to enable that a selection of a media segment to be downloaded can be based on a comparison relating the target value and the representative value.
  • a media segment will be selected for downloading based on a comparison between a target value for a particular media segment entity, calculated by using at least the acquired information and the obtained information and a determined stream specific representative value of the media segment entity, i.e. a representative value determined for each stream.
  • the media segment entity referred to above may either relate to the size of the particular media segment or a bitrate of the particular media segment. It may also be a functional representation of the same, i.e. the entity may be provided by a particular mathematical function of the size and/or the bitrate.
  • the embodiment also determines S32, for each of the streams in the set of at least two streams, a representative value of the media segment. Having access to a target value and representative values, the method may perform a comparison between the target value and the representative values and base the selection of the next media segment to be downloaded on the outcome of the comparison. Particularly efficient comparison criteria will be described in what follows.
  • step S31 of calculating a target value, T, for the media segment entity is performed by using any of the following equations:
  • RML denotes the length of the media to be requested and RBR denotes the recommended bitrate, or:
  • T (CBL-RML) * RBR, (2) where CBL denotes the current buffer level of the client terminal (100), RML denotes the length of the media to be requested and RBR denotes the recommended bitrate, or:
  • T (CBL-MBL) * RBR, (3) where CBL denotes the current buffer level of the client terminal (100), MBL denotes the minimum buffer level of the client and RBR denotes the recommended bitrate.
  • Formula (1 ) above utilizes, beside the recommended bitrate also the length of the media to be requested, RML.
  • the value may in many cases be set to the length of a particular segment, i.e. the method only selects one segment at the time. It is common to request one segment of media per request. The same segment length, in seconds, is usually used throughout the whole media, e.g. throughout the whole video clip/movie/episode.
  • the requested media length corresponds mostly to one segment length, e.g. 1 s, 5s or 10s.
  • Formula (2) and (3) above utilizes, beside the obtained recommended bitrate, also the buffer level values of the client.
  • the current buffer level of the client is known to the client terminal 100, so if the method is to be implemented by the client terminal 100, then the value is already known. If on the other hand the method is to be implemented by the media server 200 this information may either be approximated based on statistics, or relayed by the client terminal 100 to the media server.
  • step S32 of determining, for each of the streams, a representative value of the media entity comprises any of the following:
  • This particular embodiment provides for different ways of determining S32 a representative value for each of the at least two streams.
  • a first possible way is to compute the average of media entity for a particular number N of upcoming media segments and use the average value as a representative value to be compared with the target value.
  • a second possible way is to determine the value of a predetermined percentile of a number N of upcoming media segments, and use this as a representative value. That is, X is the predetermined percentile in size, represented by bits/bytes of the N upcoming segment. E.g. the 10 th percentile size of the N upcoming segment gives the size that 10% of the N segments are smaller than.
  • step S32 of determining, for each of the streams, a representative value of the media entity comprises to determine the representative size, S N , of a number N of upcoming media segments, and to determine the representative size, S , of another number M of upcoming media segments, and to setting the representative value to:
  • a possible embodiment of the proposed technology provides a method wherein the step S3 of selecting a media segment to request for downloading at least comprises to compare the target value, T, with the representative values, RV, in order to select the stream from which the next media segment is to be downloaded based on the comparison.
  • step S3 of selecting a media segment to request for downloading comprises to compare the target value, T, with the representative values, RV, and select a media segment from the stream that yielded a representative value that was closest to the corresponding target value.
  • Still another embodiment of the proposed technology provides a method wherein the step S32 of determining, for each of the streams, a representative value of the media entity also comprises to determine an additional representative value of the media entity based on a chunk map providing a map relating the value of the client terminals 100 buffer levels and media segment sizes.
  • a particular example of this embodiment relates to the case where the selection process of the next media segment to download includes another input related to segment size that is provided by means of a chunk map.
  • a chunk map is a defined mapping between amount of data in the play-out buffer, i.e. the buffer level, and the segment size.
  • the chunk map provides a segment size to use, commonly denoted as a Chunk Map Segment Size, CMSS.
  • CMSS Chunk Map Segment Size
  • the method may determine an additional representative value of the media entity.
  • This additional value may, according to one particular embodiment, first be compared with the target value to check whether it fulfills the specified comparison criteria and after that be compared with another determined representative value, e.g. a representative value determined according to the earlier described embodiments, in order to find the most suitable media segment to download.
  • the additional representative value may first be compared with the target value and then compared with the representative value in order to select the most suitable media segment to download.
  • the target value could first be compared with the representative value, and then further compared with the additional representative value in order to determine a particular media segment to be downloaded.
  • a target value which for example may be media segment size, calculated by using any of the Formulas (1 ), (2), (3) and a representative value, R, calculated by using i.e. Formula (4) given above.
  • the chunk map may then be used to provide an additional representative value A R of the media size.
  • This additional representative value may than be compared with the calculated representative value in order to find the most suitable media segment size to use. This may for example be achieved by comparing the two values and choose the calculated representative value over the additional representative value if it is larger or smaller than a particular offset a given to the additional representative value, e.g. if R ⁇ A R + a or if R > A R + a.
  • the proposed technology provides a method wherein the step S3 of selecting a media segment to request for downloading comprises to compare the determined representative values with the target value and the determined additional representative values, or an offset of the additional representative values, and select the next media segment to download based on the comparison.
  • a possible embodiment of the proposed technology provides a method wherein the step S3 of selecting a media segment to request for downloading comprises to select a media segment from a stream that yielded a representative value that was closest to the corresponding target value.
  • the step S3 of selecting a media segment to request for downloading comprises to select a media segment from a stream that yielded a representative value that was closest to the corresponding target value.
  • the method may be implemented to be on the safe side and thus choose the closest lower value. The method may however also be a bit aggressive and choose the closest higher.
  • the step of acquiring S1 information comprises acquiring the information from a Media Presentation Description, MPD, providing details enabling streaming of the media.
  • Still another possible embodiment of the proposed technology provides a method wherein the step of obtaining S2 information specifying a recommended bitrate, RBR, comprises to receive the recommended bitrate from a network node 300 supporting the link between the media server 200 and the client terminal 100.
  • the method could, according to the proposed technology, be performed by either the media server 200 or the client terminal 100.
  • each of the streams, O and Q contains two media segments.
  • Stream O has two segments with bitrates ⁇ and 0'2, with corresponding sizes 0"1 and 0"2, while stream Q has segments with bitrates Q'1 and Q'2 and corresponding sizes Q"1 and Q"2.
  • Step S1 Acquire information relating to stream 0 with specified bitrates ⁇ , and 0'2, with corresponding sizes 0"1 and 0"2, for each of the two segments. That is, the first media segment is characterized by bitrate 0 * '1 and size 0 * "1 , while the second media segment in the first stream 0 is characterized by bitrate 0 ** '2 and size 0 ** '2.
  • the specific information thus acquired may be represented, in this simplified example, by eight numbers, bitrates 0 * '1 , 0 ** '2 and sizes 0 ** '1 , 0 * "2 from the first stream 0 and the corresponding numbers from the second stream Q.
  • Step S2 Obtain the recommended bitrate, a single number.
  • Step S3 Select the next media segment to download based at least partially on these numbers.
  • This process utilizes a calculated target value which can be seen as single number.
  • the target value is a target value corresponding to a media segment entity. This entity may be either media segment size or the bitrate of a media segment.
  • the process also utilizes a representative value that is determined according to step S32 described earlier.
  • a representative value for each stream O and Q which in this case amounts to two numbers. Having obtained these three numbers, the target value and the two representative values, one may proceed to determine what media segment to download. This may be done by comparing the two different representative values with the target value and select the particular representative value that fulfilled a specified criteria. The media segment to download is then selected from the stream that yielded the representative value that fulfilled the specified criteria.
  • the criteria may, for example, be to select the representative value that was closest to the target value. It may however also be to select the representative value that were closest to the target value but higher than the same. It may also be to select the representative value that were closest to the target value but lower than the same.
  • the specific constraint or comparison criteria to use when selecting the next media segment to download may be tailored to the particular conditions. For example, if the media segment entity refers to the size of the media segment, and if the buffer levels are low in the client terminal, one may choose the comparison criteria that the representative value should be close to, but higher than, the target value to ensure that the buffer does not get emptied and freezes the streaming.
  • FIG.1 B Still another illustrating example of the proposed technology is illustrated in the signaling diagram of FIG.1 B.
  • FIG. 1 B provides an example message sequence diagram between the three cooperating entities illustrated in FIG.1 .
  • the media represented by video That is, the client terminal aims to stream video provided by the media server.
  • the video client in terminal A sends a GET video message to the video server D.
  • the video server D replies with the Media Presentation Description (MPD).
  • MPD Media Presentation Description
  • the video client interacts with the network assistance node C.
  • This interaction may, for example, include exchange of client information, such as play-out buffer level, MPD information such as available media rates at the video server D.
  • the network assistance method in node C calculates a recommended bit rate for the particular video client in terminal A based on system and user information available in the wireless system B.
  • the video client request video segments from the server.
  • the video server replies back to the video client with the request video segments
  • the video client request video segments from the server.
  • the video server replies back to the video client with the request video segments The requests and responses will continue until the user stops the video or the video is finished.
  • the proposed technology also provides an apparatus or network device that is configured to control streaming of media from a media server 200 to a client terminal 100.
  • Such an apparatus or network device may reside in either the client terminal 100 or the media server 200. It may however also reside in any other supporting network node that provides communication links between the media server 200 and the client terminal 100, e.g. the network node 300; C, that provides assistance.
  • the advantages that is achieved by such an apparatus are the same as those that were described in relation to the proposed method and they will not be described again.
  • wireless communication device may refer to a mobile phone, a cellular phone, a Personal Digital Assistant (PDA), equipped with radio communication capabilities, a smart phone, a laptop or Personal Computer (PC), equipped with an internal or external mobile broadband modem, a tablet with radio communication capabilities, a target device, a device to device UE, a machine type UE or UE capable of machine to machine communication, Customer Premises Equipment (CPE), Laptop Embedded Equipment (LEE), Laptop Mounted Equipment (LME), USB dongle, a portable electronic radio communication device, a sensor device equipped with radio communication capabilities or the like.
  • PDA Personal Digital Assistant
  • PC Personal Computer
  • CPE Customer Premises Equipment
  • LEE Laptop Embedded Equipment
  • LME Laptop Mounted Equipment
  • USB dongle a portable electronic radio communication device, a sensor device equipped with radio communication capabilities or the like.
  • wireless communication device should be interpreted as non-limiting terms comprising any type of wireless device communicating with a network node in a wireless communication system and/or possibly communicating directly with another wireless communication device.
  • a wireless communication device may be any device equipped with circuitry for wireless communication according to any relevant standard for communication.
  • network node may refer to base stations, access points, network control nodes such as network controllers, radio network controllers, base station controllers, access controllers, and the like.
  • base station may encompass different types of radio base stations including standardized base station functions such as Node Bs, or evolved Node Bs (eNBs), and also macro/micro/pico radio base stations, home base stations, also known as femto base stations, relay nodes, repeaters, radio access points, Base Transceiver Stations (BTSs), and even radio control nodes controlling one or more Remote Radio Units (RRUs), or the like.
  • base station may encompass different types of radio base stations including standardized base station functions such as Node Bs, or evolved Node Bs (eNBs), and also macro/micro/pico radio base stations, home base stations, also known as femto base stations, relay nodes, repeaters, radio access points, Base Transceiver Stations (BTSs), and even radio control nodes controlling one or more Remote Radio Units (RRUs),
  • network device may refer to any device located in connection with a communication network, including but not limited to devices in access networks, core networks and similar network structures.
  • the term network device may also encompass cloud-based network devices.
  • the proposed technology also provides an apparatus 150 that is configured to control streaming of media from a media server 200 to a client terminal 100.
  • the apparatus 150 is configured to acquire information specifying at least two possible streams that can be used for streaming of the media, each of the streams comprising media segments with stream specific bitrates and sizes.
  • the apparatus 150 is also configured to obtain information specifying a recommended bitrate, RBR, to be used by the terminal 100 during streaming of media.
  • the apparatus 150 is also configured to select upcoming media segments to be downloaded from the media server 200 based at least partially on the acquired information and the recommended bitrate.
  • a possible embodiment of the proposed technology provides an apparatus 150 that is configured to select a media segment.
  • the apparatus 150 is configured to calculate a target value for a media segment entity based at least partially on the acquired information and the obtained recommended bitrate.
  • the apparatus 150 is also configured to determine, for each of the at least two streams, a representative value of the media segment entity, to enable that a selection of a media segment to be downloaded is based on a comparison relating the target value and the representative value.
  • the proposed technology also provides an embodiment of an apparatus 150 wherein apparatus is configured to calculate a target value, T, for the media segment entity by using any of the following equations:
  • T RML * RBR, where RML denotes the length of the media to be requested and RBR denotes the recommended bitrate, or:
  • T (CBL-RML) * RBR, where CBL denotes the current buffer level of the client terminal (100), RML denotes the length of the media to be requested and RBR denotes the recommended bitrate, or:
  • the apparatus 150 is configured to compute an average of the media entity based on a number N of upcoming media segments and setting the representative value to the average, or
  • the apparatus 150 is configured to determine a value, X, of a predetermined percentile of a number N of upcoming media segments and setting the representative value to X/RML where RML denotes the length of the media to be requested, or
  • the apparatus 150 is configured determine the maximum size, S ma x, of a number N of upcoming media segments and setting the representative value to S ma x/RML, where RML denotes the length of the media to be requested.
  • Still another embodiment of the proposed technology provides an apparatus 150 that is configured to determine, for each of the streams, a representative value of the media entity comprises to determine the representative size, S N , of a number N of upcoming media segments, and to determine the representative size, S , of another number M of upcoming media segments, and to setting the representative value to:
  • RML denotes the length of the media to be requested
  • S N is determined by taking the maximum size of a number N of upcoming media segments
  • S is determined by taking the average size of a number M of upcoming media segments
  • a possible embodiment provides an apparatus 150 that is configured to select a media segment to request for downloading, wherein the apparatus is at least configured to compare the target value, T, with the representative values, RV, in order to select the stream from which the next media segment is to be downloaded based on the comparison.
  • Another possible embodiment provides an apparatus 150 that is configured to select a media segment to request for downloading by comparing the target value, T, with the representative values, RV, and select a media segment from the stream that yielded a representative value that was closest to the corresponding target value.
  • Yet another embodiment of the proposed technology provides an apparatus 150, wherein the apparatus is configured to determine, for each of the streams, a representative value of the media entity by being further configured to determine an additional representative value of the media entity based on a chunk map providing a map relating buffer levels with media segment sizes.
  • the proposed technology provides an apparatus 150 that is configured to select a media segment to request for downloading by being configured to compare the determined representative values with the target value and the determined additional representative values, or an offset of the additional representative values, and by being configured to select the next media segment to download based on the comparison.
  • a particular embodiment of the proposed technology provides an apparatus that is configured to select a media segment to request for downloading by being configured to select a media segment from a stream that yielded a representative value that was closest to the corresponding target value.
  • Another embodiment of the proposed technology provides an apparatus 150 that is configured to acquire information from a Media Presentation Description, MPD, providing details enabling streaming of the media.
  • Yet another embodiment of the proposed technology provides an apparatus that is configured to obtain information specifying a recommended bitrate, RBR, by receiving the recommended bitrate from a network node 300 supporting the link between the media server 200 and the client terminal 100.
  • FIG.4 provides a schematic block diagram illustrating a particular embodiment of the proposed apparatus 150.
  • the apparatus 150 comprises a communication circuitry 130, a processor 1 10 and a memory 120, the memory 120 comprising instructions executable by the processor 1 10, whereby the processor 1 10 is operative to control streaming of media from a media server 200 to a client terminal 100.
  • FIG.5B provides a block diagram illustrating an apparatus 150 according to the proposed technology that is part of either the media server 200 or the client terminal 100.
  • the apparatus 150 may also form part of the assisting network node 300. It will be appreciated that the methods and arrangements described herein can be implemented, combined and re-arranged in a variety of ways.
  • embodiments may be implemented in hardware, or in software for execution by suitable processing circuitry, or a combination thereof.
  • At least some of the steps, functions, procedures, modules and/or blocks described herein may be implemented in software such as a computer program for execution by suitable processing circuitry such as one or more processors or processing units.
  • processing circuitry includes, but is not limited to, one or more microprocessors, one or more Digital Signal Processors (DSPs), one or more Central Processing Units (CPUs), video acceleration hardware, and/or any suitable programmable logic circuitry such as one or more Field Programmable Gate Arrays (FPGAs), or one or more Programmable Logic Controllers (PLCs).
  • DSPs Digital Signal Processors
  • CPUs Central Processing Units
  • FPGAs Field Programmable Gate Arrays
  • PLCs Programmable Logic Controllers
  • FIG. 5A is a schematic block diagram illustrating another example of an apparatus 150, based on a hardware circuitry implementation according to an embodiment.
  • suitable hardware circuitry 210 include one or more suitably configured or possibly reconfigurable electronic circuitry, e.g. Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), or any other hardware logic such as circuits based on discrete logic gates and/or flip-flops interconnected to perform specialized functions in connection with suitable registers (REG) and/or memory units (MEM) 220.
  • ASICs Application Specific Integrated Circuits
  • FPGAs Field Programmable Gate Arrays
  • REG registers
  • MEM memory units
  • the apparatus 150 may also include a communication circuit 130; 230.
  • the communication circuit 130 may include functions for wired and/or wireless communication with other devices and/or network nodes in the network. In a particular example, the communication circuit 130 may be based on radio circuitry for communication with one or more other nodes, including transmitting and/or receiving information.
  • the communication circuit 130 may be interconnected to the processor 1 10 and/or memory 120.
  • the communication circuit 230 may be interconnected to the hardware circuitry 210 and/or REG/MEM 220.
  • the communication circuit 130; 230 may include any of the following: a receiver, a transmitter, a transceiver, input/output (I/O) circuitry, input port(s) and/or output port(s).
  • FIG. 6 is a schematic diagram illustrating an example of a computer-implementation 400 according to an embodiment.
  • a computer program 125 which is loaded into the memory 120 for execution by processing circuitry including one or more processors 1 10.
  • the processor(s) 1 10 and memory 120 are interconnected to each other to enable normal software execution.
  • An optional input/output device 440 may also be interconnected to the processor(s) 1 10 and/or the memory 120 to enable input and/or output of relevant data such as input parameter(s) and/or resulting output parameter(s).
  • the term 'processor' should be interpreted in a general sense as any system or device capable of executing program code or computer program instructions to perform a particular processing, determining or computing task.
  • the processing circuitry including one or more processors 1 10 is thus configured to perform, when executing the computer program 125, well-defined processing tasks such as those described herein.
  • the processing circuitry does not have to be dedicated to only execute the above- described steps, functions, procedure and/or blocks, but may also execute other tasks.
  • a computer program 125 comprising instructions, which when executed by at least one processor 1 10, cause the at least one processor 1 10 to: • read information specifying at least two possible streams that can be used for streaming of the media, each of the streams comprising media segments with stream specific bitrates and sizes;
  • the proposed technology also comprises a computer program product 225; 2350 comprising the above described computer program 125.
  • the proposed technology also provides a carrier comprising the computer program, wherein the carrier is one of an electronic signal, an optical signal, an electromagnetic signal, a magnetic signal, an electric signal, a radio signal, a microwave signal, or a5 computer-readable storage medium.
  • the software or computer program 125 may be realized as a computer program product, which is normally carried or stored on a computer-readable medium, in particular a non-volatile medium.
  • the computer-readable medium may0 include one or more removable or non-removable memory devices including, but not limited to a Read-Only Memory (ROM), a Random Access Memory (RAM), a Compact Disc (CD), a Digital Versatile Disc (DVD), a Blu-ray disc, a Universal Serial Bus (USB) memory, a Hard Disk Drive (HDD) storage device, a flash memory, a magnetic tape, or any other conventional memory device.
  • the computer program may thus be loaded5 into the operating memory of a computer or equivalent processing device for execution by the processing circuitry thereof.
  • FIG. 7 is a schematic diagram illustrating an example of an apparatus 170 for controlling streaming of media from a media server 200 to a client terminal 100, wherein the apparatus comprises:
  • a reading module 171 for reading information specifying a recommended bitrate, RBR, to be used by a terminal 100 during streaming of media
  • a processing module 172 for determining upcoming media segments to be downloaded from a media server 200 based at least partially on the acquired information and the recommended bitrate.
  • module(s) in FIG. 7 it is possible to realize the module(s) in FIG. 7 predominantly by hardware modules, or alternatively by hardware, with suitable interconnections between relevant modules.
  • Particular examples include one or more suitably configured digital signal processors and other known electronic circuits, e.g. discrete logic gates interconnected to perform a specialized function, and/or Application Specific Integrated Circuits (ASICs) as previously mentioned.
  • Other examples of usable hardware include input/output (I/O) circuitry and/or circuitry for receiving and/or sending signals.
  • I/O input/output

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

L'invention concerne des procédés, des dispositifs, et des programmes d'ordinateur pour contrôler une diffusion multimédia en continu. L'invention concerne en particulier un procédé de commande d'une diffusion multimédia en continu, d'un serveur multimédia 200 à un terminal client 100. Le procédé consiste à : acquérir (S1) des informations spécifiant au moins deux flux possibles qui peuvent être utilisés pour la diffusion multimédia en continu, chacun des flux contenant des segments multimédias ayant des débits et des tailles de bits spécifiques au flux ; obtenir (S2) des informations spécifiant un débit binaire recommandé, RBR, devant être utilisé par le terminal 100 durant la diffusion multimédia en continu ; et sélectionner (S3) des segments multimédias à venir devant être téléchargés à partir dudit serveur multimédia 200 sur la base, au moins en partie, des informations acquises et du débit binaire recommandé. L'invention concerne également des appareils et des programmes informatiques correspondants.
PCT/SE2016/050728 2016-07-26 2016-07-26 Dispositif et procédé de commande de diffusion multimédia en continu d'un serveur à un client Ceased WO2018021950A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/SE2016/050728 WO2018021950A1 (fr) 2016-07-26 2016-07-26 Dispositif et procédé de commande de diffusion multimédia en continu d'un serveur à un client

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2016/050728 WO2018021950A1 (fr) 2016-07-26 2016-07-26 Dispositif et procédé de commande de diffusion multimédia en continu d'un serveur à un client

Publications (1)

Publication Number Publication Date
WO2018021950A1 true WO2018021950A1 (fr) 2018-02-01

Family

ID=56682233

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SE2016/050728 Ceased WO2018021950A1 (fr) 2016-07-26 2016-07-26 Dispositif et procédé de commande de diffusion multimédia en continu d'un serveur à un client

Country Status (1)

Country Link
WO (1) WO2018021950A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11265356B2 (en) 2018-02-22 2022-03-01 Sony Group Corporation Network assistance functions for virtual reality dyanmic streaming

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005022852A1 (fr) * 2003-08-21 2005-03-10 Vidiator Enterprises Inc. Mesures de la qualite d'experience (qoe) destinees a des reseaux de communication sans fil
US20080155087A1 (en) * 2006-10-27 2008-06-26 Nortel Networks Limited Method and apparatus for designing, updating and operating a network based on quality of experience
US20110131011A1 (en) * 2009-12-01 2011-06-02 Verizon Patent And Licensing Inc. Methods, systems and computer program products for throughput-testing of electronic data systems
US20110161484A1 (en) * 2009-12-24 2011-06-30 Van Den Bogaert Etienne A H Dynamic mobile application quality-of-service monitoring and reporting
EP2362651A1 (fr) * 2010-02-19 2011-08-31 Thomson Licensing Fourniture de trajets multiples pour diffusion en flux adaptatif
WO2011158221A2 (fr) * 2010-06-18 2011-12-22 Nokia Corporation Procédé et appareil permettant de générer et de gérer une métrique de qualité d'expérience d'un flux multimédia
US20140365556A1 (en) * 2013-06-06 2014-12-11 Mohamed M. Rehan Manager for dash media streaming

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005022852A1 (fr) * 2003-08-21 2005-03-10 Vidiator Enterprises Inc. Mesures de la qualite d'experience (qoe) destinees a des reseaux de communication sans fil
US20080155087A1 (en) * 2006-10-27 2008-06-26 Nortel Networks Limited Method and apparatus for designing, updating and operating a network based on quality of experience
US20110131011A1 (en) * 2009-12-01 2011-06-02 Verizon Patent And Licensing Inc. Methods, systems and computer program products for throughput-testing of electronic data systems
US20110161484A1 (en) * 2009-12-24 2011-06-30 Van Den Bogaert Etienne A H Dynamic mobile application quality-of-service monitoring and reporting
EP2362651A1 (fr) * 2010-02-19 2011-08-31 Thomson Licensing Fourniture de trajets multiples pour diffusion en flux adaptatif
WO2011158221A2 (fr) * 2010-06-18 2011-12-22 Nokia Corporation Procédé et appareil permettant de générer et de gérer une métrique de qualité d'expérience d'un flux multimédia
US20140365556A1 (en) * 2013-06-06 2014-12-11 Mohamed M. Rehan Manager for dash media streaming

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Guidelines for Implementation: DASH-AVC/264 Interoperability Points DASH Industry Forum", 15 August 2013 (2013-08-15), XP055174477, Retrieved from the Internet <URL:http://dashif.org/w/2013/08/DASH-AVC-264-v2.00-hd-mca.pdf> [retrieved on 20150306] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11265356B2 (en) 2018-02-22 2022-03-01 Sony Group Corporation Network assistance functions for virtual reality dyanmic streaming

Similar Documents

Publication Publication Date Title
CA2878327C (fr) Procedes de diffusion en continu adaptative basee sur la qualite par protocole de transfert hypertexte
EP2962435B1 (fr) Adaptation de diffusion en continu sensible à la liaison
EP3539295B1 (fr) Sélection de débit binaire initial pour une session de distribution vidéo
US11477257B2 (en) Link-aware streaming adaptation
RU2598805C2 (ru) Способ для динамической адаптации частоты следования битов при приеме и соответствующий приемник
EP2797319B1 (fr) Système de livraison de contenu
EP3871100A1 (fr) Logique d&#39;adaptation de prédiction basée sur des segments de contenu
JP2014090419A (ja) 通信パラメータに従ってコンテンツをダウンロードするための方法、および、関連するコンテンツ受信機
WO2018021950A1 (fr) Dispositif et procédé de commande de diffusion multimédia en continu d&#39;un serveur à un client
KR101700370B1 (ko) 지터 보정 방법 및 장치
HK1244121B (zh) 链路感知流送自适应
HK1234236B (zh) 支持超文本传输协议上的动态自适应流的设备和方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16750535

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16750535

Country of ref document: EP

Kind code of ref document: A1