DE19647298C2 - Kodiersystem - Google Patents
KodiersystemInfo
- Publication number
- DE19647298C2 DE19647298C2 DE19647298A DE19647298A DE19647298C2 DE 19647298 C2 DE19647298 C2 DE 19647298C2 DE 19647298 A DE19647298 A DE 19647298A DE 19647298 A DE19647298 A DE 19647298A DE 19647298 C2 DE19647298 C2 DE 19647298C2
- Authority
- DE
- Germany
- Prior art keywords
- excitation
- speech
- group
- samples
- pulse
- 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
- 230000005284 excitation Effects 0.000 claims description 227
- 238000003786 synthesis reaction Methods 0.000 claims description 39
- 230000015572 biosynthetic process Effects 0.000 claims description 37
- 230000000737 periodic effect Effects 0.000 claims description 32
- 238000000034 method Methods 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 26
- 239000002131 composite material Substances 0.000 claims description 21
- 238000004458 analytical method Methods 0.000 claims description 15
- 230000006837 decompression Effects 0.000 claims description 11
- 230000006835 compression Effects 0.000 claims description 10
- 238000007906 compression Methods 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 8
- 238000007781 pre-processing Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 6
- 230000003595 spectral effect Effects 0.000 claims description 4
- 239000011295 pitch Substances 0.000 description 98
- 230000003044 adaptive effect Effects 0.000 description 65
- 239000013598 vector Substances 0.000 description 63
- 238000007493 shaping process Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 10
- 230000008447 perception Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000001755 vocal effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 210000004704 glottis Anatomy 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 206010034374 Perception disturbances Diseases 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 108090000623 proteins and genes Proteins 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- 101100457838 Caenorhabditis elegans mod-1 gene Proteins 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 101150110972 ME1 gene Proteins 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 235000009508 confectionery Nutrition 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 210000001260 vocal cord Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
-
- 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
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
Die vorliegende Erfindung betrifft ein Verfahren zum Kodieren und
Dekodieren von Sprache (oder anderen akustischen Signalen) gemäß dem
Oberbegriff des Anspruchs 1 sowie Vorrichtungen zur Durchführung des
Verfahrens. Kodierte Sprachabtastwerte können dabei zwischengspeichert oder
sofort übertragen und danach wieder dekodiert werden.
Ein digitales Sprachkodiersystem ist Teil eines Sprachkommunikationssystems,
welches typischerweise einen Analog-Digital-Umsetzer,
einen digitalen Sprachkodierer, einen Datenspeicher oder einen Übertra
gungsmechanismus, einen digitalen Sprachdekoder und einen Digital-Ana
log-Umsetzer umfaßt. Der Analog-Digital-Umsetzer tastet eine analoge
Eingangssprachwellenform ab und setzt die analogen Abtastwerte in einen
entsprechenden Datenstrom digitaler Eingangssprachabtastwerte um. Der
Kodierer wendet eine Kodierung auf den digitalen Eingangsdatenstrom an,
um ihn in einen kleineren Datenstrom zu komprimieren, die der digitalen
Eingangssprachabtastwerte approximiert. Der komprimierte digitale
Sprachdatenstrom wird in dem Speichermechanismus gespeichert oder unmit
telbar über eine Übertragungsstrecke zu einer entfernten Stelle übertra
gen.
Der Dekoder, der sich am Ort des Speichermechanismus oder an
der entfernten Stelle befindet, dekomprimiert den komprimierten digitalen
Datenstrom, um einen Datenstrom digitaler Ausgangssprachabtastwerte zu
erzeugen. Der Digital-Analog-Umsetzer setzt dann den dekomprimierten
digitalen Ausgangsdatenstrom in eine entsprechende analoge Ausgangs
sprachwellenform um, die die analoge Eingangssprachwellenform approxi
miert. Der Kodierer und der Dekodierer bilden ein Sprachkodiersystem,
das üblicherweise als ein Kodierer/Dekoder oder Kodek bezeichnet wird.
Sprache wird als ein Ergebnis akustischer Erregung des mensch
lichen Stimmtrakts erzeugt. In dem bekannten Modell der linearen prädik
tiven Kodierung ("LPC") wird die Stimmtraktfunktion durch ein zeitvaria
bles rekursives lineares Filter angenähert, das üblicherweise als For
mantensynthesefilter bezeichnet wird, gewonnen aus der direkten Analyse
von Sprachwellenformabtastwerten unter Anwendung der LPC-Technik. Die
Stimmritzenerregung des Stimmtraktes erfolgt, wenn Luft über die Stimm
bänder streicht. Die Stimmritzenerregungssignale sind zwar nicht so
einfach wie die Stimmtraktfunktion repräsentierbar, können jedoch gene
rell durch eine gewichtete Summe von zwei Arten von Erregungssignalen
repräsentiert werden: Ein quasi-periodisches Erregungssignal und ein
rauschähnliches Erregungssignal. Das quasi-periodische Erregungssignal
wird typischerweise durch eine Verkettung vieler kurzer Wellenformseg
mente angenähert, wobei innerhalb jedes Segments die Wellenform periodisch
mit einer konstanten Periode ist, die als mittlere Tonhöhenperi
ode bezeichnet wird. Das rauschähnliches Signal wird durch eine Serie
von nicht-periodischen Impulse oder durch weißes Rauschen angenähert.
Die Tonhöhenperiode und die Charakteristiken des Formantensyn
thesefilters ändern sich mit der Zeit kontinuierlich. Um die Datenrate
herabzusetzen, die erforderlich ist, um die komprimierte Sprachinforma
ion zu übertragen, werden die Tonhöhendaten und die Formantenfiltercha
rakteristiken periodisch aufgefrischt. Dies erfolgt typischerweise in
Intervallen von 10 bis 30 Millisekunden.
Der Telecommunication Standardizsation Sector der Internatio
nal Telecommunication Union ("ITU") ist im Begriff, ein digitales Dop
pelratensprachkodiersystem für Multimedia-Kommunikationen zu standardi
sieren. "Dual Rate Speech Coder for Multimedia Communications Transmit
ting at 5.3 & 6.3 kbits/s", Entwurf G.723, Telecommunication Standardi
zation Sector von ITU, 7. Juli 1995, 37 Seiten (nachstehend als "Spezi
fikation G.723 vom Juli 1995" bezeichnet) präsentiert eine Beschreibung
dieses standardisierten ITU-Sprachkodiersystems (nachstehend das "Ko
diersystem nach G.723"). Bei Anwendung linearer prädiktiver Kodierung in
Kombination mit einer Analyse-durch-Synthese-Technik erzeugt der digita
le Sprachkodierer in dem Kodiersystem nach G.723 einen komprimierten di
gitalen Sprachdatenstrom mit einer Datenrate von 5,3 oder 6,3 Kilobit/
Sekunde ("Kbps"), ausgehend von einem nicht-komprimierten digitalen Ein
gangssprachdatenstrom mit einer Datenrate von 128 Kbps. Die komprimierte
5,3-Kbps oder 6,3-Kbps-Datenrate wird von dem Anwender selektiv einge
stellt.
Nach Dekompression des komprimierten Datenstromes ist das di
gitale Sprachsignal, das mittels des Kodiersystems nach G.723 erzeugt
ist, von ausgezeichneter Kommunikationsqualität. Ein hoher Rechenaufwand
ist jedoch erforderlich, um das Kodiersystem nach G.723 zu realisieren.
Insbesondere benötigt das Kodiersystem nach G.723 typischerweise etwa
zwanzig Millionen Befehle pro Sekunde der Verarbeitungsleistung, gelie
fert von einem zugeordneten digitalen Signalprozessor. Ein großer Anteil
der Kodiersystemprozeßfähigkeit nach G.723 wird verwendet, um Energie
fehlerminimierung während der Erzeugung von Codebuch-Erregungsinformation
zu realisieren.
Aus der DE 43 15 315 A1 ist ein Verfahren bekannt, bei dem jeweils zwei
im Sinne eines Fehlerkriteriums beste Anregungsvektoren eines adaptiven
Codebuches mit sämtlichen Anregungsvektoren eines festen Codebuches
verknüpft werden. Die Ähnlichkeit eines Ausgangswertes zum ursprünglichen
Sprachabtastwert wird hier anhand eines vorgegebenen Fehlerkriteriums
bestimmt. Auch bei den aus US 5 307 441 und GB 2 173 679 A bekannten
Verfahren werden Impulspositionen und -amplituden iterativ so ausgewählt, daß
der Fehler zwischen den Eingangsabtastwerten und regenerierten
Ausgangswerten minimiert wird.
Bei Software, die auf einem Allgemeinzweckrechner, wie einem
Arbeitsplatzrechner, läuft, ist es schwierig, die Datenverarbeitungsfähigkeit zu
erreichen, die für das Kodiersystem nach G.723 erforderlich ist. Ein digitales
Sprachkodiersystem, das eine Kommunikationsqualität erreicht, die mit jener des
Kodiersystems nach G.723 vergleichbar ist, jedoch eine erheblich verringerte
Rechenleistung benötigt, ist wünschenswert.
Aufgabe der vorliegenden Erfindung ist es, ein Verfahren gemäß dem
Oberbegriff des Anspruchs 1 zu schaffen, welches eine verringerte
Rechenleistung benötigt.
Diese Aufgabe wird durch die kennzeichnenden Merkmale des
Patentanspruchs 1 gelöst; die Patentansprüche 5 bzw. 7 definieren Vorrichtungen
zum Ausführen des Verfahrens.
Weitere bevorzugte Ausgestaltungen der Erfindung sind den
Unteransprüchen zu entnehmen.
Bevor ein Ausführungsbeispiel des Gegenstandes der Erfindung im Detail
erläutert wird, soll zunächst eine kurze Zusammenfassung der Erfindung
wiedergegeben werden.
Bei dem Sprachkodiersystem wird eine schnelle Erregungskodierung
verwendet, um die Anzahl von Rechenschritten herabzusetzen und damit die
Rechenleistung, die benötigt wird, um digitale Abtastwerte eines
Eingangssprachsignals zum Erzeugen eines komprimierten digitalen
Sprachdatenstromes zu erzeugen, der nachfolgend dekomprimiert wird, um
digitale Ausgangssprachabtastwerte zu synthetisieren. Im einzelnen benötigt das
Sprachkodiersystem der Erfindung erheblich weniger Rechenleistung als das
Sprachkodiersystem nach G.723, um identische Sprachkompres
sions-/Dekompressionsaufgaben zu erfüllen. Von Bedeutung ist, daß die
Kommunikationsqualität, die mit dem hier vorgestellten Kodiersystem erreicht wird,
mit jenem vergleichbar ist, das mit dem Kodiersystem gemäß G.723 erzielbar ist.
Infolgedessen ist das vorliegende Sprachkodiersystem besonders für
Anwendungen beispielsweise als Arbeitsplatzrechner geeignet.
Das Kodiersystem gemäß der Erfindung enthält einen digitalen
Sprachkodierer und einen digitalen Sprachdekoder. Beim Komprimieren der
digitalen Eingangssprachabtastwerte erzeugt der Kodierer den abgehenden
digitalen Sprachdatenstrom entsprechend dem Format, das in der Spezifikation
G.723 vom Juli 1995 vorgeschrieben ist. Das Kodiersystem kann
deshalb mit dem Kodiersystem nach G.723 zusammenarbeiten. Kurz gesagt,
ist das Kodiersystem gemäß der Erfindung eine attraktive Alternative zu
dem Kodiersystem gemäß G.723.
Das Kodieren mit schneller Erregung gemäß der Erfindung wird
durch eine Erregungssucheinheit in dem Kodierer geschaffen. Die Suchein
heit, die gelegentlich als eine feste Codebuch-Sucheinheit bezeichnet
wird, bestimmt die Erregungsinformation, die eine nicht-periodische
Gruppe von Erregungsimpulsen definiert. Die optimale Position jedes Im
pulses in der nicht-periodischen Impulsgruppe wird aus einem entspre
chenden Satz von Impulspositionen gewählt, die in dem Kodierer gespei
chert sind. Jeder Impuls ist mit positivem oder negativem Vorzeichen
wählbar.
Die Sucheinheit bestimmt die optimalen Positionen der Impulse
durch Maximieren der Korrelation zwischen (a) einer Zielgruppe von kon
sekutiven gefilterten Versionen der digitalen Eingangssprachabtastwerte,
die dem Kodierer für Kompression zugeführt werden und (b) einer entspre
chenden Gruppe von konsekutiven synthetisierten digitalen Sprachabtast
werten. Die synthetisierte Abtastwertgruppe hängt von den Impulspositio
nen ab, die in dem entsprechenden Satz von Impulspositionen, abgespei
chert in dem Kodierer, verfügbar sind, sowie von den Vorzeichen der Im
pulse an jenen Positionen. Die Ausführung einer Korrelationsmaximierung
speziell in der unten beschriebenen Weise verlangt viel weniger Berech
nungen als die Energiefehlerminimiertechnik, die für das Erzielen ähnli
cher Resultate in dem Kodiersystem nach G.723 angewandt wird.
Die Korrelationsmaximierung gemäß der vorliegenden Erfindung
arbeitet mit einer Maximierkorrelation C wie folgt:
wobei n eine Abtastwertzahl sowohl in der Zielabtastwertgruppe als auch
in der entsprechenden synthetisierten Abtastwertgruppe ist, tB(n) die
Zielabtastwertgruppe ist, q(n) die entsprechende synthetisierte Abtastwertgruppe
ist, und nG die Gesamtzahl von Abtastwerten in jeder Gruppe
von tB(n) und q(n) ist.
Die Maximierungskorrelation C, wie in Gleichung (A) wiederge
geben, wird vorzugsweise ausgeführt, indem man die Sucheinheit mit einem
inversen Filter, einer Impulspositiontabelle und einem Selektor ausstat
tet. Das inverse Filter filtert die Zielabtastwertgruppe invers, um eine
entsprechende invers gefilterte Gruppe von konsekutiven digitalen
Sprachabtastwerten zu erzeugen. Die Impulspositionstabelle speichert die
Sätze von Impulspositionen. Der Selektor wählt die Position jedes
Impulses entsprechend der Impulsposition aus, die den Absolutwert der
invers gefilterten Abtastwertgruppe maximiert.
Im einzelnen ist die Maximierkorrelation C gemäß Gleichung (A)
äquivalent der Maximimierkorrelation C gemäß nachstehender Beziehung B:
wobei j eine laufende ganze Zahl, M die Gesamtzahl von Impulsen in der
nicht-periodischen Erregungabtastwertgruppe, mj die Position des j-sten
Impulses in dem entsprechenden Satz von Impulspositionen und |f(mj)| der
Absolutwert eines Abtastwertes in der invers gefilterten Abtastwertgrup
pe sind.
Die Maximierkorrelation C entsprechend Gleichung (B) umfaßt
das wiederholte Ausführen von drei Operationen, bis alle Impulspositio
nen bestimmt sind. Zuerst wird eine Suche für den Wert der Abtastwert
zahl n ausgeführt, welche einen maximalen Absolutwert von f(mj) ergibt.
Zweitens wird jede Impulsposition mj auf den so lokalisierten Wert der
Abtastwertzahl n gesetzt. Schließlich wird die Impulsposition mj dagegen
gesperrt, erneut ausgewählt zu werden. Die vorstehenden Schritte erfor
dern relativ wenig Rechenaufwand. Auf diese Weise ergibt die Erfindung
eine erhebliche Verbesserung gegenüber dem Stand der Technik.
Fig. 1 ist ein Blockdiagramm eines Sprachkompressions-/Dekom
pressionssystems mit einem Sprachkodierer gemäß der Erfindung.
Fig. 2 ist ein Blockdiagramm eines digitalen Sprachdekoders,
verwendet in dem Kodierer des Sprachkompressions-/Dekompressionssystems
der Fig. 1.
Fig. 3 ist ein Blockdiagramm eines digitalen Sprachkodierers,
konfiguriert gemäß der Erfindung für die Verwendung in dem Kodierer, der
in dem Sprachkompressions-/Dekompressionssystem der Fig. 1 enthalten
ist.
Fig. 4, 5 und 6 sind jeweils Blockdiagramme einer Sprachanaly
se- und Vorverarbeitungseinheit, eines Referenzunterrahmengenerators und
einer Erregungskodiereinheit, die in dem Kodierer nach Fig. 3 verwendet
werden.
Fig. 7, 8 bzw. 9 sind Blockdiagramme einer adaptiven Codebuch
sucheinheit, einer festen Codebuchsucheinheit bzw. eines Erregungsgene
rators, verwendet in der Erregungskodiereinheit der Fig. 6.
In den Zeichnungen und in der Beschreibung der bevorzugten
Ausführungsformen werden gleiche Bezugszeichen für gleiche oder äquiva
lente Gegenstände verwendet.
Der vorliegende Sprachkodierer, gebildet mit einem digitalen
Sprachkodierer und einem digitalen Sprachdekoder, komprimiert ein
Sprachsignal unter Verwendung eines linearen prädiktiven Kodiermodells
zum Etablieren von numerischen Werten für Parameter, die ein Formanten
synthesefilter charakterisieren, das sich den Filtercharakteristiken des
menschlichen Vokaltraktes annähert. Eine Codebuchsuchmethode, basierend
auf Analyse durch Syntheseerregung, wird verwendet, um Stimmritzenerre
gungssignale für das Formantensynthesefilter zu erzeugen. Auf der Ko
dierseite bestimmt der Kodierer kodierte Repräsentationen der Stimmrit
zenerregungssignale und der Formantensynthesefilterparameter. Diese ko
dierten Repräsentationen werden gespeichert oder sofort zu dem Dekoder
übertragen. Auf der Dekodierseite verwendet der Dekoder die kodierten
Repräsentationen der Stimmritzenerregungssignale und der Formantensyn
thesefilterparameter, um dekodierte Sprachwellenformabtastwerte zu er
zeugen.
Fig. 1 zeigt ein Sprachkompressions-/Dekompressionssystem, das
für die Übertragung von Sprache repräsentierenden Daten (oder anderen
Audiosignalen) der digitalen Sprachkodiertechniken gemäß der Erfindung
geeignet ist. Das Kompressions-/Dekompressionssystem der Fig. 1 besteht
aus einem Analog-Digital-Umsetzer 10, einem digitalen Sprachkodierer 12,
einem Block 14, der entweder eine digitale Speichereinheit oder einen
digitalen Kommunikationskanal repräsentiert, einem digitalen Sprachdeko
der 16 und einem Digital-Analog-Umsetzer 16. Die Kommunikation von
Sprach- oder anderer Audioinformation über das Kompressions-/Dekompres
sionssystem der Fig. 1 beginnt mit einem Audio-Elektro-Wandler (nicht
dargestellt), wie einem Mikrophon, das Eingangssprachschall in analoge
Eingangsspannungswellenform x(t) umsetzt, wobei "t" die Zeit repräsen
tiert.
Der Analog-Digital-Umsetzer 10 setzt das analoge Eingangs
sprachspannungssignal x(t) in digitale Sprachspannungsabtastwerte x(n)
um, wobei "n" die Nummer des Abtastwertes repräsentiert. Der Analog-Di
gital-Umsetzer 10 erzeugt digitale Sprachabtastwerte x(n) durch gleich
förmige Abtastung von analogem Sprachsignal x(t) mit einer Rate von 8000
Abtastwerten pro Sekunde und nachfolgendem Quantisieren jedes Abtastwer
tes in einen ganzzahligen Pegel, der von -215 bis 215 - 1 reicht. Jeder
Qantisierpegel wird durch eine 16-bit-Einheit definiert. Die Serien von
16-bit-Zahlen, die als unkomprimierte Eingangssprachwellenform-
Abtastwerte bezeichnet werden, bilden demgemäß die digitalen Sprachab
tastwerte x(n). Da 8000 Eingangsabtastwerte in jeder Sekunde mit 16 bit
in jedem Abtastwert erzeugt werden, beträgt die Datentransferrate für
nicht-komprimierte Eingangssprachwellenform-Abtastwerte x(n) 128 Kbps.
Der Kodierer 12 komprimiert digital die Eingangssprachwellen
form-Abtastwerte x(n) gemäß den Lehren der vorliegenden Erfindung, um
einen komprimierten Digitaldatenstrom xc zu erzeugen, der analoge Ein
gangssprachwellenform x(t) mit einer viel niedrigeren Datentransferrate
als unkomprimierte Sprachwellenform-Abtastwerte x(n) repräsentiert. Der
komprimierte Sprachdatenstrom xc enthält zwei primäre Typen von Informa
tion: (a) quantisierte Linienspektralpaardaten ("LSP"), welche das For
mantensynthesefilter charakterisieren, und (b) Daten, die verwendet werden,
um das Formantensynthesefilter zu erregen. Der komprimierte Sprach
datenstrom xc wird in einer Weise erzeugt, die der Spezifikation G.723
vom Juli 1995 entspricht. Die Datentransferrate für den komprimierten
Datenstrom xc wird selektiv durch den Benutzer auf 5,3 Kbps oder 6,3 Kbps
gesetzt.
Der Sprachdekoder 12 arbeitet auf einer Rahmenzeitlagebasis.
Jeweils 240 aufeinanderfolgende unkomprimierte Eingangswellenform-Ab
tastwerte x(n) entsprechend 30 Millisekunden Sprache (oder anderem
Schall) bilden einen Sprachrahmen. Wie weiter unten diskutiert, wird je
der 240-Abtastwert-Sprachrahmen in vier 60-Abtastwert-Unterrahmen un
terteilt. Die LSP-Information, die das Formantensynthesefilter charakte
risiert, wird alle 240-Abtastwert-Rahmen aufgefrischt, während die In
formation, die für die Definition von Signalen verwendet wird, die das
Formantensynthesefilter erregt, alle 60-Abtastwert-Unterrahmen aufge
frischt wird.
Der komprimierte Sprachdatenstrom xc wird entweder für nach
folgende Dekompression gespeichert oder wird auf einem digitialen Kommu
nikationskanal zu einer anderen Stelle für nachfolgende Dekompression
übertragen. Der Block 14 in Fig. 1 repräsentiert eine Speichereinheit,
die den komprimierten Datenstrom xc wie auch den digitalen Kanal für die
Übertragung des Datenstroms xc repräsentiert. Die Speichereinheit/der
Digitalkanal 14 liefern einen komprimierten Sprachdigitaldatenstrom yc,
der, wenn es keine Speicher- oder Übertragungsfehler gibt, identisch mit
dem komprimierten Datenstrom xc ist. Der komprimierte Sprachdatenstrom
yc entspricht demgemäß ebenfalls der Spezifikation G.723 vom Juli 1995.
Die Datentransferrate für den komprimierten Datenstrom yc ist dieselbe
(5,3 oder 6,3 Kbps) wie für den komprimierten Datenstrom xc.
Der Dekoder 16 dekomprimiert den komprimierten Sprachdaten
strom yc gemäß einer entsprechenden Dekodierprozedur, um einen dekompri
mierten Datenstrom y(n) zu erzeugen, der aus digitalen Ausgangssprach
wellenform-Abtastwerten besteht. Diese Abtastwerte x(n) werden in dem
selben Format wie die digitalen Eingangssprachabtastwerte x(n) zur Ver
fügung gestellt. Das heißt, der Ausgangssprachdatenstrom y(n) besteht
aus 16-bit-Abtastwerten, die mit 8000 Abtastwerten pro Sekunde bereitgestellt
werden, was in einer ausgehenden Datentransferrate von 128 Kbps
resultiert. Weil etwas Information unvermeidlich in dem Kompressions-/-
Dekompressionsprozeß verlorengeht, unterscheiden sich die Ausgangs
sprachwellenform-Abtastwerte y(n) etwas von den Eingangssprachwellen
form-Abtastwerten x(n).
Der Digital-Analog-Umsetzer 18 setzt die digitalen Ausgangsab
tastwerte x(n) der Sprachwellenform in ein analoges Ausgangssignal y(t)
der Sprachspannung um. Schließlich setzt ein elektroakustischer Wandler
(nicht dargestellt), wie ein Lautsprecher, das analoge Ausgangssprachsi
gnal y(t) in den Ausgangsschall um.
Der Sprachkodierer gemäß der Erfindung besteht aus dem Kodie
rer 12 und dem Dekoder 16. Einige Komponenten des Kodierers 12 und des
Dekoders 16 arbeiten vorzugsweise in der Weise, wie sie in der Spezifi
kation G.723 vom Juli 1995 spezifiziert ist. Soweit hier nicht im ein
zelnen darauf eingegangen wird, wird der Leser zwecks näherer Informa
tion auf diese Spezifikation verwiesen.
Um zu verstehen, wie die Techniken der Erfindung auf den Ko
dierer 12 angewandt werden, ist es hilfreich, zunächst den Dekoder 16 in
größeren Einzelheiten zu betrachten. In einer typischen Ausführungsform
ist der Dekoder 16 in derselben Weise konfiguriert und arbeitet in der
selben Weise wie der digitale Sprachdekoder in der G.723-Kodiereinrich
tung. Alternativ kann der Dekoder 16 eine vereinfachte Version des
G.723-Digital-Sprachdekoders sein. In beiden Fällen ist die vorliegende
Kodiereinheit kompatibel mit der Kodiereinheit des Kodierers nach G.723.
Fig. 2 zeigt die grundsätzliche interne Anordnung des
digitalen Sprachdekoders 16, wenn er in derselben Weise konfiguriert
wird und arbeitet wie der digitale Sprachdekoder der Spezifikation
G.723. Der Dekoder 16 in Fig. 2 besteht aus einem Bitverteiler 20, einem
Formantenfiltergenerator 22, einem Erregungsgenerator 24, einem
Formantensynthesefilter 26, einem Nachprozessor 28 und einem
Ausgangspuffer 30.
Der komprimierte digitale Sprachdatenstrom yc wird dem Bitver
teiler 20 zugeführt. Der komprimierte Sprachdatenstrom yc enthält LSP
und Erregungsinformation, welche komprimierte Sprachrahmen repräsentieren.
Immer dann, wenn der Bitverteiler 20 einen Block von Bits entspre
chend einem komprimierten 240-Abtastwert-Sprachrahmen empfängt, verteilt
der Verteiler 20 den Block zum Erzeugen eines LSP-Code PD, eines Satzes
ACD von adaptiven Codebuch-Erregungsparametern und eines Satzes FCD von
festliegenden Codebuch-Erregungsparametern. Der LSP-Code PD, der Satz
von adaptiven Erregungsparametern ACD und der Satz von festliegenden Er
regungsparametern FCD werden verwendet, um unkomprimierte Sprachrahmen
mit 240 Abtastwerten pro Rahmen zu synthetisieren.
Der LSP-Code PD ist 24 bit breit. Für jeden Sprachrahmen mit
240 Abtastwerten setzt der Formantenfiltergenerator 22 den LSP-Code PD
in vier quantisierte Vorhersagekoeffizientenvektoren DI um, worin i ei
ne ganze, von 0 bis 3 laufende Zahl ist. Ein quantisierter Vorhersageko
effizientenvektor DI wird für jeden 60-Abtastwert-Unterrahmen i des
laufenden Rahmens erzeugt. Der erste bis vierte 60-Abtastwert-Unterrah
men ist durch Werte von 0, 1, 2 bzw. 3 für i indiziert.
Jeder Vorhersagekoeffizientenvektor DI besteht aus zehn quan
tisierten Vorhersagekoeffizienten {aij}, wobei j eine von 1 bis 10
laufende ganze Zahl ist. Für jeden Unterrahmen i etablieren die numeri
schen Werte der zehn Vorhersagekoeffizienten {aij} die Filtercharakte
ristiken des Formantensynthesefilters 26 in der unten beschriebenen Wei
se.
Der Formantenfiltergenerator 22 ist mit einem LSP-Dekoder 32
und einem LSP-Interpolator 34 aufgebaut. Der LSP-Dekoder 32 dekodiert
den LSP-Code PD, um einen quantisierten LSP-Vektor D zu erzeugen, be
stehend aus zehn quantisierten LSP-Termen {j}, wobei j von 1 bis 10
läuft. Für jeden Unterrahmen i des laufenden Rahmens interpoliert der
LSP-Interpolator 34 linear zwischen dem quantisierten LSP-Vektor D des
laufenden Sprachrahmens und dem quantisierten LSP-Vektor D des vorher
gehenden Sprachrahmens zum Erzeugen eines interpolierten LSP-Vektors
Di, bestehend aus zehn quantisierten LSP-Termen {ij}, wobei j wie
derum von 1 bis 10 läuft. Demgemäß werden vier interpolierte LSP-Vekto
ren Di in jedem Rahme erzeugt, wobei i von 0 bis 3 läuft. Zusätzlich
setzt der LSP-Interpolator 34 die vier interpolierten LSP-Vektoren Di
in jeweils vier quantisierte Vorhersagekoeffizientenvektoren Di um,
welche weich zeitvariable Charakteristiken für das Formantensynthesefil
ter 26 etablieren.
Die Erregungsparametersätze ACD und FCD werden dem Erregungs
generator 24 zugeführt, um vier zusammengesetzte 60-Abtastwert-Spracher
regungsunterrahmen eF(n) in jedem 240-Abtastwert-Sprachrahmen zu erzeu
gen, wobei n von 0 (dem ersten Abtastwert) bis 59 (dem letzten Abtast
wert) in jedem zusammengesetzten Erregungsunterrahmen eF(n) variiert.
Der adaptive Erregungsparametersatz ACD besteht aus Tonhöheninformation,
welche die periodischen Charakteristiken der vier Spracherregungsunter
rahmen eF(n) in dem Rahmen definiert. Der feste Erregungsparametersatz
FCD wird mit Impulslokalisieramplitude- und Vorzeicheninformation gebil
det, welche Impulse definiert, die die nicht-periodischen Komponenten
der vier Erregungsunterrahmen eF(n) charakterisieren.
Der Erregungsgenerator 24 besteht aus einem adaptiven Code
buch-Dekoder 36, einem festen Codebuch-Dekoder 38, einem Addierer 40 und
einem Tonhöhennachfilter 42. Unter Verwendung der adaptiven Erregungspa
rameter ACD als eine Adresse für ein adaptives Erregungscodebuch deko
diert der adaptive Codebuch-Dekoder 36 den Parametersatz ACD zum Erzeu
gen von vier 60 Abtastwerte enthaltenden adaptiven Erregungsunterrahmen
uD(n) in jedem Sprachrahmen, wobei n von 0 bis 59 in jedem adaptiven Er
regungsunterrahmen uD(n) variiert. Das adaptive Erregungscodebuch ist
adaptiv in dem Sinne, daß die Eingaben in dem Codebuch von Unterrahmen
zu Unterrahmen variieren, abhängig von den Werten der Abtastwerte, die
vorhergehende adaptive Erregungsunterrahmen uD(n) bilden. Unter Verwen
dung des festliegenden Erregungsparameters FCD als Adresse zu einem fe
sten Erregungscodebuch dekodiert der feste Codebuch-Dekoder 38 Parame
tersatz FCD zum Erzeugen von vier 60 Abtastwerte enthaltenden festen Er
regungsunterrahmen vD(n) in jedem Rahmen, wobei n sich in ähnlicher Wei
se von 0 bis 59 in jedem festen Erregungsunterrahmen vD(n) ändert.
Die adaptiven Erregungsunterrahmen uD(n) liefern die
schließlichen periodischen Charakteristiken für die zusammengesetzten
Erregungsunterrahmen eF(n), während die festen Erregungsunterrahmen
vD(n) die nicht-periodischen Impulscharakteristiken liefern. Durch Sum
mieren jedes adaptiven Erregungsunterrahmens uD(n) und des entsprechenden
festen Erregungsunterrahmens vD(n) auf einer Abtastwert-um-Abtast
wert-Basis erzeugt der Addierer 40 einen zusammengesetzten 60 Abtastwer
te umfassenden dekodierten Erregungssprachunterrahmen eD(n) gemäß
eD(n) = uD(n) + vD(n), n = 0, 1, . . . 59 (1)
Das Tonhöhennachfilter 42 erzeugt 60 Abtastwerte umfassende
Erregungsunterrahmen eF(n), wobei n von 0 bis 59 in jedem Unterrahmen
eF(n) läuft, durch Filtern dekodierter Erregungsunterrahmen eD(n) zwecks
Verbesserung der Kommunikationsqualität der Ausgangssprachabtastwerte
y(n). Die Höhe der Rechenleistung, die für die vorliegende Kodiereinheit
benötigt wird, kann verringert werden, indem man das Tonhöhennachfilter
42 wegläßt. Dabei wird die Kompatibilität der Kodiereinheit mit der Ko
diereinheit nach G.723 nicht beeinträchtigt.
Das Formantensynthesefilter 26 ist ein zeitvariables rekursi
ves lineares Filter, dem der Vorhersagekoeffizientenvektor Di und die
zusammengesetzten Erregungsunterrahmen eF(n) (oder eD(n) für jeden Un
terrahmen i zugeführt werden. Die zehn quantisierten Vorhersagekoeffi
zienten {ij} jedes Vorhersagekoeffizientenvektors Di, wobei j wie
derum von 1 bis 10 in jedem Unterrahmen i läuft, werden bei der Charak
terisierung des Formantensynthesefilters 26 so verwendet, daß der
menschliche Stimmtrakt moduliert wird. Erregungsunterrahmen eF(n) (oder
eD(n)) modulieren die Stimmritzenerregung, die erzeugt wird, wenn Luft
durch die menschlischen Stimmbänder strömt.
Unter Verwendung der Vorhersagevektoren Di wird das Forman
tensynthesefilter 26 für jeden Unterrahmen i durch die folgende Z-Trans
formation i(z) für ein rekursives Filter zehnter Ordnung definiert:
Das Formantensynthesefilter 26 filtert einlaufende zusammenge
setzte Spracherregungsunterrahmen eF(n) (oder eD(n)) entsprechend dem
Synthesefilter, das durch Gleichung (2) repräsentiert wird zum Erzeugen
von dekomprimierten 240 Abtastwerte umfassenden synthetisierten digitalen
Sprachrahmen ys(n), wobei n sich von 0 bis 239 für jeden syntheti
sierten Sprachrahmen ys(n) ändert. Vier aufeinanderfolgende Erregungsun
terrahmen eF(n) werden verwendet, um jeden synthetisierten Sprachrahmen
ys(n) zu erzeugen, wobei die zehn Vorhersagekoeffizienten {ij} alle
60 Abtastwert-Unterrahmen i aufgefrischt werden.
In Gleichungsform wird der synthetische Sprachrahmen ys(n)
durch die Beziehung gegeben:
worin eG(n) eine Verkettung von vier aufeinanderfolgender Unterrahmen
eF(n) (oder eD(n)) in jedem Sprachrahmen von 240 Abtastwerten ist. Auf
diese Weise approximieren synthetisierte Sprachwellenform-Abtastwerte
ys(n) die ursprünglichen unkomprimierten Eingangssprachwellenform-Ab
tastwerte x(n).
Infolge der Kompression, die auf die Eingangssprachabtastwerte
x(n) angewandt wird, unterscheiden sich die synthetisierten Ausgangs
sprachabtastwerte ys(n) typischerweise von den Eingangsabtastwerten
x(n). Die Differenz führt zu einer gewissen Perzeptionsstörung, wenn die
synthetisierten Abtastwerte ys(n) in Ausgangssprachschall für Personen,
die zuhören, umgesetzt werden. Die Perzeptionsstörung wird durch den
Nachprozessor 28 verringert, der weitere synthetisierte 240 Abtastwerte
umfassende digitale Sprachrahmen yP(n) in Reaktion auf synthetisierte
Sprachrahmen ys(n) und die vier Vorhersagekoeffizientenvektoren Di für
jeden Rahmen erzeugt, wobei n von 0 bis 239 für jeden nachverarbeiteten
Sprachrahmen yP(n) läuft. Der Nachprozessor 28 besteht aus einem Forman
tennachfilter 46 und einer Verstärkungsskaliereinheit 48.
Das Formantennachfilter 46 filtert dekomprimierte Sprachrahmen
yS(n) zum Erzeugen von 240 Abtastwerte umfassenden gefilterten digitalen
synthetisierten Sprachrahmen yF(n), wobei n von 0 bis 239 für jeden ge
filterten Rahmen yF(n) läuft. Das Nachfilter 46 ist ein konventionelles
lineares Filter, das auto-regressiv ist und einen laufenden Mittelwert
aufweist, dessen Filtercharakteristiken von den zehn Koeffizienten
{ij} jedes Vorhersagekoffizientenvektors Di abhängen, wobei j wie
derum von 1 bis 10 für jeden Unterrahmen i läuft.
In Reaktion auf die gefilterten Sprachrahmen yS(n) skaliert
die Verstärkungsskaliereinheit 48 den Verstärkungsfaktor der gefilterten
Sprachrahmen yF(n), um dekomprimierte Sprachrahmen yP(n) zu erzeugen.
Die Verstärkungsskaliereinheit 48 egalisiert die mittlere Energie jedes
dekomprimierten Sprachrahmens yP(n) auf jene der gefilterten Sprachrah
men ys(n).
Der Nachprozessor 28 kann weggelassen werden, um die Höhe der
in der vorliegenden Kodiereinheit benötigten Rechenleistung zu verrin
gern. Wie bei dem Weglassen des Tonhöhennachfilters 42 beeinträchtigt
das Weglassen des Nachprozessors 28 nicht die Kompatibilität der Kodier
einheit mit der nach Spezifikation G.723.
Der Ausgangspuffer 30 speichert jeden dekomprimierten Aus
gangsprachrahmen yP(n) (oder ys(n)) für nachfolgende Übertragung zum Di
gital-Analog-Umsetzer 18 als dekomprimierten Ausgangssprachdatenstrom
y(n). Dies beendet die Dekodieroperation.
Die Dekoderkomponenten 32, 34, 36 und 38, welche entsprechende
Komponenten in dem digitalen Sprachkodierer 12 duplizieren, arbeiten
vorzugsweise in der Weise, wie sie in den Paragraphen 3.2-3.5 der Spe
zifikation G.723 vom Juli 1995 beschrieben ist. Weitere Details der be
vorzugten Implementierung der Dekoderkomponenten 42, 26, 46 und 48 sind
in den Paragraphen 3.6-3.9 der Spezifikation G.723 wiedergegeben, wor
auf der Leser verwiesen wird.
Unter Berücksichtigung des Vorstehenden kann die Wirkungsweise
des digitalen Sprachkodierers 12 ohne weiteres verstanden werden. Der
Kodierer 12 verwendet lineare Vorhersagekodierung (wiederum "LPC") und
ein Analyse-durch-Synthese-Verfahren zum Erzeugen des komprimierten di
gitalen Sprachdatenstroms xc, der bei Fehlen von Speicher- oder Übertra
gungsfehlern identisch mit dem komprimierten digitalen Sprachdatenstrom
yc ist, der dem Dekoder 16 zugeführt wird. Die LPC- und Analyse-durch-
Synthese-Techniken, die in dem Kodierer 12 eingesetzt werden, umfassen
grundsätzlich:
- a) Analysieren digitaler Eingangssprachabtastwerte x(n) zum Erzeugen eines Satzes von quantisierten Vorhersagekoeffizienten, welche die numerischen Charakteristiken eines Formantensynthesefilters entspre chend dem Formantensynthesefilter 26 etablieren,
- b) Etablieren von Werten für das Bestimmen der Erregungskompo nenten des komprimierten Datenstroms xc entsprechend der Information, die in Erregungscodebüchern abgespeichert ist, welche Erregungscodebü cher duplizieren, die im Dekoder 16 enthalten sind,
- c) Vergleichen von Parametern, welche Eingangssprachabtastwer te x(n) mit entsprechenden angenäherten Parametern repräsentieren, er zeugt durch Anwenden der Erregungskomponenten von komprimiertem Daten strom xc auf das Formantensynthesefilter im Kodierer 12, und
- d) Wählen von Erregungsparameterwerten, die die Differenz in einem perzeptionell gewichteten Sinn zwischen den Parametern, die die aktuellen Eingangssprachabtastwerte x(n) repräsentieren, und den Parame tern, welche synthetisierte Sprachabtastwerte repräsentieren, minimie ren. Da der Kodierer 12 ein Formantensynthesefilter erzeugt, das das Formantenfilter 26 im Dekoder 16 nachahmt, werden bestimmte Komponenten des Dekoders 16 im wesentlichen im Kodierer 12 dupliziert.
Eine Darstellung des digitalen Sprachkodierers 12 ist in Fig.
3 gezeigt. Der Kodierer 12 ist mit einem Eingangsrahmenpuffer 50, einer
Sprachanalyse- und Vorverarbeitungseinheit 52, einem Referenzunterrah
mengenerator 54, einer Erregungskodiereinheit 56 und einem Bitsammler 58
ausgebildet. Das Formantensynthesefilter im Kodierer 12 ist mit anderen
Filtern im Kodierer 12 kombiniert und erscheint, anders als das
Synthesefilter 26 im Dekoder 16, nicht explizit in irgendeinem der
Blockdiagramme.
Der Eingangspuffer 50 speichert digitale Sprachabtastwerte
x(n), die von dem Analog-Digital-Umsetzer 10 kommen. Wenn ein Rahmen von
240 Abtastwerten des Eingangssprachdatenstroms x(n) akkumuliert worden
ist, liefert der Puffer 50 Eingangsabtastwerte x(n) in Form eines digi
talen Eingangssprachrahmens xB(n) mit 240 Abtastwerten.
Die Sprachanalyse- und -vorverarbeitungseinheit 52 analysiert
jeden einlaufenden Sprachrahmen xB(n) und führt bestimmte Vorarbeitungs
schritte an dem Sprachrahmen xB(n) aus. Im einzelnen führt die Analyse-
Vorverarbeitungseinheit 52 die folgenden Operationen bei Empfang des
Eingangssprachrahmens xB(n) aus:
- a) Entfernen jeglicher Gleichkomponenten von dem Sprachrahmen xB(n) zum Erzeugen eines gleichwertefreien Eingangssprachrahmens xF(n) mit 240 Abtastwerten,
- b) Ausführen einer LPC-Analyse des gleichwertefreien Eingangs sprachrahmens xF(n) zum Extrahieren eines unquantisierten Vorhersageko effizientenvektors AE, der bei der Ableitung verschiedener Filterparame ter, die im Kodierer 12 verwendet werden, eingesetzt wird,
- c) Umsetzen des unquantisierten Vorhersagevektors AE in einen unquantisierten LSP-Vektor PU,
- d) Quantisieren des LSP-Vektors PU und nachfolgendes Umsetzen des quantisierten LSP-Vektors in einen LSP-Code PE, eine Zahl mit 24 bit,
- e) Berechnen von Parameterwerten für ein perzeptionswichten des Formantenfilter, basierend auf dem Vorhersagevektor AE, der im Schritt b. extrahiert wurde,
- f) Filtern der gleichwertefreien Eingangssprachrahmen xF(n) unter Verwendung des perzeptionswichtenden Formantenfilters zum Erzeugen eines perzeptionsgewichteten Sprachrahmens xP(n) mit 240 Abtastwerten,
- g) Extrahieren der Tonhöhenperioden T1 und T2 offener Schlei fe, wobei Ti die abgeschätzte mittlere Tonhöhenperiode für den ersten halben Rahmen (die ersten 120 Abtastwerte) jedes Sprachrahmens ist und T2 die abgeschätzte mittlere Tonhöhenperiode für den zweiten Halbrahmen (die letzten 120 Abtastwerte) jedes Sprachrahmens ist,
- h) Berechnen von Parameterwerten für ein Harmonischenrausch formungsfilter unter Verwendung der Tonhöhenperioden T1 und T2, die im Schritt g. extrahiert wurden,
- i) Anlegen der gleichwertefreien Sprachrahmen xF(n) an eine Kaskade des perzeptionswichtenden Filters und des Harmonischenrausch formungsfilters zum Erzeugen eines perzeptionsgewichteten Sprachrahmens xW(n) mit 240 Abtastwerten,
- j) Aufbauen eines kombinierten Filters, bestehend aus einer Kaskade des Formantensynthesefilters, des perzeptionswichtenden Filters und des Harmonischenrauschformungsfilters, und
- k) Anlegen eines Impulssignals an die Filterkombination aus Formantensynthesefilter, Perzeptionswichtungsfilter und Harmonischen rauschformungsfilter und für jeden 60 Abtastwerte umfassenden Unterrah men des gleichwertefreien Sprachrahmens xF(n) Halten der ersten 60 Ab tastwerte zur Bildung eines Impulsreaktionsunterrahmens h(n).
Beim Ausführen der vorgenannten Operationen erzeugt die Ein
heit 52 die folgenden Ausgangssignale, wie in Fig. 3 angegeben: (a) Ton
höhenperiodensignale T1 und T2 der offenen Schleife, (b) LSP-Code PE,
(c) perzeptionsgewichtete Sprachrahmen xW(n), (d) einen Satz SF von Pa
rameterwerten, verwendet zum Charakterisieren der oben beschriebenen
Filterkombination, und (e) Impulsreaktionsunterrahmen h(n). Die Tonhö
henperioden T1 und T2, der LSP-Code PE und der gewichtete Sprachrahmen
xW(n) werden einmal alle 240-Abtastwert-Sprachrahmen berechnet. Die Kom
binationsfilterparameter SF und die Impulsreaktion h(n) werden einmal
alle 60-Abtastwert-Unterrahmen berechnet. Bei Fehlen von Speicher- oder
Übertragungsfehlern in der/dem Speichereinheit/Digitalkanal 14 ist der
LSP-Code PD, der dem Dekoder 16 zugeführt wird, identisch mit dem LSP-
Code PE. der vom Kodierer 12 erzeugt wird.
Der Referenzunterrahmengenerator 54 erzeugt 60-Abtastwerte Re
ferenz- (oder Soll-) -unterrahmen tA(n) in Reaktion auf gewichtete
Sprachrahmen xW(n), die kombinierten Filterparameterswerte SF und zusam
mengesetzte 60-Abtastwert-Erregerunterrahmen eE(n). Beim Erzeugen von
Referenzunterrahmen tA(n) führt der Unterrahmengenerator 54 die folgen
den Operationen aus:
- a) Unterteilen jedes gewichteten Sprachrahmens xW(n) in vier 60-Abtastwert-Unterrahmen,
- b) Für jeden Unterrahmen Berechnen eines 60-Abtastwert-Null- Eingangs-Reaktion- ("ZIR") -unterrahmens r(n) des kombinierten oben de finierten Filters durch Einspeisen von Nullabtastwerten (d. h. Eingangs signalen des Wertes null) in das kombinierte Filter und Halten der er sten 60 gefilterten Ausgangsabtastwerte,
- c) Für jeden Unterrahmen Erzeugen von Referenzunterrahmen tA(n) durch Substrahieren entsprechender ZIR-Unterrahmen r(n) von dem entsprechenden Viertel des gewichteten Sprachrahmens xW(n) auf einer Ba sis Abtastwert-um-Abtastwert, und
- d) Für jeden Unterrahmen Anwenden des zusammengesetzten Erre gungsunterrahmens eE(n) an das kombinierte Filter und Speichern der Re sultate, um so das kombinierte Filter aufzufrischen.
Die Tonhöhenperioden T1 und T2, die Impulsreaktionsunterrahmen
h(n) und die Referenzunterrahmen tA(n) werden der Erregungskodiereinheit
56 zugeführt. In Reaktion darauf erzeugt die Kodiereinheit 56 einen Satz
ACE von adaptiven Codebucherregungsparametern für jeden Sprachrahmen von
240 Abtastwerten und einen Satz FCE von festen Codebucherregungsparame
tern für jeden Rahmen. Bei Fehlen von Speicher- oder Übertragungsfehlern
im Block 14 sind die Codebucherregungsparameter ACE bzw. FCD, die Erre
gungsgenerator 24 im Dekoder 16 zugeführt werden, jeweils gleich wie die
Codebucherregungsparameter ACE bzw. FCE, bereitgestellt von der Erre
gungskodiereinheit 56 im Kodierer 12. Die Kodiereinheit 56 erzeugt auch
zusammengesetzte Erregungsunterrahmen eE(n).
Der Bitsammler 58 kombiniert den LSP-Code PE und die Erre
gungsparametersätze ACE und FCE zum Erzeugen des komprimierten digitalen
Sprachdatenstroms xc. Als ein Ergebnis der vorstehenden Operationen wird
der Datenstrom xc mit entweder 5,3 Kbps oder 6,3 Kbps erzeugt, je nach
der gewünschten Anwendung.
Der komprimierte Datenstrom xc wird nun dem Speichereinheit-/-
Kommunikationskanal 14 für die Übertragung zum Dekoder 16 als kompri
mierter Bitstrom yc zugeführt. Da LSP-Code PE und Erregungsparametersät
ze ACE und FCE zur Bildung des Datenstroms xc kombiniert werden, ist der
Datenstrom yc identisch mit dem Datenstrom xc unter der Voraussetzung,
daß keine Speicher- oder Übertragungsfehler im Block 14 auftreten.
Fig. 4 ist eine detailliertere Darstellung der Sprachanalyse-
und -vorverarbeitungseinheit 52. Die Einheit 52 wird mit einem Hoch
paßfilter 60, einem LPC-Analyseabschnitt 62, einem LSP-Quantisierer 64,
einem LSP-Dekoder 66, einem quantisierten LSP-Interpolator 68, einem un
quantisierten LSP-Interpolator 70, einem Perzeptionswichtungsfilter 72,
einem Tonhöhenabschätzer 74, einem Harmonischen-Rauschformungsfilter 76
und einem Impulsreaktionsrechner 78 aufgebaut. Die Komponenten 60, 66,
68, 72, 74, 76 und 78 arbeiten vorzugsweise so, wie in den Paragraphen
2.3 und 2.5-2.12 der Spezifikation G.723 vom Juli 1995 beschrieben.
Das Hochpaßfilter 60 entfernt die Gleichkomponenten aus dem
Eingangssprachrahmen xB(n) zum Erzeugen von gleichkomponentenfreien ge
filterten Sprachrahmen xF(n), wobei n von 0 bis 239 für jeden Eingangs
sprachrahmen xB(n) und jeden gefilterten Sprachrahmen xF(n) variiert.
Das Filter 60 hat die folgende z-Transformation H(z):
Der LPC-Analyseabschnitt 62 führt eine lineare vorhersagende
Kodieranalyse jedes gefilterten Sprachrahmens xF(n) aus, um den Vektor
AE von zehn unquantisierten Vorhersagekoeffizienten {aj} für den
letzten Unterrahmen des gefilterten Sprachrahmens xF(n) zu erzeugen, wo
bei j von 1 bis 10 läuft.
Eine LPC-Analyse zehnter Ordnung wird angewandt, bei der ein
Fenster von 180 Abtastwerten auf die letzten xF(n) Unterrahmen zentriert
ist. Ein Hamming-Fenster wird auf die 180 Abtastwerte angewandt. Die
zehn unquantisierten Koeffizienten {aj} des Vorhersagekoeffizienten
vektors AE werden aus dem gefensterten Signal berechnet.
Der LPC-Analyseabschnitt 62 setzt dann die unquantisierte Vor
hersagekoeffizienten {aj} in einen unquantisierte LSP-Vektor PU um,
bestehend aus zehn Termen {Pj}, wobei j von 1 bis 10 läuft. Der un
quantisierte LSP-Vektor PU wird dem LSP-Quantisierer 64 und dem unquan
tisierten LSP-Interpolator 70 zugeführt.
Bei Empfang des LSP-Vektors PU quantisiert der LSP-Quantisie
rer 64 die zehn unquantisierten Terme {Pj} und setzt die quantisier
ten LSP-Daten in LSP-Code PE um. Die LSP-Quantisierung erfolgt einmal
alle 240-Abtastwert-Sprachrahmen. Der LSP-Code PE wird dem LSP-Dekoder
66 und dem Bitsammler 58 zugeführt.
Der LSP-Dekoder 66 und der quantisierte LSP-Interpolator 68
arbeiten ebenso wie der LSP-Dekoder 32 bzw. LSP-Interpolator 34 im Dekoder
16. Im einzelnen setzen die Komponenten 66 und 68 den LSP-Code PE in
vier quantisierte Vorhersagekoeffizientenvektor {Ei} um, einen für
jeden Unterrahmen i des laufenden Rahmens. Die ganze Zahl i läuft wieder
von 0 bis 3. Jeder Vorhersagekoeffizientenvektor Ei besteht aus zehn
quantisierten Vorhersagekoeffizienten {ij}, wobei j von 1 bis 10
läuft.
Bei der Erzeugung jedes quantisierten Vorhersagevektors Ei
dekodiert der LSP-Dekoder 66 zunächst den LSP-Code PE, um einen quanti
sierten LSP-Vektor E bestehend aus zehn quantisierten
LSP-Termen {j} für j von 1 bis 10 laufend zu erzeugen. Für jeden Un
ternahmen i des laufenden Sprachrahmens interpoliert der quantisierte
LSP-Interpolator 68 linear zwischen dem quantisierten LSP-Vektor E des
laufenden Rahmens und dem quantisierten LSP-Vektor E des vorhergehenden
Rahmens, um einen interpolierten LSP-Vektor PEi mit zehn quantisierten
LSP-Termen {ij} zu erzeugen, wobei j wiederum von 1 bis 10 läuft.
Vier interpolierte LSP-Vektoren Ei werden dadurch für jeden Rahmen er
zeugt, wobei i von 0 bis 3 läuft. Der Interpolator 68 setzt dann die
vier LSP-Vektoren Ei in jeweils vier quantisierte Vorhersagekoeffizien
tenvektoren Ei um.
Das Formantensynthesefilter im Kodierer 12 wird gemäß Glei
chung (2) (oben) definiert, wobei die quantisierten
Vorhersagekoeffizienten {ij} verwendet werden. Infolge der linearen
Interpolation verändern sich die Charakteristiken des Synthesefilters
des Kodierers weich von Unterrahmen zu Unterrahmen.
Der LSP-Interpolator 70 setzt den unquantisierten LSP-Vektor
PU in vier unquantisierte Vorhersagekoeffizientenvektoren AEi um, wobei
i von 0 bis 3 läuft. Ein unquantisierter Vorhersagekoeffizientenvektor
AEi wird für jeden Unterrahmen i des laufenden Rahmens erzeugt. Jeder
Vorhersagekoeffizientenvektor AEi besteht aus zehn unquantisierten
Vorhersagekoeffizienten {aij}, wobei j von 1 bis 10 läuft.
Beim Erzeugen der vier unquantisierten Vorhersagekoeffizien
tenvektor AEi interpoliert der LSP-Interpolator 70 linear zwischen dem
unquantisierten LSP-Vektor PU des laufenden Rahmens und dem unquanti
sierten LSP-Vektor PU des vorhergehenden Rahmens, um vier interpolierte
LSP-Vektoren PEi, einen für jeden Unterrahmen 1, zu erzeugen. Die ganze
Zahl i läuft von 0 bis 3. Jeder interpolierte LSP-Vektor PEi besteht aus
zehn unquantisierten LSP-Termen {Pij}, wobei j von 1 bis 10 läuft.
Der Interpolator 10 setzt dann die vier interpolierten LSP-Vektoren PEi
jeweils in vier unquantisierte Vorhersagekoeffizientenvektoren AEi um.
Unter Verwendung der unquantisierten Vorhersagekoeffizien
ten {aij} filtert das Perzeptionswichtungsfilter 72 jeden gleichwer
tefreien Sprachrahmen xF(n), um einen perzeptionsgewichteten Sprachrah
men xP(n) von 240 Abtastwerten zu erzeugen, wobei n von 0 bis 239 läuft.
Das Perzeptionswichtungsfilter 72 hat die folgende z-Transformation
Wi(z) für jeden Unterrahmen i in dem perzeptionsgewichteten Sprachrahmen
xP(n):
worin γ1 eine Konstante gleich 0,9 ist und γ2 eine Konstante gleich 0,5.
Unquantisierte Vorhersagekoeffizienten {aij} werden bei jedem Unter
rahmen i aufgefrischt, indem für den vollständigen Rahmen perzeptionsge
wichtete Sprachrahmen xP(n) erzeugt werden.
Der Tonhöhenabschätzer 74 unterteilt jeden perzeptionsgewich
teten Sprachrahmen xP(n) in einen ersten Halbrahmen (die ersten 120 Ab
tastwerte) und einen zweiten Halbrahmen (die letzten 120 Abtastwerte).
Unter Verwendung der 120 Abtastwerte in dem ersten Halbrahmen berechnet
der Tonhöhenabschätzer 74 einen Schätzwert für die Tonhöhenperiode T1
der offenen Schleife. Der Abschätzer 74 schätzt in ähnlicher Weise die
Tonhöhenperiode T2 der offenen Schleife unter Verwendung der 120 Abtast
werte für den zweiten Halbrahmen ab. Die Tonhöhenperioden T1 und T2 wer
den erzeugt durch Minimieren der Energie des Offenschleifenvorhersage
fehlers in jedem perzeptionsgewichteten Sprachrahmen xP(n).
Das Harmonischenrauschformungsfilter 76 wendet Harmonischen
rauschformung auf jeden perzeptionsgewichteten Sprachrahmen xP(n) an, um
einen gewichteten Sprachrahmen xP(n) mit 240 Abtastwerten für n gleich
0, 1, . . . 239 zu erzeugen. Das Harmonischenrauschformungsfilter 76 hat
die folgende z-Transformation Pi(z) für jeden Unterrahmen i im gewichte
ten Sprachrahmen xW(n):
worin Li die Tonhöhennacheilung der offenen Schleife ist und βi ein
Rauschformungskoeffizient ist. Die Tonhöhennacheilung Li der offenen
Schleife und der Rauschformungskoeffizient βi werden bei jedem Unterrah
men i bei der Erzeugung des gewichteten Sprachrahmens xW(n) aufge
frischt. Die Parameter Li und βi werden aus dem entsprechenden Viertel
des perzeptionsgewichteten Sprachrahmens xP(n) berechnet.
Das Perzeptionswichtungsfilter 72 und Harmonischenrauschfor
mungsfilter 76 arbeiten zusammen, um die Kommunikationsqualität der
Sprache, repräsentiert durch den komprimierten Datenstrom xc, zu verbes
sern. Im einzelnen machen die Filter 72 und 76 mit Vorteil von der nicht
gleichförmigen Empfindlichkeit des menschlichen Ohres gegenüber Rauschen
in unterschiedlichen Frequenzbereichen Gebrauch. Die Filter 72 und 76
reduzieren die Energie von quantisiertem Rauschen in Frequenzbereichen,
wo die Sprachenergie niedrig ist, während mehr Rauschen in Frequenzbe
reichen zugelassen wird, wo die Sprachenergie hoch ist. Für das
menschliche Ohr ist die Nettowirkung, daß die Sprache, repräsentiert
durch den komprimierten Datenstrom xc, als ähnlicher der Sprache empfun
den wird, die durch die Eingangssprachwellenformabtastwerte x(n) und
demgemäß durch das analoge Eingangssprachsignal x(t) repräsentiert wird.
Das Perzeptionswichtungsfilter 72, das Harmonischenrauschfor
mungsfilter 76 und das Formantensynthesefilter des Kodierers bilden ge
meinsam das oben erwähnte kombinierte Filter. Für jeden Unterrahmen i
berechnet der Impulsreaktionsrechner 78 die Reaktion h(n) des kombinier
ten Filters auf ein Impulseingangssignal ii(n), gegeben als:
Das kombinierte Filter hat die folgende z-Transformation Si(z)
für jeden Unterrahmen i des Impulsreaktionsunterrahmens h(n):
Si(z) = i(z)Wi(z)Pi(z), 0 ≦ i ≦ 3 (9)
wobei die Transformationskomponenten i(z), i(z) und Pi(z) durch die
Gleichungen (2), (6) bzw. (7) gegeben sind. Die numerischen Parameter
des kombinierten Filters werden bei jedem Unterrahmen i in dem Impulsre
aktionsrechner 78 aufgefrischt.
In Fig. 4 werden Referenzsymbole Wi(z) und Pi(z) aus Bequem
lichkeitsgründen für die Angabe der Signale verwendet, welche die Filte
rungscharakteristiken der Filter 72 und 76 transportieren. Diese Signale
und die vier quantisierten Vorhersagevektoren Ei bilden gemeinsam den
kombinierten Filterparametersatz SF für jeden Sprachrahmen.
Der Referenzunterrahmengenerator 54 ist in Fig. 5 wiedergege
ben. Der Unterrahmengenerator 54 besteht aus einem Nulleingangsreak
tionsgenerator 82, einem Subtrahierer 84 und einem Speicherauffrischab
schnitt 86. Die Komponenten 82, 84 und 86 werden vorzugsweise wie in den
Paragraphen 2.13 und 2.19 der Spezifikation G.723 vom Juli 1995 imple
mentiert.
Die Reaktion eines Filters kann in einen Nulleingangsreak
tionsabschnitt ("ZIR") und einen Nullzustandsreaktionsabschnitt ("ZSR")
unterteilt werden. Der ZIR-Abschnitt ist die Reaktion, die auftritt,
wenn Eingangsabtastwerte von null Wert dem Filter zugeführt werden. Der
ZIR-Abschnitt ändert sich mit dem Inhalt des Speichers des Filters (hier
frühere Sprachinformation). Der ZSR-Abschnitt ist die Reaktion, die auf
tritt, wenn das Filter erregt wird, jedoch keinen Speicher hat. Die Sum
me von ZIR- und ZSR-Abschnitten bildet die vollständige Reaktion des
Filters.
Für jeden Unterrahmen i erzeugt der ZIR-Generator 82 einen
Nulleingangsreaktionsunterrahmen r(n) mit 60 Abtastwerten des kombinier
ten Formantensynthese/Perzeptionswichtungs/Harmonischenrauschfor
mungsfilters repräsentiert durch die z-Transformation Si(z) der
Gleichung (9), wobei n zwischen 0 und 59 variiert. Der Subtrahierer 84
substrahiert jeden ZIR-Unterrahmen r(n) von dem entsprechenden Viertel
des gewichteten Sprachrahmens xW(n) auf Basis Abtastwert-zu-Abtastwert,
um einen Referenzunterrahmen tA(n) mit 60 Abtastwerten gemäß der
Beziehung zu erzeugen:
tA(n) = xW(60i + n) - r(n) (10)
Da die volle Reaktion des kombinierten Filters für jeden
Unterrahmen i die Summe von ZIR- und ZSR-Abschnitten für jeden
Unterrahmen i ist, ist der Referenzunterrahmen tA(n) ein
Soll-ZSR-Unternahmen des kombinierten Filters.
Nachdem der Soll-ZSR-Unterrahmen tA(n) für jeden Unterrahmen
berechnet worden ist und bevor zu dem nächsten Unterrahmen übergegangen
wird, frischt der Speicherauffrischabschnitt 86 die Speicher der Kompo
nentenfilter in dem kombinierten Si(z)-Filter auf. Der Auffrischab
schnitt 86 erfüllt die Aufgabe durch Eingeben zusammengesetzter Erre
gungsunterrahmen eE(n) mit 60 Abtastwerten in das kombinierte Filter und
liefert dann die so berechnete Speicherinformation sM(n) der Filterreak
tion an den ZIR-Generator 82 für den nächsten Unterrahmen.
Die Erregungskodiereinheit 56 rechnet jeden zusammengesetzten
Erregungsunterrahmen eE(n) mit 60 Abtastwerten als die Summe eines adap
tiven Erregungsunterrahmens uE(n) mit 60 Abtastwerten und eines festen
Erregungsunterrahmens vE(n) mit 60 Abtastwerten in einer weiter unten in
Verbindung mit Fig. 9 zu beschreibenden Weise. Adaptive Erregungsunter
rahmen uE(n) stehen in Beziehung mit der Periodizität der Eingangs
sprachwellenform-Abtastwerte x(n), während die festen Erregungsunterrah
men vE(n) in Beziehung mit den nicht-periodischen Bestandteilen der Ein
gangssprachabtastwerte x(n) stehen. Die Kodiereinheit 56, wie in Fig. 6
gezeigt, besteht aus einer adaptiven Codebuchsucheinheit 90, einer fe
sten Codebuchsucheinheit 92, einem Erregungsparametersammler 94 und ei
nem Erregungsgenerator 96.
Impulsreaktionsunterrahmen h(n), Soll-ZSR-Unterrahmen tA(n)
und Erregungsunterrahmen eE(n) werden der adaptiven Codebuchsucheinheit
90 zugeführt. Bei Empfang dieser Information verwendet die adaptive Codebuchsucheinheit
90 die Tonhöhenperioden T1 und T2 der offenen Schleife
bei Durchsicht der Codebücher in der Sucheinheit 90, um für jeden Unter
rahmen i eine optimale Tonhöhenperiode li bei geschlossener Schleife und
einen optimalen ganzzahligen Index ki eines Tonhöhenkoeffizientenvek
tors, wobei i von 0 bis 3 läuft, zu finden. Für jeden Unterrahmen i wer
den die optimalen Tonhöhenperioden li der geschlossenen Schleife und die
entsprechenden optimalen Tonhöhenkoeffizienten ki später verwendet, um
entsprechende adaptive Erregungsunterrahmen uE(n) zu erzeugen. Die Su
cheinheit 90 berechnet auch weitere Referenzunterrahmen tB(n) mit 60 Ab
tastwerten, wobei sich n von 0 bis 59 für jeden Referenzunterrahmen
tB(n) ändert.
Die feste Codebuchsucheinheit 92 verarbeitet Referenzunterrah
men tB(n), um einen Satz FE von Parameterwerten zu erzeugen, die feste
Erregungsunterrahmen vE(n) für jeden Sprachrahmen repräsentieren. Im
pulsreaktionsunterrahmen h(n) werden ebenfalls bei der Erzeugung des fe
sten Erregungsparametersatzes FE ausgewertet.
Der Erregungsparametersammler 94 speichert zeitweilig ki, li
und FE. Zu einem passenden Zeitpunkt gibt der Parametersammler 94 die
gespeicherten Parameter in Form von Parametersätzen ACE und FCE aus. Für
jeden Sprachrahmen ist der Parametersatz ACE eine Kombination von vier
optimalen Tonhöhenperioden li und vier optimalen Tonhöhenkoeffizienten
indizes ki, wobei i von 0 bis 3 läuft. Der Parametersatz FCE ist der
gespeicherte Wert des Parametersatzes FCE. Die Parametersätze ACE und
FCE werden dem Bitsammler 58 zugeführt.
Der Erregungsgenerator 96 setzt den adaptiven Erregungsparame
tersatz ACE in adaptive Erregungsunterrahmen uE(n) um (nicht dargestellt
in Fig. 6), wobei n gleich 0, 1, . . . 59 für jeden Unterrahmen uE(n) ist.
Der feste Erregungsparametersatz FCE wird in ähnlicher Weise umgesetzt
durch den Erregungsgenerator 96 in feste Erregungsunterrahmen vE(n)
(ebenfalls nicht in Fig. 6 gezeigt), wobei n in ähnlicher Weise gleich
0, 1, . . . 59 für jeden Unterrahmen vE(n) ist. Der Erregungsgenerator 96
kombiniert jedes Paar von einander entsprechenden Unterrahmen uE(n) und
vE(n), um zusammengesetzte Erregungsunterrahmen eE(n) wie unten be
schrieben zu erzeugen. Zusätzlich zu ihrer Rückkopplung zu der adaptiven
Codebuchsucheinheit 90 werden die Erregungsunterrahmen eE(n) dem Spei
cherauffrischabschnitt 86 im Referenzunterrahmengenerator 54 zugeführt.
Die interne Konfiguration der adaptiven Codebuchsucheinheit 90
ist in Fig. 7 gezeigt. Die Sucheinheit 90 enthält drei Codebücher: ein
adaptives Erregungscodebuch 102, ein ausgewähltes adaptives Erregungsco
debuch 104 und ein Tonhöhenkoeffizientencodebuch 106. Die übrigen Kompo
nenten der Sucheinheit 90 sind ein Tonhöhenkoeffizientenskalierer 108,
ein Nullzustandsreaktionsfilter 110, ein Subtrahierer 112, ein Fehlerge
nerator 114 und ein adaptiver Erregungsselektor 116.
Das adaptive Erregungscodebuch 102 speichert die N unmittelbar
vorhergehenden eE(n) Abtastwerte. Das heißt, wenn man den Zeitindex für
den ersten Abtastwert des laufenden Sprachunterrahmens durch einen Null
wert für n repräsentiert werden läßt, enthält das adaptive Erregungsco
debuch 102 Erregungsabtastwerte e(-N), e(-N + 1), . . . e(-1). Die Zahl N
von Erregungsabtastwerten e(n), gespeichert im adaptiven Erregungscode
buch 102, wird auf einen Wert gesetzt, der die maximale Tonhöhenperiode
übersteigt. Wie durch Sprachforschung festgestellt, ist N typischerweise
145 bis 150 und vorzugsweise 145. Die Erregungsabtastwerte e(-N) - e(-1)
werden aus den drei unmittelbar vorhergehenden Erregungsunterrahmen
eE(n) für n von 0 bis 59 in jedem jener eE(n) Unterrahmen laufend gehal
ten. Das Referenzsymbol e(n) in Fig. 7 wird verwendet, um e(n) Abtast
werte zu bezeichnen, die aus dem Codebuch 102 ausgelesen wurden, wobei n
von 0 bis 63 läuft.
Das selektive adaptive Erregungscodebuch 104 enthält mehrere,
typischerweise 2 bis 4, Kandidaten für adaptive Erregungsvektoren el(n),
erzeugt aus e(n) Abtastwerten, die in dem adaptiven Erregungscodebuch
102 gespeichert sind. Jeder Kandidat für einen adaptiven Erregungsvektor
el enthält 64 Abtastwerte el(0), el(1), . . . . el(63) und ist deshalb ge
ringfügig breiter als der Erregungsunterrahmen eE(n). Eine ganzzahlige
Tonhöhenperiode l wird jedem Kandidaten für einen adaptiven Erregungs
vektor el(n) zugeordnet. Spezifisch ist jeder Kandidat für einen Vektor
el(n) gegeben als:
el(0) = e(-2 - l)
el(1) = e(-1 - l)
el(n) = e([nmodl] - l), 2 ≦ n ≦ 63 (11)
worin "mod" die Modulusoperation ist, bei der n mod l der Rest (falls
vorhanden) ist, der auftritt, wenn n durch l dividiert wird.
Kandidaten für adaptive Erregungsvektoren el(n) werden ent
sprechend ihrer ganzzahligen Tonhöhenperioden l bestimmt. Wenn die vor
liegende Kodiereinheit mit der 6,3-Kbps-Rate betrieben wird, sind
Kandidatenwerten für Tonhöhenperiode l in der Tabelle 1 wiedergegeben
als eine Funktion von Unterrahmenzahl i unter der Voraussetzung, daß die
angegebene Bedingung erfüllt ist.
Wenn die in Tabelle 1 für jeden Unterrahmen i angegebene Be
dingung nicht erfüllt ist, wenn die Kodiereinheit mit der 6,3-Kbps-Rate
betrieben wird, sind die Kandidatenwerten für die ganzzahlige Tonhöhen
periode l in Tabelle 2 als eine Funktion der Unterrahmennummer i abhän
gig von der angegebenen Bedingung aufgelistet:
In Tabelle 2 besteht jede Bedingung aus einer Bedingung A und
- für die Unterrahmen 1 und 3 - einer Bedingung B. Wenn die Bedingung B
vorliegt, müssen beide Bedingungen A und B erfüllt werden, um die Kandi
datenwerte für die Tonhöhenperiode l zu bestimmen.
Ein Vergleich der Tabellen 1 und 2 zeigt, daß die Kandidaten
werte der Tonhöhenperiode l für den Unterrahmen 0 in Tabelle 2 dieselben
sind wie in Tabelle 1. Für den Unterrahmen 0 in den Tabellen 1 und 2 be
einflußt das Erfüllen der entsprechenden Bedingung T1 < 58 oder T2 < 57
nicht die Auswahl der Tonhöhenperiodenkandidaten. In gleicher Weise
sind die Kandidatenwerte der Tonhöhenperiode l für den Unterrahmen 2 in
Tabelle 2 dieselben wie in Tabelle 1. Das Erfüllen der Bedingung T2 < 58
bzw. T2 < 57 für den Unterrahmen 2 in Tabellen 1 und 2 beeinflußt nicht
die Auswahl der Tonhöhenperiodenkandiaten. Wie unten diskutiert, wird
jedoch der optimale Tonhöhenkoeffizientenindex ki für jeden Unterrahmen
i aus einer von zwei unterschiedlichen Tabellen von Tonhöhenkoeffizien
tenindizes ausgewählt, unabhängig davon, ob Tabelle 1 oder Tabelle 2 an
gewandt wird. Die für jeden der Unterrahmen vorgeschriebenen Bedingungen
einschließlich Unterrahmen 0 und 2 beeinflussen demgemäß die Bestimmung
der Tonhöhenkoeffizientenindizes ki für alle vier Unterrahmen.
Die für jeden der Unterrahmen vorgeschriebenen Bedingungen ein
schließlich Unterrahmen 0 und 2 beeinflussen demgemäß die Bestimmung der
Tonhöhenkoeffizientenindizes ki für alle vier Unterrahmen.
Wenn die vorliegende Kodiereinheit mit der 5,3-Kbps-Rate be
trieben wird, werden die Kandidatenwerte für die ganzzahlige Tonhöhenpe
riode l als eine Funktion des Unterrahmens i aus Tabelle 2 abgehängig
nur von den Tabellen B bestimmt (d. h. die Bedingung, welche l0 mit T1
für den Unterrahmen 1 in Beziehung setzt, und die Bedingung, die l2 mit
T2 für den Unterrahmen 3 in Beziehung setzt). Die Bedingungen A in Ta
belle 2 werden nicht bei der Bestimmung der Tonhöhenperiodenkandidaten
benutzt, wenn die Kodiereinheit mit der 5,3-Kbps-Rate betrieben wird.
In Tabellen 1 und 2 sind T1 und T2 die Offenschleifen-Tonhö
henperioden, vorgesehen für das ausgewählte adaptive Erregungscodebuch
104 aus der Sprachanalyse- und Vorverarbeitungseinheit 52 für den ersten
und den zweiten Halbrahmen. Der Ausdruck l0, verwendet für Unterrahmen
1, ist die optimale Geschlossenschleifen-Tonhöhenperiode des Unterrah
mens 0. Der Ausdruck l2, verwendet für den Unterrahmen 3, ist die opti
male Geschlossenschleifen-Tonhöhenperiode des Unterrahmens 2. Die opti
malen Geschlossenschleifen-Tonhöhenperioden l0 und l2 werden während der
Unterrahmen 0 bzw. 2 jedes Rahmens in der weiter unten beschriebenen
Weise berechnet und stehen demgemäß für die Verwendung in den Unterrah
men 1 bzw. 3 zur Verfügung.
Wie in Tabellen 1 und 2 gezeigt, sind die Kandidatenwerte für
die Tonhöhenperioden l für den ersten und den dritten Unterrahmen je
weils generell um die Offenschleifen-Tonhöhenperioden T1 bzw. T2 zen
triert. Die Kandidatenwerte der Tonhöhenperiode l für den zweiten und
vierten Unterrahmen sind jeweils um optimale Geschlossenschleifen-Tonhö
henperioden l0 bzw. l2 der unmittelbar vorhergehenden (ersten bzw. drit
ten) Unterrahmen zentriert. Es ist wichtig, daß die Tonhöhenperiodenkan
didaten in Tabelle 2 einen Untersatz jener in Tabelle 1 für die Unter
rahmen 1 und 3 sind.
Der Dekoder gemäß G.723 verwendet die Tabelle 1 sowohl für die
5,3-Kbps- als auch für die 6,3-Kbps-Datenraten. Der Rechenaufwand, der
für das Erzeugen des komprimierten Sprachdatenstroms xc ist, hängt von
der Anzahl der Tonhöhenperiodenkandidaten l ab, die überprüft werden
müssen. Die Tabelle 2 beschränkt die Anzahl von Tonhöhenperiodenkandida
ten mehr als Tabelle 1. Demgemäß wird weniger Rechenaufwand benötigt,
wenn die Tabelle 2 verwendet wird. Da Tabelle 2 immer für die 5,3 Kbps-
Rate bei der vorliegenden Kodiereinheit verwendet wird und auch unver
meidlich während eines Teils der Sprachverarbeitung bei der 6,3 Kbps-Ra
te in der Kodiereinheit gemäß der Erfindung verwendet wird, erfordern
die Berechnungen, welche die Tonhöhenperiodenkandidaten in der vorlie
genden Kodiereinheit einbeziehen, weniger, typischerweise 20% weniger,
Rechenleistung als in der Kodiereinheit nach G.723.
Das Tonhöhenkoeffizienten-Codebuch 106 enthält zwei Tabellen
(oder Untercodebücher) von vorgewählten Tonhöhenkoeffizientenvektoren
Bk, wobei k ein ganzzahliger Tonhöhenkoeffizientenindex ist. Jeder Ton
höhenkoeffizientenvektor Bk enthält fünf Tonhöhenkoeffizienten bk0, bk1,
. . . bk4.
Eine der Tabellen von Tonhöhenkoeffizientenvektoren Bk enthält
85 Einträge. Die andere Tabelle von Tonhöhenkoeffizientenvektoren Bk
enthält 170 Einträge. Der Tonhöhenkoeffizientenindex k läuft demgemäß
von 0 bis 84 für die Gruppe mit 85 Einträgen und von 0 bis 169 für Grup
pe mit 170 Einträgen. Die Tabelle mit 85 Einträgen wird verwendet, wenn
die Kandidatenwerte der Tonhöhenperiode l aus Tabelle 1 ausgewählt wer
den, d. h. wenn die erfindungsgemäße Kodiereinheit mit der 6,3-Kbps-Rate
betrieben wird, wobei die in Tabelle 1 angegebenen Bedingungen erfüllt
sind. Die 170-Einträge-Tabelle wird verwendet, wenn die Kandidatenwerte
der Tonhöhenperiode l aus Tabelle 2 ausgewählt werden, d. h. wenn (a) die
Kodiereinheit mit der 5,3-Kbps-Rate betrieben wird, und (b) die Kodier
einheit mit der 6,3-Kbps-Rate betrieben wird, wobei die in Tabelle 2 an
gegebenen Bedingungen erfüllt sind.
Die Komponenten 108-116 der adaptiven Codebuchsucheinheit 90
verwenden Codebücher 102-106 in der folgenden Weise. Für jeden Tonhö
henkoeffizientenindex k und für jeden adaptiven Erregungsvektorkandida
ten el(n), wobei n von 0 bis 63 läuft, was einem ganzzahligen Tonhöhen
periodenkandidaten l entspricht, erzeugt der Tonhöhenkoeffizientenska
lierer 108 einen kandidatenskalierten Unterrahmen dlk(n), für den n von
0 bis 59 variiert. Jeder kandidatenskalierte Unterrahmen dlk(n) wird be
rechnet als:
Die Koeffizienten bk0 bis bk4 sind die Koeffizienten des Tonhöhenkoeffi
zientenvektors Bk, bereitgestellt von der Tabelle mit 85 Einträgen oder
170 Einträgen in dem Tonhöhenkoeffizientencodebuch 106, abhängig davon,
ob die Kandidatenwerte der Tonhöhenperiode l aus Tabelle 1 und Tabelle 2
bestimmt werden. Da es entweder 85 oder 170 Werte des Tonhöhenkoeffi
zientenindex k gibt und da es mehrere adaptive Erregungsvektorkandidaten
el für jeden Unterrahmen i gibt, so daß es mehrere entsprechende Tonhö
henperiodenkandidaten l für jeden Unterrahmen i gibt, wird eine relativ
große Zahl (über einhundert) von kandidatenskalierten Unterrahmen
dlk(n) für jeden Unterrahmen i berechnet.
Das ZSR-Filter 110 liefert die Nullzustandsreaktion für das
kombinierte Formantensynthese-/Perzeptionswichtungs-/Harmonischenrausch
formungsfilter, repräsentiert durch die z-Transformation si(z) der
Gleichung (9). Bei Verwendung des Impulsreaktionsunterrahmens h(n),
bereitgestellt von der Sprachanalyse- und Vorverarbeitungseinheit 52,
filtert das ZSR-Filter 110 jeden skalierten Unterrahmen dlk(n) zum
Erzeugen eines entsprechenden gefilterten, 60 Abtastwerte umfassen
den Unterrahmenkandidatens glk(n), wobei n von 0 bis 59 läuft.
Jeder gefilterte Unterrahmen glk(n) ist gegeben als:
Jeder gefilterte Unterrahmen glk(n), als adaptiver Erregungs-
ZSR-Unterrahmenkandidat bezeichnet, ist der ZSR-Unterrahmen des kombi
nierten Filters, erregt durch den adaptiven Erregungsunterrahmen, wel
cher der Tonhöhenperiode l und dem Tonhöhenkoeffizientenindex k zugeord
net ist. Als solcher ist jeder adaptive Erregungs-ZSR-Unterrahmenkandi
dat glk(n) etwa die periodische Komponente des ZSR-Unterrahmens des
kombinierten Filters für die betreffenden l- und k-Werte. Insoweit, als
jeder Unterrahmen i mehrere Tonhöhenperiodenkandidaten l und entweder 85
oder 170 Zahlen für den Tonhöhenkoeffizientenindex k hat, wird eine
relativ große Zahl von adaptiven Erregungs-ZSR-Unterrahmenkandidaten
glk(n) für jeden Unterrahmen 1 berechnet.
Der Subtrahierer 112 subtrahiert jeden adaptiven Erregungs-
ZSR-Unterrahmenkandidaten glk(n) vom Soll-ZSR-Unterrahmen tA(n) auf Ba
sis Abtast-für-Abtastwert zum Erzeugen eines entsprechenden Differenzun
terrahmenkandidaten wlk(n) mit 60 Abtastwerten als:
wlk(n) = tA(n) - glk(n), n = 0, 1, . . . 59 (14)
Wie bei den Unterrahmen dlk(n) und glk(n) wird eine relativ große Zahl
von Differenzunterrahmen wlk(n) für jeden Unterrahmen i berechnet.
Bei Empfang jedes Differenzunterrahmenkandidaten wlk(n) be
rechnet der Fehlergenerator 114 den entsprechenden quadrierten Fehler
(oder die Energie) Elk entsprechend der Beziehung:
Die Berechnung des quadrierten Fehlers Elk wird für jeden adaptiven Er
regungsvektorkandidaten el(n) ausgeführt, der in dem ausgewählten adap
tiven Erregungscodebuch 104 gespeichert ist, und für jeden Tonhöhenkoef
fizientenvektor Bk, der entweder in der Tabelle mit 85 Einträgen des
Tonhöhenkoeffizientencodebuchs 106 oder in der 170-Einträge-Tabelle des
Koeffizientencodebuch 106 gespeichert ist, abhängig von der Datentrans
ferrate, und für die 6,3-Kbps-Rate der Tonhöhenbedingungen, die in den
Tabellen 1 und 2 gegeben sind.
Die berechneten Werten des quadrierten Fehlers Elk werden dem
adaptiven Erregungsselektor 116 zugeführt. Die zugeordneten Werte der
ganzzahligen Tonhöhenperiode l und Tonhöhenkoeffizientenindex k werden
ebenfalls von den Codebüchern 102 und 106 dem Erregungsselektor 116 für
jeden Unterrahmen i zugeführt, wobei i sich von 0 bis 3 ändert. In Reaktion
darauf wählt der Selektor 116 optimale Tonhöhenperioden li der ge
schlossenen Schleife und Tonhöhenkoeffizientenindex ki für jeden Unter
rahmen i derart, daß der quadrierte Fehler (oder die Energie) Elk den
Minimalwert aller quadrierten Fehlerterme Elk hat, berechnet für den be
treffenden Unterrahmen i. Die optimale Tonhöhenperiode li und der opti
male Tonhöhenkoeffizientenindex ki werden als Ausgänge von dem Selektor
116 bereitgestellt.
Aus den Differenzunterrahmenkandidaten wlk(n), die dem Selek
tor 16 zugeführt werden, wird der optimale Differenzunterrahmen wlk(n)
entsprechend der ausgewählten Tonhöhenperiode li und ausgewählten Tonhö
henindexkoeffizienten ki für jeden Unterrahmen von dem Selektor 116 als
weiterer Referenzunterrahmen tB(n) bereitgestellt. Indem noch einmal
kurz auf die adaptiven Erregungs-ZSR-Unterrahmenkandidaten glk(n) einge
gangen wird, ist der Unterrahmen glk(n) entsprechend dem optimalen Dif
ferenzunterrahmen wlk und demgemäß dem Referenzunterrahmen tB(n) der op
timale adaptive Erregungsunterrahmen. Wie oben erwähnt, ist jeder ZSR-
Unterrahmen glk etwa ein periodischer ZSR-Unterrahmen des kombinierten
Filters für zugeordnete Tonhöhenperiode l und Tonhöhenkoeffizientenindex
k. Ein vollständiger Unterrahmen kann als Summe eines periodischen An
teils und eines nicht-periodischen Anteils angenähert werden. Der Refe
renzunterrahmen tB(n), hier als feststehender Erregungs-ZSR-Soll-Unter
rahmen bezeichnet, wird demgemäß zu etwa dem optimalen nicht-periodi
schen ZSR-Unterrrahmen des kombinierten Filters.
Wie im einzelnen unten erörtert, durchmustert der Erregungsge
nerator 96 jeden adaptiven Erregungsunterrahmen uE(n) basierend auf dem
adaptiven Erregungsparametersatz ACE, der die Parameter li und ki ent
hält, wobei i wieder von 0 bis 3 variiert. Durch Erzeugen der Parameter
li und ki liefert die adaptive Codebuchsucheinheit 90 Information in
demselben Format wie die adaptive Codebuchsucheinheit in der Kodierein
heit gemäß G.723, wodurch es der hier in Rede stehenden Kodiereinheit
ermöglicht wird, mit der Kodiereinheit nach G.723 zusammenzuarbeiten. Es
ist von Wichtigkeit, daß die Sucheinheit 90 in der vorliegenden Kodier
einheit die li- und ki-Information unter weniger Rechenleistung bestimmt
als in der adaptiven Suchcodebucheinheit, die bei G.723 verwendet wird,
um solche Information zu erzeugen.
Die feste Codebuchsucheinheit 92 verwendet eine Maximierkorre
lationstechnik für die Erzeugung des festen Codebuchparametersatzes FCE.
Die Korrelationstechnik benötigt weniger Rechenleistung, typischerweise
90% weniger, als die Energiefehlerminimiertechnik, die bei der Kodier
einheit nach G.723 eingesetzt wird, um Information für das Berechnen ei
nes festen Erregungsunterrahmens zu erzeugen, der dem Unterrahmen vE(n)
entspricht. Die in der Sucheinheit 92 der vorliegenden Kodiereinheit
verwendete Korrelationstechnik liefert im wesentlichen optimale Charak
teristiken für feste Erregungsunterrahmen vE(n). Die durch die Suchein
heit 92 gelieferte Information ist auch in demselben Format wie die In
formation, die verwendet wird, um feste Erregungsunterrahmen in der Ko
diereinheit gemäß G.723 zu erzeugen, um so zu ermöglichen, daß die er
findungsgemäße Kodiereinheit mit der Kodiereinheit nach G.723 zusammen
arbeiten kann.
Jeder feste Erregungsunterrahmen vE(n) enthält M Erregungsim
pulse (von null verschiedene Werte), wobei M eine vorbestimmte ganze
Zahl ist. Wenn die erfindungsgemäße Kodiereinheit mit der 6,3 Kbps-Rate
betrieben wird, beträgt die Anzahl M von Impulsen 6 für jeden geradzah
ligen Unterrahmen (0 und 2) und 5 für die ungeradzahligen Unterrahmen 1
und 3. Die Anzahl M von Impulsen beträgt 4 für alle Unterrahmen, wenn
die Kodiereinheit mit der 5,3-Kbps-Rate betrieben wird. Jeder feste Er
regungsunterrahmen vE(n) enthält demgemäß fünf oder sechs Impulse bei
der 6,3-Kbps-Rate bzw. vier Impulse bei der 5,3-Kbps-Rate.
In Gleichungsform ist jeder feste Erregungsunterrahmen vE(n)
gegeben durch:
worin G der quantisierte Verstärkungsfaktor des festen Erregungsunter
rahmens vE(n) ist, mj die ganzzahlige Position des j-sten
Erregungsimpulses in dem festen Erregungsunterrahmen vE(n)
repräsentiert, sj das Vorzeichen (+1 für positives Vorzeichen und -1 für
negatives Vorzeichen) des j-sten Impulses repräsentiert und δ(n - mj) ei
ne Dirac-Deltafunktion ist, gegeben durch:
Jede ganzzahlige Impulsposition mj wird aus einem Satz Kj von vordefi
nierten ganzzahligen Impulspositionen ausgewählt. Diese Kj-Positionen
werden in der Spezifikation G.723 vom Juli 1995 sowohl für die 5,3-Kbps-
als auch für die 6,3-Kbps-Datenraten als j-Bereiche von 1 bis M defi
niert.
Die feste Codebuchsucheinheit 92 verwendet die Maximierkorre
lationstechnik gemäß der Erfindung zum Bestimmen von Impulspositionen mj
und Impulsvorzeichen sj für jeden optimalen festliegenden Erregungsun
terrahmen vE(n), wobei j von 1 bis M reicht. Abweichend von der Kodier
einheit gemäß G.723, wo die Kriterien für das Auswählen fester Erre
gungsparameter auf der Minimierung der Energie des Fehlers zwischen ei
nem festen Soll-Erregungs-ZSR-Unterrahmen und einem normalisierten fe
sten synthetisierten Erregungsunterrahmen basieren, basieren die Krite
rien für das Auswählen der festen Erregungsparameter in der Sucheinheit
92 auf der Maximierung der Korrelation zwischen jeweils dem festen Soll-
Erregungs-ZSR-Unterrahmen tB(n) und einem entsprechenden synthetisier
ten, 60 Abtastwerte umfassenden normalisierten festen Erregungsunterrah
men, hier als q(n) bezeichnet, wobei n von 0 bis 59 läuft.
Die Korrelation C zwischen dem Sollunterrahmen tB(n) und dem
entsprechenden normalisierten synthetisierten ZSR-Unterrahmen q(n) wird
numerisch berechnet als:
Der normalisierte feste Erregungs-ZSR-Unterrahmen q(n) hängt von den Positionen
mj und den Vorzeichen sj der Erregungsimpulse ab, die verfügbar
sind, um feste Erregungsunterrahmen vE(n) für j gleich 0, 1, . . . M zu
bilden. Die feste Codebuchsucheinheit 92 wählt Impulspositionen mj und
Impulsvorzeichen sj derart aus, daß die Korrelation C in Gleichung (18)
einen Maximalwert für jeden Unterrahmen i bewirkt.
In Übereinstimmung mit der Lehre der vorliegenden Erfindung
wird die Form der Gleichung (18) modifiziert, um die Korrelationsberech
nungen zu vereinfachen. Als erstes wird eine normalisierte Version c(n)
des festen Erregungsunterrahmens vE(n) ohne Verstärkungsabstufung wie
folgt definiert:
Der normalisierte synthetisierte feste Erregungsunterrahmen q(n) wird
berechnet durch Ausführen einer linearen Faltung zwischen dem normali
sierten festen Erregungsunterrahmen c(n) und dem entsprechenden Impuls
reaktionsunterrahmen h(n) des kombinierten Filter wie nachstehend wie
dergegeben:
Für jeden 60 Abtastwerte umfassenden Unterrahmen bildet demgemäß der
normalisierte feste Erregungs-ZSR-Unterrahmen q(n) einen ZSR-Unterrah
men, erzeugt durch Zuführen eines Erregungsunterrahmens in das kombi
nierte Filter, wie durch seinen Impulsreaktionsunterrahmen h(n) reprä
sentiert.
Bei Substitution des normalisierten festen Erregungs-ZSR-Un
terrahmens q(n) der Gleichung (20) in Gleichung (18) kann die Korrela
tion C ausgedrückt werden als:
worin f(n) ein invers gefilterter Unterrahmen für n von 0 bis 59 ist.
Der invers gefilterte Unterrahmen wird berechnet durch inverse Filterung
des festen Soll-Erregungs-ZSR-Unterrahmens tB(n) entsprechend der Bezie
hung:
Die Substitution eines normalisierten festen Erregungsunter
rahmens c(n) der Gleichung (19) in Gleichung (21) führt zu dem folgenden
Ausdruck für die Korrelation C:
Eine weitere Vereinfachung der Gleichung 23 bringt das Wählen
des Vorzeichens sj des Impulses an jeder Stelle mj als gleich mit dem
Vorzeichen des entsprechenden invers gefilterten Abtastwertes f(mj) mit
sich. Die Korrelation C wird dann ausgedrückt als:
worin |f(mj)| der Absolutwert des gefilterten Abtastwertes f(mj) ist.
Das Maximieren der Korrelation C in Gleichung (24) ist äquiva
lent der Maximierung jedes einzelnen Terms des Summationsausdrucks in
Gleichung (24). Der Maximalwert maxC der Korrelation C ist dann gegeben
als:
Infolgedessen können die optimalen Impulspositionen mj, wobei
j von 1 bis M läuft, für jeden Unterrahmen i durch Wählen jeder Impuls
stelle mj aus dem entsprechenden Satz kj von vordefinierten Stellen ge
funden werden, derart, daß die invers gefilterte Abtastwertgröße |f(mj)|
für die betreffende Imp 10574 00070 552 001000280000000200012000285911046300040 0002019647298 00004 10455ulsposition mj maximiert wird.
Die feste Codebuchsucheinheit 92 implementiert die vorstehende
Technik für das Maximieren der Korrelation zwischen dem Soll-Unterrahmen
tB(n) und dem entsprechenden normalisierten synthetischen Unterrahmen
q(n). Die interne Konfiguration der Sucheinheit 92 ist in Fig. 8 ge
zeigt. Die Sucheinheit 92 besteht aus einer Impulspositionstabelle 122,
einem inversen Filter 124, einem festen Erregungsselektor 126 und einer
quantisierten Verstärkungsfaktortabelle 128.
Die Impulspositionstabelle 122 speichert die Sätze Kj der Im
pulspositionen mj, wobei j von 1 bis M reicht, für jede der beiden Da
tentransferraten. Da M 5 oder 6 ist, wenn die Kodiereinheit mit der
6,3-Kbps-Rate betrieben wird, enthält die Positionstabelle 122 sechs Im
pulspositionssätze K1, K2, . . . K6 für die 6,3-Kbps-Rate. Die Positions
tabelle 122 enthält vier Impulspositionssätze K1, K2, K3 und K4 für die
5,3-Kbps-Rate, wobei die Impulspositionssätze K1-K4 für die 5,3-Kbps-
Rate sich verschiedendlich von den Impulspositionssätze K1-K4 für die
6,3-Kbps-Rate unterscheiden.
Der Impulsreaktionsunterrahmen h(n) und der entsprechende
Soll-ZSR-Unterrahmen tB(n) werden dem inversenen Filter 124 für jeden
Unterrahmen i zugeführt. Unter Verwendung des Impulsreaktionsunterrah
mens h(n) für die Definition der Charakteristiken des inversen Filters
filtert das Filter 124 invers den entsprechenden Referenzunterrahmen
tB(n) zum Erzeugen eines 60 Abtastwerte umfassenden invers gefilterten
Unterrahmens f(n) entsprechend der obigen Gleichung (22).
Bei Empfang des invers gefilterten Unterrahmens f(n) bestimmt
der feste Erregungsselektor 126 den optimalen Satz von M Impulsstellen
mj, ausgewählt aus der Impulspositionstabelle 122, durch Ausführen der
folgenden Operationen für jeden Wert der ganzen Zahl j im Bereich von 1
bis M:
- a) Suchen nach dem Wert von n, der den maximalen Absolutwert
des gefilterten Abtastwertes f(n) ergibt. Die Impulsposition mj wird auf
diesen Wert von n gesetzt unter der Voraussetzung, daß er eine der Im
pulsstellen in dem Impulspositionssatz Kj ist. Die Suchoperation wird
mathematisch ausgedrückt als:
mj = argmax[|f(n)|], n ⊃ Kj (26) - b) Nachdem n so gefunden wurde und die Impulsposition mj so gesetzt ist, daß sie gleich n ist, wird der gefilterte Abtastwert f(mj) auf einen negativen Wert, typischerweise -1, gesetzt, um zu verhindern, daß die Impulsposition mj erneut gewählt wird.
Wenn die vorstehenden Operationen für jeden Wert von j von 1
bis M ausgeführt sind, sind die Impulspositionen mj aller M Impulse für
den festen Erregungsunterrahmen vE(n) etabliert worden. Die Operationen
a und b in Kombination mit der inversen Filterung, bewirkt durch Filter
124, maximieren die Korrelation zwischen dem Soll-ZSR-Unterrahmen tB(n)
und dem normalisierten synthetisierten ZSR-Unterrahmen q(n) bei der Be
stimmung der Impulsstellen für jeden Unterrahmen i. Die Rechenleistung,
die für die Ausführung dieser Korrelation benötigt wird, ist, wie oben
angegeben, kleiner als jene, die in dem Kodiersystem nach G.723 verwen
det wird, um die Impulsstellen zu bestimmen.
Der feste Erregungsselektor 126 bestimmt die Impulsvorzeichen
sj jedes Impulses als das Vorzeichen des gefilterten Abtastwertes f(mj)
entsprechend der Beziehung:
sj = sign[f(mj)], j = 1, 2, . . . M (27)
Der Erregungsselektor 126 bestimmt die unquantisierte Erre
gungsverstärkung G durch eine Berechnungsprozedur, bei der die Gleichung
(19) zunächst verwendet wird, um eine optimale Version c(n) des normali
sierten festen Erregungsunterrahmens c(n) zu berechnen, wo die Impulspo
sitionen mj und Impulsvorzeichen sj die optimale Impulsstellen und
Vorzeichen sind, wie oben für j von 1 bis M bestimmt worden ist. Eine
optimale Version q(n) des normalisierten festen Erregungs-ZSR-Unterrah
mens q(n) wird dann aus Gleichung (20) berechnet, indem der optimale Unterrahmen
c(n) für den Unterrahmen c(n) substituiert wird. Schließlich
wird der unquantisierte Verstärkungsfaktor G entsprechend der Beziehung
berechnet:
Unter Verwendung quantisierter Verstärkungspegel GL, gelie
fert aus der quantisierten Verstärkungstabelle 128, quantisiert der Er
regungsselektor 126 den Verstärkungsfaktor G zum Erzeugen der festen Er
regungsverstärkung G unter Anwendung einer Suchtechnik des nächsten
Nachbarn. Die Verstärkungstabelle 128 enthält dieselben Verstärkungspe
gel GL wie in dem skalaren Quantisierverstärkungsfaktor-Codebuch, der in
dem Kodiersystem nach G.723 verwendet wird. Schließlich wird die Kombi
nation von Parametern mj, sj und G für jeden Unterrahmen i, wobei i von
0 bis 3 läuft und j von 1 bis M in jedem Unterrahmen i, von dem Erre
gungsselektor 126 als fester Erregungsparametersatz FE geliefert.
Der Erregungsgenerator 96, wie in Fig. 9 gezeigt, besteht aus
einem adaptiven Codebuch-Dekoder 132, einem festen Codebuch-Dekoder 134
und einem Addierer 136. Die Dekoder 132 und 134 arbeiten vorzugsweise in
der Weise, wie sie in den Paragraphen 2.18 und 2.17 der Spezifikation
G.723 vom Juli 1995 beschrieben sind.
Der adaptive Codebuch-Parametersatz ACE, der die optimale Pe
riode li der geschlossenen Schleife und den optimalen Tonhöhenkoeffi
zientenindex ki für jeden Unterrahmen i enthält, wird von dem Erregungs
parametersammler 94 dem adaptiven Codebuch-Dekoder 132 zugeführt. Unter
Verwendung des Parametersatzes ACE als eine Adresse zu einem adaptiven
Erregungscodebuch, das Tonhöhenperioden und Tonhöhenkoeffizienteninfor
mation enthält, dekodiert der Dekoder 132 den Parametersatz ACE zum
Aufbau adaptiver Erregungsunterrahmen uE(n).
Der feste Erregungsparametersatz FCE, der die Impulspositionen
mj, die Impulsvorzeichen sj und die quantisierte Verstärkung G für jeden
Unterrahmen i enthält, wobei j von 1 bis M in jedem Unterrahmen i geht,
wird vom Parametersammler 94 dem festen Codebuch-Dekoder 134 zugeführt.
Unter Verwendung des Parametersatzes FCE als eine Adresse zu einem fe
sten Erregungscodebuch, das Impulsstellen- und Impulsvorzeicheninforma
tion enthält, dekodiert der Dekoder 134 den Parametersatz FCE zum Aufbau
fester Erregungsunterrahmen vE(n) entsprechend Gleichung (16).
Für jeden Unterrahmen i des laufenden Sprachrahmens summiert
der Addierer 136 jedes Paar von entsprechenden Erregungsunterrahmen
uE(n) und vE(n) auf Basis von Abtastwert-um-Abtastwert, um zusammenge
setzte Erregungsunterrahmen eE(n) zu erzeugen gemäß:
eE(n) = uE(n) + vE(n), n = 0, 1, . . . 59 (29)
Der Erregungsunterrahmen eE(n) wird nun rückgekoppelt zu der
adaptiven Codebuchsucheinheit 90, wie oben erwähnt, um das adaptive Er
regungscodebuch 102 aufzufrischen. Der Erregungsunterrahmen eE(n) wird
außerdem dem Speicherauffrischabschnitt 86 im Unterrahmengenerator 54
zugeführt, um den Speicher des kombinierten Filters entsprechend Glei
chung (9) aufzufrischen.
In der vorbeschriebenen Weise schafft die vorliegende Erfin
dung ein Sprachkodiersystem, das mit dem Kodiersystem nach G.723 zusam
menwirken kann, deutlich weniger Rechenleistung als das Kodiersystem
nach G.723 benötigt und einen komprimierten digitalen Datenstrom xc
schafft, der recht gut das analoge Spracheingangssignal x(t) nachahmt.
Die Einsparungen an Rechenleistung betragen etwa 40%.
Für Fachleute sind Abwandlungen im Rahmen der Patentansprüche
möglich. Beispielsweise kann das vorliegende Kodiersystem mit der
Version des Sprachkodiersystems nach G.723 gemäß der Spezifikation vom
Juli 1995 zusammenarbeiten. Die endgültige Normspezifikation für das
Kodiersystem nach G.723 kann sich jedoch von dem Entwurf vom Juli 1995
unterscheiden. Es wird angenommen, daß die Prinzipien der Erfindung auch
anwendbar sind, um die Menge an Rechenleistung zu verringern, die in
einem digitalen Sprachkodiersystem benötigt wird, das mit dem
endgültigen Sprachkodiersystem nach G.723 zusammenarbeitet.
Ferner können die Techniken der vorliegenden Erfindung verwendet
werden, um Rechenleistung in Sprachkodiersystemen einzusparen, die
nicht mit dem Kodiersystem nach G.723 zusammenarbeiten können sollen. In
diesem Fall kann die Anzahl nF von Abtastwerten in jedem Rahmen sich von
240 unterscheiden. Die Anzahl nG von Abtastwerten in jedem Unterrahmen
kann von 60 abweichen. Die Hierarchie diskreter Sätze von Abtastwerten
kann in einer oder mehreren unterschiedlich großen Gruppen von Abtast
werten, die keine Rahmen und Unterrahmen als ein Viertelrahmen sind, ar
rangiert werden.
Die Maximierung der Korrelation C könnte durch andere Techni
ken als die in Fig. 8 dargestellten gemäß den Gleichungen (22) bis (26)
implementiert werden. Auch könnte die Korrelation C direkt aus Gleichung
(18) unter Anwendung der Gleichungen (19) und (20) für die Definition
entsprechender normalisierter synthetisierter Unterrahmen q(n) maximiert
werden. Verschiedene Modifikationen und Anwendungsmöglichkeiten stehen
demgemäß für Fachleute offen.
Claims (16)
1. Verfahren zum Kodieren und Dekodieren von Sprache, wobei
über eine zu einem digitalen Sprachkodierer (12) gehörende Sucheinheit
Erregungsinformation bestimmt wird, welche eine nicht-periodische, aus
Erregungsimpulsen mit wahlweise positivem oder negativem Vorzeichen be
stehende Erregungsgruppe definiert, wobei die Impulsposition jedes Erre
gungsimpulses aus einem entsprechenden Satz von Impulspositionen, die in
dem Sprachkodierer (12) gespeichert sind, ausgewählt und variiert wird,
dadurch gekennzeichnet,
daß eine Zielgruppe von zeitlich aufeinanderfolgenden gefilter ten Versionen von digitalen Eingangssprachabtastwerten, die in dem Sprachkodierer (12) zu einem komprimierten digitalen Sprachdatenstrom komprimiert werden, erzeugt, und
die Korrelation zwischen der Zielgruppe und einer entsprechen den, durch Dekomprimierung eines komprimierten digitalen Sprachdaten stroms synthetisierten Gruppe von zeitlich aufeinanderfolgenden syntheti sierten, digitalen Sprachabtastwerten durch die Variation der Impulsposi tionen und Impulsvorzeichen maximiert wird.
daß eine Zielgruppe von zeitlich aufeinanderfolgenden gefilter ten Versionen von digitalen Eingangssprachabtastwerten, die in dem Sprachkodierer (12) zu einem komprimierten digitalen Sprachdatenstrom komprimiert werden, erzeugt, und
die Korrelation zwischen der Zielgruppe und einer entsprechen den, durch Dekomprimierung eines komprimierten digitalen Sprachdaten stroms synthetisierten Gruppe von zeitlich aufeinanderfolgenden syntheti sierten, digitalen Sprachabtastwerten durch die Variation der Impulsposi tionen und Impulsvorzeichen maximiert wird.
2. Verfahren nach Anspruch 1, gekennzeichnet durch Maximieren der
durch
gegebenen Korrelation, wobei n eine Abtastwertzahl sowohl in der Zielgruppe als auch in der entsprechenden synthetisierten Gruppe, tB(n) die Zielgruppe, q(n) die entsprechende synthetisierte Gruppe und nG die Gesamtzahl von Abtastwerten in jedem von tB(n) und q(n) ist.
gegebenen Korrelation, wobei n eine Abtastwertzahl sowohl in der Zielgruppe als auch in der entsprechenden synthetisierten Gruppe, tB(n) die Zielgruppe, q(n) die entsprechende synthetisierte Gruppe und nG die Gesamtzahl von Abtastwerten in jedem von tB(n) und q(n) ist.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das
Maximieren der Korrelation umfaßt:
- - inverses Filtern der Zielgruppe zum Erzeugen einer entsprechend invers gefilterten Gruppe von zeitlich aufeinanderfolgenden invers gefilterten digitalen Sprachabtastwerten und
- - Auswählen der Position jedes Impulses aus dem entsprechenden Satz von Impulspositionen derart, daß der Absolutwert der invers gefilterten Abtastwertgruppe maximiert wird.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß der
Schritt des Bestimmens umfaßt:
- - Suchen nach dem Wert der Abtastwertzahl n, welche den maximalen Absolutwert von f(mj) ergibt, wobei mj die Position des j-ten Impulses in der nicht-periodischen Erregungsgruppe ist und f(mj) ein Abtastwert in der invers gefilterten Zielgruppe ist;
- - Setzen der Impulspostionen mj auf den so lokalisierten Wert der Abtastwertzahl n;
- - Verhindern des erneuten Auswählens der Impulsposition mj, immer dann, wenn mindestens zwei Impulspositionen mj auszuwählen sind; und
- - Wiederholen des Suchens, Setzens und Verhinderns, bis alle Impulspositionen mj bestimmt worden sind.
5. Vorrichtung zur Durchführung des Verfahrens nach einem der
Ansprüche 1 bis 4, gekennzeichnet durch einen Sprachkodierer (12) mit einer
Sucheinheit für das Bestimmen von Erregungsinformation, die eine nicht-
periodische, aus Erregungsimpulsen mit wahlweise positivem oder negativem
Vorzeichen bestehende Erregungsgruppe definiert, wobei die Impulsposition jedes
Eingangsimpulses aus einem entsprechenden Satz von Impulspositionen, die in
dem Sprachkodierer (12) speicherbar sind, auswählbar und variierbar ist, wobei
die Sucheinheit zum Bestimmen der Positionen der Impulse durch Maximieren der
Korrelation zwischen (a) einer Zielgruppe von zeitlich aufeinanderfolgenden
gefilterten Versionen von digitalen, dem Sprachkodierer (12) zwecks Kompression
zuführbaren Eingangssprachabtastwerten und (b) einer entsprechenden
synthetisierten Gruppe von zeitlich aufeinanderfolgenden synthetisierten digitalen
Sprachabtastwerten ausgestaltet ist, wobei die synthetisierte Abtastwertgruppe
von den Impulspositionen, die in den entsprechenden Sätzen von
Impulspositionen, die in dem Sprachkodierer (12) speicherbar sind, und von den
Vorzeichen der Impulse an den betreffenden Impulspositionen abhängt.
6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß die
Sucheinheit umfaßt:
- - ein inverses Filter (124) für das inverse Filtern der Zielgruppe zum Erzeugen einer entsprechenden invers gefilterten Gruppe von zeitlich aufeinanderfolgenden invers gefilterten digitalen Sprachabtastwerten;
- - eine Impulspositionstabelle (122), die die Sätze von Impulspositionen speichert; und
- - einen Selektor (126) zum Auswählen der Postion jedes Impulses aus dem entsprechenden Satz von Impulspositionen derart, daß der Absolutwert der invers gefilterten Abtastwertgruppe maximiert wird.
7. Elektronische Vorrichtung zur Durchführung des Verfahrens nach
einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß ein Sprachkodierer
(12) zum Erzeugen eines komprimierten abgehenden digitalen Sprachdatenstroms
durch Komprimieren digitaler Eingangssprachabtastwerte eines
Eingangssprachsignals vorgesehen ist, der Sprachkodierer (12)
Verarbeitungsschaltkreise (20, 22, 24) für das Erzeugen von
- a) Filterparametern, welche numerische Werte von Charakteristiken für ein Formantensynthesefilter (26) in dem Sprachkodierer (12) bestimmen, und
- b) ersten Zielgruppen von zeitlich aufeinanderfolgenden gefilterten Versionen der digitalen Eingangssprachabtastwerte umfaßt und eine Erregungskodierschaltung für das Auswählen von Erregungsinformation, die zusammengesetzten Erregungsgruppen von zeitlich aufeinanderfolgenden Erregungsabtastwerten zugeordnet wird, zum Erregen mindestens des Formantensynthesefilters (26) aufweist, jede zusammengesetzte Erregungsabtastwertgruppe (a) eine periodische Erregungsgruppe von zeitlich aufeinanderfolgenden periodischen Erregungsabtastwerten, die eine spezifizierte Wiederholungsperiode aufweisen, und (b) eine korrespondierende nicht- periodische Erregungsgruppe von Erregungsimpulsen umfaßt, deren jeweilige Positionen aus einem entsprechenden Satz von Impuspositionen, die in dem Sprachkodierer (12) speicherbar sind, ausgewählt wird, wobei jeder Impuls wahlweise ein positives oder negatives Vorzeichen aufweist, die Erregungskodierschaltung
- - eine erste Sucheinheit für (a) das Auswählen erster Erregungsinformation, welche jede periodische Erregungsabtastgruppe definiert, und (b) das Umsetzen jeder ersten Zielgruppe in eine entsprechende zweite Zielgruppe von zeitlich aufeinanderfolgenden gefilterten Versionen der digitalen Eingangssprachabtastwerte; und
- - eine zweite Sucheinheit für das Auswählen zweiter Erregungsinformation umfaßt, welche jede nicht-periodische Erregungsimpulsgruppe entsprechend einer Prozedur definiert, die das Bestimmen der Positionen der Impulse in jeder nicht-periodischen Erregungsimpulsgruppe durch Maximieren der Korrelation zwischen der entsprechenden zweiten Zielgruppe und einer entsprechenden synthetisierten Gruppe von zeitlich aufeinanderfolgenden synthetisierten digitalen Sprachabtastwertgruppen umfaßt, wobei jede synthetisierte Abtastwertgruppe von den Impulspositionen abhängt, die in dem Satz von Impulspositonen für die entsprechende nicht-periodische Erregungsimpulsgruppe verfügbar sind, sowie von den Vorzeichen der Impulse an den entsprechenden Impulspositionen.
8. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß die
periodischen Erregungsabtastwerte in jeder periodischen
Erregungsabtastwertgruppe den zusammengesetzten Erregungs
abtastwertgruppen in der zusammengesetzten Erregungsabtastwertgruppe
entsprechen, welche jene periodische Erregungsabtastwertgruppe enthält, und
daß die Erregungsimpulse in jeder nicht-periodischen Erregungsimpulsgruppe
jeweils dem Teil der zusammengesetzten Erregungsabtastwerte in der
zusammengesetzten Erregungsabtastwertgruppe entsprechen, welche die nicht-
periodische Erregungsimpulsgruppe enthält.
9. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, daß jede
erste Zielgruppe im wesentlichen eine Zielnullzustandsreaktion von zumindest
dem Formantensynthesefilter (26) ist, erregt durch zumindest die periodische
Erregungsabtastwertgruppe, und daß jede zweite Zielgruppe im wesentlichen eine
nicht-periodische Zielnullzustandsreaktion von zumindest dem
Formantensynthesefilter ist, erregt durch die nicht-periodische
Erregungsimpulsgruppe.
10. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß die
zweite Sucheinheit umfaßt:
- - ein inverses Filter (124) für das inverse Filtern jeder zweiten Zielgruppe zum Erzeugen einer entsprechenden invers gefilterten Gruppe von zeitlich aufeinanderfolgenden digitalen Sprachabtastwerten,
- - eine Impulspositionstabelle (122), die die Sätze von Impulspositionen speichert; und
- - einen Selektor (126) zum Auswählen der Position jedes Impulses aus dem entsprechenden Satz von Impulspositionen derart, daß der Absolutwert der invers gefilterten Abtastwertgruppe maximiert wird.
11. Vorrichtung nach Anspruch 7 zur Durchführung des Verfahrens nach
Anspruch 4, gekennzeichnet durch die invers gefilterte Abtastwertgruppe
wobei n die Abtastwertzahl, nG die Gesamtzahl von Abtastwerten in der zweiten Zielgruppe, tB(n) die zweite Zielgruppe und h(n) eine Gruppe von zeitlich aufeinanderfolgenden Abtastwerten ist, welche eine Impulsreaktion auf zumindest das Formantensynthesefilter konstituieren.
wobei n die Abtastwertzahl, nG die Gesamtzahl von Abtastwerten in der zweiten Zielgruppe, tB(n) die zweite Zielgruppe und h(n) eine Gruppe von zeitlich aufeinanderfolgenden Abtastwerten ist, welche eine Impulsreaktion auf zumindest das Formantensynthesefilter konstituieren.
12. Vorrichtung nach Anspruch 7, gekennzeichnet durch einen
Sprachdekoder (16) zum Dekomprimieren eines komprimierten einlaufenden
digitalen Sprachdatenstroms, der im Idealfall identisch ist mit dem komprimierten
abgehenden digitalen Sprachdatenstrom, um so digitale abgehende
Sprachabtastwerte zu synthetisieren, welche die digitalen
Eingangssprachabtastwerte approximieren.
13. Vorrichtung nach Anspruch 12, dadurch gekennzeichnet, daß der
Sprachdekoder (16) zum Dekodieren des einlaufenden digitalen
Sprachdatenstroms, zum Erzeugen von (a) Erregungsinformation, durch welche
ein Formantensynthesefilter (26) in dem Sprachdekoder (16) erregbar ist, und von
(b) Filterparametern, die die numerischen Werte von Charakteristiken für das
Formantensynthesefilter des Sprachdekoders (16) bestimmen, ausgestaltet ist.
14. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß der
Sprachkodierer (12) auf einer Rahmenzeitlagebasis arbeitet, bei der jeder
aufeinanderfolgende Satz von ausgewählten Zahlen von digitalen
Eingangssprachabtastwerten einen Eingangssprachrahmen bildet, auf den
Verarbeitungsschaltkreise (52) eine lineare voraussagende Kodieranalyse zum
Bestimmen eines Linienspektralpaarcodes für den betreffenden
Eingangssprachrahmen ausüben, wobei jede zusammengesetzte
Erregungsabtastwertgruppe einem spezifizierten Teil jedes
Eingangssprachrahmens entspricht.
15. Vorrichtung nach Anspruch 14, dadurch gekennzeichnet, daß die
Verarbeitungsschaltung umfaßt:
- - einen Eingangspuffer (50) für das Umsetzen der digitalen Eingangssprachabtastwerte in die Eingangssprachrahmen;
- - eine Sprachanalyse- und Vorverarbeitungseinheit (52) für das Erzeugen des Linienspektralpaarcodes und für das Bereitstellen von perzeptionell gewichteten Sprachrahmen für die Erregungskodierschaltung (56); und
- - einen Bitsammler (58) für die Verkettung des Linienspektralpaarcodes und Parametern, welche die Erregungsinformation charakterisieren, um den abgehenden digitalen Sprachdatenstrom zu erzeugen.
16. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, daß jeder
Eingangssprachrahmen 240 digitale Eingangssprachabtastwerte und jede
zusammengesetzte Erregungsabtastwertgruppe 60 Erregungsabtastwerte enthält.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/560,082 US5867814A (en) | 1995-11-17 | 1995-11-17 | Speech coder that utilizes correlation maximization to achieve fast excitation coding, and associated coding method |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19647298A1 DE19647298A1 (de) | 1997-05-22 |
DE19647298C2 true DE19647298C2 (de) | 2001-06-07 |
Family
ID=24236294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19647298A Expired - Fee Related DE19647298C2 (de) | 1995-11-17 | 1996-11-15 | Kodiersystem |
Country Status (3)
Country | Link |
---|---|
US (1) | US5867814A (de) |
KR (1) | KR100304682B1 (de) |
DE (1) | DE19647298C2 (de) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW317051B (de) * | 1996-02-15 | 1997-10-01 | Philips Electronics Nv | |
US7788092B2 (en) * | 1996-09-25 | 2010-08-31 | Qualcomm Incorporated | Method and apparatus for detecting bad data packets received by a mobile telephone using decoded speech parameters |
US6205130B1 (en) * | 1996-09-25 | 2001-03-20 | Qualcomm Incorporated | Method and apparatus for detecting bad data packets received by a mobile telephone using decoded speech parameters |
JP3206497B2 (ja) * | 1997-06-16 | 2001-09-10 | 日本電気株式会社 | インデックスによる信号生成型適応符号帳 |
JP3166697B2 (ja) * | 1998-01-14 | 2001-05-14 | 日本電気株式会社 | 音声符号化・復号装置及びシステム |
JP3273599B2 (ja) * | 1998-06-19 | 2002-04-08 | 沖電気工業株式会社 | 音声符号化レート選択器と音声符号化装置 |
US6330531B1 (en) | 1998-08-24 | 2001-12-11 | Conexant Systems, Inc. | Comb codebook structure |
US7072832B1 (en) * | 1998-08-24 | 2006-07-04 | Mindspeed Technologies, Inc. | System for speech encoding having an adaptive encoding arrangement |
US6980948B2 (en) * | 2000-09-15 | 2005-12-27 | Mindspeed Technologies, Inc. | System of dynamic pulse position tracks for pulse-like excitation in speech coding |
JP2002162998A (ja) * | 2000-11-28 | 2002-06-07 | Fujitsu Ltd | パケット修復処理を伴なう音声符号化方法 |
JP3404016B2 (ja) * | 2000-12-26 | 2003-05-06 | 三菱電機株式会社 | 音声符号化装置及び音声符号化方法 |
US7512535B2 (en) * | 2001-10-03 | 2009-03-31 | Broadcom Corporation | Adaptive postfiltering methods and systems for decoding speech |
US7194141B1 (en) * | 2002-03-20 | 2007-03-20 | Ess Technology, Inc. | Image resolution conversion using pixel dropping |
JP2004151123A (ja) * | 2002-10-23 | 2004-05-27 | Nec Corp | 符号変換方法、符号変換装置、プログラム及びその記憶媒体 |
KR100463418B1 (ko) * | 2002-11-11 | 2004-12-23 | 한국전자통신연구원 | Celp 음성 부호화기에서 사용되는 가변적인 고정코드북 검색방법 및 장치 |
KR100503414B1 (ko) * | 2002-11-14 | 2005-07-22 | 한국전자통신연구원 | 고정 코드북의 집중 검색 방법 및 장치 |
CN101124626B (zh) * | 2004-09-17 | 2011-07-06 | 皇家飞利浦电子股份有限公司 | 用于最小化感知失真的组合音频编码 |
US8447592B2 (en) * | 2005-09-13 | 2013-05-21 | Nuance Communications, Inc. | Methods and apparatus for formant-based voice systems |
ATE548727T1 (de) * | 2007-03-02 | 2012-03-15 | Ericsson Telefon Ab L M | Nachfilter für geschichtete codecs |
US8566106B2 (en) * | 2007-09-11 | 2013-10-22 | Voiceage Corporation | Method and device for fast algebraic codebook search in speech and audio coding |
CN101599272B (zh) * | 2008-12-30 | 2011-06-08 | 华为技术有限公司 | 基音搜索方法及装置 |
GB2466671B (en) * | 2009-01-06 | 2013-03-27 | Skype | Speech encoding |
GB2466674B (en) * | 2009-01-06 | 2013-11-13 | Skype | Speech coding |
GB2466670B (en) * | 2009-01-06 | 2012-11-14 | Skype | Speech encoding |
GB2466673B (en) | 2009-01-06 | 2012-11-07 | Skype | Quantization |
GB2466672B (en) * | 2009-01-06 | 2013-03-13 | Skype | Speech coding |
GB2466675B (en) | 2009-01-06 | 2013-03-06 | Skype | Speech coding |
GB2466669B (en) * | 2009-01-06 | 2013-03-06 | Skype | Speech coding |
US8452606B2 (en) | 2009-09-29 | 2013-05-28 | Skype | Speech encoding using multiple bit rates |
US9123334B2 (en) | 2009-12-14 | 2015-09-01 | Panasonic Intellectual Property Management Co., Ltd. | Vector quantization of algebraic codebook with high-pass characteristic for polarity selection |
HRP20240674T1 (hr) | 2014-04-17 | 2024-08-16 | Voiceage Evs Llc | Postupci, koder i dekoder za linearno prediktivno kodiranje i dekodiranje zvučnih signala pri prijelazu između okvira koji imaju različitu brzinu uzorkovanja |
EP3306609A1 (de) * | 2016-10-04 | 2018-04-11 | Fraunhofer Gesellschaft zur Förderung der Angewand | Vorrichtung und verfahren zur bestimmung von neigungsinformationen |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2173679A (en) * | 1985-04-03 | 1986-10-15 | British Telecomm | Speech coding |
US5307441A (en) * | 1989-11-29 | 1994-04-26 | Comsat Corporation | Wear-toll quality 4.8 kbps speech codec |
DE4315315A1 (de) * | 1993-05-07 | 1994-11-10 | Ant Nachrichtentech | Verfahren zur Vektorquantisierung insbesondere von Sprachsignalen |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2626223B2 (ja) * | 1990-09-26 | 1997-07-02 | 日本電気株式会社 | 音声符号化装置 |
FI98104C (fi) * | 1991-05-20 | 1997-04-10 | Nokia Mobile Phones Ltd | Menetelmä herätevektorin generoimiseksi ja digitaalinen puhekooderi |
US5550543A (en) * | 1994-10-14 | 1996-08-27 | Lucent Technologies Inc. | Frame erasure or packet loss compensation method |
-
1995
- 1995-11-17 US US08/560,082 patent/US5867814A/en not_active Expired - Lifetime
-
1996
- 1996-11-13 KR KR1019960053630A patent/KR100304682B1/ko not_active IP Right Cessation
- 1996-11-15 DE DE19647298A patent/DE19647298C2/de not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2173679A (en) * | 1985-04-03 | 1986-10-15 | British Telecomm | Speech coding |
US5307441A (en) * | 1989-11-29 | 1994-04-26 | Comsat Corporation | Wear-toll quality 4.8 kbps speech codec |
DE4315315A1 (de) * | 1993-05-07 | 1994-11-10 | Ant Nachrichtentech | Verfahren zur Vektorquantisierung insbesondere von Sprachsignalen |
Non-Patent Citations (1)
Title |
---|
"Dual Rate Speech Coder for Multimedia-Communica- tions Transmitting at 5.3 & 6.3 kbits/s", Entwurf G. 723, Telecommunication Standardization Sector von ITU, 7. Juli 1995 (37 Seiten) * |
Also Published As
Publication number | Publication date |
---|---|
KR100304682B1 (ko) | 2001-11-22 |
KR970031376A (ko) | 1997-06-26 |
US5867814A (en) | 1999-02-02 |
DE19647298A1 (de) | 1997-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19647298C2 (de) | Kodiersystem | |
DE69309557T2 (de) | Verfahren und Vorrichtung zur Sprachkodierung | |
DE69029232T2 (de) | System und Methode zur Sprachkodierung | |
DE69023402T2 (de) | Verfahren zur Sprachkodierung und -dekodierung. | |
DE69331079T2 (de) | CELP-Vocoder | |
DE69900786T2 (de) | Sprachkodierung | |
DE60011051T2 (de) | Celp-transkodierung | |
DE69420431T2 (de) | Sprachkodierungssystem | |
DE69530442T2 (de) | Vorrichtung zur Sprachkodierung | |
DE69527410T2 (de) | CELP-Koder und -Dekoder und Verfahren dazu | |
DE69029120T2 (de) | Stimmenkodierer | |
DE60121405T2 (de) | Transkodierer zur Vermeidung einer Kaskadenkodierung von Sprachsignalen | |
DE69910239T2 (de) | Verfahren und vorrichtung zur adaptiven bandbreitenabhängigen grundfrequenzsuche für die kodierung breitbandiger signale | |
DE69928288T2 (de) | Kodierung periodischer sprache | |
DE3853916T2 (de) | Digitaler-sprachkodierer mit verbesserter vertoranregungsquelle. | |
DE69625874T2 (de) | Verfahren und Vorrichtung zur Wiedergabe von Sprachsignalen, zur Dekodierung, zur Sprachsynthese und tragbares Funkendgerät | |
DE2945414C2 (de) | Sprachsignal-Voraussageprozessor und Verfahren zur Verarbeitung eines Sprachleistungssignals | |
DE69932460T2 (de) | Sprachkodierer/dekodierer | |
DE69521164T2 (de) | System zum Kodieren und Dekodieren von Signalen | |
DE69916321T2 (de) | Kodierung eines verbesserungsmerkmals zur leistungsverbesserung in der kodierung von kommunikationssignalen | |
DE69329569T2 (de) | Digitale Kodierung von Sprachsignalen | |
DE69524890T2 (de) | Parametrische Sprachkodierung | |
DE29825254U1 (de) | Sprachcodierer und Sprachdecodierer | |
DE69121411T2 (de) | Methode und gerät zur codierung von analogen signalen | |
DE69033510T2 (de) | Numerischer sprachkodierer mit verbesserter langzeitvorhersage durch subabtastauflösung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
R082 | Change of representative | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20130601 |