IP Library › Granted Patent US 12,165,667
Granted Patent B2
US 12,165,667 · App. 18/352,931 · Granted Dec 10, 2024

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 12,165,667
App. No.
18/352,931
Granted
Dec 10, 2024
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 (42)

1. A method comprising:

receiving first data indicative of content being rendered by a device;

receiving, via a user input, second data;

synchronizing, based on timing data associated with the first data, the second data with the first data;

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

processing, based on filtering the portion of the content from the second data, a voice command indicated by the filtered second data.

2. The method of claim 1 , further comprising:

determining, based on the timing data, a delay associated with receiving the first data.

3. The method of claim 2 , wherein the first data comprises a plurality of first timestamps, wherein the timing data comprises a plurality of second timestamps corresponding with the plurality of first timestamps, wherein the delay indicates a difference between a first arrival time, of a first timestamp of the plurality of first timestamps, and 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 2 , wherein the determining, based on the timing data, the delay further comprises:

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

5. The method of claim 2 , wherein the delay indicates that the first data is delayed with respect to time in comparison to the second data, or wherein the delay indicates that the first data is ahead with respect to time in comparison to the second data.

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

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

8. The method of claim 1 , wherein the second data is received via a user device, 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.

9. 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 first data indicative of content being rendered by an output device;

receive, via a user input, second data;

synchronize, based on timing data associated with the first data, the second data with the first data;

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

process, based on filtering the portion of the content from the second data, a voice command indicated by the filtered second data.

10. The device of claim 9 , wherein the instructions, when executed, further cause the device to:

determine, based on the timing data, a delay associated with receiving the first data.

11. The device of claim 10 , wherein the first data comprises a plurality of first timestamps, wherein the timing data comprises a plurality of second timestamps corresponding with the plurality of first timestamps, wherein the delay indicates a difference between a first arrival time, of a first timestamp of the plurality of first timestamps, and a second arrival time, of a second timestamp of the plurality of second timestamps that corresponds with the first timestamp.

12. The device of claim 10 , wherein the determining, based on the timing data, the delay further comprises:

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

13. The device of claim 10 , wherein the delay indicates that the first data is delayed with respect to time in comparison to the second data, or wherein the delay indicates that the first data is ahead with respect to time in comparison to the second data.

14. The device of claim 9 , wherein the first data is received via a local area network (LAN) interface.

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

16. The device of claim 9 , wherein the second data is received via a user device, 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.

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

receiving first data indicative of content being rendered by a device;

receiving, via a user input, second data;

synchronizing, based on timing data associated with the first data, the second data with the first data;

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

processing, based on filtering the portion of the content from the second data, a voice command indicated by the filtered second data.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions, when executed, further cause:

determining, based on the timing data, a delay associated with receiving the first data.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the first data comprises a plurality of first timestamps, wherein the timing data comprises a plurality of second timestamps corresponding with the plurality of first timestamps, wherein the delay indicates a difference between a first arrival time, of a first timestamp of the plurality of first timestamps, and 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 18 , wherein the delay indicates that the first data is delayed with respect to time in comparison to the second data, or wherein the delay indicates that the first data is ahead with respect to time in comparison to the second data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2023
From: GILSON, ROSS; SALLAS, MICHAEL; KURTZ, SCOTT DAVID; SKRABUTENAS, GARY; STONE, CHRISTOPHER
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 064477/0264 →
Continuity (3)
Continuation 17095228 · Nov 11, 2020
Continuation 16257702 · Jan 25, 2019
Related Publication 20230360663A1 · Nov 9, 2023