Eine Vorrichtung und ein Verfahren zur Ermittlung eines Komponentensignals in hoher Genauigkeit
Beschreibung
Die vorliegende Erfindung bezieht sich auf eine Vorrichtung und ein Verfahren zur Ermittlung eines Komponentensignals mit hoher Genauigkeit für ein WFS-System (WFS = Wellenfeld- synthese) und insbesondere auf einen effizienten Algorithmus zur Delay-Interpolation für Wellenfeldsynthese- Wiedergabesysteme .
Die Wellenfeldsynthese ist ein an der TU Delft entwickeltes Audio-Reproduktionsverfahren zur räumlichen Wiedergabe komplexer Audioszenen. Im Gegensatz zu den meisten existierenden Verfahren zur Audio-Reproduktion ist die räumlich korrekte Wiedergabe nicht auf ein kleines Gebiet beschränkt, sondern erstreckt sich über ein ausgedehntes Wiedergabegebiet. WFS basiert auf einer fundierten mathematisch-physikalischen Grundlage, namentlich dem Prinzip von Huygens und dem Kirchhoff-Helmholtz-Integral .
Typischerweise besteht ein WFS-Reproduktionssystem aus einer großen Zahl von Lautsprechern (sog. sekundärer Quellen) . Die Lautsprechersignale werden aus verzögerten und skalierten Eingangssignalen gebildet. Da in einer WFS-Szene typischerweise viele Audioobjekte (primäre Quellen) verwendet werden, sind sehr viele solcher Operationen zur Erzeu- gung der Lautsprechersignale erforderlich. Dies bedingt die hohe für die Wellenfeldsynthese benötigte Rechenleistung.
Neben den oben genannten Vorteilen bietet die WFS auch die Möglichkeit, bewegte Quellen realistisch abzubilden. Dieses Feature wird in vielen WFS-Systemen genutzt und ist beispielsweise für den Einsatz im Kino, Virtual-Reality- Applikationen oder Live-Aufführungen von großer Bedeutung.
Jedoch verursacht die Wiedergabe bewegter Quellen eine Reihe charakteristischer Fehler, die im Falle statischer Quellen nicht auftreten. Die Signalverarbeitung eines WFS- Wiedergabesystems hat dabei einen bedeutenden Einfluss auf die Wiedergabequalität.
Ein primäres Ziel ist die Entwicklung von Signalverarbeitungsalgorithmen für die Wiedergabe bewegter Quellen mittels WFS. Dabei ist die Echtzeitfähigkeit der Algorithmen eine wichtige Bedingung. Das wichtigste Kriterium zur Bewertung der Algorithmen ist die objektive wahrgenommene Audio-Qualität.
WFS ist wie gesagt ein bezüglich Verarbeitungsressourcen sehr aufwändiges Verfahren zur Audio-Reproduktion. Dies wird vor allem durch die große Zahl von Lautsprechern in einem WFS-Setup sowie die oftmals hohe Zahl virtueller
Quellen, die in WFS-Szenen verwendet werden, bedingt. Aus diesem Grund ist die Effizienz der zu entwickelnden Algo- rithmen von herausragender Bedeutung.
Eine wichtige Frage ist es, welche Qualitätsverbesserung durch die zu entwickelnden Algorithmen erzielt werden sollen. Dies gilt speziell unter Berücksichtigung der anderen durch die WFS verursachten Artefakte, die abhängig von der Qualität der Signalverarbeitungsalgorithmen möglicherweise störender in Erscheinung treten oder die Artefakte der Signalverarbeitung verdecken (maskieren) . Daher liegt der Fokus auf der Entwicklung von Algorithmen, deren Güte über verschiedene Parameter (z. B. Interpolationsordnungen, Filterlängen, etc.) skalierbar ist. Dies schließt als Extremfall Algorithmen ein, deren Wiedergabefehler unter idealisierten Bedingungen (Wegfall aller anderen Artefakte) unter der Wahrnehmungsschwelle liegen. In Abhän- gigkeit von der gewünschten Qualität, der Ausprägung der anderen Artefakte sowie der verfügbaren Ressourcen kann dann ein optimaler Kompromiss (Tradeoff) gefunden werden.
Eine Reihe von Kriterien und Wertebereiche können definiert werden, die den Entwurf der Algorithmen erleichtert. Zu ihnen zählen:
(a) Zulässige Quellgeschwindigkeiten. Generell sind virtuelle Quellen mit beliebigen Quellgeschwindigkeiten zu unterstützen. Jedoch nimmt der Einfluss der Dopplerverschiebung mit zunehmender Geschwindigkeit zu. Zusätzlich gelten viele physikalische Gesetzmäßigkeiten, die auch in der WFS genutzt werden, nur für Geschwindigkeiten unterhalb der Schallgeschwindigkeit. Daher wird folgender als sinnvoll erachteter zulässiger Bereich für die Quellgeschwindigkeit vsrc festgesetzt:
Dabei ist c die Schallgeschwindigkeit des Mediums. Unter Standardbedingungen beträgt die erlaubte Geschwindigkeit von Quellen somit etwa 172 m/s bzw. 619 151Vh.
(b) Frequenzbereiche. Als Wiedergabebereich für die Frequenz f wird der komplette Audio-Frequenzbereich angenommen, d.h.
20 Hz < f < 20 KHz (1)
Es ist zu beachten, dass die Wahl der oberen Grenzfrequenz und der dabei zu erzielenden Güte entscheidenden Einfluss auf den Ressourcenbedarf der Algorithmen hat.
(c) Samplingfrequenz. Die Wahl der Abtastrate hat großen Einfluss auf die zu entwerfenden Algorithmen. Zum einen steigt der Fehler der meisten Delay- Interpolationsalgorithmen stark an, je geringer der Abstand des interessierenden Frequenzbereichs zur Nyquist-Frequenz ist. Auch steigt die Länge vieler von Algorithmen benötigter Filter stark an, je schmaler der Bereich zwischen
oberer Grenzfrequenz des Audiofrequenzbereiches und der Nyquist-Frequenz ist, da dieser Bereich in vielen Verfahren zum Filterentwurf als sog. don't care-Band verwendet wird.
Änderungen der Sampling-Frequenz können daher weitgehende Anpassungen der verwendeten Filter und sonstiger Parameter erfordern und somit auch die Performance und die Eignung spezieller Algorithmen maßgeblich beeinflussen.
Standardmäßig werden Systeme, die in professionellen Audiotechnik üblich sind, mit einer Abtastrate von 48 KHz betrieben. Daher wird diese Samplingfrequenz im Folgenden angenommen.
(d) Zielhardware. Obwohl die zu entwickelnden Algorithmen generell unabhängig von der verwendeten Hardware sind, ist eine Festlegung der Zielplattform aus verschiedenen Gründen sinnvoll :
(i) Die Architektur der verwendeten CPUs, z. B. die Unterstützung von Parallelarbeit, hat Einfluss auf das Design der Algorithmen.
(ii) Größe und Architektur des verwendeten Speichers beeinflussen Entwurfsentscheidungen beim Algorithmenentwurf.
(iii) Für die Festsetzung von Performanceforderungen sind Angaben über die Leistungsfähigkeit der Zielhard- wäre notwendig.
Da Systeme aktuell und in der absehbaren Zukunft zumeist auf PC-Technik basieren, werden folgende Eigenschaften angenommen:
• Aktuelle Desktop- oder Workstation-Standardkomponenten basierend auf x86-Technik,
• Keine Verwendung von Spezial-Hardware
• Prozessoren mit performanter Floating-Point- Funktionalität,
• Vergleichsweise großer Arbeitsspeicher und
• Typischerweise Unterstützung SIMD-Befehlssätzen (z. B. SSE) .
Die Algorithmik in der Audiosignalverarbeitung in der Wellenfeldsynthese kann in verschiedene Kategorien eingeteilt werden:
(1) Berechnung der WFS-Parameter. Durch Anwendung des WFS- Synthese-Operators werden für jede Kombination aus Quelle und Lautsprecher ein Skalierungs- und ein Delay-Wert bestimmt. Diese Berechnung erfolgt mit einer relativ geringen Frequenz. Zwischen diesen Stützstellen werden die Scale- und Delay-Werte mittels einfacher Verfahren interpoliert. Daher ist der Einfluss auf die Performance vergleichsweise gering.
(2) Filterung. Zur Umsetzung des WFS-Operators ist eine Filterung mit einem Tiefpassfilter mit 3 dB Flankensteilheit erforderlich. Zusätzlich kann eine Quell- und/oder lautsprecherabhängige Anpassung an die Wiedergabeverhältnisse erfolgen. Da die Filter-Operation jedoch jeweils nur einmal pro Eingangs- und/oder Ausgangssignal durchgeführt wird, ist der Performancebedarf im Allgemeinen moderat. Zusätzlich wird diese Operation in aktuellen WFS-Systemen auf dedizierten Recheneinheiten durchgeführt.
(3) WFS-Skalierung. Diese, oftmals eigentlich inkorrekt als WFS-Faltung bezeichnete, Operation beaufschlagt die in einer Verzögerungsleitung abgelegten Eingangssignale mit der vom Syntheseoperator berechneten Verzögerung und skaliert dieses Signal mit einer ebenfalls vom Syntheseopera-
tor berechneten Skalierung. Diese Operation wird für jede Kombination aus virtueller Quelle und Lautsprecher durchgeführt. Die Lautsprechersignale werden durch Summation aller skalierten Eingangsignale für den betreffenden Lautsprecher gebildet.
Da die WFS-Skalierung für jede Kombination aus virtueller Quelle und Lautsprecher sowie für jedes Audio-Sample durchgeführt wird, bildet sie selbst bei einer sehr geringen Komplexität der Einzel-Operation den Hauptanteil des Ressourcenbedarfs eines WFS-Systems .
Neben den bekannten Wiedergabefehlern (Artefakten) der WFS treten bei bewegten Quellen eine Reihe weiterer charakte- ristischer Fehler auf. Dabei können folgende Fehler identifiziert werden:
(A) Kammfiltereffekte (Spatial Aliasing) . Das aus der Wiedergabe statischer Quellen bekannte räumliche Aliasing erzeugt oberhalb der Aliasing-Frequenz ein von der Quellposition sowie der Frequenz abhängiges, von Überhöhungen und scharfen Einbrüchen geprägtes Interferenzmuster. Bei Bewegungen der virtuellen Quelle verändert sich dieses Muster dynamisch und erzeugt so für einen ruhenden Betrachter eine zeitabhängige Frequenzverzerrung.
(B) Nichtbeachtung der retardierten Zeit. Bei der Berechnung der WFS-Parameter wird die aktuelle Position der Quelle herangezogen. Für eine korrekte Wiedergabe ist jedoch die Position ausschlaggebend, von der der aktuell eintreffende Schall ausgesandt wurde. Dies erzeugt einen systematischen Fehler der Dopplerverschiebung, der jedoch bei moderaten Geschwindigkeiten recht gering ausfällt und in den meisten Anwendungen der WFS sehr wahrscheinlich nicht störend wahrgenommen wird.
(C) Doppler-Spreizung. Eine bewegte Quelle führt aufgrund der unterschiedlichen Relativgeschwindigkeiten zu verschie-
denen Dopplerfrequenzen in den von den sekundären Quellen abgestrahlten Signalen. Diese äußern sich am Hörort in einer Verbreiterung des Frequenzspektrums der virtuellen Quelle. Dieser Fehler kann nicht mit der WFS-Theorie er- klärt werden und ist Gegenstand aktueller Forschungen.
(D) Audio-Störungen durch Delay-Interpolation. Zur WFS- Skalierung werden beliebig verzögerte Eingangssignale benötigt, die aus den nur zu beliebigen Zeitpunkten vorlie- genden diskreten Samples berechnet werden. Die dazu verwendeten Algorithmen unterscheiden sich stark in ihrer Qualität und erzeugen oftmals Artefakte, die störend wahrgenommen werden.
Der natürliche Doppler-Effekt , also die Frequenzverschiebung einer bewegten Quelle, wird hier nicht als Artefakt eingestuft, da er eine Eigenschaft des primären Schallfeldes ist, welches von einem WFS-System wiedergegeben werden soll. Trotzdem ist dieser in verschiedenen Anwendungen unerwünscht.
Die Operation, den Wert eines zeitdiskret abgetasteten Signals zu beliebigen Zeitpunkten zu ermitteln, wird als Delay-Interpolation oder Fractional-Delay-Interpolation bezeichnet.
Dazu wurde eine große Zahl von Algorithmen entwickelt, die sich in Komplexität und Güte der Interpolation stark unterscheiden. Generell werden Fractional-Delay-Algorithmen als diskrete Filter implementiert, die als Eingang ein zeitdiskretes Signal und als Ausgang eine Approximation des verzögerten Signals besitzen.
Fractional-Delay-Interpolationsalgorithmen können nach verschiedenen Kriterien klassifiziert werden:
(I) Filterstruktur. FD-Filter (FD = fractional delay) können sowohl als FIR- als auch als IIR-Filter implemen-
tiert werden (FIR = finite impulse response, HR = infinite impulse response) .
FIR-Filter benötigen im Allgemeinen eine höhere Zahl von Filterkoeffizienten und damit auch von Rechenoperationen und erzeugen für beliebige fraktionale Delays auch stets Amplitudenfehler. Sie sind jedoch stets stabil und es existieren viele, darunter auch viele geschlossene, nicht iterative, Entwurfsverfahren.
IIR-Filter können als Allpass-Filter implementiert werden, die einen exakt konstanten und damit für FD-Filter optimalen Amplitudengang besitzen. Jedoch ist es nicht möglich, die Phase eines IIR-Filters so exakt zu beeinflussen wie im Falle eines FIR-Filters. Die meisten Design-Methoden für IIR-FD-Filter sind iterativ und dementsprechend nicht für Echtzeitanwendungen mit veränderlichen Delays geeignet. Die einzige Ausnahme bildet der Thiran-Filter, für den explizite Formeln für die Koeffizienten existieren. Bei der Imple- mentierung von IIR-Filtern ist es stets notwendig, den Wert der vorhergehenden Ausgänge zu speichern. Dies ist für eine Implementierung in einem WFS-Reproduktionssystem ungünstig, da eine Vielzahl früherer Ausgangssignale verwaltet werden müssten. Des Weiteren setzt eine Verwendung interner Zu- stände die Eignung von IIR-Filtern für veränderliche Delays herab, da der interne Zustand möglicherweise für ein anderes fraktionales Delay als das aktuelle berechnet wurde. Dies führt zu als Transienten bezeichneten Störungen des Ausgangssignals .
Aus diesen Gründen werden für den Einsatz in WFS- Reproduktionssystemen nur FIR-Filter untersucht.
(II) Feste und variable Fractional-Delays . FD-Filter sind, nachdem ihre Koeffizienten entworfen wurden, nur für einen bestimmten Verzögerungswert gültig. Für jeden neuen Wert muss der Entwurfsvorgang erneut durchgeführt werden. Abhängig von den Kosten dieses Entwurfsvorgangs sind Verfahren
mehr oder weniger gut für den Echtzeitbetrieb mit veränderlichen Delays geeignet.
Verfahren für variable fraktionale Delays (oft als Variable Fractional Delay Filters = VFD bezeichnet) kombinieren die Koeffizientenberechnung und die Filterberechnung und sind daher sehr gut für Echtzeit-Veränderungen des Verzögerungswertes geeignet. Sie sind eine Ausprägung variabler digitaler Filter.
(III) Asynchrone Abtastratenumsetzung. In der WFS werden kontinuierlich veränderliche Delays benötigt. Bei der Reproduktion einer sich linear zu eine Sekundärquelle bewegenden virtuellen Quelle ist die Verzögerung beispiels- weise eine lineare Funktion der Zeit. Diese Operation kann als asynchrone Samplingratenkonvertierung klassifiziert werden. Verfahren zur asynchronen Abtastratenumsetzung werden typischerweise auf Basis von variablen Fractional- Delay-Algorithmen implementiert. Zusätzlich weisen sie jedoch einige zusätzlich zu lösende Probleme auf, z. B. die Notwendigkeit der Unterdrückung von Imaging- und Aliasing- artefakten.
(IV) Wertebereich des Fractional-Delay-Parameters . Der Bereich des variablen Delay-Parameters dfrac ist abhängig vom verwendeten Verfahren und nicht zwingend der Bereich 0 < dfrac ≤ 1. So liegt er für die meisten FIR-Verfahren im Bereich N ~ < d < N "*".. , wobei N die Ordnung des Verfah- rens ist. Dadurch wird die Abweichung von einem linearpha- sigen Verhalten minimiert. Ein exakt linearphasiges Verhalten ist stets nur für spezielle Werte von dfrac möglich.
Durch eine Zerlegung des gewünschten Verzögerungswertes d in einen ganzzahligen Wert dint und einen fraktionalen Teil dfrac können mit einem Fractional-Delay-Filter beliebige
Verzögerungen erzeugt werden. Die Verzögerung um dint wird
dabei durch eine Indexverschiebung im Eingangssignal implementiert .
Die Einhaltung des idealen Operationsbereiches bedingt jedoch einen minimalen Wert des Delays, der zur Einhaltung der Kausalität nicht unterschritten werden darf. Damit bedingen Verfahren zur Delay-Interpolation, speziell hochwertige FD-Algorithmen mit großen Filterlängen, auch eine Vergrößerung der Systemlatenz . Diese übersteigt jedoch selbst bei extrem aufwändigen Verfahren nicht eine Größe- nordung von 20 ... 50 Samples. Diese ist jedoch im Allgemeinen gering im Vergleich zu anderen systembedingten Latenzen eines typischen WFS-Wiedergabesystems.
Die Notwendigkeit von Delay-Interpolationen ergibt sich auch aus den folgenden Überlegungen:
Bei der Synthese bewegter Schallquellen mittels WFS werden die Verzögerungen, mit denen die Audiosignale beaufschlagt werden, zeitvariant. Die Signalverarbeitung (Rendering) eines WFS-Wiedergabesystems erfolgt zeitdiskret, Quellsignale liegen also nur zu festgelegten Abtastzeitpunkten vor. Die Verzögerung eines zeitdiskreten Signals um ein Vielfaches der Abtastperiode ist effizient möglich und wird durch ein Verschieben des Signalindexes implementiert. Der Zugriff auf einen Wert eines zeitdiskreten Signals, der zwischen zwei Abtastpunkten liegt, wird als Delay- Interpolation bzw. als Fractional Delay bezeichnet. Dazu werden spezielle Algorithmen benötigt, die sich in Qualität und Performance stark unterscheiden. Einen Überblick über Fractional-Delay-Algorithmen liefert .
Bei der WFS bewegter Quellen ändern sich die benötigten Verzögerungszeiten dynamisch und können beliebige Werte annehmen. Für jedes Lautsprechersignal wird im Allgemeinen ein anderer Verzögerungswert benötigt. Die verwendeten Algorithmen müssen daher beliebige, veränderliche Delays unterstützen.
Während die Rundung der Verzögerung auf das nächstgelegene Vielfache der Abtastperiode bei statistischen WFS-Quellen hinreichend gute Ergebnisse liefert, führt diese Methode bei bewegten Quellen zu deutlichen Störungen.
Für die Wellenfeldsynthese wird für jede Kombination aus virtueller Quelle und Lautsprecher eine Delay-Interpolation notwendig. Verbunden mit der für eine gute Wieder- gabequalität notwendigen Komplexität der Delay- Interpolation ist eine Echtzeit-Implementierung in guter Qualität nicht praktikabel.
In Edwin Verheijen: „Sound repodiction by wav field synthe- sis", PhD thesis (Seiten 106-110), Delft University of Technology, 1997" wird die Notwendigkeit einer Delay- Interpolation für bewegte Quellen beschrieben. Zur Umsetzung der Algorithmen werden allerdings nur einfache (Standard-) Delay-Interpolationsverfahren verwendet.
In Marije Baalman, Simon Schampijer, Torben Hohn, Thilo Koch, Daniel Plewe und Eddie Mond: „ Creating a large scale wave field synthesis System with swonder", in Procc. of the 5th International Linux Audio Conference, Berlin, Germany, March 1997 wird auf die Notwendigkeit einer Abtastratenumsetzung bei bewegten virtuellen Quellen hingewiesen. Es wird ein Algorithmus auf Basis des Algorithmus von Bresen- ham skizziert. Dabei handelt es sich jedoch um einen auf Integer-Rechnung basierenden Algorithmus der graphischen Datenverarbeitung zur Darstellung von Linien auf gerasterten Wiedergabegeräten. Daher ist davon auszugehen, dass es sich nicht um eine echte, interpolierende Abtastratenumsetzung, sondern um eine Rundung der Stützstellen auf den nächstgelegenen ganzzahligen Sample-Index handelt.
In WFS-Renderer sind verschiedene einfache Verfahren zur Delay-Interpolation implementiert. Durch die verwendete Klassenhierarchie können die Verfahren einfach ausgetauscht
werden. Neben der Delay-Interpolation hat auch die zeitliche Interpolation der WFS-Parameter Delay (und auch Scale) Einfluss auf die Güte der Abtastratenumsetzung. In der herkömmlichen Renderer-Struktur werden diese Parameter nur in einem festen Raster aktualisiert (aktuell im Takt von 32 Audio-Samples) .
Folgende Algorithmen sind implementiert:
- IntegerDelay . Dies ist der ursprüngliche Algorithmus. Er unterstützt keine Delay-Interpolation, d. h. Verzögerungswerte werden auf das nächstgelegene Vielfache der Abtastperiode gerundet. Das Update der Verzögerungs- und Skalierungsparameter erfolgt in einem Raster von aktuell 32 Samples. Dieser Algorithmus ist in einer optimierten Assembler-Variante implementiert und für das Echtzeit-Rende- ring kompletter WFS-Szenen geeignet. Trotzdem beansprucht diese Operation den Hauptteil der im Renderer benötigten Rechenlast .
- BufferwiseDelayLinear . Die WFS-Parameter werden in einem groben Raster angepasst (Notation: bufferwise) , die verzögerten Signale selbst werden mit einer Delay-Interpolation auf Basis einer linearen Interpolation berechnet. Die Implementierung erfolgt mit Assembler-Unterstützung und ist von der Performance für den Einsatz mit kompletten WFS- Szenen geeignet. Dieser Algorithmus wird derzeit als De- fault-Einstellung verwendet.
- SamplewiseDelayLinear . Bei diesem Verfahren werden Ska- lierungs- und Verzögerungswerte für jedes Sample interpoliert (Notation: samplewise) . Die Delay-Interpolation erfolgt wieder durch lineare Interpolation (d. h. Lagrange- Interpolation 1. Ordnung). Dieses Verfahren ist deutlich aufwändiger als die vorherigen und liegt zusätzlich nur in einer C++-Referenzimplementation vor. Daher ist es nicht für den Einsatz mit realen, komplexen WFS-Szenen geeignet.
- SamplewiseDelayCubic. Auch hier werden Scale und Delay sample-genau interpoliert. Die Delay-Interpolation erfolgt mit einem Lagrange-Interpolator dritter Ordnung (d. h. kubisch) . Auch dieses Verfahren liegt nur als Referenzimple- mentation vor und ist ausschließlich für kleine Quellanzahlen geeignet.
Ausgehend von diesem Stand der Technik liegt der vorliegenden Erfindung die Aufgabe zugrunde, eine Vorrichtung und ein Verfahren zu schaffen, das für ein Wellenfeldsynthese- system Komponentensignale mit deutlich höherer Genauigkeit ermittelt .
Diese Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1 und ein Verfahren gemäß Anspruch 17 oder Anspruch 18 gelöst.
Der Kerngedanke der vorliegenden Erfindung besteht darin, dass ein Komponentensignal in höherer Qualität dadurch erreicht werden kann, dass zunächst das Audiosignal, welches zu einer virtuellen Quelle gehört, einer Vorverarbeitung unterzogen wird, wobei die Vorverarbeitung unabhängig von dem WFS-Parameter ist, so dass eine bessere Interpolation erreicht wird. Das Komponentensignal weist damit eine höhere Genauigkeit auf, wobei das Komponentensignal die von einer virtuellen Quelle erzeugte Komponente für einen Lautsprechersignals darstellt. Ferner umfasst die vorliegende Erfindung eine verbesserte Interpolation der WFS- Parameter wie beispielsweise Verzögerungs- (delay-) oder Skalierungswerte, die mit einer geringen Parameterabtastfrequenz ermittelt werden.
Somit schaffen Ausführungsbeispiele der vorliegenden Erfindung eine Vorrichtung zur Ermittlung eines Komponentensig- nals für ein WFS-System mit einem Array von Lautsprechern, wobei das WFS-System ausgebildet ist, um ein einer virtuellen Quelle zugeordnetes Audiosignal, das als ein mit einer Audioabtastfrequenz abgetastetes diskretes Signal vorliegt,
sowie der virtuellen Quelle zugeordneten Quellenpositionen zu nutzen, um unter Berücksichtigung von Lautsprecherpositionen Komponentensignale für die Lautsprecher aufgrund der virtuellen Quelle zu berechnen. Die erfindungsgemäße Vor- richtung umfasst dabei eine Einrichtung zum Liefern von WFS-Parameter für ein Komponentensignal unter Verwendung einer Quellenposition und unter Verwendung der Lautsprecherposition, wobei die Parameter mit einer Parameterabtastfrequenz, die kleiner ist als die Audioabtastfrequenz, ermittelt werden. Die Vorrichtung umfasst ferner einen WFS- Parameter-Interpolator zum Interpolieren der WFS-Parameter um einen interpolierten WFS-Parameter zu erzeugen, die mit einer Parameter-Interpolationsfrequenz vorliegen, die größer ist als Parameter-Abtastfrequenz, wobei die interpo- lierten WFS-Parameter interpolierte Bruchteile aufweisen, die eine höhere Genauigkeit haben als durch die Audio- Abtastfrequenz vorgegeben ist. Die Vorrichtung umfasst schließlich eine Audiosignalverarbeitungseinrichtung, die ausgebildet ist, um die interpolierten Bruchteilwerte auf das Audiosignal anzuwenden und zwar derart, dass das Komponentensignal mit der höheren Genauigkeit verarbeitet erhalten wird.
Die Idee der Problemlösung basiert somit darauf, dass die Komplexität des Gesamt-Algorithmus durch die Ausnutzung von Redundanz verringert wird. Dabei wird der Delay- Interpolationsalgorithmus so partitioniert, dass er in a) einen Teil zur Berechnung von Zwischenwerten und b) einen effizienten Algorithmus zur Berechnung der endgültigen Ergebnisse unterteilt wird.
Die Struktur eines WFS-Wiedergabesystems wird wie folgt ausgenutzt: Für jede primäre Quelle werden mittels Delay- Interpolation Ausgangssignale für alle Lautsprecher berech- net. Damit erfolgt die Vorverarbeitung pro primärer Quelle. Es ist sicherzustellen, dass diese Vorverarbeitung unabhängig vom tatsächlichen Delay ist. In diesem Fall können die
einmal vorverarbeiteten Daten für alle Lautsprechersignale verwendet werden.
Ausführungsbeispiele, die dieses Prinzips umsetzen, können beispielsweise mittels zwei Verfahren beschrieben werden.
(i) Verfahren 1: eine Kombination einer Überabtastung mit einer Delay-Interpolation geringerer Ordnung auszuführen.
Bei diesem Verfahren werden vor der Speicherung der Eingangssignale in eine Verzögerungsleitung die Eingangssignale durch Überabtastung auf eine höhere Samplerate konvertiert. Dies erfolgt effizient z. B. durch Polyphasen- Verfahren. Die entsprechend größere Zahl „hochgesampelter" Werte wird in der Verzögerungsleitung gespeichert.
Zur Generierung der Ausgangssignale wird das gewünschte Delay mit dem Überabtast-Verhältnis multipliziert. Dieser Wert wird für den Zugriff auf die Verzögerungsleitung verwendet. Aus den Werten der Verzögerungsleitung wird das endgültige Ergebnis durch einen Interpolations-Algorithmus geringer Ordnung (z. B. Polynom-Interpolation) bestimmt. Der Algorithmus wird mit der geringen, ursprünglichen Taktrate des Systems ausgeführt.
Die Kombination einer Überabtastung mit einer Polynominterpolation für eine einzelne Delay-Interpolations-Operation ist für die Anwendung in der WFS neu. Durch die mehrfache Verwendung der durch die Überabtastung erzeugten Signale kann damit in der WFS eine deutliche Performancesteigerung realisiert werden.
(ii) Verfahren 2: Verwendung einer Farrow-Struktur zur Interpolation.
Die Farrow-Struktur ist ein variabler digitaler Filter für kontinuierlich veränderliche variable Delays. Er besteht aus einer Menge von P Subfiltern. Das Eingangssignal wird
durch jedes dieser Subfilter gefiltert und liefert P verschiedene Ausgänge cP Ausgangssignal ergibt sich durch Auswertung eines Polynoms in d, wobei d der fraktionale Anteil der gewünschten Verzögerung ist und die Ausgänge der Subfilter, cP, die Koeffizienten des Polynoms bilden.
Der vorgeschlagene Algorithmus generiert als Vorverarbeitung die Ausgänge der Subfilter für jedes Sample des Eingangssignals. Diese P Werte werden in die Verzögerungs- leitung geschrieben. Die Generierung der Ausgangssignale erfolgt durch den Zugriff auf die P Werte in der Verzögerungsleitung und der Auswertung des Polynoms. Diese effiziente Operation erfolgt für jeden Lautsprecher.
Die Audiosignalverarbeitungseinrichtung ist bei diesen Ausführungsbeispielen derart ausgebildet, die Verfahren (i) und/oder (ii) auszuführen.
Bei einem weiteren Ausführungsbeispiel ist die Audiosignal- Verarbeitungseinrichtung ausgebildet, eine Überabtastung des Audiosignals derart durchzuführen, dass die Überabtastung bis zu einer Überabtastrate durchgeführt wird, die eine gewünschte Genauigkeit sicherstellt. Das hat den Vorteil, dass der zweite Interpolationsschritt dadurch redundant wird.
Ausführungsbeispiele der vorliegenden Erfindung beschreiben eine WFS-Delay-Interpolation, die insbesondere vorteilhaft für Audiotechnik und Tontechnik im Rahmen der Wellenfeld- synthese ist, da eine deutlich verbesserte Unterdrückung von hörbaren Artefakten erreicht wird. Die Verbesserung wird dabei insbesondere durch eine verbesserte Delay- Interpolation, bei der Verwendung von fraktionalen Delays und asynchroner Samplingratenkonvertierung erreicht. Es handelt sich somit
Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
Fig. 1 eine schematische Darstellung einer Vorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
Fig. 2 einen Frequenzgang für einen Lagrange- Interpolator dritter Ordnung;
Fig. 3 eine kontinuierliche Impulsantwort für einen Lagrange-Interpolator siebenter Ordnung;
Fig. 4 ein Worst-Case-Amplitudengang für Lagrange- Interpolatoren unterschiedlicher Ordnung;
Fig. 5 ein WFS-Renderer mit einer WFS-
Signalverarbeitung;
Fig. 6a Darstellungen für Amplituden und Delay-Interpola- bis 6c tionen;
Fig. 7 eine Delay-Interpolation mittels Überabtastung und simultanem Auslesen als Lagrange-
Interpolation;
Fig. 8 eine Spezifikation des Anti-Imaging-Filters für Überabtastung, Übergangsband nur für Baseband spezifiziert;
Fig. 9 eine Spezifikation des Anti-Imaging-Filters für Überabtastung und eine so genannte „Don' t-Care"- Region auch für Images des Übergangsbandes;
Fig. 10 eine Delay-Interpolation mit simultanem Auslesen auf Basis der Farrow-Struktur und
Fig. 11 ein prinzipielles Blockschaltbild eines Wellen- feldsynthesesystems mit Wellenfeldsynthesemodul und Lautsprecherarray in einem Vorführbereich.
Bezüglich der nachfolgenden Beschreibung sollte beachtet werden, dass bei den unterschiedlichen Ausführungsbeispielen gleiche oder gleich wirkende Funktionselemente gleiche Bezugszeichen aufweisen und somit die Beschreibung dieser Funktionselemente in den verschiedenen, in den nachfolgend dargestellten Äusführungsbeispielen untereinander austauschbar sind.
Bevor detailliert auf die vorliegende Erfindung eingegangen wird, wird nachfolgend anhand von Fig. 11 der prinzipielle Aufbau eines Wellenfeldsynthesesystems dargestellt. Das Wellenfeldsynthesesystem hat ein Lautsprecherarray 700, das bezüglich eines Vorführbereichs 702 platziert ist. Im Einzelnen umfasst das in Fig. 11 gezeigte Lautsprecherarray, das ein 360°-Array ist, vier Arrayseiten 700a, 700b, 700c und 70Od. Ist der Vorführbereich 702 z. B. ein Kinosaal, so wird bezüglich der Konventionen vorne/hinten oder rechts/links davon ausgegangen, dass sich die Kinoleinwand auf derselben Seite des Vorführbereichs 702 befindet, an der auch das Teil-Array 700c angeordnet ist. In diesem Fall würde der Betrachter, der an dem hier so genannten Optimal- Punkt P in dem Vorführbereich 702 sitzt, nach vorne, also auf die Leinwand, sehen. Hinter dem Zuschauer würde sich dann das Teil-Array 700a befinden, während sich links vom Zuschauer das Teil-Array 70Od befinden würde, und während sich rechts vom Zuschauer das Teil-Array 700b befinden würde. Jedes Lautsprecherarray besteht aus einer Anzahl von verschiedenen Einzellautsprechern 708, die jeweils mit eigenen Lautsprechersignalen angesteuert werden, die von einem Wellenfeldsynthesemodul 710 über einen in Fig. 11 lediglich schematisch gezeigten Datenbus 712 bereitgestellt werden. Das Wellenfeldsynthesemodul ist ausgebildet, um unter Verwendung der Informationen über z. B. Art und Lage der Lautsprecher bezüglich des Vorführbereichs 702, also
von Lautsprecher-Informationen (LS-Infos), und gegebenenfalls mit sonstigen Daten Lautsprechersignale für die einzelnen Lautsprecher 708 zu berechnen, die jeweils von den Audiodaten für virtuelle Quellen, denen ferner Positi- onsinformationen zugeordnet sind, gemäß den bekannten Wellenfeldsynthesealgorithmen abgeleitet werden. Das WeI- lenfeldsynthesemodul kann ferner noch weitere Eingaben erhalten, wie beispielsweise Informationen über die Raumakustik des Vorführbereichs etc. aufweisen.
Fig. 1 zeigt eine Vorrichtung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Die zu einer virtuellen Quelle gehörende Quellenposition 135 und die Lautsprecherpositionen 145 werden in einer Einrichtung zum Liefern von WFS-Parametern 150 eingegeben. Die Einrichtung zum Liefern von WFS-Parametern 150 kann optional einen weiteren Eingang aufweisen, wo sonstige Daten 190 eingelesen werden können. Die sonstigen Daten 190 können beispielsweise die Raumakustik und andere Szenedaten umfassen. Die Einrichtung zum Liefern 150 ermittelt daraus mit einer Parameterabtastfrequenz die WFS-Parameter 155, die in dem WFS-Parameter- Interpolator 160 eingelesen werden. Nach erfolgter Interpolation werden die interpolierten WFS-Parameter für die Audiosignalverarbeitungseinrichtung 170 bereitgestellt. Die Audiosignalverarbeitungseinrichtung 170 weist ferner einen Eingang für ein Audiosignal 125 auf und einen Ausgang für Komponentensignale 115. Jede virtuelle Quelle liefert ein eigenes Audiosignal, das zu Komponentensignale für die verschiedenen Lautsprecher verarbeitet wird.
Fig. 2 zeigt ein WFS-System 200 mit einer WFS- Signalverarbeitung 210 und einer WFS-Parameterberechnung 220. Die WFS-Parameterberechnung 220 weist einen Eingang auf für Szenedaten 225, die sich beispielsweise auf N Quellsignale beziehen. Unter der Annahme, dass N Signalquellen (virtuelle Quellen) und M Lautsprecher für das WFS- System zur Verfügung stehen, berechnet die WFS- Parameterberechnung 220 NxM-Parameterwerte (Skalen- und
Verzögerungswerte) . Diese Parameter werden an die WFS- Signalverarbeitung 210 ausgegeben. Die WFS- Signalverarbeitung 210 weist eine WFS-Verzögerungs- und Skalierungseinrichtung 212, eine Einrichtung zum Summieren 214 und eine Verzögerungsleitung 216 auf. Die Verzögerungsleitung 216 ist allgemein als eine Einrichtung zum Zwischenspeichern ausgebildet und kann beispielsweise durch einen Ringpuffer gegeben sein.
Die NxM-Parameter werden von der WPS-Verzögerungs- und Skalierungseinrichtung 212 eingelesen. Die WFS- Verzögerungs- und Skalierungseinrichtung 212 liest ferner aus der Verzögerungsleitung 216 die Audiosignale. Die Audiosignale in der Verzögerungsleitung 216 weisen dabei einen Index auf, der entsprechend einer bestimmten Verzögerung entspricht und auf dem mittels eines Zeigers 217 zugegriffen wird, so dass die WFS-Verzögerungs- und Skalierungseinrichtung 212 durch einen Zugriff auf ein Audiosignal mit einem bestimmten Index, eine Verzögerung für das entsprechende Audiosignal wählen kann. Der Index dient somit gleichzeitig als Adresse oder Adressierung der entsprechenden Daten in der Verzögerungsleitung 216.
Die Verzögerungsleitung 216 erhält von den N-Quellsignalen Audio-Eingangsdaten, die gemäß ihrer zeitlichen Abfolge in der Verzögerungsleitung 216 gespeichert werden. Durch einen entsprechenden Zugriff auf einen Index der Verzögerungsleitung 216 kann somit die WFS-Verzögerungs- und Skalierungseinheit 212 Audiosignale auslesen, die einen gewünschten (berechneten) Verzögerungswert (Index) aufweisen. Ferner gibt die WFS-Verzögerungs- und Skalierungseinrichtung 212 entsprechende Komponentensignale 115 an die Einrichtung zum Summieren 214 aus, und die Einrichtung zum Summieren 214 summiert die Komponentensignale 115 der entsprechenden N virtuellen Quellen, um daraus Lautsprechersignale für die M-Lautsprecher zu generieren. Die Lautsprechersignale werden an einem Soundausgang 240 bereitgestellt.
Ausführungsbeispiele beziehen sich somit auf eine Audio- Signalverarbeitung eines WFS-Renderingsystems 200. Dieses Renderingsystem enthält als Eingangsdaten die Audiosignale der WFS-Quellen (virtuelle Quellen) , wobei die Indexvariab- Ie n die Quellen durchzählt und N die Anzahl der Quellen darstellt. Typischerweise kominen diese Daten von anderen Systemkomponenten wie beispielsweise Audio-Zuspieler eventuell Vorfilter, etc. Als weiterer Eingangsparameter werden vom Block WFS-Parameterberechnung 220 Amplituden- (Skalie- rungs-) und Verzögerungswerte (Deiaywerte) für jede Kombination aus Quelle und Lautsprecher geliefert (Indexvariable: m, Anzahl: M). Dies erfolgt in der Regel als Matrix, die entsprechende Werte für die Quellen n und Lautsprecher m werden im Folgenden delay(n,m) und scale(n.m) benannt.
Die Audiosignale werden zunächst in der Verzögerungsleitung 216 abgelegt, um einen späteren, wahlfreien Zugriff (d. h. mit variablen Verzögerungswerten) zu ermöglichen.
Kernkomponente der Ausführungsbeispiele ist der Block „WFS- Verzögerung und Skalierung" 212. Dieser wird teilweise auch als WFS-Faltung oder WFS-Konvolution bezeichnet, allerdings handelt es sich nicht um eine echte Faltung im Sinne der Signalverarbeitung und daher wird der Begriff in der Regel vermieden. Hier wird für jede Kombination (n, m) aus Quelle und Lautsprecher ein Ausgangssignal (Komponentensignal 115) erzeugt.
Dabei wird für das Signal y(n, m) ein delay(n,m) verzöger- ter Wert aus der Verzögerungsleitung 216 für Quelle n ausgelesen. Dieser Wert wird mit der Amplitude scale(n,m) multipliziert.
Abschließend werden die Signale y(n, m) aller Quellen n = 1, ... , N lautsprecherweise addiert und bilden so das Ansteuersignal für jeden Lautsprecher y(m):
Y(m) = y(l, m) + y(2, m) + ... + y(N, m) .
Diese Berechnung erfolgt für jedes Sampel der Lautsprechersignale.
Für eine stationäre Quelle ist das erfindungsgemäße Verfahren bzw. die erfindungsgemäße Vorrichtung in der Praxis von geringer Bedeutung. Zwar weicht das synthetisierte Wellenfeld bei einer Rundung der Delay-Werte von theoretisch definierten Idealfall ab, jedoch sind diese Abweichungen sehr gering und werden durch andere in der Praxis auftretende Abweichungen wie beispielsweise ein raumartiges (spatial) Aliasing vollständig überdeckt. Für die praktische Echtzeitimplementierung ist es jedoch wenig sinnvoll zwischen aktuell nicht bewegten und bewegten Quellen zu unterscheiden. Es sollte immer mit dem Algorithmus für den generellen Fall, d. h. für bewegte Quellen gerechnet werden.
Der Algorithmus ist insbesondere für bewegte Quellen inte- ressant, jedoch treten Fehler nicht nur dann auf, wenn Samples „verschluckt" oder doppelt verwendet werden. Vielmehr erzeugt die Approximation abgetasteter Signale an beliebigen Stützstellen immer Fehler. Die Verfahren zur Approximation zwischen Stützstellen werden auch als Fracti- onal-Delay-Interpolation bezeichnet.
Diese machen sich unter anderem in Frequenz- und Phasenfehlern des Ausgangssignals bemerkbar. Sind diese Fehler zeitvariant (wie im Falle bewegter Quellen) treten ver- schiedene (oftmals deutlich hörbare) Effekte auf, wie sie sich z. B. im Frequenzbereich als Amplituden- und Frequenzmodulationen und dadurch verursachte recht komplexe Fehlerspektren äußern.
Solche Fehler treten auch bei der Verwendung von Interpolationsverfahren auf - entscheidend ist hier die Qualität des verwendeten Verfahrens, die in der Regel jedoch mit entsprechendem Rechnungsaufwand verbunden ist.
Eine Möglichkeit bietet das richtige Weglassen und Einfügen von Samples, die jedoch nicht notwendigerweise das qualitätsmäßig bessere Resultat liefert.
Kernpunkt der vorliegenden Erfindung ist es, durch eine entsprechende Strukturierung der WFS-Signalverarbeitung den Einsatz qualitativ sehr hochwertiger Delay- Interpolationsverfahren zu ermöglichen, dabei jedoch den Berechnungsaufwand vergleichsweise gering zu halten.
Bei Ausführungsbeispielen der vorliegenden Erfindung kommt es nicht spezifisch darauf an, auf die Bewegung von Quellen zu reagieren und zu versuchen, in diesem Falle Fehler durch entsprechend erzeugte Samples zu vermeiden. Die Signalverarbeitung braucht keine Information über Quellpositionen, sondern ausschließlich Delay- und Amplitudenwerte (die im Falle einer bewegten Quelle zeitvariant sind) . Die beschriebenen Fehler entstehen durch die Art und Weise, wie diese Verzögerungswerte durch die Funktionseinheit WFS- Verzögerung und -Skalierung 212 auf die Audiosignale angewendet werden (primär: welches Verfahren zur Delay- Interpolation verwendet wird) . An dieser Stelle setzt die vorliegende Erfindung an, um hier die Fehler durch den Einsatz hochwertiger Verfahren zur Delay-Interpolation zu verringern.
Wie oben beschrieben, ist es für ein hochwertiges Komponentensignal wichtig, ein qualitativ hochwertiges Delay- Interpolationsverfahren zu nutzen. Zur Bewertung kann ein informeller Hörtest vorgenommen werden, mit dem der Ein- fluss der Delay-Interpolation auf die Wiedergabegüte in einem Reproduktionssystem einschätzbar ist.
Die Wiedergabe kann mit dem aktuellen WFS-Echtzeit- Rendering-System erfolgen, dabei kommen verschiedene Verfahren zur Delay-Interpolation zum Einsatz. Es werden die
beschriebenen Algorithmen zur Delay-Interpolation eingesetzt.
Als Szenen werden einzelne bewegte Quellen untersucht, die geometrisch einfache, vorberechnete Bewegungsbahnen ausführen. Dazu wird die aktuelle Authoring- und Wiedergabeapplikation des Wiedergabesystems als Szenenzuspieler eingesetzt. Zusätzlich wird ein angepasster Renderer verwendet, der fest einprogrammierte Bewegungsbahnen ohne externen Szenenzuspieler erzeugt, um so den Einfluss des Szenenzuspielers und der Übertragungseigenschaften des Netzwerks auf die Güte zu bewerten.
Als Quellsignale kommen einfache, vorrangig tonale Signale zum Einsatz, da bei diesen eine verstärkte Wahrnehmbarkeit von Delay-Interpolations-Artefakten vermutet wird. Es werden sowohl Signale unterhalb als auch oberhalb der räumlichen Aliasing-Frequenz des Systems eingesetzt, um die
Wahrnehmbarkeit sowohl ohne Einfluss des Aliasing als auch die Beeinflussung der Delay-Interpolationsartefakte und der
Aliasing-Störungen untereinander zu bewerten.
Es werden folgende Bewegungsbahnen untersucht:
1. Kreisförmige Bewegung einer Punktquelle um das Array herum. Der Radius wird so gewählt, dass die Quelle sich stets in einem ausreichendem Abstand außerhalb des Arrays befindet, um zusätzliche Fehler z. B. durch ein Umschaltung auf den Panning-Algorithmus oder durch einen Wechsel der Amplitudenberechnung zuvermeiden. Das ddd-Flag wird zur Erhöhung der Delay- Änderungsraten aktiviert.
2. Kreisförmige Bewegung einer ebenen Welle um das Array herum. Die Normalenrichtung zeigt stets in Richtung des Array-Mittelpunktes. Die anderen Randbedingungen werden analog zum vorherigen Versuch gewählt.
3. Wiederholte, lineare Bewegung einer Punktquelle auf eine Array-Front zu und wieder zurück. Die Umkehrung der Bewegungsrichtung erfolgt zur Vermeidung impulsartiger Störungen nicht abrupt, sondern durch einen (z. B. linearen) Beschleunigungsvorgang, bis die Quelle mit dem Erreichen der Sollgeschwindigkeit wieder zu einer gleichförmigen Bewegung übergeht. Das ddl-Flag sollte deaktiviert werden, um Beeinflussungen durch Amplitudenänderungen zu verhindern.
4. Lineare Bewegung einer ebenen Welle mit Normalenrichtung zum Array-Zentrum. Die Bewegung des Referenzpunktes der ebenen Welle erfolgt dabei wie im vorhergehenden Versuch. Das ddd-Flag ist aktiviert. Der Zweck dieses Versuches liegt darin, die Wiedergabefehler der Delay-Interpolation weitestgehend von den anderen Artefakten bewegter Quellen zu isolieren: Der Referenzpunkt einer ebenen Quelle dient nur dazu, eine zeitliche Basis für das Quellsignal zu schaffen. Eine Verschiebung erzeugt so eine einheitliche Abtastratenumsetzung für alle Sekundärquellsignale. Die anderen Parameter der Wiedergabe (Skalierungen der Lautsprechergewichte, Dopplerverschiebungen der Sekundärquellen, Ausprägung des Aliasing-Interferenzmusters) bleiben von der Ver- Schiebung unberührt.
Die wahrgenommene Qualität wird informal und subjektiv von einigen Testpersonen bewertet.
Damit sollen folgende Fragen beantwortet werden:
• Welchen Einfluss haben Delay-Interpolationsalgorithmen auf die wahrgenommene Qualität der WFS-Wiedergabe?
• Welche charakteristischen Störungen können auf die Delay-Interpolation zurückgeführt werden und unter welchen Bedingungen sind diese besonders deutlich?
• Ab welcher Qualität der Delay-Interpolation sind keine Verbesserungen mehr wahrnehmbar?
Im Folgenden sollen verschiedene Maße für die Bewertung der Qualität von Fractional-Delay-Algorithmen vorgestellt werden.
Diese Maße sollen bezüglich ihrer Verwendbarkeit, weiterentwickelt und durch neue Verfahren ergänzt werden. Sie dienen sowohl zur Beurteilung der Güte von Algorithmen als auch zur Spezifikation von Gütekriterien, die z. B. als Zielvorgaben .für Entwurfs- und Optimierungsverfahren verwendet werden.
Die für ein bestimmtes fraktionales Delay entworfenen FD- Filter können mit Hilfe gebräuchlicher Verfahren zur Analyse diskreter Systeme untersucht werden. Dabei werden Bewertungsmaße wie komplexer Frequenzgang, Amplitudengang, Phasengang, Phasenlaufzeit (phase delay) und Gruppenlauf- zeit (group delay) .
Das ideale Fractional-Delay-Element hat einen konstanten Amplitudengang mit Verstärkung 1, eine lineare Phase sowie konstante Phasen- bzw. Gruppenlaufzeiten, die der gewünsch- ten Verzögerung entsprechen. Die entsprechenden Maße müssen für verschiedene Werte von d evaluiert werden.
Fig. 3 zeigt exemplarisch den Amplitudengang sowie die Phasenverzögerung eines Lagrange-Interpolators dritter Ordnung für verschiedene Delay-Werte d. Fig. 3a stellt eine Abhängigkeit der Amplitude von der normierten Frequenz und Fig. 3b eine Abhängigkeit der Phasenlaufzeit von der normierten Frequenz dar. In den Figuren 3a, 3b sind jeweils verschiedene Graphen für verschiedene Werte von d gezeigt. Fig. 3a zeigt beispielhaft die Werte für d = 0; 0,1; 0,2; .... ; 0,5. Fig. 3b zeigt beispielhaft die Werte für d = 0; 0,1; 0,2; ; 1.
Die Bewertung mittels Frequenzgängen ist nur für zeitinvariante Systeme sinnvoll und daher für zeitabhängige Änderungen des Fractional-Delay-Parameters nicht anwendbar. Um die Auswirkungen dieser Änderungen auf das interpolierte Signal zu untersuchen, können Maße für den Unterschied zwischen ideal und real interpoliertem Signal, wie der Signal-zu-Rausch-Abstand (SNR) oder das THD+N- (total harmonic distortion + noise) Maß verwendet werden. Zur Bewertung der Delay-Interpolationsalgorithmen wird das THD+M-Maß herangezogen. Zur Ermittlung des THD+N wird ein Testsignal (in der Regel eine Sinusschwingung) mit einem definierten Delay-Verlauf interpoliert und das Ergebnis mit dem analytisch erzeugten, erwarteten Ausgangssignal verglichen. Als Delay-Verlauf wird in der Regel eine lineare Änderung verwendet.
Die subjektive Bewertung kann sowohl am Einzelkanal als auch im WFS-Setup erfolgen. Dabei werden ähnliche Bedingungen wie bei dem oben skizziertem informellem Hörtest ange- wendet.
Zusätzlich kann die Verwendung objektiver Messverfahren zur Bewertung der wahrgenommenen Signale, speziell das PEAQ- Verfahren (PEAQ = JPerceptual Evaluation of Audio Quality) , in Betracht gezogen werden. Dabei können recht gute Übereinstimmungen mit der subjektiv ermittelten Wahrnehmungsqualität und mit objektiven Qualitätsmaßen festgestellt werden. Trotzdem sind die Ergebnisse auch weiterer Untersuchungen kritisch zu werten, da z. B. der PEAQ-Test für andere Einsatzgebiete (Audiocodierung) entworfen und para- metrisiert wurde.
Fig. 4 zeigt ein Beispiel für eine solche aus einem diskreten, variablen FD-Filter erzeugte kontinuierliche Impuls- antwort. Im Detail ist eine kontinuierliche Impulsantwort für eine Lagrange-Interpolator 7. Ordnung gezeigt, wobei die Amplitude des Signals in Abhängigkeit von der Zeit mit den Stützstellen t = 0, ±1, ±2, ±3, ±4 ermittelt werden.
Die Zeit ist dabei derart normiert, dass ein Maximum (Stützstellen des Impulses) bei t = 0 ist. Für kleiner und größer werdende t-Werte strebt die Amplitude schnell gegen null.
Die kontinuierliche Impulsantwort eines kontinuierlichen variablen Fractional-Delay-Filters kann zur Beschreibung des Verhaltens einer solchen Struktur herangezogen werden. Diese kontinuierliche Beschreibungsform kann erzeugt wer- den, indem die diskreten Impuisantworten für viele Werte von d bestimmt und zu einer (quasi-) kontinuierlichen Impulsantwort verbunden werden. Mit Hilfe dieser Beschreibungsform werden unter anderem das Verhalten von FD-Filtern bei der Verwendung zur asynchronen Abtastratenumsetzung, also z. B. die Unterdrückung von Aliasing- und Imaging- Komponenten untersucht.
Aus dieser Beschreibung können Qualitätsmaße für variable Delay-Interpolationsalgorithmen abgeleitet werden. Darauf aufbauend kann geprüft werden, ob die Qualität eines solchen variablen Filters durch die gezielte Einflussnahme auf die Eigenschaften der kontinuierlichen Impulsantwort beein- flusst werden kann.
Um qualitativ hochwertige Komponentensignale bereitstellen zu können, sind eine Reihe von Anforderungen an den Algorithmus zur Delay-Interpolation zu stellen.
Im Folgenden werden einige Anforderungen an geeignete Verfahren definiert.
• Es soll sich eine über den gesamten Audio- Reproduktionsbereich gute Qualität der Interpolation erzielt werden. Es sind sowohl Algorith- men und Parametrisierungen gewählt, die sich am menschlichen Hörvermögen orientieren als auch solche, deren Fehler aufgrund anderer Fehler im WFS- Übertragungssystem nicht mehr wahrnehmbar sind.
• Es sollen beliebige Werte des fraktionalen Delays und beliebige Änderungsraten (im Rahmen der festgelegten maximalen Quellgeschwindigkeiten) möglich sein.
• Stetige Änderungen des fraktionalen Delays dürfen nicht zu Störungen (Transienten) führen.
• Die Verfahren müssen sich modular in der Renderer- Einheit implementieren lassen.
• Die Verfahren müssen so effizient implementierbar sein, dass (zumindest perspektivisch) eine Echtzeitausführung kompletter WFS-Szenen mit ökonomisch ver- tretbarem Aufwand an Hardware realisierbar ist.
Wie oben ausgeführt, resultiert die bei der Wiedergabe bewegter Quellen notwendige Änderung der Verzögerungszeiten in einer asynchronen Abtastratenumsetzung der Audiosignale. Die Unterdrückung der dabei auftretenden Aliasing- und Imaging-Effekte ist das größte zu lösende Problem bei der Umsetzung einer Abtastratenumsetzung. Für die Anwendung in der WFS kommt der große Bereich, in dem sich der Umsetzungsfaktor bewegen kann, erschwerend hinzu. Daher sind die Verfahren bezüglich ihrer Eigenschaften zur Unterdrückung solcher ins Basisband gespiegelter Frequenzen zu untersuchen. Es ist zu analysieren, wie die Fractional-Delay- Algorithmen bezüglich ihrer Unterdrückung von Alias- und Image-Komponenten untersucht werden können. Darauf aufbau- end sind die zu entwerfenden Algorithmen anzupassen.
Für die Wellenfeldsynthese wird für jede Kombination aus virtueller Quelle und Lautsprecher eine Delay-Interpolation notwendig. Verbunden mit der für eine gute Wieder- gabequalität notwendigen Komplexität der Delay- Interpolation ist eine Echtzeit-Implementierung in guter Qualität nicht praktikabel.
Die Lagrange-Interpolation ist eines der am weitesten verbreiteten Verfahren für die Fractional-Delay- Interpolation - sie ist eine der attraktivsten Algorithmen und empfiehlt sich für den als erstes zu erprobenden Algo- rithmus für die meisten Anwendungen. Lagrange-Interpolation beruht auf dem Konzept der Polynom-Interpolation. Für ein Verfahren N-ter Ordnung wird ein Polynom der Ordnung N berechnet, das durch N + 1 die gesuchte Stelle umgebenden Stützstellen verläuft.
Die Lagrange-Interpolation erfüllt die Bedingung der maximalen Flachheit (maximal flatness) . Dies bedeutet, dass der Fehler der Approximation und deren erste N Ableitungen bei einer wählbaren Frequenz ω (in der Praxis wird nahezu ausschließlich ω = 0 gewählt) verschwinden. Damit weisen Lagrange-Interpolatoren bei tiefen Frequenzen einen sehr geringen Fehler auf. Dahingegen ist ihr Verhalten bei höheren Frequenzen weniger gut.
Fig. 5 zeigt einen sogenannten worst-case-Amplitudengang für einen Lagrange-Interpolator unterschiedlicher Ordnung. Es ist dabei die Amplitude in Abhängigkeit der normierten Frequenz (ω/ ω0 mit ω0 als Grenz- oder cutoff-Frequenz) gezeigt, wobei Lagrange-Interpolatoren für die Ordnungen N = 1, 3, 7 und 13 gezeigt sind. Die Güte bei hohen Frequenzen verbessert sich auch bei steigender Interpolationsordnung nur langsam.
Obwohl diese Eigenschaften die Lagrange-Interpolation für die Anwendung in der WFS nicht optimal erscheinen lassen, so kann dieses Interpolationsverfahren doch als Basiselement komplexerer Algorithmen verwendet werden, die diese genannten Nachteile nicht auf weisen.
Die Filterkoeffizienten werden durch explizite Formeln definiert :
Bei der direkten Anwendung ■ dieser Formel werden für die Berechnung der N + 1 Koeffizienten 0(N2) Operationen benö- tigt.
Die Figuren 6a bis 6c zeigen Darstellungen für einen Amplitudengang und ein Delay-Interpolation d.
Fig. 6a zeigt beispielhaft eine Amplitude A eines Audiosignals als Funktion der Zeit t. Eine Abtastung des Audiosignals erfolgt dabei zu den Zeiten tlO, tll, tl2,...., t20, t21, usw. Die Samplerate ist damit durch 1/ (tlO - tll) gegeben (unter der Annahme einer konstanten Samplerate) . Mit einer deutlich geringeren Frequenz werden die Delay- Werte neu berechnet. In dem Beispiel wie an der Fig. 6a gezeigt ist, werden die Delay-Werte zu den Zeiten tlO, t20 und t30 berechnet, wobei sich zu dem Zeitpunkt tlO ein Delay-Wert dl, zum Zeitpunkt t20 ein Delay-Wert d2 und zum Zeitpunkt t30 ein Delay-Wert von d3 berechnet wurde. Die Zeitpunkte, zu denen Delay-Werte neu berechnet werden, können dabei variieren, beispielsweise kann alle 32 Takte ein neuer Delay-Wert generiert werden oder aber auch mehr als 1.000 Takte können zwischen der Berechnung neuer Delay- Werte ergehen. Zwischen den Delay-Werten werden für die einzelnen Takte die Delay-Werte interpoliert.
Fig. 6b zeigt ein Beispiel, wie die Interpolation der Delay-Werte d vorgenommen werden kann. Verschiedene Inter- polationsverfahren sind dabei möglich. Die einfachste Interpolation besteht in einer linearen Interpolation (Lagrange-Interpolation 1. Ordnung). Bessere Interpolationen basieren dabei auf Polynomen höherer Ordnung (Lagrange- Interpolation höherer Ordnung) , wobei die entsprechende Berechnung mehr Rechenzeit beansprucht. In Fig. 6b ist gezeigt, wie zum Zeitpunkt tlO der Delay-Wert dl angenommen
wird, zum Zeitpunkt t20 der Delay-Wert d2 und zum Zeitpunkt t30 der Delay-Wert d3 vorliegt. Eine Interpolation ergibt dabei beispielsweise dass zu dem Zeitpunkt tl3 ein Delay- Wert dl3 vorliegt. Die Interpolation ist dabei derart gewählt, dass die Stützwerte zu den Zeitpunkten tlO, t20, t30, .... als Teil der interpolierten Kurve auftreten.
Fig. βc zeigt die Amplitude A des Audiosignals wiederum als Funktion der Zeit t, wobei das Intervall zwischen tl2 und tl4 dargestellt ist. Der durch Interpolation erhaltene Delay-Wert dl3 zum Zeitpunkt tl3 führt nun dazu, dass die Amplitude um den Delay-Wert dl3 zum Zeitpunkt tl3 auf den Zeitpunkt ta verschoben wird. Im vorliegenden Beispiel erfolgt die Verschiebung zu kleineren Werten in der Zeit, was jedoch lediglich ein spezielles Ausführungsbeispiel ist und bei anderen Ausführungsbeispielen entsprechend anders sein kann. Sofern dl3 einen fraktionalen Anteil aufweist, liegt ta nicht auf einem Abtastzeitpunkt. Anders ausgedrückt, braucht der Zugriff auf A2 nicht zu einem Taktzeit- punkt erfolgen und eine Näherung (z.B. Rundung) führt zu den oben beschriebenen Problemen, die die vorliegende Erfindung löst.
Wie oben beschrieben kommen insbesondere zwei Verfahren erfindungsgemäß zum Einsatz:
(i) Verfahren 1: eine Kombination einer Überabtastung mit einer Delay-Interpolation geringerer Ordnung auszuführen und (ii) Verfahren 2: Verwendung einer Farrow-Struktur zur Interpolation.
Zunächst soll das Verfahren 1 detaillierter beschrieben werden.
Verfahren zur Veränderung der Sampling-Rate um einen festen
(meist rationalen) Faktor sind weit verbreitet. Diese
Verfahren werden auch als synchrone Abtastratenumsetzung
bezeichnet. Mit Hilfe eines solchen Verfahren können jedoch nur Ausgangssignale für feste Ausgabezeitpunkte erzeugt werden. Zusätzlich werden die Verfahren sehr aufwändig, falls das Verhältnis der Ein- und Ausgangsrate nahezu irrational ist (d. h. ein sehr großes kleinstes gemeinsames Vielfaches aufweist) .
Aus diesen Gründen wird erfindungsgemäß die Kombination synchroner Abtastratenumsetzung mit Verfahren zur Fractio- nal-Delay-Tnterpolation vorgeschlagen.
Die Implementierung eines Fractional-Delays mit Hilfe einer Abtastratenerhöhung und das Runden auf den nächstgelegenen Abtastzeitpunkt wird allgemein als nicht zweckmäßig angese- hen, da es für zweckmäßige Rauschabstände extrem hohe Überabtastraten voraussetzt.
Dementsprechend wurden Verfahren vorgeschlagen, die aus zwei Stufen bestehen: Im ersten Schritt erfolgt eine syn- chrone Abtastratenumsetzung um einen festen, ganzzahligen Faktor L. Diese erfolgt über eine Aufwärtstastung (Einfügen von L - I Null-Samples nach jedem Eingangswert) und eine nachfolgende Tiefpassfilterung zur Vermeidung von Image- Spektren. Diese Operation kann effizient mittels Polypha- senfilterung ausgeführt werden.
Im zweiten Schritt erfolgt eine Fractional-Delay- Interpolation zwischen überabgetasteten Werten. Diese erfolgt mit Hilfe eines variablen Fractional-Delay-Filters geringer Ordnung, deren Koeffizienten direkt berechnet werden. Besonders sinnvoll ist hier der Einsatz von Lagran- ge-Interpolatoren (siehe oben) .
Dazu kann eine lineare Interpolation zwischen den Ausgängen einer Polyphasen-Filterbank vorgenommen werden. Das primäre Ziel ist dabei die Reduktion der für nahezu nichtrationale („krumme", incommensurate) Abtastratenverhältnisse notwendigen Speicher- und Rechenleistungsbedarfs.
Es ist auch möglich ein „Wideband Fractional Delay Element" einzuführen, das aus der Kombination einer Aufwärtstastung um den Faktor 2, der Verwendung eines Fractional-Delay- Filters geringer Ordnung und der anschließenden Abwärtstas- tung auf die ursprüngliche Abtastrate basiert. Durch eine Implementierung als Polyphasenstruktur wird die Berechnung in zwei unabhängige Zweige (even taps und odd taps) aufgeteilt. Dadurch müssen die Upsampler- und Downsampler- Elemente nicht diskret implementiert werden. Außerdem kann das Fractional-Delay-Element mit der Basisband-Frequenz anstelle der überabgetasteten Rate implementiert werden. Ein Grund für die gegenüber reinen Fractional-Filtern (wie der Lagrange-Interpolation) verbesserte Güte ist dadurch gegeben, dass der variable Fractional-Delay-Filter durch die erhöhte Abtastrate nur bis zur Hälfte der Nyquist- Frequenz operieren
Dies kommt der Maximally Fiat-Eigenschaft von Lagrange- Interpolationsfiltern entgegen, da diese bei niedrigen Frequenzen sehr geringe Fehler zeigen, wohingegen die Fehler bei höheren Frequenzen nur durch eine starke Vergrößerung der Filterordnung, mit entsprechend steigendem Aufwand für Koeffizientenberechnung und Filterung) verrin- gert werden kann.
Das Prinzip des Wideband Fractional Delay Filters kann auch mit Halfband-Filter als effiziente Realisierungen für die
Antiimaging-Filter kombiniert werden. Die variablen Fracti- onal-Delay-Elemente können auf Basis dedizierte Strukturen entworfen werden, unter denen die sog. Farrow-Struktur
(siehe unten) von Bedeutung ist.
Das Modell zur Beschreibung asynchroner Abtastratenumset- zung (DAAU — digitaler asynchroner Abtastratenumsetzer bzw. GASRC = Generalized Asynchronous Sampling Rate Conversion) besteht aus einem synchronen Abtastratenumsetzer (Überabtastung bzw. rationale Samplingratenkonversion) , gefolgt
von einem System zur Nachbildung einer DA/AD-Umsetzung, welche typischerweise durch einen variablen Fractional- Delay-Filter realisiert wird.
Die Verbindung von synchroner Überabtastung und variabler Delay-Interpolation ist in der Audio-Technik jedoch recht weit verbreitet. Dies ist vermutlich auch darauf zurückzuführen, dass sich die auf diesem Gebiet verwendeten Verfahren meist aus synchronen Abtastratenumsetzern, die selbst oft mehrstufig angelegt sind, entwickelt haben.
Einen Sonderfall nehmen Filter-Entwurfsverfahren ein, bei denen explizite, effiziente Berechnungsvorschriften für die Filterkoeffizienten existieren. Diese basieren meist auf Interpolationsverfahren aus der numerischen Mathematik. Die weiteste Verbreitung haben dabei Fractional-Delay- Algorithmen auf Basis der Lagrange-Interpolation. Mit Hilfe solcher Verfahren lassen sich variable fraktionale Delays relativ effizient implementieren. Daneben existieren auch Filter auf Basis anderer Interpolationsverfahren, z. B. Spline-Funktionen. Diese sind jedoch für den Einsatz in Signalverarbeitungsalgorithmen, speziell Audio- Anwendungen, weniger geeignet.
Im Vergleich zu Verfahren zur Fractional-Delay- Interpolation, die auf einer direkten Berechnung der Filterkoeffizienten beruhen, ermöglicht die starke Verringerung der Filterordnung des variablen Teils eine signifikante Reduktion des Berechnungsaufwandes.
Der besondere Vorteil des vorgestellten Verfahrens für die Anwendung in der Wellenfeldsynthese besteht darin, dass die Überabtastungs-Operation nur einmal für jedes Eingangssignal durchgeführt werden muss, während das Ergebnis dieser Operation für alle von dieser Renderer-Einheit berechneten Lautsprechersignale verwendet werden kann. Damit kann entsprechend höherer Berechnungsaufwand auf die Überabtastung gelegt werden, speziell um die Fehler über den kom-
pletten Audio-Wiedergabebereich gering zu halten. Die variable Fractional-Delay-Filterung, die für jedes Ausgangssignal separat durchgeführt werden muss, kann durch die geringere notwendige Filterordnung sehr viel effizien- ter durchgeführt werden. Zum anderen wird einer der entscheidenden Nachteile von FD-Filtern mit explizit berechneten Koeffizienten (d. h. vor allem Lagrange-FD-Filter) , ihr schlechtes Verhalten bei hohen Frequenzen, dadurch kompensiert, dass sie nur in einem viel geringeren Frequenzbe- reich operieren müssen.
In einem WFS-Wiedergabesystem wird erfindungsgemäß der vorgeschlagene Algorithmus wie folgt umgesetzt:
• Die in Form diskreter Audiodaten vorliegenden Quellsignale werden mit einem festen, ganzzahligen Faktor L überabgetastet. Dies erfolgt durch Einfügen von L - I Nullsamples zwischen jeweils zwei Eingangssignalen und anschließender Tiefpassfilterung mit einem Anti- Imaging-Filter, um Replikationen des Eingangsspektrums im überabgetasteten Signal zu vermeiden. Diese Operation wird effizient mit Hilfe von Polyphasen-Techniken realisiert.
• Die überabgetasteten Werte werden in eine Verzögerungsleitung 216 (Delay Line) geschrieben, die in der Regel als Ringpuffer implementiert ist. Es ist zu beachten, dass die Kapazität der Verzögerungsleitung 216 gegenüber herkömmlichen Algorithmen um den Faktor L zu vergrößern ist. Hier zeigt sich ein Trade-Off zwischen Speicher- und Berechnungskomplexität, der für den hier entworfenen Algorithmus gewählt werden muss.
• Zum Auslesen der Delay Line ist der gewünschte Wert der Verzögerung mit der Überabtastrate L zu multiplizieren. Durch Abspalten des nichtganzzahligen Anteils wird ein ganzzahliger Index dint sowie ein fraktionaler Teil dfrac gewonnen. Falls der optimale Arbeitbereich
des variablen FD-Filters von 0 ≤ dfrac ≤ 1 abweicht, ist diese Operation anzupassen, so dass z.B. für die Lagrange-Interpolation (N-I) /2 ≤ dfrac ≤ (N+l)/2 gilt. Der ganzzahlige Anteil wird als Index zum Zugriff auf die Verzögerungsleitung verwendet, um die Stützstellen der Interpolation zu gewinnen. Aus dfrac werden die Koeffizienten des Lagrange-Interpolationsfilters bestimmt. Die interpolierten Ausgangssignale ergeben sich durch Faltung der Stützstellen mit den berechne- ten t'iiter-Koeffizienten. Diese Operation wird für jedes Lautsprechersignal wiederholt.
Fig. 7 zeigt eine konkrete Darstellung einer Delay- Interpolation mittels Überabtastung gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung, wobei eine simultane Auslesung mittels Lagrange-Interpolation erfolgt. Die diskreten Audio-Signaldaten xs (von der Audio-Quelle 215) werden bei diesem Ausführungsbeispiel mittels einer Überabtastung in der Abtasteinrichtung 236 überabgetastet und anschließend in der Verzögerungsleitung 216 entsprechend der zeitlichen Reihenfolge abgelegt. Damit ergeben sich in jedem Speicher der Verzögerungsleitung 216 ein Abtastwert der einem vorbestimmten Zeitpunkt tm (siehe Fig. 6a) ergibt. Die entsprechenden überabgetasteten Werte in der Verzögerungsleitung 216 können dann durch die WFS- Verzögerungs- und Skalierungseinrichtung 212 ausgelesen werden, wobei der Zeiger 217 den Abtastwert entsprechend des Verzögerungswertes ausliest. Das bedeutet, dass ein Zeiger 217, der in der Fig. 7 weiter nach links zeigt, aktuelleren Daten, d.h. mit einer geringeren Verzögerung, entspricht und der Zeiger 217, der in der Fig. 7 weiter nach rechts zeigt, Audiodaten bzw. Abtastwerten mit einem älteren Zeitrang (d.h. einer größeren Verzögerung) entspricht. Entsprechend dem Index in der Verzögerungsleitung 216 werden jedoch nur die ganzzahligen Anteile der Delay- Werte erfasst und die entsprechende Interpolation zu den fraktionalen (rationalen) Anteilen erfolgt in den fractio- nalen Delay-Filtern 222. Die Ausgänge der fractionalen
Delay-Filter 222 geben die Komponentensignal 115 aus. Die Komponentensignale 115 (yi) werden dann anschließend für verschiedene virtuelle Quellen xs summiert und an die entsprechenden Lautsprecher ausgegeben (Lautsprechersigna- Ie) .
Der Entwurf der Filter kann statisch außerhalb der Laufzeit der Applikation erfolgen. Damit spielen Effizienzforderungen für den Filterentwurf keine Rolle, es können leistungs- fähige Werkzeuge und Optimierungsverfahren verwendet werden.
Der optimale Antiimaging-Filter (auch Prototyp-Filter, da es der Prototyp für die zur Polyphasen-Realisierung verwen- deten Subfilter ist) ist ein idealer Tiefpass mit der diskreten Cutoff-Frequenz fc = — , dabei entspricht π der
L
Sampling-Frequenz des überabgetasteten Signals.
Zum Entwurf realisierbarer Tiefpassfilter ist es sinnvoll, zusätzliche Freiheitsgrade zu spezifizieren. Dies erfolgt vor allem durch die Definition von Übergangsbändern (englisch transition bands oder don ' t care bands], in denen keine Spezifikationen über den Frequenzgang gemacht werden. Diese Übergangsbänder werden anhand des oben festgelegten Audio-Frequenzbandes definiert. Die Breite des Übergangsbandes ist maßgeblich für die zum Erreichen einer gewünschten Sperrdämpfung notwendige Filterlänge. Es ergibt sich ein Übergangsbereich im Bereich 2fc < f < 2(fs - fc) . Dabei ist fc die gewünschte obere Grenzfrequenz und fs die Sampling-Frequenz des nicht überabgetasteten Signals.
Fig. 8 zeigt eine Spezifikation des Frequenzganges eines Anti-Imaging-Filters für eine Überabtastung, wobei das Übergangsband 310 nur für ein Base-Band spezifiziert ist.
Fig. 9 zeigt eine Spezifikation eines Anti-Imaging-Filters für eine Überabtastung, wobei sogenannte don't-care-
Regionen auch für Images 310a, 310b, 310c des Übergangsbandes 310 ermittelt sind. Die zusätzlichen don' t-care-Bänder können an den Spiegelungen (images) des ursprünglichen Übergangsbereiches 310 definiert werden.
Da die Überabtastung jedoch nur als erste Stufe einer asynchronen Abtastratenumsetzung dient, und diese Umsetzung mit einer Verschiebung von Frequenzinhalten einhergeht, ist die Verwendung multipler Transistionsbändern hier kritisch zu prüfen, um das Verschieben von Imaging- bzw. Aliasing- Komponenten in den hörbaren Frequenzbereich zu vermeiden.
Der Antiimaging-Filter wird fast ausschließlich als Ii- nearphasiger Filter entworfen. Phasenfehler sollten an diese Stelle unbedingt vermieden werden, da das Ziel der Delay-Interpolation darin besteht, die Phase des Eingangssignals zielgerichtet zu beeinflussen. Bei einer Realisierung als Polyphasen-System gilt die Linearphasigkeit jedoch nicht für die Subfilter, so dass die entsprechenden Komple- xitätseinsparungen nicht ausgenutzt werden können.
Zum Entwurf des Prototyp-Filters können bekannte Verfahren zum Filterentwurf verwendet werden. Von besonderer Bedeutung sind dabei Least-Squares-Verfahren (in Matlab: firls) und sowie Equiripple-Verfahren (auch als Minimax- oder Chebyshev-Optimierung bezeichnet, Matlab-Funktion: firpm) . Bei der Anwendung von firpm ist zu beachten, dass bei größeren Filterlängen (Npp > 256) oftmals keine Konvergenz eintritt. Dies ist jedoch durch die Numerik des verwendeten Werkzeuges (hier: Matlab) bedingt und könnte durch eine entsprechende Implementierung aufgehoben werden.
Da das überabgetastete Signal durch das Einfügen von jeweils L - I Nullsamples entsteht, erfolgt eine Verstärkung um den Faktor L, damit die ursprüngliche Signalamplitude erhalten bleibt. Dies ist durch eine Multiplikation der Filterkoeffizienten mit diesem Faktor ohne zusätzlichen Berechnungsaufwand möglich.
Im Gegensatz zu direkten Verfahren zur Delay-Interpolation wie z. B. der Lagrange-Interpolation weist der kombinierte
Algorithmus verschiedene, voneinander abhängige gute- und komplexitätsbestimmende Parameter auf. Dies sind vor allem:
(a) Filterlänge des Prototypfilters Npp. Dieser bestimmt die Güte der Antiimaging-Filterung und hat gleichzeitig Einfluss auf die Performance. Da die Filterung jedoch nur einmal für jedes Ξingang≤signai verwendet wird, ist der Einfluss auf die Performance relativ gering. Die Länge des Prototypfilters bestimmt auch die durch die Delay- Interpolation bedingte Systemlatenz maßgeblich.
(b) Überabtastverhältnis L. L bestimmt die notwendige Kapazität (Speicherbedarf) der Verzögerungsleitung 216. Über die Cache-Lokalität wirkt sich dies bei modernen Architekturen auch auf die Performance aus. Zusätzlich wird mit steigendem L auch die zum Erzielen einer gewünschten Filtergüte notwendige Filterlänge beeinflusst, da L PoIy- phasen-Subfilter benötigt werden und die Übergangsbandbreiten mit steigendem L sinken.
(c) Wiedergabe-Frequenzbereich. Der Wiedergabe- Frequenzbereich bedingt die Breite des Übergangsbereichs der Filter und hat damit Einfluss auf die zum Erzielen einer gewünschten Filtergüte notwendige Filterlänge.
(d) Interpolationsordnung N. Den weitestgehenden Einfluss auf die Performance und Qualität hat die Ordnung des variablen Fractional-Delay-Interpolators, der in der Regel als Lagrange-Interpolator implementiert wird. Dessen Ordnung bestimmt den Berechnungsaufwand zur Gewinnung der Filterkoeffizienten sowie der Faltung selbst. N bestimmt auch die Zahl der zur Faltung benötigten Werte aus der Verzögerungsleitung 216 und gibt damit auch die notwendige Speicherbandbreite vor. Da die variable Interpolation für jede Kombination aus Eingangssignal und Ausgangssignal benötigt
wird, hat die Wahl von N den größten Einfluss auf die Performance.
Aus diesen Parameter ist ein unter Güte- und Performanceas- pekten für den jeweiligen Einsatzzweck optimale Kombination zu finden. Dazu ist das Zusammenwirken der verschiedenen Stufen des Algorithmus zu analysieren und durch Simulationen zu überprüfen.
Folgende? Überlegungen sollten berücksichtigt werden:
• Die Überabtastrate L sollte moderat gewählt werden, ein Verhältnis zwischen 2 und 8 sollte nicht überschritten werden.
• Die variable Interpolation sollte geringe Ordnung (anvisiert: maximal 3) nicht übersteigen. Gleichzeitig sind ungerade Interpolationsordnungen zu verwenden, da gerade Ordnungen, analog zum Verhalten der reinen Lagrange-Interpolation, deutlich höhere Fehler aufweisen.
Zur Analyse des Filters kann neben Simulationen mit realen Eingangssignalen auch eine Analyse des äquivalenten stati- sehen Filters erfolgen. Dazu werden für ein festes fraktio- nales Delay die Filterkoeffizienten der an der Lagrange- Interpolation beteiligten Prototyp-Filter bestimmt, mit den entsprechenden Lagrange-Gewichten multipliziert und nach Anwendung der notwendigen Indexverschiebungen summiert. Somit kann der Algorithmus mit den in Abschnitt 4 beschriebenen Kriterien (Frequenzgang, Phasenverzögerung, kontinuierliche Impulsantwort) analysiert werden, ohne dass die Besonderheiten der Multiraten-Verarbeitung zu beachten sind.
Ein Algorithmus zur Bestimmung des äquivalenten statischen FD-Filters ist daher zu implementieren. Problematisch dabei ist nur die Festlegung der Filterlänge, um für alle Werte
von d vergleichbare Werte zu erhalten, da die äquivalenten Filter in Abhängigkeit von d auf verschiedene Samples des Eingangsignals zugreifen.
Die statische durch das Interpolationsfilter bedingte Verzögerung ist sowohl von der Ordnung der Überabtastung L, der Phasenverzögerung des Polyphasen-Prototypfilters sowie der Interpolationsordnung abhängig. Falls der Prototyp- Filter linearphasig ist ergibt sich folgende Systemverzöge-
N „ + N uSystem ~ * * J '
Der vorgestellte Algorithmus stellt einen praktikablen und relativ einfach zu realisierenden Ansatz zur Verbesserung der Delay-Interpolation dar. Der Performance-Mehrbedarf im Vergleich zu einem Verfahren zur Delay-Interpolation mit direkter Berechnung der Koeffizienten ist sehr gering. Dem steht eine deutliche Verringerung der Wiedergabefehler speziell bei höheren Frequenzen entgegen. Im Gegensatz zu den direkten Verfahren wie der Lagrange-Interpolation ist es möglich, eine über den ganzen Audio-Wiedergabebereich von wahrnehmbaren Artefakten freie Wiedergabe mit vertretbarem Aufwand zu realisieren. Entscheidend für die Perfor- mance des Verfahrens ist die effiziente Gewinnung der ganzzahligen und fraktionalen Delay-Parameter, die Berechnung der Lagrange-Koeffizienten sowie die Ausführung der Filterung.
Die für die Bestimmung der leistungsbestimmenden Parameter eingesetzten Entwurfswerkzeuge sind recht einfach gehalten: L, NPp und N können aufgrund externer Beschränkungen oder durch Versuche bestimmt werden. Der Filterentwurf des Prototypfilters erfolgt mit Standard-Verfahren für Tief- passfilter, evtl. unter Ausnutzung zusätzlicher don't-care- Regionen.
Als nächstes soll das Verfahren 2 (Verwendung einer Farrow- Struktur zur Interpolation) , die eine alternative erfindungsgemäße Vorgehensweise darstellt, näher beschrieben werden.
Die Farrow-Struktur ist eine variable Filterstruktur zur Implementierung eines variablen Fractional Delays. Es handelt sich um eine auf einem FIR-Filter basierende Struk- tur, deren Verhalten über einen zusätzlichen Parameter gesteuert werden kann. Für die Farrow-Struktur wird der fraktionale Teil des Delays als Parameter verwendet, um eine steuerbare Verzögerung abzubilden. Die Farrow-Struktur ist, obwohl unabhängig davon entwickelt, eine Ausprägung eines variablen digitalen Filters.
Die variable Charakteristik wird erzielt, indem die Koeffizienten des FIR-Filters durch Polynome gebildet werden.
wobei d der steuerbare Parameter ist. Die Transferfunktion des Filters bestimmt sich damit zu:
N
H(z, d) - y c^d' n=0 m=0 (5)
Für eine effiziente Implementierung wird diese Transferfunktion oftmals wie folgt realisiert:
H(z,d) = ∑dm∑cnraz-n m=o n=o (6)
= ∑d"C,(z) m=0 (7)
Der Ausgang der Farrow-Struktur lässt sich damit als Polynom in d realisieren, wobei die Koeffizienten des Polynoms die Ausgänge von M festen Subfiltern Cm(z) in FIR-Struktur sind. Die Polynomevaluation ist effizient durch die Anwen- düng des Horner-Schemas realisierbar.
Die Ausgangssignale der fixen Subfilter Cm(z) sind unabhängig von einem konkreten gebrochen rationalen Delay d. Damit bieten sich diese Werte entsprechend dem oben eingeführten Schema zur Ausnutzung redundanter Berechnungen als Zwischenergebnisse an, die zur Evaluation der Ausgangssignale für alle sekundären Quellen verwendet werden können.
Der darauf aufbauende erfindungsgemäße Algorithmus ist wie folgt strukturiert:
• Jedes Eingangssignal wird parallel mit M Subfiltern gefaltet .
• Die Ausgangswerte der Subfilter werden (jeweils für einen Abtastzeitpunkt zusammengefasst) in eine Verzögerungsleitung 216 geschrieben.
• Zur Bestimmung der verzögerten Ausgangssignale wird der ganzzahlige Anteil des Delays bestimmt und daraus der Index der gewünschten Daten in der Verzögerungsleitung 216 bestimmt.
• Die Subfilter-Ausgänge an dieser Position werden ausgelesen und als Koeffizienten einer Polynominterpolation in d, dem gebrochen rationalen Delay-Anteil, verwendet .
• Das Ergebnis der Polynominterpolation ist der ge- wünschte verzögerte Eingangswert. Die letzten drei
Schritte werden für jedes Ausgangssignal wiederholt.
Fig. 10 zeigt schematisch diesen Algorithmus, der auch wie folgt zusammengefasst werden kann. Ein simultanes Auslesen erfolgt auf Basis einer Farrow-Struktur, wobei die Daten eines Audiosignals xs in eine Verzögerungsleitung 216 eingegeben werden. Bei diesem Ausführungsbeispiel werden jedoch nicht die Audiodaten selbst eingegeben, sondern stattdessen die Koeffizienten cp als Ausgangswerte 239 der Farrow-Struktur (Subfilter 237) berechnet und in der Verzögerungsleitung 216 entsprechend ihrer zeitlichen Abfolge gespeichert - im Gegensatz zu dem zuvor gezeigten Ausführungsbeispiel (s. Fig. 7). Wie zuvor auch erfolgt der Zugriff auf die Verzögerungsleitung 216 durch einen Zeiger 217, dessen Stellung wiederum entsprechend des ganzzahligen Anteils der Verzögerung d gewählt ist. Durch ein Auslesen der entsprechenden Ci-Koeffizienten der Farrow-Struktur kann daraus mittels Potenzreihe in dem Verzögerungswert bzw. des fractionalen (nicht-ganzzahligen) Anteils des Verzögerungswertes (in einer Einrichtung zur Polynominterpolation 250) das entsprechende (verzögerte) Lautsprecher- signal V1 berechnet werden.
Die Anwendung der Farrow-Struktur ist nicht an bestimmte Entwurfsverfahren für die Bestimmung der Koeffizienten c^ gebunden. Beispielsweise kann eine Minimierung des Fehler- integrals
erfolgen. Dies entspricht einem Least-Squares- Optimierungsproblem.
Verschiedene Verfahren auf Basis von Least-Squares- bzw. Weighted-Least-Squares-Kriterien sind möglich. Diese Verfahren zielen darauf ab, den mittleren quadratischen Fehler des Verfahrens über den gewünschten Frequenzbereich und den Definitionsbereiches des Steuerparameters d zu minimieren.
Bei dem Weighted-Least-Squares-Verfahren (WLS) wird zusätzlich eine Gewichtsfunktion definiert, die eine Gewichtung des Fehlers im Integrationsgebiet ermöglicht. Auf Basis von WLS können iterative Verfahren entworfen werden, mit denen gezielt Einfluss auf den Fehler in bestimmten Regionen der Integrationsfläche genommen werden kann, um z. B. den maximalen Fehler zu minimieren. Die meisten WLS-Verfahren weisen eine schlechte numerische Konditionierung auf. Dies ist nicht auf ungeeignete Verfahren zurückzuführen, sondern resultiert aus der Verwendung von Übergangsbändern (don't- care-Regionen) beim Filterentwurf. Mit diesen Verfahren können daher nur Farrow-Strukturen vergleichsweise geringer Subfilterlänge N und Polynomordnung M entworfen werden, da sonst numerische Instabilitäten die Genauigkeit der Parame- ter begrenzen oder eine Konvergenz des Verfahrens verhindern.
Eine andere Klasse von Entwurfsverfahren zielt auf die Minimierung des maximalen Fehlers im Arbeitsbereich des variablen Fractional-Delay-Filters ab. Als Arbeitsbereich wird die Fläche definiert, die vom gewünschten Frequenzbereich und dem erlaubten Bereich für den Steuerparameter d aufgespannt wird. Diese Art der Optimierung wird meist als Minimax- oder Chebyshev-Optimierung bezeichnet.
Für herkömmliche linearphasige FIR-Filter ohne Steuerparameter existieren effiziente Algorithmen zur Chebyshev- Approximation, z. B. der Remez-Austausch-Algorithmus (remez exchange algorithm) oder der darauf basierende Parks- McClellan-Algorithmus. Dieser Algorithmus kann für beliebige komplexe Frequenzgänge, damit auch für die von Fractio- nal-Delay-Filtern geforderten Phasengänge, erweitert werden .
Chebyshev- bzw. Minimax-Optimierungsprobleme können im allgemeinen Fall durch Verfahren der linearen Optimierung gelöst werden. Diese Verfahren sind um Größenordnungen aufwändiger als die auf dem Remez-Austausch-Algorithmus
beruhenden. Jedoch erlauben sie eine direkte Formulierung und Lösung des Entwurfsproblems für die Subfilter der Farrow-Struktur. Zusätzlich erlauben diese Verfahren die Formulierung zusätzlicher Nebenbedingungen in Form von Gleichheits- oder Ungleichheitsbedingungen. Dies wird als ein sehr wichtiges Feature für den Entwurf asynchroner Abtastratenumsetzer angesehen.
Ein Verfahren zum Minimax-Entwurf für Farrow-Strukturen beruht auf Algorithmen zur beschränkten Optimierung (Optimierungsverfahren, die die Angabe von Nebenbedingungen ermöglichen, werden als beschränkte Optimierung (constrai- ned optimization) bezeichnet) . Ein besonderes Feature dieser Entwurfsverfahren für Farrow-Strukturen ist, dass getrennte Spezifikationen für Amplituden- und Phasenfehler vorgegeben werden können. So kann beispielsweise der maximale Phasenfehler unter Vorgabe eines erlaubten maximalen Amplitudenfehlers minimiert werden. Zusammen mit genauen Toleranzspezifikationen für Amplituden- und Phasenfehler, die sich beispielsweise aus der Wahrnehmung entsprechender Fehler ergeben, stellt dies ein sehr mächtiges Werkzeug zur applikationsspezifischen Optimierung der Filterstrukturen dar.
Eine Weiterentwicklung der Farrow-Struktur stellt die vorgeschlagene modifizierte Farrow-Struktur dar. Durch
Einführung eines symmetrischen Definitionsbereiches für den
Steuerparameter d, in der Regel _∑< d <i, kann sicherge-
2 ~ 2 stellt werden, dass die Subfilter eines optimalen Farrow- Filters linearphasig sind. Sie weisen, für gerade und ungerade m, alternierend symmetrische und antisymmetrische Koeffizienten auf, so dass sich die Zahl der zu bestimmenden Koeffizienten halbiert. Neben einer dadurch verringerten Komplexität des Filterentwurfs und einer damit einher- gehenden verbesserten numerischen Konditionierung des Optimierungsproblems ermöglicht die linearphasige Struktur
der Cm(z) auch den Einsatz effizienterer Algorithmen zur Berechnung der Subfilter-Ausgänge .
Zusätzlich sind verschiedene andere Verfahren zum Entwurf der Farrow-Struktur möglich. Ein Verfahren basiert auf eine Singulärwertzerlegung und darauf aufbauend wurden auch effiziente Strukturen zur Umsetzung entwickelt. Dieses Verfahren bietet eine im Vergleich zu WLS-Verfahren höhere Genauigkeit des Filterentwurfs bei verringerter Filterkom- plexität, bietet jedoch keine Möglichkeiten zur Spezifikation von Nebenbedingungen oder zur gezielten Beeinflussung von Amplituden- oder Phasenfehlerschranken.
Ein weiteres Verfahren basiert auf Eigenfiltern. Da dieser Ansatz bisher in der Literatur nicht weiterverfolgt wird, können ohne eine eigene Implementierung und Evaluation noch keine Aussagen über die Leistungsfähigkeit getroffen werden, allerdings sollte es ähnlich den SVD-Verfahren sein.
Primäres Ziel des Filterentwurfs ist eine Minimierung der Abweichung vom idealen fraktionalen Delay. Dabei kann entweder der maximale Fehler oder der (gewichtete) mittlere Fehler minimiert werden. In Abhängigkeit vom angewendeten Verfahren kann entweder der komplexe Fehler oder Phasen- und Amplitudengang getrennt spezifiziert werden.
Ein wichtiger Faktor bei der Aufstellung der Optimierungsbedingungen ist die Wahl des interessierenden Frequenzbereiches .
Die Form der zugehörigen kontinuierlichen Impulsantwort (siehe oben) hat einen großen Einfluss auf die Güte und die wahrnehmbare Qualität der asynchronen Abtastratenumsetzung. Daher ist die Verwendung von Nebenbedingungen, die sich direkt auf die kontinuierliche Impulsantwort beziehen, zu untersuchen. So können beispielsweise Stetigkeitsforderungen spezifiziert werden.
Eine in vielen Anwendungen der Delay-Interpolation aufgestellte Forderung ist die Einhaltung der Interpolations- Bedingung. Diese fordert, dass die Interpolation an den diskreten Stützstellen exakt ist, d. h. den Wert der Sam- ples annimmt. In Entwurfsverfahren, die die Definition von Nebenbedingungen in Form von Gleichheitsbedingungen erlauben, kann diese Forderung direkt formuliert werden. Farrow- Implementierungen von Lagrange-Interpolatoren erfüllen diese Forderung aufgrund der Definition der Lagrange- Interpolation, Der Nutzen der Interpolationsbedingung für die asynchrone Samplingratenkonversion im generellen und in Kontext der WFS im speziellen wird als eher gering eingestuft. Wichtiger als eine exakte Interpolation an bestimmten Stützstellen ist ein generell geringer Fehler, eine geringe maximale Abweichung bzw. ein möglichst gleichmäßiger Fehlerverlauf.
Mit der Farrow-Struktur steht eine sehr leistungsfähige Filterstruktur zur Delay-Interpolation zur Verfügung. Für die Anwendung in der Wellenfeldsynthese lässt sich eine effiziente Partitionierung des Algorithmus in eine Vorverarbeitung pro Quellsignal sowie eine mit geringer Komplexität ausführbare Auswertungsoperation, die für jedes Ausgangssignal vorgenommen werden wird, implementieren.
Für die Koeffizienten der Farrow-Struktur existieren viele verschiedene Entwurfsverfahren, die sich in Berechnungskomplexität und der erzielbaren Güte unterscheiden. Daneben können in vielen Verfahren auch zusätzliche Constraints, die sich direkt oder indirekt auf die Charakteristik des gewünschten Filters beziehen, definiert werden. Durch diese Entwurfsfreiheiten entsteht ein größerer Forschungsaufwand für die Evaluation verschiedener Verfahren und Nebenbedingungen, bevor optimale Parametrisierungen gefunden werden. Jedoch kann das gewünschte Verhalten sehr genau an die Spezifikation angepasst werden. Dies ermöglicht sehr wahrscheinlich eine Verringerung der Filterkomplexität bei gleichen Qualitätsforderungen.
Der auf der Farrow-Struktur basierende Algorithmus für die WFS kann effizient implementiert werden. Zum einen können bei der Vorfilterung Reduktionen der Komplexität, die sich aus dem linearphasigen Subfilter der modifizierten Farrow- Struktur ergeben, ausgenutzt werden. Zum anderen ist die Auswertung der vorberechneten Koeffizienten als Polynomevaluation durch das Horner-Schema äußerst effizient möglich.
Ein großer Vorteil dieser Filterstruktur liegt auch im Vorhandensein geschlossener Design-Verfahren, die einen zielgerichteten Entwurf ermöglichen.
Weitere Möglichkeiten für Implementierungen und Optimierun- gen können wie folgt zusammengefasst werden.
Ausführungsbeispiele befassen sich vorrangig mit der Entwicklung neuartiger Algorithmen für die Delay-Interpolation zur Anwendung in der Wellenfeldsynthese . Obwohl diese Algorithmen generell unabhängig von einer konkreten Implementierung und Zielplattform sind, können die Implementierungsaspekte an dieser Stelle nicht übergangen werden. Dies liegt darin begründet, dass die hier beschriebenen Algorithmen den mit Abstand größten Anteil an der Gesamtperfor- mance eines WFS-Reproduktionssystems haben. Daher werden neben der algorithmischen Komplexität (z. B. die asymptotische Komplexität oder die Zahl der Operationen) unter anderem folgende Implementierungsaspekte einbezogen:
(i) Parallelisierbarkeit . Dabei wird vor allem die Paralle- lisierbarkeit auf Instruktionsebene betrachtet, da die meisten modernen Prozessoren SIMD-Instruktionen anbieten.
(ii) Abhängigkeiten von Instruktionen. Starke und lange Abhängigkeitsverhältnisse zwischen Teilergebnissen des Algorithmus erschweren die Kompilation effizienten Codes und setzen die Effizienz moderner Prozessoren herab.
(iii) Konditionaler Code. Fallunterscheidungen setzen die Effizienz der Ausführung herab und sind darüber hinaus problematisch zu warten und zu testen.
(iv) Code- und Daten-Lokalität. Da die Delay-Interpolation in der innersten Schleife des WFS- Signalverarbeitungsalgorith-mus stattfindet, ist kompakter Code von relativ großer Bedeutung. Des Weiteren beeinflusst auch die Zahl von Cache-Misses für Datenzugriffe die Per- formance.
(v) Speicher-Bandbreite und -Zugriffspattern. Die Zahl der
Speicherzugriffe, ihre Verteilung und Ausrichtung (A- lignment) können oftmals signifikanten Einfluss auf die Performance haben.
Da für die Rendering-Einheit des Wiedergabesystems in näherer und mittlerer Zukunft Standard-PC-Komponenten zum Einsatz kommen, werden aktuelle PC-Plattformen als Basis für die Implementierung verwendet. Es wird jedoch vermutet, dass die dabei gewonnenen Erkenntnisse aufgrund der meist ähnlichen zugrunde liegenden Konzepte auch für andere Systemarchitekturen von Bedeutung sind.
Die oben eingeführte Vorfilterung wird effizient als Polyphasen-Operation durchgeführt. Dabei werden die Eingangsdaten simultan mit L verschiedenen Subfiltern gefaltet, deren Ausgänge mittels Multiplexing zum aufwärtsgetasteten Ausgangssignal kombiniert werden. Die Filterung kann durch lineare Faltung oder durch schnelle Faltung auf Basis der FFT erfolgen. Bei einer Implementierung mittels FFT muss die Fourier-Transformation der Eingangsdaten nur einmal erfolgen und kann dann mehrfach für die simultane Faltung mit den Subfiltern verwendet werden. Jedoch ist für die verwendeten, relativ kurzen Subfilter-Längen abzuwägen, ob eine Faltung mittels Fourier-Transformation Vorteile gegenüber einer direkten Implementierung bringt. So weist z. B. ein mittels Parks-McLellan-Algorithmus entworfener Tief-
passfilter (Matlab-Funktion firpm) der Länge 192 eine Sperrdämpfung von über 150 dB auf. Dies entspricht einer Subfilterlänge von 48, längere Filter lassen sich nicht mehr numerisch stabil entwerfen. In jedem Fall müssen die Ergebnisse der Subfilter-Operationen verschachtelt in den Ausgangsdatenstrom eingefügt werden. Eine Möglichkeit zur effizienten Implementierung einer solchen Filter-Operation besteht in der Verwendung von Bibliotheksfunktionen zur Polyphasen- bzw. Multiraten-Filterung, z. B. aus der Intel IPP-Library.
Auch die Vorverarbeitung des Algorithmus auf Basis der Farrow-Struktur kann effizient mittels einer solchen Bibliotheksfunktion zur Multiratenverarbeitung erfolgen. Dabei müssen die Subfilter durch Schachtelung (Interleaving) zu einem Prototypfilter kombiniert werden, die Ausgangswerte der Funktion stellen die verschachtelten Ausgangswerte dar. Jedoch kann auch die Linearphasigkeit der entsprechend der modifizierten Farrow-Struktur entworfenen Subfilter ausge- nutzt werden, um die Zahl der Operationen für die Filterung zu reduzieren. Hier ist jedoch sehr wahrscheinlich eine eigene Implementierung notwendig.
Es wurde nachgewiesen, dass die zeitliche Diskretisierung des Delay-Parameters entscheidenden Einfluss auf die erreichbare Güte eines FD-Algorithmus zur asynchronen Delay- Interpolation hat. Daher arbeiten alle entworfenen Algorithmen einen pro Abtastwert berechneten Wert des Delay- Parameters (im Folgenden als sample-genau bezeichnet) . Diese Werte werden mittels linearer Interpolation zwischen zwei Stützstellen berechnet. Es wird vermutet und von informellen Hörtests unterstützt, dass diese Interpolationsordnung hinreichend genau ist.
Fractional-Delay-Algorithmen erfordern die Aufteilung der gewünschten Verzögerung in einen ganzzahligen und einen gebrochen rationalen Anteil. Für die modifizierte Farrow- Struktur ist der Bereich [0...I) nicht zwingend, sondern
der Bereich kann beispielsweise als [-^.. -^) oder [ (N- 1) /2... (N+l) /2) bei der Lagrange-Interpolation gewählt sein. Dies ändert jedoch nichts an der grundlegenden Operation. Bei sample-genauer Parameterinterpolation ist diese Operation für jede elementare Delay-Interpolation durchzuführen und hat daher bedeutenden Einfluss auf die Performance. Daher ist eine effiziente Implementierung von großer Bedeutung.
Die Aυdiosignalverarbeitung der WFS besteht aus einer Verzögerungsoperation und einer Skalierung der verzögerten Werte für jedes Audio-Sample und jede Kombination von Quellsignal und Lautsprecher. Zur effizienten Implementierung werden diese Operationen zusammen ausgeführt. Falls diese Operationen getrennt ausgeführt werden, ist mit einer signifikanten Reduktion der Performance infolge des Aufwandes zur Parameter-Übergabe, zusätzlichem Kontrollfluss und verschlechterter Code- und Datenlokalität zu rechnen.
Daher ist es notwendig, die Generierung der Skalierungsfaktoren (dies erfolgt in der Regel durch lineare Interpolation zwischen Stützstellen) und die Skalierung der interpolierten Werte in die Implementierung der WFS-Faltung zu integrieren.
Nach Implementierung der Verfahren sind diese mittels Messungen und subjektiver Einschätzungen zu bewerten.
Daneben ist auch abzuschätzen, ab welcher Qualität kein weiterer Qualitätsgewinn mehr erzielt werden kann, da die Verbesserungen durch andere Fehlerquellen des WFS- Gesamtsystems verdeckt werden. Die erzielte objektive und subjektive Qualität ist den dafür benötigten Ressourcen gegenüberzustellen.
In einer Schlussbetrachtung kann das vorliegende Konzept der Signalverarbeitung in einem Wellenfeldsynthese- Wiedergabesystem auch wie folgt beschrieben werden.
Es hat sich gezeigt, dass die Delay-Interpolation, d. h. die Verzögerung der Eingangswerte um beliebige Delay-Werte, sowohl bezüglich der Wiedergabequalität als auch hinsicht- lieh der Performance des Gesamtsystems einen entscheidenden Einfluss hat.
Aufgrund der sehr hohen Zahl notwendiger Delay- Interpolations-Operationen und dem vergleichsweise hohen Komplexität dieser Operationen ist die Anwendung bekannter Algorithmen zur Fractional-Delay-Interpolation nicht mit ökonomisch vertretbarem Aufwand an Ressourcen realisierbar.
Daher ist zum einen eine tiefgehende Analyse der Algorith- men sowie der für eine gute subjektive Wahrnehmung notwendigen Eigenschaften dieser Filter notwendig, um eine hinreichende Qualität bei minimalem Aufwand zu gewährleisten. Zum anderen ist die Gesamtstruktur der WFS-Algorithmik zu untersuchen, um darauf aufbauend Verfahren zu entwickeln, welche die Gesamtkomplexität des Verfahrens signifikant senken. Dabei wurde eine Verarbeitungsstruktur identifiziert, die durch eine Aufteilung des Delay- Interpolationsalgorithmus in eine Vorverarbeitungsstufe und den vielfachen Zugriff auf die vorverarbeiteten Daten eine deutliche Senkung des Berechnungsaufwandes ermöglicht. Auf Basis dieses Konzeptes wurden zwei Algorithmen entworfen:
1. Ein Verfahren auf Basis einer überabgetasteten Verzögerungsleitung 216 und dem vielfachen Zugriff auf die- se Werte durch Lagrange-Interpolatoren geringer Ordnung ermöglicht eine gegenüber einer reinen Lagrange- Interpolation geringer Ordnung deutlich erhöhte Wiedergabequalität bei gleichzeitig nur geringfügig erhöhtem Berechnungsaufwand. Dieses Verfahren ist ver- gleichsweise einfach zu parametrisieren und zu implementieren, bietet jedoch keine Möglichkeiten zur zielgerichteten Beeinflussung der Qualität der Interpolation und besitzt kein geschlossenes Entwurfsverfahren.
2. Ein weiterer Algorithmus basiert auf der Farrow- Struktur und bietet viele Entwurfsfreiheiten, beispielsweise die Anwendung einer Vielzahl von Optimie- rungsverfahren zum Entwurf der Filterkoeffizienten. Dem höheren Forschungs- und Implementierungsaufwand stehen Möglichkeiten zur gezielten Einflussnahme auf die Eigenschaften der Interpolation sowie Potential für eine effizientere Implementierung entgegen.
In der Umsetzung können beide Verfahren implementiert und unter Qualitäts- und Performance-Aspekten verglichen werden. Dabei sind Trade-Offs zwischen diesen Aspekten zu treffen. Der Einfluss der verbesserten Delay-Interpolation auf die Gesamt-Wiedergabegualität des WFS- Reproduktionssystems kann unter dem Einfluss der anderen bekannten Wiedergabefehler untersucht werden. Dabei ist festzulegen, bis zu welcher Interpolations-Qualität eine Verbesserung des Gesamtsystems erzielt werden kann.
Ein Ziel besteht darin, Verfahren zu entwerfen, die mit vertretbarem Aufwand eine Qualität der Delay-Interpolation erzielen, die auch ohne Verdeckungseffekte durch andere WFS-Artefakte keine wahrnehmbaren Störungen generieren. Damit wäre auch für zukünftige Verbesserungen des Wiedergabesystems sichergestellt, dass die Delay-Interpolation keinen negativen Einfluss auf die Qualität der WFS- Wiedergabe hat.
Im Folgenden werden einige Themen vorgestellt, die als Erweiterung der vorliegenden Arbeit möglich sind.
Bei der Implementierung eines WFS-Wiedergabesystems werden in den meisten Fällen Filteroperationen für die Ein- bzw. Ausgangssignale vorgesehen. Im WFS-System wird beispielsweise eine Vorfilter-Stufe (Prefilter) eingesetzt. Dies sind statische Filter, die auf jedes Eingangssignal angewendet werden, um den sich aus der Theorie der WFS-
Operatoren ergebenden 3dB-Effekt sowie eine lautsprecherunabhängige Frequenzganganpassung an den Wiedergaberaum zu erzielen.
Es ist generell möglich, eine solche Filteroperation mit dem Überabtastungs-Antiimaging-Filter zu verbinden. Dabei wird der Prototypfilter einmal entworfen, zur Laufzeit des Systems ist nur noch eine Filteroperation zur Realisierung beider Funktionalitäten notwendig.
Genauso ist eine Kombination einer beliebigen statischen und quellunabhängigen Filteroperation mit den Farrow- Subfiltern realisierbar. Dabei ist sowohl die Multiplikation einer mit Standard-Methoden entworfenen Farrow- Filterbank als auch die direkte Anpassung der Filterbank an einen vorgegebenen Amplitudengang möglich.
Die Kombination der beiden Filter bietet außerdem die Möglichkeit, die durch (speziell linearphasige) Filter induzierte Phasenverzögerung des Systems zu reduzieren, wenn diese nur in einer Filterkomponente nötig ist.
Daher ist zu untersuchen, inwiefern eine Kombination der herkömmlichen WFS-Filter mit den für die hier vorgestellten Verfahren zur Delay-Operation notwendigen Filter- Operationen sinnvoll ist. Dabei sind speziell die notwendigen Rechenlasten für die separate und kombinierte Ausführung der Filterungs-Operationen gegenüberzustellen. Desweiteren sind die für zukünftige Weiterentwicklungen vorgese- henen Änderungen der WFS-Signalverarbeitung (z. B. quellpo- sitionsabhängige Vorfilterung, lautsprecherspezifische Filterung der Ausgangssignale) zu beachten.
Es wurde festgestellt, dass eine sample-genaue Interpolati- on des Delay-Parameters für eine hochqualitative Delay- Interpolation unverzichtbar ist. Der Scale-Parameter wurde mit der gleichen zeitlichen Auflösung interpoliert. Es ist zu untersuchen, welchen Einfluss auf den Wiedergabeeindruck
eine gröbere Diskretisierung dieses Parameters hat. Allerdings ist anzumerken, dass eine entsprechende Vergrößerung der Schrittweite nur geringe Performancesteigerungen des Gesamtalgorithmus erwarten lässt.
Es wurde ferner die effiziente Signalverarbeitung zur Delay-Interpolation untersucht. Die damit implementierte Abtastratenkonversion simuliert den Dopplereffekt einer bewegten virtuellen Quelle. In vielen Anwendungen ist die Frequenzverschiebung durch die Dopplerspreizung jedoch unerwünscht. Es ist möglich, dass der Dopplereffekt durch die hier implementierten Verfahren zur qualitativ hochwertigen Delay-Interpolation deutlicher als bisher in Erscheinung tritt. Daher sollten in zukünftigen Forschungsvorhaben auch Algorithmen untersucht werden, um den Dopplereffekt bei einer Wiedergabe bewegter Quellen zu kompensieren oder in seiner Stärke zu steuern. Jedoch werden auch diese Verfahren auf unterster Ebene auf den hier vorgestellten Algorithmen zur Delay-Interpolation basieren.
Somit liefern Ausführungsbeispiele eine Implementierung eines qualitativ hochwertigen Verfahrens für eine Delay- Interpolation, wie es beispielsweise in Wellenfeldsynthese- wiedergabesystemen genutzt werden kann. Ausführungsbeispie- Ie bieten ferner Weiterentwicklungen der Algorithmik für Wellenfeldsynthese-Reproduktionssysteme. Dabei wird speziell auf Verfahren zur Delay-Interpolation eingegangen, da diese einen großen Einfluss auf die Wiedergabequalität bewegter Quellen besitzen. Aufgrund der Qualitätsan- forderungen und des äußerst hohen Einflusses dieser Algorithmen auf die Performance des gesamten Wiedergabesystems bedarf es neuartiger Signalverarbeitungsalgorithmen für die Wellenfeldsynthese . Wie oben detailliert erläutert ist es damit insbesondere möglich interpolierte Bruchteile mit einer höheren Genauigkeit zu berücksichtigen. Die höhere Genauigkeit zeigt sich dabei in einem deutlich verbesserten Höreindruck. Wie oben beschrieben sind aufgrund der erhöh-
ten Genauigkeit Artefakte, die insbesondere bei bewegten Quellen auftreten, kaum zu hören.
Ausführungsbeispiele beschreiben insbesondere zwei effi- ziente Verfahren, welche diese Anforderungen erfüllen und die entwickelt, implementiert und analysiert worden sind.
Insbesondere wird darauf hingewiesen, dass abhängig von den Gegebenheiten das erfindungsgemäße Schema auch in Software implementiert sein kann. Die Implementierung kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder einer CD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computerprogrammprodukt mit auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computerpro- grammprodukt auf einem Rechner abläuft. In anderen Worten ausgedrückt kann die Erfindung somit als ein Computerprogramm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computerprogramm auf einem Computer abläuft.