DE69615302T2 - Maskierung des wahrnehmbaren Rauschens auf der Basis der Frequenzantwort eines Synthesefilters - Google Patents
Maskierung des wahrnehmbaren Rauschens auf der Basis der Frequenzantwort eines SynthesefiltersInfo
- Publication number
- DE69615302T2 DE69615302T2 DE69615302T DE69615302T DE69615302T2 DE 69615302 T2 DE69615302 T2 DE 69615302T2 DE 69615302 T DE69615302 T DE 69615302T DE 69615302 T DE69615302 T DE 69615302T DE 69615302 T2 DE69615302 T2 DE 69615302T2
- Authority
- DE
- Germany
- Prior art keywords
- quantized
- gain
- processor
- signal
- lpc
- 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
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0212—Speech 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 spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/06—Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
- Die vorliegende Erfindung betrifft die Komprimierung (Codierung) von Audiosignalen, zum Beispiel von Sprachsignalen, unter Verwendung eines prädiktiven Codierungssystems.
- Wie der Literatur der Signalkomprimierung zu entnehmen ist, werden Sprach- und Musikkurvenformen durch sehr unterschiedliche Codierungsverfahren codiert. Sprachcodierung, wie zum Beispiel die Sprachcodierung mit Telefonbandbreite (3,4 kHz) bei oder unterhalb von 16 kb/s wurde bisher von prädiktiven Zeitbereichscodierern dominiert. Diese Codierer verwenden Sprach- Produktionsmodelle, um zu codierende Sprachkurvenformen zu prädizieren. Prädizierte Kurvenformen werden dann von den (zu codierenden) tatsächlichen (ursprünglichen) Kurvenformen subtrahiert, um die Redundanz in dem ursprünglichen Signal zu reduzieren. Die Reduktion der Signalredundanz liefert Codierungsgewinn. Als Beispiele für solche prädiktive Sprachcodierer sind adaptive prädiktive Codierung, mehrimpuls-linear-prädiktive Codierung und codeerregte Linearprädiktionscodierung (CELP) zu nennen, die in der Technik der Sprachkomprimierung alle wohlbekannt sind.
- Andererseits wurde die breitbandige (0-20 kHz) Musikcodierung bei oder über 64 kb/s von Frequenzbereichs- Transformations- oder Teilbandcodierern dominiert. Diese Musikcodierer unterscheiden sich prinzipiell sehr von den oben besprochenen Sprachcodierern. Dieser Unterschied ist auf den Umstand zurückzuführen, daß Musikquellen, im Gegensatz zu Sprachquellen, zu unterschiedlich sind, um eine fertige Prädiktion zu ermöglichen. Folglich werden bei der Musikcodierung im allgemeinen keine Modelle von Musikquellen verwendet. Stattdessen verwenden Musikcodierer komplizierte Modelle des menschlichen Gehörs, um nur diejenigen Teile des Signals zu codieren, die wahrnehmungsbezogen relevant sind. Das heißt, im Gegensatz zu Sprachcodierern, die häufig Spracherzeugungsmodelle verwenden, verwenden Musikcodierer Gehörmodelle (Klangempfindung), um Codierungsgewinn zu erhalten.
- Bei Musikcodierern werden Gehörmodelle benutzt, um eine Rauschmaskierungsfähigkeit der zu codierenden Musik zu bestimmen. Der Begriff "Rauschmaskierungsfähigkeit" bedeutet, wieviel Quantisierungsrauschen in ein Musiksignal eingeführt werden kann, ohne daß ein Zuhörer das Rauschen bemerkt. Diese Rauschmaskierungsfähigkeit wird dann zur Einstellung einer Quantisiererauflösung (z. B. Quantisiererschrittgröße) verwendet. Je mehr "tonartig" die Musik ist, umso schlechter kann die Musik Quantisierungsrauschen maskieren und um so kleiner ist deshalb die erforderliche Quantisiererschrittgröße und umgekehrt. Kleinere Schrittgrößen entsprechen kleineren Codierungsgewinnen und umgekehrt. Zu solchen Musikcodierern gehören zum Beispiel der Perceptual Audio Coder (PAC) von AT&T und der Audiocodierungsstandard ISO MPEG.
- Zwischen der Sprachcodierung mit Telefonbandbreite und der breitbandigen Musikcodierung liegt die Breitband- Sprachcodierung, wobei das Sprachsignal mit 16 kHz abgetastet wird und eine Bandbreite von 7 kHz aufweist. Der Vorteil der 7-kHz-Breitband-Sprache besteht darin, daß die resultierende Sprachqualität wesentlich besser als Sprache mit Telefonbandbreite ist, und daß sie trotzdem eine wesentlich kleinere Bitrate zur Codierung als ein 20-kHz-Audiosignal erfordert. Von den bisher vorgeschlagenen Breitband-Sprachcodierern verwenden einige prädiktive Zeitbereichscodierung, einige Frequenzbereichs-Transformations- oder Teilbandcodierung und andere eine Mischung von Techniken im Zeitbereich und im Frequenzbereich.
- Die Aufnahme wahrnehmungsbezogener Kriterien bei der prädiktiven Sprachcodierung (breitbandig oder nicht) war im Kontext der Auswahl des besten synthetisierten Sprachsignals aus mehreren synthetisierten Kandidaten- Sprachsignalen auf die Verwendung eines wahrnehmungsbezogenen Gewichtungsfilters begrenzt. Siehe z. B. das US-Patent Nr. Re. 32, 580 für Atal et al. Solche Filter erzielen eine Art von Rauschformung, die bei der Verminderung von Rauschen in dem Codierungsprozeß nützlich ist. Ein bekannter Codierer versucht, dieses Verfahren durch Einsatz eines wahrnehmungsbezogenen Modells bei der Bildung dieses wahrnehmungsbezogenen Gewichtungsfilters zu verbessern. Siehe W.W. Chang et al., "Audio Coding Using Masking-Threshold Adapted Perceptual Filter", Proc. IEEE Workshop Speech Coding for Telecomm., S. 9-10, Oktober 1993.
- Gemäß der Erfindung wird ein Verfahren nach Anspruch 1 zur Codierung eines Signals, das Sprachinformationen darstellt, bereitgestellt.
- Ein Ausführungsbeispiel der vorliegenden Erfindung, das als "Prädiktive Transformationscodierung" oder TPC bezeichnet wird, codiert 7-kHz-Breitbandsprache mit einer Zielbitrate von 16 bis 32 kb/s. Wie der Name sagt, kombiniert TPC Transformationscodierungs- und prädiktive Codierungstechniken in einem einzigen Codierer. Genauer gesagt verwendet der Codierer Linearprädiktion zur Entfernung der Redundanz aus der Eingangssprachkurvenform und verwendet dann Transformationscodierungstechniken zur Codierung des resultierenden Prädiktionsrests. Der transformierte Prädiktionsrest wird auf der Grundlage der Kenntnis der Wahrnehmung des menschlichen Gehörs quantisiert, die in Form eines wahrnehmungsbezogenen Gehörmodells ausgedrückt wird, um Hörbares zu codieren und Unhörbares zu verwerfen.
- Ein wichtiges Merkmal des Ausführungsbeispiels betrifft die Art und Weise der Bestimmung der wahrnehmungsbezogenen Rauschmaskierungsfähigkeit (z. B. der wahrnehmungsbezogenen Schwelle der "gerade wahrnehmbaren Verzerrung") des Signals und der anschließenden Bitzuteilung. Statt unter Verwendung des unquantisierten Eingangssignals eine wahrnehmungsbezogene Schwelle zu bestimmen, so wie es bei herkömmlichen Musikcodierern erfolgt, werden die Rauschmaskierungsschwelle und die Bitzuteilung der Ausführungsform auf der Grundlage des Frequenzgangs eines quantisierten Synthesefilters bestimmt (nämlich eines quantisierten LPC-Synthesefilters bei der Ausführungsform). Dieses Merkmal hat den Vorteil, daß das System keine Bitzuteilungssignale von dem Codierer zu dem Decodierer übermitteln muß, damit der Decodierer die wahrnehmungsbezogene Schwelle und die Bitzuteilungsverarbeitung, die zur Decodierung der empfangenen codierten Breitband-Sprachinformationen notwendig ist, repliziert Stattdessen werden Synthesefilterkoeffizienten, die für andere Zwecke übermittelt werden, ausgenutzt, um bei der Bitrate zu sparen.
- Zu den potentiellen Anwendungen eines Breitband-Sprachcodierers gehören ISDN-Videokonferenzen oder Audiokonferenzen, Multimedia-Audio, "Hi-Fi"-Telefonie und gleichzeitige Sprache und Daten (SVD) über Wählleitungen unter Verwendung von Modems mit 28,8 kb/s oder mehr.
- Fig. 1 zeigt ein Codiererausführungsbeispiel der vorliegenden Erfindung.
- Fig. 2 zeigt ein ausführliches Blockschaltbild des LPC- Analyseprozessors von Fig. 1.
- Fig. 3 zeigt ein ausführliches Blockschaltbild des Tonhöhenprädiktionsprozessors von Fig. 1.
- Fig. 4 zeigt ein ausführliches Blockschaltbild des Transformationsprozessors von Fig. 1.
- Fig. 5 zeigt ein ausführliches Blockschaltbild für das Gehörmodell und den Quantisierersteuerprozessor von Fig. 1.
- Fig. 6 zeigt eine Dämpfungsfunktion eines LPC- Leistungsspektrums, die bei der Bestimmung einer Maskierungsschwelle zur adaptiven Bitzuteilung verwendet wird.
- Fig. 7 zeigt eine allgemeine Bitzuteilung der Codiererausführungsform von Fig. 1.
- Fig. 8 zeigt ein Decodiererausführungsbeispiel der vorliegenden Erfindung.
- Fig. 9 zeigt ein Flußdiagramm der Verarbeitung, die durchgeführt wird, um eine abgeschätzte Maskierungsschwellenfunktion zu bestimmen.
- Fig. 10 zeigt ein Flußdiagramm der Verarbeitung, die durchgeführt wird, um den Betrag und die Phase von Restkoeffizienten der schnellen Fourier-Transformation zur Verwendung durch den Decodierer von Fig. 8 zu synthetisieren.
- Der Klarheit halber wird das Ausführungsbeispiel der vorliegenden Erfindung als einzelne Funktionsblöcke umfassend vorgestellt (darunter Funktionsblöcke, die als "Prozessoren" gekennzeichnet sind). Die durch diese Blöcke dargestellten Funktionen können entweder durch Verwendung gemeinsam benutzter oder eigener Hardware bereitgestellt werden, darunter u. a. Hardware, die in der Lage ist, Software auszuführen. Zum Beispiel können die Funktionen von in Fig. 1-5 und 8 dargestellten Prozessoren durch einen einzigen, gemeinsam benutzten Prozessor bereitgestellt werden. (Die Verwendung des Begriffs "Prozessor" sollte nicht als sich ausschließlich auf Hardware, die in der Lage ist, Software auszuführen, beziehend aufgefaßt werden).
- Ausführungsbeispiele können Hardware für digitale Signalverarbeitung (DSP) umfassen, wie zum Beispiel den DSP16 oder DSP32C von AT&T, Nur-Lese-Speicher (ROM) zum Speichern von Software, die die unten besprochenen Operationen durchführt, und Direktzugriffsspeicher (RAM) zum Speichern von DSP-Ergebnissen. Außerdem können Ausführungsformen mit höchst integrierter Hardware (VLSI) und kundenspezifischen VLSI- Schaltkreisen in Kombination mit einer Vielzweck-DSP- Schaltung bereitgestellt werden.
- Fig. 1 zeigt eine beispielhafte TPC-Sprachcodiererausführungsformen der vorliegenden Erfindung. Der TPC- Codierer umfaßt einen LPC-Analyseprozessor 10, ein LPC- (oder "Kurzzeit"-)Prädiktionsfehlerfilter 20, einen Tonhöhenprädiktions-(oder "Langzeit"-Prädiktions-)Prozessor 30, einen Transformationsprozessor 40, einen Gehörmodellquantisierersteuerprozessor 50, einen Restquantisierer 60 und einen Bitstrommultiplexer (MUX) 70.
- Gemäß der Ausführungsform wird die Kurzzeitredundanz aus einem Eingangssprachsignals durch das LPC- Prädiktionsfehlerfilter 20 entfernt. Das resultierende LPC-Prädiktionsrestsignal d weist immer noch einige Langzeitredundanz aufgrund der Tonhöhenperiodizität in stimmhafter Sprache auf. Solche Langzeitredundanz wird dann durch den Tonhöhenprädiktionsprozessor 30 entfernt. Nach der Tonhöhenprädiktion wird das letzte Prädiktionsrestsignal e durch den Transformationsprozessor 40, der eine schnelle Fourier-Transformation (FFT) implementiert, in den Frequenzbereich transformiert. Die adaptive Bitzuteilung wird durch den Restquantisierer 60 angewandt, um den Prädiktionsrest- FFT-Koeffizienten gemäß ihrer wahrnehmungsbezogenen Wichtigkeit, die durch den Gehörmodellquantisierersteuerprozessor 50 bestimmt wird, Bit zuzuweisen.
- Codebuchindizes, die (a) die LPC-Prädiktorparameter (il); (b) die Tonhöhenprädiktorparameter (ip, it); (c) die Transformationsverstärkungspegel (ig); und (d) den quantisierten Prädiktionsrest (ir) darstellen, werden zu einem Bitstrom gemultiplext und als Nebeninformationen über einen Kanal zu einem Decodierer gesendet. Der Kanal kann einen beliebigen geeigneten Kommunikationskanal umfassen, darunter drahtlose Kanäle, Computer- und Datennetze, Telefonnetze; und kann Speicher enthalten oder aus solchen bestehen, wie zum Beispiel transistorisierte Speicher (zum Beispiel Halbleiterspeicher), optische Speichersysteme (wie zum Beispiel CD-ROM), Magnetspeicher (zum Beispiel Plattenspeicher) usw.
- Der TPC-Decodierer kehrt im Prinzip die im Codierer durchgeführten Operationen um. Er decodiert die LPC- Prädiktorparameter, die Tonhöhenprädiktorparameter und die Verstärkungspegel und FFT-Koeffizienten des Prädiktionsrests. Die decodierten FFT-Koeffizienten werden durch Anwenden einer inversen FFT wieder in den Zeitbereich rücktransformiert. Der resultierende decodierte Prädiktionsrest wird dann durch ein Tonhöhensynthesefilter und ein LPC-Synthesefilter geleitet, um das Sprachsignal zu rekonstruieren.
- Um die Komplexität so gering wie möglich zu halten, wird vom TPC eine Quantisierung in offener Schleife verwendet. Quantisierung in offener Schleife bedeutet, daß der Quantisierer versucht, die Differenz zwischen dem unquantisierten Parameter und seiner quantisierten Version ungeachtet der Auswirkungen auf die Ausgangssprachqualität zu minimieren. Dies steht zum Beispiel im Kontrast zu CELP-Codierern, bei denen der Tonhöhenprädiktor, die Verstärkung und die Erregung gewöhnlich in geschlossener Schleife quantisiert werden. Bei der Quantisierung eines Codiererparameters in geschlossener Schleife versucht die Quantisierercodebuchsuche, die Verzerrung in der letztendlichen rekonstruierten Ausgangssprache zu minimieren. Dies führt natürlich allgemein zu einer besseren Ausgangssprachqualität, aber auf Kosten einer höheren Komplexität der Codebuchsuche.
- Ein ausführliches Blockschaltbild des LPC-Analyseprozessors 10 ist in Fig. 2 dargestellt. Der Prozessor 10 umfaßt einen Fenster- und Autokorrelationsprozessor 210; einen Prozessor 215 zur-spektralen Glättung und Korrektur mit weißem Rauschen; einen Levinson-Durbin- Rekursionsprozessor 220; einen Bandbreitenexpansionsprozessor 225; einen LPC-zu-LSP-Umsetzungsprozessor 230; und einen LPC-Leistungsspektrumsprozessor 235; einen LSP-Quantisierer 240; einen LSP- Sortierprozessor 245; einen LSP-Interpolationsprozessor 250; und einen LSP-zu-LPC-Umsetzungsprozessor 255.
- Der Fenster- und Autokorrelationsprozessor 210 beginnt den Prozeß der LPC-Koeffizientenerzeugung. Der Prozessor 210 erzeugt Autokorrelationskoeffizienten r auf herkömmliche Weise einmal pro 20 ms, aus denen anschließend auf nachfolgend besprochene Weise LPC- Koeffizienten berechnet werden. Siehe Rabiner, L.R. et al., Digital Processing of Speech Signals, Prentice- Hall, Inc., Englewood Cliffs, New Jersey, 1978 (Rabiner et al.). Die LPC-Rahmengröße ist 20 ms (oder 320 Sprachabtastwerte bei einer Abtastrate von 16 kHz). Jeder 20-ms-Rahmen wird weiter in 5 Teilrahmen aufgeteilt, die jeweils 4 ms (oder 64 Abtastwerte) lang sind. Der LPC-Analyseprozessor verwendet ein 24-ms- Hamming-Fenster, dessen Mitte auf herkömmliche Weise auf dem letzten 4-ms-Teilrahmen des aktuellen Rahmens liegt.
- Um eine potentielle Fehlkondiditionierung zu beheben, werden bestimmte herkömmliche Signalkonditionierungstechniken verwendet. Eine spektrale Glättungstechnik (SST) und eine Korrekturtechnik mit weißem Rauschen werden durch den Prozessor 215 für spektrale Glättung und Korrektur mit weißem Rauschen vor der LPC-Analyse angewandt. Die SST, die in der Technik wohlbekannt ist (Tohkura, Y. et al., "Spectral Smoothing Technique in PARCOR Speech Analysis-Synthesis", IEEE Trans. Acoust. Speech. Signal Processing, ASSP-26: 587-596, Dezember 1978 (Tohkura et al.)) umfaßt das Multiplizieren eines berechneten Autokorrelationskoeffizientenarrays (aus dem Prozessor 210) durch ein Gaußsches Fenster, dessen Fourier-Transformation der Wahrscheinlichkeitsdichtefunktion (pdf) einer Gaußschen Verteilung mit einer Standardabweichung von 40 Hz entspricht. Die Korrektur mit weißem Rauschen, ebenfalls herkömmlich (Chen, J.- H., "A Robust Low-Delay CELP Speech Coder at 16 kbit/s, Proc. IEEE Global Co mm. Conf., S. 1237-1241, Dallas, Texas, November 1989), vergrößert den Zero-lag- Autokorrelationskoeffzienten (d. h. den Energieterm) um 0,001%.
- Die von dem Prozessor 215 erzeugten Koeffizienten werden dann dem Levinson-Durbin-Rekursionsprozessor 220 zugeführt, der auf herkömmliche Weise 16 LPC-Koeffizienten ai für i = 1, 2, ... ,16 erzeugt (die Ordnung des LPC-Prädiktors 20 ist 16).
- Der Bandbreitenexpansionsprozessor 225 multipliziert jedes ai zur weiteren Signalkonditionierung mit einem Faktor gi, wobei gi = 0,994 gilt. Dies entspricht einer Bandbreitenexpansion von 30 Hz. (Tohkura et al.).
- Nach dieser Bandbreitenexpansion werden die LPC-Prädiktorkoeffizienten durch den LPC-zu-LSP-Umsetzungsprozessor 230 auf herkömmliche Weise in die Koeffizienten des Linien-Spektralpaars (LSP - line spectral pair) umgesetzt. Siehe Soong, F.K. et al., "Line Spectrum Pair (LSP) and Speech Date Compression", Proc. IEEE Int. Conf. Acoust., Speech, Signal Processing, S. 1.10.1 - 1.10.4, März 1984 (Soong et al.).
- Die Vektorquantisierung (VQ) wird dann durch den Vektorquantisierer 240 bereitgestellt, um die resultierenden LSP-Koeffizienten zu quantisieren. Das spezifische VQ-Verfahren, das von dem Prozessor 240 angewandt wird, gleicht der aufgeteilten VQ, die in Paliwal, K.K. et al., "Efficient Vector Quantization of LPC Parameters at 24 bits/frame", Proc. IEEE Int. Conf. Acoust., Speech, Signal Processing, S. 661-664, Toronto, Kanada, Mai 1991 (Paliwal et al.) vorgeschlagen wird. Der 16-dimensionale LSP-Vektor wird in 7 kleinere Teilvektoren mit den Dimensionen 2, 2, 2, 2, 2, 3, 3 vom Niederfrequenzende angezählt, aufgeteilt. Jeder der 7 Teilvektoren wird auf 7 Bit quantisiert (d. h. unter Verwendung eines VQ-Codebuchs von 128 Codevektoren). Somit gibt es sieben Codebuchindizes il(1) - il(7), wobei jeder Index sieben Bit lang ist, so daß insgesamt 49 Bit pro Rahmen bei der LPC- Parameterquantisierung verwendet werden. Diese 49 Bit werden zur Übertragung zu dem Decodierer als Nebeninformationen dem MUX 70 zugeführt.
- Der Prozessor 240 führt seine Suche in dem VQ-Codebuch unter Verwendung eines herkömmlichen gewichteten Verzerrungsmaßes der mittleren Fehlerquadrate (WMSE) durch (siehe Paliwal et al.). Das verwendete Codebuch wird mit herkömmlichen Codebucherzeugungstechniken bestimmt, die in der Technik wohlbekannt sind. Außerdem kann anstelle des WMSE-Maßes ein herkömmliches MSE- Verzerrungsmaß verwendet werden, um die Komplexität des Codierers ohne wesentliche Verschlechterung der Ausgangssprachqualität zu reduzieren.
- Normalerweise steigen LSP-Koeffizienten monoton an. Die Quantisierung kann jedoch zu einer Störung dieser Reihenfolge führen. Diese Störung führt zu einem unstabilen LPC-Synthesefilter im Decodierer. Um dieses Problem zu vermeiden, sortiert der LSP-Sortierprozessor 245 die quantisierten LSP-Koeffizienten, um die monoton zunehmende Reihenfolge wiederherzustellen und Stabilität sicherzustellen.
- Die quantisierten LSP-Koeffizienten werden in dem letzten Teilrahmen des aktuellen Rahmens verwendet. Eine lineare Interpolation zwischen diesen LSP- Koeffizienten und den Koeffizienten aus dem letzten Teilrahmen des vorherigen Rahmens wird durchgeführt, um durch den LSP-Interpolationsprozessor 250 auf herkömmliche Weise LSP-Koeffizienten für die ersten vier Teilrahmen bereitzustellen. Die interpolierten und quantisierten LSP-Koeffizienten werden dann wieder zur Verwendung in jedem Teilrahmen von dem LSP-zu-LPC- Umsetzungsprozessor 255 auf herkömmliche Weise in LPC- Prädiktorkoeffzienten umgesetzt. Dies erfolgt sowohl im Codierer als auch im Decodierer. Die LSP-Interpolation ist wichtig bei der Aufrechterhaltung einer glatten Reproduktion der Ausgangssprache. Die LSP-Interpolation ermöglicht eine Aktualisierung des LPC-Prädiktors einmal pro Teilrahmen (4 ms) auf glatte Weise. Der resultierende LPC-Prädiktor 20 wird zur Vorhersage des Eingangssignals des Codierers verwendet. Die Differenz zwischen dem Eingangssignal und seiner vorhergesagten Version ist der LPC-Prädiktionsrest d.
- Der Tonhöhenprädiktionsprozessor 30 umfaßt einen Tonhöhenentnahmeprozessor 410, einen Tonhöhenabgriffsquantisierer 415 und ein Tonhöhenprädiktionsfehlerfilter 420 mit drei Abgriffen (siehe Fig. 3). Der Prozessor 30 dient zur Entfernung der Redundanz in dem LPC-Prädiktionsrest d aufgrund der Tonhöhenperiodizität in stimmhafter Sprache. Die von dem Prozessor 30 verwendete Tonhöhenabschätzung wird nur einmal pro Rahmen (einmal alle 20 ms) aktualisiert. Es gibt zwei Arten von Parametern bei der Tonhöhenprädiktion, die quantisiert und zum Decodierer gesendet werden müssen: Die Tonhöhenperiode, die der Periode der fast periodischen Kurvenform stimmhafter Sprache entspricht und die drei Tonhöhenprädiktorkoeffizienten (Abgriffe).
- Die Tonhöhenperiode des LPC-Prädiktionsrests wird durch den Tonhöhenentnahmeprozessor 410 unter Verwendung einer modifizierten Version des effizienten Zweistufen- Suchverfahrens bestimmt, das in dem US-Patent Nr. 5,327,520 mit dem Titel "Method of Use of Voice Message Coder/Decoder", besprochen wird. Der Prozessor 410 leitet den LPC-Rest zunächst durch ein elliptisches Tiefpaßfilter dritter Ordnung, um die Bandbreite auf etwa 800 Hz zu beschränken, und führt dann eine 8 : 1-Dezimierung des Tiefpaßfilterausgangssignals durch. Die Korrelationskoeffizienten des dezimierten Signals werden für Verzögerungszeiten von 4 bis 35 berechnet, welche Verzögerungszeiten von 32 bis 280 Abtastwerten im undezimierten Signalbereich entsprechen. Somit beträgt der zulässige Bereich für die Tonhöhenperiode 2 ms bis 17,5 ms oder 57 Hz bis 500 Hz als Tonhöhenfrequenz ausgedrückt. Dies reicht aus, um den normalen Tonhöhenumfang im wesentlichen aller Sprecher abzudecken, darunter Männer mit tiefer Stimme und Kinder mit hoher Stimme.
- Nachdem der Prozessor 410 die Korrelationskoeffizienten des dezimierten Signals berechnet hat, wird die erste Hauptspitze der Korrelationskoeffizienten mit der geringsten Verzögerungszeit identifiziert. Dies ist die Suche der ersten Stufe. Die resultierende Verzögerungszeit sei t. Dieser Wert t wird mit 8 multipliziert, um die Verzögerungszeit im undezimierten Signalbereich zu erhalten. Die resultierende Verzögerungszeit 8t zeigt auf die Umgebung, in der die wahre Tonhöhenperiode am wahrscheinlichsten liegt. Um die ursprüngliche Zeitauflösung im undezimierten Signalbereich aufrechtzuerhalten, wird im Bereich von t-7 bis t+7 eine Tonhöhensuche der zweiten Stufe durchgeführt. Die Korrelationskoeffizienten des ursprünglichen undezimierten LPC-Rests d werden für Verzögerungszeiten von t-7 bis t+7 berechnet (unter Berücksichtigung der unteren Grenze von 32 Abtastwerten und der oberen Grenze von 280 Abtastwerten). Die Verzögerungszeit, die dem maximalen Korrelationskoeffizienten in diesem Bereich entspricht, wird dann als die letztendliche Tonhöhenperiode p identifiziert. Diese Tonhöhenperiode p wird mit einem herkömmlichen VQ-Codebuch zu 8 Bit codiert, und der 8-Bit-Codebuchindex 4, wird zur Übertragung zu dem Decodierer als Nebeninformationen dem MUX 70 zugeführt. Acht Bit reichen aus, um die Tonhöhenperiode darzustellen, da es nur 280-32+1 = 249 mögliche ganze Zahlen gibt, die als die Tonhöhenperiode gewählt werden können.
- Die drei Tonhöhenprädiktorabgriffe werden zusammen in quantisierter Form durch den Tonhöhenabgriffsquantisierer 415 bestimmt. Der Quantisierer 415 umfaßt ein herkömmliches VQ-Codebuch mit 64 Codevektoren, die 64 mögliche Mengen von Tonhöhenprädiktorabgriffen darstellen. Die Energie des Tonhöhenprädiktionsrests in dem aktuellen Rahmen wird als das Verzerrungsmaß einer Suche durch das Codebuch verwendet. Ein solches Verzerrungsmaß liefert einen höheren Tonhöhenprädiktionsgewinn als ein einfaches MSE-Maß an den Prädiktorabgriffen selbst. Mit diesem Verzerrungsmaß wäre die Komplexität der Codebuchsuche normalerweise sehr hoch, wenn ein Hauruck-Ansatz verwendet werden würde. Der Quantisierer 415 verwendet jedoch für dieses Verzerrungsmaß ein effizientes Codebuchsuchverfahren, das in der Technik wohlbekannt ist (siehe das US-Patent Nr. 5,327,520). Obwohl die Einzelheiten dieses Verfahrens hier nicht dargelegt werden, ist das Grundprinzip wie folgt.
- Es kann gezeigt werden, daß die Minimierung des Restenergieverzerrungsmaßes der Maximierung eines Skalarprodukts von zwei 9-dimensionalen Vektoren entspricht. Einer dieser 9-dimensionalen Vektoren enthält nur Korrelationskoeffizienten des LPC-Prädiktionsrests. Der andere 9-dimensionale Vektor enthält nur die Produktterme, die aus der Menge von drei Tonhöhenprädiktorabgriffen, die bewertet werden, abgeleitet werden. Da ein solcher Vektor signalunabhängig ist und nur von dem Tonhöhenabgriffscodevektor abhängt, gibt es nur 64 mögliche solche Vektoren (einen für jeden Tonhöhenabgriffscodevektor), und sie können im voraus berechnet und in einer Tabelle - dem VQ-Codebuch - gespeichert werden. Bei einer tatsächlichen Codebuchsuche wird zuerst der 9-dimensionale Vektor der LPC-Restkorrelation berechnet. Als nächstes wird das Skalarprodukt des resultierenden Vektors mit jedem der 64 im voraus berechneten und gespeicherten 9-dimensionalen Vektoren berechnet. Der Vektor in der gespeicherten Tabelle, der das größte Skalarprodukt liefert, ist der Gewinner, und die drei Tonhöhenprädiktorabgriffe werden aus ihm abgeleitet. Da die gespeicherte Tabelle 64 Vektoren enthält, reicht ein 6-Bit-Index it aus, um die drei quantisierten Tonhöhenprädiktorabgriffe darzustellen. Diese 6 Bit werden zur Übertragung zum Decodierer als Nebeninformationen dem MUX 70 zugeführt.
- Die quantisierte Tonhöhenperiode und die Tonhöhenprädiktorabgriffe, die wie oben besprochen bestimmt werden, dienen zur Aktualisierung des Tonhöhenprädiktionsfehlerfilters 420 einmal pro Rahmen. Die quantisierte Tonhöhenperiode und die Tonhöhenprädiktorabgriffe werden von dem Filter 420 verwendet, um den LPC-Prädiktionsrest vorherzusagen. Der vorhergesagte LPC-Prädiktionsrest wird dann von dem tatsächlichen LPC-Prädiktionsrest subtrahiert. Nachdem die vorhergesagte Version von dem unquantisierten LPC-Rest subtrahiert wurde, erhält man den unquantisierten Tonhöhenprädiktionsrest e, der mit dem unten beschriebenen Transformationscodierungsansatz codiert wird.
- Das Tonhöhenprädiktionsrestsignal e wird teilrahmenweise von dem Transformationsprozessor 40 codiert. Ein ausführliches Blockschaltbild des Prozessors 40 ist in Fig. 4 dargestellt. Der Prozessor 40 umfaßt einen FFT- Prozessor 510, einen Verstärkungsprozessor 520, einen Verstärkungsquantisierer 530, einen Verstärkungsinterpolationsprozessor 540 und einen Normierungsprozessor 550.
- Der FFT-Prozessor 510 berechnet eine herkömmliche 64- Punkt-FFT für jeden Teilrahmen des Tonhöhenprädiktionsrests e. Diese Größentransformation vermeidet die sogenannte "Vorecho"-Verzerrung, die in der Technik der Audiocodierung wohlbekannt ist. Siehe Jayant, N. et al., "Signal Compression Based on Models of Human Perception", Proc. IEEE, S. 1385-1422, Oktober 1993.
- Nachdem jeder 4-ms-Teilrahmen des Prädiktionsrests durch den Prozessor 510 in den Frequenzbereich transformiert wurde, werden durch den Verstärkungsprozessor 420 Verstärkungspegel (oder Effektivwerte (RMS)) entnommen und durch den Verstärkungsquantisierer 530 für die verschiedenen Frequenzbänder quantisiert. Für jeden der fünf Teilrahmen in dem aktuellen Rahmen entnimmt der Prozessor 520 zwei Verstärkungswerte: (1) den RMS-Wert der ersten fünf FFT-Koeffizienten aus dem Prozessor 510 als eine Niederfrequenzverstärkung (0 bis 1 kflz) und (2) den RMS-Wert des 17. bis 29. FFT- Koeffizienten aus dem Prozessor 510 als eine Hochfrequenzverstärkung (4 bis 7 kHz). Somit werden pro Rahmen zur Verwendung durch den Verstärkungsquantisierer 530 2 · 5 = 10 Verstärkungswerte entnommen.
- Der Verstärkungsquantisierer 530 verwendet getrennte Quantisierungsverfahren für die Hochfrequenz- und Niederfrequenzverstärkung in jedem Rahmen. Für die Hochfrequenz-Verstärkungen (4-7 kHz) codiert der Quantisierer 530 die Hochfrequenzverstärkung des letzten Teilrahmens des aktuellen Rahmens zu 5 Bit unter Verwendung einer herkömmlichen Skalar-Quantisierung. Diese quantisierte Verstärkung wird dann von dem Quantisierer 530 in den logarithmischen Dezibel-Bereich (dB) umgewandelt. Da es nur 32 mögliche quantisierte Verstärkungspegel (mit 5 Bit) gibt, werden die 32 entsprechenden logarithmischen Verstärkungen im voraus berechnet und in einer Tabelle gespeichert, und die Umwandlung von Verstärkung aus dem linearen Bereich in den logarithmischen Bereich erfolgt durch Nachschlagen in der Tabelle. Der Quantisierer 530 führt dann im logarithmischen Bereich zwischen dieser resultierenden logarithmischen Verstärkung und der logarithmischen Verstärkung des letzten Teilrahmens des letzten Rahmens eine lineare Interpolation durch. Diese Interpolation ergibt eine Approximation (d. h. eine Prädiktion) der logarithmischen Verstärkungen für die Teilrahmen 1 bis 4. Als nächstes werden die linearen Verstärkungen der Teilrahmen 1 bis 4, die von dem Verstärkungsprozessor 520 zugeführt werden, in den logarithmischen Bereich umgewandelt und die interpolierten logarithmischen Verstärkungen werden von den Ergebnissen subtrahiert. Dadurch ergeben sich 4 logarithmische Verstärkungsinterpolationsfehler, die zu zwei Vektoren jeweils der Dimension 2 gruppiert werden.
- Jeder 2-dimensionale Interpolationsfehlervektor der logarithmischen Verstärkung wird dann mit einem einfachen MSE-Verzerrungsmaß auf herkömmliche Weise zu 7 Bit vektorquantisiert. Die beiden 7-Bit- Codebuchindizes werden zusammen mit dem 5-Bit-Skalar, der den letzten Teilrahmen des aktuellen Rahmens darstellt, zur Übertragung zum Decodierer dem MUX 70 zugeführt.
- Der Verstärkungsquantisierer 530 addiert außerdem die resultierenden 4 quantisierten logarithmischen Verstärkungsinterpolationsfehler zurück zu den 4 interpolierten logarithmischen Verstärkungen, um die quantisierten logarithmischen Verstärkungen zu erhalten. Diese 4 quantisierten logarithmischen Verstärkungen werden dann wieder in den linearen Bereich umgewandelt, um die 4 quantisierten Hochfrequenzverstärkungen für die Teilrahmen 1 bis 4 zu erhalten. Diese quantisierten Hochfrequenzverstärkungen werden zusammen mit der quantisierten Hochfrequenzverstärkung des Teilrahmens 5 zur Verarbeitung auf die unten beschriebene Weise dem Verstärkungsinterpolationsprozessor 540 zugeführt.
- Der Verstärkungsquantisierer 530 führt die Quantisierung der Niederfrequenz-Verstärkungen (0-1 kHz) auf der Grundlage der quantisierten Hochfrequenzverstärkungen und der quantisierten Tonhöhenprädiktorabgriffe durch. Die Statistik der logarithmischen Verstärkungsdifferenz, die durch Subtrahieren der logarithmischen Hochfrequenzverstärkung von der logarithmischen Niederfrequenzverstärkung desselben Teilrahmens bestimmt wird, wird stark von dem Tonhöhenprädiktor beeinflußt. Für Rahmen ohne viel Tonhöhenperiodizität wäre der Mittelwert der logarithmischen Verstärkungsdifferenz ungefähr Null und würde eine kleinere Standardabweichung aufweisen. Andererseits würde die logarithmische Verstärkungsdifferenz für Rahmen mit starker Tonhöhenperiodizität einen großen negativen Mittelwert und eine größere Standardabweichung aufweisen. Diese Beobachtung bildet die Grundlage eines effizienten Quantisierers für die 5 Niederfrequenzverstärkungen in jedem Rahmen.
- Für jede der 64 möglichen guantisierten Mengen von Tonhöhenprädiktorabgriffen werden unter Verwendung einer großen Sprachdatenbasis der bedingte Mittelwert und die bedingte Standardabweichung der logarithmischen Verstärkungsdifferenz im voraus berechnet. Die resultierenden Tabellen mit 64 Einträgen werden dann von dem Verstärkungsquantisierer 530 bei der Quantisierung der Niederfrequenzverstärkungen verwendet.
- Die Niederfrequenzverstärkung des letzten Teilrahmens wird folgendermaßen quantisiert. Der beim Quantisieren der Tonhöhenprädiktorabgriffe erhaltene Codebuchindex wird in Tabellennachschlageoperationen verwendet, um den bedingten Mittelwert und die bedingte Standardabweichung der logarithmischen Verstärkungsdifferenz für diese bestimmte quantisierte Menge von Tonhöhenprädiktorabgriffen zu entnehmen. Dann wird die logarithmische Verstärkungsdifferenz des letzten Teilrahmens berechnet. Der bedingte Mittelwert wird von dieser unquantisierten logarithmischen Verstärkungsdifferenz subtrahiert, und die resultierende logarithmische Verstärkungsdifferenz mit entferntem Mittelwert wird durch die bedingte Standardabweichung dividiert. Diese Operation erzeugt im wesentlichen eine Größe mit einem Mittelwert von Null und Einheitsvarianz, die durch den Verstärkungsquantisierer 530 unter Verwendung einer Skalarquantisierung zu 4 Bit quantisiert wird.
- Der quantisierte Wert wird dann mit der bedingten Standardabweichung multipliziert und das Ergebnis zu dem bedingten Mittelwert addiert, um eine quantisierte logarithmische Verstärkungsdifferenz zu erhalten. Als nächstes wird die quantisierte logarithmische Hochfrequenzverstärkung wieder zurückaddiert, um die quantisierte logarithmische Niederfrequenzverstärkung des letzten Teilrahmens zu erhalten. Der resultierende Wert wird zur Durchführung einer linearen Interpolation der logarithmischen Niederfrequenzverstärkung für die Teilrahmen 1 bis 4 verwendet. Diese Interpolation erfolgt zwischen der quantisierten logarithmischen Niederfrequenzverstärkung und dem letzten Teilrahmen des vorherigen Rahmens und der quantisierten logarithmischen Niederfrequenzverstärkung des letzten Teilrahmens des aktuellen Rahmens.
- Die 4 Interpolationsfehler der logarithmischen Niederfrequenzverstärkung werden dann berechnet. Zunächst werden die von dem Verstärkungprozessor 520 gelieferten linearen Verstärkungen in den logarithmischen Bereich umgewandelt. Danach werden die interpolierten logarithmischen Niederfrequenzverstärkungen von den umgewandelten Verstärkungen subtrahiert. Die resultierenden Interpolationsfehler der logarithmischen Verstärkung werden mit der bedingten Standardabweichung der logarithmischen Verstärkungsdifferenz normiert. Die normierten Interpolationsfehler werden dann zu zwei Vektoren der Dimension 2 gruppiert. Diese beiden Vektoren werden mit einem einfachen MSE-Verzerrungsmaß ähnlich wie bei dem VQ-Verfahren für den Hochfrequenzfall zu 7 Bit vektorquantisiert. Die beiden 7-Bit-Codebuchindizes werden zusammen mit dem 4-Bit-Skalar, der den letzten Teilrahmen des aktuellen Rahmens darstellt, zur Ubertragung zum Decodierer dem MUX 70 zugeführt.
- Der Verstärkungsquantisierer multipliziert außerdem die 4 quantisierten Werte mit der bedingten Standardabweichung, um den ursprünglichen Maßstab wiederherzustellen, und addiert dann die interpolierte logarithmische Verstärkung zu dem Ergebnis. Die resultierenden Werte sind die guantisierten logarithmischen Niederfrequenzverstärkungen für die Teilrahmen 1 bis 4. Als letztes werden alle 5 quantisierten logarithmischen Niederfrequenzverstärkungen zur nachfolgenden Verwendung durch den Verstärkungsinterpolationsprozessor 540 in den linearen Bereich umgewandelt.
- Der Verstärkungsinterpolationsprozessor 540 bestimmt approximierte Verstärkungen für das Frequenzband von 1 bis 4 kHz. Als erstes werden die Verstärkungspegel für den 13. bis 16. FFT-Koeffzienten (3 bis 4 kflz) so gewählt, daß sie mit der quantisierten Hochfrequenzverstärkung übereinstimmen. Dann werden die Verstärkungspegel für den 6. bis 12. FFT-Koeffizienten (1 bis 3 kHz) durch lineare Interpolation zwischen der quantisierten logarithmischen Niederfrequenzverstärkung und der quantisierten logarithmischen Hochfrequenzverstärkung bestimmt. Die resultierenden interpolierten logarithmischen Verstärkungswerte werden dann wieder in den linearen Bereich umgewandelt. Beim Abschluß der Verarbeitung des Verstärkungsinterpolationsprozessors ist somit jedem FFT-Koeffizienten von 0 bis 7 kHz (bzw. dem ersten bis zum 29. FFT-Koeffizienten) entweder eine quantisierte oder eine interpolierte Verstärkung zugeordnet. Ein Vektor dieser Verstärkungswerte wird zur nachfolgenden Verarbeitung dem Verstärkungsnormierungsprozessor 550 zugeführt.
- Der Verstärkungsnormierungsprozessor 550 normiert die von dem FFT-Prozessor 510 erzeugten FFT-Koeffizienten, indem er jeden Koeffizienten durch seine entsprechende Verstärkung dividiert. Die resultierenden verstärkungsnormierten FFT-Koeffizienten sind dann für die Quantisierung durch den Restguantisierer 60 bereit.
- Fig. 7 zeigt den Bitstrom des Ausführungsbeispiels der vorliegenden Erfindung. Wie bereits beschrieben, wurden 49 Bit/Rahmen zur Codierung von LPC-Parametern, 8 + 6 = 14 Bit/Rahmen für den Tonhöhenprädiktor mit 3 Abgriffen und 5 + (2 · 7) + 4 + (2 · 7) = 37 Bit/Rahmen für die Verstärkungen zugeteilt. Deshalb ist die Gesamtzahl von Bit für Nebeninformationen 49 + 14 + 37 = 100 Bit pro 20-ms- Rahmen oder 20 Bit pro 4-ms-Teilrahmen. Man ziehe in Betracht, daß der Codierer mit einer von drei verschiedenen Raten betrieben werden kann: 16, 24 und 32 kb/s. Bei einer Abtastrate von 16 kHz entsprechen diese drei Zielraten 1, 1,5 bzw. 2 Bit/Abtastwert oder 64, 96 bzw. 128 Bit/Teilrahmen. Wenn 20 Bit/Teilrahmen für Nebeninformationen verwendet werden, betragen die Anzahlen von Bit, die zur Verwendung bei der Codierung der Hauptinformationen (Codierung von FFT- Koeffizienten) übrig bleiben, 44, 76 bzw. 108 Bit/Teilrahmen für die drei Raten 16, 24 bzw. 32 kb/s.
- Gemäß den Prinzipien der vorliegenden Erfindung wird die adaptive Bitzuteilung durchgeführt, um diese übrigen Bit verschiedenen Teilen des Frequenzspektrums mit verschiedener Quantisierungsgenauigkeit zuzuweisen, um die wahrnehmungsbezogene Qualität der Ausgangssprache am TPC-Decodierer zu verbessern. Dabei verwendet man ein Modell der menschlichen Empfindlichkeit gegenüber Rauschen in Audiosignalen. Solche Modelle sind in der Technik der wahrnehmungsbezogenen Audiocodierung bekannt. Siehe z. B. Tobias, J.V., Hrsg., Foundations of Modern Auditory Theory, Academic Press, New York und London, 1970. Siehe außerdem Schroeder, M.R. et al., "Optimizing Digital Speech Coders by Exploiting Masking Properties of the Human Ear", J. Acoust. Soc. Amer., 66: 1647-1652, Dezember 1979 (Schroeder, et al.).
- Das Gehörmodell und der Quantisierersteuerprozessor 50 umfassen den LPC-Leistungsspektrumsprozessor 510, den Maskierungsschwellenprozessor 515 und den Bitzuteilungsprozessor 520. Obwohl die adaptive Bitzuteilung einmal für jeden Teilrahmen durchgeführt werden könnte, führt das Ausführungsbeispiel der vorliegenden Erfindung die Bitzuteilung einmal pro Rahmen durch, um die rechnerische Komplexität zu vermindern.
- Anstatt das unquantisierte Eingangssignal zu verwenden, um die Rauschmaskierungsschwelle und die Bitzuteilung abzuleiten, wie es bei herkömmlichen Musikcodierern erfolgt, werden die Rauschmaskierungsschwelle und die Bitzuteilung des Ausführungsbeispiels aus dem Frequenzgang des quantisierten LPC-Synthesefilters bestimmt (der häufig als das "LPC-Spektrum" bezeichnet wird). Das LPC-Spektrum kann als eine Approximation der Spektralhülle des Eingangssignals in dem 24-ms-LPC- Analysefenster betrachtet werden. Das LPC-Spektrum wird auf der Grundlage der quantisierten LPC-Koeffizienten bestimmt. Die quantisierten LPC-Koeffizienten werden von dem LPC-Analyseprozessor 10 dem LPC-Spektrumprozessor 510 des Gehörmodells und dem Quantisierersteuerprozessor 50 zugeführt. Der Prozessor 510 bestimmt das LPC-Spektrum folgendermaßen. Die quantisierten LPC-Filterkoeffizienten (ä) werden zunächst durch eine 64-Punkt-FFT transformiert. Die Leistung der ersten 33 FFT-Koeffizienten wird bestimmt, und die Kehrwerte dieser Leistungswerte werden dann berechnet. Das Ergebnis ist ein LPC-Leistungsspektrum mit der Frequenzauflösung einer 64-Punkt-FFT.
- Nach der Bestimmung des LPC-Leistungsspektrums wird durch den Maskierungsschwellenprozessor 515 eine abgeschätzte Rauschmaskierungsschwelle berechnet. Die Maskierungsschwelle TM wird mit einer modifizierten Version des Verfahrens berechnet, das in dem US-Patent Nr. 5,314,457 beschrieben wird. Der Prozessor 515 skaliert die 33 Abtastwerte des LPC-Leistungsspektrums aus dem Prozessor 510 mit einer frequenzabhängigen Dämpfungsfunktion, die empirisch aus subjektiven Hörexperimenten bestimmt wird. Wie in Fig. 6 gezeigt, beginnt die Dämpfungsfunktion mit 12 dB für den Gleichstromterm des LPC-Leistungsspektrums, nimmt zwischen 700 und 800 Hz bis auf etwa 15 dB zu und nimmt dann in Richtung höherer Frequenzen monoton ab und reduziert sich schließlich auf 6 dB bei 8000 Hz.
- Jeder der 33 gedämpften LPC-Leistungsspektrumsabtastwerte wird dann zur Skalierung einer "Basilarmembran- Spreizfunktion" verwendet, die für diese bestimmte Frequenz abgeleitet wird, um die Maskierungsschwelle zu berechnen. Eine Spreizfunktion für eine gegebene Frequenz entspricht der Form der Maskierungsschwelle als Reaktion auf ein Einton-Maskierungssignal mit dieser Frequenz. Gleichung (5) von Schroeder et al. beschreibt solche Spreizfunktionen im Hinblick auf die "Bark"-Frequenzskala oder die Frequenzskala des kritischen Bandes, auf die hiermit vollständig Bezug genommen wird. Der Skalierungsprozeß beginnt mit den ersten 33 Frequenzen einer 64-Punkt-FFT über 0-16 kHz hinweg (d. h. 0 Hz, 250 Hz, 500 Hz, ... , 8000 Hz), die in die "Bark"-Frequenzskala umgewandelt werden. Für jeden der 33 resultierenden Bark-Werte wird die entsprechende Spreizfunktion an diesen 33 Bark-Werten unter Verwendung von Gleichung (5) von Schroeder et al. abgetastet. Die 33 resultierenden Spreizfunktionen werden in einer Tabelle gespeichert, was als Teil eines Off-Line-Prozesses erfolgen kann. Zur Berechnung der abgeschätzten Maskierungsschwelle wird jede der 33 Spreizfunktionen mit dem entsprechenden Abtastwert des gedämpften LPC-Leistungsspektrums multipliziert, und die resultierenden 33 skalierten Spreizfunktionen werden summiert. Das Ergebnis ist die abgeschätzte Maskierungsschwellenfunktion, die dem Bitzuteilungsprozessor 520 zugeführt wird. Fig. 9 zeigt die Verarbeitung, die von dem Prozessor 520 durchgeführt wird, um die abgeschätzte Maskierungsschwellenfunktion zu bestimmen.
- Es sollte beachtet werden, daß dieses Verfahren zur Abschätzung der Maskierungsschwelle nicht das einzige verfügbare Verfahren ist.
- Um die Komplexität gering zu halten, verwendet der Bitzuteilungsprozessor 520 ein "gieriges" Verfahren, um die Bit für die Restquantisierung zuzuteilen. Das Verfahren ist "gierig" in dem Sinne, daß es ein Bit auf einmal der "bedürftigsten" Frequenzkomponente ungeachtet ihres potentiellen Einflusses auf die zukünftige Bitzuteilung zuteilt.
- Am Anfang, wenn noch kein Bit zugewiesen ist, ist die entsprechende Ausgangssprache Null, und das Codierungsfehlersignal ist die Eingangssprache selbst. Deshalb wird anfänglich angenommen, daß das LPC- Leistungsspektrum das Leistungsspektrum des Codierungsrauschens ist. Danach wird die Rausch-Lautheit bei jeder der 33 Frequenzen einer 64-Punkt-FFT unter Verwendung der oben berechneten Maskierungsschwelle und einer vereinfachten Version des Rausch-Lautheitsberechnungsverfahrens in Schroeder et al. abgeschätzt.
- Die vereinfachte Rausch-Lautheit bei jeder der 33 Frequenzen wird folgendermaßen durch den Prozessor 520 berechnet. Als erstes wird die kritische Bandbreite Bi der i-ten Frequenz durch lineare Interpolation der in Tabelle 1 von Scharfs Buchkapitel in Tobias aufgelisteten kritischen Bandbreite berechnet. Das Ergebnis ist der approximierte Wert des Terms df/dx in Gleichung (3) von Schroeder et al. Die 33 Werte der kritischen Bandbreite werden im voraus berechnet und in einer Tabelle gespeichert. Für die i-te Frequenz wird dann die Rauschleistung Ni mit der Maskierungsschwelle Mi verglichen. Wenn Ni ≤ Mi ist, wird die Rausch-Lautheit Li auf Null gesetzt. Wenn Ni > Mi ist, dann wird die Rausch-Lautheit folgendermaßen berechnet
- Li = Bi((Ni-Mi)/(1 + (Si/Ni)²))0,25
- wobei Si der Abtastwert des LPC-Leistungsspektrums bei der i-ten Frequenz ist.
- Sobald die Rausch-Lautheit von dem Prozessor 520 für alle 33 Frequenzen berechnet wurde, wird die Frequenz mit der größten Rausch-Lautheit identifiziert und dieser Frequenz wird ein Bit zugewiesen. Die Rauschleistung bei dieser Frequenz wird dann um einen Faktor reduziert, der empirisch aus dem Signal/Rausch-Verhältnis (SNR) bestimmt wird, das beim Entwurf des VQ-Codebuchs zur Quantisierung der FFT-Koeffizienten des Prädiktionsrests gewonnen wurde. (Beispielhafte Werte für den Reduktionsfaktor liegen zwischen 4 und 5 dB). Die Rausch-Lautheit bei dieser Frequenz wird dann mit der reduzierten Rauschleistung aktualisiert. Als nächstes wird wiederum aus dem aktualisierten Rausch- Lautheitsarray das Maximum identifiziert, und der entsprechenden Frequenz wird ein Bit zugewiesen. Dieser Prozeß wird fortgesetzt bis alle verfügbaren Bit erschöpft sind.
- Für den 32- und den 24-kb/s-TPC- Codierer kann jede der 33 Frequenzen während der adaptiven Bitzuteilung Bits erhalten. Für den 16-kb/s-TPC-Codierer kann dagegen eine bessere Sprachqualität erzielt werden, wenn der Codierer nur dem Frequenzbereich von 0 bis 4 kHz (d. h. den ersten 16 FFT-Koeffizienten) Bit zuweist und die Rest-FFT-Koeffizienten in dem höheren Frequenzband von 4 bis 8 kHz synthetisiert. Das Verfahren zur Synthetisierung der Rest-FFT-Koeffizienten von 4 bis 8 kHz wird unten in Verbindung mit dem beispielhaften Codierer beschrieben.
- Man beachte, daß die Bitzuteilungsinformationen nicht gesendet werden müssen, da die quantisierten LPC- Synthesekoeffizienten ( ) ebenfalls im TPC-Decodierer verfügbar sind. Diese Bitzuteilungsinformationen werden durch eine Kopie des Gehörmodellquantisierersteuerprozessors 50 im Decodierer bestimmt. Somit kann der TPC- Decodierer lokal die adaptive Bitzuteilungsoperation des Codierers kopieren, um diese Bitzuteilungsinformationen zu erhalten.
- Wenn die Bitzuteilung beendet ist, führt der Quantisierer 60 die eigentliche Quantisierung der normierten FFT-Koeffizienten EN des Prädiktionsrests durch. Der Gleichstromterm der FFT ist eine reelle Zahl und wird skalar quantisiert, falls er jemals während der Bitzuteilung Bit erhält. Er kann maximal 4 Bit erhalten. Für den zweiten bis 16. FFT-Koeffizienten wird ein herkömmlicher zweidimensionaler Vektorquantisierer verwendet, um die Real- und Imaginärteile zusammen zu quantisieren. Die maximale Anzahl von Bit für diese VQ mit 2 Dimensionen ist 6 Bit. Für den 17. bis 30. FFT-Koeffizienten wird ein herkömmlicher 4- dimensionaler Vektorquantisierer verwendet, um den Real- und Imaginärteil von zwei benachbarten FFT- Koeffizienten zu quantisieren.
- Fig. 8 zeigt ein Decodiererausführungsbeispiel der vorliegenden Erfindung. Der beispielhafte Decodierer umfaßt einen Demultiplexer (DEMUX) 65, einen LPC- Parameterdecodierer 80, einen Gehörmodell-Entquantisierersteuerprozessor 90, einen Entquantisierer 70, einen Umkehrtransformationsprozessor 100, ein Tonhöhensynthesefilter 110 und ein LPC-Synthesefilter 120 in der in Fig. 8 gezeigten Verbindung. Als eine allgemeine Proposition führt die Decodiererausführungsform die Umkehrung der Operationen durch, die durch den beispielhaften Codierer an den Hauptinformationen durchgeführt werden.
- Für jeden Rahmen trennt der DEMUX 65 alle Haupt- und Nebeninformationskomponenten von dem empfangenen Bitstrom. Die Hauptinformationen werden dem Entquantisierer 70 zugeführt. Der Ausdruck "Entquantisieren" bedeutet hier die Erzeugung eines quantisierten Ausgangssignals auf der Grundlage eines codierten Werts, wie zum Beispiel eines Index. Um diese Hauptinformationen zu entquantisieren, muß eine adaptive Bitzuteilung durchgeführt werden, um zu bestimmen, wieviele der Hauptinformationsbit jedem quantisierten Transformationskoeffizienten von Hauptinformationen zugeordnet sind.
- Der erste Schritt bei der adaptiven Bitzuteilung ist die Erzeugung quantisierter LPC-Koeffizienten (wovon die Zuteilung abhängt). Wie bereits oben erwähnt, werden sieben LSP-Codebuchindizes il(1) - il(7) über den Kanal zum Decodierer übermittelt, um quantisierte LSP- Koeffizienten darzustellen. Quantisierte LSP- Koeffizienten werden durch den Decodierer 80 unter Verwendung einer Kopie des (oben besprochenen) LSP- Codebuchs als Reaktion auf die empfangenen LSP-Indizes aus dem DEMUX 65 synthetisiert. Als letztes werden auf herkömmliche Weise LPC-Koeffizienten von den LSP- Koeffizienten abgeleitet.
- Wenn die LPC-Koeffizienten synthetisiert sind, bestimmt der Gehörmodell-Entquantisierersteuerprozessor 90 die Bitzuteilung (auf der Grundlage der quantisierten LPC-Parameter) für jeden FFT- Koeffizienten auf dieselbe Weise, wie oben in bezug auf den Codierer besprochen wurde. Sobald die Bitzuteilungsinformationen abgeleitet wurden, kann der Entquantisierer 70 dann die Haupt-FFT-Koeffizienteninformationen korrekt decodieren und die quantisierten Versionen der verstärkungsnormierten FFT-Koeffizienten des Prädiktionsrests erhalten.
- Für Frequenzen, die überhaupt keine Bit erhalten, sind die decodierten FFT-Koeffizienten Null. Die Positionen solcher "spektralen Löcher" entwickeln sich mit der Zeit, und dies kann zu einer deutlichen künstlichen Verzerrung führen, die bei vielen Transformationscodierern relativ häufig auftritt. Um solche künstlichen Verzerrungen zu vermeiden, werden die spektralen Löcher durch den Entquantisierer 70 mit FFT-Koeffizienten mit niedrigem Pegel und zufälligen Phasen und Beträgen von 3 dB unter der quantisierten Verstärkung "aufgefüllt". Für 32- und 24-kb/s-Codierer wird die Bitzuteilung für das gesamte Frequenzband durchgeführt, so wie es oben bei der Besprechung des Codierers beschrieben wurde. Für den 16-kb/s-Codierer wird die Bitzuteilung auf das Band von 0 bis 4 kHz beschränkt. Das Band von 4 bis 8 kHz wird folgendermaßen synthetisiert. Als erstes wird das Verhältnis zwischen dem LPC-Leistungsspektrum und der Maskierungsschwelle bzw. das Signal/Maskierungs-Schwellenverhältnis (SMR) für die Frequenzen von 4 bis 7 kHz berechnet. Der 17. bis 29. FFT-Koeffizient (4 bis 7 kHz) wird mit Zufallsphasen und durch das SMR gesteuerten Betragswerten synthetisiert. Für Frequenzen mit SMR > 5 dB wird der Betrag der Rest-FFT- Koeffizienten auf 4 dB über der quantisierten Hochfrequenzverstärkung gesetzt (der Effektivwert von FFT- Koeffizienten im Band von 4 bis 7 kHz). Für Frequenzen mit SMR ≤ 5 dB liegt der Betrag 3 dB unter der quantisierten Hochfrequenzverstärkung. Vom 30. bis 33. FFT-Koeffizienten fällt der Betrag rampenartig von 3 dB auf 30 dB unter der quantisierten Hochfrequenzverstärkung ab, und die Phase ist wiederum zufällig. Fig. 10 zeigt die Verarbeitung, die den Betrag und die Phase der FFT-Koeffizienten synthetisiert.
- Sobald alle FFT-Koeffizienten decodiert, aufgefüllt oder synthetisiert wurden, sind sie bereit zur Skalierung. Die Skalierung wird durch den Umkehrungstransformationsprozessor 100 erzielt, der (aus dem DEMUX 65) einen 5-Bit-Index für die Hochfrequenzverstärkung und einen 4-Bit-Index für die Niederfrequenzverstärkung empfängt, die jeweils dem letzten Teilrahmen des aktuellen Rahmens entsprechen, sowie Indizes für die Interpolationsfehler der logarithmischen Verstärkung für die Nieder- und Hochfrequenzbänder der ersten vier Teilrahmen. Diese Verstärkungsindizes werden decodiert, und die Ergebnisse werden verwendet, um den Skalierungsfaktor für jeden FFT-Koeffizienten zu erhalten, wie oben in dem Abschnitt über die Verstärkungsberechnung und Quantisierung beschrieben wurde. Die FFT-Koeffizienten werden dann durch ihre einzelnen Verstärkungen skaliert.
- Die resultierenden verstärkungsskalierten quantisierten FFT-Koeffizienten werden dann durch den Umkehrungstransformationsprozessor 100 mit einer inversen FFT wieder in den Zeitbereich zurücktransformiert. Diese Umkehrtransformation ergibt den quantisierten Prädiktionsrest im Zeitbereich.
- Der quantisierte Prädiktionsrest im Zeitbereich wird dann durch das Tonhöhensynthesefilter 110 geleitet. Das Filter 110 fügt dem Rest auf der Grundlage einer quantisierten Tonhöhenperiode eine Tonhöhenperiodizität zu, so daß sich , der quantisierte LPC- Prädiktionsrest, ergibt. Die quantisierte Tonhöhenperiode wird aus einem 8-Bit-Index ip decodiert, der aus dem DEMUX 65 gewonnen wird. Die Tonhöhenprädiktorabgriffe werden aus dem 6-Bit-Index it, der ebenfalls aus dem DEMUX 65 gewonnen wird, decodiert.
- Als letztes wird die quantisierte Ausgangssprache dann durch das LPC-Synthesefilter 120 unter Verwendung der quantisierten LPC-Koeffizienten erzeugt, die aus dem LPC-Parameterdecodierer 80 gewonnen werden.
- Obwohl mehrere spezifische Ausführungsformen der vorliegenden Erfindung gezeigt und beschrieben wurden, versteht sich, daß diese Ausführungsformen die vielen möglichen spezifischen Anordnungen, die als Anwendung der Prinzipien der Erfindung konzipiert werden können, lediglich veranschaulichen. Im Hinblick auf die obige Offenlegung können Durchschnittsfachleute zahlreiche und verschiedene andere Anordnungen gemäß diesen Prinzipien konzipieren, ohne vom Schutzumfang der Erfindung abzuweichen.
- Zum Beispiel erhält man eine gute Sprach- und Musikqualität durch Codierung nur der FFT-Phaseninformationen in dem Band von 4 bis 7 kHz für Frequenzen, für die SMR > 5dB ist. Der Betrag wird dann genauso wie bei dem am Ende der Besprechung der Bitzuteilung beschriebenen Hochfrequenzsyntheseverfahren bestimmt.
- Die meisten CELP-Codierer aktualisieren die Tonhöhenprädiktorparameter einmal alle 4 bis 6 ms, um eine effizientere Tonhöhenprädiktion zu erzielen. Dies ist wesentlich häufiger als die 20-ms-Aktualisierungen des Ausführungsbeispiels des TPC-Codierers. Dementsprechend sind auch andere Aktualisierungsraten möglich, zum Beispiel alle 10 ms.
- Es können andere Verfahren zur Abschätzung der Rausch- Lautheit verwendet werden. Außerdem kann anstelle der Minimierung der maximalen Rausch-Lautheit die Summe der Rausch-Lautheit für alle Frequenzen minimiert werden. Das Verstärkungsquantisierungsverfahren, das zuvor im Codiererabschnitt beschrieben wurde, besitzt eine relativ gute Codierungseffizienz und funktioniert gut für Sprachsignale. Ein alternatives Verstärkungsquantisierungsverfahren wird nachfolgend beschrieben. Seine Codierungseffizienz ist möglicherweise nicht genauso gut, es ist aber wesentlich einfacher und kann gegenüber Nicht-Sprache-Signalen robuster sein.
- Das alternative Verfahren beginnt mit der Berechnung einer "Rahmenverstärkung", wobei es sich um den RMS- Wert des Tonhöhenprädiktionsrestsignals im Zeitbereich handelt, der über den gesamten Rahmen hinweg berechnet wird. Dieser Wert wird dann in dB-Werte umgewandelt und mit einem Skalarquantisierer auf 5 Bit quantisiert. Für jeden Teilrahmen werden drei Verstärkungswerte aus den Rest-FFT-Koeffizienten berechnet. Die Niederfrequenzverstärkung und die Hochfrequenzverstärkung werden genauso wie zuvor berechnet, d. h. der RMS-Wert der ersten fünf FFT-Koeffizienten und der RMS-Wert des 17. bis 29. FFT-Koeffizienten. Zusätzlich wird die Mittelfrequenzverstärkung als der RMS-Wert des 6. bis 16. FFT-Koeffizienten berechnet. Diese drei Verstärkungswerte werden in dB-Werte umgewandelt, und die Rahmenverstärkung in dB wird von ihnen subtrahiert. Das Ergebnis sind die normierten Teilrahmenverstärkungen für die drei Frequenzbänder.
- Die normierte Niederfrequenz-Teilrahmenverstärkung wird durch einen 4-Bit-Skalarquantisierer quantisiert. Die normierte Mittelfrequenz- und Hochfrequenz- Teilrahmenverstärkungen werden zusammen durch einen 7-Bit-Vektorquantisierer quantisiert. Um die quantisierten Teilrahmenverstärkungen im linearen Bereich zu erhalten, wird die Rahmenverstärkung in dB wieder zu der quantisierten Version der normierten Teilrahmenverstärkungen addiert, und das Ergebnis wird wieder in den linearen Bereich umgewandelt.
- Im Gegensatz zu dem vorherigen Verfahren, bei dem eine lineare Interpolation durchgeführt wurde, um die Verstärkungen für das Frequenzband von 1 bis 4 kHz zu erhalten, benötigt dieses alternative Verfahren diese Interpolation nicht. Jeder Rest-FFT-Koeffizient gehört zu einem der drei Frequenzbänder, und dort wird eine eigene Teilrahmenverstärkung bestimmt. Jede der drei quantisierten Teilrahmenverstärkungen im linearen Bereich wird zur Normierung oder Skalierung aller Rest- FFT-Koeffizienten in dem Frequenzband verwendet, aus dem die Teilrahmenverstärkung abgeleitet wird.
- Man beachte, daß dieses alternative Verstärkungsquantisierungsverfahren mehr Bit erfordert, um alle Verstärkungen anzugeben. Bei einer gegebenen Bitrate sind deshalb weniger Bit zur Quantisierung der Rest- FFT-Koeffizienten verfügbar.
Claims (10)
1. Verfahren zur Codierung eines Signals, das
Sprachinformationen darstellt, mit den
folgenden Schritten:
Erzeugen einer Menge guantisierter
Synthesefilterkoeffizienten, die dem Signal, das
Sprachinformationen darstellt, zugeordnet sind;
Erzeugen eines ersten Signals, das eine
Abschätzung eines Rauschmaskierungsmaßes
darstellt, das dem Signal, das
Sprachinformationen darstellt, zugeordnet ist, wobei das
erste Signal auf der Grundlage der Menge
quantisierter Synthesefilterkoeffizienten
erzeugt wird;
Quanttsieren des Signals, das
Sprachinformationen darstellt, auf der Grundlage des
ersten Signals; und
Erzeugen eines codierten Signals auf der
Grundlage des quantisierten Signals.
2. Verfahren nach Anspruch 1, wobei das Signal,
das Sprachinformationen darstellt, ein
Linearprädiktionsrestsignal (d) umfaßt.
3. Verfahren nach Anspruch 1, wobei die Menge
quantisierter Synthesefilterkoeffizienten eine
Menge quantisierter Koeffizienten eines LPC-
Filters umfaßt.
4. Verfahren nach Anspruch 1, wobei das
Rauschmaskierungsmaß auf einem
Wahrnehmungsmodell des menschlichen Gehörs basiert.
5. Verfahren nach Anspruch 4, wobei das
Rauschmaskierungsmaß eine wahrnehmungsbezogene
Schwelle der gerade eben wahrnehmbaren
Verzerrung darstellt.
6. Vorrichtung zur Codierung eines Signals, das
Sprachinformationen darstellt, umfassend:
ein Mittel (20) zum Erzeugen einer Menge
quantisierter Synthesefilterkoeffizienten ( ),
die dem Signal, das Sprachinformationen
darstellt, zugeordnet sind;
ein Mittel (50) zum Erzeugen eines ersten
Signals, das eine Abschätzung eines
Rauschmaskierungsmaßes darstellt, das dem
Signal, das Sprachinformationen darstellt,
zugeordnet ist, wobei das erste Signal auf der
Grundlage der Menge quantisierter
Synthesefilterkoeffizienten erzeugt wird;
ein Mittel (60) zum Quantisieren des Signals,
das Sprachinformationen darstellt, auf der
Grundlage des ersten Signals; und
ein Mittel (70) zum Erzeugen eines codierten
Signals auf der Grundlage des quantisierten
Signals.
7. Vorrichtung nach Anspruch 6, wobei das Signal,
das Sprachinformationen darstellt, ein
Linearprädiktionsrestsignal (d) umfaßt.
8. Vorrichtung nach Anspruch 6, wobei die Menge
quantisierter Synthesefilterkoeffizienten eine
Menge quantisierter Koeffizienten eines LPC-
Filters umfaßt.
9. Vorrichtung nach Anspruch 6, wobei das
Rauschmaskierungsmaß auf einem
Wahrnehmungsmodell des menschlichen Gehörs basiert.
10. Vorrichtung nach Anspruch 9, wobei das
Rauschmaskierungsmaß eine wahrnehmungsbezogene
Schwelle der gerade eben wahrnehmbaren
Verzerrung darstellt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/530,981 US5790759A (en) | 1995-09-19 | 1995-09-19 | Perceptual noise masking measure based on synthesis filter frequency response |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69615302D1 DE69615302D1 (de) | 2001-10-25 |
DE69615302T2 true DE69615302T2 (de) | 2002-07-04 |
Family
ID=24115777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69615302T Expired - Lifetime DE69615302T2 (de) | 1995-09-19 | 1996-09-17 | Maskierung des wahrnehmbaren Rauschens auf der Basis der Frequenzantwort eines Synthesefilters |
Country Status (7)
Country | Link |
---|---|
US (1) | US5790759A (de) |
EP (1) | EP0764938B1 (de) |
JP (1) | JPH09152895A (de) |
CA (1) | CA2185746C (de) |
DE (1) | DE69615302T2 (de) |
ES (1) | ES2160772T3 (de) |
MX (1) | MX9604159A (de) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2729246A1 (fr) * | 1995-01-06 | 1996-07-12 | Matra Communication | Procede de codage de parole a analyse par synthese |
JP3266819B2 (ja) * | 1996-07-30 | 2002-03-18 | 株式会社エイ・ティ・アール人間情報通信研究所 | 周期信号変換方法、音変換方法および信号分析方法 |
DE19730130C2 (de) * | 1997-07-14 | 2002-02-28 | Fraunhofer Ges Forschung | Verfahren zum Codieren eines Audiosignals |
US6351730B2 (en) * | 1998-03-30 | 2002-02-26 | Lucent Technologies Inc. | Low-complexity, low-delay, scalable and embedded speech and audio coding with adaptive frame loss concealment |
US6115689A (en) * | 1998-05-27 | 2000-09-05 | Microsoft Corporation | Scalable audio coder and decoder |
US6253165B1 (en) * | 1998-06-30 | 2001-06-26 | Microsoft Corporation | System and method for modeling probability distribution functions of transform coefficients of encoded signal |
US6256607B1 (en) * | 1998-09-08 | 2001-07-03 | Sri International | Method and apparatus for automatic recognition using features encoded with product-space vector quantization |
US6073093A (en) * | 1998-10-14 | 2000-06-06 | Lockheed Martin Corp. | Combined residual and analysis-by-synthesis pitch-dependent gain estimation for linear predictive coders |
US7058572B1 (en) * | 2000-01-28 | 2006-06-06 | Nortel Networks Limited | Reducing acoustic noise in wireless and landline based telephony |
US6778953B1 (en) * | 2000-06-02 | 2004-08-17 | Agere Systems Inc. | Method and apparatus for representing masked thresholds in a perceptual audio coder |
US6754618B1 (en) * | 2000-06-07 | 2004-06-22 | Cirrus Logic, Inc. | Fast implementation of MPEG audio coding |
US7171355B1 (en) * | 2000-10-25 | 2007-01-30 | Broadcom Corporation | Method and apparatus for one-stage and two-stage noise feedback coding of speech and audio signals |
WO2002091363A1 (en) * | 2001-05-08 | 2002-11-14 | Koninklijke Philips Electronics N.V. | Audio coding |
US7110942B2 (en) * | 2001-08-14 | 2006-09-19 | Broadcom Corporation | Efficient excitation quantization in a noise feedback coding system using correlation techniques |
US7240001B2 (en) | 2001-12-14 | 2007-07-03 | Microsoft Corporation | Quality improvement techniques in an audio encoder |
US7206740B2 (en) * | 2002-01-04 | 2007-04-17 | Broadcom Corporation | Efficient excitation quantization in noise feedback coding with general noise shaping |
US7529661B2 (en) * | 2002-02-06 | 2009-05-05 | Broadcom Corporation | Pitch extraction methods and systems for speech coding using quadratically-interpolated and filtered peaks for multiple time lag extraction |
US7752037B2 (en) * | 2002-02-06 | 2010-07-06 | Broadcom Corporation | Pitch extraction methods and systems for speech coding using sub-multiple time lag extraction |
US7236927B2 (en) * | 2002-02-06 | 2007-06-26 | Broadcom Corporation | Pitch extraction methods and systems for speech coding using interpolation techniques |
US7398204B2 (en) * | 2002-08-27 | 2008-07-08 | Her Majesty In Right Of Canada As Represented By The Minister Of Industry | Bit rate reduction in audio encoders by exploiting inharmonicity effects and auditory temporal masking |
US7502743B2 (en) | 2002-09-04 | 2009-03-10 | Microsoft Corporation | Multi-channel audio encoding and decoding with multi-channel transform selection |
EP1513137A1 (de) * | 2003-08-22 | 2005-03-09 | MicronasNIT LCC, Novi Sad Institute of Information Technologies | Sprachverarbeitungssystem und -verfahren mit Multipuls-Anregung |
FR2859566B1 (fr) * | 2003-09-05 | 2010-11-05 | Eads Telecom | Procede de transmission d'un flux d'information par insertion a l'interieur d'un flux de donnees de parole, et codec parametrique pour sa mise en oeuvre |
US7460990B2 (en) | 2004-01-23 | 2008-12-02 | Microsoft Corporation | Efficient coding of digital media spectral data using wide-sense perceptual similarity |
US8473286B2 (en) * | 2004-02-26 | 2013-06-25 | Broadcom Corporation | Noise feedback coding system and method for providing generalized noise shaping within a simple filter structure |
KR100851970B1 (ko) * | 2005-07-15 | 2008-08-12 | 삼성전자주식회사 | 오디오 신호의 중요주파수 성분 추출방법 및 장치와 이를이용한 저비트율 오디오 신호 부호화/복호화 방법 및 장치 |
US8190425B2 (en) * | 2006-01-20 | 2012-05-29 | Microsoft Corporation | Complex cross-correlation parameters for multi-channel audio |
US7831434B2 (en) | 2006-01-20 | 2010-11-09 | Microsoft Corporation | Complex-transform channel coding with extended-band frequency coding |
WO2007098258A1 (en) * | 2006-02-24 | 2007-08-30 | Neural Audio Corporation | Audio codec conditioning system and method |
CN101460998A (zh) * | 2006-05-30 | 2009-06-17 | 皇家飞利浦电子股份有限公司 | 音频信号的线性预测编码 |
US9159333B2 (en) | 2006-06-21 | 2015-10-13 | Samsung Electronics Co., Ltd. | Method and apparatus for adaptively encoding and decoding high frequency band |
FR2912249A1 (fr) * | 2007-02-02 | 2008-08-08 | France Telecom | Codage/decodage perfectionnes de signaux audionumeriques. |
US7885819B2 (en) | 2007-06-29 | 2011-02-08 | Microsoft Corporation | Bitstream syntax for multi-process audio decoding |
ATE500588T1 (de) * | 2008-01-04 | 2011-03-15 | Dolby Sweden Ab | Audiokodierer und -dekodierer |
US9117458B2 (en) * | 2009-11-12 | 2015-08-25 | Lg Electronics Inc. | Apparatus for processing an audio signal and method thereof |
US9769586B2 (en) | 2013-05-29 | 2017-09-19 | Qualcomm Incorporated | Performing order reduction with respect to higher order ambisonic coefficients |
US9922656B2 (en) | 2014-01-30 | 2018-03-20 | Qualcomm Incorporated | Transitioning of ambient higher-order ambisonic coefficients |
US9489955B2 (en) | 2014-01-30 | 2016-11-08 | Qualcomm Incorporated | Indicating frame parameter reusability for coding vectors |
US9620137B2 (en) | 2014-05-16 | 2017-04-11 | Qualcomm Incorporated | Determining between scalar and vector quantization in higher order ambisonic coefficients |
US9852737B2 (en) | 2014-05-16 | 2017-12-26 | Qualcomm Incorporated | Coding vectors decomposed from higher-order ambisonics audio signals |
US9747910B2 (en) | 2014-09-26 | 2017-08-29 | Qualcomm Incorporated | Switching between predictive and non-predictive quantization techniques in a higher order ambisonics (HOA) framework |
EP3079151A1 (de) * | 2015-04-09 | 2016-10-12 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audiocodierer und verfahren zur codierung eines audiosignals |
KR20220005379A (ko) * | 2020-07-06 | 2022-01-13 | 한국전자통신연구원 | 천이구간 부호화 왜곡에 강인한 오디오 부호화/복호화 장치 및 방법 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3679821A (en) * | 1970-04-30 | 1972-07-25 | Bell Telephone Labor Inc | Transform coding of image difference signals |
JPS60116000A (ja) * | 1983-11-28 | 1985-06-22 | ケイディディ株式会社 | 音声符号化装置 |
US4969192A (en) * | 1987-04-06 | 1990-11-06 | Voicecraft, Inc. | Vector adaptive predictive coder for speech and audio |
NL8700985A (nl) * | 1987-04-27 | 1988-11-16 | Philips Nv | Systeem voor sub-band codering van een digitaal audiosignaal. |
US5012517A (en) * | 1989-04-18 | 1991-04-30 | Pacific Communication Science, Inc. | Adaptive transform coder having long term predictor |
US5206884A (en) * | 1990-10-25 | 1993-04-27 | Comsat | Transform domain quantization technique for adaptive predictive coding |
US5285498A (en) * | 1992-03-02 | 1994-02-08 | At&T Bell Laboratories | Method and apparatus for coding audio signals based on perceptual model |
-
1995
- 1995-09-19 US US08/530,981 patent/US5790759A/en not_active Expired - Lifetime
-
1996
- 1996-09-17 DE DE69615302T patent/DE69615302T2/de not_active Expired - Lifetime
- 1996-09-17 EP EP96306757A patent/EP0764938B1/de not_active Expired - Lifetime
- 1996-09-17 CA CA002185746A patent/CA2185746C/en not_active Expired - Fee Related
- 1996-09-17 ES ES96306757T patent/ES2160772T3/es not_active Expired - Lifetime
- 1996-09-18 MX MX9604159A patent/MX9604159A/es not_active IP Right Cessation
- 1996-09-19 JP JP8247610A patent/JPH09152895A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP0764938B1 (de) | 2001-09-19 |
CA2185746C (en) | 2001-06-05 |
JPH09152895A (ja) | 1997-06-10 |
CA2185746A1 (en) | 1997-03-20 |
EP0764938A2 (de) | 1997-03-26 |
US5790759A (en) | 1998-08-04 |
EP0764938A3 (de) | 1998-06-10 |
DE69615302D1 (de) | 2001-10-25 |
MX9604159A (es) | 1997-03-29 |
ES2160772T3 (es) | 2001-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69615302T2 (de) | Maskierung des wahrnehmbaren Rauschens auf der Basis der Frequenzantwort eines Synthesefilters | |
DE69621393T2 (de) | Quantisierung von Sprachsignalen in prädiktiven Kodiersystemen unter Verwendung von Modellen menschlichen Hörens | |
DE69620967T2 (de) | Synthese von Sprachsignalen in Abwesenheit kodierter Parameter | |
DE69529393T2 (de) | Verfahren zur gewichteten Geräuschfilterung | |
DE60029990T2 (de) | Glättung des verstärkungsfaktors in breitbandsprach- und audio-signal dekodierer | |
DE69816810T2 (de) | Systeme und verfahren zur audio-kodierung | |
DE69916321T2 (de) | Kodierung eines verbesserungsmerkmals zur leistungsverbesserung in der kodierung von kommunikationssignalen | |
DE69926821T2 (de) | Verfahren zur signalgesteuerten Schaltung zwischen verschiedenen Audiokodierungssystemen | |
DE69634645T2 (de) | Verfahren und Vorrichtung zur Sprachkodierung | |
DE10041512B4 (de) | Verfahren und Vorrichtung zur künstlichen Erweiterung der Bandbreite von Sprachsignalen | |
Carnero et al. | Perceptual speech coding and enhancement using frame-synchronized fast wavelet packet transform algorithms | |
DE60121405T2 (de) | Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen | |
DE69529356T2 (de) | Wellenforminterpolation mittels Zerlegung in Rauschen und periodische Signalanteile | |
DE60110679T3 (de) | Perzeptuelle Kodierung von Audiosignalen unter Verwendung von getrennter Reduzierung von Irrelevanz und Redundanz | |
DE60011051T2 (de) | Celp-transkodierung | |
DE60120734T2 (de) | Vorrichtung zur erweiterung der bandbreite eines audiosignals | |
DE69132885T2 (de) | CELP-Kodierung niedriger Verzögerung und 32 kbit/s für ein Breitband-Sprachsignal | |
DE69531642T2 (de) | Synthese eines Anregungssignals bei Ausfall von Datenrahmen oder Verlust von Datenpaketen | |
DE19811039B4 (de) | Verfahren und Vorrichtungen zum Codieren und Decodieren von Audiosignalen | |
DE69604526T2 (de) | Verfahren zur Anpassung des Rauschmaskierungspegels in einem Analyse-durch-Synthese-Sprachkodierer mit einem wahrnehmunggebundenen Kurzzeitfilter | |
DE68912692T2 (de) | Zur Sprachqualitätsmodifizierung geeignetes Übertragungssystem durch Klassifizierung der Sprachsignale. | |
DE60128479T2 (de) | Verfahren und vorrichtung zur bestimmung eines synthetischen höheren bandsignals in einem sprachkodierer | |
DE60012760T2 (de) | Multimodaler sprachkodierer | |
MXPA96004161A (en) | Quantification of speech signals using human auiditive models in predict encoding systems | |
KR20070017524A (ko) | 부호화 장치, 복호화 장치, 및 이들의 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |