IP Library Granted Patent US 10,447,537
Granted Patent B2
US 10,447,537 · App. 15/646,275 · Granted Oct 15, 2019

Automatic determination of display device functionality

Inventors: Ilya Asnis (San Jose, CA); Daniel Martin Daly (Brownsburg, IN); Gregory Mack Garner (Springdale, AR); Scott Edward De Haas (Austin, TX); David Allen Westerhoff (Pleasanton, CA); Anthony John Wood (Palo Alto, CA)
Assignee: Roku, Inc.
H04L41/0853G06F17/25H04B10/1143H04L41/0233H04L43/0811G08C2201/42
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,447,537
App. No.
15/646,275
Granted
Oct 15, 2019
Kind
B2
Abstract

Disclosed herein are system, apparatus, article of manufacture, method and/or computer program product embodiments, and/or combinations and sub-combinations thereof, for automatically determining the functionality and capabilities of electronic components. Some embodiments operate by transmitting a command to the display device in question (sometimes called the device under test—DUT—herein) and monitoring the device. Then, it is determined whether an action by the display device was one of a set of proper responses to the command. If the action was proper, then it is determined that the display device supports the command set associated with the command. The command set may be the Consumer Electronics Control (CEC) set, although this disclosure is not limited to that example.

Claims (60)

1. A method of automatically determining the functionality and capabilities of a device in a media system, comprising:

transmitting, by a media device, a command to the device;

receiving, by the media device, signals transmitted by the device, wherein the received signals include information responding to the command;

generating, by the media device, a fingerprint identifying the device based on the received signals, wherein the fingerprint comprises the information;

querying, by the media device, a crowdsource server using the fingerprint;

determining, by the media device and based on the querying, that the fingerprint does not exist in the crowdsource server; and

transmitting, by the media device, the fingerprint to the crowdsource server.

2. The method of claim 1 , wherein the transmitting comprises transmitting an audible control command to the device, and wherein the monitoring comprises using a microphone to detect volume changes made by the device in response to the audible control command.

3. The method of claim 1 , wherein the transmitting comprises transmitting a Consumer Electronics Control (CEC) command to the device over an HDMI link, and wherein the monitoring comprises monitoring traffic over the HDMI link for messages transmitted by the device, and further wherein the second determining comprises determining the device supports CEC.

4. The method of claim 1 , further comprising:

determining that the device supports a command set that comprises the command.

5. The method of claim 4 , further comprising:

receiving crowdsourced information from the crowdsource server specifying infrared (IR) signals corresponding to remote control commands supported by the device; and

transmitting the received crowdsourced information to a remote control that is not supported by the device,

wherein the remote control uses the received crowdsourced information to control the device.

6. The method of claim 2 , further comprising:

intercepting a command from a remote control to control the device, wherein the device does not support the remote control; and

transmitting a CEC command corresponding to the intercepted command to the device over the HDMI link, to thereby cause the device to perform the intercepted command.

7. A system for automatically determining the functionality and capabilities of a device in a media system, comprising:

a memory; and

at least one processor operatively coupled to the memory, the processor configured to:

transmit a command to the device;

receive signals transmitted by the device, wherein the received signals include information responding to the command;

generate a fingerprint identifying the device based on the received signals, wherein the fingerprint comprises the information;

query a crowdsource server using the fingerprint;

determine, based on the querying, that the fingerprint does not exist in the crowdsource server; and

transmit the fingerprint to the crowdsource server.

8. The system of claim 7 , wherein to transmit the processor is configured to transmit a Consumer Electronics Control (CEC) command to the device over an HDMI link, and wherein to monitor the processor is configured to monitor traffic over the HDMI link for messages transmitted by the device, and further wherein to determine that the device supports a command set the processor is configured to determine the device supports CEC.

9. The system of claim 7 , wherein the processor is further configured to:

receive crowdsourced information from the crowdsource server specifying infrared (IR) signals corresponding to remote control commands supported by the device; and

transmit the received crowdsourced information to a remote control that is not supported by the device,

wherein the remote control uses the received crowdsourced information to control the device.

10. The system of claim 7 , wherein the processor is further configured to:

intercept a command from a remote control to control the device, wherein the device does not support the remote control; and

transmit a CEC command corresponding to the intercepted command to the device over the HDMI link, to thereby cause the device to perform the intercepted command.

11. A non-transitory, tangible computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:

transmitting a command to the device;

receiving signals transmitted by the device, wherein the received signals include information responding to the command;

generating a fingerprint identifying the device based on the received signals, wherein the fingerprint comprises the information;

querying a crowdsource server using the fingerprint;

determining, based on the querying, that the fingerprint does not exist in the crowdsource server; and

transmitting the fingerprint to the crowdsource server.

12. The non-transitory, tangible computer-readable device of claim 11 , wherein the transmitting comprises transmitting an audible control command to the device, and wherein the monitoring comprises using a microphone to detect volume changes made by the device in response to the audible control command.

13. The non-transitory, tangible computer-readable device of claim 11 , wherein the transmitting comprises transmitting a Consumer Electronics Control (CEC) command to the device over an HDMI link, and wherein the monitoring comprises monitoring traffic over the HDMI link for messages transmitted by the device, and further wherein the second determining comprises determining the device supports CEC.

14. The non-transitory, tangible computer-readable device of claim 11 , the operations further comprising:

determining that the device supports a command set that comprises the command.

15. The non-transitory, tangible computer-readable device of claim 14 , the operations further comprising:

receiving crowdsourced information from the crowdsource server specifying infrared (IR) signals corresponding to remote control commands supported by the device; and

transmitting the received crowdsourced information to a remote control that is not supported by the device,

wherein the remote control uses the received crowdsourced information to control the device.

16. The non-transitory, tangible computer-readable device of claim 12 , the operations further comprising:

intercepting a command from a remote control to control the device, wherein the device does not support the remote control; and

transmitting a CEC command corresponding to the intercepted command to the device over the HDMI link, to thereby cause the device to perform the intercepted command.

17. The method of claim 1 , wherein the transmitting comprises:

prompting a request for a model number of the device.

18. The method of claim 17 , further comprising:

receiving, responsive to the prompt, an image comprising a picture of the model number of the device from a remote control associated with the command.

19. The method of claim 17 , wherein the fingerprint further comprises a model number field and a CEC data field.

20. The method of claim 1 , wherein the adding comprises:

transmitting information corresponding to remote control commands supported by the device to the crowdsource server, wherein the commands comprise infrared (IR) signals.

Assignments (6)
SECURITY INTEREST Recorded Sep 18, 2024
From: ROKU, INC.
To: CITIBANK, N.A.
Reel/Frame 068982/0377 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT (REEL/FRAME 051300/0931) Recorded Feb 22, 2023
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROKU, INC.; ROKU DX HOLDINGS, INC.
Reel/Frame 062826/0205 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT (REEL/FRAME 048385/0375) Recorded Feb 22, 2023
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROKU, INC.
Reel/Frame 062826/0001 →
SECURITY INTEREST Recorded Dec 16, 2019
From: ROKU, INC.; ROKU DX HOLDINGS, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051300/0931 →
PATENT SECURITY AGREEMENT Recorded Feb 20, 2019
From: ROKU, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 048385/0375 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2017
From: ASNIS, ILYA; DALY, DANIEL MARTIN; GARNER, GREGORY MACK; DE HAAS, SCOTT EDWARD; WESTERHOFF, DAVID ALLEN; WOOD, ANTHONY JOHN
To: ROKU, INC.
Reel/Frame 042969/0589 →
Continuity (1)
Related Publication 20190020543A1 · Jan 17, 2019
Cited By (1)
US 12,294,756