# US 11,308,586 B2 · Method for applying a vignette effect to rendered images

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

- Number: US 11,308,586 B2
- Document ID: US11308586B2
- Status: Granted
- Kind: B2
- Application number: 17/086,046
- Filed: 2020-10-30
- Published: 2022-03-10
- Granted: 2022-04-19
- Earliest claimed: 2020-09-08
- Assignees: Unity Technologies SF
- Applicants: Unity Technologies SF
- Inventors: Peter Hillman
- Web page: https://patentgrep.com/patent/US11308586B2

## CPC

- G06T 5/70: Denoising; Smoothing
- G06T 11/23: using straight lines or curves
- G06T 5/20: using local operators
- G06T 11/10: Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77)
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T 2207/10024: Color image
- G06T 2207/10028: Range image; Depth image; 3D point clouds
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Methods and systems for applying a vignette effect to a rendered computer-generated image are presented. A kernel image including a kernel shape is overlaid on a control image including a vignette shape, creating a region where the kernel shape and control image overlap. A region of the rendered image corresponding to the overlapping region is blurred based on the shape of the overlapping region. A vignetting factor indicating a loss in intensity as a result of the blurring is computed based on the area of the overlapping region and the area of the kernel shape. The intensity of the blurred region is scaled upward based on the vignetting factor. The position of the kernel image on the control shape is shifted, resulting in a new overlapping region. Blurring and intensity compensation are performed for the region of the rendered image corresponding to the new overlapping region.

## Claims

### Claim 1

A computer-implemented method for processing image data that includes depth information, the method comprising:
under the control of one or more computer systems configured with executable instructions:
obtaining a scene description describing elements of a scene to be rendered into a rendered computer-generated image representable by a pixel array;
determining, from the scene description, pixel values for the pixel array corresponding to a rendering of the scene, the pixel array comprising a plurality of pixel data elements, wherein each pixel data element of a pixel of the pixel array includes a pixel color value, a pixel alpha value, and a pixel depth value, and wherein each pixel data element has associated therewith an image position representing a position of its corresponding pixel in the rendered computer-generated image;
obtaining an indication of a kernel image, wherein the kernel image comprises a kernel shape defining a shape of a bokeh effect;
obtaining an indication of a control image, wherein the control image comprises a vignette shape defining a shape of a vignetting effect;
overlaying the kernel image on the control image at a first position based on a shift value and multiplying the kernel image by the control image to obtain a first blur shape based on a first overlapping region between the kernel image and the control image, wherein the first overlapping region corresponds to a first region of the rendered image;
blurring the rendered image to produce a blurred image, wherein the first region of the rendered image is blurred based on the first blur shape to produce a first blurred region; and
multiplying each color value corresponding to a pixel in the first blurred region by a first intensity compensation value.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining a first vignetting factor, V1, indicating a first intensity loss at the first overlapping region, wherein in V1 is equal to an area of the first overlapping region divided by an area of the kernel shape,
wherein the first intensity compensation value is equal to 1/(1−V1).

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
overlaying the kernel image on the control image at a second position based on the shift value and multiplying the kernel image by the control image to obtain a second blur shape based on a second overlapping region between the kernel image and the control image, wherein the second overlapping region corresponds to a second region of the rendered image; and
blurring the second region of the rendered image according to the second blur shape to produce a second blurred region.

### Claim 4 (depends on 3)

The method of claim 3, further comprising:
multiplying each color value corresponding to a pixel in the second blurred region by a second intensity compensation value equal to 1/(1−V2); and
determining a second vignetting factor, V2, indicating a second intensity loss at the second overlapping region, wherein in the second intensity loss is equal to an area of the second overlapping region divided by the area of the kernel shape.

### Claim 5 (depends on 2)

The method of claim 2, further comprising darkening the first blurred region by multiplying each color value corresponding to a pixel in the first blurred region by V1.

### Claim 6 (depends on 5)

The method of claim 5, further comprising re-brightening the first blurred region by dividing each color value corresponding to a pixel in the first region by V1.

### Claim 7 (depends on 1)

The method of claim 1, wherein the kernel shape comprises a circle.

### Claim 8 (depends on 1)

The method of claim 1, wherein the kernel shape comprises an oval.

### Claim 9 (depends on 1)

The method of claim 1, wherein the kernel shape comprises a polygon.

### Claim 10 (depends on 1)

The method of claim 1, wherein the vignette shape comprises a circle.

### Claim 11 (depends on 1)

The method of claim 1, wherein the vignette shape comprises an oval.

### Claim 12 (depends on 1)

The method of claim 1, wherein the vignette shape comprises a polygon.

### Claim 13 (depends on 1)

The method of claim 1, wherein each pixel color value comprises a plurality of color components.

### Claim 14 (depends on 1)

The method of claim 1, wherein blurring the rendered image comprises splatting a pixel across a region of nearby pixels within an area defined by the first blur shape, such that the pixel color value and the pixel alpha value of the pixel are distributed across the region of nearby pixels within the area defined by the first blur shape.

### Claim 15 (depends on 1)

The method of claim 1, further comprising determining the kernel image from a lens function.

### Claim 16 (depends on 1)

The method of claim 1, further comprising determining the control image from a lens function.

### Claim 17 (depends on 1)

A computer system comprising:
at least one processor; and
a storage medium storing instructions, which when executed by the at least one processor, cause the computer system to implement the method of claim 1.

### Claim 18 (depends on 1)

A non-transitory computer-readable storage medium storing instructions, which when executed by at least one processor of a computer system, causes the computer system to carry out the method of claim 1.

### Claim 19 (depends on 1)

A non-transitory computer-readable medium carrying instructions, which when executed by at least one processor of a computer system, causes the computer system to carry out the method of claim 1.

### Claim 20 (depends on 1)

A non-transitory carrier medium carrying image data that has been processed according to the method of claim 1.
