Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DEVICE FOR THE TEMPORAL COMPRESSION OR EXPANSION OF SAMPLES, ASSOCIATED METHOD AND SEQUENCE OF SAMPLES
Document Type and Number:
WIPO Patent Application WO/2004/114282
Kind Code:
A1
Abstract:
The invention relates to a device comprising an input memory (104), in which samples to be processed are stored, in addition to a control unit, which controls a temporal compression or expansion of the sequence of samples in a cyclic manner based on a conversion factor (N). A skew unit (106) is linked on the input side to the output of the input memory. During a working cycle (M), a merge unit (112) merges a filtered sequence of samples that has been generated from the original sequence of samples by means of a filter unit (108) with a time-staggered sequence that has been generated with the aid of the skew unit (106) and subsequently filtered (110). Despite the simple construction of the device (100), there are no discernible or only faint artifacts.

Inventors:
LUCIONI GONZALO (DE)
Application Number:
PCT/EP2004/050617
Publication Date:
December 29, 2004
Filing Date:
April 27, 2004
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
LUCIONI GONZALO (DE)
International Classes:
G10L21/04; H03H17/02; H03H17/06; (IPC1-7): G10L21/04; H03H17/06
Foreign References:
EP0865026A21998-09-16
US6252919B12001-06-26
US5687240A1997-11-11
Attorney, Agent or Firm:
SIEMENS AKTIENGESELLSCHAFT (München, DE)
Download PDF:
Claims:
Patentansprüche
1. Vorrichtung (100) zum zeitlichen Stauchen oder Strecken einer Folge von Abtastwerten, mit einem Eingangsspeicher (104), in dem zu bearbeitende Ab tastwerte gespeichert werden, mit einer Steuereinheit (20), die abhängig von einem Umsetz faktor (N) ein zeitliches Strecken oder ein zeitliches Stau chen der Folge von Abtastwerten zyklisch steuert, wobei ein Arbeitszyklus (M) eine vorgegebene Anzahl von Ar beitsschritten (s) zur Bearbeitung einer Teilfolge der Folge von Abtastwerten enthält, mit einer Zeitversatzeinheit (106), die eingangsseitig mit dem Ausgang des Eingangsspeichers verknüpft ist und die bezo gen auf den in einem Arbeitsschritt (s) bearbeiteten Abtast wert der Folge einen um eine Versatzanzahl (N) in der Folge nachfolgenden oder vorangehenden Abtastwert ermittelt, und mit einer Zusammenführeinheit (16,112), die innerhalb eines Arbeitszyklus (M) einerseits die ursprüngliche Folge von Abtastwerten oder eine aus der ursprünglichen Folge von Abtastwerten mit einer Filtereinheit (14) erzeugte gefilterte Folge von Abtastwerten und andererseits eine mit Hilfe der Versatzeinheit (106) erzeugte versetzte Folge von Abtastwer ten oder eine aus der versetzten Folge mit Hilfe der Filter einheit (14) erzeugte gefilterte versetzte Folge zusammen führt.
2. Vorrichtung (100) nach Anspruch 1, g e k e n n z e i c h n e t d u r c h eine der Zusammenführeinheit (16, 112) nach geschaltete Filtereinheit, wobei insbesondere an der Zusammenführeinheit zwei ungefil terte Folgen zusammengeführt werden, und wobei insbesondere die nachgeschaltete Filtereinheit ein zeitvariantes Dämpfungsglied ist.
3. Vorrichtung (100) nach Anspruch 1 oder 2, g e k e n n zeichnet durch eine Grundvorgabeeinheit, die je Ar beitsschritt (s) einen Grundwert gemäß einer Grundfunktion (Cla) vorgibt, eine Zusatzvorgabeeinheit, die je Arbeitsschritt (s) einen Zusatzwert gemäß einer Zusatzfunktion (C2a) vorgibt, eine in der Filtereinheit (14) enthaltene GrundMultizierein heit (108), die eingangsseitig mit dem Ausgang der Grundvor gabeeinheit und dem Ausgang des Eingangsspeichers (104) ver knüpft ist und die je Arbeitsschritt (s) ein Produkt aus den eingansseitig anliegenden Werten bildet, eine in der Filtereinheit (14) enthaltene Zusatz Multipliziereinheit (110), die eingangsseitig mit dem Ausgang der Zusatzvorgabeeinheit und dem Ausgang der Versatzeinheit (106) verknüpft ist und die je Arbeitsschritt (s) ein Produkt aus den eingansseitig anliegenden Werten bildet, und durch eine in der Zusammenführeinheit (16) enthaltene Ad diereinheit (112), die eingangsseitig mit den Ausgängen der Multipliziereinheiten (108,110) verknüpft ist und die je Ar beitschritt (s) die Summe der eingangsseitig anliegenden Pro dukte bildet.
4. Vorrichtung (100) nach einem der vorhergehenden Ansprüche 3, dadurch gekennzeichnet, dass die bearbei teten Teilfolgen alle Abtastwerte der Abtastfolge enthalten oder mehr als fünfundachtzig Prozent aller Abtastwerte, wobei vorzugsweise eine Teilfolge ein Signal enthält, das länger als 150 Millisekunden oder länger als 200 Millisekun den ist.
5. Vorrichtung (100) nach Anspruch 4, d a d u r c h g e kennzeichnet, dass die Grundfunktion (Cla) und die Zusatzfunktion (C2a) in der Mitte eines Arbeitszyklus (M) konstant sind, und/oder dass vorzugsweise die Grundfunktion (Cla) und die Zusatzfunktion (C2a) am Anfang oder am Ende eines Arbeitszyk lus (M) konstant sind, und/oder dass vorzugsweise bei Arbeitsschritten (s) mit un veränderter Grundfunktion (Cla) und mit unveränderter Zusatz funktion (C2a) nicht benötigte Einheiten der Vorrichtung nicht betrieben werden.
6. Vorrichtung (100) nach einem der Ansprüche 1 bis 3, d a durch gekennzeichnet, dass die bearbeiteten Teilfolgen weniger als die Hälfte aller Abtastwerte der Ab tastfolge enthalten, und dass die anderen Abtastwerte auf andere Art bearbeitet werden, vorzugsweise auf weniger aufwändige Art, insbesondere durch einfache Übernahme aus der Folge von Abtastwerten.
7. Vorrichtung (100) nach einem der Ansprüche 3 bis 6, g e kennzeichnet durch eine weitere Zusatzvorgabe einheit, die je Arbeitsschritt (s) einen weiteren Zusatzwert gemäß einer weiteren Zusatzfunktion (C3b, C2d) vorgibt, eine ZusatzBearbeitungseinheit (207,320), die eine vorgege bene Bearbeitungsoperation ausführt, eine weitere ZusatzMultipliziereinheit (211,311), die ein gangsseitig mit dem Ausgang der weiteren Zusatzvorgabeeinheit und dem Ausgang der ZusatzBearbeitungseinheit (207,320) verknüpft ist und die je Arbeitsschritt (s) ein Produkt aus den eingansseitig anliegenden Werten bildet, wobei die Addiereinheit (312) eingangsseitig auch mit dem Ausgang der weiteren ZusatzMultipliziereinheit (211,311) verknüpft ist und je Arbeitsschritt (s) die Summe der ein gangsseitig anliegenden Produkte bildet.
8. Vorrichtung (100) nach Anspruch 7, d a d u r c h g e kennzeichnet, dass die ZusatzBearbeitungseinheit (207) eingansseitig mit dem Ausgang des Eingangsspeichers verknüpft ist und bezogen auf einen in einem Arbeitsschritt (s) bearbeiteten Abtastwert einen um die doppelte Versatzan zahl (2N) in der Folge der Abtastwerte nachfolgenden oder vo rausgehenden Abtastwert ermittelt, und dass vorzugsweise für die Grundfunktion (Clb) und eine Hilfsfunktion (C2c) gilt : Grundfunktion (Clb) * Grundfunktion (Clb) + Hilfsfunktion (C2c) * Hilfsfunktion (C2c) = 1, wobei vorzugsweise bezüglich einer weiteren Hilfsfunktion (C3c) gilt : <BR> <BR> Zusatzfunktion (C2b) = Hilfsfunktion (C2b) weitere Hilfs funktion (C3c) * Grundfunktion (Clb), und weitere Zusatzfunktion (C3b) =Hilfsfunktion (C2c) * weite re Hilfsfunktion (C3c), und wobei vorzugsweise die weitere Hilfsfunktion (C3c) ein Maximum am Schnittpunkt der Grundfunktion (Clb) und der Hilfsfunktion (C2c) hat.
9. Vorrichtung (100) nach Anspruch 7, d a d u r c h g e kennzeichnet, das s die ZusatzBearbeitungseinheit (32) einen Allpass enthält, vorzugsweise einen Allpass mit der folgenden Übertragungsfunktion : H (z + Y)/ (1 + Y * ZN), wobei H die Übertragungsfunktion ist und y eine Verzögerung bestimmt, und y insbesondere den Wert 0,5 oder einen Wert größer als 0,5 hat, und wobei vorzugsweise gilt : Grundfunktion (Cld) + Zusatzfunktion (C2d) + weitere Zusatz funktion (C3d) = 1.
10. Vorrichtung (100) nach einem der vorhergehenden Ansprü che, dadurch gekennzeichnet, dass die Einhei ten (106 bis 112) elektronische Schaltungen ohne Prozessor enthalten, oder dass die Vorrichtung (100) mindestens einen Prozessor enthält, der bei der Abarbeitung der Befehle eines Programms die Funktionen mindestens einer Einheit (106 bis 112) er bringt, und/oder dass die Folge von Abtastwerten ein Audiosignal ent hält, insbesondere ein Sprachsignal und/oder ein Musiksignal und/oder eine Mehrfrequenztonwählsignal, und/oder dass die Vorrichtung (100) in einer Empfangseinheit oder in einer Sendeeinheit eines Datenübertragungsnetzes ent halten ist, und/oder dass die Vorrichtung (100) in einem Wiedergabegerät enthalten ist, insbesondere in einem Musikwidergabegerät, ei nem Diktiergerät oder einem Sprachausgabegerät, und/oder dass die Streckung oder die Stauchung kleiner als 20 Prozent oder kleiner als 10 Prozent beträgt.
11. Verfahren zum zeitlichen Stauchen oder Strecken einer Folge von Abtastwerten, insbesondere in einer Vorrichtung (100) nach einem der vorhergehenden Ansprüche, mit den ohne Beschränkung durch die angegebene Reihenfolge ausgeführten Verfahrensschritten : Festlegen eines Arbeitszyklus (M), der eine vorgegebene An zahl von Arbeitsschritten (s) enthält, Festlegen einer Teilfolge der Folge von Abtastwerten für ei nen Arbeitszyklus (M), innerhalb eines Arbeitszyklus (M) Erzeugen einer zu der Teil folge von Abtastwerten zeitlich versetzten gefilterten oder ungefilterten Teilfolge innerhalb eines Arbeitszyklus (M) Zusammenführen (16,112) einerseits der Teilfolge von Abtastwerten oder einer daraus erzeugten gefilterten Teilfolge und andererseits der zeitlich versetzten gefilterten oder ungefilterten Teilfolge mit einem allmählichen Übergang von den Abtastwerten der einen Folge zu den Abtastwerten der anderen Folge.
12. Verfahren nach Anspruch 11, gekennzeichnet d u r c h den Schritt : Zusammenführen (16,112) innerhalb mindestens eines Ab schnitts des Arbeitszyklus (M), wobei der Abschnitt oder die Abschnitte insgesamt weniger als ein Drittel der Arbeitsschritte (s) oder weniger als ein Siebtel der Arbeitsschritte (s) eines Arbeitszyklus enthält.
13. Verfahren nach Anspruch 11 oder 12, d a d u r c h g e kennzeichnet, dass das Zusammenführen (16,112) oh ne vorhergehende Analyse der Folge von Abtastwerten ausge führt wird, insbesondere ohne Berechnung einer Kreuzkorrela tionsfunktion.
14. Folge von Abtastwerten, d a d u r c h g e k e n n zeichnet, dass die Folge mit einer Vorrichtung nach einem der Ansprüche 1 bis 10 oder mit einem Verfahren nach einem der Ansprüche 11 bis 13 erzeugt worden ist.
Description:
Beschreibung Vorrichtung zum zeitlichen Stauchen oder Strecken, Verfahren und Folge von Abtastwerten Die Vorrichtung enthält einen Eingangsspeicher, in dem zu be- arbeitende Abtastwerte gespeichert werden, und eine Steuer- einheit, die abhängig von einem Umsetzfaktor ein zeitliches Strecken oder ein zeitliches Stauchen der Folge von Abtast- werten zyklisch steuert.

