Coding method, decoding method, codec method, codec system and relevant apparatuses
First Claim
Patent Images
1. A coding method performed by a hardware-based encoder apparatus including a non-transitory storage medium, wherein the coding method is applied to codebook index coding in a lattice vector quantizer, the coding method comprising:
- obtaining, by the encoder apparatus, a vector to be coded according to an audio/voice signal;
obtaining, by the encoder apparatus, an amplitude vector and a length vector corresponding to the vector to be coded, wherein the amplitude vector indicates elements of different values in a leader vector, and the length vector indicates how many times each element in the amplitude vector appears in the leader vector;
sorting, by the encoder apparatus, elements of the amplitude vector and elements of the length vector;
obtaining, by the encoder apparatus, a position index value according to the sorted amplitude vector and the sorted length vector;
searching, by the encoder apparatus, a preset codebook index value offset table to obtain a codebook index value offset corresponding to the vector to be coded;
obtaining, by the encoder apparatus, a lattice codebook index value corresponding to the vector to be coded according to the codebook index value offset and the position index value;
writing, by the encoder apparatus, the lattice codebook index value into a bitstream; and
sending, by the encoder apparatus, the bitstream to a decoder.
1 Assignment
0 Petitions
Accused Products
Abstract
A coding method, a decoding method, a coding-decoding (codec) method, a codec system and relevant apparatuses are disclosed. The coding method includes: obtaining an amplitude vector and a length vector corresponding to a vector to be coded; sorting elements of the amplitude vector and elements of the length vector; and obtaining a position index value according to the sorted amplitude vector and the sorted length vector. A decoding method, a codec system, and relevant apparatuses are also provided.
29 Citations
24 Claims
-
1. A coding method performed by a hardware-based encoder apparatus including a non-transitory storage medium, wherein the coding method is applied to codebook index coding in a lattice vector quantizer, the coding method comprising:
-
obtaining, by the encoder apparatus, a vector to be coded according to an audio/voice signal; obtaining, by the encoder apparatus, an amplitude vector and a length vector corresponding to the vector to be coded, wherein the amplitude vector indicates elements of different values in a leader vector, and the length vector indicates how many times each element in the amplitude vector appears in the leader vector; sorting, by the encoder apparatus, elements of the amplitude vector and elements of the length vector; obtaining, by the encoder apparatus, a position index value according to the sorted amplitude vector and the sorted length vector; searching, by the encoder apparatus, a preset codebook index value offset table to obtain a codebook index value offset corresponding to the vector to be coded; obtaining, by the encoder apparatus, a lattice codebook index value corresponding to the vector to be coded according to the codebook index value offset and the position index value; writing, by the encoder apparatus, the lattice codebook index value into a bitstream; and sending, by the encoder apparatus, the bitstream to a decoder. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A decoding method performed by a hardware-based decoder apparatus having a non-transitory storage medium, wherein the decoding method is applied to codebook index decoding in a lattice vector quantizer, the coding method comprising:
-
receiving, decoder apparatus, a bitstream sent by a coder; analyzing, decoder apparatus, the bitstream to obtain a lattice codebook index value; searching, decoder apparatus, a preset codebook index value offset table to obtain a maximum codebook index value offset less than the lattice codebook index value; obtaining, decoder apparatus, element values incorporated in the vector, the amplitude vector, and the length vector according to the found codebook index value offset, wherein the amplitude vector indicates elements of different values in a leader vector, and the length vector indicates how many times each element in the amplitude vector appears in the leader vector; subtracting, decoder apparatus, the codebook index value offset from the lattice codebook index value to obtain a new index value; sorting, decoder apparatus, elements of the amplitude vector and elements of the length vector; and performing, decoder apparatus, decoding according to the new index value, the sorted amplitude vector and the sorted length vector to obtain a vector, and obtain an audio/voice signal according to the vector. - View Dependent Claims (12, 13)
-
-
14. A hardware-based coding apparatus, wherein the hardware-based coding apparatus performs codebook index coding in a lattice vector quantizer, the hardware-based coding apparatus including a non-transitory storage medium comprising instructions that configure the coding apparatus to comprise:
-
a unit configured to obtain a vector to be coded according to an audio/voice signal; a searching unit, configured to search a preset codebook index value offset table to obtain a codebook index value offset corresponding to the vector to be coded; an obtaining unit, configured to obtain an amplitude vector and a length vector corresponding to the vector to be coded, wherein the amplitude vector indicates elements of different values in a leader vector, and the length vector indicates how many times each element in the amplitude vector appears in the leader vector; a sorting unit, configured to sort elements of the amplitude vector and elements of the length vector obtained by the obtaining unit; a permutation coding unit, configured to perform permutation coding for positions of elements in the vector to be coded in best order of element removal according to the amplitude vector and the length vector sorted by the sorting unit, and obtain a position index value; and an executing unit, configured to calculate a lattice codebook index value corresponding to a final vector to be coded according to the codebook index value offset found by the searching unit and the position index value obtained by the permutation coding unit, write the lattice codebook index value into a bitstream, and send the bitstream to a decoding apparatus. - View Dependent Claims (15)
-
-
16. A hardware-based decoding apparatus, wherein the hardware-based decoding apparatus performs codebook index decoding in a lattice vector quantizer, wherein the hardware-based decoding apparatus includes a non-transitory memory comprising instructions that configure the decoding apparatus to comprise:
-
a receiving unit, configured to receive a bitstream sent by a coding apparatus; a unit configured to analyze the bitstream to obtain a lattice codebook index value; a searching unit, configured to search a preset codebook index value offset table to obtain a maximum codebook index value offset less than the received lattice codebook index value, and obtain element values incorporated in a vector, an amplitude vector, and a length vector according to the found codebook index value offset, wherein the amplitude vector indicates elements of different values in a leader vector, and the length vector indicates how many times each element in the amplitude vector appears in the leader vector; a generating unit, configured to subtract the codebook index value offset from the lattice codebook index value to obtain a new index value; a sorting unit, configured to sort elements of the amplitude vector and elements of the length vector obtained by the searching unit; and a decoding unit, configured to perform decoding according to the new index value obtained by the generating unit as well as the amplitude vector and the length vector sorted by the sorting unit to obtain a vector, and obtain an audio/voice signal according to the vector. - View Dependent Claims (17)
-
-
18. A non-transitory computer readable storage medium, embodying computer program code, which, when executed by a computer unit, causes the computer unit to perform a method comprising:
-
obtaining an amplitude vector and a length vector corresponding to a vector to be coded, wherein the amplitude vector indicates elements of different values in a leader vector, and the length vector indicates how many times each element in the amplitude vector appears in the leader vector; sorting elements of the amplitude vector and elements of the length vector; obtaining a position index value according to the sorted amplitude vector and the sorted length vector; searching a preset codebook index value offset table to obtain a codebook index value offset corresponding to the vector to be coded; and obtaining a lattice codebook index value corresponding to the vector to be coded according to the codebook index value offset and the position index value. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A non-transitory computer readable storage medium, tangibly embodying computer program code, which, when executed by a computer unit, causes the computer unit to perform a method comprising:
-
receiving a lattice codebook index value sent by a coder; searching a preset codebook index value offset table to obtain a maximum codebook index value offset less than the lattice codebook index value; obtaining element values incorporated in the vector, the amplitude vector, and the length vector according to the found codebook index value offset, wherein the amplitude vector indicates elements of different values in a leader vector, and the length vector indicates how many times each element in the amplitude vector appears in the leader vector; subtracting the codebook index value offset from the lattice codebook index value to obtain a new index value; sorting elements of the amplitude vector and elements of the length vector; and performing decoding according to the new index value, the sorted amplitude vector and the sorted length vector to obtain a vector. - View Dependent Claims (24)
-
Specification