-
Die
vorliegende Erfindung bezieht sich auf die Animation von Videospezialeffekten.
-
Einige
Videospezialeffektsysteme auf Computerbasis machen Gebrauch von
einem "Kern"-Computerprogramm
und einer Anzahl von möglichen
Programmmodulen oder "Einschüben", die wenn erforderlich
geladen werden können.
-
In
einem Beispiel eines Videospezialeffektsystems kann unter Verwendung
dieses Aufbaus der Benutzer allgemein einen zusammengesetzten Spezialeffekt
einrichten, der für
eine Videosequenz angewandt wird, indem er eine Folge von Effektmodulen von
einer großen
Anzahl von verfügbaren
Modulen auswählt.
Beispielsweise könnte
eine Sequenz (oder "eine
gerichtete azyklische (aperiodische) Grafik") von Effekten durch einen Benutzer
aufweisen:
- (i) einen Bildlader
- (ii) einen Bewegungszielgeber, der mit dem Bildlader verknüpft ist
- (iii) einen Ausleuchtungseffekt, der mit Bewegungsspurführung und
dem Bildlader verknüpft
ist
- (iv) ein Bildwiederausrichtungselement, welches mit Bewegungsspurführung und
dem Bildlader verknüpft
ist Jeder dieser Effekte kann als ein Programmmodul oder als ein
Einschub ausgeführt sein,
wobei Daten zwischen den Modulen unter der Gesamtsteuerung eines
Kernprogramms geleitet werden.
-
Es
gibt häufig
ein Erfordernis, einige der Spezialeffektmodule innerhalb eines
Zusammensetzungseffekts zu "animieren". Dies bedeutet,
dass Betriebsparameter des Effekts mit der Zeit variiert werden
(d.h., von Bild zu Bild in einer Videosequenz). Beispielsweise können der
Ausleuchtungseffekt, der oben erwähnt wurde, durch Variieren
der Lichtquelle und von Bestimmungspositionen innerlalb des Bilds in
Bezug auf die Zeit animiert werden, so dass das Licht so erscheint,
als ob es über
das Bild schwenkt.
-
"Developing a Multimedia
Toolbox für
the Khoros Systems",
Chan Y.L., Alonso R., SPIE Proceedings on Multimedia: Full service
impact on Business, education and home, 22. – 26. Oktober 1995, Seite 1–12, XP002269869,
Philadelphia USA, offenbart, wie eine visuelle Programmierumgebung,
Khoros, für
die Multimedia-Datenverarbeitung angepasst werden kann. Das Khoros-System
ist ausführlicher
in "The Khoros Software
Development Environment for Image and Signal Processing" Konstantinides K.
et al, IEEE Transactions on Image Processing, IEEE Inc New York,
US, Band 3, Nr. 3, 1. Mai 1994, Seite 243–252 XP000453362 ISSN: 1057–7149 beschrieben.
Das Khoros-System liefert wirksam eine Umgebung, wo Verarbeitungsmodule
(glyphs) visuell angeordnet werden können und miteinander verknüpft sein
können,
um einen Prozessfluss einzurichten.
-
Die
vorliegende Erfindung stellt eine Videoverarbeitungsvorrichtung
bereit, die aufweist:
ein Kernprogrammobjekt; und
mehrere
Prozessor-Einschubprogrammobjekte, die auf das Kernprogrammobjekt
ansprechen, wobei die Prozessor-Einschubprogrammobjekte in einem
gerichteten aperiodischen Schaubild angeordnet sind, wobei jedes
betreibbar ist, ein Ausgangsergebnis in Bezug auf aufeinanderfolgende
Bilder eines Videosignals von Eingangsdaten, die sich auf dieses und/oder
andere Bilder beziehen, welche von einem vorhergehenden Prozesseinschub-Programmobjekt im
gerichteten aperiodischen Schaubild empfangen werden, und als Antwort
auf Betriebsparameter, die sich auf dieses Prozessoreinschub-Programmobjekt beziehen,
zu erzeugen;
dadurch gekennzeichnet, dass jeder Betriebsparameter
durch ein Parametereinschubobjekt definiert ist, das in einem gerichteten
aperiodischen Schaubild angeordnet ist, um einen Parameterwert dem
Prozessoreinschub-Programmobjekt mitzuteilen.
-
Die
Erfindung liefert auch einen bequemen und eleganten einfachen Weg
zum Steuern von Parameterwerten eines Spezialeffektsystems unter
Verwendung von Einschubobjekten, wobei separate Einschubobjekte
verwendet werden, um Parameterwerte zu definieren. Dieses Verfahren,
welches für
den Benutzer unsichtbar gemacht werden kann, erlaubt direkte Animation
der Parameterwerte ohne die Notwendigkeit nach einem bestellten
Animationscode innerhalb des Effekteinschubobjekts, und erlaubt
außerdem
einfaches Leiten des Ausgangssignals eines Effekts als Parametereingangssignal
zum anderen Effekt.
-
Ausführungsformen
der Erfindung werden nun – lediglich
als Beispiel – mit
Hilfe der beiliegenden Zeichnungen beschrieben, in denen:
-
1 schematisch
eine digitale Videospezialeffektvorrichtung zeigt;
-
2 schematisch
die Organisation von Betriebssoftware der Vorrichtung von 1 zeigt;
-
3 eine
ausführlichere
schematische Darstellung der Organisation der Betriebssoftware für die Vorrichtung
von 1 ist;
-
4 schematisch
die Ausbreitung eines aktualisierten Effektparameters in der Vorrichtung von 1 zeigt;
-
5 schematisch
die Ausbreitung eines Umgestaltungsbefehls in der Vorrichtung von 1 zeigt;
-
6 schematisch
ein Grafikeditorfenster und ein Palettenfenster zeigt;
-
7 schematisch
einen Grafikeditierbetrieb zeigt;
-
8 schematisch
die Bildung eines zusammengesetzten Effekticons zeigt;
-
9 schematisch
die Dateistruktur eines Zusammensetzungseffekts zeigt;
-
10 schematisch
ein Betrachterfenster zeigt;
-
11 schematisch
eine Initialisierungsanordnung der Betriebssoftware zeigt;
-
12 schematisch
einen früher
vorgeschlagenen Effekteinschub zeigt;
-
13 schematisch
eine neue Form des Effekteinschubs zeigt;
-
14 schematisch
die Beziehung zwischen den Effektservern und Proxyeffekten für den Effekteinschub
von 13 zeigt;
-
15 schematisch
einen System-Cachespeicher zeigt; und
-
16 schematisch
eine Einschubschnittstelle zeigt.
-
1 zeigt
schematisch eine digitale Videospezialeffektvorrichtung.
-
Ein
digitales Videosignal, welches aufeinanderfolgende Videobilder aufweist,
wird über
eine Eingangsschnittstelle 100 empfangen und in einer Plattengruppeneinrichtung 110 gespeichert.
Die Plattengruppeneinrichtung 110 speichert ebenfalls manipulierte
Bilder, welche durch die Vorrichtung erzeugt werden, wobei diese
zur Ausgabe über
eine Ausgangsschnittstelle 120 geliefert werden können.
-
Eine
Zentralverarbeitungseinheit 130 greift auf Daten zu, welche
in der Plattengruppe gespeichert sind, um verschiedene Videospezialeffekte
gemäß Befehlen
des Benutzers auszuführen.
Die CPU 130 empfängt
das Eingangssignal von den Benutzereingabeeinrichtungen 140,
beispielsweise einer Maus und einer Tastatur, speichert die Arbeitsdaten und
den Programmcode in einem Speicher 150 und erzeugt Daten
zur Ausgabe auf einem Anzeigebildschirm 160 über eine
Anzeigeansteuerung 170.
-
Die
Vorrichtung kann als ein Allgemeinzweckcomputer (beispielsweise
als ein PC) ausgebildet sein, der geeignete Software laufen lässt, beispielsweise
unter dem Microsoft Windows NT® – Betriebssystem.
Bei der vorliegenden Ausführungsform ist
die Plattengruppe mit der CPU 130 über eine UltraSCSI-Datenverknüpfung verbunden.
-
2 zeigt
schematisch (auf einem sehr allgemeinen Niveau) die Organisation
der Betriebssoftware für
die Vorrichtung von 1.
-
Die
Software ist als zwei Programmcodekategorien angeordnet: ein Kerngerüst, welches
auf der linken Seite von 2 gezeigt ist, und verschiedene "Einschübe", die auf der rechten
Seite von 2 gezeigt sind. Wenn die Software
anfangs geladen wurde, ist das Kerngerüst immer vorhanden und steuert Teile
des Betriebs der Vorrichtung, die zwischen verschiedenen Spezialeffektprozessen
anteilig aufgeteilt sind. Im Gegensatz dazu beziehen sich die Einschübe auf individuelle
Spezialeffekte (beispielsweise einen Ausleuchtungseffekt, einen
Spurführungseffekt
usw.) und werden lediglich dann geladen, wenn dies benötigt wird.
-
Dies
ist eine sehr effiziente Anordnung, da lediglich diejenigen Einschübe, die
sich auf Effektmodule beziehen, die aktuell durch den Benutzer gefordert
werden, in den Speicher geladen werden müssen. Dies spart Speicherplatz
im Vergleich mit einem System, bei dem ein Programmcode für jeden
möglichen
Spezialeffekt geladen werden muss. Dies erlaubt auch eine schnellere
Initialisierung der Vorrichtung, wobei die Notwendigkeit vermieden
wird, den gesamten Programmcode in den Speicher zu laden, wenn das
System hochgefahren wird, und es können Verzögerungen über das Codeladen reduziert
werden, wenn zunächst
ein Icon im Grafikeditor (siehe unten) ausgewählt wird. Außerdem erlaubt
die Anordnung, dass eine reduzierte Teilmenge der Vorrichtung (insbesondere
der Betriebssoftware)zu liefern oder zu installieren ist, wobei
sie unmittelbar einen Grafikeditor und die Kernverarbeitung enthält, jedoch ohne
die Einschübe.
Das System erlaubt es dritten Parteien oder Benutzern, ihre eigenen
Einschübe
zu erzeugen, solange sie mit einem definierten Schnittstellenprotokoll
zwischen den Einschüben
und dem Rahmengerüst
verbunden sind. Damit könnte
ein Benutzer einen bestellten Effekt sehr einfach erzeugen, indem
er ein relativ kleines Einschubprogramm schreibt.
-
Das
Kerngerüst
und die Einschübe
kommunizieren miteinander unter Verwendung eines sogenannten "Objektverknüpfungs-
und Einbettungs"-Protokoll
(OLE), welches in dem Buch "Understanding
AcitveX and OLE",
David Chappell, Mirosoft Press, 1996 beschrieben wurde.
-
Bei
dem OLE-System kann ein Software-Entwickler unterschiedliche Abschnitte
eines Computerprogramms als sogenannte "COM1-Objekte" ausführen. Jedes
COM-Objekt unterstützt
eine oder mehrere COM-"Schnittstellen", wobei jede eine Anzahl
von "Verfahren" aufweist. Ein Verfahren
ist eine Funktion oder eine Prozedur, um eine spezifische Aktion
auszuführen.
COM-Verfahren können durch
Software unter Verwendung dieses COM-Objekts aufgerufen werden.
Das System ist beschränkt, so
dass andere Teile der Software unter Verwendung eines COM-Objekts
dies lediglich über
die definierten Schnittstellen ausführen können, womit sie somit nicht
unmittelbar auf Programmcode- oder Daten innerhalb des Objekts abweichend über die
definierten COM-Schnittstellen zugreifen können.
-
Damit
kommuniziert bei dem vorliegenden System das Rahmengerüst mit den
Einschüben über diese
COM-Schnittstellen. (In Wirklichkeit weist ein Kerngerüst eine
Anzahl von Interkommunikationsobjekten auf, die in der Lage sind,
eine COM-Schnittstelle bereitzustellen, was jedoch im Prinzip das
gleiche ist).
-
3 zeigt
die Organisation der Betriebssoftware ausführlicher als die in 2.
In 3 ist das Diagramm in vier Quadranten unterteilt.
Ein oberer linker Quadrant zeigt ein sogenanntes Betrachterfenster 310;
ein oberer rechter Quadrant zeigt Effektbenutzerschnittstellen (UI)
320; ein unterer rechter Quadrant zeigt Effekt-"Server" 330, die verknüpfte Parameterdaten
(PD) haben; und ein unterer linker Quadrant zeigt einen Kernprozessor 340 einschließlich einer
Grafik gemeinsam mit einem Objektmanager 350, einem Gestaltungsmanager 352 und
einem Änderungsmanager 358.
An der Schnittstelle zwischen dem unteren linken und den unteren
rechten Quadranten ist eine Metadatenbank 354 angeordnet, die
einen Teil des Windows-NT-Registrys bildet, und eine Palette 356,
die Effekticons sowie Voreinstellungsparameterwerte enthält. Die
Metadatenbank 354 wird weiter ausführlich mit Hilfe von 11 und die
Palette mit Hilfe von 6 bis 9 unten
beschrieben.
-
Innerhalb
des Kernprozessors 340 ist ein "Diagramm", in Wirklichkeit "ein gerichtetes azyklisches Diagramm", welches eine verknüpfte Reihe
individueller Spezialeffekte hat. Jeder Effekt wird in dem Diagramm
als Proxy-Effekt (PE) dargestellt, der einen verknüpfen Cache
(C), um Effektausgaben so weit sie verfügbar sind zu speichern, um
dadurch die Wiederverwendung von Daten von Effekten in einer Kette
von Effekten zuzulassen, wenn beispielsweise ein Parameter in Verbindung
mit einem Effekt, der in der Kette höher ist, geändert wird. Jeder Proxy-Effekt ist
mit einem entsprechenden Effektserver 330 verknüpft.
-
Der
Objektmanager 350 ist dafür verantwortlich, um die Lebensdauer
und die Speicherverwaltung von aktiven Objekten im System zu steuern.
Der Gestaltungsmanager 352 steuert das Starten, den Fortschritt,
die Prioritätsbildung
und das Stoppen von Gestaltungsaufgaben. Der Änderungsmanager 358 steuert
Rückgängigmachen/Wiederherstellen
von Information und die Mitteilung von Änderungen bezüglich verschiedener
Teile des Systems.
-
Die
Basisunterteilung von 3 ist so, dass die beiden linken
Quadranten (oben links und unten links) sich auf Merkmale des Kerngerüsts beziehen, die
für einen
bestimmten Effekt nicht spezifisch sind. Diese Objekte werden in
den Speicher unabhängig davon
geladen, welche Spezialeffekte der Benutzer durchzuführen wünscht. Die
beiden rechten Quad ranten (oben rechts und unten rechts) beziehen
sich auf die Einschübe.
Jeder Einschub hat einen Server 330, der die Verarbeitung
in Verbindung mit dem Effekt ausführt, die durch diesen Einschub
durchgeführt
wird, und eine Benutzerschnittstelle 320, welche Benutzerschnittstellensteuerungen
(in Wirklichkeit zur Anzeige in einem Betrachterfenster 330)
in Bezug auf diesen Effekt bereitstellt.
-
Es
gibt eine ähnliche
Teilung von oben nach unten in 3, wodurch
die beiden oberen Quadranten (oben links und oben rechts) sich auf
Benutzerschnittstellensteuerungen in Verbindung mit den Spezialeffekten
beziehen, und die beiden unteren Quadranten und links und unten
rechts) sich auf die Verarbeitung und Organisation beziehen, die
ausgeführt
werden, um diese Effekte auszuführen.
-
Die
Betrachterfenster geben dem Benutzer die Gelegenheit, die Ausgabe
von und Parametern für
einen bestimmten Effekt in einer Kette von Effekten zu steuern,
die zur Ausführung
durch die Vorrichtung aufgebaut sind. Wenn somit ein Betrachterfenster
durch den Benutzer geöffnet
wird, muss die Ausgabe eines Effekts entweder erzeugt werden, oder, wenn
verfügbar,
von einem Cache-Speicher abgerufen werden.
-
Bei
einem System dieser Art, bei dem mehrere COM-Objekte verwendet werden,
wird es allgemein als nicht wünschenswert
angesehen, dass jedes Objekt seine Arbeit oder die Ergebnisdaten
in einer separaten Datendatei sichern sollte. In Wirklichkeit würde diese
Anordnung sehr gegen das Argument laufen, welches zum Einrichten
des OLE-Systems geführt
hat. Anstelle davon werden Daten in dieser Systemart durch alle
Objekte in einer einzelnen Datei oder in einem "zusammengesetzten Dokument" gespeichert, jedoch
mit einer geordneten Struktur innerhalb dieses zusammengesetzten
Dokuments.
-
Grundsätzlich ist
innerhalb des zusammengesetzten Dokuments eine Struktur analog zu
einer Datei oder einer Verzeichnisstruktur vorgesehen. Das Äquivalent
eines Verzeichnisses ist ein sogenannter "Speicher", und die Analogie einer Datei wird als
sogenannter "Strom" bezeichnet. Jedes
zusammengesetzte Dokument enthält
einen Hauptspeicher, unter dem eine Familienbaumstruktur von Speichern und
Strömen
sich befindet. Die COM-Stromschnittstelle ist einfacher als die
COM-Speicherschnittstelle, wobei jedoch die Speicherschnittstelle
mehr Flexibilität
bietet.
-
Allgemein
kann jedem COM-Objekt entweder sein eigener Speicher oder sein eigener
Strom zugeordnet werden, in welchem seine Arbeitsdaten gespeichert
werden. Bei einem hierarchischen System jedoch, wie bei dem vorliegenden
Videospezial-Effektprozessor, wo der Kern 340 die Operation von
einer Anzahl von Einschüben
koordiniert, muss die An- Ordnung,
welche bei früheren
Systemen verwendet wird, einem Strom in jedem Effekt-Einschub zugeteilt
werden.
-
Im
Gegensatz dazu wurde bei der vorliegenden Ausführungsform erkannt, dass einfaches
Zuteilen eines Speichers oder eines Stroms einem Einschub zu viele
Zwänge
bei der Ausbildung und bei der Arbeitsweise eines Einschubobjekts
mit sich bringt. Anstelle davon kann bei der Schnittstellendefinition
zwischen dem Kern und den Einschüben
jeder Einschub zwischen einem Strom auswählen, so dass er, wenn durch
den Einschub-Entwickler gewünscht
wird, seine Arbeitsdaten in einer direkten Weise speichern kann,
und einem Speicher, so dass er, wenn gewünscht, seine Arbeitsdaten unter
seinem eigenen "Verzeichnis" von Strömen und
Speichern speichern kann. Diese Auswahl wird vorher durch den Entwickler
des Einschubs getroffen, der den Einschubprogrammcode bildet.
-
In
der anschließenden
Beschreibung werden Kommunikationsprotokolle zwischen den verschiedenen
Objekten in Bezug auf 4 und 5 beschrieben.
Die Art und Weise, in welchem der Diagrammeditorteil des Kernprogramms 340 verwendet wird,
um eine Kette individueller Effekte einzurichten, um einen zusammengesetzten
Effekt zu bilden, wird mit Hilfe von 6 bis 9 beschrieben.
Die Betrachterfenster und seine Interaktion mit den Effekt-UIs 320 werden
dann mit Hilfe von 10 beschrieben.
-
So
zeigt 4 schematisch die Ausbreitung eines aktualisierten
Effekt-Parameters in der Anordnung von 3.
-
Ein
Beispiel dieser Situation ist, dass der Benutzer einen "Beleuchtungs"-Spezialeffekt einrichtet, wobei
der Effekt einer Lichtquelle einem Bild hinzugefügt wird. Die Lichtquelle besitzt
eine durch einen Benutzer definierbare Quelle und eine Bestimmungsposition
in Bezug auf das Bild. Wenn der Benutzer wünscht, eine dieser Positionen
zu ändern,
wird dies jedes aktuell-gestaltete Ausgangssignal von dieser Wirkung
ungültig
machen und außerdem
wird die Änderung
notwendig machen, dass diese zwischen den verschiedenen Objekten
ausgebreitet wird, welche in den unterschiedlichen Quadranten von 3 gezeigt sind.
Dieser Prozess ist in 4 gezeigt.
-
Gemäß 4 gibt
der Benutzer aktuell einen geänderten
Parameter über
ein Betrachterfenster 310 ein (siehe 10 unten).
Das Betrachterfenster ist mit einer bestimmten Effekt-UI 320 verknüpft, die wiederum
Teil eines Einschubs in Bezug auf einen individuellen Effekt ist.
(In Wirklichkeit kann ein einzelnes Betrachterfenster mit mehr als
einem Effekt verknüpft
sein, und nicht alle Effekte müssen
die Betrachterfenster in irgendeinem bestimmten Zeitpunkt geöffnet haben,
wobei jedoch die vereinfachte Anordnung von 3 wird für diese
Erläuterung
beibehalten wird). Der Einschub gibt eine Mitteilung "im Begriff zu editieren" an den Kern aus.
-
Wenn
die Änderung
vorgenommen wurde, gibt der Einschub eine Information "Änderung aufgetreten" aus. Dies bringt
eine Reihe von Aktionen mit sich und/oder initialisiert diese. In
einem ersten Schritt 401 teilt das Betrachterfenster den
aktualisierten Parameter der Effekt-UI 320 mit. Die Effekt-UI 320 gibt
einen Befehl "setze" an den entsprechenden Effektserver 330 aus,
wobei der überprüfte Wert
in einem Parameterspeicher innerhalb des Effektservers 330 eingestellt
wird. Dies ist ein Schritt 402 von 4.
-
In
einem Schritt 403 schreibt der Effektserver 330 ein "Rückgängigmachen/Wiederherstellen"-Objekt in den Kern 340,
wobei Details einer Handhabung oder Zeiger bereitgestellt werden,
der auf eine Aufzeichnung (im Effektserver) des Parameters vor und
nach der Änderung
zeigt. Als Antwort auf den Empfang dieses Rückgängigmachen/Wiederherstellen-Objekts
sendet in einem Schritt 404 der Kern eine Mitteilung zu
allen Betrachterfenstern, dass ein Parameter geändert wurde und dass einige
gespeicherte Datenausgangssignale ungültig sein können. Diese Mitteilung ist
für das
Betrachterfenster, in welchem die Parameteränderung stattfand, nicht spezifisch.
-
In
einem Schritt 5405 gibt jedes Betrachterfenster eine Information
an die entsprechende Effekt-UI 320 aus, um eine Aktualisierung
ihrer Verarbeitungsparameter anzufordern. In einem Schritt 406 gibt
die Effekt-UI 320 einen Befehl "erlange" an den entsprechenden Effektserver
aus, um den neuen Parameter zu erlangen, wobei der neue Parameter
zur Effekt-UI 320 in
einem Schritt 407 zurückgebracht wird.
Die Effekt-UI 320 verbreitet dann die Änderung zur Anzeige im Betrachterfenster
in einem Schritt 408.
-
Wenn
ein Verarbeitungsparameter geändert wird,
hat dies allgemein die Notwendigkeit zur Folge, das Ausgangssignal
von einem oder mehreren Effekten umzugestalten. 5 zeigt
die An und Weise, in welcher ein Umgestaltungsbefehl über die
Vorrichtung verbreitet wird, wobei diese auf die Verarbeitung von 4 folgt.
-
In
einem Schritt 502 gibt das Betrachterfenster einen Umgestaltungsbefehl
an den Gestaltungsmanager aus. Der Gestaltungsmanager gibt dann
einen Umgestaltungsbefehl an den entsprechenden Effektserver 330 aus.
Wenn der Effektserver das Umgestalten des Bilds beendet hat, gibt
dieser eine Information "beendet" an den Kern 340 aus.
Der Kern teilt dies dem Betrachtungsfenster in einem Schritt 505 mit,
und in einem Schritt 506 und 507 wirkt das Betrachterfenster
mit der Effekt-UI 320 aufeinander ein, um das umgestaltete
Effektausgangssignal anzuzeigen.
-
Wenn
mehrere Betrachtungsfenster und mehrere Rahmen in einem Bereich
von Interesse offen sind (was durch den Benutzer als Hilfssatz für Testzwecke
des gesamten Videoclips definiert werden kann), werden Bilder als
mehrfach konkurrierende Aufgaben gestaltet, gemäß der folgenden Prioritätsreihenfolge
zum Zuteilen von Verarbeitungshilfsmitteln:
- (i)
ein Bild oder Bilder, die aktuell zur Ansicht durch einen Benutzer
angezeigt werden;
- (ii) erste und letzte Bilder der Ausgabesequenz von Interesse;
und
- (iii) verbleibende Bilder der Ausgangsvideosequenz von Interesse.
-
Als
ein weiteres Detail gibt, bevor der Gestaltungsmanager einen Umgestaltungsbefehl
an den Effektserver ausgibt, der Gestaltungsmanager eine Information "Vorbereitung zur
Gestaltung" aus,
um zu spezifizieren, welches Bild in der Sequenz zu gestalten ist.
Der Effektserver antwortet mit einer Information seiner "Abhängigkeiten", d.h., denjenigen
gestalteten Bildern, die wesentlich sind, bevor die Anforderung
durch den Gestaltungsmanager ausgeführt werden können. Diese
können
Bilder sein, welche durch einen anderen Effekt gestaltet wurden
(beispielsweise den oder einen unmittelbar vorhergehenden Effekt in
dem gerichteten azyklischen Diagramm) oder Bilder, welche durch
diesen Effekt selbst gestaltet wurden. Dieser letztere Fall kann
in dem Beispiel eines Bewegungs-Zielgebers auftreten, wo, um beispielsweise
das Bild 5 zugestalten, der Bewegungs-Zielgeber sein eigenes gestaltetes
Ausgangssignal für
das Bild 4 benötigt.
-
Als
Antwort auf die Informationen, welche vom Effektserver zurück empfangen
werden, sendet der Gestaltungsmanager eine Information "bereite Gestaltung
vor", die diese
Bilder anfordert, usw., bis der Abhängigkeitsbaum beendet ist.
-
In
jeder Stufe prüft
der Effekt-Proxy, ob das geforderte Bild oder das gestaltete Ausgangssignal gespeichert
ist, und informiert den Gestaltungsmanager.
-
Wenn
beispielsweise eine Information "bereite
Gestaltung vor" zum
Bewegungs-Zielgeber,
der das Bild 5 spezifiziert, geliefert wird, könnte dieser antworten, um zu
sagen, dass er ein gestaltetes Ausgangssignal für das Bild 4 (selbst) erfordert.
Der Gestaltungsmanager sendet dann eine Information "bereite Gestaltung
vor" zum Bewegungs-Zielgeber
für das
Bild 4, und der Bewegungs-Zielgeber antwortet, um zu zeigen, dass
er das Bild 3 usw. erfordert. Auf diese Weise kann eine Liste von
Gestaltungsarbeiten, die erforderlich sind, bevor das erforderliche
Bild (Bild 5) gestaltet werden kann, aufgebaut werden. Gestaltete
Ausgangssignale, welche im Cache gehalten werden, sind in der Arbeitsliste
des Gestaltungsmanagers nicht enthalten.
-
Das
gleiche ereignet sich, wenn ein Effekt das gestaltete Ausgangssignal
eines vorhergehenden Effekts usw. benötigt abwärts von einer Kette von Effekten.
-
An
dem Ende dieses Prozesses setzt der Gestaltungsmanager alle erforderlichen
Arbeiten, welche in einer umgekehrten Reihenfolge laufen, so dass
das aktuell erforderliche Bild nicht gestaltet wird, bis alle abhängigen Bilder
gestaltet sind.
-
Als
Optimierung kann der Gestaltungsmanager aus dem Diagramm ermitteln,
welches die Eingangssignale zu jedem Effekt sind. Somit kann der Effektserver
einen vorher festgelegten Code (beispielsweise eine Null-Antwort)
senden, um auszudrücken, "alle Eingangssignale
dieses Effekts sind erforderlich".
-
Als
weitere Erweiterung kann das gleiche Protokoll verwendet werden,
so dass jeder Effektserver den Gestaltungsmanager informieren kann,
wenn sein Ausgangssignal das gleiche zwischen benachbarten Bildern
ist. Ein einfaches Beispiel davon ist ein (fester) Parametereinschub,
wo das Ausgangssignal invariant ist. Ein weiteres Beispiel ist ein
anderer Effekt, wo die Ausgangssignale schon vorbereitet sind und
gespeichert sind, so dass eine direkte Ermittlung durchgeführt werden
kann, ob aufeinanderfolgende Ausgangssignale identisch sind. Als
Antwort auf eine solche Mitteilung liefert der Gestaltungsmanager
die Information zu einem Effektserver, der später in dem gerichteten azyklischen
Diagramm ist. Dieser Effektserver kann dann (wenn geeignet) lediglich
eines von einem Bereich von Bildern gestalten und diese Ausgangssignal
für andere
Bilder, wo dessen Eingangssignal das gleiche bleibt, wiederholen.
-
6 zeigt
schematisch ein grafisches Editorfenster 610 und ein Palettenfenster 600.
Diese werden auf dem Anzeigebildschirm 160 unter der Steuerung
des Kerns 340 angezeigt.
-
Das
Palettenfenster 600 enthält eine Anzahl von Icons 620,
wobei jedes abgebildet ist auf und einen unterschiedlichen möglichen
Effekt darstellt, für den
Einschübe
im System existieren. Unter Verwendung einer Maussteuerung kann
der Benutzer diese Icons in ein rollbares Diagrammfenster 610"ziehen". Diese Icons werden
durch den Benutzer im grafischen Fenster in Bezug zueinander angeordnet
und können
dann mit logischen Verknüpfungen 630 verknüpft werden,
die im Fenster als grafische Linien dargestellt sind.
-
Die
Verknüpfungen 630 zeigen
ein Laufen des Ausgangssignals eines Effekts zum Eingangssignal
eines nachfolgenden Effekts, und haben (bei dieser Ausführungsform)
immer eine Richtung vom Boden des Diagramms in Richtung auf den
Kopf des grafischen Fensters. So hat beispielsweise, wie in 6 gezeigt
ist, ein Bildladericon 640 ein Ausgangssignal, welches
zu einem Beleuchtungseffekt 650 läuft.
-
Wenn
der Benutzer grafische Verknüpfungen
im grafischen Fenster einrichtet, richtet der Kern 340 logische
Verknüpfungen
ein, um den Weg zu bestimmen, mit dem das gestaltete Ausgangssignal
von einem Effekteinschub zum anderen läuft.
-
Die
Art und Weise, in welcher die grafischen Verknüpfungen gebildet werden, wird
nun mit Hilfe von 7 beschrieben. Die logischen
Verknüpfungen
werden dann mit Hilfe von 9 beschrieben.
-
In 7 hat
der Benutzer den Beleuchtungseffekt ausgewählt (beispielsweise mit einem Mausklick)
und hat eine bewegbare grafische Linie 720 vom Icon 650 in
Richtung auf einen Mauszeiger gerichtet. Wenn sich der Mauszeiger
einem Mischeffekticon 700 nähert, wird das Mischeffekticon
verstärkt
oder durch eine vergrößerte Linie 710 umgeben,
wobei zwei Eingangsanschlüsse
am Boden der Grenze 740 gezeigt werden. Wenn der Mauszeiger sich
einem der Eingangsanschlüsse
nähert, schnappt
die grafische Linie 720 auf diesen Eingangspunkt und kann
lagerichtig mit einem Mausklick fixiert werden. Damit wird eine
logische und grafische Verbindung zwischen dem Effekt 650 und
dem Effekt 700 eingerichtet.
-
Wenn
diese logischen und grafischen Verbindungen eingerichtet sind, kann
der Benutzer eine verknüpfte
Gruppe 800 des Effekticons in das grafische Fenster "boxen". Hier bedeutet "boxen", eine Box rund um
die Gruppe in einer Standardweise unter Verwendung einer Computermaus
zu zeichnen. (Eine Art und Weise, dies auszuführen, ist zu klicken und die
obere linke Ecke der Box zu halten, die Maus in die untere rechte
Ecke zu ziehen und dann die Maustaste loszulassen. Dies ist die
Standardweise, mehrere Bildschirmobjekte auszuwählen).
-
Der
Benutzer ist dann in der Lage, die verknüpfte Effektgruppe in den Palettenbereich
zu ziehen. Dies bildet ein neues zusammengesetztes Effekticon 810,
welches einen Satz von Eingangssignalen hat, welche von den Eingangssignalen
zur Gruppe gebildet sind, und einen Satz von Ausgangssignalen, welche
von den Ausgangssignalen der Gruppe gebildet sind. Logisch ausgedrückt wird
anstelle des Effekticons 810, welches auf einem bestimmten
Einschub abgebildet ist, dies auf einer verknüpften Gruppe von Einschüben abgebildet,
die miteinander in einer bestimmten Weise verbunden sind.
-
Das
zusammengesetzte Effekticon 810 bildet dann einen Teil
der Palette zur Verwendung durch den Benutzer beim Zeichnen einer
Grafik. Wenn später
der Benutzer wünscht,
Gebrauch von dem zusammengesetzten Icon 810 zu machen,
zieht er einfach dies an die Stelle auf das grafische Fenster. Vorzugsweise
bleibt das Effekticon 810 wie ein einzelnes Icon auf dem
grafischen Fenster, wobei dies jedoch bei anderen Ausbildungen sich
heraus in die ursprüngliche
Gruppe 800 erstrecken kann. Als weitere Alternative kann
dies in einer komprimierten Form als einzelnes Icon angezeigt werden,
jedoch mit einer angezeigten "Erweiterungs"-Taste, so dass der
Benutzer auf die Erweiterungstaste klicken kann, um die ursprüngliche
Gruppe von Icons 800 anzuzeigen. In jedem Fall ist der
zusammengesetzte Effekt, der durch das Icon 810 bereitgestellt
wird, eine Kopie der ursprünglichen
Gruppe 800.
-
9 zeigt
die Datenspeicherung, die diesem Prozess zu Grunde liegt. In 9 wurde
ein Icon 850 von den Palettenicons 620 in den
Palettenbereich 600 in den grafischen Editorbereich 610 gezogen.
-
In
Verbindung mit dem Palettenbereich 600 und gespeichert
in der Palette 356, die in 3 gezeigt
ist, ist eine Datenstruktur als Baum eingerichtet, der eine Wurzel 860 und
individuelle Datenfelder 870 in Abhängigkeit von dieser Wurzel
hat. Jedes Datenfeld 870 entspricht einem Effekticon 620,
mit Ausnahme im Fall eines Zusammensetzungseffekts, beispielsweise
eines Effekts 875. Hier sind die Effekticons (3a, 3b),
welche diesen Effekt bilden, in einer Hilfsstruktur abhängig von
diesem Datenfeld 875 angeordnet.
-
Eine ähnliche
Datenstruktur existiert, um Effekte in grafischen Editorbereich
zu speichern. Hier ist eine Wurzel 880 gezeigt, die unmittelbar
einen Effekt 885 hat, der von ihr abhängt. Wenn eine Anzahl von Effekten
miteinander im grafischen Editorbereich gruppiert ist und zur Palette
gezogen sind, bilden sie eine weitere zusammengesetzte Effektstruktur ähnlich der
Struktur 875.
-
10 zeigt
schematisch ein Betrachterfenster. Das Betrachterfenster umfasst
einen Bildanzeigebereich 900, verschiedene "Eigenschaftsseiten" 910, und
Effektsteuerungen 920 (hier als ein Positionierungsfadenkreuz
im Beispiel eines Beleuchtungseffekts gezeigt), und einen "Tastenbalken" 930.
-
Die
grundsätzliche
Anordnung des Betrachterfensters wird durch das Kerngerüst festgelegt
und ist Standard von Effekt zu Effekt. Jedoch werden die bestimmten
Felder, welche eingestellt werden können, indem Eigenschaftsseiten 910 verwendet
werden, durch die Effekt-UI 320 entsprechend einem bestimmten
Effekt festgelegt. Die Effekt-UI liefert außerdem Anzeigedetails für die Steuerung 920.
-
Somit
bestimmt im gezeigten Beispiel das Fadenkreuz 920 die Quelle
oder die Zielposition des Lichts beim Beleuchtungseffekt. Der Benutzer
kann das Fadenkreuz unter Verwendung einer Computermaus ziehen.
Das Ziehen des Fadenkreuzes ändert die
Parameterwerte (x, y) in Verbindung mit dieser Steuerung, so dass
die Prozedur von 4 (Aktualisierungsparameterwerte)
initialisiert wird. Als letzten Teil dieser Prozedur gibt im Schritt 408 die
Effekt-UI den korrigierten Parameterwert an das Betrachterfenster
aus. In diesem Zustand wird das Fadenkreuz in seine neue Position
zurückgezogen.
Somit erzeugte, obwohl es für den
Benutzer erscheint, dass die Ziehaktion das Fadenkreuz auf seine
letzte Position bewegt hat, in Wirklichkeit der Ziehbetrieb eine
Parameteraktualisierung, welche durch die Route, welche in 4 gezeigt
ist, die Bewegung des Fadenkreuzes zur Folge hat.
-
11 zeigt
schematisch eine Initialisierungsanordnung der Betriebssoftware.
Dieses zeigt eine Situation, bevor irgendeine Gestaltung in einer bestimmten
Betriebssitzung der Vorrichtung ausgeführt wurde.
-
Die
Einschübe
werden unter dem Windows Betriebssystem als "dynamische Ladebibliotheken" (DLL) ausgeführt. Die
DLLs sind allgemein große
Dateien, welche einen Programmcode, Daten und Hilfsroutinen-Bibliotheken
enthalten können.
Herkömmlich,
um Speicher-Leistung und die Systemleistung zu verbessern, wird
eine DLL in den Speicher geladen, wenn dies zunächst notwendig ist, um einen
bestimmten Prozess auszuführen
oder zu initialisieren, der durch diese DLL gehandhabt wird. Bei
der vorliegenden Ausführungsform
wird diese Idee der Speicherkonservierung und der Systemverbesserungsleistung
einen Schritt weiter vorgenommen.
-
Wenn
ein Effekticon zunächst
vom Palettenbereich genommen wird, würde in herkömmlicher Weise die DLL entsprechend
diesem Effekt in den Speicher geladen, um den Kern 340 mit
ausreichender Information (beispielsweise Zwischenverbindbarkeit
mit anderen Effekticons) für
die aufzubauende Grafik zu versorgen.
-
Bei
der vorliegenden Ausführungsform
wird die DLL für
diesen Effekt in dieser Stufe nicht geladen. Anstelle davon werden
sogenannte "Metadata" 1000, die
diesen Effekt zeigen, geladen. Die Metadata beliefern den Kern mit
Information, welche die Verbindbarkeit untereinander des Effekts
mit weiteren Effekten definiert (beispielsweise Nummern von Eingängen und
Ausgängen).
Dies ermöglicht,
dass der Kern eine Grafik ohne die Notwendigkeit aufbauen kann,
irgendwelche DLLs zu laden, womit somit Speicher gespart wird, da
große
Dateien nicht geladen werden, bis sie absolut notwendig sind.
-
Wenn
ein Betrachterfenster in Bezug auf einen Effekt geöffnet ist,
oder wenn der Zusammensetzungseffekt durch eine andere Einrichtung
ausgeführt
wird, werden die DLLs geladen und die Metadata ausrangiert oder
ignoriert.
-
12 bis 14 zeigen
schematisch Merkmale der Effekteinschübe, welche (unter anderen Dingen)
die Automation des Systems erleichtern.
-
12 zeigt
schematisch einen früheren vorgeschlagenen
Effekteinschub. Dieser Effekt nimmt Bildinformation auf (gezeigt
als "Clip" 1300) und
wirkt auf Basis von drei Verarbeitungsparametern P1, P2 und P3 (beispielsweise
Ausleuchtungspositionen usw.). Im Einschub von 12 werden
die Parameterwerte innerhalb des Einschubs festgelegt, d.h., durch einen
bestellten Programmcode, der als Teil des Einschubs geschrieben
ist. Dies macht die Gesamtsteuerung der Parameter, beispielsweise
für ein
Animationssystem, wo die Parameter mit der Zeit variieren, oder
bei einer Anordnung, wo ein Parameter, beispielsweise eine Ausleuchtungsposition, durch
einen anderen Effekt, beispielsweise einen Bewegungs-Zielgeben variiert
wird, sehr schwierig, was einen Zusatzcode innerhalb des Effekteinschubs
und häufig
Mehrfachversionen des Effekteinschubs erfordert.
-
13 zeigt
schematisch ein anderes Verfahren nach einer Ausführungsform
der Erfindung. Hier ist jeder Parameter durch einen separaten Einschub 1320 definiert,
die mit den "Haupt"-Effekteinschub 1330 in
der gleichen Weise verknüpft
ist wie die Verknüpfungen
zwischen Effekten im grafischen Editor wie oben beschrieben definiert
sind. In Wirklichkeit war die angegebene obige Beschreibung eine
Vereinfachung des gesamten Prozesses, wobei die Vereinfachung auf
dieser Stufe gemacht wird, um die Erläuterung zu unterstützen.
-
Die
Parametereinschübe
sind normalerweise gegenüber
dem Benutzer verborgen, beispielsweise, indem diese bei Bildschirmpositionen
im grafischen Editor und der Palette angezeigt werden, welche "außerhalb
der Seite" sind.
-
Somit,
wenn ein Effekt in einer in sich geschlossenen, nicht animierten
Weise (d.h. ohne wichtige Parameterwerte von anderen Effekten) betrieben werden
soll, werden diese Parameter für
jeden Parametereinschub 1320 unter Verwendung des Haupteffekt-Betrachterfensters
eingestellt.
-
Wenn
ein Parameter durch das Ausgangssignal eines anderen Effekts definiert
werden soll, beispielsweise eines Positionswerts, der durch einen Bewegungsspurnachführungseffekt
bereitgestellt wird, ist dies alles, was erforderlich ist, wenn
für die logische
Verknüpfung
zwischen dem Haupteffekteinschub 1330 und dem geeigneten
Parametereinschub 1320 getrennt wird und eine Verknüpfung zum
Bewegungsspurführungseffekt
initialisiert wird.
-
Um
zu verstehen, wie diese System bei Animation helfen kann, wird auf 14 bezuggenommen.
-
14 zeigt
die Links-Rechts-Teilung zwischen dem Kern und dem Einschub, der
zuerst in 3 gezeigt wurde. Auf der linken
Seite von 14 wird ein Proxy-Effekt (PE)
1340 für
den "Haupt"-Effektserver 1350 bereitgestellt.
Proxy-Effekte 1360 werden außerdem für jeden der Parametereinschübe 1320 vorgesehen.
Diese Proxy-Effekte 1360 haben eine viel einfachere Natur
als der Proxy-Effekt 1340 und die Kommunikation zwischen
den Proxy-Effekten 1360 und den Parametereinschüben 1320 nutzt
einen vereinfachten Hilfssatz des Kommunikationsprotokolls zwischen
dem Proxy-Effekt 1340 und dem Effektserver 1350.
-
Aktuell
können
die Proxy-Effekte 1360 ein einfacher Datenwert (in einem
nichtanimierten System) oder eine Liste von Werten in einem animierten System
sein. In einem animierten System kann die Liste von Werten als "Schlüsselrahmen"-Werte ausgedrückt werden,
d.h., Datenwerte, welche für
bestimmte Bilder in einer Folge gesetzt sind, mit intervenierenden
Werten, die durch den Kern interpoliert sind, gemäß einer
linearen oder benutzerdefinierten nicht linearen Interpolation.
Somit kann eine Animation in einer bestimmten einfachen und bequemen Weise
eingerichtet werden, ohne bestellte Animationssoftware innerhalb
jedes Einschubes schreiben zu müssen.
-
Wenn
man diese Beschreibung auf die angegebenen früheren ungefähren Abhängigkeiten zwischen Effekten
hernimmt, wenn eine Information "bereite
Gestaltung vor" von
dem Gestaltungsmanager durch einen Offsetserver 1350 empfangen
wird, kann darauf geantwortet werden, zu sagen, dass dies alle die
Eingangssignale erfordert, bevor dieses Ausgangssignal bereitgestellt
werden kann. In den Effekteingangssignalen sind natürlich die
Parametereinschübe
enthalten, so dass die nächste
Stufe für
den Gestaltungsmanager sein würde,
eine Vorbereitung zu senden, um Information für jeden Parametereinschub zu
gestalten. Wenn der Parametereinschub einen einzelnen Wert enthält, oder
wenn das aktuelle Bild ein Rahmenbild ist, ist der Parametereinschub bereit,
den geeigneten Parameter im Gestaltungszeitpunkt bereitzustellen.
Wenn jedoch der Parametereinschub Animationsdaten enthält und das
laufende Bild kein Rahmenbild ist, muss der Parameter zunächst interpoliert
werden, bevor er bei dem Effekt verwendet werden kann.
-
15 zeigt
schematisch einen Systemcache 1100. Diese ist eine schematische
Ansicht des gesamten Cachebereichs, wobei jedoch, wie früher beschrieben
ist, der Cache auch als einer von mehreren individuellen Cachespeichern
in Verbindung mit entsprechenden Proxy-Effekten betrachtet werden
kann, jedoch, da Speicherhilfsmittel dynamisch zwischen diesen individuellen
Cachespeichern zugeordnet sind, die Darstellung von 15 ebenfalls
gültig
ist.
-
Der
Cache ist in dem Systemspeicher 150 vorgesehen und ist
in der Lage, Bilder 1110 und nicht gestaltete Ausgangssignale von
Effekten (beispielsweise einen Bewegungsvektor im Fall eines Spurführungseffekts)
zu speichern.
-
Die
Idee des Cache ist die, das gestaltete Ausgangssignal (ob oder nicht
dies ein Bild ist) jedes Effekts in einer gerichteten azyklischen
Grafik zu speichern. Auf diese Weise benötigen, wenn ein Effekt an einer
bestimmten Position in der gerichteten azyklischen Grafik geändert wird,
Effekte unterhalb dieser Position nicht neu umgestaltet werden,
um das neue Ausgangssignal bereitzustellen. Anstelle davon können die
gespeicherten Ausgangssig nale wieder verwendet werden. Ein weiterer
Vorteil ist darin zu sehen, bei Rückgängigmachen/Wiederherstellungs-Operationen
zu helfen und diese zu beschleunigen, wobei das Ausgangssignal von
bestimmten Effekten (diejenigen mit geöffneten Betrachterfenstern)
gespeichert werden, vor und nachdem eine Parameteränderung
ausgeführt
wurde. Die entsprechende Parameteränderung wird ebenfalls gespeichert,
so dass die Parameteränderung
unerledigt sein kann oder einfach durch Laden des geeigneten Materials
von jedem Cachespeicher 1100 wiederhergestellt werden kann.
Dies geschieht unter der Steuerung der Rückgängigmachungs/Wiederherstellungs-Objekte,
welche durch die Effektserver geschrieben werden, wenn eine Änderung
ausgeführt wird.
-
Bilder
nehmen sehr viel mehr Speicherraum als eine einfacher Datenwert,
wie ein Bewegungsvektor auf, vielleicht ein Millionenfaches als
der Speicherraum. Somit, wenn sich bei dieser Ausführungsform
der Cachespeicher seiner Kapazitätsgrenze
nähert
und ein weiteres Bild gespeichert werden soll, wird das zumindest
letzte zugegriffene Bild im Cache gelöscht, um Raum für das neue
gespeicherte Bild zu bilden. Jedoch werden andere Daten im Cache-Parameterwerte
Nicht-Bild-Gestaltungsausgangssignale usw. – während einer Betriebssitzung
des Geräts nicht
gelöscht,
da diese einen winzigen Speicherraum verbrauchen im Vergleich zu
einem Bild. Diese Information ist dann für die Wiederverwendung verfügbar, und
für die
Rückgängigmachungs-/Wiederherstellungs-Operation,
solange die Information über eine
Betriebssitzung gültig
bleibt.
-
In
der Praxis kann belassen werden, dass der Einschub spezifiziert,
ob ein Datenfeld löschbar ist
oder nicht, wobei die Bilddatenfelder durch Konvention als löschbar festgelegt
sind, und die Nicht-Bild-Felder als nicht löschbar festgelegt sind.
-
16 zeigt
schematisch einen asynchronen-synchronen Umsetzer 1200 zwischen
dem Kern 340 und einem Effektserver.
-
Der
Umsetzer 1200 empfängt
asynchrone Umgestaltungsbefehle vom Gestaltungsmanager in Form einer
Schlange "tun", d.h., eine Liste
von Gestaltungsaufgaben, die ausgeführt werden müssen. Wenn
eine Aufgabe beendet ist, wird eine Information "beendet" vom Umsetzer 1200 zum Gestaltungsmanager
zurückgeschickt.
-
Der
Umsetzer 1200 empfängt
die asynchronen Aufgabenanforderungen und gibt synchrone Anforderungen
an den geeigneten Softwareeinschub ab. Dies bedeutet, dass die Schnittstelle 1200 eine Steuerung "thread" (ein Windows Ausdruck)
zum Softwareeinschub leitet, der die Steuerung des Drahts hält, bis
die Arbeit beendet ist. Lediglich dann bringt der Softwareeinschub
den "thread" zur Schnittstelle,
welche durch Ausgeben der Information "beendet" an den Kern antwortet.
-
Bei
Initialisierung befragt der Kern jeden Einschub (oder bevorzugt
die Metadaten-Verbindung mit diesem Einschub), um zu bestimmen,
ob der Einschub synchrone oder asynchrone Kommunikation handhaben
kann. Wenn ein Hardware-Einschub (beispielsweise eine periphere
Karte zum Gestalten in einer bestimmten Weise) oder ein asynchroner
Softwareeinschub, der möglich
auf einer verschiedenen Maschine laufen kann, anstelle eines Softwareeinschubs
installiert ist, wirkt dieser Einschub mit dem Kern (in Wirklichkeit
mit dem Gestaltungsmanager, der die Gestaltungsaufgaben asynchron
initialisiert) über
die asynchrone Schnittstelle als Hardware-Beschleuniger viel besser
für den
Betrieb auf diese Weise zusammen. Somit kann in diesem Fall der
Umsetzer 1200 umgangen werden.
-
Der
Umsetzer kann als Teil des Kerns oder als Teil jedes relevanten
Einschubs ausgebildet sein.
-
Folglich
wird durch einen zähler-intuitiven Schritt
zum Bereistellen eines Umsetzers 1200 zwischen zwei Softwarebereichen
eine effiziente Hardware-Schnittstelle für eine spätere Aufrüstung für eine geeignete Hardware bereitgestellt.