Video Decoder Using Supplemental Bitstream Properties

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Video decoders often perform sub-optimally due to unnecessary resource allocation, underutilization of faster decoding resources, and time-consuming operations such as excessive searches for start codes, NALU offsets, picture boundaries, and access unit boundaries, leading to inefficiencies in memory usage, computational resources, and latency.

Innovation Solution

The implementation of supplemental information that identifies properties of the encoded bitstream, separate from the bitstream itself, is used to configure the decoder, overriding contradictory syntax elements and optimizing performance characteristics such as memory usage, computational efficiency, and latency by specifying properties like constrained baseline profiles, progressive display formats, and low-latency encoding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a decoder performs exhaustive searches for start codes, NALU offsets, picture boundaries, and access unit boundaries as specified by the video codec standard, then the decoder ensures conforming and reliable decoding results, but the decoding process experiences increased latency and reduced productivity

Engineering Contradiction:
Improvedecoding conformityVSAvoiddecoding speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by performing key operations during encoding that enable faster decoding. Specifically, the encoder pre-calculates and embeds information about access unit boundaries, picture boundaries, and NALU offsets directly in the bitstream. This allows the decoder to skip exhaustive searches and directly access critical synchronization points, significantly reducing decoding latency while maintaining conforming results.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary data structure called a bitstream XML file that acts as a mediator between the encoded video and the decoder. This XML file contains pre-parsed information about the bitstream structure, including access unit delimiters, picture boundaries, and timing information. The decoder uses this intermediary file to quickly locate critical points without performing time-consuming searches in the compressed bitstream, thus improving productivity while ensuring reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a decoder allocates dedicated memory resources for all possible decoding scenarios as specified by the codec standard, then the decoder ensures it can handle any conforming bitstream, but the memory usage increases unnecessarily for specific applications

Engineering Contradiction:
Improvedecoder compatibilityVSAvoidmemory usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by making memory allocation adaptive to the specific application and bitstream characteristics. Instead of uniformly allocating memory for all possible scenarios, the decoder uses information from the bitstream XML file to determine the actual memory requirements for the current video content. This allows the decoder to allocate memory locally and specifically where needed, reducing overall memory usage while maintaining the ability to handle conforming bitstreams.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic memory allocation based on the actual decoding requirements revealed through preliminary parsing. The decoder adjusts its memory usage dynamically according to the specific video content and application needs, rather than maintaining static maximum allocations. This dynamic approach ensures compatibility with various bitstream types while optimizing memory consumption for each specific case.

Inventive Principle:
Principle #15Dynamics

3Reliability

If a decoder implements all standard-compliant operations including needless searches and validations, then the decoder ensures robust handling of any bitstream variations, but the computational resources are wasted on operations that do not contribute to the specific decoding task

Engineering Contradiction:
Improvebitstream robustnessVSAvoidcomputational efficiency
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts and removes unnecessary computational operations from the decoding process by using pre-parsed information from the bitstream XML file. Instead of performing exhaustive searches and validations specified in the standard, the decoder extracts only the critical information already available in the XML file, such as access unit boundaries and picture timing. This eliminates redundant computational steps while maintaining robustness for handling conforming bitstreams.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies self-service by having the encoder perform preparatory work that serves the decoder's needs. The encoder generates the bitstream XML file with all necessary structural information during encoding, so the decoder does not need to perform time-consuming analyses. This self-service approach transfers computational burden to the encoding phase, allowing the decoding phase to operate more efficiently with pre-prepared information.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10129566B2Standard-guided video decoding performance enhancements
Publication Date: 2018.11.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10129566B2 patent drawing
  • US10129566B2 patent drawing
  • US10129566B2 patent drawing

AI summary

Disclosed herein are innovations in decoding compressed video media data. The disclosed innovations facilitate decoding operations with improved computational efficiency, faster speeds, reduced power, reduced memory usage, and/or reduced latency. In one embodiment, for example, an encoded bitstream of video media data is input from an external video content provider, the encoded bitstream being encoded according to a video codec standard. A decoder is then configured to decode the encoded bitstream based at least in part on supplemental information that identifies a property of the encoded bitstream but that is supplemental to the encoded bitstream (e.g., supplemental information that is not part of the encoded bitstream or its associated media container and that is specific (or related) to the application for which the bitstream is used and/or the standard by which the bitstream is encoded and/or encrypted).