# US 10,484,599 B2 · Simulating depth of field

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

- Number: US 10,484,599 B2
- Document ID: US10484599B2
- Status: Granted
- Kind: B2
- Application number: 15/448,425
- Filed: 2017-03-02
- Published: 2018-04-26
- Granted: 2019-11-19
- Earliest claimed: 2016-10-25
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Patrick Ryan
- Web page: https://patentgrep.com/patent/US10484599B2

## CPC

- H04N 23/64: {Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image}
- G01B 11/24: for measuring contours or curvatures
- G06T 3/18: Image warping, e.g. rearranging pixels individually
- G06T 5/73: Deblurring; Sharpening
- G06T 7/40: Analysis of texture (depth or shape recovery from texture G06T7/529)
- G06T 15/04: Texture mapping
- G06T 17/00: Three-dimensional [3D] modelling for computer graphics
- H04N 13/122: Improving the three-dimensional [3D] impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues (H04N13/128 takes precedence)
- H04N 13/204: using stereoscopic image cameras (stereoscopic photography G03B35/00)
- H04N 23/63: by using electronic viewfinders
- H04N 23/959: by adjusting depth of field during image capture, e.g. maximising or setting range based on scene characteristics
- G06T 2200/21: involving computational photography
- G06T 2207/10028: Range image; Depth image; 3D point clouds
- H04N 13/128: Adjusting depth or disparity
- H04N 13/271: wherein the generated image signals comprise depth maps or disparity maps
- H04N 2013/0081: {Depth or disparity estimation from stereoscopic image signals}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G01B: MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

The present disclosure provides approaches to simulating depth of field. In some implementations, an optimal scan distance of a camera from a subject in a physical environment is determined for a scan of the subject by the camera. A blur level is iteratively updated to correspond to a proximity of the camera to the determined optimal scan distance as the proximity changes during the scan. For each update to the blur level from the iteratively updating, an image comprising a three-dimensional (3D) model of the physical environment depicted at the updated blur level is generated on a user device associated with the scan.

## Claims

### Claim 1

A computer-implemented method comprising:
determining an optimal scan distance of a camera from a subject in a physical environment for a scan of the subject by the camera;
iteratively updating a blur level to correspond to a proximity of the camera to the determined optimal scan distance as the proximity changes during the scan; and
for each update to the blur level from the iteratively updating, generating, on a user device associated with the scan, an image comprising a three-dimensional (3D) model of the physical environment depicted at the updated blur level, the 3D model produced from the scan, the generating comprising:
blending a first texture with a second texture based on determining that a value of the blur level is greater than a first value corresponding to the first blur texture and a second value corresponding to the second blur texture, and
performing the blurring of the 3D model with the blended first texture and second texture for the image.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the iteratively updating comprises in each iteration determining the proximity, wherein the updated blur level is proportional to the determined proximity.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the determining of the optimal scan distance is based on tracking a position of the camera in the physical environment with sensors of the user device.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein in the iteratively updating, the blur level increases based on the proximity decreasing and decreases based on the proximity increasing.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the generating of the image comprises a particle shader blurring on a particle of the 3D model at the blur level.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the iteratively updating comprises for each iteration, determining the updated blur level based on a position of the camera in the physical environment.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, determining the blur level such that the blur level is minimized when the camera is at the optimal scan distance.

### Claim 8

One or more computer-storage media having executable instructions embodied thereon, which, when executed by one or more processors, cause the one or more processors to perform a method comprising:
determining an optimal scan distance of a camera from a subject in a physical environment for a scan of the subject by the camera;
iteratively updating a blur level to correspond to a proximity of the camera to the determined optimal scan distance as the proximity changes during the scan; and
for each update to the blur level from the iteratively updating, generating, on a user device associated with the scan, an image comprising a three-dimensional (3D) model of the physical environment depicted at the updated blur level, the 3D model produced from the scan, the generating comprising:
blending a first texture with a second texture based on determining that a value of the blur level is greater than a first value corresponding to the first blur texture and a second value corresponding to the second blur texture, and
performing the blurring of the 3D model with the blended first texture and second texture for the image.

### Claim 9 (depends on 8)

The one or more computer-storage media of claim 8, wherein the iteratively updating comprises in each iteration determining the proximity, wherein the updated blur level is proportional to the determined proximity.

### Claim 10 (depends on 8)

The one or more computer-storage media of claim 8, wherein the determining of the optimal scan distance is based on tracking a position of the camera in the physical environment with sensors of the user device.

### Claim 11 (depends on 8)

The one or more computer-storage media of claim 8, wherein in the iteratively updating, the blur level increases based on the proximity decreasing and decreases based on the proximity increasing.

### Claim 12 (depends on 8)

The one or more computer-storage media of claim 8, wherein the generating of the image comprises a particle shader blurring on a particle of the 3D model at the blur level.

### Claim 13 (depends on 8)

The one or more computer-storage media of claim 8, wherein the iteratively updating comprises for each iteration, determining the updated blur level based on a position of the camera in the physical environment.

### Claim 14 (depends on 8)

The one or more computer-storage media of claim 8, the method further comprising determining the blur level such that the blur level is minimized when the camera is at the optimal scan distance.

### Claim 15

A system, comprising:
one or more processors;
one or more computer-storage media having executable instructions embodied thereon, which, when executed by one or more processors, cause the one or more processors to perform a method comprising:
determining an optimal scan distance of a camera from a subject in a physical environment for a scan of the subject by the camera;
iteratively updating a blur level to correspond to a proximity of the camera to the determined optimal scan distance as the proximity changes during the scan; and
for each update to the blur level from the iteratively updating, generating, on a user device associated with the scan, an image comprising a three-dimensional (3D) model of the physical environment depicted at the updated blur level, the 3D model produced from the scan, the generating comprising:
blending a first texture with a second texture based on determining that a value of the blur level is greater than a first value corresponding to the first blur texture and a second value corresponding to the second blur texture, and
performing the blurring of the 3D model with the blended first texture and second texture for the image.

### Claim 16 (depends on 15)

The system of claim 15, wherein the iteratively updating comprises in each iteration determining the proximity, wherein the updated blur level is proportional to the determined proximity.

### Claim 17 (depends on 15)

The system of claim 15, wherein the determining of the optimal scan distance is based on tracking a position of the camera in the physical environment with sensors of the user device.

### Claim 18 (depends on 15)

The system of claim 15, wherein in the iteratively updating, the blur level increases based on the proximity decreasing and decreases based on the proximity increasing.

### Claim 19 (depends on 15)

The system of claim 15, wherein the generating of the image comprises a particle shader blurring on a particle of the 3D model at the blur level.

### Claim 20 (depends on 15)

The system of claim 15, wherein the iteratively updating comprises for each iteration, determining the updated blur level based on a position of the camera in the physical environment.
