(19)
(11) EP 1 390 946 B1

(12) EUROPÄISCHE PATENTSCHRIFT

(45) Hinweis auf die Patenterteilung:
06.10.2004  Patentblatt  2004/41

(21) Anmeldenummer: 02729881.9

(22) Anmeldetag:  26.04.2002
(51) Internationale Patentklassifikation (IPC)7G10L 19/06, G10L 19/00
(86) Internationale Anmeldenummer:
PCT/DE2002/001546
(87) Internationale Veröffentlichungsnummer:
WO 2002/095733 (28.11.2002 Gazette  2002/48)

(54)

VERFAHREN ZUR SCHÄTZUNG EINES CODECPARAMETERS

METHOD FOR ESTIMATING A CODEC PARAMETER

PROCEDE D'EVALUATION D'UN PARAMETRE DE CODEUR-DECODEUR


(84) Benannte Vertragsstaaten:
DE FR GB

(30) Priorität: 18.05.2001 DE 10124421

(43) Veröffentlichungstag der Anmeldung:
25.02.2004  Patentblatt  2004/09

(73) Patentinhaber: SIEMENS AKTIENGESELLSCHAFT
80333 München (DE)

(72) Erfinder:
  • FINGSCHEIDT, Tim
    81543 München (DE)
  • GUITARTE PEREZ, Jesus
    E-44002 Teruel (ES)


(56) Entgegenhaltungen: : 
EP-A- 0 459 358
   
  • HUSAIN A ET AL: "CLASSIFICATION AND SPECTRAL EXTRAPOLATION BASED PACKET RECONSTRUCTION FOR LOW-DELAY SPEECH CODING" PROCEEDINGS OF THE GLOBAL TELECOMMUNICATIONS CONFERENCE (GLOBECOM). SAN FRANCISCO, NOV. 28 - DEC. 2, 1994, NEW YORK, IEEE, US, Bd. 2, 28. November 1994 (1994-11-28), Seiten 848-852, XP000488660 ISBN: 0-7803-1821-8
  • AGRAWAL J P ET AL: "SAMPLE ROBBING IN PREDICTIVE SPEECH CODERS" IEEE TRANSACTIONS ON COMMUNICATIONS, IEEE INC. NEW YORK, US, Bd. COM-34, Nr. 11, November 1986 (1986-11), Seiten 1068-1072, XP000990523 ISSN: 0090-6778
   
Anmerkung: Innerhalb von neun Monaten nach der Bekanntmachung des Hinweises auf die Erteilung des europäischen Patents kann jedermann beim Europäischen Patentamt gegen das erteilte europäischen Patent Einspruch einlegen. Der Einspruch ist schriftlich einzureichen und zu begründen. Er gilt erst als eingelegt, wenn die Einspruchsgebühr entrichtet worden ist. (Art. 99(1) Europäisches Patentübereinkommen).


Beschreibung


[0001] Die Erfindung betrifft ein Verfahren zur Schätzung eines im Zuge einer Sprachcodierung auftretenden Parameters, insbesondere eines Filterkoeffizienten, eines Verstärkungsfaktors, oder einer Sprachgrundfrequenz.

[0002] In digitalen Kommunikationssystemen wie dem Internet oder Mobilfunksystemen wie beispielsweise GSM oder UMTS werden Quellcodierverfahren, beispielsweise Sprach-, Audio-, Bildoder Videocodierverfahren eingesetzt, um die zu übertragende Bitrate zu senken. Die Quellcodierverfahren liefern üblicherweise einen Bitstrom, der in Rahmen aufgeteilt ist. Im Falle der Sprachübertragung im GSM-System repräsentiert ein Rahmen sprachcodierter Bits 20 ms des Sprachsignals. Die Bits innerhalb eines Rahmens repräsentieren unter anderem einen bestimmten Satz an Parametern. Diese Parameter beschreiben beispielsweise die spektrale Einhüllende des Sprachsignals, die Sprachgrundfrequenz, oder eine Signalenergie beziehungsweise Verstärkung.
Ein Rahmen ist wiederum vielfach in Subrahmen aufgeteilt, so daß manche Parameter einmal pro Rahmen, andere einmal pro Subrahmen übertragen werden.
Im Falle des US-TDMA Enhanced Fullrate (EFR) Sprachcodecs mit 7.4 kbps enthält ein 20 ms-Rahmen 148 bit. Ein Rahmen besteht hier aus vier Subrahmen. Die Parameter sind hier im einzelnen:
  • Die 10 Koeffizienten eines Filters, welches die spektrale Einhüllende des Sprachsignals im Bereich des aktuellen Rahmens repräsentiert, werden mit 26 Bit pro Rahmen quantisiert. Diese Koeffizienten werden auch Spektralkoeffizienten oder Spektralparameter genannt.
  • Mittels 4x7 bit werden vier Subrahmen eines Anregungssignals für dieses Filter quantisiert.
  • Mittels 2x8 bit und 2x5 bit werden vier Werte einer Sprachgrundfrequenz repräsentiert.
  • Mittels 4x7 bit werden vier Verstärkungsfaktorpaare pro Rahmen vektorquantisiert.


[0003] Zusammenfassend läßt sich also sagen, daß die Bits innerhalb eines Rahmens im allgemeinen einen bestimmten Satz an Parametern repräsentieren, welcher abhängig vom jeweils verwendeten Quellcodierverfahren ist.

[0004] Dem digitalisierten Signal innerhalb eines Rahmens wurde auf der Sendeseite durch die sogenannte Quellcodierung Redundanz entzogen. Auf der Empfangsseite wird dies durch die Quelldecodierung, etwa die Sprachdecodierung, weitgehend rückgängig gemacht.

[0005] Es kann nun passieren, daß einzelne oder auch mehrere aufeinanderfolgende Rahmen verlorengehen oder von einer Netzkomponente als unbrauchbar gekennzeichnet werden. Diese Rahmen, sogenannte "bad frames", können oder sollen dann nicht genutzt werden. Der Quelldecodierer, beispielsweise der Sprachdecodierer, muß auf der Empfangsseite Maßnahmen ergreifen, daß ein solcher Rahmenverlust nach Möglichkeit nicht hörbar beziehungsweise im Falle von Bild- oder Videoübertragungen nicht sichtbar wird.

[0006] Im allgemeinen liegt auf der Empfangsseite ein Indikator vor, der anzeigt, ob ein Rahmen fehlerfrei empfangen wurde, der sogenannte bad frame indicator (BFI). BFI = 0 bedeutet im folgenden, daß man davon ausgeht, daß der empfangene Rahmen korrekt ist, während BFI = 1 auf einen Fehler hindeutet, beispielsweise daß kein Rahmen rechtzeitig empfangen wurde oder ein gestörter Rahmen empfangen wurde. Natürlich können Bitfehler, das heißt die Umkehrung einzelner Bits, innerhalb eines Rahmens je nach Systemgegebenheiten auftreten. Diese sollen aber im weiteren entweder keine differenzierte Behandlung auf der Empfangsseite erfahren, oder der entsprechende Rahmen wird mit BFI = 1 gekennzeichnet.

[0007] Bisher wird im Falle BFI = 1 aus der Vergangenheit des schon decodierten Sprachsignals beispielsweise durch Korrelationsbildung der gegenwärtige Sprachsignalrahmen geschätzt. Alternativ sind Verfahren bekannt, die aus der Vergangenheit der Sprachcodecparameter die Parameter des aktuellen Rahmens schätzen, und dann den Decodierer in ähnlicher Weise arbeiten lassen, als wären diese geschätzten Parameterwerte korrekt. Hierbei handelt es sich in der Regel um extrapolative Verfahren, die nur auf die schon empfangenen Bits oder Parameterwerte zurückgreifen.

[0008] Bei der Sprachübertragung über das Internet, beispielsweise Voice over IP (VoIP), oder bei der Sprachübertragung über das Internet in Verbindung mit einem Mobilkommunikationssystem (wie beispielsweise GSM oder UMTS) ist empfangsseitig ein Pufferspeicher (Buffer) erforderlich, da empfangene Pakete nicht in einem festen Zeitraster eintreffen, sondern mit unterschiedlichen Verzögerungszeiten ankommen (delay jitter). Ein solcher Pufferspeicher kann gegebenenfalls mehrere Rahmen an Länge umfassen, wodurch zu häufige Rahmenverluste auf Kosten einer erhöhten Übertragungsverzögerung verhindert werden können. Es tritt jedoch auch häufig der Fall ein, daß mehrere aufeinanderfolgende Rahmen verlorengehen, aber der darauffolgende Rahmen korrekt empfangen ist. In solchen Fällen ist bei der Verwendung eines Pufferspeichers eine Interpolation der Sprachcodecparameter der verlorengegangenen Rahmen anstelle einer konventionellen Extrapolation vorteilhaft, da sie im Allgemeinen genauer ist. Eine einfache Lösung wäre eine lineare Interpolation auf der Basis der Parameterwerte des letzten decodierten Rahmens (Zeitpunkt t=n-1) und der Parameterwerte des korrekt empfangenen Rahmens (Zeitpunkt t=m>n) über alle m-n dazwischenliegenden verlorengegangenen Rahmen (Zeitpunkte t=n, n+1, ..., m-1). Ein Pufferspeicher und damit eine Parameterinterpolation kann auch bei Streaming-Anwendungen realisiert werden, da sie in der Regel nicht sensitiv bezüglich der Verzögerungszeit sind, siehe z.B. EP-A-0459358.

[0009] Nachteilig wirkt sich jedoch dabei aus, daß es Parameter gibt, die nicht einfach interpoliert werden können. Dazu zählen oftmals die Verstärkungsfaktoren, die Sprachgrundfrequenzwerte oder auch die Spektralparameter V_i(t) eines Sprachrahmens zum Zeitpunkt t, weil sie differentiell codiert sind. Ein Spektralparameter V_i(t) eines Sprachrahmens ist im Falle einer Sprachcodierung beispielsweise der Filterkoeffizient des zeitabhängigen, digitalen Filters, mit dessen Hilfe der Vokaltrakt modelliert wird:
Sprache wird beispielsweise mittels des LPC-Prinzips (Linear Predictive Coding) codiert. Stimmhafte Laute werden in diesem Falle über eine periodische Folge von Impulsen generiert, stimmlose Laute beispielsweise mittels eines Zufallsrauschens-Generators (Random Noise Generator). Plosivlaute werden mit Hilfe einer Veränderung der Verstärkung, und der Stimmtrakt mit Hilfe eines zeitlich variierenden digitalen Filters simuliert. Die Koeffizienten dieses variierenden digitalen Filters erhält man mit Hilfe der linearen Prädiktion, also einer Vorhersage des folgenden Wertes auf der Basis von vorhergehenden Werten.

[0010] Unter differentieller oder prädiktiver Codierung versteht man eine Codierung eines Parameters zu einem Zeitpunkt n, bei der auch Werte des Parameters zu vor dem Zeitpunkt n liegenden Zeiten miteinbezogen werden.

[0011] Ein Parameter im Sinne der nachfolgenden Ausführungen kann beispielsweise ein Verstärkungsfaktor, eine Sprachgrundfrequenz oder ein Spektralparameter sein. Übliche Darstellungsformen von Spektralparametern sind beispielsweise die Filterkoeffizienten selbst (in sogenannter direkter Form), Autokorrelationskoeffizienten, Reflexionskoeffizienten oder sogenannte Log-area-Ratios. Eine State-of-the-Art-Darstellung sind beispielsweise die ISF (imittance spectral frequencies), LSF (line spectral frequencies) beziehungsweise LSP (line spectral pairs). Der Einfachheit halber wird ein Parameter im folgenden ohne Beschränkung der Allgemeinheit als Spektralkoeffizient angenommen.

[0012] Eine differentielle Codierung und Decodierung des Parameters V_i(t) kann beispielsweise in folgender Weise erfolgen: Sendeseitig wird ein Differenzsignal X_i(t=n) bestimmt gemäß:

wobei V_i(n) der zu codierende Parameter ist, a_i ein Prädiktionskoeffizient, und Q[X_i(n-1)] das quantisierte Differenzsignal, das für die Codierung von V_i(n-1) im vorangegangenen Rahmen bestimmt worden ist. Zur Quantisierung wird oftmals eine sogenannte Vektorquantisierung verwendet. Darunter versteht man die gemeinsame Quantisierung mehrerer X_i(n) für bestimmte Werte von i. Eine Vektorquantisierung kann auch die gemeinsame Quantisierung zweier oder mehrerer unterschiedlicher, in einem Sprachcodierverfahren auftretenden Parametertypen bedeuten. Im beschriebenen Fall könnte eine Vektorquantisierung folgendermaßen aussehen: i=1,2,3, und i=4,5,6 und i=7,8,9,10. Das quantisierte Differenzsignal Q[X_i(n)], i=1,2,...,10 wird also durch eine Anzahl von Bits repräsentiert, beispielsweise 26 Bit pro Rahmen, und übertragen.
Aus Gleichung (1) ist ersichtlich, daß eine derartige Codierung zu einer Datenkompression führt: Der Speicheraufwand für die Differenzwerte X_i, welche die Differenz von beinahe gleich großen Zahlen darstellen, ist geringer als für die Werte von V_i.

[0013] Empfangsseitig wird ein quantisierter Wert W_i(n) des Spektralparameters V_i(n) aus dem aktuell empfangenen Differenzsignalwert Q[X_i(n)] und dem zuvor empfangenen Q[X_i(n-1)] rekonstruiert:



[0014] Die hier beschriebene Form der Parameterdecodierung ist üblich in vielen gegenwärtig benutzten Codierverfahren, unter anderem beispielsweise im AMR- und EFR-Sprachcodierer (adaptive multi-rate beziehungsweise enhanced full-rate). Prinzipiell sind natürlich auch höhere Ordnungen der Prädiktion vorstellbar. Üblicherweise werden die in den Gleichungen (1), (2) genannten Vorschriften für den um den Mittelwert geminderten Parameterwert durchgeführt. Der Mittelwert wird zum Schluß als Addition einer Konstanten wieder hinzugefügt.

[0015] Eine prädiktive Codierung, wie sie oben beispielhaft dargestellt ist, weist für eine interpolative Bestimmung der Spektralkoeffizienten fehlender Rahmen Nachteile auf:

[0016] Bei einer prädiktiven Quantisierung erster Ordnung (siehe Gleichungen (1) und (2)) ist es für eine interpolative Bestimmung des quantisierten Parameterwertes W_i(n) erforderlich, daß zwei aufeinanderfolgende Werte des quantisierten Differenzsignales {Q[X_i(m)], Q[X_i(m+1)]} empfangen werden, was gerade bei paketvermittelten Übertragungsweisen oft nicht der Fall ist. Dieser Sachverhalt wird im folgenden etwas genauer beleuchtet; dazu wird das quantisierte Differenzsignal Q[X_i(n)] im folgenden als Größe Y_i(n) bezeichnet:

[0017] Es gilt also:



[0018] Es sei im folgenden angenommen, daß der letzte, bereits gemäß Gleichung (3) decodierte Rahmen zum Zeitpunkt t = n-1 gehört, und daß aktuell der Rahmen t = n decodiert werden soll, aber BFI(n) = 1 gilt, also ein "schlechter" Rahmen vorliegt. Es sei nun der Rahmen t = m > n der erste Rahmen nach t = n-1, für den BFI = 0 gilt. Die Spektralkoeffizienten aller anderen m-n dazwischenliegenden Rahmen mit BFI = 1 sollen nun interpoliert werden. Der Spektralkoeffizient W_i(n-1) bildet nun die untere (das heißt in der Vergangenheit liegende) Stützstelle der Interpolation. Der Spektralkoeffizient W_i(m) sollte normalerweise die obere (das heißt in der Zukunft liegende) Stützstelle der Interpolation bilden. Er kann bei prädiktiver Codierung jedoch nicht berechnet werden, da für Gleichung (3) zwar die Größe Y_i(m) empfangen wurde, Y_i(m-1) aber nach Voraussetzung fehlt. Erst nach zwei aufeinanderfolgenden korrekt empfangenen Rahmen m und m+1 könnte ein Spektralkoeffizient W_i(m+1) = a_i * Y_i(m) + Y_i(m+1) berechnet werden und empfangsseitig als Stützstelle zu einer Interpolation dienen. Dies verlangt jedoch prinzipiell eine zusätzliche Verzögerung von einem Rahmen, was zumindest für bidirektionale Sprachübertragung ein erhebliches Problem darstellt, beziehungsweise zwei aufeinanderfolgende Rahmen mit BFI = 0, was insbesondere bei paketvermittelten Übertragungsmodi nicht immer gegeben ist.

