IP Library Granted Patent US 12,530,732
Granted Patent B2
US 12,530,732 · App. 18/178,059 · Granted Jan 20, 2026

Enhanced computer vision application programming interface

Inventors: Yu-Chieh Lin (Hsinchu, TW); Hungchun Liu (Hsinchu, TW); Po-Yuan Jeng (Hsinchu, TW); Yungchih Chiu (Hsinchu, TW); Chia-Yu Chang (Hsinchu, TW); Cheng-Hsun Hsieh (Hsinchu, TW); Lei Chen (Hsinchu, TW); Li-Ming Chen (Hsinchu, TW); Taichi Wang (Hsinchu, TW)
Assignee: MediaTek Inc.
G06T1/20G06F8/36G06T1/00G06T7/00G06T11/206G06T2207/20072
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,530,732
App. No.
18/178,059
Granted
Jan 20, 2026
Kind
B2
Abstract

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.

Claims (29)

1 . A method for image processing, comprising:

receiving a graph application programming interface (API) call that specifies a complex node representing a multi-layered neural network model used in an image processing pipeline;

adding the complex node to a graph that contains other nodes representing computer vision operations, wherein the graph is directed and acyclic;

attaching a buffer to the complex node to store code and parameters of the complex node;

generating, by a graph compiler processing contents of the buffer at compile time, a sequence of nodes from the complex node to add to the graph, each node in the sequence corresponding to one operation layer of the neural network model; and

executing executable code compiled from each node in the graph on one or more target devices to perform computer vision operations and neural network operations in the image processing pipeline.

2 . The method of claim 1 , further comprising:

adding to the graph another complex node that represents a subgraph of nodes corresponding to a plurality of computer vision operations.

3 . The method of claim 1 , further comprising:

adding to the graph another complex node that corresponds to customer-defined code for image processing.

4 . The method of claim 1 , wherein operations corresponding to the complex node are selected from a first library of functions, and operations corresponding to the other nodes in the graph are selected from a second library of functions, and wherein the first library and the second library are based on different programming models optimized for different types of operations.

5 . The method of claim 4 , wherein the first library of functions is provided by a deep learning framework, and the second library of functions is provided by a computer vision framework.

6 . The method of claim 1 , wherein the graph API call identifies a graph-based programming model used by operations corresponding to the complex node.

7 . The method of claim 1 , further comprising:

receiving another graph API call that identifies another complex node as one of following: a proprietary computer vision (CV) node, a customer-defined node, a neural network model node, and a VX graph node based on OpenVX.

8 . A system for image processing, comprising:

one or more processors to:

receive a graph application programming interface (API) call that specifies a complex node representing a multi-layered neural network model used in an image processing pipeline;

add a complex node to a graph that contains other nodes representing computer vision operations, wherein the graph is directed and acyclic;

attach a buffer to the complex node to store code and parameters of the complex node; and

generate, by a graph compiler processing contents of the buffer at compile time, a sequence of nodes from the complex node to add to the graph, each node in the sequence corresponding to one operation layer of the neural network model;

one or more target devices to execute executable code compiled from each node in the graph to perform computer vision operations and neural network operations in the image processing pipeline; and

memory to store the graph compiler and the executable code.

9 . The system of claim 8 , wherein the one or more processors are further operative to add to the graph another complex node that represents a subgraph of nodes corresponding to a plurality of computer vision operations.

10 . The system of claim 8 , wherein the one or more processors are further operative to add to the graph another complex node that corresponds to customer-defined code for image processing.

11 . The system of claim 8 , wherein operations corresponding to the complex node are selected from a first library of functions, and operations corresponding to the other nodes in the graph are selected from a second library of functions, and wherein the first library and the second library are based on different programming models optimized for different types of operations.

12 . The system of claim 11 , wherein the first library of functions is optimized for deep learning, and the second library of functions is optimized for computer vision.

