# US 2021/0342384 A1 · Video generation system to render frames on demand using a fleet of servers

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0342384 A1
- Document ID: US20210342384A1
- Status: Published application
- Kind: A1
- Application number: 17/327,050
- Filed: 2021-05-21
- Published: 2021-11-04
- Earliest claimed: 2020-01-30
- Assignees: Snap Inc.
- Applicants: Snap Inc.
- Inventors: Allan Baril; Chirag Gada
- Web page: https://patentgrep.com/patent/US20210342384A1

## CPC

- G06F 16/4387: {by the use of playlists}
- G06F 16/48: Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- H04L 65/612: for unicast
- H04N 7/157: {defining a virtual conference space and using avatars or agents (computer conference optimisation or adaptation H04L12/1827)}
- H04N 21/23412: {for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects}
- H04N 21/26258: {for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list (retrieval of multimedia data based on playlists G06F16/40)}
- H04N 21/2743: Video hosting of uploaded data from client
- H04N 21/4788: communicating with other users, e.g. chatting {(arrangements for providing for computer conferences, e.g. chat rooms, to substation in data switching networks H04L12/1813; distributed application using peer-to-peer [P2P] networks H04L67/104)}
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- A63F 2300/5553: user representation in the game field, e.g. avatar
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- A63F: CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR

## 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

### Claim 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.

### Claim 2 (depends on 1)

The content controller system of claim 1, wherein
the media content item is a video associated with the media content identification.

### Claim 3 (depends on 2)

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.

### Claim 4 (depends on 1)

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

### Claim 5 (depends on 1)

The content controller system of claim 1, wherein the operations further comprising:
retrieving the segment states from the segment state database.

### Claim 6 (depends on 1)

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

### Claim 7 (depends on 6)

The content controller system of claim 6, wherein the operations further comprising:
generating the second set of media content item segments.

### Claim 8 (depends on 7)

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.

### Claim 9 (depends on 8)

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.

### Claim 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.

### Claim 11 (depends on 10)

The content controller system of claim 10, wherein
the media content item is a video associated with the media content identification.

### Claim 12 (depends on 10)

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.

### Claim 13 (depends on 16)

The content controller system of claim 16, wherein the first set of media content item segments is sequential to the second set of media content item segments.

### Claim 14 (depends on 10)

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

### Claim 15 (depends on 10)

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.

### Claim 16 (depends on 10)

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.

### Claim 17 (depends on 11)

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.

### Claim 18 (depends on 12)

The content controller system of claim 12, wherein the delivery server system is further to perform operations comprising:
updating the playlist to include the second set of media content item segments.

### Claim 19 (depends on 13)

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

### Claim 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, 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;
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.
