-
Diese Erfindung betrifft ein Verfahren zum Verschieben (Scrolling) von Bildern auf einen
Bildschirm und insbesondere ein Verfahren zum Anzeigen von zu verschiebenden Bildern
derart, daß dem Betrachter ein Gefühl der Tiefe vermittelt wird.
-
Bei einem herkömmlichen Verfahren zum Anzeigen von Bildern auf einem Bildschirm mit
Hilfe eines Computers werden die Bilder angezeigt, indem Artikeln ein Schatten hinzugefügt
wird oder das perspektivische Darstellungsverfahren verwendet wird, so daß Bilder mit einer
Tiefe auf dem Bildschirm erzeugt werden, die Betrachtern einen dreidimensionalen Eindruck
vermitteln.
-
In einem Computer mit einem Speicher ausreichender Kapazität kann eine Anzahl von
Bildrahmen in einem VRAM des Speichers definiert werden, so daß Bilder mit einer
Tiefenwirkung, die für jeden Bildrahmen definiert sind, gespeichert werden und auf dem
Bildschirm überlagert werden. Bei diesem Verfahren wird der dreidimensionale Eindruck,
wenn sich bewegende Bilder auf dem Bildschirm dargestellt werden, dadurch erhöht, daß sich
bewegende Artikel nahe Betrachtern mit einer geringen Geschwindigkeit bewegt werden und
Artikel, die sich entfernt von Betrachtern befinden, mit einer hohen Geschwindigkeit.
-
Bei einem Computer wie einer Heim-TV-Spielmaschine mit einem Speicher mit geringer
Kapazität, der kostengünstig ist, ist es jedoch schwierig, eine Anzahl von Bildrahmen
herzustellen, die unterschiedliche Tiefenwirkungen haben. Ein solcher Computer besitzt eine
CPU mit einer geringen Arbeitsgeschwindigkeit. Dementsprechend ist es bei sich
bewegenden Bildern schwierig, Bilder mit dem Eindruck von Tiefe zu liefern.
-
Dementsprechend ist es eine Aufgabe der Erfindung, ein Verfahren zum Verschieben von
Bildern auf einem Bildschirm zur Verfügung zu stellen, bei dem eine sanfte Verschiebung
(smooth scroll) von Bildern durch die Zeicheneinheiten realisiert wird.
-
Es ist ein weiteres Ziel der Erfindung, ein Verfahren zum Verschieben von Bildern auf einem
Bildschirm zur Verfügung zu stellen, bei dem eine künstliche mehrfache Verschiebung von
Bildern selbst dann realisiert wird, wenn ein Speicher mit einer geringen Kapazität verwendet
wird.
-
Gemäß der vorliegenden Erfindung, wie sie in Anspruch 1 angegeben ist, wird ein Verfahren
zum Verschieben von Bildern auf einem Bildschirm zur Verfügung gestellt, bei dem jedes
Bild mehrere Bildbestandteile aufweist, die an vorbestimmten Positionen relativ zueinander
angezeigt werden sollen, wobei jeder der Bildbestandteile eine bestimmte Größe hinsichtlich
der Punkte auf dem Bildschirm besitzt und der Bildinhalt jedes anzuzeigenden
Bildbestandteils durch einen Zeichencode, der an einem Speicherort gespeichert ist, welcher
durch die besagte Relativposition bestimmt ist, und durch den Inhalt eines
Zeichenerzeugungsspeichers dargestellt wird, dessen Ort durch den Wert des Zeichencodes
bestimmt ist, wobei das Verfahren den folgenden Schritt aufweist:
sequentielles Anzeigen von Bildbestandteilen, bei denen der Bildinhalt eines angezeigten
Bildbestandteils gegenüber dem eines nächsten in einer gewünschten Richtung versetzt ist, an
einer Bildschirmposition, wodurch der Effekt erreicht wird, daß ein oder mehrere
Bildbestandteile des betreffenden Bilds in die gewünschte Richtung verschoben werden.
-
Die Erfindung wird genauer in Verbindung mit den beigefügten Zeichnungen erläutert, wobei
-
Fig. 1 ein Diagramm ist, welches einen Anzeigebildschirm erläutert,
-
Fig. 2 ein Diagramm ist, welches einen virtuellen Bildschirm zeigt, der
Adressen von Zeichen in einer Hintergrund-Attribut-Tabelle (BAT)
aufweist,
-
Fig. 3 ein Diagramm ist, welches eine Position und einen Inhalt des BAT in
einem VRAM zeigt,
-
Fig. 4 ein Diagramm ist, welches die BAT zeigt,
-
Fig. 5 ein Diagramm ist, welches eine Position und einen Inhalt eines
Zeichenerzeugers (CG) in dem VRAM zeigt,
-
Fig. 6 bis 9 Diagramme sind, welche eine Anzeigesteuerung eines Hintergrunds
erläutern,
-
Fig. 10A und 10B Diagramme sind, welche einen Videoausgang des Hintergrunds
erläutern,
-
Fig. 11A bis 11D Diagramme sind, welche quadratische Zeichenmuster bei einem
Verfahren zum Verschieben von Bildern auf einem Bildschirm in einer
bevorzugten Ausführungsform gemäß der Erfindung zeigen, bei dem
eine vertikale Verschiebung realisiert wird,
-
Fig. 12A bis 12D erläuternde Diagramme sind, welche quadratische Zeichenmuster bei
einem Verfahren zum Verschieben von Bildern auf einem Bildschirm
gemäß der bevorzugten Ausführungsform zeigen, bei dem eine schräge
Verschiebung (inclination scroll) realisiert wird,
-
Fig. 13A und 13B eine Draufsicht und eine Seitenansicht sind, welche die Anzeige eines
Tals in der bevorzugten Ausführungsform erläutern und
-
Fig. 14A und 14B Diagramme sind, welche das Überlagern einer sanften Verschiebung
und einer künstlichen Mehrfachverschiebung bei der bevorzugten
Ausführungsform erläutern.
-
Bevor ein Verfahren zum Verschieben von Bildern auf einem Bildschirm nach der
bevorzugten Ausführungsform der Erfindung erläutert wird, wird der vorangehend erwähnte
Hintergrund der Erfindung erneut erklärt.
-
In einem Computersystem, das bei der Erfindung verwendet wird, werden zwei Arten von
Einzelbildern, die als "Hintergrund" und "Sprite" definiert sind, miteinander kombiniert, um
einen Bildrahmen zu erzeugen, wobei der Hintergrund-Bildrahmen aus Mustern aufgebaut ist,
die als "Character" definiert sind. In der nachfolgenden Erläuterung besteht ein Zeichen
(character) aus 8 · 8 Punkten als Einheit.
-
Fig. 1 zeigt einen Anzeigebildschirm, der durch Werte, die in Registern festgelegt sind,
definiert ist, wobei die horizontalen Einstellwerte durch die Anzahl der Zeichen (Character)
definiert ist und die vertikalen Einstellwerte durch die Anzahl der Raster festgelegt sind. Die
Register sind für HSW (horizontal sync pulse width/horizonale Synchronisationspulsbreite),
HDS (horizontal display start position/horizontale Anzeigebeginnposition), HDW (horizontal
display width/horizontale Anzeigebreite), HDE (horizontal display end position/horizontale
Anzeigeendeposition), VSW (vertical sync pulse width/vertikale Synchronisationspulsbreite),
VCR (vertical display end position/vertikale Anzeigeendeposition), VDW (vertical display
period/vertikale Anzeigeperiode) und VDS (vertical display start position/vertikale
Anzeigebeginnposition) vorgesehen.
-
Fig. 2 zeigt einen virtuellen Bildschirm, der aus 32 · 32 Zeichen aufgebaut ist, denen
Adressen 0, 1, 2, ... zugeordnet sind.
-
Fig. 3 zeigt eine Hintergrundattributtabelle (BAT (background attribute table)) mit einer
Kapazität gleich derjenigen der Adressen des virtuellen Bildschirms, die ein Teil eines
VRAM ist. Die BAT speichert bei Adressen, die allen Adressen des virtuellen Bildschirms
entsprechen, einen Satz aus einem Zeichencode und einer CG-Farbe, wie nachfolgend
erläutert wird.
-
Fig. 4 zeigt den Satz von Zeichencodes (12 Bit) zum Definieren eines Musters auf einem
Zeichen (character) und den CG (4 Bit) zum Definieren einer Farbe.
-
Fig. 5 zeigt einen Zeichengenerator (CG (character generator))-Bereich, der ebenfalls ein Teil
des VRAM ist. Der CG-Bereich besteht aus den CGS, die jeweils vier Facetten CH0, CH1,
CH2, CH3 aufweisen, die als Gruppe durch den Zeichencode der BAT bezeichnet sind.
-
Die ersten und zweiten Facetten CH0 und CH1 liefern die ersten acht Worte CG0 und die
dritten und vierten Facetten CH2 und CH3 liefert die zweiten acht Worte CG1, wie dort
gezeigt ist.
-
Wie gezeigt, besteht jede der vier Facetten CH0 bis CH3 aus 8 · 8 Punkten und ist
vorgesehen, um nacheinander ein Bit von 64 Bit zu liefern, so daß man ein Vier-Bit-Signal
erhält, das mit den vier Bit der CG-Farbe kombiniert wird, so daß ein Adreßsignal von 8 Bit
für einen Speicher gebildet wird, der "Farbpalette" (colour pallet) genannt wird.
-
Die Anzeigesteuerung des Hintergrunds wird während einer horizontalen Anzeigeperiode
ausgeführt, wie dies nachfolgend unter Hinzuziehung der Fig. 6 bis 10A und 10B erläutert
wird.
-
In Fig. 6 wird die Lage eines Rasters in einer Adreßeinheit 10 detektiert, um ein Adreßsignal
auf dem virtuellen Bildschirm wie in Fig. 2 gezeigt zu erzeugen, wodurch auf die BAT 21 des
VRAM 20 zugegriffen wird, um einen Zeichencode und eine CG-Farbe, wie in Fig. 4 gezeigt,
zu liefern. Der Zeichencode wird der Adreßeinheit 10 zugeführt, um ein Adreßsignal zum
Zugreifen auf den CG-Bereich 22 des VRAM 20 zu erzeugen und die CG-Farbe wird einer
Speicherung in einem CG-Farb-Schieberegister 31 eines Hintergrund-Schieberegisters 30
zugeführt.
-
In Fig. 7 wird auf den CG-Bereich 22 durch die Adreßeinheit 10 zugegriffen, so daß die
ersten zwei Facetten CH0 und CH1 einer Speicherung in dem ersten und zweiten
Schieberegister 32 bzw. 33 des Hintergrund-Schieberegisters 30 zugeführt werden.
-
In Fig. 8 werden die zweiten zwei Facetten CH2 und CH3 von derselben Adresse des CG-
Bereichs 22 gelesen und einer Speicherung in dem dritten und vierten Register 34 und 35 des
Hintergrund-Schieberegisters 30 zugeführt.
-
In Fig. 9 wird die vier Bit-CG-Farbe von dem CG-Farb-Schieberegister 31 zugeführt und ein
Bit wird von jedem der Schieberegister 32 bis 35 zugeführt, um ein Vier-Bit-Signal zu bilden,
so daß ein Acht-Bit-Adressensignal VD0 bis VD7 erzeugt wird, das über eine
Prioritätsschaltung 40 einer Farbpalette (nicht dargestellt) zugeführt wird.
-
Fig. 10A zeigt das acht Bit-Adressensignal VD0 bis VD7, dem ein Bit VD8 hinzugefügt ist,
wobei der Hintergrund dadurch angezeigt wird, daß VD8 "0" ist und ein Sprite dadurch
angezeigt wird, daß VD8 "1" ist.
-
Fig. 10B zeigt einen Anzeigeausgang während einer Rücklaufperiode, bei der das Bit VD8
"1" ist und die Bit VD0 bis VD7 "0" sind. Zur Anzeige von Sprites wird ein Sprite-
Schieberegister 50 verwendet, um Spritedaten zu speichern.
-
Bei einer Anzeige wie vorangehend beschrieben werden vertikal und horizontal weiche
Verschiebevorgänge mit Hilfe von Registern, die BGY und BGX-Verschieberegister genannt
werden, in denen Verschiebedaten gespeichert sind, ausgeführt. Ein vertikaler
Verschiebevorgang kann um eine Rastereinheit durchgeführt werden und ein horizontaler
Verschiebevorgang kann um eine Punkteinheit durchgeführt werden. Bei einem vertikalen
Verschiebevorgang, der auf der Einheit von Rastern basiert, kann ein Verschiebevorgang
nicht Zeichen um Zeichen ausgeführt werden.
-
Andererseits kann ein horizontaler Verschiebevorgang Zeichen um Zeichen ausgeführt
werden, weil der horizontale Verschiebevorgang Punkt für Punkt ausgeführt wird.
-
In diesem Fall muß jedoch ein Verfahren zur Rasterunterbrechung verwendet werden.
-
Infolgedessen wird die Zeitabstimmung schwierig. Dies ist einer der Nachteile, welcher durch
die vorliegende Erfindung überwunden wird.
-
Als nächstes wird ein Verfahren zum Verschieben von Bildern auf einem Bildschirm nach der
bevorzugten Ausführungsform gemäß der Erfindung mit Bezug auf die Fig. 11A bis 11D
illustriert.
-
Fig. 11A zeigt ein Zeichenmuster Nr. 1 mit 8 · 8 Punkten, das eine geschlossene quadratische
Gürtelform 100 aufweist (nachfolgend als "Markierung" bezeichnet), und die Fig. 11B bis
11D zeigen Zeichenmuster Nr. 2 bis Nr. 4 derselben Größe mit Markierungen 100, deren
Lage in der vertikalen Richtung um zwei Punkte verschoben ist.
-
Im Betrieb werden die Zeichenmuster Nr. 1 bis Nr. 4 nacheinander bei einer oder mehreren
durch Adressen bezeichneten Positionen, die aus den Adressen 0, 1, 2, ... des virtuellen
Bildschirms (Fig. 2) ausgewählt werden, gemäß dem Verfahren mit Hilfe der BAT 21 und des
CG-Bereichs 22 des VRAM 20, des Hintergrund-Schieberegisters 30, der Farbpalette usw.,
wie vorangehend erläutert, angezeigt, so daß die vertikal sich verschiebende Anzeige der
Markierung an der gewünschten Adreßposition auf dem Bildschirm erfolgt, wobei die
Markierung sich nach unten bewegt. Andererseits bewegt sich die Markierung nach oben,
wenn die Zeichenmuster in der Reihenfolge von Nr. 4 bis Nr. 1 angezeigt werden.
-
Dieser Verschiebevorgang wird durch ein Programm ausgeführt, das in einem ROM (nicht
dargestellt) gespeichert ist und wird als "künstlicher Verschiebevorgang" (artificial scroll)
definiert, der von einem weichen Verschiebevorgang (smooth scroll) zu unterscheiden ist, der
von einem System (hardware) ausgeführt wird.
-
Ein weicher Verschiebevorgang muß auf einer gesamten Ebene des Bildschirms ausgeführt
werden, während der künstliche Verschiebevorgang auf einem begrenzten Teil des
Bildschirms und an verschiedenen Teilen desselben ausgeführt werden kann, indem
Zeichenmuster verwendet werden, die verschiedene Markierungen besitzen.
-
Der künstliche Verschiebevorgang, bei dem verschiedene Markierungen verwendet werden,
wird als "künstlicher mehrfacher Verschiebevorgang" (artificial multiple scroll) definiert, bei
dem Verschiebevorgänge in jede Richtung, z. B. vertikal, horizontal und schräg ausgeführt
werden können, indem Zeichenmuster verwendet werden, welche vorbestimmte verschobene
Markierungen aufweisen.
-
Um einen Verschiebevorgang in einer schrägen Richtung mit Hilfe eines weichen
Verschiebevorgangs (smooth scroll) zu realisieren, müssen vertikale und horizontale
Verschiebevorgänge kombiniert werden. Dies kann jedoch bei Verwendung des künstlichen
mehrfachen Verschiebevorgangs der Erfindung direkt ausgeführt werden.
-
Fig. 12A bis 12D zeigen Zeichenmuster Nr. 1 bis Nr. 4 mit 8 · 8 Punkten, die Markierungen
100 aufweisen, mit denen ein Verschiebevorgang in eine schräge Richtung ausgeführt werden
kann. Die Markierung bewegt sich in der Richtung von oben links nach unten rechts, wenn
die Zeichenmuster in der Reihenfolge von Nr. 1 bis Nr. 4 angezeigt werden, während die
Markierung sich von unten rechts nach oben links bewegt, wenn sie in der Reihenfolge von
Nr. 4 bis Nr. 1 angezeigt werden.
-
Fig. 13A und 13B zeigen eine Anzeige eines Tals 200 mit einer V-Form, das Steine 210A am
Boden und 210B und 210C außen aufweist. Um Betrachtern einen dreidimensionalen
Eindruck dieser Anzeige zu vermitteln, werden die Steine 210A am Boden so gesteuert, daß
sie sich, verglichen mit den äußeren Steinen 210B und 210C, langsam bewegen, wenn man
annimmt, daß der Betrachter in das Tal 200 von einem Flugzeug aus schaut. Zusätzlich
werden die Steine 210A vorzugsweise kleiner als die äußeren Steine 210B und 210C
dargestellt.
-
Fig. 14A zeigt die Steine am Boden und die äußeren Steine 210A, 210A', 210B, 210B' und
210C, die auf einer rechten Hälfte des Bildschirms mit einer punktierten Linie A oder einer
Originalposition gemäß dem Verfahren, wie es im Zusammenhang mit den Fig. 13A und 13B
erläutert wurde, angezeigt werden. Wie man aus der Darstellung in Fig. 14A ersehen kann,
beansprucht der Bodenstein 210A ein Zeichen (8 · 8 Punkte), die Steine 210A', 210B, 210B'
und 210C beanspruchen, was die Fläche anbetrifft, 4 Zeichen, 9 Zeichen, 16 Zeichen bzw. 36
Zeichen. Die Steine 210A bis 210C beanspruchen also 16 Zeichen in der horizontalen
Richtung auf der rechten Hälfte des Bildschirms. In der vertikalen Richtung ist eine
vorbestimmte Anzahl von Bodensteinen 210A so angeordnet, daß sie mit den oberen und
unteren in Kontakt stehen. Weitere Steine 210A' bis 210C sind in vertikaler Richtung in
derselben Weise wie die Steine 210A angeordnet.
-
Unter diesen Annahmen wird ein vertikaler weicher Verschiebevorgang nach unten mit einer
Rate von 6 Punkten während einer Periode von 1 V ausgeführt, welches die Einheit der
Detektionszahl in einer vertikalen Rücklaufperiode ist. In dieser bevorzugten
Ausführungsform ist die Periode von 1 V 1/60 s. Zusätzlich zu dem vertikalen weichen
Verschiebevorgang wird ein künstlicher mehrfacher Verschiebevorgang bei der Anzeige des
Tals gemäß der Erfindung ausgeführt. Es wird also ein künstlicher vertikaler
Verschiebevorgang um vier Punkte für die Bodensteine 210A, ein künstlicher vertikaler
Verschiebevorgang um drei Punkte für die Steine 210A', ein künstlicher vertikaler
Verschiebevorgang um zwei Punkte für die Steine 210B, ein künstlicher vertikaler
Verschiebevorgang um einen Punkt für die Steine 210B' bzw. kein künstlicher vertikaler
Verschiebevorgang für die Steine 210C, jeweils nach oben, ausgeführt, was in Fig. 14A durch
Pfeile angedeutet ist. Die sich ergebenden Verschiebewerte sind in der nachfolgenden Tabelle
gezeigt.
-
Entsprechend dem sich resultierenden vertikalen Verschiebevorgang bewegen sich die Steine
210A bis 210C um Punkte, wie in Fig. 14B gezeigt, nach einer Zeitdauer von 3 V (= 3/60 s)
nach unten. In Fig. 14 ist die Anzahl der Punkte durch das Dreifache der resultierenden
Verschiebewerte angegeben. Dementsprechend vermittelt die Anzeige des Tals Betrachtern
einen dreidimensionalen Eindruck und die Bilder besitzen Tiefe und Stärke (power).
Gemäß einem weichen Verschiebevorgang, der von einem System durchgeführt wird, ist eine
Operation erforderlich, um dem Algorithmus des Systems zu entsprechen.
-
Andererseits wird ein künstlicher mehrfacher Verschiebevorgang gemäß der Erfindung durch
ein Benutzerprogramm ausgeführt, so daß man eine Flexibilität im Betrieb erhält.
-
Wie vorangehend erläutert wurde, kann ein vertikaler Verschiebevorgang Zeichen um
Zeichen ausgeführt werden. Dies ist von Bedeutung, wenn er in Verwendung mit einem
vertikalen weichen Verschiebevorgang verwendet wird, der Rastereinheit um Rastereinheit
ausgeführt wird.
-
Dementsprechend existiert ein deutlicher Vorteil, wenn bewegte Bilder mit einem
Tiefeneindruck erzeugt werden.
-
Bei einer normalen Anzeige eines Hintergrunds werden wenige Zeichen verwendet, um die
erforderliche Speicherkapazität zu verringern. Der künstliche mehrfache Verschiebevorgang
nach der Erfindung entspricht den Anforderungen an eine geringe Speicherkapazität eines
Heim-Video-Spielsystems.