Unified Frame Buffer Manager for Platform-Independent Video Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video decoding technologies are platform-specific, requiring significant rewriting of decoders to support different platforms, and inefficient in memory management, especially when dealing with compressed video frames that require long-term retention of reference frames.

Innovation Solution

A unified frame buffer management system is introduced, allowing for efficient memory allocation and recycling of frame buffers, decoupling platform-specific elements from the core decoder, and utilizing a frame buffer manager to allocate and manage buffers, enabling consistent video playback across different platforms without re-creating the decoder.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a platform-specific decoder is used, then the decoder can be optimized for a specific platform, but it requires significant rewriting to support different platforms

Engineering Contradiction:
Improvedecoder development efficiencyVSAvoidplatform compatibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The decoder is divided into two distinct parts: a platform-independent core decoder that handles the actual decoding logic, and a platform-specific adapter layer that handles platform-specific operations such as memory management and display. This segmentation allows the core decoder to remain unchanged across platforms while the adapter layer is customized for each platform.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A frame buffer manager is introduced as an intermediary component between the core decoder and the display system. This manager handles platform-specific memory allocation and frame buffer management, allowing the core decoder to operate uniformly across different platforms without direct knowledge of platform-specific details.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If reference frames are retained for long-term use, then video compression schemes like H.264 can be supported, but memory management becomes inefficient

Engineering Contradiction:
Improvevideo compression scheme supportVSAvoidmemory usage efficiency
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The frame buffer manager implements a reference frame management system that tracks which frames are currently needed for decoding and which can be discarded. When memory pressure occurs or frames are no longer needed for reference, the system recovers and releases the memory occupied by those frames, maintaining an efficient balance between supporting long-term reference frames and managing memory resources.

Inventive Principle:
Principle #34Discarding and recovering

3Quantity of substance

If frame buffers are allocated dynamically, then memory can be efficiently utilized, but memory management complexity increases

Engineering Contradiction:
Improvememory utilization efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The frame buffer manager implements self-service mechanisms including automatic frame buffer allocation, usage tracking, and recycling. The system automatically monitors frame buffer usage by different components (decoder, display, reference memory) and performs allocation and deallocation operations without requiring complex external management, reducing the overall system complexity while maintaining efficient memory utilization.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8477852B2Uniform video decoding and display
Publication Date: 2013.07.02 NVIDIA CORP
  • US8477852B2 patent drawing
  • US8477852B2 patent drawing
  • US8477852B2 patent drawing

AI summary

Described herein are embodiments for decoding and displaying video data. Several of these embodiments utilize a unified frame buffer management system, to facilitate better memory management in decoding and displaying compressed video. One approach describes a method of decoding and displaying compressed video data. The method involves receiving a compressed video frame, and allocating a frame buffer for use in decoding the compressed video frame. A frame identifier is assigned to the allocated frame buffer. The compressed video frame is decoded into the frame buffer, and the frame identifier is passed to a display module.