[0019] Bei Prädiktion L-ter Ordnung verschärft sich das Problem bei den oben genannten Aspekten entsprechend: Die differentielle Decodierung nach Gleichung (2) erfordert L+1 aufeinanderfolgende Größen oder Differenzsignale Y_i(t), das heißt zur Interpolation der Spektralkoeffizienten vorangegangener Rahmen mit BFI = 1 muß eine Anzahl von L+1 aufeinanderfolgenden korrekten Rahmen empfangen werden, um im letzten dieser Rahmen wieder einen völlig fehlerfreien Satz von Spektralkoeffizienten und damit eine obere Stützstelle zur Interpolation zu erhalten.

[0020] Auch wenn in gängigen Sprachcodierverfahren aus dem Grunde der Fehlerfortpflanzung oftmals eine lineare Prädiktion mit L=1 gewählt ist, so läßt sich zusammenfassend sagen, daß doch zwei aufeinanderfolgende korrekte Rahmen empfangen werden müssen, bevor man wieder einen korrekten Spektralkoeffizienten W_i(m+1) erhält. Dies ist statistisch gesehen natürlich weniger wahrscheinlich, als der Empfang eines korrekten Rahmens. Diese Tatsache resultiert in der Regel in höheren Verzögerungszeiten, was für echtzeit-sensitive Applikationen nicht tolerierbar ist.

[0021] Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren anzugeben, mit dem sich Codecparameter empfangsseitig bestimmen lassen, auch wenn die zugrundeliegenden Daten in einzelnen oder mehreren aufeinanderfolgenden Zeitbereichen fehlen.

[0022] Diese Aufgabe wird durch den unabhängigen Anspruch 1 gelöst. Weiterbildungen ergeben sich aus den abhängigen Ansprüchen.

[0023] Die Erfindung betrifft ein Verfahren zur empfangsseitigen Schätzung eines zeitlich variablen Parameters zu einem n-ten Zeitpunkt. Der Parameter wurde sendeseitig prädiktiv codiert und wird empfangsseitig in Abhängigkeit von mindestens zwei Größen interpolativ ermittelt. Eine Stützstelle der Interpolation, die erste Größe, bildet ein früherer Wert des Parameters, der bereits decodiert wurde, eine zweite Stützstelle der Interpolation, die zweite Größe, wird durch extrapolative Maßnahmen ermittelt.
Die interpolative Ermittlung des Parameters kann mittels bekannter Interpolationsmaßnahmen, beispielsweise mittels linearer Interpolation zwischen erster und zweiter Größe erfolgen. Bei einer Ausführungsvariante wird zur Interpolation auch eine gewichtete Summation verwendet.

[0024] Der Vorteil dieses Verfahrens liegt darin, daß eine Interpolation zur Ermittlung des Parameters durchgeführt werden kann, sobald die zweite Größe bekannt ist.

[0025] Die Erfindung betrifft ferner ein Verfahren zur empfangsseitigen Schätzung eines einem n-ten Rahmen zugeordneten Codecparameters. Der Codecparameter ist sendeseitig prädiktiv codiert und wird empfangsseitig als Funktion von zumindest zwei Signalen mittels einer Interpolation bestimmt. Eine Stützstelle der Interpolation wird durch den zuvor decodierten Parameter des (n-1)-ten Rahmens gebildet, eine weitere Stützstelle wird durch den Parameter des m-ten Rahmens mit m > n gebildet, welcher durch extrapolative Maßnahmen ermittelt wurde.

[0026] Eine Weiterbildung besteht darin, daß eine Interpolation dann erfolgt, sobald die Daten eines korrekten Rahmens vorliegen. Dies hat den Vorteil einer kurzen Verzögerungszeit bei gleichzeitigem Einsatz einer interpolativen Maßnahme zur Parameterschätzung.

[0027] Eine andere Weiterbildung sieht vor, daß die Qualität des Empfangs durch eine Indikatorgröße angezeigt wird. Diese Indikatorgröße kann z. B. der "bad frame"-Indicator BFI sein.

[0028] Die Erfindung wird im Folgenden anhand einiger Ausführungsbeispiele genauer erläutert.
Im weiteren zeigt
Figur 1
die Simulationsergebnisse einer GSM-Vollratenkanal-Übertragung, wobei die Ergebnisse verschiedener Extrapolationsmethoden dargestellt sind.


[0029] In einer möglichen Ausführungsform werden die differentiell codierten Parameter einem Vorgehen unterzogen, welches aus zwei Schritten besteht: Zunächst werden die Parameter der Rahmen, bei denen ein schlechter Empfang, BFI = 1, vorliegt, extrapolativ geschätzt. Auf dieser Grundlage kann nun der erste wieder korrekt empfangene Rahmen decodiert werden. Er bildet dann die Basis für eine interpolative Neuschätzung der Parameter der davorliegenden Rahmen mit BFI = 1.

[0030] Bei jedem empfangenen Rahmen mit BFI = 1, also einem nicht fehlerfrei vorliegenden Rahmen, ist es vorgesehen, zunächst eine konventionelle Extrapolation der Parameter vorzunehmen. Dies umfaßt (zumindest im letzten Rahmen mit BFI=1 vor einem Rahmen mit BFI=0) bei differentiell codierten Parametern eine Berechnung des quantisierten Differenzsignals oder der Größe Y "im Nachhinein". Dieses konventionelle Vorgehen sieht im eingangs angegebenen Beispiel vor, daß nach der extrapolativen Bestimmung von W_i(n) im Rahmen t = n nach Gleichung (3) die Größe Y_i(n) bestimmt wird durch Umstellung von Gleichung (3):



[0031] Damit liegt zum Zeitpunkt t = n+1 wieder ein Differenzsignal des vorangegangenen Rahmens vor, also Y_i(n), so daß jederzeit wieder mittels Gleichung (3) decodiert werden kann. Durch das (vorläufige) extrapolative Vorgehen kann also eine obere Stützstelle W_i(m) bestimmt werden, wenn denn nur für den Rahmen m BFI(m) = 0 gilt. Kein weiterer korrekter Rahmen ist erforderlich. Die Interpolation der m-n zurückliegenden Rahmen kann direkt zum Zeitpunkt t = m erfolgen.

[0032] Wegen des Gedächtnisses der differentiellen Codierung ist die Stützstelle W_i(m) mit Fehlern behaftet. Dieser Fehler verschwindet vollständig nur beim Empfang von L aufeinanderfolgenden Rahmen mit BFI = 0. Eigene, zum Testen dieses Verfahrens durchgeführte Simulationen zeigen jedoch, daß W_i(m) als obere Stützstelle verwendet werden kann, um eine gegenüber dem Stand der Technik wesentlich verbesserte Approximation der Parameter zu ermöglichen. Der wesentliche Vorteil dieses Verfahrens ist, dass ein Fehlerburst, das heißt eine Folge von m-n bad frames, durch Abwarten eines einzigen korrekten Rahmens interpoliert werden kann, und zwar auch, wenn differentiell codierte Parameter vorhanden sind. Keine zusätzliche Verzögerung ist nötig; außerdem wird der statistisch seltenere Fall von L aufeinanderfolgenden Rahmen mit BFI = 0 nicht vorausgesetzt.

[0033] In einem ersten Ausführungsbeispiel werden nun differentiell, mit einer Prädiktion erster Ordnung, also L=1, codierte Parameter betrachtet:

[0034] Dazu werden folgende Annahmen getroffen:
  • Der Spektralkoeffizient W_i(n-1) sei bereits decodiert,
  • Y_i(n-1) liege entweder empfangen [BFI(n-1)=0] oder nach Gleichung (4) rekonstruiert vor [BFI(n-1)=1].
  • Als Resultat des nachfolgend genannten rekursiven Algorithmus' liegen auch Y_i(n), ..., Y_i(n+K-1) vor.
  • Der aktuelle Zeitpunkt sei t = n+K, zu diesem Zeitpunkt solle der Spektralkoeffizient W_i(n) bestimmt werden.
Das heißt also, daß eine Zeitverzögerung von K Rahmen zur Interpolation erlaubt ist.
Das Vorgehen erfolgt nun in zwei Schritten:

a) Operationen am Rahmen n+K:

Falls BFI(n+K) = 0: Berechne W_i(n+K) nach Gleichung (3).

Falls BFI(n+K) = 1: Berechne eine vorläufige extrapolierte Version W_i(n+K) mit einem beliebigen extrapolativen Verfahren.

b) Decodiere den Rahmen n:

Falls BFI(n) = 0: Berechne W_i(n) nach Gleichung (3).

Falls BFI(n) = 1: Berechne m > n, wobei m der erste Rahmen mit BFI(m) = 0 nach dem Rahmen n ist.

Falls m > n+K: Berechne mit einem beliebigen Extrapolationsverfahren W_i(n).

Falls m <= n+K: Dann liegt für Rahmen m als korrekt empfangener Rahmen ja bereits ein vorläufig extrapolativ bestimmter Spektralkoeffizientwert W_i(m) vor. Er bildet die obere (oder zukünftige) Stützstelle für eine Interpolation des Parameters W_i(n). Die untere (oder zurückliegende) Stützstelle sei der Spektralkoeffizient W_i(n-1).

Man kann nun zum Beispiel eine lineare Interpolation durchführen. Dies geschieht unter Berücksichtigung der zeitlichen Abstände des Rahmens n zu den Stützstellen durch:

Die obere Stützstelle W_i(m) ist bereits vorläufig extrapolativ bestimmt, die untere Stützstelle W_i(n-1) bereits endgültig decodiert.

[0035] In Figur 1 ist eine Simulation einer GSM-Vollratenkanal-Übertragung mit diversen C/I-Verhältnissen (carrier-tointerferer-ratio), welche die Kanalqualität beschreiben, zu sehen. Für die Kurven ist die spektrale Verzerrung (spectral distortion, SD), ein übliches Qualitätsmaß für die Codierung beziehungsweise Übertragung von Spektralkoeffizienten gegen das C/I-Verhältnis aufgetragen. Je höher die SD ist, umso schlechter ist die empfangsseitige Sprachqualität.

[0036] Kurve 1 zeigt eine Extrapolation, wie sie in bisherigen Decodierungsmethoden verwendet wird. Die Kurven 2 bis 5 zeigen die Ergebnisse für das obige Ausführungsbeispiel in Abhängigkeit von der Größe K, welche die maximal erlaubte Zeitverzögerung in Rahmen angibt. Dabei weist Kurve 2 eine Verzögerung um einen Rahmen (K=1), Kurve 3 eine Verzögerung um zwei Rahmen (K=2), Kurve 4 eine Verzögerung um drei Rahmen (K=3) und Kurve 5 eine Verzögerung von vier Rahmen (K=4) auf.

[0037] Man sieht, daß schon mit einer Verzögerung von einem einzigen Rahmen (K=1) ein enormer Gewinn zu erzielen ist, mehr als K=2 zukünftige Rahmen bringen keinen großen zusätzlichen Gewinn. Diese Simulationsergebnisse sind äußerst vorteilhaft für die Übertragung echtzeitsensitiver Applikationen, da hier ja nur eine geringe Verzögerung erlaubt ist. Bei sehr niedrigen C/I-Verhältnissen sieht man jedoch leichte Unterschiede für die verschiedenen Verzögerungswerte (K=1,2,3,4). Die Ursache hierfür ist, daß bei einem derart schlechten C/I-Verhältnis häufig mehrere aufeinanderfolgende Rahmen "bad frames" sind.

[0038] Neben den oben erläuterten Beispielen liegt eine Vielzahl weiterer Ausführungsvarianten im Rahmen der durch die Patentansprüche definierten Erfindung, die hier nicht weiter beschrieben werden. Sie lassen sich aber anhand der vorausgegangenen Ausführungen vom Fachmann ohne großen Aufwand in die Praxis umsetzen.


Ansprüche

1. Verfahren zur empfangsseitigen Schätzung des Wertes eines zeitlich variablen Parameters zu einem n-ten Zeitpunkt,

- bei dem der Parameter sendeseitig prädiktiv codiert ist und durch diese Codierung ein zum Zeitpunkt n gehörendes quantisiertes Differenzsignal zwischen dem Wert des Parameters zum n-ten Zeitpunkt und dem quantisierten Differenzsignal an dem (n-1)-ten Zeitpunkt gebildet wird, welches übertragen wird,

- bei dem empfangsseitig ein Indikator vorliegt, der anzeigt, ob für den n-ten Zeitpunkt ein korrekt empfangenes quantisiertes Differenzsignal vorliegt oder nicht,

- bei dem der Parameter empfangsseitig als Funktion von mindestens zwei Größen durch Interpolation ermittelt wird, falls das zugehörige Differenzsignal nicht korrekt empfangen vorliegt und dabei

