WO2016008913A1 - Method of changing channel and gateway for digital tv streams - Google Patents
Method of changing channel and gateway for digital tv streams Download PDFInfo
- Publication number
- WO2016008913A1 WO2016008913A1 PCT/EP2015/066137 EP2015066137W WO2016008913A1 WO 2016008913 A1 WO2016008913 A1 WO 2016008913A1 EP 2015066137 W EP2015066137 W EP 2015066137W WO 2016008913 A1 WO2016008913 A1 WO 2016008913A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- gateway
- strings
- additional
- memory
- channels
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 239000000872 buffer Substances 0.000 claims abstract description 52
- 230000015654 memory Effects 0.000 claims abstract description 37
- 230000008859 change Effects 0.000 claims description 19
- 238000007619 statistical method Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 5
- 230000001052 transient effect Effects 0.000 claims description 2
- 230000006399 behavior Effects 0.000 description 9
- 230000003139 buffering effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 101150012579 ADSL gene Proteins 0.000 description 1
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4383—Accessing a communication channel
- H04N21/4384—Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H20/00—Arrangements for broadcast or for distribution combined with broadcast
- H04H20/40—Arrangements for broadcast specially adapted for accumulation-type receivers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/4508—Management of client data or end-user data
- H04N21/4532—Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/466—Learning process for intelligent management, e.g. learning user preferences for recommending movies
- H04N21/4667—Processing of monitored end-user data, e.g. trend analysis based on the log file of viewer selections
-
- 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/64—Addressing
- H04N21/6405—Multicasting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
Definitions
- the present invention relates to a channel change method and a digital TV stream system that reduces the time of channel change in a context of parallel reception of audio-video streams by multiple receiving stations within a digital home.
- the invention relates to the context of viewing digital TV channels or other forms of live or retransmitted audiovisual content.
- viewing a channel involves tuning to an analog channel, and then displaying the images is instantaneous.
- US 2010 328 527 discloses a method for outputting a first digital video stream.
- the method includes: i) receiving a first transport stream comprising a first plurality of time multiplexed video channels; ii) storing the first transport stream to obtain a first transport stream stored in memory; iii) selecting a first specific channel of the first plurality of time multiplexed video channels to obtain a first selected video channel; iv) searching for the first transport stream stored for a first start of a first group of images of the first selected video channel, and v) outputting the first transport stream stored in memory starting with the first beginning. of the first group of images to obtain the first digital video stream.
- the beginning of the group of images of the selected channel is available in the buffer memory almost instantaneously.
- EP 1 775 953 discloses a method of manipulating a plurality of digital video streams, each of the digital video streams being encoded into frame sequences.
- Each of the frame sequences comprises a key frame, at least one reference frame and additional frames, said keyframe and at least one reference frame suitable for deducing frame information for said additional frames.
- the method disclosed in EP 1 775 953 comprises displaying at least one first digital video stream to be displayed and buffering at least one of said key frame or said at least one frame of reference for a mobile window of at least a second digital video stream for extracting moving images from the keyframe or buffered reference frame (s) when the second digital video stream is selected to be displayed .
- An object of the invention is to provide a method and a system for fast zapping between TV channels which solve the disadvantages of the solutions of the prior art.
- the purpose of the present invention is to switch from an audio-video stream, such as a TV channel, to another audio-video stream with reduced latency to improve the quality of delivery of end users.
- the above-defined object is achieved with a chain-changing method in a gateway connected to a plurality of audio-video stream consumer modules and managing a plurality of channels provided by a platform, this method comprising:
- step the gateway
- the gateway selects another set of n strings to be pre-stored in buffer memory on the basis of said next string.
- the setpoint comes from one of the consumer modules connected to the gateway.
- a circular buffer memory is a buffer memory for storing data in the first-in, first-out manner (FIFO for "first-in, first-out").
- the buffer is limited in size, and when the end of writing the data is reached, the following data is stored at the beginning of the buffer, and writing continues from there.
- the present invention makes it possible in particular to optimize the zapping time of multicast distributed streams by eliminating the time required for the subscription to the selected stream. Indeed, when a client requests access to a stream that is already stored by the gateway, the multicast subscription is no longer necessary (it has already been realized). Thus, from the point of view of the user, this subscription time has been won.
- the gateway according to the invention may be an intermediate functional module receiving signals from a platform such as a module generating and supplying simultaneously or not more consumer modules such as a video reading module or any streaming reader. audio-video.
- a platform such as a module generating and supplying simultaneously or not more consumer modules such as a video reading module or any streaming reader. audio-video.
- the present invention makes it possible to optimize not only the time of zapping but also the load of the home network. To do this, we use a single gateway per household instead of having one for each consumer module.
- N can be fixed or variable.
- the method according to the invention allows a reduction of zapping time thanks to the gateway which buffers the data of the channels to which the video playback module is likely to switch.
- the gateway can start broadcasting continuously from an optimal point, or can play the stream stored in accelerated memory, allowing the video player to find an optimal point faster than it could in the live stream from the platform.
- the gateway is composed of hardware and software configured to implement the method according to the invention.
- the hardware includes a microprocessor capable of immediately identifying an optimal point in a buffer memory, and accelerating video in the buffer if the optimal point is not identified (recognized).
- it may be encrypted strings, for example, for which the optimal point is not identifiable: the method according to the invention can therefore operate without encrypted string decryption means.
- the n additional chains are chosen from a plurality of chains. If the next string is one of these n additional strings, then the zapping time will be less than the typical zapping time.
- the n additional chains can be chosen by providing the following chains that an end user can choose, by presetting these chains and buffering the stream of the chain.
- the gateway can play the stream from the buffer, either by starting at an optimal point or by sending the buffered stream accelerated to the consumer module (client module).
- the optimal point may be an I-frame or group of pictures, the streaming starting at the optimum point when such an optimal point is identifiable in the buffer memory.
- the so-called I-frame and "image group” (GOP) form reference points in a stream from which a reading can immediately begin. This means that there is no timeout for an I frame to appear in the stream of a string before playback begins.
- This reading method is also ideal in that it requires no change in the clients reading the media.
- an I-frame or I-frame is a reference frame in a compressed video stream that can be decoded without the need for information from other adjacent images in the stream.
- the group of images is a group of successive images in a coded video stream beginning with an I frame.
- the streaming is performed in an accelerated manner when the optimal point is not identifiable.
- the size of the corresponding buffer is smaller than the size of a jitter buffer contained in a consumer module connected to the gateway.
- the gateway may not be able to determine the location of a frame I or a beginning of GOP. In these cases, the gateway has no alternative to start reading the stream from the starting point in the circular buffer. Doing this at the rate at which the packets were received would only lead to a delayed read of the stream, but not to an accelerated zapping.
- the buffer is played in an accelerated manner according to the invention. For example, if the buffer holds m seconds of data, it can read in m / 1 seconds (with 1 "1). Thus, the first frame I in the buffer memory will be seen 1 time faster than in a scenario without pre-memorization.
- the client modules must have a jitter buffer of at least m seconds, and the jitter buffer should be regulated to not discard packets until the jitter buffer contents significantly exceed equivalent of m seconds of data. If this is not done, there may be macroblocks during the read when the jitter buffer is overflowing, or try to reduce the length of the stored data.
- the n additional chains can be determined from a chain numbering plan.
- the n additional chains may be neighboring chains.
- the n additional chains can be determined by statistical analysis of selected strings in the history.
- Statistical analysis allows a prediction of a set of strings that have a high level of probability to be selected for the next channel change. This is a clever way to anticipate the chain change.
- the gateway could learn user preferences by memorizing which strings users typically select after another string. Each time a user zaps, a counter for the newly selected channel is incremented in a "next string" list linked to the previous channel.
- the gateway can pre-select the n highest count entries in the "Next Channels" list of the newly selected channel.
- the n additional chains can be determined from a statistical analysis of selected channels per consumer module in the history.
- a certain module is used predominantly by a certain member of a family while another module is mainly used by another member.
- the n additional chains can be determined by statistical analysis of chains selected by user in the history. For example, one can keep "next string" lists per user. This allows for the most advanced behaviors based on the preferences / behaviors of individuals rather than on overall behavior influenced by the whole family. To do this, we can consider a mechanism that can identify which user controls a given consumer module at a certain time. This can be accomplished in a number of ways including, but not limited to, logon to the gateway and time lists of who connects to a certain module at a given time. Each user can be identified by login access to the gateway.
- the method according to the invention is particularly remarkable, but not only, in that the n additional channels are judiciously chosen taking into account the presence of several consumer modules.
- the n additional channels can be determined from priority definitions between different consumer modules and / or end users. For example, if each consumer module has a list of following strings, the list that will be considered is the list of the consumer module with the highest priority level.
- the n additional strings can be determined such that the total bit rates of strings to be buffered are below a predetermined threshold. Indeed, as the chains can be more or less encrypted or can provide a different quality level (high or low definition), the number of additional channels to buffer is limited by the total bit rates to allow smooth processing of the channels by the gateway.
- the n additional channels can also be determined taking into account the content when this content meets certain predetermined criteria relating to the user and / or the consumer module.
- the content may be a program or an upcoming program identified for example by access to electronic guides of local or remote programs.
- the criteria may be a set of elements to conclude that the content corresponds to the focus of the profile of the user and / or the consumer module.
- the n additional channels can also be determined taking into account the current audience of the channels. Indeed, a channel with a large overall audience is more likely to be retained by the user. According to the invention, the n additional channels can also be determined by taking into account the elapsed time for a program being broadcast in relation to the total duration of this program. Indeed, the probability that a program that started long enough is retained by the user decreases. It may be useful to replace this flow with another, more likely.
- the present invention relates to a gateway comprising a storage medium non-transient computer readable encoded with computer executable instructions which, when executed, effectively perform a chain change method as described above.
- Figure 1 is a schematic view illustrating an arrangement according to the present invention wherein an intermediate functional module is disposed between a producer module and a consumer module;
- Figure 2 is a schematic view illustrating a set-top box as an intermediate functional module connected to a television as a consumer module;
- FIG. 3 is a schematic view illustrating a subscription step of an intermediate functional module according to the invention.
- Figures 4a and 4b are simplified views illustrating buffer memories within an intermediate functional module during a chain change.
- FIG. 5 is a schematic view illustrating an example of processing of several consumer modules by an intermediate functional module. While the invention is subject to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will be described here in detail. It should be understood, however, that the drawings and the detailed description are not intended to limit the invention to the particular form disclosed, but on the contrary, the invention must cover all modifications, equivalents and alternatives within the scope of the present invention as defined by the appended claims.
- a well-known disadvantage of digital television receivers compared to analogue television receivers is that the time it takes to switch from one channel to another is much longer in a digital television receiver. It is an object of the present invention to provide a method and system for decreasing the time of channel change in digital television receivers by means of transport stream buffering.
- the transport stream originates from a tuner / demodulator, at least one buffer per tuner / demodulator is required.
- a tuner / demodulator in a digital television receiver produces a transport stream that contains one or more television channels or services. A service is selected and then decoded. Decoding the video stream of a particular service can begin at the beginning of a group of images.
- the waiting time for the start of a group of images is an important part of the time it takes to go from one channel to another, for example the DVB / MPEG2 broadcast television in Europe typically uses a group length images of 12 frames, equivalent to 12/25 seconds.
- the image group length is typically 15 frames, equivalent to 15/30 seconds, so that the group start delay time of images can be worth up to half a second. If the chain hop is towards a new service in the same transport stream or to a service in another transport stream that is currently being received by another tuner, then it is still necessary to wait for the start of a group of images before decoding can begin.
- the solution disclosed in US 2010 328 527 A1 is to buffer the entire transport stream that includes a plurality of time-multiplexed video channels.
- the method according to the present invention aims to reduce the "zapping" time by means of optimization means deployed in a functional module located between the consumer module the video streams (the client) and the producer module of the TV streams ("the platform ”) .
- This is achieved by using methods to provide a set of following strings that an end user could choose by presetting these strings and buffering the stream.
- the gateway can read the stream from the buffer, either by starting at an I frame or by sending the buffered stream to the client module in an accelerated manner. .
- the gateway according to the invention is an intermediate functional module generally designated 1 in FIG. 1.
- the intermediate functional module 1 is a hardware device or a software method / function or a mixture of the two that found between a platform that is a module 2 producing / streaming media content and another module 3 consuming such content.
- FIG. 2 illustrates an advantageous embodiment of the invention in which the intermediate functional module 1 is a set-top box equipped with hardware and software means for implementing the method according to the invention. It is connected to a TV 3 which is capable of reproducing an audio-video TV transmission in the form of television signals.
- the user controls the set-top box 1 via an infrared remote control 4.
- the channels on the television 3 pass through the set-top box 1 and can come from any type of transmission medium such as IPTV (ADSL for Asymmetric Digital Subscriber Line "via telephone line or fiber optics), satellite, cable or digital terrestrial TV by wireless communication.
- IPTV IPTV
- ADSL Asymmetric Digital Subscriber Line
- satellite cable or digital terrestrial TV by wireless communication.
- the method according to the invention can be implemented not in a set-top box but in an integrated manner within a TV or a player such as a DVD recorder connected to a TV.
- a digitally encoded video stream the successive images contain an I frame that is an entire still image that does not require any additional information to be reconstructed.
- a digitally encoded video stream can only be read starting from an I frame. When "settling" such a live stream, the module must wait until to encounter such a frame I before you can display something on the screen. This increases the time between the moment the user presses the button to reach the stream, and the flow display. Depending on the types of video encoding used, this time delta may be substantial, and this degrades the end-user Quality of Experience (QOE).
- QOE Quality of Experience
- a client subscribes to the intermediate functional module 1 (gateway) to a live media stream.
- the intermediate functional module 1 for its part subscribes to the corresponding flow 5 on the producer module 2 (platform), the stream 5 then being sent to the consumer module 3.
- the intermediate functional module subscribes to only to stream 5 on producer module 2, but must also subscribe to up to n additional streams 6 on the platform. Said additional flows 6 are processed inside the intermediate functional module 1 while waiting for a change of channels.
- n chains are chosen or planned taking into account fixed and / or variable parameters. Once determined, the n additional channels are buffered in small circular buffers on the intermediate functional module 1.
- the stream is not one of the pre-stored stream.
- the intermediate functional module 1 goes back to a subscription step directly to the producer module 2;
- the intermediate functional module 1 will perform the following steps:
- the intermediate functional module 1 begins the streaming of the pre-stored stream towards the client, while it continues to receive the flow of the producer module 2, and continues to buffer this stream in the circular buffer. Continuous streaming from the circular buffer starts at an optimum point, or will be read in an accelerated manner for a period of time; the intermediate functional module 1 selects another set of n streams for pre-storage based on the selected channels.
- FIGS. 4a and 4b illustrate a change between the chain 4 and the chain 3.
- the intermediate functional module 1 receives the stream currently viewed from the chain 4 in conjunction with three other chains: the chain 7, the chain 3 and the chain 6.
- four streams are respectively buffered within four buffers bl to b4.
- the channel 4 is processed by the buffer memory b3 which supplies the consumer module 3.
- the intermediate functional module 1 goes to the buffer memory b2, reaches a frame I in order to immediately supply the consumer module 3 with the string 3 as described in FIG. 4b.
- the channel currently watched is processed by the buffer memory b2.
- Another set of n additional strings is determined and respectively applied to the buffers b1 (string 8), b3 (string 4) and b4 (string 5).
- Pre-selection based on a service plan. In the case where a numbered service plan is available, it will be possible to select neighboring flows. Namely: if the channel 5 is selected, one can for example pre-select the channels 4 and 6. These channels are typically chosen if a user zaps through a service offering using the P- / P + zapping buttons. from the remote control.
- Preselection based on the past behavior of the user Preselection based on the past behavior of the user.
- the intermediate functional module 1 can learn the preferences of a user by memorizing which strings the user typically selects after another string. Each time a user zaps, a counter is incremented for the new channel selected in a "next string" list related to the previous channel.
- the intermediate functional module 1 can preselect the n highest count entries in the "next chain" list of the newly selected channel.
- the following lists of channels can be maintained per client module. This can be useful in the case where a certain module is used predominantly by a certain member of a family while another module is used mainly by another member. Indeed, the intermediate functional module 1 can feed multiple consumer modules as described in Figure 5, as well as multiple producer modules.
- the amount of strings that can be stored at a certain time can typically be limited by physical constraints.
- the selection mechanism may need to take this into account.
- a new list of channels to pre-memorize needs to be created. Some elements that can be considered to create this new list may for example be:
- the present invention therefore proposes a new method which allows video reading modules to zap faster between frequently-viewed channels, by the use of an intermediate module which pre-stores these channels in memory and allows them to be broadcast continuously. (“Streaming") optimally towards said video playback modules.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
The present invention relates to a method of changing channel in a gateway connected to a plurality of audio-video stream consumer modules and managing a plurality of channels delivered by a platform, this method comprising: - a step of subscribing to at least one channel to be displayed and to n additional channels placed in circular buffer memories, - a step of changing in which the gateway: - returns to the subscribing step if the next channel is not one of the channels placed in memory; - commences a continuous broadcasting of the next channel placed in memory if this next channel is one of the channels placed in memory; the continuous broadcasting being carried out on the basis of the corresponding circular buffer memory either commencing with an optimal point, or by reading in an accelerated manner for a predetermined duration, selects another set of n channels to be prestored in buffer memory based on said next channel.
Description
Procédé de changement de chaîne et passerelle pour des flux TV numériques Channel change method and gateway for digital TV streams
La présente invention concerne un procédé de changement de chaîne et un système de flux TV numériques qui réduit le délai de changement de chaîne dans un contexte de réception parallèle des flux audio-vidéo par plusieurs postes de réception au sein d'un foyer numérique . The present invention relates to a channel change method and a digital TV stream system that reduces the time of channel change in a context of parallel reception of audio-video streams by multiple receiving stations within a digital home.
L' invention a en particulier trait au contexte de visualisation de chaînes TV numériques ou d'autres formes de contenu audiovisuel en direct ou retransmis. Dans les chaînes TV analogiques, la visualisation d'une chaîne implique de se régler sur une chaîne analogique, puis l'affichage des images est instantané. In particular, the invention relates to the context of viewing digital TV channels or other forms of live or retransmitted audiovisual content. In analog TV channels, viewing a channel involves tuning to an analog channel, and then displaying the images is instantaneous.
Avec l'avènement des flux TV et médias numériques, cela a changé. Alors que la TV numérique présente de nombreux avantages, l'un des inconvénients majeurs est le temps accru qu'il faut typiquement avant d'afficher la première image d'une chaîne que l'on a sélectionnée. De multiples facteurs contribuent à ce temps prolongé, mais le facteur principal est le temps qu' il faut avant de recevoir l'image de référence. With the advent of TV and digital media, this has changed. While digital TV has many advantages, one of the major drawbacks is the increased time it typically takes before displaying the first image of a channel that has been selected. Multiple factors contribute to this prolonged time, but the main factor is the time it takes to receive the reference image.
Dans les flux TV numériques, on a une séquence d'images numériques. Ces images ne peuvent pas être transmises comme des données de pixel brutes, car cela nécessiterait une largeur de bande passante trop élevée. Pour cette raison, ces images sont compressées. La compression d' images individuelles ne mène toutefois pas à une compression significative. Dans les flux vidéo numériques, on emploie la propriété selon laquelle des images qui se suivent sont la plupart du temps très similaires. Les arrière-plans restent typiquement plutôt statiques alors qu'un objet de premier plan se déplace de manières plutôt régulières. Cela a donné lieu à des
techniques de compression qui déduisent la plupart des images à partir d'images adjacentes (précédentes voire suivantes) au lieu de transmettre uniquement des images individuellement compressées. Pour obtenir une qualité suffisante, toutefois, à certains intervalles, une image complète est transmise pour servir de référence. Une telle image est appelée une trame I dite « I-Frame » en langue anglaise pour « Intra-coded Frame ». Lorsqu'un module a besoin d'afficher un tel flux vidéo compressé, il doit attendre qu'une telle I-Frame arrive de sorte qu'il a une image de référence à partir de laquelle d' autres trames que le module reçoit peuvent être reconstruites. Cela implique que dans le pire cas, on doive attendre l'intervalle entre deux I-Frame avant de pouvoir redémarrer la reconstruction d'un flux vidéo. Pour des flux hautement compressés, cette durée peut être de quelques secondes. Dans la TV numérique par câble, certaines offres abordent le problème ci-dessus dans le dispositif consommateur (Set-Top-Box) . Ces dispositifs utilisent des tuners multiples pour se régler sur différentes chaînes (typiquement la chaîne actuelle, et la précédente et la suivante) . Toutes ces chaînes sont ensuite analysées par du matériel de lecture vidéo en parallèle. Lorsqu'un utilisateur zappe ensuite pour la chaîne voisine, la vidéo affichée sur l'écran a seulement besoin de basculer d'un flux en cours d'interprétation à un autre flux déjà en cours de traitement. In digital TV streams, there is a sequence of digital images. These images can not be transmitted as raw pixel data, as this would require too much bandwidth. For this reason, these images are compressed. However, compressing individual images does not lead to significant compression. In digital video streams, the property that successive images are most similar is used. Backgrounds typically remain rather static while a foreground object moves in rather regular ways. This has given rise to compression techniques that deduce most of the images from adjacent images (previous or later) instead of transmitting only individually compressed images. To obtain sufficient quality, however, at certain intervals, a complete image is transmitted for reference. Such an image is called a frame I called "I-Frame" in English for "Intra-coded Frame". When a module needs to display such a compressed video stream, it must wait for such an I-Frame to arrive so that it has a reference picture from which other frames that the module receives can be rebuilt. This implies that in the worst case, one must wait for the interval between two I-Frame before being able to restart the reconstruction of a video stream. For highly compressed streams, this duration can be a few seconds. In digital cable TV, some offers address the above problem in the consumer device (Set-Top-Box). These devices use multiple tuners to adjust to different strings (typically the current string, and the previous one and the next one). All these channels are then analyzed by video playback equipment in parallel. When a user then zaps for the neighboring channel, the video displayed on the screen only needs to switch from a stream being interpreted to another stream already being processed.
Le document US 2010 328 527 décrit un procédé permettant de produire en sortie un premier flux vidéo numérique. Le procédé comprend : i) réceptionner un premier flux de transport comprenant une première pluralité de chaînes vidéo multiplexées dans le temps ;
ii) mettre en mémoire le premier flux de transport pour obtenir un premier flux de transport mis en mémoire ; iii) sélectionner une première chaîne spécifique de la première pluralité de chaînes vidéo multiplexées dans le temps pour obtenir une première chaîne vidéo sélectionnée ; iv) chercher le premier flux de transport mis en mémoire pour un premier début d'un premier groupe d'images de la première chaîne vidéo sélectionnée, et v) produire en sortie le premier flux de transport mis en mémoire en commençant par le premier début du premier groupe d' images pour obtenir le premier flux vidéo numérique. Dans ce document, le début du groupe d'images de la chaîne sélectionnée est disponible dans la mémoire tampon presque instantanément. US 2010 328 527 discloses a method for outputting a first digital video stream. The method includes: i) receiving a first transport stream comprising a first plurality of time multiplexed video channels; ii) storing the first transport stream to obtain a first transport stream stored in memory; iii) selecting a first specific channel of the first plurality of time multiplexed video channels to obtain a first selected video channel; iv) searching for the first transport stream stored for a first start of a first group of images of the first selected video channel, and v) outputting the first transport stream stored in memory starting with the first beginning. of the first group of images to obtain the first digital video stream. In this document, the beginning of the group of images of the selected channel is available in the buffer memory almost instantaneously.
Le document EP 1 775 953 décrit un procédé de manipulation d'une pluralité de flux vidéo numériques, chacun des flux vidéo numériques étant encodé dans des séquences de trames. Chacune des séquences de trames comprend une trame clé, au moins une trame de référence et des trames supplémentaires, ladite trame clé et au moins une trame de référence convenant à la déduction d' informations de trame pour lesdites trames supplémentaires. Le procédé divulgué dans le document EP 1 775 953 comprend l'affichage d'au moins un premier flux vidéo numérique à afficher et la mise en mémoire tampon d'au moins l'une de ladite trame clé ou de ladite au moins une trame de référence pour une fenêtre mobile d' au moins un second flux vidéo numérique permettant l'extraction d'images mobiles provenant de la trame clé ou de la ou des trames de référence mises en mémoire tampon lorsque le second flux vidéo numérique est sélectionné pour être affiché. EP 1 775 953 discloses a method of manipulating a plurality of digital video streams, each of the digital video streams being encoded into frame sequences. Each of the frame sequences comprises a key frame, at least one reference frame and additional frames, said keyframe and at least one reference frame suitable for deducing frame information for said additional frames. The method disclosed in EP 1 775 953 comprises displaying at least one first digital video stream to be displayed and buffering at least one of said key frame or said at least one frame of reference for a mobile window of at least a second digital video stream for extracting moving images from the keyframe or buffered reference frame (s) when the second digital video stream is selected to be displayed .
Un but de l'invention consiste à proposer un procédé et un système de zapping rapide entre des chaînes TV
numériques qui résolvent les inconvénients des solutions de l'art antérieur. An object of the invention is to provide a method and a system for fast zapping between TV channels which solve the disadvantages of the solutions of the prior art.
Le but de la présente invention est de passer d'un flux audio-vidéo, comme une chaîne TV, à un autre flux audio-vidéo avec une latence réduite afin d'améliorer la qualité de prestation des utilisateurs finaux. The purpose of the present invention is to switch from an audio-video stream, such as a TV channel, to another audio-video stream with reduced latency to improve the quality of delivery of end users.
Selon la présente invention, le but défini ci-dessus est atteint avec un procédé de changement de chaîne dans une passerelle connectée à une pluralité de modules consommateurs de flux audio-vidéo et gérant une pluralité de chaînes délivrées par une plate-forme, ce procédé comprenant : According to the present invention, the above-defined object is achieved with a chain-changing method in a gateway connected to a plurality of audio-video stream consumer modules and managing a plurality of channels provided by a platform, this method comprising:
- une étape d'abonnement pendant laquelle la passerelle s'abonne à au moins une chaîne à afficher et à n chaînes additionnelles, lesdites n chaînes additionnelles étant choisies à partir de paramètres prédéterminés et étant respectivement placées en mémoire dans des mémoires tampons circulaires, a subscription step during which the gateway subscribes to at least one display channel and to n additional strings, said additional strings being chosen from predetermined parameters and respectively placed in memory in circular buffers,
- une étape de changement en réponse à une consigne de changement de chaîne suivante, dans laquelle étape la passerelle : a step of change in response to a next chain change instruction, in which step the gateway:
- revient à l'étape d'abonnement si la chaîne suivante n'est pas l'une des chaînes placées en mémoire ; - returns to the subscription step if the next string is not one of the strings placed in memory;
- commence une diffusion en continu de la chaîne suivante placée en mémoire si cette chaîne suivante est l'une des chaînes placées en mémoire ; la diffusion en continu étant réalisée à partir de la mémoire tampon circulaire correspondante soit en commençant à un point optimal, soit par lecture de manière accélérée pendant une durée prédéterminée, - starts a streaming broadcast of the next string stored in memory if this next string is one of the strings placed in memory; the streaming being effected from the corresponding circular buffer either by starting at an optimum point or by reading in an accelerated manner for a predetermined time,
- la passerelle sélectionne un autre jeu de n chaînes à pré-mémoriser en mémoire tampon en se basant sur ladite chaîne suivante.
La consigne provient d'un des modules consommateurs connectés à la passerelle. the gateway selects another set of n strings to be pre-stored in buffer memory on the basis of said next string. The setpoint comes from one of the consumer modules connected to the gateway.
La passerelle selon l'invention utilise avantageusement une mémoire tampon circulaire, une pour chaque chaîne à mettre en mémoire tampon, de sorte qu'une donnée peut être immédiatement atteinte et lue. Selon l'invention, une mémoire tampon circulaire est une mémoire tampon permettant de stocker des données de la manière premier-entré, premier-sorti (FIFO pour « first-in, first- out ») . La mémoire tampon est limitée en taille, et lorsque la fin d'écriture des données est atteinte, les données suivantes sont stockées au début de la mémoire tampon, et l'écriture se poursuit à partir de là. The gateway according to the invention advantageously uses a circular buffer, one for each string to be buffered, so that data can be immediately reached and read. According to the invention, a circular buffer memory is a buffer memory for storing data in the first-in, first-out manner (FIFO for "first-in, first-out"). The buffer is limited in size, and when the end of writing the data is reached, the following data is stored at the beginning of the buffer, and writing continues from there.
La présente invention permet en particulier une optimisation du temps de zapping des flux distribués en multicast, en éliminant le temps nécessaire pour l'abonnement au flux sélectionné. En effet, lorsqu'un client demande d'accéder à un flux qui est déjà mémorisé par la passerelle, l'abonnement multicast n'est plus nécessaire (il a été déjà réalisé) . Ainsi, du point de vue de l'utilisateur, ce temps d'abonnement a été gagné. The present invention makes it possible in particular to optimize the zapping time of multicast distributed streams by eliminating the time required for the subscription to the selected stream. Indeed, when a client requests access to a stream that is already stored by the gateway, the multicast subscription is no longer necessary (it has already been realized). Thus, from the point of view of the user, this subscription time has been won.
La passerelle selon l'invention peut être un module fonctionnel intermédiaire recevant des signaux d'une plate-forme telle qu'un module producteur et alimentant de façon simultanée ou non plusieurs modules consommateurs tels qu'un module de lecture vidéo ou tout lecteur de flux audio-vidéo. La présente invention permet d'optimiser non seulement le temps du zapping mais aussi la charge du réseau domestique. Pour ce faire, on utilise une seule passerelle par foyer au lieu d'en avoir un pour chaque module consommateur. The gateway according to the invention may be an intermediate functional module receiving signals from a platform such as a module generating and supplying simultaneously or not more consumer modules such as a video reading module or any streaming reader. audio-video. The present invention makes it possible to optimize not only the time of zapping but also the load of the home network. To do this, we use a single gateway per household instead of having one for each consumer module.
« n » peut être fixe ou variable.
Le procédé selon l'invention permet une réduction de temps de zapping grâce à la passerelle qui met en mémoire tampon les données des chaînes vers lesquelles le module de lecture vidéo est susceptible de basculer. Ainsi la passerelle peut commencer la diffusion en continu exactement à partir d'un point optimal, ou peut jouer le flux mis en mémoire en accéléré, permettant au module de lecture vidéo de trouver un point optimal plus vite qu'il ne le pourrait dans le flux en direct provenant de la plate-forme. "N" can be fixed or variable. The method according to the invention allows a reduction of zapping time thanks to the gateway which buffers the data of the channels to which the video playback module is likely to switch. Thus, the gateway can start broadcasting continuously from an optimal point, or can play the stream stored in accelerated memory, allowing the video player to find an optimal point faster than it could in the live stream from the platform.
La passerelle est composée de matériel et de logiciel configurés pour implémenter le procédé selon l'invention. Le matériel comprend un microprocesseur capable d' identifier immédiatement un point optimal dans une mémoire tampon, et d'accélérer la vidéo dans la mémoire tampon si le point optimal n'est pas identifié (reconnu) . Il peut s'agir dans ce cas de chaînes cryptées par exemple pour lesquelles le point optimal n'est pas identifiable : le procédé selon l'invention peut donc fonctionner sans des moyens de décryptage de chaînes cryptées. The gateway is composed of hardware and software configured to implement the method according to the invention. The hardware includes a microprocessor capable of immediately identifying an optimal point in a buffer memory, and accelerating video in the buffer if the optimal point is not identified (recognized). In this case, it may be encrypted strings, for example, for which the optimal point is not identifiable: the method according to the invention can therefore operate without encrypted string decryption means.
Avantageusement, les n chaînes additionnelles sont choisies parmi une pluralité de chaînes. Si la chaîne suivante est l'une de ces n chaînes additionnelles, alors le temps de zapping sera inférieur au temps de zapping type. Selon l'invention, les n chaînes additionnelles peuvent être choisies en prévoyant les chaînes suivantes qu'un utilisateur final pourra choisir, en préréglant ces chaînes et mettant en mémoire tampon le flux de la chaîne. Lorsqu'un utilisateur final se règle effectivement sur l'une des chaînes prédites, la passerelle peut jouer le flux à partir de la mémoire tampon, soit en commençant à un point optimal, soit en envoyant le flux mis en mémoire tampon de manière accélérée vers le module consommateur (module client) .
La présente invention utilise ainsi différentes techniques : Advantageously, the n additional chains are chosen from a plurality of chains. If the next string is one of these n additional strings, then the zapping time will be less than the typical zapping time. According to the invention, the n additional chains can be chosen by providing the following chains that an end user can choose, by presetting these chains and buffering the stream of the chain. When an end user actually adjusts to one of the predicted strings, the gateway can play the stream from the buffer, either by starting at an optimal point or by sending the buffered stream accelerated to the consumer module (client module). The present invention thus uses different techniques:
- des techniques pour prévoir les chaînes suivantes qui pourraient être sélectionnées, - techniques for predicting the following strings that could be selected,
- des techniques pour reconnaître des points optimaux ou pour lire des flux mis en mémoire tampon de manière accélérée . techniques for recognizing optimal points or for reading buffered streams in an accelerated manner.
De préférence, le point optimal peut être une trame I dite « I-Frame » ou un groupe d'images dit GOP (« Group Of Pictures ») , la diffusion en continu commençant au point optimal lorsqu'un tel point optimal est identifiable dans la mémoire tampon. La trame I et le « groupe d'images » (GOP) » ainsi nommés forment des points de référence dans un flux à partir desquels une lecture peut immédiatement commencer. Cela signifie qu'il n'y a pas de délai d'attente pour qu'une trame I apparaisse dans le flux d'une chaîne avant que la lecture ne commence. Ce procédé de lecture est également idéal dans la mesure où il ne requiert aucun changement dans les clients lisant le média. Preferably, the optimal point may be an I-frame or group of pictures, the streaming starting at the optimum point when such an optimal point is identifiable in the buffer memory. The so-called I-frame and "image group" (GOP) form reference points in a stream from which a reading can immediately begin. This means that there is no timeout for an I frame to appear in the stream of a string before playback begins. This reading method is also ideal in that it requires no change in the clients reading the media.
Il est entendu qu'une trame I ou I-Frame est une trame de référence dans un flux vidéo compressé qui peut être décodé sans avoir besoin d'informations d'autres images adjacentes dans le flux. Le groupe d'images (GOP) est un groupe d'images successives dans un flux vidéo codé commençant avec une trame I . It is understood that an I-frame or I-frame is a reference frame in a compressed video stream that can be decoded without the need for information from other adjacent images in the stream. The group of images (GOP) is a group of successive images in a coded video stream beginning with an I frame.
Selon un mode de réalisation de l'invention, la diffusion en continu est effectuée de manière accélérée lorsque le point optimal n'est pas identifiable. De préférence, dans ce cas, la taille de la mémoire tampon correspondante est inférieure à la taille d'une mémoire tampon de gigue contenue dans un module consommateur connecté à la passerelle.
En effet, dans certains cas lorsque le contenu est chiffré, la passerelle pourrait ne pas être capable de déterminer l'emplacement d'une trame I ou d'un commencement de GOP. Dans ces cas, la passerelle n'a aucune alternative pour commencer la lecture du flux à partir du point de départ dans la mémoire tampon circulaire. Faire cela au rythme auquel les paquets ont été reçus ne conduirait qu'à une lecture retardée du flux, mais pas à un zapping accéléré. According to one embodiment of the invention, the streaming is performed in an accelerated manner when the optimal point is not identifiable. Preferably, in this case, the size of the corresponding buffer is smaller than the size of a jitter buffer contained in a consumer module connected to the gateway. Indeed, in some cases when the content is encrypted, the gateway may not be able to determine the location of a frame I or a beginning of GOP. In these cases, the gateway has no alternative to start reading the stream from the starting point in the circular buffer. Doing this at the rate at which the packets were received would only lead to a delayed read of the stream, but not to an accelerated zapping.
Pour aller à l' encontre de cela, on peut utiliser une technique dans laquelle la mémoire tampon est jouée de manière accélérée selon l'invention. Par exemple, si la mémoire tampon détient m secondes de données, elle peut lire en m/1 secondes (avec 1 » 1) . Ainsi, la première trame I dans la mémoire tampon sera vue 1 fois plus vite que dans un scénario sans pré-mémorisation. Pour réaliser ce travail, les modules client doivent avoir une mémoire tampon de gigue d'au moins m secondes, et la mémoire tampon de gigue devrait être régulée pour ne pas écarter des paquets avant que le contenu de la mémoire tampon de gigue excède significativement l'équivalent de m secondes de données. Si cela n'est pas effectué, on risque d'avoir des macroblocs pendant la lecture lorsque la mémoire tampon de gigue soit déborde, soit essaie de réduire la longueur des données stockées. To counteract this, one can use a technique in which the buffer is played in an accelerated manner according to the invention. For example, if the buffer holds m seconds of data, it can read in m / 1 seconds (with 1 "1). Thus, the first frame I in the buffer memory will be seen 1 time faster than in a scenario without pre-memorization. To perform this work, the client modules must have a jitter buffer of at least m seconds, and the jitter buffer should be regulated to not discard packets until the jitter buffer contents significantly exceed equivalent of m seconds of data. If this is not done, there may be macroblocks during the read when the jitter buffer is overflowing, or try to reduce the length of the stored data.
Selon un mode de réalisation avantageux de la présente invention, les n chaînes additionnelles peuvent être déterminées à partir d'un plan de numérotation de chaîne. Avantageusement, les n chaînes additionnelles peuvent être des chaînes voisines. According to an advantageous embodiment of the present invention, the n additional chains can be determined from a chain numbering plan. Advantageously, the n additional chains may be neighboring chains.
Selon un mode de réalisation préféré de l'invention, les n chaînes additionnelles peuvent être déterminées par analyse statistique de chaînes sélectionnées dans l'historique. L'analyse statistique permet une prédiction d'un jeu de chaînes qui ont un haut niveau de probabilité
d'être sélectionnées pour le changement de chaîne suivant. Il s'agit d'une manière astucieuse d'anticiper le changement de chaîne. La passerelle pourrait apprendre les préférences d'utilisateurs en mémorisant quelles chaînes les utilisateurs sélectionnent typiquement après une autre chaîne. Chaque fois qu'un utilisateur zappe, on incrémente un compteur pour la nouvelle chaîne sélectionnée dans une liste « chaîne suivante » liée à la chaîne précédente. According to a preferred embodiment of the invention, the n additional chains can be determined by statistical analysis of selected strings in the history. Statistical analysis allows a prediction of a set of strings that have a high level of probability to be selected for the next channel change. This is a clever way to anticipate the chain change. The gateway could learn user preferences by memorizing which strings users typically select after another string. Each time a user zaps, a counter for the newly selected channel is incremented in a "next string" list linked to the previous channel.
Lorsqu'un utilisateur sélectionne ensuite une chaîne, la passerelle peut présélectionner les n entrées de décompte le plus élevé dans la liste « chaînes suivante » de la chaîne nouvellement sélectionnée. When a user then selects a channel, the gateway can pre-select the n highest count entries in the "Next Channels" list of the newly selected channel.
Des réglages fins supplémentaires sont possibles dans cette approche, par exemple, on pourrait enlever les entrées plus anciennes des listes de chaînes suivantes. Il faudrait pour cela se rappeler d'estampilles temporelles du moment où le zapping s'est produit. Cela permet d'adapter les comportements d'utilisateur qui peuvent changer avec le temps . Additional fine-tuning is possible in this approach, for example, you could remove older entries from the following channel lists. It would be necessary to remember time stamps of the moment when the zapping occurred. This makes it possible to adapt user behaviors that can change over time.
Selon un mode de réalisation avantageux de la présente invention, les n chaînes additionnelles peuvent être déterminées à partir d'une analyse statistique de chaînes sélectionnées par module consommateur dans l'historique. Ainsi, on peut garder des listes de chaînes suivantes par module client. Cela peut être utile dans le cas où un certain module est utilisé de façon prédominante par un certain membre d'une famille alors qu'un autre module est principalement utilisé par un autre membre. According to an advantageous embodiment of the present invention, the n additional chains can be determined from a statistical analysis of selected channels per consumer module in the history. Thus, we can keep the following lists of channels per client module. This can be useful in the case where a certain module is used predominantly by a certain member of a family while another module is mainly used by another member.
Selon un autre mode de réalisation avantageux de la présente invention, les n chaînes additionnelles peuvent être déterminées par analyse statistique de chaînes
sélectionnées par utilisateur dans l'historique. Par exemple, on peut garder des listes de « chaîne suivante » par utilisateur. Cela autorise les comportements les plus pointus d'après les préférences/comportements des individus plutôt que d' après un comportement global influencé par la famille entière. Pour effectuer cela, on peut envisager un mécanisme qui puisse identifier quel utilisateur commande un module consommateur donné à un certain moment. Cela peut être accompli de plusieurs manières comprenant, sans s'y limiter, l'ouverture de session sur la passerelle et de listes temporelles de qui se connecte à un certain module à un moment donné. Chaque utilisateur peut être identifié par un accès d'ouverture de session à la passerelle. According to another advantageous embodiment of the present invention, the n additional chains can be determined by statistical analysis of chains selected by user in the history. For example, one can keep "next string" lists per user. This allows for the most advanced behaviors based on the preferences / behaviors of individuals rather than on overall behavior influenced by the whole family. To do this, we can consider a mechanism that can identify which user controls a given consumer module at a certain time. This can be accomplished in a number of ways including, but not limited to, logon to the gateway and time lists of who connects to a certain module at a given time. Each user can be identified by login access to the gateway.
Le procédé selon l'invention est notamment remarquable, mais pas uniquement, par le fait que les n chaînes additionnelles sont judicieusement choisies en tenant compte de la présence de plusieurs modules consommateurs . The method according to the invention is particularly remarkable, but not only, in that the n additional channels are judiciously chosen taking into account the presence of several consumer modules.
Avantageusement, dans le cas de plusieurs modules consommateurs, par exemple connectés en même temps à la passerelle, les n chaînes additionnelles peuvent être déterminées à partir de définitions de priorité entre différents modules consommateurs et/ou utilisateurs finaux. Par exemple, si chaque module consommateur a une liste de chaînes suivantes, la liste qui sera considérée est la liste du module consommateur ayant le plus haut niveau de priorité. Advantageously, in the case of several consumer modules, for example connected at the same time to the gateway, the n additional channels can be determined from priority definitions between different consumer modules and / or end users. For example, if each consumer module has a list of following strings, the list that will be considered is the list of the consumer module with the highest priority level.
Selon un mode de réalisation préféré de l'invention, les n chaînes additionnelles peuvent être déterminées de telle sorte que les débits binaires totaux de chaînes à mettre en mémoire tampon se situent sous un seuil prédéterminé. En effet, comme les chaînes peuvent être
plus ou moins chiffrées ou peuvent fournir un niveau de qualité différent (haute ou basse définition) , le nombre de chaînes additionnelles à mettre en mémoire tampon est limité par les débits binaires totaux afin de permettre un traitement fluide des chaînes par la passerelle. According to a preferred embodiment of the invention, the n additional strings can be determined such that the total bit rates of strings to be buffered are below a predetermined threshold. Indeed, as the chains can be more or less encrypted or can provide a different quality level (high or low definition), the number of additional channels to buffer is limited by the total bit rates to allow smooth processing of the channels by the gateway.
Selon l'invention, les n chaînes additionnelles peuvent également être déterminées en tenant compte du contenu lorsque ce contenu respecte certains critères prédéterminés relatifs à l'utilisateur et/ou au module consommateur. Le contenu peut être une émission ou une émission à venir identifiée par exemple par accès à des guides électroniques des programmes locaux ou distants. Par exemple, les critères peuvent être un ensemble d'éléments permettant de conclure que le contenu correspond au centre d'intérêt du profile de l'utilisateur et/ou du module consommateur. According to the invention, the n additional channels can also be determined taking into account the content when this content meets certain predetermined criteria relating to the user and / or the consumer module. The content may be a program or an upcoming program identified for example by access to electronic guides of local or remote programs. For example, the criteria may be a set of elements to conclude that the content corresponds to the focus of the profile of the user and / or the consumer module.
Selon l'invention, les n chaînes additionnelles peuvent également être déterminées en tenant compte de l'audience courante des chaînes. En effet, une chaîne ayant une forte audience globale a plus de chance d'être retenue par l'utilisateur. Selon l'invention, les n chaînes additionnelles peuvent également être déterminées en tenant compte du temps écoulé pour une émission en cours de diffusion par rapport à la durée totale de cette émission. En effet, la probabilité qu'une émission qui a débuté il y a assez longtemps soit retenue par l'utilisateur diminue. Il peut donc être utile de remplacer ce flux par un autre, plus probable . According to the invention, the n additional channels can also be determined taking into account the current audience of the channels. Indeed, a channel with a large overall audience is more likely to be retained by the user. According to the invention, the n additional channels can also be determined by taking into account the elapsed time for a program being broadcast in relation to the total duration of this program. Indeed, the probability that a program that started long enough is retained by the user decreases. It may be useful to replace this flow with another, more likely.
Dans un deuxième aspect, la présente invention concerne une passerelle comprenant un support de stockage
lisible par ordinateur non transitoire encodé avec des instructions exécutables par ordinateur qui, une fois exécutées, effectuent efficacement un procédé de changement de chaîne tel que décrit ci-avant. In a second aspect, the present invention relates to a gateway comprising a storage medium non-transient computer readable encoded with computer executable instructions which, when executed, effectively perform a chain change method as described above.
Afin d'illustrer l'invention, une forme préférée est montrée sur les figures ; sachant toutefois que la présente invention n'est pas limitée aux agencements et composants précis. In order to illustrate the invention, a preferred form is shown in the figures; however, the present invention is not limited to precise arrangements and components.
La figure 1 est une vue schématique illustrant une disposition selon la présente invention où un module fonctionnel intermédiaire est disposé entre un module producteur et un module consommateur ; Figure 1 is a schematic view illustrating an arrangement according to the present invention wherein an intermediate functional module is disposed between a producer module and a consumer module;
la figure 2 est une vue schématique illustrant un boîtier décodeur en tant que module fonctionnel intermédiaire connecté à un téléviseur en tant que module consommateur ; Figure 2 is a schematic view illustrating a set-top box as an intermediate functional module connected to a television as a consumer module;
la figure 3 est une vue schématique illustrant une étape d'abonnement d'un module fonctionnel intermédiaire selon l'invention ; FIG. 3 is a schematic view illustrating a subscription step of an intermediate functional module according to the invention;
les figures 4a et 4b sont des vues simplifiées illustrant des mémoires tampons à l'intérieur d'un module fonctionnel intermédiaire pendant un changement de chaîne ; et Figures 4a and 4b are simplified views illustrating buffer memories within an intermediate functional module during a chain change; and
la figure 5 est une vue schématique illustrant un exemple de traitement de plusieurs modules consommateur par un module fonctionnel intermédiaire. Alors que l'invention est sujette à diverses modifications et formes alternatives, des modes de réalisation spécifiques de celles-ci sont montrés à titre d'exemple sur les dessins et seront décrits ici en détail. Il faut toutefois comprendre que les dessins et la description détaillée ne sont pas censés limiter
l'invention à la forme particulière divulguée, mais au contraire, l'invention doit couvrir tous les modifications, équivalents et alternatives entrant dans la portée de la présente invention telle que définie par les revendications annexées. FIG. 5 is a schematic view illustrating an example of processing of several consumer modules by an intermediate functional module. While the invention is subject to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will be described here in detail. It should be understood, however, that the drawings and the detailed description are not intended to limit the invention to the particular form disclosed, but on the contrary, the invention must cover all modifications, equivalents and alternatives within the scope of the present invention as defined by the appended claims.
L'un des problèmes résolus dans la présente invention est bien connu et décrit par exemple dans le document US 2010 328 527 Al. One of the problems solved in the present invention is well known and described for example in US 2010 328 527 A1.
Un désavantage bien connu des récepteurs de télévision numériques comparés aux récepteurs de télévision analogiques est que le temps qu' il faut pour basculer d'une chaîne à une autre chaîne est bien plus long dans un récepteur de télévision numérique. L'invention vise à proposer un procédé et un système permettant de diminuer le temps de changement de chaîne dans des récepteurs de télévision numériques au moyen d'une mise en mémoire tampon de flux de transport. Dans des systèmes où le flux de transport a pour origine un tuner/démodulateur, au moins une mémoire tampon par tuner/démodulateur est requise. Un tuner/démodulateur dans un récepteur de télévision numérique produit un flux de transport qui contient un ou plusieurs chaînes ou services de télévision. Un service est sélectionné et ensuite décodé. Le décodage du flux vidéo d'un service particulier peut commencer au début d'un groupe d'images. Le temps d'attente du commencement d'un groupe d'images constitue une partie importante du temps qu' il faut pour passer d'une chaîne à une autre, par exemple la télévision diffusée DVB/MPEG2 en Europe utilise typiquement une longueur de groupe d'images de 12 trames, équivalente à 12/25 seconde. Pour la diffusion télévisée de type ATSC/MPEG2 aux Etats-Unis, la longueur de groupe d'images est typiquement de 15 trames, équivalente à 15/30 seconde, de sorte que le temps d'attente du début du groupe
d'images peut valoir jusqu'à une demi-seconde. Si le saut de chaîne est en direction d'un nouveau service dans le même flux de transport ou vers un service dans un autre flux de transport qui est actuellement en cours de réception par un autre tuner, alors il faut encore attendre le début d'un groupe d'images avant que le décodage puisse commencer. A well-known disadvantage of digital television receivers compared to analogue television receivers is that the time it takes to switch from one channel to another is much longer in a digital television receiver. It is an object of the present invention to provide a method and system for decreasing the time of channel change in digital television receivers by means of transport stream buffering. In systems where the transport stream originates from a tuner / demodulator, at least one buffer per tuner / demodulator is required. A tuner / demodulator in a digital television receiver produces a transport stream that contains one or more television channels or services. A service is selected and then decoded. Decoding the video stream of a particular service can begin at the beginning of a group of images. The waiting time for the start of a group of images is an important part of the time it takes to go from one channel to another, for example the DVB / MPEG2 broadcast television in Europe typically uses a group length images of 12 frames, equivalent to 12/25 seconds. For ATSC / MPEG2 television broadcasting in the United States, the image group length is typically 15 frames, equivalent to 15/30 seconds, so that the group start delay time of images can be worth up to half a second. If the chain hop is towards a new service in the same transport stream or to a service in another transport stream that is currently being received by another tuner, then it is still necessary to wait for the start of a group of images before decoding can begin.
La solution divulguée dans le document US 2010 328 527 Al consiste à mettre en mémoire tampon le flux de transport entier qui comprend une pluralité de chaînes vidéo multiplexées dans le temps. The solution disclosed in US 2010 328 527 A1 is to buffer the entire transport stream that includes a plurality of time-multiplexed video channels.
Le procédé selon la présente invention vise à réduire le temps de « zapping » au moyen d'un moyen d'optimisation déployé dans un module fonctionnel situé entre le module consommateur les flux vidéo (le client) et le module producteur des flux TV (« la plate-forme ») . Cela est obtenu en utilisant des procédés visant à prévoir un jeu de chaînes suivantes qu'un utilisateur final pourrait choisir, en préréglant ces chaînes et en mettant en mémoire tampon le flux. Lorsqu'un utilisateur final règle effectivement l'une des chaînes prévues, la passerelle peut lire le flux à partir de la mémoire tampon, soit en commençant à une trame I soit en envoyant le flux mis en mémoire tampon de manière accélérée vers le module client. The method according to the present invention aims to reduce the "zapping" time by means of optimization means deployed in a functional module located between the consumer module the video streams (the client) and the producer module of the TV streams (" the platform ") . This is achieved by using methods to provide a set of following strings that an end user could choose by presetting these strings and buffering the stream. When an end user actually sets one of the expected strings, the gateway can read the stream from the buffer, either by starting at an I frame or by sending the buffered stream to the client module in an accelerated manner. .
Selon un mode de réalisation préféré, la passerelle selon l'invention est un module fonctionnel intermédiaire globalement désigné par 1 sur la figure 1. Le module fonctionnel intermédiaire 1 est un dispositif matériel ou un procédé/une fonction logiciel ou un mélange des deux qui se trouve entre une plate-forme qui est un module 2 produisant/diffusant en flux un contenu de média et un autre module 3 consommant un tel contenu.
La figure 2 illustre un mode de réalisation avantageux de l'invention où le module fonctionnel intermédiaire 1 est un boîtier décodeur équipé de moyens matériel et logiciel pour implémenter le procédé selon l'invention. Il est connecté à un téléviseur 3 qui est capable de reproduire une transmission TV audio-vidéo sous la forme de signaux de télévision. L'utilisateur commande le boîtier décodeur 1 par l'intermédiaire d'une télécommande à infrarouge 4. Les chaînes sur le téléviseur 3 passent par le boîtier décodeur 1 et peuvent provenir de tout type de support de transmission tel qu' IPTV (ADSL pour « Asymmetric Digital Subscriber Line » via la ligne téléphonique ou les fibres optiques) , satellite, câble ou TV terrestre numérique par communication sans fil. According to a preferred embodiment, the gateway according to the invention is an intermediate functional module generally designated 1 in FIG. 1. The intermediate functional module 1 is a hardware device or a software method / function or a mixture of the two that found between a platform that is a module 2 producing / streaming media content and another module 3 consuming such content. FIG. 2 illustrates an advantageous embodiment of the invention in which the intermediate functional module 1 is a set-top box equipped with hardware and software means for implementing the method according to the invention. It is connected to a TV 3 which is capable of reproducing an audio-video TV transmission in the form of television signals. The user controls the set-top box 1 via an infrared remote control 4. The channels on the television 3 pass through the set-top box 1 and can come from any type of transmission medium such as IPTV (ADSL for Asymmetric Digital Subscriber Line "via telephone line or fiber optics), satellite, cable or digital terrestrial TV by wireless communication.
Le procédé selon l'invention peut être implémenté non pas dans un boîtier décodeur mais de manière intégrée au sein d'une TV ou d'un lecteur tel qu'un lecteur- enregistreur DVD connecté à une TV. Dans un flux vidéo encodé numériquement, les images successives contiennent une trame I qui est une image fixe entière ne requérant aucune information additionnelle pour être reconstruite. Dans un module classique, un flux vidéo encodé numériquement peut seulement être lu en commençant à partir d'une trame I. Lorsque l'on « règle » un tel flux en direct (« live stream ») , le module doit ainsi attendre jusqu'à rencontrer une telle trame I avant de pouvoir afficher quelque chose sur l'écran. Cela augmente le temps entre le moment où l'utilisateur presse le bouton pour atteindre le flux, et l'affichage du flux. Selon les types de codage vidéo utilisés, ce delta temporel peut être substantiel, et cela dégrade la qualité d'expérience (QOE pour « Quality Of Expérience ») des utilisateurs finaux.
Selon l'invention, sur la figure 3, un client s'abonne au module fonctionnel intermédiaire 1 (passerelle) à un flux de média en direct. Le module fonctionnel intermédiaire 1 quant à lui s'abonne au flux correspondant 5 sur le module producteur 2 (plate-forme) , le flux 5 étant alors envoyé au module consommateur 3. Selon l'invention, le module fonctionnel intermédiaire s'abonne non seulement au flux 5 sur le module producteur 2, mais doit également s'abonner à jusqu'à n flux additionnels 6 sur la plate-forme. Lesdits flux additionnels 6 sont traités à l'intérieur du module fonctionnel intermédiaire 1 en attendant un changement de chaînes. Ces n chaînes sont choisies ou prévues en prenant en compte des paramètres fixes et/ou variables. Une fois déterminées, les n chaînes additionnelles sont mises en mémoire tampon dans des petites mémoires tampons circulaires sur le module fonctionnel intermédiaire 1. The method according to the invention can be implemented not in a set-top box but in an integrated manner within a TV or a player such as a DVD recorder connected to a TV. In a digitally encoded video stream, the successive images contain an I frame that is an entire still image that does not require any additional information to be reconstructed. In a conventional module, a digitally encoded video stream can only be read starting from an I frame. When "settling" such a live stream, the module must wait until to encounter such a frame I before you can display something on the screen. This increases the time between the moment the user presses the button to reach the stream, and the flow display. Depending on the types of video encoding used, this time delta may be substantial, and this degrades the end-user Quality of Experience (QOE). According to the invention, in FIG. 3, a client subscribes to the intermediate functional module 1 (gateway) to a live media stream. The intermediate functional module 1 for its part subscribes to the corresponding flow 5 on the producer module 2 (platform), the stream 5 then being sent to the consumer module 3. According to the invention, the intermediate functional module subscribes to only to stream 5 on producer module 2, but must also subscribe to up to n additional streams 6 on the platform. Said additional flows 6 are processed inside the intermediate functional module 1 while waiting for a change of channels. These n chains are chosen or planned taking into account fixed and / or variable parameters. Once determined, the n additional channels are buffered in small circular buffers on the intermediate functional module 1.
Lorsque le client a ultérieurement l'intention d'atteindre un autre flux, deux cas sont possibles : When the customer subsequently intends to reach another stream, two cases are possible:
- le flux n'est pas l'un des n flux pré-mémorisés . the stream is not one of the pre-stored stream.
Dans ce cas, le module fonctionnel intermédiaire 1 repasse à une étape d' abonnement directement au module producteur 2 ; In this case, the intermediate functional module 1 goes back to a subscription step directly to the producer module 2;
- il s'agit de l'un des flux mémorisés. Dans ce cas, le module fonctionnel intermédiaire 1 effectuera les étapes suivantes : - This is one of the stored streams. In this case, the intermediate functional module 1 will perform the following steps:
- le module fonctionnel intermédiaire 1 commence la diffusion en continu du flux pré-mémorisé en direction du client, alors qu'il continue à recevoir le flux du module producteur 2, et continue à mettre en mémoire tampon ce flux dans la mémoire tampon circulaire. La diffusion en continu à partir de la mémoire tampon circulaire soit commence à un point optimal, soit sera lue de manière accélérée pendant une certaine durée ;
- le module fonctionnel intermédiaire 1 sélectionne un autre jeu de n flux pour pré-mémorisation en se basant sur les chaînes sélectionnées. the intermediate functional module 1 begins the streaming of the pre-stored stream towards the client, while it continues to receive the flow of the producer module 2, and continues to buffer this stream in the circular buffer. Continuous streaming from the circular buffer starts at an optimum point, or will be read in an accelerated manner for a period of time; the intermediate functional module 1 selects another set of n streams for pre-storage based on the selected channels.
Les figures 4a et 4b illustrent un changement entre la chaîne 4 et la chaîne 3. Le module fonctionnel intermédiaire 1 reçoit le flux actuellement regardé de la chaîne 4 conjointement avec trois autres chaînes : la chaîne 7, la chaîne 3 et la chaîne 6. Ainsi, quatre flux sont respectivement mis en mémoire tampon à l'intérieur de quatre mémoires tampons bl à b4. La chaîne 4 est traitée par la mémoire tampon b3 qui alimente le module consommateur 3. Lorsque l'utilisateur utilise sa télécommande pour se régler sur la chaîne 3 pré-mémorisée dans la mémoire tampon b2, le module fonctionnel intermédiaire 1 passe à la mémoire tampon b2, atteint une trame I afin de fournir immédiatement au module consommateur 3 la chaîne 3 comme décrit sur la figure 4b. Ainsi, la chaîne regardée actuellement est traitée par la mémoire tampon b2. Un autre jeu de n chaînes additionnelles est déterminé et respectivement appliqué aux mémoires tampons bl (chaîne 8), b3 (chaîne 4) et b4 (chaîne 5) . FIGS. 4a and 4b illustrate a change between the chain 4 and the chain 3. The intermediate functional module 1 receives the stream currently viewed from the chain 4 in conjunction with three other chains: the chain 7, the chain 3 and the chain 6. Thus , four streams are respectively buffered within four buffers bl to b4. The channel 4 is processed by the buffer memory b3 which supplies the consumer module 3. When the user uses his remote control to adjust to the channel 3 pre-stored in the buffer memory b2, the intermediate functional module 1 goes to the buffer memory b2, reaches a frame I in order to immediately supply the consumer module 3 with the string 3 as described in FIG. 4b. Thus, the channel currently watched is processed by the buffer memory b2. Another set of n additional strings is determined and respectively applied to the buffers b1 (string 8), b3 (string 4) and b4 (string 5).
On peut utiliser différents procédés pour détecter quels flux nécessitent d'être mises en mémoire tampon, et combien plusieurs peuvent être pré-mémorisés . En général, on pré-mémorisera des flux dont l'utilisation/la visualisation est la plus probable dans une certaine situation. La probabilité pour qu'une certaine chaîne soit utilisée peut être calculée de différentes manières en prenant en compte plusieurs facteurs. Certains mécanismes et facteurs qui pourront être utilisés sont décrits ci- dessous . Présélection basée sur un plan de service.
Dans le cas où un plan de service numéroté est disponible, on pourra sélectionner des flux voisins. A savoir : si la chaîne 5 est sélectionnée, on pourra par exemple présélectionner les chaînes 4 et 6. Ces chaînes sont typiquement choisies si un utilisateur zappe par l'intermédiaire d'une offre de services en utilisant les boutons de zapping P-/P+ de la télécommande. Various methods can be used to detect which streams need to be buffered, and how many can be pre-stored. In general, one will pre-memorize flows whose use / visualization is most likely in a certain situation. The probability of a certain string being used can be calculated in different ways by taking into account several factors. Some mechanisms and factors that can be used are described below. Pre-selection based on a service plan. In the case where a numbered service plan is available, it will be possible to select neighboring flows. Namely: if the channel 5 is selected, one can for example pre-select the channels 4 and 6. These channels are typically chosen if a user zaps through a service offering using the P- / P + zapping buttons. from the remote control.
Présélection basée sur le comportement passé de l'utilisateur. Preselection based on the past behavior of the user.
Le module fonctionnel intermédiaire 1 peut apprendre les préférences d'un utilisateur en mémorisant quelles chaînes l'utilisateur sélectionne typiquement après une autre chaîne. Chaque fois qu'un utilisateur zappe, un compteur est incrémente pour la nouvelle chaîne sélectionnée dans une liste de « chaîne suivante » liée à la chaîne précédente. The intermediate functional module 1 can learn the preferences of a user by memorizing which strings the user typically selects after another string. Each time a user zaps, a counter is incremented for the new channel selected in a "next string" list related to the previous channel.
Lorsqu'un utilisateur sélectionne ensuite une chaîne, le module fonctionnel intermédiaire 1 peut présélectionner les n entrées de décompte le plus élevé dans la liste de « chaîne suivante » de la chaîne nouvellement sélectionnée . When a user then selects a channel, the intermediate functional module 1 can preselect the n highest count entries in the "next chain" list of the newly selected channel.
Des réglages fins supplémentaires sont possibles dans cette approche : Additional fine adjustments are possible in this approach:
· on pourra enlever des entrées plus anciennes des listes de chaînes suivantes. Il faudra pour cela mémoriser des estampilles temporelles du moment où le zapping s'est produit. Cela permet l'adaptation à des comportements d'utilisateur qui peuvent changer avec le temps. · Older entries can be removed from the following channel lists. This will require memorizing timestamps of the moment when the zapping occurred. This allows adaptation to user behaviors that may change over time.
· On peut garder des listes de chaînes suivantes par module client. Cela peut être utile dans le cas où un certain module est utilisé de façon prédominante par un certain membre d'une famille alors qu'un autre module est utilisé principalement par un autre membre. En effet, le module fonctionnel intermédiaire 1 peut alimenter de
multiples modules consommateurs comme décrit sur la figure 5, ainsi que de multiples modules producteurs. · The following lists of channels can be maintained per client module. This can be useful in the case where a certain module is used predominantly by a certain member of a family while another module is used mainly by another member. Indeed, the intermediate functional module 1 can feed multiple consumer modules as described in Figure 5, as well as multiple producer modules.
• On peut garder des listes de chaînes suivantes par utilisateur. Cela permet les comportements les plus pointus en se basant sur les préférences/comportements des individus plutôt que sur le comportement plus global influencé par la famille entière. Avantageusement, on peut ainsi envisager un mécanisme qui puisse identifier quel utilisateur commande un module consommateur donné à un certain moment. Cela peut être accompli de plusieurs manières, comprenant, sans s'y limiter, d'ouvrir une session sur la passerelle et des listes temporelles de qui se connecte à un certain module à un moment donné. Les limites de la présélection. • You can keep the following lists of channels per user. This allows for the most advanced behaviors based on the preferences / behaviors of individuals rather than the more general behavior influenced by the entire family. Advantageously, it is possible to envisage a mechanism that can identify which user controls a given consumer module at a certain time. This can be accomplished in several ways, including, but not limited to, logging into the gateway and time lists of who connects to a certain module at a given time. The limits of the preselection.
La quantité de chaînes qui peuvent être mises en mémoire à un certain instant peut typiquement être limitée par des contraintes physiques. Il se peut que le mécanisme de sélection ait besoin de prendre cela en compte. Lorsqu'un utilisateur sélectionne une nouvelle chaîne, une nouvelle liste de chaînes à pré-mémoriser a besoin d'être créée. Certains éléments qui peuvent être considérés pour créer cette nouvelle liste peuvent par exemple être : The amount of strings that can be stored at a certain time can typically be limited by physical constraints. The selection mechanism may need to take this into account. When a user selects a new channel, a new list of channels to pre-memorize needs to be created. Some elements that can be considered to create this new list may for example be:
• le nombre de flux qui sont en cours de pré- mémorisation, • the number of streams that are being pre-memorized,
• les débits binaires de ces flux, • the bit rates of these flows,
• le nombre de flux que l'on souhaite pré-mémoriser suite à la sélection de nouveaux flux, • the number of streams that one wishes to pre-memorize following the selection of new flows,
• des limitations techniques (nombre de flux, débit binaire total qui est reçu/mémorisé,...) • technical limitations (number of flows, total bit rate that is received / stored, ...)
• disponibilité de multiples versions de débits binaires d'un flux de contenu donné (d'après les technologies couramment connues comme la diffusion en continu à débit binaire adaptatif) ,
• le nombre de tuners disponibles si le flux de contenu est reçu d'un module producteur qui est un tuner (satellite, TNT, câble, etc.), • availability of multiple bit rate versions of a given content stream (based on commonly known technologies such as adaptive bit rate streaming), The number of tuners available if the content stream is received from a producer module that is a tuner (satellite, TNT, cable, etc.),
• priorité des utilisateurs visualisant des chaînes à travers le module intermédiaire. Certains modules client peuvent avoir une priorité/préséance plus élevée que d'autres. De même, certains utilisateurs ayant ouvert une session pourront avoir une priorité plus élevée que d'autres. Des modules ou utilisateurs de priorité plus élevée auraient plus de flux pré-mémorisés que d'autres modules/utilisateurs pour augmenter leur probabilité d'occurrence d'un flux pré-mémorisé lorsqu'ils auront sélectionné un nouveau flux à regarder. La présente invention propose donc un nouveau procédé qui permet à des modules de lecture vidéo de zapper plus vite entre des chaînes fréquemment visualisées, par l'utilisation d'un module intermédiaire qui pré-mémorise en mémoire tampon ces chaînes et permet leur diffusion en continu (« streaming ») de manière optimisée en direction desdits modules de lecture vidéo. • priority of users viewing channels through the intermediate module. Some client modules may have higher precedence / precedence than others. Similarly, some users who are logged in may have higher priority than others. Higher priority modules or users would have more pre-stored streams than other modules / users to increase their probability of occurrence of a pre-stored stream when they have selected a new stream to watch. The present invention therefore proposes a new method which allows video reading modules to zap faster between frequently-viewed channels, by the use of an intermediate module which pre-stores these channels in memory and allows them to be broadcast continuously. ("Streaming") optimally towards said video playback modules.
De nombreuses variations et modifications apparaîtront à l'homme du métier une fois que la divulgation ci-dessus aura été pleinement appréciée. Il est entendu que les revendications suivantes soient interprétées pour englober toutes ces variations et modifications .
Many variations and modifications will occur to those skilled in the art once the above disclosure has been fully appreciated. It is understood that the following claims are interpreted to encompass all such variations and modifications.
Claims
1. Procédé de changement de chaîne dans une passerelle connectée à une pluralité de modules consommateurs de flux audio-vidéo et gérant une pluralité de chaînes délivrées par une plate-forme, ce procédé comprenant : A method of changing a channel in a gateway connected to a plurality of audio-video stream consumer modules and managing a plurality of channels provided by a platform, the method comprising:
- une étape d'abonnement pendant laquelle la passerelle s'abonne à au moins une chaîne à afficher en réponse à une consigne de l'utilisateur et à n chaînes additionnelles, lesdites n chaînes additionnelles étant choisies à partir de paramètres prédéterminés et étant respectivement placées en mémoire dans des mémoires tampons circulaires, a subscription step during which the gateway subscribes to at least one string to be displayed in response to a user instruction and to n additional strings, the said n additional strings being chosen from predetermined parameters and respectively being placed in memory in circular buffers,
- une étape de changement en réponse à une consigne de changement vers une autre chaîne désignée comme chaîne suivante, dans laquelle étape la passerelle : a step of changing in response to a change instruction to another channel designated as the next string, in which step the gateway:
- revient à l'étape d'abonnement si la chaîne suivante n'est pas l'une des chaînes placées en mémoire ; - returns to the subscription step if the next string is not one of the strings placed in memory;
- commence une diffusion en continu de la chaîne suivante placée en mémoire si cette chaîne suivante est l'une des chaînes placées en mémoire ; la diffusion en continu étant réalisée à partir de la mémoire tampon circulaire correspondante soit en commençant à un point optimal lorsqu'un tel point optimal est identifiable dans la mémoire tampon, ce point optimal étant une trame I dite « I-Frame » ou un groupe d'images dit GOP (« Group Of Pictures ») , soit par lecture de manière accélérée du flux mis en mémoire lorsque le point optimal n'est pas identifiable, - starts a streaming broadcast of the next string stored in memory if this next string is one of the strings placed in memory; the streaming being performed from the corresponding circular buffer or starting at an optimum point when such an optimal point is identifiable in the buffer, this optimum point being a so-called I-Frame or a group GOP ("Group Of Pictures"), or by accelerated reading of the stream stored when the optimal point is not identifiable,
- la passerelle sélectionne un autre jeu de n chaînes à pré-mémoriser en mémoire tampon en se basant sur ladite chaîne suivante.
the gateway selects another set of n strings to be pre-stored in buffer memory on the basis of said next string.
2. Procédé selon la revendication 1, caractérisé en ce que la taille de la mémoire tampon correspondante est inférieure à la taille d'une mémoire tampon de gigue contenue dans un module consommateur connecté à la passerelle. 2. Method according to claim 1, characterized in that the size of the corresponding buffer is smaller than the size of a jitter buffer contained in a consumer module connected to the gateway.
3. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les n chaînes additionnelles sont déterminées à partir d'un plan de numérotation de chaîne. 3. Method according to any one of the preceding claims, characterized in that the n additional chains are determined from a chain numbering plan.
4. Procédé selon la revendication 3, caractérisé en ce que les n chaînes additionnelles sont des chaînes voisines . 4. Method according to claim 3, characterized in that the n additional chains are neighboring chains.
5. Procédé selon l'une quelconque des revendications 1 à 2, caractérisé en ce que les n chaînes additionnelles sont déterminées à partir d'une analyse statistique de chaînes sélectionnées dans l'historique. 5. Method according to any one of claims 1 to 2, characterized in that the n additional chains are determined from a statistical analysis of strings selected in the history.
6. Procédé selon la revendication 5, caractérisé en ce que les n chaînes additionnelles sont déterminées à partir d'une analyse statistique de chaînes sélectionnées par module consommateur dans l'historique. 6. Method according to claim 5, characterized in that the n additional chains are determined from a statistical analysis of selected channels per consumer module in the history.
7. Procédé selon la revendication 5 ou 6, caractérisé en ce que les n chaînes additionnelles sont déterminées à partir d'une analyse statistique de chaînes sélectionnées par utilisateur dans l'historique. 7. The method of claim 5 or 6, characterized in that the n additional channels are determined from a statistical analysis of channels selected by user in the history.
8. Procédé selon la revendication 7, caractérisé en ce que chaque utilisateur est identifié par un accès d'ouverture de session à la passerelle.
8. Method according to claim 7, characterized in that each user is identified by a login access to the gateway.
9. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les n chaînes additionnelles sont déterminées à partir de définitions de priorité entre différents modules consommateurs et/ou utilisateurs finaux. 9. Method according to any one of the preceding claims, characterized in that the n additional chains are determined from priority definitions between different consumer modules and / or end users.
10. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les n chaînes additionnelles sont déterminées de telle sorte que les débits binaires totaux de chaînes à placer en mémoire se situent sous un seuil prédéterminé. 10. Method according to any one of the preceding claims, characterized in that the n additional strings are determined such that the total bit rates of strings to be placed in memory are below a predetermined threshold.
11. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les n chaînes additionnelles sont déterminées en tenant compte du contenu lorsque ce contenu respecte certains critères prédéterminés relatifs à l'utilisateur et/ou au module consommateur . 11. Method according to any one of the preceding claims, characterized in that the n additional channels are determined taking into account the content when this content meets certain predetermined criteria relating to the user and / or the consumer module.
12. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les n chaînes additionnelles sont déterminées en tenant compte de l'audience courante des chaînes12. Method according to any one of the preceding claims, characterized in that the n additional channels are determined taking into account the current audience of the channels.
13. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les n chaînes additionnelles sont déterminées en tenant compte du temps écoulé pour une émission en cours de diffusion par rapport à la durée totale de cette émission. 13. A method according to any one of the preceding claims, characterized in that the n additional channels are determined by taking into account the time elapsed for a program being broadcast in relation to the total duration of this issue.
14. Passerelle connectée à une pluralité de modules consommateurs de flux audio-vidéo et gérant une pluralité de chaînes délivrées par une plate-forme, ladite passerelle comprenant un support de stockage lisible par ordinateur non transitoire encodé avec des instructions
exécutables par ordinateur qui, une fois exécutées, effectue efficacement un procédé de changement de chaîne comprenant : A gateway connected to a plurality of audio-video stream consumer modules and managing a plurality of channels provided by a platform, said gateway comprising a non-transient computer readable storage medium encoded with instructions computer executable which, when executed, efficiently performs a chain change process comprising:
- une étape d'abonnement pendant laquelle la passerelle s'abonne à au moins une chaîne à afficher en réponse à une consigne de l'utilisateur et à n chaînes additionnelles, lesdites n chaînes additionnelles étant choisies à partir de paramètres prédéterminés et étant respectivement placées en mémoire dans des mémoires tampons circulaires, a subscription step during which the gateway subscribes to at least one string to be displayed in response to a user instruction and to n additional strings, the said n additional strings being chosen from predetermined parameters and respectively being placed in memory in circular buffers,
- une étage de changement en réponse à une consigne de changement vers une autre chaîne désignée comme chaîne suivante, dans laquelle étape la passerelle : a change stage in response to a change instruction to another channel designated as the next string, in which step the gateway:
- revient à l'étape d'abonnement si la chaîne suivante n'est pas l'une des chaînes placées en mémoire ; - returns to the subscription step if the next string is not one of the strings placed in memory;
- commence une diffusion en continu de la chaîne suivante placée en mémoire si cette chaîne suivante est l'une des chaînes placées en mémoire ; la diffusion en continu étant réalisée à partir de la mémoire tampon circulaire correspondante soit en commençant à un point optimal lorsqu'un tel point optimal est identifiable dans la mémoire tampon, ce point optimal étant une trame I dite « I-Frame » ou un groupe d'images dit GOP (« Group Of Pictures ») , soit par lecture de manière accélérée du flux mis en mémoire lorsque le point optimal n'est pas identifiable, - starts a streaming broadcast of the next string stored in memory if this next string is one of the strings placed in memory; the streaming being performed from the corresponding circular buffer or starting at an optimum point when such an optimal point is identifiable in the buffer, this optimum point being a so-called I-Frame or a group GOP ("Group Of Pictures"), or by accelerated reading of the stream stored when the optimal point is not identifiable,
- la passerelle sélectionne un autre jeu de n chaînes à pré-mémoriser en mémoire tampon en se basant sur ladite chaîne suivante.
the gateway selects another set of n strings to be pre-stored in buffer memory on the basis of said next string.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1456771A FR3024005B1 (en) | 2014-07-15 | 2014-07-15 | CHANNEL CHANGE METHOD AND GATEWAY FOR DIGITAL TV STREAMS |
FR1456771 | 2014-07-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016008913A1 true WO2016008913A1 (en) | 2016-01-21 |
Family
ID=51417515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2015/066137 WO2016008913A1 (en) | 2014-07-15 | 2015-07-15 | Method of changing channel and gateway for digital tv streams |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3024005B1 (en) |
WO (1) | WO2016008913A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018216037A1 (en) * | 2017-05-25 | 2018-11-29 | Sling Media Pvt Ltd. | Temporally-seamless channel change functionality in multichannel streaming environments |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1806927A2 (en) * | 2005-12-19 | 2007-07-11 | Alcatel Lucent | Access node capable of dynamic channel caching |
US20070160038A1 (en) * | 2006-01-09 | 2007-07-12 | Sbc Knowledge Ventures, L.P. | Fast channel change apparatus and method for IPTV |
US20070250635A1 (en) * | 2006-04-21 | 2007-10-25 | Hamilton Christopher W | Flexible traffic management and shaping processing for multimedia distribution |
WO2008055712A1 (en) * | 2006-11-10 | 2008-05-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Providing iptv multicasts |
WO2008076023A1 (en) * | 2006-12-20 | 2008-06-26 | Telefonaktiebolaget L M Ericsson (Publ) | Method and a node in an iptv network |
US20100088426A1 (en) * | 2008-10-08 | 2010-04-08 | Tomoaki Takemura | Reception apparatus reception method, and computer program |
US20120144442A1 (en) * | 2010-12-06 | 2012-06-07 | Hon Hai Precision Industry Co., Ltd. | Residential gateway and method for reducing channel zapping time |
US20140189736A1 (en) * | 2012-12-27 | 2014-07-03 | Echostar Technologies, Llc | Fast channel change from electronic programming guide |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200642450A (en) * | 2005-01-13 | 2006-12-01 | Silicon Optix Inc | Method and system for rapid and smooth selection of digitally compressed video programs |
JP2009017237A (en) * | 2007-07-04 | 2009-01-22 | Sony Computer Entertainment Inc | Decoder and decoding method |
EP2280541A1 (en) * | 2009-06-30 | 2011-02-02 | Trident Microsystems (Far East) Ltd. | Fast channel switch between digital televisison channels |
GB2492177B (en) * | 2011-06-22 | 2014-08-06 | Nds Ltd | Fast service change |
-
2014
- 2014-07-15 FR FR1456771A patent/FR3024005B1/en active Active
-
2015
- 2015-07-15 WO PCT/EP2015/066137 patent/WO2016008913A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1806927A2 (en) * | 2005-12-19 | 2007-07-11 | Alcatel Lucent | Access node capable of dynamic channel caching |
US20070160038A1 (en) * | 2006-01-09 | 2007-07-12 | Sbc Knowledge Ventures, L.P. | Fast channel change apparatus and method for IPTV |
US20070250635A1 (en) * | 2006-04-21 | 2007-10-25 | Hamilton Christopher W | Flexible traffic management and shaping processing for multimedia distribution |
WO2008055712A1 (en) * | 2006-11-10 | 2008-05-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Providing iptv multicasts |
WO2008076023A1 (en) * | 2006-12-20 | 2008-06-26 | Telefonaktiebolaget L M Ericsson (Publ) | Method and a node in an iptv network |
US20100088426A1 (en) * | 2008-10-08 | 2010-04-08 | Tomoaki Takemura | Reception apparatus reception method, and computer program |
US20120144442A1 (en) * | 2010-12-06 | 2012-06-07 | Hon Hai Precision Industry Co., Ltd. | Residential gateway and method for reducing channel zapping time |
US20140189736A1 (en) * | 2012-12-27 | 2014-07-03 | Echostar Technologies, Llc | Fast channel change from electronic programming guide |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018216037A1 (en) * | 2017-05-25 | 2018-11-29 | Sling Media Pvt Ltd. | Temporally-seamless channel change functionality in multichannel streaming environments |
Also Published As
Publication number | Publication date |
---|---|
FR3024005B1 (en) | 2017-12-08 |
FR3024005A1 (en) | 2016-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6927806B2 (en) | Systems, methods and apparatuses for minimizing subscriber-perceived digital video channel tuning delay | |
US8135040B2 (en) | Accelerated channel change | |
US8332888B2 (en) | Communicating video content | |
EP1121806B1 (en) | Method for switching from first digital audio-visual programme video component(s) to a second digital audio-visual programme video component(s) using field duplication | |
US8973039B2 (en) | System and method for providing fast channel surfing | |
US20080307457A1 (en) | Channel switching method and method and apparatus for implementing the method | |
FR2896115A1 (en) | DEVICE AND METHOD FOR RAPID CHANNEL CHANGE FOR IPTV | |
FR2898236A1 (en) | METHOD OF TRANSMITTING AUDIOVISUAL FLOWS BY ANTICIPATING CONTROLS OF THE USER, RECEIVER AND TRANSMITTER FOR IMPLEMENTING THE METHOD | |
KR102093230B1 (en) | Provision of a personalized media content | |
US20110296478A1 (en) | Device, method and system for service insertion during content display | |
US20080288991A1 (en) | System and method for reducing network bandwidth for distributing video programming | |
US10015432B1 (en) | Method and system to process television program summary | |
US8387085B2 (en) | Methods and systems for tailoring an interactive game associated with a media content instance to a user | |
US20060159128A1 (en) | Channel switching subscription service according to predefined content patterns | |
FR3006541A1 (en) | VIDEO RECEIVING APPARATUS FOR PRODUCING RECEIVABLE VIDEO CONTENT FROM A PLURALITY OF DISTRIBUTION PLATFORMS AND METHOD FOR PRODUCING SUCH VIDEO CONTENT | |
WO2016008913A1 (en) | Method of changing channel and gateway for digital tv streams | |
FR2902267A1 (en) | METHODS OF RECEIVING AND TRANSMITTING DIGITAL TELEVISION SERVICES | |
EP3167619B1 (en) | Method for delivering an application object associated with a digital tv stream | |
EP4224868A2 (en) | Methods for synchronising, generating a stream, corresponding computer programs, storage media, playback, execution and generation devices | |
EP2319239B1 (en) | Method for optimizing the zapping time of a television digital set top box | |
EP2351357B1 (en) | Method of managing the receipt of a command to change services in a digital television decoder | |
EP2140614B1 (en) | Method for time multiplexing and for broadcasting audiovisual streams, in order to improve quality | |
FR2871649A1 (en) | METHOD FOR SWITCHING DIGITAL VIDEO PROGRAMS AND TRANSMITTER FOR ITS IMPLEMENTATION | |
WO2013102745A1 (en) | Control of on-demand services communicated in broadcast mode | |
FR2935863A1 (en) | Broadcasted encoded digital video content processing method for e.g. Internet protocol TV service application, involves modifying display delay associated to data stream so that delay associated to other stream increases towards given delay |
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: 15741518 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: 15741518 Country of ref document: EP Kind code of ref document: A1 |