Transform Coefficient Level Coding Within 32-Bit Register Limits
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video coding techniques, such as those in the HEVC standard, face inefficiencies in coding transform coefficients, particularly with the Golomb-Rice/Exponential-Golomb coding method, which results in excessive bit lengths that do not fit within processor registers and cause implementation issues.
Innovation Solution
The proposed solution introduces a max_suffix_length parameter equal to Log2TransformRange and a max_prefix_length parameter, limiting the worst-case length of the coeff_abs_level_remaining syntax element to 32 bits, allowing for efficient binarization that fits within a single processor instruction word by truncating unary representations and adjusting suffix and prefix lengths based on bit-depth and coding modes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If Golomb-Rice/Exponential-Golomb coding is used to code transform coefficients, then coding flexibility is improved, but the bit length becomes excessive and does not fit within processor registers
Solution Approach 1:
The transform coefficient coding is divided into two separate parts: a prefix code and a suffix code. The prefix code handles the most significant bits while the suffix code handles the remaining bits. This segmentation allows each part to be optimized independently, with the suffix length constrained to fit within processor registers (e.g., 32 bits), thereby resolving the contradiction between coding flexibility and bit length.
Solution Approach 2:
The most significant bits of the transform coefficient are extracted and coded separately as a prefix, while the remaining less significant bits are coded as a suffix using Golomb-Rice/Exponential-Golomb coding. By taking out the critical high-order bits separately, the suffix can be kept short enough to fit within processor registers while still maintaining overall coding flexibility.
2Measurement precision
If the bit length of coeff_abs_level_remaining syntax element is increased to accommodate larger transform coefficient values, then coding precision is improved, but implementation complexity increases due to exceeding processor register limits
Solution Approach 1:
The syntax element coding is segmented into prefix and suffix parts. The prefix contains the most significant bits that determine the primary magnitude, while the suffix contains the remaining bits. This segmentation allows the suffix to be kept within processor register limits (maintaining implementation simplicity) while the prefix provides the necessary precision for large transform coefficient values.
Solution Approach 2:
The coding structure transitions from a single-dimensional bit sequence to a two-dimensional structure with prefix and suffix components. This dimensional change allows the system to simultaneously achieve high precision (through the prefix) and hardware compatibility (through the constrained suffix), resolving the contradiction between precision and implementation complexity.
3Adaptability or versatility
If the maximum bit length for transform coefficients is reduced to fit within processor registers, then hardware compatibility is improved, but the ability to represent large coefficient values is reduced
Solution Approach 1:
The transform coefficient representation is segmented into prefix and suffix components. The suffix is constrained to a maximum length that fits within processor registers (e.g., 32 bits), ensuring hardware compatibility. The prefix is appended to extend the representable value range, allowing large coefficient values to be represented while maintaining register compatibility for the critical suffix portion.
Solution Approach 2:
The suffix (which must fit within processor registers) is nested within a larger coding structure that includes the prefix. The suffix contains the least significant bits that require fast processing, while the prefix contains the most significant bits that extend the value range. This nested structure allows the system to simultaneously achieve hardware compatibility and extended representable range.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A device for coding video data includes a memory configured to store video data, and at least one processor configured to: determine a maximum number of bits to be used when coding a syntax element indicating absolute values of transform coefficients of a coding unit of the video data, determine a maximum number of suffix bits to be used when coding a Golomb-Rice/Exponential-Golomb coding suffix codeword of the syntax element, determine a maximum number of prefix bits to be used when coding a unary Golomb-Rice/Exponential-Golomb coding prefix codeword of the syntax element, determine the absolute values of transform coefficients for the coding unit, code a prefix codeword for one of the absolute values, and code a suffix codeword for the one of the absolute values, and code the coding unit based on the prefix codeword and the suffix codeword.