Block-Based CABAC Encoding with Segment-Specific Contexts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current image coding standards, such as VP9, have limitations in coding efficiency and require improvements in encoding and decoding processes to optimize parameter settings for varying block types within an image.

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 to enhance coding efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional image coding standards (VP9) are used with uniform encoding parameters, then device complexity is reduced, but coding efficiency deteriorates

Engineering Contradiction:
Improvecoding efficiencyVSAvoidencoding complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The image is divided into multiple blocks, and each block is assigned segment identification information indicating its type (e.g., sky, grass, building). This segmentation allows different encoding parameters to be applied to different block types, improving coding efficiency by adapting to local image characteristics while maintaining manageable complexity through systematic classification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different encoding parameters are applied to different block types based on their characteristics. For example, probability information for CABAC is selected according to the segment type, allowing optimal parameter selection for each region (e.g., different probability models for sky regions versus building regions), thereby improving overall coding efficiency without uniformly increasing complexity across the entire image.

Inventive Principle:
Principle #3Local quality

2Productivity

If uniform probability information is used for all blocks in CABAC, then encoding complexity is reduced, but coding efficiency deteriorates

Engineering Contradiction:
Improvecoding efficiencyVSAvoidparameter management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the probability information parameter based on block type. Specifically, different probability tables or probability models are selected for CABAC encoding depending on the segment identification information of each block. This parameter adaptation improves coding efficiency by matching probability models to actual data distributions in different regions, while the complexity is managed through systematic parameter selection based on block classification.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If block-type-specific parameters are defined for each block, then coding efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvecoding efficiencyVSAvoidparameter definition complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent defines a limited set of parameter sets that can be universally applied to different block types. Instead of creating unique parameters for every possible block configuration, the system uses segment identification information to select from a predefined collection of probability information sets for CABAC. This universal approach allows the same parameter sets to serve multiple block types, improving coding efficiency through targeted parameter selection while avoiding the complexity of defining and managing numerous unique parameters.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10652544B2Encoder, decoder, encoding method, and decoding method
Publication Date: 2020.05.12 PANASONIC INTELLECTUAL PROPERTY CORP OF AMERICA
  • US10652544B2 patent drawing
  • US10652544B2 patent drawing
  • US10652544B2 patent drawing

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).