-
Die
vorliegende Erfindung betrifft ein Verfahren zur Verwaltung des
Asynchronismus einer Audioübertragung.
-
ALLGEMEINE
DARSTELLUNG DES GEBIETS DER ERFINDUNG
-
Im
allgemeinen betrifft die Erfindung Systeme zur Übertragung, welche Sprachkodierer
mit reduzierter Rate verwenden, in denen die Signale nicht den Referenztakt
des Kodiersystems der Quelle (Abtastfrequenz des Kodierers) befördern. Dies
ist zum Beispiel bei den Übertragungen
vom Typ IP (Internetprotokoll) oder bei unterbrochenen Übertragungen
usw. der Fall.
-
Eine
allgemeine Aufgabe der Erfindung besteht in der Lösung der
Probleme im Zusammenhang mit der Erzeugung von dekodiertem kontinuierlichen
Sprach- oder Tonfluß,
auf die man bei diesen Systemen stößt.
-
Üblicherweise
haben Telefonkommunikations- und Tonkanalnetzwerke analoge Übertragungssysteme und
Systeme zum Multiplexieren durch Frequenzteilung (Primärgruppe,
Modulation der Amplitude und der Frequenz) verwendet. Unter diesen
Bedingungen wird das Sprachsignal (oder Musiksignal; der Begriff „Sprache" wird in diesem Dokument
im folgenden in allgemeiner Bedeutung verwendet) in ein elektrisches
Signal durch ein Mikrofon umgewandelt, wobei dieses analoge Signal
gefiltert und moduliert wird, um dem Empfänger zugeführt zu werden, der dieses verstärkt, bevor
es dem Wiederherstellungssystem zugeführt wird (Kopfhörer, Lautsprecher
usw.).
-
Seit
einigen Jahren haben die Techniken zur digitalen Übertragung
und Vermittlung nach und nach die analogen Techniken ersetzt. In
diesen als MIC (Pulsmodulation oder PCM für den englischen Begriff Pulse Code
Modulation) bezeichneten Systemen wird das Sprachsignal abgetastet
und mit Hilfe eines Analog-Digital-Wandlers (in der Folge als CAN
bezeichnet) digitalisiert, der durch eine feststehende Abtastfrequenz
gesteuert wird, die von einem Haupttakt abgeleitet wird, der durch
das Netz bereitgestellt wird und auch dem Empfangssystem bekannt
ist. Das ist der Fall bei URA und URN (analoge und digitale Teilnehmeranschlußeinheit)
des Telekommunikationsnetzes. Das digitale Signal, das vom Adressaten
(im weitesten Sinne) empfangen wird, wird in ein analoges Signal
umgewandelt, um mit Hilfe eines Digital-Analog-Wandlers (im Folgenden als
CNA bezeichnet) gehört
werden zu können,
der durch einen Takt gesteuert wird, der dieselbe Frequenz aufweist
wie jene, die durch den CAN der Quelle verwendet wird. Unter diesen
Bedingungen ist das gesamte System vollständig synchron, wobei dies im
Allgemeinen bei den aktuellen Umschalt- und Übertragungssystemen der Fall
ist. Diese können
Systeme zur Reduktion der Rate einschließen (zum Beispiel für das Telefonsignal,
von 64 kb/s auf 32, 16 oder 8 kbit/s). Das Netzwerk (oder die Endsysteme,
wie zum Beispiel im Fall von ISDN, das sich um die CAN-Arbeitsschritte,
die Kodierung, Dekodierung (wobei Kodierung und Dekodierung hier
im Sinne einer Reduktion der Rate zu verstehen sind) und CNA kümmern. Die
Takte sind immer verteilt, und die Kette CAN, Sprachkodierer, Übertragung
und Umschaltung, Sprachdekodierer und schließlich CNA ist vollständig isochron.
Es gibt keine Verluste oder Wiederholungen von Sprachabtastwerten
im Dekodierer.
-
Die
Techniken zur synchronen Übertragung,
die zuvor beschrieben wurden, erfordern die Gegenwart eines Referenztaktes
im gesamten Netzwerk. Die Techniken zur Übertragung (zunächst von
Daten) greifen immer mehr auf asynchrone Techniken und Pakettechniken
(IP-Protokoll, ATM) zurück.
In zahlreichen neuen Situationen besitzt der Dekodierer in Bezug
auf die Abtastfrequenz keine Referenz mehr, die vom Kodierer verwendet
wird und muß durch
eigene Mittel einen Dekodiertakt wiederherstellen, welcher versucht,
der Referenz zum Kodierer zu folgen. Die vorliegende Erfindung ist
somit besonders für
Telefoniesysteme auf Rahmenrelais („FRAME RELAY" gemäß angelsächsischer
Terminologie), für
Telefonie auf ATM oder für
IP-Telefonie interessant. Die vorgestellte Technik kann auf einfache
Weise in anderen Gebieten der Sprach- oder Tonübertragung verwendet werden,
für die
es keine effektive Übertragung
der Taktreferenz des Kodierers zum Dekodierer hin gibt.
-
DARSTELLUNG
DES STANDS DER TECHNIK
-
Darstellung
des allgemeinen Problems
-
Das
allgemeine Problem, das sich bei Übertragungssystemen stellt,
auf welche die Erfindung angewendet wird, ist, der Tatsache abzuhelfen,
daß der
Sprach- oder Tondekodierer keine Taktreferenz besitzt, die mit der
Kodierung der Quelle in Verbindung steht.
-
In
dieser Hinsicht lassen sich zwei Fälle unterscheiden: solche,
die einem „schwachen
Asynchronismus" entsprechen
und solche, die einem „starken
Asynchronismus" entsprechen.
-
„Schwacher Asynchronismus"
-
Beispielhaft
wird ein Fall dargestellt, bei dem ein Übertragungssystem wie schematisch
in 1 dargestellt umfaßt:
- – eine Kodierungsquelle 1,
welche einen Analog-Digital-Wandler umfaßt, der durch einen Referenztakt
der Frequenz Fcan gesteuert wird, die gleich 8 KHz ist (um die Berechnungselemente
im weiteren Verlauf der Darstellung festzulegen), und einen Sprachkodierer
(der mehr oder weniger komplex ist und in mehr oder weniger deutlicher
Weise die zu übertragende
Rate reduziert);
- – ein
asynchrones Übertragungssystem
(durch die Verbindung 2 schematisch dargestellt), welches
die Informationen, die von der Kodierquelle erzeugt werden, unter
Verwendung seines eigenen Übertragungstaktes
und seiner eigenen Protokolle überträgt (zum
Beispiel kann man sich vorstellen, daß der Sprachkodierer eine Rate
von 8 kbit/s erzeugt und das Übertragungssystem
aus einer asynchronen Verbindung vom Typ RS.232 mit 9600 bit/s besteht);
- – ein
Empfangs- und Dekodiersystem 3, welches Informationen empfängt, die
durch die asynchrone Verbindung überfragen
werden (deren Rate offensichtlich etwas höher als die Bruttorate der
Codierung sein muß,
zum Beispiel 9600 bit/s anstatt 8000 bit/s), und das die Aufgabe
hat, das Signal nach einer Dekodierung (Dekompression) zu erzeugen
und das erzeugte Signal an einen Digital-Analog-Wandler zu senden, der
an einen Meßwandler
vom Typ eines Lautsprechers, Telefonhörers, Kopfhörers oder einer in einem PC eingebauten
Soundkarte angeschlossen ist.
-
Da
das Empfangs- und Dekodierungssystem über keine Taktreferenz verfügt, wird
man verstehen, daß das
Empfangs- und Dekodiersystem 3 eine Strategie verwenden
muß, diese
fehlende Synchronisation zwischen dem Kodierer und dem Dekodieren
zu beheben.
-
Ungeachtet
der verwendeten Kodierungstechnik oder der Art der Übertragung,
die nicht direkt einen Takt, Zeitmarker im übertragenen Rahmen oder Angaben über die Übertragungsmomente,
befördert,
kann das zuvor genannte Problem (mit Ausnahme des Sprachkodierers,
des asynchronen Übertragungssystems
und des Sprachdekodierers) auf ein System reduziert werden, das – wie in 2 dargestellt – umfaßt.
- – einen
Analog-Digital-Wandler 4, der damit beauftragt ist, Töne oder
Sprachsignale mit einer durch einen lokalen Oszillator festgelegten
Abtastfrequenz von analog in digital umzuwandeln;
- – einen
Digital-Analog-Wandler 5, der damit beauftragt ist, die
Töne zu
einem Meßwandler
hin zu reproduzieren, der für
das jeweilige Verwendungsgebiet geeignet ist und der auf einer Abtastfrequenz
funktioniert, die von einem lokalen Oszillator, à priori mit derselben Frequenz,
bereitgestellt wird, die jedoch niemals exakt die gleiche Frequenz
ist, und zwar um die Herstellungskosten in einem erträglichen
Ausmaß zu
halten (es gibt sehr stabile und sehr genaue Frequenzquellen, aber
diese müssen
in Bezug auf die Temperatur kompensiert werden und ihre Kosten sind
für industrielle
Ausführungen
in großem
Umfang zu hoch);
- – ein
digitales Register 6, in das der Analog-Wandler 4 mit
seiner Abtastfrequenz (FCAN) schreibt, wobei
das Register mit der Abtastfrequenz (FCNA)
des Reproduktionssystems durch den Digital-Analog-Wandler (den CNA)
gelesen wird.
-
Da
die zwei Takte (der Frequenzen FCAN und
FCNA) unterschiedlich sind, wird verstanden
werden, daß von
Zeit zu Zeit der CNA dieselbe Information zweimal lesen wird (wenn
die Fcna höher
als die Fcan ist), oder daß im
umgekehrten Fall (Fcna ist geringer als Fcan) eine Information durch
den CAN löschend überschrieben wird,
bevor der CNA sie wieder lesen kann.
-
Die
Oszillatoren, die häufig
im Handel angeboten werden, sind durch eine Funktionsgenauigkeit
gekennzeichnet (in einer bestimmten Temperaturbandbreite).
-
Die
Oszillatoren mit 50 ppm (Teile pro Million) sind ziemlich häufig und
dienen als Basis für
die folgende Berechnung, welche die Frequenz der Verluste oder der
Wiederholungen von Abtastwerten für eine Abtastfrequenz von 8
kHz angibt (der Leser kann problemlos berechnen, daß bei höheren Abtastfrequenzen
die Frequenz der Sprünge
und der Wiederholungen im Verhältnis
der Abtastfrequenzen erhalten wird; je höher die Abtastfrequenz ist,
desto höher
wird die Frequenz der Sprünge
oder Wiederholungen sein).
-
Unter
den ungünstigsten
Bedingungen verfügt
man über
einen CAN, der mit 8000·(1
+ 50.e–6)
funktioniert, und einen CNA, der mit 8000·(1 – 50.e–6) funktioniert. In diesem
speziellen Beispiel wird die Periode der Sprünge (Unterdrückung der
Abtastwerte in dem CNA, weil die Fcna geringer als die Fcan ist)
einfach dadurch berechnet, daß die
Periodenanzahl des CNA gezählt
wird (Periode höher
als jene des CAN), die einen Wert erzeugt, der gleich der Periode
des CNA ist, wenn er mit dem Unterschied der Perioden multipliziert
wird.
-
Angenommen
Pcna ist die Periode des CNA (hier 1/8000·(1 – 50.e–6)) und Pcan die Periode des
CAN (hier 1/8000·(1
+ 50.e–6));
dann muß man
N·Pcna-Pcan)
= Pcna erhalten. N stellt die Anzahl an elementaren Operationen
dar, die vom Periodenunterschied beabstandet sind. Durch 50.e–6 = ∈ und unter
Anwendung der geläufigen
Vereinfachungsregeln für
kleine Zahlen erhält
man N = 1/(2·∈). In unserem
Beispiel ergibt das sofort die Periode der Sprünge, die nahe bei 1,25 Sekunden
sein wird. Wenn die Genauigkeit der lokalen Oszillatoren verbessert
wird (beispielsweise von 50.e–6
auf 5.e–6),
wird die Periode der Sprünge
steigen (hier alle 12,5 Sekunden).
-
Dieses
Phänomen
des „Gleitens" eines Taktes gegenüber einem
anderen wird in einem vollständigen Übertragungssystem
mit Audiokodierern, die auf Signalrahmen funktionieren, zu einem
Fehlen von Sprachrahmen (kein Rahmen in der für die Dekodierung auferlegten
Zeit zu dekodieren) oder einer Abundanz von Rahmen (zwei Rahmen
anstatt eines Rahmens, die in der auferlegten Zeit zu dekodieren
sind) führen.
In der Tat kann man erwarten, daß beispielsweise bei einem
Sprachkodierer, der mit Rahmen von 30 ms bei 8 kHz funktioniert,
also mit 240 Abtastwerten, im Bereich des Empfängers und insbesondere des
Dekodierers, in einem Zeitschlitz von 30 ms ein zu dekodierender
Rahmen empfangen wird, um die Kontinuität der Wiedergabe des Sprachsignals
zu gewährleisten.
Wenn also beispielsweise Fcan geringer als Fcna ist, lassen sich
unter Annahme der zuvor genannten Hypothesen ein Fehlen von Abtastwertrahmen,
die vom System zur Tonwiederherstellung zu dekodieren sind, alle
240·1,25
= 300 Sekunden und umgekehrt zwei Rahmen anstatt eines Rahmens (also
ein Rahmen, der zu „unterdrücken" ist), die zu dekodieren
sind, alle 300 Sekunden feststellen. In diesem Fall wird das störende Phänomen des Überspringens
oder der Wiederholung von Abtastwerten wirklich sehr störend, weil
ein ganzer Signalblock übersprungen
oder wiederholt wird und somit eine entsprechende Verwaltung erfordert.
-
„Starker Asynchronismus"
-
Bestimmte
Arten von Übertragungen
verstärken
das Problem des Asynchronismus, das auf das Phänomen des „Gleitens" der Takte zurückzuführen ist, so wie zuvor erläutert. Das
wird hier als „starker
Asynchronismus" bezeichnet.
-
In
der Tat kann – wenn
die Übertragung
nicht vollkommen ist und Verluste von Abtastwerten oder von Abtastwertrahmen
einführt
und wenn die Übertragung
einen Jitter bei der Ankunft der Abtastwerte erzeugt, der nicht
mit dem Sendetakt oder dem Empfangstakt in Verbindung steht, sondern
mit anderen Mechanismen der Übertragungskette,
die ihren eigenen Takt besitzen – das Empfangssystem mit einem
Fehlen von mehreren Rahmen oder mit einer Überfülle von mehreren Rahmen konfrontiert
sein. Dies ist zum Beispiel bei Netzwerken vom Typ IP der Fall,
wo das Phänomen
des Verlustes von Paketen und das Phänomen des Jitters während des
Routings der Pakete auftaucht. Diese Phänomene führen zu einer starken Beeinträchtigung
der Kontinuität
der akustischen Wiedergabe des Audiosignals. In der Tat wird für den Fall
von Paketverlusten oder im Fall eines Jitters, der eines oder mehrere
Pakete verzögert
hat, das Wiedergabesysteme keinerlei Abtastwert (oder keinerlei
Abtastwertrahmen) zur Verfügung
haben, um diese an den CNA zu senden, um die Kontinuität der akustischen
Wiedergabe zu gewährleisten.
Und umgekehrt kann es geschehen, daß im Fall eines starken Jitters
das Wiederherstellungssystem viel zu viele Rahmen oder Abtastwerte
aufweist, die gleichzeitig an den CNA zu senden sind. In der Tat
kann bei Gegenwart eines starken Jitters die Übertragung der Tonsignalrahmen in
Form von Bündeln
erfolgen, wodurch große
Lücken
bei den Abtastwertrahmen oder eine Überfülle der Abtastwertrahmen entstehen
können.
-
Man
wird feststellen, daß bei
Verwendung von Sprachkodierern, die mit einem Übertragungssystem vom Typ VAD/DTX/CNG
(Voice Activity Detector/Discontinous Transmission/Comfort Noise
Generation gemäß angelsächsischer
Terminologie) funktionieren, auch ein Mechanismus eingeführt wird,
der dem Paketverlust ähnlich
ist, weil im Fall von Stille der Sender aufhört, Abtastwertrahmen zu senden.
Das Stoppen des Sendens von Abtastwerten kann in der Tat im Bereich
des Empfängers
mit dem Phänomen
des Paketverlusts oder mit dem Fall verglichen werden, in dem der
Takt des CAN schneller als jener des CNA ist, was – wie oben
dargestellt – zu
Lücken
im Signal im Bereich des Empfängers
führt.
-
Der „starke
Asynchronismus" unterscheidet
sich somit vom „schwachen
Asynchronismus" dadurch, daß er nicht
nur das Überspringen
und/oder Wiederholen in zyklischer Form aufweist, sondern auch Lücken im
Signal und/oder eine Signalüberfülle und
dies in nicht-zyklischer und mehrfacher Weise.
-
Beschreibung
der verschiedenen bestehenden Verfahren
-
Es
sind grundsätzlich
zwei Verfahren bekannt, um die Nachteile zu mildern, die darauf
zurückzuführen sind,
daß der
Sprachdekodierer oder der Tondekodierer keine Taktreferenz aufweisen.
-
Das
erste besteht einfach darin, so vorzugehen, wie dies in den Absätzen angeführt wurde,
welche den „schwachen
Asynchronismus" beschreiben,
das heißt,
indem Abtastwerte übersprungen
oder wiederholt werden. Das Dekodierungssystem erzeugt Abtastwerte
mit einem Rhythmus, der mehr oder weniger gleich jenem des Kodierers
ist und führt
diese dem Digital-Analog-Wandler mit diesem Rhythmus zu (die Mittel
zur Ausführung
dieses Wiederherstellungssystems sind dem Fachmann bekannt). In
bestimmen Fällen,
zum Beispiel im Fall eines „starken
Asynchronismus" mit Übertragung
in Form von Rahmen, wird bei Fehlen von zu erfassenden Abtastwerten
bevorzugt, Abtastwertrahmen mit einem Nullwert an den CAN zu senden,
anstatt den vorhergehenden Rahmen zu wiederholen. Im gegenteiligen
Fall, also bei einem Überschuß an Abtastwerten, werden
diese nicht direkt unterdrückt,
sondern es kann ein FIFO einer bestimmten Größe verwendet werden, um den
Jitter teilweise zu absorbieren. Ein zu hoher Belegungsgrad dieses
FIFO wird eine teilweise oder vollständige Entleerung dieses FIFO
auslösen,
wodurch wiederum Sprünge
in der Tonwiedergabe erzeugt werden.
-
Das
zweite Verfahren, das weiter entwickelt und leistungsfähiger ist,
erfordert die Verwendung von materiellen Taktwiederbeschaffungsschleifen,
die vom Belegungsgrad eines Pufferspeichers des zu dekodierenden
Signals geregelt werden (oder eines zu übertragenden Signals, wie z.
B. in AAL1 von ATM). Dieses Regelungsverfahren versucht mit Hilfe
der Taktwiedergewinnungsschleife die Abtastfrequenz der Quelle wiederzugewinnen.
Der Belegungsgrad des Empfangspuffers erzeugt ein Steuersignal,
um eine Schleife PLL (digital oder analog) zu regeln.
-
Das
erste Verfahren ist extrem einfach auszuführen, hat aber einen großen Nachteil
in Bezug auf die Qualität
der reproduzierten Töne.
In der Tat kann ein alle 1,25 Sekunden erfolgendes Überspringen
oder Unterdrücken
beim Hörvorgang
sehr unangenehm sein, wobei dies im Fall eines „schwachen Asynchronismus" passiert, mit Korrektur
des Asynchronismus im Bereich des Abtastwertes. Im Fall eines Systems,
das mit Abtastwertrahmen funktioniert, verstärken die Wiederholungen oder
Lücken,
die auftreten, sowie die Unterbrechungen im Signal durch Unterdrückung von
Rahmen die Verschlechterung der Wiedergabequalität, wobei dies vom Hörer deutlich
wahrgenommen wird und für
diesen sehr störend
ist.
-
Ferner
besteht bei der Verwendung eines FIFO-Speichers das Risiko einer
daraus resultierenden Verzögerung
in der Übertragung,
was ebenfalls der Gesamtqualität
der Kommunikation schadet.
-
Das
zweite Verfahren ist viel komplexer und erfordert einen Mechanismus
zur Taktregelung und somit ein spezielles Material. Im Gegenzug
gewährleistet
es einen teilweisen Synchronismus und verhindert somit die Probleme
in Zusammenhang mit der Verwaltung eines Asynchronismus. Nichtsdestoweniger
eignet sich dieses Verfahren schlecht für Systeme zur unterbrochenen Übertragung,
für Systeme
mit Rahmenverlusten und für
Systeme mit starkem Jitter. In diesen Fällen ist die Synchronisationsinformation
nicht mehr verfügbar. Zudem
ist eine Verwendung dieses Verfahrens auf Plattformen von Endgeräten, wo
die Taktregelung nicht möglich
ist, nicht vorstellbar, wie dies insbesondere beispielsweise bei
Endgeräten
vom Typ eines PCs der Fall ist, wo das System zur akustischen Wiedergabe,
das verwendet wird, eine Soundkarte ist.
-
Durch
das Dokument WO/99 17 584 sind bereits Beschreibungen bekannt, welche
ein Verfahren gemäß dem Oberbegriff
von Anspruch 1 verwenden, wobei diese Vorrichtungen keinen Pufferspeicher
aufweisen.
-
Das
Dokument US-A-4 703 477 erleichtert das Lesen von Stimminformationen
durch die Verwendung eines Verfahrens der Ende-an-Ende-Anordnung
von Rahmen in Bezug auf dieselbe Stimminformation.
-
DARSTELLUNG
DER ERFINDUNG
-
Eine
allgemeine Aufgabe der Erfindung besteht darin, eine Lösung für die Probleme
im Zusammenhang mit der Kontinuität der Wiedergabe des Sprachsignals
bei asynchroner Übertragung
vorzuschlagen, und dies durch Wirken im Bereich des Empfängers, das
heißt
am Ende der Übertragungskette.
-
Zu
diesem Zwecke schlägt
die Erfindung ein Verfahren gemäß Anspruch
1 vor.
-
Ein
solches Verfahren ist leicht umzusetzen und gewährleistet eine Qualitätsgarantie
unter Vermeidung einer exzessiven Steigerung der Übertragungsverzögerung und
durch effiziente Verwaltung der Lücken im Sprachsignal. Zudem
erfordert das Verfahren keinen spezifischen Hardware-Regelungskreis
und kann somit schnell an unterschiedliche Plattformen, Endgeräte und asynchrone
Netzwerke angepaßt
werden.
-
Dieses
Verfahren wird vorteilhafterweise durch die nachstehend angeführten Eigenschaften
ergänzt, die
alleine oder in allen technisch möglichen Kombinationen auftreten
können:
- – Verwendung
einer Stimmaktivitätserfassung
und Unterdrücken
der als inaktiv betrachteten Rahmen durch diese Erfassung, wenn
der Belegungsgrad zwischen einem ersten und einem zweiten Schwellenwert
liegt und Verwendung einer Konkatenierungsbearbeitung auf zwei aufeinander
folgenden Rahmen, wenn der Belegungsgrad zwischen einem zweiten
und einem dritten Schwellenwert liegt;
- – der
erste und der zweite Schwellenwert fallen zusammen;
- – am
Eingang oder am Ausgang eines Dekodierungsblocks, der einen ersten
Pufferspeicher am Eingang und/oder am Ausgang umfaßt, wird
ein eventuell fehlender oder irrtümlicher Rahmen oder ein eventuelles Fehlen
von wiederherzustellenden Abtastwerten erfaßt und ein falscher Rahmen
erzeugt, der die Kontinuität
der Audiowiedergabe gewährleistet,
wenn ein solcher fehlender oder irrtümlicher Rahmen oder ein Fehlen
eines Abtastwertes, der wiederherzustellen ist, erfaßt wird;
- – für den Fall,
daß der
Dekodierungsblock seine Dekodierungsbearbeitung in Bezug auf den
Inhalt des ersten Pufferspeichers auf zyklische Weise durchführt, wird
mit derselben zyklischen Frequenz das Erfassen eines eventuell fehlenden
oder irrtümlichen
Rahmens oder eines eventuellen Fehlens von wiederherzustellenden
Abtastwerten durchgeführt,
wobei diese Erfassung in Bezug auf die Dekodierungsbearbeitung so rechtzeitig
erfolgt, daß ein
Erzeugen von falschen Rahmen in der gewünschten Zeit ermöglicht wird;
- – es
werden keine falschen Rahmen erzeugt, wenn ein fehlender oder irrtümlicher
Rahmen auf einem Rahmen erfaßt
wird, für
den bereits ein Fehlen von Abtastwerten erfaßt worden ist;
- – für den Fall,
daß das
System eine Art von System ist, das freiwillig das Senden von Rahmen
einstellen kann, wird von einem Rahmen zum anderen die Art des zuvor
erzeugten Rahmens gespeichert, wobei in Abhängigkeit von dieser Information
bestimmt wird, ob falsche Rahmen oder stille Rahmen erzeugt werden sollen;
- – in
einer Konkatenierungsbearbeitung von zwei aufeinander folgenden
Rahmen werden die Abtastwerte derart gewichtet, daß den ersten
Abtastwerten des ersten Rahmens und den letzten Abtastwerten des
zweiten Rahmens mehr Bedeutung beigemessen wird;
- – der
(oder die) Schwellwerte(e) ist (oder sind) anpaßbar;
- – ein
Schwellwert ist eine Funktion der abgelaufenen Zeit, mit einem Belegungsgrad,
der höher
als ein bestimmter Schwellenwert ist.
-
Die
Erfindung betrifft auch eine Vorrichtung zur Wiederherstellung eines
Sprachsignals, umfassend einen ersten Pufferspeicher, der die kodierten
Rahmen empfängt,
Mittel, die eine Bearbeitung zur Dekodierung auf den Rahmen durchführen, die
in dem ersten Pufferspeicher gespeichert sind, einen zweiten Pufferspeicher, der
Rahmen empfängt,
die am Ausgang der Dekodierungsmittel dekodiert sind, Mittel zur
Tonwiederherstellung, welche Rahmen am Ausgang des zweiten Pufferspeichers
empfangen, dadurch gekennzeichnet, daß die Vorrichtung ferner Mittel
umfaßt,
um das zuvor genannte Verfahren umsetzen zu können.
-
Aus
der folgenden Beschreibung wird hervorgehen, daß es sich bei diesen Mitteln
im wesentlichen um Informatikmittel handelt.
-
DARSTELLUNG
DER FIGUREN
-
Weitere
Eigenschaften und Vorteile der Erfindung werden aus der folgenden
Beschreibung hervorgehen, die ausschließlich beispielhaften und keinerlei
einschränkenden
Charakter hat und die in Zusammenhang mit den beiliegenden Zeichnungen
zu lesen ist, in welchen:
-
1 eine
schematische Darstellung einer Kette zur asynchronen Übertragung
ist;
-
2 ein
Schema ist, welches eine Modellierung einer solchen Übertragungskette
zeigt;
-
3 ein
Schema einer Empfangsvorrichtung ist;
-
4 Signale
zeigt, die bei Durchführung
einer durch die Erfindung vorgeschlagenen Konkatenierungsbearbeitung
erhalten werden.
-
DETAILLIERTE BESCHREIBUNG
VON EINER ODER MEHREREN AUSFÜHRUNGSFORMEN
-
Das
Verfahren zur Verwaltung des Übertragungsasynchronismus,
das von der Erfindung vorgeschlagen wird, führt zwei Bearbeitungen der
zuvor genannten zwei Phänomene,
nämlich
des Fehlens von Abtastwerten und des Überschusses von Abtastwerten,
durch.
-
1. Darstellung
der Tonwiedergabekette einer klassischen Übertragungsanwendung
-
So
wie in 3 dargestellt, läßt sich die Kette zur Wiedergabe
des Sprachsignals in drei Elemente aufteilen:
- – Einen
Block 10, der auf den Empfang von Abtastwerten oder von
Koderahmen wartet, die vom Netzwerk kommen. Dieser Block 10 enthält einen
Speicher 11 vom Typ FIFO oder Pufferspeicher eines kreisförmigen Typs
(im folgenden als „FIFO
1" bezeichnet),
welcher es ermöglicht,
die Rahmen vor ihrer Dekodierung vorübergehend zu speichern.
- – Einen
Block 12 zur Dekodierung, welcher die Rahmen, die vom Block 10 kommen, übernimmt,
sie dekodiert und sie seinerseits in einem Speicher FIFO 13 (im
Folgenden als „FIFO
2" bezeichnet) speichert.
- – Einen
Wiedergabeblock 14, der die Rahmen der dekodierten Abtastwerte übernimmt
und sie an das Tonwiedergabesystem 15, gleich um welches
System es sich dabei handelt, sendet.
-
Gemäß den Endgeräten und
der Organisation der Kette ist die Taktfrequenz der Tonwiedergabe
(jene des Digital-Analog-Wandlers Fcna) nicht unbedingt direkt mit
allen diesen Blöcken
verbunden. Da der Block 14 in direkter Verbindung zum Wiedergabesystem
steht, ist dieses direkt mit der Frequenz Fcna verbunden. Die anderen
Blöcke
können
vielmehr mit der ankommenden Frequenz der Rahmen, die vom Netzwerk
stammen, anstatt mit der Frequenz Fcna in Verbindung stehen. In
der Tat ist es so, daß – wenn man
ein Endgerät als
Beispiel heranzieht, welches mit einem Multifunktionssystem versehen
ist, bei dem jeder Block durch eine spezifische Funktion ausgeführt wird – die Blöcke 10 und 12 somit
direkt mit dem Empfang der Rahmen verbunden sein könnten. Block 10 erwartet
einen Rahmen des Netzwerks, wobei dieser in der Folge durch den Block 12 dekodiert
und im Speicher „FIFO
2" gespeichert wird.
-
Was
den Block 14 anbelangt, der durch Fcna getaktet wird, sendet
dieser aus dem Speicher „FIFO
2" Abtastwerte kontinuierlich
an das Tonwiedergabesystem.
-
Man
sieht also, daß im
Fall eines „starken
oder schwachen Asynchronismus" die
Verwaltung des Speichers „FIFO
2" besondere Aufmerksamkeit
erfordert. Wenn Block 12 eng mit Block 14 verbunden
gewesen wäre,
hätte demzufolge
der Speicher „FIFO
1" besonderer Aufmerksamkeit
bedurft.
-
Der
Mechanismus gemäß einer
Ausführungsform
der Erfindung wird nun unter Verwendung der Verwaltung des Speichers „FIFO 2" dargestellt, wobei
im Laufe der Erläuterungen
festgestellt werden wird, wie – mit
Hilfe von bestimmten Adaptierungen – eine Übertragung auf die Verwaltung
des Speichers „FIFO
1" möglich ist.
-
2. Fehlen
von Abtastwerten
-
Um
im Fall des Fehlens von Abtastwerten eine fortlaufende Tonwiedergabe
zu gewährleisten,
werden die zwei potentiellen Quellen des Fehlens der wiederherzustellenden
Abtastwerte parallel behandelt. Die erste Quelle entspricht der
Information der Paketverluste und die zweite der Information bezüglich des
Fehlens von wiederherzustellenden Abtastwerten (zum Beispiel leerer „FIFO 2"), wobei es notwendig
ist, Abtastwerte an das Tonwiedergabesystem zu senden.
-
2.1 Verlust von Rahmen
oder irrtümliche
Rahmen
-
Die
Bearbeitung bei Verlust von Rahmen oder irrtümlichen Rahmen erfordert die
Bereitstellung eines Übertragungssystems,
welches einen Zugang zu Informationen über den Verlust von Rahmen
oder den Empfang von irrtümlichen
Rahmen ermöglicht.
-
Zum
Beispiel ist es bei IP-Netzwerken möglich, die Markeirung von Datenpaketen,
die aus der RTP-Schicht stammen, zu verwenden, woraus sich die exakte
Anzahl der Abtastwerte ergibt, die zwischen zwei Empfängen von
Audio-Code-Paketen verloren gegangen sind. Diese Information über die
Verluste von Rahmen oder, im Fall von IP, von Paketverlusten (wobei
die Pakete einen oder mehrere Sprachrahmen enthalten), wird erst
bei Empfang des Paketes allgemein bekannt, welches auf das oder
die verlorenen Pakete folgt.
-
Solange
ein oder mehrere gültiger)
Rahmen dekodiert werden können,
besteht nicht unbedingt Handlungsbedarf. In der Tat ist es bei den
Sprachkodierern der neuen Generation (CELP-Kodierer, Kodierer durch Transformation
usw.) aufgrund des Bemühens,
die Qualität
der akustischen Wiedergabe aufrechtzuerhalten, oft notwendig, einen
bestimmten Synchronismus zwischen dem Kodierer und dem Dekodierer
zu gewährleisten.
Der Verlust dieses Synchronismus zwischen Kodierer und Dekodierer
kann dadurch kompensiert werden, daß Korrekturalgorithmen für den Verlust
von Rahmen in Zusammenhang mit dem verwendeten Sprachkodierer verwendet
werden. Diese Algorithmen sind zum Beispiel in der Norm von bestimmten
Sprachkodierern vorgesehen (z. B. Norm ITU G.723.1). Bei der Verwendung
von einfacheren Kodierern ist dieser Mechanismus nicht unbedingt
erforderlich.
-
Wenn
eine große
Anzahl an Rahmen verloren gegangen ist, kann man die Anzahl von „falschen" Rahmen für die Abtastwerte,
die zu erzeugen sind, begrenzen, um zu vermeiden, daß der Speicher „FIFO 2" unnötig belegt
wird. Das Ziel der Bearbeitung der Erzeugung von falschen Rahmen
besteht darin, die Lücken
so zu belegen, daß eine
Kontinuität
des Signals gewährleistet
wird, aber auch so, daß die
internen Variablen des Dekodierers geglättet werden, um zu große Divergenzen
bei der Dekodierung des gültigen
Rahmens zu vermeiden, der auf die ungültigen oder verlorenen Rahmen
folgt, und um eine hörbare
Unterbrechung zu verhindern. Nach der Erzeugung von einigen Rahmen
können
die Variablen als geglättet
betrachtet werden und somit kann die Erzeugung von falschen Rahmen
auf eine kleine Anzahl von Rahmen (z. B. 4 bis 6) begrenzt werden,
wenn eine große
Anzahl von Rahmen verloren wurden.
-
Man
wird verstanden haben, daß somit
die Bearbeitung in Bezug auf die Informationen über die Rahmenverluste geregelt
wird.
-
Eine ähnliche
Bearbeitung wird in Bezug auf Informationen über so genannte „nicht
gültige
Rahmen" angewendet.
Diese Informationen werden an den Dekodierer durch den Netzwerkabschnitt
des Empfängers übertragen
und zwar so zeitgerecht, daß die
Verwendung eines Korrekturalgorithmus für die Rahmen möglich ist,
der durch Berücksichtigung
des nicht gültigen
Rahmens eine Signalkontinuität
und ferner das Vermeiden einer weiteren Quelle für das Fehlen von Abtastwerten
im Speicher „FIFO
2" ermöglicht.
-
Zusammenfassend
entspricht diese erste Bearbeitung somit der Verwaltung einer Information
vom Typ „n
verlorene Rahmen" oder „erhaltener
Rahmen nicht gültig", die von der Netzwerkschicht
des Empfängers kommt.
Diese Verwaltung ist durch die Verwendung eines Korrekturalgorithmus
für Verluste
von Rahmen (im vorliegenden Dokument auch als Algorithmus zur Erzeugung
von „falschen" Rahmen bezeichnet)
gekennzeichnet. Diese erste Bearbeitung wirkt somit im Bereich des
Dekodierungsblocks und versorgt den Speicher „FIFO 2".
-
2.2 Fehlen von wiederherzustellenden
Abtastwerten
-
Diese
zweite Bearbeitung betrifft den Takt, der aus Block 14 stammt,
das heißt
den Takt der Frequenz Fcna. In der Tat kann es sein – wie zuvor
angemerkt – daß der Speicher „FIFO 2" (oder „FIFO 1", wenn Block 12 mit
Block 14 verschachtelt ist) keine Abtastwerte mehr enthält, während es
notwendig ist, dem System zur Tonwiederherstellung Abtastwerte bereitzustellen.
Somit ist es angebracht, dem Wiederherstellungssystem Abtastwerte
bereitzustellen und – sofern
möglich – eine Wiederherstellung
von Nullen zu vermeiden (da dies das Tonsignal deutlich verschlechtert).
-
Die
zweite Bearbeitung kann als Rückführschleife
auf der Dekodierung der Rahmen bezeichnet werden. Diese Schleife
löst einen
Zugriff auf den Korrekturalgorithmus für Rahmenverluste aus und muß daher ausreichend
früh aktiviert
werden, um die Ausführung
des Algorithmus und das Senden der Abtastwerte an das Tonwiederherstellungssystem
zu ermöglichen.
Je nach Plattform kann die Rückführung unterschiedlich sein.
-
Die
Schleife kann auf zwei Arten verwendet werden, die nun beschrieben
werden.
-
Im
Fall eines Monoblock-Empfängers
(z. B. auf DSP ohne RTOS (Real time Operating System gemäß angelsächsischer
Terminologie) ist der Abschnitt Audiodekodierer vollständig mit
dem Takt des CNA (Fcna) verbunden und somit dauerhaft in Erwartung
eines in zyklischer Weise zu dekodierenden Rahmens. Bei einem Sprachkodierer,
der Rahmen von 30 ms verwendet, werden beispielsweise Warteschleifen
mit Mehrfachperiode von 30 ms konstruiert.
-
Somit
wird im Fall einer Schleife von 30 ms der Dekodierer alle 30 ms
lang in Erwartung eines zu dekodierenden Rahmens sein, der im Speicher „FIFO 1" angeordnet ist (was
genau dem Durchlauf eines Rahmens der Netzwerkschicht zum Block 12 entsprechen
kann). Bei der Ankunft des Rahmens wird dieser vom Dekodierer dekodiert
und im Speicher „FIFO
2" gespeichert,
um an den CNA gesendet zu werden. Die Rückführungsbearbeitung wird durch
die Feststellung durchgeführt,
daß T
= TO + 30 ms – Tc
des Fehlens des zu dekodierenden Rahmens im Speicher „FIFO 1", wobei TO = Zeit
des Anfangs der Warteschleife von 30 ms und Tc = Zeit der Ausführung des
Algorithmus zur Erzeugung von falschen Rahmen mit einer zusätzlichen
Marge, welche den Unterbrechungen und/oder anderen zusätzlichen
Bearbeitungen entspricht, die vor dem Ende der Schleife stattfinden
können.
-
Die
Bearbeitung wird somit mit dem Wartezeitanschlag Tb (Schleifenzeit) – Tc (Berechnungszeit
+ Marge) durchgeführt.
-
Im
Fall eines Mehrblock-Empfängers
(im Fall eines PC-Endgerätes
zum Beispiel) wird die Zeit nicht auf so präzise Weise erzeugt und somit
muß eine
etwas andere Bearbeitung durchgeführt werden. (Anmerkung: Diese
Bearbeitung ist dennoch der vorhergehenden ähnlich, da auch sie versucht,
die Zeit Tc zu berücksichtigen.)
In einem solchen Fall verfügt
man oft nur über
Warteschleifen in Verbindung mit Ereignissen, zum Beispiel mit dem
Ereignis, daß Pakete
vom Netzwerk empfangen wurden oder daß der Pufferspeicher „n" (der einen oder
mehrere Abtastwertrahmen erhalt), der zuvor an das Tonwiederherstellungssystem
gesendet wurde, von dem CNA gelesen wurde und somit erneut für ein neues
Senden an den CNA verfügbar
ist.
-
Je
nach Implementierung und der Notwendigkeit, schnell oder nicht auf
das Ereignis zu reagieren, ist es möglich, vor dem Belegen des
Pufferspeichers eine Verzögerung
zu markieren, um eine neuerliche Sendung zum CNA hin durchzuführen. Diese
Verzögerung
wird derart ausgewählt,
daß sie
ausreichend Zeit für
die Durchführung
des Algorithmus zur Erzeugung von „falschen" Rahmen (falls erforderlich) läßt.
-
Danach – am Ende
einer allfälligen
Verzögerung – überprüft die Bearbeitung
die Gegenwart von ausreichenden Abtastwerten im „FIFO 2" (Anmerkung: Das kann im „FIFO 1" sein, wenn die Verwaltung
in diesem Bereich angeordnet ist), und im gegenteiligen Fall fordert
sie die Erzeugung der Anzahl von falschen Rahmen, die für das Belegen
des Pufferspeichers „n" adäquat ist.
-
Für den Fall,
daß das
System dergestalt ist, daß der
Pufferspeicher „n" sofort belegt werden
muß, werden
die Kontrolle der Verfügbarkeit
von Abtastwerten und die eventuelle Aufforderung zur Erzeugung von „falschen
Rahmen" direkt nach
jedem Senden des Pufferspeichers an den CNA durchgeführt, damit
die erzeugten Abtastwerte bereits im Speicher „FIFO 2" sind, wenn es zum Ereignis „Pufferspeicher „n" verfügbar" kommt.
-
Ungeachtet
des Empfängers
wird somit die Bearbeitung das Fehlen von Abtastwerten feststellen,
die an das Tonwiederherstellungssystem zu senden sind, indem eine
Kontrolle der Belegung des Pufferspeichers „FIFO 2" (oder „FIFO 1", je nach Verwaltung der Tonwiedergabekette)
erfolgt, und aktiviert die Erzeugung von „falschen" Rahmen, um die fehlenden Abtastwerte
zu erzeugen.
-
Man
wird verstanden haben, daß die
zweite Bearbeitung vorrangig das Problem des „Gleitens" der Takte behandelt und insbesondere
den Fall, bei dem der Empfangstakt (Fcna) schneller als der Sendetakt (Fcan)
ist. Die Bearbeitung betrifft aber auch das Phänomen von Rahmenverlusten,
weil dieses Phänomen
zu einem Fehlen von Abtastwerten führen kann, die an den CNA zu
senden sind, bevor der Rahmenverlust erfaßt wird, wobei diese Erfassung
erst beim Empfang des Rahmens durchgeführt wird, der auf den Verlust
folgt.
-
Um
die Wirkungen der ersten und der zweiten Bearbeitung zu verbinden,
wird der ersten Bearbeitung verboten, bei der Erfassung eines Rahmenverlustes „falsche
Rahmen" zu erzeugen,
falls die entsprechenden Rahmen durch die zweite Bearbeitung erzeugt
wurden.
-
Zu
diesem Zweck werden Flaggen sowie Zähler verwendet, welche die
Anzahl an Abtastwerten bestimmen, die durch die zweite Bearbeitung
erzeugt werden.
-
2.3 Spezifische Maßnahmen
im Fall von Sprachkodierern, welche die Funktionalität VAD/DTX/CNG
verwenden
-
Kodierer,
welche ein System VAD/DTX/CNG verwenden, können freiwillig das Senden
von Rahmen einstellen. In diesem Fall darf das Fehlen von Abtastwerten
nicht genau wie ein Rahmenverlust betrachtet werden, sondern wie
ein Moment der Stille. Das einzige Mittel, um zu bestimmen, ob der
zu erzeugende Rahmen ein stiller Rahmen sein muß oder einem verlorenen Rahmen
entspricht, besteht darin, den Typ des zuvor erzeugten Rahmens zu
kennen (entweder Signalrahmen oder ein Rahmen, der einem verlorenen
Rahmen (FSF) entspricht, oder ein Rahmen für Geräuschaktualisierung (SID) oder
ein stiller Rahmen (NOT)). Zu diesem Zweck wird der Typ des erzeugten
Rahmens gespeichert und zum Zeitpunkt der Rahmenerzeugung die Entscheidung
für ein
Fehlen von Rahmen oder einen Rahmenverlust gefällt, falls falsche Rahmen erzeugt
werden müssen,
die aus dem Korrekturalgorithmus für Rahmenverluste stammen (Fall
des vorhergehenden Rahmens vom Typ FSF), oder stille Rahmen erzeugt
werden müssen,
indem der Dekodierer auf adäquate
Weise aktiviert wird (Fall des vorhergehenden Rahmens SID oder NOT).
-
3. Überfluß an wiederherzustellenden
Abtastwerten
-
Für den Fall
eines Überflusses
an wiederherzustellenden Abtastwerten wird eine Bearbeitung zur
Entleerung der Rahmen durchgeführt,
mit teilweiser oder vollständiger
Unterdrückung
von bestimmten Rahmen vor ihrer eventuellen Berücksichtigung durch das System
zur Tonwiedergabe.
-
Die
Bearbeitung ermöglicht
eine Speicherung der Rahmen in den Pufferspeichern bis bestimmte Schwellenwerte
Maßnahmen
auslösen,
um die Speicherung und die Verzögerung
auf der Kommunikationskette zu begrenzen, welche diese impliziert.
Diese begrenzte Speicherung ermöglicht
in der Tat die Berücksichtigung
von Jitter-Phänomenen
beim Empfang von Rahmen in Bündeln
und von Taktgleiten, wobei gleichzeitig die Übertragungsverzögerung begrenzt
wird.
-
3.1 Entleerungsbearbeitung
-
Das
Ansammeln von Rahmen ist zunächst
im Bereich des Speichers „FIFO
1" erfaßbar, danach
wird es im Bereich des Speichers „FIFO 2" übertragen.
-
Das
vorgeschlagene Verfahren verwaltet die Information der Belegung
eines Referenzpufferspeichers, das heißt „FIFO 1" oder „FIFO 2" gemäß der Installation
der Blöcke 10, 12 und 14 (zuvor
erläutert)
im Empfänger.
In der Tat ist es so, daß – wenn die
Blöcke 12 und 14 verbunden
sind – die
Belegungsinformation, die für das
Verfahren verwendet wird, jene in Bezug auf den Speicher „FIFO 1" ist, welcher als
Puffer zwischen dem Netzwerk und dem Tonwiedergabesystem dient.
Wenn die Blöcke 10 und 12 verbunden
sind, dient der Speicher „FIFO
2" als Puffer, und
somit ist es sein Belegungsgrad, der für die Verwaltungsbearbeitung
berücksichtigt
wird.
-
Die
Bearbeitung wird nun unter Bezugnahme auf den zweiten Fall in den
Figuren erläutert.
Der erste Fall kann davon sofort durch Transposition abgeleitet
werden.
-
Um
eine Synchronisation zwischen dem Kodierer und dem Dekodierer so
gut wie möglich
und somit eine optimale Tonwiederherstellung zu bewahren, wird entschieden,
alle Rahmen, die vom Netzwerk kommen, zu dekodieren. Die Bearbeitung
entscheidet in Abhängigkeit
von der Belegungsinformation über
die Maßnahme
in Zusammenhang mit dem dekodierten Rahmen. Diese Maßnahme wird
im folgenden detailliert dargelegt. Um die Bearbeitung zu aktivieren,
werden Schwellenwerte für
die Belegung verwendet. Diese Schwellenwerte definieren Alarmebenen
für die
Belegung des „FIFO"-Speichers. Um so
leise wie möglich
zu handeln (das heißt,
um die Verschlechterung der Qualität zu begrenzen), werden zwei
Handlungsebenen ausgewählt.
Eine erste Ebene (Alarmebene 1) entspricht einem nicht
kritischen Niveau für übermäßige Belegung
(weit von der maximal tolerierten Belegung entfernt), die zweite
Ebene (Alarmebene 2) entspricht ihrerseits einer verpflichtenden
Maßnahme
auf jedem Rahmen (in mittlerer Nähe
zur maximal tolerierten Belegung). Eine dritte Ebene (Alarmebene 3),
die als Sicherheitsebene bezeichnet wurde (um Speicherüberläufe oder
andere Probleme zu vermeiden), ist definiert worden. Sie entspricht
einer Belegung nahe der maximal tolerierten Belegung. Diese Alarmebene
wird in der Tat niemals erreicht, wenn die Maßnahmen der zwei vorhergehenden
Schwellen gut ausgeführt
werden und die Schwellwerte korrekt definiert sind.
-
Bei
jeder Dekodierung wird die Information für die Belegung mit den Schwellwerten
verglichen, um den Zustand des „FIFO"-Speichers (in Alarmzustand oder nicht)
und, gegebenenfalls, die Alarmebene in Erfahrung zu bringen.
-
Wenn
der erhaltene Zustand kein Alarmzustand ist, werden keinerlei Maßnahmen
getroffen, und der dekodierte Rahmen wird im „FIFO 2" gespeichert.
-
Im
ersten Alarmzustand geht man davon aus, daß mindestens 50 % des Signals,
das von einer Konversation stammt, nicht nützlich ist; somit werden in
dieser Alarmebene alle Rahmen unterdrückt, die nur wenige Informationen
aufweisen. Zu diesem Zweck kann diese Bearbeitung einen einfachen
DAV (DAV = Detektor für
Stimmenaktivität)
verwenden, der alle Abtastwertrahmen nach ihrer Dekodierung durchsucht
und eine Entscheidung darüber
ermöglicht,
ob sie in den „FIFO
2" geschrieben werden
oder nicht. Die Bearbeitung kann auch ausgehend von Informationen,
die direkt aus dem Rahmen von Codes stammen, darüber entscheiden, ob die darin
enthaltenen Informationen wichtig sind oder nicht. In diesem Alarmzustand
werden alle Rahmen, von denen angenommen wird, daß sie nur
Geräusche
enthalten, für
eine zukünftige
Tonwiederherstellung nicht im „FIFO
2" gespeichert.
-
In
dem zweiten Alarmzustand (kritische Ebene) ist es notwendig, auf
jeden Rahmen zu wirken, um das Ansteigen der Belegung des Speichers „FIFO 2" stark zu begrenzen.
Auf dieser Ebene bleibt die vorhergehende Bearbeitung (das heißt jene,
die für
die Alarmebene 1 verwendet wurde) aktiv. Aber diesmal müssen zwei aufeinanderfolgende
Rahmen auf einen Rahmen oder weniger reduziert werden. Somit wird
eine Entscheidung ausgehend von zwei Abtastwertrahmen, die nicht „still" sind, gefällt (in
der Tat ist es so, daß wenn
ein Rahmen „still" ist, dieser einfach
nicht in den „FIFO
2" geschrieben wird
(das ist beim Alarmzustand 1 der Fall, der im Alarmzustand 2 enthalten
ist)). Eine Maßnahme
auf zwei aufeinanderfolgenden Rahmen wird somit nur dann ausgeführt, wenn
ein Rahmen als nicht „still" erfaßt wird.
Dieser Rahmen wird zunächst
gespeichert, danach wird – wenn
der zweite Rahmen „still" ist – der erste
Rahmen in den FIFO 2" geschrieben.
-
Falls
die beiden Rahmen wichtige Informationen enthalten, ist es ratsam,
diese beiden Rahmen durch einen einzigen zu ersetzen, welcher den
Informationsverlust und die Verschlechterung der Qualität minimiert. Dieser
resultierende Rahmen wird im „FIFO
2" gespeichert.
Jegliche wirksame Lösung,
die in der Lage ist, diese Aufgabe zu erfüllen, kann unter diesen Bedingungen
verwendet und aktiviert werden (zweiter Alarmzustand und zwei nicht „stille" Rahmen). Im folgenden
werden zwei Beispiele von Algorithmen für die Erfüllung dieser Aufgabe angeführt.
-
Gemäß einer
ersten Algorithmuslösung
werden die zwei Rahmen Ende-an-Ende durch einen einzigen Rahmen
ersetzt, wo jeder Koeffizient xj (wobei
j von 0 bis N–1
geht (wobei N die Anzahl von Abtastwerten pro Rahmen ist)) den Wert
(xi + xi+1)/2 annimmt
(wobei i von 0 bis 2·N–1 geht,
wobei die xi von den zwei ursprünglichen
Rahmen stammen). Diese Lösung
führt in
bestimmter Weise zu einer geglätteten
Unterabtastung. Die wiederhergestellte Signalfrequenz wird dann
auf diesem Rahmen verdoppelt. Von den Erfindern wurde jedoch festgestellt,
daß diese
Lösung – wenn der
Alarmzustand 2 nicht sehr häufig ist – ausreicht, um die Qualität der Tonwiedergabe
aufrechtzuerhalten.
-
Gemäß einer
zweiten Lösung
wird ein Erfassen der Lautstärke
des Signals durchgeführt,
um die beiden Rahmen in einem Pseudorahmen mit einer Länge zu kompaktieren,
die geringer oder gleich der Länge eines
Rahmens ist. Die Anzahl von Abtastwerten, die in diesem Pseudorahmen
enthalten sind, wird durch die Information bezüglich der Grundfrequenz (in
der angelsächsischen
Terminologie als „pitch" bezeichnet) bestimmt,
ist aber auf jeden Fall geringer oder gleich der Länge eines
normalen Rahmens, wobei sie der Länge des Rahmens nahe kommt.
Der verwendete Algorithmus ermöglicht
es, eine Kontinuität
des Wiedergabesignals ohne hörbare
Lücke und
ohne Verdoppelung der Frequenz zu gewährleisten, wobei gleichzeitig
die Speicherung des Signals von einem Faktor größer oder gleich 2 geteilt wird.
Dies wird detaillierter im unten angeführten Absatz 3.4 erläutert. Ferner
wird auch der Verlust an Toninformationen minimiert, wobei in der
Tat weniger als 50 % der Informationen unterdrückt werden.
-
Man
wird feststellen, daß in
dem Fall, in dem der Empfänger
seine Bearbeitung ausgehend von einer Analyse des FIFO 1" durchführt, wobei
der Dekoder direkt mit dem System zur Tonwiedergabe verbunden ist, eine
ausreichende Anzahl an Abtastwerten erzeugt werden muß, das heißt in unserem
Fall, daß die
Bereitstellung von mindestens einem Abtastwertrahmen im „FIFO 2" gewährleistet
werden muß.
Der Konkatenierungsalgorithmus für
Rahmen wird somit kalibriert, um immer ein Minimum an Abtastwerten,
aber mindestens einen Rahmen zu erzeugen. Eine andere Lösung kann
auch darin bestehen, eine mehrmalige anstatt nur eine einmalige
Aktivierung durchzuführen,
wenn dies erforderlich ist, um eine ausreichende Anzahl an Abtastwerten zu
erhalten.
-
Auf
der dritten Alarmebene, die normalerweise nie erreicht wird, wird
kein Rahmen im „FIFO
2" gespeichert.
Als Variante kann das System auch beschließen, eine plötzliche
Entleerung eines Abschnitts des Pufferspeichers durchzuführen (das
könnte
der Fall sein, wenn die Verwaltung von „FIFO 1" aktiviert ist).
-
Ferner
wird man feststellen, daß gemäß den Netzwerken
und den Arten der Asynchronismus-Probleme entschieden werden kann,
ob bestimmte Alarmebenen aktiviert werden sollen oder nicht. Zum
Beispiel können
im Fall eines „schwachen
Asynchronismus" die
Alarmebenen 1 und 2 zusammengefaßt werden,
wobei die einfache Lösung
des Austauschens von zwei Rahmen durch einen einzigen, die einzige
aktive Bearbeitung sein kann.
-
3.2 Alarmschwellwerte
-
Nun
erfolgt eine detailliertere Beschreibung der Alarmschwellwerte und
ihrer Verwaltung.
-
Wie
zuvor erläutert,
gilt der Referenzspeicher als im Alarmzustand 1 befindlich, wenn
seine Belegung über
dem Schwellwert 1 liegt. Dieser Zustand bleibt so lange aktiv, bis
die Belegung unter den Schwellwert 0 sinkt. Der Zustand 1 folgt
somit einer Funktionsweise in Form einer Hysterese.
-
Der
Speicher gilt als im Alarmzustand 2 befindlich, wenn die Belegung über dem
Schwellwert 2 liegt, und als im Alarmzustand 3 befindlich, wenn
die Belegung über
dem Schwellwert 3 liegt. Eine Verwaltung dieser Alarmzustände durch
Hysterese kann ebenfalls vorgesehen werden.
-
Die
Schwellwerte 0, 1 und 2 können
angepaßt
werden. Der Schwellwert 3, der direkt mit der maximalen tolerierten
Größe verbunden
ist, ist fix. Die Anpassung dieser Schwellwerte ist erforderlich,
um die unterschiedlichen Kontexte der Kommunikation und Fluktuation
im Laufe der Zeit zu berücksichtigen.
In der Tat ist es ratsam, wenn man mehr Verzögerung genehmigen kann, wenn
es in der Kommunikation viel Jitter gibt (die Verzögerung in
Bezug auf die Wiedergabe bleibt das beste Mittel, um bei Jitter
eine korrekte Qualität
zu gewährleisten).
Bei Vorliegen von beträchtlichem
Jitter ist es daher ratsam, die Schwellwerte 0, 1 und 2 auf ziemlich
hohem Niveau anzusiedeln.
-
Um
die Bearbeitung zu vereinfachen, kann die Position der Schwellwerte
einer gesamten Anzahl der Größe der Rahmen
entsprechen, die zwischen unterschiedlichen Blöcken des Empfängers ausgetauscht
wurden. Tt ist diese Größe der Rahmen.
-
Die
Anfangswerte dieser Schwellwerte können zum Beispiel wie folgt
sein:
Schwellwert
0: | 5 × Tt |
Schwellwert
1: | 8 × Tt |
Schwellwert
2: | 12 × Tt |
Schwellwert
3: | 24 × Tt (fixer
Wert). |
-
Die
Werte 0, 1 und 2 können
gemeinsam durch Größenschritte
Tt angepaßt
werden. Die Extremwerte, die zugelassen sind, können zum Beispiel von –1 bis +8
liegen.
-
So
kann zum Beispiel der Schwellwert 1 die Werte 7x, 8x, 0x, 10x, ...,
16x Tt annehmen. Die eigentliche Anpassung der Schwellwerte erfolgt
ausgehend von einem Anpassungskriterium, das die Zeit ist, die im Alarmzustand
verstrichen ist. Zu diesem Zweck wird ein Prozentsatz des Alarmzustandes
ungefähr
alle N Sekunden (zum Beispiel N = 10) evaluiert. Wenn der Prozentsatz über einem
bestimmten Schwellwert (5 %) liegt, werden die Schwellwerte für den Alarmzustand
erhöht.
Wenn hingegen diese Prozentsätze
unter einem bestimmten Mindestschwellwert (0,5 %) liegen, dann werden
die Alarmschwellwerte gesenkt. Um eine zu starke Oszillation des
Systems infolge einer zu häufigen
Anpassung der Schwellwerte zu verhindern, wird eine Hysterese auf
die Entscheidung zur Anpassung angewendet. In der Tat werden die
Schwellwerte nur dann wirklich um einen Schritt erhöht, wenn
zwei aufeinander folgende Erhöhungsoptionen
bestehen, und werden um einen Schritt im Fall von drei aufeinander
folgenden Senkungsoptionen gesenkt. Es verstreichen somit mindestens 2·N-Sekunden
zwischen zwei Schwellwerterhöhungen
und 3·N-Sekunden
zwischen zwei Schwellwertsenkungen. Das Verfahren zur Erhöhung der
Schwellwerte kann beschleunigt werden, wenn ein bedeutender Prozentsatz
an Rahmen im Alarmzustand ist. Ein beschleunigendes Verfahren besteht
darin, die Schwellwerte direkt zu erhöhen, wenn der Alarmprozentsatz
zum Beispiel höher
als 50 % ist.
-
Selbstverständlich werden
die angeführten
Schwellwerte für
die Alarmprozentsätze
nur mit beispielhaftem Charakter angeführt.
-
3.3 Interaktion mit der
ersten Bearbeitung
-
Die
erste Bearbeitung ist die Bearbeitung, welche die Erzeugung von „falschen" Rahmen bei Rahmenverlust
oder irrtümlichen
Rahmen auslöst.
Wenn das System im Alarmzustand ist (Überfluß von Rahmen), ist es nicht
mehr notwendig, diese „falschen" Rahmen zu erzeugen,
die das Phänomen
des Überflusses
nur verstärken.
Dennoch ist es für
die Qualität
der akustischen Wiedergabe notwendig, eine Synchronisation zwischen
Kodierer und Dekodierer aufrechtzuerhalten, indem der Dekodierer über den
Rahmenverlust informiert wird (indem zum Beispiel eine oder zwei
Generationen von falschen Alarmen (aber nicht mehr) abgesetzt werden).
Die dritte Bearbeitung wird im Alarmzustand auf die erste Bearbeitung
wirken, um die Erzeugung von „falschen“. Rahmen
deutlich zu begrenzen.
-
3.4 Konkatenierung von
Rahmen
-
Die
Konkatenierungsbearbeitung verfolgt das Ziel, die Dauer eines digitalen
Audiosignals zu verkürzen,
welches Sprache oder Musik enthält,
indem eine möglichst
geringe hörbare
Verschlechterung eingeführt wird.
Bei gegebener und fixer Abtastfrequenz wird die Anzahl der Abtastwerte,
die an das Gerät
für die
Tonwiedergabe gesendet werden, verringert. Eine offensichtliche
Lösung
für das
Verkürzen
einer Sequenz von N Abtastwerten besteht darin, M Abtastwerte, die
regelmäßig von
der betreffenden Sequenz beabstandet sind, zu entfernen. Das führt zur
Erhöhung
der Grundfrequenz, was sich negativ auf den Hörvorgang auswirken kann, wenn
das Verhältnis
M/N hoch ist. Zudem besteht das Risiko, daß das Abtasttheorem nicht mehr
eingehalten wird. Die unten dargestellte Bearbeitung ermöglicht es,
eine Audiosequenz zu verkürzen,
ohne die Grundfrequenz zu modifizieren und ohne eine hörbare Verschlechterung
infolge der Diskontinuität
des Signals einzuführen.
Diese Bearbeitung beruht auf einem Erfassen des Wertes der Periode „pitch". Die Anzahl der durch
diesen Algorithmus eliminierten Abtastwerte kann nicht frei gewählt werden,
sondern ist ein Vielfaches des Wertes des Pitch P. Es ist jedoch
möglich,
die Mindestanzahl an Abtastwerten, die eliminiert werden sollen, Nemin, zu definieren, welche die Beziehung
Nemin ≤ N/2
verifizieren muß.
Wie im Rahmen der Vorrichtung zur Verwaltung des Asynchronismus
einer Audioübertragung,
besteht das Ziel darin, mindestens 50 % der Abtastwerte zu unterdrücken. Vorteilhafterweise
wird Nemin = N/2 festgelegt. Es wird ebenso
angenommen, daß der maximale
Wert des Pitch P geringer als die Länge N der zu verkürzenden
Sequenz ist. Die Anzahl Ne der durch den
Algorithmus eliminierten Abtastwerte ist dann das kleinste Vielfache
des Wertes des Pitch P, der größer oder
gleich Nemin : Ne =
kP ist, wobei k eine positive ganze Zahl ist, Ne ≥ Nemin > Ne–P.
Die Länge
des Ausgangssignals ist dann Nr= N – Ne. Das zu verkürzende Eingangssignal ist s(n),
n = 1, ..., N ist das Ausgangssignal s'(n), n = 1, ..., Nr.
Um die Kontinuität
des Ausgangssignals zu gewährleisten,
erfolgt eine progressive Fusion der ersten und der letzten Nr-Abtastwerte des Signals s(n) : s'(n) = s(Ne=n).w(n)+s(n).(1–w(n)), n=1, .., Nr,
wobei w(n) eine Gewichtungsfunktion ist wie 0≤w(n)≤1, n=1, ..., Nr und
w(n) ≤ w(n+1),
n=1, ...., N1–1. Zum Beispiel kann w(n)
einfach die lineare Funktion w(n) = n/Nr sein.
Für ein
nicht stimmhaftes Signal, bei dem kein Pitch bestimmt werden kann,
kann Ne frei festgelegt werden.
-
Die 4,
in der die Sequenzen A, B, C und D von Signalen dargestellt sind,
zeigt die Verwendung der Bearbeitung bei einem konkreten Beispiel.
Die erste Sequenz (A) zeigt das Signalstück s(n) von N=640 zu verkürzenden
Abtastwerten in Vollinie. Die Aufgabe besteht darin, diese Sequenz
um mindestens 320 Abtastwerte zu verkürzen, ohne die Grundfrequenz
zu ändern
und ohne eine Diskontinuität
oder andere hörbare
Verschlechterungen einzuführen.
Der Pitch von s(n) variiert leicht, wobei sein Wert am Anfang der
Sequenz gleich 49 und am Ende der Sequenz gleich 45 ist. Der Pitch,
der durch ein Korrelationsverfahren erfaßt wird, ist P=47. Somit wird
s(n) durch k=7 Perioden verkürzt,
also Ne = kP = 7 × 47 = 329 Abtastwerte.
-
In
diesem Beispiel wurde eine lineare Gewichtung gewählt. Die
Sequenzen B und C zeigen die zwei bereits gewichteten Signalstücke mit
der Länge
Nr = N–Ne=311, die in der Folge fusioniert werden.
Die Fusion erfolgt durch Hinzufügen
dieser zwei Signale. Auf der Sequenz C kann man beobachten, daß aufgrund
der leichten Variation des Pitch diese zwei Signalstücke s(n)
ein wenig phasenverschoben sind. Dank der verwendeten Fusionstechnik
führt dies
zu keiner Diskontinuität
im Ausgangssignal s'(n)
(Vollinie bei Sequenz D). Ferner ist bei Sequenz 4 zu sehen,
daß das
verkürzte
Signal s'(n) vollkommen
mit den anderen vorhergehenden und folgenden Signalen in Phase bleibt
(gestrichelte Linie in 1 und 4).