[go: up one dir, main page]

DE60316396T2 - Interoperable Sprachkodierung - Google Patents

Interoperable Sprachkodierung Download PDF

Info

Publication number
DE60316396T2
DE60316396T2 DE60316396T DE60316396T DE60316396T2 DE 60316396 T2 DE60316396 T2 DE 60316396T2 DE 60316396 T DE60316396 T DE 60316396T DE 60316396 T DE60316396 T DE 60316396T DE 60316396 T2 DE60316396 T2 DE 60316396T2
Authority
DE
Germany
Prior art keywords
data block
speech
spectral
parameters
model parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60316396T
Other languages
English (en)
Other versions
DE60316396D1 (de
Inventor
John C. Sudbury Hardwick
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Voice Systems Inc
Original Assignee
Digital Voice Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Voice Systems Inc filed Critical Digital Voice Systems Inc
Application granted granted Critical
Publication of DE60316396D1 publication Critical patent/DE60316396D1/de
Publication of DE60316396T2 publication Critical patent/DE60316396T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/087Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters using mixed excitation models, e.g. MELP, MBE, split band LPC or HVXC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Navigation (AREA)

Description

  • Diese Beschreibung betrifft im Allgemeinen das Codieren und/oder Decodieren von Sprache und anderen Audiosignalen.
  • Die Sprachcodierung und -decodierung weisen eine große Anzahl von Anwendungen auf und wurden ausgedehnt untersucht. Im allgemeinen strebt eine Sprachcodierung, die auch als Sprachkomprimierung bekannt ist, danach, die Datenrate zu verringern, die erforderlich ist, um ein Sprachsignal darzustellen, ohne die Qualität oder Verständlichkeit der Sprache wesentlich zu verringern. Sprachkomprimierungsverfahren können durch einen Sprachcodierer implementiert werden, der auch als Stimmcodierer oder Vocoder bezeichnet werden kann.
  • Ein Sprachcodierer wird im allgemeinen als einen Codierer und einen Decodierer umfassend betrachtet. Der Codierer erzeugt einen komprimierten Strom von Bits aus einer digitalen Darstellung von Sprache, wie er z.B. am Ausgang eines Analog-Digital-Wandlers mit einem von einem Mikrophon erzeugten analogen Signal als Eingang erzeugt werden kann. Der Decodierer wandelt den komprimierten Bitstrom in eine digitale Darstellung von Sprache, die sich zur Wiedergabe eignet, durch einen Digital-Analog-Wandler und einen Lautsprecher um. In vielen Anwendungen sind der Codierer und der Decodierer physikalisch getrennt und der Bitstrom wird zwischen ihnen unter Verwendung eines Datenübertragungskanals übertragen.
  • Ein Schlüsselparameter eines Sprachcodierers ist das Ausmaß an Komprimierung, das der Codierer erreicht, welches durch die Bitrate des Stroms von Bits, der vom Codierer erzeugt wird, gemessen wird. Die Bitrate des Codierers ist im allgemeinen eine Funktion der gewünschten Wiedergabetreue (d.h. Sprachqualität) und der Art des verwendeten Sprachcodierers. Verschiedene Arten von Sprachcodierern wurden dazu ausgelegt, mit verschiedenen Bitraten zu arbeiten. In letzter Zeit haben Sprachcodierer mit niedriger bis mittlerer Rate, die unterhalb 10 kbps arbeiten, bezüglich eines breiten Bereichs von Mobilkommunikationsanwendungen (z.B. Mobilfernsprechwesen, Satellitenfernsprechwesen, Landmobilfunk und Fernsprechwesen beim Flug) Aufmerksamkeit erlangt. Diese Anwendungen erfordern typischerweise Sprache mit hoher Qualität und Unempfindlichkeit gegen Fehler, die durch akustisches Rauschen und Kanalrauschen verursacht werden (z.B. Bitfehler).
  • Sprache wird im Allgemeinen als nicht-stationäres Signal mit Signaleigenschaften, die sich über die Zeit ändern, betrachtet. Diese Änderung der Signaleigenschaften ist im Allgemeinen mit Änderungen verknüpft, die an den Eigenschaften des Stimmapparats einer Person gemacht werden, um verschiedene Töne zu erzeugen. Ein Ton wird typischerweise für einen gewissen kurzen Zeitraum, typischerweise 10-100 ms, gehalten, und dann wird der Stimmapparat wieder geändert, um den nächsten Ton zu erzeugen. Der Übergang zwischen Tönen kann langsam und kontinuierlich sein oder der Übergang kann schnell sein wie im Fall eines Sprach-"Beginns". Diese Änderung der Signaleigenschaften erhöht die Schwierigkeit der Codierung von Sprache mit niedrigeren Bitraten, da einige Töne von Natur aus schwieriger zu codieren sind als andere, und der Sprachcodierer alle Töne mit angemessener Wiedergabetreue codieren können muss, während die Fähigkeit bewahrt wird, sich an einen Übergang in den Eigenschaften des Sprachsignals anzupassen. Eine Weise zum Verbessern der Leistung eines Sprachcodierers mit niedriger bis mittlerer Bitrate besteht darin zuzulassen, dass sich die Bitrate ändert. In Sprachcodierern mit variabler Bitrate ist die Bitrate für jedes Sprachsegment nicht fest und statt dessen wird zugelassen, dass sie zwischen zwei oder mehr Optionen in Abhängigkeit von verschiedenen Faktoren, wie z.B. Benutzereingabe, Systembelastung, Endgerätkonstruktion oder Signaleigenschaften, variiert.
  • Es gab mehrere Hauptmethoden zum Codieren von Sprache mit niedrigen bis mittleren Datenraten. Eine Methode, die um die lineare vorhersagende Codierung (LPC) basiert, versucht beispielsweise, jeden neuen Datenblock von Sprache aus vorherigen Abtastwerten unter Verwendung von Kurz- und Langzeit-Vorhersageeinrichtungen vorherzusagen. Der Vorhersagefehler wird typischerweise unter Verwendung von einer von mehreren Methoden, von welchen CELP und/oder Mehrfachimpuls zwei Beispiele sind, quantisiert. Ein Vorteil des LPC-Verfahrens besteht darin, dass es eine gute Zeitauflösung aufweist, die für die Codierung von stimmlosen Tönen hilfreich ist. Insbesondere profitieren Verschlusslaute und Übergänge insofern davon, als sie nicht in der Zeit übermäßig verschwommen werden. Die lineare Vorhersage kann jedoch eine Schwierigkeit für stimmhafte Töne haben, indem die codierte Sprache gewöhnlich aufgrund einer unzureichenden Periodizität im codierten Signal rau oder heiser klingt. Dieses Problem kann bei niedrigeren Datenraten signifikanter sein, die typischerweise eine längere Datenblockgröße erfordern, und für die die Langzeit-Vorhersageeinrichtung bei der Wiederherstellung der Periodizität weniger wirksam ist.
  • Eine weitere führende Methode für die Sprachcodierung mit niedriger bis mittlerer Rate ist ein Sprachcodierer oder Vocoder auf Modellbasis. Ein Vocoder modelliert Sprache als Reaktion eines Systems auf eine Anregung über kurze Zeitintervalle. Beispiele von Vocodersystemen umfassen Vocoder mit linearer Vorhersage (wie z.B. MELP), homomorphe Vocoder, Kanalvocoder, Sinustransformationscodierer ("STC"), harmonische Vocoder und Mehrbandanregungs-("MBE") Vocoder. In diesen Vocodern wird Sprache in kurze Segmente (typischerweise 10-40 ms) unterteilt, wobei jedes Segment durch einen Satz von Modellparametern charakterisiert wird. Diese Parameter stellen typischerweise einige Grundelemente jedes Sprachsegments dar, wie z.B. die Tonhöhe, den Sprachzustand und die Spektralhüllkurve des Segments. Ein Vocoder kann eine von einer Anzahl von bekannten Darstellungen für jeden dieser Parameter verwenden. Die Tonhöhe kann beispielsweise als Tonhöhenperiode, als Grundfrequenz oder Tonhöhenfrequenz (die das Inverse der Tonhöhenperiode ist) oder als Langzeit-Vorhersageverzögerung dargestellt werden. Ebenso kann der Sprachzustand durch eine oder mehrere Sprachmetriken, durch ein Sprachwahrscheinlichkeitsmaß oder durch einen Satz von Sprachentscheidungen dargestellt werden. Die Spektralhüllkurve wird häufig durch eine Allpolfilter-Reaktion dargestellt, kann jedoch auch durch einen Satz von Spektralamplituden oder andere Spektralmessungen dargestellt werden. Da Sprachcodierer auf Modellbasis ermöglichen, dass ein Sprachsegment nur unter Verwendung einer kleinen Anzahl von Parametern dargestellt wird, können Sprachcodierer auf Modellbasis wie z.B. Vocoder typischerweise mit mittleren bis niedrigen Datenraten arbeiten. Die Qualität eines Systems auf Modellbasis hängt jedoch von der Genauigkeit des zugrunde liegenden Modells ab. Folglich muss ein Modell mit hoher Wiedergabetreue verwendet werden, wenn diese Sprachcodierer eine hohe Sprachqualität erzielen sollen.
  • Der MBE-Vocoder ist ein harmonischer Vocoder auf der Basis des MBE-Sprachmodells, von dem gezeigt wurde, dass es in vielen Anwendungen gut arbeitet. Der MBE-Vocoder kombiniert eine harmonische Darstellung für stimmhafte Sprache mit einer flexiblen, frequenzabhängigen Sprachstruktur auf der Basis des MBE-Sprachmodells. Dies ermöglicht, dass der MBE-Vocoder natürliche klingende stimmlose Sprache erzeugt, und macht den MBE-Vocoder gegen die Anwesenheit von akustischem Hintergrundrauschen unempfindlicher. Diese Eigenschaften ermöglichen, dass der MBE-Vocoder Sprache mit höherer Qualität mit niedrigen bis mittleren Datenraten erzeugt, und haben zur Verwendung des MBE-Vocoders in einer Anzahl von kommerziellen Mobilkommunikationsanwendungen geführt.
  • Das MBE-Sprachmodell stellt Segmente von Sprache unter Verwendung einer Grundfrequenz, die der Tonhöhe entspricht, eines Satzes von Sprachmetriken oder -entscheidungen und eines Satzes von Spektralamplituden, die dem Frequenzgang des Stimmapparats entsprechen, dar. Das MBE-Modell verallgemeinert die herkömmliche einzelne V/UV-Entscheidung pro Segment zu einem Satz von Entscheidungen, die jeweils den Sprachzustand innerhalb eines speziellen Frequenzbandes oder Frequenzbereichs darstellen. Jeder Datenblock wird dadurch in zumindest stimmhafte und stimmlose Frequenzbereiche unterteilt. Diese hinzugefügte Flexibilität im Sprachmodell ermöglicht, dass das MBE-Modell gemischten Sprachtönen, wie z.B. einigen stimmhaften Reibelauten, besser gerecht wird, ermöglicht eine genauere Darstellung von Sprache, die durch akustisches Hintergrundrauschen verstümmelt wurde, und verringert die Empfindlichkeit gegen einen Fehler in irgendeiner Entscheidung. Eine ausgedehnte Prüfung hat gezeigt, dass diese Verallgemeinerung zu verbesserter Sprachqualität und Verständlichkeit führt.
  • Vocoder auf MBE-Basis umfassen den IMBETM-Sprachcodierer und den AMBE®-Sprachcodierer. Der IMBETM-Sprachcodierer wurde in einer Anzahl von drahtlosen Kommunikationssystemen verwendet, einschließlich des APCO Project 25. Der AMBE®-Sprachcodierer ist ein verbessertes System, das ein robusteres Verfahren zum Abschätzen der Anregungsparameter (Grundfrequenz und Sprachentscheidungen) umfasst und der die Veränderungen und das in tatsächlicher Sprache zu findende Rauschen besser verfolgen kann. Typischerweise verwendet der AMBE®-Sprachcodierer eine Filterbank, die häufig sechzehn Kanäle und eine Nichtlinearität umfasst, um einen Satz von Kanalausgangssignalen zu erzeugen, aus denen die Anregungsparameter zuverlässig abgeschätzt werden können. Die Kanalausgangssignale werden kombiniert und verarbeitet, um die Grundfrequenz abzuschätzen. Danach werden die Kanäle innerhalb jedes von mehreren (z.B. acht) Sprachbändern verarbeitet, um eine Sprachentscheidung (oder andere Sprachmetriken) für jedes Sprachband abzuschätzen. Im AMBE+2TM-Vocoder wird ein Sprachmodell mit drei Zuständen (stimmhaft, stimmlos, gepulst) angewendet, um Verschlusslaute und andere vorübergehende Sprachtöne besser darzustellen. Verschiedene Verfahren zum Quantisieren der MBE-Modellparameter wurden in verschiedenen Systemen angewendet. Typischerweise verwenden der AMBE®-Vocoder und der AMBE+2TM-Vocoder fortschrittlichere Quantisierungsverfahren, wie z.B. Vektorquantisierung, die Sprache mit höherer Qualität mit niedrigeren Bitraten erzeugen.
  • Der Codierer eines Sprachcodierers auf MBE-Basis schätzt den Satz von Modellparametern für jedes Sprachsegment ab. Die MBE-Modellparameter umfassen eine Grundfrequenz (den Kehrwert der Tonhöhenperiode); einen Satz von V/UV-Metriken oder -Entscheidungen, die den Sprachzustand charakterisieren; und einen Satz von Spektralamplituden, die die Spektralhüllkurve charakterisieren. Nach dem Abschätzen der MBE-Modellparameter für jedes Segment quantisiert der Codierer die Parameter, um einen Datenblock von Bits zu erzeugen. Der Codierer kann wahlweise diese Bits mit Fehler-Korrektur/Erkennungs-Codes vor dem Verschachteln und Übertragen des resultierenden Bitstroms zu einem entsprechenden Decodierer schützen.
  • Der Decodierer in einem Vocoder auf MBE-Basis rekonstruiert die MBE-Modellparameter (Grundfrequenz, Sprachinformationen und Spektralamplituden) für jedes Segment von Sprache aus dem empfangenen Bitstrom. Als Teil dieser Rekonstruktion kann der Decodierer eine Entschachtelung und eine Fehlerprüfdecodierung durchführen, um Bitfehler zu korrigieren und/oder zu erkennen. Außerdem wird vom Decodierer typischerweise eine Phasenregeneration durchgeführt, um eine synthetische Phaseninformation zu berechnen. In einem Verfahren, das in der Vocoder-Beschreibung des APCO Project 25 spezifiziert und im US-Patent Nrn. 5 081 681 und 5 664 051 beschrieben ist, wird eine Zufallsphasenregeneration verwendet, wobei das Ausmaß der Zufälligkeit von den Sprachentscheidungen abhängt. In einem weiteren Verfahren wird eine Phasenregeneration durch Anwenden eines Glättungskerns auf die rekonstruierten Spektralamplituden durchgeführt, wie im US-Patent Nr. 5 701 390 beschrieben ist.
  • Der Decodierer verwendet die rekonstruierten MBE-Modellparameter, um ein Sprachsignal zu synthetisieren, das wahrnehmbar der ursprünglichen Sprache in einem hohen Grad ähnelt. Normalerweise werden separate Signalkomponenten, die stimmhafter, stimmloser und wahlweise gepulster Sprache entsprechen, für jedes Segment synthetisiert und die resultierenden Komponenten werden dann zusammenaddiert, um das synthetische Sprachsignal zu bilden. Dieser Prozess wird für jedes Segment von Sprache wiederholt, um das vollständige Sprachsignal zur Ausgabe über einen D-A-Wandler und einen Lautsprecher zu reproduzieren. Die stimmlose Signalkomponente kann unter Verwendung eines Fenster-Überlappungs-Additions-Verfahrens zum Filtern eines Signals von weißem Rauschen synthetisiert werden. Die zeitlich veränderliche Spektralhüllkurve des Filters wird aus der Sequenz von rekonstruierten Spektralamplituden in Frequenzbereichen bestimmt, die als stimmlos bezeichnet werden, wobei andere Frequenzbereiche auf Null gesetzt werden.
  • Der Decodierer kann die stimmhafte Signalkomponente unter Verwendung von einem von mehreren Verfahren synthetisieren. In einem Verfahren, das in der Vocoder-Beschreibung des APCO Project 25 festgelegt ist, wird ein Satz von Oberwellenoszillatoren verwendet, wobei ein Oszillator jeder Oberwelle der Grundfrequenz zugeordnet ist, und die Beiträge von allen Oszillatoren werden summiert, um die stimmhafte Signalkomponente zu bilden. In einem weiteren Verfahren wird die stimmhafte Signalkomponente durch Falten einer stimmhaften Impulsantwort mit einer Impulssequenz und dann Kombinieren des Beitrags von benachbarten Segmenten mit einer Fenster-Überlappungs-Addition synthetisiert. Dieses zweite Verfahren kann schneller zu berechnen sein, da es keinen Abgleich von Komponenten zwischen Segmenten erfordert, und es kann auf die optionale gepulste Signalkomponente angewendet werden.
  • Ein spezielles Beispiel eines Vocoders auf MBE-Basis ist der IMBETM-Vocoder mit 7200 bps, der als Standard für das Mobilfunk-Kommunikationssystem des APCO Project 25 ausgewählt ist. Dieser Vocoder, der in der Vocoder-Beschreibung des APCO Project 25 beschrieben ist, verwendet 144 Bits, um jeden Datenblock von 20 ms darzustellen. Diese Bits werden in 56 redundante FEC-Bits (die durch eine Kombination von Golay- und Hamming-Codierung angewendet werden), 1 Synchronisationsbit und 87 MBE-Parameterbits unterteilt. Die 87 MBE-Parameterbits bestehen aus 8 Bits zum Quantisieren der Grundfrequenz, 3-12 Bits zum Quantisieren der binären Stimmhaft/Stimmlos-Entscheidungen und 67-76 Bits zum Quantisieren der Spektralamplituden. Der resultierende Datenblock aus 144 Bits wird vom Codierer zum Decodierer übertragen. Der Decodierer führt eine Fehlerkorrektur vor dem Rekonstruieren der MBE-Modellparameter aus den fehlerdecodierten Bits durch. Der Decodierer verwendet dann die rekonstruierten Modellparameter, um stimmhafte und stimmlose Signalkomponenten zu synthetisieren, die zusammenaddiert werden, um das decodierte Sprachsignal zu bilden.
  • US 3622704 offenbart einen Vocoder mit einer Entscheidungsschaltung, die feststellt, ob ein Teil ein stimmhafter oder stimmloser Teil ist. Die Entscheidungsschaltung umfasst Tonhöhendetektorschaltungen, die Tonhöhenmarkierungsimpulse entsprechend Spitzen in dem Signal erzeugen. Durch Erfassen der Zeit zwischen aufeinander folgenden Spitzen, die der Tonhöhe entspricht, wird eine Feststellung hinsichtlich dessen durchgeführt, ob der Teil ein stimmloser Teil ist, in welchem Fall eine Nullausgabe gegeben wird, oder ein stimmhafter Teil ist, bei dem ein Tonhöhenparameter ausgegeben wird.
  • US 3903366 war die Ausgabe einer Entscheidungsschaltung wie z.B. der in US 3622704 beschriebenen, um die gleichzeitige Übertragung eines stimmhaften und stimmlosen Teils zu ermöglichen.
  • Die vorliegende Erfindung ist durch die beigefügten unabhängigen Ansprüche definiert.
  • In einem allgemeinen Aspekt umfasst das Codieren einer Sequenz von digitalen Sprachabtastwerten in einen Bitstrom das Unterteilen der digitalen Sprachabtastwerte in einen oder mehrere Datenblöcke und das Berechnen von Modellparametern für mehrere Datenblöcke. Die Modellparameter umfassen zumindest einen ersten Parameter, der Tonhöheninformationen übermittelt. Ein Sprachzustand eines Datenblocks wird bestimmt, und der Parameter, der Tonhöheninformationen für den Datenblock übermittelt, wird modifiziert, um den bestimmten Sprachzustand des Datenblocks zu bezeichnen, wenn der bestimmte Sprachzustand des Datenblocks gleich einem von einem Satz von reservierten Sprachzuständen ist. Die Modellparameter werden dann quantisiert, um Quantisiererbits zu erzeugen, die verwendet werden, um den Bitstrom zu erzeugen.
  • Implementierungen können eines oder mehrere der folgenden Merkmale umfassen. Die Modellparameter können beispielsweise ferner einen oder mehrere Spektralparameter umfassen, die Spektralamplitudeninformationen bestimmen.
  • Der Sprachzustand eines Datenblocks kann für mehrere Frequenzbänder bestimmt werden und die Modellparameter können ferner einen oder mehrere Sprachparameter umfassen, die den bestimmten Sprachzustand in den Frequenzbändern bezeichnen. Die Sprachparameter können den Sprachzustand in jedem Frequenzband als entweder stimmhaft, stimmlos oder gepulst bezeichnen. Der Satz von reservierten Sprachzuständen kann Sprachzuständen entsprechen, bei denen kein Frequenzband als stimmhaft bezeichnet wird. Die Sprachparameter können so festgelegt werden, dass sie alle Frequenzbänder als stimmlos bezeichnen, wenn der bestimmte Sprachzustand des Datenblocks gleich einem von einem Satz von reservierten Sprachzuständen ist. Der Sprachzustand kann auch so festgelegt werden, dass er alle Frequenzbänder als stimmlos bezeichnet, wenn der Datenblock vielmehr einem Hintergrundgeräusch als einer Sprachaktivität entspricht.
  • Das Erzeugen des Bitstroms kann das Anwenden einer Fehlerkorrekturcodierung auf die Quantisiererbits umfassen. Der erzeugte Bitstrom kann mit einem Standard-Vocoder, der für das APCO Project 25 verwendet wird, interoperierbar sein.
  • Ein Datenblock von digitalen Sprachabtastwerten kann analysiert werden, um Tonsignale zu erfassen, und, wenn ein Tonsignal erfasst wird, kann der Satz von Modellparametern für den Datenblock ausgewählt werden, um das erfasste Tonsignal darzustellen. Die erfassten Tonsignale können MFV-Tonsignale umfassen. Das Auswählen des Satzes von Modellparametern zum Darstellen des erfassten Tonsignals kann das Auswählen der Spektralparameter zum Darstellen der Amplitude des erfassten Tonsignals und/oder das Auswählen des ersten Parameters, der Tonhöheninformationen übermittelt, auf der Basis zumindest teilweise der Frequenz des erfassten Tonsignals umfassen.
  • Die Spektralparameter, die die Spektralamplitudeninformationen für den Datenblock bestimmen, umfassen einen Satz von Spektralamplitudenparametern, die um Oberwellen einer Grundfrequenz berechnet werden, die aus dem ersten Parameter, der Tonhöheninformationen übermittelt, bestimmt wird.
  • In einem weiteren allgemeinen Aspekt umfasst das Codieren einer Sequenz von digitalen Sprachabtastwerten in einen Bitstrom das Unterteilen der digitalen Sprachabtastwerte in einen oder mehrere Datenblöcke und das Feststellen, ob die digitalen Sprachabtastwerte für einen Datenblock einem Tonsignal entsprechen. Modellparameter werden für mehrere Datenblöcke berechnet, wobei die Modellparameter zumindest einen ersten Parameter, der die Tonhöhe darstellt, und Spektralparameter, die die Spektralamplitude bei harmonischen Vielfachen der Tonhöhe darstellen, umfassen. Wenn die digitalen Sprachabtastwerte für einen Datenblock als einem Tonsignal entsprechend festgestellt werden, werden der Tonhöhenparameter und die Spektralamplitudenparameter ausgewählt, um sich dem erfassten Tonsignal zu nähern. Die Modellparameter werden quantisiert, um Quantisiererbits zu erzeugen, die verwendet werden, um den Bitstrom zu erzeugen.
  • Implementierungen können eines oder mehrere der folgenden Merkmale und eines oder mehrere der vorstehend angegebenen Merkmale umfassen. Der Satz von Modellparametern kann beispielsweise ferner einen oder mehrere Sprachparameter umfassen, die den Sprachzustand in mehreren Frequenzbändern bezeichnen. Der erste Parameter, der die Tonhöhe darstellt, kann die Grundfrequenz sein.
  • In einem weiteren allgemeinen Aspekt umfasst das Decodieren von digitalen Sprachabtastwerten von einer Sequenz von Bits das Unterteilen der Sequenz von Bits in individuelle Datenblöcke, die jeweils mehrere Bits umfassen. Quantisiererwerte werden aus einem Datenblock von Bits gebildet. Die gebildeten Quantisiererwerte umfassen zumindest einen ersten Quantisiererwert, der die Tonhöhe darstellt, und einen zweiten Quantisiererwert, der den Sprachzustand darstellt. Eine Feststellung wird hinsichtlich dessen durchgeführt, ob der erste und der zweite Quantisiererwert zu einem Satz von reservierten Quantisiererwerten gehören. Anschließend werden Sprachmodellparameter für einen Datenblock aus den Quantisiererwerten rekonstruiert. Die Sprachmodellparameter stellen den Sprachzustand des Datenblocks dar, der aus dem ersten Quantisiererwert rekonstruiert wird, der die Tonhöhe darstellt, wenn der erste und der zweite Quantisiererwert als zum Satz von reservierten Quantisiererwerten gehörend bestimmt werden. Schließlich werden digitale Sprachabtastwerten aus den rekonstruierten Sprachmodellparametern berechnet.
  • Implementierungen können eines oder mehrere der folgenden Merkmale und eines oder mehrere der vorstehend angegebenen Merkmale umfassen. Die rekonstruierten Sprachmodellparameter für einen Datenblock können beispielsweise einen Tonhöhenparameter und einen oder mehrere Spektralparameter umfassen, die die Spektralamplitudeninformationen für den Datenblock darstellen. Ein Datenblock kann in Frequenzbänder unterteilt werden und die rekonstruierten Sprachmodellparameter, die den Sprachzustand eines Datenblocks darstellen, können den Sprachzustand in jedem der Frequenzbänder bezeichnen. Der Sprachzustand in jedem Frequenzband kann entweder als stimmhaft, stimmlos oder gepulst bezeichnet werden. Die Bandbreite von einem oder mehreren der Frequenzbänder kann mit der Tonhöhenfrequenz in Beziehung stehen.
  • Der erste und der zweite Quantisiererwert können als zum Satz von reservierten Quantisiererwerten gehörend nur dann festgestellt werden, wenn der zweite Quantisiererwert gleich einem bekannten Wert ist. Der bekannte Wert kann der Wert sein, der alle Frequenzbänder als stimmlos bezeichnet. Der erste und der zweite Quantisiererwert können als zum Satz von reservierten Quantisiererwerten gehörend nur dann bestimmt werden, wenn der erste Quantisiererwert gleich einem von mehreren zulässigen Werten ist. Der Sprachzustand in jedem Frequenzband kann nicht als stimmhaft bezeichnet werden, wenn der erste und der zweite Quantisiererwert als zum Satz von reservierten Quantisiererwerten gehörend festgestellt werden.
  • Das Bilden der Quantisiererwerte aus einem Datenblock von Bits kann das Durchführen einer Fehlerdecodierung am Datenblock von Bits umfassen. Die Sequenz von Bits kann durch einen Sprachcodierer erzeugt werden, der mit dem Vocoder-Standard des APCO Project 25 interoperierbar ist.
  • Die rekonstruierten Spektralparameter können modifiziert werden, wenn die rekonstruierten Sprachmodellparameter für einen Datenblock als einem Tonsignal entsprechend festgestellt werden. Das Modifizieren der rekonstruierten Spektralparameter kann das Dämpfen von gewissen unerwünschten Frequenzkomponenten umfassen. Die rekonstruierten Modellparameter für einen Datenblock können als einem Tonsignal entsprechend nur dann festgestellt werden, wenn der erste Quantisiererwert und der zweite Quantisiererwert gleich bestimmten bekannten Tonquantisiererwerten sind oder wenn die Spektralamplitudeninformationen für einen Datenblock eine kleine Anzahl von dominanten Frequenzkomponenten angeben. Die Tonsignale können MFV-Tonsignale umfassen, die nur dann bestimmt werden, wenn die Spektralamplitudeninformationen für einen Datenblock zwei dominante Frequenzkomponenten angeben, die bei oder nahe den bekannten MFV-Frequenzen auftreten.
  • Die Spektralparameter, die die Spektralamplitudeninformationen für den Datenblock darstellen, können aus einem Satz von Spektralamplitudenparametern bestehen, die Oberwellen einer Grundfrequenz darstellen, die aus dem rekonstruierten Tonhöhenparameter bestimmt wird.
  • In einem weiteren allgemeinen Aspekt umfasst das Decodieren von digitalen Sprachabtastwerten von einer Sequenz von Bits das Unterteilen der Sequenz von Bits in individuelle Datenblöcke, die jeweils mehrere Bits enthalten. Sprachmodellparameter werden für einen Datenblock von Bits rekonstruiert. Die rekonstruierten Sprachmodellparameter für einen Datenblock umfassen ein oder mehrere Spektralparameter, die die Spektralamplitudeninformationen für den Datenblock darstellen. Unter Verwendung der rekonstruierten Sprachmodellparameter wird eine Feststellung hinsichtlich dessen durchgeführt, ob der Datenblock ein Tonsignal darstellt, und die Spektralparameter werden modifiziert, wenn der Datenblock ein Tonsignal darstellt, so dass die modifizierten Spektralparameter die Spektralamplitudeninformationen des bestimmten Tonsignals besser darstellen. Digitale Sprachabtastwerte werden aus den rekonstruierten Sprachmodellparametern und den modifizierten Spektralparametern erzeugt.
  • Implementierungen können eines oder mehrere der folgenden Merkmale und ein oder mehrere der vorstehend angegebenen Merkmale umfassen. Die rekonstruierten Sprachmodellparameter für einen Datenblock umfassen beispielsweise auch einen Grundfrequenzparameter, der die Tonhöhe darstellt, und Sprachparameter, die den Sprachzustand in mehreren Frequenzbändern bezeichnen. Der Sprachzustand in jedem der Frequenzbänder kann entweder als stimmhaft, stimmlos oder gepulst bezeichnet werden.
  • Die Spektralparameter für den Datenblock können einen Satz von Spektralamplituden umfassen, die die Spektralamplitudeninformationen bei Oberwellen des Grundfrequenzparameters darstellen. Das Modifizieren der rekonstruierten Spektralparameter kann das Dämpfen der Spektralamplituden, die Oberwellen entsprechen, die nicht im bestimmten Tonsignal enthalten sind, umfassen.
  • Die rekonstruierten Sprachmodellparameter für einen Datenblock können als einem Tonsignal entsprechend nur dann festgestellt werden, wenn einige der Spektralamplituden in dem Satz von Spektralamplituden über allen anderen Spektralamplituden in dem Satz dominant sind oder wenn der Grundfrequenzparameter und die Sprachparameter ungefähr gleich bestimmten bekannten Werten für die Parameter sind. Die Tonsignale können MFV-Tonsignale umfassen, die nur dann bestimmt werden, wenn der Satz von Spektralamplituden zwei dominante Frequenzkomponenten enthält, die bei oder nahe den Standard-MFV-Frequenzen auftreten.
  • Die Sequenz von Bits kann durch einen Sprachcodierer erzeugt werden, der mit dem Vocoder-Standard des APCO Project 25 interoperierbar ist.
  • In einem weiteren allgemeinen Aspekt ist ein verbesserter Mehrbandanregungs-(MBE) Vocoder mit dem Standard-Vocoder des APCO Project 25 interoperierbar, stellt jedoch eine verbesserte Sprachqualität, eine bessere Wiedergabetreue für Tonsignale und eine verbesserte Unempfindlichkeit gegen ein Hintergrundgeräusch bereit. Eine verbesserte MBE-Codierereinheit kann Elemente wie z.B. MBE-Parameterabschätzung, MBE-Parameterquantisierung und FEC-Codierung umfassen. Das MBE-Parameterabschätzungselement umfasst fortschrittliche Merkmale wie z.B. Sprachaktivitätserfassung, Rauschunterdrückung, Tonerfassung und ein Sprachmodell mit drei Zuständen. Die MBE-Parameterquantisierung umfasst die Fähigkeit, Sprachinformationen in das Grundfrequenz-Datenfeld einzufügen. Ein verbesserter MBE-Decodierer kann Elemente wie z.B. FEC-Decodierung, MBE-Parameterrekonstruktion und MBE-Sprachsynthese umfassen. MBE-Parameterrekonstruktion zeichnet sich durch die Fähigkeit aus, Sprachinformationen aus dem Grundfrequenz-Datenfeld zu gewinnen. Die MBE-Sprachsynthese kann Sprache als Kombination von stimmhaften, stimmlosen und gepulsten Signalkomponenten synthetisieren.
  • Die vorliegende Erfindung wird mit Bezug auf die zugehörigen Zeichnungen beispielhaft beschrieben, in welchen gilt:
  • 1 ist ein Blockdiagramm eines Systems mit einem verbesserten MBE-Vocoder mit einer verbesserten MBE-Codierereinheit und einer verbesserten MBE-Decodierereinheit.
  • 2 ist ein Blockdiagramm der verbesserten MBE-Codierereinheit und der verbesserten MBE-Decodierereinheit des Systems von 1.
  • 3 ist ein Ablaufplan einer Prozedur, die von einem MBE-Parameterabschätzungselement der Codierereinheit von 2 verwendet wird.
  • 4 ist ein Ablaufplan einer Prozedur, die von einem Tonerfassungselement des MBE-Parameterabschätzungselements von 3 verwendet wird.
  • 5 ist ein Ablaufplan der Prozedur, die von einem Sprachaktivitätserfassungselement des MBE-Parameterabschätzungselements von 3 verwendet wird.
  • 6 ist ein Ablaufplan einer Prozedur, verwendet wird, um die Grundfrequenz und Sprachparameter in einem verbesserten MBE-Codierer abzuschätzen.
  • 7 ist ein Ablaufplan einer Prozedur, die von einem MBE-Parameterrekonstruktionselement der Decodierereinheit von 2 verwendet wird.
  • 8 ist ein Ablaufplan einer Prozedur, die verwendet wird, um die Grundfrequenz und Sprachparameter in einem verbesserten MBE-Decodierer zu rekonstruieren.
  • 9 ist ein Blockdiagramm eines MBE-Sprachsyntheseelements des Decodierers von 2.
  • 1 zeigt einen Sprachcodierer oder Vocoder 100, der analoge Sprache oder irgendein anderes Signal von einem Mikrophon 105 abtastet. Ein A-D-Wandler 110 digitalisiert die analoge Sprache vom Mikrophon, um ein digitales Sprachsignal zu erzeugen. Das digitale Sprachsignal wird durch eine verbesserte MBE-Sprachcodierereinheit 115 verarbeitet, um einen digitalen Bitstrom 120 zu erzeugen, der zur Übertragung oder Speicherung geeignet ist.
  • Typischerweise verarbeitet der Sprachcodierer das digitale Sprachsignal in kurzen Datenblöcken, wobei die Datenblocke in einen oder mehrere Unterdatenblöcke weiter unterteilt werden können. Jeder Datenblock von digitalen Sprachabtastwerten erzeugt einen entsprechenden Datenblock von Bits im Bitstrom, der aus dem Codierer ausgegeben wird. Man beachte, dass, wenn nur ein Unterdatenblock im Datenblock vorhanden ist, dann der Datenblock und der Unterdatenblock typischerweise äquivalent sind und sich auf dieselbe Unterteilung des Signals beziehen. In einer Implementierung ist die Datenblockgröße 20 ms in der Dauer und besteht aus 160 Abtastwerten mit einer Abtastrate von 8 kHz. Die Leistung kann in einigen Anwendungen durch Unterteilen von jedem Datenblock in zwei Unterdatenblöcke mit 10 ms erhöht werden.
  • 1 stellt auch einen empfangenen Bitstrom 125 dar, der in eine verbesserte MBE-Sprachdecodierereinheit 130 eintritt, die jeden Datenblock von Bits verarbeitet, um einen entsprechenden Datenblock von synthetisierten Sprachabtastwerten zu erzeugen. Eine D-A-Wandlereinheit 135 wandelt dann die digitalen Sprachabtastwerte in ein analoges Signal um, das an eine Lautsprechereinheit 140 zur Umwandlung in ein akustisches Signal, das für das menschliche Hören geeignet ist, weitergeleitet werden kann. Der Codierer 115 und der Decodierer 130 können sich an verschiedenen Orten befinden und der übertragene Bitstrom 120 und der empfangene Bitstrom 125 können identisch sein.
  • Der Vocoder 100 ist ein verbesserter Vocoder auf MBE-Basis, der mit dem Standard-Vocoder, der im Kommunikationssystem des APCO Project 25 verwendet wird, interoperierbar ist. In einer Implementierung ist ein verbesserter Vocoder mit 7200 bps mit dem Standard-Vocoder-Bitstrom des APCO Project 25 interoperierbar. Dieser verbesserte Vocoder mit 7200 bps stellt eine verbesserte Leistung, einschließlich besserer Sprachqualität, erhöhter Unempfindlichkeit gegen akustisches Hintergrundrauschen und überlegener Tonbehandlung, bereit. Die Bitstrominteroperierbarkeit wird bewahrt, so dass ein verbesserter Codierer einen Bitstrom mit 7200 bps erzeugt, der durch einen Standard-Sprachdecodierer des APCO Project 25 decodiert werden kann, um Sprache mit hoher Qualität zu erzeugen. Ebenso gibt der verbesserte Decodierer Sprache mit hoher Qualität von einem Bitstrom mit 7200 bps, der durch einen Standard-Codierer erzeugt wird, ein und decodiert diese. Die Bereitstellung der Bitstrom-Interoperierbarkeit ermöglicht, dass Funk oder andere Vorrichtungen, die den verbesserten Vocoder beinhalten, nahtlos in das existierende System des APCO Project 25 integriert werden, ohne eine Umwandlung oder Transcodierung durch die Systeminfrastruktur zu erfordern. Durch Bereitstellung von Abwärtskompatibilität mit dem Standard-Vocoder kann der verbesserte Vocoder verwendet werden, um die Leistung des existierenden Systems aufzurüsten, ohne Interoperierbarkeitsprobleme einzuführen.
  • Mit Bezug auf 2 kann der verbesserte MBE-Codierer 115 unter Verwendung einer Sprachcodierereinheit 200 implementiert werden, die zuerst das eingegebene digitale Sprachsignal mit einer Parameterabschätzungseinheit 205 verarbeitet, um verallgemeinerte MBE-Modellparameter für jeden Datenblock abzuschätzen. Diese abgeschätzten Modellparameter für einen Datenblock werden dann durch eine MBE-Parameterquantisierungseinheit 210 quantisiert, um Parameterbits zu erzeugen, die einer FEC-Codierungs-Paritätshinzufügungseinheit 215 zugeführt werden, die die quantisierten Bits mit redundanten Vorwärtsfehlerkorrektur-(FEC) Daten kombiniert, um den übertragenen Bitstrom zu bilden. Das Hinzufügen von redundanten FEC-Daten ermöglicht, dass der Decodierer Bitfehler korrigiert und/oder erkennt, die durch eine Verschlechterung im Übertragungskanal verursacht werden.
  • Wie auch in 2 gezeigt, kann der verbesserte MBE-Decodierer 130 unter Verwendung einer MBE-Sprachdecodierereinheit 220 implementiert werden, die zuerst einen Datenblock von Bits im empfangenen Bitstrom mit einer FEC-Decodiereinheit 225 verarbeitet, um Bitfehler zu korrigieren und/oder zu erkennen. Die Parameterbits für den Datenblock werden dann von einer MBE-Parameterrekonstruktionseinheit 230 verarbeitet, die verallgemeinerte MBE-Modellparameter für jeden Datenblock rekonstruiert. Die resultierenden Modellparameter werden dann von einer MBE-Sprachsyntheseeinheit 235 verwendet, um ein synthetisches digitales Sprachsignal zu erzeugen, das das Ausgangssignal des Decodierers ist.
  • Im Vocoder-Standard des APCO Project 25 werden 144 Bits verwendet, um jeden Datenblock von 20 ms darzustellen. Diese Bits werden in 56 redundante FEC-Bits (durch eine Kombination einer Golay- und Hamming-Codierung angewendet), 1 Synchronisationsbit und 87 MBE-Parameterbits unterteilt. Um mit dem Standard-Vocoder-Bitstrom des APCO Project 25 interoperierbar zu sein, verwendet der verbesserte Vocoder dieselbe Datenblockgröße und dieselbe allgemeine Bitzuweisung innerhalb jedes Datenblocks. Der verbesserte Vocoder verwendet jedoch eine gewisse Modifikation an diesen Bits relativ zum Standard-Vocoder, um zusätzliche Informationen zu übermitteln und um die Vocoder-Leistung zu verbessern, während er mit dem Standard-Vocoder abwärtskompatibel bleibt.
  • 3 stellt eine verbesserte MBE-Parameterabschätzungsprozedur 300 dar, die vom verbesserten MBE-Sprachcodierer implementiert wird. Bei der Implementierung der Prozedur 300 führt der Sprachcodierer eine Tonerfassung (Schritt 305) durch, um für jeden Datenblock festzustellen, ob das Eingangssignal einem von mehreren bekannten Tontypen (Einzelton, MFV-Ton, Knox-Ton oder Hörton) entspricht.
  • Der Sprachcodierer führt auch eine Sprachaktivitätserfassung (VAD) (Schritt 310) durch, um für jeden Datenblock festzustellen, ob das Eingangssignal menschliche Sprache oder Hintergrundgeräusch ist. Die Ausgabe der VAD ist ein einzelnes Informationsbit pro Datenblock, das den Datenblock als Stimme oder keine Stimme bezeichnet.
  • Der Codierer schätzt dann die MBE-Sprachentscheidungen und die Grundfrequenz, die Tonhöheninformationen übermittelt (Schritt 315), und die Spektralamplituden (Schritt 320) ab. Die Sprachentscheidungen können alle auf stimmlos gesetzt werden, wenn die VAD-Entscheidung den Datenblock als Hintergrundgeräusch (keine Stimme) bestimmt.
  • Nachdem die Spektralamplituden abgeschätzt sind, wird eine Rauschunterdrückung angewendet (Schritt 325), um den wahrgenommenen Pegel des Hintergrundgeräuschs von den Spektralamplituden zu entfernen. In einigen Implementierungen wird die VAD-Entscheidung verwendet, um die Hintergrundgeräuschabschätzung zu verbessern.
  • Schließlich werden die Spektralamplituden kompensiert (Schritt 330), wenn sie sich in einem Sprachband befinden, das als stimmlos oder gepulst bezeichnet wird. Dies wird durchgeführt, um das andere Spektralamplituden-Abschätzverfahren, das im Standard-Vocoder verwendet wird, zu berücksichtigen.
  • Der verbesserte MBE-Sprachcodierer führt eine Tonerfassung durch, um bestimmte Arten von Tonsignalen im Eingangssignal zu identifizieren. 4 stellt eine Tonerfassungsprozedur 400 dar, die vom Codierer implementiert wird. Das Eingangssignal wird zuerst unter Verwendung eines Hamming-Fensters oder Kaiser-Fensters ausschnittweise dargestellt (Schritt 405). Eine FFT wird dann berechnet (Schritt 410) und die gesamte spektrale Energie wird aus der FFT-Ausgabe berechnet (Schritt 415). Typischerweise wird die FFT-Ausgabe ausgewertet, um festzustellen, ob sie einem von mehreren Tonsignalen entspricht, einschließlich Einzeltönen im Bereich von 150-3800 Hz, MFV-Tönen, Knox-Tönen und bestimmten Hörtönen.
  • Als nächstes wird der beste Kandidatenton bestimmt, im Allgemeinen durch Auffinden eines FFT-intervallbereichs oder von FFT-intervallbereichen mit maximaler Energie (Schritt 420). Die Tonenergie wird dann durch Summieren der FFT-Intervallbereiche um die ausgewählte Kandidatentonfrequenz im Fall eines Einzeltons oder von Frequenzen im Fall eines Doppeltons berechnet (Schritt 425).
  • Der Kandidatenton wird dann durch Prüfen von bestimmten Tonparametern, wie z.B. des SNR-(Verhältnis zwischen Tonenergie und Gesamtenergie) Pegels, der Frequenz oder Verdrehung, für gültig erklärt (Schritt 430). Im Fall von MFV-Tönen, die standardisierte Doppelfrequenztöne sind, die in Telekommunikationen verwendet werden, muss beispielsweise die Frequenz von jeder der zwei Frequenzkomponenten oberhalb von etwa 3% des Nennwerts für einen gültigen MFV-Ton liegen und das SNR muss typischerweise 15 dB übersteigen. Wenn solche Tests einen gültigen Ton bestätigen, dann werden die abgeschätzten Tonparameter auf eine harmonische Reihe unter Verwendung eines Satzes von MBE-Modellparametern, wie z.B. in Tabelle 1 gezeigt, abgebildet (Schritt 435). Ein MFV-Ton mit 697 Hz, 1336 Hz kann beispielsweise in eine harmonische Reihe mit einer Grundfrequenz von 70 Hz (f0 = 0,00875) und mit zwei von Null verschiedenen Oberwellen (10, 19) abgebildet werden, wobei alle anderen Oberwellen auf Null gesetzt werden. Die Sprachentscheidungen werden dann derart festgelegt, dass die Sprachbänder, die die von Null verschiedenen Oberwellen enthalten, stimmhaft sind, während alle anderen Sprachbänder stimmlos sind. Tabelle 1: MBE-Tonparameter
    Tontyp Frequenzkomponenten (Hz) MBE-Modellparameter
    Tonindex Grundfrequenz (Hz) Von Null verschiedene Oberwellen
    Einzelton 156,25 5 156,25 1
    Einzelton 187,5 6 187,5 1
    ... ... ... ... ...
    Einzelton 375,0 12 375,0 1
    Einzelton 406,3 13 203,13 2
    ... ... ... ... ...
    Einzelton 781,25 25 390,63 2
    Einzelton 812,50 26 270,83 3
    ... ... ... ... ...
    Einzelton 1187,5 38 395,83 3
    Einzelton 1218,75 39 304,69 4
    ... ... ... ... ...
    Einzelton 1593,75 51 398,44 4
    Einzelton 1625,0 52 325,0 5
    ... ... ... ... ...
    Einzelton 2000,0 64 400,0 5
    Einzelton 2031,25 65 338,54 6
    ... ... ... ... ...
    Einzelton 2375,0 76 395,83 6
    Einzelton 2406,25 77 343,75 7
    ... ... ... ... ...
    Einzelton 2781,25 89 397,32 7
    Einzelton 2812,5 90 351,56 8
    ... ... ... ... ...
    Einzelton 3187,5 102 398,44 8
    Einzelton 3218,75 103 357,64 9
    ... ... ... ... ...
    Einzelton 3593,75 115 399,31 9
    Einzelton 3625,0 116 362,5 10
    ... ... ... ... ...
    Einzelton 3812,5 122 381,25 10
    MFV-Ton 941,1336 128 78,50 12, 17
    MFV-Ton 697,1209 129 173,48 4, 7
    MFV-Ton 697,1336 130 70,0 10, 19
    MFV-Ton 697,1477 131 87,0 8, 17
    MFV-Ton 770,1209 132 109,95 7, 11
    MFV-Ton 770,1336 133 191,68 4, 7
    MFV-Ton 770,1477 134 70,17 11, 21
    MFV-Ton 852,1209 135 71,06 12, 17
    MFV-Ton 852,1336 136 121,58 7, 11
    MFV-Ton 852,1477 137 212,0 4, 7
    MFV-Ton 697,1633 138 116,41 6, 14
    MFV-Ton 770,1633 139 96,15 8, 17
    MFV-Ton 852,1633 140 71,0 12, 23
    MFV-Ton 941,1633 141 234,26 4, 7
    MFV-Ton 941,1209 142 134,38 7, 9
    MFV-Ton 941,1477 143 134,35 7, 11
    Knox-Ton 820,1162 144 68,33 12, 17
    Knox-Ton 606,1052 145 150,89 4, 7
    Knox-Ton 606,1162 146 67,82 9, 17
    Knox-Ton 606,1297 147 86,50 7, 15
    Knox-Ton 672,1052 148 95,79 7, 11
    Knox-Ton 672,1162 149 166,92 4, 7
    Knox-Ton 672,1297 150 67,70 10, 19
    Knox-Ton 743,1052 151 74,74 10, 14
    Knox-Ton 743,1162 152 105,90 7, 11
    Knox-Ton 743,1297 153 92,78 8, 14
    Knox-Ton 606,1430 154 101,55 6, 14
    Knox-Ton 672,1430 155 84,02 8, 17
    Knox-Ton 743,1430 156 67,83 11, 21
    Knox-Ton 820,1430 157 102,30 8, 14
    Knox-Ton 820,1052 158 117,0 7, 9
    Knox-Ton 820,1297 159 117,49 7, 11
    Hörton 350,440 160 87,78 4, 5
    Hörton 440,480 161 70,83 6, 7
    Hörton 480,630 162 122,0 4, 5
    Hörton 350,490 163 70,0 5, 7
  • Der verbesserte MBE-Vocoder umfasst typischerweise eine Sprachaktivitätserfassung (VAD), um jeden Datenblock als entweder Stimme oder Hintergrundgeräusch zu identifizieren. Verschiedene Verfahren zur VAD können angewendet werden. 5 zeigt jedoch ein spezielles VAD-Verfahren 500, das das Messen der Energie des Eingangssignals über einen Datenblock in einem oder mehreren Frequenzbändern (16 Bänder sind typisch) umfasst (Schritt 505).
  • Als nächstes wird eine Abschätzung des Hintergrundgeräuschgrunds in jedem Frequenzband durch Verfolgen einer minimalen Energie in dem Band abgeschätzt (Schritt 510). Der Fehler zwischen der tatsächlichen gemessenen Energie und dem abgeschätzten Rauschgrundgrund wird dann für jedes Frequenzband berechnet (Schritt 515) und der Fehler wird dann über alle Frequenzbänder aufsummiert (Schritt 520). Der aufsummierte Fehler wird dann mit einer Schwelle verglichen (Schritt 525), und wenn der aufsummierte Fehler die Schwelle übersteigt, dann wird Stimme für den Datenblock erfasst. Wenn der aufsummierte Fehler die Schwelle nicht übersteigt, wird Hintergrundgeräusch (keine Stimme) erfasst.
  • Der verbesserte MBE-Codierer, der in 3 gezeigt ist, schätzt einen Satz von MBE-Modellparametern für jeden Datenblock des eingegebenen Sprachsignals ab. Typischerweise werden die Sprachentscheidungen und die Grundfrequenz (Schritt 315) zuerst abgeschätzt. Der verbesserte MBE-Codierer kann ein fortschrittliches Sprachmodell mit drei Zuständen verwenden, das bestimmte Frequenzbereiche als entweder stimmhaft, stimmlos oder gepulst definiert. Dieses Sprachmodell mit drei Zuständen verbessert die Fähigkeit des Vocoders, Verschlusslaute und andere vorübergehende Töne darzustellen, und es verbessert die wahrgenommene Sprachqualität signifikant. Der Codierer schätzt einen Satz von Sprachentscheidungen ab, wobei jede Sprachentscheidung den Sprachzustand eines speziellen Frequenzbereichs im Datenblock bezeichnet. Der Codierer schätzt auch die Grundfrequenz ab, die die Tonhöhe der stimmhaften Signalkomponente bezeichnet.
  • Ein vom verbesserten MBE-Codierer verwendetes Merkmal besteht darin, dass die Grundfrequenz etwas willkürlich ist, wenn der Datenblock vollständig stimmlos oder gepulst ist (d.h. keine stimmhaften Komponenten aufweist). In dem Fall, in dem kein Teil des Datenblocks stimmhaft ist, kann folglich die Grundfrequenz verwendet werden, um andere Informationen zu übermitteln, wie in 6 gezeigt und nachstehend beschrieben.
  • 6 stellt ein Verfahren 600 zum Abschätzen der Grundfrequenz und der Sprachentscheidungen dar. Die Eingangssprache wird zuerst unter Verwendung einer Filterbank, die eine nicht-lineare Operation enthält, unterteilt (Schritt 605). In einer Implementierung wird die Eingangssprache beispielsweise in acht Kanäle unterteilt, wobei jeder Kanal einen Bereich von 500 Hz aufweist. Die Filterbankausgabe wird verarbeitet, um eine Grundfrequenz für den Datenblock abzuschätzen (Schritt 610) und eine Sprachmetrik für jeden Filterbankkanal abzuschätzen (Schritt 615). Die Details dieser Schritte sind im US-Patent Nrn. 5 715 365 und 5 826 222 erörtert. Außerdem erfordert das Sprachmodell mit drei Zuständen, dass der Codierer eine Impulsmetrik für jeden Filterbankkanal abschätzt (Schritt 620), wie in der gleichzeitig anhängigen US-Patentanmeldung Nr. 09/988 809 , eingereicht am 20. November 2001, veröffentlicht als US 20030097260 , erörtert. Die Kanalsprachmetriken und die Impulsmetriken werden dann verarbeitet, um einen Satz von Sprachentscheidungen zu berechnen (Schritt 625), die den Sprachzustand jedes Kanals als entweder stimmhaft, stimmlos oder gepulst darstellen. Im Allgemeinen wird ein Kanal als stimmhaft bezeichnet, wenn die Sprachmetrik geringer als ein erster Stimmhaft-Schwellenwert ist, als gepulst bezeichnet, wenn die Sprachmetrik geringer als ein zweiter Gepulst-Schwellenwert ist, der kleiner ist als der erste Stimmhaft-Schwellenwert, und ansonsten als stimmlos bezeichnet.
  • Sobald die Kanalsprachentscheidungen bestimmt wurden, wird eine Prüfung durchgeführt, um festzustellen, ob irgendein Kanal stimmhaft ist (Schritt 630). Wenn kein Kanal stimmhaft ist, dann gehört der Sprachzustand für den Datenblock zu einem Satz von reservierten Sprachzuständen, wobei jeder Kanal entweder stimmlos oder gepulst ist. In diesem Fall wird die abgeschätzte Grundfrequenz durch einen Wert aus Tabelle 2 ersetzt (Schritt 635), wobei der ausgewählte Wert auf den in Schritt 625 bestimmten Kanalsprachentscheidungen basiert. Wenn kein Kanal stimmhaft ist, dann werden außerdem alle der Sprachbänder, die im Standard-Vocoder des APCO Project 25 verwendet werden, auf stimmlos gesetzt (d.h. b1 = 0). Tabelle 2: Nicht-stimmhafte MBE-Grundfrequenz
    Grundfrequenz (Hz) Kanalsprachentscheidungen
    Quantisiererwert (b0) von der Vocoder-Beschreibung des APCO Project 25 (Hz) Unterdatenblock 1 8 Filterbank-Kanäle Niedrige Freq. – hohe Freq. Unterdatenblock 0 8 Filterbank-Kanäle Niedrige Freq. – hohe Freq.
    25 248.0 UUUUUUUU UUUUUUUU
    128 95.52 UUUUUUUP UUUUUUUU
    129 94.96 UUUUUUPU UUUUUUUU
    130 94.40 UUUUUUPP UUUUUUUU
    131 93.84 UUUUUPUU UUUUUUUU
    132 93.29 UUUUUPPP UUUUUUUU
    133 92.75 UUUUPPPP UUUUUUUU
    134 92.22 UUUPUUUU UUUUUUUU
    135 91.69 UUUPPUUU UUUUUUUU
    136 91.17 UUUUUUUU PUUUUUUU
    137 90.65 UUUUUUUU UUUPPUUU
    138 90.14 UUUUUUUU UUUPUUUU
    139 89.64 UUUUUUUU UUPPPPPU
    140 89.14 UUUUUUUU UUPUUUUU
    141 88.64 UUUUUUUU UUPPUUUU
    142 88.15 UUUUUUUU UUPPPUUU
    143 87.67 UUUUUUUU UUUPPPUU
    144 87.19 UUUUUUUU UUUUUUUP
    145 86.72 UUUUUUUU UUUUUPPP
    146 86.25 UUUUUUUU UUUUUUPU
    147 85.79 UUUUUUUU UUUUUPUU
    148 85.33 UUUUUUUU UUUUUUPP
    149 84.88 UUUUUUUU UUUUPPPP
    150 84.43 UUUUUUUU UUUUPUUU
    151 83.98 UUUUUUUU UUUUPPUU
    152 83.55 PUUUUUUU UUUUUUUU
    153 83.11 UUPPPUUU UUUUUUUU
    154 82.69 PPPUUUUU UUUUUUUU
    155 82.26 UUUPPPUU UUUUUUUU
    156 81.84 PPUUUUUU UUUUUUUU
    157 81.42 PPPPUUUU UUUUUUUU
    158 81.01 UUUPPPPP UUUUUUUU
    159 80.60 UUPPUUUU UUUUUUUU
    160 80.20 PPPPPPPP UUUUUUUU
    161 79.80 UUUUPUUU UUUUUUUU
    162 79.40 UUPPPPPP UUUUUUUU
    163 79.01 PPPPPUUU UUUUUUUU
    164 78.62 UUPUUUUU UUUUUUUU
    165 78.23 PPPPPPUU UUUUUUUU
    166 77.86 UPPPPPPP UUUUUUUU
    167 77.48 PPPPPPPU UUUUUUUU
    168 77.11 UUUUUUUU PPPPPPPP
    169 76.74 UUUUUUUU PPPPPUUU
    170 76.37 UUUUUUUU PPPUUUUU
    171 76.01 UUUUUUUU UPPPPPPP
    172 75.65 UUUUUUUU PPUUUUUU
    173 75.29 UUUUUUUU UUUPPPPP
    174 74.94 UUUUUUUU UUPPPPPP
    175 74.59 UUUUUUUU PPPPPPUU
    176 74.25 PPPPPPPP PPPPPPPP
    177 73.90 PPPPPPPP UUPPPPPP
    178 73.56 PPPUUUUU PPPUUUUU
    179 73.23 UUUPPPPP UUUPPPPP
    180 72.89 UUPPPPPP UUPPPPPP
    181 72.56 PPPPPPPP PPPUUUUU
    182 72.23 PPUUUUUU PPUUUUUU
    183 71.91 UUPUUUUU UUPUUUUU
  • Die Anzahl von Sprachbändern in einem Datenblock, die zwischen 3 und 12 in Abhängigkeit von der Grundfrequenz variiert, wird berechnet (Schritt 640). Die spezielle Anzahl von Sprachbändern für eine gegebene Grundfrequenz ist in der Vocoder-Beschreibung des APCO Project 25 beschrieben und ist ungefähr durch die Anzahl von Oberwellen, dividiert durch 3, mit einem Maximum von 12 gegeben.
  • Wenn einer oder mehrere der Kanäle stimmhaft ist, dann gehört der Sprachzustand nicht zum reservierten Satz, die abgeschätzte Grundfrequenz wird aufrechterhalten und in der Standardweise quantisiert und die Kanalsprachentscheidungen werden auf die Standard-Sprachbänder des APCO Project 25 abgebildet (Schritt 645).
  • Typischerweise wird eine Frequenzskalierung von den festen Filterbank-Kanalfrequenzen auf die von der Grundfrequenz abhängigen Sprachbandfrequenzen verwendet, um die in Schritt 645 gezeigte Abbildung durchzuführen.
  • 6 stellt die Verwendung der Grundfrequenz zum Übermitteln von Informationen über die Sprachentscheidungen, sobald keine der Kanalsprachentscheidungen stimmhaft ist (d.h. wenn der Sprachzustand zu einem reservierten Satz von Sprachzuständen gehört, wobei alle Kanalsprachentscheidungen entweder stimmlos oder gepulst sind), dar. Man beachte, dass im Standard-Codierer die Grundfrequenz willkürlich ausgewählt wird, wenn die Sprachbänder alle stimmlos sind, und keine Informationen über die Sprachentscheidungen übermittelt werden. Im Gegensatz dazu wählt das System von 6 eine neue Grundfrequenz, vorzugsweise aus Tabelle 2, aus, die Informationen über die Kanalsprachentscheidungen übermittelt, sobald keine stimmhaften Bänder vorhanden sind.
  • Ein Auswahlverfahren besteht darin, die Kanalsprachentscheidungen von Schritt 625 mit den Kanalsprachentscheidungen, die jeder Kandidatengrundfrequenz in Tabelle 2 entsprechen, zu vergleichen. Der Tabelleneintrag, für den die Kanalsprachentscheidungen am nächsten liegen, wird als neue Grundfrequenz ausgewählt und als Grundfrequenz-Quantisiererwert b0 codiert. Der Endteil von Schritt 625 besteht darin, den Sprachquantisiererwert b1 auf Null zu setzen, was normalerweise alle Sprachbänder im Standard-Decodierer als stimmlos bezeichnet. Man beachte, dass der verbesserte Codierer den Sprachquantisiererwert b1 auf Null setzt, sobald der Sprachzustand eine Kombination von stimmlosen und/oder gepulsten Bändern ist, um sicherzustellen, dass ein Standard-Decodierer, der den Bitstrom empfängt, der vom verbesserten Codierer erzeugt wird, alle Sprachbänder als stimmlos decodiert. Die speziellen Informationen hinsichtlich dessen, welche Bänder gepulst sind und welche Bänder stimmlos sind, wird dann im Grundfrequenz-Quantisiererwert b0 codiert, wie vorstehend beschrieben. Die Vocoder-Beschreibung des APCO Project 25 kann für weitere Informationen über die Standard-Vocoder-Verarbeitung, einschließlich der Codierung und Decodierung der Quantisiererwerte b0 und b1, zu Rate gezogen werden.
  • Man beachte, dass die Kanalsprachentscheidungen normalerweise einmal pro Datenblock abgeschätzt werden und in diesem Fall die Auswahl einer Grundfrequenz aus Tabelle 2 das Vergleichen der abgeschätzten Kanalsprachentscheidungen mit den Sprachentscheidungen in der mit "Unterdatenblock 1" bezeichneten Spalte in Tabelle 2 und unter Verwendung des Tabelleneintrags, der am nächsten liegt, beinhaltet, um die ausgewählte Grundfrequenz zu bestimmen. In diesem Fall wird die Spalte von Tabelle 2, die mit "Unterdatenblock 0" bezeichnet ist, nicht verwendet. Die Leistung kann jedoch weiter verbessert werden, indem die Kanalsprachentscheidungen zweimal pro Datenblock (d.h. für zwei Unterdatenblöcke im Datenblock) unter Verwendung eines vorstehend beschriebenen Verfahrens auf Filterbankbasis abgeschätzt werden. In diesem Fall gibt es zwei Sätze von Kanalsprachentscheidungen pro Datenblock und die Auswahl einer Grundfrequenz aus Tabelle 2 beinhaltet das Vergleichen der abgeschätzten Kanalsprachentscheidungen für beide Unterdatenblöcke mit den Sprachentscheidungen, die in beiden Spalten von Tabelle 2 enthalten sind. In diesem Fall wird der Tabelleneintrag, der am nächsten liegt, wenn er über beide Unterdatenblöcke untersucht wird, verwendet, um die ausgewählte Grundfrequenz zu bestimmen.
  • Mit erneutem Bezug auf 3 schätzt der verbesserte MBE-Codierer, sobald die Anregungsparameter (Grundfrequenz und Sprachinformationen) abgeschätzt wurden (Schritt 315), einen Satz von Spektralamplituden für jeden Datenblock ab (Schritt 320). Wenn die Tonerfassung (Schritt 305) ein Tonsignal für den aktuellen Datenblock erfasst hat, dann werden die Spektralamplituden abgesehen von den festgelegten von Null verschiedenen Oberwellen von Tabelle 1, die auf die Amplitude des erfassten Tonsignals gesetzt werden, auf Null gesetzt. Wenn kein Ton erfasst wird, dann werden ansonsten die Spektralamplituden für den Datenblock durch ausschnittweise Darstellung des Sprachsignals unter Verwendung einer Funktion mit kurzen überlappenden Fenstern wie z.B. eines modifizierten Kaiser-Fensters mit 155 Punkten und dann Berechnen einer FFT (typischerweise K = 256) an dem Fenstersignal abgeschätzt. Die Energie wird dann um jede Oberwelle der abgeschätzten Grundfrequenz summiert und die Quadratwurzel der Summe ist die Spektralamplitude Ml für die l-te Oberwelle. Eine Methode zur Abschätzung der Spektralamplituden ist im US-Patent Nr. 5 754 974 erörtert.
  • Der verbesserte MBE-Codierer umfasst typischerweise ein Rauschunterdrückungsverfahren (Schritt 325), das verwendet wird, um die wahrgenommene Menge an Hintergrundrauschen von den abgeschätzten Spektralamplituden zu verringern. Ein Verfahren besteht darin, eine Abschätzung des lokalen Rauschgrundes in einem Satz von Frequenzbändern zu berechnen. Typischerweise wird die aus der Sprachaktivitätserfassung ausgegebene VAD-Entscheidung (Schritt 310) verwendet, um das Rauschen, das während Datenblöcken abgeschätzt wird, in denen keine Stimme erfasst wird, zu aktualisieren. Dies stellt sicher, dass die Rauschgrundabschätzung vielmehr den Hintergrundrauschpegel als den Sprachpegel misst. Sobald die Rauschabschätzung durchgeführt ist, wird die Rauschabschätzung geglättet und dann von den abgeschätzten Spektralamplituden unter Verwendung von typischen Spektralsubtraktionsverfahren subtrahiert, wobei die maximale Menge an Dämpfung typischerweise auf ungefähr 15 dB begrenzt wird. In Fällen, in denen die Rauschabschätzung nahe Null liegt (d.h. wenig oder kein Hintergrundrauschen vorhanden ist), führt die Rauschunterdrückung eine geringe oder keine Änderung an den Spektralamplituden durch. In Fällen, in denen beträchtliches Rauschen vorliegt (beispielsweise wenn in einem Fahrzeug, in dem die Fenster unten sind, gesprochen wird), führt jedoch das Rauschunterdrückungsverfahren eine beträchtliche Modifikation an den abgeschätzten Spektralamplituden durch.
  • Im Standard-MBE-Codierer, der in der Vocoder-Beschreibung des APCO Project 25 spezifiziert ist, werden die Spektralamplituden für stimmhafte und stimmlose Oberwellen unterschiedlich abgeschätzt. Im Gegensatz dazu verwendet der verbesserte MBE-Codierer typischerweise dasselbe Abschätzverfahren, wie z.B. im US-Patent Nr. 5 754 974 beschrieben, um alle Oberwellen abzuschätzen. Um diesen Unterschied zu korrigieren, kompensiert der verbesserte MBE-Codierer die stimmlosen und gepulsten Oberwellen (d.h. diejenigen Oberwellen in einem Sprachband, das als stimmlos oder gepulst deklariert wird), um die endgültigen Spektralamplituden Ml folgendermaßen zu erzeugen:
    Ml = Ml,n/[K·f0](1/2) wenn die l-te Oberwelle gepulst oder stimmlos ist; (1)
    Ml = Ml,n wenn die l-te Oberwelle stimmhaft ist
    wobei Ml,n die verbesserte Spektralamplitude nach der Rauschunterdrückung ist, K die FFT-Größe (typischerweise K = 256) ist und f0 die auf die Abtastrate (8000 Hz) normierte Grundfrequenz ist. Die endgültigen Spektralamplituden Ml werden quantisiert, um Quantisiererwerte b2, b3, ..., bL+1 zu bilden, wobei L gleich der Anzahl von Oberwellen im Datenblock ist. Schließlich wird eine FEC-Codierung auf die Quantisiererwerte angewendet und das Ergebnis der Codierung bildet den Ausgangsbitstrom aus dem verbesserten MBE-Codierer.
  • Der vom verbesserten MBE-Codierer ausgegebene Bitstrom ist mit dem Standard-Vocoder des APCO Project 25 interoperierbar. Der Standard-Decodierer kann den vom verbesserten MBE-Codierer erzeugten Bitstrom decodieren und Sprache mit hoher Qualität erzeugen. Im Allgemeinen ist die vom Standard-Decodierer erzeugte Sprachqualität besser, wenn ein verbesserter Bitstrom decodiert wird, als wenn ein Standard-Bitstrom decodiert wird. Diese Verbesserung der Sprachqualität liegt an den verschiedenen Aspekten des verbesserten MBE-Codierers, wie z.B. Sprachaktivitätserfassung, Tonerfassung, verbesserte MBE-Parameterabschätzung und Rauschunterdrückung.
  • Die Sprachqualität kann weiter verbessert werden, wenn der verbesserte Bitstrom durch einen verbesserten MBE-Decodierer decodiert wird. Wie in 2 gezeigt, umfasst ein verbesserter MBE-Decodierer typischerweise eine Standard-FEC-Decodierung (Schritt 225), um den empfangenen Bitstrom in Quantisiererwerte umzuwandeln. Im Standard-Vocoder des APCO Project 25 enthält jeder Datenblock 4 [23,12]-Golay-Codes und 3 [15,11]-Hamming-Codes, die decodiert werden, um Bitfehler zu korrigieren und/oder zu erkennen, die während der Übertragung aufgetreten sein können. Der FEC-Decodierung folgt eine MBE-Parameterrekonstruktion (Schritt 230), die die Quantisiererwerte in MBE-Parameter für die anschließende Synthese durch die MBE-Sprachsynthese umwandelt (Schritt 235).
  • 7 zeigt ein spezielles MBE-Parameterrekonstruktionsverfahren 700. Das Verfahren 700 umfasst eine Grundfrequenz- und Sprachrekonstruktion (Schritt 705), gefolgt von einer Spektralamplitudenrekonstruktion (Schritt 710). Als nächstes werden die Spektralamplituden durch Entfernen einer angewendeten Skalierung von allen stimmlosen und gepulsten Oberwellen invers kompensiert (Schritt 715).
  • Die resultierenden MBE-Parameter werden dann gegen Tabelle 1 geprüft, um festzustellen, ob sie einem gültigen Tondatenblock entsprechen (Schritt 720). Im Allgemeinen wird ein Tondatenblock identifiziert, wenn die Grundfrequenz ungefähr gleich einem Eintrag in Tabelle 1 ist, die Sprachbänder für die von Null verschiedenen Oberwellen für diesen Ton stimmhaft sind, alle anderen Sprachbänder stimmlos sind und die Spektralamplituden für die von Null verschiedenen Oberwellen, wie in Tabelle 1 für diesen Ton festgelegt, über anderen Spektralamplituden dominant sind. Wenn ein Tondatenblock durch den decodierer identifiziert wird, werden alle anderen Oberwellen als die festgelegten von Null verschiedenen Oberwellen gedämpft (20 dB Dämpfung sind typisch). Dieser Prozess dämpft die unerwünschten Oberwellenseitenkeulen, die durch den im Vocoder verwendeten Spektralamplitudenquantisierer eingeführt werden. Die Dämpfung der Seitenkeulen verringert das Ausmaß an Verzerrung und verbessert die Wiedergabetreue im synthetisierten Tonsignal, ohne irgendeine Modifikation am Quantisierer zu erfordern, wodurch die Interoperierbarkeit mit dem Standard-Vocoder aufrechterhalten wird. In dem Fall, in dem kein Tondatenblock identifiziert wird, wird die Seitenkeulenunterdrückung nicht auf die Spektralamplituden angewendet.
  • Als Endschritt in der Prozedur 700 werden eine Spektralamplitudenverstärkung und eine adaptive Glättung durchgeführt (Schritt 725). Mit Bezug auf 8 rekonstruiert der verbesserte MBE-Decodierer die Grundfrequenz und die Sprachinformationen aus den empfangenen Quantisiererwerten b0 und b1 unter Verwendung einer Prozedur 800. Anfänglich rekonstruiert der Decodierer die Grundfrequenz aus b0 (Schritt 805). Der Decodierer vergleicht dann die Anzahl von Sprachbändern aus der Grundfrequenz (Schritt 810).
  • Als nächstes wird ein Test angewendet, um festzustellen, ob der empfangene Sprachquantisiererwert b1 einen Wert von Null aufweist, was auf den stimmlosen Zustand aller hinweist (Schritt 815). Wenn ja, dann wird ein zweiter Test angewendet, um festzustellen, ob der empfangene Wert von b0 gleich einem der reservierten Werte von b0 ist, die in der Tabelle 2 enthalten sind, was darauf hinweist, dass die Grundfrequenz zusätzliche Informationen über den Sprachzustand enthält (Schritt 820). Wenn ja, dann wird ein Test verwendet, um zu prüfen, ob die Zustandsvariable ValidCount größer als oder gleich Null ist (Schritt 830). Wenn ja, dann schlägt der Decodierer in Tabelle 2 die Kanalsprachentscheidungen entsprechend dem empfangenen Quantisiererwert b0 nach (Schritt 840). Diesem folgt ein Inkrementieren der Variable ValidCount bis zu einem Maximalwert von 3 (Schritt 835), gefolgt von der Abbildung der Kanalentscheidungen vom Tabellennachschlagen in Sprachbänder (Schritt 845).
  • In dem Fall, dass b0 nicht gleich einem der reservierten Werte ist, wird ValidCount auf einen Wert dekrementiert, der nicht geringer ist als der Minimalwert von –10 (Schritt 825).
  • Wenn die Variable ValidCount geringer als Null ist, wird die Variable ValidCount auf bis zu einen Maximalwert von 3 inkrementiert (Schritt 835).
  • Wenn irgendeiner der drei Tests (Schritte 815, 820, 830) falsch ist, dann werden die Sprachbänder aus dem empfangenen Wert von b1 rekonstruiert, wie für den Standard-Vocoder in der Vocoder-Beschreibung des APCO Project 25 beschrieben (Schritt 850).
  • Mit erneutem Bezug auf 2 synthetisiert der verbesserte MBE-Decodierer, sobald die MBE-Parameter rekonstruiert sind, das Ausgangssprachsignal (Schritt 235). Ein spezielles Sprachsyntheseverfahren 900 ist in 9 gezeigt. Das Verfahren synthetisiert separate stimmhafte, gepulste und stimmlose Signalkomponenten und kombiniert die drei Komponenten, um die synthetisierte Ausgangssprache zu erzeugen. Die stimmhafte Sprachsynthese (Schritt 905) kann das für den Standard-Vocoder beschriebene Verfahren verwenden. Eine andere Methode faltet jedoch eine Impulssequenz und eine Funktion einer stimmhaften Impulsantwort und kombiniert dann das Ergebnis von benachbarten Datenblöcken unter Verwendung von Fenster-Überlappung-Addition. Die gepulste Sprachsynthese (Schritt 910) wendet typischerweise dasselbe Verfahren an, um die gepulste Signalkomponente zu berechnen. Die Details dieses Verfahrens sind von der gleichzeitig anhängigen US-Anmeldung Nr. 10/046 666 , die am 16. Januar 2002 eingereicht wurde, beschrieben.
  • Die stimmlose Signalkomponentensynthese (Schritt 915) beinhaltet das Gewichten eines weißen Rauschsignals und das Kombinieren von Datenblöcken mit Fenster-Überlappung-Addition, wie für den Standard-Vocoder beschrieben. Schließlich werden die drei Signalkomponenten zusammenaddiert (Schritt 920), um eine Summe zu bilden, die das Ausgangssignal des verbesserten MBE-Decodierers bildet.
  • Man beachte, dass, obwohl die beschriebenen Verfahren im Zusammenhang mit dem Kommunikationssystem des APCO Project 25 und dem von diesem System verwendeten Standard-MBE-Vocoder mit 7200 bps stehen, die beschriebenen Verfahren leicht auf andere Systeme und/oder Vocoder angewendet werden können. Andere existierende Kommunikationssysteme (z.B. FAA NEXCOM, Inmarsat und ETSI GMR), die Vocoder vom MBE-Typ verwenden, können beispielsweise von den beschriebenen Verfahren profitieren. Außerdem können die beschriebenen Verfahren auf viele andere Sprachcodiersysteme anwendbar sein, die mit anderen Bitraten oder Datenblockgrößen arbeiten oder ein anderes Sprachmodell mit alternativen Parametern verwenden (z.B. STC, MELP, MB-HTC, CELP, HVXC oder andere) oder die andere Verfahren zur Analyse, Quantisierung und/oder Synthese verwenden.
  • Andere Implementierungen liegen innerhalb des Schutzbereichs der folgenden Ansprüche.

Claims (42)

  1. Verfahren zum Codieren einer Sequenz von digitalen Sprachabtastwerten in einen Bitstrom, wobei das Verfahren umfasst: Unterteilen der digitalen Sprachabtastwerte in einen oder mehrere Datenblöcke; Berechnen von Modelparametern für mehrere Datenblöcke und Bestimmen des Sprachzustandes eines Datenblocks für mehrere Frequenzbänder, wobei die Modellparameter mindestens einen ersten Parameter, der Tonhöheninformationen übermittelt, und einen oder mehrere Sprachparameter, die den bestimmten Sprachzustand in den mehreren Frequenzbändern als entweder stimmhaft, stimmlos oder gepulst bezeichnen, umfassen; Modifizieren des ersten Parameters, der Tonhöheninformationen übermittelt, um den bestimmten Sprachzustand des Datenblocks zu bezeichnen, wenn der bestimmte Sprachzustand des Datenblocks gleich einem von einem Satz von reservierten Sprachzuständen ist, die Sprachzuständen entsprechen, bei denen kein Frequenzband als stimmhaft bezeichnet wird; und Quantisieren der Modellparameter, um Quantisiererbits zu erzeugen, die verwendet werden, um den Bitstrom zu erzeugen.
  2. Verfahren nach Anspruch 1, wobei die Modellparameter ferner einen oder mehrere Spektralparameter umfassen, die Spektralamplitudeninformationen bestimmen.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, wobei die Sprachparameter so festgelegt werden, dass alle Frequenzbänder als stimmlos bezeichnet werden, wenn der bestimmte Sprachzustand des Datenblocks gleich einem von einem Satz von reservierten Sprachzuständen ist.
  4. Verfahren nach Anspruch 3, wobei die Erzeugung des Bitstroms das Anwenden einer Fehlerkorrekturcodierung auf die Quantisiererbits umfasst.
  5. Verfahren nach einem der vorangehenden Ansprüche, welches ferner umfasst: Analysieren eines Datenblocks von digitalen Sprachabtastwerten, um Tonsignale zu erfassen, und wenn ein Tonsignal erfasst wird, Auswählen des Satzes von Modellparametern für den Datenblock, um das erfasste Tonsignal darzustellen.
  6. Verfahren nach Anspruch 5, wobei die erfassten Tonsignale MFV-Tonsignale umfassen.
  7. Verfahren nach Anspruch 5 oder Anspruch 6, wobei das Auswählen des Satzes von Modellparametern zum Darstellen des erfassten Tonsignals das Auswählen der Spektralparameter zum Darstellen der Amplitude des erfassten Tonsignals umfasst.
  8. Verfahren nach einem der Ansprüche 5 bis 7, wobei das Auswählen des Satzes von Modellparametern zum Darstellen des erfassten Tonsignals das Auswählen des ersten Parameters, der Tonhöheninformationen übermittelt, auf der Basis zumindest teilweise der Frequenz des erfassten Tonsignals umfasst.
  9. Verfahren nach Anspruch 2 oder irgendeinem davon abhängigen Anspruch, wobei die Spektralparameter, die Spektralamplitudeninformationen für den Datenblock bestimmen, einen Satz von Spektralamplitudenparametern umfassen, die um Oberwellen einer Grundfrequenz berechnet werden, die aus dem ersten Parameter, der Tonhöheinformationen übermittelt, bestimmt wird.
  10. Verfahren zum Codieren einer Sequenz von digitalen Sprachabtastwerten in einen Bitstrom, wobei das Verfahren umfasst: Unterteilen der digitalen Sprachabtastwerte in einen oder mehrere Datenblöcke; Feststellen, ob die digitalen Sprachabtastwerte für einen Datenblock einem Tonsignal entsprechen; und Berechnen von Modellparametern für mehrere Datenblöcke, wobei die Modellparameter zumindest einen ersten Parameter, der die Tonhöhe darstellt, und Spektralparameter, die die Spektralamplitude bei harmonischen Vielfachen der Tonhöhe darstellen, umfassen; wenn die digitalen Sprachabtastwerte für einen Datenblock als einem Tonsignal entsprechend festgestellt werden, Auswählen des Tonhöhenparameters und der Spektralparameter, um das erfasste Tonsignal zu nähern; und Quantisieren der Modellparameter, um Quantisiererbits zu erzeugen, die verwendet werden, um den Bitstrom zu erzeugen.
  11. Verfahren nach Anspruch 10, wobei der Satz von Modellparametern ferner einen oder mehrere Sprachparameter umfasst, die die Sprachzustände in mehreren Frequenzbändern bezeichnen.
  12. Verfahren nach Anspruch 10 oder Anspruch 11, wobei der erste Parameter, der die Tonhöhe darstellt, die Grundfrequenz ist.
  13. Verfahren nach einem der Ansprüche 10 bis 12, wobei der Sprachzustand als entweder stimmhaft, stimmlos oder gepulst in jedem der Frequenzbänder bezeichnet wird.
  14. Verfahren nach einem der Ansprüche 10 bis 13, wobei das Erzeugen des Bitstroms das Anwenden einer Fehlerkorrekturcodierung auf die Quantisiererbits umfasst.
  15. Verfahren nach einem der vorangehenden Ansprüche, wobei der erzeugte Bitstrom mit dem für das APCO Project 25 verwendeten Standard-Vocoder interoperierbar ist.
  16. Verfahren nach einem der vorangehenden Ansprüche, wobei das Bestimmen des Sprachzustandes des Datenblocks das Festlegen des Sprachzustandes als stimmlos in allen Frequenzbändern, wenn der Datenblock vielmehr einem Hintergrundgeräusch als Sprachaktivität entspricht, umfasst.
  17. Verfahren zum Decodieren von digitalen Sprachabtastwerten aus einer Sequenz von Bits, wobei das Verfahren umfasst: Unterteilen der Sequenz von Bits in individuelle Datenblöcke, wobei jeder Datenblock mehrere Bits enthält; Bilden von Quantisiererwerten aus einem Datenblock von Bits, wobei die gebildeten Quantisiererwerte zumindest einen ersten Quantisiererwert, der die Tonhöhe darstellt, und einen zweiten Quantisiererwert, der den Sprachzustand darstellt, umfassen; Feststellen, ob der erste und der zweite Quantisiererwert zu einem Satz von reservierten Quantisiererwerten gehören; Rekonstruieren von Sprachmodellparametern für einen Datenblock aus den Quantisiererwerten, wobei die Sprachmodellparameter den Sprachzustand des Datenblocks darstellen, der aus dem ersten Quantisiererwert rekonstruiert wird, der die Tonhöhe darstellt, wenn der erste und der zweite Quantisiererwert als zum Satz von reservierten Quantisiererwerten gehörend festgestellt werden, wenn der zweite Quantisiererwert gleich einem bekannten Wert ist, der alle Frequenzbänder als stimmlos bezeichnet; und Berechnen eines Satzes von digitalen Sprachabtastwerten aus den rekonstruierten Sprachmodellparametern.
  18. Verfahren nach Anspruch 17, wobei die rekonstruierten Sprachmodellparameter für einen Datenblock auch einen Tonhöhenparameter und einen oder mehrere Spektralparameter, die die Spektralamplitudeninformationen für den Datenblock darstellen, umfassen.
  19. Verfahren nach Anspruch 17 oder 18, wobei ein Datenblock in Frequenzbänder unterteilt wird und die rekonstruierten Sprachmodellparameter, die den Sprachzustand eines Datenblocks darstellen, den Sprachzustand in jedem der Frequenzbänder bezeichnen.
  20. Verfahren nach Anspruch 19, wobei die Bandbreite von einem oder mehreren der Frequenzbänder mit der Tonhöhenfrequenz in Beziehung steht.
  21. Verfahren nach einem der Ansprüche 17 bis 20, wobei der Sprachzustand in jedem Frequenzband als entweder stimmhaft, stimmlos oder gepulst bezeichnet wird.
  22. Verfahren nach einem der Ansprüche 17 bis 21, wobei der erste und der zweite Quantisiererwert nur dann als zum Satz von reservierten Quantisiererwerten gehörend festgestellt werden, wenn der erste Quantisiererwert gleich einem von mehreren zulässigen Werten ist.
  23. Verfahren nach Anspruch 19 oder irgendeinem davon abhängigen vorangehenden Anspruch, wobei der Sprachzustand in jedem Frequenzband nicht als stimmhaft bezeichnet wird, wenn der erste und der zweite Quantisiererwert als zum Satz von reservierten Quantisiererwerten gehörend festgestellt werden.
  24. Verfahren nach einem der Ansprüche 17 bis 23, wobei das Bilden der Quantisiererwerte aus einem Datenblock von Bits das Durchführen einer Fehlerdecodierung an dem Datenblock von Bits umfasst.
  25. Verfahren nach einem der Ansprüche 17 bis 24, welches ferner das Modifizieren der rekonstruierten Spektralparameter umfasst, wenn die rekonstruierten Sprachmodellparameter für einen Datenblock als einem Tonsignal entsprechend festgestellt werden.
  26. Verfahren nach Anspruch 25, wobei das Modifizieren der rekonstruierten Spektralparameter das Dämpfen von bestimmten unerwünschten Frequenzkomponenten umfasst.
  27. Verfahren nach Anspruch 25 oder Anspruch 26, wobei die rekonstruierten Modellparameter für einen Datenblock nur dann als einem Tonsignal entsprechend festgestellt werden, wenn der erste Quantisiererwert und der zweite Quantisiererwert gleich bestimmten bekannten Tonquantisiererwerten sind.
  28. Verfahren nach einem der Ansprüche 25 bis 27, wobei die rekonstruierten Modellparameter für einen Datenblock nur dann als einem Tonsignal entsprechend festgestellt werden, wenn die Spektralamplitudeninformationen für einen Datenblock eine kleine Anzahl von dominanten Frequenzkomponenten angeben.
  29. Verfahren nach Anspruch 28, wobei die Tonsignale MFV-Tonsignale umfassen, die nur dann bestimmt werden, wenn die Spektralamplitudeinformationen für einen Datenblock zwei dominante Frequenzkomponenten angeben, die bei oder nahe den bekannten MFV-Frequenzen auftreten.
  30. Verfahren nach Anspruch 19 oder irgendeinem davon abhängigen Anspruch, wobei die Spektralparameter, die die Spektralamplitudeninformationen für den Datenblock darstellen, aus einem Satz von Spektralamplitudenparametern bestehen, die Oberwellen einer aus dem rekonstruierten Tonhöhenparameter bestimmten Grundfrequenz darstellen.
  31. Verfahren zum Decodieren von digitalen Sprachabtastwerten aus einer Sequenz von Bits, wobei das Verfahren umfasst: Unterteilen der Sequenz von Bits in individuelle Datenblöcke, die jeweils mehrere Bits enthalten; Rekonstruieren von Sprachmodellparametern aus einem Datenblock von Bits, wobei die rekonstruierten Sprachmodellparameter für einen Datenblock einen oder mehrere Spektralparameter umfassen, die die Spektralamplitude bei harmonischen Vielfachen der Tonhöhe für die Tonhöhe und den Datenblock darstellen; Feststellen, ob der Datenblock ein Tonsignal darstellt, aus den rekonstruierten Sprachmodellparametern; Modifizieren der Spektralparameter, wenn der Datenblock ein Tonsignal darstellt, so dass die modifizierten Spektralparameter die Spektralamplitudeninformationen des bestimmten Tonsignals besser darstellen; und Erzeugen von digitalen Sprachabtastwerten aus den rekonstruierten Sprachmodellparametern und den modifizierten Spektralparametern.
  32. Verfahren nach Anspruch 31, wobei die rekonstruierten Sprachmodellparameter für einen Datenblock auch einen Grundfrequenzparameter, der die Tonhöhe darstellt, umfassen.
  33. Verfahren nach Anspruch 31 oder Anspruch 32, wobei die rekonstruierten Sprachmodellparameter für einen Datenblock auch Sprachparameter umfassen, die den Sprachzustand in mehreren Frequenzbändern bezeichnen.
  34. Verfahren nach einem der Ansprüche 31 bis 33, wobei der Sprachzustand in jedem der Frequenzbänder als entweder stimmhaft, stimmlos oder gepulst bezeichnet wird.
  35. Verfahren nach einem der Ansprüche 32 bis 34, wobei die Spektralparameter für den Datenblock aus einem Satz von Spektralamplituden bestehen, die die Spektralamplitudeninformationen bei Oberwellen des Grundfrequenzparameters darstellen.
  36. Verfahren nach Anspruch 35, wobei das Modifizieren der rekonstruierten Spektralparameter das Dämpfen der Spektralamplituden entsprechend Oberwellen, die nicht im bestimmten Tonsignal enthalten sind, umfasst.
  37. Verfahren nach Anspruch 35 oder Anspruch 36, wobei die rekonstruierten Sprachmodellparameter für einen Datenblock nur dann als einem Tonsignal entsprechend festgestellt werden, wenn einige der Spektralamplituden im Satz von Spektralamplituden über allen anderen Spektralamplituden im Satz dominant sind.
  38. Verfahren nach Anspruch 37, wobei die Tonsignale MFV-Tonsignale umfassen, die nur dann bestimmt werden, wenn der Satz von Spektralamplituden zwei dominante Frequenzkomponenten enthält, die bei oder nahe den Standard-MFV-Frequenzen auftreten.
  39. Verfahren nach Anspruch 33, wobei die rekonstruierten Sprachmodellparameter für einen Datenblock nur dann als einem Tonsignal entsprechend festgestellt werden, wenn der Grundfrequenzparameter und die Sprachparameter ungefähr gleich bestimmten bekannten Werten für die Parameter sind.
  40. Verfahren nach einem der vorangehenden Ansprüche, wobei die Sequenz von Bits durch einen Sprachcodierer erzeugt wird, der mit dem Vocoder-Standard des APCO Project 25 interoperierbar ist.
  41. Verfahren nach Anspruch 1, wobei der reservierte Sprachzustand ein Ton ist.
  42. Verfahren nach Anspruch 17, wobei die reservierten Quantisiererwerte für Töne reserviert sind.
DE60316396T 2002-11-13 2003-11-07 Interoperable Sprachkodierung Expired - Lifetime DE60316396T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US292460 1994-08-18
US10/292,460 US7970606B2 (en) 2002-11-13 2002-11-13 Interoperable vocoder

Publications (2)

Publication Number Publication Date
DE60316396D1 DE60316396D1 (de) 2007-10-31
DE60316396T2 true DE60316396T2 (de) 2008-01-17

Family

ID=32176158

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60316396T Expired - Lifetime DE60316396T2 (de) 2002-11-13 2003-11-07 Interoperable Sprachkodierung

Country Status (6)

Country Link
US (2) US7970606B2 (de)
EP (1) EP1420390B1 (de)
JP (1) JP4166673B2 (de)
AT (1) ATE373857T1 (de)
CA (1) CA2447735C (de)
DE (1) DE60316396T2 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7970606B2 (en) 2002-11-13 2011-06-28 Digital Voice Systems, Inc. Interoperable vocoder
US7634399B2 (en) * 2003-01-30 2009-12-15 Digital Voice Systems, Inc. Voice transcoder
US8359197B2 (en) 2003-04-01 2013-01-22 Digital Voice Systems, Inc. Half-rate vocoder
US7392188B2 (en) * 2003-07-31 2008-06-24 Telefonaktiebolaget Lm Ericsson (Publ) System and method enabling acoustic barge-in
US7536301B2 (en) * 2005-01-03 2009-05-19 Aai Corporation System and method for implementing real-time adaptive threshold triggering in acoustic detection systems
CN1967657B (zh) * 2005-11-18 2011-06-08 成都索贝数码科技股份有限公司 节目制作中的说话人声音自动跟踪变调系统和方法
US7864717B2 (en) * 2006-01-09 2011-01-04 Flextronics Automotive Inc. Modem for communicating data over a voice channel of a communications system
WO2007083931A1 (en) * 2006-01-18 2007-07-26 Lg Electronics Inc. Apparatus and method for encoding and decoding signal
US8489392B2 (en) 2006-11-06 2013-07-16 Nokia Corporation System and method for modeling speech spectra
US20080109217A1 (en) * 2006-11-08 2008-05-08 Nokia Corporation Method, Apparatus and Computer Program Product for Controlling Voicing in Processed Speech
US8036886B2 (en) * 2006-12-22 2011-10-11 Digital Voice Systems, Inc. Estimation of pulsed speech model parameters
US8140325B2 (en) * 2007-01-04 2012-03-20 International Business Machines Corporation Systems and methods for intelligent control of microphones for speech recognition applications
US8374854B2 (en) * 2008-03-28 2013-02-12 Southern Methodist University Spatio-temporal speech enhancement technique based on generalized eigenvalue decomposition
CN101983402B (zh) * 2008-09-16 2012-06-27 松下电器产业株式会社 声音分析装置、方法、系统、合成装置、及校正规则信息生成装置、方法
US9838784B2 (en) 2009-12-02 2017-12-05 Knowles Electronics, Llc Directional audio capture
US8831937B2 (en) * 2010-11-12 2014-09-09 Audience, Inc. Post-noise suppression processing to improve voice quality
US9520144B2 (en) * 2012-03-23 2016-12-13 Dolby Laboratories Licensing Corporation Determining a harmonicity measure for voice processing
US8725498B1 (en) * 2012-06-20 2014-05-13 Google Inc. Mobile speech recognition with explicit tone features
US20140309992A1 (en) * 2013-04-16 2014-10-16 University Of Rochester Method for detecting, identifying, and enhancing formant frequencies in voiced speech
US9536540B2 (en) 2013-07-19 2017-01-03 Knowles Electronics, Llc Speech signal separation and synthesis based on auditory scene analysis and speech modeling
US9582904B2 (en) 2013-11-11 2017-02-28 Amazon Technologies, Inc. Image composition based on remote object data
US9641592B2 (en) 2013-11-11 2017-05-02 Amazon Technologies, Inc. Location of actor resources
US9604139B2 (en) 2013-11-11 2017-03-28 Amazon Technologies, Inc. Service for generating graphics object data
US9634942B2 (en) 2013-11-11 2017-04-25 Amazon Technologies, Inc. Adaptive scene complexity based on service quality
US9805479B2 (en) 2013-11-11 2017-10-31 Amazon Technologies, Inc. Session idle optimization for streaming server
US9413830B2 (en) 2013-11-11 2016-08-09 Amazon Technologies, Inc. Application streaming service
US9578074B2 (en) * 2013-11-11 2017-02-21 Amazon Technologies, Inc. Adaptive content transmission
FR3020732A1 (fr) * 2014-04-30 2015-11-06 Orange Correction de perte de trame perfectionnee avec information de voisement
WO2016040885A1 (en) 2014-09-12 2016-03-17 Audience, Inc. Systems and methods for restoration of speech components
CN105323682B (zh) * 2015-12-09 2018-11-06 华为技术有限公司 一种数模混合麦克风及耳机
US9820042B1 (en) 2016-05-02 2017-11-14 Knowles Electronics, Llc Stereo separation and directional suppression with omni-directional microphones
US11270714B2 (en) 2020-01-08 2022-03-08 Digital Voice Systems, Inc. Speech coding using time-varying interpolation
US12254895B2 (en) 2021-07-02 2025-03-18 Digital Voice Systems, Inc. Detecting and compensating for the presence of a speaker mask in a speech signal
US11990144B2 (en) * 2021-07-28 2024-05-21 Digital Voice Systems, Inc. Reducing perceived effects of non-voice data in digital speech
CN113362837B (zh) * 2021-07-28 2024-05-14 腾讯音乐娱乐科技(深圳)有限公司 一种音频信号处理方法、设备及存储介质
US12451151B2 (en) 2022-04-08 2025-10-21 Digital Voice Systems, Inc. Tone frame detector for digital speech
US12462814B2 (en) 2023-10-06 2025-11-04 Digital Voice Systems, Inc. Bit error correction in digital speech

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1602217A (de) * 1968-12-16 1970-10-26
US3903366A (en) 1974-04-23 1975-09-02 Us Navy Application of simultaneous voice/unvoice excitation in a channel vocoder
US5086475A (en) * 1988-11-19 1992-02-04 Sony Corporation Apparatus for generating, recording or reproducing sound source data
US5081681B1 (en) 1989-11-30 1995-08-15 Digital Voice Systems Inc Method and apparatus for phase synthesis for speech processing
US5216747A (en) 1990-09-20 1993-06-01 Digital Voice Systems, Inc. Voiced/unvoiced estimation of an acoustic signal
US5226108A (en) 1990-09-20 1993-07-06 Digital Voice Systems, Inc. Processing a speech signal with estimated pitch
US5664051A (en) 1990-09-24 1997-09-02 Digital Voice Systems, Inc. Method and apparatus for phase synthesis for speech processing
US5226084A (en) 1990-12-05 1993-07-06 Digital Voice Systems, Inc. Methods for speech quantization and error correction
US5630011A (en) 1990-12-05 1997-05-13 Digital Voice Systems, Inc. Quantization of harmonic amplitudes representing speech
US5247579A (en) 1990-12-05 1993-09-21 Digital Voice Systems, Inc. Methods for speech transmission
JP3277398B2 (ja) 1992-04-15 2002-04-22 ソニー株式会社 有声音判別方法
US5517511A (en) * 1992-11-30 1996-05-14 Digital Voice Systems, Inc. Digital transmission of acoustic signals over a noisy communication channel
US5649050A (en) 1993-03-15 1997-07-15 Digital Voice Systems, Inc. Apparatus and method for maintaining data rate integrity of a signal despite mismatch of readiness between sequential transmission line components
DE69430872T2 (de) 1993-12-16 2003-02-20 Voice Compression Technologies Inc., Boston System und verfahren zur sprachkompression
US5715365A (en) 1994-04-04 1998-02-03 Digital Voice Systems, Inc. Estimation of excitation parameters
AU696092B2 (en) 1995-01-12 1998-09-03 Digital Voice Systems, Inc. Estimation of excitation parameters
US5754974A (en) * 1995-02-22 1998-05-19 Digital Voice Systems, Inc Spectral magnitude representation for multi-band excitation speech coders
US5701390A (en) * 1995-02-22 1997-12-23 Digital Voice Systems, Inc. Synthesis of MBE-based coded speech using regenerated phase information
WO1997027578A1 (en) 1996-01-26 1997-07-31 Motorola Inc. Very low bit rate time domain speech analyzer for voice messaging
AU3534597A (en) 1996-07-17 1998-02-10 Universite De Sherbrooke Enhanced encoding of dtmf and other signalling tones
US6161089A (en) * 1997-03-14 2000-12-12 Digital Voice Systems, Inc. Multi-subframe quantization of spectral parameters
US6131084A (en) 1997-03-14 2000-10-10 Digital Voice Systems, Inc. Dual subframe quantization of spectral magnitudes
DE19747132C2 (de) * 1997-10-24 2002-11-28 Fraunhofer Ges Forschung Verfahren und Vorrichtungen zum Codieren von Audiosignalen sowie Verfahren und Vorrichtungen zum Decodieren eines Bitstroms
US6199037B1 (en) 1997-12-04 2001-03-06 Digital Voice Systems, Inc. Joint quantization of speech subframe voicing metrics and fundamental frequencies
US6064955A (en) 1998-04-13 2000-05-16 Motorola Low complexity MBE synthesizer for very low bit rate voice messaging
AU6533799A (en) 1999-01-11 2000-07-13 Lucent Technologies Inc. Method for transmitting data in wireless speech channels
JP2000308167A (ja) * 1999-04-20 2000-11-02 Mitsubishi Electric Corp 音声符号化装置
US6963833B1 (en) 1999-10-26 2005-11-08 Sasken Communication Technologies Limited Modifications in the multi-band excitation (MBE) model for generating high quality speech at low bit rates
US6377916B1 (en) * 1999-11-29 2002-04-23 Digital Voice Systems, Inc. Multiband harmonic transform coder
US6675148B2 (en) 2001-01-05 2004-01-06 Digital Voice Systems, Inc. Lossless audio coder
US6912495B2 (en) 2001-11-20 2005-06-28 Digital Voice Systems, Inc. Speech model and analysis, synthesis, and quantization methods
US20030135374A1 (en) 2002-01-16 2003-07-17 Hardwick John C. Speech synthesizer
US7970606B2 (en) 2002-11-13 2011-06-28 Digital Voice Systems, Inc. Interoperable vocoder
US7634399B2 (en) 2003-01-30 2009-12-15 Digital Voice Systems, Inc. Voice transcoder
US8359197B2 (en) 2003-04-01 2013-01-22 Digital Voice Systems, Inc. Half-rate vocoder

Also Published As

Publication number Publication date
EP1420390A1 (de) 2004-05-19
EP1420390B1 (de) 2007-09-19
US20040093206A1 (en) 2004-05-13
CA2447735A1 (en) 2004-05-13
US8315860B2 (en) 2012-11-20
JP2004287397A (ja) 2004-10-14
US7970606B2 (en) 2011-06-28
DE60316396D1 (de) 2007-10-31
JP4166673B2 (ja) 2008-10-15
CA2447735C (en) 2011-06-07
US20110257965A1 (en) 2011-10-20
ATE373857T1 (de) 2007-10-15

Similar Documents

Publication Publication Date Title
DE60316396T2 (de) Interoperable Sprachkodierung
DE602004003610T2 (de) Halbrätiger Vocoder
DE69133058T2 (de) Verfahren zur Kodierung von Sprachsignalen
DE69529356T2 (de) Wellenforminterpolation mittels Zerlegung in Rauschen und periodische Signalanteile
DE69926821T2 (de) Verfahren zur signalgesteuerten Schaltung zwischen verschiedenen Audiokodierungssystemen
DE69322313T2 (de) C.E.L.P. - Vocoder
DE69816810T2 (de) Systeme und verfahren zur audio-kodierung
DE60024123T2 (de) Lpc-harmonischer sprachkodierer mit überrahmenformat
DE69331886T2 (de) Kodierung mit Modulation, Fehlerkontrolle, Gewichtung und Bitzuordnung
DE60219351T2 (de) Signaländerungsverfahren zur effizienten kodierung von sprachsignalen
DE69900786T2 (de) Sprachkodierung
DE69604526T2 (de) Verfahren zur Anpassung des Rauschmaskierungspegels in einem Analyse-durch-Synthese-Sprachkodierer mit einem wahrnehmunggebundenen Kurzzeitfilter
DE60120766T2 (de) Indizieren von impulspositionen und vorzeichen in algebraischen codebüchern zur codierung von breitbandsignalen
DE68916944T2 (de) Verfahren zur schnellen Bestimmung der Grundfrequenz in Sprachcodierern mit langfristiger Prädiktion.
DE60123651T2 (de) Verfahren und vorrichtung zur robusten sprachklassifikation
DE69529393T2 (de) Verfahren zur gewichteten Geräuschfilterung
DE69815650T2 (de) Sprachkodierer
DE68912692T2 (de) Zur Sprachqualitätsmodifizierung geeignetes Übertragungssystem durch Klassifizierung der Sprachsignale.
DE60308567T2 (de) Dekodierungsgerät, Kodierungsgerät, Dekodierungsverfahren und Kodierungsverfahren
DE60031002T2 (de) Multimodaler mischbereich-sprachkodierer mit geschlossener regelschleife
DE60128479T2 (de) Verfahren und vorrichtung zur bestimmung eines synthetischen höheren bandsignals in einem sprachkodierer
DE69902480T2 (de) Verfahren zur quantisierung der parameter eines sprachkodierers
DE3884839T2 (de) Codierung von akustischen Wellenformen.
DE60024080T2 (de) Kodierung von sprachsegmenten mit signalübergängen durch interpolation von mehrimpulsanregungssignalen
DE60309651T2 (de) Verfahren zur Sprachkodierung mittels verallgemeinerter Analyse durch Synthese und Sprachkodierer zur Durchführung dieses Verfahrens

Legal Events

Date Code Title Description
8364 No opposition during term of opposition