Adaptive Entropy Encoding Using Local Symbol Frequency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing variable length coding (VLC) systems rely on pre-trained probability mass functions (PMFs) that may not accurately represent the actual frequencies of symbol values in real-time data, leading to suboptimal encoding efficiency.

Innovation Solution

A dynamic encoder that measures the actual frequency of symbol occurrences within each portion of the input signal and includes this information in the encoded bitstream, allowing for adaptive VLC based on local PMF estimation, which improves encoding efficiency by using observed frequencies to determine the optimal code lengths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If pre-trained global PMFs are used for entropy coding, then device complexity is reduced, but encoding efficiency deteriorates due to inaccurate representation of actual symbol frequencies

Engineering Contradiction:
Improveencoding system complexityVSAvoidencoding efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system dynamically adapts the PMF during encoding operations. Instead of using a static pre-trained global PMF, the encoder updates the probability mass function based on observed symbol frequencies in the current data portion, allowing the coding scheme to adapt to actual local statistics and improve encoding efficiency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The encoding process is divided into portions where a local PMF is estimated for each portion based on observed symbol frequencies. This segmentation allows different PMFs to be used for different portions of the data, capturing local variations in symbol distribution that a global PMF would miss

Inventive Principle:
Principle #1Segmentation

2Productivity

If local PMF estimation with observed frequencies is implemented, then encoding efficiency is improved, but device complexity increases due to dynamic frequency measurement and adaptation

Engineering Contradiction:
Improveencoding efficiencyVSAvoidencoding system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs self-adaptation by automatically estimating the local PMF from the data itself during the encoding process. The encoder counts symbol frequencies and uses this information to update its own coding parameters without requiring external training data or complex pre-processing, making the system self-sufficient and reducing overall complexity

Inventive Principle:
Principle #25Self-service

3Device complexity

If conventional global adaptive techniques are used, then device complexity is maintained at acceptable levels, but the average number of bits per symbol increases due to suboptimal encoding

Engineering Contradiction:
Improveencoding system complexityVSAvoidaverage number of bits per symbol
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The system changes the parameter used for encoding from a fixed global PMF to a dynamically updated local PMF based on observed symbol frequencies. By adjusting the probability parameters according to actual data statistics, the system achieves more optimal code length assignments and reduces the average number of bits per symbol

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9819358B2Entropy encoding based on observed frequency
Publication Date: 2017.11.14 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9819358B2 patent drawing
  • US9819358B2 patent drawing
  • US9819358B2 patent drawing

AI summary

An encoder stage, and corresponding encoded bitstream and decoder. The encoder stage comprises: a variable length encoder for encoding an input signal; and a counter configured to dynamically detect an observed frequency at which different symbols are found to occur within each of a plurality of predetermined portions of the input signal, prior to the symbols of each respective portion being encoded by the variable length encoder. The variable length encoder is configured to encode the symbols of each portion using variable length coding performed in dependence on the observed frequencies detected within the respective portion of the input signal, to generate an encoded bitstream comprising the encoded symbols along with an additional element indicating information regarding the observed frequencies detected for each portion, and to output the encoded bitstream to at least one of a storage medium and a transmission medium for supply to a decoder.