Adaptive Frame Deblocking in Parallel Video Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

H.264 video decoding requires a two-pass approach, which increases data bus bandwidth, memory requirements, and computing time due to sequential basic decoding and deblocking operations, especially when flexible macroblock ordering and arbitrary slice ordering are used, leading to delayed deblocking and increased resource utilization.

Innovation Solution

A decoder with two deblockers that classify frames as in-order or out-of-order and reference or non-reference, allowing for on-the-spot deblocking, reducing the need for storing decoded data and enabling parallel processing, thus adapting deblocking based on real-time input data to optimize frame decoding and deblocking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a two-pass approach is used for decoding and deblocking, then deblocking can be performed on all frames, but processing time and computing time increase

Engineering Contradiction:
Improvedeblocking completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the single deblocking operation into two separate deblocking stages: a first deblocker that processes frames where all neighboring macroblocks are available, and a second deblocker that handles frames with missing neighbors. This segmentation allows the system to process most frames in real-time without waiting for delayed slices, reducing overall processing time while maintaining deblocking quality for all frames.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first deblocker performs preliminary deblocking on frames that have all necessary neighboring macroblocks available at decode time. This preliminary action completes the deblocking for the majority of frames immediately, avoiding the need to wait for delayed slices and reducing the burden on the second pass.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a two-pass approach is used for decoding and deblocking, then deblocking can be performed on all frames, but memory requirements increase

Engineering Contradiction:
Improvedeblocking completenessVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

By segmenting the deblocking operation into two paths, the system only needs to store decoded macroblocks in memory for the second pass when they are actually needed for deblocking. Frames processed by the first deblocker do not require long-term storage, reducing overall memory requirements compared to storing all decoded data for a complete second pass.

Inventive Principle:
Principle #1Segmentation

3Reliability

If a two-pass approach is used for decoding and deblocking, then deblocking can be performed on all frames, but data bus bandwidth requirements increase

Engineering Contradiction:
Improvedeblocking completenessVSAvoiddata bus traffic
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the data flow into two separate paths: one for frames that can be deblocked immediately and another for frames requiring delayed processing. This segmentation reduces data bus traffic by avoiding redundant transfers of frames that are processed in the first pass, while still ensuring all frames receive deblocking treatment.

Inventive Principle:
Principle #1Segmentation

4Reliability

If deblocking is delayed until all slices are received, then accurate deblocking can be performed, but processing speed decreases

Engineering Contradiction:
Improvedeblocking accuracyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments frames into two categories: those with all neighboring macroblocks available (processed immediately by first deblocker) and those with missing neighbors (processed later by second deblocker). This segmentation enables real-time processing for most frames while maintaining the option to perform accurate deblocking on frames with delayed slices.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The first deblocker performs preliminary deblocking on frames that have all necessary information available, achieving both speed and acceptable quality for the majority of frames. This preliminary action reduces the number of frames requiring delayed processing, improving overall processing speed while maintaining deblocking accuracy for frames that need it.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8861586B2Adaptive deblocking in a decoding pipeline
Publication Date: 2014.10.14 NVIDIA CORP
  • US8861586B2 patent drawing
  • US8861586B2 patent drawing
  • US8861586B2 patent drawing

AI summary

A decoder can include a first stage operable for decoding (prior to deblocking) an encoded frame, and second stage coupled downstream of the first stage. The second stage includes a first deblocker and a second deblocker that can be used to deblock decoded frames in parallel. Each decoded frame can be classified as a type of frame and is sent to one of the deblockers depending on its classification.