[0001] Die vorliegenden Erfindung bezieht sich auf die Verarbeitung von Signalen und insbesondere
von Audiosignalen im Frequenzbereich.
[0002] In vielen Bereichen der Signalverarbeitung müssen Filtercharakteristiken zur Laufzeit
geändert werden. Dabei ist oftmals ein allmählicher, glatter Übergang notwendig, um
Störungen durch die Umschaltung (z.B. Diskontinuitäten im Signalverlauf, im Fall von
Audiosignalen hörbare Knack-Artefakte) zu vermeiden. Dies kann entweder durch eine
kontinuierliche Interpolation der Filterkoeffizienten oder ein simultanes Filtern
des Signals mit beiden Filtern und einer anschließenden graduellen Überblendung der
gefilterten Signale erfolgen. Beide Verfahren liefern identische Ergebnisse. Diese
Funktionalität wird im Folgenden als "Crossfading" bezeichnet.
[0003] Bei Filterung mit FIR-Filtern, auch als lineare Faltung (engl. "convolution") bezeichnet,
können durch die Verwendung schneller Faltungsalgorithmen deutliche Performance-Gewinne
erzielt werden. Diese Verfahren operieren im Frequenzbereich und arbeiten blockbasiert.
Frequenzbereichs-Faltungsalgorithmen wie Overlap-Add and Overlap-Save (u.a. [8]; [9])
partitionieren nur das Eingangssignal, jedoch nicht den Filter, und verwenden daher
große FFTs (FFT = Fast Fourier Transform = schnelle Fouriertransformation), was zu
hohen Latenzen bei der Filterung führt. Partitionierte Faltungsalgorithmen, entweder
gleichförmig [10]; [11] oder ungleichförmig [12]; [13]; [20] partitioniert, unterteilen
auch die Filter (bzw. deren Impulsantworten) in kleinere Segmente. Durch Anwendung
der Frequenzbereichsfaltung auf diese Partitionen, entsprechende Verzögerung und Kombination
der Ergebnisse können gute Kompromisse zwischen verwendeter FFT-Größe, Latenz und
Komplexität erzielt werden.
[0004] Alle Verfahren zur schnellen Faltung haben gemein, dass sie sich nur sehr schlecht
mit einer graduellen Filter-Überblendung kombinieren lassen. Dies liegt zum einen
in der blockbasierten Arbeitsweise dieser Algorithmen begründet. Zum anderen würde
die Interpolation von Zwischenwerten zwischen mehreren Filtern, wie sie bei einem
Übergang auftreten, eine deutlich erhöhte Rechenlast bedingen, da diese interpolierten
Filtersätze jeweils erst in eine für die Anwendung schneller Faltungsalgorithmen geeignete
Form transformiert werden müssen (i.d.R. erfordert dies ein Segmentieren, Auffüllen
mit Nullen und eine FFT-Operation). Für eine "glatte" Überblendung müssen diese Operationen
recht häufig ausgeführt werden, was den Leistungsvorteil der schnellen Faltung deutlich
herabsetzt.
[0005] Bisherige beschriebene Lösungen sind insbesondere im Bereich der Binauralsynthese
zu finden. Dabei werden entweder die Filterkoeffizienten der FIR-Filter interpoliert,
gefolgt von einer Faltung im Zeitbereich [5] (Anm.: Der graduelle Austausch der Filterkoeffizienten
wird in dieser Publikation als
"commutation" bezeichnet). [14] beschreibt ein Crossfading zwischen FIR-Filtern durch die Anwendung
zweier schneller Faltungsoperationen gefolgt von einem Crossfade im Zeitbereich. [16]
betrachtet den Austausch von Filterkoeffizienten in ungleichförmig partitionierten
Faltungsalgorithmen. Dabei werden sowohl Crossfades als auch Austauschstrategien für
die partitionierten Impulsantwort-Blöcke (mit dem Ziel einer graduellen Überblendung)
betrachtet.
[0006] Vom algorithmischen Ansatz (jedoch für eine andere Anwendung) kommt ein in [18] beschriebenes
Verfahren zur nachträglichen Glättung eines durch die FFT gewonnenen Spektrums der
hier beschriebenen Lösung am Nächsten. Dort wird die Anwendung eines speziellen Zeitbereichsfenster
(vom Kosinus-Typ, z.B. Hann- oder Hamming-Fenster) durch eine Faltung im Frequenzbereich
mit einer Frequenzbereichs-Fensterfunktion mit nur drei Elementen implementiert. Eine
Überblendung oder ein Ein- oder Ausfaden von Signalen wird dort nicht als Anwendung
vorgesehen, auch baut das dort beschriebene Verfahren auf festen 3-Element-Frequenzbereichsfenstern
auf, die auf in der DSP bekannten Fenstern beruhen, und zeigt nicht die Flexibilität,
um Komplexität und Güte der Approximation an eine vorgegebene Fensterfunktion anzupassen
(und damit auch nicht das Entwurfsverfahren für die dünnbesetzten Fensterfunktionen).
Zum anderen betrachtet [18] auch nicht die Verwendung des Overlap-Save-Verfahrens,
und damit auch nicht die Möglichkeit, für bestimmte Teile der Zeitbereichs-Fensterfunktion
keine Vorgaben machen zu müssen.
[0007] Die Binauralsynthese ermöglicht eine realistische Reproduktion komplexer akustischer
Szenen über Kopfhörer, die auf vielen Gebieten angewendet wird, z.B. immersive Kommunikation
[1], Hördisplays (engl. auditory displays) [2], virtuelle Realität [3] oder erweiterte
Realität (engl. augmented reality) [4]. Ein Aufbereiten dynamischer akustischer Szenen
dahingehend, dass dynamische Kopfbewegungen des Zuhörers einbezogen werden, verbessert
die Lokalisierungsqualität, den Realismus und die Plausibilität einer Binauralsynthese
beträchtlich, erhöht jedoch auch die rechentechnische Komplexität bezüglich der Aufbereitung.
Eine andere üblicherweise angewendete Art und Weise, die Lokalisierungsgenauigkeit
und Natürlichkeit zu verbessern, besteht darin, Raumreflexionen und Nachhalleffekte,
z.B. [1], [5], hinzuzufügen, beispielsweise indem eine Anzahl diskreter Reflexionen
für jedes Schallobjekt berechnet und als zusätzliche Schallobjekte aufbereitet werden.
Wiederum erhöhen derartige Techniken die Komplexität eines binauralen Aufbereitens
beträchtlich. Dies hebt die Bedeutung effizienter Signalverarbeitungstechniken für
die Binauralsynthese hervor.
[0008] Der allgemeine Signalfluss eines dynamischen Binauralsynthese-Systems ist in Fig.
4 gezeigt. Die Signale der Schallobjekte werden mit den kopfbezogenen Übertragungsfunktionen
(HRTFs) beider Ohren gefiltert. Eine Summation dieser Beiträge liefert das Signal
des linken und des rechten Ohres, die durch Kopfhörer reproduziert werden. HRTFs bilden
die Schallausbreitung von der Quellenposition zum Trommelfell ab und variieren je
nach der relativen Position - je nach Azimut, Elevation und innerhalb bestimmter Grenzen
auch je nach Abstand [6]. Somit erfordern dynamische Schallszenen ein Filtern mit
zeitlich veränderlichen HRTFs. Allgemein werden zwei zueinander in Wechselbeziehung
stehende, jedoch gesonderte Techniken benötigt, um derartige zeitlich veränderliche
Filter zu implementieren: HRTF-Interpolation und Filter-Überblendung. In diesem Zusammenhang
bezeichnet Interpolation ein Bestimmen von HRTFs für eine gegebene Quellenposition,
die üblicherweise durch Azimut- und Erhöhungskoordinaten angegeben wird. Da HRTFs
üblicherweise in Datenbanken mit einer endlichen räumlichen Auflösung bereitgestellt
werden, z.B. [7], umfasst dies die Auswahl einer geeigneten Teilmenge von HRTFs und
eine Interpolation zwischen diesen Filtern [3], [6]. Eine Filter-Überblendung, die
bei [5] als "commutation" bezeichnet wird, ermöglicht einen glatten, über eine gegebene
Übergangszeit verteilten Übergang zwischen diesen, möglicherweise interpolierten,
HRTFs. Derartige graduelle Übergänge sind nötig, um hörbare Signaldiskontinuitäten,
z.B. Knackgeräusche, zu vermeiden. Das vorliegende Dokument konzentriert sich auf
den Überblendungsvorgang.
[0009] Aufgrund der üblicherweise großen Anzahl von Schallobjekten trägt ein Filtern der
Quellensignale mit den HRTFs beträchtlich zur Komplexität einer Binauralsynthese bei.
Eine geeignete Art und Weise, diesen Aufwand zu verringern, besteht darin, Frequenzbereichs-Faltungstechniken
(FD-Faltungstechniken, FD = frequency domain, Frequenzbereich) wie beispielsweise
das Overlap-Add- oder Overlap-Save-Verfahren [8], [9] oder partitionierte Faltungsalgorithmen
anzuwenden, z.B. [10]-[13]. Ein gemeinsamer Nachteil aller FD-Faltungsverfahren besteht
darin, dass ein Austausch der Filterkoeffizienten oder ein gradueller Übergang zwischen
Filtern stärker eingeschränkt ist und üblicherweise einen höheren Berechnungsaufwand
als eine Überblendung zwischen Zeitbereichsfiltern erfordert. Einerseits ist dies
auf die blockbasierte Arbeitsweise dieser Verfahren zurückzuführen. Andererseits bringt
die Notwendigkeit, die Filter in eine Frequenzbereichs-Darstellung umzuwandeln, bei
häufigen Filterwechseln einen beträchtlichen Leistungsverlust mit sich. Folglich besteht
eine typische Lösung für eine Filter-Überblendung aus zwei FD-Faltungsvorgängen mit
verschiedenen Filtern und einer anschließenden Überblendung der Ausgaben im Zeitbereich.
[0010] Die
EP 2667508 A2 offenbart ein Verfahren und eine Vorrichtung zur effizienten Frequenzbereichsimplementierung
von zeitlich variablen Filtern. Um gefilterte Abtastwerte eines Eingangs-Frames zu
erhalten, werden Frequenzbereichswerte des Eingangs-Frames mit gefalteten Frequenzbereichskoeffizienten
multipliziert. Die gefalteten Frequenzbereichskoeffizienten werden durch Faltung von
eingestellten Frequenzbereichskoeffizienten mit Frequenzbereichskoeffizienten eines
Filter-Truncation-Fensters erzeugt.
[0011] Die Aufgabe der vorliegenden Erfindung besteht darin, ein effizienteres Konzept zum
Verarbeiten von Signalen im Frequenzbereich zu ermöglichen.
[0012] Diese Aufgabe wird durch eine Vorrichtung zum Verarbeiten eines Signals nach Patentanspruch
1 oder 15, ein Verfahren zum Verarbeiten eines Signals nach Patentanspruch 14 oder
17, oder ein Computerprogramm nach Patentanspruch 18 gelöst.
[0013] Die vorliegende Erfindung basiert auf der Erkenntnis, dass es insbesondere dann,
wenn ohnehin Verarbeitungen im Frequenzbereich vorhanden sind, eine eigentlich im
Zeitbereich zu erfolgende Fensterung, das heißt eine elementweise Multiplikation mit
einer Zeitbereichsfolge, wie beispielsweise eine Überblendung, eine Verstärkung bzw.
eine sonstige Verarbeitung eines Signals, ebenfalls in dieser Frequenzbereich-Repräsentation
durchzuführen.. Dabei ist zu beachten, dass eine solche Fensterung im Zeitbereich
im Frequenzbereich als Faltung und beispielsweise als zirkuläre Faltung auszuführen
ist. Dies ist insbesondere im Zusammenhang mit partitionierten Faltungsalgorithmen,
die durchgeführt werden, um eine Faltung im Zeitbereich durch eine Multiplikation
im Frequenzbereich zu ersetzen, von Vorteil. Bei solchen Algorithmen und auch bei
sonstigen Anwendungen sind die Zeit-Frequenz-Transformationsalgorithmen und die inversen
Frequenz-Zeitbereich-Transformationsalgorithmen derart aufwendig, so dass durchaus
eine Faltung im Frequenzbereich mit einer Frequenzbereichs-Fensterfunktion ihren Aufwand
rechtfertigt. Insbesondere bei Multikanal-Anwendungen, wo ansonsten viele Frequenz-Zeit-Transformationen
nötig wären, um anschließend eine Zeitbereichs-Fensterung, wie beispielsweise eine
Überblendung oder eine Verstärkungsänderung zu erreichen, ist es erfindungsgemäß von
großem Vorteil, im Frequenzbereich, also in der Domäne, die durch einen partitionierten
Faltungsalgorithmus ohnehin ausgewählt worden ist, Signalverarbeitungen durchzuführen,
die eigentlich im Zeitbereich vorgesehen wären. Die dadurch nötige zirkuläre (auch
zyklische oder periodische) Faltung im Frequenzbereich ist bei Verwendung geeigneter
Frequenzbereichs-Fensterfunktionen aufwandsmäßig unproblematisch, da eine Anzahl von
Frequenz-Zeitbereich-Transformationsalgorithmen eingespart wird.
Eine Vielzahl benötigter Zeitbereichs-Fensterfunktionen lässt sich sehr gut durch
solche Fensterfunktionen approximieren, deren Frequenzbereichs-Repräsentation nur
wenige von Null verschiedene Koeffizienten aufweist. Damit kann die zirkuläre Faltung
so effizient ausgeführt werden, dass der Gewinn durch die Einsparung der zusätzlichen
Frequenz-Zeitbereichstransformationen die Kosten für die zirkuläre Faltung im Frequenzbereich
übersteigt. Bei bevorzugten Ausführungsbeispielen der vorliegenden Erfindung, bei
denen es um ein Einblenden, Ausblenden, Überblenden oder eine Veränderung der Lautstärke
geht, kann insbesondere durch lediglich Approximieren einer Zeitbereichs-Fensterfunktion
im Frequenzbereich, also durch Beschränken der Anzahl der Koeffizienten auf z.B. weniger
als 18 Koeffizienten im Frequenzbereich eine deutliche Aufwandsreduktion erreicht
werden Zusätzliche Effizienzgewinne können durch effiziente Berechnungsvorschriften
für die zirkuläre Faltung erzielt werden, indem die Struktur der Frequenzbereichs-Fensterfunktion
ausgenutzt wird. Dies betrifft zum einen die konjugiert-symmetrische Struktur dieser
Fensterfunktion, die sich aus der Reellwertigkeit der zugehörigen Zeitbereichs-Fensterfunktion
ergibt. Zum anderen können Summanden der zirkulären Faltungssumme effizienter berechnet
werden, wenn die jeweiligen Koeffizienten der Frequenzbereichs-Fensterfunktion rein
reellwertig oder rein imaginär sind.
[0014] Insbesondere bei einer Constant-Gain-Überblendung, d.h. wenn die Summe der Ein- und
Ausblendfunktion zu jedem Zeitpunkt 1 ergibt, kann der Aufwand für die zirkuläre Faltung
noch weiter reduziert werden, da lediglich eine einzige Faltung mit einer Frequenzbereichs-Filterfunktion
berechnet werden muss und ansonsten lediglich eine Differenzbildung zwischen zwei
gefilterten Signalen nötig ist.
[0015] Bei Ausführungsbeispielen kann somit lediglich ein einziges Signal mit einem einzigen
Filter gefiltert werden, um dann eine Frequenzbereichs-Fensterfunktion anzulegen,
um beispielsweise eine Lautstärke bzw. Verstärkungsänderung des Signals bereits im
Frequenzbereich zu erreichen.
[0016] Bei einem alternativen Ausführungsbeispiel, bei dem eine Constant-Gain-Überblendung,
also eine Überblendung mit konstanter Verstärkung angestrebt wird, wird es bevorzugt,
zunächst eine Differenz zwischen zwei Filterausgangssignalen zu bilden, die durch
Filter mit zwei unterschiedlichen Filtern ein- und desselben Eingangssignals erzeugt
worden sind, um dann das Differenzsignal einer Frequenzbereichs-Fensterfunktion zu
unterziehen.
[0017] Bei noch einem weiteren Ausführungsbeispiel der vorliegenden Erfindung wird jedes
Filterausgangssignal mit einem eigenen Frequenzbereichs-Fenster zirkulär gefaltet
und die Faltungs-Ausgangssignale werden dann aufaddiert, um im Frequenzbereich das
Ergebnis der beispielsweise Überblendung zu erhalten. Wenn zwei getrennte Frequenzbereichsfenster
verwendet werden, können auch die Filtereingangssignale unterschiedlich sein. Alternativ
betrifft diesen Fall auch eine Erweiterung eines Anwendungsbeispiels mit nur einem
Signal und z.B. einer Verstärkungsänderungsfunktion, welches auf viele parallele Kanäle
erweitert wird, und wo die Kombination der Signale im Frequenzbereich mit einer einzigen
Rücktransformation erfolgt.
[0018] Bei besonders bevorzugten Ausführungsbeispielen der vorliegenden Erfindung werden
die erforderlichen Zeitbereichs-Fensterfunktionen für jede Frequenzbereichs-Darstellung
lediglich angenähert. Dies wird dazu ausgenutzt, um die Anzahl der Frequenzbereichs-Fensterfunktionskoeffizienten
zu reduzieren auf z.B. höchstens 18 Koeffizienten oder aber im Extremfall auf lediglich
zwei Koeffizienten. Damit ergibt sich bei Rücktransformation dieser Frequenzbereichs-Fensterfunktionen
in den Zeitbereich eine Abweichung von der eigentlich geforderten Fensterfunktion.
Es hat sich jedoch herausgestellt, dass insbesondere bei den Anwendungen der Überblendung,
der Lautstärkeänderung, der Ausblendung, der Einblendung oder auch einer sonstigen
Signalverarbeitung diese Abweichung nicht problematisch ist oder den subjektiven Höreindruck
nicht oder nur sehr geringfügig stört, so dass diese kleine Problematik, falls sie
überhaupt vorhanden ist, für den subjektiven Höreindruck im Hinblick auf die erheblichen
erreichten Effizienzsteigerungen ohne Weiteres in Kauf genommen werden kann.
[0019] Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug
nehmend auf die beiliegenden Zeichnungen detailliert erläutert. Es zeigen:
- Fig. 1
- eine Vorrichtung zum Verarbeiten eines Signals im Frequenzbereich mit eine Frequenzbereichs-Fensterfunktion
und einem Filter;
- Fig. 2
- eine Vorrichtung zum Verarbeiten eines Signals im Frequenzbereich mit zwei Filtern
und zwei Frequenzbereichs-Fensterfunktionen;
- Fig. 3
- eine Vorrichtung zum Verarbeiten eines Signals im Frequenzbereich mit zwei Filtern
und einer einzigen Frequenzbereichs-Fensterfunktion;
- Fig. 4
- einen Signalfluss eines dynamischen Binauralsynthesesystems;
- Fig. 5a
- eine Zeitbereichs-Fensterfunktion für eine lineare Überblendung als Beispiel für eine
Überblendung mit konstanter Verstärkung;
- Fig. 5b
- eine Zeitbereichs-Fensterfunktion für eine lineare Verstärkungsänderung als Beispiel
für eine beliebig geartete Verstärkungsänderung;
- Fig. 6a-6f
- Fensterentwurfsbeispiele für unterschiedliche Frequenzbereichs-Fensterkoeffizienten;
- Fig. 7a-7f
- eine tabellarische Aufstellung der numerischen Werte der Frequenzbereichs-Filterkoeffizienten
für die in Fig. 6a-6f gezeigten Fenster;
- Fig. 7g
- eine tabellarische Darstellung der Designfehler für verschiedene Frequenzbereichs-Fensterfunktionen
aufgrund der Approximation;
- Fig. 8
- Übersichtsdiagramme für die Komplexität der Frequenzbereichs-Faltungsalgorithmen mit
einer Filterüberblendung als Anzahl der Instruktionen pro Ausgabesample;
- Fig. 9
- ein zu Fig. 4 ähnliches Diagramm zur Implementierung einer konventionellen Ohrhörersignalverarbeitung;
- Fig. 10
- eine Ohrhörersignalverarbeitung gemäß einem Ausführungsbeispiel.; und
- Fig. 11
- eine Vorrichtung zur Beaufschlagung eines im Frequenzbereich vorliegenden Signals
mit einer Verstärkungsänderungsfunktion.
[0020] Fig. 1 zeigt eine Vorrichtung zum Verarbeiten eines zeitdiskreten Signals im Frequenzbereich.
Ein Eingangssignal 100, das im Zeitbereich vorliegt, wird in einen Zeit-Frequenz-Wandler
110 eingespeist. Das Ausgangssignal des Zeit-Frequenz-Wandlers 110 wird dann einer
Prozessorstufe 120 zugeführt, die ein Filter 122 und eine Frequenzbereichs-Fensterfunktions-Beaufschlagungseinrichtung
124 aufweist. Das Ausgangssignal 123 der Frequenzbereichs-Fensterfunktions-Beaufschlagungseinrichtung
124 kann dann entweder direkt oder nach Verarbeitung, wie beispielsweise einer Kombination
mit anderen entsprechend gleich verarbeiteten Signalen einer Frequenz-Zeit-Transformationseinrichtung
bzw. einem Frequenz-Zeit-Wandler 130 zugeführt werden. Bei einem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung sind der Zeit-Frequenz-Wandler 110 und der Frequenz-Zeit-Wandler
130 für eine schnelle Faltung ausgelegt. Eine schnelle Faltung kann beispielsweise
einen Overlap-Add-Faltungsalgorithmus, ein Overlap-Save-Faltungsalgorithmus oder irgendein
partitionierter Faltungsalgorithmus sein. Ein solcher partitionierter Faltungsalgorithmus
wird verwendet, wenn eine direkte Anwendung eines unpartitionierten Frequenzbereichs-Faltungsalgorithmus
wie Overlap-Save oder Overlap-Add aufgrund der durch diese Algorithmen bedingten Latenz
oder anderen praktischen Gründen wie der Größe der verwendeten FFTs, nicht vertretbar
ist. Dann wird eine entsprechende Partitionierung vorgenommen, und zwar je nach entsprechendem
Faltungsalgorithmus. Eine entsprechende Filterung, wie sie in Block 122 dargestellt
ist, kann dann durch Multiplikationen und Summation eines transformierten Eingangssignals
mit einer partitionierten Frequenzbereichsrepräsentation der Impulsantwort ausgeführt
werden, so dass die lineare Faltung im Zeitbereich vermieden werden kann.
[0021] Es sei darauf hingewiesen, dass die Frequenzbereichsdarstellung auf einer blockweisen
Partitionierung des Signals beruht. Implizit ergibt sich das auch aus der im Zeit-
und Frequenzbereich diskreten Natur der Frequenzbereichsdarstellung.
Wie bereits dargestellt, sind prominente Vertreter von partitionierten Faltungsalgorithmen
das Overlap-Add-Verfahren, bei dem ein Eingangssignal zunächst in nicht-überlappende
Sequenzen partitioniert wird und mit einer bestimmten Zahl von Nullen ergänzt wird.
Dann werden diskrete Fourier-Transformationen der einzelnen nicht-überlappenden, mit
Nullen aufgefüllten Sequenzen und des Filters gebildet. Hierauf wird eine Multiplikation
der transformierten nicht-überlappenden Sequenzen mit der Fourier-Transformation der
ebenfalls mit einer bestimmten Zahl von Null-Samples ergänzten Impulsantwort des Filters
durchgeführt. Dann werden die Sequenzen durch eine inverse FFT wieder in den Zeitbereich
gebracht, wobei das resultierende Ausgangssignal durch Überlappen und Addieren rekonstruiert
wird. Das Auffüllen mit Nullen ist erforderlich, um unter Verwendung einer Frequenzbereichs-Multiplikation,
welche einer zirkulären Faltung im Zeitbereich entspricht, eine lineare Faltung im
Zeitbereich zu implementieren. Die Überlappung stammt aus der Tatsache, dass das Ergebnis
einer linearen Faltung immer länger als die ursprünglichen Sequenzen ist, und sich
das Ergebnis jeder Frequenzbereichsmultiplikation daher auf mehr als eine Partition
des Ausgangssignals auswirkt.
[0022] Bei einem alternativen Verfahren, dem Overlap-Save-Verfahren (z.B. [9]) werden überlappende
Segmente des Eingangssignals gebildet und mittels einer diskreten Fourier-Transformation,
z.B. der FFT, in den Frequenzbereich transformiert. Diese Sequenzen werden elementweise
mit der mit einer Anzahl von Null-Samples aufgefüllten und in den Frequenzbereich
transformierten Impulsantwort des Filters multipliziert. Das Ergebnis dieser Multiplikation
wird mittels einer inversen diskreten Fourier-Transformation in den Zeitbereich zurücktransformiert.
Zur Vermeidung zirkulärer Faltungseffekte wird aus jedem zurücktransformierten Block
eine festgelegte Zahl von Samples verworfen. Durch Aneinanderfügen der verbleibenden
Sequenzen wird das Ausgangssignal gebildet.
[0023] Bezug nehmend auf Fig. 1 ist die Prozessorstufe 120 somit ausgebildet, um das Signal,
das in der Frequenzbereichs-Darstellung vorliegt, mit einem Filter mit einer Filtercharakteristik
zu filtern, um ein gefiltertes Signal 123 zu erhalten.
[0024] Das gefilterte Signal oder das von dem gefilterten Signal abgeleitete Signal wird
dann mit einer Frequenzbereichs-Fensterfunktion beaufschlagt 124, um ein gefenstertes
Signal 125 zu erhalten, wobei das Beaufschlagen eine Multiplikation von Frequenzbereichs-Fensterfunktionskoeffizienten
der Frequenzbereichs-Fensterfunktion mit Spektralwerten des gefilterten Signals, um
Multiplikationsergebnisse zu erhalten und eine Aufsummation der Multiplikationsergebnisse,
also eine Operation im Frequenzbereich umfasst. Vorzugsweise umfasst das Beaufschlagen
eine zirkuläre (periodische) Faltung der Frequenzbereichs-Fensterfunktionskoeffizienten
der Frequenzbereichs-Fensterfunktion mit Spektralwerten des gefilterten Signals. Der
Umwandler 130 wiederum ist ausgebildet, um das gefensterte Signal oder ein unter Verwendung
des gefensterten Signals ermitteltes Signal in einen Zeitbereich umzuwandeln, um das
verarbeitete Signal z.B. bei 132 zu erhalten.
[0025] Die Verarbeitung um das von dem gefilterten Signal abgeleitete Signal zu erhalten
soll alle möglichen Modifikationen des Signals, u.a. die Summation, die Differenzbildung
oder die Bildung einer Linearkombination betreffen. Ein Beispiel ist in dem konkret
in Fig. 3 dargestellten Signalfluss gegeben, in dem das "von dem gefilterten Signal
abgeleitete Signal" aus der Differenz zweier gefilterter Signale besteht.
[0026] Fig. 2 zeigt eine alternative Implementierung der Prozessorstufe, wobei der Zeit-Frequenz-Wandler
110 wie in Fig. 1 ausgeführt sein kann. Insbesondere umfasst die Prozessorstufe 120
ein Filter 122a, um ein Frequenzbereichs-Signal, das von dem Zeitbereichs-Signal 100
abgeleitet ist, mit einer ersten Filtercharakteristik H
1 zu filtern, um ein gefiltertes Signal am Ausgang des Blocks 122a zu erhalten. Ferner
ist die Prozessorstufe ausgebildet, um das Frequenzbereichs-Signal am Ausgang des
Blocks 110 mit einem zweiten Filter 122b mit einer zweiten Filtercharakteristik H
2 zu filtern, um ein gefiltertes zweites Signal zu erhalten. Ferner ist die Prozessorstufe
ausgebildet, um das erste gefilterte Signal mit einer ersten Frequenzbereichs-Fensterfunktion
124a zu beaufschlagen, um ein gefenstertes erstes Signal zu erhalten, und ist die
Prozessorstufe ausgebildet, um das zweite gefilterte Signal mit einer zweiten Frequenzbereichs-Fensterfunktionen
124b zu beaufschlagen, um ein gefenstertes zweites Signal zu erhalten. Die beiden
gefensterten Signale werden daraufhin in einem Kombinierer 200 kombiniert. Das am
Ausgang des Kombinierers 200 anliegende kombinierte Frequenzbereichssignal kann dann,
beispielsweise wie in Fig. 1 dargestellt, durch einen Umwandler 130 in ein Zeitbereichssignal
gewandelt werden.
[0027] Fig. 3 zeigt eine weitere Implementierung der Prozessorstufe, bei der das Frequenzbereichssignal
105, welches von dem Zeitbereichssignal 100 abgeleitet ist, durch ein Filter 122a
mit einer ersten Filtercharakteristik H
2 zu filtern, um ein erstes gefiltertes Signal zu erhalten. Ferner wird das Frequenzbereichssignal
105 durch ein Filter 122b mit einer zweiten Filtercharakteristik H
2 gefiltert, um ein zweites gefiltertes Signal zu erhalten. Durch einen Kombinierer
300 wird aus dem ersten und dem zweiten gefilterten Signal ein Differenzsignal 302
gebildet, welches dann einer einzigen Frequenzbereichs-Fensterfunktions-Beaufschlagungseinrichtung
122c zugeführt wird, wobei die Beaufschlagung vorzugsweise als zirkuläre Faltung der
Spektralkoeffizienten des Differenzsignals mit den Koeffizienten der Frequenzbereichs-Fensterfunktion
ausgeführt ist. Das gefensterte Ausgangssignal wird dann in dem Kombinierer 200 mit
dem ersten gefilterten Signal am Ausgang des Blocks 122a kombiniert. Damit erhält
man am Ausgang des Kombinierers 200 von Fig. 3 dasselbe Signal wie am Ausgang des
Kombinierers 200 von Fig. 2, wenn die beiden Frequenzbereichs-Fensterfunktionen Constant-Gain-Überblendfunktionen
sind, wenn also die Zeitbereichsrepräsentationen der Frequenzbereichs-Fensterfunktionen
124a und 124b sich so ergänzen, dass ihre Summe zu jedem Zeitpunkt 1 ergibt. Diese
Bedingung ist beispielsweise erfüllt, wenn Frequenzbereichs-Fensterfunktion 124a im
Zeitbereich einer abfallende Rampe entspricht und die Frequenzbereichs-Fensterfunktion
124b im Zeitbereich eine ansteigende Rampe darstellt (oder umgekehrt), wie es beispielsweise
in Fig. 5a dargestellt ist.
[0028] Für einen Constant-Gain-Crossfade mit beliebigem Start-und Endwert und Verwendung
eines "Standard-Fensters" wird es bevorzugt, die Signale vor der Summation (300) mit
linearen Faktoren (s bzw. (e-s) zu skalieren, wie es in Fig. 11 dargestellt ist. Damit
ergibt sich eine optionale Skalierung vor der Summation, so dass der Kombinierer eine
Linearkombination ausführt als Alternative zu einer einfachen Addition. Weitere Ausführungsbeispiele
können ebenfalls implementiert werden.
[0029] Ferner sei darauf hingewiesen, dass die Ein- oder Ausblendung oder die Überblendung
über einen oder mehrere Blöcke erfolgen kann, je nach Anforderung in der speziellen
Implementierung.
[0030] Bei bevorzugten Ausführungsbeispielen der vorliegenden Erfindung ist das Zeitbereichs-Signal
ein Audiosignal, wie beispielsweise das Signal einer Quelle, das nach diverser Verarbeitung
zu einem Lautsprecher oder einem Ohrhörer gesendet werden kann. Alternativ kann das
Audiosignal auch das Empfangssignal eines Mikrofon-Arrays beispielsweise sein. Bei
wieder anderen Ausführungsbeispielen ist das Signal kein Audiosignal, sondern ein
Informationssignal, wie es nach einer Demodulation ins Basisband oder im Zwischenfrequenz-Band
erhalten wird, und zwar im Kontext einer Übertragungsstrecke, wie sie für die drahtlose
Kommunikation oder für die optische Kommunikation eingesetzt wird. Die vorliegende
Erfindung ist somit in allen Gebieten nützlich und vorteilhaft, in denen zeitlich
variierende Filter eingesetzt werden, und in denen Faltungen mit solchen Filtern im
Frequenzbereich ausgeführt werden.
[0031] Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung sind die Frequenzbereichs-Fensterfunktionen
so ausgebildet, dass sie gewünschte Zeitbereichs-Fensterfunktionen lediglich annähern.
Es hat sich jedoch herausgestellt, dass eine gewisse Approximation ohne Weiteres im
Hinblick auf den subjektiven Eindruck tolerierbar ist und zu ganz erheblichen Einsparungen
an Rechenaufwand führt. Insbesondere wird es bevorzugt, dass die Anzahl der Fensterkoeffizienten
kleiner oder gleich 18 und noch bevorzugter kleiner oder gleich 15 und noch mehr bevorzugt
kleiner oder gleich 8 oder sogar kleiner oder gleich 4 oder sogar kleiner oder gleich
3 oder im Extremfall sogar gleich 2 ist. Eine minimale Anzahl von 2 Frequenzbereichs-Fensterkoeffizienten
wird jedoch eingesetzt.
[0032] Bei einer Implementierung ist die Prozessorstufe so ausgebildet, dass die von 0 verschiedenen
Koeffizienten des Frequenzbereichs-Fenster teilweise oder vollständig so gewählt sind,
dass sie entweder rein reell oder rein imaginär sind. Ferner ist die Frequenzbereichs-Fensterfunktions-Beaufschlagungsfunktion
so ausgebildet, dass sie die rein reelle bzw. rein imaginäre Natur der einzelnen von
0 verschiedenen Frequenzbereichs-Fensterkoeffizienten bei der Berechnung der zirkulären
Faltungssumme ausnutzt, um eine effizientere Evaluation der Faltungssumme zu erzielen.
[0033] Bei einer Implementierung ist die Prozessorstufe ausgebildet, um eine maximale Anzahl
von Frequenzbereichs-Fensterkoeffizienten ungleich 0 zu verwenden, wobei eine Frequenzbereichs-Fensterkoeffizient
für eine minimale Frequenz bzw. für das niedrigste Bin reell ist. Ferner sind Frequenzbereichs-Fensterkoeffizienten
für gerade Bins oder Indizes rein imaginär und sind Frequenzbereichs-Fensterkoeffizienten
für ungerade Indizes bzw. ungerade Bins rein reell.
[0034] Bei einer bevorzugten Implementierung der vorliegenden Erfindung, wie sie noch Bezug
nehmend auf die Fig. 9 und insbesondere 10 beschrieben wird, sind die erste Filtercharakteristik
und die zweite Filtercharakteristik, zwischen denen übergeblendet werden soll, kopfbezogene
Übertragungsfunktionen (head related transfer functions - HRTF) für unterschiedliche
Positionen und ist das Zeitbereichs-Signal ein Audiosignal für eine Quelle an einer
entsprechend unterschiedlichen Position.
[0035] Ferner wird es bevorzugt, wie es in Fig. 10 dargestellt ist, ein Multikanal-Verarbeitungsszenario
zu verwenden, bei dem mehrere Quellensignale im Frequenzbereich übergeblendet werden
und die übergeblendeten Signale dann im Frequenzbereich aufaddiert werden, um erst
dann das endgültige Summensignal mit einer einzigen Transformation in den Zeitbereich
zurück zu transformieren. Hierzu wird auf Fig. 9 und vergleichsweise Fig. 10 Bezug
genommen. Insbesondere stellen die verschiedenen Quellen SRC1 bis SRCM, die mit 600,
602, 604 bezeichnet sind, einzelne Audioquellen dar, wie sie bei 401, 402, 403 in
Fig. 4 dargestellt sind. Durch Zeit-Frequenz-Wandler 606, 608, 610, die in Fig. 9
und in Fig. 10 analog aufgebaut sind, werden die Quellensignale in den Frequenzbereich
transformiert. Fig. 10 enthält also den Überblendalgorithmus nach Fig. 2 (zwei zirkuläre
Faltungen). Auch anwendbar ist es, hier den verbesserten Constant-Gain-Crossfade nach
Fig. 3 einzusetzen.
[0036] Wie es ausgeführt worden ist, bewegen sich die Quellen 401 bis 403 und, um z.B. das
Ohrhörersignal 713 zu erhalten, verändert sich für jede Quelle aufgrund der Bewegung
der Quelle die für diese aktuelle Quellenposition nötige kopfbezogene Übertragungsfunktion.
Wie es in Fig. 4 gezeigt ist, gibt es hierzu eine Datenbank, die durch eine bestimmte
Quellenposition angesprochen wird. Dann wird für diese Quellenposition eine HRTF aus
der Datenbank erhalten oder, wenn nicht genau für diese Position eine HRTF existiert,
für zwei benachbarte Positionen zwei HRTFs erhalten, die dann interpoliert werden.
Um einen Artefakt-freien Betrieb zu erhalten, wird das Audiosignal nach der Zeit-Frequenz-Wandlung
606 mit der ersten Filterfunktion durch Multiplikation im Frequenzbereich gefiltert,
die für die erste Position zu einem ersten Zeitpunkt ermittelt worden ist. Ferner
wird dasselbe Audiosignal durch ein zweites Filter (wieder durch Multiplikation mit
der Übertragungsfunktion des Filters) gefiltert, wobei dieses zweite Filter 613 wiederum
für die zweite Position zu einem späteren zweiten Zeitpunkt ermittelt worden ist.
Um einen Artefakt-freien Übergang zu haben, muss übergeblendet werden, so dass also
kontinuierlich das Ausgangssignal des ersten Filters 612 ausgeblendet wird und gleichzeitig
das Ausgangssignal des zweiten Filters 613 eingeblendet wird, wie es durch die zeitlichen
Filterfunktionen 706, 707 gezeigt ist. Daher werden die Signale am Ausgang der Filter
612, 613 in den Zeitbereich transformiert, wie es durch die IFFT-Blöcke 700, 701 dargestellt
ist und dann wird das Cross-Fading (Überblenden) ausgeführt, wobei die Signale am
Ausgang der Fensterung aufaddiert werden. Diese Aufaddition findet pro Quelle statt
und die entsprechend übergeblendeten Signale sämtlicher Quellen werden dann in einem
Addierer 712 im Zeitbereich aufaddiert, um schließlich das Ohrhörersignal 713 zu erhalten.
[0037] Analoge Verarbeitungen werden für die anderen Quellen stattfinden, wie es durch die
Blöcke 614, 615, 702, 703, 708, 709 bzw. 616, 617, 704, 705, 710, 711 dargestellt
ist.
[0038] Erfindungsgemäß wird nunmehr anstatt der 2M IFFT-Blöcke 700 bis 705 von Fig. 9 nur
noch ein einziger IFFT-Block bzw. eine einzige IFFT-Operation 630 durchgeführt. Dazu
wird die Ein/Ausblendung bzw. die Überblendung mit der Frequenzbereichs-Fensterfunktion
620, 621 bzw. 622, 623 bzw. 624, 625 im Frequenzbereich als Faltung durchgeführt.
Die Ergebnisse der Faltungen werden dann jeweils aufaddiert, und zwar durch die Addierer
626, 627, 628 und 629, wobei jedoch auch sämtliche Additionen direkt durchgeführt
werden können, ohne die Kaskadierung der Addierer 626, 627, 628 einerseits und dem
Addierer 629 andererseits.
[0039] Damit werden 2M-1 IFFT-Operationen eingespart. Demgegenüber steht ein potenziell
etwas erhöhter Aufwand der zirkulären Faltung im Frequenzbereich, der jedoch durch
eine effiziente Fensterapproximation, wie sie bereits angesprochen und nachfolgend
detaillierter dargelegt werden wird, noch deutlich reduziert werden kann.
[0040] Die vorliegende Erfindung betrifft in Ausführungsbeispielen ein neuartiges Verfahren
zum Durchführen einer Überblendung, d.h. eines glatten graduellen Übergangs zwischen
zwei gefilterten Signalen, direkt im Frequenzbereich vor. Es arbeitet sowohl mit Overlap-Saveals
auch mit Algorithmen zur partitionierten Faltung. Falls es separat auf jeden HRTF-Filtervorgang
angewendet wird, spart es einen Inverse-FFT-Vorgang pro Block von Ausgangsabtastwerten,
was zu beträchtlichen Verringerungen der Komplexität führt. Jedoch ist eine viel stärkere
Beschleunigung möglich, falls das vorgeschlagene FD-Überblendungsverfahren mit einer
Umstrukturierung des Signalflusses des Binauralsynthese-Systems kombiniert wird. Bei
der Durchführung der Summation von Komponentensignalen im Frequenzbereich wird für
jedes Ausgangssignal (Ohrsignal) lediglich eine einzige inverse FFT benötigt.
[0041] Der folgende Abschnitt gibt einen Überblick über die Bezeichnungsweise (und legt
diese fest) zweier Techniken, die für den vorgeschlagenen FD-Überblendungsalgorithmus
wesentlich sind - die schnelle Frequenzbereichs-Faltung und die Zeitbereichs-Überblendung.
Schnelle Faltunqstechniken
[0042] Faltungstechniken, die auf einer schnellen Transformation beruhen, nutzen die Äquivalenz
zwischen einer Multiplikation im Frequenzbereich und einer zirkulären Faltung im Zeitbereich
sowie die Verfügbarkeit von Schnelle-Fourier-Transformation-Algorithmen (FFT-Algorithmen,
engl. Fast Fourier Transform) zum Implementieren der diskreten Fourier-Transformation
(DFT). Overlap-Add- oder Overlap-Save-Algorithmen [8], [9] unterteilen das Eingangssignal
in Blöcke und wandeln die Frequenzbereichsmultiplikation in eine lineare Zeitbereichsfaltung
um. Um jedoch effizient zu sein, erfordern Overlap-Add und Overlap-Save große FFT-Größen
und bringen lange Verarbeitungslatenzzeiten mit sich.
[0043] Partitionierte Faltungsalgorithmen verringern diese Nachteile und ermöglichen Kompromisse
zwischen rechentechnischer Komplexität, verwendeter FFT-Größe und Latenzzeit. Zu diesem
Zweck wird die Impulsantwort h[n] in Blöcke einer entweder gleichförmigen [10], [11]
oder einer ungleichförmigen Größe [12], [13] partitioniert, auf jede Partitionierung
wird eine FD-Faltung (üblicherweise Overlap-Save) angewendet. Die Ergebnisse werden
entsprechend verzögert und addiert, um die gefilterte Ausgabe zu bilden. Eine Wiederverwendung
von Transformationsoperationen und Datenstrukturen als Frequenzbereichsverzögerungsleitungen
(FDL, engl. frequency-domain delay lines) [11], [13] ermöglicht effiziente Implementierungen
einer linearen Faltung.
[0044] Bei Impulsantwortlängen, die bei HRTF-Filtern üblicherweise verwendet werden (≈ 200-1000)
ist eine gleichförmig partitionierte Faltung üblicherweise die effizienteste Wahl.
Deshalb konzentriert sich das vorliegende Dokument auf diese Technik. Jedoch ist eine
Anwendung auf eine ungleichförmig partitionierte Faltung unkompliziert, da der vorgeschlagene
FD-Überblendungsalgorithmus separat auf jede der verwendeten Partitionsgrößen angewendet
werden kann. Der Overlap-Save-Algorithmus kann als Extremfall einer gleichförmig partitionierten
FD-Faltung mit lediglich einer Partition betrachtet werden. Somit ist die vorgeschlagene
FD-Überblendung auch auf eine nicht-partitionierte Faltung anwendbar.
[0045] Das Verfahren einer gleichförmig partitionierten Faltung unterteilt eine Impulsantwort
h[n] der Länge N in
P = ┌
N/
M┐ Blöcke von jeweils M Werten (┌.┐ stellt eine Aufrundung dar), die mit Nullen aufgefüllt
werden, um die Sequenzen h
p[n], p = 0,...,P - 1 der Länge L zu bilden. Diese werden zu DFT-Vektoren H[p,k] transformiert.

[0046] Die Anzahl von Nullen in Gleichung 1, die mit der horizontalen geschweiften Klammer
dargestellt sind, beträgt L-M.
[0047] Das Eingangssignal x[n] wird in überlappende Blöcke x[m,n] der Länge L mit einem
Vorlauf von B Abtastwerten zwischen aufeinanderfolgenden Blöcken unterteilt. Eine
Transformation zu dem Frequenzbereich ergibt die Vektoren X[m,k]

[0048] Das Frequenzbereichsausgangssignal Y[m,k] wird durch eine Blockfaltung von H[p,k]
und X[m,k] gebildet

wobei "." eine komplexe Vektormultiplikation darstellt. Eine inverse DFT ergibt den
Zeitbereichsblock der Länge L

[0049] Für jeden Ausgangsblock y[m,n] werden die letzten B Abtastwerte verwendet, um den
m-ten Block des Ausgangssignals y[n] zu bilden.

[0050] Ein Zeitbereichs-Aliasing im Ausgangssignal wird verhindert, falls

gilt [9], [11]. Eine typische Wahl für eine partitionierte Faltung ist L = 2B, z.B.
[12], [13], die im Folgenden als Standard-DFT-Größe bezeichnet wird und eine hohe
Effizienz für sinnvolle Kombinationen von N und B ermöglicht [11].
[0051] Für jeden Ausgangsblock von B Abtastwerten erfordert der Algorithmus zur gleichförmig
partitionierten Faltung eine FFT und eine inverse FFT, P Vektormultiplikationen und
P-1 Vektoradditionen. Für reellwertige Zeitbereichs-Signale erfordern sowohl die FFT
als auch die IFFT etwa
p L log
2(
L) reellwertige Operationen. Hierbei ist p eine hardwareabhängige Konstante, wobei
typische Werte zwischen p = 2,5 [12] und p = 3 [13] liegen. Da die Vektoren X[m,k],
H[p,k] und Y[m,k] für reelle Signale und Filter konjugiert-symmetrisch sind, können
sie eindeutig durch ┌(
L+1)/2)┐ komplexe Werte dargestellt werden. Die Anzahl von Operationen zum Addieren
oder Multiplizieren von konjugiert-symmetrischen Vektoren reduziert dadurch sich entsprechend..
Da skalare komplexe Additionen und Multiplikationen durch 2 bzw. 6 reellwertige Operationen
durchgeführt werden können, erfordert eine Auswertung der Blockfaltung (6) ┌(
L+1)/2┐(6
P+2(
P-1)) arithmetische Anweisungen. Somit beträgt die Gesamtkomplexität zum Falten von
B Abtastwerten 2
pL log
2 L + [(
L + 1)/2]6
P + 2(
P - 1).
Filterüberblendung im Zeitbereich
[0052] Eine Faltung von Audiosignalen mit zeitlich veränderlichen HRTFs erfordert einen
glatten Übergang zwischen den Filtercharakteristika, da abrupte Veränderungen zu Signaldiskontinuitäten
führen [5], [14], was hörbare Artefakte, z.B. ein Knacken oder ein Reißverschlussgeräusch
(engl. "zipper noise"), nach sich zieht. Formal kann ein Übergang zwischen zwei zeitlich
unveränderlichen Filtern FIR h
1[n] und h
2[n] der Länge N als zeitlich veränderliche Faltungssumme ausgedrückt werden (z.B.
[15])

