METHODS FOR SIMPLIFIED MMI VQ BASED HARQ BUFFER REDUCTION FOR LTE
Methods of simplified MMI VQ based HARQ buffer reduction are disclosed. In one embodiment of the invention, the VQ obtains distribution information from source data based on a predefined codebook subset design. The subset design is predefined. Source data is trained within its corresponding subset to generate codebook. In one embodiment of the invention, the predefined subset algorithm is based on the LLR sign value. In another embodiment of the invention, source data is divided into subset based on predefined algorithm. The index to codebook is generated by search through the corresponding subset of the codebook instead of the whole codebook. In one embodiment of the invention, the training method is a modified Lloyd algorithm for MMI VQ. In another embodiment of the invention, the training method is a modified Lloyd algorithm for Euclidean distance VQ.
Latest MEDIATEK Singapore Pte Ltd. Patents:
- Subcarrier indices for distributed-tone resource units in 6GHz low-power indoor systems
- Apparatus and method for applying dynamic compensation to feedback signal generated from loadline of voltage regulator
- Apparatuses and methods for SideLink (SL) communication in a User Equipment (UE)-to-UE relaying architecture
- Distributed-tone RU on frequency subblock of wide-bandwidth PPDU
- Dynamic spatial reuse protection in mesh network
The disclosed embodiments relate generally to mobile communication networks, and, more particularly, to a simplified MMI VQ based HARQ buffer reduction.
BACKGROUNDLong Term Evolution (LTE) system is a modern mobile communication standard designed to provide seamless internet protocol (IP) connectivity between user equipment (UE) and a package data network (PDN). LTE system uses Hybrid Automatic Repeat Request (HARQ) in an effort to guarantee transmission reliability and to increase channel throughput. HARQ is a stop-and-wait scheme, where subsequent transmission can take place only after receiving ACK/NACK from the receiving entity. At the receiver side, the received information is stored temporarily on HARQ memory. If the received message is not decoded correctly, the valuable stored information can be combined with subsequent information of the same message to correctly decode the message. With the ever-increasing data rates in the mobile network, the amount of data to be stored in an receiving HARQ queue increases dramatically. For example, a category-four HARQ requires approximately 11 mega bits of external memory and 1.4 mega bits of internal memory for storing one HARQ copy. To mitigate the demand for increasing HARQ memory size, data compression at the receiving HARQ queue is needed.
Vector Quantization (VQ) is an efficient data compression method based on the principal of block coding. A VQ maps k-dimensional vectors in the vector space into a finite set of vector called a codeword. The set of all the codeword is a codebook. The VQ takes a source data vector and associates it with a codeword that is the nearest neighbor. When using VQ to compress the HARQ data, some special feature of the HARQ data should be considered. HARQ is a powerful combination of forward error correction (FEC), error detection and retransmission scheme. To maximize the performance of the error correction coding, posterior probabilities of the bits that were transmitted need to be stored while waiting for the next retransmission, usually in the form of log-likelihood ratio (LLR). One of the common compression scheme is Maximum Mutual Information (MMI) based VQ for LLR. The criterion is to maximize the mutual information between the original bits and the quantized LLR.
There are two issues associated with the VQ design for HARQ data. The first is how to generate a codebook efficiently. The second is how to optimize an MMI scheme for VQ. In a simple VQ design, a code vector is partitioned into a codeword in a codebook. Instead of storing the code vector itself, an index to the code vector is stored. Upon decompressing, the index is used to retrieve the codeword which is a close proximate to the code vector. A simple VQ method requires an exhaustive search of the codebook for each data vector. Such process is computationally expensive. A more efficient way is required for real time HARQ VQ design.
One problem is how to generate a codebook efficiently. The classical generalized Lloyd algorithm (GLA) is the most cited and widely used VQ method due to its simplicity and relatively good fidelity. However, it requires much higher processing resource. To apply GLA, a distance is defined in RK, where K>1. GLA consists of two-step iterations. In the first step, the training points are associated with the closest points in the codebook based on selected distance measure, called nearest neighbor condition. In the second step, the centroids of each set of training points are selected as the new reconstruction value, called centroids condition. The algorithm can start with an initial codebook provided by other algorithm, or simply taken randomly from the training set. To calculate the distance, GLA usually is applied in conjunction with Euclidean distance, which results in minimization of the mean squared error (MSE). It is also easily applicable to use other distance measure for GLA, such as the MMI approach. In either classical GLA or some proposed modified Lloyd algorithm, problems exist for not being efficient in codebook generation or require extra buffer/memory space for implementation.
Another problem is how to optimize an MMI scheme for VQ. The limitation of traditional VQ algorithm demands high processing power and memory space. Assume a random vector l={l1, . . . , lk}. To design an optimal codebook, we draw nτ samples of 1 as training points, which we can model with a random vector, t={t1, . . . , tk}, with values in an alphabet Γ={1, . . . , N}, where N is the number of cells of the VQ. For HARQ with LLR, assume xk is the original bit and yk is the reconstruction value for its LLR. I(.;.) is the mutual information between random variables, H(.) is the entropy and H(.|.) is the conditional entropy of a random variable given that another is observed. To maximize the mutual information between the original bits and the quantized LLR, the VQ needs to ensure minimize the mutual information loss ΔI=H(Xk|Yk)−H(Xk|Lk). Further, the probability that an input point falls in region Ri is defined as: p(i)=ni/nΓ, where ni=|{tERi}|, which is the probability of a given quantizer out is approximated by the relative number of training points that fall in the region associated with the output value i. The posterior p(xk|i), which is the average posterior probability for the original bit conditioned on the training points belonging to Ri, can be obtained by: p(xk|i)=(ni/nΓ)ΣlER
Methods of simplified MMI VQ based HARQ buffer reduction are disclosed. In one embodiment of the invention, the VQ obtains distribution information from source data based on a predefined codebook subset design. The subset design is predefined. Subsequently, sample source data is counted into each subset according to the algorithm. Source data is trained within its corresponding subset to generate a codebook. In one embodiment of the invention, the predefined subset algorithm is based LLR sign value, and divides the data into 27 subgroups. In another embodiment of the invention, source data is divided into subset based on a predefined algorithm. The index to the codebook is generated by search through the corresponding subset of the codebook instead of the whole codebook. In one embodiment of the invention, the training method is a modified Lloyd algorithm of MMI VQ. In another embodiment of the invention, the training method is a modified Lloyd algorithm based Euclidean distance VQ.
Reference will now be made in detail to some embodiments of the invention, examples of which are illustrated in the accompanying drawings.
In accordance to embodiments of the invention, VQ 206 can use modified Lloyd algorithm to reduce the amount of HARQ buffer size required. In other embodiments of the invention, VQ 206 can train codebook and search index in a predefined subset instead of doing a complete set search. Such steps increase the efficiency of VQ 206. Similar methods are applied to Turbo MIMO and HARQ combination design as shown below in
In addition to the HARQ combination, Turbo MIMO combination is depicted as an inner loop with loop index N. If N=0, then de-rate matching module 224 outputs data to HARQ combination module 227, and de-VQ 228 outputs de-compressed data to Turbo decoder 233. On the other hand, if N>1, then de-rate matching module 224 outputs data to Turbo MIMO buffer 231, which forwards data to turbo combination module 230. Further, when N>0, turbo combination module 230 combines de-compressed data from de-VQ 228 with the data from Turbo MIMO buffer 231. Turbo combination module 230 then forwards the combined data to turbo decoder 233 for data decoding.
In accordance to embodiments of the invention, VQ 225 can use modified Lloyd algorithm to reduce the amount of HARQ buffer size required. In other embodiments of the invention, VQ 225 can train codebook and search index in a predefined subset instead of doing a complete set search. Such steps increase the efficiency of VQ 225. Details of these methods are now illustrated below.
Vector Quantization (VQ) is an efficient data compressing method based on the principal of block coding. A VQ maps k-dimensional vectors in the vector space into a finite set of vector called a codeword. The set of all the codeword is a codebook. The VQ takes the source data vector and associates it with a codeword that is the nearest neighbor. The source data is mapped into index based on the codebook during data compression or encoding. The stored indices are subsequently used to map to codeword in the codebook to de-compress the data or decoding.
In general, for MMI based VQ for LLR, the quantization criterion is to maximize the mutual information between original bits and the quantized LLR:
where
-
- X is the transmitted bits
- L is the LLR of the received bits
- Y is the reconstruction value for its LLR L
VQ splits the source data into k-dimensional regions Ri with reconstruction value of Yi. The index i is within alphabet I={1, . . . N}, where the total number of codebook items N=2K×b and b is the bit width per LLR soft bit. For example, by setting K=3, and LLR bit width=3 for each LLR soft bit, then the total codebook item number N=23×3=512. The final goal of MMI based VQ is to minimize the mutual information loss ΔI.
Upon decoding, Decoder 302 receives the index of the codeword. It then replaces the index with the associated codeword. It is obvious that the larger the codebook is, the more complicated the search and match for the Encoder 301 is required. The larger the codebook, the less distortion results from the data compression. Therefore, the search for codebook index requires faster process. In one embodiment of the invention, the codebook in Encoder 301 and Decoder 302 is further divided into subsets according to certain predefined algorithm. Such algorithm is easily applied to each input vector such that the input vector is directly mapped onto a subset. Subsequently, instead of searching the whole codebook to find the least distortion matching codeword, Encoder Search Engine 310 only need to search the subset of the codebook. Using subset algorithm in VQ encoder greatly increases the efficiency. Further, when a codebook is generated from a sample set of input vector, it is much more efficient to break the input vector into subsets of vectors, train and iterate the vectors in each subset to generate the codebook. The following sections provide detailed steps in accordance to the invention.
Similarly, other method of dividing the source data and codebook into corresponding subsets can be used. Easy and fast method of dividing the subsets will reduce the processing time of searching and thus greatly increase the VQ efficiency. In addition to dividing the source data and codebook into subsets, modified Lloyd algorithm can also increase the efficiency of VQ.
In general, a modified Lloyd algorithm provides better distortion measure and reduces memory requirements. There may be multiple ways to calculate distortion measure, the most common ones are mutual information loss and Euclidean distance.
At Step 607, based on the new set of Yi, VQ computes the new distortion measure. At Step 608, VQ checks whether
where ε is a predefined limit. If the condition is not met at Step 608, then the least distortion codeword has not been found yet, and VQ goes back to Step 602 and repeats the steps. If the condition is met Step 608, then the algorithm is completed.
where
-
- ni is the number of associated vectors in Ri
- lk is a corresponding LLR representation of the source data vector r in Ri. After this iteration, a new set of Yi is generated.
At Step 707, based on the new set of Yi, VQ computes the new mutual information loss ΔInew=Σrετ{tilde over (D)}(r∥Yi), where {tilde over (D)}(r∥Yi) is the mutual information distortion between r and Yi. At Step 708, VQ checks whether
where ε is a predefined limit. If the condition is not met at Step 708, then the least distortion codeword has not been found yet, and VQ goes back to Step 702 and repeats the steps. If the condition is met Step 708, then the algorithm is completed. This modified Lloyd algorithm reduces the memory requirement for HARQ and offers less distortion. It is, therefore, much more efficient than the classic ones. Similar algorithm can be used for Euclidean distance VQ.
where
-
- ni is the number of associated vectors in Ri
- lk is a corresponding LLR representation of the source data vector r in Ri. After this iteration, a new set of Yi is generated.
At Step 807, based on the new set of Yi, VQ computes the new Euclidean distance Δdnew=Σrετ∥r−Yi∥2, where ∥r−Yi∥2 is the Euclidean distance between r and Yi. At Step 808, VQ checks whether
where is a predefined limit. If the condition is not met at Step 808, then the least distortion codeword has not been found yet, and VQ goes back to Step 802 and repeats the steps. If the condition is met Step 808, then the algorithm is completed. This modified Lloyd algorithm reduces the memory requirement for HARQ and offers less distortion. It is, therefore, much more efficient than the classic ones.
In accordance with the embodiments of the current invention, VQ can generate codebook more efficiently and reduces the HARQ memory usage. Dividing of codebook and source data into subsets based on predefined algorithm works very well when the data distribution stays about the same for all subsets. The following illustrates the advantage of using such method.
It is clear from
The modified Lloyd algorithm described above can be used together with codebook subset to increase the efficiency. It can also be use independently with tradition codebook search without dividing the codebook and source data into subsets. Further, GLA or other optimized VQ algorithm can be used in lieu of the method of dividing the codebook and source data into subsets.
Although the present invention has been described in connection with certain specific embodiments for instructional purposes, the present invention is not limited thereto. Accordingly, various modifications, adaptations, and combinations of various features of the described embodiments can be practiced without departing from the scope of the invention as set forth in the claims.
Claims
1. A method, comprising:
- obtaining distribution information from a set of source data vectors based on a predefined codebook subset design;
- determining a codebook item number Ns for each codebook subset based on a predefined codebook length L and the distribution information;
- partitioning each source data vector into its corresponding codebook subset;
- training the source data vector within its codebook subset; and
- assigning a default codebook vector value to any codebook subset that does not have any source data vector in it.
2. The method of claim 1 further comprising:
- ordering the trained codebook of each subset to a final codebook with length L.
3. The method of claim 1, wherein the source data vectors are log-likelihood ratio (LLR) vectors, and wherein the predefined codebook subset design is based on sign labels of the LLR vectors.
4. The method of claim 3, wherein the codebook training method for each subset involves applying a modified Lloyd algorithm for Vector Quantization (VQ).
5. The method of claim 4, wherein the VQ is based on Maximum Mutual Information (MMI), and wherein the training comprising the steps of: y i, k = 1 n i ∑ r ∈ R i l k, where ni is the number of associated vectors in Ri, and lk is a corresponding LLR representation of the source data r in Ri. Δ I old - Δ I new Δ I old < ɛ, where ε is a predefined limit.
- a) splitting the source data into k-dimensional regions Ri with reconstruction value of Yi, and initializing an old mutual information loss ΔIold and a new mutual information loss ΔInew to be infinite;
- b) assigning the new mutual information loss ΔInew=ΔIold;
- c) for each source data vector r, assigning r to Ri so that Yi and r has the smallest mutual information distortion;
- d) if any region Ri is empty, splitting one or more high density Ri and repeat step c);
- e) for each i, updating the reconstruction value to
- f) computing the new mutual information loss ΔInew=Σrετ{tilde over (D)}(r∥Yi), where {tilde over (D)}(r∥Yi) is the mutual information distortion between r and Yi; and
- g) repeating steps b) to f) until
6. The method of claim 4, wherein the VQ is based on Euclidean distance, and wherein the training comprising the steps of: y i, k = 1 n i ∑ r ∈ R i l k, where ni the number of associated vectors in Ri, and lk is a corresponding LLR representation of the source data vector r in Ri. Δ d old - Δ d new Δ d old < ɛ, where ε is a predefined limit.
- a) splitting the subset into k-dimensional regions Ri with reconstruction value of Yi and initializing an old Euclidean distance Δdold and a new Euclidean distance Δdnew to be infinite;
- b) assigning the new Euclidean distance Δdnew=Δdold;
- c) for each source data vector r assigning r to a Ri so that Yi and r has the smallest Euclidean distance;
- d) if any region Ri is empty, splitting one or more high density Ri and repeat step c);
- e) for each i, updating the reconstruction value to
- f) computing the new Euclidean distance Δdnew=Σrετ∥r−Yi∥2, where ∥r−Yi∥2 is the Euclidean distance between r and Yi;
- g) repeating steps b) to f) until
7. The method in claim 1 further comprising:
- generating a set of codebook index for the source data vector and storing it in a HARQ buffer.
8. A device, comprising:
- a distribution information module that obtains distribution information from a set of source data vectors based on a predefined codebook subset design;
- a codebook subset module that determines a codebook item number Ns for each codebook subset based on a predefined codebook length L and the distribution information;
- a partitioning module that partitions each source data vector into its corresponding codebook subset;
- a training module that trains the source data vector within its codebook subset; and
- an assigning module that assigns a default codebook vector value to any codebook subset that does not have any source data vector in it.
9. The device of claim 8, further comprising:
- an ordering module that orders the trained codebook of each subset to a final codebook with length L.
10. The device of claim 8, wherein the source data vectors are log-likelihood ratio (LLR) vectors, and wherein the predefined codebook subset design is based on sign labels of the LLR vectors.
11. The device of claim 8, wherein the codebook training method for each subset involves applying a modified Lloyd algorithm for Vector Quantization (VQ) for log-likelihood ratio (LLR) vectors.
12. The device of claim 11, wherein the VQ is based on Maximum Mutual Information (MMI), and wherein the modified Lloyd algorithm searches for quantized LLR to minimize mutual information loss.
13. The device of claim 11, wherein the VQ is for Euclidean distance, and wherein the modified Lloyd algorithm searches for quantized LLR to minimize Euclidean distance.
14. The device of claim 8, further comprising:
- an index module that generates a set of codebook index for the source data vector and storing it in a HARQ buffer.
15. A codebook training method of applying a modified Lloyd algorithm for Vector Quantization, the method comprising: Δ D old - Δ D new Δ D old < ɛ, where ε is a predefined limit.
- a) splitting a set of source data into k-dimensional regions Ri with reconstruction value of Yi and initializing an old distortion measure ΔDold and a new distortion measure ΔDnew to be infinite;
- b) assigning the new distortion measure ΔDnew=ΔDold;
- c) for each source data vector r, assigning r to a Ri so that Yi and r has the smallest distortion measure;
- d) if any region Ri is empty, splitting one or more high density Ri and repeat step c);
- e) for each Ri, updating the reconstruction value Yi according to a predefined algorithm;
- f) computing the new distortion ΔDnew based on the updated reconstruction value Yi; and
- g) repeating steps b) to f) until
16. The method of claim 15, wherein the modified Lloyd algorithm is for Maximum Mutual Information (MMI) VQ, and wherein the distortion measure is a mutual information loss.
17. The method of claim 15, wherein the modified Lloyd algorithm is for Euclidean distance VQ, and wherein the distortion measure is a Euclidean distance.
18. The method of claim 15, wherein the predefined updating algorithm in step e) involves assigning y i, k = 1 n i ∑ r ∈ R i l k, where ni is the number of associated vectors in Ri, and lk, is a corresponding LLR representation of the source data vector r in Ri.
19. The method of claim 18, wherein the distortion measure is a mutual information loss, and wherein ΔDnew=Σrετ{tilde over (D)}(r∥Yi), where {tilde over (D)}(r∥Yi) is the mutual information distortion between r and Yi.
20. The method of claim 18, wherein the distortion measure is a Euclidean distance, and wherein ΔDnew=Σrετ∥r−Yi∥2, where ∥r−Yi∥2 is the Euclidean distance between r and Yi.
Type: Application
Filed: Dec 27, 2012
Publication Date: Jul 3, 2014
Applicant: MEDIATEK Singapore Pte Ltd. (Singapore)
Inventor: Junqiang Li (Irvine, CA)
Application Number: 13/729,016
International Classification: H03M 7/30 (20060101);