[0001] Die Erfindung betrifft eine Anordnung zur Wiedergabe von graphischen Informationen
gemäß dem Oberbegriff des Anspruches 1.
[0002] Die Anordnung enthält einen Symbolspeicher, in dem Informationen über die Punktmuster
der verfügbaren Symbole gespeichert sind, sowie einen Bildspeicher, in dem Informationen
über die Lage der zu dem gerade vorliegenden Bild gehörenden Symbole gespeichert sind.
[0003] Bei Bildschirmen des raster scan-Typs gibt es im wesentlichen zwei sich widersprechende
Forderungen hinsichtlich des Aufbaus der Speicherung von Information im Bildspeicher
des Schirms.
[0004] Die eine Forderung ist durch das raster scan-Prinzip selbst bedingt, und zwar speziell
bei der Regenerierung des Bildes. Unter Regenerierung des Bildes wird die wiederholte
Widergabe (Abbildung) eines Bildes auf einer Wiedergabeeinheit verstanden, z. B. 50
mal pro Sekunde bei einem Elektronenstrahlbildschirm. Bei der Regenerierung des Bildes
auf einem Bildschirm dieser Art startet der Elektronenstrahl normalerweise in der
oberen linken Ecke des Schirms. Der Elektronenstrahl gleitet zeilenweise von links
nach rechts von oben nach unten über den Schirm. Der Elektronenstrahl kommt dabei
immer zuerst an die obere linke Ecke jedes Symbols. Um dieser Technik zu entsprechen,
sollte daher stets die obere linke Ecke des Zeichens in dem Bildspeicher gespeichert
sein. Beim Auslesen der Bildschirm-Information aus dem Bildspeicher möchte man dagegen
den Code jedes Symbols (Zeichens) auf der Zeile oder Grundlinie lesen können, auf
welcher das Zeichen logisch gesehen geschrieben steht. Auf dieser Zeile liegt der
sogenannte Definitionspunkt des Zeichens. Die Koordinaten der beiden genannten Punkte
fallen nur in Ausnahmefällen zusammen.
[0005] Um die Bildschirmfläche so effektiv wie möglich ausnutzen zu können und um bei der
Gestaltung eines Bildes auf dem Bildschirm die größtmögliche Freiheit zu haben, möchte
man verschieden große und/oder verschieden geformte Zeichen (Symbole) verwenden können.
Bei Zeichen dieser Art liegt jedoch der Definitionspunkt nicht für alle Zeichen in
gleicher räumlicher Beziehung zu der oberen linken Ecke des Zeichens. Unter Definitionspunkt
wird der Punkt des Zeichens verstanden, der zuerst von der Abtastung erfaßt wird,
wenn die Abtastung entlang der Zeile erfolgen würde, auf der das Zeichen logisch gesehen
geschrieben wird. Bei Bildschirmen mit der Möglichkeit zur Wiedergabe von unterschiedlich
großen und/oder unterschiedlich geformten Zeichen treten daher sehr große Schwierigkeiten
auf, wenn man die an ein einfaches Auslesen des Informationsinhaltes des Bildes einerseits
und an .ein einfaches Regenerieren andererseits gestellten Ansprüche verbinden will.
[0006] Eine weitere Forderung an eine Wiedergabeanordnung der genannten Art besteht darin,
daß die Eingabe und das Löschen einzelner Zeichen oder des ganzen Bildes schnell und
einfach durchführbar ist.
[0007] Der Erfindung liegt die Aufgabe zugrunde, eine Wiedergabeanordnung der eingangs genannten
Art zu entwickeln, mit der ein einfaches und schnelles Regenerieren der Symbole auf
dem Bildschirm, schnelles Auslesen des Informationsinhaltes des Bildes, eine schnelle
und einfache Eingabe und Löschung von Zeichen und eine schnelle Löschung des ganzen
Bildschirms möglich ist.
[0008] Zur Lösung dieser Aufgabe wird eine Anordnung der eingangs genannten Art vorgeschlagen,
die erfindungsgemäß die im kennzeichenden Teil des Anspruches 1 genannten Merkmale
hat.
[0009] Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen genannt.
[0010] Anhand der in den Figuren gezeigten Ausführungsbeispiele soll die Erfindung näher
erläutert werden. Es zeigen
Fig. 1 schematisch den Aufbau einer Wiedergabeanordnung nach der Erfindung,
Fig. 2 detaillierter ein Ausführungsbeispiel für die Wiedergabeanordnung nach Figur
1 mit Darstellung des Daten- und Informationsflusses zwischen den einzelnen Einheiten
der Wiedergabeanordnung,
Fig. 3 ein Beispiel für die Wiedergabe mehrerer Zeichen (Symbole) auf einem Bildschirm
gemäß der Erfindung,
Fig. 4 den Informationsinhalt des Hilfsspeichers bei der Wiedergabe der in Figur 3
gezeigten Zeichen,
Fig. 5 den Wortaufbau im Bildspeicher,
Fig. 6 den Wortaufbau im Symbolspeicher,
Fig. 7 ein Beispiel für ein Symbol und dessen Wiedergabe im Symbolspeicher,
Fig. 8 den Zusammenhang zwischen dem Adressentransformationsspeicher und dem Symbolspeicher,
Fig. 9 einen Programmablaufplan für den Bildprozessor bei der Wiedergabeanordnung
nach Figur 1 und 2 bei der Regenerierung des Bildes,
Fig.10 einen Programmablaufplan für den Bildprozessor beim Auslesen des Informationsinhaltes
des Bildes,
Fig.11 einen Programmablaufplan für den Bildprozessor bei der Eingabe eines neuen
Symbols in das Bild,
Fig.12 einen Programmablaufplan für den Bildprozessor beim Löschen eines ganzen Bildes.
[0011] Wiedergabeanordnungen der hier behandelten Art sind z. B. aus der US-A-4 131 883
bekannt, doch weisen diese Wiedergabeanordnungen die oben beschriebenen Nachteile
auf.
[0012] Figur 1 zeigt ein Ausführungsbeispiel einer Wiedergabeanordnung gemäß der Erfindung.
Ein an sich bekannter Kommunikationsprozessor 12 dient als Verbindungsglied zwischen
der Wiedergabeanordnung und der Umwelt. Der Prozessor 12 steuert die Eingabe von Symbolen
in die Wiedergabeanordnung, das Auslesen des Informationsinhaltes des Bildes sowie
das Löschen des Bildes oder einzelner Bildsymbole. Ein Adressentransformationsspeicher
5 enthält ein Wort für jedes Symbol, das auf dem Bildschirm abgebildet werden kann.
Jedes Wort enthält die Adresse für das zugehörige Symbol im Symbolspeicher 6. Im Symbolspeicher
6 sind die Informationen gespeichert, die das Aussehen jedes Symbols auf dem Bildschirm
beschreiben, wobei jedem Symbol eine beliebige Anzahl von Wörtern im Symbolspeicher
zugeordnet sein kann. Wenn der Adressentransformationsspeicher 5 mit dem Code eines
bestimmten Symbols adressiert wird, liefert der Adressentransformationsspeicher eine
Adresse oder ein Anzeigesignal für den Speicherplatz des ersten Postens oder des ersten
Wortes des Symbols im Symbolspeicher. Ein Bildspeicher 7 speichert Information über
das Aussehen des gerade auf den Schirm geschriebenen Bildes. Es wird im folgenden
vorausgesetzt, daß der Schirm in Einheiten, sog. Tessel, von 3-mal 3 Bildpunkten aufgeteilt
ist. Der Bildspeicher enthält ein Wort für jedes Tessel auf dem Bildschirm. Dieses
Wort enthält Informationen über die Farbe des Tessels, über den Symbolcode für das
aktuelle Symbol, sowie Informationen darüber, ob das aktuelle Tessel die obere linke
Ecke des Symbols (Startpunkt) oder dessen Definitionspunkt enthält. Ein Hilfsspeicher
2 dient als vereinfachtes Abbild des Bildspeichers 7. Der Hilfsspeicher 2 enthält
ein bit pro Tessel, d. h. für jedes Wort im Bildspeicher. Der Hilfsspeicher ist also
ein Speicher mit kleinerer Kapazität als der Bildspeicher. Ferner gibt es zwei Adressennotizspeicher
3, die welchselweise verwendet werden. Jeder Adressennotizspeicher hat so viele Wörter,
wie Tesseln in einer Zeile des Bildschirms vorhanden sind. An den Plätzen im Adressennotizspeicher,
die dem ganz links liegenden Tessel jedes der Symbole entsprechen, die zumindest mit
einem ihrer Teile in der aktuellen Zeile auftreten, wird die Adresse für das genannte
Tessel in dem Symbolspeicher eingeschrieben. Jedes Wort im Adressennotizspeicher enthält
außerdem Informationen über die Farbe des betreffenden Symbols. Ein Bildprozessor
1, der einen Mikroprozessor, ein paar (vorzugsweise zwei) Zähler, einen Codierer und
ein Register enthalten kann, steuert den Arbeitsablauf der Einheiten 2, 3, 5, 6 und
7 sowie die Kommunikation zwischen diesen Einheiten. Der Bildprozessor steuert auch
das Auslesen der Bildinformation für die Wiedergabeeinheit (Bildschirm) 11. Das Auslesen
erfolgt über drei Zeilenpuffer 4. Jeder Zeilenpuffer enthält die zur Abbildung einer
Rasterzeile auf dem Bildschirm erforderlichen Informationen. Für jedes Bildelement
auf der Rasterzeile enthält der Zeilenpuffer einerseits Informationen darüber, ob
das Bildelement hell oder dunkel sein soll und andererseits Informationen über die
Farbe des Bildelementes. Die drei Zeilenpuffer überdecken zusammen drei Rasterlinien,
d. h. eine Tesselzeile. Die Wiedergabeeinheit 11 enthält einen Kathodenstrahlschirm
sowie die erforderlichen Videoschaltkreise zur Abbildung der in den Zeilenpuffern
gespeicherten Informationen auf dem Bildschirm.
[0013] Fig. 2 zeigt detaillierter den Aufbau der zentralen Teile einer Wiedergabeanordnung
nach der Erfindung. Nachstehend wird die Erfindung unter Zugrundelegung eines gedachten
Ausführungsbeispiels beschrieben, bei dem der Bildschirm 720 Bildelemente in X-Richtung
und 336 Bildelemente in Y-Richtung hat. Diese Bildelemente werden in Bildelementmatrizen,
hier Tesseln genannt, benutzt, wobei jede Bildelementmatrize quadratisch ist und aus
3 mal 3 Bildelementen besteht. Die Bildschirmfläche enthält also 240 mal 112 Tessel.
Es wird angenommen, daß der Symbolvorrat (Zeichenvorrat) 512 verschiedene Symbole
umfaßt und daß der Hilfsspeicher 2 in Form von 8-Bit-Worten organisiert ist. Die Anzahl
von Farben beträgt 64. Die einzelnen Einheiten in Figur 2 sind wie folgt organisiert
(eingeteilt):
Adressentransformationsspeicher 5: 512 Wörter zu je 15 bits (der Symbolspeicher enthält
215 Wörter). Symbolspeicher 6: 32.000 Wörter zu je 11 bits (9 bits Musterinformation
+ 2 Verkettungsbits).
Bildspeicher 7: 32.000 Wörter zu je 18 bits (9 bits Symbolcode, 8 bits Farbinformation,
1 Definitionsbit).
Hilfsspeicher 2: 3.360 Wörter zu je 8 bits (1 bit für jedes Tessel auf dem Bildschirm)
Zeilenpuffer 4: 3 mal 720 mal 9 bits (1 Tessel = 3 Rasterzeilen, 720 Bildelemente
pro Rasterzeile, jedes Bildelement 9 bits, davon 8 bits Farbinformation und 1 bit
Information).
Adressennotizspeicher 3: 2 Sätze von je 240 mal 23 bits (240 Tessel in X-Richtung,
jedes mit einer möglichen Adresse für den Symbolspeicher, sowie 8 bits Farbinformation
für jedes Tessel).
X-Zähler 1 b: zählt bis 30 (Anzahl Wörter in X-Richtung im Hilfsspeicher 2).
Y-Zähler 1c: zählt bis 112 (Anzahl Tesselzeilen in Y-Richtung).
Prioritätscodierer 1d: 3 bits.
Datenregister 1e: 8 bits (gleich Wortlänge im Hilfsspeicher).
[0014] Der Bildprozessor 1 enthält, wie aus Vorstehendem und aus Figur 2 hervorgeht, einen
Mikroprozessor 1a, einen X-Zähler 1b, einen Y-Zähler 1c, einen Prioritätscodierer
1d sowie ein Datenregister 1e. Der Prozessor 1a a steuert den Funktionsablauf der
Einheiten 5, 6, 7, 2, 4, 3, 1b, 1c, 1d und 1e und den Datenfluß zwischen diesen Einheiten
sowie die Videoschaltkreise 11. Der Prozessor enthält ferner ein X-Register mit einer
Kapazität von 3 bits. Der X-Zähler 1b gibt die aktuelle X-Koordinate an, gerechnet
in Anzahl von Wörtern im Hilfsspeicher. Da jedes Wort im Hilfsspeicher aus 8 bits
besteht, zählt der X-Zähler also in Einheiten von je 8 Tesseln in X-Richtung. Der
Y-Zähler gibt die aktuelle Y-Koordinate an, gerechnet in Tesseln. Das Datenregister
1e nimmt ein Wort nach dem anderen vom Hilfsspeicher entgegen und speichert jedes
Wort. Dem Prioritätscodierer 1d wird das gerade im Datenregister gespeicherte Wort
zugeführt, und dieser gibt das signifikanteste bit im Wort an. Diese Information wird
dem X-Register zugeführt, welches die Information über die Lage des signifikantesten
bits in X-Richtung speichert. Der Inhalt des X-Zählers 1b zusammen mit dem Inhalt
des X-Registers gibt daher
[0015] die Koordinate des aktuellen Tessels in X-Richtung an. Ein Adressier- und Steuerbus
(Vielfachleitung) 9 sowie ein Datenbus 10 sorgen für den Fluß von Steuersignalen und
Information tragenden Signalen zwischen den Einheiten 1, 2, 3, 4, 5, 6 und 7. Der
Kommunikationsprozessors 12 steuert die Einheiten 2, 5, 6 und 7 über einen Adressier-
und Steuerbus 13, und der Informationsfluß zwischen diesen Einheiten und dem Kommunikationsprozessor
fließt über einen Datenbus 12a.
[0016] Für die beiden Prozessoren 1a und 12 kann ein Mikroprozessor des Typs Motorola 6800/68000,
Intel 8080/8086 oder dergleichen verwendet werden. Der Bildspeicher 7, der Adressentransformationsspeicher
5, der Hilfsspeicher 2, die Zeilenpuffer 4 und der Adressennotizspeicher 3 können
integrierte Schaltkreise (IC) des Typs 4116, 6116 (RAM) oder dergleichen sein. Der
Symbolspeicher 6 kann ein IC des Typs 2716, 2764 (EPROM) oder dergleichen sein. Der
Prioritätscodierer 1d kann ein IC des Typs 74148 sein. Das Datenregister 1e kann ein
IC des Typs 74273, 74373 oder 74374 sein.
[0017] Figur 3 zeigt ein Beispiel für eine Zeichendarstellung (Wiedergabe) auf einem Bildschirm
des raster scan-Typs. Als Beispiel ist gezeigt, wie das Wort "good" auf den Bildschirm
geschrieben ist. Mit einem Kreis "o" sind die Koordinaten gekennzeichnet, die sich
am besten für die Regenerierung von Zeichen eignen, d. h. die obere linke Ecke jedes
Zeichens, also der Teil des Zeichens, auf den der Elektronenstrahl beim Durchlaufen
des Bildschirms zuerst trifft. Mit einem "X" sind die Koordinaten gekennzeichnet,
die sich am besten zum Auslesen des Informationsinhaltes des Bildes eignen. Aus dem
Informationsinhalt ergibt sich nämlich, daß das Wort "good" auf der Rasterlinie Nr.
10 geschrieben steht. Das "Revier" jedes Zeichens ist mit dickeren Linien in Fig.
3 umgrenzt.
[0018] Figur 4 zeigt ein Beispiel für den Informationsinhalt im Hilfsspeicher 2 bei der
Abbildung (Wiedergabe) des Bildes gemäß Figur 3. Die oberen linken Ecken der vier
Zeichen sind im Hilfsspeicher mit Einsen in den YX-Koordinaten (3, 27), (6, 2), (6,
9) und (6, 16) notiert. Die Codepositionen (Definitionspunkte) sind mit Einsen in
den YX-Koordinaten (10, 2), (10, 9), (10, 16) und (10, 23) notiert. In die übrigen
Speicherzellen stehen Nullen. Das "Revier" der Zeichen ist gestrichelt umrandet. Die
stärkeren vertikalen Linien zeigen die Grenzen für die Worteinteilung im Hilfsspeicher,
wo jedes Wort eine Breite von 8 bits hat.
[0019] Figur 5 zeigt den Wortaufbau im Bildspeicher. Jedes Wort hat eine Länge von 18 bits.
Das erste sog. Kennzeichnungsbit hat folgende Bedeutung:
0: obere linke Ecke des Symbols
1: Definitionsposten des Symbols.
Das Wort enthält außerdem 8 bits, die eine Farbinformation enthalten, sowie einen
Symbolcode von 9 bits.
[0020] Figur 6a zeigt den Wortaufbau im Symbolspeicher 6, wo jedes Wort eine Länge von 11
bits hat. Die ersten bits im Wort, meistens zwei bits sind sog. Verkettungsbits, welche
die folgende Bedeutung haben:
01: das Symbol setzt sich in Schreibrichtung fort,
10: das Symbol ist vorläufig in Schreibrichtung zu Ende, setzt sich jedoch in der
nächsten Zeile weiter fort,
11: das Symbol ist zu Ende.
[0021] In den Fällen, in denen die beiden ersten bits des Wortes eine der drei genannten
Kombinationen bilden, enthalten die restlichen neun bits Informationen über das bitmuster
für ein Tessel des aktuellen Symbols. Die drei ersten bits bestimmen den Inhalt der
Zeile a des Tessels (Fig. 6a), die folgenden drei bits den der Zeile b und die drei
letzten bits den der Zeile c des Tessels.
[0022] In zwei Fällen sind die drei ersten bits des Wortes Verkettungsbits. Einen dieser
Fälle zeigt Figur 6b. Die drei ersten bits haben dabei die Kombination 001, wodurch
gezeigt wird, daß das Zeichen vorläufig zu Ende ist, jedoch nach einem Sprung von
einer bestimmten Länge in derselben Zeile weitergeht. Die restlichen 8 bits des Wortes
enthalten Information über die Länge des Sprungs.
[0023] Den anderen Fall zeigt Fig. 6c. Die ersten drei bits haben die Kombination 000, was
bedeutet, daß das Zeichen in der vorliegenden Zeile zu Ende ist, und daß der linke
Rand des Zeichens in der nächsten Zeile relativ zum linken Rand auf der vorliegenden
Zeile verschoben ist. Die restlichen 8 bits des Wortes beschreiben das Zeichen und
die Größe der genannten Verschiebung.
[0024] Figur 7 zeigt ein weiteres Beispiel für ein Symbol und dessen Wiedergabe im Symbolspeicher
6. Das Symbol besteht aus 13 Tesseln (Symbolmatrizen) mit je 3 mal 3 Punkten: b, c,
d, f, g, h, i, j, k, m, n, o und p. Das mit kleinem m bezeichnete Tessel ist das Definitionstessel
des Symbols, also das Tessel, das den Definitionspunkt enthält. Es wird beim Ablesen
des Informationsinhaltes des Bildes benutzt. Das Symbol wird im Symbolspeicher durch
16 Wörter a bis p beschrieben, deren Bedeutung aus der folgenden Tabelle hervorgeht:
[0025]

