EP0272723B1 - Method and arrangement for determining the temporal course of a speech parameter - Google Patents

Method and arrangement for determining the temporal course of a speech parameter Download PDF

Info

Publication number
EP0272723B1
EP0272723B1 EP87202298A EP87202298A EP0272723B1 EP 0272723 B1 EP0272723 B1 EP 0272723B1 EP 87202298 A EP87202298 A EP 87202298A EP 87202298 A EP87202298 A EP 87202298A EP 0272723 B1 EP0272723 B1 EP 0272723B1
Authority
EP
European Patent Office
Prior art keywords
value
values
speech parameter
speech
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
EP87202298A
Other languages
German (de)
French (fr)
Other versions
EP0272723A1 (en
Inventor
Hermann Ney
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Philips Patentverwaltung GmbH
Philips Gloeilampenfabrieken NV
Koninklijke Philips Electronics NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Philips Patentverwaltung GmbH, Philips Gloeilampenfabrieken NV, Koninklijke Philips Electronics NV filed Critical Philips Patentverwaltung GmbH
Publication of EP0272723A1 publication Critical patent/EP0272723A1/en
Application granted granted Critical
Publication of EP0272723B1 publication Critical patent/EP0272723B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/90Pitch determination of speech signals

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)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
  • Television Systems (AREA)

Description

Die Erfindung betrifft ein Verfahren zur Bestimmung des zeitlichen Verlaufs eines Sprachparameters eines Sprachsignals, wobei zu diskreten Zeitpunkten für jeden Wert eines vorgegebenen Wertebereichs des Sprachparameters ein Einzelwert vorhanden ist und der zeitliche Verlauf die Folge der benachbarten, einschließlich diagonal benachbarten Sprachsignalparameterwerte darstellt, deren Einzelwert zumindest nahe den Extremwerten der Einzelwerte für die einzelnen Zeitpunkte liegen, wobei die Summe der Einzelwerte dieser Folge einen Summen-Extremwert gegenüber anderen Folgen bildet.The invention relates to a method for determining the temporal course of a speech parameter of a speech signal, an individual value being available at discrete times for each value of a predetermined value range of the speech parameter and the temporal course representing the sequence of the adjacent, including diagonally adjacent, speech signal parameter values, the individual value of which is at least close the extreme values of the individual values for the individual points in time, the sum of the individual values of this sequence forming an extreme sum value compared to other sequences.

Ein Sprachparameter kann beispielsweise die Grundfrequenz oder eine Formante eines zu untersuchenden Sprachsignals sein. Andere Sprachparameter sind beispielsweise LPC-Koeffizienten (Linearprädiktion-Koeffizient).A speech parameter can be, for example, the fundamental frequency or a formant of a speech signal to be examined. Other speech parameters are, for example, LPC coefficients (linear prediction coefficient).

Die Einzelwerte beispielsweise der Sprachgrundfrequenz können mit Hilfe AMDF (Average Magnitude Difference Function) bestimmt werden. Dafür wird das Sprachsignal beispielsweise mit einer Abtastperiode von 10 kHz abgetastet, und eine bestimmte Anzahl aufeinanderfolgender Abtastwerte, die also insgesamt einen Sprachsignalabschnitt darstellen, werden gegenüber dem Sprachsignal schrittweise um eine Anzahl Abtastpunkte verschoben, und die Differenz der Abtastwerte des unverschobenen und des verschobenen Signals werden für die einzelnen Verschiebungsschritte aufsummiert. Die Verschiebung, die den kleinsten Summenwert ergibt, bezeichnet im allgemeinen die Periode der Sprachgrundfrequenz. Diese Werte sind jedoch nicht immer ganz eindeutig, es können bei Perioden von Oberwellen bzw. Formanten kleine Summenwerte auftreten, und es gibt noch weitere Einflüsse, die die korrekte Ermittlung der Sprachgrundfrequenz verfälschen. Die AMDF ergibt jedoch für jeden der aufeinanderfolgenden Sprachabschnitte, die gegen das Sprachsignal verschoben werden, bei verschiedenen Verschiebungen jeweils einen Wert, der eine gewisse Wahrscheinlichkeit bzw. genauer Unwahrscheinlichkeit dafür angibt, daß die betreffende Verschiebung die Grundperiode des Sprachsignals angibt.The individual values of the basic speech frequency, for example, can be determined using AMDF (Average Magnitude Difference Function). For this purpose, the speech signal is sampled, for example, with a sampling period of 10 kHz, and a certain number of successive samples, that is to say represent a speech signal section in total, are gradually shifted by a number of sampling points with respect to the speech signal, and the difference between the samples of the undisplaced and the shifted signal becomes added up for the individual displacement steps. The shift that gives the smallest sum value generally denotes the period of the fundamental speech frequency. However, these values are not always clear, small sum values can occur in periods of harmonics or formants, and there are other influences that falsify the correct determination of the fundamental speech frequency. However, the AMDF gives a value for each of the successive speech sections which are shifted against the speech signal, in the case of different shifts, which indicates a certain probability or more precisely unlikely that the shift in question indicates the basic period of the speech signal.

Für viele Untersuchungen, beispielsweise für die Spracherkennung oder auch die Sprechererkennung, ist es erforderlich, einen zusammenhängenden Verlauf eines oder mehrerer Sprachparameter wie die Sprachgrundfrequenz über die Zeit zu erhalten, um diesen Verlauf mit Musterverläufen vergleichen zu können. Die ermittelten AMDF-Werte müssen also von Ausreißern befreit und im übrigen geglättet werden. Eine Glättung durch ein beispielsweise lineares Filter ergibt jedoch häufig zu große Abweichungen bzw. Verfälschungen von einem optimalen bzw. wahrscheinlichsten Verlauf. Ein solcher Verlauf ist am besten durch diejenige Folge der Sprachparameterwerte, deren Einzelwert zumindest nahe an dem Minimum bei dem betreffenden Zeitpunkt liegen, charakterisiert, wenn die Summe dieser Einzelwerte insgesamt ein Minimum gegenüber anderen Folgen bilden.For many examinations, for example for speech recognition or speaker recognition, it is necessary to obtain a coherent course of one or more speech parameters such as the basic speech frequency over time in order to be able to compare this course with pattern courses. The AMDF values determined must therefore be freed from outliers and otherwise smoothed. However, smoothing by means of a linear filter, for example, often results in deviations or falsifications that are too large from an optimal or most likely course. Such a course is best characterized by the sequence of the speech parameter values, the individual values of which are at least close to the minimum at the relevant point in time, when the sum of these individual values form a minimum compared to other sequences.

In IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, Band SMC-12, Nr. 3, Mai/Juni 1982, Seiten 383-388 ist die AMDF erläutert und davon ausgehend beschrieben, wie zur Bestimmung der Sprachgrundfrequenz bei der Autokorrelation gegeneinander gegeneinander verschobener Sprachsignalabschnitte das eine zu korrelierende Sprachsignal zeitverzerrt werden kann, um eine optimale Übereinstimmung, d.h. minimale Werte der AMDF zu erzielen. Die Grundfrequenz wird für jeden Sprachabschnitt für das Minimum des AMDF-Wertes angenommen. Aufeinanderfolgende Sprachsignalabschnitte ergeben dabei jedoch Grundfrequenzwerte, die nicht immer aneinander anschließen, d.h. der zeitliche Verlauf der so gewonnenen Sprachgrundfrequenz stellt keine glatte Kurve dar.In IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, volume SMC-12, No. 3, May / June 1982, pages 383-388 the AMDF is explained and, based on this, described how to determine the basic speech frequency in the autocorrelation of mutually shifted speech signal sections, the one speech signal to be correlated can be time-distorted in order to achieve an optimal match, ie minimum values of the AMDF. The basic frequency is assumed for each speech section for the minimum of the AMDF value. Successive speech signal sections, however, result in fundamental frequency values which do not always adjoin one another, ie the time course of the basic speech frequency obtained in this way does not represent a smooth curve.

Das Glätten des Verlaufs der Sprachgrundfrequenz, unabhängig davon, wie die einzelnen Werte gewonnen werden, ist in PROCEEDINGS OF THE 6th INTERNATIONAL CONFERENCE -  PATTERN RECOGNITION, München, 19.-20. Oktober 1982, Seiten 1119-1124, IEEE, New York, US beschrieben. Mit dem dort angegebenen Verfahren werden jedoch nur Ausreißer in dem Kurvenverlauf eliminiert, so daß dann Lücken in der Kurve übrig bleiben. Auch damit ist es also nicht ohne weiteres möglich, einen optimal geglätteten zeitlichen Verlauf der Folge von Sprachparametern zu erzielen.The smoothing of the course of the basic speech frequency, regardless of how the individual values are obtained, is in PROCEEDINGS OF THE 6th INTERNATIONAL CONFERENCE - PATTERN RECOGNITION, Munich, 19-20. October 1982, pages 1119-1124, IEEE, New York, US. With the method specified there, however, only outliers in the course of the curve are eliminated, so that gaps remain in the curve. It is therefore also not easily possible to achieve an optimally smoothed chronological course of the sequence of speech parameters.

Aufgabe der Erfindung ist es daher, ein Verfahren der eingangs genannten Art anzugeben, das diesen wahrscheinlichsten Verlauf eines Sprachparameters möglichst gut annähert.The object of the invention is therefore to provide a method of the type mentioned at the outset which approximates this most likely course of a speech parameter as well as possible.

Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß bezogen auf das Minimum als Extremwert der Einzelwerte und als Summen-Extremwert zu jedem Zeitpunkt i in einem ersten Durchlauf nacheinander für alle in der einen Richtung aufeinanderfolgenden Sprachparameterwerte k ein erster Richtungswert D'(k,i) als die Summe aus dem betreffenden Einzelwert und dem Minimum der folgenden Werte

D(k,i-1)

Figure imgb0001

D(l,i-1) + a(d(k,i) + A)
Figure imgb0002

D'(l,i) + b(d(k,i) + A)
Figure imgb0003


sowie ein Hinweiswert h'(k,i) auf den das Minimum liefernden Einzelwert gebildet und abgespeichert wird, wobei
D (k,i-1)
Figure imgb0004
bzw. D(l,i-1)
Figure imgb0005
einen beim jeweils vorhergehenden Zeitpunkt i-1 und denselben Sprachparameterwert k bzw. dem vorhergehenden Sprachparameterwert l erzeugten und gespeicherten Summenwert,
D(l,i) der beim unmittelbar vorhergehenden Sprachparameterwert gebildete Richtungswert und
a, b, A vorgegebene feste Größen sind, wobei a und b vorzugsweise zwischen 0,5 und 2,0 liegen und A den Einzelwerten in stimmlosen Sprachsignalsegmenten und in Sprachpausen entspricht,
daß danach in einem zweiten Durchlauf für den gleichen Zeitpunkt i für alle in der anderen Richtung aufeinanderfolgenden Sprachparameterwerte k ein zweiter Richtungswert D"(k,i) mit einem Hinweiswert h"(k,i) in entsprechender Weise wie der erste Richtungswert gebildet wird,
daß für jeden Sprachparameterwert k das Minimum der beiden Richtungswerte D',D" und der zu diesem Richtungswert gehörende Hinweiswert h',h" als jeweils neuer Summenwert D bzw. als Gesamthinweiswert H gespeichert wird, und daß spätenstens am Ende des Sprachsignals aus dem Gesamthinweiswert H(k,I), der zu dem Sprachparameterwert k mit dem Summen-Extremwert beim letzten Zeitpunkt I gehört, der unmittelbar vorhergehende Sprachparameterwert ermittelt und der zugehörige Gesamthinweiswert ausgelesen wird usw., wobei die dabei entstehende Folge der Sprachparameterwerte ausgegeben bzw. gespeichert wird.This object is achieved according to the invention in that, based on the minimum as an extreme value of the individual values and as a sum extreme value at any time i in succession in a first pass for everyone in one direction successive speech parameter values k a first directional value D '(k, i) as the sum of the relevant individual value and the minimum of the following values

