(19)
(11) EP 0 865 026 A2

(12) EUROPÄISCHE PATENTANMELDUNG

(43) Veröffentlichungstag:
16.09.1998  Patentblatt  1998/38

(21) Anmeldenummer: 98104455.5

(22) Anmeldetag:  12.03.1998
(51) Internationale Patentklassifikation (IPC)6G10L 3/02
(84) Benannte Vertragsstaaten:
AT BE CH DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE
Benannte Erstreckungsstaaten:
AL LT LV MK RO SI

(30) Priorität: 14.03.1997 DE 19710545

(71) Anmelder: GRUNDIG Aktiengesellschaft
90762 Fürth (DE)

(72) Erfinder:
  • Carl, Holger, Dr.
    90762 Fürth (DE)

   


(54) Effizientes Verfahren zur Geschwindigkeitsmodifikation von Sprachsignalen


(57) Die Erfindung betrifft ein Verfahren zur Geschwindigkeitsmodifikation von Sprachsignalen, insbesondere digitalisierten Sprachsignalen. Bei diesem Verfahren wird ein analoges Sprachsignal digitalisiert und in einem Speicher gespeichert. Außerdem wird ein Faktor α definiert, um den das Sprachsignal verlängert oder verkürzt wird. Über das Sprachsignal wird eine Fensterfunktion mit einem ersten steigenden Abschnitt, einem zweiten, sich direkt an den ersten Abschnitt anschließenden, konstanten Abschnitt und einem dritten, sich direkt an den zweiten Abschnitt anschließenden, fallenden Abschnitt, gelegt.


Beschreibung


[0001] Gegenstand der Erfindung ist ein Verfahren zur Geschwindigkeitsmodifikation von Sprachsignalen im Zeitbereich, insbesondere eine effiziente Overlap-Add-Methode.

[0002] In verschiedenen Bereichen der Verarbeitung von Sprach- und Audiosignalen ist eine Veränderung der Wiedergabegeschwindigkeit dieser Signale erwünscht, möglichst ohne daß damit eine Beeinträchtigung ihrer Natürlichkeit und - im Fall von Sprache - ihrer Verständlichkeit verbunden wäre. Dieses Ziel, den Klangcharakter zu erhalten, kann man aus technischer Sicht folgendermaßen formulieren: Trotz einer Modifikation der Zeitskala dieser Signale sollen ihre Kurzzeitspektraleigenschaffen unverändert bleiben. Insbesondere bedeutet das für Sprachsignale, daß Grundfrequenz und Formanten bei der Geschwindigkeitsmodifikation erhalten bleiben müssen.

[0003] Die Zeitstauchung oder Zeitdehnung von Audiosignalen wird in Studios eingesetzt, zum Beispiel mit dem Ziel, Werbesendungen auf die vorgesehene Länge zu trimmen. Auch in der Diktiertechnik ist die Anpassung der Wiedergabegeschwindigkeit an die Bedürfnisse bzw. Fähigkeiten der Schreibkraft von Bedeutung. Eine weitere Anwendung besteht bei der Echtzeitübertragung von Sprachsignalen, bei der Datenpakete mit variabler Verzögerung beim Empfänger eintreffen. Durch Anwendung der Geschwindigkeitsmodifikation kann man hier die Über-Alles-Verzögerung im Mittel geringer halten als das Worst-Case Delay der Übertragungsstrecke, ohne daß ein zu spät eintreffendes Datenpaket zu Aussetzern oder anderen, ähnlich störenden Effekten führen würde.
Für viele Anwendungen ergeben sich neben dem Wunsch nach möglichst hoher Klangqualität die folgenden zusätzlichen Anforderungen an das Verfahren:

[0004] Eine kostengünstige Echtzeitrealisierung muß erzielbar sein, und es muß zur Laufzeit eine nach Möglichkeit stufenlose Änderung des Geschwindigkeitsmodifikationsfaktors möglich sein. Von Vorteil ist ohne Zweifel auch, wenn der Algorithmus ohne eine stets fehlerbehaftete Pitch-Schätzung auskommt.

