Vector joint encoding/decoding method and vector joint encoder/decoder
First Claim
Patent Images
1. A vector joint encoding method for a voice signal performed by a hardware, comprising:
- calculating an encoding index Indt of each vector, wherein the each vector is obtained by dividing the voice signal, wherein a subscript t denotes a tth vector, tε
[0, T−
1], and T is the number of vectors and is an integer greater than or equal to 2;
splitting at least one Indt at least once into at least two sections, wherein the splitting at least once is equivalent to splitting the Indt into two split indexes Indt0 and Indt1 according to a set factor SLFt, wherein the set factor SLFt is the set split factor SLF for the tth vector, the SLFt is a positive integer, the Indt0 denotes a serial number of an interval to which the Indt belongs, the Indt1 denotes a serial number of the Indt in the interval to which the Indt belongs, the length of the interval is not greater than the SLFt, and
Indt≦
Indt0×
SLFt+Indt1;
combining a split index of at least one vector and split indexes or encoding indexes of other vectors to generate a combined index IndSLF; and
performing encoding according to the combined index and other uncombined split indexes.
1 Assignment
0 Petitions
Accused Products
Abstract
A vector joint encoding/decoding method and a vector joint encoder/decoder are provided, more than two vectors are jointly encoded, and an encoding index of at least one vector is split and then combined between different vectors, so that encoding idle spaces of different vectors can be recombined, thereby facilitating saving of encoding bits, and because an encoding index of a vector is split and then shorter split indexes are recombined, thereby facilitating reduction of requirements for the bit width of operating parts in encoding/decoding calculation.
31 Citations
23 Claims
-
1. A vector joint encoding method for a voice signal performed by a hardware, comprising:
-
calculating an encoding index Indt of each vector, wherein the each vector is obtained by dividing the voice signal, wherein a subscript t denotes a tth vector, tε
[0, T−
1], and T is the number of vectors and is an integer greater than or equal to 2;splitting at least one Indt at least once into at least two sections, wherein the splitting at least once is equivalent to splitting the Indt into two split indexes Indt0 and Indt1 according to a set factor SLFt, wherein the set factor SLFt is the set split factor SLF for the tth vector, the SLFt is a positive integer, the Indt0 denotes a serial number of an interval to which the Indt belongs, the Indt1 denotes a serial number of the Indt in the interval to which the Indt belongs, the length of the interval is not greater than the SLFt, and
Indt≦
Indt0×
SLFt+Indt1;combining a split index of at least one vector and split indexes or encoding indexes of other vectors to generate a combined index IndSLF; and performing encoding according to the combined index and other uncombined split indexes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A vector joint pulse encoding method for a voice signal performed by a hardware, comprising:
-
grouping vectors participating in joint encoding, wherein each group at least comprises two vectors; in each group, calculating an encoding index of each vector, wherein the each vector is obtained by dividing the voice signal;
splitting at least two encoding indexes;
splitting each encoding index at least once into at least two sections, wherein splitting at least once is equivalent to splitting an encoding index into two one-stage split indexes according to a set one-stage factor, one one-stage split index denotes serial numbers of several intervals with a length not greater than a set value, the other one-stage split index denotes a serial number of the encoding index in an interval to which the encoding index belongs; and
combining one-stage split indexes from at least two vectors to generate a one-stage combined index;starting from m=2, repeating the following operation of generating an m-stage combined index until m=M;
splitting at least two (m−
1)-stage combined indexes, wherein mε
[2, M], M is an integer greater than or equal to 2;
splitting each (m−
1)-stage combined index at least once into at least two sections, wherein splitting at least once is equivalent to splitting an (m−
1)-stage combined index into two m-stage split indexes according to a set m-stage factor; and
combining m-stage split indexes from at least two (m−
1)-stage combined indexes to generate an m-stage combined index; andencoding according to the M-stage combined index and other uncombined one-stage to (M−
1)-stage split indexes. - View Dependent Claims (14)
-
-
15. A vector joint pulse decoding method for a voice signal performed by a hardware, comprising:
-
acquiring a joint code, and acquiring, from the joint code, a combined index and an uncombined split index corresponding to a vector, wherein the vector is obtained by dividing the voice signal; splitting the combined index into split indexes corresponding to the vector, or splitting the combined index into a split index and an encoding index that correspond to the vector; for each vector participating in splitting the encoding index, splicing, according to a split manner of an encoding end, a split index not participating in combination and a split index participating in combination of the vector to generate the encoding index of the vector; and reestablishing the vector according to the encoding index of the vector for each vector. - View Dependent Claims (16)
-
-
17. A vector joint pulse decoding method for a voice signal performed by a hardware, comprising:
-
acquiring a joint code, and acquiring, from the joint code, an M-stage combined index, an uncombined m-stage split index corresponding to each (m−
1)-stage combined index, and an uncombined one-stage split index corresponding to each vector, wherein M is an integer greater than or equal to 2, and mε
[2, M], wherein the each vector is obtained by dividing the voice signal;starting from m=M, repeating the following operation of generating an (m−
1)-stage combined index until m=2;
splitting each m-stage combined index into an m-stage split index corresponding to each (m−
1)-stage combined index for generating the m-stage combined index; and
for each (m−
1)-stage combined index, splicing, according to a split manner of an encoding end, an m-stage split index not participating in combination and an m-stage split index participating in combination of the (m−
1)-stage combined index to generate the (m−
1)-stage combined index according to a split manner of an encoding end;splitting each one-stage combined index into a one-stage split index corresponding to each vector in a vector group for generating the one-stage combined index; and
for each vector in each vector group, splicing, according to the split manner of the encoding end, a one-stage split index not participating in combination and a one-stage split index participating in combination of the vector to generate an encoding index; andreestablishing the vector according to the encoding index for each vector in each vector group.
-
-
18. A vector joint pulse encoder for encoding a voice signal, comprising:
-
an encoding index calculation unit, configured to calculate an encoding index Indt of each vector, wherein the each vector is obtained by dividing the voice signal, wherein a subscript t denotes a tth vector, tε
[0, T−
1], and T is an integer greater than or equal to 2;a vector index splitting unit, configured to split at least one Indt at least once into at least two sections, wherein splitting at least once is equivalent to splitting the Indt into two split indexes Indt0 and Indt1 according to a set factor SLFt, wherein the set factor SLFt is the set split factor SLF for the tth vector, the SLFt is a positive integer, the Indt0 denotes a serial number of an interval to which the Indt belongs, the Indt1 denotes a serial number of the Indt in the interval to which the Indt belongs, a length of the interval is not greater than the SLFt, and Indt≦
Indt0×
SLFt+Indt1;an index combination unit, configured to combine a split index of at least one vector and split indexes or encoding indexes of other vectors to generate a combined index IndSLF; and an encoding unit, configured to perform encoding according to the combined index and other uncombined split indexes. - View Dependent Claims (19)
-
-
20. A vector joint pulse encoder for encoding a voice signal, comprising:
-
a vector index calculation unit, configured to group vectors participating in joint encoding, wherein each group at least comprises two vectors;
in each group, calculate an encoding index of each vector, wherein the each vector is obtained by dividing the voice signal;
split at least two encoding indexes;
split each encoding index at least once into at least two sections, wherein splitting at least once is equivalent to splitting an encoding index into two one-stage split indexes according to a set one-stage factor, one one-stage split index denotes serial numbers of several intervals with a length not greater than a set value, the other one-stage split index denotes a serial number of the encoding index in an interval to which the encoding index belongs; and
combine one-stage split indexes from at least two vectors to generate a one-stage combined index;a cascade calculation unit, configured to;
starting from m=2, repeat the following operation of generating an m-stage combined index until m=M;
split at least two (m−
1)-stage combined indexes, wherein mε
[2, M], M is an integer greater than or equal to 2;
split each (m−
1)-stage combined index at least once into at least two sections, wherein splitting at least once is equivalent to splitting an (m−
1)-stage combined index into two m-stage split indexes according to a set m-stage factor; and
combine m-stage split indexes from at least two (m−
1)-stage combined indexes to generate an m-stage combined index; andan encoding unit, configured to perform encode according to the M-stage combined index and other uncombined one-stage to (M−
1)-stage split indexes.
-
-
21. A vector joint pulse decoder for decoding a voice signal, comprising:
-
a decoding unit, configured to acquire a joint code, and acquire, from the joint code, a combined index and an uncombined split index corresponding to a vector, wherein the vector is obtained by dividing the voice signal; an index splitting unit, configured to split the combined index into split indexes corresponding to the vector, or split the combined index into a split index and an encoding index that correspond to the vector; a vector index reestablishing unit, configured to;
for each vector participating in splitting the encoding index, splice, according to a split manner of an encoding end, a split index not participating in combination and a split index participating in combination of the vector to generate the encoding index of the vector; anda vector reestablishing unit, configured to reestablish the vector according to the encoding index of the vector for each vector. - View Dependent Claims (22)
-
-
23. A vector joint pulse decoder for decoding a voice signal, comprising:
-
a decoding unit, configured to acquire a joint code, and acquire, from the joint code, an M-stage combined index, an uncombined m-stage split index corresponding to each (m−
1)-stage combined index, and an uncombined one-stage split index corresponding to each vector, wherein the each vector is obtained by dividing the voice signal, wherein M is an integer greater than or equal to 2, and mε
[2, M];a cascade recovering unit, configured to;
starting from m=M, repeat the following operation of generating an (m−
1)-stage combined index until m=2;
split each m-stage combined index into an m-stage split index corresponding to each (m−
1)-stage combined index for generating the m-stage combined index; and
for each (m−
1)-stage combined index, splice, according to a split manner of an encoding end, an m-stage split index not participating in combination and an m-stage split index participating in combination of the (m−
1)-stage combined index to generate the (m−
1)-stage combined index;a vector index reestablishing unit, configured to split each one-stage combined index into a one-stage split index corresponding to each vector in a vector group for generating the one-stage combined index; and
for each vector in each vector group, splice, according to the split manner of the encoding end, a one-stage split index not participating in combination and a one-stage split index participating in combination of the vector to generate an encoding index; anda vector reestablishing unit, configured to reestablish the vector according to the encoding index for each vector in each vector group.
-
Specification