IP Library Granted Patent US 9,762,937
Granted Patent B2
US 9,762,937 · App. 14/821,454 · Granted Sep 12, 2017

Systems and methods for protecting elementary bitstreams incorporating independently encoded tiles

Inventors: Jason Braness (San Diego, CA); William David Amidei (La Jolla, CA); Mayur Srinivasan (San Diego, CA)
Assignee: Sonic IP, Inc.
H04N21/23476H04L63/0428H04N21/2353H04N21/435H04N21/44055H04L9/065
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 9,762,937
App. No.
14/821,454
Granted
Sep 12, 2017
Kind
B2
Abstract

Systems and methods for partial frame encryption in accordance with embodiments of the invention are disclosed. In one embodiment, the method receives a video bitstream that includes several frames, each frame including several independently encoded compression units within the frame, encrypts a portion of each of several compression units in several frames, and generates an output bitstream that includes the several independently encoded compression units including the encrypted portions of the compression units.

Claims (64)

1. A non-transitory machine readable medium containing processor instructions, where execution of the instructions by a processor causes the processor to perform a process comprising:

receiving a video bitstream comprising a plurality of frames, each frame comprising a plurality of independently encoded compression units within the frame;

partially encrypting a plurality of frames in the video bitstream by encrypting a portion of each of a plurality of independently encoded compression units in the plurality of frames; and

generating an output bitstream comprising the plurality of independently encoded compression units including the encrypted portions of the compression units;

wherein the independently encoded compression units are tiles within the video bitstream; and

wherein encrypting the portion of each of the plurality of independently encoded compression units in the plurality of frames comprises:

parsing the encoded bitstream to identify a tile structure; and

encrypting a portion of each of a plurality of tiles, where a portion of a tile is selected for encryption based upon the identified tile structure.

2. The non-transitory machine readable medium of claim 1 , wherein a compression unit is an independently decodable portion of a particular frame of video such that it does not depend upon another compression unit within the particular frame in order to be decoded.

3. The non-transitory machine readable medium of claim 1 , further comprising:

parsing a metadata header to identify locations of compression units within a frame of video; and

encrypting a portion of the video bitstream based on the locations of the compression units.

4. The non-transitory machine readable medium of claim 1 , wherein encrypting the portion of each of the plurality of compression units comprises determining that compression units are enabled based on information within a header associated with the video bitstream.

5. The non-transitory machine readable medium of claim 1 , further comprising encrypting a portion of each compression unit in a frame of video.

6. The non-transitory machine readable medium of claim 5 , wherein the portion is selected from the group consisting of i) a first N bytes of the compression unit, ii) a last N bytes of the compression unit, iii) a middle portion of N bytes within the compression unit and iv) a pattern of N bytes within the compression unit.

7. The non-transitory machine readable medium of claim 1 , wherein the compression units are tiles within a High-Efficiency Video Coding (HEVC) standard and the video bitstream is encoded based on the HEVC standard.

8. The non-transitory machine readable medium of claim 7 , further comprising:

parsing a Picture Parameter Set (PPS) of the HEVC video bitstream to identify the structure of the tiles within the video bitstream; and

encrypt portions of the tiles based on the structure.

9. The non-transitory machine readable medium of claim 1 , wherein encrypting the portion of each of the plurality of compression units comprises using a common encryption format (CENC) to encrypt the portions.

10. A content encoder comprising:

a hardware processor configured to communicate with a memory that stores instructions for execution by the processor, where the memory contains an encoder application;

wherein the encoder application directs the processor to:

receive a video bitstream comprising a plurality of frames, each frame comprising a plurality of independently encoded compression units within the frame;

partially encrypt a plurality of frames in the video bitstream by encrypting a portion of each of a plurality of independently encoded compression units in the plurality of frames; and

generate an output bitstream comprising the plurality of independently encoded compression units including the encrypted portions of the compression units;

wherein the independently encoded compression units are tiles within the video bitstream; and

wherein encrypting the portion of each of the plurality of independently encoded compression units in the plurality of frames comprises:

parsing the encoded bitstream to identify a tile structure; and

encrypting a portion of each of a plurality of tiles, where a portion of a tile is selected for encryption based upon the identified tile structure.

