IP Library › Granted Patent US 11,263,254
Granted Patent B2
US 11,263,254 · App. 17/327,050 · Granted Mar 1, 2022

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/4084H04N21/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 11,263,254
App. No.
17/327,050
Filed
May 21, 2021
Granted
Mar 1, 2022
Kind
B2
Art Unit
2456
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 (70)

1. A content controller system comprising:

a processor; and

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

receiving a. request for a media content item from a client device, the request comprising a media content identification and a main user identification;

retrieving segment states from a segment state database, wherein the segment states indicate availability associated with media content item segments;

compiling and transmitting to the client device a playlist including a first set of media content item segments, wherein the first set of media content item segments is based on the segment states;

causing a plurality of servers to render segments corresponding to a plurality of segment render requests using the media content identification and the main user identification, wherein the segment render requests correspond to segments included in a second set of media content item segments,

wherein the plurality of servers rendering the segments comprises:

generating a main user avatar based on the main user identification, and

incorporating the main user avatar into the segments;

uploading the segments to a segment database; and

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

2. The content controller system of claim 1 , wherein

the media content item is a video associated with the media content identification.

3. The content controller 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 content controller system of claim 1 , wherein the main user identification is associated with a user of the client device.

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

retrieving the segment states from the segment state database.

6. The content controller system of claim 1 , wherein the operations further comprising:

collecting the segments.

7. The content controller system of claim 6 , wherein the operations further comprising:

generating the second set of media content item segments.

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

9. The content controller 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 content controller system comprising:

a delivery server system;

a rendering server system comprising a plurality of servers;

a processor; and.

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

receiving a request for a media content item from a client device, the request comprising a media content identification and a main user identification,

retrieving segment states from a segment state database, wherein the segment states indicate availability associated with media content item segments,

compiling and transmitting to the client device a playlist including a first set of media content item segments, wherein the first set of media content item segments is based on the segment states, and

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

rendering segments corresponding to a plurality of segment render requests using the media content identification and the main user identification, wherein the segment render requests correspond to segments included in a second set of media content item segments, wherein rendering the segments comprises:

generating a main user avatar based on the main user identification, and

incorporating the main user avatar into the segments,

uploading the segments to the segment database, and

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

11. The content controller system of claim 10 , wherein

the media content item is a video associated with the media content identification.

12. The content controller system of claim 11 , wherein the delivery server system is further to perform operations comprising:

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

13. The content controller system 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.

14. The content controller system of claim 13 , wherein the delivery server system is further to perform operations comprising:

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

15. The content controller system 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 content controller system of claim 15 , wherein the delivery server system updating the playlist comprises:

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

transmitting the updated playlist to the client device.

17. The content controller system of claim 10 , wherein the main user identification is associated with a user of the client device.

18. The content controller system of claim 10 , wherein the delivery server system is further to perform operations comprising:

retrieving the segment states from the segment state database.

19. The content controller system of claim 10 , wherein the delivery server system is further to perform operations comprising:

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

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, the request comprising a media content identification and a main user identification;

retrieving segment states from a segment state database, whereinthe segment states indicate availability associated with media content item segments;

compiling and transmitting to the client device a playlist including a first set of media content item segments, wherein the first set of media content item segments is based on the segment states;

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 a plurality of servers to render the segments corresponding to the segment render requests using the media content identification and the main user identification, wherein the plurality of servers rendering the segments comprises

generating a main user avatar based on the main user identification, and

incorporating the main user avatar into the segments;

uploading the segments to the segment database; and

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

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2021
From: BARIL, ALLAN; GADA, CHIRAG
To: SNAP INC.
Reel/Frame 057806/0688 →
Continuity (2)
Continuation 16777799 · Jan 30, 2020
Related Publication 20210342384A1 · Nov 4, 2021
Cited By (75)
US 1,089,291 US 12,198,398 US 12,223,672 US 12,229,901 US 12,231,709 US 12,235,991 US 12,236,512 US 12,254,577 US 12,271,536 US 12,277,632 US 12,277,638 US 12,284,146 US 12,284,698 US 12,288,273 US 12,293,433 US 12,299,775 US 12,307,564 US 12,315,495 US 12,321,577 US 12,335,575 US 12,340,453 US 12,361,934 US 12,387,444 US 12,394,154 US 12,395,456 US 12,412,347 US 12,417,562 US 12,418,504 US 12,429,953 US 12,436,598 US 12,469,273 US 12,472,435 US 12,475,621 US 12,475,658 US 12,499,483 US 12,499,638 US 12,504,866 US 12,513,098 US 12,517,626 US 12,518,437 US 12,518,738 US 12,530,847 US 12,530,852 US 12,536,751 US 12,541,930 US 12,548,267 US 12,555,274 US 12,555,310 US 12,567,102 US 12,579,204 US 12,580,784 US 12,580,980 US 12,586,562 US 12,602,842 US 12,614,354 US 12,614,359 US 12,620,188 US 12,620,216 US 12,632,890 US 12,633,073 US 12,646,266 US 12,646,268 US 12,651,292 US 12,651,409 US 12,670,674 US 12,682,508 US 12,695,929 US 12,699,802 US 12,700,187 US 12,705,875 US 12,711,538 US 12,725,332 US 12,731,342 US 12,731,343 US 12,737,973