# US 11,443,773 B2 · Process for defining, capturing, assembling, and displaying customized video content

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

- Number: US 11,443,773 B2
- Document ID: US11443773B2
- Status: Granted
- Kind: B2
- Application number: 17/342,856
- Filed: 2021-06-09
- Published: 2021-09-23
- Granted: 2022-09-13
- Earliest claimed: 2016-10-28
- Assignees: Zazzle Inc.
- Applicants: Zazzle Inc.
- Inventors: Young Harvill
- Web page: https://patentgrep.com/patent/US11443773B2

## CPC

- G11B 27/036: Insert-editing
- G06T 19/006: {Mixed reality (object pose determination, tracking or camera calibration for mixed reality G06T7/00)}
- G11B 27/19: by using information detectable on the record carrier
- H04N 21/23418: {involving operations for analysing video streams, e.g. detecting features or characteristics (television picture signal circuitry for scene change detection H04N5/147; filtering for image enhancement G06T5/00; methods or arrangements for recognising scenes G06V20/00; arrangements characterised by components specially adapted for monitoring, identification or recognition of video in broadcast systems H04H60/59)}
- H04N 21/235: Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N 21/8146: {involving graphical data, e.g. 3D object, 2D graphics}
- H04N 21/816: {involving special video data, e.g 3D video}
- H04N 21/8166: {involving executable data, e.g. software (arrangements for executing specific programs G06F9/44; broadcasting computer programmes in broadcast systems H04H20/91; involving the movement of software or configuration parameters H04L67/34)}
- H04N 21/8547: involving timestamps for synchronizing content
- G06T 2210/16: Cloth
- G11B: INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER (recording measured values in a way that does not require playback through a transducer G01D9/00; recording or playback apparatus using mechanically marked tape, e.g. punched paper tape, or using unit records, e.g. punched or magnetically marked cards G06K; transferring data from one type of record carrier to another G06K1/18; circuits for coupling output of reproducer to radio receiver H04B1/20; gramophone pick-ups or like acoustic electromechanical transducers or circuits therefor H04R)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

An approach for defining, capturing, assembling, and displaying customized video content is provided. In an embodiment, a method comprises: receiving, by a server computer, a video frame sequence that includes one or more video frames; applying, by the server computer, one or more filters to the one or more video frames to generate a video data file that captures geometry of a customizable object depicted in the one or more video frames; generating, by the server computer, customization instructions for customizing appearance of the customizable object; transmitting, from the server computer to a client computer, the video data file and the customization instructions to cause the client computer to execute the customization instructions with respect to the video data file to render a customized object, and to overlay the customized object over the customizable object in the video frame sequence.

## Claims

### Claim 1

A method for customizing a video frame sequence and displaying a customized video frame sequence, the method comprising:
receiving, by a client computer, a video data file, customization instructions, and a video frame file comprising a plurality of video frames;
for each video frame from the plurality of video frames:
processing, by the client computer, a video frame, from the plurality of video frames, to generate a processed video frame by executing the customization instructions on the video data file and the video frame, from the plurality of video frames;
synchronizing the processed video frame with the video frame, from the plurality of video frames;
wherein the processed video frame is synchronized with the video frame in the plurality of video frames by identifying a certain code depicted at a certain location in the processed video frame and searching for the video frame, in the plurality of video frames, that has the certain code;
generating a morphed video frame by morphing the processed video frame synchronized with the video frame; and
displaying the morphed video frame on a display device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the client computer executes the customization instructions on the video data file and the video frame to generate a customized object;
wherein the customized object is generated by reading the video data file, instantiating geometry with morph targets, selecting shaders for the geometry, and generating the customized object as prescribed in the customization instructions.

### Claim 3 (depends on 2)

The method of claim 2, wherein the certain code is one or more of: a graphical code, a binary code, or a black-and-white representation of a frame number.

### Claim 4 (depends on 2)

The method of claim 2, wherein synchronizing the processed video frame with the particular video frame allows pairing the processed video frame with the particular video frame from the plurality of video frames and morphing the processed video frame with the particular video frame.

