IP Library Granted Patent US 12,737,182
Granted Patent B2
US 12,737,182 · App. 18/402,519 · Granted Sep 15, 2026

Feature tracking

Inventors: Ahmad Itani (San Jose, CA); Yen-Te Shih (Zhubei City, TW); Jagadeesh Sankaran (Dublin, CA); Ravi P Singh (Austin, TX); Ching-Yu Hung (Pleasanton, CA)
Assignee: NVIDIA Corporation
G06F9/3004G06F9/30036G06F9/30038G06F13/28G06F15/8061
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,737,182
App. No.
18/402,519
Granted
Sep 15, 2026
Kind
B2
Abstract

In various examples, a VPU and associated components may be optimized to improve VPU performance and throughput. For example, the VPU may include a min/max collector, automatic store predication functionality, a SIMD data path organization that allows for inter-lane sharing, a transposed load/store with stride parameter functionality, a load with permute and zero insertion functionality, hardware, logic, and memory layout functionality to allow for two point and two by two point lookups, and per memory bank load caching capabilities. In addition, decoupled accelerators may be used to offload VPU processing tasks to increase throughput and performance, and a hardware sequencer may be included in a DMA system to reduce programming complexity of the VPU and the DMA system. The DMA and VPU may execute a VPU configuration mode that allows the VPU and DMA to operate without a processing controller for performing dynamic region based data movement operations.

Claims (67)

1 . A method comprising:

retrieving, using a direct memory access (DMA) system, first data stored in one or more memories by a processor, the first data representative of one or more first locations associated with a tracked feature determined using sensor data;

determining, using the DMA system and based at least on the one or more first locations, one or more descriptors associated with the tracked feature;

storing, using the DMA system, second data in the one or more memories and for the processor, the second data representative of the one or more descriptors associated with the tracked feature; and

retrieving, using the DMA system, third data stored in the one or more memories by the processor, the third data representative of one or more second locations associated with the tracked feature as determined by the processor using at least the second data.

2 . The method of claim 1 , further comprising:

determining, using the DMA system based at least on the third data, the one or more second locations associated with the tracked feature; and

updating, using the DMA system and based at least on the one or more second locations, the second data representative of the one or more descriptors associated with the tracked feature.

3 . The method of claim 1 , wherein:

the one or more first locations associated with the tracked feature are determined using the sensor data obtained using a machine; and

the one or more second locations associated with the tracked feature are determined using the second data and second sensor data obtained using the machine.

4 . The method of claim 1 , further comprising:

determining, using the DMA system and based at least on the first data, the one or more first locations associated with the tracked feature.

5 . The method of claim 1 , wherein:

the retrieving the first data representative the one or more first locations associated with the tracked feature is from a first memory of the one or more memories; and

the storing the second data representative of the one or more descriptors associated with the tracked feature is in a second memory of the one or more memories.

6 . The method of claim 1 , further comprising:

receiving, using the DMA system, an indication that the one or more first locations associated with the tracked feature are stored in the one or more memories,

wherein the retrieving the first data representative of the one or more first locations associated with the tracked feature is based at least on the receiving the indication.

7 . The method of claim 1 , further comprising receiving, using the DMA system and from a processor controller, a configuration to perform at least one of:

the retrieving the first data representative of the one or more first locations associated with the tracked feature; or

the storing the second data representative of the one or more descriptors associated with the tracked feature.

8 . The method of claim 1 , further comprising sending, using the DMA system and to the processor, an indication that the second data representative of the one or more descriptors associated with the tracked feature is stored in the one or more memories.

9 . The method of claim 1 , wherein the first data is representative of one or more address/data pairs indicating the one or more first locations associated with the tracked feature.

10 . A method comprising:

storing, using a direct memory access (DMA) system, first data in one or more memories for access by a processor, the first data representative of one or more descriptors associated with a tracked feature that is represented by sensor data;

reading, using the DMA system, second data stored in the one or more memories by the processor, the second data representative of one or more first locations associated with the tracked feature as determined by the processor using at least a portion of the first data;

updating, using the DMA system and based at least on the one or more first locations, the first data representative of the one or more descriptors associated with the tracked feature; and

reading, using the DMA system, third data stored in the one or more memories by the processor, the third data representative of one or more second locations associated with the tracked feature as determined by the processor using at least a portion of the first data as updated.

11 . The method of claim 10 , further comprising:

determining, using the DMA system and with respect to the one or more memories, one or more previous locations associated with the tracked feature,

wherein the storing the first data representative of the one or more descriptors associated with the tracked feature is based at least on the one or more previous locations.

12 . The method of claim 10 , wherein:

the one or more first locations associated with the tracked feature are determined using the sensor data obtained using a machine and the at least the portion of the first data; and

the one or more second locations associated with the tracked feature are determined using second sensor data obtained using the machine.

13 . The method of claim 10 , further comprising:

determining, using the DMA system and based at least on the first data, the one or more first locations associated with the tracked feature.

14 . The method of claim 10 , wherein:

the storing the first data representative of the one or more descriptors associated with the tracked feature is in a first memory of the one or more memories; and

the reading the second data representative of the one or more first locations associated with the tracked feature is from a second memory of the one or more memories.

15 . The method of claim 10 , further comprising:

receiving, using the DMA system, an indication that the one or more first locations associated with the tracked feature are stored in the one or more memories,

wherein the reading the second data representative of the one or more first locations associated with the tracked feature is based at least on the receiving the indication.

16 . The method of claim 10 , further comprising receiving, using the DMA system and from a processor controller, a configuration to perform at least one of:

the determining of the one or more descriptors associated with the tracked feature; or

the updating the first data representative of the one or more descriptors associated with the tracked feature.

17 . The method of claim 10 , further comprising determining, using the DMA system, the one or more second locations associated with the tracked feature based at least on the first data as updated.

18 . The method of claim 10 , wherein the updating the first data representative of the one or more descriptors associated with the tracked feature comprises storing, using the DMA system and in the one or more memories, fourth data representative of at least one of the one or more descriptors associated with the tracked feature or one or more second descriptors associated with the tracked feature.

19 . A system comprising:

a direct memory access (DMA) system to:

retrieve first data stored in one or more memories by a processor, the first data representative of one or more first locations associated with a tracked feature determined using sensor data;

determine, based at least on the one or more first locations, one or more descriptors associated with the tracked feature;

store second data in the one or more memories for the processor, the second data representative of the one or more descriptors associated with the tracked feature; and

retrieve third data stored in the one or more memories by the processor, the third data representative of one or more second locations associated with the tracked feature as determined by the processor using at least a portion of the one or more descriptors.

20 . The system of claim 19 , wherein the system is comprised in at least one of:

a control system for an autonomous or semi-autonomous machine;

a perception system for an autonomous or semi-autonomous machine;

a system for performing simulation operations;

a system for performing deep learning operations;

a system on chip (SoC);

a system including a programmable vision accelerator (PVA);

a system including a vison processing unit;

a system implemented using an edge device;

a system implemented using a robot;

a system incorporating one or more virtual machines (VMs);

a system implemented at least partially in a data center; or

a system implemented at least partially using cloud computing resources.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2024
From: ITANI, AHMAD; SHIH, YEN-TE; SANKARAN, JAGADEESH; SINGH, RAVI P.; HUNG, CHING-YU
To: NVIDIA CORPORATION
Reel/Frame 066975/0666 →
Continuity (3)
Continuation 18064119 · Dec 9, 2022
Continuation 17391875 · Aug 2, 2021
Related Publication 20240134645A1 · Apr 25, 2024
References Cited (76)
US 6124862A · Boyken et al. · 2000 [cited by applicant]
US 6256724B1 · Hocevar et al. · 2001 [cited by applicant]
US 6298366B1 · Gatherer et al. · 2001 [cited by applicant]
US 6526430B1 · Hung et al. · 2003 [cited by applicant]
US 6530010B1 · Hung et al. · 2003 [cited by applicant]
US 6829016B2 · Hung · 2004 [cited by applicant]
US 8032892B2 · Blocksome et al. · 2011 [cited by applicant]
US 8416251B2 · Gadre et al. · 2013 [cited by applicant]
US 8424012B1 · Karandikar et al. · 2013 [cited by applicant]
US 9311094B2 · Gonion · 2016 [cited by examiner]
US 9501436B1 · Bruce et al. · 2016 [cited by applicant]
US 9519617B2 · Hung et al. · 2016 [cited by applicant]
US 9804844B2 · Ould-Ahmed-Vall et al. · 2017 [cited by applicant]
US 10803009B2 · Hung et al. · 2020 [cited by applicant]
US 10848459B2 · Kumar et al. · 2020 [cited by applicant]
US 10885698B2 · Muthler et al. · 2021 [cited by applicant]
US 11573795B1 · Itani et al. · 2023 [cited by applicant]
US 11573921B1 · Itani · 2023 [cited by examiner]
US 11593290B1 · Itani et al. · 2023 [cited by applicant]
US 11934829B2 · Itani et al. · 2024 [cited by applicant]
US 12204475B2 · Itani et al. · 2025 [cited by applicant]
US 12494038B2 · Nikolic · 2025 [cited by examiner]
US 20070073921A1 · Vemula · 2007 [cited by examiner]
US 20080005296A1 · Lee · 2008 [cited by examiner]
US 20130185539A1 · Hung et al. · 2013 [cited by applicant]
US 20150006765A1 · Litch et al. · 2015 [cited by applicant]
US 20150006768A1 · Litch et al. · 2015 [cited by applicant]
US 20150248291A1 · Gschwind · 2015 [cited by examiner]
US 20150324955A1 · Cawley et al. · 2015 [cited by applicant]
US 20160092234A1 · Vasudevan · 2016 [cited by examiner]
US 20160313445A1 · Bailey · 2016 [cited by examiner]
US 20160321074A1 · Hung et al. · 2016 [cited by applicant]
US 20170169309A1 · Reddy et al. · 2017 [cited by applicant]
US 20180165546A1 · Skans et al. · 2018 [cited by applicant]
US 20190303143A1 · Beard · 2019 [cited by examiner]
US 20190384601A1 · Hasenplaugh · 2019 [cited by examiner]
US 20200104076A1 · Bai et al. · 2020 [cited by applicant]
US 20200312010A1 · Anderson et al. · 2020 [cited by applicant]
US 20200356757A1 · Ashbacher et al. · 2020 [cited by applicant]
US 20210201454A1 · Subramanya Naidu et al. · 2021 [cited by applicant]
US 20210271488A1 · Maalej · 2021 [cited by examiner]
US 20220112481A1 · Zhao et al. · 2022 [cited by applicant]
US 20220283985A1 · Bilski et al. · 2022 [cited by applicant]
US 20230042226A1 · Itani · 2023 [cited by examiner]
US 20230042858A1 · Singh · 2023 [cited by examiner]
US 20230045443A1 · Hung · 2023 [cited by examiner]
US 20230046642A1 · Hung · 2023 [cited by examiner]
US 20230047233A1 · Hung · 2023 [cited by examiner]
US 20230048836A1 · Itani · 2023 [cited by examiner]
US 20230050062A1 · Hung · 2023 [cited by examiner]
US 20230076599A1 · Hung · 2023 [cited by examiner]
US 20230111014A1 · Itani et al. · 2023 [cited by applicant]
US 20230124604A1 · Hung et al. · 2023 [cited by applicant]
US 20230185569A1 · Itani et al. · 2023 [cited by applicant]
US 20230333746A1 · Wong · 2023 [cited by examiner]
US 20240119701A1 · Nikolic · 2024 [cited by examiner]
US 20240134645A1 · Itani · 2024 [cited by examiner]
US 20250103529A1 · Itani et al. · 2025 [cited by applicant]
CN 108694112A · 2018 [cited by applicant]
CN 110825485A · 2020 [cited by applicant]
CN 113179658A · 2021 [cited by applicant]
Itani, Ahmad; Notice of Allowance for U.S. Appl. No. 17/391,867, filed Aug. 2, 2021, mailed Sep. 21, 2022, 17 pgs. [cited by applicant]
IEC 61508, “Functional Safety of Electrical/Electronic/Programmable Electronic Safety-related Systems,” https://en.wikipedia.org/wiki/IEC_61508, accessed on Apr. 1, 2022, 7 pgs. [cited by applicant]
ISO 26262, “Road vehicle—Functional safety,” International standard for functional safety of electronic system, https://en.wikipedia.org/wiki/ISO_26262, accessed on Sep. 13, 2021, 8 pgs. [cited by applicant]
Itani, Ahmad; Notice of Allowance for U.S. Appl. No. 17/391,875, filed Aug. 2, 2021, mailed Oct. 7, 2022, 18 pgs. [cited by applicant]
“Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles”, Society of Automotive Engineers (SAE), Standard No. J3016-201609, p. 30 (Sep. 30, 2016). [cited by applicant]
“Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles”, Society of Automotive Engineers (SAE), Standard No. J3016-201806, p. 35 (Jun. 15, 2018). [cited by applicant]
Itani, Ahmad; Non-Final Office Action for U.S. Appl. No. 18/064,119, filed Dec. 9, 2022, mailed Apr. 27, 2023, 16 pgs. [cited by applicant]
Itani, Ahmad; Final Office Action for U.S. Appl. No. 18/064,119, filed Dec. 9, 2022, mailed Oct. 19, 2023, 16 pgs. [cited by applicant]
Itani, Ahmad; Notice of Allowance for U.S. Appl. No. 18/064,119, filed Dec. 9, 2022, mailed Dec. 22, 2023, 9 pgs. [cited by applicant]
Itani, Ahmad; Non-Final Office Action for U.S. Appl. No. 18/064,121, filed Dec. 9, 2022, mailed Jun. 5, 2024, 28 pgs. [cited by applicant]
Itani, Ahmad; Final Office Action for U.S. Appl. No. 18/064,121, filed Dec. 9, 2022, mailed Sep. 19, 2024, 9 pgs. [cited by applicant]
Itani, Ahmad; Notice of Allowance for U.S. Appl. No. 18/064,121, filed Dec. 9, 2022, mailed Oct. 9, 2024, 7 pgs. [cited by applicant]
Itani, Ahmad; First Office Action for Chinese Patent Application No. 202210863375.5, filed Jul. 20, 2022, mailed Jun. 19, 2025, 6 pgs. [cited by applicant]
Itani, Ahmad; First Office Action for Chinese Patent Application No. 202210858985.6, filed Jul. 20, 2022, mailed Jun. 24, 2025, 7 pgs. [cited by applicant]
Itani, Ahmad; Notice of Registration for Chinese Patent Application No. 202210863375.5, filed Jul. 20, 2022, mailed Sep. 11, 2025, 3 pgs. [cited by applicant]