DE69411407T2 - Vorrichtung zum Kodieren von Sprachspektrumparametern mit der kleinstmöglichen Bitzahl - Google Patents
Vorrichtung zum Kodieren von Sprachspektrumparametern mit der kleinstmöglichen BitzahlInfo
- Publication number
- DE69411407T2 DE69411407T2 DE69411407T DE69411407T DE69411407T2 DE 69411407 T2 DE69411407 T2 DE 69411407T2 DE 69411407 T DE69411407 T DE 69411407T DE 69411407 T DE69411407 T DE 69411407T DE 69411407 T2 DE69411407 T2 DE 69411407T2
- Authority
- DE
- Germany
- Prior art keywords
- vectors
- parameter
- quantization
- spectrum
- signal
- 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
- 238000001228 spectrum Methods 0.000 title claims description 54
- 239000013598 vector Substances 0.000 claims description 71
- 238000013139 quantization Methods 0.000 claims description 37
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000007774 longterm Effects 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101000622137 Homo sapiens P-selectin Proteins 0.000 description 1
- 102100023472 P-selectin Human genes 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 101000873420 Simian virus 40 SV40 early leader protein Proteins 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 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
- 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)
- Spectroscopy & Molecular Physics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
- Diese Erfindung bezieht sich auf eine Sprachparameter- Codiervorrichtung zur Codierung von Spektrumparametern eines Eingangssprachsignals mit einer niedrigen Bitrate, die beispielsweise unter 4,8 kb/s liegt.
- Eine für die Codierung eines Eingangssprachsignals mit einer Bitrate von weniger als 8 kb/s benutzte codeerregte LPC-Codierung ist bereits bekannt. Beispiele sind in einem von M. R. Schroeder und B. S. Atal zu den Proceedings of ICASSP, 1985, beigetragenen Artikel, Seiten 937 bis 940, unter dem Titel "Code-excited Linear Prediction (CELP): High-Quality Speech at Very Low Bit Rates" und in einem von W. B. Kleijn und zwei anderen zu den Proceedings of ICASSP, 1988, beigetragenen Artikel, Seiten 155 bis 158, unter dem Titel "Improved Speech Quality and Efficient Vector Quantization in SELP" offenbart.
- Nach der code-erregten LPC-Codierung werden Spektrumparameter aus jedem Rahmensignal eines Eingangssprachsignals extrahiert. Das Rahmensignal besitzt einen Rahmen, der 20 ms lang sein kann. Die Spektrumparameter repräsentieren Spektrumeigenschaften des Eingangssprachsignals. Das Rahmensignal ist in Teilrahmensignale unterteilt, wovon jedes eine Teilrahmenlänge von beispielsweise 5 ms haben kann. Auf der Grundlage des Teilrahmensignals eines vorhergehenden Teilrahmens werden Schrittweitenparameter extrahiert, die eine Langzeit- oder Schrittweitenkorrelation repräsentieren. Durch Verwendung der Schrittweiten parameter zur Langzeitvoraussage der Teilrahmensignale werden Restsignale berechnet. Zur Definition von Rauschsignalen einer vorgegebenen Gattung werden Codebücher verwendet. Für die Restsignale werden aus den Codebüchern Rauschsignale ausgewählt. Eine der vorgegebenen Gattungen wird ausgewählt, um eine Fehlerleistung zwischen dem Eingangssprachsignal und einer Kombination solcher Rauschsignale zu minimieren und eine optimale Verstärkung zu berechnen. Die Spektrumparameter und die Schrittweitenparameter werden mit der optimalen Verstärkung und einem Index, der das obenerwähnte vorgegebene Muster angibt, gemeinsam übertragen.
- In der code-erregten LPC-Codierung wird die LPC-Analyse zum Berechnen der LPC-Parameter als Spektrumparameter eingesetzt. Die LPC-Parameter werden gewöhnlich nach der skalaren Quantisierung quantisiert. Wenn für die Quantisierung LPC-Koeffizienten bis zu einem zehnten Grad verwendet werden, muß eine Bitzahl von 34 Bit pro Rahmen verwendet werden. Diese Bitzahl führt zu einer Bitrate von 1,7 kb/s, wenn nur die LPC-Koeffizienten berechnet werden. Eine Verkleinerung der Bitzahl führt zu einer verschlechterten Qualität.
- Um die LPC-Parameter effektiver zu quantisieren, wird die Vektor-Skalar-Quantisierung vorgeschlagen. Ein Beispiel wird in einem von Takehiro Moriya u. a. zu IEEE Journal of Selected Areas in Communications, 1988, beigetragenen Artikel, Seiten 425 bis 431, unter dem Titel "Transform Coding of Speech Using a Weighted Vector Quantizer" offenbart. Auch bei dieser Quantisierung muß die Bitzahl zwischen 27 und 30 Bit liegen.
- Bei Verwendung einer erweiterten Rahmenlänge könnte eine kleinere Bitzahl zur Quantisierung der Spektrumparameter verwendet werden. Dies führte jedoch dazu, eine zeitliche Änderung der Spektrumeigenschaften innerhalb des Rahmens nur schwer mit ausgezeichneter Qualität wiedergeben zu können, und zu einer verschlechterten Sprachqualität.
- Im Zuge der Beschreibung wird auf weitere vier Artikel verwiesen. Einer stammt von Noboru Sugamura u. a. aus IEEE Journal of Selected Areas in Communications, 1988, Seiten 432 bis 440, mit dem Titel " Quantizer Design in LSP Speech Analysis-Synthesis". Ein weiterer stammt von K. K. Paliwal u. a. aus IEEE Transactions an Speech and Audio Processing, 1993, Seiten 3 bis 14, mit dem Titel "Efficient Vector Quantization of LPC Parameters at 24 Bits/Frame". Ein weiterer stammt von Chieh Tsao und zwei anderen aus IEEE Transactions an ASSP, 1985, Seiten 537 bis 545, mit dem Titel "Matrix Quantizer Design for LPC Speech Using the Generalized Lloyd Algorithm". Ein weiterer stammt von Laroia und zwei anderen aus Proceedings of ICASSP, 1991, Seiten 641 bis 644, mit dem Titel "Robust and Efficient Quantization of Speech LSP Parameters Using Structured Vector Quantizers".
- Unter Berücksichtigung der im Stand der Technik auftretenden Probleme besteht eine Aufgabe der vorliegenden Erfindung darin, eine Sprachparameter-Codiervorrichtung zu schaffen, die zur Codierung von Spektrumparametern eines Eingangssprachsignals mit einer niedrigen Bitrate geeignet ist.
- Eine weitere Aufgabe dieser Erfindung besteht darin, eine Sprachparameter-Codiervorrichtung des beschriebenen Typs zu schaffen, die eine ausgezeichnete Sprachqualität erzielen kann.
- Weitere Aufgaben dieser Erfindung werden im Zuge der Beschreibung deutlich.
- Gemäß dieser Erfindung wird eine Sprachparameter-Codiervorrichtung geschaffen, die eine Unterteilungsschaltung zum Unterteilen jedes Rahmensignals eines Eingangssprachsignals in mehrere Teilrahmensignale enthält, wobei diese enthält:
- (A) eine Spektrumparameter-Berechnungseinheit zum Berechnen von Spektrumparametern für wenigstens eines der Teilrahmensignale bis zu einem vorgegebenen Grad;
- (B) eine Divisionseinheit zum Dividieren der Spektrumparameter durch eine vorgegebene Bereichszahl in Parameterbereiche;
- (C) Vektorcodebücher, der Anzahl nach mehrere Stufen, wobei jedes Codebuch mehrere Codevektoren für jeden der Parameterbereiche definiert
- (D) eine Quantisierungseinheit zum Quantisieren der Spektrumparameter der Spektrumbereiche in quantisierte Codes durch Auswahl der Codevektoren als ausgewählte Codevektoren aus den Codebüchern, wobei jeder der quantisierten Codes aus einer Linearkombination der ausgewählten Vektoren berechnet wird und
- (E) eine Ausgabeeinheit zum Erzeugen der quantisierten Codes als ein Ausgangscodesignal.
- Fig. 1 ist ein Blockschaltplan einer Sprachparameter- Codiervorrichtung gemäß einer ersten Ausführung dieser Erfindung;
- Fig. 2 ist ein Blockschaltplan einer Sprachparameter- Codiervorrichtung gemäß einer zweiten Ausführung dieser Erfindung;
- Fig. 3 ist ein Blockschaltplan einer Sprachparameter- Codiervorrichtung gemäß einer dritten Ausführung dieser Erfindung.
- Die Beschreibung beginnt unter Bezugnahme auf Fig. 1 mit einer Sprachparameter-Codiervorrichtung gemäß einer ersten Ausführung dieser Erfindung. Diese Sprachparameter-Codiervorrichtung hat einen Geräteeingangsanschluß 11 und einen Geräteausgangsanschluß 13. Der Geräteeingangsanschluß 11 wird mit dem Eingangssprachsignal versorgt. Auf die im folgenden beschriebene Weise codiert die Sprachparameter-Codiervorrichtung das Eingangssprachsignals in ein Ausgangscodesignal mit einer niedrigen Bitrate von beispielsweise 4,8 kb/s und liefert das Ausgangscodesignal an den Geräteausgangsanschluß 13. Das Eingangssprachsignal ist in Rahmensignale mit einer gemeinsamen Rahmenlänge, die zwischen 30 und 40 ms liegt, unterteilbar.
- Jedes Rahmensignal wird in einen Pufferspeicher 15 geladen, der mit dem Geräteeingangsanschluß 11 verbunden ist. Ein Teilrahmendividierer 17, der mit dem Pufferspeicher 15 verbunden ist, teilt das Rahmensignal in Teilrahmensignale mit mehreren Teilrahmen, wovon jeder eine vorgegebene Teilrahmenlänge besitzt, die zwischen 5 und 8 ms gewählt wird. Das Eingangssprachsignal ist durch Spektrumeigenschaften gekennzeichnet.
- Eine Kombination aus dem Pufferspeicher 15 und dem Dividierer 17 dient als Divisionsschaltung, um jedes Rahmensignal des Eingangssprachsignals direkt in mehrere Teilrahmensignale zu zerlegen. Es soll angemerkt werden, daß in jedem Teilrahmen mehrere Teilrahmensignal enthalten sein können, die gemeinsam wiederum als ein Teilrahmensignal bezeichnet werden können.
- Eine LPC-Analysatoreinheit 19, die vom Dividierer 17 laufend mit den Teilrahmensignalen versorgt wird, unterzieht die Teilrahmensignale in der auf dem Stand der Technik bekannten Weise der LPC-Analyse, um in bezug auf wenigstens eines der Teilrahmensignale jedes Rahmensignals, das als ein vorgegebenes Teilrahmensignal ausgewählt wird, die Spektrumparameter oder die LPC-Koeffizienten zu berechnen, die die Spektrumeigenschaften bis zu einem vorgegebenen Grad P, beispielsweise bis zum zehnten Grad, repräsentieren, und ein Spektrumparametersignal zu generieren, das die Spektrumparameter repräsentiert. Wenn die Rahmen 40 ms und die Teilrahmen und 8 ms lang sind, wird jedes Rahmensignal in erste bis vierte Teilrahmensignale unterteilt. Das fünfte Teilrahmensignal kann als vorgegebenes Teilrahmensignal gewählt werden.
- Die Spektrumparameter können LSP-Parameter (LSP = Line Spectrum Pair) sein, die gemäß dem obenerwähnten Artikel von Sugamura u. a. berechnet werden können. Die LSP- Parameter können berechnet werden, indem das erste, das dritte und das fünfte Teilrahmensignal als vorgegebene Teilrahmensignale ausgewählt werden. In diesem Fall werden die LSP-Parameter des zweiten Teilrahmensignals durch lineare Interpolation der für das erste und das dritte Teilrahmensignal berechneten LSP-Parameter berechnet. Das vierte Teilrahmensignal betreffend werden die LSP-Parameter durch lineare Interpolation der für das dritte und das fünfte Teilrahmensignal berechneten LSP- Parameter berechnet.
- Eine Divisionseinheit 21, die mit der LPC-Analysatoreinheit 19 verbunden ist, unterteilt die Spektrumparameter von wenigstens einem vorgegebenen Teilrahmensignal in eine vorgegebene Bereichszahl M von Parameterbereichen. Vorzugsweise wird die vorgegebene Bereichszahl so bestimmt, daß sie den Rechenaufwand und den Speicherbedarf minimiert. Beispielsweise werden die LSP-Parameter des vorgegebenen Teilrahmensignals in einen ersten oder unteren Parameterbereich, einen zweiten oder mittleren Parameterbereich und einen dritten oder oberen Parameterbereich unterteilt, wobei die LSP-Parameter des ersten bis dritten Grades, vierten bis sechsten Grades und siebten bis zehnten Grades jeweils in einem der ersten bis dritten Parameterbereiche gruppiert sind.
- Eine Spektrumparameter- oder SPC-Parameter-Quantisierereinheit 23, die von der Divisionseinheit 21 mit den für das vorgegebene Teilrahmensignal berechneten und in die ersten bis M-ten Parameterbereiche unterteilten Spektrumparametern versorgt wird, quantisiert die Spektrumparameter in quantisierte Codes einer gemeinsamen vorgegebenen Anzahl quantisierter Bits. Die Quantisierereinheit 23 ist mit im voraus entworfenen Vektorquantisierungs-Codebüchern oder kurz Vektorcodebüchern, der Anzahl nach mehreren Stufen für einen m-ten Parameterbereich, verbunden, wobei m in den Grenzen von 1 und M veränderlich ist. In dem dargestellten Beispiel ist die Anzahl der Stufen zwei. Folglich heißen die Vektorcodebücher für den m-ten Parameterbereich erste und zweite Codebücher 25(1m) und 25(2m). Solche Vektorcodebücher werden durch ein Produkt aus Bereichszahl und Gesamtzahl der Stufen gebildet.
- Jedes Vektorcodebuch definiert für die Spektrumparameter des m-ten Parameterbereichs mehrere Codevektoren. Jeder quantisierte Code repräsentiert einen quantisierten Wert, der durch eine Linearkombination der aus den Vektorcodebüchern ausgewählten Codevektoren so bestimmt wird, daß eine Quantisierungsverzerrung minimiert wird, auf eine Weise, die weiter unten deutlich wird.
- Die LSP-Parameter des m-ten Parameterbereiches betreffend wird der quantisierte Wert durch LSP'(i)m repräsentiert, wobei i in jedem Parameterbereich eine bereichsinterne Gradzahl darstellt. Genauer gesagt ist i in den Grenzen von 1 und I veränderlich, wobei I eine maximale Gradzahl darstellt, die von dem m-ten Parameterbereich abhängt und gleich drei im ersten und im zweiten Parameterbereich und gleich vier im dritten Parameterbereich ist. Beispielsweise ist LSP(10) mit LSP(4)³ identisch, wobei 10 eine Bereichsgradzahl ist, die den in bezug auf das vorgegebene Teilrahmensignal berechneten LSP-Parametern fortwährend zugeordnet wird, und wobei LSP(p) den LPC-Koeffizienten vor der Quantisierung repräsentiert und p eine teilrahmeninterne Gradzahl darstellt, die zwischen 1 und P veränderlich ist.
- Die ersten und zweiten Codebücher definieren B1 Bits und B2 Bits, wobei sowohl B1 als auch B2 vorgegebene ganze Zahlen darstellen. Den m-ten Parameterbereich betreffend wird ein k-ter Codevektor des ersten Codebuches durch c(1km, i) und ein j-ter Codevektor des zweiten Codebuches durch c(1jm, i) dargestellt. Der quantisierte Wert wird dann dargestellt als:
- LSP' (i)m = [c(1km, i) + c(1jm, i)]/2. (1)
- Mit solchen quantisierten Werten können die quantisierten Codes einer Quantisierungsverzerrung D unterworfen sein, die durch ein Abstandsmaß wiedergegeben werden kann als:
- wobei c(i) und b(i) erste und zweite Gewichtungsfaktoren darstellen, die im folgenden definiert werden. Zur Verwendung in Gleichung (1) werden die ausgewählten Vektoren aus den Codevektoren, die in den Codebüchern gespeichert sind, als gespeicherte Vektoren so ausgewählt bzw. aufgefunden, daß die Quantisierungsverzerrung für den m-ten Parameterbereich minimiert wird.
- Die Gewichtungsfaktoren sind gegeben durch:
- c(i) = 1,0 oder c(i) = 0,8,
- b(i) = 1/[LSP(i)m - LSP(i-1)m] + 1/[LSP(i + 1)m - LSP(i)m].
- Den ersten Gewichtungsfaktor betreffend wird der Wert 1,0 eingesetzt, wenn die teilrahmeninterne Gradzahl in den Grenzen von 1 und 8 liegt. Der Wert 0,8 wird eingesetzt, wenn die teilrahmeninterne Gradzahl 9 oder 10 ist. Den zweiten Gewichtungsfaktor betreffend ist LSP(0)m gleich null. Der Wert von LSP(I + 1)m eines Parameterbereiches ist gleich LSP(1)m eines höheren Parameterbereiches, falls dieser verfügbar ist. LSP(P + 1)m wird eine vorgegebene Zahl zugewiesen, die beispielsweise π sein kann.
- Der zweite Gewichtungsfaktor wird dazu verwendet, um mit einem niedrigen Bewertungsgewicht eine Verzerrungskomponente zu bewerten, die aus dem Spektrumparameter resultiert, der als Bereichsendeparameter die teilrahmeninterne Gradzahl besitzt, die gleich der maximalen Gradzahl ist. Einzelheiten sind in dem obenerwähnten Artikel von Laroia u. a. beschrieben.
- Die Codevektoren werden zur Verwendung in Gleichung (2) durch eine vollständige Suche aus allen Kombinationen der gespeicherten Vektoren ausgesucht bzw. aufgefunden. Genauer gibt es 2B1 · 2B2 Kombinationen. Die Quantisie rungsverzerrung wird gemäß Gleichung (2) unter Berücksichtigung jeder Kombination bewertet. Es wird wenigstens eine Kombination ausgewählt. Die ausgewählten Vektoren werden unter Berücksichtigung aller Parameterbereiche aufgefunden.
- Die gespeicherten Vektoren können bestimmt werden, indem die Vektorcodebücher unter Verwendung einer großen Zahl von LSP-Parametern als Trainingsparameter trainiert werden. Das Training ist auf eine Art möglich, die in dem obenerwähnten Artikel von Linde u. a. gelehrt wird.
- Nebenbei sei erwähnt, daß die Spektrumparameter-Quantisierereinheit 23 durch einen Mikroprozessor implementiert ist.
- Die ausgewählten Vektoren werden durch Indizes I(1km) und I(2jm) gekennzeichnet, die die gespeicherten Vektoren in jedem der Vektorcodebücher kennzeichnen. Die Quantisierereinheit 23 liefert die Indizes an einen Multiplexer (MX) 27. Auf diese Weise werden die quantisierten Codes aus der Linearkombination der ausgewählten Vektoren berechnet. Der Multiplexer 27 liefert das Ausgangscodesignal an den Geräteausgangsanschluß 13.
- Die Beschreibung wird unter Bezugnahme auf Fig. 2 mit einer Sprachparameter-Codiervorrichtung gemäß einer zweiten Ausführung der Erfindung fortgesetzt. Gleiche Baugruppen werden mit gleichen Bezugszeichen versehen und können auf die gleiche Weise mit den gleichnamigen Signalen betrieben werden.
- In Fig. 2 ist die Spektrumparameter- oder LSP-Parameter- Quantisierereinheit 23 wiederum durch einen Mikroprozessor implementiert und enthält eine Vorselektoreinheit 29. Die Selektoreinheit 29, die mit den Vektorcodebüchern, wie etwa mit den ersten und zweiten Codebüchern 25(Im) und 25(2m), verbunden ist, wählt Kandidatenvektoren aus den Codevektoren aus, die in wenigstens einem der Codebücher als primäre gespeicherte Vektoren gespeichert sind. Die Kandidatenvektoren werden nacheinander gemäß einer Regel ausgewählt, die eine vereinfachte Quantisierungsverzerrung D' minimiert und in dem m-ten Parameterbereich definiert ist durch:
- wobei km den Index darstellt, der jedem der primären gespeicherten Vektoren zugeteilt ist. In dem dargestellten Beispiel werden drei solcher Kandidatenvektoren ausgewählt. Im Gegensatz zur vereinfachten Quantisierungsverzerrung würde einer Quantisierungsverzerrung D, die durch Gleichung (2) definiert ist, ein Name einer regelmäßigen Quantisierungsverzerrung zugeteilt werden.
- Die Quantisierereinheit 23 enthält ferner eine Such- oder Auffindeinheit 31. Die Sucheinheit 31 sucht die Indizes der ausgewählten Vektoren, wie beispielsweise I(1km) und I(2jm), die die regelmäßige Quantisierungsverzerrung minimieren.
- Mit Bezugnahme auf Fig. 3 wird im folgenden eine Sprachparameter-Codiervorrichtung gemäß einer dritten Ausführung der Erfindung betrachtet. Wiederum werden gleiche Baugruppen mit gleichen Bezugszeichen versehen und können auf die gleiche Weise mit den gleichnamigen Signalen betrieben werden.
- Die Spektrumparameter- oder LSP-Parameter-Quantisierereinheit 23 wird durch einen Mikroprozessor implementiert und enthält eine Quantisiereruntereinheit 33, die im wesentlichen wie die im Zusammenhang mit Fig. 1 beschriebene Quantisierereinheit 23 betrieben werden kann.
- Die Quantisiereruntereinheit 33, die mit den Vektorcodebüchern, wie etwa mit den ersten und zweiten Codebüchern 25(1m) und 25(2m), verbunden ist, wählt wenigstens eine Vektorkombination der ausgewählten Vektoren als Kombinationskandidat für jeden der Parameterbereiche aus, die die durch Gleichung (2) definierte Quantisierungsverzerrung minimiert. In dem dargestellten Beispiel liefert die Quantisiereruntereinheit 33 die Vektorkombination über eine der drei von ihr ausgehenden Signalleitungen.
- Die Quantisierereinheit 23 enthält ferner eine Diskriminator-Untereinheit 35. Ein in Zusammenarbeit mit der Diskriminator-Untereinheit 35 eingesetztes Interpolations-Codebuch 37, wird in bezug auf die Teilrahmensignale mit einem Eta-Koeffizienten η, der weiter unten erläutert wird, im voraus geladen.
- Es wird, wie oben erläutert, angenommen, daß die LPC- Analysatoreinheit 19 die Spektrumparameter ausschließlich in bezug auf das fünfte Teilrahmensignal in jedem Rahmensignal berechnet. Es sollte angemerkt werden, daß die Spektrumparameter auf diese Weise nicht nur in bezug auf eine s solcher Rahmensignale berechnet wird, das gerade als ein laufendes Rahmensignal verarbeitet wird, sondern auch in bezug auf das Rahmensignal, das als vorauseilendes oder vorhergehendes dem laufenden Rahmensignal um eine Rahmenlänge vorhergeht. Im Ergebnis quantisiert die Quantisiereruntereinheit 33 die aus dem fünften Teilrahmensignal des laufenden und der vorhergehenden Rahmensignale berechneten Spektrumparameter.
- Unter Verwendung der für solche fünften Teilrahmensignale ausgewählten Vektorkombinationen berechnet die Quantisiereruntereinheit 33 gemäß Gleichung (1) die quantisierten Werte LSP' (i)5c und LSP' (i)5p, wobei die Suffizes 5c und 5p die fünften Teilrahmensignale des laufenden und der vorhergehenden Rahmensignale bezeichnen. In Fig. 3 werden diese quantisierten Werte an die Diskriminator-Untereinheit 35 über die zwei restlichen zu dieser Einheit führenden Signalleitungen geliefert.
- Unter Verwendung der von der Quantisiereruntereinheit 33 gelieferten quantisierten Werte und der von der Divisionseinheit 21 in bezug auf die Parameterbereiche gelieferten Spektrumparameter sowie durch Verweis auf das Interpolations-Codebuch 37 interpoliert die Diskriminator-Untereinheit 35 die quantisierten Werte weiterer Teilrahmensignale, wie etwa die ersten bis vierten Teilrahmensignale des laufenden Rahmensignals, als interpolierte Werte. Bei der Interpolation eines interpolierten Wertes LSP'(i)c für ein Teilrahmensignal eines mittleren Bereiches bzw. Zwischenbereiches des laufenden Rahmensignals rechnet die Diskriminator-Untereinheit 35 nach der folgenden Gleichung:
- LSP' (i) c = (1 - η) LSP' (i)5p + ηLSP' (i)5c, (4)
- wobei η den im Interpolations-Codebuch 37 gespeicherten Eta-Koeffizienten darstellt. Ähnlich wie in Gleichung (4) werden die interpolierten Werte LSP'(i)1c und LSP'(i)2c für das erste und das zweite Teilrahmensignal wie folgt berechnet:
- LSP' (i)1c = 0,6 LSP' (i)5p + 0,4 LSP' (i)c
- und LSP'(i)2c = 0,2 LSP' (i)5p + 0,8 LSP' (i)c
- Für das dritte und das vierte Teilrahmensignal des laufenden Rahmensignals werden die interpolierten Werte LSP'(i)3c und LSP'(i)qc berechnet nach:
- LSP' (i)3c = 0,8 LSP' (i)c + 0,2 LSP' (i)5c
- und LSP' (i)4c = 0,4 LSP'(i)c + 0,6 LSP'(i)5c
- Anschließend berechnet die Diskriminator-Untereinheit 35 eine akkumulierte Verzerrung der Quantisierungsverzerrung gemäß der Gleichung:
- wobei s eine jedem Teilrahmensignal zugeordnete Ordinalzahl darstellt. In Gleichung (5) ist
- Das Interpolations-Codebuch 37, in das zusätzlich die Codevektoren als Interpolationsvektoren eingetragen sind, wird gemäß des obenerwähnten Artikels von Linde u. a. unter Berücksichtigung der im Zusammenhang mit den in Fig. 1 beschriebenen Vektorcodebücher trainiert. Die Diskriminator-Untereinheit 35 berechnet für den oder die Kandidaten und für die Interpolationsvektoren die Gleichungen (5) und (6) und wählt eine Kandidatenkombination aus einem der Kandidaten und einigen der Interpolationsvektoren aus, die die Gleichungen (5) und (6) minimieren, um diese an den Multiplexer 27 zu liefern. Nebenbei sei erwähnt, daß anstelle der Eta-Koeffizienten und der Interpolationsvektoren Interpolationsmuster in dem Interpolations-Codebuch 37 gespeichert werden können.
- Auf die obenbeschriebene Weise werden die Spektrumparameter, die die Spektrumeigenschaften eines Eingangssprachsignals repräsentieren, gemäß dieser Erfindung quantisiert, indem die Spektrumparameter in bezug auf wenigstens eines der Teilrahmensignale eines Rahmensignals berechnet wird, indem die Spektrumparameter in Parameterbereiche unterteilt werden und indem die Spektrumparameter der Parameterbereiche durch Verwendung von Codevektoren quantisiert werden, die aus Vektorcodebüchern, der Anzahl nach mehreren Stufen für jeden der Parameterbereiche, stammen. Es ist deshalb möglich, den Rechenaufwand und den Speicherbedarf zu reduzieren und die Spektrumparameter mit der kleinstmöglichen Anzahl von Bits und mit einer verbesserten Sprachqualität zu quantisieren.
- Insoweit diese Erfindung in besonderem Zusammenhang mit einigen zweckmäßigen Ausführungen beschrieben worden ist, wird es dem Fachmann ohne weiteres möglich sein, diese Erfindung auf verschiedene weitere Arten in die Praxis umzusetzen. Beispiele hierfür werden im folgenden beschrieben.
- Die Spektrumparameter müssen nicht notwendigerweise LSP- Parameter sein, sondern können andere bekannte Parameter sein. Neben dem durch Gleichung (2) definierten Distanzmaß kann ein anderweitig bekanntes Distanzmaß zum Entwurf und Durchsuchen der Vektorcodebücher verwendet werden. Das Interpolations-Codebuch 37 kann gemeinsam für mehrere Teilrahmensignale verwendet werden. Alternativ können solche Interpolations-Codebücher zur Verwendung in bezug auf die jeweiligen Teilrahmensignale optimiert werden. In diesem Fall können die Interpolations-Codebücher zu einem Codebuch in Matrixform kombiniert werden. Ein solches Matrix-Codebuch ist in dem obenerwähnten Artikel von Tsao u. a. beschrieben und kann unter Verwendung eines beliebigen bekannten Distanzmaßes trainiert und durchsucht werden.
- Die Vektorparameter-Quantisierereinheit 23 wird zur Durchführung der vollständigen Suche verwendet. Es kann jedoch auch eine baumähnliche Suche, eine gitterähnliche Suche oder eine mehrstufige Suche angewandt werden, um den Rechenaufwand zu reduzieren, der zum Auffinden der in den Vektorcodebüchern gespeicherten Codevektoren erforderlich ist.
- Durch die LSP-Parameter-Quantisierereinheit 23 werden die Vektorcodebücher unter Berücksichtigung von Gleichung (2) durchsucht, so daß die Quantisierereinheit 23 nach Fig. 1 bis 3 einen Kombinationskandidaten suchen kann, der die Gleichung (2) minimiert. Es können jedoch mehrere Kombinationskandidaten in bezug auf jeden Parameterbereich erzeugt werden. In diesem Fall wird die akkumulierte Verzerrung in bezug auf alle Parameterbereiche, statt nach Gleichung (5), nach einer unterschiedlichen Gleichung berechnet:
- wobei E(sm) nach Gleichung (6) berechnet wird. Ferner werden die quantisierten Werte in bezug auf den ersten bis P-ten Grad danach geprüft, ob sie den folgenden Ungleichungen genügen:
- LSP' (1) < LSP' (2) < ... < LSPt (i) < LSP' (i + 1) < ... < LSP' (P)
- Wenn sie diesen Ungleichungen genügen, braucht nur einer der Kombinationskandidaten, der die Gleichung (7) minimiert, berechnet werden. Dies erhöht unweigerlich den Rechenaufwand. Jedoch verbessert dies die Fähigkeiten der Sprachparameter-Codiervorrichtung.
- Durch die Spektrumparameter-Quantisierereinheit 23 werden die quantisierten Werte berechnet, indem veranlaßt wird, daß die Analysatoreinheit 19 einen oder drei der Teilrahmensignale analysiert, um die LSP-Parameter zu erzeugen. Diese LPC-Analyse betreffend kann eine unterschiedliche Anzahl von Teilrahmensignalen verwendet werden.
Claims (8)
1. Sprachparameter-Codiervorrichtung, mit einer
Unterteilungsschaltung (15, 17) zum Unterteilen jedes
Rahmensignals eines Eingangssprachsignals in mehrere
Teilrahmensignale, wobei die
Sprachparameter-Codiervorrichtung enthält:
eine Spektrumparameter-Berechnungseinheit (19)
zum Berechnen von Spektrumparametern für wenigstens eines
der Teilrahmensignale bis zu einem vorgegebenen Grad;
gekennzeichnet durch
eine Divisionseinheit zum Dividieren der
Spektrumparameter durch eine vorgegebene Bereichszahl von
Parameterbereichen;
Vektorcodebücher (25(1m), 25(2m)), der Anzahl
nach mehrere Stufen für jeden der Parameterbereiche,
wobei jedes Codebuch mehrere Codevektoren für jeden der
Parameterbereiche definiert;
eine Quantisierungseinheit (23) zum Quantisieren
der Spektrumparameter der Spektrumbereiche in
quantisierte Codes durch ausgewählte Codevektoren aus den
Codebüchern, wobei jeder der quantisierten Codes aus
einer Linearkombination der ausgewählten Vektoren
berechnet wird; und
eine Ausgabeeinheit (27) zum Erzeugen der
quantisierten Codes als ein Ausgangscodesignal.
2. Sprachparameter-Codiervorrichtung nach Anspruch
1, bei der:
jedes der Codebücher für jeden der
Parameterbereiche mit den Codevektoren geladen wird, wobei den
Codevektoren aufeinanderfolgende Indizes zugeteilt sind;
wobei die Quantisierungseinheit die den
ausgewählten Vektoren zugeteilten Indizes als die
quantisierten Codes erzeugt.
3. Sprachparameter-Codiervorrichtung nach Anspruch
1, bei der die Quantisierungseinheit die Codevektoren in
der Weise wählt, daß eine unter Verwendung der
Linearkombination berechnete Quantisierungsverzerrung minimiert
wird.
4. Sprachparameter-Codiervorrichtung nach Anspruch
3, bei der die Quantisierungseinheit die
Quantisierungsverzerrung durch diejenige Quantisierungsverzerrung
minimiert, die durch einen Gewichtungsfaktor gewichtet
ist, der der Quantisierungsverzerrung einen höheren Wert
verleiht, wenn der Spektrumparameter in jedem der
Parameterbereiche einen größeren Grad hat.
5. Sprachparameter-Codiervorrichtung nach Anspruch
1, bei der die Spektrumparameter-Berechnungseinheit die
Spektrumparameter ausschließlich für eines der
Teilrahmensignale in jedem Rahmensignal berechnet.
6. Sprachparameter-Codiervorrichtung nach Anspruch
1, bei der:
die Divisionsschaltung jedes Rahmensignal des
Eingangssprachsignals in die Teilrahmensignale dividiert,
wobei für die Mehrzahl eine ungerade Zahl verwendet wird,
um aufeinanderfolgend numerierte Teilrahmensignale zu
erzeugen;
die Spektrumparameter-Berechnungseinheit die
Spektrumparameter berechnet, wobei jedes der
ungeradzahlig numerierten Teilrahmensignale als das eine
Teilrahmensignal verwendet wird.
7. Sprachparameter-Codiervorrichtung nach Anspruch
1, bei der die Quantisierungseinheit enthält:
eine Auswahluntereinheit (29) zum vorhergehenden
Auswählen von Kandidatenvektoren, die
aufeinanderfolgendend eine vereinfachte Quantisierungsverzerrung
minimieren, aus den Codevektoren, die in dem Codebuch
wenigstens einer der Stufen gespeichert sind; und
eine Suchuntereinheit (31) zum Berechnen einer
regelmäßigen Quantisierungsverzerrung durch
Vektorkombination der Kandidatenvektoren, um eine der
Vektorkombinationen auszuwählen und um als die quantisierten Codes
Indizes zu erzeugen, die den Kandidatencodes, die in der
einen der Vektorkombinationen verwendet werden, zugeteilt
werden.
8. Sprachparameter-Codiervorrichtung nach Anspruch
1, bei der:
die Sprachparameter-Codiervorrichtung ferner ein
Interpolations-Codebuch (37) enthält, das mit
Interpolationsvektoren geladen ist;
die Quantisierungseinheit enthält:
eine Quantisierungsuntereinheit (33) zum
Quantisieren der Spektrumparameter der Parameterbereiche in dem
wenigstens einen Teilrahmensignal eines Rahmensignals, um
als einen Kombinationskandidaten eine von
Linearkombinationen der Codevektoren zu erzeugen, die eine
Quantisierungsverzerrung minimiert, die in Verbindung mit dem
wenigstens einen der Teilrahmensignale berechnet wird;
und
eine Diskriminator-Untereinheit (35), die auf den
Kombinationskandidaten anspricht, um in Verbindung mit
anderen Teilrahmensignalen des einen Rahmensignals
interpolierte Kombinationen der interpolierten Vektoren zu
interpolieren und um in Verbindung mit anderen
Teilrahmensignalen Quantisierungsverzerrungen zu berechnen, um
eine akkumulierte Verzerrung der
Quantisierungsverzerrun
gen zu minimieren, die in Verbindung mit dem wenigstens
einen der anderen Teilrahmensignale berechnet werden, und
um als die quantisierten Codes den Kombinationskandidaten
und die in den interpolierten Kombinationen verwendeten
Interpolationsvektoren zu erzeugen.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5021026A JP2800618B2 (ja) | 1993-02-09 | 1993-02-09 | 音声パラメータ符号化方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69411407D1 DE69411407D1 (de) | 1998-08-13 |
DE69411407T2 true DE69411407T2 (de) | 1999-04-15 |
Family
ID=12043505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69411407T Expired - Lifetime DE69411407T2 (de) | 1993-02-09 | 1994-02-09 | Vorrichtung zum Kodieren von Sprachspektrumparametern mit der kleinstmöglichen Bitzahl |
Country Status (5)
Country | Link |
---|---|
US (1) | US5625744A (de) |
EP (1) | EP0610906B1 (de) |
JP (1) | JP2800618B2 (de) |
CA (1) | CA2115185C (de) |
DE (1) | DE69411407T2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10004862A1 (de) * | 1999-12-24 | 2001-07-05 | Korea Electronics Telecomm | Ein schnelles Suchverfahren für LSP-Quantisierung |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2973805B2 (ja) | 1993-12-10 | 1999-11-08 | 日本電気株式会社 | 標準パターン作成装置 |
JPH08292797A (ja) * | 1995-04-20 | 1996-11-05 | Nec Corp | 音声符号化装置 |
JP3308764B2 (ja) * | 1995-05-31 | 2002-07-29 | 日本電気株式会社 | 音声符号化装置 |
IT1277194B1 (it) * | 1995-06-28 | 1997-11-05 | Alcatel Italia | Metodo e relativi apparati di codifica e di decodifica di un segnale vocale campionato |
JP3335841B2 (ja) * | 1996-05-27 | 2002-10-21 | 日本電気株式会社 | 信号符号化装置 |
JP3357795B2 (ja) * | 1996-08-16 | 2002-12-16 | 株式会社東芝 | 音声符号化方法および装置 |
US20040083097A1 (en) * | 2002-10-29 | 2004-04-29 | Chu Wai Chung | Optimized windows and interpolation factors, and methods for optimizing windows, interpolation factors and linear prediction analysis in the ITU-T G.729 speech coding standard |
US7733350B2 (en) * | 2006-06-30 | 2010-06-08 | Microsoft Corporation | Anisometric texture synthesis |
GB2466673B (en) | 2009-01-06 | 2012-11-07 | Skype | Quantization |
GB2466669B (en) | 2009-01-06 | 2013-03-06 | Skype | Speech coding |
GB2466670B (en) | 2009-01-06 | 2012-11-14 | Skype | Speech encoding |
GB2466671B (en) | 2009-01-06 | 2013-03-27 | Skype | Speech encoding |
GB2466672B (en) | 2009-01-06 | 2013-03-13 | Skype | Speech coding |
GB2466675B (en) | 2009-01-06 | 2013-03-06 | Skype | Speech coding |
GB2466674B (en) * | 2009-01-06 | 2013-11-13 | Skype | Speech coding |
US8452606B2 (en) | 2009-09-29 | 2013-05-28 | Skype | Speech encoding using multiple bit rates |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3254687B2 (ja) * | 1991-02-26 | 2002-02-12 | 日本電気株式会社 | 音声符号化方式 |
JP3296363B2 (ja) * | 1991-04-30 | 2002-06-24 | 日本電信電話株式会社 | 音声の線形予測パラメータ符号化方法 |
US5396576A (en) * | 1991-05-22 | 1995-03-07 | Nippon Telegraph And Telephone Corporation | Speech coding and decoding methods using adaptive and random code books |
JP3089769B2 (ja) * | 1991-12-03 | 2000-09-18 | 日本電気株式会社 | 音声符号化装置 |
-
1993
- 1993-02-09 JP JP5021026A patent/JP2800618B2/ja not_active Expired - Lifetime
-
1994
- 1994-02-08 CA CA002115185A patent/CA2115185C/en not_active Expired - Lifetime
- 1994-02-09 EP EP94101969A patent/EP0610906B1/de not_active Expired - Lifetime
- 1994-02-09 US US08/193,596 patent/US5625744A/en not_active Expired - Lifetime
- 1994-02-09 DE DE69411407T patent/DE69411407T2/de not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10004862A1 (de) * | 1999-12-24 | 2001-07-05 | Korea Electronics Telecomm | Ein schnelles Suchverfahren für LSP-Quantisierung |
DE10004862B4 (de) * | 1999-12-24 | 2005-03-03 | Electronics And Telecommunications Research Institute | Ein schnelles Suchverfahren für LSP-Quantisierung |
Also Published As
Publication number | Publication date |
---|---|
US5625744A (en) | 1997-04-29 |
JPH06236199A (ja) | 1994-08-23 |
EP0610906B1 (de) | 1998-07-08 |
EP0610906A1 (de) | 1994-08-17 |
JP2800618B2 (ja) | 1998-09-21 |
DE69411407D1 (de) | 1998-08-13 |
CA2115185A1 (en) | 1994-08-10 |
CA2115185C (en) | 1998-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69214969T2 (de) | Verfahren und Vorrichtung zur Erzeugung von Hilfsinformationen zur Ausführung einer Suche in einem Kodebuch mit geringer Dichte | |
DE69411407T2 (de) | Vorrichtung zum Kodieren von Sprachspektrumparametern mit der kleinstmöglichen Bitzahl | |
DE69420431T2 (de) | Sprachkodierungssystem | |
DE69530442T2 (de) | Vorrichtung zur Sprachkodierung | |
DE69529356T2 (de) | Wellenforminterpolation mittels Zerlegung in Rauschen und periodische Signalanteile | |
DE69724126T2 (de) | Audiosignalkodier- und dekodierverfahren und audiosignalkodierer und -dekodierer | |
DE69029232T2 (de) | System und Methode zur Sprachkodierung | |
DE69328450T2 (de) | Verfahren und Vorrichtung zur Sprachkodierung | |
DE4397106B4 (de) | Schnelles auf einer Baumstruktur basierendes Verfahren zur Vektorquantisierung | |
DE69232892T2 (de) | Sprachkodierungssystem | |
DE69836624T2 (de) | Audiokodierer und -dekodierer | |
DE69521164T2 (de) | System zum Kodieren und Dekodieren von Signalen | |
DE69636209T2 (de) | Vorrichtung zur Sprachkodierung | |
DE69718234T2 (de) | Sprachkodierer | |
DE69426860T2 (de) | Sprachcodierer und Verfahren zum Suchen von Codebüchern | |
DE69526017T2 (de) | Vorrichtung zur Vektorquantisierung | |
DE69223335T2 (de) | Sprachkodiersystem | |
DE69329569T2 (de) | Digitale Kodierung von Sprachsignalen | |
DE69023411T2 (de) | Vektorquantizierungskodierer und Dekodierer. | |
DE69729527T2 (de) | Verfahren und Vorrichtung zur Kodierung von Sprachsignalen | |
DE69121411T2 (de) | Methode und gerät zur codierung von analogen signalen | |
DE69610915T2 (de) | Verfahren zur quantisierung des verstärkungsfaktors für die linear-prädiktive sprachkodierung mittels analyse-durch-synthese | |
DE69727256T2 (de) | Sprachkodierer hoher Qualität mit niedriger Bitrate | |
DE69615870T2 (de) | Sprachkodierer mit aus aktuellen und vorhergehenden Rahmen extrahierten Merkmalen | |
DE69420683T2 (de) | Kodierer für Sprachparameter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |