Block-Based CABAC Context Selection for Image Encoding Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current image coding standards, such as VP9, have limitations in coding efficiency and do not effectively optimize parameters for each block in an image, leading to increased code amounts and reduced image quality.
Innovation Solution
An encoder and decoder system that splits images into blocks, assigns segment identification information based on block types, and uses context-based adaptive binary arithmetic coding (CABAC) with predefined parameters for each segment type, optimizing probability information for improved encoding efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional image coding standards (VP9, HEVC) are used with uniform encoding parameters, then device complexity is reduced and ease of operation is maintained, but coding efficiency deteriorates and image quality decreases
Solution Approach 1:
The image is divided into multiple blocks, and each block is assigned segment identification information indicating its type (e.g., flat block, edge block, texture block). This segmentation allows different encoding parameters to be applied to different block types, improving coding efficiency by adapting to local image characteristics without requiring complex per-pixel analysis.
Solution Approach 2:
Different encoding parameters are applied to different block types based on their local characteristics. For example, flat blocks use simpler prediction modes while texture blocks use more complex modes. This local quality approach optimizes compression for each region's specific features, resolving the contradiction between efficiency and complexity by avoiding uniform complex processing across the entire image.
2Productivity
If uniform probability information is used for CABAC across all blocks, then device complexity is reduced, but coding efficiency deteriorates due to inability to adapt to block characteristics
Solution Approach 1:
The patent changes the probability information parameters used in CABAC based on block type. Each segment type has associated probability information that reflects its characteristics (e.g., probability of intra vs inter prediction, probability of different transform types). This parameter adaptation improves compression efficiency by matching probability models to actual block characteristics without requiring complex real-time parameter optimization.
Solution Approach 2:
Probability information is pre-configured for each segment type based on statistical analysis of typical block characteristics. This preliminary action allows the decoder to efficiently retrieve appropriate probability information based on segment ID without performing complex calculations, resolving the contradiction between adaptive compression and computational complexity.
3Productivity
If more parameters are defined for each block to improve adaptation to block characteristics, then coding efficiency improves, but the amount of data to be encoded increases
Solution Approach 1:
Segment identification information serves multiple functions: it identifies block type for prediction mode selection, determines probability information for CABAC, and guides transform parameter selection. This multi-functionality allows a single compact parameter (segment ID) to control multiple encoding aspects, improving efficiency without increasing code amount, as the same segment ID drives multiple adaptive decisions.
Solution Approach 2:
The patent merges the control of multiple encoding parameters under a single segment identification framework. Instead of separately signaling parameters for prediction mode, probability information, and transform types, all these parameters are controlled by the segment ID, reducing the total number of signals needed while maintaining adaptive encoding capabilities.
Data Source
AI summary
An encoder includes processing circuitry, a block memory, and a frame memory. The processing circuitry defines at least one parameter for each of plural types of segment_ids, splits an image into blocks, assigns, to each of the blocks, segment_id according to a type of the block, among the plural types of segment_ids, and sequentially encodes the blocks. In encoding the blocks, the processing circuitry identifies segment_id of a current block to be encoded, and encodes the current block using the at least one parameter defined for identified segment_id. The at least one parameter includes seg_context_idx for identifying probability information associated with context used in context-based adaptive binary arithmetic coding (CABAC).


