IP Library › Granted Patent US 10,291,783
Granted Patent B2
US 10,291,783 · App. 15/857,020 · Granted May 14, 2019

Collecting and correlating microphone data from multiple co-located clients, and constructing 3D sound profile of a room

Inventor: Abhijit C. Mehta (Mountain View, CA)
Assignee: Akamai Technologies, Inc.
H04M3/568G10L19/167H04L65/403H04L65/608H04L67/02H04L67/10H04L67/104H04L67/1097H04L67/20H04M3/567H04N7/147H04N7/148H04N7/15H04N7/152H04R27/00G10L19/008H04M2203/509H04M2207/40H04R2227/003H04R2430/01H04S3/008H04S7/302H04S2400/11H04S2400/13H04S2400/15H04S2420/11
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 10,291,783
App. No.
15/857,020
Granted
May 14, 2019
Kind
B2
Abstract

An overlay network platform facilitates a multi-party conference. End users participate in the conference using client-based web browser software, and using a protocol such as WebRTC. According to this disclosure, an enhanced “audio” experience for the conference is providing by collecting and correlating microphone data from multiple co-located clients, and then constructing (at the platform) a three-dimensional (3D) sound profile of the room in which the clients are co-located. By processing in the platform (as opposed to locally at each client), the approach enables platform-side creation of an ad-hoc, high quality microphone array that identifies the relative positions and orientations of the microphones that are being used by the clients. Individual audio streams received from the microphones are combined, and the relative position information (of the individual microphones) is used to render a single audio stream that represents a high quality recording of the audio in the common physical space. Other clients in the conference request, receive and play back this high quality stream to obtain a high-fidelity 3D representation of the audio as if they are physically present in the room.

Claims (47)

1. A method of conferencing among a set of clients, comprising:

given a set of audio streams that comprise a conference, identifying a set of clients in the conference that are in a common physical space;

for the identified set of clients, identifying at least one landmark event that is found in each of the audio streams;

with respect to the at least one landmark event, comparing a relative timing and loudness of the landmark event, and using the relative timing and loudness information to infer a relative position of each microphone being used by a client in the set of clients;

combining individual audio streams received from the microphones and using the relative position information to render a single audio stream that represents a high quality recording of the audio in the common physical space; and

in lieu of delivering individual ones of the audio streams, delivering the single audio stream using an HTML5 Web Audio Application Programming Interface (API).

2. The method as described in claim 1 wherein the single audio stream is a stereo or multichannel surround audio stream.

3. The method as described in claim 2 wherein a single stereo or multichannel surround audio stream is delivered for rendering in a web browser.

4. A method of conferencing among a set of clients, comprising:

given a set of audio streams that comprise a conference, identifying a set of clients in the conference that are in a common physical space using passive correlation;

for the identified set of clients, identifying at least one landmark event that is found in each of the audio streams;

with respect to the at least one landmark event, comparing a relative timing and loudness of the landmark event, and using the relative timing and loudness information to infer a relative position of each microphone being used by a client in the set of clients;

combining individual audio streams received from the microphones and using the relative position information to render a single audio stream that represents a high quality recording of the audio in the common physical space; and

in lieu of delivering individual ones of the audio streams, delivering the single audio stream.

5. The method as described in claim 4 wherein the passive correlation uses a machine learning (ML) algorithm.

6. The method as described in claim 1 wherein the set of clients are identified using one of: client IP addresses, and a client physical location.

7. The method as described in claim 6 wherein the client physical location is determine using an HTML5 geolocation API and received via a RESTful HTTP request.

8. The method as described in claim 1 further including mixing an audio stream corresponding to a person currently speaking with the single audio stream to enhance audibility of the person currently speaking.

9. Apparatus associated with an overlay network, comprising:

a hardware processor; and

computer memory holding computer program instructions executed by the hardware processor, the computer program instructions comprising program code executed to carry out operations, the operations comprising:

given a set of audio streams that comprise a conference, identifying a set of clients in the conference that are in a common physical space using one of: passive correlation, and active correlation;

for the identified set of clients, identifying at least one landmark event that is found in each of the audio streams;

with respect to the at least one landmark event, comparing a relative timing and loudness of the landmark event, and using the relative timing and loudness information to infer a relative position of each microphone being used by a client in the set of clients;

combining individual audio streams received from the microphones and using the relative position information to render a single audio stream that represents a high quality recording of the audio in the common physical space; and

in lieu of delivering individual ones of the audio streams, delivering the single audio stream.

10. The method as described in claim 4 wherein the single audio stream is delivered using an HTML5 Web Audio Application Programming Interface (API).

11. A method of conferencing among a set of clients, comprising:

given a set of audio streams that comprise a conference, identifying a set of clients in the conference that are in a common physical space using active correlation;

for the identified set of clients, identifying at least one landmark event that is found in each of the audio streams;

with respect to the at least one landmark event, comparing a relative timing and loudness of the landmark event, and using the relative timing and loudness information to infer a relative position of each microphone being used by a client in the set of clients;

combining individual audio streams received from the microphones and using the relative position information to render a single audio stream that represents a high quality recording of the audio in the common physical space; and

in lieu of delivering individual ones of the audio streams, delivering the single audio stream.

12. A method of conferencing among a set of clients, comprising:

given a set of audio streams that comprise a conference, identifying a set of clients in the conference that are in a common physical space, wherein the set of clients are identified using one of: client IP addresses, and a client physical location determined using an HTML5 geolocation Application Programming Interface (API) received via a RESTful HTTP request;

for the identified set of clients, identifying at least one landmark event that is found in each of the audio streams;

with respect to the at least one landmark event, comparing a relative timing and loudness of the landmark event, and using the relative timing and loudness information to infer a relative position of each microphone being used by a client in the set of clients;

combining individual audio streams received from the microphones and using the relative position information to render a single audio stream that represents a high quality recording of the audio in the common physical space; and

in lieu of delivering individual ones of the audio streams, delivering the single audio stream.

13. The method as described in claim 4 wherein the single audio stream is delivered using an HTML5 Web Audio Application Programming Interface (API).

14. The method as described in claim 11 wherein the single audio stream is delivered using an HTML5 Web Audio Application Programming Interface (API).

15. The method as described in claim 12 wherein the single audio stream is delivered using an HTML5 Web Audio Application Programming Interface (API).

16. The method as described in claim 9 further including mixing an audio stream corresponding to a person currently speaking with the single audio stream to enhance audibility of the person currently speaking.

17. The method as described in claim 11 further including mixing an audio stream corresponding to a person currently speaking with the single audio stream to enhance audibility of the person currently speaking.

18. The method as described in claim 12 further including mixing an audio stream corresponding to a person currently speaking with the single audio stream to enhance audibility of the person currently speaking.

19. The apparatus as described in claim 9 wherein the operations further comprise mixing an audio stream corresponding to a person currently speaking with the single audio stream to enhance audibility of the person currently speaking.

20. The apparatus as described in claim 9 wherein the single audio stream is delivered using an HTML5 Web Audio Application Programming Interface (API).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2018
From: MEHTA, ABHIJIT C.
To: AKAMAI TECHNOLOGIES, INC.
Reel/Frame 044922/0267 →
Continuity (2)
Provisional Application 62440509 · Dec 30, 2016
Related Publication 20180191908A1 · Jul 5, 2018