DE69229364T2 - Einrichtung und Verfahren zur Sprachkodierung - Google Patents
Einrichtung und Verfahren zur SprachkodierungInfo
- Publication number
- DE69229364T2 DE69229364T2 DE69229364T DE69229364T DE69229364T2 DE 69229364 T2 DE69229364 T2 DE 69229364T2 DE 69229364 T DE69229364 T DE 69229364T DE 69229364 T DE69229364 T DE 69229364T DE 69229364 T2 DE69229364 T2 DE 69229364T2
- Authority
- DE
- Germany
- Prior art keywords
- signal
- gain
- excitation
- code table
- code vector
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title abstract description 25
- 230000003044 adaptive effect Effects 0.000 claims abstract description 100
- 230000005284 excitation Effects 0.000 claims abstract description 95
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 64
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 64
- 239000013598 vector Substances 0.000 claims description 115
- 230000003595 spectral effect Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 abstract description 34
- 238000010586 diagram Methods 0.000 description 5
- 238000013139 quantization Methods 0.000 description 5
- 239000006185 dispersion Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 101100311330 Schizosaccharomyces pombe (strain 972 / ATCC 24843) uap56 gene Proteins 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 101150018444 sub2 gene Proteins 0.000 description 1
- 238000012549 training 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/083—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being an excitation gain
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] 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/0002—Codebook adaptations
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L2019/0001—Codebooks
- G10L2019/0013—Codebook search algorithms
- G10L2019/0014—Selection criteria for distances
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/06—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being correlation coefficients
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
- Diese Erfindung betrifft ein Verfahren zur Sprachkodierung und eine Einrichtung zur Kodierung eines Sprachsignals mit hoher Qualität mittels eines vergleichsweise kleinen Berechnungsaufwands bei einer niedrigen Bitrate, insbesondere bei etwa 8 kb/s oder weniger.
- Ein CELP-Sprachkodierungsverfahren ist als ein Verfahren zur Kodierung eines Sprachsignals mit hoher Effizienz und einer Bitrate von 8 kb/s oder weniger bekannt. Ein derartiges CELP-Verfahren verwendet einen linearen prädiktiven Analysator, welcher eine Kurzzeit-Korrelation eines Sprachsignals repräsentiert, eine adaptive Kodetabelle, die eine Langzeit- Prädiktion eines Sprachsignals repräsentiert, eine Anregungskodetabelle, die ein Anregungssignal repräsentiert, und eine Verstärkungsfaktorkodetabelle, die Verstärkungsfaktoren der adaptiven Kodetabelle und der Anregungskodetabelle repräsentiert.
- Es ist bereits bekannt, daß mit einem derartigen CELP- Verfahren ein besserer Anregungskodevektor zum Erhalten einer verbesserten Tonqualität herausgesucht werden kann, indem dann, wenn die Anregungskodetabelle zu durchsuchen ist, simultane optimale Verstärkungsfaktoren als der Verstärkungsfaktor des adaptiven Kodevektors und als der Verstärkungsfaktor des Anregungskodevektors verwendet werden. Ein solches Kodierungsverfahren, welches dann, wenn die Anregungskodetabelle zu durchsuchen ist, simultane optimale Verstärkungsfaktoren als den Verstärkungsfaktor des adaptiven Kodevektors und als den Verstärkungsfaktor des Anregungskodevektors verwendet, ist beispielsweise in Ira A. Gerson and Mark A. Jasiuk; "VECTOR SUM EXCITED LINEAR PREDICTION (VSELP) SPEECH CODING AT 8 KBPS", Proc. ICASSSP, '90 S9.3, pp.461-464, 1990 (Literatur 1) und in M. Tomohiko and M. Johnson, "Pitch Orthogonal CELP Speech Coder", Lecture Thesis Collection I of '90 Autumnal Research Publication Meeting, Acoustical Society of Japan (Literatur 2) offenbart.
- Unterdessen ist als ein Sprachkodierungsverfahren, welcher ein Sprachsignal mit hoher Effizienz bei einer Bitrate von 8 kb/s oder darunter kodiert, ein solches CELP-Verfahren, welches einen linearen prädiktiven Analysator, der eine Kurzzeit-Korrelation eines Sprachsignals repräsentiert, eine adaptive Kodetabelle, die eine Langzeit-Prädiktion eines Sprachsignals repräsentiert, eine Anregungskodetabelle, die ein Anregungssignal repräsentiert, und eine Verstärkungsfaktorkodetabelle, die Verstärkungsfaktoren der adaptiven Kodetabelle und der Anregungskodetabelle repräsentiert, wie hierin vorstehend beschrieben, verwendet, in Manfred R. Schroeder and Bishnu S. Atal "CODE-EXCITED LINEAR PREDICTION (CELP): HIGH-QUALITY SPEECH AT VERY LOW BIT RATES", Proc. ICASSP, pp. 937-940, 1985 (Literatur 3) offenbart.
- Bei den in Literatur 1 und in Literatur 2 offenbarten herkömmlichen Sprachkodierungsverfahren weist die Anregungskodetabelle eine spezifische algebraische Struktur auf, und demzufolge können simultane optimale Verstärkungsfaktoren des adaptiven Kodevektors und des Anregungskodevektors mit einem vergleichsweise kleinen Berechnungsaufwand berechnet werden. Eine Anregungskodetabelle, welche keine solche spezifische algebraische Struktur aufweist, weist jedoch einen Nachteil dahingehend auf, daß ein großer Berechnungsaufwand zur Berechnung simultaner optimaler Verstärkungsfaktoren erforderlich ist.
- Ferner sind in dem in der Literatur 3 offenbarten herkömmlichen Sprachkodierungsverfahren die Verstärkungsfaktoren nicht normiert, und demzufolge eine Streuung der Verstärkungsfaktoren groß, was die Quantisierungscharakteristik der Sprachkodierungseinrichtung verschlechtert.
- Eine Aufgabe der vorliegenden Erfindung besteht in der Bereitstellung einer Sprachkodierungseinrichtung, welche ein Sprachsignal mit einer Bitrate von 8 kb/s oder darunter mit einem relativ kleinen Berechnungsaufwand kodieren kann, um eine gute Tonqualität zu erhalten.
- Zur Lösung der Aufgabe wird eine Sprachkodierungseinrichtung gemäß Anspruch 1 bereitgestellt.
- In der Sprachkodierungseinrichtung wird die adaptive Kodetabelle nach einem adaptiven Kodevektor durchsucht, welcher den nachstehenden Fehler:
- C = {xw'(n) - βSad(n)}² (1)
- für
- β = < xw', xw'> /< xw', Sad> (2)
- minimiert, wobei xw' ein Signal ist, das durch Subtraktion eines Einflußssignals von einem wahrnehmungsgewichteten Eingangssignal subtrahiert wird, Sad ein wahrnehmungsgewichtetes synthetisiertes Signal eines adaptiven Kodevektors ad mit einer Verzögerung d ist, β ein optimaler Verstärkungsfaktor des adaptiven Kodevektors ist, N eine Länge eines Unterrahmens, und < #, #> ein inneres Produkt ist.
- Anschließend wird die Anregungskodetabelle nach einem Anregungskodevektor durchsucht, welcher für den selektierten adaptiven Kodevektor ad den nachstehenden Fehler D:
- D = {xa(n) - γSci'(n)}2 (3)
- für
- γ = < xa, xa> /< xa, Sci'> (4)
- xa(n) = xw'(n) - βSad(n) (5)
- minimiert, wobei Sci' ein wahrnehmungsgewichtetes synthetisiertes Signal eines Anregungskodevektors ci mit dem Index i orthogonalisert in Bezug auf das wahrnehmungsgewichtete Signal des selektierten adaptiven Kodevektor ist, und γ ein optimaler Verstärkungsfaktor des Anregungskodevektors ist.
- Obwohl ein Verfahren zur Orthogonalisierung eines wahrnehmungsgewichteten synthetisierten Signals eines Anregungskodevektors ci mit einem Index i in Bezug auf ein wahrnehmungsgewichtetes Signal eines selektierten adaptiven Kodevektor zum Finden simultaner optimaler Verstärkungsfaktoren beispielsweise aus der vorstehend erwähnten Literatur 1 bereits bekannt ist, erfordert das Verfahren einen sehr hohen Berechnungsaufwand. Daher wird ein derartiger Berechnungsaufwand durch die Berechnung eines Anregungskodevektors D in der nachstehenden Weise reduziert.
- Zuerst wird die Gleichung (4) in die Gleichung (3) eingesetzt.
- D = < xa, xa> - < xa, Sci'> ²/< Sci', Sci'> (6)
- Dann wird die nachstehende Gleichung (7) in die Gleichung (6) eingesetzt, und damit, da xa und Sad orthogonal zueinander sind, die Gleichung (8) erhalten:
- Sci' = Sci - Sad · < Sad, Sci> /< Sad, Sad> (7)
- D = < xa, xa> - (xa, Sci> ²/
- {< Sci, Sci> - < Sad, Sci> ²/< sad, Sad> } (8)
- Zum Schluß wird die Verstärkungsfaktorkodetabelle nach einem Verstärkungsfaktorkodevektor durchsucht, welcher für den selektierten adaptiven Kodevektor und den Anregungskodevektor den nachstehenden Fehler E:
- E = {xw'(n) - βjSad(n) - γjSci(n)}² (9)
- minimiert, wobei (βj, γj) ein Verstärkungsfaktorkodevektor mit einem Index j ist.
- Die Verstärkungsfaktorkodetabelle kann bezüglich des Signals eine zweidimensionale Kodetabelle sein, die aus Verstärkungsfaktoren der adaptiven Kodetabelle und Verstärkungsfaktoren der Anregungskodetabelle besteht oder andererseits aus zwei Kodetabellen bestehen kann, die eine aus den Verstärkungsfaktoren der adaptiven Kodetabelle bestehende eindimensionale Verstärkungsfaktorkodetabelle und eine weitere aus den Verstärkungsfaktoren der Anregungskodetabelle bestehende eindimensionale Verstärkungsfaktorkodetabelle umfassen.
- Somit ist das Sprachkodierungsverfahren dadurch gekennzeichnet, daß dann, wenn die Anregungskodetabelle unter Verwendung eines optimalen Verstärkungsfaktors als Verstärkungsfaktoren eines adaptiven Kodevektors und eines Anregungskodevektors zu durchsuchen ist, die Gleichung (7) nicht direkt berechnet wird, sondern die Gleichung (8) auf der Basis einer Korrelationsberechnung verwendet wird.
- Wenn nun die Länge eines Unterrahmens N ist und die Anregungskodetabelle eine Größe von B aufweist, erfordert dann die Gleichung (7) das N·2B-fache an Berechnungsoperationen, da Sad mit < Sad, Scj> /< Sad, Sad> multipliziert wird, während die Gleichung (8) ein N-faches der Berechnungsoperationen für die Berechnung von < Sad, Scj> ²/< Sad, Sad> erfordert. Demzufolge können die Berechnungsoperationen um den Faktor N(2B - 1) reduziert werden. Dabei kann eine ähnlich hohe Tonqualität erzielt werden.
- In einem Beispiel eines Sprachkodierungsverfahrens wird die adaptive Kodetabelle nach einem adaptiven Kodevektor abgesucht, welcher den nachstehenden Fehler C:
- C = {xw'(n) - βSad(n)}² (10)
- für
- β = < xw', xw'> /< xw', Sad> (11)
- minimiert, wobei xw' ein Signal ist, das durch Subtraktion eines Einflußssignals von einem wahrnehmungsgewichteten Eingangssignal erhalten wird, Sad ein wahrnehmungsgewichtetes synthetisiertes Signal eines adaptiven Kodevektors ad mit einer Verzögerung d ist, β ein optimaler Verstärkungsfaktor des adaptiven Kodevektors ist, N eine Länge eines Unterrahmens (beispielsweise 5 ms), und < #, #> einen inneres Produkt ist.
- Anschließend wird die Anregungskodetabelle nach einem Anregungskodevektor durchsucht, welcher für den selektierten adaptiven Kodevektor ad den nachstehenden Fehler D:
- D = {xa (n) - γSci(n)}² (12)
- für
- γ = < xa, xa> /< xa, Sci> (13)
- xa(n) = xw'(n) - βSad(n) (14)
- minimiert, wobei Sci ein wahrnehmungsgewichtetes synthetisiertes Signal eines Anregungskodevektors ci mit dem Index i ist, und γ ein optimaler Verstärkungsfaktor des Anregungskodevektors ist. Sci kann ein wahrnehmungsgewichtetes synthetisiertes Signal eines Anregungskodevektors ci mit einem Index i sein der in Bezug auf ein wahrnehmungsgewichtetes synthetisiertes Signal des selektierten adaptiven Kodevektors orthogonalisiert ist.
- Zum Schluß wird die Verstärkungsfaktorkodetabelle nach einem Verstärkungsfaktorkodevektor durchsucht, welcher für den selektierten adaptiven Kodevektor und den Anregungskodevektor den nachstehenden Fehler E der Gleichung (15) minimiert. Die Verstärkungsfaktorkodetabelle muß nicht eine zweidimensionale Kodetabelle sein. Beispielsweise kann die Ver stärkungsfaktorkodetabelle aus zwei Kodetabellen bestehen, die eine eindimensionale Verstärkungsfaktorkodetabelle für die Quantisierung von Verstärkungsfaktoren der adaptiven Kodetabelle und eine weitere eindimensionale Verstärkungsfaktorkodetabelle für die Quantisierung von Verstärkungsfaktoren der Anregungskodetabelle umfassen.
- E = {xw'(n) - βjSad(n) - γjSci(n)}² (15)
- für
- βj = G1j · XRMS/ARMS - γj · < Sad, Sci> /< Sad, Sad> (16)
- γj =G2j · XRMS/CRMS (17)
- ARMS = (< Sad, Sad> /N)1/2 (18)
- CRMS = {(< Sci, Sci> - < Sad, Sci> ²/< Sad, Sad> )/N})1/2 (19)
- wobei XRMS ein quantisierter Mittelwert RMS eines gewichteten Sprachsignals für einen Rahmen (von beispielsweise 20 ms) ist, und (G1j, G2,j) ein Verstärkungsfaktorkodevektor mit einem Index j ist.
- Obwohl XRMS ein quantisierter Mittelwert RMS eines gewichteten Sprachsignals für nur einen Rahmen ist, kann ein Wert, der durch Interpolation (beispielsweise logarithmische Interpolation) in jeden Unterrahmen unter Verwendung eines quantisierten Mittelwertes RMS eines gewichteten Sprachsignals eines vorhergehenden Rahmens erhalten wird, stattdessen verwendet werden.
- Das Sprachkodierungsverfahren ist somit dadurch gekennzeichnet, daß normierte Verstärkungsfaktoren für ein Kodetabelle verwendet werden. Da eine Streuung der Verstärkungsfaktoren durch die Normierung verringert wird, hat die Verstärkungsfaktorkodetabelle mit den normierten Verstärkungsfaktoren als Kodevektoren eine überlegene Quantisierungscharakteristik, und demzufolge kann eine codierte Sprache mit hoher Qualität erzielt werden.
- Die vorstehenden und weitere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der nachstehen den 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.
- Fig. 1 ist ein Blockschaltbild, das einen Kodierer darstellt, welcher zur Umsetzung eines erfindungsgemäßen Sprachkodierungsverfahrens in die Praxis verwendet wird;
- Fig. 2 ist ein Blockschaltbild, das einen Dekodierer darstellt, welcher zur Umsetzung des erfindungsgemäßen Sprachkodierungsverfahrens in die Praxis verwendet wird;
- Fig. 3 ist ein Blockschaltbild, das einen weiteren Kodierer darstellt, welcher zur Umsetzung eines Beispiels des Sprachkodierungsverfahrens in die Praxis verwendet wird;
- Fig. 4 ist ein Blockschaltbild, das einen weiteren Dekodierer darstellt, welcher zur Umsetzung eines Beispiels eines Sprachkodierungsverfahrens in die Praxis verwendet wird;
- Fig. 5 ist ein Blockschaltbild, das eine Verstärkungsfaktorberechnungsschaltung des in Fig. 4 gezeigten Dekoders darstellt.
- In Fig. 1 ist zunächst ein Kodierer dargestellt, welcher zur Umsetzung des erfindungsgemäßen Sprachkodierungsverfahrens in die Praxis verwendet wird. Der Kodierer empfängt ein Eingangssprachsignal über einen Eingangsanschluß 100. Das Eingangssprachsignal wird einem Linearprädiktor 110, einer Adaptivkodetabellensuchschaltung 130 und einer Verstärkungsfaktorkodetabellensuchschaltung 220 zugeführt. Der Linearprädiktor 110 führt eine lineare prädiktive Analyse des in Rahmen mit einer festen Länge (von beispielsweise 20 ms) unterteilten Rahmens durch und gibt einen Spektralparameter an ein gewichtendes Synthesefilter 150, die Adaptivkodetabellensuchschaltung 130 und die Verstärkungsfaktorkodetabellensuchschaltung 220 aus. Dann wird die nachstehende Verarbeitung für jeden von Unterrahmen (beispielsweise 5 ms) durchgeführt, in welche jeder Rahmen weiter unterteilt wird.
- Insbesondere werden adaptive Kodevektoren ad mit Verzögerung d von der adaptiven Kodetabelle 120 an die Adaptivkodetabellensuchschaltung 130 ausgegeben, bei welcher eine Suche nach einem adaptiven Kodevektor durchgeführt wird. Aus der Adaptivkodetabellensuchschaltung 130 wird eine selektierte Verzögerung d an einen Multiplexer 230 ausgegeben; der adaptive Kodevektor ad mit der selektierten Verzögerung an die Verstärkungsfaktorkodetabellensuchschaltung 220 ausgegeben; ein gewichtetes Synthesesignal Sad des adaptiven Kodevektors ad mit der selektierten Verzögerung an eine Kreuzkorrelationsschaltung 160 ausgegeben; eine Autokorrelation < Sad, Sad> des gewichteten Synthesesignals Sad des adaptiven Kodevektor ad an eine Orthogonalisierungsautokorrelationsschaltung 190 ausgegeben; und ein Signal xa, das dadurch erhalten wird indem von dem Eingangssprachsignal ein Signal subtrahiert wird, das durch Multiplikation des gewichteten Synthesesignals Sad des adaptiven Kodevektors ad mit der selektierten Verzögerung d mit einem optimalen Verstärkungsfaktor β erhalten wird, an eine weitere Kreuzkorrelationsschaltung 180 ausgegeben.
- Eine Anregungskodetabelle 140 gibt Anregungskodevektoren ci mit den Indizes i an das gewichtende Synthesefilter 150 und an eine (Keuzkorrelation)²/(Autokorrelation)-Maximalwert- Suchschaltung 200 aus. Das gewichtende Synthesefilter 150 synthetisiert gewichtend die Anregungskodevektoren ci und gibt diese an die Kreuzkorrelationsschaltung 160, eine Autokorrelationsschaltung 170 und die Kreuzkorrelationsschaltung 180 aus. Die Kreuzkorrelationsschaltung 160 berechnet eine Kreuzkorrelationen zwischen den gewichteten Synthesesignalen Sad des adaptiven Kodevektors ad und gewichteten Synthesesignalen Sc; des Anregungskodevektors ci und gibt diese an die Orthogonalisierungsautokorrelationsschaltung 190 aus. Die Autokorrelationsschaltung 170 berechnet Autokorrelationen des gewichteten Synthesesignals Sci der Anregungskodevektoren ci und gibt dieses an die Orthogonalisierungsautokorrelationsschaltung 190 aus. Die Kreuzkorrelationsschaltung 180 berechnet Kreuzkorrelationen zwischen dem Signal xa und dem gewich teten Synthesesignal Sci des Anregungskodevektors ci und gibt diese an die (Keuzkorrelation)²/(Autokorrelation)-Maximalwert-Suchschaltung 200 aus.
- Die Orthogonalisierungsautokorrelationsschaltung 190 berechnet Autokorrelationen gewichteter Synthesesignale Sci' der Anregungskodevektoren ci, welche in Bezug auf das gewichtete Synthesesignal Sad des adaptiven Kodevektors ad orthogonalisiert werden, und gibt diese an die (Keuzkorrelation)²/Autokorrelation)-Maximalwert-Suchschaltung 200 aus. Die (Keuzkorrelation)²/(Autokorelation)-Maximalwert-Suchschaltung 200 sucht nach einem Index i, für welchen die (Kreuzkorrelation zwischen dem Signal xa und dem gewichteten Synthesesignal Sci' des Anregungskodevektors ci, orthogonalisiert in Bezug auf das gewichtete Synthesesignal Sad des adaptiven Kodevektors ad)²/(Autokorrelation des gewichteten Synthesesignals Sci' des Anregungskodevektors ci, orthogonalisiert in Bezug auf das gewichtete Synthesesignal Sad des adaptiven Kodevektors ad) einen Maximalwert präsentiert, und der so herausgesuchte Index i wird an den Multiplexer 230 ausgegeben, während der Anregungskodevektor ci an die Verstärkungsfaktorkodetabellensuchschaltung 220 ausgegeben wird. Die Verstärkungsfaktorkodevektoren mit Indizes j werden von einer Verstärkungsfaktorkodetabellensuchschaltung 220 ausgegeben. Die Verstärkungsfaktorkodetabellensuchschaltung 220 sucht nach einem Verstärkungsfaktorkodevektor und gibt den Index j des selektierten Verstärkungsfaktorkodevektors an den Multiplexer 230 aus.
- In Fig. 2 ist nun ein Dekodierer dargestellt, welcher zur Umsetzung des erfindungsgemäßen Sprachkodierverfahrens in die Praxis verwendet wird. Der Dekoder enthält einen Demultiplexer 240, aus welchem eine Verzögerung d für eine adaptive Kodetabelle an eine adaptive Kodetabelle 250 ausgegeben wird; ein Spektralparameter an ein Synthesefilter 310 ausgegeben wird; ein Index i für eine Anregungskodetabelle an eine Anregungskodetabelle 260 ausgegeben wird; und ein Index j für eine Verstärkungsfaktorkodetabelle an eine Verstärkungsfaktor kodetabelle 270 ausgegeben wird. Ein adaptiver Kodevektor ad mit der Verzögerung d wird von der adaptive Kodetabelle 250 ausgegeben, ein Anregungskodevektor ci mit dem Index i wird von der Anregungskodetabelle 260 ausgegeben; und Verstärkungsfaktorkodevektoren (βj, γj) werden von der Verstärkungsfaktorkodetabelle 270 ausgegeben. Der adaptive Kodevektor ad und der Verstärkungsfaktorkodevektor βj werden von einem Multiplizierer 280 multipliziert, während der Anregungskodevektor ci und der Verstärkungsfaktorkodevektor γj von einem weiteren Multiplizierer 290 multipliziert werden, und die zwei Produkte von einem Addierer 300 addiert werden. Die so erhaltene Summe wird an die adaptive Kodetabelle 250 und das Synthesefilter 310 ausgegeben. Das Synthesefilter 310 synthetisiert ad · βj + ci · γj und gibt es über einen Ausgangsanschluß 320 aus.
- Die Verstärkungsfaktorkodetabelle kann nur eine zweidimensionale Kodetabelle sein, die aus Verstärkungsfaktoren für eine adaptive Kodetabelle und Verstärkungsfaktoren für eine Anregungskodetabelle besteht, oder kann aus zwei Kodetabellen mit einer eindimensionalen Verstärkungsfaktorkodetabelle bestehend aus Verstärkungsfaktoren für eine adaptive Kodetabelle und einer weiteren eindimensionalen Verstärkungsfaktorkodetabelle bestehend aus Verstärkungsfaktoren für eine Anregungskodetabelle bestehen.
- Wenn < xa, Sci> der hierin vorstehend gegebenen Gleichung (8) durch die Kreuzkorrelationsschaltung 180 zu berechnen ist, kann dieses alternativ gemäß nachstehender Gleichung berechnet werden, um den Berechnungsaufwand zu reduzieren:
- < xa, Sci> = p(k) ci(k) (20)
- für
- p(k) = xa(n) h(n - k) (21)
- wobei h eine Impulsantwort des gewichtenden Synthesefilters ist.
- Wenn < Sad, Sci> der Gleichung durch die Kreuzkorrelationsschaltung 160 zu berechnen ist, kann dieses alternativ gemäß nachstehender Gleichung berechnet werden, um den Berechnungsaufwand zu reduzieren:
- < Sad, Sci> = q(k) ci (k) (22)
- für
- q(k) = Sad(n) h(n - k) (23)
- Andererseits kann, wenn < Sci, Sci> von Gleichung (8) durch die Autokorrelationsschaltung 170 zu berechnen ist, diese angenähert anhand der nachstehenden Gleichung berechnet werden, um den Berechnungsaufwand zu reduzieren:
- < Sci, Sci> = u(0) ν(0) + 2 u(m) ν(m) (24)
- für
- u(m) = h(n) h(n + m) (25)
- ν(m) = c(n) c(n + m) (26)
- Unterdessen kann zur Verbesserung des Verhaltens eine Kombination einer Verzögerung und einer Anregung, welche den Fehler zwischen einem gewichteten Eingangssignal und einem gewichteten Synthesesignal minimiert, gefunden werden, nachdem mehrere Kandidaten für jede Verzögerung aus der adaptiven Kodetabelle gefunden und dann Anregungskodevektoren der Anregungskodetabelle in Bezug auf die einzelnen Kandidaten orthogonalisiert werden. In diesem Falle kann, wenn < Sad, Sci> von Gleichung (8) durch die Kreuzkorrelationsschaltung 160 zu berechnen ist, dieses anderweitig mittels der nachstehenden Gleichung (27) berechnet werden, um dem Berechnungsaufwand zu verringern. In diesem Falle wird jedoch anstelle der Eingabe von Sad in die Kreuzkorrelationsschaltung 160, xa und ein optimaler Verstärkungsfaktor β eines adaptiven Kodevektors von der Adaptivkodetabellensuchschaltung 130 eingegeben und < xa, Sci> von der Kreuzkorrelationsschaltung 180 in die Kreuzkorrelationsschaltung 160 eingegeben.
- < Sad, Sci> = (< xw', Sci> - < xa, Sci> )/β (27)
- Die Berechnung von < Sad, Sci> gemäß der vorstehenden Gleichung (27) erübrigt die Notwendigkeit der Berechnung eines inneren Produktes, welche anderenfalls jedesmal dann durchgeführt wird, wenn sich die adaptive Kodetabelle ändert, und demzufolge kann die Gesamtanzahl von Berechnungen reduziert werden.
- Ferner muß für eine weitere Verbesserung des Verhaltens eine Kombination einer Verzögerung der adaptiven Kodetabelle nicht eigens für jeden Unterrahmen ermittelt werden, sondern kann andererseits so ermittelt werden, daß mehrere Kandidaten für jeden Unterrahmen gefunden werden, und dann eine akkumulierte Fehlerpotenz für den Gesamtrahmen gefunden wird, worauf eine Kombination einer Verzögerung der adaptiven Kodetabelle und einer Anregung der Anregungskodetabelle, welche die akkumulierte Fehlerpotenz minimiert, gefunden wird.
- In Fig. 3 ist nun ein weiterer Kodierer dargestellt, welcher dazu verwendet wird, ein Beispiel des Sprachkodierungsverfahrens in die Praxis umzusetzen. Der Kodierer empfängt ein Eingangssprachsignal über einen Eingangsanschluß 400. Das Eingangssprachsignal wird einem Gewichtungsfilter 405 und einem linearen prädiktiven Analysator 420 zugeführt. Der lineare prädiktive Analysator 420 führt eine lineare prädiktive Analyse durch und gibt einen Spektralparameter an das Gewichtungsfilter 405, an eine Einflußsignalsubtraktionsschaltung 415, ein gewichtendes Synthesefilter 540, an eine Adaptivkodetabellensuchschaltung 460, an eine Anregungskodetabellensuchschaltung 480 und an einen Multiplexer 560 aus.
- Das Gewichtungsfilter 405 führt eine Wahrnehmungsgewichtung des Sprachsignals aus und gibt dieses an eine Unterrahmenunterteilungsschaltung 410 und an eine Autokorrelationsschaltung 430 aus. Die Unterrahmenunterteilungsschaltung 410 unterteilt das wahrnehmenungsgewichtete Sprachsignal aus dem Gewichtungsfilter 405 in Unterrahmen vorbestimmter Länge (beispielsweise 5 ms) und gibt das gewichtete Sprachsignal der Unterrahmen an die Einflußsignalsubtraktionsschaltung 415 aus, bei welcher ein Einflußsignal von einem vorhergehenden Unterrahmen von dem gewichteten Sprachsignal subtrahiert wird. Die Einflußsignalsubtraktionsschaltung 415 gibt somit das gewichtete Sprachsignal, von welchem das Einflußsignal subtrahiert worden ist, an die Adaptivkodetabellensuchschaltung 460 und an einen Subtrahierer 545 aus. Unterdessen werden adaptive Kodevektoren ad mit Verzögerungen d aus der adaptiven Kodetabelle 450 an die Adaptivkodetabellensuchschaltung 460 ausgegeben, von welcher die adaptive Kodetabelle 450 nach einem adaptiven Kodevektor durchsucht wird. Von der Adaptivkodetabellensuchschaltung 460 wird eine selektierte Verzögerung d an den Multiplexer 560 ausgegeben; der adaptive Kodevektor ad mit der selektierten Verzögerung d an einen Multiplizierer 532 ausgegeben, ein gewichtetes Synthesesignal Sad des adaptiven Kodevektors ad mit der selektierten Verzögerung d an eine Autokorrelationsschaltung 490 und an eine Kreuzkorrelationsschaltung 500 ausgegeben; und ein Signal xa, das erhalten wird, indem von dem gewichteten Sprachsignal ein Signal subtrahiert wird, das durch Multiplikation des gewichteten Synthesesignals Sad des adaptiven Kodevektors ad mit der selektierten Verzögerung d mit einem optimalen Verstärkungsfaktor β erhalten wird, an die Anregungskodetabellensuchschaltung 480 ausgegeben.
- Die Anregungskodetabellensuchschaltung 480 durchsucht die Anregungskodetabelle 470 und gibt einen Index eines selektierten Anregungskodevektors an den Multiplexer 560, den selektierten Anregungskodevektor an einen Multiplexer 524, und ein gewichtetes Synthesesignal des selektierten Anregungskodevektors an die Kreuzkorrelationsschaltung 500 und an eine Autokorrelationsschaltung 510 aus. In diesem Falle kann eine Suche nach der Orthogonalisierung des Anregungskodevektors in Bezug auf den adaptiven Kodevektor durchgeführt werden.
- Die Autokorrelationsschaltung 430 berechnet eine Autokorrelation des gewichteten Sprachsignals der Rahmenlänge und gibt diese an einen Quantisierer 440 für den Mittelwert des Eingangssprachsignals aus. Der Quantisierer 440 für den Mittelwert RMS des Eingangssprachsignals berechnet einen Mittelwert RMS des gewichteten Sprachsignals der Rahmenlänge aus der Autokorrelation der gewichteten Sprachsignals und führt daran eine Quantisierung nach dem u-Gesetz durch, und gibt dann den Index an den Multiplexer 560 und den quantisierten Mittelwert RMS des Eingangssprachsignals an ein Verstärkungsfaktorberechnungsschaltung 520 aus. Die Autokorrelationsschaltung 490 berechnet eine Autokorrelation des gewichteten Synthesesignals des adaptiven Kodevektors und gibt diese an die Verstärkungsfaktorberechnungsschaltung 520 aus. Die Kreuzkorrelationsschaltung 500 berechnet eine Kreuzkorrelation zwischen dem gewichteten Synthesesignal des adaptiven Kodevektors und dem gewichteten Synthesesignal des Anregungskodevektors und gibt diese an die Verstärkungsfaktorberechnungsschaltung 520 aus. Die Autokorrelationsschaltung 510 berechnet eine Autokorrelation des gewichteten Synthesesignal des Anregungskodevektors und gibt diese an die Verstärkungsfaktorberechnungsschaltung 520 aus.
- Die Verstärkungsfaktorkodevektoren mit den Indizes j werden von einer Verstärkungsfaktorkodetabelle 530 an die Verstärkungsfaktorberechnungsschaltung 520 ausgegeben, bei welcher die Verstärkungsfaktoren berechnet werden. Somit wird ein Verstärkungsfaktor des adaptiven Kodevektors von der Verstärkungsfaktorberechnungsschaltung 520 an den Multiplizierer 522 ausgegeben, während ein weiterer Verstärkungsfaktor des Anregungskodevektors an den Multiplizierer 524 ausgegeben wird. Der Multiplizierer 522 multipliziert den adaptiven Kodevektor aus der Adaptivkodetabellensuchschaltung 460 mit dem Verstärkungsfaktor des adaptiven Kodevektors, während der Multiplizierer 524 den Anregungskodevektor aus der Anregungskodetabellensuchschaltung 480 mit dem Verstärkungsfaktor des Anregungskodevektors multipliziert, und die zwei Produkte werden von einem Addierer 526 addiert und die so erhaltene Summe an das gewichtende Synthesefilter 540 ausgegeben. Das gewichtende Synthesefilter 540 synthetisiert gewichtend das Summensignal aus dem Addierer 526 und gibt das Synthesesignal an den Subtrahierer 545 aus. Der Subtrahierer 545 subtrahiert das Ausgangssignal des gewichtenden Synthesefilter 540 von dem Sprachsignal mit der Unterrahmenlänge aus der Einflußsignalsubtraktionsschaltung 415 und gibt das Differenzsignal an eine Berechnungsschaltung 550 für einen quadrierten Fehler aus. Die Berechnungsschaltung 550 für einen quadrierten Fehler sucht einen Verstärkungsfaktorkodevektor, welcher den quadrierten Fehler minimiert und einen Index des Verstärkungsfaktorkodevektors an den Multiplexer 560 ausgibt.
- Wenn ein Verstärkungsfaktor durch die Verstärkungsfaktorberechnungsschaltung 520 anstelle der Verwendung eines quantisierten Mittelwertes des Eingangssprachsignals selbst zu berechnen ist, kann ein anderer Wert verwendet werden, welcher durch Interpolation (beispielsweise eine logarithmische Interpolation) in jedem Unterrahmen unter Verwendung eines quantisierten Mittelwertes RMS jedes Eingangssprachsignals eines vorhergehenden Rahmens und eines weiteren quantisierten Mittelwertes RMS des Eingangssprachsignals eines aktuellen Rahmens erzielt wird.
- In Fig. 4 ist nun ein weiterer Dekoder dargestellt, welcher dazu verwendet wird, ein Beispiel des Sprachkodierungsverfahrens in die Praxis umzusetzen. Der Dekoder enthält einen Demultiplexer 570, aus welchem ein Index eines Mittelwertes RMS des Eingangssprachsignals an einen Dekoder 580 für den Mittelwert RMS des Eingangssprachsignals ausgegeben wird; eine Verzögerung eines adaptiven Kodevektors an eine adaptive Kodetabelle 590 ausgegeben wird; ein Index zu einem Anregungskodevektor an eine Anregungskodetabelle 600 ausgegeben wird; ein Index zu einem Verstärkungsfaktorkodevektor an eine Verstärkungsfaktorkodetabelle 610 ausgegeben wird, und ein Spektralparameter an ein gewichtendes Synthesefilter 520, ein weiteres gewichtendes Synthesefilter 630 und ein Synthesefilter 710 ausgegeben wird.
- Der Mittelwert RMS des Eingangssprachsignals wird aus dem Dekoder 580 für den Mittelwert des Eingangssprachsignals 580 an eine Verstärkungsfaktorberechnungsschaltung 670 ausgegeben. Der adaptive Kodevektor wird von der adaptiven Kodetabelle 590 an das Synthesefilter 620 und an einen Multiplizierer 680 ausgegeben. Der Anregungskodevektor wird von der Anregungskodetabelle 600 an das gewichtende Synthesefilter 630 und an einen Multiplizierer 690 ausgegeben. Der Verstärkungsfaktorkodevektor wird von der Verstärkungsfaktorkodetabelle 610 an die Verstärkungsfaktorberechnungsschaltung 670 ausgegeben. Das gewichtete Synthesesignal des adaptiven Kodevektors wird von dem gewichtenden Synthesefilter 620 an die Autokorrelationsschaltung 640 und an eine Kreuzkorrelationsschaltung 650 ausgegeben, während das gewichtete Signal des Anregungskodevektors von dem gewichtenden Synthesefilter 630 an eine weitere Autokorrelationsschaltung 680 und an die Kreuzkorrelationsschaltung 650 ausgegeben wird.
- Die Autokorrelationsschaltung 640 berechnet eine Autokorrelation des gewichteten Synthesesignals des adaptiven Kodevektors und gibt diese an die Verstärkungsfaktorberechnungsschaltung 670 aus. Die Kreuzkorrelationsschaltung 650 berechnet eine Kreuzkorrelation zwischen dem gewichteten Synthesesignal des adaptiven Kodevektors und dem gewichteten Synthesesignal des Anregungskodevektors und gibt diese an die Verstärkungsfaktorberechnungsschaltung 670 aus. Die Autokorrelationsschaltung 660 berechnet eine Autokorrelation des gewichteten Synthesesignals des Anregungskodevektors und gibt diese an die Verstärkungsfaktorberechnungsschaltung 670 aus.
- Die Verstärkungsfaktorberechnungsschaltung 670 berechnet einen Verstärkungsfaktor des adaptiven Kodevektors und einen Verstärkungsfaktor des Anregungskodevektors unter Verwendung der hierin vorstehend angegebenen Gleichungen (16) bis (19) und gibt den Verstärkungsfaktor des adaptiven Kodevektors an den Multiplizierer 680 und den Verstärkungsfaktor des Anregungskodevektors an den Multiplizierer 690 aus. Der Multiplizierer 680 multipliziert den adaptiven Kodevektor aus der adaptiven Kodetabelle 590 mit dem Verstärkungsfaktor des adaptiven Kodevektors, während der Multiplizierer 690 den Anregungskodevektor aus der Anregungskodetabelle 600 mit dem Verstärkungsfaktor des Anregungskodevektors multipliziert, und die zwei Produkte von einem Addierer 700 addiert und an das Synthesefilter 710 ausgegeben werden. Das Synthesefilter 710 synthetisiert ein solches Signal und gibt es über einen Ausgangsanschluß 720 aus.
- Wenn ein Verstärkungsfaktor von der Verstärkungsfaktorberechnungsschaltung 670 anstelle der Verwendung eines quantisierten Mittelwertes RMS des Eingangssprachsignals selbst zu berechnen ist, kann ein anderer Wert verwendet werden, welcher durch Interpolation (beispielsweise logarithmische Interpolation) in jedem Unterrahmen unter Verwendung eines quantisierten Mittelwertes RMS des Eingangssprachsignals eines vorhergehenden Rahmens und eines weiteren quantisierten Mittelwertes RMS des Eingangssprachsignals eines aktuellen Rahmens erzielt wird.
- In Fig. 5 ist nun die Verstärkungsfaktorberechnungsschaltung 670 detaillierter dargestellt. Die Verstärkungsfaktorberechnungsschaltung 670 empfängt einen quantisierten Mittelwert RMS des Eingangssprachsignals (hierin nachstehend als XRMS bezeichnet) über einen Eingangsanschluß 730. Der quantisierte Mittelwert XRMS des Eingangssprachsignals wird einem Paar von Dividierern 850 und 870 zugeführt. Eine Autokorrelation < Sa, Sa> eines gewichteten Synthesesignals eines adaptiven Kodevektors wird über einen anderen Eingangsanschluß 740 empfangen und einem Multiplizierer 790 und einem weiteren Dividierer 800 zugeführt. Eine Kreuzkorrelation < Sa, Sc> zwischen dem gewichteten Synthesesignal des adaptiven Kodevektors und einem gewichteten Synthesesignal eines Anregungskodevektors wird über einen weiteren Eingangsanschluß 750 emp fangen und dem Dividierer 800 und einem Multiplizierer 810 zugeführt. Eine Autokorrelation < Sc, Sc> des gewichteten Synthesesignals des Anregungskodevektors wird über noch einen weiteren Eingangsanschluß 760 empfangen und an einen Subtrahierer 820 übertragen. Eine erste Komponente G&sub1; ein Verstärkungsfaktorkodevektors wird über noch einen weiteren Eingangsanschluß 770 empfangen und an einen Multiplizierer 890 übertragen. Eine zweite Komponente G&sub2; ein Verstärkungsfaktorkodevektors wird über noch einen weiteren Eingangsanschluß 780 empfangen und an einen Multiplizierer 880 übertragen.
- Der Multiplizierer 790 multipliziert die Autokorrelation < Sa, Sa> mit 1/N und gibt das Produkt an eine Wurzelberechnungsschaltung 840 aus, welche somit eine Wurzel von < Sa, Sa> /N berechnet und diese an den Dividierer ausgibt. Hier ist N ein Länge eines Unterrahmens (beispielsweise 40 Abtastwerte). Der Dividierer 850 dividiert den quantisierten Mittelwert XRMS des Eingangssprachsignals durch (< Sa, Sa> /N)1/2 und gibt den Quotienten an den Multiplizierer 890 aus, bei welchem XRMS/ (< Sa, Sa> /N)1/2 mit der ersten Komponente G&sub1; des Verstärkungsfaktorkodevektors multipliziert wird. Das Produkt bei dem Multiplizierer 890 wird an den Subtrahierer 900 ausgegeben.
- Der Dividierer 800 dividiert die Kreuzkorrelation < Sa, Sc> durch die Autokorrelation < Sa, Sa> und gibt den Quotienten an die Multiplizierer 810 und 890 aus. Der Multiplizierer 810 multipliziert den Quotienten < Sa, Sc> /< Sa, Sa> mit der Kreuzkorrelation < Sa, Sc> und gibt das Produkt an den Subtrahierer 820 aus. Der Subtrahierer 820 subtrahiert < Sa, Sc> ²/< Sa, Sa> von der Autokorrelation < Sc, Sc> und gibt die Differenz an den Multiplizierer 830 aus, bei welchem die Differenz mit 1/N multipliziert wird. Das Produkt wird von dem Multiplizierer 830 an die Wurzelberechnungsschaltung 860 ausgegeben. Die Wurzelberechnungsschaltung 860 berechnet eine Wurzel des Ausgangssignals des Multiplizierers 830 und gibt dieses an den Dividierer 870 aus. Der Dividierer 870 dividiert den quantisierten Mittelwert XRMS des Eingangssprach signals aus dem Eingangsanschluß 730 durch
- {(< Sc, Sc> - < Sa, Sc> ²/< Sa, Sa> )/N}1/2
- und gibt den Quotienten an den Multiplizierer 800 aus. Der Multiplizierer 880 multipliziert den Quotienten mit der zweiten Komponente G&sub2; des Verstärkungsfaktorkodevektors und gibt das Produkt an den Multiplizierer 910 und an einen Ausgangsanschluß 930 aus. Der Multiplizierer 910 multipliziert das Ausgangssignal des Multiplizierers 880, d. h.,
- G&sub2; · XRMS/{< Sc, Sc> - < Sa, Sa> ²/< Sa, Sa> )/N}1/2
- mit < Sa, Sc> /Sa, Sa> und gibt das Produkt an den Subtrahierer 900 aus. Der Subtrahierer 900 subtrahiert das Produkt aus dem Multiplizierer 910 von G&sub1; · XRMS /(< Sa, Sa> /N)1/2 und gibt die Differenz an einen weiteren Ausgangsanschluß 920 aus.
- Die vorstehend beschriebene Verstärkungsfaktorkodetabelle muß nicht notwendigerweise eine zweidimensionale Kodetabelle sein. Die Kodetabelle kann beispielsweise aus zwei Kodetabellen mit einer eindimensionalen Verstärkungsfaktorkodetabelle bestehend aus Verstärkungsfaktoren für eine adaptive Kodetabelle und einer weiteren eindimensionalen Verstärkungsfaktorkodetabelle bestehend aus Verstärkungsfaktoren für eine Anregungskodetabelle bestehen.
- Die Anregungskodetabelle kann von einem Zufallszahlensignal gebildet werden, wie es in der vorstehend erwähnten Literatur 3 beschrieben ist, oder kann andererseits durch ein Vorauslernen unter Verwendung von Trainingsdaten gebildet werden.
- Nachdem nun die Erfindung vollständig beschrieben wurde, wird es für einen Fachmann auf diesem Gebiet offensichtlich sein, daß viele Änderungen und Modifikationen daran vorgenommen werden können, ohne von dem Schutzumfang der Erfindung abzuweichen, wie er in den beigefügten Ansprüchen beschrieben ist.
Claims (1)
1. Sprachkodierungseinrichtung zum Kodieren eines
Eingangssprachsignals in eine kodierte Sprachfolge, mit:
einem linearen prädiktiven Analysator (110) zum
Empfangen eines in Rahmen unterteilten Eingangssprachsignals
mit einem festen Intervall und Finden eines
Spektralparameters des Eingangssprachsignals;
einer adaptiven Kodetabelle (120), die adaptive
Kodevektoren repräsentiert;
einer Adaptivkodetabellensuchschaltung (130) zum
Durchsuchen der adaptiven Kodetabelle auf der Basis des
Spektralparameters und des Eingangssprachsignals, um
einen adaptiven Kodevektor (ad) zu selektieren und um den
adaptiven Kodevektor, eine Verzögerung (d), die dem
selektierten adaptiven Kodevektor entspricht, ein zweites
Synthesesignal (Sad), das aus dem selektierten adaptiven
Kodevektor und dem Spektralparameter synthetisiert wird,
und ein Differenzsignal (xa) zwischen dem
Eingangssprachsignal und dem zweiten Synthesesignal (Sad) auszugeben;
einer Anregungskodetabelle (140), die
Anregungskodevektoren (Ci) repräsentiert;
einer Einrichtung (150) zum Erzeugen erster
Synthesesignale (Sci) durch Verwendung jedes von den
Anregungskodevektoren (Ci) und des Spektralparameters;
einer ersten Kreuzkorrelationsschaltung (160) zum
Berechnen einer ersten Kreuzkorrelation zwischen dem
zweiten Synthesesignal (Sad) und jedem von den ersten
Synthesesignalen (Sci);
einer Autokorrelationsschaltung (170) zum Berechnen
der Autokorrelation von jedem von den ersten
Synthesesignalen (Sci);
einer zweiten Kreuzkorrelationsschaltung (180) zum
Berechnen einer zweiten Kreuzkorrelation zwischen jedem
von den ersten Synthesesignalen (Sci) und dem
Differenzsignal (xa);
einer Orthogonalisierungsautokorrelationsschaltung
(190) zum Berechnen einer orthogonalisierten
Autokorrelation von jedem von den ersten Synthesesignalen (Sci)unter
Verwendung der ersten Kreuzkorrelation und der
Autokorrelation;
einer Suchschaltung (200) zum Berechnen eines
normierten Wertes für jeden von den Anregungskodevektoren
(Ci) und zum Ermitteln eines Anregungskodevektorindexes
(i) der einem Maximum von den normierten Werten
entspricht, wobei die normierten Werte durch Verwendung der
orthogonalisierten Korrelation und der zweiten
Kreuzkorrelation erhalten werden;
einer Verstärkungsfaktorkodetabelle (210), die
Verstärkungsfaktorkodevektoren repräsentiert;
einer Verstärkungsfaktorkodesuchschaltung (220) zum
Durchsuchen der Verstärkungsfaktorkodetabelle auf der
Basis des Eingangssprachsignals, des Spektralparameters,
des selektierten adaptiven Kodevektors (ad) und des
Anregungskodevektorindexes (i) und zum Ausgeben eines
Verstärkungsfaktorkodevektorindexes (j); und
einem Multiplexer (220) zum Multiplexieren der
selektierten Verzögerung (d), des Spektralparameters, des
Verstärkungsfaktorkodevektorindexes (j) und des
Anregungskodevektorindexes (i) und zum Ausgeben einer sich
ergebenden Folge als die kodierte Sprachfolge.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3103263A JP2776050B2 (ja) | 1991-02-26 | 1991-02-26 | 音声符号化方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69229364D1 DE69229364D1 (de) | 1999-07-15 |
DE69229364T2 true DE69229364T2 (de) | 1999-11-04 |
Family
ID=14349551
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69232892T Expired - Fee Related DE69232892T2 (de) | 1991-02-26 | 1992-02-25 | Sprachkodierungssystem |
DE69229364T Expired - Fee Related DE69229364T2 (de) | 1991-02-26 | 1992-02-25 | Einrichtung und Verfahren zur Sprachkodierung |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69232892T Expired - Fee Related DE69232892T2 (de) | 1991-02-26 | 1992-02-25 | Sprachkodierungssystem |
Country Status (5)
Country | Link |
---|---|
US (1) | US5485581A (de) |
EP (2) | EP0501420B1 (de) |
JP (1) | JP2776050B2 (de) |
CA (1) | CA2061803C (de) |
DE (2) | DE69232892T2 (de) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06186998A (ja) * | 1992-12-15 | 1994-07-08 | Nec Corp | 音声符号化装置のコードブック探索方式 |
JP3099852B2 (ja) * | 1993-01-07 | 2000-10-16 | 日本電信電話株式会社 | 励振信号の利得量子化方法 |
JP2591430B2 (ja) * | 1993-06-30 | 1997-03-19 | 日本電気株式会社 | ベクトル量子化装置 |
JP3024468B2 (ja) * | 1993-12-10 | 2000-03-21 | 日本電気株式会社 | 音声復号装置 |
EP0657874B1 (de) * | 1993-12-10 | 2001-03-14 | Nec Corporation | Stimmkodierer und Verfahren zum Suchen von Kodebüchern |
JP3179291B2 (ja) * | 1994-08-11 | 2001-06-25 | 日本電気株式会社 | 音声符号化装置 |
JP3328080B2 (ja) * | 1994-11-22 | 2002-09-24 | 沖電気工業株式会社 | コード励振線形予測復号器 |
JP3303580B2 (ja) * | 1995-02-23 | 2002-07-22 | 日本電気株式会社 | 音声符号化装置 |
JPH08272395A (ja) * | 1995-03-31 | 1996-10-18 | Nec Corp | 音声符号化装置 |
JPH08292797A (ja) * | 1995-04-20 | 1996-11-05 | Nec Corp | 音声符号化装置 |
SE504397C2 (sv) * | 1995-05-03 | 1997-01-27 | Ericsson Telefon Ab L M | Metod för förstärkningskvantisering vid linjärprediktiv talkodning med kodboksexcitering |
JP3308764B2 (ja) * | 1995-05-31 | 2002-07-29 | 日本電気株式会社 | 音声符号化装置 |
US6111681A (en) * | 1996-02-23 | 2000-08-29 | Ciena Corporation | WDM optical communication systems with wavelength-stabilized optical selectors |
US5673129A (en) * | 1996-02-23 | 1997-09-30 | Ciena Corporation | WDM optical communication systems with wavelength stabilized optical selectors |
US5943152A (en) * | 1996-02-23 | 1999-08-24 | Ciena Corporation | Laser wavelength control device |
JP3157116B2 (ja) * | 1996-03-29 | 2001-04-16 | 三菱電機株式会社 | 音声符号化伝送システム |
CA2213909C (en) * | 1996-08-26 | 2002-01-22 | Nec Corporation | High quality speech coder at low bit rates |
JP3593839B2 (ja) | 1997-03-28 | 2004-11-24 | ソニー株式会社 | ベクトルサーチ方法 |
CA2233896C (en) * | 1997-04-09 | 2002-11-19 | Kazunori Ozawa | Signal coding system |
DE19729494C2 (de) * | 1997-07-10 | 1999-11-04 | Grundig Ag | Verfahren und Anordnung zur Codierung und/oder Decodierung von Sprachsignalen, insbesondere für digitale Diktiergeräte |
CN1494055A (zh) * | 1997-12-24 | 2004-05-05 | ������������ʽ���� | 声音编码方法和声音译码方法以及声音编码装置和声音译码装置 |
JP4800285B2 (ja) * | 1997-12-24 | 2011-10-26 | 三菱電機株式会社 | 音声復号化方法及び音声復号化装置 |
KR100510399B1 (ko) | 1998-02-17 | 2005-08-30 | 모토로라 인코포레이티드 | 고정 코드북내의 최적 벡터의 고속 결정 방법 및 장치 |
JP3553356B2 (ja) * | 1998-02-23 | 2004-08-11 | パイオニア株式会社 | 線形予測パラメータのコードブック設計方法及び線形予測パラメータ符号化装置並びにコードブック設計プログラムが記録された記録媒体 |
TW439368B (en) * | 1998-05-14 | 2001-06-07 | Koninkl Philips Electronics Nv | Transmission system using an improved signal encoder and decoder |
US6260010B1 (en) | 1998-08-24 | 2001-07-10 | Conexant Systems, Inc. | Speech encoder using gain normalization that combines open and closed loop gains |
SE519563C2 (sv) * | 1998-09-16 | 2003-03-11 | Ericsson Telefon Ab L M | Förfarande och kodare för linjär prediktiv analys-genom- synteskodning |
SE9901001D0 (en) * | 1999-03-19 | 1999-03-19 | Ericsson Telefon Ab L M | Method, devices and system for generating background noise in a telecommunications system |
US20030028386A1 (en) * | 2001-04-02 | 2003-02-06 | Zinser Richard L. | Compressed domain universal transcoder |
US6789059B2 (en) * | 2001-06-06 | 2004-09-07 | Qualcomm Incorporated | Reducing memory requirements of a codebook vector search |
US7337110B2 (en) * | 2002-08-26 | 2008-02-26 | Motorola, Inc. | Structured VSELP codebook for low complexity search |
JP2009539132A (ja) * | 2006-05-30 | 2009-11-12 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | オーディオ信号の線形予測符号化 |
US8112271B2 (en) | 2006-08-08 | 2012-02-07 | Panasonic Corporation | Audio encoding device and audio encoding method |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1229681A (en) * | 1984-03-06 | 1987-11-24 | Kazunori Ozawa | Method and apparatus for speech-band signal coding |
US4910781A (en) * | 1987-06-26 | 1990-03-20 | At&T Bell Laboratories | Code excited linear predictive vocoder using virtual searching |
US4817157A (en) * | 1988-01-07 | 1989-03-28 | Motorola, Inc. | Digital speech coder having improved vector excitation source |
IL94119A (en) * | 1989-06-23 | 1996-06-18 | Motorola Inc | Digital voice recorder |
US4980916A (en) * | 1989-10-26 | 1990-12-25 | General Electric Company | Method for improving speech quality in code excited linear predictive speech coding |
EP0443548B1 (de) * | 1990-02-22 | 2003-07-23 | Nec Corporation | Sprachcodierer |
JPH0451199A (ja) * | 1990-06-18 | 1992-02-19 | Fujitsu Ltd | 音声符号化・復号化方式 |
-
1991
- 1991-02-26 JP JP3103263A patent/JP2776050B2/ja not_active Expired - Lifetime
-
1992
- 1992-02-25 EP EP92103180A patent/EP0501420B1/de not_active Expired - Lifetime
- 1992-02-25 CA CA002061803A patent/CA2061803C/en not_active Expired - Fee Related
- 1992-02-25 DE DE69232892T patent/DE69232892T2/de not_active Expired - Fee Related
- 1992-02-25 EP EP98119722A patent/EP0898267B1/de not_active Expired - Lifetime
- 1992-02-25 DE DE69229364T patent/DE69229364T2/de not_active Expired - Fee Related
- 1992-02-26 US US07/841,827 patent/US5485581A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0898267A3 (de) | 1999-03-03 |
EP0501420A3 (en) | 1993-05-12 |
DE69232892D1 (de) | 2003-02-13 |
EP0898267A2 (de) | 1999-02-24 |
EP0501420B1 (de) | 1999-06-09 |
DE69232892T2 (de) | 2003-05-15 |
JP2776050B2 (ja) | 1998-07-16 |
JPH04270400A (ja) | 1992-09-25 |
CA2061803C (en) | 1996-10-29 |
DE69229364D1 (de) | 1999-07-15 |
EP0501420A2 (de) | 1992-09-02 |
CA2061803A1 (en) | 1992-08-27 |
US5485581A (en) | 1996-01-16 |
EP0898267B1 (de) | 2003-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69229364T2 (de) | Einrichtung und Verfahren zur Sprachkodierung | |
DE69420431T2 (de) | Sprachkodierungssystem | |
DE68907629T2 (de) | Vektorquantisierung für eine Anordnung zur harmonischen Sprachcodierung. | |
DE69023402T2 (de) | Verfahren zur Sprachkodierung und -dekodierung. | |
DE69518452T2 (de) | Verfahren für die Transformationskodierung akustischer Signale | |
DE69309557T2 (de) | Verfahren und Vorrichtung zur Sprachkodierung | |
DE69214969T2 (de) | Verfahren und Vorrichtung zur Erzeugung von Hilfsinformationen zur Ausführung einer Suche in einem Kodebuch mit geringer Dichte | |
DE69529356T2 (de) | Wellenforminterpolation mittels Zerlegung in Rauschen und periodische Signalanteile | |
DE69227401T2 (de) | Verfahren zum Kodieren und Dekodieren von Sprachsignalen | |
EP0443548B1 (de) | Sprachcodierer | |
DE69322313T2 (de) | C.E.L.P. - Vocoder | |
DE69916321T2 (de) | Kodierung eines verbesserungsmerkmals zur leistungsverbesserung in der kodierung von kommunikationssignalen | |
DE69634179T2 (de) | Verfahren und Vorrichtung zur Sprachkodierung und -dekodierung | |
DE69609099T2 (de) | Verfahren zur Modifikation von LPC-Koeffizienten von akustischen Signalen | |
DE69328410T2 (de) | Auf interpolation basierende, zeitveränderliche spektralanalyse für sprachkodierung | |
DE69223335T2 (de) | Sprachkodiersystem | |
DE69029232T2 (de) | System und Methode zur Sprachkodierung | |
DE69718234T2 (de) | Sprachkodierer | |
DE69900786T2 (de) | Sprachkodierung | |
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 | |
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 | |
DE69523498T2 (de) | Verminderung der Rechenkomplexität bei Ausfall von Datenrahmen oder Verlust von Datenpaketen | |
DE69411407T2 (de) | Vorrichtung zum Kodieren von Sprachspektrumparametern mit der kleinstmöglichen Bitzahl | |
DE69228858T2 (de) | Methode zur Sprachkodierung und Sprachkodierer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |