Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DEVICE AND METHOD FOR TEMPORAL SYNCHRONIZATION OF DEVICES COMMUNICATING ON A DATA NETWORK
Document Type and Number:
WIPO Patent Application WO/2019/122792
Kind Code:
A1
Abstract:
The method (100) for temporal synchronization of devices communicating on a data network comprises: - a step (105) of sending, by a primary device, referred to as the "time server," a temporal synchronization signal, - a step (110) of receiving, by at least one secondary device, referred to as the "trigger," said synchronization signal, - a step (115) of comparing, by each so-called secondary device, in order to estimate a transmission delay value, - a step (116) of statistically filtering estimated transmission delay values, - a step (120) of determining, by each so-called secondary device, a determined clock value, then, iteratively: - a step (121) of sending, by a primary device, a signal, - a step of receiving, by at least one secondary device, said signal, - a step (122) of estimating, by at least one secondary device, a read date of the audio stream, - a step (123) of reading, by at least one secondary device, the audio stream on the estimated read date, a step (124) of comparing, by at least one secondary device, the restore date of the audio stream and the estimated read date of said audio stream, - a step (125) of determining, by each so-called secondary device, a setpoint value of a PID controller with a variable setpoint.

Inventors:
MOLINIÉ ALAIN (FR)
LAVIGNE ERIC (FR)
Application Number:
PCT/FR2018/053532
Publication Date:
June 27, 2019
Filing Date:
December 21, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
AWOX (FR)
International Classes:
H04L29/06; G05B11/42; H03L7/085
Foreign References:
EP2479895A12012-07-25
Other References:
KEVIN LUCHSINGER: "Distributed Speaker Synchronization", 28 May 2015 (2015-05-28), XP002785336, Retrieved from the Internet [retrieved on 20181003]
KEVIN LUCHSINGER: "Distributed Speaker Synchronisation", 28 May 2015
Attorney, Agent or Firm:
CASSIOPI (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé (100) de synchronisation temporelle de dispositifs communicant sur un réseau de données, caractérisé en ce qu’il comporte :

- une étape (105) d’émission, par un dispositif primaire, dit « serveur de temps », d’un signal de synchronisation temporelle comportant une information représentative d’une date d’émission dudit signal,

- une étape (110) de réception, par au moins un dispositif secondaire, dit « déclencheur », dudit signal de synchronisation,

- une étape (115) de comparaison, par chaque dit dispositif secondaire, d’une information représentative d’une date de réception du signal reçu et de l’information représentative d’une date d’émission du signal pour estimer une valeur de délai de transmission,

- une étape (116) de filtrage statistique de valeurs de délai de transmission estimées,

- une étape (120) de détermination, par chaque dit dispositif secondaire, d’une valeur d’horloge déterminée en fonction d’au moins une valeur de délai de transmission non filtrée et de la date d’émission du signal de synchronisation reçu,

puis, de manière itérative :

- une étape (121 ) d’émission, par un dispositif primaire, d’un signal comportant un flux sonore à restituer et une date de restitution,

- une étape de réception, par au moins un dispositif secondaire, dudit signal,

- une étape (122) d’estimation, par au moins un dispositif secondaire, d’une date de lecture du flux sonore en fonction de l’horloge dudit dispositif secondaire et d’une valeur de consigne d’un régulateur PID déterminée,

- une étape (123) de lecture, par au moins un dispositif secondaire, du flux audio à la date de lecture estimée,

- une étape (124) de comparaison, par au moins un dispositif secondaire, entre la date de restitution du flux audio et la date de lecture estimée dudit flux audio,

- une étape (125) de détermination, par chaque dit dispositif secondaire, d’une valeur de consigne d’un régulateur PID à consigne variable en fonction de la différence entre la date de restitution du flux audio et la date de lecture estimée dudit flux audio.

2. Procédé (100) selon la revendication 1 , qui comporte :

- une étape (135) de comparaison, par chaque dit déclencheur, entre, d’une part, la date de restitution et, d’autre part, une information d’horloge actuelle dudit déclencheur et

- si la date de restitution est supérieure à la date d’horloge actuelle, une étape (140) d’ajustement de la durée du signal audio.

3. Procédé (100) selon la revendication 2, dans lequel, au cours de l’étape (140) d’ajustement, l’échantillonnage du signal audio est modifié en fonction de la différence entre la date de restitution et la date d’horloge actuelle du déclencheur.

4. Procédé (100) selon l’une des revendications 1 à 3, qui comporte :

- une étape (145) d’élection d’un dispositif, parmi une pluralité de dispositifs présents sur le réseau de données,

- une étape (150) d’enregistrement, par le dispositif élu, aussi appelé « maitre », d’une information de configuration du réseau et

- une étape (155) de transmission, du maitre vers un dispositif, d’une information de configuration du réseau enregistrée.

5. Procédé (100) selon la revendication 4, dans laquelle l’information de configuration du réseau est une information représentative pour chaque dispositif du réseau :

- d’un rôle dans la distribution du flux sonore,

- d’un rôle dans la restitution du flux sonore,

- d’un volume de restitution et/ou

- d’un canal du flux à restituer.

6. Procédé (100) selon l’une des revendications 4 ou 5, qui comporte :

- une étape (160) de communication, d’un dispositif différent du maitre vers le maitre, d’une modification d’information de configuration,

- une étape (165) de validation de la mise à jour par le maitre, - une étape (170) de mise à jour de l’information de configuration du réseau par le maître et

- une étape (175) de transmission, du maître vers au moins un autre dispositif, de l’information de configuration mise à jour.

7. Procédé (100) selon l’une des revendications 1 à 6, dans lequel l’étape de filtrage (116) comporte une étape (117) de répartition des délais déterminés par classe statistique, la classe statistique présentant les délais les plus courts étant utilisée pour réaliser la synchronisation des dispositifs secondaires.

8. Procédé (100) selon la revendication 7, dans lequel la classe statistique présentant les délais les plus courts est déterminée dynamiquement pour comporter un nombre déterminé de délais les plus courts.

9. Dispositif (200) de synchronisation temporelle de dispositifs communicant sur un réseau de données, caractérisé en ce qu’il comporte :

- un moyen (205) d’émission, par un dispositif (210) primaire, dit « serveur de temps », d’un signal de synchronisation temporelle comportant une information représentative d’une date d’émission dudit signal,

- un moyen (215) de réception, par au moins un dispositif (220) secondaire, dit « déclencheur », dudit signal de synchronisation,

- un moyen (225) de comparaison, par chaque dit dispositif secondaire, d’une information représentative d’une date de réception du signal reçu et de l’information représentative d’une date d’émission du signal pour estimer une valeur de délai de transmission,

- un moyen (226) de filtrage statistique de valeurs de délai de transmission estimées,

- un moyen (230) de détermination, par chaque dit dispositif secondaire, d’une valeur d’horloge déterminée en fonction d’au moins une valeur de délai de transmission non filtrée et de la date d’émission du signal de synchronisation reçu,

puis, de manière itérative :

- un moyen (205) d’émission, par un dispositif primaire, d’un signal comportant un flux sonore à restituer et une date de restitution, un moyen (215) de réception, par au moins un dispositif secondaire, dudit signal,

un moyen (232) d’estimation, par au moins un dispositif secondaire, d’une date de lecture du flux sonore en fonction de l’horloge dudit dispositif secondaire et d’une valeur de consigne d’un régulateur PID déterminée, un moyen (233) de lecture, par au moins un dispositif secondaire, du flux audio à la date de lecture estimée,

un moyen (234) de comparaison, par au moins un dispositif secondaire, entre la date de restitution du flux audio et la date de lecture estimée dudit flux audio,

un moyen (235) de détermination, par chaque dit dispositif secondaire, d’une valeur de consigne d’un régulateur PID à consigne variable en fonction de la différence entre la date de restitution du flux audio et la date de lecture estimée dudit flux audio.

Description:
DISPOSITIF ET PROCÉDÉ DE SYNCHRONISATION TEMPORELLE DE DISPOSITIFS COMMUNICANT SUR UN RÉSEAU DE DONNÉES

DOMAINE TECHNIQUE DE L’INVENTION

La présente invention vise un dispositif de synchronisation temporelle de dispositifs communicant sur un réseau de données, un procédé de synchronisation temporelle de dispositifs communicant sur un réseau de données et l’utilisation d’un régulateur PID pour asservir en temps une synchronisation temporelle d’un réseau mettant en œuvre le protocole NTP. Elle s’applique, notamment, à la synchronisation de flux audio.

ÉTAT DE LA TECHNIQUE

Dans le domaine de la synchronisation temporelle entre dispositifs présents sur un réseau, on connaît des techniques de synchronisation par utilisation d’une trame sur un réseau Wi-Fi (marque déposée) mettant en œuvre une trame de balisage (beacon frame, en anglais). Ces techniques, toutefois, présentent l’inconvénient de ne permettre la synchronisation qu’entre dispositifs connectés à un même point d’accès.

Les dispositifs réseaux peuvent être de type Ethernet et Wifi. Dans un même réseau, il peut y avoir des appareils en Wifi et en Ethernet. La couche de transport Wifi ayant des délais de transmission variables, les protocoles classiques, tels le NTP, ne sont pas assez précis pour synchroniser finement, c’est-à-dire avec un décalage maximum de 10 microsecondes environ, deux appareils.

On connaît, par ailleurs, des techniques utilisant protocole NTP (Network Time Protocol, traduit par protocole de temps réseau) qui permet une synchronisation entre dispositifs.

En plus de ce problème de précision de synchronisation, il existe des problèmes de synchronisation dans le contexte particulier de la synchronisation de lecture de son à partir d’une horloge commune et partagée.

Toutefois, aucune de ces deux techniques n’est assez précise et stable pour permettre la lecture synchrone d’un fichier audio par deux dispositifs. En effet, ces deux techniques induisent généralement une latence supérieure à cinquante millisecondes entre dispositifs, ce que l’oreille humaine remarque.

On connaît des systèmes tels que décrits dans le document « Distributed Speaker Synchronisation », de Kevin Luchsinger, publié le 28 mai 2015. Toutefois, de tels systèmes utilisent une mesure sonore pour déterminer un délai de transmission et néglige donc les délais réseaux. D’autre part, de tels systèmes resynchronisent un flux audio en changeant brusquement de partie du flux audio à lire, ce que l’on appelle un « saut », perceptible pour oreille humaine. Ces systèmes utilisent la production et l’acquisition d’un son pour mesurer un décalage, ce qui, en cas de dissymétrie importe, créé une mauvaise synchronisation. Enfin, de tels systèmes supposent que la latence de transmission est une propriété intrinsèque des appareils. Ces systèmes présentent ainsi une erreur de synchronisation de l’ordre de cinq millisecondes, ce qui est perceptible pour l’oreille humaine. De tels systèmes ne sont donc pas satisfaisants.

OBJET DE L’INVENTION

La présente invention vise à remédier à tout ou partie de ces inconvénients.

À cet effet, selon un premier aspect, la présente invention vise un procédé de synchronisation temporelle de dispositifs communicant sur un réseau de données, qui comporte :

- une étape d’émission, par un dispositif primaire, dit « serveur de temps », d’un signal de synchronisation temporelle comportant une information représentative d’une date d’émission dudit signal,

- une étape de réception, par au moins un dispositif secondaire, dit « déclencheur », dudit signal de synchronisation,

- une étape de comparaison, par chaque dit dispositif secondaire, d’une information représentative d’une date de réception du signal reçu et de l’information représentative d’une date d’émission du signal pour estimer une valeur de délai de transmission,

- une étape de filtrage statistique de valeurs de délai de transmission estimées,

- une étape de détermination, par chaque dit dispositif secondaire, d’une valeur d’horloge déterminée en fonction de la valeur d’au moins une valeur de délai de transmission non filtrée et de la date d’émission du signal de synchronisation reçu, puis, de manière itérative :

- une étape d’émission, par un dispositif primaire, d’un signal comportant un flux sonore à restituer et une date de restitution,

- une étape de réception, par au moins un dispositif secondaire, dudit signal,

- une étape d’estimation, par au moins un dispositif secondaire, d’une date de lecture du flux sonore en fonction de l’horloge dudit dispositif secondaire et d’une valeur de consigne d’un régulateur PID déterminée,

- une étape de lecture, par au moins un dispositif secondaire, du flux audio à la date de lecture estimée,

- une étape de comparaison, par au moins un dispositif secondaire, entre la date de restitution du flux audio et la date de lecture estimée dudit flux audio,

- une étape de détermination, par chaque dit dispositif secondaire, d’une valeur de consigne d’un régulateur PID à consigne variable en fonction de la différence entre la date de restitution du flux audio et la date de lecture estimée dudit flux audio.

Grâce à ces dispositions, l’effet statistique du régulateur PID permet de créer un effet élastique de synchronisation rendant la synchronisation plus précise et plus stable. Ces dispositions permettent, de plus :

- de compenser les mauvaises propriétés de transmission des réseaux Wifi, par exemple,

- de permettre l’insertion de dispositifs secondaires dans un réseau Wifi en mode infrastructure sans imposer de modification au réseau, tout en garantissant une synchronisation optimale de la lecture des flux audio,

- de restituer le son avec le moins de détériorations perceptibles, notamment en évitant les sauts de restitution,

- d’obtenir, dans des variantes, une correction en termes de débit de restitution qui compense une divergence d’horloge des dispositifs,

- de mesurer avec précision l’instant de la restitution du son par l’utilisation d’un évènement matériel de bas niveau (une interruption matérielle),

- d’obtenir une organisation automatique des pairs par un algorithme d’élection, dans des variantes et

- obtenir une synchronisation comportant une erreur de l’ordre de 50 microsecondes. Dans des modes de réalisation, le procédé objet de la présente invention comporte :

- une étape de comparaison, par chaque dit déclencheur, entre, d’une part, la date de restitution et, d’autre part, une information d’horloge actuelle dudit déclencheur et

- si la date de restitution est supérieure à la date d’horloge actuelle, une étape d’ajustement de la durée du signal audio.

Ces modes de réalisation permettent de compenser une divergence entre différences horloges.

Dans des modes de réalisation, au cours de l’étape d’ajustement, l’échantillonnage du signal audio est modifié en fonction de la différence entre la date de restitution et la date d’horloge actuelle du déclencheur.

Ces modes de réalisation permettent d’ajuster la durée de lecture du signal audio dynamiquement.

Dans des modes de réalisation, le procédé objet de la présente invention comporte :

- une étape d’élection d’un dispositif, parmi une pluralité de dispositifs présents sur le réseau de données,

- une étape d’enregistrement, par le dispositif élu, aussi appelé « maître », d’une information de configuration du réseau et

- une étape de transmission, du maître vers un dispositif, d’une information de configuration du réseau enregistrée.

Dans des modes de réalisation, l’information de configuration du réseau est une information représentative pour chaque dispositif du réseau :

- d’un rôle dans la distribution du flux sonore,

- d’un rôle dans la restitution du flux sonore,

- d’un volume de restitution et/ou

- d’un canal du flux à restituer.

Dans des modes de réalisation, le procédé objet de la présente invention comporte :

- une étape de communication, d’un dispositif différent du maître vers le maître, d’une modification d’information de configuration,

- une étape de validation de la mise à jour par le maître, - une étape de mise à jour de l’information de configuration du réseau par le maître et

- une étape de transmission, du maître vers au moins un autre dispositif, de l’information de configuration mise à jour.

Dans des modes de réalisation, l’étape de filtrage comporte une étape de répartition des délais déterminés par classe statistique, la classe statistique présentant les délais les plus courts étant utilisée pour réaliser la synchronisation des dispositifs secondaires.

Dans des modes de réalisation, la classe statistique présentant les délais les plus courts est déterminée dynamiquement pour comporter un nombre déterminé de délais les plus courts.

Selon un deuxième aspect, la présente invention vise un dispositif de synchronisation temporelle de dispositifs communicant sur un réseau de données, qui comporte :

- un moyen d’émission, par un dispositif primaire, dit « serveur de temps », d’un signal de synchronisation temporelle comportant une information représentative d’une date d’émission dudit signal,

- un moyen de réception, par au moins un dispositif secondaire, dit « déclencheur », dudit signal de synchronisation,

- un moyen de comparaison, par chaque dit dispositif secondaire, d’une information représentative d’une date de réception du signal reçu et de l’information représentative d’une date d’émission du signal pour estimer une valeur de délai de transmission,

- un moyen de filtrage statistique de valeurs de délai de transmission estimées,

- un moyen de détermination, par chaque dit dispositif secondaire, d’une valeur d’horloge déterminée en fonction de la valeur d’au moins une valeur de délai de transmission non filtrée et de la date d’émission du signal de synchronisation reçu,

puis, de manière itérative :

- un moyen d’émission, par un dispositif primaire, d’un signal comportant un flux sonore à restituer et une date de restitution,

- un moyen de réception, par au moins un dispositif secondaire, dudit signal, - un moyen d’estimation, par au moins un dispositif secondaire, d’une date de lecture du flux sonore en fonction de l’horloge dudit dispositif secondaire et d’une valeur de consigne d’un régulateur PID déterminée,

- un moyen de lecture, par au moins un dispositif secondaire, du flux audio à la date de lecture estimée,

- un moyen de comparaison, par au moins un dispositif secondaire, entre la date de restitution du flux audio et la date de lecture estimée dudit flux audio,

- un moyen de détermination, par chaque dit dispositif secondaire, d’une valeur de consigne d’un régulateur PID à consigne variable en fonction de la différence entre la date de restitution du flux audio et la date de lecture estimée dudit flux audio.

Les buts, avantages et caractéristiques particulières du dispositif objet de la présente invention étant similaires à ceux du procédé objet de la présente invention, ils ne sont pas rappelés ici.

BRÈVE DESCRIPTION DES FIGURES

D’autres avantages, buts et caractéristiques particulières de l’invention ressortiront de la description non limitative qui suit d’au moins un mode de réalisation particulier du dispositif et du procédé objets de la présente invention, en regard des dessins annexés, dans lesquels :

- la figure 1 représente, schématiquement et sous forme d’un logigramme, une succession d’étapes d’un mode de réalisation particulier du procédé objet de la présente invention,

- la figure 2 représente, schématiquement, un premier mode de réalisation particulier du dispositif objet de la présente invention et

- la figure 3 représente, schématiquement, un diagramme de réponse d’un régulateur PID.

DESCRIPTION D’EXEMPLES DE RÉALISATION DE L’INVENTION

La présente description est donnée à titre non limitatif, chaque caractéristique d’un mode de réalisation pouvant être combinée à toute autre caractéristique de tout autre mode de réalisation de manière avantageuse.

On note dès à présent que les figures ne sont pas à l’échelle. On appelle « réseau de données » un réseau de télécommunications filaire, sans-fil ou hybride. Ce réseau de télécommunications peut mettre en œuvre, par exemple, le protocole IP (pour « Internet Protocol »). Un tel réseau est, par exemple, un réseau mettant en œuvre le standard Wifi.

On appelle « dispositif primaire » ou « dispositif secondaire », tout dispositif susceptible de communiquer sur le réseau de données. Un tel dispositif est, par exemple, un objet appartenant au domaine de l’internet des objets ou bien un point d’accès au réseau, telle une set top box par exemple. A titre d’exemple, un tel dispositif primaire ou secondaire peut être :

- une ampoule communicante,

- une barre de son communicante où

- une enceinte communicante.

On appelle « régulateur PID », un régulateur proportionnel, intégral, dérivé. Un régulateur PID est un système de contrôle permettant d’améliorer les performances d'un asservissement, c'est-à-dire un système ou procédé en boucle fermée.

Un correcteur est un algorithme de calcul qui délivre un signal de commande à partir de la différence entre la consigne et la mesure. Un régulateur PID agit de trois manières :

- par une action proportionnelle : l'erreur est multipliée par un gain G ;

- par une action intégrale : l'erreur est intégrée et divisée par un gain Ti ;

- par une action dérivée : l'erreur est dérivée et multipliée par un gain Td.

Il existe plusieurs architectures possibles pour combiner les trois effets (série, parallèle ou mixte).

Le réglage d'un régulateur PID consiste à déterminer les coefficients G, Td et Ti afin d'obtenir une réponse adéquate du procédé et de la régulation. Les objectifs sont d'être robuste, rapide et précis. Il faut pour cela dans le cas d'un fonctionnement en mode de régulation (consigne fixe) choisir des réglages permettant à la grandeur réglée de retourner dans un temps raisonnable à sa valeur de consigne.

On observe, sur la figure 1 , qui n’est pas à l’échelle, une vue schématique d’un mode de réalisation du procédé 100 objet de la présente invention. Ce procédé 100 de synchronisation temporelle de dispositifs communicant sur un réseau de données, qui comporte : - une étape 105 d’émission, par un dispositif primaire, dit « serveur de temps », d’un signal de synchronisation temporelle comportant une information représentative d’une date d’émission dudit signal,

- une étape 110 de réception, par au moins un dispositif secondaire, dit « déclencheur », dudit signal de synchronisation,

- une étape 115 de comparaison, par chaque dit dispositif secondaire, d’une information représentative d’une date de réception du signal reçu et de l’information représentative d’une date d’émission du signal pour estimer une valeur de délai de transmission,

- une étape 116 de filtrage statistique de valeurs de délai de transmission estimées,

- une étape 120 de détermination, par chaque dit dispositif secondaire, d’une valeur d’horloge déterminée en fonction de la valeur d’au moins une valeur de délai de transmission non filtrée et de la date d’émission du signal de synchronisation reçu,

puis, de manière itérative :

- une étape 121 d’émission, par un dispositif primaire, d’un signal comportant un flux sonore à restituer et une date de restitution,

- une étape de réception, par au moins un dispositif secondaire, dudit signal,

- une étape 122 d’estimation, par au moins un dispositif secondaire, d’une date de lecture du flux sonore en fonction de l’horloge dudit dispositif secondaire et d’une valeur de consigne d’un régulateur PID déterminée,

- une étape 123 de lecture, par au moins un dispositif secondaire, du flux audio à la date de lecture estimée,

- une étape 124 de comparaison, par au moins un dispositif secondaire, entre la date de restitution du flux audio et la date de lecture estimée dudit flux audio,

- une étape 125 de détermination, par chaque dit dispositif secondaire, d’une valeur de consigne d’un régulateur PID à consigne variable en fonction de la différence entre la date de restitution du flux audio et la date de lecture estimée dudit flux audio.

Préférentiellement, chaque dispositif peut tenir le rôle de serveur de temps. Ainsi, le serveur de temps est déterminé de façon collaborative par l’ensemble des dispositifs par l’exécution sur chacun de ces algorithmes d’un algorithme de sélection basé sur la connaissance locale des autres dispositifs présents sur le réseau et de leur disponibilité. Il est décidé d’un ordre total sur une caractéristique unique des dispositifs et cette fonction de tri permet la sélection d’un unique serveur de temps par son maximum ou son minimum. Par exemple, la caractéristique utilisée est l’UUID (pour « Universal Unique IDentifier », traduit par identifiant unique universel) des dispositifs et la fonction de tri est un ordre alphanumérique.

Chaque dispositif classe donc tous les pairs qu’il détecte, y compris lui-même, selon cet ordre et le nœud ayant le score maximum est choisi comme serveur de temps. Seuls les dispositifs disponibles, c’est-à-dire ayant répondu à une sollicitation d’activité suffisamment récemment, sont éligibles. Chaque dispositif sollicite donc régulièrement tous les dispositifs dont le score est meilleur que le score du dispositif réalisant la sollicitation de façon à savoir qui est éligible. En dernier ressort, il devient lui-même son propre serveur de temps.

L’étape d’émission 105 est réalisée, par exemple, par une carte réseau reliée à un émetteur sur le réseau de données. Cet émetteur est, par exemple, une antenne configurée pour émettre des signaux sans-fil. Cette antenne peut mettre en œuvre n’importe quel standard ou n’importe quelle technologie de communication.

Lorsqu’une synchronisation temporelle entre dispositifs doit être assurée, le serveur de temps procède à cette émission soit en étant l’initiateur de la synchronisation ou en étant le récepteur d’une requête de synchronisation émise par un dispositif secondaire.

Le signal émis comporte au moins la date d’émission dudit signal. Préférentiellement, ce signal comporte également une date d’horloge du serveur de temps.

Ainsi, cette étape est réalisée par un moyen d’émission 205 du dispositif 210 primaire, tel qu’illustré en figure 2.

L’étape de réception 110 est réalisée par un récepteur compatible avec l’émetteur mis en œuvre au cours de l’étape d’émission 105. Ce récepteur est, par exemple, une antenne configurée pour recevoir des signaux sans-fil. Le récepteur, également nommé « moyen 215 de réception » est illustré en figure 2, ce moyen 215 de réception est situé au niveau d’un dispositif 220 secondaire.

Une fois le signal reçu, l’étape de comparaison 115 a lieu. Au cours de cette étape 115 de comparaison, mise en œuvre par exemple par un logiciel embarqué dans un circuit électronique, l’information représentative d’une date de réception du signal reçu, attribuée par le déclencheur, et l’information représentative d’une date d’émission du signal sont comparées. La différence de ces dates permet au déclencheur d’estimer un délai de transmission entre le serveur de temps et le déclencheur. Ce délai de transmission est susceptible de varier en fonction de la qualité du lien entre le serveur de temps et le déclencheur. Cette estimation de délai, différente pour chaque déclencheur, participe à la désynchronisation des déclencheurs entre eux. À l’origine de ce délai, on compte non seulement le délai de transmission physique, mais également la latence du réseau, qui dépend de facteurs aléatoires redéfinis à chaque redémarrage d’un flux. Cette latence ne peut donc pas être compensée strictement au regard d’un délai de transmission physique du flux depuis le dispositif primaire vers un dispositif secondaire. Le logiciel embarqué dans un circuit électronique forme, par exemple, un moyen 225 de comparaison tel qu’illustré en figure 2.

L’étape de filtrage 116 statistique est réalisée, par exemple, par la mise en œuvre par un logiciel embarqué dans un circuit électronique. Ce filtre statistique est configuré pour, par exemple :

- comparer une valeur de délai déterminé à une pluralité de valeurs de délais déjà déterminés de sorte à

- définir une répartition statistique de ces valeurs de délais et d’en

- calculer une valeur de paramètre pour au moins un délai tel, par exemple, la variance.

Si cette valeur de paramètre est supérieure à une valeur déterminée, ou prédéterminée, le délai est filtré de sorte à ne pas impacter la détermination d’horloge au niveau du dispositif secondaire.

Alternativement, la valeur de paramètre mise en œuvre est le délai de sollicitation entre le dispositif secondaire et le dispositif primaire. Ce délai de sollicitation permet d’alimenter une classe statistique.

Parmi les plus récents résultats de sollicitation du serveur de temps (préférentiellement conservées en nombre constant), la classe rassemble celles ayant le délai le plus court. Lorsqu’un nouveau résultat est tel qu’il doit faire partie de la classe, son information d’horloge est utilisée pour la synchronisation. Dans le cas contraire, l’information est jetée. Indépendamment, toutes les sollicitations sont utilisées pour alimenter la définition de la classe statistique.

Ainsi, dans des variantes, l’étape de filtrage 116 comporte une étape 117 de répartition des délais déterminés par classe statistique, la classe statistique présentant les délais les plus courts étant utilisée pour réaliser la synchronisation des dispositifs secondaires.

Dans des modes de réalisation, la classe statistique présentant les délais les plus courts est déterminée dynamiquement pour comporter un nombre déterminé de délais les plus courts.

Le logiciel embarqué dans un circuit électronique forme, par exemple, un moyen 226 de filtrage tel qu’illustré en figure 2. L’étape de détermination 120 est réalisée, par exemple, par un logiciel embarqué dans un circuit électronique, ce logiciel embarqué formant moyen 230 de détermination tel qu’illustré en figure 3.

L’étape d’émission 121 est réalisée, par exemple, par la mise en œuvre de l’émetteur utilisé au cours de l’étape d’émission 105.

L’étape de réception 126 est réalisée, par exemple, par la mise en œuvre du récepteur utilisé au cours de l’étape de réception 110.

L’étape d’estimation 122 est réalisée, par exemple, par un logiciel embarqué dans un circuit électronique. Au cours de cette étape d’estimation 122, date de restitution estimée, basée sur une valeur de consigne PID déterminée. Comme on le comprend, la valeur de consigne PID est évolutive et rendue plus précise avec un nombre d’itération important.

Le logiciel embarqué dans un circuit électronique forme, par exemple, le moyen d’estimation 232 illustré en figure 2.

L’étape de lecture 123 est réalisée, par exemple, par un haut-parleur embarqué à bord du dispositif secondaire.

Un tel haut-parleur, formant moyen 233 de lecture, est illustré, par exemple, en figure 2.

L’étape de comparaison 124 est réalisée, par exemple, par un logiciel embarqué à bord d’un circuit électronique. Au cours de cette étape de comparaison 124, la date de restitution du flux audio et la date de lecture estimée dudit flux audio sont comparés pour faire émerger une erreur et, grâce à l’ajustement de la valeur de consigne PID, réguler pour la suite cette erreur.

Le logiciel embarqué dans un circuit électronique forme, par exemple, le moyen de comparaison 234 illustré en figure 2.

L’étape de détermination 125 est réalisée, par exemple, par un logiciel embarqué à bord d’un circuit électronique. Au cours de cette étape de détermination 125, la valeur de consigne est ajustée selon le paramétrage du régulateur PID réalisé.

Le logiciel embarqué dans un circuit électronique forme, par exemple, le moyen de comparaison 235 illustré en figure 2.

Les différents logiciels et circuits électroniques peuvent être confondus.

Ainsi, comme on le comprend, le procédé 100 met en œuvre :

- une synchronisation d’une horloge physique locale avec celle du serveur de temps et

- l’asservissement de la restitution des échantillons sonores sur l’horloge physique locale.

La synchronisation met en œuvre, par exemple, le protocole NTP, mais compense les biais des réseaux“à retransmission” (tels que le Wi-Fi) par un filtrage statistique. Préférentiellement, ce filtrage statistique est dit « en classes ».

Au niveau de l’asservissement, le procédé objet de la présente invention se distingue de l’état de l’art en ce que l’homme du métier favorise une approche frontale dans laquelle on estime les valeurs de délais de transmission, ces valeurs servant de base à la lecture synchrone de flux sonores par exemple.

Dans le cas de l’asservissement du procédé 100, les flux sonores sont restitués à une date estimée et cette estimation est graduellement renforcée par le mécanisme de régulation PID. En effet, la mesure de l’erreur est beaucoup plus précise que la précision de la mesure du temps de l’approche frontale. Cette approche est contre-intuitive pour l’homme du métier car les premiers échantillons sonores sont joués de manières non-synchrones, le temps que le régulateur PID monte en puissance.

On observe, en figure 3, un schéma de réponse d’un régulateur PID type. Cette réponse est caractérisée par plusieurs paramètres :

- un temps de montée 305,

- un temps d’établissement d’un régime stationnaire 310,

- une erreur statique 315 et

- une valeur de consigne 320.

Dans des modes de réalisation, tel que celui représenté en figure 1 , le procédé 100 comporte : - une étape 135 de comparaison, par chaque dit déclencheur, entre, d’une part, la date de lecture décalée et, d’autre part, une information d’horloge actuelle dudit déclencheur et

- si la date de lecture décalée est supérieure à la date d’horloge actuelle, une étape 140 d’ajustement de la durée du signal audio.

Dans des modes de réalisation, tel que celui représenté en figure 1 , au cours de l’étape 140 d’ajustement, tout ou partie du signal audio est tronqué d’une durée déterminée en fonction de la différence entre la date de lecture décalée et de la date d’horloge actuelle du déclencheur.

Cette troncature correspond, par exemple, à la différence déterminée entre la date de lecture décalée et de la date d’horloge actuelle du déclencheur.

Dans des modes de réalisation, tel que celui représenté en figure 1 , au cours de l’étape 140 d’ajustement, l’échantillonnage du signal audio est modifié en fonction de la différence entre la date de lecture décalée et la date d’horloge actuelle du déclencheur.

L’échantillonnage est ajusté, par exemple, par une accélération ou une décélération choisie pour que le signal audio soit joué sur une durée déterminée correspondant à la différence entre la date de lecture décalée et la date d’horloge actuelle du déclencheur.

La présente invention vise également à répondre au problème technique de gérer la configuration de l’ensemble des dispositifs constituant une“zone”. Une telle zone correspond à un ensemble logique déterminé qui dépend de la configuration particulière du système mettant en œuvre les dispositifs communicants. Ce procédé permet de conserver une cohérence de la configuration des dispositifs malgré leur nature volatile.

Pour atteindre cet objectif, le procédé 100 comporte préférentiellement :

- une étape 145 d’élection d’un dispositif, parmi une pluralité de dispositifs présents sur le réseau de données,

- une étape 150 d’enregistrement, par le dispositif élu, aussi appelé « maître », d’une information de configuration du réseau et

- une étape 155 de transmission, du maître vers un dispositif, d’une information de configuration du réseau enregistrée.

L’étape d’élection 145 est réalisée, par exemple, par un logiciel embarqué à bord d’un circuit électronique. Chaque dispositif exécute un algorithme de sélection basé sur la connaissance locale des autres dispositifs présents sur le réseau et de leur disponibilité. Il est décidé d’un ordre total sur une caractéristique unique des dispositifs et cette fonction de tri permet la sélection d’un unique maître par son maximum ou son minimum. Par exemple, la caractéristique utilisée est l’UUID (pour « Universal Unique IDentifier », traduit par identifiant unique universel) des dispositifs et la fonction de tri est un ordre alphanumérique.

On note que le dispositif primaire et le maître peuvent être différents ou confondus.

L’étape d’enregistrement 150 est réalisée, par exemple, par un logiciel embarqué à bord d’un circuit électronique contrôlant une mémoire du dispositif maître.

L’étape de transmission 155 est réalisée, par exemple, par la combinaison d’un émetteur du dispositif maître et d’un récepteur de chaque autre dit dispositif non maître.

On appelle ici, information de configuration du réseau, une information représentative pour chaque dispositif de par exemple :

- un rôle dans la distribution du flux sonore,

- un rôle dans la restitution du flux sonore,

- un volume de restitution et/ou

- un canal du flux à restituer.

Dans des modes de réalisation, le maître met en œuvre une étape de versionnement en cas de conflit de scission du réseau.

Dans des modes de réalisation, le procédé 100 comporte :

- une étape 160 de communication, d’un dispositif différent du maître vers le maître, d’une modification d’information de configuration,

- une étape 165 de validation de la mise à jour par le maître,

- une étape 170 de mise à jour de l’information de configuration du réseau par le maître et

- une étape 175 de transmission, du maître vers au moins un autre dispositif, de l’information de configuration mise à jour.

Ainsi, tous les dispositifs sont en permanence synchronisés sur la connaissance que ces dispositifs ont de la zone. Ce système présente un caractère viral ; en effet, lorsqu’un dispositif est momentanément absent, la description de son rôle dans l’information de configuration peut tout de même être modifiée. Lorsque le dispositif est de retour, ce dispositif synchronise sa connaissance de la zone avec l’information de configuration la plus à jour et peut agir de la même façon que si ce dispositif avait été là au moment du changement (par exemple baisser le volume).

L’étape de communication 160 est réalisée, par exemple, par la combinaison d’un émetteur du dispositif non maitre et d’un récepteur du dispositif maitre.

L’étape de validation 165 est réalisée, par exemple, par un logiciel embarqué à bord d’un circuit électronique.

Préférentiellement, chaque état de la configuration est estampillé d’un numéro de version. Celui-ci est incrémenté exactement d’une valeur d’un à chaque mise-à- jour. Le maitre reçoit les demandes de mise à jour comportant le numéro version candidat ; si celui-ci correspond à une version ultérieure à la version de référence, elle est acceptée, et sinon rejetée. Ceci permet d’interdire qu’une modification soit faite en se basant sur une connaissance trop ancienne de la configuration.

L’étape de mise à jour 170 est réalisée, par exemple, par un logiciel embarqué à bord d’un circuit électronique contrôlant une mémoire du dispositif maitre.

L’étape de communication 175 est réalisée, par exemple, par la combinaison d’un émetteur du dispositif maitre et d’un récepteur d’au moins un dispositif non maitre.

On observe, sur la figure 2, schématiquement, un mode de réalisation particulier du dispositif 200 de synchronisation temporelle de dispositifs communicant sur un réseau de données, qui comporte :

- un moyen 205 d’émission, par un dispositif 210 primaire, dit « serveur de temps », d’un signal de synchronisation temporelle comportant une information représentative d’une date d’émission dudit signal,

- un moyen 215 de réception, par au moins un dispositif 220 secondaire, dit « déclencheur », dudit signal de synchronisation,

- un moyen 225 de comparaison, par chaque dit dispositif secondaire, d’une information représentative d’une date de réception du signal reçu et de l’information représentative d’une date d’émission du signal pour estimer une valeur de délai de transmission,

- un moyen 226 de filtrage statistique de valeurs de délai de transmission estimées,

- un moyen 230 de détermination, par chaque dit dispositif secondaire, d’une valeur d’horloge déterminée en fonction de la valeur d’au moins une valeur de délai de transmission non filtrée et de la date d’émission du signal de synchronisation reçu,

puis, de manière itérative :

- un moyen 205 d’émission, par un dispositif primaire, d’un signal comportant un flux sonore à restituer et une date de restitution,

- un moyen 215 de réception, par au moins un dispositif secondaire, dudit signal,

- un moyen 232 d’estimation, par au moins un dispositif secondaire, d’une date de lecture du flux sonore en fonction de l’horloge dudit dispositif secondaire et d’une valeur de consigne d’un régulateur PID déterminée,

- un moyen 233 de lecture, par au moins un dispositif secondaire, du flux audio à la date de lecture estimée,

- un moyen 234 de comparaison, par au moins un dispositif secondaire, entre la date de restitution du flux audio et la date de lecture estimée dudit flux audio,

- un moyen 235 de détermination, par chaque dit dispositif secondaire, d’une valeur de consigne d’un régulateur PID à consigne variable en fonction de la différence entre la date de restitution du flux audio et la date de lecture estimée dudit flux audio.