# US 10,313,218 B2 · Measuring and compensating for jitter on systems running latency-sensitive audio signal processing

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

- Number: US 10,313,218 B2
- Document ID: US10313218B2
- Status: Granted
- Kind: B2
- Application number: 15/675,359
- Filed: 2017-08-11
- Published: 2019-02-14
- Granted: 2019-06-04
- Earliest claimed: 2017-08-11
- Assignees: 2236008 Ontario Inc.
- Applicants: 2236008 Ontario Inc.
- Inventors: Mark Robert Every; Leona Arlene Neufeld
- Web page: https://patentgrep.com/patent/US10313218B2

## CPC

- H04L 43/087: Jitter
- G10K 11/17817: {between the output signals and the error signals, i.e. secondary path}
- G10K 11/17881: {the reference signal being an acoustic signal, e.g. recorded with a microphone}
- G10L 21/01: Correction of time axis
- H04L 43/0852: Delays
- H04L 47/283: in response to processing delays, e.g. caused by jitter or round trip time [RTT]
- H04L 51/04: Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04M 3/002: {Applications of echo suppressors or cancellers in telephonic connections (in two-way loud-speaking telephone systems H04M9/08, echo suppressors or cancellers per se H04B3/20)}
- H04M 3/2236: {Quality of speech transmission monitoring}
- H04M 3/28: Automatic routine testing {; Fault testing; Installation testing; Test methods, test equipment or test arrangements therefor}
- G10K 11/178: by electro-acoustically regenerating the original acoustic waves in anti-phase
- G10K 2210/504: Calibration
- G10L 19/167: {Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes}
- G10L 2021/02082: {the noise being echo, reverberation of the speech}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G10K: SOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)

## Abstract

A system and method receives one or more captured signals through a captured audio path and produces one or more playback signals through a playback audio path. The system and method executes one or more signal processing functions and measures the delays within the playback audio path and captured audio path during operation of the one or more signal processing functions. The system and method stores the measured delays in a memory and compensates the one or more signal processing functions for the playback delay and the capture delay.

## Claims

### Claim 1

A system for real-time audio signal processing that receives one or more captured signals through a captured audio path which includes a microphone, and produces one or more playback signals through a playback audio path which includes a speaker, and executes one or more signal processing functions comprising:
a processor configured to measure a playback delay corresponding to delays of the playback audio path and a capture delay corresponding to delays of the captured audio path during operation of the one or more signal processing functions, wherein measuring the playback delay and the capture delay includes measuring delay of a test signal played and received over a feedback channel, and wherein the feedback channel passes through components of the playback audio path and the captured audio path that produce jitter, and wherein the test signal is processed synchronously with the one or more captured signals and the one or more playback signals, and wherein the test signal is not output through the speaker; and
a memory for storing the measured delays;
where the processor is further configured to compensate the one or more signal processing functions for the playback delay and the capture delay.

### Claim 2 (depends on 1)

The system of claim 1, wherein measuring the playback delay and the capture delay occurs when the processor first boots up.

### Claim 3 (depends on 1)

The system of claim 1, wherein measuring the playback delay and the capture delay occurs continuously during the operation of the one or more signal processing functions.

### Claim 4 (depends on 1)

The system of claim 1 where measurement of the playback delay and the capture delay determines a synchronization time, when boot-up of a playback event and capture event is completed.

### Claim 5 (depends on 1)

The system of claim 1 where the processor is further configured to compare the measured playback delay and the capture delay to prior measurements of playback delay and capture delays stored in memory.

### Claim 6 (depends on 5)

The system of claim 5 where the processor is configured to modify the one or more signal processing functions when the measured playback delay and the capture delay change relative to prior measurements.

### Claim 7 (depends on 5)

The system of claim 5 where time differences between the compared measurements adjust the delay of the capture and/or playback audio paths by dropping or adding samples to the capture and/or playback audio paths.

### Claim 8 (depends on 1)

The system of claim 1 where measurement of the playback delay and capture delay comprise counting the number of audio samples and/or audio buffers in the capture audio path and the playback audio path.

### Claim 9 (depends on 1)

The system of claim 1 where the one or more signal processing functions include an active noise control.

### Claim 10 (depends on 9)

The system of claim 9 where the playback delay and capture delay adjust offline estimates of a secondary path from loudspeakers to microphones.

### Claim 11 (depends on 10)

The system of claim 10 where adjusting the secondary path estimates comprise integer or fractional sample delays of secondary path impulse responses.

### Claim 12 (depends on 10)

The system of claim 10 where adjusting the secondary path estimates comprise modifying the phase responses of the secondary path.

### Claim 13 (depends on 1)

The system of claim 1 where the one or more signal processing functions comprise an echo cancellation and a feedback cancellation.

### Claim 14 (depends on 13)

The system of claim 13 where estimated echo paths are adjusted in response to measured playback and capture delays.

### Claim 15 (depends on 1)

The system of claim 1 where the system comprises a vehicle.

### Claim 16

A method that receives one or more captured signals through a captured audio path which includes a microphone, and produces one or more playback signals through a playback audio path which includes a speaker, and executes one or more signal processing functions comprising:
measuring a playback delay corresponding to delays of the playback audio path and a capture delay corresponding to delays of the captured audio path during operation of the one or more signal processing functions, wherein measuring the playback delay and the capture delay includes measuring delay of a test signal played and received over a feedback channel, and wherein the feedback channel passes through components of the playback audio path and the captured audio path that produce jitter, and wherein the test signal is processed synchronously with the one or more captured signals and the one or more playback signals, and wherein the test signal is not output through the speaker;
storing the measured delays in a memory; and
compensating the one or more signal processing functions for the playback delay and the capture delay.

### Claim 17 (depends on 16)

The method of claim 16, wherein measuring the playback delay and the capture delay occurs during the first boot up.

### Claim 18 (depends on 16)

The method of claim 16, wherein measuring the playback delay and the capture delay occurs continuously during the operation of the one or more signal processing functions.

### Claim 19

A non-transitory machine-readable medium encoded with machine-executable instructions for receiving one or more captured signals through a captured audio path which includes a microphone, and producing one or more playback signals through a playback audio path which includes a speaker, wherein execution of the machine-executable instructions is for:
measuring a playback delay corresponding to delays of the playback audio path and a capture delay corresponding to delays of the captured audio path during operation of the one or more signal processing functions, wherein measuring the playback delay and the capture delay includes measuring delay of a test signal played and received over a feedback channel, and wherein the feedback channel passes through components of the playback audio path and the captured audio path that produce jitter, and wherein the test signal is processed synchronously with the one or more captured signals and the one or more playback signals, and wherein the test signal is not output through the speaker;
storing the measured delays in a memory; and
compensating the one or more signal processing functions for the playback delay and the capture delay.
