-
Bereich der
Erfindung
-
Die
Erfindung betrifft Computergraphiken und insbesondere ein Computersystem,
das graphische Bilder mit veränderlicher
Kompliziertheit der Bilder mit einer konstanten Einzelbildgeschwindigkeit erzeugt.
Die Erfindung nutzt Verkleinerungs- und Vergrößerungsfähigkeiten zur Erzeugung graphischer
Bilder mit einer konstanten Einzelbildgeschwindigkeit und dadurch
zur Schaffung einer kontinuierlichen und gleichmäßigen visuellen Wirkung.
-
Stand der
Technik
-
Bei
vielen Computeranwendungen, bei denen Computergraphiken verwendet
werden, ist es erforderlich, daß das
System diese graphischen Bilder mit einer konstanten Einzelbildgeschwindigkeit
erzeugt. Zu diesen Anwendungen zählen
die visuelle Simulierung und die virtuelle Realität, in welcher
der Benutzer in einer interaktiven graphischen Umgebung arbeitet.
Zu speziellen Umgebungen gehören: Piloten-
und Fahrerausbildung, medizinische und chirurgische Vorschau, medizinische
Diagnose und Analyse, computergestützte Konstruktion und jede andere
Anwendung, bei der ein Benutzer hindurchwandern oder Daten verarbeiten
muß. Bei
diesen Anwendungen sind die graphischen Bilder die wichtigste Besonderheit
des Systems. Die Benutzer verlangen, daß die Bilder kontinuierlich
sind und glatt übergehen,
wenn sie ihren Kopf oder Sichtbereich bewegen.
-
Kontinuierliche
graphische Bilder sind gewährleistet,
wenn das Computersystem diese Bilder mit einer konstanten Einzelbildgeschwindigkeit
erzeugt. Das System muß jedes
Bild innerhalb des Zeitrahmens eines Einzelbildes oder Video-Feldes verarbeiten
und erzeugen. Das System kann die Verarbeitung eines Bildes nicht über den
Zeitrahmen eines Einzelbildes hinaus verlängern, ohne die visuelle Wirkung
zu beeinflussen und eine veränderliche
Einzelbildgeschwindigkeit zu erzeugen. Wenn ein System die konstante
Einzelbildgeschwindigkeit nicht einhält und Bilder mit veränderlicher
Einzelbildgeschwindigkeit erzeugt, muß der Benutzer plötzliche und
abrupte Bildkorrekturen vornehmen. Solche sprunghaften Korrektu ren
beeinträchtigen
den Realismus der Praxis und sind für den Benutzer visuell störend. Deshalb
ist eine konstante Einzelbildgeschwindigkeit erforderlich, um eine
realistische und effektive interaktive graphische Umgebung zustande zu
bringen.
-
Zusätzlich zu
dem Bedarf des Benutzers an einer konstanten Einzelbildgeschwindigkeit
akzeptieren die meisten der mit interaktiven graphischen Umgebungen
verwendeten Anzeigevorrichtungen nur graphische Bilder zur Anzeige
mit einer konstanten Einzelbildgeschwindigkeit. Diese Vorrichtungen
können
den Empfang graphischer Bilder mit einer sich ändernden Geschwindigkeit nicht
handhaben. Zu diesen Vorrichtungen gehören Computermonitore, Projektoren,
Fernsehgeräte,
Videokassettenrecorder und Videoanzeigehelme. In ähnlicher
Weise zeigen alle diese Vorrichtungen die graphischen Bilder mit einer
konstanten Videoausgabegeschwindigkeit an. Die Einzelbildgeschwindigkeit,
mit der das Computersystem die graphischen Bilder erzeugt, kann, braucht
jedoch nicht, äquivalent
zu der Videogeschwindigkeit der Anzeigevorrichtung sein.
-
Bei
einer Simulierung oder einer anderen interaktiven graphischen Umgebung
werden der Video-Hardware eines Computersystems wechselnde computermäßige Belastungen
auferlegt. Diese computermäßige Belastung
auf dem System ist je nach der Kompliziertheit des Bildes verschieden.
Die Belastung nimmt proportional der Zunahme der Kompliziertheit
des Bildes zu. Das zu erzeugende und anzuzeigende graphische Bild
kann von einer einfachen Ansicht des Himmels bis zu der komplizierten
Ansicht einer Stadt reichen. In jedem Fall muß die Video-Hardware das Bild
innerhalb der für
ein Einzelbild zugeteilten Zeit erzeugen.
-
Das
Problem entsteht, wenn die Kompliziertheit des Bildes verhindert,
daß die
Graphik-Hardware das Bild innerhalb des Zeitrahmens eines Einzelbildes
zeichnet. Wenn die Verarbeitungszeit eines Bildes über die
eines Einzelbildes hinausgeht, führt
das typischerweise dazu, daß das
zur Zeit angezeigte Bild wie bei vielen Einzelbildern mehrmals angezeigt wird,
so wie sie die Video-Hardware braucht, um die Berechnung des neuen
Bildes abzuschließen.
Durch diese sich wiederholende Anzeige des gleichen Bildes wird
die tatsächliche
Videoanzeigegeschwindigkeit vermindert, und der Realismus einer
Simulierung wird ernstlich aufs Spiel gesetzt.
-
Eine
Vorgehensweise zum Sicherstellen einer konstanten Einzelbildgeschwindigkeit
besteht darin, die Einzelbildgeschwindigkeit niedrig genug einzustellen,
um zu gewährleisten,
daß ein
Bild mit irgendeiner Kompliziertheit innerhalb eines Einzelbildes
erzeugt und angezeigt werden könnte.
Das ist aus mehreren Gründen
eine unvernünftige
Lösung. Erstens
würde die
Video-Hardware stets mit ihrer geringsten Kapazität laufen.
Zweitens würde
sich die Video-Wirkung auf den Benutzer verschlechtern und den Realismus
der Praxis beeinträchtigen.
-
Eine
zweite Vorgehensweise zum Aufrechterhalten einer konstanten Einzelbildgeschwindigkeit richtet
sich darauf, nur Objekte des Bildes zu zeichnen, die sich im Sichtbereich
befinden, und die Kompliziertheit der Objekte, die sich weit weg
befinden, zu vermindern. Mit dieser Vorgehensweise maximiert sich
die Leistung der Graphik-Hardware im Gegensatz zum Garantieren einer
spezifischen Einzelbildgeschwindigkeit.
-
Bei
einer dritten Vorgehensweise werden Vektor-Anzeigen verwendet, und
das sind Monitore, die Bilder mit einer variablen Einzelbildgeschwindigkeit
anzeigen können.
Mithin wird, wenn das Zeichnen eines Bildes länger als die nominelle Einzelbildzeit
dauert, die Einzelbildzeit einfach verlängert. Diese Vorgehensweise
weist zwei Nachteile auf. Erstens sind Vektor-Anzeigen kostspielig
im Vergleich zu herkömmlichen
Rastermonitoren. Zweitens kann die Einzelbildzeit nur etwas verlängert werden,
bevor entweder ein sichtbares Flimmern oder eine Bildverschmierung
beim Anzeigen des Bildes auftritt, wodurch der Realismus der Anzeige
beeinträchtigt
wird.
-
Aus
dem Dokument US-A-4703439 ist bekannt, die Taktfolge zu verändern, mit
der die Bilddaten erzeugt werden, um so die Anzahl der Bildelemente
pro Abtastlinie, dividiert durch die Taktfrequenz, gleich einer
Konstanten zu halten oder alternativ die Bilddaten neu zu skalieren,
wenn diese aus dem Bildzwischenspeicher ausgelesen werden.
-
Deshalb
besteht Bedarf an einem Computersystem zum automatischen Einstellen
auf die Kompliziertheit eines Bildes pro Einzelbild, wenn graphische
Bilder mit einer konstanten Einzelbildgeschwindigkeit erzeugt werden.
-
Zusammenfassung der Erfindung
-
Mit
der vorliegenden Erfindung wird die Zeit vermindert, die es dauert,
um ein kompliziertes graphisches Bild zu erzeugen, und dadurch gesichert, daß das Bild
innerhalb eines Bildfeldes erzeugt wird. Wenn zum Erzeugen eines
Bildes mehr als ein Einzelbild notwendig ist, oder wenn die Berechnungszeit der
Einzelbildgrenze nahekommt, wird die Bildauflösung oder -größe einfach
vermindert. Eine kleinere Version des Bildes erfordert weniger Berechnungszeit
für die
Video-Software zum Erzeugen des Bildes, da die Füllgeschwindigkeit des Bildes,
d. h. die Zeit zum Zeichnen des Bildes, proportional der Anzahl der
Bildelemente in dem Bild ist. Durch Zeichnen mit geringerer Auflösung lassen
sich die Anzahl der Bildelemente pro Zeile, die Anzahl der Zeilen
des Bildes oder beides vermindern. Der Füllbedarf vermindert sich um
den Anteil der verminderten Bildelemente. Nachdem die Video-Software ein verkleinertes
Bild gezeichnet hat, wird das Bild zurück bis zu seiner Zielauflösung oder
-größe vergrößert, bevor
es zu der Anzeigevorrichtung geschickt wird. Durch diesen Vorgang
werden komplizierte graphische Bilder innerhalb eines einzigen Bildfeldes
erzeugt, und es wird eine konstante Einzelbildgeschwindigkeit sichergestellt.
-
Um
bei einer Simulierung eine kontinuierliche und ungestörte visuelle
Wirkung angezeigter Bilder sicherzustellen, wird die Auflösung jedes
Bildes Einzelbild für
Einzelbild bestimmt und mit der Anzeige jedes Bildes synchronisiert.
Bei Eignung wird ein Bild mit einer verminderten Auflösung gezeichnet und
dann vor dem Anzeigen auf die Zielauflösung vergrößert. Deshalb kann jedes Einzelbild
eine andere Bildauflösung
aufweisen. Mit diesem Vorgang kann die Eingabe von Bildern mit variabler
Kompliziertheit ermöglicht
und dabei für
eine konstante Einzelbildausgabegeschwindigkeit mit einer konstanten Zielauflösung zu
einer Anzeigevorrichtung gesorgt werden.
-
Mit
der Erfindung wird auch eine Mehrkanalfähigkeit geschaffen, und das
ist das Vermögen
zur dynamischen Größenänderung
der graphischen Bilder mehrerer Anzeigevorrichtungen. Mit der vorliegenden
Erfindung wird der Kanal jeder Anzeigevorrichtung derart gesteuert,
daß jede
Anzeigevorrichtung eine andere Bildauflösung verwenden kann.
-
Weitere
Merkmale der Erfindung werden aus der folgenden ausführlichen
Beschreibung der besten Ausführungsweise
der Erfindung und aus den beigefügten
Ansprüchen
erkennbar.
-
Kurze Beschreibung der
Figuren
-
Die
vorliegende Erfindung wird an Hand von anliegenden Zeichnungen beschrieben.
In den Zeichnungen bezeichnen gleiche Bezugsziffern identische oder
funktionell ähnliche
Elemente. Des weiteren kennzeichnet/kennzeichnen die am weitesten links
befindlichen Ziffern(n) einer Bezugsziffer die Zeichnung, in der
die Bezugsziffer erstmalig auftritt.
-
1 ist
ein Steuerungsablaufschema, das eine Übersicht über eine dynamische Bildgrößenänderung
darstellt;
-
2 ist
ein Steuerungsablaufschema, das den ersten Schritt des dynamische
Bildgrößenänderungsverfahrens
darstellt, in dem ein Bild gezeichnet und die Bildauflösung bestimmt
wird; und
-
3 ist
ein Blockschaltbild, das die Synchronisierung des Anzeigekanals 'X' mit DID = 'n' bei der
Bildgrößenänderung
darstellt.
-
Ausführliche Beschreibung der bevorzugten
Ausführungsformen
-
Mit
der vorliegenden Erfindung wird dynamisch die Größe von graphischen Bildern
veränderlicher
Kompliziertheit geändert,
um Abzeigebilder mit einer konstanten Einzelbildgeschwindigkeit
und mit einer konstanten Zielauflösung zu erzeugen. Innerhalb
eines Einzelbildes wird ein graphisches Bild gemäß einer Bildauflösung gezeichnet.
In dem nachfolgenden Einzelbild wird das gezeichnete Bild dann mit einer
Zielauflösung
an eine Anzeigevorrichtung ausgegeben. Deshalb werden graphische
Bilder unabhängig
von der Kompliziertheit verarbeitet und mit einer konstanten Einzelbildgeschwindigkeit
angezeigt.
-
Die
vorliegende Erfindung wird hinsichtlich dieser beispielhaften Umgebung
beschrieben. Die Beschreibung in dieser Hinsicht wird nur der Bequemlichkeit
halber gegeben. Die Erfindung soll nicht auf die Anwendung in dieser
beispielhaften Umgebung beschränkt
werden. Tatsächlich
wird nach der Lektüre
der folgenden Beschreibung für
den Fachmann erkennbar, wie die Erfindung in alternativen Umgebungen
ausführbar
ist.
-
Die
vorliegende Erfindung wird in der beispielhaften Umgebung eines
Computersystems mit Video-Software beschrieben, die das Bild kontinuierlich
verkleinern kann, um graphische Bilder kontinuierlich zurück bis zur
Zielauflösung
zu vergrößern. Insbesondere
wird es nach der ausführlichen
Beschreibung der vorliegenden Erfindung für den Branchenfachmann erkennbar,
wie diese Anpassungen vorzunehmen sind.
-
Der
steuerungsmäßige Gesamtablauf
bei der vorliegenden Erfindung ist in 1 dargestellt.
In 1 erzeugt und zeichnet eine Video-Software ein graphisches
Bild pro Bildfeld, das Einzelbild N 114. Das Bild weist
veränderliche
Kompliziertheit auf und soll mit einer Zielauflösung während des nachfolgenden Bildfeldes,
des Einzelbildes N + 1 116, angezeigt werden.
-
Wieder
in 1 bestimmt die Video-Software in Schritt 106 während des
Einzelbildes N 114 zuerst eine Bildauflösung, die beim Einzeichnen
des laufenden Bildes in einen Einzelbildzwischenspeicher zu verwenden
ist. Die Bildauflösung
umfaßt
die Auflösungskoeffizienten,
die zum Zeichnen des laufenden Bildes verwendet werden. Die Bildauflösung kann,
braucht jedoch nicht, die Zielauflösung zu sein Nach dem Bestimmen
der Bildauflösung
zeichnet die Video-Software das lau fende Bild gemäß der Bildauflösung in
einen Einzelbildzwischenspeicher ein. Schritt 106 wird
im folgenden ausführlicher
beschrieben.
-
In
Schritt 106 wird innerhalb des Zeitraums eines Einzelbildes,
beispielsweise des Einzelbildes N 114, das Einzeichnen
eines Bildes in einen Einzelbildzwischenspeicher abgeschlossen,
auf den eine Video-Hardware zugreifen kann. Nach Schritt 106 liest
die Video-Hardware in Schritt 110 das eingezeichnete Bild
aus dem Einzelbildzwischenspeicher aus und gibt das gezeichnete
Bild mit der Zielauflösung
an eine Anzeigevorrichtung aus. Die Video-Hardware vergrößert das
Bild um den Prozentsatz, um den das Bild verkleinert worden war,
als das Bild in Schritt 106 gezeichnet wurde. Durch die
Vergrößerung wird
sichergestellt, daß das
Bild mit der Zielauflösung,
welche die Anzeigevorrichtung erfordert, angezeigt wird. Ein wichtiges
Merkmal der vorliegenden Erfindung ist, daß die Bildposition während der
Vergrößerung konstant
ist. Durch eine konstante Bildposition wird die Illusion des Benutzers
gewährleistet,
daß sich
im Bildinhalt nichts verändert.
In Schritt 112 wird das Bild einem Benutzer angezeigt. Die
Video-Hardware schließt
die Schritte 110 und 112 innerhalb des Zeitraums
eines Bildfeldes, des Einzelbildes N + 1 116, ab.
-
In 2 sind
die Einzelheiten der Video-Software gemäß Schritt 106 von 1 beschrieben.
Der Vorgang in Schritt 106, d. h. das Bestimmen einer Bildauflösung und
das Einzeichnen des laufenden Bildes mit dieser Auflösung in
einen Einzelbildzwischenspeicher, wird innerhalb des Zeitraums eines
Bildfeldes, des Einzelbildes N 114, abgeschlossen. Zum
Bestimmen einer Bildauflösung
eines laufenden Bildes stehen mehrere Verfahren zur Verfügung. Beispielsweise
kann die Video-Software eine Analyse der Kompliziertheit des Bildes
vornehmen, die auf dem Inhalt des zu zeichnenden laufenden Bildes
beruht, oder kann eine Analyse an mehreren vorherigen Bildern vornehmen
und dadurch eine Tendenz in der Bildkompliziertheit erkennen. Mit
der gewählten
Ausführungsform
der vorliegenden Erfindung jedoch wird eine Bildauflösung bestimmt,
die allein auf der Ausführung des
vorherigen Bildes beruht. Das heißt, daß die Zeit, die es dauerte,
um das Bild des vorherigen Bildfeldes zu zeichnen, die Basis für die Bildauflösung des
laufenden Bildes ist. Es versteht sich, daß diese rückwirkende Analyse gemäß der vorliegenden
Erfindung nur zum Zwecke der Bequemlichkeit beschrieben wird. Die
Erfindung soll nicht auf die Anwendung in dieser beispielhaften
Umgebung beschränkt
werden. Statt dessen wird nach der Lektüre der folgenden Beschreibung
für den Fachmann
erkennbar, wie die Erfindung in einer alternativen Umgebung ausführbar ist.
-
Wieder
in 2 zeichnet die Video-Software in Schritt 202 das
laufende Bild in einen Einzelbildzwischenspeicher ein. Das Bild
wird mit einer Bildauflösung 210 eingezeichnet.
Nachdem das laufende Bild eingezeichnet ist, geht die Video-Software zu Schritt 204 weiter.
In Schritt 204 berechnet die Video-Software die Einzeichnungszeit,
die Zeit, die es dauerte, um das laufende Bild in den Einzelbildzwischenspeicher
einzuzeichnen. Weiter in Schritt 206 vergleicht die Video-Software
die Einzeichnungszeit für
das laufende Bild mit einer Hochwassermarke. Die Hochwassermarke
stellt eine Einzeichnungszeit dar, bei der begonnen würde, eine
Bildauflösung
zu verkleinern, wobei sichergestellt würde, daß das Bild innerhalb eines
Einzelbildzeitraums eingezeichnet werden kann. Die Einzeichnungszeit
nimmt proportional der Kompliziertheit des laufenden Bildes zu oder ab.
-
Wieder
in Schritt 206 geht die Video-Software, wenn sich die Einzeichnungszeit
bis zu der Stelle des Überschreitens
der Hochwassermarke erhöht, zu
Schritt 208 weiter. In Schritt 208 bestimmt die
Video-Software eine neue, verkleinerte Bildauflösung 210. Dann wird
die Bildauflösung 210 während des Einzeichnens
des Bildes des nächsten
Bildfeldes, des Einzelbildes N + 1, in Schritt 202 verwendet.
Die Video-Software tritt aus Schritt 208 aus und tritt
dadurch in Schritt 106 ein und wartet auf den Beginn des
nächsten
Bildfeldes, des Einzelbildes N + 1 116.
-
Wieder
in Schritt 206 geht die Video-Software, wenn die Einzeichnungszeit
nicht die Einzelbildzeit überschreitet,
dann zu Schritt 212 weiter. In Schritt 212 vergleicht
die Video-Software die Einzeichnungszeit für das laufende Bild mit einer Tiefwassermarke.
Die Tiefwassermarke stellt eine Einzeichnungszeit dar, zu der sich
eine verkleinerte Bildauflösung
zu vergrößern beginnen
würde.
Wenn die Einzeichnungszeit für
das laufende Bild geringer als die Tiefwassermarke ist, geht die
Video-Software zu Schritt 214 weiter.
In Schritt 214 prüft
die Video-Software, ob die Bildauflösung gleich der Zielauflösung ist.
Wenn ja, dann kann das Bild nicht vergrößert werden, da das Bild bereits
auf die Zielauflösung
gezeichnet ist. In diesem Fall ist das Bild eines mit geringer Kompliziertheit.
Die Video-Software tritt aus Schritt 214 aus und tritt
dadurch aus Schritt 106 aus und wartet auf den Beginn des
nächsten
Bildfeldes, des Einzelbildes N + 1 116.
-
Wieder
in Schritt 214 geht die Video-Software, wenn die Bildauflösung nicht
gleich der Zielauflösung
ist, zu Schritt 216 weiter. Schritt 216 zeigt
an, daß das
Bild mit einer verkleinerten Bildauflösung eingezeichnet wurde, und
daß das
Bild eine derart geringe Kompliziertheit aufweist, daß während des Bildfeldes
eine freie Zeit besteht. Diese freie Zeit kann verwendet werden,
um das nächste
Bild mit einer höheren
Auflösung
einzuzeichnen. In Schritt 216 leitet die Video-Software
eine erweiterte Bildauflösung
ab und speichert sie als neue Bildauflösung 210. Danach tritt
die Video-Software aus Schritt 216 aus und tritt dadurch
aus Schritt 106 aus und wartet auf den Beginn eines neuen
Bildfeldes, des Einzelbildes N + 1 116.
-
Wieder
in Schritt 212 ist die Bildauflösung, wenn die Einzeichnungszeit
nicht unterhalb einer Tiefwassermarke liegt, dann der Kompliziertheit
des laufenden Bildes angemessen. Die Video-Software aus Schritt 212 aus
und tritt dadurch aus Schritt 106 aus und wartet auf den
Beginn eines neuen Bildfeldes, des Einzelbildes N + 1 116.
-
Während des
kontinuierlichen Betriebs ist für ein
erstes Bildfeld, beispielsweise das Einzelbild 1, die zum
Einzeichnen eines ersten Bildes, beispielsweise des Einzelbildes 1,
verwendete Bildauflösung 210 gleich
der Zielauflösung.
In dem nächsten
Bildfeld, beispielsweise dem Einzelbild 2, bildet die Einzeichnungszeit
von Bild 1 die Grundlage für die zum Einzeichnen eines
zweiten Bildes, beispielsweise dem Einzelbild 2, in den
Einzelbildzwischenspeicher verwendeten Bildauflösung. Ebenso ist in einem Bildfeld 3 die
Einzeichnungszeit für
Bild 2 die Grundlage für
die zum Einzeichnen des Bildes 3 in den Einzelbildzwischenspeicher
verwendete Bildauflösung. Dieser
Vorgang wiederholt sich bei jedem Bildfeld.
-
3 ist
ein Blockschaltbild, das die für
die vorliegende Erfindung zur dynamischen Bildgrößenänderung erforderliche Synchronisierung
zeigt. Insbesondere veranschaulicht 3 die Synchronisierung
zwischen der Video-Software von Schritt 106, die während des
Einzelbildes N 114 ein Bild in einen Einzelbildzwischenspeicher
einzeichnet, und der Video-Hardware von Schritt 110, die
während
des Einzelbildes N + 1 116 ein Bild an eine Anzeigevorrichtung
ausgibt.
-
Ähnlich wie
bei herkömmlichen
Videosystemen zwischenspeichert die vorliegende Erfindung graphische
Bilder doppelt. Die doppelte Zwischenspeicherung umfaßt eine
logische Teilung eines Einzelbildzwischenspeichers in zwei (2) Einzelbildzwischenspeicher,
beispielsweise in den Einzelbildzwischenspeicher A 304 und
Einzelbildzwischenspeicher B 306. In Betrieb zeichnet die
Video-Software ein Bild in einen Einzelbildzwischenspeicher ein,
beispielsweise den Einzelbildzwischenspeicher A 304, während der
Videoausgangskontroller (VOC) 312 ein vorher eingezeichnetes
Bild aus dem zweiten Einzelbildzwischenspeicher, dem Einzelbildzwischenspeicher
B 306, ausliest und dieses Bild an eine Anzeigevorrichtung 'X' 318 ausgibt.
-
Durch
die doppelte Zwischenspeicherung wird sichergestellt, daß ein Benutzer
niemals ein Bild sieht, während
es eingezeichnet wird. Beispielsweise liest der VOC 312,
während
die Video-Software während
des Einzelbildes N 114 ein Bild in den Einzelbildzwischenspeicher
A 304 einzeichnet, das während des Einzelbildes N – 1 eingezeichnete
Bild aus dem Einzelbildzwischenspeicher B 306 aus und gibt
es an die Anzeigevorrichtung 'X' 318 aus.
Die beiden Einzelbildzwischenspeicher, der Einzelbildzwischenspeicher
A 304 und der Einzelbildzwischenspeicher B 306 werden
Einzelbild für
Einzelbild umgeladen. Mithin zeichnet die Video- Software unter Fortführung des vorigen Beispiels
in dem nächsten
Bildfeld, dem Einzelbild N + 1 116, ein Bild in den Einzelbildzwischenspeicher
B 306 ein, und der VOC 312 liest das in den Einzelbildzwischenspeicher
A 304 eingezeichnete Bild aus und gibt es an die Anzeigevorrichtung 'X' 318 aus.
-
Wie
bei herkömmlichen
doppelten Zwischenspeichermechanismen wird mit der vorliegenden
Erfindung die doppelte Zwischenspeicherung mit einem Zeiger ausgeführt, der
in diesem Fall als Pufferschalter 308 bezeichnet wird.
Der Pufferschalter 308 zeigt an, in welche Seite des Einzelbildzwischenspeichers, entweder
des Einzelbildzwischenspeicher A 304 oder des Einzelbildzwischenspeichers
B 306, einzuzeichnen ist und aus welcher Seite auszulesen
ist. Wenn die Video-Software mit dem Einzeichnen eines Bildes in
eine Seite des Einzelbildzwischenspeichers fertig ist, kann der
Pufferschalter 308 derart umgestellt werden, daß der VOC 312 jetzt
aus der Seite des Einzelbildzwischenspeichers ausliest, die das neu
eingezeichnete Bild enthält,
und daß die
Video-Software in die Seite des Einzelbildzwischenspeichers einzeichnet,
mit deren Anzeige der VOC 312 gerade fertig geworden ist.
Der Pufferschalter 308 darf jedoch nicht vorzeitig umgestellt
werden. Das heißt,
daß der
Pufferschalter 308, obwohl die Video-Software zu jedem
Zeitpunkt während
eines Einzelbildes ein Bild fertig in einen Einzelbildzwischenspeicher
einzeichnen kann, an dieser Stelle nicht umgestellt wird. Ein Umstellen
des Pufferschalters 308 in der Mitte eines Einzelbildes
kann dazu führen,
daß der
VOC 312 Einzelbildzwischenspeicher in der Mitte der Lektüre eines
eingezeichneten Bildes schaltet und dieses an die Anzeigevorrichtung 'X' 318 ausgibt. Deshalb erfolgt
die Korrektur des Pufferschalters 308 während des vertikalen Austastens
durch den VOC 312 an der Anzeigevorrichtung 'X' 318. Das vertikale Austasten
ist der Zeitraum, während
dem der VOC 312 seine derzeitige Stellung an der Anzeigevorrichtung 'X' 318 aus der unteren rechten
Ecke (der Position nach Beendigung der Ausgabe eines Bildes) in die
obere linke Ecke (der Position für
den Beginn der Ausgabe eines Bildes) rückstellt.
-
Mit
der vorliegenden Erfindung wird auch eine Mehrkanalfähigkeit
geschaffen; das heißt
das Vermögen
zum Ansteuern mehrerer Anzeigevorrichtungen, die jeweils ein anderes
graphisches Bild anzeigen. Beispielsweise kann die Anzeigevorrichtung 'X' 318 eine von einer Mehrzahl
von Anzeigevorrichtungen sein. Jede Kanal- oder Anzeigevorrichtung kann
unabhängig
in der Größe derart
geändert
werden, daß jede
ein anderes Vergrößerungsverhältnis und
andere Umladegeschwindigkeiten nutzt. Jeder Anzeigevorrichtungskanal
ist einer einzigen Anzeige ID (DID) zugeordnet, die zur dynamischen
Größenänderung
dieses Kanals unabhängig
von den anderen Kanälen
verwendet wird. Das heißt,
daß der Pufferschalter 308,
wenn die Einzelbildzwischenspeicher eines speziellen Kanals, beispielsweise
des Kanals mit DID = 'n', welcher der Anzeigevorrichtung 'X' 318 entspricht, umgeladen
werden sollen, das entsprechende Pufferumladesignal für DID = 'n' 310 empfängt und die dieser DID zugeordneten
Einzelbildzwischenspeicher umlädt.
Eine ausführlichere Beschreibung
der DID-Ausführung
wird im folgenden gegeben.
-
Wenn
aus dem Einzelbildzwischenspeicher A 304 oder dem Einzelbildzwischenspeicher
B 306 ein Bild an eine Anzeigevorrichtung 'X' 318 ausgegeben wird, vergrößert der
VOC 312 das Bild bis auf die Zielauflösung. Vergrößerung ist erforderlich, wenn die
Video-Software die Bildauflösung
auf Grund der Kompliziertheit des Bildes in Schritt 106 verkleinert hat.
Deshalb ist ein Mechanismus zum Synchronisieren der Video-Software
und des VOC 312 und zum Mitteilen der Auflösung eines
Bildes an den VOC 312 vorhanden, wodurch sichergestellt
wird, daß vor
der Anzeige die korrekte Vergrößerung stattfindet.
Die folgende Beschreibung des Synchronisierens erfolgt in Bezug
auf einen einzigen Kanal, welcher der Anzeigevorrichtung 'X' 318 mit dem Kanal DID = 'n' entspricht.
-
Zuerst
speichert die Video-Software die Auflösung eines eingezeichneten
Bildes in dem Register 314 der puffergespeicherten Auflösungskoeffizienten.
Das erfolgt entweder in Schritt 208 oder 214 abhängig davon,
ob die Bildauflösung jeweils
verkleinert oder vergrößert wird.
Dadurch wird sichergestellt, daß die
Video-Hardware die
richtigen Koeffizienten zum Vergrößern jedes Bildes zur Ausgabe
an die Anzeigevorrichtung 'X' 318 aufweist.
-
Als
zweites tritt ein Zwischenspeicher-Umladesignal für DID = 'n' 310 in einen Pufferschalter 308 und
den VOC 312 ein und zeigt an, daß der Einzelbildzwischenspeicher
A 304 und der Einzelbildzwischenspeicher B 306 und
die zugeordneten Koeffizienten umgeladen werden sollen. Beim Empfang
des Zwischenspeicher-Umladesignals für DID = 'n' 310 schaltet
der Pufferschalter 308 die Einzelbildzwischenspeicher 304, 306 um.
Wenn die Video-Software gerade ein Bild in den Einzelbildzwischenspeicher A 304 einzeichnete
und der VOC 312 gerade ein Bild aus dem Einzelbildzwischenspeicher
B 306 an die Anzeigevorrichtung 'X' 318 ausgab,
dann zeichnet die Video-Software nach dem Zwischenspeicher-Umladesignal
für DID
= 'n' 310 in
den Einzelbildzwischenspeicher B 306 ein, und der VOC gibt
an den Einzelbildzwischenspeicher A 304 aus. Wenn das nächste Zwischenspeicher-Umladesignal
für DID = 'n' 310 empfangen wird, lädt der Pufferschalter 308 die
Einzelbildzwischenspeicher erneut um.
-
Auch
bewegt der VOC 312 beim Empfang des Zwischenspeicher-Umladesignals
für DID
= 'n' 310 den
Inhalt des Registers 314 der puffergespeicherten Auflösungskoeffizienten
in das Register 316 der Auflösungskoeffizienten. Deshalb
nutzt der VOC 312 die dem in Ausgabe an die Anzeigevorrichtung 'X' 318 befindlichen laufenden
Bild zugeordneten Auflösungskoeffizienten,
und es erscheint der richtige Vergrößerungspegel. Dieser Vorgang
ist dynamisch und kann unabhängig
die Bildauflösung
Bild für
Bild für
jede Anzeigevorrichtung verändern.
Dieser Vorgang stellt ferner sicher, daß jedes graphische Bild unabhängig von
seiner Kompliziertheit für
jede Anzeigevorrichtung innerhalb des erforderlichen Zeitraums eines
Einzelbildes verarbeitet wird.
-
Als
drittes erzeugt der VOC 312 eine vertikale Unterbrechung 320 zu
Beginn des vertikalen Austastens an der Anzeigevorrichtung 'X' 318. Der VOC 312 sendet die
vertikale Unterbrechung 320 an die Video-Software und die
Graphik-Hardware, um das Zwischenspeicher-Umladesignal für DID = 'n' 310 auszulösen, und synchronisiert damit
die Video-Software und die Operationen des VOC 312.
-
Bei
der gewählten
Ausführungsform
setzt die vorliegende Erfindung die Mehrkanal-Einrichtung um, indem
sie eine Tabelle mit DIDs hält,
in der jedes Bit in der Tabelle in einer einzigen DID abgebildet wird
und dadurch in einer speziellen Kanalnummer oder Anzeigevorrichtung
abgebildet wird. Mithin wird, wenn eine Änderung in dem Bit für eine spezielle
DID 'n' erfolgt, ein Zwischenspeicher-Umladesignal für DID = 'n' 310 an den Pufferschalter 308 und
an das Register 314 der puffergespeicherten Auflösungskoeffizienten
gesendet, das dem zugeordneten Kanal entspricht. Das Umladesignal
für DID
= 'n' 310 bewirkt,
daß der
Pufferschalter 308 den entsprechenden Einzelbildzwischenspeicher
A 304 und den Einzelbildzwischenspeicher B 306 umlädt, und
bewirkt, daß die
Auflösungskoeffizienten
aus dem entsprechenden Register 314 der puffergespeicherten
Auflösungskoeffizienten
in das entsprechende Register 316 der Auflösungskoeffizienten
geladen werden.
-
Bei
der gewählten
Ausführungsform
der vorliegenden Erfindung wird ferner durch Verwendung des X-Fenster-Systems
die DID-Tabelle des Mehrkanal-Einrichtung umgesetzt. Das X-Fenster-System
ist ein Standardprotokoll zur Umsetzung des netzbasierten Fenster-Systems
UNIX. Das X-Fenster-System versorgt Benutzer und Entwickler mit
der Funktionalität
zum Erstellen und Handhaben einer Fenster-Umgebung in einem netzbasierten Computersystem; das
heißt,
einer Umgebung mit mehreren Fenstern auf mehreren Anzeigevorrichtungen.
Zu weiteren Informationen zu X-Fenster-Servern siehe Israel und Fortune,
The X Window System Server, X Version 11, Ausgabe 5, Digital Press
1992, das durch Verweis darauf hier in seiner Gesamtheit einbegriffen
ist. Die Beschreibung in diesen Begriffen wird nur der Bequemlichkeit
halber gegeben. Die Erfindung soll nicht auf die Anwendung in dieser
beispielhaften Umgebung beschränkt
werden. Tatsächlich
wird nach der Lektüre der
folgenden Beschreibung für
den entsprechenden Fachmann erkennbar, wie die Erfindung in alternativen
Umgebungen ausführbar
ist.
-
Der
X-Fenstersystem-Server, der X-Server, kann mehrköpfige Konfigurationen mit einer
einzigen Graphikanzeige handhaben, die mit mehreren Anzeigevorrichtungen
verbunden ist. Der X-Server ordnet jedem Fenster, das X-Fenster
genannt wird, auf einer Anzeigevorrichtung eine spezielle DID zu
und führt ein
Standardprotokoll zum doppelten Zwischenspeichern des Bildes jedes
X-Fensters aus. Der X-Server lädt
unabhängig
die doppelten Einzelbildzwischenspeicher jedes X-Fensters über ein
jeder DID zugeordnetes Bit eines Umladezwischenspeichers um. Mithin
schaltet der X-Server, wenn der X-Server die Einzelbildzwischenspeicher
eines X-Fensters mit DID = 'n' umladen möchte, das
entsprechende Bit des Umladezwischenspeichers um, was dazu führt, daß die Einzelbildzwischenspeicher
der X-Fenster umgeladen werden.
-
Bei
der gewählten
Ausführungsform
der vorliegenden Erfindung wird dieser X-Server-Mechanismus verwendet,
um die DID-Tabelle der Mehrkanal-Einrichtung auszuführen. Wie
oben erläutert, stellt
die gewählte
Ausführungsform
eine Entsprechung zwischen jeder Anzeigevorrichtung und einer DID
her. Die DID jeder Anzeigevorrichtung ist eine X-Fenster-DID, derart
daß jede
Anzeigevorrichtung, die Anzeigevorrichtung 'X' 318,
ein X-Fenster umfaßt, das
die gesamte Anzeigefläche
bedeckt. Deshalb ist jedes Bit in der DID-Tabelle ein X-Server-Umladezwischenspeicher-Bit,
da jeder Anzeigevorrichtungskanal DID ein X-Fenster darstellt. Bei
der gewählten Ausführungsform
wird der X-Server-Mechanismus verwendet, um die Einzelbildzwischenspeicher
jedes Kanals unabhängig
von den anderen Kanälen
umzuladen und dadurch die unabhängige
dynamische Größenänderung
graphischer Bilder über
mehrere Kanäle
zu ermöglichen.
-
Alternative
Anwendungen der vorliegenden Erfindung sind, wenn auch nicht darauf
beschränkt, die
folgenden fünf
Umgebungen. Als erstes kann ein System die vorliegende Erfindung
unabhängig
auf verschiedene Teile eines Bildelementes anwenden. Beispielsweise
können
Pixel sowohl ein Vordergrundbild (eine Darüberlegung) als auch ein Hintergrundbild
enthalten. Deshalb hätte
jeder dieser zwei Bestandteile eines Bildelementes eine andere Auflösungseinstellung.
-
Als
zweites kann ein System nur eine Horizontale, nur eine Vertikale
oder ein Skaliersystem mit sich ändernder
Körnigkeit
aufbauen. Beispielsweise kann die vorliegende Erfindung auf eine
Linie, ein Bildelement, zwei Bildelemente, vier Bildelemente usw. angewandt
werden.
-
Als
drittes kann ein System die vorliegende Erfindung unabhängig auf
ein oder mehrere Fenster anwenden, die auf einer einzigen Anzeigevorrichtung erscheinen.
Deshalb hätte
jedes Fenster eine andere Auflösungseinstellung.
-
Als
viertes kann ein System die vorliegende Erfindung mit Hochpaßfiltern
(bikubischen Filtern) ausführen
und die Erfindung dadurch nicht auf eine bilineare Interpolation
beschränken.
Des weiteren kann ein System spezielle frequenzverstärkende Filter
enthalten, die Linien, Punkte und Text, die vergrößert worden
waren, scharf einstellen.
-
Als
fünftes
kann ein System die vorliegende Erfindung auf eine oder mehrere
spezifische Bereiche anwenden, die von Interesse für ein Bild
sind. Beispielsweise kann das System die vorliegende Erfindung auf
den Randbereich, den Mittelbereich oder den Brennpunkt eines Bildes
anwenden.
-
Zwar
wurden oben verschiedene Ausführungsformen
der vorliegenden Erfindung beschrieben, es versteht sich jedoch,
daß diese
nur beispielhaft und nicht einschränkend dargestellt sind. Der Fachmann
wird erkennen, daß verschiedene Änderungen
daran vorgenommen werden können,
ohne vom Umfang der Erfindung gemäß der Definition in den beigefügten Ansprüchen abzuweichen.
Mithin sollten Breite und Umfang der vorliegenden Erfindung nicht
auf irgendwelche der oben beschriebenen beispielhaften Ausführungsformen
beschränkt
werden, sondern nur gemäß den folgenden
Ansprüchen und
deren Äquivalenten
definiert werden.