IP Library › Granted Patent US 11,741,981
Granted Patent B2
US 11,741,981 · App. 17/095,228 · Granted Aug 29, 2023

Voice recognition with timing information for noise cancellation

Inventors: Ross Gilson (Philadelphia, PA); Michael Sallas (Radnor, PA); Scott David Kurtz (Mount Laurel, NJ); Gary Skrabutenas (Palo Alto, CA); Christopher Stone (Philadelphia, PA)
Assignee: Comcast Cable Communications, LLC
G10L21/0216G10L15/20G10L15/22G10L21/055G10L2015/223G10L2021/02082
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 11,741,981
App. No.
17/095,228
Granted
Aug 29, 2023
Kind
B2
Abstract

Systems, devices, and methods are described for reducing degradation of a voice recognition input. An always listening device may always be listening for voice commands via a microphone and may experience interference from unwanted audio such as from the output audio of television speakers. The always listening device may receive data associated with the output audio over a first communications channel. The always listening device may also receive, on a second communications channel, timing information associated with data. The always listening device may adjust admission of the audio received by the microphone to enable it to arrive at approximately the same time as the data received via the first communications channel. The unwanted output audio included in the audio received via the microphone may then be determined and may be removed so that a voice command in the audio received by the microphone may be processed.

Claims (48)

1. A method comprising:

receiving a first signal comprising first data indicative of content being rendered by an output device;

receiving, via a user input, a second signal comprising second data;

determining, based on timing information associated with the first signal, a delay associated with receiving the first signal;

synchronizing, based on the determined delay, the second data with the first data;

determining, based on the synchronized first data and second data, whether the second data comprises a component of the content; and

determining, based on filtering the component of the content from the second data, a voice command.

2. The method of claim 1 , wherein the first data comprises a plurality of first timestamps, wherein the timing information comprises a plurality of second timestamps corresponding with the plurality of first timestamps.

3. The method of claim 2 , wherein determining the delay further comprises:

determining a first arrival time of a first timestamp of the plurality of first timestamps; and

determining a second arrival time of a second timestamp of the plurality of second timestamps that corresponds with the first timestamp.

4. The method of claim 3 , wherein the delay indicates a difference between the first arrival time and the second arrival time.

5. The method of claim 1 , wherein the determining, based on the timing information associated with the first signal, the delay further comprises:

receiving the timing information via a Radio Frequency for Consumer Electronics (RF4CE) channel.

6. The method of claim 1 , wherein the timing information comprises at least one Radio Frequency for Consumer Electronics (RF4CE) beacon.

7. The method of claim 1 , wherein the first signal is received via a local area network (LAN) interface.

8. The method of claim 1 , wherein the output device comprises at least one of: a speaker, a television, or a computing device.

9. The method of claim 1 , wherein the receiving, via the user input, the second signal comprises:

receiving, by a user device and via the user input, the second signal.

10. The method of claim 9 , wherein the user device comprises one of: an always-on listening assistant device, a remote control with a microphone, a speakerphone, a smartphone, a tablet, or a computing device.

11. A device comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the device to:

receive a first signal comprising first data indicative of content being rendered by an output device;

receive, via a user input, a second signal comprising second data;

determine, based on timing information associated with the first signal, a delay associated with receiving the first signal;

synchronize, based on the determined delay, the second data with the first data;

determine, based on the synchronized first data and second data, whether the second data comprises a component of the content; and

determine, based on filtering the component of the content from the second data, a voice command.

12. The device of claim 11 , wherein the first data comprises a plurality of first timestamps, wherein the timing information comprises a plurality of second timestamps corresponding with the plurality of first timestamps.

13. The device of claim 12 , wherein determining the delay further comprises:

determining a first arrival time of a first timestamp of the plurality of first timestamps; and

determining a second arrival time of a second timestamp of the plurality of second timestamps that corresponds with the first timestamp.

14. The device of claim 13 , wherein the delay indicates a difference between the first arrival time and the second arrival time.

15. The device of claim 11 , wherein the output device comprises at least one of: a speaker, a television, or a computing device.

16. The device of claim 11 , wherein the device comprises one of: an always-on listening assistant device, a remote control with a microphone, a speakerphone, a smartphone, a tablet, or a computing device.

17. A non-transitory computer-readable storage medium storing computer-readable instructions that, when executed by a processor, cause:

receiving a first signal comprising first data indicative of content being rendered by an output device;

receiving, via a user input, a second signal comprising second data;

determining, based on timing information associated with the first signal, a delay associated with receiving the first signal;

synchronizing, based on the determined delay, the second data with the first data;

determining, based on the synchronized first data and second data, whether the second data comprises a component of the content; and

determining, based on filtering the component of the content from the second data, a voice command.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the first data comprises a plurality of first timestamps, wherein the timing information comprises a plurality of second timestamps corresponding with the plurality of first timestamps.

19. The non-transitory computer-readable storage medium of claim 18 , wherein determining the delay further comprises:

determining a first arrival time of a first timestamp of the plurality of first timestamps; and

determining a second arrival time of a second timestamp of the plurality of second timestamps that corresponds with the first timestamp.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the delay indicates a difference between the first arrival time and the second arrival time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2020
From: GILSON, ROSS; SALLAS, MICHAEL; KURTZ, SCOTT DAVID; SKRABUTENAS, GARY; STONE, CHRISTOPHER
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 054485/0674 →
Continuity (2)
Continuation 16257702 · Jan 25, 2019
Related Publication 20210312935A1 · Oct 7, 2021