[go: up one dir, main page]

CN107408331B - System and method for configuring remote control functions of a portable device - Google Patents

System and method for configuring remote control functions of a portable device Download PDF

Info

Publication number
CN107408331B
CN107408331B CN201680008875.3A CN201680008875A CN107408331B CN 107408331 B CN107408331 B CN 107408331B CN 201680008875 A CN201680008875 A CN 201680008875A CN 107408331 B CN107408331 B CN 107408331B
Authority
CN
China
Prior art keywords
appliance
data
smart device
functional operations
commands
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680008875.3A
Other languages
Chinese (zh)
Other versions
CN107408331A (en
Inventor
保罗·D·阿林
布莱恩·巴奈特
杰西·佩雷兹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Universal Electronics Inc
Original Assignee
Universal Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/245,195 external-priority patent/US9208679B2/en
Application filed by Universal Electronics Inc filed Critical Universal Electronics Inc
Priority claimed from PCT/US2016/015981 external-priority patent/WO2016126609A2/en
Publication of CN107408331A publication Critical patent/CN107408331A/en
Application granted granted Critical
Publication of CN107408331B publication Critical patent/CN107408331B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Selective Calling Equipment (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Systems and methods for configuring a smart device to command functional operation of a target appliance. The smart device retrieves data indicative of a codeset identification of the target appliance from a controllable appliance, such as a set-top box, wherein the codeset identification is determined in a process for configuring a conventional universal remote control to command functional operation of the target appliance, and wherein the process for configuring the conventional universal remote control is performed in cooperation with the controllable appliance. The remote control application resident on the smart device then uses the data indicative of the code set identification retrieved from the controllable appliance to also configure the smart device to command functional operation of the target appliance.

Description

System and method for configuring remote control functions of a portable device
Information of related applications
This application is a continuation-in-part application of and claiming the benefits of U.S. application No. 14/269,818 filed 5/2014, which is a continuation-in-part application of and claiming the benefits of U.S. application No. 14/245,195 filed 4/2014, which is a continuation-in-part application of and claiming the benefits of U.S. patent application No. 14/184,298 filed 2/19/2014, which is a continuation-in-part application of and claiming the benefits of U.S. patent application No. 13/198,172 filed 8/4/2011, which is a continuation-in-part application of and claiming the benefits of U.S. patent application No. 13/198,072 filed 8/4/2011, which is also a continuation-in-part application of and claiming the benefits of U.S. patent application No. 13/026,768 filed 14/2011, which is a continuation-in-part application of and claims the benefits of U.S. patent application No. 12/768,325 (now U.S. patent No. 7,969,514) filed 27/2010, this application is a continuation of U.S. patent application No. 11/515,962 (now U.S. patent 7,907,222) filed on 5.9.2006. The disclosure in each of these referenced applications is incorporated herein by reference in its entirety.
Background
Personal communication, productivity, and entertainment devices, such as tablet computers, smart phones, portable email devices, electronic books, handheld game consoles and/or game controllers, portable media players, and the like (hereinafter referred to collectively as "smart devices"), are known to include features such as graphical user interfaces on color touch screens, wireless internet capabilities, support for auxiliary applications (sometimes referred to as "apps") such as calendars, emails, maps, and navigation. These secondary applications may be pre-installed in the smart device or may be downloaded by the user. Some such apps may include the ability to issue commands to entertainment and other devices, such as in conjunction with a GUI that provides features and functionality of a universal remote control as known in the art, in conjunction with a television guide display to enable channel selection, and so forth. Typically, such remote control applications may be provided with a library of command data and protocols (so-called "universal remote controls") adapted to control a plurality of devices of different types and/or manufacture. Such a library of commands and the hardware necessary to send operating commands to the device may be incorporated into or made available to the smart device itself, or may take the form of a separate external device (i.e., a relay device or so-called "Blaster") that is arranged to communicate with the smart device. In any event, upon initial installation or subsequent replacement of the controlled device, such a universal remote control application must typically be configured to match each particular device to be controlled with the appropriate set of command data and protocols in the library. A user-friendly and convenient method for performing such a configuration process is disclosed herein.
Disclosure of Invention
The present invention relates generally to remote control systems and, more particularly, to a system and method for facilitating the setup and configuration of portable devices, such as smart devices that may include universal remote control functionality, to command the operation of one or more manufacturer's remote controllable devices of one or more types. Exemplary smart devices include, but are not limited to, apple's "iPhone" and "iPad" brand devices, Google's "Android" brand devices, Nintendo's "WiiU" brand devices, blackberry's "Torch" or "PlayBook" brand devices, and the like. Example types of devices include, but are not limited to, televisions, digital video disc players (DVDs), cable or satellite Set Top Boxes (STBs), Digital Video Recorders (DVRs), Audio Video (AV) receivers, thermostats, game consoles, lighting systems, and so forth.
In order to quickly and easily configure a smart device application and associated command library to match a device to be controlled, in one exemplary embodiment of the present teachings, a smart device may be temporarily connected to a device to determine the identity of the device and thereby determine the appropriate command data and protocol for controlling the device. When the appliance communicates with other remotely controllable appliances to form part of a local entertainment and/or environmental system, the identity of these other appliances may also be determined by the smart device, which uses the connected appliance as a proxy. In a second exemplary embodiment of the present teachings, the smart device may communicate with an apparatus that previously participated in setting another universal remote control to receive from the apparatus configuration settings reached during a previous setting process.
Additionally, in some embodiments, configuration information about the local system may be communicated by the proxy device to the smart device for creating an active macro; localization of tags and menus for smart application display, and the like. For example, such information may include data regarding which media source device is connected to which input port of a rendering apparatus, such as a TV monitor or AV receiver, to facilitate the creation of pre-configured smart device command sequences for initiating "watch TV", "listen to music", etc. activities; language and menu settings of the connected device or devices, etc.
In an exemplary embodiment, the physical and logical interconnections between the smart devices and the apparatus and between the apparatus may conform to the High Definition Media Interface (HDMI) specification, and the apparatus identification may be from data such as Consumer Electronics Control (CEC) or Extended Display Identification Data (EDID) retrievable from an apparatus according to the specification, and/or from a Source Product Description (SPD) infoframe embedded in the digital video stream of the source apparatus according to the consumer electronics association specification CEA-861, among others. However, it should be understood that other interconnection methods and/or protocols may be used for the same purpose, as applicable to particular embodiments, such as, for example and without limitation, USB, IEE1394 "firewire", UPnP, CEbus, and the like.
A better understanding of the objects, advantages, features, properties and relationships of the claimed 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 claimed invention may be employed.
Drawings
For a better understanding of various aspects of the described embodiments, reference may be made to the accompanying drawings in which:
FIGS. 1A and 1B illustrate an exemplary system in which smart device applications configured in accordance with the present invention may be utilized;
FIG. 2 illustrates an exemplary interconnect that may be used during configuration of one or more of the smart devices of FIG. 1 in accordance with a first embodiment of the present invention;
FIG. 3 shows a series of steps that may be performed by a smart device in an HDMI enabled setup process;
FIG. 4 illustrates an exemplary device identification database record that may be used to configure smart device applications in accordance with the present invention;
FIG. 5 illustrates another exemplary system in which the configuration of one or more of the smart devices of FIG. 1 may be implemented in accordance with a second embodiment of the present invention;
FIG. 6 shows a series of steps that may be performed by a smart device in the setup process of an enabling apparatus;
FIG. 7 shows another series of steps that may be performed by the smart device in an HDMI enabled setup process; and
fig. 8 illustrates another exemplary system in which the configuration of the undetected device may be aggregated.
Detailed Description
By way of example, fig. 1A and 1B illustrate exemplary systems 102 and 104 in which a smart device 100 may be adapted to issue commands to a controllable appliance, such as a TV106, a set-top box (STB)108, a DVD player 110, and the like. While a home entertainment system including a TV, STB and DVD player is shown in this context, it is understood that the controllable devices may include, but are not limited to, televisions, VCRs, DVRs, DVD players, cable or satellite converter set top boxes ("STBs"), amplifiers, AV receivers, CD players, game consoles, home lighting, draperies, fans, HVAC systems, thermostats, personal computers, and the like. In the illustrative embodiment of FIG. 1A, the smart device 100 may include a universal remote control application and the necessary hardware to enable the direct transmission of commands to the appliances 106-110. Device commands may be issued in the form of infrared signals 112 as shown, or in any other suitable format suitable for control of each particular device, such as RF signals contemplated by RF4CE, Zwave, bluetooth, etc.; an ultrasonic signal; visible light, and the like. In the embodiment of FIG. 1A, these command signals may be issued directly by the smart device 102 using, for example, the techniques described in co-pending U.S. patent application 13/043,915, which is incorporated herein by reference in its entirety. In an alternative embodiment shown in FIG. 1B, the appliance command 112 may be issued indirectly via a relay device 114, the relay device 114 being responsive to a wireless communication 116 received from a remote control-master application resident in the smart device 100, such as described in co-pending U.S. patent application 13/071,661, the entire contents of which are also incorporated herein by reference.
In either case, the remote control application and/or associated relay device must be provided with the specific command data and protocol ("codeset") to which each controlled appliance responds. As is known in the art, this may take the form of a pointer or index: locally pre-stored in a library of codesets in the memory of the smart device 100 or the relay device 114; the various code sets downloaded to these devices during the configuration process; each code set command code downloaded item by item from a library stored locally on a personal computer or device such as STB108 or TV106 or remotely on a head end or internet accessible server as needed; and so on. In any event, since the methods described herein for accomplishing the identification of a suitable code set for a controlled device may generally be applied without regard to the exact mechanism that ultimately provides the code set, it should be understood that the embodiments described below are merely exemplary, and that the proposed techniques, plus necessary alterations, may be applied to any of a variety of possible device and code library configurations.
Referring to fig. 2, in one exemplary embodiment, a remote control application resident on the smart device 100 (or any other device with control capabilities, such as a STB, etc.) may be matched to a device to be controlled (e.g., the television 106 and/or the cable set-top box 108 and DVD player 110) by temporarily connecting the HDMI port 206 of the smart device 100 to an available HDMI port 210 of the device to be controlled (e.g., the TV106 in the illustrative example) via an HDMI-compatible cable 208 or via an HDMI-capable wireless link, etc. Once the connection is established, the remote application of the smart device 100 may be placed in a setup mode in which the application may seek device identification data, such as CEC manufacturer ID and/or EDID manufacturer number and product code, from the TV 106. In a preferred embodiment, the data so obtained may be uploaded from the smart device to the server 200 via, for example, a WiFi connection 204 to the internet 202. The server 200 may include a database 216 that cross-references CEC and/or EDID device identification data to device command code sets that may be referenced to determine an appropriate command code set for controlling the example device 106. In an alternative embodiment, the database in which the device command code set is cross-referenced with data that may be referenced with reference to the standard itself may reside locally on the smart device itself; or may reside in an accessible device, such as a local PC or STB, that is part of the WiFi network. In any event, once determined, the desired set of codes may be provided to the remote control application of the smart device 100 in the form of a pointer or index into a local database; or in the form of downloaded code set chunks from a code set database 218 stored on the server 200, etc.; as the case may be.
Turning now to the flow chart shown in fig. 3, once the exemplary smart device 100 is placed in communication with an appliance using, for example, the HDMI cable 208 or HDMI wireless link, a setup program forming part of a remote control application installed on the smart device may be launched in step 300, for example, from a configuration or setup menu as is known in the art. In step 302, the setup procedure may begin by issuing successive CEC-compatible < poll info > transmissions (as defined in the HDMI specification and accompanying CEC supplements) to each possible type-specific CEC logical device address. By way of illustration, the CEC protocol may support up to 16 possible logical address values, each assigned to a particular device type: for example, the television apparatus only employs logical addresses 0 or 14; a playback device such as a DVD player may use only one of logical addresses 4, 8 or 11; the tuning device may use only one of logical addresses 3, 6,7 or 10; and so on. In order to receive a response to the polling, the initiator device according to one version of the CEC specification (the smart device 100 in this embodiment) may always adopt the address 15. Although the smart device 100 is only physically connected to the HDMI port 210 of the TV106, the CEC protocol allows a device to act as a CEC switch, i.e., in the illustrative embodiment, CEC communications are explicitly routed to or from devices connected to its other HDMI ports, such as the STB108 or DVD player 106. Thus, in the case where the host device to which those smart devices are bound supports this function, the setup program can thereby be enabled to interrogate downstream devices.
If no device response to the issued polling message is detected at step 304, the setup procedure continues at step 320 to allow manual configuration by the user of the application. However, if one or more responses are detected, a CEC < offer device vendor ID > message is sent to the first response logical address value at step 306. According to the CEC protocol, the device to which the message is directed may respond with a unique 24-bit vendor ID, the number of which is assigned by the IEEE to the CEC-compliant manufacturer according to the standard. Upon receipt, the vendor ID number, along with the CEC logical address (indicating the device type) from which it originated, may be forwarded by the setup program to a codeset identifier, such as a Web service residing on server 200, at step 308.
Upon receiving a response from the codeset identification service, the setup program may determine whether the response constitutes a correct identification of the codeset for issuing the command to the indicated device, or whether it includes a request for additional information by disambiguation, steps 310 and 312. If none, then it is assumed that the recognition service failed to identify the appropriate code set, and the setup procedure continues at step 318 to determine if additional devices remain to be recognized. If the received response includes a request for additional disambiguation information, such information may be retrieved at step 316 and forwarded to the codeset identification service for further processing. By way of example and not limitation, such a disambiguation data request may be for Extended Display Identification Data (EDID) specified by the Video Electronics Standards Association (VESA), obtained from a display device via an HDMI interface, and which may, for example, include data fields corresponding to a microsoft specified manufacturer ID and/or a manufacturer specified product code; for responding to a < get menu language > CEC request (which may indicate the domain/market where the device is currently installed); for responding to a < provide OSD name > or < get CEC version > CEC request; for obtaining SPD data corresponding to the input HDMI port of a host device (i.e., TV106 of the illustrative embodiment), wherein the host device supports such obtaining; and the like; as applicable to a particular embodiment or device. By way of explanation of SPD data, CEA standard CEA-861B specifies that a digital video source may selectively insert periodic source product description information frames into its output video stream. The "information frame" may include seven bytes of ASCII vendor name, sixteen bytes of ASCII product description such as model number and one byte binary product type identifier (e.g., 01h for digital STB, 02h for DVD player, 05h for digital video camera, etc.). A rendering device such as TV106 may optionally decode the data and use it to enhance on-screen menu displays and the like.
Alternatively or in addition to the above, since CEC-compliant devices are required to issue a < feature abort > response to any message relating to an unsupported feature, in some embodiments, a codeset identification service may request initiation of certain CEC transmissions to the device and report the resulting response (or responses) to allow accurate identification of the device by verifying its support (or lack thereof) for certain features.
If it is determined at step 310 that the received response indicates the identity of the set of appliance control codes, then the remote control application of the smart device 100 may be configured accordingly at step 314. As is known in the art, such a configuration may take the form of storing pointers or indices into a pre-loaded local library of command code sets, providing the required code sets as data downloaded from the server-based code set library 218, etc., as appropriate for a particular implementation. Once the configuration is complete, the setup program next determines whether there are still additional devices to identify at step 318. If so, the process returns to step 306 to repeat the above identification process for the next device. Once all devices responding to the polling request of step 302 have been identified, the setup continues at step 320, where additional user input may be requested if desired. Such user input may include, for example, providing explicit model information and/or code set numbers, etc. to complete the identification and configuration of any devices that are not responsive to a CEC polling request that cannot be uniquely identified by an automated code set identification service, etc., after which the initial configuration of the remote control application of the smart device 100 is completed. Since various alternative methods for identifying a set of device command codes are well known in the art, these will be discussed further herein for the sake of brevity.
Referring now to fig. 4, an exemplary embodiment of the device identification database 216 may include a set of records 400, one for each clearly identifiable device, each record including a series of fields 402 through 436' as shown. In the provided embodiment, each device record 400 may include a base device identification 440, which may include data fields such as a device type 402, brand 404, model 406, serial number or date range 408,410 (to ensure unique identification if necessary, such as device characteristics where the manufacturer has changed the middle of a model run) and an identifier 412 of a device command code set for commanding operation of the device. In some cases, the geographic or market area code 414 may also form part of the basic device identification. Information including this basic device identification may be used in various prior art methods for configuring a control device to indicate the operation of the device, such as matching a brand and model number provided by a user, printing a list of setup codes to be published in a manual, sequentially testing a set of codes corresponding to a particular device type and brand (and sometimes zone), and the like, all as is well known in the art.
In addition to the basic device identification data described above, the exemplary device identification database record 400 according to the present invention may include additional fields 416 through 436' that include a second electronic identification 450 for the same device. Such electronic identification may include a list of data items that may be electronically requested from the device, for example, via the HDMI interconnect 208 of the illustrative embodiment. The data may include, but is not limited to, a CEC vendor ID416, a CEC version 418, a CEC OSD name 420, an EDID manufacturer ID422, an EDID product code 424, an EDID version/revision number 426, an SPD vendor name 428, and an SPD product description 430. In some embodiments, the geographical area code 414 may also form part of the electronic device identification, as these may be elicited from a CEC < get menu language > response. It should also be noted that vendor/manufacturer ID and name fields 416,422 and 428 are not necessarily synonymous with each other or identical to brand field 404 due to practices such as private labeling, multiple sources, etc.
To ensure unique identification of the device, if necessary, the additional data field may be part of the device identification record 400. These data fields may include, for example, further EDID-recognizable parameters 432 to 432', such as supported video formats and resolutions, timing data, etc., and/or CEC challenge/ response data fields 434, 436. Such challenge/response fields may include an electronic command or query 434 to be sent to the device and an expected response 436 returned by the device. By way of example and not limitation, to distinguish between similar wired STBs that differ only by the presence or absence of DVR options, a CEC < provide Deck status > request may be issued, with the expectation that the non-DVR STB response will be a CEC < feature abort > message. If it is desired to ensure accurate identification of a particular device, multiple challenge/response data fields 434', 436' may be provided.
In an illustrative embodiment, data fields that are not applicable or applicable to a particular device may be set to "null" except for the device type 402 and the code set identifier 412. For example, the serial number range fields 408,410 may not be necessary, certain device types may not support EDID, etc.
To uniquely identify a device, an illustrative device identification service resident on the server 200 and/or associated with the server 200, e.g., implemented by instructions stored on a non-transitory computer readable medium accessible by the server 200 and interacting with an exemplary smart device setup application generally operating in accordance with the logic previously described in connection with the flowchart of fig. 3, may receive an initial communication from the smart device 100 including a CEC vendor ID and an indication of the type of device (e.g., the CEC logical address from which the vendor ID was retrieved). The device identification service may apply these values as a mask to select only those records 400 of database 216 that match the requested criteria, i.e., match the device type implied by the CEC logical address value obtained from the device in field 402 and match the CEC vendor ID obtained from the device in field 416. It should be understood that in various embodiments, the data content of this initial communication may include other values, such as the SPD vendor name and product description, instead of or in addition to the above-described values, in which case the selection mask may be adjusted accordingly. If there is only a single match result, the identification is complete and the corresponding codeset identifier value from field 412 of the record may be returned to the setup application resident in the smart device 100. However, if multiple records meet the selection criteria, the device identification service may examine the contents of the records to determine which data field in the remaining subset has the greatest diversity. Once the determination is made, the request to retrieve the data item from the device may be forwarded to a setup application resident in the smart device 100. When the application returns the requested data item, the item may be added to the selection mask, repeating the selection process. If the requested item is not available, e.g., the current host device does not support SPD decoding and SPD data has been requested, the smart device setup application may respond in the negative, in which case the currently requested item may be eliminated from the device identification matching process and a new request issued for a replacement data item. These steps may be repeated until a single database record is maintained and its code set identifier 412 is communicated to the installation application; or no further selection criteria are available, i.e. each field 414 to 436' has been used or found to contain a null value, in which case a fault may be communicated to the smart device setup application, allowing it to initiate a user message indicating that an alternative setup method is to be employed.
As further shown in fig. 7, when invoked 700, the exemplary smart device setup application may receive 702 an initial communication including data representative of a plurality of devices in a home entertainment system including an intended target device. As previously described, such data may include an indication of the device type (e.g., the CEC logical address or SPD data from which the vendor ID was obtained). The device identification service may then use the received data 704 to configure 714 the control apparatus to issue a command to the target device, e.g., recognition complete, if sufficient to recognize the target device, and the corresponding codeset identifier value from field 412 of the record may be returned to the setup application residing in the smart device 100. However, if the data received from the device is insufficient to identify the target device, the service will use the received type identification data to discern which type of device the target device is not 706. For example, if no SPD data is available for the intended target device, but the received SPD data identifies a blu-ray player and an a/V receiver within the home entertainment system, the service will mask these values to select those records 400 of the database 216 that do not match the provided data, i.e., it will not consider the code set applicable only to blu-ray players and a/V receivers. If the elimination process then results in a single record match 710, the corresponding codeset identifier value from the field 412 of the record is returned to the setup application resident in the smart device 100 for use in configuring 714 the smart device as described above. However, if there are still multiple records, a request 712 for obtaining more data items from the target device may be requested 712 and forwarded 716 to a setup application residing in the smart device 100, as described above. As previously described, these steps may be repeated until a single database record remains and its codeset identifier 412 may be communicated to the setup application; or no further selection criteria 718 are available, i.e. each field 414 to 436' has been used or found to contain a null value, in which case a fault may be communicated to the smart device setup application, allowing it to initiate a user message indicating that an alternative setup method is to be employed.
Referring to FIG. 8, in an exemplary embodiment, the configured system 800 may be part of a system as shown in the illustrative embodiment of FIG. 1A, where the smart device 100 may include a universal remote control application and the necessary hardware to enable direct communication of commands to the appliances 106-110. The system 800 may reside in a particular environment, such as a living room, bedroom, or non-residential room, and may exclude devices that may not be present in the environment or unknown (e.g., not detected, connected, or not powered) to the remote control application of the smart device 100 at the time the system was initially provisioned. A third device 802 (e.g., an IP adapter or IP-enabled audio-video streamer or gaming system, such as a "PlayStation" or "Xbox" brand device) that is not part of the originally provided system 800 may be adapted to contain information frame data or codeset data that is provided to/generated by one or more devices communicatively coupled thereto (e.g., a DVD player 806, an IP camera 812, a jukbox 808 with a library of video or audio content 810, etc.). In the event that a user desires to aggregate or otherwise provide one or more devices associated with the third device 802 and/or the third device to one or more components of the system 800, for example, in the event that the user desires to relocate the IP camera 812 from a bedroom to a living room with the system 800 or desires to add a new IP camera 812 to the system 800, the third device 802 may provide information frame data or code set data to a second device (e.g., STB108 or TV106) of the system 800 via our RF protocol transmission 804 or the like, which may then send the data (or data cross-referenced thereto) to the smart device 100. Alternatively, the third means 802 may provide the information frame data or code set data directly to the smart device 100 for its use. The remote control application may then be configured using the data received by the smart device 100 to control the newly integrated device, such as the IP camera 812, the DVD player 806, and the like. Exemplary types of devices connected to the third device 802 include, but are not limited to, televisions, digital video disc players (DVDs), cable or satellite Set Top Boxes (STBs), Digital Video Recorders (DVRs), Audio Video (AV) receivers, thermostats, game consoles, lighting systems, and the like.
Pursuant to the above example, the third apparatus 802 may transmit information frame data or code set data to the second apparatus (e.g., STB108 or TV106), and the data received by the second apparatus STB108 or TV106 may be cross-referenced with other information contained within the second apparatus (or accessible to the second apparatus) to uniquely identify a particular device from other devices in the system. Such actions are preferably performed by a software module that may reside in the STB108 or TV106, and the software module may be used to cross-reference data, such as CEC vendor ID, data from an HDMI Source Product Description (SPD) infoframe embedded in the source device digital video stream (according to the consumer electronics association specification CEA-861), or any other suitable information that may be provided in the infoframe to more specific device identification data or complete set of codes that may be used to control the functional operation of the device. Similarly, if such data is provided to the smart device 100 (whether directly from the device 802 or indirectly via the apparatus 106 or 108), the data received by the smart device 100 may likewise be used to identify other information contained within (or accessible to) the smart device, thereby allowing the particular device to be uniquely identified from other devices in the system. In this regard, for a more detailed description of Device identification on a digital media interface, the interested reader may wish to refer to U.S. patent 8,812,629 "System and Method for Configuring the Remote Control Functionality of a Portable Device" and/or pending U.S. patent application 12/148,444 "Using HDMI-CEC to Identify a code", all of which are commonly owned and incorporated herein by reference in their entirety.
The information frame data, updated device identification data, and/or appliance code set data (whether provided from the apparatus 802 or otherwise located using data in the information frame) may then be transmitted to the smart device 100 at predefined intervals or at specific times desired by the user, from a second appliance (e.g., STB108 or TV106) via the internet cloud 816, via the wireless protocol 814 (e.g., via RF signals, such as those contemplated by RF4CE, Zwave, bluetooth, etc.; ultrasonic signals; visible light, etc., suitable for control of each particular appliance), and so forth. The codeset data received by the smart device 100 (or otherwise located using data provided by the second device) is then used to configure the remote control application to control the desired device, such as the IP camera 812, the DVD player 806, and the like. In the case where a look-up server is used for any of these steps, the server 818 may be a virtual server and may include a database 820 that cross-references CEC and/or EDID device identification data or device command code sets, which, as noted, may be referenced by a remote control application or a second device of the smart device 100 as needed to determine the appropriate command code set for controlling the exemplary IP camera 812. Once determined, the required set of codes may be sent by the server 818 to the smart device 100 for configuring the required equipment through the remote control application of the smart device 100.
It should be understood that these steps may be performed automatically when the system 800 detects the presence of the device 802 in the environment, such as when the device 802 is coupled to a second apparatus, or may be initiated manually in response to manually initiating a device discovery process.
Once fully equipped with the set of command codes required to control the consumer device, in some embodiments, the smart device remote control application according to the present invention may undergo additional customization while physically communicating with the controlled device via the exemplary HDMI connection. In one embodiment, the response to the CEC < get menu language > request may be used to adjust the menus, key labels, etc. of the remote control application to match those used by the controlled device. Instead, upon a consumer request, the language of the smart device's current partition may be communicated to the controlled appliance via a CEC < setup menu language > request, thereby matching the appliance display to the smart device's user preference settings.
In the case where a device such as the TV106 is adapted to perform the aforementioned CEC switching function and is equipped to support such an inquiry, the switching device may be requested to indicate which of its physical HDMI ports (e.g., 210-214) is associated with which downstream CEC logical address (e.g., STB108, DVD player 110, etc.). The thus obtained data may then be utilized by the smart device remote control application to configure an activity macro, such as, but not limited to, "watch television" or "watch movie", such that when the activity begins, a command to select the appropriate HDMI input for the TV106 will be automatically issued. Such macro configuration may be fully automatic or may require user input. For example, in the case where multiple media playback devices are detected in the configuration (e.g., DVD players and Vudu streaming video-on-demand boxes), the user may be prompted to select which device to use for a "watch movie" activity (as would also be understood in the case where such multiple "watch movie" activities are configured, for example). To facilitate user identification of the desired device, the prompt may include a device self-contained identification requesting acquisition using CEC < acquire OSD name >, a device brand name, and/or a code set identifying the model number provided by the service, a TV input port number, or any suitable combination thereof.
Referring now to FIG. 5, in an alternative embodiment, a remote control application resident in the smart device 100, i.e., computer executable instructions stored on a tangible readable medium, may interact with an apparatus, such as the STB108, to obtain from the apparatus a codeset identification that has been previously determined during setup of a conventional universal remote control 500 provided with the apparatus (e.g., the STB 108). Such a code set identification may for example comprise information about command data and protocols suitable for controlling the TV107 and the DVD player 110. Referring to FIG. 6, in an exemplary method of implementing the configuration of a smartphone remocon application, at step 600, a user may initially configure universal remote control 500 using an interactive application resident in STB108, such as described in U.S. patent 7,969,514 and U.S. patent application 13/026,768, the disclosures of which are incorporated herein by reference in their entirety, with this document constituting a continuation-in-part. After completing the setup of remote control 500 in accordance with the teachings of these disclosures, the identity of the code set used by remote control 500 in commanding the operation of, for example, TV106 and DVD player 110, is known and may be stored within STB 108.
Subsequently, at step 602, a user may obtain and install a remote control application for the smart device, wishing to use the application to command operation of the devices of the system of FIG. 5. In accordance with the teachings of the present invention, such a smart device application may determine whether a compatible STB device, e.g., a device such as STB108, has previously been interactively provisioned in the user's device configuration, store the codeset identifications, and be able to communicate them to the smart device 100 at step 604. Such discovery and communication may be, for example, via wireless connection 502, using WiFi204, bluetooth, or any other protocol that is convenient for the particular implementation. Discovery of one or more compatible devices may occur automatically, such as when the smart device is initially invoked; may occur when the smart device application makes an initial user configuration to indicate operation of a compatible apparatus (e.g., STB 108); can be manually activated by a user; and the like; or any suitable combination thereof. If compatible devices are not detected at step 604, the method may continue at step 614 to perform an alternate configuration of the smart device application using a method such as the methods previously described herein or any other suitable device command set identification method known in the art.
However, if a compatible device is detected, the smart device application may provide the user with the option of automatically configuring the application to command the balancing operation of the user device at step 606. If the user declines, the application continues with the alternative configuration method of step 614. If the user accepts, the smart device may obtain from a compatible appliance, such as STB108, a codeset identification applicable to other appliances for which universal remote control 500 has been set to command its operation, step 610. Once these identifications are obtained and loaded into the smart device, in some embodiments, the smart device application configuration may be displayed for confirmation by the user, at add list of appliances step 612. It should be understood that such a list may include the codeset identifiers themselves, brand names, and/or models associated with those identifiers (which may be included in the data obtained from the STB 108; in data cross-referenced in a database stored locally in the smart device 100; in data obtained from the remote databases 216, 218; or any combination thereof). Once the user has confirmed the desired configuration, the smart device may configure itself to command operation of the selected appliance at step 616, for example as previously described in connection with step 314 of FIG. 3. Additionally, in certain embodiments, instead of the method of any step 314, one or more device code sets (i.e., command data and protocol information) may be downloaded directly from the STB108 itself.
It will also be appreciated that the SPD data obtained from the device may be used to provide further services within the home entertainment system. For example, a first device (e.g., a smart TV) in communication with a second device (e.g., a STB) may automatically download an application for use on the first device in association with the second device, such as an application applicable to a content service provider associated with the second device, using an SPD obtained from the second device. In this embodiment, the application may be one that provides an EPG or EPG-like overlay on the first device, where the data displayed by the first device is automatically synchronized with the operation of the second device, for example by having the application automatically update the content being displayed using metadata within the content stream received from the second device.
While various concepts have been described in detail, those skilled in the art will appreciate that various modifications and alternatives to these concepts may be developed in light of the overall teachings of the disclosure. For example, while the illustrative device configurations shown above utilize a television as the HDMI interconnect focus and a host apparatus for connecting a smart device or a STB for obtaining previously configured remote control settings, it should be understood that in alternative configurations, another device such as an AV receiver, PC, game console, etc. may likewise serve as a host apparatus or retrieval source, with which the smart device may be temporarily connected, or with which the smart device may communicate for setup purposes. Furthermore, in case no device in the configuration is capable of supporting CEC switch functionality, it should also be understood that nevertheless the smart device according to the present invention may be individually connected to a plurality of devices in turn in order to perform the electronic-enabled setting. It will also be appreciated that in some embodiments, for efficiency, multiple device identification data items may be collected and forwarded in combination to the device identification service as a single transaction, rather than in a step-wise manner as described above. Such information may be communicated to the device using an intermediary device configuration that is capable of obtaining the desired information from the target appliance and providing it to the device being configured. Additionally, while shown using HDMI connections, CEC protocol, and EDID and SPD info frame data values, it should be understood that various other connection and device identification data collection methods may be equally suitable for the purposes described herein, such as IP data; standards may evolve or be modified to support additional functionality, etc.; thus, the exemplary device identification database contents presented herein are for illustration only and are not intended as an exhaustive list of all possible identification data points or parameters that are or become available through the device identification methods described herein.
Although described in the context of functional modules and illustrated using block and/or flow diagram formats, it should be understood that, unless otherwise indicated to the contrary, one or more of the described functions and/or features may be integrated within a single physical device and/or software module or one or more functions and/or features may be implemented in separate physical devices or software modules. It will also be understood that a detailed discussion of the actual implementation of each module is not necessary to an understanding of the invention. Rather, the actual implementation of the various functional modules in the system disclosed herein will be well within the routine skill of an engineer, given the nature, function, and interrelationships of such modules. Accordingly, those skilled in the art, having the benefit of this disclosure, will be able to practice the invention as set forth in the claims without undue experimentation. It is also to be understood that the specific concepts disclosed are merely illustrative of and not restrictive on the broad invention, the scope of which is to be determined from the appended claims, along with the full scope of any equivalents to which such claims are entitled. All patents cited in this document are incorporated herein by reference in their entirety.

Claims (21)

1. A method for configuring a smart device to control functional operations of a first appliance added to a system having the smart device and a second appliance, comprising:
receiving, by the second apparatus, an information frame from the third apparatus via a first communication channel between the second apparatus and the third apparatus, the information frame having data previously provided by the first apparatus to the third apparatus via a second communication channel between the first apparatus and the third apparatus;
using data within the information frame received by the second device to identify a set of commands suitable for controlling functional operations of the first device; and
providing a set of commands suitable for controlling functional operations of the first appliance to a smart device capable of transmitting the commands directly to the first appliance, whereupon the smart device will be configured to control the functional operations of the first appliance via transmission of one or more commands from the set of commands to at least one of the first appliance and the second appliance, wherein the smart device, the first appliance, the second appliance and the third appliance are located on a local system.
2. The method as recited in claim 1, wherein the second appliance uses data within the infoframe to identify a set of commands suitable for controlling functional operations of the first appliance from a library of command sets stored within a memory of the second appliance, and further comprising sending the set of commands suitable for controlling functional operations of the first appliance from the second appliance to the smart device.
3. The method as recited in claim 1, wherein the second appliance uses data within the infoframe to retrieve a set of commands appropriate for controlling functional operations of the first appliance from an internet server having an associated data repository in which a library of command sets is stored, and further comprising sending the set of commands appropriate for controlling functional operations of the first appliance from the second appliance to the smart device.
4. The method as recited in claim 1, wherein the second appliance provides information frame data identifying a set of commands appropriate for controlling functional operations of the first appliance to an internet server having an associated data repository in which a library of command sets is stored, and further comprising receiving, by the smart device from the internet server, the set of commands appropriate for controlling functional operations of the first appliance.
5. The method as recited in claim 1, wherein the smart device uses data within the infoframe provided to the smart device by the second appliance to identify a set of commands suitable for controlling functional operations of the first appliance from a library of command sets stored within a memory of the smart device.
6. The method as recited in claim 1, wherein the smart device uses data within the infoframe provided to the smart device by the second appliance to retrieve a set of commands suitable for controlling functional operations of the first appliance from an internet server having an associated data repository in which a library of command sets is stored.
7. The method of claim 1, comprising causing the second device to initiate acquisition of the information frame from the third device.
8. The method of claim 1, comprising causing the third device to automatically provide the information frame to the second device in response to the second device being communicatively coupled to the third device.
9. The method of claim 1, wherein the data previously provided by the first device to the third device comprises at least one of CEC data, EDID data, and SPD data.
10. The method of claim 1, wherein the second communication channel comprises a wireless communication channel.
11. The method of claim 1, wherein the second device comprises a set top box.
12. The method of claim 1, wherein the second device comprises a television receiver.
13. A non-transitory computer readable medium having instructions stored thereon for configuring a smart device to control functional operations of a first apparatus being added to a system having the smart device and a second apparatus, the instructions when executed by the second apparatus performing steps comprising:
receiving, from the third device via a first communication channel between the second device and the third device, an information frame having data previously provided by the first device to the third device via a second communication channel between the first device and the third device;
using data within the information frame to identify a set of commands suitable for controlling functional operations of the first device; and
such that a set of commands suitable for controlling functional operations of the first appliance is provided to the smart device capable of transmitting the commands directly to the first appliance, whereupon the smart device will be configured to control the functional operations of the first appliance via transmission of one or more commands from the set of commands to at least one of the first appliance and the second appliance, wherein the smart device, the first appliance, the second appliance and the third appliance are located on a local system.
14. The non-transitory computer readable medium of claim 13, wherein the instructions use data within the infoframe to identify a set of commands suitable for controlling functional operations of the first appliance from a library of command sets stored within a memory of the second appliance, and the instructions further cause a set of commands suitable for controlling functional operations of the first appliance to be sent from the second appliance to the smart device.
15. The non-transitory computer readable medium of claim 13, wherein the instructions use data within the information frame to retrieve a set of commands suitable for controlling functional operations of the first appliance from an internet server having an associated data store in which is stored a library of command sets, and the instructions further cause a set of commands suitable for controlling functional operations of the first appliance to be sent from the second appliance to the smart device.
16. The non-transitory computer readable medium of claim 13, wherein the instructions cause the second appliance to provide information frame data identifying a set of commands suitable for controlling functional operations of the first appliance to an internet server having an associated data repository in which is stored a library of command sets, and to cause the internet server to provide the smart device with the set of commands suitable for controlling functional operations of the first appliance.
17. The non-transitory computer readable medium of claim 13, wherein the instructions cause the second device to initiate acquisition of an information frame from the third device.
18. The non-transitory computer readable medium of claim 13, wherein the data previously provided by the first device to the third device comprises at least one of CEC data, EDID data, and SPD data.
19. The non-transitory computer readable medium of claim 13, wherein the second communication channel comprises a wireless communication channel.
20. The non-transitory computer readable medium of claim 13, wherein the second device comprises a set top box.
21. The non-transitory computer readable medium of claim 13, wherein the second device comprises a television receiver.
CN201680008875.3A 2014-04-04 2016-02-01 System and method for configuring remote control functions of a portable device Active CN107408331B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/245,195 US9208679B2 (en) 2006-09-05 2014-04-04 System and method for configuring the remote control functionality of a portable device
US14/613,847 US9478125B2 (en) 2006-09-05 2015-02-04 System and method for configuring the remote control functionality of a portable device
US14/613,847 2015-02-04
PCT/US2016/015981 WO2016126609A2 (en) 2015-02-04 2016-02-01 System and method for configuring the remote control functionality of a portable device

Publications (2)

Publication Number Publication Date
CN107408331A CN107408331A (en) 2017-11-28
CN107408331B true CN107408331B (en) 2021-06-18

Family

ID=60398743

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680008875.3A Active CN107408331B (en) 2014-04-04 2016-02-01 System and method for configuring remote control functions of a portable device

Country Status (1)

Country Link
CN (1) CN107408331B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436972A (en) * 2007-11-16 2009-05-20 海尔集团公司 Remote household electrical appliance control system
CN102571804A (en) * 2012-01-20 2012-07-11 美的集团有限公司 First login method of IoT center based on product identification code
CN102694706A (en) * 2012-03-21 2012-09-26 广东美的电器股份有限公司 Internet of things type home appliance system with cloud service function and method for controlling internet of things type home appliance system
CN103179208A (en) * 2013-03-22 2013-06-26 广东顺德拓普利德科技有限公司 Communication module of internet of things and remote control method of electric equipment with module
CN103685746A (en) * 2013-12-09 2014-03-26 康佳集团股份有限公司 Teleprocessing method and system based on mobile phone and mobile phone
CN103905894A (en) * 2014-03-06 2014-07-02 北京国电通网络技术有限公司 Intelligent domestic electric appliance control method and system and intelligent set top box
CN103916475A (en) * 2014-04-04 2014-07-09 广州勒夫蔓德电器有限公司 Network remote control method

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
CA2347304C (en) * 2001-05-10 2010-10-05 Atreus Systems, Inc. Broadband network service delivery method and device
US9665629B2 (en) * 2005-10-14 2017-05-30 Yahoo! Inc. Media device and user interface for selecting media
CN101030866A (en) * 2006-03-02 2007-09-05 北京锐科天智科技有限责任公司 Distributed network controllable transmission and hard software device
CN101035214A (en) * 2006-03-07 2007-09-12 乐金电子(沈阳)有限公司 Recording TV receiver with the data recording function of the mobile phone and its data recording method of the mobile phone
US8812629B2 (en) * 2008-04-18 2014-08-19 Universal Electronics Inc. System and method for configuring the remote control functionality of a portable device
CN101005643B (en) * 2007-01-29 2010-05-19 李祥明 Personal comprehensive network service and information system facing mobile terminal customer
CN101013461A (en) * 2007-02-14 2007-08-08 白杰 Method of computer protection based on program behavior analysis
JP2008283561A (en) * 2007-05-11 2008-11-20 Sony Corp COMMUNICATION SYSTEM, VIDEO SIGNAL TRANSMISSION METHOD, TRANSMISSION DEVICE, TRANSMISSION METHOD, RECEPTION DEVICE, AND RECEPTION METHOD
US8780278B2 (en) * 2007-11-30 2014-07-15 Microsoft Corporation Motion-sensing remote control
US8154381B2 (en) * 2007-12-31 2012-04-10 Universal Electronics Inc. System and method for interactive appliance control
US8098337B2 (en) * 2008-09-30 2012-01-17 Echostar Technologies L.L.C. Systems and methods for automatic configuration of a remote control device
US8599565B2 (en) * 2009-04-21 2013-12-03 Fujitsu Component Limited Touchscreen panel, electronic apparatus and method of fabricating touchscreen panel
US9215394B2 (en) * 2011-10-28 2015-12-15 Universal Electronics Inc. System and method for optimized appliance control

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436972A (en) * 2007-11-16 2009-05-20 海尔集团公司 Remote household electrical appliance control system
CN102571804A (en) * 2012-01-20 2012-07-11 美的集团有限公司 First login method of IoT center based on product identification code
CN102694706A (en) * 2012-03-21 2012-09-26 广东美的电器股份有限公司 Internet of things type home appliance system with cloud service function and method for controlling internet of things type home appliance system
CN103179208A (en) * 2013-03-22 2013-06-26 广东顺德拓普利德科技有限公司 Communication module of internet of things and remote control method of electric equipment with module
CN103685746A (en) * 2013-12-09 2014-03-26 康佳集团股份有限公司 Teleprocessing method and system based on mobile phone and mobile phone
CN103905894A (en) * 2014-03-06 2014-07-02 北京国电通网络技术有限公司 Intelligent domestic electric appliance control method and system and intelligent set top box
CN103916475A (en) * 2014-04-04 2014-07-09 广州勒夫蔓德电器有限公司 Network remote control method

Also Published As

Publication number Publication date
CN107408331A (en) 2017-11-28

Similar Documents

Publication Publication Date Title
JP6723251B2 (en) System and method for setting remote control capabilities of a portable device
US9454899B2 (en) System and method for configuring the remote control functionality of a portable device
US9437104B2 (en) System and method for configuring the remote control functionality of a portable device
US20220264192A1 (en) System and method for configuring the remote control functionality of a portable device
EP3254264B1 (en) System and method for configuring the remote control functionality of a portable device
JP6529580B2 (en) System and method for configuring remote control functionality of a portable device
CN107408331B (en) System and method for configuring remote control functions of a portable device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant