# US 11,029,914 B2 · Multi-core audio processor with phase coherency

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

- Number: US 11,029,914 B2
- Document ID: US11029914B2
- Status: Granted
- Kind: B2
- Application number: 16/650,845
- Filed: 2018-09-24
- Published: 2020-08-20
- Granted: 2021-06-08
- Earliest claimed: 2017-09-29
- Assignees: Knowles Electronics, LLC
- Applicants: Knowles Electronics, LLC
- Inventors: Erick Alvarado; David Rossum
- Web page: https://patentgrep.com/patent/US11029914B2

## CPC

- G06F 3/162: {Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs}
- H04R 3/00: Circuits for transducers (arrangements for producing a reverberation or echo sound G10K15/08; amplifiers H03F)
- G06F 13/4068: {Electrical coupling}
- G06F 15/16: Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs {(coordinating program control therefor G06F9/52; in regulating and control system G05B)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04R: LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS (producing sounds with frequency not determined by supply frequency G10K)

## Abstract

A multi-core audio processor includes a plurality of data ports configured to receive and transmit data, wherein a first data port of the plurality of data ports is configured to receive data associated with a first stream, a first plurality of audio interface resources configured to perform operations on the data, and a multiplexing unit configured to route data between the plurality of data ports and the first plurality of audio interface resources, the multiplexing unit including a multiplexer associated with each of the first plurality of audio interface resources. The multi-core audio processor also includes a first plurality of transport buffers, at least one transport buffer associated with each of the first plurality of audio interface resources. A first set of buffers of the first plurality of transport buffers is configured to synchronously store data received from the first set of the first plurality of audio interface resources.

## Claims

### Claim 1

A multi-core audio processor comprising:
a plurality of data ports configured to receive and transmit data, wherein a first data port of the plurality of data ports is configured to receive data associated with a first stream;
a first plurality of audio interface resources configured to perform operations on the data; and
a multiplexing unit configured to route data between the plurality of data ports and the first plurality of audio interface resources, the multiplexing unit including a multiplexer associated with each of the first plurality of audio interface resources, wherein a first set of multiplexers is configured to route data associated with the first physical stream to a first set of the first plurality of audio interface resources;
a first transport buffer communicably coupled to the first plurality of audio interface resources, wherein a first set of buffers of the first transport buffer is configured to synchronously store data received from the first set of the first plurality of audio interface resources; and
a programmable register module configured to store a first logical stream identifier in association with a location identifier of the first set of buffers to route data stored in the first set of buffers to an audio processing core in response to the audio processing core providing the first logical stream identifier.

### Claim 2 (depends on 1)

The system claim 1, wherein a second set of multiplexers is configured to route data associated with a second physical stream to a second set of the first plurality of audio interface resources, wherein a second set of buffers of the first transport buffer is configured to synchronously store data received from the second set of the plurality of audio interface resources.

### Claim 3 (depends on 2)

The system claim 2, wherein the first transport buffer includes programmable head of stream register identifying a channel of the first physical stream as a head of the first physical stream and a channel of the second physical stream as a head of the second physical stream.

### Claim 4 (depends on 3)

The system claim 3, wherein consecutive buffers of the first and second sets of buffers are communicably coupled by, wherein a select line of each of the multiplexers is enabled via a separate bit of the programmable head of stream register.

### Claim 5 (depends on 2)

The system claim 2, wherein a third set of multiplexers is configured to route data associated with a third physical stream to a third set of the first plurality of audio interface resources, wherein a third set of buffers of the first transport buffer is configured to synchronously store data received from the third set of the plurality of audio interface resources.

### Claim 6 (depends on 5)

The system claim 5, wherein the first, second, and third sets of buffers include numbers of buffers that correspond to numbers of channels in the first, second, and third physical streams.

### Claim 7 (depends on 1)

The system claim 1, wherein the first plurality of audio interface resources include decimation filter units, wherein each of the first set of the first plurality of audio interface resources is configured to down-sample a separate channel of audio data contained in the first physical stream.

### Claim 8 (depends on 1)

The system claim 1 further comprising:
a second plurality of audio interface resources configured to perform operations on data of a second physical stream received via a second data port, the second physical stream being of a different protocol than the first physical stream, wherein a second set of multiplexers of the multiplexing unit is configured to route data associated with the second physical stream to a subset of the second plurality of audio interface resources; and
a second transport buffer associated with the second plurality of audio interface resources, wherein a set of buffers of the second transport buffer is configured to synchronously store data received from the subset of the second plurality of audio interface resources.

### Claim 9 (depends on 8)

The system claim 8, wherein the first physical stream includes pulse code modulation (PCM)-encoded data and the second physical stream includes pulse density modulation (PDM)-encoded data, wherein the first plurality of audio interface resources are decimation filter units and the second plurality of audio interface resources are PCM receivers.

### Claim 10

A multi-core audio processor, comprising:
a first audio processing core and a second audio processing core having different processing capabilities;
a plurality of data ports configured to receive and transmit data, wherein a first data port of the plurality of data ports is configured to receive data associated with a first physical stream;
a first plurality of audio interface resources configured to perform operations on the data; and
a multiplexing unit configured to route data between the plurality of data ports and the first plurality of audio interface resources, the multiplexing unit including a multiplexer associated with each one of the first plurality of audio interface resources, wherein a first set of multiplexers is configured to route data associated with the first physical stream to a first set of the first plurality of audio interface resources;
a first transport buffer associated with the first plurality of audio interface resources, the first transport buffer including a buffer associated with each one of the first plurality of audio interface resources, wherein a first set of buffers of the first transport buffer is configured to synchronously store data received from the first set of the first plurality of audio interface resources; and
a programmable register module configured to store a first logical stream identifier in association with a location identifier of the first set of buffers to route data stored in the first set of buffers to either the first audio processing core or the second audio processing core based on the first logical stream identifier.

### Claim 11 (depends on 10)

The multi-core audio processor of claim 10, further comprising a second transport buffer associated with the first plurality of audio interface resources, the second transport buffer including a buffer associated with each of the first plurality of audio interface resources, wherein a first set of buffers of the second transport buffer is configured to synchronously transmit data received from the first audio processing core or the second audio processing core to a first subset of the first plurality of audio interface resources.

### Claim 12 (depends on 11)

The multi-core audio processor of claim 11, wherein a second data port of the plurality of data ports receives data associated with a second physical stream, wherein a second set of multiplexers of the multiplexing unit is configured to route the data associated with the second physical stream to a second subset of the first plurality of audio interface resources, wherein a second set of buffers of the first transport buffer is configured to synchronously store data received from the second subset of the plurality of audio interface resources, wherein a second set of buffers of the second transport buffer is configured to synchronously transmit data received from the first audio processing core or the second audio processing core to the second subset of the first plurality of audio interface resources.

### Claim 13 (depends on 12)

The multi-core audio processor of claim 12, further comprising a receiver routing multiplexer communicably coupled to each buffer in the first transport buffer and a transmitting routing multiplexer communicably coupled to each buffer in the second transport buffer.

### Claim 14 (depends on 12)

The multi-core audio processor of claim 12, wherein the first and second transport buffers include programmable head of stream registers identifying a channel of the first physical stream as a head of the first physical stream and a channel of the second physical stream as a head of the second physical stream.

### Claim 15 (depends on 14)

The multi-core audio processor of claim 14, wherein the first and second sets of buffers are communicably coupled by a series of multiplexers of the first transport buffer, wherein a select line of each one of the series of multiplexers is enabled via a separate bit of the programmable head of stream register.

### Claim 16 (depends on 10)

The multi-core audio processor of claim 10, wherein the first set of buffers include asynchronous FIFO buffers.

### Claim 17 (depends on 10)

The multi-core audio processor of claim 10, wherein the first audio processing core is a single sample processing core and the second audio processing core is a block processing core.

### Claim 18

A multi-core audio processor, comprising:
a first audio processing core and a second audio processing core having different processing capabilities;
a plurality of data ports configured to receive and transmit data associated with a first physical stream and a second physical stream;
a plurality of audio interface resources configured to perform operations on the first and second physical streams;
a multiplexing unit including a plurality of multiplexers, wherein a first set of multiplexers of the plurality of multiplexers is configured to route data associated with the first physical stream to a first set of the plurality of audio interface resources, wherein a second set of multiplexers of the plurality of multiplexers is configured to route data associated with the second physical stream to a second set of the plurality of audio interface resources;
at least two transport buffers associated with the plurality of audio interface resources, wherein a first transport buffer of the at least two transport buffers includes a first grouping of buffers, the first grouping of buffers configured to synchronously store data received from the first set of the plurality of audio interface resources; and
a programmable register module configured to store a first logical stream identifier in association with a location identifier of the first grouping of buffers to route data stored in the first grouping of buffers to either the first audio processing core or the second audio processing core in response to the first audio processing core and the second audio processing core providing the first logical stream identifier.

### Claim 19 (depends on 18)

The multi-core audio processor of claim 18, wherein the first and second physical streams are of the same protocol, wherein the first transport buffer includes a second grouping of buffers, the second grouping of buffers configured to synchronously store data received from the second set of the plurality of audio interface resources.

### Claim 20 (depends on 18)

The multi-core audio processor of claim 18, wherein a second transport buffer of the at least two transport buffers includes a first grouping of buffers, the first grouping of buffers of the second transport buffer configured to synchronously store data received from the second set of the plurality of audio interface resources.
