EP-3679749-B1 - BLUETOOTH MEDIA DEVICE TIME SYNCHRONIZATION
Inventors
- MALOVANY, RAM
- LOEWY, CHEN
- ZIV, DOTAN
- LEVY, DAVID
Dates
- Publication Date
- 20260506
- Application Date
- 20180906
Claims (16)
- A method of Bluetooth, BT, synchronized media streaming, the method comprising: configuring (501) BT media devices (400) in a scatternet chain including a first, second and third BT media device each including a BT controller (425b) comprising a processor running a stored time synchronization algorithm and having a local clock and a network clock; the first BT media device receiving (502) a stream of encoded media data from a BT digital media stream sending device; the time synchronization algorithm of the first BT media device formatting (503) at least a first BT media packet including the encoded media data, an address for the second BT media device, and time synchronization information for the second BT media device comprising the first BT media packet's play start time including a delay time, and a cumulative clock drift counted thus far in the chain; the first BT media device transmitting (504) the first BT media packet to the second BT media device; the time synchronization algorithm of the second BT media device formatting (505) at least a second BT media packet including the encoded media data, an address for the third BT media device, and updated time synchronization information for the third BT media device including the second BT media packet's play start time including a time of the local clock of the second BT controller, the second BT controller clock's drift and the delay time value, and the cumulative clock drift counted thus far in the device chain now including the clocks of the second BT media device, the second BT media device transmitting (506) the second BT media packet to the third BT media device, and the time synchronization algorithms beginning synchronized playing (507) of the stream of encoded media data including the first BT media device playing after the delay time is reached, the second BT device playing after the first BT media packet's play start time is reached, and the third BT media device playing after the second BT media packet's play start time is reached; wherein the delay time is at least 50 msec and is selected to enable sufficient time for all the BT media devices to store a predetermined plurality of the BT media packets in their memory before initiating the playing.
- The method of claim 1, wherein the BT media devices each comprise BT Advanced Audio Distribution Profile, A2DP, speakers and the BT digital media stream sending device comprises an A2DP audio data source.
- The method of claim 2, wherein the BT A2DP speakers span different rooms that are in a BT range, further comprising invoking an application programming interface, API, to enable multi-room speaker operation.
- The method of claim 1, wherein the synchronization information is in a preamble of the first BT media packet and in a preamble of the second BT media packet.
- The method of claim 1, wherein the BT media devices provide a synchronization level of < 50 µsec at beginning of the synchronized playing.
- The method of claim 1, further comprising at a time after the beginning the synchronized playing, updating the first BT media packet and updating the second BT media packet both with a new the stream of encoded media data and to reflect updated clock drift values for the BT controller clock's drift and a cumulative drift counted, the second BT media device and the third BT media device using the updated clock drift values to change a time for playing to compensate for clock drift.
- The method of claim 1, wherein the BT controller is formed on an integrated circuit, IC comprising a substrate having at least a semiconductor surface, wherein the processor comprises a digital signal processor, DSP.
- A Bluetooth, BT, controller (425b), comprising: a processor (423) coupled to a memory (422) and to a transceiver (424), an RF driver (424a) for driving the transceiver which is adapted to be coupled to an antenna (418), the memory including software (422a) for parsing, understanding and acting on commands received from a host processor (425a), the BT controller (425b) is adapted to run firmware comprising a time synchronization algorithm stored in the memory, and having a local clock (408) and a network clock (409); wherein the BT controller (425b) is adapted to receive a first BT media packet from a first BT media device (400) in a scatternet chain including a second BT media device (400) comprising the controller, and a third BT media device (400), the time synchronization algorithm of the first BT media device formatting at least the first BT media packet including a stream of encoded media data originating from a BT digital media stream sending device and time synchronization information for the second BT media device comprising the first BT media device's packet's play start time including a delay time, and a cumulative clock drift counted thus far in the chain comprising a time difference between the local clock and the network clock of the first BT media device; the second BT media device is adapted to use a time from its local clock to run the time synchronization algorithm of the second BT media device to format at least a second BT media packet including the encoded media data, an address for the third BT media device, and wherein the updated time synchronization information for the third BT media device includes the second BT media packet's play start time including the local clock of a second the BT controller, the second BT controller's clock drift and the delay time value, and a cumulative drift counted thus far in the device chain now including the clocks of the second BT media device, and wherein after the second BT media device transmits the second BT media packet to the third BT media device, time synchronization algorithms begin synchronized playing of the stream of encoded media data including the second BT device playing after the first BT media packet's play start time is reached, with the first BT media device playing after the delay time is reached and the third BT media device playing after the second BT media packet's play start time is reached; and wherein the delay time is at least 50 msec and is selected to enable sufficient time for all the BT media devices to store a predetermined plurality of the BT media packets in their memory before initiating the playing.
- The BT controller (425b) of claim 8, wherein the BT controller formed on an integrated circuit, IC, comprising a substrate (405a) having at least a semiconductor surface, and wherein the processor comprises a digital signal processor, DSP.
- The BT controller (425b) of claim 8, wherein the first, second and third BT media devices (400) each comprise BT Advanced Audio Distribution Profile, A2DP, speakers (SPEAKER 1, SPEAKER 2, SPEAKER 3) and the BT digital media stream sending device comprises an A2DP audio data source (120).
- The BT controller (425b) of claim 8, wherein the synchronization information is in a preamble of the first BT media packet and in a preamble of the second BT media packet.
- The BT controller (425b) of claim 8, wherein the first, second and third BT media devices (400) provide a synchronization level of < 50 µsec at beginning of the synchronized playing.
- A Bluetooth, BT, media device (400), comprising: a host processor (425a) and a BT controller (425b) according to claim 8 coupled to one another by a Host Controller Interface, HCI, including a Host Controller Transport Layer and a HCI Driver, the host processor (425a) implementing an applications layer and including HCI Firmware for communicating via the Host Controller Transport Layer with the BT controller (425b), the BT media device (400) configured as the second BT media device in the scatternet chain of claim 8 including the first BT media device (400) and the third BT media device (400) for being coupled to the second BT media device;
- The BT device of claim 13, wherein the first, the second and the third BT media devices (400) each comprise BT Advanced Audio Distribution Profile, A2DP, speakers (SPEAKER 1, SPEAKER 2, SPEAKER 3) and the BT digital media stream sending device comprises an A2DP audio data source (120).
- The BT device of claim 13, wherein the synchronization information is in a preamble of the first BT media packet and in a preamble of the second BT media packet.
- The BT device of claim 13, wherein the first, the second and the third BT media devices (400) provide a synchronization level of < 50 µsec at beginning of the synchronized playing.
Description
This relates generally to wireless communications, and more particularly to wireless device communication of media data (video or audio data) using Bluetooth. BACKGROUND Bluetooth (BT) is an example of an ad-hoc networking technology which is the wireless communication standard generally used when transferring information between two or more devices that are near to one another when speed is not an issue, including telephones, printers, modems and headsets. BT is well suited for low-bandwidth applications including transferring sound data with telephones (e.g., with a BT headset) or byte data with hand-held computers (transferring files) or from keyboards or mice. The BT Special Interest Group (SIG) specification may be used for these communications. BT devices support high quality audio distribution. A conventional use case is the streaming of music content from a stereo music player to headphones or speakers. The audio data is compressed in a proper format for efficient use of the limited bandwidth. Another use case is the synchronizing of the picture and speech in a movie, for example. A BT profile is a specification regarding an aspect of BT-based wireless communication between devices. The BT profile resides on top of the BT core specification and optionally other additional protocols. The Audio/Video Distribution Transport Protocol (AVDTP) comprises a signaling entity for negotiation of audio streaming parameters and a transport entity that handles streaming itself. AVDTP is used by the advanced audio distribution profile to stream music to stereo headsets over a Logical Link Control and Adaptation Layer Protocol (L2CAP) channel intended for the video distribution profile in the BT transmission. The Advanced Audio Distribution Profile (A2DP), sometimes referred to as BT audio streaming, mandates usage of AVDTP. Most smartphones today are capable of connecting to A2DP devices and transmitting audio. A2DP defines a BT protocol and procedures that realizes distribution of audio content of high-quality audio in mono or stereo on asynchronous connection-less (ACL) channels. A2DP effectively transforms a BT connection into an invisible auxiliary audio cable. For example, using A2DP music can be streamed from a mobile phone, to a wireless headset, hearing aid/cochlear implant streamer, car audio, or streamed from a laptop/desktop to a wireless headset. Voice can be streamed from a microphone device to a recorder. Prior art document "Practical time synchronization for Bluetooth Scatternets", MATTHIAS RINGWALD ET AL, BROADBAND COMMUNICATIONS, FOURTH INTERNATIONAL CONFERENCE ON NETWORKS AND SYSTEMS, 2007. BROADNETS 2007, IEEE, PISCATAWAY, NJ, USA, 10 September 2007 (2007-09-10), pages 337-345 discusses use of Bluetooth scatternets for robust wireless multi-hop networks. It proposes a practical protocol for time synchronization of such Bluetooth multi-hop networks. BT does not have any inherent way to synchronize audio between respective BT devices such as speakers. In the BT SIG specification, a synchronization code is embedded in the preamble of each BT packet to assist the receive device's timing synchronization process for each packet that is received. Unlike WiFi, due to lower relative power used for BT transmissions, BT has very limited broadcast capabilities. Moreover, broadcast in BT is not guaranteed to be received, because no baseband acknowledgement (ACK) frame is provided by the receiving devices. Synchronization can be performed at the device's host processor level which requires significant extra power and is also relatively complicated to implement. Current known audio synchronization solutions generally only support two audio devices configured in a pico-net topology, generally with the master as the audio transmitter and the slave as the sole audio receiver. SUMMARY In described examples of user media applications (such as audio applications including surround sound, social music playing, jukebox applications, and the ad-hoc addition of a speaker to a network of BT speakers), separate (non-electrically connected) BT speakers connect and play from the same audio stream over the same BT connection. For these audio applications to provide good sound quality, a need exists for accurate time synchronization for all BT speakers, so that (when playing) they are heard by the user as all playing at the same time, such as over standard BT A2DP. Although described embodiments distribute streamed audio from standard A2DP sources, described embodiments can be used for generally any group of BT devices that implement A2DP, such as to synchronize the picture and the speech in a movie. By configuring the BT media devices in a scatternet and thus in a device chain, and using time synchronization information from each BT controller's local clock and network clock in a new BT packet, the BT controller of the BT devices can receive the media (e.g., audio) stream from an external source device (e.g., an A2DP source