IP Library Granted Patent US 8,457,304
Granted Patent B2
US 8,457,304 · App. 12/035,614 · Granted Jun 4, 2013

Efficient encoding processes and apparatus

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,457,304
App. No.
12/035,614
Granted
Jun 4, 2013
Kind
B2
Abstract

A method for encoding video includes receiving data, and encrypting the data using at least four Huffman trees. A method for encoding video includes receiving data, and encrypting the data such that an internal state of a stream cipher is independent of plaintext and ciphertext. A video encoding system for encoding video in a computing environment includes means for accessing data, and means for encrypting the data such that there are approximately 2 106 possibilities.

Claims (42)

1. A method, comprising:

determining, via at least one computing device, respective occurring probabilities of symbols comprising data to be encrypted;

selecting, via the at least one computing device, at least four Huffman trees according to a criterion that assigns respective numbers of codewords to the symbols as a function of the respective occurring probabilities, wherein the at least four Huffman trees comprise at least two right-hand Huffman trees and at least two left-hand Huffman trees; and

encrypting, via the at least one computing device, the data using the at least four Huffman trees and a stream cipher to obtain encrypted data, wherein an internal state of the stream cipher is independent of ciphertext associated with the encrypted data.

2. The method of claim 1 , further including:

publishing the at least four Huffman trees.

3. The method of claim 1 , wherein the selecting the at least four Huffman trees includes selecting a right-hand 0-2-1 tree.

4. The method of claim 3 , wherein the selecting the at least four Huffman trees includes selecting a right-hand 2-0-1 tree.

5. The method of claim 4 , wherein the selecting the at least four Huffman trees includes selecting a left-hand 1-0-2 tree.

6. The method of claim 5 , wherein the selecting the at least four Huffman trees includes selecting a left-hand 1-2-0 tree.

7. The method of claim 1 , wherein the encrypting includes encrypting the data based on approximately 2 106 possibilities associated with different encryption results for the encrypted data.

8. The method of claim 1 , further comprising assigning the respective numbers of codewords to the symbols in direct proportion to the respective occurring probabilities.

9. The method of claim 1 , further comprising:

maintaining a cipher stream seed as private information.

10. The method of claim 1 , wherein the encrypting includes encrypting the data using exactly four Huffman trees.

11. The method of claim 1 , wherein the encrypting comprises encrypting the data based on a private seed for the stream cipher.

12. The method of claim 1 , wherein the encrypting comprises encrypting the data using, as at least a subset of the at least four Huffman trees, one or more publicly accessible Huffman trees.

13. The method of claim 1 , wherein the encrypting the data comprises encrypting plaintext.

14. A method, comprising:

receiving, by one or more computing devices, data to be encrypted, the data including symbols; and

selecting, by the one or more computing devices, at least two right-hand Huffman tables and at least two left-hand Huffman tables according to a criterion for assignment of respective quantities of codewords to the symbols as a function of respective occurring probabilities of the symbols; and

encrypting, by the one or more computing devices, the data using the at least two right-hand Huffman tables, the at least two left-hand Huffman tables, and a stream cipher to obtain a result, wherein an internal state of the stream cipher is independent of ciphertext associated with the result.

15. The method of claim 14 , wherein the encrypting the data includes encrypting the data using a right-hand 0-2-1 tree and a right-hand 2-0-1 tree.

16. The method of claim 15 , wherein the encrypting the data includes encrypting the data using a left-hand 1-0-2 tree and a left-hand 1-2-0 tree.

17. The method of claim 14 , further including:

publishing the at least two right-hand Huffman tables and at least two left-hand Huffman tables.

18. The method of claim 14 , wherein the encrypting the data to obtain the result includes encrypting the data from among a number of possibilities on an order of 2 106 encryption result possibilities.

19. The method of claim 14 , further comprising:

maintaining a private cipher stream seed.

20. The method of claim 14 , further comprising assigning the respective quantities of codewords to the symbols in direct proportion to the respective occurring probabilities.

21. A non-transitory computer-readable storage medium including computer-executable instructions that, in response to execution, cause a computing device to perform operations comprising:

determining respective occurring probabilities for symbols within data to be encrypted;

selecting at least four Huffman tables according to a criterion resulting in assignment of respective quantities of codewords to the symbols as a function of the respective occurring probabilities, wherein the at least four Huffman tables comprise at least two right-hand Huffman tables and at least two left-hand Huffman tables; and

encrypting the data using the at least four Huffman trees and a stream cipher to obtain encrypted data, wherein an internal state of the stream cipher is independent of ciphertext associated with the encrypted data.

22. The non-transitory computer-readable storage medium of claim 21 , wherein the data comprises plaintext.

23. The non-transitory computer-readable storage medium of claim 21 , the operations further comprising assigning the respective quantities of codewords to the symbols in direct proportion to the respective occurring probabilities.

24. An apparatus, comprising:

a memory;

at least one processor, communicatively coupled to the memory, configured to facilitate execution of computer-executable components, comprising;

a processing component configured to receive data to be encrypted, the data comprising symbols; and

an encryption component configured to select at least two right-hand Huffman tables and at least two left-hand Huffman tables according to a criterion for assignment of respective quantities of codewords to the symbols as a function of respective probabilities of occurrence of the symbols within the data, and to encrypt the data using a stream cipher, the at least two right-hand Huffman tables, and at least two left-hand Huffman tables to obtain encrypted data, wherein an internal state of the stream cipher is independent of ciphertext associated with the encrypted data.

25. The apparatus of claim 24 , wherein the stream cipher is associated with a private seed.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2010
From: HONG KONG TECHNOLOGIES GROUP LIMITED
To: CHOY SAI FOUNDATION L.L.C.
Reel/Frame 024921/0122 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2010
From: THE HONG KONG UNIVERSITY OF SCIENCE AND TECHNOLOGY
To: HONG KONG TECHNOLOGIES GROUP LIMITED
Reel/Frame 024067/0623 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2008
From: AU, OSCAR CHI LIM; ZHOU, JIANTAO
To: THE HONG KONG UNIVERSITY OF SCIENCE AND TECHNOLOGY
Reel/Frame 020547/0138 →