IP Library › Granted Patent US 11,012,641
Granted Patent B2
US 11,012,641 · App. 16/882,328 · Granted May 18, 2021

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 11,012,641
App. No.
16/882,328
Granted
May 18, 2021
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 (64)

1. A decoder, comprising:

a processor capable of playing back video stored in at least a portion of a multimedia file, where the multimedia file comprises:

a sequence of encoded video frames contained within a plurality of chunks, where:

a number of the encoded video frames are at least partially encrypted encoded video frames; and

each chunk includes a subset of encoded video frames from the sequence of encoded video frames;

an index that includes information indicative of locations of encoded video frames;

digital rights management (DRM) information that identifies the portions of the at least partially encrypted encoded video frames that are encrypted;

wherein the processor is further capable of:

processing the index to identify location information for a particular encoded video frame, where the particular encoded video frame is a partially encrypted encoded video frame;

locating the particular encoded video frame within a specific chunk;

processing the DRM information to identify at least one portion of the particular encoded video frame that is encrypted;

decrypting the at least one portion of the particular encoded video frame identified as encrypted by the DRM information;

decoding the particular encoded video frame; and

playing back video frames including the decoded video frame.

2. The decoder of claim 1 , wherein the DRM information that identifies the at least one portion of the particular encoded video frame that is encrypted further comprises cryptographic information that can be used to decrypt the at least one portion of the particular encoded video frame that is encrypted.

3. The decoder of claim 2 , wherein the DRM information that identifies at least one portion of the particular encoded video frame that is encrypted comprises an offset value that indicates the start of a block of encrypted bytes within the particular encoded video frame and a number value that indicates a number of encrypted bytes in the block of encrypted bytes.

4. The decoder of claim 3 , wherein the processor is capable of decrypting the at least one portion of the particular encoded video frame that is encrypted by decrypting at least one block of encrypted bytes within the particular encoded video frame using the offset and the number values from the DRM information that identifies at least one portion of the particular encoded video frame that is encrypted.

5. The decoder of claim 4 , wherein the DRM information that identifies at least one portion of the particular encoded video frame that is encrypted further comprises cryptographic information that can be used to decrypt the at least one block of encrypted bytes within the particular encoded video frame.

6. The decoder of claim 4 , wherein:

the DRM information is identified within the multimedia file using a four character (FOURCC) code; and

the processor is capable of identifying the DRM information within the multimedia file using the FOURCC code.

7. The decoder of claim 6 , wherein the FOURCC code also identifies a track number associated with the DRM information.

8. The decoder of claim 1 , wherein the index is located at the end of the multimedia file.

9. The decoder of claim 1 , wherein the index is distributed throughout the multimedia file.

10. The decoder of claim 1 , wherein the processor is further capable of decrypting an at least partially encrypted encoded video frame prior to commencing decoding the decrypted video frame.

11. The decoder of claim 1 , wherein a portion of the particular encoded video frame is encrypted and a portion of the particular encoded video frame is unencrypted.

12. A decoder, comprising:

a processor capable of playing back video stored in at least a portion of a multimedia file, where the multimedia file comprises:

a sequence of encoded video frames contained within a plurality of chunks, where:

a number of the encoded video frames are at least partially encrypted encoded video frames that include at least one block of encrypted bytes; and

each chunk includes a subset of video frames from the sequence of encoded video frames;

an index that includes information indicative of locations of each encoded video frame within the sequence of encoded video frames;

a set of digital rights management (DRM) information, where DRM information corresponding to an encoded video frame that includes at least one block of encrypted bytes comprises:

an offset value that indicates the start of a block of encrypted bytes within an encoded video frame and a number value that indicates a number of encrypted bytes in the block of encrypted bytes; and

cryptographic information that can be used to decrypt the encrypted block indicated by the offset value and the number value;

wherein the processor is further capable of:

processing the index to identify location information for a particular encoded video frame, where the particular encoded video frame is a partially encrypted encoded video frame that includes at least one block of encrypted bytes;

locating the particular encoded video frame within a specific chunk;

identifying DRM information corresponding to the particular encoded video frame within the set of DRM information;

decrypting at least one block of encrypted bytes within the particular encoded video frame using offset and number values, and cryptographic information from the identified DRM information corresponding to the particular encoded video frame, where the decryption of the particular encoded video frame occurs prior to commencing decoding the decrypted video frame;

decoding the particular encoded video frame; and

playing back video frames including the decoded video frame.

13. The decoder of claim 12 , wherein:

the DRM information is identified within the multimedia file using a four character (FOURCC) code; and

the processor is capable of identifying the DRM information within the multimedia file using the FOURCC code.

14. The decoder of claim 13 , wherein the FOURCC code also identifies a track number associated with the DRM information.

15. The decoder of claim 12 , wherein the index is located at the end of the multimedia file.

16. The decoder of claim 12 , wherein the index is distributed throughout the multimedia file.

17. The decoder of claim 12 , wherein a portion of the particular encoded video frame is encrypted and a portion of the particular encoded video frame is unencrypted.

18. An encoding system, comprising:

at least one processor, wherein the at least one processor is configured to:

encode a sequence of video frames to form an encoded sequence of video frames, where a number of the encoded video frames are at least partially encrypted encoded video frames that include at least one encrypted block;

insert the sequence of encoded video frames into a plurality of chunks, where each chunk includes a subset of encoded video frames from the sequence of encoded video frames;

generate a set of digital rights management (DRM) information, where DRM information corresponding to an at least partially encrypted encoded video frame that includes at least one block of encrypted bytes comprises:

an offset value that indicates the start of a block of encrypted bytes within an encoded video frame and a number value that indicates a number of encrypted bytes in the block of encrypted bytes; and

cryptographic information that can be used to decrypt the block of encrypted bytes indicated by the offset value and the number value;

generate an index that includes information indicative of locations of encoded video frames within the sequence of encoded video frames; and

create a multimedia file including the plurality of chunks that contain the sequence of encoded video frames, the set of DRM information, and the index.

19. The encoding system of claim 18 , wherein the set of DRM information is located within the multimedia file so that the DRM information corresponding to a particular at least partially encrypted encoded video frame is located prior to the particular at least partially encrypted encoded video frame.

20. The encoding system of claim 18 , wherein the DRM information is identified within the multimedia file using a four character (FOURCC) code.

21. The encoding system of claim 20 , wherein the FOURCC code also identifies a track number associated with the DRM information.

22. The encoding system of claim 20 , wherein the index is located at the end of the multimedia file.

23. The encoding system of claim 20 , wherein the index is distributed throughout the multimedia file.

24. The encoding system of claim 20 , wherein the at least partially encrypted encoded video frames are partially encrypted encoded video frames, where a portion of each partially encrypted encoded video frame is encrypted and a portion of each partially encrypted encoded video frame is unencrypted.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2020
From: VAN ZOEST, ALEXANDER; 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 053807/0276 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2020
From: LI, ADAM H.
To: DIVX, INC.
Reel/Frame 053807/0289 →
MERGER AND CHANGE OF NAME Recorded Sep 17, 2020
From: DIVX, INC.; DIVX, LLC
To: DIVX, LLC
Reel/Frame 053807/0301 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2020
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 053807/0317 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2020
From: SONIC IP, INC.
To: DIVX CF HOLDINGS LLC
Reel/Frame 053807/0333 →
CHANGE OF NAME Recorded Sep 17, 2020
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 053807/0372 →
Continuity (6)
Continuation 16373513 · Apr 2, 2019
Continuation 15144776 · May 2, 2016
Continuation 14281791 · May 19, 2014
Continuation 11016184 · Dec 17, 2004
Continuation In Part 10731809 · Dec 8, 2003
Related Publication 20200288069A1 · Sep 10, 2020