# US 2021/0344944 A1 · Adaptive Pixel Sampling Order for Temporally Dense Rendering

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0344944 A1
- Document ID: US20210344944A1
- Status: Published application
- Kind: A1
- Application number: 17/368,129
- Filed: 2021-07-06
- Published: 2021-11-04
- Earliest claimed: 2019-03-27
- Assignees: NVIDIA Corporation
- Applicants: NVIDIA Corp.
- Inventors: Johan Pontus Andersson; Jim Nilsson; Tomas Guy Akenine-Möller
- Web page: https://patentgrep.com/patent/US20210344944A1

## CPC

- H04N 19/33: in the spatial domain
- H04N 19/513: Processing of motion vectors
- G06T 11/40: Filling planar surfaces by adding surface attributes, e.g. adding colours or textures
- G06T 15/06: Ray-tracing
- H04N 19/132: Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
- H04N 19/182: the unit being a pixel
- H04N 19/423: characterised by memory arrangements (H04N19/433 takes precedence)
- H04N 19/51: Motion estimation or motion compensation
- H04N 19/59: involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A method dynamically selects one of a first sampling order and a second sampling order for a ray trace of pixels in a tile where the selection is based on a motion vector for the tile. The sampling order may be a bowtie pattern or an hourglass pattern.

## Claims

### Claim 1

A method comprising:
selecting a per-tile sampling order from among a plurality of different sampling orders for each tile of a plurality of tiles of a video frame;
the selection of the per-tile sampling order based on one or both of a motion vector and neighboring pixels for the tile;
generating a subframe for each pixel position in the tile, resulting in a plurality of subframes; and
combining the subframes into a rendering of the video frame.

### Claim 2 (depends on 1)

The method of claim 1, wherein the selection of the per-tile sampling order is based on both of the motion vector and the neighboring pixels for the tile.

### Claim 3 (depends on 1)

The method of claim 1, wherein the selection of the per-tile sampling order is based on the motion vector and not on the neighboring pixels for the tile.

### Claim 4 (depends on 1)

The method of claim 1, wherein the selection of the per-tile sampling order is based on the neighboring pixels for the tile and not on the motion vector.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
selecting the per-tile sampling order from among a bowtie sampling order and an hourglass sampling order.

### Claim 6 (depends on 1)

The method of claim 1 further comprising:
selecting the per-tile sampling order based on an angle of the motion vector.

### Claim 7 (depends on 1)

The method of claim 1 further comprising:
selecting the per-tile sampling order based on a length of the motion vector.

### Claim 8 (depends on 7)

The method of claim 7 further comprising:
selecting the per-tile sampling order based on a fractional portion of the length of the motion vector.

### Claim 9 (depends on 1)

The method of claim 1 further comprising:
selecting the per-tile sampling order based on an angle of the motion vector and a fractional portion of a length of the motion vector.

### Claim 10 (depends on 1)

The method of claim 1 wherein each tile is a 2×2 block of pixels.

### Claim 11 (depends on 1)

The method of claim 1 further comprising:
selecting a supersampling pattern for pixels in the tile based on the motion vector.

### Claim 12

A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that configure a computer to:
select a ray tracing pixel sampling order for each tile of a plurality of tiles in a video frame; and
varying the pixel sampling order between a first sampling order and a second sampling order for different tiles of the video frame based on an angle of at least one motion vector for the different tiles.

### Claim 13 (depends on 12)

The computer-readable storage medium of claim 12, wherein the first sampling order is a bowtie sampling order and the second sampling order is an hourglass sampling order.

### Claim 14 (depends on 12)

The computer-readable storage medium of claim 12 wherein the instructions further configure the computer to render a different subframe for each position in a selected pixel sampling order.

### Claim 15 (depends on 14)

The computer-readable storage medium of claim 14 wherein there are four pixel positions in the selected sampling order.

### Claim 16 (depends on 14)

The computer-readable storage medium of claim 14 wherein the different subframes combine to generate a rendered frame.

### Claim 17 (depends on 12)

The computer-readable storage medium of claim 12 wherein the instructions further configure the computer to select the sampling order based a length of the motion vector.

### Claim 18 (depends on 17)

The computer-readable storage medium of claim 17 wherein:
selection of the pixel sampling order is based on an angle of the motion vector for one or more first ranges of the angle; and
selection of the pixel sampling order is random for one or more second ranges of the angle.

### Claim 19 (depends on 12)

The computer-readable storage medium of claim 12 wherein the instructions further configure the computer to select a supersampling jitter pattern for static pixels in the tiles and a centric-based supersampling pattern for dynamic pixels in the tiles.

### Claim 20

A computing apparatus, the computing apparatus comprising:
a processor; and
a memory storing instructions that, when executed by the processor, configure the apparatus to:
select a sampling order comprising one of a bowtie sampling order and an hourglass sampling order for a ray trace of pixels in a tile having a width W and a height H; and
for each of W*H pixels in the tile, generate a subframe comprising only pixels from position j from each of the tiles.

### Claim 21 (depends on 20)

The computing apparatus of claim 20 wherein selection of the sampling order is based on an angle of a motion vector derived for the tile for at least one range of the angle.

### Claim 22 (depends on 21)

The computing apparatus of claim 21 wherein selection of the sampling order is further based on a fractional portion of a length of the motion vector.

### Claim 23 (depends on 21)

The computing apparatus of claim 21 where selection of the sampling order is random for at least one other range of the angle.

### Claim 24

A computing apparatus, the computing apparatus comprising:
a processor; and
a memory storing instructions that, when executed by the processor, configure the apparatus to:
select a sampling order comprising one of a first ray trace sampling order and a second ray trace sampling order on a per-tile basis for each of a plurality of tiles of a video frame;
each of the first sampling order and the second sampling order comprising N pixel sample positions;
generate N subframes each comprising only pixels from a same pixel sample position in each of the tiles; and
update the sampling order selection once per the generation of N subframes.