Eine solche Vorrichtung ist bspw. aus de DE 100 06 245 AI be- kannt. Neben den dort genannten Umsetzverfahren zur Zeitska- lierung sind in den letzten 50 Jahren noch zahlreiche andere Verfahren vorgeschlagen worden. Hinsichtlich eines Kompromis- ses von benötigter Rechenleistung und erreichter Qualität sind aber nur die wenigsten dieser Verfahren zufriedenstel- lend. Insbesondere sind Verfahren mit Fouriertransformation oder mit Berechnung von Kreuzkorrelationen zu rechenintensiv.

Andere Verfahren sind zwar einfach, führen jedoch zu hörbaren Artefakten.

Mit Zeitskala-Umsetzeinrichtungen können Audiodaten so umge- setzt werden, dass sich die Zeitdauer des durch die Audioda- ten repräsentierten Audiosignals unter weitgehender Beibehal- tung seiner Tonhöhe ändert. Viele Verfahren zur Zeitskala- Umsetzung führen zuerst eine Analyse der Audiodaten zur Fest- legung von Parametern durch. Erst nach der Analyse beginnt die Bearbeitung. Die Analyse wird in einem Zeitfenster durch- geführt, dessen Breite sich an den Eigenschaften des mensch- lichen Hörens und sogar an den Eigenschaften der Sprache ori- entiert, d. h. in einem Zeitfenster in der Größenordnung eini- ger hundertstel Sekunden, beispielsweise in einem Zeitfenster zwischen 20 und 40 ms (Millisekunden), insbesondere von 30 ms. Durch die Analyse wird der umzusetzende Audiostrom zu- sätzlich verzögert, so dass die Sprachqualität, insbesondere hinsichtlich des Entstehens von hörbaren Echos, vermindert