- die erste Größe eine erste Stützstelle darstellt, welche durch einen Wert des decodierten Parameters gebildet wird, der einem früheren als dem n-ten Zeitpunkt zugeordnet ist, und

- bei dem die zweite Größe eine weitere Stützstelle der Interpolation darstellt, welche durch einen weiteren Wert des Parameters zu einem m-ten Zeitpunkt, welcher nach dem n-ten Zeitpunkt liegt, gebildet wird und dieser weitere Wert des Parameters durch Extrapolation ermittelt wird.


 
2. Verfahren nach Anspruch 1, bei dem zum n-ten Zeitpunkt gehörende Daten in einem n-ten Rahmen übertragen werden und es sich bei dem zeitlich variablen Parameter um einen Codecparameter handelt.
 
3. Verfahren nach Anspruch 1 oder 2, bei dem das sendeseitige quantisierte Differenzsignal zum (n-1)-ten Zeitpunkt zur Bildung des quantisierten Differenzsignals zum n-ten Zeitpunkt mit einem Prädiktionskoeffizienten gewichtet wird.
 
4. Verfahren nach einem der vorangegangenen Ansprüche, bei dem eine Interpolation durchgeführt wird, sobald die Daten zu nur einem korrekten Rahmen empfangen werden.
 


Claims

1. Method for estimating, on the receiving side, the value of a temporally variable parameter at an nth time point,

- wherein the parameter is predictively encoded on the sending side and, as a result of this encoding, a quantised difference signal belonging to the time point n is formed between the value of the parameter at the nth time point and the quantised difference signal at the (n-1)th time point, said formed difference signal being transmitted,

- wherein an indicator is present on the receiving side and shows whether or not a correctly received quantised difference signal is present for the nth time point,

- wherein the parameter is determined on the receiving side as a function of at least two variables by means of interpolation if the associated difference signal has not been correctly received, and

- the first variable in this case represents a first interpolation node, which is formed by a value of the decoded parameter which is assigned to a time point prior to the nth time point, and

- wherein the second variable represents a further interpolation node, which is formed by a further value of the parameter at an mth time point after the nth time point, and this further value of the parameter is determined by means of extrapolation.


 
2. Method according to claim 1, wherein data belonging to the nth time point is transmitted in an nth frame and the temporally variable parameter is a codec parameter.
 
3. Method according to claim 1 or 2, wherein the quantised signal for the (n-1)th time point on the sending side is weighted with a prediction coefficient for forming the quantised difference signal for the nth time point.
 
4. Method according to one of the preceding claims, wherein an interpolation is carried out as soon as the data for only one correct frame is received.
 


Revendications

1. Procédé pour l'estimation côté réception de la valeur d'un paramètre variable dans le temps à un n-ième instant,

- dans lequel le paramètre est codé côté émission par prédiction et par ce codage un signal quantifié, appartenant à l'instant n, de différence entre la valeur du paramètre au n-ième instant et le signal quantifié de différence au (n-1)-ième instant est formé, lequel est transmis,

- dans lequel côté réception on a un indicateur qui indique si l'on a un signal quantifié de différence correctement reçu ou non pour le n-ième instant,

- dans lequel le paramètre est déterminé côté réception par interpolation en fonction d'au moins deux grandeurs, si le signal de différence respectif n'est pas reçu correctement et dans le cas présent

- la première grandeur représente un premier point d'appui, qui est formé par une valeur du paramètre décodé, laquelle est attribuée à un instant antérieur au n-ième instant, et

- dans lequel la seconde grandeur représente un autre point d'appui de l'interpolation, qui est formé par une autre valeur du paramètre à un m-ième instant situé après le n-ième instant, et cette autre valeur du paramètre est déterminée par extrapolation.


 
2. Procédé selon la revendication 1, dans lequel des données appartenant au n-ième instant sont transmises dans un n-ième cadre et dans lequel il s'agit d'un paramètre Codec en ce qui concerne le paramètre variable dans le temps.
 
3. Procédé selon la revendication 1 ou 2, dans lequel le signal quantifié de différence côté émission au (n-1)-ième instant est pondéré avec un coefficient de prédiction pour la formation du signal quantifié de différence au n-ième instant.
 
4. Procédé selon l'une quelconque des revendications précédentes, dans lequel une interpolation est effectuée dès que les données sont réceptionnées pour seulement un cadre correct.
 




Zeichnung