Method for managing the processing of a video stream in a local network.
Patent Information
- Application Number
- FR2023009428
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-07
- Publication Date
- 2025-03-14
- Estimated Expiration
- Not applicable · inactive patent
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Method for managing the processing of a video stream in a local network. Technical field
[0001] The field of the invention is that of digital multimedia content, namely digital audio and / or video content, also called audiovisual content.
[0002] The invention relates to a method for managing the processing of a video stream in a local network comprising a gateway and at least one data processing device.
[0003] The processing entity is capable of receiving a data stream, processing the data and transmitting the processed data. In the example which will serve to illustrate the invention in the following, the processing entity is installed on a capable device and is capable of receiving data packets from a first network, of processing the data so as to obtain content segments and of transmitting the obtained segments on request to a reading device. Such an entity is for example an entity capable of providing segments in “adaptive streaming” mode without being limited to the latter.
[0004] The data processing device is for example a reading device capable of receiving multimedia streams in the form of segments and of reading the received contents; such a data processing device is for example a decoder, a mobile telephone, a tablet, etc.
[0005] The communication link between the reading device and a device providing segments is arbitrary. In the example described below, this link will be a unicast link.
[0006] Content is, for example, content broadcast in real time, also called “live” content by those skilled in the art, on-demand television content, on-demand video content, etc. State of the art
[0007] There are currently several modes of transmitting content from a content transmitter to a content playback device. One known mode is, for example, Multicast ABR (M-ABR) mode.
[0008] This M-ABR mode implements IP packet transport in Multicast mode. In this mode, multiple multicast transmission channels are created for a single TV channel to encode and broadcast multiple streams with different qualities on each multicast channel, respectively. In other words, the channels broadcast the same content with different image qualities, respectively.
[0009] An IP address is assigned to each channel, in this way access to the content in a given quality is made by connecting to the corresponding IP address.
[0010] The M-ABR multicast mode is implemented by an nCDN processing entity. This entity is installed in a home gateway that interfaces a WAN network and a local network. This processing entity acts as the termination point of the Multicast stream. In practice, this processing entity receives an audio and / or video data stream transmitted from a server in multicast mode (for example with “IPTV” technology (acronym for “Internet Protocol Television” in English) via a channel; the processing entity then stores the received packets, segments the received packets in accordance with the HAS standard and transmits the segments in unicast mode one after the other to a playback device capable of playing segments.
[0011] Since the processing entity is installed in the home gateway, the processing quality therefore depends on the processing capabilities of the gateway. It is important that the processing capabilities of the gateway are optimal to best process the data flow and ensure optimal quality of service.
[0012] However, this is not always the case for multiple reasons. For example, at the time of processing, the gateway may be processing other data and may therefore see its processing capabilities reduced; also, the gateway may be natively low-performing in terms of processing capacity for financial cost reasons. When the domestic gateway sees its processing capacity reduced, we observe image freezes. The content rendering is therefore not optimal, and the user experience is very poor.
[0013] Also, when the home gateway is unavailable, access to the data stream is no longer possible.
[0014] The invention improves the situation The invention
[0015] To this end, the invention relates to a method for managing the processing of a data flow by a management entity in a local network comprising a set of data processing devices, characterized in that the location of the processing entity evolves over time in the set.
[0016] According to the invention, the location of the entity changes over time. More specifically, the method comprises receiving a data stream and selecting a processing location and processing the data stream in the selected device. The order of execution of the preceding steps is irrelevant.
[0017] The invention avoids using a default device for processing a data flow, in this case a home gateway. The possibility of choosing a device at will from a set of devices makes it possible, among other things, to avoid a blocking situation linked to the unavailability of the device including the processing entity, for example. because the device in question is powered off. Also, by processing the data stream using a carefully chosen device, for example, the device with optimal processing capabilities for the intended processing, the resulting processing will necessarily be of better quality. The risks of image freezing are then greatly reduced or even non-existent.
[0018] According to a first embodiment, the data processing device is chosen according to the processing capabilities of the processing device. As indicated above, a data processing device chosen judiciously, here according to its capabilities, meaning the capabilities of its physical and / or software resources, will make it possible to achieve better processing and therefore ensure restitution of the content without image freezes.
[0019] According to a second embodiment, which may be implemented alternatively or cumulatively with the previous embodiment, the choice is made by comparing the processing capacities of devices in the local network and by selecting a device as the basis for the comparison.
[0020] According to a third embodiment, which may be implemented alternatively or cumulatively with the previous embodiments, the processing capabilities include a volatile memory size. This mode makes it possible to select a device equipped with a volatile memory adapted to the data stream. For example, if the data stream is a 4K type video stream, the volatile memory will be selected from the volatile memories of the different devices so as to process this stream correctly.
[0021] In another embodiment, which may be implemented alternatively or cumulatively with the previous modes, the processing entity is capable of processing a data stream associated with an encoding rate; in this configuration, the choice of the installation location of the entity also depends on said encoding rate of the stream to be processed. Indeed, certain streams see their encoding rates vary over time due to the variation in the bandwidth on the network; in this case, it is wise to take this encoding rate into account when choosing the volatile memory to be used, meaning the device including this volatile memory.
[0022] According to a fourth embodiment, which may be implemented alternatively or cumulatively with the previous embodiments, the local network comprises a home gateway, and in that the gateway routes the data stream to the selected processing device. In this mode, the gateway stores the address of the selected device on which the processing will take place; in this way, upon receipt of a multimedia stream, the gateway routes the stream to the selected device to be processed by the processing entity. If the latter is not available, the gateway can decide to process the received data stream.
[0023] According to a fifth embodiment, which can be implemented alternatively- tively or cumulatively with the previous modes, the data processing device is capable of receiving the data stream from a communication network. This mode makes it possible to select a data processing device capable of receiving the data stream from the communication network without involving the home gateway. The advantage is that if the gateway is unavailable, the device thus selected can access the stream instead of the gateway.
[0024] The invention makes it possible to change the location of the data flow processing over time. This makes it possible to use the most suitable device, particularly when the chosen device sees its capacities decrease. The change of device for processing can also be based on load forecasts on the devices in the local network.
[0025] According to a hardware aspect, the invention relates to an entity for managing a data flow in a local network comprising a set of data processing devices, characterized in that it comprises a processor capable of requesting a modification of the processing location in said set.
[0026] According to another hardware aspect, the invention relates to a decoder comprising a management entity as defined above.
[0027] According to another material aspect, the invention relates to a computer program capable of being implemented on an entity as defined above, the program comprising code instructions which, when executed by a processor, performs the steps of the selection method defined above.
[0028] Finally, according to another material aspect, the invention relates to a data medium on which at least one series of program code instructions has been stored for the execution of a management method as defined above.
[0029] Such a recording medium may be any entity or device capable of storing the program. For example, the medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording means, for example a USB key or a hard disk.
[0030] On the other hand, such a recording medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means, so that the computer program it contains is remotely executable. The program according to the invention may in particular be downloaded over a network, for example the Internet.
[0031] Alternatively, the recording medium may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the aforementioned display control method.
[0032] The invention will be better understood upon reading the following description, given as a example and made with reference to the attached drawings in which:
[0033] [Fig.l] [Fig.l] represents a computer system on which an exemplary embodiment of the invention is illustrated.
[0034] [Fig.2] [Fig.2] is a simplified block diagram of the hardware structure of a reading device.
[0035] [Fig.3] [Fig.3] a simplified block diagram of the hardware structure of a home gateway.
[0036] [Fig.4] [Fig.4] schematically illustrates content divided into segments of several qualities.
[0037] [Fig.5] [Fig.5] illustrates an embodiment in the form of messages exchanged between the different devices involved in the management method.
[0038] Detailed description of an exemplary embodiment illustrating the invention:
[0039] We now present, in relation to [Fig.l], a computer system SYS including a GTW home gateway offering a local network in which there are data processing devices, namely a reading device STB reading device, for example a decoder, a PC computer, a TAB tablet.
[0040] The SYS system also comprises a data flow processing entity referenced nCDN(tk), tk being a temporal data designating a given instant (k is an integer in our example), for example a given day, at a given time; For example tl corresponds to June 5, 2023 at 3:00 p.m., t2 to June 12, 2023 at 4:20 p.m., etc.
[0041] We will see in the following that the location of the entity varies as a function of time and it is found in a given place at a time t1, in another place at t2 and again in another place at another time t3; hence the references nCDN(t1) to nCDN(t3) in [Fig.l]
[0042] In our example, the nCDN(tk) processing entity is able to transmit content segments to the STB playback device on request.
[0043] [Fig.2] represents an architecture of an STB reading device. This STB device conventionally comprises memories MEM1 associated with a processor CPU1. The memories can be of the ROM (Read Only Memory) or RAM (Random Access Memory) type or even Flash.
[0044] The STB playback device can transmit content to be played back to the TV playback device via a COM 12 communication module. This COM 12 module is, for example, an HDMI link.
[0045] The STB reading device communicates with the gateway via an Ethernet module for local wired communication or via a WiFi type radio module for local wireless communication with the GTW residential gateway. The module in question is referenced CM011 in [Fig.2].
[0046] The STB playback device comprises a download entity in mode streaming HAS able to handle segment downloading.
[0047] The STB reading device comprises a HAS download module. This module is capable of entering into communication with a compatible nCDN(tk) data stream processing entity.
[0048] [Fig.3] represents an architecture of a GTW home gateway. This GTW device conventionally comprises MEM2 memories associated with a CPU2 processor. The memories can be of the ROM (Read Only Memory) or RAM (Random Access Memory) type or even Flash.
[0049] The gateway can communicate with devices on the local network via a COM21 communication module. This COM21 module is, for example, a Wi-Fi interface, an Ethernet link, or any other means of communication.
[0050] The gateway can communicate with remote devices via a COM22 communication module; in our example the module is a WAN communication module.
[0051] In our example, the gateway stores a management entity ENT capable of, according to the invention, managing the location of the processing entity of the data flows received by the gateway from the WAN network.
[0052] As indicated previously, the system comprises a data flow processing entity nCDN(tk) capable of creating segments, in our example, the segments created by the processing entity nCDN(tk) are compatible with the HAS download module.
[0053] The nCDN(tk) processing entity has multiple SMC multicast sources to retrieve content.
[0054] To select one of the SMC multicast data sources, the STB playback device, meaning the HAS module present on the STB playback device, issues a request for access to the content and indicates a desired quality for the reproduction often expressed in kbits / sec by those skilled in the art. Following reception, the nCDN(tk) entity addresses (or subscribes to) an SMC multicast server (among several multicast servers) having the content in the desired quality and receives in return the content from the multicast server in question via the telecommunications network, the Internet network in our example; the transmission mode implemented between the multicast server and the processing entity is for example the IPTV mode (acronym for “Internet Protocol Television”), known to those skilled in the art. The invention is not limited to the IPTV mode but to any other similar transmission modes.
[0055] Then, after receiving the content in a given quality, the nCDN(tk) entity stores the received IP packets in a RAM memory so as to process these packets, the processing consisting in our example of cutting the packets into segments, and encoding each segment to obtain segments in the quality requested.
[0056] After encoding, the nCDN processing entity transmits in response a description file including the addresses (URL) of the segments thus created.
[0057] We will see below where the nCDN(t) processing entity is located in the local network in accordance with the invention.
[0058] We will briefly explain in the following what a segment consists of and what the possible qualities are (expressed in Kbits / s) for each segment of a content.
[0059] A RES communication network allows communication between content sources, in our example multicast servers each offering respective qualities for the same content and the nCDN(tk) entity. In our example, the RES network is the Internet network.
[0060] The STB playback device is connected via a LU communication link to the GTW gateway and via a communication link to a TV playback device such as a television screen.
[0061] In our example, the link between the STB playback device and the nCDN(tk) processing entity is a point-to-point (or unicast) link.
[0062] With reference to [Fig.4], different qualities can be encoded for the same content of a channel, corresponding for example to different encoding rates. More generally, we will speak of quality to refer to a certain resolution of the digital content (spatial resolution, temporal resolution, quality level associated with video and / or audio compression) with a certain encoding rate. Each quality level is itself divided on the content server into time segments.
[0063] The description of these different qualities and the associated temporal segmentation, as well as the content segments, are described for the STB playback device and made available to it via their Internet addresses (URI: Universal Resource Identifier). All of these parameters (qualities, segment addresses, etc.) are generally grouped together in a parameter file called a description file or “manifest file” by those skilled in the art. It will be noted that this parameter file may be a computer file or a set of descriptive information about the content, accessible at a certain address.
[0064] The STB playback device, in a progressive adaptive download context, can adapt the access requests that it transmits to the nCDN(tk) entity to receive and decode the requested content at the quality that best corresponds to it. In our example, if the contents are available at the rates of 400 kb / s (kilobits per second) (Resolution 1, or level 1, noted NI), 800 kb / s (N2), 1200 kb / s (N3) 2100 kb / s (N4) 3000 kb / s (N4) and the client terminal has a bandwidth of 3000 kb / s, it can request the content at any rate lower than this limit, for example 2100 kb / s. Generally, we note “Ci@Nj” the content number i with the quality j (for example the j-th level Nj of quality described in the description file).
[0065] In this example, to view content, the playback device STB playback device, meaning the HAS download module, first queries, via the GTW service gateway, the nCDN(tk) processing entity to obtain an IP address of the content description file on the network. In the following, it will be assumed that this file is a description file type file according to the MPEG-DASH standard.
[0066] A description file includes information on the segments and the available encoding rates. Such a file includes, for example, for each segment several different qualities (NI = 400 kb / s, N2 = 800 kb / s, N3 = 1200 kb / s, ...) and the access addresses of the segments in question. Once the STB playback device has the segment addresses corresponding to the desired content, the STB playback device downloads the segments one after the other. It should be noted that this download is traditionally carried out here via an HTTP URL, but could also be carried out via a universal address (URI) describing another protocol (dvb: / / mycontentsegment for example).
[0067] Then, the STB reading device decoder, meaning the HAS module, receives the segments, then decodes them, and requests a reproduction on the TV screen.
[0068] It will be noted that the content is arbitrary. The content is, for example, a television program broadcast on a delayed basis, or a video on demand, or a personal video of the user, or any other multimedia content, for which the invention also applies.
[0069] The STB playback device can be controlled by the user by means of a remote control. The remote control can be physical or software.
[0070] According to the invention, a preliminary step is executed during which a management entity ENT determines the location of the processing in the local network.
[0071] Unlike the prior art in which the entity is stored in the home gateway once and for all, in the invention, the location of the entity varies over time; the entity can be stored on a device of the local network of choice.
[0072] It will be seen that the device is chosen according to the performance of the physical and / software resources for carrying out the data processing.
[0073] The steps of an embodiment are described below with reference to [Fig.5]. In this figure, axes corresponding to 1) the SMC multicast servers, 2) the GTW gateway including the ENT management entity, 3) a set of data processing devices, namely the STB reading device including the HAS download module, PC computer and mobile terminal.
[0074] A time axis “t” makes it possible to represent the direction of execution of the steps.
[0075] In this [Fig.5], arrowed links are illustrated between the axes in order to illustrate message exchanges between the different devices.
[0076] In our example, we assume that the processing entity nCDN(tl) at the current time tl is recorded in the memory of the GTW gateway.
[0077] During a step ET1, the management entity ENT receives data representative of physical and / or software resources from all or part of the data processing devices of the local area network LAN including the gateway GTW itself. This step ET1 can be carried out either spontaneously by the data processing devices or at the request of the management entity ENT.
[0078] During a step ET2, in our example, the management entity ENT is interested in a particular physical resource, namely the volatile RAM type memory of the different devices, more particularly in the size in bytes of these memories. The invention is not limited to this resource but extends to other resources; for example, other resources can be taken into account, namely the power of the processor, the communication links available to the data processing devices, for example allowing the reception of a data flow from the network RES, etc.
[0079] During a step ET3, the entity ENT classifies the data processing devices STB / PC / MOB reading device, or part of them, according to the sizes of the respective RAM memories and retains in our example the processing device having the largest size in RAM memory bytes.
[0080] It is assumed that the selected device is the PC computer.
[0081] During a step ET4, at a time t2, the management entity ENT requests the downloading of the processing entity nCDN from the gateway GTW to the selected device PC. The processing entity is referenced nCDN(t2) in [Fig.5].
[0082] During a step ET5, the management entity ENT having the IP address available in the LAN of the PC computer designates this IP address and transmits this IP address to the HAS client installed in the reading device STB.
[0083] In our example, the PC computer having a Wi-Fi connection is able to communicate directly with the STB reading device.
[0084] Note that in the case where the selected device cannot communicate directly with the STB playback device, the selected device communicates with the STB playback device via the home gateway. GTW.
[0085] In our example, at this stage, the PC computer can transmit, after processing by the processing entity ENT(t2), segments to the STB reading device in Unicast mode.
[0086] It is then assumed that the STB reading device transmits a request for access to content. This request is transmitted during a step ET6 to the PC computer equipped with the nCDN(t2) processing entity.
[0087] The nCDN(t2) entity, installed on the PC computer, then requests, during a step ET7, access to the content from a multicast server SRV chosen in our example based on a quality entered in the request from the STB playback device. The request passes through the home gateway in our example.
[0088] The home gateway GTW receives in return, during a step ET8, a data flow which it routes to the PC computer so that the processing agent nCDN(t2) can process the received data flow.
[0089] The processing entity nCDN(t2) then receives IP data packets from the GTW gateway. After reception, the processing entity nCDN(t2) performs processing via its processor in a step ET9. The processing is known to those skilled in the art and will not be described further because it is of no interest to the disclosure of the invention. Let us simply recall that the received IP packets are divided into content segments; the segments are then transmitted in a step ET10 successively to the reading device STB.
[0090] At this stage the STB playback device can read and receive the segments, decode them and request playback on the TV playback device.
[0091] The capacities of the devices of the local network vary over time, the management entity ENT repeats steps ET1 to ET3. Once the new classification is obtained, the management entity ENT moves the processing location. For example, in [Fig.5], the processing entity is moved at a time t3 to the mobile terminal MOB. At that time, steps ET4 to ET10 described above are carried out in the mobile terminal MOB instead of the PC computer.
[0092] In [Fig. 1], the movement of the processing location is illustrated by means of a discontinuous curved arrow; a first curved arrow to illustrate a first movement of the processing entity (nCDN(t1)->nCDN(t2)) and a second curved arrow to illustrate a second movement of the processing entity (nCDN(t2)->nCDN(t3)). These movements of the processing location clearly show that the location of the processing entity evolves over time overall in order to best process the data stream received from the RES network.
[0093] The embodiment described above may be subject to variations including those described below.
[0094] According to a variant, the location of the nCDN(tk) processing entity can be determined after each request for access to content from the STB playback device. The location can therefore vary very often over time.
[0095] We have seen previously in our example of realization that the capacities of processing include a volatile memory size. In addition, according to a variant, the ENT management entity also takes into account the encoding rate associated with the received stream. Indeed, as the encoding rate varies over time, the RAM memory requirements during processing of the data stream also vary. The number of data processing devices suitable for processing can therefore increase depending on the current encoding rate.
[0096] We have seen previously that the GTW home gateway routes the data flow to the chosen processing device, in the example the PC computer. Alternatively, the data processing device is chosen according to its ability to receive the data flow from a communication network. This mode allows access to the content if the gateway is unavailable; in this case the selected device accesses the flow instead of the gateway.
[0097] According to another variant, the processing entity nCDN(tk) can be moved in the local network. When the management entity ENT designates a device for processing, the processing entity nCDN(tk) is transmitted to the designated device, for example from the home gateway GTW.
[0098] According to another variant, nCDN(tk) processing entities are stored on the data processing devices of the local network and can be activated on demand. This variant avoids a step of transmitting the nCDN(tk) processing entity.
[0099] Finally, let us specify here that the term “entity” can correspond to a software component as well as to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or sub-programs or, more generally, to any element of a program capable of implementing a function or a set of functions as described for the modules concerned. In the same way, a hardware component corresponds to any element of a hardware assembly capable of implementing a function or a set of functions for the module concerned (integrated circuit, smart card, memory card, etc.).
Claims
Claims
1. Method for managing the processing of a data flow by a processing entity (nCDN(tk)) in a local network comprising a set of data processing devices (STB, PC, MOB), characterized in that the location of the processing entity (nCDN(tk)) evolves over time in the set.
2. Management method according to claim 1, characterized in that the location of the processing is chosen according to the processing capacities of the processing devices.
3. Management method according to claim 2, characterized in that the choice is made by comparing processing capacities of devices of the local network and by selecting a device at the base of the comparison.
4. Management method according to claim 2, characterized in that the processing capabilities include a volatile memory size.
5. Management method according to claim 4, characterized in that the processing entity is capable of processing a data stream associated with an encoding rate, and in that the choice of the installation location of the entity further depends on said encoding rate of the stream to be processed.
6. Management method according to claim 1, characterized in that the local network comprises a home gateway and in that the gateway routes the data flow to the processing location.
7. Management method according to claim 1, characterized in that the data processing device is capable of receiving the data stream from a communication network.
8. Entity for managing the processing of a data flow in a local network comprising a set of data processing devices (STB, PC, MOB), characterized in that it comprises a processor capable of requesting a move of the processing location in said set.
9. Reading device (STB) comprising a management entity (ENT) as defined in claim 8.
10. Computer program capable of being implemented on a management entity (ENT) as defined in claim 9, the program comprising code instructions which, when executed by a processor, performs the steps of the method defined in claim i
11. 1. Data carrier on which at least one series has been stored of program code instructions for executing a method according to claim 1.