# US 10,321,126 B2 · User input device camera

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

- Number: US 10,321,126 B2
- Document ID: US10321126B2
- Status: Granted
- Kind: B2
- Application number: 14/792,844
- Filed: 2015-07-07
- Published: 2016-01-14
- Granted: 2019-06-11
- Earliest claimed: 2014-07-08
- Assignees: zSpace, Inc.
- Applicants: zSpace, Inc.
- Inventors: Jonathan J. Hosenpud; Arthur L. Berman; Jerome C. Tu; Kevin D. Morishige; David A. Chavez
- Web page: https://patentgrep.com/patent/US10321126B2

## CPC

- H04N 13/398: Synchronisation thereof; Control thereof
- H04N 13/334: using spectral multiplexing
- H04N 13/337: using polarisation multiplexing
- H04N 13/366: using viewer tracking
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Systems and methods for capturing a two dimensional (2D) image of a portion of a three dimensional (3D) scene may include a computer rendering a 3D scene on a display from a user's point of view (POV). A camera mode may be activated in response to user input and a POV of a camera may be determined. The POV of the camera may be specified by position and orientation of a user input device coupled to the computer, and may be independent of the user's POV. A 2D frame of the 3D scene based on the POV of the camera may be determined and the 2D image based on the 2D frame may be captured in response to user input. The 2D image may be stored locally or on a server of a network.

## Claims

### Claim 1

A computer-implemented method for capturing a virtual two dimensional (2D) image of a portion of a virtual three dimensional (3D) scene, comprising:
a computer performing:
rendering a virtual 3D scene on a display from a user's point of view (POV);
activating a camera mode in response to first user input via a user input device in communication with the computer, wherein the user input device comprises a stylus, wherein the camera mode enables the user input device to trigger the computer to capture virtual images within the virtual 3D scene based on a POV of the user input device;
determining the POV of the user input device, wherein the POV of the user input device is independent of the user's POV;
determining a virtual 2D frame of the virtual 3D scene based on the POV of the user input device;
capturing the virtual 2D image based on the virtual 2D frame and in response to second user input via the user input device; and
storing the virtual 2D image.

### Claim 2

A non-transitory computer readable memory medium storing programming instructions executable by a processor to:
render a virtual three dimensional (3D) scene on a display;
activate a camera mode in response to first user input via a user input device, wherein the user input device comprises a handheld pointing device, wherein the camera mode enables the user input device to trigger capture of virtual two dimensional (2D) images within the virtual 3D scene based on a point of view (POV) of the user input device;
determine the POV of the user input device based on a position and orientation of the user input device;
determine a virtual 2D frame on the display based on the POV of the user input device;
capture a virtual 2D image based on the virtual 2D frame and in response to second user input via the user input device; and
store the virtual 2D image.

### Claim 3

A system comprising:
at least one display;
at least one user input device comprising at least one accelerometer and at least one gyroscope; and
a processor coupled to the at least one display and the at least one user input device, wherein the processor is configured to:
render a virtual three dimensional (3D) scene on the at least one display;
activate a camera mode in response to first user input, wherein the camera mode enables the at least one user input device to trigger capture of virtual two dimensional (2D) images within the virtual 3D scene based on a point of view (POV) of the at least one user input device;
determine the POV of the at least one user input device based on a position and orientation of the at least one user input device;
determine a 2D virtual frame on the display based on the POV of the at least one user input device;
capture a virtual 2D image based on the 2D virtual frame and in response to second user input via the user input device; and
store the virtual 2D image.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1,
wherein the first user input comprises a button click on the user input device.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1,
wherein capturing the virtual 2D image comprises capturing a sequence of virtual 2D images; and
wherein storing the virtual 2D image comprises storing the sequence of virtual 2D images.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5,
wherein the POV of the user input device is an initial POV;
wherein capturing the sequence of virtual 2D images comprises dynamically changing the initial POV based on a user specified path, thereby generating a set of POVs based on the user specified path.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6,
wherein the user specified path is based on a path of the user input device through the 3D scene.

### Claim 8 (depends on 6)

The computer-implemented method of claim 6,
wherein the user further specifies a direction of the set of POVs with respect to the user specified path.

### Claim 9 (depends on 6)

The computer-implemented method of claim 6,
wherein the user specified path comprises a path of an object of interest.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1,
wherein capturing the virtual 2D image comprises capturing one or more virtual 2D images based on a user specified schedule.

### Claim 11 (depends on 2)

The non-transitory computer readable memory medium of claim 2,
wherein to capture the virtual 2D image, the program instructions are further executable to capture a sequence of virtual 2D images; and
wherein to store the virtual 2D image, the program instructions are further executable to store the sequence of virtual 2D images.

### Claim 12 (depends on 11)

The non-transitory computer readable memory medium of claim 11,
wherein the POV of the user input device is an initial POV;
wherein to capture the sequence of virtual 2D images, the program instructions are further executable to dynamically change the initial POV based on a user specified path, thereby generating a set of POVs based on the user specified path.

### Claim 13 (depends on 12)

The non-transitory computer readable memory medium of claim 12,
wherein the user specified path is based on a path of the user input device through the 3D scene.

### Claim 14 (depends on 12)

The non-transitory computer readable memory medium of claim 12,
wherein the user further specifies a direction of the set of POVs with respect to the user specified path.

### Claim 15 (depends on 12)

The non-transitory computer readable memory medium of claim 12,
wherein the user specified path comprises a path of an object of interest.

### Claim 16 (depends on 2)

The non-transitory computer readable memory medium of claim 2,
wherein to capture the virtual 2D image, the program instructions are further executable to capture one or more virtual 2D images based on a user specified schedule.

### Claim 17 (depends on 3)

The system of claim 3,
wherein the POV of the user input device is an initial POV;
wherein to capture the sequence of virtual 2D images, the processor is further configured to dynamically change the initial POV based on a user specified path, thereby generating a set of POVs based on the user specified path.

### Claim 18 (depends on 17)

The system of claim 17,
wherein the user specified path is based on a path of the user input device through the 3D scene.

### Claim 19 (depends on 17)

The system of claim 17,
wherein the user specified path comprises a path of an object of interest.

### Claim 20 (depends on 3)

The system of claim 3,
wherein to capture the virtual 2D image, the processor is further configured to capture one or more virtual 2D images based on a user specified schedule.
