PULSE ENCODING AND DECODING METHOD AND PULSE CODEC
First Claim
1. An audio signal encoder comprising a processor and a non-transitory computer readable medium storing instructions for execution by the processor, wherein when the instructions are executed by the processor, the processor is configured to:
- obtain an audio signal;
determine number of pulses on each of T tracks of the audio signal, wherein T is an integer greater than or equal to 2;
collect statistics of pulses on multiple positions on each track, wherein the statistics of pulses on a tth track, 0≤
t≤
T−
1, include;
(a) number of positions Nt that have pulses, (b) distribution of the Nt positions on the tth track, (c) number of pulses on each of the Nt positions, and (d) symbols of the pulses on each of the Nt positions;
determine, for each track, a first index I1t, wherein I1t is a value determined according to the number of the positions Nt and wherein all possible distributions of the Nt positions on the tth track correspond to the first index I1t, where 0≤
t≤
T−
1;
determine, for each track, a second index I2t, wherein the second index I2t indicates, among the all the possible distributions of the Nt positions, a current distribution of the Nt positions on the tth track, where 0≤
t≤
T−
1;
determine, for each track, a third index I3t by mapping distributions in which the Nt positions have pulses to distributions that the Nt positions have −
Nt pulses, where 0≤
t≤
T−
1, wherein (a) Nt represents a total number of pulses on the tth track, (b) all possible distributions of the −
Nt pulses on the Nt positions are arrayed according to a set order, and (c) an arrayed serial number obtained by the above arraying process is used as the third index I3t indicating the number of pulses on a position that has a pulse;
generate a symbol index Ist according to the symbols of the pulses on each of the Nt positions;
generate, for each track, a joint index using information of the first, the second, the third, and the fourth indexes of the track;
compare the joint index with an adjustment threshold (THR), wherein THR≤
2Bmax−
Imax(T), Imax(T) represents an upper limit of the joint index, and Bmax represents an upper limit of the number of bits used for encoding the joint index; and
when the joint index is smaller than the THR, encode the joint index by using a first number of code bits and transmit the encoded joint index;
orwhen the joint index is greater than or equal to the THR, encode the joint index plus an offset value (THR0) by using a second number of code bits and transmit the encoded joint index plus the THR0, wherein (a) THR≤
THR0≤
2Bmax−
Imax(T), (b) the first number of coding bits is smaller than the second number of coding bits, (c) the second number of coding bits is smaller than or equal to Bmax, and (d) the first number of coding bits and the second number of coding bits are both positive integers.
0 Assignments
0 Petitions
Accused Products
Abstract
In a pulse encoding and decoding method and a pulse codec, more than two tracks are jointly encoded, so that free codebook space in the situation of single track encoding can be combined during joint encoding to become code bits that may be saved. Furthermore, a pulse that is on each track and required to be encoded is combined according to positions, and the number of positions having pulses, distribution of the positions that have pulses on the track, and the number of pulses on each position that has a pulse are encoded separately, so as to avoid separate encoding performed on multiple pulses of a same position, thereby further saving code bits.
-
Citations
12 Claims
-
1. An audio signal encoder comprising a processor and a non-transitory computer readable medium storing instructions for execution by the processor, wherein when the instructions are executed by the processor, the processor is configured to:
-
obtain an audio signal; determine number of pulses on each of T tracks of the audio signal, wherein T is an integer greater than or equal to 2; collect statistics of pulses on multiple positions on each track, wherein the statistics of pulses on a tth track, 0≤
t≤
T−
1, include;
(a) number of positions Nt that have pulses, (b) distribution of the Nt positions on the tth track, (c) number of pulses on each of the Nt positions, and (d) symbols of the pulses on each of the Nt positions;determine, for each track, a first index I1t, wherein I1t is a value determined according to the number of the positions Nt and wherein all possible distributions of the Nt positions on the tth track correspond to the first index I1t, where 0≤
t≤
T−
1;determine, for each track, a second index I2t, wherein the second index I2t indicates, among the all the possible distributions of the Nt positions, a current distribution of the Nt positions on the tth track, where 0≤
t≤
T−
1;determine, for each track, a third index I3t by mapping distributions in which the Nt positions have pulses to distributions that the Nt positions have −
Nt pulses, where 0≤
t≤
T−
1, wherein (a) Nt represents a total number of pulses on the tth track, (b) all possible distributions of the −
Nt pulses on the Nt positions are arrayed according to a set order, and (c) an arrayed serial number obtained by the above arraying process is used as the third index I3t indicating the number of pulses on a position that has a pulse;generate a symbol index Ist according to the symbols of the pulses on each of the Nt positions; generate, for each track, a joint index using information of the first, the second, the third, and the fourth indexes of the track; compare the joint index with an adjustment threshold (THR), wherein THR≤
2Bmax−
Imax(T), Imax(T) represents an upper limit of the joint index, and Bmax represents an upper limit of the number of bits used for encoding the joint index; andwhen the joint index is smaller than the THR, encode the joint index by using a first number of code bits and transmit the encoded joint index;
orwhen the joint index is greater than or equal to the THR, encode the joint index plus an offset value (THR0) by using a second number of code bits and transmit the encoded joint index plus the THR0, wherein (a) THR≤
THR0≤
2Bmax−
Imax(T), (b) the first number of coding bits is smaller than the second number of coding bits, (c) the second number of coding bits is smaller than or equal to Bmax, and (d) the first number of coding bits and the second number of coding bits are both positive integers. - View Dependent Claims (2, 3, 4)
-
-
5. A communication system, comprising an audio signal encoder and an audio signal decoder, wherein the audio signal encoder comprises a processor and a non-transitory computer readable medium storing instructions for execution by the processor, wherein when the instructions are executed by the processor, the processor is configured to:
-
obtain an audio signal; determine number of pulses on each of T tracks of the audio signal, wherein T is an integer greater than or equal to 2; collect statistics of pulses on multiple positions on each track, wherein the statistics of pulses on the tth track, 0≤
t≤
T−
1, include;
(a) number of positions Nt that have pulses, (b) distribution of the Nt positions on the tth track, (c) number of pulses on each of the Nt positions, and (d) symbols of the pulses on each of the Nt positions;determine, for each track, a first index I1t according to the number of the positions Nt and wherein all possible distributions of the Nt positions on the tth track correspond to the first index I1t, where 0≤
T≤
T−
1;determine, for each track, a second index I2t, wherein the second index I2t indicates, among the all possible distributions corresponding to the first index I1t, a current distribution of the Nt positions on the tth track, where 0≤
t≤
T−
1;determine, for each track, a third index I3t by mapping distributions in which the Nt positions have pulses to distributions that Nt positions have −
Nt pulses, where 0≤
t≤
T−
1, wherein (a) Nt represents a total number of pulses on the tth track, (b) all possible distributions of the −
Nt pulses on Nt positions are arrayed according to a set order, and (c) an arrayed serial number obtained by the above arraying process is used as the third index I3t indicating the number of pulses on a position that has a pulse;generate a symbol index Ist according to the symbols of the pulses on each of the Nt positions; generate, for each track, a joint index using information of the first, second, third, and symbol indexes of the track; compare the joint index with an adjustment threshold (THR), wherein THR≤
2Bmax−
Imax(T), Imax(T) represents an upper limit of the joint index, and Bmax represents an upper limit of the number of bits used for encoding the joint index; andwhen the joint index is smaller than the THR, encode the joint index by using a first number of code bits and transmit the encoded joint index;
orwhen the joint index is greater than or equal to the THR, encode the joint index plus an offset value THR0 by using a second number of code bits and transmit the encoded joint index, wherein (a) THR≤
THR0≤
2Bmax−
Imax(T), (b) the first number of coding bits is smaller than the second number of coding bits, (c) the second number of coding bots is smaller than or equal to Bmax, and (d) the first number of coding bits and the second number of coding bits are both positive integers. - View Dependent Claims (6, 7, 8)
-
-
9. An audio signal encoding method for use by an audio signal encoder in a terminal device, the method comprising:
-
obtaining an audio signal; determining number of pulses on each of T tracks of the audio signal, wherein T is an integer greater than or equal to 2; collecting statistics of pulses on multiple positions on each track, wherein the statistics of pulses on a tth track, 0≤
t≤
T−
1, include;
(a) number of positions Nt that have pulses, (b) distribution of the Nt positions on the tth track, (c) number of pulses on each of the Nt positions, and (d) symbols of the pulses on each of the Nt positions;determining, for each track, a first index I1t according to the number of the positions Nt, and wherein all possible distributions of the Nt positions on the tth track correspond to the first index I1t, where 0≤
t≤
T−
1;determining, for each track, a second index I2t, wherein the second index I2t indicates, among the all possible distributions corresponding to the first index I1t, a current distribution of the Nt positions on the tth track, where 0≤
t≤
T−
1;determining, for each track, a third index I3t by mapping distributions in which the Nt positions have pulses to distributions that the Nt positions have −
Nt pulses, where 0≤
t≤
T−
1, wherein (a) Nt represents a total number of pulses on the tth track, (b) all possible distributions of the −
Nt pulses on the Nt positions are arrayed according to a set order, and (c) an arrayed serial number obtained by the above arraying process is used as the third index I3t indicating the number of pulses on a position that has a pulse;generating a symbol index Ist according to the symbols of the pulses on each of the Nt positions; generating, for each track, a joint index using information of the first, the second, the third, and the fourth indexes of the track; comparing the joint index with an adjustment threshold (THR), wherein THR≤
2Bmax−
Imax(T), Imax(T) represents an upper limit of the joint index, and Bmax represents an upper limit of the number of bits used for encoding the joint index; andwhen the joint index is smaller than the THR, encoding the joint index by using a first number of code bits and transmitting the encoded joint index;
orwhen the joint index is greater than or equal to the THR, encoding the joint index plus an offset value (THR0) by using a second number of code bits and transmitting the encoded joint index plus the THR0, wherein (a) THR≤
THR0≤
2Bmax−
Imax(T), (b) the first number of coding bits is smaller than the second number of coding bits, (c) the second number of coding bits is smaller than or equal to Bmax, and (d) the first number of coding bits and the second number of coding bits are both positive integers. - View Dependent Claims (10, 11, 12)
-
Specification