-
Die vorliegende Erfindung betrifft ein Verfahren und ein System zur Übertragung eines Audiodatenstroms von mindestens einem Sender zu mindestens einem Empfänger über eine Jitter-behaftete Übertragungsstrecke mit latenzarmer Weiterverarbeitung und/oder Ausgabe im Empfänger.
-
Hintergrund
-
Bei einer drahtgebundenen oder drahtlosen Übertragung von einer Audiostreaming-Quelle bzw. einem Sender zu einer Audiostreaming-Senke bzw. einem Empfänger ist typischerweise eine Jitter-behaftete Übertragungsstrecke vorhanden. Jitter stellt eine Schwankung der Übertragungslatenz bezogen auf ein einzelnes Netzwerkpaket bzw. einen Audioblock dar.
-
1 zeigt einen Graphen zur Veranschaulichung einer schwankenden Übertragungslatenz von einzelnen Paketen eines Audiostroms. Auf der X-Achse ist die Übertragungslatenz UL und auf der Y-Achse ist die Anzahl A aufgetragen. Wie in 1 zu sehen ist, weisen die übertragenen Pakete eine unterschiedliche Übertragungslatenz auf. Die Latenz L1 der schnellen (d.h. früh ankommenden) Pakete kann sich stark von der Latenz Ln der langsamen (d.h. spät ankommenden) Pakete unterscheiden. Die Differenz zwischen dem schnellsten und dem langsamsten (oder dem langsamsten noch akzeptierten) Paket kann als Jitter-Fenster angesehen werden.
-
Zur kontinuierlichen Ausgabe eines übertragenen Audiostroms muss der Audiostreaming-Empfänger (Senke) einen Zwischenspeicher, nämlich einen Jitter-Puffer, aufweisen. In einem Jitter-Puffer werden die empfangenen Pakete des Audiostroms (zwischen-) gespeichert. Zu dem Zeitpunkt, wenn das erste Audiopaket in dem Audiostreaming-Empfänger ankommt, ist typischerweise die tatsächliche Übertragungslatenz nicht bekannt. Daher wird angenommen, dass das erste Audiopaket ein früh ankommendes Audiopaket darstellt und um die Länge des Jitter-Puffers verzögert werden muss, bevor es ausgegeben wird. Wenn das erste Audiopaket tatsächlich ein schnelles Paket ist, dann kann der Audiostrom mit der kleinstmöglichen Latenz ausgegeben werden. Falls das erste Audiopaket aber eines der langsameren Pakete war, dann erhöht sich die Ausgabelatenz des Audiostroms um die Größe des Jitter-Puffers. Damit kann die Latenz einer Audioausgabe abhängig von dem Ankunftszeitpunkt des ersten Audiopakets variieren.
-
Zusammenfassung der Erfindung
-
Es ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren, einen Empfänger und/oder ein System zur Übertragung eines Audiodatenstroms von mindestens einem Sender zu mindestens einem Empfänger über eine Jitter-behaftete Übertragungsstrecke vorzusehen, welche eine Latenz einer schritthaltenden Audio-Ausgabe bzw. Weiterverarbeitung verringert.
-
Diese Aufgabe wird durch ein Verfahren zur Übertragung und schritthaltenden latenzarmen Ausgabe und/oder Weiterverarbeitung eines Audiodatenstroms gemäß Anspruch 1, einen Empfänger gemäß Anspruch 7 und ein System gemäß Anspruch 10 gelöst.
-
Somit wird ein Verfahren zur Übertragung und schritthaltenden latenzarmen Ausgabe und/oder Weiterverarbeitung eines Audiodatenstroms, der von mindestens einem Sender zu mindestens einem Empfänger über eine Jitter-behaftete Übertragungsstrecke übertragen wird, vorgesehen. Eine Kalibrierung wird zur Ermittlung einer Verteilung einer Latenz bei der Übertragung von Datenpaketen des Audiodatenstroms durchgeführt, wobei die Datenpakete als Kalibrierungspakete benutzt werden. Hierzu wird ein Referenzzeitraster mit einem Ankunftszeitpunkt des ersten Kalibrierungspakets bei einem der Empfänger als Startpunkt und einer Rasterlänge erzeugt, die dem Sendeintervall der Kalibrierungspakete entspricht. Ein Offset wird für nachfolgende Kalibrierungspakete zwischen dem jeweiligen Ankunftszeitpunkt und dem korrespondierenden Zeitpunkt des Referenzzeitrasters bestimmt. Am Ende der Kalibrierung werden ein Offset des schnellsten (d.h. frühesten) Kalibrierungspakets und eine Differenz zwischen diesem Offset und einer Jitter-Fensterlänge ermittelt. Dann wird ein Zeitraster zur Audio-Ausgabe und/oder -Weiterverarbeitung ermittelt, das gegenüber dem Referenzzeitraster um die ermittelte Differenz verschoben ist. Mit dem Abschluss der Kalibrierung können daher die Audiopakete im Zeitraster zur Audio-Ausgabe und/oder -Weiterverarbeitung ausgegeben werden. Dieses hat gegenüber dem Referenzzeitraster den Vorteil, dass es die schnellstmögliche Ausgabe der Audiopakete bzw. deren minimale Latenz ermöglicht.
-
Weitere Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche.
-
Kurze Beschreibung der Zeichnungen
-
Weitere Einzelheiten und vorteilhafte Ausführungsformen sind in den Zeichnungen dargestellt. Darin zeigt
-
1 eine grafische Darstellung von schwankenden Übertragungslatenzen von Daten in einem Audiodatenstrom;
-
2A eine grafische Darstellung von Sender und Empfänger, verbunden über eine Jitter-behaftete Datenübertragungsstrecke;
-
2B einen Graphen zur Veranschaulichung von Ankunftszeitpunkten von Paketen sowie von deren Offsets zum Referenzzeitraster;
-
3 einen Graphen zur Veranschaulichung eines Histogramms des Offsets von Kalibrierungspaketen gemäß der Erfindung;
-
4 einen Graphen zur Veranschaulichung einer Differenz des Referenzzeitrasters zum Audioausgabe- bzw. -Weiterverarbeitungszeitraster;
-
5 einen Graphen zur Veranschaulichung eines Audioausgabe- bzw. -Weiterverarbeitungszeitrasters gemäß der Erfindung;
-
6 ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens; und
-
7 ein Blockdiagramm eines Empfängers gemäß der Erfindung.
-
Detaillierte Beschreibung der Erfindung
-
2A zeigt einen Sender und einen erfindungsgemäßen Empfänger, die über eine Jitter-behaftete Datenübertragungsstrecke verbunden sind. Eine Audioquelle AQ liefert ein Audiosignal, das von dem Sender S über die Jitter-behaftete Datenstrecke DS übertragen und von den Empfängern E1–EM empfangen wird. Die Empfänger E1–EM weisen jeweils eine Audioverarbeitungseinheit AV1–AVM auf, welche eine schritthaltende Audioverarbeitung oder Audiowiedergabe ermöglicht. Durch die Übertragung über die Jitter-behaftete Datenstrecke DS entsteht eine Übertragungslatenz UL. Durch die Audiowiedergabe und/oder Audioverarbeitung entsteht eine Audioausgabe-Latenz AAL. Die Übertragungslatenz UL und die Audioausgabe-Latenz AAL bilden dann zusammen die Audiostrom-Latenz.
-
Für einige Anwendungen ist es wichtig, die Audiostrom-Latenz zu minimieren, z.B. Live-Audio. Ein Vorteil der Erfindung besteht darin, dass sie die durch einen Jitter-Puffer erzeugte Latenz minimiert.
-
Gemäß der Erfindung wird eine Gruppe von Paketen des Audiodatenstroms als Kalibrierungspakete benutzt. Dabei kann es sich um aufeinanderfolgende Pakete handeln. Die Gruppe kann normalerweise zwischen etwa hundert und mehreren tausend Paketen umfassen. In Sonderfällen kann eine Gruppe auch weniger als hundert Pakete umfassen, wenn die Gruppe statistisch relevant ist.
-
Gemäß einem Aspekt der Erfindung kann die Datenübertragung über eine drahtlose Übertragungsstrecke DS basierend auf dem Bluetooth-Protokoll oder einem IEEE802.11 Protokoll erfolgen.
-
Alternativ dazu kann die Datenübertragung über jede (drahtlose oder drahtgebundene) Jitter-behaftete Übertragungsstrecke erfolgen.
-
Die Audiodaten können in Blöcken vorliegen, wobei mehrere Blöcke in jedem Audiopaket enthalten sein können. Die Audiopakete weisen normalerweise unterschiedliche Latenzen auf.
-
2B zeigt einen Graphen zur Veranschaulichung von Ankunftszeitpunkten von Paketen sowie von deren Offsets zum Referenzzeitraster. In 2B sind die Paketankunftszeiten PAT, das Referenzzeitraster RG und die Offsets O gezeigt. Insbesondere sind sechs Offsets O1–O6 gezeigt, welche die Offsets der Kalibrierungspakete k0 – kn-1 darstellen. Dabei ist der erste Offset O1 positiv, während der zweite, dritte und vierte Offset O2–O4 negativ sind.
-
Mittels der Offsets kann festgestellt werden, ob das jeweilige Paket ein schnelles (d.h. frühes) oder ein langsames (d.h. spätes) Paket darstellt. Ferner kann diese Information zur Erzeugung eines optimalen Zeitrasters zur Audio-Ausgabe und/oder Weiterverarbeitung verwendet werden. Dieses Zeitraster ist optimal in Bezug auf eine durch den Jitter-Puffer erzeugte Latenz, indem diese minimiert wird. Insbesondere kann die Audio-Ausgabe und/oder Weiterverarbeitung eines langsamen Paketes früher gestartet werden als bei einem schnellen Paket.
-
3 zeigt einen Graphen zur Veranschaulichung eines Histogramms der Offsets GO von Kalibrierungspaketen k0 – kn-1 gemäß der Erfindung. Darin entspricht „a“ der Differenz vom Nullpunkt des Histogramms zur minimalen Latenz. Die Länge des Jitter-Fensters ist mit „b“ bezeichnet. Die Differenz aus dem Jitter-Fenster b und dem minimalen Offset a, also dem Offset des schnellsten Kalibrierungspakets, ist als „c“ dargestellt. Sie entspricht der Differenz des Referenzzeitrasters RG zum optimalen Zeitraster AO zur Audioausgabe und/oder Audio-Weiterverarbeitung. 4 zeigt einen Graphen zur Veranschaulichung dieser Differenz. Somit lässt sich erfindungsgemäß aus dem Referenzzeitraster RG und der Differenz c das optimale Zeitraster AO zur Audio-Ausgabe und/oder Audio-Weiterverarbeitung erzeugen. Die Größe b des Jitter-Fensters lässt sich entweder aus dem Histogramm gemäß 3 während der Kalibrierung ermitteln, oder sie kann als fester Wert vorgegeben sein, z.B. als Länge des Jitter-Puffers oder als zulässiger Maximalwert.
-
Nach der Kalibrierungsphase (Datenpakete k0 – kn-1) können Audiopakete a0 – a2 im neuen, optimalen Zeitraster übertragen werden. Die Kalibrierungspakete k0 – kn-1 können auch Audiodaten enthalten. Für das erste Audiopaket a0 nach der Kalibrierungsphase kann ein Offset da0 zum Referenzzeitraster RG ermittelt werden. Basierend auf diesem Offset da0 und der Differenz c kann eine Verschiebung des ersten Audiopakets nach der Kalibrierungsphase relativ zum Audio-Ausgabezeitfenster ermittelt werden gemäß d = c – da0
-
Das erste Audiopaket kann dann mit der Verzögerung d ausgegeben werden, d.h. das erste Audiopaket kann sofort auf dem ermittelten Ausgabezeitraster liegend ausgegeben werden. Ebenso können nachfolgende Audiopakete auf dem ermittelten Ausgabezeitraster liegend ausgegeben werden.
-
Während gemäß dem Stand der Technik eine feste Verschiebung von d = b vorgesehen war, kann erfindungsgemäß die Übertragungslatenz der minimalen Übertragungszeit plus der Größe des definierten Jitter-Fensters entsprechen. Im Gegensatz zum Stand der Technik können gemäß der Erfindung Audiodaten frühestmöglich ausgegeben bzw. weiter verarbeitet werden.
-
5 zeigt einen Graphen zur Veranschaulichung eines Audioausgabe-Zeitrasters bzw. Audio-Weiterverarbeitungszeitrasters gemäß der Erfindung. Zunächst können die Kalibrierungspakete k0 – kn-1 übertragen werden. Während der Kalibrierung K können die Offsets dk1, dk2, dk3 und insbesondere der Offset a des schnellsten Kalibrierungspakets ermittelt werden. Nach der Kalibrierung K kann aus dem Offset a des schnellsten Kalibrierungspakets die Verschiebung c des gesuchten Zeitrasters AO zur Audio-Ausgabe und/oder Weiterverarbeitung berechnet werden, wie oben beschrieben. Das Zeitraster AO kann dann dadurch erzeugt werden, dass das Referenzzeitraster RG um c verschoben wird, oder dass die Verschiebung des ersten Datenpakets a0 gegenüber dem Referenzzeitraster RG ermittelt und das erste Audiopaket um d verzögert ausgegeben wird, wobei d wie oben beschrieben ermittelt wird. Im Prinzip kann dies zur Ermittlung der Verzögerungen nachfolgender Audiopakete wiederholt werden. Die weiteren Pakete a1, a2, ... des Audiostroms können aber auch unabhängig von ihrem Offset einfach im Ausgabe-Zeitraster AO übertragen werden.
-
Gemäß einem Aspekt der vorliegenden Erfindung ist es möglich, dass Pakete nicht akzeptiert werden; ein Paket kann verworfen werden, wenn der ermittelte Offset zu hoch ist, d.h. der Jitter größer ist als das Jitter-Fenster.
-
6 zeigt ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens zur Übertragung und latenzarmen schritthaltenden Ausgabe und/oder Weiterverarbeitung eines Audiodatenstroms, der von mindestens einem Sender S zu mindestens einem Empfänger E1, EM über eine Jitter-behaftete Übertragungsstrecke DS übertragen wird. Das Verfahren 600 enthält die folgenden Schritte: Zunächst wird eine Kalibrierung durchgeführt 610 zur Ermittlung einer Verteilung einer Latenz bei der Übertragung von Paketen des Audiodatenstroms, wobei eine Gruppe von Paketen des Audiodatenstroms als Kalibrierungspakete benutzt werden. Dies geschieht durch Erzeugen 620 eines Referenzzeitrasters mit einem Ankunftszeitpunkt des ersten Kalibrierungspaketes bei dem mindestens einen Empfänger als Startpunkt und einer Rasterlänge, die dem Sendeintervall der Kalibrierungspakete entspricht, dann für nachfolgende Kalibrierungspakete Bestimmen 630 von Offsets zwischen dem Ankunftszeitpunkt und einem korrespondierenden (z.B. nächstliegenden) Zeitpunkt in dem Referenzzeitraster, und Ermitteln 640 des schnellsten Kalibrierungspakets und dessen Offset a gegenüber dem Referenzzeitraster sowie einer ersten Differenz c = b – a zwischen der Länge eines Jitter-Fensters b und dem Offset a des schnellsten Kalibrierungspakets. Dann wird ein Zeitraster AO zur Audio-Ausgabe und/oder Weiterverarbeitung ermittelt 650, das gegenüber dem Referenzzeitraster RG um die erste Differenz c verschoben ist. Für das erste Audiopaket kann, basierend auf dem Offset da0 des Audiopakets gegenüber dem Referenzzeitraster und der ermittelten ersten Differenz c, eine Verschiebung d gegenüber seinem Ankunftszeitpunkt ermittelt werden 660, um einen Ausgabezeitpunkt gemäß dem Zeitraster zur Audio-Ausgabe und/oder Weiterverarbeitung zu treffen. Das erste Audiopaket wird dann nach der Verschiebung d ausgegeben 670. Die weiteren Audiopakete des Audiodatenstroms werden dann gemäß dem Zeitraster zur Audio-Ausgabe und/oder Weiterverarbeitung ausgegeben 680.
-
Wie oben beschrieben, kann die Verzögerung dn eines Audiopakets an, relativ zum Empfangszeitpunkt, als Differenz aus der ersten Differenz c und dem Offset dan des jeweiligen Audiopakets gegenüber dem Referenzzeitraster ermittelt werden gemäß dn = c – dan.
-
Die Länge des Jitter-Fensters b kann in einer Ausführungsform einem vorgegebenen Wert oder einer vorgegebenen Jitter-Pufferlänge entsprechen. In einer anderen Ausführungsform kann die Länge des Jitter-Fensters b bei der Kalibrierung gemessen werden und z.B. der zeitlichen Differenz zwischen dem schnellsten und dem langsamsten Kalibrierungspaket entsprechen.
-
In einer Ausführungsform der Erfindung können die Kalibrierungspakete Audiodaten enthalten. In einer anderen Ausführungsform der Erfindung können die Kalibrierungspakete andere Daten enthalten, z.B. Konfigurationsdaten. Die Kalibrierungspakete können normal ausgegeben werden, wobei ihre Latenz z.B. dem Stand der Technik entsprechend höher sein kann als die Latenz der Audiopakete nach der Kalibrierung. Ein Übergang von den Kalibrierungspaketen mit höherer Latenz hin zu den Audiopaketen mit geringerer Latenz kann z.B. dadurch erfolgen, dass die Abtastrate zum Auslesen des Jitter-Puffers kurzzeitig erhöht wird oder dass am Ende der Kalibrierung Daten verworfen werden.
-
7 zeigt in einer Ausführungsform der Erfindung einen erfindungsgemäßen Empfänger E1 zum Empfang eines Audiodatenstroms über eine Jitter-behaftete Übertragungsstrecke DS, wobei der Empfänger den Audiodatenstrom latenzarm und schritthaltend ausgibt und/oder weiterverarbeitet. Der Empfänger E1 enthält Mittel 710 zum Erzeugen eines Referenzzeitrasters RG, das einen Anfangszeitpunkt eines ersten Kalibrierungspakets als Startpunkt hat und eine Rasterlänge hat, die dem Sendeintervall der (Kalibrierungs-)Pakete des Audiodatenstroms entspricht. Der Empfänger E1 enthält weiterhin Mittel 720 zum Bestimmen eines Offsets zwischen dem Ankunftszeitpunkt und einem korrespondierenden Zeitpunkt in dem Referenzzeitraster, jeweils für die nachfolgenden Kalibrierungspakete. Der Empfänger E1 enthält weiterhin Mittel 730 zum Ermitteln des schnellsten Kalibrierungspakets und dessen Offset a gegenüber dem Referenzzeitraster, und Mittel 740 zum Ermitteln einer ersten Differenz c zwischen der Länge eines Jitter-Fensters b und dem Offset a des schnellsten Kalibrierungspakets. Außerdem enthält der Empfänger E1 Mittel 750 zum Ermitteln eines Zeitrasters AO zur Audio-Ausgabe und/oder Weiterverarbeitung, das um die ermittelte erste Differenz c gegenüber dem Referenzzeitraster RG verschoben ist, und Mittel 760 zum Ausgeben der Audiopakete gemäß dem Zeitraster zur Audio-Ausgabe und/oder Weiterverarbeitung. Dabei kann ein erstes Audiopaket a0 schon mit einer reduzierten Verzögerung d ausgegeben werden, die aus dem Offset da0 des ersten Audiopakets gegenüber dem Referenzzeitraster und der ersten Differenz c ermittelt werden kann.
-
In einer Ausführungsform wird eine Gruppe von aufeinanderfolgenden Paketen des Audiodatenstroms als Kalibrierungspakete benutzt, wie in 2 dargestellt. In einer anderen Ausführungsform werden nicht alle Pakete einer Gruppe von aufeinanderfolgenden Paketen des Audiodatenstroms als Kalibrierungspakete benutzt. In einer Ausführungsform wird das Zeitraster zur Audio-Ausgabe und/oder Weiterverarbeitung schon auf das erste Audiopaket, nach den Kalibrierungspaketen angewandt. In einer anderen Ausführungsform wird es, auf Grund weiterer Verzögerungen oder anderer Umstände, erst auf spätere Audiopakete angewandt.
-
Die oben genannten Mittel 710–760 können als Hardware-Komponenten oder als ein oder mehr programmierte Prozessoren implementiert werden.
-
In einer Ausführungsform betrifft die Erfindung ein Softwareprogramm und/oder einen Datenträger mit einem darauf gespeicherten Softwareprogramm, das bei seiner Ausführung auf einem Computer die Schritte des oben genannten Verfahrens ausführt.
-
Der Empfänger E1, EM kann den Audiodatenstrom von einem beliebigen Sender S empfangen. Der Sender braucht keine besonderen Vorkehrungen zur erfindungsgemäßen Minimierung der Latenz der Pakete im Empfänger zu treffen. Insbesondere kann der Sender in einem drahtlosen Mikrofon sein, weil die Erfindung die Latenz der übertragenen Audiodaten minimiert. Dies ist insbesondere bei schritthaltender Ausgabe wie etwa Live-Übertragung von Audiodaten oder zur besseren Synchronisation von Audio- und Videodaten wichtig.
-
Gemäß einem Aspekt betrifft die Erfindung ein System zur Übertragung und latenzarmen schritthaltenden Ausgabe und/oder Weiterverarbeitung eines Audiodatenstroms, mit mindestens einem Sender S und mindestens einem Empfänger E1, EM, wobei ein Audiodatenstrom über eine Jitter-behaftete Übertragungsstrecke DS von dem mindestens einen Sender S zu dem mindestens einen Empfänger E1, EM übertragen wird und wobei eine Gruppe von Paketen des Audiodatenstroms als Kalibrierungspakete benutzt wird. Der Empfänger ist dazu ausgestaltet, eine Kalibrierung zur Ermittlung einer Verteilung einer Latenz bei der Übertragung von Paketen des Audiodatenstroms unter Benutzung der Kalibrierungspakete durchzuführen, wobei die Kalibrierung erfolgt durch Erzeugen eines Referenzzeitrasters mit einem Anfangszeitpunkt des ersten Kalibrierungspakets als Startpunkt und einer Rasterlänge, die dem Sendeintervall der Kalibrierungspakete entspricht. Der Empfänger ist ferner dazu ausgestaltet, Offsets für nachfolgende Kalibrierungspakete zwischen dem Ankunftszeitpunkt und einem korrespondierenden Zeitpunkt in dem Referenzzeitraster zu bestimmen, einen Offset a des schnellsten Kalibrierungspakets gegenüber dem Referenzzeitraster zu ermitteln, eine erste Differenz c = b – a zwischen der Länge eines Jitter-Fensters b und dem Offset a des schnellsten Kalibrierungspakets zu ermitteln. Außerdem ist der Empfänger dazu ausgestaltet, ein Zeitraster AO zur Audio-Ausgabe und/oder Weiterverarbeitung zu ermitteln, das gegenüber dem Referenzzeitraster um die erste Differenz (c) verschoben ist, und Audiopakete des Audiodatenstroms gemäß dem Zeitraster zur Audio-Ausgabe und/oder Weiterverarbeitung auszugeben. Dabei wird ein erstes Audiopaket mit einer Verzögerung d ausgegeben wird, die aus dem Offset da0 des empfangenen ersten Audiopakets gegenüber dem Referenzzeitraster und der ersten Differenz c ermittelt werden kann.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-