-
Die
vorliegende Erfindung betrifft ein nichtstörendes Sprachqualitäts-Bewertungssystem.
-
Über Telekommunikationsverbindungen
geführte
Signale können
beträchtliche
Transformationen erfahren, wie zum Beispiel Digitalisierung, Verschlüsselung
und Modulation. Sie können
auch aufgrund von Auswirkungen von verlustbehafteter Komprimierung
und Übertragungsfehlern
verzerrt werden.
-
Es
werden gerade objektive Prozesse zum Zwecke des Messens der Qualität eines
Signals entwickelt und finden bei der Geräteentwicklung, Geräteprüfung und
Evaluierung der Systemleistung Anwendung.
-
Bestimmte
automatisierte Systeme erfordern, daß ein bekanntes (Referenz-)Signal
durch ein verzerrendes System (das geprüfte Kommunikationsnetz oder
anderweitige System) gespielt wird, um ein verschlechtertes Signal
abzuleiten, das mit einer unverzerrten Version des Referenzsignals
verglichen wird. Solche Systeme sind als „störende" Qualitätsbewertungssysteme bekannt,
weil, während
die Prüfung
ausgeführt wird,
der geprüfte
Kanal im allgemeinen keinen Live-Verkehr führen kann.
-
Umgekehrt
sind nichtstörende
Qualitätsbewertungssysteme
Systeme, die verwendet werden können, während der
Kanal Live-Verkehr führt,
ohne daß Testverbindungen
notwendig sind.
-
Nichtstörende Prüfung ist
erforderlich, weil es bei bestimmten Prüfungen nicht möglich ist,
Testverbindungen herzustellen. Der Grund dafür könnte darin bestehen, daß die Verbindungsabschlußpunkte
geografisch divers oder unbekannt sind. Außerdem könnte es sein, daß die Kosten
für Kapazität auf der
geprüften Route
besonders hoch sind. Eine nichtstörende Überwachungsanwendung kann dagegen
die ganze Zeit auf den Live-Verbindungen ablaufen, um eine sinnvolle
Messung der Leistungsfähigkeit
zu erhalten.
-
Ein
bekanntes nichtstörendes
Qualitätsbewertungssystem
verwendet eine Datenbank verzerrter Proben, die von Gruppen von
Zuhörern
bewertet werden, um einen mittleren Meinungswert (MOS – Mean Opinions
Score) bereitzustellen.
-
MOS
werden durch subjektive Prüfungen
erzeugt, die versuchen, die Wahrnehmung eines Durchschnittsbenutzers
der Sprachqualität
eines Systems zu finden, indem einer Gruppe von Zuhörern eine
gezielte Frage gestellt und eine begrenzte Antwortauwahl gegeben
wird. Um zum Beispiel die Hörqualität zu bestimmen,
werden Benutzer gebeten, die „Qualität der Sprache" auf einer Skala
von 5 Punkten von schlecht bis ausgezeichnet einzustufen. Der MOS
wird für
eine bestimmte Bedingung berechnet, indem die Einstufungen aller Zuhörer gemittelt
werden.
-
Um
das Qualitätsbewertungssystem
zu trainieren, wird jede Probe parametrisiert und es wird eine Kombination
der Parameter bestimmt, die die beste Prädiktion der von den Zuhörern angegebenen
MOS liefert. Die internationale Patentanmeldung Nr.
WO 01/35393 beschreibt ein Verfahren
zur Parametrisierung von Sprachproben zur Verwendung in einem nichtstörenden Qualitätsbewertungssystem.
Siehe auch „Evaluate Network
Performance with Cisco Service Assurance Agent" von E. Tychon in RIPE-43, 9.9.2002,
Rhodos, Griechenland.
-
Die
vorliegende Erfindung betrifft verbesserte Parameter zur Bewertung
der Sprachqualität über ein paketvermitteltes
Netz, insbesondere über
VOIP-Netze (Voice Over Internet Protocol).
-
Gemäß der in
den Ansprüchen
1 und 6–8
beanspruchten Erfindung wird ein Verfahren und eine Vorrichtung
zum Bewerten der über
ein auf Paketen basierendes Telekommunikationsnetz übertragenen
Sprachqualität
geschaffen, mit den folgenden Schritten: Speichern einer Sequenz
von mit einer Verbindung assoziierten abgefangenen Paketen, wobei
jedes Paket Sprachdaten und eine Indikation einer Übertragungszeit
des Pakets enthält;
mit jedem abgefangenen Paket Speichern einer Indikation einer Abfangzeit
des Pakets; Extrahieren einer Menge von Parametern aus der Sequenz
abgefangener Pakete; und Erzeugen eines geschätzten mittleren Meinungswerts
in Abhängigkeit
von der Menge von Parametern; dadurch gekennzeichnet, daß der Schritt
des Extrahierens die folgenden Teilschritte umfaßt: Erzeugen eines Jitterparameters
für jedes
Paket der Sequenz gespeicherter Pakete in Abhängigkeit von der Differenz
zwischen der Übertragungszeit
eines gespeicherten Pakets und der Übertragungszeit eines vorausgehenden
gespeicherten Pakets der Sequenz; und der Differenz zwischen der
Abfangzeit des gespeicherten Pakets und der Abfangzeit des vorausgehenden
gespeicherten Pakets; und Erzeugen eines fortlaufenden positiven
Jitterparameters für
das gespeicherte Paket in Abhängigkeit
von der Polarität
des Jitterparameters für
das gespeicherte Paket und der Polarität des Jitterparameters für unmittelbar
vorausgehende gespeicherte Pakete, wobei der fortlaufende positive
Jitterparameter die Anzahl unmittelbar vorausgehender gespeicherter
Pakete definiert, für
die eine Polarität
des Jitterparameters positiv ist.
-
Es
werden nun Ausführungsformen
der Erfindung lediglich als Beispiel mit Bezug auf die beigefügten Zeichnungen
beschrieben. Es zeigen:
-
1 eine
schematische Darstellung eines nichtstörenden Qualitätsbewertungssystems;
-
2 ein
Blockschaltbild eines nichtstörenden
Qualitätsbewertungssystems,
das Verbindungen zwischen einem IP-Netz und einem leitungsvermittelten
Netz überwacht;
-
3 ein
Blockschaltbild eines VOIP-Gateway;
-
4 ein
Blockschaltbild von Funktionsblöcken
einer Vorrichtung zur Qualitätsbewertung;
-
4a ein
Flußdiagramm
der durch die Vorrichtung von 4 ausgeführten Schritte;
-
5 eine
Darstellung von durch einen Parametrisierungsprozeß produzierten
Parametern;
-
5a ein
Flußdiagramm
einer allgemeinen Übersicht über einen
Parametrisierungsprozeß;
-
6 eine
Kombination von Parametern auf verschiedenen Ebenen;
-
7 die
Verwendung eines gleitenden Fensters; und
-
8 ein
Flußdiagramm
der Berechnung eines bestimmten Parameters.
-
Mit
Bezug auf 1 ist ein nichtstörendes Qualitätsbewertungssystem 1 über eine
Schnittstelle 3 mit einem Kommunikationskanal 2 verbunden.
Die Schnittstelle 3 stellt eine etwaige zwischen den überwachten Daten
und dem Qualitätsbewertungssystem 1 erforderliche
Datenumsetzung bereit. Das Qualitätsbewertungssystem analysiert,
wie später
beschrieben werden wird, ein Datensignal, und die resultierende
Qualitätsprädiktion
wird in einer Datenbank 4 gespeichert. Einzelheiten bezüglich Datensignalen,
die analysiert wurden, werden auch zur späteren Bezugnahme gespeichert.
Es werden weitere Datensignale analysiert und die Qualitätsprädiktion
aktualisiert, so daß über einen
Zeitraum die Qualitätsprädiktion
mehrere analysierte Datensignale betrifft.
-
Die
Datenbank 4 kann Qualitätsprädiktionsergebnisse
speichern, die sich aus mehreren verschiedenen Abfangpunkten ergeben.
Die Datenbank 4 kann über
ein Benutzerterminal 5, das Analyse und Visualisierung
von in der Datenbank 4 gespeicherten Qualitätsprädiktionsergebnissen
bereitstellt, aus der Ferne abgefragt werden.
-
Nunmehr
mit Bezug auf 2 setzt ein VOIP-Gateway 40 Daten
an einer Schnittstelle zwischen einem leitungsvermittelten Netz 20 und
einem IP-Netz 26 um. Das IP-Netz 26 umfaßt mehrere
IP-Router 46. Eine VOIP-Sonde 10 überwacht
VOIP-Verbindungen zur Bewertung der durch das IP-Netz bereitgestellten Sprachqualität.
-
VOIP
kann in zwei allgemeine Systemtypen aufgeteilt werden; Systeme,
die Sprache über
das Internet transportieren, und Systeme, die Sprache über ein
verwaltetes IP-Netz führen.
-
Der
VOIP-Paketstrom selbst ist wohl definiert, so daß VOIP-Verbindungen entweder
durch Überwachen
der Verbindungssteuersignalisierung und Extrahieren von Verbindungsaufbaunachrichten
identifiziert werden können,
oder indem VOIP-Pakete erkannt werden können. Die Sonde 10 der
vorliegenden Erfindung erkennt VOIP-Pakete, da dies das Identifizieren von
Verbindungen auch dann ermöglicht,
wenn der Anfang der Zelle verpaßt
wird. Diese Technik vermeidet auch Probleme, wenn sich Paketstrom-
und Signalisierungsinformationen über verschiedene Routen ausbreiten.
-
Um
die Sprachqualität
von VOIP aus dem IP-Netz heraus zu überwachen, ist es notwendig,
das stark nichtlineare VOIP-Gateway 40 zu berücksichtigen.
-
Die
Sonde 10 muß jedes
Gateway gemäß den Eigenschaften
des Gateway berücksichtigen,
weil verschiedene Gateway-Implementierungen
auf verschiedene Weise auf die Effekte der IP-Übertragung ansprechen.
-
3 zeigt
ein einfaches VOIP-Gateway 40. Ein Jitterpuffer 41 empfängt einen
IP-Paketstrom. Der Jitterpuffer 41 entfernt Jitter und
ordnet etwaige fehlsequenzierte Pakete um. Die Pakete werden dann
in der entsprechenden Zeitsequenz zu einem Sprachdecoder 42 gesendet
und dort decodiert.
-
Eine
Fehlerverbergungsvorrichtung 43 verwendet Fehlerverbergungstechniken,
um etwaige fehlende Pakete zu maskieren, um ein Audiosignal bereitzustellen.
-
Es
gibt zahlreiche Hersteller von VOIP-Gateways – jeder produziert eine Anzahl
verschiedener Gateways, die jeweils etwas unterschiedlich arbeiten.
Es wäre
ideal, wenn man annehmen könnte,
daß alle
diese Gateways aus einem gegebenen IP-Paketstrom dieselbe Sprachqualität ausgeben – tatsächlich produzieren verschiedene
Gateways jedoch verschiedene Qualitätseinstufungen aus demselben
IP-Paketstrom.
-
Zum
Beispiel kann ein einzelner Hersteller vielfältige verschiedene Jitterpufferalgorithmen
für die
Jitterpuffer 41 verwenden. Die Auswirkung auf die Sprachqualität des Jitterpuffers
hängt stark
von der Effektivität eines
spezifischen Algorithmus und der Implementierung ab.
-
Sprachdecoder
sind im allgemeinen standardisiert und wohlbekannt. Die Auswirkungen
einer zusätzlichen
Fehlerverbergung beim Antreffen verlorener Pakete sind jedoch unterschiedlich.
Sowohl Jitterpuffer- als auch Fehlerverbergungsalgorithmen sind
meist proprietär
und können
von Gateway zu Gateway stark unterschiedlich sein.
-
Um
einen Sprachqualitäts-MOS
aus einem IP-Paketstrom (oder sogar einem Nach-Jitterpuffer-Paketstrom)
genau vorherzusagen, müssen
nichtstörende
Prädiktoren,
wie z. B. die VOIP-Sonde 10 der vorliegenden Erfindung,
das spezifische verwendete Gateway berücksichtigen.
-
Die
Sonde 10 wird für
jeden verschiedenen Typ von VOIP-Gateway,
der unterstützt
wird, kalibriert. Der Kalibrationsprozeß umfaßt eine Charakterisierung der
Sprachqualitätsleistung
des Gateway über
vielfältige Netzbedingungen.
Nachdem ein Gateway charakterisiert worden ist, werden diese Informationen
in einer Kalibrationsdatei gespeichert, die auf Befehl in die Sonde 10 geladen
und zur Erzielung einer hochgenauen Qualitätsüberwachung verwendet werden
kann.
-
Wenn
ein Gateway verwendet wird, das nicht kalibriert worden ist, kann
die Sonde 10 immer noch verwendet werden. In diesem Fall
repräsentiert
die Ausgabe jedoch möglicherweise
keinen MOS.
-
Die
Sonde 10 wird nun ausführlicher
mit Bezug auf 4 und 4a beschrieben. 4 zeigt
Mittel zum Ausführen
eines Qualitätsbewertungsprozesses
und 4a zeigt die durch die Vorrichtung von 4 auszuführenden
Verfahrensschritte.
-
Das
Erfassungsmodul 50 erfaßt und speichert im Schritt 70 ein
IP-Paket und verzeichnet die Zeit der Erfassung. Etwaige verfälschte Pakete
werden verworfen. Ein Verbindungsidentifikationsmodul 52 identifiziert, zu
welcher Verbindung ein erfaßtes
Paket gehört
(Schritt 72). Ein Vorverarbeitungsmodul 54 verwirft
jegliche Informationen aus dem erfaßten Paket, die nicht mehr
benötigt
werden (Schritt 74), um Speicher- und Verarbeitungsanforderungen
für nachfolgende
Module zu reduzieren.
-
Ein
Neusequenzpuffer 56 dient zum Speichern von Paketdaten
und entweder zum Durchleiten der Daten zu nachfolgenden Modulen
in einer Sequenz oder zum Bereitstellen einer Anzeige, daß die Daten
nicht zum korrekten Zeitpunkt angekommen sind (Schritt 76).
Der bei dieser Ausführungsform
der Erfindung verwendete Neusequenzpuffer 56 ist ein einfacher
zyklischer Puffer.
-
Der
Sprachaktivitätsdetektor 58 kennzeichnet
jedes Paket entweder als Sprache oder Stille (Schritt 78). „Fehlende" Pakete werden mit
derselben Klassifikation wie das unmittelbar vorausgehende Paket
klassifiziert.
-
Das
Parametrisierungsmodul 60 extrahiert Parameter aus den
Paketdaten (Schritt 80), um eine Menge von Parametern bereitzustellen,
die den wahrscheinlichen MOS für
das Sprachsignal angeben, das von der mit einer bestimmten Verbindung
assoziierten Sequenz von Paketdaten geführt wird.
-
Ein
Prädiktionsmodul 62 dient
dann zum Vorhersagen des MOS im Schritt 82 auf der Basis
einer Sequenz von aus dem Parametrisierungsmodul 60 empfangenen
Parametern. Ein MOS wird erst berechnet, wenn eine vorbestimmte
Anzahl von mit einer bestimmten überwachten
Verbindung assoziierten Paketen empfangen worden ist.
-
Das
Parametrisierungsmodul wird nun mit Bezug auf 5 bis 8 beschrieben.
-
Für ein bestimmtes
Gateway verwendete Parameter werden in der Kalibrationsdatei definiert.
Parameter werden folgendermaßen
berechnet. Jedesmal, wenn neue Paketdaten aus dem VAD-Modul 58 empfangen
werden, werden grundlegende Parameter berechnet. Diese grundlegenden
Parameter werden auf vielfältige
Weisen mit der Zeit kombiniert, um Parameter der „Ebene
zwei" zu berechnen.
Die Parameter der Ebene zwei werden dann zur Berechnung von Parametern
der „Ebene
drei" verwendet.
-
5 und 5a zeigen
diesen Prozeß allgemein.
Wenn zum Beispiel Paketdaten (Nr. 5) aus dem VAD-Modul 58 empfangen
werden, werden Parameter bezüglich
Jitter, absolutem Jitter, aufeinderfolgendem Positiv-Jitter, Paketverlusten
usw. berechnet (Schritt 84). Diese Parameter werden mit
zuvor berechneten grundlegenden Parametern kombiniert, um Parameter
der Ebene zwei zu berechnen, wie etwa Mittelwert, Varianz, maximaler
positiver Wert, maximaler negativer Wert, Summe, Differenz, laufender
Mittelwert, laufende Varianz usw. (Schritt 86). Zum Beispiel
gehören
zu Parametern der Ebene zwei Jitter-Mittelwert, Jitter-Varianz, absoluter
Jitter-Mittelwert usw.
-
Die
Parameter der Ebene zwei werden im Schritt 88 auf ähnliche
Weise mit zuvor berechneten Parametern der Ebene zwei kombiniert,
um Parameter der Ebene drei bereitzustellen, wie etwa Mittelwert,
Varianz, maximaler positiver Wert, maximaler negativer Wert usw.
Parameter der Ebene drei wären
zum Beispiel maximaler positiver Wert des Jitter-Mittelwerts, Varianz
der Jitter-Varianz usw.
-
6 zeigt
eine solche Kombination von Parametern zum Bereitstellen eines Endparameterwerts (Schritt 88).
Bei dem dargestellten Beispiel werden vier grundlegende Parameter
kombiniert, um jeden Parameter der Ebene zwei bereitzustellen und
drei Parameter der Ebene zwei werden kombiniert, um einen Parameter
der Ebene drei bereitzustellen.
-
Als
letztes werden die Parameter der Ebene drei unter Verwendung eines
Gleitfenstermechanismus kombinert, der einfach eine vorbestimmte
Anzahl zuvor berechneter Paramter der Ebene drei summiert. Dieser Gleitfenstermechanismus
ist in 7 dargestellt, wobei das gleitende Fenster die
vorherigen drei Parameter der Ebene drei summiert.
-
Die
Berechnung des grundlegenden Paramters Jitter wird nun mit Bezug
auf 8 beschrieben, worin ein Teil der grundlegenden
Parametrisierung von Schritt 84 dargestellt ist.
-
Jitter
ist als die Differenz zwischen der vergangenen Zeit zwischen dem
Senden zweier Datenpakete und der vergangenen Zeit zwischen Empfang
zweier Datenpakete definiert.
-
Jedesmal,
wenn neue Paketdaten zu dem Parametrisierungsmodul 60 gesendet
werden, wird folgendermaßen
ein grundlegender Jitter-Parameter berechnet: jedes Paket Daten
enthält
einen Zeitstempel, der angibt, wann das Paket gesendet wurde. Die
vergangene Zeit zwischen dem Senden zweier Datenpakete ist deshalb
gleich dem Paketzeitstempel minus dem vorherigen Paketzeitstempel
und wird im Schritt 91 berechnet. Die vergangene Zeit zwischen
dem Empfang zweier Pakete wird unter Verwendung der durch das Erfassungsmodul 50 verzeichneten
Erfassungszeit berechnet. Deshalb ist die vergangene Zeit zwischen
dem Empfang zweier Pakete gleich der Paketerfassungszeit minus der
vorherigen Paketerfassungszeit und wird im Schritt 92 berechnet,
wobei aus diesen beiden Werten Jitter berechnet werden kann (Schritt 93).
-
Es
wird nun die Berechnung des grundlegenden Parameters aufeinanderfolgendes
Positiv-Jitter beschrieben.
-
Wenn
die vergangene Zeit zwischen dem Senden zweier Datenpakete größer als
die vergangene Zeit zwischen dem Empfang zweier Datenpakete ist,
wird der „Jitter" ein positiver Wert
sein. Aus einem positiven Jitter-Wert ist zu schließen, daß Pakete
in Warteschlangen an einer bestimmten Stelle in dem Netz aufgehalten wurden
und in Warteschlangen an einer bestimmten Stelle in dem Netz aufgehalten
wurden und zusammen freigegeben wurden. Im vorliegenden Gebrauch
soll der Begriff Polarität
des Jitterparameters wiedergeben, ob der Wert des Jitterparameters
positiv oder negativ ist.
-
Sobald
im Schritt 93 der Jitter-Wert berechnet wurde, wird im
Schritt 94 der aufeinanderfolgende Positiv-Jitterwert aktualisiert,
um die Anzahl von Paketen anzugeben, die aufeinanderfolgend empfangen
wurden, die einen positiven Jitter-Wert aufwiesen.
-
Der
Wert des Parameters des grundlegenden aufeinanderfolgenden Positiv-Jitters
(CPJ) wird dann wie zuvor beschrieben verwendet, um Parameter der
Ebene zwei zu berechnen, wie zum Beispiel den maximalen positiven
Wert (Schritt 95), den Mittelwert (nicht gezeigt), die
Varianz des Werts (Schritt 96); und dann werden Parameter
der Ebene drei berechnet, wie etwa der Mittelwert des maximalen
positiven Werts (Schritt 97) oder der Mittelwert der Varianz
des Werts (Schritt 98).
-
Als
Beispiel wird die Berechnung des Mittelwerts des maximalen positiven
Werts folgendermaßen
dargestellt:
-
Für Fachleute
ist erkennbar, daß die
obenbeschriebenen Prozesse auf einem herkömmlichen programmierbaren Computer
implementiert werden können
und daß auf
einem computerlesbaren Medium ein Computerprogramm bereitgestellt
werden kann, das Anweisungen zum Steuern des programmierbaren Computers
codiert, um die obigen Verfahren auszuführen.
-
Es
versteht sich außerdem,
daß verschiedene
Abänderungen,
Modifikationen und/oder Zusätze
in die obenbeschriebene spezifische Ausführungsform eingeführt werden
können,
ohne von dem Schutzumfang der vorliegenden Erfindung abzuweichen.