Video Frame Flip Manager for Synchronized Playback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Video playback applications lack precision in synchronizing video frame rates with display frame rates due to the absence of display timing data like VBLANK or VSYNC information, leading to video jitter, tearing, and inefficient CPU resource usage.

Innovation Solution

Implementing a video frame flip manager responsive to interrupt signals based on VSYNC or VBLANK information to control video flip timing, allowing flip calls to be issued at a constant rate and enabling processing to continue without waiting for video data processing to complete, thereby reducing CPU resource usage and improving video quality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the application controls video playback timing without display timing data, then the application has flexibility in issuing flip calls, but video frame rate synchronization with display frame rate becomes imprecise

Engineering Contradiction:
Improveapplication discretion in flip call timingVSAvoidvideo frame rate synchronization precision
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent introduces a driver as an intermediary between the application and the display timing system. The driver receives display timing data (VBLANK/VSYNC) from the display device and uses this information to precisely time flip calls, while the application maintains its flexibility in requesting video playback. This intermediary resolves the contradiction by translating application flexibility into precise synchronization through access to display timing information.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the application waits for video information to be processed and displayed before proceeding with another flip call, then video frame synchronization is maintained, but CPU processing resources are wasted

Engineering Contradiction:
Improvevideo frame synchronizationVSAvoidCPU processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements preliminary action by having the driver pre-process display timing information and maintain a queue of appropriately timed flip calls. This allows the application to issue flip calls without waiting for video processing to complete, as the driver has already prepared the timing information in advance. The contradiction is resolved by shifting the timing preparation work to the driver in advance, freeing the CPU while maintaining synchronization reliability.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If flip calls are issued without precise timing information, then processing continues without waiting, but video frames are dropped repeatedly and video quality deteriorates

Engineering Contradiction:
Improveprocessing continuityVSAvoidvideo frame display precision
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent implements feedback by using display timing data (VBLANK/VSYNC) from the display device to inform when flip calls should be issued. The driver monitors display timing and provides feedback about optimal flip timing, allowing the system to maintain both processing continuity and frame display precision. This feedback loop resolves the contradiction by using real-time display timing information to guide flip call timing.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7786998B2Methods and apparatus for controlling video playback
Publication Date: 2010.08.31 ATI TECHNOLOGIES ULC
  • US7786998B2 patent drawing
  • US7786998B2 patent drawing
  • US7786998B2 patent drawing

AI summary

The present disclosure discusses methods and apparatus for controlling the video playback in a video playback system. In particular, a method for controlling video playback includes receiving a flip call to display video data from a flip queue buffer. Processing of the video data is then initiated. Flip acknowledgement information is issued in response to receiving the flip call information and prior to completion of the processing of video data to be displayed from the flip queue buffer. By issuing flip acknowledgement information regardless of whether the processing of the video data has been completed, video flip calls can continue to be issued at a constant rate and other processing can continue without waiting, thus resulting in better and smoother video playback and economizing processing resources. Additionally, a decision whether or not to drop a particular video frame is made based on whether a flip queue buffer from a predetermined number of flip queue buffers is available. The disclosed apparatus includes a flip manager, such as under the control of a driver, that controls the timing of video frame flips, rather than an application controlling the timing.