D (k, i-1)
Figure imgb0001

D (l, i-1) + a (d (k, i) + A)
Figure imgb0002

D '(l, i) + b (d (k, i) + A)
Figure imgb0003


and an indication value h '(k, i) of the individual value providing the minimum is formed and stored, wherein
D (k, i-1)
Figure imgb0004
respectively. D (l, i-1)
Figure imgb0005
a sum value generated and stored at the respective previous point in time i-1 and the same speech parameter value k or the previous speech parameter value l,
D (l, i) the direction value formed at the immediately preceding speech parameter value and
a, b, A are predetermined fixed quantities, where a and b are preferably between 0.5 and 2.0 and A corresponds to the individual values in unvoiced speech signal segments and in speech pauses,
that a second direction value D "(k, i) with an indication value h" (k, i) is then formed in a second pass for the same time i for all speech parameter values k which follow one another in the other direction, in a manner corresponding to the first direction value,
that for each speech parameter value k the minimum of the two direction values D ', D "and the reference value h', h" belonging to this direction value is stored as a new total value D or as a total reference value H, and that at the end of the speech signal from the total reference value H (k, I), which belongs to the speech parameter value k with the sum extreme value at the last time I, the immediately preceding speech parameter value is determined and the associated overall reference value is read out, etc., the resulting sequence of speech parameter values being output or stored.

Durch das erfindungsgemäße Verfahren werden also mit Mitteln der sogenannten dynamischen Programmierung Folgen von Sprachparameterwerten ermittelt, die am Ende des Sprachsignals verschiedene Werte der Summen der Einzelwerte ergeben, und die Folge, die am Ende des Sprachsignals das Minimum des Summenwerts ergibt, wird als wahrscheinlichste Folge angesehen. Durch die Speicherung der Gesamthinweiswerte für jeden Sprachparameter zu jedem Zeitpunkt kann diese Folge dann zurückverfolgt werden.By means of the so-called dynamic programming, the method according to the invention thus determines sequences of speech parameter values which give different values of the sums of the individual values at the end of the speech signal, and the sequence which gives the minimum of the sum value at the end of the speech signal is regarded as the most likely sequence . This sequence can then be traced back by storing the overall reference values for each language parameter at any time.

Bei der Bildung der Summenwerte für die einzelnen Folgen von Sprachparameterwerten werden bestimmte vorgegebene feste Größen verwendet, von denen die Größen a und b überwiegend die Glätte des Verlaufs beeinflussen, indem ein Verlauf in diagonaler Richtung und in senkrechter Richtung erschwert wird, und dafür haben diese beiden Größen a und b zweckmäßig Werte zwischen 0,5 und 2,0. Die Größe A und entspricht etwa dem Wert, den die AMDF in stimmlosen Sprachabschnitten und Pausenabschnitten aufweist, und erzwingt einen im wesentlichen waagerechten Verlauf des Sprachparameters in diesen Abschnitten.In the formation of the sum values for the individual sequences of speech parameter values, certain predefined fixed variables are used, of which the variables a and b predominantly influence the smoothness of the gradient by making a gradient in the diagonal direction and in the vertical direction more difficult, and for this they have two Sizes a and b expedient values between 0.5 and 2.0. The size A and corresponds approximately to the value that the AMDF has in unvoiced speech sections and pause sections, and forces an essentially horizontal course of the speech parameter in these sections.

Die mindestens zwei Durchläufe für die getrennte Ermittlung der beiden Richtungswerte, d.h. einmal in Aufwärtsrichtung und einmal in Abwärtsrichtung oder umgekehrt, sind erforderlich, da für jeden Richtungswert für einen möglichen Verlauf in senkrechter Richtung auch der in der betreffenden Richtung unmittelbar vorhergehende Richtungswert berücksichtigt werden muß und somit vorher ermittelt sein muß.The at least two runs for the separate determination of the two direction values, i.e. once in the upward direction and once in the downward direction or vice versa, are necessary, since for each direction value for a possible course in the vertical direction the direction value immediately preceding in the relevant direction must also be taken into account and must therefore be determined beforehand.

Die bei dem erfindungsgemäßen Verfahren gebildeten verschiedenen Werte müssen gespeichert werden, da sie anschließend noch weiter verwendet werden. Eine genaue Überprüfung des Ablaufs des erfindungsgemäßen Verfahrens ergibt jedoch, daß verschiedene Werte nur während eines relativ kurzen Zeitabschnittes benötigt werden. Eine Ausgestaltung der Erfindung ist daher dadurch gekennzeichnet, daß die Richtungswerte Dʹ,Dʺ und die Hinweiswerte hʹ,hʺ und die neuen Summenwerte für jeweils nur einen Zeitpunkt gespeichert und danach wieder überschrieben werden. Für alle Sprachparameter aller Zeitpunkte müssen also nur die Gesamthinweiswerte gespeichert werden, da nur diese für das Zurückverfolgen der am Schluß als optimal ermittelten Folge erforderlich sind, während die anderen Werte jeweils nur für einen Zeitpunkt gespeichert werden, da sie danach nicht mehr benötigt werden. Insbesondere ist bei der Ermittlung der Summenwert aller Sprachparameter nur für den vorhergehenden Zeitpunkt erforderlich, während die ermittelten Richtungswerte nur für den momentanen Zeitpunkt benötigt werden. Dadurch kann sehr viel Speicherplatz eingespart werden.The various values formed in the method according to the invention must be saved, since they are then used even further. However, a precise examination of the course of the method according to the invention shows that different values are only required during a relatively short period of time. An embodiment of the invention is therefore characterized in that the direction values Dʹ, Dʺ and the reference values hʹ, hʺ and the new total values are stored for only one point in time and then overwritten again. For all language parameters at all times, only the total reference values need to be saved, since only these are necessary for retracing the sequence that was determined to be optimal at the end, while the other values are only saved for one point in time since they are then no longer required. In particular, the determination of the total value of all speech parameters is only required for the previous point in time, while the determined direction values are only required for the current point in time. This can save a lot of storage space.

Die Bestimmung des jeweils neuen Summenwerts aus dem Minimum der beiden Richtungswerte kann in einem weiteren Durchlauf erfolgen, nachdem beide Richtungswerte für jeden Sprachparameter eines Zeitpunktes ermittelt worden sind. In vielen Fällen ist es jedoch auch möglich, den jeweils neuen Summenwert unmittelbar nach der Ermittlung des zweiten Richtungswert für jeweils einen Sprachparameter zu ermitteln und damit den alten Summenwert zu überschreiben, da dieser dann nicht mehr benötigt wird. Eine weitere Ausgestaltung der Erfindung ist daher dadurch gekennzeichnet, daß die Richtungswerte Dʹ,Dʺ und die Hinweiswerte hʹ,hʺ nur für die in der einen Richtung aufeinanderfolgenden Sprachparameterwerte k gespeichert werden und daß nach der Bildung jedes Richtungswerts Dʺ,Dʹ für die in der anderen Richtung aufeinanderfolgenden Sprachparameterwerte k unmittelbar der neue Summenwert D und der Gesamthinweiswert H gebildet gespeichert werden. Auf diese Weise kann der erforderliche Speicherbedarf noch weiter verringert werden.The determination of the new total value in each case from the minimum of the two directional values can take place in a further run after both directional values have been determined for each speech parameter of a point in time. In many cases, however, it is also possible to determine the new total value immediately after determining the second directional value for one language parameter and thus to overwrite the old total value, since this is then no longer required. A further embodiment of the invention is therefore characterized in that the direction values Dʹ, Dʺ and the reference values hʹ, hʺ are only stored for the speech parameter values k which follow one another in one direction and that after the formation of each directional value Dʺ, Dʹ for the successive speech parameter values k in the other direction, the new total value D and the overall reference value H are stored. In this way, the required memory requirement can be reduced even further.

Eine Anordnung zur Durchführung des erfindungsgemäßen Verfahrens ist gekennzeichnet durch

  • einen ersten Speicher für die Einzelwerte d(k,i) aller Sprachparameterwerte k mindestens jeweils eines Zeitpunktes i,
  • einen zweiten Speicher für jeweils einen Summenwert D(k,i) für jeden Sprachparameterwert k mindestens jeweils eines Zeitpunktes i,
  • einen dritten Speicher für jeweils einen ersten Richtungswert Dʹ(k,i) und einen Hinweiswert hʹ(k,i) für jeden Sprachparameterwert k mindestens jeweils eines Zeitpunktes i,
  • einen vierten Speicher für einen zweiten Richtungswert Dʺ(k,i) und einen zugehörigen Hinweiswert hʺ(k,i) mindestens eines Sprachparameterwertes k für denselben Zeitpunkt i wie die Werte im dritten Speicher,
  • einen fünften Speicher für die Gesamthinweiswerte H(k,i) für alle Sprachparameterwerte k und alle Zeitpunkte i,
  • eine Verarbeitungsanordnung mit Eingängen, die mit einem Datenausgang des ersten, des zweiten und des dritten bzw. vierten Speichers gekoppelt sind, und mit einem Ausgang zum Abgeben jeweils eines Richtungswertes Dʹ(k,i),Dʺ(k,i) und eines zugehörigen Hinweiswertes hʹ(k,i),hʺ(k,i), der mit dem Dateneingang des dritten Speichers (30) gekoppelt ist,
  • einen Vergleicher mit zwei Eingängen, von denen der eine vom Datenausgang des dritten Speichers jeweils einen ersten Richtungswert Dʹ(k,i) und der andere Eingang den zugehörigen zweiten Richtungswert Dʹ(k,i) empfängt, und mit einem Ausgang, der einen Umschalter steuert, der den kleineren der beiden Richtungswerte dem Dateneingang des zweiten Speichers zuführt, und
  • eine Steueranordnung mit einem Adressengenerator, der zyklisch die Adressen aller Sprachparameterwerte in der einen Richtung der Adressenfolge und danach in der anderen Richtung der Adressenfolge für mindestens den ersten bis dritten und den fünften Speicher erzeugt und der außerdem die Adressenauswahl für den Zeitpunkt mindestens für den fünften Speicher erzeugt, und mit einer Ablaufsteuerung, die das Einschreiben und Auslesen mindestens des zweiten, dritten und fünften Speichers steuert. Auf diese Weise läßt sich das erfindungsgemäße
Verfahren mit relativ geringem Aufwand realisieren.An arrangement for carrying out the method according to the invention is characterized by
  • a first memory for the individual values d (k, i) of all speech parameter values k at at least one point in time i,
  • a second memory for a sum value D (k, i) for each speech parameter value k of at least one point in time i,
  • a third memory for in each case a first directional value Dʹ (k, i) and an indication value hʹ (k, i) for each speech parameter value k of at least one point in time i,
  • a fourth memory for a second directional value Dʺ (k, i) and an associated reference value hʺ (k, i) of at least one speech parameter value k for the same time i as the values in the third memory,
  • a fifth memory for the total reference values H (k, i) for all speech parameter values k and all times i,
  • a processing arrangement with inputs, which are coupled to a data output of the first, the second and the third or fourth memory, and with an output for outputting a respective direction value Dʹ (k, i), Dʺ (k, i) and an associated reference value hʹ (k, i), hʺ (k, i), which is coupled to the data input of the third memory (30),
  • a comparator with two inputs, one of which from the data output of the third memory has a first directional value Dʹ (k, i) and the other input associated second direction value Dʹ (k, i) receives, and with an output that controls a switch that supplies the smaller of the two direction values to the data input of the second memory, and
  • a control arrangement with an address generator, which cyclically generates the addresses of all speech parameter values in one direction of the address sequence and then in the other direction of the address sequence for at least the first to third and the fifth memory and also the address selection for the time at least for the fifth memory generated, and with a sequence control that controls the writing and reading of at least the second, third and fifth memory. In this way, the invention
Realize procedures with relatively little effort.

Ausführungsbeispiele der Erfindung werden nachstehend anhand der Zeichnung erläutert. Es zeigen:

Fig. 1
ein Beispiel für einen möglichen Verlauf eines Sprachparameters über die aufeinanderfolgenden Zeitpunkte eines Sprachsignals,
Fig. 2
ein Diagramm zur Erläuterung, wie die einzelnen Richtungswerte bestimmt werden,
Fig. 3
ein Schema für den Ablauf des erfindungsgemäßen Verfahrens,
Fig. 4
eine Schaltungsanordnung zur Durchführung des erfindungsgemäßen Verfahrens,
Fig. 5
eine mögliche Ausführung der Verarbeitungsanordnung darin.
Embodiments of the invention are explained below with reference to the drawing. Show it:
Fig. 1
an example of a possible course of a speech parameter over the successive times of a speech signal,
Fig. 2
a diagram to explain how the individual direction values are determined,
Fig. 3
a diagram for the sequence of the method according to the invention,
Fig. 4
a circuit arrangement for performing the method according to the invention,
Fig. 5
a possible execution of the processing arrangement therein.

In Fig. 1 ist in einer zweidimensionalen Darstellung der Verlauf eines Sprachparameters über die Zeit schematisch dargestellt. Als Beispiel werde angenommen, daß es sich bei dem Sprachparameter um die Stimmgrundfrequenz handelt. Die über die Ordinate aufgetragenen Sprachparameterwerte k, die von 1 bis K laufen, stellen also verschiedene diskrete Frequenzwerte dar, während über die Abszisse die Zeit in Form von diskreten Zeitpunkten i aufgetragen ist, die von 1 bis I am Ende des Sprachsignals reichen. Es ist klar, daß die Anzahl der Werte in beiden Koordinatenrichtungen in der Praxis tatsächlich wesentlich größer ist.In Fig. 1, the course of a speech parameter over time is shown schematically in a two-dimensional representation. As an example, assume that the speech parameter is the basic voice frequency acts. The speech parameter values k plotted on the ordinate, which run from 1 to K, thus represent different discrete frequency values, while the abscissa plots the time in the form of discrete times i, which range from 1 to I at the end of the speech signal. It is clear that the number of values in both coordinate directions is actually much larger in practice.

Zu jedem Zeitpunkt i gibt es für jeden Sprachparameterwert k, d.h. für jeden durch einen kleinen Kreis angegebenen Kreuzungspunkt der beiden Koordinaten, einen Einzelwert d(k,i). Dieser kann beispielsweise dadurch gewonnen, daß das Sprachsignal mit einer hohen Frequenz, beispielsweise 10 kHz abgetastet wird. Jeweils eine Anzahl, beispielsweise 100 bis 200, Abtastwerte ergeben ein Sprachsegment, das also eine Dauer von 10 bis 20 msec hat. Die Abtastwerte des Sprachsignals werden dann mit s(i,j) bezeichnet, wobei der Index i die Sprachsegmente und der Index j die Abtastwerte in einem Sprachsegment angibt. rch Anwendung der AMDF (Average Magnitude Difference Function) ergeben sich dann die Einzelwerte:

Figure imgb0006

d.h. das Sprachsegment wird um eine Anzahl k Abtastwerte gegenüber dem Sprachsignal verschoben und die Differenzen zwischen korrespondierenden Abtastwerten innerhalb des Sprachsignals werden betragsmäßig aufsummiert. Jeder Verschiebung k entspricht damit eine bestimmte Frequenz. Auf diese Weise entsteht für jeden Wert von k innerhalb eines vorgegebenen Wertebereichs, der den praktisch vorkommenden Sprachgrundfrequenzen entspricht, ein Einzelwert d(k,i). Diese Einzelwerte können als eine Art von Wahrscheinlichkeit bzw. Unwahrscheinlichkeit aufgefaßt werden, daß die durch den Sprachparameterwert k angegebene Frequenz tatsächlich die Grundfrequenz des Sprachsignals in diesem Sprachsegment ist, so daß der Einzelwert für den Sprachparameterwert k entsprechend der tatsächlichen Grundfrequenz ein Minimum ist.At each point in time i there is a single value d (k, i) for each speech parameter value k, ie for each crossing point of the two coordinates indicated by a small circle. This can be obtained, for example, by sampling the speech signal at a high frequency, for example 10 kHz. In each case a number, for example 100 to 200, samples result in a speech segment which therefore has a duration of 10 to 20 msec. The samples of the speech signal are then designated s (i, j), the index i indicating the speech segments and the index j indicating the samples in a speech segment. Using the AMDF (Average Magnitude Difference Function), the individual values result:
Figure imgb0006

ie the speech segment is shifted by a number k samples compared to the speech signal and the differences between corresponding samples within the speech signal are summed up in terms of amount. Each shift k thus corresponds to a certain frequency. In this way, a value arises for each value of k within a predetermined value range that corresponds to the practically occurring basic speech frequencies Individual value d (k, i). These individual values can be understood as a kind of probability or improbability that the frequency indicated by the speech parameter value k is actually the basic frequency of the speech signal in this speech segment, so that the individual value for the speech parameter value k is a minimum corresponding to the actual basic frequency.

In Fig. 1 sind bestimmte, jeweils einem Einzelwert entsprechende Kreuzungspunkte der beiden Koordinaten k und i durch eine Linie miteinander verbunden, um ein Beispiel für einen möglichen zeitlichen Verlauf der Stimmgrundfrequenz zu zeigen. Die Linie verbindet eine derartige Folge von Einzelwerten, so daß die Summe dieser so verbundenen Einzelwerte ein Minimum gegenüber jeder anderen Verbindung ergibt, wobei diese Verbindung nur waagerecht, diagonal oder senkrecht verlaufen kann. Ein senkrechter Verlauf der Sprachgrundfrequenz kann in der Praxis zwar nicht auftreten, jedoch handelt es sich hier um zeitdiskrete Werte, so daß eine schnelle Änderung der Sprachgrundfrequenz zwischen zwei aufeinanderfolgenden Zeitpunkt i in dem diskreten Modell der Fig. 1 durch einen senkrechten Verlauf angenähert werden muß. Die Einschränkung, daß nur ein waagerechter, diagonaler oder senkrechter Verlauf zugelassen wird, d.h. daß die Linie nur unmittelbar benachbarte Einzelwerte miteinander verbindet, ergibt eine glattere Kurve, jedoch kann es dabei vorkommen, daß die Linie nicht genau die Minima der Einzelwerte jedes Zeitpunktes i miteinander verbindet, sondern es wird eine Verbindung gebildet, die die Abweichungen von den minimalen Einzelwerten, d.h. die Fehler minimiert. Dabei werden Ausreißer von Einzelwerten an einzelnen Zeitpunkten, die durch die komplexe Form des Sprachsignals und durch andere Einflüsse möglich sind, eliminiert.In FIG. 1, certain crossing points of the two coordinates k and i, each corresponding to an individual value, are connected to one another by a line in order to show an example of a possible temporal course of the basic voice frequency. The line connects such a sequence of individual values, so that the sum of these individual values connected in this way results in a minimum compared to any other connection, whereby this connection can only run horizontally, diagonally or vertically. A vertical course of the basic speech frequency cannot occur in practice, but these are time-discrete values, so that a rapid change in the basic speech frequency between two successive points in time i in the discrete model of FIG. 1 must be approximated by a vertical course. The restriction that only a horizontal, diagonal or vertical course is allowed, i.e. that the line only connects directly adjacent individual values with each other, results in a smoother curve, but it can happen that the line does not exactly match the minima of the individual values at any time i connects, but a connection is formed which minimizes the deviations from the minimum individual values, ie the errors. Outliers of individual values at individual points in time that are possible due to the complex shape of the speech signal and other influences are eliminated.

Die Ermittlung desjenigen Verlaufs, der am Ende die kleinste Gesamtsumme der Einzelwerte ergibt, wird anhand der Fig. 2 näher erläutert. Da ein senkrechter Verlauf sowohl von oben nach unten als auch von unten nach oben möglich ist, wie aus Fig. 1 hervorgeht, wird der jeweilige Summenwert der Einzelwerte für beide Richtungen getrennt bestimmt, und danach wird mit dem kleineren der sich dabei ergebenden Summenwerte, die im folgenden mit Richtungswerte bezeichnet werden, weitergegangen.The determination of the course which ultimately results in the smallest total of the individual values is explained in more detail with reference to FIG. 2. Since a vertical course is possible both from top to bottom and from bottom to top, as can be seen from FIG. 1, the respective total value of the individual values is determined separately for both directions, and then the smaller of the resulting total values is used to determine the hereinafter referred to as directional values.

Um dies leichter erläutern zu können, ist in Fig. 2 ein momentan bearbeiteter Punkt k,i, d.h. der Sprachparamterwert k zum Zeitpunkt i, doppelt dargestellt. Die waagerechte Verbindung zum gleichen Sprachparameterwert k des vorhergehenden Zeitpunktes i-1 verläuft dadurch lediglich aus zeichnerischen Gründen etwas schräg.In order to explain this more easily, a currently processed point k, i, i.e. the language parameter value k at time i is shown twice. The horizontal connection to the same speech parameter value k of the previous point in time i-1 is therefore somewhat oblique only for drawing reasons.

Zunächst werde der Richtungswert D⁺(k,i) für die aufsteigende Richtung bestimmt, wofür von jedem der drei benachbarten Punkte der dafür gebildete Summenwert bzw. Richtungswert verwendet und um den Einzelwert d(k,i) an der betreffenden Stelle erhöht wird. Da ein waagerechter Verlauf wahrscheinlicher ist als ein schräger Verlauf oder insbesondere ein senkrechter Verlauf, werden die Werte D(k-1,i-1)

