IP Library Granted Patent US 10,960,306
Granted Patent B2
US 10,960,306 · App. 16/536,956 · Granted Mar 30, 2021

Management of streaming video data

Inventor: Andrew Paradise (San Francisco, CA)
Assignee: SKILLZ INC.
A63F13/35A63F13/332A63F13/335A63F13/355A63F13/497A63F13/5255A63F13/53A63F13/86A63F2300/406A63F2300/407A63F2300/51
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 10,960,306
App. No.
16/536,956
Granted
Mar 30, 2021
Kind
B2
Abstract

User action data characterizing action by a player in a game environment executing at a user client is received at a server. The game environment is created by the user client separate from the server. Data characterizing a selected viewing position is received. The selected viewing position is different than a player viewing position. The selected viewing position characterizes a viewing location within the game environment. A recreated game environment is generated from the user action data at the server. A video stream of the recreated game environment is generated. The video stream includes video from a perspective of the selected viewing position. The video stream is transmitted to a viewing client. Related apparatus, systems, articles, and techniques are also described.

Claims (48)

1. A method comprising:

receiving, at a first data processor, user action data characterizing player action in a game environment executing at a client, the game environment instantiated by the client separate from the first data processor, the client rendering the game environment from a first spatial position within the game environment;

receiving, at the first data processor, data characterizing a viewing position including a second spatial position within the game environment, the second spatial position different than the first spatial position; and

rendering, using the user action data, a recreated game environment including past player action from a perspective of the selected viewing position.

2. The method of claim 1 , wherein the user action data includes data characterizing user interface actions by a player with the game environment.

3. The method of claim 1 , wherein rendering the recreated game environment includes executing a game engine using game state data and the user activity data.

4. The method of claim 3 , wherein the game engine receives the viewing position and the user action data and renders the recreated game environment from the perspective of the viewing position.

5. The method of claim 1 , wherein the user activity data is retrieved from a database and the user activity data is associated with a historical game play.

6. The method of claim 1 , wherein the user activity data is received from the client or a game hosting server; and

wherein the user activity data is from an ongoing executing game environment.

7. The method of claim 1 , further comprising:

generating a video stream of the recreated game environment, the video stream including video replay of past player action from the perspective of the viewing position; and

transmitting the video stream to a viewing client;

wherein generating the video stream includes capturing the rendered recreated game environment.

8. The method of claim 7 , further comprising:

receiving an audio stream; and

combining the audio stream with the video stream prior to transmission of the video stream.

9. The method of claim 1 , further comprising:

generating statistics on a player using the user action data; and

transmitting statistics to a viewing client.

10. The method of claim 1 , further comprising:

updating the recreated game environment using the user action data to visualize the past player action over time.

11. The method of claim 1 , wherein the viewing position is dynamic over time and a perspective of a video replay of past player action varies over time based on changes in the viewing position.

12. The method of claim 1 , further comprising:

simultaneously displaying a generated video stream and a live video stream of gameplay by a player within a user interface of a commentator client.

13. The method of claim 1 , wherein the rendering is performed by a first data processor or by a server remote from the first data processor.

14. A system comprising:

a first data processor and memory storing instructions, which when executed by the first data processor, cause the first data processor to perform operations comprising:

receiving, at the first data processor, user action data characterizing player action in a game environment executing at a client, the game environment instantiated by the client, the client rendering the game environment from a first spatial position within the game environment;

receiving, at the first data processor, data characterizing a viewing position including a second spatial position within the game environment, the second spatial position different than the first spatial position; and

rendering, by the first data processor and using the user action data, a recreated game environment including past player action from a perspective of the viewing position.

15. The system of claim 14 , wherein the rendering is performed by the first data processor or by a server remote from the first data processor.

16. The system of claim 14 , wherein determining the recreated game environment includes executing a game engine using game state data and the user activity data.

17. The system of claim 16 , wherein the at least one data processor includes the game engine that receives the viewing position and the user action data and renders the recreated game environment from the perspective of the viewing position.

18. The system of claim 14 , the operations further comprising:

generating a video stream of the recreated game environment, the video stream including video replay of past action by the player from the perspective of the viewing position; and

transmitting the video stream to a viewing client;

wherein generating the video stream includes capturing the rendered recreated game environment.

19. The system of claim 18 , the operations further comprising:

receiving an audio stream;

combining the audio stream with the video stream prior to transmission of the video stream;

generating statistics on a player using user action data;

transmitting statistics to a viewing client;

simultaneously displaying the generated video stream and a live video stream of gameplay by the player within a user interface of a commentator client.

20. A non-transitory computer program product storing executable instructions, which, when executed by at least one data processor forming part of at least one computing system, implements operations comprising:

receiving, at the first data processor, user action data characterizing player action in a game environment executing at a client, the game environment instantiated by the client, the client rendering the game environment from a first spatial position within the game environment;

receiving, at the first data processor, data characterizing a viewing position including a second spatial position within the game environment, the second spatial position different than the first spatial position; and

rendering, at the first data processor and using the user action data, a recreated game environment including past player action from a perspective of the viewing position.

Assignments (3)
SECURITY INTEREST Recorded Dec 21, 2021
From: SKILLZ PLATFORM INC.
To: UMB BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 058448/0513 →
CHANGE OF NAME Recorded Mar 23, 2021
From: SKILLZ INC.
To: SKILLZ PLATFORM INC.
Reel/Frame 055684/0156 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2019
From: PARADISE, ANDREW
To: SKILLZ INC.
Reel/Frame 050020/0766 →
Continuity (4)
Continuation 16001259 · Jun 6, 2018
Continuation 15459313 · Mar 15, 2017
Continuation 62309327 · Mar 16, 2016
Related Publication 20190358538A1 · Nov 28, 2019