Multimedia distribution system for multimedia files with interleaved media chunks of varying types
First Claim
1. A system for decoding multimedia files, the system comprising:
- a non-transitory memory storing a decoding application;
a network interface;
a processing unit, wherein, upon execution, the decoding application directs the processing unit to;
obtain a multimedia file using the network interface, wherein the multimedia file comprises;
a header for identifying the multimedia file and providing the residual length of the multimedia file after the header;
a plurality of chunks for carrying information, the chunks comprising a plurality of video chunks, a plurality of audio chunks, a plurality of subtitle chunks, and an index chunk, the video chunks being portions of at least one video track, the video track comprising a series of encoded video frames, the audio chunks being portions of at least one audio track, the subtitle chunks being portions of at least one subtitle track, the subtitle chunks comprising information concerning a start time and a stop time, and the index chunk carrying information supplying references to the location within the file of each of the video chunks;
wherein the audio chunks, subtitle chunks, and video chunks are interleaved so that the audio and subtitle chunks are located between video chunks and within the file prior to the video chunks containing information concerning the video frames to which they correspond; and
wherein the video chunk following a subtitle chunk includes the portion of the video track that occurs at the start time of the particular subtitle contained within the subtitle chunk and the audio chunk preceding a video chunk contains the portion of the audio track corresponding to the portion of the video track contained in the video chunk;
access the plurality of chunks for carrying information from the multimedia file;
inspect the multimedia file to identify and select at least one subtitle track;
decode a video chunk to produce a decoded video frame and identify a previous subtitle chunk that contains subtitle information for the decoded video chunk;
construct a frame of video for display by superimposing the subtitle from the identified subtitle chunk on the decoded video frame by;
determine whether the previous video frame to the decoded video frame included a previous subtitle;
superimpose the given subtitle on decoded video frame when the timing information for the previous subtitle indicates that the previous subtitle should be displayed with the decoded frame; and
when either (1) the previous frame does not include a subtitle or (2) the timing information for the previous subtitle on the previous frame indicates that the previous subtitle should not be displayed in conjunction with the decoded frame, seek a subtitle chunk for the selected subtitle track;
when a given subtitle chunk for the selected subtitle track is sought and is located, then superimpose the subtitle information from the given subtitle chunk on the decoded video frame.
7 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and computer readable media for encoding, distributing, and decoding multimedia files with interleaved video, subtitle, and audio chunks are provided. Multimedia files in accordance with embodiments of the present invention can contain multiple video tracks, multiple audio tracks, multiple subtitle tracks, 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. In one embodiment, the generated ‘audio,’ ‘video’ and ‘subtitle’ chunks are interleaved so that the ‘audio’ and ‘subtitle’ chunks are located within the file prior to the ‘video’ chunks containing information concerning the video frames to which they correspond. In other embodiments, the ‘audio’ and ‘subtitle’ chunks can be located after the ‘video’ chunks to which they correspond. One embodiment of a multimedia file in accordance with the present invention includes a series of encoded video frames and encoded menu information.
-
Citations
12 Claims
-
1. A system for decoding multimedia files, the system comprising:
-
a non-transitory memory storing a decoding application; a network interface; a processing unit, wherein, upon execution, the decoding application directs the processing unit to; obtain a multimedia file using the network interface, wherein the multimedia file comprises; a header for identifying the multimedia file and providing the residual length of the multimedia file after the header; a plurality of chunks for carrying information, the chunks comprising a plurality of video chunks, a plurality of audio chunks, a plurality of subtitle chunks, and an index chunk, the video chunks being portions of at least one video track, the video track comprising a series of encoded video frames, the audio chunks being portions of at least one audio track, the subtitle chunks being portions of at least one subtitle track, the subtitle chunks comprising information concerning a start time and a stop time, and the index chunk carrying information supplying references to the location within the file of each of the video chunks; wherein the audio chunks, subtitle chunks, and video chunks are interleaved so that the audio and subtitle chunks are located between video chunks and within the file prior to the video chunks containing information concerning the video frames to which they correspond; and wherein the video chunk following a subtitle chunk includes the portion of the video track that occurs at the start time of the particular subtitle contained within the subtitle chunk and the audio chunk preceding a video chunk contains the portion of the audio track corresponding to the portion of the video track contained in the video chunk; access the plurality of chunks for carrying information from the multimedia file; inspect the multimedia file to identify and select at least one subtitle track; decode a video chunk to produce a decoded video frame and identify a previous subtitle chunk that contains subtitle information for the decoded video chunk; construct a frame of video for display by superimposing the subtitle from the identified subtitle chunk on the decoded video frame by; determine whether the previous video frame to the decoded video frame included a previous subtitle; superimpose the given subtitle on decoded video frame when the timing information for the previous subtitle indicates that the previous subtitle should be displayed with the decoded frame; and when either (1) the previous frame does not include a subtitle or (2) the timing information for the previous subtitle on the previous frame indicates that the previous subtitle should not be displayed in conjunction with the decoded frame, seek a subtitle chunk for the selected subtitle track; when a given subtitle chunk for the selected subtitle track is sought and is located, then superimpose the subtitle information from the given subtitle chunk on the decoded video frame. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for encoding multimedia files, the system comprising:
-
a non-transitory memory storing an encoding application; a network interface; a processing unit, wherein, upon execution, the encoding application directs the processing unit to; obtain source media using the network interface, wherein the source media comprises video information, audio information, and subtitle information, wherein the obtained audio information comprises a particular encoded audio track stored in chunks that do not contain audio information corresponding to the contents of corresponding video chunks; encode at least one video track as a plurality of video chunks, the video chunks being portions of at least one video track, the video track comprising a series of encoded video frames; encode at least one audio track as audio chunks, the audio chunks being portions of at least one audio track; encode the particular encoded audio track a set of new audio chunks by; identifying audio information in the particular encoded audio track that corresponds to video information in a particular video track, wherein the particular video track has been encoded into a plurality of video chunks; extracting the audio information from the existing audio chunks of the particular encoded audio track; creating new audio chunks corresponding to the plurality of video chunks of the particular video track using the extracted audio information; encode at least one subtitle track as a plurality of subtitle chunks, wherein each subtitle chunk includes information concerning a subtitle, each subtitle chunk includes information concerning a start time and a stop time for the subtitle; encode at least one index chunk that includes information concerning the location of video chunks within the multimedia file; interleave the audio chunks, subtitle chunks, and video chunks so that the audio and subtitle chunks are located between video chunks and within the file prior to the video chunks containing information concerning the video frames to which they correspond, and so that the video chunk following a subtitle chunk includes the portion of the video track that occurs at the start time of the particular subtitle contained within the subtitle chunk and the audio chunk preceding a video chunk contains the portion of the audio track corresponding to the portion of the video track contained in the video chunk; write the interleaved chunks to a single file; and transmit the single file using the network interface. - View Dependent Claims (9, 10, 11, 12)
-
Specification