# US 11,908,054 B2 · Systems and method for dynamic insertion of advertisements

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

- Number: US 11,908,054 B2
- Document ID: US11908054B2
- Status: Granted
- Kind: B2
- Application number: 18/124,400
- Filed: 2023-03-21
- Published: 2023-07-27
- Granted: 2024-02-20
- Earliest claimed: 2021-04-19
- Assignees: Rovi Guides, Inc.
- Applicants: Rovi Guides, Inc.
- Inventors: Susanto Sen; Radhika Dewan; Vikram Makam Gupta
- Web page: https://patentgrep.com/patent/US11908054B2

## CPC

- H04N 21/812: {involving advertisement data (advertising per se G06Q30/02)}
- G06T 7/60: Analysis of geometric attributes
- G06T 7/70: Determining position or orientation of objects or cameras (camera calibration G06T7/80)
- G06T 7/90: Determination of colour characteristics
- G06T 11/60: Creating or editing images; Combining images with text
- G06V 20/20: in augmented reality scenes
- H04N 21/4316: {for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window}
- H04N 21/44008: {involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream (arrangements characterised by components specially adapted for monitoring, identification or recognition of video in broadcast systems H04H60/59)}
- H04N 21/44016: {involving splicing one content stream with another content stream, e.g. for substituting a video clip}
- G06T 2207/10016: Video; Image sequence
- G06T 2207/10024: Color image
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

Systems and methods are described to detect a location to place an advertisement in a media asset, the method comprising, identifying a plurality of points in a video frame of a media asset, detecting a color associated with each point of the plurality of points, calculating a change in color between each point of the plurality of points, comparing the change in color between each point of the plurality of points with a threshold, identifying, based on the comparing, an area within the frame that constitutes a surface; and selecting an advertisement to be placed on the surface.

## Claims

### Claim 1

A method comprising:
identifying one or more video frames in a video of a media asset;
determining, from the one or more video frames, a plurality of points that constitutes a surface displayed in the one or more video frames of the video;
generating a data structure representing the surface displayed in the one or more video frames;
determining a type associated with the surface;
comparing the type associated with the surface with metadata associated with one or more advertisements;
selecting, based on the data structure and the type associated with the surface, an advertisement for display in the video; and
modifying the data structure to include an indicator for displaying the advertisement on the surface during display of the one or more video frames comprising the surface in the video.

### Claim 2 (depends on 1)

The method of claim 1, further comprising generating, based on the modified data structure, for display the advertisement overlaying the surface in the video.

### Claim 3 (depends on 1)

The method of claim 1, wherein the plurality of points is within a threshold distance of a first point of the plurality of points.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
detecting a color value associated with a first point of the plurality of points;
calculating a change in the color value between the first point and each point of the plurality of points; and
determining, based on the calculating, that the plurality of points is within a threshold color value change of the first point.

### Claim 5 (depends on 1)

The method of claim 1, wherein the advertisement is selected based on the comparing the type with the metadata associated with the one or more advertisements.

### Claim 6 (depends on 1)

The method of claim 1, wherein the type indicates a word associated with the surface, and wherein selecting, based on the data structure and the type associated with the surface, the advertisement for display in the video comprises:
identifying, from the metadata, advertisement content related to the word; and
selecting the advertisement based on the advertisement content related to the word.

### Claim 7 (depends on 1)

The method of claim 1, wherein the type associated with the surface is determined based on color ranges and shapes for known surfaces.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
comparing coordinates of each point of the plurality of points with coordinates of other points with the plurality of points;
determining, based on comparing the coordinates of each point of the plurality of points with the coordinates of other points with the plurality of points, a representation of a boundary of the surface; and
storing coordinates of the representation of the boundary of the surface in the data structure.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
retrieving a plurality of video frames to be displayed in the video;
comparing colors associated with the coordinates of the representation in the data structure with colors associated with corresponding coordinates within each video frame of the plurality of video frames;
determining first video frames of the plurality of video frames, each first video frame having the colors associated with the corresponding coordinates that match the colors associated with the coordinates of the representation in the data structure;
determining second video frames of the plurality of video frames, each second video having the colors associated with the corresponding coordinates not matching the colors associated with the coordinates of the representation in the data structure;
adding the advertisement to the first video frames; and
refraining from adding the advertisement to the second video frames.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
for each video frame of the one or more video frames:
dividing the video frame into a plurality of concentric circular regions having progressively larger radii; and
identifying the plurality of points from one or more points within or on a perimeter of the concentric circular regions.

### Claim 11

A system comprising:
display circuitry configured to display a video of a media asset; and
control circuitry configured to:
identify one or more video frames in the video of the media asset;
determine, from the one or more video frames, a plurality of points that constitutes a surface displayed in the one or more video frames of the video;
generate a data structure representing the surface displayed in the one or more video frames;
determine a type associated with the surface;
compare the type associated with the surface with metadata associated with one or more advertisements;
select, based on the data structure and the type associated with the surface, an advertisement for display in the video; and
modify the data structure to include an indicator for displaying the advertisement on the surface during display of the one or more video frames comprising the surface in the video.

### Claim 12 (depends on 11)

The system of claim 11, wherein the control circuitry is further configured to generate, based on the modified data structure, for display the advertisement overlaying the surface in the video.

### Claim 13 (depends on 11)

The system of claim 11, wherein the plurality of points is within a threshold distance of a first point of the plurality of points.

### Claim 14 (depends on 11)

The system of claim 11, wherein the control circuitry is further configured to:
detect a color value associated with a first point of the plurality of points;
calculate a change in the color value between the first point and each point of the plurality of points; and
determine, based on calculating the change, that the plurality of points is within a threshold color value change of the first point.

### Claim 15 (depends on 11)

The system of claim 11, wherein the control circuitry is configured to select the advertisement based on comparing the type with the metadata associated with the one or more advertisements.

### Claim 16 (depends on 11)

The system of claim 11, wherein the type indicates a word associated with the surface, and wherein the control circuitry, when selecting the advertisement for display in the video, is configured to:
identify, from the metadata, advertisement content related to the word; and
select the advertisement based on the advertisement content related to the word.

### Claim 17 (depends on 11)

The system of claim 11, wherein the control circuitry is configured to determine the type associated with the surface based on color ranges and shapes for known surfaces.

### Claim 18 (depends on 11)

The system of claim 11, wherein the control circuitry is further configured to:
compare coordinates of each point of the plurality of points with coordinates of other points with the plurality of points;
determine, based on comparing the coordinates of each point of the plurality of points with the coordinates of other points with the plurality of points, a representation of a boundary of the surface; and
store coordinates of the representation of the boundary of the surface in the data structure.

### Claim 19 (depends on 18)

The system of claim 18, wherein the control circuitry is further configured to:
retrieve a plurality of video frames to be displayed in the video;
compare colors associated with the coordinates of the representation in the data structure with colors associated with corresponding coordinates within each video frame of the plurality of video frames;
determine first video frames of the plurality of video frames, each first video frame having the colors associated with the corresponding coordinates that match the colors associated with the coordinates of the representation in the data structure;
determine second video frames of the plurality of video frames, each second video having the colors associated with the corresponding coordinates not matching the colors associated with the coordinates of the representation in the data structure;
add the advertisement to the first video frames; and
refrain from adding the advertisement to the second video frames.

### Claim 20 (depends on 11)

The system of claim 11, wherein the control circuitry is further configured to:
for each video frame of the one or more video frames:
divide the video frame into a plurality of concentric circular regions having progressively larger radii; and
identify the plurality of points from one or more points within or on a perimeter of the concentric circular regions.
