IP Library › Granted Patent US 11,865,450
Granted Patent B2
US 11,865,450 · App. 17/143,454 · Granted Jan 9, 2024

Systems and methods for predicting states by using a distributed game engine

Inventor: Steven Osman (San Francisco, CA)
Assignee: Sony Interactive Entertainment Inc.
A63F13/577A63F13/335A63F13/58G06N20/00
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 11,865,450
App. No.
17/143,454
Granted
Jan 9, 2024
Kind
B2
Abstract

A method for reducing latency in execution of a game is described. The method includes receiving via a computer network a user input associated with the game and determining from the user input a current state of the game. While the current state of the game is being determined, the method includes predicting a next state of the game based on the user input and one or more predicted user inputs. The method further includes generating one or more predicted image frames from the next state, determining whether the one or more predicted user inputs are received via the computer network, and sending the one or more predicted image frames in response to receiving the one or more predicted user inputs to reduce the latency in execution of the game.

Claims (43)

1. A method for prioritizing generation of image frames, comprising:

receiving a first user input from a client device via a computer network during a play of a game;

predicting a second user input to follow the first user input, the predicting of the second user input uses a game state during the play of the game;

generating, for display on the client device, one or more image frames of the game based on the second user input;

while said generating the one or more image frames based on the second user input, determining whether a third user input is received via the computer network from the client device instead of the second user input that was predicted;

discontinuing said generating the one or more image frames based on the second user input and instead generating one or more image frames based on the third user input when it is determined that the third user input is received, wherein said discontinuing said generating the one or more image frames based on the second user input occurs before the one or more image frames generated based on the second user input are sent; and

sending the one or more image frames generated based on the third user input via the computer network to the client device for display on the client device.

2. The method of claim 1 , wherein the first user input is received via the computer network from the client device that is operated by a user, wherein the second user input is predicted based on history of play of the game by the user, or history of play of the game by one or more additional users, or a combination thereof.

3. The method of claim 1 , further comprising generating one or more image frames based on the first user input, wherein the second user input is predicted with a lower priority compared to said generating the one or more image frames based on the first user input.

4. The method of claim 1 , further comprising generating one or more image frames based on the first user input, wherein said generating the one or more image frames based on the second user input is performed with a lower priority compared to said generating the one or more image frames based on the first user input.

5. The method of claim 1 , wherein the third user input is received during a time period in which the one or more image frames are generated based on the second user input.

6. The method of claim 1 , wherein the one or more image frames generated based on the third user input include a virtual object and a virtual background, wherein the virtual object is overlaid on the virtual background, wherein the virtual background is a portion of the one or more image frames generated based on the second user input.

7. A system for prioritizing generation of image frames, comprising:

a client device; and

one or more server nodes coupled to the client device via a computer network, wherein the one or more server nodes are configured to:

receive a first user input from the client device via the computer network during a play of a game;

predict a second user input to follow the first user input, wherein the second input is predicted based on a game state during the play of the game;

generate, for display on the client device, one or more image frames of the game based on the second user input;

determine whether a third user input is received via the computer network from the client device instead of the second user input that was predicted, wherein the determination whether the third user input is received occurs while the one or more image frames are being generated based on the second user input;

discontinue the generation of the one or more image frames based on the second user input and instead generate one or more image frames based on the third user input when it is determined that the third user input is received instead of the second user input, wherein the generation of the one or more image frames based on the second user input is discontinued before the one or more image frames generated based on the second user input are sent; and

send the one or more image frames generated based on the third user input via the computer network to the client device for display on the client device.

8. The system of claim 7 , wherein the first user input is received via the computer network from the client device that is operated by a user, wherein the second user input is predicted based on history of play of the game by the user, or history of play of the game by one or more additional users, or a combination thereof.

9. The system of claim 7 , wherein the one or more server nodes are configured to generate one or more image frames based on the first user input, wherein the second user input is predicted with a lower priority compared to the generation of the one or more image frames based on the first user input.

10. The system of claim 7 , wherein the one or more server nodes are configured to generate one or more image frames based on the first user input, wherein the one or more image frames are generated based on the second user input with a lower priority compared to the generation of the one or more image frames based on the first user input.

11. The system of claim 7 , wherein the third user input is received during a time period in which the one or more image frames are generated based on the second user input.

12. The system of claim 7 , wherein the one or more image frames generated based on the third user input include a virtual object and a virtual background, wherein the virtual object is overlaid on the virtual background, wherein the virtual background is a portion of the one or more image frames generated based on the second user input.

13. A system for prioritizing generation of image frames, comprising:

a first processor configured to receive a first user input from a client device via a computer network during a play of a game, wherein the first processor is configured to predict a second user input to follow the first user input, wherein the second input is predicted based on a game state during the play of the game;

a second processor coupled to the first processor, wherein the second processor is configured to generate, for display on the client device, one or more image frames of the game based on the second user input;

a third processor in communication with the first processor, wherein while the one or more image frames are being generated based on the second user input, the third processor is configured to determine whether a third user input is received via the computer network from the client device instead of the second user input that was predicted;

a fourth processor coupled to the third processor, wherein the second processor is configured to discontinue the generation of the one or more image frames based on the second user input and the fourth processor is configured to generate one or more image frames based on the third user input, wherein the one or more image frames are generated based on the third user input when it is determined that the third user input is received instead of the second user input, wherein the second processor is configured to discontinue the generation of the one or more image frames based on the second user input before the one or more image frames generated based on the second user input are sent, wherein the fourth processor is configured to facilitate sending the one or more image frames generated based on the third user input via the computer network to the client device for display on the client device.

14. The system of claim 13 , wherein the first user input is received via the computer network from the client device that is operated by a user, wherein the second user input is predicted based on history of play of the game by the user, or history of play of the game by one or more additional users or a combination thereof.

15. The system of claim 13 , wherein the fourth processor is configured to generate one or more image frames based on the first user input, wherein the second user input is predicted with a lower priority compared to the generation of the one or more image frames based on the first user input.

16. The system of claim 13 , wherein the fourth processor is configured to generate one or more image frames based on the first user input, wherein the one or more image frames are generated based on the second user input with a lower priority compared to the generation of the one or more image frames based on the first user input.

17. The method of claim 1 , wherein said receiving the first user input is performed by a first server, wherein said predicting the second user input and generating the one or more image frames based on the second user input are performed by a second server, wherein the third user input is received by the first server, wherein said discontinuing said generating the one or more image frames based on the second user input is performed by the second server, wherein said generating the one or more image frames based on the third user input is performed by the first server, and said sending the one or more image frames generated based on the third user input is performed by the first server, the method further comprising:

communicating the first user input from the first server to a second server; and

communicating the third user input from the first server to the second server.

18. The method of claim 17 , further comprising:

communicating, from the second server, the second user input to the first server;

comparing, by the first server, the second user input with the third user input to determine whether there is a match between the second and third user inputs;

determining, by the first server, that the second user input does not match the third user to determine that the third user input is different from the second user input.

19. The method of claim 17 , further comprising:

communicating the third user input from the first server to the second server, wherein said discontinuing said generating the one or more image frames occurs upon receiving the third user input.

Continuity (2)
Continuation 16355535 · Mar 15, 2019
Related Publication 20210154583A1 · May 27, 2021
Cited By (1)
US 12,636,577