Method and apparatus for synchronizing audio and video data streams in a multimedia system
First Claim
1. A method for synchronizing audio and video data streams having a common starting point during a multimedia presentation, comprising the steps of:
- determining a current position of the video data stream relative to the common starting point;
determining a current position of the audio data stream relative to the common starting point;
calculating a synchronization error related to a difference between the respective video data stream and audio data stream current positions using the current positions of the audio and video data streams;
adjusting a tempo of one of the data streams based on the synchronization error if necessary to place the audio and video data streams in synchrony;
repeating the determining steps and the steps of calculating and adjusting during the multimedia presentation to maintain the audio and video data streams in synchrony.
7 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for synchronizing audio and video data streams in a computer system during a multimedia presentation to produce a correctly synchronized presentation. The preferred embodiment of the invention utilizes a nonlinear feedback method for data synchronization. The method of the present invention periodically queries each driver for the current audio and video position (or frame number) and calculates the synchronization error. The synchronization error is used to determine a tempo value adjustment to one of the data stream designed to place the video and audio back in sync. The method then adjusts the audio or video tempo to maintain the audio and video data streams in synchrony. In the preferred embodiment of the invention, the video tempo is changed nonlinearly over time to achieve a match between the video position and the equivalent audio position. The method applies a smoothing function to the determined tempo value to prevent overcompensation. The method of the present invention can operate in any hardware system and in any software environment and can be adapted to existing systems with only minor modifications.
406 Citations
40 Claims
-
1. A method for synchronizing audio and video data streams having a common starting point during a multimedia presentation, comprising the steps of:
-
determining a current position of the video data stream relative to the common starting point; determining a current position of the audio data stream relative to the common starting point; calculating a synchronization error related to a difference between the respective video data stream and audio data stream current positions using the current positions of the audio and video data streams; adjusting a tempo of one of the data streams based on the synchronization error if necessary to place the audio and video data streams in synchrony; repeating the determining steps and the steps of calculating and adjusting during the multimedia presentation to maintain the audio and video data streams in synchrony. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 30, 31, 32, 33, 34, 35)
-
-
16. A computer system which synchronizes audio and video data streams, having respective audio and video data, during an audio-visual display, comprising:
- one or more storage devices for storing the audio and video data for the audio-visual display;
a video monitor coupled to the one or more storage devices for generating a video display corresponding to the video data in the video data stream; a speaker coupled to one or more storage devices for generating sounds corresponding to the audio data in the audio data stream; one or more data paths for transmitting the audio and video data streams corresponding to the audio and video data from the one or more storage devices to the speaker and the video monitor, respectively; means coupled to the one or more storage devices, the one or more data paths, the video monitor and the speaker for obtaining a current position of the video data stream relative to a common starting point of the audio and video data streams; means coupled to the one or more storage devices, the one or more data paths, the video monitor and the speaker for obtaining a current position of the audio data stream relative to the common starting point; means coupled to both the means for obtaining for calculating a synchronization error related to a difference between the respective video data stream and audio data stream current positions using the current positions of the audio and video data streams; and means coupled to the one or more data paths and the synchronization error calculating means for adjusting a tempo of one of the data streams based on the synchronization error if necessary to place the audio and video data streams in synchrony; and wherein the means for obtaining, means for calculating, and means for adjusting repeat their respective functions during the audio-visual display to maintain the audio and video data streams in synchrony. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 36, 37, 38, 39, 40)
- one or more storage devices for storing the audio and video data for the audio-visual display;
Specification