# US 12,111,863 B2 · 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 12,111,863 B2
- Document ID: US12111863B2
- Status: Granted
- Kind: B2
- Application number: 18/144,755
- Filed: 2023-05-08
- Published: 2023-08-31
- Granted: 2024-10-08
- Earliest claimed: 2020-01-30
- Assignees: Snap Inc.
- Applicants: Snap Inc.
- Inventors: Allan Baril; Chirag Gada
- Web page: https://patentgrep.com/patent/US12111863B2

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

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 2)

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.

### Claim 4 (depends on 1)

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

### Claim 5 (depends on 1)

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

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

The system of claim 1, wherein the operations further comprising:
collecting the segments; and
generating the second set of media content item segments.

### Claim 8 (depends on 7)

The 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 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 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.

### Claim 11 (depends on 10)

The method of claim 10, wherein
the media content item is a video associated with a media content identification included in the request.

### Claim 12 (depends on 10)

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.

### Claim 13 (depends on 12)

The method of claim 12, further comprising:
updating the playlist to include the second set of media content item segments.

### Claim 14 (depends on 13)

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.

### Claim 15 (depends on 10)

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.

### Claim 16 (depends on 10)

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

### Claim 17 (depends on 10)

The method of claim 10, further comprising:
retrieving the segment states from the segment state database.

### Claim 18 (depends on 10)

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.

### Claim 19 (depends on 10)

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.

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