Transform Block Scan Order Selection for Video Coding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video compression techniques require processing non-zero coefficients across multiple superblocks to select an optimal scan order for transform blocks, which is computationally burdensome and inefficient, especially when all non-zero coefficients in neighbor superblocks need to be processed for a current superblock.
Innovation Solution
A method for transform block-level selection of scan order, where cost values are determined for candidate scan orders based on the number of zero-value coefficients before the end of block position, allowing for the selection of the most efficient scan order for encoding or decoding, which reduces computational resources and memory usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If scan order selection is performed at the superblock level by processing all non-zero coefficients in neighbor superblocks, then the optimal scan order can be determined, but computational complexity and processing time increase significantly
Solution Approach 1:
The patent divides the superblock into multiple transform blocks and performs scan order selection at the transform block level independently. This segmentation allows each transform block to be processed separately, reducing the computational burden compared to processing all non-zero coefficients across the entire superblock while still achieving optimal scan order selection for each block.
Solution Approach 2:
The patent applies different scan order selection methods to different transform blocks within a superblock based on their specific characteristics. Each transform block is analyzed independently to determine its optimal scan order, allowing localized optimization without requiring global processing of all neighbor superblock coefficients.
2Reliability
If all non-zero coefficients in neighbor superblocks are processed for scan order selection, then comprehensive information is available, but memory usage and processing time increase
Solution Approach 1:
By segmenting the superblock into transform blocks and processing each independently, the patent reduces the amount of data that needs to be stored and processed in memory at any given time, thereby reducing memory usage and processing time while maintaining reliable scan order selection for each block.
Solution Approach 2:
The patent performs scan order selection only for transform blocks that have non-zero coefficients, rather than processing all transform blocks in the superblock. This partial action approach reduces processing time and memory requirements while still ensuring that all necessary blocks are processed for optimal scan order determination.
3Productivity
If transform block-level scan order selection is implemented, then computational resources are reduced, but the complexity of managing multiple candidate scan orders increases
Solution Approach 1:
The patent pre-determines a set of candidate scan orders for each transform block based on the characteristics of non-zero coefficients. By preparing these candidate lists in advance, the patent simplifies the subsequent selection process and reduces the complexity of managing multiple scan order options during encoding/decoding operations.
Solution Approach 2:
The patent uses the transform block's own characteristics (distribution and position of non-zero coefficients) to automatically determine the optimal scan order without requiring external processing or complex management systems. Each transform block essentially selects its own optimal scan order based on its intrinsic properties.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A scan order for encoding or decoding coefficients of a transform block is selected on a transform block-level. A set of candidate scan orders is processed by identifying end of block positions within the transform block for candidate scan orders. Cost values are determined for each of the candidate scan orders to reflect a number of the coefficients of the transform block that are located before the respective end of block positions. In particular, a cost value for a candidate scan order reflects the number of zero-value coefficients located before the end of block position for that candidate scan order. One of the candidate scan orders is then selected based on those cost values. The selected scan order is used to scan the coefficients in the transform block, such as for encoding those coefficients to a bitstream or for decoding those coefficients to an output video stream.