EP0272723A1 - 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
EP0272723A1
EP0272723A1 EP87202298A EP87202298A EP0272723A1 EP 0272723 A1 EP0272723 A1 EP 0272723A1 EP 87202298 A EP87202298 A EP 87202298A EP 87202298 A EP87202298 A EP 87202298A EP 0272723 A1 EP0272723 A1 EP 0272723A1
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.)
Granted
Application number
EP87202298A
Other languages
German (de)
French (fr)
Other versions
EP0272723B1 (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

Definitions

  • 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.
  • 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).
  • the individual values of the basic speech frequency can be determined using AMDF (Average Magnitude Difference Function).
  • AMDF Average Magnitude Difference Function
  • 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.
  • 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.
  • 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.
  • 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.
  • This object is achieved in that, based on the minimum, the extreme value of the individual values and as a sum extreme value at each point in time i in a first run in succession for all speech parameter values k which follow one another in one direction, 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) D (l, i-1) + a (d (k, i) + A) D ⁇ (l, i) + b (d (k, i) + A) and a reference value h ⁇ (k, i) on the individual value providing the minimum is formed and stored, where D (k, i-1) or D (l, i-1) a sum value generated and stored at the respectively 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, that a second direction value
  • the method according to the invention 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.
  • 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.
  • the various values formed in the method according to the invention must be saved, since they are then used 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.
  • 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.
  • 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.
  • 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 least at 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 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
  • Fig. 1 the course of a speech parameter over time is shown schematically in a two-dimensional representation.
  • the speech parameter is the basic voice frequency acts.
  • 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.
  • d (k, i):
  • 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.
  • 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 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 D (k-1, i-1) of the diagonally adjacent point and D+ (k-1, i) of the point perpendicularly below are not used directly , but increased by a certain value, as will be explained in detail later. The value D+ (k-1, i) of the vertically underlying point must have been determined beforehand, and for this in turn the value of the underlying point must be determined, etc.
  • the direction values D administraten 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.
  • 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.
  • 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.
  • D+ (k) 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)
  • this equation means that the individual value d (k, i) is added to the minimum of the sum values of the three neighboring points, whereby for the horizontal direction the sum value D (k, i-1) is used directly, while for the other values a term is added which is from depends on the individual value of the point 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.
  • 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.
  • a counter for the speech parameter value k is increased by 1 to k + 1.
  • Block 103 is therefore carried out in succession for all speech parameter values k of a specific point in time i.
  • 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) ⁇ (2)
  • 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).
  • the previous total value D (k, i-1) must be temporarily stored, since it is still required for the following directional value D ⁇ (k-1, i).
  • a larger number of steps must then be carried out for each speech parameter value k.
  • 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. Thereafter, the overall 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.
  • 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.
  • Block 20 represents a memory which contains the sum values D (k, i-1) of the respectively previous point in time i-1 at the beginning of a new point in time i and which contains the new sum 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.
  • the register 22 thus contains the total value D (k, i-1) and the register 24 the previous total value D (k-1, i-1) or D (k + 1, i-1), depending on which direction values are currently being calculated.
  • a further register 26 is provided which records the direction value D+ (k-1, i) or D ⁇ (k + 1, i) present on the connection 13, which has just been determined, and during the determination of the respectively following direction value at the output 27 provides.
  • 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).
  • 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.
  • the direction values D ⁇ (k, i) generated by the processing arrangement 12 on the connection 13 and the reference values h stii (k, i) generated on the connection 19 during this second pass 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.
  • comparator 14 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.
  • the comparator 14 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.
  • 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 comparator 38 again generates a signal on the output line 37 so that this smaller sum value is written 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • connection 63 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) when the speech parameter values k increase with each other consequences.
  • the formed in the adder 64, on the connection 65 ge The delivered value is fed to the one input of a comparator 66, where it is compared with the value fed from the register 22 via the connection 23, ie with the total value D (k, i-1). 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.
  • 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.
  • a changeover switch 82 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.
  • 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".
  • 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.
  • FIGS. 4 and 5 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.

Abstract

