Selective Deblocking Filter Skipping for Video Decoding Complexity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
H.264 video decoding on mobile devices with limited CPU resources faces challenges in smoothly playing high complexity and high bitrate videos due to high decoding complexity, especially with 'main' and 'high' profiles, where software decoders struggle to perform as well as hardware solutions, and non-conformant decoders risk introducing video artefacts.
Innovation Solution
A method is introduced to reduce decoding complexity by selectively applying deblocking filters at block-boundaries within a frame, prioritizing more serious artefacts and focusing on the luminance component, which allows for graceful degradation in video quality, thereby reducing processing power requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If deblocking filter is applied at all block-boundaries in H.264 decoding, then video quality is maintained, but decoding complexity and processing time increase significantly
Solution Approach 1:
The patent divides the frame into different block-boundary regions and applies deblocking filtering selectively: full deblocking at macroblock boundaries, reduced deblocking at internal block boundaries, and selective skipping at less critical boundaries. This segmentation approach maintains quality at critical boundaries while reducing complexity at less critical ones.
Solution Approach 2:
The patent applies different deblocking filtering strengths to different regions of the frame based on their importance. Macroblock boundaries receive full filtering strength, while internal block boundaries receive reduced or selective filtering. This local quality approach ensures that the most visually important boundaries are preserved while reducing overall processing load.
2Object-affected harmful factors
If deblocking filter is applied at all block-boundaries, then blocking artefacts are reduced, but decoding time increases by approximately 20-30%
Solution Approach 1:
The patent applies partial deblocking action by selectively skipping the deblocking filter at certain block-boundaries where blocking artefacts are less perceptible. Instead of applying full deblocking everywhere, it applies reduced deblocking only where necessary, achieving acceptable artefact reduction with significantly lower processing time.
Solution Approach 2:
The patent extracts and removes the deblocking filtering operation from non-critical block-boundaries. By identifying and excluding certain boundaries from full deblocking treatment, the patent eliminates unnecessary processing steps while maintaining acceptable video quality.
3Productivity
If non-conformant deblocking is implemented to reduce complexity, then decoding speed improves, but video artefacts may be introduced
Solution Approach 1:
The patent implements dynamic deblocking decision-making based on local image characteristics. The decoder adaptively determines whether to apply deblocking at each block-boundary based on factors such as block type, motion activity, and gradient magnitude. This dynamic approach ensures that deblocking is applied only where necessary, maintaining quality while improving speed.
Solution Approach 2:
The patent uses feedback from local image analysis to control deblocking application. By examining gradient magnitudes, block types, and motion information, the decoder determines the appropriate deblocking strength or skipping decision for each boundary, ensuring quality is maintained where needed while reducing processing elsewhere.
Data Source
Figure 1~2
Figure 3~4
AI summary
A method and apparatus for decoding a video comprising a plurality of frames. Each frame was encoded in a plurality of blocks of pixels, using a predictive algorithm with deblocking inside the prediction loop. A first deblocking filter was applied by the encoder at boundaries between adjacent blocks, and the output of the deblocking filter was used to provide a reference frame for the predictive algorithm. The decoding comprises: reconstructing a frame of the video, to produce a reconstructed frame; applying a second deblocking filter at some block-boundaries in the reconstructed frame; and skipping deblocking-filtering at other block-boundaries in the reconstructed frame, even though deblocking was applied at those block-boundaries by the encoder.