Unicode Entropy Coding for Cross-Language Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

There is a mismatch in data representation between programming languages like C and JavaScript, particularly in compression and cryptography, due to differences in how character string data is handled, leading to potential errors in data processing and display.

Innovation Solution

A method and apparatus for transcoding Unicode character data using a compression algorithm that generates encoded values, with a code points mapper assigning these values to Unicode format, and a UTF encoder for efficient compression and decoding, employing techniques like entropy encoding and range coding to manage character data effectively across different encoding schemes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If character string data is processed as sequential octets in C, then compression efficiency is improved, but data representation accuracy deteriorates when passed to JavaScript

Engineering Contradiction:
Improvecompression efficiencyVSAvoiddata representation accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces UTF-8 encoding as an intermediary layer between C's octet-based processing and JavaScript's character-based processing. The encoder converts Unicode code points to UTF-8 byte sequences, and the decoder reconstructs code points from UTF-8 bytes, serving as a mediator that preserves data integrity across the language boundary while allowing efficient byte-level compression in C.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter representation of character data by encoding Unicode code points into UTF-8 variable-length byte sequences. This transformation allows the same data to be efficiently processed as bytes in C while maintaining accurate character semantics for JavaScript, resolving the contradiction between compression efficiency and representation accuracy.

Inventive Principle:
Principle #35Parameter changes

2Speed

If cryptographic algorithms operate on binary data without character encoding management, then processing speed is improved, but data integrity deteriorates due to encoding mismatches

Engineering Contradiction:
Improveprocessing speedVSAvoiddata integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary encoding action by converting all character data to UTF-8 byte sequences before cryptographic processing. This ensures that the binary data passed to cryptographic algorithms has a known, consistent encoding, preventing integrity issues while maintaining fast binary processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The UTF-8 encoding scheme serves as an intermediary that bridges character data and binary processing. By converting characters to UTF-8 bytes before cryptographic operations and decoding after, the system maintains data integrity while enabling fast binary algorithm execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If character codes span multiple octets, then Unicode compatibility is improved, but processing complexity increases due to code point mapping

Engineering Contradiction:
ImproveUnicode compatibilityVSAvoidprocessing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent employs dynamic encoding where the number of bytes per character varies based on the Unicode code point value. UTF-8 uses 1-4 bytes per character depending on the code point range, providing adaptability for Unicode while the encoding rules maintain systematic simplicity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter representation from fixed-width characters to variable-length UTF-8 byte sequences. This allows efficient representation of both ASCII and Unicode characters while the systematic encoding rules keep processing complexity manageable through consistent byte-order preservation.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7994949B2Unicode-compatible entropy coding
Publication Date: 2011.08.09 RED HAT INC
  • US7994949B2 patent drawing
  • US7994949B2 patent drawing
  • US7994949B2 patent drawing

AI summary

A character data set is compressed with a compression algorithm module of a computer system to generate one or more streams of encoded values. The compression module is configured to compress the character data set with an entropy encoder to generate one or more streams of encoded values with UTF-8 or UTF-16. A code points mapper assigns the encoded values to code points in a Unicode format. A UTF encoder encodes the streams of assigned encoded values.