wird. Der Nutzen der Zeitskala-Umsetzeinrichtung ist deshalb oft geringer als die mit Ihnen verbundenen Nachteile. Insbe- sondere gilt diese Aussage für die Synchronisation der Ab- tastrate mittels Zeitskalen-Umsetzeinrichtungen bei Fehlan- passung des Taktes der kommunizierenden Endeinrichtungen in einem Datenübertragungsnetz. Die Fehlanpassungen sind meist geringfügig, in der Regel kleiner als 10 Prozent, die durch die Umsetzung erzeugte Verzögerung ist jedoch für einen Spre- cher hörbar.

Es ist Aufgabe der Erfindung eine einfach aufgebaute Vorrich- tung zum Stauchen und/oder Strecken der Zeitskala einer Folge von Abtastwerten anzugeben. Die Vorrichtung soll insbesondere für Streckungen oder Stauchungen um weniger als 10 Prozent geeignet sein. Das Strecken bzw. Stauchen soll außerdem die Qualität von Sprachsignalen oder Musiksignalen nicht mindern.

Insbesondere soll die Vorrichtung ohne Analyse der Audiodaten arbeiten, um eine Echtzeitbearbeitung nicht weiter zu verzö- gern. Weiterhin sollen ein Verfahren zum Stauchen und Stre- cken und eine Folge von Abtastwerten angegeben werden.

Diese Aufgabe wird durch eine Vorrichtung mit den im Patent- anspruch 1 angegebenen Merkmalen gelöst. Weiterbildungen sind in den Unteransprüchen angegeben.

Die erfindungsgemäße Vorrichtung enthält zusätzlich zu den eingangs genannten Einheiten : - eine Zeitversatzeinheit, die eingangsseitig mit dem Ausgang des Eingangsspeichers verknüpft ist und die bezogen auf den in einem Arbeitsschritt bearbeiteten Abtastwert der Folge ei- nen um eine Versatzanzahl in der Folge nachfolgenden, d. h. verzögerten, oder vorangehenden, Abtastwert ermittelt, - eine Zusammenführeinheit, die innerhalb eines Arbeitszyklus einerseits die ursprüngliche Folge von Abtastwerten oder eine aus der ursprünglichen Folge von Abtastwerten mit einer Fil- tereinheit erzeugte gefilterte Folge von Abtastwerten und an- dererseits eine mit Hilfe der Versatzeinheit erzeugte ver