Figur 8 zeigt den Zusammenhang zwischen dem Adressentransformationsspeicher 5 und
dem Symbolspeicher 6. Der Adressentransformationsspeicher 5 wird mit einem Symbolcode
adressiert, der angibt, welches der 512 möglichen Symbcode gerade behandelt wird (aktuell
ist). In dem vom Symbolcode adressierten Speicherplatz im Adressentransformationsspeicher
befindet sich eine Adresse, die ein sog. Anzeigesignal enthält, das auf den Platz
im Symbolspeicher zeigt, an dem die Beschreibung des Symbols beginnt. Dies bedeutet,
daß das Anzeigesignal die Adresse zu dem ersten der Wörter im Symbolspeicher enthält,
das Informationen über das Punktmuster des Symbols enthält.
[0026] Figur 9 zeigt einen Programmablaufplan, der die Funktion des Bildprozessors bei der
Abbildung (Wiedergabe) eines Bildes auf dem Bildschirm beschreibt. Es wird vorausgesetzt,
daß das Bild in dem Bildspeicher 7 und dem Hilfsspeicher 2 gespeichert ist. Die Wiedergabe
eines konstanten und unverändert bleibenden Bildes geschieht in der Weise, daß das
ganze Bild beispielsweise 50 mal pro Sekunde auf den Bildschirm geschrieben wird.
Diese wiederholte Wiedergabe eines unveränderten Bildes wird Regenerierung genannt.
Dieser Verlauf soll nachstehend anhand des Programmablaufplans in Fig. 9 und der oben
beschriebenen Figuren erläutert werden.
[0027] In der Ausgangslage sind die Zeilenpuffer 4, der Adressennotizspeicher 3, der X-
und der Y-Zähler 1 b und 1 c sowie das Datenregister 1c auf Null gestellt.
[0028] Auf das Signal "Start des Bildabsuchens" von den Videoschaltkreisen 11 wird der X-Zähler
um Eins über die Steuerleitungen 8 weitergestellt. Der Inhalt des X- und Y-Zählers
wird auf den Adressier- und Steuerbus 9 gegeben, und der Hilfsspeicher 2 wird adressiert.
Die ersten 8 Datenbits werden in das Datenregister 1e gegeben. Wenn sämtliche bits
Nullen sind, meldet der Prioritätscodierer 1d dies dem Prozessor 1a. Der Prozessor
1a stellt den X-Zähler 1b erneut um Eins weiter, und ein neuer Lesevorgang unter der
nächsten Adresse im Hilfsspeicher 2 findet statt. Dies wird solange wiederholt, wie
der Inhalt im Datenregister 1e gleich Null ist (nur Nullen).
[0029] Wenn der Inhalt im Datenregister 1e das erstemal mindestens eine Eins enthält, meldet
der Prioritätscodierer 1d dies dem Prozessor 1a. Der Prioritätscodierer gibt dem Prozessor
außerdem die bitnummer für das am höchsten prioritierte bit. Dieses bit muß notwendigerweise
die obere linke Ecke des zuerst angetroffenen Symbols repräsentieren. (Siehe Figur
3).
[0030] Die X- und Y-Zähler 1b/1c zusammen mit den drei bits von dem Prioritätscodierer 1d
bilden nun die Adresse für den Platz im Bildspeicher 7, der den Code für das angetroffene
Symbol enthält (siehe Figur 5 für dieses Format).
[0031] Nun erfolgt ein Lesevorgang unter dieser Adresse im Bildspeicher 7. Der Inhalt dieses
Speicherplatzes wird über den Datenbus 10 in den Prozessor 1a gegeben. Der Prozessor
1a hat nun den Code des Symbols. Dieser Code wird als Adresse in den Adressentransformationsspeicher
5 gegeben. Der Adressentransformationsspeicher 5 enthält einen Speicherplatz für jeden
möglichen Code; im vorliegenden Beispiel 512 Speicherplätze. Der adressierte Speicherplatz
enthält ein Anzeigesignal zu der Adresse des ersten der das Symbol beschreibenden
Wörter im Symbolspeicher 6 (siehe Figur 8). Dieses Anzeigesignal wird zum Prozessor
1a geholt und einerseits in denjenigen der 240 Plätze des Adressennotizspeichers 3
geschrieben, der vom X-Zähler 1b und dem Prioritätscodierer 1d angegeben wurden. Andererseits
erfolgt ein Lesevorgang am Symbolspeicher 7. Der Inhalt des adressierten Speicherplatzes
im Symbolspeicher enthält einerseits bitmuster, die an den richtigen Platz in den
Zeilenpuffern 4 zusammen mit den Farbbits (im vorliegenden Beispiel 8 Stück) vom Bildspeicher
eingegeben werden, und andererseits Verkettungsbits (siehe Figur 6). Die Verkettungsbits
werden von dem Prozessor 1a geprüft. Wenn das Zeichen auf derselben Tesselzeile fortgesetzt
wird (Verkettungsbits = 01), so führt der Prozessor einen neuen Lesevorgang unter
der folgenden Adresse durch, und bitmuster und Farbe werden in den nächsten Speicherplatz
im Zeilenpuffer 4 eingeschrieben.
[0032] Der Ablauf wird in dieser Lage ganz von den Verkettungsbits gesteuert, die der Prozessor
1a in dem Symbolspeicher 4 vorfindet:
A. Solange die Verkettungsbits 01 betragen, geht das Zeichen auf derselben Zeile weiter.
Der Prozessor führt daher Lesungen unter fortlaufenden Adressen im Symbolspeicher
6 aus, und der vorstehend beschriebene Ablauf geht weiter.
B. Wenn die Verkettungsbits = 000 betragen, erfolgt ein Sprung, d. h. das Symbol wird
weiter hinten in derselben Zeile fortgesetzt (unterbrochenes Symbol). Siehe im übrigen
Figur 7. Statt eines bitmusters findet sich unter der Adresse die Länge des Sprunges
in X-Richtung. Der Prozessor addiert diese Sprunglänge zu seinem Anzeigesignal an
die Zeilenpuffer 4 und führt einen neuen Lesevorgang unter der nächsten Adresse im
Symbolspeicher 6 durch. Wenn nun die Verkettungsbits 01 oder 000 betragen, so geht
es entsprechend A bzw. B weiter. Andernfalls geht es entsprechend der nachstehend
beschriebenen Verläufe C, D oder E weiter.
C. Wenn die Verkettungsbits 10 betragen, so ist das Symbol in dieser Zeile zu Ende.
Der Prozessor übergibt nun für einen Augenblick das begonnene Symbol. Die Startadresse
des Symbols in dem Adressennotizspeicher 3 wird in dem ersten Satz dieses Speichers
auf Null gestellt (gelöscht), und die Adresse für den nächsten Posten im Symbolspeicher
5 wird an derselben Stelle (unter derselben Adresse) wie die Startadresse im Adressennotizspeicher
3 gespeichert, jedoch im zweiten Satz dieses Adressennotizspeichers 3. Das bit, das
von dem Prioritätscodierer 1d ausgewählt wird, wird vom Prozessor über die Steuerleitungen
8 im Datenregister 1e auf Null gestellt. Sind im Datenregister mehrere Einsen vorhanden,
so wählt der Prioritätscodierer das nächste bit in der Prioritätsreihenfolge aus.
Die oben beschriebenen Abläufe werden nochmals wiederholt für die vom X- und Y-Zähler
und dem Prioritätscodierer definierten Adressen.
[0033] Wenn sämtliche Einsen im Datenregister abgearbeitet sind, erhöht der Prozessor den
Inhalt des X-Zählers um Eins, und der Inhalt eines neuen Speicherplatzes des Hilfsspeichers
2 wird in das Datenregister 1e eingelesen. Der Ablauf setzt sich dann nach der vorausgegangenen
Beschreibung fort.
[0034] D. Wenn die Verkettungsbits 001 betragen, so ist das Zeichen in dieser Zeile zu Ende,
und der Rest des Wortes beschreibt die Verschiebung auf der nächsten Zeile im Verhältnis
zur Startadresse des Symbols. Der Prozessor rechnet diese Verschiebung aus, und das
Ergebnis ist die Adresse an den Satz 2 des Adressennotizspeichers 3. Unter dieser
Adresse speichert der Prozessor die Adresse für den nächsten Posten des Symbols im
Symbolspeicher 5.
[0035] Die Startadresse des Symbols im Satz 1 wird nun auch vom Prozessor auf Null gestellt.
[0036] Die weitere Verarbeitung über das Datenregister 1e erfolgt in der unter C beschriebenen
Weise.
[0037] E. Wenn die Verkettungsbits 11 betragen, so ist das Symbol zu Ende und der Prozessor
stellt ganz einfach die Startadresse des Symbols in dieser Zeile auf Null. Das Symbol
ist damit für diesen Regenerierungszyklus vollständig dargestellt, die Regenerierung
des Symbols im vorliegenden Zyklus also abgeschlossen.
[0038] Wenn die Zeilenpuffer 4 ganz gefüllt sind, geht der Prozessor 1a in Wartestellung.
Die Videoschaltkreise 11 beginnen so nach und nach mit dem Ablesen und der Verarbeitung
des Inhaltes der Zeilenpuffer 4 zur Wiedergabe auf dem Bildschirm. Sobald das Auslesen
aus den Zeilenpuffern 4 begonnen hat, kann der Prozessor die Auffüllung der Zeilenpuffer
wieder aufnehmen. Die Videoschaltkreise 11 signalisieren kontinuierlich an den Prozessor,
wann eine neue Auffüllung für die nächste Informationszeile beginnen kann.
[0039] Wenn die gesamte erste Tessel-Zeile auf den Bildschirm geschrieben ist, beginnt der
ganze Ablauf wieder von neuem. Im Vergleich zu der ersten Zeile gibt es jedoch einen
wichtigen Unterschied im Arbeitsablauf, nämlich die Behandlung des Adressennotizspeichers
3.
[0040] Während der zweiten Zeile liest der Prozessor Adresse für Adresse aus dem zweiten
Satz des Adressennotizspeichers. Unterscheidet sich der Inhalt von Null, so steht
hier die Adresse für den nächsten Posten im Symbolspeicher 6 für ein angefangenes,
aber noch nicht abgeschlossenes Symbol. Der Verarbeitungsverlauf erfolgt im übrigen
entsprechend der vorstehenden Beschreibung. Ein angefangenes Symbol hat vor einem
neuen Symbol vom Hilfsspeicher 2 immer die Priorität. Eine neue Eins in dem Revier
eines Symbols zeigt ja nur die Codeposition des Symbols an und erfordert keine besondere
Behandlung (vergleiche Figur 4).
[0041] Während der Regenerierung der zweiten Zeile dient der Satz 1 des Adressennotizspeichers
3 der Fortsetzung der Zeichen. Er übernimmt also die Funktion, die der Satz 2 beim
Regenerieren der 1. Zeile hatte. Dieses Wechselspiel zwischen den beiden Sätzen setzt
der Prozessor fort, wobei die jeweilige Funktion eines Satzes davon abhängt, ob eine
gerade oder eine ungerade Zeile bearbeitet wird.
[0042] Wenn der X-Zähler 1b bis 30, der Y-Zähler 1c bis 112 gezählt hat und das Datenregister
1e auf Null gestellt ist, kann ein neuer Regenerierungszyklus beginnen.
[0043] Als Spezialfall können die obere linke Ecke eines Symbols und die Codeposition des
Symbols zusammenfallen. In dieser Lage enthält der Bildspeicher eine Eins in dem signifikantesten
bit MSB des Wortes (siehe Figur 5). Dieser Spezialfall stellt keine Komplikation für
den Prozessor 1a dar und erfordert keine besondere Behandlung dieses Prozessors, sondern
MSB dient nur als Hilfe für den Kommunikationsprozessor, um die Codeposition des Symbols
zu identifizieren.
[0044] Figur 10 zeigt einen Programmablaufplan zum Ablesen des Informationsinhaltes eines
Bildes. Das Lesen wird vom Kommunikationsprozessor 12 vorgenommen. Der Programmablaufplan
zeigt das Ablesen des Informationsinhaltes des ganzen Bildes.
[0045] Figur 11 zeigt einen Programmablaufplan zur Eingabe eines neuen Symbols in das Bild.
Die Eingabe erfolgt über den Kommunikationsprozessor 12. Der Code und die Koordinate
des Symbols sind bekannt (man erhält sie von einer externen Quelle). Im Programmablaufplan
kommt in dem ersten Feld nach dem Start die Bezeichnung MSB vor, womit das signifikanteste
bit gemeint ist. Zu dem vierten Sinnbild im
[0046] Programmablaufplan nach dem Start ist zu sagen, daß das Definitionstessel des Symbols
bekannt ist, und von diesem aus kann man mit Hilfe von Verkettungsbits rückwärts zählen
bis zur Koordinate für die obere linke Ecke des Symbols. Zu dem fünften Sinnbild nach
dem Start ist zu sagen, daß hier das signifikanteste bit auf 0 gestellt werden muß.
Zu dem sechsten Sinnbild nach dem Start ist zu sagen, daß Einsen in die Plätze für
die obere linke Ecke des Symbols und für das Definitionstessel des Symbols gehetzt
werden müssen.
[0047] Figur 12 zeigt einen Programmablaufplan zum Löschen eines ganzen Bildes. Dies wird
vom Kommunikationsprozessor 12 vorgenommen. Nur der Hilfsspeicher braucht zum Erreichen
dieses Zieles gelöscht zu werden; der Bildspeicher braucht hierbei nicht angesprochen
zu werden.
[0048] Wie aus den vorstehenden Ausführungen hervorgeht, werden durch die Erfindung große
Vorteile für eine Wiedergabeanordnung der behandelten Art erreicht. Dies sind im wesentlichen
folgende:
[0049] Der Konflikt zwischen der Regenerierung der Symbole und dem Ablesen des Informationsinhaltes
des Bildes wird beseitigt.
[0050] Die Eingabe und das Löschen von Symbolen wird vereinfacht, da dies nur durch Schreiben
bzw. Löschen in dem kleinen Hilfsspeicher gesteuert wird.
[0051] Das Löschen eines ganzen Bildes geht schneller (weniger Vorgänge).
[0052] Die Regenerierung des Bildes wird vereinfacht.
[0053] Das Schreiben und Lesen im Bild wird vereinfacht.
[0054] Das Abändern des Bildes wird vereinfacht und geht schneller, da nur der Hilfsspeicher
angesprochen zu werden braucht.
[0055] Der Bildschirm kann an Texte mit anderen Schreibrichtungen als den oben beschriebenen,
beispielsweise von rechts nach links oder spaltenweise, leicht angepaßt werden.
[0056] Im Rahmen des allgemeinen Erfindungsgedankens kann die beschriebene Wiedergabeanordnung
in vielen verschiedenen Arten aufgebaut sein. Beispielsweise können zwei separate
Hilfsspeicher verwendet werden, einer für die Definitionselemente und einer für die
Startelemente. Ferner brauchen der Hilfsspeicher oder die Hilfsspeicher nicht gegenständlich
vom Bildspeicher getrennt zu sein, doch wird vorausgesetzt, daß sie um die Vorteile
mit der Erfindung zu erreichen, logisch (funktionsmäßig) vom Bildspeicher getrennt
sind.
[0057] In der vorstehenden Beschreibung werden die Begriffe "Wort" und "Posten" als gleichwertige
Synonyme verwendet Ferner sind die Begriffe "Definitionspunkt", "Codeposition" und
"Definitionselement" gleichbedeutend. Unter "Definitionsposten" und "Definitionstessel"
wird der Posten bzw. das Tessel verstanden, welcher/welches den Definitionspunkt enthält.
[0058] Das Ablesen des Informationsinhaltes eines Bildes im Gegensatz zum Regenerieren des
Bildes kommt vor allem dann vor, wenn das in der Wiedergabeanordnung gemäß der Erfindung
gespeicherte Bild an einen größeren zentralen Computer übertragen werden soll, um
in der Datenbank dieses Computers gespeichert zu werden. Die Wiedergabeanordnung gemäß
der Erfindung kann als ein Terminal verwendet werden, z. B. in einer Schaltwarte,
das mit dem zentralen Computer in Verbindung steht. Diese Verbindung wird über den
Kommunikationsprozessor 12 hergestellt.
[0059] Als signifikantestes Bit wird in einer binären Zahl bekanntlich das Bit mit der höchsten
Stellenwertigkeit bezeichnet, also das am weitesten links stehende Bit mit der Wertigkeit
"Eins". In der vorliegenden Beschreibung wird als signifikantestes Bit (MSB) das am
weitesten links stehende Bit des im Bildspeicher gespeicherten Wortes bezeichnet (Kennzeichnungsbit
in Figur 5). Es kann die Wertigkeit Null oder Eins haben.
1. Anordnung zur Wiedergabe von graphischen Informationen in Form von Symbolen (Zeichen)
von beliebiger Größe und in Form von Punktmatrizen auf einem Wiedergabegerät (11)
des raster scan-Typs, z. B. einem Bildschirm, mit einem Symbolspeicher (6), in dem
Informationen über das Punktmuster der verfügbaren Symbole gespeichert werden, und
mit einem Bildspeicher (7), in dem Informationen über die Lage der zu dem gerade vorliegenden
Bild gehörenden Symbole gespeichert sind, dadurch gekennzeichnet, daß ein Hilfsspeicher
(2) vorhanden ist, in dem für jedes zu dem aktuellen Bild gehörende Symbol Informationen
gespeichert sind, einerseits über die Lage desjenigen Elements des Symbols im Bild,
das bei der Wiedergabe zuerst geschrieben wird (Startelement) und andererseits über
die Lage des Definitionselementes des Symbols, und daß an der Stelle im Bildspeicher,
die der Lage des Definitionselementes des Symbols im Bild entspricht, ein Code eingespeichert
ist, der das Symbol identifiziert.
2. Anordnung nach Anspruch 1, bei welcher der Bildspeicher ein Wort für jeden Bildelementplatz
auf dem Bildschirm enthält; dadurch gekennzeichnet, daß der Hilfsspeicher ein vom
Bildspeicher getrennter Speicher ist, der genau wie der Bildspeicher ein Wort für
jeden Bildelementplatz auf dem Bildschirm enthält.
3. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Wortlänge im
Hilfsspeicher kleiner als im Bildspeicher ist.
4. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß die Wortlänge im Hilfsspeicher
1 bit beträgt.
5. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß
sie Geräte (1, 12) enthält, die bei der Wiedergabe (Abbildung) eines Bildes den Hilfsspeicher
absuchen und beim Auftreffen auf ein Bildelement, das ein Startelement für ein Symbol
ist, den Code dieses Symbols aus dem entsprechenden Platz im Bildspeicher holen.
6. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß
sie Geräte (1, 12) enthält, die beim Ablesen des Informationsinhaltes des Bildes den
Hilfsspeicher absuchen und beim Auftreffen auf ein Bildelement, das ein Definitionselement
eines Symbols ist, den Code dieses Symbols aus dem entsprechenden Platz im Bildspeicher
holen.
1. Dispositif pour restituer des informations graphiques sous la forme de symboles
(signes) de dimensions quelconques et sous la forme de matrices de points sur un appareil
de restitution (11) du type à balayage matriciel, par exemple sur un écran d'image,
avec une mémoire à symboles (6) dans laquelle sont mémorisées les informations relatives
au modèle de poins des symboles disponibles, et avec une mémoire d'images (7) dans
laquelle sont mémorisées des informations relatives à la position des symboles appartenant
à l'image précisément présente, caractérisé par le fait qu'il comporte une mémoire
auxiliaire (2) dans laquelle sont mémorisées des informations pour chaque symbole
appartenant à l'image actuelle, d'une part, relatives à la position de l'élément de
symbole dans l'image qui doit, lors de la réception, être écrit en premier lieu (élément
de lancement), et, d'autre part, relative à la position de l'élément de définition
du symbole, et qu'à l'emplacement de la mémoire d'images, qui correspond à la position
de l'élément de définition du symbole dans l'image, est mémorisé un code qui identifie
le symbole.
2. Dispositif selon la revendication 1, dans lequel la mémoire d'images comporte un
mot pour chaque emplacement d'élément d'image sur l'écran d'image, caractérisé par
le fait que la mémoire auxiliaire est une mémoire distincte de la mémoire d'image,
qui comporte, tout comme la mémoire d'image, un mot pour chaque emplacement d'élément
d'image sur l'écran d'image.
3. Dispositif selon la revendication 1 ou 2, caractérisé par le fait que la longueur
des mots dans la mémoire auxiliaire est plus petite que dans la mémoire d'image.
4. Dispositif selon la revendication 3, caractérisé par le fait que la longueur des
mots dans la mémoire auxiliaire est égale à 1 bit.
5. Dispositif selon l'une des revendications précédentes, caractérisé par le fait
qu'il comporte des appareils (1, 12) qui, lors de la restitution (reproduction) d'une
marge explorent la mémoire auxiliaire et prélèvent, lors de l'incidence sur un élément
d'image qui est un élément de lancement pour un symbole, le code de ce symbole dans
l'emplacement correspondant dans la mémoire d'image.
6. Dispositif selon l'une des revendications précédentes, caractérisé par le fait
qu'il comporte des appareils (1,12) qui à la lecture du contenu des informations de
l'image explorent la mémoire auxiliaire et prélèvent lors de l'incidence sur l'élément
d'image qui est un élément de définition d'un symbole, le code de ce symbole de l'emplacement
correspondant dans la mémoire d'image.