Intelligent Decoded Picture Buffering for Video Bandwidth Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional video decoders consume excessive bandwidth due to frequent referencing of decoded video portions, as all decoded portions are stored in a single memory, leading to inefficient bandwidth usage and increased power consumption.
Innovation Solution
A video data buffering system that uses a look-ahead parser to predict the value of decoded video portions, prioritizing frequently referenced frames in a fast internal memory and less frequently referenced frames in a slower external memory, allowing for intelligent allocation between two memory types based on predicted usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If all decoded video portions are stored in a single memory, then video decoding can proceed, but bandwidth consumption increases excessively due to frequent referencing
Solution Approach 1:
The patent divides the single memory into multiple memory banks (first memory bank, second memory bank, etc.) and distributes decoded video portions across these banks based on reference frequency. Frequently referenced portions are stored in one bank while less frequently referenced portions are stored in another bank, thereby reducing the bandwidth consumption when accessing frequently used data.
Solution Approach 2:
The patent applies different storage strategies to different video portions based on their local characteristics (reference frequency). High-reference-frequency portions are allocated to memory banks optimized for fast access, while low-reference-frequency portions are allocated to other banks, creating a non-uniform memory allocation that optimizes overall bandwidth usage.
2Use of energy by stationary object
If all decoded video portions are stored in a single memory, then video decoding can proceed, but power consumption increases due to excessive bandwidth usage
Solution Approach 1:
The patent segments the memory system into multiple banks and distributes video portions based on reference frequency. This segmentation reduces the total bandwidth required for memory operations, which directly lowers power consumption since memory power consumption is proportional to bandwidth usage.
Solution Approach 2:
The patent changes the storage location parameter for different video portions based on their reference frequency. By dynamically allocating portions to different memory banks according to their access patterns, the system optimizes the balance between power consumption and decoding performance.
3Loss of energy
If frequently referenced video portions are stored in internal memory, then bandwidth and power consumption are reduced, but memory allocation complexity increases
Solution Approach 1:
The patent performs preliminary analysis of reference frequency before storing decoded video portions in memory banks. The system predicts which portions will be frequently referenced and proactively allocates them to internal memory, rather than waiting for actual access patterns to emerge. This preliminary action simplifies subsequent memory management.
Solution Approach 2:
The patent uses a feedback mechanism where the system monitors actual reference patterns and adjusts memory allocation accordingly. The memory manager receives feedback about which video portions are being referenced and dynamically reallocates memory resources to optimize bandwidth and power consumption while maintaining manageable complexity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A system and method for intelligent decoded picture buffering is described. In one embodiment, a video bitstream buffer receives and temporarily holds an encoded compressed bitstream containing portions of a video. Then, a look ahead parser scans ahead in the video to analyze portions of the encoded video bitstream in the video bitstream buffer to predict the value of the video. Based on this prediction, an intelligent memory manager prioritizes the video portions, and then sends the high valued video portions to a first buffer and sends the low valued video portions to a second buffer.