Das Verfahren zur Bestimmung des zeitlichen Verlaufs eines Sprachparameters geht aus von einem Sprachsignal, das in aufeinanderfolgende Segmente unterteilt wird, und in jedem Segment und für jeden Wert des Parameters innerhalb eines begrenzten Wertebereichs ist ein Einzelwert vorhanden. Für das Beispiel der Stimmgrundfrequenz ist in jedem Sprachsegment mit Hilfe der AMDF (Average Magnitude Difference Function) ein Wert erzeugt worden. Der gesuchte Verlauf verbindet nun eine Folge von waagerecht, senkrecht oder diagonal unmittelbar benachbarten Sprachparameterwerten derart miteinander, daß die Gesamtsumme der zugehörigen Einzelwerte ein Minimum darstellt. Dabei wird diese Summe in diagonalen bzw. senkrechten Abschnitten etwas vergrößert, da ein waagerechter Verlauf am wahrscheinlichsten ist. Diese Vergrößerung wird durch bestimmte feste Werte gesteuert, die die Glätte des Verlaufs beeinflussen.The method for determining the time profile of a speech parameter is based on a speech signal which is divided into successive segments, and an individual value is present in each segment and for each value of the parameter within a limited range of values. For the example of the basic voice frequency, a value was generated in each speech segment using the AMDF (Average Magnitude Difference Function). The sought course now connects a sequence of horizontally, vertically or diagonally adjacent speech parameter values in such a way that the total of the associated individual values represents a minimum. This sum is slightly increased in diagonal or vertical sections, since a horizontal course is most likely. This magnification is controlled by certain fixed values that affect the smoothness of the gradient.

Description

Die Erfindung betrifft ein Verfahren zur Bestimmung des zeitlichen Verlaufs eines Sprachparameters eines Sprach­signals, 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 benach­barten Sprachsignalparameterwerte darstellt, deren Einzel­wert 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 abge­tastet, und eine bestimmte Anzahl aufeinanderfolgender Abtastwerte, die also insgesamt einen Sprachsignalab­schnitt 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 Verschie­bungsschritte 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 Sprach­abschnitte, die gegen das Sprachsignal verschoben werden, bei verschiedenen Verschiebungen jeweils einen Wert, der eine gewisse Wahrscheinlichkeit bzw. genauer Unwahrschein­lichkeit 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 Sprach­erkennung oder auch die Sprechererkennung, ist es erfor­derlich, einen zusammenhängenden Verlauf eines oder mehrerer Sprachparameter wie die Sprachgrundfrequenz über die Zeit zu erhalten, um diesen Verlauf mit Musterver­läufen vergleichen zu können. Die ermittelten AMDF-Werte müssen also von Ausreißern befreit und im übrigen ge­glä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. wahrschein­lichsten Verlauf. Ein solcher Verlauf ist am besten durch diejenige Folge der Sprachparameterwerte, deren Einzelwert zumindest nahe an dem Minimum bei dem betreffenden Zeit­punkt 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.

Aufgabe der Erfindung ist es daher, ein Verfahren der eingangs genannten Art anzugeben, das diesen wahrschein­lichsten 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)
D(l,i-1) + a(d(k,i) + A)
Dʹ(l,i) + b(d(k,i) + A)

sowie ein Hinweiswert hʹ(k,i) auf den das Minimum liefernden Einzelwert gebildet und abgespeichert wird, wobei
D (k,i-1) bzw. D(l,i-1) einen beim jeweils vorhergehenden Zeitpunkt i-1 und denselben Sprachparameterwert k bzw. dem vorhergehenden Sprachparameterwert l erzeugten und ge­speicherten Summenwert,
D(l,i) der beim unmittelbar vorhergehenden Sprachpara­meterwert gebildete Richtungswert und
a, b, A vorgegebene feste Größen sind,
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 Gesamt­hinweiswert H(k,I), der zu dem Sprachparameterwert k mit dem Summen-Extremwert beim letzten Zeitpunkt I gehört, der unmittelbar vorhergehende Sprachparameterwert er­mittelt und der zugehörige Gesamthinweiswert ausgelesen wird usw., wobei die dabei entstehende Folge der Sprach­parameterwerte ausgegeben bzw. gespeichert wird.
This object is achieved in that, based on the minimum, the extreme value of the individual values and as a sum extreme value at each point in time i in a first run in succession for all speech parameter values k which follow one another in one direction, 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)
D (l, i-1) + a (d (k, i) + A)
Dʹ (l, i) + b (d (k, i) + A)

and a reference value hʹ (k, i) on the individual value providing the minimum is formed and stored, where
D (k, i-1) or D (l, i-1) a sum value generated and stored at the respectively 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,
that a second direction value Dʺ (k, i) with an indication value hʺ (k, i) is then formed in a second run for the same time i for all successive speech parameter values k 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 latest at the end of the speech signal from the overall 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 Einzel­werte ergeben, und die Folge, die am Ende des Sprach­signals 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 über­wiegend 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 predetermined fixed quantities are used, of which the quantities a and b predominantly influence the smoothness of the course by making a course in the diagonal direction and in the vertical direction more difficult, and both of these have 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 Ermitt­lung der beiden Richtungswerte, d.h. einmal in Aufwärts­richtung 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 Richtungs­wert 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 ver­schiedenen 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 gekenn­zeichnet, daß die Richtungswerte Dʹ,Dʺ und die Hinweis­werte hʹ,hʺ und die neuen Summenwerte für jeweils nur einen Zeitpunkt gespeichert und danach wieder über­schrieben werden. Für alle Sprachparameter aller Zeit­punkte 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 ge­speichert werden, da sie danach nicht mehr benötigt werden. Insbesondere ist bei der Ermittlung der Summenwert aller Sprachparameter nur für den vorhergehenden Zeit­punkt 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 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 gekennzeich­net, daß die Richtungswerte Dʹ,Dʺ und die Hinweis­werte hʹ,hʺ nur für die in der einen Richtung aufeinander­folgenden Sprachparameterwerte k gespeichert werden und daß nach der Bildung jedes Richtungswerts Dʺ,Dʹ für die in der anderen Richtung aufeinanderfolgenden Sprachparameter­werte k unmittelbar der neue Summenwert D und der Gesamt­hinweiswert H gebildet gespeichert werden. Auf diese Weise kann der erforderliche Speicherbedarf noch weiter ver­ringert 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 the determination of 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 Zeit­punktes i,
    - einen zweiten Speicher für jeweils einen Summen­wert D(k,i) für jeden Sprachparameterwert k mindestens jeweils eines Zeitpunktes i,
    - einen dritten Speicher für jeweils einen ersten Rich­tungswert 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 Richtungs­wert 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 Richtungs­wertes Dʹ(k,i),Dʺ(k,i) und eines zugehörigen Hinweis­wertes 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 least at 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 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 one Note value hʹ (k, i), hʺ (k, i), which is coupled to the data input of the third memory (30),
- A comparator with two inputs, of which one 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 language 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 Generated memory, and with a sequence control that controls the writing and reading of at least the second, third and fifth memory. In this way, the method according to the invention can be implemented 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:
  • 1 shows an example of a possible course of a speech parameter over the successive times of a speech signal,
  • 2 shows a diagram for explaining how the individual direction values are determined,
  • 3 shows a diagram for the sequence of the method according to the invention,
  • 4 shows a circuit arrangement for carrying out the method according to the invention,
  • Fig. 5 shows a possible embodiment 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 Sprachpara­meterwerte 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 Sprachparameter­wert k, d.h. für jeden durch einen kleinen Kreis angege­benen Kreuzungspunkt der beiden Koordinaten, einen Einzel­wert d(k,i). Dieser kann beispielsweise dadurch gewonnen, daß das Sprachsignal mit einer hohen Frequenz, beispiels­weise 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:

d(k,i): =

Figure imgb0001
|s(i,j+k)-s(i,j)|

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:

