DYNAMIC VIDEO OVERLAYS
First Claim
1. A method comprising:
- causing a video output stream to be presented on a display;
accessing a video input stream containing content from a content provider and an intermediate device;
accessing, from a database that stores a plurality of templates, a template corresponding to a screen portion generated by the intermediate device,analyzing, by one or more processors, the video input stream to determine that at least a portion of content of a frame of the video input stream matches the template;
based on the at least a portion of content of the frame of the video input stream matching the template, modifying the video output stream to include the screen portion generated by the intermediate device; and
causing, by the one or more processors, the modified video output stream 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.
55 Citations
20 Claims
-
1. A method comprising:
-
causing a video output stream to be presented on a display; accessing a video input stream containing content from a content provider and an intermediate device; accessing, from a database that stores a plurality of templates, a template corresponding to a screen portion generated by the intermediate device, analyzing, by one or more processors, the video input stream to determine that at least a portion of content of a frame of the video input stream matches the template; based on the at least a portion of content of the frame of the video input stream matching the template, modifying the video output stream to include the screen portion generated by the intermediate device; and causing, by the one or more processors, the modified video output stream 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 configured by the instructions to perform operations comprising; causing a video output stream to be presented on a display; accessing a video input stream containing content from a content provider and an intermediate device; accessing, from a database, a template corresponding to a screen portion generated by the intermediate device; analyzing the video input stream to determine that at least a portion of content of a frame of the video input stream matches the template; based on the at least a portion of content of the frame of the video input stream matching the template, modifying the video output stream to include the screen portion generated by the intermediate device; and causing the modified video output stream to be presented on the display. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory machine-readable medium that stores instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
-
causing a video output stream to be presented on a display; accessing a video input stream containing content from a content provider and an intermediate device; accessing a template corresponding to a screen portion generated by the intermediate device; analyzing the video input stream to determine that at least a portion of content of a frame of the video input stream matches the template; based on the at least a portion of content of the frame of the video input stream matching the template, modifying the video output stream to include the screen portion generated by the intermediate device; and causing the modified video output stream to be presented on the display. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification