Vorrichtung und Verfahren zum Speichern von Audiodateien
Beschreibung
Die vorliegende Erfindung bezieht sich auf das Gebiet der Wellenfeldsynthese und insbesondere auf die Ansteuerung einer Wellenfeldsynthese-Rendering-Einrichtung mit zu verarbeitenden Daten.
Die vorliegende Erfindung bezieht sich auf Wellenfeldsyn- these-Konzepte und insbesondere auf effiziente Wellenfeld- synthese-Konzept in Verbindung mit einem Multi-Renderer- System.
Es besteht ein steigender Bedarf an neuen Technologien und innovativen Produkten im Bereich der Unterhaltungselektronik;. Dabei ist es eine wichtige Voraussetzung für den Erfolg neuer multimedialer Systeme, optimale Funktionalitäten bzw. Fähigkeiten anzubieten. Erreicht wird das durch den Einsatz digitaler Technologien und insbesondere der Computertechnik. Beispiele hierfür sind die Applikationen, die einen verbesserten realitätsnahen audiovisuellen Eindruck bieten. Bei bisherigen Audiosystemen liegt ein wesentlicher Schwachpunkt in der Qualität der räumlichen Schallwiedergabe von natürlichen, aber auch von virtuellen Umgebungen.
Verfahren zur mehrkanaligen Lautsprecherwiedergabe von Audiosignalen sind seit vielen Jahren bekannt und standardi- siert. Alle üblichen Techniken besitzen den Nachteil, dass sowohl der Aufstellungsort der Lautsprecher als auch die Position des Hörers dem Übertragungsformat bereits eingeprägt sind. Bei falscher Anordnung der Lautsprecher im Bezug auf den Hörer leidet die Audioqualität deutlich. Ein optimaler Klang ist nur in einem kleinen Bereich des Wiedergaberaums, dem so genannten Sweet Spot, möglich.
Ein besserer natürlicher Raumeindruck sowie eine stärkere Einhüllung bei der Audiowiedergabe kann mit Hilfe einer neuen Technologie erreicht werden. Die Grundlagen dieser Technologie, die so genannte Wellenfeldsynthese (WFS; WFS = Wave-Field Synthesis) , wurden an der TU DeIft erforscht und erstmals in den späten 80er-Jahren vorgestellt (Berkhout, A. J.; de Vries, D.; Vogel, P.: Acoustic control by Wave- field Synthesis. JASA 93, 1993).
Infolge der enormen Anforderungen dieser Methode an Rechnerleistung und Übertragungsraten wurde die Wellenfeldsynthese bis jetzt nur selten in der Praxis angewendet. Erst die Fortschritte in den Bereichen der Mikroprozessortechnik und der Audiocodierung gestatten heute den Einsatz dieser Technologie in konkreten Anwendungen. Erste Produkte im professionellen Bereich werden nächstes Jahr erwartet. In wenigen Jahren sollen auch erste Wellenfeldsynthese- Anwendungen für den Konsumerbereich auf den Markt kommen.
Die Grundidee von WFS basiert auf der Anwendung des Huy- gens' sehen Prinzips der Wellentheorie:
Jeder Punkt, der von einer Welle erfasst wird, ist Ausgangspunkt einer Elementarwelle, die sich kugelförmig bzw. kreisförmig ausbreitet.
Angewandt auf die Akustik kann durch eine große Anzahl von Lautsprechern, die nebeneinander angeordnet sind (einem so genannten Lautsprecherarray) , jede beliebige Form einer einlaufenden Wellenfront nachgebildet werden. Im einfachs¬ ten Fall, einer einzelnen wiederzugebenden Punktquelle und einer linearen Anordnung der Lautsprecher, müssen die Audiosignale eines jeden Lautsprechers mit einer Zeitverzögerung und Amplitudenskalierung so gespeist werden, dass sich die abgestrahlten Klangfelder der einzelnen Lautsprecher richtig überlagern. Bei mehreren Schallquellen wird für je¬ de Quelle der Beitrag zu jedem Lautsprecher getrennt be¬ rechnet und die resultierenden Signale addiert. Befinden
sich die wiederzugebenden Quellen in einem Raum mit reflektierenden Wänden, dann müssen auch Reflexionen als zusätzliche Quellen über das Lautsprecherarray wiedergegeben werden. Der Aufwand bei der Berechnung hängt daher stark von der Anzahl der Schallquellen, den Reflexionseigenschaften des Aufnahmeraums und der Anzahl der Lautsprecher ab.
Der Vorteil dieser Technik liegt im Besonderen darin, dass ein natürlicher räumlicher Klangeindruck über einen großen Bereich des Wiedergaberaums möglich ist. Im Gegensatz zu den bekannten Techniken werden Richtung und Entfernung von Schallquellen sehr exakt wiedergegeben. In beschränktem Maße können virtuelle Schallquellen sogar zwischen dem realen Lautsprecherarray und dem Hörer positioniert werden.
Obgleich die Wellenfeldsynthese für Umgebungen gut funktioniert, deren Beschaffenheiten bekannt sind, treten doch Unregelmäßigkeiten auf, wenn sich die Beschaffenheit ändert bzw. wenn die Wellenfeldsynthese auf der Basis einer Umge- bungsbeschaffenheit ausgeführt wird, die nicht mit der tatsächlichen Beschaffenheit der Umgebung übereinstimmt.
Eine Umgebungsbeschaffenheit kann durch die Impulsantwort der Umgebung beschrieben werden.
Dies wird anhand des nachfolgenden Beispiels näher dargelegt. Es wird davon ausgegangen, dass ein Lautsprecher ein Schallsignal gegen eine Wand aussendet, deren Reflexion unerwünscht ist. Für dieses einfache Beispiel würde die Raum- kompensation unter Verwendung der Wellenfeldsynthese darin bestehen, dass zunächst die Reflexion dieser Wand bestimmt wird, um zu ermitteln, wann ein Schallsignal, das von der Wand reflektiert worden ist, wieder beim Lautsprecher ankommt, und welche Amplitude dieses reflektierte Schallsig- nal hat. Wenn die Reflexion von dieser Wand unerwünscht ist, so besteht mit der Wellenfeldsynthese die Möglichkeit, die Reflexion von dieser Wand zu eliminieren, indem dem Lautsprecher ein zu dem Reflexionssignal gegenphasiges Sig-
nal mit entsprechender Amplitude zusätzlich zum ursprünglichen Audiosignal eingeprägt wird, so dass die hinlaufende Kompensationswelle die Reflexionswelle auslöscht, derart, dass die Reflexion von dieser Wand in der Umgebung, die be- trachtet wird, eliminiert ist. Dies kann dadurch geschehen, dass zunächst die Impulsantwort der Umgebung berechnet wird und auf der Basis der Impulsantwort dieser Umgebung die Beschaffenheit und Position der Wand bestimmt wird, wobei die Wand als Spiegelquelle interpretiert wird, also als Schall- quelle, die einen einfallenden Schall reflektiert.
Wird zunächst die Impulsantwort dieser Umgebung gemessen und wird dann das Kompensationssignal berechnet, das dem Audiosignal überlagert dem Lautsprecher eingeprägt werden muss, so wird eine Aufhebung der Reflexion von dieser Wand stattfinden, derart, dass ein Hörer in dieser Umgebung schallmäßig den Eindruck hat, dass diese Wand überhaupt nicht existiert.
Entscheidend für eine optimale Kompensation der reflektierten Welle ist jedoch, dass die Impulsantwort des Raums genau bestimmt wird, damit keine Über- oder Unterkompensation auftritt.
Die Wellenfeldsynthese ermöglicht somit eine korrekte Abbildung von virtuellen Schallquellen über einen großen Wiedergabebereich. Gleichzeitig bietet sie dem Tonmeister und Toningenieur neues technisches und kreatives Potential bei der Erstellung auch komplexer Klanglandschaften. Die WeI- lenfeldsynthese (WFS oder auch Schallfeldsynthese) , wie sie Ende der 80-er Jahre an der TU Delft entwickelt wurde, stellt einen holographischen Ansatz der Schallwiedergabe dar. Als Grundlage hierfür dient das Kirchhoff-Helmholtz- Integral. Dieses besagt, dass beliebige Schallfelder inner- halb eines geschlossenen Volumens mittels einer Verteilung von Monopol- und Dipolschallquellen (Lautsprecherarrays) auf der Oberfläche dieses Volumens erzeugt werden können.
Bei der Wellenfeldsynthese wird aus einem Audiosignal, das eine virtuelle Quelle an einer virtuellen Position aussendet, eine Synthesesignal für jeden Lautsprecher des Laut- sprecherarrays berechnet, wobei die Synthesesignale derart hinsichtlich Amplitude und Phase gestaltet sind, dass eine Welle, die sich aus der Überlagerung der einzelnen durch die im Lautsprecherarray vorhandenen Lautsprecher ausgegebenen Schallwelle ergibt, der Welle entspricht, die von der virtuellen Quelle an der virtuellen Position herrühren wür- de, wenn diese virtuelle Quelle an der virtuellen Position eine reale Quelle mit einer realen Position wäre.
Typischerweise sind mehrere virtuelle Quellen an verschiedenen virtuellen Positionen vorhanden. Die Berechnung der Synthesesignale wird für jede virtuelle Quelle an jeder virtuellen Position durchgeführt, so dass typischerweise eine virtuelle Quelle in Synthesesignalen für mehrere Lautsprecher resultiert. Von einem Lautsprecher aus betrachtet empfängt dieser Lautsprecher somit mehrere Synthesesignale, die auf verschiedene virtuelle Quellen zurückgehen. Eine Überlagerung dieser Quellen, die aufgrund des linearen Superpositionsprinzips möglich ist, ergibt dann das von dem Lautsprecher tatsächlich ausgesendete Wiedergabesignal.
Die Möglichkeiten der Wellenfeldsynthese können um so besser ausgeschöpft werden, je größer die Lautsprecherarrays sind, d. h. um so mehr einzelne Lautsprecher bereitgestellt werden. Damit steigt jedoch auch die Rechenleistung, die eine Wellenfeldsyntheseeinheit vollbringen muss, da typi- scherweise auch Kanalinformationen berücksichtigt werden müssen. Dies bedeutet im einzelnen, dass von jeder virtuellen Quelle zu jedem Lautsprecher prinzipiell ein eigener Übertragungskanal vorhanden ist, und dass prinzipiell der Fall vorhanden sein kann, dass jede virtuelle Quelle zu ei- nem Synthesesignal für jeden Lautsprecher führt, bzw. dass jeder Lautsprecher eine Anzahl von Synthesesignalen erhält, die gleich der Anzahl von virtuellen Quellen ist.
Wenn insbesondere bei Kinoanwendungen die Möglichkeiten der Wellenfeldsynthese dahingehend ausgeschöpft werden sollen, dass die virtuellen Quellen auch beweglich sein können, so ist zu erkennen, dass aufgrund der Berechnung der Synthese- Signale, der Berechnung der Kanalinformationen und der Erzeugung der Wiedergabesignale durch Kombination der Kanalinformationen und der Synthesesignale ganz erhebliche Rechenleistungen zu bewältigen sind.
Darüber hinaus sei an dieser Stelle angemerkt, dass die Qualität der Audiowiedergabe mit der Anzahl der zur Verfügung gestellten Lautsprecher steigt. Dies bedeutet, dass die Audiowiedergabequalität um so besser und realistischer wird, um so mehr Lautsprecher in dem bzw. den Lautsprecher- arrays vorhanden sind.
Im obigen Szenario könnten die fertig gerenderten und ana- log-digital-gewandelten Wiedergabesignale für die einzelnen Lautsprecher beispielsweise über Zweidrahtleitungen von der Wellenfeldsynthese-Zentraleinheit zu den einzelnen Lautsprechern übertragen werden. Dies hätte zwar den Vorteil, dass nahezu sichergestellt ist, dass alle Lautsprecher synchron arbeiten, so dass hier zu Synchronisationszwecken keine weiteren Maßnahmen erforderlich wären. Andererseits könnte die Wellenfeldsynthese-Zentraleinheit immer nur für einen speziellen Wiedergaberaum bzw. für eine Wiedergabe mit einer festgelegten Anzahl von Lautsprechern hergestellt werden. Dies bedeutet, dass für jeden Wiedergaberaum eine eigene Wellenfeldsynthese-Zentraleinheit gefertigt werden müsste, die ein erhebliches Maß an Rechenleistung zu vollbringen hat, da die Berechnung der Audiowiedergabesignale insbesondere im Hinblick auf viele Lautsprecher bzw. viele virtuelle Quellen zumindest teilweise parallel und in Echtzeit erfolgen muss.
Das Deutsche Patent DE 10254404 B4 offenbart ein System, wie es in Fig. 7 dargestellt ist. Ein Teil ist das zentrale Wellenfeldsynthesemodul 10. Der andere Teil setzt sich aus
einzelnen Lautsprechermodulen 12a, 12b, 12c, 12d, 12e zusammen, die mit tatsächlichen physikalischen Lautsprechern 14a, 14b, 14c, 14d, 14e derart verbunden sind, wie es in Fig. 1 gezeigt ist. Es sei darauf hingewiesen, dass die An- zahl der Lautsprecher 14a-14e bei typischen Anwendungen im Bereich über 50 und typischerweise sogar deutlich über 100 liegt. Wird jedem Lautsprecher ein eigenes Lautsprechermodul zugeordnet, so wird auch die entsprechende Anzahl von Lautsprecher-Modulen benötigt. Je nach Anwendung wird es jedoch bevorzugt, von einem Lautsprecher-Modul aus eine kleine Gruppe von nebeneinander liegenden Lautsprechern anzusprechen. In diesem Zusammenhang ist es beliebig, ob ein Lautsprecher-Modul, das mit vier Lautsprechern beispielsweise verbunden ist, die vier Lautsprecher mit demselben Wiedergabesignal speist, oder ob für die vier Lautsprecher entsprechende unterschiedliche Synthesesignale berechnet werden, so dass ein solches Lautsprecher-Modul eigentlich aus mehreren einzelnen Lautsprecher-Modulen besteht, die jedoch physikalisch in einer Einheit zusammengefasst sind.
Zwischen dem Wellenfeldsynthesemodul 10 und jedem einzelnen Lautsprecher-Modul 12a-12e befindet sich eine eigene Übertragungsstrecke lβa-16e, wobei jede Übertragungsstrecke mit dem zentralen Wellenfeldsynthesemodul und einem eigenen Lautsprecher-Modul gekoppelt ist.
Als Datenübertragungsmodus zum Übertragen von Daten von dem Wellenfeldsynthesemodul zu einem Lautsprecher-Modul wird ein serielles Übertragungsformat bevorzugt, das eine hohe Datenrate liefert, wie beispielsweise ein sogenanntes Fire¬ wire-Übertragungsformat oder ein USB-Datenformat. Daten¬ übertragungsraten von über 100 Megabit pro Sekunde sind vorteilhaft.
Der Datenstrom, der von dem Wellenfeldsynthesemodul 10 zu einem Lautsprecher-Modul übertragen wird, wird somit je nach gewähltem Datenformat in dem Wellenfeldsynthesemodul entsprechend formatiert und mit einer Synchronisationsin-
formation versehen, die in üblichen seriellen Datenformaten vorgesehen ist. Diese Synchronisationsinformation wird von den einzelnen Lautsprecher-Modulen aus dem Datenstrom extrahiert und verwendet, um die einzelnen Lautsprecher-Module im Hinblick auf ihre Wiedergabe, also letztendlich auf die Analog-Digital-Wandlung zum Erhalten des analogen Lautsprechersignals und die dafür vorgesehene Abtastung (re- sampling) zu synchronisieren. Das zentrale Wellenfeldsyn- thesemodul arbeite als Master, und alle Lautsprecher-Module arbeiten als Clients, wobei die einzelnen Datenströme über die verschiedenen Übertragungsstrecken 16a-16e alle dieselben Synchronisationsinformationen von dem Zentralmodul 10 erhalten. Dies stellt sicher, dass alle Lautsprecher-Module synchron, und zwar synchronisiert von dem Master 10, arbei- ten, was für das Audiowiedergabesystem wichtig ist, um keinen Verlust an Audioqualität zu erleiden, damit die vom Wellenfeldsynthesemodul berechneten Synthesesignale nicht zeitversetzt von den einzelnen Lautsprechern nach entsprechendem Audio-Rendering abgestrahlt werden.
Das beschriebene Konzept liefert zwar bereits eine deutliche Flexibilität im Hinblick auf ein Wellenfeldsynthese- System, das für verschiedene Anwendungsmöglichkeiten skalierbar ist. Es leidet jedoch nach wie vor an der Problema- tik, dass das zentrale Wellenfeldsynthese-Modul, das das eigentliche Haupt-Rendering durchführt, das also abhängig von den Positionen der virtuellen Quellen und abhängig von den Lautsprecherpositionen die einzelnen Synthese-Signale für die Lautsprecher berechnet, einen „Flaschenhalsw für das gesamte System darstellt. Obgleich bei diesem System das „Nach-RenderingλX, also die Beaufschlagung der Synthesesignale mit Kanalübertragungsfunktionen, etc. bereits dezentral ausgeführt wird und somit bereits die notwendige Datenübertragungskapazität zwischen dem zentralen Renderer- Modul und den einzelnen Lautsprecher-Modulen durch Selektion von Synthesesignalen mit einer kleineren Energie als einer bestimmten Schwellenenergie reduziert worden ist, müssen jedoch dennoch alle virtuellen Quellen gewissermaßen
für alle Lautsprechermodule gerendert werden, also in Synthesesignale umgerechnet werden, wobei die Ausselektion erst nach dem Rendering stattfindet.
Dies bedeutet, dass das Rendering nach wie vor die Gesamt- kapazität des Systems bestimmt. Ist die zentrale Rendering- Einheit daher z. B. in der Lage, 32 virtuelle Quellen gleichzeitig zu rendern, also für diese 32 virtuellen Quel¬ len die Synthesesignale gleichzeitig zu berechnen, so tre- ten ernsthafte Kapazitätsengpässe auf, wenn mehr als 32 Quellen zu einem Zeitpunkt in einer Audioszene aktiv sind. Für einfache Szenen ist dies ausreichend. Für komplexere Szenen, insbesondere mit immersiven Klangeindrücken, also wenn es beispielsweise regnet und viele Regentropfen ein- zelne Quellen darstellen, ist es ummittelbar einsichtig, dass die Kapazität mit maximal 32 Quellen nicht mehr aus¬ reicht. Eine entsprechende Situation findet auch dann statt, wenn man ein großes Orchester hat und tatsächlich jeden Orchesterspieler oder wenigstens jede Instrumenten- gruppe als eigene Quelle an ihrer eigenen Position verarbeiten möchte. Hier können 32 virtuelle Quellen sehr schnell zu wenig werden.
Typischerweise wird bei dem bekannten Wellenfeldsynthese- Konzept eine Szenenbeschreibung verwendet, in der die einzelnen Audioobjekte derart zusammen definiert sind, dass unter Verwendung der Daten in der Szenenbeschreibung und der Audiodaten für die einzelnen virtuellen Quellen die komplette Szene durch einen Renderer bzw. eine Multi- Rendering-Anordnung aufbereitet ' werden kann. Hierbei ist für jedes Audioobjekt exakt definiert, wo das Audioobjekt zu beginnen hat und wo das Audioobjekt zu enden hat. Ferner ist für jedes Audioobjekt genau die Position der virtuellen Quelle angegeben, an der die virtuelle Quelle sein soll, die also in die Wellenfeldsynthese-Rendering-Einrichtung einzugeben ist, damit für jeden Lautsprecher die entspre¬ chenden Synthesesignale erzeugt werden. Dies hat zur Folge, dass durch Überlagerung der von den einzelnen Lautsprechern
als Reaktion auf die Synthesesignale ausgegebenen Schallwellen für einen Hörer ein Eindruck entsteht, als ob eine Schallquelle an einer Position im Wiedergaberaum bzw. außerhalb des Wiedergaberaums positioniert ist, die durch die Quellenposition der virtuellen Quelle definiert ist.
Typischerweise sind die Kapazitäten des Wellenfeldsynthese- Systems begrenzt. Dies führt dazu, dass jeder Renderer eine begrenzte Rechenkapazität hat. Typischerweise ist ein Ren- derer in der Lage, 32 Audioquellen gleichzeitig zu verarbeiten. Ferner hat ein Übertragungsweg von dem Audioserver zum Renderer eine begrenzte Übertragungsbandbreite, also liefert eine maximale Übertragungsrate in Bit pro Sekunde.
Für einfache Szenen, in denen z. B. nur, wenn an einen Dialog gedacht wird, zwei virtuelle Quellen existieren, wobei zusätzlich noch für ein Hintergrundgeräusch eine weitere virtuelle Quelle vorhanden ist, ist die Verarbeitungskapazität des Renderers, der ja z. B. 32 Quellen gleichzeitig verarbeiten kann, unproblematisch. Ferner ist in diesem Fall das Übertragungsvolumen zu einem Renderer so klein, dass die Kapazität der Übertragungsstrecke ausreichend ist.
Probleme werden jedoch dann auftreten, wenn komplexere Sze- nen wiederzugeben sind, also Szenen, die mehr als 32 virtuelle Quellen haben. In einem solchen Fall, der beispielsweise auftritt, um eine Szene im Regen korrekt wiederzugeben, oder um eine Applausszene naturgetreu wiederzugeben, wird die maximale Rechenkapazität eines Renderers, der auf 32 virtuelle Quellen begrenzt ist, schnell nicht mehr ausreichend sein. Dies liegt daran, dass sehr viele einzelne virtuelle Quellen existieren, da z. B. in einer Zuhörerschaft prinzipiell jeder Zuhörer, der klatscht, als eigene virtuelle Quelle an einer eigenen virtuellen Positi- on aufgefasst werden kann. Um mit dieser Begrenzung umzugehen, existieren mehrere Möglichkeiten. So besteht eine Möglichkeit darin, bereits beim Erstellen der Szenenbeschrei-
bung darauf zu achten, dass niemals ein Renderer gleichzeitig 32 Audioobjekte verarbeiten muss.
Insbesondere wenn an eine Kapazitätsvergrößerung der WeI- lenfeldsynthese-Verarbeitung gedacht wird, wenn also eine große Anzahl von virtuellen Quellen durch einzelne oder mehrere Renderer-Module aufbereitet werden sollen, wird es irgendwann zu Kapazitätsengpässen kommen. Dies liegt daran, dass ein typischer Renderer nur eine bestimmte maximale An- zahl von virtuellen Quellen gleichzeitig verarbeiten kann. Diese Anzahl kann beispielsweise bei 32 liegen. Die maximale Verarbeitungskapazität eines Renderers ist jedoch nicht der einzige Flaschenhals eines Systems. So muss ein Renderer dann, wenn er z. B. 32 virtuelle Quellen gleichzeitig verarbeiten soll, auch mit den entsprechenden Audiodateien für die 32 virtuellen Quellen gleichzeitig versorgt werden. Typischerweise hat ein Renderer einen Eingangspuffer, der die Anforderungen an die Datenübertragung zwar etwas entzerrt, der jedoch insbesondere dann, wenn der Renderer sehr viele Quellen gleichzeitig verarbeitet, wenn also sehr viele Daten vom Puffer genommen werden, auch entsprechend schnell gefüllt werden muss.
Ist die Datenübertragungs-Infrastruktur so gestaltet, dass sie mit der Datennachlieferung nicht mehr hinterherkommt, so gehen dem Renderer gewissermaßen Daten zum Aufbereiten aus. Der Renderer könnte eine solche Situation noch etwas kompensieren, indem er einfach die letzten Daten so lange wiederholt, bis neue Daten ankommen. Dies ist jedoch in der Datenverwaltung aufwendig und kann zu hörbaren Artefakten führen. Diese Artefakte werden schlimmer sein, wenn die virtuelle Quelle eine Quelle mit einer deterministischen Information ist, wie beispielsweise Sprache, Musik, etc. Weniger kritisch wird diese Wiederholung von vorhandenen Daten sein, wenn die virtuelle Quelle eine Rauschquelle o- der allgemein gesagt eine Geräuschquelle ist. Allerdings ist auch eine Unterscheidung hierbei problematisch, und zwar insbesondere in dem Kontext, dass solche „zusätzli-
chen" Aufgaben für einen Renderer eigentlich genau dann durchzuführen wären, wenn der Renderer ohnehin bereits an seiner maximalen Auslastungsgrenze fährt, was ja letztendlich die Ursache für das „Ausgehen" der zu rendernden Au- diodaten war.
Die Aufgabe der vorliegenden Erfindung besteht darin, ein Konzept zum Speichern von Audiodateien zu schaffen, das eine höher qualitative und einfacher implementierbare Wellen- feldsynthese ermöglicht.
Diese Aufgabe wird durch eine Vorrichtung zum Speichern von Audiodateien nach Patentanspruch 1, ein Verfahren zum Speichern von Audiodateien nach Patentanspruch 13 und ein Com- puter-Programm nach Patentanspruch 14 gelöst.
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, dass eine effiziente Datenorganisation entscheidend ist, dass ein Renderer auch dann, wenn er an seiner Auslastungs- grenze arbeitet, mit genügend Daten versorgt wird. Typischerweise werden die Daten, mit denen der Renderer versorgt wird, aus einem Speichergerät ausgelesen, wie beispielsweise einer Festplatte eines PC oder einer Workstation.
Es wurde jedoch herausgefunden, dass die Zugriffszeiten auf die Audiodateien wesentlich davon abhängen, wie die Audiodateien auf dem Speichermedium in dem Speichergerät gespeichert sind. Ein dauerndes Springen des Schreib/Lese-Kopfes der Festplatte führt dazu, dass die Auslese-Performance des Speichergeräts so stark abnimmt, dass in bestimmten Situationen nicht mehr sichergestellt werden kann, dass ein Renderer mit ausreichend Daten versorgt wird. So wurde ferner herausgefunden, dass dies insbesondere in einer Szene der Fall sein kann, in der der Renderer ohnehin an seiner Auslastungsgrenze oder nahe an seiner Auslastungsgrenze arbeitet. Dagegen ist die Situation dann unproblematischer, wenn der Renderer in einer anderen Szene nicht so sehr an seiner
Auslastungsgrenze arbeitet und daher auch nicht so viele Daten benötigt. Hier sind daher Sprünge des Schreib/Lese- Kopfes des Speichergeräts gut hinnehmbar.
Erfindungsgemäß wird daher gewissermaßen als Vorbereitung einer Wellenfeldsynthese-Wiedergabe eine effiziente Speicherung der Audiodateien vorgenommen, wobei eine Szenenübergreifende Speicheroptimierung angewendet wird. So werden die Szenenbeschreibungen untersucht, um eine erste Sze- ne herauszufinden, die eine höhere Verarbeitungskapazität des Wellenfeldsynthese-Systems fordert als eine andere zweite Szene. Dann wird die Schreibeinrichtung des Speichergeräts so gesteuert, dass sie die Audiodateien, die durch die Szenenbeschreibung der ersten Szene identifiziert sind, so auf das Speichergerät schreibt, dass eine Leseeinrichtung des Speichergeräts die Audiodateien für die erste Szene schneller auslesen kann als wenn die Audiodateien für die erste Szene rein zufällig auf dem Speichergerät gespeichert sind. Im Gegensatz zu einer normalen Festplattenumge- bung, bei der Dateien immer dort auf der Festplatte gespeichert werden, wo der Lesekopf gerade ist, also in einer gewissen zufälligen Art und Weise, werden erfindungsgemäß die Audiodateien für die Szene, die das Wellenfeldsynthese- System stark auslastet, optimiert geschrieben, was natür- lieh dazu führt, dass die Audiodateien für andere Szenen nicht optimal geschrieben werden. Dies ist jedoch dahingehend unproblematisch, da bei anderen Szenen ein Speichergerät mehr Zugriffszeit haben kann, da die für die andere Szene erforderliche Datenübertragungsrate ohnehin nicht so hoch ist, da weniger virtuelle Quellen parallel zu verarbeiten sind.
Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird insbesondere für Audiodateien, die in mehre- ren Szenen verwendet werden, eine Speicherung der Audiodateien auf dem Speichergerät so vorgenommen, dass der Speicherzugriff für die Szene, die die höchste Auslastung des Wellenfeldsynthese-Systems mit sich bringt, optimal ge-
schrieben ist, während viele Sprünge für andere Szenen, die auf dieselbe Audiodatei zugreifen, in Kauf genommen werden.
In einem Speichergerät mit mehreren parallel verwendbaren Einzelspeichermedien, wie beispielsweise einem RAID-Array, wird es bevorzugt, parallel zu verwendende Audiodateien auf parallelen Einzelspeichermedien abzuspeichern, damit sie für die Szene, wo ohnehin ein Kapazitätsproblem vorherrscht, maximal schnell ausgelesen werden, während für andere Szenen gleichzeitig zu verarbeitende Audiodateien nicht auf getrennten Platten sondern z. B. auf ein und derselben Platte sind, was jedoch im Hinblick auf die dort ohnehin nicht so hohe Auslastung unkritisch ist.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen detailliert erläutert. Es zeigen:
Fig. 1 ein Blockschaltbild des erfindungsgemäßen Kon- zepts zum Speichern von Audiodateien;
Fig. Ib ein beispielhaftes Audiostück mit Szenen unterschiedlicher Wellenfeldsynthese-System- Auslastung;
Fig. Ic ein erstes Beispiel für eine optimierte Szenenübergreifende Speicherung;
Fig. Id ein zweites Beispiel für eine optimierte Szenen- übergreifende Speicherung;
Fig. 2 ein beispielhaftes Audioobjekt;
Fig. 3 eine beispielhafte Szenenbeschreibung;
Fig. 4 einen Bitstrom, in dem jedem Audioobjekt ein Header mit den aktuellen Zeitdaten und Positionsdaten zugeordnet ist;
Fig. 5 eine Einbettung des erfindungsgemäßen Konzepts in ein Wellenfeldsynthese-GesamtSystem;
Fig. 6 eine schematische Darstellung eines bekannten Wellenfeldsynthese-Konzepts; und
Fig. 7 eine weitere Darstellung eines bekannten Wellen- feldsynthese-Konzepts .
Fig. 1 zeigt eine erfindungsgemäße Vorrichtung zum Speichern von Audiodateien für ein Audiostück in einem Speichergerät mit einer Schreibeinrichtung und einer Leseeinrichtung, die bei dem in Fig. Ia gezeigten Ausführungsbei- spiel als gemeinsamer Schreib/Lese-Kopf 2 ausgebildet ist. Das Audiostück soll durch einen Renderer eines Wellenfeld- synthese-Systems 3 aufbereitet werden. Das Audiostück um- fasst insbesondere mehrere Szenen, wobei für jede Szene eine eigene Szenenbeschreibung vorgesehen ist, und wobei eine Szene eine zeitliche Folge von Audioobjekten der Szene aufweist. Insbesondere umfasst ein Audioobjekt Informationen über eine virtuelle Quelle und eine Identifikation für eine dem Audioobjekt zugeordnete Audiodatei.
Erfindungsgemäß ist eine Einrichtung 4 zum Untersuchen der Szenenbeschreibungen und zum Ermitteln einer ersten Szene, die eine höhere Verarbeitungskapazität des Wellenfeldsyn- these-Systems fordert als eine zweite Szene vorgesehen. Hierzu können, wie es in Fig. Ia gezeigt ist, der Einrich- tung 4 gegebenenfalls Informationen über das Wellenfeldsyn- these-System 3 und insbesondere über die aktuelle Auslastung des Renderers im Wellenfeldsynthese-System zugeführt werden. Die Einrichtung 4 steuert eine Steuereinrichtung 5. Die Steuereinrichtung 5 ist ausgebildet, um den Schreib- Lese-Kopf 2 so zu steuern, dass Audiodateien, die durch die Szenenbeschreibung der ersten Szene identifiziert werden, also Audiodateien für die Szene mit höherer Auslastung, so auf dem Speichergerät 1 geschrieben werden, dass die Lese-
einrichtung 2 die Audiodateien für die erste Szene schneller auslesen kann als wenn die Audiodateien für die erste Szene zufällig auf dem Speichergerät gespeichert worden wären. Die Audiodateien kommen vorzugsweise von einem weite- ren Speichergerät 6, das eine CD oder DVD sein kann und werden entweder direkt über die Steuereinrichtung auf das Speichergerät geschrieben oder werden gesteuert von der Steuereinrichtung direkt von dem zusätzlichen Speicher 6 dem Schreib-Lese-Kopf 2 des Speichergeräts 1 natürlich in der richtigen Reihenfolge, wie sie durch die Steuereinrichtung 5 bestimmt worden ist, zugeführt.
Die Steuereinrichtung 5 ist insbesondere ausgebildet, um das Speichergerät 1, das z. B. eine Festplatte ist, so zu beschreiben, dass auf jeden Fall keine Fraktionierung auftritt, dass also alle Audiodateien durchgehend geschrieben werden. Ferner ist die Steuereinrichtung ausgebildet, um Audiodateien an bestimmten Stellen in der Festplatte zu schreiben. Es wird also das Abspeichern, also das tatsäch- liehe Beschreiben der physischen Festplatte, nicht mehr, wie in herkömmlichen Festplatten, der Festplattensteuerung allein bzw. dem Zufall überlassen. Statt dessen ist die Steuereinrichtung 5 ausgebildet, um den Schreib-Lese-Kopf 2 des Speichergeräts 1 genau so zu steuern, dass Audiodateien genau in einer bestimmten Reihenfolge und Anordnung auf dem Speichergerät gespeichert werden. Damit wird sichergestellt, dass dann, wenn das Wellenfeldsynthese-System ein Audiostück abspielen soll, der Lesekopf zumindest für die Szenen, bei denen das Wellenfeldsynthese-System ohnehin an seiner Auslastungsgrenze arbeitet, möglichst schnell auslesen kann, also z. B. entlang einer Spur ohne dazwischen auftretende Sprünge eine Audiodatei nach der anderen lesen und dem Wellenfeldsynthese-System 3 zuführen kann. Dagegen werden für andere Szenen, wie es noch Bezug nehmend auf Fig. Id beschrieben wird, Sprünge in Kauf genommen, was je¬ doch für diese Szenen nicht so schlimm ist, da ohnehin die zum Renderer zu übertragenden Daten nicht so voluminös sind.
An dieser Stelle sei darauf hingewiesen, dass aufgrund der inhärenten Dynamik von Audiostücken insbesondere bei anspruchsvollen Audioszenen, wie sie erfindungsgemäß verar- beitet werden sollen, die Auslastung des Wellenfeldsynthe- se-Systems keineswegs konstant ist. Stattdessen wird sich das Auslastungsprofil durch eine außerordentlich hohe Dynamik auszeichnen. So werden genauso Szenen vorhanden sein oder Abschnitte in Szenen, bei denen die Auslastung sehr gering ist, während dann unmittelbar anschließend die Auslastung sofort an die Maximalgrenze gehen kann. Eine solche Situation kann man sich dann gut vorstellen, wenn ein Musikstück von einem Instrument (nur eine Quelle) verklingt und dann unmittelbar der Applaus (sehr viele verschiedene Quellen) des Publikums startet.
Erfindungsgemäß werden die Audiodateien Szenen-übergreifend optimiert gespeichert. Hierzu wird untersucht, welche Audiodateien überhaupt benötigt werden, wenn eine Szene mit hoher Auslastung abgespielt wird, um dann eben genau diese Audiodateien optimiert abzuspeichern.
Wie es in Fig. Ia gezeigt ist, umfasst ein Wellenfeldsyn- these-System 3 als zentrales Element einen Renderer oder mehrere Renderer-Module. Angesteuert werden die Renderer typischerweise von einem Scheduler, welcher vorzugsweise ausgebildet ist, um unter Verwendung gegebenenfalls vorgesehener Audioobjektmanipulationen die Datenströme für die Renderer zu erzeugen. Der Scheduler ist somit dafür verant- wortlich, die Daten schnell aus dem Speichergerät 1 auszulesen und dem nachgeordneten Renderer zuzuführen, welcher dann aus den Audiodateien Synthesesignale erzeugt, die den einzelnen Lautsprechern im Lautsprecherarray zugeführt werden.
Das erfindungsgemäße Abspeichern der Audiodateien in Sze¬ nen-übergreifend optimierter Form dient also einer Vorbe¬ reitung der eigentlichen Wellenfeldsynthese-Aufbereitung,
die in Fig. Ia auch mit „Abspielen" bezeichnet ist. Das er¬ findungsgemäße Szenen-übergreifend optimierte Speichern dient also dazu, dass beim Abspielen ein schnelles Daten¬ auslesen stattfinden kann, das so schnell ist, dass zumin- dest die Speicherschnittstelle nicht der Flaschenhals der Wellenfeldsynthese-Verarbeitung sein wird.
Fig. Ib zeigt ein beispielhaftes Audiostück mit einer ers¬ ten Szene und einer zweiten Szene, wobei in der ersten Sze- ne parallel vier Quellen bzw. vier Audiodateien ADl, AD2, AD3, AD4 aufbereitet werden müssen, während in der zweiten Szene höchstens drei Audiodateien parallel aufbereitet wer¬ den müssen, nämlich AD6, AD7 und ADl.
Erfindungsgemäß wird nachfolgend anhand von Fig. Ic eine Speicheroptimierung dargestellt, die für mehrere parallele Platten ausgebildet ist. So wird als Priorität genommen, dass die Audiodateien der ersten Szene optimal gespeichert werden, was dazu führt, dass die Audiodateien ADl, AD2 auf der Platte 1 gespeichert werden und die Audiodateien AD3, AD4 auf der Platte 2. Diese Speicherung ist, wie es aus Fig. Ic zu sehen ist, für die zweite Szene nachteilhaft, da dort ADl und AD7 gleichzeitig benötigt werden, da diese beiden Audiodateien parallel zueinander aufbereitet werden. Dennoch sind beide Dateien auf derselben Platte 1 gespei¬ chert und ferner noch durch die Audiodatei AD2 voneinander getrennt. Zum Auslesen der Audiodateien für die zweite Sze¬ ne wird die Festplatte daher einige Sprünge machen müssen und kann ferner nicht von der parallelen Anordnung von Platte 1 und Platte 2 profitieren. Allerdings ist dies auch unkritisch, da die Datenanforderung in der zweiten Szene ohnehin geringer ist als in der ersten Szene, da in der zweiten Szene die Auslastung des Wellenfeldsynthese- Systems geringer als in der ersten Szene ist.
Fig. Id zeigt eine Anordnung der Audiodateien auf einer Spur 7 auf einem Speichermedium, wie beispielsweise einer Festplatte. Beispielhaft zeigt Fig. Id eine serielle Anord-
nung auf einem einzigen Speichermedium im Gegensatz zum Pa- rallel-Speichermedium von Fig. Ic. So ist zu sehen, dass die Audiodateien der ersten Szene nacheinander abgespeichert sind, sodass ein Lesekopf nicht springen muss, um die Audiodateien der ersten Szene einzulesen. Dies führt zu einer sehr schnellen Datenbereitstellung der Audiodateien ADl bis AD4.
Zum Einlesen der Audiodateien der zweiten Szene sind jedoch einige Sprünge erforderlich. So muss der Lesekopf des Spei¬ chergeräts nach dem Einlesen der Audiodatei AD5 zur Audiodatei AD2 springen, um dann, nachdem die Audiodatei AD2 eingelesen worden ist, wieder zurück zur Audiodatei ADβ zu springen. Ähnlich ist die Situation auch dann, wenn nach der Audiodatei AD7 die Audiodatei ADl eingelesen werden muss.
So ist zu sehen, dass bei dem in Fig. Id gezeigten Ausführungsbeispiel zum Einlesen der ersten Szene keinerlei Sprünge des Lesekopfs benötigt werden, während zum Einlesen der zweiten Szene bereits vier Sprünge des Lesekopfs benötigt werden, die den Zugriff auf die Daten im Speichergerät verlangsamen, was jedoch für die zweite Szene wesentlich weniger kritisch ist als für die erste Szene, bei der es von hoher Bedeutung ist, dass die Daten reibungslos ausgelesen werden, damit dem Renderer zum Aufbereiten der ersten Szene nicht die Daten ausgehen.
Erfindungsgemäß wird also der Tatsache Rechnung getragen, dass die Datenorganisation für die effiziente Datenausgabe entscheidend ist. Die notwendige Transferrate zum Speisen eines Renderers kann von Medien von CD oder DVD bei vielen Ausführungsbeispielen nicht gewährleistet werden. Daher ist eine Festplatten-basierte Verwaltung notwendig. Erfindungs- gemäß wird für komplexe Szenen eine Optimierung des Speicherlayouts vorgenommen, um die Einhaltung der Zeitforderungen zu garantieren.
Erfindungsgemäß wird somit eine effiziente Auslieferung der Audio- und Metadaten einerseits und eine effiziente Datenorganisation andererseits erreicht. So lässt sich über die Metadaten die Abspielreihenfolge der Audiodaten entspre- chend der objektorientierten Szenenbeschreibung festlegen. Ist die Abspielreihenfolge bekannt, so kann der Zugriff auf die Audiodaten beim Abspielen optimiert werden. Der Rechner muss sich nicht mehr an beliebigen Stellen auf der Festplatte oder anderen Speichermedien die Audiodaten „zusam- mensuchen", sondern ist in der Lage, die Audiodaten hintereinander wegzulesen, ohne dass der Lesezugriff große Sprünge im Speicher erfordert. Durch die Reduktion des Aufwands beim Lesezugriff auf die Audiodaten ist es möglich, die Ressourcen effizienter zu nutzen und somit mehr Audioobjek- te gleichzeitig in Echtzeit zu verarbeiten.
Bei der Datenorganisation wird es bevorzugt, eine zentrale Datenbank zu verwenden. Durch die zentrale Organisation wird die Konsistenz der Audio- und Metadaten gewährleistet. Des weiteren erleichtert der Einsatz einer Datenbank die Produktion von Wellenfeldsynthese-Szenen erheblich. So wird es bevorzugt, eine Datenbank einzusetzen, die einen Suchmechanismus zum Finden bestimmter Daten in der Datenbank erlaubt. Damit wird eine Szenen-übergreifende Wiederverwend- barkeit von Audioobjekten geschaffen. Audiodaten können so beispielsweise in mehreren Szenen gleichermaßen verwendet werden, ohne dass diese beim Erstellen einer neuen Szene erneut importiert werden müssen. Weiterhin lässt sich mit Hilfe der Datenbank die Versionierung von Audio- und Meta- daten realisieren. Dies erlaubt es, dass der Nutzer den Zugriff auf ältere Versionen seiner Szenenbeschreibung erhält, was den Produktionsprozess ebenfalls erleichtert.
An dieser Stelle sei darauf hingewiesen, dass das Speicher- gerät nicht unbedingt eine zentrale Datenbank sein muss, sondern als ganz normaler Datei-Server ausgeführt sein kann. Es wird jedoch bevorzugt, eine Audiodatenbank einzusetzen, die insbesondere dann von Vorteil ist, wenn be-
stimmtes Audiomaterial von verschiedenen unterschiedlichen Szenen verwendet wird. So kennt die Audiodatenbank alle Szenen und weiß, welche Szenen welches Audiomaterial wann verwenden. Ferner hat die Audiodatenbank Zugriff auf die Audiodaten und kann die Speicherfolge der Audiodaten auf der Festplatte bestimmen. Außerdem kann die Audiodatenbank eine optimale Szenen-übergreifende Speicherreihenfolge für die Audiodaten erstellen. Schließlich kann die Audiodaten¬ bank auch Engpässe entdecken und bei der Abspeicherung der Audiodaten entsprechend darauf reagieren.
Erfindungsgemäß kann dies alternativ auch darüber reali¬ siert werden, dass man alle Szenendateien an einer zentra¬ len Stelle speichert und ein Programm realisiert, das alle Szenendateien ausliest und daraus die Speicherreihenfolge der Audiodateien auf dem Server ableitet. Eine Datenbank erzwingt jedoch die zentrale Speicherung der Szenendateien, welche für die Optimierung der Reihenfolge der Speicherung der Audiodateien bevorzugt wird.
Erfindungsgemäß wird also eine zeitliche und räumliche An¬ ordnung von Audioquellen und eine daraus folgende Optimie¬ rung der Speicherreihenfolge der Audiodaten auf dem Speichermedium vorgenommen. Hierzu wird eine Szenen- übergreifende Optimierung der Daten verwendet, die vorzugs¬ weise auf eine zentrale Speicherung und Verwaltung von Szenen zurückgreift.
Nachfolgend wird Bezug nehmend auf Fig. 2 auf Informationen hingewiesen, die ein Audioobjekt vorteilhaft haben sollte. So soll ein Audioobjekt die Audiodatei spezifizieren, die gewissermaßen den Audioinhalt einer virtuellen Quelle dar¬ stellt. So muss das Audioobjekt jedoch nicht die Audiodatei umfassen, sondern kann einen Index haben, der auf eine de- finierte Stelle in einer Datenbank verweist, an der die tatsächliche Audiodatei gespeichert ist.
Ferner umfasst ein Audioobjekt vorzugsweise eine Identifi¬ kation der virtuellen Quelle, die beispielsweise eine Quellennummer oder ein aussagefähiger Dateiname etc. sein kann. Ferner spezifiziert das Audioobjekt bei der vorliegenden Erfindung eine Zeitspanne für den Beginn und/oder das Ende der virtuellen Quelle, also der Audiodatei. Wird nur eine Zeitspanne für den Beginn spezifiziert, so bedeutet dies, dass der tatsächliche Startpunkt der Aufbereitung dieser Datei durch den Renderer innerhalb der Zeitspanne verändert werden kann. Wird zusätzlich eine Zeitspanne für das Ende vorgegeben, so bedeutet dies, dass auch das Ende innerhalb der Zeitspanne variiert werden kann, was insgesamt je nach Implementierung zu einer Variation der Audiodatei auch hinsichtlich ihrer Länge führen wird. Jegliche Implementierun- gen sind möglich, so z. B. auch eine Definition der Start/Endzeit einer Audiodatei so, dass zwar der Startpunkt verschoben werden darf, dass jedoch auf keinen Fall die Länge verändert werden darf, sodass damit automatisch das Ende der Audiodatei ebenfalls verschoben wird. Insbesondere für Geräusche wird es jedoch bevorzugt, auch das Ende variabel zu halten, da es typischerweise nicht problematisch ist, ob z. B. ein Windgeräusch etwas früher oder später anfängt, oder ob es etwas früher oder später endet. Weitere Spezifizierungen sind je nach Implementierung möglich bzw. erwünscht, wie beispielsweise eine Spezifikation, dass zwar der Startpunkt variiert werden darf, nicht jedoch der Endpunkt, etc.
Vorzugsweise umfasst ein Audioobjekt ferner eine Ortsspanne für die Position. So wird es für bestimmte Audioobjekte keine Rolle spielen, ob sie z. B. von vorne links oder vor¬ ne Mitte kommen, oder ob sie um einen (kleinen) Winkel bezüglich eines Bezugspunkts im Wiedergaberaum verschoben werden. So existieren jedoch auch, wie es ausgeführt worden ist, Audioobjekte insbesondere wieder aus dem Geräuschbereich, die an jeder beliebigen Stelle positioniert werden können und damit eine maximale Ortsspanne haben, die beispielsweise durch einen Code für „beliebig" oder durch kei-
nen Code (implizit) im Audioobjekt spezifiziert werden kann.
Ein Audioobjekt kann weitere Informationen umfassen, wie beispielsweise eine Angabe über die Art der virtuellen
Quelle, also ob es sich bei der virtuellen Quelle um eine
Punktquelle für Schallwellen handeln muss, oder ob es sich um eine Quelle für ebene Wellen handeln muss, oder ob es sich um eine Quelle handeln muss, die Quellen beliebiger Wellenfront erzeugt, sofern die Renderer-Module in der Lage sind, solche Informationen zu verarbeiten.
Fig. 3 zeigt beispielhaft eine schematische Darstellung einer Szenenbeschreibung, in der die zeitliche Abfolge ver- schiedener Audioobjekte AOl, .... AOn+1 dargestellt ist. Insbesondere wird auf das Audioobjekt AO3 hingewiesen, für das eine Zeitspanne, wie sie in Fig. 3 eingezeichnet ist, definiert ist. So können sowohl der Startpunkt als auch der Endpunkt des Audioobjekts AO3 in Fig. 3 um die Zeitspanne verschoben werden. Die Definition des Audioobjekts A03 lautet jedoch dahingehend, dass die Länge nicht verändert werden darf, was jedoch von Audioobjekt zu Audioobjekt variabel einstellbar ist.
So ist zu sehen, dass durch Verschieben des Audioobjekts AO3 in positiver zeitlicher Richtung eine Situation erreicht werden kann, bei der das Audioobjekt A03 erst nach dem Audioobjekt A02 beginnt. Werden beide Audioobjekte auf demselben Renderer abgespielt, so kann durch diese Maßnahme eine kurze Überschneidung 20, die ansonsten vielleicht auftreten würde, vermieden werden. Wäre das Audioobjekt A03 im Stand der Technik bereits das Audioobjekt, das über der Kapazität eines Renderers liegen würde, aufgrund bereits sämtlicher weiterer zu verarbeitender Audioobjekte auf dem Renderer, wie beispielsweise Audioobjekt A02 und Audioobjekt AOl, so würde ohne die vorliegende Erfindung eine komplette Unterdrückung des Audioobjekts AO3 auftreten, obgleich die Zeitspanne 20 lediglich sehr klein war. Erfin-
dungsgemäß wird das Audioobjekt AO3 durch die Audioobjekt- manipulationseinrichtung 3 verschoben, sodass keine Kapazitätsüberschreitung und damit auch keine Unterdrückung des Audioobjekts A03 mehr stattfindet.
Bei dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wird eine Szenenbeschreibung verwendet, die relative Angaben hat. So wird die Flexibilität dadurch erhöht, dass der Beginn des Audioobjekts AO2 nicht mehr in einem absoluten Zeitpunkt gegeben wird, sondern in einem relativen Zeitraum zum Audioobjekt AOl. Entsprechend wird auch eine relative Beschreibung der Ortsangaben bevorzugt, also nicht, dass ein Audioobjekt an einer bestimmten Position xy im Wiedergaberaum anzuordnen ist, sondern z. B. um einen Vektor versetzt zu einem anderen Audioobjekt oder zu einem Referenzobjekt ist.
Dadurch kann die Zeitspanneninformation bzw. Ortsspanneninformation sehr effizient aufgenommen werden, nämlich ein- fach dadurch, dass die Zeitspanne so festgelegt ist, dass sie zum Ausdruck bringt, dass das Audioobjekt A03 z. B. in einem Zeitraum zwischen zwei Minuten und zwei Minuten und 20 Sekunden nach dem Start des Audioobjekts AOl beginnen kann.
Eine solche relative Definition der Raum- und Zeitbedingungen führt zu einer datenbankmäßig effizienten Darstellung in Form von Constraints, wie sie z. B. in „Modeling Output Constraints in Multimedia Database Systems", T. Heimrich, 1. internationale Multimedia Modelling Conference, IEEE, 2. Januar 2005 bis 14. Januar 2005, Melbourne, beschrieben ist. Hier wird die Verwendung von Constraints in Datenbanksystemen dargestellt, um konsistente Datenbankzustände zu definieren. Insbesondere werden zeitliche Constraints unter Verwendung von Alien-Beziehungen und räumliche Constraints unter Verwendung von räumlichen Beziehungen beschrieben. Hieraus können günstige Ausgabe-Constraints zu Synchronisationszwecken definiert werden. Solche Ausgabe-Constraints
umfassen eine zeitliche oder räumliche Bedingung zwischen den Objekten, eine Reaktion im Falle einer Verletzung eines Constraints und eine Überprüfungszeit, also wann ein solcher Constraint überprüft werden muss.
Bei dem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung werden die räumlichen/zeitlichen Ausgabe-Objekte jeder Szene relativ zueinander modelliert. Die Audioobjekt- manipulationseinrichtung erreicht eine Überführung dieser relativen und variablen Definitionen in eine absolute räumliche und zeitliche Ordnung. Diese Ordnung stellt das Aus- gabe-Schedule dar, das am Ausgang 6a des in Fig. 1 gezeigten Systems erhalten wird und definiert, wie insbesondere das Renderer-Modul im Wellenfeldsynthesesystem angesprochen wird. Das Schedule ist also ein Ausgabeplan, der die Audiodaten entsprechend der Ausgabebedingungen anordnet.
Nachfolgend wird anhand von Fig. 4 ein bevorzugtes Ausführungsbeispiel eines solchen Ausgabe-Schedules dargelegt. Insbesondere zeigt Fig. 4 einen Datenstrom, der gemäß Fig. 4 von links nach rechts übertragen wird, also von der Audioobjekt-Manipulationseinrichtung 3 von Fig. 1 zu einem oder mehreren Wellenfeldsynthese-Renderern des Wellenfeld- systems 0 von Fig. 1. Insbesondere umfasst der Datenstrom für jedes Audioobjekt bei dem in Fig. 4 gezeigten Ausführungsbeispiel zunächst einen Header H, in dem die Positionsinformationen und die Zeitinformationen stehen, und nachgeordnet eine Audiodatei für das spezielle Audioobjekt, die in Fig. 4 mit AOl für das erste Audioobjekt, A02 für das zweite Audioobjekt etc. bezeichnet ist.
Ein Wellenfeldsynthese-Renderer erhält dann den Datenstrom und erkennt z. B. an einer vorhandenen und fest vereinbarten Synchronisationsinformation, dass nunmehr ein Header kommt. Anhand einer weiteren Synchronisationsinformation erkennt der Renderer dann, dass der Header nunmehr vorbei ist. Alternativ kann für jeden Haeder auch eine feste Länge in Bits vereinbart werden.
Nach dem Empfang des Headers weiß der Audio-Renderer bei dem in Fig. 4 gezeigten bevorzugten Ausführungsbeispiel der vorliegenden Erfindung automatisch, dass die nachfolgende Audiodatei, also z. B. AOl, zu dem Audioobjekt, also zu der Quellenposition gehört, die in dem Header identifiziert ist.
Fig. 4 zeigt eine serielle Datenübertragung zu einem WeI- lenfeldsynthese-Renderer. Allerdings werden natürlich mehrere Audioobjekte gleichzeitig in einem Renderer abgespielt. Daher benötigt der Renderer einen Eingangs-Puffer, dem eine Datenstrom-Leseeinrichtung vorausgeht, um den Datenstrom zu parsen. Die Datenstromleseeinrichtung wird dann den Header interpretieren und die zugehörigen Audiodaten entsprechend speichern, damit der Renderer dann, wenn ein Audioobjekt zum Rendern an der Reihe ist, die korrekte Audiodatei und die korrekte Quellenposition aus dem Eingangspuffer ausliest. Andere Daten für den Datenstrom sind na- türlich möglich. Auch eine separate Übertragung sowohl der Zeit/Orts-Informationen als auch der tatsächlichen Audiodaten kann verwendet werden. Die in Fig. 4 dargestellte kombinierte Übertragung wird jedoch bevorzugt, da sie durch Verkettung der Positions/Zeit-Informationen mit der Audio- datei Datenkonsistenzprobleme eliminiert, da immer sichergestellt wird, dass der Renderer für Audiodaten auch die richtige Quellenposition hat und nicht z. B. noch Audiodaten von einer früheren Quelle rendert, jedoch bereits Positionsinformationen der neuen Quelle zum Rendern verwendet.
Die vorliegende Erfindung basiert somit auf einem objektorientierten Ansatz, dass also die einzelnen virtuellen Quellen als Objekte aufgefasst werden, die sich durch eine Audiodatei und eine virtuelle Position im Raum und mögli- cherweise durch die Art und Weise der Quelle auszeichnen, also ob sie eine Punktquelle für Schallwellen oder eine Quelle für ebene Wellen oder eine Quelle für anders geformte Quellen sein soll.
Wie es ausgeführt worden ist, ist die Berechnung der Wellenfelder sehr rechenzeitintensiv und an die Kapazitäten der verwendeten Hardware, wie beispielsweise Soundkarten und Rechner, im Zusaitimenspiel mit der Effizienz der Berechnungsalgorithmen gebunden. Auch die beste ausgestattete PC- basierte Lösung stößt somit bei der Berechnung der Wellen- feldsynthese schnell an ihre Grenzen, wenn viele anspruchsvolle Klangereignisse gleichzeitig dargestellt werden sol- len. So gibt die Kapazitätsgrenze der verwendeten Soft- und Hardware die Beschränkung hinsichtlich der Anzahl der virtuellen Quellen bei der Abmischung und Wiedergabe vor.
Fig. 6 zeigt ein solches in seiner Kapazität begrenztes be- kanntes Wellenfeldsynthese-Konzept, das ein Authoring- Werkzeug 60, ein Steuer-Renderer-Modul 62 und einen Audioserver 64 umfasst, wobei das Steuer-Renderer-Modul ausgebildet ist, um ein Lautsprecherarray 66 mit Daten zu versorgen, damit das Lautsprecher-Array 66 eine gewünschte Wellenfront 68 durch Überlagerung der Einzelwellen der einzelnen Lautsprecher 70 erzeugt. Das Authoring-Werkzeug 60 erlaubt es dem Nutzer, Szenen zu erstellen, zu editieren und das Wellenfeldsynthese-basierte System zu steuern. Eine Szene besteht sowohl aus Informationen zu den einzelnen virtuellen Audioquellen als auch aus den Audiodaten. Die Eigenschaften der Audioquellen und der Referenzen auf die Audiodaten werden in einer XML-Szenendatei gespeichert. Die Audiodaten selbst werden auf dem Audioserver 64 abgelegt und von dort aus an das Renderer-Modul übertragen. Gleich- zeitig erhält das Renderer-Modul die Steuerdaten vom Authoring-Werkzeug, damit das Steuer-Renderer-Modul 62, das zentral ausgeführt ist, die Synthesesignale für die einzelnen Lautsprecher erzeugen kann. Das in Fig. 6 gezeigte Konzept ist in „Authoring System for Wave Field Synthesis", F. Melchior, T. Röder, S. Brix, S. Wabnik und C. Riegel, AES Convention Paper, 115. AES-Versammlung, 10. Oktober 2003, New York, beschrieben.
Wird dieses Wellenfeldsynthese-System mit mehreren Rende- rer-Modulen betrieben, so wird dabei jeder Renderer mit denselben Audiodaten versorgt, egal, ob der Renderer aufgrund der ihm zugeordneten begrenzten Zahl von Lautspre- ehern diese Daten für die Wiedergabe benötigt oder nicht. Da jeder der aktuellen Rechner in der Lage ist, 32 Audio- quel,len zu berechnen, stellt dies die Grenze für das System dar. Andererseits soll die Anzahl der im Gesamtsystem ren- derbaren Quellen effizient deutlich erhöht werden. Dies ist eine der wesentlichen Voraussetzungen für komplexe Anwendungen, wie beispielsweise Kinofilme, Szenen mit immersiven Atmosphären, wie beispielsweise Regen oder Applaus oder andere komplexe Audioszenen.
Erfindungsgemäß wird eine Reduktion redundanter Datenübertragungsvorgänge und Datenverarbeitungsvorgänge in einem Wellenfeldsynthese-Mehr-Renderer-System erreicht, was zu einer Erhöhung der Rechenkapazität bzw. der Anzahl von gleichzeitig berechenbaren Audioquellen erreicht.
Zur Reduktion der redundanten Übertragung und Verarbeitung von Audio- und Metadaten zum einzelnen Renderer des Mehr- Renderer-Systems wird der Audioserver um die Datenausgabeeinrichtung erweitert, welche in der Lage ist, zu ermit- teln, welcher Renderer welche Audio- und Metadaten benötigt. Die Datenausgabeeinrichtung, gegebenenfalls unterstützt durch den Datenmanager benötigt bei einem bevorzugten Ausführungsbeispiel mehrere Informationen. Diese Informationen sind zunächst die Audiodaten, dann Zeit- und Posi- tionsdaten der Quellen und schließlich die Konfiguration der Renderer, also Informationen über die verbundenen Lautsprecher und ihre Positionen sowie deren Kapazität. Mit Hilfe von Datenmanagementtechniken und der Definition von Ausgabebedingungen wird ein Ausgabe-Schedule durch die Da- tenausgabeeinrichtung mit einer zeitlichen und räumlichen Anordnung der Audioobjekte erzeugt. Aus der räumlichen Anordnung, dem zeitlichen Schedule und der Rendererkonfiguration berechnet das Datenmanagementmodul dann, welche Quelle
für welche Renderer zu einem bestimmten Zeitpunkt von Relevanz sind.
Ein bevorzugtes Gesamtkonzept ist in Fig. 5 dargestellt. Die Datenbank 22 ist ausgangsseitig um die Datenausgabeeinrichtung 24 ergänzt, wobei die Datenausgabeeinrichtung auch als Scheduler bezeichnet wird. Dieser Scheduler erzeugt dann an seinen Ausgängen 20a, 20b, 20c für die verschiedenen Renderer 50 die Renderer-Eingangssignale, damit die entsprechenden Lautsprecher der Lautsprecherarrays versorgt werden.
Vorzugsweise wird der Scheduler 24 noch durch einen Stora- ge-Manager 52 unterstützt, um mittels eines RAID-Systems und entsprechender Datenorganisationsvorgaben die Datenbank 42 zu konfigurieren.
Auf der Eingangsseite steht ein Daten-Erzeuger 54, welcher beispielsweise ein Tonmeister oder ein Audioingenieur sein kann, der eine Audioszene objektorientiert modellieren bzw. beschreiben soll. Hierbei gibt er eine Szenenbeschreibung vor, die entsprechende Ausgabebedingungen 56 umfasst, die dann gegebenenfalls nach einer Transformation 58 zusammen mit Audiodaten in der Datenbank 22 gespeichert werden. Die Audiodaten können mittels eines Insert/Update-Werkzeugs 59 manipuliert und aktualisiert werden.
Abhängig von den Gegebenheiten kann das erfindungsgemäße Verfahren in Hardware oder in Software implementiert wer- den. Die Implementierung kann auf einem digitalen Speichermedium, insbesondere einer Diskette oder CD, mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das Verfahren ausgeführt wird. Allgemein besteht die Erfin- düng somit auch in einem Computer-Programm-Produkt mit einem auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des Verfahrens, wenn das Computer-Programm-Produkt auf einem Rechner abläuft. In anderen
Worten ausgedrückt kann die Erfindung somit als ein Computer-Programm mit einem Programmcode zur Durchführung des Verfahrens realisiert werden, wenn das Computer-Programm auf einem Computer abläuft.