Upload
adil-raja
View
178
Download
1
Embed Size (px)
Citation preview
Wireless Access Research
Adil Raja September 2005
Implementation of a Non-Intrusive Speech Quality Assessment Tool on a
Mid-network Device.
Wireless Access Research
Adil Raja September 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 September 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 September 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 September 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 non-intrusively.
Wireless Access Research
Adil Raja September 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 September 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 September 2005
Programming Models And Environment
Receive TransmitFunction NFunction 2Function 1
TransmitFunction 1,Function 2,
..........Receive
Receive TransmitFunction 2,
Function3,..........
Function 1
(a) Sequential Model
(b) Parallel Model
(c) Hybrid Model
Wireless Access Research
Adil Raja September 2005
Packet Processing Steps
Externalmedia
device(s)
DRAM SRAM1,14
7,8,9
DRAMControllers
SRAMControllers
IXP2400
3
2
4,12
13
MSF
Scratchpad,Hash, CAP
SHaC
10 Intel XScaleCore
Packet Reception1. 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 Processing6. 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 Transmission11. 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 QualityAssessment
Module
Control Module
MEs
5
11
ME Cluster 1
6
MEs
ME Cluster 2
Wireless Access Research
Adil Raja September 2005
Test-bed Application
Port 2Port 1Port 0
IXP2400 bridge
Wireless Access Research
Adil Raja September 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 September 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 September 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.
• RTP was proposed by IETF in RFC 1889 (current RFC 3550).
Wireless Access Research
Adil Raja September 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 September 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 manner.
Wireless Access Research
Adil Raja September 2005
Computation of Network QoS Parameters (Continued ……)
IXP2400NPU
RTCP-SR and RTCP-RRpackets used to compute
round-trip delay.
ENDPOINT-A ENDPOINT-B
RTP PACKETS USED TOCOMPUTE THE VALUES OFJITTER AND PACKET LOSS
Wireless Access Research
Adil Raja September 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 September 2005
Results
• Packet loss: - No packet loss was detected.
• Round-trip delay: - A successful computation requires deployment of an alternative strategy.
Wireless Access Research
Adil Raja September 2005
Future - Speech Processing
• Implementation of a speaker independent speech recognition module on IXP.
• Some of the techniques 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 September 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, whereas 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.
• In the worst scenario the Speech processing tasks can be off-loaded to a DSP processor using Port-2 of the NPU.