DE3856211T2 - Verfahren zur adaptiven Filterung von Sprach- und Audiosignalen - Google Patents
Verfahren zur adaptiven Filterung von Sprach- und AudiosignalenInfo
- 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
Links
- 238000001914 filtration Methods 0.000 title claims description 38
- 230000003044 adaptive effect Effects 0.000 title claims description 37
- 238000000034 method Methods 0.000 title claims description 23
- 230000005236 sound signal Effects 0.000 title claims description 16
- 230000008569 process Effects 0.000 title description 6
- 230000006870 function Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 4
- 239000013598 vector Substances 0.000 description 127
- 230000004044 response Effects 0.000 description 45
- 230000015572 biosynthetic process Effects 0.000 description 28
- 238000003786 synthesis reaction Methods 0.000 description 28
- 230000003595 spectral effect Effects 0.000 description 23
- 238000001228 spectrum Methods 0.000 description 9
- 238000013139 quantization Methods 0.000 description 7
- 230000009467 reduction Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000000873 masking effect Effects 0.000 description 5
- 230000008447 perception Effects 0.000 description 5
- 238000007493 shaping process Methods 0.000 description 5
- 230000002238 attenuated effect Effects 0.000 description 4
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 230000001143 conditioned effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
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/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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/083—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being an excitation gain
-
- 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
- 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/26—Pre-filtering or post-filtering
-
- 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
- G10L2019/0001—Codebooks
- G10L2019/0011—Long term prediction filters, i.e. pitch estimation
-
- 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
- G10L2019/0001—Codebooks
- G10L2019/0013—Codebook search algorithms
-
- 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
- G10L2019/0001—Codebooks
- G10L2019/0013—Codebook search algorithms
- G10L2019/0014—Selection 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/α)] als das entsprechende Nachfilter, wobei 0 < α < 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/α)] 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/β)]/1/[1- (z/α)] , 0 < β < α < 1 (1)
- wobei α und β 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 α und β sind 0,8 bzw. 0,5. Aus Figur 5 erkennt man, daß der Gang für α = 0,8 sowohl Formant- Spitzen und spektrale Neigung aufweist, während die Antwort für α = 0,5 nur spektrale Neigung aufweist. Somit kann man mit α = 0,8 und β = 0,5 in Gleichung 2 die spektrale Neigung wenigstens teilweise entfernen, indem die Antwort für α = 0,5 von der Antwort für α = 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/β)] in die Übertragungsfunktion H(z) einbezogen wurde. Die gefilterte Sprache blieb jedoch selbst mit dem die spektrale Neigung kompensierenden Term [1- (z/β)] 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 + γz-p/1 - λ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 γ und λ gemäß den folgenden Formeln bestimmt:
- γ = C&sub2;f(x), λ = Cpf(x), 0 < Cz, Cp < 1, (4)
- wobei
- 1 wenn x > 1
- f(x) = x wenn Uth ≤ x ≤ 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 - λ/x/1 + γ/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 - γ/z-p/1 + λ/z-p (6)
aufweist, wobei Cg ein adaptiver Skalierungsfaktor ist
und die Faktoren γ und λ gemäß der folgenden Formeln
γ = czf(x), λ = cpf(x)&sub1; 0 < cz, cp < 1
bestimmt werden, wobei
1 wenn z > 1
f(z) = x wenn Uth ≤ x ≤ 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.
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)
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)
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 |
-
1987
- 1987-04-06 US US07/035,615 patent/US4969192A/en not_active Expired - Lifetime
-
1988
- 1988-03-30 AU AU13873/88A patent/AU1387388A/en not_active Abandoned
- 1988-04-05 CA CA000563229A patent/CA1336454C/en not_active Expired - Lifetime
- 1988-04-05 JP JP63084973A patent/JP2887286B2/ja not_active Expired - Lifetime
- 1988-04-06 EP EP92108904A patent/EP0503684B1/de not_active Expired - Lifetime
- 1988-04-06 EP EP88303038A patent/EP0294020A3/de not_active Withdrawn
- 1988-04-06 DE DE3856211T patent/DE3856211T2/de not_active Expired - Lifetime
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 |