Byte-Stable Integer Encoding for Better Compression and Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing variable length integer encoding schemes are inefficient due to the use of control bits that break data patterns, leading to suboptimal compressibility and high computational complexity during decoding, especially when dealing with data that has many leading zeros.

Innovation Solution

A byte-stable variable-length integer encoding scheme that eliminates the need to store leading zero bits by using control bits to specify the number of bytes representing an integer, allowing identical sequences to be represented consistently, thereby preserving data redundancy and enabling compression rates comparable to Lempel-Ziv schemes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If continuation bits are used to indicate byte boundaries in variable length integer encoding, then the encoding can represent integers of arbitrary length, but every eighth bit becomes a control bit rather than a data bit, reducing compressibility

Engineering Contradiction:
Improveability to represent integers of arbitrary lengthVSAvoidcompressibility
Core Design Contradiction:
Adaptability or versatilityVSLoss of substance

Solution Approach 1:

The patent extracts control information from the regular byte stream by using a separate mechanism (periodically inserted control bytes) to indicate byte boundaries, rather than embedding control bits within every byte. This separation allows the data bytes to remain contiguous and compressible while still providing the necessary structural information.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces control bytes as intermediary elements that mediate between the need for variable length representation and the desire for compressibility. These control bytes appear periodically in the stream and provide boundary information without disrupting the continuity of data bytes, enabling both adaptability and compressibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If control bytes are inserted periodically to represent sequence lengths, then variable length integers can be encoded, but the same sequence of numbers is not always represented by the same sequence of bytes, reducing compressibility

Engineering Contradiction:
Improvevariable length integer representationVSAvoidcompressibility
Core Design Contradiction:
Adaptability or versatilityVSLoss of substance

Solution Approach 1:

The patent segments the control information from the data by using dedicated control bytes that appear at fixed intervals. This segmentation ensures that the data portion remains consistent and repeatable, while the control portion handles the variable length information, allowing sequences to be represented consistently for compression purposes.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If UTF-8 encoding uses leading 1-bits as control bits to indicate byte sequence length, then variable length integers can be encoded, but at least two bits in every byte are control bits, reducing efficiency and compressibility

Engineering Contradiction:
Improvevariable length integer encodingVSAvoidcompressibility and efficiency
Core Design Contradiction:
Adaptability or versatilityVSLoss of substance

Solution Approach 1:

The patent extracts control information from the data bytes themselves and places it in separate control bytes. This extraction allows all bits in data bytes to be used for storing actual data values, maximizing efficiency and compressibility while still supporting variable length integers.

Inventive Principle:
Principle #2Taking out (Extraction)

4Adaptability or versatility

If decoding routines use branching or flow control mechanisms to process each byte and determine continuation, then variable length integers can be decoded, but the computational complexity and processing time increase

Engineering Contradiction:
Improvedecoding capabilityVSAvoidcomputational complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent uses periodically inserted control bytes to provide structured, predictable control information. This periodic structure allows decoders to use simple, regular processing patterns instead of complex branching logic, reducing computational complexity while maintaining full decoding capability.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS7965207B2Variable length integer encoding system and method
Publication Date: 2011.06.21 SEOMOZ INC
  • US7965207B2 patent drawing
  • US7965207B2 patent drawing
  • US7965207B2 patent drawing

AI summary

Large integers may be stored according to byte-stable variable-length encoding systems and methods, eliminating the need to store many leading-zero bits in large integers. Such a byte-stable variable-length integer encoding scheme may represent identical sequences of numbers in a consistent byte pattern within a byte stream, preserving the redundancy of the data and allowing for improved compression rates.