Figure imgb0007
des diagonal benachbarten Punktes und D⁺(k-1,i)
Figure imgb0008
des senkrecht darunterliegenden Punktes nicht direkt verwendet, sondern um einen bestimmten Wert erhöht, wie später im einzelnen erläutert wird. Der Wert D⁺(k-1,i)
Figure imgb0009
des senkrecht darunterliegenden Punktes muß vorher ermittelt worden sein, und für diesen muß wiederum der Wert des darunterliegenden Punktes ermittelt sein, usw. bis zum untersten Punkt, so daß die Richtungswerte D⁺(k,i) ausgehend von k=1 ermittelt werden müssen. Entsprechendes gilt jedoch auch für den Richtungswert D⁻(k,i) für die Richtung nach unten, für den der Summenwert D(k+1,i-1)
Figure imgb0010
des diagonal darüberliegenden Punktes und der Richtungswert D⁻(k+1,i)
Figure imgb0011
des senkrecht darüberliegenden Punktes benötigt wird, wobei letzterer vorher ermittelt sein muß, so daß in dieser Richtung beim Wert k=K begonnen werden muß. Daraus ergibt sich, daß es zweckmäßig ist, zuerst alle Richtungswerte der einen Richtung, beispielsweise die Richtungsweise D⁺ zu bestimmen und zwischenzuspeichern, und dann erst die Richtungswerte für die andere Richtung, also in diesem Falle die Richtungswerte D⁻, und dann erst das Minimum der beiden Richtungswerte als neuen Summenwert D zu bestimmen. Eine Möglichkeit, daß nur alle Richtungswerte, z.B. D⁺, der einen Richtung ermittelt und zwischengespeichert werden müssen, wird später erläutert.First, the direction value D⁺ (k, i) is determined for the ascending direction, for which the sum value or direction value formed for each of the three neighboring points is used and increased by the individual value d (k, i) at the relevant point. Since a horizontal course is more likely than an oblique course or in particular a vertical course, the values are D (k-1, i-1)
Figure imgb0007
the diagonally adjacent point and D⁺ (k-1, i)
Figure imgb0008
of the point directly below it is not used directly, but rather increased by a certain value, as will be explained in detail later. The value D⁺ (k-1, i)
Figure imgb0009
of the vertically underneath point must have been determined beforehand, and for this in turn the value of the underneath point must be determined, etc. up to the lowest point, so that the direction values D⁺ (k, i) must be determined starting from k = 1. The same also applies to the directional value Dwert (k, i) for the downward direction, for which the total value D (k + 1, i-1)
Figure imgb0010
of point diagonally above and the direction value D⁻ (k + 1, i)
Figure imgb0011
of the vertically above point is required, the latter having to be determined beforehand, so that the value k = K must be started in this direction. It follows from this that it is expedient first to determine and temporarily store all the direction values of one direction, for example the direction D⁺, and only then the direction values for the other direction, in this case the direction values D⁻, and only then the minimum of the two direction values to be determined as the new total value D. One possibility that only all direction values, for example D⁺, of the one direction must be determined and buffered will be explained later.

In der anhand der Fig. 2 erläuterten Weise werden also jeweils für einen Zeitpunkt i die Richtungswerte D⁺ und die Richtungswerte D⁻ beider Richtungen für alle Sprachparameterwerte bestimmt und daraus jeweils das Minimum als neuer Summenwert D ermittelt und gespeichert. Beim letzten Zeitpunkt I gibt dann der Sprachparameterwert k, bei dem dieser Summenwert D von allen anderen Summenwerten zu diesem Zeitpunkt am kleinsten ist, das Ende der Folge an. Damit von diesem Ende ausgehend der Verlauf der Folge zurückverfolgt werden kann, muß bei jedem Richtungswert und dann beim Summenwert gespeichert werden, von welchem vorhergehenden Punkt ausgehend dieser Richtungswert bzw. Summenwert erreicht worden ist. Dadurch kann beim minimalen Summenwert D beim letzten Zeitpunkt I festgestellt werden, von welchem Punkt dieser erreicht worden ist, d.h. welches der vorhergehende Punkt ist, und aus dem für diesen Punkt gespeicherten Wert kann der diesem vorhergehende Punkt ermittelt werden, usw., so daß sich schließlich die gesamte Folge der Sprachparameterwerte ergibt, die den minimalen Summenwert D beim letzten Zeitpunkt I ergeben hat. Die Werte, die auf die Richtung hinweisen, in der der Punkt liegt, aus dem jeweils der folgende Punkt erreicht worden ist, werden mit Hinweiswert bzw. Gesamthinweiswert bezeichnet und müssen selbstverständlich für jeden Sprachparameterwert k zu jedem Zeitpunkt i gespeichert werden. Da es jedoch nur fünf Richtungen gibt, sind dafür lediglich drei Bit erforderlich. Alle anderen Werte müssen lediglich höchstens für alle Sprachparameterwerte k eines Zeitpunktes i bzw. i-1 gespeichert werden.In the manner explained with reference to FIG. 2, the direction values D Richtungen and the direction values D⁻ of both directions are therefore determined for all speech parameter values at a time i, and the minimum is determined and stored as a new sum value D therefrom. At the last point in time I, the speech parameter value k at which this sum value D is the smallest of all other sum values at this point in time indicates the end of the sequence. So that the course of the sequence can be traced back from this end, it must be saved for each direction value and then for the sum value from which previous point this direction value or sum value has been reached. As a result, at the minimum total value D at the last point in time I, it can be determined from which point this point has been reached, ie which point is the previous point, and from the value stored for this point the point preceding this point can be determined, etc., so that finally results in the entire sequence of the speech parameter values which gave the minimum sum value D at the last point in time I. The values that indicate the direction at which the point from which the following point has been reached is designated with the reference value or overall reference value and must of course be saved for each speech parameter value k at every point in time i. However, since there are only five directions, only three bits are required. All other values only have to be stored at most for all speech parameter values k of a point in time i or i-1.

Übrigens ist im jeden der beiden Richtungswerte D⁺ und D⁻ die waagerechte Richtung enthalten, so daß, wenn diese Richtung den kleinsten Richtungswert ergibt, beide Richtungswerte gleich sind. Für den einen Richtungswert könnte also die waagerechte Richtung weggelassen werden.Incidentally, the horizontal direction is contained in each of the two direction values D⁺ and D⁻, so that if this direction gives the smallest direction value, both direction values are the same. The horizontal direction could therefore be omitted for the one direction value.

In Fig. 3 ist der gesamte Ablauf der einzelnen Verarbeitungsschritte zur Ermittlung des zeitlichen Verlaufs der Sprachparameterwerte schematisch angegeben. Der Block 101 bezeichnet übliche Einstellungen von Anfangszuständen wie Rückstellen von Zählern und Löschen von Speicherbereichen, die nicht gesondert angegeben sind. Lediglich das Füllen der Speicherplätze für die Summenwerte D(k,1) für den ersten Zeitpunkt i=1 mit den entsprechenden Einzelwerten d(k,1) ist angegeben.3 schematically shows the entire sequence of the individual processing steps for determining the time course of the speech parameter values. Block 101 denotes normal settings of initial states, such as resetting counters and deleting memory areas, which are not specified separately. Only the filling of the memory locations for the sum values D (k, 1) for the first time i = 1 with the corresponding individual values d (k, 1) is specified.

Danach wird im Block 102 ein Zähler, der den momentanen Zeitpunkt i angibt, auf den nächsten Zeitpunkt i+1 geschaltet. Danach werden im Block 103 die aufsteigenden Richtungswerte D⁺(k) in folgender Weise bestimmt:

D⁺(k,i) = d(k,i)+min{D(k,i-1),D(k-1,i-1)+a [d(k,i)+A] , D⁺(k-1,i)+b [d(k,i)+A]}   (1)

Figure imgb0012

Then, in block 102, a counter indicating the current point in time i is switched to the next point in time i + 1. The ascending direction values D⁺ (k) are then determined in the following manner in block 103:

D⁺ (k, i) = d (k, i) + min {D (k, i-1), D (k-1, i-1) + a [d (k, i) + A], D ⁺ (k-1, i) + b [d (k, i) + A]} (1)
Figure imgb0012

Diese Gleichung bedeutet gemäß Fig. 2, daß der Einzelwert d(k,i) addiert wird zu dem Minimum der Summenwerte der drei benachbarten Punkte, wobei für die waagerechte Richtung der Summenwert D(k,i-1)

Figure imgb0013
direkt verwendet wird, während bei den anderen Werten noch ein Term addiert wird, der von dem Einzelwert des gerade betrachteten Punktes und von festen Größen a bzw. b und A abhängt. Die Größe A entspricht den Einzelwerten in stimmlosen Sprachsignalsegmenten und in Pausensegmenten und führt dazu, daß in diesen Bereichen der Verlauf praktisch stets waagerecht ist. Mit den Größen a und b wird die Glätte des Verlaufs beeinflußt, d.h. je größer a und b ist, desto stärker werden die Diagonale und die senkrechte Richtung benachteiligt. Es sind daher empirisch gewonnene Größen, die im allgemeinen bei Sprachsignalen zwischen 0,5 und 2,0 liegen. Im Block 103 wird außerdem noch der Hinweiswert h⁺(k,i) ermittelt, der angibt, von welchem vorhergehenden Punkt der momentane Punkt erreicht worden ist, d.h. welcher der drei Terme, von denen beim Richtungswert D⁺(k,i) das Minimum bestimmt wird, dieses Minimum ergeben hat. Außerdem wird ein Zähler für den Sprachparameterwert k um 1 auf k+1 erhöht.According to FIG. 2, this equation means that the individual value d (k, i) is added to the minimum of the sum values of the three neighboring points, the sum value being for the horizontal direction D (k, i-1)
Figure imgb0013
is used directly, while for the other values a term is added which depends on the individual value of the point currently under consideration and on fixed quantities a or b and A. The size A corresponds to the individual values in unvoiced speech signal segments and in pause segments and leads to the fact that in these areas the course is practically always horizontal. The sizes a and b influence the smoothness of the course, ie the larger a and b, the more the diagonal and the vertical direction are disadvantaged. It is therefore empirically obtained quantities that are generally between 0.5 and 2.0 for speech signals. In block 103, the indication value h⁺ (k, i) is also determined, which indicates from which previous point the current point was reached, ie which of the three terms, of which the minimum at the direction value D⁺ (k, i) is determined, this minimum has resulted. In addition, a counter for the speech parameter value k is increased by 1 to k + 1.

Der Block 103 wird also nacheinander für alle Sprachparameterwerte k eines bestimmten Zeitpunktes i durchgeführt.Block 103 is therefore carried out in succession for all speech parameter values k of a specific point in time i.

Wenn für alle Werte k der Richtungswert und der Hinweiswert bestimmt und zwischengespeichert ist, d.h. k=K, wird gemäß Block 104 der andere Richtungswert D⁻(k,i) für die andere Richtung in folgender Weise bestimmt:

D⁻(k,i) = d(k,i)+min {D(k,i-1),D(k+1,i-1)+a [d(k,i)+A,] , D⁻(k+1,i)+a [d(k,i)+A]}   (2)

Figure imgb0014

If the direction value and the reference value are determined and temporarily stored for all values k, ie k = K, the other direction value D⁻ (k, i) for the other direction is determined according to block 104 in the following way:

D⁻ (k, i) = d (k, i) + min {D (k, i-1), D (k + 1, i-1) + a [d (k, i) + A,], D⁻ (k + 1, i) + a [d (k, i) + A]} (2)
Figure imgb0014

Hierfür gilt das gleiche wie für die Berechnungen des Blocks 103, es werden lediglich die in der anderen Richtung vorangehenden Punkte berücksichtigt, d.h. k-1 ist ersetzt durch k+1. In entsprechender Weise wird auch der Hinweiswert h⁻(k,1) bestimmt. Da dies die Richtungswerte für die abwärts zeigende Richtung sind, wobei die Berechnung mit dem höchsten Sprachparameterwert K beginnt, wird hier jeweils nach der Bestimmung des Richtungswerts und des zugehörigen Hinweiswerts der Zähler für die Sprachparameter k um 1 auf k-1 verringert.The same applies here as for the calculations of the Blocks 103, only the points preceding in the other direction are taken into account, ie k-1 is replaced by k + 1. The reference value h⁻ (k, 1) is also determined in a corresponding manner. Since these are the direction values for the downward direction, the calculation starting with the highest speech parameter value K, the counter for the speech parameters k is reduced by 1 to k-1 after the determination of the direction value and the associated reference value.

