IP Library Granted Patent US 12700107
Granted Patent B2
US 12700107 · App. 17/377,244 · Granted Aug 4, 2026

Computing motion of pixels among images

Inventors: Vipul Parashar (Pune, IN); Dong Zhang (Hangzhou, CN); Sampurnananda Mishra (Pune, IN)
Assignee: NVIDIA CORPORATION
G06T7/269G06T2207/10016
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 12700107
App. No.
17/377,244
Granted
Aug 4, 2026
Kind
B2
Abstract

Apparatuses, systems, and techniques to calculate motion of one or more pixel in a region in an image. In at least one embodiment, motion is calculated based on motion of one or more pixels in a different region of said image that overlaps said region in which one or more algorithms are expressed in CUDA code, for example, for efficient execution on a GPU.

Claims (65)

1 . One or more processors comprising: circuitry to:

identify at least a first region of an image and a second region of the image that overlap at an overlapping portion;

for a pixel within the overlapping portion that lacks a corresponding optical flow vector, use one or more optical flow vectors of the first region to calculate motion to convert the pixel to a valid pixel; and

for each pixel within the second region that lacks a corresponding optical flow vector, iteratively use one or more valid pixels within the overlapping portion comprising the converted pixel to calculate motion to convert each pixel; and

update a flow map to generate a second flow map based at least in part on the conversion of each pixel within the second region that lacks a corresponding optical flow vector.

2 . The one or more processors of claim 1 , wherein the circuitry is further to:

obtain the image and a flow map, wherein the flow map is calculated based at least in part on the image and a second image; and

determine whether each pixel within the second region that lacks a corresponding optical flow vector.

3 . The one or more processors of claim 1 , wherein the circuitry is further to traverse one or more rows or one or more columns of the second flow map and update the second flow map to convert each pixel within the second region that lacks a corresponding optical flow vector, using the one or more valid pixels in the one or more rows or one or more columns, to valid pixels.

4 . The one or more processors of claim 1 , wherein the circuitry is further to generate a dense optical flow map from a sparse optical flow map.

5 . The one or more processors of claim 4 , wherein the circuitry is further to apply a median filter to the dense optical flow map.

6 . A system, comprising:

one or more processors to:

identify at least a first region of an image and a second region of the image that overlap at an overlapping portion;

for a pixel within the overlapping portion that lacks a corresponding optical flow vector, use one or more optical flow vectors of the first region to calculate motion to convert the pixel to a valid pixel; and

for each pixel within the second region that lacks a corresponding optical flow vector, iteratively use one or more valid pixels within the overlapping portion comprising the converted pixel to calculate motion to convert each pixel; and

update a flow map to generate a second flow map based at least in part on the conversion of each pixel within the second region that lacks a corresponding optical flow vector.

7 . The system of claim 6 , wherein the one or more processors are further to:

obtain a flow map corresponding to the image and a second image, to indicate whether each pixel within the second region that lacks a corresponding optical flow vector.

8 . The system of claim 6 , wherein the one or more processors are further to update a flow map to generate a second flow map based, at least in part, on the conversion of each pixel that lacks a corresponding optical flow vector.

9 . The system of claim 6 , wherein the one or more processors are further to:

interpolate one or more valid pixels for to convert each pixel that lacks a corresponding optical flow vector.

10 . The system of claim 9 , wherein the one or more processors are further to:

either scan one or more columns or one or more rows of pixels in the second region of the image for interpolation.

11 . The system of claim 6 , wherein the one or more processors are further to calculate motion of one or more pixels in the first region of the image for use in frame-rate-up-conversion, video encoding, robot navigation, or image classification.

12 . A method, comprising:

identifying at least a first region of an image and a second region of the image that overlap at an overlapping portion;

for a pixel within the overlapping portion that lacks a corresponding optical flow vector, using one or more optical flow vectors of the first region to calculate motion to convert the pixel to a valid pixel; and

for each pixel within the second region that lacks a corresponding optical flow vector, iteratively using one or more valid pixels within the overlapping portion comprising the converted pixel to calculate motion to convert each pixel; and

updating a flow map to generate a second flow map based at least in part on the conversion of each pixel within the second region that lacks a corresponding optical flow vector.

13 . The method of claim 12 , further comprising:

obtaining a first flow map corresponding to the image and a subsequent image; and

using the first flow map to determine whether each pixel within the second region lacks a corresponding optical flow vector.

14 . The method of claim 13 , wherein iteratively using the one or more valid pixels include performing one or more interpolation operations to convert each pixel.

15 . The method of claim 12 , applying a cost function to determine validity of one or more pixels in the image.

16 . The method of claim 12 , further comprising:

generating an updated flow map based, at least in part, on the calculated motion of one or more pixels in the first region and the second region of the image.

17 . The method of claim 16 , further comprising:

applying a filter to refine the updated flow map.

18 . A non-transitory machine-readable medium having stored thereon a set of instructions, which if performed by one or more processors, cause the one or more processors to at least:

identify at least a first region of an image and a second region of the image that overlap at an overlapping portion;

for a pixel within the overlapping portion that lacks a corresponding optical flow vector, use one or more optical flow vectors of the first region to calculate motion to convert the pixel to a valid pixel; and

for each pixel within the second region that lacks a corresponding optical flow vector, iteratively use one or more valid pixels within the overlapping portion comprising the converted pixel to calculate motion to convert each pixel; and

update a flow map to generate a second flow map based at least in part on the conversion of each pixel within the second region that lacks a corresponding optical flow vector.

19 . The non-transitory machine-readable medium of claim 18 , wherein the set of instructions further include instructions, which if performed by the one or more processors, cause the one or more processors to:

obtain a sparse flow map based on the image and a second image, wherein the sparse flow map is used to identify each pixel within the second region that lacks a corresponding optical flow vector.

20 . The non-transitory machine-readable medium of claim 18 , wherein the set of instructions further include instructions, which if performed by the one or more processors, cause the one or more processors to:

scan, over one or more iterations, one or more rows and one or more columns in the first region and the second region to identify each pixel within the second region that lacks a corresponding optical flow vector; and

second region; and

generate, based on the conversion of each pixel, a dense flow map.

21 . The non-transitory machine-readable medium of claim 20 , wherein the set of instructions further include instructions, which if performed by the one or more processors, cause the one or more processors to update the dense flow map using a median filter.

22 . The non-transitory machine-readable medium of claim 18 , wherein the set of instructions further include instructions, which if performed by the one or more processors, cause the one or more processors to use a sparse flow map to indicate the one or more valid pixels.

23 . The non-transitory machine-readable medium of claim 18 , wherein one or more pixels in the second region excludes calculating motion for one or more pixels that are labeled as background.

24 . A system, comprising:

one or more computers having one or more processors to

identify at least a first region of an image and a second region of the image that overlap at an overlapping portion;

for a pixel within the overlapping portion that lacks a corresponding optical flow vector, use one or more optical flow vectors of the first region to calculate motion to convert the pixel to a valid pixel; and

for each pixel within the second region that lacks a corresponding optical flow vector, iteratively use one or more valid pixels within the overlapping portion comprising the converted pixel to calculate motion to convert each pixel; and

update a flow map to generate a second flow map based at least in part on the conversion of each pixel within the second region that lacks a corresponding optical flow vector.

25 . The system of claim 24 , wherein the one or more processors are further to update a flow map to generate a second flow map, wherein the flow map is obtained based, at least in part, on the image and a second image.

26 . The system of claim 24 , wherein the one or more processors are further to:

use at least one converted pixel within the second region to replace one or more pixels in a third region of the image, wherein the first region or the second region overlaps the third region.

27 . The system of claim 24 , wherein the one or more processors are further to traverse pixels in the first region, via one or more rows or columns for the conversion of each pixel that lacks a corresponding optical flow.

28 . The system of claim 24 , wherein the image is captured using a video of a semi-autonomous vehicle.

29 . The system of claim 24 , wherein the calculated motion of one or more pixels in the first region is used as a part of performing frame-rate-up-conversion on frames in a video.