IP Library Granted Patent US 11,908,054
Granted Patent B2
US 11,908,054 · App. 18/124,400 · Granted Feb 20, 2024

Systems and method for dynamic insertion of advertisements

Inventors: Susanto Sen (Karnataka, IN); Radhika Dewan (Haryana, IN); Vikram Makam Gupta (Karnataka, IN)
Assignee: Rovi Guides, Inc.
G06T11/60G06T7/60G06T7/70G06T7/90G06T2207/10016G06T2207/10024
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,908,054
App. No.
18/124,400
Granted
Feb 20, 2024
Kind
B2
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 (70)

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.

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

Assignments (2)
CHANGE OF NAME Recorded Oct 3, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069112/0430 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2023
From: SEN, SUSANTO; DEWAN, RADHIKA; GUPTA, VIKRAM MAKAM
To: ROVI GUIDES, INC.
Reel/Frame 063050/0413 →
Continuity (3)
Continuation 17234443 · Apr 19, 2021
Continuation 16310887
Related Publication 20230237721A1 · Jul 27, 2023
Cited By (1)
US 12,340,451