Audio time synchronization using prioritized schedule

Information

  • Patent Grant
  • 11922976
  • Patent Number
    11,922,976
  • Date Filed
    Monday, August 29, 2022
    2 years ago
  • Date Issued
    Tuesday, March 5, 2024
    9 months ago
Abstract
Disclosed herein are system, method, and computer program product embodiments for synchronizing playback of an audio and/or video content. An embodiment operates by collectively selecting, by a first device in concert with a second device of a plurality of devices in a computer network session, and in accordance with a predetermined synchronization list comprising a first and second synchronization mechanism, the first synchronization mechanism over the second synchronization mechanism such that the first synchronization mechanism is more precise than the second synchronization mechanism. The first and second synchronization mechanisms are configured to provide a synchronized playback of the at least one of the audio content and the video content.
Description
FIELD OF THE INVENTION

The present invention relates to the field of synchronized playback of audio or video between devices in a peer-to-peer computer network system, e.g. in a wi-fi network.


BACKGROUND OF THE INVENTION

In synchronized playback of audio or video between a plurality of devices in a peer-to-peer computer network system, the devices can participate in coordinated sessions, where the participating devices can play synchronously. The participating devices can be located within or across several rooms.


One of the key parameters of providing precise audio playback synchronization is the ability to maintain a common reference time between multiple loudspeakers in a peer-to-peer audio playback network system. E.g. precise timing between left and right stereo loudspeaker in a stereo setup is crucial in order to obtain a perceived stereo image without any perceivable displacement of the spatial location of the center of the stereo image. Even timing differences below hundreds of microseconds between left and right loudspeaker in a stereo setup may result in a disturbed stereo image. Further, synchronization is required of audio and video between e.g. a loudspeaker device playing the audio part and a display device, e.g. a TV set, showing the video part of audio/video material. The synchronization requirements between the TV and the loudspeakers are orders-of-magnitude lower than the requirements between stereo loudspeakers.


In order to playback synchronously, the participating devices need to agree on the playback time and pace. One of the key parameters of providing precise audio playback synchronization is the ability to share the same time between multiple devices in a network, especially a wireless network.


Solutions exist that have various means to achieve synchronized audio playback in wireless computer networks. Some of these systems use the system clock of the devices, others provide a hardware solution requiring each of the nodes in the network to run with dedicated hardware. Even when working without adjusting the system clocks as provided by the operating system, these solutions often use clocks that are derived from the system clock, adjusted with a frequency and offset component to match some remote system. However, such synchronization is in general not accurate.


SUMMARY OF THE INVENTION

Thus, according to the above description, it is an object of the present invention to provide an accurate way of providing synchronized playback of audio and/or video in a computer network of a plurality of devices.


In a first aspect, the invention provides a method for synchronizing playback of audio and/or video from a source in computer network of a plurality of separate devices in a computer network session, see appended claim 1.


In this method, the best-effort session synchronization mechanism is selected from a hierarchy of heterogeneous synchronization mechanisms. In other words, a prioritized schedule is used to select the synchronization mechanism to be used.


Such method provides a general way of allowing different types of devices to be combined to playback time synchronous audio and/or video in a computer network session, and to still obtain the most precise time synchronization possible.


A session is directed by a session master (or session leader) which has a lowest common denominator synchronization mechanism. Subsets of participating devices may group together to use a better synchronization mechanism within the group, with a group master that synchronizes the group with the session master (session leader).


By using different synchronization mechanisms for different separate devices in a session, it is possible to achieve a better synchronization between devices with higher synchronization requirements, such as between the left and right loudspeakers for stereo audio playback. In comparison, the synchronization between two devices located in different rooms is relaxed, and can thus be implemented by another synchronization mechanism.


In the dependent claims 2-20, a number of embodiments and/or preferred features will be defined.


By ‘audio clock’ is understood a synchronization mechanism provided by the audio codec used to stream the audio of the audio and/or video content.


In a second aspect, the invention provides a protocol for controlling a plurality of separate devices in a computer network.


In a third aspect, the invention provides a computer executable program code, or a programmable- or fixed hardware, and/or combination hereof, arranged to perform the method according to the first aspect, or causes a device with a processor to function according to the protocol of the second aspect. The computer executable program code may be stored on a data carrier. The program code may be implemented to function on any type of processor platform.


In a fourth aspect, the invention provides a device that operates according to the method or protocol of the first or second aspect. Especially, the device may be an audio device, such as a stand-alone active loudspeaker. The device may also be any other type of device with audio and/or video capabilities, e.g. a TV set.


In a fifth aspect, the invention provides a system of a plurality of devices according to the fourth aspect, e.g. mixed types of devices arranged to take part in a computer network session, e.g. a wi-fi network session, of synchronized playback of audio and/or video content.


In a sixth aspect, the invention provides an electronic chip programmed to allow a device to operate according to protocol according to the third aspect, if provided with access to the electronic chip, e.g. if the device has the chip installed therein.


It is appreciated that the same advantages and embodiments described for the first aspect apply as well for the second, third, fourth, fifth, and sixth aspects. Further, it is appreciated that the described embodiments can be intermixed in any way between all the mentioned aspects.





BRIEF DESCRIPTION OF THE FIGURES

The invention will now be described in more detail with regard to the accompanying figures of which



FIG. 1 shows a synchronization session with a TV (10) and a stereo set of loudspeakers, left and right (20 and 21), where the TV (10) is the session master (leader) and therefore provides the overall synchronization (30 and 31),



FIG. 2 illustrates a synchronization mechanism selection algorithm embodiment.



FIG. 3 illustrates an example of a synchronization hierarchy. The session master (leader) (50) is the authoritative time synchronization source for the session, and it provides timing information to all other devices (52), (54), and (56) via the session's default synchronization. Two groups have been formed with an out-of-band synchronization, each group having a group master (leader) (52) and two group members (54).



FIG. 4 illustrates steps of a clock synchronization selection algorithm embodiment.





The figures illustrate specific ways of implementing the present invention and are not to be construed as being limiting to other possible embodiments falling within the scope of the attached claim set.


DETAILED DESCRIPTION OF THE INVENTION


FIG. 1 shows a synchronization session with a TV (10) and two speakers (20 and 21). The TV (10) is the session master and therefore provides the overall synchronization (30 and 31). The Right speaker (21) and the Left speaker (20) form a group (40) wherein the Right speaker (21) acts as the group master. The group master (21) synchronizes against the session master (10). The Left speaker (20) ignores the synchronization from the session master (10) and instead uses the synchronization (32) from the group master (21).



FIG. 2 illustrates a synchronization mechanism selection algorithm.



FIG. 3 illustrates a synchronization hierarchy: The session master (50) is the authoritative time source for the session. It provides timing information to all other devices (52), (54), and (56) via the session's default synchronization. Two groups have been formed with an out-of-band synchronization. Each group has a group master (52) and two group members (54). These use an out-of-band synchronization mechanism. As indicated by the dashed line, (54) still utilizes the default synchronization with the session master (50).


The group masters (52) also maintain a direct synchronization with the Session Master (50). Devices (56) do not use any out-of-band synchronization, and fall back to the default synchronization with the session master (50).



FIG. 4 illustrates a simple example of a selection algorithm implemented in each of the separate devices taking part in a computer network session of synchronous playback of audio and/or video.


In a specific example, the prioritized list of synchronization mechanisms may include two or more of the following, in prioritized order:

    • 1) a custom radio frequency (RF) based synchronization mechanism,
    • 2) a custom infrared (IR) based synchronization mechanism,
    • 3) a Global Positioning System (GPS) based synchronization mechanism,
    • 4) a standard radio clock (e.g. DCF77 or WWVB) based synchronization mechanism, and
    • 5) a Network Time Protocol (NTP) based synchronization mechanism.


To sum up: the invention provides a method for providing a synchronization in a computer network for synchronized playback of audio and/or video by a plurality of separate devices, e.g. in a wi-fi network. Each separate device is programmed to select a synchronization mechanism in accordance with a predetermined prioritized list of at least two different synchronization mechanisms, and to use the selected synchronization mechanism for synchronizing audio and/or video playback. E.g. use of a clock based on the audio codec clock can be set to a higher priority than use of the system clock, which provides a poorer precision. A session leader serves to provide the synchronization to other separate devices in a session, however a group of two or more separate devices within the session may agree on selecting a synchronization mechanism providing a higher precision than the one provided by the session leader. E.g. to allow high precision timing between separate left and right loudspeakers in a stereo setup. A group leader can be elected to provide synchronization to a group of devices using a higher synchronization precision than the synchronization mechanism provided by the overall session leader. E.g. a dedicated synchronization channel separate from the audio/video streaming channel may be selected.


Although the present invention has been described in connection with the specified embodiments, it should not be construed as being in any way limited to the presented examples. The scope of the present invention is to be interpreted in the light of the accompanying claim set. In the context of the claims, the terms “including” or “includes” do not exclude other possible elements or steps. Also, the mentioning of references such as “a” or “an” etc. should not be construed as excluding a plurality. The use of reference signs in the claims with respect to elements indicated in the figures shall also not be construed as limiting the scope of the invention. Furthermore, individual features mentioned in different claims, may possibly be advantageously combined, and the mentioning of these features in different claims does not exclude that a combination of features is not possible and advantageous.

Claims
  • 1. A method for synchronizing playback of at least one of an audio content and a video content by a computer network session including a session master, the method comprising: determining a synchronization list including a default synchronization mechanism and a group synchronization mechanism, wherein the group synchronization mechanism has a higher precision than the default synchronization mechanism, wherein the computer network session includes the session master and a plurality of devices, the session master directing the computer network session and having a lowest common denominator synchronization mechanism among the plurality of devices, and the default synchronization mechanism is provided by the session master to all devices of the plurality of devices included in the computer network session; andproviding, by the session master, the default synchronization mechanism to the plurality of devices of the computer network session including a group master device and a group member device forming a device group, wherein the group master device and the group member device ignore the default synchronization mechanism provided by the session master and agree on the group synchronization for synchronizing playback of at least one of the audio content and the video content.
  • 2. The method of claim 1, further comprising: providing the default synchronization mechanism to a separated device of the computer network session not included in a device group.
  • 3. The method of claim 1, further comprising: providing the default synchronization mechanism to a separated device of the computer network session not included in the device group.
  • 4. The method of claim 1, wherein the default synchronization mechanism is an audio clock.
  • 5. The method of claim 1, wherein the default synchronization mechanism or the group synchronization mechanism includes a custom radio frequency-based synchronization mechanism, a custom infrared-based synchronization mechanism, a global positioning system based synchronization mechanism, a standard radio clock-based synchronization mechanism, or a network time protocol server-based synchronization mechanism.
  • 6. The method of claim 1, wherein the default synchronization mechanism or the group synchronization mechanism operate within a communication channel on which the at least one of the audio content and the video content is streamed.
  • 7. The method of claim 1, wherein the group synchronization mechanism comprises a virtual clock.
  • 8. The method of claim 7, wherein the virtual clock is generated in response to a timing of an audio codec.
  • 9. The method of claim 7, wherein the virtual clock is generated in response to a clock system of the audio content or to periodic measurements of an audio codec.
  • 10. The method of claim 1, wherein the at least one of the audio content and the video content is streamed via a wireless channel.
  • 11. The method of claim 1, wherein the group master device or the group member device is configured to provide the synchronized playback to a left or right stereo channel of an audio stream.
  • 12. A non-transitory, computer-readable medium having instructions stored thereon that, when executed by a session master of a computer network session, cause the session master to perform operations comprising: determining a synchronization list including a default synchronization mechanism and a group synchronization mechanism, wherein the group synchronization mechanism has a higher precision than the default synchronization mechanism, wherein the computer network session includes the session master and a plurality of devices, the session master directing the computer network session and having a lowest common denominator synchronization mechanism among the plurality of devices, and the default synchronization mechanism is provided by the session master to all devices of the plurality of devices included in the computer network session; andproviding the default synchronization mechanism to the plurality of devices of the computer network session including a group master device and a group member device forming a device group, wherein the group master device and the group member device ignore the default synchronization mechanism provided by the session master and agree on the group synchronization for synchronizing playback of at least one of an audio content and a video content.
  • 13. The non-transitory, computer-readable medium of claim 12, wherein the operations further comprise: providing the default synchronization mechanism to a separated device of the computer network session not included in the device group.
  • 14. The non-transitory, computer-readable medium of claim 12, wherein the group member device is configured to provide the synchronized playback of the audio content or the video content according to the group synchronization mechanism.
  • 15. The non-transitory, computer-readable medium of claim 12, wherein the default synchronization mechanism is an audio clock.
  • 16. The non-transitory, computer-readable medium of claim 12, wherein the default synchronization mechanism or the group synchronization mechanism includes a custom radio frequency-based synchronization mechanism, a custom infrared-based synchronization mechanism, a global positioning system based synchronization mechanism, a standard radio clock-based synchronization mechanism, or a network time protocol server-based synchronization mechanism.
  • 17. The non-transitory, computer-readable medium of claim 12, wherein the default synchronization mechanism or the group synchronization mechanism operate within a communication channel on which the at least one of the audio content and the video content is streamed.
  • 18. A session master, comprising: a network interface arranged to provide at least one of an audio content and a video content via a computer network session for synchronizing playback of the at least one of the audio content and the video content by the computer network session, wherein the computer network session includes the session master and a plurality of devices, the session master directing the computer network session and having a lowest common denominator synchronization mechanism among the plurality of devices; anda processor coupled to the network interface and configured to provide a default synchronization mechanism to all devices of the plurality of devices of the computer network session including a group master device and a group member device forming a device group, wherein the group master device and the group member device ignore the default synchronization mechanism provided by the session master and agree on a group synchronization mechanism having a higher precision than the default synchronization mechanism in accordance with a predetermined synchronization list including the default synchronization mechanism and the group synchronization mechanism.
  • 19. The session master of claim 18, wherein the group member device is configured to provide the synchronized playback of the audio content or the video content according to the group synchronization mechanism.
  • 20. The session master of claim 18, wherein the default synchronization mechanism or the group synchronization mechanism includes a custom radio frequency-based synchronization mechanism, a custom infrared-based synchronization mechanism, a global positioning system based synchronization mechanism, a standard radio clock-based synchronization mechanism, or a network time protocol server-based synchronization mechanism.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 16/709,113, filed on Sep. 6, 2022, which is a continuation of U.S. patent application Ser. No. 15/547,111, filed on Jul. 28, 2017, which are incorporated herein by reference in their entireties.

