PatentDe  


Dokumentenidentifikation DE69613611T2 08.05.2002
EP-Veröffentlichungsnummer 0731348
Titel System zur Speicherung von und zum Zugriff auf Sprachinformation
Anmelder Advanced Micro Devices, Inc., Sunnyvale, Calif., US
Erfinder Asghar, Saf, Austin, Texas 78750, US;
Ireton, Mark, Austin, Texas 78739, US
Vertreter Patentanwälte von Kreisler, Selting, Werner et col., 50667 Köln
DE-Aktenzeichen 69613611
Vertragsstaaten AT, BE, DE, DK, ES, FI, FR, GB, GR, IE, IT, LU, NL, PT, SE
Sprache des Dokument EN
EP-Anmeldetag 07.03.1996
EP-Aktenzeichen 963015748
EP-Offenlegungsdatum 11.09.1996
EP date of grant 04.07.2001
Veröffentlichungstag im Patentblatt 08.05.2002
IPC-Hauptklasse G10L 19/00

Beschreibung[de]

Die vorliegende Erfindung betrifft im Allgemeinen Systeme zum Speichern und Auffinden von Sprachdaten, wie z.B. ein System und ein Verfahren für die Durchführung von Operationen zum Glätten von Parametern nachdem der Codiervorgang abgeschlossen ist, um den Zugriff auf Parameter in einer größeren Anzahl von Datenrahmen zu ermöglichen und somit eine verbesserte Sprachqualität mit verminderten Speicheranforderungen zu bieten.

Digitale Speicherung und Übermittlung von Stimm- oder Sprachsignalen gewinnt in unserer modernen Gesellschaft zunehmend an Bedeutung. Digitales Speichern von Sprachsignalen umfasst das Erzeugen einer Digitaldarstellung von Sprachsignalen und das anschließende Speichern dieser Digitaldarstellungen im Speicher. Wie in Fig. 1 zu sehen ist, handelt es sich bei einer Digitaldarstellung von Sprachsignalen in der Regel entweder um eine Wellenformdarstellung oder um eine Parameterdarstellung. Bei der Wellenformdarstellung von Sprachsignalen wird die "Wellenform" der analogen Sprachsignale mittels eines Abtastungs- und Quantisierungsprozesses für die Weiterverarbeitung haltbar gemacht. Eine Parameterdarstellung von Sprachsignalen hingegen ist gekennzeichnet durch die Darstellung der Sprachsignale mittels einer Vielzahl von Parametern, die sich auf die Ausgabe eines Modells zur Spracherzeugung auswirken. Eine Parameterdarstellung von Sprachsignalen erhält man, indem zuerst eine digitale Wellenformdarstellung mittels eines Abtast- und Quantisierungsprozesses von Sprachsignalen erzeugt wird, und diese digitale Wellenform anschließend weiter verarbeitet wird, um Parameter für das Modell zur Spracherzeugung zu erhalten. Die Parameter dieses Modells lassen sich allgemein entweder klassifizieren als Erregungsparameter, die in Verbindung stehen mit der Quelle der Sprachtöne oder als Reaktionsparameter des Stimmapparats, die in Verbindung stehen mit den individuellen Sprachtönen.

Fig. 2 zeigt einen Vergleich zwischen den Wellenform- und Parameterdarstellungen von Sprachsignalen gemäß der erforderlichen Datenübertragungsrate. Wie daraus hervorgeht, benötigen Parameterdarstellungen von Sprachsignalen eine niedrigere Datenübertragungsrate bzw. Anzahl von Bits pro Sekunde als Wellenformdarstellungen. Für eine Wellenformdarstellung werden in Abhängigkeit von der verwendeten Art der Quantisierung und Modulation zwischen 15.000 und 200.000 Bits pro Sekunde zur Darstellung und/oder Übertragung typischer Stimmdaten benötigt. Eine Parameterdarstellung benötigt deutlich weniger Bits pro Sekunde, in der Regel zwischen 500 und 15.000 Bits pro Sekunde. Bei einer Parameterdarstellung handelt es sich im Grunde um eine Form der Sprachsignalkompression, bei der vorher gewonnene Kenntnisse zu den Kenndaten der Sprachsignalen in Form eines Spracherzeugungsmodells genutzt werden. Eine Parameterdarstellung stellt Sprachsignale in Form einer Vielzahl von Parametern dar, die sich auf die Ausgabe eines Modells zur Spracherzeugung auswirken, wobei das Spracherzeugungsmodell ein Modell ist, das auf der menschlichen Anatomie zur Sprachbildung basiert.

Sprechlaute können gemäß ihres Erregungsmodus allgemein in drei verschiedene Klassen unterteilt werden. Stimmhafte Laute werden durch Vibration oder Schwingung der menschlichen Stimmbänder gebildet, wobei quasi-periodische den Stimmapparat erregende Luftpulse gebildet werden. Stimmlose Laute werden erzeugt, indem an einem Punkt im Stimmapparat, typischerweise nahe des Endes des Stimmapparates im Mund, eine Verengung gebildet wird und durch diese Verengung mit ausreichender Geschwindigkeit Luft gepresst wird, um eine Turbulenz zu erzeugen. Dadurch entsteht eine Breitbandgeräuschquelle, die den Stimmapparat erregt. Verschlusslaute entstehen, wenn hinter einem Verschluss im Stimmapparat, typischerweise im Mund, Druck erzeugt wird und die Luft dann abrupt freigegeben wird.

Ein Modell zur Spracherzeugung kann im Allgemeinen in drei Phasen unterteilt werden: Vibrations- oder Geräuscherzeugung innerhalb des glottalen Systems, Ausbreitung der Vibrationen oder der Laute über den Stimmapparat, sowie Schallabstrahlung durch den Mund und zu einem geringeren Teil durch die Nase. Fig. 3 zeigt ein vereinfachtes Modell zur Spracherzeugung, bestehend aus einem Erregungsgenerator zur Lauterregung bzw. Lautgeneration und einem zeitvariablen linearen System, das die Lautausbreitung über den Stimmapparat und die Schallabstrahlung am Mund modelliert. Dieses Modell trennt somit die Strukturelemente der Lauterzeugung von den Strukturelementen des Stimmapparats und der Schallabstrahlung. Der Erregungsgenerator erzeugt ein Signal, das entweder eine Folge glottaler Impulse oder zufällig variierende Geräusche umfasst. Die Folge glottaler Impulse modelliert stimmhafte Laute und die zufällig variierenden Geräusche modellieren stimmlose Geräusche. Das lineare zeitvariable System modelliert die unterschiedlichen Wirkungen auf den Laut innerhalb des Stimmapparats. Dieses Spracherzeugungsmodell empfängt eine Vielzahl von Parametern, die die Arbeitsweise des Erregungsgenerators und des zeitvariablen linearen Systems beeinflussen, um eine Ausgangssprachwellenform zu berechnen, die den empfangenen Parametern entspricht.

Nun bezugnehmend auf Fig. 4 wird hier ein detaillierteres Spracherzeugungsmodell gezeigt. Wie zu sehen ist, enthält dieses Modell einen Impulsfolgegenerator zur Erzeugung einer den stimmhaften Lauten entsprechenden Impulsfolge, sowie einen Rauschgenerator zur Erzeugung von Zufallsrauschen, das den stimmlosen Geräuschen entspricht. Ein Parameter im Spracherzeugungsmvdell ist die Tonhöhenperiode, die dem Impulsfolgegenerator zugeführt wird, um in der Impulsfolge die richtige Tonhöhe bzw. · Frequenz der Signale zu erzeugen. Die Impulsfolge wird einem glottalen Impulsmodellblock zur Verfügung gestellt, der das glottale System moduliert. Die Ausgabedaten aus dem glottalen Impulsmodellblock werden mit einem Amplitudenparameter multipliziert und über eine stimmhaft/stimmlos Schaltung zu einem Stimmapparatmodellblock weitergeleitet. Die Ausgabedaten des Zufallsrauschen aus dem Rauschgenerator werden mit einem Amplitudenparameter multipliziert und über die stimmhaft/stimmlos Schaltung zum Stimmapparatmodellblock geleitet. Die stimmhaft/stimmlos Schaltung wird von einem Parameter gesteuert, der das Spracherzeugungsmodell dazu veranlasst, zwischen dem stimmhaften und stimmlosen Erregungsgenerator hin und her zu schalten, d.h., zwischen dem Impulsfolgegenerator und dem Rauschgenerator zur Modellierung des veränderlichen Erregungsmodus für stimmhafte und stimmlose Laute bzw. Geräusche.

Der Stimmapparatmodellblock stimmt den Schallfluss der Sprachsignale an der Quelle mit dem Schallfluss der Sprachsignale an den Lippen ab. Der Stimmapparatmodellblock empfängt unterschiedliche Stimmapparatparameter, die dafür verantwortlich sind, wie Sprachsignale im Stimmapparat beeinflusst werden. Diese Parameter schließen unterschiedliche resonante und nicht resonante als Formate bezeichnete Frequenzen der Sprache, die den Polen bzw. Nullen der Übertragungsfunktion entsprechen V(z). Die Ausgabedaten des Stimmapparatmodellblocks werden an ein Schallabstrahlungsmodell weitergeleitet, das den an den Lippen ausgeübten Druckeffekt auf die Sprachsignale modelliert. Fig. 4 zeigt daher ein allgemeines digitales Zeitmodell für die Spracherzeugung. Die verschiedenen Parameter, einschließlich Tonhöhe, stimmhaft/stimmlos, Amplitude bzw. Verstärkungsgrad sowie die Parameter für den Stimmapparat beeinflussen die Arbeitsweise des Spracherzeugungsmodells bei der Bildung oder Wiederherstellung der adäquaten Sprachwellenformen.

Nun ist es unter Bezugnahme auf Fig. 5 in manchen Fällen wünschenswert, die glottalen Impulsfolge-, Schallabstrahlungs- und Stimmapparatmodellblöcke in einer Einfachübertragungsfunktion zu kombinieren. Diese Einfachübertragungsfunktion wird in Fig. 5 durch den zeitvariablen digitalen Filterblock dargestellt. Wie zu sehen ist, leitet ein Impulsfolgegenerator sowie ein Rauschgenerator jeweils Ausgabedaten an eine stimmhaft/stimmlos Schaltung weiter. Die Ausgabedaten aus der Schaltung werden wiederum an einen Verstärker weitergeleitet, der seinerseits seine Ausgabedaten an den zeitvariablen Digitalfilter weitergibt. Der zeitvariable Digitalfilter führt die Operationen des glottalen Impulsmodellblocks, des Stimmapparatmodellblocks sowie des Schallabstrahlungsmodellblocks durch, die in Fig. 4 abgebildet sind.

Die Wahl der Sprachsignaldarstellung hängt weitgehend vom verwendeten Sprachanwendungsprogramm ab. Verschiedene digitale Sprachanwendungsprogramme besitzen unter anderem ein Verfahren zum Speichern und Auffinden digitaler Sprachdaten, zur Übertragung digitaler Sprachsignale, Sprachsynthese, Verifizierung und Identifikation des Sprechers, Spracherkennung sowie Verbesserung der Signalqualität. Bei den meisten Programmen zur Sprachübertragung und Spracherkennung ist es erforderlich, die Codierung und Übertragung der Sprachsignale in Echtzeit durchzuführen. Bestimmte digitale Sprachprogramme, d.h., solche, die ein Verfahren zum Speichern und Auffinden von digitalen Sprachdaten besitzen, benötigen jedoch keine Echtzeitübertragung. Zum Beispiel erfordert das Speichern und Auffinden von digitalen Sprachsignalen bei Anrufbeantwortern, Voice-Mail und digitalen Aufnahmegeräten nicht eine Übertragung der Sprachsignale in Echtzeit.

Eine Grundlage für ein Verfahren zum Codieren und Decodieren von Sprachsignalen, bei dem eine Parameterdarstellung zur Anwendung kommt, erscheint dabei angemessen. Ein Sprachspeichersystem empfängt zuerst Eingangssprachwellenformen und konvertiert diese in digitale Formate. Daran beteiligt ist die Abtastung und Quantifizierung der Signalwellenform mit Umwandlung in die digitale Form. Der im System befindliche Sprachcodierer unterteilt daraufhin die digitalen Sprachdaten in entsprechende Datenrahmen und analysiert diese Sprachdaten Rahmen für Rahmen. Der Sprachcodierer erzeugt eine Vielzahl von Parametern, die jeden einzelnen Rahmen der digitalen Sprachdaten beschreiben.

Nach dem Berechnen der Parameter für mehrere Datenrahmen erfolgt der Schritt des Glättens der Parameter in jedem einzelnen Rahmen zum Entfernen von Unterbrechungen und somit zum Entfernen von Fehlern im Laufe der Parameterschätzung. Im Allgemeinen variieren viele der Parameter einer Sprachsignalwellenform, wie zum Beispiel die Tonhöhe, im Laufe der Zeit relativ langsam. Weicht ein Parameter in einem Rahmen daher wesentlich von dem Parameter im nächsten Rahmen ab, könnte das an einem Fehler bei der Parameterschätzung liegen. Beim Glätten der Parameter werden gleichartige Parameter in den entsprechenden angrenzenden Datenrahmen auf Unterbrechungen geprüft.

Mit anderen Worten vergleicht der Algorithmus zum Glätten den Wert des zu überprüfenden Parameters mit den entsprechenden ähnlichen Parametern in einem bzw. in mehreren vorhergehenden Rahmen und in einem bzw. in mehreren nachfolgenden Rahmen, um festzustellen, ob der Wert des entsprechenden Parameters wesentlich von den Werten der gleichen bzw. ähnlichen Parameter in den benachbarten Rahmen abweicht. Weicht ein Parameter wesentlich von den benachbarten ähnlichen Parametern in den vorhergehenden bzw. nachfolgenden Datenrahmen ab, werden die Unterbrechungen bei dem Schritt des Glättens geglättet, d.h., der Parameterwert wird durch den Wert eines benachbarten Parameters ersetzt. Das Verfahren des Glättens wird also durchgeführt, um Veränderungen in den Parametern zwischen konsekutiven Datenrahmen zu glätten und um damit Fehler bei der Parameterschätzung zu reduzieren. Das Glätten kann auch die Überprüfung von verbundenen Parametern im Kontext einschließen, um eine genauere Parameterschätzung zu erzielen. So erfolgt beispielsweise eine Analyse der Lautparameter und Tonhöhenparameter, um sicher zu stellen, dass nur dann ein gültiger Tonhöhenparameter resultiert, wenn es sich um eine stimmhafte Sprachwellenform handelt, und umgekehrt.

In Systemen, die dem Stand der Technik entsprechen, erfolgt das Glätten eines Parametersatzes in Echtzeit während des Codiervorgangs, nach Erzeugung des Parametersatzes und vor dem Speichern dieser Parameter im Speicher. Bei den meisten Sprachprogrammen muss das Codieren der Sprachsignale in eine digitale Parameterdarstellung jedoch in Echtzeit mit einer minimalen Verzögerung erfolgen. Tatsächlich ist die Verzögerung, die bei einer Sprachübertragung auftreten kann, bei den meisten dem Standard entsprechenden Sprachübertragungssystemen drastisch eingeschränkt. Die Erfordernis zur Echtzeitcodierung von Sprachdaten schränkt die Anzahl der Datenrahmen ein, die beim Glätten benutzt werden können. Dies ist z.B. in EP-A-459358 erläutert. Mehrere vorhergehende und nachfolgende vom Codierer verwendete Datenrahmen im Speicher zu behalten, erfordert außerdem eine höhere Speichergröße im Codierer, was den Preis des Systems erhöht.

Wie bereits oben erwähnt, benötigen einige digitale Sprachanwendungsprogramme, wie etwa Systeme zum Speichern und Auffinden von digitalen Sprachdaten, keine Echtzeitübertragung der Sprachdaten. Digitale Anwendungen zum Speichern und Auffinden von Sprachdaten benötigen im Allgemeinen für die erforderliche Sprachcodierung bzw. Sprachdecodierung eine niedrige Bitrate, um die Sprachdaten so stark wie möglich komprimieren zu können. Bei dieser niedrigen Bitrate sollte jedoch auch die Qualität der Stimmwiedergabe nicht außer Acht gelassen werden. Auch eine Reduktion der für die digitale Codierung, Speicherung und Decodierung benötigten Speicheranforderungen zur Senkung der Systemkosten ist im Allgemeinen wünschenswert.

Im Folgenden werden wir ein verbessertes System und Verfahren zur Speicherung und zum Auffinden von digitalen Sprachdaten beschreiben, das bei Sprachcodierern mit niedriger Bitrate eine verbesserte Qualität der Sprachsignal bietet, wobei es gleichzeitig die Speicheranforderungen reduziert.

Die vorliegende Erfindung umfasst ein System zum Speichern und Auffinden von digitalen Sprachdaten, vorzugsweise unter Verwendung eines Codierers mit niedriger Bitrate, der eine verbesserte Sprachsignalqualität bietet und dabei die Anforderungen an die Speichergröße reduziert. Das System umfasst einen Sprachcodierer/Sprachdecodierer, der vorzugsweise einen digitalen Signalprozessor (DSP) sowie einen lokalen Speicher umfasst. Während der Codierung der Sprachdaten empfängt der Sprachcodierer/Sprachdecodierer Eingangssprachwellenformen und erzeugt eine Parameterdarstellung der Sprachdaten. Mit dem Sprachcodierer/Sprachdecodierer ist ein Speicher zur Speicherung der Parameterdaten verbunden. Während der Decodierung der Sprachdaten empfängt der Sprachcodierer/Sprachdecodierer die Parameterdaten aus dem Speicher und reproduziert die Sprachwellenformen. Mit dem Sprachcodierer/Sprachdecodierer ist vorzugsweise eine CPU zur Steuerung der vom Sprachcodierer/Sprachdecodierer ausgeführten Operationen verbunden.

Während des Codiervorganges werden Eingangssprachwellenformen empfangen und in digitale Daten umgewandelt, d.h., die Eingangssprachwellenformen werden zur Erzeugung von digitalen Sprachdaten abgetastet und quantisiert. Die digitalen Sprachdaten werden dann in mehrere entsprechende Datenrahmen unterteilt, die wiederum codiert werden, um eine Parameterdarstellung dieser Daten zu erzeugen, d.h., um eine Vielzahl von Parametern zu erzeugen, welche die entsprechenden Rahmen von Sprachdaten beschreiben. In einer Ausführung wird das Glätten der Parameter nicht während des Codierens durchgeführt, sondern es werden die ungeglätteten oder "rohen" Parameterdaten für die entsprechenden Datenrahmen gespeichert. In einer anderen Ausführung werden für bestimmte Parameter eine Vielzahl von Parameterwerten für jeden Datenrahmen geschätzt und das Glätten erfolgt innerhalb der Datenrahmen, um einen einzigen Parameter für den Rahmen zu erzeugen. Das während des Codierens durchgeführte Glätten innerhalb der Datenrahmen erfordert für den Vergleich in vorhergehenden bzw. nachfolgenden Rahmen keine Parameterdaten und erfordert somit nur wenig bzw. keinen zusätzlichen Speicherplatz.

Gemäß der Erfindung wird ein Glätten der Parameterdaten zwischen den Datenrahmen durchgeführt, nachdem die gesamten Sprachdaten codiert und die Parameterdaten im Speicher gespeichert worden sind. Das Glätten zwischen den Datenrahmen wird entweder im Hintergrund nach dem Codieren durchgeführt oder in Echtzeit während des Decodierens unmittelbar vor dem Konvertieren der Parameterdaten in Signalwellenformen. Da alle Spracheingangsdaten bereits in Parameterdaten umgewandelt und im Speicher gespeichert worden sind, stehen für den Glättungsalgorithmus Parameterdaten von einer praktisch unbegrenzten Anzahl vorhergehender und nachfolgender Datenrahmen zur Verfügung.

Das Glättungsverfahren nutzt daher zum Glätten der Parameter in jedem einzelnen Rahmen vorzugsweise die Parameterwerte einer Vielzahl vorhergehender und nachfolgender Rahmen. Die vorliegende Erfindung ermöglicht daher eine genauere Ausführung des Glättens und bietet gegenüber anderen Systemen eine verbesserte Qualität der Sprachsignal.

Wie in der Einführung bereits erörtert, führen Systeme nach Stand der Technik das Glätten in Echtzeit während des Codierungsvorgangs aus und sind im Allgemeinen aufgrund des Codierens der Sprache in Echtzeit auf die Überprüfung von ähnlichen Parameterwerten in einem einzigen vorhergehenden und nachfolgenden Datenrahmen beschränkt. In der vorliegenden Erfindung dagegen erfolgt das Glätten erst nach dem Codieren und dem Speichern der Parameterdaten. Da bereits alle Parameterdaten verfügbar sind, werden beim Glätten Parameterdaten aus einer Vielzahl vorhergehender und nachfolgender Datenrahmen überprüft. Das System kann somit Übergänge leichter erkennen und/oder Unterbrechungen in den Sprachsignaldaten leichter korrigieren. Dies bietet eine verbesserte Qualität der Sprachsignale gegenüber herkömmlichen Systemen. Auch wird kein zusätzlicher Speicherplatz für einen nachfolgenden oder voraussichtlich nachfolgenden Datenrahmen während des Codierens benötigt, da das zwischen den Datenrahmen erfolgende Glätten nicht während des Codierens stattfindet. Die vorliegende Erfindung hat gegenüber Ausführungen nach Stand der Technik die Speicheranforderungen reduziert.

In seiner bevorzugten Ausführung speichert das System der vorliegenden Erfindung die Parameterdaten während des Glättens in entsprechenden Puffern im lokalen Speicher des DSP, vorzugsweise Zirkularpuffer, von denen jeder Zirkularpuffer ähnliche Parameter für eine Vielzahl konsekutiver Datenrahmen speichert. In anderen Worten, die Parameterwerte eines ersten Parametertyps aus einer Vielzahl konsekutiver Datenrahmen werden in einem ersten Zirkularpuffer gespeichert, die Parameterwerte eines zweiten Parametertyps aus einer Vielzahl konsekutiver Datenrahmen werden in einem zweiten Zirkularpuffer gespeichert und so weiter. Während des Glättens umfasst der lokale Speicher des DSP daher mehrere Zirkularpuffer, von denen jeder einzelne Zirkularpuffer Parameter desselben Typs für eine Vielzahl konsekutiver Datenrahmen enthält. In die Zirkularpuffer werden ständig neue Parameterwerte gelesen, um relativ zu dem zu überprüfenden Datenrahmen Parameterdaten für die vorhergehenden und nachfolgenden Datenrahmen zu erhalten.

In einer Ausführung werden in jedem einzelnen Zirkularpuffer Parameterwerte aus siebzehn konsekutiven Datenrahmen gespeichert. Diese siebzehn Rahmen entsprechen den acht vorhergehenden und acht nachfolgenden Datenrahmen relativ zu dem Datenrahmen, der den zu überprüfenden Parameter enthält. In einer anderen Ausführung variiert die Größe der Zirkularpuffer für entsprechende Parameter, sodass während des Glättens eine unterschiedliche Anzahl von ähnlichen Parametern für unterschiedliche Parametertypen überprüft werden. Zudem in einer anderen Ausführung liest der DSP - falls er zum Glätten des entsprechenden Parameters eine größere Anzahl von Parametern aus zusätzlichen vorhergehenden und nachfolgenden Datenrahmen als notwendig erachtet - zusätzliche Parameter aus dem Speicher, um eine verbesserte Glättung des entsprechenden Parameters zu erzielen. In noch einer anderen Ausführung werden ausschließlich die wichtigsten bzw. die als am fehlerhaftesten erscheinenden Parameter im lokalen Speicher des digitalen Prozessors gespeichert, um die lokalen Speicheranforderungen zu reduzieren und den Glättungsvorgang zu vereinfachen. Die nicht im lokalen Speicher gespeicherten Parameter werden, falls benötigt, aus dem Direktzugriffsspeicher gelesen.

Ein nach der vorliegenden Erfindung konstruiertes System zum Speichern und Auffinden digitaler Sprachdaten bietet somit eine verbesserte Sprachsignalqualität. Bestimmte Ausführungen sind abgebildet und beschrieben.

Ein besseres Verständnis der vorliegenden Erfindung kann erzielt werden, wenn die folgenden detaillierten Beschreibungen der Vorzugsausführung zusammen mit den folgenden Darstellungen in Betracht gezogen werden:

Fig. 1 zeigt zwei Verfahren zur Darstellung von Sprachsignalen: die Wellenformdarstellung und die Parameterdarstellung;

Fig. 2 zeigt eine Reihe von Bitraten für die in Fig. 1 abgebildeten Verfahren zur Darstellung von Sprachsignalen;

Fig. 3 zeigt ein Grundmodell zur Spracherzeugung;

Fig. 4 zeigt ein Standardmodell zur Spracherzeugung;

Fig. 5 zeigt ein Modell zur Spracherzeugung mit einem einzigen zeitvariablen Digitalfilter;

Fig. 6 zeigt ein Blockdiagramm eines Sprachspeichersystems gemäß einer Ausführung der vorliegenden Erfindung;

Fig. 7 zeigt ein Blockdiagramm eines Sprachspeichersystems gemäß einer zweiten Ausführung der vorliegenden Erfindung;

Fig. 8 zeigt ein Flussdiagramm, das den Vorgang des Codierens von Sprachsignalen gemäß einer Ausführung der Erfindung zeigt;

Fig. 9 zeigt Sprachsignalwellenformen, die in teilweise sich überschneidende zwanzig Millisekunden lange Abtastwerte unterteilt sind;

Fig. 10 zeigt ein Flussdiagramm mit Darstellung eines Glättungsvorgangs zwischen Datenrahmen, der nach Abschluss des Codierens der digitalen Sprachdaten gemäß einer Ausführung der Erfindung im Hintergrund durchgeführt wird;

