Dynamic Media Rendering Rate Adaptation via Processing Time Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Media content rendering on user devices can experience frame rate issues due to varying processing times for different types of dynamic data, leading to a suboptimal user experience when the processor is overloaded or underloaded.

Innovation Solution

A method that dynamically monitors processing times for video and scripting data, adjusts processing allocations, and applies hysteresis to maintain an acceptable frame rate by modifying the rendering effort, such as skipping frames or reducing rendering complexity, to ensure the media content is displayed at a target frame rate.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the processor devotes time to processing all dynamic data types equally, then processing completeness is improved, but frame rate drops below target causing choppy playback

Engineering Contradiction:
Improveprocessing completenessVSAvoidframe rate
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments dynamic data into multiple priority levels (first priority, second priority, etc.). The system processes high-priority data types first and only processes lower-priority data if time remains after meeting the target frame rate. This segmentation allows the system to maintain processing completeness for critical data while ensuring frame rate requirements are met.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically changes the processing parameter (amount of time devoted to each data type) based on real-time performance monitoring. When the target frame rate is not met, the system adjusts by reducing or skipping lower-priority data processing. This parameter adjustment resolves the contradiction by flexibly allocating processing time to maintain both frame rate and essential processing completeness.

Inventive Principle:
Principle #35Parameter changes

2Speed

If the processor skips lower priority data processing, then frame rate is maintained at target, but processing completeness deteriorates

Engineering Contradiction:
Improveframe rateVSAvoidprocessing completeness
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements dynamic processing where the system continuously monitors frame rate performance and adjusts processing behavior in real-time. The decision to skip or process lower-priority data is not static but dynamically determined based on whether the target frame rate is being met. This dynamic approach allows the system to maintain processing completeness when possible while ensuring frame rate requirements are satisfied.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent incorporates feedback mechanisms where the system monitors actual frame rate performance and uses this information to adjust processing allocations. The feedback loop ensures that skipping lower-priority data only occurs when necessary to maintain target frame rate, and processing completeness is restored when performance improves. This feedback-driven approach balances frame rate maintenance with processing completeness.

Inventive Principle:
Principle #23Feedback

3Reliability

If the system processes all data types without prioritization, then data integrity is maintained, but frame rate consistency deteriorates

Engineering Contradiction:
Improvedata integrityVSAvoidframe rate consistency
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The patent segments data processing into priority-based layers, maintaining data integrity by ensuring high-priority data is always processed while lower-priority data is conditionally processed. This segmentation structure preserves the integrity of critical data streams while allowing flexibility in processing less critical data to maintain consistent frame rates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes processing parameters dynamically based on system performance. When frame rate consistency is compromised, the system adjusts by modifying the amount of time devoted to lower-priority data types. This parameter change maintains data integrity for essential content while adjusting processing of optional content to achieve frame rate consistency.

Inventive Principle:
Principle #35Parameter changes

4Stability of the object's composition

If the system reduces processing effort for lower priority data, then frame rate stability is improved, but processing time allocation becomes uneven

Engineering Contradiction:
Improveframe rate stabilityVSAvoidprocessing time allocation
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent implements dynamic time allocation where the processing time devoted to each data type changes based on real-time performance needs. Rather than static allocation, the system continuously adjusts time distribution to maintain stable frame rates while ensuring essential data receives adequate processing time. This dynamic allocation improves frame rate stability while adapting productivity distribution to current system conditions.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8291460B1Rate adaptation based on dynamic performance monitoring
Publication Date: 2012.10.16 ADOBE INC
  • US8291460B1 patent drawing
  • US8291460B1 patent drawing
  • US8291460B1 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, can dynamically monitor the performance of media content rendering and adjust the rate as needed. This can involve obtaining media data, where a first type of dynamic data has a lower priority than a second type; identifying a target frame rate; monitoring a first amount of time used to process the first type of data and a second amount of time used to process the second type of data, including combining multiple first time measurements into the first amount of time and combining multiple second time measurements into the second amount of time; comparing a combination of the first amount of time and the second amount of time to the target frame rate; and modifying an allocation for processing the first type of dynamic data, if the combination fails to satisfy the target frame rate.