Wenn alle Richtungswerte und Hinweiswerte auch der anderen Richtung ermittelt sind, d.h. auch für den ersten Sprachparameterwert k=1, wird gemäß Block 105 von den zwei Richtungswerten D⁺(k,i) und D⁻(k,i) aller Sprachparameter k jeweils das Minimum ermittelt und als Summenwert D(k,i) gespeichert, und außerdem wird jeweils der zugehörige Hinweiswert h⁺(k,i) bzw. h⁻(k,i) als Gesamthinweiswert H(k,i) gespeichert. Wenn dies für alle Sprachparameterwerte k erfolgt ist, d.h. k=K, wird auf den Block 102 zurückgegangen, wo der Zähler für den Zeitpunkt i auf den nächsten Wert i+1 eingestellt wird, und der beschriebene Vorgang wird wiederholt.When all direction values and reference values of the other direction have been determined, i.e. also for the first speech parameter value k = 1, the minimum of the two directional values D⁺ (k, i) and D⁻ (k, i) of all speech parameters k is determined in accordance with block 105 and stored as a sum value D (k, i), and in addition the associated hint value h⁺ (k, i) or h⁻ (k, i) is stored as the total hint value H (k, i). If this has been done for all speech parameter values k, i.e. k = K, the system goes back to block 102, where the counter for the time i is set to the next value i + 1, and the process described is repeated.

Die in den Blocks 104 und 105 getrennt angegebenen Vorgänge können auch gemeinsam durchgeführt werden, d.h. nach jeder Ermittlung eines Richtungswerts D⁻(k,i) für einen Sprachparameterwert k kann unmittelbar danach festgestellt werden, ob dieser oder der im vorhergehenden Durchlauf ermittelte Richtungswert D⁺(k,i) kleiner ist, und der kleinere von beiden wird als neuer Summenwert D(k,i) gespeichert. Dabei muß allerdings der bisherige Summenwert D(k,i-1)

Figure imgb0015
zwischengespeichert werden, da er für den folgenden Richtungswert D⁻(k-1,i)
Figure imgb0016
noch benötigt werden. Außerdem sind dann für jeden Sprachparameterwert k eine größere Anzahl Schritte durchzuführen.The processes specified separately in blocks 104 and 105 can also be carried out together, ie after each determination of a direction value D⁻ (k, i) for a speech parameter value k, it can be determined immediately afterwards whether this or the direction value D⁺ determined in the previous run (k, i) is smaller, and the smaller of the two is stored as the new sum value D (k, i). However, the previous total value must be used D (k, i-1)
Figure imgb0015
be cached because it is for the following directional value D⁻ (k-1, i)
Figure imgb0016
still needed. In addition, a larger number of steps must then be carried out for each speech parameter value k.

Wenn für alle Zeitpunkte i die Summenwerte D(k,i) und insbesondere die Hinweiswerte H(k,i) bestimmt worden sind, d.h. es ist der letzte Zeitpunkt i=I erreicht, werden die Vorgänge gemäß Block 106 ausgelöst. Danach wird zunächst der Summenwert D(m,I) bestimmt, der das Minimum aller Summenwerte D(k,I) beim letzten Zeitpunkt I darstellt. Danach wird der zu diesem minimalen Summenwert D(m,I) gehörende Gesamthinweiswert H(m,I) ausgelesen und daraus der dem Punkt m,I vorherhergehende Punkt k₁,i₁ bestimmt. Der an dieser Stelle gespeicherte Hinweiswert H(k₁,i₁) wird dann ausgelesen und der diesem wiederum vorhergehende Punkt ermittelt, usw., bis der Anfang des auf diese Weise bestimmten Verlaufs des Sprachparameters erreicht ist. Die bei diesem Zurückverfolgen entstehende Folge von Punkten in Form von deren Koordinaten, d.h. dem Zeitpunkt i und dem Sprachparameter k, stellt die gesuchte Folge dar.If the total values D (k, i) and in particular the reference values H (k, i) have been determined for all times i, i.e. the last point in time i = I has been reached, the processes according to block 106 are triggered. The sum value D (m, I) is then first determined, which represents the minimum of all the sum values D (k, I) at the last point in time I. Then the total reference value H (m, I) belonging to this minimum sum value D (m, I) is read out and from this the point m 1, preceding point k 1, i 1 is determined. The reference value H (k 1, i 1) stored at this point is then read out and the point preceding this in turn is determined, etc., until the beginning of the course of the speech parameter determined in this way is reached. The resulting sequence of points in the form of their coordinates, i.e. the time i and the speech parameter k represents the sequence sought.

In Fig. 4 ist das Blockschaltbild einer Anordnung dargestellt, die die in Fig. 3 angegebenen Bearbeitungsschritte ausführt. Der Block 10 bezeichnet vorzugsweise einen Speicher, der alle Einzelwerte d(k,i) enthält und der von den Sprachparameterwerten k und den Werten entsprechend den Zeitpunkten i adressiert wird. Der Block 10 muß zumindest die Einzelwerte für alle Sprachparameter k eines Zeitpunktes i enthalten, da diese jeweils zweimal, nämlich für beide Richtungswerte D⁺ und D⁻ benötigt werden. Der Block 10 kann auch die Anordnung zur Erzeugung der Einzelwerte einschließen, die jedoch nicht Bestandteil der Erfindung ist und daher nicht näher ausgeführt ist.FIG. 4 shows the block diagram of an arrangement which carries out the processing steps indicated in FIG. 3. The block 10 preferably designates a memory which contains all individual values d (k, i) and which is addressed by the speech parameter values k and the values corresponding to the times i. Block 10 must contain at least the individual values for all speech parameters k of a point in time i, since these are required twice, namely for both directional values D⁺ and D⁻. Block 10 can also include the arrangement for generating the individual values, which, however, is not part of the invention and is therefore not detailed.

Der Block 20 stellt einen Speicher dar, der die Summenwerte D(k,i-1)

Figure imgb0017
des jeweils vorhergehenden Zeitpunktes i-1 zu Beginn eines neuen Zeitpunktes i enthält und der am Ende dieses neuen Zeitpunktes die neuen Summenwerte D(k,i) enthält. Das Erzeugen und Einschreiben dieser Summenwerte wird später erläutert. Der Speicher 20 wird von den Sprachparameterwerten k adressiert, und über einen Eingang, der ein Signal d erhält, wird er auf das Einschreiben der über die Verbindung 35 zugeführten Werte umgeschaltet. Der Datenausgang 21 des Speichers 20 ist mit der Reihenschaltung von zwei Registern 22 und 24 verbunden, von denen das Register 22 den Wert vom Ausgang 21 übernimmt und seinen früheren Inhalt gleichzeitig in das andere Register 24 überträgt. Damit enthält das Register 22 jeweils den Summenwert D(k,i-1)
Figure imgb0018
und das Register 24 den vorhergehenden Summenwert D(k-1,i-1)
Figure imgb0019
bzw. D(k+1,i-1)
Figure imgb0020
, je nachdem welche Richtungswerte gerade berechnet werden. Ein weiteres Register 26 ist vorgesehen, das den auf der Verbindung 13 vorhandenen, gerade ermittelten Richtungswert D⁺(k-1,i)
Figure imgb0021
bzw. D⁻(k+1,i)
Figure imgb0022
aufnimmt und während der Ermittlung des jeweils folgenden Richtungswerts am Ausgang 27 bereitstellt.Block 20 represents a memory that contains the total values D (k, i-1)
Figure imgb0017
of the preceding point in time i-1 at the beginning of a new point in time i and which contains the new total values D (k, i) at the end of this new point in time. The generation and writing of these total values will be explained later. The memory 20 is addressed by the speech parameter values k and, via an input which receives a signal d, it is switched over to writing in the values supplied via the connection 35. The data output 21 of the memory 20 is connected to the series connection of two registers 22 and 24, of which the register 22 takes the value from the output 21 and simultaneously transfers its previous content to the other register 24. Register 22 thus contains the total value D (k, i-1)
Figure imgb0018
and register 24 the previous sum value D (k-1, i-1)
Figure imgb0019
respectively. D (k + 1, i-1)
Figure imgb0020
, depending on which direction values are currently being calculated. A further register 26 is provided, which contains the direction value currently determined on the connection 13 D⁺ (k-1, i)
Figure imgb0021
respectively. D⁻ (k + 1, i)
Figure imgb0022
records and provides at the output 27 during the determination of the following direction value.

Die Ausgänge 11 des Speichers 10 sowie 23, 25 und 27 der Register 22, 24 und 26 führen auf eine Verarbeitungsanordnung 12, die die in den Blöcken 103 und 104 in Fig. 3 angegebenen Berechnungen durchführt und am Ausgang 13 wie erwähnt den jeweils neuen Richtungswert D⁺(k,i) bzw. D⁻(k,i) und am Ausgang 19 den zugehörigen Hinweiswert h⁻(k,i) bzw. h⁺(k,i) erzeugt. Diese Werte werden einem Speicher 30 zugeführt, der ebenfalls von den Sprachparameterwerten k adressiert wird und der in einem ersten Durchlauf zu Beginn jedes neuen Zeitpunktes, bei dem beispielsweise die einen Richtungswerte D⁺(k,i) und die zugehörigen Hinweiswerte h⁺(k,i) für alle Sprachparameterwerte k erzeugt werden, durch ein Signal c an einem zusätzlichen Eingang auf Schreiben geschaltet ist und somit alle Richtungswerte und Hinweiswerte in diesem Durchlauf aufnimmt.The outputs 11 of the memory 10 and 23, 25 and 27 of the registers 22, 24 and 26 lead to a processing arrangement 12 which carries out the calculations specified in blocks 103 and 104 in FIG. 3 and at output 13, as mentioned, the respective new direction value D⁺ (k, i) or D⁻ (k, i) and at output 19 the associated reference value h⁻ (k, i) or h⁺ (k, i). These values are fed to a memory 30, which is also addressed by the speech parameter values k and which in a first pass at the beginning of each new point in time, in which, for example, the one direction values D⁺ (k, i) and the associated reference values h⁺ (k, i) are generated for all speech parameter values k, switched to write by a signal c at an additional input and thus records all direction values and reference values in this run.

Wenn alle Richtungswerte und Hinweiswerte der einen Richtung erzeugt sind, werden die Speicher 10 und 20 in der umgekehrten Reihenfolge der Sprachparameter k adressiert, d.h. also ausgehend vom maximalen Wert k=K bis zum minimalen Wert k=1, wenn vorher die Adressierung vom minimalen Wert beginnend bis zum maximalen Wert gelaufen war. Die bei diesem zweiten Durchlauf von der Verarbeitungsanordnung 12 auf der Verbindung 13 erzeugten Richtungswerte D⁻(k,i) und auf der Verbindung 19 erzeugten Hinweiswerte h⁻(k,i) werden einem weiteren Speicher 40 zugeführt, der ebenfalls durch die Sprachparameterwerte k adressiert wird und durch ein Signal d an einem weiteren Eingang auf Schreiben eingestellt ist.When all direction values and reference values of the one direction have been generated, the memories 10 and 20 are addressed in the reverse order of the speech parameters k, i.e. So starting from the maximum value k = K to the minimum value k = 1, if the addressing had previously started from the minimum value to the maximum value. The direction values D⁻ (k, i) generated on the connection 13 in this second pass by the processing arrangement 12 and the reference values h⁻ (k, i) generated on the connection 19 are fed to a further memory 40, which is also addressed by the speech parameter values k is and is set to write by a signal d at another input.

Nach dem Erzeugen beider Richtungswerte und Hinweiswerte für alle Sprachparametwerte k eines Zeitpunktes und dem Einschreiben dieser Werte in die Speicher 30 bzw. 40 werden nochmals nacheinander alle Sprachparameterwerte k erzeugt und für jeden Wert k die Inhalte dieser Speicher 30 und 40 ausgelesen. Über die Leitungen 29 und 39 werden die beiden Richtungswerte D⁺(k,i) und D⁻(k,i) einem Vergleicher 14 zugeführt, der abhängig davon, welcher der beiden Richtungswerte kleiner ist, an seinem Ausgang 15 ein entsprechendes Signal abgibt. Wenn der Richtungswert auf der Verbindung 29 kleiner ist als der Richtungswert auf der Verbindung 39, erzeugt der Vergleicher 14 auf der Leitung 15 ein Signal, das die beiden Umschalter 32 und 34 in die linke Stellung umschaltet, so daß also der kleinere der beiden Richtungswerte über den Umschalter 34 und die Leitung 35 als neuer Summenwert dem Speicher 20 zugeführt und dort eingeschrieben wird, und gleichzeitig wird der auf der Verbindung 31 abgegebene zugehörige Hinweiswert als Gesamthinweiswert über den Schalter 32 einem Speicher 50 zugeführt und dort gespeichert. Die Speicheradresse für den Speicher 50 wird über den Umschalter 36 zugeführt, der zunächst durch ein Signal e in der unteren Stellung gehalten wird, so daß die Adresse aus dem Sprachparameterwert k und dem Wert i für den jeweiligen Zeitpunkt gebildet wird.After the generation of both directional values and reference values for all speech parameter values k at one point in time and the writing of these values into the memories 30 and 40, all speech parameter values k are generated one after the other and the contents of these memories 30 and 40 are read out for each value k. The two direction values D die (k, i) and D⁻ (k, i) are fed via lines 29 and 39 to a comparator 14 which, depending on which of the two direction values is smaller, outputs a corresponding signal at its output 15. If the direction value on connection 29 is smaller than the direction value on connection 39, comparator 14 generates on line 15 a signal which switches the two changeover switches 32 and 34 to the left position, so that the smaller of the two direction values over the changeover switch 34 and the line 35 are supplied to the memory 20 as a new total value and are written there, and at the same time the associated reference value output on the connection 31 is supplied as a total reference value via the switch 32 to a memory 50 and stored there. The memory address for memory 50 becomes supplied via the changeover switch 36, which is initially held in the lower position by a signal e, so that the address is formed from the speech parameter value k and the value i for the respective point in time.

Wenn der Richtungswert auf der Verbindung 39 kleiner ist als der Richtungswert auf der Verbindung 29, erzeugt der Vergleicher 14 am Ausgang 15 ein Signal, das die beiden Umschalter 32 und 34 in die entgegengesetzte Lage umschaltet, so daß dann wieder der kleinere Richtungswert über die Verbindung 35 dem Speicher 20 und der zugehörige, auf der Verbindung 41 abgegebene Gesamthinweiswert über den Umschalter 32 dem Speicher 50 zugeführt wird. Im Speicher 20 werden durch die auf der Verbindung 35 zugeführten Minimum-Richtungswerte, die den neuen Summenwert D(k,i) darstellen, die entsprechenden früher gespeicherten Summenwerte desselben Sprachparameterwerts k überschrieben, so daß der Speicher 20 nur eine Kapazität von K Worten haben muß. Entsprechendes gilt auch für die Speicher 30 und 40. Lediglich der Speicher 50 muß für jeden Sprachparameterwert k jedes Zeitpunktes i einen Speicherplatz für einen Gesamthinweiswert aufweisen, der wegen der Tatsache, daß nur fünf verschiedene Richtungen möglich sind, nur drei Bit groß sein muß.If the direction value on the connection 39 is smaller than the direction value on the connection 29, the comparator 14 generates a signal at the output 15 which switches the two changeover switches 32 and 34 into the opposite position, so that the smaller direction value then again over the connection 35 is fed to the memory 20 and the associated overall reference value, which is output on the connection 41, is transferred to the memory 50 via the changeover switch 32. In the memory 20, the corresponding previously stored total values of the same speech parameter value k are overwritten by the minimum direction values, which represent the new total value D (k, i), so that the memory 20 only has to have a capacity of K words . The same applies to the memories 30 and 40. Only the memory 50 must have a memory location for an overall reference value for each speech parameter value k at each point in time i, which has to be only three bits in size due to the fact that only five different directions are possible.

Wenn auf diese Weise das letzte Sprachsegment verarbeitet und damit der Zeitpunkt I erreicht ist, wird eine Anordnung aus einem Vergleicher 38 und einem Register 48 eingeschaltet, wodurch der minimale Summenwert D(m,I) bei diesem letzten Zeitpunkt I und der zugehörige Sprachparameter k=m dieses Minimums festgestellt wird. Dazu wird beispielsweise der Inhalt des Registers 48 auf seinem Maximalwert festgehalten und erst mit dem letzten Zeitpunkt I freigegeben, was der Übersichtlichkeit halber nicht näher dargestellt ist.If the last speech segment is processed in this way and the time I is reached, an arrangement comprising a comparator 38 and a register 48 is switched on, as a result of which the minimum sum value D (m, I) at this last time I and the associated speech parameter k = m of this minimum is determined. For this purpose, for example, the content of register 48 is held at its maximum value and only released at the last point in time I, which is not shown in more detail for the sake of clarity.

Der erste Summenwert D(k,I), der zum Zeitpunkt I am Ausgang des Umschalters 34 auf der Verbindung 35 erscheint, wird dem einen Eingang des Vergleichers 38 sowie dem Dateneingang des Registers 48 zugeführt, dessen Ausgang 49 mit dem anderen Eingang des Vergleichers 38 verbunden ist. Da der auf der Verbindung 35 auftretende Summenwert kleiner sein wird als der Maximalwert, auf den das Register 38 vorher festgehalten wurde und der noch auf der Verbindung 49 vorhanden ist, erzeugt der Vergleicher 38 auf seiner Ausgangsleitung 37 ein Signal, das den momentanen Summenwert auf der Verbindung 35 in das Register 48 einschreibt, und außerdem wird in ein weiteres Register 42 der momentane Sprachparameterwert k und der Wert i des momentanen Zeitpunktes eingeschrieben. Wenn der nächste, am Ausgang des Schalters 34 auftretende Summenwert kleiner ist als der vorhergehende Wert, erzeugt der Vergleicher 38 wieder ein Signal auf der Ausgangsleitung 37, so daß dieser kleinere Summenwert in das Register 48 und die entsprechenden Werte k und I in das Register 42 eingeschrieben werden. Dies geschieht so lange, bis der am Ausgang des Schalters 34 erscheinende Summenwert nicht mehr kleiner ist als der vorhergehende Summenwert, so daß das Register 48 stets den kleinsten Summenwert und das Register 42 die zugehörigen Werte k und i enthält. Dies wird fortgesetzt bis zum letzten Summenwert zum Zeitpunkt I, so daß dann der Speicher 50 alle Gesamthinweiswerte H(k,i) und das Register 48 den kleinsten aller Summenwerte zum Zeitpunkt I und das Register 42 die entsprechenden Werte k und I enthält. Damit ist das Ende der gesuchten Folge identifiziert.The first sum value D (k, I), which appears at time I at the output of the switch 34 on the connection 35, is fed to one input of the comparator 38 and to the data input of the register 48, the output 49 of which is connected to the other input of the comparator 38 connected is. Since the total value occurring on the connection 35 will be smaller than the maximum value to which the register 38 was previously held and which is still present on the connection 49, the comparator 38 generates on its output line 37 a signal which indicates the current total value on the Writes connection 35 in the register 48, and the current speech parameter value k and the value i of the current time are also written into a further register 42. If the next total value occurring at the output of the switch 34 is smaller than the previous value, the comparator 38 again generates a signal on the output line 37 so that this smaller total value is entered into the register 48 and the corresponding values k and I into the register 42 be registered. This continues until the total value appearing at the output of the switch 34 is no longer less than the previous total value, so that the register 48 always contains the smallest total value and the register 42 contains the associated values k and i. This continues until the last total value at time I, so that memory 50 then contains all the total reference values H (k, i) and register 48 contains the smallest of all total values at time I and register 42 contains the corresponding values k and I. The end of the searched sequence is thus identified.

Nun wird durch das Signal e der Umschalter 36 umgeschaltet, so daß der Speicher 50 von dem Ausgang 45 eines Adreßrechners 44 adressiert wird. Dieser erhält vom Register 42 über die Verbindung 43 die darin enthaltenen Werte m und I entsprechend dem minimalen Summenwert, und der an dieser Adresse im Speicher 50 enthaltene Gesamthinweiswert H(m,I) wird ausgelesen und über die Verbindung 51 dem Adressenrechner 44 zugeführt. Dieser modifiziert mit diesem Hinweiswert die über die Verbindung 43 zugeführten Werte, so daß am Ausgang 45 die Werte k₁ und i₁ des vorhergehenden Punktes erscheinen. Diese werden in das Register 42 eingeschrieben und adressieren gleichzeitig den Speicher 50, so daß der zugehörige Hinweiswert H(k₁,i₁) ausgelesen und über die Verbindung 51 dem Adressenrechner 44 zugeführt wird. Dieser erzeugt damit wieder die Werte des nächsten vorhergehenden Punktes auf der Verbindung 45, die wieder im Register 42 abgespeichert werden und gleichzeitig den Speicher 50 adressieren usw., so daß am Ausgang 46 schließlich die gesuchte Folge der Werte k und i in umgekehrter Reihenfolge erscheint. Diese können zwischengespeichert oder auch direkt verarbeitet werden, was nicht näher dargestellt ist, da es nicht mehr zur Erfindung gehört.Now the switch 36 is switched by the signal e, so that the memory 50 is addressed by the output 45 of an address computer 44. This receives from register 42 via connection 43 those contained therein Values m and I corresponding to the minimum total value, and the total reference value H (m, I) contained in this address in the memory 50 is read out and fed to the address computer 44 via the connection 51. With this reference value, this modifies the values supplied via the connection 43, so that the values k 1 and i 1 of the previous point appear at the output 45. These are written into the register 42 and simultaneously address the memory 50, so that the associated reference value H (k 1, i 1) is read out and fed to the address computer 44 via the connection 51. This again generates the values of the next previous point on the connection 45, which are again stored in the register 42 and simultaneously address the memory 50, etc., so that the desired sequence of the values k and i finally appears in reverse order at the output 46. These can be temporarily stored or also processed directly, which is not shown in detail since it is no longer part of the invention.

Es ist auch möglich, den Speicher 40 einzusparen, wobei dann die Verbindung 13 direkt mit der Verbindung 39 und die Verbindung 19 direkt mit der Verbindung 41 gekoppelt wird, entsprechend der Erläuterung bei Fig. 3, wenn die Blöcke 104 und 105 zusammengefaßt werden. Dann wird also, wenn die Richtungswerte für eine Richtung, beispielsweise die Richtungswerte D⁺(k,i) und die zugehörigen Hinweiswerte h⁺(k,i) für alle Sprachparamterwerte k erzeugt und im Speicher 30 gespeichert sind, jeder von der Verarbeitungsanordnung 12 auf der Verbindung 13 erzeugte Richtungswert D⁻(k,i) direkt dem Vergleicher 14 zugeführt, der dann gleichzeitig vom Speicher 30 über die Verbindung 29 den anderen Richtungswert D⁺(k,i) erhält, und der kleinere dieser beiden Richtungswerte wird dann unmittelbar über den Umschalter 34 und die Verbindung 35 dem Speicher 20 zugeführt und darin eingeschrieben. Gleichzeitig wird der zugehörige Hinweiswert über den Schalter 32 als Gesamthinweiswert H(k,i) in den Speicher 50 eingeschrieben. Dabei sind dann für jeden Zeitpunkt i nur zwei Durchläufe aller Sprachparameterwerte k erforderlich.It is also possible to save the memory 40, in which case the connection 13 is coupled directly to the connection 39 and the connection 19 is connected directly to the connection 41, as explained in FIG. 3, when the blocks 104 and 105 are combined. Then, when the direction values for one direction, for example the direction values D⁺ (k, i) and the associated reference values h⁺ (k, i) for all speech parameter values k are generated and stored in the memory 30, each is opened by the processing arrangement 12 Direction value D⁻ (k, i) generated by connection 13 is fed directly to comparator 14, which then simultaneously receives the other direction value D⁺ (k, i) from memory 30 via connection 29, and the smaller of these two direction values is then immediately transmitted via the changeover switch 34 and the connection 35 to the memory 20 fed and registered in it. At the same time, the associated hint value is written into the memory 50 via the switch 32 as the total hint value H (k, i). In this case, only two runs of all speech parameter values k are required for each time i.