Fig. 11 zeigt ein Flussdiagramm, in dem das Decodieren codierter Parameter zur Erzeugung von Sprachwellenformsignalen darstellt wird, wobei der Decodiervorgang gemäß einer Ausführung der Erfindung ein Glätten zwischen Datenrahmen umfasst;

Fig. 12 zeigt das Speichern von Parameterdaten gemäß eines Mehrfachzugriffs, ein normales Abrufverfahren; und

Fig. 13 zeigt das Speichern von Parameterdaten nach einem Einfachzugriff, ein bedarfsgesteuertes Abrufverfahren.

Nun bezugnehmend auf Fig. 6 wird ein Blockdiagramm dargestellt, das ein System zum Speichern und Auffinden von Sprachdaten gemäß einer Ausführung der Erfindung darstellt. Das in Fig. 6 abgebildete System zum Speichern und Auffinden von Sprachdaten kann in unterschiedlichen Anwendungen eingebaut werden, einschließlich in digitalen Anrufbeantwortern, digitaler Voice-Mail, digitalen Tonaufnahmegeräten, sowie in allen anderen Anwendungen, die ein System zum Speichern und Auffinden von digitalen Sprachdaten benötigen. In der bevorzugten Ausführung wird das System zum Speichern und Auffinden von Sprachdaten in einem digitalen Anrufbeantworter verwendet. Es wird darauf hingewiesen, dass die vorliegende Erfindung auch in anderen Systemen, die das Speichern und Auffinden von Parameterdaten einschließen, angewendet werden kann, einschließlich in Systemen zum Speichern und Auffinden von Videodaten.

Wie in Fig. 6 zu sehen ist, umfasst das System zum Speichern und Auffinden von Sprachdaten vorzugsweise einen zweckbestimmten Sprachcodierer/Sprachdecodierer 102. Dieser Sprachcodierer/Sprachdecodierer 102 umfasst einen digitalen Signalprozessor (DSP) 104 sowie einen lokalen DSP- Speicher 106. Der lokale Speicher 106 dient dem DSP 104 als ein Analysespeicher bei der Ausführung von Sprachcodier- und Sprachdecodierfunktionen, d.h. Sprachkompression und Sprachdekompression, sowie Glätten von Parameterdaten. Der lokale Speicher 106 arbeitet mit derselben Geschwindigkeit wie der DSP 104 und hat somit eine relativ kurze Zugriffszeit. Da der lokale Speicher 106 eine kurze Zugriffszeit aufweisen muss, ist er auch dementsprechend teuer. Ein Vorteil der vorliegenden technischen Erfindung liegt darin, dass die lokalen Speicheranforderungen reduziert worden sind und gleichzeitig eine verbesserte Sprachqualität geboten wird. In der bevorzugten Ausführung werden 2 Kbytes für den lokalen Speicher 106 benötigt.

Der Sprachcodierer/Sprachdecodierer 102 ist mit einem Parameterspeicher 112 verbunden. Der Speicher 112 wird für das Speichern codierter Sprachparameter entsprechend den empfangenen Spracheingangssignalen verwendet. In einer Ausführung ist der Speicher 112 ein vorzugsweise kostengünstiger (langsamer) dynamischer Speicher (DRAM). Es wird jedoch darauf hingewiesen, dass der Speicher 112 auch andere Speichermedien, zum Beispiel einen Plattenspeicher, einen Flash-Speicher oder ein anderes geeignetes Speichermedium, umfassen kann. Eine mit dem Sprachcodierer/Sprachdecodierer 102 verbundene CPU 120 steuert Operationen des Sprachcodierer-Decodierers 102 einschließlich Operationen des DSP 104 und des lokalen Speichers im DSP 106 innerhalb des Sprachcodierer/Sprachdecodierer 102. Die CPU 120 führt zudem für den Sprachcodierer/Sprachdecodierer 102 sowie für den Speicher Speicherverwaltungsfunktionen aus.

Nun bezugnehmend auf Fig. 7 ist eine alternative Ausführung des Systems zum Speichern und Auffinden von Sprachdaten dargestellt. In Fig. 7 abgebildete und mit den Elementen in Fig. 6 übereinstimmende Elemente haben aus praktischen Gründen dieselbe Referenznummer. Wie abgebildet, ist der Sprachcodierer/Sprachdecodierer 102 mit der CPU 120 über eine serielle Verbindung 130 verbunden. Die CPU 120 ist wiederum mit dem Parameterspeicher 112 verbunden. Die serielle Verbindung 130 kann einen nicht programmierbaren seriellen Bus enthalten, der Daten aus dem Speicher 112 ausschließlich in der Reihenfolge laden kann, wie sie in dem Speicher gespeichert wurden. Die serielle Verbindung 130 kann auch eine bedarfsgesteuerte serielle Verbindung sein, bei welcher der DSP 104 den Bedarf an Parametern im Speicher 112 steuert und zufällig auf gewünschte Parameter im Speicher 112 zugreift, unabhängig davon, wie die Parameter gespeichert worden sind. Die Ausführung in Fig. 7 kann noch mehr Ähnlichkeiten mit der Ausführung in Fig. 6 aufweisen, wobei der Sprachcodierer/Sprachdecodierer 102 direkt mit dem Speicher 112 über eine serielle Verbindung 130 verbunden ist. Zudem kann der Sprachcodierer/Sprachdecodierer 102 mit der CPU 120 über einen größeren Breitbandbus, wie z.B. einem 8-Bit oder 16-Bit- Bus, verbunden sein.

Nun bezugnehmend auf Fig. 8 ist ein Flussdiagramm dargestellt, das die Arbeitsweise des in Fig. 6 abgebildeten Systems beim Codieren von Stimm- oder Sprachsignalen in Parameterdaten zeigt. Bei dem Schritt 202 empfängt der Sprachcodierer/Sprachdecodierer 102 Eingangssprachwellenformen, also analoge der Sprache entsprechende Wellenformen. Diese Wellenformen sehen bezeichnenderweise aus wie die Wellenformen in Fig. 9.

Bei dem Schritt 204 tastet der DSP 104 die Eingangssprachwellenformen ab und quantisiert sie, um digitale Sprachdaten zu erzeugen. Der DSP 104 tastet die Eingangssprachwellenform gemäß einer gewünschten Abtastgeschwindigkeit ab. In einer Ausführung beispielsweise wird die Sprachwellenform mit einer Geschwindigkeit von 8 kHz bzw. 8.000 Abtastungen pro Sekunde abgetastet. In einer anderen Ausführung ist die Abtastgeschwindigkeit zwei Mal so hoch wie die Nyquist-Abtastgeschwindigkeit. Es können je nach Wunsch andere Abtastgeschwindigkeiten angewendet werden. Nach dem Abtasten werden die Sprachsignalwellenformen nach der gewünschten Quantisierungsmethode in digitale Werte quantisiert. Bei dem Schritt 206 speichert der DSP 104 die digitalen Sprachdaten oder digitalen Wellenformenwerte in den lokalen Speicher 106 zur anschließenden Analyse durch den DSP 104.

Während bei den Schritten 202-206 zusätzliche Spracheingangsdaten empfangen, abgetastet, quantisiert und im lokalen Speicher 106 gespeichert werden, werden gleichzeitig die folgenden Schritte ausgeführt. Bei dem Schritt 208 codiert der DSP 104 einer Gruppe von Datenrahmen digitaler Sprachdaten, um einen Parametersatz abzuleiten, der den Sprachinhalt der entsprechenden überprüften Datenrahmen beschreibt. In der bevorzugten Ausführung wird eine lineare Vorauscodierung einer Gruppe von vier Datenrahmen durchgeführt. Es wird jedoch darauf hingewiesen, dass je nach Wunsch auch andere Codierverfahren angewendet werden können. Je nach Wunsch kann man sich auch zwischen dem gleichzeitigen Codieren einer größeren oder kleineren Anzahl von Datenrahmen entscheiden. Weitere Informationen zur digitalen Verarbeitung und Codierung von Sprachsignalen können Sie der Lektüre von Rabiner and Schafer, Digital Processing of Speech Signals, Prentice Hall, 1978 entnehmen.

Der DSP 104 überprüft die Sprachsignalwellenformen bei der Analyse und Codierung in entsprechende Parameter vorzugsweise in Datenrahmen von 20 ms. Bei einer Abtastgeschwindigkeit von 8 kHz umfasst jeder 20 ms Datenrahmen 160 Datenabtastwerte. Der DSP 104 überprüft vorzugsweise vier 20 ms Datenrahmen gleichzeitig, wobei jeder Datenrahmen, wie in Fig. 9 abgebildet, die benachbarten Rahmen mit fünf Abtastwerten auf jeder Seite überschneidet. Der lokale Speicher 106 ist vorzugsweise groß genug, um bis zu sechs volle Rahmen digitaler Sprachdaten speichern zu können. Dadurch kann der DSP 104 eine Gruppe von vier Datenrahmen überprüfen und Parameter für diese Gruppe von vier Datenrahmen erzeugen, während bis zu zwei weitere Datenrahmen empfangen, abgetastet, quantisiert und im lokalen Speicher 106 gespeichert werden können. Der lokale Speicher 106 umfasst vorzugsweise einen oder mehrere Puffer, vorzugsweise Zirkularpuffer, in denen neu empfangene digitale Sprachdaten die Sprachdaten, von denen bereits Parameter erzeugt und im Speicher 112 gespeichert wurden, überschreiben. Es wird darauf hingewiesen, dass es sich bei dem lokalen Speicher 106 unter anderem um ein Register, linearen Puffer oder Zirkularpuffer handeln kann.

Bei dem Schritt 208 erzeugt der DSP 104 einen Satz von Parametern unterschiedlicher Typen für jeden 20 ms Datenrahmen in der Gruppe von vier Parametern. Der DSP 104 erzeugt zudem einen oder mehrere Parameter, die alle vier Rahmen umspannen. Zudem unterteilt der DSP 104 für bestimmte Parameter die entsprechenden Datenrahmen in zwei oder mehrere Unterrahmen und erzeugt zwei oder mehrere entsprechende Parameter desselben Typs für jeden Datenrahmen. In der bevorzugten Ausführung erzeugt der DSP 104 zehn lineare Vorauscodierungs (Ipc = linear predictive coding) -Parameter für alle vier Rahmen. Der DSP 104 erzeugt zudem für jeden Datenrahmen weitere Parameter, welche die Merkmale der Sprachsignale wiedergeben sollen, einschließlich einem Parameter für die Tonhöhe, einem stimmhaft/stimmlos Parameter, einem Verstärkungsparameter, einem Parameter für die Impulsstärke sowie einem Mehrbanderregungsparameter. Der DSP 104 erzeugt außerdem einen für jeden Datenrahmen berechneten Satz von Spektralinhaltsparametern, die über eine Gruppe von Datenrahmen, vorzugsweise von drei Datenrahmen, in einen einzigen Wert quantisiert werden.

Sind bei dem Schritt 208 diese Parameter erst einmal erzeugt worden, führt der DSP 104 optional bei dem Schritt 210 bei ausgewählten Parametern ein Glätten innerhalb der Datenrahmen durch. In einer Ausführung, bei der ein Glätten innerhalb der Datenrahmen erfolgt, wird eine Vielzahl von Parametern desselben Typs für jeden Datenrahmen in Schritt 208 erzeugt. Das Glätten innerhalb von Datenrahmen wird bei dem Schritt 210 vorgenommen, um die Vielzahl der Parameter desselben Typs auf einen einzigen Parameter dieses Typs zu reduzieren. So wird beispielsweise an unterschiedlichen Punkten in einem Datenrahmen für jeden einzelnen Datenrahmen im Schritt 208 eine Vielzahl von unterschiedlichen Parameterwerten für die Tönhöhe berechnet und im Schritt 210 wird das Glätten innerhalb von Datenrahmen durchgeführt, um diese zwanzig Parameterwerte für die Tönhöhe auf einen einzigen Parameterwert für die Tönhöhe zu reduzieren, der repräsentativ für den gesamten Datenrahmen ist. Das Glätten innerhalb von Datenrahmen umfasst vorzugsweise das Selektieren eines Mittel- oder Medianwertes. Alternativ umfasst das Glätten innerhalb von Datenrahmen das Erzeugen einer Wellenform, die auf der Vielzahl von Parameterwerten in dem Datenrahmen basiert, und die anschließende Verwendung dieser erzeugten Wellenform, um basierend auf dieser Wellenform eine Liste von Parameterwerten anzuzeigen. Das Glätten innerhalb von Datenrahmen wird im Allgemeinen an solchen Parametern vorgenommen, die mit größerer Wahrscheinlichkeit innerhalb eines Datenrahmens voneinander abweichen. Wie jedoch bereits oben bemerkt, ist das bei dem Schritt 210 durchgeführte Glätten innerhalb von Datenrahmen ein optionaler Schritt, der je nach Wunsch, ausgeführt werden kann oder auch nicht ausgeführt werden kann.

