DE69232887T2 - Sprachkodierungsverfahren - Google Patents
SprachkodierungsverfahrenInfo
- Publication number
- DE69232887T2 DE69232887T2 DE69232887T DE69232887T DE69232887T2 DE 69232887 T2 DE69232887 T2 DE 69232887T2 DE 69232887 T DE69232887 T DE 69232887T DE 69232887 T DE69232887 T DE 69232887T DE 69232887 T2 DE69232887 T2 DE 69232887T2
- Authority
- DE
- Germany
- Prior art keywords
- quantization
- vector
- parameters
- lsp
- code
- 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
- 238000000034 method Methods 0.000 title claims description 52
- 238000001228 spectrum Methods 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 5
- 238000013139 quantization Methods 0.000 description 210
- 239000013598 vector Substances 0.000 description 192
- 230000003595 spectral effect Effects 0.000 description 57
- 238000004364 calculation method Methods 0.000 description 19
- 230000004048 modification Effects 0.000 description 15
- 238000012986 modification Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000012549 training Methods 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 2
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 2
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 2
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000000205 computational method Methods 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 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/06—Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
- G10L19/07—Line spectrum pair [LSP] vocoders
-
- 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/002—Dynamic bit allocation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3082—Vector coding
-
- 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/0004—Design or structure of the codebook
- G10L2019/0005—Multi-stage vector quantisation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Theoretical Computer Science (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
- Diese Erfindung betrifft ein Verfahren
- zur Sprachkodierung zur Anwendung mit einem Sprachkodierungsverfahren und System zum Kodieren eines Sprachsignals mit hoher Qualität bei einer niedrigen Bitrate, insbesondere bei etwa 8 kb/s oder darunter.
- Verschiedene Verfahren zum Kodieren eines Sprachsignals bei einer niedrigen Bitrate von 8 kb/s oder darunter sind bereits bekannt. Ein exemplarisches von solchen Kodierungsverfahren ist CELP (Code Excited Linear Prediction), welches in M. R. Shroeder and B. S. Atal, "CODE-EXCITED LINEAR PREDIC- TION (CELP): HIGH-QUALITY SPEECH AT VERY LOW BIT RATES" (Proc. ICASSP, pp. 937-940, 1985) (Literatur 1) und auch in W. B. Kleijn et al. "IMPROVED SPEECH QUALITY AND EFFICIENT VECTOR QUANTIZATION IN CELP" (Proc. ICASSP, pp. 155-158, 1988) (Literatur 2) offenbart ist. Gemäß diesem Verfahren wird auf der Sendeseite ein eine Spektralcharakteristik repräsentierender Spektralparameter aus dem Sprachsignal für jeden Rahmen (von beispielsweise 20 ms) extrahiert. Jeder Rahmen wird in Unterrahmen von beispielsweise 5 ms unterteilt und ein eine Lang zeitkorrelation (Tonlagenkorrelation) repräsentierender Tonlagenparameter für jeden Unterrahmen aus dem Anregungssignal in der Vergangenheit extrahiert. Dann wird eine Langzeitprädiktion (Tonlagenprädiktion) des Sprachsignals der Unterrahmen unter Verwendung des Tonlagenparameters durchgeführt. In Abhängigkeit von einem durch eine solche Langzeitprädiktion erhaltenen Restsignal wird ein Rauschsignal aus einer Kodetabelle selektiert, welche aus vorbestimmten Rauschsignalen aufgebaut ist, so daß die Fehlerpotenz zwischen dem Sprachsignal und einem unter Verwendung des selektierten Signals synthetisierten Signal minimiert werden kann, und ein optimaler Verstärkungsfaktor berechnet wird. Ein die Art des so selektierten Rauschsignals und der Verstärkung repräsentierender Index wird zusammen mit dem Spektralparameter und dem Tonlagenparameter übertragen.
- Ein effizientes Quantisierungsverfahren nicht nur für ein Anregungssignal sondern auch für einen Spektralparameter ist von Bedeutung, um die Bitrate eines solchen CELP-Verfahrens weiter zu reduzieren.
- In dem vorstehend beschriebenen CELP-Verfahren wird ein LPC-Parameter, welcher durch eine LPC-Analyse gefunden wird, als ein Spektralparameter quantisiert. Eine Skalarquantisierung wird normalerweise als ein solches Quantisierungsverfahren angewendet, und eine Anzahl von 34 Bits pro Rahmen (1,7 kb/s) oder ähnlich benotigt, um LPC-Koeffizienten 10-ter Ordnung zu quantisieren. Obwohl es erforderlich ist, die Bitanzahl eines Spektralparameters so weit wie möglich zu reduzieren, um die Bitanzahl des CELP-Verfahrens unter 4,8 kb/s zu reduzieren, wird dann auch die Tonqualität, dementsprechend verschlechtert, wenn die Bitanzahl auf diese Weise reduziert wird. Ein Vektor/Skalar-Quantisierungsverfahren wurde bereits als ein effizienteres Verfahren zur Quantisierung eines LPC- Parameters vorgeschlagen und ist beispielsweise in Moriya, "Transform Coding of Speech Using a Weighted Vector Quantizer", IEEE J. Bei. Areas, Commun, pp. 425-431, 1998 (Literatur 3) offenbart. Jedoch erfordert ein derartiges Vektor/Skalar-Quantisierungsverfahren aber immer noch eine Bitanzahl von 27 bis 30 Bits pro Rahmen. Demzufolge ist ein effizienteres Verfahren zur Reduzierung der Bitrate erforderlich.
- Da ferner die Anzahl der für die Quantisierung eines Spektralparameters erforderlichen Bits reduziert ist, ist es dann, wenn Rahmen eine größere Länge gegeben wird, schwierig, eine zeitliche Veränderung des Spektrums gut darzustellen, wodurch die zeitliche Verzerrung vergrößert wird, was zu einer Verschlechterung der Tonqualität führt.
- Es ist eine Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung für eine Sprachparameterkodierung bereitzustellen, durch welche eine gute Tonqualität auch mittels einer Quantisierung eines Spektralparameters mit einer kleineren Anzahl von Bits als jemals zuvor erreicht werden kann. Diese Aufgabe wird durch die Merkmale der Ansprüche gelöst.
- Erfindungsgemäß wird ein Sprachkodierverfahren angegeben, das die folgenden Schritte aufweist:
- Empfang eines Eingangssprachsignals,
- Unterteilen des Eingangssprachsignals in mehrere Rahmen;
- Unterteilen jedes der Rahmen in mehrere kürzere Teilrahmen,
- Auffinden einer vorgegeben Ordnungszahl der Spektrumparameter für das Sprachsignal von mindestens einem der Teilrahmen,
- Quantisieren der Spektrumparameter von mindestens einem der Teilrahmen unter Verwendung eines ersten Codebuchs, das vorher konstruiert worden ist, und
- Quantisieren von Parametern der anderen Teilrahmen oder zumindest eines der anderen Teilrahmen unter Verwendung der quantisierten Werte und eines zweiten Codebuchs, das vorher konstruiert worden ist, oder nicht lineare Verarbeitung.
- Wenn Spektrumparameter, die für Spektrumcharakteristika von Sprache repräsentativ sind, mit dem Sprachparameterkodierverfahren quantisiert werden sollen, wird ein Rahmen in mehrere kürzere Teilrahmen unterteilt und Spektrumparameter werden gefunden und vektorquantisiert für mindestens einen der Teilrahmen, während Spektrumparameter des anderen Teilrahmens oder der anderen Teilrahmen durch Prädiktoren repräsentiert werden, die auf den so vektorquantisierten Werten basieren. Selbst wenn die Rahmenlänge zum Reduzieren der Bitrate erhöht würde, ist es daher vorteilhaft, daß Spektrumparameter mit einer kleinen Bitzahl und kleinem Rechenumfang gut quantisiert werden können. Ferner kann eine zeitweise Änderung gut repräsentiert werden.
- Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird ein Sprachkodierverfahren angegeben, das die folgenden Schritte aufweist:
- Empfang eines Eingangssprachsignals,
- Unterteilen des Eingangssprachsignals in mehrere Rahmen,
- Unterteilen jedes der Rahmen in mehrere kürzere Teilrahmen,
- Auffinden einer vorgegebenen Ordnungszahl der Spektrumparameter für das Sprachsignal von mindestens einem der Teilrahmen,
- Quantisieren der Spektrumparameter eines der Teilrahmen unter Verwendung eines vorher konstruierten ersten Codebuchs, Auffinden von Differenzsignalen zwischen den Spektrumparametern des anderen Teilrahmens oder mindestens eines der anderen Teilrahmen und der quantisierten Werte, und Quantisieren der Differenzsignale unter Verwendung eines vorher konstruierten zweiten Codebuchs.
- Da Sprachparameter der anderen Teilrahmen durch vektorquantisierte Werte von Differenzsignalen repräsentiert werden, besteht ein Vorteil des Sprachparameterkodierverfahrens darin, daß Spektrumparameter mit kleinerer Bitzahl und einem kleinen Rechenaufwand gut quantisiert werden können und auch eine zeitweise Änderung gut repräsentiert werden kann, selbst wenn die Rahmenlänge zum Reduzieren der Bitrate erhöht ist.
- Ferner wird beschrieben eine Sprachparameterkodiervorrichtung mit:
- einer Einrichtung zum Unterteilen eines Eingangs sprachsignals in mehrere Rahmen,
- einer Einrichtung zum Auffinden einer vorgegebenen Ordnungszahl von Sprachparametern aus dem Sprachsignal,
- einer Einrichtung zum Vektorquantisieren der Sprachparameter,
- einer Einrichtung zur Skalarquantisierung von Differenzsignalen zwischen den Spektrumparametern und den vektorquantisierten Werten, und
- einer Einrichtung zum Bestimmen einer vorgegebenen Ordnungszahl von Quantisierungsbereichen für die Skalarquantisierung für jeden einer vorgegebenen Anzahl von Codevektoren der Vektorquantisierungseinrichtung, so daß die Skalarquantisierungseinrichtung veranlaßt wird, innerhalb der Quantisierungsbereiche eine Skalarquantisierung auszuführen. Ferner wird beschrieben eine Sprachparameterkodiervorrichtung mit:
- einer Einrichtung zum Unterteilen eines Eingangssprachsignals in mehrere Rahmen,
- einer Einrichtung zum Auffinden einer vorgegebenen Ordnungszahl von Sprachparametern aus dem Sprachsignal,
- einer Einrichtung zum Vektorquantisieren der Spektrumparameter,
- einer Einrichtung zur Skalarquantisierung von Differenzsignalen zwischen den Spektrumparametern und den vektorquantisierten Werten,
- einer Einrichtung zum Erzeugen mehrerer Kandidaten von Quantisierungswerten für jede Ordnungszahl der Spektrumparameter an der Skalarquantisierungseinrichtung,
- einer Einrichtung zum Modifizieren eines Quantisierungsbereichs eines benachbarten Spektrumparameters unter Verwendung jedes der Kandidaten, und
- einer Einrichtung zum Akkumulieren einer vorgegebenen Ordnungszahl von quantisierten Verzerrungen durch die quantisierten Werte und zum Erzeugen einer quantisierten Wertesequenz, die die akkumulierte Verzerrung minimiert.
- Ferner wird beschrieben eine Sprachparameterkodiervorrichtung mit:
- einer Einrichtung zum Unterteilen eines Eingangssprachsignals in mehrere Rahmen,
- einer Einrichtung zum Auffinden einer vorgegebenen Ordnungszahl von Spektrumparametern aus dem Sprachsignal,
- einer Einrichtung zum Vektorquantisieren der Spektrumparameter,
- einer Einrichtung zur Skalarquantisierung von Differenzsignalen zwischen den Spektrumparametern und den vektorquantisierten Werten,
- einer Einrichtung zum Bestimmen einer vorgegebenen Ordnungszahl von Quantisierungsbereichen für die skalare Quantisierung für jeden einer vorgegebenen Anzahl von Codevektoren aus der Vektorquantisierungseinrichtung,
- einer Einrichtung zum Erzeugen mehrerer Kandidaten von Quantisierungswerten für jede Ordnungszahl der Spektrumparameter für die Skalarquantisierung,
- einer Einrichtung zum Modifizieren eines Quantisierungsbereichs eines benachbarten Spektrumparameters unter Verwendung jedes der Kandidaten, und
- einer Einrichtung zum Akkumulieren einer vorgegebenen Ordnungszahl von Quantisierungsverzerrungen durch die Quantisierungswerte und zum Erzeugen einer quantisierten Wertesequenz, die die akkumulierte Verzerrung minimiert.
- Wenn mit der Sprachparameterkodiervorrichtung Sprachparameter eines Sprachsignals vektorquantisiert werden und dann Differenzsignale zwischen den Spektrumparametern und den vektorquantisierten Werten skalar quantisiert werden sollen, wird für eine vorgegebene Anzahl von Codevektoren zur Vektorquantisierung eine vorgegebene Rahmennummer der quantisierten Bereiche für die Skalarquantisierung bestimmt, und eine Skalarquantisierung wird innerhalb derartiger Quantisierungsbereiche ausgeführt. Wenn ferner derartige Differenzsignale skalar quantisiert werden sollen, werden mehrere Kandidaten von quantisierten Werten durch Skalarquantisierung erzeugt, und dann werden die quantisierten Bereiche von benachbarten Spektrumparametern unter Verwendung der quantisierten Wertekandidaten korrigiert; daraufhin wird eine vorgegebene Ordnungszahl von Quantisierungsverzerrungen für jeden der Kandidaten akkumuliert, wenn eine Skalarquantisierung ausgeführt wird, und danach wird eine quantisierte Wertesequenz erzeugt, die die akkumulierte Verzerrung minimiert. Dadurch ergibt sich ein signifikanter Vorteil dahingehend, daß die zur Quantisierung von Spektrumparametern erforderliche Bitzahl im Vergleich zu herkömmlichen Sprachparameterkodiervorrichtungen verringert werden kann.
- Die vorstehenden und weiteren Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der nachstehenden Beschreibung und den beigefügten Ansprüchen in Verbindung mit den beigefügten Zeichnungen ersichtlich, in welchen gleiche Teile oder Elemente mit gleichen Bezugszeichen bezeichnet sind. In den Zeichnungen zeigen:
- Fig. 1 ein Blockschaltbild, das eine Sprachparameterkodierungsvorrichtung darstellt;
- Fig. 2 eine ähnliche Ansicht, welche aber eine andere eine Sprachparameterkodierungsvorrichtung darstellt;
- Fig. 3 eine ähnliche Ansicht, welche aber eine weitere Sprachparameterkodierungsvorrichtung darstellt, auf welche die vorliegende Erfindung angewendet wird;
- Fig. 4 eine schematische Ansicht, welche die Beziehung zwischen einem Rahmen und Unterrahmen eines Sprachsignals veranschaulicht;
- Fig. 5 zeigt ein Blockschaltbild, welches noch eine weitere Sprachparameterkodierungsvorrichtung darstellt, auf welche die vorliegende Erfindung angewendet wird;
- Fig. 6 zeigt ein Blockschaltbild, welches noch eine weitere Sprachparameterkodierungsvorrichtung darstellt;
- Fig. 7 eine ähnliche Ansicht, welche eine Modifikation der Sprachparameterkodierungsvorrichtung von Fig. 6 darstellt;
- Fig. 8 eine ähnliche Ansicht, welche aber eine Modifikation der modifizierten Sprachparameterkodierungsvorrichtung von Fig. 7 darstellt;
- Fig. 9 eine ähnliche Ansicht, welche aber eine andere Sprachparameterkodierungsvorrichtung darstellt;
- Fig. 10 ein Blockschaltbild, das eine LSP-Quantisierungsschaltung von Fig. 9 darstellt;
- Fig. 11 ein Blockschaltbild, das eine Modifikation der Sprachparameterkodierungsvorrichtung von Fig. 9 darstellt;
- Fig. 12 ein Blockschaltbild, das eine LSP-Quantisierungsschaltung der Sprachparameterkodierungsvorrichtung von Fig. 11 darstellt;
- Fig. 13 ein Blockschaltbild, das eine weitere unterschiedliche Sprachparameterkodierungsvorrichtung darstellt, auf welche die vorliegende Erfindung angewendet wird;
- Fig. 14 ein Blockschaltbild, das eine LSP-Quantisierungsschaltung von Fig. 13 darstellt;
- Fig. 15 ein Blockschaltbild, das eine Modifikation der Sprachparameterkodierungsvorrichtung von Fig. 13 darstellt;
- Fig. 16 ein Blockschaltbild, das eine LSP-Quantisierungsschaltung von Fig. 15 darstellt;
- Fig. 17 ein Blockschaltbild, das eine weitere unterschiedliche Sprachparameterkodierungsvorrichtung darstellt;
- Fig. 18 eine ähnliche Ansicht, welche aber eine Modifikation der Sprachparameterkodierungsvorrichtung von Fig. 17 darstellt; und
- Fig. 19 eine ähnliche Ansicht, welche aber eine Modifikation der modifizierten Sprachparameterkodierungsvorrichtung von Fig. 18 darstellt.
- In Fig. 1 ist eine Sprachparameterkodierungsvorrichtung dargestellt.
- Die Sprachparameterkodierungsvorrichtung empfängt eine vorbestimmte Ordnungszahl (beispielsweise die Ordnungszahl P) von Spektralparametern, die aus einem Sprachsignal für jeden Rahmen berechnet werden. Eine allgemein bekannte linear prädiktive Kodierungs-(LPC)-Analyse kann, für die Analyse derartiger Spektralparameter verwendet werden. Obwohl verschiedene Spektralparameter bekannt sind, wird hier ein Linienspektrumpaar-(LSP)-Parameter zur Erleichterung der Beschreibung verwendet. Eine detaillierte Berechnungsprozedur für LSP-Parameter ist beispielsweise in N. Suganuma, "Quantizer Design LSP Speech Analysis-Synthesis", IEEE J. Bei. Areas Commun., pp. 425-431, 1988 (Literatur 4) offenbart.
- Ein Teilungsabschnitt 100 der Sprachparameterkodierungsvorrichtung empfängt somit LSP-Parameter P-ter Ordnung, teilt diese in mehrere, beispielsweise N, Gruppen, welche jeweils LSP-Parameter K-ter Ordnung (K < P) enthalten und sendet jeden derartigen LSP-Parameter K-ter Ordnung an einen Vektorquantisierer 110. Der Vektorquantisierer 110 weist im voraus erstellte Kodetabellen 150-1 bis 150-N auf, die der Teilungsanzahl bei dem Teilungsabschnitt 100 entsprechen, und jeweils Kodevektoren K-ter Ordnung enthalten. Obwohl die Kodetabellen 150-1 bis 150-N so erstellt sein können, daß sie die LSP- Parameter so enthalten wie sie sind, können sie andererseits hier so erstellt sein, daß sie, indem sie von der Eigenschaft, daß solche LSP-Parameter eine hohe Korrelation zwischen sich bei unterschiedlichen Ordnungszahlen aufweisen,
- Differenzwerte zwischen unterschiedlichen Spektralparametern bei unterschiedlichen Ordnungszahlen repräsentieren können, um diese mit einer hoheren Effizienz darzustellen. Der i-te Spektralparameter kann unter Verwendung von in den Kodetabellen 150-1 bis 150-N enthaltenen Kodevektoren in der nachstehenden Gleichung dargestellt werden:
- ω'i = ω'i-1 + Δω'ij
- wobei Δω'ij der in der i-ten Kodetabelle 150-i enthaltene j-te Kodevektor ist.
- Hier werden die Kodetabellen 150-1 bis 150-N durch Lernen von Differenzwerten zwischen Spektralparametern bei unterschiedlichen Ordnungszahlen für jede vorbestimmte Ordnungszahl als Trainings Signalen erstellt. Ein derartiges Lernverfahren ist beispielsweise in Linde, Buzo and Gray, "An Algorithm for Vector Quantization Design" (Literatur 5) offenbart.
- Der Vektorquantisierer 110 berechnet eine Quantisierungsverzerrung für alle Parameter K-ter Ordnung gemäß nachstehender Gleichung:
- wobei ωi der LSP-Eingangsparameter i-ter Ordnung ist, und ω'ij der LSP-Parameter i-ter Ordnung ist, der unter Verwendung des j-ten Kodevektors repräsentiert wird. Der Vektorquantisierer 110 gibt M Kandidaten von Kodevektoren aus, welche die vorstehende Gleichung (2) für jeden Parameter in Reihenfolge der Größe der Verzerrung, ausgehend von dem kleineren, minimiert.
- Ein Abschnitt 160 für die Berechnung der akkumulierten Verzerrung berechnet eine akkumulierte Verzerrung E für alle möglichen Kombinationen der für alle Parameter K-ter Ordnung ausgegebenen M Kodevektoren gemäß nachstehender Gleichung.
- Ein Minimumunterscheidungsabschnitt 170 findet eine Kombination von Kandidaten, welche den akkumulierten Verzerrungsfehler E minimiert, und gibt dann die Kombination der Kodevektoren aus.
- In Fig. 2 ist nun eine andere Sprachparameterkodierungsvorrichtung dargestellt. Die Sprachparameterkodierungsvorrichtung unterscheidet sich von der vorhergehenden Sprachparameterkodierungsvorrichtung von Fig. 1 dahingehend, daß die Vektorquantisierungskodetabellen in Reihenschaltung bei mehreren Stufen geschaltet sind, und jede solcher Stufen ein Fehlersignal zwischen einem Eingangs signal zu der vorhergehenden Stufe und einem Ausgangssignal der vorhergehenden Stufe empfängt, und es in einer Kodetabelle darstellt. Ferner stellt eine Kodetabelle bei mindestens einer Stufe Differenzen zwischen Spektralparametern bei verschiedenen Ordnungszahlen dar. Hier weist die in Fig. 2 dargestellte Sprachparameterkodierungsvorrichtung zwei Stufen auf, wobei Spektralparameter nicht bei der ersten Stufe geteilt werden, sondern diese in Unterrahmen für alle Spektralparameter K-ter Ordnung unterteilt sind.
- Die Sprachparameterkodierungsvorrichtung empfängt Spektralparameter P-ter Ordnung, und die so empfangene Spektralparameter P-ter Ordnung werden von einem ersten Vektorquantisierer 200 unter Verwendung einer ersten Kodetabelle 210 quantisiert, welche durch Lernen von Spektralparametern P-ter Ordnung im voraus erstellt wird. Hier berechnet der erste Vektorquantisierer 200 eine Verzerrung der hierin vorstehend gegebenen Gleichung (2) unter Verwendung von Kodevektoren j der Kodetabelle 210 und gibt M Kandidaten in der Reihenfolge der Große der Verzerrung vom Minimum ausgehend aus. Ein Subtrahierer 220 berechnet für jeden der M Kandidaten ein Fehlersignal zwischen diesem und dem Eingangsspektralparameter und gibt das Fehlersignal an einen zweiten Vektorquant isierer 230 aus. Der zweite Vektorquantisierer 230 teilt solche Fehlersignale für alle vorbestimmten Parameter K-ter Ordnung.
- Ferner stellt der zweite Vektorquantisierer 230 die Fehlersignale unter Verwendung zweiter Kodetabelle 240-1 bis 240-N, welche Differenzen zwischen Parametern bei verschiedenen Ordnungszahlen darstellen, für alle Parameter K-ter Ordnung dar. Hier werden die vorstehend gegebenen Gleichungen (1) und (2) zur Berechnung einer Verzerrung verwendet. Ferner gibt der zweite Vektorquantisierer 230 M Kodevektoren in der Reihenfolge der Größe der Verzerrung der Gleichung 2 vom Minimum ausgehend, als Kandidaten für alle K Parameter aus. Ein Abschnitt 250 zur Berechnung der akkumulierten Verzerrung berechnet akkumulierte Verzerrungen für alle möglichen Kombinationen der von der ersten Stufe ausgegebenen M Kandidaten und der von der zweiten Stufe für alle Parameter K-ter Ordnung ausgegebenen Kandidaten. Ein Minimumunterscheidungsabschnitt 260 findet eine Kombination von Kandidaten, welche eine akkumulierte Verzerrung minimiert, und gibt dann eine Kombination von Kodevektoren aus.
- Hier wird der Lernvorgang der ersten Kodetabelle für LSP- Parameter P-ter Ordnung für das Training gemäß der hierin vorstehend erwähnten Literatur 5 durchgeführt. Der Lernvorgang der zweiten Kodetabellen hinsichtlich Fehlersignalen wird jedoch unter Anwendung eines Verfahrens ähnlich dem durchgeführt, das in der hierin vorstehend unter Bezugnahme auf Fig. 1 beschriebenen Sprachparameterkodierungsvorrichtung verwendet wird.
- In Fig. 3 ist nun eine Sprachparameterkodierungsvorrichtung dargestellt, auf welche die vorliegende Erfindung angewendet wird. Die vorliegende Sprachparameterkodierungsvorrichtung unterteilt ein Eingangs sprachsignal in mehrere Rahmen vorbestimmter zeitlicher Länge (beispielsweise 30 bis 40 ms) und teilt dann das Sprachsignal für jeden Rahmen in mehrere Unterrahmen (von beispielsweise 5 bis 8 ms), die kürzer als der Rahmen sind, worauf sie die allgemein bekannte LPC-Analyse für mindestens einen Unterrahmen in jedem Rahmen durchführt, um einen Spektralparameter zu finden. Die vorliegende Sprachparameterkodierungsvorrichtung wird hierin nachstehend beschrieben, wie sie eine LPC-Analyse beispielsweise für zwei ünterrahmen in jedem Rahmen zum Finden von Spektralparametern durchführt. Insbesondere wird eine LPC-Analyse für den zweiten und den vierten Unterrahmen von fünf Unterrahmen eines in Fig. 4 dargestellten Rahmens durchgeführt. Die so gefundenen Spektralparameter werden von einem Anschlüssepaar 300 und 305 der Sprachparameterkodierungsvorrichtung empfangen. Hier wird der Spektralparameter des Unterrahmens 2 über den Anschluß 300 empfangen, während der Spektralparameter des Unterrahmens 4 über den Anschluß 305 empfangen wird. Die Spektralparameter hier sind Linienspektrumpaar-(LSP)-Parameter zur Erleichterung der Beschreibung. Solche LSP-Parameter können unter Verwendung des beispielsweise in der vorstehend erwähnten Literatur 4 offenbarten Verfahrens berechnet werden. Ein Vektorquantisierer 310 führt somit eine Vektorquantisierung der LSP-Eingangsparameter unter Verwendung einer ersten Kodetabelle 320 durch. Die Kodetabelle 320 wird durch Lernen einer großen Menge einer LSP-Parameterfolge für das Training im voraus erstellt. Ein solches Lernverfahren ist beispielsweise in der vorstehend erwähnten Literatur 5 offenbart. Obwohl bereits verschiedene Verzerrungsmaße zum Suchen eines Kodevektors bekannt sind, wird hier ein quadrierter Abstand zwischen LSP-Parameter als Verzerrungsmaß verwendet. Ein quadrierter Abstand zwischen LSP-Parametern ist durch die nachstehende Gleichung gegeben:
- wobei LSP(i) der i-te LSP-Eingangskoeffizient ist, und LSP'j(i) der j-te Kodevektor ist, den die Kodetabelle 320 aufweist, wobei j = i bis 2B und B eine Bitanzahl der Kodetabelle 320 ist. Der Vektorquantisierer 310 gibt einen Kodevektor, welcher die vorstehende Gleichung (4) minimiert, über einen Anschluß 340 aus, und gibt ferner den Kodevektor an einen prädiktiven Vektorquantisierer 330 aus.
- Der prädiktive Vektorquantisierer 330 prädiziert eine LSP-Parameterfolge des über den Anschluß 305 empfangenen anderen Unterrahmens unter Verwendung des Ausgangskodevektors des Vektorquantisierers 310 und einer zweiten oder Koeffizientenkodetabelle 360 und berechnet eine prädiktive Quantisierungsverzerrung in Abhängigkeit von der nachstehenden Gleichung:
- für 1 = 1 bis 2BB wobei LSP'(i) von dem Vektorquantisierer 310 berechnete Kodevektoren sind, und Al(i) die l-ten Kodevektoren sind, welche die Koeffizientenkodetabelle 360 aufweist. Der prädiktive Vektorquantisierer 330 findet Koeffizientenkodevektoren, welche die vorstehende Gleichung (5) minimieren, und sie dann als Quantisierungswerte für die Spektralparameter der Unterrahmen über ein Anschluß 350 ausgibt. Die prädiktiven Koeffizienten der Koeffizientenkodetabelle 360 können durch Lernen des LSP-Parameter-Signals für das Training unter Verwendung der hierin vorstehend erwähnten Literatur 5 oder dergleichen erstellt werden, so daß die vorstehende Gleichung (5) minimiert werden kann.
- Alternativ kann eine nicht lineare Prädiktion unter Anwendung einer nicht-linearen Verarbeitung durchgeführt werden. Zwei solcher Verfahren stehen zur Verfügung. Eines der zwei Verfahren verwendet eine nicht lineare prädiktive Kodetabelle als Koeffizientenkodetabelle 360. Ein Lernverfahren einer derartigen nicht-linearen prädiktiven Kodetabelle ist beispielsweise in S. Wang et al., "Performance of Non-Linear Prädiktion of Speech", Proc. ICSLP, pp. 29-32, 1990 (Literatur 6) offenbart. Das andere verfügbare Verfahren verwendet eine Prädiktion mittels eines neuralen Netzes anstelle des prädiktiven Vektorquantisierers 330 und der Koeffizientenkodetabelle 360. Details eines Prädiktionsverfahrens mittels eines neuralen Netzes sind beispielsweise in Iso et al., "Speaker-Independent Word Recognition Using a Neural Prädiktion Model", Proc. ICASSP, pp. 441-444, 1990 (Literatur 7) offenbart.
- In Fig. 5 ist nun eine weitere SprachparameterkodierungsVorrichtung dargestellt, auf welche die vorliegende Erfindung angewendet wird. Die vorliegende Sprachparameterkodierungsvorrichtung ist der in Fig. 3 dargestellten Sprachparameterkodierungsvorrichtung dahingehend ähnlich, daß sie einen Vektorquantisierer 410 und eine Kodetabelle 420 enthält, welche dem Vektorquantisierer 310 bzw. der Kodetabelle 320 ähnlich sind, sich aber dahingehend unterscheidet, daß sie einen Differenzvektorquantisierer 470 und eine Differenzkodetabelle 480 anstelle des prädiktiven Vektorquantisierers 330 bzw. der Koeffizientenkodetabelle 360 enthält.
- Der Differenzvektorquantisierer 470 berechnet ein Differenzsignal zwischen einer über einer Anschluß 405 empfangenen LSP-Eingangsparameterfolge und vektorquantisierten Ausgangssignalen der Vektorquantisierers 410 in Abhängigkeit von der nachfolgenden Gleichung:
- LSPe(i) = LSP(i) - B·LSP'(i) (6)
- wobei B eine positive Konstante gleich oder kleiner als 1 ist. Die nachstehende Beschreibung erfolgt auf der Annahme von B = l.
- Der Differenzvektorquantisierer 470 führt eine Vektorquantisierung des Differenzsignals LSPe(i) unter Verwendung der Differenzkodetabelle 480 durch. Hier wird die Differenzkodetabelle 480 durch Lernen des Trainingssignals von LSP- Differenzparametern im voraus, beispielsweise unter Anwendung des in der Literatur 5 angegebenen Verfahrens erstellt. Dann selektiert der Differenzvektorquantisierer 470 einen Kodevektor, welcher die Quantisierungsverzerrung minimiert, und gibt den selektierten Kodevektor über einen Anschluß 450 aus. In Fig. 6 ist nun eine weitere Sprachparameterkodierungsvorrichtung dargestellt. Die Sprachparameterkodierungsvorrichtung unterteilt ein über einen Anschluß 101 empfangenes Eingangssprachsignal in mehrere Rahmen vorbestimmter zeitlicher Länge (von beispielsweise 30 bis 40 ms) und führt in einem LSP-Analysator 105 eine allgemein bekannte LSP-Analyse zum Finden von Spektralparametern durch. Hier können die Spektralparameter Linienspektrumpaar-(LSP)-Parameter sein. Ein detailliertes Berechnungsverfahren derartiger LSP-Parameter ist beispielsweise in der vorstehend erwähnten Literatur 4 offenbart. Ein Vektorquantisierer 110 führt eine Vektorquantisierung an den LSP-Eingangsparametern unter Verwendung einer Kodetabelle 120 durch. Die Kodetabelle 120 wird erstellt, indem im voraus eine große Menge einer LSP-Parameterfolge für das Training verwendet wird. Ein solches Lernverfahren ist beispielsweise in der vorstehend erwähnten Literatur 5 offenbart. Obwohl verschiedene Verzerrungsmaße zum Suchen eines Kodevektors bereits bekannt sind, wird hier ein quadrierter Abstand zwischen LSP-Parametern als Verzerrungsmaß verwendet. Ein solcher quadrierter Abstand zwischen LSP- Parametern ist durch die nachstehende Gleichung gegeben:
- wobei LSP(i) i-te LSP-Eingangskoeffizienten sind, P eine Ordnungszahl der LSP-Parameter ist, und LSP'j(i) j-te Kodevektoren der Kodetabelle 120 sind, wobei j = i bis 2B und B eine Bitanzahl der Kodetabelle 120 ist. Der Vektorquant isierer 110 gibt einen Kodevektor, welcher die vorstehende Gleichung (7) minimiert, an einen Subtrahierer 130 aus. Hier kann der Vektorquantisierer 110 einen einzelnen Kodevektor selektieren, welcher die Gleichung (7) minimiert, oder mehrere Kodevektoren selektieren, welche die Gleichung (7) in einer Reihenfolge der· Größe von dem minimalen ausgehend minimieren. Ferner gibt der Vektorquantisierer 110 einen den selektierten Kodevektor bzw. die Kodevektoren repräsentierenden Index oder Indices j an einen Skalarquantisierer 140 und an einen Anschluß 155 aus.
- Der Subtrahierer 130 subtrahiert den selektierten Kodevektor von dem LSP-Eingangsparameter, um ein Restsignal e(i) abhängig von der nachstehenden Gleichung (8) zu finden und gibt es an den Skalarquantisierer 140 aus:
- e(i) = LSP(i) - LSP'j(i). (8)
- Der Skalarquantisierer 140 mißt im voraus für jede Ordnungszahl i einen Verteilungsbereich von Restsignalen, die von dem Subtrahierer 130 für jeden der vorbestimmten M Kodevektoren (M ≤ 2B, wobei B eine Bitanzahl der Kodetabelle 120 ist), die in der Kodetabelle 120 im voraus festgelegt sind, ermittelt. Ein detailliertes Berechnungsverfahren für einen solchen Verteilungsbereich ist beispielsweise in der hierin vorstehend erwähnten Literatur 4 offenbart. Ferner schaltet der Skalarquantisierer 140 den Verteilungsbereich unter Verwendung des von dem Vektorquantisierer 110 empfangenen Indexes j um und führt eine Skalarquantisierung an dem Restsignal e(i) unter Verwendung einer im voraus für jede Ordnungszahl i ermittelten Bitanzahl durch. Die Ergebnisse einer derartigen Skalarquantisierung werden an einen Anschluß 145 ausgegeben.
- In Fig. 7 ist nun eine Modifikation an der Sprachparameterkodierungsvorrichtung von Fig. 6 darstellt. Die modifizierte Sprachparameterkodierungsvorrichtung unterscheidet sich von der Sprachparameterkodierungsvorrichtung von Fig. 6 dahingehend, daß sie einen anderen Skalarquantisierer 135 anstelle des Skalarquantisierers 140 enthält, und zusätzlich einen Abschnitt 165 zur Berechnung der akkumulierten Verzerrung enthält.
- Insbesondere mißt der Skalarquantisierer 135 im voraus einen existierenden Bereich eines Ausgangsrestsignals e(i) des Subtrahierers 130 für jede Ordnungszahl i. Ferner wird das Restsignal e(i) in folgender Weise Skalarquantisierung unterzogen. Insbesondere wird ein Quantisierungsbereich als ein Maximum und ein Minimum eines für jede Ordnungszahl i ermittelten existierenden Bereiches festgelegt, und der Abstand zwischen dem Maximum und dem Minimum wird durch eine vorbestimmte Pegelanzahl L unterteilt. Hier ist L = 2B. Dann wird für jede Ordnungszahl eine Quantisierungsverzerrung für einen Quantisierungswert zur Skalarquantisierung in Abhängigkeit von der nachstehenden Gleichung berechnet, und dann M Kandidaten (hier M ≤ L) in einer Reihenfolge der Größe der Quantisierungsverzerrung ausgehend von der minimalen bestimmt:
- DSQM(i) = [e(i) - e'M(i)]² (9)
- wobei e'M(i) der M-te Kandidat für einen von dem Skalarquantisierer 135 ausgegebenen Quantisierungswert ist. Wie aus der vorstehend erwähnten Literatur 4 usw. allgemein bekannt ist, ist der existierende Bereich von LSP-Parametern meistens zwischen verschiedenen Ordnungszahlen überlappt. Ferner gilt der nachstehende Ausdruck immer bezüglich der Reihenfolge der LSP-Parameter:
- LSP(1) < LSP(2) < LSP(3) < . . . LSP(10) (10)
- Unter Nutzung dieser Eigenschaften wird der Quantisierungsbereich des Skalarquantisierer 135 für die i-l-te Ordnung in der folgenden Weise unter der Verwendung des Quantisierungswertes e'M(i) bei der i-ten Ordnung begrenzt.
- Insbesondere dann, wenn ein maximaler Wert eines bestehenden Bereiches von LSP-Parametern bei der i-l-ten Ordnung großer als ein Vektor-Skalarquantisierungswert eines LSP- Parameters bei der i-ten Ordnung ist, wird dann der maximale Wert als ein Vektor-Skalarquantisierungswert bei der i-ten Ordnung gesetzt.
- Ein Restsignal wird somit einer Skalarquantisierung mit einer vorbestimmten Anzahl von Bits für jede Ordnungszahl skaliert, indem der Quantisierungsbereich unter Anwendung des gerade vorstehend beschriebenen Verfahrens begrenzt wird.
- Der Abschnitt 165 zur Berechnung der akkumulierten Verzerrung berechnet eine akkumulierte Verzerrung für jede erhaltene Ordnungszahl durch eine Akkumulation von Quantisierungsverzerrungen, die für die individuellen Kandidaten des Skalarquantisierungswertes abhängig von der nachstehenden Gleichung berechnet werden:
- Ferner berechnet der Abschnitt 165 zur Berechnung der akkumulierten Verzerrung einen Kandidaten, welcher eine akkumulierte Verzerrung für jede Ordnungszahl minimiert, und gibt dann Skalarquantisierungswerte über den Ausgangsanschluß 145 aus.
- In Fig. 8 ist nun eine Modifikation der in Fig. 7 dargestellten Sprachparameterkodierungsvorrichtung gezeigt. Die modifizierte Sprachparameterkodierungsvorrichtung unterscheidet sich von der Sprachparameterkodierungsvorrichtung von Fig. 7 dahingehend, daß sie einen anderen Skalarquantisierer 175 anstelle des Skalarquantisierer 135 enthält. Der Skalarquantisierer 175 mißt im voraus für jede Ordnungszahl i einen Verteilungsbereich eines Restsignals, das von dem Subtrahierer 130 für jeden von M Kodevektoren (M > 2B, wobei B eine Bitanzahl der Kodetabelle 120 ist) berechnet wird, die im voraus in der Kodetabelle 120 ermittelt wurden. Ferner schaltet der Skalarquantisierer 175 den Verteilungsbereich eines von dem Vektorquantisierer 110 empfangenen Indexes j um, und führt an dem Restsignal e(i) eine Skalarquantisierung unter Verwendung einer im voraus bestimmten Bitanzahl für jede Ordnungszahl i durch. Ferner werden dann, wenn eine Skalarquantisierung für jede Ordnungszahl des Restsignals durchgeführt wird, ähnlich wie bei der in Fig. 7 dargestellten Sprachparameterkodierungsvorrichtung, mehrere Kandidaten eines Quantisierungswertes für die i-te Reihenfolge ermittelt, und der Quantisierungsbereich zur Skalarquantisierung für die i-l-te Ordnung unter Verwendung der Kandidaten eingeschränkt, wonach Quantisierungsverzerrungen für jeden von den Kandidaten akkumuliert werden, und dann ein Quantisierungswert, welcher die akkumulierte Verzerrung minimiert, für jede Quantisierungswert-Ordnungszahl gefunden und über den Anschluß 145 ausgegeben wird.
- Es ist anzumerken, daß auch einige andere allgemein bekannte Abstandsmaße, wie z. B. ein gewichteter Abstand alternativ für die Durchsuchung der vorstehend beschriebenen Kodetabelle 120 verwendet werden kann.
- In Fig. 9 ist nun eine weitere Sprachparameterkodierungsvorrichtung dargestellt. Die dargestellte Sprachparameterkodierungsvorrichtung empfängt ein Eingangssprachsignal über einen Eingangsanschluß 500 und speichert das Sprachsignal für einen Rahmen (beispielsweise 20 ms) in einem Pufferspeicher 510.
- Eine LPC-Analyseschaltung 530 führt eine allgemein bekannte LPC-Analyse an dem Sprachsignal eines Rahmens aus, um eine Anzahl von LSP-Parametern gleich einer vorbestimmten Ordnungszahl P als Parameter zu berechnen, welche Spektraleigenschaften des Sprachsignals des Rahmen repräsentieren.
- Eine LSP-Quantisierungsschaltung 540 quantisiert die für den Rahmen gefundenen LSP-Parameter mit einer vorbestimmten Quantisierungsanzahl von Bits und gibt den so gefundenen Kode IK über einen Ausgangsanschluß 550 aus.
- Fig. 10 stellt einen detaillierten Aufbau der LSP-Quantisierungsschaltung 540 dar. Gemäß Fig. 10 empfängt die LSP- Quantisierungsschaltung 540 LSP-Parameter P-ter Ordnung eines Rahmens über einen Eingangsanschluß 600. Die LSP-Eingangsparameter P-ter Ordnung werden für alle LSP-Parameter K-ter Ordnung (K < P) durch eine Teilungsschaltung 610 unterteilt, und jeder solche LSP-Parameter K-ter Ordnung wird an eine Vektorquantisierungsschaltung 620 ausgegeben. Die Vektorquantisierungsschaltung 620 erstellt im voraus N Kodetabellen 650-1 bis 650-N, welche der Teilungszahl N bei der Unterteilungsschaltung 610 für alle LSP-Parameter K-ter Ordnung entsprechen. Die Kodetabellen 650-1 bis 650-N werden jeweils von einer Anzahl von Kodevektoren, die von einer bestimmten Bitanzahl abhängen, gebildet. Ferner werden die Kodetabellen 650-1 bis 650-N so aufgebaut, daß sie, wie hierin vorstehend beschrieben. Differenzwerte zwischen LSP-Parametern bei verschiedenen Ordnungszahlen repräsentieren können. Die Vektor quantisierungsschaltung 620 berechnet eine Quantisierungsverzerrung für alle LSP-Parameter K-ter Ordnung, beginnend mit dem LSP-Parameter erster Ordnung und gibt M Kandidaten eines Kodevektors in einer Reihenfolge der Große der Quantisierungsverzerrung ausgehend von dem minimalen für alle LSP- Parameter K-ter Ordnung aus. Beispielsweise werden, nachdem M Kandidaten für die ersten LSP-Parameter K-ter Ordnung erzeugt sind, LSP-Parameter für die nächsten LSP-Parameter K-ter Ordnung unter Verwendung der Kodetabelle 650-2 in Abhängigkeit von der hierin vorstehend gegebenen Gleichung (1) unter Verwendung jedes der M Kandidaten als Anfangswert dargestellt, und dann die Quantisierungsverzerrungen in Abhängigkeit von hierin vorstehend gegebenen Gleichung (2) berechnet, worauf dann M Kandidaten in der Reihenfolge der Größe der Quantisierungsverzerrung ausgehend von der minimalen gefunden werden. Anschließend wird dann eine derartige Verarbeitung mit einer Anzahl von Malen gleich der der Teilungsanzahl N wiederholt.
- Ein Schaltung 660 zur Berechnung der akkumulierten Verzerrungen berechnet akkumulierte Verzerrungen für alle möglichen Kombinationen der M Kodevektoren, die für alle LSP- Parameter K-ter Ordnung in Abhängigkeit von der hierin vorstehend gegebenen Gleichung (3) ausgegeben werden.
- Ein Minimumunterscheidungsschaltung 670 findet eine Kombination von Kandidaten, welche die akkumulierte Verzerrung minimiert, und dann eine Kombination von Indizes von Kodevektoren über einen Anschluß 680 ausgibt.
- In Fig. 11 ist nun eine Modifikation der in Fig. 9 dargestellten Sprachparameterkodierungsvorrichtung dahingehend dargestellt, daß sie eine andere LSP-Quantisierungsschaltung 700 anstelle der LSP-Quantisierungsschaltung 540 enthält.
- Fig. 12 stellt Details der LSP-Quantisierungsschaltung 700 dar. Gemäß Fig. 12 empfängt die LSP-Quantisierungsschaltung 700 Spektralparameter P-ter Ordnung über einen Anschluß 705. Die Eingangsspektralparameter P-ter Ordnung werden durch eine erste Vektorquantisierungsschaltung 706 unter Verwendung einer ersten Kodetabelle 710 quantisiert, welche durch einen Lernvorgang im voraus aufgebaut wird. Die erste Vektorquantisierungsschaltung 706 berechnet eine Verzerrung der hierin vorstehend gegebenen Gleichung (2) für jeden von den Kodevektoren der Kodetabelle 710 und gibt M Kandidaten in der Reihenfolge der Größe der Verzerrung ausgehend von der minimalen aus. Ein Subtrahierer 707 berechnet ein Fehlersignal zwischen jedem von dem M Kandidaten und dem Eingangsspektralparameter, und gibt dieses an eine Teilungsschaltung 702 aus. Die Teilungsschaltung 702 berechnet die Fehlersignale Pter Ordnung, für alle vorbestimmten Spektralparameter K-ter Ordnung (K < P). Eine zweite Vektorquantisierungsschaltung 715 führt eine Vektorquantisierung an den Fehlersignalen für alle Spektralparameter K-ter Ordnung unter Verwendung zweiter Kodetabellen 720-1 bis 720-N aus, welche so aufgebaut sind, daß sie Differenzen zwischen Spektralparametern bei verschiedenen Ordnungszahlen für alle Spektralparameter k-ter Ordnung repräsentieren können. Hier werden die vorstehend gegebenen Gleichungen (1) und (2) für die Berechnung von Verzerrungen verwendet. Ferner gibt die zweite Vektorquantisierungsschaltung 715 für alle Spektralparameter K-ter Ordnung M Kodevektoren in der Reihenfolge der Größe der Verzerrung der Gleichung (2) ausgehend von der minimalen als Kandidaten aus. Der detaillierte Betrieb der zweiten Vektorquantisierungsschaltung 715 ist ähnlich dem der Vektorquantisierungsschaltung 620 von Fig. 10.
- Eine Schaltung 750 zur Berechnung der akkumulierten Verzerrung akkumuliert Quantisierungsverzerrungen für alle möglichen Kombinationen der von der ersten Vektorquantisierungsschaltung 706 ausgegebenen M Kandidaten und der von der zweiten Vektorquantisierungsschaltung 715 für alle Spektralparameter K-ter ausgegebenen Kandidaten, um die akkumulierten Verzerrungen zu berechnen. Eine Minimumunterscheidungsschaltung 760 findet eine Kombination von Kandidaten, welche die akkumulierte Verzerrung minimiert, und gibt dann eine Kombination von die Kodevektoren repräsentierenden Indizes über einen Anschluß 770 aus.
- In Fig. 13 ist nun noch eine weitere Sprachparameterkodierungsvorrichtung dargestellt, auf welche die vorliegende Erfindung angewendet wird. Die Sprachparameterkodierungsvor richtung empfängt ein Eingangssprachsignal über einen Eingangsanschluß 800 und speichert das Sprachsignal für einen Rahinen (von beispielsweise 30 bis 40 ms) in einen Pufferspeicher 810.
- Eine Unterrahmenteilungsschaltung 820 unterteilt das Sprachsignal jedes Rahmens in einen vorbestimmte Anzahl mehrerer Unterrahmen (von beispielsweise 5 bis 8 ms).
- Eine LPC-Analyseschaltung 830 führt eine allgemein bekannte LPC-Analyse an dem Sprachsignal des Rahmens durch, um eine Anzahl von LSP-Parametern gleich einer vorbestimmten Ordnungszahl P als Parameter zu berechnen, welche Spektraleigenschaften des Sprachsignals an vorbestimmten Unterrahmenpositionen (beispielsweise bei der zweiten und vierten Position von Fig. 4) repräsentieren. Details einer derartigen Berechnung sind beispielsweise in der hierin vorstehend erwähnten Literatur 4 offenbart.
- Eine LSP-Quantisierungsschaltung 840 quantisiert die für den Rahmen berechneten LSP-Parameter mit einer vorbestimmten Anzahl von Quantisierungsbits und gibt die so berechneten Kodes lK über einen Ausgangsanschluß 850 aus. Die nachstehende Beschreibung erfolgt unter Annahme, daß eine Vektorquantisierung des Teilungstyps als Vektorquantisierung durchgeführt wird, welche mit einem kleinen Aufwand an Berechnungen und einer kleinen Speicherkapazität durch die LSP-Quantisierungsschaltung 840 realisiert werden kann.
- Fig. 14 stellt einen detaillierten Aufbau der LSP-Quantisierungsschaltung 840 dar. Gemäß Fig. 14 empfängt die LSP- Quantisierungsschaltung 840 LSP-Parameter eines Rahmens über einen Eingangsanschluß 900.
- Eine Teilungsschaltung 910 empfängt solche LSP-Eingangsparameter P-ter Ordnung, und unterteilt sie für alle LSP- Parameter K-ter Ordnung (K < P) und gibt dann solche LSP- Parameter für alle LSP-Parameter K-ter Ordnung an eine Vektorquantisierungsschaltung 920 aus. Die Vektorquantisierungsschaltung 920 erstellt im voraus für alle LSP-Parameter K-ter Ordnung N Kodetabellen 950-1 bis 950-N, welche der Teilungsanzahl N bei der Teilungsschaltung 910 entsprechen. Die Kodetabellen 950-1 bis 950-N sind jeweils aus einer Anzahl von Kodevektoren (2L) abhängig von einer vorbestimmten Bitanzahl L aufgebaut. Ferner sind die Kodetabellen 950-1 bis 950-N so aufgebaut, daß sie Differenzwerte zwischen LSP-Parameter bei verschiedenen Ordnungszahlen darstellen können. Der i-te Spektralparameter kann in der nachstehenden Gleichung unter Verwendung eines in jeder von den Kodetabellen 950-1 bis 950- N enthaltenen Kodevektors dargestellt werden:
- ω'i = ω'i-l + Δω'i (12)
- Die Kodetabellen 950-1 bis 950-N werden durch Lernen von Differenzwerten zwischen LSP-Parametern bei verschiedenen Ordnungszahlen als Trainingssignalen für Spektralparameter für eine vorbestimmte Ordnungszahl erstellt. Ein derartiges Lernverfahren ist beispielsweise in der hierin vorstehend erwähnten Literatur 5 offenbart.
- Die Vektorquantisierungsschaltung 920 berechnet ferner eine Quantisierungsverzerrung für alle LSP-Parameter K-ter Ordnung gemäß nachstehender Gleichung:
- wobei ωi der i-te LSP-Eingangsparameter ist, und ω'ij der unter Verwendung des j-ten Kodevektors der i-ten Kodetabelle repräsentierte i-te LSP-Parameter ist. Die Vektorquantisierungs Schaltung 920 berechnet Quantisierungsverzerrungen für alle LSP-Parameter K-ter Ordnung beginnend mit dem LSP- Parameter erster Ordnung in Abhängigkeit von der hierin vorstehend gegebenen Gleichung (5) und gibt M Kandidaten des Kodevektors in der Reihenfolge Größe der Quantisierungsverzerrung ausgehend von dem minimalen für alle LSP-Parameter K-ter Ordnung aus. Beispielsweise werden, nachdem M Kandidaten für die ersten LSP-Parameter K-ter Ordnung erzeugt sind, die LSP- Parameter für die nächsten LSP-Parameter K-ter Ordnung unter Verwendung der Kodetabelle 950-2 in entsprechend der vorstehend angegebenen Gleichung (4) unter Verwendung jedes der M Kandidaten als ein Anfangswert dargestellt, und Quantisierungsverzerrungen in Abhängigkeit von der hierin vorstehend gegebenen Gleichung (5) gefunden, worauf dann M Kandidaten in der Reihenfolge der Größe der Quantisierungsverzerrung ausgehend von der minimalen gefunden werden. Anschließend daran wird eine solche Verarbeitung mit einer Anzahl von Malen gleich der hierin vorstehend beschriebenen Teilungsanzahl N wiederholt.
- Eine Schaltung 960 zur Berechnung der akkumulierten Verzerrung berechnet akkumulierte Verzerrungen für alle möglichen Kombinationen der für alle LSP-Parameter K-ter Ordnung ausgegebenen M Kodevektoren in Abhängigkeit von der nachstehenden Gleichung.
- Eine Minimumunterscheidungsschaltung 970 findet eine Kombination von Kandidaten, welche die akkumulierte Verzerrung E minimiert und gibt dann eine Kombination von Kodevektoren aus.
- Eine prädiktive Vektorquantisierungsschaltung 990 prädiziert eine LSP-Parameterfolge des anderen über einen Anschluß 905 empfangenen Unterrahmens unter Verwendung des Ausgangskodevektors der Minimumunterscheidungsschaltung 970 und einer Koeffizientenkodetabelle 980, und berechnet prädiktive Quantisierungsverzerrungen in Abhängigkeit von der hierin vorstehend gegebenen Gleichung (5). Dann findet die prädiktive Vektorquantisierungsschaltung 990 einen Koeffizientenkodevektor, welcher die Gleichung (5) minimiert, und gibt den Koeffizientenkodevektor und den Ausgangskodevektor der Minimumunterscheidungsschaltung 970 als quantisierte Werte von Spektralparametern von den zwei Unterrahmen aus.
- In Fig. 15 ist nun eine Modifikation der Sprachparameterkodierungsvorrichtung von Fig. 13 dahingehend dargestellt, daß sie eine andere LSP-Quantisierungsschaltung 1000 anstelle der LSP-Quantisierungsschaltung 840 enthält.
- Ein detaillierter Aufbau der LSP-Quantisierungsschaltung 1000 ist in Fig. 16 dargestellt. Gemäß Fig. 16 ist die LSP- Quantisierungsschaltung 1000 eine Modifikation der in Fig. 14 dargestellten LSP-Quantisierungsschaltung 840 dahingehend, daß sie eine Differenzvektorquantisierungsschaltung 1010 und eine Differenzkodetabelle 1020 anstelle der prädiktiven Vektorguantisierungsschaltung 990 bzw. der Koeffizientenkodetabelle 980 enthält. Insbesondere berechnet die Differenzvektorquantisierungsschaltung 1010 Differenzsignale zwischen einer LSP-Parameterfolge des über den Anschluß 905 eingegebenen anderen Unterrahmens und einem Ausgangssignal der Minimumunterscheidungsschaltung 970 in Abhängigkeit von der hierin vorstehend gegebenen Gleichung (6), und führt dann eine Vektorquantisierung der Differenzsignale unter Verwendung der Differenzkodetabelle 1020 durch. Somit gibt die Differenzvektorquantisierungsschaltung 1010 einen Kodevektor aus, welcher die Quantisierungsverzerrung und den Ausgangskodevektor der Minimumunterscheidungsschaltung 970 minimiert.
- In Fig. 17 ist nun noch eine weitere Sprachparameterkodierungsvorrichtung dargestellt.
- Die Sprachparameterkodierungsvorrichtung empfängt ein Eingangssprachsignal über einen Eingangsanschluß 101 und speichert das Eingangssprachsignal für einen Rahmen (von beispielsweise 40 ms) in einen Pufferspeicher 103. Eine LSP-Analyse Schaltung 107 führt eine allgemeine LPC-Analyse aus, um LSP-Koeffizienten als Spektralparameter zu finden.
- Eine Vektorquantisierungsschaltung 112 quantisiert die LSP-Eingangsparameter unter Verwendung einer Kodetabelle 120. Die Kodetabelle 120 wird durch Lernen im voraus unter Anwendung einer großen Menge einer LSP-Parameterfolge für das Training aufgebaut. Obwohl verschiedene Verzerrungsmaße für die Suche eines Kodevektors bekannt sind, wird hier ein quadrierter Abstand zwischen LSP-Parametern verwendet. Die Vektorquantisierungsschaltung 112 findet einen Kodevektor, welcher die hierin vorstehend gegebene Gleichung (7) minimiert, und gibt ihn an eine Subtraktionsschaltung 130 aus. Hier kann die Vektorquantisierungsschaltung 112 nur einen Kodevektor selektieren, welcher die Gleichung (7) minimiert, oder mehrere Kodevektoren selektieren, welche die Gleichung 7 in der Reihenfolge der Große ausgehend von dem minimalen minimieren. Ferner gibt die Vektorquantisierungsschaltung 112 einen den selektierten Kodevektor repräsentierenden Index j an eine Skalarquantisierungsschaltung 142 und einen Anschluß 155 aus.
- Die Subtraktionsschaltung 130 subtrahiert den Wert des selektierten Kodevektors von den LSP-Eingangsparametern, um Restsignale e(i) in Abhängigkeit von der hierin vorstehend gegebenen Gleichung (8) zu finden, und gibt diese an die Skalarquantisierungsschaltung 142 aus.
- Die Skalarquantisierungsschaltung 142 mißt im voraus für jede Ordnungszahl i einen Verteilungsbereich von Restsignalen, die von der Subtraktionsschaltung 130 für jeden von M Kodevektoren (M < 2B, wobei B eine Bitanzahl von der Kodetabelle 120 ist) berechnet werden, die in der Kodetabelle 120 im voraus festgelegt sind, und speichert solche Verteilungsbereiche in einer Quantisierungsbereichtabelle 160. Ferner schaltet die Skalarquantisierungsschaltung 142 den Verteilungsbereich der Quantisierungsbereichtabelle 160 unter Verwendung des von der Vektorquantisierungsschaltung 112 erhaltenen Indexes j um und führt an dem Restsignal e(i) eine Vektorquantisierung unter Verwendung einer im voraus für jede Ordnungszahl i bestimmten Bitanzahl aus. Die Ergebnisse einer derartigen Skalarquantisierung werden an einen Anschluß 145 ausgegeben.
- In Fig. 18 ist nun eine Modifikation der Sprachparameterkodierungsvorrichtung von Fig. 17 dahingehend dargestellt, daß diese eine andere Skalarquantisierungsschaltung 143 anstelle der Skalarquantisierungsschaltung 142 enthält und zusätzlich eine Schaltung 165 zur Berechnung der akkumulierten Verzerrung und eine Unterscheidungsschaltung 185 enthält.
- Insbesondere mißt die Skalarquantisierungsschaltung 143 im voraus für jede Ordnungszahl i einen existierenden Bereich von Ausgangsrestsignalen e(i) der Subtraktionsschaltung 130 und speichert solche existierenden Bereiche in einer Quantisierungsbereichtabelle 160. Wie hierin vorstehend beschrieben, berechnet die Skalarquantisierungsschaltung 143 eine Quantisierungsverzerrung für jeden Quantisierungswert für die Skalarquantisierung, findet M Kandidaten (hier M < L) in der Reihenfolge der Größe der Quantisierungsverzerrung ausgehend von der minimalen und gibt Quantisierungsverzerrungswerte für die individuellen Kandidaten an die Schaltung 165 zur Berechnung der akkumulierten Verzerrung aus. Dann begrenzt die Skalarquantisierungsschaltung 143 die Quantisierungsbereiche unter Verwendung der Werte der Kandidaten wie hierin vorstehend beschrieben, und führt eine Skalarquantisierung an den Restsignalen für jede Ordnungszahl mit einer vorbestimmten Anzahl von Bits aus.
- Die Schaltung 165 zum Berechnen der akkumulierten Verzerrung berechnet eine akkumulierte Verzerrung, wobei die für jeden von den Kandidaten des Skalarquantisierungswertes gefundenen Quantisierungsverzerrungen für jede Ordnungszahl in Abhängigkeit von der hierin vorstehend gegebenen Gleichung (11) akkumuliert werden.
- Die Unterscheidungsschaltung 185 findet einen Kandidaten welcher die akkumulierte Verzerrung für jede Ordnungszahl minimiert, und gibt dann einen Skalarquantisierungswert über den Anschluß 145 aus.
- In Fig. 19 ist nun eine Modifikation der modifizierten Sprachparameterkodierungsvorrichtung von Fig. 18 dahingehend dargestellt, daß sie eine andere Skalarquantisierungsschaltung 195 anstelle der Skalarquantisierungsschaltung 143 enthält.
- Insbesondere mißt die Skalarquantisierungsschaltung 195 im voraus für jede Ordnungszahl i einen Verteilungsbereich von Restsignalen, die von dem Subtrahierer 130 für jeden von in der Kodetabelle 120 im voraus festgelegten M Kodevektoren (M < 2B, wobei B eine Bitanzahl der Kodetabelle 120 ist) berechnet wird, und speichert derartige Verteilungsbereiche in der Quantisierungsbereichtabelle 160. Ferner schaltet die SkalarquantisierungsSchaltung 195 den Quantisierungsbereich unter Verwendung des von der Vektorquantisierungsschaltung 112 erhaltenen Indexes j um, und führt eine Skalarquantisierung an den Restsignalen e(i) unter Verwendung einer im voraus für jede Ordnungszahl i bestimmte Bitanzahl durch. Dann berechnet die SkalarquantisierungsSchaltung 195, wenn eine Skalarquantisierung für jede Ordnungszahl der Restsignale auszuführen ist, mehrere Kandidaten eines Quantisierungswertes für die i-te Ordnung, begrenzt den Quantisierungsbereich der Skalarquantisierung für die i-l-te Ordnung unter Verwendung der Kandidaten und führt eine Skalarquantisierung für jeden der Kandidaten in ähnlicher Weise wie hierin vorstehend beschrieben durch.
- Die Schaltung 165 zur Berechnung der akkumulierten Verzerrung akkumuliert eine Quantisierungsverzerrung für jeden von den Kandidaten in dem Quantisierungsbereich für jede Ordnungszahl.
- Die Unterscheidungsschaltung 185 findet einen Quantisierungswert, welcher die akkumulierte Verzerrung für jede Ordnungszahl minimiert, und gibt solche Quantisierungswerte über den Anschluß 145 aus.
- An der vorstehend beschriebenen SprachparameterkodierungsVorrichtungen können verschiedene Modifikationen durchgeführt werden.
- Beispielsweise kann, obwohl ein LSP-Parameter als ein Spektralparameter eines Sprachsignals in den vorstehend beschriebenen Sprachparameterkodierungsvorrichtungen verwendet wird, auch jeder andere bekannte Parameter wie z. B. ein PARCOR-, LAR- oder Cepstrum-Parameter alternativ verwendet werden.
- Ferner kann für den Suchvorgang nach einem Kodevektor eines LSP-Parameters jedes andere bekannte Abstandsmaß alternativ als das eines solchen quadrierten Abstandes zwischen den LSP-Parametern, dargestellt von der hierin vorstehend gegebe nen Gleichung (2), verwendet werden. Beispielsweise ist ein wahrnehmungsgewichteter quadrierter Abstand als eines solcher Abstandsmaße bekannt und beispielsweise in Honda, "Vector Quantization of LPC Parameters Using Weighted Logarithmic Spectral Distortion Scale", Lecture Thesis Collection of Acoustical Society, pp. 195-196, October 1990 (Literatur 8) beschrieben.
- Ferner können, obwohl in den Sprachparameterkodierungsvorr ichtungen von den vorstehend beschriebenen Fig. 9 und 11 P-te Parameter gleichmäßig für alle Parameter K-ter Ordnung durch die Teilungsschaltung unterteilt werden, diese in anderer Weise nicht-gleichmäßig unterteilt werden.
- Ferner können, obwohl in der Sprachparameterkodierungsvorrichtung von Fig. 11 zwei Vektorquant isierer für die Vektorquantisierung von LSP-Koeffizienten eines Rahmens verwendet werden, andererseits auch jede andere geeignete Anzahl von Vektorquantisierern verwendet werden.
- Ferner führt, da in den Sprachparameterkodierungsvorrichtungen von Fig. 9 und Fig. 11 M Kandidaten für jede Unterteilung oder für die Vektorquantisierung durch jeden Vektorquantisierer gefunden werden, dieses zu einem exponentiellen Anstieg der Kandidatenanzahl für alle Ordnungszahlen oder für alle Stufen. Beispielsweise bedeutet eine Vektorquantisierung in drei Stufen eine Gesamtsumme von M2 Kandidaten. Somit ist dann, wenn eine akkumulierte Verzerrung in der Vektorquantisierung bei der zweiten oder nachfolgenden Unterteilung oder bei der zweiten oder nachfolgenden Stufe gefunden wird, und dann die akkumulierten Verzerrungen angepaßt werden, um eine vorbestimmte feste Anzahl (z. B. M) von Kandidaten für jede Stufe in der Reihenfolge der Größe akkumulierten Verzerrung ausgehend von der minimalen, dann die Gesamtanzahl der Kandidaten gleich M für jede Stufe und für alle Stufen, und demzufolge wird ein exponentielles Ansteigen der Kandidatenanzahl verhindert. Wenn ein solches Verfahren angewendet wird, kann der Berechnungsaufwand im Vergleich zu dem Verfahren, das in den Sprachparameterkodierungsvorrichtungen verwendet wird, merklich reduziert werden, wobei aber das Verhalten aber leicht verschlechtert ist.
- Ferner muß nicht ein Kandidat von den Vektorquant isierern nicht bei allen Stufen oder allen Unterteilungen gefunden werden, und alternativ können mehrere Kandidaten durch Vektorquantisierer bei einer vorbestimmten Anzahl von Stufen gefunden werden.
- Ferner kann das Lernverfahren einer Differenzen von Spektralparametern repräsentierende Kodetabelle, wenn die Vektorquantisierung für alle Parameter K-ter Ordnung durchgeführt wird, jedes andere Lernverfahren als das hierin vorstehend beschriebene sein. Beispielsweise kann das Lernen durchgeführt werden, indem ein Trainingssignal mit einer Kodetabelle Δω'i so durchgeführt werden, daß eine von der nachstehenden Gleichung gegebene Fehlerpotenz oder eine gewichtete Fehlerpotenz minimiert werden kann:
- Ferner kann eine optimale Kombination von Kandidaten unter Verwendung irgend eines anderen allgemein bekannten sehr schnellen Berechnungsverfahren, wie z. B. mittels eines dynamischen Programmierungsverfahrens, berechnet werden.
- Ferner kann auch, obwohl ein Vektorquant isierer des alles suchenden Typs für den Vektorquantisierer verwendet wird, jeder andere allgemein bekannte Vektorquantisierer mit einer unterschiedlichen Aufbau, wie z. B. der Baumsuch-Typ, der Gitter-Typ oder Mehrfachstufen-Typ alternativ verwendet werden, um einen Gesamtaufwand einer für den Suchvorgang eines Kodevektors erforderlichen Berechnung zu verringern. Details derartiger Berechnungsaufwand-Reduzierungsverfahren sind beispielsweise in Gray, "Vector Quantization", IEEE ASSP Magazine, pp. 4-29, 1984 (Literatur 9) offenbart.
- Es ist anzumerken, daß obwohl die Kodetabellen 1 bis M in den Sprachparameterkodierungsvorrichtungen von Fig. 9 und Fig. 11 Differenzen zwischen LSP-Parametern bei verschiedenen Ordnungszahlen darstellen, diese andererseits die LSP- Parameter auch direkt, so wie diese sind, repräsentieren können.
- Ferner kann die Sprachparameterkodierungsvorrichtung von Fig. 13 und Fig. 15 so modifiziert werden, daß die Minimumunterscheidungsschaltung 970 der LSP-Quantisierungsschaltung 840 oder 1000 an eine Stelle nach der prädiktiven Quantisierungsschaltung 990 oder der Differenzvektorquantisierungsschaltung 1010 verschoben wird, so daß die prädiktive Vektorquantisierung oder Differenzvektorquantisierung für jeden von der Vektorquantisierungsschaltung 920 ausgegebenen Kandidaten durchgeführt wird, und dann eine akkumulierte Verzerrung für jeden von der Schaltung 960 zur Berechnung der akkumulierten Verzerrung gefundenen Kandidaten, und eine von einer solchen prädiktiven Vektorquantisierung oder einer Differenzvektorquantisierung verursachte Quantisierungsverzerrung addiert werden, um eine Gesamtverzerrung zu finden, worauf eine Gruppe von Kodevektoren, welche die Gesamt Verzerrung minimieren, und ein prädiktiver Kodevektor oder ein Differenzkodevektor von der Minimumunterscheidungsschaltung 970 selektiert werden. Obwohl eine derartige Modifikation einen Gesamtberechnungsauf Wand erhöht, führt sie zu einer Verbesserung in den Eigenschaften.
- Ferner kann jedes andere allgemein bekannte Verfahren für die Vektorquantisierung durch die Vektorquantisierungsschaltung 920 verwendet werden. Beispielsweise kann eine mehrstufige Vektorquantisierung, bei welcher mehrere Kodetabellen in Reihenschaltung bei mehreren Stufen verbunden sind und die hierin vorstehend beschriebene Teilungsvektorquantisierung kombiniert sind.
- Ferner führt, da die Vektorquantisierungsschaltung 920 M Kandidaten durch Vektorquantisierung für jede Unterteilung findet, dieses zu einem exponentiellen Anstieg der Kandidatenanzahl für alle Ordnungszahlen oder für alle Stufen. Beispielsweise bedeutet eine Vektorquantisierung in drei Unterteilungen eine Gesamtsumme von M2 Kandidaten. Somit wird dann, wenn eine akkumulierte Verzerrung in der Vektorquanti sierung bei der zweiten oder nachfolgenden Unterteilung für jede Stufe gefunden wird und dann die akkumulierten Verzerrungen angepaßt werden, um eine vorbestimmte feste Anzahl (z. B. M) von Kandidaten für jede Stufe in der Reihenfolge der Große der akkumulierten Verzerrung ausgehend von dem minimalen zu selektieren, die Gesamtanzahl der Kandidaten insgesamt zu M und demzufolge ein exponentielles Ansteigen der Kandidatenanzahl verhindert. Wo ein solches Verfahren angewendet wird, kann der Berechnungsaufwand im Vergleich zu dem Verfahren, das in der Sprachparameterkodierungsvorrichtung verwendet wird, merklich reduziert werden, wobei aber das Verhalten leicht verschlechtert wird.
- Ferner muß nicht ein Kandidat bei allen Unterteilungen gefunden werden, und alternativ können mehrere Kandidaten durch Vektorquantisierer bei einer vorbestimmten Unterteilung oder Unterteilungen gefunden werden.
- Ferner kann das Lernverfahren einer Differenzen von Spektralparametern repräsentierenden Kodetabelle, wenn eine Vektorquantisierung für alle Parameter K-ter Ordnung durchgeführt wird, einen beliebiges anderes als das hierin vorstehend beschriebene Lernverfahren sein. Beispielsweise kann das Lernen durch Kodieren eines Trainingssignals mit einer Kodetabelle Δω'i in Abhängigkeit von einen Verfahren in geschlossener Schleife durchgeführt werden, so daß eine durch die nachstehende Gleichung gegebene Fehlerpotenz oder eine gewichtete Fehlerpotenz minimiert werden kann;
- Ferner kann anstelle des voneinander unabhängigen Lernens einer Kodetabelle und einer prädiktiven Koeffizienten- oder Differenz-Kodetabelle das Lernen solcher Kodetabellen unter Verwendung eines Trainingssignals abwechselnd wiederholt werden, um einen optimalen Lernvorgang durchzuführen.
- Ferner können, obwohl die Teilungsschaltung 910 der Sprachparameterkodierungsvorrichtung von Fig. 15 die LSP- Parameter gleichmäßig für alle Parameter K-ter Ordnung unter teilt, die LSP-Parameter andererseits nicht-gleichmäßig unterteilt werden.
- Ferner kann eine optimale Kombination von Kandidaten durch ein beliebiges anderes allgemein bekanntes sehr schnelles Berechnungsverfahren selektiert werden, wie z. B. durch ein dynamisches Programmierverfahren.
- Ferner kann, obwohl eine prädiktive Koeffizientenkodetabelle für jeden Unterrahmen in der Sprachparameterkodierungsvorrichtung von Fig. 13 erzeugt wird, alternativ eine Matrixkodetabelle verwendet werden, in welcher eine Kodetabelle gemeinsam für mehrere Unterrahmen erzeugt wird. Die Erzeugung einer solchen Matrixkodetabelle ist beispielsweise in C. Tsao et al., "Matrix Quantizer Design for LPC Speech Using the Generalized Lloyd Algorithm", IEEE Trans. ASSP, pp. 573-545, 1985 (Literatur 10) offenbart. Bei dem Aufbau, welcher eine Matrixkodetabelle verwendet, kann, da mehrere Unterrahmen gemeinsam in Kodevektoren dargestellt werden, die Anzahl von Bits verringert werden, welche für die Übertragung eines prädiktiven Koeffizientenkodevektors erforderlich ist.
- Ferner kann die Sprachparameterkodierungsvorrichtung von Fig. 15 andererseits einen anderen Wert als 1 für B der hierin vorstehend gegebenen Gleichung (6) verwenden. Ferner kann ein derartiges B so in einer Kodetabelle enthalten sein, daß ein optimaler Koeffizient aus der Kodetabelle selektiert werden kann.
- Ferner kann das Abstandsmaß bei der Vektorquantisierung oder das Abstandsmaß bei der Skalarquantisierung irgend ein anderes geeignetes allgemein bekanntes Abstandsmaß als der quadrierte Abstand sein, wie z. B. ein gewichtetes Abstandsmaß, ein Cepstrum-Abstandsmaß oder ein Melcepstrum-Abstandsmaß.
- Ferner kann, obwohl Spektralparameter für ein Sprachsignal für einen Rahmen berechnet werden, ein Rahmen in mehrere kürzere Unterrahmen unterteilt und Spektralparameter für ei nen oder einige vorbestimmte solcher Unterrahmen berechnet werden, um eine Vektorquantisierung dieser zu bewirken.
- Ferner kann irgend eine der Sprachparameterkodierungsvorrichtungen von Fig. 17 bis Fig. 19 so modifiziert werden, daß dann, wenn eine vorbe stimmte Ordnungszahl für Quantisierungsbereiche für eine Skalarquantisierung für eine vorbestimmte Anzahl von Kodevektoren zur Vektorquantisierung bestimmt wird, ein Quantisierungsbereich für jeden von allen Kodevektoren (2B) oder für jeden von einer kleineren Anzahl von Kodevektoren bestimmt wird. Oder es können andererseits unterschiedliche Quantisierungsbereiche für jeden Kodevektor bestimmt, oder ein gemeinsamer Quantisierungsbereich für einige Kodevektoren bestimmt werden. Ferner kann, wenn ein Quantisierungsbereich gemessen wird, eine solche Messung für Spektralparameter aller Ordnungen durchgeführt werden, oder es kann anders, eine solche Messung für eine kleinere Ordnungszahl von Spektralparametern durchgeführt werden, während ein vorbestimmter Quantisierungsbereich oder Bereiche für die Spektralparameter der anderen Ordnungszahlen vorgesehen werden.
- Ferner kann ein Rahmen so in mehrere kürzere Unterrahmen unterteilt werden, daß die vorliegende Erfindung auf einen der Unterrahmen angewendet wird, um einen Spektralparameter zu quantisieren, wobei zumindest einer der anderen Unterrahmen unter Verwendung quantislerter Werte der Spektralparameter des Rahmens, quantisierte Werte von Spektralparametern eines Rahmens oder von Rahmen in der Vergangenheit und von Interpolationskoeffizienten oder einer Interpolationskoeffizienten-Kodetabelle dargestellt wird.
Claims (2)
1. Sprachparameterkodierverfahren mit den Schritten:
(a) Empfangen eines Eingangssprachsignals,
(b) Unterteilen des Eingangssprachsignals in mehrere
Rahmen,
(c) Unterteilen jedes der Rahmen in mehrere kürzere
Teilrahmen,
(d) Auffinden einer vorgegebenen Ordnungszahl von
Spektrumparametern für das Sprachsignal von mindestens
einem der Teilrahmen,
(e) Quantisieren der Spektrumparameter von mindestens
einem der Teilrahmen unter Verwendung eines vorher
konstruierten ersten Codebuchs (320), und
(f) Quantisieren von Parametern der anderen
Teilrahmen oder zumindest eines der anderen Teilrahmen
unter Verwendung der quantisierten Werte und eines vorher
konstruierten zweiten Codebuchs (360) oder nicht lineare
Verarbeitung.
2. Sprachparameterkodierver fahren nach Anspruch 1, wobei der
Schritt (L) ferner aufweist:
Auffinden von Differenzsignalen zwischen den
Spektrumparametern der anderen Teilrahmen oder mindestens
eines der anderen Teilrahmen und der quantisierten Werte,
und
Quantisieren der Differenzsignale unter Verwendung
des vorher konstruierten zweiten Codebuchs (360).
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10326791 | 1991-02-26 | ||
JP26192591A JP3151874B2 (ja) | 1991-02-26 | 1991-10-09 | 音声パラメータ符号化方式および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69232887D1 DE69232887D1 (de) | 2003-02-06 |
DE69232887T2 true DE69232887T2 (de) | 2003-06-05 |
Family
ID=26443908
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69232879T Expired - Lifetime DE69232879T2 (de) | 1991-02-26 | 1992-02-25 | Sprachparameterkodierungsvorrichtung |
DE69229974T Expired - Lifetime DE69229974T2 (de) | 1991-02-26 | 1992-02-25 | Verfahren und Vorrichtung zur Kodierung von Sprachparametern |
DE69232887T Expired - Lifetime DE69232887T2 (de) | 1991-02-26 | 1992-02-25 | Sprachkodierungsverfahren |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69232879T Expired - Lifetime DE69232879T2 (de) | 1991-02-26 | 1992-02-25 | Sprachparameterkodierungsvorrichtung |
DE69229974T Expired - Lifetime DE69229974T2 (de) | 1991-02-26 | 1992-02-25 | Verfahren und Vorrichtung zur Kodierung von Sprachparametern |
Country Status (2)
Country | Link |
---|---|
EP (2) | EP0910064B1 (de) |
DE (3) | DE69232879T2 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2490879B (en) * | 2011-05-12 | 2018-12-26 | Qualcomm Technologies Int Ltd | Hybrid coded audio data streaming apparatus and method |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1323934C (en) * | 1986-04-15 | 1993-11-02 | Tetsu Taguchi | Speech processing apparatus |
GB2210236B (en) * | 1987-09-24 | 1991-12-18 | Newbridge Networks Corp | Speech processing system |
US4852179A (en) * | 1987-10-05 | 1989-07-25 | Motorola, Inc. | Variable frame rate, fixed bit rate vocoding method |
CA1333420C (en) * | 1988-02-29 | 1994-12-06 | Tokumichi Murakami | Vector quantizer |
IT1224453B (it) * | 1988-09-28 | 1990-10-04 | Sip | Procedimento e dispositivo per la codifica decodifica di segnali vocali con l'impiego di un eccitazione a impulsi multipli |
IT1232084B (it) * | 1989-05-03 | 1992-01-23 | Cselt Centro Studi Lab Telecom | Sistema di codifica per segnali audio a banda allargata |
US5208862A (en) * | 1990-02-22 | 1993-05-04 | Nec Corporation | Speech coder |
-
1992
- 1992-02-25 EP EP98124814A patent/EP0910064B1/de not_active Expired - Lifetime
- 1992-02-25 DE DE69232879T patent/DE69232879T2/de not_active Expired - Lifetime
- 1992-02-25 EP EP98124813A patent/EP0910063B1/de not_active Expired - Lifetime
- 1992-02-25 DE DE69229974T patent/DE69229974T2/de not_active Expired - Lifetime
- 1992-02-25 DE DE69232887T patent/DE69232887T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0910063A3 (de) | 1999-06-09 |
EP0910064B1 (de) | 2002-12-18 |
DE69232879D1 (de) | 2003-01-30 |
EP0910064A2 (de) | 1999-04-21 |
DE69229974D1 (de) | 1999-10-21 |
DE69232879T2 (de) | 2003-05-08 |
EP0910063A2 (de) | 1999-04-21 |
EP0910064A3 (de) | 1999-06-16 |
DE69229974T2 (de) | 2000-07-20 |
DE69232887D1 (de) | 2003-02-06 |
EP0910063B1 (de) | 2003-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69529356T2 (de) | Wellenforminterpolation mittels Zerlegung in Rauschen und periodische Signalanteile | |
DE69836624T2 (de) | Audiokodierer und -dekodierer | |
DE69214969T2 (de) | Verfahren und Vorrichtung zur Erzeugung von Hilfsinformationen zur Ausführung einer Suche in einem Kodebuch mit geringer Dichte | |
DE69232892T2 (de) | Sprachkodierungssystem | |
DE4492048C2 (de) | Vektorquantisierungs-Verfahren | |
DE69328450T2 (de) | Verfahren und Vorrichtung zur Sprachkodierung | |
DE69029232T2 (de) | System und Methode zur Sprachkodierung | |
DE69530442T2 (de) | Vorrichtung zur Sprachkodierung | |
DE69724126T2 (de) | Audiosignalkodier- und dekodierverfahren und audiosignalkodierer und -dekodierer | |
DE19811039B4 (de) | Verfahren und Vorrichtungen zum Codieren und Decodieren von Audiosignalen | |
DE69420431T2 (de) | Sprachkodierungssystem | |
DE69609099T2 (de) | Verfahren zur Modifikation von LPC-Koeffizienten von akustischen Signalen | |
DE60126149T2 (de) | Verfahren, einrichtung und programm zum codieren und decodieren eines akustischen parameters und verfahren, einrichtung und programm zum codieren und decodieren von klängen | |
DE69915400T2 (de) | Vorrichtung zur Kodierung und Dekodierung von Audiosignalen | |
DE69718234T2 (de) | Sprachkodierer | |
DE69636209T2 (de) | Vorrichtung zur Sprachkodierung | |
DE69900786T2 (de) | Sprachkodierung | |
DE69223335T2 (de) | Sprachkodiersystem | |
DE69329569T2 (de) | Digitale Kodierung von Sprachsignalen | |
DE69729527T2 (de) | Verfahren und Vorrichtung zur Kodierung von Sprachsignalen | |
DE69426860T2 (de) | Sprachcodierer und Verfahren zum Suchen von Codebüchern | |
DE69610915T2 (de) | Verfahren zur quantisierung des verstärkungsfaktors für die linear-prädiktive sprachkodierung mittels analyse-durch-synthese | |
DE69516522T2 (de) | Verfahren zur Synthetisierung eines Sprachsignalblocks in einem CELP-Kodierer | |
DE69411407T2 (de) | Vorrichtung zum Kodieren von Sprachspektrumparametern mit der kleinstmöglichen Bitzahl | |
DE69420683T2 (de) | Kodierer für Sprachparameter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |