IP Library › Granted Patent US 10,546,583
Granted Patent B2
US 10,546,583 · App. 15/691,460 · Granted Jan 28, 2020

Context-based device arbitration

Inventors: Joseph White (San Francisco, CA); Ravi Kiran Rachakonda (San Jose, CA); Vinodth Kumar Mohanam (Sunnyvale, CA); Lalithkumar Rajendran (San Jose, CA); Deepak Uttam Shah (Milpitas, CA); Maziyar Khorasani (San Francisco, CA); Venkata Snehith Cherukuri (San Jose, CA)
Assignee: Amazon Technologies, Inc.
G10L15/22G10L15/1815G10L15/28G10L25/84G10L2015/223
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,546,583
App. No.
15/691,460
Granted
Jan 28, 2020
Kind
B2
Abstract

This disclosure describes, in part, context-based device arbitration techniques to select a voice-enabled device from multiple voice-enabled devices to provide a response to a command included in a speech utterance of a user. In some examples, the context-driven arbitration techniques may include determining a ranked list of voice-enabled devices that are ranked based on audio signal metric values for audio signals generated by each voice-enabled device, and iteratively moving through the list to determine, based on device states of the voice-enabled devices, whether one of the voice-enabled devices can perform an action responsive to the command. If the voice-enabled devices that detected the speech utterance are unable to perform the action responsive to the command, all other voice-enabled devices associated with an account may be analyzed to determine whether one of the other voice-enabled devices can perform the action responsive to the command in the speech utterance.

Claims (96)

1. A system comprising:

one or more processors;

computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving, from a first voice-enabled device, first audio data representing a speech utterance;

receiving, from the first voice-enabled device, a first audio signal metric value indicating a first signal-to-noise ratio associated with the first audio data;

receiving, from a second voice-enabled device, second audio data representing the speech utterance;

receiving, from the second voice-enabled device, a second audio signal metric value indicating a second signal-to-noise ratio associated with the second audio data;

determining that the first signal-to-noise ratio is greater than the second signal-to-noise ratio;

identifying device state data associated with the first voice-enabled device;

generating, using automatic speech recognition (ASR) on at least one of the first audio data or the second audio data, text data corresponding to the speech utterance;

determining, using natural language understanding (NLU) on the text data, intent data associated with the speech utterance, the intent data representing a request for a client device to perform an action;

determining, based at least in part on the device state data, that the first voice-enabled device is capable of performing the action responsive to the speech utterance;

determining a command to cause the first voice-enabled device to perform the action; and

sending, to the first voice-enabled device, data indicating the command.

2. The system of claim 1 , the operations further comprising causing the second voice-enabled device to stop transmitting the second audio data, the second voice-enabled device being stopped from transmitting the second audio data prior to the first voice-enabled device stopping transmitting the first audio data,

wherein generating the text data is performed using ASR on the first audio data.

3. The system of claim 1 , the operations further comprising:

determining that the first voice-enabled device is included in a stored grouping of devices that includes the first voice-enabled device and a third voice-enabled device;

identifying device state data associated with the stored grouping of devices; and

determining that the stored grouping of devices is capable of performing the action responsive to the speech utterance.

4. The system of claim 1 , wherein identifying the device state data associated with the first voice-enabled device comprises:

sending a request to an event component to provide an indication of the device state data associated with the first voice-enabled device; and

receiving, from the event component, the device state data.

5. A system comprising:

one or more processors;

computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

receiving a first device identifier of a first device;

receiving first audio data associated with the first device identifier, the first audio data representing a speech utterance;

receiving a second device identifier of a second device;

receiving second audio data associated with the second device identifier, the second audio data representing the speech utterance;

determining intent data associated with the speech utterance, the intent data representing a machine response for a device to perform responsive to the speech utterance;

identifying first device state data associated with the first device;

identifying second device state data associated with the second device;

based at least in part on the second device state data, determining the second device is to be used for the machine response;

determining command data to cause the second device to perform the machine response; and

sending, to the second device, the command data to perform the machine response.

6. The system of claim 5 , further comprising determining, based on the first device state data, that the first device is offline.

7. The system of claim 5 , the operations further comprising:

determining that the first device is included in a stored grouping of devices that includes the first device and a third device;

identifying device state data associated with the stored grouping of devices; and

determining, based on the device state data associated with the stored grouping of devices, that the stored grouping of devices is offline.

8. The system of claim 5 , the operations further comprising:

determining that the first device is associated with a secondary device;

identifying third device state data associated with the secondary device; and

determining, based on the third device state data, that the secondary device is offline.

9. The system of claim 5 , the operations further comprising:

determining, based on the first device state data, that the first device is offline; and

storing an indication that the second device is to perform the machine response.

10. The system of claim 5 , the operations further comprising receiving an indication that the first device is ranked higher than the second device based at least in part on a first audio signal metric associated with the first audio data and a second audio signal metric associated with the second audio data.

11. The system of claim 10 , wherein:

the first audio signal metric associated with the first audio data comprises at least one of:

a first signal-to-noise value of the first audio data;

a first amplitude of the first audio data; or

a first level of voice activity in the first audio data; and

the second audio signal metric associated with the second audio data comprises at least one of:

a second signal-to-noise value of the second audio data;

a second amplitude of the second audio data; or

a second level of voice activity in the second audio data.

12. The system of claim 5 , the operations further comprising receiving an indication that the first device is ranked higher than the second device, wherein the first device and the second device are ranked based on one or more of:

input received via an input control of the first device;

a distance of a user to the first device; or

image data indicating that the user is at least partially facing the first device.

13. A method comprising:

receiving first audio data associated with a first device, the first audio data representing a speech utterance;

receiving second audio data associated with a second device, the second audio data representing the speech utterance;

identifying first device state data associated with the first device;

identifying second device state data associated with the second device;

determining intent data associated with the speech utterance, the intent data representing a machine response for a device to perform responsive to the speech utterance;

based at least in part on the second device state data, determining the second device is to be used for the machine response;

determining command data to cause the second device to perform the machine response; and

sending, to the second device, the command data to perform the machine response.

14. The method of claim 13 , further comprising determining, based on the first device state data, that the first device is offline.

15. The method of claim 13 , further comprising:

determining that the first device is included in a stored grouping of devices that includes the first device and a third device;

identifying device state data associated with the stored grouping of devices; and

determining, based on the device state data associated with the stored grouping of devices, that the stored grouping of devices is offline.

16. The method of claim 13 , further comprising:

determining that the first device is associated with a secondary device;

identifying third device state data associated with the secondary device; and

determining, based on the third device state data, that the secondary device is offline.

17. The method of claim 13 , further comprising:

determining, based on the first device state data, that the first device is offline; and

storing an indication that the second device is to perform the machine response.

18. The method of claim 13 , further comprising receiving an indication that the first device is ranked higher than the second device based at least in part on a first audio signal metric associated with the first audio data and a second audio signal metric associated with the second audio data.

19. The method of claim 18 , wherein:

the first audio signal metric associated with the first audio data comprises at least one of:

a first signal-to-noise value of the first audio data;

a first amplitude of the first audio data; or

a first level of voice activity in the first audio data; and

the second audio signal metric associated with the second audio data comprises at least one of:

a second signal-to-noise value of the second audio data;

a second amplitude of the second audio data; or

a second level of voice activity in the second audio data.

20. The method of claim 13 , further comprising:

generating output audio data representing synthesized speech of output text data, wherein the output text data indicates that the second device is to be used for the machine response; and

sending, to the first device, the output audio data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2017
From: WHITE, JOSEPH; RACHAKONDA, RAVI KIRAN; MOHANAM, VINODTH KUMAR; RAJENDRAN, LALITHKUMAR; SHAH, DEEPAK UTTAM; KHORASANI, MAZIYAR; CHERUKURI, VENKATA SNEHITH
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 043828/0131 →
Continuity (1)
Related Publication 20190066670A1 · Feb 28, 2019
Cited By (24)
US 12,190,877 US 12,211,490 US 12,217,748 US 12,230,291 US 12,236,932 US 12,283,269 US 12,327,549 US 12,327,556 US 12,360,734 US 12,387,716 US 12,424,220 US 12,424,221 US 12,505,832 US 12,513,479 US 12,518,756 US 12,579,981 US 12,633,288 US 12,647,488 US 12,670,907 US 12,699,543 US 12,711,957 US 12,711,962 US 12,732,547 US 12,748,566