`Case 8:20-cv-00701 Document 1-2 Filed 04/09/20 Page 1 of 14 Page ID #:59
`
`
`
`
`
`
`
`
`
`EXHIBIT B
`EXHIBIT B
`
`
`
`
`
`Case 8:20-cv-00701 Document 1-2 Filed 04/09/20 Page 2 of 14 Page ID #:60
`
`US00964.1785B2
`
`(12) United States Patent
`Barnett et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 9,641,785 B2
`*May 2, 2017
`
`(54) SYSTEM AND METHOD FOR
`CONFIGURING CONTROLLING DEVICE
`FUNCTIONALITY
`
`(71) Applicant: UNIVERSAL ELECTRONICS INC.,
`Santa Ana, CA (US)
`(72) Inventors: Brian Barnett, Oakland, CA (US);
`Arsham Hatambeiki, San Diego, CA
`(US); Rex Xu, Tustin, CA (US); Jesus
`Perez, Costa Mesa, CA (US)
`(73) Assignee: Universal Electronics Inc., Santa Ana,
`CA (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`This patent is Subject to a terminal dis
`claimer.
`
`(*) Notice:
`
`(21) Appl. No.: 15/180,188
`
`(22) Filed:
`
`Jun. 13, 2016
`
`(65)
`
`Prior Publication Data
`US 2016/O295153 A1
`Oct. 6, 2016
`
`Related U.S. Application Data
`(63) Continuation of application No. 14/676.556, filed on
`Apr. 1, 2015, now Pat. No. 9,380,250, which is a
`(Continued)
`
`(51) Int. Cl.
`H04N 5/44
`H04N 5/765
`H04N 2L/422
`H04N 2L/4363
`H04N 2L/442
`
`(2011.01)
`(2006.01)
`(2011.01)
`(2011.01)
`(2011.01)
`(Continued)
`
`(52) U.S. Cl.
`CPC ........... H04N 5/4403 (2013.01); H04N 5/765
`(2013.01); H04N 5/775 (2013.01); H04N
`21/42216 (2013.01); H04N 21/42227
`(2013.01); H04N 2 1/43635 (2013.01); H04N
`2I/4424 (2013.01); H04N 2 1/4516 (2013.01);
`H04N 2 1/485 (2013.01); H04N 2005/4426
`(2013.01); H04N 2005/4439 (2013.01)
`(58) Field of Classification Search
`CPC ............... G09G 5/006; H04N 21/4635, H04N
`21f43615
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`2010/0194983 A1* 8/2010 Iguchi .................... GO8C 17/OO
`348,563
`2012/0084452 A1* 4/2012 Pettit ...................... GO8C 17/02
`TO9/230
`
`* cited by examiner
`Primary Examiner — Jefferey Harold
`Assistant Examiner — Samira Monshi
`(74) Attorney, Agent, or Firm — Greenberg, Traurig, LLP
`
`ABSTRACT
`(57)
`A controlling device is automatically configured to issue a
`communication directly to a first controllable appliance to
`control a functional operation of the first controllable appli
`ance in the event that the first controllable appliance is
`determined to be unresponsive to a command communica
`tion transmitted to the first controllable appliance via a
`digital communications link or to issue a communication to
`a second controllable appliance to control the functional
`operation of the first controllable appliance via a digital
`communications link in the event that first controllable
`appliance is determined to be responsive to a command
`communication transmitted to the first controllable appli
`ance via a digital communications link.
`13 Claims, 6 Drawing Sheets
`
`102.
`
`106 .
`
`
`
`108
`
`34 - - -
`
`
`
`Case 8:20-cv-00701 Document 1-2 Filed 04/09/20 Page 3 of 14 Page ID #:61
`
`US 9,641,785 B2
`Page 2
`
`Related U.S. Application Data
`continuation of application No. 13/240,604, filed on
`Sep. 22, 2011, now Pat. No. 9,019,435.
`(51) Int. Cl.
`H04N 2L/45
`H04N 2L/485
`HO)4N 5/775
`
`(2011.01)
`(2011.01)
`(2006.01)
`
`
`
`Case 8:20-cv-00701 Document 1-2 Filed 04/09/20 Page 4 of 14 Page ID #:62
`
`U.S. Patent
`
`May 2, 2017
`
`Sheet 1 of 6
`
`US 9,641,785 B2
`
`
`
`106.
`
`
`
`Figure 1
`
`
`
`Case 8:20-cv-00701 Document 1-2 Filed 04/09/20 Page 5 of 14 Page ID #:63
`
`U.S. Patent
`
`May 2, 2017
`
`Sheet 2 of 6
`
`US 9,641,785 B2
`
`3O8 r-
`
`210 -
`
`- 204
`
`206
`
`22 --
`
`-
`
`i.
`
`
`
`
`
`Case 8:20-cv-00701 Document 1-2 Filed 04/09/20 Page 6 of 14 Page ID #:64
`
`U.S. Patent
`
`May 2, 2017
`
`Sheet 3 of 6
`
`US 9,641,785 B2
`
`- 324
`
`
`
`
`
`
`
`3.
`-
`
`- 3
`
`- 108
`
`- iO
`Basier s
`N
`- 312
`ly
`338
`
`Non
`memory
`
`woatie - - - -
`
`memory
`
`
`
`304
`
`305
`
`------
`
`Key frax
`
`---------
`
`320
`
`Backfight or "
`Other
`intination
`Wistia
`302
`- feedback
`device
`
`318
`Y.
`
`input/output
`port
`
`328 -
`
`Crystal
`
`Cock arc
`time; togic
`orrosio
`
`Figure 3
`
`
`
`Case 8:20-cv-00701 Document 1-2 Filed 04/09/20 Page 7 of 14 Page ID #:65
`
`U.S. Patent
`
`May 2, 2017
`
`Sheet 4 of 6
`
`US 9,641,785 B2
`
`38 -
`
`Frofit ane
`eface
`
`Repoe
`c
`a sawer
`
`Catleisatelite
`signal in
`
`Ethernet,
`
`r
`
`38
`414 -
`Other if
`
`- 43
`--
`
`2
`at card if
`S: Sia card it
`& O -
`
`
`
`
`
`e
`
`B:C:{ta
`9
`
`Sedia of ocessor
`
`- 18
`
`HEM} interface --> Digital Afw out
`- 428
`
`Sir
`
`c
`is - 48
`Wide? AC
`Afalog vided out
`\
`
`- 43
`Analog audio oit
`
`:4 - :
`
`
`
`Rias
`finerinary
`
`4}}
`
`- 402
`
`.3
`
`Figure 4
`
`
`
`Case 8:20-cv-00701 Document 1-2 Filed 04/09/20 Page 8 of 14 Page ID #:66
`
`U.S. Patent
`
`May 2, 2017
`
`Sheet S of 6
`
`US 9,641,785 B2
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Corfigure
`"honie" key
`
`/ figital
`CareCic X
`
`500
`
`Regieve E
`sata
`
`
`
`/CECN
`{ supported X
`
`
`
`
`
`Step to rex
`inst
`
`Sendric input
`Select
`(switch; 2 way)
`
`Seing CeC
`input select
`switch away)
`
`Siep to ext
`ing it
`
`Send fic input
`Seiei
`(switch back
`
`Sir CEC
`ingut Select
`switch back)
`
`14DCP ren.
`Nonnect?
`
`Peri
`aerative
`configuration
`method(s)
`
`
`
`Setic 'horte'
`key to Ximit asi
`ipi saiect
`Coriac sent
`
`
`
`Set ic "ore"
`key to xnit
`SB “ie'
`continiac
`
`524 -
`
`
`
`534
`
`Figure 5
`
`
`
`Case 8:20-cv-00701 Document 1-2 Filed 04/09/20 Page 9 of 14 Page ID #:67
`
`U.S. Patent
`
`May 2, 2017
`
`Sheet 6 of 6
`
`US 9,641,785 B2
`
`
`
`Configure Y
`\'hose key/
`
`Dispiay iser
`feSSage
`
`602
`
`604
`
`Step to next
`inst
`
`Switc. to
`ised ipu:
`(switch away)
`
`
`
`
`
`YMore input Y.
`Yagonalands
`
`
`
`
`
`
`
`Step to ext
`input
`
`Y
`
`Send input
`Select
`(switch back
`
`818
`
`/ fore inp N
`Yominards/
`818 -
`
`inciate a
`"hone” key
`Cotid not be
`configuited
`
`
`
`Set it “ce”
`key to Xinit ast
`input seect
`Conrad Set
`
`632 --
`
`- 82
`
`Figure 6
`
`
`
`Case 8:20-cv-00701 Document 1-2 Filed 04/09/20 Page 10 of 14 Page ID #:68
`
`US 9,641,785 B2
`
`1.
`SYSTEMAND METHOD FOR
`CONFIGURING CONTROLLING DEVICE
`FUNCTIONALITY
`
`RELATED APPLICATION INFORMATION
`
`This application claims the benefit of and is a continuation
`of U.S. application Ser. No. 14/676.556, filed on Apr. 1,
`2015, which application claims the benefit of and is a
`continuation of U.S. application Ser. No. 13/240,604, filed
`on Sep. 22, 2011, the disclosures of which are incorporated
`herein by reference in their entirety.
`
`BACKGROUND
`
`Consumer electronic appliances such as set top boxes for
`receiving and decoding cable and satellite signals, televi
`sions, DVD players, game systems, etc. are well known in
`the art, as are the hand held controlling devices, for example
`remote controls, which may be provided for use in issuing
`commands to these appliances. Frequently, such controlling
`devices may be “universal.” that is, capable of issuing
`commands Suitable for the control of more than one appli
`ance of differing type and/or manufacture.
`Increasingly, the interconnections between consumer
`appliances such as those mentioned above may take the form
`of digital interfaces based upon, for example, the High
`Definition Multimedia Interface (HDMI) standard. The uti
`lization of Such digital interconnections may facilitate the
`exchange of identity information, commands, and capability
`data between devices and/or the discovery of system topol
`ogy, which information may be advantageously used when
`configuring a controlling device.
`
`SUMMARY OF THE INVENTION
`
`10
`
`15
`
`25
`
`30
`
`35
`
`This invention relates generally to systems in which a
`universal controlling device may be configured for use in
`conjunction with multiple interconnected consumer elec
`tronic appliances. In particular, when the interconnection(s)
`between appliances take the form of a digital interface Such
`as contemplated for example by the HDMI standard, the
`additional features and functionality of Such an interconnec
`tion arrangement may be advantageously utilized during
`configuration and operation of a controlling device associ
`ated with that system. The capabilities of individual appli
`ances may be discovered, assessed, and control methods
`adjusted accordingly, for example Substituting direct digital
`commands issued over the interconnecting bus for wireless
`infrared or RF command transmissions from a portable
`controlling device where appropriate. System topologies
`(e.g., which outputs of which appliance are connected to
`which inputs of which other appliance(s)) may be estab
`lished via direct interrogation or by monitoring of digital
`status during setup, and applied thereafter to the configura
`tion of controlling device and appliance functionality, etc.
`In an exemplary embodiment presented herein by way of
`illustration, such digital discovery, command Substitution,
`and topology determination methods are applied to the
`configuration of a “home' key on a portable controlling
`device, where the function of such a key is to return an
`entertainment system to a known State.
`
`40
`
`45
`
`50
`
`55
`
`60
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`For a better understanding of the various aspects of the
`invention, reference may be had to preferred embodiments
`shown in the attached drawings in which:
`
`65
`
`2
`FIG. 1 illustrates an exemplary system in which a con
`trolling device and a set top box configured in accordance
`with the instant invention may be utilized;
`FIG. 2 further illustrates the exemplary controlling device
`of the system of FIG. 1;
`FIG. 3 illustrates a block diagram of exemplary compo
`nents of the exemplary controlling device of FIG. 1;
`FIG. 4 illustrates a block diagram of exemplary compo
`nents of the exemplary set top box of FIG. 1;
`FIG. 5 illustrates an exemplary series of steps which may
`be performed when configuring the controlling device of
`FIG. 1; and
`FIG. 6 illustrates a further exemplary series of steps which
`may be performed when configuring the controlling device
`of FIG. 1.
`
`DETAILED DESCRIPTION
`
`Turning now to FIG. 1, an exemplary system is illustrated
`wherein a controlling device 100 is configurable to control
`various appliances, such as a set top box (STB) 104, a
`television 106, a DVD player 108, and/or a game console
`102. As illustrated, the digital audio/video outputs of appli
`ances 102, 104 and 108, for example output 118 of STB 104,
`may be attached to digital inputs 112, 114 and 116 of TV 106
`in accordance with, for example, the HDMI standard. As is
`known in the art, the controlling device 100 may be capable
`of transmitting commands to the appliances, using any
`convenient IR, RF, Point-to-Point, or networked protocol, to
`cause the appliances to perform operational functions. Such
`transmission protocols may be unidirectional 110 or bidi
`rectional 120 as appropriate for the particular appliance to be
`controlled. In a preferred embodiment, communication
`between controlling device 100 and at least one of the
`appliances, e.g., STB 104, comprises a bidirectional link
`120.
`With reference to FIG. 2, an exemplary controlling device
`100 may include, inter alia, keys 204 through 210 for
`selection of an appliance to be controlled, a key 212 or keys
`for issuing commands to change the active input of a
`selected appliance, a “select or “OK” key 214, and a
`“home' key 202 which may be configured to issue a
`command or commands intended to restore an appliance to
`a known state.
`Turning now to FIG. 3, for use in commanding the
`functional operations of one or more appliances an exem
`plary controlling device 100 may include a processor 300
`coupled to a ROM memory 304, a RAM memory 305, a key
`matrix. 316 (e.g., hard keys, soft keys Such as a touch
`sensitive Surface overlaid on a liquid crystal (LCD), trans
`mitter circuit(s) 312 and/or transceiver circuit(s) 310 (it
`being appreciated that elements 310 and 312 may comprise
`one or more than one transceiver or transmitter, and may
`utilize IR and/or RF signaling, in any combination as
`appropriate for a particular embodiment), clock and timer
`logic 326 with associated crystal or resonator 328, a power
`source 324 such as a battery, a non-volatile read/write
`memory 306 such as Flash, battery backed up SRAM, etc.,
`and as required for a particular embodiment means 302 to
`provide feedback to the user (e.g., one or more LEDs,
`display, speaker, and/or the like), an input/output port 318
`such as a serial interface, USB port, modem, Zigbee, WiFi,
`or Bluetooth transceiver, etc., and means 320 for backlight
`ing a LCD display or keypad.
`As will be understood by those skilled in the art, some or
`all of the memories 304, 305, 306 may include executable
`instructions that are intended to be executed by the processor
`
`
`
`Case 8:20-cv-00701 Document 1-2 Filed 04/09/20 Page 11 of 14 Page ID #:69
`
`US 9,641,785 B2
`
`10
`
`4
`sion protocol within a preprogrammed library of command
`data that is to be used to transmit recognizable commands in
`a format appropriate for Such identified appliances (hereafter
`a “codeset). As is known in the art, identification of an
`appropriate codeset may comprise entry of a numeric setup
`code obtained, for example, from a printed list of manufac
`turer names and/or models with corresponding code num
`bers or from a Support Web site; may comprise an interaction
`with an appliance such as STB 104 which culminates in the
`downloading of command data and/or numeric setup codes
`to the controlling device; may comprise Scanning of bar
`codes or RFID tags; etc. Since such methods for setting up
`a controlling device to command the operation of specific
`home appliances are well-known, these will not be described
`in greater detail herein. Nevertheless, for additional infor
`mation pertaining to setup procedures, the reader may turn,
`for example, to U.S. Pat. Nos. 4.959,810, 5,614,906, 6.225,
`938, or 7.969,514 all of like assignee and incorporated
`herein by reference in their entirety.
`Turning now to FIG. 4, an exemplary controllable appli
`ance, e.g., STB 104, may include, as needed for a particular
`application, a processor 400 coupled to a memory 402 which
`may comprise RAM, ROM, and/or Flash memory; a power
`supply 404; a hard disk (HDD) interface 406 and associated
`disk drive 408, for example to support DVR functionality; a
`smart card and/or PCMIA interface 410 where required to
`accommodate service enablement/decryption cards 412;
`other input/output interfaces 414 such as USB, Ethernet,
`etc.; a front panel interface 418 with associated front panel
`keypad 420 and display means 422; a remote control
`receiver or transceiver 424 for reception of signal from a
`controlling device 100; a digital audio/video output interface
`426 such as an HDMI port; a digital audio output 432 such
`as an SPDIF connection; analog video and audio outputs
`430,432; and one or more tuners 416 for receiving and
`demodulating a cable or satellite signal. As will be appre
`ciated, in general tuner 416 may be capable of receiving both
`one or more digital media streams comprising program
`content and a so called out-of-band data stream comprising,
`for example, program guide information, Software updates,
`etc.
`As is known in the art, programming instructions may be
`stored in a non-transitory readable memory 402 (“STB
`programming') which when executed by processor 400 may
`enable the STB appliance 104 to receive and decode digital
`media and data streams from tuner 416; to store received
`media content and data on HDD 408 or in memory 402; to
`output received (from tuner 416) or retrieved (from HDD
`408) media content via one or more of the output ports
`426,428; to monitor other I/O ports 414 for activity; to
`receive, decode, and act upon user commands received from
`controlling device 100 or input via front panel 420; to
`display program guide information, listings of stored con
`tent, or setup and configuration menus at user request and act
`upon any resulting user input, etc.
`Connection of HDMI interface 426 of STB 104 to a
`compatible appliance such as TV 106 as illustrated in FIG.
`1 may enable exchange of digital information between these
`appliances in accordance with, for example, the Extended
`Display Identification Data (EDID), Consumer Electronics
`Control (CEC), and/or High-bandwidth Digital Content Pro
`tection (HDCP) standards. By way of explanation, EDID
`defines data which may be provided by a digital display
`appliance such as TV 106 to a video source such as STB 104
`to characterize the capabilities and configuration of the
`display device; CEC defines methods by which appliances
`may exchange command and control information over an
`
`3
`300 to control the operation of controlling device 100, as
`well as data which serves to define to the operational
`Software the necessary control protocols and command
`values for use in transmitting command signals to control
`lable appliances (collectively, the command data). In this
`manner, the processor 300 may be programmed to control
`the various electronic components within the controlling
`device 100, e.g., to monitor the key matrix. 316, to cause the
`transmission of signals, etc. The non-volatile read/write
`memory 306, for example an EEPROM, battery-backed up
`RAM, FLASH. Smart Card, memory stick, or the like type
`of non-transitory, readable media, may additionally be pro
`vided to store setup data and parameters as necessary. While
`the memory 304 is illustrated and described as a ROM
`memory, memory 304 can also be comprised of any type of
`15
`readable media, such as ROM, FLASH, EEPROM, or the
`like type of non-transitory, readable media. Preferably, read/
`write memories 304 and 305 are non-volatile or battery
`backed such that data is not required to be reloaded after
`battery changes. In addition, the memories 304,305 and 306
`may take the form of a chip, a hard disk, a magnetic disk, an
`optical disk, and/or the like. Still further, it will be appre
`ciated that some or all of the illustrated memory devices may
`be physically combined (for example, a single FLASH
`memory may be logically partitioned into different portions
`25
`to support the functionality of memories 304 and 306
`respectively), and/or may be physically incorporated within
`the same IC chip as the microprocessor 300 (a so called
`“microcontroller”) and, as such, they are shown separately
`in FIG. 3 only for the sake of clarity.
`To cause the controlling device 100 to perform an action,
`the controlling device 100 may be adapted to be responsive
`to events, such as a sensed user interaction with the key
`matrix. 316, detection of a triggering event via an appropriate
`trigger sensor, etc. In response to an event, appropriate
`instructions within the program memory (hereafter the “con
`trolling device operating program’) may be executed. For
`example, when a function key is actuated on controlling
`device 100, the controlling device operating program may
`retrieve from the command data stored in memory 304,305.
`40
`306 a command value and transmission protocol corre
`sponding to the actuated function key and, where necessary,
`current device mode, and transmit that command to an
`intended target appliance, e.g., TV 106 or STB 104, in a
`format recognizable by that appliance to thereby control one
`or more functional operations of that appliance. It will be
`appreciated that the operating program can be used not only
`to cause the transmission of commands and/or data to the
`appliances, but also to perform other operations. While not
`limiting, other operations that may be performed by the
`controlling device 100 may include displaying information/
`data, favorite channel setup, macro key setup, function key
`relocation, etc. Examples of local operations may be found
`in U.S. Pat. Nos. 5,481,256, 5,959,751, and 6,014,092.
`Further, in an exemplary embodiment certain operations
`may comprise interactions with an appliance Such as STB
`104 via bidirectional communication link 120, as will be
`described in greater detail hereafter.
`In an exemplary embodiment, controlling device 100 may
`be universal, that is, adaptable to issue commands to a
`multiplicity of appliances of different type and/or manufac
`ture. In Such cases, for selecting a set of command data to be
`associated with an appliance to be controlled, data may be
`provided to the controlling device 100 that serves to identify
`an intended target appliance by its type and make (and
`Sometimes model). Such data allows the controlling device
`100 to identify the appropriate command data and transmis
`
`50
`
`30
`
`35
`
`45
`
`55
`
`60
`
`65
`
`
`
`Case 8:20-cv-00701 Document 1-2 Filed 04/09/20 Page 12 of 14 Page ID #:70
`
`US 9,641,785 B2
`
`10
`
`15
`
`6
`in an exemplary embodiment the STB programming of
`appliance 104 and the controlling device operating program
`of controlling device 100 may cooperatively execute a series
`of steps to configure the functionality of “home' key 202,
`coordinated where necessary over bidirectional communi
`cation link 120, as will now be described in conjunction with
`FIGS. 5 and 6.
`With reference to FIG. 5, at step 500 the STB program
`ming may initially determine if a display appliance, e.g., TV
`106, is in fact connected to HDMI port 118. If not, retrieval
`of HDMI-available digital information from the appliance
`may not be possible, and accordingly the configuration
`process may continue at step 524 whereat other configura
`tion methods may be attempted, for example as described
`hereafter in conjunction with FIG. 6. If however an appli
`ance is determined to be connected to HDMI port 118, at
`step 502 that appliance's EDID data may be retrieved. The
`EDID data may indicate, interalia, which HDMI port of the
`connected appliance is being used to communicate with STB
`104, e.g., port 114 of TV 106 in the illustrative example.
`Next, at step 504, the STB programming may determine
`whether the attached appliance supports CEC control over
`the HDMI connection. This determination may be made
`based on information contained in the retrieved EDID, may
`be empirically derived based on the appliance's response (or
`lack thereof) to a CEC query, may be obtained by referenc
`ing a local or remote database of appliance capabilities using
`appliance identity information embedded in the EDID or
`previously gathered during initial setup of controlling device
`100, or any other suitable method. If it is determined that the
`appliance does in fact support CEC control, than at step 526
`a CEC command may be issued via the HDMI interconnec
`tion to cause the appliance to select a different input as its
`current AV source. Thereafter, at step 528 the STB program
`ming may determine if an HDCP break has occurred as a
`result of the command issued at step 526. By way of
`explanation, whenever a digital pathway is established
`between an HDCP compliant source device and an HDCP
`compliant sink device, an authentication process and
`exchange of encryption keys occurs. Since many sink
`devices are capable of supporting only one HDCP stream at
`a time, when sink device inputs are switched the HDCP
`logical connection with the former Source device may be
`terminated and authentication cancelled. If such an HDCP
`break is detected, then at step 530 the STB programming
`may next issue a CEC input select command to return the
`appliance input to the EDID-indicated HDMI port to which
`the STB is purportedly connected. Thereafter, at step 532 the
`STB programming may determine if an HDCP reconnect has
`occurred as a result of the command issued at step 530. If so,
`it has been established that the appliance, TV 106 in the
`illustrative example, may be successfully switched back to
`the correct input for display of STB output via the use of a
`CEC command issued over the HDMI interconnection.
`Accordingly, at step 534 a message may be communicated
`to controlling device 100 to configure “home' key 202 to
`transmit a command to STB 104, which command when
`received by STB 104 will cause issuance of the just-verified
`CEC input select command to TV 106. As will be appreci
`ated, in Some embodiments this may in fact comprise the
`default configuration for the controlling device “home' key
`function, in which instances step 534 may be omitted. If
`either the HDCP break at step 528 or HDCP reconnect at 532
`is unsuccessful, it may be assumed that input Switching via
`CEC commands is not adequately supported by the appli
`ance, e.g. TV 106, and as indicated in FIG. 5 the STB
`
`5
`HDMI link; and HDCP provides a method for appliances to
`authenticate one another and exchange encryption keys in
`order to effect secure transmission of digital AV media
`content. Since all of these standards are readily available
`from their respective standards-setting bodies, for the sake
`of brevity the features and functionality thereof will be
`further presented herein only to the extent necessary for a
`complete understanding of the instant invention.
`In a system such as that illustrated in FIG. 1 in which
`various appliances may be digitally interconnected in accor
`dance with a standard such as HDMI, an appliance, for
`example STB 104, may utilize information obtainable via
`Such an interconnection to cooperatively participate in the
`configuration of a universal controlling device Such as
`controller 100. Such cooperation may comprise communi
`cation of identifying information regarding the intercon
`nected other appliances to the controlling device, as
`described for example in co-pending U.S. patent application
`Ser. No. 12/716,635, of like ownership and incorporated
`herein by reference in its entirety. Alternatively or in con
`junction with Such setup, an appliance Such as STB 104 may
`also engage in cooperative determination of system topology
`and configuration of controlling device features as described
`herein.
`By way of example and without limitation, in an illustra
`tive embodiment of Such system topology determination and
`controlling device configuration it may be considered advan
`tageous for a controlling device 100 offered in conjunction
`with a STB 104 to be provisioned with a “home key 202,
`activation of which may serve to command TV 106 to select
`as its active input that port which is connected to STB 104,
`e.g., port 114 in the illustrative example. Provision of such
`a feature may enable a user who has inadvertently switched
`TV 106 to a different input source to immediately restore the
`source to the STB display. While the illustrative example
`presented herein is in the context of a “home' key 202 which
`may be specifically provisioned for this purpose, in other
`embodiments such functionality may be equally advanta
`geously offered in conjunction with an existing appliance
`selection key such as “Cable' 204 or “DVD 210, i.e.
`activation of key 204 may not only place controlling device
`100 into an operating mode suitable for controlling STB
`104, but may also command TV 106 to select that input port
`which is associated with viewing STB-sourced content, i.e.
`port 114; activation of key 210 may not only place control
`ling device 100 into an operating mode suitable for control
`ling DVD player 108, but may also command TV 106 to
`select that input port which is associated with viewing
`DVD-sourced content, i.e. port 116; etc. Accordingly it will
`be appreciated that while the methods described below are
`presented by way of illustration in terms of enabling a
`“home’ 202, such methods may be applied, mutatis mutan
`dis, to the provision of similar functionality to any suitable
`key of a controlling device. In order to enable Such a feature,
`however, it must first be determined which one of TV inputs
`112, 114, 116 is connected to STB 104, and then determine
`which explicit input select command, either within the CEC
`repertoire or within the controlling device codeset applicable
`to TV 106, may command direct selection of that specific
`input in order that the controlling device 100 may be
`configured such that actuation of “home' key 202 may cause
`an appropriate command to be issued to TV 106.
`Accordingly, after controlling device 100 has been ini
`tially configured to command operation of appliances 102
`through 108, preferably in conjunction with STB 104 as
`described for example in the above referenced U.S. Pat. No.
`7.969,514 or in U.S. patent application Ser. No. 12/716,635,
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`Case 8:20-cv-00701 Document 1-2 Filed 04/09/20 Page 13 of 14 Page ID #:71
`
`US 9,641,785 B2
`
`7
`programming may continue at an appropriate point in the
`controlling device input select command test sequence
`described below.
`Returning to step 504, if the STB programming deter
`mines that the attached appliance does not support CEC
`control, at step 508 it may communicate with controlling
`device 100, for example via bidirectional communication
`link 120, in order to request transmission of a preparatory
`input selection command to the attached appliance, e.g., TV
`106. Such a preparatory command, transmitted at step 506,
`10
`may comprise a command to select an input to which the
`STB 104 is not connected. By way of example, in the
`illustrative system this may comprise a command intended
`to cause TV 106 to switch away from the EDID-indicated
`HDMI port 114 to which STB 104 is connected, e.g., to one
`of ports 112 or 116. Thereafter, at step 508 the STB
`programming may determine if an HDCP break has occurred
`as a result of the command issued at step 506. If not, at steps
`518 and 516 other available input selection commands
`available in the codeset applicable to TV 106 may be
`sequentially tested. If no command code is successful in
`initiating and HDCP break, the STB programming may
`continue at step 524 where alternative configuration meth
`ods may be attempted as described hereafter. If however an
`HDCP break is successfully initiated, at steps 510,512, 522,
`520 the STB programming may next attempt to determine
`the input select command which will restore TV 106 to the
`input port 114 to which STB 104 is connected. As illustrated,
`this may take the form of repetitive requests to controlling
`device 100 to cause sequential issuance of possible input
`select command to TV 106 until an HDCP reconnect is
`detected by the STB programming. Advantageously, the
`sequence in which input select commands are issued to TV
`104 may be determined in part by the HDMI port number
`reported by TV 106 as part of the EDID data retrieved at step
`502. By way of example, if the EDID data indicates that the
`connection 114 is to HDMI port number three of TV 106 and
`a command labeled "HDMI 3” is present in the controlling
`device codeset applicable to TV 106, then that command
`may be selected as the first to be attempted. When an HDCP
`40
`reconnect status is detected by the STB programming, at
`step 514 a message may be communicated to controlling
`device 100 to configure “home' key 202 to transmit the TV
`input select command code last issued in the test sequence,
`and configuration is complete. If however no HDCP recon
`nect has been detected upon exhaustion of possible input
`select codes, at step 524 alternative configuration methods
`may be attempted, for example such at that described
`hereafter in conjunction with FIG. 6.
`In those cases where a display device Such as a TV is not
`attached to an STB via a digital connection, for example is
`connected to analog AV outputs 430,432 of STB 104; or
`where a display device is attached via a digital connection
`but may not be compatible with the methods described
`above conjunction with FIG. 5, for example a display device
`which supports multiple concurrent HDCP sessions and
`accordingly does not reliably report HDCP session termi
`nation when an input is Switched, an exemplary alternate
`configuration method will now be described in conjunction
`with FIG. 6. As will become apparent, in the illustrative
`60
`method user feedback may be used in lieu of the HDCP
`status change detections of the previous methods. This
`process may commence at step 602 with the STB program
`ming causing display of a message on the TV screen which
`message may prompt the user to take the required actions.
`For example, in the illustrative method, the message may
`request that the user actuate the “OK” key 214 of controlling
`
`50
`
`8
`device 100 once when the displayed messages disappears
`and a second time when the displayed message reappears.
`Thereafter, at step 604 the STB programming may request
`that the controlling device 10