wobei das zeitlich veränderliche Filter h[n,k] eine Summation der zwei Filter ist,
die durch zwei Funktionen w
1[n] und w
2[n] gewichtet werden, die im Folgenden als Zeitbereichs-Fenster bezeichnet werden

[0053] Fig. 5a zeigt ein Beispiel derartiger Fensterfunktionen. Falls die Filter
h1[
n] und
h2[
n] stark korreliert sind, was allgemein für Übergänge zwischen nahe gelegenen HRTFs
gilt, wird üblicherweise eine Überblendung mit konstanter Verstärkung (constant-gain
crossfade) verwendet. Dies bedeutet, dass die Summe der Gewichte w
1[n] und w
2[n] für jedes n gleich Eins ist. In diesem Fall können diese Gewichte durch eine einzelne
Fensterfunktion w[n] ausgedrückt werden, wobei w
1[n] = w[n], w
2[n] = 1 - w[n] gilt. Somit bildet h[n,k] für jedes n eine lineare Interpolation zwischen
h
1[n] und h
2[n]. Folglich kann (10) mit einer einzigen Multiplikation ausgewertet werden

[0054] Statt ein Signal mit interpolierten, zeitlich veränderlichen Filterkoeffizienten
zu falten, ergibt ein Filtern des Eingangssignals mit h
1[n] und h
2[n], auf das eine gewichtete Summation mit den Fenstern w
1[n] und w
2[n] folgt, dasselbe Signal wie