11. The content encoder of claim 10 , wherein a compression unit is an independently decodable portion of a particular frame of video such that it does not depend upon another compression unit within the particular frame in order to be decoded.

12. The content encoder of claim 10 , wherein the encoder application further directs the processor to:

parse a metadata header to identify locations of compression units within a frame of video; and

encrypt a portion of the video bitstream based on the locations of the compression units.

13. The content encoder claim 10 , wherein encrypting the portion of each of the plurality of compression units comprises determining that compression units are enabled based on information within a header associated with the video bitstream.

14. The content encoder claim 10 , wherein the encoder application further directs the processor to encrypt a portion of each compression unit in a frame of video.

15. The content encoder of claim 14 , wherein the portion is selected from the group consisting of i) a first N bytes of the compression unit, ii) a last N bytes of the compression unit, iii) a middle portion of N bytes within the compression unit and iv) a pattern of N bytes within the compression unit.

16. The content encoder of claim 10 , wherein the compression units are tiles within a High-Efficiency Video Coding (HEVC) standard and the video bitstream is encoded based on the HEVC standard.

17. The content encoder of claim 16 , wherein the encoder application further directs the processor to:

pare a Picture Parameter Set (PPS) of the HEVC video bitstream to identify the structure of the tiles within the video bitstream; and

encrypt portions of the tiles based on the structure.

18. The content encoder of claim 10 , wherein encrypting the portion of each of the plurality of compression units comprises using a common encryption format (CENC) to encrypt the portions.

19. A content decoder comprising:

a hardware processor configured to communicate with a memory that stores instructions for execution by the processor, where the memory contains a decoder application;

wherein the decoder application directs the processor to:

receive a video bitstream comprising a plurality of frames, each frame comprising a plurality of independently encoded compression units within the frame;

partially decrypt a plurality of frames in the video bitstream by decrypt decrypting a portion of each of a plurality of independently encoded compression units in the plurality of frames; and

generate an output decoded video for playback;

wherein the independently encoded compression units are tiles within the video bitstream; and

wherein decrypting the portion of each of the plurality of independently encoded compression units in the plurality of frames comprises:

parsing the encoded bitstream to identify a tile structure; and

decrypt a portion of each of a plurality of tiles, where a portion of a tile is selected for decrypting based upon the identified tile structure.

20. The content decoder claim 19 , wherein a compression unit is an independently decodable portion of a particular frame of video such that it does not depend upon another compression unit within the particular frame in order to be decoded.

21. The content decoder of claim 19 , wherein the decoder application further directs the processor to:

parse a metadata header to identify locations of compression units within a frame of video; and

decrypt a portion of the video bitstream based on the locations of the compression units.

22. The content decoder of claim 19 , wherein decrypting the portion of each of the plurality of compression units comprises determining that compression units are enabled based on information within a header associated with the video bitstream.

23. The content decoder of claim 19 , wherein the decoder application further directs the processor to decrypt a portion of each compression unit in a frame of video.

24. The content decoder of claim 23 , wherein the portion is selected from the group consisting of i) a first N bytes of the compression unit, ii) a last N bytes of the compression unit, iii) a middle portion of N bytes within the compression unit and iv) a pattern of N bytes within the compression unit.

25. The content decoder of claim 19 , wherein the compression units are tiles within a High-Efficiency Video Coding (HEVC) standard and the video bitstream is decoded based on the HEVC standard.

26. The content decoder of claim 25 , wherein the decoder application further directs the processor to:

parse a Picture Parameter Set (PPS) of the HEVC video bitstream to identify the structure of the tiles within the video bitstream; and

decrypt portions of the tiles based on the structure.

27. The content decoder of claim 19 , wherein decrypting the portion of each of the plurality of compression units comprises using a common encryption format (CENC) to decrypt the portions.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2015
From: BRANESS, JASON; AMIDEI, WILLIAM DAVID; SRINIVASAN, MAYUR
To: SONIC IP, INC.
Reel/Frame 036559/0731 →
Continuity (2)
Provisional Application 62034714 · Aug 7, 2014
Related Publication 20160044346A1 · Feb 11, 2016