IP Library Granted Patent US 11,743,670
Granted Patent B2
US 11,743,670 · App. 17/127,004 · Granted Aug 29, 2023

Correlation-based rendering with multiple distributed streams accounting for an occlusion for six degree of freedom applications

Inventors: S M Akramus Salehin (San Diego, CA); Nils Günther Peters (San Diego, CA); Siddhartha Goutham Swaminathan (San Diego, CA); Isaac Garcia Munoz (San Diego, CA)
Assignee: Qualcomm Incorporated
H04S7/303G06F3/165G10L19/167H04S1/007H04S2400/11H04S2420/01H04S2420/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 11,743,670
App. No.
17/127,004
Granted
Aug 29, 2023
Kind
B2
Abstract

An example device includes a memory configured to store audio data and location data associated with a plurality of audio streams and one or more processors coupled to the memory. The one or more processors are configured to obtain a first location of a first audio stream that includes an audio source and obtain a second location of a second audio stream that includes the audio source. The one or more processors are configured to generate direction vectors originating at the first location and the second location, based on a location of the audio source and the first location, and the location of the audio source and the second location, respectively. The one or more processors are also configured to determine parameters that describe a vector field based on the first direction vector and the second direction vector.

Claims (88)

1. A device comprising:

a memory configured to store audio data and location data associated with a plurality of audio streams; and

one or more processors coupled to the memory, and configured to:

obtain a first location of a first audio stream that includes an audio source;

obtain a second location of a second audio stream that includes the audio source;

generate a first direction vector originating at the first location, based on a location of the audio source and the first location;

generate a second direction vector originating at the second location, based on the location of the audio source and the second location;

determine parameters that describe a vector field based on the first direction vector and the second direction vector;

determine a listener position within the vector field;

obtain a location of a third audio stream;

obtain a location of an occlusion element that occludes a set of flow lines of the vector field; and

modify the vector field, at the listener position, based on a calculation of a plurality of flow lines within the vector field from the third audio stream to the listener position based on a subset of the plurality of the flow lines being modified based on the occlusion element.

2. The device of claim 1 , wherein the one or more processors are further configured to render an audio soundfield based on the parameters and the listener location.

3. The device of claim 1 , further comprising a transmitter configured to transmit the parameters to a rendering device.

4. The device of claim 1 , wherein as part of determining the parameters, the one or more processors are configured to perform a regression or least means square of the first direction vector and the second direction vector.

5. The device of claim 1 , wherein as part of the determine parameters, the one or more processors are configured to:

determine a first plane wave translation of the first audio stream to generate a first wave translated audio stream;

determine a second plane wave translation of the second audio stream to generate a second wave translated audio stream; and

correlate first order components of the first plane wave translated audio stream with the second plane wave translated audio stream.

6. The device of claim 5 , wherein the one or more processors are configured to determine a covariance and a linear invertible transform for one of the first or the second plane wave translated audio streams, and wherein the linear invertible transform comprises a singular value decomposition.

7. The device of claim 5 , wherein the one or more processors are further configured to determine a nearest audio stream of the plane wave translated audio streams to the listener position, wherein the first or the second one of the plane wave translated audio streams comprises the nearest audio stream.

8. The device of claim 5 , wherein the one or more processors are further configured to:

determine a respective delay for each of the first and the second plane wave translated audio streams; and

apply the respective delay to each of the first and the second plane wave translated audio streams.

9. The device of claim 5 , wherein the one or more processors are further configured to convert the first and the second plane wave translated audio streams to ambisonic audio streams at the listener position.

10. The device of claim 1 , wherein the device comprises a mobile handset capable of six degrees of freedom movement associated with the listener position.

11. The device of claim 1 , wherein the device comprises a wearable device capable of six degrees of freedom movement associated with the listener position.

12. The device of claim 1 , wherein the device further comprises a demultiplexer configured to demultiplex the encoded audio data and the location data from a bitstream, and wherein the audio data is encoded audio data and the one or more processors are further configured to decode the encoded audio data associated with the first audio stream and the second audio stream to determine decoded audio data.

13. The device of claim 1 , wherein the device further comprises a multiplexer configured to multiplex the encoded audio data and the location data into a bitstream, and wherein the one or more processors are further configured to encode the audio data associated with the first audio stream and the second audio stream to determine encoded audio data.

14. The device of claim 1 , wherein at least one of the first audio stream and the second audio stream is an ambisonic stream.

15. The device of claim 1 , wherein at least one of the first audio stream and the second audio stream is an audio object.

16. The device of claim 1 , wherein the one or more processors are further configured to beam warp the first audio stream and the second audio stream at the listener position.

17. The device of claim 1 , wherein the one or more processors are further configured to extrapolate a height of a sound field represented by the vector field and based on the parameters in response to a change of a coordinate representing a height at the listener location.

18. The device of claim 1 , wherein generate the first direction vector originating at the first location is based on an inverse based on an energy of the audio source at the first location.