d (k, i): =
Figure imgb0001
| s (i, j + k) -s (i, j) |

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 ent­sprechende Kreuzungspunkte der beiden Koordinaten k und i durch eine Linie miteinander verbunden, um ein Beispiel für einen möglichen zeitlichen Verlauf der Stimmgrund­frequenz zu zeigen. Die Linie verbindet eine derartige Folge von Einzelwerten, so daß die Summe dieser so ver­bundenen 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 zeitdis­krete Werte, so daß eine schnelle Änderung der Sprach­grundfrequenz zwischen zwei aufeinanderfolgenden Zeit­punkt i in dem diskreten Modell der Fig. 1 durch einen senkrechten Verlauf angenähert werden muß. Die Einschrän­kung, daß nur ein waagerechter, diagonaler oder senk­rechter Verlauf zugelassen wird, d.h. daß die Linie nur unmittelbar benachbarte Einzelwerte miteinander verbindet, ergibt eine glattere Kurve, jedoch kann es dabei vor­kommen, daß die Linie nicht genau die Minima der Einzel­werte 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 Zeit­punkten, 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 Richtungs­werte 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 Sprachparamter­wert k zum Zeitpunkt i, doppelt dargestellt. Die waage­rechte 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 auf­steigende 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) des diagonal benachbarten Punktes und D⁺(k-1,i) 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) des senkrecht darunterliegenden Punktes muß vorher er­mittelt 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) aus­gehend 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) des diagonal darüberliegenden Punktes und der Richtungs­wert D⁻(k+1,i) 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 zwischenzu­speichern, 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 D (k-1, i-1) of the diagonally adjacent point and D⁺ (k-1, i) of the point perpendicularly below are not used directly , but increased by a certain value, as will be explained in detail later. The value D⁺ (k-1, i) of the vertically underlying point must have been determined beforehand, and for this in turn the value of the underlying point must be determined, etc. up to the lowest point, so that the directional values D⁺ (k, i) must be determined on the basis of 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) of point diagonally above and the directional value D⁻ (k + 1, i) of the point vertically above 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 to first 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 Sprach­parameterwerte 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 mini­malen 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 vorher­gehende 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. Gesamt­hinweiswert bezeichnet und müssen selbstverständlich für jeden Sprachparameterwert k zu jedem Zeitpunkt i ge­speichert 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 Sprachparameter­werte 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 Verar­beitungsschritte zur Ermittlung des zeitlichen Verlaufs der Sprachparameterwerte schematisch angegeben. Der Block 101 bezeichnet übliche Einstellungen von Anfangs­zustä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 Summen­werte D(k,1) für den ersten Zeitpunkt i=1 mit den ent­sprechenden 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 ge­schaltet. 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)

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)

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) 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 ent­spricht den Einzelwerten in stimmlosen Sprachsignalseg­menten 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 benach­teiligt. 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 Hinweis­wert h⁺(k,i) ermittelt, der angibt, von welchem vorher­gehenden Punkt der momentane Punkt erreicht worden ist, d.h. welcher der drei Terme, von denen beim Richtungs­wert D⁺(k,i) das Minimum bestimmt wird, dieses Minimum ergeben hat. Außerdem wird ein Zähler für den Sprach­parameterwert 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, whereby for the horizontal direction the sum value D (k, i-1) is used directly, while for the other values a term is added which is from depends on the individual value of the point 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 Sprachpara­meterwerte 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 Hinweis­wert 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)}      (2)

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)} (2)

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 Berech­nung 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 Sprach­parameter 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 Sprach­parameterwert k=1, wird gemäß Block 105 von den zwei Richtungswerten D⁺(k,i) und D⁻(k,i) aller Sprachpara­meter k jeweils das Minimum ermittelt und als Summen­wert D(k,i) gespeichert, und außerdem wird jeweils der zugehörige Hinweiswert h⁺(k,i) bzw. h⁻(k,i) als Gesamt­hinweiswert H(k,i) gespeichert. Wenn dies für alle Sprach­parameterwerte k erfolgt ist, d.h. k=K, wird auf den Block 102 zurückgegangen, wo der Zähler für den Zeit­punkt 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 fest­gestellt werden, ob dieser oder der im vorhergehenden Durchlauf ermittelte Richtungswert D⁺(k,i) kleiner ist, und der kleinere von beiden wird als neuer Summen­wert D(k,i) gespeichert. Dabei muß allerdings der bis­herige Summenwert D(k,i-1) zwischengespeichert werden, da er für den folgenden Richtungswert D⁻(k-1,i) 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 D (k, i-1) must be temporarily stored, since it is still required for the following directional value D⁻ (k-1, i). 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. Thereafter, the overall 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 darge­stellt, 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 Einzel­werte 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 Summen­werte D(k,i-1) 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 Ein­schreiben 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 ver­bunden, 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) und das Register 24 den vorhergehenden Summenwert D(k-1,i-1) bzw. D(k+1,i-1), je nachdem welche Richtungswerte gerade berechnet werden. Ein weiteres Register 26 ist vorgesehen, das den auf der Verbindung 13 vorhandenen, gerade er­mittelten Richtungswert D⁺(k-1,i) bzw. D⁻(k+1,i) aufnimmt und während der Ermittlung des jeweils folgenden Rich­tungswerts am Ausgang 27 bereitstellt.Block 20 represents a memory which contains the sum values D (k, i-1) of the respectively previous point in time i-1 at the beginning of a new point in time i and which contains the new sum 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. The register 22 thus contains the total value D (k, i-1) and the register 24 the previous total value D (k-1, i-1) or D (k + 1, i-1), depending on which direction values are currently being calculated. A further register 26 is provided which records the direction value D⁺ (k-1, i) or D⁻ (k + 1, i) present on the connection 13, which has just been determined, and during the determination of the respectively following direction value at the output 27 provides.

