US8239748B1 - Media stream synchronization using device and host clocks - Google Patents
Media stream synchronization using device and host clocks Download PDFInfo
- Publication number
- US8239748B1 US8239748B1 US12/709,317 US70931710A US8239748B1 US 8239748 B1 US8239748 B1 US 8239748B1 US 70931710 A US70931710 A US 70931710A US 8239748 B1 US8239748 B1 US 8239748B1
- Authority
- US
- United States
- Prior art keywords
- media stream
- media
- stream
- computer system
- output
- 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.)
- Active, expires
Links
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000004044 response Effects 0.000 abstract description 3
- 238000000034 method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/438—Presentation of query results
- G06F16/4387—Presentation of query results by the use of playlists
- G06F16/4393—Multimedia presentations, e.g. slide shows, multimedia albums
Definitions
- the present invention relates generally to synchronization of media streams, and more specifically to utilizing clocks on multiple media devices and on a single host to synchronize multiple media streams.
- synchronization can be achieved by the associated device driver delaying the audio output until a vertical synchronization cycle begins, adjusted for the time of the audio output latency.
- This solution only works for a single device.
- the synchronizing device driver is not aware of other output devices, and the other output devices and their controlling software have no information concerning the operations of the synchronizing device driver.
- a synchronization manager synchronizes multiple media streams.
- the synchronization manager queries a media stream output device associated with each media stream to synchronize.
- the synchronization manager receives the current device clock time of each device, each device's next available media stream output time, according to its device clock, and each device's delta between available media stream output times.
- the synchronization manager determines an earliest available media stream output time common to each media stream output device, and synchronizes the output of the media streams by providing each stream to its associated output device at the earliest available common output time.
- the synchronization manager defines one media stream as a master and slaves other stream(s) off the master stream.
- the synchronization manager does not define a master, and instead independently sends each media stream to its associated output device as close to the common output time as possible.
- FIG. 1 is a block diagram, illustrating a high level overview of a system for practicing some embodiments of the present invention.
- FIG. 2 is a flowchart, illustrating steps for synchronizing multiple media streams, according to some embodiments of the present invention.
- FIG. 3 is a flowchart, illustrating steps for correlating each received device clock time into a common host clock time, according to some embodiments of the present invention.
- FIG. 1 illustrates a high level overview of a system 100 for performing some embodiments of the present invention.
- a synchronization manager 101 synchronizes the output of multiple media streams. It is to be understood that although the synchronization manager 101 is illustrated as a single entity, as the term is used herein a synchronization manager 101 refers to a collection of functionalities which can be implemented as software, hardware, firmware or any combination of the three. Where a synchronization manager 101 is implemented as software, it can be implemented as a standalone program, but can also be implemented in other ways, for example as part of a larger program, as a plurality of separate programs, or as one or more statically or dynamically linked libraries.
- FIG. 1 illustrates the synchronization of a video stream 103 , an audio stream 105 and an additional media stream 107 . It is to be understood that the present invention is not limited to the illustrated types or number of media streams.
- the synchronization manager 101 synchronizes a variety of types of two or more media streams. Examples of other media stream types are a closed captioning data stream, a stream of MIDI events, a stream of text to Braille data and a stream of side band data. Streams of any type of data that can be metered by time can be synchronized according to the present invention. Other examples of data types will be apparent to those of ordinary skill in the relevant art in light of this specification.
- Each media stream type is accompanied by an associated output device 109 (in some instances, more than one data stream type can be processed by a single device 109 , e.g., audio and video).
- FIG. 1 illustrates a video output device 109 , an audio output device 109 and an additional media output device 109 , but of course other device 109 types are possible.
- the synchronization manager 101 sends a query 111 to each output device 109 , requesting the current time according to the device's 109 clock. Because each device 109 has its own hardware clock, the synchronization manager 101 gleans the local time according to each device 109 in order to facilitate the synchronization, as described further below. The synchronization manager 101 also requests the next available time at which each device 109 can begin outputting a received media stream. Recall that because of device 109 specific output latency and output timing constraints, the next available output time for each device 109 varies. Of course, each device 109 expresses its next available output time according to its own clock.
- each device 109 requests the device's 109 delta between media stream output times.
- Each device 109 has a specific amount of time between its possible output start times (e.g., in the case of a video device 109 , the time between vertical synchronization cycles). This information can be utilized by the synchronization manager 101 to facilitate the stream synchronization, as explained below.
- the synchronization manager 101 Responsive to the queries 111 , the synchronization manager 101 receives the above-described timing data 113 from each output device 109 .
- the synchronization manager 101 uses the timing data 113 from each device 109 to determine the earliest available common time 115 at which each device 109 can begin output of a received media stream. Because the synchronization manager 101 has the device clock time for each device 109 , the next available output start time for each device 109 and the delta between available start times for each device 109 , the synchronization manager 101 can calculate the earliest available start time 115 common to all devices 109 .
- the mechanics of performing the relevant calculations will be apparent to those of ordinary skill in the art in light of this specification.
- the synchronization manager 101 synchronizes the output of the multiple media streams by providing each media stream to its associated output device 109 at the calculated time 115 (optionally, within an acceptable margin of error).
- the synchronization manager 101 performs this synchronization by slaving one or more media streams off a master stream. For example, in one embodiment the synchronization manager 101 synchronizes a video stream 103 and an audio stream 105 by slaving the audio stream 105 off the video stream 103 . In other embodiments, rather than defining one stream as a master and the other(s) as slave(s), the synchronization manager 101 instead individually sends each stream to its associated device 109 as close to the calculated common start time 115 as possible.
- FIG. 2 illustrates steps for the synchronization manager 101 to synchronize multiple media streams, according to some embodiments of the present invention.
- the synchronization manager 101 queries 201 the output devices 109 , as described above.
- the synchronization manager 101 receives 203 the timing data 113 from each output device 109 .
- the synchronization manager 101 uses the timing data 113 to determine 205 the next available common output time 115 , and synchronizes 207 the output of the media streams accordingly.
- the synchronization manager 101 synchronizes 207 the output of the media streams by defining one stream as a master, and slaving 209 the other stream(s) off the master stream.
- the synchronization manager 101 has the local device clock time of each device 109 .
- the synchronization manager 101 correlates each received device clock time into a common host clock time. This process is illustrated in FIG. 3 , according to some embodiments of the present invention.
- the synchronization manager 101 receives 301 the device clock time of each media stream output device 109 , and correlates 303 each received device clock time into host clock time (the time according to the clock of the computing device associated with the synchronization manager 101 , e.g., the clock of the central processing unit of the computing device on which the synchronization manager 101 is executing). With this correlation, the synchronization manager 101 can reference 101 events on the plurality of media stream output devices 109 in the common host clock time.
- referencing of device 109 events in host clock time is not limited to referencing media stream start times.
- the synchronization manager 101 can use the correlation of each device clock time into host time to calculate the time of the playback of specific frames and the like, by output devices 109 , in host clock time.
- the invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof.
- the particular naming and division of the modules, features, attributes, methodologies, managers and other aspects are not mandatory or significant, and the mechanisms that implement the invention or its features may have different names, divisions and/or formats.
- the modules, features, attributes, methodologies, managers and other aspects of the invention can be implemented as software, hardware, firmware or any combination of the three.
- a component of the present invention is implemented as software, the component can be implemented as a standalone program, as part of a larger program, as a plurality of separate programs, as a statically or dynamically linked library, as a kernel loadable module, as a device driver, and/or in every and any other way known now or in the future to those of skill in the art of computer programming.
- the present invention is in no way limited to implementation in any specific programming language, or for any specific operating system or environment. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/709,317 US8239748B1 (en) | 2004-01-30 | 2010-02-19 | Media stream synchronization using device and host clocks |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/769,139 US7669113B1 (en) | 2004-01-30 | 2004-01-30 | Media stream synchronization using device and host clocks |
US12/709,317 US8239748B1 (en) | 2004-01-30 | 2010-02-19 | Media stream synchronization using device and host clocks |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/769,139 Continuation US7669113B1 (en) | 2004-01-30 | 2004-01-30 | Media stream synchronization using device and host clocks |
Publications (1)
Publication Number | Publication Date |
---|---|
US8239748B1 true US8239748B1 (en) | 2012-08-07 |
Family
ID=41692302
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/769,139 Expired - Fee Related US7669113B1 (en) | 2004-01-30 | 2004-01-30 | Media stream synchronization using device and host clocks |
US12/709,317 Active 2024-12-18 US8239748B1 (en) | 2004-01-30 | 2010-02-19 | Media stream synchronization using device and host clocks |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/769,139 Expired - Fee Related US7669113B1 (en) | 2004-01-30 | 2004-01-30 | Media stream synchronization using device and host clocks |
Country Status (1)
Country | Link |
---|---|
US (2) | US7669113B1 (en) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110302442A1 (en) * | 2010-06-04 | 2011-12-08 | David Garrett | Method and System for Combining and/or Blending Multiple Content From Different Sources in a Broadband Gateway |
US9348354B2 (en) | 2003-07-28 | 2016-05-24 | Sonos, Inc. | Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices without a voltage controlled crystal oscillator |
US9374607B2 (en) | 2012-06-26 | 2016-06-21 | Sonos, Inc. | Media playback system with guest access |
US9516440B2 (en) | 2012-10-01 | 2016-12-06 | Sonos | Providing a multi-channel and a multi-zone audio environment |
US9665341B2 (en) | 2015-02-09 | 2017-05-30 | Sonos, Inc. | Synchronized audio mixing |
US9729115B2 (en) | 2012-04-27 | 2017-08-08 | Sonos, Inc. | Intelligently increasing the sound level of player |
US9734242B2 (en) | 2003-07-28 | 2017-08-15 | Sonos, Inc. | Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data |
US9749760B2 (en) | 2006-09-12 | 2017-08-29 | Sonos, Inc. | Updating zone configuration in a multi-zone media system |
US9756424B2 (en) | 2006-09-12 | 2017-09-05 | Sonos, Inc. | Multi-channel pairing in a media system |
US9766853B2 (en) | 2006-09-12 | 2017-09-19 | Sonos, Inc. | Pair volume control |
US9781513B2 (en) | 2014-02-06 | 2017-10-03 | Sonos, Inc. | Audio output balancing |
US9787550B2 (en) | 2004-06-05 | 2017-10-10 | Sonos, Inc. | Establishing a secure wireless network with a minimum human intervention |
US9794707B2 (en) | 2014-02-06 | 2017-10-17 | Sonos, Inc. | Audio output balancing |
US9977561B2 (en) | 2004-04-01 | 2018-05-22 | Sonos, Inc. | Systems, methods, apparatus, and articles of manufacture to provide guest access |
US10306364B2 (en) | 2012-09-28 | 2019-05-28 | Sonos, Inc. | Audio processing adjustments for playback devices based on determined characteristics of audio content |
US10359987B2 (en) | 2003-07-28 | 2019-07-23 | Sonos, Inc. | Adjusting volume levels |
US20190297591A1 (en) * | 2013-10-31 | 2019-09-26 | At&T Intellectual Property I, L.P. | Synchronizing media presentation at multiple 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 |
US11106425B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US11265652B2 (en) | 2011-01-25 | 2022-03-01 | Sonos, Inc. | Playback device pairing |
US11294618B2 (en) | 2003-07-28 | 2022-04-05 | Sonos, Inc. | Media player system |
US11403062B2 (en) | 2015-06-11 | 2022-08-02 | Sonos, Inc. | Multiple groupings in a playback system |
US11429343B2 (en) | 2011-01-25 | 2022-08-30 | Sonos, Inc. | Stereo playback configuration and control |
US11481182B2 (en) | 2016-10-17 | 2022-10-25 | Sonos, Inc. | Room association based on name |
US11650784B2 (en) | 2003-07-28 | 2023-05-16 | Sonos, Inc. | Adjusting volume levels |
US11894975B2 (en) | 2004-06-05 | 2024-02-06 | Sonos, Inc. | Playback device connection |
US11995374B2 (en) | 2016-01-05 | 2024-05-28 | Sonos, Inc. | Multiple-device setup |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7996699B2 (en) | 2005-04-11 | 2011-08-09 | Graphics Properties Holdings, Inc. | System and method for synchronizing multiple media devices |
US8677002B2 (en) * | 2006-01-28 | 2014-03-18 | Blackfire Research Corp | Streaming media system and method |
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 |
US8341454B1 (en) | 2007-12-28 | 2012-12-25 | Marvell International Ltd. | Rendering a video stream based on digital clock generated based on timing information |
JP5439892B2 (en) * | 2009-03-27 | 2014-03-12 | ヤマハ株式会社 | Digital audio equipment and program |
CN102185998B (en) * | 2010-12-31 | 2013-05-22 | 北京中科大洋科技发展股份有限公司 | A method for synchronizing video signals by employing AES/EBU digital audio signals |
JP6281603B2 (en) * | 2016-06-23 | 2018-02-21 | 日本電気株式会社 | Information processing system, information processing method, and information processing program |
US10412441B2 (en) | 2016-12-06 | 2019-09-10 | Rgb Spectrum | Systems, methods, and devices for high-bandwidth digital content synchronization |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5661665A (en) * | 1996-06-26 | 1997-08-26 | Microsoft Corporation | Multi-media synchronization |
US5719786A (en) * | 1993-02-03 | 1998-02-17 | Novell, Inc. | Digital media data stream network management system |
US5815689A (en) * | 1997-04-04 | 1998-09-29 | Microsoft Corporation | Method and computer program product for synchronizing the processing of multiple data streams and matching disparate processing rates using a standardized clock mechanism |
US6212574B1 (en) * | 1997-04-04 | 2001-04-03 | Microsoft Corporation | User mode proxy of kernel mode operations in a computer operating system |
US20020112247A1 (en) * | 2001-02-09 | 2002-08-15 | Horner David R. | Method and system for creation, delivery, and presentation of time-synchronized multimedia presentations |
US6505153B1 (en) * | 2000-05-22 | 2003-01-07 | Compaq Information Technologies Group, L.P. | Efficient method for producing off-line closed captions |
US20050125734A1 (en) * | 2003-12-08 | 2005-06-09 | Microsoft Corporation | Media processing methods, systems and application program interfaces |
-
2004
- 2004-01-30 US US10/769,139 patent/US7669113B1/en not_active Expired - Fee Related
-
2010
- 2010-02-19 US US12/709,317 patent/US8239748B1/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5719786A (en) * | 1993-02-03 | 1998-02-17 | Novell, Inc. | Digital media data stream network management system |
US5661665A (en) * | 1996-06-26 | 1997-08-26 | Microsoft Corporation | Multi-media synchronization |
US5815689A (en) * | 1997-04-04 | 1998-09-29 | Microsoft Corporation | Method and computer program product for synchronizing the processing of multiple data streams and matching disparate processing rates using a standardized clock mechanism |
US6212574B1 (en) * | 1997-04-04 | 2001-04-03 | Microsoft Corporation | User mode proxy of kernel mode operations in a computer operating system |
US6505153B1 (en) * | 2000-05-22 | 2003-01-07 | Compaq Information Technologies Group, L.P. | Efficient method for producing off-line closed captions |
US20020112247A1 (en) * | 2001-02-09 | 2002-08-15 | Horner David R. | Method and system for creation, delivery, and presentation of time-synchronized multimedia presentations |
US20050125734A1 (en) * | 2003-12-08 | 2005-06-09 | Microsoft Corporation | Media processing methods, systems and application program interfaces |
Cited By (124)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10963215B2 (en) | 2003-07-28 | 2021-03-30 | Sonos, Inc. | Media playback device and system |
US9733892B2 (en) | 2003-07-28 | 2017-08-15 | Sonos, Inc. | Obtaining content based on control by multiple controllers |
US9348354B2 (en) | 2003-07-28 | 2016-05-24 | Sonos, Inc. | Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices without a voltage controlled crystal oscillator |
US9354656B2 (en) | 2003-07-28 | 2016-05-31 | Sonos, Inc. | Method and apparatus for dynamic channelization device switching in a synchrony group |
US11650784B2 (en) | 2003-07-28 | 2023-05-16 | Sonos, Inc. | Adjusting volume levels |
US10365884B2 (en) | 2003-07-28 | 2019-07-30 | Sonos, Inc. | Group volume control |
US11625221B2 (en) | 2003-07-28 | 2023-04-11 | Sonos, Inc | Synchronizing playback by media playback devices |
US9658820B2 (en) | 2003-07-28 | 2017-05-23 | Sonos, Inc. | Resuming synchronous playback of content |
US11556305B2 (en) | 2003-07-28 | 2023-01-17 | Sonos, Inc. | Synchronizing playback by media playback devices |
US9727303B2 (en) | 2003-07-28 | 2017-08-08 | Sonos, Inc. | Resuming synchronous playback of content |
US9727304B2 (en) | 2003-07-28 | 2017-08-08 | Sonos, Inc. | Obtaining content from direct source and other source |
US11550536B2 (en) | 2003-07-28 | 2023-01-10 | Sonos, Inc. | Adjusting volume levels |
US9727302B2 (en) | 2003-07-28 | 2017-08-08 | Sonos, Inc. | Obtaining content from remote source for playback |
US10387102B2 (en) | 2003-07-28 | 2019-08-20 | Sonos, Inc. | Playback device grouping |
US9734242B2 (en) | 2003-07-28 | 2017-08-15 | Sonos, Inc. | Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data |
US9733891B2 (en) | 2003-07-28 | 2017-08-15 | Sonos, Inc. | Obtaining content from local and remote sources for playback |
US9733893B2 (en) | 2003-07-28 | 2017-08-15 | Sonos, Inc. | Obtaining and transmitting audio |
US9740453B2 (en) | 2003-07-28 | 2017-08-22 | Sonos, Inc. | Obtaining content from multiple remote sources for playback |
US11550539B2 (en) | 2003-07-28 | 2023-01-10 | Sonos, Inc. | Playback device |
US10359987B2 (en) | 2003-07-28 | 2019-07-23 | Sonos, Inc. | Adjusting volume levels |
US11301207B1 (en) | 2003-07-28 | 2022-04-12 | Sonos, Inc. | Playback device |
US9778900B2 (en) | 2003-07-28 | 2017-10-03 | Sonos, Inc. | Causing a device to join a synchrony group |
US9778897B2 (en) | 2003-07-28 | 2017-10-03 | Sonos, Inc. | Ceasing playback among a plurality of playback devices |
US9778898B2 (en) | 2003-07-28 | 2017-10-03 | Sonos, Inc. | Resynchronization of playback devices |
US11294618B2 (en) | 2003-07-28 | 2022-04-05 | Sonos, Inc. | Media player system |
US10956119B2 (en) | 2003-07-28 | 2021-03-23 | Sonos, Inc. | Playback device |
US11132170B2 (en) | 2003-07-28 | 2021-09-28 | 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 |
US11106424B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US11080001B2 (en) | 2003-07-28 | 2021-08-03 | Sonos, Inc. | Concurrent transmission and playback of audio information |
US10324684B2 (en) | 2003-07-28 | 2019-06-18 | Sonos, Inc. | Playback device synchrony group states |
US10970034B2 (en) | 2003-07-28 | 2021-04-06 | Sonos, Inc. | Audio distributor selection |
US11635935B2 (en) | 2003-07-28 | 2023-04-25 | Sonos, Inc. | Adjusting volume levels |
US10445054B2 (en) | 2003-07-28 | 2019-10-15 | Sonos, Inc. | Method and apparatus for switching between a directly connected and a networked audio source |
US11200025B2 (en) | 2003-07-28 | 2021-12-14 | Sonos, Inc. | Playback device |
US10031715B2 (en) | 2003-07-28 | 2018-07-24 | Sonos, Inc. | Method and apparatus for dynamic master device switching in a synchrony group |
US10949163B2 (en) | 2003-07-28 | 2021-03-16 | Sonos, Inc. | Playback device |
US10754612B2 (en) | 2003-07-28 | 2020-08-25 | Sonos, Inc. | Playback device volume control |
US10754613B2 (en) | 2003-07-28 | 2020-08-25 | Sonos, Inc. | Audio master selection |
US10120638B2 (en) | 2003-07-28 | 2018-11-06 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US10747496B2 (en) | 2003-07-28 | 2020-08-18 | Sonos, Inc. | Playback device |
US10133536B2 (en) | 2003-07-28 | 2018-11-20 | Sonos, Inc. | Method and apparatus for adjusting volume in a synchrony group |
US10140085B2 (en) | 2003-07-28 | 2018-11-27 | Sonos, Inc. | Playback device operating states |
US10146498B2 (en) | 2003-07-28 | 2018-12-04 | Sonos, Inc. | Disengaging and engaging zone players |
US10157034B2 (en) | 2003-07-28 | 2018-12-18 | Sonos, Inc. | Clock rate adjustment in a multi-zone system |
US10157035B2 (en) | 2003-07-28 | 2018-12-18 | Sonos, Inc. | Switching between a directly connected and a networked audio source |
US10157033B2 (en) | 2003-07-28 | 2018-12-18 | Sonos, Inc. | Method and apparatus for switching between a directly connected and a networked audio source |
US10175930B2 (en) | 2003-07-28 | 2019-01-08 | Sonos, Inc. | Method and apparatus for playback by a synchrony group |
US10175932B2 (en) | 2003-07-28 | 2019-01-08 | Sonos, Inc. | Obtaining content from direct source and remote source |
US10185540B2 (en) | 2003-07-28 | 2019-01-22 | Sonos, Inc. | Playback device |
US10185541B2 (en) | 2003-07-28 | 2019-01-22 | Sonos, Inc. | Playback device |
US10209953B2 (en) | 2003-07-28 | 2019-02-19 | Sonos, Inc. | Playback device |
US10216473B2 (en) | 2003-07-28 | 2019-02-26 | Sonos, Inc. | Playback device synchrony group states |
US10228902B2 (en) | 2003-07-28 | 2019-03-12 | Sonos, Inc. | Playback device |
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 |
US10282164B2 (en) | 2003-07-28 | 2019-05-07 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US10289380B2 (en) | 2003-07-28 | 2019-05-14 | Sonos, Inc. | Playback device |
US10296283B2 (en) | 2003-07-28 | 2019-05-21 | Sonos, Inc. | Directing synchronous playback between zone players |
US10303432B2 (en) | 2003-07-28 | 2019-05-28 | Sonos, Inc | Playback device |
US10545723B2 (en) | 2003-07-28 | 2020-01-28 | Sonos, Inc. | Playback device |
US10303431B2 (en) | 2003-07-28 | 2019-05-28 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US11907610B2 (en) | 2004-04-01 | 2024-02-20 | Sonos, Inc. | Guess access to a media playback system |
US10983750B2 (en) | 2004-04-01 | 2021-04-20 | Sonos, Inc. | Guest access to a media playback system |
US11467799B2 (en) | 2004-04-01 | 2022-10-11 | Sonos, Inc. | Guest access to a media playback system |
US9977561B2 (en) | 2004-04-01 | 2018-05-22 | Sonos, Inc. | Systems, methods, apparatus, and articles of manufacture to provide guest access |
US9960969B2 (en) | 2004-06-05 | 2018-05-01 | Sonos, Inc. | Playback device connection |
US10097423B2 (en) | 2004-06-05 | 2018-10-09 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
US9787550B2 (en) | 2004-06-05 | 2017-10-10 | Sonos, Inc. | Establishing a secure wireless network with a minimum human intervention |
US10439896B2 (en) | 2004-06-05 | 2019-10-08 | Sonos, Inc. | Playback device connection |
US11456928B2 (en) | 2004-06-05 | 2022-09-27 | Sonos, Inc. | Playback device connection |
US9866447B2 (en) | 2004-06-05 | 2018-01-09 | Sonos, Inc. | Indicator on a network device |
US11025509B2 (en) | 2004-06-05 | 2021-06-01 | Sonos, Inc. | Playback device connection |
US10541883B2 (en) | 2004-06-05 | 2020-01-21 | Sonos, Inc. | Playback device connection |
US11909588B2 (en) | 2004-06-05 | 2024-02-20 | Sonos, Inc. | Wireless device connection |
US10979310B2 (en) | 2004-06-05 | 2021-04-13 | Sonos, Inc. | Playback device connection |
US10965545B2 (en) | 2004-06-05 | 2021-03-30 | Sonos, Inc. | Playback device connection |
US11894975B2 (en) | 2004-06-05 | 2024-02-06 | Sonos, Inc. | Playback device connection |
US11540050B2 (en) | 2006-09-12 | 2022-12-27 | Sonos, Inc. | Playback device pairing |
US10555082B2 (en) | 2006-09-12 | 2020-02-04 | Sonos, Inc. | Playback device pairing |
US11385858B2 (en) | 2006-09-12 | 2022-07-12 | Sonos, Inc. | Predefined multi-channel listening environment |
US9766853B2 (en) | 2006-09-12 | 2017-09-19 | Sonos, Inc. | Pair volume control |
US9749760B2 (en) | 2006-09-12 | 2017-08-29 | Sonos, Inc. | Updating zone configuration in a multi-zone media system |
US10848885B2 (en) | 2006-09-12 | 2020-11-24 | Sonos, Inc. | Zone scene management |
US10897679B2 (en) | 2006-09-12 | 2021-01-19 | Sonos, Inc. | Zone scene management |
US11388532B2 (en) | 2006-09-12 | 2022-07-12 | Sonos, Inc. | Zone scene activation |
US10028056B2 (en) | 2006-09-12 | 2018-07-17 | Sonos, Inc. | Multi-channel pairing in a media system |
US9756424B2 (en) | 2006-09-12 | 2017-09-05 | Sonos, Inc. | Multi-channel pairing in a media system |
US10966025B2 (en) | 2006-09-12 | 2021-03-30 | Sonos, Inc. | Playback device pairing |
US10228898B2 (en) | 2006-09-12 | 2019-03-12 | Sonos, Inc. | Identification of playback device and stereo pair names |
US10448159B2 (en) | 2006-09-12 | 2019-10-15 | Sonos, Inc. | Playback device pairing |
US10136218B2 (en) | 2006-09-12 | 2018-11-20 | Sonos, Inc. | Playback device pairing |
US9928026B2 (en) | 2006-09-12 | 2018-03-27 | Sonos, Inc. | Making and indicating a stereo pair |
US10469966B2 (en) | 2006-09-12 | 2019-11-05 | Sonos, Inc. | Zone scene management |
US11082770B2 (en) | 2006-09-12 | 2021-08-03 | Sonos, Inc. | Multi-channel pairing in a media system |
US10306365B2 (en) | 2006-09-12 | 2019-05-28 | Sonos, Inc. | Playback device pairing |
US9860657B2 (en) | 2006-09-12 | 2018-01-02 | Sonos, Inc. | Zone configurations maintained by playback device |
US9813827B2 (en) | 2006-09-12 | 2017-11-07 | Sonos, Inc. | Zone configuration based on playback selections |
US9450821B2 (en) | 2009-01-16 | 2016-09-20 | Broadcom Corporation | Method and system for combining and/or blending multiple content from different sources in a broadband gateway |
US20110302442A1 (en) * | 2010-06-04 | 2011-12-08 | David Garrett | Method and System for Combining and/or Blending Multiple Content From Different Sources in a Broadband Gateway |
US8874748B2 (en) * | 2010-06-04 | 2014-10-28 | Broadcom Corporation | Method and system for combining and/or blending multiple content from different sources in a broadband gateway |
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 |
US11758327B2 (en) | 2011-01-25 | 2023-09-12 | Sonos, Inc. | Playback device pairing |
US10063202B2 (en) | 2012-04-27 | 2018-08-28 | Sonos, Inc. | Intelligently modifying the gain parameter of a playback device |
US9729115B2 (en) | 2012-04-27 | 2017-08-08 | Sonos, Inc. | Intelligently increasing the sound level of player |
US10720896B2 (en) | 2012-04-27 | 2020-07-21 | Sonos, Inc. | Intelligently modifying the gain parameter of a playback device |
US9374607B2 (en) | 2012-06-26 | 2016-06-21 | Sonos, Inc. | Media playback system with guest access |
US10306364B2 (en) | 2012-09-28 | 2019-05-28 | Sonos, Inc. | Audio processing adjustments for playback devices based on determined characteristics of audio content |
US11516611B2 (en) | 2012-10-01 | 2022-11-29 | Sonos, Inc. | Providing a multi-channel and a multi-zone audio environment |
US10721575B2 (en) | 2012-10-01 | 2020-07-21 | Sonos, Inc. | Providing a multi-channel and a multi-zone audio environment |
US9516440B2 (en) | 2012-10-01 | 2016-12-06 | Sonos | Providing a multi-channel and a multi-zone audio environment |
US10051398B2 (en) | 2012-10-01 | 2018-08-14 | Sonos, Inc. | Providing playback timing in a multi-zone audio environment |
US10805894B2 (en) * | 2013-10-31 | 2020-10-13 | At&T Intellectual Property I, L.P. | Synchronizing media presentation at multiple devices |
US20190297591A1 (en) * | 2013-10-31 | 2019-09-26 | At&T Intellectual Property I, L.P. | Synchronizing media presentation at multiple devices |
US9794707B2 (en) | 2014-02-06 | 2017-10-17 | Sonos, Inc. | Audio output balancing |
US9781513B2 (en) | 2014-02-06 | 2017-10-03 | Sonos, Inc. | Audio output balancing |
US9665341B2 (en) | 2015-02-09 | 2017-05-30 | Sonos, Inc. | Synchronized audio mixing |
US11531515B2 (en) | 2015-02-09 | 2022-12-20 | Sonos, Inc. | Synchronized audio mixing |
US10387110B2 (en) | 2015-02-09 | 2019-08-20 | SOHOS, Inc. | Synchronized audio mixing |
US9977649B2 (en) | 2015-02-09 | 2018-05-22 | Sonos, Inc. | Synchronized audio mixing |
US11403062B2 (en) | 2015-06-11 | 2022-08-02 | Sonos, Inc. | Multiple groupings in a playback system |
US12026431B2 (en) | 2015-06-11 | 2024-07-02 | Sonos, Inc. | Multiple groupings in a playback system |
US11995374B2 (en) | 2016-01-05 | 2024-05-28 | Sonos, Inc. | Multiple-device setup |
US11481182B2 (en) | 2016-10-17 | 2022-10-25 | Sonos, Inc. | Room association based on name |
Also Published As
Publication number | Publication date |
---|---|
US7669113B1 (en) | 2010-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8239748B1 (en) | Media stream synchronization using device and host clocks | |
US6625743B1 (en) | Method for synchronizing generation and consumption of isochronous data | |
US7395448B2 (en) | Directly obtaining by application programs information usable in determining clock accuracy | |
CN107277594B (en) | Method and device for synchronizing video and audio with bullet screen | |
CN109417500A (en) | System and method for controlling isochronal data stream | |
TW364980B (en) | Data decoding device | |
WO1999031577A3 (en) | Automatic configuration generation | |
US9723180B2 (en) | Device and method for correcting lip sync problems on display devices | |
WO2008086308B1 (en) | Time synchronization of multiple time-based data streams with independent clocks | |
WO2006007322B1 (en) | Providing synchronized information to multiple devices | |
CN104808984A (en) | Display interface refresh method and device | |
JP2007080264A (en) | System and method for tod clock steering | |
TW201205232A (en) | Clock-synchronized method for universal serial bus (USB) | |
US6061802A (en) | Software based clock synchronization | |
US20180329739A1 (en) | Reducing commit wait in a distributed multiversion database by reading the clock earlier | |
KR100829643B1 (en) | Event time-stamping | |
CN103747332A (en) | Video smoothing method and device | |
WO2017019678A1 (en) | Pps tagging of acoustic sample data | |
US20040187043A1 (en) | Synchronization with hardware utilizing software clock slaving via a clock | |
KR100828216B1 (en) | Universal adaptive synchronization scheme for distributed audio-video capture on heterogeneous computing platforms | |
CN110089120B (en) | System and method for synchronized playback of media items on multiple remote devices | |
CN103838149A (en) | Microcomputer | |
CN106533598B (en) | Circuit and method for estimating occurrence time difference between events, and computer-readable storage medium | |
CN1829129B (en) | Method and apparatus for eliminating transmission delay difference in multipath synchronous data transmission | |
US5581748A (en) | Phase register for synchronization of multiple signal processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |