AUDIO TIME SYNCHRONIZATION USING PRIORITIZED SCHEDULE

20180012632 · 2018-01-11

Assignee

Inventors

Cpc classification

International classification

Abstract

A method is provided for synchronizing playback of audio an/or video by a plurality of separate devices in a computer network, 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.

Claims

1. A method for synchronizing playback of audio and/or video from a source in a network of a plurality of separate devices in a computer network session, wherein each of the separate devices in the computer network session are programmed to: select a synchronization mechanism in accordance with a predetermined prioritized list of at least two different synchronization mechanisms, so as to obtain the most precise time synchronization possible, wherein the prioritized list comprises a virtual clock generated in response to a timing of the audio codec used for streaming the audio and/or video to select from, and use the selected synchronization mechanism for synchronizing audio and/or video playback.

2. Method according to claim 1, wherein one of the separate devices in the computer network session is selected as session leader, wherein the session leader is programmed to provide a default synchronization mechanism which is selected to be the synchronization mechanism with the lowest priority on said predetermined prioritized list of at least two different synchronization mechanisms, and wherein the separate devices in the computer network session are programmed to select a synchronization mechanism in accordance with a predetermined selection criterion.

3. (canceled)

4. Method according to claim 1, wherein the separate devices are programmed to search within the computer network session for other separate devices, and to form a group of at least two separate devices within the computer network session to agree on a synchronization mechanism with a higher priority than used by other separate devices in the computer network session, so as to obtain a higher synchronization precision between the separate devices being part of the group.

5. Method according to claim 4, wherein one of the separate devices in said group is elected as group leader to provide synchronization according to the selected synchronization mechanism with higher priority synchronization mechanism, and wherein the group leader serves to synchronize group with the synchronization provided by the session leader, and wherein said group comprises an audio device arranged to playback left stereo channel of an audio stream, and another audio device arranged to playback right stereo channel of the audio stream.

6-7. (canceled)

8. Method according to claim 1, wherein said predetermined prioritized list comprises at least one synchronization mechanism which operates within the communication channel on which the audio and/or video content is streamed.

9. Method according to claim 1, wherein said predetermined prioritized list comprises at least one synchronization mechanism which operates on a communication channel separate from the communication channel on which the audio and/or video content is streamed.

10. Method according to claim 9, wherein the audio and/or video content is streamed via a wi-fi channel, and wherein synchronization is provided via a separate wireless channel, such as a separate wireless channel communication implemented by dedicated hardware in the separate devices.

11. Method according to claim 1, wherein said predetermined prioritized list comprises at least the following types of synchronization mechanisms to so select from: 1) use of the audio clock as synchronization mechanism, and 2) use of the system clock in each of the separate devices as synchronization mechanisms.

12. (canceled)

13. Method according to claim 1, wherein said predetermined prioritized list comprises at least two of: 1) a custom radio frequency (RF) based synchronization mechanism, 2) a custom infrared (IR) based synchronization mechanism, 3) a GPS based synchronization mechanism, 4) a standard DCF77/WWVB RF based synchronization mechanism, and 5) an NTP-to-public server based synchronization mechanism.

14. Method according to claim 1, wherein said predetermined prioritized list comprises at least three types of synchronization mechanisms to select from.

15. (canceled)

16. Method according to claim 1, wherein said virtual clock is generated in response to a clock system of the audio codec, such as by direct access to the tick counter of the audio codec clock system, or wherein the virtual clock is generated in response to periodic measurements of the audio codec clock.

17. Method according to claim 1, wherein synchronization in said session is provided by one of the separate devices serving as session leader, and wherein each of the separate devices are programmed to elect a new session leader among the remaining separate devices in the session in an autonomous manner, in case it is detected that the current session leader is unavailable.

18. (canceled)

19. A protocol for controlling a plurality of separate devices in a computer network, wherein the protocol implemented in each of the separate devices in the computer network session comprises: selecting a synchronization mechanism in accordance with a predetermined prioritized list of at least two different synchronization mechanisms, so as to obtain the most precise time synchronization possible, wherein the prioritized list comprises a virtual clock generated in response to a timing of the audio codec used for streaming the audio and/or video to select from, and using the selected synchronization mechanism for synchronizing audio and/or video playback.

20. A computer executable program code arranged to perform the method according to claim 1.

21. (canceled)

22. A device comprising a processor and a network interface arranged to receive audio and/or video via a computer network from a source in a synchronized manner in response to synchronization information, such as synchronization information from a session leader, wherein the processor is programmed to operate according to the method according to claim

23-27. (canceled)

28. Method according to claim 1, wherein said predetermined prioritized list comprises a custom radio frequency based on synchronization mechanism with a higher priority than the virtual clock generated in response to a timing of the audio codec used for streaming the audio and/or video.

Description

BRIEF DESCRIPTION OF THE FIGURES

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

[0021] 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),

[0022] FIG. 2 illustrates a synchronization mechanism selection algorithm embodiment.

[0023] 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).

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

[0025] 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

[0026] 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).

[0027] FIG. 2 illustrates a synchronization mechanism selection algorithm.

[0028] 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).

[0029] 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).

[0030] 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.

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

[0032] 1) a custom radio frequency (RF) based synchronization mechanism,

[0033] 2) a custom infrared (IR) based synchronization mechanism,

[0034] 3) a Global Positioning System (GPS) based synchronization mechanism,

[0035] 4) a standard radio clock (e.g. DCF77 or WWVB) based synchronization mechanism, and

[0036] 5) a Network Time Protocol (NTP) based synchronization mechanism.

[0037] 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.

[0038] 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.