IP Library Granted Patent US 9,684,994
Granted Patent B2
US 9,684,994 · App. 15/074,233 · Granted Jun 20, 2017

Modifying perspective of stereoscopic images based on changes in user viewpoint

Inventors: Michael A. Vesely (Santa Cruz, CA); Nancy L. Clemens (San Lorenzo, CA); Alan S. Gray (San Jose, CA)
Assignee: zSpace, Inc.
G06T15/20G06T15/06G06T15/30G06T2200/04G06T2215/16
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 9,684,994
App. No.
15/074,233
Granted
Jun 20, 2017
Kind
B2
Abstract

Modifying perspective of stereoscopic images provided by one or more displays based on changes in user viewpoint. The one or more displays may include a first display that is provided substantially horizontal for displaying 3D horizontal perspective images and/or a second display that is provided substantially vertical for displaying text or conventional images such as 2D images, or 3D vertical perspective images. The horizontal display surface may be typically positioned directly in front of the user, and at a height of about a desktop surface so that the user can have about a 45° looking angle. The vertical display surface may be positioned in front of the user and preferably behind and above the horizontal display surface.

Claims (72)

1. A method for defining a render surface for a virtual space to present three dimensional (3D) graphic objects using a display, comprising:

defining a render surface for a virtual space, wherein the render surface corresponds to a physical display used as a plane of projection for 3D graphic objects within the virtual space;

defining a virtual viewpoint within the virtual space, wherein a relationship between the virtual viewpoint and the render surface is equivalent to a relationship of a user's viewpoint and the physical display;

defining first frustum boundaries with respect to edges of the render surface, wherein the edges of the render surface correspond to edges and dimensions of the display, wherein the first frustum boundaries comprise a first near clipping plane and a first far clipping plane;

defining dimensions of the first near and far clipping planes based on intersections of ray traces emanating from the virtual viewpoint and extending through edges of the render surface; and

displaying the 3D graphic objects on the physical display with a perspective based on the virtual viewpoint.

2. The method of claim 1 , further comprising:

tracking position and orientation of a user with respect to a position and orientation of the physical display, wherein the user's viewpoint is determined based on the position and orientation of the user; and

wherein defining the virtual viewpoint comprises defining the virtual viewpoint based on the user's viewpoint.

3. The method of claim 2 ,

wherein the user's viewpoint is a user's first viewpoint, wherein the virtual viewpoint is a first virtual viewpoint, and wherein the method further comprises:

updating, based on determining that position and orientation of the user changed, the user's first viewpoint to a user's second viewpoint; and

defining a second virtual viewpoint based on the user's second viewpoint; and

displaying the 3D graphic objects on the physical display with a perspective based on the second virtual viewpoint.

4. The method of claim 3 , further comprising:

defining second frustum boundaries with respect to edges of the render surface, wherein the second frustum boundaries comprise a second near clipping plane and a second far clipping plane, wherein dimensions of the second near and second far clipping planes are based on intersections of ray traces emanating from the second virtual viewpoint and extending through edges of the render surface.

5. The method of claim 1 ,

wherein the render surface is at a non-normal position and orientation with respect to the virtual viewpoint.

6. The method of claim 1 ,

wherein the display comprises a handheld display.

7. A non-transitory computer readable memory medium storing program instructions executable by a processor to:

define a render surface for a virtual space, wherein the render surface corresponds to a physical display used as a plane of projection for 3D graphic objects within the virtual space;

define a virtual viewpoint within the virtual space, wherein a relationship between the virtual viewpoint and the render surface is equivalent to a relationship of a user's viewpoint and the physical display;

define first frustum boundaries with respect to edges of the render surface, wherein the edges of the render surface correspond to edges and dimensions of the display, wherein the first frustum boundaries comprise a first near clipping plane and a first far clipping plane;

define dimensions of the first near and far clipping planes based on intersections of ray traces emanating from the virtual viewpoint and extending through edges of the render surface; and

display the 3D graphic objects on the physical display with a perspective based on the virtual viewpoint.

8. The non-transitory computer readable memory medium of claim 7 ,

wherein the program instructions are further executable to:

track position and orientation of a user with respect to a position and orientation of the physical display, wherein the user's viewpoint is determined based on the position and orientation of the user; and

wherein to define the virtual viewpoint, the program instructions are further executable to define the virtual viewpoint based on the user's viewpoint.

9. The non-transitory computer readable memory medium of claim 8 ,

wherein the user's viewpoint is a user's first viewpoint, wherein the virtual viewpoint is a first virtual viewpoint, and wherein the program instructions are further executable to:

update, based on determining that position and orientation of the user changed, the user's first viewpoint to a user's second viewpoint;

define a second virtual viewpoint based on the user's second viewpoint; and