US Referenced Citations (40)
Number Name Date Kind
4731676 Berlekamp Mar 1988 A
4907080 Campbell et al. Mar 1990 A
6173022 McPherson et al. Jan 2001 B1
6192397 Thompson Feb 2001 B1
6372974 Gross et al. Apr 2002 B1
6598172 Vandeusen et al. Jul 2003 B1
7301092 McNally et al. Nov 2007 B1
7500176 Thomson et al. Mar 2009 B2
7631119 Moore et al. Dec 2009 B2
10614856 Møller et al. Apr 2020 B2
11437075 Møller et al. Sep 2022 B2
20030017823 Mager et al. Jan 2003 A1
20030018662 Li Jan 2003 A1
20030164845 Fayan et al. Sep 2003 A1
20050028195 Feinleib et al. Feb 2005 A1
20050111827 Sullivan May 2005 A1
20050198549 Courant Sep 2005 A1
20050213826 Neogi Sep 2005 A1
20050217462 Thomson et al. Oct 2005 A1
20050227674 Kopra et al. Oct 2005 A1
20060146850 Virdi et al. Jul 2006 A1
20060149850 Bowman Jul 2006 A1
20060156375 Konetski Jul 2006 A1
20060161835 Panabaker et al. Jul 2006 A1
20060179160 Uehara et al. Aug 2006 A1
20060227245 Poimboeuf et al. Oct 2006 A1
20060242106 Bank Oct 2006 A1
20060270395 Dhawan et al. Nov 2006 A1
20070079352 Klein, Jr. Apr 2007 A1
20070136769 Goldberg et al. Jun 2007 A1
20070143493 Mullig et al. Jun 2007 A1
20070250761 Bradley et al. Oct 2007 A1
20080120501 Jannink et al. May 2008 A1
20080168182 Frank Jul 2008 A1
20090135854 Bettin et al. May 2009 A1
20090222520 Sloo et al. Sep 2009 A1
20130155209 Hara Jun 2013 A1
20140013008 Lazarus et al. Jan 2014 A1
20140181270 Millington Jun 2014 A1
20140269776 Bomfim et al. Sep 2014 A1
Foreign Referenced Citations (3)
Number Date Country
WO 2006053704 May 2006 WO
WO 2012018300 Feb 2012 WO
WO 2013184792 Dec 2013 WO
Non-Patent Literature Citations (3)
Entry
International Search Report issued in related application dated Jun. 3, 2016.
Written Opinion issued in related application dated Jun. 3, 2016.
Yen et al., “On the Synchronization Mechanisms for Multimedia Integrated Services Networks”, School of Electrical and Computer Engineering; Georgia Institute of Technology, Atlanta, GA; Nov. 13, 1994, pp. 168-184.
Related Publications (1)
Number Date Country
20230066005 A1 Mar 2023 US
Continuations (2)
Number Date Country
Parent 16709113 Dec 2019 US
Child 17897894 US
Parent 15547111 US
Child 16709113 US