Brevet FR2949636A1 — publié le 20110304

DOMAINE TECHNIQUE GENERAL La présente invention concerne un procédé de lecture d'un contenu sur un dispositif multimédia comportant un lecteur du contenu. Elle concerne également un dispositif de mise en oeuvre du procédé. 5 ETAT DE L'ART La multiplication des dispositifs multimédia (portatifs/fixes) contenant et/ou lisant des contenus (audio/vidéo) nécessite l'implémentation de lecteurs permettant à un utilisateur la navigation (également appelée � trick mode � selon la terminologie anglo-saxonne) dans ces contenus, tout en lui 10 permettant de visualiser la position courante de la navigation dans le contenu, comme par exemple lors d'une avance rapide, un retour arrière rapide. Cependant, la lecture continue du contenu lors de la navigation, en avance rapide par exemple, entraîne une surconsommation des ressources 15 de l'unité centrale et/ou du lecteur du dispositif, par rapport à la lecture en vitesse normale. Dans le cas où le contenu est lu à partir d'un serveur ou d'un support distant du dispositif sur un réseau, la lecture continue du contenu lors de la navigation, en avance rapide par exemple, entraîne une surcharge du 20 réseau. C'est pour ces deux raisons qu'en général une méthode utilisée pour la navigation à vitesse élevée (x32, x64 par exemple) consiste à n'afficher que certaines images du contenu. Les images affichées en navigation sont les images I, également appelée images � intra �, qui sont totalement 25 indépendantes des autres images normalement lues, et qui sont en général codées, en format JPEG (Joint Photographic Experts Group) par exemple. Cette méthode est en effet moins coûteuse en ce qui concerne l'utilisation des ressources du dispositif et/ou la charge du réseau, mais nécessite un procédé de lecture efficace afin d'avoir un affichage d'images I 30 à intervalles réguliers, pour que l'utilisateur ait une impression de fluidité. On connaît par exemple des boîtiers décodeurs (également appelés � Set Top Boxes � (STB) selon la terminologie anglo-saxonne) ou des numériscopes (également appelés � Personal Video Recorders � (PVR) ou � Digital Video Recorders � (DVR) selon la terminologie anglo-saxonne), mettant en oeuvre de tels procédés de lecture. Selon les procédés de lecture connus, lorsque le lecteur reçoit une instruction de navigation donnée par un utilisateur, il positionne la lecture dans le contenu en fonction de l'instruction reçue, et affiche une première image I suivant la position de lecture. Le lecteur arrête ensuite la lecture du contenu après l'affichage de ladite première image I et effectue un affichage continu de ladite première image. Et ainsi de suite. Si le temps à la fois de positionnement de la lecture dans le contenu et d'affichage de la première image I est inférieur à un temps de référence tref (en général fixé à 250 ms et correspondant à la période d'affichage des images I), l'affichage des images I successives est régulier, à des intervalles de temps égaux à tref. En revanche, si le temps de positionnement de la lecture dans le contenu et d'affichage de la première image I est supérieur à tref, le lecteur garde l'affichage de l'image I courante et n'affiche que la prochaine image I dont le temps de positionnement et d'affichage est inférieur à tref. L'affichage risque alors d'être saccadé. Les procédés de lecture actuellement implémentés sont en général de bonne qualité pour un type de contenu spécifique et stocké sur une mémoire du dispositif multimédia, car la période d'affichage tref est bien dimensionnée pour ce type de contenu. Ils sont ainsi de bonne qualité pour la lecture des contenus dans un format compatible avec la radiodiffusion vidéonumérique (également appelée � Digital Video Broadcasting � (DVB) selon la terminologie anglo-saxonne) à partir d'un disque dur du dispositif. Les procédés de lecture précédents présentent cependant des inconvénients. Ils sont en effet de qualité moindre lorsqu'on les met en oeuvre pour des contenus autres que DVB, par exemple les contenus aux formats .mov, 30 .avi, .mp4, etc. Ils sont également de qualité moindre lorsqu'on les met en oeuvre pour un contenu lu depuis un serveur distant (du type � http � par exemple) et lorsque la bande passante sur le réseau est faible. En effet, la période d'affichage tref connue n'est pas dimensionnée de façon à ce que l'affichage d'images I soit assez fréquent et non saccadé pour les contenus autres que DVB et/ou distants. La période d'affichage tref est en général trop courte, ce qui implique que la fréquence d'affichage des images I dépend de chaque image I, et n'est plus liée à tref. L'affichage est donc en général saccadé. De plus, les images I risquent d'être affichées trop rapidement, ce qui n'est pas agréable pour l'utilisateur, qui n'aura alors pas le temps de voir la position courante dans le contenu. Une solution est alors d'augmenter tref, mais alors la fréquence d'affichage des images I est en général trop faible. PRESENTATION DE L'INVENTION L'invention propose de pallier au moins un de ces inconvénients. A cet effet, on propose selon l'invention un procédé de lecture d'un contenu sur un dispositif multimédia comportant un lecteur du contenu, le lecteur permettant également l'affichage vidéo du contenu et la navigation dans le contenu, le contenu contenant des images I destinées à être affichées lors de la navigation, le procédé comportant, lorsque le lecteur reçoit une instruction de navigation donnée par un utilisateur, les étapes selon lesquelles le lecteur : - positionne la lecture dans le contenu en fonction de l'instruction reçue, - n'effectue la lecture que des images I et affiche une image I suivant la position de lecture ; - arrête la lecture du contenu après l'affichage de ladite image I et effectue 25 un affichage continu de ladite image ; - calcule le temps moyen tm de positionnement de la lecture dans le contenu et d'affichage de l'image I ; - attend un temps twait proportionnel au temps moyen tm, avant de vérifier si 30 une instruction de navigation est toujours donnée par l'utilisateur. L'invention est avantageusement complétée par les caractéristiques suivantes, prises seules ou en une quelconque de leur combinaison techniquement possible : - le temps twait est égal à : twait = (k -1) x tm où k est une constante ; - le lecteur détermine la position temporelle suivante où se placer dans le 5 contenu grâce à la relation : tn+1 = tn � V x tref où tn+1 est la position suivante dans le contenu, tn est la position courante dans le contenu, V est la vitesse voulue de la navigation, 10 tref est la période entre l'affichage de deux images I du contenu, et. � dépend du sens de la navigation : + pour avance rapide et ù pour retour rapide ; - le lecteur calcule la moyenne tm(n+1) du temps obtenue après l'affichage des n+1 premières images I par la relation : 1 n+1 15 tm(n +1) = L td`sp`ay n +1 (J) 1=1 Avec tdispIay(j) le temps de positionnement et d'affichage de chaque image j ; - le lecteur calcule la moyenne tm(n+1) obtenue après l'affichage de l'image n+1 grâce à la relation : tm(n +1) = n tm(n) + 1 tdisplay (n +1) n+1 n+1 20 Avec n+1 le nombre d'images I affichées ; tm(n) la moyenne du temps d'affichage pour les n premières images ; tm(n+1) la moyenne du temps d'affichage pour les n+1 images ; td;splay(n+1) le temps de positionnement et d'affichage de l'image 25 n+1 ; - k est égal à 3/2 ; et - le lecteur calcule la période d'affichage tref des images après l'affichage de l'image n grâce à la relation : tref (n) = twnit (n) + tm(n) = k • tm(n) . 4 L'invention concerne également un dispositif de mise en oeuvre du procédé. L'invention présente de nombreux avantages. Le temps d'attente twait après l'affichage de chaque image I, étant une 5 moyenne dynamique des temps de positionnement et d'affichage des images I en navigation, n'est ni trop court, ni trop long. Par conséquent, les images I ne sont ni affichées de façon saccadée, ni de façon trop rapide ou trop lente. L'utilisateur a donc le temps de voir la position courante dans le contenu. 10 Du fait que le temps d'attente est une moyenne des temps de positionnement et d'affichage des images I, plus l'utilisateur reste longtemps en mode navigation sur le même contenu, et plus l'affichage des images I sera régulier. La période d'affichage est proportionnelle au temps moyen d'affichage 15 tm et s'exprime de la façon suivante : tref =k•tm Si l'affichage s'effectue depuis un serveur http par exemple, et que la bande passante du réseau varie brusquement, alors le lecteur s'adaptera à ces variations, et de façon progressive. 20 Le procédé peut être mis en oeuvre pour des contenus de tous types de formats DVB bien entendu, mais également par exemple aux formats .mov, .avi, .mp4 (H264), MPEG2, WMA, Divx. Le procédé peut être mis en oeuvre pour des contenus stockés sur une mémoire du dispositif multimédia (disque dur, clef USB), mais également un 25 serveur distant (par exemple serveur http). PRESENTATION DES FIGURES D'autres caractéristiques, buts et avantages de l'invention ressortiront de la description qui suit, qui est purement illustrative et non limitative, et qui doit être lue en regard des dessins annexés sur lesquels : 30 - la figure 1 représente schématiquement les étapes principales d'un procédé selon l'invention mise en oeuvre sur un dispositif selon l'invention ; - la figure 2 est une représentation schématique de la mise en oeuvre d'un procédé selon l'invention sur un contenu. Sur l'ensemble des figures, les éléments similaires portent des références numériques identiques. DESCRIPTION DETAILLEE Les principales étapes d'un procédé selon l'invention sont représentées aux figures 1 et 2. On prévoit ainsi un procédé de lecture d'un contenu 1 sur un dispositif 2 multimédia comportant un lecteur 4 du contenu 1. Dans la suite de la présente description, on entend par contenu tout flux de données vidéo et/ou composé d'images, avec éventuellement un flux audio, par exemple un film ou une émission, aux formats .mov, .avi, .mp4 (H264), MPEG2, WMA, ou Divx. Les exemples sont donnés à titre indicatif et non limitatif. Le contenu 1 est fourni au dispositif 2 à partir d'un serveur 3 de contenus qui peut être situé sur une zone de stockage distante du dispositif 2 ou interne au dispositif 2. A titre d'exemple non limitatif, le serveur 3 peut ainsi être situé sur un disque dur, interne ou externe au dispositif 2, ou une mémoire flash, c'est-à-dire une mémoire combinant les avantages des mémoires vives (écriture, lecture et effacement de blocs de données) et ceux des mémoires mortes (permanence du contenu, même hors tension), ou une clé USB, c'est-à-dire un support amovible du dispositif 2, contenant une mémoire flash ou un minidisque dur et s'insérant dans un port USB du dispositif. Dans le cas où le serveur 3 n'est pas interne au dispositif, le serveur peut être lié au dispositif par tout type de connexion, filaire ou sans fil (protocoles GSM, Wifi, Bluetooth, satellite, câble TV ou Internet htpp (HyperText Transfer Protocol) par exemple). Le dispositif multimédia 2 est par exemple un décodeur (ou STB), par exemple TV, par câble ou satellite, avantageusement du type numériscope (PVR ou DVR) ou tout autre dispositif permettant le téléchargement et/ou la lecture d'un contenu 2, comme par exemple un cadre photographique numérique, un téléphone mobile, un assistant électronique de poche (� Personal Digital Assistant � (PDA) selon la terminologie anglo-saxonne généralement utilisée), un baladeur numérique, etc. L'affichage des images peut s'effectuer sur un écran du dispositif 2 (par exemple � Liquid Crystal Display � (LCD)), ou sur un écran distant (par exemple écran de télévision lié au dispositif 2). Le lecteur 4 est classiquement un système matériel et logiciel permettant l'exécution du contenu 1 multimédia. Le lecteur 4 comporte tous les moyens permettant au dispositif 2 de mettre en oeuvre le procédé selon l'invention. Le lecteur 4 permet ainsi l'affichage vidéo du contenu et la navigation dans le contenu. A cet effet, le contenu 1 contient des images I destinées à être affichées lors de la navigation. Les images I, également appelée images � infra �, sont totalement indépendantes des autres images normalement lues, et qui sont en général codées, en format JPEG (Joint Photographic Experts Group) par exemple. Le procédé comporte principalement, lorsque le lecteur 4 reçoit, lors d'une étape référencée par SO sur la figure 1, une instruction de navigation donnée par un utilisateur, les étapes selon lesquelles le lecteur 4 : - positionne, lors d'une étape S5, la lecture dans le contenu en fonction de l'instruction reçue, - n'effectue la lecture que des images I et affiche, lors d'une étape S6, une image I suivant la position de lecture ; - lors d'une étape S7, arrête la lecture du contenu après l'affichage de ladite image I et effectue un affichage continu de ladite image ; - calcule, lors d'une étape S9, le temps moyen tm de positionnement de la lecture dans le contenu et d'affichage de l'image I ; et - attend, lors d'une étape S10, un temps twait proportionnel au temps moyen tm avant de vérifier si une instruction de navigation est toujours donnée par l'utilisateur. Très avantageusement, on a twait = (k -1) x tm où k est une constante. Pour commencer, et comme le montrent les figures 1 et 2, à partir d'une position de lecture normale du contenu 1, l'utilisateur envoie une instruction de navigation au lecteur 4 lors de l'étape S0. L'instruction de navigation peut être par exemple une avance rapide ou un retour arrière rapide. On a représenté sur la figure 2 par exemple une instruction d'avance rapide. Lors d'une étape S1, le lecteur 4 arrête la synchronisation de la lecture vidéo et de la lecture audio du contenu 1. Lors d'une étape S2, le lecteur 4 arrête la lecture vidéo et affiche la dernière image sur l'écran associé au dispositif 2. Lors d'une étape S3, le dispositif vérifie si le mode de navigation est 15 toujours demandé par l'utilisateur. Si la réponse est négative, le lecteur 4 passe alors à une étape S11 dans laquelle le lecteur lit le contenu 1 selon le mode de lecture normal. Lors d'une étape S12, la synchronisation de la lecture vidéo et de la lecture audio du contenu est rétablie. 20 Lors d'une étape S13, le lecteur arrête le mode navigation. Si la réponse est positive lors de l'étape S3, le lecteur 4 passe alors à une étape S4, selon laquelle le lecteur 4 déclenche et initialise un chronomètre en posant t=0. 25 Lors de l'étape S5, le lecteur 4 positionne la lecture dans le contenu 1 en fonction de l'instruction reçue. L'utilisateur choisit en effet une vitesse de navigation (x2, x8, x32, x64 ou plus par exemple) et un sens de navigation (par exemple avance rapide sur la figure 2). On décrit ici des exemples possibles de détermination de 30 positionnement de la lecture dans le contenu 1. Lorsque l'utilisateur donne au lecteur 4 une instruction de navigation, la seule information fournie est en général la vitesse de navigation. En fonction de la position courante dans le contenu et de la période d'affichage tref, le lecteur 4 peut déterminer la position temporelle où se placer dans le contenu 1. Ainsi, si tn est la position courante, V la vitesse voulue de la navigation 5 (x4 ou x8 par exemple), tref la période entre l'affichage de deux images I du contenu, et tn+1 la position suivante dans le contenu, alors : tn+1 = tn � V X tref Le � dépend du sens de la navigation : + pour avance rapide et û pour retour rapide. 10 Ensuite, et selon le contenu 1, le lecteur 4 détermine cette position en octets. Lors d'un positionnement par requête http ou sur un disque dur par exemple, l'unité pour se positionner est l'octet, d'où la nécessité d'une conversion temps û octet. 15 Si tn+1 est la position suivante dans le contenu, rate le débit moyen du contenu, alors Sizeoffset, c'est-à-dire la position en octets dans le contenu, peut être approximativement calculée de la façon suivante : Sizeoffset = tn+1 Xrate Lors de l'étape S6, le lecteur 4 n'effectue la lecture que des images I 20 et affiche une image I suivant la position de lecture. Lors de l'étape S7, le lecteur 4 arrête la lecture du contenu après l'affichage de ladite image I et effectue un affichage continu de ladite image. Lors d'une étape S8, le temps tdispIay(j) de positionnement (étape S5) de la lecture dans le contenu et d'affichage (étape S6) de la j-ième image I 25 est déterminé par le chronomètre du lecteur et sauvegardé par le lecteur 4. On a alors t = tdisplay Lors de l'étape S9, le lecteur 4 calcule le temps moyen tm à la fois de positionnement (étape S5) de la lecture dans le contenu et d'affichage 30 (étape S6) de l'image I. Le lecteur 4 sauvegarde tm. On donne ici des exemples de calcul de tm. Un premier calcul possible de la moyenne tm(n+1) après l'affichage des n+1 premières images I est donné par la formule : 1 n+1 tm(n +1) = Ltaisplay n +1 (J) 1=1 Pour économiser des ressources sur le dispositif et éviter de conserver 5 les valeurs tdispIay(j) en mémoire pour le calcul de la moyenne tm, un deuxième calcul est possible. La moyenne tm(j) peut être calculée à partir de la moyenne tm(j-1), sans avoir à conserver les valeurs tdispIay(j) en mémoire des j premières images. 10 Dans notre exemple, pour le calcul de la moyenne tm(n+1) après l'affichage de la n+1-ième image I, on a ainsi la formule suivante : tm(n + 1) = n tm(n) + 1 talsplay (n + 1) n+1 n+1 Avec n+1 le nombre d'images I affichées ; tm(n) la moyenne du temps d'affichage pour les n premières 15 images ; tm(n+l) la moyenne du temps d'affichage pour les n+1 images ; td;splay(n+1) le temps de positionnement et d'affichage de l'image n+1. 20 Lors de l'étape S10, après l'affichage de l'image n+1, le lecteur 4 attend un temps twait égal à : twalt(n+1) = (kû1)xtm(n +1) où k est une constante, avant de vérifier si une instruction de navigation est toujours donnée par 25 l'utilisateur en retournant à l'étape S3 déjà décrite. Pendant ce temps d'attente twa;t, l'image I est affichée. Le temps d'attente twait permet une fluidité d'affichage. La période d'affichage tref des images est calculée par la relation : tNef(n+1)=twalt(n+1)+tm(n +1)=k•tm(n +1) k étant une constante à fixer, selon que l'on souhaite une navigation très régulière mais avec moins d'images, ou une navigation avec le plus d'images possibles, mais qui risque d'être moins régulière. Dans la pratique, k= 3/2 semble une valeur qui assure le compromis 5 d'afficher beaucoup d'images tout en restant régulier. La période d'affichage tref étant proportionnelle au temps moyen d'affichage tm, la fréquence d'affichage prend en compte le type de contenu et les paramètres de lecture (réseau, bande passante par exemple). REVENDICATIONS1. Procédé de lecture d'un contenu (1) sur un dispositif (2) multimédia comportant un lecteur (4) du contenu (1), le lecteur (4) permettant également l'affichage vidéo du contenu et la navigation dans le contenu, le contenu contenant des images I destinées à être affichées lors de la navigation, le procédé comportant, lorsque le lecteur (4) reçoit (SO) une instruction de navigation donnée par un utilisateur, les étapes selon lesquelles le lecteur (4) : - positionne (S5) la lecture dans le contenu en fonction de l'instruction reçue, - n'effectue la lecture que des images I et affiche (S6) une image I suivant la position de lecture ; - arrête la lecture du contenu après l'affichage de ladite image I et effectue 15 un affichage continu de ladite image (S7) ; - calcule (S9) le temps moyen tm de positionnement (S5) de la lecture dans le contenu et d'affichage (S6) de l'image I ; - attend (S10) un temps twait proportionnel au temps moyen tm, avant de 20 vérifier si une instruction de navigation est toujours donnée (S3) par l'utilisateur. 2. Procédé selon la revendication 1, dans lequel le temps twait est égal à : twait = (k -1) x tm 25 où k est une constante. 3. Procédé selon l'une des revendications 1 ou 2, dans lequel le lecteur (4) détermine la position temporelle suivante où se placer dans le contenu (1) grâce à la relation : 30 tn+1 = tn � V x tref où tn+1 est la position suivante dans le contenu, tn est la position courante dans le contenu, V est la vitesse voulue de la navigation, tref est la période entre l'affichage de deux images I du contenu, et. � dépend du sens de la navigation : + pour avance rapide et ù pour retour rapide. 4. Procédé selon l'une des revendications 1 à 3, dans lequel le lecteur (4) calcule la moyenne tm(n+1) du temps obtenue après l'affichage des n+1 premières images I par la relation : 1 ä+l tm(n + 1) = n + l I tdlsplav (J) 1 10 Avec tdisplay(j) le temps de positionnement et d'affichage de chaque image j. 5. Procédé selon l'une des revendications 1 à 3, dans lequel le lecteur (4) calcule la moyenne tm(n+1) obtenue après l'affichage de l'image n+1 grâce à la relation : 15 tm(n +1)=n+1 tm(n)+n+1 tdisplav (n + 1) Avec n+1 le nombre d'images I affichées ; tm(n) la moyenne du temps d'affichage pour les n premières images ; tm(n+1) la moyenne du temps d'affichage pour les n+1 images ; 20 tdisplay(n+1) le temps de positionnement et d'affichage de l'image n+1. 6. Procédé selon l'une des revendications 2 à 5, dans lequel k est égal à 3/2. 7. Procédé selon l'une des revendications 4 à 6 lorsqu'elle dépend de la revendication 2, dans lequel le lecteur (4) calcule la période d'affichage tref des images après l'affichage de l'image n grâce à la relation : t,.et. (n) = twai( (n) + tm(n) = k • tm(n) . 25 30 8. Dispositif multimédia comportant un lecteur (4) de contenu (1) multimédia adapté pour mettre en oeuvre un procédé selon l'une des revendications 1 à 7. 9. Dispositif selon la revendication 8, dans lequel le lecteur est adapté pour lire des contenus du type DVB, .mov, .avi, .mp4 (H264), MPEG2, WMA, ou Divx. 10. Dispositif selon l'une des revendications 8 ou 9, du type décodeur TV, 10 par câble ou satellite, avantageusement du type numériscope.