AUDIO TIME SYNCHRONIZATION USING PRIORITIZED SCHEDULE
20180012632 · 2018-01-11
Assignee
Inventors
Cpc classification
H04N21/44008
ELECTRICITY
G11B27/10
PHYSICS
H04N21/4394
ELECTRICITY
H04N21/43615
ELECTRICITY
International classification
G11B27/10
PHYSICS
H04N21/43
ELECTRICITY
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]
[0022]
[0023]
[0024]
[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]
[0027]
[0028]
[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]
[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.