Sobald das Codieren zu den entsprechenden Gruppen von Datenrahmen zur Erzeugung von Parametern im Schritt 208 durchgeführt worden ist und je nach Wunsch bei ausgewählten Parametern im Schritt 210 das Glätten innerhalb von Datenrahmen durchgeführt worden ist, speichert der DSP 104 im Schritt 212 dieses Parameterpaket im Speicher 112. Sobald Parameterdaten für eine entsprechende Gruppe von Rahmen erzeugt und im Rahmen 112 gespeichert worden sind, überschreiben schließlich neu empfangene Daten diese Daten im Zirkularpuffer im Schritt 206. Dabei werden die digitalen Sprachdaten für diese Rahmengruppe aus dem lokalen Speicher 106 entfernt und somit "weggeworfen."

Empfängt der Sprachcodierer/Sprachdecodierer 102 im Schritt 214 mehrere Sprachdaten in Wellenform, geht das System zurück zum Schritt 202 und die Schritte 202-214 werden wiederholt. Folglich überprüft der DSP 104, sobald ein Satz von Parametern für eine Gruppe von Datenrahmen erzeugt und im Speicher 112 gespeichert wurde, die im lokalen Speicher 106 nächst folgende gespeicherte Gruppe von Datenrahmen und erzeugt für diese Gruppe eine Vielzahl von Parametern und so weiter. Wird im Schritt 214 festgestellt, dass keine weiteren Sprachdaten empfangen werden und somit keine weiteren digitalen Sprachdaten im lokalen Speicher 106 gespeichert sind, dann wird der Vorgang abgeschlossen.

Die Sprachcodierung erfolgt in Echtzeit, sobald ein Sprachsignal von dem Sprachcodierer/Sprachdecodierer 102 empfangen wird. In der bevorzugten Ausführung werden in einem System gemäß der vorliegenden Erfindung die Sprachdaten auf ungefähr 2.900 Bits pro Sekunde (bps) komprimiert, was etwa einem Drittel eines Bits pro Abtastung entspricht. Je nach Wunsch können die Sprachdaten mehr oder weniger komprimiert werden.

Es wird darauf hingewiesen, dass Systeme nach Stand der Technik zusätzlich ein Glätten zwischen Datenrahmen der von dem DSP 104 in Echtzeit erzeugten Parameterdaten vor dem Speichern der Parameterdaten im 112 vornehmen. Wie bereits in der Einführung erläutert, ist das System für den Fall, dass das Glätten zwischen Datenrahmen während des Codierungsvorgangs implementiert wird, nur in der Lage für jeden zu überprüfenden Datenrahmen einen vorhergehenden bzw. einen nachfolgenden Datenrahmen auf ähnliche bzw. gleiche Parameter zu überprüfen. Eine Überprüfung von ähnlichen Parametern in mehreren vorhergehenden und nachfolgenden Datenrahmen zur Erreichung eines möglichst präzisen Glättens wäre jedoch allgemein wünschenswert. Während des Codierens in Echtzeit ist dies jedoch meistens nicht möglich, da der Sprachcodiervorgang wesentlich verzögert würde. Bei den meisten Standardsystemen für die Übertragung von Sprachdaten ist dies jedoch nicht akzeptabel. Außerdem benötigt der Sprachcodierer/Sprachdecodierer 102 in Systemen, die während des Codiervorgangs ein Glätten zwischen Datenrahmen vornehmen, einen größeren lokalen Speicher 106, um die zusätzlichen Datenrahmen der Sprachparameterdaten speichern zu können. In kostenempfindlichen Systemen ist dieser zusätzliche Speicher unerwünscht.

Bei Anwendungen, bei denen eine Übertragung von Sprachdaten in Echtzeit nicht erforderlich ist, hat man festgestellt, dass während des Codierens ein Glätten zwischen Datenrahmen in Echtzeit nicht erwünscht und unnötig ist. Im System und Verfahren der vorliegenden Erfindung wird das Glätten zwischen Datenrahmen entweder im Hintergrund nach dem Codieren und Speichern der Sprachparameterdaten im Speicher 112, oder aber in Echtzeit während des Decodierens vorgenommen. Nach dem Codieren, d.h. nach Empfang aller Sprachwellenformen, nach dem Konvertieren der Wellenformen in Parameterdaten sowie nach dem Speichern dieser Daten im Speicher 112 stehen alle Parameterdaten im Speicher 112 zur Verwendung während des Glätten zur Verfügung. Es stehen also Parameterdaten aus einer unbegrenzten Anzahl vorhergehender und nachfolgender Datenrahmen für das Glätten zur Verfügung. Dies bedeutet, dass aufgrund einer größeren Anzahl von ähnlichen Parametern aus vorhergehenden und nachfolgenden Datenrahmen das Glätten jedes Parameters effizienter vorgenommen werden kann. Außerdem benötigt ein System gemäß der vorliegenden Erfindung einen reduzierten lokalen Speicherplatz, da die Parameterdaten für einen voraussichtlichen bzw. nachfolgenden Datenrahmen während des Codierens nicht länger im lokalen Speicher 106 gespeichert werden müssen.

Das Flussdiagramm in Fig. 10 zeigt das im Hintergrund ausgeführte Glätten, nachdem die Sprachdaten codiert und alle Parameterdaten im Speicher 112 gemäß einer Ausführung der vorliegenden Erfindung gespeichert wurden. Wie oben bereits erwähnt, kann das Glätten in Anwendungen, in denen eine Sprachdatenübertragung in Echtzeit nicht benötigt wird, nach dem Codieren in Parameterdaten und vor dem Auffinden der Parameterdaten, d.h. im Hintergrund vorgenommen werden. Beispiele für Anwendungen, bei denen das Glätten im Hintergrund vorgenommen werden kann, umfassen digitale Anrufbeantworter, digitale Tonbandgeräte und andere Systeme zum Speichern und Auffinden von Sprachdaten. Nachdem der Anrufer zum Beispiel eine Nachricht auf dem digitalen Anrufbeantworter hinterlassen hat und die Sprachdaten codiert und im Speicher 112 gespeichert worden sind, führt der DSP 104 das Glätten der Parameterdaten aus und schreibt anschließend die geglätteten Parameterdaten vor Abruf der Nachricht neu in den Speicher 112.

Wie in Fig. 10 zu sehen ist, empfängt der Sprachcodierer/Sprachdecodierer 102 bei dem Schritt 222 Parameter aus einer Vielzahl aufeinander folgender Rahmen und speichert gleiche Parameter aus jedem der mehreren Rahmen in entsprechende Zirkularpuffer im lokalen Speicher 106. In anderen Worten, gleiche oder ähnliche Parameter aus jedem der Datenrahmen werden in entsprechende Zirkularpuffer gespeichert. So werden folglich alle Parameter für die Tonhöhe für jeden der aufeinander folgenden Datenrahmen in einem Zirkularpuffer gespeichert, die Parameter für stimmhafte/stimmlose Laute für jeden der aufeinander folgenden Datenrahmen werden in einem zweiten Zirkularpuffer gespeichert und so weiter. In der bevorzugten Ausführung werden in jedem Zirkularpuffer vorzugsweise ähnliche Parameter aus siebzehn Datenrahmen gespeichert, um eine Überprüfung eines Parameters im Kontext zu dessen benachbarten Parametern aus acht vorhergehenden und acht nachfolgenden Datenrahmen zu ermöglichen. Dies ermöglicht ein präziseres Glätten sowie eine verbesserte Qualität der Sprachsignale, wobei ein Codierer mit einer niederen Bitrate verwendet wird.

In einer alternativen Ausführung wird eine unterschiedliche Anzahl ähnlicher Parameter in jedem Zirkularpuffer für jeden Parametertyp gespeichert. In anderen Worten: Die Größe der Zirkularpuffer variiert in Abhängigkeit vom Parametertyp, und demgemäss verwenden bestimmte Parameter beim Glätten eine größere Anzahl ähnlicher Parameter aus vorhergehenden und nachfolgenden Datenrahmen als andere. In dieser Ausführung hängt die Anzahl der in einem entsprechenden Zirkularpuffer gespeicherten ähnlichen Parameter, d.h. die Größe des Zirkularpuffers für einen bestimmten Parameter, von der Anzahl der Parameter in den vorhergehenden und nachfolgenden Datenrahmen ab, die zum präzisen Glätten des entsprechenden Parameters benötigt werden. Erfordert also ein bestimmter Parameter, z.B. der Parameter für stimmhafte/stimmlose Laute, die Analyse mehrerer Parameter aus vorhergehenden und nachfolgenden Datenrahmen für ein präzises Glätten, benötigt dieser Parameter einen größeren Zirkularpuffer.

Bei dem Schritt 224 wandelt der DSP 104 die erhaltenen Parameter in eine zum Glätten geeignetere Form um. Wird ein bestimmter Parameter beispielsweise in einem Differenzformat gespeichert, bei dem jeder Parameter in einem Datenrahmen als Differenzwert gespeichert wird, der sich aus dem entsprechenden Parameter und dem Parameterwert des vorhergehenden Datenrahmens ergibt, so werden bei diesem Schritt alle Parameter in ein normaleres oder verständlicheres Format umgewandelt, in dem jeder Wert den wahren Wert des Parameters darstellt. In einer Ausführung wandelt der DSP 104 die Parameterdaten weiter in ein neues Format um, wobei eine gewünschte Umwandlung vor dem Glätten durchgeführt wird. Dies erfolgt, für die Fälle, bei denen der DSP 104 in diesem neuen Format die Sprachdaten präziser glättet.

Bei dem Schritt 226 wird jeder Parameter geglättet, indem der DSP 104 Parameter der acht vorhergehenden und acht nachfolgenden Datenrahmen verwendet. Das Glätten umfasst zuerst den Vergleich des entsprechenden Parameterwerts mit ähnlichen Parameterwerten aus den acht vorhergehenden und den acht nachfolgenden Datenrahmen, um feststellen zu können, ob es Unterbrechungen gibt. Ergibt die Überprüfung des entsprechenden Parameters in Bezug auf die Parameter der acht vorhergehenden bzw. acht nachfolgenden Datenrahmen eine Unterbrechung und handelt es sich bei dieser Unterbrechung um einen wahrscheinlichen Fehler, passt der Glättungsvorgang den Parameterwert an besser passende benachbarte Werte an. In einer Ausführung wird der unterbrechende Wert von dem DSP 104 einfach durch einen benachbarten Wert ersetzt.

Wie bereits oben festgestellt wurde, stehen für jeden gegenwärtig zu glättenden Parameter aus einer deutlich höheren Zahl an vorhergehenden und nachfolgenden Datenrahmen stammende Parameter zur Verfügung, da das Glätten durchgeführt wird, nachdem das Codieren abgeschlossen ist. Wird also in einem der Parameter eine Unterbrechung festgestellt, werden beim Glätten nach der vorliegenden Erfindung Parameter aus einer größeren Anzahl von vorhergehenden und nachfolgenden Datenrahmen überprüft, um ein verbessertes Glätten der Parameter vor dem Decodieren der Parameter in Sprachsignalwellenformen zu erzielen. Die Möglichkeit, während des Glättens Parameter in einer größeren Zahl von vorhergehenden und nachfolgenden Datenrahmen zu überprüfen, bietet ein intelligenteres sowie präziseres Glätten der entsprechenden Parameter und somit eine verbesserte Qualität der Sprachsignale.

In einer Ausführung der Erfindung liest der DSP 104 zusätzliche Parameter in den lokalen Speicher 106 ein, wenn der DSP 104 feststellt, dass für den Entscheidungsprozess beim Glätten eine noch größere Anzahl von Parametern aus weiteren vorhergehenden und nachfolgenden Datenrahmen erforderlich erscheint, um bei diesem entsprechenden Parameter intelligenter glätten zu können. Bei dem Schritt 228 wandelt der DSP 104 die geglätteten Parameter zurück in ihre ursprüngliche Form um, d.h. in die Form, die diese Parameter vor Ausführung des Schrittes 224 hatten. Bei dem Schritt 230 speichert der DSP 104 die geglätteten Parameterdaten zurück in den Speicher 112. Bei dem Schritt 232 bestimmt der DSP 104, ob noch weitere Parameterdaten im Speicher 112 vorhanden sind, die noch nicht geglättet wurden. Wenn ja, wiederholt der DSP 104 für die nächsten Parameterdaten die Schritte 222-230. Wurden alle Parameterdaten im Speicher 112 geglättet, ist der Vorgang abgeschlossen.

Nun bezugnehmend auf Fig. 11 ist ein Flussdiagramm dargestellt, das den Sprachdecodiervorgang darstellt, der das Glätten zwischen Datenrahmen gemäß einer Ausführung der vorliegenden Erfindung umfasst. Bei dem Schritt 242 empfängt der lokale Speicher 106 Parameter für mehrere Datenrahmen und speichert ähnliche Parameter aus jedem der mehreren Datenrahmen in entsprechende Zirkularpuffer. In anderen Worten und wie bereits oben beschrieben, werden alle Parameter für die Tonhöhe für jeden der Datenrahmen in einem Zirkularpuffer gespeichert, die stimmhaften/stimmlosen Parameter für jeden Rahmen in einem zweiten Zirkularpuffer gespeichert und so weiter. Wie oben erwähnt, werden in einem Zirkularpuffer vorzugsweise Parameter aus siebzehn Datenrahmen gespeichert, um beim Glätten für jeden einzelnen Parameter Referenzparameter aus acht vorhergehenden und acht nachfolgenden Datenrahmen verwenden zu können. Dadurch wird das Glätten präziser und die Qualität der Sprachsignale verbessert.