Die Ausgänge 11 des Speichers 10 sowie 23, 25 und 27 der Register 22, 24 und 26 führen auf eine Verarbeitungsanord­nung 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 Hinweis­wert h⁻(k,i) bzw. h⁺(k,i) erzeugt. Diese Werte werden einem Speicher 30 zugeführt, der ebenfalls von den Sprach­parameterwerten 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 Sprachparameter­werte 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 Rich­tung 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 mini­malen Wert k=1, wenn vorher die Adressierung vom minimalen Wert beginnend bis zum maximalen Wert gelaufen war. Die bei diesem zweiten Durchlauf von der Verarbeitungsanord­nung 12 auf der Verbindung 13 erzeugten Richtungs­werte D⁻(k,i) und auf der Verbindung 19 erzeugten Hinweis­werte 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 by the processing arrangement 12 on the connection 13 and the reference values h Hinweis (k, i) generated on the connection 19 during this second pass 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 Ver­gleicher 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 um­schaltet, 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 zuge­führten Minimum-Richtungswerte, die den neuen Summen­wert D(k,i) darstellen, die entsprechenden früher ge­speicherten 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 Anord­nung aus einem Vergleicher 38 und einem Register 48 einge­schaltet, wodurch der minimale Summenwert D(m,I) bei diesem letzten Zeitpunkt I und der zugehörige Sprachpara­meter k=m dieses Minimums festgestellt wird. Dazu wird beispielsweise der Inhalt des Registers 48 auf seinem Maximalwert festgehalten und erst mit dem letzten Zeit­punkt 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 er­scheint, wird dem einen Eingang des Vergleichers 38 sowie dem Dateneingang des Registers 48 zugeführt, dessen Aus­gang 49 mit dem anderen Eingang des Vergleichers 38 ver­bunden 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 Ver­gleicher 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 Summen­wert kleiner ist als der vorhergehende Wert, erzeugt der Vergleicher 38 wieder ein Signal auf der Ausgangs­leitung 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 Summen­wert 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 sum value occurring at the output of the switch 34 is less than the previous value, the comparator 38 again generates a signal on the output line 37 so that this smaller sum value is written 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 umgeschal­tet, 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 Gesamthin­weiswert 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 vor­hergehenden Punktes erscheinen. Diese werden in das Register 42 eingeschrieben und adressieren gleichzeitig den Speicher 50, so daß der zugehörige Hinweis­wert 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 Hinweis­werte h⁺(k,i) für alle Sprachparamterwerte k erzeugt und im Speicher 30 gespeichert sind, jeder von der Verarbei­tungsanordnung 12 auf der Verbindung 13 erzeugte Rich­tungswert 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 Gesamt­hinweiswert 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 Takt­generator 52 vorhanden, der einen Zähler 54 ansteuert, von dem jede mögliche Stellung einen anderen Wert des Sprach­parameters k darstellt. Dieser Zähler 54 möge von 1 zu zählen beginnen, und wenn er den letzten Sprachparameter­wert 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 einge­schrieben 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 Richtungs­werte 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 emits 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 ange­langt ist, wird wieder auf der Leitung 55 ein Signal er­zeugt, 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 Umschal­ter 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 Verar­beitungsanordnung 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 gebil­dete, 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 Verbin­dung 25 des Registers 24 addiert wird, und dies ist der Summenwert D(k-1,i-1), 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) when the speech parameter values k increase with each other consequences.