19. The device of claim 1 , wherein generate the second direction vector originating at the second location is based on an inverse based on an energy of the audio source at the second location.

20. The device of claim 1 , wherein the third audio source is a mono audio source.

21. The device of claim 20 , wherein the mono audio source is captured by an additional microphone located on the device.

22. The device of claim 21 , wherein the additional microphone is a spot microphone.

23. The device of claim 21 , further comprising one or more processors configured to generate a third direction vector originating at the location of the mono audio source.

24. The device of claim 23 , wherein the third direction vector is included in the determination of the parameters that describe the vector field that include the plurality of flow lines.

25. The device of claim 24 , wherein the vector field is included in a vector field interpolation between the location of the mono audio source and the location of the first audio stream, wherein the first audio stream is the nearest vector stream.

26. The device of claim 24 , wherein the vector field is included in a vector field interpolation to interpolated to the location of the mono audio source to the location of the listener location, using the first audio stream, wherein the first audio stream is a nearest vector stream.

27. A method comprising:

obtaining a first location of a first audio stream that includes an audio source;

obtaining a second location of a second audio stream that includes the audio source;

generating a first direction vector originating at the first location, based on a location of the audio source and the first location;

generating a second direction vector originating at the second location, based on the location of the audio source and the second location;

determining parameters that describe a vector field based on the first direction vector and the second direction vector;

determining a listener position within the vector field;

obtaining a location of a third audio stream;

obtaining a location of an occlusion element that occludes a set of flow lines of the vector field; and

modifying the vector field, at the listener position, based on a calculation of a plurality of flow lines within the vector field from the third audio stream to the listener position based on a subset of the plurality of the flow lines being modified based on the occlusion element.

28. The method of claim 27 , further comprising rendering an audio soundfield based on the parameters.

29. The method of claim 27 , further comprising transmitting the parameters to a rendering device.

30. The method of claim 27 , wherein determining the parameters comprises performing a regression or least means square of the first direction vector and the second direction vector.

31. The method of claim 27 , wherein the determining the parameters comprises:

determining a first plane wave translation of the first audio stream for generating a first wave translated audio stream;

determining a second plane wave translation of the second audio stream for generating a second wave translated audio stream;

correlating first order components of the first plane wave translated audio stream with the second plane wave translated audio streams.

32. The method of claim 31 , determining a covariance and a linear invertible transform for one of the first or second plane wave translated audio streams, and wherein the linear invertible transform comprises a singular value decomposition.

33. The method of claim 31 , further comprising determining a nearest audio stream of the plane wave translated audio streams to the listener position, wherein the first or the second one of the plane wave translated audio streams comprises the nearest audio stream.

34. The method of claim 31 , further comprising:

determining a respective delay for each of the first and the second plane wave translated audio streams; and

applying the respective delay to each of the first and the second plane wave translated audio streams.

35. The method of claim 31 , further comprising:

convert the first and the second plane wave translated audio streams to ambisonic audio streams at the listener position.

36. The method of claim 27 , wherein at least one of the first audio stream and the second audio stream is an ambisonic stream.

37. The method of claim 27 , wherein at least one of the first audio stream and the second audio stream is an audio object.

38. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause one or more processors to:

obtain a first location of a first audio stream that includes an audio source;

obtain a second location of a second audio stream that includes the audio source;

generate a first direction vector originating at the first location, based on a location of the audio source and the first location;

generate a second direction vector originating at the second location, based on the location of the audio source and the second location;

determine parameters that describe a vector field based on the first direction vector and the second direction vector;

determine a listener position within the vector field;

obtain a location of a third audio stream;

obtain a location of an occlusion element that occludes a set of flow lines of the vector field; and

modify the vector field, at the listener position, based on a calculation of a plurality of flow lines within the vector field from the third audio stream to the listener position based on a subset of the plurality of the flow lines being modified based on the occlusion element.

39. A device comprising:

means for obtaining a first location of a first audio stream that includes an audio source;

means for obtaining a second location of a second audio stream that includes the audio source;

means for generating a first direction vector originating at the first location, based on a location of the audio source and the first location;

means for generating a second direction vector originating at the second location, based on the location of the audio source and the second location;

means for determining parameters that describe a vector field based on the first direction vector and the second direction vector;

means for determining a listener position within the vector field;

means for obtaining a location of a third audio stream;

means for obtaining a location of an occlusion element that occludes a set of flow lines of the vector field; and

means for modifying the vector field, at the listener position, based on a calculation of a plurality of flow lines within the vector field from the third audio stream to the listener position based on a subset of the plurality of the flow lines being modified based on the occlusion element.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2021
From: SALEHIN, S M AKRAMUS; PETERS, NILS GÜNTHER; SWAMINATHAN, SIDDHARTHA GOUTHAM; MUNOZ, ISAAC GARCIA
To: QUALCOMM INCORPORATED
Reel/Frame 055750/0029 →
Continuity (1)
Related Publication 20220201418A1 · Jun 23, 2022