Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele.
-
Upload
engelram-winkler -
Category
Documents
-
view
113 -
download
0
Transcript of Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele.
Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele
Warum?
Gemeinsamkeiten bisheriger Lösungen
1.Nicht ins Spiel integriert2. Serverbasiert3. Kanal-basiert
Nicht ins Spiel integriert
Audio-server
Spieler1
Spieler3
Spieler4
Spieler2
Spiele-server
Sprache ist losgelöst vom Spiel
Spieledaten
Audiodaten
Spielewelt Reale Welt
Serverbasierte Audiokommunikation
S
S2
13
4
1 2
34
Hohe Kosten für AnbieterHohe Delays weit entfernte Spieler (z.B. #4)
Kanal-basiert : Modell
Informations-quelle
Transmitter Kanal Receiver Ziel
Störung
Problem: Viele Teilnehmer aber nur 1 Kanal
1-Kanal-Modell
Informations-quelle
Transmitter Receiver Ziel
Informations-quelle
Transmitter Kanal Receiver Ziel
Informations-quelle
Transmitter Receiver ZielStörung
N
ii=1
Signal
1. Sprache losgelöst vom Spiel 2. Hohe Kosten und Delay3. Fehlende Kontrolle
Resultierende Probleme
1. Sprache ins Spiel integrieren 2. Kosten und Delay senken 3. Kontrolle verbessern
3 Ziele
Peer-to-Peer – Die Lösung für alles?
1. Kosten senken
Reale Welt
Peer-to-Peer
2
13
4
1 2
34
Spielewelt
Keine Kosten für AnbieterDirekte Wege
2. Kontrolle verbessern
Peer-to-Peer: direkte Kanäle
N-Kanal-Modell
Informations-quelle
Transmitter Receiver Ziel
Informations-quelle
Transmitter Kanal Receiver Ziel
Informations-quelle
Transmitter Receiver Ziel
Störung
Kanal
Kanal
3. Integration ins Spiel
Neue Probleme
1. Wie kontrolliert man eine P2P-Audio- Konferenz?
2. Wie nutzt man die geringe Bandbreite der Clients effizient?
3.1 Wie kontrolliert man eine P2P-Audio-
Konferenz?
SIP
Session Initiation Protocol
• Unterschied zwischen Signalisierung und Audiostrom
Signalisierung /
Audio
Zentral Dezentral
Zentral
Dezentral
Serverbasierte Lösungen
Hybrid
Hybird Komplett dezentrale Lösungen(z.B. Skype)
Hybrides dezentrales Audiomixing
Mixer Mixer
Client Client
Registrar
KonfSignalisierun
g
Audiostrom
3.2 Wie nutzt man die geringe Bandbreite der
Clients effizient?
Intuitive Lösung:Metaphern der
Übertragung von Sprache
Walkie Talkies = 1-Kanal-Modell
Full-Mesh
1 2
3
4
5
Bandbreite Knoten 1
KBit KBit4×16 =64
s s
Spielewelt
%Sprache per Luft = N-Kanal-
Modell
Hörreichweite Area of Interest bei
Sprache
• Hörreichweite definiert wann eine Verbindung aufgebaut werden muss
• Beschränkt die Anzahl der Verbindungen
1
Partialmesh
Bandbreite Knoten 1
KBit KBit1×16 =32
s s
1 2
3
4
5
Spielewelt
Proxemik
Proxemik-Zonen
1m
3m
10m
Persönliche
Zone
Soziale Zone
Öffentliche Zone
Schall in der Luft
1m 3m
Persönliche Zone Soziale Zone Öffentliche Zone
Lau
tstä
rke
Entfernung
100%
0%
Schall in der Luft
1m 3m
Persönliche Zone Soziale Zone Öffentliche Zone
Lau
tstä
rke
Entfernung
100%
0%
Öffentliche Zone
• Aufbau der logischen SIP Verbindung • Kein Austausch von Audioinformationen• Techniken:
– Silence-Suppression mit RTP – SIP-HOLD
5
Soziale Zone
• Anpassung der Lautstärke • Metapher der Luftübertragung• Viele Spieler, mittlere Sprachqualität (8
KBit / s)
5
Persönliche Zone
• Keine Anpassung der Lautstärke • Wenig Spieler, hohe Audioqualität (16 Kbit / s)
5
Partialmesh mit 3 Zonen
Bandbreite Knoten 1
KBit KBit1×16 =32
s s
1 2
3
4
5
Spielewelt
Bandbreite Knoten 4
KBit KBit1×8 =8
s s
Implementierung
Architektur
PjSIP
Irrlicht
OpenSer
Mixing Konzept
N
i jj=1
R(t)= V(t)
Walkie-Talkie Luftübertragung
N
i jj=1
jR(t)= V(t)d
Konferenz Brücke
1d
2dSlot1
Slot2
Slot3
Slot4
4d
3dSlot3Slot3Slot3
Mic
Silence Suppression
Proxemik Logik
SozialeZone
PrivateZone
Lautstärke anpassen
16 KBit Codec
8 KBit Codec
Konferenzverlassen
Sip Anruf
ÖffentlicheZone
Konferenzbetreten
Sip Anrufbeenden
Messung Proxemik-Zonen
0 20 40 60 80 100 1200
2
4
6
8
10
12
14
16
B - -> A
A - -> B
G e sa m t
Ze it in Se kund e n
Ba
nd
bre
ite in
Kb
yte
/s
Priva te Zo ne So zia le Zo ne
SIP A nruf
Ö ffe ntlic he Zo ne
Fragen?
Vielen Dank für Ihre
Aufmerksamkeit
Zusätzliche Folien
SIP im Protokollstapel
V o iP A nwe nd ung
Sig na lisie rung Sp ra c he
SDP SIP RTP
RTC P
IP
Üb e rm ittlung sne tze
UDPTC P
SIP SignalisierungUse r
A g e nt AUse r
A g e nt B
(1) IN V ITE
(2) 100 TRYIN G
(3) 180 RIN G IN G
(4) 200 O K
(5) A C K
(6) BYE
(7) 200 O K
RTP / RTC P
Messung SIP als Netzwerkschicht
0 1000 2000 3000 4000 5000 6000 7000
0
2
4
6
8
10
12
14
16
18
20
Pa ke t-Num m e r
Rou
nd
-Trip
-Tim
e (
ms)
RTT
SIP als Netzwerkschicht
Re g istra rPro xy
Prä se nzd ie nst Lo ka tio nsd ie nstInsta nt-M e ssa g ing -Die nst
Prä se nzd ie nst Lo ka tio nsd ie nstInsta nt-M e ssa g ing -Die nst
SIP
C lie nt
Pub lish
C lie nt
No tify
C lie nt
M ESSA G E
C lie nt
M ESSA G E
C lie nt
REG ISTER
Vo IP
C lie nt
Partialmesh Worstcase
Bandbreite Knoten 1
KBit KBit4×16 =64
s s1 2
3 4
Spielewelt
PjSIP
PJ SUA -LIB
PJ LIB
PJ M EDIA -C O DEC
PJ M EDIAPJ SIP-UTIL
PJ SIP-C O RE
PJ SIP-SIM PLE
PJ SIP-UA
Ventrillo Administration
Ausblick
• P2PSIP (DHT)• 3D-Positionierung (HRTF)• Variable Bitrate (Speex VBR)• Supernodes• Evaluierung im tatsächlichen
Spiel