A multimedia file and methods of generating, distributing and using the multimedia file are described. Multimedia files in accordance with embodiments of the present invention can contain multiple video tracks, multiple audio tracks, multiple subtitle tracks, a complete index that can be used to locate each data chunk in each of these tracks and an abridged index that can enable the location of a subset of the data chunks in each track, data that can be used to generate a menu interface to access the contents of the file and ‘meta data’ concerning the contents of the file. Multimedia files in accordance with several embodiments of the present invention also include references to video tracks, audio tracks, subtitle tracks and ‘meta data’ external to the file. One embodiment of a multimedia file in accordance with the present invention includes a series of encoded video frames, a first index that includes information indicative of the location within the file and characteristics of each encoded video frame and a separate second index that includes information indicative of the location within the file of a subset of the encoded video frames.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A decoder for decoding a multimedia file comprising at least one video track and at least one audio track, the decoder comprising: a processor; and memory having a multimedia file including: a series of encoded video frames; a first index that includes information indicative of the location within the file and characteristics of each encoded video frame; and a separate second index that includes information indicative of the location within the file of a subset of the encoded video frames, the separate second index located prior to the series of encoded video frames and the first index, the first and second indexes enabling trick play functionality.
A multimedia decoder comprises a processor and memory. The memory stores a multimedia file containing encoded video frames, a first index providing location and characteristic information for each frame, and a separate, smaller second index (abridged index) that only provides location information for a subset of the frames. The second index is located at the beginning of the multimedia file, before the video frames and the first index. Both indexes together enable trick play functionality like fast forward and rewind.
2. The decoder of claim 1 , wherein: the second index includes at least one tag that references an encoded video frame in the subset of encoded video frames; each tag comprises: the location within the file of the referenced encoded video frame; the frame number of the encoded video frame in the sequence of encoded video frames.
The decoder described where the second index contains tags. Each tag references a specific video frame and includes the frame's location within the multimedia file and its frame number in the video sequence.
3. The decoder of claim 2 , wherein the multimedia file further comprises: at least one audio track; wherein each tag further comprises a reference to a portion of at least one of the audio tracks; wherein the portion of the track that is referenced accompanies the encoded video frame referenced by the tag.
The decoder which has the second index include tags referencing a video frame, and each tag includes the frame's location within the multimedia file and its frame number in the video sequence also incorporates at least one audio track in the multimedia file. Each tag further includes a reference to a specific portion of the audio track(s) that accompanies the referenced video frame.
4. The decoder of claim 2 , wherein: each tag further comprises a reference to information located within the first index; and the information referenced in the first index is indicative of the location within the file and characteristics of the encoded video frame referenced by the tag.
The decoder which has the second index include tags referencing a video frame, and each tag includes the frame's location within the multimedia file and its frame number in the video sequence. Each tag also includes a reference to information within the first (complete) index. This referenced information in the first index provides the location and characteristics of the video frame referenced by the tag in the second index.
5. The decoder of claim 1 wherein the second index includes a plurality of tags, each tag references encoded video frames that are evenly spaced throughout the encoded video frames.
The decoder described where the second index contains tags, has a second index where the tags point to video frames that are evenly spaced throughout the entire sequence of encoded video frames.
6. The decoder of claim 1 wherein the second index includes a plurality of tags, each tag references encoded video frames that are spaced at least ten seconds apart.
The decoder described where the second index contains tags, has a second index where the tags point to video frames that are spaced at least ten seconds apart.
7. The decoder of claim 1 wherein the second index includes a plurality of tags, each tag includes chunk offset information, index offset information, video frame identifiers and audio track identifiers.
The decoder described where the second index contains tags, has a second index where each tag includes chunk offset information (location within the file), index offset information (location within an index), video frame identifiers, and audio track identifiers.
8. The decoder of claim 1 wherein trick play functionality comprises at least one of fast forward, rewind and scene skipping.
In the decoder described, the trick play functionality (enabled by the two indexes) includes fast forward, rewind, or scene skipping capabilities.
9. An encoder for encoding a multimedia file comprising at least one video track and at least one audio track, the encoder comprising: a processor; a memory including a file containing at least one sequence of encoded video frames and a full index that includes information indicative of the location within the file and characteristics of each encoded video frame; wherein the processor is configured to generate an abridged index that references a subset of the encoded video frames in the sequence of encoded video frames and to encode a multimedia file including the abridged index, the at least one sequence of encoded video frames, and a full index so that the abridged index is located within the multimedia file prior to the series of encoded video frames, the first and second indexes enabling trick play functionality.
A multimedia encoder comprises a processor and memory. The memory stores a file containing encoded video frames and a full index that provides the location and characteristics of each video frame. The processor generates a smaller, abridged index that references only a subset of the video frames. The encoder creates a multimedia file containing the abridged index, the video frames, and the full index, with the abridged index positioned at the beginning of the file, before the video frames. These indexes enable trick play functionality.
10. The encoder of claim 9 , wherein: the processor is configured to generate a complete index that references all of the encoded video frames in the sequence of encoded video frames; and each reference to an encoded video frame in the abridged index includes a reference to the reference to that frame in the complete index.
The encoder described also generates a complete index that references all the encoded video frames. Each reference to a frame in the abridged index also contains a pointer or reference to the corresponding entry for that same frame within the complete index.
11. The encoder of claim 9 , wherein each reference to an encoded video frame in the abridged index includes the sequence number of the encoded video frame.
In the encoder described, each reference to a specific video frame within the abridged index includes the sequence number of that video frame.
12. The encoder of claim 11 , wherein the processor is configured to include in each reference to an encoded video frame a reference to a location within at least one sound track.
In the encoder which includes the video frame sequence number in the abridged index, each reference to a video frame also contains a reference to a specific location within at least one audio track associated with that video frame.
13. The encoder of claim 9 wherein the processor is configured to insert key frames when one of the processor detects a scene change and a threshold interval of video frames is exceeded without the processor detecting a scene change.
The encoder inserts key frames (important video frames) either when a scene change is detected or when a certain interval (threshold) of video frames has passed without any scene change being detected.
14. The encoder of claim 9 wherein trick play functionality comprises at least one of fast forward, rewind and scene skipping.
In the encoder described, the trick play functionality includes fast forward, rewind, and scene skipping.
15. A decoder for decoding multimedia comprising at least one video track and at least one audio track, the decoder comprising: a processor configured to decode multimedia; wherein the multimedia includes: a sequence of encoded video frames; a complete index referencing each encoded video frame in the sequence of encoded video frames; an abridged index referencing a subset of the encoded video frames in the sequence of encoded video frames; wherein the processor is configured to locate a particular encoded video frame within the multimedia using the abridged index and to playback the sequence of encoded video frame starting from the located encoded video frame, the first and second indexes enabling trick play functionality.
A multimedia decoder includes a processor that decodes multimedia content. The multimedia includes encoded video frames, a complete index that references every frame, and an abridged index referencing a subset of the frames. The processor uses the abridged index to quickly locate a specific video frame within the multimedia file and begins playback from that point. These indexes enable trick play functionality.
16. The decoder of claim 15 , wherein the processor is configured to locate reference information in the complete index using the abridged index.
The multimedia decoder can use the abridged index to find reference information about video frames stored within the complete index.
17. The decoder of claim 15 , wherein: the multimedia file includes at least one audio track accompanying the sequence of encoded video frames; and each reference to an encoded video frame in the abridged index includes a reference to a portion of at least one of the video tracks.
In the multimedia decoder, the multimedia file includes at least one audio track that accompanies the video frames, and each reference to a video frame in the abridged index also includes a reference to a corresponding portion of the audio track.
18. The decoder of claim 15 wherein the processor is configured to identify a desired encoded video frame; determine the encoded video frame that is closest to the desired video frame in the abridged index; and display an encoded video frame.
The multimedia decoder identifies a user-desired video frame, then determines the video frame in the abridged index that is closest to the desired frame, and then displays a video frame, using either the closest frame in the abridged index or searching for the exact desired frame in the complete index.
19. The decoder of claim 18 , wherein: each reference in the abridged index to an encoded video frame also includes a reference to the portion of the complete index that refers to that encoded video frame; and wherein the processor configured to display an encoded video frame, further comprises: the processor uses the reference to the encoded video frame in the abridged index that is closest to the desired encoded video frame to locate that encoded frame within the complete index; the processor searches in the complete index for the desired encoded video frame; and the processor displays the desired encoded video frame.
In the multimedia decoder, each reference to a video frame in the abridged index also includes a reference to the corresponding portion of the complete index entry for that frame. To display a user-desired video frame, the processor first uses the closest frame in the abridged index to locate the entry in the complete index. It then searches within that region of the complete index for the exact desired frame and displays that frame.
20. The device of claim 19 , wherein the closest frame is the closest preceding frame in the sequence to the desired frame.
In the multimedia decoder process, the closest frame in the abridged index which is used as a starting point to locate a video frame in the complete index is defined as the closest preceding frame in the sequence to the desired frame.
21. The device of claim 18 , wherein the processor configured to an encoded video frame further comprises the processor displaying the encoded video frame that is determined to be closest to the desired video frame.
In the multimedia decoder, instead of searching for the exact desired frame, the processor simply displays the encoded video frame that was determined to be the closest match to the desired frame within the abridged index.
22. The decoder of claim 15 wherein the processor is configured to locate and playback the sequence of encoded video frame without receiving the complete index.
The multimedia decoder can locate and play back video frames using only the abridged index, without needing to load or access the complete index.
23. The decoder of claim 15 wherein trick play functionality comprises at least one of fast forward, rewind and scene skipping.
The multimedia decoder offers trick play functionality including fast forward, rewind and scene skipping capabilities.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
October 24, 2005
June 25, 2013
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.