Bei dem Schritt 244 dequantisiert der DSP 104 die Daten, um Ipc-Parameter zu erhalten. Weitere Informationen zu diesem Schritt entnehmen Sie bitte der Lektüre von Gersho and Gray, Vector Quantization and Signal Compression, Kluwer Academic Publishers. Bei dem Schritt 246 führt der DSP 104 das Glätten für entsprechende Parameter in jedem Zirkularpuffer unter Verwendung der Parameter der acht vorhergehenden bzw. acht nachfolgenden Datenrahmen durch. Wie oben erwähnt, umfasst das Glätten den Vergleich des entsprechenden Parameterwerts mit ähnlichen Parameterwerten benachbarter Datenrahmen. Existiert eine Unterbrechung und handelt es sich dabei wahrscheinlich um einen Fehler, ersetzt der DSP 104 den abweichenden Parameter durch einen neuen Wert, vorzugsweise durch einen Wert eines benachbarten Parameters. Es wird darauf hingewiesen, dass auch Schritte des Umwandelns vorgenommen werden können, bei denen die Parameter in eine für das Glätten geeignetere Form umgewandelt werden und bei denen dann die geglätteten Parameter nach dem Glätten wieder zurück in ihre ursprüngliche Form umgewandelt werden. Diese Schritte wären den Schritten 224 und 228 von Fig. 10 ähnlich.

Wie bereits oben erwähnt, stehen für jeden gegenwärtig zu glättenden Parameter aus einer deutlich höheren Zahl an vorhergehenden und nachfolgenden Datenrahmen stammende Parameter zur Verfügung, da das Glätten durchgeführt wird, nachdem das Codieren abgeschlossen ist.

Deshalb werden beim Glätten nach der vorliegenden Erfindung Parameter aus eine größere Anzahl von vorhergehenden und nachfolgenden Datenrahmen überprüft, um ein verbessertes Glätten der Parameter vor dem Decodieren der Parameter in Sprachsignalwellenformen zu erzielen. Die Möglichkeit, während des Glättens Parameter in einer größeren Zahl von vorhergehenden und nachfolgenden Datenrahmen zu überprüfen, bietet ein intelligenteres sowie präziseres Glätten der entsprechenden Parameter und somit eine verbesserte Qualität der Sprachsignale.

Wie oben erwähnt wurde, liest der DSP 104 in einer Ausführung der Erfindung zusätzliche Parameter in den lokalen Speicher 106 ein, wenn der DSP 104 feststellt, dass für den Entscheidungsprozess beim Glätten eine noch größere Anzahl von Parametern aus weiteren vorhergehenden und nachfolgenden Datenrahmen erforderlich erscheint, um bei diesem entsprechenden Parameter intelligenter glätten zu können. Es wird jedoch darauf hingewiesen, dass dieses Verfahren stark eingeschränkt ist, wenn das Glätten in Echtzeit während des Decodierens durchgeführt wird, da beim Aufruf von zusätzlichen Parametern eine ungewünschte Verzögerung bei der Erzeugung von Sprachwellenformen auftreten kann.

Bei dem Schritt 248 erzeugt der DSP 104 unter Verwendung der geglätteten Parameter Sprachsignalwellenformen. Die Sprachsignalwellenformen werden unter Verwendung eines in Fig. 4 bzw. 5 abgebildeten Spracherzeugungsmodells erzeugt. Weitere Informationen zu diesem Schritt entnehmen Sie bitte der bereits früher erwähnten Lektüre von Rabiner and Schafer, Digital Processing of Speech Signals. Bei dem Schritt 250 entscheidet der DSP 104, ob noch weitere Parameterdaten im Speicher 112 zu decodieren sind. Wenn ja, liest der DSP 104 bei dem Schritt 252 einen neuen Parameterwert für jeden Zirkularpuffer ein und kehrt zum Schritt 244 zurück. Diese neuen Parameterwerte ersetzen den ältesten vorhergehenden Wert in den entsprechenden Zirkularpuffern und ermöglichen somit eine Überprüfung des nächsten Parameters im Kontext zu seinen benachbarten Parametern in den acht vorhergehenden und den acht nachfolgenden Datenrahmen. Wurden bei dem Schritt 250 alle Parameterdaten im Speicher 112 decodiert, ist der Vorgang beendet.

In einer Ausführung der vorliegenden Erfindung werden des gemäß der Fig. 10 oder Fig. 11 durchgeführten Glättens nur noch bestimmte wichtige Parameter in den Zirkularpuffern im lokalen Speicher 106 beibehalten, um die lokalen Speicheranforderungen zu reduzieren und um dabei dem DSP 104 einen leichteren Zugriff auf diese Parameter zu ermöglichen. Diese Ausführung wird verwendet, wenn einem oder mehreren dieser Parametertypen eine größere relative Bedeutung beigemessen wird, und/oder wenn sie mit höherer Wahrscheinlichkeit schwerwiegende Unterbrechungen und somit fehlerhafte Parameterschätzungen als andere Parameter verursachen. Bei diesen Parametern, denen eine größere relative Bedeutung oder eine höhere Wahrscheinlichkeit für das Auftreten von Fehlern beigemessen wird, wird während des Glättens eine größere Anzahl ähnlicher Parameter in angrenzenden Datenrahmen verwendet. Diese Parameter werden daher zur Vereinfachung des Zugriffs vorzugsweise in den Zirkularpuffern im lokalen Speicher 106 beibehalten. Solche Parameter, die mit einer niedrigeren Wahrscheinlichkeit Unterbrechungen aufweisen und/oder für weniger wichtig gehalten werden, benötigen weniger Parameter zum Glätten, und diese Parameter können je nach Bedarf aus dem Direktzugriffsspeicher 112 gelesen werden. In der bevorzugten Ausführung bleiben die Parameter für Tonhöhe und Laute während des Glättens im lokalen Speicher 106, um das Glätten während des Decodierens effizienter zu gestalten.

Wenn die Sprachcodierung für den Parameterwert der Tonhöhe durchgeführt wird, wird die Tonhöhenschätzung manchmal irrtümlicherweise eine zweifach zu große oder zu kleine oder eine um ein anderes Vielfaches vom wahren Wert abweichende Tonhöhe feststellen. Jedoch wird sich die Tonhöhe der menschlichen Stimmbänder bei einer normalen Stimme nur selten entscheidend in 20 ms Datenrahmen ändern. Da in der vorliegenden Erfindung zur Analyse des Glättens praktisch eine unbegrenzte Anzahl vorhergehender und nachfolgender Datenrahmen zur Verfügung steht, überprüft der DSP 104 den Parameter für die Tonhöhen aus einer Vielzahl vorhergehender und nachfolgender Datenrahmen, um ein verbessertes Glätten für den Tonhöhenparameter durchführen zu können. Dies ermöglicht dem DSP 104 diesen Fehler präziser aus den Sprachdaten zu entfernen, bevor die Parameterdaten in Sprachwellenformen decodiert werden.

Ein weiterer während der Sprachcodierung erzeugter Parameter ist der Parameter für stimmhafte und stimmlose Laute. Er gibt an, ob es sich bei der gegenwärtigen Sprachwellenform um ein stimmhaftes oder ein stimmloses Signal handelt. Wie bereits in der Einführung erwähnt, geht ein stimmhaftes Sprachsignal mit der Vibration der Stimmbänder einher. Ein stimmhafter Laut, bei dem die Stimmbänder zur Erzeugung des gewünschten Lautes vibrieren, ist beispielsweise "ahhh". Bei einem stimmlosen Signal wird zur Erzeugung des Lautes die Luft aus einer Verengung im Stimmapparat herausgepresst, wobei die Stimmbänder nicht vibrieren. Ein Beispiel eines stimmlosen Lautes ist "ssss." Hier gibt es keine Vibration der Stimmbänder, denn der Laut wird erzeugt, indem Luft durch eine Verengung des Stimmapparates am Mund herausgepresst wird.

Die meisten Laute in der englischen Sprache sind entweder stimmhaft oder stimmlos. Einige Laute jedoch, die als stimmhafte Reibelaute bezeichnet werden, besitzen beide Eigenschaften, d.h. zur Erzeugung dieser Laute umfasst sowohl die Vibration der Stimmbänder als auch die Verengung des Stimmapparates in der Nähe des Mundes, um die Luftströmung zu reduzieren. Ein Sprachlaut, der stimmhafte und stimmlose Komponenten aufweist, ist beispielsweise "vvvv", bei dem der Laut teils durch die Vibration der Stimmbänder und teils durch das Auspressen der Luft durch einen verengten Stimmapparat gebildet wird. Laute, die sowohl stimmhafte als auch stimmlose Komponenten umfassen, benötigen zur Wiedergabe der stimmhaften Lautkomponente einen Impulsfolgegenerator und zur Wiedergabe der stimmlosen Komponente einen Rauschgenerator.

Im Allgemeinen können Sprachparameterinformationen durch einen Binärwert pro Datenrahmen dargestellt werden und es ist nicht wünschenswert, mehr als ein Bit pro Rahmen zu übertragen, welches kennzeichnet, ob ein Sprachsignal stimmhaft oder stimmlos ist. Für ein stimmhaftes Sprachsignal wäre der Parameter für aufeinander folgende 20 ms Datenrahmen folglich stimmhaft, stimmhaft, stimmhaft, stimmhaft, stimmhaft, usw.. Wenn jedoch ein Sprachsignal codiert wird, das sowohl stimmhafte als auch stimmlose Merkmale enthält, stellt die Lautschätzung möglicherweise fest, dass die Sprachwellenform einen 50%-igen stimmhaften Anteil hat. Der Lautschätzer schaltet für die Parameter konsekutiver Datenrahmen dann vorzugsweise zwischen stimmhaft, stimmlos, stimmhaft, stimmlos, usw. um.

Während des Glättens der Lautparameter werden eine Vielzahl vorhergehender und nachfolgender Datenrahmen überprüft und die Verteilung der zu Grunde liegenden Signale wird als eine Kombination von stimmhaften und stimmlosen Lauten erkannt. Beim Glätten werden zum Beispiel Parameter aus einer Reihe vorhergehender und nachfolgender Datenrahmen überprüft und es wird festgestellt, dass die zu decodierenden Sprechlaute zu 75% stimmlos und zu 25% stimmhaft sein sollen. Alternativ untersucht der Glättungsvorgang die Verteilung der stimmhaften/stimmlosen Parameter und stellt fest, dass die zu decodierenden Laute zu 50% stimmhaft und zu 50% stimmlos sein sollen. Folglich bietet der Decodiervorgang in einer Ausführung eine verbesserte Sprachsignalqualität, da der Erregungsgenerator entsprechend gesteuert wird, d.h. indem der Impulsfolgegenerator und der Rauschgenerator je nach dem Prozentsatz der stimmhaften bzw. stimmlosen Laute entsprechend zugeschaltet wird. Der Decodierer produziert daher exaktere Laute mit sowohl stimmhaften als auch stimmlosen Komponenten.

In einer Ausführung werden beim Glätten Parameter aus einer großen Anzahl vorhergehender und nachfolgender Datenrahmen überprüft, um die Übergänge zwischen den stimmhaften Signalen, stimmlosen Signalen sowie Signalen mit beiden Komponenten exakter zu erkennen. Diese Informationen werden dann beim Decodieren der Signale verwendet, um mit dem Ziel einer exakteren Wiedergabe der Sprache einen oder mehrere Rahmen neu zu positionieren. Wird beim Glätten beispielsweise festgestellt, dass die Verteilung der stimmhaften und stimmlosen Parameter von 100% stimmhaft in den konsekutiven Datenrahmen zu 75%/25% stimmhaft/stimmlos und zu 50% stimmhaft/stimmlos übergeht, erkennt das System nicht nur, dass Sprachlaute mit stimmhaften als auch stimmlosen Komponenten erzeugt werden müssen, sondern es erkennt auch viel exakter die Übergangsperiode zwischen den stimmhaften und den stimmhaften/stimmlosen Sprachlauten. Diese Informationen finden während des Decodierens Anwendung und tragen zur Erzeugung verbesserter und realistischerer Sprachwellenformen bei.

Bei dem Verfahren der vorliegenden Erfindung findet das Glätten nach dem Codieren und Speichern der Parameterdaten im Speicher 112 statt. Erfolgt das Glätten der Lautparameter wie oben beschrieben, geschieht dies vorzugsweise während des Decodierens, da die Darstellung eines Rahmens von zum Beispiel 75% stimmhaft 5% stimmhaft usw., mehr als 1 Bit für den Rahmen benötigt.

