IP Library Granted Patent US 10,893,320
Granted Patent B2
US 10,893,320 · App. 16/140,539 · Granted Jan 12, 2021

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,893,320
App. No.
16/140,539
Granted
Jan 12, 2021
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 change of speed. In some example embodiments, the analysis is performed while the client device is generating a video output stream that replaces video content received from a content source via the intermediate device. Based on the video input stream matching the template, the client device modifies the video output stream to show the change of speed. 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, fast-forwarding of the commercial may be detected by matching a template with the video input stream. While the video input stream is being fast-forwarded, the smart TV fast-forwards the targeted commercial.

Claims (66)

1. A system, comprising:

a display;

memory that stores instructions and a plurality of templates; and

one or more processors of a client device configured by the instructions to perform operations comprising:

accessing a video input stream that includes first video content from a content provider and second video content generated by a set-top box device 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;

generating, from the first video content, a query fingerprint by a query fingerprint generator of the client device according to an image of the video input stream;

accessing, based on a comparison of the query fingerprint and a reference fingerprint generated by a reference fingerprint generator, replacement video content provided by a replacement content source, wherein the replacement video content differs from the first video content, wherein the replacement video content is accessed separately from the video input stream;

identifying, based on the set-top box device, a template of the plurality of templates, wherein the identified template indicates that the second screen portion comprises an overlay for displaying the second video content generated by the set-top box device;

comparing the video input stream to the identified template to determine that the frame of the video input stream corresponds to 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 video content for the second screen portion and the video replacement content for the first screen portion to mimic a presentation of the first video content and the second video content in the video input stream; and

causing the video output stream to be presented on the display, wherein comparing the video input stream to the identified template comprises:

downsampling the frame of the video input stream to form a downsampled frame,

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

performing a comparison of the cross-correlation to a threshold, and

determining, based on the comparison, that the frame of the video input stream corresponds to the identified template.

2. The system of claim 1 , wherein accessing the replacement video content comprises:

identifying, based on the comparison, the first video content provided by the content provider; and

identifying the replacement video content based on the identification of the first video content provided by the content provider.

3. The system of claim 1 , wherein accessing the replacement video content comprises requesting the replacement video content from the replacement content source.

4. The system of claim 1 , wherein the system is a smart television.

5. The system of claim 1 , wherein generating the video output stream 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.

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

accessing an identifier of the set-top box device; and

selecting a subset of the plurality of templates based on the identifier of the set-top box device, wherein comparing the video input stream to the identified template to determine that the frame of the video input stream corresponds to the identified template is a sub-step of comparing each template of the subset of the plurality of templates to determine whether the frame of the video input stream corresponds to the template.

7. A method comprising:

accessing, at a display device, a video input stream that includes first video content from a content provider and second video content generated by a set-top box device upstream of the display device, 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;

generating, from the first video content, a query fingerprint by a query fingerprint generator of a client device according to an image of the video input stream;

accessing, based on a comparison of the query fingerprint and a reference fingerprint generated by a reference fingerprint generator, replacement video content provided by a replacement content source, wherein the replacement video content differs from the first video content, wherein the replacement video content is accessed separately from the video input stream;

identifying, based on the set-top box device, a template of the plurality of templates, wherein the identified template indicates that the second screen portion comprises an overlay for displaying the second video content generated by the set-top box device;

comparing the video input stream to the identified template to determine that the frame of the video input stream corresponds to 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 video content for the second screen portion and the replacement video content for the first screen portion to mimic a presentation of the first video content and the second video content in the video input stream; and

causing the video output stream to be presented on the display, wherein comparing the video input stream to the identified template comprises:

downsampling the frame of the video input stream to form a downsampled frame,

determining a cross-correlation between the downsampled frame and the identified template, performing a comparison of the cross-correlation to a threshold, and

determining, based on the comparison, that the frame of the video input stream corresponds to the identified template.

8. The method of claim 7 , wherein accessing the replacement video content comprises:

identifying, based on the comparison, the first video content provided by the content provider; and

identifying the replacement video content based on the identification of the first video content provided by the content provider.

9. The method of claim 7 , wherein accessing the replacement video content comprises requesting the replacement video content from the replacement content source.

10. The method of claim 7 , wherein the display device is a smart television.

11. The method of claim 7 , wherein generating the video output stream 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.

12. The method of claim 7 , further comprising:

accessing an identifier of the set-top box device; and

selecting a subset of the plurality of templates based on the identifier of the set-top box device,

wherein comparing the video input stream to the identified template to determine that the frame of the video input stream corresponds to the identified template is a sub-step of comparing each template of the subset of the plurality of templates to determine whether the frame of the video input stream corresponds to the template.

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

accessing, by the one or more processors, a video input stream that includes first video content from a content provider and second video content generated by a set-top box device 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 a display and the second video content corresponds to a second screen portion of the display;

generating, from the first video content, a query fingerprint by a query fingerprint generator of the client device according to an image of the video input stream;

accessing, based on a comparison of the query fingerprint and a reference fingerprint venerated by a reference fingerprint generator, replacement video content provided by a replacement content source, wherein the replacement video content differs from the first video content, wherein the replacement video content is accessed separately from the video input stream;

identifying, based on the set-top box device, a template of the plurality of templates, wherein the identified template indicates that the second screen portion comprises an overlay for displaying the second video content generated by the set-top box device;

comparing the video input stream to the identified template to determine that the frame of the video input stream corresponds to 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 video content for the second screen portion and the replacement video content for the first screen portion to mimic a presentation of the first video content and the second video content in the video input stream; and

causing the video output stream to be presented on the display, wherein comparing the video input stream to the identified template comprises;

downsampling the frame of the video input stream to form a downsampled frame;

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

performing a comparison of the cross-correlation to a threshold, and

determining, based on the comparison, that the frame of the video input stream corresponds to the identified template.

14. The non-transitory machine-readable medium of claim 13 , wherein accessing the replacement video content comprises:

identifying, based on the comparison, the first video content provided by the content provider; and

identifying the replacement video content based on the identification of the first video content provided by the content provider.

15. The non-transitory machine-readable medium of claim 13 , wherein accessing the replacement video content comprises requesting the replacement video content from the replacement content source.

16. The non-transitory machine-readable medium of claim 13 , wherein generating the video output stream 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.

17. The non-transitory machine-readable medium of claim 13 , wherein the operations further comprise:

accessing an identifier of the set-top box device; and

selecting a subset of the plurality of templates based on the identifier of the set-top box device,

wherein comparing the video input stream to the identified template to determine that the frame of the video input stream corresponds to the identified template is a sub-step of comparing each template of the subset of the plurality of templates to determine whether the frame of the video input stream corresponds to the template.

Assignments (10)
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 →
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 Oct 9, 2018
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 047111/0881 →