1. Field of the Disclosure
The present disclosure relates to accessing and controlling remote video devices.
2. Description of the Related Art
Multimedia content may be distributed by a multimedia content distribution network (MCDN) that includes Internet protocol television (IPTV) networks. Video devices such as set-top boxes (STBs) receive the multimedia content from the MCDN. For a person to operate the video device and determine the content of what is displayed by the video device, the person typically must be in the presence of the video device.
In a particular embodiment, a computer method of controlling a remote video device includes receiving first video data from the remote video device, receiving a local input to control the remote video device, sending an indication of the local input to the remote video device, and receiving second video data indicative of video images provided by the remote device in response to the local input. The video data received from the remote video device includes or is indicative of first video images provided by the remote video device. The computer method may further include displaying a local video image based on the second video data, which may provide an administrator the ability to view what is presented by the remote video device in response to the locally provided input.
The computer method, in some embodiments, includes storing the first video data and the second video data. First video images based on the first video data and second video images based on the second video data, in some embodiments, are compared to predetermine video patterns. In response to a trigger event (e.g., second video images corresponding to a predetermined video pattern), disclosed embodiments may take one or more recovery actions. For example, if the comparing steps indicate that the first or second video images presented by the remote video device include an error screen, the recovery action (e.g., updating a crash log) may be performed.
Local input provided to control the remote video device can be provided by a software routine and can be executed periodically or in response to administrator input. For example, a series of local user inputs may be assembled for execution as a batch file. The batch file may be scheduled for periodic (e.g., hourly, daily, etc.) execution. The computer method may further include mapping a control code set to a local interface control set. The control code set is associated with the remote video device or associated with a plurality of remote video devices. In response to an administrator providing local input, the input can then be translated using the control code set to control information used by the remote video device. The computer method may include remotely controlling and monitoring the remote video device through an MCDN, which may include one or more IPTV networks.
In another aspect, a remote video device controller includes a processor, a remote video adapter, and a storage that includes computer instructions for remotely controlling, monitoring, and accessing remote video devices. Instructions enable the remote video device controller to receive a local input to control a remote video device. The local input emulates an infrared (IR) input. Further instructions convert the local input to a remote video device command, send an indication of the remote video device command to the remote video device, and detect a change in content or image displayed by the remote video device after said sending. The remote video device command may bring the remote video device to a predetermined state, for example by rebooting the remote video device command, providing certain instructions to a user, and the like.
Embodied remote video device controllers may compare a video image or video images received from the remote video device to stored video patterns to detect a video pattern event. The video pattern event may indicate an absence of normal operation by the remote video device. For example, a video pattern event may indicate that an error screen has been presented or is currently being presented by the remote video device. In some embodiments, the remote video device controller adapts stored video patterns during operation based on the video image or images received from the remote video device.
Another embodiment relates to a service for controlling a remote video device. The service includes receiving first video data from the remote video device, sending an indication of a local control command to the remote video device, and receiving second video data indicative of a second video image produced by the remote video device responsive to the local control command. The first video data received from the remote device is indicative of first video images processed by the remote video device. In some embodiments, the service includes mapping a control code set to a local interface control set. The local interface control set is for the remote video device and a local interface control set includes the local control command. The service further includes translating the local control command to a remote video device command based on the mapping.
Disclosed embodiments relate to remotely monitoring, controlling, and testing of Internet protocol (IP) based video assets. Monitoring, controlling, and testing of the video assets can be performed from one centralized location and include: (1) acquiring and managing different video streams from various IP-based video devices connected within an IP-based network; (2) combining and storing video streams for consumption and further video analysis as specified by an administrator; (3) controlling the IP-based devices via user defined commands that map to the features of the given device(s); (4) mapping and creating such commands through a learning process; (5) storing code mappings in databases for future use; (6) assigning the appropriate command-codes database when a given IP-based video asset is selected to control the asset; and (7) enabling administrators to capture, store, display, and edit commands sent to the IP-based video device in a scripted format for future replay and automation.
Using disclosed embodiments, administrators can control and test any remote video assets and devices. Example remote video assets and devices include without limitation video-based applications, simulation tools, STBs, mobile phones, and personal digital assistants (PDAs). Control and testing of the remote video assets and devices can be performed over different IP-based networks including without limitation local area networks (LANs), wide area networks (WANs), 3G networks, and 4G networks. These networks can operate over any transport media including but not limited to copper, fiber, fixed-wireless, cellular, coaxial cable, and power line. Using disclosed embodiments, traditional direct local connections through wires may be unnecessary between the controller (i.e., the testing equipment) and the device (i.e., the remote video asset or device) because control and testing over IP-based networks is possible.
In some testing or operational environments, an administrator or user wishes to control multiple IP-based video assets (e.g., STBs) remotely. In some cases, using an IR remote control, an administrator must be within line-of-sight of an STB and must provide manual input to affect the operation of each STB. This can require that the administrator be physically in front of the STB and the display monitor to verify the actions taken by the STB in response to the IR command sent. Controlling multiple STBs, for example for testing purposes, using such systems can be labor intensive. Furthermore, such manual methods of controlling STBs do not capture and store commands so that the commands can be repeatedly sent later to test or achieve the same scenario on other STBs. Disclosed embodiments permit automatic monitoring, controlling, and testing of STBs that are not physically accessible (due to distance or location) to an administrator.
Using network control, monitoring, and testing of remote video assets helps prevent limitations on the physical distances between controller(s) and video assets. Disclosed embodiments permit rapid and repeatable set up and configuration between controller(s) and video assets. This can promote lower costs for control, testing, troubleshooting, maintenance, and repair of both controllers and video assets. Individual consumers may employ disclosed embodiments, or disclosed embodiments may be used by entities such as international companies, telecommunications carriers, mobile telephone operators, cable operators, fixed wireless operators, government-sponsored and/or owned entities, power companies, and the like.
In the following description, details are set forth by way of example to facilitate discussion of the disclosed subject matter. It should be apparent to a person of ordinary skill in the field, however, that the disclosed embodiments are exemplary and not exhaustive of all possible embodiments. Throughout this disclosure, a hyphenated form of a reference numeral refers to a specific instance of an element and the un-hyphenated form of the reference numeral refers to the element generically or collectively. Thus, for example, widget 12-1 refers to an instance of a widget class, which may be referred to collectively as widgets 12 and any one of which may be referred to generically as a widget 12.
As shown, control server 114 can access database 106 which includes video patterns 150, rules 160, and actions 170. In some embodiments, control server 114 monitors video images of a remote video device (e.g., remote video device 130-1) and compares video images received from the remote video device to video patterns 150. Rules 160 may be accessed by control server 114 to determine when a trigger event has occurred. For example, a video patterns 150 may include an error screen, and control server 114 may receive video data that indicates that remote video device 130-1 has presented a corresponding error screen. Rules 160 may include a rule that if an error screen presented by remote video device 130-1 corresponds to an error screen in video patterns 150, a certain action (e.g., a reboot) is taken. For example, an administrator may be notified, the remote video device 130-1 may be brought to a predetermined state, or other such recovery actions may be taken. Rules 160 and actions 170 may be updated by an administrator. Likewise, video patterns 150 may be adapted during operation to include video patterns used for monitoring one or more remote video devices.
In some disclosed embodiments, control server 114 accesses video images presented by remote video device 116-1. Remote video device 116-1 may transmit and stream video data through network 165-1 to control server 114. Control server 114 may provide control command through network 165-1 to remote video device 116-1. An administrator accessing control server 114 may provide user input that simulates or causes IR input to be received by remote video device 116-1. In some embodiments, a control code set for a video device 116-1 is mapped to controls presented through a user interface presented by control server 114 to an administrator. An administrator may provide input to the interface to control remote video device 116-1, and control server 114 translates the inputs using the control code set to control signals used by remote video device 160-1. Remote video device 116-2 may be controlled in a similar way, and may operate using a different control code set as compared to remote video device 116-1. Similarly, control server 114 may control remote video device 117-1 using a control code set compatible with remote video device 117-1. In this way, an administrator may simultaneously operate a single interface provided by control server 114 to simultaneously operate, monitor, access, and control multiple remote video devices in multiple locations that have different control parameters. Once the remote video devices receive and act on the user input, the administrator may receive over one or more networks video data that indicates video images presented by the remote video devices in response to the user input. Video data received by control server 114 may be stored by control server 114 and analyzed at any time.
As shown, control server 114 may control STB 305 and STB 321 through networks 319 and 308, respectively. To control STB 305, control server 114 sends signals indicative of a remote video device command through network 319 to STB control device 307. As shown, STB control device 307 is communicatively coupled to STB 305. In some embodiments, STB control device 307 translates commands received from control server 114 to IR commands to affect the video images displayed by STB 305. For example, STB control device 307 may request a channel change to be performed by STB 305. To provide feedback to control server 114 so that control server 114 may determine the effect of control commands it sends, video encoder 309 encodes and streams video data through network 319 to control server 114. The video data represents video images presented by STB 305 in response to the control command sent from control server 114.
As shown, STB 321 is communicatively coupled through network 308 to control server 114. STB 321 includes STB control device 323 and video encoder 325. As shown in
Control server 114, in some embodiments, is a remote video device (e.g., video application, STB, television, etc.) controller that includes a processor (not depicted), a remote video adapter (not depicted), and a storage (not depicted). The storage may have embedded instructions that enable control server 114 to receive a local input to control a remote video device (e.g., STB 305). The local input may emulate an IR input. For example, control application 315 may present a graphical user interface to an administrator with a virtual remote control device (i.e., a graphical image of a remote control device with selectable icons representing buttons typically contained on a hand-held remote control device with tactile buttons). Accordingly, the administrator may provide input through the graphical user interface to the virtual remote control device to cause STB control device 307 to provide control commands to STB 305. The local input may be converted to a remote video device command compatible with STB control device 307 and STB 305. An indication of the remote video device command may be sent through network 319 to the remote video device (e.g., STB 305). A change in the content or images displayed by STB 305 can be detected, and images or data associated with the change in content or images is encoded using video encoder 309. As shown, the encoded data is sent from video encoder 309, through network 319, to control server 114. This provides feedback regarding the effects of the remote video device commands sent over network 319. In other words, an administrator is provided an indication of the effects of remote video device commands sent to one or more remote video devices. Accordingly, the administrator can troubleshoot, monitor, and access operation of the remote video devices from a single location.
To the maximum extent allowed by law, the scope of the present disclosure is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited to the specific embodiments described in the foregoing detailed description.
The present patent application is a continuation of a previously filed patent application, U.S. patent application Ser. No. 12/577,612, filed Oct. 12, 2009,the entirety of which is hereby incorporated by reference. Pursuant to 37 CFR §1.78(a)(3), an application data sheet containing a reference to the previously filed application, unless submitted previously, is submitted contemporaneously herewith.
Number | Name | Date | Kind |
---|---|---|---|
5586264 | Belknap et al. | Dec 1996 | A |
6397388 | Allen | May 2002 | B1 |
6501516 | Clapper | Dec 2002 | B1 |
6678004 | Schultheiss et al. | Jan 2004 | B1 |
7429932 | Newell et al. | Sep 2008 | B1 |
7661075 | Lahdesmaki | Feb 2010 | B2 |
7671735 | Karaoguz et al. | Mar 2010 | B2 |
7685523 | Calderone et al. | Mar 2010 | B2 |
7770198 | Greene | Aug 2010 | B1 |
7793317 | Sullivan et al. | Sep 2010 | B2 |
7826383 | Savard et al. | Nov 2010 | B2 |
7873029 | Chang et al. | Jan 2011 | B2 |
20020143858 | Teague et al. | Oct 2002 | A1 |
20020184645 | Austin et al. | Dec 2002 | A1 |
20030066075 | Bahn et al. | Apr 2003 | A1 |
20040163130 | Gray et al. | Aug 2004 | A1 |
20040244056 | Lorenz et al. | Dec 2004 | A1 |
20050063333 | Patron et al. | Mar 2005 | A1 |
20060174279 | Sullivan et al. | Aug 2006 | A1 |
20060179468 | Pearson | Aug 2006 | A1 |
20070097860 | Rys et al. | May 2007 | A1 |
20070143790 | Williams et al. | Jun 2007 | A1 |
20070206753 | Chang et al. | Sep 2007 | A1 |
20070256114 | Johnson et al. | Nov 2007 | A1 |
20080040767 | McCarthy et al. | Feb 2008 | A1 |
20080201616 | Ashmore | Aug 2008 | A1 |
20090282444 | Laksono et al. | Nov 2009 | A1 |
20100299696 | Konishi | Nov 2010 | A1 |
20110075657 | Chang et al. | Mar 2011 | A1 |
Number | Date | Country |
---|---|---|
WO 2009093538 | Jul 2009 | WO |
Number | Date | Country | |
---|---|---|---|
20140173670 A1 | Jun 2014 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12577612 | Oct 2009 | US |
Child | 14188444 | US |