Abstract:
A hearing aid comprising a time domain codec. The codec comprises a decoder adapted to generate a decoded output signal based on an input quantization index and an encoder for generating an output quantization index based on an input signal, said encoder comprising said decoder and a predictor receiving an excitation signal derived from said decoder output signal and outputting a prediction signal. The output quantization index is determined by repeated decoding of the quantization indices in order to minimize the error between the input signal and the prediction signal, and the predictor uses a recursive autocorrelation estimate for the error minimization. The invention further provides a method of encoding an audio signal.

Description:
RELATED APPLICATIONS 
       [0001]    The present application is a continuation-in-part of application PCT/DK2009/050274, filed on Oct. 15, 2009, in Europe and published as WO2011044898 A1. 
     
    
     BACKGROUND OF THE INVENTION 
       [0002]    1. Field of the Invention 
         [0003]    The present invention relates to hearing aids. More specifically, it relates to a hearing aid having a time-domain audio codec for decoding and encoding digital audio signals. The invention further relates to a method of decoding and encoding audio signals. 
         [0004]    A hearing aid is embodied as a small, wearable unit comprising one or more microphones, a signal processor, and means for acoustically reproducing sound signals. A hearing aid may additionally comprise means for receiving, processing and reproducing sound signals from other sources, such as a telecoil or an FM receiver. In order to alleviate a hearing loss of a user, the signal processor of the hearing aid is configured to amplify selected frequency bands based on a prerecorded audiogram of the user&#39;s hearing loss. For flexibility reasons, the signal processor is preferably a digital signal processor. 
         [0005]    2. The Prior Art 
         [0006]    Modern day hearing aids are typically equipped with means for one- or two-way wireless communication, i.e. radio communication. Such wireless communication may carry sound signals, such as speech, suitable for being transmitted to and from the hearing aid in a digital form, e.g. between two hearing aids or between a hearing aid and another device. In such radio communication, there is a desire for keeping the transmission bit rate as low as possible, one of the reasons for this being that an increase in bandwidth of a radio communication leads to an increased power consumption, which, in turn, is undesired in a hearing aid. 
         [0007]    One way to reduce the bit rate in a digital audio signal is to encode and decode the signals using an encoder/decoder unit or processor, commonly referred to as a codec, implemented as a combination of software and more or less dedicated hardware. However, such reduction of the bit rate comes at a cost. 
         [0008]    One attempt to reduce the bandwidth and the delay time is described in the article: ‘A Low-Delay CELP Coder for the CCITT 16 kb/s Speech Coding Standard’, Juin-Hwey Chen et al, IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, Vol. 10, No. 5, June 1992. The audio bandwidth, reproduction quality and computational complexity described in that article, however, do not meet the needs in a hearing aid. 
       SUMMARY OF THE INVENTION 
       [0009]    It is a feature of the present invention to provide a hearing aid having a codec which overcomes the bandwidth problems mentioned above while keeping the computational complexity low and still achieving an acceptable reproduction quality. 
         [0010]    The invention, in a first aspect, provides a hearing aid comprising an audio codec, said codec having a decoder processing part adapted to generate a decoded output signal based on an input quantization index and comprising a predictor and a predictor adaptation block for receiving an excitation signal and outputting a prediction signal, wherein said predictor adaptation block uses a recursive autocorrelation estimate, basing its prediction on previous excitation signals corresponding to the previous output quantization indices, for updating the predictor, an encoder processing part for generating an output quantization index based on a digital audio input signal, said encoder processing part incorporating said decoder processing part, said encoder processing part being adapted for decoding of the quantization indices in a trial-and-error process yielding a number of different quantization indices, and selecting from said number of different quantization indices the quantization index yielding the least difference between the digital audio input signal and the prediction signal as the output quantization index. 
         [0011]    By implementing such a codec in a hearing aid, the above criteria as to bandwidth and signal quality may be fulfilled while keeping complexity relatively low due to the fact that the operations necessary for the decoding are similar to those necessary for the encoding. Thus, large parts of the hardware, as implemented on a processing circuit chip, i.e. the dedicated processing parts of the chip used for either encoding or decoding, as the case may be, may be reused. This in turn saves physical space on the chip, as compared to designs having dedicated encoding units and decoding units, thus leading to an overall saving of space in the hearing aid. 
         [0012]    According to a preferred embodiment of the invention, the codec comprises means for selectively switching between a scalar quantization mode, and a vector quantization mode. 
         [0013]    In the scalar quantization mode, the signal is synthesized from a scalar in a codebook representing the signal shape. In the vector quantization mode, the signal is synthesized from a vector in a codebook representing e.g. a signal shape, a signal gain, and a signal sign. 
         [0014]    Having means for operating in one of two different quantization modes, including means for selectively switching between these modes, allows for flexible utilization of the bandwidth during use, e.g. the use of the available bandwidth for the transmission of a mono signal in the scalar quantization mode, or the use of the available bandwidth for the transmission of e.g. a stereo-encoded signal in the vector quantization mode. 
         [0015]    According to a further embodiment of the invention, the hearing aid comprises a memory adapted for storing at least one predetermined sequence of quantization indices, and means for feeding at least one such sequence to the codec. 
         [0016]    This feature allows the codec to be used not only for reproducing audio signals from a data stream received from an external device, e.g. a corresponding hearing aid, or a dedicated streaming device, but also for selectively switching the codec between a streaming mode and a playback mode in order to play back sounds such as predetermined messages based on a sequence of quantization indices stored in a memory in the hearing aid. Thanks to the analysis-by-synthesis method utilized by the codec, a single quantization index may represent a signal shape encompassing several signal samples rather than the signal samples themselves. Storing a sequence of quantization indices rather than a sampled signal enables the signal to be reconstructed from the sequence of quantization indices when read out to the codec, thus saving valuable space in the hearing aid memory. 
         [0017]    In a further embodiment of the invention, the encoder comprises a codebook comprising a plurality of quantization indices, where said quantization indices are arranged in a searchable manner in a tree structure with a number of quantization indices arranged in different branches, and where each individual quantization index is unique to a specific branch. This allows the codebook to be searched in a fast and efficient manner based on classified quantization indices, when repeatedly searching through the codebook in search of the optimum quantization index. 
         [0018]    In another embodiment of the invention, the encoder comprises a codebook comprising a plurality of quantization indices, where said quantization indices are arranged in a searchable manner in a tree structure with a number of quantization indices arranged in different branches, and where at least one individual quantization index is found in more than one branch. By overpopulating the search branches with quantization indices from other branches, i.e. other classes, the precision in finding the optimum quantization index may be greatly improved at very little extra computational complexity. 
         [0019]    In an alternative embodiment, the encoder comprises a computing device adapted to calculate quantization indices directly from the input signal and the prediction signal. Calculating the indices rather than looking them up in a codebook, eliminates the need for memory capacity for a codebook in the hearing aid. 
         [0020]    According to yet to another embodiment of the invention, said decoder comprises a shape codebook and a gain codebook, respectively, for providing a quantization vector representing a shape value and a gain value, respectively. This embodiment enables the shape values in the codebook to be normalized, and utilizes gain values from the gain codebook to scale the normalized, synthesized output signal properly. 
         [0021]    In a particularly embodiment of the invention, said gain adaptor is a backward-adaptive gain adaptor. This allows the gain adaptor to adapt to the overall dynamics of the sound signal. 
         [0022]    In another embodiment of the invention, the predictor is adapted for using a recursive autocorrelation estimate based on a second- or higher-order autocorrelation model. This has the advantage that little memory capacity is needed to store historical values as compared to correlation models involving a non-recursive part. 
         [0023]    In a particular embodiment of the invention, the hearing aid comprises a sample rate converter for altering the sample rate of an audio signal prior to being encoded by the codec. This enables the encoder of the codec to operate on a signal with a sample rate different from the sample rate employed in the hearing aid signal processor. Thus a further reduction in bandwidth requirement for the wireless link may be obtained if the sample rate of the coded signal is less than the sample rate of the hearing aid processor. The conversion from the sample rate of the hearing aid to the sample rate of the codec is performed prior to encoding the signal as a part of the pre-processing, and the conversion from the sample rate of the codec to the sample rate of the hearing aid is performed after decoding as a part of the post-processing before the decoded signals are converted back into audio signals. 
         [0024]    In an embodiment of the invention, the hearing aid comprises means for detecting differences in digital clock frequencies between the transmitter and receiver in the transmitted signal and means for modifying the decoded audio signal in order to compensate for the detected differences. This feature enables the receiving hearing aid to accommodate and compensate for the differences in clock frequencies between the received signal and the hearing aid in a way which is inaudible to the wearer of the hearing aid. 
         [0025]    In another embodiment of the invention, the means for detecting said differences in clock signal frequencies is a digital phase-locked loop (PLL). This embodiment enables an asynchronous conversion of the sample rate where the sample rate conversion factor is controlled by said digital PLL. This simplifies reception of the signal, as no synchronization signals need to be transmitted in order to get a correctly compensated clock frequency for the sample rate conversion. 
         [0026]    In a further embodiment of the invention the hearing aid comprises means for detecting, in the streaming mode of said codec, in which a data stream is received via a streaming channel, bit errors in said data stream, means for estimating a bit error rate in said data stream, and means for fading the audio signal output from the codec. This allows the output signal from the codec to be faded rather than being abruptly disrupted, which would otherwise be disturbing to the user of the hearing aid. 
         [0027]    In a particular embodiment the codec decoder comprises means for receiving the number of detected errors from the channel decoder and means for setting the excitation signal to the predictor to zero or the null-vector when errors are detected, zero representing the specific case of a one dimensional null-vector. This minimizes the effect of the transmission error on the predictor. 
         [0028]    The invention, in a second aspect, provides a method of encoding an audio signal in a hearing aid, said method incorporating the steps of providing a digital audio input signal, generating in a decoder processing part a decoded output signal based on an input quantization index, the decoder processing part comprising a predictor and a predictor adaptation block for receiving an excitation signal and outputting a prediction signal, providing an encoder processing part incorporating said decoder processing part, generating an output quantization index based in an the digital audio input signal, using said encoder processing part, decoding of quantization indices in a trial-and-error process yielding a number of different quantization indices, and selecting from said number of different quantization indices the quantization index yielding the least difference between the digital audio input signal and the prediction signal as the output quantization index, and updating said predictor using a recursive autocorrelation estimate basing its prediction on previous excitation signals corresponding to the previous output quantization indices. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0029]    Embodiments of the method are found in the dependent claims and provide advantages corresponding to those described above. 
           [0030]    The invention will now be described, based on non-limiting exemplary embodiments and with reference to the drawings where: 
           [0031]      FIG. 1  schematically illustrates two hearing aids according to an embodiment of the invention and an external device, 
           [0032]      FIG. 2   a  illustrates a block diagram of a codec as encoder in either one of the hearing aids in  FIG. 1 , 
           [0033]      FIG. 2   b  illustrates a block diagram of a codec as decoder in either one of the hearing aids in  FIG. 1   
           [0034]      FIG. 3  is a schematic diagram of a memory holding prerecorded indices, 
           [0035]      FIG. 4   a  shows a first example of a tree search, 
           [0036]      FIG. 4   b  shows a second example of a tree search, 
           [0037]      FIG. 5  is shows the gain fading as a function of the bit error rate, and 
           [0038]      FIG. 6  shows a second-order recursive window used in the autocorrelation estimation. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0039]      FIG. 1  shows a first hearing aid  1   a , a second hearing aid  1   b  and an external device  2 . The first hearing aid  1   a  is shown in a schematic form, and the hearing aid  1   b  is suggested by its physical outline. Both hearing aids  1   a  and  1   b  are adapted to communicate with each other via a short-range wireless radio communications link  3 . Likewise they are adapted to communicate with an external unit  2  via the short-range wireless radio communications link  3 . 
         [0040]    The hearing aid  1   a  hearing aid comprises an antenna  51 , a wireless transceiver  52 , a hearing aid processor  50 , a microphone  54 , and an acoustic output transducer  55 . The wireless transceiver  52  is capable of receiving and transmitting a digitally encoded signal. The hearing aid processor  50  comprises an audio signal processor  53 , an input channel decoder  56 , an audio decoder  57 , a post-processing block  58 , an audio preprocessing block  59 , an audio encoder  60  and an output channel encoder  61 . 
         [0041]    In reception mode, the audio signal processor  53  receives an input signal from the microphone  54 , and conditions and amplifies it for reproduction by the acoustic output transducer  55  according to a hearing aid prescription. When the antenna  51  receives a wireless signal, the transceiver  52  demodulates the received signal into a channel stream for further processing by the hearing aid processor  50 . 
         [0042]    The demodulated channel stream is used as the input for the input channel decoder  56  of the hearing aid processor  50 , where the channel stream is decoded. The decoded channel stream is used as the input bit stream for the audio decoder  57 . The audio decoder  57  decodes the bit stream by synthesizing the corresponding audio signals using the codebook indices obtained from the bit stream and outputting a digital audio signal with a relatively low sample rate. The digital audio signal is used as the input for the post-processing block  58 , where post-processing is performed on the digital audio signal. The post-processing involves filtering, conditioning and asynchronous sample rate conversion into a digital audio signal having a relatively higher sample rate in order for the received signal to be compatible with the audio signal processing in the audio signal processor  53 . In this way, the sample rate of the received audio signal may be lower than the sample rate in the hearing aid  1   a , allowing for a more efficient transmission because fewer bits have to be transmitted via the wireless transceiver  52 . 
         [0043]    In transmission mode, the audio processor  53  prepares a digital audio signal for transmission by the wireless transceiver  52  in the following way: A digital audio signal is fed to the audio preprocessing block  59  where the digital audio signal is resampled and converted into a digital audio stream with a lower sample rate. The digital audio stream is encoded into a bit stream in the encoder  60 . This bit stream comprises a sequence of codebook quantization indices representing the digital audio signal. The bit stream is used as input for the output channel encoder  61 , where a channel stream is generated. The channel stream from the output channel encoder  61  is fed to the input of the wireless transceiver  52  for modulation, and transmitted wirelessly via the antenna  51 . 
         [0044]    The bandwidth of the short range wireless radio communications link  3  is limited because the power consumption of the radio circuit in the hearing aid  1  has to be kept down due to the limited power resources in a hearing aid. A typical bandwidth for wireless signals would be from 100 kbit/s to 400 kbit/s. 
         [0045]    One purpose for which the short range wireless radio communications link  3  is used is streaming of audio signals, e.g. streaming audio signals from one hearing aid to another, i.e. from one side of the head to another, in what is referred to as Contralateral Routing of Signals, or CROS. Signals may also be streamed to a hearing aid from an external device  2 , e.g. in order to transmit, via the external device  2 , audio from other sources, such as TV-sets, radios or the like. 
         [0046]    Because of the limited bandwidth of the short-range wireless radio communications link  3  it is, however, necessary to compress the audio signals to be transmitted. The hearing aid  1   a , therefore comprises a codec according to the invention. The codec is illustrated in  FIG. 2   a  and  FIG. 2   b  as an encoder and a decoder, respectively. However, as will be readily appreciated by comparison of  FIGS. 2   a  and  2   b , and as explained in further detail below, the encoder incorporates the decoder. Thus, the hardware of the codec, i.e. the parts of the circuit chip on which the functionality of the codec is executed, may serve two purposes. This, in turn, means that the very same parts of hardware may constitute the hardware used with the encoding and decoding functionality, and redundancy of these parts of the chip is avoided. Valuable circuit chip space is thus saved in the hearing aid. 
         [0047]      FIG. 2   a  is a block schematic showing an encoder according to the invention. The encoder comprises a first difference node  5 , a filter adaptation block  6 , a perceptual weighing block  7 , a vector quantization block  8   a , a scalar quantization block  8   b , a codebook block  9 , and a decoding sub-block  20 . The decoding sub-block  20  comprises a gain adaptation block  10 , an amplifier  12 , a second difference node, a predictor block  4 , and a predictor adaptation block  11 . 
         [0048]    A digital audio input signal enters the filter adaptation block  6  and the first difference node  5 , and the output from the difference block  5  is fed either to the scalar quantization block  8   b  or to the input of the perceptual weighting block  7  for conditioning according to a perceptual weighting function. The perceptually weighted signal is then quantized into vectors in the vector quantization block  8   a.    
         [0049]    Depending on whether a scalar quantization or a vector quantization is used, the quantized vector or scalar indices, respectively, are fed to the corresponding input of the codebook block  9 . The codebook block  9  outputs a shape index approximation and a gain index approximation from the indices to the decoding sub-block  20 . In the decoding sub-block  20 , a synthetic approximation of the instantaneous input signal is generated by repeatedly adapting the gain and the shape of the synthetic signal to the actual input signal. This approximation is performed by minimizing the error signal from the first difference node  5 . Once the error signal is minimized, a vector quantization index or a scalar quantization index, as the case may be, is output from the encoder for transmission. 
         [0050]    Error minimization is done by repeatedly comparing the input signal to a synthesized signal in a trial-and-error process yielding a number of different quantization indices as an output. Each of these different quantization indices is fed to the codebook  9 . The output signal from the decoder sub-block  20  serves as an excitation signal for the predictor  4 . At the end of the trial-and-error process, the quantization index yielding the least error in the subtraction node  5  is then selected as the output quantization index. The process is then performed repeatedly to provide a resulting output data stream suitable for transmission over the short range wireless radio communication link. This data stream is compressed as compared to the original sampled input signal, as it is only necessary to transmit the quantization indices for the codebook  9 . The gain adaptor  10  scales the signal from the codebook  9  and controls the amplifier  12  in order to provide an amplified, decoded output signal for the predictor  4 . 
         [0051]    The predictor  4  is controlled by the predictor adaptation block  11 . The predictor adaptation block  11  is autorecursive, i.e. bases its prediction on previous excitation signals corresponding to the previous output quantization indices.  FIG. 6  illustrates the weight applied to signal samples versus time in a window function as used in accordance with the present invention. The window function W m (n) is defined as: 
         [0000]    
       
         
           
             
               
                 W 
                 m 
               
                
               
                 ( 
                 n 
                 ) 
               
             
             = 
             
               { 
               
                 
                   
                     0 
                   
                   
                     
                       
                         for 
                          
                         
                             
                         
                          
                         n 
                       
                       ≥ 
                       m 
                     
                   
                 
                 
                   
                     
                       b 
                       0 
                     
                   
                   
                     
                       
                         for 
                          
                         
                             
                         
                          
                         n 
                       
                       = 
                       
                         m 
                         - 
                         1 
                       
                     
                   
                 
                 
                   
                     
                       - 
                       
                         
                           ∑ 
                           
                             k 
                             = 
                             1 
                           
                           K 
                         
                          
                         
                           
                             a 
                             k 
                           
                           · 
                           
                             
                               W 
                               m 
                             
                              
                             
                               ( 
                               
                                 n 
                                 - 
                                 k 
                               
                               ) 
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         for 
                          
                         
                             
                         
                          
                         n 
                       
                       &lt; 
                       
                         m 
                         - 
                         1 
                       
                     
                   
                 
               
             
           
         
       
     
         [0000]    Window-weighted signal s m  at time m thus being: 
         [0000]        s   m ( n )= s ( n )· W   m ( n )
 
         [0000]    Autocorrelation at time m with lag τ is: 
         [0000]    
       
         
           
             
               
                 R 
                 m 
               
                
               
                 ( 
                 τ 
                 ) 
               
             
             = 
             
               
                 ∑ 
                 
                   n 
                   = 
                   
                     - 
                     ∞ 
                   
                 
                 ∞ 
               
                
               
                 
                   
                     s 
                     m 
                   
                    
                   
                     ( 
                     n 
                     ) 
                   
                 
                 · 
                 
                   
                     s 
                     m 
                   
                    
                   
                     ( 
                     
                       n 
                       - 
                       τ 
                     
                     ) 
                   
                 
               
             
           
         
       
     
         [0000]    Where R m  is used as an input for a Levinson-Durbin algorithm yielding the predictor adaptation coefficients.
 
For values larger than m, W m (n)=0 and consequently s m (n)=0. Causal autocorrelation at time m with lag τ is thus given by the formula:
 
         [0000]    
       
         
           
             = 
             
               
                 ∑ 
                 
                   n 
                   = 
                   
                     - 
                     ∞ 
                   
                 
                 m 
               
                
               
                 
                   
                     s 
                     m 
                   
                    
                   
                     ( 
                     n 
                     ) 
                   
                 
                 · 
                 
                   
                     s 
                     m 
                   
                    
                   
                     ( 
                     
                       n 
                       - 
                       τ 
                     
                     ) 
                   
                 
               
             
           
         
       
     
         [0000]    For the specific case of a second-order recursive window, the above formula reduces to: 
         [0000]    
       
         
           
             
               
                 
                   R 
                   m 
                 
                  
                 
                   ( 
                   τ 
                   ) 
                 
               
               = 
               
                 
                   
                     r 
                     m 
                   
                    
                   
                     ( 
                     τ 
                     ) 
                   
                 
                 - 
                 
                   ( 
                   
                     
                       
                         a 
                         1 
                       
                       · 
                       
                         
                           r 
                           
                             m 
                             - 
                             1 
                           
                         
                          
                         
                           ( 
                           τ 
                           ) 
                         
                       
                     
                     + 
                     
                       
                         a 
                         2 
                       
                       · 
                       
                         
                           r 
                           
                             m 
                             - 
                             2 
                           
                         
                          
                         
                           ( 
                           τ 
                           ) 
                         
                       
                     
                   
                   ) 
                 
               
             
             , 
             where 
           
         
       
       
         
           
             
               
                 
                   
                     
                       r 
                       m 
                     
                      
                     
                       ( 
                       τ 
                       ) 
                     
                   
                   = 
                     
                    
                   
                     
                       
                         s 
                         m 
                       
                        
                       
                         ( 
                         
                           m 
                           - 
                           1 
                         
                         ) 
                       
                     
                     · 
                     
                       
                         s 
                         m 
                       
                        
                       
                         ( 
                         
                           m 
                           - 
                           1 
                           - 
                           τ 
                         
                         ) 
                       
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                    
                   
                     
                       s 
                        
                       
                         ( 
                         
                           m 
                           - 
                           1 
                         
                         ) 
                       
                     
                     · 
                     
                       
                         W 
                         m 
                       
                        
                       
                         ( 
                         
                           m 
                           - 
                           1 
                         
                         ) 
                       
                     
                     · 
                     
                       s 
                        
                       
                         ( 
                         
                           m 
                           - 
                           1 
                           - 
                           τ 
                         
                         ) 
                       
                     
                     · 
                     
                       
                         W 
                         m 
                       
                        
                       
                         ( 
                         
                           m 
                           - 
                           1 
                           - 
                           τ 
                         
                         ) 
                       
                     
                   
                 
               
             
           
         
       
     
         [0000]    If the auto recursive window is based on frames rather than single samples, the second-order autocorrelation window is given by: 
         [0000]    
       
         
           
             
               
                 R 
                 m 
               
                
               
                 ( 
                 τ 
                 ) 
               
             
             = 
             
               
                 
                   r 
                   m 
                 
                  
                 
                   ( 
                   τ 
                   ) 
                 
               
               - 
               
                 ( 
                 
                   
                     
                       a 
                       1 
                     
                     · 
                     
                       
                         r 
                         
                           m 
                           - 
                           L 
                         
                       
                        
                       
                         ( 
                         τ 
                         ) 
                       
                     
                   
                   + 
                   
                     
                       a 
                       2 
                     
                     · 
                     
                       
                         r 
                         
                           m 
                           - 
                           
                             2 
                              
                             L 
                           
                         
                       
                        
                       
                         ( 
                         τ 
                         ) 
                       
                     
                   
                 
                 ) 
               
             
           
         
       
       
         
           Where 
         
       
       
         
           
             
               
                 
                   
                     
                       r 
                       m 
                     
                      
                     
                       ( 
                       τ 
                       ) 
                     
                   
                   = 
                     
                    
                   
                     
                       ∑ 
                       
                         l 
                         = 
                         1 
                       
                       L 
                     
                      
                     
                       
                         
                           s 
                           m 
                         
                          
                         
                           ( 
                           
                             m 
                             - 
                             l 
                           
                           ) 
                         
                       
                       · 
                       
                         
                           s 
                           m 
                         
                          
                         
                           ( 
                           
                             m 
                             - 
                             l 
                             - 
                             τ 
                           
                           ) 
                         
                       
                     
                   
                 
               
             
             
               
                 
                   = 
                     
                    
                   
                     
                       ∑ 
                       
                         l 
                         = 
                         1 
                       
                       L 
                     
                      
                     
                       
                         s 
                          
                         
                           ( 
                           
                             m 
                             - 
                             l 
                           
                           ) 
                         
                       
                       · 
                       
                         
                           W 
                           m 
                         
                          
                         
                           ( 
                           
                             m 
                             - 
                             l 
                           
                           ) 
                         
                       
                       · 
                       
                         s 
                          
                         
                           ( 
                           
                             m 
                             - 
                             l 
                             - 
                             τ 
                           
                           ) 
                         
                       
                       · 
                       
                         
                           W 
                           m 
                         
                          
                         
                           ( 
                           
                             m 
                             - 
                             l 
                             - 
                             τ 
                           
                           ) 
                         
                       
                     
                   
                 
               
             
           
         
       
     
         [0000]    and where L is the frame-length. 
         [0052]    In order to limit the number of vectors that have to be kept in the codebook and searched through within the available timeframe, the vector quantization codebook preferably holds only normalized vectors, i.e. vectors of a unit length. The normalized vectors must subsequently be multiplied by a suitable gain factor in order to provide the correctly scaled vector. In the gain multiplication node  12 , the normalized vector output from the encoding codebook  9  is multiplied by the gain factor from the gain adaptation block  10  in order to yield the excitation signal for the predictor  4 . 
         [0053]    The gain factor derivation is preferably based on a separate gain codebook, yielding a separate gain index to be included in the output quantization index. 
         [0054]    The excitation signal X(t), which is presented to the predictor  4 , thus follows the formula: 
         [0000]        X ( t )=( s ( scbi   i )· g ( gcbi   i ))· G ( t )
 
         [0000]    Where s is the normalized shape vector from the shape code book, g is the instantaneous gain from the separate gain codebook and G is the global gain factor. 
         [0055]    As can be seen form  FIGS. 2   a  and  2   b , the gain factor is also controlled adaptively by the gain adaptation block  10 . When normalized gain indices are used, the gain adaption follows the recursive formula: 
         [0000]        G ( t )=α· T   g ( gcbi )+(1−α)· G ( t− 1)
 
         [0000]    Where G is the gain value, t is the current sample, t−1 is the previous sample, α is a factor, and T g (gcbi) is a mapping function of the gain values, gcbi, in the gain codebook. By appropriate choice of α, the historical emphasis of the gain adaptation can be adjusted. The function T g  is preferably a non-linear function, such as the power of 3. This allows the gain values of the gain codebook to cover a wide dynamic range though stored in only a few bits, thus three bits cover the range from 0 to 343, or 72 dB, rather than just the range from 0 to 7, or 26 dB. 
         [0056]    As mentioned above, the available time for searching the codebook and trying out the resulting excitation signals is limited. It may therefore be difficult or even impossible to search through all quantization vectors in the encoder codebook within a given timeframe. It is therefore preferred to classify the vectors in a tree structure and perform a tree search of first an appropriate class, and then the best quantization vector in that class. As illustrated in  FIG. 4   a , the M·N quantization vectors V 11  to V MN  have been arranged in classes C 1  to C M . The maximum number of searches to be performed is hereby reduced from M·N to M+N. 
         [0057]    However, classifying the vectors in this manner potentially excludes the best vector because it may actually be in a different class. If sufficient time is available, this drawback may be mitigated if some redundancy is introduced in the classes, that is, some classes contain copies of vectors from other classes. This is illustrated in  FIG. 4   b , where the class C 1  has a copy of the element V 21  from the class C 2 . Thus, unlike the codebook illustrated in  FIG. 4   a , where each individual quantization index is unique to a specific branch of the searching tree, at least one individual quantization index, such as V 21 , is found in more than one branch of the searching tree. 
         [0058]    If the hearing aid, or the chip on which the codec hardware is realized, has sufficient processing power, it is possible to calculate the quantization vector analytically as an alternative to looking up the vector in a codebook. This saves the memory necessary to store a codebook. 
         [0059]    Evidently, the skilled person will understand that the embodiment having a structured search tree codebook structure, the embodiment having a redundancy search tree codebook structure, and the embodiment having means for calculating the quantization vector analytically are preferred embodiments, but that an embodiment incorporating a full search in the encoding codebook  9  is not excluded. 
         [0060]    As can be seen from  FIG. 1 , the hearing aid  1   a  may comprise a post-processing stage  58 . The same is the case for the hearing aid  1   b , but not visible in the figure. This post-processing stage  58  may comprise various kinds of post-processing, such as sample rate conversion, output fading and other post-filtering operations. 
         [0061]    When operating in the streaming mode, the quality of the output data stream of indices received depends on the objective signal quality of the short-range wireless radio communications link. If the signal received becomes too weak, or becomes disturbed by interfering radio signals or the like, the data stream of indices will contain more and more errors as the signal deteriorates. In order to avoid having the reproduced output signal breaking down in a disturbing manner due to the presence of too many errors in the data from the output data stream, the hearing aid comprises means for detecting errors in the output data stream received over the short-range wireless radio communications link  3 . If the error rate becomes higher than a predetermined error rate, the post-processing block  58  fades out the signal in a graceful manner, i.e. it turns down the output signal level over a short period of time. Thus, the potentially rather disturbing noise produced by other digital streaming signal systems when the error rate becomes too high is avoided. Preferably, as illustrated in  FIG. 5  this fading is performed by constantly measuring the bit error rate (BER) in the data stream and using the BER to control a gain reduction based on a hysteresis. Whenever the BER is above, say, 0.01 errors per bit, i.e. the signal quality is poor, the output gain is reduced to the low value G 0 . If the BER falls below 0,001 errors per bit, i.e. the signal quality is good, then the output gain is increased to the nominal value G n . 
         [0062]    The channel encoder  61  for the streaming is preferably a Forward Error Correction code (FEC code). The FEC code error correction (ec) and detection capability (dc) is determined by the Hamming distance t, where the relationship 2*ec+dc&lt;t. From this relationship it is seen that detection is a simpler scheme. In this invention we may set the excitation signal, i.e. the input to the predictor  4 , to zero or the null-vector whenever errors are detected. This has the effect that the transmission error has minimal influence on the predictor  4 , because the erroneous input is not introduced. Furthermore, the gain is updated with a zero in the gain adaptation block  10 , which results in the fading of the gain in case of consecutive transmission errors. 
         [0063]    To obtain very low computational complexity, a Hamming code is applied in the preferred embodiment Using e.g. Ham ( 24 , 18 ) having a Hamming distance of 4 hence allows the detection of up to two errors or the correction of one.