DE60211157T2 - Synchronous playback of media packages - Google Patents

Synchronous playback of media packages Download PDF

Info

Publication number
DE60211157T2
DE60211157T2 DE60211157T DE60211157T DE60211157T2 DE 60211157 T2 DE60211157 T2 DE 60211157T2 DE 60211157 T DE60211157 T DE 60211157T DE 60211157 T DE60211157 T DE 60211157T DE 60211157 T2 DE60211157 T2 DE 60211157T2
Authority
DE
Germany
Prior art keywords
time
media
media data
sink
global
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60211157T
Other languages
German (de)
Other versions
DE60211157D1 (en
Inventor
c/o Advanced Tech. Cent. Stuttgart Rüdiger Mosig
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Deutschland GmbH
Original Assignee
Sony Deutschland GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Deutschland GmbH filed Critical Sony Deutschland GmbH
Publication of DE60211157D1 publication Critical patent/DE60211157D1/en
Application granted granted Critical
Publication of DE60211157T2 publication Critical patent/DE60211157T2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Stereophonic System (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Electric Clocks (AREA)

Description

Die Erfindung betrifft ein Verfahren, eine Medienquelle, eine Mediensenke und ein Medienverarbeitungssystem zum synchronen Abspielen von Mediendatenpaketen.The The invention relates to a method, a media source, a media sink and a media processing system for synchronously playing media data packets.

Ein Mensch verwendet zwei Schallparameter zum Ermitteln der Position der Schallquelle: die Amplitude und die Phase des Schalls. Da die Intensität des Schalls bei dessen Ausbreitung in Luft abnimmt, nimmt ein weiter von der Schallquelle entferntes Ohr einen geringeren Schallpegel wahr als ein Ohr in der Nähe der Schallquelle. Da der Schall zudem für die Ausbreitung in der Luft einige Zeit benötigt, erhält das weiter entfernte Ohr das Signal später als das näher zur Schallquelle angeordnete Ohr. Experimente haben gezeigt, dass Menschen eine Phasendifferenz zwischen zwei Kanälen von mehr als 6-20 Mikrosekunden (μs) als Versatz der Schallquelle wahrnehmen und zwei Signale mit einer Phasendifferenz von mehr als 35-40 Millisekunden (ms) als zwei verschiedene Töne wahrgenommen werden.One Human uses two sound parameters to determine the position the sound source: the amplitude and the phase of the sound. Because the intensity the sound decreases as it spreads in air, one continues away from the sound source ear a lower sound level true as an ear in the vicinity the sound source. As the sound also spreads in the air needs some time receives the farther ear the signal later than the closer to Sound source arranged ear. Experiments have shown that humans a phase difference between two channels of more than 6-20 microseconds (μs) as Detect offset of the sound source and two signals with a phase difference of more than 35-40 milliseconds (ms) perceived as two different tones become.

Für Audiosysteme, die Audiotöne abspielen (emittieren) bedeutet dies, dass ein zu einem Kanal eines Multikanalsignals zugehöriges Audiosignal, z.B. ein Stereosignal, zu exakt derselben Zeit, d.h. exakt demselben Zeitpunkt, wie alle weiteren demselben Multikanalsignal, z.B. demselben Stereosignal, zugeordneten Audiosignale abgespielt werden sollte. Mit anderen Worten ist eine enge Synchronisation der verschiedenen Audioausgabegeräte, z.B. Lautsprecher, erforderlich, sodass die Zeitrelation zwischen verschienen Kanälen eines Multikanalsignals während der Ausgabe gegeben ist. Ähnliche Anforderungen können ebenso in weiteren Audioanwendungen wie z.B. Dolby-Surround-Systemen oder in Audio-Video-Anwendungen auftreten.For audio systems, the audio tones play (emit) this means that one to one channel of a Associated with multi-channel signal Audio signal, e.g. a stereo signal at exactly the same time, i. exactly same time as all other same multi-channel signal, e.g. the same stereo signal, associated audio signals played should be. In other words, close synchronization the various audio output devices, e.g. Speaker, required, so that the time relation between different channels of a multi-channel signal while the issue is given. Similar Requirements can also in other audio applications, e.g. Dolby Surround systems or occur in audio-video applications.

Die erwähnte enge Synchronisation ist ebenso von digitalen Übertragungs-Audiosystemen zu erfüllen, bei denen Audiosignale von der Medienquelle zu den Medienausgabegeräten (im Folgenden ebenso allgemeiner als Medien senken bezeichnet, die ebenso Geräte zur Verarbeitung eines empfangenen Multikanalsignals auf beliebige andere Weise enthalten) in der Form von Mediendatenpaketen (im Folgenden ebenso als Medienpakete bezeichnet) übertragen werden. Jedes Audioausgabegerät muss die Töne eines Mediendatenpakets (das Mediendatenpaket an sich) zu exakt derselben Zeit abspielen, d.h. in dem Augenblick, in welchem ein weiteres Medienausgabegerät ein korrespondierendes Mediendatenpaket, z.B. demselben Stereosignal zugeordnet, auf einem weiteren Kanal abspielt. Werden die Mediendatenpakete nicht passend synchronisiert abgespielt, d.h. korrespondierende Mediendatenpakete von verschiedenen Kanälen desselben Stereosignals werden zu verschiedenen Zeiten in verschiedenen Medienausgabegeräten abgespielt, so treten die obigen Probleme auf, d.h. der Stereoton wird möglicherweise als von einer anderen Richtung kommend wahrgenommen oder möglicherweise werden sogar zwei unterschiedliche Töne wahrgenommen (diese Probleme werden im Folgenden als Hörstörungen bezeichnet).The mentioned Close synchronization is equally true of digital broadcasting audio systems that require audio signals from the media source to the media output devices (hereinafter also more general referred to as media lower, which also means for processing a received multi-channel signal in any other way) in the form of media data packets (also referred to as media packages below) become. Each audio output device must the sounds a media data packet (the media data packet itself) to exact play the same time, i. at the moment in which one another media output device a corresponding media data packet, e.g. the same stereo signal assigned, plays on another channel. Become the media data packages not properly synchronized played, i. corresponding Media data packets from different channels of the same stereo signal are played at different times in different media output devices, so the above problems occur, i. the stereo sound may be perceived as coming from another direction or possibly even two different tones are perceived (these problems are hereinafter referred to as hearing disorders).

Die Internet Engineering Task Force (IETF) hat ein Übertragungsprotokoll für Echtzeitanwendungen (RTP) in ihren Request for Comments RFC 1889 bereitgestellt, im Folgenden als RTP bezeichnet. Das Echtzeitübertragungsprotokoll (RTP) enthält ein Steuerprotokoll RTCP, das Synchronisationsinformation von Datensendern und die Rückmeldeinformation von Datenempfängern bereitstellt. Was die Synchronisation von Datenströmen hinsichtlich einer Medienverteilung betrifft, stellt dieses Protokoll sogenannte Senderberichte (SR, Sender Reports) bereit, die eine Korrelation zwischen einem Abtasttakt und einer globalen Uhrzeit (global clock) angeben.The Internet Engineering Task Force (IETF) has a transmission protocol for real-time applications (RTP) provided in their Request for Comments RFC 1889, in Hereinafter referred to as RTP. The real-time transmission protocol (RTP) contains a control protocol RTCP, the synchronization information of data transmitters and the feedback information of data receivers provides. As for the synchronization of data streams in terms As far as media distribution is concerned, this Sender Reports (SR, Sender Reports) ready to provide a correlation between a sample clock and a global clock specify.

Die Senderberichte (SR) werden von der Medienquelle an die Mediensenke(n) gesendet und enthalten zwei Zeitkennzeichnungen. Eine Zeitkennzeichnung weist auf einen Zeitpunkt in Zeiteinheiten des lokalen Abtasttaktes (lokale Abtasttaktzeit) hin und die andere Kennzeichnung weist auf denselben Zeitpunkt in Zeiteinheiten des globalen Taktes (globale Uhrzeit) hin. Beide Zeitkennzeichnungen der SR werden zum selben Zeitpunkt erzeugt. Es wird angenommen, dass die globale Uhrzeit der Medienquelle und der Mediensenke(n), zwischen denen Medienströme übertragen werden, bereitsteht. Eine Mediensenke hat somit Zugriff auf die globale Uhrzeit und kann deshalb deren Abtasttakt zur globalen Uhrzeit ausrichten.The Sender reports (SR) are sent from the media source to the media sink (s) sent and contain two time stamps. A time stamp indicates a time in units of time of the local sampling clock (local sample clock time) and the other label indicates the same time in units of time of the global clock (global Time). Both time labels of the SR become the same Time generated. It is assumed that the global time the media source and the media sink (s) between which media streams are transferred be ready. A media sink thus has access to the global time and can therefore align their sample clock to the global time.

Die wesentliche Absicht von RTP ist es, eine Einrichtung für Videokonferenzen im Internet bereitzustellen und Video und Audio, die in getrennten Datenströmen von derselben einzelnen Mediensenke empfangen werden, zu resynchronisieren. Das Protokoll ist nicht dafür gedacht, das synchrone Abspielen von Mediendatenpaketen in getrennten Mediensenken eines digitalen Übertragungs-Audiosystems sicherstellen. Wird dieses Protokoll deshalb zum Aussenden von Mediendatenpaketen an Mediensenken verwendet, ist es möglich, dass die Mediendatenpakete in verschiedenen Mediensenken nicht geeignet synchronisiert abgespielt werden, d.h. einem selben Stereosignal zugeordnete Mediendatenpakete werden möglicherweise nicht zum selben Zeitpunkt in verschiedenen Mediensenken, z.B. Lautsprechern, abgespielt. Deshalb können die obigen Hörstörungen auftreten, falls für digitale Übertragungsaudiosysteme lediglich RTP verwendet wird.The RTP's main intention is to set up a videoconferencing facility to provide on the internet and video and audio in separate streams from the same single media sink to resynchronize. The protocol is not for that intended to synchronously play media data packets in separate Ensuring media sinks of a digital broadcast audio system. Therefore, is this protocol for sending media data packets used on media sinks, it is possible that the media data packets played in different media sinks unsuitable synchronized are, i. a media data packets associated with a same stereo signal may be not at the same time in different media sinks, e.g. Speakers played. That's why the above hearing disorders occur if for digital broadcasting audio systems only RTP is used.

Stand der Technik zur Synchronisierung von Video- und Audiodaten ist beispielsweise aus "RFC 2343: RTP Payload Format for Bundles MPEG", Request for Comments, Mai 1998, XP002229835, von M. Civanlar und aus dem Dokument "RFC 1889: RTP: A Transport Protocol for Real-Time Applicatons", Request for Comments, Januar 1996, XP002229836 von H. Schulzrinne bekannt. In diesen Dokumenten des Standes der Technik weist ein Paket eine Zeitkennzeichnung, die eine Abtastzeit des MPEG-Bildes kennzeichnet, sowie ein Audioversatzfeld auf, das den Versatz zwischen dem Beginn des Audio-Frames und der RTP-Zeitkennzeichnung für dieses Paket als Anzahl von Audio-Abtastungen kennzeichnet. Um eine Synchronisation zwischen in einem entsprechenden Paket enthaltenen Video- und Audiodaten zu erzielen, wird der Audioversatz relativ zur RTP-Zeitkennzeichnung des Pakets, das dieses Audiosegment enthält, angegeben.The state of the art for synchronizing video and audio data is known, for example, from "RFC 2343: RTP Payload Format for Bundles MPEG ", Request for Comments, May 1998, XP002229835, by M. Civanlar and the document" RFC 1889: RTP: A Transport Protocol for Real-Time Applicatons ", Request for Comments, January 1996, XP002229836 by H. Schulzrinne In these prior art documents, a packet comprises a time tag indicating a sample time of the MPEG picture and an audio offset field which represents the offset between the beginning of the audio frame and the RTP time tag for In order to achieve synchronization between video and audio data contained in a respective packet, the audio offset is indicated relative to the RTP time signature of the packet containing that audio segment.

Das Problem der Hörstörungen kann ebenso von unzuverlässigen und ungenauen Taktinformationen herrühren, die in den meisten Nicht-Echtzeit-Quellengeräten wie Personalcomputern (PCs) oder digitalen Assistenten (PDAs) auftreten. Diese Geräte setzen voraus, dass die globale Taktinformation (globale Uhrzeit) alle seitens der Anwendungsszenarios festgelegten Anforderungen erfüllt. Jedoch kann dies auch nicht zutreffen. Ein Nicht-Echtzeit-Gerät erhält gewöhnlich eine tatsächliche Zeit (globale Uhrzeit) zur Erzeugung von Zeitkennzeichnungen für Mediendatenpakete über eine externe Verbindung, z.B. USB oder RS232. Da die Bussysteme, die gewöhnlich für diese Art von externer Verbindung verwendet werden, nicht für eine Übertragung mit garantiert sehr kurzen Zustellzeiten ausgelegt sind, kann die Taktinformation (globale Uhrzeit) ihre Genauigkeit verlieren, falls diese von dem PC oder PDA verwendet wird, z.B. zur Bestimmung einer Zeitkennzeichnung für ein Mediendatenpaket. Dies bedeutet, dass die über eine Zeitkennzeichnung gekennzeichnete globale Uhrzeit eines Mediendatenpakets im Hinblick auf die tatsächliche globale Uhrzeit, zu der das Mediendatenpaket tatsächlich ausgesendet wird, falsch sein kann. Ebenso kann die Zeitdifferenz zwischen zwei mittels zwei Zeitkennzeichnungen gekennzeichneten Zeitpunkten variieren, obwohl die Zeitdifferenz zwischen den beiden korrespondierenden tatsächlichen globalen Uhrzeiten nicht variiert. Dies liegt möglicherweise daran, dass die von der externen Verbindung zum Übertragen der globalen Uhrzeitinformation an die Anwendung benötigte Zeit schwanken kann. Da die Zeitkennzeichnungen der Mediendatenpakete gewöhnlich von den Mediensenken für jedes Paket zur Bestimmung einer Abspielzeit verwendet werden, kann die ungenaue und statistisch schwankende Zeit, die über die Zeitkennzeichnungen der Mediendatenpakete gekennzeichnet ist, zu den erwähnten Hörstörungen führen, da Mediendatenpakete, die demselben Stereosignal zugeordnet sind, von den verschiedenen Mediensenken zu verschiedenen Zeiten abgespielt werden können.The Problem of hearing can equally unreliable and imprecise timing information that is common in most non-real-time source devices Personal computers (PCs) or digital assistants (PDAs) occur. These devices assume that the global clock information (global time) all requirements specified by the application scenarios Fulfills. However, this may not be true. A non-real-time device usually receives an actual one Time (global time) for generating time tags for media data packets via a external connection, e.g. USB or RS232. Since the bus systems, the usually for this Type of external connection used, not for transmission with Guaranteed very short delivery times are designed, the timing information (global time) lose their accuracy, if this from the PC or PDA is used, e.g. for determining a time code for a Media data packet. This means that over a time tag marked global time of a media data packet with regard to on the actual global time to which the media data packet is actually sent will, can be wrong. Likewise, the time difference between two vary by means of two time markings, although the time difference between the two corresponding actual Global times do not vary. This may be because of the fact that the external connection for transmission the global time information to the application takes time can fluctuate. Because the time labels of the media data packets usually from the media sinks for each package can be used to determine a playtime can the inaccurate and statistically fluctuating time that over the Time tags of the media data packets is marked, too the mentioned Hearing impairments lead there Media data packets associated with the same stereo signal from played the different media sinks at different times can be.

Die Erfindung ist in den unabhängigen Patentansprüchen definiert.The Invention is in the independent claims Are defined.

Es ist eine Aufgabe der Erfindung, eine Medienquelle, eine Mediensenke und ein Medienverarbeitungssystem zum synchronen Abspielen von Mediendatenpaketen anzugeben als auch entsprechende Verfahren, mit denen diese Geräte arbeiten, so dass Hörstörungen selbst beim Abspielen in verschiedenen Mediensenken vermieden werden.It It is an object of the invention to provide a media source, a media sink and a media processing system for synchronously playing media data packets as well as appropriate procedures by which these devices work, so that hearing impairment itself be avoided when playing in different media sinks.

Eine Medienquelle zur Lösung der Aufgabe der Erfindung gemäß einer ersten Ausführungsform der Erfindung ist in Patentanspruch 1 definiert, eine Mediensenke ist in Patentanspruch 5 definiert und ein Medienverarbeitungssystem ist in Patentanspruch 10 definiert. Entsprechende Verfahren gemäß der ersten Ausführungsform sind in den Patentansprüchen 17, 21 und 26 definiert. Bevorzugte Ausführungsformen sind jeweils in den entsprechenden nachfolgenden Unteransprüchen beschrieben. Eine Medienquelle zur Lösung der Aufgabe der Erfindung gemäß einer zweiten Ausführungsform der Erfindung ist in Patentanspruch 11 definiert, eine Mediensenke ist in Patentanspruch 14 definiert und ein Medienverarbeitungssystem ist in Patentanspruch 16 definiert. Entsprechende Verfahren gemäß der zweiten Ausführungsform sind in den Patentansprüchen 27, 30 und 32 definiert. Bevorzug te Ausführungsformen hiervon sind in den zugehörigen Unteransprüchen beschrieben.A Media source to the solution the object of the invention according to a first embodiment of the The invention is defined in claim 1, which is a media sink in claim 5 and defined a media processing system is defined in claim 10. Corresponding methods according to the first embodiment are in the claims 17, 21 and 26 defined. Preferred embodiments are each in the corresponding subclaims below. A media source to the solution the object of the invention according to a second embodiment The invention is defined in claim 11, which is a media sink in claim 14 and a media processing system is defined in claim 16. Corresponding method according to the second embodiment are in the claims 27, 30 and 32 defined. Favor te embodiments thereof are in the associated Subclaims described.

Somit wird die Aufgabe der Erfindung von zwei verschiedenen Ausführungsformen gelöst, denen eine gemeinsame erfinderische Idee zur Lösung zugrunde liegt. In beiden Ausführungsformen wird eine gemeinsame Abspielzeit bestimmt und jedem Mediendatenpaket zugeordnet und das Mediendatenpaket wird von einer Mediensenke exakt zu dieser gemeinsamen Abspielzeit abgespielt. In der ersten Ausführungsform wird die gemeinsame Abspielzeit von den Mediensenken durch Addieren eines Abspielzeitversatzes zu der Zeit, auf die über eine Zeitkennzeichnung eines Mediendatenpakets hingewiesen wird, bestimmt. Der Abspielzeitversatz wird von der Medienquelle bestimmt und den Mediensenken übermittelt. In der zweiten Ausführungsform wird die gemeinsame Abspielzeit von der Medienquelle für jedes Paket bestimmt und zusammen mit jedem Mediendatenpaket in der Form einer entsprechenden Zeitkennzeichnung ausgesendet.Consequently The object of the invention of two different embodiments solved, which is based on a common inventive idea for the solution. In both embodiments a common playback time is determined and each media data packet and the media data packet becomes exact from a media sink played at this common playing time. In the first embodiment Add the common play time from the media sinks a playtime offset at the time, over the time stamp a media data packet is determined determined. The play time offset is determined by the media source and sent to the media sinks. In the second embodiment will be the common playback time from the media source for each Package determined and along with each media data packet in the form a corresponding time code sent out.

Lösung gemäß der ersten Ausführungsform der Erfindung:
Eine Medienquelle gemäß der Erfindung eignet sich zum Aussenden von zeitlich gekennzeichneten Mediendatenpaketen, insbesondere an ein oder mehrere empfangende Mediensenken wie unten definiert, wobei die Zeitkennzeichnung jedes Mediendatenpakets auf den Zeitpunkt zum Erzeugen des entsprechenden Mediendatenpakets hinweist, zum Bestimmen eines Abspielzeitversatzes und zum Aussenden des Abspielzeitversatzes geeignet ist, insbesondere an die eine oder mehreren empfangenden Mediensenke(n) wie unten definiert.
Solution according to the first embodiment of the invention:
A media source according to the invention is suitable for broadcasting time-tagged media data packets, in particular to one or more receiving media sinks as defined below, wherein the time tag of each media data packet is indicative of the time to generate the corresponding media data packet, is suitable for determining a playtime offset, and for broadcasting the playtime offset, in particular to the one or more receiving media sink (s) as defined below.

Vorzugsweise weist die erfindungsgemäße Medienquelle einen Abtasttakt zum Ermitteln einer Abtasttaktzeit auf, diese ist zum Bestimmen einer globalen Uhrzeit geeignet sowie zum Aussenden eines Steuerpakets von Zeit zu Zeit, insbesondere an die eine oder mehreren empfangenden Mediensenke(n), wie unten definiert, wobei das Steuerpaket zwei Steuerpaketzeitkennzeichnungen aufweist, die auf denselben Zeitpunkt hinweisen, wobei dessen erste Steuerpaketzeitkennzeichnung in Zeiteinheiten der globale Uhrzeit gemessen oder definiert wird und dessen zweite Steuerpaketzeitkennzeichnung in Zeiteinheiten der Abtasttaktzeit gemessen oder definiert wird.Preferably has the media source according to the invention a sampling clock for determining a sampling clock time, this is suitable for determining a global time as well as for sending a tax package from time to time, in particular to the one or a plurality of receiving media sink (s) as defined below, wherein the control packet has two control packet time identifiers, the indicate the same time, with its first tax package time flag in time units, the global time is measured or defined and its second control packet time identifier in units of time the sampling cycle time is measured or defined.

Des Weiteren weist die Zeitkennzeichnung eines Mediendatenpakets in vorteilhafter Weise auf den Zeitpunkt zum Erzeugen des zeitlich gekennzeichneten Mediendatenpakets in Zeiteinheiten der Abtasttaktzeit hin. Ebenso ist das Mediendatenpaket vorzugsweise zum Aussenden des Mediendatenpakets an zwei oder mehrere empfangende Mediensenken gestaltet.Of Further, the time tag of a media data packet in Advantageously, the time to generate the time marked media data packets in units of time of sampling cycle time out. Likewise, the media data packet is preferably for broadcasting the media data packet to two or more receiving media sinks designed.

Eine Mediensenke gemäß der Erfindung eignet sich zum Empfangen von zeitlich gekennzeichneten Mediendatenpaketen, insbesondere von einer wie oben definierten Medienquelle, sowie zum Bestimmen eines Abspielzeitversatzes, zum präzisen Bestimmen einer globalen Uhrzeit, zum Bestimmen einer gemeinsamen Abspielzeit für jedes empfangene zeitlich gekennzeichnete Mediendatenpaket durch Addieren der Zeit, auf die durch die Zeitkennzeichnung des zeitlich gekennzeichneten Mediendatenpakets hingewiesen wird, und des Abspielzeitversatzes, und zum Abspielen jedes empfangenen zeitlich gekennzeichneten Mediendatenpakets genau dann, wenn die bestimmte gemeinsame Abspielzeit für das empfangene zeitlich gekennzeichnete Mediendatenpaket erreicht ist.A Media sink according to the invention is suitable for receiving time-marked media data packets, in particular of a media source as defined above, and for determining a play time offset, for precisely determining a global time Time to determine a common playing time for each received time-tagged media data packet by adding the time indicated by the time stamp of the time marked The media data packet, and the playback time offset, and for playing each received time-tagged media data packet if and only if the certain common playing time for the received timed media data packet is reached.

Die Mediensenke eignet sich zum einmaligen Empfangen des Abspielzeitversatzes, insbesondere von einer wie oben definierten Medienquelle. Alternativ hierzu eignet sich die Mediensenke zum Empfangen eines Steuerpakets, insbesondere von einer wie oben definierten Medienquelle, mit einer ersten Steuerpaketzeitkennzeichnung als Hinweis auf einen bestimmten Zeitpunkt, der in Zeiteinheiten einer Abtastzeit gemessen oder definiert wird, sowie einer zweiten Steuerpaketzeitkennzeichnung als Hinweis auf denselben bestimmten Zeitpunkt, der in Zeiteinheiten einer globalen Uhrzeit gemessen oder definiert wird, und zum Umwandeln einer Zeit, auf die mittels einer Zeitkennzeichnung eines zeitlich gekennzeichneten Mediendatenpakets hingewiesen wird und die in Einheiten einer Abtasttaktzeit gemessen oder definiert wird, in eine Zeit, die in Einheiten einer globalen Uhrzeit gemessen oder definiert wird basierend auf der Information der ersten und zweiten Steuerpaketzeitkennzeichnung.The Media sink is suitable for receiving the playback time offset once, in particular from a media source as defined above. alternative for this, the media sink is suitable for receiving a control packet, in particular of a media source as defined above, with a first Tax package time stamp indicating a specific time, measured or defined in units of time of a sampling time, and a second control packet time identifier as an indication the same specific time, which in time units of a global Time is measured or defined, and to convert a time, on the time marked by means of a time tag Media data packet is pointed out and in units of sampling cycle time is measured or defined in a time in units of one global time is measured or defined based on the Information of the first and second control packet time identification.

In einer bevorzugten Ausführungsform weist die Mediensenke einen Puffer auf zum Speichern von Mediendatenpaketen, bis die gemeinsame Abspielzeit erreicht ist.In a preferred embodiment the media sink has a buffer for storing media data packets, until the combined playing time is reached.

Ein Medienverarbeitungssystem gemäß der Erfindung weist eine wie oben definierte Medienquelle als auch eine wie oben definierte Mediensenke auf.One Media processing system according to the invention has a media source as defined above as well as one as above defined media sink on.

Ein Verfahren gemäß der ersten Ausführungsform der Erfindung, welches sich für eine Medienquelle eignet, weist die Schritte auf: Aussenden von zeitlich gekennzeichneten Mediendatenpaketen, insbesondere an eine oder mehrere empfangende Mediensenke(n), wobei die Zeitkennzeichnung jedes Mediendatenpakets auf den Zeitpunkt zum Erzeugen des entsprechenden Mediendatenpakets hinweist, Bestimmen eines Abspielzeitversatzes, und Aussenden des Abspielzeitversatzes, insbesondere an die eine oder mehrere Mediensenke(n).One Method according to the first embodiment the invention, which is suitable for a media source, includes the steps of: broadcasting temporally marked media data packets, in particular to a or multiple receiving media sink (s), with time stamping each media data packet at the time to generate the corresponding Indicating media data packets, determining a playtime offset, and transmitting the playback time offset, in particular to the one or more media sink (s).

In vorteilhafter Weise werden die folgenden Schritte ausgeführt: Bestimmen einer Abtasttaktzeit, Bestimmen einer globalen Uhrzeit, und Aussenden eines Steuerpakets von Zeit zu Zeit an die eine oder mehreren empfangenden Mediensenke(n), wobei das Steuerpaket zwei Steuerpaketzeitkennzeichnungen aufweist, die auf denselben Zeitpunkt hinweisen, und wobei dessen erste Steuerpaketzeitkennzeichnung in Zeiteinheiten der globalen Uhrzeit gemessen oder definiert wird und dessen Steuerpaketzeitkennzeichnung in Zeiteinheiten der Abtasttaktzeit gemessen oder definiert wird.In Advantageously, the following steps are performed: determining a sampling clock time, determining a global time, and sending out a Tax packages from time to time to the one or more receiving Media sink (s), wherein the control package has two control packet time identifiers having the same time point, and wherein the first tax package time designation in units of global time Time is measured or defined and its tax package time identification is measured or defined in units of time of sampling cycle time.

Es ist des Weiteren von Vorteil, dass die Zeitkennzeichnung eines Mediendatenpakets auf den Zeitpunkt zum Erzeugen des zeitlich gekennzeichneten Mediendatenpakets in Zeiteinheiten der Abtasttaktzeit hinweist. Ebenso ist es von Vorteil, dass dieselben Mediendatenpakete an zwei oder mehrere verschiedene empfangende Mediensenken ausgesendet werden.It It is further advantageous that the time tag of a media data packet to the time for generating the timewise media data packet in units of time of sample clock time. Likewise, it is from Advantage that the same media data packets to two or more different receiving media sinks are sent out.

Ein Verfahren gemäß der ersten Ausführungsform der Erfindung zum synchronen Abspielen von Mediendatenpaketen, insbesondere für eine Mediensenke, weist die folgenden Schritte auf: Empfangen von zeitlich gekennzeichneten Mediendatenpaketen, insbesondere von einer Medienquelle, Bestimmen eines Abspielzeitversatzes, präzises Bestimmen einer globalen Uhrzeit, Bestimmen einer gemeinsamen Abspielzeit für jedes empfangene zeitlich gekennzeichnete Mediendatenpaket durch Addieren der Zeit, auf die durch die Zeitkennzeichnung des zeitlich gekennzeichneten Mediendatenpakets hingewiesen wird, sowie des Abspielzeitversatzes, und Abspielen jedes empfangenen zeitlich gekennzeichneten Mediendatenpakets genau dann, wenn die bestimmte gemeinsame Abspielzeit für das empfangene zeitlich gekennzeichnete Mediendatenpaket erreicht ist.A method according to the first embodiment of the invention for the synchronous playback of media data packets, in particular for a media sink, comprises the following steps: receiving time-tagged media data packets, in particular from a media source, determining a playback time offset, precise destination a global time, determining a common play time for each received time-tagged media data packet by adding the time pointed to by the time tag of the time-tagged media data packet and the play time offset, and playing each received time-tagged media data packet if and only if the particular one is common Play time for the received time-tagged media data packet is reached.

In vorteilhafter Weise wird der Abspielzeitversatz einmalig empfangen, insbesondere von einer Medienquelle oder dieser wird mit wenigstens einer weiteren Mediensenke ausgetauscht.In Advantageously, the playback time offset is received once, in particular from a media source or this is at least exchanged another media sink.

Zudem werden in vorteilhafter Weise die folgenden Schritte ausgeführt: Empfangen eines Steuerpakets, insbesondere von einer Medienquelle gemäß einem der Ansprüche 1 bis 4, umfassend eine erste Steuerpaketzeitkennzeichnung zum Hinweisen auf einen bestimmten Zeitpunkt, der in Zeiteinheiten einer Abtastzeit gemessen oder definiert wird, sowie einer zweiten Steuerpaketzeitkennzeichnung zum Hinweisen auf denselben bestimmten Zeitpunkt, der in Zeiteinheiten einer globalen Uhrzeit gemessen oder definiert wird, und zum Umwandeln einer Zeit, auf die mittels einer Zeitkennzeichnung eines zeitlich gekennzeichneten Mediendatenpakets hingewiesen wird und die in Einheiten einer Abtasttaktzeit gemessen oder definiert wird, in eine Zeit, die in Einheiten einer globalen Uhrzeit gemessen oder definiert wird basierend auf der Information der ersten und zweiten Steuerpaketzeitkennzeichnung.moreover The following steps are advantageously carried out: receiving a control packet, in particular from a media source according to a the claims 1-4, comprising a first control packet time tag for indicating a certain time, in units of time of a sampling time measured or defined, as well as a second control packet time label for pointing to the same particular time, in units of time a global time is measured or defined, and to convert a time, to which by means of a time marking of a temporally marked Media data packet is pointed out and in units of sampling cycle time is measured or defined in a time in units of one global time is measured or defined based on the Information of the first and second control packet time identification.

In vorteilhafter Weise werden die Mediendatenpakete in einem Puffer gespeichert, bis die gemeinsame Abspielzeit erreicht ist.In Advantageously, the media data packets are in a buffer stored until the combined playing time is reached.

Bei einem Verfahren gemäß der ersten Ausführungsform der Erfindung zum synchronen Abspielen von Mediendatenpaketen, das für ein Medienverarbeitungssystem geeignet ist, werden die für eine wie oben definierte Medienquelle vorgesehenen Verfahrensschritte und die für eine wie oben definierte Mediensenke vorgesehenen Verfahrensschritte ausgeführt.at a method according to the first embodiment the invention for the synchronous playback of media data packets, the for a Media processing system is suitable for a like above-defined media source provided method steps and the for a method step as defined above media sink executed.

Lösung gemäß der zweiten Ausführungsform der Erfindung:
Eine Medienquelle zur Lösung der Aufgabe der Erfindung gemäß der zweiten Ausführungsform der Erfindung eignet sich zum Bestimmen eines Abspielzeitversatzes und zum Bestimmen einer gemeinsamen Abspielzeit durch Addieren des Abspielzeitversatzes zu einer gegenwärtigen Zeit und diese eignet sich zum Aussenden von zeitlich gekennzeichneten Mediendatenpaketen, insbesondere an eine oder mehrere empfangenden Mediensenke(n) wie unten definiert, wobei die Zeitkennzeichnung eines zeitlich gekennzeichneten Mediendatenpakets auf die gemeinsame Abspielzeit des Mediendatenpakets hinweist.
Solution according to the second embodiment of the invention:
A media source for achieving the object of the invention according to the second embodiment of the invention is suitable for determining a playback time offset and determining a common playback time by adding the playback time offset at a present time and suitable for broadcasting time-tagged media data packets, in particular one or more receiving media sink (s) as defined below, wherein the time stamping of a timed media data packet indicates the common playing time of the media data packet.

In vorteilhafter Weise weist die Medienquelle einen Abtasttakt zum Bestimmen einer Abtasttaktzeit auf, und diese eignet sich zum Berechnen der gegenwärtigen Zeit durch einmaliges Lesen einer globalen Uhrzeit und Addieren der Zeitperioden des Abtasttaktes zu der einmalig gelesenen globalen Uhrzeit. Zusätzlich eignet sich die Medienquelle vorzugsweise zum Aussenden desselben Mediendatenpakets an zwei oder mehrere verschiedene empfangende Mediensenken.In Advantageously, the media source to a sampling clock to Determining a sample clock time, and this is suitable for calculation the current one Time by reading a global time once and adding the time periods of the sampling clock to the once read global Time. additionally The media source is preferably suitable for broadcasting the same Media data packets to two or more different recipients Media sinks.

Eine Mediensenke gemäß der zweiten Ausführungsform der Erfindung eignet sich zum Empfangen zeitlich gekennzeichneter Mediendatenpakete, insbesondere von einer Medienquelle wie oben definiert, diese eignet sich ebenso zum präzisen Bestimmen einer globalen Uhrzeit und zum Bestimmen einer gemeinsamen Abspielzeit für jedes empfangene zeitlich gekennzeichnete Mediendatenpaket, wobei die Abspielzeit die Zeit kennzeichnet, auf die mittels der Zeitkennzeichnung des zeitlich gekennzeichneten Mediendatenpakets hingewiesen wird. Vorzugsweise weist die Mediensenke einen Puffer auf zum Speichern von Mediendatenpaketen, bis die gemeinsame Abspielzeit erreicht ist.A Media sink according to the second embodiment The invention is suitable for receiving temporally marked Media data packets, in particular from a media source as above This is also suitable for precisely determining a global one Time and to determine a common playing time for each received time-tagged media data packet, wherein the Play time indicates the time to which by means of time stamping of the time-tagged media data packet. Preferably, the media sink has a buffer for storage of media data packets until the combined playing time is reached is.

Ein Medienverarbeitungssystem gemäß der zweiten Ausführungsform der Erfindung weist eine wie oben für die zweite Ausführungsform der Erfindung definierte Medienquelle als auch eine wie oben für die zweite Ausführungsform der Erfindung definierte Mediensenke auf.One Media processing system according to the second embodiment The invention has one as above for the second embodiment The invention defined media source as well as one as above for the second embodiment to the invention defined media sink.

Ein für eine Medienquelle vorgesehenes Verfahren gemäß der zweiten Ausführungsform der Erfindung zum synchronen Abspielen von Mediendatenpaketen weist die folgenden Schritte auf: Bestimmen eines Abspielzeitversatzes und einer gemeinsamen Abspielzeit durch Addieren des bestimmten Abspielzeitversatzes zu einer gegenwärtigen Zeit, und Aussenden der zeitlich gekennzeichneten Mediendatenpakete, insbesondere an eine oder mehrere empfangende Mediensenke(n), wobei die Zeitkennzeichnung eines zeitlich gekennzeichneten Mediendatenpakets auf die gemeinsame Abspielzeit des Mediendatenpakets hinweist.One for one Media source provided method according to the second embodiment the invention for the synchronous playback of media data packets has the following steps: determining a playtime offset and a common playing time by adding the particular one Play time offset at a current time, and send out the temporally marked media data packets, in particular to one or more receiving media sink (s), the time stamp of a timed media data packet to the common Playback time of the media data packet.

In vorteilhafter Weise werden die folgenden Schritte ausgeführt: Bestimmen einer Abtasttaktzeit und Berechnen der gegenwärtigen Zeit durch einmaliges Lesen einer globalen Uhrzeit und Addieren von mittels der Abtasttaktzeit gegebenen Zeitperioden zu der einmalig gelesenen globalen Uhrzeit. Des Wei teren werden in vorteilhafter Weise dieselben Mediendatenpakete an zwei oder mehrere verschiedene empfangende Mediensenken gesendet.Advantageously, the following steps are performed: determining a sample clock time and calculating the current time by reading a global time once and adding time periods given by the sample clock time to the one time read global time. In addition, the same media data packets advantageously become two or more different Receiving media sinks sent.

Ein für eine Mediensenke vorgesehenes Verfahren zum synchronen Abspielen von Mediendatenpaketen gemäß der zweiten Ausführungsform der Erfindung weist die folgenden Schritte auf: Empfangen von zeitlich gekennzeichneten Mediendatenpaketen, insbesondere von einer Medienquelle, präzises Bestimmen einer globalen Uhrzeit und Bestimmen einer gemeinsamen Abspielzeit für jedes empfangene zeitlich gekennzeichnete Mediendatenpaket, wobei die gemeinsame Abspielzeit die Zeit ist, auf die durch die Zeitkennzeichnung des zeitlich gekennzeichneten Mediendatenpakets hingewiesen wird.One for one Media sink provided method for synchronous playback of Media data packets according to the second embodiment The invention comprises the following steps: receiving time marked media data packets, in particular from a media source, precise Determine a global time and determine a common time Play time for each received time-tagged media data packet, wherein the common playing time is the time spent on the time stamping of the time-tagged media data packet.

Vorzugsweise werden Mediendatenpakete in einem Puffer gespeichert, bis die gemeinsame Abspielzeit erreicht ist.Preferably Media data packets are stored in a buffer until the common Play time is reached.

Ein für ein Medienverarbeitungssystem vorgesehenes Verfahren zum synchronen Abspielen von Mediendatenpaketen gemäß der zweiten Ausführungsform der Erfindung weist die für eine Medienquelle vorgesehenen Verfahrensschritte und die für eine Mediensenke vorgesehenen Verfahrensschritte auf.One for a Media processing system provided for synchronous Playing media data packets according to the second embodiment the invention has the a media source provided method steps and the for a media sink provided method steps.

Somit können Mediensenken erfindungsgemäß Mediendatenpakete exakt synchronisiert abspielen, da eine gemeinsame Abspielzeit bestimmt wird und einem entsprechenden Mediendatenpaket zugeordnet wird und die Mediendatenpakete werden exakt zu dieser Abspielzeit in jeder Mediensenke abgespielt. Das exakte zeitliche Abspielen über die Mediensenken ist möglich, da die Mediensenken die globale Uhrzeit präzise bestimmen und gewöhnlich spezifische Hardware verwenden, die keine langen Verarbeitungszeiten mit sich bringt, d.h. die Mediensenken sind eng an die globale Uhrzeit gekoppelt. Die gemeinsame Abspielzeit ist an eine einmal gelesene globale Uhrzeit gekoppelt, so dass keine Zeitdifferenzen zwischen zwei Zeiten bestehen, auf die mittels zweier Zeitkennzeichnungen von verschiedenen Mediendatenpaketen hingewiesen wird. Dies ist jedoch bei bekannten Systemen wie oben erwähnt der Fall. Die erfindungsgemäße Medienquelle kann andererseits hinsichtlich der Genauigkeit lediglich begrenzten Zugang zur globalen Uhrzeit aufweisen, da der addierte Abspielzeitversatz derart gewählt werden kann, dass diese Ungenauigkeit im jeweiligen Falle kompensiert wird.Consequently can Media sinks according to the invention media data packets play exactly synchronized, since a common playback time is determined and a corresponding media data packet is assigned and the Media data packets will be exactly at this playback time in each media sink played. The exact time playback on the media sinks is possible because The media sinks precisely determine the global time, and usually specific ones Use hardware that does not involve long processing times brings, i. the media sinks are closely linked to global time. The common playing time is at a once read global time coupled, so there are no time differences between two times, to the means of two time tags of different media data packets is pointed out. However, this is the case with known systems as above mentioned the case. The media source according to the invention On the other hand, it can only be limited in terms of accuracy Have access to the global time since the added playtime offset chosen like that can be compensated for this inaccuracy in each case becomes.

Die Erfindung und vorteilhafte Details derselbigen werden im Folgenden anhand beispielhafter Ausführungsformen mit Bezug zu den begleitenden Abbildungen erläutert.The Invention and advantageous details thereof are hereafter using exemplary embodiments with reference to the accompanying drawings.

1 zeigt ein Beispiel eines Szenarios, bei dem eine Medienquelle zeitlich gekennzeichnete Mediendatenpakete an zwei Mediensenken sendet; 1 shows an example of a scenario in which a media source sends timed media data packets to two media sinks;

2 zeigt den Zugriff der Medienquelle und n Mediensenken auf dieselbe globale Uhrzeit; 2 shows the access of the media source and n media sinks to the same global time;

3 zeigt ein Flussdiagramm zur Erläuterung des Prozesses des Aussendens von Mediendatenpaketen von einer Medienquelle an zwei Mediensenken, die die Mediendatenpakete empfangen und verarbeiten; 3 Fig. 12 is a flowchart for explaining the process of sending media data packets from a media source to two media sinks receiving and processing the media data packets;

4 zeigt ein Beispiel, bei dem ein PC als Medienquelle und zwei Lautsprecher als Mediensenken verwendet werden; 4 shows an example in which one PC is used as the media source and two speakers are used as the media sinks;

5 zeigt ein Flussdiagramm zur Erläuterung der Wechselwirkung zwischen der Medienquelle und der Mediensenke, wobei Steuerpakete gemäß dem RTP-Standard verwendet werden; 5 shows a flow chart for explaining the interaction between the media source and the media sink, wherein control packets are used according to the RTP standard;

6 zeigt ein Flussdiagramm zur Erläuterung der Wechselwirkung zwischen der Medienquelle und der Mediensenke gemäß einer ersten alternativen Ausführungsform der Erfindung; und 6 shows a flow chart for explaining the interaction between the media source and the media sink according to a first alternative embodiment of the invention; and

7 zeigt eine zweite alternative Ausführungsform der Erfindung, wobei die Mediensenken untereinander einen Abspielzeitversatz austauschen. 7 shows a second alternative embodiment of the invention, wherein the media sinks exchange a playback time offset with each other.

1 zeigt das grundlegende Szenario einer Medienverteilperiode mit zwei synchronisierten Mediensenken, d.h. einer ersten Mediensenke 1 und einer zweiten Mediensenke 2. Die Medienquelle 101 überträgt ein erstes zeitlich gekennzeichnetes Mediendatenpaket 1021 an die erste Mediensenke 1 und ein zweites zeitlich gekennzeichnetes Mediendatenpaket 1022 an die zweite Mediensenke 2. Die Zeitkennzeichnung eines Mediendatenpakets weist auf die Zeit hin, zu der das Mediendatenpaket von der Quelle erzeugt wurde. Die erste Mediensenke 1 und die zweite Mediensenke 2 decodieren die Medienda tenpakete im Fall von codierten Daten. Die Daten werden dann in entsprechende Puffer gespeichert, d.h. einem ersten Puffer 1041 der ersten Mediensenke 1 und einem zweiten Puffer 1042 der zweiten Mediensenke 2, bis die gemeinsame Abspielzeit 105 für das entsprechende Paket erreicht ist. Diese gemeinsame Abspielzeit 105 wird von den Mediensenken für jedes Paket bestimmt, indem ein einmalig ermittelter Abspielzeitversatz der Zeit hinzugefügt wird, auf die mittels der Zeitkennzeichnung eines Mediendatenpakets hingewiesen wird. Wird die gemeinsame Abspielzeit 105 für ein Paket erreicht, so wird das Mediendatenpaket von der Mediensenke abgespielt. In dem Beispiel von 1 kennzeichnen die Zeitkennzeichnungen des ersten Mediendatenpakets 1021 und des zweiten Mediendatenpakets 1022 denselben Zeitpunkt. Deshalb werden diese Mediendatenpakets von der ersten Mediensenke 1 und der zweiten Mediensenke 2 zu exakt demselben Zeitpunkt abgespielt. 1 shows the basic scenario of a media distribution period with two synchronized media sinks, ie a first media sink 1 and a second media sink 2 , The media source 101 transmits a first time-tagged media data packet 1021 to the first media sink 1 and a second timed media data packet 1022 to the second media sink 2 , The time tag of a media data packet indicates the time at which the media data packet was generated by the source. The first media sink 1 and the second media sink 2 decode the media data packets in the case of coded data. The data is then stored in corresponding buffers, ie a first buffer 1041 the first media sink 1 and a second buffer 1042 the second media sink 2 until the common playtime 105 for the corresponding package is reached. This common playing time 105 is determined by the media sinks for each packet by adding a uniquely determined playback time offset to the time indicated by the time tag of a media data packet. Will the common playtime 105 reached for a packet, the media data packet is played from the media sink. In the example of 1 identify the time labels of the first media data packet 1021 and the second media data packet 1022 the same time. Therefore, these media data packets are from the first media sink 1 and the second media sink 2 played at exactly the same time.

Der Abspielzeitversatz muss zwischen der Medienquelle 101 und allen Senken einer Medienperiode (hier: Der ersten Mediensenke 1 und der zweiten Mediensenke 2) ausgetauscht werden, wobei die Übertragungszeitperioden, die Decodierungszeitperioden, die verfügbaren Puffergrößen und eine möglicherweise lockere Synchronisation der Medienquelle 101 an eine globale Uhrzeit berücksichtigt werden.The playback time offset must be between the media source 101 and all sinks of a media period (here: the first media sink 1 and the second media sink 2 ), the transmission time periods, the decoding time periods, the available buffer sizes and possibly loose synchronization of the media source 101 be taken into account at a global time.

Hinsichtlich der Takte wird angenommen, dass in einem Medien-Streaming-Gerät zwei Takte verfügbar (zugänglich) sind: Der Abtasttakt und die globale Uhrzeit (globaler Takt). Der Abtasttakt stellt denjenigen Takt dar, der inhärent im Mediendatenstrom vorliegt. Im Falle einer CD als Beispiel einer Quelle eines Audiodatenstroms läuft dieser Abtasttakt mit 44,1 kHz. Die globale Uhrzeit lässt sich von allen Quellen- und Senken-Geräten, welche in die Medienperiode eingebunden sind, lesen. Für IP-Netzwerke beschreibt das Network Time Protocol (NTP) wie ein NTP-Takt durch ein Netzwerk hindurch aufrecht erhalten werden kann. Für Anwendungen mit strengen Anforderungen, wie beim Synchronisieren von zwei Stereokanälen, kann die Genauigkeit und Taktauflösung eines solchen NTP-Taktes möglicherweise nicht ausreichend sein. Deshalb wird angenommen, dass ein Takt mit einer weitaus höheren Genauigkeit und Auflösung verfügbar ist. Dies ist in einigen drahtlosen Systemen der Fall, die einen gemeinsamen Takt für alle gleichgestellten Partner im Kommunikationssystem zur Ausführung eines synchronisierten Frequenzspringens erfordern. Ein Beispiel für ein solches drahtloses System ergibt sich aus der Bluetooth-Spezifikation, bei der alle Teilnehmer eines Piconet einen gemeinsamen Takt aufrecht erhalten. Die Zeit des gemeinsamen Taktes lässt sich von den Medienanwendungen als globale Uhrzeit verwenden. Gewöhnlich werden die Abtasttaktzeit und die globale Uhrzeit in verschiedenen Einheiten gemessen. Beispielsweise kann die globale Uhrzeit in Einheiten von Mikrosekunden ticken, wobei der Abtasttakt in Einheiten einzelner Samples als kleinste Einheit ticken kann.Regarding of beats it is assumed that in a media streaming device two beats are available (accessible) are: the sampling clock and the global time (global clock). Of the Sample Clock represents the clock inherent in the media data stream. In the case of a CD as an example of a source of audio data stream this one is running Sampling clock with 44.1 kHz. The global time can be set by all source and sink devices, who are involved in the media period, read. For IP networks describes the Network Time Protocol (NTP) as an NTP clock through a network can be maintained throughout. For applications with stringent requirements, such as synchronizing two stereo channels the accuracy and clock resolution of such an NTP clock may be not be enough. Therefore, it is assumed that a clock with a much higher accuracy and resolution available is. This is the case in some wireless systems, the one common tact for all peer partners in the communication system to execute a require synchronized frequency hopping. An example of such wireless system results from the Bluetooth specification, at All participants of a Piconet maintain a common tact. The time of the common clock can be determined by the media applications use as global time. Usually the sampling clock time and the global time measured in different units. For example can tick the global time in units of microseconds, where the sampling clock is in units of individual samples as the smallest Unit can tick.

Hinsichtlich der Zeitkennzeichnungen wird angenommen, dass diese auf die in RTP beschriebene Weise verwendet werden. Dies bedeutet, dass eine Zeitkennzeichnung eines Mediendatenpakets den Zeitpunkt spezifiziert, zu dem das erste Sample des Pakets in Zeiteinheiten des Abtasttaktes erzeugt wurde. Zusätzlich zum Mediendatenstrom, welcher die Mediendatenpakete gemäß RTP überträgt, werden Steuerpakete zwischen den Teilnehmern, d.h. zwischen den Medienquellen und den Mediensenken eines Datenstroms, ausgetauscht. Diese Steuerpakete enthalten keine Mediendaten, jedoch abgesehen von weiterer Information zwei Zeitkennzeichnungen, die denselben Zeitpunkt kennzeichnen, wobei eine Zeitkennzeichnung auf die Zeit in Zeiteinheiten des Abtasttaktes hinweist und die andere Zeitkennzeichnung auf denselben Zeitpunkt in Zeiteinheiten der globalen Uhrzeit hinweist. Mit dieser Information kann eine Mediensenke eine Abtasttaktzeit bestimmen, falls eine globale Uhrzeit gegeben ist, und umgekehrt kann diese eine globale Uhrzeit bestimmen, falls eine Abtasttaktzeit gegeben ist. Deshalb erfüllen die Steuerpakete die Funktion der Verknüpfung zwischen der Abtasttaktzeit der Quellen und der globalen Uhrzeit. Es ist somit für eine Mediensenke möglich, den Zeitpunkt zu bestimmen, in dem ein Mediendatenpaket in Zeiteinheiten der globalen Uhrzeit erzeugt wurde, indem die Zeit, auf die über die in Zeiteinheiten des Abtasttaktes gegebene Zeitkennzeichnung des Mediendatenpakets hingewiesen wird, umgewandelt wird.Regarding The time tags are assumed to be the same as in RTP be used described manner. This means that a time stamp of a media data packet specifies the time at which the first Sample of the packet was generated in units of time of the sample clock. additionally to the media data stream which transmits the media data packets according to RTP Control packets between the participants, i. between the media sources and the media sinks of a data stream. These tax packages contain no media data, but apart from further information two time identifiers that mark the same time, wherein a time tag is the time in units of time of the sample clock indicates and the other time stamping at the same time in time units of the global time. With this information can determine a media sink a sample clock time, if global Time is given, and vice versa, this can be a global time determine if a sample clock time is given. That is why the Control packets the function of the link between the sample clock time the sources and the global time. It is thus for a media sink possible, determine the time at which a media data packet is in units of time the global time was generated by the time over which the in time units of the sample clock given time tag of the Media data packets is being converted.

In 2 wird die Annahme getroffen, dass eine globale Uhrzeit 201 der Medienquelle 202 und allen n Mediensenken, d.h. den Mediensenken 203-1, 203-2, ..., 203-n zugängig ist. Diese globale Uhrzeit kann beispielsweise der Zeit des Taktes entsprechen, der von digitalen Bussystemen oder drahtlosen digitalen Übertragungssystemen verwendet wird. Zudem wird angenommen, dass dieser Takt die Anforderungen hinsichtlich der Genauigkeit und Auflösung im Hinblick auf die gewünschte Synchronisation erfüllt. Typischer Weise ist dieser Takt sehr nahe an der Bitübertragungsschicht, z.B. im Basisband eines derartigen Übertragungssystems, positioniert. Für Geräte allgemeiner Verwendung wie einem PC oder einem PDA 202 bedeutet dies, dass ein derartiger Takt extern liegt und lediglich über eine externe Verbindung 204, z.B. USB oder RS232, zugängig ist. Ein Beispiel hierfür ist ein Bluetooth-Modul, das an einem PC über USB angeschlossen ist. Der Bluetooth-Basisbandtakt wird automatisch mit allen Geräten innerhalb eines Piconet synchronisiert, da diese Taktinformation zur Synchronisation des Frequenzspringens aller Piconet-Teilnehmer verwendet wird. Die systemeigene Bluetooth-Taktinformation muss dann von dem Bluetooth-Modul zum PC über das USB-Bussystem zugeführt werden.In 2 the assumption is made that a global time 201 the media source 202 and all n media sinks, ie the media sinks 203-1 . 203-2 , ..., 203-n is accessible. For example, this global time may correspond to the time of the clock used by digital bus systems or wireless digital transmission systems. In addition, it is believed that this clock meets the requirements for accuracy and resolution with respect to the desired synchronization. Typically, this clock is positioned very close to the physical layer, eg in the baseband of such a transmission system. For devices of general use such as a PC or a PDA 202 This means that such a clock is external and only via an external connection 204 , eg USB or RS232, is accessible. An example of this is a Bluetooth module connected to a PC via USB. The Bluetooth baseband clock is automatically synchronized with all devices within a piconet, as this clock information is used to synchronize the frequency hopping of all piconet subscribers. The native Bluetooth clock information must then be supplied from the Bluetooth module to the PC via the USB bus system.

Da die gewöhnlich für diese Art externer Verbindung genutzten Bussysteme nicht immer derart gestaltet sind, dass diese einen Transport mit sehr geringen garantierten Bereitstellungszeiten ermöglichen, kann die Taktinformation ihre Genauigkeit (Gültigkeit) verlieren, wenn diese durch ein solches Bussystem transportiert wird. Beispielsweise verliert eine Taktinformation einer Genauigkeit von einigen Mikrosekunden viel von ihrem Wert, falls diese durch ein Bussystem transportiert wird, das eine Verzögerung von einigen Millisekunden einbringt, insbesondere wenn diese Verzögerung Gegenstand einer zufälligen Schwankung von einigen Millisekunden ist, d.h. die Zeit, die z.B. zur Erzeugung einer Zeitkennzeichnung verwendet wird, kann möglicherweise ihre Gültigkeit verlieren. Zusätzlich führt ein Nicht-Echtzeitbetriebssystem 205, welches typischer Weise auf Mehrzweckgeräten wie PCs und PDAs läuft, zu noch mehr Ungenauigkeit der Taktinformation. In 2 kennzeichnet der Zickzack-Pfeil 206 durch die Ebenen der Medienquelle 202 diese Unsicherheit und Ungenauigkeit der Taktinformation, die von der Medienanwendung empfangen wird.Since the bus systems commonly used for this type of external connection are not always designed to allow transport with very low guaranteed provision times, the timing information may lose its accuracy (validity) when transported through such a bus system. For example, a clock information of a precision of a few microseconds loses much of its value if it is transported by a bus system that introduces a delay of a few milliseconds, especially if this delay is subject to a random fluctuation of a few milliseconds, ie the time, eg Generating a time tag may possibly lose its validity. In addition, a non-real-time operating system performs 205 which is typically More Purpose devices such as PCs and PDAs running, even more inaccuracy of the clock information. In 2 the zigzag arrow marks 206 through the levels of the media source 202 this uncertainty and inaccuracy of the timing information received by the media application.

Andererseits werden als Mediensenken, d.h. den n Mediensenken 203-1, 203-2, ..., 203-n typischer Weise Einzweckgeräte (eingebettete Geräte) verwendet, z.B. Lautsprecher. Derartige Einzweckgeräte können als eingebettetes System implementiert werden. Dies ermöglicht einen direkteren Pfad zur globalen Uhrzeit, d.h. die globale Uhrzeit lässt sich präzise bestimmen. Beispielsweise kann die Medienanwendung 207 auf dem Basisbandprozessor des Übertragungssystems ablaufen. Dies bedeutet, dass die Medienanwendung einen sehr direkten Zugang zum Takt ohne signifikante Verzögerung und ohne signifikante Unsicherheit hat. Deshalb ist eine präzise Taktinformation mit einer Genauigkeit von einigen Mikrosekunden für die Medienanwendung 207 der Mediensenke verfügbar, da diese nicht durch langsame Bussysteme transportiert werden muss. Der geradlinige Pfeil 208 mit den n Mediensenken 203-1, 203-2, ..., 203-n in 2 kennzeichnet diesen direkten Zugang.On the other hand, as media sinks, ie the n media sinks 203-1 . 203-2 , ..., 203-n Typically, single-purpose devices (embedded devices) used, eg speakers. Such single-purpose devices can be implemented as an embedded system. This allows a more direct path to the global time, ie the global time can be precisely determined. For example, the media application 207 run on the baseband processor of the transmission system. This means that the media application has very direct access to the clock with no significant delay and no significant uncertainty. Therefore, a precise clock information with an accuracy of a few microseconds for the media application 207 The media sink is available because it does not have to be transported by slow bus systems. The straight-line arrow 208 with the n media sinks 203-1 . 203-2 , ..., 203-n in 2 features this direct access.

Wie in 2 gezeigt ist, nutzt diese Erfindung den Umstand, dass mehrere Mediensenken, d.h. die n Mediensenken, untereinander aufgrund deren direkten Zugriff auf den globalen Takt (globale Uhrzeit) sehr fest synchronisiert werden können, wobei für das Quellengerät eine lockere Synchronisation zu den Senkengeräte akzeptabel ist. Beim kontinuierlichen Übertragen (Streaming) von Stereo-Audiodaten von einem CD-Spieler an zwei Lautsprecher kann die Verzögerung vom Senden eines Pakets vom CD-Spieler bis zum Abspielen in den Lautsprechern beispielsweise einige Millisekunden betragen, wobei jedoch die Verzögerung zwischen dem linken und rechten Lautsprecher lediglich einige Mikrosekunden betragen kann. Ein geeignetes Puffern in den Mediensenken kann deshalb diese Ungenauigkeit der Taktinformation auf der Quellenseite kompensieren. Da die verfügbare Taktinformation in der Medienquelle weniger genau und weniger zuverlässig ist als diejenige in der Mediensenke, kann die auf dieser Basis erzielte Synchronisation als "asymmetrische Synchronisation" bezeichnet werden.As in 2 As shown, this invention utilizes the fact that multiple media sinks, ie, the n media sinks, can be very tightly synchronized with each other due to their direct access to the global clock (global time), whereas loose synchronization with the sink devices is acceptable to the source device. For example, when continuously streaming stereo audio data from a CD player to two speakers, the delay from sending a packet from the CD player to playing in the speakers may be a few milliseconds, but with the delay between the left and right speakers can only be a few microseconds. Therefore, proper buffering in the media sinks can compensate for this inaccuracy of timing information at the source side. Since the available timing information in the media source is less accurate and less reliable than that in the media sink, the synchronization achieved on this basis may be referred to as "asymmetric synchronization."

Die globale Uhrzeit wird vorzugsweise einmalig auf der Quellenseite direkt am Anfang der kontinuierlichen Übertragungsperiode gelesen, um den Abtasttakt an die globale Uhrzeit zu koppeln. Diese Taktinformation lässt sich zum Erstellen der Zeitkennzeichnungen des ersten Steuerpakets verwenden, das an die Mediensenken übermittelt wird. Hinsichtlich der Zeitkennzeichnungen mit globaler Uhrzeit in nachfolgenden Steuerpaketen, lässt sich die Zeitdifferenz durch Zählen der Anzahl von Samples berechnen, anstatt die globale Uhrzeit erneut zu lesen. Dies ist darauf zurückzuführen, dass die Variation der Bereitstellungszeit der globalen Uhrzeitinformation gewöhnlich zu groß ist und zu Lücken oder Sprüngen beim Abspielen auf der Senkenseite führen würde.The global time is preferably unique on the source side read directly at the beginning of the continuous transmission period, to couple the sampling clock to the global time. This clock information let yourself use to create the time stamps of the first control packet, that sent to the media sinks becomes. Regarding the time codes with global time in subsequent control packets, the time difference can be by counting calculate the number of samples instead of the global time again to read. This is due to the fact that the variation of the provision time of the global time information usually is too big and to gaps or jumps when playing on the sink side would lead.

In 3 sendet die Medienquelle 101 Mediendatenpakete an die erste Mediensenke 1 und an die zweite Mediensenke 2. Zu Beginn des Ablaufs muss ein Abspielzeitversatz in einem Schritt 304 ausgehandelt (bestimmt) werden. Dieser ausgehandelte Abspielzeitversatz wird beiden Mediensenken übermittelt, d.h. der ersten Mediensenke 1 und der zweiten Mediensenke 2, und wird von den Mediensenken weiter zur Bestimmung einer gemeinsamen Abspielzeit für jedes Paket verwendet. Eine Zeitkennzeichnung eines Mediendatenpakets kennzeichnet den Zeitpunkt, zu dem ein Paket in Zeiteinheiten des Abtasttaktes erzeugt wurde. Zum Bestimmen einer gemeinsamen Abspielzeit, d. h. dem Zeitpunkt, zu dem eine Senke ein Mediendatenpaket physikalisch abzuspielen hat, wird die Zeit, auf die die Zeitkennzeichnung des Mediendatenpakets hinweist, in eine globale Uhrzeit in Zeiteinheiten der globalen Uhrzeit umgewandelt und der ausgehandelte Abspielzeitversatz wird dieser globalen Uhrzeit hinzuaddiert. Für die Aushandlung des Abspielzeitversatzes wird die erwartete Übermittlungsdauer, eine potentielle Decodierzeit und die verfügbaren Mediensenkenpuffergrößen mit berücksichtigt. Da die globale Uhrzeitinformation auf der Quellenseite ungenau und statistischen Schwankungen, d.h. Variationen, unterliegen kann, muss die Quelle dem Abspielzeitversatz eine Variationszeit für den ungünstigsten Fall hinzuaddieren. Dadurch wird die Situation vermieden, dass die gemeinsame Abspielzeit bereits abgelaufen ist, wenn ein Mediendatenpaket die Senke erreicht.In 3 sends the media source 101 Media data packets to the first media sink 1 and to the second media sink 2 , At the beginning of the process, a playback time offset must be in one step 304 negotiated (determined). This negotiated play time offset is communicated to both media sinks, ie the first media sink 1 and the second media sink 2 , and is further used by the media sinks to determine a common playing time for each packet. A time tag of a media data packet indicates the time at which a packet was generated in units of time of the sample clock. To determine a common play time, ie, the time at which a sink physically plays a media data packet, the time pointed to by the time stamp of the media data packet is converted to a global time in time units of the global time and the negotiated play time offset becomes that global time added. For the negotiation of the playtime offset, the expected transmission duration, a potential decoding time and the available media sink buffer sizes are taken into account. Since the source side global time information may be inaccurate and subject to statistical variations, ie, variations, the source must add a worst-case variation time to the playtime offset. This avoids the situation where the combined playing time has already expired when a media data packet reaches the sink.

Obwohl die globale Uhrzeit der Medienquelle unter obiger Schwankung leidet, wird diese einmalig in einem Schritt 305 zu Beginn einer Medienübertragungsperiode gelesen, um den Quellenabtasttakt an die globale Uhrzeit zu koppeln. In einem nachfolgenden Schritt 306 wird ein Steuerpaket mit zwei Zeitkennzeichnungen an die erste Mediensenke 1 und die zweite Mediensenke 2 übertragen. Beide Zeitkennzeichnungen der Steuerpakete beschreiben denselben Zeitpunkt, wobei eine Zeitkennzeichnung den Zeitpunkt in Zeiteinheiten des Quellenabtasttaktes kennzeichnet und die andere Zeitkennzeichnung den Zeitpunkt in Zeiteinheiten der globalen Uhrzeit kennzeichnet. Somit kann eine dieses Steuerpaket empfangende Mediensenke den Zeitpunkt bestimmen, in welchem ein Mediendatenpaket in Zeiteinheiten der globalen Uhrzeit erzeugt wurde, indem die Zeit verwendet wird, auf die die Zeitkennzeichnung des Mediendatenpakets in Zeiteinheiten des Abtasttaktes hinweist.Although the global time of the media source suffers from the above fluctuation, it becomes unique in one step 305 at the beginning of a media transmission period to couple the source sampling clock to the global time. In a subsequent step 306 becomes a control packet with two time tags to the first media sink 1 and the second media sink 2 transfer. Both time tags of the control packets describe the same time, with a time tag indicating the time in units of time of the source sample clock and the other time tag indicating the time in units of time of the global time. Thus, a media sink receiving this control packet may determine the time at which a media data packet was generated in time units of the global time by using the time indicated by the time tag of the media data packet in units of time of the sample clock.

In dem nächsten Schritt 307 werden die Mediendatenpakete für jede Senke erstellt und zeitlich mit dem Zeitpunkt ihrer Erzeugung in Zeiteinheiten des Quellenabtasttaktes gekennzeichnet. Falls an jede Senke ein getrennter Datenstrom übertragen wird, ist dies für jeden Datenstrom durchzuführen. Falls ein Datenstrom an mehrere Senken ausgegeben wird, ist dies lediglich für diesen einen Datenstrom durchzuführen. Im Beispiel von 3 wird lediglich ein Datenstrom an die beiden Mediensenken gesendet. Deshalb wird in Schritt 308 ein Mediendatenpaket des Datenstroms an die erste Mediensenke 1 und an die zweite Mediensenke 2 gesendet.In the next step 307 For example, the media data packets for each sink are created and timed at the time of their generation in time units of the source sampling clock. If a separate data stream is transmitted to each sink, this must be done for each data stream. If a data stream is output to several sinks, this must be done only for this one data stream. In the example of 3 only one data stream is sent to the two media sinks. Therefore, in step 308 a media data packet of the data stream to the first media sink 1 and to the second media sink 2 Posted.

Im nächsten Schritt 309 decodiert jede Senke die Daten, falls diese codiert sind. Ebenso wandelt eine Senke in diesem Schritt 309 die Zeit, auf die die Zeitkennzeichnung des empfangenen Mediendatenpakets hinweist, in eine Zeit in Einheiten der globalen Uhrzeit um. Dann bestimmt jede Senke die gemeinsame Abspielzeit durch Addieren des ausgehandelten Abspielzeitversatzes, der in Zeiteinheiten der globalen Uhrzeit gegeben ist, zur umgewandelten Zeit, auf die die Zeitkennzeichnung des empfangenen Mediendatenpakets hinweist. Im nächsten Schritt 310 puffert jede Senke die Mediendaten, bis die bestimmte gemeinsame Abspieldauer erreicht ist. Diese Puffer in den Mediensenken müssen groß genug sein, um die zufällige Schwankung der Taktinformation in der Medienquelle, die zufällige Schwankung der Übertragungsverzögerung und eine mögliche Schwankung der Decodierverzögerung kompensieren zu können. Mit dem Erreichen der gemeinsamen Abspielzeit 105 spielt jede Senke die Medien im nächsten Schritt 311 physikalisch ab.In the next step 309 Each sink decodes the data if encoded. Likewise, a sink transforms in this step 309 the time indicated by the time tag of the received media data packet at a time in units of the global time. Then, each sink determines the common playback time by adding the negotiated playback time offset, given in units of time of the global time, to the converted time, as indicated by the time stamp of the received media data packet. In the next step 310 Each sink buffers the media data until the specified common playback time is reached. These buffers in the media sinks must be large enough to compensate for the random fluctuation of the timing information in the media source, the random variation in the transmission delay, and a possible variation in decoding delay. With the achievement of the common playing time 105 each sink plays the media in the next step 311 physically off.

Für eine beliebige Zeitkennzeichnung nachfolgend übermittelter Mediendatenpakete von der Medienquelle 301 an die erste Mediensenke 1 und die zweite Mediensenke 2 verwendet die Medienquelle 301 die Abtasttaktzeit in Schritt 312 zur Bestimmung der Zeit für die Zeitkennzeichnung, anstelle die globale Uhrzeit erneut zu lesen. Dies stellt sicher, dass keine Lücken oder Sprünge in der Senkenseite aufgrund der Ungenauigkeit der globalen Uhrzeit in der Quellenmedienanwendung auftreten. In Schritt 313 wird die Abtasttaktzeit anstatt einem erneuten Lesen der globalen Uhrzeit für die Zeitkennzeichnung des von der Quelle zur Senke gesendeten nächsten Mediendatenpakets verwendet. In Schritt 314 werden Mediendatenpakete an jede Mediensenke, d.h. die erste Mediensenke 1 und die zweite Mediensenke 2, mit der Zeitkennzeichnung gesendet, die den Zeitpunkt ihrer Erzeugung auf Basis des Quellenabtasttaktes kennzeichnet. Die Zeitkennzeichnung eines Mediendatenpakets ist gewöhnlich in dem Mediendatenpaket als Kopfinformation enthalten. Jedoch kann diese ebenso in getrennten Zeitkennzeichnungspaketen gesendet werden.For any time tag subsequent to transmitted media data packets from the media source 301 to the first media sink 1 and the second media sink 2 uses the media source 301 the sampling cycle time in step 312 to determine time for time stamping, instead of rereading the global time. This ensures that there are no gaps or jumps in the sink side due to the inaccuracy of the global time in the source media application. In step 313 the sample clock time is used instead of rereading the global time for the time tag of the next media data packet sent from the source to the sink. In step 314 become media data packets to each media sink, ie the first media sink 1 and the second media sink 2 , sent with the time tag indicating the time of its generation based on the source sampling clock. The time tag of a media data packet is usually included in the media data packet as header information. However, this can also be sent in separate time tag packets.

Wie der 3 entnommen werden kann, werden die Schritte 312, 313 und 314 wiederholt, bis alle Mediendatenpakete einer Periode ausgesendet wurden, d.h. neue Zeitkennzeichnungen werden berechnet, Mediendatenpakete werden mit diesen Zeitkennzeichnungen erstellt und diese Mediendatenpakete werden an die Mediensenken gesendet.Again 3 can be taken, the steps 312 . 313 and 314 repeats until all the media data packets of a period have been sent, ie, new time tags are calculated, media data packets are created with these time tags, and these media data packets are sent to the media sinks.

Als Ergebnis eines solchen Ablaufs genügt es, dass die Quellenmedienanwendung lediglich leicht an die globale Uhrzeit gekoppelt ist, wobei jede Mediensenke fest an die globale Uhrzeit gekoppelt ist. Wird deshalb ein Nicht-Echtzeit-Gerät wie ein PC oder PDA als Medienquelle und Lautsprecher als Mediensenken verwendet, können die Lautsprecher untereinander sehr fest synchronisiert werden, wodurch die strengen Anforderungen seitens der menschlichen Wahrnehmung von räumlichem Schall erfüllt werden.When As a result of such a process, it suffices that the source media application only slightly linked to the global time, with each media sink is firmly linked to the global time. Will therefore be a non-real-time device like a PC or PDA used as media source and speakers as media sinks, can the speakers are very tightly synchronized with each other, eliminating the strict requirements of human perception of spatial Sound to be fulfilled.

4 zeigt ein mögliches Szenario, bei dem der erfindungsgemäße Ablauf angewandt werden kann. Ein mit Bluetooth ausgestatteter PC 400 führt eine Multi-Übertragung eines Stereo-Audio-Datenstroms in Form von Mediendatenpaketen an zwei Bluetooth-Lautsprecher, d. h. einen ersten Bluetooth-Lautsprecher 4021 und einen zweiten Bluetooth-Lautsprecher 4022, über zwei Bluetooth-Verbindungen, d.h. eine erste Bluetooth-Verbindung 4011 und eine zweite Bluetooth-Verbindung 4012, durch. Über jede Verbindung werden Mediendatenpakete des Audiosignals eines Stereosignals an den entsprechenden Lautsprecher übermittelt. 4 shows a possible scenario in which the process according to the invention can be applied. A PC equipped with Bluetooth 400 Performs a multi-transmission of a stereo audio data stream in the form of media data packets to two Bluetooth speakers, ie a first Bluetooth speaker 4021 and a second Bluetooth speaker 4022 , via two Bluetooth connections, ie a first Bluetooth connection 4011 and a second Bluetooth connection 4012 , by. Via each connection, media data packets of the audio signal of a stereo signal are transmitted to the corresponding loudspeaker.

Das Bluetooth-Modul auf dem PC 400 ist über USB angeschlossen, wobei Bluetooth in dem ersten Bluetooth-Lautsprecher 4021 und in dem zweiten Bluetooth-Lautsprecher 4022 direkt in das Systemdesign eingebunden ist. Die von dem PC und den Bluetooth-Lautsprechern zu verwendende globale Uhrzeit entspricht dem Bluetooth-Basisbandtakt, der in jeder Bluetooth-Basisbandimplementierung inhärent vorhanden ist. Dieser Bluetooth-Basisbandtakt ist zwischen allen Teilnehmern eines Bluetooth-Piconet sehr gut synchronisiert.The Bluetooth module on the PC 400 is connected via USB, with Bluetooth being in the first Bluetooth speaker 4021 and in the second Bluetooth speaker 4022 directly integrated into the system design. The global time to be used by the PC and Bluetooth speakers corresponds to the Bluetooth baseband clock that is inherent in any Bluetooth baseband implementation. This Bluetooth baseband clock is very well synchronized between all participants of a Bluetooth piconet.

Der PC 400 als Medienquelle der Audioübertragung beginnt mit der Auswertung der Qualität und Verzögerung der Bluetooth-Übertragung an den ersten Bluetooth-Lautsprecher 4021 und den zweiten Bluetooth-Lautsprecher 4022 unter Verwendung der Information, die seitens der wie in RTP definierten Steuerpakete bereitgestellt wird. Zudem fragt der PC die zum Decodieren erforderliche Zeit und die Pufferfähigkeiten von jedem Lautsprecher unter Verwendung geeigneter Signalkommandos ab. Mit dieser Information und der zufälligen Schwankung der Taktinformation des PC, d.h. einer maximal möglichen Schwankung, kann der PC einen Abspielzeitversatz bestimmen. Dieser Abspielzeitversatz wird einmalig an den ersten Bluetooth-Lautsprecher 4021 und an den zweiten Bluetooth-Lautsprecher 4022 übermittelt und der Zeit hinzugefügt, auf die die Zeitkennzeichnung jedes Me diendatenpakets eines Mediendatenstroms hinweist, um die gemeinsame Abspielzeit für jedes Mediendatenpaket zu erhalten. In einer alternativen Ausführungsform der Erfindung kann eine gemeinsame Abspielzeit von der Medienquelle, hier: dem PC 400, für jedes Mediendatenpaket bestimmt werden und dann zusammen mit jedem Mediendatenpaket, wie in Verbindung mit 6 unten stehend beschrieben, übertragen werden.The computer 400 As the media source of the audio transmission begins with the evaluation of the quality and delay of the Bluetooth transmission to the first Bluetooth speaker 4021 and the second Bluetooth speaker 4022 using the information provided by the control packets as defined in RTP. In addition, the PC polls the time required for decoding and the buffering capabilities of each speaker using appropriate signal commands. With this information and the random fluctuation of the clock information of the PC, ie a maximum possible fluctuation, the PC can determine a play time offset. This playback time offset becomes unique to the first Bluetooth speaker 4021 and to the second Bluetooth speaker 4022 and adds to the time pointed to by the time tag of each media data stream data packet to obtain the combined playing time for each media data packet. In an alternative embodiment of the invention, a common playback time from the media source, here: the PC 400 , for each media data packet, and then together with each media data packet, as in connection with 6 to be described below.

Der PC 400 als Medienquelle der Datenübertragung erzeugt die Zeitkennzeichnungen. Falls RTP Mediendatenpakete gesendet werden, beschreiben die Zeitkennzeichnungen in jedem Mediendatenpaket den Zeitpunkt, zu dem das Paket in Zeiteinheiten des Abtasttaktes erzeugt wurde. Die Verbindung zur globalen Uhrzeit, hier: dem Bluetooth-Basisbandtakt, wird durch Bereitstellung zweier Zeitkennzeichnungen für denselben Zeitpunkt in den RTCP-Steuerpaketen erzielt, wobei eine Zeitkennzeichnung den Zeitpunkt in Zeiteinheiten des Abtasttaktes und die andere den Zeitpunkt in Zeiteinheiten der globalen Uhrzeit kennzeichnet, siehe obige Beschreibung. Aufgrund der Ungenauigkeit der auf der PC-Seite verfügbaren Taktinformation, wird der Basisbandtakt vorzugsweise lediglich für das erste Steuerpaket gelesen. Für nachfolgende Steuerpakete wird die Zeitinformation für die Zeitkennzeichnung mit globaler Uhrzeit durch Zählen der Anzahl von Samples erzeugt, die seit dem letzten Steuerpaket abgelaufen sind und dann wird diese Anzahl von Samples in Zeiteinheiten der globalen Uhrzeit übersetzt. Wie oben erwähnt, weist ein Steuerpaket eine Zeitkennzeichnung mit globaler Uhrzeit, die auf einen Zeitpunkt in Zeiteinheiten der globalen Uhrzeit hinweist, als auch eine Zeitkennzeichnung mit Abtasttakt auf, die auf denselben Zeitpunkt in Zeiteinheiten der Abtasttaktzeit hinweist. Durch Kombinieren der Information, welche durch die in den Mediendatenpaketen und den Steuerpaketen vorhandenen verschiedenen Zeitkennzeichnungen bereitgestellt wird, kann jeder Bluetooth-Lautsprecher den Zeitpunkt in Zeiteinheiten der globalen Taktzeit aus der Zeitkennzeichnung eines Mediendatenpakets bestimmen, in dem ein Paket von der Quelle erzeugt wurde, wobei die Zeitkennzeichnung die Erzeugungszeit in Zeiteinheiten des Abtasttaktes kennzeichnet. Durch Addieren des ausgehandelten Abspielzeitversatzes wird dann bestimmt, wann die Samples von jedem Mediendatenpaket abzuspielen sind. Da jede Senke direkt auf den Bluetooth-Basisbandtakt zugreifen kann, sind alle Senken in der Lage, deren Sample-Abspieltakte fest mit dem Bluetooth-Basisbandtakt zu synchronisieren.The computer 400 as the media source of the data transmission generates the time tags. If RTP media data packets are sent, the time labels in each media data packet describe the time at which the packet was generated in units of time of the sample clock. The connection to the global time, here: the Bluetooth baseband clock, is achieved by providing two time tags for the same time in the RTCP control packets, with one time tag indicating the time in units of the sample clock and the other the time in units of time of the global time, see above description. Due to the inaccuracy of clock information available on the PC side, the baseband clock is preferably read only for the first control packet. For subsequent control packets, the time information for the global time indication is generated by counting the number of samples that have elapsed since the last control packet and then translating that number of samples into time units of the global time. As mentioned above, a control packet has a global time time tag indicative of a time in units of time of the global time, and a sample clock with a timing indicative of the same time in units of sampling clock time. By combining the information provided by the various time tags present in the media data packets and the control packets, each Bluetooth speaker can determine the time in units of time of the global clock time from the time tag of a media data packet in which a packet was generated from the source the time identifier identifies the generation time in units of time of the sampling clock. By adding the negotiated playback time offset, it is then determined when to play the samples from each media data packet. Since each sink can directly access the Bluetooth baseband clock, all sinks are able to keep their sample playback clocks firmly in sync with the baseband Bluetooth clock.

Da die Taktinformation auf der Quellenseite bis zu einem bestimmten Grad unpräzise ist, müssen der erste Bluetooth-Lautsprecher 4021 und der zweite Bluetooth-Lautsprecher 4022 als Audio-Mediensenken diese Ungenauigkeit über eine geeignete Puffergröße kompensieren. Beispielsweise weiß der PC 400, dass die Taktinformation eine maximale Schwankung von 2 ms aufweist. Um deshalb die Situation zu vermeiden, dass die Abspielzeit eines Mediendatenpakets bereits abgelaufen ist, wenn das Mediendatenpaket die Senke erreicht, enthält dieses diese 2 ms im ausgehandelten Abspielzeitversatz. Mit einer Schwankung von 2 ms liegen die seitens der Quelle erzeugten Zeitkennzeichnungen im schlechtesten Fall 1 ms zu früh oder 1 ms zu spät. Deshalb müssen die Senken ausreichend Speicher zum Puffern der Daten während dieser den ungünstigsten Fall betreffenden Periode bereitstellen, der dem Quellengerät immer hinzugefügt wird um auf der sicheren Seite zu sein.Since the timing information on the source side is imprecise to a certain degree, the first Bluetooth speaker must be 4021 and the second Bluetooth speaker 4022 as audio media sinks compensate for this inaccuracy via a suitable buffer size. For example, the PC 400 knows that the clock information has a maximum fluctuation of 2 ms. Therefore, to avoid the situation that the playing time of a media data packet has already expired when the media data packet reaches the sink, it contains this 2 ms in the negotiated playback time offset. With a fluctuation of 2 ms, the source tags produced by the source are in the worst case 1 ms too early or 1 ms too late. Therefore, the sinks must provide enough memory to buffer the data during this worst case period, which is always added to the source device to be on the safe side.

5 zeigt ein Flussdiagramm zur Darstellung des Sendeprozesses in der Medienquelle 101 und des Empfangsprozesses in der Mediensenke 1 gemäß der Erfindung, wobei die Abspielzeit für jedes Mediendatenpaket von der Mediensenke bestimmt wird. Dieses Beispiel basiert auf dem RTP-Standard. In einem ersten Schritt 603S wird der Abspielzeitversatz von der Medienquelle 101 ermittelt (ausgehandelt) unter Berücksichtigung der Übertragungszeitperioden, der Decodierzeitperioden und der verfügbaren Puffergrößen der in die Mediendatenübertragungsperiode eingebundenen Mediensenken. Um diese Informationen zu erhalten, fragt die Medienquelle 101 die Mediensenke 1 ab. Der Abspielzeitversatz wird dann in Form eines Datensteuerpakets 604S an die Mediensenke 1 übermittelt. Dieses Datensteuerpaket 604S enthält den Abspielzeitversatz in Zeiteinheiten der globalen Uhrzeit. Die Mediensenke 1 empfängt das übermittelte Datensteuerpaket 604R, das dem von der Medienquelle 101 ausgesendeten Datensteuerpaket 604 entspricht. Die Mediensenke 1 speichert den Abspielzeitversatz in Einheiten der globalen Uhrzeit, um den Abspielzeitversatz nachfolgender empfangener Mediendatenpakete wie unten erläutert zu bestimmen. 5 shows a flow chart illustrating the transmission process in the media source 101 and the receiving process in the media sink 1 according to the invention, wherein the playing time for each media data packet is determined by the media sink. This example is based on the RTP standard. In a first step 603S becomes the playback time offset from the media source 101 determines (negotiates) taking into account the transmission time periods, the decoding time periods and the available buffer sizes of the media sinks included in the media data transmission period. To get this information, ask the media source 101 the media sink 1 from. The playtime offset is then in the form of a data control packet 604S to the media sink 1 transmitted. This data control package 604S contains the play time offset in time units of the global time. The media sink 1 receives the transmitted data control packet 604R that from the media source 101 emitted data control package 604 equivalent. The media sink 1 stores the play time offset in units of global time to determine the play time offset of subsequent received media data packets, as explained below.

Bevor Mediendatenpakete von der Medienquelle 101 an die Mediensenke 1 gesendet werden, wird ein Senderberichtpaket von der Medienquelle 101 an die Mediensenke 1 gesendet. Deshalb wird in dem nachfolgenden Schritt 605S ein Senderberichtpaket 606S erzeugt. Das Senderberichtpaket 606S enthält zwei Zeitkennzeichnungen, eine Abtasttakt-Zeitkennzeichnung 6075 zur Kennzeichnung eines Zeitpunkts in Zeiteinheiten des Abtasttaktes und eine Globale-Uhrzeit-Zeitkennzeichnung 608S zur Kennzeichnung desselben Zeitpunkts in Zeiteinheiten der globalen Uhrzeit. Das Senderberichtpaket 606S wird von der Medienquelle 101 an die Mediensenke 1 von Zeit zu Zeit übermittelt. Es wird wenigstens einmal vor jeder Medienübertragungsperiode übermittelt, jedoch kann dieses ebenso in der Mitte einer Mediendatenübertragungsperiode übermittelt werden. Die Mediensenke empfängt dann das übertragene Senderberichtpaket 606R, das die übermittelte Abtasttakt-Zeitkennzeichnung 607R und die übermittelte Globale-Uhrzeit-Zeitkennzeichnung 608R enthält. Da beide Zeitkennzeichnungen denselben Zeitpunkt kennzeichnen, kann die Mediensenke 1 im folgenden Schritt 609R die Abtasttaktzeit mit der globalen Uhrzeit verknüpfen. Dies bedeutet, dass für nachfolgend empfangene Zeitkennzeichnungen eine Abtasttaktzeit ermitteln kann, falls eine globale Uhrzeit aus der jeweiligen Zeitkennzeichnung gegeben ist, und umgekehrt kann diese eine globale Uhrzeit bestimmen, falls eine Abtasttaktzeit gegeben ist.Before media data packets from the media source 101 to the media sink 1 are sent, a sender report packet from the media source 101 to the media sink 1 Posted. Therefore, in the subsequent step 605S a sender report package 606S generated. The sender report package 606S contains two time tags, one sample clock time tag 6075 for identifying a time in units of time of the sample clock and a global time-time identifier 608S to identify the same time in units of time of the global time. The sender report package 606S gets from the media source 101 to the media sink 1 transmitted from time to time. It is transmitted at least once before each media broadcast period, but this may also be in the middle a media data transmission period. The media sink then receives the transmitted sender report packet 606R containing the transmitted sample clock time tag 607R and the transmitted global time-time label 608r contains. Since both time labels identify the same time, the media sink 1 in the following step 609r Link the sample clock time to the global time. This means that for subsequently received time tags, a sample clock time can be determined if a global time is given from the respective time tag, and vice versa, this can determine a global time if a sample clock time is given.

In einem nachfolgenden Datenbearbeitungsschritt 609S erzeugt die Medienquelle 101 ein Mediendatenpaket 610S. Dieses Mediendatenpaket 610S enthält eine Abtasttakt-Zeitkennzeichnung, die auf die Erzeugungszeit des Mediendatenpakets 610S in Zeiteinheiten des Abtasttaktes hinweist und dieses enthält zudem die Mediendaten 612S. Dieses Mediendatenpaket 610S wird an die Mediensenke 1 übermittelt. Die Mediensenke 1 empfängt das übermittelte Mediendatenpaket 610R, das die übermittelte Abtasttakt-Zeitkennzeichnung 611R, die den Erzeugungszeitpunkt des übermittelten Mediendatenpakets 610R in Zeiteinheiten des Abtasttaktes kennzeichnet, und die übermittelten Mediendaten 612R enthält. Die Mediensenke 1 berechnet dann in einem ersten Berechnungsschritt 613R die globale Uhrzeit der Erzeugung in Zeiteinheiten der globalen Uhrzeit unter Verwendung der Information, die über das übermittelte Senderberichtpaket 606R vorab empfangen wurde. Nun kann die Abspielzeit in einem zweiten Berechnungsschritt 614R in Zeiteinheiten der globalen Uhrzeit berechnet werden, indem die berechnete globale Uhrzeit der Erzeugung und der Abspielzeitversatz addiert werden. Dann werden die übermittelten Mediendaten 612R in einem Pufferschritt 615R gepuffert, bis die bestimmte Abspielzeit in Zeiteinheiten der globalen Uhrzeit erreicht ist. Schließlich werden die Mediendaten in einem Abspielschritt 616R physikalisch zu exakt der bestimmten Abspielzeit abgespielt, welche nun in Zeiteinheiten der globalen Uhrzeit in der Mediensenke 1 bekannt ist. Wie vorhergehend erwähnt wurde, ist das zeitlich exak te Abspielen möglich, da die Mediensenke 1 einen direkten (festen) Zugriff auf die globale Uhrzeit hat.In a subsequent data processing step 609S creates the media source 101 a media data package 610S , This media data package 610S contains a sample clock time tag that is based on the creation time of the media data packet 610S in time units of the sample clock and this also contains the media data 612S , This media data package 610S gets to the media sink 1 transmitted. The media sink 1 receives the transmitted media data packet 610R containing the transmitted sample clock time tag 611R indicating the generation time of the transmitted media data packet 610R in units of time of the sampling clock, and the transmitted media data 612R contains. The media sink 1 then calculates in a first calculation step 613R the global time of creation in time units of the global time using the information transmitted via the transmitted sender report packet 606R was received in advance. Now the playing time in a second calculation step 614R in time units of the global time by adding the computed global time of generation and the play time offset. Then the transmitted media data 612R in a buffer step 615R buffered until the specified playing time is reached in time units of the global time. Eventually, the media data will be in a play step 616R physically played to exactly the specific playing time, which now in time units of the global time in the media sink 1 is known. As previously mentioned, the time-exact playback is possible because the media sink 1 has direct (fixed) access to the global time.

Für nachfolgende Mediendatenpakete einer Medienübertragungsperiode werden der Datenbearbeitungsschritt 609S, die Übermittlung von Mediendatenpaketen von der Medienquelle 101 zur Mediensenke 1, der erste Berechnungsschritt 613R, der zweite Berechnungsschritt 614R, der Pufferschritt 615R und der Abspielschritt 616R wiederholt. Wie oben erwähnt, ist es innerhalb einer derartigen Medienübertragungsperiode ebenso möglich, dass ein Senderberichtpaket 606S von Zeit zu Zeit von der Medienquelle 101 zur Mediensenke 1 gesendet wird.For subsequent media data packets of a media transmission period, the data processing step 609S , the transmission of media data packets from the media source 101 to the media sink 1 , the first calculation step 613R , the second calculation step 614R , the buffer step 615R and the playback step 616R repeated. As mentioned above, within such a medium transmission period, it is also possible for a sender report packet 606S from time to time from the media source 101 to the media sink 1 is sent.

6 zeigt ein Flussdiagramm des Sendeprozesses in der Medienquelle 501 und des Empfangsprozesses in der Mediensenke 502 gemäß einer ersten alternativen Ausführungsform der Erfindung, wobei die Abspielzeit für jedes Paket von der Medienquelle 501 bestimmt und mit jedem Mediendatenpaket übertragen wird. Der dargestellte Prozess wird für jedes von der Medienquelle (SRC) 501 an die Mediensenke (SNK) 502 gesendete Mediendatenpaket ausgeführt. Es sollte beachtet werden, dass 6 den Prozess lediglich bezüglich einer einzelnen in eine Medienübertragungsperiode eingebundenen Mediensenke darstellt. Derselbe Prozess wird von weiteren, in dieselbe Medienperiode eingebundenen Mediensenken ausgeführt. 6 shows a flow chart of the transmission process in the media source 501 and the receiving process in the media sink 502 according to a first alternative embodiment of the invention, wherein the playing time for each packet from the media source 501 determined and transmitted with each media data packet. The process illustrated is for each of the media source (SRC) 501 to the media sink (SNK) 502 sent media data package executed. It should be noted that 6 represents the process only with respect to a single media sink involved in a media broadcast period. The same process is performed by other media sinks wrapped in the same media period.

In einem ersten Schritt 510 wird die Abspielzeit für das Mediendatenpaket 511, das nachfolgend ausgesendet wird, erzeugt. Die Abspielzeit hängt von der zufälligen Schwankung der Taktinformation der Medienquelle 501, der Übertragungszeitperioden, der Decodierzeitperioden und der verfügbaren Puffergrößen der in die Medienübertragungsperiode eingebundenen Mediensenken ab. Wie oben erwähnt ist, werden diese Informationen zwischen der Medienquelle 501 und der Mediensenke 502 ausgehandelt. Das Mediendatenpaket 511 enthält die Mediendaten 513 und die Globale-Uhrzeit-Zeitkennzeichnung 512, die die Abspielzeit für das Mediendatenpaket 511 in Einheiten der globalen Uhrzeit kennzeichnet. Dieses Mediendatenpaket 511 wird an die Mediensenke 502 übertragen. Das übertragene Mediendatenpaket 514 enthält die Mediendaten 516 und die Globale-Uhrzeit-Zeitkennzeichnung 515, welche jeweils den Mediendaten 513 und der Globalen-Uhrzeit-Zeitkennzeichnung 512 entsprechen, die von der Medienquelle 501 ausgesendet wurden. Nach dem Empfangen des übertragenen Mediendatenpakets 514 puffert die Mediensenke 502 die Mediendaten 515 in einem Verarbeitungsschritt 517, bis die über die übermittelte Globale-Uhrzeit-Zeitkennzeichnung 515 gekennzeichnete Abspielzeit erreicht ist. Dann werden die Mediendaten in einem Abspielschritt 518 exakt zur bestimmten Abspielzeit, auf welche die Globale-Uhrzeit-Zeitkennzeichnung 515 hinweist, von der Mediensenke 502 abgespielt. Wie oben erwähnt wurde, ist das exakte zeitliche Abspielen möglich, da die Mediensenke 502 einen direkten (festen) Zugriff auf die globale Uhrzeit hat. Hinsichtlich Anwenderszenarios mit strengen zeitlichen Anforderungen wie der Synchronisation des linken und rechten Kanals einer Audioverteilung stellt dieser Zugriff auf die Taktinformation einen kritischen Punkt dar.In a first step 510 becomes the playing time for the media data package 511 , which is sent out subsequently generated. The playing time depends on the random fluctuation of the timing information of the media source 501 , the transmission time periods, the decoding time periods and the available buffer sizes of the media sinks included in the media transmission period. As mentioned above, this information is between the media source 501 and the media sink 502 negotiated. The media data package 511 contains the media data 513 and the global-time-time-tag 512 representing the playing time for the media data package 511 in units of the global time. This media data package 511 gets to the media sink 502 transfer. The transmitted media data packet 514 contains the media data 516 and the global-time-time-tag 515 , which respectively the media data 513 and the global-time-time-tag 512 match that of the media source 501 were sent out. After receiving the transmitted media data packet 514 buffers the media sink 502 the media data 515 in a processing step 517 until the transmitted over the Global time-time label 515 marked playing time is reached. Then the media data will be in a play step 518 exactly at the specific playing time, to which the global time-time marking 515 points out, from the media sink 502 played. As mentioned above, the exact timing is possible because the media sink 502 has direct (fixed) access to the global time. As for user scenarios with severe timing requirements such as left and right channel synchronization of an audio distribution, this access to the timing information is a critical issue.

Um eine Abspielzeit zu verhandeln (zu planen), brauchen alle Geräte Zugriff auf dieselbe Taktinformation (globale Uhrzeit) als gemeinsame Zeitreferenz. Dann kann die Medienquelle ein Mediendatenpaket einplanen und alle Senken müssen das Mediendatenpaket puffern, bis die festgesetzte globale Uhrzeit erreicht ist.To negotiate (schedule) a playing time, all devices need access to the same timing information (global time) as a common time conference. Then the media source can schedule a media data packet and all sinks must buffer the media data packet until the set global time is reached.

7 zeigt eine zweite alternative Ausführungsform der Erfindung, wobei die Mediensenken den Abspielzeitversatz untereinander aushandeln. In dieser zweiten alternativen Ausführungsform handeln eine dritte Mediensenke 71 und eine vierte Mediensenke 72 einen Abspielzeitversatz aus unter Berücksichtigung der Übertragungszeitperioden, der Decodierzeitperioden, der verfügbaren Puffergrößen und einer möglicherweise lockeren Synchronisation der Medienquelle 101 an eine globale Uhrzeit. Die dritte Mediensenke 71 und die vierte Mediensenke 72 können den Abspielzeitversatz über eine direkte Datenverbindung 73 (direkter Kommunikationskanal) aushandeln, oder diese können den Abspielzeitversatz mittels einer ersten Datenverbindung 74 und einer zweiten Datenverbindung 75 über die Medienquelle 101 (indirekter Kommunikationskanal) aushandeln. Die erste Datenverbindung 74 verbindet die Medienquelle 101 und die dritte Mediensenke 71 und die zweite Datenverbindung 75 verbindet die Medienquelle 101 und die vierte Mediensenke 72. Nachdem der Abspielzeitversatz zwischen der dritten Mediensenke 71 und der vierten Mediensenke 72 ausgehandelt wurde, beginnt die Medienquelle 101 mit dem Senden zeitlich gekennzeichneter Mediendatenpakete über die erste Datenverbindung 74 und die zweite Datenverbindung 75. In dem Beispiel von 7 wird ein drittes zeitlich gekennzeichnetes Mediendatenpaket 76 über die erste Datenverbindung 74 gesendet und ein viertes zeitlich gekennzeichnetes Mediendatenpaket 77 wird über die zweite Datenverbindung 75 gesendet. Die Zeitkennzeichnungen der Medien datenpakete können den Zeitpunkt ihrer Erzeugung in Zeiteinheiten der globalen Uhrzeit kennzeichnen oder diese können ihren Erzeugungszeitpunkt in Zeiteinheiten der Abtasttaktzeit kennzeichnen. Im letzteren Falle ist eine Abfolge gemäß 5 auszuführen, bevor Mediendatenpakete gesendet werden, d.h. ein Steuerpaket muss von der Medienquelle 101 an die dritte Mediensenke 71 und die vierte Mediensenke 72 gesendet werden, so dass die dritte Mediensenke 71 und die vierte Mediensenke 72 den Zeitpunkt der Erzeugung eines Mediendatenpakets in Zeiteinheiten der globalen Uhrzeit bestimmen können. Nachdem die dritte Mediensenke 71 und/oder die vierte Mediensenke 72 ein Mediendatenpaket empfangen haben, bestimmen diese die Abspielzeit für das empfangene Mediendatenpaket durch Addieren des ausgehandelten Abspielzeitversatzes und der Zeit, auf die die Zeitkennzeichnung des Mediendatenpakets hinweist. In diesem Beispiel bestimmt die dritte Mediensenke 71 die Abspielzeit des dritten zeitlich gekennzeichneten Mediendatenpakets 76 durch Addieren des ausgehandelten Abspielzeitversatzes und der Zeit, auf die die Zeitkennzeichnung dieses dritten zeitlich gekennzeichneten Mediendatenpakets 76 hinweist, und diese spielt das dritte zeitlich gekennzeichnete Mediendatenpaket 76 exakt zu dieser bestimmten Abspielzeit ab. Zusätzlich bestimmt die vierte Mediensenke 72 die Abspielzeit des vierten zeitlich gekennzeichneten Mediendatenpakets 77 durch Addieren des ausgehandelten Abspielzeitversatzes und der Zeit, auf die die Zeitkennzeichnung dieses vierten zeitlich gekennzeichneten Mediendatenpakets 77 hinweist, und diese spielt das vierte zeitlich gekennzeichnete Mediendatenpaket 77 exakt zu dieser bestimmten Abspielzeit ab. 7 shows a second alternative embodiment of the invention, wherein the media sinks negotiate the playback time offset with each other. In this second alternative embodiment, a third media sink acts 71 and a fourth media sink 72 a playback time offset taking into account the transmission time periods, the decoding time periods, the available buffer sizes and a possibly loose synchronization of the media source 101 to a global time. The third media sink 71 and the fourth media sink 72 can change the play time offset over a direct data connection 73 (direct communication channel) negotiate or they can the playtime offset by means of a first data connection 74 and a second data connection 75 via the media source 101 Negotiate (indirect communication channel). The first data connection 74 connects the media source 101 and the third media sink 71 and the second data connection 75 connects the media source 101 and the fourth media sink 72 , After the play time offset between the third media sink 71 and the fourth media sink 72 was negotiated, the media source begins 101 sending time-stamped media data packets over the first data connection 74 and the second data connection 75 , In the example of 7 becomes a third timed media data packet 76 over the first data connection 74 and a fourth timed media data packet 77 is over the second data connection 75 Posted. The time labels of the media data packets may indicate the time of their generation in time units of the global time, or they may mark their generation time in units of time of sample clock time. In the latter case, a sequence according to 5 before media data packets are sent, ie a control packet must be sent from the media source 101 to the third media sink 71 and the fourth media sink 72 be sent, leaving the third media sink 71 and the fourth media sink 72 determine the time of creation of a media data packet in time units of the global time. After the third media sink 71 and / or the fourth media sink 72 have received a media data packet, they determine the playing time for the received media data packet by adding the negotiated playing time offset and the time indicated by the time stamping of the media data packet. In this example, the third media sink determines 71 the playing time of the third temporally marked media data packet 76 by adding the negotiated playtime offset and the time to the time stamping of that third timed media data packet 76 and this plays the third timed media data packet 76 exactly at this specific time. In addition, the fourth media sink determines 72 the playing time of the fourth time-marked media data packet 77 by adding the negotiated playtime offset and the time to which the time stamping of this fourth timed media data packet 77 and this plays the fourth timed media data packet 77 exactly at this specific time.

Zusammenfassend werden somit erfindungsgemäß Mediendatenpakete in einem digitalen Audioübertragungssystem von einer Medienquelle an Mediensenken (z.B. Lautsprecher) übertragen. Wird ein Mediendatenpaket von einer Mediensenke empfangen und enthält dieses einem Audiosignal zugehörige Audiodaten von z.B. einem Stereosignal, ist es wichtig, dass dieses Mediendatenpaket zum selben Zeitpunkt abgespielt wird wie ein Mediendatenpaket, das von einer weiteren Mediensenke empfangen wird und ein Audiosignal desselben Stereosignals enthält, d.h. die Mediendatenpakete müssen synchron abgespielt werden. Um dieses synchrone Abspielen der Mediendatenpakete in verschiedenen Mediensenken sicherzustellen, wird eine gemeinsame Abspielzeit von der Medienquelle oder der Mediensenke bestimmt und Mediendatenpakete werden so lange gepuffert, bis diese gemeinsame Abspielzeit erreicht ist. Die Medienquelle oder die Mediensenke bestimmen die gemeinsame Abspielzeit auf Basis einer globalen Uhrzeit, welche auf Basis einer Abtasttaktzeit berechnet wird.In summary are thus according to the invention media data packets in a digital audio transmission system from a media source to media sinks (e.g., speakers). Becomes receive and contain a media data packet from a media sink associated with an audio signal Audio data of e.g. a stereo signal, it is important that this Media file is played at the same time as a media data package, which is received by another media sink and an audio signal contains the same stereo signal, i.e. the media data packages must be synchronous be played. To this synchronous playback of the media data packets in various media sinks, will be a common Playback time determined by the media source or the media sink and Media data packets are buffered until they become common Play time is reached. Determine the media source or the media sink the common playing time based on a global time, which is calculated on the basis of a sample clock time.

Claims (12)

Medienquelle (101; 400), geeignet: – zum Aussenden von zeitlich gekennzeichneten Mediendatenpaketen (1021, 1022; 308; 610S, 610R; 76, 77) an eine oder mehrere empfangende Mediensenken (1, 2; 4021, 4022; 71, 72), wobei die Zeitkennzeichnung (611S) jedes Mediendatenpakets (1021, 1022; 308; 610S, 610R; 76, 77) auf den Zeitpunkt zum Erzeugen des entsprechenden Mediendatenpakets (1021, 1022; 308; 610S, 610R; 76, 77) hinweist, – zum Bestimmen eines Abspielzeitversatzes (640S) einmal für alle Mediendatenpakete einer Periode, und – zum Aussenden des Abspielzeitversatzes (604S) an die eine oder mehreren empfangenden Mediensenke(n) (1, 2; 4021, 4022; 71, 72) einmal für alle Mediendatenpakete (1021, 1022; 308; 610S, 610R; 76, 77) einer Periode.Media source ( 101 ; 400 ), suitable: - for sending time-marked media data packets ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ) to one or more receiving media sinks ( 1 . 2 ; 4021 . 4022 ; 71 . 72 ), the time tag ( 611S ) of each media data packet ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ) to the time for generating the corresponding media data packet ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ), - for determining a playback time offset ( 640S ) once for all media data packets of a period, and - for broadcasting the playback time offset ( 604S ) to the one or more receiving media sink (s) ( 1 . 2 ; 4021 . 4022 ; 71 . 72 ) once for all media data packets ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ) of a period. Medienquelle (101; 400) gemäß Anspruch 1, – mit einem Abtasttakt zum Bestimmen einer Abtasttaktzeit, – zum Bestimmen einer globalen Uhrzeit (201) und – zum Aussenden eines Steuerpakets (606S) von Zeit zu Zeit, insbesondere an die eine oder mehrere empfangende Mediensenke(n) (1, 2; 4021, 4022; 71, 72) gemäß einem der Ansprüche 5 bis 9, wobei das Steuerpaket (606S) zwei Steuerpaketzeitkennzeichnungen aufweist, die auf denselben Zeitpunkt hinweisen, wobei dessen erste Steuerpaketzeitkennzeichnung (608S) in Zeiteinheiten der globalen Uhrzeit (201) gemessen oder definiert wird und dessen zweite Steuerpaketzeitkennzeichnung (607S) in Zeiteinheiten der Abtasttaktzeit gemessen oder definiert wird.Media source ( 101 ; 400 ) according to claim 1, - having a sampling clock for determining a sampling clock time, - for determining a global time ( 201 ) and - to send a tax package ( 606S ) from time to time, in particular to the one or more receiving media sink (s) ( 1 . 2 ; 4021 . 4022 ; 71 . 72 ) according to one of claims 5 to 9, wherein the control packet ( 606S ) has two control packet time identifiers indicating the same time, the first control packet time identifier ( 608S ) in time units of the global time ( 201 ) is measured or defined and its second control packet time label ( 607S ) is measured or defined in units of time of sampling clock time. Medienquelle (101; 400) gemäß einem der vorangehenden Ansprüche, wobei die Zeitkennzeichnung (611S) eines Mediendatenpakets auf den Zeitpunkt zum Erzeugen des zeitlich gekennzeichneten Mediendatenpakets (1021, 1022; 308; 610S, 610R; 76, 77) in Zeiteinheiten der Abtasttaktzeit hinweist.Media source ( 101 ; 400 ) according to one of the preceding claims, wherein the time tag ( 611S ) of a media data packet to the time for generating the time-tagged media data packet ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ) in units of the sampling clock time. Medienquelle (101; 400) gemäß einem der vorangehenden Ansprüche, aufgebaut zum Aussenden derselben Mediendatenpakete (1021, 1022; 308; 610S, 610R; 76, 77) an zwei oder mehrere verschiedene empfangende Mediensenken (1, 2; 4021, 4022; 71, 72).Media source ( 101 ; 400 ) according to one of the preceding claims, constructed to broadcast the same media data packets ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ) to two or more different receiving media sinks ( 1 . 2 ; 4021 . 4022 ; 71 . 72 ). Mediensenke (1, 2; 4021, 4022; 71, 72), geeignet: – zum Empfangen von zeitlich gekennzeichneten Mediendatenpaketen (1021, 1022; 308; 610S, 610R; 76, 77) von einer Medienquelle (101; 400), – zum Empfangen eines Abspielzeitversatzes (604R) von einer Medienquelle (101; 400) einmal für alle Mediendatenpakete (1021, 1022; 308; 610S, 610R; 76, 77) einer Periode, – wobei der Abspielzeitversatz (604R) einmal für alle Mediendatenpakete (1021, 1022; 308; 610S, 610R; 76, 77) einer Periode bestimmt wird – zum präzisen Bestimmen einer globalen Uhrzeit (201), – zum Bestimmen einer gemeinsamen Abspielzeit für jedes empfangene zeitlich gekennzeichnete Mediendatenpaket (1021, 1022; 308; 610S, 610R; 76, 77) durch Addieren der Zeit, auf die durch die Zeitkennzeichnung (611R) des zeitlich gekennzeichneten Mediendatenpakets (1021, 1022; 308; 6105, 610R; 76, 77) hingewiesen wird sowie des Abspielzeitversatzes (604R), und zum Abspielen jedes empfangenen zeitlich gekennzeichneten Mediendatenpakets (1021, 1022; 308; 610S, 610R; 76, 77) genau dann, wenn die bestimmte gemeinsame Abspielzeit für das empfangene zeitlich gekennzeichnete Mediendatenpaket (1021, 1022; 308; 6105, 610R; 76, 77) erreicht ist.Media sink ( 1 . 2 ; 4021 . 4022 ; 71 . 72 ), suitable: - for receiving time-marked media data packets ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ) from a media source ( 101 ; 400 ), - for receiving a playback time offset ( 604R ) from a media source ( 101 ; 400 ) once for all media data packets ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ) of a period, - the playback time offset ( 604R ) once for all media data packets ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ) of a period - for the precise determination of a global time ( 201 ), For determining a common playback time for each received temporally marked media data packet ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ) by adding the time indicated by the time tag ( 611R ) of the temporally marked media data packet ( 1021 . 1022 ; 308 ; 6105 . 610R ; 76 . 77 ) and the playback time offset ( 604R ) and to play each received time-tagged media data packet ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ) if and only if the specific common playback time for the received time-tagged media data packet ( 1021 . 1022 ; 308 ; 6105 . 610R ; 76 . 77 ) is reached. Mediensenke (1, 2; 4021, 4022, 71, 72) gemäß Anspruch 5, geeignet: – zum Empfangen eines Steuerpakets (606R), insbesondere von einer Medienquelle (101; 400) gemäß einem der Ansprüche 1 bis 4, umfassend eine erste Steuerpaketzeitkennzeichnung (608R) zum Hinweisen auf einen bestimmten Zeitpunkt, der in Zeiteinheiten einer Abtasttastzeit gemessen oder definiert wird, sowie eine zweite Steuerpaketzeitkennzeichnung (607R) zum Hinweisen auf einen bestimmten Zeitpunkt, der in Zeiteinheiten einer globalen Uhrzeit (201) gemessen oder definiert wird, und – zum Umwandeln einer Zeit, auf die mittels einer Zeitkennzeichnung (611R) eines zeitlich gekennzeichneten Mediendatenpakets (1021, 1022; 308; 610S, 610R; 76, 77) hingewiesen wird und die in Einheiten einer Abtasttaktzeit gemessen oder definiert wird, in eine Zeit, die in Einheiten einer globa len Uhrzeit (201) gemessen oder definiert wird basierend auf der Information der ersten und zweiten Steuerpaketzeitkennzeichnung.Media sink ( 1 . 2 ; 4021 . 4022 . 71 . 72 ) according to claim 5, suitable: - for receiving a control packet ( 606R ), in particular from a media source ( 101 ; 400 ) according to one of claims 1 to 4, comprising a first control packet time identifier ( 608r ) for indicating a particular time measured or defined in units of time of a sample sample time, and a second control packet time tag ( 607R ) to indicate a specific point in time in time units of a global time ( 201 ) is measured or defined, and - for converting a time to a time tag ( 611R ) of a time-tagged media data packet ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ), which is measured or defined in units of a sample clock time, in a time which is expressed in units of a global time ( 201 ) is measured or defined based on the information of the first and second control packet timing labels. Mediensenke (1, 2; 4021, 4022; 71, 72) gemäß einem der vorangehenden Ansprüche 5 oder 6, mit einem Puffer zum Speichern von Mediendatenpaketen (1021, 1022, 308; 610S, 610R; 76, 77) bis die gemeinsame Abspielzeit erreicht ist.Media sink ( 1 . 2 ; 4021 . 4022 ; 71 . 72 ) according to one of the preceding claims 5 or 6, with a buffer for storing media data packets ( 1021 . 1022 . 308 ; 610S . 610R ; 76 . 77 ) until the combined playing time is reached. Medienverarbeitungssystem, mit einer Medienquelle (101; 400) gemäß einem der Ansprüche 1 bis 4 und einer Mediensenke (1, 2; 4021, 4022; 71, 72) gemäß einem der Ansprüche 5 bis 7.Media processing system, with a media source ( 101 ; 400 ) according to one of claims 1 to 4 and a media sink ( 1 . 2 ; 4021 . 4022 ; 71 . 72 ) according to one of claims 5 to 7. Verfahren zum synchronen Abspielen von für eine Medienquelle (101; 400) bestimmten Mediendatenpaketen (1021, 1022; 308; 610S, 610R; 76, 77), mit den Schritten – Aussenden von zeitlich gekennzeichneten Mediendatenpaketen (1021, 1022; 308; 610S, 610R; 76, 77), an eine oder mehrere empfangende Mediensenken (1, 2; 4021, 4022; 71, 72), wobei die Zeitkennzeichnung (611S jedes Mediendatenpakets (1021, 1022; 308; 610S, 610R; 76, 77) auf den Zeitpunkt zum Erzeugen des entsprechenden Mediendatenpakets (1021, 1022; 308; 610S, 610R; 76, 77) hinweist, – Bestimmen eines Abspielzeitversatzes (604S) einmal für alle Mediendatenpakete (1021, 1022: 308; 610S, 610R; 76, 77) einer Periode, und – Aussenden des Abspielzeitversatzes (604S) an die eine oder mehrere Mediendatensenke(n) (1, 2; 4021, 4022; 71, 72) einmal für alle Mediendatenpakete (1021, 1022; 308; 6105, 610R; 76, 77) einer Periode.Method for synchronously playing for a media source ( 101 ; 400 ) certain media data packets ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ), with the steps - sending time-marked media data packets ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ), to one or more receiving media sinks ( 1 . 2 ; 4021 . 4022 ; 71 . 72 ), the time tag ( 611S each media data packet ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ) to the time for generating the corresponding media data packet ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ), - determining a playback time offset ( 604S ) once for all media data packets ( 1021 . 1022 : 308 ; 610S . 610R ; 76 . 77 ) of a period, and - transmitting the playback time offset ( 604S ) to the one or more media data sink (s) ( 1 . 2 ; 4021 . 4022 ; 71 . 72 ) once for all media data packets ( 1021 . 1022 ; 308 ; 6105 . 610R ; 76 . 77 ) of a period. Verfahren nach Anspruch 9 mit den folgenden Schritten – Bestimmen einer Abtasttaktzeit, – Bestimmen einer globalen Uhrzeit (201), und – Aussenden eines Steuerpakets (606S) von Zeit zu Zeit an die eine oder mehrere empfangenden Mediensenke(n) (1, 2; 4021, 4022; 71, 72), wobei das Steuerpaket (606S) zwei Steuerpaketzeitkennzeichnungen aufweist, die auf denselben Zeitpunkt hinweisen, wobei dessen erste Steuerpaketzeitkennzeichnung (608S) in Zeiteinheiten der globalen Uhrzeit (201) gemessen oder definiert wird und dessen zweite Steuerpaketzeitkennzeichnung (607S) in Zeiteinheiten der Abtasttaktzeit gemessen oder definiert wird.Method according to claim 9, comprising the following steps - determining a sample clock time, - determining a global time ( 201 ), and - sending a tax package ( 606S ) from time to time to the one or more receiving media sink (s) ( 1 . 2 ; 4021 . 4022 ; 71 . 72 ), whereby the tax package ( 606S ) has two control packet time identifiers indicating the same time, the first control packet time identifier ( 608S ) in time units of the global time ( 201 ) is measured or defined and its second control packet time label ( 607S ) is measured or defined in units of time of sampling clock time. Verfahren nach einem der vorangehenden Ansprüche 9 oder 10, wobei die Zeitkennzeichnung (611S) eines Mediendatenpakets (1021, 1022; 308; 610S, 610R, 76, 77) auf den Zeitpunkt zum Erzeugen des zeitlich gekennzeichneten Mediendatenpakets (1021, 1022; 308; 6105, 610R; 76, 77) in Zeiteinheiten der Abtasttaktzeit hinweist.Method according to one of the preceding claims 9 or 10, wherein the time tag ( 611S ) of a media data packet ( 1021 . 1022 ; 308 ; 610S . 610R . 76 . 77 ) to the time for generating the timewise media data packet ( 1021 . 1022 ; 308 ; 6105 . 610R ; 76 . 77 ) in units of the sampling clock time. Verfahren nach einem der vorangehenden Ansprüche 9 bis 11, wobei dieselben Mediendatenpakete (1021, 1022; 308; 610S, 610R; 76, 77) an zwei oder mehrere verschiedene empfangende Mediensenken ausgesendet werden (1, 2; 4021, 4022; 71, 72).Method according to one of the preceding claims 9 to 11, wherein the same media data packets ( 1021 . 1022 ; 308 ; 610S . 610R ; 76 . 77 ) are sent to two or more different receiving media sinks ( 1 . 2 ; 4021 . 4022 ; 71 . 72 ).
DE60211157T 2002-09-06 2002-09-06 Synchronous playback of media packages Expired - Lifetime DE60211157T2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP02020070A EP1398931B1 (en) 2002-09-06 2002-09-06 Synchronous play-out of media data packets

Publications (2)

Publication Number Publication Date
DE60211157D1 DE60211157D1 (en) 2006-06-08
DE60211157T2 true DE60211157T2 (en) 2007-02-08

Family

ID=31725366

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60211157T Expired - Lifetime DE60211157T2 (en) 2002-09-06 2002-09-06 Synchronous playback of media packages

Country Status (5)

Country Link
US (1) US7675943B2 (en)
EP (1) EP1398931B1 (en)
JP (1) JP4559050B2 (en)
CN (1) CN1489356B (en)
DE (1) DE60211157T2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012042017A2 (en) 2010-09-30 2012-04-05 Schneider Electric Automation Gmbh Method and system for recording, synchronizing and analysing data by means of analysis devices which are spatially distributed in a communication network

Families Citing this family (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US9207905B2 (en) 2003-07-28 2015-12-08 Sonos, Inc. Method and apparatus for providing synchrony group status information
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8086752B2 (en) 2006-11-22 2011-12-27 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US7362765B1 (en) * 2003-12-15 2008-04-22 Dinochip, Inc. Network traffic management system with floating point sorter
US9374607B2 (en) 2012-06-26 2016-06-21 Sonos, Inc. Media playback system with guest access
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US8024055B1 (en) 2004-05-15 2011-09-20 Sonos, Inc. Method and system for controlling amplifiers
US8326951B1 (en) 2004-06-05 2012-12-04 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US7792158B1 (en) 2004-08-18 2010-09-07 Atheros Communications, Inc. Media streaming synchronization
US8149880B1 (en) 2004-08-18 2012-04-03 Qualcomm Atheros, Inc. Media streaming synchronization
US7796651B2 (en) * 2005-03-02 2010-09-14 Nokia Corporation See what you see (SWYS)
ES2745045T3 (en) 2005-04-22 2020-02-27 Audinate Pty Ltd Network, device and method to transport digital media
US8068515B2 (en) * 2005-06-22 2011-11-29 Cisco Technology, Inc. Faster multimedia synchronization of broadcast streams using router caching of RTCP packets
DE102005036734A1 (en) * 2005-08-04 2007-02-08 Robert Bosch Gmbh Telecommunication device with a wireless interface and method for operating a telecommunication device
US7842031B2 (en) * 2005-11-18 2010-11-30 Medtronic Cryocath Lp Bioimpedance measurement system and method
JP4509921B2 (en) * 2005-12-14 2010-07-21 日本電信電話株式会社 Wireless communication system and wireless communication method
US7539889B2 (en) * 2005-12-30 2009-05-26 Avega Systems Pty Ltd Media data synchronization in a wireless network
US8677002B2 (en) 2006-01-28 2014-03-18 Blackfire Research Corp Streaming media system and method
JP2007274019A (en) * 2006-03-30 2007-10-18 Matsushita Electric Ind Co Ltd Digital information distribution system and method
EP2033360B1 (en) 2006-05-17 2015-12-02 Audinate Pty Limited Redundant media packet streams
US8239559B2 (en) 2006-07-15 2012-08-07 Blackfire Research Corp. Provisioning and streaming media to wireless speakers from fixed and mobile media sources and clients
US7945277B2 (en) * 2006-07-26 2011-05-17 Sony Ericsson Mobile Communications Ab Use of media timestamp to indicate delays in push-to-talk over cellular group calls
US7941477B2 (en) * 2006-07-26 2011-05-10 V V S Virtual Video Systems Video and multimedia distribution system
CN1960485B (en) * 2006-08-29 2011-12-07 中兴通讯股份有限公司 Method for playing back video and audio synchronistically in mobile media broadcast
US20080077261A1 (en) * 2006-08-29 2008-03-27 Motorola, Inc. Method and system for sharing an audio experience
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US12167216B2 (en) 2006-09-12 2024-12-10 Sonos, Inc. Playback device pairing
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US9083994B2 (en) * 2006-09-26 2015-07-14 Qualcomm Incorporated Method and system for error robust audio playback time stamp reporting
JP4935345B2 (en) 2006-12-25 2012-05-23 ソニー株式会社 Content reproduction system, reproduction apparatus, reproduction control method, and program
CN101212690B (en) * 2006-12-26 2011-04-20 中兴通讯股份有限公司 Method for testing lip synchronization for multimedia audio/video stream
US8224147B2 (en) 2007-04-15 2012-07-17 Avid Technologies, Inc. Interconnected multimedia systems with synchronized playback
US7724780B2 (en) * 2007-04-19 2010-05-25 Cisco Technology, Ink. Synchronization of one or more source RTP streams at multiple receiver destinations
CN101137066B (en) * 2007-05-11 2011-01-05 中兴通讯股份有限公司 Multimedia data flow synchronous control method and device
CN101731011B (en) 2007-05-11 2014-05-28 奥迪耐特有限公司 Systems, methods and computer-readable media for configuring receiver latency
US8320410B2 (en) 2007-05-23 2012-11-27 Broadcom Corporation Synchronization of media data streams with separate sinks using a relay
US8102836B2 (en) 2007-05-23 2012-01-24 Broadcom Corporation Synchronization of a split audio, video, or other data stream with separate sinks
US20090017868A1 (en) * 2007-07-13 2009-01-15 Joji Ueda Point-to-Point Wireless Audio Transmission
US7936790B2 (en) * 2007-08-30 2011-05-03 Silicon Image, Inc. Synchronizing related data streams in interconnection networks
JP4967945B2 (en) * 2007-09-13 2012-07-04 ヤマハ株式会社 Terminal device and data distribution system
US8743284B2 (en) * 2007-10-08 2014-06-03 Motorola Mobility Llc Synchronizing remote audio with fixed video
GB2454493A (en) * 2007-11-08 2009-05-13 Cambridge Silicon Radio Ltd Improved bluetooth clock accuracy
JP2009159401A (en) * 2007-12-27 2009-07-16 Rohm Co Ltd Radio communication system
WO2009099366A1 (en) * 2008-02-05 2009-08-13 Telefonaktiebolaget L M Ericsson (Publ) A method of transmitting sychnronized speech and video
WO2009098669A2 (en) * 2008-02-08 2009-08-13 Nxp B.V. Audio streaming system and method for continuously synchronizing streamed audio data files
KR100916505B1 (en) * 2008-02-20 2009-09-08 한국전자통신연구원 Method and apparatus for supporting synchronization of scalable video coding information with advanced audio coding information using normal playback time
CN102017652B (en) * 2008-02-29 2015-05-13 奥迪耐特有限公司 Network devices, methods and/or systems for use in a media network
US8654988B2 (en) * 2008-05-05 2014-02-18 Qualcomm Incorporated Synchronization of signals for multiple data sinks
JP5316189B2 (en) * 2008-05-23 2013-10-16 ヤマハ株式会社 AV system
US20090298420A1 (en) * 2008-05-27 2009-12-03 Sony Ericsson Mobile Communications Ab Apparatus and methods for time synchronization of wireless audio data streams
US8639830B2 (en) * 2008-07-22 2014-01-28 Control4 Corporation System and method for streaming audio
US8776144B2 (en) 2008-10-16 2014-07-08 Industrial Technology Research Institute Mobile TV system and method for synchronizing the rendering of streaming services thereof
TWI393431B (en) * 2008-10-16 2013-04-11 Ind Tech Res Inst Mobile tv system and method for synchronizing the rendering of streaming services thereof
EP2180655A1 (en) * 2008-10-27 2010-04-28 Thomson Licensing SA Method of transmission af a digital content stream and corresponding method of reception
ES2536556T3 (en) * 2009-02-20 2015-05-26 Thomson Licensing Time synchronized resource reservation on networks with switched packets
DE102009028645B4 (en) 2009-08-19 2014-04-03 Raumfeld Gmbh Method and arrangement for the synchronization of data streams in networks and a corresponding computer program and a corresponding computer-readable storage medium
GB0921668D0 (en) * 2009-12-10 2010-01-27 Vocality Internat Ltd Media over IP perfomance enhancement
EP3627798A1 (en) 2010-01-27 2020-03-25 Koninklijke KPN N.V. Method, system and device for synchronization of media streams
JP5454248B2 (en) * 2010-03-12 2014-03-26 ソニー株式会社 Transmission device and transmission method
KR101490576B1 (en) * 2010-05-04 2015-02-11 샤잠 엔터테인먼트 리미티드 Methods and systems for syschronizing media
FR2962875B1 (en) * 2010-07-15 2012-08-17 Soledge SYNCHRONIZED DIFFUSION OF FLOW
US10712771B2 (en) * 2010-08-13 2020-07-14 Netflix, Inc. System and method for synchronized playback of streaming digital content
GB2486183A (en) * 2010-12-03 2012-06-13 Cambridge Silicon Radio Ltd Time stamps are added to data transmitted via Bluetooth® connections to facilitate synchronised output of the data from a plurality of devices.
US8643696B2 (en) * 2011-01-19 2014-02-04 Broadcom Corporation Synchronizing media streams using time signal(s) from an independent time source
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
US8938312B2 (en) 2011-04-18 2015-01-20 Sonos, Inc. Smart line-in processing
US8677006B2 (en) * 2011-05-05 2014-03-18 Microsoft Corporation Processing media streams
US9042556B2 (en) 2011-07-19 2015-05-26 Sonos, Inc Shaping sound responsive to speaker orientation
US9712573B2 (en) 2011-09-13 2017-07-18 Qualcomm Incorporated Synchronized wireless display devices
US9455885B2 (en) * 2011-10-13 2016-09-27 General Electric Company Systems, methods, and apparatus for modifying sensor time stamp data
US9344292B2 (en) 2011-12-30 2016-05-17 Sonos, Inc. Systems and methods for player setup room names
US8817725B2 (en) * 2012-01-13 2014-08-26 Blackberry Limited Scheduling transmission of traffic treated less preferentially despite timing requirements
EP2615880B1 (en) * 2012-01-13 2014-04-09 BlackBerry Limited Scheduling transmission of traffic treated less preferentially despite timing requirements
EP2632066B1 (en) * 2012-02-27 2016-01-06 OMS Software GmbH Method and and devices for synchronising an output of machine-readable data
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
US9787523B2 (en) * 2012-07-05 2017-10-10 Eric Lazarus Managing data in a data queue including synchronization of media on multiple devices
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
FR3000864B1 (en) * 2013-01-10 2015-02-27 Awox SOUND SIGNAL DIFFUSION SYNCHRONIZATION DEVICE AND SOUND DIFFUSER
US9510055B2 (en) 2013-01-23 2016-11-29 Sonos, Inc. System and method for a media experience social interface
US20140214961A1 (en) * 2013-01-31 2014-07-31 Lance Gordon Douglas Methods and systems for continuous compilation of non-interactive video with supplemental renderings of interactive content to produce real-time, personalized video for individuals and/or groups in a shared experience
US9654545B2 (en) 2013-09-30 2017-05-16 Sonos, Inc. Group coordinator device selection
US20150095679A1 (en) 2013-09-30 2015-04-02 Sonos, Inc. Transitioning A Networked Playback Device Between Operating Modes
US9288596B2 (en) 2013-09-30 2016-03-15 Sonos, Inc. Coordinator device for paired or consolidated players
US9720576B2 (en) 2013-09-30 2017-08-01 Sonos, Inc. Controlling and displaying zones in a multi-zone system
US9244516B2 (en) 2013-09-30 2016-01-26 Sonos, Inc. Media playback system using standby mode in a mesh network
US9301268B2 (en) 2013-11-08 2016-03-29 Nokia Technologies Oy Device synchronization
US9300647B2 (en) 2014-01-15 2016-03-29 Sonos, Inc. Software application and zones
US20150220498A1 (en) 2014-02-05 2015-08-06 Sonos, Inc. Remote Creation of a Playback Queue for a Future Event
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
WO2015122814A1 (en) * 2014-02-14 2015-08-20 Telefonaktiebolaget L M Ericsson (Publ) Synchronising playing of streaming content on plural streaming clients
US9723580B2 (en) * 2014-02-21 2017-08-01 Summit Semiconductor Llc Synchronization of audio channel timing
US10582461B2 (en) 2014-02-21 2020-03-03 Summit Wireless Technologies, Inc. Software based audio timing and synchronization
US10602468B2 (en) 2014-02-21 2020-03-24 Summit Wireless Technologies, Inc. Software based audio timing and synchronization
US9679054B2 (en) 2014-03-05 2017-06-13 Sonos, Inc. Webpage media playback
JP2015171065A (en) * 2014-03-10 2015-09-28 富士通株式会社 System and method
US9319792B1 (en) * 2014-03-17 2016-04-19 Amazon Technologies, Inc. Audio capture and remote output
US10587693B2 (en) 2014-04-01 2020-03-10 Sonos, Inc. Mirrored queues
US20150324552A1 (en) 2014-05-12 2015-11-12 Sonos, Inc. Share Restriction for Media Items
US20150356084A1 (en) 2014-06-05 2015-12-10 Sonos, Inc. Social Queue
CN104079957B (en) * 2014-06-25 2017-09-01 广东欧珀移动通信有限公司 Method and system for synchronous operation of multimedia equipment
US10209947B2 (en) 2014-07-23 2019-02-19 Sonos, Inc. Device grouping
US9874997B2 (en) 2014-08-08 2018-01-23 Sonos, Inc. Social playback queues
US9860286B2 (en) 2014-09-24 2018-01-02 Sonos, Inc. Associating a captured image with a media item
US9667679B2 (en) 2014-09-24 2017-05-30 Sonos, Inc. Indicating an association between a social-media account and a media playback system
US9959087B2 (en) 2014-09-24 2018-05-01 Sonos, Inc. Media item context from social media
US9690540B2 (en) 2014-09-24 2017-06-27 Sonos, Inc. Social media queue
WO2016049342A1 (en) 2014-09-24 2016-03-31 Sonos, Inc. Social media connection recommendations based on playback information
US10645130B2 (en) 2014-09-24 2020-05-05 Sonos, Inc. Playback updates
US9723038B2 (en) 2014-09-24 2017-08-01 Sonos, Inc. Social media connection recommendations based on playback information
US11044386B1 (en) 2014-12-18 2021-06-22 The Directv Group, Inc. Method and system for synchronizing playback of independent audio and video streams through a network
US9788140B2 (en) 2014-12-31 2017-10-10 Qualcomm Technologies International, Ltd. Time to play
CN106302378B (en) * 2015-05-25 2020-09-22 恩智浦美国有限公司 Multimedia system and method for stream synchronization
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
CN105306110B (en) * 2015-09-18 2018-08-17 深圳市冠旭电子股份有限公司 A kind of method and system realized synchronous music and played
US10303422B1 (en) 2016-01-05 2019-05-28 Sonos, Inc. Multiple-device setup
US9886234B2 (en) 2016-01-28 2018-02-06 Sonos, Inc. Systems and methods of distributing audio to one or more playback devices
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
US10241748B2 (en) * 2016-12-13 2019-03-26 EVA Automation, Inc. Schedule-based coordination of audio sources
US10009862B1 (en) * 2017-09-06 2018-06-26 Texas Instruments Incorporated Bluetooth media device time synchronization
JP7213771B2 (en) 2019-07-22 2023-01-27 株式会社ディーアンドエムホールディングス Wireless Audio Systems, Wireless Speakers, and How to Join Wireless Speaker Groups
CN112105005B (en) * 2019-08-30 2024-05-03 炬力(珠海)微电子有限公司 Method and device for controlling Bluetooth equipment to play
FR3109047B1 (en) * 2020-04-01 2022-03-04 Sagemcom Broadband Sas Method of applying equalization parameter set
CN111586152B (en) * 2020-04-30 2023-06-02 北京小米移动软件有限公司 Bluetooth transmission data playing method and device and Bluetooth transmission data sending method and device
CN113438385B (en) * 2021-06-03 2023-04-04 深圳市昊一源科技有限公司 Video synchronization method and wireless image transmission system
CN114826474B (en) * 2022-04-28 2025-02-18 Oppo广东移动通信有限公司 Audio data processing system, method, device, electronic device and storage medium
EP4287626A1 (en) * 2022-06-02 2023-12-06 Airbus S.A.S. System and method for synchronized data playback and aircraft

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02122800A (en) * 1988-10-31 1990-05-10 Matsushita Electric Ind Co Ltd Sound reproducing device
JPH04176299A (en) * 1990-11-09 1992-06-23 Matsushita Electric Ind Co Ltd On-vehicle acoustic reproducing device
WO1995025313A1 (en) * 1994-03-16 1995-09-21 International Business Machines Corporation Method and apparatus for synchronization and scheduling of multiple data streams and real time tasks
GB2298951B (en) * 1995-03-17 1999-10-27 Olivetti Res Ltd Addition of time information
JPH099386A (en) * 1995-06-21 1997-01-10 Mitsubishi Cable Ind Ltd Speaker system
US6360271B1 (en) * 1999-02-02 2002-03-19 3Com Corporation System for dynamic jitter buffer management based on synchronized clocks
JP2001127712A (en) 1999-10-29 2001-05-11 Yazaki Corp Sound system
JP4083361B2 (en) * 1999-12-21 2008-04-30 パイオニア株式会社 Information reproduction system
US6778493B1 (en) * 2000-02-07 2004-08-17 Sharp Laboratories Of America, Inc. Real-time media content synchronization and transmission in packet network apparatus and method
JP2001275194A (en) * 2000-03-27 2001-10-05 Aiwa Co Ltd Speaker system, information transmitter and speaker unit
US7031306B2 (en) * 2000-04-07 2006-04-18 Artel Video Systems, Inc. Transmitting MPEG data packets received from a non-constant delay network
US6801505B1 (en) * 2000-11-28 2004-10-05 Qosmetrics, Inc. Method of using computer equipment to send a time-stamped frame
US7530086B2 (en) * 2000-12-12 2009-05-05 Hewlett-Packard Development Company, L.P. Media program timing and identity delivery method and system
US6947417B2 (en) * 2001-06-29 2005-09-20 Ip Unity Method and system for providing media services
US7161939B2 (en) * 2001-06-29 2007-01-09 Ip Unity Method and system for switching among independent packetized audio streams
US7016348B2 (en) * 2001-08-28 2006-03-21 Ip Unity Method and system for direct access to web content via a telephone
US7047308B2 (en) * 2001-08-31 2006-05-16 Sharp Laboratories Of America, Inc. System and method for simultaneous media playout
US7269141B2 (en) * 2002-09-24 2007-09-11 Accton Technology Corporation Duplex aware adaptive playout method and communications device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012042017A2 (en) 2010-09-30 2012-04-05 Schneider Electric Automation Gmbh Method and system for recording, synchronizing and analysing data by means of analysis devices which are spatially distributed in a communication network
DE102010037906A1 (en) * 2010-09-30 2012-04-05 Schneider Electric Automation Gmbh Method and system for recording, synchronizing and analyzing data by means of spatially distributed analysis devices in a communication network
DE102010037906B4 (en) * 2010-09-30 2014-02-27 Schneider Electric Automation Gmbh Method and system for recording, synchronizing and analyzing data by means of spatially distributed analysis devices in a communication network

Also Published As

Publication number Publication date
US7675943B2 (en) 2010-03-09
CN1489356A (en) 2004-04-14
JP4559050B2 (en) 2010-10-06
EP1398931B1 (en) 2006-05-03
DE60211157D1 (en) 2006-06-08
JP2004104796A (en) 2004-04-02
US20040228367A1 (en) 2004-11-18
CN1489356B (en) 2010-04-14
EP1398931A1 (en) 2004-03-17

Similar Documents

Publication Publication Date Title
DE60211157T2 (en) Synchronous playback of media packages
US20230269423A1 (en) Fast Tune-In for Low Latency Streaming
DE60110002T2 (en) System for transmitting streaming data and repeaters therefor
DE112012002526B4 (en) Media content transmission method and transmission apparatus using the same
DE69637212T2 (en) Data transmission device, data receiving device and control device for data transmission
CN102752669B (en) The transfer processing method of multichannel real time flow medium file and system, receiving system
DE112006002677T5 (en) Method and apparatus for RTP output streaming using complementary directional files
DE102010018376A1 (en) Dynamic buffering and synchronization of related media streams in packet networks
US20150229676A1 (en) Communication Receiver
DE112012002159T5 (en) Context-aware client buffer thresholds
DE60220802T2 (en) METHOD OF DISTRIBUTING CONTENTS OF A DETECTION SERVER AND RECEIVER
EP1425885B1 (en) Method and system for transmitting data from a first data network into a second data network
DE102010003248B4 (en) Method and device for processing data in a network of a vehicle
JP7247707B2 (en) Transmission node, broadcasting station system, control node and transmission control method
CN110602524B (en) Method, device and system for synchronizing multi-channel digital streams and storage medium
DE102007026531A1 (en) Method for synchronizing scene data files and media data streams in a unidirectional data transmission system
JP7334442B2 (en) Broadcast signal processing system and broadcast signal processing method
DE102006036562B4 (en) Method and system for transmitting data streams related to one another and / or for synchronizing data streams related to one another
KR100640918B1 (en) How to Create a Stream File for an Internet Streaming Service
Sithu et al. Media synchronization control in multimedia communication
WO2018036245A1 (en) Method and apparatus for bandwidth management, and storage medium
WO2016128145A1 (en) Method for transmitting data in a multimedia system, and software product and device for controlling the transmission of data in a multimedia system
JP2020022082A (en) Stream distribution system with segment file division function and program
DE102010005682B4 (en) Method and device for processing data in a vehicle
DE102018108784B4 (en) Method for sending a digital video signal to a receiving device, processing unit and computer program product

Legal Events

Date Code Title Description
8364 No opposition during term of opposition