Component Processing Library for GPU Image Acceleration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing GPU-accelerated image processing systems are complex to program and require multiple hardware-specific libraries, making it difficult to maintain and develop software that can run optimally on different hardware and system configurations, and they lack direct support for video processing needs.

Innovation Solution

A portable, platform-agnostic framework called Component Processing Library (CPL) that provides a standard interface for low-level library integration and execution across various hardware domains, allowing for efficient hosting and execution of GPU-based effects on multiple platforms and operating systems, with spatial, temporal, and functional image processing acceleration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hardware-specific low-level libraries are developed for each new technology, then processing performance on specific hardware is optimized, but software complexity increases and portability across different hardware platforms is reduced

Engineering Contradiction:
Improveprocessing performanceVSAvoidsoftware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (abstraction framework) between the application software and hardware-specific libraries. This framework provides unified interfaces that translate generic processing requests into hardware-specific operations, allowing high performance on specific hardware while maintaining software portability and reducing complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates universal abstraction layers that can work across multiple hardware platforms. The framework defines platform-independent data structures and interfaces that can interface with various hardware-specific libraries, enabling the same software to achieve optimized performance on different hardware configurations without requiring separate code versions.

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

2Productivity

If multiple hardware-specific libraries are used to support different platforms, then performance on each platform is optimized, but ease of operation and maintenance is reduced

Engineering Contradiction:
Improveperformance accelerationVSAvoidease of maintenance
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The framework acts as an intermediary that manages multiple hardware-specific libraries behind unified interfaces. Developers interact with the framework's standard interfaces rather than directly with multiple proprietary libraries, significantly easing operation and maintenance while still accessing optimized performance on each platform.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If software is tightly coupled to specific hardware types and models, then processing speed is maximized, but adaptability to new hardware and configurations is reduced

Engineering Contradiction:
Improveprocessing speedVSAvoidhardware adaptability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic adaptation mechanisms where the framework can automatically detect available hardware and configure optimized processing paths at runtime. This allows the software to maintain high processing speeds on known hardware while adapting to new hardware configurations without requiring tight coupling or recompilation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The framework provides universal interfaces that can work with various hardware types while maintaining optimized performance paths for specific hardware. The system can select appropriate processing strategies based on the target hardware, ensuring both speed and adaptability.

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

4Productivity

If multiple versions of code are created for different hardware configurations, then optimal performance on each configuration is achieved, but device complexity and development time increase

Engineering Contradiction:
Improveoptimal performanceVSAvoidcode complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The framework provides a single version of the code that interfaces with hardware-specific libraries through standardized intermediate layers. This eliminates the need for multiple code versions while maintaining optimal performance on each configuration, as the framework handles hardware-specific optimizations transparently.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2141651B1Framework to integrate and abstract processing of multiple hardware domains, data types and format
Publication Date: 2018.06.13 AVID TECHNOLOGY INC
  • EP2141651B1 patent drawingFigure 1
  • EP2141651B1 patent drawingFigure 2
  • EP2141651B1 patent drawingFigure 3

AI summary

A portable development and execution framework for processing media objects. The framework involves: accepting an instruction to perform a media processing function; accepting a media object to be associated with the media processing function; wrapping the media object with an attribute that specifies a type and format of the media object, and a hardware domain associated with the media object; and causing an execution domain to perform the media processing function on the media obj ect. The instruction to perform the media processing function is expressed in a form that is independent of the hardware domain associated with the media object, and may also be independent of the type and format of the media object. The media object may be an image, and the media processing function may include an image processing function performed on a GPU.