Graph API Complex Node Expansion for Portable Vision Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graph-based programming interfaces for computer vision applications are cumbersome and inefficient, requiring significant overhead in integrating diverse programming models into image processing pipelines.

Innovation Solution

A graph application programming interface (API) that allows software developers to add complex nodes representing multiple operations, which are expanded into individual nodes by a graph compiler at compile time, reducing overhead and simplifying the integration of different programming models into an image processing pipeline.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If existing graph-based APIs are used to integrate diverse programming models, then functional portability across hardware platforms is achieved, but development complexity and overhead increase significantly

Engineering Contradiction:
Improvefunctional portabilityVSAvoiddevelopment complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments complex nodes into multiple simpler nodes, each representing a single operation. This segmentation allows the graph compiler to process and compile each node independently, reducing the complexity of integrating diverse programming models while maintaining functional portability across hardware platforms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a graph compiler as an intermediary between the high-level graph API and the hardware execution layer. The compiler automatically expands complex nodes, manages the integration of diverse programming models, and generates hardware-specific code, thereby reducing development complexity while preserving adaptability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If complex nodes are expanded into multiple individual nodes, then compilation and execution efficiency improve, but the number of compilation steps increases

Engineering Contradiction:
Improvecompilation efficiencyVSAvoidcompilation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-defining complex nodes with their corresponding operation sets during the API design phase. When a complex node is encountered during compilation, the compiler retrieves the pre-defined expansion pattern and applies it automatically, significantly improving compilation efficiency while minimizing the time required to process complex nodes.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If a unified graph API is used to simplify development, then ease of operation improves, but the ability to handle diverse programming models decreases

Engineering Contradiction:
Improveease of developmentVSAvoidsupport for diverse programming models
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent implements a unified graph API that is universal in design, capable of accepting nodes from multiple programming models (OpenVX, TensorFlow, PyTorch, etc.) through a common interface. The graph compiler then translates these universal nodes into hardware-specific operations, maintaining ease of development while preserving the ability to handle diverse programming models.

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

Data Source

PatentUS12530732B2Enhanced computer vision application programming interface
Publication Date: 2026.01.20 MEDIATEK INC
  • US12530732B2 patent drawing
  • US12530732B2 patent drawing
  • US12530732B2 patent drawing

AI summary

An image processing system includes one or more processors operative to receive a graph application programming interface (API) call to add a complex node to a graph. The graph includes at least the complex node connected to other nodes by edges that are directed and acyclic. The one or more processors are further operative to process, by a graph compiler at compile time, the complex node by iteratively expanding the complex node into multiple nodes with each node corresponding to one operation in an image processing pipeline. The system further includes one or more target devices to execute executable code compiled from each node to perform operations of the image processing pipeline. The system further includes memory to store the graph compiler and the executable code.