Brevet FR3159487A1 — publié le 20250822

TITRE : Procédé de gestion de la lecture en différée d’un contenu ayant été diffusé en temps réel. L’invention se rapporte à un procédé de gestion du stockage de parties de plusieurs contenus télévisés ayant été diffusés sur différents canaux de diffusion , le stockage des parties ayant été diffusées étant réalisé sur des plages temporelles précédant l’instant courant de diffusion, caractérisé en ce que les plages temporelles sont définies en fonction d’une donnée, dite donnée thématique, liée aux contenus diffusés sur les canaux, respectivement. Figure pour l'abrégé : Figure 4 Procédé de gestion de l’accès à des contenus ayant été diffusés en temps réel. Le domaine de l'invention est celui de la gestion du stockage d’un contenu en cours de diffusion en vue d’une lecture en différée par un dispositif de lecture. Le dispositif de lecture vise tous les dispositifs de traitement de données équipés de processeurs capables de recevoir et de lire ou relire un contenu diffusé depuis un serveur de contenus. Un tel dispositif de lecture est par exemple un décodeur de télévision numérique. Le contenu visé ici est un contenu multimédia. Ce contenu est par exemple un contenu télévisé. Etat de la technique Lors d’un accès à un contenu multimédia, un dispositif de lecture émet une requête à destination d’un serveur de contenus en indiquant un contenu multimédia (vidéo et/ou audio) choisi. Le dispositif de lecture reçoit en retour un flux de données numériques relatif à ce contenu. Les données reçues sont ensuite décodées par le dispositif de lecture, puis restituées sous la forme d’un affichage de lu contenu multimédia correspondant. Le serveur de contenus peut transmettre un contenu de plusieurs manières à savoir en mode multicast (par exemple IPTV), en mode unicast, etc. Après réception du contenu, le dispositif de lecture décode le contenu et requiert une restitution sur un dispositif de restitution. Une diffusion d’un contenu vidéo « En Direct » en HTPT Adaptive Streaming (HAS) permet de diffuser une vidéo en mode OTT en proposant la meilleure qualité possible à l’utilisateur en fonction de la bande passante disponible sur le réseau. Cette diffusion s’appuie sur un échange d’un fichier de description (aussi appelé « manifest » par l’homme du métier) entre un serveur de diffusion de contenu HAS et un dispositif de lecture client. Ce fichier de description décrit (sous forme d’URLs), pour des flux Live, les derniers segments vidéo qui ont été produits. Ces segments ont généralement tous une durée identique (par exemple 2 secondes). Outre la lecture de contenus, certains dispositifs de lecture offrent une fonction appelée « Start Over » par l’homme du métier (ou « rattrapage » ou « lire depuis le début ») qui permet à un utilisateur, par exemple lorsqu’il regarde un contenu diffusé en temps réel (chaîne diffusée en « Live »), de relire en différé une partie du contenu qui a été diffusé en Live ; cette fonction permet notamment de relire un contenu depuis un instant souhaité, par exemple depuis son début. Par exemple, si un film diffusé en temps réel débute à 21h00 et que l’utilisateur accède au flux Live correspondant en zappant sur la chaine à 21h40, l’utilisateur peut demander, en sélectionnant une commande liée à la fonction dite de rattrapage, à ce que la lecture du contenu reprenne par exemple depuis un instant souhaité par exemple 21h15, voire depuis le début du film à savoir 21h. Dans ce cas, on passe d’un mode de lecture en temps réel à un mode de lecture en différée. Afin de permettre à un utilisateur de revenir sur des émissions diffusées depuis plusieurs heures, les fichiers de description qui sont transmis successivement depuis le serveur décrivent non seulement les derniers segments audio/vidéo produits correspondant au direct mais aussi tous les segments enregistrés depuis plusieurs heures (quatre heures par exemple) et accessibles en mode startover. On constate alors une augmentation très significative de la taille du fichier de description passant d’une taille de l’ordre de 12ko (description de 30 segments de 2 secondes) pour du « direct » à une taille de l’ordre de 2.8Mo (description de 7200 segments de 2 secondes) pour 4 heures de description. Cette augmentation de la taille du fichier de description nécessite une consommation de bande passante qui devient non négligeable surtout pour les utilisateurs en ADSL et également des temps de parsing importants qui peuvent pénaliser la fluidité de l’interface graphique. Un autre problème lié au mode « startover » est que certains contenus stockés n’intéressent pas l’utilisateur. Ces contenus occupent donc de l’espace mémoire inutilement. L’invention vient améliorer la situation. L’invention A cet effet, selon un aspect fonctionnel, l’invention se rapporte à un procédé de gestion du stockage de parties de plusieurs contenus télévisés ayant été diffusés sur différents canaux de diffusion , le stockage des parties ayant été diffusées étant réalisé sur des plages temporelles précédant l’instant courant de diffusion, caractérisé en ce que les plages temporelles sont définies en fonction d’une donnée, dite donnée thématique, liée aux contenus diffusés sur les canaux, respectivement. Contrairement à l’état de la technique dans lequel les plages temporelles ont une durée identique et fixe sur tous les canaux de diffusion, selon l’invention, les durées des plages temporelles sont définies canal par canal. En d’autres mots, l’invention permet d’adapter les durées des plages temporelles différemment sur chaque canal de diffusion. Par exemple, si un canal de diffusion (sous-entendu la chaîne de télévision diffusée sur ce canal) est très peu sélectionné voire n’est jamais sélectionné, l’entité réduira cette plage temporelle à une plage minimale. A l’inverse si un canal de diffusion est souvent consulté, la plage temporelle choisie est maximale. Selon un mode de réalisation, le procédé comprend une étape d’obtention d’une donnée, dite donnée de préférence, représentative d’une préférence thématique ; les plages temporelles sont alors définies en fonction d’une correspondance entre la donnée thématique et la donnée de préférence. Dans ce mode, les durées des plages sont choisies en prenant en compte des préférences définies pour un utilisateur. Les canaux préférés sont alors associés par exemple à de grandes plages temporelles. Plusieurs niveaux de préférence peuvent être définies et plusieurs durées de plages temporelles associés à ces niveaux, respectivement. Selon une variante du précédent mode, la donnée de préférence est obtenue en analysant un historique d’accès à des contenus par le dispositif de lecture. Cette variante permet d’automatiser l’obtention de la donnée de préférence en se basant sur des accès passés du dispositif de lecture à des contenus. Selon un autre mode qui pourra être mis en œuvre alternativement ou cumulativement avec le précédent mode, la donnée thématique correspond à un thème associé au canal de diffusion. Certaines chaînes télévisées sont spécialisées et associées à un thème particulier comme l’actualité, le sport etc. Il est donc aisé d’utiliser cette information de thème et les préférences de l’utilisateur pour fixer la plage temporelle. Selon un autre mode qui pourra être mis en œuvre alternativement ou cumulativement avec les précédents, la donnée de préférence varie en fonction du temps. Ce mode permet de modifier la profondeur d’une plage temporelle sur un canal donné au cours d’une journée. En effet, un utilisateur préfèrera consulter une chaîne télévisée dont le thème est l’actualité plutôt le matin ; ce même utilisateur préfèrera consulter une chaîne diffusant de la musique plutôt le soir. Ce mode s’adapte au plus près des habitudes des utilisateurs. L’expérience client ne peut être qu’améliorée. Selon un autre mode qui pourra être mis en œuvre alternativement ou cumulativement avec les précédents, la plage temporelle est limitée à une valeur maximale. Ce mode permet de limiter l’espace mémoire occupé par le stockage des parties de contenus ayant été diffusés. Selon un autre mode qui pourra être mis en œuvre alternativement ou cumulativement avec les précédents, la somme des plages temporelles associées à tout ou partie des canaux de diffusion est inférieure à une valeur donnée. Ce mode complète le précédent mode de réalisation en limitant d’une manière globale le stockage associé à l’ensemble des canaux de diffusion. Selon un premier aspect matériel, l’invention se rapporte à une entité de gestion du stockage de parties de plusieurs contenus télévisés ayant été diffusés sur différents canaux de diffusion , le stockage des parties ayant été diffusées étant réalisé sur des plages temporelles précédant l’instant courant de diffusion, caractérisé en ce que l’entité comprend un processeur configuré pour définir les plages temporelles en fonction d’une donnée, dite donnée thématique, liée aux contenus diffusés sur les canaux, respectivement. Selon un autre aspect matériel, l’invention se rapporte à un dispositif de lecture comprenant une entité de gestion telle que définie ci-dessus. Selon un autre aspect matériel, l’invention a pour objet un programme d'ordinateur apte à être mis en œuvre sur une entité de gestion telle que définie ci-dessus, le programme comprenant des instructions de code qui, lorsqu’il est exécuté par un processeur, réalise les étapes du procédé de gestion définies ci-dessus. Selon un autre aspect matériel, l’invention a pour objet un support de données sur lequel a été mémorisée au moins une série d’instructions de code de programme pour l’exécution d’un procédé de gestion tel que défini ci-dessus. Le support visé ci-dessus peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, un support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple un disque dur. D'autre part, un support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. L'invention sera mieux comprise à la lecture de la description qui suit, donnée à titre d'exemple et faite en référence aux dessins annexés sur lesquels : FIG. 1 représente un système informatique dans lequel l’invention peut être mise en œuvre. FIG. 2 illustre de façon schématique la structure matérielle d’un serveur apte à transmettre des fichiers de description ; FIG. 3 illustre de façon schématique la structure matérielle d’un dispositif de lecture apte à lire des flux multimédias en temps réel ; FIG. 4 illustre un mode de réalisation du procédé de l’invention. Cette figure est un grossissement d’une partie de la FIG. 1 illustrant la gestion du stockage des contenus au niveau du serveur au fil de leurs diffusions respectives ; l’entité gère le stockage des contenus suite à leurs diffusions afin de permettre une lecture en différée ; cette figure illustre deux états de stockage à deux instants différents dans le temps afin de mettre en avant la l’évolution des durées des plages temporelles associées aux canaux de diffusion respectivement au cours du temps. Description détaillée de modes de réalisation de l'invention La FIG. 1 représente un système informatique SYS dans lequel est mis en œuvre un réseau de diffusion de contenus appelé CDN (Content Distribution Network) par l’homme du métier depuis lequel sont transmis des contenus à destination de dispositifs clients, ici des dispositifs de lecture de contenus, et des fichiers de description associés aux contenus multimédias. Le serveur de diffusion de contenus, appelé dans le présent texte, serveur de contenus diffuse sur plusieurs canaux de diffusion associés à des chaînes de télévision. Dans notre exemple, à des fins de simplification de l’exposé, le système SYS comprend un seul dispositif de lecture STB. Cependant l’invention s’applique à un nombre quelconque de dispositifs de lecture, le principe de l’invention pouvant être mis en œuvre sur tout ou partie des dispositifs de lecture STB. Le dispositif de lecture est par exemple un dispositif de lecture numérique tel qu’un décodeur. Le contenu multimédia visé ici est un contenu vidéo d’une chaîne de télévision. Ce contenu est diffusé depuis un serveur qui diffuse des programmes télévisés dits Live, c’est-à-dire diffusés en temps réel. Dans notre exemple, le dispositif de lecture STB est connecté à un terminal de restitution TV tel qu’une télévision. Le dispositif peut transmettre des données à restituer au dispositif de restitution TV. Dans notre exemple, le dispositif de lecture STB est connecté sur un port du dispositif de restitution TV ; le dispositif de lecture STB et le dispositif de restitution TV pourrait aussi former un seul et unique dispositif. Dans notre exemple, le dispositif de lecture STB est situé dans un réseau local LAN (sigle anglosaxon de « Local Area Network ») géré par une passerelle domestique GTW. La passerelle GTW est apte à communiquer via une liaison de communication LI1 qui peut être un réseau de télécommunication tel qu’un réseau étendu WAN connu de l’homme du métier. Dans notre exemple, le système informatique SYS met en œuvre un réseau de diffusion de contenus appelé CDN (Content Distribution Network) par l’homme du métier depuis lequel des contenus sont transmis à destination de dispositifs de lecture de contenus STB. Le réseau CDN est constitué de serveurs reliés en réseau dans le réseau étendu ; ces serveurs coopèrent afin de mettre des contenus multimédias à disposition des utilisateurs. Afin de simplifier l’exposé de l’invention, un seul serveur de contenus SRV sera représenté sur la FIG. 1 pour représenter le CDN. Le serveur de contenus SRV se trouve, dans notre exemple, dans le réseau étendu WAN. Le serveur de contenus SRV reçoit par exemple des chaînes de contenus de télévision numérique en provenance d’un réseau de télévision diffusée (non représenté), et les met à disposition en temps réel à des terminaux clients, ici le dispositif de lecture STB, via des canaux de diffusion. La FIG. 2 représente une architecture d’un dispositif de lecture STB. Ce dispositif STB comprend, classiquement, des mémoires MEM1 associées à un processeur CPU1. Les mémoires peuvent être de type ROM (de l’anglais « Read Only Memory ») ou RAM (de l’anglais « Random Access Memory ») ou encore Flash. Le dispositif de lecture STB peut transmettre un contenu à restituer au dispositif de restitution TV via un module de communication COM12. Ce module COM12 est par exemple une liaison HDMI. Le dispositif de lecture STB communique avec la passerelle via un module Ethernet pour une communication locale avec fils ou via un module radio de type Wi-Fi pour une communication locale sans fils avec la passerelle résidentielle GTW. Le module en question est référencé CMO11 sur la FIG. 2 . Dans notre exemple, le dispositif de lecture STB comprend un module de téléchargement en mode streaming HAS (http Adaptative Streaming), non représenté, apte à gérer le téléchargement de segments du contenu lorsque le contenu est transmis sur le réseau LI1 sous forme de segments conformément à la technique dite de streaming adaptatif connu de l’homme du métier. Rappelons brièvement ici que lorsqu’un utilisateur accède à un flux Live diffusé en http Adaptative Streaming (HAS), le dispositif de lecture STB reçoit à intervalle régulier, en général toutes les deux secondes, des fichiers de description successivement, appelés ci-après fichiers de description temps réels, qui décrivent chacun généralement les soixante dernières secondes du flux (30 segments de 2 secondes) en fournissant des adresses de type URLs de segments correspondant à ces soixante dernières secondes. Grâce aux adresses de segments reçues, le dispositif de lecture STB peut télécharger les segments et les lire les uns après les autres. En référence à la FIG. 3 , le serveur SRV est également équipé d’au moins un processeur CPU2 et de mémoires MEM2 pour la réalisation de traitement informatique. Le serveur est également équipé d’une entité de gestion ENT objet de l’invention dont la fonction sera décrite ci-après. Le serveur SRV communique avec la passerelle GTW via réseau WAN. Le serveur comprend, un module de communication référencé COM2 pour la communication avec le réseau WAN. Il arrive parfois de manquer le début d’un programme télévisé (film, série, etc.) diffusé en temps réel, ou de souhaiter relire un contenu depuis un instant donné. Une fonction appelée « lire du début » ou « rattrapage » (appelée également « Start Over » ou « Restart » par l’homme du métier) permet de reprendre, à tout moment, le programme en cours de diffusion à un instant antérieur à l’instant courant ; par exemple, la lecture du contenu peut être reprise depuis son commencement, ou depuis un instant choisi par un utilisateur. Par exemple, si un film débute à 21h00 et si l’utilisateur zappe sur la chaine à 21h40, il peut demander à ce que la lecture du contenu reprenne depuis le début du film. Dans ce cas, on passe d’un mode de lecture à un contenu en temps réel à un mode de lecture en différée. Pour accéder à un contenu en lecture différée le serveur SRV mémorise les parties de contenu ayant été diffusées. Dans notre exemple, les parties sont des segments de contenu. Les segments ayant été diffusés sont enregistrés en mémoire MEM2 juste après leurs diffusions respectives. Ces parties de contenu sont mémorisés pendant une certaine durée. Des fichiers de description sont créés en conséquence et incluent non seulement les adresses des derniers segments produits mais aussi les adresses des segments mémorisés ; ces fichiers sont ensuite mis à dispositif du dispositif de lecture STB pour pouvoir accéder aux segments en les téléchargeant grâce aux adresses URL incluses dans ces fichiers. A noter que les segments ayant été diffusés sont stockés sur une plage temporelle précédant l’instant courant de diffusion de diffusion. Selon l’invention, une entité de gestion ENT va gérer la durée des plages temporelles associées aux canaux de diffusion CHn en fonction des contenus diffusés sur les canaux, respectivement. En d’autres mots, pour un type de contenu donné la plage temporelle aura une durée donnée ; pour un autre type de contenus, la plage aura une autre durée. Un type de contenu peut être identifié de plusieurs manières ; par exemple la chaîne télévisée peut être associée à un thème donné tel que l’actualité, le sport, la musique ; le type correspond dans ce cas au thème de la chaîne tv. Le type de contenu peut aussi être issu du programme télévisé en cours de diffusion. Ce mode est intéressant lorsque la chaîne de télévision est une chaîne généraliste diffusant des programmes télévisés de toute sorte (sport, actualité, etc.). Dans ce cas, l’entité de gestion ENT peut accéder à un plan de service connu du serveur SRV et obtenir le type du contenu diffusé sur un canal ; on comprend alors que la plage va varier dans le temps en fonction du contenu diffusé sur le canal de diffusion considéré. La FIG. 4 décrite ci-dessous vont permettre d’illustrer schématiquement des modes de réalisations possibles. La FIG. 1 illustre schématiquement au niveau du serveur SRV une liste de contenus issus de canaux de diffusion de chaînes de télévision respectives CH1-CH3 ; la FIG. 4 est un vue schématique grossie d’une partie de la FIG. 1 ; cette partie illustre schématiquement l’état d’occupation de la mémoire en liaison avec chacun des trois canaux de diffusion CH1/CH2/CH3 respectifs. Un axe temporel « t » est représenté afin de définir le sens de diffusion. Des plages temporelles PTnm (l’indice « n » correspond à un canal CHn, « m » correspond à l’instant tm considéré, n et m sont des entiers) sont aussi représentées en liaison avec chaque canal. Les plages temporelles précèdent l’instant courant tc de diffusion d’une certaine durée. Comme expliqué ci-dessus, cette fenêtre est gérée par l’entité ENT qui va faire en sorte que les plages temporelles associées aux différents canaux ont des durées liées au type de contenus diffusés sur les canaux, respectivement. Dans notre exemple, les canaux de diffusion diffusent des contenus ayant des thèmes respectifs. Par exemple, le premier canal CH1 est associé au thème de l’actualité, le deuxième contenu est associé au thème du sport et le troisième canal de diffusion est associé au thème de la musique. On suppose que l’utilisateur du dispositif de lecture STB aime par ordre de priorité l’actualité, le sport et enfin la musique. Dans notre exemple, à chaque thème correspond des plages temporelles différentes dont les durées vont être fonction de l’intérêt de l’utilisateur du dispositif de lecture STB pour le thème considéré. Par exemple, à l’instant tc=t1, la plage temporelle PT11 associée au premier canal a une durée de 4 heures ; la plage temporelle PT21 associée au deuxième canal a une durée de 2 heures et la plage temporelle PT31 associée au troisième canal a une durée de 1 heure. Ces choix de durée ne sont donnés qu’à titre d’exemples ; d’autres valeurs auraient bien évidemment être utilisées. Les plages temporelles associées à des canaux qui ne sont pas associés à un thème préféré d’un utilisateur peuvent avoir une durée nulle. Les plages temporelles PTnm peuvent aussi être modifiées dans le temps en fonction de l’heure. En effet, une personne préfèrera peut-être l’actualité le matin de 6h à 8h et moins le reste de la journée. A cet effet, les plages temporelles peuvent évoluer au cours d’une journée. La FIG. 4 illustre un exemple d’évolution dans le temps des durées des plages temporelles PTnm : On voit que la plage temporelle PT11 a diminué entre l’instant t1 et l’instant t2 ; la nouvelle plage temporelle est PT12. On voit que la plage temporelle PT21 a augmenté entre l’instant t1 et l’instant t2; la nouvelle plage temporelle est PT22. On voit que la plage temporelle PT31 a augmenté entre l’instant t1 et l’instant t2; la nouvelle plage temporelle est PT32. Selon un mode de réalisation, la plage temporelle est limitée à une valeur maximale PTmax. Ce mode permet de limiter l’espace mémoire occupé par le stockage des parties de contenus ayant été diffusés. Selon un autre mode pouvant être mise en œuvre alternativement ou cumulativement avec le précédent, La somme des plages temporelles associées à tout ou partie des canaux de diffusion est inférieure à une valeur donnée. Par exemple, en considérant les trois canaux décrits en référence à la FIG. 4 , la somme des plages temporelles doit être inférieure à une taille donnée en octets. Ce mode permet de limiter l’espace mémoire occupé dans le serveur SRV. Aussi, la somme des plages temporelles peut ne concerner qu’une partie des canaux par exemple les canaux CH1 et CH3. Lorsque la somme des plages temporelles une valeur maximale, l’entité de gestion ENT peut par exemple ne plus stocker de contenus en mémoire jusqu’à ce que la somme des plages diminuent en dessous de la valeur maximale fixée ; l’entité peut aussi diminuer les durées de plages en cours d’utilisation afin de libérer de l’espace mémoire pour d’autres canaux de diffusion. Précisons enfin ici aussi ici que le terme « entité » peut correspondre aussi bien à un composant logiciel qu’à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d’ordinateur ou de manière plus générale à tout élément d’un programme apte à mettre en œuvre une fonction ou un ensemble de fonctions telles que décrites pour les modules concernés. De la même manière, un composant matériel correspond à tout élément d’un ensemble matériel (ou hardware) apte à mettre en œuvre une fonction ou un ensemble de fonctions pour le module concerné (circuit intégré, carte à puce, carte à mémoire, etc.). Procédé de gestion du stockage de parties de plusieurs contenus télévisés ayant été diffusés sur différents canaux de diffusion , le stockage des parties ayant été diffusées étant réalisé sur des plages temporelles précédant l’instant courant de diffusion, caractérisé en ce que les plages temporelles sont définies en fonction d’une donnée, dite donnée thématique, liée aux contenus diffusés sur les canaux, respectivement. Procédé de gestion selon la revendication 1, caractérisé en ce qu’il comprend une obtention d’une donnée, dite donnée de préférence, représentative d’une préférence thématique, et en ce que les plages sont définies en fonction d’une correspondance entre la donnée thématique et la donnée de préférence. Procédé de gestion selon la revendication 2, caractérisé en ce que la donnée de préférence est obtenu en analysant un historique d’accès à des contenus par le dispositif de lecture (STB). Procédé de gestion selon la revendication 1, caractérisé en ce pour la donnée thématique correspond à un thème associé au contenu télévisé diffusé sur un canal de diffusion Procédé de gestion selon la revendication 3, caractérisé en ce que la donnée de préférence varie en fonction du temps. Procédé de gestion selon la revendication 1, caractérisé en ce que la plage temporelle est limitée à une valeur maximale (PTmax). Procédé de gestion selon la revendication 1, caractérisé en ce que la somme des plages temporelles associées à tout ou partie des canaux est inférieure à une valeur donnée. Entité de gestion du stockage de parties de plusieurs contenus télévisés ayant été diffusés sur différents canaux de diffusion , le stockage des parties ayant été diffusées étant réalisé sur des plages temporelles précédant l’instant courant de diffusion, caractérisé en ce que l’entité comprend un processeur configuré pour définir les plages temporelles en fonction d’une donnée, dite donnée thématique, liée aux contenus diffusés sur les canaux, respectivement. Serveur (SRV) comprenant une entité de gestion (ENT1) telle que définie dans la revendication 8. Programme d'ordinateur apte à être mis en œuvre sur une entité de gestion (ENT) telle que définie dans la revendication 8, le programme comprenant des instructions de code qui, lorsqu’il est exécuté par un processeur, réalise les étapes du procédé définies dans la revendication 1. Support de données sur lequel a été mémorisée au moins une série d’instructions de code de programme pour l’exécution d’un procédé selon la revendication 1.