Randomized Huffman Entropy Coding for Encrypted Multimedia Codecs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional entropy coding methods for image and video compression require pre-defined tables and increased hardware resources for encryption, which can lead to decreased throughput and increased chip area, and do not efficiently implement cryptography-enabled codecs.
Innovation Solution
A hardware architecture for a multimedia codec that uses a single set of Huffman tables stored in ROM, with a hybrid table loader and table randomizer to generate dynamic Huffman tables and perform isomorphic code transformations, enabling encryption without significant increases in gate count or area, and maintaining throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple Huffman tables are used for encryption, then encryption capability is improved, but chip area and gate count increase
Solution Approach 1:
The patent merges the functions of multiple Huffman tables into a single table by combining the codeword generation function with a pseudo-random sequence generator. The single Huffman table stores base codewords, and the pseudo-random sequence dynamically selects and modifies codewords during encoding, eliminating the need for multiple separate Huffman tables while maintaining encryption capability.
Solution Approach 2:
The patent introduces dynamic selection of codewords using a pseudo-random sequence that changes based on the encryption key. Instead of using fixed multiple Huffman tables, the system dynamically generates different effective codewords from a single table by applying pseudo-random modifications, allowing the encoding behavior to change dynamically based on the key while using minimal storage.
2Reliability
If multiple Huffman tables are stored in ROM, then encryption capability is improved, but throughput decreases
Solution Approach 1:
The patent combines the static Huffman coding function with the dynamic pseudo-random sequence generation into a single processing unit. The single Huffman table is processed together with the pseudo-random sequence in one unified encoding operation, eliminating the need to switch between multiple tables and maintaining continuous throughput.
Solution Approach 2:
The patent pre-generates the pseudo-random sequence based on the encryption key before the actual encoding process. This preliminary generation allows the sequence to be ready for immediate use during encoding, avoiding any delay or interruption to the encoding throughput while still providing the encryption functionality.
3Reliability
If multiple Huffman tables are used, then cryptographic security is improved, but device complexity increases
Solution Approach 1:
The patent merges the Huffman table storage, pseudo-random sequence generation, and codeword selection functions into a single integrated module. This consolidation reduces the number of separate components and interconnections needed, simplifying the overall device architecture while maintaining the cryptographic security provided by the key-dependent pseudo-random sequence.
Solution Approach 2:
The single Huffman table is designed to serve multiple functions: it stores the base codewords for efficient encoding and simultaneously serves as the foundation for generating encrypted codewords when combined with the pseudo-random sequence. This multi-functionality eliminates the need for separate tables for different purposes, reducing device complexity.
Data Source
AI summary
An encryption-enabled entropy coder for a multimedia codec is disclosed. The entropy coder implements a randomized Huffman coding scheme without storing multiple sets of Huffman tables in a ROM. The entropy coder includes a ROM storing a single set of code tables, a table lookup section coupled to the ROM which converts symbols to original codewords and vice versa by performing table lookup, and a table randomizer section for converting original Huffman codewords to randomized Huffman codewords and vice versa using an isomorphic code generator algorithm. The table randomizer section performs the conversion based on a key hopping sequence generated by a pseudorandom bit generator using an encryption/decryption key.