Die vorliegende technische Erfindung erlaubt im Wesentlichen also einen einzigen Bitstrom mit einem stimmhaften/stimmlosen Bit pro Rahmen, mit dem aber nicht nur angegeben werden kann, ob der entsprechende Rahmen einen stimmhaften bzw. stimmlosen Laut darstellt, sondern er analysiert vor allem die Verteilung der Lautparameter in den konsekutiven Datenrahmen, um eine verbesserte Sprachqualität bieten zu können. Durch die statistische Analyse der stimmhaften und stimmlosen Parameter der konsekutiven Rahmen kann das Verfahren genau feststellen, ob und mit welchem Prozentsatz Sprechlaute stimmhafte und stimmlose Komponenten enthalten, und es kann zudem die Übergänge von stimmhaften, stimmlosen und stimmhaften/stimmlosen Sprachsignalen genauer festlegen. Es wird darauf hingewiesen, dass dies in einer herkömmlichen Echtzeitumgebung nicht möglich ist, da der Decodierer nicht genügend Datenrahmen analysieren kann, ohne dabei eine nicht akzeptable Verzögerung zu verursachen.

Gemäß der Erfindung werden unterschiedliche Verfahren zur Parameterspeicherung und zum Zugriff auf die Parameter verwendet, damit sichergestellt ist, dass der DSP 104 die Parameter aus dem Speicher 112 in der erforderlichen Reihenfolge empfängt, um ein Glätten zwischen Datenrahmen vornehmen zu können. Fig. 12 zeigt eine Konfiguration des Speichers 112 gemäß einer Ausführung, in der der Speicher 112 ein Direktzugriffsspeicher, wie etwa der dynamische Speicher (DRAM), ist. Die in Fig. 12 abgebildete Speicherkonfiguration wird als normales Abrufverfahren bezeichnet, wobei die Parameter für jeden Datenrahmen kontinuierlich gemäß dem entsprechenden Datenrahmen sequenziell im Speicher gespeichert sind. Die Parameter P&sub1;(n), P&sub2;(n), und P&sub3;(n), ... für Rahmen n sind im Speicher also hintereinander gespeichert. Die Parameter P&sub1;(n + 1), P&sub2;(n + 1), und P&sub3;(n + 1) für den Rahmen n + 1 folgen den Parametern für Rahmen n, und so weiter. Handelt es sich bei dem Speicher 112 um einen Direktzugriffsspeicher und ist der DSP 104 mit dem Speicher 112 über einen Bus oder eine abrufgesteuerte serielle Verbindung verbunden, kann der DSP 104 auf jeden gewünschten Parameter im Speicher 112 zugreifen. Wie in Fig. 12 abgebildet, greift der DSP 104 daher beim Glätten zwischen den Rahmen auf ähnliche Parameter aus einer Vielzahl aufeinander folgender Datenrahmen für jeden entsprechenden Zirkularpuffer zu, wie dies oben beschrieben ist.

Fig. 12 setzt voraus, dass bei jedem Parameter ein Glättungsvorgang mit Parametern in einer bestimmten Anzahl vorhergehender und nachfolgender Datenrahmen erfolgt. Es wird darauf hingewiesen, dass beim Glätten je nach Wunsch eine unterschiedliche Anzahl von Parametern aus vorhergehenden und nachfolgenden Parametern verwendet werden kann. Im folgenden Beispiel werden Parameter aus einer gleichen Anzahl vorhergehender und nachfolgender Datenrahmen verwendet. In diesem Beispiel wird für Parameter P&sub1; ein Glättungsvorgang unter Verwendung von Parametern einer bestimmten Anzahl aus x&sub1; vorhergehenden und x&sub1; nachfolgenden Datenrahmen vorgenommen, wohingegen beim Glätten des Parameters P&sub2; Parameter aus x&sub2; vorhergehenden und x&sub2; nachfolgenden Rahmen und beim Glätten von Parameter P&sub3; Parameter aus x&sub3; vorhergehenden und x&sub3; nachfolgenden Datenrahmen verwendet werden. Der Zirkularpuffer für Parameter P&sub1; ist folglich so konstruiert, dass er 2x&sub1; + 1 P&sub1; Parameter speichern kann, der Zirkularpuffer für Parameter P&sub2; kann 2x&sub2; + 1 P&sub2; Parameter speichern und der Zirkularpuffer für Parameter P&sub3; kann 2x&sub3; + 1 P&sub3; Parameter speichern. Es wird darauf hingewiesen, dass zu Beginn des Glättens beim erstmaligen Beladen der Zirkularpuffer mit Parametern nur eine begrenzte Anzahl vorhergehender Rahmen zur Verfügung steht, d.h. vor der Zeit Null sind noch keine Datenrahmen vorhanden. Die Parameter aus diesen "nicht existenten" Datenrahmen werden daher auf Nennwerte gesetzt. Dies ist in Fig. 12 dargestellt, wobei im Datenrahmen vor dem aktuellen Zugriffspunkt der Parameter P&sub1; (n - 1) nicht vorhanden ist, die Parameter P&sub2; (n) und P&sub3; (n + 1) hingegen vorhanden sind. Nachdem jedoch eine bestimmte Anfangszahl von Parametern überprüft worden ist, wird der entsprechende Zirkularpuffer Parameter aus vorhergehenden und nachfolgenden Datenrahmen enthalten.

Wenn die Zirkularpuffer, nachdem sie beladen wurden, für jeden dieser Parameter einen neuen Wert benötigen, werden die Parameter aus dem Speicher 112 aufgerufen. In dem Beispiel, in dem x&sub3; eine Einheit größer ist als x&sub2; und x&sub2; eine Einheit größer ist als x&sub1;, wird - wie in Fig. 12 zu sehen ist ein Parameter P&sub1;(n) für den zum Parameter P&sub1; zugehörigen Zirkularpuffer, ein Parameter P&sub2;(n + 1) für den zum Parameter P&sub2; zugehörigen Zirkularpuffer und ein Parameter P&sub3;(n + 2) für den zum Parameter P&sub3; zugehörigen Zirkularpuffer aufgerufen. Das in Fig. 12 abgebildete Speicherschema setzt also voraus, dass die Datenrahmen von Parametern entsprechend der Reihenfolge, in der die Sprachdaten empfangen worden sind, gespeichert werden und der DSP 104 zufällig auf gewünschte Parameter zugreift, um während des Glättens die Zirkularpuffer zu füllen.

Nun bezugnehmend auf Fig. 13 wird eine andere Speicherkonfiguration, die als bedarfgesteuertes Abrufverfahren bezeichnet wird, dargestellt. Diese Speicherkonfiguration setzt ein System zum Speichern und Auffinden von Sprachdaten voraus, bei dem auf die Parameter im Speicher 112 nicht wie in Fig. 12 zufällig zugegriffen werden kann. In dieser Ausführung werden die vom DSP 104 erzeugten Parameter während des Codierens nicht wie in Fig. 12 hintereinander gespeichert, sondern werden vielmehr so gespeichert, wie es für den Aufruf dieser Parameter erforderlich ist, um das Glätten zwischen Datenrahmen durchführen zu können. Folglich werden die Parameter, anstatt diese wie in Fig. 12 nach Rahmen zu ordnen und auf die Parameter P&sub1;(n), P&sub2;(n + 1) und P&sub3;(n + 2) aus nicht aufeinander folgenden Positionen zuzugreifen, hier "bedarfsgesteuert" geordnet, wobei die Parameter P&sub1;(n), P&sub2;(n + 1) und P&sub3;(n + 2) im Speicher 112 nacheinander gespeichert sind. Es wird darauf hingewiesen, dass bei dieser Ausführung erforderlich ist, dass der lokale Speicher 106 die Parameterwerte während des Codierens in eine Warteschlange einreiht, sodass die Parameter zum Speicher 112 in der erforderlichen Reihenfolge übertragen werden können, um diese Parameter wie in Fig. 13 abgebildet speichern zu können.

In einer Ausführung, in der der Speicher 112 ein Direktzugriffsspeicher ist und der DSP 104 zufällig auf jeglichen Parameter aus dem Speicher 112 zugreift, wird vorzugsweise ein Speicherverfahren für ein normales Abrufverfahren verwendet, wie dies in Fig. 12 dargestellt ist. In einer Ausführung, in der eine bedarfsgesteuerte serielle Verbindung verwendet wird, wie sie in Fig. 7 abgebildet ist, wird vorzugsweise ebenfalls das Speicherverfahren für ein normales Abrufverfahren von Fig. 12 verwendet. Es könnte jedoch je nach Wunsch auch das Speicherverfahren von Fig. 13 in dieser Ausführung verwendet werden. Besteht zwischen dem DSP 104 und dem Speicher 112 eine bedarfsgesteuerte serielle Verbindung 130, wird vorzugsweise das Speicherverfahren von Fig. 13 verwendet.

Erneut bezug nehmend auf Fig. 7: Handelt es sich bei der seriellen Verbindung 130 um eine bedarfsgesteuerte serielle Verbindung, speichert der DSP 104 während des in Fig. 8 dargestellten Codierens die Parameter im Speicher 112 und zwar in der Reihenfolge, in der auf diese Parameter von dem DSP 104 während eines anschließenden Glättens zugegriffen werden muss. Wie bereits oben bemerkt, ist hierfür erforderlich, dass der lokale Speicher 106 die Parameterwerte während des Codierens in einer Warteschlange einreiht, damit der DSP 104 diese Parameter in der richtigen Reihenfolge zum Speicher 112 übertragen kann. Alternativ könnten die Parameterdaten, wie in Fig. 12 dargestellt, in der Art eines normalen Abrufverfahrens gespeichert werden. Bei dieser Ausführung werden, da der DSP 104 die Parameterdaten während des Glättens zwischen Datenrahmen liest, diese Parameterdaten in eine Warteschlange im lokalen Speicher 106 eingereiht und die Parameter werden dann dem DSP 104 in der gewünschten Reihenfolge zum anschließenden Glätten zur Verfügung gestellt. In einer Ausführung, in der eine bedarfsgesteuerte serielle Verbindung 130 verwendet wird, benötigt der Sprachcodierer/Sprachdecodierer 102 folglich einen ausreichend großen lokalen Speicher 106, um eine potenziell große Anzahl von Parameterwerten unabhängig von der verwendeten Speichermethode in einer Warteschlange einzureihen.

Daher wird ein System und Verfahren zur Speicherung und Erzeugung von Sprachsignalen mit verbesserter Qualität, das Codierer mit einer sehr niederen Bitrate verwendet, dargestellt und beschrieben. Das System und Verfahren der vorliegenden Erfindung führt das Glätten erst nach dem Codieren der Parameter aus, da für das Glätten dann Parameter in einer größeren Anzahl vorhergehender und nachfolgender Datenrahmen zur Verfügung stehen. Wie bereits oben bemerkt, kann die vorliegende Erfindung auch bei anderen Systemen zum Speichern und Auffinden von Parameterdaten Anwendung finden, einschließlich Systeme zum Speichern und Auffinden von Videodaten. Die vorliegende Erfindung kann auch bei in Echtzeit arbeitenden Datenübermittlungssystemen angewendet werden, die über eine ausreichende Systembandbreite und Verarbeitungskapazität verfügen, um die Parameterdaten speichern zu können und während der Echtzeitübertragung beim Glätten auf eine Vielzahl vorhergehender und nachfolgender Datenrahmen zugreifen zu können.

Obwohl das Verfahren und die Vorrichtung der vorliegenden Erfindung im Zusammenhang mit der bevorzugten Ausführung beschrieben worden ist, ist eine Einschränkung auf die in diesem Patent dargelegte spezifische Ausführung nicht beabsichtigt. Es wird im Gegenteil beabsichtigt, solche Alternativen, Modifikationen und Entsprechungen abzudecken, wie es im Umfang dieser Erfindung nach Definition der beigefügten Ansprüche einbezogen ist.

Die vorliegende Erfindung bietet also, einem ersten Aspekt zufolge, ein Verfahren zum Speichern und Auffinden von digitalen Sprachdaten mit den folgenden Schritten: Empfangen von Eingangssprachwellenformen;

Konvertieren der Eingangssprachwellenformen in digitale Sprachdaten;

Codieren der digitalen Sprachdaten in mehrere Parameter für jeden von mehreren Datenrahmen digitaler Sprachdaten;

Speichern der mehreren Parameter in einem Speicher;

Lesen der mehreren Parameter aus dem Speicher nach den Schritten des Codierens der digitalen Sprachdaten und des Speicherns der mehreren Parameter; und

Glätten der mehreren Parameter zum Entfernen von Unterbrechungen aus den mehreren Parametern nach dem Schritt des Lesens der mehreren Parameter aus dem Speicher.

Die vorliegende Erfindung bietet außerdem ein digitales Sprachspeicher- und Auffindsystem, das verbesserte Sprachqualität bietet, mit:

einem Prozessor, der Eingangssprachwellenformen empfängt und mehrere Parameter erzeugt, welche die Eingangssprachwellenformen repräsentieren, wobei die Eingangssprachwellenformen in mehrere Datenrahmen unterteilt werden können, und der Prozessor die mehreren Parameter für die mehreren Datenrahmen der Eingangssprachwellenformen erzeugt;

einem mit dem Prozessor gekoppelten Speicher zum Speichern der mehreren Parameter;

