-
1-K
-
Die vorliegende Erfindung bezieht sich auf ein
Verfahren und eine Vorrichtung zur transparenten Überblendung von
Bildern auf einem Bildschirm eines Sichtgeräts, wobei das
Sichtgerät von einem Grafikprozessor gesteuert werden kann.
-
Die von Grafikprozessoren gesteuerten Sichtgeräte
enthalten üblicherweise einen Grafikspeicher mit freiem
Speicherzugriff, der zwischen dem Bildschirm und dem Prozessor
eingefügt ist, um die Daten bezüglich jedes Punkts oder Pixels
der auf dem Bildschirm erscheinenden Grafik zu speichern. Die
Veränderung der Grafik kann in jedem Augenblick durch
Veränderung des Inhalts der im Grafikspeicher gespeicherten Daten
bezüglich jedes Punkts der Grafik erreicht werden, was dazu
führt, daß auf die Helligkeit und/oder die Farbe jedes Punkts
oder Pixels der zu verändernden Grafik eingewirkt wird. Die
Veränderung erfolgt üblicherweise durch eine Bedienungsperson,
die über eine mit dem Prozessor verbundene Tastatur die
Befehle eingibt, mit denen die Daten bezüglich jedes der zu
verändernden Punkte verändert werden können. Die Einwirkung auf
die Tastatur startet im Prozessor einen Veränderungszyklus,
der entweder durch ein besonderes Programm oder durch
Aktivieren von verdrahteten logischen Operatoren ausgeführt wird. Ein
solcher Prozessor ist beispielsweise in dem US-Patent N
4,682,297 beschrieben.
-
Diese Organisation führt zu synthetischen Bildern, in
denen die Farbe jedes Punkts ausgehend von der Mischung von
drei Grundfarben rot, grün, blau, oder ausgehend von
Parametern der Helligkeit Y und des Farbunterschieds DR, DB usw.
definiert wird, wie sie üblicherweise zur Definition von
Fernsehbildern verwendet werden.
-
Der Grafikspeicher besteht aus einer Gruppe von
Registern oder Speicherebenen, die je Farbhelligkeitsdaten
enthalten, welche die Farbe jedes Punkts des Bilds definieren; im
vorliegenden Zusammenhang werden im allgemeinen drei
Speicherebenen
verwendet. Die Grafikprozessoren besitzen weiter ein
Register, das für jeden Punkt Masken zum Einschreiben der
Farbhelligkeitsdaten in die drei Farb-Ebenen herzustellen
vermag. Der Wert der Maskenebene wird vor dem Beschreiben des
Punkts abgefragt, um eine Freigabe oder Sperrung des
Schreibvorgangs zu ergeben. Um ein Bild einem anderen mit präzisen
Umrissen zu überlagern, erlaubt dies die zu übertragende Zone
in die Maskenebene einzuschreiben. Die gewählte
Transferfunktion kopiert dann die Farbhelligkeitswerte rot, grün, blau
jedes zu kopierenden Punkts des Bildes, um sie gegen die Werte
rot, grün, blau des Grundbilds auszutauschen. In manchen
Fällen ist der gerade beschriebene Punkt abhängig von den Werten
rot, grün, blau des Punkts des Grundbilds, den er setzt, und
von dem des Vordergrunds der Grafik. Wenn jedoch der Übergang
zwischen dem eingeblendeten Bild und dem Grundbild zu heftig
ist und ein optisches Ergebnis liefert, das eine
Bildretuschierung erforderlich macht, dann zeigt sich, daß diese
Retusche des Bildes von der Tatsache beeinträchtigt wird, daß die
Transferfunktion generell angewandt wird, also in gleicher
Weise für jeden Punkt des einzublendenden Bilds, und daß dann
diese Transferfunktion nicht mehr punktweise variiert werden
kann, sondern vielmehr insgesamt oder gar nicht.
-
Ziel der Erfindung ist es, diese erwähnten Nachteile
zu beheben.
-
Hierzu hat die Erfindung zum Gegenstand ein Verfahren
zur transparenten Überblendung von Bildern auf den Bildschirm
eines Sichtgeräts, das von einem an einen Grafikspeicher
angeschlossenen Grafikprozessor gesteuert wird, wobei der Speicher
Speicherebenen zur Speicherung der Helligkeits- und
Farbattribute jedes auf dem Bildschirm anzuzeigenden Bildpunkts
enthält, dadurch gekennzeichnet, daß im Grafikspeicher eine
zusätzliche Speicherebene der Speicherung der jedem Bildpunkt
zuzuordnenden Transparenzattribute K reserviert wird und jedes
Helligkeits- und/oder Farbattribut im Grafikspeicher und
hinsichtlich jedes Bildpunkts abhängig vom Wert eines
Transparenzattributs
verändert werden kann, das ihm eigen und im
zusätzlichen Speicher gespeichert ist, wobei das
Transparenzattribut K frei verändert werden kann, um stufenlose Übergänge
der in das Bild eingeblendeten Elemente zu erreichen.
-
Gemäß einem weiteren Merkmal des erfindungsgemäßen
Verfahrens kann der Wert jedes Attributs abhängig von einem
beliebigen Wert des Transparenzattributs verändert werden, das
zwischen zwei Schwellen gemäß einer Beziehung der folgenden
Form, gewählt wird:
-
X = Xs.K + Xa(1-K)
-
Hierbei sind Xs und Xa vorbestimmte Attributwerte des
Grundbilds oder des Vordergrunds der Grafik zum Beispiel.
-
Die Erfindung hat auch eine Vorrichtung zur
Durchführung des obigen Verfahrens zum Gegenstand.
-
Der Hauptvorteil des erfindungsgemäßen Verfahrens und
der erfindungsgemäßen Vorrichtung besteht darin, daß sie
aufgrund der Verwendung eines Transparenzattributs zusätzlich zu
den drei Farbenattributen die Maskierung und transparente
Überlagerung von zwei oder mehr Bildern ermöglichen.
Bildmischungen können nunmehr sehr einfach erhalten werden, indem
für jeden Punkt der Wert der gesuchten Mischfunktion berechnet
wird. Da das Einschreiben in die zusätzliche Speicherebene
keine anderen Grafikfunktionen als die erfordert, die bereits
für das Schreiben der Dreifarbenparameter in die anderen
Ebenen des Grafikspeichers verwendet werden, wird die Vermeidung
von Zacken und die Erzielung von sanften Übergängen an den
Rändern der zu überblendenden Bilder erleichtert.
-
Da andererseits die Transparenz funktionen auf alle
Attribute in gleicher Weise angewandt werden können, kann das
Transparenzattribut ebenfalls das Resultat einer Anwendung
einer beliebigen Funktion sein, die zum Beispiel als Parameter
die Transparenzwerte der Punkte des Vordergrunds und des
Hintergrunds des Bilds hat, um eine gute Wiedergabe des
Transparenzeffekts zu ergeben.
-
Andere Merkmale und Vorteile der Erfindung gehen aus
der nachfolgenden, nicht beschränkend zu verstehenden
Beschreibung anhand der beiliegenden Zeichnungen hervor.
-
Figur 1 zeigt eine Überblendung eines Bilds durch
übereinandergelegte Blockelemente, um die Art Fehler zu
illustrieren, die mit diesem Überblendungsmodus verbunden ist.
-
Figur 2 zeigt die Architektur eines Grafikprozessors,
der das Verfahren und die Vorrichtung zur Einblendung eines
Bilds gemäß der Erfindung durchführt.
-
Figur 3 ist das Beispiel eines Transparenzprozessors,
wie er in Figur 2 gezeigt ist.
-
Figur 4 zeigt den Schreib-Freigabeprozessor aus Figur
2.
-
Im Beispiel der Einblendung eines Bilds, das in Figur
1 gezeigt ist, liegt ein Bildelement 1 mit einem Lampenschirm
hinter einem anderen Bildelement 2 mit einem Fensterkreuz 3,
wobei das Bildelement 1 transparent durch transparente
Bereiche (Glasscheiben) des Bildelements 2 sichtbar ist. Die
Gesamtheit der Bildelemente 1 und 2 wird über einen
Bilduntergrund 4 eingeblendet. Mit den bekannten Grafikprozessoren
werden die Bildelemente 1 und 2 blockweise auf den Bildschirm
übertragen und die Bildpunkte des Bildelements 1, die die
entsprechenden Bildpunkte des Untergrunds der Szene 4 ersetzen
und dann der Aspekt der Punkte des Bildes 1 (Lampenschirm)
entsprechend dem Umriß des Bildes 2 (Fenster) werden alle
verändert, um das Bild 1 hinter dem Fenster 2 erscheinen zu
lassen. In diesem Beispiel wird der Transparenzeffekt, der
Elemente des Bilds 1 hinter den Scheiben und dem Fensterkreuz
3 erscheinen läßt, durch eine Mischung aller Punkte erreicht,
die sowohl dem das Bild 1 darstellenden Block als auch dem das
Bild 2 darstellenden Block zugehören. Das Ergebnis dieser
Mischung führt aber zu Diskontinuitäten im Aspekt gewisser
gemeinsamer Umrisse der beiden Blöcke, wie dies in Figur 1 an
dem Teil des Fensterkreuzes 3 sichtbar wird, der den
Lampenschirm durchquert. Das Verfahren und die Vorrichtung gemäß der
Erfindung lösen dieses Problem, indem sie die Änderungen nicht
auf alle die Bildelemente definierenden Punkte gemeinsam,
sondern auf jeden der Bildpunkte einzeln anwenden, in dem
ihnen ein zusätzlicher Attributwert zugewiesen wird, was dazu
führt, daß der Grafikspeicher nicht mehr in drei
Speicherebenen zur getrennten Speicherung der Attributwerte für rot, blau
und grün aufgeteilt wird, sondern in vier Speicherebenen,
bestehend aus den drei oben erwähnten Ebenen, denen eine
vierte Ebene zugefügt ist, um die Transparenzattribute zu
speichern. Für jede Adresse XY definiert man also im Bild
Attributwerte, die durch die folgenden Beziehungen definiert sind:
Hierbei sind die Werte (R, V, B, K)xi,yi entweder durch
Sollwerte entsprechend den Feder- oder Umrißfarben gegeben, die
von der Bedienungsperson vor dem Sichtgerät in Abhängigkeit
von der gewünschten geometrischen Schreibfunktion ausgewählt
werden, oder sie werden in einer beliebigen Ebene der
Bildebene gelesen, beispielsweise um eine Bildzone in eine andere
Zone zu kopieren, oder stammen auch aus einer anderen
Bilddatei oder einem anderen Bildteil.
-
Natürlich kann es eine große Zahl von Funktionen f
geben, die hier nicht im einzelnen beschrieben werden müssen.
-
Unter diesen Funktionen besitzen aber eine gewisse
Bedeutung die Funktionen f folgender Form:
-
X = X(fond).K+X(avantplan).(1-K) (5)
-
wobei X(fond) ein Attribut eines Hintergrundpixels und
X(avantplan) ein Attribut eines Vordergrundpixels im Bild
bedeutet, da diese Funktionen die Algorithmen auf die
Speicherebene K anzuwenden erlauben, die für die Ausfilterung von
Zacken verwendet werden, um die Übergänge an den Rändern der
eingeblendeten Bildbereiche sanft zu gestalten, indem die
Umrisse oder Linien geglättet werden, die in der
Diagonalrichtung des Bildschirms verlaufen. Natürlich können in der
Beziehung
(5) die Parameter X(fond) und X(avantplan) für manche
andere Anwendungen durch andere bestimmte Attributwerte (Xs
oder Xa) ersetzt werden als die, welche sich auf den
Hintergrund oder den Vordergrund des Bildes beziehen.
-
Ein Beispiel für die Herstellung eines
Grafikprozessors zur Durchführung des Verfahrens und der Vorrichtung gemäß
der Erfindung ist in Figur 2 gezeigt. Dieser Prozessor enthält
einen geometrischen Prozessor 5, der in bekannter Weise mit
der Tastatur 6, mit einem Sichtgerät 7, einer Bilddatei 8 und
einem Grafikspeicher 9 verbunden ist. Die Vorrichtung für die
Durchführung der Erfindung, die im Inneren einer
unterbrochenen Linie 10 dargestellt ist, enthält einen
Transparenzprozessor 11 und einen Schreibfreigabeprozessor 12. Der
Transparenzprozessor 11 ist einerseits mit dem Geometrieprozessor 5 über
einen Datenbus 13 und andererseits mit dem
Schreibfreigabeprozessor 12 über einen Datenbus 14 verbunden. Ein Bus 15
erlaubt dem Geometrieprozessor 5, Solldaten an den
Schreibfreigabeprozessor 12 zu richten. Der Transparenzprozessor 11
führt die Attributänderungen der Pixel des Grafikspeichers
unter Steuerung durch den Geometrieprozessor 5 durch, und die
veränderten Attributwerte werden dann vom Geometrieprozessor 5
im Inneren des Grafikspeichers 9 über einen Daten- und
Adressenbus 16 eingeordnet, der den Grafikspeicher 9 mit dem
Geometrieprozessor 5 verbindet. Ein weiterer Datenbus 17 befördert
die vom Geometrieprozessor 5 aus dem Grafikspeicher 9
ausgelesenen Attribute zum Sichtgerät 7. Der Transport der Daten und
von der Tastatur 6 adressierten Befehle zum Geometrieprozessor
5 erfolgt auf einem nicht mit Bezugszeichen versehenen
Datenbus. Die Bilddatei 8 ist auch mit dem Daten- und Adressenbus
16 verbunden.
-
Ein Ausführungsbeispiel eines Transparenzprozessors 11
zur Berechnung der Attributwerte gemäß der oben erwähnten
Beziehung (5) ist in Figur 3 gezeigt. Er setzt sich aus vier
Operatoren 11&sub1; bis 11&sub4; zusammen. Diese Operatoren haben die
Aufgabe, die Attribute rot, grün, blau und Transparenz jedes
aus dem Grafikspeicher 9 ausgelesenen Pixels gemäß der oben
beschriebenen Beziehung (5) zu verändern. Da die Operatoren 11&sub1;
bis 11&sub4; identisch sind, wurden nur die Elemente des Operators
11&sub1; im einzelnen im Inneren einer unterbrochenen Linie
dargestellt, der insbesondere der Bearbeitung des Rot-Attributs
gewidmet ist. Diese Elemente bestehen aus drei Registern 18,
19, 20, einem programmierbaren Festwertspeicher 21, zwei
Multiplizierkreisen 22 und 23, einem Addierkreis 24 und einem
Register 25. Die Register 20 und 18 werden mit den
Rot-Attributwerten des Hintergrunds bzw. Vordergrunds beladen, die vom
Geometrieprozessor 5 auf dem Datenbus 13 geliefert wurden. Das
Register 19 enthält den Wert des Transparenzattributs K, das
vom Geometrieprozessor 5 in der vierten Speicherebene gefunden
wurde, und dieses Register dient als Adressenregister für den
Festwertspeicher 21. Der Festwertspeicher 21 enthält in Form
einer Tabelle die Werte 1-K entsprechend den
Transparenzattributwerten K, die vom Geometrieprozessor 5 in das Register 19
eingeschrieben wurden. Jeder Wert 1-K, der aus dem Speicher 21
ausgelesen wurde, wird an einen ersten Operandeneingang des
Multipizierkreises 23 angelegt, dessen zweiter
Operandeneingang mit dem Ausgang des Registers 20 verbunden ist. Im Fall
des Operators 11&sub1; führt der Multiplizierkreis 23 die
Multiplikation zwischen dem Rot-Attributwert entsprechend dem
Hintergrund der Szene, der aus dem Register 20 entnommen wird, mit
dem Koeffizient 1-K durch, der aus dem Festwertspeicher 21
stammt. Das Ergebnis der Multiplikation wird an einen ersten
Operandeneingang des Addierkreises 24 angelegt. Das Register
19 ist weiter mit einem ersten Operandeneingang des
Multiplizierkreises 22 verbunden, dessen zweiter Operandeneingang an
das Register 18 angeschlossen ist. Der Multiplizierkreis 22
multipliziert die Inhalte der Register 19 und 18 miteinander,
die die Werte von K bzw. das Rot-Attribut des Vordergrunds
enthalten, und liefert das Resultat an den zweiten
Operandeneingang des Addierkreises 24. Die Ergebnisse der im
Addierkreis 24 durchgeführten Addition werden in das Register 25
eingeschrieben.
-
Um die Herstellung des Transparenzprozessors zu
vereinfachen, könnte man vorzugsweise die Berechnungen der
Attributwerte mit gleicher Bitzahl durchführen.
-
Eine Ausführungsform des Schreibfreigabeprozessors ist
in Figur 4 dargestellt. Dieser Prozessor führt Vergleiche
zwischen den Attributwerten rot, grün, blau und Transparenz K
des Elements des Hintergrundbildes mit den Sollwerten der
Attribute rot, grün, blau und K oder den Werten des zu
schreibenden Bildelements durch. Die Schreibfreigabe erfolgt, indem
zwei Schwellen C1 und C2 angegeben werden. Hierzu enthält der
Schreibfreigabeprozessor vier Elementar-Vergleicherblöcke 12&sub1;
bis 12&sub4;, die aus gleichen Elementen bestehen und hinsichtlich
des Vergleichselements 12&sub4; im Innern einer unterbrochenen Linie
dargestellt sind. Die Vergleicherblöcke enthalten drei
Komparatoren 26, 27, 28, die mit ihren Ausgängen an einen ODER-
Kreis 29 angeschlossen sind. In der Darstellung gemäß Figur 4
vergleichen die Komparatoren 26 und 27 das Rot-Attribut R, das
vom Transparenzprozessor 11 kommt, mit zwei Schwellwerten C1R
und C2R. Der Komparator vergleicht das Attribut R des zu
schreibenden Bildelements mit dem Attribut Rf, das dem
Hintergrundbild entspricht. Die Vergleichsergebnisse der
Komparatoren 26, 27 und 28 gelangen an den Eingang eines ODER-Kreises
29. Ein ODER-Kreis 30 ist mit seinen Eingängen an die Ausgänge
der Vergleichskreise 12&sub1; bis 12&sub4; angeschlossen und liefert an
seinem Ausgang das Schreibfreigabesignal, das an den
Schreibeingang des Grafikspeichers 9 angelegt wird.