Der im Addierer 64 gebildete, auf der Verbindung 65 ge­ lieferte 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). 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 Ver­gleichers 76 zuführt.The formed in the adder 64, on the connection 65 ge The delivered value is fed to the one input of a comparator 66, where it is compared with the value fed from the register 22 via the connection 23, ie with the total value D (k, i-1). 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 Aus­gangsverbindung 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 multi­plizierten 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 Sprachpara­meter 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" zu­führt, wobei letzterer Wert bedeutet, daß der vorher­gehende 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 abge­zogen 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 programmier­ten 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. 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 vor­handen ist und der zeitliche Verlauf die Folge der benach­barten, einschließlich diagonal benachbarten Sprachsignal­parameterwerte darstellt, deren Einzelwert zumindest nahe den Extremwerten der Einzelwerte für die einzelnen Zeit­punkte liegen, wobei die Summe der Einzelwerte dieser Folge einen Summen-Extremwert gegenüber anderen Folgen bildet,
dadurch gekennzeichnet, 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 d(k,i) und dem Minimum der folgenden Werte

D(k,i-1)
D(l,i-1) + a(d(k,i) + A)
Dʹ(l,i) + b(d(k,i) + A)

sowie ein Hinweiswert hʹ(k,i) auf den das Minimum liefern­den Einzelwert gebildet und abgespeichert wird, wobei D(k,i-1) bzw. D(l,i-1) 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 Sprachpara­meterwert l gebildete Richtungswert und
a, b, A vorgegebene feste Größen sind,
daß danach in einem zweiten Durchlauf für den gleichen Zeitpunkt i für alle in der anderen Richtung aufeinander­folgenden Sprachparameterwerte k ein zweiter Richtungs­wert Dʺ(k,i) mit einem Hinweiswert hʺ(k,i) in entsprechen­der Weise wie im ersten Durchlauf 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 Summen­wert D bzw. als Gesamthinweiswert H gespeichert wird, und
daß spätenstens am Ende des Sprachsignals aus dem Gesamt­hinweiswert 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.
1. A method for determining the temporal course of a speech parameter of a speech signal, an individual value being present 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 to 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,
characterized 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 a first pass in succession for all speech parameter values (k) successive in one direction, a first directional value Dʹ (k, i) as the sum of the relevant individual value d (k, i) and the minimum of the following values

D (k, i-1)
D (l, i-1) + a (d (k, i) + A)
Dʹ (l, i) + b (d (k, i) + A)

and a reference value hʹ (k, i) on the individual value providing the minimum is formed and stored, where D (k, i-1) or D (l, i-1) one at the previous time i-1 and the same speech parameter value k or the previous speech parameter value l generated and stored total value,
D (l, i) the directional value formed at the immediately preceding speech parameter value l and
a, b, A are predetermined fixed quantities,
that a second direction value Dʺ (k, i) with an indication value hʺ (k, i) is then formed in a second run for the same time i for all successive speech parameter values k in the other direction in a manner corresponding to that in the first run,
that for each speech parameter value k the minimum of the two directional values Dʹ, Dʺ and the reference value h diesem, hʺ belonging to this directional value is stored as a new total value D or as a total reference value H, and
that at the latest at the end of the speech signal from the overall 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 resultant Sequence of the speech parameter values is output or saved.
2. Verfahren nach Anspruch 1,
dadurch gekennzeichnet, daß die Richtungswerte Dʹ,Dʺ die Hinweiswerte hʹ,hʺ und die neuen Summenwerte D für jeweils nur einen Zeitpunkt i gespeichert und danach wieder über­schrieben werden.
2. The method according to claim 1,
characterized in that the direction values Dʹ, Dʺ the reference values hʹ, hʺ and the new total values D are stored for only one point in time i and then overwritten again.
3. Verfahren nach Anspruch 2,
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 und gespeichert wird.
3. The method according to claim 2,
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 direction value Dʺ, Dʹ for the speech parameter values k which follow one another in the other direction, the new total value is immediately obtained D and the total reference value H is formed and stored.
4. Anordnung zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 3,
gekennzeichnet durch
      - einen ersten Speicher (10) für die Einzelwerte d(k,i) aller Sprachparameterwerte k mindestens jeweils eines Zeitpunktes i,
      - einen zweiten Speicher (20) für jeweils einen Summen­wert D(k,i) für jeden Sprachparameterwert k mindestens jeweils eines Zeitpunktes i,
      - einen dritten Speicher (30) 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 (26; 40) für einen zweiten Richtungswert Dʺ(k,i) und einen zugehörigen Hinweis­wert hʺ(k,i) mindestens eines Sprachparameterwertes k für denselben Zeitpunkt i wie die Werte im dritten Speicher (30),
      - einen fünften Speicher (50) für die Gesamthinweis­werte H(k,i) für alle Sprachparameterwerte k und alle Zeitpunkte i,
      - eine Verarbeitungsanordnung (12) mit Eingängen, die mit einem Datenausgang des ersten, des zweiten und des dritten bzw. vierten Speichers (10, 20, 30, 26, 40) 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 (14) mit zwei Eingängen, von denen der eine vom Datenausgang des dritten Speichers (30) 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 (32) steuert, der den kleineren der beiden Richtungswerte dem Dateneingang des zweiten Speichers (20) zuführt, und
      - eine Steueranordnung (16) mit einem Adressengenerator (54, 58), der zyklisch die Adressen aller Sprachparameterwerte k 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 (10, 20, 30, 50) erzeugt und der außerdem die Adressenauswahl für den Zeitpunkt i mindestens für den fünften Speicher (50) erzeugt, und mit einer Ablaufsteuerung (56), die das Einschreiben und Auslesen mindestens des zweiten, dritten und fünften Speichers (20, 30, 50) steuert.
4. Arrangement for performing the method according to one of claims 1 to 3,
marked by
- a first memory (10) for the individual values d (k, i) of all speech parameter values k of at least one point in time i,
a second memory (20) for a sum value D (k, i) for each speech parameter value k of at least one point in time i,
a third memory (30) for a first directional value Dʹ (k, i) and an indication value hʹ (k, i) for each speech parameter value k at least one time i,
a fourth memory (26; 40) for a second direction 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 (30),
a fifth memory (50) for the total reference values H (k, i) for all speech parameter values k and all times i,
- A processing arrangement (12) with inputs which are coupled to a data output of the first, the second and the third or fourth memory (10, 20, 30, 26, 40), and with an output for outputting a 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 (14) with two inputs, one of which receives a first direction value Dʹ (k, i) and the other input the associated second direction value Dʹ (k, i) from the data output of the third memory (30), and with an output which controls a changeover switch (32) which controls the smaller of the two direction values for the data input of the second Feeds (20), and
- A control arrangement (16) with an address generator (54, 58), which cyclically addresses all language parameter values k 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 fifth memories (10, 20 , 30, 50) and which also generates the address selection for the time i at least for the fifth memory (50), and with a sequence control (56) which enables the writing and reading out of at least the second, third and fifth memory (20, 30 , 50) controls.
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 true EP0272723A1 (en) 1988-06-29
EP0272723B1 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0549699A1 (en) * 1990-09-20 1993-07-07 Digital Voice Systems, Inc. Methods for speech analysis and synthesis
WO1996010248A1 (en) * 1994-09-29 1996-04-04 Apple Computer, Inc. A system and method for determining the tone of a syllable of mandarin chinese speech

Families Citing this family (6)

* 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
ATE190167T1 (en) * 1994-09-20 2000-03-15 Philips Corp Intellectual Pty SYSTEM FOR DETERMINING WORDS FROM A VOICE SIGNAL
AU696092B2 (en) * 1995-01-12 1998-09-03 Digital Voice Systems, Inc. Estimation of excitation parameters
US5754974A (en) * 1995-02-22 1998-05-19 Digital Voice Systems, Inc Spectral magnitude representation for multi-band excitation speech coders
US5701390A (en) * 1995-02-22 1997-12-23 Digital Voice Systems, Inc. Synthesis of MBE-based coded speech using regenerated phase information
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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, Band SMC-12, Nr. 3, Mai/Juni 1982, Seiten 383-388, IEEE, New York, US; H. NEY: "A time warping approach to fundamental period estimation" *
PROCEEDINGS OF THE 6th INTERNATIONAL CONFERENCE - PATTERN RECOGNITION, München, 19.-20. Oktober 1982, Seiten 1119-1124, IEEE, New York, US; H. NEY: "Dynamic programming as a technique for pattern recognition" *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0549699A1 (en) * 1990-09-20 1993-07-07 Digital Voice Systems, Inc. Methods for speech analysis and synthesis
EP0549699A4 (en) * 1990-09-20 1995-04-26 Digital Voice Systems Inc
US5581656A (en) * 1990-09-20 1996-12-03 Digital Voice Systems, Inc. Methods for generating the voiced portion of speech signals
WO1996010248A1 (en) * 1994-09-29 1996-04-04 Apple Computer, Inc. A system and method for determining the tone of a syllable of mandarin chinese speech
GB2308002A (en) * 1994-09-29 1997-06-11 Apple Computer A system and method for determining the tone of a syllable of mandarin chinese speech
GB2308002B (en) * 1994-09-29 1998-08-19 Apple Computer A system and method for determining the tone of a syllable of mandarin chinese speech

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2758830A1 (en) COMPUTING DEVICE
EP0285221B1 (en) Method for detecting continually pronounced words
DE2045114A1 (en) Process for the production of data sets for numerical controls
DE2853560A1 (en) DEVICE FOR CALCULATING SEVERAL INTERPOLATION SIZES AND A TOMOGRAPHY DEVICE USING SUCH A DEVICE
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
EP0272723B1 (en) Method and arrangement for determining the temporal course of a speech parameter
DE3507584C2 (en)
DE2828919C2 (en) Circuit arrangement for a polyphonic electronic musical instrument
EP0285211B1 (en) Method for detecting continually pronounced words
DE2064383B2 (en) Data processing system with several central processing devices
DE2617485C3 (en) Circuit arrangement for data processing systems for processing micro instruction sequences
DE2920041C2 (en) Method for verifying signals, and arrangement for carrying out the method
DE2720666A1 (en) PROCEDURE AND ARRANGEMENT FOR NOISE ANALYSIS
DE3215868C2 (en)
EP0677835B1 (en) Process to ascertain a series of words
EP0417854B1 (en) Method for recognition of N different successions of words in a speech signal
EP0757811B1 (en) Process for fuzzifying input signals at the input of a fuzzy processor using input-appurtenance functions
DE2419522A1 (en) PROCEDURE AND ARRANGEMENT FOR DIVISION OF ONE OR MORE UNUSED AREAS OF A MEMORY CONNECTED TO A COMPUTER
DE3417816A1 (en) Programmable switching network
DE2223257A1 (en) Display device
DE19804603A1 (en) Method for determining words in a speech signal
DE3112444C2 (en)
WO1995008796A1 (en) Process for accelerated rule evaluation in a fuzzy inference processor and device for carrying it out
DE2939330C2 (en)
DE2426648A1 (en) METHOD AND CIRCUIT ARRANGEMENT FOR GENERATING INTERPOLATION PULSES

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