IP Library Granted Patent US 10,412,447
Granted Patent B2
US 10,412,447 · App. 15/381,513 · Granted Sep 10, 2019

Dynamic video overlays

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 10,412,447
App. No.
15/381,513
Granted
Sep 10, 2019
Kind
B2
Abstract

A client device accesses a video input stream from an intermediate device for display. The client device analyzes the video input stream to determine that the video input stream matches a template indicating a semi-transparent overlay. Based on the video input stream matching the template, a video output stream is generated and caused to be presented on a display. In some example embodiments, the analysis is performed while the client device is replacing video content received from a content source via the intermediate device. For example, commercials transmitted from a national content provider to a smart TV via a set-top box may be replaced with targeted commercials. During the replacement, semi-transparent menus generated by the set-top box may be detected and the replacement video altered by the smart TV to include the menus.

Claims (76)

1. A system comprising:

a memory having instructions embodied thereon; and

one or more processors configured by the instructions to perform operations comprising:

accessing, from an intermediate device upstream of the one or more processors, a video input stream that includes first content and a semi-transparent overlay overlaid at least partially on the first content in an overlay zone, wherein the first content is from a content provider and the semi-transparent overlay is overlaid on the first content by the intermediate device;

accessing a template that includes an indication of the overlay zone in the video input stream;

analyzing, using the template, the video input stream to determine that the video input stream includes the semi-transparent overlay in the overlay zone;

accessing replacement content for replacing the first content outside of the overlay zone;

while accessing the video input stream, generating a video output stream that includes a modified semi-transparent overlay overlaid on the replacement content in the overlay zone; and

causing the video output stream, including the replacement content outside of the overlay zone and the modified semi-transparent overlay in the overlay zone, to be presented on a display.

2. The system of claim 1 , wherein the operations further comprise:

modifying the semi-transparent overlay to cancel out the first content presented in the overlay zone, using operations comprising:

computing a difference between the first content and the video input stream for each pixel in the overlay zone; and

replacing each pixel in the overlay zone based on the difference and a threshold.

3. The system of claim 2 , wherein the operations further comprise:

generating a fingerprint of the first content; and

identifying the first content based on the fingerprint.

4. The system of claim 2 , wherein:

the template indicates a degree of transparency; and

the replacing of each pixel in the overlay zone is further based on the degree of transparency.

5. The system of claim 4 , wherein:

the replacing of each pixel in the overlay zone is further based on a corresponding pixel of the first content.

6. The system of claim 1 , wherein:

the indication of the overlay zone in the video input stream comprises coordinates of boundaries of the overlay zone.

7. The system of claim 1 , wherein:

the indication of the overlay zone in the video input stream comprises a bitmap.

8. The system of claim 1 , wherein the operations further comprise:

modifying the semi-transparent overlay to cancel out the first content presented in the overlay zone, using operations comprising:

identifying an average color of a background of the overlay zone in the video input stream;

comparing a color of each pixel of a frame of the first content lacking the semi-transparent overlay to the average color of the background; and

for each of the pixels having a color within a predetermined range of the average color of the background, changing the color of the pixel to the average color of the background.

9. The system of claim 1 , wherein the operations further comprise:

identifying a text portion of the semi-transparent overlay; and

modifying the semi-transparent overlay to cancel out the first content while maintaining the text portion of the semi-transparent overlay without change.

10. The system of claim 9 , wherein the identifying of the text portion of the semi-transparent overlay comprises:

identifying, based on the template, a region that may contain text; and

determining, based on color values of pixels within the region and a threshold, which pixels within the region are included in the text portion of the semi-transparent overlay.

11. The system of claim 1 , wherein:

the template indicates a color; and

the generating of the video output stream that includes the modified semi-transparent overlay overlaid on the replacement content comprises semi-transparently applying the color to at least a portion of the overlay zone.

12. The system of claim 11 , wherein:

the template indicates an information type of text to be presented; and

the generating of the video output stream that includes the modified semi-transparent overlay overlaid on the replacement content further comprises adding text to at least a portion of the overlay zone, the added text based on the information type indicated in the template.

