Abstract:
Determination of speech latency across a communication network element having an input interface and an output interface includes allocating a timestamp to the data packets of a sample of data packets representing a speech signal at the two interfaces, recording the timestamps together with the corresponding data packets, decoding the recorded data packets at both interfaces to generate respective envelopes in the time domain, cross-correlating the envelopes to determine correlating areas of the envelopes, and determining a value for the speech latency between the interfaces from the timestamps associated with correlating areas of the envelopes.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     The present invention relates to telecommunication network analysis, and more particularly to determination of speech latency across a telecommunication network element.  
         [0002]     In a third generation (3G) telecommunication scenario “packet based” networks, such as UMTS (Universal Mobile Telecommunication System), permit an optimized use of band resources, adopting Adaptive Multi Rate (AMR) codecs for speech compression and Discontinuous Transmission (DTX) techniques to meet customer satisfaction as a trade-off between Quality of Service (QoS) and costs. The QoS provided by such telecommunication networks depends upon a number of factors, including an overall end-to-end speech latency and distortion introduced using low bit rate codecs.  
         [0003]     Speech latency is a time delay between a speech signal at the input of a network device and the same signal at its output, e.g., across two sides of a media gateway in the UMTS architecture. This delay depends on propagation time of the speech signal through the network device, on buffering mechanisms used by codecs (typically at least 20 ms of data packets are buffered before starting an encoding algorithm), and on processing time spent by transcoding equipment for encoding/decoding and forwarding data packets. Moreover, speech latency over UMTS interfaces is affected by typical phenomena occurring in “packet based” networks, such as jitter and packet loss.  
         [0004]     Jitter is a packet delay variation due to non-constant arrival times of data packets. The effect of this phenomenon may be attenuated using de-jitter buffers, but such buffers introduce further end-to-end delay. Adaptive de-jitter buffers also may be used with a variable length modified as a function of the monitored jitter during speech pauses. Nevertheless, such adaptive de-jitter buffers introduce a variable speech latency that may impact the overall quality perceived by customers.  
         [0005]     Packet loss and packet duplication influence QoS in terms of distortion and speech latency, especially in the presence of burst packet loss when consecutive packets are not received at the network end points. To reduce the effect of this impairment, ad-hoc packet loss concealment (PLC) techniques commonly are used which reduce the distortion perceived by listeners and allow correct reconstruction of the speech signal envelope in the time domain. The disadvantage of these techniques is the requirement of a precise packet loss evaluation, i.e., check of the frame number field for consecutive packets, which cannot be guaranteed in the early stages of the design of 3G network elements.  
         [0006]     Currently the technical problem of the assessment of speech latency in a telecommunication network is solved by using an “end-to-end” approach. Manufacturers and operators set up calls between two handsets, saving digital speech signals at the two termination points, i.e., talker mouth and listener ear, and comparing them using end-to-end off-line algorithms. However, even if this approach allows the evaluation of the overall speech latency between two terminating points, it does not provide an accurate measure of the delay introduced by each current or new digital network element within the network. At the same time the use of low bit rate codecs, such as the AMR codecs, no longer allows for predicting theoretically and with high precision the part of the overall delay due to encoding algorithms. This particularly applies to codecs with no linear speech-dependent complexity.  
         [0007]     What is desired is the determination of speech latency across a communication network element as opposed to end-to-end speech latency.  
       BRIEF SUMMARY OF THE INVENTION  
       [0008]     Accordingly the present invention provides for the determination of speech latency across a communication network element by allocating a timestamp to the data packets of a sample of data packets representing a speech signal at input and output interfaces of the network element, recording the timestamps together with the corresponding data packets, decoding the recorded data packets at both interfaces to generate respective envelopes in the time domain, cross-correlating the envelopes to determine correlating areas of the envelopes, and determining a value for the speech latency from the timestamps associated with the correlating areas of the envelopes.  
         [0009]     The objects, advantages and other novel features of the present invention are apparent from the following detailed description when read in conjunction with the appended claims and attached drawing.  
     
    
     DETAILED DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING  
       [0010]      FIG. 1  is a simple block diagram view of a device in a communication network for determining speech latency across a network element according to the present invention.  
         [0011]      FIG. 2  is a detailed flow diagram view for the device of  FIG. 1  according to the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0012]     Using an UMTS network as an example, instead of analyzing a reconstructed speech signal at two terminating handsets in an end-to-end approach, the speech signals present at UMTS interfaces at the input and the output of a network element in question are analyzed, i.e., a device-to-device approach that directly processes speech packets at the UMTS interfaces to minimize unpredictable jitter or packet loss effects and to provide accurate measures across the network element under test.  
         [0013]     Referring now to  FIG. 1 a  network element  10  under test, which may include one or more network elements and concerns, e.g., a media gateway, generally is arranged in a communication network (only suggested in  FIG. 1 ) and is designed to transmit a speech signal encoded in digital data, either in a circuit switched or a packet-oriented way. “Packet-oriented” means that several users share one channel while “circuit switched” means that a channel is reserved for one user. In a transcoding element a change of transmission rate may be performed, as well as a change of format, e.g., going from a wireless system to a hardline system. At an input of the network element  10  an input interface  12 , e.g., a lu-UP interface, is provided while at the output of the network element an output interface  14 , e.g., an lub-UP interface, is provided. At these two interfaces  12 ,  14  data are present in digital form. These interfaces  12 ,  14  serve as monitoring points to input the respective signals to a device  16  for determining the speech latency across the network element  10 . The arrow  18  represents an optional interface that on the control plane may provide information via call start/stop, but which is not necessary.  
         [0014]     Input and output speech data packets to and from the network element  10  are processed in the same way except for Voice Activity Detection (VAD). They are recorded with their timestamp, decoded and cross-correlated with each other to obtain a first “raw” measure. A statistical approach and mobile window filtering is then used to provide more accurate results. For more details, reference is made to  FIG. 2  where the individual functional blocks of the device  16  are shown. Depending on the interface  12 ,  14  involved, signalling information, e.g. call start and stop, may be provided directly from the network element  10 , see arrow  18 , following ITU-TH.248 Megaco protocol. Usually, however, the device  16  retrieves all needed information directly from the User Plan layer of each interface  12 ,  14 , e.g. lu-UP and lub-UP. Blocks  20 ,  22  record the timestamps on the input side of the network element  10  and on the output side of the network element.  
         [0015]     In blocks  20 ,  22  each packet is recorded with its arrival time (timestamp) to a precision better than 100 μs. In fact, a lower timestamp precision may affect measurement resolution (which is intended to be 1 ms), since AMR codecs deal with speech signals sampled at 8 kHz, i.e., one sample every 125 μs. In block  24  a signal analysis and a start/stop detection takes place. It is intended to correlate the measurement start/stop to the call begin/end point. As already mentioned above, depending on the interfaces  12 ,  14  involved, the information is provided by the Megaco protocol or by the User Plan layer. This block  24  also drives switch block  26  that enables timestamp difference compensation, as is described in more detail with reference to block  28 , only at one time when a call is in progress and the timestamp of the first speech packets at the input and output of the network element  10  are available. The purpose of the timestamp difference compensation block  28  is to synchronize the two packet flows at the input and output of the network element  10  by computing a timestamp difference to take care of the situation in which the input and output channels are not set up at the same time. The block  28  works as follows: (1) it records a first speech packet (A) in the output direction, then (2) a succeeding speech packet (B) in the input direction, and finally (3) the succeeding speech packet (C) in the output direction. The timestamp difference is computed between packets C and B, converted to a number of samples (each sample being 125 μs in the given example), and sent to a cross-correlation algorithm block  30 .  
         [0016]     Decoders  32 ,  34  are situated at the input and the output, respectively, for decoding the compressed speech packets and reconstructing the speech signal envelope in the time domain. Optionally, before the decoder blocks  32 ,  34  a de-jittering buffer and some known packet loss concealment (PLC) techniques may be inserted for simulating a sort of “end-to-end” scenario where the only element present in the network is the network element  10 . However, by default only the decoder blocks  32 ,  34  are used in the algorithm.  
         [0017]     Since the cross-correlation algorithm  30  requires stationary signals to produce reliable results, the input speech signal envelope from the input decoder block  32  is processed with a VAD (Voice Activity Detection) algorithm in block  36  that separates speech signals and voice pauses or noise. Only when the VAD algorithm  36  recognizes the presence of a voice signal, does the cross-correlation start in block  30 . Block  30  performs the cross-correlation between the input and output speech samples using an “overlap-safe” method with a buffer size equal to 2048 in the present example. When the call starts and the timestamp difference is estimated, the cross-correlation algorithm  30  delays the output signal with the computed difference, filling the buffer with zero values. This permits computation of the actual delay between speech samples, even if packets have not been sampled synchronously or if the two channels were not set up at the same time. Each correlation may be 1 s long and starts when all eight (2048/256) input subblocks of 32 ms are classified as voice by the Voice Activity Detection block  36 . Since in the preferred embodiment each packet contains 160 speech samples (each 20 ms) and correlation is performed on 2048 samples, an adaption circular buffer also is used. In block  38  a peak validation and speech latency assessment is provided. Block  38  validates the cross-correlation peak and provides a “raw” speech latency measure. For each cross-correlation (1s long) the peak is computed and compared with the cross-correlation standard deviation following this rule: if the peak is greater than the product from threshold and standard deviation, the peak is validated and a “raw” measure is computed; otherwise the peak is rejected.  
         [0018]     As an example the threshold is equal to 7 and is tuned using ad-hoc databases containing male and female speech samples following the ITU-T P.800 standard, all AMR codecs, VAD enabled and disabled. In block  40  moving window and filtering mechanisms are provided. Each “raw” measure is inserted in a moving window “buffer” containing preferably five “raw” measures. In the buffer the measure to be processed is saved together with the two previous and the two consecutive ones, and it is validated when there is at least one value within a predetermined range of the measure being processed in the “moving window” (default values are used for the first two and the last two measures). Such a mechanism is used to filter spurious measures and provides the assessment of the speech latency with high accuracy.  
         [0019]     A timeout detection block  42  takes into account the fact that in some cases the technique for evaluating packet loss generated along the network, i.e., because a network element involved in the past does not work correctly, may need an on-the-fly adjustment to ensure the speech signal is correctly reconstructed. In this event the timeout detection block  42  is inserted so that, when the timeout expires due to persistent and unrecoverable network impairments, the switch  26  enables another timestamp difference computation, resynchronizes input and output signals, and resets the cross-correlation during the ongoing call. Via output  44  the block  40 , when there is a positive comparison, provides the result of the speech latency measurement.  
         [0020]     Laboratory tests in a simulated environment with tunable packet loss percentage have provided the following results: 
        99% of measures are within 1 ms of the actual speech latency value in all test conditions, i.e., male and female speech samples following ITU-T P.800 standard, all AMR codecs, VAD (voice activity detection) enabled and disabled;     accurate figures are provided in variable noisy environments subjected to packet loss uniformly (percentage up to 10%) and burst (length up to 100 ms) distributed;     the speech envelope is properly reconstructed in the time domain even if noise compression, e.g., DTX (discontinuous transmission) and VAD, is enabled.        
 
         [0024]     Thus a designer can determine how a certain network element, e.g., a more recent version of a given element, affects the overall performance of a communication network. With regard to an optimization of the relationship between QoS and speech latency, it is possible to tune a buffer, i.e., to determine an optimum middle size of storage.  
         [0025]     Thus the present invention provides determination of speech latency across a telecommunication network element by decoding a speech signal at the input and output of the network element, correlating the resultant speech envelopes, and determining from timestamps for correlated areas of the envelopes a speech latency value.