Metadata-Assisted Video Decoder Engine Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern GPUs are inefficient in handling videos encoded with Arbitrary Slice Order (ASO) and Flexible Macro-block Order (FMO) due to incorrectly set constraint flags in H.264/AVC encoders, leading to suboptimal decoding performance as they are treated as pure baseline profiles, which limits hardware-accelerated decoding.

Innovation Solution

A video decoder that utilizes metadata from the encoded video sequence to select the most efficient decoder engine, such as choosing between a CPU and a GPU based on metadata analysis, and dynamically removing emulation prevention bytes to skip start-code scanning, enabling hardware-accelerated decoding even for improperly flagged bitstreams.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a GPU is used for decoding, then decoding speed is improved, but compatibility with ASO and FMO encoded videos deteriorates

Engineering Contradiction:
Improvedecoding speedVSAvoidcompatibility with ASO and FMO
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The system dynamically switches between GPU and CPU decoding based on the video profile detected in the bitstream. When ASO or FMO is detected, the system transitions from GPU to CPU decoding to maintain compatibility while preserving decoding speed for compatible videos.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the decoding parameter (decoder engine selection) based on the constraint flag value in the bitstream. When the constraint flag indicates ASO or FMO, the system changes from GPU-based decoding to CPU-based decoding to ensure proper handling of these features.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If start-code scanning is performed, then decoding accuracy is improved, but processing time increases

Engineering Contradiction:
Improvedecoding accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of the constraint flag in the bitstream header to determine whether start-code scanning is necessary. This preliminary action allows the system to skip unnecessary scanning operations while maintaining decoding accuracy when needed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system extracts and analyzes the constraint flag information from the bitstream header separately from the main decoding process. This extraction allows the system to make informed decisions about start-code scanning without affecting the overall decoding workflow.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP2815574B1Metadata assisted video decoding
Publication Date: 2019.07.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2815574B1 patent drawingFigure 1
  • EP2815574B1 patent drawingFigure 2
  • EP2815574B1 patent drawingFigure 3

AI summary

A video decoder is disclosed that uses metadata in order to make optimization decisions. In one embodiment, metadata is used to choose which of multiple available decoder engines should receive a video sequence. In another embodiment, the optimization decisions can be based on length and location metadata information associated with a video sequence. Using such metadata information, a decoder engine can skip start-code scanning to make the decoding process more efficient. Also based on the choice of decoder engine, it can decide whether emulation prevention byte removal shall happen together with start code scanning or not.