FR3039349A1 - Procede de synchronisation d'un flux d'images avec des evenements audio - Google Patents

Procede de synchronisation d'un flux d'images avec des evenements audio Download PDF

Info

Publication number
FR3039349A1
FR3039349A1 FR1557028A FR1557028A FR3039349A1 FR 3039349 A1 FR3039349 A1 FR 3039349A1 FR 1557028 A FR1557028 A FR 1557028A FR 1557028 A FR1557028 A FR 1557028A FR 3039349 A1 FR3039349 A1 FR 3039349A1
Authority
FR
France
Prior art keywords
segment
time
musical
image
audio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR1557028A
Other languages
English (en)
Inventor
Pascal Mattei
Christophe Vaucher
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SOCLIP SA
Original Assignee
SOCLIP SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SOCLIP SA filed Critical SOCLIP SA
Priority to FR1557028A priority Critical patent/FR3039349A1/fr
Publication of FR3039349A1 publication Critical patent/FR3039349A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • G10H1/0025Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/361Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
    • G10H1/368Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems displaying animated or moving pictures synchronized with the music or audio part
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/125Medley, i.e. linking parts of different musical pieces in one single piece, e.g. sound collage, DJ mix
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/075Musical metadata derived from musical analysis or for use in electrophonic musical instruments
    • G10H2240/085Mood, i.e. generation, detection or selection of a particular emotional content or atmosphere in a musical piece
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/325Synchronizing two or more audio tracks or files according to musical features or musical timings
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/025Envelope processing of music signals in, e.g. time domain, transform domain or cepstrum domain
    • G10H2250/035Crossfade, i.e. time domain amplitude envelope control of the transition between musical sounds or melodies, obtained for musical purposes, e.g. for ADSR tone generation, articulations, medley, remix

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

L'invention concerne un procédé de détection du début de la lecture d'un enregistrement audio par un programme de restitution audio (PLY1, PLY2) 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 (AFE1, AFE2), effectuer successivement une première mesure et une seconde mesure d'une position courante de lecture par le programme de restitution audio de l'enregistrement audio, pour obtenir une première position et 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 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, la connaissance de l'instant de démarrage effectif permettant de synchroniser précisément le flux d'image avec l'audio.

Description

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, pouvant combiner et enchaîner 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 à 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 enregistrement audio avec une séquence d’images ou un enchaînement 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 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 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 différences sources sonores (instruments de musique, voix humaines) dans un enregistrement audio. Cette difficulté d’extraction est accentuée notamment lorsque l’enregistrement a subi un encodage ou une compression qui a entraîné 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 chaîne 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()M 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’œil 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 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, 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 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 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.
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, 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 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 générer successivement des trames d’image en synchronisme avec la 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 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 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 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 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 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 temps réel pendant sa restitution en enchaînant 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 images successives de la séquence de données d’image est définie par une 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.
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 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’enchaînement 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, 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’enchaînement comprenant des étapes consistant à : sélectionner un premier et un second segment musical à enchaîner 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 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 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 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 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 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 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 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.
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 : 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 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, 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 données temporelles relatives à l’affichage des images et aux transitions entre l’affichage de deux images successives, les figures 7 A à 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 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 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, 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 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 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.
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.
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 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. 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 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é tel que MP3, WMA, 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 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 temporelle de la forme d’onde AWF à afficher spécifiquement à l’écran 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 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 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 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 ECO-ECU 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 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.
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 EC0-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 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.
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 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 EC0-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 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-SG4 dans les barres ESB, sont des traits verticaux ou 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 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 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 musical coupé net.
Les instants de début et de fin des transitions de début et de fin des segments musicaux SG1-SG4 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 période des battements au moment de la transition dans l’enregistrement 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 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<n> 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<n> comporte plusieurs zones d’effet d’affichage EF1-EF6 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<n>, c’est-à-dire entre les instants de début et de fin de la fenêtre temporelle EC<n>. 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 points PTO à PT5 et des segments SG1 à SG5 entre les points PT0-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 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 : - 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, - 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), - des variations géométriques du format de l’image, - des variations de couleur de l’image, - etc.
Chaque fenêtre temporelle EC<n> peut comprendre un indicateur spécifiant si la fenêtre temporelle est associée à la même image (duplication d’image) que la fenêtre temporelle précédente EC<n-1> 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<n> 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 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 entraîner une modification du rang d’affichage de la série d’images sélectionnée par l’utilisateur.
La figure 5 représente en particulier les transitions TT<n> et TT<n+1> avant et après la fenêtre temporelle EC<n>. La transition TT<n> est située entre les fenêtres temporelles EC<n-1> et EC<n>, et la transition TT<n+1> est située entre les fenêtres temporelles EC<n> et EC<n+1>. La figure 6 représente sur un axe temporel les instants de début et de fin et les durées des fenêtres temporelles EC<n-1>, EC<n> et EC<n+1> et des transitions TT<n> et TT<n+1>. Le bord gauche, c’est-à-dire l’instant de début ECP<n> de la fenêtre temporelle EC<n> correspond à l’instant de début de la transition TT<n>. Le bord droit, c’est-à-dire l’instant de fin de la fenêtre temporelle EC<n-1> correspond à l’instant de fin de la transition TT<n>. De même, le bord gauche, c’est-à-dire l’instant de début ECP<n+1> de la fenêtre temporelle EC<n+1 > correspond à l’instant de début de la transition TT<n+1>. Le bord droit, c’est-à-dire l’instant de fin de la fenêtre temporelle EC<n> correspond à l’instant de fin de la transition TT<n+1>.
Sur la figure 6, chaque fenêtre temporelle EC<n> est définie par une position ECP<n> correspondant à l’instant de début de la fenêtre temporelle, et une durée ECW<n>. De même, chaque transition TT<n> est définie par une position TTP<n> correspondant à l’instant médian de la transition, et une durée TTW<n>. Ainsi, l’instant de début ECP<n> de la fenêtre temporelle EC<n> est égal à l’instant de début de la transition TT<n>, lequel est égal à TTP<n> - TTW<n>/2. L’instant de fin de la fenêtre temporelle EC<n> (égal à ECP<n> + ECW<n>) est égal à l’instant de fin de la transition TT<n+1>, c’est-à-dire à TTP<n+1 > + TTW<n+1 >12.
Le terminal GT est configuré pour permettre à un opérateur de spécifier graphiquement des fenêtres temporelles telles que définies précédemment, en synchronisme avec des événements audio de l’enregistrement audio se trouvant dans le fichier audio sélectionné AF et dont la forme d’onde AWF est présentée en synchronisme avec les fenêtres temporelles (figure 3). Ces événements audio peuvent être détectés sur la forme d’onde affichée ou en écoutant l’enregistrement audio. Ces événements audio peuvent également être détectés par un traitement de signal appliqué à l’enregistrement audio. Un tel traitement de signal peut fournir par exemple des diagrammes d’amplitude, de fréquence et/ou d’énergie en fonction du temps, qui peuvent être affichés à côté ou à la place de la forme d’onde AWF. Ces diagrammes visent à permettre à l’opérateur de repérer plus facilement et précisément des événements liés aux rythmes de l’enregistrement audio, ne pouvant être discernés ni en écoutant l’enregistrement audio, ni en visualisant la forme d’onde AWF. Ces événements audio peuvent être par exemple un battement de rythme de l’enregistrement audio, un battement de caisse claire, un "riff" de guitare (une courte succession d’accords jouée de manière répétitive), un placage d’accord de piano, etc.
Un autre outil d’analyse de signal audio peut permettre de placer précisément une transition à l’instant d’apparition d’un battement ou d’un pic d’amplitude du son. Cet outil d’analyse peut être également configuré pour positionner des transitions ou définir toute autre donnée utile à la définition des effets d’affichage ou des courbes de variation de paramètres d’effet d’affichage, l’opérateur n’ayant ensuite plus qu’à affiner la position des transitions et préciser les effets d’affichage en fonction de sa perception de l’enregistrement audio. Le terminal GT peut également importer des informations issues d’un traitement externe appliqué à l’enregistrement audio, permettant notamment de définir la position des transitions TT<n>, ou toute donnée utile à la détermination des paramètres d’effet d’affichage EF.
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 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<n> médians des transitions TT<n>. Cette opération a pour effet de créer des transitions TT<n> d’une durée prédéfinie et des fenêtres temporelles EC<n> entre les transitions. L’opérateur peut ensuite ajuster la durée de chaque transition TT<n> ou de chaque fenêtre temporelle EC<n>, ce qui a pour effet d’ajuster la durée de chaque fenêtre temporelle EC<n> ou de chaque transition TT<n>. 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 à 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 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 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 langage standard tel que JSON (JavaScript Object Notation). 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 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", - 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é "NstPhotoFile", et - une liste de fichiers de synchronisation dérivés, extraits du fichier de synchronisation principal, cette liste étant introduite par le mot-clé "NstSubCases",
La liste de marqueurs correspond aux différents marqueurs MK introduits dans la barre de marquage MB. Chaque marqueur MK est associé 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 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, - 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é "widthTransition", un type de transition, introduite par le mot-clé "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<n> 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 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 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 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 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 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 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, - "r.speed" et "r.level" pour définir une vitesse et une valeur de rotation. 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 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 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 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 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. 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 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 associés, ainsi stockés dans la base de données DB. A chaque fois qu’un fichier de synchronisation dérivé SF est extrait d’un fichier de synchronisation principal MF, un élément peut être ajouté dans la liste "NstSubFrames" des fichiers de synchronisation dérivés extraits, figurant dans le fichier de synchronisation principal MF.
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 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<n> extraites du 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 images du diaporama. Les ressources du terminal MT, FT mises en œuvre 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 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é à 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 par une liste d’effets introduits chacun par le mot-clé "effectPoint", suivi d’un 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 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), "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 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 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 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 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 segment musical fusionné corresponde à la forme d’onde du début du 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 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 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), - "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 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), - "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 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, - "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 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, - "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 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), cette séquence apparaissant seule ou au premier plan d’un enregistrement musical. L’indicateur ΆΝΑ-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 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 à 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. Ces étiquettes permettent de préciser par exemple : - 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 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, - 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 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 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 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-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 enregistrement sonore.
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 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 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 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 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 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 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. L’instant de fin TSE de la transition de début TS peut être placé soit à 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 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 enchaînée, avec des transitions douces entre les segments. Ainsi, la lecture deux fichiers de segment d’enregistrement musical AFE peut être enchaîné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 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 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 enchaînés de manière douce à la suite du premier segment 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é 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 appliqué au nombre de battements "BPM-N" du premier segment, comparé 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 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 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 ê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 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 à enchaîner. 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 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 à enchaîner.
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 ordonnée de segments à enchaîner. 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 à enchaîner, le terminal GT, MT, FT peut être configuré comme représenté sur la figure 8. Sur la figure 8, le terminal exécute simultanément deux instances PLY1, 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 enchaîner la lecture de plusieurs segments 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.
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 séquenceur SEQ est configuré pour commander le processeur graphique GPU du terminal, par exemple par l’intermédiaire d’un programme pilote G DRV.
Dans le cas où des segments audio AFE1, AFE2 doivent être enchaînés en lecture, le séquenceur SEQ est configuré pour exécuter 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 à enchaîner et lit un identifiant d’un premier segment à enchaîner. A l’étape S33, le séquenceur SEQ ouvre le fichier de synchronisation SF[n] (n=1) associé au premier 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 comporte un autre segment musical à enchaîner, 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 liste LSSG. A l’étape S38, le séquenceur SEQ détermine, comme illustré sur la figure 9, l’instant TSS<n> (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<n-1> (TEE1) de fin de ce segment, de manière à synchroniser l’instant TEE<n-1> (TEE1) du segment en cours de lecture (SG1) avec l’instant TSE<n> (TSE2) du segment suivant (SG2). A cet effet, le séquenceur SEQ lit les positions respectives des instants TEE<n-1> du segment en cours de lecture (SG1) et des instants TSS<n> (TSS2) et TSE<n> (TSE2) du segment suivant (SG2) dans les fichiers SF[n-1] et SF[n] associés au segment en cours de lecture (SG1) et au segment suivant à enchaîner (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 TSS<n-1> et TEE<n-1>. Cette lecture est déclenchée à l’instant TSS<n> ainsi déterminé auquel le temps de latence ACL de la chaîne 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 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, SG2, 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 d’exploitation Android, cette commande est nommée "getcurrentposition()". Lorsqu’une nouvelle position POS<n> fournie par la commande GCP() présente une valeur sensiblement supérieure (à une marge d’erreur près) à celle POS<n-1> précédemment fournie par cette commande, l’instant de réception de la nouvelle position POS<n> est mémorisé en tant qu’instant de démarrage de la lecture du segment en cours de lecture, soit TSS<n-1>. Les instants TSE<n-1>, TES<n-1> et TEE<n-1> sont déterminés (à l’étape S38) en fonction de l’instant de démarrage TSS<n-1> 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.
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<n-1>) 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<n+1> fournies par la 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<n+1> à POS<n+J> fournies par la commande GCP() en augmentation par rapport à la position obtenue précédemment, J pouvant être fixé par exemple à 3 ou 4. L’instant de réception de la dernière position fournie est mémorisé en tant qu’instant TSS<n-1 > 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 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 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 é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 entre le second écart DF2 et le premier écart DF1 est supérieure à un autre seuil d’écart EC[j], 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 EC[j] peuvent également être identiques d’une itération à l’autre. A l’étape S49, l’index j est incrémenté de un. A l’étape S50, l’index j 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 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 T1 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 T1 de la restitution de l’enregistrement audio. Ainsi, la procédure GTST peut être appelée juste après l’exécution de 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.
Selon un mode de réalisation, l’instant d’activation TSS<n> de l’instance inactive PLY1, PLY2 du programme de restitution audio, pour enchaîner la lecture d’un segment suivant, est corrigé pour tenir compte d’un temps de latence ACL de la chaîne de traitement audio du terminal FT, MT, entre l’instant d’activation de la lecture d’un enregistrement audio et l’instant 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 (figure 11) l’écart entre les instants T1 et TO. Ainsi, l’instant TSS<n> 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 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 à la fin du segment en cours de lecture, de manière à atteindre la valeur 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.
La figure 12 représente des étapes S1 à 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 œuvre par une application installée dans un terminal d’utilisateur FT, MT. A l’étape S1, un menu d’accueil est affiché pour permettre à l’utilisateur de générer un nouveau diaporama ou de sélectionner 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 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. 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 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 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 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 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). 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 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 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 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 S1.
La figure 13 représente des étapes S15 à S26 exécutées par le terminal FT, MT durant l’étape S12. Le terminal FT, MT peut alors être 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 S15 à S26 sont exécutées successivement par le séquenceur SEQ. A l’étape S15, le séquenceur SEQ ouvre le fichier de 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 T1 à la somme de la variable TO et d’une durée maximum TX de lancement de la lecture d’un 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 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 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 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 T1 du diaporama en retranchant le temps de latence HPL à la valeur retournée par la procédure GTST. L’instant T1 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 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 T1 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 propriétés d’animation spécifiés pour la fenêtre temporelle EC[n] de rang n 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 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 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 rafraîchissement de l’écran DSP du terminal FT, MT de 60 Flz). Chaque trame d’image correspond au contenu de la mémoire vidéo du terminal à un 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<n> et EC<n-1>, - une image PCT<n>, PCT<n-1> 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 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 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 commander le processeur graphique.
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 à 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 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 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 à 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 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 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 augmenté par exemple de 5%. Ainsi, aux étapes S63 et S64, le taux de 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 lecture de l’autre segment est déclenchée exécutant à nouveau la procédure à partir de l’étape S15. 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 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 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 à enchaîner, enchaînés de la manière 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 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’enchaînement défini. Ainsi, il n’est pas nécessaire d’attendre que l’ensemble des segments à enchaîner soient fusionnés dans un fichier unique, pour activer la restitution du 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 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 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 - 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.
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 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.
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 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 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 dans lequel plusieurs segments musicaux sont enchaîné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 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 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. 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 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 à 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é.
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 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 enchaîner la lecture d’un segment avant le premier segment fusionné et pour enchaîner 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 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 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, 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é 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 paramètres "isSTART" et "isEND" à "true") peut être lu séparément (sans être assemblé à d’autres segments). Le segment du deuxième couple peut être inséré en tête d’une liste de segments à enchaîner, et le segment du troisième couple peut être inséré en fin d’une liste de segments à enchaîner.
Le quatrième couple (ayant des paramètres "isSTART" et "isEND" à "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 à 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 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 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 préserver T'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 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.
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 à 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 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 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, 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 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 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 l’utilisateur peut percevoir des vibrations de manière synchrone, par sa main 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. 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 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 transition est inférieure à la période de battement. Un tel fondu permet de conserver l’énergie audio et donc le volume sonore. ANNEXE I (faisant partie intégrante de la description)
Extrait de contenu d’un fichier de synchronisation principal {"AudioCase":{"AudioFile":"06 xxxx.aac'V'barlnfo": {"NstTags": "masterframe_id":0, // identifiant du fichier de synchronisation "ppm_moy": 101, // nombre moyen d’images affichées par minute "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 "cpm_ppm": 1, // ratio entre cpm et ppm "total_duration": 191, // 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 // "version_fg":"V401 ", // 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 "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 "best_year":null, // audio correspondant "mood":["mood_party","mood_bittersweet"], "pace": ["pace_fast_rough"], "release_year":yyy,"countries":cc,"sung":dd, "gem":false,"deluxe":true, "cult":false,"instrumental":false, "genre":["genre_techno","genre_dance"], "theme":["theme_2010"], "hit_of_the_moment_start":"ddd"}, "comment_3":"","comment_4":"”,"comment_2":"","comment_1 // champs // 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}, {"marker":71181 },{"marker":76093},{"marker":82395}, {"marker":88009},{"marker":93637},{"marker":98453}, {"marker":210852},{"marker":233575},{"marker":255965}, {"marker":258799},{"marker":260257},{"marker":261726}, {"marker":264374},{"marker":265770},{"marker":267167}, {"marker":270011 },{"marker":271376},{"marker":272824}, {"marker":275606},{"marker":277001},{"marker":278370}, {"marker":279044},{"marker":300436}], "NstZones": [{"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}, {"zone":6},{"zone":6},{"zone":5},{"zone":5},{"zone":4},{"zone":4}, {"zone":2},{"zone":2},{"zone":0},{"zone":6}]}, "NstTransition": [{"widthTransition":451,"typeTransition":"FADE","position":286}, {"widthTransition":260,"typeTransition":"FADE","position":2709}, {"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} ,{"widthTransition":260,"typeTransition":"FADE","position": 12000}, {"widthTransition":260,"typeTransition":"FADE","position": 12963}, {"widthTransition":260,"typeTransition":"FADE","position": 14764}, {"widthTransition":410,"typeTransition":"FADE","position": 17589}, {"widthTransition":260,"typeTransition":"FADE","position": 19541}, {"widthTransition":10,"typeTransition":"FADE","position":324278}, {"widthTransition":10,"typeTransition":"FADE","position":324673}, {"widthTransition":10,"typeTransition":"FADE","position":325079}, {"widthTransition":10,"typeTransition":"FADE","position":325486}], "listPhotoFile": [{"isDUPLICATE":false,"isTOP":false,"effect":[]}, {"isDUPLICATE":false,"isTOP":false, "effect": [{"duration":2778,"timeposition":61,"param": [{"effectPoint": [{"x":0,"y":0},{"x": 1 ,"y": 1}], "max":1,"name":"f. level", "typeParam":0}], "typeEffect":"FADE"}, {"duration":2778,"timeposition":61,"param": [{"effectPoint": [{"x":0,"y":0},{"x": 1 ,"y":0}], "max":20,"name":"tx.speed","typeParam":1}, {"effectPoint": [{"x":0,"y":0},{"x": 1 ,"y":0}], "max":1,"name":"tx. level",MtypeParam":1}, {"effectPoint": [{"x":0,"y":0.5},{"x": 1 ,"y":0.5}], "max":20,"name":"ty.speed","typeParam":1}, {"effectPoint": [{"x":0,"y":0},{"x": 1 ,"y":0}], "max":1,"name":"ty. level","typeParam":1}], typeEffect": "TRAN S LATE"}]}, {"isDUPLICATE":false,"isTOP":false, "effect": [{"duration":2095,"timeposition":2579,"param": [{"effectPoint": [{"x":0,"y":0.5},{"x": 1 ,"y":0.5}], "max":20,"name":"z.speed","typeParam": 1}, {"effectPoint": [{"x":0,"y":0},{"x": 1 ,"y":0}], "max":0.3,"name":"z. level", "typeParam":1}], "typeEffect":"ZOOM"}, {"duration":2095,"timeposition":2579,"param": [{"effectPoint": [{"X":0"y":i} {"x":0.08,"y":1}, {"x":0.12 ,"y":0.8}, {"X":0 ΐ9 "γ":ΐ} {"x":0.2601 ,"y":0.9638}, {"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}, {"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":0}], "typeEffect":"FADE"}]}, {"isDUPLICATE":false,"isTOP":false,"effect": [{"duration":2116,"timeposition":4414,"param": [{"effectPoint": [{"x":0,"y":0.5},{"x": 1 ,"y":0.5}], "max":20,"name":"z.speed","typeParam": 1}, {"effectPoint": [{"x":0,"y":0},{"x": 1 ,"y":0}], "max":0.3,"name":"z. level", "typeParam":1}], "typeEffect":"ZOOM"}, {"duration":2116,"timeposition":4414,"param": [{"effectPoint": {"χ";0 1 "y";1} {"x":0.12 ,"y":0.8}, {"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}, {"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}, {"x": 0.94, "y": 1}, {"x":0.96,"y":0.8}, {"x":1 ,"y":1}], "max":1 ,"name":"f.level","typeParam":0}], "typeEffect":"FADE"}]}, {"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": 1}, {"effectPoint": [{"x":0,"y":0},{"x": 1 ,"y":0}], "max":0.3,"name":"z. level", "typeParam":1}], "typeEffect":"ZOOM"}, {"duration": 1176,"timeposition":6270,"param": [{"effectPoint": [{"x":0,"y":1}, {"x":0.1 ,"y":1}, {"x":0.15,"y":0.8}, {"X":0 ΐ9 "γ":ΐ} {"x":0.4819,"y":1}, {"x":0.5349,"y":0.8}, {"x":0.5831 ,"y":1}, {"x": 0.94, "y": 0.8}, {"x":1 ,"y":1}], "max":1,"name":"f. level","typeParam":0}], "typeEffect":"FADE"}]}, {"isDUPLICATE":false,"isTOP":false,"effect": [{"duration":381,"timeposition":323902,"param": [{"effectPoint": [{"x":0,"y":0},{"x": 1 ,"y":0}], "max":1 ,"name":"f. level","typeParam":0}], "typeEffect":"FADE"}]}, {"isDUPLICATE":false,"isTOP":false,"effect": [{"duration":405,"timeposition":324273,"param": [{"effectPoint": [{"x":0,"y":0},{"x": 1 ,"y":0}], "max":1 ,"name":"f. level","typeParam":0}], "typeEffect":"FADE"}]}, {"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":0}], "typeEffect":"FADE"}]}, {"isDUPLICATE":false,"isTOP":false,"effect": [{"duration":417,"timeposition":325074,"param": [{"effectPoint":' [{"x":0,"y":0},{"x": 1 ,"y":0}], "max":1 ,"name":"f. level","typeParam":0}], "typeEffect":"FADE"}]}, {"isDUPLICATE":false,"isTOP":false,"effect":[]}], ANNEXE II (faisant partie intégrante de la description)
Extrait de contenu d’un fichier de synchronisation dérivé {"SubFrameJSON":{"listEffectCarriers": [{"duration":3160,"isTOP":false, "effect": [{"param": [{"effectPoint": [{"x":0,"y": 1.0010}, {"X";1 "y";l 4619}] "name":"x"}, {"effectPoint": [{"x":0,"y": 1.0010}, {"x":1 ,"y":1.4619}], "name":"y"}], "typeEffect":"SCALE"}, {"param": [{"effectPoint": [{"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}, {"x":1 ,"y":0}], "name":"alpha"}], "typeEffect":"OPACITY"}, {"param": [{"effectPoint": [{"x":0,"y":0}, {"x":1 ,"y":0}], "name":"y"}], "ty peEffect" : "TRAN S LATE"}], "position":-130,"idPhoto":0}, {"duration":2287,"isTOP":false, "effect": [{"param": [{"effectPoint": [{"x":0,"y": 1.0010}, {"x":1,"y": 1.2970}], "name":"x"}, {"effectPoint": [{"x":0,"y": 1.0010}, {"x":1,"y": 1.2970}], "name":"y"}], "typeEffect":"SCALE"}, {"param": [{"effectPoint": [{"x":0,"y":0}, {"x":0.1792,"y":1}, {"x":0.8863,"y":1}, {"x":1 ,"y":0}], "name":"alpha"}], "typeEffect":"OPACITY"}, {"param": [{"effectPoint": [{"x":0,"y":0}, {"x":1 ,"y":0}], "name":"y"}], "ty peEffect" : "TRAN S LATE"}], "position":2620,"idPhoto": 1}, {"duration": 1910,"isTOP":false, "effect": [{"param": [{"effectPoint": [{"x":0,"y": 1.0010}, {"x":1,"y": 1.2360}], "name":"x"}, {"effectPoint": [{"x":0,"y": 1.0010}, {"x":1,"y": 1.2360}], "name":"y"}], "typeEffect":"SCALE"}, {"param": [{"effectPoint": [{"x":0,"y":0}, {"x":0.1361 ,"y":1}, {"x":0.8638,"y":1}, {"x":1 ,"y":0}], "name":"alpha"}], "typeEffect":"OPACITY"}, {"param": [{"effectPoint": [{"x":0,"y":0}, {"x":1 ,"y":0}], "name":"y"}], "ty peEffect" : "TRAN S LATE"}], "position":4647,"idPhoto":2}, {"duration":2959,"isTOP":false, "effect": [{"param": [{"effectPoint": [{"x":0,"y": 1.0010}, {"x":1,"y": 1.4204}], "name":"x"}, {"effectPoint": [{"x":0,"y": 1.0010}, {"x":1,"y": 1.4204}], "name":"y"}], "typeEffect":"SCALE"}, {"param": [{"effectPoint": [{"x":0,"y":0}, {"x":0.0878,"y":1}, {"x":0.9121 ,"y":1}, {"x":1 ,"y":0}], "name":"alpha"}], "typeEffect":"OPACITY"}, {"param": [{"effectPoint": [{"x":0 ,"y":0}, {"x":1 ,"y":0}], "name":"y"}], "ty peEffect" : "TRAN S LATE"}], "position":6297,"idPhoto":3}, {"duration":2106,"isTOP":false, "effect": [{"param": [{"effectPoint": [{"x":0,"y": 1.0010}, {"x": 0.3945, "y": 1.0943}, {"x":0.4563,"y": 1.1777}, {"x":1,"y": 1.3568}], "name":"x"}, {"effectPoint": [{"x":0,"y": 1.0010}, {"x": 0.3945, "y": 1.0943}, {"x":0.4563,"y": 1.1777}, {"x":1,"y": 1.3568}], "name":"y"}], "typeEffect":"SCALE"}, {"param": [{"effectPoint": [{"x":0,"y":0}, {"x":0.0368, "y":0.2986}, {"x": 0.0466, "y": 0.3402}, {"x":0.1234,"y":0.9576}, {"x":0.1806,"y":0.9998}, {"x":0.2486, "y":0.9004}, {"x":0.2820, "y":0.9985}, {"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}, {"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}, {"x":0.8765, "y":0.9358}, {"x":0.8849,"y":0.8416}, {"x":0.9267,"y":0.5921}, {"x":1 ,"y":0}], "name":"alpha"}], "typeEffect":"OPACITY"}, {"param": [{"effectPoint": [{"x":0,"y":0}, {"x":1 ,"y":0}], "name":"y"}], "ty pe Effect" : "TRAN S LATE"}], "position":8996,"idPhoto":4}, {"duration": 1415,"isTOP":false, "effect": [{"param": [{"effectPoint": [{"x":0,"y":1}, {"x":0.2544,"y":1}, {"x":0.2579, "y": 1.0638}, {"x": 0.5003, "y": 1.06382}, {"x":0.5038,"y": 1.1363}, {"x":0.7462,"y": 1.13636}, {"x":0.7498,"y": 1.2195}, {"x":1 ,"y":1.2195}], "name":"x"}, {"effectPoint": [{"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}, {"x": 0.7462, "y": 1.1363}, {"x":0.7498,"y": 1.2195}, {"x":1 ,"y":1.2195}], "name":"y"}], "typeEffect":"SCALE"}, {"param": [{"effectPoint": [{"x":0,"y":0}, {"x":0.0070,"y":1}, {"x":0.9929,"y":1}, {"x":1 ,"y":0}], "name":"alpha"}], "typeEffect":"OPACITY"}, {"param": [{"effectPoint": [{"x":0,"y":0}, {"x":1 ,"y":0}], "name":"y"}], "ty peEffect" : "TRAN S LATE"}], "position":24577,"idPhoto": 12}, {"duration": 1391 ,"isTOP":false, "effect": [{"param": [{"effectPoint": [{"X":0"y":i} {"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}, {"x":0.7462,"y":1.2195}, {"x":1 ,"y":1.2195}], "name":"x"}, {"effectPoint":[{"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}, {"x": 0.7426, "y": 1.1363}, {"x":0.7462,"y": 1.2195}, {"x":1 ,"y":1.2195}], "name":"y"}], "typeEffect":"SCALE"}, {"param": [{"effectPoint": [{"x":0,"y":0}, {"x":0.007189072609633357,"y": 1}, {"x":0.9928109273903667,"y": 1}, {"x":1 ,"y":0}], "name":"alpha"}], "typeEffect":"OPACITY"}, {"param": [{"effectPoint": [{"x":0,"y":0}, {"x":1 ,"y":0}], "name":"y"}], "ty peEffect" : "TRAN S LATE"}], "position":25982,"idPhoto": 13}]}} {"listTags": "subframe_id":20150317154219001, // identifiant du fichier "masterframe_id":20150317154219000, // identifiant du fichier // principal d’origine "sframe_label":"intro_1_part_1", // étiquette du segment musical // correspondant "subframe_previous_id":null, // 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 "total_duration": 191, // 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 "débit": 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, "is_end":false, "is_start":true, "start_level":6, "end_level":17, "nb_photo_top":0, "version_fg":"V401","artist":"aaa", "operateur_artistique":"ppp", "masterframe_validated":true, "validated_by":"vvv", "validated_date":"ddd", "last_update_date":"ddd", "categories": {"hit_of_the_moment_end":"ddd","best_year":null, "mood":["mood_party","mood_bittersweet","mood_sad"], "pace":["pace_fast_rough","pace_cool"], "release_year":yyy,"countries":["gb","fr"],"sung":["uk"],"gem":false, "deluxe":true,"cult":false,"instrumental":false, "genre":["genre_techno","genre_dance","genre_pop","genre_techno"], "theme":["theme_2010"],"hit_of_the_moment_start":"ddd"}, "album":"aaa","song_title":"ttt","major":"mmm", "comment_3":"","comment_2":"","comment_1":"","comment_4":"", "stereo":true}

Claims (15)

  1. REVENDICATIONS
    1. 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 (T1) 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. 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 (T1) 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. 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), exécuter le procédé selon l’une des revendications 1 ou 2 pour détecter un instant de démarrage (T1) de la restitution de l’enregistrement audio, lire un fichier synchronisation (SF) lié à l’enregistrement audio et définissant des fenêtres temporelles (EC<n>) d’affichage d’une image (PCT<n>), chaque fenêtre temporelle étant définie par des données (ECP<n>, ECW<n>) 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 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 détecté de la restitution de l’enregistrement audio, chaque trame d’image étant à afficher pendant une période de trame.
  4. 4. Procédé selon la revendication 3, comprenant des étapes consistant à déterminer pour chaque trame d’image : au moins une fenêtre temporelle (EC<n>) 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<n>, ECW<n>) des fenêtres temporelles, une image (PCT<n>) de la séquence de données d’image, à afficher pour chaque fenêtre temporelle active, en fonction du rang d’image (n) 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 active, à laquelle est appliqué l’animation d’affichage déterminée pour l’image.
  5. 5. Procédé selon la revendication 3 ou 4, comprenant une étape de détermination d’un instant initial (T1) d’affichage des images en retranchant une certaine durée (HPL) à l’instant de démarrage (T1) déterminé de 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<n>) étant effectué à partir de l’instant initial d’affichage des images ainsi déterminé.
  6. 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 effectuée en réduisant la résolution de l’image et/ou en augmentant un taux de compression de l’image.
  7. 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 enchaînant 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. 8. Procédé selon l’une des revendications 3 à 7, dans lequel une transition d’affichage (TT<n>) entre deux images successives (PCT<n-1>-PCT<n>) de la séquence de données d’image est définie par une période de chevauchement temporel (TTW<n>) de deux fenêtres temporelles successives (EC<n-1>-EC<n>), et une animation d’affichage de transition définie par les données d’effet d’affichage (EF1-EF6) des deux fenêtres temporelles successives durant la période de chevauchement temporel.
  9. 9. Procédé selon l’une des revendications 3 à 8, dans lequel des instants médians des transitions d’affichage (TT<n>) sont synchronisés avec des événements audio de l’enregistrement audio (AFE).
  10. 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.
  11. 11. Procédé d’enchaînement 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 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’enchaînement comprenant des étapes consistant à : sélectionner un premier et un second segment musical (SG1, SG2) à enchaîner 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 détecter un instant de démarrage effectif (T1, 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 (TSS2) du second segment musical (SG2) 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 l’instant de début du second segment musical et l’instant de fin du premier segment musical.
  12. 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 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 (TSS2) de restitution du second segment étant déterminé en tenant compte du temps de latence déterminé.
  13. 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, 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 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. 14. Procédé selon l'une des revendications 11 à 13, dans lequel le 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, 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.
  15. 15. Terminal configuré pour mettre en œuvre le procédé selon l’une des revendications 1 à 14.
FR1557028A 2015-07-23 2015-07-23 Procede de synchronisation d'un flux d'images avec des evenements audio Withdrawn FR3039349A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1557028A FR3039349A1 (fr) 2015-07-23 2015-07-23 Procede de synchronisation d'un flux d'images avec des evenements audio

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1557028A FR3039349A1 (fr) 2015-07-23 2015-07-23 Procede de synchronisation d'un flux d'images avec des evenements audio

Publications (1)

Publication Number Publication Date
FR3039349A1 true FR3039349A1 (fr) 2017-01-27

Family

ID=54066139

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1557028A Withdrawn FR3039349A1 (fr) 2015-07-23 2015-07-23 Procede de synchronisation d'un flux d'images avec des evenements audio

Country Status (1)

Country Link
FR (1) FR3039349A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210241731A1 (en) * 2020-01-31 2021-08-05 Obeebo Labs Ltd. Systems, devices, and methods for assigning mood labels to musical compositions
CN114666636A (zh) * 2022-03-01 2022-06-24 阿里巴巴(中国)有限公司 音画同步检测方法及计算机可读存储介质
CN115979277A (zh) * 2023-02-22 2023-04-18 广州导远电子科技有限公司 时间同步方法、装置、电子设备和计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060152678A1 (en) * 2005-01-12 2006-07-13 Ulead Systems, Inc. Method for generating a slide show with audio analysis
US20080183751A1 (en) * 2007-01-25 2008-07-31 Cazier Robert P Applying visual effect to image data based on audio data
US7512886B1 (en) * 2004-04-15 2009-03-31 Magix Ag System and method of automatically aligning video scenes with an audio track
US20110273455A1 (en) * 2010-05-04 2011-11-10 Shazam Entertainment Ltd. Systems and Methods of Rendering a Textual Animation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512886B1 (en) * 2004-04-15 2009-03-31 Magix Ag System and method of automatically aligning video scenes with an audio track
US20060152678A1 (en) * 2005-01-12 2006-07-13 Ulead Systems, Inc. Method for generating a slide show with audio analysis
US20080183751A1 (en) * 2007-01-25 2008-07-31 Cazier Robert P Applying visual effect to image data based on audio data
US20110273455A1 (en) * 2010-05-04 2011-11-10 Shazam Entertainment Ltd. Systems and Methods of Rendering a Textual Animation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210241731A1 (en) * 2020-01-31 2021-08-05 Obeebo Labs Ltd. Systems, devices, and methods for assigning mood labels to musical compositions
CN114666636A (zh) * 2022-03-01 2022-06-24 阿里巴巴(中国)有限公司 音画同步检测方法及计算机可读存储介质
CN115979277A (zh) * 2023-02-22 2023-04-18 广州导远电子科技有限公司 时间同步方法、装置、电子设备和计算机可读存储介质
CN115979277B (zh) * 2023-02-22 2023-06-02 广州导远电子科技有限公司 时间同步方法、装置、电子设备和计算机可读存储介质

Similar Documents

Publication Publication Date Title
AU2021201916B2 (en) Rhythmic Synchronization Of Cross Fading For Musical Audio Section Replacement For Multimedia Playback
JP6736186B2 (ja) オーディオ・ファイルを生成するためのシステム及び方法
US9607655B2 (en) System and method for seamless multimedia assembly
US10681408B2 (en) Systems and methods for creating composite videos
US9691429B2 (en) Systems and methods for creating music videos synchronized with an audio track
US20180295427A1 (en) Systems and methods for creating composite videos
US20100118033A1 (en) Synchronizing animation to a repetitive beat source
WO2010034063A1 (fr) Système de contenus audio et vidéo
KR20140102656A (ko) 디지털 미디어 콘텐트를 내비게이트하는 방법, 시스템 및 컴퓨터 프로그램 제품
FR3039349A1 (fr) Procede de synchronisation d&#39;un flux d&#39;images avec des evenements audio
FR3038440A1 (fr) Procede d’extraction et d’assemblage de morceaux d’enregistrements musicaux
JP2014123085A (ja) カラオケにおいて歌唱に合わせて視聴者が行う身体動作等をより有効に演出し提供する装置、方法、およびプログラム
Burns et al. Cotextuality in Music Video: Covering and Sampling in the Cover Art Video of ‘Umbrella.’
FR3035294A1 (fr) Procede de generation d&#39;un diaporama synchronise avec des evenements audio
O'Connor et al. Determining the Composition
Kakesu et al. Development of Analytical Method on Musical Effect Sound in Japanimation Works
Burnham The Creation Myth: Composing in the Age of Curation
Feller Carl Stone: Electronic Music from 1972–2022
JP2024501519A (ja) オーディオアレンジメントの生成及びミキシング
CN117836854A (zh) 基于视频剪辑生成视听内容
De Vos Scoring for Film and Visual Media//Producing Music; Setting Foot in the Global Film Industry
Brock GarageBand for iPad
JP2014029387A (ja) 音波形編集装置およびプログラム

Legal Events

Date Code Title Description
PLSC Publication of the preliminary search report

Effective date: 20170127

ST Notification of lapse

Effective date: 20170331