Systems and methods for operating a set top box
First Claim
1. A computer-implemented method, comprising:
- at a first electronic device coupled to a display and a second electronic device, the first electronic device including one or more processors and memory;
sending a first command sequence to the second electronic device, wherein the first command sequence is not known to be correct;
in response to the sending, capturing display data provided by the second electronic device;
generating a fingerprint of displayed user interface elements from the captured display data;
obtaining, based on the generated fingerprint, a determination as to whether the first command sequence was performed correctly by the second electronic device;
in accordance with a determination that the first command sequence was not performed correctly, sending a second command sequence to the second electronic device, wherein the second command sequence is not known to be correct;
in accordance with a determination that the second command sequence was performed correctly, identifying a command set comprising the second command sequence as a correct command set for the second electronic device;
generating a user interface including selectable user options for interacting with a plurality of features provided by the second electronic device;
providing the user interface for display on the display;
receiving a user selection, via the provided user interface, of an option associated with a feature;
determining that a particular command of the command set corresponds to the feature; and
responsive to the user selection of the option associated with the feature, issuing the particular command to the second electronic device.
0 Assignments
0 Petitions
Accused Products
Abstract
Features of various implementations are used to control operation of a second electronic device from a first electronic device using indirect control methods and optical character recognition. In some implementations, communication between a primary set-top box and a supplemental set-top box is configured in order to avoid the need for one or more provider-specific APIs. For example, one aspect of the disclosure is a method of identifying commands that can be used to control one or more features of a primary set-top box (e.g., DVR or VOD features) by a supplemental set-top box issuing commands to the primary set-top box via a wireless (e.g., IR) transmitter, and then using optical character recognition to identify the outcomes of those commands as displayed on a primary TV display or secondary display.
78 Citations
38 Claims
-
1. A computer-implemented method, comprising:
at a first electronic device coupled to a display and a second electronic device, the first electronic device including one or more processors and memory; sending a first command sequence to the second electronic device, wherein the first command sequence is not known to be correct; in response to the sending, capturing display data provided by the second electronic device; generating a fingerprint of displayed user interface elements from the captured display data; obtaining, based on the generated fingerprint, a determination as to whether the first command sequence was performed correctly by the second electronic device; in accordance with a determination that the first command sequence was not performed correctly, sending a second command sequence to the second electronic device, wherein the second command sequence is not known to be correct; in accordance with a determination that the second command sequence was performed correctly, identifying a command set comprising the second command sequence as a correct command set for the second electronic device; generating a user interface including selectable user options for interacting with a plurality of features provided by the second electronic device; providing the user interface for display on the display; receiving a user selection, via the provided user interface, of an option associated with a feature; determining that a particular command of the command set corresponds to the feature; and responsive to the user selection of the option associated with the feature, issuing the particular command to the second electronic device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
13. An electronic device, comprising:
-
one or more processors; and memory coupled to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for; sending a first command sequence to a second electronic device coupled to a display, wherein the first command sequence is not known to be correct; in response to the sending, capturing display data provided by the second electronic device; generating a fingerprint of displayed user interface elements from the captured display data; obtaining, based on the generated fingerprint, a determination as to whether the first command sequence was performed correctly by the second electronic device; in accordance with a determination that the first command sequence was not performed correctly, sending a second command sequence to the second electronic device, wherein the second command sequence is not known to be correct; in accordance with a determination that the second command sequence was performed correctly, identifying a command set comprising the second command sequence as a correct command set for the second electronic device; generating a user interface including selectable user options for interacting with a plurality of features provided by the second electronic device; providing the user interface for display on the display; receiving a user selection, via the provided user interface, of an option associated with a feature; determining that a particular command of the command set corresponds to the feature; and responsive to the user selection of the option associated with the feature, issuing the particular command to the second electronic device. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device, cause the electronic device to:
-
send a first command sequence to a second electronic device coupled to a display, wherein the first command sequence is not known to be correct; in response to the sending, capture display data provided by the second electronic device; generate a fingerprint of displayed user interface elements from the captured display data; obtain, based on the generated fingerprint, a determination as to whether the first command sequence was performed correctly by the second electronic device; in accordance with a determination that the first command sequence was not performed correctly, send a second command sequence to the second electronic device, wherein the second command sequence is not known to be correct; in accordance with a determination that the second command sequence was performed correctly, identify a command set comprising the second command sequence as a correct command set for the second electronic device; generate a user interface including selectable user options for interacting with a plurality of features provided by the second electronic device; provide the user interface for display on the display; receive a user selection, via the provided user interface, of an option associated with a feature; determine that a particular command of the command set corresponds to the feature; and responsive to the user selection of the option associated with the feature, issue the particular command to the second electronic device. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
Specification