IP Library Granted Patent US 10,785,530
Granted Patent B2
US 10,785,530 · App. 15/381,497 · Granted Sep 22, 2020

Dynamic video overlays

Inventors: Markus K. Cremer (Orinda, CA); Peter Dunker (El Cerrito, CA); Steven D. Scherf (Fremont, CA); David Henry Pearce (Kentfield, CA); Sherman Ling Fung Li (San Francisco, CA); Wilson Harron (Berkeley, CA); Konstantinos Antonios Dimitriou (Bavaria, DE); Dewey Ho Lee (Seoul, KR)
Assignee: Gracenote, Inc.
H04N21/44008H04N21/23418H04N21/431H04N21/4312H04N21/4314H04N21/4318H04N21/4325H04N21/4333H04N21/44016H04N21/458H04N21/47217H04N21/812
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,785,530
App. No.
15/381,497
Granted
Sep 22, 2020
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 corresponding to a screen portion. 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, menus generated by the set-top box may be detected and the replacement video altered by the smart TV to include the menus.

Claims (82)

1. A system comprising:

a display;

memory that stores instructions and a plurality of templates; and

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

accessing a video input stream that includes first content from a content provider and second content from an intermediate device, wherein, in a frame of the video input stream, the first content corresponds to a first screen portion of the display and the second content corresponds to a second screen portion of the display;

accessing an identifier of the intermediate device;

after accessing the identifier of the intermediate device, selecting a subset of the plurality of templates based on the identifier of the intermediate device, wherein the subset of the plurality of templates comprises more than one template of the plurality of templates;

after selecting the subset of the plurality of templates, comparing the video input stream to the subset of the plurality of templates to determine that the frame of the video input stream corresponds to an identified template, wherein the identified template indicates that the second screen portion comprises an overlay for displaying the second content from the intermediate device;

accessing the identified template;

responsive to a determination that the frame of the video input stream corresponds to the identified template, generating a video output stream comprising the second content for the second screen portion and third content for the first screen portion, wherein the third content differs from the first content of the video input stream; and

causing the video output stream to be presented on the display,

wherein generating the video output stream comprises:

determining, based on the identified template, a plurality of coordinates relating to a position and a size of the second screen portion, and

while accessing the video input stream, dynamically generating, using the plurality of coordinates, the video output stream with the second content at the second screen portion and the third content at the first screen portion.

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

generating a fingerprint of the video input stream;

identifying video content provided by the content provider based on the fingerprint; and

identifying replacement video content based on the identification of the video content provided by the content provider; and

wherein the third content of the generated video output stream includes at least a portion of the identified replacement video content.

3. The system of claim 1 , wherein the content provider is a cable television station.

4. The system of claim 1 , wherein the intermediate device is a set-top box.

5. The system of claim 1 , wherein:

the system is a smart TV.

6. The system of claim 1 , wherein the comparing of the video input stream to the identified template comprises:

downsampling the frame of the video input stream;

determining a cross-correlation between the downsampled frame and the identified template; and

comparing the cross-correlation to a threshold.

7. The system of claim 1 , wherein:

the display has a size; and

the first screen portion of the video input stream is a rectangular region smaller than the size of the display.

8. The system of claim 1 , wherein:

the first screen portion of the video input stream shares at least one edge with an edge of the display.

9. The system of claim 1 , wherein:

the first screen portion of the video input stream has no edges in common with the display.

10. The system of claim 1 , wherein generating the video output stream comprises:

analyzing the second content to identify text in the second content,

determining that the text relates to the first content,

responsive to determining that the text in the second content relates to the first content, determining, based on the text, a mask for suppressing at least a portion of the second content, and

applying the mask to the second content to suppress the at least a portion of the second content in the video output stream.

11. The system of claim 1 , wherein accessing the identifier of the intermediate device comprises at least one:

(i) accessing the identifier based on an Extended Display Identification Data (EDID) of the intermediate device,

(ii) accessing the identifier based on an input received from a user interface, or

(iii) accessing the identifier based on an internet protocol (IP) address of the intermediate device.

12. A method comprising:

accessing, at a display device, a video input stream that includes first content from a content provider and second content from an intermediate device, wherein, in a frame of the video input stream, the first content corresponds to a first screen portion of the display and the second content corresponds to a second screen portion of the display;

accessing an identifier of the intermediate device;

after accessing the identifier of the intermediate device, selecting a subset of the plurality of templates based on the identifier of the intermediate device, wherein the subset of the plurality of templates comprises more than one template of the plurality of templates;

after selecting the subset of the plurality of templates, comparing, using a processor of the display device, the video input stream to the subset of the plurality of templates to determine that the frame of the video input stream corresponds to an identified template, wherein the identified template indicates that the second screen portion comprises an overlay for displaying the second content from the intermediate device;

accessing the identified template;

responsive to a determination that the frame of the video input stream corresponds to the identified template, generating a video output stream comprising the second content for the second screen portion and third content for the first screen portion, wherein the third content differs from the first content of the video input stream; and

causing the video output stream to be presented on a display of the display device

wherein generating the video output stream comprises:

determining, based on the identified template, a plurality of coordinates relating to a position and a size of the second screen portion, and

while accessing the video input stream, dynamically generating, using the plurality of coordinates, the video output stream with the second content at the second screen portion and the third content at the first screen portion.

13. The method of claim 12 , further comprising:

generating a fingerprint of the video input stream;

identifying video content provided by the content provider based on the fingerprint;

identifying replacement video content based on the identification of the video content provided by the content provider; and

wherein the third content of the generated video output stream includes at least a portion of the identified replacement video content.

14. The method of claim 12 , wherein the content provider is a cable television station.

15. The method of claim 12 , wherein the intermediate device is a set-top box.

16. The method of claim 12 , wherein:

the display device is a smart TV.

17. The method of claim 12 , wherein the comparing of the video input stream to the identified template comprises:

downsampling the frame of the video input stream;

determining a cross-correlation between the downsampled frame and the identified template; and

comparing the cross-correlation to a threshold.

18. The method of claim 12 , wherein accessing the identifier of the intermediate device comprises at least one:

(i) accessing the identifier based on an Extended Display Identification Data (EDID) of the intermediate device,

(ii) accessing the identifier based on an input received from a user interface, or

(iii) accessing the identifier based on an internet protocol (IP) address of the intermediate device.

19. 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 a video input stream that includes first content from a content provider and second content from an intermediate device, wherein, in a frame of the video input stream, the first content corresponds to a first screen portion of a display and the second content corresponds to a second screen portion of the display;

accessing an identifier of the intermediate device;

after accessing the identifier of the intermediate device, selecting a subset of the plurality of templates based on the identifier of the intermediate device, wherein the subset of the plurality of templates comprises more than one template of the plurality of templates;

after selecting the subset of the plurality of templates, comparing the video input stream to the subset of the plurality of templates to determine that the frame of the video input stream corresponds to an identified template, wherein the identified template indicates that the second screen portion comprises an overlay for displaying the second content from the intermediate device;

accessing the identified template;

responsive to a determination that the frame of the video input stream corresponds to the identified template, generating a video output stream comprising the second content for the second screen portion and third content for the first screen portion, wherein the third content differs from the first content of the video input stream; and

causing the video output stream to be presented on the display,

wherein generating the video output stream comprises:

determining, based on the identified template, a plurality of coordinates relating to a position and a size of the second screen portion, and

while accessing the video input stream, dynamically generating, using the plurality of coordinates, the video output stream with the second content at the second screen portion and the third content at the first screen portion.

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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2017
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 041241/0500 →
Continuity (2)
Provisional Application 62268410 · Dec 16, 2015
Related Publication 20170180792A1 · Jun 22, 2017