Zero-Byte Mask Compression for Memory-Limited Data Streams

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Devices with limited processing resources, such as wireless earphones, face challenges in efficiently compressing and transmitting state information due to tight memory and energy constraints, especially when dealing with data streams containing a substantial number of zero bytes.

Innovation Solution

A lossless compression algorithm that uses a mask byte to indicate whether subsequent bytes are zero or non-zero, allowing for efficient compression by removing zero bytes from the data stream, thereby optimizing memory footprint and energy usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If traditional compression algorithms are used, then compression ratio may be improved, but processing complexity and memory requirements increase

Engineering Contradiction:
Improvedata sizeVSAvoidprocessing complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The algorithm segments data into fixed-size blocks (e.g., 8 bytes) and processes each block independently. For each block, it creates a mask byte that segments the representation of zeros and non-zeros, allowing efficient compression without complex inter-block dependencies. This segmentation enables simple, repeatable processing suitable for resource-constrained devices.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The algorithm extracts and removes redundant zero bytes from the data stream by representing them compactly in the mask byte. Instead of storing actual zero byte values, it extracts the positional information of zeros and encodes them in the mask, eliminating unnecessary data while preserving reconstructability.

Inventive Principle:
Principle #2Taking out (Extraction)

2Loss of substance

If more memory is allocated for compression buffering, then compression quality may improve, but memory footprint increases

Engineering Contradiction:
Improvecompression ratioVSAvoidmemory footprint
Core Design Contradiction:
Loss of substanceVSQuantity of substance

Solution Approach 1:

The algorithm merges the mask information and data representation into a unified block structure where the mask byte and data bytes work together as an integrated compression unit. This merging eliminates the need for separate buffering structures and allows direct processing with minimal memory allocation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The algorithm adds a dimensional transformation by representing zero-byte positions in a different dimension (the mask byte) rather than storing them in the original data dimension. This dimensional change allows compact representation of sparse zero patterns without requiring additional buffer space proportional to the original data size.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Loss of substance

If complex compression algorithms are implemented, then compression ratio improves, but processing speed decreases

Engineering Contradiction:
Improvedata sizeVSAvoidprocessing speed
Core Design Contradiction:
Loss of substanceVSProductivity

Solution Approach 1:

The algorithm applies periodic action by processing data in regular fixed-size blocks with a consistent pattern: generate mask byte, count non-zeros, output compressed block. This periodic structure enables predictable, efficient processing that can be optimized for speed while maintaining good compression ratios for zero-heavy data.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The algorithm uses cheap, simple data structures (mask bytes and counters) that can be created and discarded rapidly for each block. These temporary objects require minimal processing overhead and memory allocation, enabling fast processing while achieving compression through the systematic application of simple operations.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

4Reliability

If additional buffers are used for compression, then data integrity may improve, but energy consumption increases

Engineering Contradiction:
Improvedata integrityVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The algorithm makes the compression process self-sufficient by using the input data itself to generate the mask information needed for compression. The mask byte is derived directly from the input block without requiring external reference data or complex validation buffers, reducing memory operations and energy consumption while maintaining data integrity through reversible compression.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12105953B2Zero coder compression
Publication Date: 2024.10.01 APPLE INC
  • US12105953B2 patent drawing
  • US12105953B2 patent drawing
  • US12105953B2 patent drawing

AI summary

The subject technology groups received data in data blocks having a predetermined number of bytes. For each received data block, a compressed data block is written to an output buffer. The compressed data block includes a mask block having a same number of bits as the predetermined number, and a subsequent block. The mask block includes in a same order as bytes within the corresponding data block, a zero corresponding to a zero-byte within the data block, and a one corresponding to each non-zero byte within the data block. The subsequent block includes non-zero bytes within the corresponding data block in a same order as the non-zero bytes within the data block.