IP Library Granted Patent US 12,315,514
Granted Patent B2
US 12,315,514 · App. 17/865,567 · Granted May 27, 2025

Systems and methods for managing multiple voice assistant services based on voice input

Inventors: Gyanveer Singh (Bangalore, IN); Reda Harb (Bellevue, WA)
Assignee: Adeia Guides Inc.
G10L15/32G10L15/04G10L15/1815G10L15/22G10L2015/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 12,315,514
App. No.
17/865,567
Granted
May 27, 2025
Kind
B2
Abstract

Systems and methods are described for assigning a voice assistant service (VAS) from multiple VASs, based on a voice input. The system generally comprises a processor that is configured to process at least one voice input, e.g., with a wake word, and assign at least one VAS to output a response based on the voice input. Some embodiments support the skill or skills of a secondary VAS when the primary VAS is unavailable or when the primary VAS does not possess the required skill. The system may evaluate the skills required to process a user request based on the context and/or intent. The system may distribute data related to voice input and context and/or intent among various VASs to complete a task. Furthermore, the system may classify voice input as generic voice input or target VAS-specific voice input, e.g., by utilizing a trained model.

Claims (55)

1. A method of assigning a voice assistant service (VAS) for a voice command, the method comprising:

receiving, by a device having at least a first VAS and a second VAS, a voice input comprising a voice input context;

determining whether the voice input context requires a VAS skill to access third-party data related to the voice input context;

in response to determining that the voice input context requires the VAS skill to access the third-party data, accessing authorization data for each of a plurality of skills for the first VAS;

determining whether the authorization data describing for each of the plurality of skills for the first VAS indicates the first VAS is authorized to access the third-party data; and

based at least in part on determining the authorization data for each of the plurality of skills for the first VAS indicates the first VAS is not authorized to access the third-party data:

determining the second VAS with a plurality of skills has the VAS skill to access the third-party data; and

causing the second VAS to respond to the voice input using the VAS skill to access the third-party data.

2. The method of claim 1 , further comprising, determining whether the authorization data for each of the plurality of skills for the first VAS indicates if the first VAS is authorized to access the third-party data by determining whether the first VAS is unavailable.

3. The method of claim 2 , wherein unavailable comprises any of the following: busy, powered off, muted, disconnected, in a sleep mode, or in a do-not-disturb mode.

4. The method of claim 1 , further comprising: determining whether the authorization data for each of the plurality of skills for the first VAS indicates if the first VAS is authorized to access the third-party data by determining whether the first VAS is compatible with the VAS skill.

5. The method of claim 1 , wherein the causing the second VAS to respond to the voice input comprises requesting permission to enable the VAS skill.

6. The method of claim 1 , wherein the determining the second VAS further comprises determining whether the VAS skill is enabled on the second VAS; and

wherein the causing the second VAS to respond to the voice input comprises requesting permission to enable the VAS skill in response to determining the VAS skill is not enabled on the second VAS.

7. The method of claim 1 , wherein the determining whether the voice input context requires the VAS skill comprises determining whether the voice input context or the VAS skill is urgent; and

wherein determining whether the authorization data for each of the plurality of skills for the first VAS indicates the first VAS is authorized to access the third-party data comprises overriding a determination that the first VAS is not available.

8. The method of claim 1 , wherein the determining whether the voice input context requires the VAS skill comprises classifying the voice input context as a generic context or a VAS-specific context.

9. The method of claim 8 , wherein the classifying the voice input context comprises using a trained machine learning model to classify the voice input context as the generic context or the VAS-specific context.

10. The method of claim 8 , wherein the classifying the voice input context comprises:

processing the voice input context as a plurality of segments;

determining whether the plurality of segments requires a joint command execution or in a partial command execution;

implementing a parallel processing of the plurality of segments in response to determining that the plurality of segments requires the joint command execution; and

implementing a sequential processing of the plurality of segments in response to determining that the plurality of segments requires the partial command execution.