display the 3D graphic objects on the physical display with a perspective based on the second virtual viewpoint.

10. The non-transitory computer readable memory medium of claim 9 ,

wherein the program instructions are further executable to:

define second frustum boundaries with respect to edges of the render surface, wherein the second frustum boundaries comprise a second near clipping plane and a second far clipping plane, wherein dimensions of the second near and second far clipping planes are based on intersections of ray traces emanating from the second virtual viewpoint and extending through edges of the render surface.

11. The non-transitory computer readable memory medium of claim 7 ,

wherein the render surface is at a non-normal position and orientation with respect to the virtual viewpoint.

12. The non-transitory computer readable memory medium of claim 7 ,

wherein the display comprises a handheld display.

13. A system for defining a render surface for a virtual space to present three dimensional (3D) graphic objects using a display, comprising:

a memory;

a processor in communication with the memory; and

a display in communication with the processor;

wherein the processor is configured to:

define a render surface for a virtual space, wherein the render surface corresponds to a display used as a plane of projection for 3D graphic objects within the virtual space;

define a virtual viewpoint within the virtual space, wherein a relationship between the virtual viewpoint and the render surface is equivalent to a relationship of a user's viewpoint and the display;

define first frustum boundaries with respect to edges of the render surface, wherein the edges of the render surface correspond to edges and dimensions of the display, wherein the first frustum boundaries comprise a first near clipping plane and a first far clipping plane;

define dimensions of the first near and far clipping planes based on intersections of ray traces emanating from the virtual viewpoint and extending through edges of the render surface; and

display the 3D graphic objects on the display with a perspective based on the virtual viewpoint.

14. The system of claim 13 ,

wherein the processor is further configured to:

track, via information received from a tracking system in communication with the system, position and orientation of a user with respect to a position and orientation of the physical display, wherein the user's viewpoint is determined based on the position and orientation of the user; and

wherein to define the virtual viewpoint, the processor is further configured to define the virtual viewpoint based on the user's viewpoint.

15. The system of claim 14 ,

wherein the system further comprises the tracking system.

16. The system of claim 13 ,

wherein the user's viewpoint is a user's first viewpoint, wherein the virtual viewpoint is a first virtual viewpoint, and wherein the processor is further configured to:

update, based on determining that position and orientation of the user changed, the user's first viewpoint to a user's second viewpoint; and

define a second virtual viewpoint based on the user's second viewpoint; and

display the 3D graphic objects on the physical display with a perspective based on the second virtual viewpoint.

17. The system of claim 16 ,

wherein the processor is further configured to:

define second frustum boundaries with respect to edges of the render surface, wherein the second frustum boundaries comprise a second near clipping plane and a second far clipping plane, wherein dimensions of the second near and second far clipping planes are based on intersections of ray traces emanating from the second virtual viewpoint and extending through edges of the render surface.

18. The system of claim 16 ,

wherein the position and orientation of the user is received from a tracking system in communication with the system.

19. The system of claim 13 ,

wherein the render surface is at a non-normal position and orientation with respect to the virtual viewpoint.

20. The system of claim 13 ,

wherein the display comprises a handheld display.

Assignments (7)
SECURITY INTEREST Recorded Apr 14, 2025
From: ZSPACE, INC.
To: 3I, L.P.
Reel/Frame 070826/0887 →
RELEASE OF PATENT SECURITY AGREEMENT Recorded Feb 6, 2023
From: EAST WEST BANK
To: ZSPACE, INC.
Reel/Frame 062640/0162 →
SECURITY INTEREST Recorded Sep 17, 2021
From: ZPACE, INC.
To: EAST WEST BANK
Reel/Frame 057651/0222 →
SECURITY INTEREST Recorded May 22, 2019
From: ZSPACE, INC.
To: BSPACE INVESTMENTS LIMITED
Reel/Frame 049259/0533 →
RELEASE OF SECURITY INTEREST Recorded May 8, 2019
From: RUNWAY GROWTH CREDIT FUND INC.
To: ZSPACE, INC. (F/K/A INFINITE Z, INC.)
Reel/Frame 049113/0898 →
SECURITY INTEREST Recorded Jan 2, 2018
From: ZSPACE, INC. (F/K/A INFINITE Z, INC.)
To: RUNWAY GROWTH CREDIT FUND INC.
Reel/Frame 044985/0721 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2016
From: VESELY, MICHAEL A.; CLEMENS, NANCY L.; GRAY, ALAN S.
To: ZSPACE, INC.
Reel/Frame 038029/0909 →
Continuity (5)
Continuation 14268386 · May 2, 2014
Continuation 13019384 · Feb 2, 2011
Continuation In Part 11429829 · May 8, 2006
Provisional Application 60679633 · May 9, 2005
Related Publication 20160267707A1 · Sep 15, 2016