RANS Decoding with Two-Phase Hardware and Adaptive Symbol Width
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Range Asymmetric Number System (RANS) encoding/decoding approaches face limitations in computational efficiency and adaptiveness, particularly in hardware implementations and handling varying distributions of symbol values.
Innovation Solution
The implementation of a two-phase RANS decoding structure, adaptable symbol widths, switchable static probability models, selective flushing of decoder state, and fragment-by-fragment adjustments to improve compression efficiency and computational performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional RANS decoding is implemented in hardware, then compression efficiency is improved, but computational complexity increases
Solution Approach 1:
The RANS decoding process is divided into two distinct phases: Phase 0 performs state updates using probability information from previous iterations, while Phase 1 performs state merging with encoded data and generates output symbols. This segmentation allows each phase to be optimized independently in hardware, improving overall compression efficiency while managing computational complexity through structured organization of operations.
Solution Approach 2:
The patent introduces dynamic adaptability by allowing the symbol width to be adjusted on a fragment-by-fragment basis and enabling switching between different static probability models. This dynamic configuration allows the hardware implementation to adapt to varying symbol distributions, improving compression efficiency for different data patterns without requiring a fixed complex architecture for all scenarios.
2Adaptability or versatility
If RANS decoding uses fixed symbol width, then device complexity is reduced, but adaptability to different symbol distributions decreases
Solution Approach 1:
The patent implements dynamic symbol width adjustment where the decoder can be reconfigured to use different symbol widths based on the characteristics of the input data fragments. This allows the system to adapt to varying symbol distributions (improving parameter 35) while maintaining a relatively simple fixed-width decoding engine that can be reconfigured rather than requiring multiple complex fixed architectures (managing parameter 36).
Solution Approach 2:
The patent changes the parameter of symbol width dynamically based on the data being decoded. By allowing the symbol width parameter to be adjusted on a fragment-by-fragment basis, the system achieves better adaptability to different symbol distributions without fundamentally changing the core decoding algorithm, thus improving compression efficiency while controlling the increase in device complexity.
3Productivity
If RANS decoder state is retained across fragments, then compression efficiency is improved, but reliability decreases due to error propagation
Solution Approach 1:
The patent implements dynamic state management where the decision to flush or retain the RANS decoder state is made on a fragment-by-fragment basis. This allows the system to retain state across fragment boundaries to improve compression efficiency (parameter 39) while providing the option to flush state when error resilience is prioritized (parameter 27), achieving a flexible balance between these competing requirements through conditional state management.
Data Source
AI summary
Innovations in range asymmetric number system (“RANS”) coding and decoding are described herein. Some of the innovations relate to hardware implementations of RANS decoding that organize operations in two phases, which can improve the computational efficiency of RANS decoding. Other innovations relate to adapting RANS encoding/decoding for different distributions or patterns of values for symbols. For example, RANS encoding/decoding can adapt by switching a default symbol width (the number of bits per symbol), adjusting symbol width on a fragment-by-fragment basis for different fragments of symbols, switching between different static probability models on a fragment-by-fragment basis for different fragments of symbols, and/or selectively flushing (or retaining) the state of a RANS decoder on a fragment-by-fragment basis for different fragments of symbols. In many cases, such innovations can improve compression efficiency while also providing computationally efficient performance.