[0055] Ähnlich wie bei (11) können Überblendungen mit konstanter Verstärkung als lineare
Interpolation implementiert werden

[0056] Die Implementierungen (11) und (13) weisen eine vergleichbare Komplexität auf, während
(13) etwas effizienter ist, falls die Filterkoeffizienten sehr oft aktualisiert werden,
d.h. wenn glatte, artefaktfreie Übergänge erforderlich sind. Überdies kann die zuletzt
genannte Form verwendet werden, falls die Filterkoeffizienten h[n,k] nicht direkt
manipuliert werden können, z.B. falls eine schnelle Faltung verwendet wird. Beispiele,
die eine FD-Faltung mit einer Ausgangsüberblendung kombinieren, werden z.B. in [14],
[16] dargestellt.
[0057] Für eine blockbasierte Operation, z.B. bei einer Kombination mit einem FD-Faltungsverfahren,
ist eine Anwendung von (13) einfach realisierbar, falls die Länge des Übergangs identisch
mit der Blockgröße B ist. Für längere Übergangsperioden kann ein Überblenden der gefilterten
Signale jedoch effizient unter Verwendung eines einzelnes Fensters w[n] der Länge
B implementiert werden, falls zwei Bedingungen erfüllt sind: (a) der gewünschte Übergang
zwischen den Filtern sollte einer linearen Funktion (Rampe) liegen; (b) die Gesamtübergangsperiode
B
full muss ein ganzzahliges Vielfaches der ursprünglichen Blockgröße B sein. In diesem
Fall kann der Übergang in M = B
full/B Blöcke aufgeteilt werden. Jeder Block des Gesamtübergangs kann ausgedrückt werden,
indem das Differenzsignal y
1[n] - y
2[n] mit einer Einzelfensterfunktion w[n] multipliziert wird, die einen linearen Übergang
von 1 zu 0 innerhalb von B Abtastwerten implementiert. Eine lineare Kombination mit
y
1[n] und y
2[n] ergibt das Ausgangssignal für diesen Block

[0058] Hier bezeichnen s = m/M und e = (m + 1) / M, m = 0....M - 1 Anfangs- und Endkoeffizienten
für den m-ten Block innerhalb eines Übergangs über M Blöcke.
Frequenzbereichs-Darstellunq des Zeitbereichsüberblendens
[0059] In diesem Abschnitt wird ein Algorithmus beschrieben, der auf der Basis der Frequenzbereichsbeschreibung
eines gefilterten Signals arbeitet, beispielsweise der Darstellung Y[m,k] (5) innerhalb
eines partitionierten Faltungsalgorithmus, um ein sanftes Überblenden der abschließenden
Zeitbereichsausgabe zu implementieren. Die Hauptmotivation dafür ist eine gesteigerte
Effizienz, da für ein Ausgangsüberblenden lediglich eine inverse FFT benötigt wird,
falls der Übergang im Frequenzbereich implementiert wird.
[0060] Um eine Zeitbereichs-Überblendung im Frequenzbereich auszudrücken, betrachten wir
eine elementweise Multiplikation eines einzelnen Signals x[n] mit einem Zeitbereichs-Fenster
w[n]

das als ein Teil eines Ausgangsüberblendens angesehen werden kann (12). Die Erweiterung
auf vollständige Überblendungen und weitere Komplexitätsoptimierungen werden im Abschnitt
"Effiziente Implementierungen für zusätzliche Komplexitätsreduktionen" erörtert.
[0061] Die Frequenzbereichs-Darstellung von (15) folgt aus der Dualität des Faltungstheorems
[9], [17]

wobei

eine zirkuläre Faltung zweier zeitdiskreter Sequenzen bezeichnet. Somit kann eine
Zeitbereichs-Überblendung mittels einer zirkulären FD-Faltung implementiert werden.
Aus rechentechnischer Sicht erscheint ein derartiges Frequenzbereichsüberblenden jedoch
nicht attraktiv. Allgemein erfordert eine zirkuläre Faltung zweier Sequenzen der Länge
L etwa L
2 komplexe Multiplikationen und Additionen, was den potenziellen Gewinn von etwa O(Llog
2L) aufgrund des Ersparnisses einer inversen FFT bei weitem überschreitet.
[0062] Falls jedoch das Frequenzbereichs-Fenster W[k] lediglich einige wenige von Null verschiedene
Koeffizienten enthält, kann die FD-Überblendung effizienter werden als die herkömmliche
Zeitbereichsimplementierung. Ein erster Hinweis darauf, dass Fensterfunktionen mit
lediglich einigen wenigen Frequenzbereichskoeffizienten erfolgreich angewendet werden
können, wird bei [18] gegeben, wo aus drei Koeffizienten bestehende Frequenzbereichssequenzen,
welche Zeitbereichs-Hann- oder -Hamming-Fenstern entsprechen, zum Glätten von FFT-Spektren
angewendet werden. Im Folgenden wird dargestellt, wie derartige dünn besetzte Fenster
zur Verwendung bei Zeitbereichs-Überblendungsoperationen zweckmäßig gestaltet werden
können.
Design von Frequenzbereichs-Fenstern
[0063] Das Designziel für ein Frequenzbereichs-Fenster W[k] besteht darin, dass sich die
entsprechende Zeitbereichssequenz ẘ[n] = DTFT
-1 {W[k]} an eine gewünschte Fensterfunktion ŵ[n] bezüglich einer gegebenen Fehlernorm
annähert. Der ringförmige Akzent gibt hier an, dass ẘ[n] das Ergebnis einer inversen
FFT ist, welche möglicherweise Artefakte einer zirkulären Faltung (d.h. Zeitbereichs-Aliasing)
enthält. Sowohl ẘ[n] als auch ŵ[n] weisen die Länge L auf, während das Zeitbereichs-Fenster
w[n] für einen Ausgangsblock der Größe B eine Länge B aufweist.
[0064] Aufgrund des dem partitionierten Faltungsverfahren (8) unterliegenden Overlap-Save-Mechanismus
werden beim Fenstern des aktuellen Blocks lediglich die letzten B Werte von ẘ[n]
tatsächlich verwendet, während der Beitrag der anderen Elemente verworfen wird. Folglich
stehen die gewünschte Zeitbereichs-Fensterfunktion für den FD-Überblendungsalgorithmus
ŵ[n] und das Fenster w[n] der herkömmlichen Zeitbereichs-Überblendung in folgender
Relation:

[0065] Das heißt, den ersten L - B Koeffizienten von
ŵ[n] werden keinerlei Beschränkungen auferlegt, sie können also beliebige Werte annehmen,
ohne das Ergebnis der Frequenzbereichs-Überblendung zu beeinflussen. Diese Freiheitsgrade
können beim Design von W[k] auf vorteilhafte Weise genutzt werden. Die Fensterfunktionen
W[k] und ẘ[n] sind durch die inverse DFT

aufeinander bezogen, wobei der führende Faktor L aus der dualen Darstellung des Faltungstheorems
(16) folgt.
[0066] Um reellwertige Signale überblenden, sind die Zeitbereichs-Fenster w[n] und somit
ẘ[n] rein reell. Dies bedeutet, dass das Frequenzbereichs-Fenster konjugiert-symmetrisch
ist

[0067] Folglich ist W[k] durch ┌(L + 1)/2┐ Elemente eindeutig definiert, beispielsweise
W[0],..., ┌(L - 1)/2┐. Dies bedeutet auch, dass W[0] rein reellwertig ist. Ebenso
ist, falls L geradzahlig ist, auch W[L/2] rein reell.
[0068] Indem W[k] durch seine reellen und imaginären Komponenten

ausgedrückt wird und die Eulersche Identität verwendet wird, um Exponentialgrößen
durch trigonometrische Funktionen zu ersetzen, kann (18) als

dargestellt werden. Dabei ist der letzte Term

nur dann von null verschieden, falls L geradzahlig ist. Durch Einführung von Basisfunktionen

kann das Fenster w[n] kompakt durch

dargestellt werden. Diese Form kann direkt für ein optimierungsbasiertes Design von
W[k] verwendet werden.
[0069] Um Beschränkungen bezüglich der von Null verschiedenen Elemente von W[k] (engl. sparsity
constraints, Dünnbesetztheits-Einschränkungen) zu beschreiben, werden Indexmengen

und

eingeführt

[0070] Eine reelle Komponente W
r[k] kann nur dann von null verschieden sein, falls der Index k in der Menge

enthalten ist. Dieselbe Beziehung gilt zwischen der imaginären Komponente W
i[k] und der Menge

. Unter Verwendung dieser Bezeichnung kann das Zeitbereichs-Fenster (24) für eine
gegebene Menge von Null verschiedenen betragenden Komponenten von W[k] ausgedrückt
werden durch

[0071] Somit kann das Design von W[k] als Optimierungsproblem in Matrixform angegeben werden

[0072] Der Vektor w stellt die letzten B Abtastwerte des gewünschten Zeitbereichs-Fensters
w[n] (17) dar, während W der Vektor von nicht null betragenden Komponenten von W[k]
ist

[0073] Desgleichen ist G die Matrix der Basisfunktionen

