Multi-threaded Streaming Data Decoding with Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video decoding technologies face challenges in optimizing parallel processing for multi-processor platforms with more than two processor cores due to high computational intensity and memory bandwidth requirements, particularly with advanced standards like H.264/AVC, which demands efficient data dependency management and parallelization to maintain performance.

Innovation Solution

The approach involves breaking down streaming data into suitable sections and tasks that can be executed in parallel across multiple processors, utilizing data dependency frequencies to balance processing loads, and employing buffering to reduce data exchange frequency, while also considering hardware limitations and latency to optimize section sizes and task partitioning.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If video decoding is implemented on multi-processor platforms with more than two processor cores, then memory bandwidth and computing performance are improved, but optimizing parallel video decoding becomes difficult due to process complexity

Engineering Contradiction:
Improvedecoding throughputVSAvoidparallelization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The video picture is divided into multiple slices, and each slice is further divided into multiple macroblock groups. This hierarchical segmentation enables independent parallel processing of different regions while maintaining data dependency constraints, allowing efficient utilization of multi-processor cores without overwhelming system complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a two-dimensional parallel processing structure where multiple threads process multiple slices simultaneously, with each thread handling multiple macroblock groups. This dimensional expansion of parallelism allows the system to scale across multiple processor cores while maintaining manageable task complexity through structured data flow

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

2Speed

If data exchange frequency between processors is increased, then processing speed is improved, but memory bandwidth requirements and system complexity increase

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory bandwidth consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

Reference picture data and slice header information are pre-loaded into local buffers before decoding operations begin. This preliminary action reduces the frequency of data exchanges during the actual decoding process, allowing processors to work with locally cached data and minimizing memory bandwidth consumption while maintaining high processing speed

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8213518B1Multi-threaded streaming data decoding
Publication Date: 2012.07.03 SONY INTERACTIVE ENTERTAINMENT LLC
  • US8213518B1 patent drawing
  • US8213518B1 patent drawing
  • US8213518B1 patent drawing

AI summary

Streaming data may be decoded by dividing a process for decoding the streaming data into two or more tasks based on data dependencies between the two or more tasks. The two or more tasks may be executed in parallel on three or more processors in a way that balances a processing load of executing the two or more tasks among the three or more processors.