-
Die
Sprachübertragung über das
leitungsvermittelte Telefonnetz erfordert, daß eine ausreichende Bandbreite
verfügbar
ist, damit die Sprache verständlich
bleibt. Eine von sehr niedrigen Frequenzen bis zu einigen Kilohertz
verlaufendes Band stellt einen guten Kompromiß zwischen Wiedergabetreue und
Bandbreitenressourcen dar. Um Sprache in dem leitungsvermittelten
Netz zu übertragen,
dessen zwischen den Ämtern
verlaufende Verbindungen digital sind, codiert man daher die Sprachfrequenzen,
um sie in ein digitales Signal mit der Basisübertragungsgeschwindigkeit
des leitungsvermittelten Netzes umzuwandeln, das den Amplitudenverlauf
des Sprachsignals darstellt.
-
Manchmal
möchte
man jedoch die Übertragungsgeschwindigkeit
verringern, beispielsweise in einem Sprachsyntheseendgerät, dessen
Nachrichtenspeicher eine begrenzte Größe einhalten muß. Außerdem kann
es erwünscht
sein, nur einen Übertragungsweg
eines speziellen Netzes mit einer Übertragungsgeschwindigkeit
deutlich unterhalb der oben erwähnten Übertragungsgeschwindigkeit
des Telefonnetzes zu verwenden.
-
In
einem entsprechenden Fall versucht man, die verschiedenen Phoneme
einer Sprachsequenz laufend bzw. direkt zu erkennen. Man vergleicht
diese Phoneme mit Referenzen einer Bibliothek, die zu Codewörtern gehören, und
ersetzt diese Phoneme durch die entsprechenden Codewörter, welche
die Sprache mit einer deutlich geringeren Informationsmenge beschreiben.
Auf diese Weise wird die Sprache komprimiert.
-
Das
angerufene Endgerät
weist die gleiche Bibliothek auf und rekonstruiert beim Empfang
durch Sprachsynthese die analogen Signale, die den verschiedenen
Codewörtern
entsprechen.
-
Eine
derartige Vorgehensweise hat jedoch den Nachteil, daß mit Hilfe
der Bibliothek nur eine vereinheitlichte bzw. normierte und dementsprechend
unpersönliche
Sprache rekonstruiert wird und daß es daher grundsätzlich unmöglich ist,
den Gesprächspartner
zu erkennen, um eine Sprachnachricht zu authen tifizieren. Der Tonfall
oder Fluktuationen der Sprache, welche auch Informationen darstellen,
wie die Bedeutung der Sprache selbst, werden folglich nicht rekonstruiert.
-
Der
Artikel "Speaker
normalization algorithms for very low-rate speech coding" von Roucos et al.
ICASSP 84, Band 1, 19.–21.
März 1984,
Seiten 1.11 bis 1.14, XP002073267, San Diego, CA, US und das Patent
DE-A-34 16 238 beschreiben das progressive Anpassen einer Bibliothek
mit Sprachsignalen an diejenigen eines neuen Sprechers. Die zwischen
diesen Signalen festgestellten Unterschiede dienen alleine dieser
Anpassung.
-
Die
Sprachsignale sind folglich bei der Wiedergabe verzerrt bzw. deformiert,
sofern die Bibliothek keinen neuen Gleichgewichtszustand erreicht hat.
-
Die
WO-A-94 18 668 betrifft die Sprachübertragung durch lineare Prädiktion
und betrifft nicht die Spracherkennung. Ferner erfordert das Verfahren gemäß diesem
Dokument Mittelwerteberechnungen mit einer Bibliothek mit Parametern,
für welche
der Ton identifiziert wurde, und nicht mit an dem erfaßten Ton
direkt gemessenen Parametern.
-
Die
Patent Abstracts of Japan, Band 10, Nr. 240,
JP 61 071 730A beschreiben
das Erkennen einer Sprachcharakteristik neben der Sprache selbst, ohne
jedoch deren Beschaffenheit anzugeben, und insbesondere ohne anzugeben,
wie diese Charakteristik bestimmt wird.
-
Eine
treue Wiedergabe der Sprache kann nicht garantiert werden.
-
Die
vorliegende Erfindung dient dazu, eine Sprachcodierung bereitzustellen,
die gleichzeitig eine Komprimierung der Informationen und eine individuelle
bzw. personenspezifische Wiedergabe ermöglicht.
-
Daher
betrifft die Erfindung zunächst
ein Verfahren zur Codierung von Sprache gemäß Anspruch 1.
-
Die
primären
Codewörter
codieren wirksam und kompakt den größten Teil der erfaßten phonischen
Energie, während
die sekundären
Codewörter die
Wiedergabetreue verbessern, ohne die Codedatenmenge übermäßig ansteigen
zu lassen, da sie nur eine begrenzte Energie betreffen und eine
geringe Anzahl von Bits die Codierung dieser marginalen Energie
erlaubt, die die primäre
Energie bzw. Standardenergie moduliert, welche den primären Codewörtern entspricht.
-
Die
Erfindung betrifft außerdem
ein Endgerät zur
Codierung von Sprachsignalen gemäß Anspruch 7.
-
Die
Erfindung betrifft schließlich
ein Endgerät zur
Decodierung von Sprachsignalen gemäß Anspruch 8.
-
Obwohl
es für
die vorliegende Erfindung erforderlich ist, daß insgesamt ein Endgerät zur Codierung
und ein entsprechendes Endgerät
zur Decodierung vorhanden sind, können beide getrennt auf den Markt
gebracht werden und die Anmelderin beabsichtigt daher, beide zu
beanspruchen.
-
Insbesondere
ist es vorteilhaft ein Telefaxgerät bereitzustellen, das Mittel
aufweist, um Codewörter
in eine Telefaxnachricht einzufügen.
-
Die
Erfindung wird mit Hilfe der folgenden Beschreibung einer bevorzugten
Ausführungsform des
erfindungsgemäßen Verfahrens
besser verständlich,
wobei auf die beigefügte
Zeichnung Bezug genommen wird, in welcher:
-
1 schematisch ein Sendeendgerät und ein
Empfangsendgerät
für Sprachesignale
zur Durchführung
des erfindungsgemäßen Verfahrens zeigt,
-
2 die Amplitude A eines
Sprachsignals als Funktion der Zeit t darstellt,
-
3 die Amplitude K von Spektrallinien
des Signals der Sprache 2 als Funktion der Frequenz F darstellt,
und
-
4 ein Flußdiagramm
zeigt, das die Verfahrensschritte veranschaulicht.
-
Das
in 1 mit dem Bezugszeichen 15 versehene
Sendeendgerät,
das hier die Form eines tragbaren Handapparats für Funknetze hat, weist ein
Mikrofon 26 zum Erfassen des Sprachsignals von seinem Benutzer
auf, welches einen Analog/Digital-Wandler 27 speist, der ausgangsseitig
mit einer Mikroprozessor-Zentraleinheit 28 verbunden ist,
der zwei Bibliotheken 11 und 12 mit normierten
bzw. vereinheitlichten akustischen Sequenzen oder phonischen Einheiten,
wie beispielsweise Phonemen zugeordnet sind. Die Zentraleinheit 28,
welche die Sprache codiert, steuert einen Sender 29, hier
einen Funksender, dessen Sendungen von einer Empfangsschaltung 30 eines
Sprachwiedergabeendgeräts 35 empfangen
werden. 2 zeigt die
Amplitude einer phonischen Einheit als Funktion der Zeit t und 3 zeigt die Amplitude K
von Spektrallinien zu einem vorgegebenen Zeitpunkt.
-
Genauer
gesagt enthält
die Zentraleinheit 28 einen Komparator 16, um
die vom Wandler 27 empfangenen phonischen Einheiten mit
den phonischen Einheiten in der Bibliothek zu vergleichen. Wie detaillierter
im Zusammenhang mit 4 erläutert wird,
ist es die Aufgabe des Komparators 16, in der Bibliothek die
Referenz auszuwählen,
die dem dann analysierten Signal am meisten ähnelt, und ferner, diese Differenz
zu spezifizieren, d. h. einen Wert für die Abweichung für jedes
Kriterium zu liefern, das zur Auswahl beigetragen hat. Diese Differenz
wird hier mit Hilfe einer Codeumsetzungsschaltung 17 umcodiert,
um deren Ausdruck zu komprimieren, und zwar in Form eines sekundären Codeworts,
welches in einem Speicher 18 unter der Steuerung des Komparators 16 gespeichert
wird. Dieser letztere, welcher zuvor das primäre Codewort in den Speicher 18 gespeichert
hat, adressiert und steuert das Schreiben in diesem, damit die beiden
Codewörter,
nämlich
das primäre
und das sekundäre
Codewort, physisch so verbunden werden, wie sie es in logischer
Hinsicht sind, d. h., es wird beispielsweise eine Verknüpfung zwischen
den beiden Speicherzonen definiert, welche diese enthalten.
-
Das
Empfangsendgerät 35 weist
eine Zentraleinheit 33 auf, welche eine inverse Decodierung der
Sprache bewirkt, um einen Lautsprecher 34 zu speisen. Zwei
Bibliotheken 31 und 32 bildende Speicher, welche
hier extern bezüglich
der Zentraleinheit 33 angeordnet sind, sind mit dieser
verbunden. Das Empfangsendgerät 35 ist
hier ein klassisches Endgerät
für den
Empfang von geschriebenen Nachrichten, welches Pager genannt wird
und u. a. dafür
eingerichtet ist, um Sprachnachrichten zu empfangen. Aus Gründen der Übersichtlichkeit
sind verschiedene klassische Schaltungen zur Wahleingabe, zur Sendung
dieser und zur Datenanzeige nicht dargestellt.
-
Die
Zentraleinheit 33 weist eine Schaltung 36 zur
Adressierung der individualisierten bzw. primären Bibliotheken 31 und 32 ausgehend
von den von der Empfangsschaltung 30 empfangenen Codewörtern auf.
Eine Pufferschaltung 37 empfängt als Antwort von der primären Bibliothek 32 primäre Spektren
der phonischen Einheiten und überträgt diese
an eine Schaltung 38 zur Modulation oder zum Aufbau dieser Spektren.
Die Schaltung 38 moduliert diese als Funktion des sekundären Codeworts,
welches dem primären
Codewort vom Lesen der primären
Bibliothek 32 zugeordnet ist. Die Schaltung 38 kombiniert
folglich die Informationen der primären und sekundären Codewörter, um
das ursprünglich
(26) aufgenommene Signal zu rekonstruieren. Diese Kombination
kann beispielsweise eine Addition oder Multiplikation von Frequenzlinien
sein, gefolgt von einer inversenen Fourier-Transformation oder sie
kann direkt die Signalamplituden betreffen. Bei diesem Beispiel
wird jede Art von wiedergegebener phonischer Einheit in dem individualisierten
Speicher 31 gespeichert, um diese letztere direkt zu verwenden,
wenn später
ein gleiches Paar aus primärem
und sekundärem
Codewort empfangen wird. Alternativ könnte der Speicher 31 nur
Modulationswerte enthalten, welche er nach der Adressierung mit
Hilfe eines sekundären
Codewortes an die Schaltung 38 liefern würde.
-
Die
Codier- und Decodieroperationen werden nun detaillierter unter Bezugnahme
auf 4 dargestellt.
-
Um
Sprache zu codieren, nimmt man in einem Schritt 1 mit Hilfe
eines Mikrofons 26 ein Sprachsignal auf und wandelt dieses
hier in einem Schritt 2 in dem Wandler 27 in ein
digitales Signal um. Das Sprachsignal wird dann in der Zentraleinheit 28 mit mehreren
Referenzsignalen der Bibliothek 11 verglichen, Schritt 3.
Der Vergleich findet laufend statt, praktisch zyklisch mit einer
höheren
Geschwindigkeit als die Entwicklungsgeschwindigkeit des analysierten
Sprachsignals. Von diesem kann angenommen werden, es bestünde aus
einer Folge von phonischen Einheiten, die für eine vorgegebene Sprache
spezifisch sind, beispielsweise Vokale, Diphthonge oder Hiatus,
von denen eine Darstellung zu Beginn in die Bibliothek 11 gestellt
wurde und denen jeweils ein bestimmtes Codewort, genannt primäres Codewort,
zugeordnet ist. Bei dem Aufbau der Bibliothek 11 und der
weiter unten angegebenen Bibliotheken 12 und 32 werden
mehrere Sprachaufnahmen von dem gleichen Sprecher oder von mehreren
durchgeführt,
um eine mittlere Sprachreferenz zu bilden. Zur Erhöhung der
Effizienz bei zukünftigen
Erkennungen speichert (11, 12) man für jede phonische
Einheit mehrere Referenzen, um einen Erkennungsbereich zu bilden, welcher
Abweichungen zwischen Sprechern toleriert.
-
Jede
phonische Einheit (2)
entspricht einer bestimmten Entwicklung der Amplitude A oder der
Energie des Sprachsignals und hat eine Dauer, die in Abhängigkeit
von der Sprechgeschwindigkeit der sprechenden Person variieren kann.
-
Schritt 3 besteht
folglich darin, den Verlauf bzw. die Entwicklung der Amplituden
der Referenzsignale mit dem erfaßten Signal zu vergleichen.
Damit Sprachgeschwindigkeitsunterschiede unberücksichtigt bleiben, kann man
beispielsweise nur die Abfolge der Modulationen mit signifikanter
Amplitude betrachten (über
einen Schwellwert hinausgehende Energieveränderung), ohne einen Zeitbegriff
zuzuordnen.
-
In 2 stellen die hier acht
vertikalen Pfeile die Amplitude der Extrema dar und bilden auf diese Weise
eine Signatur, von der hier angenommen wird, daß sie eine vorgegebene phonische
Einheit repräsentiert.
-
Es
wird der Zeitbereich gemäß 2 verlassen. Nun wird der
Frequenzbereich betrachtet. Die Fourier-Transformierte der momentanen
Amplitude A des Signals in einem beliebigen Punkt der Kurve gemäß 2 kann durch das Frequenzlinienspektrum gemäß 3 dargestellt werden. In
der Praxis findet man, daß die
Sprachenergie im wesentlichen auf drei Frequenzbänder beschränkt ist, die bei 0,1 kHz liegen
bzw. zwei Bänder
zwischen ungefähr
1 und 3 kHz sowie zwischen 5 und 7 kHz.
-
Wenn
man die Kurve der Amplitude gemäß 2 als Funktion der Zeit
t durchläuft,
erweist sich die Amplitude K jeder Linie in 3 folglich als moduliert als Funktion
des Verlaufs der Amplitude A des Sprachsignals.
-
Wenn
man folglich die Folge der Spektren gemäß 3 speichert, kann man die Folge der Amplituden
A des ursprünglichen
Signals mit Hilfe der inversen Fourier-Transformierten rekonstruieren.
-
Um
die Anzahl der zu bearbeitenden Spektren zu begrenzen, können lediglich
zyklische Abtastungen bewirkt werden, die ausreichend dicht beieinander
liegen, damit keine Informationen verloren gehen. Man kann sich
auch auf einen beschränkten Satz
von Spektren der durch die acht Pfeile in 2 dargestellten Amplituden-Extrema beschränken. Wenn
man die Anzahl der Spektren weiter beschränken will, kann man nur ein
einziges Spektrum speichern, welches den Mittelwert aller Spektren
im betrachteten Zeitintervall der phonischen Einheit darstellt oder
den Mittelwert der Spektren der Extrema.
-
Wie
dies weiter unten detaillierter beschrieben wird, vergleicht man
das mittleren Spektrum, oder die Spektren des erfaßten Sprachsignals
mit einem oder mehreren entsprechenden Spektrum bzw. Spektren von
Referenzsprachsignalen in der Bibliothek, um einerseits das Referenzsprachsignal
(die phonische Einheit) auszuwählen,
das dem erfaßten Signal
am meisten ähnelt,
und andererseits ein Differenzsignal zwischen dem oder den Spektren
des letzteren und dem oder den Spektren des ausgewählten Referenzsignals
zu bilden. Das Differenzsignal wird in die Form eines Codeworts
gebracht, genannt sekundäres
Codewort, und wird dem primären
Codewort des ausgewählten
Referenzsignals (erkannte phonische Einheit) zugeordnet und bildet
auf diese Weise eine zusätzliche
Information zur Modulation oder Korrektur des normierten bzw. vereinheitlichten analogen
Signals, das ausgehend von dem betrachteten primären Codewort wiedergegeben
wird.
-
Die
primären
Codewörter
der entsprechend dem Verlauf der Sprachsequenz nacheinander ausgewählten phonischen
Einheiten werden im Schritt 4 gespeichert, um eine gemäß der Norm
der Bibliothek 11 codierte Nachricht zu bilden.
-
Im übrigen werden
im Schritt 5, weiter vorne, bestimmte der erfaßten und
erkannten phonischen Einheiten bearbeitet, indem hier im Frequenzbereich mit
Hilfe der inversen Fourier- Transformierten
deren Frequenzspektrum detailliert analysiert wird, wie weiter oben
erläutert
ist, Schritt 6.
-
Im
Schritt 7 wird das Linienspektrum j der betroffenen phonischen Einheit mit
der Identität i oder die deren Verlauf über die
Zeit t darstellenden Spektren
mit dem (den) Spektrum (Spektren) der in der Bibliothek 11 ausgewählten phonischen
Einheit verglichen, das (die) in der zugehörigen Bibliothek 12 enthalten
ist (sind). Auf diese Weise wird für das Spektrum oder für jedes
Spektrum eine Serie von Wichtungs-Koeffizienten Cijt (i = Identität des Phonems,
j = Frequenzrang der Linie, t = Zeitrang) zur Verfügung gestellt,
von denen jeder die Amplitude oder relative Energie jeder Linie
j im Vergleich zu seinem Pendant in der Bibliothek 12 angibt.
Mit anderen Worten, diese Koeffizienten stellen ebenfalls, wenn
auch indirekt, die relative Differenz (1 – Cijt) zwischen der erkannte phonischen
Einheit und der entsprechenden Referenz in der Bibliothek dar. Die
Linien in jedem der drei Bänder
entsprechen tatsächlich
einem Bereich von Minibändern
von benachbarten Frequenzen, in welchen man die Sprachenergie erfaßt. Die
Analyse im Frequenzbereich, welche hier gewählt wurde, liefert auf diese
weise detailliertere Informationen als im Falle einer Analyse im
Zeitbereich gemäß 2, wo man nur über die
instantane Amplitude A verfügt.
-
Im
Fall der 2 und 3 weist die obige Serie somit
zwölf Koeffizienten
auf, die die zwölf
gezeichneten Linien repräsentieren,
während
ein Feld von acht solchen Serien die phonische Einheit repräsentiert,
und zwar über
die acht gezeichneten Extrema. Außer der Reduzierung des Feldes
auf eine einzige Serie kann vorgesehen werden, daß nur ein
mittlerer Wichtungs-Koeffizient für jedes der drei Bänder gespeichert
wird. Wenn jeder Koeffizient auf nur 4 Bits codiert wird, überschreitet
der Fehler ungefähr
3% nicht, was völlig
ausreichend ist, um ein Timbre einer Stimme wiederzugeben, wenn
das Korrektursignal eine geringe Energie bezogen auf das normierte
Signal, welches es korrigiert, repräsentiert, so daß der Fehler
bezogen aufs Ganze gering ist.
-
Man
kann folglich dem ausgewählten
primären
Codewort der phonischen Einheit in der Größenordnung von 100 Bits (12 × 8) zuordnen,
wenn man jedes Extrema speichert, oder nur 12 Bits (4 × 3) für die drei
Bänder.
Da das Timbre der Stimme hauptsächlich
durch die hohen Frequenzen des dritten Bandes geliefert wird, kann
man auch nur das sekundäre
Codewort zur Korrektur in bezug auf dieses übertragen.
-
In
einem Schritt 8 transformiert man das Spektrumdifferenzsignal
in ein sekundäres
Codewort, welches das Feld oder die obige Serie repräsentiert.
Wenn die Sequenz der erfaßten
Sprache endet, werden die primären
Codewörter
aus dem Schritt 4 und die sekundären Codewörter aus dem Schritt 8 einander
zugeordnet (Schritt 9) und dann über ein Übertragungsnetz, wie beispielsweise
das leitungsvermittelte Telefonnetz oder hier ein Nachrichtenfunknetz
gesendet (Schritt 10).
-
Das
angerufene Endgerät 35 empfängt die Nachricht
in einem Schritt 21, und in einem Schritt 22 wird
von der Schaltung 36 eine Datei in der primären Bibliothek 32 gelesen,
die der Datei der Spektren 12 ähnelt, um davon entsprechend
den primären
Codewörtern
die normierten primären
Spektren abzuleiten. In einem Schritt 23 dienen die sekundären Codewörter zur
Modulation (38) der Amplituden oder Energien der in der
primären
Bibliothek 32 gelesenen normierten Linien, um auf diese
Weise die individualisierte Bibliothek 31 aus phonischen
Einheiten zu bilden, d. h. insbesondere mit dem Timbre der aufgenommenen
Stimme. Die phonischen Einheiten der individualisierten Bibliothek 31 werden
in digitaler Form im Zeitbereich dargestellt, und zwar nach einer vorherigen
Transformation mit Hilfe der inversen Fourier-Tranformierten.
-
Im
Schritt 24 werden die empfangenen primären Codewörter nacheinander gelesen,
um mit Hilfe des Lautsprechers 34 (Schritt 25)
das aufgenommen Sprachsignal wiederzugeben. Zu diesem Zweck lesen
die primären
Codewörter
die individualisierte Bibliothek 31, die folglich der Bibliothek 11 entspricht,
welche jedoch durch die Charakteristika im Spektrum der aufgenommenen
Stimme individualisiert wurden.
-
Die
Einrichtung der Bibliothek 31 ist wie weiter oben angegeben,
fakultativ und dient zur Speicherung einer Korrektur für jedes
primäre
Codewort, wodurch vermieden wird, daß ein sekundäres Codewort wiederholt
gesendet werden muß,
wenn das gleiche primäre
Codewort mehrere Male gesendet wird. wenn dagegen systematisch ein
sekundäres
Codewort gesendet wird, kann sich dieses ändern und eventuellen Entwicklungen
des Timbres folgen. In diesem Fall ist die wiedergegebene Stimme
gleichzeitig individualisiert und außerdem wird die Entwicklung
des Timbres mit der Zeit wiedergegeben.
-
Es
sei ferner allgemein bemerkt, daß die Analyse und die. Wiedergabe
das gesamte hörbare Frequenzband
betreffen können,
welches von ungefähr
15 Hz bis 15 kHz reicht, selbst wenn man sich in der Praxis auf
bis zu 8 kHz beschränken
kann. Die Frequenzen des Bandes von 4 bis 8 kHz, welche für die klassischen Übertragungen über das
Telefonnetz herausgeschnitten werden, werden hier analysiert und
wiedergeben, da man die entsprechenden Informationen in Form einer
Fernsteuerung von der Bibliothek 31 überträgt, welche bereits die Linien
bei diesen Frequenzen enthält,
was eine explizite Übertragung
dieser vermeidet.
-
Es
sei ferner erwähnt,
daß, wenn
die Analyse nur eine begrenzte Anzahl von ausreichend charakteristischen
Frequenzbändern
in der Bibliothek 11, 12 betreffen kann, die verschiedenen
wiederzugebenden Signale in der Bibliothek 32 die Gesamtheit
der ursprünglich
erfaßten
Linien umfassen, d. h. jeweils beispielsweise ein ununterbrochenes
Band von 15 Hz bis 8 kHz abdecken.
-
Wie
zu Beginn angegeben, kann die Erfindung außerhalb des Übertragungsgebiets
eingesetzt werden, um beispielsweise lokal eine später wiederzugebene
Nachricht zu speichern, d. h., es handelt sich folglich um die Funktion
eines Tonbandgeräts.
-
Bei
einer nicht dargestellten anderen Ausführungsform sind die primären und
sekundären
Codewörter
Telefaxdaten zugeordnet, um eine Nachricht aus Stimme und Daten
zu bilden. Die Nachricht wird von der normalerweise mit Telefaxgeräten verbundenen
Fernsprechstelle erfaßt
und wird mit dem gleichen Mittel auf Seiten des angerufenen Telefaxgeräts wiedergegeben.
Die von einer Schaltung, wie der Schaltung 28, gesendeten
Codewörter
werden in ein spezielles Feld der Nachricht von einem Mikroprozessor
eingefügt,
welcher das Telefaxübertragungsprotokoll
steuert und werden genauso beim Empfang extrahiert, um wie weiter
oben erläutert,
bearbeitet zu werden. Auf diese Weise kann man eine Sprachannotation
für eine
Telefaxnachricht realisieren, wobei die Annotation beispielsweise
wie ein Telefaxkopf übertragen
wird.