IP Library Granted Patent US 7,953,224
Granted Patent B2
US 7,953,224 · App. 11/419,464 · Granted May 31, 2011

MPEG-4 encryption enabling transcoding without decryption

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 7,953,224
App. No.
11/419,464
Granted
May 31, 2011
Kind
B2
Abstract

A method and system for encrypting a video compressed with MPEG-4 FGS compression with minimal overhead is provided. The encryption system encrypts the video into independently encrypted segments that can be either a video packet or a video block. When the encryption system encrypts based on video packets, it encrypts the data to ensure that the encrypted data does not emulate any video packet delimiting markers. When the encryption system encrypts based on video blocks, it encrypts the coded bitstream for each video block independently, from the most significant bitplane to the least significant bitplane, using either a stream or a block cipher. After all the video blocks are independently encrypted, the encryption system partitions the encrypted data into video packets and adds a buffering bit, if necessary, to prevent emulation of video packet delimiting markers. The encryption system may generate an initialization vector for each independently encrypted segment.

Claims (36)

1. A method performed by a computing device for encrypting a video, the encrypted video being MPEG-4 syntax-compliant, the method comprising:

generating a global initialization vector for the video;

identifying independent encryption segments of the video; and

for each identified independent encryption segment,

generating by the computing device an initialization vector for the independent encryption segment that is derived from the global initialization vector and from a unique identifier of the independent encryption segment; and

encrypting data of the independent encryption segment using the generated initialization vector for the independent encryption segment, the encrypted data being syntax-compliant with MPEG-4 so that each independent encryption segment is encrypted independently of each other independent encryption segment

wherein the global initialization vector and the encrypted data of each independent encryption segment without the initialization vector for each independent encryption segment form an encrypted MPEG-4 syntax-compliant video that can be truncated without having to decrypt the encrypted data of the independent encryption segments.

2. The method of claim 1 wherein an independent encryption segment is a video packet of MPEG-4 Fine Grain Scalability compression.

3. The method of claim 1 wherein an independent encryption segment is a video block of MPEG-4 Fine Grain Scalability compression.

4. The method of claim 1 wherein the encrypting of an independent encryption segment applies an encryption scheme that generates syntax-compliant ciphertext.

5. The method of claim 4 wherein the encryption scheme is a locally iterative encryption scheme.

6. The method of claim 5 wherein the locally iterative encryption scheme in cipher block chaining mode is applied to full encryption blocks and the locally iterative encryption scheme in cipher feedback mode is applied to a last partial encryption block.

7. The method of claim 4 wherein the encryption scheme is a ciphertext switching scheme.

8. The method of claim 1 wherein the unique identifier for a video block is a VOP-specific number, a video block number, and an identifier of a color component.

9. The method of claim 1 wherein the unique identifier for a video packet is a VOP-specific number, a number of the first macroblock, and a bitplane identifier.

10. The method of claim 1 wherein buffering bits are added to encrypted data to stop emulation of delimiting markers.

11. A system for encrypting video data so that the encrypted video data is MPEG-4 syntax compliant, comprising:

a memory storing computer-executable instructions of:

a component that identifies a global initialization vector for the video data;

a component that identifies segments of the video data;

a component that generates an initialization vector for each segment that is derived from the global initialization vector and from a unique identifier of the segment;

a component that encrypts each segment using the generated initialization vector for the segment so that the encrypted data in each segment does not include any delimiters of a video packet and is MPEG-4 syntax-compliant; and

a component that packetizes the encrypted segments into an encrypted video codestream that includes the global initialization vector but not the initialization vectors for the segments; and

a processor for executing the computer-executable instructions stored in the memory.

12. The system of claim 11 wherein a segment is a video block and encrypted data from multiple video blocks are stored in a video packet.

13. The system of claim 11 wherein a segment is a video packet.

14. The system of claim 13 wherein when the segment is a video packet, the component that encrypts applies a locally iterative encryption scheme.

15. The system of claim 13 wherein when the segment is a video packet, the component that encrypts applies a ciphertext switching scheme.

16. The system of claim 11 wherein the packetizing component adds buffering bits to stop emulation of delimiter markers in encrypted data.

17. A computer-readable device containing encryption of video data that is compressed using an MPEG-4 FGS based compression, the encryption being generated by a method comprising:

identifying a global initialization vector for the video data;

identifying independent encryption segments from the video data; and

for each identified independent encryption segment,

providing an initialization vector for the independent encryption segment, the initialization vector being derived from the global initialization vector and from a unique identifier of the independent encryption segment;

encrypting the video data in the independent encryption segment using the provided initialization vector to generate ciphertext that is MPEG-4 syntax-compliant; and

packetizing encrypted segments into an encrypted codestream without emulation of delimiting markers in the encrypted data so that the encrypted codestream is MPEG-4 syntax-compliant, the encrypted codestream including the global initialization vector but not including the initialization vectors of the independent encryption segments.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2006
From: ZHU, BIN; CHEN, CHANG WEN; LI, SHIPENG; YANG, YANG
To: MICROSOFT CORPORATION
Reel/Frame 018158/0153 →