Context Modeling for Video Decoding Memory Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In image coding and decoding methods, particularly in High-Efficiency Video Coding (HEVC), the memory usage is high due to the reliance on context models that use neighboring blocks, leading to increased memory requirements and decreased precision in predicting probabilities.
Innovation Solution
The proposed method determines contexts for image decoding by selectively using neighboring blocks for certain signal types, such as 'split_coding_unit_flag' and 'skip_flag', while omitting the use of the upper block for 'no_residual_data_flag', thereby reducing memory usage and processing amounts without compromising image quality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If context models using neighboring blocks are used for all signal types, then prediction precision is improved, but memory usage increases
Solution Approach 1:
The patent applies different context modeling strategies to different signal types based on their local characteristics. For split_coding_unit_flag and skip_flag, the patent uses context models that reference both left and upper neighboring blocks to improve prediction precision. For no_residual_data_flag, the patent uses a context model that references only the left neighboring block, avoiding memory access to the upper block. This localized differentiation resolves the contradiction by optimizing prediction precision only where needed while reducing memory usage where it is not required.
2Manufacturing precision
If context models using neighboring blocks are used for all signal types, then coding accuracy is improved, but processing amount increases
Solution Approach 1:
The patent implements local quality by tailoring the context modeling approach to the specific requirements of each signal type. For split_coding_unit_flag and skip_flag, the patent employs comprehensive context modeling using both left and upper blocks to maintain high coding accuracy. For no_residual_data_flag, the patent uses a simplified context model referencing only the left block, thereby reducing processing amount. This selective approach resolves the contradiction between coding accuracy and processing amount by applying appropriate levels of complexity only where necessary.
3Measurement precision
If decoded control parameters of upper blocks are always used, then prediction accuracy is improved, but memory access complexity increases
Solution Approach 1:
The patent applies local quality by differentiating memory access requirements based on signal type. For split_coding_parameter and skip_parameter, the patent accesses both left and upper block parameters to improve prediction accuracy. For no_residual_parameter, the patent accesses only the left block parameter, simplifying memory access. This selective approach resolves the contradiction by optimizing prediction accuracy only for signal types that benefit from it while reducing memory access complexity overall.
Solution Approach 2:
The patent extracts and removes the unnecessary memory access to upper blocks for specific signal types (no_residual_data_flag). By identifying that upper block parameters are not needed for this particular signal type, the patent eliminates redundant memory access operations, thereby reducing memory access complexity while maintaining adequate prediction accuracy for this specific case.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
The image decoding method includes: determining a context for use in a current block, from among a plurality of contexts (S204); and performing arithmetic decoding on a bit sequence corresponding to the current block, using the determined context (S210), wherein in the determining (S204): the context is determined under a condition that control parameters of neighboring blocks of the current block are used, when the signal type is a first type, the neighboring blocks being a left block and an upper block of the current block (S206); and the context is determined under a condition that the control parameter of the upper block is not used, when the signal type is a second type (S207), and the second type is "no_residual_data_flag".