[0074] In Gleichung (28) bezeichnet ∥·∥
p die bei der Minimierung verwendete Fehlernorm, z.B. p = 2 für eine Minimierung nach
der Methode der kleinsten Quadrate oder p = ∞ für eine Chebyshev-(Minimax)-Optimierung.
[0075] Innerhalb dieses Dokuments werden die Optimierungsprobleme unter Verwendung von CVX,
eines Softwarepakets für eine konvexe Optimierung [19], formuliert und gelöst. Das
Problem (28) wird in dem folgenden CVX-Programm ausgedrückt:
cvx_begin (Beginn)
variable (Variable) W (Ncoeffs)
minimize (Minimiere) (norm((G*W-ŵ), p));
subject to <optional constraints> (unter der Voraussetzung von <optionalen Einschränkungen>)
cvx_end (Ende)
[0076] Diese Designspezifikation kann an die jeweiligen Erfordernisse einer Anwendung durch
eine Vielzahl zusätzlicher Einschränkungen angepasst werden. Beispiele dafür sind
- Gleichheitseinschränkungen oder Ober- oder Untergrenzen für verschiedenartige Werte
w[n], beispielsweise um Glattheitserfordernisse am Anfang oder am Ende des Zeitbereichs-Fensters
zu gewährleisten.
- Einschränkungen der Neigung von w[n], z.B. um ein Schwingungsverhalten des Zeitbereichs-Fensters
zu vermeiden. Dies wird erreicht, indem den Unterschieden zwischen aufeinanderfolgenden
Werten w[n] Einschränkungen auferlegt werden.
Desiqnbeispiele
[0077] Ein Designbeispiel mit einer Zeitbereichsfensterlänge B = 64 und der entsprechenden
Standard-FFT-Größe L = 2B = 128 veranschaulicht die Eigenschaften des Designverfahrens
und der Leistungsfähigkeit der resultierenden Fensterfunktionen. Das gewünschte Zeitbereichs-Fenster
ist eine lineare Rampe, die von 1 auf 0 abnimmt. Ungleichheitseinschränkungen für
den ersten und den letzten Koeffizienten

verhindern Diskontinuitäten am Anfang und am Ende des Übergangs. Jedoch zeigen Designexperimente,
dass die Einschränkungen nur für eine sehr geringe Anzahl von nicht null betragenden
Koeffizienten aktiv werden, d.h. das Ergebnis beeinflussen.
[0078] Die Designexperimente werden bezüglich der L
2- und
L∞-Fehlernormen für verschiedene Mengen von nicht null betragenden Koeffizienten durchgeführt,
wobei

die Gesamtanzahl von nicht null betragenden Komponenten von W[k] bezeichnet. Die resultierenden
Fenster sind in Fig. 6 gezeigt, und die Designs sind in Fig. 7g zusammengefasst. Fig.
6(a) zeigt ein Design mit einem vollständigen Satz von 8 komplexen Koeffizienten,
d.h. K = 15, da W
i[0] = 0 (19). Es wird beobachtet, dass das resultierende Design das ideale Zeitbereichs-Fenster
sehr gut annähert, mit L
2- und
L∞-Fehlernormen von 9,37 · 10
-6 bzw. 5,65 · 10
-6. Ein Design mit 8 ausschließlich reellen Koeffizienten wird in Fig. 6(b) gezeigt.
Die Figur zeigt sichtbare Abweichungen von der idealen Fensterfunktion, was auch aus
den Fehlernormen 5,45 · 10
-2 und 1,55 · 10
-2 für L
2- und
L∞-Designs klar hervorgeht. Im Gegensatz dazu weist das in Fig. 6(c) gezeigte Design
ebenfalls K = 8 nicht null betragende Komponenten auf. Jedoch erreicht dieses Design
fast die Leistungsfähigkeit des Beispiels mit 8 komplexen Koeffizienten, da die nicht
null betragenden Werte bewußt aus der Menge der von reellen und imaginären Komponenten
ausgewählt werden.
[0079] Fig. 6(d) bis 6(f) zeigen weitere Designbeispiele mit einer abnehmenden Anzahl von
jedoch optimal ausgewählten von Null verschiedenen Komponenten. Man kann erkennen,
dass sogar mit Anzahlen, die so niedrig sind wie K = 3 liegen, relativ gute Annäherungen
des idealen Zeitbereichs-Fensters ermöglichen. Obwohl das abschließende Design mit
K = 2 (Fig. 6(f)) deutliche Abweichungen von einem idealen linearen Übergang zeigt,
kann es für viele Anwendungen einer Filterüberblendung eine akzeptable Wahl sein,
da es einen glatten Übergang ohne Signaldiskontinuitäten liefert.
Effiziente Implementierungen für zusätzliche Komplexitätsreduktionen
[0080] Dieser Abschnitt stellt optimierte Implementierungen für zwei Aspekte des Frequenzbereichsüberblendungsalgorithmus
vor und analysiert deren Leistungsfähigkeit. Zuerst wird eine effiziente Implementierung
für eine zirkuläre Faltung von dünn besetzten konjungiertsymmetrischen Sequenzen vorgeschlagen.
Zweitens wird eine Optimierung für Überblendungen mit konstanter Verstärkung (Constant
Gain Crossfading), wie sie bei der Binauralsynthese verwendet werden, beschrieben.
Zirkuläre Faltung mit dünn besetzten Sequenzen
[0081] Eine zirkuläre Faltung zweier allgemeiner Sequenzen ist durch die Faltungssumme

definiert. Dabei bezeichnet ((k))
L = k mod L den Index modulo L (wie z.B. in [9]). Diese Operation erfordert für jedes
Element Y[k] L komplexe Multiplikationen und L - 1 komplexe Additionen, was zu L
2 komplexen Multiplikationen und L(L - 1) Additionen für eine vollständige Faltung
führt.
[0082] Die konjugierte Symmetrie von X[k] und W[k] sowie die dünne Besetzung von W[k] ermöglicht
eine effizientere Darstellung

[0083] Dabei bezeichnet

die Vereinigung der Indexmengen

und

abzüglich des Index 0. Aus der dualen Darstellung des Faltungstheorems (16) folgt,
dass Y[k] ebenfalls konjugiert-symmetrisch ist. Somit werden lediglich ┌(
L+1)/2┐ Elemente benötigt, um Y[k] eindeutig zu bestimmen. Wenn man Y
(l)[k] durch reelle und imaginäre Werte ausdrückt, ergibt dies

[0084] Durch Berechnen der Zwischenwerte

wird Gleichung (36) effizient als

ausgewertet. In Kombination erfordert eine Auswertung der Sequenz
Y(l)[
k] 4┌(
L+1)/2┐ reellwertige Multiplikationen und 2┌(
L+1)/2┐ Additionen. Somit ist diese Implementierung effizienter als eine direkte Auswertung
von (35) unter Verwendung komplexer Operationen, welche 8┌(
L+1)/2┐ reelle Multiplikationen und 8┌(
L+1)/2┐ reelle Additionen erfordern würde. Falls W[l] rein reell oder imaginär ist,
ist entweder W
i[l] oder W
r[l] null. In beiden dieser Fälle verringert sich die Komplexität auf 2┌(
L+1)/2┐ reelle Multiplikationen und 2┌(
L+1)/2┐ Additionen.
[0085] Auf der Basis dieser Komplexitäten ergibt sich daraus s eine Gesamtkomplexität für
die Auswertung der zirkulären Faltung gemäß (34) von 4
K┌(
L+1)/2┐ reellen Multiplikationen und 2(
K-1)┌(
L+1)/2┐ reellwertigen Additionen, d.h. insgesamt(6
K-2)┌(
L+1)/2┐ Operationen. Wie in (32) definiert, bezeichnet K die Gesamtanzahl der nicht
null betragenden Komponenten von W[l]. Damit berücksichtigt die genannte Gesamtkomplexität
sowohl die Reellwertigkeit von W[0] als auch die Tatsache, dass der Index I eines
allgemeinen komplexen Werts W[l] sowohl in der Indexmenge

als auch in

enthalten ist.
[0086] Auf diese Weise ermöglicht die konjugierte Symmetrie der an der zirkulären Faltung
beteiligten Sequenzen beträchtliche Einsparungen bezüglich der Komplexität. Zusätzliche
signifikante Reduktionen können durch Fensterkoeffizienten gewonnen werden, die entweder
rein reell oder imaginär sind. Somit kann der vorgeschlagene zirkuläre Faltungsalgorithmus
aus dünnbesetzten Frequenzbereichs-Fensterfunktionen, wie beispielsweise den in Fig.
6a-6f dargestellten Designs, einen unmittelbaren Vorteil ziehen.
Überblendung mit konstanter Verstärkung (Constant-Gain-Crossfading)
[0087] Eine Überblendung mit konstanter Verstärkung, welche lineare Überblendungen umfasst,
wie sie üblicherweise für Übergänge zwischen HRTFs verwendet werden, kann innerhalb
des vorgestellten Konzeptes zur Frequenzbereichsüberblendung auf effiziente Weise
implementiert werden.
[0088] Eine allgemeine Frequenzbereichsüberblendung wird durch eine zirkuläre Faltung der
zwei Eingangssignale mit ihren jeweiligen Frequenzbereichs-Fenstern und eine anschließende
Summation

implementiert. Für Überblendungen mit konstanter Verstärkung wird eine effizientere
Implementierung erzielt, indem die Zeitbereichsüberblendungsfunktion (14) in den Frequenzbereich
transformiert wird

[0089] Hierbei bezeichnet Y
d[k] die Differenz

[0090] Wie in (14) ermöglicht diese Funktion ein Überblenden zwischen willkürlichen Anfangs-
und Endwerten s und e. Der Hauptvorteil der Implementierung (41) gegenüber (40) besteht
darin, dass sie lediglich eine einzige zirkuläre Faltung erfordert, welche den aufwändigsten
Teil des Überblendungsalgorithmus darstellt.
[0091] Eine weitere Verringerung der Komplexität kann durch eine Fusion des zirkulären Faltungsschemas
(34) mit (41) erzielt werden. Ein Kombinieren des Terms, der den zentralen Fensterkoeffizienten
W[0] enthält, mit der Überblendungsfunktion ergibt

[0092] Auf diese Weise bestimmt sich der rechentechnische Aufwand für eine Überblendung
mit konstanter Verstärkung durch die im Abschnitt 4.1 beschriebene dünn besetzte zirkuläre
Faltungsoperation, zwei komplexe Vektoradditionen der Größe ┌(
L+1)/2┐, zwei Additionen und 2K - 1 Multiplikationen zum Skalieren der Fensterkoeffizienten
W[k]. Dies ergibt insgesamt (6
K-2)┌(
L+1)/2┐+2 Additionen und 4
K┌(
L+1)/2┐+2
K-1 reellwertige Multiplikationen. Somit erfordert ein Überblenden eines Blockes von
B Ausgangsabtastwerten insgesamt (10
K-2)┌(
L+1)/2┐+2
K+1 Anweisungen.
[0093] Fig. 5b zeigt, in Analogie zur Fig. 5a eine alternative Zeitbereichsfensterdarstellung,
die eine Verstärkungsänderung, z.B. von einem Verstärkungsfaktor 1 auf einen Verstärkungsfaktor
0,5 darstellt. Ein solches Zeitbereichs-Fenster entspricht in etwa dem Ausblendungsfenster
w
1 in Fig. 5a, es wird jedoch keine Einblendung vorgenommen. Auch für das Zeitbereichs-Fenster
in Fig. 5b existieren effiziente Frequenzbereichs-Fensterfunktionen, die im Block
124 oder in den Blöcken 124a, 124b, 124c der Fig. 1, 2 und 3 effizient eingesetzt
werden können.
[0094] Die Darstellungen der Frequenzbereichs-Fensterfunktion für das Zeitbereichs-Fenster
von Fig. 5b können aus den Frequenzbereichs-Darstellungen für die Fensterfunktionen
von Fig. 5a durch Skalierung oder durch Addition/Subtraktion entsprechender Werte
dargestellt werden, so dass keine neuen Optimierungen beispielsweise mehr vorgenommen
werden müssen, sondern aus existierenden Frequenzbereichs-Fensterfunktionen basierend
auf Fig. 5a, oder wie sie in den Fig. 6a bis 6f bezeichnet sind, die entsprechenden
Frequenzbereichs-Fensterfunktionen für sämtliche Verstärkungsänderungen im Frequenzbereich
erzeugt werden können. So kann durch Fig. 5b eine Verstärkungsreduktion erreicht werden.
Alternativ kann durch eine entsprechende Funktion eine Verstärkungserhöhung erreicht
werden, wobei hierzu auf die Funktion w
2 von Fig. 5a wieder mit entsprechender Skalierung und/oder Addition entsprechender
beispielsweise konstanter Werte zurückgegriffen werden kann.
[0095] Fig. 11 zeigt exemplarisch eine Signalverarbeitungsstruktur zur Verstärkungsänderung
mit beliebigen Start- und Endwerten unter Verwendung einer einzigen, festen Frequenzbereichsfensterfunktion.
Dabei stellt
Y1[
k] 502 die Frequenzbereichsdarstellung des Signals dar, welches einer Verstärkungsänderung
unterzogen werden soll. Dieses Signal kann beispielsweise durch Frequenzbereichs-Filterung
eines Eingangssignals erzeugt worden sein. Eine solche Filterung ist jedoch nicht
zwingend erforderlich. Notwendig ist nur, dass das Signal in einer zur verwendeten
Frequenz-Zeitbereichstransformation (in Beschreibung als "Umwandler" bezeichnet) kompatiblen
Repräsentation vorliegt, d.h., dass die Anwendung der Frequenz-Zeitbereichstransformation
das entsprechende Zeitbereichs-signal
y1[
n] erzeugt. Der Verlauf der Verstärkungsfunktion wird durch den Verstärkungswert
s zu Beginn eines Signal-Blocks, den Verstärkungsfaktor
e am Ende des Signal-Blocks sowie die gewählte Frequenzbereichs-Fensterfunktion, hier
mit
W2[
k] bezeichnet, bestimmt. Diese wird beispielhaft so ausgeführt, dass ihre Zeitbereichsentsprechung
eine von 1 auf 0 abfallende Funktion ist. Eine Verstärkungsänderung wird mittels folgender,
auch in Fig. 11 dargestellter Berechnungsfunktion, durchgeführt.

[0096] Das Signal
Y1[
k] wird mit mittels zirkulärer Faltung mit einer Frequenzbereichs-Fensterfunktion
W2[k] beaufschlagt. Das Ergebnis dieser Faltung wird durch elementweise Multiplikation
des Vektors mit dem Wert
e -
s in einem ersten Multiplizierer 503 skaliert. Aufgrund der Linearität der zirkulären
Faltung kann diese Skalierung auch vor der Faltung entweder auf
Y1[
k] oder
W2[
k] angewandt werden. Das Ergebnis dieser Repräsentation wird dem mit dem Start-Verstärkungswert
s in einem zweiten Multiplizierer 504 skalierten Signal
Y1[
k] in dem Summierer 500 summiert und ergibt das FrequenzbereichsAusgangssignal
Y[
k]. Die Effizienz kann weiter erhöht werden, indem analog zu (43) der zentrale Fensterkoeffizient
W[0] aus der Faltungssumme separiert und in der Skalierung von
Y1[
k] berücksichtigt wird.

[0097] Fig. 7a bis 7f zeigt eine tabellarische Aufstellung der Filterkoeffizienten der Frequenzbereichs-Fensterfunktionen,
die im Zeitbereich in den Fig. 6a bis 6f dargestellt sind. Die Frequenzbereichs-Fensterfunktionen
sind nur schwach besetzt. Insbesondere zeigt Fig. 7a eine Frequenzbereichs-Darstellung,
wo der Bin der Frequenzbereichs-Darstellung der Fensterfunktion, der der Frequenz
gleich 0 entspricht bzw. der 0.te Bin den Wert 0,5 hat. Der exakte Wert "0.5" ist
hier nicht zwingend notwendig. 0.5 für den 0-ten Bin heißt, dass der Durchschnitt
der Zeitbereichs-Werte 0.5 ist, was bei eine gleichmäßigen Überblendung von 1 auf
0 gegeben ist.
[0098] Der erste bis siebte Frequenz-Bin hat dann die entsprechenden komplexen Koeffizienten,
während alle weiteren, höheren Bins gleich 0 sind oder so kleine Werte haben, dass
sie nahezu bedeutungslos sind. Die Menge

und die Wert

