Collocated Macroblock Computation for Direct Mode Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video decoding and encoding techniques face challenges with computational complexity, particularly in decoding high-quality, high-bit rate video, and recent standards like H.264 and VC-1 require significant memory resources and processing power, leading to performance bottlenecks.

Innovation Solution

The implementation of a video decoder that utilizes multithreading, layered data structures, and task dependency graphs to optimize decoding processes, including direct mode macroblock computation, collocated macroblock information retrieval, and remapping of reference picture indices, along with GPU acceleration for inverse transforms and filtering, to enhance decoding speed and reduce complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of substance

If inter-picture compression techniques with motion estimation and motion compensation are used, then bit rate reduction is achieved, but computational complexity and processing time increase

Engineering Contradiction:
Improvebit rateVSAvoidcomputational complexity
Core Design Contradiction:
Loss of substanceVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-computing collocated macroblock information from reference pictures before it is needed for direct mode macroblock decoding. The decoder identifies direct mode macroblocks and proactively retrieves and stores collocated macroblock motion vectors and reference picture indices in advance, so that when motion compensation is needed, the data is already prepared and available, reducing real-time computational burden.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the decoding process by separating direct mode macroblock processing from other macroblock types. It implements specific identification logic for direct mode macroblocks and creates dedicated processing paths that retrieve collocated macroblock information from reference picture lists, allowing optimized handling of this specific case rather than applying general motion estimation to all macroblocks.

Inventive Principle:
Principle #1Segmentation

2Manufacturing precision

If H.264 and VC-1 standards are implemented, then video quality is improved, but memory resources and processing power requirements increase

Engineering Contradiction:
Improvevideo qualityVSAvoidmemory resources
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The patent extracts and utilizes collocated macroblock information directly from reference pictures that are already stored in memory for other decoding purposes. Instead of storing additional redundant data structures, it retrieves motion vectors and reference picture indices from existing reference picture lists, taking advantage of data that must already be present in memory for inter-picture compression to work.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent makes reference pictures serve multiple functions: they are stored in memory for standard motion compensation operations, and simultaneously serve as sources for collocated macroblock information for direct mode macroblocks. This multi-functionality eliminates the need for separate dedicated storage for direct mode data, as the same reference picture memory serves both purposes.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If real-time decoding is enabled under processing constraints, then decoding speed increases, but computational complexity must be reduced

Engineering Contradiction:
Improvedecoding speedVSAvoidcomputational complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-identifying direct mode macroblocks and pre-retrieving their collocated macroblock information from reference pictures before the actual decoding process. This advance preparation ensures that when direct mode macroblocks need to be decoded in real-time, the necessary motion vector and reference picture index data is already available, eliminating computationally intensive lookups during critical decoding paths.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The decoder serves itself by automatically identifying direct mode macroblocks and independently retrieving their collocated macroblock information from reference picture lists without requiring external control or complex coordination with other decoding processes. The system self-manages the retrieval and storage of necessary data, reducing overhead and simplifying the control logic.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8254455B2Computing collocated macroblock information for direct mode macroblocks
Publication Date: 2012.08.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8254455B2 patent drawing
  • US8254455B2 patent drawing
  • US8254455B2 patent drawing

AI summary

Video decoding innovations for multithreading implementations and graphics processor unit (“GPU”) implementations are described. For example, for multithreaded decoding, a decoder uses innovations in the areas of layered data structures, picture extent discovery, a picture command queue, and/or task scheduling for multithreading. Or, for a GPU implementation, a decoder uses innovations in the areas of inverse transforms, inverse quantization, fractional interpolation, intra prediction using waves, loop filtering using waves, memory usage and/or performance-adaptive loop filtering. Innovations are also described in the areas of error handling and recovery, determination of neighbor availability for operations such as context modeling and intra prediction, CABAC decoding, computation of collocated information for direct mode macroblocks in B slices, reduction of memory consumption, implementation of trick play modes, and picture dropping for quality adjustment.