Synchronized, variable-speed playback of digitally recorded audio and video
First Claim
1. A method of maintaining synchronization of a stream of digital audio data with a stream of digital video data originally recorded at a specified rate in frames per second, FPS, the digital video data being played back on a variable-speed audio/video display system using a user-selected scaling factor, RV, which is set to a proportional value of a recorded rate, the method comprising the steps of:
- placing at least 2 frames of digital audio in an audio buffer and at least 2 frames of digital video in a video buffer;
setting an audio time domain harmonic scaling factor, C, equal to the user-selected scaling factor, RV;
calculating an amount of time in seconds, T, required to play back an audio frame with the selected audio time domain harmonic scaling factor C;
decoding and displaying, if the video buffer is not empty, a frame of video from the video buffer for T seconds;
decoding, scaling and playing, if the audio buffer is not empty, an audio frame from the audio buffer using the audio time domain harmonic scaling factor C so that playback of the audio frame requires an audio playback time period equal to T seconds;
reading, after T seconds, and if the end of the stream of digital audio data or the stream of digital video data has not been reached, another frame from the stream of digital audio into the audio buffer and another frame from the stream of digital video into the video buffer;
determining whether the audio playback time period of the audio frame played during the preceding time period T was exactly equal to T seconds;
adjusting the value C if the audio playback time period was not exactly equal to T seconds; and
recalculating the time T if the audio time domain harmonic scaling factor C has changed since the beginning of the preceding time period T.
0 Assignments
0 Petitions
Accused Products
Abstract
Method and system for providing user-controlled, continuous, synchronized variable-speed playback of a previously recorded digital audio/video presentation. The user directly controls the rate of playback and the audio and video remain synchronized. The audio is expanded or compressed using the time domain harmonic scaling method so that the pitch of the audio remains undistorted. Synchronization is maintained by allowing one clock to serve as the master time clock for the system. The clocks which can serve as the master time clock include the audio decoder clock, the video decoder clock, and the system clock. The invention is particularly useful in multimedia display systems designed to display MPEG data.
-
Citations
17 Claims
-
1. A method of maintaining synchronization of a stream of digital audio data with a stream of digital video data originally recorded at a specified rate in frames per second, FPS, the digital video data being played back on a variable-speed audio/video display system using a user-selected scaling factor, RV, which is set to a proportional value of a recorded rate, the method comprising the steps of:
-
placing at least 2 frames of digital audio in an audio buffer and at least 2 frames of digital video in a video buffer; setting an audio time domain harmonic scaling factor, C, equal to the user-selected scaling factor, RV; calculating an amount of time in seconds, T, required to play back an audio frame with the selected audio time domain harmonic scaling factor C; decoding and displaying, if the video buffer is not empty, a frame of video from the video buffer for T seconds; decoding, scaling and playing, if the audio buffer is not empty, an audio frame from the audio buffer using the audio time domain harmonic scaling factor C so that playback of the audio frame requires an audio playback time period equal to T seconds; reading, after T seconds, and if the end of the stream of digital audio data or the stream of digital video data has not been reached, another frame from the stream of digital audio into the audio buffer and another frame from the stream of digital video into the video buffer; determining whether the audio playback time period of the audio frame played during the preceding time period T was exactly equal to T seconds; adjusting the value C if the audio playback time period was not exactly equal to T seconds; and recalculating the time T if the audio time domain harmonic scaling factor C has changed since the beginning of the preceding time period T.
-
-
2. In a system for playing digitally recorded audio and video data streams, the system having an audio buffer holding two or more audio frames, and a video buffer holding two or more video frames, a method for maintaining synchronization during variable-speed playback of the audio data stream with the video data stream, where the video data stream is being played using a user-selected scaling factor, RV, which is set to a proportional value of an originally recorded rate, the method comprising the steps of:
-
calculating an amount of time in seconds, T, required to play back an audio frame with an audio time domain harmonic scaling factor C, where C is initially set to equal the user-selected scaling factor RV; decoding and displaying, if the video buffer is not empty, a frame of video from the video buffer for T seconds; decoding, scaling and playing, if the audio buffer is not empty, an audio frame from the audio buffer using the audio time domain harmonic scaling factor C so that playback of the audio frame requires an audio playback time period equal to T seconds; and
reading, after T seconds, and if the end of the data streams has not been reached, a frame from the stream of digital audio into the audio buffer and a frame from the stream of digital video into the video buffer. - View Dependent Claims (3, 4, 5)
-
-
6. A digital audio/video playback system for playing digitally encoded, simultaneous audio and video at variable speeds while maintaining synchronization between the audio and video, the system comprising:
-
means for receiving a digital audio data stream and digital video data stream from a source; a video buffer capable of holding at least two frames of video, the video buffer connected to the receiving means; an audio buffer capable of holding at least two frames of audio, the audio buffer connected to the receiving means; means for displaying a plurality of video frames in succession; means for generating sounds from electronic signals; and apparatus for maintaining synchronization during playback of the digital audio data stream with the digital video data stream, where the digital video data stream is being played using a user-selected scaling factor, RV, which is set to a proportional value of an originally recorded rate, the apparatus being disposed between the audio and video buffers and the generating and displaying means, the apparatus including; means for calculating an amount of time in seconds, T, required to play back an audio frame with an audio time domain harmonic scaling factor C, where C is initially set to equal RV; a video decoder for decoding a frame of video from the video buffer and sending the frame of video to the display means; and an audio time domain harmonic scaler for decoding, scaling and playing an audio frame from the audio buffer using the audio time domain harmonic scaling factor C so that playback of the audio frame requires an audio playback time period equal to T. - View Dependent Claims (7, 8, 9)
-
-
10. Apparatus for maintaining synchronization during variable-speed playback of an audio data stream with a video data stream, where the video data stream is being played using a user-selected scaling factor, RV, which is set to a proportional value of an originally recorded rate, the apparatus comprising:
-
means for receiving digital audio data and digital video data from a source; a video buffer capable of holding at least two frames of video, the video buffer connected to the receiving means; an audio buffer capable of holding at least two frames of audio, the audio buffer connected to the receiving means; means for calculating an amount of time in seconds, T, required to play back an audio frame with an audio time domain harmonic scaling factor C which is set equal to the user-selected scaling factor RV; means for decoding and displaying a frame of video from the video buffer for T seconds; and an audio time domain harmonic scaler for decoding, scaling and playing an audio frame from the audio buffer using the audio time domain harmonic scaling factor C so that playback of the audio frame requires an audio playback time period equal to T. - View Dependent Claims (11, 12, 13)
-
-
14. A digital audio/video playback subsystem for playing digitally encoded, simultaneous audio and video at variable speeds while maintaining synchronization between the audio and video, the system comprising:
-
means for receiving a digital audio data stream and a digital video data stream from a source; a video buffer capable of holding at least two frames of video, the video buffer connected to the receiving means; an audio buffer capable of holding at least two frames of audio, the audio buffer connected to the receiving means; means for connection to apparatus for displaying a plurality of video frames in succession; means for connection to apparatus generating sounds from electronic signals; and apparatus for maintaining synchronization during playback of the digital audio data stream with the digital video data stream, where the digital video data stream is being played using a user-selected scaling factor, RV, which is set to a proportional value of an originally recorded rate, the apparatus disposed between the audio and video buffers and the connection means, the apparatus including; means for calculating an amount of time in seconds, T, required to play back an audio frame with an audio time domain harmonic scaling factor C, where C is set equal to the user-selected scaling factor RV; a video decoder for decoding a frame of video from the video buffer and sending the frame of video to the display apparatus connection means; and an audio time domain harmonic scaler for scaling and playing an audio frame from the audio buffer using the audio time domain harmonic scaling factor C so that playback of the audio frame requires an audio playback time period equal to T. - View Dependent Claims (15, 16, 17)
-
Specification