Next Article in Journal
Extending the Adapted PageRank Algorithm Centrality to Multiplex Networks with Data Using the PageRank Two-Layer Approach
Previous Article in Journal
Kernel Ridge Regression Model Based on Beta-Noise and Its Application in Short-Term Wind Speed Forecasting
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Upgraded Version of the Binary Search Space-Structured VQ Search Algorithm for AMR-WB Codec

Department of Electrical Engineering, National Chin-Yi University of Technology, 57, Sec. 2, Zhongshan Rd., Taiping Dist., Taichung 41170, Taiwan
*
Author to whom correspondence should be addressed.
Symmetry 2019, 11(2), 283; https://doi.org/10.3390/sym11020283
Submission received: 18 October 2018 / Revised: 18 February 2019 / Accepted: 19 February 2019 / Published: 22 February 2019

Abstract

:
Adaptive multi-rate wideband (AMR-WB) speech codecs have been widely used for high speech quality in modern mobile communication systems, e.g., handheld mobile devices. Nevertheless, a major handicap is that a remarkable computational load is required in the vector quantization (VQ) of immittance spectral frequency (ISF) coefficients of an AMR-WB coding. In view of this, a two-stage search algorithm is presented in this paper as an efficient way to reduce the computational complexity of ISF quantization in AMR-WB coding. At stage 1, an input vector is assigned to a search subspace in an efficient manner using the binary search space-structured VQ (BSS-VQ) algorithm, and a codebook search is performed over the subspace at stage 2 using the iterative triangular inequality elimination (ITIE) approach. Through the use of the codeword rejection mechanisms equipped in both stages, the computational load can be remarkably reduced. As compared with the original version of the BSS-VQ algorithm, the upgraded version provides a computational load reduction of up to 51%. Furthermore, this work is expected to satisfy the energy saving requirement when implemented on an AMR-WB codec of mobile devices.

1. Introduction

The development of the adaptive multi-rate wideband (AMR-WB) speech codec [1,2,3,4] aims to considerably improve the speech quality on handheld mobile devices. It is an algebraic code-excited linear-prediction (ACELP)-based coding technique [4,5], and is equipped with nine coding modes with bitrates between 6.6 and 23.85 kbps. Regardless of its excellent speech coding technique, the price paid is a high computational complexity during coding. In other words, the speech quality of a smartphone can be improved at the cost of high battery power consumption, using an AMR-WB codec.
It takes an AMR-WB encoder a tremendous amount of time to quantize immittance spectral frequency (ISF) coefficients in various coding modes [6,7,8,9]. The ISF coefficient in AMR-WB is quantized through the combined use of a split vector quantization (SVQ) and a multistage VQ technique, designated as split-multistage VQ (S-MSVQ) [1]. Traditionally, a full search is employed to obtain a codeword best matched with an arbitrary input vector, and an enormous computational load is required consequently. Accordingly, efforts have been made to reduce the search complexity of an encoding process in [10,11,12,13,14,15,16,17,18], among which the binary search space-structured VQ (BSS-VQ) search algorithm in [10], a piece of our previous studies, was presented as a simple but efficient way to quantize the ISF coefficient in AMR-WB. A remarkable computational load reduction is achieved therein with a well-maintained speech quality. The BSS-VQ search algorithm was also experimentally validated to outperform an equal-average equal-variance equal-norm nearest neighbor search (EEENNS) algorithm [11,12,13,14] and triangular inequality elimination (TIE)-based algorithms [15,16,17], e.g., the DI-TIE algorithm [15], short for a TIE with a dynamic and an intersection mechanism, and a multiple TIE (MTIE) approach [17].
A deeper investigation reveals that the search performance of the BSS-VQ algorithm is subject to the codeword distributions. As a way to boost the search performance, an upgraded version of the BSS-VQ algorithm is developed herein through a sequential use of the BSS-VQ algorithm and the iterative TIE (ITIE) approach [18]. To begin with, an input vector is assigned to a search subspace in an efficient manner using the BSS-VQ algorithm, and subsequently, a codebook search is performed over the subspace using the ITIE approach. Via the use of the codeword rejection mechanisms equipped in BBS-VQ and ITIE, the search load is reduced significantly as intended. The presented algorithm is ultimately validated to well outperform its counterparts, and is fit to meet the energy saving requirement when implemented on an AMR-WB codec of mobile devices. In addition, the Enhanced Voice Services (EVS) codec [19] is a new standard of audio codec optimized for operation with voice and music/mixed content signals. The EVS codec also provides interoperation with AMR-WB over all nine coding modes. That is to say the contribution of this study is also applicable to the speech coding in EVS codec.
The rest of this paper is organized as follows. The ISF coefficient quantization in AMR-WB is described in Section 2. Section 3 presents the proposed search algorithm for ISF quantization. Experimental results are demonstrated and discussed in Section 4, and finally Section 5 concludes this work.

2. ISF Quantization in AMR-WB

A linear prediction analysis in AMR-WB is illustrated as follows: To begin with, a frame is applied to evaluate linear predictive coefficients (LPCs), followed by a conversion into ISF coefficients. Subsequently, ISF coefficients are quantized by following a process, as will be seen below.

2.1. Linear Prediction Analysis

The 16th-order LPC, ai, of a linear prediction filter is evaluated using a Levinson–Durbin algorithm, defined as
1 A ( z ) = 1 1 + i = 1 16 a i z i ,
and the LPC parameters are then converted into the immittance spectral pair (ISP) coefficients for the purposes of parametric quantization and interpolation. The ISP coefficients are defined as the roots of the following two polynomials:
F 1 ( z ) = A ( z ) + z 16 A ( z 1 ) ,
F 2 ( z ) = A ( z ) z 16 A ( z 1 ) .
F 1 ( z ) and F 2 ( z ) are symmetric and antisymmetric polynomials, respectively. It can be proven that all the roots of F 1 ( z ) and F 2 ( z ) lie and alternate successively on a unit circle in the z-domain. Also, F 2 ( z ) has two roots at z = 1 (ω = 0) and z = −1 (ω = π), which can be eliminated by the introduction of the following polynomials, with 8 and 7 conjugate roots on the unit circle respectively, represented as
F 1 ( z ) = F 1 ( z ) = ( 1 + a 16 ) i = 0 , 2 , , 14 ( 1 2 q i z 1 + z 2 ) ,
F 2 ( z ) = F 2 ( z ) ( 1 z 2 ) = ( 1 a 16 ) i = 1 , 3 , , 13 ( 1 2 q i z 1 + z 2 ) ,
where the coefficients qi are referred to as the ISPs in the cosine domain, and a16 symbolizes the last predictor coefficient. Both Equations (4) and (5) can be solved using a Chebyshev polynomial. Subsequently, the 16th-order ISF coefficients ωi, derived from the ISP coefficients, can be acquired via the transformation ωi = arccos(qi).

2.2. Quantization of ISF Coefficients

Ahead of a quantization process, a mean-removed and a first order moving average (MA) filtering are performed on the ISF coefficients to obtain a residual ISF vector, expressed as
r ( n ) = z ( n ) p ( n ) ,
where z(n) and p(n) respectively represent the mean-removed ISF vector and the predicted ISF vector at frame n using a first order MA prediction. The latter expression is defined as
p ( n ) = 1 3 r ^ ( n 1 ) ,
where r ^ ( n 1 ) denotes the quantized residual vector at the previous frame.
S-MSVQ is then performed on r(n). Table 1 gives the structure of S-MSVQ for AMR-WB in the 8.85–23.85 kbps coding modes. In stage 1, r(n) is split into two subvectors, that is, a nine-dimensional subvector r1(n) and a seven-dimensional subvector r2(n), associated with codebooks CB1 and CB2 respectively, for VQ encoding. In the beginning of stage 2, the quantization error vectors are split into five subvectors, symbolized as r i ( 2 ) = r i r ^ i , i = 1 , 2 , respectively. For example, r(2)1,1–3 in Table 1 denotes the subvector split from the first to the third components of r1, on which VQ encoding is then performed over codebook CB11. Similarly, r(2)2,4–7 represents the subvector split from the 4th to the 7th components of r2, on which VQ encoding is then performed over codebook CB22. Lastly, the Euclidean distance is used as a measure of the squared error ISF distortion in all the quantization processes.

3. Proposed Search Algorithm