setzte Folge von Abtastwerten oder eine aus der versetzten Folge mit Hilfe der Filtereinheit erzeugte gefilterte ver- setzte Folge zusammenführt.

Außerdem enthält bei der erfindungsgemäßen Vorrichtung ein Arbeitszyklus eine vorgegebene Anzahl von Arbeitsschrit- ten zur Bearbeitung einer Teilfolge der Folge von Abtastwer- ten. Damit muss die Länge eines Arbeitszyklus nicht ständig neu festgelegt werden.

Die erfindungsgemäße Vorrichtung kommt also ohne Analysefens- ter aus und ist damit für alle Anwendungen von Umsetzeinrich- tungen geeignet, insbesondere für Echtzeitanwendungen, wie die Echtzeitkommunikation. Insbesondere ist die Vorrichtung für die Synchronisation der Abtastrate der Audiodaten von pa- ketorientierten Endeinrichtungen geeignet, z. B. von Internet- Endeinrichtungen, die gemäß Internet Protokoll arbeiten.

Bei anderen Weiterbildungen enthält die Vorrichtung nur Koef- fizientenvorgabeeinheiten, Multipliziereinheiten und Verzöge- rungseinheiten, d. h. nur wenige verschiedene Einheiten, die sich schaltungstechnisch oder softwaretechnisch auf einfache Art und Weise realisieren lassen.

Bei weiteren Weiterbildungen der Vorrichtung wird die Sprach- qualität weiter erhöht, durch : - Einbeziehung weiterer Koeffizientenfunktionen, Hilfs- funktionen und zusätzlicher Verzögerungseinheiten, oder durch - Einbeziehung eines Allpasses.

Bei einer nächsten Weiterbildung ist die Vorrichtung als rei- ne elektronische Schaltung ohne Prozessor aufgebaut. Die Be- arbeitungszeiten sind in diesem Fall verglichen mit den Bear- beitungszeiten bei Einbeziehung eines Prozessors sehr kurz.

Alternativ wird jedoch ein Prozessor verwendet, um den schal- tungstechnischen Aufwand zu verringern.

Die Erfindung betrifft außerdem ein Verfahren zum zeitlichen Stauchen und Strecken, das insbesondere mit der erfindungsge- mäßen Vorrichtung oder einer ihrer Weiterbildungen ausgeführt werden kann. Somit gelten die oben genannten technischen Wir- kungen auch für das Verfahren und dessen Weiterbildungen.

Weiterhin betrifft die Erfindung eine Folge von Abtastwerten, die mit der erfindungsgemäßen Vorrichtung oder dem erfin- dungsgemäßen Verfahren erzeugt worden sind. Auch für die Fol- ge von Abtastwerten gelten die oben genannten technischen Wirkungen.

Im folgenden werden Ausführungsbeispiele der Erfindung an Hand der beiliegenden Zeichnungen erläutert. Darin zeigen : Figur 1 eine Blockdarstellung einer Umsetzeinrichtung, Figur 2 eine Umsetzeinrichtung mit einer Verzögerungsein- heit, Figur 3 eine Umsetzeinrichtung mit zwei Verzögerungseinhei- ten, Figur 4 eine Umsetzeinrichtung mit einer Verzögerungsein- heit und mit einem Allpass, und Figur 5 die Übertragungsfunktionen für die Überlapp-und Addierfunktion der verschiedener Umsetzeinheiten.

Figur 1 zeigt eine Blockdarstellung einer Umsetzeinrichtung 10, die zum zeitlichen Strecken bzw. zum zeitlichen Stauchen von Sprachsignalen dient. Mit anderen Worten lässt sich mit Hilfe der Umsetzeinrichtung 10 die Abspielgeschwindigkeit von Sprachdaten in Echtzeit variieren, ohne dass sich bspw. die Tonhöhe des Sprachsignals verändert. Auch treten keine hörba- ren Artefakte auf.

Die Umsetzeinrichtung 10 hat einen Eingang 12 zur Eingabe von Abtastwerten eines Sprachsignals, das bspw. mit einer Fre- quenz von acht Kilohertz abgetastet worden ist. Bspw. liegen die Abtastwerte im Ganzzahlbereich zwischen-32768 und

+32767. Der Eingang 12 führt zu einer Filtereinheit 14, die für die Eingangswerte oder für zeitversetzte Eingangswerte Filterfunktionen gemäß vorgegebener Koeffizienten ausführt.

Die Koeffizienten ändern sich zeitabhängig, so dass eine zeitvariante Filterung vorliegt.

Der Filtereinheit 14 ist eine Überlapp-und Addiereinheit 16 nachgeschaltet, die zwei von der Filtereinheit 14 ausgegebene Folgen aus Abtastwerten zusammenführt, wie unten noch näher erläutert wird. Die Überlapp-und Addiereinheit gibt eine Er- gebnisfolge an einem Ausgang 18 aus.

Die Umsetzeinrichtung 10 enthält außerdem eine Steuereinheit 20, die abhängig von einem Umsetzfaktor N und einem Auswahl- signal die Filtereinheit und die Überlapp-und Addiereinheit so ansteuert, dass die Folge von Abtastwerten am Ausgang 18 zeitlich gestreckt oder zeitlich gestaucht im Vergleich zu der Folge am Eingang 12 ist. N ist dabei eine natürliche Zahl.

Bei einem anderen Ausführungsbeispiel ist die Filtereinheit der Überlapp-und Addiereinheit nachgeschaltet, so dass erst eine unverzögerte und eine verzögerte Folge überlappt werden.

Erst nach dem Überlappen werden durch das Überlappen erzeugte Artefakte wieder beseitigt, bspw. mit einer geeigneten Fens- terfunktion oder mit einem zeitvarianten Dämpfungsglied.

Figur 2 zeigt eine Umsetzeinrichtung 100, die eine Spei- chereinheit 102 enthält, z. B. einen RAM-Speicher (Random Ac- cess Memory) oder einen FIFO-Speicher (First In First Out).

In der Speichereinheit 102 ist eine Eingangsspeicher 104 ent- halten, in dem ankommende Abtastwerte zwischengespeichert werden.

Die Umsetzeinrichtung 100 enthält weiterhin eine Verzöge- rungseinheit 106, die bezogen auf einen in einem Arbeits- schritt s bearbeiteten Abtastwert einen Abtastwert aus der

Speichereinheit ermittelt, der zu dem aktuell bearbeiteten Abtastwert um N-Abtastwerte verzögert ist. Die Verzögerung lässt sich durch geeignetes Auslesen aus der Speichereinheit 102 realisieren, z. B. durch einen Adressoffset um N oder ein Vielfaches von N.

Außerdem enthält die Umsetzeinrichtung 100 eine Multiplizier- einheit 108, die mit dem Ausgang des Eingangsspeichers 108 verknüpft ist. Der andere Eingang der Multipliziereinheit 108 ist mit einer Koeffizientenvorgabeeinheit verknüpft, die Ko- effizienten gemäß einer Koeffizientenfunktion Cla vorgibt.

Die Multipliziereinheit 108 bildet des Produkt ihrer Ein- gangswerte in jedem Arbeitsschritt s.

Eine weitere Multipliziereinheit 110 ist eingansseitig mit dem Ausgang der Verzögerungseinheit 106 und mit einer Koeffi- zientenvorgabeeinheit verknüpft, die Koeffizienten gemäß ei- ner Koeffizientenvorgabefunktion C2a vorgibt. Der Verlauf der Koeffizientenfunktionen Cla und C2a ist im mittleren Teil der Figur 2 für das Strecken bzw. im unteren Teil der Figur 2 für das Stauchen dargestellt und wird weiter unten näher erläu- tert. Die Multipliziereinheit 110 bildet je Arbeitsschritt das Produkt ihrer Eingangswerte.

Eine Addiereinheit 112 ist eingangsseitig mit den Ausgängen der Multipliziereinheiten 108 und 110 verknüpft. Die Addier- einheit 112 bildet die Summe ihrer Eingangswerte.

Der Verlauf der Koeffizientenfunktionen Cla und C2a für das Strecken ist im mittleren Teil der Figur 2 dargestellt. Die Werte der Koeffizientenfunktionen Cla und C2a liegen zwischen 0 und 1. Zunächst hat der Koeffizient Cla konstant den Wert 1. Erst im letzten Abschnitt, genauer im letzten Drittel, ei- nes Arbeitszyklus M aus bspw. 1600 Arbeitsschritten s fällt die Koeffizientenfunktion Cla streng monoton, z. B. wie darge- stellt gemäß einer Funktion, die der Sigmoidfunktion ähnelt, oder auch linear. Dagegen hat der Koeffizient C2a beim Stre

cken zunächst konstant den Wert 0. Erst im letzten Abschnitt steigt die Koeffizientenfunktion C2a streng monoton, z. B. wie dargestellt gemäß einer Funktion, die einer Sigmoidfunktion ähnelt, oder auch linear.

Die bedeutet, dass im ersten Abschnitt eines Arbeitszyklus M beim Strecken die unverzögerte Folge von Abtastwerten ausge- geben wird. Im letzten Abschnitt wird dann auf Grund der Ko- effizientenverläufe allmählich umgeschaltet auf die verzöger- te Folge. Der allmähliche Übergang erstreckt sich über mehre- re Arbeitsschritte s, insbesondere über mehr als 100 Arbeits- schritte s und weniger als 800 Arbeitsschritte s. Allgemeiner ausgedrückt, liegt der Übergang in einem Abschnitt, der mehr als fünf Prozent und weniger als fünfzig Prozent der Arbeits- schritte eines Arbeitszyklus enthält. Letztlich wird zum Strecken damit ein"Echo"angefügt, dass jedoch auf Grund des allmählichen Übergangs, auf Grund der kurzen Zeitspanne, die die Abtastwerte eines Arbeitszyklus M enthalten, und auf Grund der moderaten Streckfaktoren nicht bzw. kaum hörbar ist. Im Ausführungsbeispiel umfasst ein Arbeitszyklus bezogen auf die bearbeiteten Werte mehr als 200 ms (Millisekunden) und weniger als 1000 ms. Es wird maximal um 10 Prozent ge- streckt. Somit werden mindestens sechs Sprachgrundeinheiten von jeweils etwa 30 ms in einem Arbeitszyklus M bearbeitet.

Der Verlauf der Koeffizientenfunktionen Cla und C2a für das Stauchen ist im unteren Teil der Figur 2 dargestellt. Die Werte der Koeffizientenfunktionen Cla und C2a liegen wieder zwischen 0 und 1. Zunächst hat der Koeffizient C2a konstant den Wert 1. Erst im letzten Abschnitt, genauer im letzten Drittel, eines Arbeitszyklus M fällt die Koeffizientenfunkti- on C2a streng monoton, z. B. wie dargestellt gemäß einer Funk- tion, die der Sigmoidfunktion ähnelt, oder auch linear. Dage- gen hat der Koeffizient Cla beim Stauchen zunächst konstant den Wert 0. Erst im letzten Abschnitt steigt die Koeffizien- tenfunktion Cla streng monoton, z. B. wie dargestellt gemäß

einer Funktion, die einer Sigmoidfunktion ähnelt, oder auch linear.

Die bedeutet, dass im ersten Abschnitt eines Arbeitszyklus M beim Stauchen die verzögerte Folge von Abtastwerten ausgege- ben wird. Im letzten Abschnitt wird dann auf Grund der Koef- fizientenverläufe allmählich umgeschaltet auf die unverzöger- te Folge. Letztlich wird zum Stauchen eine Teil der Abtast- werte"unterdrückt". Dies ist jedoch auf Grund der oben ge- nannten Gründe kaum hörbar. Durch den allmählichen Übergang haben auch die"unterdrückten"Abtastwerte einen Einfluss auf das erzeugte Ausgangssignal.

Für die Koeffizientenfunktionen Cla und C2a gilt außerdem die Beziehung : (Cla) 2 + (C2a) 2 = 1, wodurch die Signalleistung von Sprachsignalen und Musiksigna- len im Mittel im wesentlichen unverändert bleibt.

Figur 3 zeigt eine Umsetzeinrichtung 200 mit zwei Verzöge- rungseinheiten 206 und 207. Ein erster Teil der Umsetzein- richtung 200 stimmt mit der Umsetzeinrichtung 100 strukturell und funktionsmäßig überein. Die Elemente dieses Teils werden deshalb nicht noch einmal erläutert und haben in Figur 3 das gleiche Bezugszeichen wie in Figur 2, jedoch jeweils um den Wert 100 erhöht. An Stelle der Koeffizientenfunktion Cla bzw.

C2a werden jedoch Koeffizientenfunktionen Clb und C2b verwen- det, deren Verlauf unten noch näher erläutert wird.

Im Unterschied zu der Umsetzeinrichtung 100 enthält die Um- setzeinrichtung 200 noch eine weitere Verzögerungseinheit 207, die jedoch um das Doppelte verzögert wie die Verzöge- rungseinheit 106 bzw. 206, d. h. um 2 * N. Der Eingang der Verzögerungseinheit 207 ist mit dem Ausgang des Eingangsspei- chers 204 verknüpft. Der Ausgang der Verzögerungseinheit 207 ist mit dem einen Eingang einer Multipliziereinheit 211 ver- knüpft. Der andere Eingang der Multipliziereinheit 211 ist

mit einer Koeffizientenvorgabeeinheit verknüpft, die Koeffi- zienten gemäß einer Koeffizientenfunktion C3b vorgibt, deren Verlauf unten näher erläutert wird.

Der Eingang der Addiereinheit 212 ist sowohl mit den Ausgän- gen der Multipliziereinheiten 208 und 208 als auch mit dem Ausgang der Multipliziereinheit 211 verknüpft. Am Ausgang der Addiereinheit 212 wird die gestreckte oder die gestauchte Folge aus Abtastwerten ausgegeben.

Der Verlauf der Koeffizientenfunktion Clb und zweier Hilfs- funktionen C2c und C3c ist im mittleren Teil der Figur 3 für das Strecken und im unteren Teil der Figur 3 für das Stauchen dargestellt. Der Verlauf der Koeffizientenfunktion Clb ent- spricht dem Verlauf der Koeffizientenfunktion Cla, siehe Er- läuterungen zu Figur 2. Der Verlauf der Hilfsfunktion C2c entspricht für das Strecken und für das Stauchen jeweils dem Verlauf der Koeffizientenfunktion C2a für das Strecken und für das Stauchen, siehe Erläuterungen zu Figur 2. Die Hilfs- funktion C3c hat in den ersten zwei Drittel eines Arbeitszyk- lus M den Wert 0. Im letzten Drittel steigt die Hilfsfunktion C3c streng monoton auf einen Maximalwert von etwa 0,3 an, um dann wieder streng monoton auf den Wert 0 zu fallen. Die Hilfsfunktion C3c hat ihr Maximum in einem Arbeitsschritt s, in welchem die Koeffizientenfunktion Clb den gleichen Wert wie die Hilfsfunktion C2c hat.

Für die Koeffizientenfunktionen C2b und C3b gilt : C2b = C2c-C3c * Clb, C3b =-C2c *C3c.

Bei einem anderen Ausführungsbeispiel gelten auch die folgen- den Beziehungen : (Clb) 2 + (C2c) 2 = 1.

(Clb) + (C2b) + (C3b) =1, wodurch die Signalleistung von Sprachsignalen und Musiksigna- len im Mittel im wesentlichen unverändert bleibt und bestimm

te Töne ebenfalls unverändert bleiben, z. B. Töne mit einer Kreisfrequenz von 2 PI k/N, wobei PI die Zahl PI und k eine natürliche Zahl sind.

Die Umsetzeinrichtung 200 lässt sich äquivalent auch mit Hil- fe zweier parallel geschalteter Entzerrer gemäß Umsetzein- richtung 100 darstellen. Der Eingang des einen Entzerrerzwei- ges ist mit dem Ausgang des Eingansspeichers 204 verknüpft.

Der Entzerrer wird mit den Koeffizientenfunktionen Clb und C2c gesteuert. Der Eingang des anderen Entzerrerzweiges ist ebenfalls mit dem Ausgang des Eingangsspeichers 204 ver- knüpft. Der zweite Entzerrerzweig enthält eine Parallelschal- tung aus einer weiteren Verzögerungseinheit für eine Verzöge- rung N und aus einer Entzerrereinheit gemäß Umsetzeinrichtung 100. Der zweite Entzerrer wird ebenfalls mit den Koeffizien- tenfunktionen Clb und C2c gesteuert. Außerdem enthält der zweite Entzerrerzweig eine Multipliziereinheit, an deren an- deren eingangs die Koeffizientenfunktion C3c anliegt. Beide Entzerrerzweige werden über eine Differenzbildungsschaltung verknüpft, wobei das Ergebnis des zweiten Entzerrerzweiges vom Ergebnis des ersten Entzerrerzweiges in jedem Arbeits- schritt s abgezogen wird.

Durch die in Figur 3 dargestellte Umsetzeinrichtung werden verbesserte Ergebnisse erreicht, wie unten im Zusammenhang mit der Figur 5 näher erläutert wird. Insbesondere entsteht eine Art Kerbfilter mit kleineren Frequenzlücken im Vergleich zu der Umsetzeinrichtung 100. Diese Ergebnisse lassen sich in ähnlicher Form weiter verbessern, indem man weitere Verzöge- rungseinheiten und Koeffizienten einführt.

Figur 4 zeigt eine Umsetzeinrichtung 300 mit einer Verzöge- rungseinheit 306 und mit einem Allpass 320 erster Ordnung, Ein erster Teil der Umsetzeinrichtung 300 ist wie die Umsetz- einrichtung 100 aufgebaut und funktioniert gleichermaßen. Die Elemente dieses Teils werden deshalb nicht noch einmal erläu- tert und haben in Figur 4 ein Bezugszeichen zu dem ausgehend

von dem Bezugszeichen in Figur 2 der Wert 200 addiert worden ist. Jedoch werden an Stelle der Koeffizientenfunktionen Cla und C2a Koeffizientenfunktionen Cld und C3d verwendet, deren Verlauf unten näher erläutert wird.

Im Unterschied zur Umsetzeinrichtung 100 enthält die Umsetz- einrichtung 300 zusätzlich die Allpasseinheit 320. Die All- passeinheit 320 enthält eine Filtereinheit 322 und eine Ver- zögerungseinheit 324, die um N-Schritte verzögert. Die All- passeinheit 320 hat die folgende Übertragungsfunktion : H = (z N + t)/ (1 + Y * zN) wobei H die Übertragungsfunktion ist und y eine Verzögerung bestimmt, und y insbesondere den Wert 0,5 oder einen Wert größer als 0,5 hat.

Der Eingang der Allpasseinheit 320 ist mit dem Ausgang des Eingangsspeichers 304 verknüpft. Der Ausgang der Allpassein- heit 320 führt zu dem einen Eingang einer Multipliziereinheit 311. Der andere Eingang der Multipliziereinheit 311 ist mit dem Ausgang einer Koeffizientenvorgabeeinheit verknüpft, die je Arbeitsschritt s Koeffizienten gemäß einer Koeffizienten- vorgabefunktion C2d vorgibt, deren Verlauf unten für die bei- den Betriebsarten"Strecken"und"Stauchen"noch näher erläu- tert wird.

Der Ausgang der Multipliziereinheit 311 führt zu einem Ein- gang der Addiereinheit 312. Die anderen Eingänge der Addier- einheit 112 sind mit dem Ausgängen der Multipliereinheiten 308 und 310 verknüpft.

Die Werte der Koeffizientenfunktionen Cld, C2d und C3d liegen zwischen 0 und 1. Für die Koeffizientenfunktionen Cld bis C3d gilt : Cld + C2d + C3d =1. wodurch bestimmte Töne ebenfalls unverändert bleiben, z. B.

Töne mit einer Kreisfrequenz von 2 PI k/N, wobei PI die Zahl PI und k eine natürliche Zahl sind.

In der Betriebsart"Strecken"fällt die Koeffizientenfunktion Cld im ersten Drittel eines Arbeitszyklus streng monoton vom Wert 1 auf den Wert 0, bspw. gemäß einer Funktion, die einer Sigmoidfunktion ähnelt oder gleicht. Für die folgenden Ar- beitsschritte s des Arbeitszyklus M bleibt die Koeffizienten- funktion Cld auf dem Wert 0. In der Betriebsart"Strecken" steigt die Koeffizientenfunktion C2d im ersten Drittel eines Arbeitszyklus M vom Wert 0 auf den Wert 1 an. Im zweiten Drittel bleibt die Koeffizientenfunktion C2d konstant auf dem Wert 1. Im letzten Drittel fällt die Koeffizientenfunktion streng monoton vom Wert 1 auf den Wert 0. In der Betriebsart "Strecken"bleibt die Koeffizientenfunktion C3d in den ersten zwei Dritteln eines Arbeitszyklus M konstant auf dem Wert 0.

Im letzten Drittel eines Arbeitszyklus M steigt die Koeffi- zientenfunktion C3d streng monoton vom Wert 0 auf den Wert 1.

Für die Betriebsart"Stauchen"hat die Koeffizientenfunktion Cld den Verlauf der Koeffizientenfunktion C3d in der Be- triebsart"Strecken". Die Koeffizientenfunktion C2d hat in der Betriebsart"Stauchen"den gleichen Verlauf wie in der Betriebsart"Strecken". Die Koeffizientenfunktion C3d hat in der Betriebsart"Stauchen"den gleichen Verlauf wie die Koef- fizientenfunktion Cld in der Betriebsart"Strecken".

Figur 5 zeigt die Übertragungsfunktionen für die Überlapp- und Addierfunktion verschiedener Umsetzeinheiten an Stellen., an denen Frequenzlücken entstehen. Eine horizontale x-Achse 400 zeigt die normalisierte Frequenz im Bereich zwischen 0 und 0,5. Der in Figur 5 gezeigte Verlauf wiederholt sich für größere Frequenzen. Eine vertikale y-Achse 402 zeigt die nor- malisierte Dämpfung in dB im Bereich von-5 dB bis 20 dB. Ei- ne Kurve Kl gilt für die Umsetzeinrichtung 100, die auch als Entzerrer nullter Ordnung betrachtet werden kann. Die Umsetz- einrichtung 200 kann als Entzerrereinheit erster Ordnung be- trachtet werden. Eine Kurve K2 gilt für die Umsetzeinrichtung 200. Mit zunehmender Ordnung des Entzerrers verringert sich

die Dämpfung. Außerdem wird eine Frequenzlücke L1 bzw. L2 kleiner, die für die Kurve Kl bzw. K2 gilt.

Kurven K3 und K4 gelten für die Umsetzeinrichtung 300 mit ei- nem y-Wert von 0,5 bzw. 0,75. Mit zunehmendem y-Wert verrin- gert sich die Frequenzlücke weiter.

Der Umsetzfaktor N, der die Anzahl von Verzögerungen vorgibt, wird beispielsweise abhängig vom Füllstand des Eingangsspei- chers 104,204 oder 304 vorgegeben. Gleiches gilt für die Entscheidung, ob gestreckt oder gestaucht werden soll. Leert sich bspw. der Eingangsspeicher zu schnell muss gestreckt werden. Desto schneller sich der Eingangsspeicher leert, des- to schneller muss gestreckt werden, d. h. N wird vergrößert.

Für alle erläuterten Ausführungsbeispiele gilt, dass die Er- findung Eigenschaften des menschlichen Hörens nutzt, wonach spezielle Arten von Artefakten nicht oder nur geringfügig wahrgenommen werden können, insbesondere Artefakte die durch die oben erläuterten Überlappungsverfahren entstehen. Das Verfahren arbeitet im Zeitbereich an Hand eines festen Zeit- rasters, welches die Audiodaten in Zeitsegmente aufteilt, bspw. in Zeitsegmente von 200 ms. Zur Umsetzung der Zeitskala wird innerhalb des Zeitsegments in einem Abschnitt mit defi- nierter Länge, bspw. von 30 ms, der ursprüngliche Audiostrom mit einer verzögerten Version seiner selbst überlappt und ad- diert. Dies erfolgt auf Grund der gewählten Koeffizienten so, dass keine Unstetigkeiten entstehen. Die Verzögerung ist pro- portional dem Umsetzfaktor und entspricht der Verzögerung zwischen dem Audiostrom am Eingang und am Ausgang der Zeit- skala Umsetzeinrichtung. Die Verzögerung liegt bspw. zwischen 0 ms und 20 ms bei einem Umsetzfaktor von 0 Prozent bis 10 Prozent im Sinne von Zeitkompression bzw. Zeitexpansion.

Die Wahl des genannten Zeitrasters bzw. Zeitsegmentabschnitts trägt ebenfalls zur Verringerung der Wahrnehmbarkeit der ent- stehenden Artefakte bei.

Bei den erläuterten Verfahren wird dem Entstehen von Artefak- ten bzw. hörbaren Störungen bereits vor dem Zusammenführen entgegengewirkt und/oder beim Zusammenführen entstehende Ar- tefakte werden nach dem Zusammenführen beseitigt, bspw. mit einem zeitvariantem Dämpfungsglied, dass die Gesamtverzöge- rung der Umsetzeinrichtung nicht weiter erhöht. Ein aufwändi- geres digitales Filter führt zu einer besseren Qualität, er- höht jedoch in der Regel die Gesamtverzögerung etwas.

Die erläuterten Verfahren : - sind an den Eigenschaften menschlichen Hörens orientiert und kommen ohne Analysefenster aus, - sind mit kleinen algorithmischen Verzögerungszeiten in den Audiopfad einführbar, - können mit einem kleinen Aufwand implementiert werden, - durch die geringen Verzögerungen in Echtzeitanwendungen einsetzbar, - ermöglichen eine qualitativ hochwertige Umsetzung sowohl von Sprache als auch von Musik, - sind für eine Vielzahl von Anwendungen einsetzbar, z. B. für die Synchronisation der Abtastrate oder für einen dynamischen Jitterbufferabgleich, - sind mit anderen zeitbasierten Verfahren kombinierbar, z. B. mit dem Verfahren gemäß"MPEG-4 Audio, ISO/IEC FCD 14496-3, Subpart 1 : Abschnitt 4.1. 3" vom 15.05. 1998, siehe z. B. ftp : //ftp. tnt. uni-hannover. de/pub/MPEG/ audio/mpeg4/documents/w2203/w2203. pdf.

Bei alternativen Ausführungsbeispielen gemäß Figuren 2 und 3 liegen die Überlapp-und Addierbereiche nicht am Ende sondern am Anfang eines Arbeitszyklus M, so dass dann am Ende eines Arbeitszyklus M Abschnitte mit konstanten Koef- fizientenfunktionen und mit konstanten Hilfsfunktionen liegen. Bei anderen alternativen Ausführungsbeispielen ge- mäß Figuren 2 und 3 liegen die Überlapp-und Addierberei- che in der Mitte eines Arbeitszyklus M. so dass dann am Ende eines Arbeitszyklus M und am Anfang eines Arbeitszyk

lus M Abschnitte mit konstanten Koeffizientenfunktionen und konstanten Hilfsfunktionen liegen.

Bei alternativen Ausführungsbeispielen gemäß Figur 4 gibt es neben den zwei Überlapp-und Addierabschnitten mit sich ändernden Koeffizientenfunktionen und Hilfsfunktionen zwei konstante Abschnitte. Jeder Abschnitt ist bspw. ein Vier- tel eines Arbeitszyklus M lang. Alternativ lassen sich auch Abschnitte mit untereinander verschiedenen Längen einsetzen. Werden die Überlapp-und Addierabschnitten mit Ü und die konstanten Abschnitte mit K abgekürzt, so gibt es bspw. die folgenden Abschnittsfolgen je Arbeitszyklus M : Ü-K-Ü-K, oder K-Ü-K-Ü, wobei die zeitliche Reihenfolge der in Figur 4 dargestell- ten Abschnitte beim Stauchen bzw. Strecken erhalten bleibt.