Parallel Parsing Video Decoder Architecture
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Productivity
If dedicated hardware components are used for each decoder component, then decoding performance is improved, but power consumption increases
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.
3Productivity
If parallel slice decoding is implemented, then decoding performance is improved, but encoder constraints are imposed
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.
Data Source
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.


