FR 3024813 A1 20160212 FR 1457604 A 20140805 La présente invention concerne la diffusion de sous-titres durant l'affichage sur un écran, notamment d'une salle de cinéma, d'un contenu audiovisuel. Certains cinémas proposent aujourd'hui à leurs clients déficients visuels ou auditifs des aides sous la forme par exemple de lunettes dédiées, auxquelles sont transmises par une liaison radiofréquence des données à afficher. Un inconvénient d'un tel système est sa complexité et son coût, les lunettes étant fournies par l'exploit cinéma et récupérées après chaque séance. De plus, les lunettes ne sont fournies que sur demande des personnes intéressées, et celles-ci peuvent être gênées d'engager cette démarche. Il en résulte que ce système reste très peu utilisé. Il demeure par conséquent un besoin pour proposer une aide visuelle aux personnes malentendantes lors des séances de projection. Il y a également un intérêt pour permettre à des personnes ne maîtrisant pas la langue du contenu projeté de bénéficier de sous-titres dans une langue qu'elles comprennent. L'invention vise à répondre à tout ou partie de ces besoins et elle y parvient grâce à un procédé de diffusion de sous-titres correspondant à un contenu affiché sur un écran, vers un appareil de visualisation individuel, dans lequel on émet vers l'appareil des données comportant le sous-titre à afficher sur l'appareil de visualisation et le décalage « avec g ik sous-titre doit être affiché après réception par l'appareil de ce sous-titre, de telle sorte que le sous-titre soit affiché sur l'appareil de façon sensiblement synchrone avec l'affichage dudit contenu sur l'écran. L'invention repose sur la constatation que l'affichage d'un sous-titre n'a pas à être parfaitement synchrone avec le contenu affiché, à la différence de la bande son; cette plus grande tolérance peut être mise à profit pour diffuser les sous-titres sur des appareils individuels tels que des téléphones intelligents, n'ayant pas tous les mêmes caractéristiques techniques et la même vitesse de traitement des données. Par "de façon sensiblement synchrone", il faut comprendre de façon suffisamment synchrone pour conserver au contenu 3024813 2 sous-titré son intelligibilité et son confort de visualisation. La tolérance dans le décalage d'affichage des sous-titres par rapport à la bande son est par exemple inférieur à 1s, mieux à 0,5 s. De préférence, des données comportant le même sous-titre sont émises de façon 5 successive avec un intervalle de temps entre elles, un même sous-titre étant de préférence émis entre 2 à 10 fois, mieux 3 à 7. L'intervalle entre l'émission des données comportant le même sous-titre peut être compris entre 0,75 et 1,25 s. L'invention s'applique tout particulièrement au cinéma numérique, dans lequel le contenu affiché provient d'un bloc média relié à au moins un projecteur DCP. 10 Le bloc média peut être interrogé par un module de synchronisation pour connaître la position contextuelle et temporelle dans le contenu. De préférence, le bloc média est interrogé via une surcouche agencée pour assurer l'échange de données entre le module de synchronisation et le bloc média, de façon transparente pour le module de synchronisation vis-à-vis de l'interface deprograrmatiom (Applications Programming Interface, AN) du 15 bloc média. L'interrogation du bloc média par le module de synchronisation est périodique, s'effectuant avec une périodicité comprise de préférence entre 3 et 7 s. Le module de synchronisation peut interroger le bloc média pour connaître l'un au moins parmi le statut, la référence de l'élément en cours de diffusion, la durée de l'élément, la durée de la séance, la position dans la séance. 20 De préférence, le module de synchronisation mémorise la date de sa dernière mise à jour. Le module de synchronisation peut alors fournir, en réponse à une requête faite par un module de service, notamment un module qui assure la diffusion des sous-titres en temps réel (streaming), une information temporelle correspondant à la position temporelle dans le contenu additionnée de la différence entre la date de la dernière mise à jour du 25 module de synchronisation et celle de la requête du module de service. Les données comportant les sous-titres sont de préférence diffusées en mode non connecté aux appareils individuels, notamment en mode UDP (User Datagram 3024813 3 Protocol). Les données peuvent être émises sur des ports différents, chaque port correspondant à une langue donnée. Les données qui sont transmises aux appareils individuels peuvent comporter le texte à afficher, les normes d'affichage (notamment la couleur, la position d'affichage, la forme d'affichage, par exemple italique ...), l'identifiant 5 du sous-titre, le temps d'attente avant affichage, le temps d'apparition du texte. De préférence, l'appareil individuel ignore, après réception d'un paquet correspondant à un identifiant de sous-titre donné, les autres paquets correspondant au même identifiant de sous-titre susceptibles d'être reçus ultérieurement. L'invention a encore pour objet, selon un autre de ses aspects, un produit 10 programme d'ordinateur comportant un ensemble d'instructions agencées pour s'exécuter sur un serveur afin de réaliser les étapes du procédé selon l'invention, tel que défini ci-dessus. L'invention a encore pour objet, selon un autre de ses aspects, un produit programme d'ordinateur comportant un ensemble d'instructions agencées pour s'exécuter sur un appareil individuel de façon à recevoir les données, extraire les sous-titres et provoquer 15 leur affichage sur un écran de l'appareil en introduisant un retard transmis avec les données, l'appareil individuel étant de préférence un téléphone intelligent, une tablette ou des lunettes intelligentes. L'invention a encore pour objet un cinéma équipé d'un serveur exécutant le produit programme d'ordinateur tel que défini plus haut. Le cinéma peut comporter au moins 20 un émetteur sans fil, de préférence wi-fi, pour transmettre les données aux appareils individuels présents dans une salle où est projeté le contenu, cette transmission s'effectuant de préférence en UDP. L'invention pourra être mieux comprise à la lecture de la description détaillée qui va suivre, d'exemples de mise en oeuvre non limitatifs de celle-ci, et à l'examen du dessin 25 annexé, sur lequel : 3 02 4 8 1 3 4 la fi représente de façon schématique un équipement de projection numérique équipant une salle de cinéma, - la figure 2 est un schéma en blocs illustrant la mise en oeuvre du procédé, - la figure 3 représente des échanges entre un module de synchronisation et 5 module de service, et - la figure 4 illustre l'envoi répété des données comportant les sous-titres. L'équipement 10 de projection numérique représenté à la figure 1 comprend de façon classique un projecteur numérique 11 et un bloc média 12, encore appelé mediablock, qui transmet au projecteur les données à projeter sur l'écran de la salle 17. 10 Le bloc média 12 stocke le film numérique, encore appelé DCP (Digital Cinema Package), le lit et le décrypte, envoie les images au projecteur 1 et le son à un processeur sonore 13. Le film numérique est classiquement un dossier contenant dans des fichiers distincts les images, le son et de façon optionnelle les sous-titres. 15 Le contenu du film est découpé en plusieurs fichiers image et son à l'instar du découpage en plusieurs bobines des films argentiques 35 mm. Un fichier équivalent à une bobine dure environ vingt minutes. Les fichiers image et son sont cryptés. Une clé appelée KDM (Key Delivery Message) est nécessaire pour que le bloc média 11 puisse lire ces fichiers. Les fichiers de 20 sous-titres ne sont pas cryptés. L'invention peut être mise en oeuvre au sein d'un serveur 20 est relié au média. Ce serveur 20 permet de transmettre via une borne wifi 18 à des appareils individuels 30 présents dans la salle 17 des sous-titres correspondant au contenu affiché sur 25 l'écran de celle-ci. 3024813 5 Les appareils individuels 30 sont par exemple des téléphones intelligents dits smartphones ou des tablettes, capables de traiter en temps réel les données reçues serveur 20 afin d'extraire les sous-titres et de les afficher sur l'écran du téléphone. Les appareils intelligents 30 peuvent encore être des lunettes intelligentes 5 telles ç. les Google glass par exemple. Les données sont par exemple transmises en wifi par ' serveur 20 aux appareils individuels 30, mais d'autres moyens de transmission sont possibles en fonction de la disponibilité des technologies, par exemple le lifi. Dans l'exemple considéré, le serveur 20 transmet non seulement les sous-titres 10 mais également le son à destination des personnes malentendantes et malvoyantes. Ainsi, il peut disposer de la connectique AES-EBU afin de se brancher sur le block média 12 et récupérer les canaux de sonore diffusion sonore. Le processeur 13 peut être relié au serveur 20, comme illustré. Dans une variante, le processeur sonore 13 est directement relié au bloc média 15 12 et le serveur 20 n'est relié qu'au bloc média 12. Les données adressées aux appareils individuels 30 comportent les sous-titres sous une forme encapsulée dans des paquets. Les appareils individuels 30 exécutent une application qui permet d'extraire des données reçues les sous-titres et de les afficher de façon synchrone avec le contenu visualisé sur l'écran de la salle 17. Cette application s'exécute par 20 exemple sous un système d'exploitation tel qu'Android ou IOS. L'invention peut être mise en oeuvre avec un seul serveur 20 par salle de cinéma. En variante, le serveur 20 assure l'envoi des sous-titres pour plusieurs salles d'un complexe cinématographique à salles multiples. Le serveur 20 exécute un programme qui permet de dialoguer avec le bloc 25 média 12 pour trouver les fichiers de sous-titres, connaître la position contextuelle et temporelle dans le contenu diffusé par le projecteur 13, et diffuser en direction des appareils 3024813 6 individuels 30 les données de sous-titres afin de permettre leur affichage de façon synchrone avec le contenu visualisé par les spectateurs. Ce programme 28, encore appelé ACS (Auxiliary Content Synchronisation), comporte, comme illustré à la figure 2, un module de synchronisation 21 et un ou plusieurs 5 modules de service 22 pour diffuser les sous-titres à destination des appareils. Le bloc média 12 peut provenir de différents fabricants et opérer sous des API variées. Pour faciliter son interfaçage avec les différentes marques de blocs média, le programme 28 comporte une surcouche 24 permet de dialoguer avec le bloc média 12 10 quelle que soit sa marque, les paramètres de communication 25 propres aux différentes API étant gérés par cette surcouche 24. Les différentes marques de blocs média 12 sont par exemple DOREMI, DOLBY, GDC, QUBE ou SONY. Le module de synchronisation 21 communique avec le bloc média 12 via la 15 surcouche 24. Il est agencé pour interroger périodiquement le bloc média 12 lors de l'exécution du programme 28 afin de connaître la position contextuelle et temporelle au sein du contenu. La périodicité avec laquelle le module de synchronisation 21 interroge le bloc média 12 (étape 60) est paramétrable et par exemple fixée à 5 s. Il est souhaitable de ne pas 20 interroger fréquemment le bloc média 12 pour ne pas affecter la diffusion du contenu vers le projecteur numérique 13. A chaque requête transmise par le module de synchronisation 21 au bloc média 12, le module 21 peut récupérer en retour (étape 61) des informations telles que le statut, la référence de l'élément en cours de diffusion, la position dans l'élément, la durée de 25 la séance, la position dans la séance. 3024813 7 Le module do synchronisation 21 mémorise ces informations 63 ainsi que la date de la requête. Le ou chaque module de service 22 interroge le module de synchronisation 21 (étape 65) pour connaître la position dans l'élément en cours d'affichage sur l'écran de la 5 salle, plutôt que d'interroger le bloc média. On peut ainsi multiplier les modules de service 22 sans multiplier les requêtes adressées au bloc média 12. Sur la figure 3, on a illustré une manière permettant au module de service 22 de connaître la position dans l'élément en cours de diffusion. On suppose sur cet exemple que le module de synchronisation 21 est mis à 10 jour à 16 :30 :05.140 (étape 70) et que la position dans l'élément est à ce moment là 00 :17 :20. Si le module de service 22 interroge à 16 :30 :08.386 le module de synchronisation 21 (étape 71), ce dernier va retourner la valeur délivrée par le bloc média additionnée de la différence entre la date de la dernière mise à jour module de synchronisation et la date de la requête faite par le module de service, soit dans l'exemple 15 considéré 00 :17 :20 + (16 :30 :08.386 - 16 :30 :05.140) = 00 :17 :23.246. Ainsi, grâce au fait que le module de synchronisation 21 garde la date de sa dernière mise à jour, on peut connaître à tout moment la position actuelle dans le film à quelques millisecondes près, correspondant au temps de réponse du bloc média 12. Le module de service 22 entre en fonction lorsqu'il reçoit une information 20 correspondante du module de synchronisation 21, lorsqu'un contenu est en cours de lecture. Le module de service 22 va chercher les fichiers de sous-titres par FTP, soit directement sur le bloc média 12 , soit dans un serveur FTP dans le réseau interne du cinéma. Les sous-titres sont de préférence envoyés aux appareils individuels 30 r7-, diffusion UDP dans un canal défini. 25 L'avantage d'une diffusion UDP est l'absence de contrôle de la réception, ce qui évite une latence correspondante. La transmission des données du serveur 20 aux 3024813 8 appareils individuels 30 s'effectue ainsi en mode non connecté, ce qui n'impose aucune limite pour le nombre de connexions. Pour tenir compte du risque de perte de paquets, puisque le serveur 20 n'exerce pas de contrôle de la bonne réception des données, le même sous-titre est envoyé 5 plusieurs fois comme illustré sur la figure 4, avant l'affichage sur l'écran de l'appareil individuel 30 à taff. On a par exemple n égal à 5. L'intervalle de temps At entre deux tâches d'envoi de données est par exemple de 1 seconde. Les sous-titres sont ainsi préparés les uns après les autres au fur et à mesure de l'avancement dans la séance. Plus précisément, à un ins t donné précédent taff, pendant une durée Dprep il y a préparation des n tâches 10 asynchrones qui correspondent à l'envoi n fois d'un même sous-titre. La préparation d'une tâche d'envoi consiste à indiquer le paquet à envoyer et le numéro de port sur lequel celui-ci doit être envoyé. Il y a réveil des tâches, c'est-à-dire que les tâches commencent à être exécutées, après laps de temps prédéfini, par exemple de 2,5s, ce qui correspond pour la première tâche à t1 sur la figure 4, puis ensuite par exemple toutes les 1 s pour les suivantes. 15 On a ainsi le réveil de la deuxième tâche à t2 3,5 s, de la troisième à t3 4,5 s, ...Au réveil d'une tâche, par exemple pour la première à t1, le paquet est envoyé sur le port indiqué, après une durée Dre, d'au plus 100 ms. Dans chaque paquet j de données envoyées à un appareil indvi:130, on trouve de préférence : - le texte à afficher avec les normes d'affichage, nctarntnent la couleur, 20 position gauche, centré ou droite, italique, ... le iéro du sous-titre, le temps d'attente (taff - ti) avant l'affichage, et le temps d'apparition du texte. Le temps d'affichage peut avoir un léger décalage avec le moment d'affichage 25 réel, compte-tenu du temps de traitement des paquets par l'appareil. Il est tenu compte dans 3024813 9 un fichier de configuration réglable et lu par le programme 28 de ce temps de traitement, , est par exemple pris égal à 200 ms pour tous les appareils 30. Grâce à la présence, dans le paquet de données envoyées à l'instant ti,ri temps d'attente avant l'affichage et d'un identifiant du sous-titre, le sous-titre peut être affiché 5 en temps voulu quelque soit le paquet reçu. Le format d'envoi des sous-titres repose par exemple sur les technologies JSON et XML. De son côté, chaque appareil individuel 30 connecté à la borne wifi 18 écoute le port utilisé pour l'envoi des sous-titres. A réception d'un paquet, l'application qui 10 s'exécute sur l'appareil individuel 30 l'affiche, après avoir attendu le temps indiqué dans le paquet. Les paquets correspondant à un même numéro de sous-titre qui peuvent être reçus de façon redondante sont ignorés. Ainsi, l'appareil individuel 30 reste relativement passif, ce qui permet d'économiser les ressources et la batterie. Bien entendu, l'invention n'est pas limitée aux exemples qui viennent d'être 15 décrits. Il est ainsi possible de diffuser des sous-titres en des langues différentes sur des ports UDP différents. Chaque spectateur choisit le port UDI qui correspond à kLlgd:e 'il souhaite. L'expression « comportant un » doit se comprendre comme é t synonyme de « comprenant au moins un ». 20 REVENDICATIONS1. Procédé de diffusion de sous-titres correspondant à un contenu affiché sur un écran individuel vers un appareil de visualisation (30), dans lequel on émet vers l'appareil (30) des données comportant le sous-titre à afficher sur l'appareil de visualisation et le décalage temporel avec lequel le sous-titre doit être affiché après réception par l'appareil de ce sous-titre, de telle sorte que le sous-titre soit affiché sur l'appareil (30) de façon sensiblement synchrone avec l'affichage dudit contenu sur l'écran. 2. Procédé selon la revendication 1, des données comportant le même sous-titre étant émises de façon successive avec un intervalle de temps entre elles, un même sous-titre 10 étant de préférence émis entre 2 à 10 fois, mieux 3 à 7. 3. Procédé selon la revendication 2, l'intervalle entre l'émission des données comportant le même sous-titre étant compris entre 0,75 et 1,25 s. 4. Procédé selon l'une quelconque des revendications 1 à 3, le contenu affiché provenant d'un bloc média (12) relié à au moins un projecteur DCP (13). 15 5. Procédé selon la revendication 4, dans lequel le bloc média (12) est interrogé par un module de synchronisation (21) pour connaître la position contextuelle et temporelle dans le contenu. 6. Procédé selon la revendication 5, le bloc média (12) étant interrogé via une surcouche (24) agencée pour assurer l'échange de données entre le module de 20 synchronisation (21) et le bloc média (12), de façon transparente pour le module de synchronisation vis-à-vis de l'interface de programmation API du bloc média. 7. Procédé selon l'une des revendications 5 et 6, l'interrogation (60) du bloc média (12) par le module de synchronisation (21) étant périodique. 8. Procédé selon la revendication 7, l'interrogation s'effectuant avec une 25 périodicité comprise entre 3 et 7 s. 3024813 11 9. Procédé selon la revendication 5, le module de synchronisation interrogeant le bloc média pour connaître l'un au moins parmi le statut, la référence de l'élément en cours de diffusion, la durée de l'élément, la durée de la séance, la position dans la séance. 10.Procédé selon la revendication 5, le module de synchronisation (21) 5 mémorisant la date de sa dernière mise à jour. 11.Procédé selon la revendication précédente, le module de synchronisation (21) fournissant en réponse à une requête faite par un module de service (22) une information temporelle correspondant à la position temporelle dans le contenu additionnée de la différence entre la date de la dernière mise à jour du module de synchronisation (21) et celle de la requête (65) du module de service. 12.Procédé selon l'une quelconque des revendications précédentes, les données comportant les sous-titres étant diffusées en mode non connecté aux appareils individuels (30), notamment en mode UDP. 13.Procédé selon l'une quelconque des revendications précédentes, des données 15 étant émises sur des ports différents, chaque port correspondant à une langue donnée. 14. Procédé selon l'une quelconque des revendications précédentes, les données transmises aux appareils individuels (30) comportant le texte à afficher, les normes d'affichage, l'identifiant du sous-titre, le temps d'attente avant affichage, le temps d'apparition du texte. 20 15. Procédé selon la revendication précédente, l'appareil individuel ignorant, après réception d'un paquet correspondant à un identifiant de sous-titre donné, les autres paquets correspondant au même identifiant de sous-titre. 16.Produit programme d'ordinateur comportant un ensemble d'instructions agencées pour s'exécuter sur un serveur (20) afin de réaliser les étapes du procédé tel que 25 défini dans l'une quelconque des revendications précédentes. 3024813 12 17.Produit programme d'ordinateur comportant un ensemble d'instructions agencées pour s'exécuter sur un appareil individuel de façon à recevoir les données émises selon le procédé tel que défini dans l'une des revendications 1 à 15, extraire les sous-titres et provoquer leur affichage sur un écran de l'appareil (30) en introduisant un retard transmis 5 avec les données, l'appareil individuel étant de préférence un téléphone intelligent, une tablette ou des lunettes intelligentes. 18.Cinéma équipé d'un serveur exécutant le produit programme d'ordinateur selon la revendication 16. 19.Cinéma selon la revendication 18, comportant au moins un émetteur sans fil, 10 de préférence wifi, pour transmettre les données aux appareils individuels présents dans une salle où est projeté le contenu, cette transmission s'effectuant de préférence en UDP.