Dynamic video overlays
First Claim
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.
11 Assignments
0 Petitions
Accused Products
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.
-
Citations
20 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
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. - View Dependent Claims (9, 10, 11, 12, 13, 14)
- a memory that stores instructions; and
-
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. - View Dependent Claims (16, 17, 18, 19, 20)
- causing a video output stream to be presented on a display of the client device;
Specification