Multi-Bitstream Video Decoding With Sync-Based Parallel Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video processing systems face delays in encoding and decoding video frames, which reduce bitrate throughput due to the processing requirements of encoding and decoding bitstreams.
Innovation Solution
The use of multiple bitstream engines for encoding and decoding video frames, where one bitstream engine generates synchronization information upon completing a portion of a video frame, allowing the second engine to initiate processing of the next portion based on this information, enabling concurrent processing and reducing processing delays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single bitstream engine is used for decoding video frames, then device complexity is reduced, but processing time increases and bitrate throughput decreases
Solution Approach 1:
The patent divides video frame processing into multiple segments (portions) that can be decoded concurrently by multiple bitstream engines. Each engine handles a specific portion of video frames, allowing parallel processing and increasing overall throughput without requiring a single engine to process entire frames sequentially
Solution Approach 2:
The patent introduces a new dimension of parallelism by using multiple bitstream engines operating simultaneously on different portions of video frames. This transitions from single-threaded sequential processing to multi-threaded parallel processing, effectively adding a dimensional layer to the processing architecture
2Loss of time
If video frames are processed sequentially by a single bitstream engine, then synchronization is simplified, but processing delays increase
Solution Approach 1:
The patent implements a feedback mechanism where bitstream engines generate synchronization information based on their decoding progress. This synchronization information is fed back to coordinate the processing of subsequent video frame portions, ensuring proper timing and dependency management while enabling concurrent processing
Solution Approach 2:
The patent performs preliminary actions by generating synchronization information in advance during the decoding of current video frame portions. This allows subsequent decoding operations to be initiated at the appropriate time without waiting for complete sequential processing, reducing overall processing delays
Data Source
AI summary
A device includes a first bitstream engine and a second bitstream engine. The first bitstream engine is configured to decode a first portion of a first video frame of a plurality of video frames to generate first decoded portion data. The first bitstream engine is also configured to generate synchronization information based on completion of decoding the first portion. The second bitstream engine is configured to, based on the synchronization information, initiate decoding of a second portion of a particular video frame to generate second decoded portion data. The second bitstream engine uses the first decoded portion data during decoding of the second portion of the particular video frame. The particular video frame includes the first video frame or a second video frame of the plurality of video frames.


