Vector quantization method and device and communication equipment

CN121532826AActive Publication Date: 2026-02-13BEIJING XIAOMI MOBILE SOFTWARE CO LTD
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202480001192.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-06-06
Publication Date
2026-02-13
Estimated Expiration
2044-06-06

AI Technical Summary

Technical Problem

In existing audio processing technologies, vector quantization methods suffer from the problem of transmitting a large number of bits, making it difficult to efficiently reduce the number of transmitted bits while maintaining high quantization quality.

Method used

The first codebook of B bits is used to quantize multiple frequency domain envelope values ​​of the audio frame. By performing complete quantization on the first vector, the initial quantization index value is obtained. The final quantization index value of the second vector is determined based on the initial quantization index value. The number of bits required for the quantization index value of the second vector is less than B. The codebook range of the second vector is determined using the quantization result of the first vector to ensure correlation.

Benefits of technology

This reduces the number of bits required for the quantization index value of the second vector while maintaining the correlation between audio frames, thus improving quantization efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121532826A_ABST
    Figure CN121532826A_ABST
Patent Text Reader

Abstract

The invention relates to a vector quantization method, a vector quantization device and communication equipment. The vector quantization method comprises the following steps: determining N1 vectors according to a plurality of frequency domain envelope values corresponding to an audio frame, wherein each vector in the N1 vectors comprises M frequency domain envelope values in the plurality of frequency domain envelope values; quantizing the N1 vectors by adopting a B-bit first codebook to obtain a quantization index value of a first vector and an initial quantization index value of a second vector; determining a quantization index value of the second vector according to the initial quantization index value, wherein the bit number required by the quantization index value of the second vector is smaller than B; the first vector is the first vector in the N1 vectors, and the second vector is at least one vector in the N1 vectors except the first vector. According to the embodiment of the invention, one codebook is adopted to quantize N1 vectors corresponding to one audio frame, transmission bits can be reduced, and a relatively high quantization effect is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Vector quantization method, apparatus and communication device TECHNICAL FIELD

[0001] The present disclosure relates to the field of communication technology, and in particular, to a vector quantization method, apparatus and communication device. BACKGROUND

[0002] Vector quantization (VQ) can achieve efficient signal representation and transmission with low complexity. For example, in the field of audio processing, vector quantization can be used for encoding of frequency domain envelopes of audio.

[0003] SUMMARY

[0004] Embodiments of the present disclosure provide a vector quantization method, apparatus and communication device.

[0005] According to a first aspect of embodiments of the present disclosure, a vector quantization method is provided, comprising:

[0006] determining N1 vectors according to a plurality of frequency domain envelope values corresponding to one audio frame, wherein each of the N1 vectors comprises M frequency domain envelope values in the plurality of frequency domain envelope values, N1 and M are positive integers;

[0007] quantizing the N1 vectors using a first codebook of B bits to obtain a quantization index value of a first vector and an initial quantization index value of a second vector, B is a positive integer and greater than or equal to 2;

[0008] determining a quantization index value of the second vector according to the initial quantization index value, the second vector requiring a number of bits less than B;

[0009] the first vector is a first vector in the N1 vectors, and the second vector is at least one vector in the N1 vectors other than the first vector.

[0010] According to a second aspect of embodiments of the present disclosure, a vector quantization apparatus is provided, comprising:

[0011] a processing module;

[0012] The processing module is configured to:

[0013] determining N1 vectors according to a plurality of frequency domain envelope values corresponding to one audio frame, wherein each of the N1 vectors comprises M frequency domain envelope values in the plurality of frequency domain envelope values, N1 and M are positive integers;

[0014] quantizing the N1 vectors using a first codebook of B bits to obtain a quantization index value of a first vector and an initial quantization index value of a second vector, B is a positive integer and greater than or equal to 2;

[0015] determining a quantization index value of the second vector according to the initial quantization index value, wherein a number of bits required by the quantization index value of the second vector is less than B;

[0016] the first vector is a first vector of the N1 vectors, and the second vector is at least one vector of the N1 vectors except the first vector.

[0017] According to a third aspect of the embodiments of the present disclosure, a communication device is provided, comprising:

[0018] one or more processors;

[0019] The communication device is configured to perform the vector quantization method according to the first aspect.

[0020] According to a fourth aspect of the embodiments of the present disclosure, a communication system is provided, comprising an encoder and a decoder, wherein the encoder is configured to implement the vector quantization method according to the first aspect.

[0021] According to a fifth aspect of the embodiments of the present disclosure, a storage medium is provided, which stores instructions, when the instructions are run on a communication device, the communication device performs the vector quantization method according to the first aspect.

[0022] According to a sixth aspect of the embodiments of the present disclosure, a computer program product is provided, comprising a computer program, when the computer program is executed by a communication device, the vector quantization method according to the first aspect is implemented.

[0023] The embodiments of the present disclosure quantize N1 vectors corresponding to an audio frame by using one codebook, which can reduce transmission bits and has a higher quantization effect. BRIEF DESCRIPTION OF DRAWINGS

[0024] In order to more clearly illustrate the technical solutions in the embodiments of the present disclosure, the following describes the drawings required for the embodiments, and the following drawings are only some embodiments of the present disclosure, which do not specifically limit the protection scope of the present disclosure.

[0025] FIG. 1 is an exemplary architecture schematic diagram of a communication system according to an embodiment of the present disclosure.

[0026] FIG. 2A is an exemplary flow schematic diagram of a vector quantization method according to an embodiment of the present disclosure.

[0027] FIG. 2B is an exemplary flow schematic diagram of a vector quantization method according to an embodiment of the present disclosure.

[0028] FIG. 2C is an exemplary flow schematic diagram of a vector quantization method according to an embodiment of the present disclosure.

[0029] FIG. 3A is an exemplary flow diagram of a vector quantization method according to an embodiment of the present disclosure.

[0030] FIG. 3B is an exemplary flow diagram of a vector quantization method according to an embodiment of the present disclosure.

[0031] FIG. 4A is an exemplary flow diagram of a vector quantization method according to an embodiment of the present disclosure.

[0032] FIG. 4B is an exemplary flow diagram of a vector quantization method according to an embodiment of the present disclosure.

[0033] FIG. 5 is an exemplary structural diagram of a vector quantization apparatus according to an embodiment of the present disclosure.

[0034] FIG. 6A is an exemplary structural diagram of a communication device according to an embodiment of the present disclosure.

[0035] FIG. 6B is an exemplary structural diagram of a chip according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0036] Embodiments of the present disclosure provide a vector quantization method, apparatus and communication device.

[0037] In a first aspect, embodiments of the present disclosure provide a vector quantization method, comprising:

[0038] determining N1 vectors according to a plurality of frequency domain envelope values corresponding to an audio frame, wherein each of the N1 vectors comprises M frequency domain envelope values in the plurality of frequency domain envelope values, N1 and M are positive integers;

[0039] quantizing the N1 vectors by using a first codebook of B bits to obtain a quantization index value of a first vector and an initial quantization index value of a second vector, B is a positive integer and greater than or equal to 2;

[0040] determining a quantization index value of the second vector according to the initial quantization index value, wherein the second vector requires a number of bits less than B;

[0041] the first vector is a first vector in the N1 vectors, and the second vector is at least one vector in the N1 vectors except the first vector.

[0042] In the above embodiment, the N1 vectors corresponding to one audio frame are quantized by using one codebook, and it is particularly noted that the second vector is quantized by using the complete first codebook instead of a part of the first codebook, so that the quantization effect is higher. In addition, the index value obtained by quantizing the second vector by using the first codebook is not the final quantization index value of the second vector, but is an initial quantization index value of the second vector. Then, the final quantization index value of the second vector is determined according to the initial quantization index value, so that the number of bits required for the quantization index value of the second vector is reduced, and the number of bits required for the quantization index value of the second vector is less than B, so that the transmission bits are reduced.

[0043] In some embodiments of the first aspect, the quantization index value of the second vector is in a first range, and the first range is 0 to 2 (B-1) .

[0044] In the above embodiment, the quantization index value of the second vector can be set in the range of 0 to 2 (B-1) , so that the number of bits required for the quantization index value of the second vector is B-1.

[0045] In some embodiments of the first aspect, the determining the quantization index value of the second vector according to the initial quantization index value comprises at least one of the following:

[0046] In the case that the initial quantization index value is greater than or equal to k, the quantization index value of the second vector is determined as the initial quantization index value minus k.

[0047] In the case that the initial quantization index value is less than k, the quantization index value of the second vector is determined as the initial quantization index value.

[0048] In the above embodiment, the final quantization index value of the second vector is determined according to the size relationship between the initial quantization index value of the second vector and k, so that the correlation between the first vector and the second vector is guaranteed, and the number of bits required for the quantization index value of the second vector is reduced.

[0049] In some embodiments of the first aspect, the determining the quantization index value of the second vector according to the initial quantization index value comprises at least one of the following:

[0050] In the case that the quantization index value of the first vector is less than k and the initial quantization index value is less than k, the quantization index value of the second vector is determined as the initial quantization index value.

[0051] in a case where the quantization index value of the first vector is less than k and the initial quantization index value is greater than or equal to k, determining the quantization index value of the second vector as k2, where k2 is the first index of the first half of the first codebook;

[0052] in a case where the quantization index value of the first vector is less than k and the initial quantization index value is greater than or equal to k, determining the quantization index value of the second vector as k2, where k2 is the first index of the first half of the first codebook;

[0053] in a case where the quantization index value of the first vector is greater than or equal to k and the initial quantization index value is greater than or equal to k, determining the quantization index value of the second vector as the initial quantization index value minus k.

[0054] In the above embodiments, the final quantization index value of the second vector is determined according to the size relationship between the quantization index value of the first vector and the initial quantization index value of the second vector and k, so as to guarantee the correlation between the first vector and the second vector, reduce the number of bits required by the quantization index value of the second vector, and also take into account the quantization effect.

[0055] In combination with some embodiments of the first aspect, in some embodiments, k is 2 (B-1) .

[0056] The second aspect, the embodiments of the present disclosure provide a vector quantization device, comprising:

[0057] a processing module;

[0058] The processing module is configured to:

[0059] determine N1 vectors according to a plurality of frequency domain envelope values corresponding to one audio frame, wherein each of the N1 vectors includes M frequency domain envelope values in the plurality of frequency domain envelope values, N1 and M are positive integers;

[0060] quantize the N1 vectors by using a first codebook with B bits to obtain a quantization index value of a first vector and an initial quantization index value of a second vector, B is a positive integer and greater than or equal to 2;

[0061] determine the quantization index value of the second vector according to the initial quantization index value, and the second vector requires a number of bits less than B;

[0062] The first vector is the first vector in the N1 vectors, and the second vector is at least one vector in the N1 vectors except the first vector.

[0063] The third aspect, the embodiments of the present disclosure provide a communication device, comprising:

[0064] one or more processors;

[0065] The communication device is configured to perform the method described in the optional implementation of the first aspect.

[0066] In a fourth aspect, the embodiments of the present disclosure provide a communication system, including an encoder and a decoder, wherein the encoder is configured to implement the method described in the optional implementation of the first aspect.

[0067] In a fifth aspect, the embodiments of the present disclosure provide a storage medium, which stores instructions, when the instructions are executed on a communication device, cause the communication device to perform the method described in the optional implementation of the first aspect.

[0068] In a sixth aspect, the embodiments of the present disclosure provide a computer program product, including a computer program, which is executed by a communication device to implement the method described in the optional implementation of the first aspect.

[0069] In a seventh aspect, the embodiments of the present disclosure provide a chip or chip system. The chip or chip system includes processing circuitry configured to perform the method described in the optional implementation of the first aspect.

[0070] It can be understood that the above-mentioned vector quantization apparatus, communication device, communication system, storage medium, computer program product, chip or chip system are all used to perform the method proposed in the embodiments of the present disclosure. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding method, which will not be repeated here.

[0071] The embodiments of the present disclosure propose a vector quantization method, apparatus and communication device. In some embodiments, the terms of vector quantization method and encoding method, communication method, etc. can be replaced with each other, and the terms of vector quantization apparatus and encoding apparatus, communication apparatus, etc. can be replaced with each other.

[0072] The embodiments of the present disclosure are not exhaustive, but only illustrate some embodiments, and are not specific limitations on the protection scope of the present disclosure. In the case of no contradiction, each step in an embodiment can be implemented as an independent embodiment, and the steps can be combined arbitrarily, for example, the scheme after removing some steps in an embodiment can also be implemented as an independent embodiment, and the order of the steps in an embodiment can be exchanged arbitrarily, in addition, the optional implementation in an embodiment can be combined arbitrarily; in addition, the embodiments can be combined arbitrarily, for example, the steps of different embodiments or part of the steps of different embodiments can be combined arbitrarily, an embodiment can be combined with the optional implementation of other embodiments arbitrarily.

[0073] In each of the disclosed embodiments, unless otherwise specified or in case of logical conflict, the terminology and / or descriptions of the embodiments are consistent and can be referenced by each other. Technical features in different embodiments can be combined to form new embodiments based on their inherent logical relationships.

[0074] The terminology used in the embodiments of this disclosure is for the purpose of describing particular embodiments only and is not intended to limit the scope of this disclosure.

[0075] In this embodiment of the disclosure, unless otherwise stated, elements expressed in the singular form, such as "a," "an," "the," "the," "the," "the," "the," "the," "this," etc., can mean "one and only one," or "one or more," "at least one," etc. For example, when using articles such as "a," "an," "the," etc. in translation, the noun following the article can be understood as either a singular expression or a plural expression.

[0076] In the embodiments disclosed herein, "multiple" refers to two or more.

[0077] In some embodiments, the terms “at least one (at least one item, at least one)”, “one or more”, “a plurality of”, “multiple”, etc., may be used interchangeably.

[0078] In some embodiments, the notation "at least one of A and B", "A and / or B", "A in one case, B in another", "in response to one case A, in response to another case B", etc., may include the following technical solutions depending on the situation: in some embodiments, A (execute A regardless of B); in some embodiments, B (execute B regardless of A); in some embodiments, execution is selected from A and B (A and B are selectively executed); in some embodiments, A and B (both A and B are executed). The same applies when there are more branches such as A, B, C, etc.

[0079] In some embodiments, the notation "A or B" may include the following technical solutions, depending on the situation: in some embodiments, A (execution of A regardless of B); in some embodiments, B (execution of B regardless of A); in some embodiments, execution is selected from A and B (A and B are selectively executed). The same applies when there are more branches such as A, B, C, etc.

[0080] The prefix words of "first", "second" and the like in the embodiments of the present disclosure are merely used to distinguish different description objects, and do not constitute limitation on the position, order, priority, quantity or content of the description objects. The description objects are described in the claims or embodiments, and should not be construed as redundant limitation because of the use of the prefix words. For example, the description object is "field", and the ordinal words before "field" in "first field" and "second field" do not limit the position or order between "fields", and "first" and "second" do not limit whether the "fields" modified thereby are in the same message or not, nor limit the order of "first field" and "second field". For another example, the description object is "level", and the ordinal words before "level" in "first level" and "second level" do not limit the priority between "levels". For another example, the quantity of the description object is not limited by the ordinal words, and can be one or more. For example, "first device", wherein the quantity of "device" can be one or more. In addition, the objects modified by different prefix words can be the same or different, for example, the description object is "device", and "first device" and "second device" can be the same device or different devices, and the types thereof can be the same or different. For another example, the description object is "information", and "first information" and "second information" can be the same information or different information, and the contents thereof can be the same or different.

[0081] In some embodiments, "including A", "containing A", "for indicating A", "carrying A" can be interpreted as directly carrying A, or indirectly indicating A.

[0082] In some embodiments, the terms of "in response to", "in response to determining", "in the case of", "when", "when", "if", "if" and the like can be replaced with each other.

[0083] In some embodiments, the terms of "greater than", "greater than or equal to", "not less than", "more than", "more than or equal to", "not less than", "higher than", "higher than or equal to", "not lower than", "above" and the like can be replaced with each other, and the terms of "less than", "less than or equal to", "not greater than", "less than", "less than or equal to", "not more than", "lower than", "lower than or equal to", "not higher than", "below" and the like can be replaced with each other.

[0084] In some embodiments, the apparatuses and devices can be interpreted as entities, and can also be interpreted as virtual, whose names are not limited to the names described in the embodiments, and in some cases can also be understood as "equipment", "device", "circuit", "network element", "node", "function", "unit", "section", "system", "network", "chip", "chip system", "entity", "subject", etc.

[0085] In some embodiments, "network" can be interpreted as an apparatus contained in the network, for example, access network device, core network device, etc.

[0086] In some embodiments, "access network device (AN device)" can also be referred to as "radio access network device (RAN device)", "base station (BS)", "radio base station", "fixed station", and in some embodiments can also be understood as "node", "access point", "transmission point (TP)", "reception point (RP)", "transmission / reception point (TRP)", "panel", "antenna panel", "antenna array", "cell", "macro cell", "small cell", "femto cell", "pico cell", "sector", "cell group", "serving cell", "carrier", "component carrier", "bandwidth part (BWP)", etc.

[0087] In some embodiments, a "terminal" or "terminal device" can be referred to as a "user equipment" (UE), a "user terminal," a "mobile station" (MS), a "mobile terminal" (MT), a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communication device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile client, a client, and / or the like.

[0088] In some embodiments, data, information and / or the like can be obtained in compliance with laws and regulations of a country in which a location is situated.

[0089] In some embodiments, data, information and / or the like can be obtained after consent of a user is obtained.

[0090] In addition, each element, each row, or each column in a table of an embodiment of the present disclosure can be implemented as an independent embodiment, and a combination of any element, any row, or any column can also be implemented as an independent embodiment.

[0091] In the related art, data and audio adopt an all Internet Protocol (IP) manner, which can provide real-time High Definition Voice (HD Voice) / Enhanced High Definition Voice (HD+Voice) services. An Enhanced Voice and Audio Services (EVS) codec adopted can give consideration to high-quality compression reconstruction of voice and audio. Among them, Vector Quantization (VQ) can realize efficient signal representation and transmission with lower complexity. For example, vector quantization can be used for encoding of a frequency domain envelope of audio.

[0092] FIG. 1 is a schematic diagram of an architecture of a communication system according to an embodiment of the present disclosure. As shown in FIG. 1, the communication system includes an encoder 101 and a decoder 102. In some embodiments, the encoder 101 vector quantizes one audio frame. Some optional implementations of the vector quantization method are described in the following embodiments.

[0093] FIG. 2A is a flowchart of a vector quantization method according to an embodiment of the present disclosure. As shown in FIG. 2A, the method includes the following steps:

[0094] Step S2101, determining N1 vectors according to a plurality of frequency domain envelope values corresponding to one audio frame.

[0095] Suppose that N frequency domain envelope values correspond to one audio frame, the N frequency domain envelope values can be divided into N1 vectors, each of the N1 vectors includes M frequency domain envelope values in the N frequency domain envelope values, that is, each of the N1 vectors is an M-dimensional vector. In this way, N1 M-dimensional vectors can be obtained according to the N frequency domain envelope values corresponding to one audio frame. Optionally, N1 x M = N. N, N1 and M are all positive integers. M can be greater than or equal to 2, and N is greater than N1. For example, when M = 2, each of the N1 vectors is a two-dimensional vector.

[0096] When one audio frame includes N1 subframes, each of the N1 subframes respectively corresponds to M frequency domain envelope values, one M-dimensional vector corresponding to each subframe can be determined according to the M frequency domain envelope values corresponding to each subframe, and N1 M-dimensional vectors are obtained in total. For example, when N1 = 4 and M = 2, that is, one audio frame includes 4 subframes, 2 frequency domain envelope values of each subframe are combined into a two-dimensional vector, and 4 two-dimensional vectors are determined according to the total 8 frequency domain envelope values corresponding to the 4 subframes. It can be understood that the N1 vectors can also be determined in other ways, and the present disclosure is not limited to the determination manner of the N1 vectors.

[0097] Step S2102, quantizing a first vector in the N1 vectors by using a first codebook of B bits to obtain a quantization index value of the first vector.

[0098] B is a positive integer and greater than or equal to 2. The first codebook of B bits includes 2 B vectors, and each vector in the first codebook can be referred to as a quantization vector or a code word. The first codebook of B bits can be divided into 2 B-1 B-1 bit codebooks, each of which includes 2 B-1For example, when B=4, the first codebook of 4 bits can be divided into two 3-bit codebooks.

[0099] The manner of quantizing the first vector by using the first codebook is that the first vector is compared with each vector in the first codebook, the vector in the first codebook that is closest to the first vector is determined, and the quantization index value of the first vector is determined according to the closest vector. For example, each vector in the first codebook corresponds to an index respectively, and the index corresponding to the closest vector is the quantization index value of the first vector. The closest vector can also be referred to as the code word of the quantization of the first vector.

[0100] Table 1 below is an example of the first codebook of 4 bits.

[0101] Table 1

[0102] The first codebook of 4 bits described above can be divided into two 3-bit codebooks, for example, the first 3-bit codebook corresponds to the part with indexes 0-7 in Table 1, and the second 3-bit codebook corresponds to the part with indexes 8-15 in Table 1. Alternatively, the first codebook of 4 bits described above can be divided into two parts, the first half corresponds to the part with indexes 0-7 in Table 1, and the second half corresponds to the part with indexes 8-15 in Table 1.

[0103] In step S2103, if the quantization index value of the first vector corresponds to the first half of the first codebook, the first half of the first codebook is determined as the second codebook.

[0104] In step S2104, if the quantization index value of the first vector corresponds to the second half of the first codebook, the second half of the first codebook is determined as the second codebook.

[0105] In step S2105, the second vector in the N1 vectors is quantized by using the second codebook to obtain the quantization index value of the second vector.

[0106] According to the above embodiment, in some embodiments, it is determined whether the quantization index value of the first vector corresponds to the first half or the second half of the first codebook (i.e., whether the quantized code word of the first vector is located in the first half or the second half of the first codebook), so as to determine the second codebook. If the quantization index value of the first vector corresponds to the first half of the first codebook (i.e., the quantized code word of the first vector is located in the first half of the first codebook), then for the second vector of the N1 vectors, the first half of the first codebook is taken as the second codebook, and the second vector is quantized by using the second codebook to obtain the quantization index value of the second vector. If the quantization index value of the first vector corresponds to the second half of the first codebook (i.e., the quantized code word of the first vector is located in the second half of the first codebook), then for the second vector of the N1 vectors, the second half of the first codebook is taken as the second codebook, and the second vector is quantized by using the second codebook to obtain the quantization index value of the second vector. It can be understood that the second codebook includes the first half or the second half of the first codebook, and thus the second codebook is a B-1 bit codebook.

[0107] In some embodiments, the first vector is the first vector of the N1 vectors, and the second vector is at least one vector of the N1 vectors other than the first vector, for example, the second vector can be the second vector, the third vector, the fourth vector, etc. of the N1 vectors. The first vector can be a vector corresponding to a first subframe in the audio frame, the second vector can be a vector corresponding to a second subframe in the audio frame, and so on.

[0108] It is worth noting that in the above process, the quantization index value of the first vector can be represented by B bits, and the quantization index value of the second vector can be represented by B-1 bits, so for the second vector and subsequent vectors, the number of bits required can be reduced, and at the same time, the second codebook used for quantizing the second vector and subsequent vectors is determined according to the quantization result of the first vector, so the correlation between the multiple vectors corresponding to the same audio frame can be guaranteed, that is, when the quantized code word of the first vector is located in the first half of the first codebook, the quantized code words of the second vector and subsequent vectors are also located in the first half, and when the quantized code word of the first vector is located in the second half of the first codebook, the quantized code words of the second vector and subsequent vectors are also located in the second half.

[0109] Through the above process, the encoder can determine the quantization index values corresponding to the N1 vectors respectively, and transmit the quantization index values.

[0110] The decoder decodes the M frequency domain envelope values corresponding to each vector respectively according to the quantization index values corresponding to the N1 vectors respectively, and further restores a corresponding audio frame.

[0111] At the decoder side, when the quantization index value of the first vector corresponds to the second half of the first codebook, the quantization index value of the second vector will be increased by an offset = k based on the transmitted quantization index value, so as to ensure the correlation between the second vector and the first vector.

[0112] FIG. 2B is a flow diagram of a vector quantization method according to an embodiment of the present disclosure. As shown in FIG. 2B, the method comprises the following steps:

[0113] In step S2201, N1 vectors are determined according to a plurality of frequency domain envelope values corresponding to one audio frame.

[0114] The optional implementation of step S2201 can refer to the optional implementation of step S2101 of FIG. 2A and other associated parts in the embodiments involved by FIG. 2A, which will not be repeated here.

[0115] In step S2202, a first vector of the N1 vectors is quantized by using a first codebook with B bits to obtain a quantization index value of the first vector.

[0116] The optional implementation of step S2202 can refer to the optional implementation of step S2102 of FIG. 2A and other associated parts in the embodiments involved by FIG. 2A, which will not be repeated here.

[0117] In step S2203, a second vector of the N1 vectors is quantized by using the first codebook to obtain an initial quantization index value of the second vector.

[0118] The way of quantizing the second vector of the N1 vectors by using the first codebook is the same as the way of quantizing the first vector, so the optional implementation of step S2203 can refer to the optional implementation of step S2202, but the index value obtained by quantizing the second vector by using the first codebook is not the final quantization index value of the second vector, but an initial quantization index value of the second vector.

[0119] In some embodiments, the second vector is compared with each vector in the first codebook to determine a vector in the first codebook that is closest to the second vector, and the initial quantization index value of the second vector is determined according to the closest vector. For example, the index corresponding to the closest vector is the initial quantization index value of the second vector.

[0120] In step S2204, if the initial quantization index value of the second vector is greater than or equal to k, the quantization index value of the second vector is determined as the initial quantization index value minus k.

[0121] In step S2205, if the initial quantization index value of the second vector is less than k, the quantization index value of the second vector is determined as the initial quantization index value.

[0122] k is a positive integer. In some embodiments, k = 2 (B-1) , for example, when B = 4, k = 8. It should be understood that in the above description, "the initial quantization index value of the second vector is greater than or equal to 2 (B-1) " can be alternatively described as "the initial quantization index value of the second vector is greater than 2 (B-1) -1", "the initial quantization index value of the second vector is less than 2 (B-1) " can be alternatively described as "the initial quantization index value of the second vector is less than or equal to 2 (B-1) -1". Therefore, in some embodiments, k = 2 (B-1) -1.

[0123] In the above embodiments, the final quantization index value of the second vector is determined according to the size relationship between the initial quantization index value of the second vector and k, so that the number of bits required for the quantization index value of the second vector can be reduced, and the number of bits required for the quantization index value of the second vector is less than B.

[0124] In some embodiments, the quantization index value of the second vector is set in a first range, and the first range is 0 to 2 (B-1) , and thus the number of bits required for the quantization index value of the second vector can be B-1.

[0125] According to the above embodiments, in some embodiments, it is determined whether the initial quantization index value of the second vector is greater than or equal to k (or it is determined whether the initial quantization index value of the second vector is less than k), if the initial quantization index value of the second vector is greater than or equal to k, the quantization index value of the second vector is set as the initial quantization index value of the second vector minus k, so that at the decoder end, when the quantization index value of the first vector is greater than or equal to k, the quantization index value of the second vector will be restored to the original initial quantization index value after the increase offset = k; if the initial quantization index value of the second vector is less than k, the quantization index value of the second vector is set as the initial quantization index value of the second vector.

[0126] In some embodiments, step S2202 can be exchanged in order with at least one of steps S2203-S2205 or performed simultaneously.

[0127] FIG. 2C is a flow diagram of a vector quantization method according to an embodiment of the present disclosure. As shown in FIG. 2C, the method includes the following steps:

[0128] Step S2301, determining N1 vectors according to a plurality of frequency domain envelope values corresponding to one audio frame.

[0129] The optional implementation of step S2301 can refer to the optional implementation of at least one of step S2101 in FIG. 2A, step S2201 in FIG. 2B, and other associated parts in the embodiments related to FIG. 2A and FIG. 2B, which will not be repeated here.

[0130] Step S2302 quantizes the first vector in the N1 vectors by using the first codebook with B bits to obtain a quantization index value of the first vector.

[0131] The optional implementation of step S2302 can refer to the optional implementation of at least one of step S2102 in FIG. 2A, step S2202 in FIG. 2B, and other associated parts in the embodiments related to FIG. 2A and FIG. 2B, which will not be repeated here.

[0132] Step S2303 quantizes the second vector in the N1 vectors by using the first codebook to obtain an initial quantization index value of the second vector.

[0133] The optional implementation of step S2303 can refer to the optional implementation of step S2203 in FIG. 2B, and other associated parts in the embodiments related to FIG. 2B, which will not be repeated here.

[0134] Step S2304, if the quantization index value of the first vector is less than k, and the initial quantization index value of the second vector is less than k, determines the quantization index value of the second vector as the initial quantization index value.

[0135] Step S2305, if the quantization index value of the first vector is less than k, and the initial quantization index value of the second vector is greater than or equal to k, determines the quantization index value of the second vector as k1.

[0136] k1 can be any index in the first half of the first codebook. Alternatively, k1 is the last index in the first half of the first codebook. For example, taking the first codebook shown in Table 1 as an example, k1 = 7.

[0137] According to the above embodiments, when the quantization index value of the first vector is less than k (i.e., the code word quantized by the first vector is in the first half of the first codebook), due to the correlation between the first vector and the second vector, it is generally considered that the code word quantized by the second vector is also in the first half of the first codebook. Therefore, when the initial quantization index value of the second vector is less than k, the quantization index value of the second vector is determined as the initial quantization index value of the second vector, and when the initial quantization index value of the second vector is greater than or equal to k, the quantization index value of the second vector is determined as k1, i.e., the quantization index value of the second vector is set as an index in the first half of the first codebook, which on the one hand guarantees the correlation between the first vector and the second vector, and on the other hand the quantization index value of the second vector can be set to 0 to 2 (B-1)the range of 0 to 2k-1, so the quantization index value of the second vector can be represented by B-1 bits.

[0138] In step S2306, if the quantization index value of the first vector is greater than or equal to k, and the initial quantization index value of the second vector is less than k, the quantization index value of the second vector is determined as k2.

[0139] k2 is any index of the first half of the first codebook. k1 and k2 can be the same or different. Alternatively, k2 is the first index of the first half of the first codebook. For example, k2 = 0.

[0140] In some embodiments, step S2306 is an optional step. For example, if the quantization index value of the first vector is greater than or equal to k, and the initial quantization index value of the second vector is less than k, the quantization index value of the second vector can also be determined as the initial quantization index value of the second vector.

[0141] In step S2307, if the quantization index value of the first vector is greater than or equal to k, and the initial quantization index value of the second vector is greater than or equal to k, the quantization index value of the second vector is determined as the initial quantization index value minus k.

[0142] According to the above embodiments, when the quantization index value of the first vector is greater than or equal to k (i.e., the quantized code word of the first vector is located in the second half of the first codebook), due to the correlation between the first vector and the second vector, it is generally believed that the quantized code word of the second vector is also located in the second half of the first codebook. In order to reduce the number of bits required for the quantization index value of the second vector, the final quantization index value of the second vector is determined according to the initial quantization index value of the second vector, so that the quantization index value of the second vector can be set in the range of 0 to 2k-1, so the quantization index value of the second vector can be represented by B-1 bits. (B-1)

[0143] Alternatively, when the quantization index value of the first vector is greater than or equal to k, if the initial quantization index value of the second vector is less than k, the quantization index value of the second vector is determined as k2, i.e., the quantization index value of the second vector is set to an index of the first half of the first codebook, so that the quantization index value of the second vector can be set in the range of 0 to 2k-1, so the quantization index value of the second vector can be represented by B-1 bits. (B-1) ​the second vector can be represented by B-1 bits. In addition, it is also necessary to point out that, at the decoder end, since the quantization index value of the first vector is greater than or equal to k, for the second vector, the decoder will increase the offset = k on the basis of the transmitted quantization index value of the second vector to maintain the correlation between the second vector and the first vector. Since the initial quantization index value of the second vector is less than k, and the transmitted quantization index value of the second vector is the first index of the first codebook, after the offset = k is added, the quantization index value of the second vector will be further set to the first index of the second half of the first codebook, which is closest to the first half of the first codebook, so that while ensuring the correlation and reducing the transmission bits, the quantization effect can be taken into account.

[0144] Alternatively, when the quantization index value of the first vector is greater than or equal to k, if the initial quantization index value of the second vector is also greater than or equal to k, the quantization index value of the second vector is determined as the initial quantization index value minus k, so that the quantization index value of the second vector can be set within the range of 0 to 2 (B-1) the second vector can be represented by B-1 bits. At the decoder end, since the quantization index value of the first vector is greater than or equal to k, for the second vector, the decoder will increase the offset = k on the basis of the transmitted quantization index value of the second vector to maintain the correlation between the second vector and the first vector, and the quantization index value of the second vector will be restored to the original initial quantization index value after the offset = k is added.

[0145] In the above embodiment, according to the size relationship between the quantization index value of the first vector and the initial quantization index value of the second vector and k, the final quantization index value of the second vector is determined, so that the number of bits required for the quantization index value of the second vector can be reduced, and the number of bits required for the quantization index value of the second vector is less than B.

[0146] It is worth noting that in the embodiments of FIG. 2B and FIG. 2C, the difference from the embodiment of FIG. 2A is that the second vector is quantized by the complete first codebook, rather than by the second codebook determined by one part of the first codebook, so that the quantization effect can be improved. Moreover, by determining the final quantization index value of the second vector from the initial quantization index value of the second vector, the quantization index value of the second vector can be set within the range of 0 to 2 (B-1) , so that while improving the quantization effect, the quantization index value of the second vector can still be represented by B-1 bits. Compared with the embodiment of FIG. 2A, a higher quantization effect can be achieved while keeping the transmission bits unchanged.