aus den Fig. 7a bis 7f beschreiben somit die Indizes der von Null verschiedenen Real-
und Imaginärteile der Spektralkoeffizienten bzw. Bins der Frequenzbereichs-Fensterfunktionen,
die im Zeitbereich in den Fig. 6a bis 6f dargestellt sind. So betrifft beispielsweise
Fig. 7e und Fig. 7f lediglich eine Besetzung der ersten drei Spektralkoeffizienten
der Fensterfunktion (Fig. 7e) oder nur der beiden ersten Spektralkoeffizienten der
Fensterfunktion (Fig. 7f).
Komplexitätsauswertung
[0099] Dieser Abschnitt vergleicht die Komplexität des vorgeschlagenen Frequenzbereichsüberblendungsalgorithmus
mit existierenden Lösungsansätzen einer Filterüberblendung. Ein Aufbereitungssystem
mit einer Filterlänge N=512, einer Blockgröße B = 128 und der entsprechenden Standard-DFT-Größe
L = 256, M = 8 virtuelle Quellen und K = 4 nicht null betragende Koeffizienten für
das Frequenzbereichsüberblendungsverfahren wird als Basis für die Leistungsauswertung
verwendet. Jeder der Parameter wird variiert, um seinen Einfluss auf die Gesamtkomplexität
zu beurteilen. Die Ergebnisse sind in Fig. 8 gezeigt. Sie zeigt die Anzahl von Multiplikationen
zum Berechnen eines Abtastwerts eines einzelnen überblendeten Signals, d.h. die Gesamtanzahl
von Operationen in dem Aufbereitungssystem geteilt durch die Anzahl von Schallquellen.
Drei Algorithmen werden in Betracht gezogen: (a) partitionierte Faltung, auf die eine
Zeitbereichs-Überblendung folgt, (b) die vorgeschlagenen FD-Überblendungsalgorithmen,
die für jedes Quellensignal separat durchgeführt werden, und die Summation der Ohrsignale
im Zeitbereich, und (c) FD-Überblendung und Summation der Ohrsignale im Frequenzbereich.
[0100] Fig. 8(a) zeigt den Einfluss der Filterlänge N. Für eine konstante Blockgröße B ist
die Komplexität eine lineare Funktion von N für alle Algorithmen, da das N lediglich
den Aufwand, der auf die Blockfaltung (6) zurückzuführen ist, beeinflusst, die für
die drei Algorithmen identisch ist. Trotzdem zeigt der vorgeschlagene FD-Überblendungsalgorithmus
sogar im Fall eines einzigen Kanals eine messbare Verbesserung gegenüber dem Zeitbereichslösungsansatz.
Wie durch den dritten Graphen angegeben ist, ergibt eine Summation der Ohrsignale
im Frequenzbereich beträchtliche zusätzliche Komplexitätsverringerungen, d.h. von
≈ 186 auf ≈ 131 Anweisungen pro Abtastwert für N=512.
[0101] Die Auswirkung der Blockgröße des partitionierten Faltungsschemas wird in Fig. 8(b)
gezeigt. Während eine FD-Überblendung in allen Fällen effizienter ist als eine Zeitbereichs-Überblendung,
nimmt der relative Gewinn mit steigender Blockgröße B zu. Dies lässt sich durch das
Komplexitätseigenschaften gleichförmig partitionierter Faltungsschemata erklären.
Für kleine Blockgrößen wird die Komplexität durch die Blockfaltung dominiert (6),
während die Kosten der FFT- und IFFT-Operationen vernachlässigbar sind. Da eine Verringerung
der Anzahl von IFFTs das Hauptmerkmal des FD-Überblendungsverfahrens ist, zeigt es
seinen vollständigen Effekt nur für hinreichend große Blockgrößen. Dies ist jedoch
nur ein geringfügiger Nachteil, da eine gleichförmig partitionierte Faltung für sehr
kleine Blockgrößen in jedem Fall immer ineffizienter wird (siehe z.B. [12], [13]).
Am anderen Ende der Skala werden die größten Verbesserungen gewonnen, falls die Blockgröße
gleich der Filterlänge ist (bei diesem Beispiel N = B = 512). Dies entspricht einer
nicht partitionierten schnellen Faltung. Somit kann das vorgeschlagene FD-Überblenden
in Verbindung mit Overlap-Save-Schemata auf vorteilhafte Weise verwendet werden, falls
die dadurch bedingte Latenzzeit akzeptabel ist.
[0102] Die Abhängigkeit der Komplexität von der dünnen Besetzung des FD-Fensters, d.h. der
von Null verschiedenen Real- und Imaginärteile von Werten der Frequenzbereichs-Fensterfunktion
W[l] ist in Fig. 8(c) gezeigt. F Für Zeitbereichsüberblendungen ist der Performance-Verlauf
eine Konstante, die keine derartigen Fenster verwendet werden. Für den Fall einer
kanalweisen Umsetzung des Algorithmus ist die FD-Überblendung bei dem betrachteten
Aufbau für bis zu etwa 7 nicht null betragende Komponenten effizienter. Wie im Abschnitt
"
Design von Frequenzbereichs-Fenstern" gezeigt wurde, ermöglichen Fenster mit 3-4 Werten üblicherweise bereits sehr gute
Annäherungen von linearen Überblendungen. Dies ermöglicht zweckmäßige Kompromisse
zwischen der Genauigkeit und der Komplexität der Überblendung und bei den meisten
Anwendungen eine beträchtliche Beschleunigung. Weitere beträchtliche Zugewinne bei
der Genauigkeit oder Effizienz sind möglich, falls ein Mischen der Ohrsignale auch
im Frequenzbereich durchgeführt wird. In diesem Fall ist bei FD-Fenstern mit bis zu
12 Koeffizienten eine FD-Überblendung effizienter als das Zeitbereichsverfahren.
[0103] Fig. 8(d) zeigt die Auswirkung der Größe der wiedergegebenen akustischen Szene, d.h.
der Anzahl von virtuellen Quellen, auf die Gesamtkomplexität. Wie oben dargestellt,
werden die berechneten Anzahlen arithmetischer Operationen durch die Anzahl der berechneten
Quellen normiert. Für eine Zeitbereichsüberblendung und den Einzelkanal-FD-Algorithmus
ist die Komplexität unabhängig von der Szenengröße. Desgleichen ist der Mehrkanal-FD-Algorithmus
für eine einzelne Quelle identisch mit der Einzelkanal-FD-Überblendung. Jedoch ermöglicht
eine Kombination der überblendeten Quellensignale im Frequenzbereich sogar für kleine
akustische Szenen beträchtliche Effizienzgewinne, z.B. für M = 2,...,8. Größere akustische
Szenen ermöglichen lediglich geringfügige zusätzliche Leistungsfähigkeitsgewinne.
Diese asymptotische Grenze folgt aus dem Einfluss der Vorwärts-FFT und der Blockfaltungsoperationen
auf die Gesamtkomplexität. Diese kann nicht weiter verringert werden, indem die Anzahl
inverser FFT-Operationen gesenkt wird.
[0104] Ausführungsbeispiele betreffen einen effizienten Algorithmus vor, der Frequenzbereichs-faltung
und Überblendung gefilterter Signale kombiniert. Er ist auf eine Vielzahl von Frequenzbereichsfaltungstechniken
anwendbar, insbesondere Overlap-Save und gleichförmig oder ungleichförmig partitionierte
Faltung. Desgleichen kann er mit verschiedenen Arten von glatten Übergängen zwischen
gefilterten Audiosignalen verwendet werden, einschließlich Verstärkungsveränderungen
und Überblendungen. Überblendungen mit konstanter Verstärkung wie beispielsweise lineare
Filterübergänge, die üblicherweise bei der dynamischen Binauralsynthese benötigt werden,
ermöglichen zusätzliche beträchtliche Verringerungen der Komplexität. Der neuartige
Algorithmus beruht auf einer zirkulären Faltung im Frequenzbereich mit einer dünn
besetzten Fensterfunktion, die aus lediglich einigen wenigen von Null verschiedenen
Werten besteht. Ferner wird ein flexibles optimierungsbasiertes Designverfahren für
derartige Fenster dargestellt. Designbeispiele bestätigen, dass die Überblendungsverhalten,
die üblicherweise bei Audioanwendungen eingesetzt werden, durch sehr dünn besetzte
Fensterfunktionen sehr gut angenähert werden können.
[0105] Die vorgeschlagenen Ausführungsbeispiele zeigen beträchtliche Verbesserungen der
Leistungsfähigkeit gegenüber vorhandenen Lösungen, die auf zwei separaten Faltungen
und einer Zeitbereichsüberblendung basieren. Jedoch wird das vollständige Potenzial
des Frequenzbereichsüberblendens für Binaural-Anwendungen erst dann ausgenutzt, falls
es in die Struktur eines binauralen Wiedergabesystems integriert wird. In diesem Fall
ermöglicht der neuartige Überblendungsalgorithmus, dass größere Anteile der Verarbeitung
im Frequenzbereich durchgeführt werden, wodurch die Anzahl von inversen Transformationen
beträchtlich verringert wird . Die die Vorteile dieses Lösungsansatzes für eine Binauralsynthese
wurden aufgezeigt. In dieser Anwendung ermöglicht die Fähigkeit, die Signale mehrerer
Schallquellen im Frequenzbereich zu mischen, beträchtliche Verringerungen der Komplexität.
Trotzdem ist der vorgeschlagene Algorithmus nicht auf die Binauralsynthese beschränkt,
sondern ist wahrscheinlich auf andere Verwendungszwecke anwendbar, die sowohl Techniken
einer schnellen Faltung als auch ein zeitlich veränderliches Mischen von Audiosignalen,
insbesondere bei Mehrkanalanwendungen, einsetzen.
[0106] Nachfolgend werden alternative Ausführungsbeispiele der vorliegenden Erfindung dargestellt.
Generell betreffen Ausführungsbeispiele der vorliegenden Erfindung folgende Punkte.
[0107] Ein graduelles Ein- oder Ausblenden eines (gefilterten) Signals y
i[n] kann allgemein als Multiplikation des Signals mit einer Zeitbereichs-Fensterfunktion
w
i[n] interpretiert werden.
[0108] Eine Überblendung ("Crossfade") zwischen zwei gefilterten Signalen (y
1[n] und y
2[n]) kann so durch die Multiplikation der Signale mit Fensterfunktion w
1[n] und w
2[n] und anschließender Summation dargestellt werden.

[0109] Eine besondere Form der Überblendung ist der sog. Constant-Gain-Crossfade, bei der
die Summe der Fensterfunktionen w
1[n] und w
2[n] für jedes n den Wert 1 ergibt. Diese Form der Überblendung ist in vielen Anwendungen
sinnvoll, insbesondere wenn die zu blendenden Signale (bzw. die Filter) stark korreliert
sind. In diesem Fall kann die Überblendung durch eine einzelne Fensterfunktion w[n],
w
1[n] = w[n], w
2[n] = 1 - w[n] dargestellt werden, und die Überblendung (1) kann in folgender Form
dargestellt werden.

[0110] Ziel des Verfahrens ist es, die Überblendung direkt im Frequenzbereich vorzunehmen
und dadurch den Aufwand, der bei der Ausführung zweier kompletter schneller Faltungsoperationen
entsteht, zu reduzieren. Präzisiert heißt das, dass bei einer Überblendung der gefilterten
Signale im Frequenzbereich nur eine statt zwei inverser FFTs notwendig sind.
[0111] Für die Herleitung der Überblendung im Frequenzbereich wird nur die Multiplikation
eines einzelnen Signals x[n] mit einer Zeitbereichs-Fenstefunktion w[n] betrachtet

[0112] Die Erweiterung auf Überblendungen ("Crossfades") entsprechend den Formeln (44) bzw.
(46) kann nach der Beschreibung des Kernalgorithmus in einfacher Weise erfolgen (aber
dort noch zusätzliche Performance-Gewinne ermöglichen).
[0113] Eine elementweise Multiplikation im Zeitbereich (47) entspricht einer zirkulären
(periodischen) Faltung im Frequenzbereich.

[0114] Dabei bezeichnet DFT {·} die diskrete Fourier-Transformation, und

repräsentiert eine zirkuläre Faltung zweier endlicher, hier i.d.R. komplexer Sequenzen,
deren Länge hier mit L bezeichnet ist.
[0115] Die Überblendung durch zirkuläre Faltung im Frequenzbereich lässt sich in schnellen
Faltungsalgorithmen wie Overlap-Save, partitionierte und ungleichförmig partitionierte
Faltung integrieren. Dabei sollen die Eigenheiten dieser Verfahren, z.B. das Zero-Padding
(Auffüllen mit Nullen) der Impulsantwort-Segmente und das Verwerfen eines Teils des
in den Zeitbereich zurücktransformierten Signals (zur Vermeidung einer zirkulären
Überfaltung des Zeitbereichssignals, Time-Domain-Aliasing) entsprechend betrachtet
werden. Die Länge der Überblendung ist dabei auf die Blockgröße des Faltungsalgorithmus
bzw. eines Vielfachen davon festgelegt.
[0116] Die Faltung (48) ist typischerweise deutlich aufwändiger als eine Überblendung im
Zeitbereich (47) (Komplexität
0(L
2)). Damit bedeutet die Verlagerung in den Frequenzbereich im allgemeinen Fall eine
signifikante Steigerung der Komplexität, da der zustäzlcihe Aufwand 0(L
2) die Reduktion durch das Einsparen der FFT
0(
Llog2L) deutlich übersteigt. Zusätzlich werden Operationen wie gewichtete Summation in der
Frequenzbereichs-Ensprechung von (44) teurer, da die Sequenzen komplexwertig sind.
[0117] Ein Ausführungsbeispiel ist es, Frequenzbereichs-Fensterfunktionen W[k] zu finden,
die nur sehr wenige von Null verschiedene (engl. "nonzero") Koeffizienten aufweisen.
Bei sehr dünnbesetzten Fensterfunktionen kann die zirkuläre Faltung im Frequenzbereich
deutlich effizienter werden als eine zusätzliche inverse FFT gefolgt von einer Überblendung
im Zeitbereich.
[0118] Es wird gezeigt, dass solche Fensterfunktionen existieren, mit denen mit einer kleinen
Zahl von Koeffizienten eine sehr gute Annäherung an gewünschte Überblend-Charakteristiken
möglich ist.
[0119] Es wird ein Optimierungsverfahren eingeführt, mit denen zu einer gewünschten Zeitbereichs-Fensterfunktion
ŵ[
n] und der Vorgabe, welche reellwertigen und imaginären Koeffizienten der Frequenzbereichs-Fensterfunktion
von Null verschieden sein dürfen, ein optimales Frequenzbereichsfenster W[k] zu finden.
[0120] Bei dieser Optimierung können die Eigenschaften des Overlap-Save-Algorithmus und
der drauf aufbauenden gleichförmig und ungleichförmig partitionierten Faltungsalgorithmen
sinnvoll ausgenutzt werden. Von der inversen diskreten Fourier-Transformation w[n]