### Claim 5 (depends on 2)

The method of claim 2, wherein morphing the processed video frame synchronized with the video frame comprises overlaying the processed video frame over the particular video frame.

### Claim 6 (depends on 2)

The method of claim 2, wherein the processed video frame is further generated by: adding a background around the customized object and saving data representing a depiction of the background and the customized object as the processed video frame.

### Claim 7 (depends on 2)

The method of claim 2, wherein the video data file is generated for the plurality of video frames and is used to mask one or more regions in frames of the plurality of video frames in which the customized object is depicted;
wherein the video data file is used to generate the customized object that is overlaid over the one or more regions in the frames of the plurality of video frames;
wherein the video data file is a JavaScript Object Notation (JSON) file.

### Claim 8 (depends on 1)

The method of claim 1, wherein the client computer receives the video data file, the customization instructions, and the video frame file directly from a server computer.

### Claim 9 (depends on 1)

The method of claim 1, wherein the client computer receives a hyperlink from a server computer and downloads the video data file, the customization instructions, and the video frame file from a location indicated by the hyperlink.

### Claim 10

One or more non-transitory, computer-readable storage media storing one or more sequences of instructions which, when executed by one or more computer processor, cause the one or more computer processors to perform:
receiving, by a client computer, a video data file, customization instructions, and a video frame file comprising a plurality of video frames;
for each video frame from the plurality of video frames:
processing, by the client computer, a video frame, from the plurality of video frames, to generate a processed video frame by executing the customization instructions on the video data file and the video frame, from the plurality of video frames;
synchronizing the processed video frame with the video frame, from the plurality of video frames;
wherein the processed video frame is synchronized with the video frame in the plurality of video frames by identifying a certain code depicted at a certain location in the processed video frame and searching for the video frame, in the plurality of video frames, that has the certain code;
generating a morphed video frame by morphing the processed video frame synchronized with the video frame; and
displaying the morphed video frame on a display device.

### Claim 11 (depends on 10)

The one or more non-transitory, computer-readable storage media of claim 10, wherein the client computer executes the customization instructions on the video data file and the video frame to generate a customized object;
wherein the customized object is generated by reading the video data file, instantiating geometry with morph targets, selecting shaders for the geometry, and generating the customized object as prescribed in the customization instructions.

### Claim 12 (depends on 11)

The one or more non-transitory, computer-readable storage media claim 11, wherein the certain code is one or more of: a graphical code, a binary code, or a black-and-white representation of a frame number.

### Claim 13 (depends on 11)

The one or more non-transitory, computer-readable storage media of claim 11, wherein synchronizing the processed video frame with the particular video frame allows pairing the processed video frame with the particular video frame from the plurality of video frames and morphing the processed video frame with the particular video frame.

### Claim 14 (depends on 11)

The one or more non-transitory, computer-readable storage media of claim 11, wherein morphing the processed video frame synchronized with the video frame comprises overlaying the processed video frame over the particular video frame.

### Claim 15 (depends on 11)

The one or more non-transitory, computer-readable storage media of claim 11, wherein the processed video frame is further generated by: adding a background around the customized object and saving data representing a depiction of the background and the customized object as the processed video frame.

### Claim 16 (depends on 11)

The one or more non-transitory, computer-readable storage media of claim 11, wherein the video data file is generated for the plurality of video frames and is used to mask one or more regions in frames of the plurality of video frames in which the customized object is depicted;
wherein the video data file is used to generate the customized object that is overlaid over the one or more regions in the frames of the plurality of video frames;
wherein the video data file is a JavaScript Object Notation (JSON) file.

### Claim 17 (depends on 10)

The one or more non-transitory, computer-readable storage media of claim 10, wherein the client computer receives the video data file, the customization instructions, and the video frame file directly from a server computer.

### Claim 18 (depends on 10)

The one or more non-transitory, computer-readable storage media of claim 10, wherein the client computer receives a hyperlink from a server computer and downloads the video data file, the customization instructions, and the video frame file from a location indicated by the hyperlink.
