Pulse encoding and decoding method and pulse codec
First Claim
Patent Images
1. A pulse encoding method comprising:
- determining, by a speech pulse encoder, pulses that are on T tracks and required to be encoded, wherein T is an integer greater than or equal to 2;
separately collecting, by the speech pulse encoder, according to positions, statistics about a pulse that is on each track and required to be encoded, to obtain the number Nt of positions that have pulses on each track, distribution of the positions that have pulses on the track, and the number of pulses on each position that has a pulse, wherein the subscript t represents a tth track, and tε
[0, T−
1];
according to the number of positions that have pulses and are on each track, determining, by the speech pulse encoder, a first index I1t of each track, wherein the first index I1t corresponds to all possible distribution situations of positions that have pulses and are on each track under the number of the positions having pulses, wherein the number of the positions having pulses is represented it;
determining, by the speech pulse encoder, a second index I2t of each track separately according to distribution of positions that have pulses and are on each track, wherein the second index indicates, among all possible distribution situations corresponding to the first index, a distribution situation which corresponds to distribution of current positions having pulses and is on the track;
determining, by the speech pulse encoder, a third index I3t of each track separately according to the number of pulses on each position that has the pulse and is on each track;
wherein the step of determining a third index I3t of each track separately according to the number of pulses on each position that has the pulses and is on each track comprises;
for the tth track, situations that Nt positions having pulses have pulses are mapped to situations that Nt positions have −
Nt pulses, wherein represents the total number of pulses required to be encoded on the tth track; and
according to set order, all possible distribution situations of −
Nt pulses on Nt positions are arrayed, and an arrayed serial number is used as the third index I3t indicating the number of pulses on a position that has a pulse; and
generating, by the speech pulse encoder, a code index hid, wherein the code index comprises information of the first, second, and third indexes of each track; and
encoding and transmitting the code index hid to a decoding device.
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.
22 Citations
10 Claims
-
1. A pulse encoding method comprising:
-
determining, by a speech pulse encoder, pulses that are on T tracks and required to be encoded, wherein T is an integer greater than or equal to 2; separately collecting, by the speech pulse encoder, according to positions, statistics about a pulse that is on each track and required to be encoded, to obtain the number Nt of positions that have pulses on each track, distribution of the positions that have pulses on the track, and the number of pulses on each position that has a pulse, wherein the subscript t represents a tth track, and tε
[0, T−
1];according to the number of positions that have pulses and are on each track, determining, by the speech pulse encoder, a first index I1t of each track, wherein the first index I1t corresponds to all possible distribution situations of positions that have pulses and are on each track under the number of the positions having pulses, wherein the number of the positions having pulses is represented it; determining, by the speech pulse encoder, a second index I2t of each track separately according to distribution of positions that have pulses and are on each track, wherein the second index indicates, among all possible distribution situations corresponding to the first index, a distribution situation which corresponds to distribution of current positions having pulses and is on the track; determining, by the speech pulse encoder, a third index I3t of each track separately according to the number of pulses on each position that has the pulse and is on each track;
wherein the step of determining a third index I3t of each track separately according to the number of pulses on each position that has the pulses and is on each track comprises;
for the tth track, situations that Nt positions having pulses have pulses are mapped to situations that Nt positions have −
Nt pulses, wherein represents the total number of pulses required to be encoded on the tth track; and
according to set order, all possible distribution situations of −
Nt pulses on Nt positions are arrayed, and an arrayed serial number is used as the third index I3t indicating the number of pulses on a position that has a pulse; andgenerating, by the speech pulse encoder, a code index hid, wherein the code index comprises information of the first, second, and third indexes of each track; and encoding and transmitting the code index hid to a decoding device. - View Dependent Claims (2, 3, 4)
-
-
5. A non-transitory computer readable storage medium in a speech pulse encoder, wherein the computer readable storage medium stores computer executable instructions which when executed causes a processor in the speech pulse encoder to:
-
determine 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 collect, according to positions, statistics about a pulse that is on each track and required to be encoded, to obtain the number Nt of positions that have pulses on each track, distribution of the positions that have pulses on the track, and the number of pulses on each position that has a pulse, wherein the subscript t represents a tth track, and tε
[0, T−
1];according to the number of positions that have pulses and are on each track, determine a first index I1t of each track, wherein the first index I1t corresponds to all possible distribution situations of positions that have pulses and are on each track under the number of the positions having pulses, wherein the number of the positions having pulses is represented it; determine a second index I2t of each track separately according to distribution of positions that have pulses and are on each track, wherein the second index indicates, among all possible distribution situations corresponding to the first index, a distribution situation which corresponds to distribution of current positions having pulses and is on the track; determine a third index I3t of each track separately according to the number of pulses on each position that has the pulse and is on each track;
wherein the step of determining a third index I3t of each track separately according to the number of pulses on each position that has the pulses and is on each track comprises;
for the tth track, situations that Nt positions having pulses have pulses are mapped to situations that Nt positions have −
Nt pulses, wherein represents the total number of pulses required to be encoded on the tth track; and
according to set order, all possible distribution situations of −
Nt pulses on Nt positions are arrayed, and an arrayed serial number is used as the third index I3t indicating the number of pulses on a position that has a pulse;generate a code index hid, wherein the code index comprises information of the first, second, and third indexes of each track; and encoding and transmitting the code index hid to a decoding device. - View Dependent Claims (6, 7, 8)
-
-
9. A non-transitory computer-readable storage medium in a speech pulse encoder, storing computer executable instructions, where the computer executable instructions execute the computer executable instructions to:
-
determine pulses that are on T tracks and required to be encoded, wherein T is an integer greater than or equal to 2; separately collect, according to positions, statistics about at least one pulse that are on each track and required to be encoded, to obtain (a) the number of positions that have at least one pulse on each track, (b) distribution of the positions that have at least one pulses on each track, and (c) the number of pulses on each position that has at least one pulse, wherein the subscript t represents a tth track, and tε
[0, T−
1];determine a first index I1t of each track according to the number of positions that have at least one pulse and are on each track; determine a second index I2t of each track according to the distribution of positions that have at least one pulse and are on each track; determine a third index I3t of each track according to the number of pulses on each position that has at least one pulse and is on each track; and determine a code index hid according to the first indexes of each track, the second indexes of each track and third indexes of each track; wherein the third index I3t of each track is determined according to the following; - View Dependent Claims (10)
-
Specification