IP Library › Granted Patent US 10,708,521
Granted Patent B2
US 10,708,521 · App. 16/373,513 · Granted Jul 7, 2020

Multimedia distribution system for multimedia files with interleaved media chunks of varying types

Inventors: Jason Braness (San Diego, CA); Jerome Rota (San Diego, CA); Eric William Grab (San Diego, CA); Jerald Donaldson (San Diego, CA); Heather Hitchcock (Encinitas, CA); Damien Chavarria (Bedarieux, FR); Michael John Floyd (San Diego, CA); Brian T. Fudge (Los Angeles, CA); Adam H. Li (San Diego, CA)
Assignee: DIVX, LLC
H04N5/278G11B20/00086G11B20/00731H04N5/265H04N5/85H04N5/92H04N9/8047H04N19/44H04N21/845G11B20/00739
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,708,521
App. No.
16/373,513
Granted
Jul 7, 2020
Kind
B2
Abstract

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, 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 and encoded menu information.

Claims (53)

1. A system for decoding multimedia files, the system comprising:

a set of one or more processors; and

a non-volatile storage containing a decoding application;

wherein the decoding application causes the set of processors to perform the steps of:

receiving a multimedia file, wherein:

the multimedia file comprises a plurality of chunks for carrying information, said chunks including a plurality of video chunks and a plurality of audio chunks;

the video chunks are portions of at least one video track comprising a series of encoded video frames including at least encoded video frames 1 through N, said video chunks including at least video chunks 1 through N, wherein each of said encoded video frames 1 through N correspond to a chunk from video chunks 1 through N;

the video chunks include a marker video chunk N where sufficient information is contained in chunks 1 through N−1 to generate video frame N, wherein the marker video chunk N includes a non-coded P-frame in the series of encoded video frames; and

the audio chunks are portions of at least one audio track; and

decoding frame N using corresponding marker video chunk N together with video chunks 1 through N−1.

2. The decoding system of claim 1 , wherein the non-coded P-frame uses identical timing information to a previous encoded video frame.

3. The decoding system of claim 1 , wherein the audio chunks are interleaved between the video chunks such that each particular audio chunk is placed relative to a corresponding video chunk based on an amount of video capable of being buffered by a device capable of displaying the multimedia file.

4. The decoding system of claim 1 , wherein the audio chunks and video chunks are interleaved so that the audio chunks are located within the multimedia file prior to the video chunks containing information concerning the video frames to which they correspond.

5. The decoding system of claim 4 , wherein:

the plurality of chunks further comprises a plurality of subtitle chunks; and

the audio chunks, subtitle chunks, and video chunks are interleaved so that the audio and subtitle chunks are located within the multimedia file prior to the video chunks containing information concerning the video frames to which they correspond.

6. The decoding system of claim 5 , wherein the decoding application further causes the set of processors to perform the steps of:

determining whether a previous video frame included a subtitle;

when the timing information for the subtitle of the previous video frame indicates that the subtitle should be displayed with the current video frame, superimposing the subtitle is on the decoded video frame; and

when the previous frame did not include a subtitle or the timing information for the subtitle on the previous frame indicates that the subtitle should not be displayed in conjunction with the currently decoded frame:

identifying a subtitle chunk that contains subtitle information for the currently decoded video frame; and

superimposing a subtitle from the identified subtitle chunk on the decoded video frame.

7. The decoding system of claim 1 , wherein:

the plurality of chunks further comprises a plurality of subtitle chunks;

at least one subtitle of the plurality of subtitle chunks are encoded as a run length encoded and compressed bit map; and

the decoding application causes the set of processors to further perform the step of uncompressing the run length encoded and compressed bit map using software.

8. The decoding system of claim 1 , wherein:

at least one video chunk of the plurality of video chunks is partially encrypted so that only a portion of the at least one video chunk is encrypted; and

the plurality of chunks further comprises a set of DRM chunks, where a first DRM chunk of the set of DRM chunks comprises DRM information to decode a first video chunk of the plurality of video chunks and a second DRM chunk of the set of DRM chunks comprises DRM information to decode a second video chunk of the plurality of video chunks, wherein each DRM chunk associated with a different corresponding video chunk comprises a reference to the portion of the corresponding video chunk that is encrypted.

9. The decoding system of claim 8 , wherein the plurality of chunks further comprises an index chunk, wherein the index chunk includes information concerning the location of data chunks within the multimedia file including the locations of video chunks from the at least one video track.

