WO2006007322B1 - Providing synchronized information to multiple devices - Google Patents

Providing synchronized information to multiple devices

Info

Publication number
WO2006007322B1
WO2006007322B1 PCT/US2005/020139 US2005020139W WO2006007322B1 WO 2006007322 B1 WO2006007322 B1 WO 2006007322B1 US 2005020139 W US2005020139 W US 2005020139W WO 2006007322 B1 WO2006007322 B1 WO 2006007322B1
Authority
WO
WIPO (PCT)
Prior art keywords
ring buffer
information
communicated information
communicated
current position
Prior art date
Application number
PCT/US2005/020139
Other languages
French (fr)
Other versions
WO2006007322A3 (en
WO2006007322A2 (en
Inventor
Jeffrey C Moore
William G Stewart
Gerhard H Lengeling
Original Assignee
Apple Computer
Jeffrey C Moore
William G Stewart
Gerhard H Lengeling
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 Apple Computer, Jeffrey C Moore, William G Stewart, Gerhard H Lengeling filed Critical Apple Computer
Priority to EP05758075.5A priority Critical patent/EP1769639B1/en
Priority to EP19154011.1A priority patent/EP3503540A1/en
Publication of WO2006007322A2 publication Critical patent/WO2006007322A2/en
Publication of WO2006007322A3 publication Critical patent/WO2006007322A3/en
Publication of WO2006007322B1 publication Critical patent/WO2006007322B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43076Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of the same content streams on multiple devices, e.g. when family members are watching the same movie on different devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4143Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a Personal Computer [PC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements

Abstract

A system communicates with an aggregate device that includes multiple devices. When providing to-be-communicated information for playback, the system compensates for presentation latency differences between the various devices. In addition, the system adjusts for device clock drift by selecting a master device and resampling the to-be-communicated information provided to the other devices based on the difference between the device clock of the master device and the device clocks of the other devices.

Claims

AMENDED CLAIMS[received by the International Bureau on 12 May 2006 (12.05.06); original claims 2, 5, 8, 12, and 21 amended; remaining claims unchanged (10 pages)]+ STATEMENT
1. (original) A method of handling to-be-communicated information, the method comprising: placing to-be-communicated information into each of a plurality of buffers for synchronized consumption by a plurality of devices ; wherein each device of the plurality of devices consumes to-b e-eommunicated information from a corresponding buffer of the plurality of buffers; and determining where to place to-be-communicated information within a particular buffer of the plurality of buffers based, at least in part, on presentation latency of a device that corresponds to a different buffer of the plurality of buffers.
2. (currently amended) The method of Claim [[2]] 1 further comprising: allocating the plurality of ring buffers for the plurality of devices, including a first ring buffer for a first device and a second ring buffer for a second device; writing to-be-communicated information, for synchronized playback on each of the plurality of devices, into each of the plurality of ring buffers; upon reaching the end of any ring buffer while writing to-be-communicated information to the ring buffer, performing a wrap-around operation to continue writing the to-be-communicated information, beginning at the start of the ring buffer; upon reaching the end of any ring buffer while reading to-be-communicated information from the ring buffer, the corresponding device performing a wrap-around operation to continue reading the to-be-communicated information beginnhig at the start of the ring buffer; the first device currently reading to-be-communicated information from a first current position in the first ring buffer; the second device currently reading to-be-communicated information from a second current position in the second ring buffer; and wherein writing the to-be-communicated information includes selecting how far ahead of the first current position to write to-be-communicated information in the first ring buffer based, at least in part, on latency between when the second device reads data from the second ring buffer and when the second device plays the to-be-communicated information.
3. (original) The method of Claim 2 further comprising: storing first timestamp information when the first device performs a wrap-around operation while reading to-bo-communicated information from the first ring buffer; and storing second timestamp information when the second device performs a wrap- around operation while reading to-be-communicated information from the second ring buffer.
4. (original) The method of Claim 2 wherein selecting how far ahead of said first current position to write to-be-communicated information in said first ring buffer includes: receiving first latency information from said first device; and receiving second latency information from said second device.
5. (currently amended) The method of Claim 2, further comprising: receiving first safety offset information from said first device, wherein said first safety offset information identifies a minimum amount ahead of said first current position to write to-be-communicated information in said first ring buffer; receiving second safety offset information from said second device, wherein said second safety offset information identifies a minimum amount ahead of said second current position to write to-be-communicated information in said second ring buffer; and based on said first safety offset information and said second safety offset information, selecting how far ahead of said first current position to write to-be- communicated information in said first ring buffer based on latency between when the second device reads data from the second ring buffer and when the second device plays the to-be-communicated information.
6. (original) A computer apparatus comprising: a memory; and one or more processors coupled to the memory and configured to execute one or more sequence of instructions for providing to-be-communicated information to multiple devices, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: allocating a plurality of ring buffers for a plurality of devices, including a first ring buffer for a first device and a second ring buffer for a second device; writing to-be-cornmunicated information, for synchronized playback on each of the plurality of devices, into each of the plurality of ring buffers; upon reaching the end of any ring buffer while writing to-be-communicated information to the ring buffer, performing a wrap-around operation to continue writing the to-be-communicated information beginning at the start of the ring buffer; upon reaching the end of any ring buffer while reading to-be-communicated information from the ring buffer, the corresponding device performing a wrap-around operation to continue reading the to-be-communicated information beginning at the start of the ring buffer; the first device currently reading to-be-communicated information from a first current position in the first ring buffer; the second device currently reading to-be-communicated information from a second current position in the second ring buffer; and wherein writing the to-be-communicated information includes selecting how far ahead of the first current position to write to-be-communicated information in the first ring buffer based, at least in part, on latency between when the second device reads data from the second ring buffer and when the second device plays the to-be-communicated information.
7. (original) The computer apparatus of Claim 6 further comprising the steps of: storing first timestamp information when the first device performs a wrap-around operation while reading to-be-communicated information from the first ring buffer; and storing second timestamp information when the second device performs a wrap- around operation while reading to-be-communicated information from the second ring buffer.
8. (currently amended) The computer apparatus of Claim 6 wherein selecting how far ahead of said first current position to write to-be-communicated information in said first ring buffer includes: receiving first latency information from said first device; and receiving second latency information from said second device[[;]].
9. (original) The computer apparatus of Claim 6, further comprising instructions for providing to-be-communicated information to multiple devices, which rastructions, when executed by one or more processors, cause the one or more processors to carry out the steps of: receiving first safety offset information from said first device, wherein said first safety offset information identifies a minimum amount ahead of said first current position to write to-be-communicated information in said first ring buffer; receiving second safety offset information from said second device, wherein said second safety offset information identifies a minimum amount ahead of said second current position to write to-be-communicated information in said second ring buffer; and, based on said first safely offset information and said second safety offset information, selecting how far ahead of said first current position to write to-be- communicated information in said first ring buffer based on latency between when the second device reads data from the second ring buffer and when the second device plays the to-be-communicated information.
10. (original) A method of handling to-be-communicated information, the method comprising: placing to-be-communicated information into each of a plurality of buffers for synchronized consumption by a plurality of devices; wherein each device of the plurality of devices consumes to-be-communicated information from a corresponding buffer of the plurality of buffers; and resampling the to-be-communicated information placed into a particular buffer of the plurality of buffers based, at least in part, on device clock rate difference between the device that corresponds to the buffer and one or device clock rates of one or more other devices of the plurality of devices.
11. (original) The method of Claim 10, further comprising: allocating the plurality of ring buffers for the plurality of devices, including a first ring buffer for a first device and a second ring buffer for a second device; writing to-be-communicated information, for synchronized playback on each of the plurality of devices, into each of the plurality of ring buffers; upon reaching the end of any ring buffer while writing to-be-communicated information to the ring buffer, performing a wrap-around operation to continue writing the to-be-communicated information beginning at the start of the ring buffer; upon reaching the end of any ring buffer while reading to-be-communicated information from the ring buffer, the corresponding device performing a wrap-around operation to continue reading the to-be-communicated information beginning at the start of the ring buffer; the first device currently reading to-be-communicated information from a first current position in the first ring buffer; the second device currently reading to-be-communicated information from a second current position in the second ring buffer; storing first timestamp information when the first device performs a wrap-around operation while reading to-be-communicated information from the first buffer; storing second timestamp information when the second device performs a wrap- around operation while reading to-be-cornmunicated information from the second buffer; determining a timing difference between the first device and the second device based, at least in part, on the first timestamp information and the second timestamp information; and resampling the to-be-communicated information to be written, to the second ring buffer based on the timing difference.
12, (currently amended) The method of Claim 11, further comprising: selecting one of said first and second devices as a master device based, at least in part, on latency information received from said first and second devices: and determining a timing difference between said master device and any device of said plurality of devices; wherein, resampling the to-be-communicated information to be written to any buffer of said plurality of buffers for a plurality of devices is based on said timing difference,
13. (original) The method of Claim 11, wherein resampling the to-be-communicated information to be written to said second ring buffer based on said timing difference further comprises increasing the rate at which to-be-communicated information is written to said second ring buffer.
14, (original) The method of Claim 11 , wherein resampling the to-be-communicated information to be written to said second ring buffer based on said timing difference further comprises decreasing the rate at which to-be-communicated information is written to said second ring buffer.
15. (original) A method of handling to-be-communicated information, the method comprising: using a single thread of execution to place to-be-communicated information into each of a plurality of ring buffers for synchronized consumption by a plurality of devices; and wherein each device of the plurality of devices consumes to-be-communicated information from a corresponding buffer of the plurality of buffer.
16. (original) The method of Claim 15 further comprising: allocating the plurality of ring buffers for the plurality of devices, including a first ring buffer for a first device and a second ring buffer for a second device; within a single thread of execution, writing to-be-communicated information, for synchronized playback on each of the plurality of devices, into each of the plurality of ring buffers; upon reaching the end of any ring buffer while writing to-be-comrαunicated information to the ring buffer, performing a wrap-around operation to continue writing the to-be-communicated information beginning at the start of the ring buffer; upon reaching the end of any ring buffer while reading to-be-communicated information from the ring buffer, the corresponding device performing a wrap-around operation to continue reading the to-be-communicated information beginning at the start of the ring buffer; storing first timestamp information when the first device performs a wrap-around operation while reading to-be-communicated information from the first buffer; storing second timestamp information when the second device performs a wrap- around operation while reading to-be-communicated information from the second buffer; within the single thread of execution, determining where to insert to-be- communicated information into the first ring buffer based on the first timestamp information; and within the single thread of execution, determining where to insert to-be- communicated information into the second ring buffer based on the second timestamp information.
17. (original) The method of Claim 16 wherein: the single thread of execution is executing in a computer system that has a CPU clock; the step of storing first timestamp information includes storing data that indicates: (a) current time of the CPU clock; and (b) which samples of to-be-communicated information have been read by the first device.
18. (original) The method of Claim 16 wherein: the step of determining where to insert to-be-communicated information into the first ring buffer includes: based on the first timestarap information, estimating a first rate at which the first device consumes to-be-communicated information from the first ring buffer; estimating a current position of the first device based on the first rate, wherein the current position of the first device is a position within the first ring buffer from which the first device is currently reading to-be- communicated information; and determining where to insert to-be-communicated information into the first ring buffer based on the current position of the first device; and the step of determining where to insert to-be-communicated information into the second ring buffer includes: based on the second timestamp information, estimating a second rate at which the second device consumes to-be-communicated information from the second ring buffer; estimating a current position of the second device based on the second rate, wherein the current position of the second device is a position within the second ring buffer from which the second device is currently reading to-be-communicated information; and determining where to insert to-be-communicated information into the second ring buffer based on the current position of the second device.
19. (original) The method of Claim 16 wherein: the single thread of execution is one of a plurality of threads of execution that are writing to-be-communicated information, for synchronized playback on each of the plurality of devices, into each of the plurality of ring buffers; and each thread of the plurality of threads of execution performs the steps of: determining where to insert to-be-communicated information into the first ring buffer based on the first timestamp information; and determining where to insert to-be-communicated information into the second ring buffer based on the second timestamp information.
20. (original) The method of Claim 16 wherein: the plurality of ring buffers into which the single thread of execution is writing to- be-communicated information does not include a third ring buffer associated with a third device; and concurrent with the single thread of execution writing to-be-communicated information into each of the plurality of ring buffers, a second thread of execution is writing to-be-communicated information, for synchronized playback, into the third ring buffer and at least one of the plurality of ring buffers.
21. (currently amended) The method of Claim 16 further comprising: estimating a current position of the first device based on said first timestamp information, wherein the current position of the first device is a position within the first ring buffer from which the first device is currently reading to-be-communicated information; within said single thread of execution, identifying a minimum amount ahead of said current position of the first device to write to-be-communicated information in said first ring buffer; estimating a current position of the second device based on said second timestamp information, wherein the current position of the second device is a position within the second ring buffer from which the second device is currently reading to-be-communicated information; and, within said single thread of execution, identifying a minimum amount ahead of said current position of the second device to write to-be-communicated information in said second ring buffer.
22. (original) A computer-readable medium comprising one or more sequences of instructions for providing to-be-communicated information to multiple devices, which instructions, when executed by one or more processors, cause the one or more processors to carry out the steps of any one of Claims 1-5 and 10-21.
PCT/US2005/020139 2004-06-25 2005-06-08 Providing synchronized information to multiple devices WO2006007322A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP05758075.5A EP1769639B1 (en) 2004-06-25 2005-06-08 Providing synchronized information to multiple devices
EP19154011.1A EP3503540A1 (en) 2004-06-25 2005-06-08 Providing synchronized information to multiple devices

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/877,762 US7631119B2 (en) 2004-06-25 2004-06-25 Techniques for providing audio for synchronized playback by multiple devices
US10/877,762 2004-06-25

Publications (3)

Publication Number Publication Date
WO2006007322A2 WO2006007322A2 (en) 2006-01-19
WO2006007322A3 WO2006007322A3 (en) 2006-06-15
WO2006007322B1 true WO2006007322B1 (en) 2006-08-03

Family

ID=34980227

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/020139 WO2006007322A2 (en) 2004-06-25 2005-06-08 Providing synchronized information to multiple devices

Country Status (3)

Country Link
US (8) US7631119B2 (en)
EP (3) EP1769639B1 (en)
WO (1) WO2006007322A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9448683B2 (en) 2004-06-04 2016-09-20 Apple Inc. Network media device

Families Citing this family (132)

* 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
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
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
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US10613817B2 (en) 2003-07-28 2020-04-07 Sonos, Inc. Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US9374607B2 (en) 2012-06-26 2016-06-21 Sonos, Inc. Media playback system with guest access
US8797926B2 (en) 2004-06-04 2014-08-05 Apple Inc. Networked media station
US10972536B2 (en) 2004-06-04 2021-04-06 Apple Inc. System and method for synchronizing media presentation at multiple recipients
US20070110074A1 (en) * 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
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
US7631119B2 (en) 2004-06-25 2009-12-08 Apple Inc. Techniques for providing audio for synchronized playback by multiple devices
US8190680B2 (en) * 2004-07-01 2012-05-29 Netgear, Inc. Method and system for synchronization of digital media playback
DE102004046746B4 (en) * 2004-09-27 2007-03-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method for synchronizing additional data and basic data
TWI237806B (en) * 2004-11-03 2005-08-11 Sunplus Technology Co Ltd Audio decoding system with ring buffer and method thereof
JP4660184B2 (en) * 2004-12-27 2011-03-30 株式会社東芝 Signal relay apparatus and signal relay method
US7620753B1 (en) * 2005-03-17 2009-11-17 Apple Inc. Lockless access to a ring buffer
US7792024B1 (en) 2005-03-18 2010-09-07 Apple Inc. IO latency reduction
US7747725B2 (en) 2005-04-22 2010-06-29 Audinate Pty. Limited Method for transporting digital media
WO2006118106A1 (en) 2005-04-28 2006-11-09 Matsushita Electric Industrial Co., Ltd. Lip-sync correcting device and lip-sync correcting method
US8462627B2 (en) * 2005-12-30 2013-06-11 Altec Lansing Australia Pty Ltd Media data transfer in a network environment
US7539889B2 (en) * 2005-12-30 2009-05-26 Avega Systems Pty Ltd Media data synchronization in a wireless network
ATE549824T1 (en) * 2006-03-28 2012-03-15 Yamaha Corp AUDIO NETWORK SYSTEM WITH DELAY CORRECTION FUNCTION FOR AUDIO SAMPLES
US9178927B2 (en) 2006-05-17 2015-11-03 Audinate Pty Limited Transmitting and receiving media packet streams
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
JP2010507294A (en) * 2006-10-17 2010-03-04 アベガ システムズ ピーティーワイ リミテッド Integration of multimedia devices
WO2008046143A1 (en) * 2006-10-17 2008-04-24 Avega Systems Pty Ltd Configuring and connecting to a media wireless network
EP2080315B1 (en) * 2006-10-17 2019-07-03 D&M Holdings, Inc. Media distribution in a wireless network
US7827479B2 (en) * 2007-01-03 2010-11-02 Kali Damon K I System and methods for synchronized media playback between electronic devices
CN101731011B (en) * 2007-05-11 2014-05-28 奥迪耐特有限公司 Systems, methods and computer-readable media for configuring receiver latency
US8576922B2 (en) * 2007-06-10 2013-11-05 Apple Inc. Capturing media in synchronized fashion
CN102017652B (en) 2008-02-29 2015-05-13 奥迪耐特有限公司 Network devices, methods and/or systems for use in a media network
US20110015769A1 (en) * 2008-03-12 2011-01-20 Genelec Oy Data transfer method and system for loudspeakers in a digital sound reproduction system
US8898034B2 (en) * 2009-06-03 2014-11-25 Apple Inc. Automatically identifying geographic direction
US8437970B2 (en) * 2009-06-05 2013-05-07 Apple Inc. Restoring and storing magnetometer calibration data
US7891103B2 (en) * 2009-06-05 2011-02-22 Apple Inc. Magnetometer accuracy and use
US9191721B2 (en) * 2009-06-16 2015-11-17 Harman International Industries, Incorporated Networked audio/video system
US9116002B2 (en) * 2009-08-27 2015-08-25 Apple Inc. Context determination to assist location determination accuracy
US8531180B2 (en) 2010-03-30 2013-09-10 Apple Inc. Determining heading using magnetometer data and angular rate data
US8626465B2 (en) 2010-03-30 2014-01-07 Apple Inc. Calibrating sensor measurements on mobile devices
US8717009B2 (en) 2010-10-06 2014-05-06 Apple Inc. Magnetometer calibration
US9237324B2 (en) 2010-10-22 2016-01-12 Phorus, Inc. Playback synchronization
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
US8615253B2 (en) 2011-06-03 2013-12-24 Apple Inc. State estimation using motion context and multiple input observation types
US9654821B2 (en) 2011-12-30 2017-05-16 Sonos, Inc. Systems and methods for networked music playback
CN103326955B (en) * 2012-03-20 2016-09-07 华为终端有限公司 The method and apparatus of acquisition of information
US8997169B2 (en) 2012-03-23 2015-03-31 Sony Corporation System, method, and infrastructure for synchronized streaming of content
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
CN102739661B (en) * 2012-06-18 2015-07-15 深圳市云动创想科技有限公司 Method and system for network audio sync output on basis of data statistics
US9674587B2 (en) 2012-06-26 2017-06-06 Sonos, Inc. Systems and methods for networked music playback including remote add to queue
US9787523B2 (en) * 2012-07-05 2017-10-10 Eric Lazarus Managing data in a data queue including synchronization of media on multiple devices
US9423252B2 (en) 2012-09-11 2016-08-23 Apple Inc. Using clustering techniques to improve magnetometer bias estimation
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
US9516440B2 (en) 2012-10-01 2016-12-06 Sonos Providing a multi-channel and a multi-zone audio environment
US20140149606A1 (en) * 2012-11-23 2014-05-29 Samsung Electronics Co., Ltd. Server, multimedia apparatus and control method thereof for synchronously playing multimedia contents through a plurality of multimedia devices
US9510055B2 (en) 2013-01-23 2016-11-29 Sonos, Inc. System and method for a media experience social interface
US9501533B2 (en) 2013-04-16 2016-11-22 Sonos, Inc. Private queue for a media playback system
US9361371B2 (en) 2013-04-16 2016-06-07 Sonos, Inc. Playlist update in a media playback system
US9247363B2 (en) 2013-04-16 2016-01-26 Sonos, Inc. Playback queue transfer in a media playback system
US9307508B2 (en) 2013-04-29 2016-04-05 Google Technology Holdings LLC Systems and methods for syncronizing multiple electronic devices
US9684484B2 (en) 2013-05-29 2017-06-20 Sonos, Inc. Playback zone silent connect
US9151610B2 (en) 2013-06-08 2015-10-06 Apple Inc. Validating calibrated magnetometer data
CN103338204B (en) * 2013-07-05 2016-12-28 深圳市云动创想科技有限公司 A kind of audio synchronization output method and system
US9386123B2 (en) * 2013-07-23 2016-07-05 Adobe Systems Incorporated Distributed audio playback and recording
US20150066175A1 (en) * 2013-08-29 2015-03-05 Avid Technology, Inc. Audio processing in multiple latency domains
US9288596B2 (en) 2013-09-30 2016-03-15 Sonos, Inc. Coordinator device for paired or consolidated players
US20150095679A1 (en) 2013-09-30 2015-04-02 Sonos, Inc. Transitioning A Networked Playback Device Between Operating Modes
US9720576B2 (en) 2013-09-30 2017-08-01 Sonos, Inc. Controlling and displaying zones in a multi-zone system
US9654545B2 (en) 2013-09-30 2017-05-16 Sonos, Inc. Group coordinator device selection
WO2015050408A1 (en) * 2013-10-04 2015-04-09 Samsung Electronics Co., Ltd. Method and apparatus for sharing and displaying writing information
US9210204B2 (en) * 2013-10-31 2015-12-08 At&T Intellectual Property I, Lp Synchronizing media presentation at multiple devices
EP3087472B1 (en) 2013-12-27 2019-05-08 Intel Corporation Scalable input/output system and techniques
KR102201617B1 (en) * 2014-01-07 2021-01-12 삼성전자 주식회사 Av device and control method thereof
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
US9679054B2 (en) 2014-03-05 2017-06-13 Sonos, Inc. Webpage media playback
EP2924946B1 (en) * 2014-03-28 2016-09-21 Telefonica Digital España, S.L.U. A computer implemented method and system for alerting an incoming communication in a communication application and computer programs thereof
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
US10318361B2 (en) 2014-07-02 2019-06-11 Atheer, Inc. Methods and systems for multiple access to a single hardware data stream
US9874997B2 (en) 2014-08-08 2018-01-23 Sonos, Inc. Social playback queues
US10645130B2 (en) 2014-09-24 2020-05-05 Sonos, Inc. Playback updates
WO2016049342A1 (en) 2014-09-24 2016-03-31 Sonos, Inc. Social media connection recommendations based on playback information
US9860286B2 (en) 2014-09-24 2018-01-02 Sonos, Inc. Associating a captured image with a media item
US9690540B2 (en) 2014-09-24 2017-06-27 Sonos, Inc. Social media queue
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
US9723038B2 (en) 2014-09-24 2017-08-01 Sonos, Inc. Social media connection recommendations based on playback information
US20160132287A1 (en) * 2014-11-12 2016-05-12 Microsoft Technology Licensing, Llc Dynamic Reconfiguration of Audio Devices
WO2016119794A1 (en) 2015-01-28 2016-08-04 Dynastrom Aps Audio time synchronization using prioritized schedule
US9665341B2 (en) 2015-02-09 2017-05-30 Sonos, Inc. Synchronized audio mixing
CN107210038B (en) * 2015-02-11 2020-11-10 邦及欧路夫森有限公司 Speaker identification in a multimedia system
US10452339B2 (en) 2015-06-05 2019-10-22 Apple Inc. Mechanism for retrieval of previously captured audio
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
CN105657495B (en) * 2015-12-31 2018-10-19 南京邮电大学 A kind of more intelligent terminal synchronous broadcast methods and equipment
US9886234B2 (en) 2016-01-28 2018-02-06 Sonos, Inc. Systems and methods of distributing audio to one or more playback devices
CN107293316B (en) * 2016-04-13 2020-01-03 青岛海信电器股份有限公司 Audio data processing method and device
US10237008B2 (en) 2016-06-10 2019-03-19 Apple Inc. Synchronization with different clock transport protocols
KR101853441B1 (en) * 2016-09-23 2018-05-02 재단법인 실감교류인체감응솔루션연구단 Client device and local clock skew compensation method thereof
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
US20190349676A1 (en) * 2016-11-08 2019-11-14 Knowles Electronics, Llc Stream synchronization
EP3583509A4 (en) * 2017-02-15 2020-11-18 Amazon Technologies Inc. Selection of master device for synchronized audio
US10431217B2 (en) 2017-02-15 2019-10-01 Amazon Technologies, Inc. Audio playback device that dynamically switches between receiving audio data from a soft access point and receiving audio data from a local access point
US10839795B2 (en) 2017-02-15 2020-11-17 Amazon Technologies, Inc. Implicit target selection for multiple audio playback devices in an environment
US10264358B2 (en) 2017-02-15 2019-04-16 Amazon Technologies, Inc. Selection of master device for synchronized audio
CN107993679A (en) * 2017-11-02 2018-05-04 广东思派康电子科技有限公司 A kind of playback method of the buffer-type MP3 music players of embedded bluetooth headset
CN108495239B (en) * 2018-01-17 2020-09-29 深圳聚点互动科技有限公司 Method, device, equipment and storage medium for accurately and synchronously playing audio among multiple equipment
US10915490B2 (en) * 2018-02-15 2021-02-09 Qualcomm Incorporated Audio streams over peripheral component interconnect (PCI) express (PCIE) links
CN108551358B (en) * 2018-03-16 2021-01-19 恒玄科技(上海)股份有限公司 Method for adjusting audio data of Bluetooth headset under different models
US11297369B2 (en) 2018-03-30 2022-04-05 Apple Inc. Remotely controlling playback devices
US10366017B2 (en) 2018-03-30 2019-07-30 Intel Corporation Methods and apparatus to offload media streams in host devices
US10783929B2 (en) 2018-03-30 2020-09-22 Apple Inc. Managing playback groups
US10993274B2 (en) 2018-03-30 2021-04-27 Apple Inc. Pairing devices by proxy
US10608961B2 (en) 2018-05-08 2020-03-31 Salesforce.Com, Inc. Techniques for handling message queues
US10614857B2 (en) 2018-07-02 2020-04-07 Apple Inc. Calibrating media playback channels for synchronized presentation
CN109640160B (en) * 2018-12-28 2022-01-11 鸿视线科技(北京)有限公司 Sustainable synchronous control system and method based on buffer control structure
CN109819108B (en) * 2019-01-04 2021-03-02 Oppo广东移动通信有限公司 Method and device for adjusting driving parameters, electronic equipment and storage medium
US11195543B2 (en) * 2019-03-22 2021-12-07 Clear Peaks LLC Systems, devices, and methods for synchronizing audio
US10884973B2 (en) * 2019-05-31 2021-01-05 Microsoft Technology Licensing, Llc Synchronization of audio across multiple devices
US10747495B1 (en) 2019-05-31 2020-08-18 Microsoft Technology Licensing, Llc Device aggregation representing multiple endpoints as one
CN110636349B (en) * 2019-08-20 2022-01-18 恒玄科技(上海)股份有限公司 Audio synchronous playing method for wireless equipment
US11170800B2 (en) 2020-02-27 2021-11-09 Microsoft Technology Licensing, Llc Adjusting user experience for multiuser sessions based on vocal-characteristic models

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5045940A (en) 1989-12-22 1991-09-03 Avid Technology, Inc. Video/audio transmission systsem and method
US5245667A (en) * 1991-04-03 1993-09-14 Frox, Inc. Method and structure for synchronizing multiple, independently generated digital audio signals
US5535137A (en) * 1994-02-14 1996-07-09 Sony Corporation Of Japan Random access audio/video processor with compressed video resampling to allow higher bandwidth throughput
US5583652A (en) * 1994-04-28 1996-12-10 International Business Machines Corporation Synchronized, variable-speed playback of digitally recorded audio and video
US5664226A (en) * 1994-09-08 1997-09-02 International Business Machines Corporation System for merging plurality of atomic data elements into single synchronized file by assigning ouput rate to each channel in response to presentation time duration
US5875354A (en) * 1996-03-01 1999-02-23 Apple Computer, Inc. System for synchronization by modifying the rate of conversion by difference of rate between first clock and audio clock during a second time period
GB2311917B (en) * 1996-04-02 2000-11-01 Sony Uk Ltd Audio signal processor
JP3288282B2 (en) * 1997-10-20 2002-06-04 矢崎総業株式会社 Communication method and communication system
US6862635B1 (en) * 1998-11-13 2005-03-01 Cray Inc. Synchronization techniques in a multithreaded environment
US6463486B1 (en) * 1999-04-06 2002-10-08 Microsoft Corporation System for handling streaming information using a plurality of reader modules by enumerating output pins and associated streams of information
JP2003511918A (en) 1999-10-07 2003-03-25 トムソン ライセンシング ソシエテ アノニム Method and apparatus for trick mode generation in a digital video system
US6598172B1 (en) * 1999-10-29 2003-07-22 Intel Corporation System and method for clock skew compensation between encoder and decoder clocks by calculating drift metric, and using it to modify time-stamps of data packets
GB0000873D0 (en) * 2000-01-14 2000-03-08 Koninkl Philips Electronics Nv Interconnection of audio/video devices
US6993251B1 (en) 2000-03-31 2006-01-31 Matsushita Electric Industrial Co., Ltd. Method and apparatus for concealing disk soft errors in recorded digital television signals
US6715036B1 (en) * 2000-08-01 2004-03-30 International Business Machines Corporation Method, system, and data structures for transferring blocks of data from a storage device to a requesting application
US7447815B2 (en) * 2000-09-27 2008-11-04 Thomson Licensing Architecture for optimizing audio and video operating modes for multimedia devices based on predetermined hierarchical order of available audio and video operating modes
US7281053B2 (en) * 2000-10-13 2007-10-09 Aol Llc Method and system for dynamic latency management and drift correction
GB0031221D0 (en) * 2000-12-21 2001-01-31 Koninkl Philips Electronics Nv Compressed-data processing arrangement and related method
US7610205B2 (en) * 2002-02-12 2009-10-27 Dolby Laboratories Licensing Corporation High quality time-scaling and pitch-scaling of audio signals
US7324857B2 (en) * 2002-04-19 2008-01-29 Gateway Inc. Method to synchronize playback of multicast audio streams on a local network
US7024575B2 (en) * 2002-11-14 2006-04-04 Intel Corporation Apparatus and method for time synchronization of a plurality of multimedia streams
US7262716B2 (en) * 2002-12-20 2007-08-28 Texas Instruments Incoporated Asynchronous sample rate converter and method
US7142250B1 (en) * 2003-04-05 2006-11-28 Apple Computer, Inc. Method and apparatus for synchronizing audio and video streams
US7426417B1 (en) * 2003-04-05 2008-09-16 Apple Inc. Method and apparatus for efficiently accounting for the temporal nature of audio processing
US10613817B2 (en) * 2003-07-28 2020-04-07 Sonos, Inc. Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group
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
US7084898B1 (en) * 2003-11-18 2006-08-01 Cisco Technology, Inc. System and method for providing video conferencing synchronization
US7657706B2 (en) * 2003-12-18 2010-02-02 Cisco Technology, Inc. High speed memory and input/output processor subsystem for efficiently allocating and using high-speed memory and slower-speed memory
US7336675B2 (en) * 2003-12-22 2008-02-26 Intel Corporation Optimized back-to-back enqueue/dequeue via physical queue parallelism
US7266713B2 (en) * 2004-01-09 2007-09-04 Intel Corporation Apparatus and method for adaptation of time synchronization of a plurality of multimedia streams
US7508815B2 (en) * 2004-03-31 2009-03-24 Acterna Llc Method and system for facilitating network troubleshooting
US8868698B2 (en) * 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US7631119B2 (en) 2004-06-25 2009-12-08 Apple Inc. Techniques for providing audio for synchronized playback by multiple devices
US8190680B2 (en) * 2004-07-01 2012-05-29 Netgear, Inc. Method and system for synchronization of digital media playback
US7706901B2 (en) * 2004-10-01 2010-04-27 Microsoft Corporation Low latency real-time audio streaming

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9448683B2 (en) 2004-06-04 2016-09-20 Apple Inc. Network media device

Also Published As

Publication number Publication date
US9977648B2 (en) 2018-05-22
US10558422B2 (en) 2020-02-11
WO2006007322A3 (en) 2006-06-15
US20100042238A1 (en) 2010-02-18
US8037220B2 (en) 2011-10-11
US20160098247A1 (en) 2016-04-07
US9569169B2 (en) 2017-02-14
EP2466908B1 (en) 2016-11-16
EP3503540A1 (en) 2019-06-26
US20170185374A1 (en) 2017-06-29
US20120232682A1 (en) 2012-09-13
US20050288805A1 (en) 2005-12-29
EP1769639B1 (en) 2019-01-30
US20180336003A1 (en) 2018-11-22
EP1769639A2 (en) 2007-04-04
US8185674B2 (en) 2012-05-22
US9176706B2 (en) 2015-11-03
US8904066B2 (en) 2014-12-02
EP2466908A2 (en) 2012-06-20
EP2466908A3 (en) 2013-01-23
US7631119B2 (en) 2009-12-08
US20100042239A1 (en) 2010-02-18
WO2006007322A2 (en) 2006-01-19
US20150186104A1 (en) 2015-07-02

Similar Documents

Publication Publication Date Title
WO2006007322B1 (en) Providing synchronized information to multiple devices
WO2008130703A8 (en) Clock synchronization in a memory system
TW200739418A (en) Command decoder for microcontroller based flash memory digital controller system
WO2008128107A3 (en) Inter thread trace alignment method and system for a multi-threaded processor
AU3915300A (en) Arbitration methods and systems for arbitrating access to a disk controller memory
US20090249347A1 (en) Virtual multiprocessor, system lsi, mobile phone, and control method for virtual multiprocessor
TW200520536A (en) Control device, system and method for reading multi-pixel
TW200634736A (en) Device and method for multiplexing/demultiplexing
WO2007124004A3 (en) Shared memory multi video channel display apparatus and methods
TW200504611A (en) Tags, and management method and management system using the same
KR20080043406A (en) Delayed memory access request arbitration
CN102236623A (en) Signal control device and signal control method
KR20200088499A (en) Asynchronous buffer with pointer offset
US7383428B2 (en) Method, apparatus and computer program product for implementing atomic data tracing
US20120158394A1 (en) Simulation apparatus and method for multicore system
WO2002069601A3 (en) Linking frame data by inserting qualifiers in control blocks
EP2362318B1 (en) A synchronization system and related integrated circuit
US20060200597A1 (en) Method, system, and apparatus for memory controller utilization of an AMB write FIFO to improve FBD memory channel efficiency
WO2004008326A3 (en) System and method for improved synchronous data access
CN112767978B (en) DDR command scheduling method, device, equipment and medium
US7609192B1 (en) Control of analog to digital conversion for analog I/O boards
EP1353510A3 (en) Image processing apparatus and image processing method
US20090240846A1 (en) Universal serial bus mass storage device asynchronous file and file system update while connected to a pc or other device
US20190303174A1 (en) Register reconfiguration using direct descriptor fetch for efficient multi-pass processing of computer vision and video encoding applications
US7552301B2 (en) Information processing apparatus and memory access arranging method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 2005758075

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2005758075

Country of ref document: EP