`
`as) United States
`a2) Patent Application Publication (10) Pub. No.: US 2011/0289113 Al
`
`(43) Pub. Date: Nov. 24, 2011
`Arlinget al.
`
`(54) SYSTEM AND METHOD FOR CONFIGURING
`THE REMOTE CONTROL FUNCTIONALITY
`OF A PORTABLE DEVICE
`
`Publication Classification
`
`(51)
`
`Int. Cl.
`G06F 17/30
`
`(2006.01)
`
`(75)
`
`Inventors:
`
`(73) Assignee:
`
`Paul D. Arling, Irvine, CA (US);
`Brian Barnett, Oakland, CA (US):
`Norman G. Sheridan, Fremont,
`CA (US); Patrick H. Hayes,
`Mission Viejo, CA (US)
`
`UNIVERSAL ELECTRONICS
`INC., Cypress, CA (US)
`
`(21) Appl. No.:
`
`13/198,072
`
`(22)
`
`Filed:
`
`Aug. 4, 2011
`
`Related U.S, Application Data
`
`(63) Continuation-in-part ofapplication No. 12/148,444,
`filed on Apr. 18, 2008.
`
`(52) US. Chi siiicccsinisnscance TMOTNT69; TOT/EIT.O14
`
`(57)
`
`ABSTRACT
`
`A server device receivesidentitydata retrieved from anappli-
`ance through use of a physical and logical interconnection
`referenced to a standard. The identity datais used at the server
`device to identify within a database having aplurality of
`appliance records, each of whichis cross-referenced to an
`appliance, an appliance record having data in one or more
`record fields which matches the identity data retrieved from
`the appliance. A codesetidentifier associated with the iden-
`tified appliance recordis then used toselect from a plurality of
`codesets a codesetfor use in configuring the portable device
`to commandfunctional operations ofthe appliance.
`
`
`
`Poll HDMI
`
`interface for
`
`CEC devicas
`
`300
`
`
`
`Set smart
`device app to
`use identified
`codeset
`
`Allow any
`
`
`additional user
`
`setup
`
` ~ 320
`
`Roku EX1009
`U.S. Patent No. 9,716,853
`
`Retrieve
`
`
`device Vendor
`
`
`data
`
`
`
`Submit
`
`
`retrieved data
`
`
`to codeset ID
`
`service
`
` Retrieve
`
`additional data
`
`
`
`from device
`
`Roku EX1009
`U.S. Patent No. 9,716,853
`
`
`
`Patent Application Publication
`
`Nov. 24,2011 Sheet 1 of 4
`
`US 2011/0289113 Al
`
`
`
`
`
`
`eeeeedhertee
`
`=o
`
` 108 ~.
`
`104
`
`Figure 1b
`
`
`
`Patent Application Publication
`
`Nov. 24,2011 Sheet 2 of 4
`
`US 2011/0289113 Al
`
`
`
`200-._
`
`i
`
`\ 216, 218
`
`Figure 2
`
`
`
`Patent Application Publication
`
`Nov. 24,2011 Sheet 3 of 4
`
`US 2011/0289113 Al
`
`Start setup
`
`Poll HDMI
`interface for
`CEC devices
`
` Retrieve
`device Vendor
`data
`
`
`
`
`
`Submit
`retrieved data
`to codeset ID
`service
`
`Retrieve
`additional data
`from device
`
`Set smart
`device app to
`use identified
`codeset
`
`devices?
`
`Allow any
`additional user
`
`setup
`
`~ 320
`
`Figure 3
`
`
`
`Patent Application Publication
`
`Nov. 24,2011 Sheet 4 of 4
`
`US 2011/0289113 Al
`
`~ 400
`
`Basicapplianceidentity
`
`
`
`
`applianceidentity
`
`
`
`440
`
`”
`
`428| SPD vendor name
`
`SPDproduct description
`430 —-_|
`432|_EDID additional parameter1
`
` Electronic
`
`432’ —__f
`
`it
`EDID additional parameter n
`
`|
`
`436
`
`|
`434
`| CECchallenge 1|Expected response
`|
`436"
`434’ — EC challenge n|Expected response|~ J _
`
`Appliance data record
`
`Figure 4
`
`
`
`US 2011/0289113 Al
`
`Nov. 24, 2011
`
`SYSTEM AND METHOD FOR CONFIGURING
`THE REMOTE CONTROL FUNCTIONALITY
`OF A PORTABLE DEVICE
`
`RELATED APPLICATION INFORMATION
`
`‘This applicationis a continuation-in-part and claims
`[0001]
`the benefit of U.S. patent application Ser. No. 12/148,444,
`filed Apr. 18, 2008. The disclosure within that applicationis
`incorporated herein by reference in its entirety.
`
`BACKGROUND
`
`Personal communication, productivity, and enter-
`[0002]
`tainment devices such as tablet computers, smart phones,
`portable email devices, e-books, hand-held games and/or
`gamecontrollers, portable media players, etc. (all referred to
`hereafter as “smart devices”) are known to include features
`suchas graphicaluserinterfaces on color touch screens, wire-
`less Internet capability, support for ancillary applications
`(sometimes referred to as “apps”) such as, for example, cal-
`endars, email, maps and navigation,etc. Suchancillary appli-
`cations may bepre-installed in a smart device or may be made
`available for download by a user. Certain such apps may
`comprise an ability to issue commandsto entertainment and
`other appliances, for example in conjunction with a GUI
`offering the features and functionality of a universal remote
`control as knowninthe art, in conjunction with a TV guide
`display to enable channel selection, etc. Typically such
`remote control apps may be provisioned with a library of
`command data and protocols suitable for controlling a plu-
`rality of appliances of different type and/or manufacture (a
`so-called “universal remote’). Such a commandlibrary and
`the hardware necessary to transmit operational commandsto
`appliances may be incorporated into or made availableto the
`smart deviceitself, or may take the form ofa separate external
`device which is placed in communication with the smart
`device (i.¢., arelay device or so-called “blaster”). Regardless,
`uponinitial installation or subsequent replacementofa con-
`trolled appliance such universal remote control apps must
`generally be configured to match each particular appliance to
`be controlled to an appropriate set of command data and a
`protocolin the library. Disclosedherein are user-friendly and
`convenient methods for conducting such a configuration pro-
`cess.
`
`SUMMARYOF THE INVENTION
`
`[0003] This invention relates generally to remote control
`systems and, more particularly, to a system and method for
`facilitating the set up and configurationofa portable device,
`e.g., asmart device which may incorporate universal remote
`control functionality, to command operation of one or more
`types of remotely controllable appliances of one or more
`manufacturers. Exemplary smart devices include but are not
`limited to Apple’s “iPhone’ and “iPad,” Google’s “Android”
`platform, Nintendo’s “Wii U” controller, Blackberry’s
`“Torch”or “PlayBook,” etc, Exemplary types of appliances
`include, but are not limited to televisions, digital video disc
`players (DVDs), cable orsatellite set top boxes (STBs), digi-
`tal video recorders (DVRs), audio video (AV) receivers, ther-
`mostats, game consoles, lighting systems,etc.
`[0004]
`In order to rapidly and conveniently configure a
`smart device app and associated commandlibrary to match
`the appliancesto be controlled, in accordance with the teach-
`ings of the instant invention the smart device may be tempo-
`
`rarily connected to an appliance to ascertain that appliance’s
`identity and thereby determine appropriate command data
`and protocol for control of that appliance. Whensaid appli-
`ance is in communication with other remotely controllable
`appliances to form part ofa local entertainment and/or envi-
`ronmental system, the identities of those other appliances
`may also be determined by the smart device, using the con-
`nected appliance as an agent. Additionally, in some embodi-
`ments configuration information regarding said local system
`may be communicated to the smart device by the agent appli-
`ance for use in the creation of activity macros; for use in
`localization of smart app displayed labels and menus; etc.
`Such information may comprise, by way of example, data
`regarding which media source appliances are attached to
`which input ports ofa rendering device such as a T'Vmonitor
`or AVreceiver, thereby facilitating the creation of pre-con-
`figured smart device command sequencesfor use in initiating
`activities such as “Watch TV”, “Listen to Music”; language
`and menu settings of the connected appliance(s); etc.
`[0005]
`Ina preferred exemplary embodiment, the physical
`and logical interconnections between smart device and appli-
`ance, and amongstappliances, may be in accordance with the
`High Definition Media Interface (HDMI) specification and
`appliance identities may be derived from, inter alia, Con-
`sumer Electronic Control (CEC) or Extended Display Iden-
`tification Data (EDID) data retrievable from appliances in
`compliance withthat specification, and/or from Source Prod-
`uct Description (SPD) information frames embedded in a
`source appliance digital video stream in accordance withthe
`Consumer Electronics Association specification CEA-861.
`However, it will be appreciated that other interconnection
`methods and/orprotocols such as, by way ofexample without
`limitation USB, IFE1394 “Firewire”, UPnP, CEbus,etc. may
`be utilized to the same end, whenappropriate for a particular
`embodiment.
`[0006] A better understanding ofthe objects, advantages,
`features, properties and relationshipsofthe invention will be
`obtained fromthe following detailed description and accom-
`panying drawings which set forth illustrative embodiments
`and which are indicative of the various ways in which the
`principles ofthe invention may be employed.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0007] Fora better understandingofthe various aspects of
`the invention, reference may be had to preferred embodi-
`ments shownin the attached drawingsin which:
`[0008]
`FIGS. 1a and 1illustrate exemplary systems in
`which a smart device app configured in accordance with the
`instant invention may beutilized:
`[0009]
`FIG. 2 illustrates exemplary interconnections which
`may be used during configuration of the smart device(s) of
`FIG, 1;
`
`FIG. 3 illustrates a series of steps which may be
`[0010]
`performed by a smart device during an HDMI-based enabled
`process; and
`[0011]
`FIG. 4 illustrates an exemplary appliance identity
`database record which maybeutilized in configuring a smart
`device app in accordance withthis invention.
`
`DETAILED DESCRIPTION
`
`[0012] By way of example, FIGS. la and 14 illustrate
`exemplary systems 102 and 104 wherein a smart device 100
`may be adapted to issue commands to controllable appliances
`
`
`
`US 2011/0289113 Al
`
`Nov. 24, 2011
`
`such as a TV106, set top box (STB) 108, DVD player 110,
`etc. While illustrated in the context of a homeentertainment
`
`system comprising a TV, STB, and DVD player,it is to be
`understood that controllable appliances may include, but
`need not be limitedto, televisions, VCRs, DVRs, DVDplay-
`ers, cable or satellite converter set-top boxes (“STBs”),
`amplifiers, AV receivers, CD players, game consoles, home
`lighting, drapery, fans,HVAC systems, thermostats, personal
`computers, etc. In the illustrative example of FIG. la, a smart
`device 100 mayinclude botha universal remote control app
`and the necessary hardware to enable direct transmission of
`commands to appliances 106 through 110. Appliance com-
`mands may beissued in the formofinfrared signals 112 as
`illustrated, or in any other suitable format, e.g., via an RF
`signal such as contemplated by RF4CE, Zwave, Bluetooth,
`etc.; ultrasonic signal; visible light; etc. as appropriate for the
`control ofeach particular appliance. In the example of FIG.
`Ja these commandsignals may be issued directly by smart
`device 102 using, for example, the technology described in
`co-pending U.S. patent application Ser. No. 13/043,915
`whichis incorporated herein by referenceinits entirety. In an
`alternative embodimentillustrated in FIG. 16, appliance com-
`mands 112 may be issued indirectly via a relay device 114
`whichis responsiveto wireless communications 116 received
`from the universal remote controlappresidentin smart device
`100, for example as described in co-pending U.S. patent
`application Ser. No. 13/071,661, also incorporated herein by
`referencein its entirety.
`[0013]
`In either case, the remote control app and/orassoci-
`ated relay device must be provisioned withthe specific com-
`mand data and protocol (“codeset”) to which each of the
`to-be-controlled appliancesis responsive. As is known in the
`art, this may take the form ofa pointer or index into a library
`of codesets pre-stored locally in the memory of smart device
`100 orofrelay device 114; individual codesets downloaded to
`those devices during a configuration process; an item-by-item
`download of individual command codes on an as-required
`basis froma library stored locally on a PC or on an appliance
`such as STB 108 or TV106, or stored remotely at a headend
`orinternet accessible server: etc. Regardless, since the meth-
`ods described herein to accomplishthe identification ofsuit-
`able codesets for controlled appliances may be generally
`applied without regard to the exact mechanisms by which said
`codesetsare finally provisioned, it is to be understoodthatthe
`embodiment described hereafter is by way of example only,
`andthe techniques presented maypertain, mutatis mutandis,
`to any of the various possible equipment and codelibrary
`configurations.
`[0014] With reference to FIG. 2, in an exemplary embodi-
`menta remote control app resident on a smart device 100 may
`be matched to the appliances to be controlled, for example a
`TYset 106 and/or a cable STB 108 and DVD player 110 by
`temporarily connecting an HDMI port 206 of smart device
`100 to an available HDMIport 210 of an appliance to be
`controlled, e.g., TV 106 in the illustrative example, via an
`HDMI compatible cable 208. Once the connectionis estab-
`lished, the remote app of smart device 100 maybe placed into
`a setup mode in which mode the app may solicit device
`identification data from TV106 suchas, for example a CEC
`manufacturer [D and/or an EDID manufacturer number and
`
`product code. Ina preferred embodiment, the data so obtained
`may be uploaded from the smart device to a server 200 via, for
`example a WiFi connection 204 to the Internet 202. Server
`200 may include a database 216 whichcross-references CEC
`
`and/or EDID device identity data to appliance command
`codesets, which database may be referenced to determine an
`appropriate command codesetfor control ofexemplary appli-
`ance 106. In alternate embodiments, the database in which
`appliance command codesets are cross-referencedto data that
`is itself referenced according to a standard may belocally
`resident in the smart device itself; or may be resident in an
`appliance accessible as part of a WiFi network such as for
`example a local PC or STB. Regardless, once determined the
`desired codeset maythenbe provisioned to the remote control
`app of smart device 100, in the form ofa pointeror index into
`a local database;orin the form ofa downloadedcodeset block
`from a codeset database 218 stored on server 200; etc.; as
`appropriate.
`[0015] Turning now to the flowchart presented in FIG, 3,
`once an exemplary smart device 100 has been attached to an
`appliance using HDMIcable 208,at step 300 a setup program
`which forms part of a remote control app installed on that
`smart device may beinitiated, for example from a configura-
`tion or settings menuasis well known inthe art. At step 302,
`the setup program may commencebyissuing successive CEC
`compatible <Polling Message> transmissions (as defined in
`the HDMIspecification and accompanying CEC supplement)
`to each of the possible type-specific CEC logical device
`addresses. By way of explanation, the CEC protocol may
`support up to 16 possible logical address values, with each
`value allocated to a particular appliance type: For example,a
`TVdevice may only assumelogical address zero or 14; a
`playback device such as a DVD player may only use one of
`logical addresses4, 8 or 11; a tuning device mayonlyuse one
`of logical addresses 3, 6, 7 or 10; etc. For purposes ofreceiv-
`ing responses to a poll, the initiating device (smart device 100
`in this example) in accordance withone version of the CEC
`specification may always assume address 15. Though smart
`device 100 is physically connected only to HDMIport 210 of
`TV106, the CEC protocolallows for an applianceto act as a
`CEC Switch, i.e., to transparently route CEC communica-
`tions to/from appliances connected to its other HDMI ports,
`such as STB 108 or DVD player 106 in the illustrative
`example. Accordinglyin those instances where this function-
`ality is supported by the host appliance to which the smart
`deviceis tethered, the setup program may bethereby enabled
`to interrogate downstreamappliances.
`[0016]
`If no device responses to the issued polling mes-
`sagesare detected at step 304 the setup program continuesat
`step 320 to allow manual configurationby a user ofthe app. If,
`however, one or more responses are detected, at step 306 a
`CEC<Give Device Vendor ID> messageis transmitted to the
`first responsive logical address value. In accordance with the
`CECprotocol, the appliance to which this messageis directed
`may respond with a unique 24-bit vendor ID, which number
`is assigned to CEC-compliant manufacturers by the IEEE in
`accord with the standard. Uponreceipt, at step 308 this ven-
`dor ID number, together with the CEClogical address from
`whichit originated (being indicative ofappliance type), may
`be forwarded by the setup program to a codesetidentifier, for
`example a Webservice residenton server 200.
`[0017] Upon receiving a response from the codesetidenti-
`fier service, at steps 310 and 312 the setup program may
`determine if the response constitutes a positive identification
`of a codeset for use in issuing commandsto the indicated
`appliance, or if it comprises a request for additional informa-
`tion by way of disambiguation.If neither, it is assumed that
`the identifier service has failed to identify a suitable codeset,
`
`
`
`US 2011/0289113 Al
`
`Nov. 24, 2011
`
`and the setup program continues at step 318 to determine if
`additional appliances remain to be identified. If the received
`response comprises a request for additional disambiguation
`information, such information may be retrieved at step 316
`and forwardedto the codeset identification service for further
`processing. By way of example withoutlimitation, such dis-
`ambiguation data requests may be for Extended Display Iden-
`tification Data (EDID) as specified by the Video Electronics
`Standards Association (VESA), retrievable from display
`devices via the HDMI interface and which may for example
`includes data fields corresponding to a Microsofi-assigned
`manufacturer ID and/or a manufacturer-assigned product
`code; fora response to a<Get Menu Language> CEC request
`(which maybe indicative of a territory/market in which the
`applianceis currently installed); for responses to <Give OSD
`Name> or <Get CECversion> CEC requests; for retrieval of
`SPD data corresponding to an input HDMIport ofthe host
`appliance(i.e. TV 106 ofthe illustrative example) where such
`retrieval is supported by the host appliance; etc. as appropri-
`ate for a particular embodiment or appliance. By way of
`explanation regarding SPD data, CEA standard CEA-861B
`specifies that a digital video source may optionally insert a
`periodic Source Product Deseription information frame into
`its output video stream. This “InfoFrame” may comprise a
`seven byte ASCII vendor name, a sixteen byte ASCII product
`description such as a model number, and a one byte binary
`product type identifier (e.g., Olh is a digital STB, 02h is a
`DVDplayer, 05his digital video camera, etc.) Rendering
`devices such as T'V 106 may optionally decode this data and
`use it to augment on-screen menudisplays,etc.
`[0018] Alternatively or in additionto the above, since CEC-
`compliant appliancesare required to issue a <Feature Abort>
`response to any messagerelating to an unsupportedfeature, in
`some embodiments a codeset
`identification service may
`request that certain CEC transmissions be initiated to an
`appliance and the resulting response(s) reported,
`to allow
`exact identification of an appliance by verification ofits sup-
`port for certain features (or lack thereof).
`[0019]
`Ifthe received responseis determined atstep 310 to
`be indicative ofthe identity of an appliance control codeset,
`then at step 314 the remote control app of smart device 100
`maybe configured accordingly. As is knownin the art, such
`configuration may take the form ofstoring a pointer to, or
`index into a preloaded local library of command codesets,
`provision of the required codeset as a data download from a
`server based codeset library 218, etc., as appropriate for a
`particular embodiment. Once configuration is completed, at
`step 318 the setup program next determines whether addi-
`tional appliances remain to be identified. If so, processing
`returns to step 306 to repeat the aboveidentification process
`for the next appliance. Once all appliances which responded
`to the polling request ofstep 302 have been subjected to the
`identification process, the setup continues at step 320, where
`additional user input may besolicited as necessary. Such user
`input may comprise, for example, provision of explicit model
`number information and/or codeset numbers, etc., to com-
`plete the identification and configuration of any appliances
`which were notresponsive to the CEC polling request, which
`could not be uniquely identified by the automated codeset
`identification service, etc., after which the initial configura-
`tion of the remote control app of smart device 100 is com-
`plete. Since the various alternative methodsfor identification
`of appliance commandcodesets are well known in the art, for
`the sake of brevity these will be discussed further herein.
`
`[0020] With reference now to FIG. 4, an exemplary
`embodimentofan appliance identification database 216 may
`comprise a group of records 400, one for each distinctly
`identifiable appliance, each record comprising a series of
`fields 402 through 436' as illustrated. In the example pre-
`sented, each appliance record 400 may include a basic appli-
`ance identity 440 which may comprise data fields such as
`appliance type 402, brand 404, model number 406, serial
`number or date range 408,410 (where necessary to ensure
`unique identification, for example where a manufacturer has
`changed an appliance feature in the middle of a model min)
`and the identifier 412 of an appliance command codeset for
`use in commanding operation of the appliance. In some
`instances, geographic or market region codes 414 may also
`form part of the basic appliance identity. The information
`comprising this basic appliance identity may beutilized in
`variousprior art methods for configuring controlling devices
`to command operation of the appliance, for example match-
`ing a user provided brand and model number,printing set up
`codelists to be published in manuals, sequentially testing
`codesets corresponding to a particular appliance type and
`brand (and sometimesregion), etc., all as well knownin the
`art.
`
`In addition to the above basic appliance identity
`[0021]
`data, an exemplary appliance identification database record
`400 in accordance with the instant invention may include
`additional fields 416 through 436' which comprisea second,
`electronic, identity 450 for the same appliance. Suchanelec-
`tronic identity may comprise a tabulation ofdata items which
`may be solicited electronically from the appliance,
`for
`example via the HDMI interconnection 208 ofthe illustrative
`embodiment. This data mayinclude without limitation a CEC
`vendor ID 416, a CEC version 418, a CEC OSD name420, an
`EDID manufacturer ID 422, an EDID product code 424, an
`EDID version/revision number 426, an SPD vendor name
`428, and an SPD productdescription 430. In some embodi-
`ments, geographic region codes 414 mayalso formpart of an
`electronic appliance identity, since these may be derivable
`from CEC <Get Menu Language> responses. It should also
`be noted that, due to practices suchas private labeling, multi-
`sourcing, etc., the vendor/manufacturer ID and namefields
`416, 422, and 428 are not necessarily synonymous with each
`other or with brand field 404,
`
`[0022] Where necessary to ensure a unique identity for an
`appliance, additional data fields may be part of an appliance
`identity record 400. These may include for example further
`EDIDdiscernable parameters 432 through 432’, such as video
`formats and resolutions supported, timing data, ete., and/or
`CEC challenge/responsedatafields 434,436, Such challenge/
`response fields may comprise an electronic command or
`query 434 to be issued to an appliance together with an
`expected response 436 to be returned by the appliance. By
`way of example without limitation, to distinguish between
`similar cable STBs which differ only by the presence or
`absence ofa DVR option, a CEC <Give Deck Status> request
`may be issued in the expectation that the non-DVR STB
`response will be a CEC <Feature Abort> message. If neces-
`sary to ensure accurate identification of a particular appli-
`ance, multiple challenge/response data fields 434',436' may
`be provided.
`[0023]
`Inthe illustrative embodiment, with the exception of
`appliance type 402 and codeset identifier 412, data fields
`whichare notapplicable ornotavailable for a specific appli-
`
`
`
`US 2011/0289113 Al
`
`Nov. 24, 2011
`
`ance may be set as “null”. For example, serial number range
`fields 408,410 may not be necessary, certain appliance types
`may not support EDID,ete.
`[0024]
`In orderto uniquely identify an appliance, an illus-
`trative appliance identification service resident on and/or
`associated with server 200, for example, implemented by
`instructions stored on a non-transient, computer readable
`media accessible by the server 200, and interacting with an
`exemplary smart device set up app which operates generally
`in accordance with the logic previously described in connec-
`tion with the flowchart of FIG. 3, may receive aninitial
`communication from smart device 100 comprising a CEC
`vendorID together with an indication ofappliancetype(e.z.,
`the CEC logical address from which that vendor ID was
`retrieved.) The appliance identification service may apply
`those values as a mask to select only those records 400 of
`database 216 which match the requested criteria, 1.¢., a match
`in field 402 with the appliance type implied by the CEC
`logical address value retrieved from an appliance and a match
`in field 416 with the CEC vendorIDretrieved from the appli-
`ance. It will be appreciated that in various embodiments the
`data content ofthis initial communication may comprise
`other values, such as for example an SPD vendor name and
`productdescription, in place of or in addition to the values
`mentioned above, in which case the selection mask may be
`adjusted accordingly. If only a single matchresults, the iden-
`tification is complete and the corresponding codesetidentifier
`value from field 412 ofthat record may be returned to the
`setup app resident in smart device 100. If, however, multiple
`records meetthe selection criteria the applianceidentification
`service may then examine the contents of these records to
`determine whichdata field in that remaining subset exhibits
`the greatest diversity. Once the determination is made, a
`request for the retrieval of that data item from the appliance
`may be forwarded to the setup app resident in smart device
`100. Whenthe requested data item is returned bythe app, this
`item may be added to the selection mask and the selection
`process repeated. In event that a requested itemis not avail-
`able, for example the current host appliance does not support
`SPD decoding and SPDdata has been requested, the smart
`device setup app mayrespondin the negative in which case
`the currently requested item may be eliminated from the
`appliance identification matching process and a new request
`issued for analternative data item. These steps may beiter-
`ated until either a single database record remains and its
`codeset identifier 412 can be communicated to the setup app;
`or no further selection criteria are available, i.e., every field
`414 through 436' has either been utilized or been found to
`contain a null value, in which case a failure may be commu-
`nicated to the smart device setup app,allowingit to initiate a
`user message suggesting that an alternative set up method be
`employed.
`[0025]
`Oncefully provisioned with the command codesets
`necessary for control of a consumer’s appliances, in certain
`embodiments a smart device remote control app in accor-
`dancewith the instant invention may undergo additional cus-
`tomization while in physical communication with the con-
`trolled appliances via the exemplary HDMI connection. In
`one embodiment, the response(s) to a CEC <Get Menu Lan-
`guage> request may be utilized to adjust the menus, key
`labels, etc., of the remote control app to match those in use by
`the controlled appliances. Conversely, upon consumer
`request the language to which the smart deviceis currently
`regionalized may be conveyed to the controlled appliances
`
`via a CEC <Set Menu Language> request, thereby adapting
`the appliancedisplays to match the userpreferencesettings of
`the smart device.
`
`In instances where an appliance such as TV106 is
`[0026]
`adapted to perform the beforementioned CEC switching
`function andis equipped to support such a query, that switch-
`ing appliance maybe requestedto indicate whichofits physi-
`cal HDMIports(e.g. 210 thru 214)are associated with which
`downstream CEC logical addresses (e.g., STB 108, DVD
`player 110, etc.) The data so acquired may thenbeutilized by
`a smart device remote control app to configure activity mac-
`ros, for example withoutlimitation “Watch TV” or “Watcha
`movie”, such that a commandto select the appropriate HDMI
`input of TV 106 will be automatically issued when the activ-
`ity is initiated, Such macro configuration may be completely
`automatic, or may require user input: For example where
`multiple media playbackappliances are detectedin a configu-
`ration (e.g., both a DVD player and Vudustreaming video on
`demand box) a user may be prompted to select which appli-
`ance is to be used for a “Watch movie”activity (it being
`understoodthat in cases such as this multiple “Watch movie”
`activities may also be configured). To facilitate user identifi-
`cation ofthe desired appliance, the prompt may include the
`appliances sel!-provided identities retrieved using CEC <Get
`OSD name> requests, appliance brand names and/or model
`numbers supplied by a codeset identification service, TV
`input port numbers, or any combination thereofas appropri-
`ate.
`
`[0027] 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, while the illustrative equipment
`configuration presented aboveutilizes a television set as the
`HDMI interconnection focal point and host appliance for
`attachment of a smart device, it will be appreciated that in
`alternate configurations another device such as an AV
`receiver, a set top box, a PC, etc. may serve equally well as a
`focal point and hostappliance to which a smart device may be
`temporarily attached for set up purposes. Furthermore, in
`those instances where no appliance in the configuration is
`capable of supporting CEC switch functionality, it will also
`be appreciated that a smart device in accordance with the
`invention may nevertheless be individually attached to mul-
`tiple appliances in sequenceinorderto performan electroni-
`cally-enabled setup. It will also be appreciated thatin certain
`embodiments, for the sake ofefficiency multiple appliance-
`identifying data items may be gathered andjointly forwarded
`to an appliance identification service as a single transaction,
`rather than ina step-by-step fashion as described above. Addi-
`tionally, while illustrated using an HDMIconnection, CEC
`protocol, and EDID and SPD InfoFramedata values it will be
`appreciated that various other connectivity and appliance
`identification data gathering methods may be equally adapt-
`able to the purposesdescribed herein; standards may evolve
`or be amended to support additional features; etc., and that
`accordingly the exemplary applianceidentification database
`contents presented herein are by wayofillustration only and
`not intendedas an exhaustive tabulation of all possible iden-
`tification data points or parameters that are or may become
`available for utilization by the appliance identification meth-
`ods described herein.
`
`[0028] While described in the context of functional mod-
`ules and illustrated using block diagram and/or flowchart
`
`
`
`US 2011/0289113 Al
`
`Nov. 24, 2011
`
`formats,it is to be understoodthat, unless otherwisestated 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 thata detailed discussion
`ofthe actual implementationof each moduleis not necessary
`for an enabling understanding of the invention. Rather, the
`actual implementationof such modules would be well within
`the routineskill of an engineer, given the disclosure herein of
`theattributes, functionality, and inter-relationship ofthe vari-
`ous 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, [t will be additionally appreciated that the
`particular concepts disclosed are meantto be illustrative only
`and not limiting as to the scope of the invention which is to be
`giventhe full