Universiteit Maastricht
Voice over IP in networked virtual environments
Jori Liesenborgs
(
jori@lumumba.uhasselt.be
)
24
th
May 2000
promotor: Prof. dr. W. Lamotte
afstudeercoördinator: Prof. dr. E. Flerackers
Academiejaar: 1999-2000
``Thesis voorgedragen tot het behalen van de graad van doctorandus in de Kennistechnologie, afstudeervariant Informatica-Multimedia''
Contents
Preface
Acknowledgements
Abstract
Dutch summary
S.1 Inleiding
S.2 Het Internet Protocol (IP)
S.3 Communicatie via de stem
S.4 Compressiemethodes
S.5 Verzenden van stemsignalen
S.6 VoIP in virtuele omgevingen
S.7 Gerelateerde onderwerpen
S.8 JRTPLIB
S.9 Een VoIP framework
S.10 VoIP testapplicaties
S.11 Conclusie
Part I: Introduction
Chapter 1: Introduction
1.1 What is Voice over IP (VoIP)?
1.2 Thesis subject
1.3 Uses of Voice over IP
1.3.1 Telephone alternative
1.3.2 In virtual environments
1.3.3 Other
1.4 Components of a VoIP system
1.4.1 Grabbing and regeneration
1.4.2 3D effects
1.4.3 Compression and decompression
1.4.4 Transmission and reception
1.5 Outline of this document
1.5.1 Research
1.5.2 Development
1.6 Summary
Part II: Research
Chapter 2: The Internet Protocol (IP)
2.1 Network software architecture
2.1.1 Layered design
2.1.2 OSI reference model
2.1.2.1 The physical layer
2.1.2.2 The data link layer
2.1.2.3 The network layer
2.1.2.4 The transport layer
2.1.2.5 The session layer
2.1.2.6 The presentation layer
2.1.2.7 The application layer
2.1.3 TCP/IP reference model
2.1.3.1 The host-to-network layer
2.1.3.2 The internet layer
2.1.3.3 The transport layer
2.1.3.4 The application layer
2.2 How IP works
2.2.1 Packet format
2.2.2 Addressing
2.2.3 Routing
2.2.4 Multicasting
2.3 Characteristics of IP networks
2.4 Higher level protocols
2.4.1 TCP
2.4.2 UDP
2.5 Why use IP?
2.6 IPv6
2.6.1 Reasons
2.6.2 Description
2.6.2.1 Header
2.6.2.2 Important changes from IPv4
2.7 Summary
Chapter 3: Voice communication
3.1 Grabbing and reconstruction
3.1.1 Sampling and quantisation
3.1.2 Reconstruction
3.1.3 Mixing audio signals
3.2 Communication requirements
3.2.1 Error tolerance
3.2.2 Delay requirements
3.2.3 Tolerance for jitter
3.3 Communication patterns
3.4 Impact on VoIP
3.4.1 Sampling rate and quantisation
3.4.2 Packet length
3.4.3 Buffering
3.4.4 Delay
3.4.5 Silence suppression
3.5 Summary
Chapter 4: Compression techniques
4.1 Preliminaries
4.2 General compression techniques
4.2.1 Lempel-Ziv compression
4.2.2 Huffman coding
4.3 Waveform coding
4.3.1 Differential coding
4.3.1.1 Differential PCM (DPCM)
4.3.1.2 Adaptive DPCM (ADPCM)
4.3.1.3 Delta modulation (DM)
4.3.2 Vector quantisation
4.3.3 Transform coding
4.4 Vocoding
4.4.1 Speech production
4.4.2 Vocoding basics
4.4.3 Linear Predictive Coding (LPC)
4.5 Hybrid coding
4.5.1 Residual Excited Linear Prediction (RELP)
4.5.2 Codebook Excited Linear Prediction (CELP)
4.5.3 Multipulse and Regular Pulse Excited coding (MPE and RPE)
4.6 Other compression techniques
4.7 Delay by compression
4.8 Voice compression standards
4.9 Summary
Chapter 5: Transmission of voice signals
5.1 Requirements
5.2 Transmission protocols
5.2.1 Why not TCP or UDP?
5.2.2 Real-time Transport Protocol (RTP)
5.2.2.1 RTP
5.2.2.2 RTCP
5.2.3 Packet size
5.3 QoS mechanisms
5.3.1 Assigning priorities to packets
5.3.2 Stream Protocol version two (ST2)
5.3.3 Resource Reservation Protocol (RSVP)
5.3.4 ST2 vs RSVP
5.4 Transmission delay
5.5 Summary
Chapter 6: Voice in virtual environments
6.1 Where to generate the 3D sound?
6.2 Distribution mechanisms
6.2.1 Unicasting
6.2.2 Multicasting
6.2.2.1 A single group
6.2.2.2 One group per participant
6.3 Generating 3D sound
6.3.1 Perception of 3D sound
6.3.1.1 Primary cues
6.3.1.2 Effect of the outer ear
6.3.1.3 Estimating range
6.3.2 Generating spatialised sound
6.3.2.1 Using ITD and IID
6.3.2.2 Head-Related Transfer Functions (HRTFs)
6.3.2.3 Speakers vs headphones
6.4 Processing delay
6.5 Bandwidth considerations
6.6 Summary
Chapter 7: Related subjects
7.1 H.323
7.1.1 Functionality
7.1.2 Components
7.1.3 Architecture
7.2 Session Initiation Protocol (SIP)
7.2.1 User agent (UA)
7.2.2 Network servers
7.2.3 Operation
7.3 H.323 vs SIP
7.4 Real-Time Streaming Protocol (RTSP)
7.5 Summary
Part III: Development
Chapter 8: JRTPLIB
8.1 Features
8.1.1 Functionality
8.1.2 Platforms
8.2 Implementation
8.2.1 Overview
8.2.2 Design decisions
8.2.3 Testing
8.3 Publication and reactions
8.4 Summary
Chapter 9: A VoIP framework
9.1 Framework layout
9.2 Implementation
9.2.1 Main VoiceCall routine
9.2.2 Grabbing and reconstruction
9.2.3 Mixing
9.2.4 Compression schemes
9.2.5 Localisation effects
9.2.6 Transmission
9.3 Encountered problems
9.4 Summary
Chapter 10: VoIP test applications
10.1 General issues
10.2 An Internet telephony application
10.3 A 3D environment
10.4 Summary
Part IV: Conclusion
Conclusion
Part V: Appendices
Appendix A: Literature
A.1 References
A.2 Other sources
Appendix B: List of figures
Appendix C: Abbreviations
Back
to the thesis page