×

System and method for synchronization of selectably presentable media streams

  • US 9,257,148 B2
  • Filed: 03/15/2013
  • Issued: 02/09/2016
  • Est. Priority Date: 03/15/2013
  • Status: Active Grant
First Claim
Patent Images

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 all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×