Virtual Decoded Picture Buffer for Scalable Video Direct Prediction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current scalable video coding (SVC) specifications fail to correctly maintain reference picture lists for lower layers during single-loop decoding, leading to incorrect decoding when direct prediction modes are used, as they rely on the target layer's reference picture list, potentially using wrong motion information.
Innovation Solution
A virtual decoded picture buffer is created for each lower layer to store virtual decoded pictures for motion prediction, generating a reference picture list that is used instead of the target layer's list during temporal or spatial direct mode prediction, ensuring accurate decoding.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single Decoded Picture Buffer (DPB) is maintained for the target layer only, then decoding complexity is reduced and memory usage is minimized, but correct decoding of lower layer macroblocks using direct prediction modes fails due to incorrect reference picture selection
Solution Approach 1:
The patent segments the reference picture buffer into layer-specific virtual DPBs, where each lower layer maintains its own virtual decoded picture buffer and reference picture list. This segmentation allows each layer to independently manage its reference pictures, ensuring that direct prediction modes in lower layers reference the correct pictures rather than sharing the target layer's buffer, thereby resolving the decoding correctness issue while keeping each individual buffer manageable in size.
Solution Approach 2:
The patent creates virtual copies of decoded lower layer pictures in a virtual decoded picture buffer, which stores motion information and reference picture data without fully decoding sample values. These virtual copies enable correct reference picture selection for direct prediction modes in lower layers, providing the necessary reliability without the full complexity of maintaining complete decoded pictures for all layers.
2Loss of time
If the target layer's reference picture list is used for base layer motion prediction, then reference picture list construction overhead is reduced, but wrong motion information may be used when the base layer and target layer have different reference picture lists
Solution Approach 1:
The patent performs preliminary construction of layer-specific reference picture lists by maintaining virtual decoded picture buffers for each lower layer. These virtual buffers pre-establish the correct reference picture lists before decoding operations begin, so that when direct prediction modes are used, the correct reference pictures are already available without requiring time-consuming list construction during decoding, thus preventing loss of motion information accuracy.
3Reliability
If virtual decoded picture buffers are maintained for each lower layer, then correct reference picture lists are available for direct prediction modes, but memory usage and buffer management complexity increase
Solution Approach 1:
The patent extracts only the essential motion information and reference picture metadata from fully decoded lower layer pictures, storing them in virtual decoded picture buffers without maintaining complete decoded sample values. This extraction approach provides the necessary reference picture lists for correct direct prediction mode operation while significantly reducing memory usage compared to maintaining full decoded pictures for all layers.
Data Source
AI summary
An improved system and method for implementing efficient decoding of scalable video bitstreams is provided. A virtual decoded picture buffer is provided for each lower layer of the scalable video bitstream. The virtual decoded picture buffer stores decoded lower layer pictures for reference. The decoded lower layer pictures used for reference are compiled to create a reference picture list for each layer. The reference picture list generated by the virtual decoded picture buffer is used during a direct prediction process instead of a target reference list to correctly decode a current macroblock.


