Video Decoder Power Control via Functional Unit Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional video decoders consume excessive power as all functional units are always active, even when not needed for decoding certain portions of the video data, leading to inefficiency in both hardware and software implementations.
Innovation Solution
A resource control system that identifies and selectively enables or disables functional units based on the specific decoding requirements, using a resource controller to schedule power usage and loading of units only when necessary, thereby reducing power consumption and resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all functional units are always on in conventional decoders, then decoding operations can be performed without interruption, but power consumption increases excessively
Solution Approach 1:
The decoder dynamically adjusts the operational state of functional units based on real-time decoding needs. The resource controller continuously monitors which functional units are required for current decoding operations and selectively enables or disables them, transitioning the system from a static 'always on' state to a dynamic adaptive state that optimizes power consumption while maintaining decoding continuity.
Solution Approach 2:
The resource controller performs preliminary analysis of the coded video data to predict which functional units will be needed in advance. By scanning ahead in the bitstream and identifying upcoming decoding operations, the controller can proactively enable required functional units before they are needed and disable them afterward, ensuring no interruption in decoding while minimizing power consumption.
2Adaptability or versatility
If all functional units are instantiated in software decoders, then all decoding operations can be supported, but memory resources are wasted
Solution Approach 1:
The software decoder is segmented into separate functional unit modules that can be independently loaded and unloaded from memory. Instead of having all functional units permanently instantiated, the resource controller dynamically loads only the specific functional unit modules needed for the current decoding task into memory, and unloads them when no longer needed, thereby reducing memory allocation while maintaining full decoding adaptability.
Solution Approach 2:
The resource controller implements a universal memory management mechanism that allocates memory to functional units on-demand based on decoding requirements. This multi-functional approach allows the same memory resources to be dynamically assigned to different functional units as needed, rather than being permanently dedicated to each unit, thus reducing total memory allocation while preserving all decoding capabilities.
3Use of energy by moving object
If functional units are selectively enabled based on decoding needs, then power consumption is reduced, but system complexity increases
Solution Approach 1:
The resource controller implements a self-service mechanism where it automatically analyzes the coded video data bitstream, identifies which functional units are required for decoding, and independently manages their enable/disable states without external intervention. This self-managing approach reduces the need for complex external control logic and system integration complexity, making the selective enabling mechanism more manageable despite the added functionality.
Data Source
AI summary
A method and system are provided for decoding coded video data by turning off or not loading at least one functional unit or functional subunit of the decoder while decoding a portion of the coded video data. A schedule may be created prior to substantive decoding and then the schedule may be used to decode coded video data. The coded video data may be reordered based on the functional units or subunits the portions of the coded video data need for decoding. The portions of the coded video data are reordered into their original order in an output buffer after being decoded. The decoder may determine which functional units or subunits are needed for decoding based on administration information included with the coded video data. The decoder may decode portions of the coded video data in parallel.