11. A system for assigning a voice assistant service (VAS) for a voice command, the system comprising:

memory;

input/output circuitry configured to receive a voice input comprising a voice input context;

processing circuitry configured to:

determine whether the voice input context requires a VAS skill to access third-party data related to the voice input context;

in response to determining that the voice input context requires the VAS skill to access the third-party data, access authorization data for each of a plurality of skills for a first VAS;

determine whether the authorization data for each of the plurality of skills for the first VAS indicates the first VAS is authorized to access the third-party data; and

based at least in part on determining the authorization data for each of the plurality of skills for the first VAS indicates the first VAS is not authorized to access the third-party data:

determine a second VAS with a plurality of skills has the VAS skill to access the third-party data; and

cause the second VAS to respond to the voice input using the VAS skill to access the third-party data.

12. The system of claim 11 , wherein the processing circuitry is further configured to determine whether the authorization data for each of the plurality of skills for the first VAS indicates if the first VAS is byauthorized to access the third-party data by determining whether the first VAS is unavailable.

13. The system of claim 12 , wherein unavailable comprises any of the following: busy, powered off, muted, disconnected, in a sleep mode, or in a do-not-disturb mode.

14. The system of claim 11 , wherein the processing circuitry is further configured to determine whether the authorization data for each of the plurality of skills for the first VAS indicates if the first VAS is authorized to access the third-party data by determining whether the first VAS is compatible with the VAS skill.

15. The system of claim 11 , wherein the processing circuitry is further configured to cause the second VAS to respond to the voice input by requesting permission to enable the VAS skill.

16. The system of claim 11 , wherein the processing circuitry is further configured to determine a second VAS by determining whether the VAS skill is enabled on the second VAS; and

wherein the processing circuitry is further configured to cause the second VAS to respond to the voice input by requesting permission to enable the VAS skill in response to determining the VAS skill is not enabled on the second VAS.

17. The system of claim 11 , wherein the processing circuitry is further configured to determine whether the voice input context requires the VAS skill by determining whether the voice input context or the VAS skill is urgent; and

wherein the processing circuitry is further configured to determine whether the authorization data for each of the plurality of skills for the first VAS indicates the first VAS is authorized to access the third-party data by overriding a determination that the first VAS is not available.

18. The system of claim 11 , wherein the processing circuitry is further configured to determine whether the voice input context requires the VAS skill by classifying the voice input context as a generic context or a VAS-specific context.

19. The system of claim 18 , wherein the processing circuitry is further configured to classify the voice input context by:

processing the voice input context as a plurality of segments;

determining whether the plurality of segments requires a joint command execution or in a partial command execution;

implementing a parallel processing of the plurality of segments in response to determining that the plurality of segments requires the joint command execution; and

implementing a sequential processing of the plurality of segments in response to determining that the plurality of segments requires the partial command execution.

20. A method comprising:

receiving, by a device having at least a first voice assistant service (VAS) and a second VAS, a voice input comprising a voice input context;

determining whether the voice input context requires a VAS skill to access third-party data related to the voice input context;

in response to determining that the voice input context requires the VAS skill to access the third-party data, accessing authorization data for each of one or more skills for the first VAS;

determining whether the authorization data for each of the one or more skills for the first VAS indicates the first VAS is authorized to access the third-party data; and

based at least in part on determining the authorization data for each of the one or more skills for the first VAS indicates the first VAS is not authorized to access the third-party data:

determining the second VAS has the VAS skill to access the third-party data; and

causing the second VAS to respond to the voice input using the VAS skill to access the third-party data.

Assignments (3)
CHANGE OF NAME Recorded Oct 4, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069113/0413 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2023
From: SINGH, GYANVEER; HARB, REDA
To: ROVI GUIDES, INC.
Reel/Frame 065231/0304 →
SECURITY INTEREST Recorded May 3, 2023
From: ADEIA GUIDES INC.; ADEIA IMAGING LLC; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA SOLUTIONS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063529/0272 →