IP Library Granted Patent US 10,123,073
Granted Patent B2
US 10,123,073 · App. 15/381,572 · Granted Nov 6, 2018

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/44016H04N21/23418H04N21/431H04N21/4312H04N21/4314H04N21/4318H04N21/4333H04N21/44008
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,123,073
App. No.
15/381,572
Granted
Nov 6, 2018
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 portion of the video input stream that is created by the intermediate device. Based on the video input stream matching the template, a video output stream generated by the client device is modified to include the portion of the video input stream generated by 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, informational messages or menus generated by the set-top box may be detected and the replacement video altered by the smart TV to include the messages or menus generated by the set-top box.

Claims (45)

1. A method comprising:

causing, by one or more processors of a client device, a video output stream to be presented on a display of the client device;

while causing the video output stream to be presented on the display:

accessing, by the one or more processors, a video input stream comprising first video content from a content provider and second video content generated by a set-top box upstream of the one or more processors, wherein, in a frame of the video input stream, the first video content corresponds to a first screen portion of the display and the second video content corresponds to a second screen portion of the display, wherein the video output stream comprises third video content from a replacement content source, wherein the third video content differs from the first video content and is accessed separately from the video input stream, wherein the third video content is selected in response to a video identification system receiving a query fingerprint from a query fingerprint generator of the client device and the video identification system identifying a match between the query fingerprint and at least one reference fingerprint generated by a reference fingerprint generator, wherein the query fingerprint is generated based on a frame of the first video content, and wherein the video identification system and the reference fingerprint generator are remote from the client device;

accessing, from a database that stores a plurality of sets of templates, a template corresponding to the second screen portion of the display, wherein the database maps a plurality of set-top box identifiers to the plurality of sets of templates, wherein the template corresponding to the second screen portion of the display is accessed from a set of templates based on an identifier of the set-top box;

analyzing, by the one or more processors, the video input stream to determine that at least a portion of the second video content of the frame of the video input stream matches the template;

responsive to determining that the at least the portion of the second video content of the frame of the video input stream matches the template, modifying, by the one or more processors, the video output stream to include, in the second screen portion of the display, the second video content generated by the set-top box; and

causing, by the one or more processors, the modified video output stream, including the second video content in the second screen portion and the third video content in the first screen portion, to be presented on the display.

2. The method of claim 1 , further comprising: accessing a second template corresponding to a third screen portion of the display for the second video content generated by the set-top box;

analyzing the video input stream to determine that at least a portion of the second video content of a second frame of the video input stream matches the second template; and

based on the at least the portion of the second video content of the second frame of the video input stream matching the second template, ceasing modification of the video output stream.

3. The method of claim 1 , wherein the modifying of the video output stream to include, in the second screen portion, the second video content generated by the set-top box comprises: copying the second video content in the second screen portion from the video input stream to the video output stream on a pixel-by-pixel basis.

4. The method of claim 1 , wherein the modifying of the video output stream to include, in the second screen portion, the second video content generated by the set-top box comprises: identifying information contained in the second screen portion; and

modifying the video output stream to include the identified information.

5. The method of claim 1 , further comprising:

identifying the first video content of the video input stream from the content provider; and

requesting, based on the identified first video content from the content provider, replacement video content from the replacement content source; and

responsive to requesting replacement video content, receiving the third video content from the replacement content source.

6. The method of claim 1 , wherein the analyzing of the video input stream to determine that at least the portion of the second video content of the frame of the video input stream matches the template comprises determining that the at least the portion of the second video content of the frame of the video input stream contains an icon added by the set-top box.

7. The method of claim 1 , wherein the analyzing of the video input stream to determine that at least the portion of the second video content of the frame of the video input stream matches the template comprises determining that the at least the portion of the second video content of the frame of the video input stream contains predetermined text added by the set-top box.

8. A system comprising: a memory that stores instructions; and one or more processors, of a client device, configured by the instructions to perform operations comprising:

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

while causing the video output stream to be presented on the display:

accessing a video input stream comprising first video content from a content provider and second video content generated by a set-top box upstream of the one or more processors, wherein, in a frame of the video input stream, the first video content corresponds to a first screen portion of the display and the second video content corresponds to a second screen portion of the display, wherein the video output stream comprises third video content from a replacement content source, wherein the third video content differs from the first video content and is accessed separately from the video input stream, wherein the third video content is selected in response to a video identification system receiving a query fingerprint from a query fingerprint generator of the client device and the video identification system identifying a match between the query fingerprint and at least one reference fingerprint generated by a reference fingerprint generator, wherein the query fingerprint is generated based on a frame of the first video content, and wherein the video identification system and the reference fingerprint generator are remote from the client device;

accessing, from a database that stores a plurality of sets of templates, a template corresponding to the second screen portion of the display, wherein the database maps a plurality of set-top box identifiers to the plurality of sets of templates, wherein the template corresponding to the second screen portion of the display is accessed from a set of templates based on an identifier of the set-top box;

analyzing the video input stream to determine that at least a portion of the second video content of the frame of the video input stream matches the template;

responsive to determining that the at least the portion of the second video content of the frame of the video input stream matches the template, modifying the video output stream to include, in the second screen portion of the display, the second video content generated by the set-top box; and causing the modified video output stream, including the second video content in the second screen portion and the third video content in the first screen portion, to be presented on the display.

9. The system of claim 8 , wherein the operations further comprise: accessing a second template corresponding to a third screen portion of the display for the second video content generated by the set-top box; analyzing the video input stream to determine that at least a portion of the second video content of a second frame of the video input stream matches the second template; and based on the at least the portion of the second video content of the second frame of the video input stream matching the second template, ceasing modification of the video output stream.

10. The system of claim 8 , wherein the modifying of the video output stream to include, in the second screen portion, the second video content generated by the set-top box comprises: copying the second video content in the second screen portion from the video input stream to the video output stream on a pixel-by-pixel basis.

11. The system of claim 8 , wherein the modifying of the video output stream to include, in the second screen portion, the second video content generated by the set-top box comprises: identifying information contained in the second screen portion; and modifying the video output stream to include the identified information.

12. The system of claim 8 , wherein: the operations further comprise: identifying the first video content of the video input stream from the content provider; and requesting, based on the identified first video content from the content provider, replacement video content from the replacement content source;

and responsive to requesting replacement video content, receiving the third video content from the replacement content source.

13. The system of claim 8 , wherein the analyzing of the video input stream to determine that at least the portion of the second video content of the frame of the video input stream matches the template comprises determining that the at least the portion of the second video content of the frame of the video input stream contains an icon added by the-set-top box.

14. The system of claim 8 , wherein the analyzing of the video input stream to determine that at least the portion of the second video content of the frame of the video input stream matches the template comprises determining that the at least the portion of the second video content of the frame of the video input stream contains predetermined text added by the set-top box.

15. A non-transitory machine-readable medium that stores instructions that, when executed by one or more processors of a client device, cause the one or more processors to perform operations comprising: causing a video output stream to be presented on a display of the client device; while causing the video output stream to be presented on the display:

accessing a video input stream comprising first video content from a content provider and second video content generated by a set-top box upstream of the one or more processors, wherein, in a frame of the video input stream, the first video content corresponds to a first screen portion of the display and the second video content corresponds to a second screen portion of the display, wherein the video output stream comprises third video content from a replacement content source, wherein the third video content differs from the first video content and is accessed separately from the video input stream, wherein the third video content is selected in response to a video identification system receiving a query fingerprint from a query fingerprint generator of the client device and the video identification system identifying a match between the query fingerprint and at least one reference fingerprint generated by a reference fingerprint generator, wherein the query fingerprint is generated based on a frame of the first video content, and wherein the video identification system and the reference fingerprint generator are remote from the client device;

accessing, from a database that stores a plurality of sets of templates, a template corresponding to the second screen portion of the display, wherein the database maps a plurality of set-top box identifiers to the plurality of sets of templates, wherein the template corresponding to the second screen portion of the display is accessed from a set of templates based on an identifier of the set-top box;

analyzing the video input stream to determine that at least a portion of the second video content of the frame of the video input stream matches the template;

responsive to determining that the at least the portion of the second video content of the frame of the video input stream matches the template, modifying the video output stream to include, in the second screen portion of the display, the second video content generated by the set-top box; and

causing the modified video output stream, including the second video content in the second screen portion and the third video content in the first screen portion, to be presented on the display.

16. The non-transitory machine-readable medium of claim 15 , wherein the operations further comprise: accessing a second template corresponding to a third screen portion of the display for the second video content generated by the set-top box; analyzing the video input stream to determine that at least a portion of the second video content of a second frame of the video input stream matches the second template; and based on the at least the portion of the second video content of the second frame of the video input stream matching the second template, ceasing modification of the video output stream.

17. The non-transitory machine-readable medium of claim 15 , wherein the modifying of the video output stream to include, in the second screen portion, the second video content generated by the set-top box comprises: copying the second video content in the second screen portion from the video input stream to the video output stream on a pixel-by-pixel basis.

18. The non-transitory machine-readable medium of claim 15 , wherein the modifying of the video output stream to include, in the second screen portion, the second video content generated by the set-top box comprises: identifying information contained in the second screen portion; and modifying the video output stream to include the identified information.

19. The non-transitory machine-readable medium of claim 15 , wherein: the operations further comprise: identifying the first video content of the video input stream from the content provider; and requesting, based on the identified first video content from the content provider, replacement video content from the replacement content source; and responsive to requesting replacement video content, receiving the third video content from the replacement content source.

20. The non-transitory machine-readable medium of claim 15 , wherein the analyzing of the video input stream to determine that at least the portion of the second video content of the frame of the video input stream matches the template comprises determining that the at least the portion of the second video content of the frame of the video input stream contains an icon added by the set-top box.

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 Mar 23, 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 041704/0794 →
Continuity (2)
Provisional Application 62268410 · Dec 16, 2015
Related Publication 20170180795A1 · Jun 22, 2017
Cited By (1)
US 12,395,706