The present application relates to the control of media systems based on determined states of media devices.
A typical entertainment system for a home theater may include several audio/video (A/V) devices connected to a display, such as a television (TV), which may be a high definition TV (HDTV) or other definition level. Many A/V devices have a high-speed high-definition media interface (HDMI) to allow transfer of high resolution video and audio from a source device (e.g., a digital video disc (DVD) player or cable set top box (STB)) to a sink device (e.g., the TV). An HDMI switch or repeater may be used to connect the different devices together. The HDMI source devices are connected to the inputs of the HDMI switch and the HDMI sink devices are connected to outputs of the HDMI switch.
In order to consume particular content (e.g., listen to music or watch a movie), the user may have to interact directly with one or more of the A/V devices to change settings, may interact with one or more remote controls to change A/V device settings, may change cable connections between A/V devices, etc. As such, the user has to keep track of numerous entertainment center configurations and settings.
Methods, systems, and apparatuses are described for the automatic determination of states of consumer electronic devices coupled to an A/V, substantially as shown in and/or described herein in connection with at least one of the figures, as set forth more completely in the claims.
The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate embodiments and, together with the description, further serve to explain the principles of the embodiments and to enable a person skilled in the pertinent art to make and use the embodiments.
Embodiments will now be described with reference to the accompanying drawings.
In the drawings, like reference numbers indicate identical or functionally similar elements. Additionally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears.
The present specification discloses numerous example embodiments. The scope of the present patent application is not limited to the disclosed embodiments, but also encompasses combinations of the disclosed embodiments, as well as modifications to the disclosed embodiments.
References in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
Furthermore, it should be understood that spatial descriptions (e.g., “above,” “below,” “up,” “left,” “right,” “down,” “top,” “bottom,” “vertical,” “horizontal,” etc.) used herein are for purposes of illustration only, and that practical implementations of the structures described herein can be spatially arranged in any orientation or manner.
Numerous exemplary embodiments are described herein. Any section/subsection headings provided herein are not intended to be limiting. Embodiments are described throughout this document, and each embodiment may be eligible for inclusion within multiple different sections or subsections. Furthermore, it is contemplated that the disclosed embodiments may be combined with each other in any manner. That is, the embodiments described herein are not mutually exclusive of each other and may be practiced and/or implemented alone, or in any combination.
Note that although embodiments are often described herein with respect to the HDMI (high-definition media interface) audio/video interface, such embodiments are also directed to other types of audio/video interfaces, including existing types of audio/video interfaces and audio/video interfaces to be developed in the future.
Embodiments are provided for automatically determining a state signature for one or more consumer electronic devices coupled to a switching device and/or other devices communicatively coupled to the consumer electronic device(s). The state signature is indicative of one or more functional states in which a consumer electronic device is in. Such states include a power state of the consumer electronic device, a proximity state of the proximity consumer electronic device, a communication state of the consumer electronic device, and/or an operational state of the consumer electronic device. Based on the determined state signature(s), the switching device may infer which consumer electronic device the user would like to use (or is using) and cause one or more actions to be performed. Such actions include, but are not limited to, automatically switching to the AV port(s) to which a consumer electronic device is connected, transmitting one or more commands to such a consumer electronic device (e.g., power on/off commands, operational commands (e.g., play/pause commands), transmitting a notification message to a consumer electronic device, further actions, combinations of actions, etc. It is noted that the aforementioned states and actions are purely exemplary and that the switching device may be configured to determine other states and/or perform other actions.
In particular, a method performed by a high-definition multimedia interface (HDMI)-based switching device comprising a plurality of HDMI ports is described. The method includes determining state characteristics of a consumer electronic device that is communicatively coupled to the HDMI switching device, determining a state signature of the consumer electronic device based on the determined state characteristics, identifying an action to be performed by the consumer electronic device from a plurality of actions based on the determined state signature and a data structure that comprises a state signature-to-action mapping, and causing the action to be performed with respect to at least one of the HDMI switching device or the consumer electronic device.
In accordance with one or more embodiments, said determining state characteristics of the consumer electronic device comprises detecting a voltage on a pin of an HDMI port of the plurality of HDMI ports to which the consumer electronic device is coupled, and identifying a power state of the consumer electronic device based on the detected voltage.
In accordance with one or more embodiments, said determining state characteristics of the consumer electronic device comprises determining whether the consumer electronic device is playing back at least one of video content or audio content, and identifying at least one of an operational state or a power state of the consumer electronic device based on the playing back determination.
In accordance with one or more embodiments, said determining state characteristics of the consumer electronic device comprises detecting a voice command intended for the consumer electronic device, and identifying at least one of an operational state or a power state of the consumer electronic device based on the detected voice command.
In accordance with one or more embodiments, said determining state characteristics of the consumer electronic device comprises monitoring a network, to which the HDMI-based switching device and the consumer electronic device are communicatively coupled, for network data received by the consumer electronic device, and identifying at least one of an operational state, a power state, or a communication state of the consumer electronic device based on said monitoring.
In accordance with one or more embodiments, said determining state characteristics of the consumer electronic device comprises detecting a command sent to the consumer electronic device from a remote control device, and identifying at least one of an operational state or a power state of the consumer electronic device based on the detected command.
In accordance with one or more embodiments, said determining state characteristics of the consumer electronic device comprises detecting a radio frequency signal from the consumer electronic device, and identifying at least one of a power state, an operational state or a proximity state of the consumer electronic device based on the detected radio frequency signal.
In accordance with one or more embodiments, said determining state characteristics of the consumer electronic device comprises determining an amount of current associated with or an amount of power consumed by the consumer electronic device, and identifying a power state based on the determined amount of current or the determined amount of power.
In accordance with one or more embodiments, said determining state characteristics of the consumer electronic device comprises sending a query to the consumer electronic device for a status, receiving a response from the consumer electronic device that includes the status, and identifying at least one of a power state or an operational state of the consumer electronic device based on the received response
In accordance with one or more embodiments, the state signature of the consumer electronic device is based on at least one of a power state of the consumer electronic device, a proximity state of the consumer electronic device to another device, a communication state of the consumer electronic device, or an operational state of the consumer electronic device.
In accordance with one or more embodiments, said causing the action comprises at least one of transmitting a toggle command to the consumer electronic device to toggle a power state of the consumer electronic device, transmitting an operational command to the consumer electronic device that causes the consumer electronic to perform an operation specified by the operational command, automatically switching to an HDMI port of the plurality of HDMI ports to which the consumer electronic device is coupled, or transmitting a notification message to the consumer electronic device.
An HDMI-based switching device is also described herein. The HDMI-based switching device includes a plurality of HDMI ports, a characteristic identification component configured to determine a state characteristic of a consumer electronic device that is communicatively coupled to the HDMI-based switching device, a signature determination component configured to determine a state signature of the consumer electronic device based on the determined state characteristic, and an action determination component configured to identify an action to be performed by the consumer electronic device from a plurality of actions based on the determined state signature and a data structure that comprises a state signature-to-action mapping, and cause the action to be performed with respect to at least one of the HDMI-based switching device or the consumer electronic device
In accordance with one or more embodiments, the characteristic identification component comprises a signal detector configured to determine the state characteristic, the signal detector configured to: detect a voltage on a pin of an HDMI port of the plurality of HDMI ports to which the consumer electronic device is coupled, and identify a power state of the consumer electronic device based on the detected voltage.
In accordance with one or more embodiments, the characteristic identification component comprises an audio/video detector configured to determine the state characteristic, the audio/video detector configured to determine whether the consumer electronic device is playing back at least one of video content or audio content, and identify at least one of an operational state or a power state of the consumer electronic device based on the playing back determination.
In accordance with one or more embodiments, the characteristic identification component comprises a user input monitor comprising a microphone and configured to determine the state characteristic, the user input monitor configured to detect a voice command intended for the consumer electronic device, and identify at least one of an operational state or a power state of the consumer electronic device based on the detected voice command.
In accordance with one or more embodiments, the characteristic identification component comprises a network monitor, the network monitor configured to determine the state characteristic, the network monitor configured to monitor a network to which the HDMI-based switching device and the consumer electronic device are communicatively coupled, for network data received by the consumer electronic device, and identify at least one of an operational state, a power state, or a communication state of the consumer electronic device based on said monitoring.
In accordance with one or more embodiments, the characteristic identification component comprises a remote signal detector, wherein the remote signal detector is configured to determine the state characteristic, the remote signal detector configured to: detect a command sent to the consumer electronic device from a remote control device, and identify at least one of an operational state or a power state of the consumer electronic device based on the detected command.
In accordance with one or more embodiments, the characteristic identification component comprises a proximity detector, wherein the proximity detector is configured to determine the state characteristic, the proximity detector configured to detect a radio frequency signal from the consumer electronic device, and identify at least one of a power state, an operational state or a proximity state of the consumer electronic device based on the detected radio frequency signal.
In accordance with one or more embodiments, the characteristic identification component comprises a power monitor configured to determine the state characteristic, wherein the power monitor is configured to determine an amount of current associated with or an amount of power consumed by the consumer electronic device and identify a power state based on the determined amount of current or the determined amount of power.
A system is further described herein. The system includes one or more processors and a memory containing computer-readable instructions, which, when executed by the one or more processors, is configured to perform operations in an HDMI-based switching device comprising a plurality of audio/video (AV) ports. The operations include determining state characteristics of a consumer electronic device that is communicatively coupled to the HDMI switching device, determining a state signature of the consumer electronic device based on the determined state characteristics, identifying an action to be performed by the consumer electronic device from a plurality of actions based on the determined state signature and a data structure that comprises a state signature-to-action mapping, and causing the action to be performed with respect to at least one of the HDMI switching device or the consumer electronic device.
Systems and devices may be configured in various ways according to the embodiments and techniques described herein. In embodiments, an HDMI switch (or repeater or other device with HDMI connectors/ports) may be connected to one or more HDMI enabled devices. The HDMI switch or other device may be configured, according to embodiments, to automatically determine the states of HDMI enabled devices coupled to the HDMI switch.
Consumer electronic devices 102A-102C are configured to provide audio and/or video signals (e.g., audio and/or video signals 108A, 108B, 108C, respectively) for playback and are referred to as “source” devices. Consumer electronic device 102D is configured to receive audio and/or video signals (e.g., audio and/or video signals 112) and is referred to as a “sink” device. As shown in
Switching device 104 is configured to select (e.g., switch between) different audio and/or video source devices that are coupled to AV ports 110A-110C (e.g., consumer electronic device 102A, consumer electronic device 102B or consumer electronic device 102C) and provide an output signal (e.g., audio and/or video signals 112) comprising audio and/or video signals (e.g., audio and/or video signals 108A, audio and/or video signals 108B or audio and/or video signals 108C) provided by the selected audio/video source. Audio and/or video signals 112 are provided to consumer electronic device 102D that is coupled to AV port 110D. Audio and/or video signals 112 may also be provided to any other device capable of playing back audio and/or video signals (e.g., speakers) that may be coupled to AV port 102D and/or other port(s) (not shown) of switching device 104.
Each of AV ports 110A-110D may be configurable to be coupled to either a source device (e.g., consumer electronic device 102A, consumer electronic device 102B, or consumer electronic device 102C) or a sink device (e.g., consumer electronic device 102D). For example, switching device 104 may be configured to automatically determine whether an electronic device coupled to a particular AV port is a source device or a sink device. Based on that determination, switching device 104 may configure that AV port to be a source AV port or a sink AV port. Additional details regarding the auto-configuration of AV ports 110A-110D may be found in U.S. patent application Ser. No. 14/945,079 (Atty. Docket No. H16.00070001), entitled “Auto Detection and Adaptive Configuration of HDMI Ports,” the entirety of which is incorporated by reference herein.
Switching device 104 may also be configured to automatically identify (e.g., determine) the consumer electronic device coupled to each of AV ports 110A-110D. For example, for each consumer electronic device coupled to a particular AV port, switching device 104 may be configured to determine one or more identifiers of the consumer electronic device, such as, but not limited to, a type of the electronic device (e.g., a DVD player, a Blu-ray player, a video game console, a streaming media device, a TV, an HDTV, a projector, etc.), a brand name of the electronic device, a manufacturer of the electronic device, a model number of the electronic device, etc. The identifier(s) may be determined according to various techniques, such as, but not limited to: techniques based on HDMI consumer electronics control (CEC), identification via video data, identification via audio data, identification via IP network, remote control operation by a user, voice input from a user, and explicit device selection by a user. Upon determining the identifier(s), switching device 104 may be configured to map the identified electronic device to the AV port to which that electronic device is connected. This process may be referred to as “device-to-port mapping”. Additional details regarding the identification of electronic device(s) and the mapping of electronic device(s) to AV port(s) may be found in U.S. patent application Ser. No. 14/945,125 (Attorney Docket No. H16.00090001), entitled “Automatic Identification and Mapping of Consumer Electronic Devices to Ports on an HDMI Switch,” the entirety of which is incorporated by reference.
Switching device 104 may be further configured to automatically determine a state signature for each of the consumer electronic device coupled thereto and/or other devices communicatively coupled to the consumer electronic device(s). The state signature is indicative one or more functional states in which the consumer electronic device(s) are in. Such states include a power state of the consumer electronic device(s), a proximity state of the proximity consumer electronic device(s), a communication state of the consumer electronic device(s), and/or an operational state of the consumer electronic device(s). Based on the determined state signature(s), switching device 104 may infer which of consumer electronic device(s) 102A-102D is the user who would like to use (or is using) and cause one or more actions to be performed. Such actions include, but are not limited to, automatically switching to the AV port(s) to which such consumer electronic device(s) are connected, transmitting one or more commands to such consumer electronic device(s) (e.g., power on/off commands, operational commands (e.g., play/pause commands)), transmitting a notification message to such consumer electronic device(s), etc.
Turning now to
In embodiments, switching device 204 may include some or all of audio/video (A/V) ports 210, one or more storages 222, one or more processors 220, a transceiver 212, a first mapping component 214, control logic 218, a switching circuit 224, an identification component 208, a characteristic identification component 216, a signature determination component 226, an action determination component 228, and/or a second mapping component 230. Switching device 204 may be coupled to one or more source devices 202 and/or to one or more sink devices 206 via connections 208 (e.g., HDMI connections) as would be understood by persons of skill in the relevant art(s) having the benefit of this disclosure. Source device(s) 202 are examples of consumer electronic device(s) 102A-102C, and sink device(s) 206 are examples of consumer electronic device 102D.
A/V ports 210 may include one or more HDMI ports as described herein. A/V ports 210 may be dynamically configured as input ports or output ports according to the described embodiments. For instance, one or more of A/V ports 210 may be referred to as universal HDMI ports as these ports may be dynamically configured as inputs or outputs on connection of an HDMI device. In other words, in an embodiment, there is no need to pre-define the function of any port of A/V ports 210. Thus, the same physical port for A/V ports 210 can act as an input or an output depending on which type of HDMI device is connected, and this considerably enhances the convenience of use for switching device 204. The port interface scheme is such that a repeater device or a switch (e.g., switching device 204) is able to detect the type of device connected to the HDMI port and automatically configure the internal circuits to support either a sink or a source. Further details are found in aforementioned U.S. patent application Ser. No. 14/945,079 (Atty. Docket No. H16.00070001), entitled “AUTO DETECTION AND ADAPTIVE CONFIGURATION OF HDMI PORTS.”
Storage(s) 222 may be one or more of any storage device described herein, such as, but not limited to, those described below with respect to
Processor(s) 220 may be one or more of any processing device or processor described herein, such as, but not limited to, those described below with respect to
Transceiver 212 is configured to receive and transmit wired and/or wireless data according to any protocol and/or embodiment described herein, such as HDMI in HDMI switch embodiments. For instance, transceiver 212 is configured to receive and to transmit audio/video signals according to HDMI protocols from HDMI sources and HDMI sinks respectively.
Identification component 208 may be implemented as hardware (e.g., electrical circuits), or hardware that executes one or both of software (e.g., as executed by a processor or processing device) and firmware. Identification component 208 is configured to operate and perform functions according to the embodiments described herein. For example, identification component 208 may be configured to identify the consumer electronic device (e.g., source device(s) 202 or sink device(s) 206) coupled to each port of AV ports 210. For example, for each source device(s) 202 and/or sink device(s) 206, identification component 208 may be configured to determine identifier(s) thereof, such as, but not limited to a type of the device (e.g., a DVD player, a Blu-ray player, a video game console, a streaming media device, a TV, an HDTV, a projector, etc.), a brand name of the device, a manufacturer of the device, a model number of the device, etc. The identifier(s) may be determined according to various techniques, such as, but not limited to: techniques based on HDMI consumer electronics control (CEC), identification via video data, identification via audio data, identification via IP network, remote control operation by a user, voice input from a user, and explicit device selection by a user. Identification component 208 outputs the identifier(s), which is/are received by first mapping component 214.
First mapping component 214 may be implemented as hardware (e.g., electrical circuits), or hardware that executes one or both of software (e.g., as executed by a processor or processing device) and firmware. First mapping component 214 is configured to operate and perform functions according to the embodiments described herein. First mapping component 214 is configured to determine a device-to-port mapping based on the identifier(s) received from identification component 208. For example, first mapping component 214 may generate a data structure (e.g., a table, a map, an array, etc.) that associates the identifier(s) for any given identified device to the AV port to which that electronic device is coupled. In this way, the device-to-port mapping may indicate that a first source device (e.g., a Blu-ray player) is coupled to a first AV port (e.g., AV Port 1), that a second source device (e.g., a set-top box) is coupled to a second AV port (e.g., AV Port 2), and that a third source device (e.g., a TV) is coupled to a third AV port (e.g., AV Port 3).
Additional details regarding the identification of electronic device(s) and the mapping of electronic device(s) to AV port(s) may be found in the aforementioned U.S. patent application Ser. No. 14/945,125 (Attorney Docket No. H16.00090001), entitled “Automatic Identification and Mapping of Consumer Electronic Devices to Ports on an HDMI Switch.”
Control logic 218 receives the mapping generated by first mapping component 214 and optionally receives the identifiers generated by identification component 208. Based at least in part on the identifiers and mappings, control logic 218 is configured to generate a control signal that is received by switching circuit 224 and/or transceiver 212, configured to cause switching circuit 224 to connect the identified source device(s) 202 and/or sink device(s) 206 on port(s) of A/V ports 210 to corresponding receiver portions or transmitter portions of transceiver 212 and/or causing transceiver 212 to output desired content received from source device(s) 202 on a specified output port of A/V ports 210.
Switching circuit 224 may be implemented as hardware (e.g., electrical circuits), or hardware that executes one or both of software (e.g., as executed by a processor or processing device) and firmware. Switching circuit 224 is configured to operate and perform functions according to the embodiments described herein. For example, switching circuit 224 is configured to provide switched connections between A/V ports 210 and transceiver 212. That is, switching circuit 224 may provide a connection between any port of ports 210 and any receiver component or transmitter component of transceiver 212. Switching circuit 224 may comprise one or more switch circuit portions (e.g., comprising one or more switches/switching elements) and may be combined or used in conjunction with other portions of system 200.
Characteristic identification component 216 may be implemented as hardware (e.g., electrical circuits), or hardware that executes one or both of software (e.g., as executed by a processor or processing device) and firmware. Characteristic identification component 216 is configured to operate and perform functions according to the embodiments described herein. For example, characteristic identification component 216 may be configured to determine a plurality of state characteristics associated with the source device(s) 202 and sink device(s) 206 connected to or coupled with switching device 204. The state characteristics may be determined based on audio/video signaling information, the content being played back by sink device(s) 206, network communications associated with source device(s) 202 and/or sink device(s) 206, detected remote control signals, power consumption associated with source device(s) 202 and/or sink device(s) 206, network data usage associated with source device(s) 202 and/or sink device(s) 206, the proximity of consumer electronic devices to switching device 204, status information received from source device(s) 202 and/or sink device(s) 206, and/or other technique. Characteristic identification component 216 may comprise one or more components for determining such state characteristics.
For example, referring to
Signal detector 302 may be implemented as hardware (e.g., electrical circuits), or hardware that executes one or both of software (e.g., as executed by a processor or processing device) and firmware. Signal detector 302 is configured to operate and perform functions according to the embodiments described herein. For example, signal detector 302 may be configured to detect or determine whether a consumer electronic device (e.g., source device(s) 202 and/or sink device(s) 206) is powered on or off. This characteristic is indicative of a power state of the consumer electronic device. For example, when a consumer electronic device is connected to a port (e.g., port 210) of switching device 204, the consumer electronic device may provide a voltage to a particular pin of that port. For example, in an embodiment in which ports 210 are HDMI ports, source device(s) 202 may provide a voltage to the +5V pin of the HDMI port to which it is coupled, and sink device(s) 206 may provide a voltage to the hot-plug detect (HPD) pin of the HDMI port to which it is coupled. Signal detector 302 may monitor these pins to determine whether source device(s) 202 and/or sink device(s) 206 are in a power on state, a power off state, a standby state, etc. These determined characteristics are provided to signature determination component 226 (as shown in
Audio/video detector 304 may be implemented as hardware (e.g., electrical circuits), or hardware that executes one or both of software (e.g., as executed by a processor or processing device) and firmware. Audio/video detector 304 is configured to operate and perform functions according to the embodiments described herein. For example, audio/video detector 304 may be configured to detect whether a device (e.g., source device(s) 202 and/or sink device(s) 206) is playing back content (e.g., video and/or audio), whether it is in a pause mode, whether it is displaying a particular graphical user interface (GUI) screen (e.g., a home screen), etc. This characteristic is indicative of an operational state of such device(s). In embodiments, audio/video detector 304 is configured to analyze audio/video signals that are to be provided to sink device(s) 206 for playback thereby via the A/V port(s) to which sink device(s) 206 are connected. Audio/video detector 304 may determine the power state and/or operational state of sink device(s) 206 based on analyzing the audio/video signals.
Alternatively, the content being played back via sink device(s) 206 may be recorded (e.g., by taking one or more images of the display of sink device(s) 206 and/or recording audio being played back by sink device(s) 206) using an electronic device incorporated in or separate from audio/video detector 304. Any external electronic device such as or including a microphone and/or a camera or a video camera may be used to perform the screen capture or audio recording, such as a smart phone, a remote control, etc., and this external device may relay this recorded information to audio/video detector 304. Alternatively, switching device 204 may directly incorporate the microphone and/or camera. After receiving the recorded audio/video input information, an analysis can be performed by audio/video detector 304 on the recorded data to determine whether sink device(s) 206 are playing a video, or a sound, both, or nothing at all. Through the analysis of the recorded data, audio/video detector 304 may determine the power state and/or operational state of consumer electronic device(s).
The foregoing characteristics determined by audio/video detector 304 are provided to signature determination component 226 (as shown in
User input monitor 306 may be implemented as hardware (e.g., electrical circuits), or hardware that executes one or both of software (e.g., as executed by a processor or processing device) and firmware. User input monitor 306 is configured to operate and perform functions according to the embodiments described herein. For example, user input monitor 306 may be configured to identify a characteristic of the consumer electronic device based on user input. This characteristic may be indicative of an intent of the user regarding the consumer electronic device. For example, user input monitor 306 may monitor for a voice command from a user to determine whether a user is attempting to control source device(s) 202 and/or sink device(s) 206. The voice command may be interpreted by user input monitor 306 to derive the characteristic. For example, if the voice command is “turn TV on,” then user input monitor 306 may infer that the power state of the TV is “on.” User input monitor 306 may receive user commands via one or more of any suitable user interface element described elsewhere herein or otherwise known, including a keypad, a keyboard, a touch screen, a microphone (for voice commands), a camera, etc. The foregoing characteristics determined by user input monitor 306 are provided to signature determination component 226 (as shown in
Network monitor 308 may be implemented as hardware (e.g., electrical circuits), or hardware that executes one or both of software (e.g., as executed by a processor or processing device) and firmware. Network monitor 308 is configured to operate and perform functions according to the embodiments described herein. For example, network monitor 308 may be configured to identify a characteristic of the consumer electronic device based on network communications. This characteristic may be indicative of a communication state of one or more consumer electronic devices. For example, network monitor 308 may monitor at least one network (e.g., a Bluetooth® network, a Wi-Fi network, an Ethernet network, a ZigBee® network, etc.) to determine if two consumer electronic devices are communicating with each other, and to interpret such communication. In embodiments, network monitor 308 may monitor the data usage of source device(s) 202 and/or sink device(s) 206 to determine whether such device(s) are streaming content. In these cases, the power state and/or operational state characteristic of such device(s) may be determined (e.g., a device is on and playing content) in addition to the communication state characteristic. For example, when source device(s) 202 and/or a sink device(s) 206 are consuming a large amount of data over the network, this may indicate that such device(s) are streaming music or video. In another example, if network monitor 308 determines that a mobile device (such as a smart phone) is attempting to communicate with a device configured to stream content (e.g., a media streaming device, such as, but not limited to, Chromecast®, AppleTV®, Amazon FireTV®, etc.), then network monitor 308 may identify the mobile device and the media streaming device as two devices attempting to connect to each other. In another example, if a mobile device is attempting to communicate with a sink device coupled to switching device 204 (e.g., a Sonos® speaker system), then network monitor 308 may identify the mobile device and the sink device as two devices wanting to connect to each other. The foregoing characteristics determined by network monitor 308 are provided to signature determination component 226 (as shown in
Remote signal detector 310 may be implemented as hardware (e.g., electrical circuits), or hardware that executes one or both of software (e.g., as executed by a processor or processing device) and firmware. Remote signal detector 310 is configured to operate and perform functions according to the embodiments described herein. For example, remote signal detector 310 is configured to identify a characteristic of the consumer electronic device based on signaling information transmitted by a remote control device. For example, remote signal detector 310 may sniff (i.e., detect) wireless control signals transmitted by a remote control and that are intended for source device(s) 202 and/or sink device(s) 206. The wireless control signals may be infrared (IR)-based, radio frequency (RF)-based and/or internet protocol (IP)-based control signals. Detection of such signals may indicate whether a particular source device and/or sink device is being controlled by a remote control device. The characteristics that may be inferred based on detection of such control signals may include a power state characteristic an operational mode characteristic, and/or a communication state of the source device and/or sink device for which the control signal was intended. For example, when a user interacts with (e.g., pushes) a button on a remote control associated with an HDTV sink device, remote signal detector 310 may detect the control signal transmitted as a result of the user's interaction with the button and analyze the control signal to determine the operation to be performed by the HDTV that is specified by the control signal. For example, if the user pushes a “Fast Forward” button, then remote signal detector 310 may infer that the HDTV is powered on and its operational state is a fast forward mode. The foregoing characteristics determined by remote signal detector 310 are provided to signature determination component 226 (as shown in
Proximity detector 312 may be implemented as hardware (e.g., electrical circuits), or hardware that executes one or both of software (e.g., as executed by a processor or processing device) and firmware. Proximity detector 312 is configured to operate and perform functions according to the embodiments described herein. For example, proximity detector 312 may be configured to identify a proximity (nearness) of a mobile device relative to switching device 204. This characteristic may indicate a proximity state. Switching device 204 may include an antenna for receiving wireless signal from the mobile device, and other device, such as source device(s) 202 and/or sink device(s) 206. The wireless signals may be in accordance with any wireless protocol, including, but not limited to, Bluetooth® low energy (BLE), near field communication (NFC) or other RF-based protocols. In embodiments, proximity detector 312 may detect and/or monitor wireless signals transmitted from mobile device(s) for information such as power received and/or signal strength to determine the distance between each of mobile device(s) and switching device 304. Proximity detector 312 may continuously monitor the power received and/or signal strength to generate and/or update a distance profile for each of mobile device(s), which each specify the present distance between a particular mobile device and switching device 204. The distance profile for a particular mobile device may be referred to as a proximity state characteristic. The proximity state characteristics determined by proximity detector 312 are provided to signature determination component 226 (as shown in
Power monitor 314 may be implemented as hardware (e.g., electrical circuits), or hardware that executes one or both of software (e.g., as executed by a processor or processing device) and firmware. Power monitor 314 is configured to operate and perform functions according to the embodiments described herein. For example, power monitor 314 may be configured to identify an amount of current provided to and/or the amount of power consumed by source device(s) 202 and/or sink device(s) 206. This power characteristic may indicate a power state of source device(s) 202 and/or sink device(s) 206. In embodiments, for example, power monitor 314 may determine whether source device(s) 202 and/or sink device(s) 206 is in a power-off state, a power-on state, a standby state, etc., based on the amount of current provided to and/or the amount of power consumed by source device(s) 202 and/or sink device(s) 206. In embodiments, power monitor 314 may monitor the power consumption of a particular source device or sink device via a socket device coupled between the particular device and a wall power socket to which the particular device is coupled. The socket device may wirelessly communicate with switching device 204 to inform power monitor 314 of the amount of current provided to and/or the amount of power consumed by the particular device. In embodiments, power monitor 314 may also monitor determine a power state of device coupled to source device(s) 202 and/or sink device(s) 206 (e.g., a USB device connected as a USB dongle or via a cable to a USB port of the source or sink device) to infer the power state of the source or sink device. When certain source and/or sink devices cease consuming power, any USB devices connected to such devices also cease consume powering by virtue of power no longer being provided to the USB port(s) of such devices. Accordingly, the power state of the source or sink device may be inferred based on the power state of the USB device attached to source device(s) 202 and/or sink device(s) 206. In certain embodiments, the power monitor may, alternatively or in addition, monitor the power consumption of a remote control device associated with a particular source device or sink device to determine whether such a device is being used. When a button is pressed on a remote control, the remote control may consume much more power than when no button is being pressed. Therefore, by monitoring the power consumed by the remote control device, the power state of the remote control and its associated source or sink device may be determined.
The power state characteristics determined by power monitor 314 are provided to signature determination component 226 (as shown in
Communication manager 316 may be implemented as hardware (e.g., electrical circuits), or hardware that executes one or both of software (e.g., as executed by a processor or processing device) and firmware. Communication manager 316 is configured to operate and perform functions according to the embodiments described herein. For example, communication manager 316 may be configured to query source device(s) 202 and/or sink device(s) 206 for a status, to receive a response from source device(s) 202 and/or sink device(s) 206 that includes the status, and to identify a characteristic of source device(s) 202 and/or sink device(s) 206 based on the received response. For example, communication manager 316 may directly communicate with source device(s) 202 and/or sink device(s) 206 to query their statuses (e.g., their power states, operational states, communication states, etc.) rather than having to infer/determine their statuses/states with the techniques discussed above. Communication manager 316 may communicate with a source device(s) 202 and/or sink device(s) 206 through various methods, such as through consumer electronics control (CEC) over HDMI, IP-based communication protocols, and/or RF-based communication protocols. The characteristics determined by communication manager 316 are provided to signature determination component 226 (as shown in
Referring again to
In an embodiment, signature determination component 226 may receive multiple characteristics associated with the same state from more than one component (e.g., signal detector 302, audio video detector 304, user input monitor 306, network monitor 308, remote signal detector 310, proximity detector 312, power monitor 314, and/or communication manager 316) of characteristic identification component 216. Signature determination component 226 may optionally compare those multiple characteristics and exclude one or more received characteristics that are not in concurrence with the majority of received characteristics, may give each received characteristic a corresponding weight (e.g., according to reliability, accuracy, etc.), and/or may combine the characteristics for that state to generate that particular state of the device based on those received characteristics. For example, signature determination component 226 may weight characteristics that are explicitly determined more than characteristics that are inferred. For instance, characteristics determined via communication manager 316 may be weighed more than, for example, characteristics determined via remote signal detector 310.
Action determination component 228 may be implemented as hardware (e.g., electrical circuits), or hardware that executes one or both of software (e.g., as executed by a processor or processing device) and firmware. Action determination component 228 is configured to operate and perform functions according to the embodiments described herein. For example, action determination component 228 may be configured to, based on the determined state signature, perform at least one action with respect to a particular consumer electronic device or its associated device(s). For example, and without limitation, action determination component 228 may issue a toggle command to source device(s) 202 and/or sink device(s) 206 to toggle power (i.e., to turn it off or on), issue an operational command to source device(s) 202 and/or sink device(s) 206, such as “play” or “pause”, transmit a notification message to source device(s) 202 and/or sink device(s) 206 and/or a mobile device communicatively coupled thereto or switching device 204, and/or automatically cause switching device 204 to switch to port(s) of ports 210 to which a particular source device of source device(s) 202 and/or a particular sink device of sink device(s) 206 are connected. Action determination component 228 may determine the action(s) to be performed using second mapping component 230.
Second mapping component 230 may be implemented as hardware (e.g., electrical circuits), or hardware that executes one or both of software (e.g., as executed by a processor or processing device) and firmware. Second mapping component 230 is configured to operate and perform functions according to the embodiments described herein. Second mapping component 230 is configured to maintain a state signature-to-action mapping that specifies action(s) that are to be performed by switching device 204 based on the state signature for a particular device. Second mapping component 230 may maintain a state signature-to-action mapping for each of source device(s) 202 and/or sink device(s) 206. Each state signature-to-action mapping may comprise a data structure (e.g., a table) that associates the action(s) to take for any given state signature. Action determination component 228 may reference second mapping component 230 to determine the action(s) to be performed in response to detecting a triggering event.
One example of a triggering event may be determining that a user has performed an action intended to cause any or all of source device(s) 202 and/or sink device(s) 206 to transition to a desired power state. One such action may be providing a command (e.g., via interacting with a particular interface element (e.g., a button or selectable icon) (or the like) of a remote control device or via a voice command) that is configured to power on or off particular source device(s) 202 and/or sink device(s) 206. For instance, a user may interface with a “Watch DVD” interface element on a remote control device or speak the words “Watch DVD” in a microphone included in the remote control device and/or switching device 204. Remote signal detector 310 and/or user input monitor 306 may detect the command and cause action determination component 228 to determine the state signature of all the devices that should be in the power on state responsive to detecting the command (e.g., a DVD player and a TV communicatively coupled to switching device 204 via ports 210). For example, action determination component 228 may retrieve the state signature for each of the DVD player and the TV from storage(s) 222. Once retrieved, action determination component 228 may provide the retrieved state signatures to second mapping component 230, which provides the action(s) to be performed based on the state signature and the detected command. For instance, second mapping component 230 may associate various commands to the state signature-to-action mapping to determine which action should be taken based on the command received and the state signature of a particular device. For example, suppose the command received is a “Watch DVD” command, and the state signature for the DVD player and the TV indicate that the DVD player and the TV are powered-off, the state signature-to-action mapping for each of the DVD player and/or TV may specify that switching device 204 is to send a toggle command to each of DVD player and/or TV that causes the DVD player and TV to power themselves on. If the state signature for the DVD player indicates that the DVD player is turned on and the state signature for the TV indicates that the TV is powered-off, the state signature-to-action mapping for the DVD player may specify that no action is to be taken with respect to the DVD player (since the toggle command would result in the DVD player turning off) and the state signature-to-action mapping for the TV may specify that switching device 204 is to send a toggle command to the TV that causes the TV to power itself on. If the state signature for the DVD player indicates that the DVD player is turned off and the state signature for the TV indicates that the TV is powered on, the state signature-to-action mapping for the DVD player may specify that switching device 204 is to send a toggle command to the DVD player that causes the DVD to power itself on, and the state signature-to-action mapping for the TV player may specify that no action is to be taken with respect to the TV player (since the toggle command would result in the TV turning off). If the state signature for the DVD player indicates that the DVD player is powered on and the state signature for the TV indicates that the TV is powered on, the state signature-to-action mapping for each of the DVD player and the TV may specify that that no toggle commands are to be provided to the TV and the DVD player (since the toggle commands would result in the both the DVD player and the TV turning off). In each of the examples, the state signature-to-action mapping may further specify that switching device 204 is to automatically switch to the port of ports 210 to which the DVD player is coupled. Switching device 204 may utilizes the device-to-port mapping of first mapping component 214 to determine the port to which the DVD player is coupled.
Another action may be providing a command (e.g., via interacting with a particular interface element (e.g., a button or selectable icon) (or the like) of a remote control device or via a voice command) that is configured to change the operational mode of particular source device(s) 202 and/or sink device(s) 206. For instance, a user may interface with a “Play/Pause” interface element on a remote control device. Interaction of the “Play/Pause” interface may toggle between pausing content being played back by a corresponding device and resuming playback of that content. Remote signal detector 310 and/or user input monitor 306 may detect the command and cause action determination component 228 to determine the state signature of the device playing the content (e.g., a satellite TV or cable set-top box) responsive to detecting the command. For example, action determination component 228 may retrieve the state signature for the set-top box from storage(s) 222. Once retrieved, action determination component 228 may provide the retrieved state signature to second mapping component 230, which provides the action(s) to be performed based on the state signature and the detected command. Using the example above, suppose the user interacts with a “Play/Pause” interface element, and the state signature for the set-top box indicates that the set-top box is currently playing back content (i.e., it is not in a paused state), the state signature-to-action mapping for the set-top box may specify that switching device 204 is to send a pause command to the set-top box that causes the set-top box to pause the content. If the state signature for the set-top box indicates that the set-top box is in a pause state (i.e., the content has been paused), the state signature-to-action mapping may specify that switching device 204 is to send a play command to the set-top box that causes the set-top box to resume playback of the content.
Another example of a triggering event may be inferring that a user desires to use one or more of source device(s) 202 and/or sink device(s) 206. For example, upon signature determination component 226 determining that a media streaming device coupled to a port of switching device 204 is in streaming operational mode (i.e., the media streaming device is streaming content), action determination component 228 may provide the state signature specifying the streaming operational mode to second mapping component 230, which provides the action(s) to be performed. For example, the state signature-to-action mapping for the set-top box may specify that switching device 204 is to automatically switch to the port of ports 210 to which the streaming media device is coupled. Switching device 202 may utilize the device-to-port mapping of first mapping component 214 to determine the port to which the streaming media device is coupled.
In another example, signature determination component 226 may determine that a sink device (e.g., one or more speakers) coupled to a port of A/V ports 210 of switching device 204 is in a communication state, where a mobile device is communicating with the sink device, and infer that a user is attempting to stream music to the speaker(s) using the mobile device. Action determination component 228 may provide the state signature specifying the communication state to second mapping component 230, which provides the action(s) to be performed. For example, the state signature-to-action mapping for the speaker(s) may specify that switching device 204 is to automatically switch to the port of ports 210 to which the speaker(s) are coupled. Switching device 202 may utilize the device-to-port mapping of first mapping component 214 to determine the port to which the speaker(s) are coupled.
In yet another example, signature determination component 226 may determine that a mobile device has a particular proximity state (e.g., the mobile device is within a certain proximity within switching device 204, and infer that a user is attempting to perform an action with respect to mobile device and switching device 204 (such as, but no limited to attempting to make a mobile payment using the mobile device to buy or rent a movie). Action determination component 228 may provide the state signature specifying the proximity state to second mapping component 230, which provides the action(s) to be performed. For example, the state signature-to-action mapping for the mobile device may specify that switching device 204 is to automatically transmit a notification to mobile device that specifies whether the user would like to initiate a mobile payment.
It is noted that while the foregoing examples describe that the second mapping component 230 associates action(s) with a single state specified in the state signature the second mapping component 230 may associate action(s) to be performed based on more than one state specified in the state signature.
Accordingly, in embodiments, switching device 204 may determine a state signature for a plurality of source device(s) 202 and/or a sink device(s) 206 and cause an action to be performed based on the determined state signature(s) in many ways. For instance,
Flowchart 400 begins with step 402. At step 402, state characteristics of a consumer electronic device that is communicatively coupled to the HDMI-based switching device are determined. For example, with reference to
At step 404, a state signature of the consumer electronic device is determined based on the determined state characteristics. For example, with reference to
In accordance with one or more embodiments, the state signature of the consumer electronic device is based on at least one of a power state of the consumer electronic device, a proximity state of the consumer electronic device to another device, a communication state of the consumer electronic device, or an operational state of the consumer electronic device.
At step 406, an action to be performed by the consumer electronic device is identified from a plurality of actions based on the determined state signature and a data structure that comprises a state signature-to-action mapping. For example, with reference to
At step 408, the action is caused to be performed with respect to at least one of the HDMI-based switching device or the consumer electronic device. For example, with reference to
In accordance with one or more embodiments, the action comprises at least one of transmitting a toggle command to the consumer electronic device to toggle a power state of the consumer electronic device, transmitting an operational command to the consumer electronic device that causes the consumer electronic to perform an operation specified by the operational command, automatically switching to an HDMI port of the plurality of HDMI ports to which the consumer electronic device is coupled, or transmitting a notification message to the consumer electronic device.
In accordance with one or more embodiments, signal detector 302 of
Flowchart 500 begins with step 502. At step 502, a voltage on a pin of an HDMI port of the plurality of HDMI ports to which the consumer electronic device is coupled is detected. For example, with reference to
At step 504, a power state of the consumer electronic device is identified based on the detected voltage. For example, with reference to
In accordance with one or more embodiments, audio/video detector 304 of
Flowchart 700 begins with step 702. At step 702, a determination is made whether the consumer electronic device is playing back at least one of video content or audio content. For example, with reference to
In accordance with another embodiment, visual/video component 818 comprises a camera 838, which is configured to capture one or more images of the video content being played back by consumer electronic device 822, and aural/audio component 820 comprises a microphone 840, which is configured to capture (e.g., record) audio content being played back consumer electronic device 822. Upon capturing the video content and/or audio content, visual/video component 818 and/or aural/audio component 820 may determine that consumer electronic device 812 is providing audio/video signals to consumer electronic device 822 and/or consumer electronic device 822 is playing back video and/or audio content.
In accordance with yet another embodiment, the video content and/or audio content being played back by consumer electronic device 822 are captured by a camera 814 and/or microphone 816 included in a mobile device 814. For example, the user may hold mobile device 814 such that camera 814 and/or microphone 816 is facing a display and/or speakers included in consumer electronic device 822. The captured video and/or audio content may be provided to switching device 802 via a wired or wireless connection (e.g. Bluetooth™ ZigBee®, NFC, IEEE 802.11-based protocols, etc.). For example, antenna 808 may wirelessly receive the captured video and/or audio content in accordance with the aforementioned wireless protocols. Upon receiving the video content and/or audio content, visual/video component 818 and/or aural/audio component 820 may determine that consumer electronic device 812 is providing audio/video signals to consumer electronic device 822 and/or consumer electronic device 822 is playing back video and/or audio content. Examples of mobile device 806 include, but are not limited to, a telephone (e.g., a smart phone and/or a mobile phone), a computer (e.g., a tablet, a laptop, netbook, and/or the like), a remote control device that includes camera 814 and microphone 816, etc.
At step 804, at least one of an operational state or a power state of the consumer electronic device is identified based on the playing back determination. For example, with reference to
Visual/video component 818 may be further configured to determine whether consumer electronic device 812 is in a particular operational state (e.g., whether consumer electronic device has paused content, is playing back content, is rewinding content, is fast-forwarding content, is displaying a particular GUI screen, such as a home screen, etc.) by performing an analysis on the detected and/or captured video content. For instance, as shown in
Such components may be used to recognize certain logos, features and/or text that are being displayed via consumer electronic device 822. Some known techniques for logo/feature detection are a scale-invariant feature transform (SIFT) process, a speeded-up robust features (SURF) process features from accelerated segment test (FAST) process, and an oriented FAST rotated binary robust independent elementary features (BRIEF) (ORB) process.
SIFT and SURF are known proprietary techniques, and ORB is an open source technique and a suitable substitute for SIFT and SURF. ORB is a combination of FAST and BRIEF. FAST is used for feature detection, and BRIEF is used for feature matching. When using ORB, keypoints and descriptors are extracted from the logo that is to be searched. These descriptors are matched with each frame of the video and a FLANN (Fast Library for Approximate Nearest Neighbors) based matcher is used to find the best matches. SIFT component 830 is configured to perform a SIFT process, SURF component 832 is configured to perform a SURF process, FAST component 834 is configured to perform a FAST process, and ORB component 836 is configured to perform an ORB process. The logos/features detected may be indicative of a particular operational state. For example, if a double right arrow feature is detected, visual/video component 818 may determine that consumer electronic device 812 is fast-forwarding content. If a double left arrow is detected, visual/video component 818 determine that consumer electronic device 812 is rewinding content, etc.
In addition to capturing logos and features, visual/video component 818 may further be configured to detect text or blocks of text. OCR component 828 may be configured to perform an OCR process on the captured video content to determine whether text or blocks of text are being displayed. Such text may be indicative of a particular operational state.
Aural/audio component 820 may also be further configured to determine whether consumer electronic device 812 is in a particular operational state by performing an analysis on the detected and/or captured audio content. For instance, aural/audio component 820 may perform compare detected sounds with a database of sounds that each are indicative of a particular operational state. For example, a first sound may indicate that consumer electronic device 812 is causing a home screen to be rendered (e.g., on consumer electronic device 822), while a second sound may indicate that consumer electronic device 812 is fast-forwarding. The foregoing may be accomplished using Mel Frequency Cepstral Coefficients (MFCC), timbre recognition, and/or spectral flatness measure-based techniques.
It is noted that techniques described above for logo/feature/text/sound recognition are purely exemplary and that other techniques may be used. Additional details regarding these techniques may be found in aforementioned U.S. patent application Ser. No. 14/945,125 (Attorney Docket No. H16.00090001), entitled “Automatic Identification and Mapping of Consumer Electronic Devices to Ports on an HDMI Switch.”
In accordance with one or more embodiments, user input monitor 306 of
Flowchart 900 begins with step 902. At step 902, a voice command intended for the consumer electronic device is detected. For example, with reference to
At step 904, at least one of an operational state or a power state of the consumer electronic device is identified based on the detected voice command. For example, with reference, user input monitor 1006 may analyze the voice command and determine (e.g., infer) at least one of an operational state or a power state of consumer electronic device 1012. For example, in an embodiment where consumer electronic device 1012 is a TV, if the voice command is “Turn off TV”, user input monitor 1006 may infer that consumer electronic device 1012 will be in a power-off state and specify the power state characteristic to indicate that the TV is in a power off state. Similarly, if the voice command is “Turn on TV”, user input monitor 1006 may infer that consumer electronic device 1012 will be in a power-on state and specify the power state characteristic to indicate that the TV is in a power-on state. In an embodiment in which consumer electronic device 1012 is a media streaming device (e.g., a Chromecast), if the voice command is “Play Breaking Bad using Chromecast”, user input monitor 1006 may infer that consumer electronic device 1012 will be streaming content and specify the operational characteristic to indicate that the Chromecast is in a streaming state.
In accordance with one or more embodiments, network monitor 308 of
Flowchart 1100 begins with step 1102. At step 1102, a network to which the HDMI-based switching device and the consumer electronic device are communicatively coupled is monitored for network data received by the consumer electronic device. For example, with reference to
At step 1104, at least one of an operational state, a power state, or a communication state of the consumer electronic device is identified based on the monitoring of step 1102. For example, with reference to
Network monitor 1208 may also monitor the amount of data being received by consumer electronic device 1212 and determine whether the operational state of consumer electronic device 1212 is a streaming operational state. For example, network monitor 1208 may compare the amount of data being received to a threshold and determine that the consumer electronic device 1212 is streaming video and/or audio content if the amount of data exceeds the threshold.
Network monitor 1208 may also monitor network data between other devices (e.g., other consumer electronic devices and/or mobile devices) to determine whether such devices are in communication and infer a particular communicative state between such devices. For example, network monitor 1208 may determine that mobile device 1206 is attempting to communicate with a device configured to stream content (e.g., a media streaming device, such as, but not limited to, Chromecast®, AppleTV®, Amazon FireTV®). Consequently, network monitor 308 may determine that mobile phone 1206 and the media streaming device are two devices attempting to connect to each other to establish an audio/video streaming session. In another example, network monitor 1207 may determine that mobile phone 1206 and a sink device coupled to switching device 1204 (e.g., a Sonos® speaker system), are two devices attempting to connect to each other establish an audio streaming session.
In accordance with one or more embodiments, remote signal detector 310 of
Flowchart 1300 begins with step 1302. At step 1302, a command sent to the consumer electronic device from a remote control device is detected. For example, with reference to
At step 1304, at least one of an operational state or a power state of the consumer electronic device is identified based on the detected command. For example, with reference to
It is noted that control device 1402 may be operable to control any number of consumer electronic devices (e.g., consumer electronic device 1412) and/or switching device 1404. Control device 1402 may include a display screen and/or one or more physical interface elements (e.g., buttons, sliders, jog shuttles, etc.). In accordance with an embodiment, the display screen (or a portion thereof) may be a capacitive touch display screen. The display screen may be configured to display one or more virtual interface elements (e.g., icons, buttons, search boxes, etc.). The display screen may be configured to enable a user to interact, view, search, and/or select content for viewing via a consumer electronic device and/or switching device 1404. Examples of control device 1402 include a mobile device, such as a telephone (e.g., a smart phone and/or mobile phone), a personal data assistance (PDA), a tablet, a laptop, a remote control device, etc.
It is further noted that while the embodiments described above disclose that control signal(s) 1414 may be transmitted via an RF or IR protocol, in certain embodiments, control signal(s) 1414 may be transmitted via other wireless protocols (E.g., Bluetooth, ZigBee or other RF-based or IP-based protocols) or a wired connection (e.g., via a Universal Serial Bus (USB) cable, a coaxial cable, etc.).
In accordance with one or more embodiments, proximity detector 312 of
Flowchart 1500 begins with step 1502. At step 1502, a radio frequency signal from a consumer electronic device is detected. For example, antenna 1614 may detect a radio frequency signal from consumer electronic device 1606 and/or consumer electronic device 1608. Consumer electronic device 1606 and/or consumer electronic device 1608 may be mobile devices configured to transmit and/or receive RF signals in accordance with any wireless protocol, including, but not limited to, Bluetooth® low energy (BLE), near field communication (NFC) or other RF-based protocols, and antenna 1614 may be configured to transmit and/or receive RF signals in accordance with any of the aforementioned wireless protocols. Examples of consumer electronic devices 1606 and 1608 include, but are not limited to, a mobile device, such as a telephone (e.g., a smart phone and/or mobile phone), a personal data assistance (PDA), a tablet, a laptop, etc.
At step 1504, at least one of a power state, an operational state or a proximity state of the consumer electronic device is identified based on the detected radio frequency signal. For example, with reference to
In accordance with one or more embodiments, power detector 314 of
Flowchart 1700 begins with step 1702. At step 1702, an amount of current associated with or an amount of power consumed by the consumer electronic device is determined. For example, with reference to
Socket device 1802 is configured to be coupled to (e.g., plugged into) power socket 1806. For example, socket device 1802 may comprise prong(s) that are configured to be inserted into receptacles of power socket 1806. Socket device 1802 is further configured to be coupled to a power cord that is coupled to consumer electronic device 1812. For example, a power plug of a power cord that is coupled to consumer electronic device 1812 may be configured to be plugged into socket device 1802. In this way, power may be provided from power socket 1806 to consumer electronic device 1812 via socket device 1802 and the power cord. That is, power from power socket 1806 is passed through socket device 1802 and the power cord and provided to consumer electronic device 1812.
Socket device 1802 is further configured to determine (e.g., measure) an amount of current provided to consumer electronic device 1812. For instance, socket device 1802 may comprise a sensing component (not shown) that is coupled to either a live wire configured to provide power to consumer electronic device 1812 when coupled to a corresponding prong of an electrical plug of a power cord that is coupled to consumer electronic device 1812 and a corresponding receptacle of power socket 1806 or a neutral wire configured to return power back to power socket 1806 when coupled to a corresponding prong of the electrical plug of the power cord and a corresponding receptacle of power socket 1806.
The sensing component may be configured to measure an amount of current being provided to consumer electronic device 306 via one of the live wire or neutral wire. In accordance with an embodiment, the amount of current is measured using a resistive element having a known resistance. For example, a shunt resistor may be coupled to one of the live wire or neutral wire. The sensing component may be configured to determine the voltage across the shunt resistor. In accordance with such an embodiment, the sensing component determines the amount of current being provided to consumer electronic device 1812 based on the determined voltage across the shunt resistor and the known resistance of the shunt resistor. In accordance with another embodiment, the sensing component comprises a current transformer. The current transformer may comprise a primary winding that is coupled to the live wire or the neutral wire and measures the amount of current provided thereby. The current transformer may also comprise a secondary winding that produces a current which is proportional to the current being measured by the primary winding. The current produced by the secondary winding is indicative of the amount of current being provided to consumer electronic device 1812. In accordance with yet another embodiment, the sensing component comprises a Hall effect current sensor. The Hall effect current sensor may be coupled to one of the live wire or the neutral wire and may be configured to measure a magnetic field generated the live wire or the neutral wire as current flows through the wire. The Hall effect current sensor provides an analog voltage output that is proportional to the strength of the magnetic field and current flowing through the wire. In accordance with such an embodiment, the sensing component determines a measure of the current being provided to consumer electronic device 1812 using the measured voltage.
Socket device 1802 may transmit an indication of the measured amount of current to power detector 1814. In accordance with an embodiment, socket device 1802 is configured to provide the indication via a wired connection (e.g., via a Universal Serial Bus (USB) cable, a coaxial cable, etc.). In accordance with another embodiment, socket device 1802 is configured to provide the indication to antenna 1820 via a wireless connection (e.g., via IR communication, RF communication, near field communication (NFC), or other RF-based communication technologies such as any of the well-known IEEE 802.11 protocols, etc.).
Power detector 1814 is configured to receive the indication from socket device 1802 and determine a power state of consumer electronic device 1812 based on the indication. It is understood that the current consumed by consumer electronic device 1812 varies based on the power state of consumer electronic device 1812. For example, when consumer electronic device 1812 is in a power-off state, the current provided to and/or consumed by consumer electronic device 1812 corresponds to a first amperage. When the consumer electronic device 1812 is in a standby state, the current provided to and/or consumed by consumer electronic device 1812 corresponds to a second amperage that is a greater than the first amperage. When the consumer electronic device 1812 is in a power-on state, the current provided to and/or consumed by the consumer electronic device 1812 corresponds to a third amperage that is a greater than the first amperage and the second amperage.
Power detector 1814 is configured to determine the power state of consumer electronic device 1812 by comparing the measured current represented by the received indication to one or more values or thresholds that each correspond to a particular power state. For example, power detector 1814 may be configured to determine whether the measured current is approximately equal to (or within a predefined range of) any of the first amperage, the second amperage and the third amperage to determine the power state of consumer electronic device 1812. As another example, power detector 1814 may be configured to determine whether the measured current is less than the second amperage (indicating the power-off state), greater than or equal to the second amperage and less than the third amperage (indicating the standby state), or greater than or equal to the third amperage (indicating the power-on state). Still other techniques may be used to determine the power state of consumer electronic device 1812 based on the first amperage, the second amperage and the third amperage.
The amount of power consumed by consumer electronic device may be determined via socket device 1816. Socket device 1816 is configured to be plugged into a port or connector of consumer electronic device 1812, such as a Universal Serial Bus (USB) port 1822. Accordingly, socket device 1816 may be a USB device (e.g., a dongle).
Consumer electronic device 1812 may be configured to provide an amount of power to socket device 1816 based on the power state of consumer electronic device 1812.
Socket device 1816 may be configured to measure the amount of power received from consumer electronic device 1812. In accordance with an embodiment, upon measuring the amount of power, socket device 1816 may be configured to determine the power state of consumer electronic device 1812 based on the measured amount of power and transmit an indication of the determined power state to power detector 1814 via antenna 1820. The amount of power provided to socket device 1816 may vary depending on the type of port or connector to which socket device 1004 is coupled. For example, in accordance with a USB protocol, the amount of power provided to socket device 1816 when consumer electronic device 1812 is in a power-on state corresponds to an output voltage of 5 volts. When consumer electronic device 1812 is in a power-off state or a standby state, the amount of power provided to the socket device 1816 corresponds to an output voltage of zero. Accordingly, socket device 1816 may determine that consumer electronic device 1812 is in a power-on state by comparing the output voltage to a threshold. If the output voltage provided to socket device 1816 reaches the threshold (e.g., approximately five volts), socket device 1816 may determine that consumer electronic device 1812 is in a power-on state. If the output voltage is less than the threshold (e.g., approximately zero volts), socket device 1816 may determine that consumer electronic device 1812 is in a standby state or a power-off state.
Returning to
Additional details regarding determining an amount of current or power provided to a consumer electronic device may be found in U.S. patent application Ser. No. 14/945,201 (Attorney Docket No. H16.00080001), filed on Nov. 18, 2015, and entitled “Automatic Detection of a Power Status of an Electronic Device and Control Schemes based thereon,” the entirety of which is incorporated by reference.
In accordance with one or more embodiments, power detector 1814 is further configured to determine an operational state of consumer electronic device 1812. For example, power detector 1814 may be configured to receive power-related information from a control device configured to control consumer electronic device 1812 (e.g., control device 1818). For instance, control device 1818 may comprise one or more interface element(s) 1824 and a smart battery 1826. Each of interface element(s) 1824 may be configured to perform many functions when activated. Such functions may include, but are not limited to, selecting a consumer electronic device that an end user would like to control, enabling a user to enter a channel that the user would like to watch, enabling a user to control the volume of a consumer electronic device, enabling a user to activate and/or control a menu associated with a consumer electronic device, etc. Interface element(s) 1824 may be physical interface elements (e.g., buttons, sliders, jog shuttles, etc.) or virtual interface elements (e.g., icons, buttons, etc.) displayed via a capacitive touch display screen. Each of interface element(s) 1824, when interacted with by a user, causes a certain amount of power to be consumed from smart battery 1826. Each interface element(s) 1824 may cause a different amount of power to be consumed upon interaction thereof. This amount of power consumed is greater than the amount of power consumed when control device 1818 is in an idle state, that is, when control device 1818 is not being used by the user. Smart battery 1826 may include a sensing device 1828 that is configured to detect a variation in current flow of smart battery 1826. The variation in current flow may be used to determine power consumption at control device 1818 or may be processed and/or sent as information to power detector 1814 via antenna 1820 for further analysis. Smart battery 1826 may be inserted in control device 1818. Furthermore, smart battery 1826 may be paired with control device 1818 such that power detector 1814 may identify control device 1818 by a unique identifier (ID) associated with smart battery 1826.
Power detector 1814 is configured to identify a control device that has been interacted with based on the information received from control device 1818. Additionally, power detector 1814 may further identify interface element(s) 1824 that have been interacted with based on the received information. In particular, power detector 1814 may determine (e.g., infer) the operational state of consumer electronic device 1812 based on the information received from control device 1818. Control device 1818 may be an example of control device 1402, as shown in
Additional details regarding determining the power consumption of a control device via a smart battery may be found in U.S. patent application Ser. No. 15/476,776 (Attorney Docket No. H16.00260001), filed on Mar. 31, 2017, and entitled “Remote Control Device Usage Detection based on Power Consumption,” the entirety of which is incorporated by reference.
In accordance with one or more embodiments, communication manager 316 of
Flowchart 1900 begins with step 1902. At step 1902, a query is sent to the consumer electronic device for a status. For instance, with reference to
At step 1904, a response is received from the consumer electronic device that includes the status. For instance, with reference to
At step 1906, at least one of a power state or an operational state of the consumer electronic device is identified based on the received response. For instance, with reference to
One or more embodiments described herein may perform their functions according to the flowcharts described herein. Additional structural and operational embodiments will be apparent to persons skilled in the relevant art(s) based on the discussions regarding the flowcharts and embodiments herein. In some example embodiments, one or more of the steps of the described flowcharts may not be performed. Moreover, steps in addition to or in lieu of the steps of the described flowcharts may be performed (some of which were described above). Further, in some example embodiments, one or more of the steps of the described flowcharts may be performed out of the order shown or described, in an alternate sequence, and/or partially (or completely) concurrently with other steps.
The automatic state characteristics, state signatures and action determinations for consumer electronic devices coupled to HDMI switch embodiments and/or any further systems, sub-systems, devices and/or components disclosed herein may be implemented in hardware (e.g., hardware logic/electrical circuitry), or any combination of hardware with software (computer program code configured to be executed in one or more processors or processing devices) and/or firmware.
The embodiments described herein, including systems, methods/processes, devices, and/or apparatuses, may be implemented using well known processing devices, telephones (smart phones and/or mobile phones), tablet computers, servers, and/or, computers, such as a computer 2100 shown in
Computer 2100 can be any commercially available and well known communication device, processing device, and/or computer capable of performing the functions described herein, such as devices/computers available from International Business Machines®, Apple®, Sun®, HP®, Dell®, Cray®, Samsung®, Nokia®, etc. Computer 2100 may be any type of computer, including a desktop computer, a server, etc.
Computer 2100 includes one or more processors (also called central processing units, or CPUs), such as a processor 2106. Processor 2106 is connected to a communication infrastructure 2102, such as a communication bus. In some embodiments, processor 2106 can simultaneously operate multiple computing threads.
Computer 2100 also includes a primary or main memory 2108, such as random access memory (RAM). Main memory 2108 has stored therein control logic 2124 (computer software), and data.
Computer 2100 also includes one or more secondary storage devices 2110. Secondary storage devices 2110 include, for example, a hard disk drive 2112 and/or a removable storage device or drive 2114, as well as other types of storage devices, such as memory cards and memory sticks. For instance, computer 2100 may include an industry standard interface, such a universal serial bus (USB) interface for interfacing with devices such as a memory stick. Removable storage drive 2114 represents a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, tape backup, etc.
Removable storage drive 2114 interacts with a removable storage unit 2116. Removable storage unit 2116 includes a computer useable or readable storage medium 2118 having stored therein computer software 2126 (control logic) and/or data. Removable storage unit 2116 represents a floppy disk, magnetic tape, compact disk, DVD, optical storage disk, or any other computer data storage device. Removable storage drive 2114 reads from and/or writes to removable storage unit 2116 in a well-known manner.
Computer 2100 also includes input/output/display devices 2104, such as touchscreens, LED and LCD displays, monitors, keyboards, pointing devices, etc.
Computer 2100 further includes a communication or network interface 2118. Communication interface 2120 enables computer 2100 to communicate with remote devices. For example, communication interface 2120 allows computer 2100 to communicate over communication networks or mediums 2122 (representing a form of a computer useable or readable medium), such as LANs, WANs, the Internet, etc. Network interface 2120 may interface with remote sites or networks via wired or wireless connections.
Control logic 2128 may be transmitted to and from computer 2100 via the communication medium 2122.
Any apparatus or manufacture comprising a computer useable or readable medium having control logic (software) stored therein is referred to herein as a computer program product or program storage device. This includes, but is not limited to, computer 2100, main memory 2108, secondary storage devices 2110, and removable storage unit 2116. Such computer program products, having control logic stored therein that, when executed by one or more data processing devices, cause such data processing devices to operate as described herein, represent embodiments of the invention.
Techniques, including methods, and embodiments described herein may be implemented by hardware (digital and/or analog) or a combination of hardware with one or both of software and/or firmware. Techniques described herein may be implemented by one or more components. Embodiments may comprise computer program products comprising logic (e.g., in the form of program code or software as well as firmware) stored on any computer useable medium, which may be integrated in or separate from other components. Such program code, when executed by one or more processor circuits, causes a device to operate as described herein. Devices in which embodiments may be implemented may include storage, such as storage drives, memory devices, and further types of physical hardware computer-readable storage media. Examples of such computer-readable storage media include, a hard disk, a removable magnetic disk, a removable optical disk, flash memory cards, digital video disks, random access memories (RAMs), read only memories (ROM), and other types of physical hardware storage media. In greater detail, examples of such computer-readable storage media include, but are not limited to, a hard disk associated with a hard disk drive, a removable magnetic disk, a removable optical disk (e.g., CDROMs, DVDs, etc.), zip disks, tapes, magnetic storage devices, MEMS (micro-electromechanical systems) storage, nanotechnology-based storage devices, flash memory cards, digital video discs, RAM devices, ROM devices, and further types of physical hardware storage media. Such computer-readable storage media may, for example, store computer program logic, e.g., program modules, comprising computer executable instructions that, when executed by one or more processor circuits, provide and/or maintain one or more aspects of functionality described herein with reference to the figures, as well as any and all components, capabilities, and functions therein and/or further embodiments described herein.
Such computer-readable storage media are distinguished from and non-overlapping with communication media and transitory signals (do not include communication media and transitory signals). Communication media embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wireless media such as acoustic, RF, infrared and other wireless media, as well as wired media and signals transmitted over wired media. Embodiments are also directed to such communication media.
The techniques and embodiments described herein may be implemented as, or in, various types of devices. For instance, embodiments may be included, without limitation, in processing devices (e.g., illustrated in
While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the embodiments. Thus, the breadth and scope of the embodiments should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
201741004798 | Feb 2017 | IN | national |
The present application is a continuation application of U.S. application Ser. No. 15/892,215, filed Feb. 8, 2018, entitled DETERMINING STATE SIGNATURES FOR CONSUMER ELECTRONIC DEVICES COUPLED TO AN AUDIO/VIDEO SWITCH, now allowed, which claims priority to Indian Provisional Patent Application No. 201741004798, filed Feb. 10, 2017, the entireties of which are incorporated by reference herein. This application is also related to the following U.S. Patent Applications, which are incorporated by reference herein: U.S. patent application Ser. No. 14/945,079 (Attorney Docket No. H16.00070001), filed on Nov. 18, 2015, and entitled “Auto Detection and Adaptive Configuration of HDMI Ports,” which claims priority to U.S. Provisional Application No. 62/081,401, filed Nov. 18, 2014, the entirety of which is incorporated by reference; U.S. patent application Ser. No. 14/945,201 (Attorney Docket No. H16.00080001), filed on Nov. 18, 2015, herewith and entitled “Automatic Detection of a Power Status of an Electronic Device and Control Schemes Based Thereon,” which claims priority to U.S. Provisional Application No. 62/081,397, filed Nov. 18, 2014, the entirety of which is incorporated by reference; U.S. patent application Ser. No. 14/945,125 (Attorney Docket No. H16.00090001), filed on Nov. 18, 2015 and entitled “Automatic Identification and Mapping of Consumer Electronic Devices to Ports on an HDMI Switch,” which claims priority to U.S. Provisional Application No. 62/081,414, filed Nov. 18, 2014, the entirety of which is incorporated by reference; and U.S. patent application Ser. No. 15/476,776 (Attorney Docket No. H16.00260001), filed on Mar. 31, 2017, and entitled “Audio/Video Synchronization Using a Device with Camera and Microphone,” which claims priority to U.S. Provisional Application No. 62/317,153, filed Apr. 1, 2016, the entirety of which is incorporated by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 15892215 | Feb 2018 | US |
Child | 16862811 | US |