US 10,893,320 B2
Dynamic video overlays
Markus K. Cremer, Orinda, CA (US); Peter Dunker, El Cerrito, CA (US); Steven D. Scherf, Fremont, CA (US); David Henry Pearce, Kentfield, CA (US); Sherman Ling Fung Li, San Francisco, CA (US); Wilson Harron, Berkeley, CA (US); Konstantinos Antonios Dimitriou, Bavaria (DE); and Dewey Ho Lee, Seoul (KR)
Assigned to Gracenote, Inc., Emeryville, CA (US)
Filed by Gracenote, Inc., Emeryville, CA (US)
Filed on Sep. 25, 2018, as Appl. No. 16/140,539.
Application 16/140,539 is a continuation of application No. 15/381,496, filed on Dec. 16, 2016, granted, now 10,142,680.
Claims priority of provisional application 62/268,410, filed on Dec. 16, 2015.
Prior Publication US 2019/0132641 A1, May 2, 2019
This patent is subject to a terminal disclaimer.
Int. Cl. H04N 21/44 (2011.01); H04N 21/431 (2011.01); H04N 21/432 (2011.01); H04N 21/458 (2011.01); H04N 21/472 (2011.01); H04N 21/81 (2011.01); H04N 21/234 (2011.01); H04N 21/433 (2011.01)
CPC H04N 21/44008 (2013.01) [H04N 21/23418 (2013.01); H04N 21/431 (2013.01); H04N 21/4312 (2013.01); H04N 21/4314 (2013.01); H04N 21/4318 (2013.01); H04N 21/4325 (2013.01); H04N 21/4333 (2013.01); H04N 21/44016 (2013.01); H04N 21/458 (2013.01); H04N 21/47217 (2013.01); H04N 21/812 (2013.01)] 17 Claims
OG exemplary drawing
 
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.