In this paper, an upgraded version of the BSS-VQ search algorithm is presented as an efficient way to reduce the computational complexity when quantizing ISF coefficients in AMR-WB. This is done through a sequential use of BSS-VQ and ITIE, which are detailed by turns below.

3.1. The BSS-VQ Search Algorithm

As a prerequisite of a VQ codebook search in the BSS-VQ algorithm, an input vector is assigned in an efficient manner to a subspace, over which a small number of codeword searches is conducted through the combined use of lookup tables and a fast locating technique. As it turns out, the computational load can be reduced significantly.
To begin with, each dimension is dichotomized into two subspaces, and an input vector is then assigned to a subspace according to the entries of the input vector. This is illustrated as follows. For instance, given a 9-dimensional subvector r1(n) associated with codebook CB1, there are up to 29 = 512 subspaces, to one of which an input vector is then assigned by means of a dichotomy, according to each entry of the input vector.
As defined in [10], a dichotomy position refers to the mean of all the codewords contained in a codebook, expressed as
d p ( j ) = 1 C S i z e i = 1 C S i z e c i ( j ) ,   0 j < D i m ,
where ci(j) denotes the jth component of the ith codeword ci, and dp(j) the mean value of all the jth components. For example, CSize = 256, Dim = 9 in the codebook CB1, all the dp(j) values are saved, and then presented in Table 2. That is, the values in Table 2 are obtained by way of using (8) to calculate the statistical mean of all the codewords in CB1.
A quantity νn(j) is then defined for vector quantization on the nth input vector xn, expressed as
v n ( j ) = { 2 j , x n ( j ) d p ( j ) 0 , x n ( j ) < d p ( j ) ,   0 j < D i m ,
where xn(j) symbolizes the jth component of xn. Subsequently, xn is assigned to subspace k (bssk), where k is the sum of νn(j) over all of the dimensions, expressed as
Assigning : x n b s s k | k = j = 0 D i m 1 v n ( j ) .
Since 0 ≤ k < BSize and BSize = 29 = 512 in this article, there are a total of 512 subspaces. For example, given an input vector xn = {16.0, 17.1, 18.2, 19.3, 20.4, 21.5, 22.6, 23.7, 24.8}, νn(j) = {20, 0, 22, 0, 0, 0, 0, 27, 28} for each j, 0 ≤ j ≤ 8, and k = 389 are given by (9) and (10), respectively. Thus, the input vector xn is assigned to the subspace bssk with k = 389. In this manner, merely a small number of basic operations, i.e., comparison, shift, and addition, are required, meaning that an input vector is efficiently assigned to a subspace as requested.
As stated in Reference [10], a lookup table is prebuilt in each subspace by performing a training mechanism after the dichotomy position for each dimension is determined. The lookup tables give the probability that each codeword works as the best-matched codeword in each subspace, referred to as the hit probability of a codeword in a subspace for short, and symbolized as Phit(ci | bssk), 1 ≤ iCSize, 0 ≤ k < BSize. Moreover, a quantity Phit(m | bssk), 1 ≤ mCSize, is defined as the m ranked probability that a codeword hits the best-matched codeword in subspace bssk for sorting purposes. For example, P h i t ( m | b s s k ) | m = 1 = max c i { P h i t ( c i | b s s k ) } denotes the highest hit probability in bssk. As can be seen, the lookup table in each subspace gives the ranked hit probability in descending order and the corresponding codeword.
In the encoding procedure of BSS-VQ, the cumulative probability Pcum(M | bssk) is firstly defined as the sum of the top M Phit(m | bssk) in bssk, namely
P c u m ( M | b s s k ) = m = 1 M P h i t ( m | b s s k ) ,   1 M CSize .
Subsequently, given a threshold of quantization accuracy (TQA), a quantity Mk(TQA) refers to the minimum value of M that meets the condition Pcum(M | bssk) ≥ TQA in bssk, namely
M k ( T Q A ) = arg min M { M : P c u m ( M | b s s k ) T Q A } ,   1 M CSize ,   0 k < BSize .
Finally, a BSS-VQ encoding procedure is described below as Algorithm 1:
Algorithm1 Encoding procedure of BSS-VQ
Step 1. Given a TQA, Mk(TQA) satisfying (12) is found directly in the lookup table in bssk.
Step 2. Referencing Table 2 and by means of (9) and (10), an input vector is assigned to a subspace bssk in an efficient manner.
Step 3. A full search for the best-matched codeword is performed among the top Mk(TQA) sorted codewords in bssk, and then the index of the found codeword is output.
Step 4. Repeat Steps 2 and 3 until all the input vectors are encoded.
In short, Table 2, the first lookup table, is prebuilt by performing (8). Subsequently, the second lookup table regarding Phit(m | bssk) and the corresponding codeword is built for each subspace by following the training mechanism. Accordingly, the VQ encoding can be completed using Algorithm 1.

3.2. The ITIE Search Algorithm

As a preliminary to the ITIE algorithm, a TIE algorithm is briefly described below. First of all, a codeword captured from the preceding frame is viewed as a reference codeword cr in the current frame, and the Euclidean distance between cr and an input vector x, symbolized as d(cr, x), is calculated [16]. A set, consisting of all the codewords ci and meeting the condition d(cr, ci) < 2d(cr, x), is referred to as a candidate search group (CSG), represented as
TIE: CSG(cr) = {ci | d(cr, ci) < 2d(cr, x)}, 1 ≤ i ≤ CSize,
where CSize denotes the total number of the codewords. CSG(cr) is the search space over which a current codebook search is conducted. Additionally, a lookup table, listing all the codewords sorted by the Euclidean distance, is constructed in advance for the TIE search algorithm.
Subsequently, the ITIE algorithm works as illustrated in Figure 1 and stated in Algorithm 2. Just as in the TIE case, a codeword captured from the preceding frame is viewed as a reference codeword cr in the current frame, and then a codebook search is performed over CSG(cr) using (13). As in the TIE case, the condition d(cr, ck) < 2d(cr, x) is checked. If the condition is true, then d(ck, x) is computed, and another condition d(ck, x) < d(cr, x) is checked. If the condition is true, then cr is replaced with ck, and the search scope CSG(cr) is updated. CSG(cr) updates and shrinks each time through the above-stated loop.
Algorithm2 Search procedure of ITIE
Step 1. Build a TIE lookup table.
Step 2. Given a cr, compute d(cr, x), and then CSG(cr) is found directly in the TIE lookup table, that is,
CSG(cr) = {ck | k = 1,2,...,N(cr)},
where ck and N(cr) denote the codewords and the number thereof in CSG(cr), respectively.
Step 3. Starting at k = 1, obtain d(cr, ck) from the lookup table.
Step 4. If (d(cr, ck) < 2d(cr, x)), then compute d(ck, x), and perform Step 5.
Otherwise, let k = k + 1, and then repeat Step 4, until k = N(cr).
Step 5. If (d(ck, x) < d(cr, x)), then replace cr with ck, update new CSG(cr), let k = 1, and repeat Step 3.
Otherwise, let k = k + 1, and then repeat Step 4, until k = N(cr).

3.3. Upgraded Version of the BSS-VQ Search Algorithm

The search performance of the BSS-VQ algorithm is subject to codeword distributions. As a way to ease the distribution effect, an input vector is assigned to a search subspace in an efficient manner using BSS-VQ at stage 1 of this work, and a codebook search is conducted over the subspace using ITIE as an alternative to the full search algorithm. This is simply because a codeword of interest therein can be well located either by ITIE or by the full search counterpart. This paper presents a two-stage codebook search algorithm as an effective way to remarkably reduce the amount of codebook searches and the time complexity in the evaluation of Euclidean distances. This is done via a sequential use of codeword rejection mechanisms provided by BSS-VQ and ITIE, respectively. This codebook search mechanism is presented in Algorithm 3, stated as follows:
Algorithm3 Search mechanism of the upgraded version
Step 1. Initial setting: Given a TQA, Mk(TQA) satisfying (12) is found directly in the lookup table in bssk. A TIE lookup table is also built.
Step 2. Referencing Table 2 and through (9) and (10), an input vector is efficiently assigned to a subspace bssk. And then a set, composed of the top Mk(TQA)-sorted codewords in bssk, is denoted by CSG(bssk) and formulated as
CSG(bssk) = {ck | k = 1,2,...,Mk(TQA)}.
Step 3. Starting at k = 1, set cr = ck | k = 1 in (15), then compute d(cr, x).
Step 4. Let k = k + 1, then obtain d(cr, ck) from the TIE lookup table.
Step 5. If (d(cr, ck) < 2d(cr, x)), then compute d(ck, x), and perform Step 6.
Otherwise, let k = k + 1, and then repeat Step 5, until k = Mk(TQA).
Step 6. If (d(ck, x) < d(cr, x)), then replace cr with ck, and repeat Step 4.
Otherwise, let k = k + 1, and then repeat Step 5, until k = Mk(TQA).
On the issue of speech quality, it was concluded in Reference [10] that a nearly lossless speech quality is provided in BSS-VQ at a TQA no less than 0.90. This fact definitely applies to the presented search algorithm, since the upgraded version of BSS-VQ offers exactly the same speech quality as the original version.

4. Experimental Results

In this work, a performance comparison is conducted among the EEENNS, DI-TIE, ITIE, and the original and upgraded versions of BSS-VQ. Since EEENNS, DI-TIE, and ITIE provide a 100% search accuracy in comparison with the full search approach, there is no degradation in the speech quality. Furthermore, as mentioned in the previous section, a nearly lossless speech quality is provided in both the original and the upgraded versions of BSS-VQ. For this reason, performance is compared in terms of the search load, i.e., the average number of searches. For testing purposes, a speech database, including one male and one female speaker, in total requires more than 221 MB of memory, takes up more than 120 min, and covers 363,281 speech frames as well.
Table 3 gives a comparison on the average number of searches among the full search, EEENNS, DI-TIE, and ITIE, while Table 4 and Table 5 list the search load versus the TQA values for the original and the upgraded versions of BSS-VQ, respectively. Furthermore, with the search load required in the full search approach as a benchmark, Table 6 compares the load reduction (LR) among various search algorithms listed in Table 3, Table 4 and Table 5. Obviously, a high search load reduction is indicated by a high value of LR. Moreover, columns 2 and 3 give LRs in codebooks CB1 and CB2, respectively. The overall LR refers to the total search load, defined as the sum of the average number of searches multiplied by the vector dimension in each codebook, and is employed to compare the total search load required during an entire VQ encoding procedure for an input vector, as presented in the rightmost two columns therein.
As can be found in Table 3, Table 4 and Table 5, the upgraded version of BSS-VQ outperforms its counterparts to a great extent with respect to the search load required in each codebook. Particularly, Table 6 gives a clear view of the LR comparisons. As tabulated therein, the codebook search, required in CB1 and CB2 at stage 1, occupies a high percentage of the search load in an entire VQ encoding procedure. For instance, the full search algorithm requires a search load of 4096 (= 256 × 9 + 256 × 7) at stage 1, accounting for 77% of a 5280 overall search load, as tabulated in Table 3 and Table 6.
A further observation in Table 6 reveals that the corresponding values of LR in CB1 and CB2 are close among various search algorithms, but exclusive of the original version of BSS-VQ, and this fact applies to the values of overall LR as well. This finding validates the argument that the search performance of BSS-VQ is affected by codeword distributions, and the adverse distribution effect can be eased using the presented search algorithm. Furthermore, the upgraded version of BBS-VQ provides an overall LR of up to 94.20% at TQA = 0.90, and is experimentally validated to outperform its counterparts.
With the original version of BSS-VQ as a benchmark, Table 7 exclusively gives an overall search load reduction using the presented algorithm versus TQA. As tabulated therein, the values of LR range between 42.05 and 51.80%, a significant outperformance over the benchmark.
On the other hand, Table 8 presents the memory required of lookup tables for the proposed algorithm. Table 8 is divided into three portions: Storage for BSS spaces, dichotomy positions, and TIE lookup tables. The memory size of each BSS space is equal to BSize x CSize x 4 (for FLOAT data type) bytes, each dichotomy position = Dim x 4 (FLOAT data type) bytes, and each TIE tables = CSize x (CSize – 1) x 5 (UINT8 + FLOAT data type). Accordingly, a total of 1.45 MB of memory is required for whole lookup tables in Table 8. The memory requirement is very small in this work. Finally, in our previous experiments, the linear prediction analysis and quantization occupied 8–13% of the total operation in an AMR-WB encoder, depending on the coding modes. In other words, this work could eliminate 7.5–12.2% of the total operation in the AMR-WB encoder.

5. Conclusions

A two-stage search algorithm is presented herein for the improvement of search performance in the ISF vector quantization of an AMR-WB speech codec. At stage 1, an input vector was assigned to a search subspace in an efficient manner using the BSS-VQ algorithm, and a codebook search was performed over the subspace using the ITIE approach at stage 2. Through the use of the codeword rejection mechanisms equipped in both stages, the search load was reduced remarkably as intended. Experimental results show that the upgraded version of BBS-VQ provided an overall LR of up to 94.20% at TQA = 0.90, and was validated to outperform its counterparts. As compared with the original version of the BSS-VQ algorithm, the upgraded version provided a computational load reduction of up to 51%, a significant outperformance over the benchmark. This work would be beneficial for reaching the energy saving requirement when implemented on an AMR-WB codec of mobile devices. On the other hand, the contribution of this work is also applicable to the speech coding in EVS codec, which is a new standard of audio codec and provides interoperation with AMR-WB. In future work, the authors will pay their efforts to make further improvements on the computational complexity of EVS codec.

Author Contributions

All authors have worked on this manuscript together and all authors have read and approved the final manuscript.

Funding

This research was sponsored by the Ministry of Science and Technology, Taiwan, under grant number MOST 107-2221-E-167-021.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. 3rd Generation Partnership Project (3GPP). Adaptive Multi-Rate—Wideband (AMR-WB) Speech Codec; Transcoding Functions; TS 26.190; 3GPP: Valbonne, France, 2012. [Google Scholar]
  2. Ojala, P.; Lakaniemi, A.; Lepanaho, H.; Jokimies, M. The adaptive multirate wideband speech codec: System characteristics, quality advances, and deployment strategies. IEEE Commun. Mag. 2006, 44, 59–65. [Google Scholar] [CrossRef]
  3. Varga, I.; De Lacovo, R.D.; Usai, P. Standardization of the AMR wideband speech codec in 3GPP and ITU-T. IEEE Commun. Mag. 2006, 44, 66–73. [Google Scholar] [CrossRef]
  4. Bessette, B.; Salami, R.; Lefebvre, R.; Jelínek, M.; Rotola-Pukkila, J.; Vainio, J.; Mikkola, H.; Järvinen, K. The adaptive multirate wideband speech codec (AMR-WB). IEEE Trans. Speech Audio Process. 2002, 10, 620–636. [Google Scholar] [CrossRef]
  5. Salami, R.; Laflamme, C.; Adoul, J.P.; Kataoka, A.; Hayashi, S.; Moriya, T.; Lamblin, C.; Massaloux, D.; Proust, S.; Kroon, P.; et al. Design and description of CS-ACELP: A toll quality 8 kb/s speech coder. IEEE Trans. Speech Audio Process. 1998, 6, 116–130. [Google Scholar] [CrossRef]
  6. Wang, L.; Chen, Z.; Yin, F. A novel hierarchical decomposition vector quantization method for high-order LPC parameters. IEEE Trans. Audio Speech Lang. Process. 2015, 23, 212–221. [Google Scholar] [CrossRef]
  7. Salah-Eddine, C.; Merouane, B. Robust coding of wideband speech immittance spectral frequencies. Speech Commun. 2014, 65, 94–108. [Google Scholar] [CrossRef]
  8. Ramirez, M.A. Intra-predictive switched split vector quantization of speech spectra. IEEE Signal Process. Lett. 2013, 20, 791–794. [Google Scholar] [CrossRef]
  9. Chatterjee, S.; Sreenivas, T.V. Optimum switched split vector quantization of LSF parameters. Signal Process. 2008, 88, 1528–1538. [Google Scholar] [CrossRef]
  10. Yeh, C.Y. An Efficient VQ Codebook Search Algorithm Applied to AMR-WB Speech Coding. Symmetry 2017, 9, 54. [Google Scholar] [CrossRef]
  11. Lu, Z.M.; Sun, S.H. Equal-average equal-variance equal-norm nearest neighbor search algorithm for vector quantization. IEICE Trans. Inf. Syst. 2003, 86, 660–663. [Google Scholar]
  12. Xia, S.; Xiong, Z.; Luo, Y.; Dong, L.; Zhang, G. Location difference of multiple distances based k-nearest neighbors algorithm. Knowl. Based Syst. 2015, 90, 99–110. [Google Scholar] [CrossRef]
  13. Chen, S.X.; Li, F.W. Fast encoding method for vector quantisation of images using subvector characteristics and Hadamard transform. IET Image Process. 2011, 5, 18–24. [Google Scholar] [CrossRef]
  14. Chen, S.X.; Li, F.W.; Zhu, W.L. Fast searching algorithm for vector quantisation based on features of vector and subvector. IET Image Process. 2008, 2, 275–285. [Google Scholar] [CrossRef]
  15. Yao, B.J.; Yeh, C.Y.; Hwang, S.H. A search complexity improvement of vector quantization to immittance spectral frequency coefficients in AMR-WB speech codec. Symmetry 2016, 8, 104. [Google Scholar] [CrossRef]
  16. Hwang, S.H.; Chen, S.H. Fast encoding algorithm for VQ-based image coding. Electron. Lett. 1990, 26, 1618–1619. [Google Scholar]
  17. Hsieh, C.H.; Liu, Y.J. Fast search algorithms for vector quantization of images using multiple triangle inequalities and wavelet transform. IEEE Trans. Image Process. 2000, 9, 321–328. [Google Scholar] [CrossRef] [PubMed]
  18. Yeh, C.Y. An Efficient Iterative Triangular Inequality Elimination Algorithm for Codebook Search of Vector Quantization. IEEJ Trans. Electr. Electron. Eng. 2018, 13, 1528–1529. [Google Scholar] [CrossRef]
  19. 3rd Generation Partnership Project (3GPP). Codec for Enhanced Voice Services (EVS); Detailed Algorithmic Description; TS 26.445; 3GPP: Valbonne, France, 2015. [Google Scholar]
Figure 1. Flowchart of iterative triangular inequality elimination (ITIE) search approach.
Figure 1. Flowchart of iterative triangular inequality elimination (ITIE) search approach.
Symmetry 11 00283 g001
Table 1. Structure of split-multistage vector quantization (S-MSVQ) in adaptive multi-rate wideband (AMR-WB) in the 8.85–23.85 kbps coding modes.
Table 1. Structure of split-multistage vector quantization (S-MSVQ) in adaptive multi-rate wideband (AMR-WB) in the 8.85–23.85 kbps coding modes.
Structure of S-MSVQ
Stage 1CB1:
r1 (1–9 order of r)
(8 bits)
CB2:
r2 (10–16 order of r)
(8 bits)
Stage 2CB11:
r(2)1,1–3
(6 bits)
CB12:
r(2)1,4–6
(7 bits)
CB13:
r(2)1,7–9
(7 bits)
CB21:
r(2)2,1–3
(5 bits)
CB22:
r(2)2,4–7
(5 bits)
Table 2. Dichotomy position for each dimension in the codebook CB1.
Table 2. Dichotomy position for each dimension in the codebook CB1.
jth-OrderMean
015.3816
119.0062
215.4689
321.3921
426.8766
528.1561
628.0969
721.6403
816.3302
Table 3. Average number of searches among various approaches in the 8.85–23.85 kbps modes.
Table 3. Average number of searches among various approaches in the 8.85–23.85 kbps modes.
CodebooksFull SearchEEENNSDI-TIEITIE
Stage 1CB125658.8242.4658.01
CB225663.8742.7962.03
Stage 2CB116414.1712.3113.10
CB1212822.9114.4015.32
CB1312821.0113.5014.40
CB213211.088.959.48
CB223217.4412.4213.21
Table 4. Search load versus threshold of quantization accuracy (TQA) values in the 8.85–23.85 kbps modes for the original version of the binary search space-structured vector quantization (BSS-VQ) algorithm.
Table 4. Search load versus threshold of quantization accuracy (TQA) values in the 8.85–23.85 kbps modes for the original version of the binary search space-structured vector quantization (BSS-VQ) algorithm.
TQAAverage Number of Searches in Various Codebooks
CB1CB2CB11CB12CB13CB21CB22
0.9015.4026.4512.4719.9619.937.116.66
0.9116.1027.5212.8620.8420.627.116.72
0.9216.8028.8512.9921.5021.197.646.91
0.9317.7930.2313.5221.8422.027.647.15
0.9418.8731.7114.0422.8522.728.007.57
0.9520.0333.5814.6123.8523.728.267.84
0.9621.3635.8115.0424.7624.958.878.21
0.9723.1838.3715.8625.9326.249.278.51
0.9825.7141.8216.7327.6027.8610.009.33
0.9929.7147.1218.2129.6129.9910.4910.15
Table 5. Search load versus TQA values in the 8.85–23.85 kbps modes for the upgraded version of BSS-VQ.
Table 5. Search load versus TQA values in the 8.85–23.85 kbps modes for the upgraded version of BSS-VQ.
TQAAverage Number of Searches in Various Codebooks
CB1CB2CB11CB12CB13CB21CB22
0.9010.5615.826.558.488.214.064.69
0.9110.9916.266.628.568.304.064.72
0.9211.4016.796.638.658.384.224.82
0.9311.8617.366.738.708.494.224.90
0.9412.4017.896.808.768.544.285.10
0.9513.0018.576.898.848.604.345.19
0.9613.6719.446.958.918.684.415.32
0.9714.5320.277.108.988.734.505.43
0.9815.7121.507.169.098.854.685.74
0.9917.4623.287.339.228.974.756.04
Table 6. Load reduction comparison among various algorithms.
Table 6. Load reduction comparison among various algorithms.
MethodLR in CB1
(%)
LR in CB2
(%)
Overall
Search Load
Overall LR
(%)
Full SearchBenchmarkBenchmark5280Benchmark
EEENNS77.0375.051253.7676.26
DI-TIE83.4283.29878.8883.36
ITIE77.3475.771165.9977.92
Original version of BSS-VQ
(TQA)
0.9093.9889.67528.7889.99
0.9193.7189.25548.7789.61
0.9293.4488.73570.7689.19
0.9393.0588.19595.3488.72
0.9492.6387.61624.9288.16
0.9592.1886.88657.9587.54
0.9691.6686.01696.6286.81
0.9790.9585.01743.1585.93
0.9889.9683.66808.0684.70
0.9988.3981.60902.6782.90
Upgraded version
(TQA)
0.9095.8893.82306.4194.20
0.9195.7193.65314.1994.05
0.9295.5593.44323.0993.88
0.9395.3793.22332.3293.71
0.9495.1593.01342.4293.51
0.9594.9292.75353.8093.30
0.9694.6692.40367.2093.05
0.9794.3292.08382.2692.76
0.9893.8691.60404.1592.35
0.9993.1890.91435.1091.76
Table 7. Overall search load comparison between BSS-VQ and proposed algorithms.
Table 7. Overall search load comparison between BSS-VQ and proposed algorithms.
TQABSS-VQ
(Benchmark)
ProposedLR (%)
0.90528.78306.4142.05
0.91548.77314.1942.75
0.92570.76323.0943.39
0.93595.34332.3244.18
0.94624.92342.4245.21
0.95657.95353.8046.23
0.96696.62367.2047.29
0.97743.15382.2648.56
0.98808.06404.1549.99
0.99902.67435.1051.80
Table 8. Memory required of lookup tables for presented algorithm.
Table 8. Memory required of lookup tables for presented algorithm.
Memory Size (Byte)BSS SpaceDichotomy PositionTIESum
CB1524,28836326,400850,724
CB2131,07228326,400457,500
CB1120481220,16022,220
CB1240961281,28085,388
CB1340961281,28085,388
CB2110241249605996
CB2220481649607024
Sum668,672128845,4401,514,240

Share and Cite

MDPI and ACS Style

Yeh, C.-Y.; Huang, H.-H. An Upgraded Version of the Binary Search Space-Structured VQ Search Algorithm for AMR-WB Codec. Symmetry 2019, 11, 283. https://doi.org/10.3390/sym11020283

AMA Style

Yeh C-Y, Huang H-H. An Upgraded Version of the Binary Search Space-Structured VQ Search Algorithm for AMR-WB Codec. Symmetry. 2019; 11(2):283. https://doi.org/10.3390/sym11020283

Chicago/Turabian Style

Yeh, Cheng-Yu, and Hung-Hsun Huang. 2019. "An Upgraded Version of the Binary Search Space-Structured VQ Search Algorithm for AMR-WB Codec" Symmetry 11, no. 2: 283. https://doi.org/10.3390/sym11020283

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop