Brevet FR3039349A1 — publié le 20170127

PROCEDE DE SYNCHRONISATION D'UN FLUX D'IMAGES AVEC DES EVENEMENTS AUDIO La présente invention concerne la présentation de données d'images en synchronisme avec des événements audio d'un enregistrement audio. Les logiciels d'édition vidéo conventionnels offrent aux utilisateurs la possibilité de modifier, gérer et créer différents types de contenu vidéo, 5 pouvant combiner et enchainer des séquences vidéo, du texte, des images fixes et des sons. Certains de ces logiciels peuvent permettre d'introduire des effets visuels tels que, progressivement rendre floue ou atténuer une image ou une séquence vidéo, et des transitions pour passer progressivement d'une image ou séquence vidéo à une autre. Ainsi grâce à 10 ces logiciels, l'utilisateur peut définir la durée d'affichage de chaque image fixe, et la durée de chaque transition, et attribuer un effet de transition. Cependant, la réalisation d'un diaporama à l'aide de tels logiciels reste longue et fastidieuse, si bien que ces logiciels sont peu utilisés. Il s'avère également que les procédés permettant de combiner un 15 enregistrement audio avec une séquence d'images ou un enchainement de séquences vidéo restent rudimentaires. Le brevet US 8 626 322 décrit un procédé pour analyser un enregistrement audio pour en extraire des données de caractérisation telles qu'un nombre de battements par minute, une force rythmique, une complexité harmonique, et pour combiner une 20 séquence d'images avec l'enregistrement audio sur la base des données de caractérisation. Il s'avère que les procédés d'analyse d'enregistrements audio ne sont pas fiables dans la mesure où ils ne parviennent pas toujours à extraire des données de caractérisation pertinentes pour synchroniser l'affichage d'une séquence d'images avec un enregistrement audio. En outre 25 ces procédés restent rudimentaires dans la mesure où ils ne permettent pas d'extraire d'un enregistrement audio des données de caractérisation suffisamment détaillées pour déterminer des effets à appliquer à une image affichée en fonction de ces données de caractérisation détaillées. En particulier, ces procédés d'analyse ne parviennent pas à distinguer les 30 différences sources sonores (instruments de musique, voix humaines) dans un enregistrement audio. Cette difficulté d'extraction est accentuée 3039349 2 notamment lorsque l'enregistrement a subi un encodage ou une compression qui a entrainé la suppression de certaines informations, notamment certaines fréquences inaudibles par l'oreille humaine. Or ces informations sont souvent déterminantes pour faciliter l'extraction de ces données de caractérisation. Par ailleurs, la chaine de traitement audio peut présenter une certaine latence qui varie d'un d'appareil à l'autre. Sur les téléphones mobiles y compris les téléphones intelligents, et sur les tablettes numériques, cette latence varie de quelques millisecondes à quelques centaines de millisecondes. A partir d'une cinquantaine de millisecondes, cette latence est en général perceptible par l'utilisateur. En outre, le système d'exploitation Android mis en oeuvre dans certaines tablettes numériques et certains téléphones mobiles, ne gère pas correctement les flux audio et ne permet pas de synchroniser finement un flux audio avec un autre flux. Ce problème apparaît au moins jusqu'à la version 5.0 du système d'exploitation Android. En particulier, le système d'exploitation Android comporte une fonction intitulée "getcurrentposition()" appartenant à la classe "MediaPlayer", qui est censée fournir une information précise sur la position d'un échantillon audio d'un fichier audio en cours de lecture par le programme de restitution audio du système d'exploitation. Il s'avère que la position fournie par la fonction "getcurrentposition()" présente un caractère aléatoire présentant avec la réalité une erreur pouvant atteindre plusieurs centaines de millisecondes, donc perceptible par l'utilisateur. Pour synchroniser un flux audio avec un flux d'images, il convient également de tenir compte du système de perception humain. En effet, la perception d'une image entre le moment où elle est présentée à l'oeil est le moment où elle est perçu par le cerveau prend un peu plus de 100 ms. En revanche, un son est perçu par le cerveau en environ 20 ms, soit un écart entre le son et l'image, si ces derniers sont émis de manière parfaitement synchrone, de l'ordre d'une centaine de millisecondes qui est également perceptible par l'utilisateur. Il est donc souhaitable de proposer un procédé permettant de synchroniser un flux audio avec des images d'un diaporama et en particulier avec des effets d'affichage permettant d'animer les images du diaporama. Des modes de réalisation concernent un procédé de détection du début de la lecture d'un enregistrement audio par un programme de 3039349 3 restitution audio exécuté par un terminal, le procédé comprenant des étapes consistant à: activer la lecture par le programme de restitution audio d'un enregistrement audio, effectuer une première mesure d'une position courante de lecture par le programme de restitution audio de l'enregistrement audio, 5 pour obtenir une première position, effectuer une seconde mesure d'une position courante de lecture par le programme de restitution audio de l'enregistrement audio, pour obtenir une seconde position, la seconde mesure étant répétée tant qu'un écart entre la seconde position et la première position n'est pas supérieur à une valeur de seuil d'écart, et fournir 10 une valeur de l'instant courant en tant qu'instant de démarrage effectif de la lecture de l'enregistrement audio lorsque l'écart entre la seconde position et la première position est supérieure à la valeur de seuil d'écart. Selon un mode de réalisation, le procédé comprend plusieurs étapes de mesure d'une position courante de lecture par le programme de restitution 15 audio de l'enregistrement audio, lorsque l'écart entre la seconde position et la première position est supérieure à la valeur de seuil d'écart,l'instant de démarrage effectif de la lecture de l'enregistrement audio étant déterminé lorsque la position courante mesurée est plusieurs fois supérieure à une position précédente mesurée. 20 Des modes de réalisation concernent également un procédé de génération d'un diaporama synchronisé avec des événements audio, par un terminal, le procédé comprenant des étapes exécutées par un terminal et consistant à: mémoriser une séquence de données d'image comprenant des images ordonnées, déclencher la restitution d'un enregistrement audio, 25 exécuter le procédé de détection défini précédemment, pour détecter un instant de démarrage de la restitution de l'enregistrement audio, lire un fichier synchronisation lié à l'enregistrement audio et définissant des fenêtres temporelles d'affichage d'une image, chaque fenêtre temporelle étant définie par des données définissant des instants de début et de fin de la fenêtre 30 temporelle, par rapport à un instant initial, et étant associée à un rang d'image de la séquence de données d'image et à des données d'effet d'affichage à appliquer à une image à afficher durant la fenêtre temporelle, les instants de début et de fin de chaque fenêtre temporelle étant synchronisés avec des événements audio de l'enregistrement audio, et 35 générer successivement des trames d'image en synchronisme avec la 3039349 4 restitution de l'enregistrement audio, en tenant compte de l'instant initial détecté de la restitution de l'enregistrement audio, chaque trame d'image étant à afficher pendant une période de trame. Selon un mode de réalisation, le procédé comprend des étapes 5 consistant à déterminer pour chaque trame d'image : au moins une fenêtre temporelle active en fonction d'un instant de début de trame et des données définissant les instants de début et de fin des fenêtres temporelles, une image de la séquence de données d'image, à afficher pour chaque fenêtre temporelle active, en fonction du rang d'image associé à la fenêtre 10 temporelle active, et une animation d'affichage pour chaque image à afficher, en fonction des données d'effet d'affichage de la fenêtre temporelle active correspondante et de l'instant de début de trame, chaque trame d'image étant formée à partir de l'image correspondant à chaque fenêtre temporelle active, à laquelle est appliqué l'animation d'affichage déterminée pour 15 l'image. Selon un mode de réalisation, le procédé comprend une étape de détermination d'un instant initial d'affichage des images en retranchant une certaine durée à l'instant de démarrage déterminé de restitution de l'enregistrement audio, pour tenir compte d'un l'écart de latence entre la 20 perception auditive et la perception visuelle du système sensitif humain, le séquencement de l'affichage des images étant effectué à partir de l'instant initial d'affichage des images ainsi déterminé. Selon un mode de réalisation, le procédé comprend des étapes de mesure d'une durée de préparation d'une image en vue de son affichage, et 25 de dégradation de la qualité de l'image si cette durée est supérieure à une valeur de seuil, la dégradation de la qualité de l'image étant effectuée en réduisant la résolution de l'image et/ou en augmentant un taux de compression de l'image. Selon un mode de réalisation, l'enregistrement audio est généré en 30 temps réel pendant sa restitution en enchainant plusieurs segments musicaux, chaque segment musical étant associé à un fichier de synchronisation permettant de synchroniser l'affichage d'images avec des événements audio du segment musical. Selon un mode de réalisation, une transition d'affichage entre deux 35 images successives de la séquence de données d'image est définie par une 3039349 5 période de chevauchement temporel de deux fenêtres temporelles successives, et une animation d'affichage de transition définie par les données d'effet d'affichage des deux fenêtres temporelles successives durant la période de chevauchement temporel. 5 Selon un mode de réalisation, des instants médians des transitions d'affichage sont synchronisés avec des événements audio de l'enregistrement audio. Selon un mode de réalisation, le procédé comprend des étapes d'affichage des trames d'image générées à l'écran du terminal, ou de 10 génération d'une séquence vidéo rassemblant les trames d'image générées. Des modes de réalisation concernent également un procédé d'enchainement de segments musicaux restitués par un terminal, les segments musicaux comprenant une transition de début s'étendant depuis le début du segment musical jusqu'à un instant de fin de la transition de début, 15 durant laquelle une atténuation décroissante est appliquée au volume sonore au début du segment musical, et une transition de fin s'étendant depuis un instant de début de la transition de fin jusqu'à la fin du segment, musical, durant laquelle une atténuation croissante est appliquée au volume sonore à la fin du segment musical, le procédé d'enchainement comprenant des 20 étapes consistant à: sélectionner un premier et un second segment musical à enchainer parmi un ensemble de segments musicaux extraits d'enregistrements musicaux, restituer le premier segment musical, exécuter le procédé de détection défini précédemment pour détecter un instant de démarrage effectif de la restitution du premier segment musical, déterminer 25 un instant de fin du premier segment musical en fonction de l'instant de début déterminé de la restitution du premier segment, déterminer un instant de début du second segment musical en faisant coïncider l'instant de fin du premier segment musical avec l'instant de fin de la transition de début du second segment musical, et restituer le second segment musical à l'instant 30 de début déterminé pour le second segment musical, en faisant se chevaucher la période entre l'instant de début du second segment musical et l'instant de fin du premier segment musical. Selon un mode de réalisation, le procédé comprend une étape de détermination d'un temps de latence dans le terminal entre un instant de 35 déclenchement de la restitution d'un segment musical et un instant de 3039349 6 démarrage de la restitution du segment musical par le terminal, l'instant de début de restitution du second segment étant déterminé en tenant compte du temps de latence déterminé. Selon un mode de réalisation, le procédé comprend des étapes 5 consistant à: ajouter au début d'un segment musical une section factice, activer la lecture par le programme de restitution audio du segment musical, déterminer un temps de latence entre l'instant d'activation du programme de restitution audio et l'instant de démarrage effectif de la lecture du segment musical, et déclencher un saut dans la lecture du segment 10 musical pour poursuivre la lecture au début du segment musical sans attendre la fin de la lecture de la section factice. Selon un mode de réalisation, le second segment musical est sélectionné en fonction d'au moins un des critères suivants : un rapport de nombres moyens de battements par unité de temps dans les premier et 15 second segments musicaux, compris entre 0,9xN et 1,1xN, ou entre 0,9/N et 1,1/N, N étant fixé à 1, 2 ou 4, une durée de transition de début du second segment proche d'une durée de transition de fin du premier segment, le second segment musical appartient à un genre musical du premier segment musical, et le second segment figurait au début d'un enregistrement musical. 20 Des modes de réalisation concernent également un terminal configuré pour mettre en oeuvre les procédés définis précédemment. Des exemples de réalisation de l'invention seront décrits dans ce qui suit, à titre non limitatif en relation avec les figures jointes parmi lesquelles : 25 la figure 1 représente schématiquement un système permettant de générer des fichiers de synchronisation et de distribuer des fichiers d'enregistrement audio associés chacun à un fichier de synchronisation d'affichage d'une série d'images, selon un mode de réalisation, les figures 2 et 3 représentent schématiquement des images 30 affichées, selon un mode de réalisation, lors de la génération d'un fichier de de synchronisation, la figure 4 représente schématiquement une partie des données d'affichage et de synchronisation relative à l'affichage d'une image de la série d'images, 3039349 7 la figure 5 représente schématiquement une partie des données d'affichage et de synchronisation relative à une transition entre l'affichage de deux images successives, la figure 6 représente schématiquement un mode de définition de 5 données temporelles relatives à l'affichage des images et aux transitions entre l'affichage de deux images successives, les figures 7A à 7F représentent schématiquement les extrémités d'un segment musical extrait, dans différentes situations, la figure 8 représente schématiquement un terminal configuré pour 10 assembler des segments musicaux, selon un mode de réalisation, la figure 9 représente schématiquement une extrémité de début d'un premier segment musical en relation avec une extrémité de fin d'un second segment musical avec lequel le premier segment est assemblé, la figure 10 représente des étapes d'une procédure d'assemblage de 15 segments musicaux. la figure 11 représente des étapes d'une procédure de détermination d'un instant de départ de la restitution d'un enregistrement audio, la figure 12 représente des étapes d'une procédure de sélection d'images et d'un enregistrement audio pour générer un diaporama, 20 la figure 13 représente des étapes exécutées pour générer un diaporama à partir de données de synchronisation, d'un fichier d'enregistrement audio et de données d'image, La figure 1 représente un système permettant de générer des fichiers de synchronisation et de distribuer des fichiers d'enregistrement audio 25 associés chacun à un fichier de synchronisation, pour générer et afficher un diaporama à partir d'une série d'images. Le système comprend un serveur SRV et des terminaux d'utilisateurs FT, MT, pouvant se connecter au serveur SRV par l'intermédiaire d'un réseau NT tel que le réseau Internet. Le serveur SRV est connecté à une base de données DB et à des terminaux 30 d'opérateurs GT configurés pour générer des fichiers de synchronisation MF, SF à partir de fichiers d'enregistrement audio AF, AFE. Les terminaux d'utilisateur peuvent comprendre des ordinateurs personnels FT et des terminaux mobiles MT tels que des téléphones "intelligents" (smartphones) et des tablettes numériques. 3039349 8 Le système peut également comprendre d'autres serveurs associés à chacun à une base de données contenant une partie des données enregistrées dans la base de données DB, et notamment des fichiers d'enregistrement audio associés chacun à un fichier de synchronisation. 5 Les adresses URL de ces serveurs ou des fichiers audio et de synchronisation qu'ils stockent peuvent être mémorisées dans la base de données DB. Pour générer les fichiers de synchronisation MF, SF, les terminaux d'opérateurs GT accèdent à la base de données DB par l'intermédiaire du 10 serveur SRV, pour y sélectionner et obtenir des fichiers d'enregistrement audio AF. Les terminaux d'opérateurs GT sont configurés pour lire et restituer le fichier d'enregistrement audio sélectionné. La figure 2 représente une image affichée par l'un des terminaux GT lorsque l'opérateur a sélectionné un fichier d'enregistrement musical AF. 15 L'image de la figure 2 présente en relation avec un axe temporel horizontal, une forme d'onde AWF représentative de deux voies stéréophoniques contenues dans le fichier d'enregistrement musical sélectionné. La zone d'affichage de la forme d'onde AWF comporte une barre verticale CPT affichée lors de la restitution sonore du fichier d'enregistrement musical. La 20 barre CPT constitue un curseur se déplaçant de la gauche vers la droite, qui indique l'instant de l'enregistrement musical AF en cours de restitution dans la forme d'onde AWF affichée. Le fichier d'enregistrement musical comprend un enregistrement musical sous forme numérisée, dans un format non compressé tel que WAV, AIFF ou OGG, ou bien dans un format compressé 25 tel que MP3, VVMA, FLAC, ALAC, AC3, AAC, etc. L'image de la figure 2 présente également une barre de zoom ZSB, une barre de marqueurs MKB, et des barres de sélection ESB de segments musicaux à extraire ou extraits. Chacune de ces barres indique des instants particuliers en relation avec l'axe temporel et à l'échelle de la forme d'onde 30 AWF affichée. La barre de marqueur MKB comprend des marqueurs MK délimitant des parties remarquables P1 à P6 de l'enregistrement musical, telles qu'une introduction, un ou plusieurs couplets, un refrain, un pont et une conclusion. La barre de zoom ZSB comporte deux marqueurs ZSM que l'opérateur peut déplacer dans la barre ZSB pour sélectionner une fenêtre 35 temporelle de la forme d'onde AWF à afficher spécifiquement à l'écran 3039349 9 d'affichage. Lorsque la fonction de zoom est activée, l'échelle d'affichage de la forme d'onde AWF est modifiée, et les positions des marqueurs dans les barres ZSB, MKB et ESB sont adaptées en conséquence. Chacune des barres ESB permet de définir en relation avec la forme d'onde AWF des 5 zones temporelles de segments à extraire de l'enregistrement musical correspondant à la forme d'onde AWF. Ainsi, la figure 2 présente un segment SG1 correspondant à une première occurrence de la partie P2 de l'enregistrement musical, un segment SG2 s'étendant sur la seconde moitié d'une première occurrence de la partie P3 et l'ensemble de la partie P4, un 10 segment SG3 s'étendant sur la seconde moitié d'une seconde occurrence de la partie P3 et l'ensemble de la partie P5, et un segment SG4 s'étendant sur la troisième occurrence de la partie P2 et l'ensemble de la partie P6. La figure 3 représente une image affichée par le terminal GT lorsque l'opérateur a sélectionné une zone à afficher à l'aide des marqueurs ZSM 15 dans la barre de zoom ZSB, par exemple à partir de l'image de la figure 2, et a introduit des données de synchronisation dans le terminal GT. Ces données de synchronisation comprennent des fenêtres temporelles ECOEC11 d'affichage d'une image et des données de transition TT, numérotées de 1 à 11 sur la figure 3, entre chaque paire de fenêtres temporelles 20 successives. Dans ce qui suit, le terme "image" peut désigner une photographie numérique ou une image d'une séquence vidéo numérique, ou plus généralement un objet graphique ou un ensemble d'objets graphiques, chacun étant représenté par une matrice de points ou susceptible d'être affiché sur un écran d'ordinateur ou de terminal mobile. 25 Chaque fenêtre temporelle EC1-EC12 et chaque transition TT est définie par des données spécifiant des instants de début et de fin de la fenêtre temporelle ou de la transition. Les bords gauche et droit des fenêtres temporelles ECO-EC11 et des transitions TT indiquent les instants de début et la fin de la fenêtre temporelle ou de la transition, par rapport à la forme 30 d'onde AWF. L'opérateur du terminal GT a la possibilité de définir et de déplacer à sa guise les bords gauche et droit de chaque fenêtre temporelle et chaque transition en fonction de la forme d'onde AWF ou en écoutant l'enregistrement audio correspondant et en repérant la position du curseur CPT aux instants remarquables de l'enregistrement audio. 3039349 10 Chaque fenêtre temporelle EC1-EC11 est associée à un rang d'image d'une série d'images à spécifier par l'utilisateur d'un des terminaux FT, MT. La fenêtre temporelle ECO n'est associée à aucune image, mais correspond à la période de blanc au début du fichier audio. La fenêtre ECO permet de 5 définir une première transition TT, numérotée 1, pour l'affichage d'une première image de la série d'images. Les fenêtres temporelles ECO-EC11 sont réparties dans deux bandes horizontales pour permettre de définir des chevauchements entre les fenêtres temporelles, la durée de chaque chevauchement correspondant à la durée d'une transition TT 10 correspondante. Les milieux des transitions TT peuvent correspondre aux premiers battements des mesures musicales ("downbeat") de l'enregistrement AF. Sur les figures 2 et 3, les traits délimitant le début et la fin de chaque segment SG1-5G4 dans les barres ESB, sont des traits verticaux ou 15 obliques. Les traits obliques au début ou à la fin du segment, indiquent une transition de durée non nulle, correspondant à la longueur de la projection du trait sur l'axe temporel horizontal, compte tenu de l'échelle des temps à laquelle est affichée la forme d'onde. Selon un mode de réalisation, la transition de début d'un segment 20 musical est effectuée appliquant une atténuation du volume sonore maximum au début de la transition, et en diminuant progressivement cette atténuation pour atteindre une atténuation nulle à la fin de la transition. De même, la transition de fin d'un segment est effectuée en partant avec une atténuation du volume sonore nulle au début de la transition pour atteindre 25 une atténuation maximum du volume sonore à la fin de la transition. De telles transitions de début et de fin permettent d'éviter des effets de "clic" sonore apparaissant dans les extraits musicaux compressés, lorsque ceux-ci sont coupés nets. Le début et la fin des segments musicaux ainsi fondus apparaissent bien plus naturels et agréables à l'oreille humaine qu'un extrait 30 musical coupé net. Les instants de début et de fin des transitions de début et de fin des segments musicaux SG1-5G4 coïncident avec un battement, situé au milieu d'une transition TT. A noter que les transitions de début et de fin de segment musical peuvent chacune avoir une durée minimum correspondant à la 35 période des battements au moment de la transition dans l'enregistrement 3039349 11 musical ou à la demi-largeur de la transition TT à cet instant. La position et l'inclinaison des traits de délimitation des segments SG1-SG4 peuvent être modifiées par l'opérateur directement dans les barres ESB. Chaque fenêtre temporelle EC1-EC11 permet de spécifier des 5 paramètres d'effets d'affichage d'une image à afficher durant la fenêtre temporelle. Ainsi, la figure 4 représente un exemple de contenu graphique d'une fenêtre temporelle EC pouvant correspondre à l'une des fenêtres temporelles EC1-EC11 présentées dans l'image de la figure 3. La fenêtre temporelle EC comporte plusieurs zones d'effet d'affichage EF1-EF6 10 spécifiant chacune un paramètre d'effet d'affichage. Chaque zone d'effet d'affichage spécifie pour un paramètre d'affichage respectif une courbe d'évolution de la valeur de ce paramètre. Chaque courbe d'évolution spécifiée dans une zone d'effet d'affichage EF1-EF6 s'étend entre les bords gauche et droit de la fenêtre temporelle EC , c'est-à-dire entre les instants 15 de début et de fin de la fenêtre temporelle EC . Chaque courbe d'évolution d'un paramètre d'affichage est définie par deux points d'extrémité gauche et droit et éventuellement des points intermédiaires, et par un segment de droite reliant les deux points de chaque paire de points consécutifs. Ainsi la courbe de l'effet d'affichage EF2 est définie par des 20 points PTO à PT5 et des segments SG1 à SG5 entre les points PTO-PT5. Les zones d'effet d'affichage EF1-EF6 peuvent indiquer un niveau neutre NL indiquant où est située la valeur du paramètre d'affichage n'introduisant pas de modification de l'image d'origine. Les positions des points sont définies entre 0 et 100% ou entre -100% et +100% d'une valeur maximale du 25 paramètre considéré indiquée dans une zone en haut à gauche de la zone d'effet d'affichage. Ainsi, les paramètres d'effets d'affichage peuvent définir par exemple un zoom, une rotation, une translation, une vibration, ou une atténuation de l'image. Les paramètres d'affichage peuvent comprendre par exemple : 30 - une valeur ZLV et une vitesse de variation ZSP de zoom, - une valeur FLV entre 0 et 100% et une vitesse de variation FSP de transparence ou d'atténuation de l'image, - un angle RANG et une vitesse RSP de rotation de l'image par rapport à une fenêtre d'affichage de l'image, 3039349 12 - une amplitude, une vitesse et une direction de translation de l'image par rapport à une fenêtre d'affichage de l'image, - une amplitude, une fréquence et une direction de vibration (en translation suivant x ou y, en rotation, en zoom ou en atténuation), 5 - des variations géométriques du format de l'image, - des variations de couleur de l'image, - etc. Chaque fenêtre temporelle EC peut comprendre un indicateur spécifiant si la fenêtre temporelle est associée à la même image (duplication 10 d'image) que la fenêtre temporelle précédente EC ou si elle est associée à une image suivante dans la série d'images sélectionnée par l'utilisateur. Ainsi la fenêtre temporelle EC comprend un bandeau inférieur divisé en une partie gauche TPM et une partie droite DPM, la partie droite DPM étant blanche ou colorée pour indiquer si l'image attribuée à la 15 fenêtre temporelle précédente est également attribuée à cette fenêtre temporelle. La partie droite TPM de ce bandeau peut être utilisée pour spécifier que la fenêtre temporelle est de préférence associée à une image identifiée comme remarquable par l'opérateur. Cette indication peut entrainer une modification du rang d'affichage de la série d'images sélectionnée par 20 l'utilisateur. La figure 5 représente en particulier les transitions TT et TT avant et après la fenêtre temporelle EC . La transition TT est située entre les fenêtres temporelles EC et EC , et la transition TT est située entre les fenêtres temporelles EC et EC . La figure 6 25 représente sur un axe temporel les instants de début et de fin et les durées des fenêtres temporelles EC , EC et EC et des transitions TT et TT . Le bord gauche, c'est-à-dire l'instant de début ECP de la fenêtre temporelle EC correspond à l'instant de début de la transition TT . Le bord droit, c'est-à-dire l'instant de fin de la fenêtre 30 temporelle EC correspond à l'instant de fin de la transition TT . De même, le bord gauche, c'est-à-dire l'instant de début ECP de la fenêtre temporelle EC correspond à l'instant de début de la transition TT . Le bord droit, c'est-à-dire l'instant de fin de la fenêtre temporelle EC correspond à l'instant de fin de la transition TT . 3039349 13 Sur la figure 6, chaque fenêtre temporelle EC est définie par une position ECP correspondant à l'instant de début de la fenêtre temporelle, et une durée ECW . De même, chaque transition TT est définie par une position TTP correspondant à l'instant médian de la transition, et une 5 durée TTW . Ainsi, l'instant de début ECP de la fenêtre temporelle EC est égal à l'instant de début de la transition TT , lequel est égal à TTP - TTW /2. L'instant de fin de la fenêtre temporelle EC (égal à ECP + ECW ) est égal à l'instant de fin de la transition TT , c'est-à-dire à TTP + TTW , ou toute donnée utile à la détermination des paramètres d'effet d'affichage EF. 5 Le terminal GT peut ainsi mettre en oeuvre plusieurs outils d'analyse de signal audio qui peuvent être activés par l'opérateur en cas de besoin, pour seconder l'oreille humaine. A chaque occurrence d'un événement audio détecté, l'opérateur peut spécifier la position d'une transition en introduisant une commande sur le 10 terminal GT, par exemple par un clic de souris, ou l'actionnement d'une touche de clavier dédiée, ce qui a pour effet de spécifier les instants TTP médians des transitions TT . Cette opération a pour effet de créer des transitions TT d'une durée prédéfinie et des fenêtres temporelles EC entre les transitions. L'opérateur peut ensuite ajuster la durée de chaque 15 transition TT ou de chaque fenêtre temporelle EC , ce qui a pour effet d'ajuster la durée de chaque fenêtre temporelle EC ou de chaque transition TT . L'opérateur peut ensuite définir des effets d'affichage EF pour chaque fenêtre temporelle et un mode de transition pour chaque transition. A cet effet, le terminal GT est configuré pour permettre à 20 l'opérateur d'ajouter ou supprimer des zones d'effet d'affichage EF et de déplacer et ajouter des points dans les zones d'effet d'affichage EF. Le terminal GT est également configuré pour offrir à l'opérateur des fonctions de copier-coller pour dupliquer des séquences de fenêtres temporelles et de transitions, qu'il peut associer à des phases répétitives de 25 l'enregistrement audio. L'écran d'affichage du terminal GT peut comporter une fenêtre d'affichage d'une image, pour visualiser les effets obtenus sur une série d'images, au fur et à mesure de la définition des fenêtres temporelles et des transitions. Une fois que l'opérateur a défini toutes les fenêtres temporelles d'un 30 fichier d'enregistrement audio, toutes les données spécifiant ces fenêtres temporelles sont rassemblées dans un fichier de synchronisation principal MF qui est introduit dans la base de données DB, associé avec le fichier d'enregistrement audio correspondant AF. Un exemple de fichier de synchronisation principal est donné en Annexe I. Ce fichier est écrit dans un 35 langage standard tel que JSON (JavaScript Object Notation). 3039349 15 Réciproquement, un tel fichier MF peut être lu et représenté graphiquement sous la forme telle que présentée sur la figure 3. Le fichier de synchronisation principal MF introduit par un mot-clé "AudioCase" rassemblant la désignation d'un fichier d'enregistrement audio 5 et des données synchronisation correspondant au fichier audio. Le fichier de synchronisation principal MF comprend un mot-clé "AudioFile" permettant d'introduire un nom de fichier d'enregistrement audio. Le fichier de synchronisation principal MF comprend ensuite : - une liste de marqueurs introduite par le mot-clé "listMarkers", 10 - une liste de d'étiquettes introduite par le mot-clé "tags". - une liste de zones introduite par le mot-clé "listZones", - une liste de transitions introduite par le mot-clé "listTransition", - une liste de données de spécification de fenêtres temporelles, introduite par le mot-clé "listPhotoFile", et 15 - une liste de fichiers de synchronisation dérivés, extraits du fichier de synchronisation principal, cette liste étant introduite par le mot-clé "listSubCases", La liste de marqueurs correspond aux différents marqueurs MK introduits dans la barre de marquage MB. Chaque marqueur MK est associé 20 dans la liste à une position définie par exemple en millisecondes depuis le début du fichier audio. La liste de zones correspond aux zones délimitées par les marqueurs MK. Chaque zone de la liste est associée à un numéro 1, 2, 3, 4, 5, correspondant à un type de zone (introduction, couplet, refrain, solo, ...). Ces marqueurs peuvent être affichés par le terminal GT sur plusieurs 25 lignes, chaque ligne étant assignée à une catégorie de marqueur, comme par exemple : - ligne 1 : marqueurs délimitant la structure couplet/refrain du morceau, - ligne 2: marqueurs repérant les motifs répétitifs à l'intérieur des refrains/couplets, 30 - ligne 3: marqueurs spécifiques introduits par l'opérateur, - ligne 4: autres marqueurs, La liste des transitions définit chaque transition TT introduite par l'intermédiaire du terminal GT (figure 3). Chaque transition est définie par une durée de transition en millisecondes, introduite par le mot-clé 35 "widthTransition", un type de transition, introduite par le mot-clé 3039349 16 "typeTransition, et une position en millisecondes, introduite par le mot-clé "position". La position de chaque transition correspond à l'instant médian de la transition TTP comme indiqué sur la figure 6. Dans l'exemple de l'Annexe I, le type de transition est "FADE" signifiant que l'image suivante est 5 affichée sur l'image précédente en ajustant son opacité de 0 à 100%. D'autres types de transitions peuvent être mis en oeuvre en appliquant un zoom, une translation horizontale ou verticale, une rotation combinée à un zoom, etc. Dans la liste des fenêtres temporelles, chaque fenêtre temporelle 10 comprend des mots-clés "isDUPLICATE", "isTOP" et "effect". Le mot-clé isDUPLICATE" introduit une valeur booléenne indiquant si l'image correspondant à la fenêtre temporelle est identique à celle attribuée à la fenêtre temporelle précédente. Le mot-clé "isTOP" introduit une valeur booléenne indiquant si l'image correspondant à la fenêtre temporelle est une 15 image indiquée comme remarquable par l'utilisateur. Le mot-clé "effect" introduit une liste définissant tous les effets d'affichage EF1-EF6 à appliquer à l'image correspondante. Chaque élément de la liste "effect" comprend des mots-clés "duration", "timeposition", "param" et "typeEffect". Les mots-clés "duration" et "timeposition" introduisent respectivement la durée et l'instant 20 de début de l'effet. Le mot-clé "typeEffect" définit un type d'effet d'affichage correspondant à ceux définis pour les zones EF1-EF6. Le mot-clé "param" permet de définir les courbes spécifiées dans les zones EF1-EF6. Ce mot-clé introduit une liste d'effets d'affichage, chaque effet d'affichage étant introduit par le mot-clé "effectPoint". Chaque effet d'affichage est défini par une liste 25 de points comprenant au moins un point de début et un point de fin de la courbe, chaque point étant défini par des valeurs de coordonnées "x" et "y", une valeur maximum introduite par le mot-clé "max" sur laquelle est appliqué un pourcentage défini par la courbe, un type d'effet introduit par le mot-clé "name", et un type de paramètre introduit par le mot-clé "typeParam". Les 30 types d'effet peuvent être par exemple : - "f.level" pour définir une valeur d'atténuation, - "tx.speed" et "tx.level", "ty.speed" et "ty.level" pour définir une vitesse et une valeur de translation en x et en y, - "z.speed" et "z.level" pour définir une vitesse et une valeur de zoom, 35 - "r.speed" et "r.level" pour définir une vitesse et une valeur de rotation. 3039349 17 D'autres mots-clés pourraient être présents comme "isENERGY", "isPARTNER", "isPUB", etc... Le mot-clé "isENERGY" introduit une valeur booléenne indiquant si la fenêtre temporelle correspondante est une fenêtre de haute intensité énergétique audio. Le mot-clé "isPARTNER" introduit une 5 valeur booléenne indiquant si la fenêtre temporelle correspondante est une fenêtre destinée à accueillir une photo d'un partenaire commercial. Le mot-clé "isPUB" introduit une valeur booléenne indiquant si la fenêtre temporelle correspondante est une fenêtre destinée à accueillir une image publicitaire. La première fenêtre temporelle définie dans l'Annexe I est vide et 10 correspond au blanc du début du fichier audio, soit par exemple la fenêtre temporelle ECO de la figure 3. La seconde fenêtre temporelle correspond par exemple à la fenêtre EC1. A partir d'un fichier de synchronisation principal MF, il est possible d'extraire des fichiers de synchronisation dérivés SF, grâce aux barres de 15 sélection ESB affichées sous la forme d'onde AWF (figure 3). Dans l'exemple de la figure 3, un fichier de synchronisation dérivé incluant les fenêtres temporelles EC6 à EC9, a été extrait en positionnant manuellement le début et la fin d'une barre colorée SG1 dans les barres ESB. Cette opération a pour effet d'extraire un nombre entier de fenêtres temporelles du fichier de 20 synchronisation principal MF et de générer un fichier de synchronisation dérivé SF à partir des fenêtres temporelles extraites et des paramètres d'affichage associés, et d'extraire un fichier d'enregistrement audio, ou segment musical AFE correspondant à la plage temporelle définie par les fenêtres temporelles extraites dans le fichier de synchronisation dérivé SF. 25 Le fichier de synchronisation dérivé SF est stocké dans la base de données DB, associé avec le fichier AFE correspondant. A ces deux fichiers, peuvent être ajoutés un fichier correspondant à la vignette de l'album de l'enregistrement audio d'où est extrait le fichier de segment musical AFE, ainsi qu'un fichier CRC (Contrôle de redondance cyclique) permettant de 30 vérifier l'intégrité des 3 autres fichiers. L'ensemble de ces trois fichiers peut être compressé, par exemple sous la forme d'un fichier ZIP, avant d'être chargé dans la base de données DB. Les utilisateurs ont ensuite accès par téléchargement depuis leur terminal MT, FT aux fichiers de synchronisation dérivés SF et leurs fichiers d'enregistrement de segments musicaux AFE 35 associés, ainsi stockés dans la base de données DB. A chaque fois qu'un 3039349 18 fichier de synchronisation dérivé SF est extrait d'un fichier de synchronisation principal MF, un élément peut être ajouté dans la liste "listSubFrames" des fichiers de synchronisation dérivés extraits, figurant dans le fichier de synchronisation principal MF. 5 Un exemple de fichier de synchronisation dérivé SF est donné en Annexe II. Ce fichier est écrit également dans un langage standard tel que JSON. Pour générer un fichier de synchronisation dérivé SF à partir d'un fichier de synchronisation principal MF, toutes les transitions et les effets d'affichage intégrés dans les fenêtres temporelles sont convertis en 10 propriétés d'animation correspondant aux commandes de base de l'interface graphique des différents terminaux MT, FT, et les fenêtres temporelles associées à une même image sont fusionnées ("isDUPLICATE":true). Un fichier de synchronisation dérivé SF contient donc une liste de fenêtres temporelles correspondant aux fenêtres temporelles EC extraites du 15 fichier de synchronisation principal MF, chaque fenêtre temporelle du fichier SF étant associée à des propriétés d'animation résultant de la traduction des propriétés d'affichage de la fenêtre temporelle, lues dans le fichier MF, ces propriétés d'animation étant directement exploitables par le système d'exploitation (OS) du terminal MT, FT pour commander l'affichage des 20 images du diaporama. Les ressources du terminal MT, FT mises en oeuvre pour exploiter un fichier SF sont donc minimisées. Un terminal même bas de gamme peut donc exploiter un fichier SF définissant des d'effets d'affichage complexes et à une cadence élevée. Chaque fenêtre temporelle d'un fichier de synchronisation dérivé SF 25 comprend des mots-clés "duration", "isTOP", "effect", "position" et "idPhoto". Les mots-clés "duration" et "position" introduisent respectivement la durée et l'instant de début de la fenêtre temporelle, en millisecondes. Le mot-clé "isTOP" est simplement extrait du fichier de synchronisation principal MF. Le mot-clé "idPhoto" permet de spécifier un numéro de rang d'image attribué à 30 la fenêtre temporelle, dans la série d'images associée au fichier de synchronisation dérivé par l'utilisateur. Le mot-clé "effect" introduit une liste définissant tous les effets d'affichage EF1-EF6 à appliquer à l'image correspondante. Chaque élément de la liste "effect" est introduit par le mot-clé "param" et définit un effet d'affichage. Chaque effet d'affichage est défini 35 par une liste d'effets introduits chacun par le mot-clé "effectPoint", suivi d'un 3039349 19 type d'effet introduit par le mot-clé "typeEffect". Chaque mot-clé "effectPoint" est suivi d'une liste de coordonnées (x, y) de points, et d'un nom introduit par le mot-clé "name". Les valeurs y des points sont calculées en multipliant le pourcentage défini pour le point correspondant dans le fichier de 5 synchronisation principal MF par la valeur maximum introduite par le mot-clé "max". Le mot-clé "typeEffect" définit un type de paramètre d'affichage. Ainsi, le mot-clé "typeEffect" peut être associé aux valeurs "SCALE" (pour définir une valeur de zoom), "OPACITY" (pour une valeur d'opacité), "TRANSLATE" (pour définir une amplitude et une direction de translation de l'image), 10 "ROTATE" (pour définir un angle de rotation de l'image), ... Le fichier de synchronisation dérivé SF donné en Annexe II spécifie une première fenêtre temporelle (correspondant à la fenêtre ECO de la figure 3 - "idPhoto":0)) commençant à l'instant -130 ms et durant 3160 ms. La première fenêtre temporelle se termine donc à l'instant 3030 ms. La 15 deuxième fenêtre temporelle est affectée à l'image de rang 1 ("idPhoto":1), commence à l'instant 2620 ms et dure 2287 ms. Il en résulte que les première et deuxième fenêtres temporelles se chevauchent pendant une durée de 410 ms définissant une première transition d'affichage de la première image. La deuxième fenêtre temporelle se termine à l'instant 20 4807 ms. La troisième fenêtre temporelle est affectée à l'image de rang 2 ("idPhoto":2), commence à l'instant 4647 ms et dure 1910 ms. Les deuxième et troisième fenêtres temporelles se chevauchent donc pendant une durée de 160 ms définissant une deuxième transition d'affichage entre les première et deuxième images. La troisième fenêtre temporelle se termine à l'instant 25 6557 ms. D'après le fichier de synchronisation dérivé figurant en Annexe II, il peut ainsi être déterminé notamment que les transitions entre les deuxième et troisième images et entre les troisième et quatrième images durent 260 ms. Deux fichiers de synchronisation dérivés SF et les deux fichiers 30 d'enregistrement de segments musicaux AFE associés peuvent être concaténés pour former un unique fichier de synchronisation dérivé SF et un unique fichier d'enregistrement de segment musical AFE. Il est préférable pour cela que les deux fichiers audio soient relatifs à un même genre musical et que la forme d'onde à la fin du premier fichier d'enregistrement de 35 segment musical fusionné corresponde à la forme d'onde du début du 303 934 9 20 second fichier d'enregistrement de segment musical fusionné. Les fichiers de synchronisation dérivés SF et leur fichier d'enregistrement de segment musical AFE associé peuvent ainsi être assemblés pour constituer de nouveaux fichiers de synchronisation dérivés SF associés à leur fichier 5 d'enregistrement de segment musical AFE. Pour assurer une transition "douce" entre deux segments musicaux ainsi assemblés, les fichiers de synchronisation dérivés SF peuvent comprendre des informations supplémentaires introduites par les étiquettes suivantes : - "isStart" indiquant si le segment musical correspondant est utilisable ou non 10 au début d'un diaporama (par exemple si volume sonore augmente progressivement au début du segment musical), - "isEnd" indiquant si le segment musical correspondant est utilisable ou non à la fin d'un diaporama (si volume sonore diminue progressivement à la fin du segment musical), 15 - "StartLevel" indiquant un niveau de volume au début (typiquement durant les premières 100 à 300 ms) du segment musical correspondant, - "EndLevel" indiquant un niveau de volume à la fin (typiquement durant les dernières 100 à 300 ms) du segment musical correspondant, - "CPM" indiquant un nombre moyen de fenêtres temporelles défilant par 20 minute pour le segment musical correspondant, - "BPM" indiquant un nombre moyen de battements par minute dans le segment, - "BPM-S" indiquant un nombre de battements par minute au début du segment (typiquement durant les premières 100 à 300 ms), 25 - "BPM-E" indiquant un nombre de battements par minute à la fin du segment (typiquement durant les dernières 100 à 300 ms), - "BPM-P" indiquant un nombre de battements par minute (typiquement durant les dernières 100 à 300 ms) avant le début du segment, - "BPM-N" indiquant un nombre de battements par minute (typiquement 30 durant les premières 100 à 300 ms) après la fin du segment, - "TSS" indiquant le numéro, dans l'enregistrement musical d'où est extrait le segment, du premier battement ou de la transition TT correspondant à l'instant de début de la transition de début TS du segment, 3039349 21 - "TSE" indiquant le numéro, dans l'enregistrement musical d'où est extrait le segment, du battement ou de la transition TT correspondant à l'instant de fin de la transition de début TS du segment, - "TES" indiquant le numéro, dans l'enregistrement musical d'où est extrait le 5 segment, du battement ou de la transition TT correspondant à l'instant de début de la transition de fin TE du segment, - "TEE" indiquant le numéro dans l'enregistrement musical d'où est extrait le segment, du battement ou de la transition TT correspondant à l'instant de fin de la transition de fin TE du segment, 10 - "ANA-S" indiquant si une séquence de voix principale du segment commence durant la transition de début du segment, - "ODB-S" indiquant si l'instant TSE du segment coïncide ou non avec un battement de début de mesure musicale de l'enregistrement musical, - "ODB-E" indiquant si l'instant TEE du segment coïncide ou non avec un 15 battement de début de mesure musicale. Ici et dans ce qui suit, "voix principale" désigne une séquence musicale produite par un ou simultanément plusieurs instruments ou chanteurs (voix humaine ou instrument à vocation mélodique plus que rythmique, en général vecteur du thème principal de l'enregistrement audio), 20 cette séquence apparaissant seule ou au premier plan d'un enregistrement musical. L'indicateur "ANA-S" spécifie si une voix principale de l'enregistrement musical commence entre les instants "TSS" et "TSE" (présence d'une anacrouse d'entrée). Une anacrouse est une note ou une séquence de notes précédant un temps fort (par exemple un battement de 25 début d'une mesure) d'une séquence musicale. Une anacrouse peut faire partie de la mélodie ou de l'accompagnement comme la mise en arpège d'un premier accord ou une courte levée de batterie donnant une impulsion de départ d'une séquence musicale. D'autres étiquettes peuvent être également prévues pour permettre à 30 l'opérateur de spécifier notamment différentes informations qualitatives, relatives au contenu musical de l'enregistrement musical d'où est extrait le segment. Les valeurs de certaines de ces étiquettes peuvent être définies en fonction des valeurs des étiquettes de la liste d'étiquettes "listTags" figurant dans le fichier MF associé au fichier d'enregistrement musical AF. 35 Ces étiquettes permettent de préciser par exemple : 3039349 22 - une humeur (agressive / douce-amère / heureuse / amoureuse / festive / relaxante / sensuelle / spirituelle), - un tempo (sommeil / calme / modéré / rapide / très rapide), - un thème qui peut être spécifié par la décennie à laquelle appartient la date 5 de création de l'enregistrement musical, ou par un mot-clé tel que "sport", "mariage", "naissance", "vacances", "travail", "école", "amour", "amitié", etc. - un genre (classique, rock, disco, reggae, jazz, blues, country, electro, dance, grunge, hip-hop, ...), - une langue de champ si l'enregistrement musical comporte un chant, 10 - un pays d'origine de l'artiste, - etc. D'autres étiquettes peuvent être également prévues pour définir des limitations relatives au terminal MT, FT comme un débit maximum de fenêtres temporelles par minute ou un nombre maximum de fenêtres 15 temporelles par rapport au temps total de restitution du segment musical AFE, un nombre maximum d'images affichées par minute, etc. Les figures 7A, 7B, 7C, 7D, 7E et 7F présentent différents cas de début et de fin de segments SG extraits d'un enregistrement musical. Les figures 7A à 7F présentent également la forme d'onde MVC d'une voix 20 principale de l'enregistrement musical. Les figures 7A et 7B correspondent à des cas de découpage de segment corrects. La figure 7A illustre le cas le plus courant d'une séquence de voix principale MVC de l'enregistrement musical commençant après l'instant de fin TSE de la transition de début TS du segment SG. Dans le cas de la figure 7A, une voix principale se termine 25 avant l'instant de fin TEE de la transition de fin TE du segment SG. Les instants TSE et TEE correspondent à des battements de début de mesure musicale (ODB-S et ODB-E = "true"). Dans le cas particulier de la figure 7A, les instants de début TSS et de fin TSE de la transition de début TS du segment SG sont sensiblement identiques (TSS=TSE, c'est-à-dire FAD- 30 S="false") et les instants de début FES et de fin TEE de la transition de fin TE du segment SG sont différents (TES#TEE, c'est-à-dire FAD-E="true"). En pratique, les transitions de début et de fin présentent une durée minimum située entre 20 et 40 ms. Cette disposition permet d'éviter des effets de bruits parasites (clic sonore) apparaissant en cas de coupure brutale d'un 35 enregistrement sonore. 3039349 23 La figure 7B illustre le cas où l'instant de fin TSE de la transition de début TS du segment SG correspond à un battement de début de mesure musicale (ODB-S = "true") et où une séquence de voix principale MVC de l'enregistrement musical commence entre les instants de début TSS et de fin 5 TSE de la transition de début TS du segment SG (anacrouse d'entrée). Dans le cas de la figure 7B, une voix principale se termine avant l'instant de fin TEE de la transition de fin TE du segment SG. Les figures 7C, 7D, 7E et 7F illustrent des cas de découpage de segment à éviter. Dans le cas des figures 7C à 7E, une partie CTP d'une 10 séquence MVC de voix principale de l'enregistrement musical est coupée. Dans le cas de la figure 7C, la séquence MVC de voix principale de l'enregistrement musical se termine après l'instant de début TSS de la transition de début TS du segment SG. Dans le cas de la figure 7D, la séquence MVC de voix principale de l'enregistrement musical commence 15 avant l'instant de début TSS de la transition de début TS du segment SG. Dans le cas de la figure 7E, la séquence MVC de voix principale de l'enregistrement musical se termine après l'instant de fin TEE de la transition de fin TE du segment SG. Dans le cas illustré par la figure 7F, une séquence de voix principale MVC1 se termine après le démarrage d'une 20 séquence de voix principale MVC2. Si l'on place le début TSS du segment SG juste avant le début de la séquence de voix principale MVC2, la séquence MVC1 est coupée, ce qui n'est pas souhaitable. Il résulte des figures 7A à 7F que la procédure à appliquer pour réaliser une extraction correcte d'un segment, consiste à repérer des 25 périodes de pause entre des séquences de voix principale, dans un enregistrement musical, et donc à repérer des instants de début et de fin de ces séquences. Cette procédure consiste ensuite à repérer des instants de battements au voisinage de ces instants de début et de fin de séquence durant les périodes de pause. Il suffit ensuite de placer les instants de début 30 et de fin des transitions de début TS et de fin TE du segment sur des instants de battement, de la manière suivante. L'instant de début TSS de la transition de début TS du segment (c'est-à-dire l'instant de début du segment) peut être placé avant l'instant de début de la séquence de voix principale repérée, mais après la fin d'une séquence précédente de voix principale précédente. 35 L'instant de fin TSE de la transition de début TS peut être placé soit à 3039349 24 l'instant TSS, soit après le début de la séquence de voix principale repérée, par exemple à l'instant d'un temps fort (premier temps d'une mesure musicale). L'instant de début TES de la transition de fin TE du segment peut être placé avant la fin d'une séquence de voix principale repérée, et l'instant 5 de fin TEE de la transition de fin TE (c'est-à-dire l'instant de fin du segment) peut être placé après la fin de la séquence, mais avant le début d'une séquence de voix principale suivante. Les segments ainsi obtenus peuvent être assemblés entre eux ou leur écoute peut être enchainée, avec des transitions douces entre les segments. 10 Ainsi, la lecture deux fichiers de segment d'enregistrement musical AFE peut être enchainée sur l'un des terminaux FT, MT, GT. A cet effet, le terminal peut exécuter une première étape consistant à demander à l'utilisateur de choisir un premier segment musical, par exemple dans une liste de segments disponibles répondant à différents critères de sélection précédemment 15 introduits par l'utilisateur. A la suite de la sélection d'un premier segment par l'utilisateur, le terminal émet une requête à destination du serveur SRV pour obtenir une liste d'un ou plusieurs segments par exemple répondant aux critères de sélection précédemment spécifiés par l'utilisateur. Cette requête comprend par exemple un identifiant du premier segment sélectionné, ou les 20 informations telle que spécifiées pour le premier segment dans le fichier de synchronisation SF associé, qui sont utiles à la sélection d'un second segment à lire à la suite du premier segment. A la réception de cette requête, le serveur SRV recherche dans la base de données DB les segments pouvant être enchainés de manière douce à la suite du premier segment 25 sélectionné. A cet effet, le serveur SRV peut appliquer certaines des règles suivantes : - le rapport entre les nombres de battements par unité de temps "BPM-E" à la fin du premier segment et "BPM-S" au début du second segment, est par exemple compris entre 0,9xN et 1,1xN, ou entre 0,9/N et 1,1/N, N étant fixé 30 typiquement à 1, 2 ou 4, - le rapport entre le volume "StartLevel" au début du second segment, et le volume "EndLevel" à la fin du premier segment est par exemple compris entre 0.85 et 1.15. Le critère portant sur le nombre de battements peut alternativement être 35 appliqué au nombre de battements "BPM-N" du premier segment, comparé 3039349 25 au nombre de battements "BPM-S" du second segment, ou bien au nombre de battements "BPM-E" du premier segment comparé au nombre de battements "BPM-P" du second segment, ou encore au nombre de battements "BPM-N" du premier segment, comparé au nombre de 5 battements "BPM-P" du second segment. Il est en outre préférable que la transition de fin TE du premier segment SG1 présente une durée au moins proche de la transition de début du second segment SG2. Ainsi, un segment peut être sélectionné en tant que second segment SG2 si la durée DTS2 de sa transition de début TS2 est 10 par exemple comprise dans l'intervalle : [DTE1-100ms-10xE((DTE1/100ms)-1), DTE1+100ms+10xE((DTE1/100ms)-1)] dans lequel DTE1 est la durée en ms de la transition de fin du premier segment, et E(x) est la partie entière du nombre x. En outre, le serveur SRV peut ordonner la liste des segments pouvant 15 être assemblés avec le premier segment sélectionné, par ordre de nombres de critères satisfaits parmi les critères définis précédemment, ainsi que d'autres critères tels que : le genre musical, l'humeur, le tempo, le thème, la langue chantée, etc. Le serveur SRV peut également prendre en compte un critère portant sur les valeurs des étiquettes isStart" et "isEnd". Ainsi, des 20 segments musicaux associés à des étiquettes "isStart" et "isEnd" respectivement aux valeurs "true" et "false", sont préférés pour figurer en tête d'une liste de segments à enchainer. Des segments musicaux associés à des étiquettes "isStart" et "isEnd" à la valeur "false", sont préférés pour figurer dans cette liste entre un segment de tête et un segment de fin de la 25 liste, et des segments musicaux associés à des étiquettes "isStart" et "isEnd" respectivement aux valeurs "false" et "true", sont préférés pour figurer à la fin de cette liste de segments à enchainer. Lors de la sélection par l'utilisateur d'un second segment SG2, puis d'autres segments éventuels, le terminal GT, MT, FT constitue une liste 30 ordonnée de segments à enchainer. Pour la sélection d'un segment supplémentaire, le dernier segment de la liste est considéré comme le premier segment dans les étapes décrites précédemment. Pour pouvoir lire et restituer les segments d'une telle liste ordonnée de segments à enchainer, le terminal GT, MT, FT peut être configuré comme représenté sur la figure 8. 35 Sur la figure 8, le terminal exécute simultanément deux instances PLY1, 3039349 26 PLY2 d'un programme de restitution audio, ainsi qu'un séquenceur SEQ. Chacune des instances PLY1, PLY2 fournit un signal qui est envoyé sur des haut-parleurs HP par l'intermédiaire d'un amplificateur AMP. Le séquenceur SEQ est configuré pour enchainer la lecture de plusieurs segments 5 musicaux, spécifiés dans la liste ordonnée, en faisant coïncider l'instant TEE1 de fin du segment SG1 en cours de lecture avec l'instant de fin de transition TSE2 de début TS2 du segment suivant SG2, comme illustré par la figure 9. Ainsi, durant la période TSS2-TEE1 (égale à la période TSS2-TSE2) les deux segments SG1 et SG2 sont lus en même temps. 10 Pour afficher des images de manière synchronisée avec la lecture de d'enregistrements musicaux AF, AFE1, AFE2, le séquenceur SEQ est également configuré pour lire des fichiers d'image PCT[1], PCT[n] et les afficher aux instants spécifiés dans un fichier de synchronisation SF1, SF2 et en leur appliquant les effets tels que définis dans ces fichiers. A cet effet, le 15 séquenceur SEQ est configuré pour commander le processeur graphique GPU du terminal, par exemple par l'intermédiaire d'un programme pilote GDRV. Dans le cas où des segments audio AFE1, AFE2 doivent être enchainés en lecture, le séquenceur SEQ est configuré pour exécuter 20 successivement des étapes S31 à S39 représentées sur la figure 10. A l'étape S31, le séquenceur SEQ initialise un indice n à un. A l'étape S32, le séquenceur SEQ ouvre une liste LSSG de segments à enchainer et lit un identifiant d'un premier segment à enchainer. A l'étape S33, le séquenceur SEQ ouvre le fichier de synchronisation SF[n] (n=1) associé au premier 25 segment identifié dans la liste LSSG. A l'étape S34, le séquenceur SEQ active la lecture par la première instance PLY1 du programme de restitution audio, du fichier AFE[n] contenant l'enregistrement du premier segment de la liste LSSG. A l'étape S35, le séquenceur SEQ incrémente l'indice n de un. A l'étape S36, le séquenceur SEQ lit la liste LSSG pour déterminer si elle 30 comporte un autre segment musical à enchainer, correspondant à l'indice n. Si la fin de la liste LSSG est atteinte, la procédure exécutée par le séquenceur SEG prend fin. Dans le cas contraire, le séquenceur exécute les étapes S37 à S39. A l'étape S37, le séquenceur ouvre le fichier de synchronisation SF[n] correspondant au segment suivant identifié dans la 35 liste LSSG. 3039349 27 A l'étape S38, le séquenceur SEQ détermine, comme illustré sur la figure 9, l'instant TSS (TSS2) du début du segment suivant (SG2) dans l'échelle de temps du segment précédent (SG1) en cours de lecture, par rapport à l'instant TEE (TEE1) de fin de ce segment, de manière à 5 synchroniser l'instant TEE (TEE1) du segment en cours de lecture (SG1) avec l'instant TSE (TSE2) du segment suivant (SG2). A cet effet, le séquenceur SEQ lit les positions respectives des instants TEE du segment en cours de lecture (SG1) et des instants TSS (TSS2) et TSE (TSE2) du segment suivant (SG2) dans les fichiers SF[n-1] et SF[n] 10 associés au segment en cours de lecture (SG1) et au segment suivant à enchainer (SG2). A l'étape S39, le séquenceur SEQ déclenche la lecture du fichier AFE[n] contenant l'enregistrement du segment suivant, par une instance libre du programme de restitution audio, c'est-à-dire l'instance PLY2 si l'instance PLY1 est en train de restituer le segment entre les instants 15 TSS et TEE . Cette lecture est déclenchée à l'instant TSS ainsi déterminé auquel le temps de latence ACL de la chaine audio du terminal FT, MT a été retranché. Les étapes S35 et S36 sont ensuite à nouveau exécutées. Selon un mode de réalisation, à chaque fois qu'une lecture de 20 segment SG1 est activée aux étapes S34 et S39, le séquenceur SEQ scrute le début de la lecture effective du segment SG1, 5G2, par l'instance active PLY1 du programme de restitution audio. Cette opération est effectuée exécutant en boucle une commande POS = GCP() pour déterminer une variation de la position POS fournie par cette commande. Dans le système 25 d'exploitation Android, cette commande est nommée "getcurrentposition()". Lorsqu'une nouvelle position POS fournie par la commande GCP() présente une valeur sensiblement supérieure (à une marge d'erreur près) à celle POS précédemment fournie par cette commande, l'instant de réception de la nouvelle position POS est mémorisé en tant qu'instant de 30 démarrage de la lecture du segment en cours de lecture, soit TSS . Les instants TSE , TES et TEE sont déterminés (à l'étape S38) en fonction de l'instant de démarrage TSS ainsi déterminé, compte tenu des écarts entre ces instants indiqués dans le fichier SF[n-1] correspondant au segment en cours de lecture. 3039349 28 Selon un mode de réalisation, l'instant de réception d'une nouvelle position est mémorisé en tant qu'instant de démarrage (TSS ) de la lecture du segment dont la lecture a été déclenchée, lors de la détection d'une augmentation de positions suivantes POS fournies par la 5 commande POS = GCP(). Ainsi, la scrutation de la position POS de l'instance active PLY1 du programme de restitution audio peut être poursuivie, jusqu'à la détection de J positions successives POS à POS fournies par la commande GCP() en augmentation par rapport à la position obtenue précédemment, J pouvant être fixé par exemple à 3 ou 4. 10 L'instant de réception de la dernière position fournie est mémorisé en tant qu'instant TSS du segment SG1. Ainsi, la figure 11 représente des étapes S41 à S52 d'une procédure GTST de détermination de l'instant de démarrage de la lecture d'un enregistrement audio par une instance du programme de restitution audio 15 PLY1, PLY2. Cette procédure est exécutée juste après l'activation du programme de restitution audio PLY1, PLY2 pour lire un enregistrement audio. A l'étape S41, le temps courant CT est mémorisé en tant qu'instant de lancement TO du programme de restitution audio PLY1, PLY2. A l'étape S42, la commande GCP() est activée pour obtenir une première position POSO du 20 programme PLY1, PLY2. A l'étape S43, un écart DF1 est calculé entre la position courante du programme PLY1, PLY2 fournie par une nouvelle activation de la commande GCP(), et la position POSO. A l'étape S44, si l'écart DF1 est supérieur à un seuil d'écart EC1(la seconde position supérieure à la première position POSO du programme de restitution), les 25 étapes S45 à S47 sont exécutées, sinon les étapes S43 et S44 sont à nouveau exécutées. A l'étape S45, un index j est initialisé à 0. A l'étape S46, un écart DF2 est calculé entre la position courante du programme PLY1, PLY2 fournie par l'activation de la commande GCP(), et la position POSO. A l'étape S47, les deux écarts DF1 et DF2 sont comparés et si la différence 30 entre le second écart DF2 et le premier écart DF1 est supérieure à un autre seuil d'écart ECO], les étapes S49 et S50 sont exécutées, sinon les étapes S45 à S47 sont à nouveau exécutées. Les seuils d'écart EC1, EC[j] peuvent être fixés à des valeurs positives ou nulles, différentes ou identiques. Les valeurs des écarts ECO] peuvent également être identiques d'une itération à 35 l'autre. A l'étape S49, l'index j est incrémenté de un. A l'étape S50, l'index j 3039349 29 est comparé à une valeur maximum J, et si l'index j n'a pas atteint cette valeur maximum, les étapes S48, S46 et S47 sont à nouveau exécutées. Dans le cas contraire, les étapes S51 et S52 sont exécutées. A l'étape S48, le second écart DF2 est mémorisé en tant que premier écart DF1 pour 5 l'exécution des étapes S46 et S47. A l'étape S51, l'instant courant CT est mémorisé en tant qu'instant de démarrage effectif Ti de la restitution de l'enregistrement audio. A l'étape S52, l'exécution de la procédure prend fin en retournant l'instant de démarrage Ti de la restitution de l'enregistrement audio. Ainsi, la procédure GTST peut être appelée juste après l'exécution de 10 chacune des étapes S34 et S39. Il est à noter que les étapes S41, S42 de mémorisation du temps courant et de mesure de la première position POSO peuvent être effectuées juste avant l'étape S23 de lancement du programme de restitution audio PLY1, PLY2. 15 Selon un mode de réalisation, l'instant d'activation TSS de l'instance inactive PLY1, PLY2 du programme de restitution audio, pour enchainer la lecture d'un segment suivant, est corrigé pour tenir compte d'un temps de latence ACL de la chaine de traitement audio du terminal FT, MT, entre l'instant d'activation de la lecture d'un enregistrement audio et l'instant 20 où les positions successives fournies par la commande GCP() commencent à augmenter. Ce temps de latence qui varie d'un terminal à l'autre et qui peut varier d'un instant à l'autre, peut atteindre quelques millisecondes à quelques centaines de millisecondes. Selon un mode de réalisation, le temps de latence ACL est déterminé pour le terminal FT, MT en calculant à l'étape S51 25 (figure 11) l'écart entre les instants Ti et TO. Ainsi, l'instant TSS déterminé à l'étape S38 (figure 10) peut être corrigé en lui retranchant le temps de latence ACL. Lorsque deux segments successifs présentent au voisinage de leurs transitions TE, TS qui se chevauchent (figure 9), des périodes de battement 30 différentes, le séquenceur SEQ peut être configuré pour faire varier progressivement la période de battement à la fin du segment en cours de lecture, pour se rapprocher de la période de battement au début du segment suivant, et pour faire varier la période de battement au début du segment suivant, en partant de la dernière valeur modifiée de la période de battement 35 à la fin du segment en cours de lecture, de manière à atteindre la valeur 3039349 30 initiale de la période de battement au début du segment suivant. Les périodes de battement des segments peuvent être par exemple modifiées en supprimant ou en dupliquant des échantillons du signal audio dans les fichiers AFE d'enregistrement des segments musicaux. 5 La figure 12 représente des étapes Si à S12 d'un procédé de sélection d'images et de données audio pour générer un diaporama. Ce procédé est mis en oeuvre par une application installée dans un terminal d'utilisateur FT, MT. A l'étape Si, un menu d'accueil est affiché pour permettre à l'utilisateur de générer un nouveau diaporama ou de sélectionner 10 un diaporama se trouvant dans la mémoire du terminal FT, MT ou accessible par ce dernier. A l'étape S2, si l'utilisateur sélectionne l'option de générer un nouveau diaporama, l'étape S3 est exécutée, sinon les étapes S10 et S11 sont exécutées. A l'étape S3, l'utilisateur a la possibilité de sélectionner des images ou des fichiers d'enregistrement audio, ou encore de mettre fin à la 15 génération d'un nouveau diaporama. Si l'utilisateur choisit de sélectionner des images, les étapes S6 à S9 sont exécutées. Si l'utilisateur choisit de sélectionner un fichier audio, les étapes S4 et S5 sont exécutées. Enfin, si l'utilisateur choisit de mettre fin à la création d'un nouveau diaporama, l'étape S11 ou S2 est exécutée. 20 A l'étape S4, un menu de sélection d'un genre musical est affiché. A la sélection d'un genre musical par l'utilisateur, une liste de fichiers d'enregistrement audio correspondant au genre musical sélectionné, est affichée à l'étape S5. A cet effet, le terminal FT, MT accède au serveur SRV pour obtenir cette liste et l'afficher à l'écran du terminal. Bien entendu, la 25 sélection d'un fichier d'enregistrement audio peut comprendre l'émission par le terminal FT, MT d'une requête de recherche introduite par l'utilisateur, à destination du serveur SRV, et la transmission en réponse par le serveur SRV d'une liste correspondant à la requête de recherche. A la réception d'une requête de recherche, le serveur SRV effectue une recherche dans la 30 base de données DB. Lorsque l'utilisateur a choisi un fichier d'enregistrement audio, le terminal FT, MT transmet au serveur SRV un identifiant du fichier d'enregistrement audio sélectionné, et le serveur transmet en réponse des adresses (URL) pointant vers le fichier d'enregistrement audio AFE correspondant et vers le fichier de synchronisation dérivé associé SF, ces 3039349 31 fichiers pouvant être stockés sur le serveur SRV ou un autre serveur. A la réception de ces fichiers, le terminal FT, MT exécute à nouveau l'étape S3. A l'étape S6, le terminal FT, MT invite l'utilisateur à sélectionner des images stockées dans des dossiers ou dans des réseaux sociaux. Lorsque 5 l'utilisateur a terminé sa sélection d'images, l'étape S7 est exécutée. A l'étape S7, le terminal FT, MT invite l'utilisateur à sélectionner plusieurs images. Le terminal FT, MT offre également à l'utilisateur la possibilité d'éditer chaque image sélectionnée, par exemple pour la recadrer ou modifier des paramètres tels que la luminosité ou le contraste (étape S8). 10 Cette édition peut être effectuée à chaque sélection d'image ou une fois que toutes les images ont été sélectionnées. A l'étape S9, le terminal FT, MT offre à l'utilisateur la possibilité de mettre fin à la sélection d'images. Si l'utilisateur souhaite poursuivre la sélection d'images, l'étape S6 ou S7 est à nouveau exécutée, sinon l'étape S3 est exécutée. A l'étape S10, le terminal 15 offre à l'utilisateur la possibilité de sélectionner un diaporama existant, c'est- à-dire une liste d'images, un fichier de synchronisation dérivé SF et un fichier audio AFE associé, dans la mémoire du terminal. A l'étape S11, le terminal FT, MT offre à l'utilisateur la possibilité d'afficher le diaporama sélectionné ou de générer un fichier d'enregistrement vidéo à partir du diaporama 20 sélectionné. A l'étape S12, le terminal FT, MT affiche la liste d'images du diaporama sélectionné et restitue en synchronisme la bande sonore se trouvant dans le fichier audio AFE associé, en exploitant les données de synchronisation se trouvant dans le fichier SF associé. A l'étape S13, le terminal FT, MT génère une séquence vidéo correspondant à un 25 enregistrement vidéo du diaporama sélectionné, et enregistre la séquence vidéo dans un fichier. A l'issue des étapes S12 et S13, le terminal FT, MT exécute à nouveau l'étape 51. La figure 13 représente des étapes 515 à S26 exécutées par le terminal FT, MT durant l'étape S12. Le terminal FT, MT peut alors être 30 configuré comme représenté sur la figure 8. Sur la figure 8, le séquenceur SEQ est configuré pour commander le processeur graphique GPU du terminal par l'intermédiaire d'un programme pilote GDRV installé dans le terminal, le processeur GPU étant connecté à un écran d'affichage DSP. Les étapes 515 à S26 sont exécutées successivement par le 35 séquenceur SEQ. A l'étape 515, le séquenceur SEQ ouvre le fichier de 3039349 32 synchronisation dérivé SF sélectionné par l'utilisateur. A l'étape S16, le séquenceur SEQ initialise un compteur d'image n, initialise une variable TO à l'heure courante CT, et initialise une variable Ti à la somme de la variable TO et d'une durée maximum TX de lancement de la lecture d'un 5 enregistrement audio et de l'affichage d'une image en tenant compte des temps de latence ACL et HPL. La durée TX peut par exemple être fixée à 300 ms. Le temps de latence HPL d'environ 100 ms, est en réalité un écart de temps de latence entre la perception auditive et la perception visuelle du système sensitif humain.A l'étape S17, le séquenceur SEQ ouvre le fichier 10 d'image PCT[1] de rang 1 dans la série d'image du diaporama. A l'étape S18, le séquenceur SEQ lit les paramètres d'affichage et les propriétés d'animation spécifiés pour la fenêtre temporelle EC[1] de rang 1 dans le fichier de synchronisation dérivé SF. A l'étape S19, le séquenceur SEQ fournit l'image de rang 1 à afficher et les propriétés d'animation lues à son 15 processeur graphique par l'intermédiaire du système d'exploitation du terminal (et du pilote de processeur graphique GDRV). Cette étape est effectuée à l'instant T1-HPL pour compenser le temps de latence HPL. A l'étape S20, le séquenceur SEQ active la restitution du fichier audio AFE correspondant au fichier SF ouvert à l'étape S15 en le transmettant à une 20 instance du programme de restitution audio PLY. Cette étape est effectuée à l'instant T1-ACL pour compenser le temps de latence ACL. A l'étape S21, le séquenceur SEQ exécute la procédure GTST de la figure 11 pour déterminer l'instant réel de démarrage de la lecture du fichier audio AFE, et calcule l'instant de démarrage Ti du diaporama en retranchant 25 le temps de latence HPL à la valeur retournée par la procédure GTST. L'instant Ti est utilisé comme instant initial de l'échelle des instants fournis dans le fichier SF. A l'étape S22, le séquenceur SEQ incrémente de un le compteur d'image n, puis exécute les étapes S23 à S26 pour afficher une nouvelle image du diaporama en tenant compte des données de 30 synchronisation, et en particulier des instants d'affichage des images spécifiés d'une manière relative dans le fichier SF, et en tenant compte de l'instant Ti pour déterminer la valeur absolue de ces instants. Ainsi, à l'étape S23, le séquenceur SEQ ouvre l'image de rang n spécifiée dans le fichier SF. A l'étape S24, le séquenceur SEQ lit les paramètres d'affichage et les 35 propriétés d'animation spécifiés pour la fenêtre temporelle EC[n] de rang n 3039349 33 dans le fichier de synchronisation SF, ainsi que l'instant relatif PP[n] de début d'affichage de l'image de rang n. A l'étape S25, le séquenceur SEQ fournit l'image de rang n à afficher et les propriétés d'animation lues à son processeur graphique. Cette étape est effectuée à l'instant T1+PP[n]. A 5 l'étape S26, le séquenceur SEQ teste si la dernière fenêtre temporelle EC[n] a été lue dans le fichier SF. Si tel est le cas, la restitution du diaporama est terminée, sinon le séquenceur SEQ exécute à nouveau les étapes S22 à S26. Aux étapes S19 et S25, le séquenceur SEQ génère successivement 10 des trames d'image, chaque trame d'image étant à afficher à un instant de début de trame pendant une période de trame de durée fixe (typiquement à 16,6 ms pour les "smartphones", correspondant à une fréquence de rafraichissement de l'écran DSP du terminal FT, MT de 60 Hz). Chaque trame d'image correspond au contenu de la mémoire vidéo du terminal à un 15 instant donné, et donc à l'image affichée à l'écran DSP à cet instant. A cet effet, le séquenceur SEQ détermine pour chaque trame d'image : - au moins une fenêtre temporelle active en fonction de l'instant de début de trame et des instants de début et de fin des fenêtres temporelles EC et EC , 20 - une image PCT , PCT de la séquence de données d'image, à afficher pour chaque fenêtre temporelle active, en fonction du rang d'image associé à la fenêtre temporelle active, et - des paramètres d'animation d'affichage pour chaque image à afficher, en fonction des données d'effet d'affichage de la fenêtre temporelle active 25 correspondante, et de l'instant de début de trame, chaque trame d'image étant formée à partir de l'image correspondant à chaque fenêtre temporelle active, à laquelle sont appliquées les animations d'affichage déterminées pour l'image à l'instant de début de trame. Les paramètres d'animation d'affichage sont calculés à chaque instant 30 de début de trame, par interpolation linéaire à partir des segments de droite définis par les coordonnées "x" et "y" de points introduits par le mot-clé "effectPoint" dans le fichier SF, en respectant la période de trame. Aux étapes S19 et S25, les paramètres d'animation d'affichage sont transmis aux fonctions d'animation du système d'exploitation du terminal FT, MT pour 35 commander le processeur graphique. 3039349 34 Selon un mode de réalisation, le terminal FT, MT mesure le temps de traitement entre le début de l'étape S17 et l'activation de la commande pour afficher une première trame de l'image à afficher à l'étape S19. Si ce temps de traitement est supérieur à un certain seuil, la qualité de l'image lue à 5 l'étape S17 est dégradée, par exemple en supprimant une ligne sur deux de l'image et en supprimant un pixel sur deux dans chaque ligne restante de l'image, et/ou en augmentant le taux de compression si l'image est au format JPEG. Le seuil de temps de lecture au-dessus duquel la qualité de l'image est dégradée peut être fixé par exemple à une valeur maximum comprise 10 entre 100 et 150 ms, correspondant à la durée minimum d'affichage d'une image dans un diaporama, le chargement d'une image étant effectué pendant l'affichage d'une image précédente. Au-delà de cette valeur maximum, l'affichage des images peut ne pas être effectué (image noire). En effet, sur certains terminaux de faibles performances, le temps d'affichage 15 d'une image peut excéder cette valeur. Selon un mode de réalisation, pour réduire le temps d'affichage des images du diaporama, la résolution et/ou le niveau de compression des images sont ajustés afin d'obtenir un affichage d'image fluide, sachant que la résolution des images est réduite si nécessaire pour qu'elle corresponde à 20 celle de l'écran d'affichage du terminal FT, MT. Cet ajustement peut être effectué conformément à la procédure représentée sur la figure 14. Cette procédure comprend des étapes S61 à S62. A l'étape S61, le temps de traitement OPT de l'image (entre les étapes S17 et S19) est mesuré et comparé à une valeur maximum TMX. Si le temps OPT est inférieur au 25 temps TMX, la procédure prend fin, sinon les étapes S62 et S63 sont exécutées. A l'étape S62, la résolution de l'image est divisée par 4, en supprimant une ligne sur deux de l'image et en supprimant un pixel sur deux dans chaque ligne conservée de l'image. Bien entendu, des facteurs de division autres que 4 pour réduire la résolution des images peuvent être 30 appliqués, moyennant des temps de calcul plus longs. A l'étape S63, le temps de traitement OPT de l'image obtenue à l'étape S62 est mesuré et comparé à la valeur maximum TMX. Si le temps OPT est inférieur au temps TMX, la procédure prend fin, sinon les étapes S64 et S63 sont exécutées. A l'étape S64, le taux de compression de l'image (image au format JPEG) est 35 augmenté par exemple de 5%. Ainsi, aux étapes S63 et S64, le taux de 3039349 35 compression de l'image est augmenté jusqu'à ce que le temps de traitement de l'image obtenue à l'étape S64 soit inférieur au temps maximum TMX. Si l'enregistrement audio en cours de lecture est un segment musical dont la lecture doit être suivie de la lecture d'un autre segment musical, la 5 lecture de l'autre segment est déclenchée exécutant à nouveau la procédure à partir de l'étape 515. La lecture du fichier SF correspondant au fichier audio AFE du segment suivant peut donc démarrer en synchronisant les flux d'images et audio. En revanche, il subsiste une latence entre le moment de démarrage théorique et le moment de démarrage effectif de la lecture du 10 fichier audio suivant (et donc une désynchronisation des instants TEE1 du segment en cours de lecture et TSE2 du segment suivant), qui n'est certes pas désirée, mais qui correspond à un moindre mal, dans la mesure où les flux audio et d'images du fichier SF suivant sont bien fournis de manière synchrone. En outre, cette désynchronisation n'est perceptible par un 15 utilisateur que sur certains terminaux (lorsqu'elle est supérieure à 30 ms typiquement). Cependant, diverses solutions peuvent permettre de s'affranchir de cette désynchronisation. Une première solution consiste à générer en temps réel un unique flux audio ou fichier audio (compressé) incluant tous les segments musicaux à enchainer, enchainés de la manière 20 illustrée par la figure 9. Ainsi, on s'affranchit des temps de latence introduits par le programme de restitution audio. Cet unique fichier peut être généré une seule fois et mémorisé pour des lectures ultérieures. Une seconde solution consiste à générer en parallèle et en temps réel plusieurs fichiers audio compressés intermédiaires fusionnant au moins deux 25 segments. Ces fichiers audio générés en temps réel sont fournis au programme de restitution audio en diffusion en flux (streaming), mais ils ne sont pas nécessairement générés dans l'ordre d'enchainement défini. Ainsi, il n'est pas nécessaire d'attendre que l'ensemble des segments à enchainer soient fusionnés dans un fichier unique, pour activer la restitution du 30 diaporama. A la fin de la restitution du diaporama, on dispose ainsi d'un fichier unique correspondant à celui de la solution précédente, lequel peut être mémorisé pour des lectures ultérieures. Il peut également être envisagé de générer un fichier audio de moindre de qualité (par exemple en mono à 96 kbps) pour réduire le temps de traitement et donc le temps de démarrage 3039349 36 de la lecture du diaporama, ce fichier étant remplacé dès qu'un fichier de qualité supérieur est disponible. Une troisième solution consiste à ajouter une section audio factice ("dummy") au début de chaque fichier audio de segment AFE et de chaque fichier de 5 synchronisation SF correspondant. Cette section factice présentant une durée TD typiquement de 300 ms correspondant à la valeur maximum du temps de latence ACL dans les terminaux sous système d'exploitation Android. Cette section factice permet d'activer la lecture du fichier audio 300 ms avant son instant de démarrage théorique (soit T1-ACL à l'étape S20 10 - figure 13), pour calculer le temps de latence ACL. Une fois le temps de latence calculé, la lecture de la partie non factice du segment peut être démarrée en commandant un saut de lecture dans l'enregistrement audio à l'instant TD - ACL, par exemple à l'aide de la commande "seekto" en lui passant en paramètre la valeur TD - ACL. 15 Il est à noter que la troisième solution peut être combinée à l'une des première et seconde solutions. L'étape S13 (figure 12) diffère de l'étape S12 en ce que les trames calculées aux étapes S19 et S25 ne sont pas transmises aux fonctions d'animation d'image du système d'exploitation du terminal FT, MT, mais sont 20 encodées et compressées dans un fichier d'enregistrement vidéo au format MP4 par exemple. Dans ce mode, il n'est pas nécessaire de dégrader la qualité des images pour des raisons de temps d'affichage. En revanche, un retard du flux audio par rapport au flux d'images peut être introduit pour compenser le temps de latence HPL. 25 Selon un mode de réalisation, les images fixes affichées pendant une certaine durée sont encodées de manière optimisée en tenant compte du fait que la plupart du temps, les images sont affichées de manière fixe. Selon un mode de réalisation, les trames calculées aux étapes S19 et S25 sont rassemblées en petites séquences vidéo d'une durée typique d'une 30 seconde, qui sont ensuite encodées en parallèle, ces petites séquences vidéo encodées étant ensuite concaténées en une seule séquence vidéo finale. Ce procédé permet de limiter considérablement la taille de l'espace de stockage temporaire nécessaire (pouvant atteindre plusieurs centaines de Mo (Mégaoctets) ou plusieurs Go (Gigaoctets) pour une séquence vidéo de 3039349 37 quelques minutes) utilisé par le terminal. En effet, certains terminaux ne disposent que de quelques centaines de Mo. Le terminal FT, MT peut également être configuré pour assembler des fichiers de synchronisation dérivés SF pour générer un unique diaporama 5 dans lequel plusieurs segments musicaux sont enchainés. Une fois que l'utilisateur a sélectionné les images à insérer dans le diaporama à générer étapes S6 à S9), le terminal FT, MT constitue à partir des fichiers de synchronisation dérivés SF enregistrés dans le terminal, un liste de fichiers de synchronisation dérivés SF définissant un nombre total de fenêtres 10 temporelles sensiblement égal au nombre d'images choisies par l'utilisateur. Si le nombre d'images sélectionnées est insuffisant par rapport au nombre total de fenêtres temporelles des fichiers SF sélectionnés, le terminal peut utiliser une seconde fois certaines des images sélectionnées, par exemple les premières images. Si le nombre d'images sélectionnées est supérieur au 15 nombre total de fenêtres temporelles des fichiers SF sélectionnés, le terminal peut utiliser supprimer certaines des images sélectionnées, par exemple les dernières images. Ensuite, le terminal FT, MT assemble les fichiers de synchronisation dérivés sélectionnés et les fichiers d'enregistrement de segment musical AFE associés, comme décrit précédemment. 20 A cet effet, le terminal FT, MT peut choisir en tant que premier fichier de synchronisation dérivé SF à assembler, un fichier de synchronisation dérivé contenant une étiquette "isStart" à la valeur "true" et une étiquette "isEnd" à la valeur "false". Le terminal FT, MT peut choisir en tant que second ou nième fichier de synchronisation dérivé SF à assembler, un fichier 25 de synchronisation dérivé contenant une étiquette "isEnd" à la valeur "false", et des étiquettes "StartLevel" et "CPM" ayant des valeurs proches (suivant les règles indiquées précédemment) des étiquettes "EndLevel" et "CPM" du fichier de synchronisation dérivé sélectionné précédemment. Le terminal FT, MT peut enfin choisir en tant que dernier fichier de synchronisation dérivé SF 30 à assembler, un fichier de synchronisation dérivé contenant une étiquette "isEnd" à la valeur "true", et des étiquettes "StartLevel" et "CPM" ayant des valeurs proches (suivant les règles indiquées précédemment) des étiquettes "EndLevel" et "CPM" de l'avant dernier fichier de synchronisation dérivé sélectionné. 3039349 38 Le terminal GT, FT, MT assemble les fichiers d'enregistrement de segment musical AFE des segments désignés dans la liste LSSG, en un fichier unique d'enregistrement musical en concaténant les données audio en dehors des périodes de chevauchement TSS2-TEE1 (=TSS2-TSE2) et en 5 fusionnant les données audio durant les périodes de chevauchement. Les fichiers de synchronisation SF1 et SF2 des segments SG1, SG2 ainsi assemblés peuvent également être fusionnés pour former un fichier de synchronisation unique, associé au fichier d'enregistrement musical fusionné. A cet effet, les informations utilisées comme critères pour enchainer la 10 lecture d'un segment avant le premier segment fusionné et pour enchainer la lecture d'un segment après le dernier segment fusionné sont conservées dans le nouveau fichier de synchronisation associé au fichier d'enregistrement musical résultant de la fusion. Dans un mode de réalisation simplifié, le terminal MT, FT peut 15 assembler plusieurs fichiers de synchronisation SF sans tenir compte des valeurs des étiquettes "isEnd", "StartLevel", "EndLevel", et "CPM". Selon un autre mode de réalisation, lorsque le fichier de synchronisation SF comprend des paramètres "isSTART" et "isEND" à "false", un à quatre couples de fichiers de synchronisation SF et audio AFE 20 peuvent être générés : 1) un premier couple avec les paramètres "isSTART" et "isEND" à "false", 2) un deuxième couple avec le paramètre "isSTART" à "true" et le paramètre "isEND" à "false", le fichier d'enregistrement musical AFE correspondant étant modifié en y formant une transition de début longue, 25 3) un troisième couple avec le paramètre "isSTART" à "false" et le paramètre "isEND" à "true", le fichier d'enregistrement musical correspondant étant modifié en y formant une transition de fin longue, 4) un quatrième couple avec les paramètres "isSTART" et "isEND" à "true", pour lequel le fichier d'enregistrement musical correspondant aura été 30 modifié en y formant des transitions de début et de fin longues. Une transition de début ou de fin du segment musical est longue lorsqu'elle s'étend sur un nombre entier de fois la période de battement du segment musical. Elle est courte lorsqu'elle s'étend sur moins d'une période de battement du segment musical. Le segment du quatrième couple (ayant des 35 paramètres "isSTART" et "isEND" à "true") peut être lu séparément (sans 3039349 39 être assemblé à d'autres segments). Le segment du deuxième couple peut être inséré en tête d'une liste de segments à enchainer, et le segment du troisième couple peut être inséré en fin d'une liste de segments à enchainer. Le quatrième couple (ayant des paramètres "isSTART" et "isEND" à 5 "true") peut être utilisé séparément, moyennant des opérations de fondu décrites dans ce qui suit. Selon un mode de réalisation, des transitions de début et de fin de diaporama sont introduites dans un fichier de synchronisation dérivé SF et dans le fichier audio AFE correspondant. Ces transitions sont appliquées à 10 au début et à la fin d'enregistrement audio et aux première et dernière fenêtres temporelles du fichier SF. Les paramètres définissant ces transitions et leur durée dépendent de paramètres audio extraits du fichier SF considéré. Les transitions de début et de fin appliquées au segment musical peuvent être de type fondu. L'intérêt de telles transitions de début et de fin 15 est multiple. Elles permettent d'éviter les effets de "clic" audio apparaissant dans les morceaux audio compressés lorsqu'ils sont coupés nets. Le début et la fin des morceaux audio ainsi fondus apparaissent bien plus naturels et agréables à l'oreille humaine qu'un morceau audio coupé net. Ainsi, il est possible de restituer un diaporama sur de nombreux segments musicaux, ce 20 qui permet de proposer un grand nombre de morceaux audio adaptés à la restitution d'un petit nombre d'images (quelques dizaines). En effet, les diaporamas les plus couramment générés comportent un petit nombre d'images. Par exemple, la transition de début, permettant notamment de 25 préserver l'attaque" d'un fichier SF, peut être un simple fondu de type "FADE" effectué dans la demi-largeur de la période de transition TT définie au début du fichier SF. Par exemple, la transition de fin permettant de finir proprement le diaporama, peut être également un simple fondu de type "FADE" ayant une durée proportionnelle à la "tendance de beat" du fichier 30 SF considéré. La "tendance de beat" peut être déterminée à partir de la durée la plus fréquente des fenêtres temporelles définies dans le fichier SF. Ainsi, plus l'enregistrement audio correspondant présente un débit lent en terme de nombre de fenêtres temporelles par minute (paramètre "CPM"), plus le fondu de sortie sera long. 3039349 Selon un mode de réalisation, le terminal FT, MT ordonne les images sélectionnées en fonction de leur date de création et du lieu de leur prise de vue s'il s'agit de photographies ou de vidéos. Ces informations peuvent être également utilisées pour répartir les images en groupes d'images relatives à 5 un même lieu ou un même événement, les groupes d'images étant attribués à des fichiers de synchronisation dérivés distincts. Selon un mode de réalisation, le terminal FT, MT est configuré pour séparer en épisodes un ensemble d'images (photographies ou vidéos), en fonction de dates et lieux de prise de vues des images. Chaque épisode est 10 ensuite associé à un fichier de synchronisation SF dans le genre préféré de l'utilisateur, correspondant le mieux avec le nombre d'images de l'épisode. Les épisodes sont ensuite concaténés comme décrit précédemment. Selon un mode de réalisation, une séquence vidéo est associée à un fichier de synchronisation SF ou à une série de fenêtres temporelles définies 15 dans un tel fichier, de la manière suivante. La séquence vidéo est transformée en une séquence d'images fixes en ne conservant que les images de la séquence vidéo correspondant sensiblement aux positions de transitions TT de la série de fenêtres temporelles définie dans le fichier de synchronisation. Lors de la restitution du fichier audio AFE correspondant, 20 les images extraites de la séquence vidéo sont animées en fonction des effets des fenêtres temporelles définis dans le fichier de synchronisation SF, comme le seraient n'importe quelle image. Ces dispositions permettent d'obtenir un effet d'affichage de photographies prises en rafales, animées au rythme de la musique, ce qui est particulièrement bien adapté aux 25 séquences vidéo de scènes sportives par exemple. Selon un mode de réalisation, certains effets inscrits dans le fichier de synchronisation MF, SF peuvent être non seulement appliqués aux trames d'image affichées, mais aussi à d'autres périphériques directement ou indirectement reliés au terminal, tels que par exemple un vibreur mécanique 30 intégré dans le terminal MT, un tel vibreur pouvant être piloté en fréquence et en amplitude, définis par des paramètres d'effets inscrits dans les fichiers de synchronisation MF, SF. Ainsi, des vibrations peuvent non seulement être retranscrites en faisant vibrer l'image affichée à l'écran, mais aussi en faisant vibrer le terminal MT que l'utilisateur tient dans sa main. De cette manière 35 l'utilisateur peut percevoir des vibrations de manière synchrone, par sa main 3039349 41 par l'intermédiaire du vibreur, par ses yeux par l'intermédiaire de l'écran d'affichage, et par ses oreilles par l'intermédiaire d'un casque audio. Il apparaîtra clairement à l'homme de l'art que la présente invention est susceptible de diverses variantes de réalisation et diverses applications. 5 En particulier, l'invention n'est pas limitée à la définition des fenêtres temporelles par un instant de début et une durée et à la définition des transitions par un instant médian et une durée. Il va de soi que les fenêtres temporelles et les transitions peuvent être définies autrement, comme par exemple par des instants de début et de fin ou par des durées et des instants 10 de fin. D'autres formes de fondu telles qu'une atténuation linéaire croissante ou décroissante, peuvent être appliquées aux segments musicaux. Par exemple, une atténuation sinusoïdale peut être appliquée aux segments musicaux durant leur transition de début, notamment lorsque la durée de la 15 transition est inférieure à la période de battement. Un tel fondu permet de conserver l'énergie audio et donc le volume sonore. 3039349 42 ANNEXE I (faisant partie intégrante de la description) Extrait de contenu d'un fichier de synchronisation principal 5 {"AudioCase":{"AudioFile":"06 xxxx.aac","barInfo": {"listTags": "masterframe_id":0, // identifiant du fichier de synchronisation "ppm_moy": 1 01 , // nombre moyen d'images affichées par minute 10 "ppm_min":7, // nombre ppm minimum "ppm_max":444, // nombre ppm maximum "cpm_moy": 118, // nombre moyen de fenêtres temp. affichées par minute "cpm_min":7, // nombre cpm minimum "cpm_max":444, // nombre cpm maximum 15 "cpm_ppm": 1, //ratio entre cpm et ppm "total_duration":191, il durée totale de l'enregistrement audio correspondant "nb_photo":324, // nombre correspondant d'images affichées "nb_photo_top":0, // nombre de fenêtres temp. privilégiées du fichier I- 20 "version_fg":"V401", II version du logiciel de génération du fichier "masterframe_validated":true, // indicateur de validation du fichier "operateur_artistique":"ppp",// identifiant de l'opérateur ayant généré le fichier "validated_by":"vvv", // identifiant de l'opérateur ayant validé le fichier "validated_date":"ddd", // date de la validation du fichier 25 "last_update_date":"ddd", // date de dernière modification du fichier "song_title":"ttt","major":"mmm","album":"bbb","artist":"aaa", // références de // l'enregistrement audio correspondant "categories": // définition de catégories auxquelles {"hit_of_the_moment_end":"ddd", // appartient l'enregistrement 30 "best_year":null, // audio correspondant "mood":["mood_party","mood_bittersweet"], "pace":["pace_fast_roughl, "release_year":yyy,"countries":cc,"sung":dd, "gem":false,"deluxe":true, 35 "cult":false,"instrumentarfalse, 3039349 43 "genre": rgenre_techno","genre_dancel, "theme"rtheme_20101, "hit_of_the_moment_start":"ddd"1, "comment_3":","comment_4":'","comment_2":","comment_1":m, // champs 5 /1 réservés à l'insertion de commentaires {"listMarkers": [{"marker":277},{"marker":2756},{"marker":31915}, {"marker":37910},{"marker":43075},{"marker":48807}, {"marker":53820},{"marker":59954},{"marker":65551}, 10 {"marker":71181},{"marker":76093},{"marker":82395}, {"marker":88009},{"marker":93637},{"marker":98453}, {"marker":210852},{"marker":233575},{"marker":255965}, {"marker":258799},{"marker":260257},{"marker":261726}, 15 {"marker":264374},{"marker":265770},{"marker":267167}, {"marker":270011},{"marker":271376},{"marker":272824}, {"marker":275606},{"marker":277001},{"marker":278370}, {"marker":279044},{"marker":300436}], "listZones": 20 [{"zone":2},{"zone":1},{"zone":0},{"zone":1},{"zone":3},{"zone":3}, {"zone":5},{"zone":2},{"zone":3},{"zone":3},{"zone":5},{"zone":4}, {"zone":2},{"zone":4},{"zone":2},{"zone":4},{"zone":3},{"zone":3}, {"zone":3},{"zone":3},{"zone":3},{"zone":3},{"zone":3},{"zone":3}, 25 {"zone":6},{"zone":6},{"zone":5},{"zone":5},{"zone":4},{"zone":4}, {"zone":2},{"zone":2},{"zone":0},{"zone":6}11, "listTransition": [{"widthTransition":451,"typeTransition":"FADE","position":286}, {"widthTransition":260,"typeTransition":"FADE","position":2709}, 30 {"widthTransition":260,"typeTransition":"FADE","position":4544}, {"widthTransition":260,"typeTransition":"FADE","position":6400}, {"widthTransition":260,"typeTransition":"FADE","position":7316}, {"widthTransition":260,"typeTransition":"FADE","position":9262}, {"widthTransition":260,"typeTransition":"FADE","position":10188} 35 ,{"widthTransition":260,"typeTransition":"FADE","position":12000}, 3039349 44 {"widthTransition":260,"typeTransition":"FADE","position":12963}, {"widthTransition":260,"typeTransition":"FADE","position":14764}, {"widthTransition":410,"typeTransition":"FADE","position":17589}, {"widthTransition":260,"typeTransition":"FADE","position":19541}, 5 {"widthTransition":10,"typeTransition":"FADE","position":324278}, {"widthTransition":10,"typeTransition":"FADE","position":324673}, {"widthTransition":10,"typeTransition":"FADE","position":325079}, {"widthTransition":10,"typeTransition":"FADE","position":325486}], 10 "listPhotoFile": [{"isDUPLICATE":false,"isTOP":false,"effect":0}, {"isDUPLICATE":false,"isTOP":false, "effect": [{"duration":2778,"timeposition":61,"param": 15 [{"effectPoint": [{"x":0,"y":0},{"x":1,"y":1}], "max":1,"name":"f. level","typeParam":01], "typeEffect":"FADE"1, {"duration":2778,"timeposition":61,"param": 20 [{"effectPoint": [{"x":0,"y":0},{"x":1,"y":0}], "max":20,"name":"tx.speed","typeParam":11, {"effectPoint": [{"x":0,"y":0},{"x":1,"y":0}], 25 "max":1,"name":"tx.level","typeParam":11, {"effectPoint": [{"x":0,"y":0.5},{"x":1,"y":0.5}], "max":20,"name":"ty.speed","typeParam":11, {"effectPoint": 30 [{"x":0,"y":0},{"x":1,"y":0}], "max":1,"name":"ty.level","typeParam":11], typeEffect":"TRANSLATE"111, {"isDUPLICATE":false,"isTOP":false, "effect": 35 [{"duration":2095,"timeposition":2579,"param": 3039349 [{"effectPoint": [{"x":0,"y":0.5},{"x":1,"y":0.5}], "max":20,"name":"z.speed","typeParam":11, {"effectPoint": 5 [{"x":0,"y":0},{"x":1,"y":0}], "max":0.3,"name":"z.level","typeParam":1}], "typeEffect":"ZOOM"}, {"duration":2095,"timeposition":2579,"param": [{"effectPoint": 10 [{"x":0,"y":1}, {"x":0.08,"y":1}, {"x":0.12,"y":0.8}, {"x":0.19,"y":1}, {"x":0.2601,"y":0.9638}, 15 {"x":0.3130,"y":0.8}, {"x":0.3658,"y":0.9759}, {"x":0.4631,"y":1}, {"x":0.5243,"y":0.8}, {"x":0.5754,"y":1}, 20 {"x":0.7157,"y":1}, {"x":0.77,"y":0.8}, {"x":0.8070,"y":1}, {"x":1,"y":1}], "max":1,"name":"f. level","typeParam":01], 25 "typeEffect":"FADEU, {"isDUPLICATE":false,"isTOP":false,"effect": [{"duration":2116,"timeposition":4414,"param": [{"effectPoint": [{"x":0,"y":0.5},{"x":1,"y":0.5}], 30 "max":20,"name":"z.speed","typeParam":11, {"effectPoint": [{"x":0,"y":0},{"x":1,"y": "max":0.3,"name":"z.level","typeParam":1}], "typeEffect":"ZOOM"}, 35 {"duration":2116,"timeposition":4414,"param": 3039349 46 [{"effectPoint": [{"x":0,"y":1 {"x":0.1,"y":1}, {"x":0.12,"y":0.8}, 5 {"x":0.15,"y":1}, {"x":0.28,"y":1 {"x":0.33,"y":0.8}, {"x":0.35,"y":1 {"x":0.4916,"y":1}, 10 {"x":0.5226,"y":0.8}, {"x":0.5521,"y":1 {"x":0.6974,"y":1}, {"x":0.7291 ,"y":0.8}, {"x":0.7609,"y":1}, 15 {"x":0.94,"y":1 {"x":0.96,"y":0.8}, {"x":1,"y":1}], "max":1,"name":"f. level","typeParam":01], "typeEffect":"FADEU, 20 {"isDUPLICATE":false,"isTOP":false,"effect": [{"duration":1176,"timeposition":6270,"param": [{"effectPoint": [{"x":0,"y":0.5},{"x":1,"y":0.5}], "max":20,"name":"z.speed","typeParam":11, 25 {"effectPoint": [{"x":0,"y":0},{"x":1,"y":0}], "max":0.3,"name":"z.level","typeParam":1}], "typeEffect":"ZOOM"}, {"duration":1176,"timeposition":6270,"param": 30 [{"effectPoint": [{"x":0,"y":1 {"x":0.1,"y":1}, {"x":0.15,"y":0.8}, {"x":0.19,"y":1}, 35 {"x":0.4819,"y":1}, 3039349 47 {"x":0.5349,"y":0.8}, {"x":0.5831 ,"y":1 {"x": 0.94,"y":0.8}, {"x":1,"y":1}], 5 "max":1,"name":"f. level","typeParam":01], "typeEffect":"FADEU, {"isDUPLICATE":false,"isTOP":false,"effect": [{"duration":381,"timeposition":323902,"param": 10 [{"effectPoint": [{"x" : 0,"y":0},{"x":1,"y":0}], "max":1,"name":"f. level","typeParam":01], "typeEffect":"FADEU, {"isDUPLICATE":false,"isTOP":false,"effect": 15 [{"duration":405,"timeposition":324273,"param": [{"effectPoint": [{"x" : 0,"y":0},{"x":1,"y":0}], "max":1,"name":"f. level","typeParam":01], "typeEffect":"FADEU, 20 {"isDUPLICATE":false,"isTOP":false,"effect": [{"duration":416,"timeposition":324668,"param": [{"effectPoint": [{"x" : 0,"y":0},{"x":1,"y":0}], "max":1,"name":"f. level","typeParam":01], 25 "typeEffect":"FADEU, {"isDUPLICATE":false,"isTOP":false,"effect": [{"duration":417,"timeposition":325074,"param": [{"effectPoint":' [{"x" : 0,"y":0},{"x":1,"y":0}], 30 "max":1,"name":"f. level","typeParam":01], "typeEffect":"FADEU, {"isDUPLICATE":false,"isTOP":false,"effect": 0}], 3039349 48 ANNEXE II (faisant partie intégrante de la description) Extrait de contenu d'un fichier de synchronisation dérivé 5 {"SubFrameJSON":{"listEffectCarriers": [{"duration":3160,"isTOP":false, "effect": [{"param": [{"effectPoint": 10 [{"x":0,"y":1.0010}, {"x": 1,"y": 1.4619}], "name":"x"1, {"effectPoint": [{"x":0,"y":1.0010}, 15 {"x": 1,"y": 1.4619}], "name":"y"}], "typeEffect":"SCALE"1, {"param": [{"effectPoint": 20 [{"x":0,"y":0}, {"x":0.0524,"y":0.5427}, {"x":0.0773,"y":0.9167, {"x":0.0822,"y":0.9753}, {"x":0.8702,"y":0.9965}, 25 {"x":1,"y":0}], "name":"alphal], "typeEffect":"OPACITY"1, {"param": [{"effectPoint": 30 [{"x":0,"y":0}, {"x":1,"y":0}], "name":"y"}], "typeEffect":"TRANSLATE"}], "position":-130,"idPhoto":01, 35 3039349 49 {"duration":2287,"isTOP":false, "effect": [{"param": [{"effectPoint": 5 [{"x":0,"y": 1.0010}, {"x": 1,"y": 1.2970}], "name":"x"1, {"effectPo int": [{"x":0,"y": 1.0010}, 10 {"x": 1,"y": 1.2970}], "name":"y"}], "typeEffect":"SCALE"1, {"param": [{"effectPoint": 15 [{"x":0,"y":0}, {"x":0.1792,"y":1}, {"x":0.8863,"y":1}, {"x":1,"y":0}], "name":"alphal], 20 "typeEffect":"OPAC ITY"1, {"param": [{"effectPoint": [{"x":0,"y":0}, {"x":1,"y":0}], 25 "name":"y"}], "typeEffect":"TRANSLATE"}], "position":2620,"id Photo": 11, {"duration":1910,"isTOP":false, 30 "effect": [{"param": [{"effectPoint": [{"x":0,"y": 1.0010}, {"x": 1,"y": 1.2360}], 35 "name":"x"1, 3039349 {"effectPo int": [{"x":0,"y":1.0010}, {"x": 1,"y": 1.2360}], "name":"y"}], 5 "typeEffect":"SCALE"1, {"param": [{"effectPoint": [{"x":0,"y":0}, {"x":0.1361,"y":1}, 10 {"x":0.8638,"y":1}, {"x":1,"y":0}], "name":"alphal], "typeEffect":"OPAC ITY"1, {"param": 15 [{"effectPoint": [{"x":0,"y":0}, {"x":1,"y":0}], "name":"y"}], "typeEffect":"TRANSLATE"}], 20 "position":4647,"idPhoto":21, {"duration":2959,"isTOP":false, "effect": [{"param": 25 [{"effectPoint": [{"x":0,"y":1.0010}, {"x": 1,"y": 1.4204}], "name":"x"1, {"effectPo int": 30 [{"x":0,"y":1.0010}, {"x": 1,"y": 1.4204}], "name":"y"}], "typeEffect":"SCALE"1, {"param": 35 [{"effectPoint": 3 0 3 9 3 4 9 51 [{"x": 0,"y":0}, {"x":0.0878,"y":1}, {"x":0.9121,"y":1}, {"x": 1 ,"y":0}], 5 "name":"alphal], "typeEffect":"OPACITY"1, {"param": [{"effectPoint": [{"x":0,"y":0}, 10 {"x": 1 ,"y":0}], "name":"y"}], "typeEffect":"TRANSLATE"}], "position":6297,"idPhoto":31, 15 {"duration":2106,"isTOP":false, "effect": [{"param": [{"effectPoint": [{"x":0,"y":1.0010}, 20 {"x":0.3945,"y":1.0943}, {"x":0.4563,"y":1.1777}, {"x": 1 ,"y":1.3568}], "name":"x"1, {"effectPoint": 25 [{"x":0,"y":1.0010}, {"x":0.3945,"y":1.0943}, {"x":0.4563,"y":1.1777}, {"x": 1 ,"y":1.3568}], "name":"y"}], 30 "typeEffect":"SCALE"1, {"param": [{"effectPoint": [{"x":0,"y":0}, {"x":0.0368,"y":0.2986}, 35 {"x":0.0466,"y":0.3402}, 303 934 9 52 {"x": 0.1234,"y": 0.9576}, {"x": 0.1806,"y": 0.9998}, {"x": 0.2486,"y": 0.9004}, {"x": 0.2820,"y": 0.9985}, 5 {"x": 0.3945,"y": 0.9999}, {"x": 0.4563,"y": 1.0007}, {"x":0.3982,"y":0.9933}, {"x": 0.4490,"y": 0.9006}, {"x":0.4958,"y":0.9997}, 10 {"x":0.6057,"y":1}, {"x":0.6617,"y":1}, {"x": 0.6851,"y": 0.9020}, {"x": 0.7242,"y": 0.9985}, {"x":0.8599,"y":1}, 15 {"x": 0.8765,"y": 0.9358}, {"x": 0.8849,"y": 0.8416}, {"x": 0.9267,"y": 0.5921}, {"x":1,"y":0}], "name":"alphal], 20 "typeEffect":"OPAC ITY"1, {"param": [{"effectPoint": [{"x":0,"y":0}, {"x":1,"y":0}], 25 "name":"y"}], "typeEffect":"TRANSLATE"}], "position": 8996,"id Photo":41, 30 {"duration":1415,"isTOP":false, "effect": [{"param": [{"effectPoint": 35 [{"x":0,"y":1}, 3039349 53 {"x":0.2544,"y":1}, {"x": 0.2579,"y": 1.0638}, {"x": 0.5003,"y": 1.06382}, {"x": 0.5038,"y": 1.1363}, 5 {"x": 0.7462,"y": 1.13636}, {"x": 0.7498,"y": 1.2195}, {"x":1,"y":1.2195}], "name":"x"1, {"effectPo int": 10 [{"x":0,"y":1}, {"x":0.2544,"y":1}, {"x": 0.2579,"y": 1.0638}, {"x": 0.5003,"y": 1.0638}, {"x": 0.5038,"y": 1.1363}, 15 {"x": 0.7462,"y": 1.1363}, {"x": 0.7498,"y": 1.2195}, {"x":1,"y":1.2195}], "name":"y"}], "typeEffect":"SCALE"1, 20 {"param": [{"effectP o int": [{"x":0,"y":0}, {"x":0.0070,"y":1}, {"x":0.9929,"y":1}, 25 {"x":1,"y":0}], "name":"alphal], "typeEffect":"OPAC ITY"1, {"param": [{"effectPoint": 30 [{"x":0,"y":0}, {"x":1,"y":0}], "name":"y"}], "typeEffect":"TRANSLATE"}], "position":24577,"idPhoto": 121, 35 3039349 54 {"duration":1391,"isTOP":false, "effect": [{"param": [{"effectPoint": 5 [{"x":0,"y":1}, {"x":0.2501,"y":1}, {"x": 0.2537,"y": 1.0638}, {"x": 0.4924,"y": 1.0638}, {"x": 0.4960,"y": 1.1363}, 10 {"x": 0.7426,"y": 1.1363}, {"x":0.7462,"y":1.2195}, {"x":1,"y":1.2195}], "name":"x"1, {"effectPoint": [{"x":0,"y": 1}, 15 {"x":0.2501,"y":1}, {"x": 0.2537,"y": 1.0638}, {"x": 0.4924,"y": 1.0638 {"x": 0.4960,"y": 1.1363}, {"x": 0.7426,"y": 1.1363}, 20 {"x": 0.7462,"y": 1.2195}, {"x":1,"y":1.2195}], "name":"y"}], "typeEffect":"SCALE"1, {"param": 25 [{"effectPoint": [{"x":0,"y":0}, {"x": 0.007189072609633357,"y": 1}, {"x": 0.9928109273903667,"y": 1}, {"x":1,"y":0}], 30 "name":"alphal], "typeEffect":"OPAC ITY"1, {"param": [{"effectPoint": [{"x":0,"y":0}, 35 {"x":1,"y":0}], 303 93 49 "name":"y"}], "typeEffect":"TRANSLATE"}], "position":25982,"idPhoto":131]}} {"listTags": 5 "subframe_id":20150317154219001, il identifiant du fichier "masterframe_id":20150317154219000, il identifiant du fichier // principal d'origine "sframe_label":"intro_1_part_1", // étiquette du segment musical // correspondant 10 "subframe_previous_id": nul I, // identifiant du fichier précédent // extrait du fichier principal d'origine "subframe_next_id":null, // identifiant du fichier suivant // extrait du fichier principal d'origine "duration":38, // durée du segment musical correspondant 15 "total_duration": 191, il durée de l'enregistrement audio // correspondant au fichier principal d'origine "nb_photo":32}, // nombre correspondant d'images affichées "startTooth":0, // numéro de la première fenêtre temporelle "stopTooth":40, // numéro de la dernière fenêtre temporelle 20 "debit": 128, // débit en kb/s de l'enregistrement audio correspondant {"ppm_moy":0, "ppm_min":0, "ppm_max":0, "cpm_min":0, "cpm_moy":0, "cpm_max":0, "cpm_ppm":0, "BPM":118, "BPM-P":118, "BPM_S":118, "BPM_E":118, "BPM_N":118, "TSS":12000, "TSE":12001, "TES": 12962, "TEE": 12963, 25 "is_end":false, "is_start":true, "start_level":6, "end_level": 17, "nb_photo_top":0, "version_fg":"V401","artist":"aaa", "operateur_artistique":"ppp", 30 "masterframe_validated":true, "validated_by":"vvv", "validated_date":"ddd", "last_update_date":"ddd", "categories": 35 {"hit_of_the_moment_end":"ddd","best_year": nul I, 3039349 56 "mood":["mood_party","mood_bittersweet","mood_sad"], "pace":["pace_fast_rough","pace_cooll, "release_year":yyy,"countries":["gb","fr"],"sung":["uk"],"gem":false, "deluxe":true,"cult":false,"instrumentarfalse, 5 "genre": rgenre_techno","genre_dance","genre_pop","genre_technol, "theme": ["theme_201 0"],"hit_of_the_moment_start":"ddel, "album":"aaa","song_title":"ttt","major":"mmm", "comment_3":'","comment_2":","comment_1":","comment_4":", "stereo":truel 10 REVENDICATIONS1. Procédé de détection du début de la lecture d'un enregistrement audio par un programme de restitution audio (PLY) exécuté par un terminal (MT, FT), le procédé comprenant des étapes consistant à: activer la lecture par le programme de restitution audio d'un enregistrement audio (AF, AFE), effectuer une première mesure d'une position courante de lecture par le programme de restitution audio de l'enregistrement audio, pour obtenir une première position (POSO), effectuer une seconde mesure d'une position courante de lecture par le programme de restitution audio de l'enregistrement audio, pour obtenir une seconde position, la seconde mesure étant répétée tant qu'un écart entre la seconde position et la première position n'est pas supérieur à une valeur de seuil d'écart (EC1), et fournir une valeur de l'instant courant (CT) en tant qu'instant de démarrage effectif (Ti) de la lecture de l'enregistrement audio lorsque l'écart entre la seconde position et la première position est supérieure à la valeur de seuil d'écart. 2. Procédé selon la revendication 1, comprenant plusieurs étapes de mesure d'une position courante de lecture par le programme de restitution audio de l'enregistrement audio, lorsque l'écart (EC1) entre la seconde position et la première position est supérieure à la valeur de seuil d'écart (EC1),l'instant de démarrage effectif (Ti) de la lecture de l'enregistrement audio étant déterminé lorsque la position courante mesurée est plusieurs fois supérieure à une position précédente mesurée. 3. Procédé de génération d'un diaporama synchronisé avec des événements audio, par un terminal (FT, MT), le procédé comprenant des étapes exécutées par un terminal (FT, MT) et consistant à: mémoriser une séquence de données d'image comprenant des images ordonnées, déclencher la restitution d'un enregistrement audio (AF, AFE), 3039349 58 exécuter le procédé selon l'une des revendications 1 ou 2 pour détecter un instant de démarrage (Ti) de la restitution de l'enregistrement audio, lire un fichier synchronisation (SF) lié à l'enregistrement audio et 5 définissant des fenêtres temporelles (EC ) d'affichage d'une image (PCT ), chaque fenêtre temporelle étant définie par des données (ECP , ECW ) définissant des instants de début et de fin de la fenêtre temporelle, par rapport à un instant initial, et étant associée à un rang (n) d'image de la séquence de données d'image et à des données d'effet 10 d'affichage (EF1-EF6) à appliquer à une image à afficher durant la fenêtre temporelle, les instants de début et de fin de chaque fenêtre temporelle étant synchronisés avec des événements audio de l'enregistrement audio, et générer successivement des trames d'image en synchronisme avec la restitution de l'enregistrement audio, en tenant compte de l'instant initial 15 détecté de la restitution de l'enregistrement audio, chaque trame d'image étant à afficher pendant une période de trame. 4. Procédé selon la revendication 3, comprenant des étapes consistant à déterminer pour chaque trame d'image : 20 au moins une fenêtre temporelle (EC ) active en fonction d'un instant de début de trame et des données définissant les instants de début et de fin (ECP , ECW ) des fenêtres temporelles, une image (PCT ) de la séquence de données d'image, à afficher pour chaque fenêtre temporelle active, en fonction du rang d'image (n) 25 associé à la fenêtre temporelle active, et une animation d'affichage pour chaque image à afficher, en fonction des données d'effet d'affichage (EF1-EF6) de la fenêtre temporelle active correspondante et de l'instant de début de trame, chaque trame d'image étant formée à partir de l'image correspondant à chaque fenêtre temporelle 30 active, à laquelle est appliqué l'animation d'affichage déterminée pour l'image. 5. Procédé selon la revendication 3 ou 4, comprenant une étape de détermination d'un instant initial (Ti) d'affichage des images en retranchant une certaine durée (HPL) à l'instant de démarrage (Ti) déterminé de 3039349 59 restitution de l'enregistrement audio (AF, AFE), pour tenir compte d'un l'écart de latence entre la perception auditive et la perception visuelle du système sensitif humain, le séquencement de l'affichage des images (PCT ) étant effectué à partir de l'instant initial d'affichage des images ainsi déterminé. 5 6. Procédé selon l'une des revendications 3 à 5, comprenant des étapes de mesure d'une durée de préparation d'une image en vue de son affichage, et de dégradation de la qualité de l'image si cette durée est supérieure à une valeur de seuil, la dégradation de la qualité de l'image étant 10 effectuée en réduisant la résolution de l'image et/ou en augmentant un taux de compression de l'image. 7. Procédé selon l'une des revendications 3 à 6, dans lequel l'enregistrement audio est généré en temps réel pendant sa restitution en 15 enchainant plusieurs segments musicaux, chaque segment musical étant associé à un fichier de synchronisation permettant de synchroniser l'affichage d'images avec des événements audio du segment musical. 8. Procédé selon l'une des revendications 3 à 7, dans lequel une 20 transition d'affichage (TT ) entre deux images successives (PCT - PCT ) de la séquence de données d'image est définie par une période de chevauchement temporel (TTW ) de deux fenêtres temporelles successives (EC -EC ), et une animation d'affichage de transition définie par les données d'effet d'affichage (EF1-EF6) des deux fenêtres 25 temporelles successives durant la période de chevauchement temporel. 9. Procédé selon l'une des revendications 3 à 8, dans lequel des instants médians des transitions d'affichage (TT ) sont synchronisés avec des événements audio de l'enregistrement audio (AFE). 30 10. Procédé selon l'une des revendications 3 à 9, comprenant des étapes d'affichage des trames d'image générées à l'écran du terminal (FT, MT), ou de génération d'une séquence vidéo rassemblant les trames d'image générées. 35 3039349 60 11. Procédé d'enchainement de segments musicaux restitués par un terminal (FT, MT), les segments musicaux comprenant une transition de début (TS) s'étendant depuis le début du segment musical jusqu'à un instant de fin de la transition de début, durant laquelle une atténuation décroissante 5 est appliquée au volume sonore au début du segment musical, et une transition de fin (TE) s'étendant depuis un instant de début (TES) de la transition de fin jusqu'à la fin du segment, musical, durant laquelle une atténuation croissante est appliquée au volume sonore à la fin du segment musical, le procédé d'enchainement comprenant des étapes consistant à: 10 sélectionner un premier et un second segment musical (SG1, 5G2) à enchainer parmi un ensemble de segments musicaux extraits d'enregistrements musicaux, restituer le premier segment musical (SG1), exécuter le procédé selon l'une des revendications 1 et 2 pour 15 détecter un instant de démarrage effectif (Ti, TSS1) de la restitution du premier segment musical, déterminer un instant de fin (TEE1) du premier segment musical en fonction de l'instant de début déterminé de la restitution du premier segment, déterminer un instant de début (T552) du second segment musical 20 (5G2) en faisant coïncider l'instant de fin du premier segment musical avec l'instant de fin (TSE2) de la transition de début (TS1) du second segment musical, et restituer le second segment musical à l'instant de début déterminé pour le second segment musical, en faisant se chevaucher la période entre 25 l'instant de début du second segment musical et l'instant de fin du premier segment musical. 12. Procédé selon la revendication 11, comprenant une étape de détermination d'un temps de latence (ACL) dans le terminal (FT, MT) entre 30 un instant de déclenchement de la restitution d'un segment musical et un instant de démarrage de la restitution du segment musical par le terminal, l'instant de début (T552) de restitution du second segment étant déterminé en tenant compte du temps de latence déterminé. 3039349 61 13. Procédé selon l'une des revendications 11 et 12, comprenant des étapes consistant à: ajouter au début d'un segment musical (SG1, SG2) une section factice, 5 activer la lecture par le programme de restitution audio du segment musical, déterminer un temps de latence (ACL) entre l'instant d'activation du programme de restitution audio et l'instant de démarrage effectif de la lecture du segment musical, et 10 déclencher un saut dans la lecture du segment musical pour poursuivre la lecture au début du segment musical sans attendre la fin de la lecture de la section factice. 14. Procédé selon l'une des revendications 11 à 13, dans lequel le 15 second segment musical (SG2) est sélectionné en fonction d'au moins un des critères suivants : un rapport de nombres moyens de battements par unité de temps dans les premier et second segments musicaux, compris entre 0,9xN et 1,1xN, ou entre 0,9/N et 1,1/N, N étant fixé à 1,2 ou 4, 20 une durée de transition de début du second segment proche d'une durée de transition de fin du premier segment, le second segment musical appartient à un genre musical du premier segment musical, et le second segment figurait au début d'un enregistrement musical. 25 15. Terminal configuré pour mettre en oeuvre le procédé selon l'une des revendications 1 à 14.