Eine Steueranordnung, die die dafür erforderlichen Werte k und i sowie die Steuersignale c,d und e erzeugt, ist im gestrichelten Block 16 dargestellt. Darin ist ein Taktgenerator 52 vorhanden, der einen Zähler 54 ansteuert, von dem jede mögliche Stellung einen anderen Wert des Sprachparameters k darstellt. Dieser Zähler 54 möge von 1 zu zählen beginnen, und wenn er den letzten Sprachparameterwert k=K erreicht hat, gibt er auf der Leitung 55 ein Signal ab, daß eine bistabile Kippstufe 56 umschaltet, so daß das Signal c verschwindet, das das Einschreiben in den Speicher 30 gesteuert hat, und das Signal d beginnt, mit dem die Summenwerte D(k,i) in den Speicher 20 und die Gesamthinweiswerte H(k,i) in den Speicher 50 eingeschrieben werden. Gleichzeitig wird die Zählrichtung des Zählers 54 umgekehrt, der nun wieder rückwärts zählt, so daß die Werte k an seinem Ausgang von K bis 1 laufen. Dies ist der zweite Durchlauf, bei dem die anderen Richtungswerte und die neuen Summenwerte und die Gesamthinweiswerte erzeugt und gespeichert werden.A control arrangement which generates the values k and i required for this and the control signals c, d and e is shown in the dashed block 16. A clock generator 52 is present therein, which controls a counter 54, of which each possible position represents a different value of the speech parameter k. This counter 54 may begin to count from 1, and when it has reached the last speech parameter value k = K, it outputs a signal on line 55 that a bistable flip-flop 56 switches over, so that the signal c disappears, which means that the registration in has controlled the memory 30, and the signal d begins, with which the total values D (k, i) are written into the memory 20 and the total indication values H (k, i) into the memory 50. At the same time, the counting direction of the counter 54 is reversed, which now counts down again, so that the values k at its output run from K to 1. This is the second run, in which the other direction values and the new total values and the overall reference values are generated and saved.

Wenn der Zähler 54 wieder bei seiner Anfangsstellung angelangt ist, wird wieder auf der Leitung 55 ein Signal erzeugt, so daß die bistabile Kippstufe 56 wieder umschaltet und das Signal d verschwindet und das Signal c wieder beginnt, und gleichzeitig wird ein Zähler 58 um eine Stellung weitergeschaltet, dessen Ausgänge die Werte i liefern.When counter 54 has returned to its initial position, a signal is again generated on line 55, so that bistable flip-flop 56 switches again and signal d disappears and signal c starts again, and at the same time counter 58 becomes one position switched on, the outputs of which supply the values i.

Wenn auf diese Weise der Zähler 58 schließlich alle Stellungen durchlaufen hat und den letzten Zeitpunkt I erreicht hat, erzeugt er anschließend, beispielsweise an einem Übertragsausgang, das Signal e, das den Umschalter 36 umschaltet, wie vorstehend beschrieben wurde, so daß das Zurückverfolgen der ermittelten Folge beginnen kann.In this way, if the counter 58 finally all Has passed through positions and has reached the last point in time I, it then generates, for example at a carry output, the signal e which switches the changeover switch 36, as described above, so that the tracing back of the determined sequence can begin.

Die für die Speicher 20, 30 usw. sowie für die Register 22, 24 usw. und die Verarbeitungsanordnung 12 gegebenenfalls erforderliche Taktsteuerung, die in Fig. 4 der Übersichtlichkeit halber nicht dargestellt ist, kann ebenfalls von dem Taktgenerator 52 abgleitet werden.The clock control that may be required for the memories 20, 30 etc. and for the registers 22, 24 etc. and the processing arrangement 12, which is not shown in FIG. 4 for the sake of clarity, can also be derived from the clock generator 52.

In Fig. 5 ist eine mögliche Ausführungsform der Verarbeitungsanordnung 12 in Fig. 4 dargestellt. Der über die Verbindung 11 zugeführte Einzelwert d(k,i) wird dem einen Eingang eines Addierers 60 zugeführt, dessen anderer Eingang den konstanten Wert A empfängt, der beispielsweise durch feste Verdrahtung vorgegeben ist. Die darin gebildete, auf der Verbindung 61 erscheinende Summe wird einem Multiplizierer 62 zugeführt, wo diese Summe mit dem festen Wert a multipliziert wird. Da der genaue Wert der Größe a nicht sehr kritisch ist, kann sie aus einer geringen Anzahl von einzelnen Summanden gebildet werden, die jeweils eine ganze negative Potenz von 2 sind, so daß der Multiplizierer 62 aus einer kleinen Anzahl kaskadierter Addierer aufgebaut sein kann.FIG. 5 shows a possible embodiment of the processing arrangement 12 in FIG. 4. The individual value d (k, i) supplied via the connection 11 is fed to one input of an adder 60, the other input of which receives the constant value A, which is predetermined, for example, by hard wiring. The sum formed therein, which appears on the connection 61, is fed to a multiplier 62, where this sum is multiplied by the fixed value a. Since the exact value of the quantity a is not very critical, it can be formed from a small number of individual summands, each of which is a whole negative power of 2, so that the multiplier 62 can be constructed from a small number of cascaded adders.

Das auf der Verbindung 63 entstehende Produkt wird einem Addierer 64 zugeführt, wo es zu dem Wert auf der Verbindung 25 des Registers 24 addiert wird, und dies ist der Summenwert D(k-1,i-1)

Figure imgb0023
Figure imgb0024
, wenn die Sprachparameterwerte k ansteigend aufeinander folgen.The product resulting on connection 63 is fed to an adder 64 where it is added to the value on connection 25 of register 24, and this is the sum value D (k-1, i-1)
Figure imgb0023
Figure imgb0024
when the speech parameter values k follow one another in increasing order.

Der im Addierer 64 gebildete, auf der Verbindung 65 gelieferte Wert wird dem einen Eingang eines Vergleichers 66 zugeführt, wo er mit dem über die Verbindung 23 vom Register 22 zugeführten Wert verglichen wird, d.h. mit dem Summenwert D(k,i-1)

Figure imgb0025
. Der Vergleicher 66 steuert abhängig vom Vergleichsergebnis einen Umschalter 68, der den kleineren, dem Vergleicher 66 zugeführten Wert über die Verbindung 69 dem einen Eingang eines weiteren Vergleichers 76 zuführt.The one formed in adder 64 and delivered on link 65 Value is fed to the one input of a comparator 66, where it is compared with the value supplied from register 22 via connection 23, ie with the total value D (k, i-1)
Figure imgb0025
. Depending on the comparison result, the comparator 66 controls a changeover switch 68, which feeds the smaller value supplied to the comparator 66 via the connection 69 to the one input of a further comparator 76.

Der andere Eingang des Vergleichers 76 ist mit der Ausgangsverbindung 75 eines weiteren Addierers 74 verbunden, der den auf der Verbindung 27 vom Register 26 gelieferten Wert zu der im Multiplizierer 72 mit der Größe b multiplizierten Summe auf der Verbindung 61 addiert. Der Vergleicher 76 steuert wieder einen Umschalter 78 derart, daß der kleinere der dem Vergleicher 76 zugeführten Werte weitergeleitet und dem einen Eingang eines weiteren Addierers 70 zugeführt wird, der am anderen Eingang den über die Verbindung 11 zugeführten Einzelwert d(k,i) erhält. Die am Ausgang 13 des Addierers 70 entstehende Summe ist der Richtungswert D⁺(k,i). In entsprechender Weise entstehen am Ausgang 13 die Richtungswerte D⁻(k,i) für die entgegengesetzte Richtung, wenn die Sprachparameter k von großen nach kleinen Werten laufen.The other input of the comparator 76 is connected to the output connection 75 of a further adder 74, which adds the value supplied on the connection 27 by the register 26 to the sum multiplied by the quantity b in the multiplier 72 on the connection 61. The comparator 76 again controls a changeover switch 78 in such a way that the smaller of the values supplied to the comparator 76 is forwarded and fed to the one input of a further adder 70 which receives the individual value d (k, i) supplied via the connection 11 at the other input. The sum that arises at the output 13 of the adder 70 is the directional value D⁺ (k, i). In a corresponding manner, the direction values D) (k, i) for the opposite direction arise at the output 13 when the speech parameters k run from large to small values.

Parallel zum Umschalter 68 wird vom Ausgangssignal des Vergleichers 66 ein Umschalter 82 betätigt, der einer Leitung 83 entweder den logischen Wert "0" oder "1" zuführt, wobei letzterer Wert bedeutet, daß der vorhergehende Punkt zumindest schräg darunter liegt, d.h. in dem Adressenrechner 44 in Fig. 1 muß für die Adressierung des nächsten Wertes beim Sprachparameter k eine Einheit abgezogen werden.In parallel to the changeover switch 68, the output signal of the comparator 66 actuates a changeover switch 82 which supplies either a logic value "0" or "1" to a line 83, the latter value meaning that the preceding point is at least obliquely below it, i.e. In the address computer 44 in FIG. 1, a unit must be subtracted for the addressing of the next value in the speech parameter k.

Die Leitung 83 bildet den einen Anschluß eines weiteren Umschalters 84, der vom Ausgangssignal des Vergleichers 76 parallel zum Umschalter 78 gesteuert wird und dessen anderer Eingang fest den logischen Wert "1" erhält. Parallel dazu wird ein weiterer Umschalter 86 gesteuert, der der Ausgangsleitung 87 in der linken Stellung fest den logischen Wert "1" und in der rechten Stellung den logischen Wert "0" zuführt, wobei der letztere Wert angibt, daß der vorhergehende Punkt zum selben Zeitpunkt gehört, d.h. senkrecht darunter liegt, so daß der Adressenrechner 44 in Fig. 1 in diesem Falle den gleichen Adressenteil i für die Adressierung des Speichers 50 liefert wie bei der jeweils vorhergehenden Adresse. Die beiden Ausgangsleitungen 85 und 87 der Umschalter 84 und 86 bilden zusammen die Verbindung 19, die in Fig. 4 auf die Speicher 30 und 40 bzw. den Umschalter 32 führt. Dieser Umschalter kann beispielsweise über ein drittes Bit, dessen Wert umgeschaltet wird, angeben, ob der vorhergehende Punkt oberhalb oder unterhalb des gerade betrachteten Punktes liegt und ob im Adressenrechner 44 dann zu dem momentanen Wert k eine Einheit addiert oder davon eine Einheit subtrahiert werden muß.The line 83 forms the connection of another Switch 84, which is controlled by the output signal of the comparator 76 in parallel to the switch 78 and the other input of which has the logical value "1". In parallel, a further changeover switch 86 is controlled, which in the left position permanently supplies the logic value "1" to the output line 87 and the logic value "0" in the right position, the latter value indicating that the previous point is at the same time belongs, ie lies vertically below it, so that in this case the address computer 44 in FIG. 1 supplies the same address part i for addressing the memory 50 as for the previous address. The two output lines 85 and 87 of the changeover switch 84 and 86 together form the connection 19, which leads to the memory 30 and 40 or the changeover switch 32 in FIG. 4. This toggle switch can, for example, use a third bit, the value of which is toggled, to indicate whether the previous point lies above or below the point under consideration and whether a unit must be added to the current value k or a unit must be subtracted from it in the address computer 44.

