method for managing the reading of multimedia content.

By dynamically managing function availability based on processor load and content type, the method addresses CPU overload in multimedia playback devices, ensuring stable and high-quality content reproduction.

FR3150386A1Pending Publication Date: 2024-12-27ORANGE SA
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
FR2023006356
Authority / Receiving Office
FR · FR
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-20
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

Current multimedia content playback devices experience CPU overload due to excessive processor resource consumption from various functions, leading to issues like pixelation, slowdowns, or interruptions in content reproduction, especially when multiple functions are active simultaneously.

Method used

A method and entity for managing multimedia content playback by varying the availability of functions over time based on processor load, content type, and execution context, including activation and deactivation of functions to control processor resource consumption.

Benefits of technology

This approach reduces CPU load, ensuring smooth content reproduction by selectively enabling or disabling functions, preventing degradation and maintaining user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

TITLE: Method for managing the playback of multimedia content. The invention relates to a method for managing the playback of multimedia content by a playback device equipped with a processor and a content reader (CLR) comprising several playback functions (AX, PL, PS), characterized in that the available playback functions of the reader vary over time (Figure 3).
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: method for managing the playback of multimedia content. 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 in particular to a method for managing the reading of multimedia content by a reading device.

[0003] A reading device is intended in particular for any device capable of receiving a multimedia stream, in particular in the form of segments, for example a decoder, a mobile telephone, a tablet, etc., and of reading the stream received with a view to restitution.

[0004] 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

[0005] Today there are numerous audiovisual content playback devices allowing a user to access multimedia content (television programs, video on demand VOD (English acronym for "Video On Demand"), television on demand TVOD (English acronym for "Transactional Video on Demand"), etc.).

[0006] Current reading devices include one or more reading modules, also called readers hereinafter, capable of receiving digital content in the form of multimedia data and of requesting playback on a playback device.

[0007] There are several types of content players offering, via a menu displayed on a screen, functions linked to reading such as a display of a reading progress bar, commands such as the commands "Play", "Pause", "fast rewind" (symbol "), "fast forward" (symbol "), etc.) presented on a Human-Machine interface in the form of a menu. Due to the diversity of functions, and the respective consumption of processor resources by the functions, a content player consumes more or less processor resources at a given time (we will also talk about CPU load in the following).

[0008] Depending on the type of content to be played and the type of player, it may happen that the CPU load is excessive. For example, at a given time, if the player has a menu with many functions in use such as a progress bar, a fast forward command being executed associated with a playback thumbnails extracted from the content being played, thumbnails which evolve over time to indicate a progress status of the fast playback; all these functions in use consume processor resources and can therefore generate a CPU overload; and, if in addition the content being played is rendered in the background simultaneously with the menu, thus adding an additional CPU load dedicated to the rendering of this video in the background, this results in a CPU load which can sometimes approach 90%. This overconsumption results in problems of rendering of the content (pixelation, slowdowns) or even a cut in the rendering which is not at all acceptable in terms of quality of service.

[0009] The invention improves the situation.

[0010] The invention

[0011] To this end, according to a functional aspect, the invention relates to a method for managing the reading of multimedia content by a reading device equipped with a processor and a content reader comprising several reading functions, characterized in that the reading functions available from the reader vary over time.

[0012] According to the invention, the configuration of the reader varies over time. This possibility of making available or unavailable functions that consume more or less processor resources makes it possible to control the consumption of the processor resource and therefore to avoid overloading this resource.

[0013] Note that an available function targets data representing information and / or an executable command. As we will see later, information is for example a display of a progress bar for the reading of content; a command is for example a command for reading, pausing, rewinding, etc.

[0014] According to a first embodiment, a reading function being able to be rendered on a rendering device, only one available function is rendered on the screen. This first mode makes it possible to reduce the number of functions rendered on the screen to those which are available, thus facilitating, due to the reduction in the number of functions, the selection of a function on a screen by a user.

[0015] According to a second embodiment, which may be implemented alternatively or cumulatively with the previous one, the functions are rendered independently of their respective availability; and the unavailable functions are inhibited from selection. For example, when the function is information rendered on a screen, it remains fixed on the screen; for example in the case of a progress bar displayed on a screen, the latter no longer indicates the progress of the reading; when the function is a command capable of being selected on the screen, the latter, although rendered, cannot be selected and executed.

[0016] According to a third embodiment, which may be implemented alternatively or cumulatively with the previous ones, the availability of a function depends on a type of content to be played. This simple mode simply identifies the type of content (content broadcast in real time, video on demand, etc.) and selects the available functions, for example a player offering controls adapted to the content to be played; if the content is on-demand content, the available functions selected will be adapted to this type of content, namely a rewind or forward function, pause, etc.

[0017] According to a fourth embodiment, which may be implemented alternatively or cumulatively with the previous ones, the availability of a function depends on an execution context linked to the reading of the content.

[0018] According to a first variant of this fourth mode, the execution context includes a display of a menu including functions on a screen in addition to the content being rendered. Here, the menu including the functions and the content are rendered simultaneously. Such a configuration results in a CPU load that is sometimes too high. Thanks to this variant, when there is simultaneous rendering of a menu and content, functions are automatically made unavailable in order to free up processor resources and thus ensure rendering of the content without degradation.

[0019] According to a second variant of this fourth mode, the execution context is linked to a current quantity of use of the processor resource. In this mode, a given CPU load can be the cause of triggering availability or unavailability of functions. For example, if a maximum CPU load is set at 80% (the quantity could be expressed in a unit other than a percentage), if the current quantity is at 85%, certain functions are made unavailable in order to anticipate a CPU overload problem.

[0020] Having several functions available, each consuming more or less processor resources, this fourth mode and the associated variants make it possible to reduce the CPU load, thus ensuring content restitution without degradation.

[0021] According to a fifth embodiment, which may be implemented alternatively or cumulatively with the previous ones, a function is available following activation of the function. According to this embodiment, the availability of a function is based on a reader instantiation.

[0022] According to a sixth embodiment, which may be implemented alternatively or cumulatively with the previous ones, the functions are activated or deactivated successively until a given amount of use of the processor resource is obtained. The availability is based on a principle that is simple to implement which consists of activating or deactivating the functions one after the other and checking whether the CPU load reaches a given value as; as soon as the given CPU load value is reached, the management entity stops activating or deactivating functions. This mode avoid activating or deactivating several functions in bulk which would result in the unavailability of functions which could be useful.

[0023] According to a variant of the sixth embodiment, the functions are classified according to their respective consumption of processor resources; successive activations or deactivations are carried out according to this classification until a given quantity of use of the processor resource is obtained. In this sixth mode, the consumption of processor resources is estimated beforehand and classified hierarchically and then serves the activations or deactivations. This mode aims to reduce the consumption of the processor resource so that it is available for computing tasks other than the current reading.

[0024] According to a variant of the sixth embodiment, the functions are classified by preference; successive activations or deactivations are carried out according to the classification. This mode makes it possible, when the processor resource is too busy, to deactivate functions by following an order of preference, for example by starting with the least preferred function. It is understood that despite a reduction in functions, the functions which will remain available will be functions classified among the most preferred. Conversely, if the number of functions increases, one selects according to the order of preference, therefore for example first a preferred function.

[0025] According to a hardware aspect, the invention relates to an entity for managing the reading of multimedia content by a reading device equipped with a processor and a content reader comprising several reading functions, characterized in that the processor is configured to vary the available reading functions of the reader over time.

[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 than an electrical or optical signal, which can 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 can 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 on reading the following description, given by way of example and with reference to the appended drawings in which:

[0033] [Fig-1] [Fig.l] represents a computer system on which is illustrated a exemplary embodiment of the invention.

[0034] [Fig.2] [Fig.2] is a simplified block diagram of the hardware structure of the reading device device

[0035] [Fig.3] [Fig.3] illustrates an embodiment in which the available functions are a function of the processor load; this figure shows two states of the player at two distinct times.

[0036] Detailed description of an exemplary embodiment illustrating the invention:

[0037] With reference to [Fig.l], the computer system SYS comprises a multimedia stream playback device STB, for example a decoder connected to a TV playback device. It should be noted here that the STB decoder playback device and the playback device can form a single piece of equipment.

[0038] In our example, the STB playback device is connected to a port of the TV playback device via a wired LU connection of the HDMI type. This connection could very well be wireless, via Wi-Fi for example.

[0039] In our example, the STB playback device is located in a LAN managed by a GTW home gateway.

[0040] In [Fig.l], the connection between the STB reading device and the gateway is referenced LI2.

[0041] The GTW gateway is capable of communicating via a telecommunications network RES such as a wide area network WAN known to those skilled in the art.

[0042] A digital content server SRV is located in our example in the wide area network RES. The content server SRV receives, for example, digital television content channels CNTL, called "Live" content by those skilled in the art, from a broadcast television network (not shown), and / or videos on demand TVOD, and makes them available to client terminals, here the STB playback device.

[0043] In our example, the STB reading device is a client. It is common, in this client-server context, to use, to exchange data between the client terminal STB and the SRV content server, to an adaptive progressive download technique, in English "adaptive streaming", abbreviated to HAS based on the HTTP protocol. This type of technique makes it possible in particular to offer good quality content to the user by taking into account the bandwidth variations that may occur on the link between the STB client terminal and the GTW service gateway, and / or between the GTW gateway and the SRV content server.

[0044] [Fig.2] represents an architecture of an STB reading device. This STB device conventionally comprises MEM memories associated with a CPU processor. The memories can be of the ROM (Read Only Memory) or RAM (Random Access Memory) type or even Flash.

[0045] The STB decoder includes a buffer memory also called cache memory or “buffer” by those skilled in the art.

[0046] The STB decoder can transmit content to be rendered to the TV rendering device via a COM2 communication module. This COM2 module is for example an HDMI link.

[0047] The STB decoder communicates with the gateway via an Ethernet module for local wired communication or via a WiFi type radio module for local wireless communication. The module in question is referenced COM1 in [Fig.2].

[0048] In our example, the STB playback device comprises a download module capable of managing the download in adaptive streaming mode and therefore capable of requesting a progressive download of one of the contents at one of the qualities proposed in a description file. The description file can be downloaded and recorded for example in the MEM memory of the STB decoder or be located outside the STB decoder.

[0049] Conventionally, as will be seen with reference to [Fig. 3], 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 temporal segments (or "chunks" of content, in English "chunks", these three words being used interchangeably throughout this document).

[0050] In our example, the SYS system further comprises an encoder and a description file generator, also not shown because they are of no interest to the description of the invention. The role of the encoder is to encode digital content in order to obtain several segments and several representations for each segment.

[0051] We will not go into further details of the adaptive streaming download technique because it is of no interest to the presentation of the invention.

[0052] Let us also specify here that the invention is not limited to the download mode in adaptive streaming mode; other modes can be used for the implementation of the invention such as the IPTV mode (acronym for “Internet Protocol TeleVision”) which uses Internet technology to broadcast television programs.

[0053] The STB reading device further comprises an ENT management entity, the subject of the invention, the function of which will be explained below.

[0054] In our example, the adaptive streaming mode download module is included in the ENT management entity.

[0055] The STB playback device also includes an LCT player capable of displaying a menu including functions such as the "Play" command, the rewind (symbol ") command, the "Pause" command, etc.

[0056] The STB decoder may also include other modules such as a hard disk (not shown) for storing video segments, etc.

[0057] In our example, the playback device STB can communicate with the content server SRV to receive segments of content (films, documentaries, advertising sequences, etc.).

[0058] The ENT management entity comprises an LCT reading module, called a reader in this text, which has the function of reading content received by the STB reading device. In our example, the LCT reader receives segments, decodes them and requests a restitution of the decoded segments.

[0059] The LCT player in question includes a menu with several functions related to reading. In our example, some functions have an influence on reading; other informative functions have no influence on reading, for example a progress bar informing about the progress of reading.

[0060] A function having an influence on reading targets, for example, commands such as a command to read content, a rewind command (often symbolized by "), a fast-forward command ("), a command to stop reading, etc. A function does not only target commands but also targets, for example, information displayed on the screen such as the current time, a progress bar representing a progress status of the reading of the current content, etc.

[0061] All of these functions consume processor resources when executed.

[0062] According to the invention, in order to best anticipate the consumption of this resource, the reading device, meaning the management entity ENT, manages the availability of the functions over time. In other words, the reading functions available at a given time vary over time. In this way, when one or more functions become unavailable, for example, these are no longer executable in the case of a command-type function.

[0063] In our example, availability management is carried out by activating or deactivating functions. The possibility of activating a function linked to the reading of a content makes it possible to instantiate the LCT player at will and at any time, that is to say before the reading of a content or during the reading of the content.

[0064] [Fig.3] illustrates a view of an evolution over time of the available functions of the LCT reader.

[0065] Two instants t1 and t2 are represented in this [Fig.3], to which correspond respective functional states of the LCT reader.

[0066] In our example, at time tl, the LCT reader displays a menu MEN displaying as a function simply a time axis AX showing the reading progress status. This axis is an informative function.

[0067] In our example, at another time t2, the LCT detector activates other functions and displays the resulting menu showing several activated functions, namely

[0068] - a time axis AX as for the first reader and other functions executed cuttable, namely:

[0069] - a PL key to start playback if it has stopped;

[0070] - a PS pause key;

[0071] - a fast forward / rewind AR / RR key

[0072] - a display of an image associated with the current reading time.

[0073] In our example, we assume that the more functions the menu has activated, the higher the CPU load.

[0074] According to the invention, the management entity ENT manages the selection of the functions to be activated or deactivated of the LCT reader.

[0075] The choice of functions to use will depend on an execution context linked to the reading, for example the load of the processor resource, and / or a type of content to read. For example, if the current processor load is greater than 80%, only the AX axis is rendered; if the load is less than 80%, all functions are activated and are therefore available.

[0076] The steps may be as follows:

[0077] In a first step, the STB playback device requires access to Live content, for example in adaptive streaming mode as indicated above.

[0078] In our example, during a second step, an ENT entity determines the type of content and selects functions adapted to reading this type of content.

[0079] The determination of the menu and therefore the functions to be activated or deactivated can be carried out by consulting a BDD database. In our example, the BDD database indicates the functions to be activated and deactivated depending on the quantity CPU usage and the type of content to be played.

[0080] We will see later that activation and deactivation can be carried out - by function group; in other words, several functions are activated or deactivated at the same time. - or function by function one after the other until reaching a desired CPU load.

[0081] The possible functions for TVOD on-demand content are considered to be functions F1-F3. Let us assume that functions F1 to F3 are as follows:

[0082] A first function Fl corresponds to the time axis AX as for the first reader and other functions namely:

[0083] A second function F2 corresponds to the PS pause key;

[0084] A third function F3 corresponds to the fast return key RR

[0085] In our example, the BDD database includes the following values: CPU / Type (Fn) <80% > 80% TVOD (F1,F2,F3) F1,F2,F3 Fl

[0086] indicating that:

[0087] if the CPU load is less than 80% and the content is on-demand television content, all functions Fl to F3 are available;

[0088] if the CPU load is greater than or equal to 80% and the content is on-demand TV content, only the Fl function is available.

[0089] According to a first embodiment, as indicated previously, the functions are activated / deactivated by group of functions.

[0090] During a third step, the ENT management entity identifies the type of content selected CNTL, in our example on-demand content of the TVOD type.

[0091] Then, during a fourth step, the management entity ENT obtains the CPU load at a time t. Let us assume that the CPU load is 85% at this time; in this case, the management entity ENT detects that the CPU load is greater than the maximum 80% load and activates the function Fl only. At this stage, a user cannot act on the reading, for example by accelerating the reading, the associated function F3 being deactivated.

[0092] Note that instead of the processor utilization rate, the ENT entity can rely on other data such as the encoding rate of the segments received to determine the functions to activate and / or deactivate. Indeed, most of the time, the processor resource consumption varies linearly with the encoding rate.

[0093] In our example, the ENT entity checks the CPU processor load very often, for example periodically every second.

[0094] It is assumed that at a given time t later, during a fifth step, the entity of ENT management detects that the CPU load drops to 40%. The ENT management entity checks the database to see which functions should be enabled or disabled with a 40% load. Given the current reader configuration, with the Fl function enabled, the ENT management entity activates the F2 and F3 function groups. At this point, functions F1-D3 are enabled.

[0095] As indicated previously, activation and deactivation can also be carried out function by function. For example, functions F1 to F3 are activated or deactivated one after the other until a desired CPU load is obtained.

[0096] Also, according to a variant, the functions Fn (n=1,2,3) in the database can be classified beforehand according to their respective consumption in processor resources when they are executed. The respective consumptions can be obtained during tests carried out beforehand. In this way, when functions must be activated or deactivated one after the other, the successive activations / deactivations are carried out while respecting the established classification.

[0097] For example, assuming that, using the preceding example, function F3, once executed, consumes more than function F2, which itself consumes more than function F1 when executed. In this configuration, when the CPU load is greater than 80%, the management entity ENT begins by deactivating the function that would consume the most processor resources and obtains a given CPU load after deactivation.

[0098] Two cases arise following deactivation:

[0099] Either the CPU load drops to less than 80%; in this case, the process stops at that point. At this point, functions F1 and F2 are activated and function F3 is deactivated.

[0100] Either the CPU load is still greater than 80%; in this case, the management entity ENT continues the deactivation and deactivates the second function F2 in order to reduce the CPU load. It is assumed that the CPU load resulting from this deactivation drops to 45% below the set threshold of 80%; in this case, the method stops at this point. At this stage, the function Fl is the only activated function.

[0101] Also, the activation or deactivation of a function can take several forms.

[0102] According to a variant, an available function, therefore activated, is restored on a interface and a disabled function is not rendered. This variant reduces the number of functions rendered on a screen; the user experience can only be better.

[0103] According to another variant, an activated function is rendered on an interface, and a deactivated function is rendered and inhibited on the interface. This variant is interesting in that it presents, despite the deactivations, the deactivated functions; a user viewing the interface frustrated by not being able to access all the functions can act on the CPU load by stopping programs currently running. on the STB playback device and thus increase the number of available functions.

[0104] Finally, note that the embodiments described above are based on a CPU load. However, other resources can be taken into consideration such as the battery resource.

[0105] Finally, let us specify here that the term “module” or 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 playback of multimedia content by a playback device (STB) equipped with a processor (CPU) and a content player (LCT) comprising several playback functions (AX, PL, PS), characterized in that the available playback functions of the player vary over time.

2. Management method according to claim 1, characterized in that a reading function is capable of being rendered on a rendering device, and in that only one available function is rendered on the screen.

3. Management method according to claim 1, characterized in that the functions are restored independently of their respective availability, and in that the unavailable functions are inhibited from selection.

4. Management method according to claim 1, characterized in that the availability of a function depends on a type of content to be read.

5. Management method according to claim 1, characterized in that the availability of a function is a function of a current quantity of use of the processor resource.

6. Management method according to claim 1, characterized in that a function is available following activation of the function.

7. Management method according to claim 6, characterized in that the functions are activated or deactivated successively until a given quantity of use of the processor resource is obtained.

8. Management method according to claim 7, characterized in that the functions are classified according to their respective consumption of processor resources and in that the successive activations or deactivations are carried out according to the classification.

9. Management method according to one of claims 7 or 8, characterized in that the functions are classified by preference, and in that the successive activations or deactivations are carried out according to the classification.

10. Management entity (ENT) for the reading of multimedia content by a reading device equipped with a processor and a content player comprising several reading functions, characterized in that the processor is configured to vary the reading functions available to the player over time.

11. Decoder (STB) comprising a management entity (ENT) such that defined in claim 10.

12. Computer program capable of being implemented on a management entity (ENT) as defined in claim 10, the program comprising code instructions which, when executed by a processor, performs the steps of the method defined in claim i

13. 1. Data carrier on which at least one series of program code instructions for executing a method according to claim 1 has been stored.

Citation Information

Patent Citations

  • File and content management

    EP1286351A2

  • Modularly activated cloud-DVR storage

    US10419806B1

  • Indication of Trickplay Availability for Selected Multimedia Stream

    US20090269025A1