Video Decoder Supplemental Information Override
Find Innovative SolutionsGenerate 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, and picture boundaries, leading to inefficiencies in memory usage, computational resources, and latency.
Innovation Solution
The implementation of supplemental information that overrides contradictory syntax elements in the encoded bitstream, allowing decoders to configure performance characteristics based on application-specific or standard-specific properties, such as constrained baseline profiles or low-latency encoding, to optimize decoding operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a decoder performs exhaustive searches for start codes, NALU offsets, and picture boundaries to ensure complete compliance with video codec standards, then decoding reliability is improved, but decoding speed and latency deteriorate
Solution Approach 1:
The patent applies preliminary action by performing syntax element validation and bitstream property verification during the encoding phase or bitstream preparation phase, before the actual decoding process begins. This pre-validation ensures that the decoder can operate with reduced search operations and fewer compliance checks during decoding, thereby improving speed without sacrificing reliability.
Solution Approach 2:
The patent introduces an intermediary validation layer that sits between the raw bitstream and the decoder. This intermediary component performs preliminary checks on syntax elements and bitstream properties, filtering out compliance issues before they reach the main decoding pipeline. This mediator approach allows the decoder to operate faster while maintaining reliability through the intermediary's validation functions.
2Reliability
If a decoder allocates dedicated memory resources for all possible video profiles and scenarios to ensure complete standard compliance, then decoding reliability is improved, but memory usage increases
Solution Approach 1:
The patent applies local quality by allocating memory resources dynamically based on the actual video profile and scenario being decoded, rather than pre-allocating for all possible cases. The decoder validates the bitstream properties first, then allocates memory resources locally and specifically for the identified video profile, ensuring compliance while optimizing memory usage for each local decoding context.
Solution Approach 2:
The patent changes the parameter of memory allocation from a static, maximum-capacity allocation to a dynamic allocation based on validated bitstream properties. By validating syntax elements and profile information first, the system can adjust memory parameters to match the actual decoding requirements, reducing memory usage while maintaining reliability for the specific video scenario.
3Reliability
If a decoder performs all standard-compliant operations including needless searches and validations to ensure complete standard compliance, then decoding reliability is improved, but computational resource consumption and latency increase
Solution Approach 1:
The patent extracts and removes needless computational operations from the decoding pipeline by validating bitstream properties and syntax elements beforehand. Operations such as redundant start code searches and unnecessary syntax validations are extracted and eliminated from the main decoding flow, reducing computational power consumption while maintaining reliability through the preliminary validation stage.
Solution Approach 2:
The patent applies preliminary action by performing syntax element validation and bitstream property verification before the main decoding process. This preliminary validation identifies and flags compliance issues early, allowing the decoder to skip needless computational operations during the actual decoding, thereby reducing energy consumption while ensuring reliability through the upfront validation.
4Adaptability or versatility
If a decoder uses general-purpose software decoding to ensure complete standard compliance and handle all video profiles, then adaptability is improved, but decoding speed and resource utilization deteriorate
Solution Approach 1:
The patent applies dynamics by making the decoder adaptive and configurable based on validated bitstream properties. Rather than using a static general-purpose software decoder, the system dynamically selects and configures decoding resources and parameters based on the actual video profile identified through syntax element validation. This dynamic approach maintains adaptability across profiles while optimizing decoding speed for each specific scenario.
Solution Approach 2:
The patent changes the operational parameters of the decoder based on validated bitstream properties and syntax elements. By validating the video profile and encoding parameters first, the system can adjust decoder parameters such as hardware acceleration settings, memory allocation, and processing modes to match the specific video scenario, achieving both adaptability and high decoding speed.
Data Source
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).