13 . The system of claim 8 , wherein the graph API call identifies a graph-based programming model used by operations corresponding to the complex node.

14 . The system of claim 8 , wherein the one or more processors are further operative to receive another graph API call that identifies another complex node as one of following: a proprietary computer vision (CV) node, a customer-defined node, a neural network model node, and a VX graph node based on OpenVX.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2023
From: LIN, YU-CHIEH; LIU, HUNGCHUN; JENG, PO-YUAN; CHIU, YUNGCHIH; CHANG, CHIA-YU; HSIEH, CHENG-HSUN; CHEN, LEI; CHEN, LI-MING; WANG, TAICHI
To: MEDIATEK INC.
Reel/Frame 062875/0652 →
Continuity (3)
Provisional Application 63355143 · Jun 24, 2022
Provisional Application 63334728 · Apr 26, 2022
Related Publication 20230342876A1 · Oct 26, 2023
References Cited (23)
US 10546405B2 · Herman · 2020 [cited by applicant]
US 11561833B1 · Heaton · 2023 [cited by examiner]
US 20160210721A1 · Taylor · 2016 [cited by examiner]
US 20160210724A1 · Taylor · 2016 [cited by applicant]
US 20160291942A1 · Hutchison · 2016 [cited by examiner]
US 20170300367A1 · Zhang · 2017 [cited by examiner]
US 20190087198A1 · Frascati · 2019 [cited by examiner]
US 20190303762A1 · Sui · 2019 [cited by examiner]
US 20210383258A1 · O'Riordan · 2021 [cited by examiner]
US 20220043688A1 · Lai · 2022 [cited by examiner]
US 20220179627A1 · Bagadia · 2022 [cited by examiner]
US 20220188155A1 · Miniskar · 2022 [cited by examiner]
US 20220260596A1 · Gurkan · 2022 [cited by examiner]
US 20230376781A1 · Roy Choudhury · 2023 [cited by examiner]
Zhiquan Guo, Jungang Han and Tao Li, “Implementing OpenVX on a polymorphous array processor,” 2015 IEEE 16th International Conference on Communication Technology (ICCT), Hangzhou, 2015, pp. 598-601, doi: 10.1109/ICCT.20… [cited by examiner]
J. Hascoë, B. D. de Dinechin, K. Desnos and J.-F. Nezan, “A Distributed Framework for Low-Latency OpenVX over the RDMA NoC of a Clustered Manycore,” 2018 IEEE High Performance extreme Computing Conference (HPEC), Waltha… [cited by examiner]
E. Rainey, J. Villarreal, G. Dedeoglu, K. Pulli, T. Lepley and F. Brill, “Addressing System-Level Optimization with OpenVX Graphs,” 2014 IEEE Conference on Computer Vision and Pattern Recognition Workshops, Columbus, OH… [cited by examiner]
G. Tagliavini, G. Haugou, A. Marongiu and L. Benini, “Adrenaline: An OpenVX Environment to Optimize Embedded Vision Applications on Many-core Accelerators,” 2015 IEEE 9th International Symposium on Embedded Multicore/Ma… [cited by examiner]
M. Akif Ozkan et al: “HipaccVX: Wedding of OpenVX and DSL-based Code Generation,” arXiv:2008.11476v1 [cs.CV], Aug. 26, 2020. [cited by applicant]
Li Da et al: “GRapid: a Compilation and Runtime Framework for Rapid Prototyping of Graph Applications on Many-core Processors,” Proc. of the 20th IEEE International Conference on Parallel and Distributed Systems (ICPADS… [cited by applicant]
Communication from the European Patent Office (Application No. EP 23 169 091.8) mailed Apr. 8, 2025. [cited by applicant]
Khronos AR and VR standards, Jan. 18, 2025. [cited by applicant]
Anonymous, “Node Graph Architecture—Wikipedia”, Mar. 9, 2022. [cited by applicant]
Cited By (1)
US 12,717,513