Parallel Parsing Video Decoder Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video decoding technologies face challenges in handling high bitstream rates without relying on expensive and power-hungry dedicated hardware, and they often impose constraints on the encoder's output.

Innovation Solution

A video decoder architecture with two independent parsing units that parse frame header information and allocate macroblock information to each unit, allowing for parallel processing and maintaining parsing state information independently, thereby increasing bitstream handling capacity without the need for costly hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dedicated hardware components are used for each decoder component, then decoding performance is improved, but device cost and power consumption increase

Engineering Contradiction:
Improvedecoding performanceVSAvoiddevice cost
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The video decoder is segmented into multiple independent parsing units (first parsing unit and second parsing unit), each capable of independently parsing the bitstream. This segmentation allows parallel processing of different frames or macroblocks, improving decoding performance without requiring fully dedicated hardware for each component. The parsing units share common resources such as the entropy decoding unit and memory, reducing overall device complexity and cost.

Inventive Principle:
Principle #1Segmentation

2Productivity

If dedicated hardware components are used for each decoder component, then decoding performance is improved, but power consumption increases

Engineering Contradiction:
Improvedecoding performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

Multiple parsing units are merged into a single decoder architecture, sharing common functional blocks such as the entropy decoding unit, memory structures, and control logic. This merging allows parallel processing capability (improving performance) while avoiding the power consumption penalty of completely separate hardware implementations. The shared resources are activated selectively based on which parsing unit needs them, optimizing power usage.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If parallel slice decoding is implemented, then decoding performance is improved, but encoder constraints are imposed

Engineering Contradiction:
Improvedecoding performanceVSAvoidencoder flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The parallel parsing architecture is implemented dynamically at the decoder side without imposing static constraints on the encoder. The decoder can adaptively allocate frames to different parsing units based on available resources and workload, while the encoder maintains full flexibility in choosing slice formats and coding parameters. The parallel processing capability is activated only when beneficial, allowing the system to adapt to varying bitstream characteristics without requiring encoder modifications.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10652563B2Parallel parsing in a video decoder
Publication Date: 2020.05.12 ARM LTD
  • US10652563B2 patent drawing
  • US10652563B2 patent drawing
  • US10652563B2 patent drawing

AI summary

A video decoder configured to decode an encoded video bitstream comprises a first parsing unit and a second parsing unit, each configured to independently parse the encoded video bitstream to derive parsing state information therefrom on which subsequent parsing of the encoded video bitstream at least partially depends and to identify macroblock information for decoding. The encoded video bitstream comprises frame header information defining a sequence of frames and each frame is composed of macroblocks represented by macroblock information. A control unit of the video encoder allocates each frame of macroblock information to one of the two parsing units to parse. The two parsing units are both configured to parse frame header information to thereby each derive parsing state information for the encoded video bitstream, and the two parsing unit are each configured to parse macroblock information allocated to them, skipping macroblock information allocated to the other parsing unit.