Parallel Decoding Apparatus Slice Division Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing image encoding and decoding technologies face challenges in reducing processing delay, particularly due to unclear slice divisions and division sizes at the start of the input stream, and difficulties in parallelizing arithmetic decoding processing in units of encoding block lines, which limits the degree of parallelization and increases decoding processing time.

Innovation Solution

A decoding apparatus and method that utilize multiple arithmetic and image decoding units to process slices in parallel, with specific conditions for slice division and code amount control, allowing for efficient arithmetic and image decoding processing by ensuring consistent processing times and minimizing reference dependencies between encoding block lines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If parallelization processing is performed in units of slices, then processing speed is improved, but the degree of parallelization is limited when the image is not divided into multiple slices

Engineering Contradiction:
Improveprocessing speedVSAvoiddegree of parallelization
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent divides the image into multiple slices and further divides each slice into multiple encoding block lines, creating a hierarchical segmentation structure. This allows the decoding apparatus to process different slices and encoding block lines in parallel using multiple arithmetic decoding units and image decoding units, thereby increasing the degree of parallelization while maintaining adaptability to different slicing configurations.

Inventive Principle:
Principle #1Segmentation

2Productivity

If WPP mode is used for parallelization in units of encoding block lines, then processing efficiency is improved, but reference range limitations reduce adaptability to different encoding scenarios

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidreference range flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent dynamically determines the reference range for motion vectors based on the current encoding block line position and slice structure. Instead of using fixed reference range limitations as in traditional WPP mode, the system adaptively adjusts the reference range to accommodate different encoding scenarios while still enabling parallel processing of encoding block lines through careful management of decoding dependencies.

Inventive Principle:
Principle #15Dynamics

3Reliability

If strict sequential processing is followed to ensure decoding accuracy, then reliability is improved, but processing delay increases

Engineering Contradiction:
Improvedecoding accuracyVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary arithmetic decoding of multiple slices and encoding block lines in parallel before final image decoding. By pre-processing the arithmetic decoding stage for multiple units simultaneously and managing the data flow to subsequent image decoding units, the system reduces overall processing delay while maintaining decoding accuracy through proper synchronization and dependency management.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11909954B2Decoding apparatus, encoding apparatus, decoding method, encoding method, and program
Publication Date: 2024.02.20 NIPPON TELEGRAPH & TELEPHONE CORP
  • US11909954B2 patent drawing
  • US11909954B2 patent drawing
  • US11909954B2 patent drawing

AI summary

In a decoding apparatus configured to perform decoding processing in parallel using N arithmetic decoding units and M image decoding units on a plurality of slices, each slice being composed of at least one encoding block line, the N arithmetic decoding units start arithmetic decoding processing in sequence at time intervals corresponding to slice sizes on a stream that satisfies a condition that a difference between a total number of encoding block lines included in any N consecutive slices and a total number of encoding block lines included in N consecutive slices different from the any N consecutive slices is 1 or less, and a condition that a code amount of each slice is less than a predetermined upper limit code amount.