IP Library › Granted Patent US 9,892,546
Granted Patent B2
US 9,892,546 · App. 15/013,784 · Granted Feb 13, 2018

Pursuit path camera model method and system

Inventor: Barry L. Jenkins (Pottsville, PA)
Assignee: PRIMAL SPACE SYSTEMS, INC.
G06T15/20G06T19/003G06T15/40G06T2200/28G06T2210/08
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,892,546
App. No.
15/013,784
Granted
Feb 13, 2018
Kind
B2
Abstract

A method of pursuit path camera model navigation includes, providing, via processing circuitry of one server, a future viewpoint located at a first location and a current viewpoint located at a second location and calculating a first prefetch region including one or more viewcells and one or more visibility even packets, the first prefetch region corresponding to the first location of the future viewpoint and the second location of the current viewpoint. The method further includes receiving commands to modify the first location of the future viewpoint to a third location at a first velocity, calculating a navigational intent of the future viewpoint based on the commands, and calculating a second prefetch region including the viewcells and the visibility event packets by collapsing the calculated first prefetch region into the second prefetch region, the second prefetch region corresponding to a predicted pursuit path based on the calculated navigational intent.

Claims (84)

1. A method of pursuit path camera model navigation, comprising:

providing, via processing circuitry of at least one server, at least one future viewpoint located at a first location and at least one current viewpoint located at a second location;

calculating, via the circuitry, a first prefetch region including one or more viewcells and one or more visibility event packets corresponding to the one or more viewcells, the first prefetch region corresponding to the first location of the at least one future viewpoint and the second location of the at least one current viewpoint;

receiving, via the circuitry, one or more commands to modify the first location of the at least one future viewpoint to a third location at a first velocity;

calculating, via the circuitry, a navigational intent of the at least one future viewpoint based on the one or more commands;

calculating, via the circuitry, a second prefetch region including the one or more viewcells and the one or more visibility event packets by collapsing the calculated first prefetch region into the second prefetch region, the second prefetch region corresponding to a predicted pursuit path after a predetermined delay period based on the calculated navigational intent; and

decreasing the predetermined delay period when a translational velocity of the at least one future viewpoint falls below a predetermined threshold.

2. The method of claim 1 , wherein the second location of the at least one current viewpoint follows the first location of the at least one future viewpoint at a second velocity.

3. The method of claim 2 , wherein the one or more commands include at least one of turning, braking, coasting, and acceleration.

4. The method of claim 3 , wherein the braking includes an immediate deceleration of the at least one future viewpoint to reduce the first velocity.

5. The method of claim 3 , wherein the coasting includes maintaining the second velocity moving the at least one current viewpoint towards the third location of the at least one future viewpoint.

6. The method of claim 3 , wherein the acceleration includes an immediate acceleration of the at least one future viewpoint to increase the first velocity.

7. The method of claim 1 , wherein the one or more commands provide local control of the at least one future viewpoint.

8. The method of claim 1 , wherein the first prefetch region includes at least one of an area and a volume based on the first location of the at least one future viewpoint and the second location of the at least one current viewpoint.

9. The method of claim 1 , wherein the one or more commands are detected via an input device in communication with the at least one server, the input device including at least one of a joystick, an eye tracker, and a gesture recognition device.

10. A non-transitory computer-readable storage medium, having stored thereon instructions that when executed by a computing device, cause the computing device to perform a method of pursuit path camera model navigation, comprising:

providing, via processing circuitry of at least one server, at least one future viewpoint located at a first location and at least one current viewpoint located at a second location;

calculating, via the circuitry, a first prefetch region including one or more viewcells and one or more visibility event packets corresponding to the one or more viewcells, the first prefetch region corresponding to the first location of the at least one future viewpoint and the second location of the at least one current viewpoint;

receiving, via the circuitry, one or more commands to modify the first location of the future viewpoint to a third location at a first velocity;

calculating, via the circuitry, a navigational intent of the at least one future viewpoint based on the one or more commands; and

calculating, via the circuitry, a second prefetch region including the one or more viewcells and the one or more visibility event packets by collapsing the calculated first prefetch region into the second prefetch region, the second prefetch region corresponding to a predicted pursuit path after a predetermined delay period based on the navigational intent; and

decreasing the predetermined delay period when a translational velocity of the at least one future viewpoint falls below a predetermined threshold.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the second location of the at least one current viewpoint follows the first location of the at least one future viewpoint at a second velocity.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the one or more commands include at least one of turning, braking, coasting, and acceleration.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the braking includes an immediate deceleration of the at least one future viewpoint to reduce the first velocity.

14. The on-transitory computer-readable storage medium of claim 12 , wherein the coasting includes maintaining the second velocity moving the at least one current viewpoint towards the third location of the at least one future viewpoint.

15. The non-transitory computer-readable storage medium of claim 12 , wherein the acceleration includes an immediate acceleration of the at least one future viewpoint to increase the first velocity.

16. The non-transitory computer-readable storage medium of claim 10 , wherein the one or more commands provide local control of the at least one future viewpoint.

17. The non-transitory computer-readable storage medium of claim 10 , wherein the first prefetch region includes at least one of an area and a volume based on the first location of the at least one future viewpoint and the second location of the at least one current viewpoint.

18. The non-transitory computer-readable storage medium of claim 10 , wherein the one or more commands are detected via an input device in communication with the at least server, the input device including at least one of a joystick, an eye tracker, and a gesture recognition device.

19. A pursuit path camera model navigation system, comprising:

an input device in communication with at least one server and including at least one of a joystick, an eye tracker, and a gesture recognition device;

the at least one server including processing circuitry configured to:

provide at least one future viewpoint located at a first location and at least one current viewpoint located at a second location,

calculate a first prefetch region including one or more viewcells and one or more visibility event packets corresponding to the one or more viewcells, the first prefetch region corresponding to the first location of the at least one future viewpoint and the second location of the at least one current viewpoint,

receive one or more commands to modify the first location of the at least one future viewpoint to a third location at a first velocity via the input device,

calculate a navigational intent of the at least one future viewpoint based on the one or more commands, and

calculate a second prefetch region including the one or more viewcells and the one or more visibility event packets by collapsing the calculated first prefetch region into the second prefetch region, the second prefetch region corresponding to a predicted pursuit path after a predetermined delay period based on the calculated navigational intent, and

decreasing the predetermined delay period when a translational velocity of the at least one future viewpoint falls below a predetermined threshold; and

at least one client device in communication with the at least one server and at least one graphical display.

20. The system of claim 19 , wherein the first prefetch region includes at least one of an area and a volume based on the first location of the at least one future viewpoint and the second location of the at least one current viewpoint.

21. A method, conducted on a client device, of receiving at least one future visibility event packet from a server, the at least one future visibility event packet including renderable graphics information occluded from a first viewcell visited by a future viewpoint and not occluded from a second viewcell visited by the future viewpoint, comprising:

calculating, via circuitry of the client device, the future viewpoint from a viewpoint and view direction determined by a current viewpoint;

transmitting, via the circuitry of the client device, information representing a position of the future viewpoint from the client device to the server;

receiving, via circuitry of the client device, the at least one future visibility event packet;

transforming, via the circuitry of the server, the current viewpoint to follow, after a predetermined delay period, a path of the future viewpoint; and

decreasing the delay period when a translational velocity of the future viewpoint falls below a predetermined threshold.

22. The method of claim 21 , further comprising increasing the delay period when the at least one future visibility event packet is predicted to arrive after the renderable graphics information should become unoccluded.

23. The method of claim 21 , further comprising displaying an indication of a threat at the client device when the at least one future visibility event packet is predicted to arrive after the renderable graphics information should become unoccluded.

24. The method of claim 23 , wherein the indication includes an indication of a threat along a portion of a space curve between the future viewpoint and the current viewpoint.

25. The method of claim 21 , further comprising:

displaying a warning of a threat at the client device when the at least one future visibility event packet is predicted to arrive after the renderable graphics should become unoccluded, and

calculating a simulated attack including at least one of slowing and stopping of the future viewpoint when the user does not directly slow the future viewpoint in response to the warning.

26. A method, conducted on a server, of transmitting at least one future visibility event packet to a client device, the at least one future visibility event packet including renderable graphics information occluded from a first viewcell visited by a future viewpoint and not occluded from a second viewcell visited by the future viewpoint, comprising:

transmitting, via circuitry of the client device, renderable graphics information representing a position of the future viewpoint from a viewpoint and view direction determined by a current viewpoint, from the client device to the server; and then

transmitting, via circuitry of the server, the at least one future visibility event packet, from the server to the client device,

wherein the circuitry of the server transforms the current viewpoint to follow, after a predetermined delay period, a path of the future viewpoint; and

decreasing the predetermined delay period when a translational velocity of the at least one future viewpoint falls below a predetermined threshold.

27. A method, conducted on a first client device, of receiving at least one future visibility event packet from a server, the at least one future visibility event packet including renderable graphics information occluded from a first viewcell visited by a future viewpoint and not occluded from a second viewcell visited by the future viewpoint, comprising:

