# US 12,190,891 B2 · Adaptive management of casting requests and/or user inputs at a rechargeable device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,190,891 B2
- Document ID: US12190891B2
- Status: Granted
- Kind: B2
- Application number: 18/431,608
- Filed: 2024-02-02
- Published: 2024-05-30
- Granted: 2025-01-07
- Earliest claimed: 2021-09-13
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Andrei Pascovici; Victor Lin; Jianghai Zhu; Paul Gyugyi; Shlomi Regev
- Web page: https://patentgrep.com/patent/US12190891B2

## CPC

- G10L 15/22: Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L 17/10: Multimodal systems, i.e. based on the integration of multiple recognition engines or fusion of expert systems
- G06F 1/3206: Monitoring of events, devices or parameters that trigger a change in power modality
- G06F 1/3209: Monitoring remote activity, e.g. over telephone lines or network connections
- G06F 1/3243: {Power saving in microcontroller unit}
- G06F 1/3287: by switching off individual functional units in the computer system
- G06F 1/3293: by switching to a less power-consuming processor, e.g. sub-CPU
- G06F 3/167: {Audio in a user interface, e.g. using voice commands for navigating, audio feedback}
- G10L 15/26: Speech to text systems (G10L15/08 takes precedence)
- G10L 25/78: Detection of presence or absence of voice signals (switching of direction of transmission by voice frequency in two-way loud-speaking telephone systems H04M9/10)
- H04W 4/06: Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- G10L 15/32: Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
- G10L 2015/088: {Word spotting}
- G10L 2025/783: {based on threshold decision}
- H04L 45/16: Multipoint routing
- H04L 47/28: in relation to timing considerations
- H04L 49/109: Integrated on microchip, e.g. switch-on-chip
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Implementations set forth herein relate to management of casting requests and user inputs at a rechargeable device, which provides access to an automated assistant and is capable of rendering data that is cast from a separate device. Casting requests can be handled by the rechargeable device despite a device SoC of the rechargeable device operating in a sleep mode. Furthermore, spoken utterances provided by a user for invoking the automated assistant can also be adaptively managed by the rechargeable device in order mitigate idle power consumption by the device SoC. Such spoken utterances can be initially processed by a digital signal processor (DSP), and, based on one or more features (e.g., voice characteristic, conformity to a particular invocation phrase, etc.) of the spoken utterance, the device SoC can be initialized for an amount of time that is selected based on the features of the spoken utterance.

## Claims

### Claim 1

A method, comprising:
determining, by a processor of a computing device, that an input to a microphone of the computing device at least partially corresponds to an invocation phrase for invoking an automated assistant that is accessible via the computing device;
causing, by the processor and based on the input to the microphone, another processor of the computing device to transition from a sleep mode into an operating mode;
subsequent to the other processor transitioning from the sleep mode into the operating mode:
generating, by the other processor, first data that characterizes an audio output provided by the computing device via one or more speakers that are in communication with the computing device,
wherein the first data includes first time data that characterizes a time at which the other processor generated the first data;
determining, by the processor, that another input has been provided to the microphone of the computing device;
generating, by the processor, second data that characterizes the other input to the microphone of the computing device,
wherein the second data includes second time data that characterizes another time at which the processor generated the second data;
determining, by the other processor, a time offset between the time at which the other processor generated the first data and the other time at which the processor generated the second data;
processing, by the other processor, the second data using the time offset in furtherance of removing one or more features of the audio output provided by the one or more speakers;
determining, by the other processor and based on processing the second data using the time offset, whether the other input to the microphone corresponds to a spoken utterance to invoke the automated assistant that is accessible via the computing device; and
when the other input to the microphone is determined to correspond to the spoken utterance to invoke the automated assistant:
causing, by the other processor, the automated assistant to provide responsive output via an interface that is in communication with the computing device.

### Claim 2 (depends on 1)

The method of claim 1, wherein processing the second data using the time offset in furtherance of removing one or more features of the audio output includes performing an acoustic echo cancellation (AEC) process using the second data and the audio data.

### Claim 3 (depends on 1)

The method of claim 1, wherein the time offset corresponds to a difference in clock operating characteristics of a clock of the processor and another clock of the other processor.

### Claim 4 (depends on 3)

The method of claim 3, wherein the time offset is based on a difference between:
a first clock value determined using the clock, and
a second clock value determined using the other clock.

### Claim 5 (depends on 4)

The method of claim 4, wherein the first clock value and the second clock value are determined when the other processor is in the operating mode.

### Claim 6 (depends on 4)

The method of claim 4, wherein the time offset is determined by multiplying a ratio of differences between clock values by a time value corresponding to the other time.

### Claim 7 (depends on 1)

The method of claim 1, wherein the computing device includes one or more batteries that provide power to the processor and to the other processor when the other processor is operating according to the operating mode.

### Claim 8 (depends on 1)

The method of claim 1, wherein the processor is a digital signal processor (DSP) and the other processor is a device system on a chip (SoC).

### Claim 9

A portable computing device, comprising:
one or more speakers;
a microphone;
a first processor operable to:
determine that an input to the microphone of the computing device at least partially corresponds to an invocation phrase for invoking an automated assistant that is accessible via the computing device;
cause, based on the input to the microphone, a second processor of the computing device to transition from a sleep mode into an operating mode;
a second processor operable to, subsequent to transitioning from the sleep mode into the operating mode:
generate first data that characterizes an audio output provided by the computing device via one or more speakers that are in communication with the computing device,
wherein the first data includes first time data that characterizes a time at which the other processor generated the first data;
the first processor further operable to:
determine that another input has been provided to the microphone of the computing device;
generate second data that characterizes the other input to the microphone of the computing device,
wherein the second data includes second time data that characterizes another time at which the processor generated the second data;
the second processor further operable to, subsequent to transitioning from the sleep mode into the operating mode:
determine a time offset between the time at which the second processor generated the first data and the other time at which the first processor generated the second data;
process the second data using the time offset in furtherance of removing one or more features of the audio output provided by the one or more speakers;
determine, based on processing the second data using the time offset, whether the other input to the microphone corresponds to a spoken utterance to invoke the automated assistant that is accessible via the computing device; and
when the other input to the microphone is determined to correspond to the spoken utterance to invoke the automated assistant:
cause the automated assistant to provide responsive output via an interface that is in communication with the computing device.

### Claim 10 (depends on 9)

The portable computing device of claim 9, wherein in processing the second data using the time offset in furtherance of removing one or more features of the audio output the second processor is to perform an acoustic echo cancellation (AEC) process using the second data and the audio data.

### Claim 11 (depends on 9)

The portable computing device of claim 9, wherein the time offset corresponds to a difference in clock operating characteristics of a first clock of the first processor and a second clock of the second processor.

### Claim 12 (depends on 11)

The portable computing device of claim 11, wherein the time offset is based on a difference between:
a first clock value determined using the first clock, and
a second clock value determined using the second clock.

### Claim 13 (depends on 12)

The portable computing device of claim 12, wherein the first clock value and the second clock value are determined when the second processor is in the operating mode.

### Claim 14 (depends on 12)

The portable computing device of claim 12, wherein the time offset is determined by multiplying a ratio of differences between clock values by a time value corresponding to the other time.

### Claim 15 (depends on 9)

The portable computing device of claim 9, further comprising one or more batteries that provide power to the first processor and to the second processor when the second processor is operating according to the operating mode.

### Claim 16 (depends on 9)

The portable computing device of claim 9, wherein the first processor is a digital signal processor (DSP) and the second processor is a device system on a chip (SoC).

### Claim 17

One or more non-transitory computer-readable storage media comprising instructions, which, when executed cause:
determining, by a processor of a computing device, that an input to a microphone of the computing device at least partially corresponds to an invocation phrase for invoking an automated assistant that is accessible via the computing device;
causing, by the processor and based on the input to the microphone, another processor of the computing device to transition from a sleep mode into an operating mode;
subsequent to the other processor transitioning from the sleep mode into the operating mode:
generating, by the other processor, first data that characterizes an audio output provided by the computing device via one or more speakers that are in communication with the computing device,
wherein the first data includes first time data that characterizes a time at which the other processor generated the first data;
determining, by the processor, that another input has been provided to the microphone of the computing device;
generating, by the processor, second data that characterizes the other input to the microphone of the computing device,
wherein the second data includes second time data that characterizes another time at which the processor generated the second data;
determining, by the other processor, a time offset between the time at which the other processor generated the first data and the other time at which the processor generated the second data;
processing, by the other processor, the second data using the time offset in furtherance of removing one or more features of the audio output provided by the one or more speakers;
determining, by the other processor and based on processing the second data using the time offset, whether the other input to the microphone corresponds to a spoken utterance to invoke the automated assistant that is accessible via the computing device;
and when the other input to the microphone is determined to correspond to the spoken utterance to invoke the automated assistant:
causing, by the other processor, the automated assistant to provide responsive output via an interface that is in communication with the computing device.
