WO2020193754A1 - Procédé de diffusion de contenus en streaming dans un réseau pair à pair - Google Patents
Procédé de diffusion de contenus en streaming dans un réseau pair à pair Download PDFInfo
- Publication number
- WO2020193754A1 WO2020193754A1 PCT/EP2020/058709 EP2020058709W WO2020193754A1 WO 2020193754 A1 WO2020193754 A1 WO 2020193754A1 EP 2020058709 W EP2020058709 W EP 2020058709W WO 2020193754 A1 WO2020193754 A1 WO 2020193754A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- segment
- segments
- peer
- reader
- function
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/632—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9005—Buffering arrangements using dynamic buffer space allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1033—Signalling gateways
- H04L65/104—Signalling gateways in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing 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/23439—Processing 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
Definitions
- the present invention relates to a method of broadcasting streaming content in a peer-to-peer network.
- Streaming in French “continuous reading”
- Streaming designates a technique of reading an audio or video stream “live”, that is to say as it is retrieved from the Internet. by customer equipment. It thus opposes downloading, which requires retrieving all of the data from the audio or video content before it can be read.
- the storage of the content is temporary and partial, the data being continuously downloaded into a client's buffer memory (typically RAM), decoded on the fly, sent to an output interface (a screen and / or speakers) and replaced with new data.
- a client's buffer memory typically RAM
- decoded on the fly sent to an output interface (a screen and / or speakers) and replaced with new data.
- content is made available on a streaming server.
- the client wishing to access it sends a request to retrieve the first segments thereof (by segment is meant a block of content data, generally corresponding to a few seconds of reading).
- segment is meant a block of content data, generally corresponding to a few seconds of reading.
- P2P peer-to-peer
- each client acts as a server for other clients: we are talking about peers.
- a peer who has started reading the content can retransmit segments that it has already received to others, and so on, making it easier to distribute regardless of the number of interested customers.
- This strategy is described for example in international application WO 2012/154287 and is satisfactory.
- ABR Adaptive BitRate
- ABR automatic variation of the quality of the recovered segments according to the "capacities" of a peer. More precisely, each segment is available at several quality levels corresponding to several bitrates, i.e. data rates. It is indeed understood that a segment of better quality has a better resolution, a lower compression, a greater number of images per second, etc., and is therefore larger than the same segment in a lower quality, and it is therefore necessary to support higher data rate.
- the ABR aims to automatically determine for each segment the best quality that can be chosen, generally in view of two criteria which are the observed bandwidth and / or the filling rate of the buffer memory.
- the algorithm judges that the estimated bandwidth is sufficient to support higher quality, then it will instruct the client to switch to it (or conversely to lower the quality if the bandwidth is too low).
- the principle is to divide the buffer memory into different intervals, each interval corresponding to an increasingly high quality as the filling of the buffer memory increases (or more and less if it decreases) .
- the ABR algorithms do not have a fundamental incompatibility to be used in a P2P streaming context, the problem is that the ABR algorithms were designed to work in a simple streaming scenario, i.e. with all segments retrieved on request from the content server.
- P2P streaming performs “pre-buffering”, by downloading P2P segments into a dedicated P2P cache before the reader actually requests them.
- the objective of P2P streaming is to solicit as little as possible (and as a last resort) the original content server: a direct request for a segment from this server is only made if there is a risk that there is no longer any of segments in the video buffer and playback is interrupted (“re-buffering”), otherwise there is maximum count on the P2P network.
- the present invention improves the situation.
- the present invention thus relates to a method for continuously reading on a player of a client equipment item of content broadcast within a peer-to-peer network of client equipment, said content consisting of a sequence of segments. available in a plurality of quality levels and said reader being adapted to choose the quality level of the segments in accordance with an adaptive rate control logic, ABR; the client equipment comprising a first buffer memory adapted to store segments in a format suitable for transfer within the peer-to-peer network, the method being characterized in that it comprises the implementation by processing means data of the stage equipment:
- This method cleverly provides feedback to ABR's algorithm by adding an artificial delay to the response.
- said ABR logic is defined by a first function making it possible to calculate a quality level in which said segment is required as a function of at least one parameter representative of a rate of reception of segments;
- a second function makes it possible to calculate in step (a) said response time as a function of said at least one parameter representative of a rate of reception of segments;
- the equipment further comprises a second buffer memory suitable for storing segments in a format suitable for reading by the reader, said segment being provided in step (b) in the second buffer memory;
- said parameter representative of a segment reception rate is a filling level of the second buffer memory and / or a bandwidth
- step (a) includes predicting a quality level in which the next segment will be required based on the calculated response time
- the method comprises a step (c) of verifying said prediction of a quality level in which the next segment will be required;
- the method includes learning the second function based on the predicted and actually required quality levels
- step (a) comprising the modification of the response time calculated as a function of an estimated time necessary to finish retrieving the segment, the segment being provided in a manner complete in step (b) no earlier than the expiration of the modified response time.
- the invention proposes equipment for the continuous reading on a player of content broadcast within a peer-to-peer network of client equipment, said content consisting of a sequence of segments available in a plurality of quality levels and said reader being adapted to choose the quality level of the segments in accordance with an adaptive rate control logic, ABR;
- the client equipment comprising a first buffer memory adapted to store segments in a format suitable for transfer within the peer-to-peer network and data processing means, the equipment characterized in that the processing means of data are configured to, upon receipt of a request for a segment from the reader, respond to said segment from the first buffer memory upon expiration of a response time defined with respect to said reader ABR logic .
- the invention proposes a computer program product comprising code instructions for the execution of a method according to the first aspect of broadcasting content by streaming in a peer-to-peer network of 'client equipment connected to a content server; and a storage means readable by a computer equipment on which a computer program product comprises code instructions for the execution of a method according to the first aspect of broadcasting content by streaming in a peer-to-peer network of 'client equipment connected to a content server.
- Figure 1 shows an architecture for the implementation of the method according to the invention
- Figure 2 illustrates a preferred embodiment of the method according to the invention.
- Network 1 is here a large-scale telecommunications network and in particular the Internet.
- This network 1 comprises a peer-to-peer network 10 of client equipment 11, 12.
- Each client equipment 11, 12 is typically personal computer equipment such as a smartphone, a PC, a tablet, etc. connected to the network 1, having data processing means 110 such as a processor, an interface for reading the content, and data storage means such as a random access memory and / or a mass memory.
- Reading is implemented by a reader, that is to say an application executed by the data processing means 110, which can be of a varied nature, for example a dedicated application, an internet browser in particular compatible with HTML5, an operating system module, etc.
- the reader implements a logic of adaptive regulation of the bitrate, ABR (Adaptive Bitrate), that is to say that said content to be read consists of a sequence of segments available in a plurality of qualities and that the reader is able to decide autonomously which quality to require, in accordance with this ABR logic.
- ABR Adaptive Bitrate
- the various qualities correspond to different rates, that is to say a variable volume of data per unit of time (and thus per segment). We understand, of course, that better quality content requires more throughput.
- ABR logic in more detail later, it will only be understood that in the context of the present process it is not necessary for the ABR logic to be controllable or even known: the present process is completely universal and can be used adapt to any reader implementing any ABR logic based on any criteria.
- the ABR logic is predefined and that the client software (see below) is only subject to it.
- the equipment 11 (and more precisely its data storage means) have two buffer memories M1 and M2 (also called “Buffer”), typically two zones of a random access memory, each being able to store (in a different way as we will see) all or part of the content in a temporary way (by temporary, we mean that the segments are deleted from this memory shortly after they have been read: they are not stored long term as is the case with a direct download). For example, in the case of playback via a browser, all the segments are typically deleted (ie the buffers reinitialized) at the latest when the browser or the tab in which the video is played is closed at the latest.
- Buffer typically two zones of a random access memory
- the first buffer memory M1 is called a “peer-to-peer cache”. It stores the segments in a so-called “raw” format. By raw segments is meant in a format suitable for transfer within the peer-to-peer network 10, but unsuitable for reading on equipment 11.
- the second buffer memory M2 is called a “video buffer”. It is controlled by the reader and stores the segments in a so-called “converted” format. By converted segments is meant converted from raw segments in a format suitable for reading (and in particular for the reader) on the equipment 11, but unsuitable for transfer within the peer-to-peer network 10, see more far.
- the devices 11, 12 are “peers” (also called “nodes") of the peer-to-peer network 10.
- client equipment 11, 12 of a peer-to-peer network 10 is meant equipment connected in the network 1 by a peer-to-peer network protocol.
- the data processing means of each peer implement a particular program (client software, called “Peer-agent”, PA), which can for example be integrated into the reader (for example an extension of 'a web browser), be the object of a dedicated application, or even be incorporated into any other on-board software (for example a player of an Internet access box or a multimedia box, ie a "Set- top box ”), for peer-to-peer use.
- client software called “Peer-agent”, PA
- PA client software
- the present method is mainly implemented through this client software.
- peers 11, 12 are decentralized sub-network within the network 1, in which data can be transferred directly between two client devices 11, 12 network 10, without passing through a central server. It thus allows all the client equipment 11, 12 to play both the role of client and server.
- the peers 11, 12 are thus defined as “seeders” (in French the “semeurs”, that is to say data providers) and / or “leechers” (in French the “sangsues”, c ' i.e. data recipients).
- Said content which is in particular audio or video content, that is to say media of a certain duration, consists of a sequence of segments (called “playlist”, in English “playlist”) stored on data storage means of a server 2 connected to the peer-to-peer network 10, and as explained available in several quality levels.
- the segments have a predetermined length, typically a second or two of the content, but it can range from a fraction of a second to ten seconds. All segments of a given content are generally the same length, which will be noted here on p.
- Server 2 is a content server (called a CDN), advantageously present in network 1 and connected to peer-to-peer network 10.
- CDN content server
- internet 1 making the segments of various content available in accordance with a given streaming protocol.
- Server 2 is the primary source of the segments, insofar as initially no peer has the content (before a first transfer from server 2 to this peer 11, 12).
- the contents are either from the start stored in their entirety on server 2 (case of VOD previously mentioned), or generated in real time (case of live streaming, or live streaming), and in the latter case the list of segments that constitute them evolve dynamically.
- Live Streaming (that is to say “live streaming”) proposes to broadcast in real time content associated with “live” events, for example concerts, conferences, sporting events, events. parts of video games, etc., which are being played simultaneously. Compared to the streaming of already fully existing content such as a film, content broadcast in Live streaming is indeed generated as the associated event unfolds.
- such content can only be broadcast with a slight delay, which the user wants as low as possible.
- This delay is typically of the order of one minute, but can drop to around twenty seconds.
- the sequence of segments is thus dynamic, that is, it is updated regularly. Each time a new segment is generated it is added at the end of the sequence, and the first segment of the sequence (the oldest) is deleted. All the others shift according to a rolling mechanism that can be compared to a FIFO list.
- the first segment of the list can be the one at the play point, in other words the “live” segment (and therefore the segments are deleted from the playlist as soon as they are played. ), or a "past" segment if the content server accepts that the content is read late (some platforms offer live streaming with up to 2 hours late), this is called the DVR (“Digital video recorder”).
- the present method can be implemented in any context.
- the tracker 3 presents data processing means and storage means. It coordinates the exchanges between peers 11, 12 (by controlling the client software implemented by each of the client equipment 11, 12), but it is not directly involved in the transfer of data and does not have a copy of the file.
- ABR peer management server
- ABR logic based respectively on the bandwidth (ie the observed data rate) and on the level of filling (either in value, ie in seconds or in number of segments, or in rate) of the second buffer memory M2 (possibly in combination).
- the reader monitors the bandwidth and / or volume / fill rate of the second buffer memory M2, and makes decisions on whether or not to change the required segment quality level accordingly.
- the ABR logic can be defined by means of a first function making it possible to calculate the quality level to be chosen (the bitrate) as a function of at least one parameter representative of a reception rate. of segments, see for example the curve as represented by FIG. 2 (left part, which represents the reader side, the right part illustrating the client software side).
- said parameter representative of a segment reception rate is a monitored parameter, which can be any parameter illustrating the ability of the equipment 11 and / or the network 10 to receive the segments "sufficiently quickly".
- the known ABR logics generally use as a parameter a filling level of the second buffer memory M2 and / or a bandwidth.
- said first function is monotonic, in particular increasing, between a minimum quality value and a maximum quality value.
- a preferred model is that of a piecewise, three-piece continuous function (connected at two singular points), with a first and third constant piece.
- the bitrate is set equal to the minimum bitrate R min (in other words the buffer is dangerously empty, which is representative of difficulties in obtain segments, and then the quality is minimal to favor refilling);
- bitrate is set equal to the maximum bitrate R m ax (the buffer is full so there is no risk in affording the maximum quality);
- the present method proposes to control the ABR not by altering its logic, but by deceiving it by means of an added response delay before satisfying a request from the segment. Indeed, simply delaying the provision of a segment makes it possible to artificially limit the bandwidth and the filling level of the second buffer memory M2, and thus act on the expected quality of the segments.
- a second function is defined allowing said response time as a function of said at least one parameter representative of a rate of reception of segments in the examples shown, it is therefore again the filling level of the second buffer memory M2) .
- the second function is preferably built (or even learned, see below) from the first function, that is to say that we can map the ABR logic by means of the second function.
- the second function is monotonic with respect to said at least one parameter representative of a rate of reception of segments, and generally (in particular in the case of an ABR logic based on the filling level of the second buffer memory M2 which will be developed below) the first and the second function have the same monotony with respect to said at least one parameter representative of a segment reception rate (in particular increasing).
- the second function turns out most often similar to the first function of the ABR logic (again a continuous function by pieces to three pieces of which two extremal segments), see for example the corresponding curve which is represented on the right part of figure 2.
- the second function is constructed with the same monotonicity as the first function, in particular a continuous function in pieces with three pieces connected via said two points.
- the response time is set at a minimum value p m in, preferably zero, ie no time is added (in other words the buffer is dangerously empty, and we do not take any risk by directly providing the segments received);
- the response time is set equal to a maximum value p m ax, preferably the length p of a segment (this makes it possible not to increase the filling rate even further of the video buffer, the P2P cache keeps the margin by providing a new segment only when a previous segment has been read in full);
- the first and the second function have an inverse monotony with respect to said at least one parameter representative of a rate of reception of segments (that is to say that the second function is increasing when the first function is decreasing, and vice versa), this is notably the case if the ABR logic is based on the bandwidth (then the first function is increasing and the second function is decreasing).
- the present method will not be limited to a given strategy for applying a response time, and those skilled in the art will know how to adapt the idea to the ABR logic, to the type of parameter monitored by the reader, to the behavior of the network. P2P, etc. In general, it will be understood that it suffices to construct a second function defining the response time from the first function defining the ABR logic.
- a client device 11 which is, where appropriate, in the process of retrieving the content from other devices 12 and / or the server 2, that is to say that the first buffer memory M1 already stores at least one raw segment, in at least one quality level, if possible a sub-sequence of the sequence constituting the content.
- the method then begins with the implementation by the processing means 110 of the equipment of a step (a) of receiving a request for a segment, in this case the next segment to be put in a second buffer memory.
- M2 not necessarily the next segment to read, there are normally buffered advance segments.
- Said request is received from the reader, and preferably defines the quality level in which the segment is required, i.e. the bitrate (by application of the ABR logic).
- segment is at this stage at least partially available (i.e. at least one fragment) in the first buffer memory M1, in the quality required by the reader. If this segment / segment fragment was in another quality, it would have to be retrieved again, usually directly from content server 2 because time is running out.
- step (a) then advantageously comprises the calculation of a response time defined with respect to said ABR logic of the reader, in particular as a function of a parameter monitored by the ABR logic (said at least one representative parameter a segment reception rate), preferably the filling level of the second buffer memory M2 and / or the bandwidth.
- Step (a) includes, where appropriate, the "measurement" of said parameter representative of a segment reception rate.
- the second function defining the response time is preferably increasing with said parameter representative of a flow rate of receiving segments between a minimum response time value and a maximum value.
- step (a) includes modifying the response time calculated based on an estimated time needed to finish retrieving the segment.
- a step (b) said required segment is provided in response to the request, from the first buffer memory M1, at the expiration of said response time.
- provided at the expiration of said response time is meant such that the reader does not have it before the expiration of the response time (at best at the time of expiration, or even only after in certain cases , to see further).
- the segment is transmitted suddenly when the response time expires, but it will be understood that it is quite possible to “stream” it within the device 1, ie to stream it. transmit from the first buffer memory M1 progressively (small end by small end) so that the last end is transmitted (at the earliest) when the response time expires (the response time is then a "transmission delay of the last bit of the segment ”).
- the delivery can be broken up, one should not confuse sub-segments of a complete segment (which correspond to consecutive pieces of segment obtained from a completely downloaded segment) and an incomplete segment (in which only parts of the data, usually corresponding to disparate pieces, have been downloaded).
- Only a completely available segment in the first buffer M1 can be provided (if necessary gradually) in response to the request (and not a fragment), so if the download took longer than expected, it The segment may not be fully available until the modified response time has expired.
- the complete segment is provided at the earliest at the expiration of the modified response time (ie not before), but possibly after.
- the complete segment is provided when both of the following conditions are true: the segment is completely available (its download is complete), and the modified response time has expired.
- the segment is supplied to the second buffer memory M2, and as such step (b) can comprise the conversion into a format suitable for reading on the equipment 11 of said segment of the first M1 buffer.
- This step consists of transforming the raw segment into a converted segment, which can be read by the reader of equipment 11 unlike the first.
- the conversion consists of injecting the video data of the segment using the Media Source API browser extension
- step (b) advantageously simultaneously comprises reading a previous segment stored in the second buffer memory M2, so that the segments "rotate”. The segment retrieved in step (b) will soon be read as well.
- step (a) further comprises the prediction of a possible next ABR decision, ie the prediction of the quality level in which the next segment will be required (ie at the next occurrence of step (a )).
- step (b) the filling level of the second memory M2 will have increased by p, that is to say the length of the segment.
- the method may include a step (c), at the end of step (b), of verifying the prediction (where appropriate combined with a next occurrence of step (a)).
- the ABR logic is restarted to calculate a “new” quality level required, ie the quality level required for the next segment, and a corresponding segment request will as such be sent to the client software. Verification is simply a comparison of the predicted quality level and the required practical level of quality for the next segment. Learning
- the first function is known, and the second function can be preconstructed from this first function.
- the first function may be poorly known or not known at all if the reader is completely closed.
- step (c ) the prediction and the decision actually taken, ie the level of quality predicted and that actually required, which constitutes a learning loop.
- the first or second function can be estimated by starting in particular from a default function, and by changing its parameters over time.
- the first function can be parameterized via the values of the four parameters B m in, Rmin, B m ax and R max assuming a piecewise three-segment function
- the second function can be parameterized via the values of the four parameters B m in, Pmin, B m ax and p max assuming a piecewise function with three segments (we therefore have a total of six variables).
- the client software will probably calculate the response time imprecisely, which will lead to unanticipated ABR decisions and uncontrolled quality level change, but quickly the algorithm will improve and the ABR logic. will be completely mastered.
- learning algorithms can be used, for example neural networks.
- Certain factors can be used to invalidate the saved parameters and start again with empty parameters for a new learning phase.
- the learned functions can be transmitted to other peers 12, for example via P2P messages, or to the peer management server 3.
- Computer program equipment and products can be transmitted to other peers 12, for example via P2P messages, or to the peer management server 3.
- the invention relates to the client equipment 11 for the implementation of the present method of reading a content, on a reader adapted to choose the level of quality of the segments in accordance with a logic of adaptive regulation of the bit rate. , ABR.
- This equipment 11 comprises as explained:
- a first buffer memory M1 temporarily storing at least one segment of a content consisting of a sequence of segments, each raw segment being in a format suitable for transfer within the peer-to-peer network 10;
- a second buffer memory M2 temporarily storing at least one converted segment of said content, in a format suitable for reading by the reader;
- the data processing means 110 are configured to implement, following the reception of a request for a segment, the supply (to the reader, typically by injection into the second buffer memory M2) of said segment into the first buffer memory M1 at the expiration of a response time defined with respect to said logic ABR of the reader.
- the invention relates to a computer program product comprising code instructions for the execution (on data processing means, in particular those of the client equipment 11) of a method according to the first aspect of the invention of streaming on client equipment 11 of content broadcast within a peer-to-peer network 10 of client equipment 11, 12, as well as storage means readable by computer equipment (for example a memory of this client equipment 11) on which this computer program product is found.
Abstract
Description
Claims
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG11202110647QA SG11202110647QA (en) | 2019-03-27 | 2020-03-27 | Method to stream contents in a peer-to-peer network |
JP2021556863A JP7059509B1 (ja) | 2019-03-27 | 2020-03-27 | ピア・トゥ・ピアネットワークにおけるストリーミングコンテンツの配信方法 |
EP20713032.9A EP3949434A1 (fr) | 2019-03-27 | 2020-03-27 | Procédé de diffusion de contenus en streaming dans un réseau pair à pair |
AU2020245087A AU2020245087B2 (en) | 2019-03-27 | 2020-03-27 | Method for broadcasting streaming content in a peer-to-peer network |
CA3135076A CA3135076C (fr) | 2019-03-27 | 2020-03-27 | Procede de diffusion de contenus en streaming dans un reseau pair a pair |
KR1020217035076A KR102472155B1 (ko) | 2019-03-27 | 2020-03-27 | 피어 투 피어(Peer to peer, P2P) 네트워크에서 스트리밍 콘텐츠를 방송하는 방법 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FRFR1903195 | 2019-03-27 | ||
FR1903195A FR3094597B1 (fr) | 2019-03-27 | 2019-03-27 | Procédé de diffusion de contenus en streaming dans un réseau pair à pair |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020193754A1 true WO2020193754A1 (fr) | 2020-10-01 |
Family
ID=67262682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2020/058709 WO2020193754A1 (fr) | 2019-03-27 | 2020-03-27 | Procédé de diffusion de contenus en streaming dans un réseau pair à pair |
Country Status (9)
Country | Link |
---|---|
US (3) | US11128685B2 (fr) |
EP (1) | EP3949434A1 (fr) |
JP (1) | JP7059509B1 (fr) |
KR (1) | KR102472155B1 (fr) |
AU (1) | AU2020245087B2 (fr) |
CA (1) | CA3135076C (fr) |
FR (1) | FR3094597B1 (fr) |
SG (1) | SG11202110647QA (fr) |
WO (1) | WO2020193754A1 (fr) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021170594A1 (fr) * | 2020-02-28 | 2021-09-02 | Streamroot | Procédé de lecture sur un lecteur d'un dispositif client d'un contenu diffusé en continu dans un réseau |
CN114666609A (zh) * | 2022-03-31 | 2022-06-24 | 北京奇艺世纪科技有限公司 | 视频数据下载方法、装置、电子设备及存储介质 |
US20220334746A1 (en) * | 2021-04-14 | 2022-10-20 | SK Hynix Inc. | Storage device and operating method thereof |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3094597B1 (fr) | 2019-03-27 | 2021-06-11 | Streamroot | Procédé de diffusion de contenus en streaming dans un réseau pair à pair |
EP3886451A1 (fr) | 2020-03-26 | 2021-09-29 | Streamroot | Procédé de lecture d'un contenu diffusé dans un réseau sur le lecteur d'un dispositif client |
EP4016954B1 (fr) * | 2020-12-18 | 2023-12-20 | Streamroot | Procédé pour commander une lecture de lecteur d'un flux de données en continu dans un réseau de poste à poste |
EP4080892A1 (fr) * | 2021-04-20 | 2022-10-26 | Streamroot | Procédé de lecture d'un contenu diffusé dans un réseau sur le lecteur d'un dispositif client |
EP4080891A1 (fr) * | 2021-04-20 | 2022-10-26 | Streamroot | Procédé de lecture d'un contenu diffusé dans un réseau sur le lecteur d'un dispositif client |
US11652876B2 (en) * | 2021-07-22 | 2023-05-16 | Rovi Guides, Inc. | Assisted delivery service for networks |
US11805169B2 (en) | 2021-09-16 | 2023-10-31 | Apple Inc. | Content delivery network data sharing between mobile devices |
EP4300916A1 (fr) * | 2022-06-27 | 2024-01-03 | Streamroot | Dispositif de commande pour commander un joueur dans un réseau de poste à poste |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110255535A1 (en) * | 2006-09-14 | 2011-10-20 | Opentv, Inc. | Method and systems for data transmission |
US20120254456A1 (en) * | 2011-03-31 | 2012-10-04 | Juniper Networks, Inc. | Media file storage format and adaptive delivery system |
WO2012153173A2 (fr) * | 2011-01-29 | 2012-11-15 | Redthorne Media, Llc | Réseau privé superposé orienté vers le retour d'informations pour la distribution de contenus |
WO2012154287A2 (fr) | 2011-02-28 | 2012-11-15 | Bittorrent, Inc. | Diffusion en flux continu en direct poste à poste |
US20150067722A1 (en) * | 2013-09-04 | 2015-03-05 | Arris Enterprises, Inc. | Averting Ad Skipping in Adaptive Bit Rate Systems |
US20150341812A1 (en) * | 2003-08-29 | 2015-11-26 | Ineoquest Technologies, Inc. | Video quality monitoring |
WO2015191177A1 (fr) * | 2014-06-11 | 2015-12-17 | Google Inc. | Lecture de média de diffusion en continu améliorée |
US20160285939A1 (en) * | 2015-03-25 | 2016-09-29 | Amazon Technologies, Inc. | Determining initial bit rate for adaptive bit rate video playback |
WO2016199098A1 (fr) * | 2015-06-12 | 2016-12-15 | Ericsson Ab | Système et procédé pour gérer une distribution de débit binaire abr en réponse à des caractéristiques de mémoire tampon vidéo d'un client |
US20180138998A1 (en) * | 2015-04-07 | 2018-05-17 | Axel DELMAS | Method for continuously playing, on a client device, a content broadcast within a peer-to-peer network |
US20180288458A1 (en) * | 2017-03-31 | 2018-10-04 | Intel Corporation | Methods and apparatus for adaptive video transmission based on channel capacity |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2618328C (fr) * | 2005-08-12 | 2015-12-15 | Nokia Siemens Networks Gmbh & Co. Kg | Systeme de transmission en continu de video a la demande flexible et multisource pour une communaute d'abonnes entre homologues |
JP5529177B2 (ja) * | 2011-01-19 | 2014-06-25 | ネイバー ビジネス プラットフォーム コーポレーション | P2p基盤のストリーミングサービスでバッファリングを行うシステムおよび方法、並びにクライアントでバッファリングを処理するアプリケーションを配布するシステム |
US8964977B2 (en) | 2011-09-01 | 2015-02-24 | Sonic Ip, Inc. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US8949440B2 (en) | 2012-07-19 | 2015-02-03 | Alcatel Lucent | System and method for adaptive rate determination in mobile video streaming |
EP2833640A1 (fr) * | 2013-08-02 | 2015-02-04 | British Telecommunications public limited company | Mise en mémoire cache vidéo |
US9699236B2 (en) | 2013-12-17 | 2017-07-04 | At&T Intellectual Property I, L.P. | System and method of adaptive bit-rate streaming |
US9769536B2 (en) * | 2014-12-26 | 2017-09-19 | System73, Inc. | Method and system for adaptive virtual broadcasting of digital content |
US9756112B2 (en) * | 2015-02-11 | 2017-09-05 | At&T Intellectual Property I, L.P. | Method and system for managing service quality according to network status predictions |
US9641578B2 (en) | 2015-04-02 | 2017-05-02 | Arris Enterprises, Inc. | Minimizing unicast bandwidth in an adaptive bit rate system |
WO2017063189A1 (fr) * | 2015-10-16 | 2017-04-20 | Qualcomm Incorporated | Signalisation d'échéance de diffusion de données multimédias en continu |
US20170272783A1 (en) | 2016-03-16 | 2017-09-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Architecture for interconnected set-top boxes |
US11366909B2 (en) * | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10728305B2 (en) * | 2018-07-24 | 2020-07-28 | At&T Intellectual Property I, L.P. | Adaptive bitrate streaming techniques |
US11509703B2 (en) * | 2018-09-26 | 2022-11-22 | Vmware, Inc. | System and method for widescale adaptive bitrate selection |
US11622140B2 (en) * | 2018-12-19 | 2023-04-04 | Yahoo Assets Llc | Selective streaming of video segments based on buffer data and download rate range |
FR3094164B1 (fr) * | 2019-03-22 | 2021-10-29 | Streamroot | Procédé d’obtention d’un segment de données par un dispositif client apte à communiquer avec une pluralité de réseaux de diffusion de contenu |
FR3094597B1 (fr) | 2019-03-27 | 2021-06-11 | Streamroot | Procédé de diffusion de contenus en streaming dans un réseau pair à pair |
-
2019
- 2019-03-27 FR FR1903195A patent/FR3094597B1/fr active Active
-
2020
- 2020-03-27 JP JP2021556863A patent/JP7059509B1/ja active Active
- 2020-03-27 KR KR1020217035076A patent/KR102472155B1/ko active IP Right Grant
- 2020-03-27 EP EP20713032.9A patent/EP3949434A1/fr active Pending
- 2020-03-27 SG SG11202110647QA patent/SG11202110647QA/en unknown
- 2020-03-27 US US16/832,088 patent/US11128685B2/en active Active
- 2020-03-27 CA CA3135076A patent/CA3135076C/fr active Active
- 2020-03-27 WO PCT/EP2020/058709 patent/WO2020193754A1/fr unknown
- 2020-03-27 AU AU2020245087A patent/AU2020245087B2/en active Active
-
2021
- 2021-09-13 US US17/472,735 patent/US11689596B2/en active Active
-
2023
- 2023-06-23 US US18/213,481 patent/US20230336600A1/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150341812A1 (en) * | 2003-08-29 | 2015-11-26 | Ineoquest Technologies, Inc. | Video quality monitoring |
US20110255535A1 (en) * | 2006-09-14 | 2011-10-20 | Opentv, Inc. | Method and systems for data transmission |
WO2012153173A2 (fr) * | 2011-01-29 | 2012-11-15 | Redthorne Media, Llc | Réseau privé superposé orienté vers le retour d'informations pour la distribution de contenus |
WO2012154287A2 (fr) | 2011-02-28 | 2012-11-15 | Bittorrent, Inc. | Diffusion en flux continu en direct poste à poste |
US20120254456A1 (en) * | 2011-03-31 | 2012-10-04 | Juniper Networks, Inc. | Media file storage format and adaptive delivery system |
US20150067722A1 (en) * | 2013-09-04 | 2015-03-05 | Arris Enterprises, Inc. | Averting Ad Skipping in Adaptive Bit Rate Systems |
WO2015191177A1 (fr) * | 2014-06-11 | 2015-12-17 | Google Inc. | Lecture de média de diffusion en continu améliorée |
US20160285939A1 (en) * | 2015-03-25 | 2016-09-29 | Amazon Technologies, Inc. | Determining initial bit rate for adaptive bit rate video playback |
US20180138998A1 (en) * | 2015-04-07 | 2018-05-17 | Axel DELMAS | Method for continuously playing, on a client device, a content broadcast within a peer-to-peer network |
WO2016199098A1 (fr) * | 2015-06-12 | 2016-12-15 | Ericsson Ab | Système et procédé pour gérer une distribution de débit binaire abr en réponse à des caractéristiques de mémoire tampon vidéo d'un client |
US20180288458A1 (en) * | 2017-03-31 | 2018-10-04 | Intel Corporation | Methods and apparatus for adaptive video transmission based on channel capacity |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021170594A1 (fr) * | 2020-02-28 | 2021-09-02 | Streamroot | Procédé de lecture sur un lecteur d'un dispositif client d'un contenu diffusé en continu dans un réseau |
US11426655B2 (en) | 2020-02-28 | 2022-08-30 | Streamroot | Method for playing on a player of a client device a content streamed in a network |
US11925862B2 (en) | 2020-02-28 | 2024-03-12 | Streamroot | Method for playing on a player of a client device a content streamed in a network |
US20220334746A1 (en) * | 2021-04-14 | 2022-10-20 | SK Hynix Inc. | Storage device and operating method thereof |
US11836370B2 (en) * | 2021-04-14 | 2023-12-05 | SK Hynix Inc. | Storage device and operating method thereof |
CN114666609A (zh) * | 2022-03-31 | 2022-06-24 | 北京奇艺世纪科技有限公司 | 视频数据下载方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CA3135076C (fr) | 2022-06-14 |
JP7059509B1 (ja) | 2022-04-26 |
US20220021719A1 (en) | 2022-01-20 |
US11689596B2 (en) | 2023-06-27 |
US11128685B2 (en) | 2021-09-21 |
SG11202110647QA (en) | 2021-10-28 |
FR3094597B1 (fr) | 2021-06-11 |
US20200351317A1 (en) | 2020-11-05 |
AU2020245087B2 (en) | 2021-12-09 |
EP3949434A1 (fr) | 2022-02-09 |
JP2022524639A (ja) | 2022-05-09 |
FR3094597A1 (fr) | 2020-10-02 |
KR102472155B1 (ko) | 2022-11-28 |
CA3135076A1 (fr) | 2020-10-01 |
AU2020245087A1 (en) | 2021-11-04 |
KR20210135338A (ko) | 2021-11-12 |
US20230336600A1 (en) | 2023-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3949434A1 (fr) | Procédé de diffusion de contenus en streaming dans un réseau pair à pair | |
WO2016162639A1 (fr) | Procédé de lecture en continu sur un équipement client d'un contenu diffusé au sein d'un réseau pair à pair | |
KR102521753B1 (ko) | 네트워크에서 스트리밍되는 콘텐츠를 클라이언트 디바이스의 플레이어에서 재생하기 위한 방법 | |
WO2020259911A1 (fr) | Procédé de gestion du téléchargement progressif adaptatif (has) d'un contenu numérique diffusé en temps réel, gestionnaire, terminal lecteur de flux multimédia et programme d'ordinateur correspondants | |
KR20220158275A (ko) | 네트워크에서 스트리밍되는 콘텐츠를 클라이언트 디바이스의 플레이어에서 재생하기 위한 방법 | |
WO2021089942A1 (fr) | Procédé de gestion de zapping de contenus multimédias numériques obtenu par téléchargement progressif adaptatif (has), dispositif de gestion, lecteur de flux multimédia et programme d'ordinateur correspondants | |
EP3205067B1 (fr) | Diffusion de contenus en streaming dans un réseau pair à pair | |
EP3926929B1 (fr) | Procédé de gestion de la lecture d'un contenu numérique au sein d'un terminal lecteur de contenus multimédias connecté à un dispositif de restitution | |
WO2021209706A1 (fr) | Gestion de l'accès à des contenus numériques accessibles en téléchargement progressif adaptatif et encodés selon une méthode d'encodage à débit variable, en fonction d'une charge réseau | |
WO2023208688A1 (fr) | Gestion de la restitution d'un contenu multimédia | |
FR3114719A1 (fr) | Procédé de gestion de la lecture d’un contenu numérique au sein d’un terminal lecteur de contenus multimédias connecté à un dispositif de restitution | |
EP4109905A1 (fr) | Gestion du téléchargement progressif adaptatif d'un contenu numérique en mode économiseur d'écran | |
FR3093605A1 (fr) | Procédé de navigation accélérée dans un contenu numérique obtenu par téléchargement progressif adaptatif (HAS), gestionnaire, lecteur de flux multimédia et programme d’ordinateur correspondants. | |
EP4066512A1 (fr) | Procédé de gestion d'une liste de contenus accessibles au zapping, les contenus numériques étant téléchargeables en mode de téléchargement progressif adaptatif (has), dispositif de gestion, lecteur de flux multimédia et programme d'ordinateur correspondants | |
FR3096210A1 (fr) | Procédé de transmission d’un contenu numérique ayant plusieurs versions accessibles depuis un serveur de contenus à destination d’un terminal de restitution. | |
EP3840391A1 (fr) | Gestion de la restitution d'un contenu multimédia et d'une interface de navigation sur un écran | |
FR3019429A1 (fr) | Procede et dispositif de controle d'un telechargement de contenus multimedia | |
FR3135857A1 (fr) | Gestion de la restitution d’un contenu multimédia sur plusieurs écrans. | |
FR3128084A1 (fr) | procédé de gestion de la lecture d’un contenu multimédia. | |
FR3114720A1 (fr) | Gestion du téléchargement progressif adaptatif d’un contenu tenant compte de la qualité du signal échangé entre le terminal client et le point d’accès au réseau | |
FR3093603A1 (fr) | Procédé de navigation accélérée dans un contenu numérique obtenu par téléchargement progressif adaptatif (HAS), gestionnaire, lecteur de flux multimédia et programme d’ordinateur correspondants. |
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: 20713032 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021556863 Country of ref document: JP Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 3135076 Country of ref document: CA |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 20217035076 Country of ref document: KR Kind code of ref document: A |
|
ENP | Entry into the national phase |
Ref document number: 2020713032 Country of ref document: EP Effective date: 20211027 |
|
ENP | Entry into the national phase |
Ref document number: 2020245087 Country of ref document: AU Date of ref document: 20200327 Kind code of ref document: A |