[0005] Aus "Method for Time or Frequency Compression-Expansion of Speed", von G. Fairbaks und R. P. Jaeger, Inst. of Radio Engineers Trans. on Audio, Vol. AU-2, No. 1 pp. 7-12, Jan. 1954, sind erste Untersuchungen zur Sprachsignalstauchung bzw. Sprachsignaldehnung bekannt. Häufig wurden seitdem Frequenzbereichsverfahren eingesetzt - naheliegend, da, wie eingangs erwähnt, die Kurzzeitspektraleigenschaften des Sprachsignals erhalten bleiben sollen. Seit Mitte der achtziger Jahre sind vergleichsweise einfache im Zeitbereich arbeitende Overlap-Add-Verfahren bekannt, mit denen sehr gut klingende zeitskalierte Sprachsignale erzeugt werden können.

[0006] In "Signal Estimation from Modified Short-Time Fourier Transform", von D. W. Griffin, in IEEE Trans. Acoust., Speech, Signal Processing, Vol. ASSP-32, No. 2, pp. 236-242, Apr. 1984, berichten Griffin und Lim von Experimenten mit einer sehr aufwendigen iterativ arbeitenden Phasenbestimmung. Auf diesen Ansatz nimmt wiederum die Veröffentlichung von S. Roucos und A. M. Wilgus "High Quality Time-Scale Modification for Speech", IEEE Proc. Int. Conf. Acoust., Speech, Signal Processing, pp. 493-496, 1985, Bezug, die eine Zeitbereichsmethode vorschlagen, die mittels eines Overlap-Add-Ansatzes zeitskalierte Sprachsignale erzeugt. Bei diesem sogenannten SOLA-Verfahren (SOLA = Synchronized OverLap-Add) erfolgt eine Synchronisation der in regelmäßigen Abständen dem Originalsignal entnommenen Abschnitte durch Verschiebung vor der jeweils entsprechenden Fensterung und Addition im Zielsignal. Dies entspricht im weiteren Sinne der Phasenoptimierung, wie sie in den Frequenzbereichsverfahren durchgeführt wird. Eng mit dem SOLA-Algorithmus verwandt ist das sogenannte WSOLA-Verfahren (WSOLA = Waveform Similarity OverLap--Add), das W. Verhelst und M. Roelands in "An Overlap-Add Technique Based on Waveform Similarity (WSOLA) for High Quality Time-Scale Modification of Speed", IEEE Proc. Int. Conf. Acoust., Speech, Signal Processing, pp. 554-557, 1993, und "Waveform Similarity Based Overlap-Add (WSOLA) for Time-Scale Modification of Speech: Structures and Evaluation", Int. Conf. on Speech Communication and Technology, pp. 337-340, 1993, vorstellen. Der Hauptunterschied zwischen diesen beiden Ansätzen besteht in der Synchronisation, die im WSOLA-Verfahren durch versetztes Entnehmen von Segmenten aus dem Originalsignal durchgeführt wird, was sich gegenüber dem SOLA-Prinzip vor allem aufwandsmindernd auswirkt.
7
Aufgabe der Erfindung ist es, ein Verfahren zur Geschwindigkeitsmodifikation von Sprachsignalen im Zeitbereich anzugeben, das besonders effizient arbeitet und gegenüber dem Stand der Technik weniger Aufwand erfordert.

[0007] Diese Aufgabe wird durch die Merkmale der Ansprüche 1 und 2 gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind in der nachfolgenden Beschreibung angegeben.

[0008] Die Erzeugung der mit dem Faktor α zeitskalierten Version y(k) eines Sprachsignals x(k) erfolgt gemäß der Synthese

mit einer Fensterfunktion



[0009] Die hierin vorkommende für k=0, ... , N-1 definierte Funktion v(k) ist dabei sinnvollerweise zwischen ihren Extrema

mit 0<ε0<<1 und

mit 0<ε1<<1 monotonwachsend.

[0010] Die angegebene w(k)-Definition stellt sicher, daß die für sinnvolles Overlap-Add notwendige Bedingung

erfüllt ist.

[0011] Die in obiger Synthesegleichung enthaltene Verschiebevariable Δλ ist zwecks der erwähnten Synchronisation aus einem "Toleranzbereich" -Δmax, ... ,Δmax zu bestimmen.

[0012] Die prinzipielle Vorgehensweise ist wie folgt:
Aus dem Originalsignal x(k) werden in - abgesehen von einem synchronisationsbedingten "Jitter" - regelmäßigen αL Werte betragenden Abständen Segmente der Länge L+N entnommen und nach Gewichtung mit w(k) jeweils um L Abtastwerte versetzt aufaddiert. Das auf diese Weise erhaltene Signal y(k) ist gegenüber x(k) um den Faktor α beschleunigt, das heißt, daß eine im Originalsignal x(k) enthaltene Äußerung von K Abtastwerten Länge durch dieses Vorgehen auf einen y(k) -Abschnitt der Länge K/α abgebildet, also verkürzt und damit in der Wiedergabe beschleunigt für α > 1, bzw. verlängert, das heißt verlangsamt, wird, wenn α < 1 ist.

[0013] Die Synchronisation der zu überlappenden Abschnitte ist für die resultierende Klangqualität von großer Bedeutung. Hierzu wird der folgende Ansatz verwendet: Während der Abarbeitung des Verfahrens kann zu jedem dem Signal x(k) entnommenen Segment für den nächsten Schritt als "Idealsegment" der um L Abtastwerte versetzte Abschnitt von x(k) angesehen werden, da durch diese Wahl die Overlap-Add-Operation wieder das Originalsignal x(k) reproduzieren würde. Die erwünschte Zeitskalierung erfordert nun aber, daß für die Overlap-Add-Synthese i. a. ein anderer, gegenüber dem "Idealsegment" versetzter Abschnitt von x(k) ausgewählt wird. Die bestmögliche Synchronisation ist gegeben, wenn der für die Overlap-Add-Operation benutzte Abschnitt größtmögliche Ähnlichkeit ("Waveform Similarity") mit dem "Idealsegment" aufweist.

[0014] Als Kriterium für die Ähnlichkeit der genannten Segmente bieten sich verschiedene Maße an. Naheliegend ist beispielsweise die Benutzung des Korrelationskoeffizienten. Während W. Verhelst und M. Roelands in "An Overlap-Add Technique Based on Waveform Similarity (WSOLA) for High Quality Time-Scale Modification of Speed", in IEEE Proc. Int. Conf. Acoust., Speech, Signal Processing, pp. 554-557, 1993, und "Waveform Similarity Based Overlap-Add (WSOLA) for Time-Scale Modification of Speech: Structures and Evaluation" in Int. Conf. on Speech Communication and Technology, pp. 337-340, 1993, für die Auswertung des Ähnlichkeitsmaßes das komplette Segment der Länge L+N herangezogen haben, erscheint es als vollkommen ausreichend, die Berechnung auf den Bereich der N Abtastwerte zu beschränken, in dem die Segmente tatsächlich überlappen.

[0015] Für die weiteren Darstellungen ist es hilfreich, die folgende Vektornotation einzuführen:
Der N Werte lange Abschnitt des "Idealsegments", in dem die Überlappung mit dem neu zu bestimmenden Segment stattfinden wird, sei mit x bezeichnet, die ersten N Werte des verschobenen Segments mit xq. Die Gewichtung dieses Abschnitts mit der steigenden Flanke des Fensters wird durch Multiplikation dieses Vektors mit einer Diagonalmatrix V repräsentiert, die mit den Werten v(0), ... , v(N-1) besetzt ist. Entsprechend wird die Gewichtung des Idealsegmentabschnitts x mit der fallenden Flanke des Fensters durch Multiplikation mit 1 - V dargestellt, wobei 1 die N×N-Einheitsmatrix bezeichnet. Der im kritischen Überlappungsbereich aus der Overlap-Add-Synthese resultierende y(k)-Abschnitt lautet damit



[0016] Beispielsweise läßt sich nun als Maß für die Ähnlichkeit der hierbei beteiligten Komponenten eine Kreuzkorreliertenberechnung gemäß

angeben. Die Maximierung dieses Ausdrucks bezüglich der sich in xq wiederfindenden Verschiebung δ ∈ {-Δmax, ... , Δmax} liefert die für das betrachtete Segment im Sinne des angesetzten Ähnlichkeitsmaßes optimale Verschiebung Δλ.

[0017] Die Berechnung der Cδ erfordert alle L Abtastwerte 2N Multiplikationen für die Vorabberechnung des Ausdrucks xT(1-V)TV sowie anschließend (2Δmax+1)N Multiplikationen und Additionen.

[0018] Dies stellt gegenüber W. Verhelst und M. Roelands in "An Overlap-Add Technique Based on Waveform Similarity (WSOLA) for High Quality Time-Scale Modification of Speed", in IEEE Proc. Int. Conf. Acoust., Speech, Signal Processing, pp. 554-557, 1993, und "Waveform Similarity Based Overlap-Add (WSOLA) for Time-Scale Modification of Speech: Structures and Evaluation" in Int. Conf. on Speech Communication and Technology, pp. 337-340, 1993, eine Aufwandsreduktion um den Faktor zwei dar, der sich für L>N sogar noch erhöht. Die Beschränkung der Ähnlichkeitsberechnung auf den Bereich der Überlappung hat keinerlei negative Auswirkungen auf die Qualität der zeitskalierten Sprachproben.

[0019] Ein anderer Ansatz für die Synchronisation ist, anstelle der Maximierung der "Waveform Similarity" den Fehler zwischen dem synthetisierten Signal y und dem Originalsignal x zu minimieren. Eine einfache willkürliche Wahl ist, für diesen Fehler den quadratischen Ausdruck

anzusetzen.

[0020] Bei Vernachlässigung der Vorabberechnungen beläuft sich der für die Auswertung von Eδ anfallende Aufwand auf (2Δmax+1 )4N DSP-Operationen alle L Abtastwerte. Hierunter werden solche Operationen verstanden, die ein Signalprozessor mit gängiger Architektur in einem Schritt abarbeiten kann.

[0021] Ein weiterer Ansatz besteht darin, anstelle des absoluten Fehlers den relativen Fehler

zu minimieren, was als SNR-Maximierung interpretiert werden kann. (2Δmax+1)5N Operationen sind hier vor jeder Overlap-Add-Operation erforderlich.


Ansprüche

1. Verfahren zur Geschwindigkeitsmodifikation von Sprachsignalen, insbesondere digitalisierten Sprachsignalen, bei dem

- ein analoges Sprachsignal digitalisiert wird, wodurch ein digitalisiertes Sprachsignal entsteht, welches in einem Speicher gespeichert wird,

- ein Faktor α definiert wird, um welchen das Sprachsignal verlängert oder verkürzt wird,

- eine Fensterfunktion mit einem ersten steigenden Abschnitt der Länge N, einem zweiten, sich direkt an den ersten Abschnitt anschließenden, konstanten Abschnitt der Länge L und einem dritten, sich direkt an den zweiten Abschnitt anschließenden, fallenden Abschnitt definiert wird, wobei bei einer Überlagerung des ersten steigenden Abschnittes eines Fensters mit dem dritten fallenden Abschnitt eines anderen Fensters und einer Addition beider Abschnitte im Überlappungsbereich, sich das Ergebnis eins ergibt, was dem Wert des zweiten Abschnittes der Fensterfunktion entspricht,

- aus dem digitalisierten, gespeicherten Sprachsignal in unregelmäßigen Abständen einer mittleren Länge αL Segmente einer Länge L+N entnommen werden,

- diese, aus dem digitalisierten, gespeicherten Sprachsignal entnommenen, Segmente mit der Fensterfunktion im Zeitbereich gewichtet werden

- die gewichteten Segmente jeweils um eine definierte Anzahl von L Abtastwerten versetzt aufaddiert werden, wodurch das so entstehende Sprachsignal um den Faktor α verlängert bzw. um 1/α verkürzt wird,
dadurch gekennzeichnet,

- daß nacheinander an den Stellen der Entnahme der Segmente aus dem digitalisierten Sprachsignal, das dort entnommene, mit der Fensterfunktion gewichtete, Segment mit dem nachfolgend entnommenen, ebenfalls mit der Fensterfunktion gewichteten, Segment unter Ähnlichkeitsaspekten verglichen wird,

- daß zum schnellen Vergleich der Ähnlichkeit der Segmente lediglich der N Werte lange dritte, mit dem fallenden Fensterabschnitt gewichtete, Abschnitt des Segmentes mit dem jeweils ersten, mit dem steigenden N Werte langen Fensterabschnitt gewichteten Abschnitten des nachfolgenden Segmentes verglichen wird,

- daß diese Segmente zueinander versetzt aufaddiert werden, wenn die Ähnlichkeit beider verglichener Segmentteile maximal ist und

- daß zur Berechnung der Ähnlichkeit, als deren Maß, eine Korrelation verwendet wird.


 
2. Verfahren zur Geschwindigkeitsmodifikation von Sprachsignalen, insbesondere digitalisierten Sprachsignalen, bei dem

- ein analoges Sprachsignal digitalisiert wird, wodurch ein digitalisiertes Sprachsignal entsteht, welches in einem Speicher gespeichert wird,

- ein Faktor α definiert wird, um welchen das Sprachsignal verlängert oder verkürzt wird,

- eine Fensterfunktion mit einem ersten steigenden Abschnitt der Länge N, einem zweiten, sich direkt an den ersten Abschnitt anschließenden, konstanten Abschnitt der Länge L und einem dritten, sich direkt an den zweiten Abschnitt anschließenden, fallenden Abschnitt definiert wird, wobei bei einer Überlagerung des ersten steigenden Abschnittes eines Fensters mit dem dritten fallenden Abschnitt eines anderen Fensters und einer Addition beider Abschnitte im Überlappungsbereich, sich das Ergebnis eins ergibt, was dem Wert des zweiten Abschnittes der Fensterfunktion entspricht,

- aus dem digitalisierten, gespeicherten Sprachsignal in unregelmäßigen Abständen einer mittleren Länge αL Segmente einer Länge L+N entnommen werden,

- diese, aus dem digitalisierten, gespeicherten Sprachsignal entnommenen, Segmente mit der Fensterfunktion im Zeitbereich gewichtet werden,

- die gewichteten Segmente jeweils um eine definierte Anzahl von L Abtastwerten versetzt aufaddiert werden, wodurch das so entstehende Sprachsignal um den Faktor α verlängert bzw. um 1/α verkürzt wird,
dadurch gekennzeichnet,

- daß nacheinander an den Stellen der Entnahme der Segmente aus dem digitalisierten Sprachsignal, das dort entnommene Segment mit dem Resultat der Synthese mit dem nachfolgend entnommenen Segment verglichen wird,

- daß zum schnellen Vergleich der Abweichung des jeweiligen Syntheseresultats vom Originalsignal lediglich der N Werte lange dritte Abschnitt des zuletzt entnommenen Segmentes als Referenz herangezogen wird,

- daß diese Segmente zueinander versetzt aufaddiert werden, wenn die ermittelte Abweichung minimal ist und

- daß als Maß für die Abweichung der relative Fehler oder der absolute quadratische Fehler herangezogen wird.