IP Library Granted Patent US 8,781,122
Granted Patent B2
US 8,781,122 · App. 12/946,631 · Granted Jul 15, 2014

Elementary bitstream cryptographic material transport systems and methods

Inventors: Francis Yee-Dug Chan (San Diego, CA); Kourosh Soroushian (San Diego, CA); Andrew Jeffrey Wood (San Diego, CA)
Assignee: Sonic IP, Inc.
H04L65/607H04L63/0428
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 8,781,122
App. No.
12/946,631
Granted
Jul 15, 2014
Kind
B2
Abstract

Systems and methods for providing multimedia content from one process or component to another process or component over an unsecured connection are provided. One embodiment includes obtaining the cryptographic information, extracting the at least partially encrypted video data from the container file to create an elementary bitstream, enciphering the cryptographic information, inserting the cryptographic information in the elementary bitstream, providing the elementary bitstream to a video decoder, extracting the cryptographic information from the elementary bitstream at the video decoder, deciphering the cryptographic information, decrypting the elementary bitstream with the cryptographic information and decoding the elementary bitstream for rendering on a display device using the video decoder.

Claims (77)

1. A method of playing back encrypted video on a playback device, where at least partially encrypted video data is contained within a container file and can be extracted and decrypted to create an elementary bitstream using cryptographic information, which can be used to decrypt the at least partially encrypted video data, the method comprising:

extracting at least partially encrypted video data from a container file containing at least partially encrypted video data to create an at least partially encrypted elementary bitstream using a processor configured by a demultiplexer process;

obtaining cryptographic information using the processor configured by the demultiplexer process;

enciphering the cryptographic information using the processor configured by an upstream digital rights management component of the demultiplexer process;

inserting the enciphered cryptographic information into the at least partially encrypted elementary bitstream using the processor configured by the upstream digital rights management component of the demultiplexer process;

providing the at least partially encrypted elementary bitstream in which the enciphered cryptographic information is inserted to a video decoder process using the processor;

extracting the enciphered cryptographic information from the at least partially encrypted elementary bitstream using the processor configured by the video decoder process;

deciphering the enciphered cryptographic information using the processor configured by a downstream digital rights management component of the video decoder process;

decrypting the at least partially encrypted elementary bitstream with the cryptographic information using the processor configured by the downstream digital rights management component of the video decoder process; and

decoding the elementary bitstream for rendering on a display device using the processor configured by the video decoder process;

wherein the enciphering process and the deciphering process are synchronized such that a delay in excess of a predetermined time between enciphering and deciphering results in the cryptographic information being unrecoverable.

2. The method of claim 1 , wherein the cryptographic information is obtained from the container file.

3. The method of claim 1 , wherein the cryptographic information comprises:

key information; and

information concerning at least a portion of the at least partially encrypted video data that is encrypted using the key information.

4. The method of claim 3 , wherein the information concerning at least a portion of the at least partially encrypted video data is a reference to a block of encrypted data within an encoded frame of video that is encrypted using the key information.

5. The method of claim 4 , wherein

the cryptographic information inserted in the elementary bitstream is delimited by an identifier; and

the cryptographic information is inserted before the at least partially encrypted video data encrypted using the key information.

6. The method of claim 5 , wherein the cryptographic information is extracted using the identifier.

7. The method of claim 6 , wherein the decrypting process is performed by using the key information to identify the encrypted portion of video data and decrypting the encrypted video data using the key information.

8. The method of claim 7 , wherein cryptographic information inserted in different locations within the elementary bitstream includes different key information.

9. The method of claim 1 , wherein the at least partially encrypted video data comprises:

frames of encoded video;

wherein at least a portion of a plurality of the encoded frames is encrypted.

10. The method of claim 1 , wherein the enciphering process enciphers data by using a sequence of scrambling processes to scramble data.

11. The method of claim 10 , wherein the deciphering process deciphers data by performing the inverse sequence of scrambling processes to the sequence used to scramble the data.

12. A system for playback of encrypted video, where at least partially encrypted video data is contained within a container file and can be extracted and decrypted to create an elementary bitstream using cryptographic information, which can be used to decrypt the at least partially encrypted video data, comprising:

a demultiplexer configured to extract at least partially encrypted video data from a container file containing at least partially encrypted video data to create an at least partially encrypted elementary bitstream; and

a video decoder configured to decrypt the elementary bitstream using the cryptographic information and decode the at least partially encrypted elementary bitstream for rendering on a display device;

wherein the demultiplexer is configured to obtain cryptographic information, encipher the cryptographic information, and insert the enciphered cryptographic information into the at least partially encrypted elementary bitstream;

wherein the decoder is configured to extract enciphered cryptographic information from an at least partially encrypted elementary bitstream in which the enciphered cryptographic information is inserted, to decipher the cryptographic information, to decrypt the at least partially encrypted elementary bitstream with the cryptographic information, and to decode the elementary bitstream for rendering on a display device;

wherein the demultiplexer and the decoder are configured to synchronize the enciphering process and the deciphering process such that a delay in excess of a predetermined time between enciphering and deciphering results in the cryptographic information being unrecoverable.

13. The system of claim 12 , wherein the cryptographic information is obtained from the container file.

14. The system of claim 12 , wherein the cryptographic information comprises

key information; and

information concerning at least a portion of the at least partially encrypted video data that is encrypted using the key information.

15. The system of claim 14 , wherein the information concerning at least a portion of the at least partially encrypted video data is a reference to a block of encrypted data within an encoded frame of video that is encrypted using the key information.

