IP Library › Granted Patent US 12,045,276
Granted Patent B2
US 12,045,276 · App. 18/144,755 · Granted Jul 23, 2024

Video generation system to render frames on demand using a fleet of servers

Inventors: Allan Baril (Toronto, CA); Chirag Gada (Toronto, CA)
Assignee: Snap Inc.
G06F16/4387G06F16/48H04L65/612H04N21/26258H04N21/8456
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 12,045,276
App. No.
18/144,755
Filed
May 8, 2023
Granted
Jul 23, 2024
Kind
B2
Art Unit
2444
USPC
709/219
Abstract

Content controller system comprising rendering server system comprising a plurality of servers. The servers receiving a plurality of segment render requests that correspond respectively to segments included in a set of media content item segments. The servers render the segments corresponding to the segment render requests using a media content identification and a main user identification. Rendering the segments comprises retrieving metadata from a metadata database associated with the media content identification, rendering the segments using the metadata, generating a main user avatar based on the main user identification, and incorporating the main user avatar into the segments. The servers can upload the segments to a segment database and update segment states in a segment state database to indicate that the segments are available. Other embodiments are disclosed herein.

Claims (54)

1. A system comprising:

a processor; and

a memory having instructions stored thereon, when executed by the processor, causes the system to perform operations comprising:

receiving a request for a media content item from a client device;

compiling and transmitting to the client device a playlist including a first set of media content item segments based on segment states from a segment state database;

causing segments corresponding to a plurality of segment render requests to be rendered using the request for the media content item, wherein the segment render requests correspond to segments included in a second set of media content item segments; and

updating the segment states in the segment state database to indicate that the segments are available.

2. The system of claim 1 , wherein

the media content item is a video associated with a media content identification included in the request.

3. The system of claim 2 , wherein

the segments included in the second set of media content item segments are a plurality of frames included in the media content item.

4. The system of claim 1 , wherein the request includes a main user identification that is associated with a user of the client device.

5. The system of claim 1 , wherein the operations further comprising:

retrieving the segment states from the segment state database.

6. The system of claim 1 , wherein rendering the segments further comprises:

incorporating a main user avatar into the segments, wherein the main user avatar is based on a main user identification included in the request.

7. The system of claim 1 , wherein the operations further comprising:

collecting the segments; and

generating the second set of media content item segments.

8. The system of claim 7 , wherein the operations further comprising: updating the playlist to include the second set of media content item segments.

9. The system of claim 8 , wherein updating the playlist further comprises:

compiling the updated playlist to include the second set of media content item segments; and

transmitting the updated playlist to the client device.

10. A method comprising:

receiving a request for a media content item from a client device;

compiling and transmitting to the client device a playlist including a first set of media content item segments based on segment states from a segment state database;

rendering segments corresponding to a plurality of segment render requests using the request for the media content item, wherein the segment render requests correspond to segments included in a second set of media content item segments; and

updating segment states in the segment state database to indicate that the segments are available.

11. The method of claim 10 , wherein

the media content item is a video associated with a media content identification included in the request.

12. The method of claim 10 , wherein

the first set of media content item segments and the second set of media content item segments, respectively, are a plurality of frames included in the media content item.

13. The method of claim 12 , further comprising:

updating the playlist to include the second set of media content item segments.

14. The method of claim 13 , wherein updating the playlist further comprises:

compiling the updated playlist to include the second set of media content item segments; and

transmitting the updated playlist to the client device.

15. The method of claim 10 , wherein the first set of media content item segments is sequential to the second set of media content item segments.

16. The method of claim 10 , wherein the request includes a main user identification that is associated with a user of the client device.

17. The method of claim 10 , further comprising:

retrieving the segment states from the segment state database.

18. The method of claim 10 , wherein rendering the segments further comprises:

incorporating a main user avatar into the segments, wherein the main user avatar is based on a main user identification included in the request.

19. The method of claim 10 , further comprising:

collecting the segments and generating the second set of media content item segments; and

encoding the second set of media content item segments into a video.

20. A rendering server system comprising:

a processor; and

a memory component having instructions stored thereon, when executed by the processor, causes the rendering server system to perform operations comprising:

receiving a request for a media content item from a client device;

compiling and transmitting to the client device a playlist including a first set of media content item segments based on segment states from a segment state database;

generating a plurality of segment render requests, wherein the segment render requests correspond respectively to segments included in a second set of media content item segments;

causing the segments corresponding to the segment render requests to be rendered using the request for the media content item; and

updating segment states in the segment state database to indicate that the segments are available.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2023
From: BARIL, ALLAN; GADA, CHIRAG
To: SNAP INC.
Reel/Frame 063669/0477 →
Continuity (4)
Continuation 17583784 · Jan 25, 2022
Continuation 17327050 · May 21, 2021
Continuation 16777799 · Jan 30, 2020
Related Publication 20230273948A1 · Aug 31, 2023