Multi-level Nested Set Representation for Transform Coefficient Encoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current video encoding techniques face inefficiencies due to varying run counts and correlation between run counts and level values, leading to increased complexity and decreased coding efficiency, especially when using zigzag scan order which separates neighboring coefficients, resulting in interrupted sequences of non-zero values.
Innovation Solution
The proposed solution involves selecting a scan order and using a multi-level nested set representation to group non-zero frequency coefficients together, allowing for improved entropy encoding by representing coefficients in a summary form and recursively splitting sets to encode only non-zero values, thereby enhancing compression efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If zigzag scan order is used to reorder transform coefficients, then non-zero values are grouped towards the beginning of the encoded string, but neighboring coefficient positions are separated resulting in interrupted sequences of non-zero values
Solution Approach 1:
The patent segments the transform coefficient block into multiple scan directions (e.g., horizontal, vertical, diagonal) and selectively applies different scan orders to different regions or sets of coefficients. This allows non-zero neighboring coefficients to remain adjacent in the encoded string while still achieving run-length compression benefits.
Solution Approach 2:
The patent dynamically selects scan orders based on the actual distribution of non-zero coefficients in the transform block. Instead of using a fixed zigzag scan order, the encoder adapts the scan path to follow regions with non-zero coefficients, maintaining sequence continuity while improving coding efficiency.
2Productivity
If run level coding is used to encode transform coefficients, then compression is achieved by encoding run counts and level values, but the complexity increases due to large alphabet sizes for run count-level combinations
Solution Approach 1:
The patent introduces a new dimension to the encoding process by using multiple scan orders and nested set representations. This transforms the problem from encoding individual coefficient values to encoding spatial patterns and regions, reducing the alphabet size needed for run-level coding while maintaining compression efficiency.
Solution Approach 2:
The patent applies nested set representations where transform coefficients are organized into hierarchical groups or sets. This nesting structure allows the encoder to represent large regions of zero coefficients at higher levels while only encoding non-zero values at deeper nesting levels, reducing the overall complexity of run-level coding.
3Device complexity
If the same code values are used for run-level combinations regardless of AC coefficient distribution, then encoding is simplified, but coding efficiency decreases when long runs of zero values are common in higher frequency coefficients
Solution Approach 1:
The patent changes the parameters used for encoding by adapting the scan order and code value assignments based on the frequency and distribution characteristics of the transform coefficients. Higher frequency AC coefficients use different encoding parameters optimized for their tendency to have longer zero runs, while lower frequency coefficients use parameters optimized for their non-zero density.
Solution Approach 2:
The patent applies different encoding strategies to different regions of the transform coefficient block. Instead of using a uniform encoding approach, the encoder applies local optimizations where the scan order and code values are tailored to the specific characteristics of each region or frequency band, improving overall coding efficiency.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
Techniques and tools for encoding and decoding a block of frequency coefficients are presented. An encoder selects a scan order from multiple available scan orders and then applies the selected scan order to a two-dimensional matrix of transform coefficients, grouping non-zero values of the frequency coefficients together in a one-dimensional string. The encoder entropy encodes the one-dimensional string of coefficient values according to a multi-level nested set representation. In decoding, a decoder entropy decodes the one-dimensional string of coefficient values from the multi-level nested set representation. The decoder selects the scan order from among multiple available scan orders and then reorders the coefficients back into a two-dimensional matrix using the selected scan order.