Zero-Run Entropy Coding for Low-Latency Video Transmission
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing entropy encoding techniques for video playback in resource-constrained environments require complex arithmetic or high memory bandwidth, failing to meet low latency requirements.
Innovation Solution
A method combining entropy encoding with run-length encoding of zeroes, using a zero-run prefix to differentiate codewords representing runs of zeroes from non-zero values, leveraging existing entropy encoding techniques like exponential Golomb-Rice coding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If existing entropy encoding techniques (Huffman coding and arithmetic coding) are used, then lossless data compression is achieved, but complex arithmetic or high memory bandwidth is required, failing to meet low latency requirements
Solution Approach 1:
The encoding process is segmented into distinct phases: zero-run detection, counting consecutive zeros, and encoding non-zero values. This segmentation allows the system to handle different data patterns (zero runs vs. non-zero values) with specialized simple operations rather than complex general-purpose entropy encoding, reducing overall encoding complexity while maintaining lossless compression
Solution Approach 2:
The patent extracts and separately handles the zero-run encoding from the general entropy encoding process. By identifying and encoding consecutive zero sequences as distinct patterns, the system removes the need for complex arithmetic operations on these frequent zero patterns, thereby reducing encoding complexity while preserving all information for lossless reconstruction
2Loss of information
If existing entropy encoding techniques (Huffman coding and arithmetic coding) are used, then lossless data compression is achieved, but high memory bandwidth is required, failing to meet low latency requirements
Solution Approach 1:
The patent performs preliminary zero-detection and counting operations during the encoding phase itself, rather than requiring additional memory passes or complex arithmetic operations during decoding. This preliminary action reduces the computational burden and memory bandwidth requirements during the time-critical decoding phase, thereby reducing latency
Solution Approach 2:
The patent uses simple counters and temporary storage for zero-run lengths that are discarded after each encoding pass, rather than maintaining complex data structures or large memory buffers. These lightweight, temporary objects require minimal memory bandwidth while enabling fast processing and low latency operation
3Loss of information
If runs of zeroes are encoded individually using traditional entropy encoding, then lossless compression is achieved, but compression ratio is reduced due to encoding overhead for each zero value
Solution Approach 1:
The patent merges multiple consecutive zero values into a single encoded representation by detecting zero-runs and encoding their lengths. Instead of encoding each zero individually with full entropy encoding overhead, the system combines them into compact zero-run codes, significantly improving compression ratio while maintaining lossless reconstruction capability
Solution Approach 2:
The patent creates a universal encoding scheme that handles both zero-runs and non-zero values within a single integrated framework. The zero-run prefix notation serves multiple functions: it identifies zero-patterns, encodes run lengths, and maintains compatibility with the overall entropy decoding process, achieving high compression ratios across diverse data patterns
Data Source
AI summary
This disclosure provides methods, devices, and systems for data compression. The present implementations more specifically relate to lossless data compression techniques that combine entropy coding with run-length encoding of zeroes. In some aspects, an encoder may obtain a sequence of integer values representing a frame of data and may iteratively scan the sequence for runs of zeros. During each iteration of the scan, the encoder may increment a count value (N) if the current integer value is equal to zero or, if the current integer value is not equal to zero, output a pattern of bits representing the current count value or the current integer value. In some implementations, the pattern of bits may include a codeword associated with an entropy encoding scheme. More specifically, the encoder may encode the current integer value as the codeword if N>0 and may encode the current count value as the codeword if N=0.


