SYSTEM AND METHOD TO FACILITATE CONFIGURATION OF A CONTROLLING DEVICE
A system and method wherein geographic data is used to configure a controlling device to control operations of a target device and/or to configure the controlling device to control tuning operations of a target device. The system additionally provides for the harmonization of controlling device configurations made on the controlling device and/or a remote computer.
This application claims the benefit of and is a divisional of U.S. application Ser. No. 15/053,323, filed on Feb. 25, 2006, which application claims the benefit of and is a continuation of U.S. application Ser. No. 12/490,978, filed on Jun. 24, 2009, which application claims the benefit of U.S. Provisional Application No. 61/076,226, filed Jun. 27, 2008.
Through U.S. application Ser. No. 12/490,978, this application additionally claims the benefit of, and is a continuation-in-part of, U.S. application Ser. No. 12/421,065, filed Apr. 9, 2009, which is a divisional of U.S. application Ser. No. 11/340,442, filed Jan. 26, 2006, which is a divisional of U.S. application Ser. No. 10/288,727, filed Nov. 6, 2002, which application claimed the benefit of U.S. Provisional Application No. 60/344,020, filed Dec. 20, 2001, and 60/344,774, filed Nov. 20, 2001.
The disclosure within each of these applications is incorporated herein by reference in its entirety.
BACKGROUNDThis invention relates generally to controlling devices, such as for example universal remote controls, and more specifically to systems and methods for configuration of such devices, for example matching controlling device commands to the appliances to be controlled, defining favorite channels, etc.
As is known in the art, in order to associate a universal controlling device with an appliance to be controlled, data may be provided to the controlling device that serves to identify an intended target appliance by its type and make (and sometimes model). Such data may allow the controlling device to identify appropriate command data within a library of command data that is pre-stored in or downloaded into the controlling device, and to transmit recognizable commands in a format appropriate for such identified appliances. Multiple methods for providing such setup data have been proposed, including the known setup procedures described, for example, in U.S. Pat. Nos. 4,959,810, 5,614,906, and 6,225,938, which describe self-contained setup of controlling devices, and U.S. patent application Ser. Nos. 09/804,623 and 09/615,473 which describe setup of controlling devices by interaction with a Web site. It will also be appreciated that a controlling device may be set up to command operations of an appliance by being taught the command codes needed to command such appliance as described in U.S. Pat. No. 4,623,887. Still further, it will be understood that a controlling device may be upgradeable with additional or revised command data, for example, by transfer via an external input port as described in the aforementioned U.S. Pat. No. 4,959,810.
While these variously known systems and methods for configuring a universal controlling device generally work for their intended purpose, a need remains for a system and method that provides a yet more convenient and user friendly way for configuring a universal controlling device.
SUMMARY OF THE INVENTIONIn accordance with this and other needs, the following generally describes a system and method for rapid configuration of a universal controlling device. To this end, in addition to one or more of the previously described configuration methods, a universal controlling device may be provisioned with a method by means of which a user, upon entry of information indicative of geographical location or other regional identity, is presented with a selected set of appliance codes to be tested, such selection based upon known brand and/or model popularity for that region. Since in general, for a given market or region a relatively small number of brands and command code sets represent a large segment of the installed base of appliances (the so-called “top 25” rule, or other such number as appropriate for a particular situation), the approach described above allows a universal controlling device provisioned with a single command code library to be rapidly configurable “out of the box” across a broad geographic spectrum. Further, as a means to provide complete appliance control coverage, such a controlling device library may be supplemented by additional downloadable command codes sets corresponding to less common appliances using optional PC and/or Internet based configuration methods.
Additionally, methods are presented by means of which the configuration of other controlling device options, such as for example the programming of favorite channel selection buttons or icons of the controlling device, may be simplified and/or expedited by the use of such regional data.
A better understanding of the objects, advantages, features, properties and relationships of the invention will be obtained from the following detailed description and accompanying drawings which set forth illustrative embodiments and which are indicative of the various ways in which the principles of the invention may be employed.
For a better understanding of the various aspects of the invention, reference may be had to preferred embodiments shown in the attached drawings in which:
The following describes a system and method by means of which a universal controlling device, such as a remote control, may be configured to command the operation of various consumer electronic appliances. By way of example,
As illustrated in
While illustrated in the context of a television 102, an A/V receiver 104 and a set top box 106, it is to be understood that controllable appliances may include, but are not limited to, televisions, VCRs, DVRs, DVD players, cable or satellite converter set-top boxes (“STBs”), amplifiers, CD players, game consoles, home lighting, drapery, fans, HVAC systems, thermostats, personal computers, etc. It will also be appreciated that, while in the illustrative embodiment a PC 200 is utilized to assist in the configuration of controlling device 100, in alternative embodiments this function may be performed equally well by any other appliance such as, for example, a set top box. Further, while the illustrative coupling of controlling device 100 to the configuring appliance is via a wired interface 202, it will be appreciated that in alternative embodiments other coupling means may be employed with equal success, for example wireless connections such as WiFi, Bluetooth, infrared transmission, etc.
With reference to
As will be understood by those skilled in the art, some or all of the memories 302, 304, 306 may include executable instructions (collectively, the program memory) that are intended to be executed by the processor 300 to control the operation of the remote control 100, as well as data that serves to define the aforementioned control protocols and command values to the operational software (collectively, the command data). In this manner, the processor 300 may be programmed to control the various electronic components within the remote control 100, e.g., to monitor the power supply 310, to cause the transmission and reception of signals, control visual feedback device(s) 314, etc. All or part of the non-volatile read/write memory 306, for example an EEPROM, battery-backed up RAM, FLASH, Smart Card, memory stick, or the like, may additionally be used to store setup data and parameters as necessary. While the memory 304 is illustrated and described as a ROM memory, memory 304 may also be comprised of any type of readable media, such as ROM, FLASH, EEPROM, or the like. Preferably, the memories 304 and 306 are non-volatile or battery-backed such that data is not required to be reloaded after battery changes. In addition, the memories 302, 304 and 306 may take the form of a chip, a hard disk, a magnetic disk, an optical disk, and/or the like. Still further, it will be appreciated that some or all of the illustrated memory devices may be physically incorporated within the same IC chip as the microprocessor 300 (a so called “microcontroller”) and, as such, they are shown separately in
To cause the controlling device 100 to perform an action, controlling device 100 is adapted to be responsive to events, such as a sensed user interaction with the key matrix 312, etc. In response to an event, appropriate instructions within the program memory (hereafter the “operating program”) may be executed. For example, when a function key is actuated on the controlling device 100, the controlling device 100 may retrieve from the command data stored in memory 302, 304, and/or 306 the command value and control protocol currently assigned to the actuated function key and the currently assigned device mode to thereby transmit a command to an intended target appliance, e.g., the STB 106 or the TV 102, in a format recognizable by the intended target appliance. It will also be appreciated that the operating program can be used not only to cause the transmission of command codes and/or data to the appliances, but also to perform local operations. While not limiting, local operations that may be performed by the controlling device 100 may include displaying information/data, favorite channel setup, macro key setup, function key relocation, etc. Examples of local operations can be found in U.S. Pat. Nos. 5,481,256, 5,959,751, and 6,014,092. An additional local operation is the ability to “lock” function keys across device operational modes as described in U.S. Published Patent Application No. 2003/0025840.
Turning now to
Once the user has selected a brand from the displayed brand listing, the operating software of controlling device 100 may identify those command code sets within the library of command code sets stored in its memory that are applicable to the selected brand, geographical region, and device type (for example Samsung/North America/TV). The operating software may then issue a series of prompts which guide the user through a process whereby the identified command code sets are tested one by one (either manually or automatically) against the target appliance, for example by the controlling device using each command code set to transmit a response-evoking command such as “mute” or “power,” until the correct command code set is identified, i.e., the target device responds to a transmitted command. If during this process no compatible code set is identified as being appropriate for commanding the target device, the setup process is ended and as described previously the user is advised to complete the configuration process by connecting controlling device 100 to a PC as described hereafter.
If a compatible command code set is found during the testing process, then at step 414 the user is presented with the opportunity to repeat the above process for another device. In this manner, a user may configure controlling device 100 to communicate with all their items of equipment 102, 104, 106, etc. Once all desired target equipment has been configured on the controlling device 100, at step 416 the user is given the opportunity to configure other locally supported features of controlling device 100, for example designating that all volume control commands be issued to a single device such as AV receiver 104, programming quick access keys for favorite channels, etc. Finally, at step 422 the user is reminded that additional configuration options may be available by connecting controlling device 100 to a PC.
It will be appreciated that regional information may also be used to provide the controlling device 100 with regionally relevant language and/or key layout settings, e.g., key layout displays and/or key command assignments, during the controlling device 100 configuration process as described, for example, in U.S. application Ser. No. 12/421,065 at page 77, line 17-page 79, line 2.
With reference to
Controlling device configured, no stored configuration: Create a new configuration, or use the existing configuration from the controlling device (step 612). Controlling device configured, stored configuration present which is different from that of the controlling device: Possible actions: Create a new configuration, use the existing configuration from the controlling device, or use the existing stored configuration (step 614).
Controlling device configured, stored configuration present which is the same as that of the controlling device: Possible actions: Create a new configuration, or use the existing stored configuration (step 616).
Controlling device not configured, stored configuration present: Possible actions: Create a new configuration, or use the existing stored configuration (step 616).
Controlling device not configured, no stored configuration: Possible actions: Create a new configuration (step 618).
If a user selects the “upload” option in either of steps 612 or 614, at step 620 the configuration data retrieved from the controlling device is used to update the stored configuration data. As illustrated by warning message 520, in cases where this action will result in the overwriting of previously-saved configuration data, a user confirmation may be requested before the action is performed.
If a user selects the “new” option in either of steps 614, 616, or 618, at step 626 the configuration settings are initialized to default values and a first time setup is initiated. By way of example, without limitation, such a first time setup may comprise entry of a name for the configuration, user profile data, equipment types, region and language information, etc. Thereafter, at step 628 a user may be presented with a main menu of configuration editing options, in the same manner as a user who had selected the “edit” option at steps 614 or 616.
With reference to
Turning now to
User testing of the downloaded sample codes on controlling device 100 may be conducted in a manner similar to that previously described in connection with steps 410 and 412 of
Turning now to
While various concepts have been described in detail, it will be appreciated by those skilled in the art that various modifications and alternatives to those concepts could be developed in light of the overall teachings of the disclosure. For example, in an alternate embodiment, geographic region information regarding the location of the system illustrated in
Further, while described in the context of functional modules and illustrated using block diagram format, it is to be understood that, unless otherwise stated to the contrary, one or more of the described functions and/or features may be integrated in a single physical device and/or a software module, or one or more functions and/or features may be implemented in separate physical devices or software modules. It will also be appreciated that a detailed discussion of the actual implementation of each module is not necessary for an enabling understanding of the invention. Rather, the actual implementation of such modules would be well within the routine skill of an engineer, given the disclosure herein of the attributes, functionality, and inter-relationship of the various functional modules in the system. Therefore, a person skilled in the art, applying ordinary skill, will be able to practice the invention set forth in the claims without undue experimentation. It will be additionally appreciated that the particular concepts disclosed are meant to be illustrative only and not limiting as to the scope of the invention which is to be given the full breadth of the appended claims and any equivalents thereof.
All patents cited within this document are hereby incorporated by reference in their entirety.
Claims
1-27. (canceled)
28. A system for making a selection for instructing a channel control system through a computing device, the system comprising:
- a processor;
- a non-transitory computer-readable storage medium storing computer program instructions that when executed by the processor perform steps to:
- associate each television service provider identifier in a set of television service provider identifiers with a television service provider and locations where the television service provider operates; receive, in response to a selection of a user interface element on the computing device associated with a television program, a request to display the television program on a television of the channel control system, the request including identifying information for the television program;
- determine a location identifier for the computing device;
- select a given television service provider identifier from the set of television service provider identifiers based on the location identifier, the location identifier indicating a location among the locations where the television service provider associated with the given television service provider identifier operates;
- determine a television function identifier based on the given television service provider identifier and the identifying information for the television program, the television function identifier specifying a setting of the channel control system to display the television program on the television of the channel control system;
- select at least one infrared code compatible with the channel control system based on the television function identifier for configuring the channel control system to display the television program on the television of the channel control system; and
- transmit the at least one infrared code to the computing device.
29. The system of claim 28, wherein selecting the at least one infrared code compatible with the channel control system further comprises selecting the at least one infrared code based on stored configuration information for the channel control system.
30. The system of claim 28 wherein determining the television function identifier comprises: transmitting the given television service provider identifier; receiving electronic program guide information associated with the given television service provider identifier, the electronic program guide information including channel settings for television programs; and selecting the television function identifier specifying the setting of the channel control system to display the television program responsive to the electronic program guide information including a channel setting corresponding to the television program.
31. The system of claim 28, further comprising instructions to determine an internet protocol address associated with the computing device, and wherein determining the location identifier is based on the internet protocol address associated with the computing device.
32. The system of claim 28, further comprising instructions to receive, from the computing device, configuration information including model information associated with the channel control system, and wherein the at least one infrared code compatible with the channel control system is selected based on the configuration information.
33. The system of claim 28, wherein the channel control system further comprises at least one of a set-top box, and a digital video recorder.
34. The system of claim 28, wherein the television function identifier specifying a setting of the channel control system comprises a television channel setting for the channel control system that corresponds to display of the television program.
35. The system of claim 34, wherein the television channel includes digitally-distributed television channels obtained through online streaming.
36. The system of claim 34, further comprising instructions to: determine the channel control system does not have access to the television channel; and in response to determining the channel control system does not have access to the television channel, transmit a notification to the computing device.
37. The system of claim 36, wherein the notification provides an option for a user of the computing device to pay an access fee to enable the channel on the channel control system.
Type: Application
Filed: Sep 28, 2018
Publication Date: Jan 24, 2019
Inventors: Brandt J. Thompson (Corona del Mar, CA), Jon Gallegos (Huntington Beach, CA), Jason L. Godwin (Enschede), Patrick H. Hayes (Mission Viejo, CA)
Application Number: 16/146,741