Professional Documents
Culture Documents
Fehlerverschleierungsverfahren fur
Sprachubertragung mit Paketverlust
Diplomarbeit
von
Henning Sanneck
Betreuung: Dipl.-Inf. K. Ben Younes / Dipl.-Ing. R. Reng / Dipl.-Ing. A. Stenger
Erklarung
Ich versichere, da ich die Arbeit ohne fremde Hilfe und ohne Benutzung anderer als
der angegebenen Quellen angefertigt habe und da die Arbeit in gleicher oder ahnlicher
Form noch keiner anderen Prufungsbehorde vorgelegen hat und von dieser als Teil einer
Prufungsleistung angenommen wurde. Alle Ausfuhrungen, die wortlich oder sinngema
ubernommen wurden, sind als solche gekennzeichnet.
Henning Sanneck
Eichenwaldstr. 19
90513 Zirndorf
Inhaltsverzeichnis
Inhaltsverzeichnis : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : i
Zusammenfassung : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : iii
Abkurzungen und verwendete Formelzeichen : : : : : : : : : : : : : : : : : : : : iv
1 Einleitung
2 Grundlagen
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
6
7
7
8
10
10
11
12
13
13
13
16
18
20
ii
4.2 Modied Waveform Similarity Overlap Add
(MWSOLA) : : : : : : : : : : : : : : : : : : : : : :
4.2.1 Einfuhrung : : : : : : : : : : : : : : : : : :
4.2.2 Beschreibung des MWSOLA-Verfahrens : :
4.2.3 Anpassung des MWSOLA-Verfahrens an die
Problemstellung : : : : : : : : : : : : : : : :
4.3 Periodische Fortsetzung des Sprachsignals : : : : :
4.3.1 Einfuhrung : : : : : : : : : : : : : : : : : :
4.3.2 Beschreibung des Algorithmus : : : : : : : :
4.3.3 Anwendung des "Packet Merging\ : : : : : :
: : : : : : : : : : : : : 20
: : : : : : : : : : : : : 20
: : : : : : : : : : : : : 22
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
25
32
32
33
34
37
: : : : : : : : 37
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
37
40
41
45
46
51
61
64
64
65
68
70
75
75
78
83
7 Ausblick
89
Anhang
96
iii
Zusammenfassung
Die vorliegende Arbeit behandelt Verfahren zur Verschleierung von Paketverlusten in paketvermittelten Netzen. Das bedeutet, das versucht werden soll, die durch bei der U bertragung verlorenen Pakete enstandenen Lucken im Sprachsignal mit geeigneten Daten
aufzufullen.
Hierfur wurden drei Algorithmen der "Waveform Substitution\-Gruppe (Ersetzung des
fehlendes Signalstucks durch ein dem Sprachsignal entnommenes Signalsegment) untersucht. Es handelt sich um das Mustererkennungsverfahren ("Pattern Matching\) nach
Goodman ([GLWW86], [GWDP88]), sowie eine Methode der periodischen Fortsetzung
des Sprachsignals ("Pitch Waveform Replication\). Hinzu kommt ein Verfahren zur hochqualitativen Zeitdehnung und -stauchung von Sprache ("Modied Waveform Similarity
OverLap Add\, MWSOLA, [VR93], [Gru94]), das in dieser Arbeit an die Anwendung als
Fehlerverschleierungsalgorithmus angepat wurde.
Die Verfahren wurden implementiert und auf ihre Leistungsfahigkeit hin untersucht. Zu
einer abschlieenden Beurteilung der Algorithmen wurde ein geeignetes subjektives Testverfahren ausgewahlt. Dieses Verfahren kam bei einem Sprachqualitatstest mit einer Reihe
von Personen zur Anwendung. Dabei konnte mit allen drei Methoden eine deutliche Verbesserung der Sprachqualitat durch Fehlerverschleierung festgestellt werden. Die beste
subjektive Qualitat ist mit dem MWSOLA-Algorithmus erzielt worden.
Dieser Algorithmus wurde dann in das Audiokonferenzprogramm "Network Voice Terminal\ (NeVoT, [Sch92], [Sch94a]) eingebunden. Damit ist es moglich, beim Auftreten
von Paketverlusten, Audiokonferenzen mit verbesserter Qualitat der ubertragenen Sprache durchzufuhren.
Zur Simulation von Paketverlusten wurde auerdem ein einfaches Netzwerkmodell in NeVoT integriert. Hinzu kamen noch zusatzliche Statistikfunktionen (z.B. Detektion von
Paketverlusten), die einerseits zur Ansteuerung der Fehlerverschleierung dienen und andererseits eine Messung der Verbindungsqualitat ermoglichen. Zum Test der erstellten
Programme, sowie um real auftretende Paketverluste zu messen, stand eine Verbindung
zu einem Host in Frankreich zur Verfugung, bei der auf beide Teilnehmer der Zugri
moglich war.
iv
1 (n)
kontinuierlicher Zeitindex
diskreter Zeitindex
Originalsignal / Eingangssignal eines Algorithmus
durch deterministische Paketverluste gestortes Signal
(nach P1 Paketen werden P2 Pakete unterdruckt)
fehlerverschleiertes Signal / Ausgangssignal eines Algorithmus
Abtastfrequenz
Sprachgrundperiode, "Pitch Period\ (in Abtastwerten)
Sprachgrundfrequenz
Paketlange (in Abtastwerten)
Lange einer Sequenz von aufeinanderfolgenden verlorenen Paketen
maximale Lange einer verschleierbaren Sequenz
Anzahl der fur eine Verschleierung notwendigen Pakete
Anzahl der einem Algorithmus ubergebenen Abtastwerte
Anzahl der vom Algorithmus zuruckgegebenen Abtastwerte
Anzahl der zum "Packet Merging\ ("Fitting\) verwendeten Abtastwerte
Position im Korrelationsberechnungsbereich (Verschiebung)
Kreuzkorrelationsfunktion zweier Signalabschnitte a1 und a2
Position maximaler Korrelation
Hann-Fenster
linksseitiges Hann-Fenster
rechtsseitiges Hann-Fenster
Wahrscheinlichkeit, da in einer Sequenz von s Paketen
keine Sprachbereichsubergange aufgetreten sind
Wahrscheinlichkeit, da genau s Pakete hintereinander verloren gehen
Wahrscheinlichkeit, da mindestens s Pakete hintereinander verloren gehen
Menge der naturlichen Zahlen
Sprungfunktion
VERWENDETE FORMELZEICHEN UND ABKURZUNGEN
Musterfolge
Lange der Musterfolge
Ersatzsprachsegment
Lange des Suchbereichs
Eektivwert der Amplitude (eines Paketes)
Folge von Abtastwerten zur Amplitudenanpassung
Signalenergie im "Packet Merging\-U bergangsbereich
Abschnittslange ("framelength\)
Abstand der Abschnitte im Eingangssignal x(n)
Abstand der Abschnitte im Ausgangssignal y(n)
Zeitskalierungsfaktor mit = SA=SS
Dehnungsfaktor mit = lin=lout
Verschiebung eines Abschnittes
dem Eingangssignal entnommener, im Ausgangssignal angeordneter Abschnitt
zur Korrelationsberechnung verwendeter Abschnitt im Eingangssignal
Anzahl der Abschnitte
Dierenz zwischen gewunschter und realer Ausgangslange
VERWENDETE FORMELZEICHEN UND ABKURZUNGEN
M
K
6. Verwendete Abkurzungen
PATMAT Pattern Matching (Mustererkennungsverfahren)
MWSOLA Modied Waveform Similarity OverLap{Add
PWR
Pitch Waveform Replication (periodische Fortsetzung des Sprachsignals)
MUL
Anzahl der benotigten Multiplikationen
ADD
Anzahl der benotigten Additionen
mh
Testsignal (Sprecher mannlich, hohe Stimmlage)
mt
Testsignal (Sprecher mannlich, tiefe Stimmlage)
wh
Testsignal (Sprecherin weiblich, hohe Stimmlage)
wt
Testsignal (Sprecherin weiblich, tiefe Stimmlage)
NeVoT
Network Voice Terminal
RTP
Real-Time Transport Protocol
RTCP
Real-Time Transport Control Protocol
UDP
User Datagram Protocol
IP
Internet Protocol
vi
Kapitel 1
Einleitung
In heutigen paketvermittelten Netzen, wie dem Internet, ist es moglich, da bei Echtzeitanwendungen Datenpakete uberhaupt nicht oder verspatet am Empfanger eintreen. Bei
Videoubertragung kann das nur relativ geringe Storungen im Bildsignal zur Folge haben.
Wird ein Sprach-, bzw. Audiosignal ubertragen, fallt dieses fur eine gewisse Zeit jedoch
ganz aus, was fur den Horer sehr unangenehm ist.
Es besteht die Moglichkeit, durch Hinzufugen von Redundanz im Sender, enstandene Paketfehler zu rekonstruieren. Da es sich allerdings nicht um einzelne Bitfehler, sondern den
Ausfall einer Folge von moglicherweise mehreren Hundert Bit handelt, sind Fehlerrekonstruktionsverfahren (insbesondere bei gehauft auftretenden Paketverlusten) nur bedingt
geeignet.
Die vorliegende Arbeit behandelt nun Verfahren, um Paketverluste zu verschleiern, d.h.
fur den Horer angenehmer, bzw. weniger wahrnehmbar zu machen. Dazu werden in Kapitel 2 zunachst die wichtigsten Grundlagen in Bezug auf das Sprachsignal und seine
U bertragung behandelt. Dann wird ein kurzer U berblick uber die gebrauchlichen Methoden der Fehlerverschleierung gegeben (Kapitel 3).
Drei Algorithmen, die auf der Entnahme geeigneter Abschnitte aus den einwandfrei empfangenen Daten basieren ("Waveform Substitution\, Kap. 3.2.2), wurden ausgewahlt. Es
sind dies das "Pattern Matching\-Verfahren (Mustererkennung, Kap. 4.1), sowie ein Verfahren der periodischen Fortsetzung des Sprachsignals ("Pitch Waveform Replication\,
Kap. 4.3)([GLWW86], [GWDP88]).
1
KAPITEL 1. EINLEITUNG
Ein neuer Ansatz in diesem Zusammenhang ist das Verschleiern eines Paketverlustes mit
Hilfe eines Verfahrens zur Zeitdehnung von Sprache. Dieses 1993 entwickelte Verfahren
heit MWSOLA ("Modied Waveform Similarity OverLap Add\, [VR93], [Gru94]) und
erlaubt bei relativ niedrigem Rechenaufwand eine hochqualitative Zeitstauchung, bzw.
-dehnung eines Sprachsignals, ohne den Klangcharakter der Sprache zu andern. Dieses
Verfahren wurde in dieser Arbeit so verandert, da es moglich ist, kurze Sprachsignalabschnitte in der Zeit zu dehnen, um durch Paketverlust im Sprachsignal entstandene
Lucken zu schlieen (Kap. 4.2.3).
Alle drei Methoden wurden zunachst unter matlab implementiert und getestet. Neben
einem objektiven Vergleich (Kap. 5.1) wurde ein Sprachqualitatstest durchgefuhrt, bei
dem eine Reihe von Personen die Leistungsfahigkeit der drei Verfahren beurteilten (Kap.
5.2). Der angepate MWSOLA-Algorithmus erwies sich dabei als das Verfahren mit der
subjektiv besten Qualitat des verschleierten Signals.
Um eine mogliche Anwendung der Fehlerverschleierung zu demonstrieren und zu verizieren, wurde der MWSOLA-Algorithmus in das Programm "Network Voice Terminal\
(NeVoT) eingebunden (Kapitel 6). NeVoT ist ein System zur Durchfuhrung von Audiokonferenzen, insbesondere im Internet. Es verwendet das gerade in der Entwicklung
bendliche RTP ("real-time transport protocol\, Kap. 6.1.2), das Echtzeitanwendungen
unter Standard-Betriebssystemen wie UNIX unterstutzt.
Zum Test der fehlerverschleiernden Verfahren wurde ein einfaches Netzwerkmodell implementiert (Kap. 6.2.1). Auerdem ist NeVoT um weitere Statistikfunktionen erweitert
worden (Kap. 6.2.2). Mit Hilfe dieser Funktionen konnte die Qualitat einer Verbindung
zwischen dem lokalen Netzwerk des Lehrstuhls fur Nachrichtentechnik und einem Host
in Frankreich gemessen werden. Diese Verbindung diente auch zum Test der erstellten
Software unter realen Bedingungen.
Schlielich wurde, aufbauend auf die zusatzlichen Statistikfunktionen, der MWSOLAFehlerverschleierungsalgorithmus in NeVoT integriert (Kap. 6.2.3).
Kapitel 7 enthalt einen Ausblick auf zukunftige Anwendungen der Fehlerverschleierung.
Kapitel 2
Grundlagen
2.1 Eigenschaften des Sprachsignals
Der kleinste Bestandteil der Sprache der bedeutungsunterscheidende Funktion hat, ist das
Phonem ([EH93]). Ein Phonem hat eine minimale Lange von ca. 40 ms.
In Abb. 2.1 ist das Zeitsignal des Sprachlautes "P\, welcher aus den Phonemen /p/ und
/e/ besteht, abgebildet. Besonders Vokale, aber auch stimmhafte Mitlaute, zeichnen sich
x(t)
0.5
0.4
0.3
0.2
0.1
0
0.1
0.2
0.3
0.4
0.5
0
50
100
150
/p/
200
250
300
t/ms
/e/
KAPITEL 2. GRUNDLAGEN
KAPITEL 2. GRUNDLAGEN
Wenn ein Datenpaket spater als sein geplanter Ausgabezeitpunkt eintrit (a), kann dies
dazu fuhren, da das Paket nicht mehr verwendet werden kann und als verloren angesehen
werden mu (s. S. 72). Die Verzogerung, die ein Paket nach dem Abschicken erfahrt setzt
sich zusammen aus ([CM88], vgl. Abb. 6.5):
Das zentrale Problem ist jedoch, das Datenpakete uberhaupt nicht eintreen. Bei U berlastung eines Puerspeichers ("Congestion\) an Gateways oder Routern im Netzwerk werden Datenpakete unterdruckt ("discarding\ / "dropping\). Die Echtzeitanforderungen
In Abb. 2.2 ist ein U berblick uber die bestimmenden Parameter einer Sprachubertragung
uber ein paketvermitteltes Netz gegeben. In dieser Arbeit soll, wie in der Abbildung hervorgehoben, versucht werden mittels Signalverarbeitung im Empfanger, die Auswirkungen
von Paketverlusten auf die Sprachqualitat zu begrenzen.
Sender
Wahl der Codierung
Wahl der Protokolle
(Overhead)
..
Empfanger
Netzwerk
aktuelle
Netzbelastung
..
benotigte
..
Ubertragungsrate
(bit/s)
Paketverluste
..
Verzogerung
..
Sprachqualitat
Signalverarbeitung
(Rechenaufwand)
Kapitel 3
Methoden der Fehlerverschleierung
(Error Concealment)
3.1 Wahl der Paketlange
Eine vorbeugende Manahme im Sender stellt die geeignete Wahl der Sprachsegmentdauer
pro Datenpaket dar.
Sprachsegmentdauer Storung bei Paketverlust Overhead Anzahl der Pakete/Zeit
< 2 ms
Gerauschimpulse
hoch
hoch
> 32 ms
Verlust ganzer Phoneme niedrig
niedrig
durch das Fehlen ganzer Phoneme nachhaltig gestort werden (vgl. Kap. 2.1). Fur diese
Arbeit wurde in allen Betrachtungen eine Sprachsegmentdauer von 20 ms gewahlt. Das
entspricht bei einem PCM-codierten Sprachsignal, das mit 8 kHz abgetastet wurde, einer
Paketlange (ohne Header) von 160 Abtastwerten.
"unicast\: Der sendende Host verschickt an jeden Empfanger ein Paket gleichen Inhalts
"multicast\: es wird ein Paket an eine Multicast-Gruppenadresse abgeschickt, das im Netzwerk
zirkuliert. Jeder Host, der zur angesprochenen Multicast-Gruppe gehort, empfangt das Paket und
schickt es weiter. Die Paketlaufzeit ist durch das TTL-(time to live)-Feld im Header, das die
maximale Anzahl der passierten Netzwerkknoten ("hops\) angibt, begrenzt.
(pL > 1% fur typische Paketlangen). Allgemein kann man sagen, da Sprungstellen und
Folgen von Nullen im Sprachsignal sich sehr negativ auf die Sprachqualitat auswirken.
Klassizierung von U bertragungslucken als fehlendes Paket oder Stille aufgrund von
Sequenznummern ("sequence numbers\) und Zeitstempeln ("timestamps\).
Eine sinnvolle Ersetzung von evtl. mehr als 100 verlorengegangenen aufeinanderfolgenden
Abtastwerten, durch eine dem empfangenen Sprachsignal entnommene Folge von Abtastwerten, ist nur moglich, wenn das Sprachsignal im Bereich der Fehlstelle stationar ist.
Daraus ergeben sich Probleme bei Paketverlust in den U bergangsbereichen von Phonemen verschiedenen Typs (stimmhaft, stimmlos) ( ! Kap.2.1 ).
x(n)
0.25
0.2
0.15
0.1
0.05
0.05
0.1
0.15
0
50
100
150
Paket 1
Paket 2 Paket 3 n
200
250
300
350
400
450
500
y(n)
0.25
0.2
0.15
0.1
0.05
0.05
0.1
0.15
0
100
150
200
250
300
350
400
450
500
3.2.2.2 Mustererkennung
Mustererkennung ("Pattern Matching\, PATMAT) ist der Versuch mit Hilfe einer der
Lucke unmittelbar vorangehenden, bzw. nachfolgenden Folge von Abtastwerten ein moglichst gut passendes Signalsegment zur Auullung der Lucke zu nden.
Fur diese Arbeit wurde ein Algorithmus ahnlich einem in [GLWW86] und [GWDP88]
beschriebenen Verfahren implementiert und getestet (! Kap. 4.1).
10
3.2.2.4 Zeitdehnung
Die U berbruckung fehlender Pakete mit Hilfe eines Verfahrens zur Zeitskalierung ("TimeScale Modication\) von Sprache wird in dieser Arbeit neu vorgestellt (! Kap. 4.2). Es
beruht darauf, ein vorhandenes Sprachsignal bestimmter Lange in der Zeit zu dehnen und
so die entstandene Lucke zu fullen.
11
Dadurch ist es moglich zumindest die wichtigen niederfrequenten Anteile des Signals originalgetreu zuruckzugewinnen. Das Problem der Schatzung eines Abtastwertes ist besser zu
losen, als die Schatzung eines kompletten Paketinhaltes. Der Aufwand ist relativ gering.
Es ist nur notig ein ankommendes Paket zwischenzuspeichern, bis entweder das zugehorige
zweite Paket angekommen ist, oder die Interpolation durchgefuhrt wird ([JC81], [Jay93]).
Byte Nr.
Header 1 3 5
H
Byte Nr.
...
(2L-1)
"ungerades" Paket
Header 2 4 6
H
...
2L
"gerades" Paket
12
den. Mit der Einfuhrung des Internet-Protokolles der nachsten Generation (IPng/IPv6,
[Hin94]) gibt es jedoch die Moglichkeit, normalen Datenverkehr in acht und Audio- und Videoubertragung in sieben Klassen einzuteilen. Damit ist es den Netzwerkknoten ("nodes\)
moglich, Pakete selektiv nach ihrer Klassenwertigkeit zu unterdrucken, bzw. bevorzugt zu
behandeln.
Allerdings nimmt naturlich die Verzogerung (bei gleicher Paketlange) mit zunehmender
Anzahl von Hierarchieebenen zu. In Abb. 3.3 ist eine Folge von 4 aufeinanderfolgenden
Bytes fur "Interleaving / Interpolation\, bzw. "Embedded Coding\ gegenubergestellt. Die
schattierten Bits (die sich in demselben Paket benden) werden evtl. unterdruckt.
MSB
LSB
Byte
11
12
13
14
21
22
23
24
31
32
33
34
41
42
43
44
11
12
13
14
21
22
23
24
31
32
33
34
41
42
43
44
Interleaving
(horizontal)
Embedded Coding
(vertikal)
Kapitel 4
Algorithmen zur
Fehlerverschleierung
4.1 Pattern Matching
Bei der Fehlerverschleierung mit Hilfe des Mustererkennungsverfahrens ("Pattern Matching\) wird dem Signal unmittelbar vor dem fehlenden Signalstuck eine Musterfolge
entnommen. Dann wird im bereits empfangenen Signal eine Folge von Abtastwerten
mp;max(n) gesucht, die der Musterfolge maximal ahnlich ist. Als Ersatz fur das verlorene
Paket wird nun dem Signal ein Sprachsegment entnommen, das der gefundenen Folge
mp;max(n) unmittelbar nachfolgt.
13
14
lin
x(n)
0.25
Paket 1
Paket 2
Paket 3
Paket 4
Paket 5
0.2
0.15
0.1
0.05
0.05
0.1
0.15
0
m(n)
100
200
max
300
400
500
600
700
800
600
700
800
0.25
0.25
0.2
0.2
0.15
0.15
0.1
m(n)
0.1
0.05
0.05
0.05
0.25
0.05
0.1
0.2
0.1
0.15
90
100
0.15
0
0.15
0
10
20
30
40
50
60
70
80
10
20
30
40
50
60
70
80
90
100
0.1
F(n)
0.05
0.05
0.1
0.15
0
20
40
60
80
100
120
140
160
y(n)
0.25
0.2
0.15
0.1
0.05
0.05
0.1
100
200
300
400
500
(A)
(B)
'm mp (p) =
}|
{ z m}|p(n) {
x(lin M + n x(p + n); 0 p < S M
MX1 z
n=0
m(n)
(4.1)
Ist die Folge mp;max, die der Musterfolge maximal ahnlich ist, gefunden (an der Position
p = pmax ), so wird dem Eingangssignal x(n) die der Folge mp;max unmittelbar nachfolgende
Folge F (n) = x(pmax + M + n); 0 n < L 1 , die vermutlich dem fehlenden Paketinhalt
am meisten ahnelt, entnommen und anstelle des fehlenden Pakets in das Signal integriert.
15
Normiert man die Korrelationsfunktion auf die Energie von mp(n) erhoht sich der Rechenaufwand deutlich und es kann sein das die Position maximaler Korrelation bei einem
Signalabschnitt gefunden wird, der von der Form sehr ahnlich ist, aber eine sehr unterschiedliche Amplitude aufweist. Andererseits bevorzugt eine Korrelationsberechnung ohne
Normierung Bereiche hoher Amplitude. Da die Lange des betrachteten Signalabschnitts
lin relativ klein ist, sich also die Energie des Sprachsignals von Paket zu Paket mit hoher
Wahrscheinlichkeit nur wenig andert, wurde (auch bei den in Kap. 4.2 und 4.3 vorgestellten Algorithmen) auf eine Normierung2 verzichtet.
Fur die Musterlange M gilt:
M ffA
min
(4.2)
fA : Abtastfrequenz
fmin : minimaleSprachgrundfrequenz
Das bedeutet das die Musterfolge m(n) mindestens ungefahr eine Periode des Sprachsignals enthalten sollte. In den untersuchten Beispielen (Kap. 5) wurde fur die minimale
Sprachgrundfrequenz fmin = 80 Hz angenommen. Die Abtastfrequenz war fA = 8000 Hz.
Damit wurde M mit 100 Abtastwerten festgelegt.
Zwei U berlegungen sind fur die Wahl der Suchbereichslange S wichtig:
a) wird S zu klein gewahlt, kann das optimale Ersatzsegment nicht gefunden werden
b) ist S zu gro, kann von dem fehlenden Sprachsegment weit entfernte und damit
unpassende Sprache ins Signal gebracht werden
Untersuchungen in [GLWW86] haben gezeigt, da das Eintreten von Bedingung a) eine
deutliche Qualitatsverschlechterung mit sich bringt. Dagegen ist Fall b) relativ unproblematisch. Fur ein, bzw. zwei hintereinander fehlende Pakete wurde der Suchbereich zu zwei
Paketen gewahlt. Das heit, da eine Zwischenspeicherung von drei, bzw. vier Paketen
notig ist (! Tab. 4.1).
2
Denkbar ware auerdem eine auf den Signalwert mp (n) bezogene Gewichtung der Normierung
16
s nv max(p) = S M
1 3
220
2 4
220
Tabelle 4.1: Aufwand fur das Mustererkennungsverfahren
s: Anzahl hintereinander verlorener Pakete
nv Anzahl der zur Verschleierung verwendeten Pakete
max(p): Anzahl der moglichen Positionen im Suchbereich
Bei eigenen Horproben wurde eine deutliche Verbesserung der Sprachqualitat durch "Packet
Merging\ festgestellt. Der Aufwand hierfur ist als sehr niedrig zu bezeichnen, da nur die
zusatzliche Speicherung des der Lucke folgenden Paketes, sowie die Gewichtung und U berlagerung von 2lfit Abtastwerten notwendig sind. "Packet Merging\ wurde sowohl beim
Mustererkennungsverfahren, wie auch bei zu glattenden Sprungstellen bei den beiden anderen vorgestellten Verfahren (! Kap. 4.2, 4.3) verwendet.
U berraschenderweise wird in [GWDP88], S.347 berichtet, da das "Packet Merging\Verfahren praktisch keinen Ein
u auf das Ergebnis subjektiver Sprachqualitatstests hatte. Moglicherweise ist das auf die gewahlte sehr niedrige U berlappungslange von lfit = 8
Abtastwerten zuruckzufuhren ([GLWW86], S.1441). Um die Lange des U berlappungsbereiches lfit angemessen zu wahlen, wurden Horproben mit Werten im Bereich [ 16L ; L2 ] durch-
17
lout
lin
S
x(n) , y(n)
L+lfit
Paket 1
Paket 2
L+l fit
0.25
Paket 3
Paket 4
Paket 5
pmax
0.2
m(n)
0.15
(A)
0.1
(B)
0.05
0.05
0.1
0.15
0
10
20
30
40
50
60
70
80
90
100
L+2lfit
Abbildung 4.2: Schematische Darstellung des "Packet Merging\ (U berlagerung an den
Randstellen)
gefuhrt. Bei lfit = 16L = 10 Abtastwerten konnten hierbei, insbesondere bei Testsignalen
mit Sprechern tieferer Stimmlage, Qualitatseinbuen im Vergleich mit groeren U berlappungslangen festgestellt werden. Schlielich wurde fur lfit 20 Abtastwerte festgelegt.
Dieser Wert stellt einerseits eine Beseitigung von storenden Sprungstellen im Sprachsignal
sicher, lat aber andererseits den Inhalt des nachfolgenden Datenpaketes weitgehend unverandert. Als U berlappungsfenster wurden halbseitige Hann-Fenster verwendet (! Abb.
4.3).
Da das Verhaltnis lfit
L relativ klein ist, wurde die Eingangslange lin beibehalten, wodurch
sich ein etwas kleinerer Suchbereich ergab (! max(p) = S 0 M = 200 Abtastwerte, vgl.
Tab. 4.1)
18
4.1.3 Amplitudenanpassung
Zur weiteren Qualitatsverbesserung wurde in [GLWW86] die Amplitudenanpassung ("Amplitude Adjustment\) des fehlenden Paketes an das vorhergehende Paket eingefuhrt. Der
Faktor der Amplitudenanpassung wird aus den Energien der zu untersuchenden Sprachsignalsegmente gewonnen: (! Abb. 4.1)
v
u
u
tLX1 x2 (S + n)
A = v n=0
AF u
LX1
u
u
2
u
tn=0 x| (p +{zM + n})
(4.3)
F 2 (n)
x(S + L + n) = AA F (n)
F
(4.4)
wR;H (n)D(L + lfit + n) + wL;H (n)F (n) = y(S 0 + L + n); 0 n < lfit
1
0.9
wR,H (n)
0.8
0.7
0.6
0.5
0.4
0.3
0.2
wL,H (n)
0.1
0
0
10
12
14
16
18
20
14
16
18
20
1
0.9
0.8
8 1 1 (n+1)
<
wR;H (n) = : 2 2 cos( lfit+1 ) : 0 n < lfit 1
0 : sonst
8
<
wL;H (n) = : 1 wR;H (n) : 0 n < lfit 1
0 : sonst
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
10
12
19
L+2l fit
(overlap)
D(n)
Paket 2
F(n)
(A)
Paket 3
Paket 4
(B)
y 2 (S 0 + L + n) =
(4.5)
{z
EDF (n)
2
2
|wL;H (n)F (n) + wR;H (n)w{zL;H (n)D(L + lfit + n)F (n})
EFD (n)
v
u
L+lfit 1
lfit 1
u
u
t X x2 (S 0 lfit + n) + X EDF (n)
n=0
A0 = v n=0
0
u
AF ulfitX1
L+lfit 1
u
t EFD (n) + X x2 (S 0 + L + lfit + n)
n=0
(4.6)
n=0
Bei Nichtberucksichtigung des U bergangsbereiches ware es moglich, da Peaks im Ersatzsegment unmittelbar vor der Lucke (Bereich (1), Abb. 4.4) extrem verstarkt werden, da
der Faktor AAF als zu hoch errechnet wurde. Andererseits kann es sein, das Signalspitzen
im U berlappungsbereich der Folge D(n) [Bereich (3)] nicht berucksichtigt werden und eine
20
starke A nderung der Amplitude beim U bergang von Segment D(n) nach F (n) auftritt.
So jedoch werden die Signale entsprechend gewichtet. Peaks in der Mitte des U berlappungsbereiches [(2)] gehen in Zahler und Nenner von AA0F0 ein, so da keine U ber- oder
Unteranpassung der Amplitude auftritt (! Abb. 4.3, Fensterfunktion wR;H (n)wL;H (n))
21
x(n) bewahren. Dabei darf sich die Form der Einhullenden des Sprachsignals nicht andern
(! Abb. 4.5).
x(n)
0.25
0.2
0.15
0.1
0.05
0.05
Perioden 1 2 3 4 5
0.1
500
T
1000
1500
y(n)
0.25
0.2
0.15
0.1
0.05
0.05
0.1
Perioden 1 2 3 4 5
T
0
500
1000
1500
2000
22
23
(2)
(2)
(1)
(1)
SS
SA
x(n) 1
(0)
0.5
0
0.5
1
0
100
y(n) 1
(0)
200
(1)
300
(2)
400
(3)
500
600
600
(4)
0.5
0
0.5
1
0
100
200
300
400
500
SS
'aa0 () =
X1 1
2
n=0
!
w(n) x(aSA + i + n + ) w(n) x (a 1)SA + SS + i + n
i=1{z
|
}
{z i=1
}
|
aX1
xa(n;)
aX1
xa0 (n)
(4.7)
In der Berechnung der Korrelation liegt auch der Unterschied zwischen WSOLA und dem
x(n)
1
0
w(n)x(n)
0
100
200
300
400
500
600
1
0
w(n)x(n)
1
y(n)
200
300
400
500
600
1
0
y(n)
x(n)
200
300
400
500
600
x(n)
200
300
400
500
600
100
200
300
400
500
600
100
200
300
400
500
600
100
200
300
400
500
600
100
200
300
400
500
600
100
200
300
400
500
600
100
200
300
400
500
600
x(n)
w(n)x(n)
1
0
600
1
0
y(n)
500
100
w(n)x(n)
1
0
400
1
0
300
100
1
0
200
100
1
0
100
1
0
1
1
24
1
0
y(n)
100
200
300
400
500
600
1
0
4
1
1
0
w(n)x(n)
4
100
200
300
400
500
600
100
200
300
400
500
600
100
200
300
400
500
600
1
0
y(n)
1
0
y (n) =
a=0
w(n aSS ) =! 1
wH(n) 1
0.9
0.8
0.7
0.6
0.5
1
2
25
1 cos( 2(n+1) )
2
F +1
: 0n<F 1
0 : sonst
0.4
0.3
0.2
0.1
0
0
20
40
60
80
100
120
140
160
180
200
y (n) =
NX1
a=0 |
wa (n)
(4.8)
xa(n)
In [VR93] sowie [Gru94] wurden eine groere Anzahl Horproben durchgefuhrt, bei denen
die Sprachqualitat fur Zeitdehnung und Zeitstauchung durchweg als "sehr gut\ bezeichnet
wurde. Dabei gab es keine Qualitatsunterschiede zwischen WSOLA und MWSOLA, so da
fur diese Arbeit der MWSOLA-Algorithmus aufgrund des niedrigeren Rechenaufwandes
ausgwahlt wurde.
In den Abb. A.1 - A.3 im Anhang sind Spektrogramme eines mit MWSOLA skalierten
Testsatzes dargestellt. Charakteristisch ist das sich der Spektralinhalt durch Zeitdehnung,
bzw. -stauchung praktisch nicht andert.
26
nL L
6
n
160
320
480
l
22
640
800
out
6
n
160
320
480
640
800
8
>
1 : 0 n < F2 1
>
<
w0(n) = > wH (n) : F 2 1 n F 1
>
:
0 : sonst
w0 (n)1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
20
40
60
80
100
120
140
160
180
200
8
F 1
>
>
< wH (n) : 0F 1 n < 2
wN 1(n) = >
1 : 2 nF 1
>
:
0 : sonst
wN-1(n)1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
20
40
60
80
100
120
140
160
180
200
8
>
>
< w0(n) : a = 0
wa(n) = > wH (n) : 0 < a < N 1
>
: wN 1 ( n ) : N 1
27
Fur die Lange des Eingangssignals, das vom MWSOLA-Algorithmus verwendet wird, gilt:
lin = nv L ~lin
(4.9)
X
()
mit ~lin = (N 1)SA + a + F (N 1)SA + F
N 1
()
NX1
a=1
a=1
a (N 1)SA + F
(4.10)
(4.11)
(4.12)
~lout ! lout
(4.13)
Sonst wurden storende Folgen von Abtastwerten des Wertes Null in das Signal gebracht.
Als Verhaltnis von Eingangs- zu Ausgangslange wird der Parameter
= llin
out
deniert.
28
fA: Abtastfrequenz
fmin : minimal vorkommende Sprachgrundfrequenz
. Als minimal vorkommende
Fur alle vorkommenden Beispiele gilt fA = 8000 Abtastwerte
s
Sprachgrundfrequenz wurde fmin = 80 Hz angenommen. Das ergab eine minimale Segmentlange von Fmin = 200 Abtastwerten. Sollte die Sprachgrundfrequenz unterhalb der
Minimalfrequenz liegen, sucht der Algorithmus nicht mehr die ganze Signalperiode nach
dem Punkt hochster Korrelation ab. Eine deutliche Absenkung der Sprachqualitat ist (bei
einer Reihe von Horproben) jedoch erst fur groere Abweichungen von der Minimalfrequenz festgestellt worden (fur fmin = 80 Hz ab ca. 65 Hz).
Die theoretische obere Grenze ergibt sich wie folgt:
Fmax = lin 1
(4.15)
Fur die Segmentlange F als Funktion der Segmentanzahl N gilt mit Gl.(4.10) und
SS = F 2+1 bei gegebener Ausgangslange lout :
(N 1) ; F = 2i + 1; i 2 IN
(4.16)
F (N ) = 2lout N +
1
Hier sollte N moglichst gro sein (und damit F (N ) moglichst klein), um den kurzzeitigen
A nderungen im Sprachsignal Rechnung tragen zu konnen. Auerdem gilt nach Gl.(4.13)
!
!
lout ~lout , wobei " = lout ~lout 0 moglichst klein sein sollte, um den Informationsverlust
moglichst gering zu halten.
Aus Gl.(4.16) ergibt sich auch eine obere Schranke fur N:
+ 1) ; N 2 IN
Nmax (lout ) = 2lout F (Fmin
(4.17)
max
min + 1
29
Der in Abb.4.11 angegebene Algorithmus wird angewandt, um die Parameter mit einer
Genauigkeit " "min der Ausgangslange zu bestimmen. Die Analyseschrittweite SA wird
nun gema den Gln.(4.9) und (4.10) geschatzt:
(4.18)
SA = lNin F1 ; SA 2 IN
setze = min
setze N = Nmax
berechne (ganzzahlige) Segmentlange F(N)
setze N = N - 1
ja
und
nein
ist N > 1 ?
berechne S a
beginne MWSOLAAlgorithmus
nein
setze = + 1
= llin = (N 1)linS + F =
out
S
2
l
in
= (N 1) + (N + 1)F
(4.19)
Man erkennt, da fur den uns interessierenden Fall der Zeitdehnung kurzer Sprachsegmente (bei dem nicht F lin gilt) sich im Vergleich zu wesentlich kleinere Faktoren
und damit extreme Dehnungen ergeben konnen. In Abb. 4.12 sind hierzu der Zeitskalierungsfaktor (F ) und das korrespondierende Verhaltnis von Eingangs- zu Ausgangslange
(lout ) = (F ) aufgetragen. Fur starke Dehnungen weicht sehr stark von ab und
wird sehr klein. Das bedeutet, da die Analyseschrittweite SA = SS oft nur noch einige
Abtastwerte betragt. Dann kann praktisch nicht mehr von einer sinnvollen Zeitdehnung
30
10
10
10
N=2
3
N=4
10
N=8
l = 480
in
10
50
100
150
200
250
300
350
400
450
500
aX1
i=1
i + F + a lin
Das bedeutet, da eventuell wahrend des Ablaufs des Algorithmus der a -Wertebereich
eingeschrankt werden mu. Dadurch kann es vorkommen, da am Schlu des Eingangssignales kein optimales U berlagerungssegment mehr gefunden wird. Der Algorithmus wird
jedoch das im Suchbereich liegende am besten passende Segment verwenden, so da auer
bei extremer Beschrankung des a -Bereiches keine Qualitatseinbuen auftreten.
Fur die folgenden Versuche mit dem Algorithmus (Verlust von s Paketen hintereinander,
Verschleierung mit nv Paketen) wurden die hervorgehoben Werte fur verwendet:
nv
31
2
3
4
5
0,66 0,75 0,8 0,83
0,50 0,60 0,66 0,71
0,40 0,50 0,57 0,625
in
Tabelle 4.2: Wahl von = s+nvnv = llout
in
6
n
160
320
480
(A)
800
(B)
l out + l fit
2
640
6
n
160
320
480
640
800
l fit
32
Verfahren eine U berlagerung mit dem an die Lucke angrenzenden Signalsegment durchgefuhrt (! Abb. 4.13). Im Gegensatz zum "Pattern Matching\-Verfahren mu hier allerdings nur am Punkt (B) uberlagert werden, da ja am Punkt (A) die Phasenkontinuitat
gewahrleistet ist. Hierdurch konnte die erzielte Sprachqualitat deutlich gesteigert werden.
Bei einer Paketlange L = 160 Abtastwerten wurde die Lange des U berlappungsbereiches, nach eingehenden Horproben, wie beim Mustererkennungsverfahren auf lfit = 20
Abtastwerte festgelegt.
4.3.1 Einfuhrung
In der Literatur ([RS78]; [EH93], S.77-81) werden zahlreiche Verfahren zur Schatzung
der Sprachgrundperiode vorgestellt, die sich in die in Tabelle 4.3 aufgefuhrten Gruppen
einteilen lassen.
Die Verfahren der Gruppen c),d) und e) (! Tab. 4.3) sind wesentlich rechenintensiver als
die Verfahren a) und b) und wurden deshalb aufgrund der zu erfullenden Echtzeitanforderungen nicht weiter berucksichtigt. In [GLWW86], S. 1443 wird ein Verfahren gema b)
4
pa = aSA +
aX1
i=1
i ; pa = (a 1)SA + SS +
0
a 1
X
i=1
a)
b)
c)
d)
e)
33
Bereich
Methode
Zeit
Autokorrelationsfunktion (AKF)
Zeit
Parallelverarbeitung mit Peak-Detektoren
Zeit
Lineare Pradiktion (LP)
Frequenz
Kurzzeit-Fourierspektrum (STFT)
Zeit, Frequenz
Cepstrum
'x0x0
nvX
L 1
n=0
(4.20)
Hierbei ist Tmin die minimal mogliche Sprachgrundperiode (in Abtastwerten). Diese untere
Grenze wird festgelegt, um auftretende Zwischenmaxima in der Autokorrelationsfunktion, die nichts mit der Sprachgrundperiode zu tun haben, zu unterdrucken. Gleichzeitig
wird naturlich auch der Rechenaufwand verkleinert. Tmax entspricht der maximal vor1 ).
kommenden Sprachgrundperiode, also der minimalen Sprachgrundfrequenz (fmin = Tmax
Um auch fur Sprachgrundperioden nahe Tmax eine sinnvolle Korrelationsberechnung zu
5
34
lin = nv L 2Tmax
(4.21)
Tmin = 20 Abtastwerte (fmax = 400Hz) und Tmax = 160 (fmin = 50Hz) erschienen als
untere, bzw. obere Grenze fur die Sprachgrundperiode passend.
Tmax = 80 (fmin = 100Hz; nv = 1) ist fur mannliche Sprecher mit tiefer Stimmlage
nicht ausreichend. Das bedeutet, da fur die Horproben und den subjektiven Vergleich
(! Kap. 5) unabhangig von der Zahl der aufeinanderfolgenden verlorenen Pakete (s = 1
oder s = 2) mit nv = 2Tmax
L = 2 Paketen verschleiert wurde (vgl. Tab. 4.1, 4.2).
Ist nun gema Gl. (4.20) der Punkt pmax = T gefunden (erstes lokales Maximum der
AKF), so wird die Folge x0 (n T ); lin n < lin + T (! Abb. 4.14 b ) solange im
Ausgangssignal aneinandergereiht (! Abb. 4.14 c ), bis die Lucke geschlossen ist. Am
Randpunkt (A) ist somit die Phasenkontinuitat gewahrleistet. Durch leichte Sprachgrundfrequenzanderungen, die im fehlenden Paket aufgetreten sind, kann es jedoch zu einer
Sprungstelle am Punkt (B) kommen (siehe auch [VA89]). Analog zu den bisher vorgestellten Verfahren wird deshalb auch hier eine U berlappung am Punkt (B) vorgenommen.
Zusatzlich zur U berlagerung am Punkt (B) wird auch am Punkt (A) und an den Schnittstellen der Perioden [im Beispiel: (1) - (4)] das "Packet Merging\-Verfahren angewandt,
da es sonst bei Fehlschatzungen der Periode zu extremen Storungen im Sprachsignal kommen wurde. Die Durchfuhrung dieser U berlappungen benotigt nur wenig Rechenaufwand
und beeintrachtigt das Sprachsignal bei richtiger Periodenschatzung uberhaupt nicht. In
Abb. 4.15 ist die Vorgehensweise illustriert.
lfit wurde, wie in Kap, 4.1 erlautert, zu 20 Abtastwerten gewahlt.
35
l in = nv L
x(n)
0.8
0.6
0.4
0.2
a)
0
0.2
0.4
0.6
0.8
1
0
100
Paket 1
x(n-pmax)
200
300
400
Paket 2
500
Paket 3
600
Paket 4
pmax = T
0.8
0.6
0.4
0.2
b)
0
0.2
0.4
0.6
0.8
1
0
100
Tmin pmax
y(n)
200
300
400
500
600
400
500
600
Tmax
1
0.8
0.6
0.4
0.2
c)
0
0.2
0.4
0.6
0.8
1
0
100
200
300
(A)
(B)
36
l out
x(n-pmax)
l in = nv L
1
T + l fit
0.8
0.6
0.4
0.2
b)
0
0.2
0.4
0.6
0.8
1
0
100
Tmin pmax
200
300
400
500
600
300
400
500
600
Tmax
1.5
0.5
0.5
0
100
200
(A)
y(n)
(B)
0.8
0.6
0.4
0.2
c)
0
0.2
0.4
0.6
0.8
1
0
100
Paket 1
200
300
Paket 2
400
Paket 3
500
600
Paket 4
Kapitel 5
Vergleich der Algorithmen
5.1 Objektiver Vergleich
5.1.1 Theoretische Erfolgswahrscheinlichkeit einer
Fehlerverschleierung
Sprachsignale bestehen aus Bereichen unterschiedlichen Energiegehalts und unterschiedlicher Periodizitat (! Kap.2.1, Abb. 2.1). Demzufolge wird eine Fehlerverschleierungsmethode der "Waveform Substitution\-Gruppe scheitern, wenn:
das fehlende Sprachsegment der Lange sL 1 so lang ist, da das Sprachsignal nicht
mehr als stationar angenommen werden kann (fur Paketlangen L = 160 Abtastwerte
(20 ms Sprache bei fA = 8 kHz) ist das fur s > nL = 2 der Fall2 (! S.31 u. Tab.
3.1).
bereits in einem Segment der Lange sL nLL ein U bergang zwischen unterschiedlichen Sprachsignalbereichen aufgetreten ist
der Abstand zwischen zwei zu verschleiernden, fehlenden Segmenten zu klein ist (d.h.
1
2
37
38
(1-p )
(1-p )
(1-p )
(1-p )
p
5
(1-p )
Paket
8 s
< p : 0 s nL
pt;s(s) = : t
0 : s > nL
(5.1)
(5.2)
Um die auftretende Fehlstelle zu verschleiern, ist eine Sequenz von mindestens nv aufeinanderfolgenden Paketen notwendig. Die Wahrscheinlichkeit fur das Auftreten einer solchen
Sequenz betragt (! Tab. 4.1,4.2 und S. 34):
8
< (1 pL)s+2 : 0 s nL; fur PATMAT, MWSOLA
pv (s) = (1 pL)nv = :
(1 pL)2 : fur "Pitch Waveform Replication\
(5.3)
Aus den Gln. (5.1) - (5.3) folgt nun die Wahrscheinlichkeit einer erfolgreichen Verschleierung:
1
X
(5.4)
P = pt;s(s)pL;s(s)pv (s) =
s=0
8
0
1
< pt pL(1 pL ) : fur PATMAT, MWSOLA
@mit p = :
A
ptpL : fur "Pitch Waveform Replication\
39
1
X
3
= (1 pL) (1 1 [s (nL + 1)])ps =
s=0
!
1
1
X
X
s
3
1 [s (nL + 1)] ps (=)
p
= (1 pL)
s=0
s=0
(nL +1) !
1
p
3
= (1 pL)
=
1 p
1 p
(nL +1)
= (1 pL)3 1 1p p
()
1
X
s=nL+1
ps =
1
X
x=0
p(s+[nL+1]) = p(nL+1)
1
X
x=0
ps
Fur englische Sprache wird in [GLWW86] eine Anzahl von 5; 2 Bereichsubergangen pro
Sekunde, die poissonverteilt sind, angegeben. Daraus ergibt sich die Anzahl der Bereichsubergange pro Paket:
ange=s
5; 2 Uberg
nt = 8000
Abtastwerte=s 160 Abtastwerte=Paket = 0; 104 Ubergange=Paket
Somit folgt fur pt :
pt = e
nt
1 nt = 0; 896
(5.5)
In Abb. 5.2 ist fur diesen Wert von pt die Erfolgswahrscheinlichkeit P in Abhangigkeit
der Paketverlustwahrscheinlichkeit pL aufgetragen. Wird auch fur "Silence Substitution\
angenommen, da der jeweiligen Lucke nv = 2 Pakete vorangehen mussen, um eine noch
verstandliche Sprache zu haben, ergibt sich fur Gl. (5.4) mit nL = 0: P = (1 pL )3. Unter
dieser Annahme und unter Vorraussetzung einer sehr guten Qualitat des Ersatzsegmentes
ergibt sich aus Abb. 5.2 eine hohere tolerierbare Paketfehlerwahrscheinlichkeit pL. Geht
man aber bei "Silence Substitution\ als Qualitatsma von der Eintrewahrscheinlichkeit
(1 pL) eines Paketes aus, zeigt sich, da die fehlerverschleiernden Algorithmen durchaus
haug aufgrund dicht aufeinanderfolgender Paketverluste nicht anwendbar sind (vgl. Tab.
6.3, S. 81)
40
P
0
10
Silence
Silence
(1-p L)
(1-p L) 3
MWSOLA / PATMAT
PWR
10
10
10
10
5.1.2 Rechenaufwand
In den Tab. 5.1 und 5.2 ist fur die drei vorgestellten Verfahren (bei Anwendung von
"Packet Merging\) der Rechenaufwand anhand von Anzahl der Korrelationsberechnungen, zusatzliche Multiplikationen und zusatzliche Additionen gegenubergestellt. Hierbei
werden nur Operationen bezuglich der Eingabedaten berucksichtigt. Der Aufwand fur
eine Korrelationsberechnung wird in Tab. 5.3 aufgefuhrt. Er ist fur "Pattern Matching\
(PATMAT), "Pitch Waveform Replication\ (PWR) und WSOLA etwa gleich. Beim vorgestellten MWSOLA-Verfahren reduziert sich der Aufwand um die Halfte. Der Rechenaufwand fur eine Korrelationsberechnung lat sich allgemein unter Ausnutzung einer FFT
sehr verringern. Aus den Tab. 5.1 und 5.2 ergibt sich, da die aufzuwendende Rechenleistung fur die Verfahren "Pattern Matching\ (PATMAT) und "Pitch Waveform Replication\ (PWR)\ in etwa vergleichbar und im Vergleich zu MWSOLA deutlich niedriger
ist. Beim MWSOLA-Algorithmus ist anzumerken, da deutlich mehr Korrelationsberechnungen pro Fehlstelle auszufuhren sind. Problematisch ist auerdem, da die Korrelation
der gewichteten Signalabschnitte berechnet werden mu. Hierzu ist eine hohe Zahl von
zusatzlichen Multiplikationen notig
In Abb. 5.3 ist die notwendige Anzahl der Operationen fur die einzelnen Verfahren fur
das Beispiel der Verschleierung eines fehlenden Paketes gegenubergestellt.
1 Paket
1
1
4lfit AAa : 8lfit + 2L
6lfit 2( TL + 2)lfit 20lfit
2lfit
AA : 6lfit
L
3lfit ( T + 2)lfit 10lfit
41
2 Paketen
1
1
4lfit
AA : 8lfit + 2L
8lfit 2( TL + 2)lfit 36lfit
2lfit
AA : 6lfit
L
4lfit ( T + 2)lfit 18lfit
Verschleierung von
1 Paket
2 Paketen
Korrelationsberechnungen 1 N 1 6
1N 17
zusatzl. Multiplikationen (N 1) F 2 1 (SS 2) + F > (N 1) 9900 + 200 3
(WSOLA: > (N 1) 19800 + 200)
Overlap: NF
Fit: 2lfit
zusatzl. Additionen
Add: (N 1)F
Fit: lfit
SNR = 10 lg X
l 1
n=0
n=0
x2 (n)
[x(n)
y(n)]2
dB
(5.6)
42
x 10
8
7
6
5
4
MUL
3
2
ADD
MUL
ADD
MUL
ADD
MWSOLA
PATMAT
PWR
l 1
X
n=0
x2 (n) + (1 pL) 0
43
SNRSS = 10 lg (pL) 1 dB
Beispielsweise ist fur ein Testsignal mit einer Paketverlustwahrscheinlichkeit pL = 0; 2
SNRSS = 6; 99 dB (gemessen: SNRSS;m = 7; 03 dB ). Fur eine Verschleierung mit
dem "Pattern Matching\-Verfahren (PATMAT), mit dem eine deutliche Verbesserung
der Sprachqualitat erzielt wird, erhalt man SNRPATMAT = 4; 66 dB . Das subjektiv beste Ergebnis fur dieses Testsignal wurde mit dem MWSOLA-Algorithmus erzielt, wobei
SNRMWSOLA allerdings nur 1; 25 dB betrug.
Das macht deutlich, da das SNR ein schlechtes Kriterium zur Sprachqualitatsbewertung
ist. Das ist darauf zuruckzufuhren, da keinerlei subjektive Sprachattribute vom SNR mathematisch erfat werden. Alle Fehler im Zeitsignal werden gleich gewichtet, obwohl sie zu
unterschiedlich starken Storungen des Sprachwiedergabe fuhren. Insbesondere fur einen
Vergleich der drei Fehlerverschleierungsalgorithmen erscheint das SNR nicht geeignet, da
ja der MWSOLA-Algorithmus wesentlich mehr Pakete pro Verschleierung verandert (!
Tab. 5.4), und somit auf jeden Fall eine geringeres SNR bei gleicher Paketverlustwahrscheinlichkeit hat.
veranderte Pakete vor der Fehlstelle an der Fehlstelle nach der Fehlstelle
MWSOLA
s+2
s
1
PATMAT/PWR
1
s
1
Tabelle 5.4: Veranderte Pakete pro Verschleierung einer Sequenz von s Paketen
Ein objektives Qualitatsma, das zumindest berucksichtigt, da das Sprachsignal nichtstationar ist (also sich die Sprachenergie kurzzeitig deutlich andern kann), ist das segmentorientierte Signal-Rausch-Verhaltnis SNRseg , welches auch im Zusammenhang mit der
Fehlerverschleierung als "SNR per missing packet\ bezeichnet wird ([GLWW86],[JC81]).
Hierbei werden SNR-Werte uber kurze Signalabschnitte (z.B. die Paketlange L) berechnet, aus denen dann das arithmetische Mittel gebildet wird. Es wird eine obere und untere
Schranke fur die einzelnen SNR gesetzt, um eine Verzerrung des Meergebnisses durch
Originalpakete, die Stille enthalten, bzw. verschleierte Pakete, welche fast die Informati-
44
45
Verstandlichkeitstests ("intelligibility\)
Qualitatstests ("quality\)
Fur die Untersuchung der in Kap. 4 vorgestellten Algorithmen sind Qualitatstests angebracht, da das Ziel einer Fehlerverschleierung ist, das durch Paketverluste gestorte
Sprachsignal fur den Horer angenehmer zu machen. Allerdings hangen die Begrie Sprachverstandlichkeit und Sprachqualitat durchaus zusammen: Gute Sprachqualitat impliziert
gute Verstandlichkeit. Eine Fehlerverschleierung kann, obwohl sie eben nicht verloren gegangene Daten rekonstruiert, zur Erhohung der Verstandlichkeit des restlichen, fehlerlos
empfangenen Sprachsignals, beitragen.
Sprachqualitat (Sprachgute) ist ein mehrdimensionales Merkmal. Daraus ergeben sich die
folgenden Eigenschaften von subjektiven Sprachqualitatskriterien (insbesondere im Vergleich mit objektiven Qualitatskriterien):
Vorteile:
unterschiedlichste Verfahren, die auch unterschiedliche Storungen in das Sprachsignal bringen, konnen in Relation gesetzt werden (MWSOLA $ PATMAT/PWR)
46
Nachteile:
unter Umstanden hangen die subjektiven Testergebnisse stark von den verwende-
ten Testsignalen ab (gilt in gewissem Ma auch fur die objektiven Qualitatsmae):
Sprecher (Sprachgrundfrequenz), Lange der Testsignale, Worte des Testsatzes, Aufnahmequalitat (U bersteuerung), Plazierung der Fehlstellen im Testsignal
47
5.2.1.1 Praferenzmethoden
Isopraferenzmethode ("isopreference method\)
Das Testsignal (d.h. in unserem Fall, das durch einen Fehlerverschleierungsalgorithmus
bearbeitete gestorte Signal) wird direkt mit Referenzsignalen unterschiedlichen Storgehalts verglichen ([DPF89]). Der Grad der Storung des Referenzsignals wir durch einen
Parameter, typischerweise dem SNR, beschrieben. Der Isopraferenzwert des Testsignals
ist nun der Parameterwert des Referenzsignals, bei dem die Gruppe der Testpersonen sich
zu 50% fur, bzw. gegen das Testsignal entscheidet. Fur eine Anwendung in Bezug auf
Fehlerverschleierung stellt sich die Frage nach einem geeigneten Testparameter, der Vergleiche zwischen der Leistungsfahigkeit der einzelnen Algorithmen zulat. Ein SNR ist
aus den in Kap. 5.1.3 genannten Grunden nicht sinnvoll. Es ware z.B. bei Codierern, bei
dem man einen Quantisierungsparameter variieren kann, angebracht. Auch eine zunehmende Verschlechterung des Originalsignals anhand der Paketverlustwahrscheinlichkeit
pL erscheint nicht sinnvoll, da somit vom Horer vollig unterschiedliche Artefakte in Relation zueinander gesetzt werden mussen (z.B. "blecherner Klang\ beim fehlerverschleierten
Signal und "ungleichmaig/unterbrochenes Signal\ beim unbehandelten, durch Paketverluste gestorten Referenzsignal).
Zieht man auch noch den hohen zu erwartenden Zeitaufwand in Betracht (jedes Testsignal
mu mit einer Reihe von Referenzsignalen verglichen werden), scheidet die Isopraferenzmethode fur die Anwendung in Bezug auf Fehlerverschleierungsverfahren aus.
Methode der relativen Praferenz
("relative preference method\, "paired comparisons\)
Wie bei der Isopraferenzmethode wird das Testsignal direkt mit Referenzsignalen unterschiedlichen Storgehalts verglichen. Dabei tritt fur Fehlerverschleierungsverfahren naturlich
auch das oben beschriebene Problem der Wahl eines geeigneten Testparameters auf. Hier
werden aber auch die Referenzsignale untereinander verglichen. Damit wird eine Skala
erzeugt, die es moglich macht, die Ergebnisse der Vergleiche Testsignal/Referenzsignal
einzuordnen.
Fur eine Beurteilung der Fehlerverschleierungsalgorithmen ware es sinnvoll eine Skala aus
den Vergleichen von Original, einigen unbehandelten, gestorten Signalen, sowie einem alle
Artefakte enthaltenden, eigens erzeugten Extrembeispiel zu bilden. Dann sollten auch die
48
Testsignale der einzelnen Algorithmen untereinander ([BS85], S.33) und mit den Referenzsignalen verglichen werden , und zwar in den beiden moglichen Reihenfolgen AB und BA.
Sehr positiv an dieser Methode ist, da (im Gegensatz zu den weiter unten besprochenen
Methoden) nur eine Entscheidung zwischen zwei Alternativen (A oder B ) durch die Testperson notwendig ist. Das hat zur Folge, da auch geringe Guteunterschiede zwischen den
Testsignalen unterschieden werden konnen.
Nachteilig ist der hohe Aufwand. Zum Test von a Algorithmen ist die Generierung und
der Test der folgenden Signale notig:
ref = z + 2 Referenzsignale:
{ Original: x(n)
{ z unbehandelte, gestorte Signale mit Paketverlustwahrscheinlichkeiten pL;i:
xL;i (n); i 2 [1; z]
{ extrem schlechtes Signal mit allen Artefakten: xwc(n)
test = a z Testsignale ya;z (n)
(Fur alle a Algorithmen mussen die z gestorten Signale verschleiert werden)
Fur o Originale x(n) ergeben sich o(ref + test)(ref + test 1) notwendige Vergleiche, also
mu jede Testperson b = 2o(ref + test)(ref + test 1) Beispiele anhoren. Fur z = 2,a = 3
und o = 4 verschiedene Originalsignale ergeben sich b = 720 Beispiele.
Bewertet man Referenz- und Testsignale getrennt und verzichtet man auf die Prasentation
von beiden Reihenfolgen AB und BA. so erhalt man:
49
50
Problematisch ist, da manche Testpersonen grundsatzlich schlechter, bzw. besser als andere bewerten (! Einleitung Kap. 5.2), wodurch sich eine hohe Streuung der Resultate
ergeben kann. Es sollte also auch die Standardabweichung eines Testmittelwertes Berucksichtigung nden. Weiterhin ist die subjektive Skala einer Testperson im allgemeinen nicht
aquidistant aufgeteilt, so da sich weitere Verzerrungen im Ergebnis bilden. Insgesamt ist
es also immer kritisch, Urteile verschiedener Personen zusammenzufassen.
Hauptvorteil der Gutekategoriemethode ist der geringe (Zeit-)Aufwand fur die Durchfuhrung (vgl. S.48). Die Anzahl der zu prasentierenden Beispiele ist o(ref + test). Fur die
Parameterwahl von S. 48 ergibt sich eine Belastung der Testperson mit nur b = 40 Horbeispielen. Daraus resultiert ein relativ geringer Zeitaufwand zur Testdurchfuhrung und eine
Ermudung, bzw. Unkonzentriertheit der Testpersonen wird sehr unwahrscheinlich. Besonders hervorzuheben ist bei dieser Methode die im Fall der hier untersuchten Fehlerverschleierungsverfahren ja sehr wichtige Eigenschaft, Verfahren die sehr unterschiedliche
Storungen ins Ausgangssignal y(n) bringen in Beziehung zu setzen.
Der Gutekategorietest mit MOS-Auswertung ist aus diesen Grunden das am meisten verwendete subjektive Sprachqualitatsbewertungsverfahren ([ST89], [Yon92], [Pap87]).
51
Original x(n)
unbehandeltes, gestortes Signal mit pL;1 = 20% : xL;41 (n)
52
(deterministisches Unterdrucken von drei Paketen nach zwei unveranderten Paketen; Dehnung der zwei Pakete zwischen den Lucken auf funf Pakete mit Hilfe von
MWSOLA ohne "Packet Merging\; zusatzliches Einfugen von Nullfolgen an den
Dehntrennstellen; durch die extrem starke Dehnung (! Abb. 4.12, S. 30) entstehen neben MWSOLA-eigenen Storkomponenten wie "gedehnt\ auch solche, die fur
PATMAT ("hallend\) und PWR ("blechern\), sowie die unbehandelten Beispiele
("unterbrochen\) typisch sind
Einem deterministischen anstatt einem zufalligen Unterdrucken von Paketen wurde der
Vorzug gegeben, weil:
die Algorithmen genau dieselben Fehlstellen bearbeiten und so mit einer geringeren
Anzahl von Testbeispielen vergleichbar werden
von der Leistungsfahigkeit der Algorithmen zu bekommen. Fugt man zufallig Fehlstellen ein, konnen einige Lucken, da sie zu dicht zusammenliegen, nicht bearbeitet
werden und verfalschen so den Gesamteindruck.
53
0.5
0.5
0
500
1000
1500
2000
2500
500
1000
1500
2000
2500
500
1000
1500
2000
2500
x (n) 0.5
L,41
0
0.5
0
y(n)
PATMAT
0.5
0.5
0
blechern/metallisch
lallend/gedehnt
ungleichmaig unterbrochen
Die Testpersonen konnten auerdem weitere charakteristische Merkmale notieren. Als
Testpersonen standen 13 Personen (9 mannlich, 4 weiblich) zur Verfugung, die zum uberwiegenden Teil keine der zu beurteilenden Signale schon gehort hatten. Zum Abspielen
der Test- und Referenzsignale wurde eine SPARCstation 20 mit Kopfhorer benutzt, die
sich in einem Raum mit einem geringen Hintergrundgerauschpegel befand. Den Testpersonen wurde zunachst Testablauf und Bewertungsskala genau erklart. Dann wurde, um die
54
Personen mit der Qualitatsbandbreite vertraut zu machen das Original x(n) (Kategorie
5) und das Extrembeispiel xWC (n) (Kategorie 1) vorgespielt ("Anchoring\). Die Reihenfolge der vier Testabschnitte mit den jeweils verschiedenen Testsatzen, bzw. Sprechern
(mannlich/hohe Stimmlage [mh], mannlich/tief [mt], weiblich/hoch [wh], weiblich/tief
[wt]) wurde dabei zufallig gewahlt. Den Testpersonen wurde es ermoglicht, zu Anfang jedes
Testabschnitts oder auch zwischen den zu beurteilenden Signalen, das Originl und/oder
das Extrembeispiel nochmals zu horen. Nach dem "Anchoring\ wurden in schneller und
zufalliger Reihenfolge, die vier Referenz- und sechs Testsignale prasentiert.
5.2.2.3 Ergebnisse
Fur alle vier Testsatze wurde getrennt der Mittelwert M aus den Beurteilungen errechnet
(! Gl. (5.7), Abb. 5.6 - 5.9), sowie die Standardabweichungen der Mepunkte ermittelt.
Auerdem wurde noch ein Gesamtresultat M durch Mittelung aus den Ergebnissen fur die
einzelnen Testsatze errechnet (Abb. 5.5). Hinzu kommen noch die Komponentenbewertungen fur die einzelnen Testsatze (Abb. 5.10 - 5.135). Die Testpersonen, soweit sie uberhaupt
eine zusatzliche Kategorie nannten, fuhrten sehr oft "hallend\, bzw. "Hall\/"Echo\ an.
Somit wurde diese Komponente zusatzlich in die Auswertung mit einbezogen.
M
Original
4.5
3.5
2.5
Original/WC
Silence Substitution
MWSOLA
PATMAT
1.5
1
0
PWR
Worst Case
0.05
0.1
0.15
0.2
0.25
L,41
0.3
L,42
pL
55
s=1 s=2
1,19 1,21
1,13 1,00
1,02 0,67
Tabelle 5.7: Verbesserung M durch Fehlerverschleierung
Algorithmus
MWSOLA
PWR
PATMAT
mh
5
4.5
3.5
2.5
Original/WC
Silence
MWSOLA
PATMAT
PWR
1.5
1
0
0.05
0.1
0.15
0.2
0.25
0.3
0.2
0.25
0.3
pL
mh
1.5
0.5
Original
Worst Case
0
0
0.05
0.1
0.15
pL
56
mt
5
4.5
3.5
Original/WC
Silence
2.5
MWSOLA
PATMAT
PWR
1.5
1
0
0.05
0.1
0.15
0.2
0.25
0.3
mt
1.5
0.5
Worst Case
Original
0
0
0.05
0.1
0.15
0.2
0.25
0.3
pL
57
wh
5
4.5
3.5
2.5
Original/WC
Silence
MWSOLA
PATMAT
1.5
1
0
PWR
0.05
0.1
0.15
0.2
0.25
0.3
wh
1.5
0.5
0.05
0.1
0.15
0.2
0.25
0.3
pL
58
wt
5
4.5
3.5
3
Original/WC
2.5
Silence
MWSOLA
PATMAT
PWR
1.5
1
0
0.05
0.1
0.15
0.2
0.25
0.3
wt
1.5
0.5
Worst Case
Original
0
0
0.05
0.1
0.15
0.2
0.25
0.3
pL
mh BLECHERN
mt BLECHERN
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
0.1
0.2
0.3
0
0
wh BLECHERN
0.2
0.3
0.3
wt BLECHERN
0.8
0.6
0.6
0.4
0.4
0
0
0.1
0.8
0.2
59
0.2
0.1
0.2
0.3
0
0
0.1
0.2
mh UNTERBROCHEN
mt UNTERBROCHEN
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0
0
0.1
0.2
0.3
0
0
wh UNTERBROCHEN
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0.1
0.2
0.3
0.2
0.3
0.3
0.8
0
0
0.1
wt UNTERBROCHEN
0
0
0.1
0.2
K0.5
K 0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0
0
0.1
0.2
0.3
wh HALLEND
K0.5
0
0
K 0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
60
mt HALLEND
0.1
0.2
0.3
0.3
wt HALLEND
0.1
0
0
0.1
0.2
0.3
0
0
0.1
0.2
mh GEDEHNT
K0.25
0.2
0.2
0.15
0.15
0.1
0.1
0.05
0.05
0
0
K 0.25
0.1
0.2
0.3
wh GEDEHNT
0
0
K0.25
0.2
0.2
0.15
0.15
0.1
0.1
0.05
0.05
0
0
0.1
0.2
0.3
0
0
mt GEDEHNT
0.1
0.2
0.3
0.3
wt GEDEHNT
0.1
0.2
x(n)
(n)
L,42
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0.1
0.1
0.2
0.2
0.3
0.3
0.4
200
400
600
800
1000
1200
1400
1600
1800
0.5
0
y(n)
F GH I K L
C D E
200
400
600
800
1000
1200
1400
1600
1800
1200
1400
1600
1800
0.5
C D E B C F
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0.1
0.1
0.2
0.2
0.3
0.5
0
y(n)
0.5
0.4
0.4
0.5
0
0.4
61
C D E E E E F
0.3
PATMAT
200
400
0.4
600
800
1000
1200
1400
1600
1800
PWR
0.5
0
200
400
600
800
1000
y(n)
0.5
F G
0.4
K L
0.3
0.2
0.1
0
0.1
0.2
0.3
0.4
MWSOLA
..
("ruckwartsdehnen")
0.5
0
200
400
600
800
1000
1200
1400
1600
1800
5.3 Zusammenfassung
In Tab. 5.8 sind die in den vorhergehenden Kapiteln erlauterten Eigenschaften der fehlerverschleiernden Algorithmen zusammengefat.
Der Implementierungsaufwand fur alle drei Verfahren ist gering, so da nur die erwunschte Qualitat und die zu Verfugung stehend Rechenleistung, bzw. die damit zu erzielende
Durchfuhrungszeit abzuwagen ist.
Der "Pattern Matching\-Algorithmus bietet im Vergleich zu den anderen Verfahren keine
speziellen Vorteile. Er liegt bei gleichem Rechenaufwand von der Qualitat her unterhalb
62
von PWR und erfordert die Zwischenspeicherung von mehr Paketen, die ja in einer etwas
geringeren Erfolgswahrscheinlichkeit P (Abb. 5.2, S. 40) resultiert.
Aus den folgenden Grunden wurde fur die Einbindung in das "Network Voice Terminal\
(NeVoT, ! Kap. 6) die MWSOLA- der PWR-Methode vorgezogen:
trotz groerem Rechenaufwand ist der Algorithmus noch einsetzbar im Rahmen der
Sprachubertragungsechtzeitanforderungen (! Kap. 6.1.1)
durch den hoheren Zwischenspeicherungsaufwand, wird die Erfolgswahrscheinlichkeit nur unwesentlich niedriger (! Abb. 5.2; Tab. 6.3).
Problematisch ist allerdings, da MWSOLA deutlich mehr Pakete verandert (! Tab. 5.8,
"zu verandernde Pakete\), sie also noch nicht in die Ausgabewarteschlange schieben kann
(fur PATMAT und PWR ist es nur notwendig Kopien der Pakete fur die Suche nach einem
geeigneten Signalsegment im Speicher zu halten). Dadurch erhoht sich die Gesamtverzogerung, bzw. die vorhandene Zeit zur Verschleierung wird geringer (! Kap. 6.2.3, Abb. 6.16)
Eine interessante Moglichkeit, die Vorteile von PWR und MWSOLA zu verbinden, ware
es, PWR zu Verschleierung eines fehlenden Paketes zu verwenden und nur wenn zwei
Pakete hintereinander fehlen, MWSOLA anzuwenden. Dem steht nur der hohere Implementierungsaufwand gegenuber.
Weiterhin ware es denkbar, wenn genugend Zeit zur Verschleierung zur Verfugung steht,
mit PWR zunachst die Sprachgrundperiode zu messen, und diese dann zu einer optimalen
Einstellunng der Segmentlange F von MWSOLA zu verwenden.
63
Subjektive Charakteristika
typische
Robustheit
Storkomponente
sehr gut b
gut c
"blechern/metallisch\
gut d
"hallend\
Objektive Charakteristika
Rechenaufwand
Algorithmus
MWSOLA
PWR
PATMAT
MUL
400%
100%
100%
ADD
200%
100%
100%
notwendige
zu verandernde EchtzeitZwischenspeicherung
Paketee
fahigkeit
1 Paket 2 Pakete 1 Paket 2 Pakete
3
4
4
5
ja
2
2
2
2
ja
3
4
2
2
ja
Kapitel 6
Anwendung der Fehlerverschleierung
im Audiokonferenzprogramm NeVoT
6.1 Das "Network Voice Terminal\ (NeVoT)
Schon in den fruhen 70er Jahren wurden Experimente mit Sprachubertragung uber paketvermittelte Netze durchgefuhrt ([Coh80]). Mit der zunehmend besseren Audio-Hardware
in Workstations nahm das Interesse an Sprach-, bzw. Audioubertragung sehr zu. Das
fuhrte zu der Entwicklung einer Reihe von Audiokonferenzprogrammen (! Tab. 6.1), die
auch in Multimediakonferenzumgebungen integriert wurden.
Auerdem gibt es verteilte Audiosysteme wie AudioFile oder das NCD Network Audio
System ([FR94]), die das X-Windows Client-Server-Modell fur Audioanwendungen realiAudiokonferenzprogramm
Institution
Audio-Protokolle
Etherphone [RVZS91], [RS91]
Xerox PARC
Phoenix
vt (voice tool)
USC/ISI
NVP-II [Coh77]
vat [JM92]
LBL
NVP-II, vat
ivs (INRIA videoconferencing system)
INRIA
RTP
NeVoT (Network Voice Terminal)
GMD Fokus vat, RTP [Sch93a],[SCFJ94]
65
6.1.1 Einfuhrung
NeVoT ist ein Programm zur Durchfuhrung von Audiokonferenzen uber LANs1 und
WANs2 , insbesondere konzipiert fur das Internet. NeVoT wird auerdem zu folgenden
Aufgaben eingesetzt ([Sch92], [Sch93b]):
Test von Verzogerungsanpassungsverfahren ("delay adaptation\), Synchronisierungsmechanismen ([Mon83]), Echtzeit-Protokollen (RTP/RTCP) und
Fehlerverschleierungs- und -rekonstruktionsmethoden
NeVoT ist als "audio media agent\ in ein Konferenzsystem (Abb. 6.1, [Sch94b]) eingebettet, welches z.B. auch durch Videokonferenzprogramme ("video media agent\) erganzt
werden kann. Die einzelnen Teilsysteme sind durch das Programm pmm ("pattern matching multicast\) verbunden. Dieser sogenannte "message replicator\ bewerkstelligt uber
1
66
icc
pmm
message replicator
NeVoT
(audio media agent)
audio system
buffer
ring buffer
audio system
codec
silence detection
delay adaptation
statistics
transmitter (tx)
Application
receiver (rx)
RTP/RTCP
vat
socket / network port
Transport
UDP
Network
IP
Data Link
Physical
(e.g. Ethernet)
67
Peakmeter
out in
Internet Protocol
Schnittstelle zu UDP und anderen Protokollen (API: "application programmers interface\)
68
6.1.2 RTP/RTCP
Eng verbunden mit NeVoT ist die Entwicklung des "real-time transport protocol\ (RTP),
das die U bermittlung von Echtzeitdaten (Audio, Video) ermoglicht. RTP und RTCP
berucksichtigen auch die U bertragungsqualitat ("Quality of Service\), erlauben aber keine Reservierung von Ressourcen ("resource reservation\) und damit keine garantierten
U bertragungsparameter.
Derzeitige Netzwerktechnologien, wie z.B. "Ethernet\ arbeiten auf einer "best eort\ Basis, d.h. dem Benutzer wird eine so hohe U bertragungsrate zur Verfugung gestellt,
wie es gerade moglich ist. Die QoS-Parameter wie Durchsatz ("throughput\), Verzogerung und Paketverlust, sind damit von der aktuellen Netzwerkbelastung abhangig. Somit ist es unmoglich, z.B. generell einen storungsfreien Sprachverkehr zu garantieren
([BCG95],[Fer90]). Erst neue Netzwerktechnologien wie ATM6 ([Bra94]) erlauben in Verbindung mit geeigneten Protokollen wie IPng7 ([Hin94]) eine garantierte Verbindungsqualitat.
RTP und RTCP werden von der IETF (Internet Engineering Task Force) Audio Video
Transport Working Group speziziert ([Sch93a], [SCFJ94]).
Ein RTP-Paket enthalt (u.a.) die folgenden Informationen (! Abb. 6.3):
Bit 0
T=2 P X
CC
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
PT
sequence number
timestamp
synchronization source (SSRC) identifer
contribution source (CSRC) identifiers
6
7
die Sequenznummer um eins inkrementiert. Das erlaubt die Erkennung von Paketverlusten, sowie die Wiederherstellung der ursprunglichen Reihenfolge (es ist moglich
das spater abgesendete Pakete fruher als andere ankommen: "reordering\ ).
69
32 bit timestamp: Abtastzeitpunkt des ersten Abtastwertes im Paket. Der Zeitstempel wird bei jedem Abtasten um eins erhoht.
32 bit SSRC identier: zufallig gewahlter Wert zur Unterscheidung der Synchronisierungsquellen (SSRC8 ). SSRC entspricht nicht der Internet-Adresse (mehrere SSRC
konnen unter einer Adresse erreichbar sein)
(max. 15) 32 bit CSRC identier: Unterscheidung der Quellen, die zum Inhalt der
Pakete beigetragen haben (\Contributing Source\)9
70
6.1.3 Programmstruktur
NeVoT ubermittelt Audiodaten von der Audioquelle (Mikrophon und/oder Audiodatei)
an die Netzwerkschnittstelle ("socket\) und umgekehrt von der Netzwerkschnittstelle zur
Audioausgabe (Lautsprecher / Kopfhorer) (! Abb. 6.4). Das geschieht synchronisiert,
d.h. jedesmal wenn der A/D-Konverter einen Block von Abtastwerten liefert, wird eine
entsprechende Anzahl von Abtastwerten vom Ausgabe(ring)puer zur Ausgabeeinheit
ubertragen. Das heit, da der zeitliche Ablauf unabhangig von der Systemzeit, nur von
der Genauigkeit der Abtastung ("sample clock\) abhangt ([Sch94a], auch beim Abspielen
von Audiodateien wird also der A/D-Wandler benotigt).
Zur Ubertragung
wird ein (20 ms-)Audioblock von der Eingabeeinheit (z.B. /dev/audio bei
SunOS/Solaris) in einen Puer ("mbuf\ 12) geschrieben. Die Energie des Blocks wird berechnet und entschieden ob Sprache oder Stille vorliegt ("silence detection\). Dadurch wird
das Netzwerk nicht mit der U bertragung von unnotigen Daten (Hintergrundrauschen) belastet. Allerdings spricht der "silence detector\ nur zwischen langeren Sprachsegmenten
("talkspurts\, ! Kap. 2.1) an, um Storungen zu vermeiden. Nach einem "talkspurt\ wird,
sequence number wrap-around: Zurucksetzen der Sequenznummer nach seq = 65535 auf seq = 0
"mbuf\: Datenstruktur verketteter Puer, die bei Programmstart als "buer-pool\ initialisiert wird.
Es mu also bei einer Puerbelegung wahrend des Programmablaufs nicht erst Speicher angefordert
werden. Fur Header (Audiodeskriptor) und Audiodaten wird zusammen Speicher belegt (! geringer
"malloc\-Overhead).
11
12
71
D
/dev/audio
s=0
s=960
audio descriptor
ring_mix.c
mbuf
tx.c
RTP
delay
adaptation
rx.c
silence detection
rtp.c (vat.c)
sync
RTP
udp.c
socket
UDP RTP
IP
UDP RTP
UDP RTP
IP
Ethernet
Header
IP
UDP RTP
UDP RTP
Ethernet
Trailer
72
Wenn ein Paket zu spat ankommt, aber die hochste aktuelle Sequenznummer tragt, wird
es als Beginn eines neuen "talkspurts\ aufgefat und die Verzogerung entsprechend angepat ("fall back\ ).
Durch die U bertragung mittels des Netzwerkes konnen die Pakete Verzogerungen verschiedener Dauer erfahren (! Kap. 2.2). Das Programm rx.c hat die Aufgabe eine zeitgerechte
Ausgabe zu ermoglichen. Dazu ist eine Verzogerungsanpassung ("delay adaptation\, Abb.
6.5(nach [Sch94a]), s. auch [Mon83]) integriert.
talkspurt i
talkspurt i+1
20 ms
j
Zeitstempel
1
x=5
tsi,j
(tx.c)
Ankunftszeitpunkt
t i,j
(rx.c)
Ausgabezeitpunkt
p i,j
(ring_mix.c)
Paketverlust
..
(zu spat angekommenes
Paket)
20 ms
Di
Di+1
(6.1)
Dabei gilt fur die fur jedes Paket fortlaufend berechnete Abweichung vi;j :
(Startwerte:
= 0; 9
= 34
s0;0 = 400 Abtastwerte;
73
v0;0 = d0;0 )
Als Schatzung der Verzogerung im "talkspurt\ (i + 1) wird das Minimum der realen
Verzogerung di;j der Pakete des letzten "talkspurts\ verwendet:
"Marked packets\ sind die Pakete, die als Beginn eines "talkspurts\ angesehen werden.
74
Statistikberechnungen ist einstellbar. Es werden sowohl die Daten fur das aktuelle Intervall, als auch fur die gesamte Verbindungsdauer angegeben.
Weiterhin anzumerken ist die Moglichkeit wichtige Programmparameter uber die graphische Benutzerober
ache einzustellen (neben "silence detection\ und "delay adaptation\
sind dies die "automatic gain control\ und die Ein-/Ausgabe-Peakmeter). Hinzu kommt
noch die Moglichkeit Logdateien mit allen "Ereignissen\ schreiben zu lassen, so da die
jeweiligen Zustande von NeVoT sich gut nachvollziehen lassen.
75
76
rec_mwsola.c
..
Empfanger
Sender
launch_algo.c
ring_mix.c
1 2 3 4 5
tx.c
recover.c
rx.c
1
rtp.c
rtp.c
Seq
3 4 5
uenz
num
mer
lost.c
udp.c
(Kommunikation mit
Netzwerk-Socket)
udp.c
seqlog
reclog
discard.c
..
(Unterdruckung von
socket
Paketen)
"bursty trac\
77
voice source 1
voice source 2
queue
server
voice source n
voice source
delay
queue
server
Internet
traffic
L,down
L,up
p (1)
0
p (0)
(0)
(1)
p (1)
1
L,up
L,down
p (0)
1
78
(U bergangswahrscheinlichkeiten der Zustande p ( )(; = 0; 1), Paketverlustwahrscheinlichkeiten pL;up und pL;down) zu gewinnen und damit eine Simulation von Paketverlusten
durchzufuhren. Damit ist es moglich, ohne groeren Aufwand die in den folgenden Kapiteln vorzustellenden Zusatzfunktionen, die NeVoT mod bietet, zu testen.
_
p
30
20
10
(%)
lost
500
1000
Delay (sec)
Percentage
40
1500
t/s
Seconds
79
Liste i:
65529
65530
65533
65534
65533
65534
65535
seq i = 65535
Zeitpunkt (p)
Liste i:
65530
Zeitpunkt (p+1)
seqlog
reclog
"long term"
Fehlerverschleierung
(recover.c)
Reihenfolgefehler
"reordering"
seqlog
reclog
"short term"
80
"short term\
fehlende Pakete
Paketverlust (Ausgabezeitpunkt voruber)
Duplikat
Reihenfolgefehler
("reordering\)
SunOS "spray\-Programm19 als relativ anfallig fur Paketverluste erwies, wurden einige
Messungen durchgefuhrt. Die typische Route zwischen der "nt\-Domain des Lehrstuhls
fur Nachrichtentechnik und dem Server "lati\ ist in Abb. A.4, S. 98, aufgelistet.
Eine U bersicht uber die Ergebnisse von vier Messungen ist in Tab. 6.3 angegeben. Bei
allen Messungen traten duplizierte Pakete praktisch nicht auf. Aus der Tabelle ist ersichtlich, da auch (wie in Kap. 2.2 erwahnt) der Paketverlust aufgrund zu spat angekommener
Pakete praktisch vernachlassigbar ist.
Aus den Messungen geht hervor, da typischerweise die Paketverlustwahrscheinlichkeit
fur Zeiten hoher Netzbelastung (Mo - Fr (vor-)mittag, Messung 27.4., 10.5.) fur diese Verbindung 20 30% betragt (vgl. [BCG95], 2.). Die "end-to-end\-Verzogerung ist ca. 2s, so
da eine echte "full duplex\-Audiokonferenz praktisch nicht moglich ist.
Die starke Abhangigkeit des Paketverlustes von der Netzbelastung geht aus dem Resultat fur eine Messung an einem Samstag vormittag (3.6.) hervor. Hier gehen nur ca.
4% der Pakete verloren, was zusammen mit einer Verzogerung von ca. 0; 4 s und einer Fehlerverschleierungserfolgsquote20 von 65% eine Audiokonferenz machbar erscheinen
lat.
"spray\ sendet eine Anzahl von Paketen bestimmter Lange in wahlbaren zeitlichen Abstanden zu einem Host. Der Host zahlt die empfangenen Pakete und gibt dann die Anzahl per RPC ("remote procedure
call\) zuruck.
20 F
ur MWSOLA unter Berucksichtigung der Sprachbereichsubergangswahrscheinlichkeit pt;s (s) (Kap.
5.1.1, Gl. 5.1)
19
81
Messung
Do 20.4. Do 27.4. Mi 10.5. Sa 3.6.
Dauer
11.45-12.40 8.40-11.40 11.30-12.30 11.20-13.30
Paketverlustrate (%)
41,78
21,62
28,26
4,18
(unterdruckte Pakete)
Paketverlustrate (%) (zu
0,0083
0,0003
0,11
0,003
spat angekommene Pakete)
durchschnittl. Anzahl der
hintereinander verlorenen
4,80
2,33
2,87
1,88
Pakete
Reihenfolgefehler (%)
0,55
2,33
2,87
1,88
Erfolgsquote der Fehlerverschleierung P
ohne pt;s(s) (%) MWSOLA/PATMAT
56
66
66
75
PWR
66
80
79
85
mit pt;s(s) (%) MWSOLA/PATMAT
49
58
58
65
PWR
58
70
69
74
Ohne "wrap-around\
82
150
2500
100
50
0
0.6
0.8
1.2
1.4
1.6
1.8
2.2
2.4
5
seq
x 10
messung_20_4log
30
25
20
15
10
0
0.6
0.8
1.2
1.4
1.6
1.8
2.2
2.4
5
seq
x 10
Abbildung 6.13: Lange r eines Blockes von Paketen auerhalb der Reihenfolge
Paketverluste angenommen wurde [d.h. p~L;s = pLs;22 vgl. Gl. (5.2)], sieht man in Abb. 6.14
die gemessenen Werte (20.4.) fur die Wahrscheinlichkeit, da genau s Pakete [pL;s(s)],
1
X
bzw. mindestens s Pakete [~pL;s(s) = pL;x(x)] hintereinander verloren gehen.
x=s
Es zeigt sich, da der gemessene Wert mit zunehmender Sequenzlange s wesentlich hoher
ist, als der theoretisch ermittelte. Das bedeutet also, da es nach einer Sequenz von schon
verlorenen Paketen deutlich wahrscheinlicher ist noch ein Paket zu verlieren, als nach der
Ankunft eines Paketes. Da jedoch in Kap. 5.1.1 nur der fur eine Fehlerverschleierung interessante Fall mit 0 s nL = 2 betrachtet wurde, zeigen die gemessenen Werte von P
22
83
(! Tab. 6.3) eine relativ gute U bereinstimmung mit den theoretisch ermittelten Daten
(Abb. 5.2, S. 40).
messung_20_4log
10
~
p (s) (gemessen)
L,s
10
~
s
pL,s(s) = p
L
10
p (s) (gemessen)
L,s
3
10
10
15
20
25
30
35
40
Abbildung 6.14: Wahrscheinlichkeiten fur das Auftreten einer Fehlsequenz der Lange s
Messung 20.4.
Bild 6.15 zeigt die gemessenen Wahrscheinlichkeiten p~L;s(s) fur alle vier angesprochenen
Messungen. Bis auf die schon diskutierte Messung vom 20.4., ist charakteristisch, da
p~L;s(s) im Intervall 0 < s < 5 stark abfallt und dann nur sehr langsam weiter sinkt. Bei
geringer Netzbelastung (3.6.) treten allerdings Fehlsequenzen ab s 30 schon sehr selten
auf.
6.2.3 Fehlerverschleierung
Der MWSOLA-Algorithmus hat in Bezug auf die erzielbare Qualitat den Vorteil, da
die entstandenen Lucken im Sprachsignal unter Veranderung aller zur Verschleierung
verwendeten Daten (! Tab. 5.8, "zu verandernde Pakete\) durch Zeitdehnung gefullt
werden konnen und somit keine unpassenden Daten in das Signal integriert werden (s.
S. 60). Da NeVoT die Moglichkeit bietet mehrere Signale evtl. sogar von verschiedenen
84
~
p (s) (gemessen)
L,s
10
10
10
20/4
27/4
10/5
3/6
10
10
10
20
30
40
50
60
70
80
90
100
85
x(n)
..
..
"vorwartsdehnen"
x(n)
..
10
..
..
"ruckwartsdehnen"
86
..
"vorwartsdehnen"
"Takt"
eintreffende seq
sortierte Liste
Zwischenspeicher
12345
2345
23457
3457
Ausgabe
1
2
MWSOLA
7 8
3456
7 8 9
7 8 9
10
7 8 9 10
7 8 9 10
11
7 8 9 10 11
8 9 10 11
..
..
"ruckwartsdehnen"
"Takt"
eintreffende seq
sortierte Liste
Zwischenspeicher
Ausgabe
45
57
57
578
578
5789
5789
MWSOLA
10
10
10
56789
11
10 11
11
10
87
ten vermieden. Durch Verandern der Zeiger konnen Puerblocke schnell neu aufgenommen, bzw. entfernt werden (! Abb. 6.18).
Teilnehmer
2 ... 10
..
Anzahl der Speicherblocke
Ausgabepuffer reclog
Zeiger auf ersten Speicherblock
Sequenznummer
Synchronisierungsinformation (t,p,slack)
Audiodeskriptor
Zeiger auf Daten
..
Lange der Daten
Zeiger auf vorhergehenden Block
Zeiger auf nachfolgenden Block
88
Sequenznummer
Audiodaten
Teilnehmer-ID
rx.c
ring_mix.c
j
erstes
Paket ?
Initialisierung
n
Duplikat ?
..
Unterdrucken
n
Daten mit
slack < MIN_SLACK
im Zwischenspeicher ?
n
Zwischenspeicher
entleeren (bis auf
1 Paket)
sortiere
Sequenznummern
wrap-around ?
fehlendes Paket
doch noch
angekommen ? j
n
j
neu fehlendes
Paket ?
fehlend = 1
Reihenfolgefehler ?
fehlend = 0
zwischenspeichern
n
genug Pakete
j
zum Verschleiern ?
Fehlerverschleierung
alte fehlende
Pakete ?
n
j
wird gerade
Verschleierung
vorbereitet ?
j
n
s>2
(zuviele fehlende
Pakete ?)
Ausgabe:
1 Paket
Kapitel 7
Ausblick
Die vorliegende Arbeit hat gezeigt, da fehlerverschleiernde Algorithmen die Sprachqualitat beim Auftreten von Paketverlusten bei niedrigem Aufwand deutlich verbessern
konnen. Insbesondere erwies sich der neue Ansatz der Verschleierung durch Zeitdehnung
(MWSOLA-Algorithmus) als sehr geeignet und robust. Mit Hilfe des in NeVoT eingebundenen Verfahrens konnen Audiokonferenzen mit verbesserter Qualitat durchgefuhrt
werden.
Weiterentwicklungsmoglichkeiten der Fehlerverschleierungverfahren liegen einerseits in einer Kombination von MWSOLA-Methode und "Pitch Waveform Replication\ (s. Kap.
5.3). Andererseits erscheint ein starkerer Bezug zum Sprachsignal, wie beim "ClassOriented Replacement\ (Kap. 3.3.3), sinnvoll. Es konnten also fur verschiedene Bereiche
des Sprachsignals (stimmhaft, stimmlos, Stille) verschiedene Codierungs- und Fehlerbehandlungsverfahren eingesetzt werden. Noch interessanter wird ein solches Vorgehen mit
der Einfuhrung von geeigneten Protokollen der Netzwerkebene (IPng, [Hin94], [Bra94]),
das auch im Netzwerk die unterschiedliche Behandlung der Datenpakete (die ja Sprachsignalteile unterschiedlicher Wichtigkeit enthalten) moglich macht.
Fur die in Entwicklung, bzw. in der Einfuhrungsphase bendlichen Netzwerktechnologien
wie ATM ("cell relay\) scheinen zunachst Fehlerverschleierungsmechanismen nicht so interessant zu sein, da das Netzwerk eine garantierte Verbindungsqualitat ermoglicht (Kap.
6.1.2, S. 68). Fehlerverschleierung erlaubt aber die Schonung von Netzwerkressourcen, da
89
KAPITEL 7. AUSBLICK
90
Literaturverzeichnis
[BCG95]
J.-C. Bolot, H. Crepin, and A.V. Garcia. Analysis of audio packet loss in
the internet. In Proceedings of the 5th International Workshop on Network
and Operating System Support for Digital Audio and Video, pages 163{174,
Durham, NH, April 1995.
[Bra94]
C. Brazdziunas. IPng support for ATM services. RFC 1680, IETF Network
Working Group, August 1994. ftp://ds.internic.net/rfc/rfc1680.txt.
[BS85]
J. Blauert and E. Schaert. Automatische Sprachein- und -ausgabe. Schriftenreihe der Bundesanstalt fur Arbeitsschutz, Dortmund 1985. Forschung-Fb
Nr. 417, S. 30-42.
[CHR94]
D.M. Cohen, D.P. Heyman, and A.M. Reibman. Comparisons among models
of cell losses for video conferences. Technical report, Bellcore, AT & T Bell
Laboratories, 1994.
[CM88]
[Coh77]
D. Cohen. Specication for the Network Voice Protocol (NVP). NSC Note
68, NWG/RFC 741, November 1977.
[Coh80]
[Del93]
LITERATURVERZEICHNIS
92
[DL86]
J.N. Daigle and J.D. Langford. Models for analysis of packet voice communication systems. IEEE Journal on Selected Areas in Communications,
SAC-4(6):847{855, September 1986.
[DPF89]
L.A. DaSilva, D.W. Petr, and V.S. Frost. A class-oriented replacement technique for lost speech packets. IEEE Transactions on Acoustics, Speech and
Signal Processing, ASSP-37(10):1597{1600, October 1989.
[EH93]
[Fer90]
[FR94]
J. Fulton and G. Renda. The network audio system. Technical report, Network Computing Devices (NCD), 1994. nas-xcon94paper.ps.
[GL83]
J.G. Gruber and N.H. Le. Performance requirements for integrated voice/data networks. IEEE Journal on Selected Areas in Communications, SAC1(6):981{1005, December 1983.
[GLWW86] D.J. Goodman, G.B. Lockhart, O.J. Wasem, and W. Wong. Waveform substitution techniques for recovering missing speech segments in packet voice
communications. IEEE Transactions on Acoustics, Speech and Signal Processing, ASSP-34(6):1449{1464, December 1986.
[Gru94]
[GWDP88] D.J. Goodman, O.J. Wasem, C.A. Dvorak, and H.G. Page. The eect of
waveform substitution on the quality of PCM packet communications. IEEE
Transactions on Acoustics, Speech and Signal Processing, ASSP-36(3):342{
348, March 1988.
[Hal91]
LITERATURVERZEICHNIS
93
[Hin94]
[IEE69]
IEEE. IEEE recommended practice for speech quality measurements. IEEE Transactions on Audio and Electroacoustics, AU-17:227{245, September
1969.
[Jay93]
[JC81]
N.S. Jayant and S.W. Christensen. Eects of packet losses in waveform coded
speech and improvements due to an odd-even sample-interpolation procedure. IEEE Transactions on Communications, COM-29(2):101{109, February
1981.
[JM88]
[JM92]
V. Jacobson and S. McCanne. vat. Manual page, SunOS 4.1.x, August 1992.
[JN84]
N.S. Jayant and P. Noll. Digital Coding of Waveforms. Prentice Hall, Englewood Clis 1984.
[Lan92]
H. Langendorfer. Leistungsanalyse von Rechensystemen: Messen, Modellieren, Simulation. Carl Hanser Verlag, Munchen/Wien 1992.
[Li89]
[LR93]
D.C. Lynch and M.T. Rose, editors. Internet System Handbook. Addison
Wesley, Reading 1993.
[Mal88]
[Mon83]
LITERATURVERZEICHNIS
94
[Ous95]
[Pap87]
[RS78]
L.R. Rabiner and R.W. Schafer. Digital Processing Of Speech Signals. Prentice Hall, Englewood Clis 1978.
[RS91]
[RVZS91] P.V. Rangan, H.M. Vin, P.T. Zellweger, and D.C. Swinehart. Multimedia
conferencing in the Etherphone environment. IEEE Computer, 24:66{794,
August 1991.
[SB80]
M.A. Sencer and D.M. Baker. A viewpoint on packet-switched voice networks. In Proceedings of the Fifth International Conference on Computer
Communications, pages 287{294, Atlanta, GA, October 1980.
[SCFJ94]
H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson. A transport protocol for real-time applications. Internet Draft, IETF Audio-Video Transport
Group, November 1994. ftp://ds.internic.net/internet-drafts/draft-ietf-avtrtp-06.*.
[Sch92]
H. Schulzrinne. Voice communication across the internet: A network voice terminal. Technical Report TR 92-50, Dept. of Computer Science, University of Massachusetts, Amherst, MA, July 1992.
ftp://gaia.cs.umass.edu/pub/Schu9207:Voice.ps.Z.
[Sch93a]
[Sch93b]
LITERATURVERZEICHNIS
95
[Sch94b]
H. Schulzrinne. Message-based API for NeVoT and other conferencing applications. Technischer Bericht, GMD Fokus, Berlin, Juli 1994.
[ST89]
[Ste90]
[Ste94]
[Tan89]
[Tow93]
D. Towsley. Providing quality of service in packet switched networks. Technical Report, Dept. of Computer Science, University of Massachusetts, Amherst, MA, July 1993. ftp://gaia.cs.umass.edu/pub/Tows93:QOS.ps.gz.
[VA89]
R.A. Valenzuela and C.N. Animalu. A new voice packet reconstruction technique. In Proceedings ICASSP-89, pages 1334{1336, May 1989.
[VR93]
[Yon92]
Anhang
4
3.5
f/kHz
2.5
1.5
0.5
0
0
1000
2000
3000
4000
5000
t/ms
6000
7000
8000
9000
Abbildung A.1: Spektrogramm des Testsatzes "Dazu spiele ich ihnen einen Pegelton
mittlerer Lautstarke vor und Sie stellen sich bitte vor Ihre beiden Lautsprecher und dort genau in die Mitte.\
96
ANHANG
97
3.5
f/kHz
2.5
1.5
0.5
0
0
2000
4000
6000
8000
10000
12000
14000
t/ms
3.5
f/kHz
2.5
1.5
0.5
0
0
1000
2000
3000
t/ms
4000
5000
6000
ANHANG
98