EP1346543B1

Dynamic latency management and dynamic drift correction

Abstract

This record has no abstract on file.

EP1346543B1, drawing sheet 1
Sheet 1 of 5

Term

Term ended

Expired 15 October 2021, 4.9 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

9 claims: 9 independent, 0 dependent

  1. 1
    A method for dynamic latency management in a real-time electronic communication comprising:measuring, at multiple times, an instantaneous communication delay arising from a receiving data buffer, over a first time window;determining a communication delay by averaging the instantaneous communication delay measurements;determining an optimal operating range for a communication delay by measuring delays experienced over a second time window, the second time window being longer than the first time window, and determining the optimal operating range including an upper and lower bound based on the measured delays;comparing the determined communication delay with the optimal operating range for a communication delay;if, based on the comparison, the determined communication delay is determined to be outside the upper or lower bounds of the optimal operating range, modifying a number of samples of a playback data block passing through the receiving data buffer to bring the communication delay to within the determined optimal operating range, wherein modifying the number of samples further comprises performing heuristic resampling of a playback data block. Procédé de gestion dynamique de temps d'attente dans une communication électronique en temps réel, comprenant : mesurer à des temps multiples, un retard instantané de communication provenant d'un tampon recevant des données, pendant une première fenêtre de temps ;déterminer un retard de communication en faisant la moyenne des mesures de retards instantanés de communication ;déterminer une plage opérationnelle optimale pour un retard de communication en mesurant des retards rencontrés pendant une deuxième fenêtre de temps, la deuxième fenêtre de temps étant plus longue que la première fenêtre de temps, et déterminer la plage opérationnelle optimale comprenant une limite supérieure et une limite inférieure sur la base des retards mesurés ;comparer le retard de communication déterminé à la plage opérationnelle optimale pour un retard de communication ;si, sur la base de la comparaison, le retard de communication déterminé est déterminé être hors de la limite supérieure ou inférieure de la plage opérationnelle optimale, modifier un nombre d'échantillons d'un bloc de données de reproduction passant à travers le tampon recevant des données dans le but d'amener le retard de communication dans la plage opérationnelle optimale déterminée, où modifier le nombre d'échantillons comprend en outre effectuer un rééchantillonnage heuristique d'un bloc de données de reproduction. Verfahren zur dynamischen Latenzzeitverwaltung in einer elektronischen Echtzeitkommunikation, das Folgendes beinhaltet: Messen, zu mehreren Zeitpunkten, einer von einem Empfangsdatenpuffer entstehenden momentanen Kommunikationsverzögerung über ein erstes Zeitfenster;Bestimmen einer Kommunikationsverzögerung durch Mitteln der momentanen Kommunikationsverzögerungsmesswerte;Bestimmen eines optimalen Betriebsbereichs für eine Kommunikationsverzögerung durch Messen von über ein zweites Zeitfenster erfahrenen Verzögerungen, wobei das zweite Zeitfenster länger ist als das erste Zeitfenster, und Bestimmen des optimalen Betriebsbereichs einschließlich einer Ober- und Untergrenze auf der Basis der gemessenen Verzögerungen;Vergleichen der bestimmten Kommunikationsverzögerung mit dem optimalen Betriebsbereich für eine Kommunikationsverzögerung;Modifizieren, wenn auf der Basis des Vergleichs die bestimmte Kommunikationsverzögerung als außerhalb der Ober- oder Untergrenze des optimalen Betriebsbereichs liegend festgestellt wird, einer Anzahl von Samples eines durch den Empfangsdatenpuffer passierenden Wiedergabedatenblocks, um die Kommunikationsverzögerung in den bestimmten optimalen Betriebsbereich zu bringen, wobei das Modifizieren der Anzahl von Samples ferner das Durchführen eines heuristischen Neuabtastens eines Wiedergabedatenblocks beinhaltet.
  2. 2
    Procédé selon la revendication 1, dans lequel le nombre d'échantillons est modifié sans introduire des artefacts audibles. The method of claim 1 wherein the number of samples is modified without introducing audible artefacts. Verfahren nach Anspruch 1, wobei die Anzahl von Samples ohne Einleiten von hörbaren Artefakten modifiziert wird.
  3. 3
    Procédé selon la revendication 1, dans lequel déterminer une plage opérationnelle optimale pour un retard de communication en mesurant des retards rencontrés pendant la deuxième fenêtre de temps, comprend :décroître la limite supérieure et la limite inférieure d'une plage opérationnelle conditionnée en mesurant des retards individuels qui sont sensiblement au-dessus de zéro pendant la deuxième fenêtre de temps ;etaccroître la limite supérieure et la limite inférieure d'une plage opérationnelle conditionnée en mesurant des retards individuels de zéro pendant la deuxième fenêtre de temps. The method of claim 1 wherein determining an optimal operating range for a communication delay by measuring delays experienced over the second time window comprises: decreasing the upper and lower bounds of an operating range conditioned on measuring individual delays that are all substantially above zero during the second time window;andincreasing the upper and lower bounds of the operating range conditioned on measuring zero individual delays during the second time window Verfahren nach Anspruch 1, wobei das Bestimmen eines optimalen Betriebsbereichs für eine Kommunikationsverzögerung durch Messen von über das zweite Zeitfenster erfahrenen Verzögerungen Folgendes beinhaltet: Verringern der Ober- und Untergrenze eines Betriebsbereichs vorbehaltlich des Messens individueller Verzögerungen, die während des zweiten Zeitfensters alle wesentlich über null liegen;undErhöhen der Ober- und Untergrenze des Betriebsbereichs vorbehaltlich des Messens von individuellen Verzögerungen während des zweiten Zeitfensters.
  4. 4
    Procédé selon la revendication 1, dans lequel la communication électronique en temps réel comprend une communication audio. The method of claim 1 wherein the real-time electronic communication includes an audio communication. Verfahren nach Anspruch 1, wobei die elektronische Echtzeitkommuniktion eine Audiokommunikation beinhaltet.
  5. 5
    Procédé selon la revendication 1, dans lequel effectuer un rééchantillonnage heuristique comprend :analyser de multiples échantillons consécutifs de données audio dans le bloc de reproduction ;identifier des échantillons consécutifs présentant une variation minimale dans un paramètre de leurs données ;etajuster le nombre d'échantillons dans les échantillons consécutifs identifiés. The method of claim 1 wherein performing heuristic resampling comprises: analyzing multiple consecutive samples of audio data in the playback block;identifying consecutive samples with minimal variation in a parameter of their data;andadjusting the number of samples in the identified consecutive samples. Verfahren nach Anspruch 1, wobei das Durchführen von heuristischer Neuabtastung Folgendes beinhaltet: Analysieren mehrerer aufeinander folgender Samples von Audiodaten in dem Wiedergabeblock;Identifizieren konsekutiver Samples mit minimaler Variation in einem Parameter ihrer Daten;undJustieren der Anzahl von Samples in den identifizierten konsekutiven Samples.
  6. 6
    Procédé selon la revendication 5, dans lequel ajuster le nombre d'échantillons comprend ajouter un échantillon des échantillons consécutifs identifiés. The method of claim 5 wherein adjusting the number of samples comprises removing a sample from the identified consecutive samples. Verfahren nach Anspruch 5, wobei das Justieren der Anzahl von Samples das Entfernen eines Sample aus den identifizierten konsekutiven Samples beinhaltet.
  7. 7
    Procédé selon la revendication 5, dans lequel ajuster le nombre d'échantillons comprend ajouter un échantillon aux échantillons consécutifs identifiés. The method of claim 5 wherein adjusting the number of samples comprises adding a sample to the identified consecutive samples. Verfahren nach Anspruch 5, wobei das Justieren der Anzahl von Samples das Hinzufügen eines Sample zu den identifizierten konsekutiven Samples beinhaltet.
  8. 8
    A computer program, residing on a computer-readable medium, for dynamically managing latency in a real-time electronic communication, comprising instructions, which when executed on a computer, cause the computer to perform the method according to any one of the preceding claims. Computerprogramm, das sich auf einem computerlesbaren Medium befindet, zum dynamischen Verwalten von Latenzzeit in einer elektronischen Echtzeitkommunikation, das Befehle umfasst, die bei Ausführung auf einem Computer bewirken, dass der Computer das Verfahren nach einem der vorherigen Ansprüche durchführt. Programme informatique, résidant sur un support lisible par ordinateur, pour gérer dynamiquement un temps d'attente dans une communication électronique en temps réel, comprenant des instructions qui, lorsque exécutées sur un ordinateur, font que l'ordinateur mette en oeuvre le procédé selon l'une quelconque des revendications précédentes.
  9. 9
    A computer system running programmed processes comprising a process for dynamically managing latency in a real-time electronic communication, which process causes the computer system to perform the method according to any one of claims 1 to 7. Computersystem, das programmierte Prozesse abarbeitet, die einen Prozess zum dynamischen Verwalten von Latenzzeit in einer elektronischen Echtzeitkommunikation umfassen, wobei der Prozess bewirkt, dass das Computersystem das Verfahren nach einem der Ansprüche 1 bis 7 durchführt. Système informatique passant des processus programmés comprenant un processus pour gérer dynamiquement un temps d'attente dans une communication électronique en temps réel, lequel processus fait que le système informatique mette en oeuvre le procédé selon l'une quelconque des revendications 1 à 7.