Wireless Access Research
Adil Raja April 2005
Implementation of a Non-Intrusive
Speech Quality Assessment Tool on a
Mid-network Device.
Wireless Access Research
Adil Raja April 2005
Speech Quality Testing
• Subjective Testing.
Judging audio gear by listening and without using any
measurement instruments.
• Objective Testing.
Objective measures predict perceived speech quality
based typically on a computation of distortion between
the original (clean) signal and a received (noisy) signal.
Wireless Access Research
Adil Raja April 2005
Need for Objective Quality testing
• Subjective tests are expensive and time consuming.
• Require highly trained test subjects, and careful
experimental procedures.
Wireless Access Research
Adil Raja April 2005
Types of Objective Tests
• Intrusive Testing.
• Non-Intrusive Testing.
As opposed to intrusive methods a non-intrusive
method predicts the quality of speech with no prior
knowledge of the signal
Wireless Access Research
Adil Raja April 2005
Scope of the Project
• To estimate the perceptual quality of the speech frames
in VoIP communications.
• To compute the packet domain QoS parameters of the
VoIP packets.
 These include: Packet loss, Jitter, and round-trip
delay.
• All the computations have to be done in a non-intrusive
manner.
Wireless Access Research
Adil Raja April 2005
Target Device – IXP2400 NPU
• XScale embedded processor (ARM compliant) with
caches.
• Eight 32-bit micro-engines (600 MHz).
• Eight hardware threads per microengine.
• Multiple microengine instruction stores of one thousand
instructions each
• Two hundred fifty-six general-purpose registers
• Five hundred twelve transfer registers.
Wireless Access Research
Adil Raja April 2005
Target Device Continued …
• Onboard local memory.
• Onboard Scratch pad Memory: -
It has a size of 16 KB. It is the smallest and the fastest.
• External QDR-SRAM: -
SRAM is typically used for control information storage
• External DDR-DRAM: -
It is the slowest. It is used for hosting packets.
• High-speed interfaces attach to Media or Switch Fabric
(MSF) interface.
Wireless Access Research
Adil Raja April 2005
Programming Models And Environment
Receive TransmitFunction NFunction 2Function 1
Transmit
Function 1,
Function 2,
..........
Receive
Receive Transmit
Function 2,
Function
3,..........
Function 1
(a) Sequential Model
(b) Parallel Model
(c) Hybrid Model
Wireless Access Research
Adil Raja April 2005
Packet Processing Steps
External
media
device(s)
DRAM SRAM
1,
14
7,
8,9
DRAM
Controllers
SRAM
Controllers
IXP2400
3
2
4,
12
13
MSF
Scratchpad,
Hash, CAP
SHaC
10 Intel XScale
Core
Packet Reception
1. Packet Reception.
2. mpacket retrieval from MSF.
3. MSF obtains an available ME
thread to service RBUF.
4. mpacket moves to DRAM.
5. The thread puts packet handle
onto a scratch ring.
Packet Processing
6. An ME thread gets packet handle
from the scratch ring.
7. Packet is read from DRAM for
processing.
8. Processing results are stored in
SRAM.
9. The handle of the packet is
enqueued on a scratch ring for
transmission.
10. Values of delay, jitter and packet
loss etc. are used by XSclare
Core (parallel processing).
Packet Transmission
11. A ME thread dequeues a
packet from the scratch ring.
12. mpacket tranfer from DRAM to
MSF.
13. TBUF data validity indication.
14. Packet transmission.
Speech Quality
Assessment
Module
Control Module
MEs
5
11
ME Cluster 1
6
MEs
ME Cluster 2
Wireless Access Research
Adil Raja April 2005
Test-bed Application
Port 2Port 1Port 0
Wireless Access Research
Adil Raja April 2005
Voice over IP
• ITU addresses this goal by defining H.323.
• A set of protocols for packet-based multimedia
communications (including VoIP).
Wireless Access Research
Adil Raja April 2005
Real-Time Transport Protocol
(RTP)
• A transport protocol designed for real-time multimedia
communication.
• Runs over UDP.
• RTP packets carry actual voice frames in the case of VoIP.
Wireless Access Research
Adil Raja April 2005
RTP-Packet Header
• Header fields of interest for computation of packet domain metrics
are the timestamp field and the Sequence number field.
• Timestamp: - Increments by 1 for every successive sample. It has a
random initial value. It is used to calculate packet jitter.
• Sequence Number: Increments by 1 for every successive packet. It
has a random initial value. Missing sequence numbers represent
packet loss.
Wireless Access Research
Adil Raja April 2005
Real Time Transport Control Protocol - RTCP
• RTCP is a sister
protocol of RTP.
• It is used to exchange
control information
between the VoIP end-
points.
• RTCP-SR and RTCP-
RR can be used to
calculate round-trip
delay between VoIP
endpoints.
Wireless Access Research
Adil Raja April 2005
Computation of Network QoS
Parameters
• An implementation of RTP packet processing module
has been done on the IXP2400.
• The module computes the values of packet loss, jitter
and round-trip delay for RTP packets carrying speech
frames.
• The computations are done in a non-intrusive matter.
Wireless Access Research
Adil Raja April 2005
Computation of Network QoS
Parameters (Continued ……)
IXP2400
NPU
RTCP-SR and RTCP-RR
packets used to compute
round-trip delay.
ENDPOINT-A ENDPOINT-B
RTP PACKETS USED TO
COMPUTE THE VALUES OF
JITTER AND PACKET LOSS
Wireless Access Research
Adil Raja April 2005
Results and Issues
• The application has been tested by a number of VoIP
software.
• These include OpenPhone (Open H323), WinRTP,
Speak Freely.
• Packet loss and Jitter can be calculated accurately.
• Although the above software implement RTP as the
transport layer protocol. They do not have a complete
implementation of the RTCP protocol.
• This prohibits the computation of round-trip delay so far.
Wireless Access Research
Adil Raja April 2005
Speech Processing
• Implementation of a speaker independent
speech recognition module on IXP.
• Some of the algorithms include: -
 Perceptual Linear Predictive (PLP) analysis.
 Mel-frequency Cepstral Coefficients (MFCC).
 Bark Spectral Distortion (BSD).
• The objective scores obtained by the module
can be used to assay the quality of speech.
Wireless Access Research
Adil Raja April 2005
Issues
• For real-time calculations the speech processing module
should be implemented on the micro-engines.
• IXP2400 MEs and core-processor have integer ALUs,
where as implementation of DSP modules requires some
floating point operations.
• This hurdle can be overcome by porting a suitable
floating point emulator (software) to the IXP.
Wireless Access Research
Adil Raja April 2005
Alternative approach
• In the worst scenario the Speech processing tasks can
be off-loaded to a DSP processor using Port-2 of the
NPU.

Implementation of a Non-Intrusive Speech Quality Assessment Tool on a Mid-Network Device

  • 1.
    Wireless Access Research AdilRaja April 2005 Implementation of a Non-Intrusive Speech Quality Assessment Tool on a Mid-network Device.
  • 2.
    Wireless Access Research AdilRaja April 2005 Speech Quality Testing • Subjective Testing. Judging audio gear by listening and without using any measurement instruments. • Objective Testing. Objective measures predict perceived speech quality based typically on a computation of distortion between the original (clean) signal and a received (noisy) signal.
  • 3.
    Wireless Access Research AdilRaja April 2005 Need for Objective Quality testing • Subjective tests are expensive and time consuming. • Require highly trained test subjects, and careful experimental procedures.
  • 4.
    Wireless Access Research AdilRaja April 2005 Types of Objective Tests • Intrusive Testing. • Non-Intrusive Testing. As opposed to intrusive methods a non-intrusive method predicts the quality of speech with no prior knowledge of the signal
  • 5.
    Wireless Access Research AdilRaja April 2005 Scope of the Project • To estimate the perceptual quality of the speech frames in VoIP communications. • To compute the packet domain QoS parameters of the VoIP packets.  These include: Packet loss, Jitter, and round-trip delay. • All the computations have to be done in a non-intrusive manner.
  • 6.
    Wireless Access Research AdilRaja April 2005 Target Device – IXP2400 NPU • XScale embedded processor (ARM compliant) with caches. • Eight 32-bit micro-engines (600 MHz). • Eight hardware threads per microengine. • Multiple microengine instruction stores of one thousand instructions each • Two hundred fifty-six general-purpose registers • Five hundred twelve transfer registers.
  • 7.
    Wireless Access Research AdilRaja April 2005 Target Device Continued … • Onboard local memory. • Onboard Scratch pad Memory: - It has a size of 16 KB. It is the smallest and the fastest. • External QDR-SRAM: - SRAM is typically used for control information storage • External DDR-DRAM: - It is the slowest. It is used for hosting packets. • High-speed interfaces attach to Media or Switch Fabric (MSF) interface.
  • 8.
    Wireless Access Research AdilRaja April 2005 Programming Models And Environment Receive TransmitFunction NFunction 2Function 1 Transmit Function 1, Function 2, .......... Receive Receive Transmit Function 2, Function 3,.......... Function 1 (a) Sequential Model (b) Parallel Model (c) Hybrid Model
  • 9.
    Wireless Access Research AdilRaja April 2005 Packet Processing Steps External media device(s) DRAM SRAM 1, 14 7, 8,9 DRAM Controllers SRAM Controllers IXP2400 3 2 4, 12 13 MSF Scratchpad, Hash, CAP SHaC 10 Intel XScale Core Packet Reception 1. Packet Reception. 2. mpacket retrieval from MSF. 3. MSF obtains an available ME thread to service RBUF. 4. mpacket moves to DRAM. 5. The thread puts packet handle onto a scratch ring. Packet Processing 6. An ME thread gets packet handle from the scratch ring. 7. Packet is read from DRAM for processing. 8. Processing results are stored in SRAM. 9. The handle of the packet is enqueued on a scratch ring for transmission. 10. Values of delay, jitter and packet loss etc. are used by XSclare Core (parallel processing). Packet Transmission 11. A ME thread dequeues a packet from the scratch ring. 12. mpacket tranfer from DRAM to MSF. 13. TBUF data validity indication. 14. Packet transmission. Speech Quality Assessment Module Control Module MEs 5 11 ME Cluster 1 6 MEs ME Cluster 2
  • 10.
    Wireless Access Research AdilRaja April 2005 Test-bed Application Port 2Port 1Port 0
  • 11.
    Wireless Access Research AdilRaja April 2005 Voice over IP • ITU addresses this goal by defining H.323. • A set of protocols for packet-based multimedia communications (including VoIP).
  • 12.
    Wireless Access Research AdilRaja April 2005 Real-Time Transport Protocol (RTP) • A transport protocol designed for real-time multimedia communication. • Runs over UDP. • RTP packets carry actual voice frames in the case of VoIP.
  • 13.
    Wireless Access Research AdilRaja April 2005 RTP-Packet Header • Header fields of interest for computation of packet domain metrics are the timestamp field and the Sequence number field. • Timestamp: - Increments by 1 for every successive sample. It has a random initial value. It is used to calculate packet jitter. • Sequence Number: Increments by 1 for every successive packet. It has a random initial value. Missing sequence numbers represent packet loss.
  • 14.
    Wireless Access Research AdilRaja April 2005 Real Time Transport Control Protocol - RTCP • RTCP is a sister protocol of RTP. • It is used to exchange control information between the VoIP end- points. • RTCP-SR and RTCP- RR can be used to calculate round-trip delay between VoIP endpoints.
  • 15.
    Wireless Access Research AdilRaja April 2005 Computation of Network QoS Parameters • An implementation of RTP packet processing module has been done on the IXP2400. • The module computes the values of packet loss, jitter and round-trip delay for RTP packets carrying speech frames. • The computations are done in a non-intrusive matter.
  • 16.
    Wireless Access Research AdilRaja April 2005 Computation of Network QoS Parameters (Continued ……) IXP2400 NPU RTCP-SR and RTCP-RR packets used to compute round-trip delay. ENDPOINT-A ENDPOINT-B RTP PACKETS USED TO COMPUTE THE VALUES OF JITTER AND PACKET LOSS
  • 17.
    Wireless Access Research AdilRaja April 2005 Results and Issues • The application has been tested by a number of VoIP software. • These include OpenPhone (Open H323), WinRTP, Speak Freely. • Packet loss and Jitter can be calculated accurately. • Although the above software implement RTP as the transport layer protocol. They do not have a complete implementation of the RTCP protocol. • This prohibits the computation of round-trip delay so far.
  • 18.
    Wireless Access Research AdilRaja April 2005 Speech Processing • Implementation of a speaker independent speech recognition module on IXP. • Some of the algorithms include: -  Perceptual Linear Predictive (PLP) analysis.  Mel-frequency Cepstral Coefficients (MFCC).  Bark Spectral Distortion (BSD). • The objective scores obtained by the module can be used to assay the quality of speech.
  • 19.
    Wireless Access Research AdilRaja April 2005 Issues • For real-time calculations the speech processing module should be implemented on the micro-engines. • IXP2400 MEs and core-processor have integer ALUs, where as implementation of DSP modules requires some floating point operations. • This hurdle can be overcome by porting a suitable floating point emulator (software) to the IXP.
  • 20.
    Wireless Access Research AdilRaja April 2005 Alternative approach • In the worst scenario the Speech processing tasks can be off-loaded to a DSP processor using Port-2 of the NPU.