WO2019122792A1 - Dispositif et procédé de synchronisation temporelle de dispositifs communicant sur un réseau de données - Google Patents
Dispositif et procédé de synchronisation temporelle de dispositifs communicant sur un réseau de données Download PDFInfo
- Publication number
- WO2019122792A1 WO2019122792A1 PCT/FR2018/053532 FR2018053532W WO2019122792A1 WO 2019122792 A1 WO2019122792 A1 WO 2019122792A1 FR 2018053532 W FR2018053532 W FR 2018053532W WO 2019122792 A1 WO2019122792 A1 WO 2019122792A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- date
- secondary device
- signal
- transmission
- audio stream
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000002123 temporal effect Effects 0.000 title claims abstract description 8
- 230000005540 biological transmission Effects 0.000 claims abstract description 65
- 238000001914 filtration Methods 0.000 claims abstract description 14
- 230000004907 flux Effects 0.000 claims description 12
- 230000001934 delay Effects 0.000 claims description 11
- 230000005236 sound signal Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 4
- 238000010200 validation analysis Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000003612 virological effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B11/00—Automatic controllers
- G05B11/01—Automatic controllers electric
- G05B11/36—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
- G05B11/42—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential for obtaining a characteristic which is both proportional and time-dependent, e.g. P. I., P. I. D.
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/085—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
Definitions
- the present invention relates to a time synchronization device of devices communicating on a data network, a time synchronization method of devices communicating on a data network and the use of a PID regulator for time slaving a time synchronization of a data network.
- network implementing the NTP protocol It applies, in particular, to the synchronization of audio streams.
- synchronization techniques are known by using a frame on a Wi-Fi network (registered trademark) implementing a beacon frame (in English). . These techniques, however, have the disadvantage of only allowing synchronization between devices connected to the same access point.
- the network devices can be Ethernet and Wifi type. In the same network, there can be devices in Wifi and Ethernet. Since the Wi-Fi transport layer has variable transmission delays, the conventional protocols, such as the NTP, are not precise enough to synchronize finely, that is to say with a maximum offset of about 10 microseconds, two devices.
- NTP Network Time Protocol
- neither of these two techniques is sufficiently accurate and stable to allow synchronous playback of an audio file by two devices. Indeed, these two techniques generally induce a latency greater than fifty milliseconds between devices, which the human ear notices.
- the present invention aims to remedy all or part of these disadvantages.
- the present invention aims a time synchronization method of devices communicating on a data network, which comprises:
- time server a primary device, called a "time server”
- time server a primary device, called a "time server”
- a time synchronization signal comprising information representative of a date of transmission of said signal
- the method which is the subject of the present invention comprises:
- a step of adjusting the duration of the audio signal if the playback date is greater than the current clock date, a step of adjusting the duration of the audio signal.
- the sampling of the audio signal is changed according to the difference between the playback date and the current timer date of the shutter.
- the method which is the subject of the present invention comprises:
- the network configuration information is representative information for each network device:
- the method which is the subject of the present invention comprises:
- the filtering step includes a step of distribution of the delays determined by statistical class, the statistical class having the shortest delays being used to achieve the synchronization of the secondary devices.
- the statistical class with the shortest delays is dynamically determined to have a fixed number of shortest delays.
- the present invention aims at a time synchronization device of devices communicating on a data network, which comprises:
- a temporal synchronization signal comprising information representative of a date of transmission of said signal
- each said secondary device of information representative of a date of reception of the received signal and of information representative of a date of transmission of the signal for estimating a value of transmission delay
- each said secondary device means for determining, by each said secondary device, a determined clock value as a function of the value of at least one unfiltered transmission delay value and the date of transmission of the received synchronization signal
- FIG. 1 represents, schematically and in the form of a logic diagram, a succession of steps of a particular embodiment of the method which is the subject of the present invention
- FIG. 2 represents, schematically, a first particular embodiment of the device which is the subject of the present invention
- FIG. 3 shows, schematically, a response diagram of a PID controller.
- a “data network” is a wired, wireless or hybrid telecommunications network.
- This telecommunications network can implement, for example, the IP protocol (for "Internet Protocol”).
- IP protocol for "Internet Protocol”
- Such a network is, for example, a network implementing the Wifi standard.
- primary device or “secondary device” means any device capable of communicating on the data network.
- a device is, for example, an object belonging to the domain of the Internet of Things or a network access point, such as a set top box for example.
- a primary or secondary device can be:
- PID regulator is a proportional, integral, derivative regulator.
- a PID regulator is a control system for improving the performance of a servocontrol, that is, a closed-loop system or process.
- a corrector is a calculation algorithm that delivers a control signal from the difference between the setpoint and the measurement.
- a PID regulator acts in three ways:
- the error is integrated and divided by a gain Ti;
- the error is derived and multiplied by a gain Td.
- the setting of a PID regulator consists in determining the coefficients G, Td and Ti in order to obtain an adequate response of the process and the regulation.
- the objectives are to be robust, fast and accurate. This is done in the case of operation in control mode (fixed setpoint) choose settings allowing the set variable to return in a reasonable time to its set value.
- FIG. 1 which is not to scale, shows a schematic view of an embodiment of the method 100 which is the subject of the present invention.
- This method 100 of time synchronization of devices communicating on a data network which comprises: a step 105 of transmission, by a primary device, called a "time server", of a temporal synchronization signal comprising information representative of a date of transmission of said signal,
- each device can act as a time server.
- the time server is determined collaboratively by the set of devices by the execution on each of these algorithms of a selection algorithm based on the local knowledge of the other devices present on the network and of their availability. It is decided a total order on a unique characteristic of the devices and this sorting function allows the selection of a single time server by its maximum or its minimum.
- the characteristic used is the UUID (for "Universal Unique IDentifier") of the devices and the sort function is an alphanumeric order.
- Each device therefore classifies all the peers it detects, including itself, in that order and the node with the maximum score is chosen as the time server. Only the available devices, that is to say that have responded to an activity request sufficiently recently, are eligible. Each device therefore regularly solicits all devices whose score is better than the score of the device performing the solicitation so as to know who is eligible. As a last resort, he himself becomes his own time server.
- the transmission step 105 is performed, for example, by a network card connected to a transmitter on the data network.
- This transmitter is, for example, an antenna configured to transmit wireless signals.
- This antenna can implement any standard or any communication technology.
- the time server proceeds to this transmission either by being the initiator of the synchronization or by being the receiver of a synchronization request sent by a secondary device.
- the transmitted signal comprises at least the date of transmission of said signal.
- this signal also includes a date of the time server clock.
- this step is performed by a transmission means 205 of the primary device 210, as illustrated in FIG.
- the reception step 110 is performed by a receiver compatible with the transmitter implemented during the transmission step 105.
- This receiver is, for example, an antenna configured to receive wireless signals.
- the receiver also called "receiving means 215" is illustrated in Figure 2, the receiving means 215 is located at a secondary device 220.
- the comparison step 115 takes place.
- this comparison step 115 implemented for example by a software embedded in an electronic circuit, the information representative of a reception date of the received signal, allocated by the trigger, and the information representative of a dated signal emission are compared. The difference of these dates allows the trigger to estimate a delay of transmission between the time server and the trigger. This transmission delay is likely to vary depending on the quality of the link between the time server and the trigger. This estimate of delay, different for each trigger, participates in the desynchronization of the triggers between them. The cause of this delay is not only the physical transmission delay, but also the latency of the network, which depends on random factors redefined each time a flow is restarted. This latency can not be compensated strictly with regard to a delay of physical transmission of the stream from the primary device to a secondary device.
- the embedded software in an electronic circuit forms, for example, a means 225 for comparison as illustrated in FIG.
- the statistical filtering step 116 is performed, for example, by the implementation by a software embedded in an electronic circuit.
- This statistical filter is configured for, for example:
- - calculate a parameter value for at least one delay such as, for example, the variance.
- the delay is filtered so as not to impact the clock determination at the secondary device.
- the parameter value implemented is the solicitation time between the secondary device and the primary device. This solicitation period is used to feed a statistical class.
- the class gathers those having the shortest delay.
- its clock information is used for synchronization. Otherwise, the information is discarded.
- all the solicitations are used to feed the definition of the statistical class.
- the filtering step 116 comprises a step 117 of distribution of the deadlines determined by statistical class, the statistical class with the shortest delays being used to synchronize the secondary devices.
- the statistical class with the shortest delays is dynamically determined to have a fixed number of shortest delays.
- the software embedded in an electronic circuit forms, for example, a means 226 for filtering as illustrated in FIG. 2.
- the determination step 120 is performed, for example, by a software embedded in an electronic circuit, this embedded software forming 230 determination means as shown in Figure 3.
- the transmission step 121 is performed, for example, by the implementation of the transmitter used during the transmission step 105.
- the reception step 126 is performed, for example, by the implementation of the receiver used during the reception step 110.
- the estimation step 122 is performed, for example, by software embedded in an electronic circuit. During this estimation step 122, estimated restitution date, based on a determined PID setpoint. As understood, the PID setpoint is scalable and made more precise with a large number of iterations.
- the software embedded in an electronic circuit forms, for example, the estimation means 232 illustrated in FIG.
- the reading step 123 is performed, for example, by a speaker embedded on board the secondary device.
- Such a loudspeaker, forming a reading means 233, is illustrated, for example, in FIG.
- the comparison step 124 is performed, for example, by a software embedded on board an electronic circuit. During this comparison step 124, the date of restitution of the audio stream and the estimated date of reading of said audio stream are compared to make an error emerge and, thanks to the adjustment of the PID setpoint, to regulate for the following this mistake.
- the software embedded in an electronic circuit forms, for example, the comparison means 234 illustrated in FIG.
- the determination step 125 is performed, for example, by a software embedded on board an electronic circuit. During this determination step 125, the setpoint is adjusted according to the setting of the PID controller.
- the embedded software in an electronic circuit forms, for example, the comparison means 235 illustrated in FIG.
- the method 100 implements:
- Synchronization implements, for example, the NTP protocol, but compensates for the bias of "retransmission” networks (such as Wi-Fi) by statistical filtering.
- this statistical filtering is called “in classes”.
- the method that is the subject of the present invention differs from the state of the art in that the person skilled in the art favors a front-end approach in which transmission delay values are estimated, these values serving basic synchronous reading of sound streams for example.
- the sound streams are restored at an estimated date and this estimate is gradually reinforced by the PID control mechanism.
- the measurement of the error is much more precise than the precision of the time measurement of the frontal approach. This approach is counterintuitive to the skilled person because the first sound samples are played in non-synchronous ways, the time that the PID regulator increases in power.
- FIG. 3 shows a response diagram of a typical PID regulator. This response is characterized by several parameters:
- the method 100 comprises: a step 135 of comparison, by each said trigger, between, on the one hand, the shifted read date and, on the other hand, a current clock information of said trigger and
- a step 140 of adjusting the duration of the audio signal if the shifted playback date is greater than the current clock date, a step 140 of adjusting the duration of the audio signal.
- all or part of the audio signal is truncated by a determined duration depending on the difference between the shifted read date and the current trigger date.
- This truncation corresponds, for example, to the difference between the offset play date and the current trigger date.
- the sampling of the audio signal is changed according to the difference between the shifted playback date and the clock date. current trigger.
- the sampling is adjusted, for example, by a selected acceleration or deceleration so that the audio signal is played over a determined time corresponding to the difference between the shifted play date and the current trigger date.
- the present invention also aims to answer the technical problem of managing the configuration of all the devices constituting a "zone". Such an area corresponds to a determined logical set which depends on the particular configuration of the system implementing the communicating devices. This method makes it possible to maintain consistency of the configuration of the devices despite their volatile nature.
- the method 100 preferably comprises:
- the election stage 145 is performed, for example, by a software embedded on board an electronic circuit. Each device executes a selection algorithm based on local knowledge of other devices on the network and their availability. It is decided to a total order on a unique feature of the devices and this sorting function allows the selection of a single master by its maximum or minimum.
- the characteristic used is the UUID (for "Universal Unique IDentifier") of the devices and the sort function is an alphanumeric order.
- the recording step 150 is performed, for example, by a software embedded on board an electronic circuit controlling a memory of the master device.
- the transmission step 155 is performed, for example, by the combination of a transmitter of the master device and a receiver of each other said non-master device.
- network configuration information is called representative information for each device of for example:
- the master implements a versioning step in case of network splitting conflict.
- the method 100 comprises:
- the communication step 160 is performed, for example, by the combination of a transmitter of the non-master device and a receiver of the master device.
- the validation step 165 is performed, for example, by a software embedded on board an electronic circuit.
- each state of the configuration is stamped with a version number. This is incremented exactly one value each at update.
- the master receives update requests including the candidate version number; if it corresponds to a version later than the reference version, it is accepted, and if not rejected. This makes it possible to prohibit a modification being made based on knowledge of the configuration that is too old.
- the update step 170 is performed, for example, by a software embedded on board an electronic circuit controlling a memory of the master device.
- the communication step 175 is performed, for example, by the combination of a transmitter of the master device and a receiver of at least one non-master device.
- FIG. 2 diagrammatically shows a particular embodiment of the device 200 for temporally synchronizing devices communicating on a data network, which comprises:
- time server for transmitting, by a primary device 210, called a "time server", a time synchronization signal comprising information representative of a date of transmission of said signal,
- means 215 for receiving, by at least one secondary device, said signal
- means 232 for estimating, by at least one secondary device, a date of reading of the sound flux as a function of the clock of said secondary device and of a set value of a determined PID regulator,
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
Le procédé (100) de synchronisation temporelle de dispositifs communicant sur un réseau de données, comporte : - une étape (105) d'émission, par un dispositif primaire, dit « serveur de temps », d'un signal de synchronisation temporelle, - 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, 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, puis, de manière itérative : - une étape (121) d'émission, par un dispositif primaire, d'un signal, - 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, - 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.
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.
Claims
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.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1763180 | 2017-12-22 | ||
FR1763180A FR3076145B1 (fr) | 2017-12-22 | 2017-12-22 | Dispositif et procede de synchronisation temporelle de dispositifs communicant sur un reseau de donnees |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019122792A1 true WO2019122792A1 (fr) | 2019-06-27 |
Family
ID=62528498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/FR2018/053532 WO2019122792A1 (fr) | 2017-12-22 | 2018-12-21 | Dispositif et procédé de synchronisation temporelle de dispositifs communicant sur un réseau de données |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3076145B1 (fr) |
WO (1) | WO2019122792A1 (fr) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2479895A1 (fr) * | 2011-01-11 | 2012-07-25 | Nxp B.V. | Contrôle PID pour synchronisation de transmetteur-récepteur |
-
2017
- 2017-12-22 FR FR1763180A patent/FR3076145B1/fr active Active
-
2018
- 2018-12-21 WO PCT/FR2018/053532 patent/WO2019122792A1/fr active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2479895A1 (fr) * | 2011-01-11 | 2012-07-25 | Nxp B.V. | Contrôle PID pour synchronisation de transmetteur-récepteur |
Non-Patent Citations (2)
Title |
---|
KEVIN LUCHSINGER: "Distributed Speaker Synchronisation", 28 May 2015 |
KEVIN LUCHSINGER: "Distributed Speaker Synchronization", 28 May 2015 (2015-05-28), XP002785336, Retrieved from the Internet <URL:https://pub.tik.ee.ethz.ch/students/2015-FS/SA-2015-02.pdf> [retrieved on 20181003] * |
Also Published As
Publication number | Publication date |
---|---|
FR3076145A1 (fr) | 2019-06-28 |
FR3076145B1 (fr) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2149214B1 (fr) | Synchronisation en phase de noeuds dans un reseau de telecommunications | |
EP3826316B1 (fr) | Équipement décodeur générant un ordre d'un profil audio à appliquer | |
EP3381196B1 (fr) | Procédé de synchronisation d'un flux audio alternatif | |
FR2897490A1 (fr) | Procede pour selection une regle de qualite de service et son systeme | |
EP3941076B1 (fr) | Procédé, système et programme de diffusion de signaux audio/vidéo avec un ajustement automatique de latence | |
WO2019122792A1 (fr) | Dispositif et procédé de synchronisation temporelle de dispositifs communicant sur un réseau de données | |
FR2935571A1 (fr) | Procede de transfert d'informations de base de temps sur un reseau a paquets, et dispositif de mise a jour de la frequence d'un oscillateur numerique | |
FR3079696A1 (fr) | Procede de communication | |
EP3890328B1 (fr) | Procédé de gestion d'un flux audio lu de manière synchronisée sur une horloge de référence | |
EP3205067B1 (fr) | Diffusion de contenus en streaming dans un réseau pair à pair | |
EP4016938B1 (fr) | Procédé de synchronisation et système mettant en oeuvre ledit procédé | |
EP4016937B1 (fr) | Procede de synchronisation et systeme mettant en uvre ledit procede | |
EP2614655B1 (fr) | Diffusion synchronisee de flux | |
EP1206045A1 (fr) | Procédé de correction de l'erreur de frequence | |
WO2010079460A1 (fr) | Diffusion synchronisée d'un flux | |
EP4016279B1 (fr) | Procede de vote et dispositif mettant en oeuvre ledit procede | |
BE1029303B1 (fr) | Procédé et système d'affichage digital | |
EP1371153B1 (fr) | Procede et dispositif de reception de signaux de synchronisation | |
EP4016280A1 (fr) | Procede de lecture synchronisee par des dispositifs de reproduction contrôles par un contrôleur, dispositif de reproduction et contrôleur mettant en uvre ledit procede | |
WO2013045815A1 (fr) | Procede et dispositif de gestion dynamique de la distribution de donnees dans un reseau de telecommunications | |
FR3094165A1 (fr) | Procédé de restitution de contenus de personnalisation d’un flux radiophonique principal | |
EP2633642B1 (fr) | Procédés de communication, dispositif de communication, entité de gestion, programme d'ordinateur et support d'informations pour la distribution hybride de données | |
FR3136582A1 (fr) | Procédé de synchronisation d'une horloge principale esclave avec une horloge principale maître | |
EP2947890A1 (fr) | Procédé et système de restitution d'un contenu sonore décalé dans le temps par rapport à un contenu visuel associé | |
WO2002076132A1 (fr) | Procede et dispositif de reception de signaux de frequence et/ou de synchronisation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18842808 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18842808 Country of ref document: EP Kind code of ref document: A1 |