Frei spezifizierbare Echtzeit-Steuerung
HINTERGRUND UND EINSATZBEREICH DER ERFINDUNG
Die Erfindung bezieht sich auf ein Verfahren zur grafischen Visualisierung und Echtzeit-Ansteuerung von virtuellen und/oder realen Objekten zur Erzeugung und/oder Beeinflussung von Bild- bzw. Tonsequenzen, mit dessen Hilfe auf einem Bildschirm dargestellte bzw. reale Objekte wie beispielsweise Roboter oder dergleichen durch interaktive Steuerbefehle eines Benutzers in ihren Eigenschaften und/oder Aktionen auf eine komfortable und zuverlässige Weise (quasi) in Echtzeit manipuliert bzw. gesteuert werden können. Insbesondere be- zieht sich die vorliegende Erfindung auf ein Verfahren zur Animation und Bewegungssteuerung eines dreidimensionalen (realen oder virtuellen) Gelenk-Objekts in Echtzeit, auf ein Verfahren zur frei spezifizierbaren Steuerung von animierten Grafiken, Video- bzw. Audiodaten mit Hilfe von optischen bzw. akustischen Parametern, auf ein Computersoftware-Produkt zur Ausführung eines solchen Verfahrens sowie auf ein System zur Echtzeit-Bewegungssteuerung von virtuellen und/oder realen Obj ekten.
Es sei angemerkt, dass „Objekte" im Sinne der Erfindung virtuelle Objekte, aber auch reale Objekte wie Roboter oder andere ferngesteuerte Objekte mit mehreren Freiheitsgraden sein können.
Im Rahmen der interaktiven Kommunikation zwischen Mensch und Maschine treten häufig Probleme auf, die auf der ungenügenden Anpassung der Maschine an die Eigenschaften der Aufnahme, Verarbeitung und Ausgabe von Information durch den menschlichen Anwender beruhen. Diese Fehlanpassung kann einerseits zu einer vom Anwender nicht mehr zu bewältigenden Informations-
flut führen, vor allem wenn mehrere Aufgaben erledigt werden müssen. Andererseits kann auch eine Unterforderung des Anwenders, beispielsweise bei einer hochautomatisierten Anlage, bei der dem Menschen lediglich eine Kontrollfunktion zukommt, bewirken, dass durch die Monotonie der Arbeitssituation ein Leistungsabfall eintritt und Störfälle infolge mangelnder Übung der Vorgehensweise in solchen Situationen nicht mehr beherrscht werden. Auch die mangelnde Berücksichtigung von Kenntnissen und Ausbildungsstand des Benutzers einer Maschine sind hier zu nennen. Noch immer wird in vielen Fällen das menschliche Verhalten, zum Beispiel bei der Auswahl, Bewertung und Verknüpfung von Information, bei der Entscheidungs- findung, beim Problemlosen sowie bei der Planung und Ausführung von Handlungen, nur unzureichend berücksichtigt und un- terstützt, wenn es sich um die Auslegung technischer Systeme handelt .
Die derzeit verwendeten Systeme zur Darstellung und Steuerung von Objekten in virtuellen Umgebungen berücksichtigen zwar in zunehmendem Maße die Fähigkeiten des Menschen zur Aufnahme und Verarbeitung von Information, jedoch weisen sie einen entscheidenden Nachteil auf: Bei der Eingabe von Steuerbefehlen zur direkten Beeinflussung der dargestellten Szene ist der Benutzer nach wie vor auf herkömmliche Methoden zur manu- eilen Eingabe von Information angewiesen, wie zum Beispiel über Maus, Trackball, Joystick, Grafiktablett mit Griffel oder Touchscreen. Die hierbei notwendigen Eingabemechanismen müssen vom Benutzer erst erlernt werden, um auch in einer angemessenen Reaktionsgeschwindigkeit ausgeführt werden zu kön- nen. Dagegen werden die angeborenen bzw. bereits vorhandenen erlernten Fähigkeiten des Menschen zur Kommunikation mittels akustischen Signalen (z.B. Sprache) bzw. optischen Signalen (z.B. Mimik, Gestik, Gebärden und Bewegungen) bei der Eingabe von Information zur Steuerung von Objekten nur unzureichend berücksichtigt.
Für die Anpassung technischer Systeme an den Menschen ist somit Vorwissen über seine Eigenschaften, seine Verhaltensmus- ter, seine Fertigkeiten und seinen Kenntnisstand notwendig. Beim Austausch von Informationen zwischen einem Benutzer und einem Informationssystem interessieren dabei insbesondere die sensorischen, kognitiven und motorischen Eigenschaften des Menschen .
Auf der Seite der durch die Sinneskanäle vorgegebenen sensorischen Eigenschaften des Menschen werden von herkömmlichen Maschinen und Geräten zur Ausgabe von Information im Wesentlichen die folgenden Wahrnehmungskanäle angesprochen:
- der visuelle Kanal (Augen) durch optische Signale,
- der auditive Kanal (Ohren) durch akustische Signale und
- der taktile Kanal (Tastsinn) durch haptische Signale.
Mach der Verarbeitung der Signale im Gehirn (Kognition) ste- hen auf der Seite der durch die Ausgabekanäle vorgegebenen motorischen Eigenschaften des Menschen im Wesentlichen folgende Kanäle zur Verfügung:
- die Arm-, Hand- und Finger- bzw. Bein- und Fußmotorik sowie Körper-, Kopf-, Augen- oder Mundbewegungen, also physikalische Bewegungen, Gebärden, Gestik und Mimik zur Erzeugung von mechanischen bzw. optischen Signalen,
- die Sprachmotorik zur Erzeugung von akustischen Signalen.
Über diese Kanäle können Signale in ein Informationssystem eingegeben werden, um eine gewünschte Aktion des Systems auszulösen.
Ein ideales Medium zur Kommunikation zwischen einem Benutzer und einem Informationssystem sollte sowohl auf die sensorischen und perzeptuellen als auch auf die motorischen Fähigkeiten sowie auf die spezifischen Eigenschaften des menschli- chen Benutzers abgestimmt sein. Dabei sollte die Information so strukturiert sein, dass eine optimale Übereinstimmung zwischen der Repräsentation der ausgegebenen Information und dem mentalen Modell des Benutzers erzielt wird: Werden die dem Benutzer anzuzeigenden Informationen in einer Weise dargebo- ten, dass zum Beispiel sein räumliches Wahrnehmungsvermögen angesprochen wird, kann der Benutzer mit erstaunlich komplexen Informationsmengen pro Zeiteinheit umgehen. Ebenso sollte das Informationssystem in der Lage sein, möglichst viele Arten der von einem Benutzer abgesetzten Information aufzuneh- men, zu verstehen und zu verarbeiten und in entsprechende Aktionen umzusetzen. Damit ist der Vorteil verbunden, dass der Benutzer effizienter und schneller auf neue Ereignisse und Situationen reagieren kann. Benutzerfreundlichkeit und Aufga- benangemessenheit sind somit typische Merkmale, über die ein solches ideales Kommunikationsmedium verfügt. Diese Merkmale können sich wie folgt äußern:
- Übereinstimmung zwischen Art, Umfang und Ausgabegeschwindigkeit und Präsentation der ausgegebenen Information mit den sensorischen Eigenschaften des menschlichen Benutzers,
- Berücksichtigung aller Informationskanäle des Benutzers bei der Aufnahme, Erkennung und Interpretation empfangener Steuersignale des Benutzers,
- leichte Erlernbarkeit und intuitive Bedienbarkeit des Mediums,
- hohe Bandbreite der Informationsübermittlung zum Gehirn und hoher Durchsatz der Information,
- dynamische Adaption der Applikation an die individuellen Eigenschaften, Fähigkeiten, Aufgaben, Arbeits- und Organisationstechniken des Benutzers,
- Verwendung einer natürlichen Interaktionssprache mit hohem semantischen Inhalt,
- Zuverlässigkeit, Robustheit und Wartbarkeit des Mediums,
- soziale Akzeptanz des Mediums in der Bevölkerung,
- Berücksichtigung gesundheitlicher, ergonomischer und sicherheitsrelevanter Aspekte etc.
Das Ziel der Entwicklung von geeigneten Schnittstellen zwischen Mensch und Maschine ist es, von den Eigenschaften der menschlichen Kommunikationskanäle und Fertigkeiten auszugehen, um Geräte, Interaktionstechniken und Schnittstellen be- reitzustellen, die eine effektive wechselseitige Kommunikation über diese Kanäle gewährleisten. Um dieses Ziel zu erreichen, sind sogenannte "Virtuelle Realitäten" (VR) besonders geeignet. Unter dem Begriff "Virtuelle Realität" (VR) versteht man die computerbasierte Erzeugung einer intuitiv wahrnehmbaren oder empfindbaren Szene, bestehend aus ihrer ςfrafischen Darstellung und den Interaktionsmöglichkeiten für den Benutzer. Eine virtuelle Umgebung ermöglicht einem Benutzer Zugriff zu Informationen, die andernfalls am gegebenen Ort oder zur gegebenen Zeit nicht verfügbar wären. Sie stützt sich auf natürliche Aspekte der menschlichen Wahrnehmung, indem sie visuelle Information in drei räumlichen Dimensionen einsetzt. Diese Information kann beispielsweise gezielt verändert oder mit weiteren sensorischen Reizen angereichert werden. Wesentliche Voraussetzungen sind dabei die Kontrolle
der Perspektive in Echtzeit und die Möglichkeit der aktiven
Einflussnah e auf die dargestellte Szene durch den Benutzer des Systems.
5 Bei der Navigation durch virtuelle Umgebungen kann der Benutzer die für ihn natürliche Art der Steuerung einsetzen. Dies können beispielsweise entsprechende Arm- oder Beinbewegungen, Bewegungen zum Positionieren des Kopfes bzw. der Augen, Drehbewegungen des Körpers oder auf ein Objekt hingerichtete Bell) wegungen sein. Durch den Einsatz bereits vorhandener Fertigkeiten des Benutzers zur Steuerung kann die kognitive Belastung während der Interaktion zwischen Mensch und Maschine reduziert werden. Dadurch kann die Bandbreite' der Kommunikation zwischen Mensch und Maschine erhöht und die Bedienbar- 15 keit der Maschine verbessert werden. Während bei den herkömmlichen Formen der Mensch-Maschine-Kommunikation die Steuerung der Maschine kommandoorientiert erfolgt, müssen bei der Steuerung von Objekten in virtuellen Umgebungen keine spezifischen Kommandos neu erlernt und eingesetzt werden: Der Co pu- 20 ter "beobachtet" den Benutzer passiv und reagiert in angemessener Weise auf Augen-, Kopf- und/oder Handbewegungen des Benutzers unter EchtZeitbedingungen.
Die Manipulation der Eigenschaften und Beeinflussung der Ak- 25 tionen von Objekten einer dargestellten Szene setzt ein kompliziertes Zusammenspiel von Sensorik, kognitiver Verarbeitung und Motorik voraus, auf das viele Faktoren einwirken (individuelle Verhaltensmuster und Fähigkeiten, Erfahrungen, Umwelteinflüsse etc.). Bei Interaktionen in einer virtuellen 30 Welt kommen noch zusätzliche Schwierigkeiten hinzu. Zur Steuerung, Manipulation bzw. Beeinflussung von Objekten ist insbesondere eine reflexartige bzw. kognitive sensorisch-motori- sche Rückkopplung wichtig, die beispielsweise von Rezeptoren in der Haut, kinästhetischen Empfindungen, dem Gleichge- 35 ichtssinn sowie visuellen und/oder akustischen Empfindungen
stammt. Dabei ergibt sich in vielen Fällen eine notwendige
Redundanz, die bei VR-Applikationen nicht immer gegeben ist.
Aufgrund der oft unzureichenden sensorischen Rückkopplung bei
VR-Applikationen wird zudem das Erlernen motorischer Fertig- keiten erschwert.
Bei den handelsüblichen VR-Applikationen unterscheidet man Systeme, bei denen der Benutzer vollständig in die virtuelle Umgebung integriert ist (engl.: "Immersion") und Systeme, die nur ein "Fenster" zur virtuellen Realität darbieten. Neben den bekannten Formen der Mensch-Maschine-Kommunikation wie
- Direktmanipulationen von Objekten durch manuelle feinmotorische Operationen (Zeigen, Berühren, Greifen, Bewegen, Festhalten etc.),
- formalen Interaktionssprachen (Programmiersprachen, Kommandosprachen und formale Abfragesprachen) ,
- natürlichsprachlicher Interaktion,
- gestischer Interaktion mittels nonverbaler symbolischer Kommandos (Mimik, Gestik, Gebärden, Bewegungen) sowie
- hybriden aufgabenorientierten Interaktionsformen
kann man virtuelle Realitäten auch als eine neue Form der Mensch-Maschine-Kommunikation auffassen. Wie der Name "Virtuelle Realität" schon andeutet, ist hierfür eine gewisse Realitätstreue der Darstellung notwendig: Dem Anwender soll diejenige sensorische Information dargeboten werden, die zur Bearbeitung einer Aufgabe oder zum Erreichen eines Ziels erforderlich ist.
Die visuelle Wahrnehmung liefert nicht nur Informationen über die Lage, Bewegung, Form, Struktur, Kontur, Textur, Farbe bzw. Musterung von Objekten etc., sondern auch Informationen über die relative Körperstellung des Betrachters und dessen
Bewegungen sowie über die Beschaffenheit der dreidimensionalen Umgebung. Synthetisch generierte Umgebungen können dabei realistischer gestaltet werden, wenn möglichst viele der in natürlichen Umgebungen auftretenden Informationen (Bewegungs- parallaxe, Fluchtpunkte der perspektivischen Darstellung, räumliche Tiefenwirkung und Plastizität, Beleuchtung und Schattenwurf, Verdeckung, Glanzwirkung, Spiegelungseffekte und diffuse Reflexion etc.) simuliert werden. Wie viele und welche Informationen präsentiert werden sollen, hängt von der jeweiligen Aufgabenstellung ab. Die Unterschiede zwischen realer und virtueller Welt bestimmen, als wie realistisch die Simulation wahrgenommen wird.
Die visuelle Information muss.zur Realisierung virtueller Re- alitäten durch einen Computer simuliert werden. Dabei sind ähnliche Aspekte relevant wie in der Malerei. Bei der computergestützten Simulation dreidimensionaler Welten wird üblicherweise die Projektion einzelner Lichtstrahlen simuliert.' Ausgangspunkt einer solchen Simulation ist die Spezifikation der zu simulierenden Umgebung. Dazu müssen die einzelnen Objekte mit ihren Eigenschaften und ihrer Lage festgelegt werden. Zur Visualisierung werden dann die Intensitäten einzelner Bildpunkte berechnet und auf das Ausgabemedium proji- ziert .
Mit Hilfe dieser Simulationen lassen sich völlig neue Arten des Lernens und Übens realisieren (Beispiele: Fahrzeug- bzw. Flugzeugsimulator) , andererseits wird dabei immer auch von bestimmten Aspekten der realen Welt abstrahiert. VR-Applika- tionen bewirken daher gleichzeitig eine Anreicherung und eine Einschränkung der Erfahrungsmöglichkeiten des Anwenders.
Grundsätzlich bestehen VR-Systeme aus Sensoren und Aktoren sowie deren Kopplung. Wichtige Hardware-Bestandteile sind un- ter anderem folgende:
- "Displays" zur Präsentation der virtuellen Umgebung: Im Rahmen der visuellen Präsentation kommen heute vor allem Monitore, "Head Mounted Displays" (HMD) , "Binocular Omni- Oriented Monitors" (BOOM) und Projektionssysteme; verwendet werden aber auch auditive bzw. taktile Displays, welche auf akustische bzw. manuelle Benutzereingaben reagieren.
- Positionierungs- und Orientierungssysteme zur Erfassung von Standort und Perspektive des Benutzers: Hierbei wird unterschieden zwischen der Bestimmung der absoluten Position (engl: "Position Tracking") und der Messung der Beugung von Gelenken (engl.: "Angle Measurement") . Zum Einsatz kommen elektromagnetische, kinematische, akustische, optische so- wie bildverarbeitende Prozeduren. ,
- Interaktions- und Manipulationssysteme zum Agieren und Reagieren des Anwenders in der virtuellen Umgebung: Hierfür werden Zeigegeräte (2D- bzw. 3D-Mäuse, -Trackballs, -Joy- sticks etc.) bzw. taktile Geräte (Touchscreens, elektromagnetische Grafiktabletts mit Griffel etc.) verwendet; auch sogenannte "Datenhandschuhe" mit Beugungs- und Drucksensoren werden in zunehmendem Maße eingesetzt. Darüber hinaus ist auch Sprachsteuerung in diesem Zusammenhang zu nennen.
- Berechnungssysteme und Software zur Erzeugung der virtuellen Umgebung unter EchtZeitanforderungen.
- Netzwerke zur Integration verschiedener Benutzer, durch die sich neue Formen der Zusammenarbeit entwickeln können.
Die verschiedenartigen technischen Varianten von heim- bzw. kopfbasierten Systemen zur Visualisierung virtueller Realitäten werden im englischen Sprachgebrauch zusammenfassend als
'Visually Coupled Systems" (VCS) bezeichnet. Sie bestehen aus den folgenden wichtigen Komponenten:
1. einem am Kopf bzw. Helm befestigtes Display,
2. einem Gerät zum Bestimmen der Kopf- und/oder Blickbewegungen des Anwenders,
3. einer Quelle visueller Information, die von der Kopf- und/oder Blickrichtung des Anwenders abhängt.
Beim Einsatz eines derartigen ^Systems für VR-Applikationen können sowohl Informationen aus der realen als auch aus der virtuellen Umgebung gleichzeitig dargeboten werden. Man spricht dabei von "See-Through Displays" für die Darstellung von angereicherten Realitäten.
Die Verfolgung von Kopfbewegungen ist ein wichtiger Bestandteil von VR-Applikationen. Üblicherweiser werden Position und Orientierung des Kopfes im Raum ermittelt, fortgeschrittene Systeme können außerdem die Blickrichtung verfolgen. Die meisten Systeme setzen dazu entweder Ultraschall, magnetische oder Lichtenergie zur Kommunikation zwischen den am Kopf angebrachten Sendern und den Empfängern ein. Wichtige technische Daten, die bei der Auswahl dieser Systeme eine Rolle spielen, sind:
- die Anzahl der Freiheitsgrade für die Bewegungsrichtungen, welche registriert und verfolgt werden können,
- der erfassbare Winkelbereich,
- die statische Genauigkeit (Erschütterungsempfindlichkeit) ,
- das Auflösungsvermögen,
- die Zuverlässigkeit,
- der Datendurchsatz und die Bildschirm-Abtastfrequenz,
- die Schnittstelle zum Computer sowie
- weitere Performanzaspekte .
VR-Applikationen lassen sich in einer Reihe von unterschiedlichen Bereichen in der Praxis erfolgreich anwenden. Im Folgenden werden einige Anwendungsmöglichkeiten beispielhaft skizziert .
- Einsatz im Ausbildungsbereich: Durch das Erlernen des Umgangs mit (virtuellen) Objekten, interaktive Demonstrationen, Visualisierung abstrakter Konzepte, virtuelles Training des Verhaltens in gefährlichen Situationen, virtuelle Erforschung entfernter Orte oder Epochen können Wissen vermittelt, kreative Fertigkeiten geschult und Verhaltensmuster trainiert werden.
- Einsatz beim Fahr- und Flugtraining in entsprechenden Simu- latoren: Durch den Einsatz von Simulatoren kann das Verhalten insbesondere in Notsituationen geschult werden.
- Einsatz im Bereich von Computerspielen: Durch die Möglichkeit der Navigation durch eine virtuelle Szene und die Mög- lichkeit der gezielten Steuerung und Beeinflussung virtueller Objekte entsteht ein realitätsnaher Eindruck, wodurch die Attraktivität eines Computerspiels für den Benutzer wesentlich erhöht werden kann.
Die heute verfügbaren Technologien zur Eingabe von Information in ein datenverarbeitendes System lassen sich nach den verwendeten Sensoren in vier Gruppen einteilen:
1.mechanische EingabeSysteme (z.B. Tastaturen, Mäuse, Trackballs und Joysticks) , 2. elektrische Eingabesysteme (z.B. taktile Displays und Grafiktabletts) , 3. optische Eingabesysteme (z.B. Lichtgriffel) und
4. akustische Eingabesysteme (z.B. Spracheingabe- und Sprach- interpretationssysteme) .
Im Folgenden soll auf die nach dem heutigen Stand der Technik gebräuchlichen Hilfsmittel zur Eingabe von Information, die zur Steuerung von Objekten im Bereich von VR-Applikationen eingesetzt werden, kurz eingegangen werden.
Herkömmliche Eingabesysteme wie Tastaturen, Mäuse, Trackballs als auch Joysticks sind heute weit verbreitet. Sie werden verwendet, um Positionsmarken (engl.: "Cursors"), Mauszeiger etc. zu steuern, um beispielsweise durch eine virtuelle Szene navigieren zu können oder virtuelle Objekte auf dem Bildschirm zu bewegen. Der Nachteil dieser Eingabesysteme ist, dass sie eine Ablagefläche (also einen festen Standplatz) benötigen, um in effizienter Weise bedient werden zu können.
Mit einem Touchscreen dagegen ist es möglich, direkt auf Objekte, die auf dem Bildschirm abgebildet sind, mit dem Finger zu zeigen, ohne weitere platzraubende Zusatzgeräte auf dem Schreibtisch zu benötigen. Niedrig auflösende Touchscreens weisen 10 bis 50 Positionen in waagerechter und senkrechter Richtung auf und benutzen eine horizontale und vertikale Reihe von Infrarot-Leuchtdioden und Fotosensoren, um ein Gitter von unsichtbaren Lichtstrahlen unmittelbar vor dem Bildschirm aufzubauen. Bei einer Berührung des Bildschirms werden sowohl vertikale als auch horizontale Lichtstrahlen unterbrochen. Aus dieser Information kann die aktuelle Fingerposition ermittelt werden.
Eine andere bekannte Ausführungsform berührungssensitiver Informationseingabegeräte ist das kapazitiv gekoppelte Touch- Panel. Dieses liefert eine Auflösung von ca. 100 Positionen in jeder Richtung. Wenn ein Benutzer die leitfähig beschich- tete Glasplatte des Touchscreens mit einem Finger berührt, kann aufgrund der Impedanzänderung die aktuelle Fingerposition ermittelt werden. Andere hochauflösende Panels verwenden zwei minimal voneinander entfernte, transparente Schichten. Eine davon ist leitfähig beschichtet, die andere mit einem Widerstandsmaterial beschichtet. Durch den Anpressdruck des Fingers berühren sich diese beiden Lagen, und durch Messung des daraus resultierenden Spannungsabfalls kann dann die aktuelle Fingerposition ermittelt werden. Eine niedriger auflösende und billigere Variante dieser Technologie verwendet an- stelle dieser Schichten ein Gitter von feinen Drähten.
Nach dem Stand der Technik sind heute verschiedene Lösungen für das Problem der Echtzeit-Bewegungssteuerung virtueller Objekte verfügbar, wobei jede dieser Lösungen für einen spe- ziellen Anwendungszweck optimiert ist. Mit jeder dieser Lösungen sind daher bestimmte Einschränkungen verbunden. Um einige der wichtigsten dieser Lösungen ansatzweise erklären zu können, ist es notwendig, kurz auf ihre wichtigsten Aspekte einzugehen.
Eine Möglichkeit zur Echtzeit-Bewegungssteuerung virtueller oder realer Objekte hat sich in letzter Zeit dadurch ergeben, dass Eingabegeräte für Computer bekannt wurden, die die gleichzeitige Eingabe von Ansteuersignale mehrerer, voneinan- der unabhängiger Freiheitsgrade ermöglichen. Die dadurch geschaffenen Möglichkeiten übersteigen bei weitem diejenigen, die-- beispielsweise bei der Verwendung einer Maus bestehen, die lediglich zweidimensional (z.B. auf der Ablagefläche eines Schreibtischs) gesteuert werden kann. Zwar ist es auch bekannt, eine Maus beispielsweise mit zusätzlichen Schaltern
zu versehen, indessen haben diese Schalter den Nachteil, dass sie nicht die Eingabe von Analogdaten ermöglichen, sondern vielmehr auf Binärdaten (Ein/Aus) beschränkt sind.
Aus dem Stand der Technik sind auch verschiedene Eingabegeräte bekannt, die analoge Ansteuersignale von verschiedenen, voneinander unabhängigen Freiheitsgraden erzeugen können, wobei jedes dieser Analogsignale somit als Parameterwert einer Ansteuerung verwendet werden kann. Beispielsweise ist aus der Patentschrift US-A-5, 757, 360 ein eiförmiges Eingabegerät für Computer bekannt, das durch eine Hand des Benutzers frei im Raum bewegt werden kann, seine momentanen Positionen, Bewegungsrichtungen, Geschwindigkeiten und Beschleunigungen ermittelt und diese kinematischen -Daten drahtlos zu dem Compu- ter überträgt. Dabei wird ein analoger Bewegungsablauf in
Form eines Bewegungsmusters identifiziert, woraus Bewegungsbefehle abgeleitet und in eine animierte Grafikdarstellung umgesetzt werden. Die Bewegungsmuster werden mit Hilfe eines Mustererkennungsalgorithmus automatisch erkannt. Zusätzlich werden Steuerbefehle erzeugt. Der Nachteil dieses Verfahrens besteht darin, dass es nicht frei spezifizierbar ist, da Bewegungsabläufe des Benutzers, die durch das Eingabegerät analog erfasst werden, korrespondierenden Bewegungsabläufen von gespeicherten Bewegungssequenzen einer animierten Grafikdar- Stellung zugeordnet werden und nur als solche dargestellt werden können.
Eingabegeräte, die über manuell zu betätigende Kraft-Momen- ten-Sensoren verfügen, sind beispielsweise aus den Patent- Schriften DE 36 11 336 C2, DE 37 64 287 sowie EP 0 979 990 A2 bekannt. Aus der zuletzt genannten Patentschrift ist es weiterhin bekannt, einen derartigen Kraft-Momenten-Sensor zum Steuern eines realen oder virtuellen Misch- bzw. Steuerpults zu verwenden, beispielsweise um neuartige F rb-, Licht- und/oder Tonkompositionen zu kreieren und zu gestalten. Hier-
bei kann wiederum in vorteilhafter Weise die intuitive räumliche Steuerung in drei translatorischen sowie drei rotatori- schen Freiheitsgraden auf ein stufenloses räumliches Mischen oder Steuern einer großen Anzahl von optischen und/oder aku- stischen Parametern übertragen werden.
Manuell steuerbare Eingabesysteme, die eine Navigation in drei Dimensionen erlauben, werden heute in einer Reihe der unterschiedlichsten technischen Anwendungsfeider erfolgreich eingesetzt. Ein solches Anwendungsfeld stellen beispielsweise Steuervorrichtungen zur Steuerung der Funktionen elektronischer Musikinstrumente (vor allem bei Synthesizern und Masterkeyboards) dar, die über eine sogenannte MIDI-Schnitt- stelle (engl.: "Musical Instrument Digital Interface") verfü- gen.
Eine solche dreidimensionale Steuervorrichtung für elektronische Musikinstrumente ist zum Beispiel durch den in den Keyboards EM-30 und EM-50 der Firma Roland integrierten D-Beam Controller gegeben. Durch die Verwendung eines extrem empfindlichen Infrarot-Lichtstrahls können dabei die Hand- und/oder Körperbewegungen eines Benutzers oberhalb einer mit Infrarot-Sensorelementen beschichteten Fläche berührungslos detektiert werden. Kraft der D-Beam-Technologie können durch diese Hand- und/oder Körperbewegungen des Benutzers einzelne akustische Parameter eingespielter Improvisationen bzw. Kompositionen in Echtzeit modifiziert bzw. gesteuert werden. Der D-Beam Controller verwandelt dazu die Bewegungen des Benutzers in MIDI-Signale und analoge Steuersignale.
Da eines der bevorzugten Ausführungsbeispiele der vorliegenden Erfindung ebenfalls auf einer Steuervorrichtung zur Steuerung von gespeicherten parametrisierten Audiodaten mit Hilfe von parametrisierten Ansteuersignalen beruht, die mit Hilfe steuerbarer virtueller Objekte über eine MIDI-Schnitt-
stelle zu mindestens einem elektronischen Musikinstrument übertragen werden, sollen im Folgenden die für das Verständnis der Erfindung wichtigen Aspekte des MIDI-Standards kurz dargestellt werden.
Bei der MIDI-Schnittstelle handelt es sich um ein digitales Datenübertragungsformat zwischen elektronischen Musikinstrumenten, Computern und Peripheriegeräten. Der MIDI-Standard ist heute weitverbreitet und wird seit seiner Einführung im Jahre 1983 von vielen Musikern und Komponisten verwendet.
MIDI eröffnet eine sehr effiziente Methode, Audiodaten darzustellen, und das macht MIDI nicht nur für Komponisten oder Künstler zu einem sehr attraktiven Datenübertragungsprotokoll, sondern auch für eine Vielzahl von Computer-Applikatio- nen, die in der Lage sind, Klangmuster (Sounds) zu generieren, wie beispielsweise Multimedia-Anwendungen oder Computerspiele. Dank der Veröffentlichungen der General MIDI System Specification genießen heute die gebräuchlichsten PC/MIDI- Schnittstellen weitgehend Anerkennung unter den Benutzern. Darüber hinaus wird MIDI von dem Betriebssystem Microsoft Windows und anderen Betriebssystemen unterstützt. Aufgrund der Entwicklung und Vermarktung preisgünstiger Synthesizer erfreut sich der MIDI-Standard bei kontinuierlich steigender Anzahl von Anwendungen zunehmend an Beliebtheit.
MIDI wurde ursprünglich entwickelt, um zwei oder mehrere Keyboards verschiedener Herstellerfirmen miteinander koppeln zu können. Dass jedoch mit Hilfe des MIDI-Datenformats komplette Musikproduktionen durch Sequenzer-Systeme erstellt würden, hat damals niemand vorausgesehen. Heute findet MIDI vor allem Anwendung als Übertragungsmedium, um digitalisierte Audiodaten in Computerspielen bzw. Multimedia-Applikationen zu ersetzen oder zu ergänzen.
Standardisiert wurde MIDI von der MIDI Manufacturers Associa- tion (MMA) , der weltweit alle Hersteller digitaler Musikinstrumente angehören. Dieses Komitee definiert die für alle Mitglieder verbindliche Norm, unter anderem auch die im MIDI- Standard festgelegte Befehlsstruktur des MIDI-Protokolls . Ohne diesen Standard wären Inkompatibilitäten unter den Geräten verschiedener Hersteller die Folge.
Im Gegensatz zur Übertragung von analogen Audiodaten werden bei der Übertragung von Klangmustern via MIDI-Schnittstelle von einem oder mehreren Keyboards zu einem Computer (bzw. in umgekehrter Richtung) lediglich Bitsequenzen (sogenannte "MIDI-Events" ) übermittelt, welche die signifikanten akustischen Parameter der auf den einzelnen Keyboards gespielten bzw. wiederzugebenden Musikstücke in elektronisch lesbarer
Form beinhalten. Diese Programmierbefehle beinhalten MIDI-Se- quenzen, die den Synthesizer beispielsweise anweisen, welche Tonspuren bespielt werden sollen, welche Solo- bzw. Be- ςfleitinstrumente für ein Arrangement verwendet werden sollen und welche musikalischen Parameter übertragen werden. Unter akustischen Parametern versteht man im Einzelnen beispielsweise Tonhöhen, Noten- bzw. Pausenwerte, Lautstärken, Tempi, Artikulationsanweisungen, Klangfarben, Pedal-, Vibrato-, Chorus-, Hall-, Oberton- und/oder andere Spezialeffekte . Im Folgenden sollen diese akustischen Parameter als "MIDI-Spiel- informationen" bezeichnet werden. Bei der Wiedergabe der Audiodaten auf einem Keyboard handelt es sich also nicht um analoge Aufzeichnungen von zuvor auf einem Keyboard eingespielter Musikstücke, sondern um die exakte Reproduktion des Aufnahmevorgangs selbst. Die polyphonen Stimmen eines Wiedergabe-Synthesizers sind dabei zumindest teilweise belegt.
Im Vergleich zur Verwendung von abgetasteten Audiodaten, die auf einer Diskette oder einer CD-ROM gespeichert sind, weist die Erzeugung von Klangmustern (Sounds) mit Hilfe von MIDI-
Synthesizern viele~Vorteile auf. Einer dieser Vorteile betrifft den zur Speicherung der parametrisierten Audiodaten benötigten Speicherplatz. Dateien, in denen normalerweise digital abgetastete Audiodaten in einem PCM-Format abgespei- chert werden (wie z.B. " .WAV'-Dateien) , sind in der Regel ziemlich groß. Das trifft insbesondere für lange Musikstücke zu, die in Stereoqualität bei hoher Abtastrate aufgenommen wurden. Im Gegensatz dazu sind MIDI-Dateien extrem klein. Beispielsweise enthalten Dateien, in denen hochwertige abge- tastete Audiodaten in Stereoqualität gespeichert sind, circa 10 MByte pro Minute abgespielter Musik, während eine typische MIDI-Sequenz eine Größe von weniger als 10 kByte pro Minute abgespielter Musik aufweist. Das ist deswegen, der Fall, weil MIDI-Dateien - wie bereits erwähnt - nicht die abgetasteteten Audiodaten enthalten, sondern lediglich die Programmierbefehle, die von einem Synthesizer benötigt werden, um den gewünschten Sound zu generieren.
Da die MIDI-Spielinformationen keine unmittelbaren Informa- tionen über die Art der repräsentierten Audiodaten transportieren, sind einzelne akustische Parameter dieser MIDI-Spielinformationen nachträglich beliebig austauschbar. Dies birgt ebenfalls große Vorteile:
- Ein Komponist kann sein Werk nachträglich variabel instrumentieren bzw. umarrangieren.
- Die beim Einspielen möglicherweise aufgetretenen Fehler
(z.B. "falsche Töne") können nachträglich korrigiert wer- den .
- Mehrere Synthesizer können beispielsweise ein und dieselbe Stimme wiedergeben (Unisono) , um mehr Klangfülle zu erzielen u.v.m.
Die zusätzliche Möglichkeit, auf einem oder mehreren Synthesizern oder anderen elektronischen Musikinstrumenten eingespielte Musikstücke auf dem Bildschirm zu editieren, also einzelne Noten oder Pausen, Notengruppen oder ganze Notensysteme verändern, ergänzen, löschen, verschieben bzw. transponieren zu können, vereinfacht die Arbeit eines Komponisten beträchtlich.
Ein komplettes MIDI-Wort besteht in der Regel aus drei Byte. Zuerst wird das sogenannte Status-Byte gesendet. Es handelt sich dabei um eine Mitteilung, um welche Art von Nachricht es sich handelt. Dem Status-Byte folgen zwei Daten-Bytes, die Angaben über den jeweiligen Inhalt der Nachricht enthalten. Das folgende Beispiel bezieht sich auf die MIDI-Darstellung für das "Anschalten" eines Tons mittlerer Tonhöhe (c1) , der in einer mittleren Lautstärke (ital.: "Mezzoforte", mf) erklingen soll:
Das erste Bit (engl.: "Most Significant Bit", MSB) in der Binärdarstellung des Status-Bytes ist immer mit dem Wert "1" belegt, bei Daten-Bytes hat das MSB stets den Wert "0". Auf diese Weise lassen sich Status- und Datenbytes eindeutig unterscheiden. Für die Dezimalwerte Zs für ein Status-Byte gilt infolge der "1" im MSB: Zs e [128ι0; 25510] . Da bei den Daten- Bytes das MSB auf "0" gesetzt ist, also nicht mehr als Wertindikator herangezogen werden kann, verbleiben für die Daten-
Bytes nur noch jeweils sieben Bits, so dass folglich für die
Dezimalwerte ZDi bzw. ZD2 der beiden Daten-Bytes gilt: ZD1 e [010;12710] und ZD2 e [0lo;12710]. Diese 128 verschiedenen "Note On"- bzw. "Note Off-Kombinationen reichen völlig aus, da 128 verschiedene Tonhöhen - angeordnet in einer gleichschwebend- temperierten, chromatischen Tonskala (d.h. im Abstand von Halbton-Intervallen) - den Tonumfang (Ambitus) eines modernen Konzertflügels mit 88 Tasten weit übersteigt.
Um einzelne Geräte innerhalb eines MIDI-Systems gezielt ansprechen zu können, existieren insgesamt 16 MIDI-Kanäle. Der MIDI-Kanal des Senders muss dabei mit dem des jeweiligen Empfängers identisch sein. Grundsätzlich gilt dabei, dass eine MIDI-Datenleitung alle Spieliriformationen auf allen 16 MIDI- Kanälen transportiert, wobei die angeschlossenen Tonerzeuger die Nachrichten selektieren, die ihnen jeweils zugedacht sind. Mit Hilfe der letzten vier Bits des Status-Bytes wird dabei die Adresse Ak eines selektierten MIDI-Kanals k (wobei k e { 010, ... , 15ι0} bzw. Ak e { 00002, ... , 11112} ) übertragen. Das bedeutet, dass nur die ersten vier Bits des Status-Bytes die Status-Information einer MIDI-Sequenz (z.B. "Note On", "Note Off" etc.) beinhalten.
Für das Beispiel des oben beschriebenen "Note On"-Befehls bedeutet das konkret, dass der erste Kanal (k = 0) mit der Adresse A = 0000
2 selektiert wurde.
Wird ein Byte eines solchen MIDI-Wortes von einem Synthesizer empfangen, wird zunächst anhand des MSB geprüft, ob ein Status-Byte oder ein Daten-Byte vorliegt. Der Empfänger muss darüber hinaus alle Status-Bytes hinsichtlich ihrer Kanala- dressierung überprüfen, die er, beauftragt durch die jeweilige MIDI-Kanal-Einstellung, empfangen uss.
'-Wird ein MIDI- Event mit der ihm zugedachten Adresse entdeckt, entschlüsselt der Empfänger die dem Status-Byte folgenden Daten-Bytes und generiert die entsprechenden Töne. Man kann dieses Prinzip mit der Lesart eines Chorsängers bzw. Instrumentalisten vergleichen, der beim Singen bzw. Spielen eines Musikstücks aus einem polyphonen Tonsatz, einem Arrangement oder einer Partitur lediglich die ihm zugedachte Stimme herausliest.
Im Folgenden sollen die Funktionen von zwei der gebräuchlichsten Steuervorrichtungen, die bei Synthesizern und Masterkeyboards anzutreffen sind, kurz beschrieben werden: das "Pitch Bend Wheel" zur stufenlosen Verstimmung der Tonhöhen von Tönen angeschlagener Tasten eines Synthesizers und das "Modulation Wheel" zur Modulation der Klangfarbeneigenschaften der Tonhöhen von Tönen angeschlagener Tasten eines Synthesizers .
Das MIDI-Datenformat sieht als kleinstmoglich.es Intervall zwischen verschiedenen Tonhöhen gleichschwebend-temperierte Halbtonschritte bzw. "Chromas" vor (also enharmonisch äquivalente Intervalle wie übermäßige Primen, kleine Sekunden bzw. doppelt verminderte Terzen) . Um eine stufenlose Frequenz-Va¬ riation (engl.: "Pitch Bending") zu erreichen, werden soge- nannte Pitch-Bend-Wheel-Daten benötigt, die mit einem entsprechenden Steuerinstrument des Synthesizers (dem "Pitch Bend Wheel") erzeugt werden können. Es handelt sich dabei meist um ein Rad oder (seltener) einen in vier Richtungen beweglichen Joystick. Bei Synthesizern, die mit diesen Pitch Bend Wheels ausgestattet sind, lassen sich die Tonhöhen der
Tasten, welche auf der Tastatur des Synthesizers niedergedrückt werden, durch eine Drehbewegung am Pitch Bend Wheel in Flichtung höherer bzw. tieferer Frequenzen verstimmen. Normalerweise können damit Verstimmungen von bis zu einem gleich- schwebend-temperierten Ganzton in Richtung höherer bzw. tieferer Frequenzen erzeugt werden. Das Pitch Bend Wheel ist in der Regel mit einem Rückholmechanismus ausgestattet, der beim Loslassen des Rades wieder zur Mittel- bzw. Normalstellung zurückspringt. Diese Stellung entspricht dabei den Tonhöhen der niedergedrückten Tasten bei Zugrundelegung der gleich- schwebenden-temperierten Stimmung.
Mit Hilfe einer Modulationsfunktion, die üblicherweise mit einem weiteren Steuerinstruments des Synthesizers (dem "Modulation Wheel") vorgenommen werden kann, können die Töne der auf der Tastatur des Synthesizers angeschlagenen Tasten optional mit einem Vibrato-Effekt versehen werden. Alternativ kann dieses Steuerinstrument auch zur Erzielung anderer Effekte eingesetzt werden, etwa um die Klanghelligkeit bzw. die Resonanz der gespielten Töne durch eine Änderung ihres Obertonspektrums zu mofifizieren. Wird das Modulation Wheel bis zu einem ersten Anschlagspunkt zugedreht, ist die Effekttiefe minimal; wird es bis zu einem gegenüberliegenden zweiten Anschlagspunkt aufgedreht, ist die Effekttiefe maximal.
Um die Ansteuerung einzelner MIDI-Funktionen mit Hilfe von parametrisierten Ansteuersignalen erklären zu können, soll im Folgenden kurz auf die wichtigsten der dazu nötigen MIDI-Con- troller eingegangen werden.
Mit Hilfe des ersten Daten-Bytes eines MIDI-Wortes können maximal 128 verschiedene Controller-Adressen und damit bis zu 128 verschiedene Spielhilfen oder andere MIDI-Funktionen an¬ gesprochen werden. Das zweite Daten-Byte ist für den Regelbe- reich verantwortlich. Beispielsweise kann mit Hilfe des für
Frequenzmodulationen zuständigen Controllers Nr. 1 den vom
Synthesizer erzeugten Klängen ein Vibrato- bzw. Tremolo-Effekt hinzugefügt werden. In der folgenden Tabelle sind die gebräuchlichsten Controller mit ihren Nummern (Adressen) und Bezeichnungen aufgelistet:
Die Adressen 12 bis 31 sind nicht belegt und bieten dem Anwender Möglichkeiten freier Zuordnungen von MIDI-Funktionen. Je nach Beschaffenheit des jeweiligen Synthesizers können diesen Adressen mitunter sehr ausgefallene physikalische Parameter zugewiesen werden, z.B. Oszillatorfrequenz oder Puls- weite der generierten Schwingungen.
Die Controller 32 bis 38 dienen dazu, den Wertebereich der Controller-Adressen 1 bis 6 feiner aufzulösen. Dasselbe wird auch von den Controller-Nummern 39 bis 63 für die Adressen 7 bis 31 bewirkt.
Die bisher beschriebenen Spielhilfen zeichnen sich durch eine gemeinsame Eigenschaft aus: Sie lassen sich (in 128 oder mehr
Einzelschritten) stufenlos regeln. Der Oberbegriff für diese
Controller lautet "Continuous Controller". Im Gegensatz dazu existieren weitere Controller, die Schalterfunktionen übernehmen und daher allgemein "Switch Controller" genannt werden. Die folgende Tabelle gibt eine Übersicht über die wichtigsten dieser Controller:
Bei genauerer Betrachtung des zweiten Daten-Bytes von Controller 64 findet man nur zwei Werte vor, nämlich
00000000, (= 010) für "Pedal Off" und (= 127ιo) für "Pedal On" .
Das MIDI-Datenformat lässt prinzipiell jedoch eine differenziertere Interpretation des Wertebereichs 110 bis 126ι0 zu. Beispielsweise kann so auch ein mehrstufiger Sustain-Effekt vorgesehen sein. Bei Synthesizern, die diesen mehrstufigen Sustain-Effekt zulassen, wird die Abklingphase von Klan- fereignissen bei "halb" heruntergetretenem Pedal im Vergleich zur Abklingphase von Klangereignissen gleicher Tonhöhe und Lautstärke bei bis zum Anschlag heruntergetretenem Pedal entsprechend verkürzt.
Normalerweise sind die Controller-Adressen, z.B. für das Modulationsrad, das Haltepedal oder mit dem Fuß bedienbare Schweller zur Beeinflussung der Dynamik, bereits festgelegt.
Wenn eine dieser Spielhilfen benutzt wird, steht die gesendete Controller-Adresse fest. Moderne Synthesizer und Master- Keyboards verfügen jedoch darüber hinaus auch über frei definierbare Controller, d.h. den dafür vorgesehenen Spielhilfen (Pedalen, Schwellern, Rädern und Schiebereglern) kann eine beliebige Controller-Nummer zugewiesen werden. Einige Tonerzeuger gestatten wiederum die Neudefinition der Controller- Funktionen im Gerät selbst. Dabei kann die empfangene Controller-Nummer einer internen Funktion frei zugewiesen wer- den.
Zur Klangerzeugung mit Hilfe von elektronischen Musikinstrumenten, Computern bzw. Sound-Karten sind heute eine Vielzahl von verschiedenen Technologien .und Verfahren im Einsatz. Zwei weit verbreitete Techniken der Klangerzeugung mit Hilfe elektronischer Musikinstrumente sind Frequenzmodulation (FM-Syn- these) und die Verwendung von Wavetables (WAV-Synthese) .
FM-Synthese ist ein Verfahren, das von Sound-Karten und Com- putern benutzt wird, um die Klangfarben von akustischen Musikinstrumenten durch elektronische Mittel nachzuahmen. Mit Hilfe von FM-Synthese generierte Klänge sind als solche leicht erkennbar - im Gegensatz zu Klangmustern, die durch WAV-Synthese mit Hilfe von Wavetables erzeugt wurden. Master- Keyboards und Synthesizer, die über Wavetables verfügen, sind verhältnismäßig kostspielig, werden aber oft von vielen Berufs- und Hobbymusikern wegen ihrer hohen Abspielqualität bevorzugt. Die Klangmuster werden dabei von Wavetables erzeugt, die gespeicherte, digital abgetastete Original-Klänge (engl.: "Samples") von akustischen Musikinstrumenten miteinander kombinieren und/oder reproduzieren. Verglichen mit der FM-Synthese, bei der elektronische Klänge mit Hilfe des Computers erzeugt werden, erscheinen Wavetable-Klang uster somit wesentlich realistischer.
Mit Hilfe von Sound-Karten können die Möglichkeiten herkömmlicher Computer zur Erzeugung von Audiosignalen und Klangmustern erweitert werden. Sound-Karten sind unerlässlich für jede Applikation, die Sound-Effekte verwendet. Um analoge Audiodaten in die digitale Rechnersprache übersetzen zu können, verfügen Sound-Karten über entsprechende Vorrichtungen zur Digitalisierung analoger Klänge. Dabei basiert die Klangerzeugung durch eine Sound-Karte entweder auf einer FM-Synthese oder einer WAV-Synthese.
AUFGABE DER VORLIEGENDEN ERFINDUNG
Ausgehend von dem oben genannten Stand der Technik, widmet sich die vorliegende Erfindung?.der Aufgabe, komfortable und zuverlässig arbeitende Verfahren bereitzustellen, mit deren Hilfe dem Anwender eine aktive Steuerung von virtuellen und/oder realen Objekte ermöglicht wird, wobei die bereits vorhandenen Fertigkeiten des Benutzers zur Aussendung von Information genutzt werden. Insbesondere soll dabei die Bewe- gungssteuerung von Objekten in Echtzeit bzw. die Echtzeit- Steuerung von elektronisch erzeugten Audiosignalen vereinfacht werden.
Diese Aufgabe wird erfindungsgemäß durch die Merkmale der un- abhängigen Patentansprüche gelöst. Vorteilhafte Ausführungsbeispiele, die den Gedanken der Erfindung weiterbilden, sind in den abhängigen Patentansprüchen definiert.
ZUSAMMENFASSENDE DARSTELLUNG DER VORLIEGENDEN ERFINDUNG
Die Erfindung schlägt zur Lösung der im vorangehenden Abschnitt definierten Aufgabe vor, ein effizientes Verfahren zur grafischen Visualisierung und Echtzeit-Ansteuerung von virtuellen oder realen Objekten zur Erzeugung und/oder Be- einflussung von Bild- bzw. Tonsequenzen, mit dessen Hilfe auf
einem Bildschirm dargestellte oder reale Objekte durch interaktive Steuerbefehle eines Benutzers in ihren Eigenschaften und/oder Aktionen auf eine komfortable und zuverlässige Weise in Echtzeit manipuliert, gesteuert bzw. beeinflusst werden können. Insbesondere beinhaltet die vorliegende Erfindung ein Verfahren zur Animation und Bewegungssteuerung eines Gelenk- Objekts in (Quasi-) Echtzeit, ein Verfahren zur frei spezifizierbaren Steuerung von optischen bzw. akustischen Parametern, ein Computersoftware-Produkt zur Ausführung eines solchen Verfahrens sowie ein System zur Echtzeit-Bewegungssteuerung von virtuellen oder realen Objekten.
Die vorliegende Erfindung bezieht sich insbesondere auf Eingabegeräte, die Ansteuersignale für verschiedene, voneinander unabhängige Freiheitsgrade erzeugen können, und dies jeweils durch Analogsignale. Jedes dieser Analogsignale kann somit als Parameterwert bei der Ansteuerung virtueller Objekte verwendet werden.
Bei den dabei verwendeten Technologien zur Eingabe der vom Benutzer abgesetzten Steuerbefehle handelt es sich im Gegensatz zu herkömmlichen manuell bedienbaren, mechanischen bzw. berührungssensitiven Eingabemechanismen über Tastatur, Maus, Trackball, Joystick, Grafiktablett mit Griffel, taktile Dis- plays etc. um Vorrichtungen zur Aufnahme, Erkennung, Interpretation und Verarbeitung dreidimensionaler Bewegungen eines Benutzers. Der Benutzer ist somit nicht mehr auf das Vorhandensein zusätzlicher Hardware-Vorrichtungen zur manuellen Eingabe von Steuerbefehlen angewiesen. Die Auswertung der eingegebenen Information kann stattdessen bzw. zusätzlich mit Hilfe von Methoden der Signal- bzw. Mustererkennung erfolgen. Ferner kann die Art des Eingabeverfahrens speziell auf die individuell vorhandenen Fähigkeiten des Benutzers zugeschnitten sein.
Ein Aspekt der vorliegenden Erfindung ist es, dass Referenzmuster zur Animation und Bewegungssteuerung von Objekten, zur Gestaltung von Form, Farbe und Struktur der Oberflächen virtueller Objekte sowie zur Erzeugung und/oder Beeinflussung von Bild- bzw. Tonsequenzen vorab abgespeichert werden. Diese Referenzmuster können dann - abhängig von den Ansteuersignalen des Benutzers - als Parameterwerte zur Erzeugung und/oder Beeinflussung von Animationseffekten, zur Oberflächengestaltung der Objekte, zur Steuerung bzw. gezielten Manipulation von Video- bzw. Audiodaten etc. in Echtzeit abgerufen werden. Das Hinterlegen der jeweiligen Referenzmuster kann dabei standardisiert erfolgen, so dass aufbauend auf einer solchen Echtzeit-Steuerung eine Änderung der oben genannten Parameterwerte durch ein modulartiges Austauschen der jeweiligen Referenzmuster an einer entsprechenden Schnittstelle der
Echtzeit-Steuerung mit verhältnismäßig geringem Aufwand erfolgen kann.
1.Verfahren zur Animation und Bewegungssteuerung eines Ge- lenk-Objekts in Echtzeit durch Ansteuerung mit Hilfe para- metrisierter Bewegungsmuster
Gemäß der zugrunde liegenden Erfindung ist es möglich, auf eine vollständige Neuprogrammierung eines Echtzeit- Bewegungsablaufes zu verzichten; vielmehr können bekannte Bewegungsmuster über eine standardisierte Schnittstelle in pa- rametrisierter Form einer Echtzeit-Bewegungssteuerung zur Verfügung gestellt werden.
Ein bevorzugtes Ausführungsbeispiel der zugrunde liegenden Erfindung beruht auf einem Verfahren zur Echtzeit-Bewegungssteuerung eines Gelenk-Objekts. Dabei wird zunächst wenigstens ein parametrisiertes Bewegungsmuster zu wenigstens einem Oberflächenmuster für das Objekt definiert. Werden dann mit Hilfe eines Eingabegeräts Ansteuersignale in die Echt-
zeit-Bewegungssteuerung eingegeben, berechnet diese Skelett-
Anderungsdaten (d.h. die Lageanderungen der Konturen eines virtuellen Objekts bzw. eines Gerusts, bestehend aus den durch Kanten verbundenen Gelenkpunkten eines virtuellen Ob- ekts) als Parameterwerte auf Grundlage der Ansteuersignale und wenigstens eines parametrisierten Bewegungsmusters. Dabei geben die Skelett-Anderungsdaten translatoπsche und/oder ro- tatoπsche Änderungen der Lage bzw. Orientierung der Gelenke des Objekts wieder. Schließlich wird die Oberflache des vir- tuellen Gelenk-Objekts auf Grundlage der Skelett-Anderungsdaten und wenigstens eines Oberflachenmusters berechnet. Indem die zuletzt genannten Schritte dicht aufeinanderfolgend wiederholt werden, erhalt man (abhangig von den Ansteuersignalen des Benutzers) eine Bewegungssteuerung des Objekts, die von einem Betrachter nicht mehr von einer Bewegungssteuerung m Echtzeit unterschieden werden kann.
Durch Austausch bzw. erneute Definition eines parametrisierten Bewegungsmusters und/oder Oberflachenmusters kann also mit sehr geringem Aufwand eine Bewegungssteuerung eines neuartigen Gelenk-Objekts erzielt werden.
Gemäß dem Ausfuhrungsbeispiel der zugrunde liegenden Erfindung können Ansteuersignale für wenigstens sechs unabhängige Freiheitsgrade simultan eingegeben und m Echtzeit verarbeitet werden. Dabei handelt es sich beispielsweise um Ansteuersignale für drei translatoπsche und drei rotatoπsche Freiheitsgrade m einem virtuellen dreidimensionalen Vektorraum.
Ausgehend von den ermittelten momentanen Positionsvektoren des Eingabegeräts , können erf mdungsgemaß insbesondere die ersten und zweiten zeitlichen Ableitungen der Ansteuersignale ( also die Geschwmdigkeits-, Beschleunigungs- , Wmkelge- schwmdigkeits- bzw. Winkelbeschleunigungsvektoren) ermittelt
und verarbeitet werden. Die Steuerung ermittelt also die zeitliche Veränderung der Ansteuersignale selbst, so dass beispielsweise im Gegensatz zur bereits genannten Patentschrift US-A-5, 757, 360 kein eigener Beschleunigungssensor er- forderlich ist. Die Beschleunigung kann vielmehr durch zeitliche Auswertung der Entwicklung der Ansteuersignale mit Hilfe der Bewegungssteuerung selbst ermittelt werden. Die Zuordnung der Ansteuersignale bzw. deren zeitlicher Ableitungen als Parameterwerte für die gespeicherten Bewegungsmuster kann dabei frei spezifizierbar sein.
2.Verfahren zur Echtzeit-Steuerung von akustischen Parametern aufgezeichneter Audiodaten mit Hilfe von parametrisierten Klangmustern ..- •
Darüber hinaus bzw. alternativ können in einem weiteren Ausführungsbeispiel der zugrunde liegenden Erfindung auch Audiodaten mit Hilfe von parametrisierten Ansteuersignalen des Benutzers in Echtzeit gezielt beeinflusst werden. Dabei können digital gespeicherte, parametrisierte Klangmuster, wie beispielsweise die akustischen Parameter von (gemäß dem sogenannten MIDI-Standard) digital aufgezeichneten Musikstücken, , die über die parametrisierten Ansteuersignale des Benutzers ansteuerbar sind, gezielt modifiziert werden. Diese Klangmu- ster können dann - abhängig von den jeweiligen Ansteuersignalen des Benutzers als Parameterwerte in Echtzeit abgerufen werden.
3.Verfahren zur frei spezifizierbaren Steuerung von animier- ten Grafiken, Video- und/oder Audiodaten
Nach einem weiteren Ausführungsbeispiel der vorliegenden Erfindung ist ein Verfahren zur frei spezifizierbaren Steuerung von animierten Grafiken, Video- und/oder Audiodaten mit Hilfe optischer bzw. akustischer Parameter vorgesehen. Für die Er-
zeugung und/oder Beeinflussung dieser Bild- bzw. Tonsequenzen ist dabei wenigstens ein vordefiniertes parametrisiertes Be- wegungs-, Oberflächen-, Klang- und/oder Beleuchtungsmuster als Referenzmuster hinterlegt. Dazu werden Ansteuersignale verschiedener Freiheitsgrade von einem Eingabegerät ausgewertet und als Parameterwerte zur Erzeugung bzw. Beeinflussung von animierten Grafiken, Video- und/oder Audiodaten mit Hilfe mindestens eines hinterlegten Referenzmusters verwendet. Die Zuordnung der Ansteuersignale jeweils eines Freiheitsgrades zu einem bestimmten Referenzmuster ist dabei durch den Benutzer frei spezifizierbar.
Zusätzlich können gegebenenfalls zeitliche Ableitungen der Ansteuersignale einem bestimmten Referenzmuster zugeordnet werden. Die Kopplungsparameter der Zuordnung, wie beispielsweise die Dämpfung und die Verstärkung können dabei ebenfalls durch den Benutzer frei einstellbar sein.
4. Computersoftware-Produkt zur frei spezifizierbaren Steue- rung von animierten Grafiken, Video- und/oder Audiodaten
Nach einem weiteren Aspekt der vorliegenden Erfindung ist ein Computersoftware-Produkt vorgesehen, mit dessen Hilfe ein Verfahren gemäß einem der oben beschriebenen Ausführungsbei- spiele durchgeführt werden kann.
5. System zur Echtzeit-Bewegungssteuerung von virtuellen und/oder realen Objekten
Erfindungsgemäß kann auch ein System zur Echtzeit-Bewegungssteuerung von Objekten vorgesehen sein, das einen Speicher aufweist, in dem wenigstens ein parametrisiertes Bewegungsmu¬ ster und wenigstens ein Oberflächenmuster des Objekts abgelegt sind. Dieses System kann weiterhin ein Eingabegerät zur Eingabe von Ansteuersignalen für die Echtzeit-Bewegungssteue-
rung aufweisen. Ferner kann ein Bewegungsgenerator vorgesehen sein, um Skelett-Änderungsdaten auf Grundlage der Ansteuersignale als Parameterwerte und wenigstens eines parametrisierten Bewegungsmusters zu berechnen. Die Skelett-Änderungsdaten geben dabei translatorische und/oder rotatorische Änderungen der Lage bzw. Orientierung der Gelenke des Objekts wieder. Außerdem kann ein Oberflächengenerator vorgesehen sein, der die Oberfläche virtueller Gelenk-Objekte auf Grundlage ihrer Skelett-Änderungsdaten und je eines ausgewählten Oberflächen- usters berechnet.
Das Eingabegerät kann zur gleichzeitigen Eingabe von Ansteuersignale für wenigstens sechs unabhängige Freiheitsgrade ausgelegt sein. Es kann dabei .insbesondere zur Eingabe von Ansteuersignalen für drei translatorische und drei rotatori- sehe Freiheitsgrade in einem dreidimensionalen Vektorraum konzipiert sein. Zusätzlich kann auch eine Einheit zur Ermittlung und Verarbeitung der zeitlichen Ableitungen dieser Ansteuersignale vorgesehen sein.
Um dem Benutzer die Echtzeit-Steuerung von gespeicherten Audiodaten zu ermöglichen, kann ferner ein Klanggenerator zur Erzeugung von Klangsignalen durch Verknüpfung digitaler para- metrisierter Klangmuster mit digitalen Ansteuersignalen, die in parametrisierter Form vorliegen, vorgesehen sein.
Darüber hinaus kann auch eine Einheit zur wahlfreien Zuordnung der Ansteuersignale bzw. derer Ableitungen als Parameterwerte für die parametrisierten Bewegungs-, Oberflächen-, Klang- und/oder Beleuchtungsmuster vorgesehen sein.
6. System zur frei spezifizierbaren Echtzeit-Steuerung von animierten Grafiken, Video- und/oder Audiosequenzen
In einem weiteren Ausführungsbeispiel der vorliegenden Erfindung ist ein System zur frei spezifizierbaren Echtzeit-Steuerung von animierten Grafiken, Video- und/oder Audiosequenzen vorgesehen. Das System weist dabei einen Speicher auf, in dem zur Erzeugung und/oder Beeinflussung von animierten Grafiken, Video- und/oder Audiosequenzen in Echtzeit wenigstens ein vordefiniertes parametrisiertes Bewegungs-, Oberflächen-, Plang- und/oder Beleuchtungsmuster als Referenzmuster hinterlegt ist. Das System weist weiterhin eine Recheneinheit zur Auswertung von Ansteuersignalen verschiedener Freiheitsgrade von einem Eingabegerät als Parameterwerte zur Erzeugung und/oder Beeinflussung von animierten Grafiken, Video- und/oder Audiosequenzen mit Hilfe mindestens eines hinterlegten Referenzmusters auf. Darüber hinaus ist auch eine Ein- Stelleinheit vorgesehen, um eine frei wählbare Zuordnung von Ansteuersignalen jeweils eines Freiheitsgrads zu einem bestimmten Referenzmuster zu ermöglichen. Diese Einstelleinheit kann dabei optional die Zuordnung von zeitlichen Ableitungen der Ansteuersignale zu einem bestimmten Referenzmuster ermög- liehen. Ferner kann sie eine frei wählbare Einstellung von Kopplungsparametern der Zuordnung, wie beispielsweise der zeitlichen Dämpfung und der Verstärkung, bewerkstelligen.
Die zugrunde liegende Erfindung ist, wie ein auf diesem Ge- biet tätiger Durchschnittsfachmann leicht erkennen kann, nicht nur auf die oben beschriebenen Ausführungsbeispiele beschränkt. Über die darin offenbarten Merkmale hinaus sind zahlreiche Modifikationen und Variationen möglich, ohne sub- stanziell von dem Anwendungsbereich der vorliegenden Erfin- düng abzuweichen, wie in den Patentansprüchen offenbart ist.
KURZBESCHREIBUNG DER ZEICHNUNGEN
Weitere Eigenschaften, Merkmale, Vorteile und Zweckmäßigkei- ten der zugrunde liegenden Erfindung resultieren aus den un-
tergeordneten abhängigen Patentansprüchen sowie aus der folgenden Beschreibung der bevorzugten Äusführungsbeispiele der Erfindung, welche in den folgenden Zeichnungen abgebildet sind. Hierin zeigen:
->
FIG. 1 ein vereinfachtes Blockdiagramm zur Veranschaulichung der Ein- und Ausgabesignale der frei spezifizierbaren Echtzeit-Steuerung 102 für animierte Grafiken, Video- und/oder AudioSequenzen nach dem bevorzugten Ausführungs.beispiel der zugrunde liegenden Erfindung,
FIG. 2 eine detailliertes Blockdiagramm zur Veranschaulichung der Komponenten sowie der Ein- und Ausgabesi- gnale der frei spezifizierbaren Echtzeit-Steuerung 102 für animierte Grafiken, Video- und/oder Audiosequenzen,
FIG. 3 ein Ablaufdiagramm zur Veranschaulichung der von der frei spezifizierbaren Echtzeit-Steuerung 102 für animierte Grafiken, Video- und/oder Audiosequenzen durchgeführten Aktionen,
FIG. 4 ein Blockdiagramm zur Veranschaulichung der Steuerung einzelner oder mehrerer akustischer Parameter digitalisierter Klangmuster durch ein System, bestehend aus einem Computer, dessen Steuereinheit 401 mit mindestens einem elektronischen Musikinstrument 402 über eine MIDI-Schnittstelle leitend verbunden ist und einem 3D-Eingabegerät 104 zur Eingabe von parametrisierten Ansteuersignalen für
die Echtzeit-Bewegungssteuerung virtueller Objekte, die auf einem Bildschirm dargestellt werden können
und
FIG. 5 ein Blockdiagramm zur Veranschaulichung der Steuerung einzelner oder mehrerer akustischer Parameter digitalisierter Klangmuster durch ein System, bestehend aus einem Computer, der über einen elektronischen Tongenerator 502 und eine Sound-Karte 510 verfügt, und einem 3D-Eingabegerät 104 zur Eingabe von parametrisierten Ansteuersignalen für die Echtzeit-Bewegungssteuerung virtueller Objekte, die auf einem Bildschirm dargestellt werden können.
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
Im Folgenden werden die Funktionen der in einem ersten Aus- führungsbeispiel der vorliegenden Erfindung enthaltenen Baugruppen, wie in den Figuren 1 bis 5 abgebildet, näher beschrieben.
Bezugnehmend auf Figur 1, soll die vorliegende Erfindung zu- nächst schematisch erläutert werden. Die Mensch-Maschine- Schnittstelle wird repräsentiert durch das Eingabegerät 104. Dabei handelt es sich insbesondere um ein sogenanntes 3D-Ein- gabegerät, das beispielsweise Ansteuersignale 116 für sechs voneinander unabhängige Freiheitsgrade erzeugen kann, wenn es entsprechend durch einen Benutzer manipuliert wird. Diese Freiheitsgrade umfassen beispielsweise drei translatorische Freiheitsgrade, die im Folgenden als x, y und z bezeichnet werden, sowie drei rotatorische Freiheitsgrade, die im Folgenden als φκ, φy und φz bezeichnet werden. Dabei bezeichnen die Variablen x, y und z die orthogonalen Achsen eines dreidimensionalen kartesischen Koordinatensystems. Dieses lässt
sich mathematisch als dreidimensionaler Vektorraum V beschreiben, der durch eine Orthonormalbasis, bestehend aus den orthonor alen Einheitsvektoren ex , ey und e2 , repräsentiert wird. Werden diese Variablen in Vektorschreibweise zusammen- gefasst, so ergeben sich zu jedem diskreten Zeitpunkt n (nach Weglassen der Einheiten) :
der Ortsvektor x (n) := [x (n) , y (n) , z (n) ] τ e <-?°3 und der Drehrichtungsvektor φ (n) := [ φx (n) , φ (n) , φz (n) ] τ e *->° 3.
Der transformierte Ortsvektor xτ(x,Δx), der sich nach der Translation eines Punktobjekts P mit dem Ortsvektor x um die Wegdifferenzen Δx, Δy und Δz in Richtung der jeweiligen Achsen x, y bzw. z ergibt, kann in diesem Vektorraum V auf ein- fache Weise durch Addition des Ortsvektors x und einer Linearkombination der orthonormalen Einheitsvektoren ex , ey und ez ausgedrückt werden:
xτ ( x,Δx ) := x + Δx mit Δx := Δx-ex + Δy-ey + Δz-e. V Δx,Δy,Δz e «5>».
Die Variablen φκ, φy und φz bezeichnen die Drehrichtung virtueller Objekte um die x-, y- bzw. z-Achse dieses Koordinatensystems. Der transformierte Ortsvektor xR (x,Δφ), der sich nach der Rotation eines Punktobjekts P mit dem Ortsvektor x um die Drehwinkel Δφx, Aφγ bzw. Δφz ergibt, kann in diesem Vektorraum V wie folgt ausgedrückt werden:
x.R ( x , Δφx, Aφyf Aφz) := Rz(Δφz) • Ry(Δφy) • Rχ(Δφχ) • x mit Δφ := [Δφ*, Δφyι Aφz] τ V Aφy., Aφyr Δφz e ^»,
wobei die Drehmatrizen Rx(Δφx), Ry(Δφy) und Rz(Δφz) wie folgt definiert sind:
cos(Δφy) 0 Sliln(Δφy)
Ry(Δφy) 1 0 und
-sin(Δφy) 0 cos(Δφy y)'J
'cos(Δφz) -sin(Δφ2) 0
Rz(Δφ2) sin(Δφz) cos(Δφz) 0
0
Selbstverständlich können z.B. mit Hilfe von Tastensteuerun¬ gen oder Schaltern verhältnismäßig einfach noch weitere Frei- heitsgrade hinzugefügt werden. Dabei ist anzumerken, dass Schalter bzw. Tasten in der Regel binäre Ansteuersignale (Ein/Aus) erzeugen, wohingegen die oben genannten drei translatorischen Freiheitsgrade x, y bzw. z bzw. die drei rotato- rischen Freiheitsgrade φx, φy bzw. φz jeweils analoge Ansteuersignale ergeben können, die dann beispielsweise bei byteweiser Kodierung in 28 = 256 Stufen als digitale Signale zur weiteren Verarbeitung zur Verfügung stehen.
Da die drei translatorischen und die drei rotatorischen Frei¬ heitsgrade x, y, z, φκ, φy bzw. φz als „Analogsignale" bzw. in 256 Stufen quantisierte digitale Signale aufzufassen sind, kann gemäß der vorliegenden Erfindung auch die zeitliche Veränderung dieser Ansteuersignale 116 durch die weiter unten dann näher beschriebene frei spezifizierbare Echtzeit-Steuerung 102 für animierte Grafiken, Video- und/oder Audiosequen-
zen ausgewertet werden. Insbesondere ist es also möglich, zu jedem diskreten Zeitpunkt n (nach Weglassen der Einheiten) die dreidimensionalen Vektoren für
die Geschwindigkeit v (n) := [ x (n) , y (n) , z (n) ] τ e «s*»3, die Beschleunigung a (n) := [ x (n) , y (n) , z (n) ] τ e \-*>3, die Winkelgeschwindigkeit ώ (n) := [ φx (n) , φy (n) , φz (n) ] τ e'
sowie die Winkelbeschleunigung (n) := [ φx (n) , φy (n) , φz (n) ] τ e ss*>3
der Freiheitsgrade x, y, z, φx r φy bzw. φz zu erfassen und gegebenenfalls als weitere Freiheitsgrade unabhängig von dem Absolutwert der jeweiligen Ansteuersignale 116 zu verwerten. Dabei sind seitens des Eingabegeräts 104 keine weiteren Sensoren (z.B. Geschwindigkeits- bzw. Beschleunigungssensoren) notwendig.
Während also eingabeseitig die Ansteuersignale 116 von dem 3D-Eingabegerät 104 der frei spezifizierbaren Echtzeit-Steuerung 102 für animierte Grafiken, Video- und/oder Audiosequenzen gemäß der vorliegenden Erfindung zugeführt werden, gibt diese abhängig von diesen Ansteuersignalen 116 Animations- Ausgabesignale 120 aus, mit Hilfe derer eine 3D-Animation 114 beispielsweise auf dem Bildschirm eines Computer erzeugt werden kann. Diese 3D-Animation 114 kann folgendes umfassen:
- ansteuerbare Bewegungsmuster 106 wenigstens eines bewegbaren Gelenkkörpers, - ansteuerbare Oberflächenmuster 108 des Gelenkkörpers und/oder seiner Umgebung,
- ansteuerbare Klangmuster 110 und/oder
- ansteuerbare Beleuchtungsmuster 112 für den Gelenkkörper und/oder seine Umgebung.
Dabei ist darauf hinzuweisen, dass die Erzeugung dieser SD- Animation 114 bezüglich der Ansteuersignale 116 in Echtzeit ausgeführt wird. Es ist also im Gegensatz zu manchen bekannten Beispielen nach dem Stand der Technik normalerweise nicht notwendig, Ton- oder Bildsequenzen vorab abzuspeichern, um sie dann auf Knopfdruck auszulösen.
Ein großer Vorteil der vorliegenden Erfindung ist es, dass für eine neu zu erzeugende 3D-Animation 114 nicht eine vollständig neue Programmierung erfolgen muß, wie es nach dem Stand der Technik der Fall ist'.. Vielmehr können gespeicherte Bewegungsmuster 106, Oberflächenmuster , 108, Klangmuster 110 und/oder Beleuchtungs uster 112 schnittstellenartig mit der frei spezifizierbaren Echtzeit-Steuerung 102 für animierte Grafiken, Video- und/oder Audiosequenzen verbunden werden. Durch Austausch bzw. erneute Spezifikation wenigstens eines der genannten Muster kann in einfacher Weise eine völlig neuartige 3D-Animation 114 erzeugt werden. Der Programmieraufwand zur Erstellung einer neuen 3D-Animation 114 wird somit deutlich verringert.
Da das Gehirn bei verschiedenen Tiergattungen sowie beim Menschen im Zuge der Evolution hinsichtlich der räumlichen Wahrnehmung und Verarbeitung von Bewegungsmustern äußerst komplexe Informationsmengen pro Zeiteinheit verarbeiten kann, wird in einem bevorzugten Ausführungsbeispiel der zugrunde liegen- den Erfindung in einfacher Weise auf diese erlernten und vererbten Fähigkeiten zurückgegriffen, indem bekannte Bewegungsmuster modulartig über eine standardisierte Schnittstelle der frei spezifizierbaren Echtzeit-Steuerung 102 für animierte Grafiken, Video- und/oder Audiosequenzen zur Verfügung ge- stellt werden.
Es ist anzumerken, dass das 3D-Eingabegerät 104 nur ein Beispiel für ein Eingabegerät zur Erzeugung von Ansteuersignalen 116 darstellt. Grundsätzlich ist jede andere Art von Eingabe- gerät ebenfalls geeignet, wobei indessen das 3D-Eingabegerät 104 den großen Vorteil aufweist, dass die Eingabe von Ansteu- .e.rsignalen 116 von unterschiedlichen Freiheitsgraden in besonders intuitiver Weise erfolgen kann. Hinsichtlich der konkreten Ausführungsformen von solchen 3D-Eingabegeräten 104 wird auf den in der Beschreibungseinleitung zitierten Stand der Technik verwiesen. Derartige Produkte sind beispielsweise von der Firma LogiCad3d im Handel erhältlich.
Bezugnehmend auf Figur 2 soll .nunmehr im Detail der Aufbau der erfindungsgemäßen frei spezifizierbaren Echtzeit-Steue- rüng 102 für animierte Grafiken, Video- und/oder Audiosequenzen erläutert werden. Die grau unterlegten Pfeile 116 und 120 zeigen die in Echtzeit ablaufende Ein- bzw. Ausgabe von Signalen von bzw. zu der frei spezifizierbaren Echtzeit-Steue- rung 102, nämlich die Ansteuersignale 116 (x, y, z, φκ, φy bzw. φz ) von dem 3D-Eingabegerät 104 und die Animations-Aus- gabedaten 120.
Wie aus Figur 2 ersichtlich, werden die Ansteuersignale 116 einem Freispezifizierungsmodul 202 zugeführt. Eine Funktion des Freispezifizierungsmoduls 202 ist es, aus den Absolutwerten der eingegebenen „Analogdaten" x, y, z, φx, φy bzw. φz die ersten zeitlichen Ableitungen (Geschwindigkeiten bzw. Winkel- ςjeschwindigkeiten) bzw. die zweiten zeitlichen Ableitungen (Beschleunigungen bzw. Winkelbeschleunigungen) zu ermitteln. Somit kann ohne Zuhilfenahme eines zusätzlichen Sensors (Beschleunigungssensor) beispielsweise die Geschwindigkeit und die Beschleunigung bezüglich der genannten „Analogdaten" unter den Ansteuersignalen 116 ermittelt werden.
Eine zweite wichtige Funktion des Freispezifizierungsmoduls 202 ist es, die Ansteuersignale 116 der verschiedenen Freiheitsgrade den Komponenten zur Erzeugung und/oder Beeinflus- sung der Grafiken, Bild- bzw. Tonsequenzen, also dem Bewegungsgenerator 204, dem Oberflächengenerator 206, dem Akustikgenerator 208 bzw. dem Beleuchtungsgenerator 210, zuzuordnen. Es kann also beispielsweise für den Benutzer eine Maske bei der Initialisierung der erfindungsgemäßen Echtzeit- Steuerung 102 für animierte Grafiken, Video- und/oder Audiosequenzen vorgesehen sein, die dem Benutzer den Zugriff auf das Freispezifizierungsmodul 202 derart ermöglicht, dass der Benutzer je einen Freiheitsgrad der Ansteuersignale 116 einer der oben genannten Komponenten -zur Erzeugung und/oder Beein- flussung der Grafiken, Bild- bzw. Tonsequenzen zuordnen kann.
Darüber hinaus kann der Benutzer mit Hilfe dieses Freispezi- fizierungsmoduls 202 die Kopplungsparameter der Zuordnung von .Ansteuersignalen zu abgespeicherten Referenzmustern frei ein- stellen, wie beispielsweise zur Durchführung einer spektralen Filterung zur Dämpfung bzw. Verstärkung der Signalkomponenten von Audiosignalen in vorgebbaren Frequenzbereichen. Die einstellbaren Kopplungsparameter legen dabei die zeitliche Kopplung sowie die Dämpfung bzw. Verstärkung der Veränderung des entsprechenden Referenzmusters abhängig von dem zugewiesenen Ansteuersignal und somit das Signalantwortverhalten des Systems fest. Abhängig von der Spezifizierung durch den Benutzer bewirkt also das Freispezifizierungsmodul 202, dass die Kopplungsparameter der Zuordnung - wie zum Beispiel die Dä p- fung bzw. Verstärkung - frei einstellbar sind. Werden beispielsweise die Kopplungsparameter bezüglich des Bewegungsmusters einer Gehbewegung des Gelenk-Objekts verändert, kann von einer dynamischen auf eine hinkende Gehbewegung- stufenlos umgestellt werden. Erfindungsgemäß können dadurch ebenfalls verschiedene Stimmungen oder Emotionen, ausgedrückt durch die
Mimik eines dargestelltes Gesichts, eingestellt werden. Die
Bewegungsmuster können dabei wie folgt mit den Stimmungsmustern gekoppelt sein:
Der Benutzer kann also stufenlos zwischen der Gehbewegung eines jungen Sportlers und der eines alten Mannes auswählen und, damit gekoppelt, in einfacher Weise verschiedene Charaktere und/oder Stimmungen auswählen.
Im Sinne einer höherwertigen Zuordnung ist es auch möglich, anstelle der Einstellung einzelner Kopplungsparameter ledig- lieh im Zuge der Spezifizierung den Charakter (jung/alt etc.) und/oder die Stimmung (lustig/traurig etc.) anzuwählen, wobei das Freispezifizierungsmodul 202 dann automatisch die einzelnen Kopplungsparameter (beispielsweise für den Gang, das Gesicht etc.) einstellt. Anstelle der Einstellung einzelner Kopplungsparameter ermöglicht diese höherwertige (verknüpfte) Zuordnung also die Wahl eines Charakters und/oder einer Stimmung. Die Wahl der Stimmung kann dabei Einfluß auf verschiedene Muster haben, so dass beispielsweise gleichzeitig die
Vertonung, die Szenenbeleuchtung und die Bewegung verändert werden. Es können also durch eine Aktion des Benutzers sowohl mehrere Kopplüngsparameter eines Musters wie auch mehrere Kopplungsparameter verschiedener Muster (Bewegung, Oberflä- ehe, Bild und/oder Ton) automatisch verändert werden. Somit können Choreographien erstellt werden, die eine Echtzeit-An- steuerung einer Charakter-Figur und des Hintergrunds verwen¬ den.
Abhängig von der Spezifizierung durch den Benutzer ordnet das Freispezifizierungsmodul 202 die entsprechenden Ansteuersignale 116 wie folgt zu:
- als parametrisierte Bewegungs-Ansteuersignale 212 einem Be- wegungsgenerator 204,
- als parametrisierte Oberflächen-Ansteuersignale 214 einem Oberflächengenerator 206,
- als parametrisierte Akustik-Ansteuersignale 216 einem Akustikgenerator 208 und/oder - als parametrisierte Beleuchtungs-Ansteuersignale 218 einem Beleuchtungsgenerator 210.
Der Bewegungsgenerator 204 verknüpft die ihm zugewiesenen Bewegungs-Ansteuersignale 212 mit wenigstens einem vordefinier- ten parametrisierten Bewegungsmuster 106 zur Erzeugung von Bewegungs-Animations-Ausgabesignale 220. Somit können also verschiedene Bewegungsmuster des virtuellen Gelenk-Ob ekts (z.B. Gehen in verschiedenen Richtungen, Bücken oder Springen etc.) in Echtzeit angesteuert werden.
Der Oberflächengenerator 206 verknüpft die ihm zugewiesenen Oberflächen-Ansteuersignale 214, die durch den Bewegungsgenerator 204 erzeugten Bewegungs-Animations-Ausgabesignale 220 sowie Daten von wenigstens einem vorgegebenen parametrisier- ten Oberflächenmuster 108 zur Erzeugung von Oberflächen-Aus-
gabesignale 222. Somit kann beispielsweise eine Struktur-,
Färb-, Farbsättigungs- bzw. Helligkeitsänderung bestimmter Flächen eines bewegten Objekts und/oder seiner Umgebung ein- geleitet werden.
Der Akustikgenerator 208 verknüpft dabei die ihm zugeordneten Akustik-Ansteuersignale 216 mit wenigstens einem parametrisierten vordefinierten Klangmuster 110. Das Produkt dieser Verknüpfung sind die Klang-Ausgabesignale 224, die einen Teil der Animations-Ausgabesignale 120 darstellen. Die gespeicher¬ ten Klangmuster können beispielsweise parametrisierte digitale Audiodateien sein.
In entsprechender Weise verknüpft der Beleuchtungsgenerator 210 die ihm zugewiesenen Beleuchtungs-Ansteuersignale 218 mit wenigstens einem vordefinierten parametrisierten Beleuchtungsmuster 112 zur Erzeugung von Beleuchtungs-Ausgabesignale 226. Das Beleuchtungsmuster 112 kann dabei ein virtuelles Ob¬ jekt und/oder seine Umgebung betreffen.
Wie bereits ausgeführt sind die vordefinierten Bewegungsmuster 106, Oberflächenmuster 108, Klangmuster 110 und Beleuchtungsmuster 112 jeweils parametrisiert, so dass die entsprechenden zugeordneten Ansteuersignale durch den Bewegungsgene- rator 204, den Oberflächengenerator 206, den Akustikgenerator 208 bzw. den Beleuchtungsgenerator 210 als Parameterwerte verwendet werden können, um eine Echtzeitsteuerung der entsprechenden Muster abhängig von den Ansteuersignalen 116 aus¬ zuführen, wobei sich die Echtzeit-Ansteuerung der entspre- chenden Muster in der entsprechenden Veränderung der erzeug¬ ten Animationsdaten 220, 222, 224 und 226 niederschlägt, die insgesamt zu den Animations-Ausgabesignalen 120 zusammengefaßt werden.
Der Benutzer kann also durch entsprechende Manipulation des
Eingabegeräts 104 und der entsprechenden Zuordnung durch das Freispezifizierungsmodul 202 (die durch den Benutzer selbst oder vorab durch den Hersteller eingestellt wurde) in Echt- zeit die Bewegungsmuster 106, die Oberflächenmuster (Geometrien, Texturen, etc.) 108, die Klangmuster 110 und/oder die Beleuchtungsmuster 112 ansteuern. Dabei kann er einerseits vordefinierte Muster auslösen, wozu beispielsweise ein Schalter am Eingabegerät 104 verwendet werden kann. Andererseits kann er unter Verwendung der „Analogansteuersignale" x, y, z,
(|)x, φy bzw. φ2 eine Echtzeit-Steuerung der genannten Muster ausführen.
Die Funktion der Generatoren 204, 206, 208 und 210 soll dabei anhand des Bewegungsgenerators 204 im Detail erläutert werden:
Es wird vorausgesetzt, dass im Zuge der Animation ein Gelenkkörper in Echtzeit angesteuert werden soll. Der Bewegungsge- nerator 204 berechnet also in diesem Fall laufend abhängig von den Bewegungs-Ansteuersignalen 212 die neue Position und Orientierung der Gelenke des Gelenkkörpers.
Ein Bewegungsmuster 106 wird also beispielsweise wie folgt definiert: Zuerst werden Skelettdaten definiert, die die Art und Lage der Gelenke des Gelenkkörpers beschreiben. Neben der Lage der Gelenke (Position) wird dabei auch die Art der Gelenke (beschreibbar durch Art und Anzahl der Freiheitsgrade) definiert. Für jedes Gelenk j der J Gelenke eines betrachte- ten virtuellen Gelenk-Objekts kann beispielsweise folgender String S \ definiert werden:
S := {Namβj, Position-}, Freiheitsgrade-j,
Maximale_Amplitudej, Dämpfungj, ...}
für 1 < j < J
Ein Bewegungsablauf besteht also dann aus einer Liste oder einer Funktion, die festlegt, welches der definierten Gelenke sich abhangig von den parametrisierten Ansteuersignalen wann und wie bewegt. Ein Bewegungsablauf kann somit beispielsweise durch eine Liste der „abzuarbeitenden" Gelenke bestehen. Pro Zyklus wird also durch Abarbeiten der Liste oder einer Funktion berechnet, welche neue Position und/oder Orientierung der Gelenke sich aus den Einzelbeiträgen der verschiedenen Gelenke abhängig von den Ansteuersignalen ergibt.
Zu einem Zeitpunkt n berechnet sich also die Position eines Gelenks, definiert durch die Koordinaten x, y, z, sowie dessen Orientierung, definiert durch die Winkelkoordinaten φx ι φy bzw. φ~, wie folgt:
Diese Gleichung (1) wird also für jedes in den Skelettdaten definierte Gelenk berechnet. Die neue Position und Orientierung eines Gelenks zum Zeitpunkt n berechnet sich somit aus der Position im vorherigen Zyklus n-1 zuzüglich der neuen, von den Ansteuersignalen abhängigen Beiträgen
Δx-, Δy_, Δz-, Δφx , Δφy und ΔφZ/..
Jedes Gelenk j liefert somit einen Änderungsbeitrag für die
Position und Orientierung jedes Gelenks, sich selbst eingeschlossen.
Die Beiträge eines jeden Gelenks j zur Verschiebung der Position bzw. Orientierung eines jeden anderen Gelenks sowie desselben Gelenks werden nach der folgenden Formel berechnet:
[ΔXJ , Δy-j , ΔZJ , ΔφKι i , Aφy, 3 , AφZι ] τ := fj (x,y, z , φx l φyr φz, x, y, z, φx , φy , φz , x, y , z, φx , φy , φ2 ) (2) mit fj: <-»18 → ^6 V j s { 1, 2, 3, ... , J} .
Die vektorwertige Funktion fj stellt dabei eine Repräsentation dar, wie ein bestimmter Bewegungsablauf, z.B. der Gang eines Menschen, standardisiert wiedergegeben werden kann.
Bezugnehmend auf das Flußdiagramm von Figur 3, soll nun schließlich nochmals der Ablauf gemäß der vorliegenden Erfindung erläutert werden. Die Schritte 301a, 301b und 301c be- ziehen sich dabei auf einen Einstellungs- und Zuweisungsvor- ςrang in dem Freispezifizierungsmodul 202. Dieser Vorgang kann entweder durch den Benutzer oder aber auch vorab festgelegt sein. Nach dem Start in Schritt 301a kann also der Benutzer und/oder ein Programmierer durch das Freispezifizierungsmodul 202 die einzelnen Ansteuersignale 116 der verschiedenen Freiheitsgrade verschiedenen Mustern (Bewegungsmustern 106, Ober¬ flächenmustern 108, Klangmustern 110 und/oder Beleuchtungsmustern 112) zuweisen. In einem Schritt 301c können dann die Kopplungsparameter zwischen den Ansteuersignalen und den tat- sächlich in Echtzeit ausgeführten Änderungen der entsprechenden Muster eingestellt werden. Diese Kopplungsparameter können beispielsweise die Dämpfung und die Verstärkung von Klangmustern betreffen.
Bei dem Start einer Echtzeit-Animation im Schritt 302 werden dann in einem Schritt 304 die Ansteuersignale von dem SD-Eingabegerät 104 an die Echtzeit-Steuerung 102 für animierte Grafiken, Video- und/oder Audiosequenzen weitergegeben. In einem Schritt 306 werden dann die Ansteuersignale ausgewertet, wobei beispielsweise die ersten und zweiten zeitlichen Ableitungen der „Analogsteuersignale" ermittelt werden. Zuletzt wird in einem Schritt 308 eine Zuweisung der Ansteuersignale der verschiedenen Freiheitsgrade zu den bereits oben genannten Bewegungsmustern 106, Oberflächenmustern 108,
Klangmustern 110 und/oder Beleuchtungsmustern 112 ausgeführt.
Hinsichtlich des Beleuchtungsmusters 112 ist anzumerken, dass sowohl die Beleuchtungssituation für ein animiertes Gelenk- Objekt selbst wie auch die Beleuchtung des Hintergrunds bzw. verschiedener Szenen in Echtzeit durch entsprechende Zuordnung und Eingabe entsprechender Ansteuersignale 116 verändert werden kann.
Bezugnehmend auf das in Figur 4 schematisch dargestellte Ausführungsbeispiel der zugrunde liegenden Erfindung, kann zur Steuerung einzelner oder mehrerer akustischer Parameter digitalisierter Klangmuster 410 ein Verfahren bzw. ein System vorgesehen sein, das die folgenden Geräte verwendet:
- einen Computer, dessen Steuereinheit 401 mit mindestens einem elektronischen Musikinstrument 402 über eine MIDI- Schnittstelle 404a+b leitend verbunden ist und
- ein Eingabegerät 104 zur Eingabe von parametrisierten Ansteuersignalen 116 für die Echtzeit-Bewegungssteuerung virtueller Objekte, die auf einem Bildschirm dargestellt werden können.
Dabei können die digitalisierten Klangmuster 410 im Speicher mindestens eines elektronischen Musikinstruments 402 gemäß dem MIDI-Standard digital gespeichert und auf mindestens einem elektronischen Musikinstrument 402 gemäß dem MIDI-Standard generiert bzw. abgespielt werden. Einzelne oder mehrere dieser akustischen Parameter können dabei erfindungsgemäß mittels Steuerung der virtuellen Objekte durch ein Bewegen des Eingabegeräts 104 in Echtzeit erzeugt bzw. beeinflusst werden .
Wie in Figur 5 abgebildet, kann alternativ zur Steuerung einzelner oder mehrerer akustischer Parameter digitalisierter Klangmuster 512 nach einer Variation dieses Ausführungsbeispiels der zugrunde liegenden ^Erfindung ein Verfahren bzw. ein System vorgesehen sein, das die folgenden Geräte verwen¬ det :
- einen Computer, dessen Steuereinheit 501 mit mindestens einer Sound-Karte 510 sowie mit mindestens einem Tongenerator 502 verbunden ist und
- ein Eingabegerät 104 zur Eingabe von parametrisierten Ansteuersignalen 116 für die Echtzeit-Bewegungssteuerung virtueller Objekte, die auf einem Bildschirm dargestellt wer- den können.
Dabei können die digitalisierten Klangmuster 512 im Speicher mindestens einer Sound-Karte 510 des Computers digital gespeichert sein und auf mindestens einem Tongenerator 502 des- selben Computers generiert und abgespielt werden. Einzelne oder mehrere akustische Parameter der digital gespeicherten Klangmuster 512 können dabei erfindungsgemäß mittels Steue¬ rung der virtuellen Objekte durch ein Bewegen des Eingabegeräts 104 in Echtzeit erzeugt bzw. beeinflusst werden.
Bei den ansteuerbaren virtuellen Objekten, die zur Erzeugung bzw. Beeinflussung einzelner oder mehrerer akustischer Parameter der digital gespeicherten Klangmuster 410 bzw. 512 durch ein Bewegen des Eingabegeräts 104 gesteuert werden, kann es sich zum Beispiel um die Steuerelemente, Tasten,
Schalter, Drehknöpfe und/oder Schieberegler eines virtuellen Mischpults handeln, mit dessen Hilfe beispielsweise einzelne Frequenzbereiche des Obertonspektrums eines gespeicherten, digitalisierten Klangmusters 410 bzw. 512 gezielt gedämpft bzw. verstärkt werden können.
Bei dem Eingabegerät 104 kann es sich zum Beispiel um ein drahtloses Steuermedium handeln, das in drei Dimensionen bewegt werden kann ("3D-Maus") und- das in der Lage ist, simul- tan parametrisierte Ansteuersignale 116 von Bewegungen in wenigstens sechs unabhängigen Freiheitsgraden in Echtzeit zu verarbeiten.
Bei den gesteuerten akustischen Parametern eines bestimmten digitalisierten Klangmusters 410 bzw. 512 kann es sich beispielsweise um Tonhöhen, Noten- bzw. Pausenwerte, Lautstärken, Tempi, Artikulationsanweisungen, Klangfarben, Pedal-, Vibrato-, Chorus-, Hall-, Oberton- und/oder andere Spezialef- fekte handeln.
Dabei können parametrisierte Ansteuersignale 116 von Bewegungen des Eingabegeräts 104 in drei translatorischen und drei rotatorischen Freiheitsgraden eingegeben werden. Darüber hinaus kann erfindungsgemäß vorgesehen sein, dass auch zeitliche Ableitungen der parametrisierten Ansteuersignale 116 ermittelt und verarbeitet werden können. Die Zuordnung von parametrisierten Ansteuersignalen 116 jeweils eines Freiheitsgrads zu einem oder mehreren Parametern eines bestimmten digitalisierten Klangmusters 410 bzw. 512 ist erfindungsgemäß frei spezifizierbar. Optional können auch die zeitlichen Ableitun-
gen der parametrisierten Ansteuersignale 116 einem oder mehreren Parametern eines bestimmten digitalisierten Klangmusters 410 bzw. 512 zugeordnet werden. Die Kopplungsparameter der Zuordnung von parametrisierten Ansteuersignalen ilβ können ebenfalls frei spezifiziert werden.
Die Bedeutung der mit Bezugszeichen versehenen Symbole in den Figuren 1 bis 5 kann der beigefügten Bezugszeichenliste entnommen werden.
Bezugszeichenliste
Nr, Symbol
100 vereinfachtes Blockdiagramm zur Veranschaulichung der Ein- und Ausgabesignale der frei spezifizierbaren Echtzeit- Steuerung 102 für animierte Grafiken, Video- und/oder Audiosequenzen nach dem bevorzugten Ausführungsbeispiel der zugrunde liegenden Erfindung
102 frei spezifizierbare Echtzeit-Steuerung von animierten Grafiken, Video- und/oder Audiosequenzen
10' 3D-Eingabegerät zur. Eingabe der Ansteuersignale 116
106 parametrisierte Bewegungsmuster für Gelenk-Ob j ekte
108 parametrisierte Oberflächenmuster (Geometrien, Texturen) für Gelenk-Objekte
110 parametrisierte Kla gmuster
112 parametrisierte Beleuchtungsmuster für Gelenk-Objekte und den Hintergrund virtueller Szenen '
114 3D-Animation, angezeigt aμ-f Computer-Bildschirm
116 Ansteuersignale vom 3D-Eingabegerät 104 für die frei spezifizierbare Echtzeit-Steuerung 102 für animierte Grafiken, Video- und/oder Audiosequenzen
118 Übergabe der parametrisierten Bewegungsmuster 106, Oberflächenmuster 108, Klangmuster 110 und/oder Beleuchtungsmuster 112 als Referenzmuster an die entsprechenden Generatoren 204, 206, 208 und 210 in der frei spezifizierbare Echtzeit-Steuerung 102 für animierte Grafiken, Video- und/oder Audiosequenzen
120 Animations-Ausgabesignale von der Echtzeit-Steuerung 102 für animierte Grafiken, Video- und/oder Audiosequenzen für die 3D-Animation 114
120a Animations-Ausgabesignale von der Steuereinheit 401 eines Computers für die 3D-Animation 114
120b Status-Signale von der 3D-Animation 114 für die Steuerein¬ heit 401 des Computers
200 detailliertes Blockdiagramm zur Veranschaulichung der Komponenten sowie der Ein- und Ausgabesignale der frei spezi¬ fizierbaren Echtzeit-Steuerung 102 für animierte Grafiken, Video- und/oder Audiosequenzen
202 Freispezifizierungsmodul zur Zuordnung der Ansteuersignale bzw. deren zeitlicher Ableitungen als Parameterwerte für die parametrisierten Bewegungsmuster 106, Oberflächenmu- ster 108, Klangmuster 110 bzw. Beleuchtungsmuster 112
204 Bewegungsgenerator zur Berechnung der Skelett-Anderungsda- ten von Gelenk-Objekten auf Grundlage der Ansteuersignale 116 als Parameterwerte und wenigstens je eines parametri- sierten Bewegungsmusters 106, wobei die Skelett-Änderungs- daten translatorische und/oder rotatorische Änderungen der Lage bzw. Orientierung der Gelenk-Objekte wiedergeben
206 Oberflächengenerator zur Berechnung der Oberfläche virtu-
Nr . Symbol
eller Gelenk-Objekte auf Grundlage ihrer Skelett-Ände- rungsdaten und wenigstens je eines Oberflächenmusters 108
208 Akustikgenerator zur Erzeugung von Tonsequenzen, ausgehend von parametrisierten Klangmustern 110
210 Beleuchtungsgenerator zur Erzeugung von Beleuchtungs-Aus- gabesignale, ausgehend von parametrisierten Beleuchtungsmustern 112
!12 Bewegungs-Ansteuersignale vom Freispezifizierungsmodul 202 zum Bewegungsgenerator 204
214 Oberflächen-Ansteuersignale vom Freispezifizierungsmodul 202 zum Oberflächengenerator 206
216 Klang-Ansteuersignale vom Freispezifizierungsmodul 202 für den Akustikgenerator 208
218 Beleuchtungs-Ansteuersignale vom Freispezifizierungsmodul 202 zum Beleuchtungsgenerator 210
220 Bewegungs-Animations-Ausgabesignale vom Bewegungsgenerator 204 zum Oberflächengenerator 206
222 Oberflächen-Ausgabesignale- vom Oberflächengenerator 206
224 Klang-Ausgabesignale vom Akustikgenerator 208 als Teil der Animations-Ausgabesignale 120
226 Beleuchtungs-Ausgabesignale vom Beleuchtungsgenerator 210
300 Ablaufdiagramm zur Veranschaulichung der von der frei spe¬ zifizierbaren Echtzeit-Steuerung 102 für animierte Grafiken, Video- und/oder Audiosequenzen durchgeführten Aktionen
301a Start der Setup-Phase [= Vorbereitung einer Echtzeit-Ani- ation)
301b Voreinstellungen, Initialisierungen und Zuweisungen für das Freispezifizierungsmodul 202
301c Parameter-Voreinstellung (z.B. Dämpfung bzw. Verstärkung)
301d Ende der Setup-Phase
302 Start der Steuer-Phase Start einer Echtzeit-Animation)
104 Eingabe der Ansteuersignale
106 Auswertung der Ansteuersignale
Zuweisung der Ansteuersignale
310 Erzeugung von Bewegungsdaten bzw. Beeinflussung von Bewegungsmustern 106 mit Hilfe der Animations-Ausgabesignale 120
312 Erzeugung von Oberflächendaten bzw. Beeinflussung von Oberflächenmustern 108 mit Hilfe der Animations-Ausgabesi¬ gnale 120
314 Erzeugung von Klangdaten bzw. Beeinflussung von Klangmu¬ stern 110 mit Hilfe der Animations-Ausgabesignale 120
Erzeugung von Beleuchtungsdaten bzw. Beeinflussung von Be¬ leuchtungsmustern 112 mit Hilfe der Animations-Ausgabesi¬ gnale 120
400 Blockdiagramm zur Veranschaulichung der Steuerung einzel¬ ner oder mehrerer akustischer Parameter digitalisierter Klangmuster durch ein System, bestehend aus einem Compu-
Nr . Symbol ter, dessen Steuereinheit 401 mit mindestens einem elektronischen Musikinstrument 402 über eine MIDI-Schnitt- stelle leitend verbunden ist und einem 3D-Eingabegerät 104 zur Eingabe von parametrisierten Ansteuersignalen für die Echtzeit-Bewegungssteuerung virtueller Objekte, die auf einem Bildschirm dargestellt werden können
401 Steuereinheit eines Computers
402 Masterkeyboard bzw. Synthesizer nach dem MIDI-Standard (hier: Keyboard mit 73 Tasten, d.h. mit einem Ambitus von sechs Oktaven)
404a MIDI/IN-Anschluss (Eingangsbuchse) des Masterkeyboards bzw. Synthesizers 402
404b MIDI/OUT-Anschluss (Ausgangsbuchse) des Masterkeyboards bzw. Synthesizers 402
406 Lautsprecheranschlussbuchse des Masterkeyboards bzw. Synthesizers 402
40! Lautsprecher
410 Speicher des Masterkeyboards bzw. Synthesizers 402, in dem eine Datenbank mit digitalisierten Klangmustern gespeichert ist
412ä MIDI/IN-Signal von der Steuereinheit 401 des Computers zum Masterkeyboard bzw. Synthesizer 402
412b MIDI/OUT-Signal vom Masterkeyboard bzw. Synthesizer 402 zur Steuereinheit 401 des Computers
414 Übergabe der digitalisierten Klangmuster 410 als Referenzmuster an das Masterkeyboard bzw. den Synthesizer 402
500 Blockdiagramm zur Veranschaulichung der Steuerung einzelner oder mehrerer akustischer Parameter digitalisierter Klangmuster durch ein System, bestehend aus einem Compu- ter, der über einen elektronischen Tongenerator 502 und eine Sound-Karte 510 verfügt, und einem 3D-Eingabegerät 104 zur Eingabe von parametrisierten Ansteuersignalen für die Echtzeit-Bewegungssteuerung virtueller Objekte, die auf einem Bildschirm dargestellt werden können
501 Steuereinheit des Computers, der über einen elektronischen Tongenerator 502 und eine Sound-Karte 510 verfügt
502 elektronischer Tongenerator des Computers nach dem MIDI- Standard
504a MIDI/IN-Signaleingang des elektronischen Tongenerators
504b MIDI/OUT-Signalausgang des elektronischen Tongenerators
506 Lautsprecheranschlussbuchse des Computers
Lautsprecher
510 Sound-Karte des Computers
512 Speicher der Sound-Karte 510, in dem eine Datenbank mit digitalisierten Klangmustern gespeichert ist
514a parametrisierte MIDI-Ansteuersignale von der Steuereinheit 501 des Computers zur Sound-Karte 510
514b MIDI/IN-Signal von der Sound-Karte 510 zum elektronischen Tongenerator 502
Nr. Symbol
514c MIDI/OUT-Signal vom elektronischen Tongenerator 502 zur Steuereinheit 501 des Computers