Die in den Fig. 4 und 5 dargestellte Anordnung ist nur beispielhaft zu betrachten, insbesondere können einige oder auch alle Teile durch einen entsprechend programmierten Mikroprozessor realisiert werden.The arrangement shown in FIGS. 4 and 5 is only to be considered as an example, in particular some or all of the parts can be implemented by an appropriately programmed microprocessor.

Claims (4)

  1. A method for determining the variation with time of a speech parameter of a speech signal, where an individual value exists at discrete instants for each value of a predetermined value range of the speech parameter and the variation with time represents the sequence of adjacent, including diagonally adjacent, speech signal parameter values whose individual values are at least close to the extreme values of the individual values for the individual instants, the sum of the individual values of this sequence forming an extreme value sum in relation to other sequences, characterized in that referred to the minimum as extreme value of the individual values and as extreme value sum at each instant (i), a first direction value D'(k,i) is formed, in a first pass successively for all speech parameter values (k) succeeding one another in the one direction, as the sum of the relevant individual value d(k,i) and the minimum of the following values

    d(k,i-1)
    Figure imgb0031

    D(l,i-1) + (a(d(k,i),+A)
    Figure imgb0032

    D'(l,i) + b)d(k,i)+A)
    Figure imgb0033


    as well as a pointing value h'(k,i), pointing to the individual value supplying the minimum, being formed and stored, where D(k,i-1)
    Figure imgb0034
    or D(l,i-1)
    Figure imgb0035
    Figure imgb0036
    is a sum value generated and stored at the respective preceding instant i-1 and the same speech parameter value k or the preceding speech parameter value l, respectively, D(l,i) is the direction value formed at the immediately preceding speech parameter value l, and a, b, A are predetermined, fixed quantities where a and b are preferably between 0.5 and 2.0 and A corresponds to the individual values in non-voiced speech signal segments and in speech intervals, that thereafter a second direction value D"(k,i) with a pointing value h"(k,i) is formed, in the manner corresponding to the first pass, in a second pass for the same instant i for all speech parameter values k succeeding one another in the other direction, that for each speech parameter value k the minimum of the two direction values D',D" and the pointing value h',h" associated with this direction value is stored as the respective new sum value D or as the total pointing value H, and that the immediately preceding speech parameter value is determined, at the latest at the end of the speech signal, from the total pointing value H(k,I) associated with the speech parameter value k with the extreme value sum at the last instant I, and the associated total pointing value is read out and so forth, the sequence of speech parameter values has produced being output and stored.
  2. A method as claimed in Claim 1, characterized in that the direction values D',D", the pointing values h',h" and the new sum values D are stored each time for instant i only, after which they are overwritten again.
  3. A method as claimed in Claim 2, characterized in that the direction values D',D" and the pointing values h',h" are stored only for the speech parameter values k succeeding one another in the one direction and that, after each direction value D",D' has been formed for the speech parameter values k succeeding one another in the other direction, the new sum value D and the total pointing value H are directly formed and stored.
  4. An arrangement for carrying out the method claimed in any one of Claims 1 to 3, characterized by
    - a first memory (10) for the individual values d(k,i) of all speech parameter values k of each time at least one instant i,
    - a second memory (20) for each time one sum value D(k,i) for each speech parameter value k of each time at least one instant i,
    - a third memory (30) for each time one first direction value D'(K,i) and one pointing value h'(k,i) for each speech parameter value k of each time at least one instant i,
    - a fourth memory (26; 40) for a second direction value D"(k,i) and an associated pointing value h"(k,i) of at least one speech parameter value k for the same instant i as the values in the third memory (30),
    - a fifth memory (50) for the total pointing values H(k,i) for all speech parameter values k and all instants i,
    - a processing arrangement (12) with inputs which are coupled to a data output of the first, the second, and the third or the fourth memory (10, 20, 30, 26, 40), and with an output, for supplying each time one direction value D'(k,i), D"(k,i) and an associated pointing value h'(k,i), h"(k,i), which is coupled to the data input of the third memory (30),
    - a comparator (14) with two inputs, one of which receives from the data output of the third memory (30) each time one first direction value D'(k,i), while the other input receives the associated second direction value D'(k,i), and with an output which controls a switch (32) which applies the smaller one of the two direction values to the data input of the second memory (20), and
    - a control arrangement (16) with an address generator (54, 58) which cyclically generates the addresses of all speech parameter values k in the one direction of the address sequence and subsequently, in the other direction, of the address sequence for at least the first to the third and the fifth memory (10, 20, 30, 50) and which, moreover, generates the address selection for the instant i at least for the fifth memory (50), and with a sequence controller (56) which controls the writing and reading of at least the second, the third and the fifth memory (20, 30, 50).
EP87202298A 1986-11-26 1987-11-24 Method and arrangement for determining the temporal course of a speech parameter Expired - Lifetime EP0272723B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE3640355 1986-11-26
DE19863640355 DE3640355A1 (en) 1986-11-26 1986-11-26 METHOD FOR DETERMINING THE PERIOD OF A LANGUAGE PARAMETER AND ARRANGEMENT FOR IMPLEMENTING THE METHOD

Publications (2)

Publication Number Publication Date
EP0272723A1 EP0272723A1 (en) 1988-06-29
EP0272723B1 true EP0272723B1 (en) 1992-10-21

Family

ID=6314791

Family Applications (1)

Application Number Title Priority Date Filing Date
EP87202298A Expired - Lifetime EP0272723B1 (en) 1986-11-26 1987-11-24 Method and arrangement for determining the temporal course of a speech parameter

Country Status (4)

Country Link
US (1) US4813075A (en)
EP (1) EP0272723B1 (en)
JP (1) JP2747292B2 (en)
DE (2) DE3640355A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8701798A (en) * 1987-07-30 1989-02-16 Philips Nv METHOD AND APPARATUS FOR DETERMINING THE PROGRESS OF A VOICE PARAMETER, FOR EXAMPLE THE TONE HEIGHT, IN A SPEECH SIGNAL
US5226108A (en) * 1990-09-20 1993-07-06 Digital Voice Systems, Inc. Processing a speech signal with estimated pitch
EP0703569B1 (en) * 1994-09-20 2000-03-01 Philips Patentverwaltung GmbH System for finding out words from a speech signal
AU3734195A (en) * 1994-09-29 1996-04-19 Apple Computer, Inc. A system and method for determining the tone of a syllable of mandarin chinese speech
AU696092B2 (en) * 1995-01-12 1998-09-03 Digital Voice Systems, Inc. Estimation of excitation parameters
US5701390A (en) * 1995-02-22 1997-12-23 Digital Voice Systems, Inc. Synthesis of MBE-based coded speech using regenerated phase information
US5754974A (en) * 1995-02-22 1998-05-19 Digital Voice Systems, Inc Spectral magnitude representation for multi-band excitation speech coders
US6505152B1 (en) 1999-09-03 2003-01-07 Microsoft Corporation Method and apparatus for using formant models in speech systems

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5885499A (en) * 1981-11-18 1983-05-21 株式会社デンソー Continuous voice recognition method and apparatus
JPS58100195A (en) * 1981-12-10 1983-06-14 日本電気株式会社 Continuous voice recognition equipment
JPH0731504B2 (en) * 1985-05-28 1995-04-10 日本電気株式会社 Pitch extractor
US4751737A (en) * 1985-11-06 1988-06-14 Motorola Inc. Template generation method in a speech recognition system
JPH0731504A (en) * 1993-07-19 1995-02-03 Naito Seisakusho:Kk Cane for the blind

Also Published As

Publication number Publication date
JP2747292B2 (en) 1998-05-06
EP0272723A1 (en) 1988-06-29
DE3640355A1 (en) 1988-06-09
US4813075A (en) 1989-03-14
DE3782324D1 (en) 1992-11-26
JPS63144400A (en) 1988-06-16

Similar Documents

Publication Publication Date Title
DE2451982C2 (en)
DE3339288C2 (en)
DE2758830A1 (en) COMPUTING DEVICE
EP0285221B1 (en) Method for detecting continually pronounced words
DE2045114A1 (en) Process for the production of data sets for numerical controls
EP0272723B1 (en) Method and arrangement for determining the temporal course of a speech parameter
DE2133638C3 (en) Method for operating an adaptive system made up of adaptive data processing units connected in cascade and suitable for non-linear data processing
DE3507584C2 (en)
EP0285211B1 (en) Method for detecting continually pronounced words
DE2753650C2 (en) Time keeping device with a register for storing time counting data
DE2920041C2 (en) Method for verifying signals, and arrangement for carrying out the method
DE1805992B2 (en) Device for addressing buffers when sorting / mixing presorted data sequences
DE2617485A1 (en) PROCEDURE AND CIRCUIT ARRANGEMENT FOR PROCESSING MICRO-COMMAND SEQUENCES IN DATA PROCESSING SYSTEMS
DE2720666A1 (en) PROCEDURE AND ARRANGEMENT FOR NOISE ANALYSIS
EP0779585A2 (en) Digital signal processor arrangement for comparing vectors of characteristics and corresponding method of operation
DE3215868C2 (en)
EP0677835B1 (en) Process to ascertain a series of words
DE3037276C2 (en) Sound synthesizer
EP0703567B1 (en) Process and apparatus for determining the degree of matching of two structures, as well as apparatus to recognize the speech and programme modul for that
DE60302103T2 (en) Control device for a machine
DE2939077A1 (en) METHOD AND ARRANGEMENT FOR DETERMINING CHARACTERISTIC VALUES FROM A NOISE SIGNAL
EP0417854B1 (en) Method for recognition of N different successions of words in a speech signal
DE2657430A1 (en) DEVICE FOR SYNTHETIZING HUMAN LANGUAGE
EP0053263A2 (en) Method and arrangement to find accumulations of particles, for example metaphase plates
DE2419522A1 (en) PROCEDURE AND ARRANGEMENT FOR DIVISION OF ONE OR MORE UNUSED AREAS OF A MEMORY CONNECTED TO A COMPUTER

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB IT SE

17P Request for examination filed

Effective date: 19881212

17Q First examination report despatched

Effective date: 19910208

RTI1 Title (correction)
GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE FR GB IT SE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Effective date: 19921021

REF Corresponds to:

Ref document number: 3782324

Country of ref document: DE

Date of ref document: 19921126

ITF It: translation for a ep patent filed

Owner name: ING. C. GREGORJ S.P.A.

GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)

Effective date: 19930106

ET Fr: translation filed
PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
ITPR It: changes in ownership of a european patent

Owner name: CAMBIO RAGIONE SOCIALE;PHILIPS ELECTRONICS N.V.

REG Reference to a national code

Ref country code: FR

Ref legal event code: CD

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 19971103

Year of fee payment: 11

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 19971118

Year of fee payment: 11

REG Reference to a national code

Ref country code: FR

Ref legal event code: CD

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 19981124

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 19981124

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 19990730

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20010118

Year of fee payment: 14

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20020702

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.

Effective date: 20051124