Video Decoder In-Loop Controller Defers Block Decoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional video decoding techniques experience stalls and increased idle time due to the sequential dependency of block decoding on deblocking operations, leading to reduced frame rates and increased power consumption.
Innovation Solution
A decoder that defers the decoding of blocks with dependencies on reference frames undergoing deblocking, allowing for concurrent decoding of independent blocks and partial decoding of deferred blocks, reducing stalls and idle time by utilizing an in-loop controller and deblocking filter to manage the decoding process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the decoder waits for reference blocks to be deblocked before decoding dependent blocks, then decoding accuracy is maintained, but decoding speed and frame rate deteriorate due to stalls
Solution Approach 1:
The decoder performs preliminary deblocking operations on reference frames in advance before they are needed for decoding dependent blocks. This allows the deblocking filter to complete its work on reference blocks beforehand, so that when dependent blocks need to be decoded, the reference data is already prepared and available, eliminating stalls while maintaining accuracy
Solution Approach 2:
The decoding process is segmented into independent and dependent block groups. Independent blocks that do not depend on reference frame deblocking are decoded in parallel with the deblocking process, while dependent blocks are decoded after their reference blocks are ready. This segmentation allows concurrent processing of independent blocks without waiting for reference deblocking, improving overall decoding speed
2Reliability
If the decoder processes blocks sequentially in dependency order, then decoding correctness is ensured, but decoder idle time increases
Solution Approach 1:
The decoder dynamically adjusts its processing schedule based on the availability of deblocked reference blocks. Instead of following a fixed sequential order, the decoder can switch between processing independent blocks immediately and waiting for dependent blocks, optimizing the use of available data and reducing idle time while maintaining correct decoding of all blocks
Solution Approach 2:
The decoder maintains continuous useful action by processing independent blocks concurrently with the deblocking of reference frames. This eliminates idle periods where the decoder would otherwise wait for reference deblocking to complete, ensuring that the decoding pipeline remains continuously productive without compromising the correctness of dependent block decoding
3Reliability
If the decoder stalls to wait for reference deblocking, then data dependency requirements are met, but power consumption increases due to idle circuitry
Solution Approach 1:
By performing deblocking operations on reference frames in advance before they are needed for dependent block decoding, the system ensures that data dependency requirements are satisfied when needed. This preliminary processing allows the decoder to avoid stalls and keeps the decoding circuitry actively productive, reducing idle power consumption
Solution Approach 2:
Segmenting the decoding workflow into independent and dependent block groups enables the decoder to process independent blocks without stalling, keeping the decoding circuitry actively engaged. This reduces the duration of idle states and associated power consumption while still meeting data dependency requirements for dependent blocks when their reference data becomes available
4Manufacturing precision
If the decoder processes entire frames sequentially through deblocking, then filtering quality is maintained, but frame rate decreases
Solution Approach 1:
The frame processing is segmented into independent block regions and dependent block regions. Independent blocks are processed in parallel with the deblocking operation, maintaining filtering quality for those regions without delaying overall frame completion. This segmentation allows the frame rate to increase by reducing the critical path duration while still applying quality deblocking filtering where required
Solution Approach 2:
The deblocking filter is applied preliminarily to reference frames before they are needed for dependent block decoding. This ensures that filtering quality is maintained for reference blocks while allowing independent blocks to be decoded concurrently, improving frame rate by eliminating sequential bottlenecks without sacrificing the quality of deblocking filtering
Data Source
AI summary
A video coding apparatus, a decoder and a method for deferring the decoding of blocks of pixel data not yet ready for decoding during which other blocks of pixel data can be decoded nearly immediately. By deferring decoding and allowing the decoder to continue to successive blocks, the decoder can reduce stalls in the decoding process, which in turn, can decrease idle time in the decoder as well as power consumption that otherwise occurs during such idle time. In one embodiment, an exemplary method decodes a bit stream representing video images. The method includes deblocking blocks of a first frame as first frame blocks, determining a block of a second frame depends on a reference block of the blocks, and deferring decoding of the block. In at least one embodiment, the method can include decoding other blocks of the second frame at least partially concurrent with deferring decoding of the block.


