IP Library Granted Patent US 7,669,113
Granted Patent B1
US 7,669,113 · App. 10/769,139 · Granted Feb 23, 2010

Media stream synchronization using device and host clocks

Assignee: Apple Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,669,113
App. No.
10/769,139
Granted
Feb 23, 2010
Kind
B1
Abstract

A synchronization manager synchronizes multiple media streams. The synchronization manager queries a media stream output device associated with each media stream to synchronize, and in response receives the current device clock time of each device, each device's next available media stream output time, and each device's delta between available media stream output times. The synchronization manager uses this timing information to determine 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.

Claims (86)

1. A method for synchronizing multiple media streams, the method comprising:

querying a plurality of media stream output devices;

responsive to the querying step, receiving, from each queried media stream output device: a) its current time according to its device clock, b) a next available media stream output time, according to its device clock and c) a delta between available media stream output times;

determining an earliest available media stream output time common to each media stream output device based on data received responsive to the querying step; and

synchronizing output of the plurality of media streams by providing each media stream to an associated media stream output device at the earliest available common media stream output time.

2. The method of claim 1 further comprising:

defining one media stream of the plurality as a master media stream;

slaving at least one additional media stream of the plurality off the master media stream.

3. The method of claim 1 wherein:

the plurality of media streams comprises at least a video stream and an audio stream.

4. The method of claim 1 wherein:

at least one of the plurality of media streams comprises a media stream from a group of media streams consisting of:

a video stream;

an audio stream;

a closed captioning data stream;

a stream of MIDI events;

a stream of text to Braille data; and

a stream of side band data.

5. The method of claim 1 further comprising:

correlating each received device clock time into a common host clock time; and

referencing events on the plurality of media stream output devices in the common host clock time.

6. A computer readable medium containing a computer program product for synchronizing multiple media streams, the computer program product comprising:

program code for querying a plurality of media stream output devices;

program code for receiving, from each queried media stream output device: a) its current time according to its device clock, b) a next available media stream output time, according to its device clock and c) a delta between available media stream output times;

program code for determining an earliest available media stream output time common to each media stream output device based on data received responsive to the querying step; and

program code for synchronizing output of the plurality of media streams by providing each media stream to an associated media stream output device at the earliest available common media stream output time.

7. The computer program product of claim 6 further comprising:

program code for defining one media stream of the plurality as a master media stream;

program code for slaving at least one additional media stream of the plurality off the master media stream.

8. The computer program product of claim 6 wherein:

the plurality of media streams comprises at least a video stream and an audio stream.

9. The computer program product of claim 6 wherein:

at least one of the plurality of media streams comprises a media stream from a group of media streams consisting of:

a video stream;

an audio stream;

a closed captioning data stream;

a stream of MIDI events;

a stream of text to Braille data; and

a stream of side band data.

10. The computer program product of claim 6 further comprising:

program code for correlating each received device clock time into a common host clock time; and

program code for referencing events on the plurality of media stream output devices in the common host clock time.

11. A computer system for synchronizing multiple media streams, the computer system comprising:

a processor;

a software portion configured to query a plurality of media stream output devices;

a software portion configured to receive, from each queried media stream output device: a) its current time according to its device clock, b) a next available media stream output time, according to its device clock and c) a delta between available media stream output times;

a software portion configured to determine an earliest available media stream output time common to each media stream output device based on data received responsive to querying step; and

a software portion configured to synchronize output of the plurality of media streams by providing each media stream to an associated media stream output device at the earliest available common media stream output time.

12. The computer system of claim 11 further comprising:

a software portion configured to define one media stream of the plurality as a master media stream;

a software portion configured to slave at least one additional media stream of the plurality off the master media stream.

13. The computer system of claim 11 wherein:

the plurality of media streams comprises at least a video stream and an audio stream.

14. The computer system of claim 11 wherein:

at least one of the plurality of media streams comprises a media stream from a group of media streams consisting of:

a video stream;

an audio stream;

a closed captioning data stream;

a stream of MIDI events;

a stream of text to Braille data; and

a stream of side band data.

15. The computer system of claim 11 further comprising:

a software portion configured to correlate each received device clock time into a common host clock time; and

a software portion configured to reference events on the plurality of media stream output devices in the common host clock time.

16. A computer system for synchronizing multiple media streams, the computer system comprising:

a processor;

means for querying a plurality of media stream output devices;

means for receiving, from each queried media stream output device: a) its current time according to its device clock, b) a next available media stream output time, according to its device clock and c) a delta between available media stream output times;

means for determining an earliest available media stream output time common to each media stream output device based on data received responsive to querying step; and

means for synchronizing output of the plurality of media streams by providing each media stream to an associated media stream output device at the earliest available common media stream output time.

17. The computer system of claim 16 further comprising:

means for defining one media stream of the plurality as a master media stream;

means for slaving at least one additional media stream of the plurality off the master media stream.

18. The computer system of claim 16 wherein:

the plurality of media streams comprises at least a video stream and an audio stream.

19. The computer system of claim 16 wherein:

at least one of the plurality of media streams comprises a media stream from a group of media streams consisting of:

a video stream;

an audio stream;

a closed captioning data stream;

a stream of MIDI events;

a stream of text to Braille data; and

a stream of side band data.

20. The computer system of claim 16 further comprising:

means for correlating each received device clock time into a common host clock time; and

means for referencing events on the plurality of media stream output devices in the common host clock time.

Assignments (2)
CHANGE OF NAME Recorded Mar 7, 2008
From: APPLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 020638/0127 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2004
From: MOORE, JEFF; BERTHOUD, JEAN-MICHEL; CHERNA, TIM
To: APPLE COMPUTER, INC.
Reel/Frame 014955/0446 →