DE3856211T2 - Verfahren zur adaptiven Filterung von Sprach- und Audiosignalen - Google Patents

Verfahren zur adaptiven Filterung von Sprach- und Audiosignalen

Info

Publication number
DE3856211T2
DE3856211T2 DE3856211T DE3856211T DE3856211T2 DE 3856211 T2 DE3856211 T2 DE 3856211T2 DE 3856211 T DE3856211 T DE 3856211T DE 3856211 T DE3856211 T DE 3856211T DE 3856211 T2 DE3856211 T2 DE 3856211T2
Authority
DE
Germany
Prior art keywords
speech
filtering
vector
parameters
pitch
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
DE3856211T
Other languages
English (en)
Other versions
DE3856211D1 (de
Inventor
Juin-Hwey Chen
Allen Gersho
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.)
VoiceCraft Inc
Original Assignee
VoiceCraft 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=21883771&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE3856211(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by VoiceCraft Inc filed Critical VoiceCraft Inc
Publication of DE3856211D1 publication Critical patent/DE3856211D1/de
Application granted granted Critical
Publication of DE3856211T2 publication Critical patent/DE3856211T2/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/083Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being an excitation gain
    • 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/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • 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/26Pre-filtering or post-filtering
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0011Long term prediction filters, i.e. pitch estimation
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms
    • 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
    • G10L2019/0001Codebooks
    • G10L2019/0013Codebook search algorithms
    • G10L2019/0014Selection criteria for distances

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (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)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • Diese Erfindung betrifft ein adaptives Filterverfahren zum Verbessern digital verarbeiteter Sprach- oder Tonsignale, die beispielsweise aus einem in Echtzeit arbeitenden Codierer zur Kompression digital codierter Sprach- oder Tonsignale zur Übertragung oder Speicherung oder insbesondere aus einen in Echtzeit arbeitenden vektor-adaptiven Prädiktionscodiersystem stammen.
  • In den letzten Jahren richtete sich der größte Teil der Forschung zur Sprachcodierung auf Bitraten von 16 kb/s bis herab zu 150 Bits/s. Was das obere Ende dieses Bereichs betrifft, so ist allgemein anerkannt, daß bei 16 kb/s eine glänzende Qualität erzielt werden kann durch hochentwickelte Wellenformcodierer ("Waveform Coders"), welche auf skalarer Quantisierung beruhen. N.S. Jayant und P. Noll, Digital Coding of Waveforms, Prentice-Hall Inc., Englewood Cliffs, N.J., 1984. An dem anderen Ende bieten Codierer (wie etwa Linear-Prädiktionscodierer ("Linear Predictive Coder")), die bei 2400 Bits/s oder weniger arbeiten, nur die Qualität von künstlich erzeugter Sprache. Für Bitraten zwischen diesen beiden Extremen, insbesondere zwischen 4,8 kb/s und 9,6 kb/s, kann keine Art von Codierer qualitativ hochwertige Sprache erzielen. Die Ursache ist teilweise die, daß skalare Quantisierung bei einer Bitrate von 1 Bit/Abtastung leicht zusammenbricht. Vektorielle Quantisierung (VQ) bietet aufgrund ihrer theoretischen Vollkommenheit und ihrer Möglichkeit, bei einem Bruchteil von einem Bit pro Abtastung zu arbeiten, die Möglichkeit, qualitativ hochwertige Sprache bei 9,6 kb/s oder sogar bei 4,8 kb/s zu erzielen. J. Makhoul, S. Roucos und H. Gish, "Vector Quantization in Speech Coding." Proc. IEEE, Bd. 73, Nr. 11, November 1985.
  • Vektorielle Quantisierung (VQ) kann eine Leistungsfähigkeit erreichen, die beliebig nahe an der äußersten Ratenstörungsgrenze ("Rate Distortion Bound") liegt, wenn die Vektordimension groß genug ist. T. Berger, Rate Distortlon Theory, Prentice-Hall Inc., Englewood Cliffs, N.J., 1971. Jedoch können in realen Systemen aufgrund von Komplexitätsbetrachtungen nur kleine Vektordimensionen verwendet werden, und unglücklicherweise erzielt direkte Wellenform- VQ unter Verwendung kleiner Dimensionen keine adäquate Leistungsfähigkeit. Ein möglicher Weg, die Leistungsfähigkeit zu erhöhen, ist es, VQ mit anderen Datenkompressionstechniken zu kombinieren, die für skalare Codierschemata erfolgreich verwendet wurden.
  • Bei Sprachcodierung unterhalb von 16 kb/s ist eines der am erfolgreichsten skalaren Codierschemata die adaptive Prädiktionscodierung (APC, "Adaptive Predictive Coding"), die von Atal und Schroeder entwickelt wurde [B.S. Atal und M.R. Schroeder, "Adaptive Predictive Coding of Speech Signals" Bell Syst. Tech. J., Bd. 49, S. 1973-1986, Oktober 1970; B.S. Atal und M.R. Schroeder, "Predictive Coding of Speech Signals and Subjective Error Criteria," IEEE Trans. Acoust., Speech, Signal Proc., Bd. ASSP-27, Nr. 3, Juni 1979; und B.S. Atal, "Predictive Coding of Speech at Low Bit Rates," IEEE Trans. Comm., Bd. COM-30, Nr. 4, April 1982]. Es ist die kombinierte Stärke von VQ und APC, die zur Entwicklung der vorliegenden Erfindung führte, nämlich einem vektor-adaptiven Prädiktionscodierer (VAPC "vector Adaptive Predictive Coder"). Eine derartige Kombination von VQ und APC wird qualitativ hochwertige Sprache bei Bitraten zwischen 4,8 und 9,6 kb/s bereitstellen, wodurch die Lücke zwischen skalaren Codierern und VQ-Codierern überbrückt wird.
  • Der Grundgedanke von APC ist es, zuerst die Redundanz in Sprach-Wellenformen unter Verwendung adaptiver linearer Prädiktoren zu entfernen und dann den Prädiktionsrest unter Verwendung eines skalaren Quantisierers zu quantisieren. Bei VAPC wird der skalare Quantisierer bei APC durch einen vektoriellen Quantisierer VQ ersetzt. Die Motivation zur Verwendung von VQ ist zweifach. Obwohl lineare Abhängigkeit zwischen benachbarten Sprachabtastungen durch die lineare Prädiktion im wesentlichen entfernt ist, können erstens benachbarte Abtastungen des Prädiktionsrests immer noch eine nichtlineare Abhängigkeit aufweisen, die durch VQ ausgewertet werden kann. Zweitens kann VQ bei Raten unter 1 Bit pro Abtastung arbeiten. Dies ist durch skalare Quantisierung nicht erreichbar, für Sprachcodierung bei niedrigen Bitraten jedoch wesentlich.
  • Der vektor-adaptive Prädiktionscodierer (VAPC) entwickelte sich aus APC und dem von V. Cupernan und A. Gersho eingeführten vektoriellen Prädiktionscodierer, "Vector Predictive Coding of Speech at 16 kb/s," IEEE Trans. Comm., Bd. COM-33, S. 685-696, Juli 1985. VAPC enthält einige Merkmale, die in gewisser Hinsicht dem codeerregten linearen Prädiktionscodierer (CELP) von M.R. Schroeder, B.S. Atal, "Code-Excited Linear Prediction (CELP): High-Quality Speech at Very Low Bit Rates," Proc. Int'l. Conf. Acoustics, Speech, Signal Proc., Tampa, März 1985, ähnlich sind, weist jedoch eine wesentlich geringere Berechnungskomplexität auf.
  • In Computersimulationen ergibt VAPC sehr gute Sprachqualität bei 9,6 kb/s, wobei sie 18 dB Signal-Rausch-Abstand (SNR) und 16 dB Segment-SNR erreicht. Bei 4,8 kb/s erzielt VAPC ebenfalls eine verhältnismäßig gute Sprachqualität und SNR und Segment-SNR liegen bei etwa 13 dB bzw. 11,5 dB. Die zur Erzielung dieser Ergebnisse notwendigen Berechnungen liegen nur in der Größenordnung von 2 bis 4 Millionen Flops pro Sekunde (ein Flop, eine Fließkommaoperation, ist definiert als eine Multiplikation, eine Addition plus der zuge;1örigen Indizierung) und liegt damit gut innerhalb der Möglichkeiten heutiger hochentwickelter Signalprozessorchips. VAPC kann eine Alternative von geringer Komplexität zu CELP werden, welche bekanntermaßen eine ausgezeichnete Sprachqualität bei einer erwarteten Bitrate um 4,8 kb/s erzielt hat, jedoch aufgrund ihrer astronomischen Komplexität gegenwärtig nicht in Echtzeit implementiert werden kanno Zur Implementierung des Codierers benötigt sie über 400 Millionen Flops pro Sekunde. Als CPU-Zeit eines Supercomputers CRAY-l ausgedrückt, benötigt CELP 125 Sekunden CPU-Zeit, um eine Sekunde Sprache zu codieren. Es besteht gegenwärtig ein großer Bedarf an einem in Echtzeit arbeitenden qualitativ hochwertigen Sprachcodierer, der bei Codierraten im Bereich von 4,8 bis 9,6 kb/s arbeiteto In diesem Bereich von Codierraten sind die beiden vorangehend erwähnten Codierer (APC und CELP) entweder unfähig, hohe Qualität zu erreichen oder zu komplex zu implementieren. Hingegen kombiniert das System von EP-A-0294020, aus der die vorliegende Anmeldung durch Teilung entstanden ist, vektorielle Quantisierung (VQ) mit den Vorteilen von sowohl APC als auch CELP, und ist in der Lage, qualitativ hochwertige Sprache mit für in Echtzeit arbeitender Codierung ausreichend niedriger Komplexität zu erzielen.
  • Die rauschmaskierende Wirkung der menschlichen Gehörwahrnehmung wird bei vielen Sprachcodierern durch die Verwendung von Rauschspektrumsformung ausgenutzto Jedoch kann bei der Rauschspektrumsformung die Verringerung von Rauschkomponenten bei bestimmten Frequenzen nur auf Kosten von erhöhten Rauschkomponenten bei anderen Frequenzen erzielt werden. Deshalb ist es bei Bitraten, bei denen der mittlere Rauschpegel relativ hoch ist, sehr schwierig, wenn nicht unmöglich, das Rauschen bei allen Frequenzen unter die Maskierungsschwelle zu drücken. Da Sprach-Formanten für die Wahrnehmung wesentlich wichtiger sind als spektrale Täler, ist es das Ziel, die Formant-Information zu erhalten, indem das Rauschen in den Formant-Bereichen während des Codierens so niedrig wie möglich gehalten wird. Natürlich können in diesem Fall die Rauschkomponenten in spektralen Tälern die Schwelle überschreiten; diese Rauschkomponenten können jedoch später durch einen Nachfilter gedämpft werden. Durch das Ausführen einer derartigen Nachfilterung werden auch die Sprachkomponenten in spektralen Tälern gedämpft. Jedoch kann die Grenze ("Limen") oder der gerade wahrnehmbare Unterschied für die Intensität spektraler Täler sehr groß sein. Deshalb führt das Nachfilter durch Dämpfen der Komponenten in den spektralen Tälern nur minimale Störung in das Sprachsignal ein, erzielt jedoch eine wesentliche Rauschminderung.
  • Adaptives Nachfiltern wurde erfolgreich dazu verwendet, ADCM-codierte Sprache zu verbessern. Ein derartiges Nachfilter mindert den gesamten Rauschspegel; jedoch kann ausreichende Störungsminderung nur dadurch erzielt werden, daß die gefilterte Sprache nachhaltig dumpfer wird. Dies liegt daran, daß der Frequenzgang dieses Nachfilters im allgemeinen für stimmhafte Sprache eine Tiefpaß-Spektralneigung aufweist.
  • Bei einer Konferenz in Tokyo, welche von der IEEE Acoustics, Speech and Signal Processing Society, dem Institute of Electronics and Communications Engineers of Japan und der Acoustical Society of Japan unterstützt wurde, wurde ein ratenvariables APC-Codiersystem mit Quantisierung nach maximaler Mutmaßlichkeit bzw. Maximum-Likelihood-Quantisierung (MLQ) vorgestellt [Y. Yatsusuka et al., "A Variable Rate Coding by APC with Maximum Likelihood Quantization From 4.8 Kbit/s to 16 Kbit/s," Proc. ICASSP '86, Bd. 4, S. 3071-74, 6. April 1986], welches adaptive Rauschformungsfilter in sowohl dem Codierer als auch dem Decodierer aufweist. Ein Filter mit nur Polen ("all-pole-filter") wird eingefügt um einen adaptiven Quantisierer in dem Codierer und ein weiterer in dem Decodierer nach dem Decodieren, wobei beide Filter aus Lang- und Kurzzeitprädiktoren bestehen.
  • Es ist eine Aufgabe dieser Erfindung, adaptives Nachfiltern eines Sprach- oder Tonsignals bereitszustellen, welches durch aus einem Codiersystem oder anderen Degradationsquellen stammendes Rauschen verstümmelt wurde, um die wahrgenommene Qualität des Sprach- oder Tonsignals zu verbessern.
  • Gemäß der Erfindung ist ein adaptives Filterverfahren zum Verbessern digital verarbeiteter Sprach- oder Tonsignale bei einem Empfänger vorgesehen, indem die digital verarbeiteten Signale mittels Kurz-Laufzeit-Filterung gefiltert werden, wobei die Kurz-Laufzeit-Filterung durch vorbestimmte Linearprädiktionskoeffizientenparameter (LPC) gesteuert wird; dadurch gekennzeichnet, daß die Kurz- Laufzeit-Filterung eine Übertragungsfunktion mit Polen und Nullstellen ("pole-zero transfer function") verwendet, die aus dem Verhältnis von zwei Übertragungsfunktionen mit nur Polen ("all-pole transfer functions") besteht, wobei die Nullstellen der Übertragungsfunktion mit Polen und Nullstellen kleinere Radien aufweisen als entsprechende Pole.
  • Die bevorzugte Ausführungsform stellt Nachfilterung zur Verwendung mit einem System bereit, welches jeden Vektor von K Sprachabtastungen unter Verwendung eines jeden von M festen Vektoren approximiert, welche in einem VQ-Codelexikon gespeichert sind, um ein zeitvariables Synthesefilter zu erregen und den am besten synthetisierten Vektor aufzugreifen, der ein hinsichtlich der Wahrnehmung sinnvolles Störungsmaß minimiert. Die ursprünglich abgetastete Sprache wird zunächst gepuffert und in Vektoren und Rahmen von Vektoren zergliedert, wobei jeder Rahmen in N Vektoren zergliedert wird und wobei jeder Vektor K Sprachabtastungen aufweist. Dann wird prädiktive Analyse von Tonhöhenfilterungsparametern (P), Linear-Prädiktionskoeffizientenfilterungsparametern (LPC), Wahrnehmungsgewichtungsfilterungsparametern (W) und einem Restgewinn-Skalierungsfaktor (G) für jeden von aufeinanderfolgenden Rahmen aus Sprache ausgeführt. Die bei der Analyse bestimmten Parameter werden quantisiert und für jeden Rahmen zurückgesetzt, um jeden Eingabevektor sn in dem Rahmen zu bearbeiten, und zwar mit Ausnahme der Wahrnehmungsgewichtungsparameter. Ein auf die Parameter W ansprechendes Wahrnehmungsgewichtungsfilter wird verwendet, um den VQ-Vektor auswählen zu helfen, der wahrnehmbare Abweichung zwischen der codierten Sprache und der ursprünglichen Sprache minimiert. Obwohl sie nicht quantisiert sind, werden die Wahrnehmungsgewichtungsfilterungsparameter ebenfalls bei jedem Rahmen zurückgesetzt.
  • Nachdem jeder Rahmen gepuffert wurde und die obige Analyse zu Beginn jedes Rahmens abgeschlossen ist, werden M Nullzustandsantwortvektoren berechnet und in einem Nullzustandsantwortcodelexikon gespeichert. Diese M Nullzustandsantwortvektoren werden erhalten, indem der Speicher eines LPC-Synthesefilters und eines Wahrnehmungsgewichtungsfilters, welche nach einer durch den Faktor G gesteuerten Skalierungseinheit hintereinander geschaltet sind, auf null gesetzt wird und die jeweiligen Filter mit den quantisierten LPC-Filterparametern und den nicht quantisierten Wahrnehmungsgewichtungsfilterungsparametern gesteuert werden und indem die hintereinander geschalteten Filter unter Verwendung eines vorbestimmten und festen Codelexikon-Vektors zu einem Zeitpunkt erregt werden. Der Ausgabevektor der hintereinandergeschalteten Filter für jeden VQ-Codelexikonvektor wird dann an der entsprechenden Adresse gespeichert, d.h. es wird ihm der gleiche Index eines temporären Nullzustandsantwortcodelexikons zugewiesen wie dem des VQ-Codelexikonss Beim Codieren jedes Eingabesprachvektors sn innerhalb eines Rahmens wird eine Tonhöhenprädiktion n des Vektors bestimmt, indem der zuletzt als ein Index-Code codierte Vektor durch eine Skalierungseinheit, ein LPC-Synthesefilter und ein Tonhöhenprädiktionsfilter, welche für den Rahmen durch die Parameter QG, QLPC, QP und QPP gesteuert werden, verarbeitet wird. Zudem wird die Nulleingabeantwort der hintereinander geschalteten Filter (der Nachhall durch die Anregung eines früheren Vektors) zuerst in ein Filter gesetzt. Sobald der Tonhöhenprädiktionsvektor n von dem Eingabesignalvektor sn subtrahiert ist und ein Differenzvektor dn den Wahmehmungsgewichtungsfilter durchlaufen hat, um einen gefilterten Differenzvektor fn zu erzeugen, wird der Nulleingabeantwortvektor in dem vorgenannten Filter von dem wahrnehmungsgewichtungsgefilterten Differenzvektor fn subtrahiert und der entstehende Vektor vn wird mit jedem der M gespeicherten Nullzustandsantwortvektoren zur Suche nach demjenigen, der die kleinste Differenz Δ oder Abweichung aufweist, verglichen.
  • Der Index (die Adresse) des Nullzustandsantwortvektors, der die kleinste Störung aufweist, d.h. am nächsten an vn liegt, identifiziert den besten Vektor in dem permanenten Codelexikon. Sein Index (seine Adresse) wird als der komprimierte Code für den Vektor übertragen und von einem Empfänger verwendet, welcher ein zu dem des Senders identisches VQ-Codelexikon aufweist, um den Vektor mit der besten Übereinstimmung zu finden. Beim Sender wird jener Vektor mit der besten Übereinstimmung zum Zeitpunkt der Übertragung seines Index verwendet, um das LPC-Synthesefilter und das Tonhöhenprädiktionsfilter zu erregen, um eine Abschätzung n des nächsten Sprachvektors zu erzeugen. Der Vektor mit der besten übereinstimmung wird auch dazu verwendet, das Nulleingabeantwortfilter zu erregen, um es für den nächsten Sprachvektor Sn, wie vorangehend beschrieben, zu setzen. Die Indizes des Vektors mit der für einen Rahmen von Vektoren besten Übereinstimmung werden in einem Multiplexer mit der Rahmenanalyseinformation kombiniert, welche im folgenden als "Nebeninformation" bezeichnet wird und die Indizes von Parametern umfaßt, welche die Tonhöhen-, Tonhöhenprädiktions- und LPC-Prädiktionsfilterung und den bei dem Codiervorgang verwendeten Gewinn steuern, damit sie von dem Empfänger beim Decodieren der Vektorindizes eines Rahmens in Vektoren unter Verwendung eines zu dem permanenten Codelexikon beim Sender identischen Codelexikons verwendet werden können. Diese Nebeninformation wird durch den Multiplexer bevorzugterweise zuerst übertragen, und zwar einmal für jeden Rahmen von VQ Indizes, welche nachfolgen; es wäre jedoch möglich, zuerst einen Rahmen von Vektorindizes zu übertragen und dann die Nebeninformation zu übertragen, da die Rahmen von Vektorindizes in beiden Fällen eine gewisse Pufferung benötigen; der Unterschied liegt nur in einer anfänglichen Verzögerung zu Beginn von aufeinanderfolgend übertragenen Sprach- oder Tonrahmen. Der entstehende Strom von multiplexierten Indizes wird über einen Kommunikationskanal an einen Decoder übertragen oder zur späteren Decodierung gespeichert.
  • In dem Decoder wird der Bitstrom zuerst demultiplexiert, um die Nebeninformation von den Indizes, die nachfolgen, zu trennen. Jeder Index wird beim Empfänger dazu verwendet, den entsprechenden Vektor aus dem doppelten Codelexikon zu extrahieren. Der extrahierte Vektor wird zuerst mit dem Gewinnparameter unter Verwendung einer Tabelle zur Umwandlung des Gewinnindex in den geeigneten Skalierungsfaktor skaliert und dann dazu verwendet, hintereinander geschaltete LPC-Synthese- und Tonhöhensynthesefilter zu erregen, welche durch die gleiche Nebeninformation gesteuert werden, wie sie bei der Auswahl des am besten passenden Index unter Verwendung des Nullzustandsantwortcodelexikons bei dem Sender verwendet wurde. Die Ausgabe des Tonhöhensynthesefilters ist die codierte Sprache, die hinsichtlich der Wahrnehmung der ursprünglichen Sprache nahekommt. Mit Ausnahme der Gewinninformation wird sämtliche Nebeninformation in einem adaptiven Nachfilter verwendet, um die Qualität der synthetisierten Sprache zu verbessern. Diese Nachfilterungstechnik kann verwendet werden, um jedes Sprach- oder Tonsignal zu verbessern. Alles was hierzu nötig ist, ist ein Analyseabschnitt, um die Parameter zu erzeugen, die dazu verwendet werden, das Nachfilter adaptiv zu gestalten.
  • Obwohl nachfolgend nur auf Sprache Bezug genommen wird, ist die beschriebene und beanspruchte Erfindung auf Tonwellenformen oder auf teilbandgefilterte Sprach- oder Tonwellenformen anwendbar.
  • Die vorliegende Anmeldung ist eine Teilanmeldung aus der am 6. April 1988 eingereichten europäischen Patentanmeldung 88303038.9.
  • Ein Beispiel der Erfindung wird nun unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben.
  • Figur 1a ist ein Blockdiagramm eines Prozessors zur vektoradaptiven Prädiktionscodierung (VAPC), und Figur 1b ist ein Blockdiagramm eines Empfängers für die durch das System der Figur 1a übertragene codierte Sprache.
  • Figur 2 ist ein schematisches Diagramm, welches die adaptive Berechnung von Vektoren für ein Nullzustandsantwortcodelexikon in dem System der Figur 1a erläutert.
  • Figur 3 ist ein Blockdiagramm eines Analyseprozessors in dem System der Figur 1a.
  • Figur 4 ist ein Blockdiagramm eines adaptiven Nachfilters gemäß der vorliegenden Erfindung, welches in dem Empfänger der Figur 1b verwendet werden kann.
  • Figur 5 erläutert das LPC-Spektrum und den entsprechenden Frequenzgang eines Nachfilters 1/[ -P(Z/ α)] mit nur Polen für verschiedene Werte von α. Der Versatz zwischen benachbarten Kurven beträgt 20 dB.
  • Figur 6 erläutert die dem in Figur 5 gezeigten LPC-Spektrum entsprechenden Frequenzgänge des Nachfilters [1-uz&supmin;¹] [1- (z/β)]/[1- (z/ α)]. In beiden Darstellungen ist α = 0,8 und β = 0,5. Der Versatz zwischen den beiden Kurven beträgt 20 dB.
  • Es wird auf Figur 1a Bezug genommen. Ursprüngliche Sprachabtastungen sn in digitaler Form von einem abtastenden Analog-Digital-Wandler 10 werden von einem Analyseprozessor 11 empfangen, welcher sie in Vektoren sn von K Abtastungen pro Vektor und in Rahmen von N Vektoren pro Rahmen zergliedert. Der Analyseprozessor speichert die Abtastungen in einem Doppelpufferspeicher, welcher die Kapazität zum Speichern von mehr als einem Rahmen von Vektoren aufweist, beispielsweise von zwei Rahmen mit 8 Vektoren pro Rahmen, wobei jeder Vektor aus 20 Abtastungen besteht, so daß der Analyseprozessor Parameter berechnen kann, welche zur Codierung des nachfolgenden Rahmens verwendet werden. Da jeder Rahmen aus einem Puffer berechnet wird, wird ein neu hereinkommender Rahmen in dem anderen Puffer gespeichert, so daß, wenn die Verarbeitung eines Rahmens vollendet ist, ein neuer Rahmen gepuffert und bereit zur Verarbeitung ist.
  • Der Analyseprozessor bestimmt die Parameter für bei der vektor-adaptiven Prädiktionscodierungstechnik verwendete Filter.
  • Diese Parameter werden über einen Multiplexer 12 als Nebeninformation unmittelbar vor dem Rahmen von Vektorcodes übertragen, welche unter Verwendung eines vektoriell quantisierten (VQ) Permanent-Codelexikons 13 und eines Nullzustandsantwort-(ZSR)-Codelexikons 14 erzeugt werden. Die Nebeninformation konditioniert den Empfänger, um decodierte Vektoren des Rahmens geeignet zu filtern. Der Analyseprozessor 11 berechnet auch weitere bei dem Codiervorgang verwendete Parametero Letztere sind in der Figur 1a durch gestrichelte Linien dargestellt und bestehen aus Sätzen von Parametern, welche bezeichnet sind mit W für ein Wahrnehmungsgewichtungsfilter 18, eine quantisierte LPC- Prädiktion QLPC für ein LPC-Synthesefilter 15 und eine quantisierte Tonhöhe QP und eine Tonhöhenprädiktion QPP für ein Tonhöhensynthesefilter 16. Von dem Analyseprozessor auch berechnet wird ein Skalierungsfaktor G zur Steuerung einer Skalierungseinheit 17. Die vier als Nebeninformation übertragenen quantisierten Parameter werden unter Verwendung einer Quantisierungstabelle als der quantisierte Tonhöhenindex, Tonhöhenprädiktionsindex, LPC-Prädiktionsindex und Verstärkungsindex codiert. Die Art, in der der Analyseprozessor all diese Parameter berechnet, wird unter Bezugnahme auf Figur 3 beschrieben.
  • Der Multiplexer 12 überträgt die Nebeninformation bevorzugterweise sobald sie verfügbar ist, obwohl sie dem Rahmen von codierten Eingabevektoren folgen könnte, und während dies passiert, werden M Nullzustandsantwortvektoren für das Nullzustandsantwort-(ZSR)-Codelexikon 14 auf eine in Figur 2 erläuterte Weise berechnet, welche darin besteht, jeden Vektor in dem VQ-Codelexikon 13, beispielsweise 128 Vektoren, zu verarbeiten, und zwar mittels einer Gewinnskalierungseinheit 17', eines LPC-Synthesefilters 15' und eines Wahrnehmungsgewichtungsfilters 18', und zwar in Übereinstimmung mit der Gewinnskalierungseinheit 17, dem LPC-Synthesefilter 15 und dem Wahrnehmungsgewichtungsfilter 18 in dem Sender (Figur 1a) Gekoppelte Auswahlschalter S&sub1; und S&sub2; sind dargestellt, um anzudeuten, daß jeder verarbeitete feste VQ-Vektor an Speicherorten des gleichen Index (Adresse) in dem ZSR-Codelexikon gespeichert ist.
  • Zu Beginn jeder Vektorverarbeitung werden die Anfangszustände der hintereinander geschalteten Filter 15' und 18' auf null gesetzt. Dies simuliert, was die hintereinandergeschalteten Filter 15' und 18' tun werden, wenn kein vorangehender Vektor aus seinem entsprechenden VQ-Codelexikon vorhanden ist. Wenn die Ausgabe eines Nullzustandsantwortfilters 19 in dem Sender (Figur 1a) gehalten oder gespeichert ist, und zwar bei jedem Schritt der Berechnung des VQ-Codeindex (zur Übertragung für jeden Vektor eines Rahmens), ist es somit möglich, die Codierung der Sprachvektoren durch Subtrahieren der Nullzustandsantwortausgabe von dem Vektor fn zu vereinfachen. Unter Annahme von M = 128 gibt es, mit anderen Worten, 128 verschiedene Vektoren, die in dem VQ-Codelexikon zur Verwendung bei der Codierung der ursprünglichen Sprachvektoren sn gespeichert sind. Dann wird nacheinander jeder einzelne der 128 VQ-Vektoren ausgelesen, durch die Skalierungseinheit 17', das LPC- Synthesefilter 15' und das Wahrnehmungsgewichtungsfilter 18' geführt, und zwar ohne irgendeine Vorgeschichte aus früheren Vektoreingaben, indem diese Filter bei jedem Schritt zurückgesetzt werden. Der entstehende Filterausgabevektor wird dann an einem entsprechenden Ort in dem Nullzustandsantwortcodelexikon gespeichert. Während der Codierung von Eingabesignalvektoren sn durch Herausfinden der besten Übereinstimmung zwischen einem Vektor vn und all den Nullzustandsantwortvektorcodes ist es später nötig, von einem aus dem Wahrnehmungsgewichtungsfilter abgeleiteten Vektor fn einen Wert zu subtrahieren, der der Wirkung des vorangehend ausgewählten VQ-Vektors entspricht. Dies wird durch das Nulleingabeantwortfilter 19 getan. Der Index (die Adresse) der besten Übereinstimmung wird als der für den Vektor sn übertragene komprimierte Vektorcode verwendet. Unter den 128 Nullzustandsantwortvektoren wird es nur einen geben, der die beste Übereinstimmung, d.h. die geringste Störung, bietet. Es sei angenommen, er ist, wie durch einen mit "Berechne Norm" bezeichneten Computer 20 bestimmt wurde, am Ort 38 des Nullzustandsantwort-Codelexikons. Ein Adressenregister 20a wird den Index 38 speichern. Es ist dieser Index, der dann als ein VQ-Index an den in Figur 1b gezeigten Empfänger übertragen wird.
  • In dem Empfänger trennt ein Demultiplexer 21 die Nebeninformation, welche den Empfänger mit den gleichen, den Filtern und der Skalierungseinheit des Senders entsprechenden Parametern konditioniert. Der Empfänger verwendet einen Decoder 22, um die Parameterindizes in Parameterwerte zu übersetzen. Der VQ-Index für jeden aufeinanderfolgenden Vektor in dem Rahmen adressiert ein VQ-Codelexikon 23, welches mit dem festen VQ-Codelexikon 13 des Senders identisch ist. Das LPC-Synthesefilter 24, das Tonhöhensynthesefilter 25 und die Skalierungseinheit 26 werden mit den gleichen Parametern konditioniert, welche bei der Berechnung der Nullzustandscodelexikonwerte verwendet wurden und welche wiederum bei dem Verfahren zur Auswahl des codierenden Index für jeden Eingabevektor verwendet wurden. Bei jedem Schritt des Auffindens und Übertragens eines codierenden Index berechnet das Nulleingabeantwortfilter 19 aus dem VQ-Vektor an dem Ort des übertragenen Index einen Wert, der von dem Eingabevektor fn zu subtrahieren ist, um eine bei der Suche nach der besten Übereinstimmung zu verwendende Nulleingabeantwort darzustellen.
  • Es gibt verschiedene Prozeduren, die zur Bestimmung der besten Übereinstimmung für einen Eingabevektor sn verwendet werden können. Die einfachste ist es, die entstehende Abweichung zwischen jedem ausgegebenen Nullzustandsantwortvektorcode und dem Vektor vn mit dessen Index zu speichern. Sei angenommen, daß 128 Vektorcodes in dem Codelexikon 14 gespeichert sind, so wären dann 128 resultierende Abweichungen in einem Computer 20 für die beste Adresse gespeichert. Dann, nachdem alle gespeichert wurden, wird in dem Computer 20 eine Suche nach dem niedrigsten Abweichungswert durchgeführt. Dessen Index wird dann an den Empfänger als ein codierter Vektor über den Multiplexer 12 und an das VQ-Codelexikon zum Lesen des bei der Verarbeitung des nächsten Eingabevektors sn zu verwendenden entsprechenden VQ-Vektors übertragen.
  • Es sollte zusammenfassend beachtet werden, daß das VQ- Codelexikon in zwei verschiedenen Schritten verwendet wird (in welchen auf dieses zugegriffen wird) Zuerst zur Berechnung von Vektorcodes für das Nullzustandsantwort- Codelexikon zu Beginn jedes Rahmens unter Verwendung der für den Rahmen bestimmten LPC-Synthese- und Wahrnehmungsgewichtungsfilterungsparameter und zweitens, um die Filter 15 und 16 über die Skalierungseinheit 17 während der Suche nach dem Index des Vektors mit der besten Übereinstimmung zu erregen, während der die somit erzeugte Abschätzung n von dem Eingabevektor sn subtrahiert wird. Die Differenz dn wird bei der Suche nach der besten Übereinstimmung verwendet.
  • Wenn die beste Übereinstimmung für jeden Eingabevektor sn gefunden ist, wird der entsprechende vorbestimmte und feste Vektor aus dem VQ-Codelexikon verwendet, um das Nulleingabeantwortfilter 19 für den nächsten Vektor des Rahmens zurückzusetzen. Die Funktion des Nulleingabeantwortfilters 19 ist es somit, die Restantwort der Gewinnskalierungseinheit 17' und der Filter 15' und 18' auf vorangehend ausgewählte Vektoren aus dem VQ-Codelexikon zu finden. Somit wird nicht der ausgewählte Vektor übertragen, es wird nur sein Index übertragen. Am Empfänger wird sein Index verwendet, um den ausgewählten Vektor aus einem VQ-Codelexikon 23 auszulesen, das zu dem VQ-Codelexikon 13 in dem Sender identisch ist.
  • Das Nulleingabeantwortfilter 19 ist die gleiche Filteroperation, die verwendet wird, um das ZSR-Codelexikon zu erzeugen, nämlich die Kombination aus einem Gewinn G, einem LPC-Synthesefilter und einem Gewichtungsfilter, wie es in Figur 2 gezeigt ist. Sobald eine beste Codelexikon-Vektorübereinstimmung bestimmt ist, wird der Vektor mit der besten Übereinstimmung als eine Eingabe an dieses Filter angelegt (Abtastung nach Abtastung, sequentiell) . Während dieser Zeit ist ein Eingangsschalter si geschlqssen und ein Ausgangsschalter si offen, so daß die ersten K Ausgabeabtastungen ignoriert werden. (K ist die Dimension des Vektors und ein typischer Wert ist 20.) Sobald alle K Abtastungen als Eingabe an das Filter angelegt wurden, wird der Filtereingangsschalter si geöffnet und der Ausgangsschalter so wird geschlossen. Die nächsten K Abtastungen des Vektors fn , der Ausgabe des Wahrnehmungsgewichtungsfilters, beginnen anzukommen und werden von den Abtastungen des Vektors fn subtrahiert. Die somit erzeugte Differenz ist eine Menge von K Abtastungen, die den Vektor vn bilden, der in einem statischen Register zur Verwendung bei der ZSR-Codelexikon-Suchprozedur gespeichert wird. Bei der ZSR- Codelexikon-Suchprozedur wird der Vektor vn von jedem in dem ZSR-Codelexikon gespeicherten Vektor subtrahiert und der Differenzvektor Δ wird dem Computer 20 zusammen mit dem Index zugeführt (oder in der gleichen Reihenfolge gespeichert), wodurch der Index des Vektors aus dem ZSR-Codelexikon einbezogen ist. Der Computer 20 bestimmt dann, welche Differenz die kleinste ist, d.h. welches die beste Übereinstimmung zwischen dem Vektor vn und jedem temporär gespeicherten Vektor ist (für einen Rahmen von Eingabevektoren sn). Der Index dieses Vektors mit der besten Übereinstimmung wird in einem Register 20a gespeichert. Dieser Index wird als ein Vektorcode übertragen und dazu verwendet, das VQ-Codelexikon zu adressieren, um den dort gespeicherten Vektor in die Skalierungseinheit 17 zu lesen, wie vorangehend erläutert wurde. Dieser Suchvorgang wird für jeden Vektor in dem ZSR-Codelexikon wiederholt, wobei jedesmal derselbe Vektor vn verwendet wird. Dann wird der beste Vektor bestimmt.
  • Es wird nun auf Fig. 1b Bezug genommen. Es sollte angemerkt werden, daß die Ausgabe des VQ-Codelexikons 23, welches das VQ-Codelexikon 13 des Senders exakt dupliziert, zu dem Vektor identisch ist, der aus dem als eine Adresse für das VQ-Codelexikon 13 verwendeten Index für die beste Übereinstimmung extrahiert wird; die Gewinneinheit 26 ist zu der Gewinneinheit 17 bei dem Sender identisch und Filter 24 und 25 duplizieren die Filter 15 bzw. 16 exakt, außer daß bei dem Empfänger die Approximation n anstatt der Vorhersage n als die Ausgabe des Tonhöhensynthesefilters 25 verwendet wird. Das Ergebnis ist nach Umwandlung von digitaler in analoge Form künstlich erzeugte Sprache, welche die ursprüngliche Sprache mit sehr guter Qualität reproduziert.
  • Man hat festgestellt, daß durch Anwenden eines adaptiven Nachfilters 30 auf die künstlich erzeugte Sprache vor deren Umwandlung von Digital- in Analogform das wahrgenommene Codierungsrauschen stark reduziert werden kann, ohne eine signifikante Störung in die gefilterte Sprache einzubringen. Figur 4 erläutert die bevorzugte Organisation des adaptiven Nachfilters als ein Lang-Verzögerung-Filter 31 und ein Kurz-Verzögerung-Filter 32. Beide Filter sind adaptiv in dem Sinne, daß die in ihnen verwendeten Parameter mit Ausnahme des Gewinnparameters G diejenigen sind, die als Nebeninformation von dem Sender erhalten wurden. Der Grundgedanke des adaptiven Nachfilterns ist der, die Frequenzkomponenten der codierten Sprache in spektralen Talbereichen zu dämpfen. Bei niedrigen Bitraten rührt ein beträchtlicher Teil des wahrgenommenen Codierungsrauschens aus spektralen Talbereichen her, wo es keine starken Resonanzen gibt, um das Rauschen zu maskieren. Das Nachfilter dämpft die Rauschkomponenten in spektralen Talbereichen, um das Codierungsrauschen weniger wahrnehmbar zu machen. Jedoch führt eine derartige Filteroperation unvermeidbar eine gewisse Störung in die Gestalt des Sprachspektrums ein. Glücklicherweise ist unser Ohr auf Störungen in spektralen Talbereichen nicht sehr empfindlich; deshalb führt adaptives Nachfiltern nur sehr leichte Störungen in die wahrgenommene Sprache ein, reduziert jedoch den wahrgenommenen Rauschpegel signifikant. Das adaptive Nachfilter wird genauer beschrieben, nachdem zuerst die Analyse eines Rahmens von Vektoren zur Bestimmung der Nebeninformation genauer beschrieben wurde.
  • Es wird nun auf Figur 3 Bezug genommen. Sie zeigt die Organisation der Anfangsanalyse von Block 11 in Figur 1a.
  • Die eingegebenen Sprachabtastungen sn werden zuerst in einem Puffer 40 gespeichert, der in der Lage ist, beispielsweise mehr als einen Rahmen von 8 Vektoren zu speichern, wobei jeder Vektor 20 Abtastungen aufweist.
  • Sobald ein Rahmen von Eingabevektoren sn gespeichert ist, werden die zu verwendenden Parameter und deren als Nebeninformation zu übertragende Indizes aus diesem Rahmen und wenigstens einem Teil des vorangehenden Rahmens bestimmt, um die Analyse mit Informationen aus mehr als dem interessierenden Rahmen durchzuführen. Die Analyse wird, wie dargestellt ist, unter Verwendung eines Tonhöhendetektors 41, eines Tonhöhenquantisierers 42 und eines Tonhöhenprädiktionskoeffizientenquantisierers 43 durchgeführt. Was als "Tonhöhe" bezeichnet wird, gilt für jede beobachtete Periodizität in dem Eingabessignal, was nicht notwendigerweise der klassischen, den Schwingungen in den menschlichen Stimmfalten entsprechenden Verwendung von "Tonhöhe" entsprechen muß. Die direkte Ausgabe der Sprache wird auch in dem Tonhöhenprädiktionskoeffizientenquantisierer 43 verwendet. Die quantisierte Tonhöhe (QP) und die quantisierte Tonhöhenprädiktion (QPP) werden verwendet, um einen Tonhöhenprädiktionsrest im Block 44 zu berechnen, sowie als Steuerparameter für das Tonhöhensynthesefilter 16, das als ein Prädiktor in Figur 1a verwendet wird. Nur ein Tonhöhenindex und ein Tonhöhenprädiktionsindex sind in der Nebeninformation enthalten, um die Anzahl der übertragenen Bits zu minimieren. Bei dem Empfänger wird der Decoder 22 jeden Index verwenden, um die entsprechenden Steuerparameter für das Tonhöhensynthesefilter 25 zu erzeugen.
  • Der Tonhöhenprädiktionsrest wird in einem Puffer 45 zur LPC-Analyse in Block 46 gespeichert. Die LPC-Prädiktion aus der LPC-Analyse wird in Block 47 quantisiert. Der Index der quantisierten LPC-Prädiktion wird als ein drittes von vier Stücken Nebeninformation übertragen, während die quantisierte LPC-Prädiktion als ein Parameter zur Steuerung des LPC-Synthesefilters 15 verwendet wird und in Block 48 dazu verwendet wird, den rms-Wert des LPC-Prädiktionsrests zu berechnen. Dieser Wert (nicht quantisierter Restgewinn) wird dann in Block 49 quantisiert, um in der Skalierungseinheit 17 von Figur 1a Gewinnsteuerung G bereitzustellen. Der Index des quantisierten Restgewinns ist das vierte Stück der übertragenen Nebeninformation.
  • Zusätzlich zu dem Vorangegangenen stellt der Analyseabschnitt in Block 50 LPC-Analyse bereit, um eine LPC- Prädiktion zu erzeugen, aus welcher der Satz von Parametern W für das Wahrnehmungsgewichtungsfilter 18 (Figur 1a) in Block 51 berechnet wird.
  • Das adaptive Nachfilter 30 in Figur lb wird nun unter Bezugnahme auf Figur 4 beschrieben. Es besteht aus einem Lang-Verzögerung-Filter 31 und einem Kurz-Verzögerung- Filter 32 in Reihe. Das Lang-Verzögerung-Filter wird aus der beim Empfänger verfügbaren Information der decodierten Tonhöhenprädiktion abgeleitet. Es dämpft Frequenzkonponenten zwischen tonhöhenharmonischen Frequenzen. Das Kurz- Verzögerung-Filter wird aus LPC-Prädiktionsinformation abgeleitet, und es dämpft die Frequenzkomponenten zwischen Formant-Frequenzen.
  • Die rauschmaskierende Wirkung menschlicher Gehörwahmehmung, die erkannt wurde von M.R. Schroeder, B.S. Atal und J.L. Hall, "Optimizing Digital Speech Coders by Exploiting Masking Properties of the Human Ear," J. Acoust. Soc. Am., Bd. 66, Nr. 6, S. 1647-1652, Dezember 1979, wird bei VAPC ausgenutzt, indem Rauschspektrumsformung verwendet wird. Jedoch kann bei der Rauschspektrumsformung die Erniedrigung von Rauschkomponenten bei bestimmten Frequenzen nur auf Kosten erhöhter Rauschkomponenten bei anderen Frequenzen erreicht werden. [B.S. Atal und M.R. Schroeder, "Predictive Coding of Speech Signals and Subjective Error Criteria," IEEE Trans. Acoust., Speech, and Signals Processing, Bd. ASSP-27, Nr. 3, S. 247-254, Juni 1979]. Deshalb ist es bei Bitraten bis herab zu 4800 bps, wo der mittlere Rauschpegel ziemlich hoch ist, sehr schwierig, wenn nicht unmöglich, das Rauschen bei allen Frequenzen unter die Maskierungsschwelle zu drücken. Da Sprach-Formanten für die Wahrnehmung viel wichtiger sind als spektrale Täler, ist es die Vorgehensweise der vorliegenden Erfindung, die Formant- Information zu erhalten, indem das Rauschen in den Formant- Bereichen während des Codierens so niedrig wie praktisch möglich gehalten wird. Natürlich können in diesem Fall die Rauschkomponenten in spektralen Tälern den Schwellenwert übersteigen; jedoch können diese Rauschkomponenten später durch das Nachfilter 30 gedämpft werden. Bei der Durchführung eines derartigen Nachfilterns werden auch die Sprachkomponenten in spektralen Tälern gedämpft. Glücklicherweise kann die Grenze ("Limen") oder der "gerade wahrnehmbare Unterschied" für die Intensität von spektralen Tälern recht groß sein [J.L. Flanagan, Speech Analysis, Synthesis, and Perception, Academic Press, New York, 1972]. Durch Dämpfung der Komponenten in spektralen Tälern führt das Nachfilter deshalb nur minimale Störung in das Sprachsignal ein, es erzielt jedoch eine wesentliche Rauschminderung.
  • Adaptives Nachfiltern wurde erfolgreich bei der Verbesserung von ADPCM-codierter Sprache verwendet. Siehe V. Ramamoorthy und J.S. Jayant, "Enhancement of ADPCM Speech by Adaptive Postfiltering," AT&T Bell Labs Tech. J., S. 1465-1475, Oktober 1984; und N.S. Jayant und V. Ramamoorthy, "Adaptive Postfiltering of 16 kb/s-ADPCM Speech," Proc. ICASSP, 5. 829-832, Tokyo, Japan, April 1986. Das von Ramamoorthy et al. verwendete Nachfilter, supra, wird von dem ADPCM-Synthesefilter mit zwei Polen und sechs Nullstellen durch Bewegen der Pole und Nullstellen radial in Richtung zum Ursprung abgeleitet. Wenn diese Idee direkt auf ein LPC-Synthesefilter mit nur Polen 1/[1- (z)] angewendet wird, ist das Ergebnis 1/[1- (z/&alpha;)] als das entsprechende Nachfilter, wobei 0 < &alpha; < 1. Ein derartiges Nachfilter mit nur Polen ("all-pole postfilter") mindert tatsächlich den wahrgenommenen Rauschpegel; jedoch kann ausreichende Rauschminderung nur dadurch erzielt werden, daß die gefilterte Sprache nachhaltig dumpfer wird. Dies liegt an der Tatsache, daß der Frequenzgang dieses Nachfilters mit nur Polen für stimmhafte Sprache im allgemeinen eine Tiefpaß-Spektrumsneigung aufweist.
  • Die Spektrumsneigung des Nachfilters mit nur Polen 1/[1- (z/&alpha;)] kann leicht vermindert werden durch Hinzufügen von Nullstellen, die die gleichen Phasenwinkel aufweisen wie die Pole, jedoch mit kleineren Radien. Die Übertragungsfunktion des resultierenden Nachfilters 32a mit Polen und Nullstellen hat die Form
  • H(z) = 1/[1- (z/&beta;)]/1/[1- (z/&alpha;)] , 0 < &beta; < &alpha; < 1 (1)
  • wobei &alpha; und &beta; empirisch bestimmte Koeffizienten sind, und wobei ein gewisser Kompromiß eingegangen wird zwischen spektralen Spitzen, die so scharf sind, daß Zirpen ("chirping") erzeugt wird und so niedrig, daß eine Rauschminderung nicht erzielt wird. Der Frequenzgang von H(z) kann ausgedrückt werden als
  • Deshalb ist im logarithmischen Maßstab der Frequenzgang des Nachfilters mit Polen und Nullstellen H(z) einfach die Differenz zwischen den Frequenzgängen von zwei Nachfiltern mit nur Polen.
  • Typische Werte von &alpha; und &beta; sind 0,8 bzw. 0,5. Aus Figur 5 erkennt man, daß der Gang für &alpha; = 0,8 sowohl Formant- Spitzen und spektrale Neigung aufweist, während die Antwort für &alpha; = 0,5 nur spektrale Neigung aufweist. Somit kann man mit &alpha; = 0,8 und &beta; = 0,5 in Gleichung 2 die spektrale Neigung wenigstens teilweise entfernen, indem die Antwort für &alpha; = 0,5 von der Antwort für &alpha; = 0,8 subtrahiert wird. Der resultierende Frequenzgang von H(z) ist in der oberen Kurve von Figur 6 dargestellt.
  • Bei zwanglosen Hörtests wurde herausgefunden, daß die dumpf machende Wirkung deutlich reduziert war, nachdem der Zählerterm [1- (z/&beta;)] in die Übertragungsfunktion H(z) einbezogen wurde. Die gefilterte Sprache blieb jedoch selbst mit dem die spektrale Neigung kompensierenden Term [1- (z/&beta;)] etwas dumpf. Um die dumpf machende Wirkung weiter zu reduzieren, wurde ein Filter erster Ordnung 32b hinzugefügt, welches eine Übertragungsfunktion von [1-uz&supmin;¹] aufweist, wobei u typischerweise 0,5 ist. Ein solches Filter stellt eine leicht hochpaßartige spektrale Neigung bereit und hilft somit, die dumpf machende Wirkung zu reduzieren. Dieses Filter erster Ordnung wird in Reihe mit H(z) verwendet, und ein kombinierter Frequenzgang mit u = 0,5 ist in der unteren Kurve von Figur 6 dargestellt.
  • Das gerade beschriebene Kurz-Verzögerung-Nachfilter 32 verstärkt im Grunde Sprach-Formanten und dämpft Zwischen- Formant-Täler. Um den idealen Nachfilter-Frequenzgang zu erhalten, muß man auch die Tonhöhenharmonischen verstärken und die Täler zwischen den Harmonischen dämpfen. Eine derartige Eigenschaft des Frequenzgangs kann mit einem Lang-Verzögerung-Nachfilter unter Verwendung der Information in dem Tonhöhenprädiktor erzielt werden.
  • Bei VAPC verwendet man einen Tonhöhenprädiktor mit drei Knotenanschlüssen; das einem solchen Tonhöhenprädiktor entsprechende Tonhöhensynthesefilter ist nicht garantiert stabil. Da die Pole eines solchen Synthesefilters außerhalb des Einheitskreises liegen können, kann die Bewegung der Pole hin zum Ursprung möglicherweise nicht die gleiche Wirkung haben wie bei einem stabilen LPC-Synthesefilter. Selbst wenn das Tonhöhensynthesefilter mit drei Knotenanschlüssen stabilisiert wird, kann sein Frequenzgang eine unerwünschte Spektralneigung aufweisen. Somit ist es nicht geeignet, ein Lang-Verzögerung-Nachfilter durch Herabskalieren der drei Knotenanschlußgewichte des Tonhöhensynthesefilters zu erhalten.
  • Mit sowohl Polen als auch Nullstellen kann das Lang- Verzögerung-Nachfilter als
  • H&sub1;(z) = Cg 1 + &gamma;z-p/1 - &lambda;z-p
  • gewählt werden, wobei p durch Tonhöhenanalyse bestimmt wird und Cg ein adaptiver Skalierungsfaktor ist.
  • In Kenntnis der durch einen Tonhöhenprädiktor mit einem Knotenanschluß oder drei Knotenanschlüssen als Wert b&sub2; oder Summe von b&sub1; + b&sub2; + b&sub3; bereitgestellten Information werden die Faktoren &gamma; und &lambda; gemäß den folgenden Formeln bestimmt:
  • &gamma; = C&sub2;f(x), &lambda; = Cpf(x), 0 < Cz, Cp < 1, (4)
  • wobei
  • 1 wenn x > 1
  • f(x) = x wenn Uth &le; x &le; 1 (5)
  • 0 wenn x < Uth,
  • wobei Uth ein empirisch bestimmter Schwellenwert (typischerweise 0,6) ist und x entweder b&sub2; oder b&sub1; + b&sub2; + b&sub3; sein kann, je nachdem ob ein Tonhöhenprädiktor mit einem Knotenanschluß oder mit drei Knotenanschlüssen verwendet wird. Da ein quantisierter Tonhöhenprädiktor mit drei Knotenanschlüssen bevorzugt ist und deshalb bei dem VAPC- Empfänger schon vorhanden ist, wird x bei der VAPC-Nachfilterung zu
  • gewählt. Wenn andererseits das Nachfilter anderswo verwendet wird, um verrauschte Eingabesprache zu verbessern, wird eine separate Tonhöhenanalyse benötigt, und x kann als ein einziger Wert b&sub2; gewählt werden, da ein Tonhöhenprädiktor mit einem Knotenanschluß ausreicht. (Der Wert b&sub2; gibt, wenn er alleine verwendet wird, einen Wert von einem Prädiktor mit einem Knotenanschluß an, was in der Praxis einem Prädiktor mit drei Knotenanschlüssen gleich käme, wenn b&sub1; und b&sub3; zu null gesetzt sind.)
  • Das Ziel ist es, die Leistung von {y(n) } in etwa gleich der von {s(n)} zu machen. Ein geeigneter Skalierungsfaktor wird zu
  • Cg = 1 - &lambda;/x/1 + &gamma;/x (6)
  • gewählt.
  • Das Filter erster Ordnung 32b kann ebenfalls adaptiv ausgestaltet werden, um der Änderung in der spektralen Neigung von H(z) besser zu folgen Es hat sich jedoch herausgestellt, daß selbst ein festes Filter mit u = 0,5 recht zufriedenstellende Ergebnisse zeigt. Ein fester Wert von u kann empirisch bestimmt werden.
  • Um zufällige große Gewinnausschläge zu vermeiden, wurde eine automatische Gewinnsteuerung (AGC) an dem Ausgang des adaptiven Nachfilters hinzugefügt. Der Zweck von AGC ist es, die verbesserte Sprache derart zu skalieren, daß sie grob die gleiche Leistung hat wie die ungefilterte verrauschte Sprache. Sie umfaßt eine Gewinn-(Volumen)-Schätzeinrichtung 33, die auf der Spracheingabe s(n) arbeitet, eine Gewinn-(Volumen)-Schätzeinrichtung 34, die auf der nachgefilterten Ausgabe r(n) arbeitet und eine Schaltung 35, um einen Skalierungsfaktor als das Verhältnis der beiden Gewinne zu berechnen. Die Nachfilterungsausgabe r(n) wird dann mit diesem Verhältnis in einem Multiplizierer 36 multipliziert. AGC wird somit erzielt durch Schätzen der Leistung der ungefilterten und der gefilterten Sprache separat voneinander und anschließender Verwendung des Verhältnisses der beiden Werte als Skalierungsfaktor. Es sei {s(n)} die Sequenz von entweder ungefilterten oder gefilterten Sprachabtastungen; dann wird die Sprachleistung ² (n) unter Verwendung von
  • ²(n) ç ²(n-1)+(1-ç)s²(n), 0 < ç < 1 (7)
  • geschätzt. Ein geeigneter Wert von ç ist 0,99.
  • Die Komplexität des in diesem Abschnitt beschriebenen Nachfilters ist nur ein kleiner Teil der Gesamtkomplexität des Rests des VAPC-Systems oder jedes anderen Codiersystems, das verwendet werden kann. In Simulationen erzielt dieses Nachfilter signifikante Rauschminderung bei nahezu vernachlässigbarer Störung der Sprache. Zum Test auf mögliche Störeffekte wurde der adaptive Nachfilterungsvorgang auf klare, uncodierte Sprache angewendet und es stellte sich heraus, daß das ungefilterte Original und dessen gefilterte Version im wesentlichen gleich klingen, was anzeigt, daß die durch dieses Nachfilter eingefügte Störung vernachlässigbar ist.
  • Es sollte beachtet werden, daß, obwohl diese neue Nachfilterungstechnik zur Verwendung mit dem VAPC-System entwikkelt wurde, ihre Anwendungen nicht auf die Verwendung mit diesem beschränkt sind. Tatsächlich kann diese Technik nicht nur zur Verbesserung der Qualität eines beliebigen digitalen Sprachsignals verwendet werden, sondern auch zur Verbesserung der decodierten Sprache anderer Sprachcodierer, wenn diese mit einem Puffer- und Analyseabschnitt zum Bestimmen der Parameter versehen sind.
  • Was in der Stammanmeldung, aus der die vorliegende Anmeldung durch Teilung entstanden ist, offenbart ist, ist ein in Echtzeit arbeitender vektor-adaptiver Prädiktionscodierer (VAPC) für Sprache oder Ton, welcher mittels Software unter Verwendung des kommerziell verfügbaren AT&T DSP32 Digitalverarbeitungschip implementiert werden kann. In seiner neuesten Version weist dieser Chip eine Rechenleistung von 6 Millionen Befehlen pro Sekunde (MIPS) auf. Zur Erleichterung der Implementierung von in Echtzeit arbeitender Sprachcodierung ist eine vereinfachte Version der 4800 bps VAPC verfügbar. Diese vereinfachte Version weist eine sehr viel geringere Komplexität auf, ergibt jedoch nahezu die gleiche Sprachqualität wie eine Version mit vollständiger Komplexität.

Claims (8)

1. Adaptives Filterverfahren zum Verbessern digital verarbeiteter Sprach- oder Tonsignale bei einem Empfänger durch Filterung der digital verarbeiteten Signale mittels Kurz-Verzögerung-Filterung, wobei die Kurz-Verzögerung-Filterung durch vorbestimmte Linear- Prädiktionskoeffizientenparameter (LPC) gesteuert wird, dadurch gekennzeichnet, daß die Kurz- Verzögerung-Filterung eine Übertragungsfunktion mit Polen und Nullstellen verwendet, die aus dem Verhältnis von zwei Übertragungsfunktionen mit nur Polen besteht, wobei die Nullstellen der Übertragungsfunktion mit Polen und Nullstellen kleinere Radien aufweisen als entsprechende Pole.
2. Adaptives Filterverfahren nach Anspruch 1, worin die Kurz-Verzögerung-Filterung in Reihe mit Lang-Verzögerung-Filterung durchgeführt wird, die durch vorbestimmte Tonhöhen- und Tonhöhenprädiktionsparameter gesteuert wird.
3. Adaptives Filterverfahren nach Anspruch 1 oder 2, umfassend Filterung erster Ordnung mit einer Übertragungsfunktion 1-uz&supmin;¹, u< 1 in Reihe mit der Kurz- Verzögerung- Filterung.
4. Verfahren nach Anspruch 1 oder 2, worin die Parameter bei einem Sender vorbestimmt werden durch Analyse digitaler Sprach- oder Tonsignale vor Verarbeitung zur Übertragung an den Empfänger und daß die Parameter als Nebeninformation zusammen mit den digital verarbeiteten Sprach- oder Tonsignalen an den Empfänger übertragen werden.
5. Verfahren nach Anspruch 1 oder 2, worin die Parameter bei dem Empfänger vorbestimmt werden durch Ausführen einer Analyse empfangener digital verarbeiteter Sprach- oder Tonsignale.
6. Verfahren nach Anspruch 2, worin die LPC-Parameter bei dem Sender vorbestimmt werden durch Analyse digitaler Sprach- oder Tonsignale vor Verarbeitung und Übertragung als Nebeninformation an den Empfänger und die Tonhöhen- und Tonhöhenprädiktionsparameter bei dem Empfänger vorbestimmt werden durch Ausführen einer Analyse digital verarbeiteter empfangener Sprach- oder Tonsignale.
7. Verfahren nach einem der Ansprüche 1 bis 6, umfassend automatische Gewinnsteuerung des digital verarbeiteten Signals nach Filterung durch Berechnen eines Wertes a&sub2;(n), der proportional ist zum Pegel von gefilterten Sprach- oder Tonsignalen, und eines Werts &sub1;(n), der proportional ist zum Pegel von Sprach- oder Tonsignalen vor Filterung, und Steuern des Gewinns der gefilterten Sprach- oder Tonsignale mit einem Verhältnis aus &sub1; (n) zu &sub2; (n).
8. Verfahren nach Anspruch 2, worin Wachfilterung erzielt wird durch Verwendung einer Übertragungsfunktion für die Lang-Verzögerung-Nachfilterung, welche die Gestalt
Cg 1 - &gamma;/z-p/1 + &lambda;/z-p (6)
aufweist, wobei Cg ein adaptiver Skalierungsfaktor ist und die Faktoren &gamma; und &lambda; gemäß der folgenden Formeln
&gamma; = czf(x), &lambda; = cpf(x)&sub1; 0 < cz, cp < 1
bestimmt werden, wobei
1 wenn z > 1
f(z) = x wenn Uth &le; x &le; 1
0 wenn x < Uth
ist und Uth ein Schwellenwert ist und x entweder b&sub2; oder b&sub1; + b&sub2; + b&sub3; sein kann, je nachdem ob ein Tonhöhenprädiktor mit einem Knotenanschluß oder mit drei Knotenanschlüssen verwendet wird.
DE3856211T 1987-04-06 1988-04-06 Verfahren zur adaptiven Filterung von Sprach- und Audiosignalen Expired - Lifetime DE3856211T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/035,615 US4969192A (en) 1987-04-06 1987-04-06 Vector adaptive predictive coder for speech and audio

Publications (2)

Publication Number Publication Date
DE3856211D1 DE3856211D1 (de) 1998-08-06
DE3856211T2 true DE3856211T2 (de) 1998-11-05

Family

ID=21883771

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3856211T Expired - Lifetime DE3856211T2 (de) 1987-04-06 1988-04-06 Verfahren zur adaptiven Filterung von Sprach- und Audiosignalen

Country Status (6)

Country Link
US (1) US4969192A (de)
EP (2) EP0503684B1 (de)
JP (1) JP2887286B2 (de)
AU (1) AU1387388A (de)
CA (1) CA1336454C (de)
DE (1) DE3856211T2 (de)

Families Citing this family (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4899385A (en) * 1987-06-26 1990-02-06 American Telephone And Telegraph Company Code excited linear predictive vocoder
CA2002015C (en) * 1988-12-30 1994-12-27 Joseph Lindley Ii Hall Perceptual coding of audio signals
JPH0332228A (ja) * 1989-06-29 1991-02-12 Fujitsu Ltd ゲイン―シェイプ・ベクトル量子化方式
US5263119A (en) * 1989-06-29 1993-11-16 Fujitsu Limited Gain-shape vector quantization method and apparatus
CA2021514C (en) * 1989-09-01 1998-12-15 Yair Shoham Constrained-stochastic-excitation coding
DE69033672T2 (de) * 1989-10-17 2001-05-10 Motorola, Inc. Auf dem lpc-verfahren beruhende sprachsynthese mit adaptivem pitchvorfilter
ATE177867T1 (de) * 1989-10-17 1999-04-15 Motorola Inc Digitaler sprachdekodierer unter verwendung einer nachfilterung mit einer reduzierten spektralverzerrung
IL95753A (en) * 1989-10-17 1994-11-11 Motorola Inc Digits a digital speech
US5307441A (en) * 1989-11-29 1994-04-26 Comsat Corporation Wear-toll quality 4.8 kbps speech codec
US5235669A (en) * 1990-06-29 1993-08-10 At&T Laboratories Low-delay code-excited linear-predictive coding of wideband speech at 32 kbits/sec
JPH06138896A (ja) * 1991-05-31 1994-05-20 Motorola Inc 音声フレームを符号化するための装置および方法
CA2483322C (en) * 1991-06-11 2008-09-23 Qualcomm Incorporated Error masking in a variable rate vocoder
JP3076086B2 (ja) * 1991-06-28 2000-08-14 シャープ株式会社 音声合成装置用ポストフィルタ
US5233660A (en) * 1991-09-10 1993-08-03 At&T Bell Laboratories Method and apparatus for low-delay celp speech coding and decoding
US5339384A (en) * 1992-02-18 1994-08-16 At&T Bell Laboratories Code-excited linear predictive coding with low delay for speech or audio signals
US5327520A (en) * 1992-06-04 1994-07-05 At&T Bell Laboratories Method of use of voice message coder/decoder
FI95086C (fi) * 1992-11-26 1995-12-11 Nokia Mobile Phones Ltd Menetelmä puhesignaalin tehokkaaksi koodaamiseksi
IT1272418B (it) * 1993-04-29 1997-06-23 Alcatel Italia Sistema per il trattamento di segnali affetti da errori di trasmissione
FI96248C (fi) * 1993-05-06 1996-05-27 Nokia Mobile Phones Ltd Menetelmä pitkän aikavälin synteesisuodattimen toteuttamiseksi sekä synteesisuodatin puhekoodereihin
DE4315319C2 (de) * 1993-05-07 2002-11-14 Bosch Gmbh Robert Verfahren zur Aufbereitung von Daten, insbesondere von codierten Sprachsignalparametern
DE4315313C2 (de) * 1993-05-07 2001-11-08 Bosch Gmbh Robert Vektorcodierverfahren insbesondere für Sprachsignale
US5504834A (en) * 1993-05-28 1996-04-02 Motrola, Inc. Pitch epoch synchronous linear predictive coding vocoder and method
US5479559A (en) * 1993-05-28 1995-12-26 Motorola, Inc. Excitation synchronous time encoding vocoder and method
US5659659A (en) * 1993-07-26 1997-08-19 Alaris, Inc. Speech compressor using trellis encoding and linear prediction
JP3024468B2 (ja) * 1993-12-10 2000-03-21 日本電気株式会社 音声復号装置
JPH07160297A (ja) * 1993-12-10 1995-06-23 Nec Corp 音声パラメータ符号化方式
US5764698A (en) * 1993-12-30 1998-06-09 International Business Machines Corporation Method and apparatus for efficient compression of high quality digital audio
FR2715755B1 (fr) * 1994-01-28 1996-04-12 France Telecom Procédé et dispositif de reconnaissance de la parole.
CA2142391C (en) * 1994-03-14 2001-05-29 Juin-Hwey Chen Computational complexity reduction during frame erasure or packet loss
JP3321976B2 (ja) * 1994-04-01 2002-09-09 富士通株式会社 信号処理装置および信号処理方法
JP2956473B2 (ja) * 1994-04-21 1999-10-04 日本電気株式会社 ベクトル量子化装置
US5544278A (en) * 1994-04-29 1996-08-06 Audio Codes Ltd. Pitch post-filter
US5602961A (en) * 1994-05-31 1997-02-11 Alaris, Inc. Method and apparatus for speech compression using multi-mode code excited linear predictive coding
JP2964879B2 (ja) * 1994-08-22 1999-10-18 日本電気株式会社 ポストフィルタ
SE504010C2 (sv) * 1995-02-08 1996-10-14 Ericsson Telefon Ab L M Förfarande och anordning för prediktiv kodning av tal- och datasignaler
US5664053A (en) * 1995-04-03 1997-09-02 Universite De Sherbrooke Predictive split-matrix quantization of spectral parameters for efficient coding of speech
JP2993396B2 (ja) * 1995-05-12 1999-12-20 三菱電機株式会社 音声加工フィルタ及び音声合成装置
FR2734389B1 (fr) * 1995-05-17 1997-07-18 Proust Stephane Procede d'adaptation du niveau de masquage du bruit dans un codeur de parole a analyse par synthese utilisant un filtre de ponderation perceptuelle a court terme
GB9512284D0 (en) * 1995-06-16 1995-08-16 Nokia Mobile Phones Ltd Speech Synthesiser
EP0763818B1 (de) * 1995-09-14 2003-05-14 Kabushiki Kaisha Toshiba Verfahren und Filter zur Hervorbebung von Formanten
US5710863A (en) * 1995-09-19 1998-01-20 Chen; Juin-Hwey Speech signal quantization using human auditory models in predictive coding systems
US5790759A (en) * 1995-09-19 1998-08-04 Lucent Technologies Inc. Perceptual noise masking measure based on synthesis filter frequency response
JP3680380B2 (ja) * 1995-10-26 2005-08-10 ソニー株式会社 音声符号化方法及び装置
US5745872A (en) * 1996-05-07 1998-04-28 Texas Instruments Incorporated Method and system for compensating speech signals using vector quantization codebook adaptation
DE69730779T2 (de) * 1996-06-19 2005-02-10 Texas Instruments Inc., Dallas Verbesserungen bei oder in Bezug auf Sprachkodierung
AU3702497A (en) * 1996-07-30 1998-02-20 British Telecommunications Public Limited Company Speech coding
JP3357795B2 (ja) * 1996-08-16 2002-12-16 株式会社東芝 音声符号化方法および装置
US5920853A (en) * 1996-08-23 1999-07-06 Rockwell International Corporation Signal compression using index mapping technique for the sharing of quantization tables
US7788092B2 (en) * 1996-09-25 2010-08-31 Qualcomm Incorporated Method and apparatus for detecting bad data packets received by a mobile telephone using decoded speech parameters
DE19643900C1 (de) * 1996-10-30 1998-02-12 Ericsson Telefon Ab L M Nachfiltern von Hörsignalen, speziell von Sprachsignalen
US5960389A (en) * 1996-11-15 1999-09-28 Nokia Mobile Phones Limited Methods for generating comfort noise during discontinuous transmission
FI964975A (fi) * 1996-12-12 1998-06-13 Nokia Mobile Phones Ltd Menetelmä ja laite puheen koodaamiseksi
US5845251A (en) * 1996-12-20 1998-12-01 U S West, Inc. Method, system and product for modifying the bandwidth of subband encoded audio data
US6516299B1 (en) 1996-12-20 2003-02-04 Qwest Communication International, Inc. Method, system and product for modifying the dynamic range of encoded audio signals
US6782365B1 (en) 1996-12-20 2004-08-24 Qwest Communications International Inc. Graphic interface system and product for editing encoded audio data
US6477496B1 (en) 1996-12-20 2002-11-05 Eliot M. Case Signal synthesis by decoding subband scale factors from one audio signal and subband samples from different one
US5864813A (en) * 1996-12-20 1999-01-26 U S West, Inc. Method, system and product for harmonic enhancement of encoded audio signals
US6463405B1 (en) 1996-12-20 2002-10-08 Eliot M. Case Audiophile encoding of digital audio data using 2-bit polarity/magnitude indicator and 8-bit scale factor for each subband
US5864820A (en) * 1996-12-20 1999-01-26 U S West, Inc. Method, system and product for mixing of encoded audio signals
US5966687A (en) * 1996-12-30 1999-10-12 C-Cube Microsystems, Inc. Vocal pitch corrector
US6148282A (en) * 1997-01-02 2000-11-14 Texas Instruments Incorporated Multimodal code-excited linear prediction (CELP) coder and method using peakiness measure
US5832443A (en) * 1997-02-25 1998-11-03 Alaris, Inc. Method and apparatus for adaptive audio compression and decompression
FI114248B (fi) * 1997-03-14 2004-09-15 Nokia Corp Menetelmä ja laite audiokoodaukseen ja audiodekoodaukseen
IL120788A (en) 1997-05-06 2000-07-16 Audiocodes Ltd Systems and methods for encoding and decoding speech for lossy transmission networks
FI113903B (fi) 1997-05-07 2004-06-30 Nokia Corp Puheen koodaus
GB2326572A (en) * 1997-06-19 1998-12-23 Softsound Limited Low bit rate audio coder and decoder
FI973873A (fi) 1997-10-02 1999-04-03 Nokia Mobile Phones Ltd Puhekoodaus
JP2001508197A (ja) * 1997-10-31 2001-06-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 構成信号にノイズを加算してlpc原理により符号化された音声のオーディオ再生のための方法及び装置
US6104994A (en) * 1998-01-13 2000-08-15 Conexant Systems, Inc. Method for speech coding under background noise conditions
FI980132A (fi) 1998-01-21 1999-07-22 Nokia Mobile Phones Ltd Adaptoituva jälkisuodatin
FI113571B (fi) 1998-03-09 2004-05-14 Nokia Corp Puheenkoodaus
US6453289B1 (en) 1998-07-24 2002-09-17 Hughes Electronics Corporation Method of noise reduction for speech codecs
US7072832B1 (en) 1998-08-24 2006-07-04 Mindspeed Technologies, Inc. System for speech encoding having an adaptive encoding arrangement
US6330533B2 (en) * 1998-08-24 2001-12-11 Conexant Systems, Inc. Speech encoder adaptively applying pitch preprocessing with warping of target signal
US6188980B1 (en) * 1998-08-24 2001-02-13 Conexant Systems, Inc. Synchronized encoder-decoder frame concealment using speech coding parameters including line spectral frequencies and filter coefficients
US6385573B1 (en) * 1998-08-24 2002-05-07 Conexant Systems, Inc. Adaptive tilt compensation for synthesized speech residual
US6275798B1 (en) 1998-09-16 2001-08-14 Telefonaktiebolaget L M Ericsson Speech coding with improved background noise reproduction
FR2783651A1 (fr) * 1998-09-22 2000-03-24 Koninkl Philips Electronics Nv Dispositif et procede de filtrage d'un signal de parole, recepteur et systeme de communications telephonique
GB2342829B (en) * 1998-10-13 2003-03-26 Nokia Mobile Phones Ltd Postfilter
US6993480B1 (en) 1998-11-03 2006-01-31 Srs Labs, Inc. Voice intelligibility enhancement system
US6311154B1 (en) 1998-12-30 2001-10-30 Nokia Mobile Phones Limited Adaptive windows for analysis-by-synthesis CELP-type speech coding
IL129752A (en) 1999-05-04 2003-01-12 Eci Telecom Ltd Telecommunication method and system for using same
EP1190495A1 (de) * 1999-07-02 2002-03-27 Tellabs Operations, Inc. Echo-regelung im kodebereich
DE60043601D1 (de) * 1999-08-23 2010-02-04 Panasonic Corp Sprachenkodierer
US7315815B1 (en) * 1999-09-22 2008-01-01 Microsoft Corporation LPC-harmonic vocoder with superframe structure
US6782360B1 (en) * 1999-09-22 2004-08-24 Mindspeed Technologies, Inc. Gain quantization for a CELP speech coder
US6842733B1 (en) 2000-09-15 2005-01-11 Mindspeed Technologies, Inc. Signal processing system for filtering spectral content of a signal for speech coding
US6850884B2 (en) * 2000-09-15 2005-02-01 Mindspeed Technologies, Inc. Selection of coding parameters based on spectral content of a speech signal
JP2002135122A (ja) * 2000-10-19 2002-05-10 Nec Corp オーディオ信号符号化装置
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
US7606703B2 (en) * 2000-11-15 2009-10-20 Texas Instruments Incorporated Layered celp system and method with varying perceptual filter or short-term postfilter strengths
US6941263B2 (en) * 2001-06-29 2005-09-06 Microsoft Corporation Frequency domain postfiltering for quality enhancement of coded speech
US7110942B2 (en) * 2001-08-14 2006-09-19 Broadcom Corporation Efficient excitation quantization in a noise feedback coding system using correlation techniques
EP1301018A1 (de) * 2001-10-02 2003-04-09 Alcatel Verfahren und Vorrichtung zum Ändern eines digitalen Signals im Kodebereich
US7512535B2 (en) * 2001-10-03 2009-03-31 Broadcom Corporation Adaptive postfiltering methods and systems for decoding speech
US6751587B2 (en) 2002-01-04 2004-06-15 Broadcom Corporation Efficient excitation quantization in noise feedback coding with general noise shaping
US7206740B2 (en) * 2002-01-04 2007-04-17 Broadcom Corporation Efficient excitation quantization in noise feedback coding with general noise shaping
JP4219898B2 (ja) * 2002-10-31 2009-02-04 富士通株式会社 音声強調装置
US7318035B2 (en) * 2003-05-08 2008-01-08 Dolby Laboratories Licensing Corporation Audio coding systems and methods using spectral component coupling and spectral component regeneration
EP1709743A1 (de) * 2004-01-30 2006-10-11 France Telecom S.A. Vektorquantifizierung mit variabler auflösung und variabler dimension
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
US7668712B2 (en) * 2004-03-31 2010-02-23 Microsoft Corporation Audio encoding and decoding with intra frames and adaptive forward error correction
US8170879B2 (en) * 2004-10-26 2012-05-01 Qnx Software Systems Limited Periodic signal enhancement system
US8543390B2 (en) 2004-10-26 2013-09-24 Qnx Software Systems Limited Multi-channel periodic signal enhancement system
US7680652B2 (en) * 2004-10-26 2010-03-16 Qnx Software Systems (Wavemakers), Inc. Periodic signal enhancement system
US7610196B2 (en) * 2004-10-26 2009-10-27 Qnx Software Systems (Wavemakers), Inc. Periodic signal enhancement system
US8306821B2 (en) * 2004-10-26 2012-11-06 Qnx Software Systems Limited Sub-band periodic signal enhancement system
US7716046B2 (en) * 2004-10-26 2010-05-11 Qnx Software Systems (Wavemakers), Inc. Advanced periodic signal enhancement
US7949520B2 (en) 2004-10-26 2011-05-24 QNX Software Sytems Co. Adaptive filter pitch extraction
US20060215683A1 (en) * 2005-03-28 2006-09-28 Tellabs Operations, Inc. Method and apparatus for voice quality enhancement
US20060217972A1 (en) * 2005-03-28 2006-09-28 Tellabs Operations, Inc. Method and apparatus for modifying an encoded signal
US20060217988A1 (en) * 2005-03-28 2006-09-28 Tellabs Operations, Inc. Method and apparatus for adaptive level control
US20060217970A1 (en) * 2005-03-28 2006-09-28 Tellabs Operations, Inc. Method and apparatus for noise reduction
US20060217983A1 (en) * 2005-03-28 2006-09-28 Tellabs Operations, Inc. Method and apparatus for injecting comfort noise in a communications system
US7707034B2 (en) * 2005-05-31 2010-04-27 Microsoft Corporation Audio codec post-filter
US7831421B2 (en) * 2005-05-31 2010-11-09 Microsoft Corporation Robust decoder
US7177804B2 (en) * 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding
US8620644B2 (en) * 2005-10-26 2013-12-31 Qualcomm Incorporated Encoder-assisted frame loss concealment techniques for audio coding
US8050434B1 (en) 2006-12-21 2011-11-01 Srs Labs, Inc. Multi-channel audio enhancement system
JP2008170488A (ja) * 2007-01-06 2008-07-24 Yamaha Corp 波形圧縮装置、波形伸長装置、プログラムおよび圧縮データの生産方法
US8850154B2 (en) 2007-09-11 2014-09-30 2236008 Ontario Inc. Processing system having memory partitioning
US8904400B2 (en) 2007-09-11 2014-12-02 2236008 Ontario Inc. Processing system having a partitioning component for resource partitioning
US8694310B2 (en) 2007-09-17 2014-04-08 Qnx Software Systems Limited Remote control server protocol system
US8209514B2 (en) 2008-02-04 2012-06-26 Qnx Software Systems Limited Media processing system having resource partitioning
KR101454867B1 (ko) 2008-03-24 2014-10-28 삼성전자주식회사 오디오 신호 압축 방법 및 장치
CN101587711B (zh) * 2008-05-23 2012-07-04 华为技术有限公司 基音后处理方法、滤波器以及基音后处理***
JP4735711B2 (ja) * 2008-12-17 2011-07-27 ソニー株式会社 情報符号化装置
KR101113171B1 (ko) * 2010-02-25 2012-02-15 김성진 흡착 장치
CA3160488C (en) 2010-07-02 2023-09-05 Dolby International Ab Audio decoding with selective post filtering
US9842168B2 (en) 2011-03-31 2017-12-12 Microsoft Technology Licensing, Llc Task driven user intents
US10642934B2 (en) 2011-03-31 2020-05-05 Microsoft Technology Licensing, Llc Augmented conversational understanding architecture
US9244984B2 (en) 2011-03-31 2016-01-26 Microsoft Technology Licensing, Llc Location based conversational understanding
US9760566B2 (en) 2011-03-31 2017-09-12 Microsoft Technology Licensing, Llc Augmented conversational understanding agent to identify conversation context between two humans and taking an agent action thereof
US9298287B2 (en) 2011-03-31 2016-03-29 Microsoft Technology Licensing, Llc Combined activation for natural user interface systems
US9858343B2 (en) 2011-03-31 2018-01-02 Microsoft Technology Licensing Llc Personalization of queries, conversations, and searches
US9454962B2 (en) * 2011-05-12 2016-09-27 Microsoft Technology Licensing, Llc Sentence simplification for spoken language understanding
US9064006B2 (en) 2012-08-23 2015-06-23 Microsoft Technology Licensing, Llc Translating natural language utterances to keyword search queries
US9294113B2 (en) * 2011-07-05 2016-03-22 Massachusetts Institute Of Technology Energy-efficient time-stampless adaptive nonuniform sampling
WO2013019562A2 (en) * 2011-07-29 2013-02-07 Dts Llc. Adaptive voice intelligibility processor
CN103928031B (zh) 2013-01-15 2016-03-30 华为技术有限公司 编码方法、解码方法、编码装置和解码装置
BR112015028914B1 (pt) * 2013-05-24 2021-12-07 Dolby International Ab Método e aparelho para reconstruir um bloco de tempo/frequência de objetos de áudio n, método e codificador para gerar pelo menos um parâmetro de ponderação, e meio legível por computador
EP2980798A1 (de) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Harmonizitätsabhängige Steuerung eines harmonischen Filterwerkzeugs
EP2980796A1 (de) * 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zur Verarbeitung eines Audiosignals, Audiodecodierer und Audiocodierer
JP6986868B2 (ja) * 2017-06-19 2021-12-22 キヤノン株式会社 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、プログラム
KR101925217B1 (ko) * 2017-06-20 2018-12-04 한국과학기술원 가창 표현 이식 시스템
CN114351807A (zh) * 2022-01-12 2022-04-15 广东蓝水花智能电子有限公司 一种基于fmcw的智能马桶冲水方法及智能马桶***

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4472832A (en) * 1981-12-01 1984-09-18 At&T Bell Laboratories Digital speech coder
US4475227A (en) * 1982-04-14 1984-10-02 At&T Bell Laboratories Adaptive prediction
JPS60124153U (ja) * 1984-01-31 1985-08-21 パイオニア株式会社 デ−タ信号読取り装置
US4720861A (en) * 1985-12-24 1988-01-19 Itt Defense Communications A Division Of Itt Corporation Digital speech coding circuit
US4726037A (en) * 1986-03-26 1988-02-16 American Telephone And Telegraph Company, At&T Bell Laboratories Predictive communication system filtering arrangement
JPS62234435A (ja) * 1986-04-04 1987-10-14 Kokusai Denshin Denwa Co Ltd <Kdd> 符号化音声の復号化方式
US4868867A (en) * 1987-04-06 1989-09-19 Voicecraft Inc. Vector excitation speech or audio coder for transmission or storage

Also Published As

Publication number Publication date
EP0294020A2 (de) 1988-12-07
EP0503684A3 (en) 1993-06-23
EP0503684B1 (de) 1998-07-01
JPS6413200A (en) 1989-01-18
US4969192A (en) 1990-11-06
JP2887286B2 (ja) 1999-04-26
DE3856211D1 (de) 1998-08-06
EP0503684A2 (de) 1992-09-16
EP0294020A3 (de) 1989-08-09
CA1336454C (en) 1995-07-25
AU1387388A (en) 1988-10-06

Similar Documents

Publication Publication Date Title
DE3856211T2 (de) Verfahren zur adaptiven Filterung von Sprach- und Audiosignalen
DE60121405T2 (de) Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen
DE69928288T2 (de) Kodierung periodischer sprache
DE69608947T2 (de) Verfahren zur Analyse eines Audiofrequenzsignals durch lineare Prädiktion, und Anwendung auf ein Verfahren zur Kodierung und Dekodierung eines Audiofrequenzsignals
DE69926821T2 (de) Verfahren zur signalgesteuerten Schaltung zwischen verschiedenen Audiokodierungssystemen
DE69132885T2 (de) CELP-Kodierung niedriger Verzögerung und 32 kbit/s für ein Breitband-Sprachsignal
DE69322313T2 (de) C.E.L.P. - Vocoder
DE69910058T2 (de) Verbesserung der periodizität eines breitbandsignals
DE69618422T2 (de) Verfahren zur Sprachdekodierung und tragbares Endgerät
DE69625874T2 (de) Verfahren und Vorrichtung zur Wiedergabe von Sprachsignalen, zur Dekodierung, zur Sprachsynthese und tragbares Funkendgerät
DE60124274T2 (de) Codebuchstruktur und suchverfahren für die sprachkodierung
DE69615839T2 (de) Sprachkodierer
DE60011051T2 (de) Celp-transkodierung
DE69604526T2 (de) Verfahren zur Anpassung des Rauschmaskierungspegels in einem Analyse-durch-Synthese-Sprachkodierer mit einem wahrnehmunggebundenen Kurzzeitfilter
DE69522979T2 (de) Erzeugung von linearen Prädiktionskoeffizienten bei Ausfall von Datenrahmen oder Verlust von Datenpaketen
DE60006271T2 (de) Celp sprachkodierung mit variabler bitrate mittels phonetischer klassifizierung
DE69613910T2 (de) Adaptives, auf der Grundlage eines Kodebuchs arbeitendes Sprachkompressionssystem
DE69727895T2 (de) Verfahren und Vorrichtung zur Sprachkodierung
DE69634179T2 (de) Verfahren und Vorrichtung zur Sprachkodierung und -dekodierung
DE60029990T2 (de) Glättung des verstärkungsfaktors in breitbandsprach- und audio-signal dekodierer
DE69814517T2 (de) Sprachkodierung
DE69531642T2 (de) Synthese eines Anregungssignals bei Ausfall von Datenrahmen oder Verlust von Datenpaketen
DE69900786T2 (de) Sprachkodierung
DE69613908T2 (de) Stimmhaft/stimmlos-Klassifizierung von Sprache für Sprachdekodierung bei Verlust von Datenrahmen
DE69619054T2 (de) Verfahren und Vorrichtung zur Sprachkodierung

Legal Events

Date Code Title Description
8363 Opposition against the patent
8365 Fully valid after opposition proceedings