IP Library › Granted Patent US 11,676,612
Granted Patent B2
US 11,676,612 · App. 17/257,813 · Granted Jun 13, 2023

Determination of spatial audio parameter encoding and associated decoding

Inventors: Adriana Vasilache (Tampere, FI); Anssi Rämö (Tampere, FI); Lasse Laaksonen (Tampere, FI)
Assignee: NOKIA TECHNOLOGIES OY
G10L19/0204G10L19/002G10L19/008G10L19/038
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,676,612
App. No.
17/257,813
Granted
Jun 13, 2023
Kind
B2
Abstract

An apparatus comprising means for: receiving values for sub-bands of a frame of an audio signal, the values comprising at least one azimuth value, at least one elevation value and at least one energy ratio value for each sub-band; determining an allocation of first number of bits to encode the values of the frame, wherein the first number of bits are fixed; encoding the at least one energy ratio value for a frame based on a defined allocation of a second number of bits from the first number of bits; encoding the at least one azimuth value and/or at least one elevation value of the frame based on a defined allocation of a third number of bits from the first number of bits, wherein the third number of bits is variably distributed on a sub-band-by-sub-band basis.

Claims (55)

1. An apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to at least to:

receive values for sub-bands of a frame of an audio signal, the values comprising at least one azimuth value, at least one elevation value and at least one energy ratio value for each sub-band;

determine an allocation of a first number of bits to encode the values of the frame, wherein the first number of bits are fixed;

encode the at least one energy ratio value for each sub band of the frame based on a defined allocation of a second number of bits from the first number of bits; and

encode the at least one azimuth value and/or the at least one elevation value for each sub band of the frame based on a defined allocation of a third number of bits from the first number of bits, wherein the third number of bits is variably distributed on a sub-band-by-sub-band basis by the apparatus being further caused to: determine an initial estimate for the distribution of the third number of bits on a sub-band-by-sub-band basis, the initial estimate based on the at least one energy ratio value for the sub-band; and

spatial quantize the at least one azimuth value and/or at least one elevation value based on the initial estimate for the distribution of the third number of bits on a sub-band-by-sub-band basis to generate at least one azimuth index and/or at least one elevation index for each sub-band.

2. The apparatus as claimed in claim 1 , wherein the frame is divided into a plurality of subframes for each sub band, wherein at least one energy ratio value is associated with each of the plurality of subframes and wherein the apparatus caused to encode the at least one energy ratio value for each sub band of the frame based on a defined allocation of a second number of bits from the first number of bits is further caused to:

generate a weighted average of the at least one energy ratio value, for each sub band, from the energy ratio value associated with each of the plurality of subframes for the sub band; and

encode the weighted average of the at least one energy ratio value based on the second number of bits.

3. The apparatus as claimed in claim 2 , wherein the apparatus caused to encode the weighted average of the at least one energy ratio value based on the second number of bits is further caused to scalar non-uniform quantize the at least one weighted average of the at least one energy ratio value.

4. The apparatus as claimed in claim 1 , wherein the apparatus caused to encode the at least one azimuth value and/or the at least one elevation value for each sub band of the frame based on a defined allocation of a third number of bits from the first number of bits, wherein the third number of bits is variably distributed on a sub-band-by-sub-band basis is further caused to encode on a sub-band-by-sub-band basis by determining a reduced distribution of the third number of bits on a sub-band-by-sub-band basis, the reduced estimate based on the initial distribution and the defined allocation of the second number of bits.

5. The apparatus as claimed in claim 4 , wherein the apparatus caused to encode the at least one azimuth value and/or the at least one elevation value for each sub band of the frame based on a defined allocation of a third number of bits from the first number of bits, wherein the third number of bits is variably distributed on a sub-band-by-sub-band basis is further caused to encode on a sub-band-by-sub-band basis by being caused to:

determine an allocation of bits for encoding the at least one azimuth index and/or the at least one elevation index for a sub-band based on the reduced distribution;

estimate a number of bits required to entropy encode the at least one azimuth index and/or the at least one elevation index for the sub band;

entropy encode the at least one azimuth index and/or the at least one elevation index based on the number of bits required to entropy encode the at least one azimuth index and/or the at least one elevation index being less than the allocation of bits for encoding the at least one azimuth index and/or at least one elevation index for the sub-band and fixed rate encode based on the allocation of bits otherwise;

generate a signalling bit identifying the encoding of the at least one azimuth index and/or the at least one elevation index for the sub band; and

distribute any available bits from the difference of the allocation of bits for encoding the at least one azimuth index and/or the at least one elevation index for the sub-band and the sum of the number of bits to encode the sub-band and the signalling bit for a further allocation of bits for encoding at least one azimuth index and/or at least one elevation index for a further sub-band or decreasing a further allocation of bits for encoding the at least one azimuth index and/or the at least one elevation index for the further sub-band by one bit otherwise.

6. The apparatus as claimed in claim 5 , wherein the apparatus caused to encode the at least one azimuth value and/or the at least one elevation value of the frame based on a defined allocation of a third number of bits from the first number of bits, wherein the third number of bits is variably distributed on a sub-band-by-sub-band basis is further caused to encode on a sub-band-by-sub-band basis by being caused to:

determine an allocation of bits for encoding the at least one azimuth index and/or at least one elevation index for a last sub-band based on the reduced distribution; and

fixed rate encode the at least one azimuth index and/or the at least one elevation index for the last sub-band based on the reduced distribution allocation of bits.

7. The apparatus as claimed in claim 5 , wherein the apparatus caused to entropy encode the at least one azimuth index and/or the at least one elevation index based on the number of bits required to entropy encode the at least one azimuth index and/or the at least one elevation index is caused to Golomb Rice encode with two GR parameter values.

8. The apparatus as claimed in claim 4 , wherein the apparatus caused to encode on a sub-band-by-sub-band basis by being caused to determine a reduced distribution of the third number of bits on a sub-band-by-sub-band basis, the reduced estimate based on the initial estimate and the defined allocation of the second number of bits is further caused to uniformly reduce on the sub-band-by-sub-band basis an allocation of bits for encoding the at least one azimuth index and/or the at least one elevation index.

9. The apparatus as claimed in claim 1 , wherein the apparatus caused to encode the at least one azimuth value and/or the at least one elevation value for each sub band of the frame based on a defined allocation of a third number of bits from the first number of bits, wherein the third number of bits is variably distributed on a sub-band-by-sub-band basis is further caused to for at least one of:

assign indexes for encoding in increasing order of the distance from a frontal direction; and

assign the index in increasing order of the azimuth value.

10. The apparatus as claimed in claim 1 , wherein the apparatus is further caused to: store and/or transmit the encoded at least one energy ratio value for each sub band of the frame and at least one azimuth value and/or at least one elevation value.

11. An apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to at least to:

receive encoded values for sub-bands of a frame of an audio signal, the values comprising at least one azimuth index, at least one elevation index and at least one energy ratio value for each sub-band of the frame; and

decode the encoded values based on a defined allocation of bits wherein decoding the at least one azimuth index and/or at least one elevation index for each sub band of the frame uses a variably distributed bit allocation on a sub-band-by-sub-band basis, by being further caused to:

determine an initial allocation of bits distribution used to decode the at least one azimuth index and/or at least one elevation index for each sub-band based on the at least one energy ratio value for each sub-band;

determine a reduced allocation of bits distribution based on the initial allocation of bits distribution and an allocation of bits distribution for decoding the at least one energy ratio value of the frame; and

decode the at least one azimuth index and/or at least one elevation index of each sub band of the frame based on the reduced allocation of bits distribution.

12. The apparatus as claimed in claim 11 , wherein the apparatus caused to decode the at least one azimuth index and/or the at least one elevation index of the frame based on the reduced allocation of bits distribution is further caused to:

determine an allocation of bits for decoding the at least one azimuth index and/or at least one elevation index for a sub-band based on the reduced distribution;

entropy decode the at least one azimuth index and/or the at least one elevation index based on a signalling bit indicating entropy encoding and fixed rate decoding otherwise; and

distribute any available bits from the difference of the allocation of bits for decoding the at least one azimuth index and/or at least one elevation index for the sub-band and the sum of the number of bits to decode the sub-band and the signalling bit for a further allocation of bits for decoding at least one azimuth index and/or at least one elevation index for the further sub-band or decreasing a further allocation of bits for decoding the at least one azimuth index and/or the at least one elevation index for the further sub-band by one bit otherwise.

13. The apparatus as claimed in claim 12 , wherein the apparatus caused to decode the at least one azimuth index and/or the at least one elevation index of the frame based on the reduced allocation of bits distribution is caused to:

determine an allocation of bits for decoding the at least one azimuth index and/or the at least one elevation index for a last sub-band based on the reduced distribution; and

fixed rate decode the at least one azimuth index and/or the at least one elevation index for a last sub-band based on the reduced distribution allocation of bits.

14. The apparatus as claimed in claim 12 , wherein the apparatus caused to entropy decode the at least one azimuth index and/or the at least one elevation index is caused to Golomb Rice decode with two GR parameter values.

15. A method comprising:

receiving values for sub-bands of a frame of an audio signal, the values comprising at least one azimuth value, at least one elevation value and at least one energy ratio value for each sub-band;

determining an allocation of first number of bits to encode the values of the frame, wherein the first number of bits are fixed;

encoding the at least one energy ratio value for each sub band of the frame based on a defined allocation of a second number of bits from the first number of bits; and

encoding the at least one azimuth value and/or the at least one elevation value for each sub band of the frame based on a defined allocation of a third number of bits from the first number of bits, wherein the third number of bits is variably distributed on a sub-band-by-sub-band basis by comprising: determining an initial estimate for the distribution of the third number of bits on a sub-band-by-sub-band basis, the initial estimate based on the at least one energy ratio value for the sub-band; and

spatial quantizing the at least one azimuth value and/or at least one elevation value based on the initial estimate for the distribution of the third number of bits on a sub-band-by-sub-band basis to generate at least one azimuth index and/or at least one elevation index for each sub-band.

16. The method as claimed in claim 15 , wherein the frame is divided into a plurality of subframes for each sub band, wherein at least one energy ratio value is associated with each of the plurality of subframes and wherein encoding the at least one energy ratio values for each sub band of the frame based on a defined allocation of a second number of bits from the first number of bits further comprises:

generating a weighted average, for each sub band, from the at least one energy value associated with each of the plurality of subframes for the sub band; and

encoding the weighted average of the at least one energy ratio value based on the second number of bits.

17. A method comprising:

receiving encoded values for sub-bands of a frame of an audio signal, the values comprising at least one azimuth index, at least one elevation index and at least one energy ratio value for each sub-band; and

decoding the encoded values based on a defined allocation of bits wherein decoding the at least one azimuth index and/or the at least one elevation index of the frame uses a variably distributed bit allocation on a sub-band-by-sub-band basis by:

determining an initial allocation of bits distribution used to decode the at least one azimuth index and/or at least one elevation index for each sub-band based on the at least one energy ratio value for each sub-band;

determining a reduced allocation of bits distribution based on the initial allocation of bits distribution and an allocation of bits distribution for decoding the at least one energy ratio value of the frame; and

decoding the at least one azimuth index and/or at least one elevation index of the frame based on the reduced allocation of bits distribution.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2021
From: VASILACHE, ADRIANA; RAMO, ANSSI; LAAKSONEN, LASSE
To: NOKIA TECHNOLOGIES OY
Reel/Frame 054804/0020 →
Priority Claims (1)
GB 1811071 · Jul 5, 2018 · national
Continuity (1)
Related Publication 20210295855A1 · Sep 23, 2021