Image Decoding Apparatus Multi-Stage Parallel Processing Tile Block Line

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current image encoding and decoding technologies, such as HEVC, face challenges in achieving high-speed processing for large images due to limitations in parallelism and efficiency, particularly when dividing images into small tiles or block lines, which reduces encoding efficiency and requires significant memory resources.

Innovation Solution

An image decoding apparatus and method that derive tile and block line data division information from encoded data to enable multi-stage parallel processing, allowing for high-speed encoding and decoding by decoding rectangular tiles and block lines independently, thereby enhancing parallelism and reducing memory requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If images are divided into small tiles to enhance parallelism, then processing speed is improved, but encoding efficiency is reduced due to limited prediction information at tile boundaries

Engineering Contradiction:
Improveprocessing speedVSAvoidprediction information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent divides the image into multiple tiles and further segments each tile into multiple block lines, enabling multi-stage parallel processing. This segmentation allows independent processing of smaller units while maintaining the ability to reconstruct the complete image, thus improving processing speed without completely sacrificing encoding efficiency through proper boundary handling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different processing strategies to different regions: intra-tile prediction is used within tiles to maintain encoding efficiency, while inter-tile prediction is used at boundaries to compensate for limited prediction information. This local quality adjustment ensures that each region is processed optimally according to its specific characteristics.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If images are divided into tiles for parallel processing, then memory capacity requirements are reduced, but processing complexity increases due to multiple decoding units and coordination

Engineering Contradiction:
Improvememory capacityVSAvoidprocessing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

By segmenting the decoding process into multiple independent decoding units, each handling specific tiles or block lines, the patent reduces the memory capacity required by each individual unit. The segmentation allows distributed processing where each unit only needs to hold and process its assigned portion of the data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by organizing decoding units in a two-dimensional array structure that processes tiles and block lines simultaneously. This dimensional expansion allows the system to distribute work across multiple processing units in a structured manner, managing complexity through spatial organization rather than sequential coordination.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If Wavefront parallel processing is used on large images divided into block lines, then parallelism is enhanced, but a large-capacity line buffer is required

Engineering Contradiction:
ImproveparallelismVSAvoidline buffer capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent segments the image processing into tiles, which are further divided into block lines. This multi-level segmentation allows parallel processing of block lines within each tile while using smaller, tile-specific line buffers rather than a single large buffer for the entire image. Each decoding unit manages only its local buffer, reducing overall memory requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimensional block line processing approach to a two-dimensional tile-block line structure. This dimensional change enables parallel processing across multiple tiles simultaneously, each with its own manageable buffer, thereby achieving high parallelism without requiring a single large-capacity buffer.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

4Ease of operation

If a single tile is used for exclusive processing, then processing control is simplified, but parallelism is reduced and processing time increases

Engineering Contradiction:
Improveprocessing controlVSAvoidprocessing time
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the image into multiple independent tiles that can be processed in parallel. Each tile maintains its own decoding unit and probability table, allowing simple independent control of each segment while enabling simultaneous processing across multiple segments, thus reducing total processing time without complicating individual tile control.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal decoding framework that can handle both single-tile and multi-tile scenarios using the same basic structure. The decoding units are designed to be self-contained and can function independently or in parallel, providing ease of operation whether processing one tile or multiple tiles, while automatically achieving parallelism when multiple tiles are present.

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

Data Source

PatentEP3291555B1Image decoding apparatus, method of image decoding, and recording medium
Publication Date: 2024.08.28 CANON KK
  • EP3291555B1 patent drawingFigure 1
  • EP3291555B1 patent drawingFigure 2
  • EP3291555B1 patent drawingFigure 3

AI summary

Encoded data is decoded based on tile data division information, tile data position information, block line data division information, and block line data position information. The tile data division information indicates whether the encoded data is composed of tile data items that serve as encoded data items of tiles. The tile data position information indicates positions of the tile data items. The block line data division information indicates whether each tile data item is composed of first block line data and second block line data. The first block line data serves as encoded data of a first block line that is a set of blocks arranged linearly. The second block line data serves as encoded data of a second block line next to the first block line. The block line data position information indicates a position of the second block line data.