13. A method comprising:

accessing, by one or more processors, a video input stream that includes first content and a semi-transparent overlay overlaid at least partially on the first content in an overlay zone, wherein the first content is from a content provider and the semi-transparent overlay is overlaid on the first content by an intermediate device that is upstream of the one or more processors;

accessing, from a database that stores a plurality of templates, a template that includes an indication of the overlay zone in the video input stream;

analyzing, using the template, the video input stream to determine that the video input stream includes the semi-transparent overlay in the overlay zone;

accessing replacement content for replacing the first content outside of the overlay zone;

while accessing the video input stream, generating, by one or more processors, a video output stream that includes a modified semi-transparent overlay overlaid on the replacement content in the overlay zone; and

causing, by the one or more processors, the video output stream, including the replacement content outside of the overlay zone and the modified semi-transparent overlay in the overlay zone, to be presented on a display.

14. The method of claim 13 , further comprising:

modifying the semi-transparent overlay to cancel out the first content presented in the overlay zone, using operations comprising:

computing a difference between the first content and the video input stream for each pixel in the overlay zone; and

replacing each pixel in the overlay zone based on the difference and a threshold.

15. The method of claim 14 , further comprising:

generating a fingerprint of the first content; and

identifying the first content based on the fingerprint.

16. The method of claim 14 , wherein:

the template indicates a degree of transparency; and

the replacing of each pixel in the overlay zone is further based on the degree of transparency.

17. The method of claim 16 , wherein:

the replacing of each pixel in the overlay zone is further based on a corresponding pixel of the first content.

18. The method of claim 13 , further comprising:

modifying the semi-transparent overlay to cancel out the first content presented in the overlay zone, using operations comprising:

identifying an average color of a background of the overlay zone in the video input stream;

comparing a color of each pixel of a frame of the first content lacking the semi-transparent overlay to the average color of the background; and

for each of the pixels having a color within a predetermined range of the average color of the background, changing the color of the pixel to the average color of the background.

19. The method of claim 13 , further comprising:

identifying a text portion of the semi-transparent overlay; and

modifying the semi-transparent overlay to cancel out the first content while maintaining the text portion of the semi-transparent overlay without change.

20. A non-transitory machine-readable medium that stores instructions which, when executed by one or more processors of a machine, cause the machine to perform operations comprising:

accessing, from an intermediate device upstream of the one or more processors, a video input stream that includes first content and a semi-transparent overlay overlaid at least partially on the first content in an overlay zone, wherein the first content is from a content provider and the semi-transparent overlay is overlaid on the first content by the intermediate device;

accessing a template that includes an indication of the overlay zone in the video input stream;

analyzing, using the template, the video input stream to determine that the video input stream includes the semi-transparent overlay in the overlay zone;

accessing replacement content for replacing the first content outside of the overlay zone;

while accessing the video input stream, generating a video output stream that includes a modified semi-transparent overlay overlaid on the replacement content in the overlay zone; and

causing the video output stream, including the replacement content outside of the overlay zone and the modified semi-transparent overlay in the overlay zone, to be presented on a display.

Assignments (12)
SECURITY INTEREST Recorded Sep 18, 2024
From: ROKU, INC.
To: CITIBANK, N.A.
Reel/Frame 068982/0377 →
RELEASE (REEL 053473 / FRAME 0001) Recorded May 11, 2023
From: CITIBANK, N.A.
To: A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; THE NIELSEN COMPANY (US), LLC; NETRATINGS, LLC
Reel/Frame 063603/0001 →
RELEASE (REEL 054066 / FRAME 0064) Recorded May 11, 2023
From: CITIBANK, N.A.
To: A. C. NIELSEN COMPANY, LLC; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; THE NIELSEN COMPANY (US), LLC; NETRATINGS, LLC
Reel/Frame 063605/0001 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT (REEL/FRAME 056982/0194) Recorded Feb 22, 2023
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROKU, INC.; ROKU DX HOLDINGS, INC.
Reel/Frame 062826/0664 →
RELEASE (REEL 042262 / FRAME 0601) Recorded Oct 13, 2022
From: CITIBANK, N.A.
To: GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC
Reel/Frame 061748/0001 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Jun 29, 2021
From: ROKU, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 056982/0194 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2021
From: GRACENOTE, INC.
To: ROKU, INC.
Reel/Frame 056103/0786 →
PARTIAL RELEASE OF SECURITY INTEREST Recorded Apr 20, 2021
From: CITIBANK, N.A.
To: THE NIELSEN COMPANY (US), LLC; GRACENOTE, INC.
Reel/Frame 056973/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENTS LISTED ON SCHEDULE 1 RECORDED ON 6-9-2020 PREVIOUSLY RECORDED ON REEL 053473 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SUPPLEMENTAL IP SECURITY AGREEMENT. Recorded Oct 7, 2020
From: A.C. NIELSEN (ARGENTINA) S.A.; A.C. NIELSEN COMPANY, LLC; ACN HOLDINGS INC.; ACNIELSEN CORPORATION; ACNIELSEN ERATINGS.COM; AFFINNOVA, INC.; ART HOLDING, L.L.C.; ATHENIAN LEASING CORPORATION; CZT/ACN TRADEMARKS, L.L.C.; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; NETRATINGS, LLC; NIELSEN AUDIO, INC.; NIELSEN CONSUMER INSIGHTS, INC.; NIELSEN CONSUMER NEUROSCIENCE, INC.; NIELSEN FINANCE CO.; NIELSEN FINANCE LLC; NIELSEN INTERNATIONAL HOLDINGS, INC.; NIELSEN MOBILE, LLC; NMR INVESTING I, INC.; TCG DIVESTITURE INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC; VIZU CORPORATION; VNU MARKETING INFORMATION, INC.; NMR LICENSING ASSOCIATES, L.P.; NIELSEN HOLDING AND FINANCE B.V.; THE NIELSEN COMPANY B.V.; VNU INTERNATIONAL B.V.
To: CITIBANK, N.A
Reel/Frame 054066/0064 →
SUPPLEMENTAL SECURITY AGREEMENT Recorded Jun 9, 2020
From: A. C. NIELSEN COMPANY, LLC; ACN HOLDINGS INC.; ACNIELSEN CORPORATION; ACNIELSEN ERATINGS.COM; AFFINNOVA, INC.; ART HOLDING, L.L.C.; ATHENIAN LEASING CORPORATION; CZT/ACN TRADEMARKS, L.L.C.; EXELATE, INC.; GRACENOTE, INC.; GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; NETRATINGS, LLC; NIELSEN AUDIO, INC.; NIELSEN CONSUMER INSIGHTS, INC.; NIELSEN CONSUMER NEUROSCIENCE, INC.; NIELSEN FINANCE CO.; NIELSEN FINANCE LLC; NIELSEN INTERNATIONAL HOLDINGS, INC.; NIELSEN MOBILE, LLC; NIELSEN UK FINANCE I, LLC; NMR INVESTING I, INC.; TCG DIVESTITURE INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC; VIZU CORPORATION; VNU MARKETING INFORMATION, INC.; NMR LICENSING ASSOCIATES, L.P.; NIELSEN HOLDING AND FINANCE B.V.; THE NIELSEN COMPANY B.V.; VNU INTERNATIONAL B.V.
To: CITIBANK, N.A.
Reel/Frame 053473/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2019
From: CREMER, MARKUS K.; DUNKER, PETER; SCHERF, STEVEN D.; PEARCE, DAVID HENRY; LI, SHERMAN LING FUNG; HARRON, WILSON; DIMITRIOU, KONSTANTINOS ANTONIOS; LEE, DEWEY HO
To: GRACENOTE, INC.
Reel/Frame 049103/0930 →
SUPPLEMENTAL SECURITY AGREEMENT Recorded Apr 13, 2017
From: GRACENOTE, INC.; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE DIGITAL VENTURES, LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042262/0601 →