[0147] In some embodiments, the operation of the decoder end in the embodiments of FIG. 2B and FIG. 2C is the same as the operation of the decoder end in the embodiment of FIG. 2A.

[0148] FIG. 3A is a flow diagram of a vector quantization method according to an embodiment of the present disclosure. As shown in FIG. 3A, the method comprises the following steps:

[0149] In step S3101, N1 vectors are determined according to a plurality of frequency domain envelope values corresponding to one audio frame.

[0150] Each of the N1 vectors comprises M frequency domain envelope values in the plurality of frequency domain envelope values, and N1 and M are positive integers.

[0151] The optional implementation of step S3101 can refer to the optional implementation of at least one of step S2201 in FIG. 2B, step S2301 in FIG. 2C, and other associated parts in the embodiments related to FIG. 2B and FIG. 2C, which will not be repeated here.

[0152] In step S3102, a first vector in the N1 vectors is quantized using a first codebook with B bits to obtain a quantization index value of the first vector.

[0153] B is a positive integer greater than or equal to 2. The first vector is the first vector in the N1 vectors.

[0154] The optional implementation of step S3102 can refer to the optional implementation of at least one of step S2202 in FIG. 2B, step S2302 in FIG. 2C, and other associated parts in the embodiments related to FIG. 2B and FIG. 2C, which will not be repeated here.

[0155] In step S3103, a second vector in the N1 vectors is quantized using the first codebook to obtain an initial quantization index value of the second vector.

[0156] The second vector is at least one vector in the N1 vectors other than the first vector, for example, the second vector is the second vector, the third vector, the fourth vector, etc. in the N1 vectors.

[0157] The optional implementation of step S3103 can refer to the optional implementation of at least one of step S2203 in FIG. 2B, step S2303 in FIG. 2C, and other associated parts in the embodiments related to FIG. 2B and FIG. 2C, which will not be repeated here.

[0158] In step S3104, a quantization index value of the second vector is determined according to the initial quantization index value of the second vector, and the number of bits required for the quantization index value of the second vector is less than B.

[0159] Optionally, the quantization index value of the second vector is determined according to the size relationship between the initial quantization index value of the second vector and k.

[0160] Optionally, the quantization index value of the second vector is determined according to the size relationship between the quantization index value of the first vector and the initial quantization index value of the second vector and k.

[0161] Optionally, the quantization index value of the second vector is in a first range, and the first range is 0 to 2 (B-1) Therefore, the number of bits required by the quantization index value of the second vector is B-1.

[0162] Optionally, k is 2 (B-1) .

[0163] The optional implementation of step S3104 can refer to the optional implementation of at least one of steps S2204-S2205 in FIG. 2B, steps S2304-S2307 in FIG. 2C, and other associated parts in the embodiments involved in FIG. 2B and FIG. 2C, which will not be repeated here. In some embodiments, step S3104 can include at least one of steps S2204-S2205 and steps S2304-S2307 described above.

[0164] In some embodiments, step S3102 can be exchanged in sequence or simultaneously performed with at least one of steps S3103-S3104.

[0165] Through the above embodiments, using one codebook to quantize N1 vectors corresponding to one audio frame can reduce the transmission bits and has a higher quantization effect.

[0166] FIG. 3B is a flow diagram of a vector quantization method according to an embodiment of the present disclosure. As shown in FIG. 3B, the method includes the following steps:

[0167] Step S3201, determining N1 vectors according to a plurality of frequency domain envelope values corresponding to one audio frame.

[0168] The optional implementation of step S3201 can refer to the optional implementation of at least one of steps S2201 in FIG. 2B, steps S2301 in FIG. 2C, and steps S3101 in FIG. 3A, and other associated parts in the embodiments involved in FIG. 2B, FIG. 2C, and FIG. 3A, which will not be repeated here.

[0169] Step S3202, quantizing the N1 vectors using a first codebook of B bits to obtain a quantization index value of a first vector and an initial quantization index value of a second vector.

[0170] The optional implementation of step S3202 can refer to the optional implementation of at least one of steps S2202-S2203 in FIG. 2B, steps S2302-S2303 in FIG. 2C, and steps S3102-S3103 in FIG. 3A, and other associated parts in the embodiments related to FIGS. 2B, 2C, and 3A, which will not be repeated here.

[0171] In step S3203, the quantization index value of the second vector is determined according to the initial quantization index value of the second vector, and the second vector has a quantization index value requiring a number of bits less than B.

[0172] The optional implementation of step S3203 can refer to the optional implementation of at least one of steps S2204-S2205 in FIG. 2B, steps S2304-S2307 in FIG. 2C, and step S3104 in FIG. 3A, and other associated parts in the embodiments related to FIGS. 2B, 2C, and 3A, which will not be repeated here. In some embodiments, step S3203 can include at least one of steps S2204-S2205 and steps S2304-S2307 described above.

[0173] Some specific embodiments are given below to describe the vector quantization method proposed by the embodiments of the present disclosure.

[0174] Suppose an audio frame is divided into 4 subframes, each subframe corresponds to 2 frequency domain envelope values, and 2 frequency domain envelope values of each subframe are combined into a two-dimensional vector, then there are 4 two-dimensional vectors.

[0175] In some embodiments, referring to FIG. 4A, first, the first vector is quantized by using a 4-bit first codebook, and the quantized index value is ind2.

[0176] Then, the second vector is quantized by using the 4-bit first codebook, and the quantized index value is ind1.

[0177] Then, it is determined whether ind1 is greater than or equal to 8 (or whether ind1 is less than 8);

[0178] If ind1 is greater than or equal to 8, ind1 is set to ind1-8.

[0179] If ind1 is less than 8, ind1 is kept unchanged, or ind1 is set to ind1.

[0180] In some embodiments, referring to FIG. 4B, first, the first vector is quantized by using a 4-bit first codebook, and the quantized index value is ind1.

[0181] Then, the second vector is quantized by using the 4-bit first codebook, and the quantized index value is ind1.

[0182] Then, it is determined whether ind2 is greater than or equal to 8 (or whether ind2 is less than 8);

[0183] If ind2 is greater than or equal to 8, it is determined whether ind1 is greater than or equal to 8 (or whether ind1 is less than 8);

[0184] If ind1 is greater than or equal to 8, ind1 is set to ind1-8;

[0185] If ind1 is less than 8, ind1 is set to 0;

[0186] If ind2 is less than 8, it is determined whether ind1 is greater than or equal to 8 (or whether ind1 is less than 8);

[0187] If ind1 is greater than or equal to 8, ind1 is set to 7;

[0188] If ind1 is less than 8, ind1 is kept unchanged, or ind1 is set to ind1.

[0189] For the third vector and the fourth vector, the quantization process can refer to the quantization process of the second vector, which is not repeated here.

[0190] In the embodiments of the present disclosure, part or all of the steps, and optional implementation manners thereof, can be combined with part or all of the steps in other embodiments, or can be combined with optional implementation manners of other embodiments.

[0191] The embodiments of the present disclosure also propose an apparatus for implementing any of the above methods, for example, an apparatus including units or modules for implementing each step performed by a terminal in any of the above methods. For another example, another apparatus is proposed, including units or modules for implementing each step performed by a network device (such as an access network device, a core network function node, a core network device, etc.) in any of the above methods.

[0192] It should be understood that the division of each unit or module in the above apparatus is only a logical function division, and all or part of them can be integrated into a physical entity or physically separated in actual implementation. In addition, the units or modules in the apparatus can be implemented in the form of processor calling software: for example, the apparatus includes a processor, the processor is connected with a memory, the memory stores instructions, and the processor calls the instructions stored in the memory to realize the functions of any of the above methods or the units or modules of the above apparatus, wherein the processor is a general processor such as a central processing unit (CPU) or a microprocessor, and the memory is a memory in the apparatus or a memory outside the apparatus. Alternatively, the units or modules in the apparatus can be implemented in the form of hardware circuit, and the functions of part or all of the units or modules can be realized by the design of the hardware circuit. The above hardware circuit can be understood as one or more processors; for example, in one implementation, the above hardware circuit is an application-specific integrated circuit (ASIC), and the functions of part or all of the units or modules are realized by the design of the logical relationship between the elements in the circuit; for another example, in another implementation, the above hardware circuit is a programmable logic device (PLD), and a field programmable gate array (FPGA) is taken as an example, which can include a large number of logic gate circuits, and the connection relationship between the logic gate circuits is configured by a configuration file, so as to realize the functions of part or all of the units or modules. All units or modules of the above apparatus can be all implemented in the form of processor calling software, or all implemented in the form of hardware circuit, or part implemented in the form of processor calling software and the remaining part implemented in the form of hardware circuit.

[0193] In the embodiments of the present disclosure, the processor is a circuit with signal processing capability. In one implementation, the processor can be a circuit with instruction reading and running capability, such as a central processing unit (CPU), a microprocessor, a graphics processing unit (GPU) (which can be understood as a microprocessor), a digital signal processor (DSP), or the like. In another implementation, the processor can implement certain functions through a logical relationship of hardware circuits, and the logical relationship of the hardware circuits is fixed or can be reconfigured. For example, the processor is a hardware circuit implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), such as an FPGA. In the reconfigurable hardware circuit, the processor loads a configuration document to implement the configuration of the hardware circuit. It can be understood that the processor loads instructions to implement the functions of the above part or all units or modules. In addition, it can also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as a neural network processing unit (NPU), a tensor processing unit (TPU), a deep learning processing unit (DPU), and the like.

[0194] FIG. 5 is a structural schematic diagram of a vector quantization apparatus according to an embodiment of the present disclosure. As shown in FIG. 5, the vector quantization apparatus 5100 can include a processing module 5101. In some embodiments, the processing module is configured to:

[0195] determine N1 vectors according to a plurality of frequency domain envelope values corresponding to an audio frame, wherein each of the N1 vectors includes M frequency domain envelope values in the plurality of frequency domain envelope values, N1 and M are positive integers;

[0196] quantize the N1 vectors by using a first codebook with B bits to obtain a quantization index value of a first vector and an initial quantization index value of a second vector, B is a positive integer and greater than or equal to 2;

[0197] determine a quantization index value of the second vector according to the initial quantization index value, and a number of bits required by the quantization index value of the second vector is less than B;

[0198] The first vector is a first vector of the N1 vectors, and the second vector is at least one vector of the N1 vectors other than the first vector.

[0199] Optionally, the vector quantization apparatus 5100 can further include a transceiver module, which can be configured to transmit the quantization index value.

[0200] Optionally, the transceiver module is configured to perform at least one of the communication steps of transmitting and / or receiving performed by the encoder in the above method, which will not be repeated here. Optionally, the processing module is configured to perform at least one of the other steps performed by the encoder in the above method (for example, steps S2101-S2105, steps S2201-S2205, steps S2301-S2307, but not limited thereto), which will not be repeated here.

[0201] In some embodiments, the transceiver module can include a transmitting module and / or a receiving module, which can be separate or integrated together. Optionally, the transceiver module can be mutually replaced with a transceiver.

[0202] In some embodiments, the processing module can be one module or can include multiple sub-modules. Optionally, the multiple sub-modules perform all or part of the steps required to be performed by the processing module respectively. Optionally, the processing module can be mutually replaced with a processor.

[0203] FIG. 6A is a structural schematic diagram of a communication device 6100 according to the embodiments of the present disclosure. The communication device 6100 can be a network device (for example, an access network device, a core network device, etc.), a terminal (for example, a user equipment, etc.), a chip, a chip system, or a processor supporting the network device to implement any of the above methods, or a chip, a chip system, or a processor supporting the terminal to implement any of the above methods. The communication device 6100 can be used to implement the methods described in the above method embodiments, and specific implementation can be referred to the descriptions in the above method embodiments.

[0204] As shown in FIG. 6A, the communication device 6100 includes one or more processors 6101. The processor 6101 can be a general-purpose processor or a special-purpose processor, for example, a baseband processor or a central processing unit. The baseband processor can be configured to process communication protocols and communication data, and the central processing unit can be configured to control the communication device (for example, a base station, a baseband chip, a terminal device, a terminal device chip, a DU or a CU, etc.), execute programs, and process data of the programs. The communication device 6100 is configured to execute any of the above methods.

[0205] In some embodiments, the communication device 6100 further includes one or more memories 6102 for storing instructions. Optionally, all or part of the memories 6102 can also be outside the communication device 6100.

[0206] In some embodiments, the communication device 6100 further includes one or more transceivers 6103. When the communication device 6100 includes one or more transceivers 6103, the transceiver 6103 performs at least one of the communication steps (e.g., transmitting the quantized index value, but not limited to this) in the above-described methods, and the processor 6101 performs at least one of the other steps (e.g., steps S2101-S2105, steps S2201-S2205, steps S2301-S2307, but not limited to this).

[0207] In some embodiments, the transceiver can include a receiver and / or a transmitter, which can be separate or integrated together. Optionally, the terms transceiver, transceiving unit, transceiver, transceiving circuit, etc. can be replaced with each other, the terms transmitter, transmitting unit, transmitter, transmitting circuit, etc. can be replaced with each other, and the terms receiver, receiving unit, receiver, receiving circuit, etc. can be replaced with each other.

[0208] In some embodiments, the communication device 6100 can include one or more interface circuits 6104. Optionally, the interface circuit 6104 is connected with the memory 6102, and the interface circuit 6104 can be used to receive signals from the memory 6102 or other devices, and can be used to send signals to the memory 6102 or other devices. For example, the interface circuit 6104 can read the instructions stored in the memory 6102 and send the instructions to the processor 6101.

[0209] The communication device 6100 described in the above embodiments can be a network device or a terminal, but the scope of the communication device 6100 described in the present disclosure is not limited to this, and the structure of the communication device 6100 can not be limited by FIG. 6A. The communication device can be a standalone device or can be part of a larger device. For example, the communication device can be: (1) a standalone integrated circuit (IC), or a chip, or a chip system or subsystem; (2) a set of one or more ICs, optionally, the set of ICs can also include storage components for storing data, programs; (3) an ASIC, such as a Modem; (4) a module that can be embedded in other devices; (5) a receiver, a terminal device, a smart terminal device, a cellular phone, a wireless device, a handset, a mobile unit, a vehicle-mounted device, a network device, a cloud device, an artificial intelligence device, etc.; (6) other, etc.

[0210] FIG. 6B is a structural schematic diagram of a chip 6200 according to an embodiment of the present disclosure. For the case that the communication device 6100 can be a chip or a chip system, the structural schematic diagram of the chip 6200 shown in FIG. 6B can be referred to, but is not limited thereto.

[0211] The chip 6200 comprises one or more processors 6201, and the chip 6200 is configured to execute any of the above methods.

[0212] In some embodiments, the chip 6200 further comprises one or more interface circuits 6202. Optionally, the interface circuit 6202 is connected with the memory 6203, and the interface circuit 6202 can be configured to receive signals from the memory 6203 or other devices, and the interface circuit 6202 can be configured to send signals to the memory 6203 or other devices. For example, the interface circuit 6202 can read instructions stored in the memory 6203 and send the instructions to the processor 6201.

[0213] In some embodiments, the interface circuit 6202 performs at least one of the communication steps (for example, transmitting the quantized index value, but is not limited thereto) in the above methods, and the processor 6201 performs at least one of the other steps (for example, steps S2101-S2105, steps S2201-S2205, steps S2301-S2307, but is not limited thereto).

[0214] In some embodiments, the terms of interface circuit, interface, transceiver pin, transceiver, etc. can be replaced with each other.

[0215] In some embodiments, the chip 6200 further comprises one or more memories 6203 for storing instructions. Optionally, all or part of the memory 6203 can be outside the chip 6200.

[0216] The present disclosure further proposes a storage medium, and instructions are stored on the storage medium. When the instructions are run on the communication device 6100, the communication device 6100 is caused to execute any of the above methods. Optionally, the storage medium is an electronic storage medium. Optionally, the storage medium is a computer readable storage medium, but is not limited thereto, and it can also be a storage medium readable by other devices. Optionally, the storage medium can be a non-transitory storage medium, but is not limited thereto, and it can also be a transitory storage medium.

[0217] The present disclosure further proposes a program product, and the program product is executed by the communication device 6100, so that the communication device 6100 executes any of the above methods. Optionally, the program product is a computer program product.

[0218] The present disclosure further proposes a computer program, and when the computer program is run on a computer, the computer is caused to execute any of the above methods.

Claims

1. A method of vector quantization, characterized by, The method comprises the following steps: determining N1 vectors according to a plurality of frequency domain envelope values corresponding to one audio frame, wherein each of the N1 vectors comprises M frequency domain envelope values in the plurality of frequency domain envelope values, N1 and M are positive integers; quantizing the N1 vectors by using a first codebook of B bits to obtain a quantization index value of a first vector and an initial quantization index value of a second vector, B is a positive integer and is greater than or equal to 2; determining the quantization index value of the second vector according to the initial quantization index value, and the second vector requires a number of bits less than B; the first vector is a first vector in the N1 vectors, and the second vector is at least one vector in the N1 vectors except the first vector.

2. The method of claim 1, wherein, The quantization index value of the second vector is in a first range, the first range being 0 to 2 (B-1) .

3. The method according to claim 1 or 2, characterized in that, The step of determining the quantization index value of the second vector according to the initial quantization index value comprises at least one of the following: in the case that the initial quantization index value is greater than or equal to k, determining the quantization index value of the second vector as the initial quantization index value minus k; in the case that the initial quantization index value is less than k, determining the quantization index value of the second vector as the initial quantization index value.

4. The method according to claim 1 or 2, characterized in that, The step of determining the quantization index value of the second vector according to the initial quantization index value comprises at least one of the following: in the case that the quantization index value of the first vector is less than k and the initial quantization index value is less than k, determining the quantization index value of the second vector as the initial quantization index value; in the case that the quantization index value of the first vector is less than k and the initial quantization index value is greater than or equal to k, determining the quantization index value of the second vector as k1, wherein k1 is the last index of the first half of the first codebook; in the case that the quantization index value of the first vector is greater than or equal to k and the initial quantization index value is less than k, determining the quantization index value of the second vector as k2, wherein k2 is the first index of the first half of the first codebook; in the case that the quantization index value of the first vector is greater than or equal to k and the initial quantization index value is greater than or equal to k, determining the quantization index value of the second vector as the initial quantization index value minus k.

5. The method according to claim 3 or 4, characterized in that, k is 2 (B-1) .

6. A vector quantization apparatus characterized by comprising: The method comprises the following steps: a processing module; wherein the processing module is configured to: determine N1 vectors according to a plurality of frequency domain envelope values corresponding to one audio frame, wherein each of the N1 vectors comprises M frequency domain envelope values in the plurality of frequency domain envelope values, N1 and M are positive integers; quantize the N1 vectors by using a first codebook of B bits to obtain a quantization index value of a first vector and an initial quantization index value of a second vector, B is a positive integer and is greater than or equal to 2; determine the quantization index value of the second vector according to the initial quantization index value, and the second vector requires a number of bits less than B; the first vector is a first vector in the N1 vectors, and the second vector is at least one vector in the N1 vectors except the first vector.

7. A communication device, characterized by The method comprises the following steps: one or more processors; wherein the communication device is configured to perform the vector quantization method in any one of claims 1-5.

8. A communication system, characterized by An encoder and a decoder are comprised, wherein the encoder is configured to implement the vector quantization method of any of claims 1-5.

9. A storage medium, the storage medium storing instructions, wherein, The instructions, when executed on a communication device, cause the communication device to perform the vector quantization method of any of claims 1-5.

10. A computer program product comprising a computer program, characterized in that, The computer program, when executed by a communication device, implements the vector quantization method of any of claims 1-5.

Citation Information

Patent Citations

  • Method, system and mobile terminal for transmitting channel information

    CN101777968A

  • Vector quantization method and device of frequency domain envelopes

    CN104282308A

  • Vector quantizer

    CN107170459A

  • Vector quantification method and device of frequency domain envelopes

    CN107316647A

  • Method and apparatus for pyramid vector quantization indexing and de-indexing

    CN109905718A