MQ Decoder Branchless Non-Common Path for Faster JPEG 2000 Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing MQ-decoding methods for JPEG 2000 and similar image data compression standards face inefficiencies due to the use of branches in the non-common decoding path, leading to increased branch prediction penalties and reduced decoding speed on general-purpose processors.
Innovation Solution
A novel non-common decoding path method that replaces unpredictable conditional branches with a sequence of calculations using bit-value sequences and arithmetic/logical operations, eliminating branches and utilizing a look-up table structure to determine NMPS and NLPS values efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conditional branches are used in the non-common decoding path, then the decoding logic can handle different cases (MPS/LPS), but branch prediction penalties increase and decoding speed decreases
Solution Approach 1:
The patent extracts the branch prediction penalty problem from the decoding path by removing conditional branches entirely. The non-common decoding path is rewritten to use unconditional calculations with pre-computed values from look-up tables, eliminating the source of branch prediction failures while preserving the conditional logic functionality.
Solution Approach 2:
The patent applies preliminary action by pre-computing and storing decoding values in look-up tables before the actual decoding process. The Nxt table stores pre-calculated next-state values, and the IsLps table stores pre-computed least probable symbol indicators, allowing the decoding path to proceed without real-time conditional branching.
2Productivity
If specialized hardware is used to eliminate branch prediction penalties, then decoding speed improves, but hardware complexity and cost increase
Solution Approach 1:
The patent substitutes the mechanical/physical branch prediction mechanism with a software-based look-up table approach. Instead of relying on hardware branch prediction units, the system uses pre-computed tables stored in memory, transforming a hardware-dependent solution into a software-based one that works efficiently on general-purpose processors.
Solution Approach 2:
The patent creates a universal decoding implementation that works across different processor architectures without requiring specialized hardware. The look-up table method provides a architecture-agnostic solution that maintains high performance on general-purpose processors, making the decoding algorithm universally applicable.
Data Source
AI summary
Methods and apparatus for providing JPEG decoder functions are described. In particular, features and methods of the present invention are directed to an efficient way of implementing a non-common decoding path function used in an MQ-coder, such as the type used to decode JPEG-2000 images. The methods of the present invention are well suited for implementation on general purpose computers such as conventional personal computers (PCs) and can provide improved decoding speed, compared to known systems which use processing branches as part of a non-common decoding path function by reducing and, in some implementations completely avoiding, branches. Thus, branch prediction penalties associated with known decoding schemes are reduced or avoided leading, in many cases, to faster decoding rates when using a general purpose processor of a given speed or computational capability.


