System and method for synchronization of selectably presentable media streams
First Claim
1. A system for synchronizing audio and video of selectably presentable multimedia content, the system comprising:
- a memory for storing a plurality of selectably presentable multimedia content segments, each content segment defining a portion of one or more content paths and comprising a decision period during which a user may select a subsequent content segment as the content segment is playing;
an assembly engine for seamlessly assembling a subset of the content segments into a multimedia presentation comprising one of the content paths;
a configuration manager for determining an audio file and a video file to be played based on a selected subsequent content segment;
an audio engine for processing the audio file for playback, the processing comprising;
dividing the audio file into a plurality of audio samples, each audio sample comprising a timestamp indicating a time at which the audio sample should be played; and
upon causing one of the audio samples to be played, updating a current system timestamp based on the timestamp of the played audio sample; and
a video engine for synchronizing playback of the video file with the playback of the audio file, the synchronizing comprising;
dividing the video file into a plurality of video frames, each video frame comprising a timestamp indicating a time at which the video frame should be played;
comparing the timestamp of at least one of the video frames with the current system timestamp to determine that the video frame timestamp is earlier than the current system timestamp;
discarding the at least one of the video frames based on the timestamp comparison;
repeating the comparing and discarding functions with consecutive video frames until reaching a video frame having a timestamp that is substantially close to the current system timestamp; and
determining that a maximum number of video frames has been consecutively discarded, and causing a next video frame to be played irrespective of a timestamp associated with the next video frame.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for synchronizing audio and video of selectably presentable multimedia content includes a memory for storing a plurality of selectably presentable multimedia content segments. Each content segment defines a portion of one or more content paths and includes a decision period during which a user may select a subsequent content segment as the content segment is playing. An assembly engine seamlessly assembles a subset of the content segments into one of the content paths, ultimately forming a multimedia presentation. A configuration manager determines an audio file and a video file to be played based on a content segment that is selected to be played immediately following the currently playing content segment. An audio engine processes the audio file for playback, and a video engine synchronizes playback of the video file with the playback of the audio file.
-
Citations
12 Claims
-
1. A system for synchronizing audio and video of selectably presentable multimedia content, the system comprising:
-
a memory for storing a plurality of selectably presentable multimedia content segments, each content segment defining a portion of one or more content paths and comprising a decision period during which a user may select a subsequent content segment as the content segment is playing; an assembly engine for seamlessly assembling a subset of the content segments into a multimedia presentation comprising one of the content paths; a configuration manager for determining an audio file and a video file to be played based on a selected subsequent content segment; an audio engine for processing the audio file for playback, the processing comprising; dividing the audio file into a plurality of audio samples, each audio sample comprising a timestamp indicating a time at which the audio sample should be played; and upon causing one of the audio samples to be played, updating a current system timestamp based on the timestamp of the played audio sample; and a video engine for synchronizing playback of the video file with the playback of the audio file, the synchronizing comprising; dividing the video file into a plurality of video frames, each video frame comprising a timestamp indicating a time at which the video frame should be played; comparing the timestamp of at least one of the video frames with the current system timestamp to determine that the video frame timestamp is earlier than the current system timestamp; discarding the at least one of the video frames based on the timestamp comparison; repeating the comparing and discarding functions with consecutive video frames until reaching a video frame having a timestamp that is substantially close to the current system timestamp; and determining that a maximum number of video frames has been consecutively discarded, and causing a next video frame to be played irrespective of a timestamp associated with the next video frame. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of synchronizing audio and video of selectably presentable multimedia content, the method comprising:
-
storing a plurality of selectably presentable multimedia content segments, each content segment defining a portion of one or more content paths and comprising a decision period during which a user may select a subsequent content segment as the content segment is playing; determining an audio file and a video file to be played based on a selected subsequent content segment; seamlessly appending the selected subsequent content segment onto a currently playing content segment; processing the audio file for playback, the processing comprising; dividing the audio file into a plurality of audio samples, each audio sample comprising a timestamp indicating a time at which the audio sample should be played; and upon causing one of the audio samples to be played, updating a current system timestamp based on the timestamp of the played audio sample; and synchronizing playback of the video file with the playback of the audio file, the synchronizing comprising; dividing the video file into a plurality of video frames, each video frame comprising a timestamp indicating a time at which the video frame should be played; comparing the timestamp of at least one of the video frames with the current system timestamp to determine that the video frame timestamp is earlier than the current system timestamp; discarding the at least one of the video frames based on the timestamp comparison; repeating the comparing and discarding functions with consecutive video frames until reaching a video frame having a timestamp that is substantially close to the current system timestamp; and determining that a maximum number of video frames has been consecutively discarded, and causing a next video frame to be played irrespective of a timestamp associated with the next video frame. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification