Pulse encoding and decoding method and pulse codec
First Claim
1. A terminal device with an audio coder comprising a processor and non-transitory computer readable medium storing instructions for execution by the processor such that when the instructions are executed by the processor, the processor is configured to perform:
- determining pulses that are on T tracks of a speech signal and required to be encoded, wherein T is an integer greater than or equal to 2;
separately collecting, according to positions on the T tracks, statistics about pulses on each track and to be encoded, wherein the statistics include (a) a number Nt of positions that have pulses on each track, wherein the subscript t represents a tth track, t∈
[0, T−
1], (b) distribution of the Nt positions, and (c) a number of pulses on each position that has a pulse;
determining a first index of each track according to the number of the Nt positions, wherein the first index corresponds to all possible distribution situations of the Nt positions;
determining a second index of each track according to a distribution of the Nt positions, wherein the second index indicates, among the all possible distribution situations corresponding to the first index, a distribution situation corresponding to a current distribution of the Nt positions;
determining a third index of each of the T tracks by mapping situations in which the Nt positions have t pulses to situations that the Nt positions have t−
Nt pulses for the tth track, wherein (a) t represents a total number of pulses to be encoded on the tth track, (b) all possible distribution situations of the t−
Nt pulses on the Nt positions are arrayed according to a set order, and an arrayed serial number is used as the third index indicating the number of pulses on a position that has a pulse;
generating a joint index comprising information of the first, second, and third indexes of each of the tracks;
comparing the joint index with an adjustment threshold (THR), whereinTHR≦
2Bmax−
Imax(T), Imax(T) represents an upper limit value of the joint index, and Bmax represents an upper limit value of the number of bits used for encoding the joint index; and
if the joint index is smaller than THR, the joint index is encoded by using a first number of code bits then transmitted;
otherwise, the joint index plus an offset value THR0 is encoded by using a second number of code bits then transmitted, wherein (a) THR≦
THR0≦
2Bmax−
Imax(T), (b) the first number is smaller than the second number, (c) the second number is smaller than or equal to Bmax, and (d) the first number and the second number 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. A terminal device with an audio coder comprising a processor and non-transitory computer readable medium storing instructions for execution by the processor such that when the instructions are executed by the processor, the processor is configured to perform:
-
determining pulses that are on T tracks of a speech signal and required to be encoded, wherein T is an integer greater than or equal to 2; separately collecting, according to positions on the T tracks, statistics about pulses on each track and to be encoded, wherein the statistics include (a) a number Nt of positions that have pulses on each track, wherein the subscript t represents a tth track, t∈
[0, T−
1], (b) distribution of the Nt positions, and (c) a number of pulses on each position that has a pulse;determining a first index of each track according to the number of the Nt positions, wherein the first index corresponds to all possible distribution situations of the Nt positions; determining a second index of each track according to a distribution of the Nt positions, wherein the second index indicates, among the all possible distribution situations corresponding to the first index, a distribution situation corresponding to a current distribution of the Nt positions; determining a third index of each of the T tracks by mapping situations in which the Nt positions have t pulses to situations that the Nt positions have t−
Nt pulses for the tth track, wherein (a) t represents a total number of pulses to be encoded on the tth track, (b) all possible distribution situations of the t−
Nt pulses on the Nt positions are arrayed according to a set order, and an arrayed serial number is used as the third index indicating the number of pulses on a position that has a pulse;generating a joint index comprising information of the first, second, and third indexes of each of the tracks; comparing the joint index with an adjustment threshold (THR), wherein THR≦
2Bmax−
Imax(T), Imax(T) represents an upper limit value of the joint index, and Bmax represents an upper limit value of the number of bits used for encoding the joint index; andif the joint index is smaller than THR, the joint index is encoded by using a first number of code bits then transmitted; otherwise, the joint index plus an offset value THR0 is encoded by using a second number of code bits then transmitted, wherein (a) THR≦
THR0≦
2Bmax−
Imax(T), (b) the first number is smaller than the second number, (c) the second number is smaller than or equal to Bmax, and (d) the first number and the second number are both positive integers. - View Dependent Claims (2, 3, 4)
-
-
5. A communication system with an audio coder and an audio decoder, the audio coder comprising a processor and non-transitory computer readable medium storing instructions for execution by the processor such that when the instructions are executed by the processor, the processor is configured to perform:
-
determining pulses that are on T tracks of a speech signal and required to be encoded, wherein T is an integer greater than or equal to 2; separately collecting, according to positions on the T tracks, statistics about a pulse on each track and to be encoded, wherein the statistics include (s) a number Nt of positions that have pulses on each track, wherein the subscript t represents a tth track, t∈
[0, T—
1], (b) distribution of the Nt positions, and (c) a number of pulses on each position that has a pulse;determining a first index of each track according to the number of the Nt positions wherein the first index corresponds to all possible distribution situations of the Nt positions; determining a second index of each track according to distribution of the Nt positions, wherein the second index indicates, among all possible distribution situations corresponding to the first index, a distribution situation corresponding to a current position of the Nt positions; determining a third index of each of the T tracks by mapping situations in which the Nt positions have t pulses to situations that Nt positions have t−
Nt pulses for the tth track, wherein (a) t represents a total number of pulses to be encoded on the tth track, (b) all possible distribution situations of t−
Nt pulses on Nt positions are arrayed according to set order, and (c) an arrayed serial number is used as the third index indicating the number of pulses on a position that has a pulse;generating, a joint index, wherein the joint index comprises information of the first, second, and third indexes of each of the tracks; comparing the joint index with an adjustment threshold (THR), wherein
THR≦
2Bmax−
Imax(T),Imax(T) represents an upper limit value of the joint index, and Bmax represents an upper limit value of the number of bits used for encoding the joint index; and if the joint index is smaller than THR, the joint index is encoded by using a first number of code bits then transmitted, wherein (a) THR≦
THR0≦
2Bmax−
Imax(T), (b) the first number is smaller than the second number, (c) the second number is smaller than or equal to Bmax, and (d) the first number and the second number are both positive integers. - View Dependent Claims (6, 7, 8)
-
-
9. An audio coding method implemented by an audio coder at a terminal device, the method comprising:
-
determining pulses that are on T tracks of a speech signal and required to be encoded, wherein T is an integer greater than or equal to 2; separately collecting, according to positions, statistics about pulses on each track and to be encoded, wherein the statistics include (a) a number Nt of positions that have pulses on each track, wherein the subscript t represents a tth track, and t∈
[0, T—
1], (b) distribution of the positions, and (c) a number of pulses on each position that has a pulse.determining a first index of each track according to the number of the Nt position wherein the first index corresponds to all possible distribution situations of the Nt positions; determining, a second index of each track according to distribution of the Nt positions, wherein the second index indicates, among all possible distribution situations corresponding to the first index, a distribution situation corresponding to a current position of the Nt positions; determining a third index of each of the T tracks by mapping situations in which the Nt positions have t pulses to situations that Nt positions have t−
Nt pulses for the tth track;
wherein (a) t represents a total number of pulses to be encoded on the tth track, (b) all possible distribution situations of t−
Nt pulses on Nt positions are arrayed according to set order, and (c) an arrayed serial number is used as the third index indicating the number of pulses on a position that has a pulse;generating, a joint index comprising information of the first, second, and third indexes of each of the tracks; comparing the joint index with an adjustment threshold (THR), wherein
THR≦
2Bmax−
Imax(T),Imax(T) represents an upper limit value of the joint index, and Bmax represents an upper limit value of the number of bits used for encoding the joint index; and if the joint index is smaller than THR, the joint index is encoded by using a first number of code bits then transmitted; otherwise, the joint index plus an offset value THR0 is encoded by using a second number of code bits then transmitted, wherein (a) THR≦
THR0≦
2Bmax−
Imax(T), (b) the first number is smaller than the second number, (c) the second number is smaller than or equal to Bmax, and (d) the first number and the second number are both positive integers. - View Dependent Claims (10, 11, 12)
-
Specification