calculating, via circuitry of a first client device, the future viewpoint from a viewpoint and view direction determined by a current viewpoint;

transmitting, via the circuitry of the first client device, information representing a position of the future viewpoint from the first client device to the server;

transmitting, via circuitry of the server, at least one visibility event packet comprising renderable graphics information from the server to a second client device;

transforming, via the circuitry of the first client device and circuitry of the second client device, the current viewpoint position to follow a path of the future viewpoint after a predetermined delay period; and

decreasing the predetermined delay period when a translational velocity of the future viewpoint falls below a predetermined threshold.

28. A method, conducted on a client device, of receiving at least one future visibility event packet from a server, the at least one future visibility event packet including renderable graphics information occluded from a first viewcell visited by a future viewpoint and not occluded from a second viewcell visited by a future viewpoint, comprising:

calculating, via circuitry of the client device, the future viewpoint from a viewpoint and view direction determined by a current viewpoint;

displaying, via the circuitry of the client device, a representation of the future viewpoint at the client device;

transmitting, via the circuitry of the client device, information representing the position of the future viewpoint from the client device to the server;

transforming, via circuitry of the server, the current viewpoint position to follow a path of the future viewpoint after a specified delay period;

halting, via the circuitry of the client device, the current viewpoint to a fixed position when a user inputs a braking command at the client device;

transforming, via the circuitry of the client device, the future viewpoint to the fixed position of the current viewpoint in response to the braking command; and

decreasing the specified delay period when a translational velocity of the future viewpoint falls below a predetermined threshold.

29. A method, conducted on a client device, of receiving at least one partial future visibility event packet from a server, the at least one partial future visibility event packet including a subset of a complete future visibility event packet, the complete future visibility event packet including renderable graphics information occluded from a first viewcell visited by a future viewpoint and not occluded from a second viewcell visited by the future viewpoint, comprising:

calculating, via circuitry of the client device, the future viewpoint from a viewpoint and view direction determined by a current viewpoint;

transmitting, via the circuitry of the client device, information representing an orientation of the future viewpoint from the client device to the server;

transmitting, via circuitry of the server, the at least one partial future visibility event packet that intersects ah maximal view frustum from the server to the client device,

wherein the maximal view frustum includes a volume of space intersected by the maximal view frustum of the future viewpoint during movement of the future viewpoint in the second viewcell,

wherein the circuitry of the server transforms the current viewpoint to follow, after a predetermined delay period, a path of the future viewpoint; and

decreasing the predetermined delay period when a translational velocity of the future viewpoint falls below a predetermined threshold.

30. A method, conducted on a server, of prefetching at least one partial future visibility event packet to a client device, the at least one partial future visibility event packet including a subset of a complete future visibility event packet, the complete future visibility event packet including renderable graphics information occluded from a first viewcell visited by a future viewpoint and not occluded from a second viewcell visited by a future viewpoint, comprising:

transmitting, via circuitry of the client device, information representing the orientation of the future viewpoint based on a viewpoint and view direction determined by a current viewpoint, from the client device to the server;

transmitting, via circuitry of the server, the at least one partial future visibility event packet that intersects a maximal view frustum from the server to the client device, wherein the maximal view frustum includes a volume of space intersected by the maximal view frustum of the future viewpoint during movement of the future viewpoint in the second viewcell,

wherein the circuitry of the server transforms the current viewpoint to follow, after a predetermined delay period, a path of the future viewpoint; and

decreasing the predetermined delay period when a translational velocity of the future viewpoint falls below a predetermined threshold.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2026
From: PRIMAL SPACE SYSTEMS INC
To: AUGMENTED DYNAMICS LLC
Reel/Frame 075881/0676 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2017
From: JENKINS, BARRY L.
To: PRIMAL SPACE SYSTEMS, INC.
Reel/Frame 043850/0318 →
Continuity (14)
Continuation In Part 13420436 · Mar 14, 2012
Continuation In Part PCTUS2011051403 · Sep 13, 2011
Continuation PCTUS2011042309 · Jun 29, 2011
Continuation In Part PCTUS2011042309 · Jun 29, 2011
Continuation In Part 15013784 · Feb 2, 2016
Continuation In Part 13807824
Provisional Application 62110774 · Feb 2, 2015
Provisional Application 61476819 · Apr 19, 2011
Provisional Application 61474491 · Apr 12, 2011
Provisional Application 61452330 · Mar 14, 2011
Provisional Application 61384284 · Sep 19, 2010
Provisional Application 61382056 · Sep 13, 2010
Provisional Application 61360283 · Jun 30, 2010
Related Publication 20160155260A1 · Jun 2, 2016