Dynamic Video Configurations Memory Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding systems experience delays and degraded quality when switching between different codec configurations during video coding sessions, as they require reconfiguration and memory reallocation, which can cause interruptions in video delivery.

Innovation Solution

The system negotiates multiple codec configurations and estimates the largest size of decoded picture buffers, allocating memory accordingly to avoid reallocations and interruptions, allowing seamless switching between configurations without disrupting video delivery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional reconfiguration and reset of video sequence is performed when switching codec configurations, then coding parameters can be revised to meet changing video characteristics, but this causes long delay and degraded quality at the switchover point

Engineering Contradiction:
Improvecoding parameter revision capabilityVSAvoidswitching delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-negotiating multiple codec configurations and pre-allocating memory buffers for all possible configurations before switching occurs. This allows the decoder to immediately switch between configurations without reconfiguration delays, as all necessary resources are already prepared and allocated.

Inventive Principle:
Principle #10Preliminary action

2Speed

If multiple video encoder/decoder instances are created to handle different configurations, then switching speed among configurations is improved, but memory consumption increases significantly

Engineering Contradiction:
Improveconfiguration switching speedVSAvoidmemory consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system implements a universal buffer that can serve multiple codec configurations simultaneously. Instead of creating separate decoder instances for each configuration, a single decoder with a multi-configurable buffer can handle different resolutions, profiles, and other parameters by reconfiguring the same buffer resources, thereby reducing overall memory consumption while maintaining fast switching capability.

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

Solution Approach 2:

The patent merges multiple configuration-specific buffers into a single unified buffer structure that can be dynamically allocated to different configurations as needed. This consolidation eliminates redundant memory allocations across multiple decoder instances while preserving the ability to switch between configurations rapidly.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If codec configuration changes are implemented during video coding sessions, then encoding can better meet changing video characteristics, but interruptions in video delivery occur

Engineering Contradiction:
Improvereal-time configuration adaptationVSAvoidvideo delivery continuity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary negotiation and memory allocation for multiple codec configurations before actual switching occurs. This pre-preparation ensures that when configuration changes are needed during video delivery, the decoder can immediately switch to the pre-configured settings without interruptions, maintaining continuous video playback.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11025933B2Dynamic video configurations
Publication Date: 2021.06.01 APPLE INC
  • US11025933B2 patent drawing
  • US11025933B2 patent drawing
  • US11025933B2 patent drawing

AI summary

Techniques are disclosed for managing memory allocations when coding video data according to multiple codec configurations. According to these techniques, devices may negotiate parameters of a coding session that include parameters of a plurality of different codec configurations that may be used during the coding session. A device may estimate sizes of decoded picture buffers for each of the negotiated codec configurations and allocate in its memory a portion of memory sized according to a largest size of the estimated decoded picture buffers. Thereafter, the devices may exchange coded video data. The exchange may involve decoding coded data of reference pictures and storing the decoded reference pictures in the allocated memory. During the coding session, the devices may toggle among the different negotiated codec configurations. As they do, reallocations of memory may be avoided.