Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele

Preview:

Citation preview

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

Recommended