Pixel Buffer Object Queue for Video Frame Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Mobile devices face inefficiencies in rendering video frames due to the high processing demands required for real-time video output, which can lead to wasted CPU cycles and reduced processing efficiency.

Innovation Solution

A method and apparatus for processing video frames that involves creating a pixel buffer object, reading pixel data from a frame buffer, storing it in a queue, and managing frame cache objects to optimize data processing and reduce CPU cycles, allowing for efficient caching and asynchronous processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If pixel data is processed synchronously through CPU frame buffer, then data accuracy is maintained, but processing speed decreases and CPU cycles are wasted

Engineering Contradiction:
Improvevideo frame processing speedVSAvoidCPU cycle waste
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

A pixel buffer object queue is introduced as an intermediary data structure between the CPU frame buffer and GPU processing. The queue stores pixel buffer objects that contain video frame data, allowing the CPU to write data asynchronously while the GPU processes frames independently, eliminating synchronous waiting and reducing CPU cycle waste.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates pixel buffer objects that copy video frame data from the CPU frame buffer into a queue structure. This copying mechanism allows the original CPU data to be preserved while creating independent copies that can be processed by the GPU without blocking CPU operations, thereby improving processing throughput.

Inventive Principle:
Principle #26Copying

2Speed

If video frames are processed in real-time, then output responsiveness is improved, but processing complexity increases

Engineering Contradiction:
Improvereal-time output speedVSAvoidrendering processing complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The rendering process is segmented into distinct stages: CPU writes video frame data to pixel buffer objects, stores them in a queue, and GPU independently processes frames by reading from the queue. This segmentation allows parallel processing of different video frames simultaneously, achieving real-time output while managing complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The pixel buffer object queue enables continuous processing by maintaining an uninterrupted flow of video frame data from CPU to GPU. While the GPU processes one frame, the CPU can simultaneously prepare the next frame's pixel buffer object, ensuring continuous useful action without idle waiting periods that would complicate timing synchronization.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11195248B2Method and apparatus for processing pixel data of a video frame
Publication Date: 2021.12.07 BEIJING BAIDU NETCOM SCI & TECH CO LTD
  • US11195248B2 patent drawing
  • US11195248B2 patent drawing
  • US11195248B2 patent drawing

AI summary

Embodiments of the present disclosure disclose a method and apparatus for processing a video frame. A specific embodiment of the method includes: receiving a video frame set; selecting a video frame from the video frame set, and performing following processing: creating a pixel buffer object newly; reading pixel data of the selected video frame from a frame buffer corresponding to a central processing unit, and writing the read pixel data into the newly created pixel buffer object; storing the written pixel buffer object into a pixel buffer object queue; determining whether an unselected video frame is present in the video frame set; and storing the video frame set in response to determining no unselected video frame being present in the video frame set.