10. The decoding system of claim 1 , wherein the DRM chunk further comprises a reference to a DRM key that can be used to decrypt the encrypted portion.

11. A system for encoding a multimedia file, the system comprising:

a set of one or more processors; and

a non-volatile storage containing an encoding application;

wherein the encoding application causes the set of processors to perform the steps of:

encoding at least one video track as a plurality of video chunks, wherein:

the at least one video track comprises a series of encoded video frames including at least encoded video frames 1 through N;

the video chunks are portions of the at least one video track and the video chunks include at least video chunks 1 through N, wherein the video chunks include a marker video chunk N where sufficient information is contained in chunks 1 through N−1 to generate video frame N, wherein the marker video chunk N includes a non-coded P-frame with identical timing information to a previous encoded video frame in the series of encoded video frames;

frame N can be decoded using marker video chunk N together with video chunks 1 through N−1, wherein each of said encoded video frames 1 through N correspond to a chunk from video chunks 1 through N;

encoding at least one audio track as audio chunks; and

write the video chunks and the audio chunks to a single file.

12. The system of claim 11 , wherein the non-coded P-frame uses identical timing information to a previous encoded video frame.

13. The system of claim 11 , wherein the encoding application further causes the set of processors to perform the steps of interleaving the audio chunks between the video chunks such that each particular audio chunk is placed relative to a corresponding video chunk based on an amount of video capable of being buffered by a device capable of displaying the multimedia file.

14. The system of claim 11 , wherein said audio chunks and video chunks are interleaved so that the audio chunks are located within the file prior to the video chunks containing information concerning the video frames to which they correspond.

15. The system of claim 14 , wherein the encoding application further causes the set of processors to perform the steps of:

encoding a plurality of subtitles as a plurality of subtitle chunks; and

interleaving the audio chunks, subtitle chunks, and video chunks so that the audio and subtitle chunks are located within the multimedia file prior to the video chunks containing information concerning the video frames to which they correspond.

16. The system of claim 11 , wherein the plurality of chunks further comprises a plurality of subtitle chunks, wherein at least one subtitle of the plurality of subtitle chunks is encoded as a run length encoded and compressed bit map.

17. The system of claim 11 , wherein encoding the video track comprises:

partially encrypting at least one video chunk of the plurality of video chunks so that only a portion of the at least one video chunk is encrypted,

creating a set of DRM chunks, where a first DRM chunk of the set of DRM chunks comprises DRM information to decode a first video chunk of the plurality of video chunks and a second DRM chunk of the set of DRM chunks comprises DRM information to decode a second video chunk of the plurality of video chunks, wherein each DRM chunk associated with a different corresponding video chunk comprises a reference to the portion of the corresponding video chunk that is encrypted.

18. The system of claim 17 , wherein encoding the video track further comprises generating an index chunk, wherein the index chunk includes information concerning the location of data chunks within the multimedia file including the locations of video chunks from the at least one video track.

19. The system of claim 17 , wherein the set of DRM chunks further comprises a reference to a DRM key that can be used to decrypt the encrypted portion.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2019
From: ZOEST, ALEXANDER VAN; BRANESS, JASON; DURHAM, CHRISTOPHER; SAYRE, TIMOTHY; COTE, BENJAMIN; THOMPSON, DARRIUS NGUYEN; ROTA, JEROME; BOURKE, ADRIAN; MAYO, ALASTAIR; GRAB, ERIC WILLIAM; DONALDSON, JERRY; HITCHCOCK, HEATHER; CHAVARRIA, DAMIEN; FLOYD, MICHAEL JOHN; BUTT, AHSAN; FUDGE, BRIAN; ROBINSON, AARON
To: DIVX, INC.
Reel/Frame 050187/0369 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2019
From: LI, ADAM H.
To: DIVX, INC.
Reel/Frame 050187/0393 →
MERGER AND CHANGE OF NAME Recorded Aug 27, 2019
From: DIVX, INC.; DIVX, LLC
To: DIVX, LLC
Reel/Frame 050187/0407 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2019
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 050187/0419 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2019
From: SONIC IP, INC.
To: DIVX CF HOLDINGS LLC
Reel/Frame 050187/0438 →
CHANGE OF NAME Recorded Aug 27, 2019
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 050187/0457 →
Continuity (5)
Continuation 15144776 · May 2, 2016
Continuation 14281791 · May 19, 2014
Continuation 11016184 · Dec 17, 2004
Continuation In Part 10731809 · Dec 8, 2003
Related Publication 20190289226A1 · Sep 19, 2019