16. The system of claim 15 , wherein the demultiplexer is configured to:

insert the cryptographic information delimited by an identifier in the elementary bitstream; and

insert the cryptographic information before the at least partially encrypted video data encrypted using the key information.

17. The system of claim 16 , wherein the decoder is configured to extract the cryptographic information using the identifier.

18. The system of claim 17 , wherein the decoder is configured to decrypt the portion of the video data encrypted using the key information by identifying the encrypted portion of video data and decrypting the encrypted video data using the key information.

19. The system of claim 18 , wherein cryptographic information inserted in different locations within the elementary bitstream includes different key information.

20. The system of claim 12 , wherein the at least partially encrypted video data comprises:

frames of encoded video;

wherein at least a portion of a plurality of the encoded frames is encrypted.

21. The system of claim 12 , wherein both the demultiplexer and the decoder are configured to be synchronized such that a delay in excess of a predetermined time between enciphering and deciphering results in the cryptographic information being unrecoverable.

22. The system of claim 21 , wherein the demultiplexer is configured to encipher data by using a sequence of scrambling processes to scramble data.

23. The system of claim 22 , wherein the decoder is configured to decipher data by performing the inverse sequence of scrambling processes to the sequence used to scramble the data.

24. A method of playing back encrypted video on a playback device, where at least partially encrypted video data is contained within a container file and can be extracted and decrypted to create an elementary bitstream using cryptographic information, which can be used to decrypt the at least partially encrypted video data, the method comprising:

obtaining the cryptographic information using a processor configured by a demultiplexer process,

wherein the cryptographic information is obtained from the container file;

wherein the at least partially encrypted video data comprises:

frames of encoded video; and

wherein at least a portion of a plurality of the encoded frames is encrypted;

wherein the cryptographic information comprises:

key information; and

information concerning at least a portion of the least partially encrypted video data that is encrypted using the key information;

wherein the information concerning at least a portion of the at least partially encrypted video data is a reference to a block of encrypted data within an encoded frame of video that is encrypted using the key information; and

wherein cryptographic information inserted in different locations within the elementary bitstream includes different key information;

extracting at least partially encrypted video data from a container file containing at least partially encrypted video data to create an at least partially encrypted elementary bitstream using the processor configured by the demultiplexer process,

wherein the cryptographic information inserted in the elementary bitstream is delimited by an identifier; and

wherein the cryptographic information is inserted before the at least partially encrypted video data encrypted using the key information;

enciphering the cryptographic information using the processor configured by an upstream digital rights management component of the demultiplexer process;

inserting the enciphered cryptographic information into the at least partially encrypted elementary bitstream using the processor configured by the upstream digital rights management component of the demultiplexer process,

wherein the cryptographic information is extracted using the identifier;

providing the at least partially encrypted elementary bitstream in which the enciphered cryptographic information is inserted to a video decoder process using the processor;

extracting the enciphered cryptographic information from the at least partially encrypted elementary bitstream using the processor configured by the video decoder process;

deciphering the enciphered cryptographic information using the processor configured by a downstream digital rights management component of the video decoder processor,

wherein the enciphering process and the deciphering process are synchronized such that a delay in excess of a predetermined time between enciphering and deciphering results in the cryptographic information being unrecoverable;

wherein the enciphering process enciphers data by using a sequence of scrambling processes to scramble data; and

wherein the deciphering process deciphers data by performing the inverse sequence of scrambling processes in the sequence used to unscramble data;

decrypting the at least partially encrypted elementary bitstream with the cryptographic information using the processor configured by the downstream digital rights management component of the video decoder process,

wherein the decrypting process is performed by using the key information to identify the encrypted portion of video data and decrypting the encrypted video data using the key information; and

decoding the elementary bitstream for rendering on a display device using the processor configured by the video decoder process;

wherein the enciphering process and the deciphering process are synchronized such that a delay in excess of a predetermined time between enciphering and deciphering results in the cryptographic information being unrecoverable.

Assignments (8)
CHANGE OF PRINCIPAL PLACE OF BUSINESS Recorded Mar 5, 2019
From: DIVX, LLC
To: DIVX, LLC
Reel/Frame 050407/0104 →
CHANGE OF NAME Recorded Mar 5, 2018
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 045498/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: SONIC IP, INC.; DIVX, LLC
To: DIVX CF HOLDINGS LLC
Reel/Frame 045310/0020 →
PATENT RELEASE Recorded Jul 22, 2014
From: JPMORGAN CHASE BANK N.A., AS COLLATERAL AGENT
To: ALL MEDIA GUIDE, LLC; DIVX, LLC; SONIC SOLUTIONS LLC
Reel/Frame 033378/0685 →
RELEASE OF SECURITY INTEREST Recorded Apr 9, 2014
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DIVX, LLC
Reel/Frame 032645/0559 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2013
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 031713/0032 →
SECURITY AGREEMENT Recorded Mar 25, 2011
From: ALL MEDIA GUIDE, LLC; DIVX, LLC; SONIC SOLUTIONS LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 026026/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2011
From: CHAN, FRANCIS YEE-DUG; SOROUSHIAN, KOUROSH; WOOD, ANDREW JEFFREY
To: DIVX, LLC
Reel/Frame 025631/0407 →
Continuity (2)
Provisional Application 61266982 · Dec 4, 2009
Related Publication 20110135090A1 · Jun 9, 2011