System and Methods for Encoding Live Multimedia Content with Synchronized Audio Data
First Claim
1. An encoding system, comprising:
- live multimedia content storage configured to store live multimedia content, where the live multimedia content comprises audio data and video data, where the audio data comprises a plurality of audio data samples having an audio data sample duration and the video data comprises a plurality of video frames;
a processor; and
a multimedia encoder;
wherein the multimedia encoder configures the processor to;
receive live multimedia content;
generate a timeline using the video data, where the timeline contains a plurality of timestamps, where at least one timestamp in the plurality of timestamps is determined using at least one video frame in the plurality of video frames;
compute a first time window, where the first time window comprises a first time window duration corresponding to the difference in time between a first timestamp in the timeline and a second timestamp in the timeline;
align the audio data to the video data using the audio data samples and the timeline by assigning at least one audio data sample to the first time window based upon the number of audio data sample durations that can occur within the first time window duration;
measure a synchronization value of the aligned audio data to the video data using the timeline;
realign the audio data to the video data when the synchronization value exceeds a threshold value using the timeline; and
multiplex the audio data and video data into a container file.
5 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for encoding live multimedia content with audio data synchronized with other streams of data, including video data, in accordance with embodiments of the invention are disclosed. In one embodiment of the invention, an encoding system includes multimedia content storage configured to store live multimedia content including audio data and video data, a processor, and a multimedia encoder, wherein the multimedia encoder configures the processor to receive live multimedia content, generate a timeline using the video data, compute a first time window, align the audio data to the video data using the audio data samples and the timeline, measure a synchronization value of the aligned audio data to the video data using the timeline, realign the audio data to the video data when the synchronization value exceeds a threshold value using the timeline, and multiplex the audio data and video data into a container file.
-
Citations
21 Claims
-
1. An encoding system, comprising:
-
live multimedia content storage configured to store live multimedia content, where the live multimedia content comprises audio data and video data, where the audio data comprises a plurality of audio data samples having an audio data sample duration and the video data comprises a plurality of video frames; a processor; and a multimedia encoder; wherein the multimedia encoder configures the processor to; receive live multimedia content; generate a timeline using the video data, where the timeline contains a plurality of timestamps, where at least one timestamp in the plurality of timestamps is determined using at least one video frame in the plurality of video frames; compute a first time window, where the first time window comprises a first time window duration corresponding to the difference in time between a first timestamp in the timeline and a second timestamp in the timeline; align the audio data to the video data using the audio data samples and the timeline by assigning at least one audio data sample to the first time window based upon the number of audio data sample durations that can occur within the first time window duration; measure a synchronization value of the aligned audio data to the video data using the timeline; realign the audio data to the video data when the synchronization value exceeds a threshold value using the timeline; and multiplex the audio data and video data into a container file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for encoding live multimedia content, comprising:
-
receiving live multimedia content using an encoding system, where the live multimedia content comprises audio data and video data, the audio data comprises a plurality of audio data samples having an audio data sample duration, and the video data comprises a plurality of video frames; generating a timeline using the video data and the encoding system, where the timeline contains a plurality of timestamps, where at least one timestamp in the plurality of timestamps is determined using at least one video frame in the plurality of video frames; computing a first time window using the encoding system, where the first time window comprises a first time window duration corresponding to the difference in time between a first timestamp in the timeline and a second timestamp in the timeline; aligning the audio data to the video data using the encoding system, the audio data samples and the timeline by assigning at least one audio data sample to the first time window based upon the number of audio data sample durations that can occur within the first time window duration; measuring a synchronization value of the aligned audio data to the video data using the timeline and the encoding system; realigning the audio data to the video data when the synchronization value exceeds a threshold value using the timeline and the encoding system; and multiplexing the audio data and video data into a container file using the encoding system. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A machine readable medium containing processor instructions, where execution of the instructions by a processor causes the processor to perform a process comprising:
-
receiving live multimedia content, where the live multimedia content comprises audio data and video data, the audio data comprises a plurality of audio data samples having an audio data sample duration, and the video data comprises a plurality of video frames; generating a timeline using the video data, where the timeline contains a plurality of timestamps, where at least one timestamp in the plurality of timestamps is determined using at least one video frame in the plurality of video frames; computing a first time window, where the first time window comprises a first time window duration corresponding to the difference in time between a first timestamp in the timeline and a second timestamp in the timeline; aligning the audio data to the video data, the audio data samples and the timeline by assigning at least one audio data sample to the first time window based up-on the number of audio data sample durations that can occur within the first time window duration; measuring a synchronization value of the aligned audio data to the video data using the timeline; realigning the audio data to the video data when the synchronization value exceeds a threshold value using the timeline; and multiplexing the audio data and video data into a container file using the encoding system.
-
Specification