DE69614101T2 - Kodierverfahren für anregungsimpulsparameterfolgen - Google Patents
Kodierverfahren für anregungsimpulsparameterfolgenInfo
- Publication number
- DE69614101T2 DE69614101T2 DE69614101T DE69614101T DE69614101T2 DE 69614101 T2 DE69614101 T2 DE 69614101T2 DE 69614101 T DE69614101 T DE 69614101T DE 69614101 T DE69614101 T DE 69614101T DE 69614101 T2 DE69614101 T2 DE 69614101T2
- Authority
- DE
- Germany
- Prior art keywords
- pulse
- positions
- excitation
- pulses
- phase
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 60
- 230000005284 excitation Effects 0.000 claims description 89
- 238000004364 calculation method Methods 0.000 claims description 28
- 239000013598 vector Substances 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000003044 adaptive effect Effects 0.000 description 11
- 230000000875 corresponding effect Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000010363 phase shift Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000000926 separation method 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
-
- 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/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
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)
- Control Of Stepping Motors (AREA)
- Time-Division Multiplex Systems (AREA)
Description
- Die vorliegende Erfindung betrifft ein Verfahren zum Codieren einer Anregungsimpuls-Parameterfolge in einem Sprachrahmen in einem Linearprädiktions-Sprachcodierer, der in Übereinstimmung mit dem Mehrimpulsprinzip arbeitet. Ein derartiger Sprachcodierer kann zum Beispiel in einem Mobiltelefonsystem verwendet werden, um die Sprachsignale vor ihrer Aussendung von einer Mobilstation zu komprimieren.
- Linearprädiktions-Sprachcodierer, die in Übereinstimmung mit dem voranstehend erwähnten Mehrimpulsprinzip arbeiten, sind in dem technischen Gebiet bekannt; siehe zum Beispiel die U.S. Patentbeschreibung 3,624,302, die eine Linearprädiktionscodierung von Sprachsignalen beschreibt, und die U.S. 3,740,476, die beschreibt, wie Prädiktionsparameter und Prädiktions-Restsignale in einem derartigen Sprachcodierer gebildet werden können.
- Wenn ein künstliches Sprachsignal mit Hilfe einer linearen Prädiktionscodierung gebildet wird, werden aus dem ursprünglichen Signal eine Vielzahl von Prädiktionsparametern (ak) erzeugt, die das künstliche Sprachsignal charakterisieren. Somit kann aus diesen Parametern ein Sprachsignal gebildet werden, welches die Redundanz nicht enthält, die normalerweise in natürlicher Sprache enthalten ist und die nicht in eine Sprachübertragung zwischen z. B. einer Mobilstation und einer Basisstation in einem Mobilfunksystem umgewandelt werden muss. Von dem Aspekt der Bandbreite her ist es günstiger, ausschließlich die Prädiktionsparameter an Stelle des ursprünglichen Sprachsignals zu übertragen, welches eine viel höhere Bandbreite benötigt.
- Jedoch kann das Sprachsignal, welches somit in einem Empfänger regeneriert wird und ein synthetisches Sprachsignal bildet, als Folge eines Mangels einer Übereinstimmung zwischen dem Sprachmuster des ursprünglichen Signals und des synthetischen Signals, welches mit Hilfe der Prädiktionsparameter regeneriert wird, schwer verständlich sein. Diese Unzulänglichkeiten werden ausführlich in der U.S. Patentbeschreibung 4,472,832 (SE-B-456618) beschrieben und können zu einem gewissen Grad durch Einführen von sogenannten Anregungsimpulsen (Mehrfachimpulsen) beim Konstruieren der synthetischen Sprachnachbildung beseitigt werden. Dies wird bewirkt, indem das ursprüngliche Spracheingabemuster in Rahmenintervalle aufgeteilt wird. Innerhalb jedes derartigen Intervalls wird eine vorgegebene Anzahl von Impulsen mit sich verändernder Amplitude und Phasenposition (Zeitposition) gemäß der Prädiktionsparameter ak und auch in Übereinstimmung mit dem Prädiktionsrest dk zwischen dem Spracheingabemuster und der Sprachnachbildung gebildet. Jeder Impuls kann die Sprachmusternachbildung beeinflussen, um so den kleinstmöglichen Prädiktionsrest zu erhalten. Die erzeugten Anregungsimpulse weisen eine relativ geringe Bitrate auf und können deshalb auf einem schmalen Band codiert und übertragen werden, ähnlich wie die Prädiktionsparameter. Dies verbessert die Qualität des regenerierten Sprachsignals.
- In den voranstehend erwähnten bekannten Verfahren werden die Anregungsimpulse innerhalb jedes Rahmenintervalls des Spracheingabemusters durch Gewichten des Restsignals dk und durch Zurückführen und Gewichten der erzeugten Werte für die Anregungsimpulse jeweils in einem Prädiktionsfilter erzeugt. Dann wird eine Korrelation zwischen den Ausgangssignalen auf den zwei Filtern durchgeführt und die Korrelation wird für eine Anzahl von Signalelementen von dem korrelierten Signal maximiert, um so die Parameter (Amplitude und Phasenposition) der Anregungsimpulse zu bilden. Der Vorteil, der von diesem Mehrfachimpulsalgorithmus zum Erzeugen der Anregungsimpulse bereitgestellt wird, besteht darin, dass verschiedene Tontypen mit einer kleinen Anzahl von Impulsen (zum Beispiel acht Impulse/Rahmenintervall) erzeugt werden können. Der Impulssuchalgorithmus ist allgemein bezüglich der Impulspositionen innerhalb des Rahmens. Es ist möglich, stimmlose Töne (Konsonanten) zu regenerieren, die allgemein zufällig angeordnete Impulse benötigen, und stimmhafte Töne (Vokale), die erfordern, dass eine Positionierung von Impulsen mehr gesammelt ist.
- Diese bekannten Verfahren berechnen die richtigen Phasenpositionen der Anregungsimpulse innerhalb eines Rahmens und von nachfolgenden Rahmen des Sprachsignals und eine Positionierung der Impulse, eine sogenannte Impulsplatzierung, wird ausschließlich in Abhängigkeit von einer komplexen Verarbeitung der Sprachsignalparameter (Prädiktionsreste, Restsignal und der Anregungsimpulsparameter in vorangehenden Rahmen) bewirkt.
- Ein Nachteil mit den ursprünglichen Impulsplatzierungsverfahren gemäß dem voranstehend erwähnten U.S. Patent besteht darin, dass eine Codierung, die nach der Berechnung der Impulspositionen bewirkt wird, bezüglich der Berechnungen und der Speicherung komplex ist. Die Codierung erfordert auch eine große Anzahl von Bits mit jeder Impulsposition innerhalb des Rahmenintervalls. Ferner sind die Bits in den Codewörtern, die aus den optimalen Kombinationsimpulscodierungsalgorithmen erhalten werden, für Bitfehler empfindlich. Ein Bitfehler in dem Codewort während einer Übertragung von dem Sender zu dem Empfänger kann schwerwiegende Konsequenzen bezüglich der Impulspositionierung aufweisen, wenn eine Decodierung in dem Empfänger ausgeführt wird.
- Dies kann durch Beschränken der Anzahl von Anregungsimpulsen erleichtert werden, die in jedem Sprachrahmen aufgeführt werden können. Dies wird durch die Tatsache ermöglicht, dass die Anzahl von Impulspositionen für die Anregungsimpulse innerhalb eines Rahmenintervalls so groß ist, dass eine genaue Positionierung von einem oder mehreren Anregungsimpulsen innerhalb des Rahmens ignoriert werden können, während trotzdem ein regeneriertes Sprachsignal mit einer akzeptablen Qualität nach einer Codierung und Übertragung erhalten wird.
- Demzufolge ist ein Verfahren (siehe U.S. Patent Beschreibung 5,193,140) vorgeschlagen worden, bei dem bestimmte Phasenpositionsbeschränkungen eingeführt werden, wenn die Impulse ausgelegt werden, indem eine bestimmte Anzahl von Phasenpositionen gesperrt werden, die bereits für diejenigen Impulse bestimmt worden sind, die der Phasenposition eines bereits berechneten Anregungsimpulses folgen. Wenn die Position eines ersten Impulses in dem Rahmen berechnet worden ist und in seiner berechneten Phasenposition angeordnet worden ist, wird diese Phasenposition für nachfolgende Impulse in dem Rahmen gesperrt. Diese Regel wird vorzugsweise auf sämtliche Impulspositionen in dem Rahmen angewendet. Wenn die Lokalisierung von Impulsen in einem neuen folgenden Rahmen begonnen wird, sind sämtliche Positionen in dem Rahmen frei.
- Die Verwendung von sogenannten Codebüchern in Sprachcodierern, wenn das synthetische Sprachsignal erzeugt wird, ist in der Vergangenheit vorgeschlagen worden; siehe zum Beispiel U.S. Patentbeschreibung 4,701,954. Dieses Codebuch speichert eine Anzahl von Sprachsignalcodewörtern, die verwendet werden, wenn die synthetischen Sprachnachbildungen erzeugt werden. Das Codebuch kann fest sein, d. h. permanente Codewörter enthalten, oder es kann adaptiv sein, d. h. es kann aktualisiert werden, so wie die Sprachnachbildung gebildet wird. Eine Kombination eines festen und eines adaptiven Codebuchs kann ebenfalls verwendet werden.
- Das voranstehend erwähnte Verfahren zum Sperren von sämtlichen Phasenpositionen innerhalb eines Sprachrahmens, wenn eine Position bereits einem Anregungsimpuls zugeordnet worden ist, führt zu einer begrenzteren Anzahl von übertragenen Anregungsimpulsen als bei dem Fall, bei dem nur eine Beschränkung verwendet wird. Zusätzlich ist es einfacher, die Phasenpositionen der Anregungsimpulse auf der Senderseite zu codieren, während die Trennung von Phasenpositionen verbessert wird, wenn auf der Empfängerseite decodiert wird.
- Gemäß der vorliegenden Erfindung werden die empfindlichsten Phasenpositionen individuell codiert, während die weniger empfindlichen Phasen gemeinsam codiert werden.
- Das erfindungsgemäße Verfahren ist somit durch die Schritte charakterisiert, die in dem Kennzeichnungsteil des Anspruchs 1 ausgeführt sind.
- Eine bevorzugte Ausführungsform des Codierungsverfahrens gemäß Anspruch 1 ist gekennzeichnet, so wie sie sich aus dem Kennzeichnungsteil des Anspruchs 2 ergibt.
- Das vorgeschlagene Verfahren kann in einem Sprachcodierer angewendet werden, der in Übereinstimmung mit dem Mehrfachimpulsprinzip mit einer Korrelation eines ursprünglichen Sprachsignals und der Impulsantwort eines LPC synthetisierten Signals arbeitet, und zwar mit oder ohne der Verwendung von Codebüchern gemäß der voranstehenden Ausführungen. Jedoch kann das Verfahren auch mit einem sogenannten RPE Sprachcodierer angewendet werden, bei dem mehrere Anregungsimpulse gleichzeitig in dem Rahmenintervall ausgelegt werden.
- Das vorgeschlagene Verfahren wird nun eingehend unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben. In den Zeichnungen zeigen:
- Fig. 1 ein vereinfachtes Blockschaltbild, das einen bekannten LPC Sprachcodierer zeigt;
- Fig. 2 ein Zeitdiagramm, welches bestimmte Signale zeigt, die in dem Sprachcodierer der Fig. 1 auftreten;
- Fig. 3 schematisch einen Sprachrahmen, der dazu dient, das Prinzip des früher bekannten Verfahrens zu erläutern, bei dem Beschränkungen beteiligt sind, wenn die Anregungsimpulse bestimmt werden;
- Fig. 4 ein Blockschaltbild, das einen Teil eines Sprachcodierers darstellt, der gemäß des Prinzips der Erfindung arbeitet;
- Fig. 5 ein Blockschaltbild, das einen Teil eines bekannten Sprachcodierers mit einem adaptiven Codebuch zeigt, bei dem das Verfahren gemäß der Erfindung angewendet werden kann;
- Fig. 6 ein Flussdiagramm zum Erläutern des erfindungsgemäßen Verfahrens;
- Fig. 7 ein Diagramm, das die Anordnung oder Auslegung von Impulsen gemäß der Erfindung darstellt;
- Fig. 8 ein Diagramm, das die Anordnung von Impulsen mit Hilfe der Phasenpositionseinstellung gemäß der Erfindung darstellt;
- Fig. 9 ein Blockschaltbild, welches einen Teil eines Sprachcodierers darstellt, der gemäß des erfindungsgemäßen Verfahrens arbeitet; und
- Fig. 10 ein Blockschaltbild, das einen Teil eines Sprachcodierers darstellt, der gemäß eines alternativen erfindungsgemäßen Verfahrens arbeitet.
- Fig. 1 ist ein vereinfachtes Blockschaltbild, welches einen bekannten LPC Sprachcodierer gemäß des Mehrfachimpulsprinzips mit einer Korrelation zeigt. Ein derartiger Codierer ist ausführlich in der U.S. Patentbeschreibung 4,472,832 (SE-B- 456618) beschrieben. Ein analoges Sprachsignal von zum Beispiel einem Mikrofon erscheint auf dem Eingang eines Prädiktionsanalysators 110. Zusätzlich zu einem Analog- Digital-Wandler umfasst der Prädiktionsanalysator 110 auch einen LPC Computer und einen Restsignal-Generator, die Prädiktionsparameter ak und ein Restsignal dk bilden. Die Prädiktionsparameter charakterisieren das synthetisierte Signal und das ursprüngliche Sprachsignal über dem Analysatoreingang.
- Ein Anregungsprozessor 120 empfängt die zwei Signale ak und dk und arbeitet während einem einer Anzahl von zueinander sequentiellen Rahmenintervallen, die von dem Rahmensignal FC bestimmt werden, um so eine bestimmte Anzahl von Anregungsimpulsen während jedes Intervalls zu erzeugen. Jeder Impuls wird damit durch seine Amplitude Amp und seiner Zeitposition mp innerhalb des Rahmens bestimmt. Die Anregungsimpulsparameter Amp, mp werden an einen Codierer 131 geführt und danach mit den Prädiktionsparametern ak vor einer Aussendung beispielsweise von einem Funksender multiplexiert.
- Der Anregungsprozessor 120 umfasst zwei Prädiktionsfilter, die die gleiche Impulsantwort zum Gewichten der Signale dk und (Ai, mi) gemäß der Prädiktionsparameter ak während einer gegebenen Berechnung oder arithmetischen Stufe p aufweisen. Ferner ist ein Korrelationssignalgenerator enthalten, der eine Korrelation zwischen dem gewichteten ursprünglichen Signal (y) und dem gewichteten künstlichen Signal ( ) jedes Mal dann bewirkt, wenn ein Anregungsimpuls erzeugt werden soll. Ein Impuls von Impulselementkandidaten Ai, mi (0 ≤ i < I) werden für jede Korrelation ermittelt, wobei von diesen Kandidaten einer (1) das kleinste Fehlerquadrat oder den kleinsten absoluten Wert ergibt. Die Amplitude Amp und die Zeitposition mp für den gewählten Kandidaten werden in dem Anregungssignalgenerator berechnet. Der Beitrag von dem gewählten Impuls Amp, mp wird dann von dem gewünschten Signal in dem Korrelationssignalgenerator subtrahiert, um so eine neue Folge von Kandidaten zu ermitteln. Die Prozedur wird dann mehrere Male wiederholt, wobei die Anzahl von Wiederholungen der gewünschten Anzahl von Anregungsimpulsen innerhalb eines Rahmens gleicht. Dies ist ausführlich in der voranstehend erwähnten U.S. Patentbeschreibung beschrieben.
- Fig. 2 ist ein Zeitdiagramm von Spracheingangssignalen, Prädiktionsrestsignalen dk und Anregungsimpulsen. In dem dargestellten Fall ist die Anzahl der Anregungsimpulse acht, wobei von diesen Impulsen der Impuls Am1, m&sub1; zuerst gewählt wurde (den kleinsten Fehler ergab), und danach Am2, m&sub2; und so weiter durchweg in dem Rahmen.
- In dem früher bekannten Verfahren zum Berechnen einer Amplitude amp und einer Phasenposition mp für jeden Anregungsimpuls von einer Anzahl von Kandidaten Ai, mi, mp = mi wird für den Kandidaten i berechnet, der den maximalen Wert von αi/φij ergab und die zugehörige Amplitude amp wird berechnet, wobei αi der Kreuzkorrelationsvektor zwischen den Signalen yn und dem n gemäß der vorangehenden Erläuterungen ist, und φij (nachstehend als Cij, i = j = m bezeichnet) ist die Autokorrelationsmatrix für die Impulsantwort der Prädiktionsfilter. Irgendeine beliebige Position mp kann nur dann akzeptiert werden, wenn die voranstehend erwähnten Bedingungen erfüllt sind. Ein Index p bezeichnet die Stufe, während der ein Anregungsimpuls gemäß der vorangehenden Erwartungen berechnet wird.
- Gemäß dem früher bekannten Verfahren, bei dem die Bestimmung der Positionen der Anregungsimpulse beschränkt ist, wird ein Rahmen gemäß Fig. 2, wie in Fig. 3 gezeigt, aufgeteilt. Es sei als Beispiel angenommen, dass der Rahmen N = 12 Positionen enthält. Die N Positionen bilden damit einen Suchvektor (n). Der gesamte Rahmen ist in sogenannte Unterblöcke aufgeteilt. Jeder Unterblock wird dann eine bestimmte Anzahl von Phasen enthalten. Wenn zum Beispiel der Rahmen insgesamt N = 12 Positionen umfasst, wie in Fig. 3 gezeigt, werden mit drei verschiedenen Phasen innerhalb jedes Unterblocks vier Unterblöcke erhalten. Der Unterblock weist eine gegebene Position innerhalb des Rahmens insgesamt auf, wobei diese Position als die Phasenposition bezeichnet wird. Jede Position n (0 ≤ n ≤ N) wird dann zu einem bestimmten Unterblock nf (0 ≤ nf ≤ Nf) und einer bestimmten Position f (0 ≤ f ≤ F) in dem Unterblock gehören.
- Der folgende Zusammenhang trifft allgemein für die Positionen n (0 ≤ n ≤ N) Positionen in dem gesamten Suchvektor, der N Positionen enthält, zu:
- n = nfF + f ... (1);
- wobei f = die Impulsphase innerhalb eines Unterblocks nf ist und F = die Anzahl von Phasen innerhalb des Blocks nf ist.
- nf = 0, ..., (Nf - 1), f = 0, ... (F - 1) und
- n = 0, ..., (N, 1).
- Der folgende Zusammenhang ist erfüllt:
- fp = n MOD F und nfp = n DIV F ... (1).
- Fig. 3 ist eine schematische Darstellung der Verteilung der Phasen fp und des Unterblocks nfp für einen bestimmten Suchvektor, der N Positionen enthält. In diesem Fall ist N = 12, F = 3 und NF = 4.
- In dem bekannten Verfahren, welches Beschränkungen verwendet, wird die Impulssuche auf Positionen beschränkt, die nicht zu einer bereits aufgenommenen Phase fp von diesen Anregungsimpulsen gehören, deren Position n in vorangehenden Stufen berechnet worden sind.
- Die Folgenummer eines gegebenen Anregungsimpuls- Berechnungszyklusses wird nachstehend mit p gemäß der vorangehenden Ausführungen bezeichnet. Das bekannte Verfahren, welches Beschränkungen umfasst, stellt dann die folgende Berechnungsprozedur für ein Rahmenintervall bereit:
- 1. Berechnen des gewünschten Signals yn.
- 2. Berechnen des Kreuzkorrelationsvektors αi und Kopieren an asave (i)
- 3. Berechnen der Autokorrelationsmatrix cij (= φij, ij = m).
- 4. Für p = 1. Suche nach der Impulsposition, d. h. mp, die ein Maximum α&sub1;/Cij in nicht belegten Phasen f ergibt.
- 5. Berechnen der Amplitude Amp für die entdeckte Impulsposition mp.
- 6. Aktualisieren des Kreuzkorrelationsvektors αi.
- 7. Berechnen von fp und nfp gemäß der obigen Beziehung (1).
- 8. Für p = p + 1 Ausführen der gleichen Schritte 4-7.
- Das Flussdiagramm, dass das bekannte Verfahren näher zeigt, ist in den Fig. 4a und 4b der voranstehend erwähnten U.S. Patentbeschreibung 5, 193, 140 gezeigt.
- Die erhaltenen Phasen f1, ..., fp werden zusammen codiert und die Phasenpositionen (die Unterblöcke) nf1, ..., nfp werden jeweils einzeln vor einer Übertragung codiert. Eine Kombinationscodierung kann für eine Codierung der Phasen verwendet werden. Jede der Phasenpositionen wird einzeln mit Codewörtern codiert.
- In einer Ausführungsform kann die bekannte Sprachprozessschaltung, die keinerlei Beschränkungen bezüglich der Anordnung von Impulsen aufweist, in der Vorgehensweise modifiziert werden, die in Fig. 4 gezeigt ist, die denjenigen Teil des Sprachprozessors zeigt, der die Anregungssignal-Erzeugungsschaltungen 120 umfasst.
- Das Prädiktionsrestsignal dk und der Anregungsgenerator 127 werden jeweils an ein jeweiliges Filter 121 und 123 zeitlich mit einem Rahmensignal FC über die Zwischenschaltung von Gattern 122, 124, angelegt. Die Signale yn und n die von den jeweiligen Filtern 121, 123 erhalten werden, werden in dem Korrelationsgenerator 125 korreliert. Das Signal yn stellt das echte Sprachsignal dar, während n das künstliche Sprachsignal darstellt. Aus dem Korrelationsgenerator 125 wird ein Signal Ciq erhalten, welches die Komponenten αi und φij gemäß der obigen Ausführungen enthält. Die Impulsposition mp, die das Maximum αi/φij bereitstellt, wird in dem Anregungsgenerator 127 berechnet, wodurch die Amplitude amp auch zusätzlich zu der Impulsposition Amp gemäß der obigen Ausführungen erhalten werden kann.
- Die Anregungsimpulsparameter mp, Amp werden von dem Anregungsgenerator 127 an den Phasengenerator 129 geliefert. Dieser Generator berechnet die relevanten Phasen fp und die Phasenpositionen (Unterblöcke) nfp aus den Werten mp, Amp, die von dem Anregungsgenerator 127 ankommen, in Übereinstimmung mit der Beziehung:
- f = (m - 1) MOD F
- nf = (m - 1) DIV F
- wobei F = die Anzahl von möglichen Phasen ist.
- Der Phasengenerator 129 kann einen Prozessor umfassen, der einen Lesespeicher umfasst, der Befehle zum Berechnen der Phasen und der Phasenpositionen gemäß der obigen Beziehung speichert.
- Die Phase fp und die Phasenposition nfp werden dann an den Codierer 131, Fig. 1 geliefert. Dieser Codierer weist die gleiche prinzipielle Konstruktion wie der bekannte Codierer auf, codiert aber die Phase und die Phasenposition anstelle der Impulspositionen mp. Die Phase und die Phasenposition werden auf der Empfängerseite decodiert und der Decoder berechnet dann die Impulsposition pm gemäß
- mp = (nfp - 1)F + fp
- wodurch klar die Anregungsimpulsstelle bestimmt wird.
- Die Phase fp wird ebenfalls an den Korrelationsgenerator 125 und an den Anregungsgenerator 127 geliefert. Der Korrelationsgenerator speichert diese Phase, während beobachtet wird, dass diese Phase fp belegt ist. Keine Werte des Signals ciq werden berechnet, wenn q in denjenigen Phasenpositionen vorhanden ist, die zu sämtlichen vorangehenden fp gehören, die für eine analysierte Folge berechnet werden. Die belegten Positionen sind:
- q = nF + fp
- wobei n = 0, ..., (Nf - 1) und fp sämtliche vorangehenden Phasen innerhalb eines belegten Rahmens darstellen. In ähnlicher Weise beobachtet der Anregungsgenerator 127 die belegten Phasen, wenn ein Vergleich zwischen Signalen Ciq und Ciq* durchgeführt wird.
- Wenn sämtliche Impulsplatzierungen für einen Rahmen berechnet und ausgeführt worden sind und mit dem nächsten Rahmen begonnen werden soll, werden sämtliche Phasen natürlich wieder für den ersten Impuls in dem neuen Rahmen frei sein.
- Fig. 5 zeigt einen anderen Typ einer Sprachcodierungsroutine, die mit Hilfe eines sogenannten adaptiven Codebuchs durchgeführt wird. Der Prädiktionsanalysator 110 erzeugt die zwei Parameter ak und dk, wobei diese Parameter als Einganggrößen zu einem Block verwendet werden, der mit 111 bezeichnet ist und vor dem Anregungsprozessor 120 in Fig. 4 eingeführt ist.
- Der Block 111 enthält ein adaptives Codebuch 112, welches eine Anzahl von Codewörtern c1, ..., cn speichert und das durch ein Steuersignal aktualisiert werden kann. Dies ist in Fig. 5 mit Hilfe eines Wählers 113 symbolisiert, der ein gegebenes Codewort ci in Übereinstimmung mit dem Wert des Steuersignals ausweist. Das Codewort wird aus dem Codebuch 112 durch eine Skalierungseinheit 114 in einer geeigneten Weise skaliert und das skalierte Codewort wird an den Minus- Eingang einer Summationseinheit 115 geliefert, dessen Plus- Eingang den Prädiktionsrest dk von dem Analysator 110 empfängt. Im dargestellten Fall wird der Prädiktionsrest, der an die Summationseinheit 115 geliefert wird, mit dk1 bezeichnet und der Rest, der stromabwärts von der Summationseinheit 115 erhalten wird, wird mit dk2 bezeichnet. Die Prädiktionsparameter ak (von dem Analysator 110 unverändert) und der neue Prädiktionsrest dk2 werden an den Anregungsprozessor 120 gemäß Fig. 4 angelegt.
- Das Steuersignal an dem Wähler 113 wird von einer Schleife abgeleitet, die ein adaptives Filter 116 mit den Filterparametern ak, ein Gewichtungsfilter 117 und eine Extremwert-Bildungseinheit 118 umfasst. Das Restsignal dk2 wird an das Filter 116 geliefert und das gefilterte Signal wird in dem Filter 117 gewichtet.
- Ein erstes gewähltes Codewort ergibt einen Prädiktionsrest dk2, der in den Filtern 116, 117 gefiltert und gewichtet wird und das kleinste Fehlerquadrat E wird in der Extremwert- Bildungseinheit 118 gebildet. Die obige Prozedur wird für sämtliche gewählte Codewörter ausgeführt und, nachdem sie in der Skalierungseinheit 114 skaliert worden sind, wird dasjenige Codewort, welches den kleinsten Fehler ergeben hat, von dem Restsignal dk1 subtrahiert, um ein neues Restsignal dk2 zu ergeben. Dies ist eine sogenannte geschlossene Schleife, die nach dem besten Codewort sucht, wenn ein adaptives Codebuch verwendet wird. Die in Fig. 5 gezeigte Schaltung kann somit beim Ausführen des erfindungsgemäßen Verfahrens verwendet werden oder nicht. Dies verbessert den Wert des Prädiktionsrests dk gemäß Fig. 1 Somit ist in der Fig. 4
- dk = dk1 wenn ein adaptives Codebuch nicht verwendet wird; und
- dk = dk2 wenn ein adaptives Codebuch verwendet wird.
- Wie nachstehend unter Bezugnahme auf Fig. 9 beschrieben, wird die in Fig. 5 gezeigte Schaltung auch in bestimmten Blöcken (132a-d) verwendet, um nach dem Fehler "geschlossene Schleife" zu suchen, obwohl in diesem Fall das Codebuch durch einen Speicherplatz zum ausschließlichen Speichern einer Impulsplatzierung, die mit Beschränkungen berechnet wird, ersetzt wird.
- Die Prädiktionsparameter ak und der Index i für das gewählte Codewort ci (kleinster Fehler) werden an den Multiplexer 135 geliefert und in einer bekannten Weise übertragen.
- Das Verfahren gemäß der Erfindung wird nachstehend mit näheren Einzelheiten unter Bezugnahme auf die Fig. 6 beschrieben.
- Beim Start der Impulsplatzierungsroutine wird zunächst eine Anzahl j von Anregungsimpulsen mit Hilfe des bekannten Verfahrens ohne Beschränkungen bestimmt, Block 1. Diese werden in einer bekannten Weise berechnet, wie voranstehend beschrieben. Sowohl die Impulspositionen und mp (1 < p < j) als auch die Amplituden Amp innerhalb des Rahmens werden in dieser Weise bestimmt. Es ist nicht erforderlich, die Amplituden Amp dieser Impulse zu verwenden, wenn eine Bestimmung mit Beschränkungen ausgeführt wird, da jede Impulsposition, die gemäß der voranstehenden Erläuterungen berechnet wird, danach verwendet wird, und die Amplitude damit von keinem Interesse ist. Jedoch ist es erforderlich, auch die Amplituden in einem alternativen Verfahren mit einer Phaseneinstellung der Startimpulse zu verwenden, außer wenn die Amplituden neu berechnet werden.
- Wenn die Anzahl j von Impulspositionen mp (t = 1, ... j) in dieser Weise bestimmt worden ist, wird eine Berechnung von Anregungsimpulsen gemäß des bekannten Verfahrens mit Beschränkungen begonnen, Block 2. Sowohl die Impulsposition mp als auch die Amplitude Amp jedes Anregungsimpulses wird gemäß des voranstehend beschriebenen bekannten Verfahrens bestimmt. Die Prozedur beginnt somit mit einem Startpunkt von der Position mk (1 < i < j) eines gewählten Anregungsimpulses, der gemäß dem Block 1 (ohne Beschränkungen) innerhalb des gleichen Rahmens bestimmt worden ist. Eine Berechnung der neuen Anregungsimpulse (mit Beschränkungen gemäß des bekannten Verfahrens) wird für eine gegebene Anzahl, N1, durchgeführt.
- Nach dieser ersten Berechnungsstufe mit Beschränkungen (Block 2) wird die Position mk (k = i) für einen neuen Anregungsimpuls gemäß des bekannten Verfahrens ohne Beschränkungen (Block 1) berechnet, wonach die gleiche Berechnungsroutine mit Beschränkungen wie diejenigen, die voranstehend für die erste Berechnungsstufe erwähnt wurden, auch für diese Berechnungsstufe ausgeführt wird, Block 3 in Fig. 6, obwohl nun mit einem Start von einer anderen Position mk (1 < k < j; k = 1). Die Berechnung wird für eine gegebene Anzahl N2 von Anregungsimpulsen durchgeführt, wobei N2 jedoch gleich zu N1 sein kann.
- Die Berechnungsstufen, die mit Hilfe des bekannten Verfahrens mit Beschränkungen ausgeführt werden, werden dann mehrere Male bis zu der letzten Stufe, Block 4 in Fig. 6. Die Anzahl L von derartigen Stufen muss nicht gleich zu der Anzahl von Positionen j = P für die Anregungsimpulse, die in Übereinstimmung mit dem Verfahren ohne Beschränkungen erhalten werden (Block 1), sein. Es kann geeignet sein, die Prozedur zu unterbrechen, nachdem eine kleine Anzahl von Stufen ausgeführt worden ist, wenn die Sprachqualität als akzeptabel befunden wird, zu weniger Berechnungen führt. Es kann auch geeignet sein, eine Genauigkeit durch Bereitstellen von einer größeren Anzahl von Startpositionen als die ursprüngliche Anzahl von Positionen P für die Anregungsimpulse, die ohne Beschränkungen berechnet werden, zu verbessern. Die sich ergebende Anzahl von Positionen wird dann L = P + Pextra sein, wobei Pextra die extra Positionen bezeichnet. Dies wird mit näheren Einzelheiten unter Bezugnahme auf Fig. 7 beschrieben.
- Die voranstehend erwähnten sich ergebenden Impulspositionen L = P + Pextra können zum Platzieren von weiteren Beschränkungen auf diese Impulse verwendet werden, die zugelassen werden sollen, und um dadurch die Komplexität der nachfolgenden Impulssuchvorgänge mit Beschränkungen zu verringern. Es ist somit auch möglich, diejenigen Phasen fp (p = 1, ..., j) zu sperren, die am weitesten entfernt von der Verwendung von denjenigen Impulspositionen liegen, die ohne Beschränkungen berechnet worden sind.
- Gemäß Fig. 6 wird die Impulsplatzierungsroutine in Übereinstimmung mit dem Verfahren mit Beschränkungen nach einer gegebenen Anzahl von Stufen (N1 Stufen mit einem stark von einem Impuls p2, N2 Stufen mit einem Start von einem Impuls P2 etc.) unterbrochen. Dies wird zu einer Anzahl L von Impulsplatzierungen für jede der ursprünglich berechneten Positionen (ohne Beschränkungen) einschließlich irgendwelcher extra Positionen Pextra führen. Es wird dann entschieden, Block 5, welche der L Impulsplatzierungen in Übereinstimmung mit einem gegebenen Kriterium verwendet werden soll. Die Impulsplatzierung, die das Kriterium am besten erfüllt, wird beibehalten und die anderen werden gelöscht. Die Vorgehensweise, in der dieses Kriterium, eine sogenannte geschlossene Schleife, gebildet wird, wird nachstehend mit näheren Einzelheiten unter Bezugnahme auf das Blockschaltbild der Fig. 9 gezeigt, welches den Fall L = 4 zeigt.
- Die so gewählte Impulsplatzierung (Amp, mp, p = 1, 2, ..., i, k, r) mit Beschränkungen positioniert die abschließenden Anregungsimpulse in dem Rahmen und entspricht den Werten von Phasenpositionen und Phasenpositionsstellen, die an den Empfänger gesendet werden.
- Diejenigen Positionen (mp, p = 1, ..., j), die zu Anfang ohne Beschränkungen berechnet worden sind, werden nicht übertragen.
- Ein Algorithmus für die Berechnungsstufen gemäß der voranstehenden Erläuterungen ist in dem Anhang 1 gezeigt.
- Fig. 7 ist eine diagrammartige Darstellungen von Anregungsimpulsen und extra Impulsen, die ohne Beschränkungen berechnet werden, und von denjenigen Impulsplatzierungen, die mit Beschränkungen berechnet werden. Die Impulse P1, P2, P3 und P4 sind diejenigen Anregungsimpulse, die in Übereinstimmung mit dem früher bekannten Verfahren (Block 1, Fig. 6) berechnet worden sind. Diese Impulse weisen Phasenpositionen N1, N2, N3 bzw. N4 auf. Zusätzlich zu diesen Impulsen werden weiter zwei Impulspositionen Pe1 und Pe2 mit Phasenpositionen n5 und n6 in Übereinstimmung mit dem gleichen bekannten Verfahren in dem dargestellten Fall berechnet. Somit stellen die Phasenpositionen n1-n6 die Startpositionen zum Berechnen einer Anzahl von L = 6 Impulsplatzierungen, die gemäß dem bekannten Verfahren mit Beschränkungen (Blöcke 2-4, Fig. 6) berechnet werden, bereit. Somit werden zwei "extra" Impulsanordnungen erhalten, die eingebaut werden können, wenn nach der "besten" Impulsplatzierung gemäß des voranstehend erwähnten Kriteriums getestet wird. In Fig. 7 ist der Startimpuls in den jeweiligen Impulsplatzierungen mit einer dicken ausgezogenen Linie und einem Quadrat markiert worden, während die berechneten Impulse in jeweiligen Impulsplatzierungen mit gestrichelten Linien und einem Ring markiert sind.
- Die verschiedenen Impulsplatzierungen, die mit Beschränkungen berechnet werden und zu sämtlichen Startimpulsen P1-P4 und extra-Impulsen Pe1, Pe2 gehören, werden dann in Übereinstimmung mit dem Kriterium der geschlossenen Schleife getestet. Die Impulsplatzierung, die als die "beste" befunden wurde, d. h. die Platzierung, die den kleinsten Fehler aufwies, wird gewählt und übertragen. Die übrigen Impulsplatzierungen werden für diesen bestimmten Rahmen nicht verwendet.
- Als eine Alternative zu der voranstehend beschriebenen Berechnung der Positionen der Anregungsimpulse, ist es möglich, die Phasen von Anregungsimpulsen einzustellen, die ohne Beschränkungen berechnet werden, während die Beschränkungen berücksichtigt werden. In diesem Fall werden die Phasen fp für die Impulsplatzierung gewählt, die gemäß dem Kriterium als die beste befunden wurde.
- Für jeden Startimpuls der Gesamtanzahl von berechneten Startimpulsen ohne Beschränkungen in einem Rahmen wird ein Suchgebiet definiert, welches aus einem Zeitintervall einer spezifizierten Größe um die Position des Startimpulses in dem Rahmen herum steht. Dann wird auf Grundlage von jedem der Startimpulse eine Impulsplatzierung mit der Beschränkung berechnet, dass keine der Positionen der berechneten Impulse außerhalb des Suchgebiets liegen können. In dieser Weise wird zusätzlich zu der Position des betreffenden Startimpulses auch eine kleine Anzahl von Positionen für diejenigen Impulse erhalten, die innerhalb des Suchgebiets für die verbleibenden Startimpulse liegen. Diese Prozedur wird für jeden der verbleibenden Startimpulse wiederholt und führt zu einer Anzahl von Impulsplatzierungen, bei denen ein Impuls in jeder Platzierung immer der exakten Position von jeweiligen Startimpulsen entsprechen wird, und bei denen die Position von übrigen Impulsen innerhalb jeweiliger Suchgebiete für verbleibende Startimpulse liegen.
- Zusätzlich zu den voranstehend erwähnten Impulsplatzierungs- Beschränkungen können weitere Beschränkungen für die Codierung der verschiedenen Impulspositionen mp, die erhalten werden, auferlegt werden. Diese Bedingung wird auf die verschiedenen Positionen angewendet, die gemäß der voranstehenden Ausführungen getestet werden, bevor der Test mit der geschlossenen Schleife ausgeführt wird. Die Codebeschränkung bedeutet, dass bestimmte sogenannte codierbare Vektoren gewählt werden, wobei jeder Vektor einer Impulsplatzierung entspricht, die mit Beschränkungen gemäß der voranstehenden Erläuterungen berechnet wird.
- Die Positionen n (0 ≤ n ≤ N) in dem gesamten Suchvektor, der N Positionen enthält, wird allgemein:
- n = nfF + F ;
- sein, wobei f = die Phase innerhalb eines Unterblocks (Phasenposition) nf ist und F = die Anzahl von Phasen innerhalb des Blocks nf ist.
- Nun wird die Beschränkung angewendet, dass die Impulsphase für sämtliche Stellen in einer gegebenen Impulsplatzierung (Vektor) für diejenigen Vektoren, die gewählt worden sind, unterschiedlich sind. Der Rest wird gelöscht.
- Sämtliche Vektoren, die so erhalten werden, werden als codierbar angesehen und dann in der geschlossenen Schleife getestet, wobei die Werte der Phasen der "besten" Impulsplatzierung relativ zu den Positionen der Startimpulse an den Empfänger transferiert werden.
- Die Komplexität der Berechnungen und der Tests kann unverändert bleiben, indem eine Liste der verschiedenen Kandidaten in einer absteigenden Reihenfolge bezüglich der Gesamtphaseneinstellung zusammengestellt und verwendet wird, wobei der Kandidat, der in einem Test der "nächstbeste" ist, in dem nächsten Test zuerst untersucht wird, und so weiter überall in einem vollständigen Rahmen.
- Ein Algorithmus der voranstehend erwähnten Phasenpositionseinstellung wird in dem beiliegenden Anhang 2 ersichtlich gemacht.
- Die Fig. 8 ist ein Diagramm, das die voranstehend beschriebenen Phaseneinstellung der Anregungsimpulse zeigt, die ohne Beschreibungen gemäß der voranstehenden Erläuterungen erhalten werden. Fig. 8a) zeigt diejenigen Anregungsimpulse P1, P2, P3 und P4, die ohne Beschränkungen erhalten worden sind und die den Impulsen P1-P4 entsprechen, die in Fig. 7 ganz oben gezeigt sind.
- Für jeden Startimpuls P1-P4 der Gesamtanzahl von berechneten Startimpulsen ohne Beschränkungen in einem Rahmen wird ein Suchgebiet S1, S2, S3, S4 definiert, welches aus einem Zeitintervall um die Position des Startimpulses in dem Rahmen herum (Fig. 8b) gebildet ist. Impulspositionen außerhalb von diesen Suchgebieten sind nicht zugelassene Impulspositionen und bilden somit die Beschränkung. Eine kleine Anzahl von zugelassenen Impulspositionen werden in jeweiligen Suchgebieten gefunden. Zum Beispiel werden jeweilige Suchgebiete die zwei Impulspositionen umfassen, die durch diejenigen Positionen gebildet werden, die zu der Impulsposition ml, die ohne Beschränkungen berechnet worden ist, am nächsten liegen. Demzufolge wird eine Anzahl von Impulsplatzierungen berechnet, die aus diesen "Seitenpositionen", die um jede Startimpulsposition herum zugelassen werden, gebildet werden.
- Fig. 8c) zeigt eine Impulsplatzierung, die mit dem Impuls P1 als der Startimpuls berechnet wird, wobei weitere drei Impulse mit Hilfe von zwei Impulsen P2 und P4 mit einem Phasenabweichungsinkrement, welches aus den ursprünglichen Positionen dieser letzteren Startimpulse berechnet wird, gebildet worden sind, während dem dritten Startimpuls P3 eine Phasenabweichung von seiner zugehörigen Startposition gemäß dem Beispiel gegeben worden ist. Dies führt zu einer Gesamtphasenverschiebung = 2.
- Mit einem Startpunkt von dem Startimpuls P2, zeigt Fig. 8d), wie zwei Impulse, P0 und P4, um einen Schritt nach links von ihren zugehörigen Startimpulspositionen versetzt worden sind, und wie der vierte Impuls P1 einen Schritt nach rechts versetzt worden ist. Dies führt insgesamt zu einer Phasenverschiebung = 3.
- Mit einem Startpunkt von dem Startimpuls P4 zeigt Fig. 8e) wie zwei Impulse, P2 und P3, um einen Schritt nach rechts von ihren zugehörigen Startimpulspositionen versetzt worden sind und der erste Impuls P1 einen Schritt nach rechts von seiner zugehörigen Startimpulsposition versetzt worden ist. Auch dies führt zu einer Gesamtphasenverschiebung = 3.
- Die folgende Tabelle kann damit erfüllt werden:
- Nur zwei Startimpulspositionen werden als ein Beispiel genommen, wobei diese Startimpulspositionen die Folgenummern 2 und 5 aufweisen, wobei fp1, fp2 darunter gemäß der Beziehung auf Seite 12, Zeile 2, mit F = 3 berechnet worden sind. TABELLE
- Allgemein kann keine der Phasen fp für eine Codierbarkeit gleich sein, d. h. fp1 ≠ fp2. Das folgende trifft zu, wenn mehrere Startimpulspositionen mp verwendet werden, d. h. p 3:
- fp1 ≠ fp2 ≠ fp3 ≠ fp4 ... für ein und die gleiche Impulsplatzierung.
- Die ermittelten codierbaren Impulsplatzierungen werden dann miteinander verglichen, und zwar gemäß der "geschlossenen Schleife" in den vorangehenden Ausführungen, und die Phasenwerte der "am besten" codierbaren Platzierung werden transferiert. Die Amplitude Am der Impulse können aus dem Amplitudenwert des Startimpulses, der als eine Basis in jeweiligen Impulsplatzierungen verwendet wird, berechnet werden oder die Amplituden können neu berechnet werden, um die Phasenänderung von jeweiligen berechneten Impulsen zu berücksichtigen.
- Die Werte der Phasen fp und der Phasenposition nfp für die "beste" codierbare Platzierung werden transferiert.
- Fig. 9 ist ein Blockschaltbild, welches einen Teil eines Sprachcodierers zeigt, der das erfindungsgemäße Verfahren verwendet.
- Wie in der Darstellung in Fig. 4 gezeigt, bezeichnet der Block 125 einen Korrelationsgenerator, der die Größe Ciq = (Cij, αi) bildet, die die Korrelation zwischen den Signalen y und # darstellt. Dann folgt der Anregungsgenerator 127, der eine Amplitude Ap und eine Impulsphasenposition mp des Anregungsimpulses wählt, die von i Kandidaten die beste Korrelation (= Fehler der geringsten Fehlerquadrate) ergaben. Insgesamt I Korrelationen werden ausgeführt, bevor die Position und die Amplitude eines gegebenen Anregungsimpulses bestimmt wird. In der früher bekannten Ausführungsform folgt dem Anregungsgenerator 127 ein Phasenpositionsgenerator 129, Fig. 4). In der Ausführungsform der Fig. 9 ist eine Speichereinheit 126 anstelle davon verbunden. Diese Speichereinheit speichert die Amplituden Amp und Phasenpositionen mp (p = 1, ..., j) der gewählten Anregungsimpulse, gemäß des Verfahrens ohne Beschränkungen (Block 1, Fig. 6) erhalten worden sind.
- Der Speichereinheit 126 folgt eine Wählereinheit, die mit einem Block 128a in Fig. 9 symbolisiert ist, und ein steuerbarer Schalter 128b. Die Wählereinheit 128a veranlasst den Schalter 128b, eine Anzahl von Abzweigungen für eine Verbindung einer gegebenen Abzweigung zu der Speichereinheit 126 zu suchen, so dass eine gegebene Position mp (p = 1, ..., j) , die in der Speichereinheit 126 gespeichert ist, einen Startwert in Übereinstimmung mit den vorangehenden Ausführungen, Block 2, Fig. 6, bilden kann.
- Der oberste Zweig (a), der in der Figur gezeigt ist, umfasst:
- - einen Anregungsgenerator 127a mit dem gleichen Design wie der Anregungsgenerator 127;
- - ein Phasengenerator 129a mit dem gleichen Design wie der Phasengenerator 129 in Fig. 4 und mit einer Rückkopplung zu dem Anregungsgenerator 127a für eine Aktualisierung, siehe Fig. 4;
- - eine Speichereinheit 130a; und
- - eine Berechnungseinheit 132a zum Berechnen des Fehlers E1 der "geschlossenen Schleife" in Übereinstimmung mit den obigen Ausführungen, und der somit die gleiche Funktion wie die Schaltung gemäß Fig. 5 aufweist, aber ohne ein Codebuch. Anstelle des Codebuchs ist hier ein Speicher vorgesehen, in dessen Speicherpositionen die Werte von zugehörigen Impulsplatzierungen a, die mit Beschränkungen in den Einheiten 127a, 129a und 130a berechnet werden, gespeichert werden können. Der Prädiktionsrest dk2 wird an die Einheit 132a geliefert, wenn ein adaptives Codebuch verwendet wird, oder wird ansonsten auf den Prädiktionsrest dk1 angewendet. Die Prädiktionsparameter ak werden ebenfalls zugeführt.
- Die übrigen Zweige (b), (c) und (d) umfassen Einheiten, die den Einheiten in dem Zweig (a) entsprechen. Somit umfasst jeder Zweig Einheiten, die Impulspositionen in Übereinstimmung mit dem Verfahren mit Beschränkungen bestimmen können. Jeder Zweig stellt somit eine Impulsplatzierung bereit, die mit Beschränkungen berechnet werden, d. h. insgesamt vier Impulsplatzierungen (siehe Fig. 7) mit Beschränkungen werden gemäß Fig. 9 auf Grundlage von vier Startwerden mp, die aus der Speichereinheit 126 genommen werden, ausgeführt. Die Anzahl von Zweigen wird natürlich erweitert werden, wenn mehr als vier Startwerte verwendet werden sollen. In ähnlicher Weise sind Einheiten 132b, 132c und 132d zum Speichern von zugehörigen Impulsplatzierungen für die Zweige (b), (c), (d) bzw. zum Berechnen des Fehlers der "geschlossenen Schleife" E2, E3 bzw. E4 vorgesehen.
- Die Wählereinheit 128a steuert den Schalterkontakt 128b auf den obersten Zweig (a) und gibt an den Anregungsgenerator 127a die Positionen mp (p = 1, ..., j), die bereits von der Impulssuche ohne Beschränkungen (Block 1, Fig. 6) belegt sind. Der Anregungsgenerator 127a empfängt auch den aktualisierten Wert (Cij, αi) von dem Korrelationsgenerator nach der Impulssuche ohne Beschränkungen. Der Anregungsgenerator 127a und der Phasengenerator 129a können nun eine Impulssuche mit Beschränkungen, die von einer gegebenen Position i starten, ausführen, da diese Einheiten wissen, welche Positionen bereits belegt sind. Nach einer gegebenen Anzahl von Suchvorgängen ergibt das ermittelte Ergebnis eine Anzahl von Anregungsimpulsen, deren Amplituden Amp und Impulspositionen mp in der Einheit 130a gespeichert sind. In diesem Fall werden die Phase fp und die Phasenposition nfp anstelle der Impulsposition mp gespeichert.
- Die Wählereinheit 128a schältet den Schalter 128b vorwärts zu dem Anregungsgenerator 127b in dem Zweig (b) und eine Impulssuche, die von einem Startwert mit der Position m2 gestartet wird, wird durch den nächsten Zweig (b) begonnen. Diese Suche wird in der gleichen Weise wie die Suche ausgeführt, die von dem Zweig (a) ausgeführt wird, und die Impulssuche wird danach auf die Zweige (c) und (d) in einer ähnlichen Weise erweitert. Der gleiche Wert von Cij wird auf sämtliche Zweige am Beginn der Impulssuche angewendet, da dieser Wert beim Testen der "Kandidaten" verwendet wird, wenn nach dem besten Erregungsimpuls (mit Beschränkungen) gesucht wird.
- Auf einen Abschluss einer gegebenen Anzahl von parallelen Stufen m hin, werden sämtliche Zweige (a)-(d) die Amplitude und die Phasenpositionen/Phasenpositionsstellen von ihren Anregungsimpulsen berechnet und diese Werte in der Speichereinheit 134 gespeichert haben. Die Berechnungseinheiten 132a-132d führen dann ihre jeweiligen Berechnungen des Fehlers zwischen ankommenden Sprachrahmen und dem synthetisierten Sprachrahmen in Übereinstimmung mit den Codewörtern, die verwendet werden, und den Anregungsimpulsen, die von den jeweiligen Zweigen genommen werden, aus. Das ankommende Sprachsignal wird deshalb an jede der Einheiten 132a-132d angelegt. Jede von diesen Einheiten berechnet den Fehler der geschlossenen Schleife und liefert den jeweiligen Fehlerwert E1, E2, E3 und E4 als ein Ausgangssignal. Es ist deshalb möglich, zum Beispiel den quadrierten gewichteten Fehler
- E = ew(n)²
- zu wählen, wobei ew(n) die Differenz zwischen den ankommenden (echten) Sprachsignalen und den synthetisierten Sprachsignalen für die Werte y(n) und (n) innerhalb des Sprachrahmens ist.
- Die Funktion der Berechnungseinheiten 132a-132d ist die gleiche, als ob ein adaptives Codebuch nicht verwendet worden wäre und der Fehler E1-E4 wird in der neuen Weise berechnet.
- Eine Wählereinheit 133a mit einem zugehörigen Schalterkontakt 133b erfasst die berechneten Fehlerwerte E1, E2, E3 und E4 der verschiedenen Impulsplatzierungen und liefert diese Werte jeweils einzeln an die Speichereinheit 134. Die Speichereinheit empfängt die Werte nacheinander und wählt und speichert einen ankommenden Wert, wenn dieser Wert ein "besserer" Wert ist, d. h. ein kleinerer Fehler E als der unmittelbar vorangehende Wert ist. Zur gleichen Zeit, zu der die Einheit 134 die Werte E1-E4 empfängt, registriert die Einheit den kleinsten Wert, d. h. die "beste" Impulsplatzierung. Nachdem somit die "beste" Impulsplatzierung identifiziert worden ist, sammelt die Speichereinheit 134 die Werte der Amplitude Amp, der Phase fp und der Phasenposition mfp für diese "beste" Impulsplatzierung. Diese Werte werden über eine der Verbindungen an jeweilige Speichereinheiten 130a-130d erhalten und dann an den Codierer 131 geliefert. Der Codierer 131 ist mit einem Multiplexer 135 verbunden, wie in Fig. 1 gezeigt.
- Der Codierer 131 empfängt somit die Größen: die Amplitude Amp und die Phasen/Phasenpositionen fp, nfp für die "besten" Anregungsimpulse, die mit Beschränkungen zusammengestellt sind. Wie voranstehend erwähnt, können die ermittelten Phasen f1, ..., fp gemeinsam codiert werden, und die ermittelten Phasenpositionen nf1, ..., nfp können individuell vor einer Übertragung codiert werden. Die wesentliche Tatsache besteht darin, dass die Phasenpositionen und die Phasenpositionsstellen in getrennten Nachrichtenwörtern codiert werden können. Dies verbessert eine Unterscheidbarkeit und damit die Fehlerwahrscheinlichkeit.
- Fig. 10 ist ein Blockschaltbild ähnlich wie Fig. 9, aber modifiziert zum Durchführen der Phaseneinstellung auf Startimpulse wie voranstehend beschrieben (Fig. 8). Der Wähler 128b und nachfolgende Blöcke 127a-d, 129a-130a-d zum Berechnen von Phasenpositionen mit Beschränkungen sind weggelassen worden und anstelle davon durch eine Einheit 100 ersetzt worden, die die voranstehend erwähnten Suchgebiete für jeden der Startimpulse P1-P4 definiert (Fig. 8). Außerhalb dieses Suchgebiets wird eine Platzierung von Suchimpulsen nicht zugelassen und demzufolge kann man von der Einführung des Suchgebiets um jeden Startimpuls herum und den zugehörigen Berechnungen sagen, dass sie die frühere Berechnung mit Beschränkungen gemäß der Fig. 9 ersetzt. Die Einheit 100 berechnet ebenfalls die Impulspositionen für die mögliche Anzahl von Impulsplatzierungen gemäß der voranstehenden Ausführungen (die obige Tabelle) und stellt die möglichen Impulsplatzierungen zusammen, während die Codebeschränkungen berücksichtigt werden. Diese Codebeschränkungen werden somit über den Ausgängen a, b, c und d ermittelt und die ermittelten Impulsplatzierungen werden dann an die Einheiten 132a-132b geliefert, die jeweilige Fehler E1, E2, E3 und E4 für die geschlossene Schleife in der voranstehend beschriebenen Weise berechnen.
- Da kein Wert der Amplituden der gewählten Impulsplatzierung für eine Codierung in dem Codierer 131 an die Einheit 100 geliefert wurde, werden die Amplitudenwerte Amp von jeder Impulsplatzierung aus der Speichereinheit 126 an die Berechnungseinheiten 132a-132d und an die Speichereinheiten 134 geliefert.
- Wenn die Phasenpositionen bzw. die Phasenpositionsstellen codiert werden, dann können diese Positionen und Positionsstellen getrennt kombiniert werden, in Zweierkombinationen oder in größeren Vielfachen in einen Nachrichtenblock mit zugehörigen Paritätswörtern in einer bekannten Vorgehensweise. Eine Codierung eines einzelnen Worts für eine Phasenposition bzw. eine Phasenpositionsstelle mit einem zugehörigen Paritätswort kann ebenfalls ausgeführt werden. Der Vorteil, mehrere Werte in einem Nachrichtenwort bereitzustellen, besteht darin, dass eine Einsparung in der Bandbreite durchgeführt wird, obwohl es dann erforderlich ist, die "härtere" Codierung zu verwenden, um einen besseren Schutz zu erhalten. Obwohl eine einfache Codierung mit weniger Schutz in dem letzteren Fall mit nur einem Phasenwert oder einem Positionsphasenwert angewendet werden kann, wird sie trotzdem zu einem Verlust in der Bandbreite führen. Eine Codierung der Phasen kann mit einer Kombinationscodierung durchgeführt werden.
- Es lässt sich ersehen, dass die Fig. 9 und 10 lediglich das Prinzip darstellen, wie zugehörige Schaltungen eines Sprachcodierers konstruiert werden können. In der Realität können sämtliche Einheiten in einem Mikroprozessor integriert werden, der programmiert ist, um die Funktionen gemäß des Flussdiagramms der Fig. 4 und des beiliegenden Anhangs 1 und des Anhangs 2 auszuführen.
- Eine Sprachqualität kann durch das vorgeschlagene Verfahren im Vergleich mit dem bekannten Verfahren mit Beschränkungen und einer geringeren Komplexität verbessert werden. Da beide bekannten Verfahren mit und ohne eine Beschränkung verwendet werden, ist es möglich, den Anteil zwischen der Anzahl von berechneten Anregungsimpulsen gemäß der Verfahren mit bzw. ohne Beschränkungen zu wählen und in dieser Weise eine optimale Verteilung zu erhalten, die die geringste Berechnungskomplexität für eine gegebene gewünschte Sprachqualität bereitstellt. Die Berechnungskomplexität ist im Vergleich dazu, wenn eine Extremwertberechnung für sämtliche möglichen Positionen innerhalb eines Sprachrahmens ausgeführt wird, stark verringert.
- Das erfindungsgemäße Verfahren ist im Zusammenhang mit einem Sprachcodierer beschrieben worden, bei dem die Anregungsimpulse jeweils Impuls für Impuls positionsmässig platziert werden, bis ein Rahmenintervall gefüllt worden ist.
- Die EP-A 195,487 beschreibt einen anderen Typ von Sprachcodierer, der mit einer Impulsmusterplatzierungsprozedur arbeitet, bei der der Zeitabstand ta zwischen den Impulsen konstant ist, anstelle eines einzelnen Impulses. Das erfindungsgemäße Verfahren kann mit einem derartigen Sprachcodierer angewendet werden. In diesem Fall stimmen die verbotenen Positionen in einem Rahmen (siehe Fig. 4a, 4b oben, zum Beispiel) mit den Positionen der Impulse in einem Impulsmuster überein.
- Modifizierte Berechnungsstufen 1-8 sind in der US 5,193,140 offenbart.
- Die U.S. 5,193,140 wird nachstehend mit [2] bezeichnet.
- Die Autokorrelationsmatrix øij in [2] wird nachstehend mit C(i, j) = Cij in dem Beschreibungsteil der Anmeldung bezeichnet. Die Impulspositionen mp und mq in [2] werden mit msp bzw msq in dem vorliegenden Fall bezeichnet. Die Grösse αi in [2] und in dem Beschreibungsteil der Beschreibung werden hier mit a(i) bezeichnet. Analoges gilt für αm in [2] in Bezug auf a(m) nachstehend.
- 1. Berechnen des gewünschten Signals y(n).
- 2. Berechnen des Kreuzkorrelationsvektors a(i) und Kopieren an asave (1).
- 3. Berechnen der Kovarianz (oder Autokorrelations) Matrix C(ij).
- 4. Für p = 1 bis P + extra.
- 4.1 Suche nach msp, d. h. der Impulsposition, die das Maximum a(i)·a(i)/C(ij)=a(ms)·a(ms)/C(ms,ms) in den nicht belegten Positionen ergibt.
- 4.2 Berechnen der Amplitude A(msp) für die entdeckte Impulsposition msp.
- 4.3 Aktualisieren des Kreuzkorrelationsvektors a(i).
- 4.4 Löschen der gefundenen Position msp an den möglichen Positionen.
- 5. Für q = 1 bis q = P + extra.
- 5.1 Kopieren von asave(1) nach a(i).
- 5.2 Zuweisen von ml an den Wert von msq.
- 5.3 Berechnen der Amplitude A(m&sub1;) für die Startimpulsposition m&sub1;.
- 5.4 Aktualisieren des Kreuzkorrelationsvektors a(i).
- 5.5 Für p = 2 bis P.
- 5.5.1 Suche nach mp, d. h. der Impulsposition, die ein Maximum a(i)·a(i)/C(ij) = a(m)·a(m)/C(m, m) in den nichtbelegten Phasen ergibt.
- 5.5.2 Berechnen der Amplitude A(mp) für die entdeckte Impulsposition mp.
- 5.5.3 Aktualisieren des Kreuzkorrelationsvektors (a(i).
- 5.5.4 Ausschließen der Positionen mit der gleichen Phase wie mp.
- 5.6 Berechnen des Fehlers E der geschlossenen Schleife.
- 5.7 Wenn der Fehler E kleiner als der Fehler für den vorangehend gespeicherten Satz von Positionen und Amplituden ist, Speichern der Positionen mp als mwp und der Amplituden A(mp) als A(mwp).
- 6. Berechnen von fp und nfp in Übereinstimmung mit der Beziehung (1) in [2] für den gespeicherten (gewinnenden) Satz von Positionen mwp.
- Bezeichnungen gemäß dem Anhang 1.
- 1. Berechnen der optimalen Positionen msp und Amplituden A(msp) wie im Schritt 1 bis 4 in dem vorangehenden Abschnitt (Anhang 1).
- 2. Konstruieren der n = ((P + extra) über P) Kombinationen von P Positionen aus den msp optimalen Positionen.
- 3.0 Für eine Kombinationi = Kombination&sub1; bis Kombinationn.
- 3.1 Herumschütteln von sämtlichen Positionen in Kombination1 durch Verschieben jeder Position um einen Schritt in jede Richtung. Wenn der sich ergebende Satz von Positionen unter Verwendung des beschränkten Positionierungscodes codierbar sind, Speichern von diesen in einer Liste min_shift_list mit einer Reihenfolge bezüglich der Gesamtphasenverschiebung von der nicht verschobenen Kombinationi.
- 4.0 Für j = 1 bis nb_to_test.
- 4.1 Kopieren der Positionen oben an der min_shift_list bis mvp.
- 4.2 Entfernen der oberen Positionen in der Liste min_shift_list.
- 4.3 Kopieren der Amplituden von A(msp) der entsprechenden nicht verschobenen Kombinationi bis A(mvp).
- 4.4 Berechnen des Fehlers Ej der geschlossenen Schleife unter Verwendung von mvp und A(mvp).
- 4.5 Wenn der Fehler Ej kleiner als der Fehler für den vorangehend gespeicherten Satz von Positionen und Amplituden ist, Speichern der Positionen mvp als mwp und der Amplituden A(mvp) als A(mwp).
- 5. Berechnen von fp und nfp gemäß der Beziehung (1) in [2] für den gespeicherten (gewinnenden) Satz von Positionen mwp.
Claims (2)
1. Verfahren zum Codieren von Anregungsimpulsparametern (fp
bzw. nfp) einer ersten und einer zweiten Art, die
gemeinsam die Positionen (mp) der Anregungsimpulse
ergeben, berechnet durch:
a) Berechnen der Positionen der Anregungsimpulse in
einer Vielzahl von Berechnungsstufen (j) und gemäß
eines ersten Verfahrens, bei dem ein Sprachsignal,
welches in Sprachrahmen aufgeteilt ist, analysiert
wird und das analysierte Sprachsignal synthetisiert
wird (110), um einen Prädiktionsrest (dk) und eine
Vielzahl von Prädiktionsparametern (ak) zu bilden,
die an einen Anregungsprozessor (120) angelegt
werden, der den Prädiktionsrest (dk) und Parameter
(Ai, mi), die von dem Anregungsprozessor für jeden
der gewünschten Anregungsimpulse gemäß der
Prädiktionsparameter (ak) erhalten werden, filtert;
b) Ausführen einer Vielzahl von Berechnungsstufen (N1,
N2, ... NL) zum Bestimmen der Positionen der
Anregungsimpulse, jeweils mit einem Startpunkt von
einer Vielzahl von Positionen (ml, mk, mr), die
gemäß des ersten Verfahrens berechnet werden, gemäß
einem zweiten Verfahren, bei dem ein Sprachrahmen
ebenfalls in eine Vielzahl von Phasenpositionen
(nf) aufgeteilt wird und jede Phasenposition in
eine Vielzahl von Phasen (f) aufgeteilt ist, wobei
Beschränkungen eingefügt werden, die die Phase
verbieten, die belegt ist, wenn ein Anregungsimpuls
auf einen nachfolgenden Anregungsimpuls und auf
jede Phasenposition (nf) innerhalb eines
Sprachrahmens platziert wird, um so eine einer
Vielzahl (L) von Impulsplatzierungen zu erhalten;
und
c) Wählen des Anteils zwischen der Anzahl von
Berechnungsstufen (j und max [N1, ..., NL]) gemäß
des ersten bzw. des zweiten Verfahrens, um so die
geringste Berechnungskomplexität für eine bestimme
gegebene Sprachqualität zu erhalten,
gekennzeichnet durch die folgenden Schritte:
d) Kombinieren der Anregungsimpulsparameter (fp) der
ersten Art in einem oder mehreren
Nachrichtenwörtern,
e) Aufteilen der zweiten Art von
Anregungsimpulsparametern (nfp) jeweils in
getrennte Nachrichtenwörter, wobei jedes von diesen
Nachrichtenwörtern getrennt von den zuerst
erwähnten Nachrichtenwörtern gemäß d) ist, und
f) Kodieren jedes getrennten Nachrichtenworts gemäß e)
getrennt.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass
bestimmte der Nachrichtenwörter zwei oder mehrere nur
der ersten Art der Anregungsimpulsparameter (fp bzw.
nfp) und ein Paritätswort zum Kodieren eines
Nachrichtenworts in einer bekannten Weise enthalten.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9501368A SE508788C2 (sv) | 1995-04-12 | 1995-04-12 | Förfarande att bestämma positionerna inom en talram för excitationspulser |
PCT/SE1996/000466 WO1996032713A1 (en) | 1995-04-12 | 1996-04-10 | A method of coding an excitation pulse parameter sequence |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69614101D1 DE69614101D1 (de) | 2001-08-30 |
DE69614101T2 true DE69614101T2 (de) | 2002-03-14 |
Family
ID=20397946
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69617414T Expired - Lifetime DE69617414T2 (de) | 1995-04-12 | 1996-04-10 | Verfahren zur bestimmung von anregungsimpulspositionen innerhalb eines sprachrahmens |
DE69614101T Expired - Lifetime DE69614101T2 (de) | 1995-04-12 | 1996-04-10 | Kodierverfahren für anregungsimpulsparameterfolgen |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69617414T Expired - Lifetime DE69617414T2 (de) | 1995-04-12 | 1996-04-10 | Verfahren zur bestimmung von anregungsimpulspositionen innerhalb eines sprachrahmens |
Country Status (8)
Country | Link |
---|---|
US (2) | US5937376A (de) |
EP (2) | EP0820627B1 (de) |
KR (1) | KR19980703868A (de) |
CN (2) | CN1199152C (de) |
AU (2) | AU706038B2 (de) |
DE (2) | DE69617414T2 (de) |
SE (1) | SE508788C2 (de) |
WO (2) | WO1996032713A1 (de) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE508788C2 (sv) * | 1995-04-12 | 1998-11-02 | Ericsson Telefon Ab L M | Förfarande att bestämma positionerna inom en talram för excitationspulser |
JP3166697B2 (ja) * | 1998-01-14 | 2001-05-14 | 日本電気株式会社 | 音声符号化・復号装置及びシステム |
JP3199020B2 (ja) * | 1998-02-27 | 2001-08-13 | 日本電気株式会社 | 音声音楽信号の符号化装置および復号装置 |
US7206739B2 (en) * | 2001-05-23 | 2007-04-17 | Samsung Electronics Co., Ltd. | Excitation codebook search method in a speech coding system |
US7167476B1 (en) * | 2002-04-12 | 2007-01-23 | Juniper Networks, Inc. | Systems and methods for routing data in a network device |
US8036886B2 (en) * | 2006-12-22 | 2011-10-11 | Digital Voice Systems, Inc. | Estimation of pulsed speech model parameters |
US8688437B2 (en) | 2006-12-26 | 2014-04-01 | Huawei Technologies Co., Ltd. | Packet loss concealment for speech coding |
CN101286321B (zh) * | 2006-12-26 | 2013-01-09 | 华为技术有限公司 | 双脉冲激励的线性测编码 |
US11270714B2 (en) | 2020-01-08 | 2022-03-08 | Digital Voice Systems, Inc. | Speech coding using time-varying interpolation |
US11990144B2 (en) | 2021-07-28 | 2024-05-21 | Digital Voice Systems, Inc. | Reducing perceived effects of non-voice data in digital speech |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3624302A (en) * | 1969-10-29 | 1971-11-30 | Bell Telephone Labor Inc | Speech analysis and synthesis by the use of the linear prediction of a speech wave |
US3740476A (en) * | 1971-07-09 | 1973-06-19 | Bell Telephone Labor Inc | Speech signal pitch detector using prediction error data |
US4472832A (en) * | 1981-12-01 | 1984-09-18 | At&T Bell Laboratories | Digital speech coder |
NL8302985A (nl) * | 1983-08-26 | 1985-03-18 | Philips Nv | Multipulse excitatie lineair predictieve spraakcodeerder. |
US4701954A (en) * | 1984-03-16 | 1987-10-20 | American Telephone And Telegraph Company, At&T Bell Laboratories | Multipulse LPC speech processing arrangement |
NL8500843A (nl) * | 1985-03-22 | 1986-10-16 | Koninkl Philips Electronics Nv | Multipuls-excitatie lineair-predictieve spraakcoder. |
US4944013A (en) * | 1985-04-03 | 1990-07-24 | British Telecommunications Public Limited Company | Multi-pulse speech coder |
JPH0782359B2 (ja) * | 1989-04-21 | 1995-09-06 | 三菱電機株式会社 | 音声符号化装置、音声復号化装置及び音声符号化・復号化装置 |
SE463691B (sv) * | 1989-05-11 | 1991-01-07 | Ericsson Telefon Ab L M | Foerfarande att utplacera excitationspulser foer en lineaerprediktiv kodare (lpc) som arbetar enligt multipulsprincipen |
US5754976A (en) * | 1990-02-23 | 1998-05-19 | Universite De Sherbrooke | Algebraic codebook with signal-selected pulse amplitude/position combinations for fast coding of speech |
JP2746039B2 (ja) * | 1993-01-22 | 1998-04-28 | 日本電気株式会社 | 音声符号化方式 |
JP2970407B2 (ja) * | 1994-06-21 | 1999-11-02 | 日本電気株式会社 | 音声の励振信号符号化装置 |
SE508788C2 (sv) * | 1995-04-12 | 1998-11-02 | Ericsson Telefon Ab L M | Förfarande att bestämma positionerna inom en talram för excitationspulser |
-
1995
- 1995-04-12 SE SE9501368A patent/SE508788C2/sv not_active IP Right Cessation
-
1996
- 1996-04-10 KR KR1019970707268A patent/KR19980703868A/ko active IP Right Grant
- 1996-04-10 AU AU53521/96A patent/AU706038B2/en not_active Expired
- 1996-04-10 EP EP96910280A patent/EP0820627B1/de not_active Expired - Lifetime
- 1996-04-10 EP EP96910279A patent/EP0821824B1/de not_active Expired - Lifetime
- 1996-04-10 CN CNB961944021A patent/CN1199152C/zh not_active Expired - Lifetime
- 1996-04-10 US US08/930,952 patent/US5937376A/en not_active Expired - Lifetime
- 1996-04-10 DE DE69617414T patent/DE69617414T2/de not_active Expired - Lifetime
- 1996-04-10 WO PCT/SE1996/000466 patent/WO1996032713A1/en active IP Right Grant
- 1996-04-10 US US08/930,951 patent/US6064956A/en not_active Expired - Lifetime
- 1996-04-10 CN CN96194370A patent/CN1186560A/zh active Pending
- 1996-04-10 WO PCT/SE1996/000465 patent/WO1996032712A1/en active IP Right Grant
- 1996-04-10 DE DE69614101T patent/DE69614101T2/de not_active Expired - Lifetime
- 1996-04-10 AU AU53520/96A patent/AU703575B2/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
SE9501368D0 (sv) | 1995-04-12 |
US6064956A (en) | 2000-05-16 |
EP0821824A1 (de) | 1998-02-04 |
WO1996032712A1 (en) | 1996-10-17 |
AU706038B2 (en) | 1999-06-10 |
AU5352196A (en) | 1996-10-30 |
EP0821824B1 (de) | 2001-11-28 |
CN1186561A (zh) | 1998-07-01 |
US5937376A (en) | 1999-08-10 |
AU703575B2 (en) | 1999-03-25 |
WO1996032713A1 (en) | 1996-10-17 |
DE69614101D1 (de) | 2001-08-30 |
DE69617414T2 (de) | 2002-08-01 |
EP0820627A1 (de) | 1998-01-28 |
EP0820627B1 (de) | 2001-07-25 |
SE9501368L (sv) | 1996-11-29 |
SE508788C2 (sv) | 1998-11-02 |
KR19980703868A (ko) | 1998-12-05 |
CN1199152C (zh) | 2005-04-27 |
AU5352096A (en) | 1996-10-30 |
DE69617414D1 (de) | 2002-01-10 |
CN1186560A (zh) | 1998-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69613360T2 (de) | Linear-prädiktiver analyse-durch-synthese sprachkodierer | |
DE3854453T2 (de) | CELP Vocoder und Anwendungsverfahren. | |
DE69029120T2 (de) | Stimmenkodierer | |
DE3874427T2 (de) | Linearer praediktionsvocoder mit code-anregung. | |
DE3244476C2 (de) | ||
DE69329569T2 (de) | Digitale Kodierung von Sprachsignalen | |
DE19609170B4 (de) | Verfahren zur Durchführung einer "Tiefe-Zuerst"-Suche in einem Codebuch zur Codierung eines Geräusch- bzw. Klangsignales, Vorrichtung zur Durchführung dieses Verfahrens sowie zellulares Kommunikationssystem mit einer derartigen Vorrichtung | |
DE69604729T2 (de) | Verfahren zur sprachkodierung mittels linearer prädiktion und anregung durch algebraische kodes | |
DE69012419T2 (de) | Verfahren zum Einrichten von Anregungsimpulsen in einem linearen Pradiktionssprachcodierer. | |
DE69227401T2 (de) | Verfahren zum Kodieren und Dekodieren von Sprachsignalen | |
DE60201766T2 (de) | Verbesserung der Periodizität der CELP-Anregung für die Sprachkodierung und -dekodierung | |
DE69125775T2 (de) | Sprachkodierungs- und Dekodierungssystem | |
DE69314389T2 (de) | Zweimoden langzeitprädiktion in sprechkodierung | |
DE69929069T2 (de) | Verfahren und vorrchtung zur celp kodierung und dekodierung | |
DE19604273A1 (de) | Algebraisches Kodebuch mit signal-ausgewählten Impulsamplituden zur schnellen Kodierung von Sprache | |
DE68922134T2 (de) | Überträgungssystem für codierte Sprache mit Codebüchern zur Synthetisierung von Komponenten mit niedriger Amplitude. | |
DE69033510T3 (de) | Numerischer sprachcodierer mit verbesserter langzeitvorhersage durch subabtastauflösung | |
DE69614101T2 (de) | Kodierverfahren für anregungsimpulsparameterfolgen | |
DE69124210T2 (de) | Einrichtung zur Signalcodierung | |
DE69329568T2 (de) | Verfahren zur Sprachkodierung | |
DE69128407T2 (de) | Verfahren und Einrichtung zur Übertragung mit niedriger Bitrate eines Sprachsignals mittels CELP-Codierung | |
DE69521622T2 (de) | System und verfahren zur sprachverarbeitung mittels multipuls-analyse | |
DE68923771T2 (de) | Sprachübertragungssystem unter Anwendung von Mehrimpulsanregung. | |
DE69324732T2 (de) | Selektive Anwendung von Sprachkodierungstechniken | |
DE69624449T2 (de) | Vorrichtung zur Sprachkodierung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |