Speculative Video Decoding Engines for Mobile Power Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Video processing in mobile devices faces challenges due to high computational and memory bandwidth requirements, particularly with increasing video resolutions, which can lead to significant power consumption and performance issues in real-time video decoding.
Innovation Solution
An integrated circuit with multiple speculative video decoding engines performing parallel sample-determination calculations and a multiplexing unit selects the appropriate result to generate a sample value for the current pixel, based on inter-pixel gradients, allowing for efficient video decoding with reduced memory bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If higher clock frequencies are used to improve video decoding performance, then decoding speed increases, but power consumption increases
Solution Approach 1:
The patent performs speculative sample-determination calculations in advance for multiple possible inter-pixel gradient values before the actual gradient value is known. This allows the decoding engine to prepare multiple potential pixel values ahead of time, so when the actual gradient is determined, the correct pre-calculated value can be immediately selected without requiring additional computational operations at high clock frequencies, thus reducing power consumption while maintaining decoding speed.
Solution Approach 2:
The patent dynamically adapts the decoding process by using a multiplexing unit to select from pre-calculated speculative results based on the actual inter-pixel gradient value. This dynamic selection mechanism allows the system to maintain high performance without continuously operating all speculative calculation paths at high frequency, thereby reducing overall power consumption while preserving decoding speed when needed.
2Productivity
If multiple speculative sample-determination calculations are performed in parallel, then decoding performance improves, but device complexity increases
Solution Approach 1:
The patent divides the sample-determination calculation into multiple independent speculative calculation paths, each handling a specific quantized inter-pixel gradient value. By segmenting the calculation process into parallel independent units, the system achieves high throughput without requiring complex inter-dependencies between calculation paths, thus managing device complexity while improving productivity.
Solution Approach 2:
The patent changes the approach from sequential calculation to parallel speculative calculation by introducing multiple possible parameter values (quantized inter-pixel gradient values) to be processed simultaneously. This parameter transformation enables parallel processing and improves throughput, while the use of a multiplexing unit to select results keeps the overall architecture manageable and not excessively complex.
3Device complexity
If conventional video decoding methods are used, then implementation is simpler, but memory bandwidth requirements are high
Solution Approach 1:
The patent performs speculative sample-determination calculations in advance using available partial pixel data and quantized gradient values, so that when the actual pixel data becomes available, the results are already prepared. This preliminary calculation approach reduces the need for large amounts of data to be fetched from memory during the actual decoding process, thereby reducing memory bandwidth requirements while keeping implementation complexity manageable through systematic calculation organization.
Data Source
AI summary
In some embodiments, a lossless 2D video decoder includes multiple parallel speculative decoding engines, each performing a sample-determination calculation according to one of several possible context values for the current pixel to be decoded. The actual context depends on a quantized value of a local inter-pixel gradient, which may become available only when an immediately-neighboring pixel has been decoded. A multiplexer selects one of the decoding engine outputs when the immediately-neighboring pixel has been decoded and the actual context becomes available. A sample (e.g. luma and/or chroma) value for the current pixel may be determined according to: a baseline prediction generated by applying a median filter to immediately-neighboring pixels; a context-dependent adjustment dependent on local context statistics; and a delta (difference) value read from a video bitstream. Determining multiple context-dependent adjustments in parallel before the actual context is determined allows decoding one pixel per clock cycle.