einem mit dem Prozessor gekoppelten lokalen Speicher zum Speichern einer ersten Vielzahl der mehreren Parameter, wobei die erste Vielzahl von Parametern einen ersten geglätteten Parameter in einem ersten Datenrahmen und gleiche Parameter aus einer Vielzahl diesem Datenrahmen vorhergehender und nachfolgender Datenrahmen aufweist;

wobei der Prozessor die erste Vielzahl von Parametern aus dem Speicher liest und die erste Vielzahl von Parametern im lokalen Speicher speichert;

wobei der Prozessor Glättungen an dem ersten Parameter im lokalen Speicher nach dem Lesen der ersten Vielzahl von Parametern aus dem Speicher und dem Speichern der ersten Vielzahl von Parametern im lokalen Speicher durchführt.

Einem weiteren Aspekt zufolge bietet die Erfindung ein Verfahren zum Speichern und Auffinden von digitalen Parameterdaten mit den folgenden Schritten:

Empfangen von digitalen Eingangsdaten;

Codieren der digitalen Daten in mehrere Parameter für jeden von mehreren Datenrahmen digitaler Daten;

Speichern der mehreren Parameter in einem Speicher;

Lesen der mehreren Parameter aus dem Speicher nach den Schritten des Codierens der digitalen Daten und des Speicherns der mehreren Parameter; und

Glätten der mehreren Parameter zum Entfernen von Unterbrechungen aus den mehreren Parametern nach dem Schritt des Lesens der mehreren Parameter aus dem Speicher.

Vorzugsweise erzeugt der Schritt des Glättens mehrere geglättete Parameter und das Verfahren umfasst ferner: das Speichern der Vielzahl der geglätteten Parameter im Speicher nach dem Schritt des Glättens.

Vorzugsweise umfasst der Schritt des Glättens für einen oder mehrere Parameter folgende Schritte:

Vergleichen eines ersten Parameters in einem ersten Datenrahmen mit gleichartigen Parametern aus mehreren vorhergehenden Datenrahmen und mehreren nachfolgenden Datenrahmen, um festzustellen, ob der erste Parameter wesentlich von den ähnlichen Parametern der mehreren vorhergehenden Datenrahmen und der mehreren nachfolgenden Datenrahmen abweicht; und

Ersetzen des ersten Parameters durch einen neuen Wert, wenn der Schritt des Vergleichens angibt, dass der erste Parameter wesentlich von den ähnlichen Parametern der mehreren vorhergehenden Datenrahmen und der mehreren nachfolgenden Datenrahmen abweicht.

Vorzugsweise umfasst der Schritt des Glättens ferner:

Lesen zusätzlicher gleichartiger Parameter aus dem Speicher nach dem Schritt des Vergleichens, wenn der Vergleichsschritt angibt, dass der erste Parameter wesentlich von den gleichartigen Parametern der mehreren vorhergehenden Datenrahmen und der mehreren nachfolgenden Datenrahmen abweicht; und

Vergleichen des ersten Parameters mit den zusätzlichen gleichartigen Parametern, die im Schritt des Lesens der zusätzlichen Parameter gelesen wurden, um festzustellen, ob der erste Parameter wesentlich abweicht.

Vorzugsweise erzeugt der Schritt des Codierens mehrere Parameter unterschiedlicher Art für jeden der mehreren Datenrahmen; und

wobei der Schritt des Lesens der mehreren Parameter aus dem Speicher das Speichern einzelner der mehreren Parameter in einer Vielzahl von Puffern umfasst, wobei Parameter desselben Typs aus mehreren der mehreren Datenrahmen in jedem der mehreren Puffer gespeichert werden.

Vorzugsweise sind die mehreren Puffer für die verschiedenen Parametertypen unterschiedlich groß.

Vorzugsweise umfasst der Schritt des Speicherns der mehreren Parameter in den mehreren Puffern das Speichern einer ersten Anzahl von Parametern eines ersten Typs in einem ersten Puffer und das Speichern einer zweiten Anzahl von Parametern eines zweiten Typs in einem zweiten Puffer, wobei die erste Anzahl von der zweiten Anzahl verschieden ist.

Vorzugsweise weisen die mehreren Puffer mehrere Zirkularpuffer auf.

Vorzugsweise werden bei dem Schritt des Codierens mehrere Parameter unterschiedlicher Typen für jeden der mehreren Datenrahmen erzeugt; und wobei der Schritt des Lesens der mehreren Parameter aus dem Speicher das Speichern einzelner der mehreren Parameter in einem oder mehreren Puffern umfasst, wobei Parameter eines ersten Typs in einem ersten Puffer gespeichert werden und Parameter eines zweiten Typs im Speicher bleiben und nicht in einem Puffer gespeichert werden;

wobei der Schritt des Glättens umfasst:

Vergleichen eines ersten Parameters eines ersten Typs in einem ersten Puffer mit anderen Parametern des ersten Typs im ersten Puffer, um festzustellen, ob der erste Parameter wesentlich von den anderen Parametern des ersten Puffers abweicht;

Ersetzen des ersten Parameters durch einen neuen Wert, wenn der Schritt des Vergleichens angibt, dass der erste Parameter wesentlich von den anderen Parametern des ersten Puffers abweicht;

Lesen von Parametern des zweiten Typs aus dem Speicher aus mehreren der mehreren Datenrahmen;

Vergleichen eines ersten Parameters der Parameter des zweiten Typs mit anderen Parametern des zweiten Typs;

Ersetzen des ersten Parameters der Parameter des zweiten Typs durch einen neuen Wert, wenn der Schritt des Vergleichens angibt, dass der erste Parameter der Parameter des zweiten Typs wesentlich von anderen Parametern des zweiten Typs abweicht.

Vorzugsweise umfasst der Schritt des Codierens das Erzeugen mehrerer gleicher Parameter für einen ersten Parametertyp in einem oder mehreren der mehreren Datenrahmen, wobei das Verfahren ferner umfasst:

ein innerhalb von Datenrahmen erfolgendes Glätten der mehreren gleichartigen Parameter des ersten Typs für den einen oder jeden der mehreren Datenrahmen, wobei der Schritt des Durchführens der Glättung innerhalb der Datenrahmen einen einzigen Parameterwert des ersten Typs basierend auf den mehreren Parameterwerten des ersten Typs für den einen oder jeden der mehreren Datenrahmen erzeugt.

Vorzugsweise umfasst das Verfahren ferner:

Umwandeln der mehreren Parameter von einer ersten Form in eine zum Glätten besser geeignete zweite Form, wobei der Schritt des Umwandelns nach den Schritten des Lesens der mehreren Parameter aus dem Speicher und vor dem Schritt des Glättens der mehreren Parameter erfolgt;

Rückumwandeln der mehreren geglätteten Parameter in die erste Form nach dem Schritt des Glättens der mehreren Parameter; und

Speichern der mehreren Parameter im Speicher nach dem Schritt des Umwandelns der mehreren geglätteten Parameter in die erste Form.

Vorzugsweise umfassen die digitalen Eingangsdaten Sprachdaten;

Vorzugsweise umfassen die digitalen Eingangsdaten Videodaten.

Einem vierten Aspekt folgend, umfasst die Erfindung ein System zum Speichern und Auffinden von digitalen Daten, das verbesserte Sprachqualität bietet, mit:

einem Prozessor, der digitale Eingangsdaten empfängt und mehrere Parameter erzeugt, welche die digitalen Eingangsdaten repräsentieren, wobei die digitalen Eingangsdaten in mehrere Datenrahmen unterteilt werden können und der Prozessor die mehreren Parameter für die mehreren Datenrahmen der digitalen Eingangsdaten erzeugt;

einem mit dem Prozessor gekoppelten Speicher zum Speichern der mehreren Parameter;

einem mit dem Prozessor gekoppelten lokalen Speicher zum Speichern einer ersten Vielzahl der mehreren Parameter, wobei die erste Vielzahl von Parametern einen ersten geglätteten Parameter in einem ersten Datenrahmen und gleichartige Parameter aus einer Vielzahl diesem Datenrahmen vorhergehender und nachfolgender Datenrahmen aufweist;

wobei der Prozessor die erste Vielzahl von Parametern aus dem Speicher liest und die erste Vielzahl von Parametern im lokalen Speicher speichert;

wobei der Prozessor Glättungen an dem ersten Parameter im lokalen Speicher nach dem Lesen der ersten Vielzahl von Parametern aus dem Speicher und dem Speichern der ersten Vielzahl von Parametern im lokalen Speicher speichert.

Vorzugsweise speichert der Prozessor diese erste Vielzahl der geglätteten Parameter im Speicher, nachdem das Glätten der mehreren ersten Parametern im lokalen Speicher durchgeführt wurde.

Vorzugsweise führt der Prozessor Glättungen an dem ersten Parameter im lokalen Speicher unter Verwendung der gleichartigen Parametern aus einer Vielzahl vorhergehender und nachfolgender Datenrahmen durch.

Vorzugsweise umfasst der Prozessor:

eine Einrichtung zum Vergleichen des ersten Parameters im ersten Datenrahmen mit den gleichartigen Parametern aus mehreren vorhergehenden Datenrahmen und mehreren nachfolgenden Datenrahmen, um festzustellen, ob der erste Parameter wesentlich von den ähnlichen Parametern der mehreren vorhergehenden und nachfolgenden Datenrahmen abweicht; und

eine Einrichtung zum Ersetzen des ersten Parameters durch einen neuen Wert, wenn die Vergleichseinrichtung angibt, dass der erste Parameter wesentlich von den ähnlichen Parametern der mehreren vorhergehenden und der mehreren nachfolgenden Datenrahmen abweicht.

Vorzugsweise liest der Prozessor zusätzliche gleichartige Parameter aus dem Speicher nach der Operation der Vergleichseinrichtung, wenn die Vergleichseinrichtung feststellt, dass der erste Parameter wesentlich von den ähnlichen Parametern der mehreren vorhergehenden und nachfolgenden Datenrahmen abweicht; und

wobei die Vergleichseinrichtung den ersten Parameter mit den zusätzlichen gleichartigen Parametern vergleicht, um festzustellen, ob der erste Parameter wesentlich von den anderen abweicht.

Vorzugsweise erzeugt der Prozessor eine Vielzahl von Parametern unterschiedlicher Art für jeden der mehreren Datenrahmen der digitalen Eingangsdaten;

wobei der lokale Speicher mehrere Puffer umfasst, die den Parametern unterschiedlichen Typs zugehörig sind;

wobei der Prozessor die Parameter aus dem Speicher liest und die Parameter desselben Typs in den Puffern des lokalen Speichers speichert.

Vorzugsweise weisen die mehreren Puffer verschiedene Größen für die verschiedenen Parametertypen auf.

Vorzugsweise umfassen die digitalen Eingangsdaten Sprachdaten.

Vorzugsweise umfassen die digitalen Eingangsdaten Videodaten.


Anspruch[de]

1. Verfahren zum Speichern und Auffinden digitaler Sprachdaten mit den folgenden Schritten:

- Empfangen von Eingangssprachwellenformen;

- Konvertieren der Eingangssprachwellenformen in digitale Sprachdaten;

- Codieren der digitalen Sprachdaten in mehrere Parameter für jeden von mehreren Datenrahmen digitaler Sprachdaten;

- Speichern der mehreren Parameter in einem Speicher;

- Lesen der mehreren Parameter aus dem Speicher nach den Schritten des Codierens der digitalen Sprachdaten und des Speicherns der mehreren Parameter; und

- Glätten der mehreren Parameter zum Entfernen von Unterbrechungen aus den mehreren Parametern nach dem Schritt des Lesens der mehreren Parameter aus dem Speicher.

2. Verfahren nach Anspruch 1, bei dem der Schritt des Glättens eine Vielzahl von geglätteten Parametern erzeugt, wobei das Verfahren ferner den folgenden Schritt aufweist:

- Erzeugen von Sprachsignalwellenformen basierend auf der Vielzahl von geglätteten Parametern nach dem Schritt des Glättens.

3. Verfahren nach Anspruch 1, bei dem der Schritt des Glättens eine Vielzahl von geglätteten Parametern erzeugt, wobei das Verfahren ferner den folgenden Schritt aufweist:

- Speichern der Vielzahl der geglätteten Parameter im Speicher nach dem Schritt des Glättens.

4. Verfahren nach Anspruch 4, ferner mit dem folgenden Schritt:

- Lesen der Vielzahl von geglätteten Parametern aus dem Speicher nach dem Schritt des Speicherns der Vielzahl von geglätteten Parametern; und

- Erzeugen von Sprachsignalwellenformen basierend auf der Vielzahl von geglätteten Parametern nach dem Schritt des Lesens der Vielzahl von geglätteten Parametern aus dem Speicher.

5. Verfahren nach Anspruch 1, bei dem der Schritt des Glättens für einen oder mehrere der mehreren Parameter umfasst:

- Vergleichen eines ersten Parameters in einem ersten Datenrahmen mit gleichartigen Parametern aus mehreren vorhergehenden Datenrahmen und mehreren nachfolgenden Datenrahmen, um festzustellen, ob der erste Parameter wesentlich von den ähnlichen Parametern der mehreren vorhergehenden Datenrahmen und der mehreren nachfolgenden Datenrahmen abweicht; und