werden nur die letzten B Samples verwendet, wobei B die Blockgröße bzw. der Blockvorschub
des partitionierten Faltungsalgorithmus ist (B < L). Die ersten L - B Werte des zurücktransformierten
Ausgangssignals, und damit der Effekt der Multiplikation mit den ersten L - B Werten
von ẘ[n] werden zur Vermeidung von Time-Domain-Aliasing durch den Faltungsalgorithmus
verworfen. Daher dürfen die Fenster-Koeffizienten ẘ[0]... ẘ[L - B] beliebige Werte
annehmen, ohne das Ergebnis der Überblendung zu verändern. Diese zusätzlichen Freiheitsgrade
führen zu einen beträchtlichen Vorteil beim Design von Frequenzbereichsfenstern W[k]
mit einer geringen Zahl von "nonzero" Koeffizienten.
[0121] Beim Design von W[k] sowie bei der effizienten Implementierung der zirkulären Faltung
im Fjrequenzbereich können die symmetrisch-konjugierte Struktur des Frequenzbereichsfensters
sinnvoll ausgenutzt werden. Dabei ist es sinnvoll, die reellen und imaginären Komponenten
von W[k] getrennt zu betrachten.
[0122] Es werden verschiedene Designs für solche Frequenzbereichsfenster vorgestellt (u.a.
mit 2, 3 und 4 "nonzero" Koeffizienten), welche eine spezifische, gezielt gewählte
Verteilung der "nonzero" reellwertigen und imaginären Koeffizienten aufweisen. Die
dabei gewonnenen Erkenntnisse, gelten streng genommen nur für die hier vorgestellten
Fenster-Designs (das heisst zum Beispiel für die vorgegebenen Werte von L und B sowie
die Form der gewünschten Überblendung). Jedoch sind die zugrundeliegenden Prinzipien
, z.B. vorteilhafte Verteilungen von Null verschiedener Real- und Imaginärteile, auch
auf andere Werte von B und L anwendbar.
[0123] Die Verteilung der "nonzero" reellwertigen und imaginären Komponenten ist sehr charakteristisch.
Die Verteilung, wie sie z.B. im dritten Design in Fig. 7g verwendet wird (8

"nonzero" Koeffizienten, Index-Sets

hat sich in zusätzlichen Untersuchungen auch für anderer Parameterkombinationen in
Ausführungsbeispielen als optimal erwiesen. Dies bedeutet, dass eine besonders geeignete
Vorgabe für die Frequenzbereichs-Fensterfunktion darin besteht, dass die Koeffizienten
mit Index 0 sowie allen ungeraden Indizes rein reell sind und die Koeffizienten mit
geradem Index (ab 2) rein imaginär sind.
[0124] Eine Fensterfunktion mit zwei "nonzero" Koeffizienten (letztes Design-Beispiel in
Fig. 7g, Bild 6(f)) ermöglicht einen glatten Übergang zwischen zwei Filtern bzw. Signalen
und kann auch für einen Constant-Gain-Crossfade verwendet werden. Diese Fensterfunktion
entspricht einem Zeitbereichsfenster mit einem halbseitigen Fenster vom Kosinus-Typ
(z.B. Hann- oder Hamming-Fenster). Obwohl diese Fensterfunktion recht stark von einer
linearen Überblendung abweicht, sollte sie für viele Anwendungen bereits einsetzbar
sein, in denen nur eine knackfreie Überblendung zwischen recht ähnlichen Filtern benötigt
wird.
[0125] Für die Implementierung der zirkulären Faltung mit einer dünnbesetzten konjugiert-symmetrischen
Fensterfunktion W[k] (wie hier betrachtet) werden effiziente Implementierungen und
verschiedene Optimierungen vorgestellt. Dabei wird klar, dass eine getrennte Betrachtung
der "nonzero" Real- und Imaginärteile Leistungsvorteile bietet.
[0126] Für die Umsetzung von Constant-Gain-Crossfades wird eine weiter optimierte Rechenvorschrift
vorgestellt.
[0127] Die beschriebene Erfindung ermöglicht weitere deutlich größere Leistungsvorteile,
wenn Systeme mit mehreren Ein- und Ausgängen betrachtet werden. In diesem Fall kann
durch die Implementierung der Überblendung im Frequenzbereich (bzw. der durch den
verwendeten schnellen Faltungsalgorithmus vorgegebenen Signalrepräsentation) ein größerer
Teil der gesamten Berechnung in diesem Frequenzbereich erfolgen, was die Gesamt-Effizienz
deutlich erhöhen kann.
[0128] Eine Wirkung der beschriebenen Erfindung ist eine Reduktion der Berechnungskomplexität.
Dabei werden gewisse Abweichungen (die sich jedoch beeinflussen und in der Regel sehr
gering halten lassen) gegenüber einem als ideal vorgegebenen Form der Überblendung
in Kauf genommen.
[0129] Neben dieser Effizienzsteigerung ermöglicht das Konzept eine Integration von Überblend-Funktionalitäten
direkt im Frequenzbereich. Wie weiter oben beschrieben, können dadurch größere Signalverarbeitungsalgorithmen,
welche Überblendung als einen Baustein verwenden, so umstrukturiert werden, dass eine
Effizienzsteigerung erzielt wird. Z.B. können größere Teile der Gesamtsignalverarbeitung
in der Frequenzbereichsdarstellung ausgeführt werden, wodurch der Aufwand für die
Transformation der Signale deutlich reduziert wird (z.B. die Zahl der Rücktransformationenin
den Zeitbereich).
[0130] Generell können Ausführunsbeispiele in allen Anwendungen, die eine FIR-Faltung mit
einer bestimmten Mindestlänge der Filter (je nach Hardware ab ca. 16-50 Koeffizienten)
benötigen und bei denen die Filterkoeffizienten ohne Signalverarbeitungsartefakte
zur Laufzeit ausgetauscht werden sollen, verwendet werden.
[0131] Zwei Anwendungsfelder im Gebiet Audio werden als besonders wichtig angesehen:
Binauralsynthese
[0132] Bei der Wiedergabe von Schallszenen über Kopfhörer werden die Signale der Schallobjekte
mit sog. Head-RElated Transfer Functions (HRTFs) beider Ohren gefiltert, und die über
den Kopfhörer weidergegebenen Signale werden durch Summation der entsprechenden Komponentensignale
gebildet. Die HRTFs sind abhängig von der relativen Position von Schallquelle und
Hörer und müssen daher bei bewegten Schallquellen oder Kopfbewegungen ausgetauscht
werden. Die Notwendigkeit einer Filter-Überblendung ist bekannt, z.B. [5; 14].
Variable digitale Filterkernel für Beamforming
[0133] Beamforming-Anwendungen (sowohl für Lautsprecher als auch für Mikrofon-Arrays) mit
zur Laufzeit steuerbarer Richtcharakteristik benötigen variable digitale Filterstrukturen,
mit denen die Eigenschaften der Array-Verarbeitung kontinuierlich angepasst werden
können. Dabei muss auch sichergestellt werden, dass die Veränderung der Charakteristik
keine Störungen (z.B. Knackartefakte, Transienten) erzeugt. Bei einer Implementierung
der variablen Filter mittels schneller Faltung kann die beschriebene Erfindung vorteilhaft
angewendet werden.
[0134] Insbesondere ist bei dieser Ausführung das Frequenzbereichs-Signal ein Audiosignal.
Die erste Filtercharakteristik betrifft ein Filter für einen bestimmten Schallwandler
(Mikrofon oder Lautsprecher) in einem Schallwandlerarray ist, welches geeignet ist,
um in Kombination mit den anderen Schallwandlern des Schallwandlerarrays eine gewünschte
erste Richtcharakteristik zu einem ersten Zeitpunkt auszubilden. Die zweite Filtercharakteristik
beschreibt ein Filter für einen bestimmten Schallwandler (Mikrofon oder Lautsprecher)
in einem Schallwandlerarray ist, welche geeignet ist, um in Kombination mit den anderen
Schallwandlern des Schallwandlerarrays eine zweite gewünschte Richtcharakteristik
zu einem zweiten Zeitpunkt auszubilden, so dass durch ein Überblenden unter Verwendung
der Frequenzbereichs-Fensterfunktion die Richtcharakteristik zeitlich verändert wird.
[0135] Eine andere Anwendung betrifft die Verwendung mehrerer Audiosignale, deren gefilterte
und überblendete Frequenzbereichsrepräsentation vor der inversen Fourier-Transformation
kombiniert werden. Dies entspricht der gleichzeitigen Abstrahlung mehrerer Audio-Beams
mit unterschiedlichen Signalen über ein Lautsprecher-Array, oder der Summation der
einzelnen Mikrofonsignale in einem Mikrofonarray.
[0136] Besonders vorteilhaft ist die beschriebene Erfindung für Systeme mit mehreren Ein-
und Ausgängen (Multiple-Input, Multiple-Output, MIMO) anwendbar, z.B. wenn mehrere
Überblendungen simultan erfolgen oder mehrere überblendete Signale kombiniert und
weiterverarbeitet werden. In diesem Fall ist es möglich, einen größeren Teil der Gesamtberechnung
im Frequenzbereich (bzw. der durch den verwendeten Overlap-Save- oder partitionierten
Faltungsalgorithmus vorgegebenen Signalrepräsentation) auszuführen. Durch Verlagerung
weiterer Operationen wie Summation, Mischen von Signalen etc. kann der Aufwand für
die Rücktransformation in den Zeitbereich deutlich reduziert und damit die Gesamteffizienz
oftmals signifikant verbessert werden. Beispiele für solche Systeme sind, wie oben
beschrieben, ein Binaural-Rendering für komplexe Audio-Szenen oder auch Beamforming-Anwendungen,
bei denen Signale für verschiedene Richtcharakteristiken und Wandler (Mikrofone bzw.
Lautsprecher) mit veränderlichen Filtern gefiltert und miteinander kombiniert werden
müssen.
[0137] Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht
es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen,
sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender
Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist.
Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt
beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details
oder Merkmals einer entsprechenden Vorrichtung dar. Einige oder alle der Verfahrensschritte
können durch einen Hardware-Apparat (oder unter Verwendung eines Hardware-Apparats),
wie zum Beispiel einen Mikroprozessor, einen programmierbaren Computer oder einer
elektronischen Schaltung durchgeführt werden. Bei einigen Ausführungsbeispielen können
einige oder mehrere der wichtigsten Verfahrensschritte durch einen solchen Apparat
ausgeführt werden.
[0138] Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der
Erfindung in Hardware oder in Software implementiert sein. Die Implementierung kann
unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk,
einer DVD, einer BluRay Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines
EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen
oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale
gespeichert sind, die mit einem programmierbaren Computersystem derart zusammenwirken
können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Deshalb
kann das digitale Speichermedium computerlesbar sein.
[0139] Manche Ausführungsbeispiele gemäß der Erfindung umfassen also einen Datenträger,
der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmier-baren
Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren
durchgeführt wird.
[0140] Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Computerprogrammprodukt
mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam
ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem
Computer abläuft.
[0141] Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert
sein.
[0142] Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der
hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinen-lesbaren
Träger gespeichert ist. Mit anderen Worten ist ein Ausführungsbeispiel des erfindungsgemäßen
Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines
der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer
abläuft.
[0143] Ein weiteres Ausführungsbeispiel der erfindungsgemäßen Verfahren ist somit ein Datenträger
(oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das
Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet
ist.
[0144] Ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist somit ein Datenstrom
oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen
eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom
oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert
sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert
zu werden.
[0145] Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise
einen Computer oder ein programmierbares Logikbauelement, die dahin gehend konfiguriert
oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.
[0146] Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm
zum Durchführen eines der hierin beschriebenen Verfahren installiert ist.
[0147] Ein weiteres Ausführungsbeispiel gemäß der Erfindung umfasst eine Vorrichtung oder
ein System, die bzw. das ausgelegt ist, um ein Computerprogramm zur Durchführung zumindest
eines der hierin beschriebenen Verfahren zu einem Empfänger zu übertragen. Die Übertragung
kann beispielsweise elektronisch oder optisch erfolgen. Der Empfänger kann beispielsweise
ein Computer, ein Mobilgerät, ein Speichergerät oder eine ähnliche Vorrichtung sein.
Die Vorrichtung oder das System kann beispielsweise einen Datei-Server zur Übertragung
des Computerprogramms zu dem Empfänger umfassen.
[0148] Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise
ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder
alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen
Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor
zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein
werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung
durchgeführt. Diese kann eine universell einsetzbare Hardware wie ein Computerprozessor
(CPU) sein oder für das Verfahren spezifische Hardware, wie beispielsweise ein ASIC.
[0149] Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung
der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen
und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten
einleuchten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den
Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten,
die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert
wurden, beschränkt sei.
REFERENZEN
[0150]
- [1] V. R. Algazi und R. 0. Duda, "Headphone-based spatial sound," IEEE Signal Processing
Mag., Bd. 28, Nr. 1, S. 33-42, Jan. 2011.
- [2] R. Nicol, Binaural Technology, ser. AES Monographs. New York, NY: AES, 2010.
- [3] D. N. Zotkin, R. Duraiswami, und L. S. Davis, "Rendering localized spatial audio in
a virtual auditory space," IEEE Trans. Multimedia, Bd. 6, Nr. 4, S. 553-564, Aug.
2004.
- [4] A. Härmä, J. Jakka, M. Tikander, et al., "Augmented reality audio for mobile and
wearable appliances," J. Audio Eng. Soc., Bd. 52, Nr. 6, S. 618-639, Jun. 2004.
- [5] J.-M. Jot, V. Larcher und 0. Warusfel , "Digital signal processing issues in the
context of binaural and transaural stereophony," in AES 98th Convention, Paris, Frankreich,
Feb. 1995.
- [6] H. Gamper, "Head-related transfer function interpolation in azimuth, elevation and
distance," J. Acoust. Soc. Am., Bd. 134, Nr. 6, EL547-EL553, Dez. 2013.
- [7] V. Algazi, R. Duda, D. Thompson , et al., "The CIPIC HRTF database," in Proc. IEEE
Workshop Applications Signal Processing to Audio and Acoustics, New Paltz, NY, Okt.
2001, S. 99-102.
- [8] T. G. Stockham Jr., "High-speed convolution and correlation," in Proc. Spring Joint
Computer Conf., Boston, MA, Apr. 1966, S. 229-233.
- [9] A. V. Oppenheim und R. W. Schafer, Discrete-Time Signal Processing, 3. Auflage, Upper
Saddle River, NJ: Pearson, 2010.
- [10] B. D. Kulp, "Digital equalization using Fourier transform techniques," in AES 85th
Convention, Los Angeles, CA, Nov. 1988.
- [11] F. Wefers und M. Vorländer, "Optimal filter partitions for real-time FIR filtering
using uniformly-partitioned FFT-based convolution in the frequency-domain," in Proc.
14. Int. Conf. Digital Audio Effects, Paris, Frankreich, Sept. 2011, S. 155- 161.
- [12] W. G. Gardner, "Efficient convolution without input-output delay," J. Audio Eng. Soc.,
Bd. 43, Nr. 3, S. 127-136, März 1995.
- [13] G. Garcia, "Optimal filter partition for efficient convolution with short input/output
delay," in 113th AES Convention, Los Angeles, CA, Okt. 2002.
- [14] C. Tsakostas und A. Floros, "Real-time spatial representation of moving sound sources,"
in AES 123th Convention, New York, NY, Okt. 2007.
- [15] J. 0. Smith III, Introduction to Digital Filters with Audio Applications. W3K Publishing,
2007. [Online]. Erhältlich: http://ccrma.stanford.edu/-jos/filters/.
- [16] C. Müller-Tomfelde, "Time-varying filter in non-uniform block convolution," in Proc.
COST G-6 Conf. Digital Audio Effects (DAFX-01), Limerick, Irland, Dez. 2001.
- [17] J. 0. Smith III, Mathematics of the Discrete Fourier Transform (DFT). W3K Publishing,
2007. [Online]. Erhältlich: http://ccrma.stanford.edu/-jos/mdft/mdft.html.
- [18] R. G. Lyons, Understanding Digital Signal Processing, 3rd ed. Upper Saddle River,
NJ: Pearson, 2011.
- [19] M.C. Grant und S.P. Boyed, "Graph implementations for nonsmooth convex programs,"
in Recent Advances in Learning and Control, V. Blondel, S. Boyd, und H. Kimura, Eds.,
London, UK: Springer, 2008, S. 95-110.
- [20] F. Wefers und M. Vorländer. "Optimal Filter Partitions for Non-Uniformly Partitioned
Convolution". In: Proc. AES 45th Int. Conf. Espoo, Finland, März 2012, S. 324-332.
1. Vorrichtung zum Verarbeiten eines zeitdiskreten Signals, mit folgenden Merkmalen:
einer Prozessorstufe (120), die ausgebildet ist,
um das Signal, das in einer diskreten Frequenzbereichs-Darstellung vorliegt, mit einem
Filter (122) mit einer Filtercharakteristik durch Multiplikation mit einer Übertragungsfunktion
zu filtern, um ein gefiltertes Signal (123) zu erhalten,
um das gefilterte Signal (123) oder ein von dem gefilterten Signal abgeleitetes Signal
(302) mit einer Frequenzbereichs-Fensterfunktion (124, 124a, 124b, 124c) zu beaufschlagen,
um ein gefenstertes Signal zu erhalten, wobei das Beaufschlagen Multiplikationen von
Frequenzbereichs-Fensterkoeffizienten der Frequenzbereichs-Fensterfunktion mit Spektralwerten
des gefilterten Signals (123) oder des von dem gefilterten Signal abgeleiteten Signals
(302), um Multiplikationsergebnisse zu erhalten, und eine Aufsummation der Multiplikationsergebnisse
aufweist; und
einem Umwandler (130) zum Umwandeln des gefensterten Signals (125) oder eines unter
Verwendung des gefensterten Signals ermittelten Signals in einen Zeitbereich, um das
verarbeitete Signal zu erhalten,
wobei die Prozessorstufe (120) ferner ausgebildet ist, um das Signal, das in der diskreten
Frequenzbereichs-Darstellung vorliegt, unter Verwendung eines weiteren Filters (122b)
mit einer weiteren Filtercharakteristik zu filtern, um ein weiteres gefiltertes Signal
zu erhalten, um das weitere gefilterte Signal mit einer weiteren Frequenzbereichs-Fensterfunktion
(124b) zu beaufschlagen, um ein weiteres gefenstertes Signal zu erhalten, und um das
gefensterte Signal und das weitere gefensterte Signal zu kombinieren (200), um ein
Kombinationssignal zu erhalten, oder
wobei die Prozessorstufe (120) ausgebildet ist, um das Signal, das in der diskreten
Frequenzbereichs-Darstellung vorliegt, unter Verwendung eines weiteren Filters (122b)
mit einer weiteren Filtercharakteristik zu filtern, um ein weiteres gefiltertes Signal
zu erhalten, um ein Kombinationssignal (302) aus dem gefilterten Signal und dem weiteren
gefilterten Signal zu bilden (300), wobei das von dem gefilterten Signal abgeleitete
Signal (302) das Kombinationssignal (302) darstellt, um das Kombinationssignal mit
der Frequenzbereichs-Fensterfunktion (124c) zu beaufschlagen, um ein gefenstertes
Kombinationssignal zu erhalten, und um das gefensterte Kombinationssignal mit dem
gefilterten Signal oder dem weiteren gefilterten Signal zu kombinieren (200).
2. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der die Frequenzbereichs-Fensterfunktion (124a, 124c) oder die weitere Frequenzbereichs-Fensterfunktion
(124b) höchstens 15 oder höchstens 8 Koeffizienten ungleich 0 aufweist.
3. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Prozessorstufe (120)
ausgebildet ist, um eine maximale Anzahl von Frequenzbereichs-Fensterkoeffizienten
ungleich 0 zu verwenden,
wobei ein Frequenzbereichs-Fensterkoeffizient für einen Gleichanteil reell ist, und
wobei Frequenzbereichs-Fensterkoeffizienten für gerade Indizes bezogen auf einen Index
des Gleichanteils rein imaginär sind und Frequenzbereichs-Fensterkoeffizienten für
ungerade Indizes bezogen auf einen Index des Gleichanteils rein reell sind.
4. Vorrichtung nach einem der vorhergehenden Ansprüche, bei der die Prozessorstufe (120)
ausgebildet ist, um das Beaufschlagen mit einer Frequenzbereichs-Fensterfunktion unter
Verwendung der folgenden Gleichung durchzuführen:

wobei der Term
Y(l)[
k] folgendermaßen berechnet wird:

wobei k ein Frequenzindex ist, wobei I ein ganzzahliger Index ist, wobei C eine Menge
von Indizes ist, wobei ein Index I dann in der Menge C enthalten ist, wenn I ungleich
0 ist und der Koeffizient der Frequenzbereichs-Fensterfunktion W[l] von 0 verschieden
ist, wobei
Wr[
l] ein Realteil eines Koeffizienten der Frequenzbereichs-Fensterfunktion ist, wobei
Wi[
l] ein Imaginärteilkoeffizient der Frequenzbereichs-Fensterfunktion ist, wobei
X+[
k,l] und
X-[
k,l] durch folgende Gleichungen berechnet werden:

und
wobei ((k))
L K mod L bedeutet, wobei L die Länge der FFT-Blöcke ist, und wobei X[k] Spektralkoeffizienten
des Signals sind, das in dem Frequenzbereich vorliegt.
5. Vorrichtung nach Anspruch 4, bei der für den Fall, dass der Wert der Fensterfunktion
W[l] rein reell ist, der Term
Y(l)[
k] nach folgender Vorschriften berechnet wird:

oder
bei der für den Fall, dass der Wert der Fensterfunktion
W[l] rein imaginär ist, der Term
Y(l)[
k] nach folgender Vorschriften berechnet wird:
6. Vorrichtung nach einem der vorhergehenden Ansprüche, die ferner folgende Merkmale
aufweist:
einen Umwandler (110) zum Umwandeln des Signals in eine Frequenzbereichs-Repräsentation,
die zur Verwendung mit dem Overlap-Add, Overlap-Save oder partitionierten Faltungsalgorithmus
geeignet ist, und
bei der der Umwandler (130) zum Umwandeln des gefensterten Signals oder eines unter
Verwendung des gefensterten Signals ermittelten Signals in den Zeitbereich ausgebildet
ist, um unter Verwendung eines Overlap-Add-Algorithmus, eines Overlap-Save-Algorithmus
oder eines partitionierten Faltungsalgorithmus zu arbeiten.
7. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der das Zeitbereichs-Signal eine erste Audioquelle (600) beschreibt,
bei der ein weiteres Zeitbereichs-Signal eine zweite Audioquelle (602) beschreibt,
bei der das Filter (612) für die erste Audioquelle (600) mit der Filtercharakteristik
ausgebildet ist, und das weitere Filter (613) für die erste Audioquelle (600) mit
der weiteren Filtercharakteristik ausgebildet ist,
wobei die Prozessorstufe (120) ferner ausgebildet ist, um unter Verwendung eines dritten
Filters (614) und eines vierten Filters (615) für die zweite Audioquelle (602) zu
arbeiten, wobei das dritte Filter (614) eine dritte Filtercharakteristik hat, die
eine erste Charakteristik der zweiten Audioquelle (602) zu einem ersten Zeitpunkt
beschreibt, und wobei das vierte Filter (615) eine vierte Filtercharakteristik hat,
die einer zweiten Charakteristik der zweiten Audioquelle (602) zu dem zweiten Zeitpunkt
entspricht,
wobei die Prozessorstufe (120) ferner ausgebildet ist, um unter Verwendung der Frequenzbereichs-Fensterfunktion
(620) das erste gefensterte Signal zu berechnen, um unter Verwendung der weiteren
Frequenzbereichs-Fensterfunktion (621) das weitere gefensterte Signal zu ermitteln,
um unter Verwendung einer dritten Frequenzbereichs-Fensterfunktion (622) ein drittes
gefenstertes Signal zu ermitteln, und um unter Verwendung einer vierten Frequenzbereichs-Fensterfunktion
(623) ein viertes gefenstertes Signal zu ermitteln, und
um die gefensterten Signale zu kombinieren (626, 627, 629), um das Kombinationssignal
zu erhalten, und
wobei der Umwandler (630) ausgebildet ist, um das Kombinationssignal in den Zeitbereich
umzuwandeln.
8. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der die Prozessorstufe (120) ausgebildet ist, um die Frequenzbereichs-Fensterfunktion
(124a) zu verwenden, die im Zeitbereich eine Ausblendungsfunktion (w(1)) ist, und um die weitere Frequenzbereichs-Fensterfunktion (124b) zu verwenden, die
im Zeitbereich eine Einblendungsfunktion (w(2)) ist,
bei der die Prozessorstufe (120) ausgebildet ist, um die Frequenzbereichs-Fensterfunktion
(124a) und die weitere Frequenzbereichs-Fensterfunktion (124b) zu verwenden, die eine
konstante-Verstärkungs-Eigenschaft zumindest approximieren, wobei eine Summe der ersten
Frequenzbereichs-Fensterfunktion (124a) und der weiteren Frequenzbereichs-Fensterfunktion
(124b) zu jedem diskreten Zeitpunkt Eins ergibt bzw. Eins zumindest approximiert.
9. Vorrichtung nach Anspruch 1,
bei der die Prozessorstufe (120) ausgebildet ist, um als das Kombinationssignal (302)
eine Differenz aus dem gefilterten Signal und dem weiteren gefilterten Signal zu bilden,
und bei dem die Prozessorstufe (120) ausgebildet ist, um das gefensterte Kombinationssignal
mit dem weiteren gefilterten Signal zu kombinieren (200), um ein kombiniertes Signal
zu erhalten, und
bei dem der Umwandler (130) ausgebildet ist, um das kombinierte Signal oder ein Signal,
das aus weiteren Signalen zusätzlich zu dem kombinierten Signal besteht, in den Zeitbereich
umzuwandeln.
10. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der die Prozessorstufe (120) ausgebildet ist, um die Frequenzbereichs-Fensterfunktion,
die weitere Frequenzbereichs-Fensterfunktion oder noch weitere Frequenzbereichs-Fensterfunktionen
zu verwenden, die eine Überblendfunktion oder eine Verstärkungsänderungsfunktion im
Zeitbereich darstellen.
11. Vorrichtung nach einem der vorhergehenden Ansprüche,
bei der der Umwandler (130) ausgebildet ist, um lediglich einen Anteil von diskreten
Werten zu verwenden und einen anderen Anteil zu verwerfen, wobei der verworfene Anteil
L-B diskrete Werte aufweist, wobei L eine Gesamtanzahl der diskreten Werte einer diskreten
inversen Fourier-Transformation und B eine Blockgröße bzw. ein Blockvorschub eines
partitionierten Faltungsalgorithmus ist, wobei eine zeitliche Länge der Frequenzbereichs-Fensterfunktion
(124a, 124c), der weiteren Frequenzbereichs-Fensterfunktion (124b) oder von noch weiteren
Frequenzbereichs-Fensterfunktionen gleich der Blockgröße oder einem Vielfachen der
Blockgröße ist.
12. Vorrichtung nach einem der Ansprüche 1 bis 6,
bei der das Signal, das im Frequenzbereich vorliegt, ein Audiosignal einer Audioquelle
(600) an einer ersten Position zu einem ersten Zeitpunkt und an einer zweiten Position
zu einem zweiten Zeitpunkt ist,
bei dem ein weiteres Frequenzbereichs-Signal ein Audiosignal einer weiteren Audioquelle
(602) an einer ersten Position zu einem ersten Zeitpunkt und an einer zweiten Position
zu einem zweiten Zeitpunkt ist,
bei der die Prozessorstufe (120) ausgebildet ist, um für jedes Audiosignal die erste
Filtercharakteristik (612, 614) und die zweite Filtercharakteristik (613, 615) zu
verwenden, wobei die erste Filtercharakteristik (612, 614) eine HRTF-Funktion für
die erste Position ist und die zweite Filtercharakteristik (613, 615) eine HRTF-Funktion
für die zweite Position ist, und
wobei die Prozessorstufe (120) ausgebildet ist, um für jedes Audiosignal zwei Frequenzbereichs-Fensterfunktionen
(620, 621, 622, 623) oder eine einzige Frequenzbereichs-Fensterfunktion (124c) zu
verwenden, und
wobei die Prozessorstufe (120) ferner ausgebildet ist, um Signale im Frequenzbereich
zu kombinieren (626, 627, 628, 629), und
wobei der Umwandler (130, 630) ausgebildet ist, um ein kombiniertes Signal in den
Zeitbereich umzuwandeln, um ein Ohrhörersignal (713) zu erhalten.
13. Vorrichtung nach einem der Ansprüche 1 bis 6,
bei der das Frequenzbereichs-Signal ein Audiosignal ist, bei der die erste Filtercharakteristik
ein Filter für einen bestimmten Schallwandler (Mikrofon oder Lautsprecher) in einem
Schallwandlerarray ist, welches geeignet ist, um in Kombination mit den anderen Schallwandlern
des Schallwandlerarrays eine gewünschte erste Richtcharakteristik zu einem ersten
Zeitpunkt auszubilden und die zweite Filtercharakteristik ein Filter für einen bestimmten
Schallwandler (Mikrofon oder Lautsprecher) in einem Schallwandlerarray ist, welche
geeignet ist, um in Kombination mit den anderen Schallwandlern des Schallwandlerarrays
eine zweite gewünschte Richtcharakteristik zu einem zweiten Zeitpunkt auszubilden,
so dass durch ein Überblenden unter Verwendung der Frequenzbereichs-Fensterfunktion
oder einer weiteren Frequenzbereichs-Fensterfunktion die Richtcharakteristik zeitlich
verändert wird.
14. Verfahren zum Verarbeiten eines Signals, mit folgenden Schritten:
Filtern des Signals, das in einer diskreten Frequenzbereichs-Darstellung vorliegt,
mit einem Filter (122) mit einer Filtercharakteristik durch Multiplikation mit einer
Übertragungsfunktion, um ein gefiltertes Signal (123) zu erhalten,
Beaufschlagen des gefilterten Signals (123) oder eines von dem gefilterten Signal
abgeleiteten Signals (302) mit einer Frequenzbereichs-Fensterfunktion (124, 124a,
124b, 124c), um ein gefenstertes Signal zu erhalten, wobei das Beaufschlagen Multiplikationen
von Frequenzbereichs-Fensterkoeffizienten der Frequenzbereichs-Fensterfunktion mit
Spektralwerten des gefilterten Signals (123) oder des von dem gefilterten Signal abgeleiteten
Signals (302), um Multiplikationsergebnisse zu erhalten, und eine Aufsummation der
Multiplikationsergebnisse aufweist; und
Umwandeln (130) des gefensterten Signals (125) oder eines unter Verwendung des gefensterten
Signals ermittelten Signals in einen Zeitbereich, um das verarbeitete Signal zu erhalten,
wobei das Signal, das in der diskreten Frequenzbereichs-Darstellung vorliegt, unter
Verwendung eines weiteren Filters (122b) mit einer weiteren Filtercharakteristik gefiltert
wird, um ein weiteres gefiltertes Signal zu erhalten, wobei das weitere gefilterte
Signal mit einer weiteren Frequenzbereichs-Fensterfunktion (124b) beaufschlagt wird,
um ein weiteres gefenstertes Signal zu erhalten, und wobei das gefensterte Signal
und das weitere gefensterte Signal kombiniert werden (200), um ein Kombinationssignal
zu erhalten, oder
wobei das Signal, das in der diskreten Frequenzbereichs-Darstellung vorliegt, unter
Verwendung eines weiteren Filters (122b) mit einer weiteren Filtercharakteristik gefiltert
wird, um ein weiteres gefiltertes Signal zu erhalten, wobei ein Kombinationssignal
(302) aus dem gefilterten Signal und dem weiteren gefilterten Signal gebildet wird
(300), wobei das von dem gefilterten Signal abgeleitete Signal (302) das Kombinationssignal
(302) darstellt, wobei das Kombinationssignal mit der Frequenzbereichs-Fensterfunktion
(124c) beaufschlagt wird, um ein gefenstertes Kombinationssignal zu erhalten, und
wobei das gefensterte Kombinationssignal mit dem gefilterten Signal oder dem weiteren
gefilterten Signal kombiniert wird (200).
15. Vorrichtung zum Verarbeiten eines zeitdiskreten Signals, mit folgenden Merkmalen:
einer Prozessorstufe (120), die ausgebildet ist,
um das Signal, das in einer diskreten Frequenzbereichs-Darstellung vorliegt, mit einem
Filter (122) mit einer Filtercharakteristik zu filtern, um ein gefiltertes Signal
(123) zu erhalten,
um das gefilterte Signal (123) mit einer Frequenzbereichs-Fensterfunktion (124, 124a,
124b, 124c) zu beaufschlagen, um ein gefenstertes Signal zu erhalten, wobei das Beaufschlagen
Multiplikationen von Frequenzbereichs-Fensterkoeffizienten der Frequenzbereichs-Fensterfunktion
mit Spektralwerten des gefilterten Signals (123), um Multiplikationsergebnisse zu
erhalten, und eine Aufsummation der Multiplikationsergebnisse aufweist; und
einem Umwandler (130) zum Umwandeln des gefensterten Signals (125) oder eines unter
Verwendung des gefensterten Signals ermittelten Signals in einen Zeitbereich, um das
verarbeitete Signal zu erhalten,
wobei die Frequenzbereichs-Fensterfunktion eine zeitlich ansteigende oder zeitlich
abfallende Verstärkungseigenschaft hat, und wobei die Prozessorstufe (120) ferner
ausgebildet ist, um das gefensterte Signal und das gefilterte Signal mittels eines
Kombinierers zu kombinieren, wobei der Kombinierer folgende Merkmale aufweist: einen
ersten Multiplizierer (503) zum Multiplizieren des gefensterten Signals mit einem
ersten Wert (e-s); einen zweiten Multiplizierer (504) zum Multiplizieren des gefilterten
Signals mit einem zweiten Wert (s); und einen Summierer (500) zum Summieren der Multiplizierer-Ausgangssignale.
16. Vorrichtung nach Anspruch 15, bei der der erste Wert eine Differenz aus einem Verstärkungswert
der Frequenzbereichs-Fensterfunktion am Beginn eines Signal-blocks und einem Verstärkungswert
der Frequenzbereichs-Fensterfunktion an einem Ende des Signalblocks ist, und bei der
der zweite Wert der Verstärkungswert der Frequenzbereichs-Fensterfunktion zu Beginn
des Signalblocks ist.
17. Verfahren zum Verarbeiten eines Signals, mit folgenden Schritten:
Filtern des Signals, das in einer diskreten Frequenzbereichs-Darstellung vorliegt,
mit einem Filter (122) mit einer Filtercharakteristik, um ein gefiltertes Signal (123)
zu erhalten,
Beaufschlagen des gefilterten Signals (123) mit einer Frequenzbereichs-Fensterfunktion
(124, 124a, 124b, 124c), um ein gefenstertes Signal zu erhalten, wobei das Beaufschlagen
Multiplikationen von Frequenzbereichs-Fensterkoeffizienten der Frequenzbereichs-Fensterfunktion
mit Spektralwerten des gefilterten Signals (123), um Multiplikationsergebnisse zu
erhalten, und eine Aufsummation der Multiplikationsergebnisse aufweist; und
Umwandeln (130) des gefensterten Signals (125) oder eines unter Verwendung des gefensterten
Signals ermittelten Signals in einen Zeitbereich, um das verarbeitete Signal zu erhalten,
wobei die Frequenzbereichs-Fensterfunktion eine zeitlich ansteigende oder zeitlich
abfallende Verstärkungseigenschaft hat, und wobei das Verfahren ferner folgenden Schritt
aufweist: Kombinieren des gefensterten Signals und des gefilterten Signals mittels
eines Kombinierers, wobei der Kombinierer folgende Merkmale aufweist: einen ersten
Multiplizierer (503) zum Multiplizieren des gefensterten Signals mit einem ersten
Wert (e-s); einen zweiten Multiplizierer (504) zum Multiplizieren des gefilterten
Signals mit einem zweiten Wert (s); und einen Summierer (500) zum Summieren der Multiplizierer-Ausgangssignale.
18. Computerprogramm mit einem Programmcode zum Ausführen des Verfahrens nach Anspruch
14 oder 17, wenn der Programmcode auf einem Computer oder Prozessor abläuft.
1. A device for processing a discrete-time signal, comprising:
a processor stage (120) configured to:
filter the signal which is present in a discrete frequency-domain representation by
a filter (122) with a filter characteristic by means of a multiplication by a transfer
function in order to obtain a filtered signal (123),
provide the filtered signal (123) or a signal (302) derived from the filtered signal
with a frequency-domain window function (124, 124a, 124b, 124c) in order to obtain
a windowed signal, wherein providing comprises multiplications of frequency-domain
window coefficients of the frequency-domain window function by spectral values of
the filtered signal (123) or the signal (302) derived from the filtered signal in
order to obtain multiplication results, and summing up the multiplication results;
and
a converter (130) for converting the windowed signal (125) or a signal determined
using the windowed signal to a time domain in order to obtain the processed signal,
wherein the processor stage (120) is further configured to filter the signal which
is present in the discrete frequency-domain representation using a further filter
(122b) with a further filter characteristic in order to obtain a further filtered
signal, to provide the further filtered signal with a further frequency-domain window
function (124b) in order to obtain a further windowed signal, and to combine (200)
the windowed signal with the further windowed signal in order to obtain a combination
signal or
wherein the processor stage (120) is configured to filter the signal which is present
in the discrete frequency-domain representation using a further filter (122b) with
a further filter characteristic in order to obtain a further filtered signal, to form
(300) a combination signal (302) from the filtered signal and the further filtered
signal, wherein the signal (302) derived from the filtered signal represents the combination
signal (302), to provide the combination signal with the frequency-domain window function
(124c) in order to obtain a windowed combination signal, and to combine (200) the
windowed combination signal with the filtered signal or the further filtered signal.
2. The device in accordance with any of the preceding claims,
wherein the frequency-domain window function (124a, 124c) or the further frequency-domain
window function (124b) comprises at most 15 or at most 8 non-zero coefficients.
3. The device in accordance with any of the preceding claims, wherein the processor stage
(120) is configured to use a maximum number of non-zero frequency-domain window coefficients,
wherein a frequency-domain window coefficient for an equal portion is real, and
wherein frequency-domain window coefficients for even indices relative to an index
of the equal portion are purely imaginary and frequency-domain window coefficients
for odd indices relative to an index of the equal portion are purely real.
4. The device in accordance with any of the preceding claims, wherein the processor stage
(120) is configured to perform providing with a frequency-domain window function using
the following equation:

wherein the term
Y(l)[
k] is computed as follows:

wherein k is a frequency index, I is an integer index, C is a set of indices, wherein
an index I is contained in the set C if I is not 0 and the coefficient of the frequency-domain
window function W[l] is not 0, wherein
Wr[
l] is a real part of a coefficient of the frequency-domain window function,
Wi[
l] is an imaginary part coefficient of the frequency-domain window function, wherein
X+[
k,l] and
X-[
k,l] are calculated by the following equations:

and
wherein ((k))
L means K mod L, wherein L is the length of the FFT blocks, and X[k] are spectral coefficients
of the signal which is present in the frequency domain.
5. The device in accordance with claim 4, wherein in case the value of the window function
W[
l] is purely real, the term
Y(l)[
k] is calculated pursuant to the following rule:

or
wherein in case the value of the window function
W[l] is purely imaginary, the term
Y(l) [
k] is calculated pursuant to the following rule:
6. The device in accordance with any of the preceding claims, further comprising:
a converter (110) for converting the signal to a frequency-domain representation which
is suitable for being used with the overlap-add, overlap-save or partitioned convolution
algorithm, and
wherein the converter (130) for converting the windowed signal or a signal determined
using the windowed signal to the time domain is configured to operate using an overlap-add
algorithm, an overlap-save algorithm or a partitioned convolution algorithm.
7. The device in accordance with any of the preceding claims,
wherein the time-domain signal describes a first audio source (600),
wherein a further time-domain signal describes a second audio source (602),
wherein the filter (612) for the first audio source (600) is implemented with the
filter characteristic and the further filter (613) for the first audio source (600)
is implemented with the further filter characteristic,
wherein the processor stage (120) is further configured to operate using a third filter
(614) and a fourth filter (615) for the second audio source (602), wherein the third
filter (614) has a third filter characteristic which describes a first characteristic
of the second audio source (602) at a first point in time, and wherein the fourth
filter (615) has a fourth filter characteristic which corresponds to a second characteristic
of the second audio source (602) at the second point in time,
wherein the processor stage (120) is further configured to calculate the first windowed
signal using the frequency-domain window function (620) in order to determine the
further windowed signal using the further frequency-domain window function (621),
to determine a third windowed signal using a third frequency-domain window function
(622), and to determine a fourth windowed signal using a fourth frequency-domain window
function (623), and
to combine (626, 627, 629) the windowed signals in order to obtain the combination
signal, and
wherein the converter (630) is configured to convert the combination signal to the
time domain.
8. The device in accordance with any of the preceding claims,
wherein the processor stage (120) is configured to use the frequency-domain window
function (124a) which, in the time domain, is a fade-out function (w(1)), and to use the further frequency-domain window function (124b) which, in the time
domain, is a fade-in function (w(2)),
wherein the processor stage (120) is configured to use the frequency-domain window
function (124a) and the further frequency-domain window function (124b) to at least
approximate a constant-gain characteristic, wherein a sum of the first frequency-domain
window function (124a) and the further frequency-domain window function (124b) at
each discrete point in time is one or at least approximates one.
9. The device in accordance with claim 1,
wherein the processor stage (120) is configured to form a difference of the filtered
signal and the further filtered signal as the combination signal (302), and wherein
the processor stage (120) is configured to combine (200) the windowed combination
signal with the further filtered signal in order to obtain a combined signal, and
wherein the converter (130) is configured to convert the combined signal or a signal
consisting of further signals in addition to the combined signal, to the time domain.
10. The device in accordance with any of the preceding claims,
wherein the processor stage (120) is configured to use the frequency-domain filter
function, the further frequency-domain filter function or even further frequency-domain
filter functions which represent a crossfading function or a gain change function
in the time domain.
11. The device in accordance with any of the preceding claims,
wherein the converter (130) is configured to use only a portion of discrete values
and discard another portion, wherein the discarded portion comprises L-B discrete
values, L being an overall number of the discrete values of a discrete inverse Fourier
transform and B being a block size or block feed of a partitioned convolution algorithm,
wherein a time length of the frequency-domain filter function (124a, 124c), the further
frequency-domain filter function (124b) or even further frequency-domain filter characteristics
equals the block size or a multiple of the block size.
12. The device in accordance with any of claims 1 to 6,
wherein the signal which is present in the frequency domain is an audio signal of
an audio source (600) at a first position at a first point in time and at a second
position at a second point in time,
wherein a further frequency-domain signal is an audio signal of a further audio source
(602) at a first position at a first point in time and at a second position at a second
point in time,
wherein the processor stage (120) is configured to use, for each audio signal, the
first filter characteristic (612, 614) and the second filter characteristic (613,
615), the first filter characteristic (612, 614) being an HRTF function for the first
position and the second filter characteristic (613, 615) being an HRTF function for
the second position, and
wherein the processor stage (120) is configured to use, for each audio signal, two
frequency-domain window functions (620, 621, 622, 623) or a single frequency-domain
window function (124c), and
wherein the processor stage (120) is further configured to combine (626, 627, 628,
629) signals in the frequency domain, and
wherein the converter (130, 630) is configured to convert a combined signal to the
time domain in order to obtain an earphone signal (713).
13. The device in accordance with any of claims 1 to 6,
wherein the frequency-domain signal is an audio signal, wherein the first filter characteristic
is a filter for a certain sound converter (microphone or loudspeaker) in a sound converter
array which is suitable to implement a desired first directional pattern at a first
point in time in combination with the other sound converters of the sound converter
array, and the second filter characteristic is a filter for a certain sound converter
(microphone or loudspeaker) in a sound converter array, which is suitable to implement
a second desired directional pattern at a second point in time in combination with
the other sound converters of the sound converter array such that the directional
pattern is varied over time by crossfading using the frequency-domain window function
or a further frequency-domain window function.
14. A method for processing a signal, comprising the steps of:
filtering the signal which is present in a discrete frequency-domain representation
by a filter (122) with a filter characteristic by means of a multiplication by a transfer
function in order to obtain a filtered signal (123);
providing the filtered signal (123) or a signal (302) derived from the filtered signal
with a frequency-domain window function (124, 124a, 124b, 124c) in order to obtain
a windowed signal, wherein providing comprises multiplications of frequency-domain
window coefficients of the frequency-domain window function by spectral values of
the filtered signal (123) or the signal (302) derived from the filtered signal in
order to obtain multiplication results, and summing up the multiplication results;
and
converting (130) the windowed signal (125) or a signal determined using the windowed
signal to a time domain in order to obtain the processed signal,
wherein the signal which is present in the discrete frequency-domain representation
is filtered using a further filter (122b) with a further filter characteristic in
order to obtain a further filtered signal, wherein the further filtered signal is
provided with a further frequency-domain window function (124b) in order to obtain
a further windowed signal, and wherein the windowed signal and the further windowed
signal are combined (200) in order to obtain a combination signal or
wherein the signal which is present in the discrete frequency-domain representation
is filtered using a further filter (122b) with a further filter characteristic in
order to obtain a further filtered signal, wherein a combination signal (302) is formed
(300) from the filtered signal and the further filtered signal, wherein the signal
(302) derived from the filtered signal represents the combination signal (302), wherein
the combination signal is provided with the frequency-domain window function (124c)
in order to obtain a windowed combination signal, and wherein the windowed combination
signal is combined (200) with the filtered signal or the further filtered signal.
15. A device for processing a discrete-time signal, comprising:
a processor stage (120) configured to:
filter the signal which is present in a discrete frequency-domain representation by
a filter (122) with a filter characteristic in order to obtain a filtered signal (123),
provide the filtered signal (123) with a frequency-domain window function (124, 124a,
124b, 124c) in order to obtain a windowed signal, wherein providing comprises multiplications
of frequency-domain window coefficients of the frequency-domain window function by
spectral values of the filtered signal (123) in order to obtain multiplication results,
and summing up the multiplication results; and
a converter (130) for converting the windowed signal (125) or a signal determined
using the windowed signal to a time domain in order to obtain the processed signal,
wherein the frequency-domain window function has a temporally increasing or temporally
decreasing gain characteristic, and wherein the processor stage (120) is further configured
to combine the windowed signal and the filtered signal by means of a combiner, the
combiner comprising: a first multiplier (503) for multiplying the windowed signal
by a first value (e-s); a second multiplier (504) for multiplying the filtered signal
by a second value (s); and a summer (500) for summing up the multiplier output signals.
16. The device in accordance with claim 15, wherein the first value is a difference of
a gain value of the frequency-domain window function at the beginning of a signal
block and a gain value of the frequency-domain window function at an end of the signal
block, and wherein the second value is the gain value of the frequency-domain window
function at the beginning of the signal block.
17. A method for processing a signal, comprising the steps of:
filtering the signal which is present in a discrete frequency-domain representation
by a filter (122) with a filter characteristic in order to obtain a filtered signal
(123),
providing the filtered signal (123) with a frequency-domain window function (124,
124a, 124b, 124c) in order to obtain a windowed signal, wherein providing comprises
multiplications of frequency-domain window coefficients of the frequency-domain window
function by spectral values of the filtered signal (123) in order to obtain multiplication
results, and summing up the multiplication results; and
converting (130) the windowed signal (125) or a signal determined using the windowed
signal to a time domain in order to obtain the processed signal,
wherein the frequency-domain window function has a temporally increasing or temporally
decreasing gain characteristic, and wherein the method further comprises the steps
of: combining the windowed signal and the filtered signal by means of a combiner,
the combiner comprising: a first multiplier (503) for multiplying the windowed signal
by a first value (e-s); a second multiplier (504) for multiplying the filtered signal
by a second value (s); and a summer (500) for summing up the multiplier output signals.
18. A computer program comprising program code for executing the method in accordance
with claim 14 or 17 when the program code runs on a computer or processor.
1. Dispositif de traitement d'un signal discret dans le temps, aux caractéristiques suivantes:
un étage de processeur (120) qui est conçu
pour filtrer le signal, qui est présent dans une représentation dans le domaine de
la fréquence discrète, par un filtre (122) avec une caractéristique de filtre par
multiplication par une fonction de transfert, pour obtenir un signal filtré (123),
pour soumettre le signal filtré (123) ou un signal dérivé du signal filtré (302) à
une fonction de fenêtre dans le domaine de la fréquence (124, 124a, 124b, 124c) pour
obtenir un signal divisé en fenêtres, où la soumission présente des multiplications
de coefficients de fenêtre dans le domaine de la fréquence de la fonction de fenêtre
dans le domaine de la fréquence par les valeurs spectrales du signal filtré (123)
ou du signal (302) dérivé du signal filtré, pour obtenir des résultats de multiplication,
et une totalisation des résultats de multiplication; et
un convertisseur (130) destiné à convertir le signal divisé en fenêtres (125) ou un
signal déterminé à l'aide du signal divisé en fenêtres à un domaine temporel, pour
obtenir le signal traité,
dans lequel l'étage de processeur (120) est par ailleurs conçu pour filtrer le signal,
qui est présent dans la représentation dans le domaine de la fréquence discrète, à
l'aide d'un autre filtre (122b) avec une autre caractéristique de filtre, pour obtenir
un autre signal filtré, pour soumettre l'autre signal filtré à une autre fonction
de fenêtre dans le domaine de la fréquence (124b) pour obtenir un autre signal divisé
en fenêtres, et pour combiner le signal divisé en fenêtres et l'autre signal divisé
en fenêtres (200) pour obtenir un signal de combinaison, ou
dans lequel l'étage de processeur (120) est conçu pour filtrer le signal, qui est
présent dans la représentation dans le domaine de la fréquence discrète, par un autre
filtre (122b) avec une autre caractéristique de filtre pour obtenir un autre signal
filtré, pour obtenir un signal de combinaison (302) à partir du signal filtré et de
l'autre signal filtré (300), dans lequel le signal (302) dérivé du signal filtré représente
le signal de combinaison (302), pour soumettre le signal de combinaison à la fonction
de fenêtre dans le domaine de la fréquence (124c) pour obtenir un signal de combinaison
divisé en fenêtres, et pour combiner le signal de combinaison divisé en fenêtres avec
le signal filtré ou l'autre signal filtré (200).
2. Dispositif selon l'une des revendications précédentes,
dans lequel la fonction de fenêtre dans le domaine de la fréquence (124a, 124c) ou
l'autre fonction de fenêtre dans le domaine de la fréquence (124b) présente tout au
plus 15 ou tout au plus 8 coefficients différents de 0.
3. Dispositif selon l'une des revendications précédentes, dans lequel l'étage de processeur
(120) est conçu pour utiliser un nombre maximum de coefficients de fenêtre dans le
domaine de la fréquence différents de 0,
dans lequel un coefficient de fenêtre dans le domaine de la fréquence est réel pour
une composante continue, et
dans lequel les coefficients de fenêtre dans le domaine de la fréquence sont, pour
des indices pairs par rapport à un indice de la composante continue, purement imaginaires
et les coefficients de fenêtre dans le domaine de la fréquence sont, pour des indices
impairs par rapport à un indice de la composante continue, purement réels.
4. Dispositif selon l'une des revendications précédentes, dans lequel l'étage de processeur
(120) est conçu pour réaliser la soumission à une fonction de fenêtre dans le domaine
de la fréquence à l'aide de l'équation suivante:

où le terme
Y(l)[
k] est calculé comme suit:

où k est un indice de fréquence, où 1 est un indice de nombre entier, où C est une
quantité d'indices, où un indice 1 est contenu dans la quantité C si 1 est différent
de 0 et que le coefficient de la fonction de fenêtre dans le domaine de la fréquence
W[l] est différent de 0, où
Wr[
l] est une partie réelle d'un coefficient de la fonction de fenêtre dans le domaine
de la fréquence, où
Wi[
l] est un coefficient de partie imaginaire de la fonction de fenêtre dans le domaine
de la fréquence, où
X+[
k,l] et
X-[
k,l] sont calculés à l'aide des équations suivantes:

et
où ((
k))
L K signifie mod L, où L est la longueur des blocs de FFT, et où X[k] sont des coefficients
spectraux du signal qui est présent dans le domaine de la fréquence.
5. Dispositif selon la revendication 4, dans lequel, au cas où la valeur de la fonction
de fenêtre
W[
l] est purement réelle, le terme
Y(l)[
k] est calculé selon les règles suivantes:

ou
dans lequel, au cas où la valeur de la fonction de fenêtre
W[
l] est purement imaginaire, le terme
Y(l)[
k] est calculé selon les règles suivantes:
6. Dispositif selon l'une des revendications précédentes, présentant par ailleurs les
caractéristiques suivantes:
un convertisseur (110) destiné à convertir le signal en une représentation dans le
domaine de la fréquence qui convient pour une utilisation avec l'algorithme d'addition
en chevauchement, d'enregistrement en chevauchement ou de repliement partitionné,
et
dans lequel le convertisseur (130) est conçu pour convertir le signal divisé en fenêtres
ou un signal déterminé à l'aide du signal divisé en fenêtres au domaine temporel pour
fonctionner à l'aide d'un algorithme d'addition en chevauchement, d'un algorithme
d'enregistrement en chevauchement ou d'un algorithme de repliement partitionné.
7. Dispositif selon l'une des revendications précédentes,
dans lequel le signal dans le domaine temporel décrit une première source audio (600),
dans lequel un autre signal dans le domaine temporel décrit une deuxième source audio
(602),
dans lequel le filtre (612) pour la première source audio (600) est conçu avec la
caractéristique de filtre, et l'autre filtre (613) pour la première source audio (600)
est conçu avec l'autre caractéristique de filtre,
dans lequel l'étage de processeur (120) est par ailleurs conçu pour fonctionner à
l'aide d'un troisième filtre (614) et d'un quatrième filtre (615) pour la deuxième
source audio (602), dans lequel le troisième filtre (614) a une troisième caractéristique
de filtre qui décrit une première caractéristique de la deuxième source audio (602)
à un premier moment, et dans lequel le quatrième filtre (615) a une quatrième caractéristique
de filtre qui correspond à une deuxième caractéristique de la deuxième source audio
(602) au deuxième moment,
dans lequel l'étage de processeur (120) est par ailleurs conçu pour calculer, à l'aide
de la fonction de fenêtre dans le domaine de la fréquence (620), le premier signal
divisé en fenêtres, pour déterminer, à l'aide de l'autre fonction de fenêtre dans
le domaine de la fréquence (621), l'autre signal divisé en fenêtres, pour déterminer,
à l'aide d'une troisième fonction de fenêtre dans le domaine de la fréquence (622),
un troisième signal divisé en fenêtres et pour déterminer, à l'aide d'une quatrième
fonction de fenêtre dans le domaine de la fréquence (623), un quatrième signal divisé
en fenêtres, et
pour combiner les signaux fenêtrés (626, 627, 629) pour obtenir le signal de combinaison,
et
dans lequel le convertisseur (630) est conçu pour convertir le signal de combinaison
au domaine temporel.
8. Dispositif selon l'une des revendications précédentes,
dans lequel l'étage de processeur (120) est conçu pour utiliser la fonction de fenêtre
dans le domaine de la fréquence (124a), qui, dans le domaine temporel, est une fonction
de sortie de fondu (W(1)) et pour utiliser l'autre fonction de fenêtre dans le domaine de la fréquence (124b),
qui, dans le domaine temporel, est une fonction d'entrée en fondu (W(2)),
dans lequel l'étage de processeur (120) est conçu pour utiliser la fonction de fenêtre
dans le domaine de la fréquence (124a) et l'autre fonction de fenêtre dans le domaine
de la fréquence (124b), qui se rapprochent au moins environ d'une propriété de gain
constant, dans lequel une somme de la première fonction de fenêtre dans le domaine
de la fréquence (124a) et de l'autre fonction de fenêtre dans le domaine de la fréquence
(124b) donne à tout moment discret un ou se rapproche au moins de un.
9. Dispositif selon la revendication 1,
dans lequel l'étage de processeur (120) est conçu pour former, comme signal de combinaison
(302), une différence entre le signal filtré et l'autre signal filtré, et dans lequel
l'étage de processeur (120) est conçu pour combiner le signal de combinaison divisé
en fenêtres avec l'autre signal filtré (200) pour obtenir un signal combiné, et
dans lequel le convertisseur (130) est conçu pour convertir au domaine temporel le
signal combiné ou un signal qui se compose d'autres signaux en plus du signal combiné.
10. Dispositif selon l'une des revendications précédentes,
dans lequel l'étage de processeur (120) est conçu pour utiliser la fonction de fenêtre
dans le domaine de la fréquence, l'autre fonction de fenêtre dans le domaine de la
fréquence ou encore d'autres fonctions de fenêtre dans le domaine de la fréquence
qui représentent une fonction de fondu enchaîné ou une fonction de variation de gain
dans le domaine temporel.
11. Dispositif selon l'une des revendications précédentes,
dans lequel le convertisseur (130) est conçu pour n'utiliser qu'une part des valeurs
discrètes et pour rejeter une autre part, dans lequel la part rejetée présente L-B
valeurs discrètes, où L est un nombre total des valeurs discrètes d'une transformée
de Fourier inverse discrète et B est une grandeur de bloc ou une avance de bloc d'un
algorithme de repliement partitionné, dans lequel une longueur temporelle de la fonction
de fenêtre dans le domaine de la fréquence (124a, 124c), de l'autre fonction de fenêtre
dans le domaine de la fréquence (124b) ou d'autres fonctions de fenêtre dans le domaine
de la fréquence est égale à la grandeur de bloc ou à un multiple de la grandeur de
bloc.
12. Dispositif selon l'une des revendications 1 à 6,
dans lequel le signal qui est présent dans le domaine de la fréquence est un signal
audio d'une source audio (600) à une première position à un premier moment et à une
deuxième position à un deuxième moment,
dans lequel un autre signal dans le domaine de la fréquence est un signal audio d'une
autre source audio (602) à une première position à un premier moment et à une deuxième
position à un deuxième moment,
dans lequel l'étage de processeur (120) est conçu pour utiliser pour chaque signal
audio la première caractéristique de filtre (612, 614) et la deuxième caractéristique
de filtre (613, 615), dans lequel la première caractéristique de filtre (612, 614)
est une fonction de HRTF pour la première position et la deuxième caractéristique
de filtre (613, 615) est une fonction de HRTF pour la deuxième position, et
dans lequel l'étage de processeur (120) est conçu pour utiliser pour chaque signal
audio deux fonctions de fenêtre dans le domaine de la fréquence (620, 621, 622, 623)
ou une seule fonction de fenêtre dans le domaine de la fréquence (124c), et
dans lequel l'étage de processeur (120) est par ailleurs conçu pour combiner les signaux
dans le domaine de la fréquence (626, 627, 628, 629), et
dans lequel le convertisseur (130, 630) est conçu pour convertir un signal combiné
au domaine temporel pour obtenir un signal d'écouteur (713).
13. Dispositif selon l'une des revendications 1 à 6,
dans lequel le signal dans le domaine de la fréquence est un signal audio, dans lequel
la première caractéristique de filtre est un filtre pour un transducteur acoustique
déterminé (microphone ou haut-parleur) dans un réseau de transducteurs acoustiques
qui convient pour former, en combinaison avec les autres transducteurs acoustiques
du réseau de transducteurs acoustiques, une première caractéristique directionnelle
souhaitée à un premier moment et la deuxième caractéristique de filtre est un filtre
pour un transducteur de acoustique déterminé (microphone ou haut-parleur) dans un
réseau de transducteurs acoustiques qui convient pour former, en combinaison avec
les autres transducteurs acoustiques du réseau de transducteurs acoustiques, une deuxième
caractéristique directionnelle souhaitée à un deuxième moment, de sorte que par un
fondu enchaîné à l'aide de la fonction de fenêtre dans le domaine de la fréquence
ou d'une autre fonction de fenêtre dans le domaine de la fréquence soit modifiée temporellement
la caractéristique directionnelle.
14. Procédé de traitement d'un signal, aux étapes suivantes consistant à:
filtrer le signal, qui est présent dans une représentation dans le domaine de la fréquence
discrète, par un filtre (122) avec une caractéristique de filtre par multiplication
par une fonction de transfert, pour obtenir un signal filtré (123),
soumettre le signal filtré (123) ou un signal (302) dérivé du signal filtré à une
fonction de fenêtre dans le domaine de la fréquence (124, 124a, 124b, 124c) pour obtenir
un signal divisé en fenêtres, où la soumission présente des multiplications de coefficients
de fenêtre dans le domaine de la fréquence de la fonction de fenêtre dans le domaine
de la fréquence par les valeurs spectrales du signal filtré (123) ou du signal dérivé
du signal filtré (302) pour obtenir des résultats de multiplication, et une totalisation
des résultats de multiplication; et
convertir (130) le signal divisé en fenêtres (125) ou un signal déterminé à l'aide
du signal divisé en fenêtres à un domaine temporel, pour obtenir le signal traité,
dans lequel le signal, qui est présent dans la représentation dans le domaine de la
fréquence discrète, est filtré à l'aide d'un autre filtre (122b) avec une autre caractéristique
de filtre pour obtenir un autre signal filtré, dans lequel l'autre signal filtré est
soumis à une autre fonction de fenêtre dans le domaine de la fréquence (124b), pour
obtenir un autre signal divisé en fenêtres, et dans lequel le signal divisé en fenêtres
et l'autre signal divisé en fenêtres sont combinés (200) pour obtenir un signal de
combinaison, ou
dans lequel le signal, qui est présent dans la représentation dans le domaine de la
fréquence discrète, est filtré à l'aide d'un autre filtre (122b) avec une autre caractéristique
de filtre pour obtenir un autre signal filtré, dans lequel un signal de combinaison
(302) est formé (300) à partir du signal filtré et de l'autre signal filtré, dans
lequel le signal (302) dérivé du signal filtré représente le signal de combinaison
(302), dans lequel le signal de combinaison est soumis à la fonction de fenêtre dans
le domaine de la fréquence (124c) pour obtenir un signal de combinaison divisé en
fenêtres, et dans lequel le signal de combinaison divisé en fenêtres est combiné (200)
avec le signal filtré ou l'autre signal filtré.
15. Dispositif de traitement d'un signal discret dans le temps, aux caractéristiques suivantes:
un étage de processeur (120) conçu
pour filtrer le signal, qui est présent dans une représentation dans le domaine de
la fréquence discrète, par un filtre (122) avec une caractéristique de filtre pour
obtenir un signal filtré (123),
pour soumettre le signal filtré (123) à une fonction de fenêtre dans le domaine de
la fréquence (124, 124a, 124b, 124c) pour obtenir un signal divisé en fenêtres, où
la soumission présente des multiplications des coefficients de fenêtre dans le domaine
de la fréquence de la fonction de fenêtre dans le domaine de la fréquence par les
valeurs spectrales du signal filtré (123) pour obtenir des résultats de multiplication,
et une totalisation des résultats de multiplication; et
un convertisseur (130) destiné à convertir le signal divisé en fenêtres (125) ou un
signal déterminé à l'aide du signal divisé en fenêtres à un domaine temporel, pour
obtenir le signal traité,
dans lequel la fonction de fenêtre dans le domaine de la fréquence a une caractéristique
de gain croissant dans le temps ou décroissant dans le temps, et dans lequel l'étage
de processeur (120) est par ailleurs conçu pour combiner le signal divisé en fenêtres
et le signal filtré au moyen d'un combineur, dans lequel le combineur présente les
caractéristiques suivantes: un premier multiplicateur (503) destiné à multiplier le
signal divisé en fenêtres par une première valeur (e-s); un deuxième multiplicateur
(504) destiné à multiplier le signal filtré par une deuxième valeur (s); et un additionneur
(500) destiné à additionner les signaux de sortie de multiplicateur.
16. Appareil selon la revendication 15, dans lequel la première valeur est une différence
entre une valeur de gain de la fonction de fenêtre dans le domaine de la fréquence
au début d'un bloc de signal et une valeur de gain de la fonction de fenêtre dans
le domaine de la fréquence à une fin du bloc de signal, et dans lequel la deuxième
valeur est la valeur de gain de la fonction de fenêtre dans le domaine de la fréquence
au début du bloc de signal.
17. Procédé de traitement d'un signal, aux étapes suivantes consistant à:
filtrer le signal, qui est présent dans une représentation dans le domaine de la fréquence
discrète, par un filtre (122) avec une caractéristique de filtre pour obtenir un signal
filtré (123),
soumettre le signal filtré (123) à une fonction de fenêtre dans le domaine de la fréquence
(124, 124a, 124b, 124c) pour obtenir un signal divisé en fenêtres, où la soumission
présente des multiplications de coefficients de fenêtre dans le domaine de la fréquence
de la fonction de fenêtre dans le domaine de la fréquence par les valeurs spectrales
du signal filtré (123) pour obtenir des résultats de multiplication, et une totalisation
des résultats de multiplication; et
convertir (130) le signal divisé en fenêtres (125) ou un signal déterminé à l'aide
du signal divisé en fenêtres à un domaine temporel pour obtenir le signal traité,
dans lequel la fonction de fenêtre dans le domaine de la fréquence a une caractéristique
de gain croissant dans le temps ou décroissant dans le temps, et dans lequel le procédé
présente par ailleurs l'étape suivante consistant à: combiner le signal divisé en
fenêtres et le signal filtré à l'aide d'un combineur, dans lequel le combineur présente
les caractéristiques suivantes: un premier multiplicateur (503) destiné à multiplier
le signal divisé en fenêtres par une première valeur (e-s); un deuxième multiplicateur
(504) destiné à multiplier le signal filtré par une deuxième valeur (s); et un additionneur
(500) destiné à additionner les signaux de sortie de multiplicateur.
18. Programme d'ordinateur avec un code de programme pour réaliser le procédé selon la
revendication 14 ou 17 lorsque le code de programme est exécuté sur un ordinateur
ou un processeur.