Video Image Decoding Device Group-Based Buffer Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional video image encoding technologies face challenges in minimizing codec delay while maintaining image quality, as buffer size reduction leads to decreased freedom in allocating encoding amounts, resulting in frame skip and delayed display due to buffer underflow and overflow issues.
Innovation Solution
A video image encoding device that divides pictures into groups, determines group configuration, adds group information to the output stream, calculates decode and display times, and controls encoding amounts to ensure data arrival at the receiving buffer by the calculated display time, preventing buffer underflow and optimizing codec delay.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If the buffer size is reduced to minimize codec delay, then the codec delay is reduced, but the freedom in allocating encoding amounts decreases, causing buffer underflow and frame skip
Solution Approach 1:
The picture is divided into multiple groups of blocks, with each group assigned a specific decode time. This segmentation allows independent control of encoding amounts for different groups, enabling precise management of data arrival times at the receiving buffer without requiring large buffer sizes, thus reducing codec delay while preventing buffer underflow.
Solution Approach 2:
The encoding amount for each group is controlled in advance based on predetermined decode times. By calculating and setting the encoding amounts before encoding, the system ensures that data arrives at the receiving buffer exactly when needed, preventing both underflow and overflow while minimizing buffer requirements and codec delay.
2Manufacturing precision
If the encoding amount is increased to improve image quality, then the image quality is improved, but the receiving buffer overflows due to excessive data accumulation
Solution Approach 1:
By segmenting the picture into multiple groups with different decode times, the system can allocate encoding amounts differently for each group. This allows high encoding amounts for important groups without causing overall buffer overflow, as data is consumed at different rates based on its decode time, thus maintaining image quality while preventing buffer overflow.
Solution Approach 2:
The system dynamically adjusts the encoding amount for each group based on its decode time and the buffer state. This dynamic control allows the encoding amount to vary adaptively, ensuring that the receiving buffer maintains an appropriate data level without overflow or underflow, while still allowing high encoding amounts when needed for image quality.
3Reliability
If the buffer size is increased to prevent underflow and overflow, then buffer reliability is improved, but the codec delay increases due to larger buffer delay
Solution Approach 1:
By preliminarily determining the encoding amounts for each group based on predetermined decode times, the system ensures that the receiving buffer receives exactly the right amount of data at the right time. This eliminates the need for large buffers to handle variations in encoding amounts, allowing small buffers that minimize delay while maintaining operational stability.
Solution Approach 2:
The system changes the parameter of decode time for different groups, allowing data to be consumed from the buffer at different rates. This parameter change enables the use of smaller buffers, as the staggered decode times smooth out data consumption patterns, reducing buffer delay while preventing underflow and overflow.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A video image decoding device comprises a group information extraction unit configured to extract group information expressing a group from an input stream, the input stream indicating encoded data of a plurality of blocks obtained by dividing each picture included in video image data and including delay information and group output delay information; a decode time calculation unit configured to calculate decode time information for each of the groups by referring to the delay information; an output time calculation unit configured to calculate an output time for each of the groups by referring to the group output delay information; a block decode unit configured to receive the input stream, perform decoding on the input stream, and output decoded blocks; a frame memory configured to save the decoded blocks; a group output unit configured to output the decoded blocks included in each of the groups saved in the frame memory; and a display control unit configured to control display of each of the groups, wherein the block decode unit confirms whether all data used for decoding has arrived at the decode time of one of the groups, and the display control unit controls the group output unit to display another decoded block saved in the frame memory instead of the decoded blocks included in the one of the groups, when all data used for decoding has not arrived at the decode time of the one of the groups.