- Ersetzen des ersten Parameters durch einen neuen Wert, wenn der Schritt des Vergleichens angibt, daß der erste Parameter wesentlich von den ähnlichen Parametern der mehreren vorhergehenden Datenrahmen und der mehreren nachfolgenden Datenrahmen abweicht.

6. Verfahren nach Anspruch 5, bei dem der Schritt des Vergleichens das Vergleichen des ersten Parameters im ersten Datenrahmen mit gleichen Parametern mehrerer vorhergehender konsekutiver Datenrahmen und mehrerer nachfolgender konsekutiver Datenrahmen umfasst.

7. Verfahren nach Anspruch 6, bei dem der Schritt des Vergleichens das Vergleichen des ersten Parameters im ersten Datenrahmen mit gleichen Parametern aus acht vorhergehenden konsekutiven Datenrahmen und acht nachfolgenden konsekutiven Datenrahmen umfasst.

8. Verfahren nach Anspruch 5, bei dem der Schritt des Glättens ferner umfasst:

- Lesen zusätzlicher gleicher Parameter aus dem Speicher nach dem Schritt des Vergleichens, wenn der Vergleichsschritt angibt, daß der erste Parameter wesentlich von den gleichen Parametern der mehreren vorhergehenden Datenrahmen und der mehreren nachfolgenden Datenrahmen abweicht; und

- Vergleichen des ersten Parameters mit den zusätzlichen gleichen Parametern, die im Schritt des Lesens der zusätzlichen Parameter gelesen wurden, um festzustellen, ob der erste Parameter wesentlich abweicht.

9. Verfahren nach Anspruch 1, bei dem der Schritt des Codierens mehrere Parameter unterschiedlicher Art für jeden der mehreren Datenrahmen erzeugt; und

- bei dem der Schritt des Lesens der mehreren Parameter aus dem Speicher das Speichern einzelner der mehreren Parameter in mehreren Puffern umfasst, wobei Parameter desselben Typs aus mehreren der Vielzahl von Datenrahmen in jedem der mehreren Puffer gespeichert werden.

10. Verfahren nach Anspruch 9, bei dem der Schritt des Glättens für jeden Puffer umfasst:

- Vergleichen eines ersten Parameters in einem ersten Puffer mit anderen Parametern im ersten Puffer, um festzustellen, ob der erste Parameter wesentlich von den anderen Parametern des ersten Puffers abweicht; und

- Ersetzen des ersten Parameters durch einen neuen Wert, wenn der Schritt des Vergleichens angibt, daß der erste Parameter wesentlich von den anderen Parametern des ersten Puffers abweicht.

11. Verfahren nach Anspruch 9, bei dem die mehreren Puffer unterschiedliche Größen für unterschiedliche Arten von Parametern aufweisen.

12. Verfahren nach Anspruch 11, bei dem der Schritt des Speicherns der mehreren Parameter in den mehreren Puffern das Speichern einer ersten Anzahl von Parametern eines ersten Typs in einem ersten Puffer und das Speichern einer zweiten Zahl von Parametern eines zweiten Typs in einem zweiten Puffer umfasst, wobei die erste Anzahl von der zweiten Anzahl verschieden ist.

13. Verfahren nach Anspruch 9, bei dem die mehreren Puffer mehrere Zirkularpuffer aufweisen.

14. Verfahren nach Anspruch 1, bei dem der Schritt des Codierens mehrere Parameter unterschiedlicher Typen für jeden der mehreren Datenrahmen erzeugt; und

- wobei der Schritt des Lesens der mehreren Parameter aus dem Speicher das Speichern einzelner der mehreren Parameter in einem oder mehreren Puffern umfasst, wobei Parameter eines ersten Typs in einem ersten Puffer gespeichert werden und Parameter eines zweiten Typs im Speicher bleiben und nicht in einem Puffer gespeichert werden;

- wobei der Schritt des Glättens umfasst:

- Vergleichen eines ersten Parameters in einem ersten Puffer mit anderen Parametern im ersten Puffer, um festzustellen, ob der erste Parameter wesentlich von den anderen Parametern des ersten Puffers abweicht; und

- Ersetzen des ersten Parameters durch einen neuen Wert, wenn der Schritt des Vergleichens angibt, daß der erste Parameter wesentlich von den anderen Parametern des ersten Puffers abweicht;

- Lesen von Parametern des zweiten Typs aus dem Speicher aus mehreren der mehreren Datenrahmen;

- Vergleichen eines ersten Parameters der Parameter des zweiten Typs mit anderen Parametern des zweiten Typs;

- Ersetzen des ersten Parameters der Parameter des zweiten Typs durch einen neuen Wert, wenn der Schritt des Vergleichens angibt, daß der erste Parameter der Parameter des zweiten Typs wesentlich von anderen Parametern des zweiten Typs abweicht.

15. Verfahren nach Anspruch 1, bei dem der Schritt des Codierens das Erzeugen mehrerer gleicher Parameter für einen ersten Parametertyp in einem oder mehreren der mehreren Datenrahmen umfasst, wobei das Verfahren ferner umfasst:

- ein innerhalb von Datenrahmen erfolgendes Glätten der mehreren gleichen Parameter des ersten Typs für den einen oder jeden def mehreren Datenrahmen, wobei der Schritt des Durchführens der Glättung innerhalb von Datenrahmen einen einzigen Parameterwert des ersten Typs basierend auf den mehreren Parameterwerten des ersten Typs für den einen oder jeden der mehreren Datenrahmen erzeugt.

16. Verfahren nach Anspruch 1, ferner mit den folgenden Schritten:

- Umwandeln der mehreren Parameter von einer ersten Form in eine zum Glätten besser geeignete zweite Form, wobei der Schritt des Umwandelns nach den Schritten des Lesens der mehreren Parameter aus dem Speicher und vor dem Schritt des Glättens der mehreren Parameter erfolgt;

- Rückumwandeln der mehreren geglätteten Parameter in die erste Form nach dem Schritt des Glättens der mehreren Parameter; und

- Speichern der mehreren Parameter im Speicher nach dem Schritt des Umwandelns der mehreren geglätteten Parameter in die erste Form.

17. Verfahren von Anspruch 1, ferner mit dem Schritt des Speicherns der digitalen Sprachdaten in einem Speicher vor dem Codierschritt, wobei die digitalen Sprachdaten in mehrere Rahmen digitaler Sprachdaten unterteilt werden können.

18. Digitales Sprachspeicher- und Auffindsystem, das verbesserte Sprachqualität bietet, mit:

- einem Prozessor, der Eingangssprachwellenformen empfängt und mehrere Parameter erzeugt, welche die Eingangssprachwellenformen repräsentieren, wobei die Eingangssprachwellenformen in mehrere Datenrahmen unterteilt werden können, und der Prozessor die mehreren Parameter für die mehreren Datenrahmen der Eingangssprachwellenformen erzeugt;

- einem mit dem Prozessor gekoppelten Speicher zum Speichern der mehreren Parameter;

- einem mit dem Prozessor gekoppelten lokalen Speicher zum Speichern einer ersten Vielzahl der mehreren Parameter, wobei die erste Vielzahl von Parametern einen ersten geglätteten Parameter in einem ersten Datenrahmen und gleiche Parameter aus einer Vielzahl diesem Datenrahmen vorhergehender und nachfolgender Datenrahmen aufweist;

- wobei der Prozessor die erste Vielzahl von Parametern aus dem Speicher liest und die erste Vielzahl von Parametern im lokalen Speicher speichert;

- wobei der Prozessor Glättungen an dem ersten Parameter im lokalen Speicher nach dem Lesen der ersten Vielzahl von Parametern aus dem Speicher und dem Speichern der ersten Vielzahl von Parametern im lokalen Speicher durchführt.

19. Digitales Sprachspeicher- und Auffindsystem nach Anspruch 18, bei dem der Prozessor Sprachsignalwellenformen basierend auf der ersten Vielzahl von Parametern nach dem Glätten der ersten Vielzahl von Parametern im lokalen Speicher erzeugt.

20. Digitales Sprachspeicher- und Auffindsystem nach Anspruch 18, bei dem der Prozessor die geglättete erste Vielzahl von Parametern im Speicher nach dem Glätten der ersten Vielzahl von Parametern im lokalen Speicher speichert.

21. Digitales Sprachspeicher- und Auffindsystem nach Anspruch 20, bei dem der Prozessor Sprachsignalwellenformen basierend auf der ersten Vielzahl von Parametern erzeugt, nachdem die erste Vielzahl von Parametern im lokalen Speicher geglättet wurde, und nachdem der Prozessor die erste geglättete Vielzahl von Parametern im Speicher gespeichert hat.

22. Digitales Sprachspeicher- und Auffindsystem nach Anspruch 18, bei dem der Prozessor den ersten Parameter im lokalen Speicher unter Verwendung gleicher Parameter aus den mehreren vorhergehenden und nachfolgenden Datenrahmen glättet.

23. Digitales Sprachspeicher- und Auffindsystem nach Anspruch 22, bei dem der Prozessor aufweist:

- eine Einrichtung zum Vergleichen des ersten Parameters in dem ersten Datenrahmen mit den gleichartigen Parametern aus mehreren vorhergehenden Datenrahmen und mehreren nachfolgenden Datenrahmen, um festzustellen, ob der erste Parameter wesentlich von den ähnlichen Parametern der mehreren vorhergehenden Datenrahmen und der mehreren nachfolgenden Datenrahmen abweicht; und

- eine Einrichtung zum Ersetzen des ersten Parameters durch einen neuen Wert, wenn die Vergleichseinrichtung angibt, daß der erste Parameter wesentlich von den ähnlichen Parametern der mehreren vorhergehenden Datenrahmen und der mehreren nachfolgenden Datenrahmen abweicht.

24. Digitales Sprachspeicher- und Auffindsystem nach Anspruch 23, bei dem der Prozessor nach der Operation der Vergleichseinrichtung zusätzliche gleiche Parameter aus dem Speicher liest, wenn die Vergleichseinrichtung feststellt, daß der erste Parameter wesentlich von den gleichen Parametern in der Vielzahl der vorhergehenden und nachfolgenden Datenrahmen abweicht; und wobei die Vergleichseinrichtung den ersten Parameter mit den zusätzlichen gleichen Parametern vergleicht, um festzustellen, ob der erste Parameter wesentlich abweicht.

25. Digitales Sprachspeicher- und Auffindsystem nach Anspruch 18, bei dem der Prozessor mehrere Parameter unterschiedlicher Typen für jeden der mehreren Datenrahmen der Eingangssprachwellenformen erzeugt;

- wobei der lokale Speicher mehrere Puffer aufweist, die den Parametern unterschiedlichen Typs entsprechen;

- wobei der Prozessor die Parameter aus dem Speicher liest und die Parameter desselben Typs in den Puffern des lokalen Speichers speichert.

26. Digitales Sprachspeicher- und Auffindsystem nach Anspruch 25, bei dem die mehreren Puffer verschiedene Größen für die verschiedenen Parametertypen aufweisen.

27. Verfahren zum Speichern und Auffinden digitaler Parameterdaten mit den folgenden Schritten:

- Empfangen von digitalen Eingangsdaten;

- Codieren der digitalen Daten in mehrere Parameter für jeden von mehreren Datenrahmen digitaler Daten;

- Speichern der mehreren Parameter in einem Speicher;

- Lesen der mehreren Parameter aus dem Speicher nach den Schritten des Codierens der digitalen Daten und des Speicherns der mehreren Parameter; und

- Glätten der mehreren Parameter zum Entfernen von Unterbrechungen aus den mehreren Parametern nach dem Schritt des Lesens der mehreren Parameter aus dem Speicher.

28. Digitales Datenspeicher- und Auffindsystem, das verbesserte Signalqualität bietet, mit:

- einem Prozessor, der digitale Eingangsdaten empfängt und mehrere Parameter erzeugt, welche die digitalen Eingangsdaten repräsentieren, wobei die digitalen Eingangsdaten in mehrere Datenrahmen unterteilt werden können, und der Prozessor die mehreren Parameter für die mehreren Datenrahmen der digitalen Eingangsdaten erzeugt;

- einem mit dem Prozessor gekoppelten Speicher zum Speichern der mehreren Parameter;

- einem mit dem Prozessor gekoppelten lokalen Speicher zum Speichern einer ersten Vielzahl der mehreren Parameter, wobei die erste Vielzahl von Parametern einen ersten geglätteten Parameter in einem ersten Datenrahmen und gleiche Parameter aus einer Vielzahl diesem Datenrahmen vorhergehender und nachfolgender Datenrahmen aufweist;

- wobei der Prozessor die erste Vielzahl von Parametern aus dem Speicher liest und die erste Vielzahl von Parametern im lokalen Speicher speichert; und

- wobei der Prozessor Glättungen an dem ersten Parameter im lokalen Speicher nach dem Lesen der ersten Vielzahl von Parametern aus dem Speicher und dem Speichern der ersten Vielzahl von Parametern im lokalen Speicher durchführt.







IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

  Patente PDF

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com