DE3248451C2 - Positionsanzeigergenerator und damit ausgerüstetes Fernsehmonitorsystem - Google Patents
Positionsanzeigergenerator und damit ausgerüstetes FernsehmonitorsystemInfo
- Publication number
- DE3248451C2 DE3248451C2 DE3248451A DE3248451A DE3248451C2 DE 3248451 C2 DE3248451 C2 DE 3248451C2 DE 3248451 A DE3248451 A DE 3248451A DE 3248451 A DE3248451 A DE 3248451A DE 3248451 C2 DE3248451 C2 DE 3248451C2
- Authority
- DE
- Germany
- Prior art keywords
- parameter
- block
- memory
- stop
- horizontal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/42—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of patterns using a display memory without fixed position correspondence between the display memory contents and the display position on the screen
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/08—Cursor circuits
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Input From Keyboards Or The Like (AREA)
- Processing Or Creating Images (AREA)
Abstract
Beschrieben ist ein System zum Schreiben von Positionsanzeigern auf einem rasterabgetasteten Fernsehschirm (17), bei dem ein Mikroprozessor (21) in einem Anzeigesteuerteil (19) benutzt wird, um Datenblöcke zu erzeugen, die die Parameter von Vektoren angeben, die den Positionsanzeiger bilden. Die Blöcke werden in einen FIFO-Speicher (55) während einer Vertikalaustastlücke oder während einer aktiven Bildzeit eingegeben. Jeder Block gibt an, wo das Schreiben eines Positionsanzeigersegments auf einer horizontalen Abtastzeile beginnen und enden soll, und außerdem eine Wiederholzahl, die die Anzahl der Zeilen angibt, auf denen das Segment zu schreiben ist. Jeder Block enthält einen Deltawert, um anzuzeigen, wieviel, falls überhaupt, jedes Segment von Zeile zu Zeile nach links oder rechts zu verschieben ist, so daß vertikale und gegen die Vertikale abgewinkelte Vektoren erzeugt werden können. Die Blöcke werden aus dem Speicher durch eine Schaltung (1, 86) nacheinander ausgelesen, die die Segmentstart- und -stopdaten in Bildelementzählwerte umwandelt. Bildelementzähler (76, 81) legen die Schreibstart- und -stoppunkte fest. Wenn die Anzahl der horizontalen Zeilen, auf denen Segmente geschrieben werden, gleich der Wiederholzahl ist, wird der nächste Block verarbeitet.
Description
In dem System, das in der zitierten Patentschrift beschrieben
ist, bewirkt jedesmal dann, wenn eine Horizontalaustastlücke auftritt, ein Steuerteil für direkten
Speicherzugriff (DMA) die Übertragung der Positionsanzeigerdaten, die auf der betreffenden horizontalen
Rasterzeile zu schreiben sind, in Zählerpaare. Sobald eine Horizontalaustastlücke endet und das Durchlaufen
der Zeile beginnt, beginnen die Zähler, die Bildelemente zu zählen. Wenn einer der Zähler bis zum Überlauf
zählt, wird der Schreibstrahl der Fernsehbildröhre so
beeinflußt, daß er eine erhellte Zeile auf dem Fernsehschirm schreibt. Wenn der andere Zähler des Paares bis
zum Unterlauf zählt, wird der Schreibstrahl wieder auf den Intensitätswert gebracht, der für die Bildelemente
für das auf der betreffenden Zeile geschriebene Bild geeignet ist, und die Breite der Positionsanzeigerzeile
wird dadurch festgelegt.
In bekannten Computertomographieanzeigesystemen besteht das Röntgenbild typisch aus einer Matrix
aus 312x312 Biiacicfncnien, d.h. 312 Biidelemenie in
jeder horizontalen Zeile und 312 aktive horizontale Zeilen.
Es steht daher ein beträchtliches Ausmaß an Zeit für den Mikroprozessor zur Verfugung, um die voluminösen
Daten für einen vollständigen Positionsanzeiger während einer Vertikalaustastlücke in den Speicher mit
wahlfreiem Zugriff zu laden und das Steuerteil für direkten Speicherzugriff die Daten horizontale Zeile für horizontale
Zeile zu der x-Startposition und zu den Zeilenbreitenzählern
übertragen zu lassen. In den fortschrittlichsten Computertomographiesystemen besteht jedoch
das Röntgenbild aus einer Matrix aus 512x512 Bildelementen.
Der Mikroprozessor würde daher während der Vertikalaustastlücken die Positionsanzeigerdaten für
viel mehr horizontale Zeilen zu berechnen, die Berechnungen für neue Positionen des Positionsanzeigers zu
wiederholen und die Daten in den Speicher mit wahlfreiem Zugriff zu laden haben. Ein Mikroprozessor, der
sehne!! genug ist, um die Positionsanzeigersegmentschreibstart-
und -stopdaten für alle 512 horizontalen Zeilen zu berechnen und deren Übertragung in den
Speicher mit wahlfreiem Zugriff während einer Vertikalaustastlücke zu bewirken, ist schwierig, wenn nicht
gar unmöglich, nach dem gegenwärtigen Stand der Technologie zu erhalten. Die Erfindung umgeht dieses
Problem durch eine Anordnung, die nur einen Teil der Zeit eines Mikroprozessors benötigt, der weiterhin den
größten Teil seiner Zeit zum Ausführen von Funktionen benutzen kann, die nicht zu der Positionsanzeigererzeugung
in Beziehung stehen.
Ein weiteres Positionsanzeigergeneratorsystem, bei dem ein zweckbestimmter Computer benutzt wird, ist in
der US-PS 38 94 2^2 beschrieben. Diese Patentschrift
gibt ebenfalls an, eine Einzelberechnung der Positionsanzeigerzeilensegmentstart-
und -endpositionsdaten für jede horizontale Rasterzeile auszuführen. Gemäß den
Angaben in dieser Patentschrift ist die tatsächliche Anzahl von Zeilensymbolen, die gezeichnet werden können,
davon abhängig, wie viele Berechnungen der Computer während der Zeit machen kann, während der eine
einzelne horizontale Rasterzeile geschrieben wird. In einem 50-Hz-synchronisierten Fernsehanzeigeschema,
in welchem 512 Bildelemente pro horizontaler Zeile angezeigt
werden, beträgt die Dauer einer horizontalen Zeile etwa 23 us, und in einem 60-Hz-System liegt die
Dauer etwas unter 20 us. Darüber hinaus beträgt in 50-Hz- und in 60-Hz-Fernsehsystemen die Horizontalaustastlücke
nur 11,5 us bzw. 9,59 μ$· Das ist eine sehr
kurze Zeit zum Laden der Zähler direkt aus dem Speicher mit wahlfreiem Zugriff oder zum Ausführen von
Positionsanzeigerpositionsberechnungen horizontale Zeile für horizontale Zeile, wie es in der zuletzt zitierten
Patentschrift der Fall ist.
Das hier beschriebene neue Positionsanzeigergeneratorsystem
beseitigt die zeitlichen Beschränkungen, die bei den bekannten Systemen vorhanden sind, und erfordert
nicht die Verwendung eines Mikroprozessors, der ausschließlich zum Erzeugen von Positionsanzeigerdaten
bestimmt ist. Darüber hinaus ist das neue System in der Lage, die vielfältigsten Positionsanzeigerkonfigurationen
zu erzeugen.
Es sind mit dem Benutzer in Dialog tretende Vorrichtungen vorgesehen, die dem Benutzer gestatten, eine
von mehreren Positionsanzeigerkonfigurationen auszuwählen und den Positionsanzeiger über einen Fernsehschirm
zu bewegen, der ein anatomisches Bild anzeigt. Die Daten für die Positionsanzeiger werden mit einem
Mikroprozessor erzeugt, der nicht ausschließlich der Positionsanzcigcrcrzcügüng zugeordnet ist, sondern
dessen Hauptaufgabe es ist, ein Fernsehanzeigesteuerteil zu steuern oder zu leiten. Der Mikroprozessor
spricht auf die Benutzung der Benutzerdialogvorrichtungen an, indem er einzelne Datenblöcke berechnet,
um die betreffenden Vektoren festzulegen, aus denen der ausgewählte Positionsanzeiger besteht. Das kann
während der aktiven Fernsehbildzeit oder während einer Vertikalaustastlücke erfolgen. Das Blockschema gestattet,
dCt Anzahl von Digitaldatenworten zu minimieren,
die erforderlich ist, um einen oder mehrere Vektoren festzulegen, die einen Positionsanzeiger festlegen.
In jedem Fall werder; die Datenblöcke, wenn sie berechnet
werden, in den Speicher mit wahlfreiem Zugriff eingegeben und dann der Reihe nach in einen FIFO- oder
Silospeicher übertragen. In der hier beschriebenen Ausführungsform ist der FIFO-Speicher in der Lage, vierundsechzig
12-Bit-Digitalworte zu speichern. Neue Datenbiöcke
können in ihn eingeschrieben werden, wenn die zuvor eingeschriebenen Blöcke ausgelesen worden
sind. Es gibt einen Block von Parametern für jeden Vektor, der eine Positionsanzeigerkonfiguration enthält,
und es können Blöcke zum Festlegen der Leerstellen auf dem Bildschirm oberhalb und unterhalb des Positionsanzeigers vorhanden sein. Ein Vektor kann längs einer
horizontalen Abtastzeile verlaufen oder quer zu den Abtastzeilen sein, in welchem Fall er aus kurzen Segmenten
auf aufeinanderfolgenden Abtastzeilen besteht. Beispielsweise sind zum Schreiben eines rechteckigen
Positionsanzeigers fünf Blöcke erforderlich. Ein Block
so legt das Gebiet oberhalb der ersten horizontalen Zeile fest, wo das Schreiben des Rechtecks beginnen wird. Ein
Block legt die oberste horizontale Linie oder den obersten Vektor des Rechtecks fest. Ein weiterer Block legt
die vertikalen Seitenlinien oder die vertikalen Vektoren des Rechtecks fest Ein Block legt die untere horizontale
Linie oder den unteren horizontalen Vektor fest. Ein weiterer Block legt das Gebiet unterhalb des Rechtecks
fest, wo es keinen Positionsanzeiger gibt Jeder Block hat einen digitalen Parameter, der die x-Startposition
oder die Anzahl von Bildelementen längs einer horizontalen Rasterzeile angibt, wo das Schreiben eines Segments
des Positionsanzeigers beginnen soll, und einen Parameter, der die Breite des Segments längs einer oder
mehrerer Rasterzeilen angibt jeder Block enthält außerdem einen sogenannten Deltaparameterwert, der
angibt, um wieviel die jr-Startposition eines Segments
nach rechts oder nach links von einer horizontalen Zeile zur nächsten verschoben werden sollte, um einen verti-
kalen oder abgewinkelten Quervektor festzulegen. Der
Deltawert isl von Bedeutung, wenn beispielsweise ein Positionsanzeiger, der aus einer geraden Linie besteht,
die gegen die wahre Vertikale abgewinkelt ist, auf dem Bildschirm geschrieben werden soll. Jeder Block hat außerdem
Daten, die einen Horizontalzeilenwiederholzahlparameter darstellen, der die Länge jeder insgesamt
vertikalen Linie oder abgewinkelten vertikalen Linie, aus ö^ider Positionsanzeiger besteht, angibt.
Die mehreren Parameterblöcke, die die Vektoren festlegen, aus denen ein Positionsanzeiger besteht, werden
während der Fernsehvertikalaustr.stlücke oder während der aktiven Bildzeit in den FIFO-Speicher geladen.
Eine Ausführungsform des Systems enthält vorzugsweise eine Schaltungsanordnung, die aus zwei Vektorgeneratoren
besteht, welche zwischen dem FIFO-Speicher und Zählerpaaren angeordnet sind. Jeder Vektorgenerator
steuert ein Zählerpaar an. Einer wird als x-Positions- oder x-Startzähler und der andere als x-Stcpzshlcr
bezeichnet. Ein neuer Block vor. Parameterdaten
wird aus dem FI FO-Speicher in Register der Vektorgeneratoren jedesmal dann geladen, wenn die Horizontalzeilenwiederholzahl
erreicht ist und eine Änderung in dem Deltaparameter von Block zu Block erforderlich
ist. Die Zähler zählen dann die Bildelemente bis zu der x-Startposition, zu welcher Zeit der Fernsehschreibstrahl
beeinflußt oder verändert wird, um hellere oder dunklere Bildelemente auf der ersten Zeile zu
schreiben, die Positionsanzeigerdaten hat, und der x-Stopzähler beendigt die Veränderung, wenn er eine Anzahl
von Bildelementen zählt, die gleich der Summe der Bilduemente in der x-Startposition und der Anzahl von
Bildelementen, die das Segment oder die Zeilenbreite angeben, ist. Ein Rollsummenakkumulator und ein gewöhnlicher
Summierer in jedem Vektorgenerator addieren oder substrahieren den Deltawert von der x-Startposition
für die nächste horizontale Zeile, um die vertikalen Linien in dem Positionsanzeiger zu neigen,
wenn der gewählte besondere Positionsanzeiger abgewinkelte vertikale Linien hat. Eine Wiederholzahllogik
verfolgt die Zahl der horizontalen Zeilen in dem besonderen Block, auf denen ein Segment oder Segmente zu
schreiben sind, und, wenn die Wiederholzahl, die der Länge der Linie in der vertikalen Richtung entspricht,
erreicht ist, werden die Parameterdaten für den nächsten Block aus dem FIFO-Speicher in die Register übertragen,
damit der vorstehend beschriebene Prozeß für den Vektor oder das Segment des nächsten Positionsanzeigers
wiederholt wird. In einem Block, in welchem der Positionsanzeigervektor längs einer einzigen horizontalen
Zeile verläuft, wäre z. B. der Wiederholzahlparameter gleich 1.
Die elektronischen Bauteile, aus denen jeder Vektorgenerator besteht, basieren vorzugsweise auf der Technologie
des bipolaren Transistors, da diese viel schneller ist als die MOSFET-Technologie.
In einer anderen, aber bevorzugten Ausführungsform bestehen die als integrierte Schaltungen ausgebildeten
mehreren Vektorgeneratoren aus einer Bit-slice-Prozessoranordnung
und einem Folgesteuerteil oder Sequenzer, die in Verbindung mit den Zähler arbeiten,
welche in Verbindung mit der zuvor dargelegten Ausführungsform erwähnt worden sind. Der Bit-slice-Prozessor
ist in Bipolartransistortechnologie ausgebildet
und deshalb sehr schnell. Jeder Bit-slice-Prozessor enthält
die notwendigen Register und arithmetisch-logischen Bauteile zum Ausführen der oben dargelegten
Speicher- und Rechenfunktionen. Ein Bit-slice-Prozessor ist bekanntlich eine untergeordnete oder Slave-Vorrichtung,
die unter äußerer Steuerung praktisch jede Funktion eines vollständigen Mikroprozessors erfüllen
kann, nicht aber die gesamten Taktsteuer- und Datenbearbeitungsprozesse, die ein Mikroprozessor ausführen
kann. Ein Folgesteuerteil oder Sequenzer ist für die Taktsteuerung von Ereignissen in dem Bit-slice-Prozessor
erforderlich.
Mehrere Ausführungsbeispiele der Erfindung werden
ίο im folgenden unter Bezugnahme auf die Zeichnungen
näher beschrieben. Es zeigt
F i g. \ ein Blockschaltbild eines Computertomographiesystems
zusammen mit einem Blockschaltbild einer Ausführungsform des Positionsanzeigergenerators
nach der Erfindung,
Fig.2 ein Blockschaltbild einer anderen Ausführungsform
des Positionsanzeigergenerators nach der Erfindung zusammen mit demselben Computertomographiesystem
wie in F i g. 1.
2Q F i ff. 3 sin Diagramm, das die ErZCU0Un0 sines Positionsanzeigertyps
und gewisse Begriffe erläutert,
Fig.4 einen Positionsanzeiger, der keinen praktischen
Wert haben dürfte, aber brauchbar ist, um zu erläutern, wie Mehrvektorpositionsanzeiger erzeugt
werden, wobei die vier Blöcke A-D von Parameterdaten, die zur Erzeugung dieses Positionsanzeigers benötigt
werden, neben dem Fernsehschirm angegeben sind, auf dem dieser Positionsanzeiger angezeigt wird,
F i g. 5 in den Teilen 5A—5D einige der Positionsan-Zeigerkonfigurationen,
die mit dem Positionsanzeigergenerator nach der Erfindung hergestellt werden können,
und
F i g. 6 ein Erläuterungsdiagramm, das veranschaulicht, wie ein komplizierter Positionsanzeiger, der einer
Ellipse angenähert ist, mit dem Positionsanzeigergenerator nach der Erfindung erzeugt werden kann.
Zuerst werden die Bestandteile eines zur Veranschaulichung gewählten Röntgencomputertomographiesystems
unter Bezugnahme auf F i g. 1 erläutert, und dann wird der Positionsanzeigergenerator nach der Erfindung
ausführlich beschrieben.
Ein Patient, der einer Computertomographieabtastung unterzogen werden soll, ist durch eine mit 10 bezeichnete
Ellipse in dem oberen linken Bereich von Fig. 1 dargestellt Ein Gehäuse 11, das eine Röntgenröhre
enthält, ist auf einer Seite des Patienten angeordnet, und ein Mehrzellenröntgendetektor 12 ist diametral
entgegengesetzt zu dem Röntgenröhrengehäuse angeordnet Bekanntlich werden bei der Computertomographie
die Röntgenröhre und der Röntgendetektor gemeinsam um den Patienten herumbewegt, während die
Röntgenröhre gespeist wird und einen dünnen, fächerförmigen Strahl erzeugt. Die Steuerung für die Einstellung
des Röntgenröhrenstroms und der angelegten Hochspannung sowie zum Ein- und Ausschalten der
Röntgenröhre am Beginn und am Ende einer Röntgenabtastung ist durch einen mit 13 bezeichneten Block
symbolisch dargestellt. In diesem Beispiel hat der Röntgendetektor 12 etwa 700 aktive Zellen oder benachbarte
Ionisationskammern zum Erzeugen von Analogsignalen, die der Röntgendämpfung längs der Röntgenbündel
entsprechen, aus denen der Röntgenstrahl besteht Diese Analogdämpfungsdaten werden unter aufeinanderfolgenden
Drehwinkeln des Abtasters erfaßt und zum Rekonstruieren eines Röntgenbildes benutzt,
was an sich bekannt ist Ein die Bezugszahl 14 tragender und mit »Datenerfassung« bezeichneter Block symbolisiert
die Datenerfassungsfunktionen, die das Umwan-
dein der die Analogdämpfung darstellenden Signale in
entsprechende Digitalwerte und die Multiplexübertragung dieser Daten zu einer Zentraleinheit (CPU) 15
beinhalten. Die Zentraleinheit 15 benutzt die digitalisierten Dämpfungsdaten in einem Algorithmus, dessen
Ausführung eine 512x512-Digitalzahlmatrix ergibt, in
der die Werte der Zahlen den Intensitäten der Bildelemente entsprechen, aus denen das Röntgenbild besteht.
Diese Bildelementdaten können zur späteren Anzeige auf einer Magnetplatte in einem Plattenspeicher gespeichert
werden, der durch einen Block 16 dargestellt ist. Allgemein wird eine Sichtdarstellung des Röntgenbildes
auf dem Bildschirm 17 eines Fernsehmonitors 18 angezeigt, sobald die Bilddaten aus einer Abtastung zur
Verfügung stehen. In jedem Fall werden die Bilddaten einem Anzeigesteuerteil bekannten Typs zugeführt, das
mit der Bezugszahl 19 bezeichnet ist. Es erfolgt eine Datenübertragung in zwei Richtungen zwischen der
Zentraleinheit 15 und dem Anzeigesteuerteil 19 über
cmc hui uci ucz.ugsz.aiu n\>
ucz-cmuicic Liiiigauc//-vu3gabe-Interfaceeinheit.
Das Anzeigesteuerteil 19 enthält einen Mikroprozessor, der so bezeichnet und außerdem
mit der Bezugszahl 21 versehen ist. Beispielshalber wird ein Mikroprozessor, ohne daß darunter eine Beschränkung
verstanden werden soll, für ein Anzeigesteuerteil üblicherweise die Fähigkeiten des Typs Z-80 haben, der
von der Zilog Corporation erhältlich ist. In Anzeigesteuerteilen für Computertomographiezwecke steuert
der Mikroprozessor viele Funktionen einschließlich des Managements von Bildelementdatenübertragungen
von der Zentraleinheit 15 zu einem Vollbildwiederholspeicher, in welchem die Daten für ein Bild während der
Zeit der Bildanzeige auf dem rasterabgetasteten Fernsehschirm 17 gespeichert werden. Gewöhnlich ist der
Mikroprozessor mit Dingen beschäftigt, wie dem Einwirken auf die Bilddaten und dem Steuern von Datenübertragungen
von dem Plattenspeicher zu dem BiIdwiederholspeicher. Darüber hinaus erfüllt der Mikroprozessor
weitere Steuerfunktionen, wie beispielsweise zu veranlassen, daß der Bildwiederholspeicher in einer
Nichtzeilensprungabtastbetriebsart ausgelesen wird. Es ist zwar kein Graphikwiederholspeicher dargestellt, es
ist jedoch klar, daß der Mikroprozessor auch in der Lage ist zu veranlassen, daß graphische Information auf
dem Fernsehschirm 17 gleichzeitig mit der sichtbaren Röntgenbildanzeige geschrieben wird. In jedem Fall
werden die digitalisierten Bildelementdaten, die in einem Bildwiederholspeicher, wie dem Bildwiederholspeicher
22, gespeichert sind, einem D/A-Wandler zugeführt, der durch einen mit der Bezugszahl 23 bezeichneten
Block dargestellt ist. Das Analogvideosignal, das von dem D/A-Wandler 23 abgegeben wird, bildet ein Eingangssignal
24 eines Analogsignalmischers 25. Das andere Eingangssignal des Mischers 25 ist mit 26 bezeichnet
und wird ausführlicher weiter unten erläutert, da es Teil des Positionsanzeigergenerators ist Das von dem
Mischer 25 abgegebene Analogvideosignal wird über ein Kabel 27 an den Fernsehmonitor 18 anglegt, um das
Röntgenbild, eine Graphik, falls vorhanden, und einen Positionsanzeiger, wenn ein Positionsanzeiger durch
den Benutzter verlangt wird, anzuzeigen.
Der Adreß-/Datenbus 30 für den Mikroprozessor ist
getrennt von dem Anzeigesteuerteil dargestellt Der Universalschreiblesespeicher, der hier als RAM bezeichnet
wird und durch den Mikroprozessor benutzt wird, ist durch den mit der Bezugszah! 31 versehenen
und mit RAM bezeichneten Block dargestellt. Dsr RAM
31 ist selbstverständlich mit dem Mikroprozessorbus 30 verbunden. Die Programmdaten, die für den Mikroprozessor
21 erforderlich sind, um die Anzeigesteuerteilfunktionen und üie erfindungsgemäßen Positionsanzeigererzeugungsfunktionen
auszuführen, sind in einem Festwertspeicher (ROM) gespeichert, bei dem es sich insbesondere um einen programmierbaren Festwertspeicher
(PROM) handelt, der durch den mit der Bezugszahl 32 versehenen Block dargestellt ist, wobei aber
andere Typen von lesbaren Speichern, wie beispielsweise ein RAM, ebenfalls benutzt werden könnte. Der
PROM 32 ist selbstverständlich ebenfalls mit dem Mikroprozessorbus 30 verbunden. Das System ist mit einem
quarzgesteuerten Haupttaktgeber versehen, der durch den mit der Bezugszahl 29 versehenen Block dargestellt
ist. Die Taktimpulsreihe, die durch den Haupttaktgeber 29 erzeugt wird, wird einem Takt- und Synchronisierungsgenerator
33 über eine Leitung 34 züge führt. Der Takt- und Synchronisierungsgenerator 33
steuert den Takt und die Synchronisierung von sämtlichcri elektronischen Bauteilen in dem System. Bcispiclshalber
werden Takt- und Synchronsignale über eine Leitung 35 dem Mikroprozessor 21 und dem Anzeigesteuerteil
19 zugeführt. Weitere Leitungen 36 und 37 liefern Taktsignale für den Bildwiederholspeicher 22
und den D/A-Wandler 23. Ähnliche Leitungen führen zu den meisten anderen Bauteilen, die in Fi g. 1 dargestellt
sind.
Digitale Bildelementsignale werden dem Bildwiederholspeicher 22 entnommen, um in analoge Videosignale
mit einer Frequenz von etwa 26 M Hz in einem Fernsehsystem, das auf einer Netzfrequenz von 60 Hz basiert,
umgewandelt zu werden. Daher muß in einem 60-Hz-System jedes Bildelement in jeder horizontalen Zeile
der Fernsehanzeige in etwa 37,47 ns geschrieben werden. In einem 50-Hz-System beträgt die Bildelementzeit
44,96 ns, während die Bildelementfrequenz etwa 22,24 MHz beträgt. Einzelne Bildelemente werden in
der Intensität verändert, d, h, sie können in Punkten oder längs Linien aufgehellt oder abgedunkelt werden,
aus denen der Vektor oder die Vektoren eines Positionsanzeigers bestehen, der dem Bild auf dem Fernsehschirm
17 überlagert ist. In diesem Beispiel besteht, wie weiter oben angegeben, jede der 512 aktiven horizontalen
Abtastzeilen aus einer Serie von 512 Bildelementen.
Der PROM 32 speichert die Programme, die dem Mikroprozessor 21 gestatten, seine Anzeigesteuerteilfunktionen
und außerdem die Positionsanzeigererzeugungsfunktionen auszuführen. Das Auswählen einer besonderen
Positionsanzeigerkonfiguration, -größe und -lage erfolgt mit einem Dialogvorrichtungs- und Peripherieinterface,
das sich in Fig. 1 ganz links befindet und als Block 40 dargestellt ist. Ein Zweirichtungsbus 41
verbindet das Analogvorrichtungs- und Peripherieinterface 40 mit dem Mikroprozessorbus 30. Ein Führungskugelcodierer
42, ein Winkelwähldruckknopfpaar in einem Block 43, eine Gruppe 44 von vier Druckknopfschaltern
und eine Gruppe 45 von zwei Schaltern sind vorgesehen, um dem Benutzer zu gestatten, die Positionsanzeiger
zu wählen und zu steuern. Typisch wird der Benutzer einen der Druckknopfschalter betätigen,
die in der Gruppe 44 durch kleine Kreise dargestellt sind, um eine besondere Positionsanzeigerkonfiguration
zu wählen, wie beispielsweise die gerade Linie 46 und die Tic-Markierung 47, die in F i g. 5A gezeigt sind, die
horizontale Linie 48 in F i g. 5B, das in der Mitte offene Fadenkreuz 49 in Fig.5C oder das Rechteck 50 in
F i g. 5D. Die Positionsanzeigersteuervorrichtungen gestatten, wie im folgenden erläutert, das Wählen der Lan-
ge de;" Seiten des Rechtecks, so daß Rechtecke unterschiedlicher
Größe und Form einschließlich eines Quadrats auf dem Fernsehschirm angezeigt werden können.
Die Steuervorrichtungen geben dem Benutzer außerdem die Möglichkeit, den Positionsanzeiger um dteTic-Markierung
47 zu drehen, um den vertikalen Winkel der Linie oder des Vektors 46 in F i g. 5A zu verändern und
den Vektor nach links und nach rechts und nach oben und nach unten zu bewegen. Es besteht außerdem die
Möglichkeit, die horizontale Positionsanzeigerlinie in F i g. 5B auf- und abzubewegen.
Falls Information für zusätzliche Positionsanzeiger zur Verfügung gestellt wird, wird das Programm zum
Bilden derselben in dem PROM 32 gespeichert, und zusätzliche Druckknopfschalter sind in der Gruppe 44
erforderlich. In jedem Fall wird, wenn ein Druckknopf in
der Gruppe 44 niedergedrückt wird, codierte Information über dessen Typ zu dem Mikroprozessor 21 geschickt.
Der Benutzer drückt dann einen der Druckknopfschalter ir. der Gruppe 45. Einer dieser Druckknöpfe
ist rn;· »Position« (nicht dargestellt) und der andere mit »Größe« (nicht dargestellt) bezeichnet. Wenn
der Benutzer einen Positionsanzeigertypwählschalter in der Gruppe 44 betätigt, wird der die kleinste Größe
aufweisende Positionsanzeiger dieses Typs sofort auf dem Fernsehschirm angezeigt. Wenn angenommen
wird, daß ein Quadrat gewählt worden ist und daß dessen Größe beispielsweise auf ein Rechteck vergrößert
werden soll, wird der Benutzer einen Größenbefehl geben, indem er den entsprechenden Schalter in der Gruppe
45 betätigt. Dann wird der Benutzer die Führungskugel in einer Richtung drehen, um dem Mikroprozessor
codierte Information zu übermitteln, die dem Verlängern des Rechtecks in einer Richtung entspricht. Wenn
die Führungskugel 42 in der anderen Richtung gedreht wird, wird der angezeigte Positionsanzeiger in der anderen
Richtung verlängert. Wenn der Benutzer die Größe des Positionsanzeigers festgelegt hat, wird der Positionsschalter
in der Gruppe 45 betätigt. Dann wird, wenn die Führungskugel 42 bewegt wird, der Positionsanzeiger entsprechend dem Wunsch des Benutzers auf
dem Bildschirm positioniert. Wenn der Benutzer den geradlinien Positionsanzeigervektor gewählt hat, der in
F i g. 5A dargestellt ist. kann er den Winkel der Linie auf dem Fernsehschirm ändern. Der Mikroprozessor ist so
programmiert, daß er den geradlinigen Vektor in vertikaler Lage auf dem Bildschirm initialisiert, sobald diese
Positionsanzeigerkonfiguration durch Betätigung des entsprechend bezeichneten Druckknopfschalters in der
Gruppe 44 gewählt wird. Der Benutzer drückt dann einen der beiden Druckknöpfe in dem Block 43, um den
Positionsanzeiger im Gegenuhrzeigersinn oder im Uhrzeigersinn zu drehen, was durch die Pfeile über diesen
Druckknöpfen angegeben ist In einer tatsächlichen Ausführungsform kann der als gerade Linie ausgebildete
Positionsanzeigevektor 46 um 360° in jeder Richtung in Schritten von 1° gedreht werden. Sobald der Mikroprozessor
durch codierte Information aus den verschiedenen Benutzersteuervorrichtungen 42—45 über den
Typ des Positionsanzeigers informiert ist, der anzuzeigen ist, berechnet der Mikroprozessor unter Verwendung
eines Programms in dem PROM 32 sämtliche digitalen Daten für den einen oder die mehreren Parameterbiöcke,
die zum Erzeugen und zum Anzeigen eines gesamten Positionsanzeigers erforderlich sind, und speichert
diese Daten in dem RAM 31. Ein Parameterblock ist für jeden Vektor oder für entsprechende Vektorpaare,
aus denen der Positionsanzeiger besteht, erforderlich. Zusätzliche Parameterblöcke sind erforderlich, um
den Positionsanzeiger von der Oberseite des Rasters bis zu der ersten horizontalen Rasterzeile, wo das Positionsanzeigerschreiben
beginnen soll, auszutasten, und ein weiterer Block ist erforderlich, um jedwedes Positionsanzeigerschreiben
unterhalb des tieften Punktes in der Positionsanzeigerkonfiguration und der Unterseite
des Rasters auszutasten. Beispielsweise kann ein 3-Vektoren-Positionsanzeiger, wie der in Fig.4 mit 51
to bezeichnete, auf dem Schirm unter Verwendung von vier Datenblöcken geschrieben werden. Das wird ausführlicher
weiter unten erläutert, um ein spezifisches Beispiel der kleinsten Datenmenge zu geben, die durch
den Mikroprozessor berechnet werden muß.
Gemäß Fig. 1 werden, wenn die Parameterblöcke, die die Konfiguration und die Lage des Positionsanzeigers
darstellen, der gegenwärtig auf dem Schirm angezeigt wird, durch den Mikroprozessor berechnet worden
sind, diese Blöcke in dem RAM 31 vorübergehend gespeichert, wie weiter oben angegeben. Wenn die
nächste Fernsehvertikalaustastlücke eingeleitet wird, werden diese Daten in der richtigen Reihenfolge über
den Mikroprczessorbus 30 in einen FiFO (First-In-First-Out) oder Silospeicher 55 übertragen. Ein Steuerteil 56
für direkten Speicherzugriff (DMA) spricht auf das Auftreten der Vertikalaustastlücke an, indem es die Übertragung
der Datenblöcke aus dem RAM 31 in den FI-FO-Speicher 55 veranlaßt. Weitere Parameterblöcke
können auch während der aktiven Fernsehbildzeit übertragen werden, während früher übertragene Blöcke aus
dem FIFO-Speicher 55 ausgelesen werden.
Ein 12-Bit-Bus 57 verbindet den FIFO-Speicher 55 mit einem Bus 58. In dieser Ausführungsform gibt es
Schaltungsanordnungen, die aus einem Vektorgenerator 1 und einem Vektorgenerator 2 bestehen, welche mit
dem Bus 58 verbunden sind. Die Schaltungsanordnungen führen Summieroperationen aus und erfüllen die
Funktionen der Lade- und Wiederhoizahilogik. Die Schaltungsteile des Vektorgenerators 1 befinden sich
innerhalb eines gestrichelten Rechtecks 59. In dem typischen Vektorgenerator 1 gibt es drei Register. Eines ist
mit »x-Startposition« bezeichnet und mit der Bezugszahl 60 versehen. Ein weiteres ist mit ±Δ bezeichnet
und mit der Bezugszahl 61 versehen. Noch ein v» fiteres
ist mit »Breite« bezeichnet und mit der Bezugszahl 62 versehen. Die Eingänge dieser Register sind mit dem
FIFO-Speicher-Ausgangsbus 58 verbunden.
Der Ausgang 63 des x-Startpositionsregisters 60 ist ein Eingang eines Multiplexers (MUX) 64. Der Ausgang
65 des Multiplexers 64 ist ein Eingang eines Rollsummenaddierers oder -akkumulators 66. Es gibt einen
Rückführungsbus von dem Ausgang 67 des Rollsummenaddierers zu dem anderen Eingang 68 des Multiplexers
64. Der Ausgangsbus 69 des Deltaregisters 61 ist ein weiterer Eingang des Rollsummenaddierers 66, wie
dargestellt Der Ausgang 67 des Rollsummenaddierers 66 ist außerdem über einen Bus mit einem Eingang 70
eines Summierers 71 verbunden. Der Ausgang des Breitenregisters 62 ist mit einem weiteren Eingang 72 des
Summierers 71 verbunden.
Jedem Vektorgenerator ist eine Zähler- und Speicherflipflopanordnung
zugeordnet In dem dargestellten Beispiel ist die Anordnung, die dem Vektorgenerator 1
zugeordnet ist, in einem gestrichelten Kasten 75 zusammengefaßt Innerhalb dieses Kastens gibt es einen x-Startpositionsdigitalzähler
76, der synchron mit der Bildelementtaktfrequenz zählt, weil Bildelementtaktimpulse
über eine Leitung 77 dem mit CK bezeichneten
Takteingang des Zählers 76 zugeführt werden. Ein Bus
73 verbindet den Ausgang 67 des Rollsummenaddierers 66 mit dem Dateneingang des jc-Startpositionszählers
76. Die Werte, die durch den Zähler 76 zu zählen sind,
geben den Punkt auf jeder horizontalen Rasterzeile an, wo das erste Bflde<ement in einer horizontalen Rasterzeile in seiner Intensität verändert werden soll, um die
Bildelemente auf dieser Zeile zu schreiben. Der Übertrag-Ausgangsstift CY des Zählers 76 ist über eine Leitung 78 mit dem Setzeingang eines Speicherflipflops 79
verbunden. Der Q- oder Setzausgang des Speicherflipflops 79 ist mit einem Eingang eines ODER-Gatters 80
verbunden, dessen Ausgang mit dem oben erwähnten Eingang 26 des Analogvideosignalmischers 25 verbunden ist.
Außerdem ist in dem Zähler- und Speicherflipflopblock 75 ein jf-Stopzähler 81 enthalten, der die Breite
von Linien oder aus mehreren Bildelementen bestehenden Segmenten festlegt, die die Breite längs einer Rasterabtastzeile einer Vektorlinie in einer Positionsanzei-
einen Dateneingang D, der über einen Bus 74 mit dem Ausgang des Summierers 71 in dem Vektorgenerator 1
verbunden ist Der Übertrag-Ausgangsstift CY des x-Stopzählers 81 ist über eine Leitung 82 mit dem Löschen-Eingangsstift des Speicherflipflops 79 verbunden.
Wenn der x-Positions- oder x-Startzähler 76 angibt, daß
das Schreiben auf einer besonderen horizontalen Rasterzeile zum Schreiben einer Positionsanzeigerinformation beginnen soll, nimmt das Signal auf der Ausgangsleitung 78 des Zählers 76 den Wert H an, um den
(^-Ausgang des Speicherflipflops 79 zu setzen, in welchem Fall das Ausgangssignal des ODER-Gatters 80
den Wert H annimmt Dieses //-Signal wird über den
Eingang 26 des Mischers 25 eingegeben und bewirkt, daß sin passendes Signa! zu dem Analogvideosigna! auf
der Leitung 27 addiert wird, um die Helligkeit von einem oder mehreren aufeinanderfolgenden Bildelementen zu
verändern, und zwar in Abhängigkeit von der Vektorlinienbreite in einem Positionsanzeigervektor. Wenn der
x-Stopzäh!er 81 einen Bildelementwert zählt, der gleich dem x-Startwert plus dem Breitenwert, ausgedrückt in
Bildelementen, ist, nimmt das Signal auf seiner Ausgangsleitung 82 den Wert L an, und dieses Signal wird
dem Löschen-Eingangsstift des Speicherflipflops 79 zugeführt, was bewirkt, daß dessen Ausgangssignal an
dem Ausgang Q den Wert L annimmt, so daß der Zustand des Ausgangssignals des ODER-Gatters 80 geändert und das Positionsanzeigerschreiben auf der besonderen horizontalen Rasterzeile auf dem Fernsehschirm
17 beendet wird.
Der als Vektorgenerator 2 bezeichnete und mit der Bezugszahl 86 versehene Block gleicht dem Vektorgenerator 1. Die Zähler- und Speicherflipflopanordnung,
die durch den mit der Bezugszahl 87 versehenen Block dargestellt ist, gleicht der Anordnung innerhalb des gestrichelten Blockes 75, der vorstehend beschrieben ist.
Der ^"Ausgang der Zähler- und Speicherflipflopanordnung 87 ist ein weiterer Eingang des ODER-Gatters 80
und steuert dieses Gatter auf eine Weise, wie sie vorstehend beschrieben ist
Zwei weitere Blöcke, die in Fig. t erläutert werden
müssen, bevor die Arbeitsweise des Positionsanzeigergenerators ausführlich beschrieben wird, sind ein Wiederholzahllogikblock 90 und ein Steuerlogikblock 91.
Der Steuerlogikblock 91 gibt sämtliche Lade- und Taktsignale für die Vektorgeneratoren t und 2 ab, wie es
durch die Linie 92 angegeben ist. Der Wiederholzahllo
gikblock 90 ist mit dem Bus 58 der Vektorgeneratoren
und mit dem Steuerlogikblock 91 verbunden. Der Steuerlogflcblock ist über einen Bus 93 mit dem Adreß-/Datenbus 30 des Mikroprozessors verbunden.
Nun wird unter Bezugnahme auf F i g. 3 die Terminologie betrachtet Es sei angenommen, daß der Benutzer
die Dialogsteuervorrichtungen benutzt hat, um einen geraden, abgewinkelten Positionsanzeigervektor wie
den in Fig.3 mit 96 bezeichneten zu verlangen. Der
ίο Positionsanzeigervektor 96 wird, wie gezeigt, auf dem
Rasterabtastfernsehschirm 17 angezeigt, bei dem jede
horizontale Rasterzeile 512 Bildelemente anzeigt und 512 horizontale Zeilen in dieser Ausführungsform vorhanden sind. Das obere Ende des Vektors 96 ist von
einem Kreis umrahmt, und das, was in dem Kreis enthalten ist, ist in dem vergrößerten Teil neben dem Schirm
17 in Fig.3 dargestellt Wenn angenommen wird, daß
die Blöcke von Parameterdaten zum Erzeugen der Linie 96 während der letzten Vertikalaustastlücke in den FI-
FO-Speicher 55 geladen werden und daß der erste oder
oberste Rasterzeiienhorizoniaiaustastimpuls gerade
aufgehört hat, werden die Daten für die erste horizontale Zeile in den x-Startpositionszähler 76 und den x-Stopzähler 81 geladen worden sein. Es sei angenommen,
daß die Parameterdaten so sind, daß die erste aufgehellte Positionsanzeigermarkierung in dem 320. Bildelement von links auf der obersten Rasterzeile 97 beginnen
soll, wie es in Fig.3 angegeben ist Die Anzahl der
Bildelemente, die zwischen 1 und 320 enthalten sind,
sind in der Vergrößerung durch den Wert X\ angegeben,
der in F i g. 3 außerdem mit jr-Start bezeichnet ist Die
Daten, die dem x-Stopzähler 81 zugeführt werden, bestimmen die Breite der abgewinkelten Vektorlinie 96,
und in der Darstellung in F i g. 3 ist eine Vektorbreite
von 3 Bildelementen längs einer horizontalen Rasterzeile angegeben. Wenn der .sr-Stopzähler 81 den ^-Startwert plus die drei Bildelemente, die die Vektorbreite
darstellen, zählt, wird das in drei Bildelementen in der Helligkeit veränderte Segment auf der ersten Rasterzei-
Ie 97 beendet Das ist in F i g. 3 durch die Bezeichnung
x-Stop angegeben. Die Breite der Zeile ist mit W bezeichnet Während der nächsten Horizontalaustastlücke
wird der x-Startpositionszähler 76 mit einem Wert x%
geladen, der gleich X\ Λ-Δ ist Delta ist das Ausmaß, um
welches das 3 Bildelemente breite Segment auf der nächsten Rasterzeile 98 und auf folgenden Rasterzeilen
horizontal verschoben werden muß, damit die abgewinkelte Positionsanzeigerlinie oder der Vektor 96 erzeugt
wird. Durch die Verwendung des Rollsummenaddierers
66 und des Summierers 71 in dem einzelnen Vektorgenerator, der für diesen besonderen Positionsanzeiger zu
verwenden ist, wird ein Betrag ±Δ zu den aufeinanderfolgenden x-Start- und Jr-Stopzählereingabewerten für
alle Rasterzeilen bis hinab zu dem unteren Ende 99 auf
dem Schirm in Fig.3 addiert. Bei dem Positionsanzeigervektor 96, der schräg nach rechts verläuft, würde
plus Delta addiert werden. Wie oft das bei dem in F i g. 3 dargestellten Positionsanzeiger passiert, hängt von dem
Wiederholzahlparameter ab, der die Anzahl von Zeilen
umfaßt, die innerhalb der Strecke /?C1 in Fig. 3 liegen.
Es ist also nicht erforderlich, sämtliche neuen x-Start- und x-Stoppositionen für die Segmente eines schrägen
oder vertikalen Vektors zu berechnen und dem Fl FO-Speicher 55 zuzuführen. Es ist lediglich notwendig, ei-
nen Wiederholzahlwert der Wiederholzahllogik 90 für jeden Block von Positionsanzeigerparametern zuzuführen, damit das Verarbeiten dieses Blockes aufhört, wenn
die Wiederholzahllogikschaltung die Anzahl von Ab-
tastzeilen zählt, die dem Wiederholzahlparameter entspricht
In F i g. 3 sind unterhalb des Punktes 99, wo die Positionsanzeigerlinie aufhört, die x-Start- und x-Stopdaten
alle null, und die Wiederholzahl, die durch den
Mikroprozessor berechnet und als ein Block in den FI-FO-Speicher 55 eingegeben worden ist, ist mit der Anzahl
von Zeilen innerhalb einer Wiederholzahl oder RC2 in F i g. 3 bezeichnet
Die Arbeitsweise des Positionsanzeigergenerators und insbesondere der Vektorgeneratoren, der Zähler
und der Speicherflipflops in der Ausführungsform nach F i g. 1 wird nun ausführlicher in Verbindung mit dem
Erzeugen eines komplizierteren Positionsanzeigers, wie dem 3-Vektoren-Positionsanzeiger 51, der auf dem
Fernsehschirm 17 in F i g. 4 angezeigt dargestellt ist, beschrieben.
Vier Datenblöcke A1B, C und D sind erforderlich,
um diesen Positionsanzeiger zu erzeugen. Es sei angenommen, daß der Positionsanzeiger durch den Benutzer
verlangt worden ist, indem die Dialogsteuervorrichtungen 42—45 benutzt worden sind. Der Mikroprozessor
21 berechnet daraufhin die Daten für sämtliche Parameterblöcke, die für den gesamten Positionsanzeiger
benötigt werden und speichert die Daten in dem RAM 31 und dann wird die DMA-Übertragung zu dem
FI FO-Speicher 55 am Beginn der Vertikalaustastlücke eingeleitet Die Daten zum Angeben von x-Start, x-Breite
und Delta, die durch den Mikroprozessor berechnet werden, werden als eine ganze 12-Bit-Zahl und ein
12-Bit-Bruchteil ausgedrückt Die Wiederholzahl ist eine
yanze Zahl, die in diesem Beispiel bis zu 512 betragen könnte, wenn ein Raster mit 512 aktiven Zeilen angenommen
wird. Diese Genauigkeit ist notwendig, um Unregelmäßigkeiten in einem abgewinkelten Vektor zu
vermeiden, die aus einem kumulativen Fehler in den ^-Startpositionen auf den aufeinanderfolgenden horizoniaien
Rasterzeiien resultieren wurden. Der x-Startpositionsdigitalparameter
und der Deltaparameter werden durch den Prozessor in 2er-Komplement-Form erzeugt,
da der x-Start außerhalb des Schirms beginnen könnte und Delta in Abhängigkeit von der Richtung, in
welcher ein Vektor die horizontalen Abtastlinien durchschneidet, plus oder minus sein kann. Es sei nun angenommen,
daß eine Vertikalaustastlücke aufgetreten ist, wobei während dieser Zeit die Datenblöcke A—D in
den FI FO-Speicher 55 geladen worden sind. Der Positionsanzeigergenerator
wird aktiv, sobald das erste Horizontalaustastintervall für das folgende Halbbild auftritt.
Sobald die erste Horizontalaustastlücke beginnt, wird der Satz von Parametern in der linken Spalte (mit Gen. 1
bezeichnet) des Blockes A in das x-Startpositionsregister 60, das Deltaregister 61 und das Breitenregister 62
des VektOigenerators 1 in Fi g. 1 geladen. Gleichzeitig werden die entsprechenden Register in dem Vektorgenerator
2 mit dem Satz von Parameterdaten in der rechten Spalte des Blockes A geladen. Die Wiederholzahl
von 170 wird in den Wiederholzahllogikblock 90 eingegeben.
In F i g. 4 sei beachtet, daß von der obersten horizontalen
Rasterzeile bis zu der ersten horizontalen Linie ω des Positionsanzeigers oder über die Strecke A kein
Positionsanzeiger vorhanden ist. Deshalb sind x-Start, x-Breite und Delta für den Block A alle null. Die Strecke
A beträgt 170 Rasterzeilen in diesem Beispiel, so daß die
Wiederholzahl 170 ist. Deshalb sind während der ersten
170 Rasterzeilen die Vektorgeneratoren in einem Untätigkeitszustand.
Die Wiederholzahllogik 90 zählt jedoch die horizontalen Rasterzeilen. Wenn der Wiederholzahlparameterwert
gezählt wird und während der damit zusammenfallenden Horizontalaustastlücke wird der
Parameterdatensatz in der linken Spalte (Gen. 1) des Blockes B in die Register 60,61 und 62 des Vektorgenerators
1 geladen und der Parameterdatensatz in der rechten Spalte (Gen. 2) wird in die entsprechenden Register
in dem Vektorgenerator 2 geladen.
Die oberste horizontale Linie oder der oberste Vektor des Positionsanzeigers auf dem Schirm in Fi g. 4 ist
die 171. Rasterzeile in diesem Beispiel. Die jr-Startposition
ist 250 Bildelemente von dem Beginn einer horizontalen Abtastzeile oder dem linken Rand des Schirms
entfernt, und die x-Stopposition ist 375 Bildelemente
von dem linken Rand des Schirms entfernt, was durch die Zahl 375 angegeben ist Die Wiederholzahlparameterdaten
in dem Block B haben den Wert 1, da die einzelne horizontale Positionsanzeigerlinie oderajor Positionsanzeigervektor,
auf den sie sich beziehen, keine vertikale Komponente hat Somit werden während der
Horizontalaustastzeit die x-Startpositionsparameterdaten,
die einen Wert von 250, ausgedrückt in Bildelementzählwerten in dem Block B, haben, für die erste aktive
horizontale Zeile von dem Register 60 in F i g. 1 über den Multiplexer 64 und den Rollsummenaddierer 66 abgegeben
und in den x-Positionszähler 76 des Vektorgenerators
1 geladen. Dieser Zähler zählt mit der Bildelementtaktfrequenz.
Gleichzeitig wird der x-Stopzähler 81 geladen, indem die Daten aus dem Breitenregister 62
durch den Summierer 71 geleitet werden und die Breite von 125 zu dem Ar-Startwert addiert wird. Der x-Startzähler
76 und der x-Stopzähler 81 zählen gleichzeitig. Wenn der x-Startzähler 250 Bildelemente nach der Horizontalaustastung
in diesem Fall zählt, bewirkt er, daß das Signal an dem (^-Ausgang des Speicherflipflops 79
den Wert H annimmt und daß das Ausgangssignal des ODER-Gatters 80 seinen Zustand ändert Das hat zur
Folge, daß die Bildelemente auf der gegenwärtigen horizontalen Rasterzeile in der Helligkeit verändert werden,
indem die Strahlintensität beeinflußt wird. Wenn der x-Stopzähler 375 Bildelemente (250 x-Start + 125 Breite)
in der ersten aktiven horizontalen Zeile zählt, sendet der x-Stopzähler 81 ein Löschsignal zu dem Speicherflipflop
79, und das Signal an dessen (^-Ausgang nimmt wieder den Wert L an, wodurch die horizontale Positionsanzeigerlinie
beendet wird. Die Wiederholzahl für den Block B ist eins, wie es bei einem Positionsanzeigervektorsegment
der Fall ist, das auf einer einzelnen horizontalen Rasterzeile liegt
Wenn die nächste Horizontalaustastlütke erscheint, nachdem die Wiederholzahl für den Parameterblock B
erreicht ist, werden die Parameter des Blockes C gemeinsam aus dem FiFO-Speicher 55 in das x-Start-, das
Delta- und das Breitenregister 60, 61 bzw. 62 in dem Vektorgenerator 1 und in die entsprechenden Register
für einen Parametersatz in dem Vektorgenerator 2 überführt. Der Generator J verarbeitet die Daten für
den linken abgewinkelten Linienvektor des Positionsanzeigers auf dem Schirm 17. Die x-Startposition für das
erste in der Helligkeit veränderte Bildelement befindet sich in dem 250. Bildelement. Das ist der Parameterwert,
der in das x-Startpositionsregister 60 geladen wird. Die Breite der Linie oder des Vektorsegments auf einer horizontalen
Zeile beträgt drei Bildelemente, so daß der Wert 3 in das Breitenregister 62 geladen wird. Die
Schräge des linken abgewinkelten Vektors des Positionsanzeigers in F i g. 4 wird durch eine Deltaverschiebung
von — 1 angegeben und ist eine negative Zahl, weil die Verschiebung nach links erfolgt. Der Winkel der
linken Linie ist mit 45° gegen die Vertikale angegeben.
Dem Prozessor ist dieser Winkel durch die Steuervorrichtungen 43 eingegeben worden. Er befragt eine Tangententabelle
(nicht dargestellt) und stellt fest, daß die Tangente von 45° in diesem Beispiel gleich 1 ist Demgemaß
ist Delta gleich 1 und wird als ein negatives 2er-Komplement-Wort
ausgedrückt Der Parametersatz in der rechten Spalte des Blockes C wird in die entsprechenden
Register in dem Vektorgenerator 2 zu der gleichen Zeit geladen, zu der die Register in dem Vektorgenerator
1 aus dem FIFO-Speicher 55 geladen werden. Nach dem Verstreichen der Horizontalaustastlücke beginnt
der jr-Startzähler 76, der dem Vektorgenerator 1
zugeordnet ist zu zählen, und, wenn er den Zählwert von 250 Bildelementen für den Block C erreicht, nimmt ts
das Signal an dem (^-Ausgang des Speicherflipflops 79
den Wert H an, und das Schreiben des Positionsanzeigers auf der horizontalen Zeile des Schirms beginnt Der
x-Stopzähler 81 beginnt gleichzeitig mit dem *-Startzähler
zu zähleii, und, wenn der Breitenzähler den Zählwert
253 erreicht, nimmt das Signal an dem (^-Ausgang
des Speicherflipflops 79 wieder den Wert L an, und das Schreiben des Positionsanzeigers hört auf der besonderen
horizontalen Rasterzeile auf. Die Differenz zwischen 253 und 250 beträgt drei Bildelemente, was dem
Breitenparameter des linken abgewinkelten Vektors in dem Positionsanzeiger 51 nach Fig.4 entspricht Der
Vektorgenerator 2 arbeitet gleichzeitig mit dem Vektorgenerator 1, was auch für die Zähler und das Speicherflipflop
des Vektorgenerators 2 gilt Die Register des Vektorgenera*ors 2 sind mit dem x-Start-, dem Breiten-
und dem Deltaparameter in dem Parametersatz der rechten Spalte des Blockes C für den Vektor in dem
Positionsanzeiger 51, der abgewinkelt ist, geladen worden. Die x-Startposition für das ersiü horizontale Segment
des rechten Vektors befindet sich in dem Bildelement 372, und das Segment hört bei 375 auf, da die
Vektorlinienbreite wieder 3 Biidelemente beträgt
Wenn die nächste Horizontalaustastlücke bezüglich des linken abgewinkelten Vektors des Positionsanzeigers
erscheint, werden der x-Start- und der jr-Stopzähler
des Vektorgenerators 1 mit einer Zahl geladen, von der der Deltaparameterwert subtrahiert worden ist, da der
linke Vektor nach links abgewinkelt ist. Der Deltawert ist in diesem Fall — 1, wie oben angegeben. Die Zähler in
dem Vektorgenerator 2 werden mit ihren vorhergehenden Werten geladen, zu denen ein Deltawert von +1
addiert worden ist. Die Art und Weise, auf die die Deltawerte addiert und subtrahiert werden, wird im nächsten
Absatz erläutert. Die Wiederholzahl ist in diesem Fall 85, so daß, wenn 84 weitere Zyklen auftreten, die Wiederholzahllogik
feststellt, daß das Schreiben für den Block C abgeschlossen ist Der Block D wird dann aus
dem FIFO-Speicher 55 ausgelesen, zu welcher Zeit die Werte für x-Start, x-Breite und Delta alle null sind. Da
jedocn die Strecke vom unteren Ende des Positionsanzeigers bis zu der unteren Zeile des Rasters 256 horizontale
Zeilen beträgt, gibt es eine entsprechende Wiederholzahl von 256.
Die Art und Weise, auf die die Deltawerte addiert oder subtrahiert werden, wird nun beispielshalber unter
Bezugnahme auf die Ausführung des Parametersatzes in der linken Spalte des Blockes C in F i g. 4 durch den
Vektorgenerator 1 beschrieben. Es werden, wie weiter oben angegeben, wenn das Schreiben eines Vektors eingeleitet
wird, der eine vertikale Komponente hat, d. h. eine Komponente quer zu den Rasterzeilen, die x-Start-
und .v-Stopwerte direkt in den x-Positions- und den x-Stopzähler
76 bzw. 81 geladen. Der Rollsummenaddierer von F i g. 1 hält den Anfangs-jr-Startwert zu dieser
Zeit fest Für jede nachfolgende Rasterzeile ist zu dem Ausgangssignal des Rollsummenaddierers der als 2er-Komponent
ausgedrückte Deltawert in dem Register 61 addiert worden. Daher wird für jede horizontale Zeile
ein neuer Wert, der gleich der x-Startposition der vorhergehenden
Zeile plus oder minus Delta ist, in den Ar-Startpositionszähler 76 geladen. Es sei beachtet daß
Delta bei einem vertikalen Vektor null ist Da das Ausgangssignal 67 des Rollsummenaddierers 66 zu dem Eingang
68 des Multiplexers 64 zurückgeführt wird, kommt es für jede horizontale Zeile zu einer Addition oder
Subtraktion des Deltawertes zu bzw. von der vorherigen jc-Startposition. Der x-Stopwert wird entsprechend
erhöht, weil die Rollsumme von eins in den Summierers 71 eingegeben wird. Daher werden für jede horizontale
Zeile die Rollsummen- und die Breitenparameierwerte miteinander addiert und in den x-Stopzähler eingegeben.
Die Start- und Stoppositionen für eine Reihe von Bildelementen werden daher um den Wert von Delta,
ausgedrückt in Bildelementen für jede horizontale Zeile, verschoben, wenn Delta von Null verschieden ist
Aus der vorstehenden Beschreibung der F i g. 4 ist zu erkennen, daß jedesmal dann, wenn eine Änderung des
Deltawertes vorhanden ist, ein neuer Parameterblock erforderlich ist und daß das Erreichen der Rasterzeilenwiederholzahl
bestimmt, wann der neue Block aus dem FIFO-Speicher ausgelesen wird. Es kann jedoch sogar
ein sehr komplizierter Positionsanzeiger wie die in F i g. 6 gezeigte angenäherte Ellipse mit nur acht Parameterblöcken
erzeugt werden, wie es in F i g. 6 angegeben ist Beispielsweise können zwei Vektoren 100 und
101 erzeugt werden, indem die Vektorgeneratoren 1 und 2 gleichzeitig benutzt werden. Die Vektoren 102
und 103 können erzeugt werden, indem die Vektorgeneratoren 1 und 2 danach usw. bis über den Block 7 benutzt
werden. Die Datenblöcke würden jeweils einen eindeutigen Deltaparameterwsrt haken, da alle Vektoren,
aus denen die angenäherte Ellipse besteht einen Winkel mit der Vertikalen bilden. Die Parameter für die
Blöcke 1 und 8 würden selbstverständlich null sein, aber ihre Wiederholzahlen würden davon abhängig sein, wieviele
Abtastzeilen von der Oberseite und der Unterseite des Rasters die Ellipse zu einer besonderen Zeit angeordnet
ist, was durch die Dialogsteuervorrichtungen bestimmt wird.
Eine weitere bevorzugte Ausführungsform der Erfindung ist in F i g. 2 gezeigt. Schaltungskomponenten, die
denen in F i g. 1 entsprechen, tragen dieselbe Bezugszahlen. In der Ausführungsform nach Fig.2 erfüllt ein
Bit slice-Prozessor 106 alle Funktionen, die durch die
Schaltungsanordnungen, welche aus den Vektorgeneratoren 1 und 2 in der Ausführungsform nach F i g. 1 bestehen,
und durch die Wiederholzahllogik erfüllt werden. Der Bit-slice-Prozessor ist als ein einzelner Block
zwischen dem FIFO-Speicher 55 und den Zählerpaaren dargestellt, in einer praktischen Ausführungsform besteht
er aber aus drei Bit-slice-Prozessoren des Typs 2901, die von der Advanced Micro Devices, Sunnyvale,
CA, und von mehreren anderen Herstellern integrierter Schaltungen erhältlich sind. Bekanntlich basiert ein Bitslice-Prozessor
auf der Bipolartransistortechnologie und er verarbeitet deshalb Daten sehr schnell und führt
Rechenfunktionen sehr schnell aus.
Die gezeigte Bit-slice-Prozessoranordnung verarbeitet
Datenworte, die eine Breite von 12 Bit haben. Die Bit-slice-Prozessoranordnung in dieser Ausführungs-
form hat ausreichend Register, um das gleichzeitige
f Auslesen eines Parameterblockes für zwei Positionsanzeigervektoren
aus dem FIFO-Speicher 55 zu gestatten. Daher können der jr-Start-Bruchteil und die ganze x-Start-Zahl,
der Delta-Bruchteil und die ganze Delta— Zahl, der Breite-Bruchteil und die ganze Breite-Zahl für
die betreffenden Vektoren gleichzeitig aufgenommen werden. Die Bit-slice-Prozessoranordnung enthält 16
Register. Der Bit-sIice-Prozessor nach Fig.2 wird durch das Folgesteuerteil gesteuert, das durch den mit
} ι »Sequenzer« bezeichneten und mit der Bezugszahl 107
,, versehenen Block symbolisch dargestellt ist Wie in der
Ausführungsform nach F j g. 1 werden Parameterblöcke
für einen Positionsanzeiger, die durch den Mikroprozessor berechnet werden, durch die Verwendung des
K, DMA-Steuerteils 56 in den FIFO-Speicher 55 übertragen,
und zwar beginnend am Anfang der Vertikalaustastlücke nach der Berechnung. Wenn die erste Horizontalaustastlücke
für ein Fernsehhalbbild erscheint, \l wird der Parameterdatensatz oder worden die Parame-Γ'
terdatensätze in einem Block über den Bus Iß8 aus dem
'; FI FO-Speicher 55 parallel in den Bit-sIice-Prozessor 106
geladen. Typisch würde ein Parametersatz in einem t' Block aus sechs Worten, die aus ganzen Zahlen und
Bruchteilen aufgebaut sind, wie oben beschrieben, und aus einem zusätzlichen Wort, was sieben ergibt, für die
Wiederholzahl bestehen. Wenn wie in dem Bereich A des Positionsanzeigers nach F i g. 4 kein Positionsanzeiger
benötigt wird, sind die x-Start-, Breite- und Deltaparameter
alle in dem ersten Block null, der in den Bit-slice-Prozessor
über den Dateneingangsbus 108 geladen wird. Die Wiederholzahl in dem Block würde die Anzahl
der Zeilen ohne jedwedes Positionsanzeigersegment '> angeben. In einem solchen Fall stellt der Bit-slice-Prozessor
106 fest, indem er einfach nach dem Breitenparameterwert von null aliein schaut, daß kein Positionsanzeiger
benötigt wird, so daß er den Zählern während der Anzahl der horizontalen Zeilen, die durch die Wiederhoizahl
angegeben werden und auf denen kein Positionsanzeiger vorhanden ist, keine Daten liefert Der
Bit-slice-Prozessor verfolgt trotzdem die Wiederholzahl. Solange die Wiederholzahl in dem Bit-slice-Prozessor
nicht vollständig gezählt ist, erfolgt keine Übertragung eines Datenblockes aus dem FIFO-Speicher 55.
Wenn die IViederholzahl erreicht isi_ wird ein weiterer
Datenblock aus dem FIFO-Speicher 55 in die Bit-slice-Prozessorregister
in der nächsten folgenden Horizontalaustastlücke übertragen. Dann berechnet während
der aktiven Bild- oder Zeiienzeit der Bit-slice-Prozessor
den Startpunkl und den Stoppunkt auf einer horizontalen
Zeile für einen oder zwei Vektoren, wenn es Daten
für zwei in dem besonderen Block gibt Der Bit-slice-Prozessor lädt diese Werte während der Periode der
betreffenden horizontalen Zeile in die Zähler. Nach dem Laden der Daten während der Horizontalaustastperiode
berechnet er die x-Start- und x-Stopwerte für die nächste Rasterzeile, wobei er den Deltawert oder die
Deltawerte für den einen oder die beiden Vektoren kennt. Der Bit-slice-Prozessor ist also schnell genug, um
die Positionsanzeiger-Af-Start- und -x-Stöpwerte für je- so
de horizontale Zeile während der aktiven Bildzeit zu berechnen. Sobald die vorangehende horizontale Zeile
beendet ist, werden die berechneten Daten, die die x-Start- und die x-Stopposition des Positionsanzeigers auf
der nächsten horizontalen Zeile darstellen, in den x- e-5 Start- und den x-Stopzärksr geladen. Die Zähler und das
Speicherflipflop, die in dem gestrichelten Kasten 75 in Fig. 1 enthalten sind, haben ihr Äquivalent in F i g. 2, sie
sind aber durch den mit der Bezugszahl 109 versehenen Block ak eine Einheit dargestellt Das sind die Zählsr,
die dem Vektorgenerator 1 in F i g. 1 zugeordnet sind.
Ebenso sind die Zähler und das Speicherflipflop, die dem Vektorgenerator 2 in F i g. 1 zugeordnet sind, dem einzelnen,
mit der Bezugszahl 110 in Fig.2 versehenen Block äquivalent Das ODER-Gatter 80 in F i g. 2 erfüllt
dieselbe Funktion wie in der Ausführungsform nach
In der Ausführungsform nach F i g. 2 werden sämtliche Datenübertragungs- und -Verarbeitungsfunktionen,
die zu dem FIFO-Speicher, dem Bit-slice-Prozessor und den Zählern und Speicherflipflops gehören, durch ein
Folgesteuerteil gesteuert, das mit »Sequenzer« bezeichnet und symbolisch durch den mit der Bezugszahl 107
versehenen Block dargestellt ist Der Sequenzer empfängt Synchronsignale aus dem Takt- und Synchronisierungsgenerator
33, und der Synchronsignaleingang ist durch eineti Pfeil angegeben, der mit SYNCH. bezeichnet
ist Die Steuerleitungen sind irr «der Zeichnung bezeichnet
In den beiden Ausführungsformen nach den Fig. 1
und 2 können sehr komplexe Positionsanzeiger, die eine Anzahl von Parameterblöcken erfordern, die das Fassungsvermögen
des FIFO-Speichers 55 übersteigt, ohne Unterbrechungen erzeugt werden. Wie in einer tatsächlichen
Ausführungsform, in der die Parameterblöcke dem FIFO-Speicher entnommen werden, um einen Teil
eines Positionsanzeigers zu schreiben, weisen zusätzliche
Blöcke für den übrigen Positionsanzeiger aus dem RAM in den FIFO-Speicher 55 übertragen, indem der
Sequenzer 107 eine DMA-Anforderung macht, auf die das DMA-Steuerteil 56 antwortet indem es die Blockübertragung
veranlaßt Dei· Sequenzer 107 kann so programmiert
werden, daß er die Eingabe eines weiteren Blockes in den FIFO-Speicher aus dem RAM jedesmal
dann verlangt, wenn beispielsweise ein Block aus dem FIFO-Speicher ausgelesen wird. Der Sequenzer kann
auch so programmiert werden, daß nachgeladen wird, werm der FIFO-Speicher bis zur Hälfte geleert ist oder
in irgendeinem anderen Ladezustand ist mit Ausnahme des Zustands vollständiger Entladung. Diese Übertragungen
von zusätzlichen Parameterblöcken können während der aktiven Bildzeit stattfinde::, da das, was in
den FIFO-Speicher eingegeben wird, dessen Datenabgabe während einer Übertragung nicht nachteilig beeinflußt.
Es sei auch angemerkt, daß in den Ausführungsformen nach den F i g. 1 und 2, wenn der Benutzer irgendeine
der Dialogsteuervorrichtungen benutzt, beispielsweise um den Positionsanzeiger auf dem Schirm durch
Betätigen der Führungskugel 42 zu bewegen, alle durch den Mikroprozessor 21 berechneten Datenblöcke während
der aktiven Bildzeit sofort in den RAM 31 geladen werden. Während der Vertikalaustastlücke werden, wie
oben angegeben, diese Datenblöcke in den FIFO-Speicher geladen, und der Positionsanzeiger wird in seiner
neuen Position innerhalb der nächsten Fernsehhalbbildzeit in seiner neuen Position erzeugt.
Dem Elektronikfachmann dürfte nunmehr auch klar sein, daß mehr Parametersätze in einem einzelnen Parameterblock
zum Schreiben von Positionsanzeigersegmenten, die aus mehr als zwei vertikalen oder abgewinkelten
Vektoren statt .aus zwei wie in dem Beispiel nach F i g. 4 bestehen, erzielt werden können, indem ein nicht
gezeigter Bit-slice-Prozessor des Typs 2903 statt des zur Veranschaulichung der Erfindung benutzten Typs 2901
benutzt wird. Der Bit-slice-Prozessor des Typs 2903
21
kann ausreichend Register enthalten, um die mehreren Sätze von Parametern in einem Block gleichzeitig zu
speichern, und ist in der Lage, die jr-Start- und x-Stopwerte zum gleichzeitigen Laden von mehr als zwei Zählerpaaren zu berechnen, so daß Vektoren, die in hori- 5
zontaler Richtung des Bildschirms gegeneinander verschoben sind, geschrieben werden können.
Es sind zwar Ausführungsformen eines Positionsanzeigergenerators, bei denen ein Parameterblock- und
Wiederholzahlschema benutzt wird, um die Datenmen- 10 ge zu reduzieren, die ein Mikroprozessor berechnen
muß, um einen Positionsanzeiger festzulegen, ausführlich beschrieben worden, diese Beschreibung ist jedoch
lediglich in erläuterndem und nicht in einschränkendem Sinn zu verstehen. 15
20
25
30
35
40
45
50
55
60
65
Claims (5)
1. Positionsanzeigergenerator für ein System mit einem Fernsehmonitor (18), dessen Schirm (17) s
durch einen bildformenden Strahl in einem Raster abgetastet wird und der eine Eingangseinrichtung
(25) für Videosignale, die eine Aufeinanderfolge von Bildelementen darstellen, welche mit einer festen
Frequenz geliefert werden, um das Bild in den horizontalen Abtastzeüen zu erzeugen, und für Signale
hat, die die Intensität des Strahls verändern, um einen
Positionsanzeiger auf dem Schirm (17) zu schreiben,
15
— einem Prozessor (21),
— einem lesbaren Speicher (31, 32), der mit dem
Prozessor verbunden ist, um ein oder mehrere Programme zum Steuern des Prozessors zu
speichern und einen oder mehrere Parameterblöcke in Digitalzahlform zu erzeugen, die das
Vorhandensein oder NichtVorhandensein von einem oder mehreren Vektoren, die einen Positionsanzeiger
auf dem Schirm (17) bilden, darstellen,
— wobei jeder Parameterblock einen jr-Startparameter,
der die Lage einer horizontalen Zeile angibt, wo eine Intensitätsveränderung von einem
oder mehreren aufeinanderfolgenden Bildelementen beginnen soll, und einen Breitenparameter
enthält, der die Lage auf der Zeile darstellt, wo uie Veränderung aufhören soll, so daß
die Breite eines Vefetorsep-nents festgelegt ist,
das aus einem oder mehreren veränderten Bildelementen
besteht,
— einer Einrichtung (29) zum Erzeugen von Taktsignaien
zum Festlegen der Bildelementfrequenz,
— einem ersten Paar von x-Start- und x-Stoppositionszählern
(76, 81), die durch die Taktsignale gesteuert werden, um mit der Bildelementfrequenz
zu zählen, wobei die x-Start- und x-Stopparameter geladen werden, wenn die erste Horizontalaustastlücke
auftritt, woran sich das Einlesen der Parameter in die Register anschließt, damit die Zähler mit der Bildelementfrequenz
zu zählen beginnen, wenn die Austastlücke endet, wobei, wenn der x-Startzähler die
Anzahl der Bildelemente zählt, die dem x-Startwert entsprechen, die Veränderung der Intensitat
des Strahls bewirkt wird, und wobei, wenn der jr-Stopzähler die Zahl der Bildelemente
zählt, die dem *-Stopwert entsprechen, die Veränderung beendet wird,
dadurch gekennzeichnet, daß
55
— jeder Parameterblock ferner einen Deltaparameter, der der Anzahl der Bildelemente der
Segmente entspricht, die von einer horizontalen Abtastzeile zur nächsten zu verschieben sind,
und einen Wiederholzahlparameter enthält, der der Zahl der aufeinanderfolgenden horizontalen
Abtastzeüen entspricht, in denen das Segment zu schreiben ist,
— ein FIFO- oder Silospeicher (55) mit einer Einrichtung
zum Eingeben der ParamelerbJöcke in der Reihenfolge, in der sie erzeugt werden, und
mit einer Ausgangseinrichtung vorgesehen ist, aus der die Blöcke in entsprechender Reihenfolge
auslesbar sind,
— eine Schaltungsanordnung (1) zwischen den Zählern (76, 81) und dem FIFO-Speicher (55)
mit Einrichtungen (64, 66, 71) angeordnet ist zum Ausführen von Rechen- und Steueroperationen
und zum Zählen der Wiederholzahl, (bis die Zahl der horizontalen Zeilen gleich der Wiederholzahl
ist, und mit Registern (60,61, 62), in die ein erster Satz Parameter in einem Block am
Ausgang des FIFO-Speichers (55) parallel eingelesen wird, wobei die Zähler von der Schaltungsanordnung
mit den x-Start- und *-Stopparameterwerten
geladen werden, wenn die erste Horizontalaustastlücke auftritt,
— wobei die Schaltungsanordnung (1) den Deltaparameterwert zu den x-Start- und *-Stopwerten
für eine vorangehende horizontale Zeile addiert und die Ergebnisse während der nachfolgenden
Horizontalaustastlücke in die betreffenden Zähler (76, 81) lädt, um ähnliche Veränderungen
des Strahls zu bewirken, wobei die Zähler mit x-Start- und x-Stopwerten so oft geladen
werden, wie es dem Wert des Wiederholzahlparameters in dem Block entspricht
2. Generator nach Anspruch 1, gekennzeichnet durch:
einen Speicher (31) mit wahlfreiem Zugriff,
einen Bus (30), mit dem der Speicher (31) mit wahlfreiem Zugriff und die Eingangseinrichtung des FIFO-Speichers (55) verbunden sind,
Benutzerdialogsteuervorrichtungen (42, 43, 44, 45) und eine Einrichtung (40), die eine Schnittstelle zwischen den Steuervorrichtungen und dem Bus (30) bildet, wobei die Steuervorrichtungen eine mlanucl! bewegbare Vorrichtung (42) umfassen, mittels welcher sich dem Prozessor (21) Signale liefern lassen, die gewünschte neue Positionen eines Positionsanzeigers auf dem Fernsehschirm (17) angeben, wobei der Prozessor (21) auf diese Signale anspricht, indem er die Parameterblöcke für die neuen Positionen erzeugt und sie in dem Speicher (31) mit wahlfreiem Zugriff während folgender Fernsehvertikalaustastlücken speichert, und
einen Bus (30), mit dem der Speicher (31) mit wahlfreiem Zugriff und die Eingangseinrichtung des FIFO-Speichers (55) verbunden sind,
Benutzerdialogsteuervorrichtungen (42, 43, 44, 45) und eine Einrichtung (40), die eine Schnittstelle zwischen den Steuervorrichtungen und dem Bus (30) bildet, wobei die Steuervorrichtungen eine mlanucl! bewegbare Vorrichtung (42) umfassen, mittels welcher sich dem Prozessor (21) Signale liefern lassen, die gewünschte neue Positionen eines Positionsanzeigers auf dem Fernsehschirm (17) angeben, wobei der Prozessor (21) auf diese Signale anspricht, indem er die Parameterblöcke für die neuen Positionen erzeugt und sie in dem Speicher (31) mit wahlfreiem Zugriff während folgender Fernsehvertikalaustastlücken speichert, und
ein Steuerteil (56), das den Beginn der Übertragung der Blöcke aus dem Speicher mit wahlfreiem Zugriff
in den FIFO-Speicher (55) während der Verlikalaustastlücke bewirkt.
3. Generator nach Anspruch 1 oder 2, gekennzeichnet durch:
zusätzliche Paare von x-Start- und x-Stoppositionszählern
(87), die auf die Taktsignale hin mit der Bildelementfrequenz zählen,
eine zusätzliche Schaltungsanordnung (86), die zwischen dem Ausgang des FIFO-Speichers (55) und
den Zählern (87) angeordnet ist, wobei die Register der zusätzlichen Schaltungsanordnung mit einem
zusätzlichen Satz von x-Startpositions-, Breiten- und Deltaparametern gleichzeitig mit dem Laden der
Register in der ersten Schaltungsanordnung (1) mit dem ersten Satz von Parametern in demselben Block
geladen werden, wobei die Zähler (87) in den zusätzlichen Paaren aus der zusätzlichen Schaltungsanordnung
(86) mit den Ar-Start- und den x-Stopparameterwerten geladen werden, wenn der erste Horizontalaustastimpuls
für den zusätzlichen Satz von Zählern
3 4
erscheint damit das Zählen mit der Bildelementfre- Die Erfindung bezieht sich auf eine Anordnung der im
quenz beginnt, wenn die Austastlücke endet, wobei, Oberbegriff des Patentanspruchs 1 genannten Art zum
wenn der x-Startzähler die Zahl der Bildelemente Erzeugen von Positionsanzeigern, die einem rasterabzählt,
die dem *-Startwert entspricht, die Verände- getasteten Fernsehbildschirm überlagert werden, um in
rung der Intensität des Strahls bewirkt und, wenn 5 dem Bild, das auf dem Schirm angezeigt wird, auf ausgeder
x-Stopzähler die Zahl der Bildelemente zählt, die wählte Bereiche zu zeigen oder diese darzustellen,
dem jf-Stopwert entspricht, die Beendigung der Ver- Aufgabe der Erfindung ist es, bei hoher Bildpunktzahl änderung bewirkt, für die Bildsteuerung und die zusätzliche Steuerung eiwobei die zusätzliche Schaltungsanordnung (86) den nes Positionsanzeigergenerators nur einen gemeinsa-Deltaparameterwert in dem zusätzlichen Satz von io men Prozessor als Zentraleinheit aufzuwenden.
Parametern des Blockes zu den jr-Start- und *-Stop- Die Lösung dieser Aufgabe besteht in der im Patentwerten für eine vorhergehende horizontale Zeile ad- ansprach 1 gekennzeichneten Ausbildung des Positionsdiert, damit die Ergebnisse während der nachfolgen- anzeigergenerators.
dem jf-Stopwert entspricht, die Beendigung der Ver- Aufgabe der Erfindung ist es, bei hoher Bildpunktzahl änderung bewirkt, für die Bildsteuerung und die zusätzliche Steuerung eiwobei die zusätzliche Schaltungsanordnung (86) den nes Positionsanzeigergenerators nur einen gemeinsa-Deltaparameterwert in dem zusätzlichen Satz von io men Prozessor als Zentraleinheit aufzuwenden.
Parametern des Blockes zu den jr-Start- und *-Stop- Die Lösung dieser Aufgabe besteht in der im Patentwerten für eine vorhergehende horizontale Zeile ad- ansprach 1 gekennzeichneten Ausbildung des Positionsdiert, damit die Ergebnisse während der nachfolgen- anzeigergenerators.
den Horizontalaustastlücke in die betreffenden zu- Der neue Positionsanzeigergenerator ist bei jeder rasätzlichen
Zähler (87) geladen werden, uai ähnliche 15 sterabgetasteten Fernsehanzeige verwendbar und ist
Veränderungen des Strahls zu bewirken, wobei die insbesondere in Verbindung mit Anzeigen von Rönt-Zähler
mit den jr-Start- und *-Stopwerten so oft ge- genbildern von Nutzen, die mit Computertomographieladen
werden, wie es dem Wert des Wiederholzahl- geräten erzielt werden. Bei Computertomographiegeräparameters
in dem Block entspricht ten ist es erwünscht, dem Benutzer die Möglichkeit zu
4. Generator nach einem der Ansprüche 1 bis 3, 20 geben, auf Jem Bild eines anatomischen Gebietes, das
dadurch gekennzeichnet daß die Schaltungsanord- auf einem Rasterabgetasteten Fernsf£schirm angezeigt
nung (1,86) enthält: wird, einen Positionsanzeiger, wie beispielsweise ein
einen Rollsummenaddierer (66) mit einem Ausgang Rechteck, ein Quadrat ein Fadenkreuz, eine horizontale
(67), der mit dem Eingang des ^r-Startpositionszäh- Linie, eine vertikale Linie oder eine abwinkelbare vertilers
(76) verbunden ist und mit mehreren Eingängen 25 kale Linie, zu schreiben. In den fortschrittlichsten Posi-(65,
69), von denen einer mit dem Register (61) zum tionsan:;cigergeneratorsystemen werden die Daten zum
Speichern des Deltaparameters für einen Satz von Schreiben eines Positionsanzeigers auf dem Bildschirm
Parametern in einem Block verbunden ist einen mit einem Mikroprozessor erzeugt der zweckbestimmt
Multiplexer (64) der einen Ausgang (65) hat welcher ist d. h. ausschließlich zur Positionsanzeigererzeugung
mit einem anderen Eingang des Rollsummenaddie- 30 benutet wird. Das hier beschriebene neue Positionsanrers
verbunden ist und mit mehreren Eingängen (63, zeigergeneratorsystem handhabt die Positionsanzeiger-68),
von denen einer mit dem Register (60) zum Spei- daten auf derartige Weise und mit derartiger Geschwinchern
des x-Startpositionsparameters für den einen digkeit daß die Positionsanzeiger als eine der Funktio-Satz
von Parametern in dem Block verbunden ist nen eines Mikroprozessors erzeugt werden können, der
und von denen der andere mit dem Ausgang (67) des 35 außerdem viele andere Steuerfunktionen getrennt von
Rollsummenaddierers verbunden ist der Positionsanzeigererzeugung erfüllt
einen Summierer (7i), der einen Ausgang (74) hat, Ein bekannter Typ eines mikroprozessorgestützten
welcher mit dem x-Stoppositionszähler verbunden Positionsanzeigergeneratorsystems ist in der US-PS
ist, und mehrere Eingänge (70, 72), von denen einer 42 59 725 beschrieben, auf die hier Bezug genommen
mit dem Register (62) zum Speichern des Breitenpa- 40 wird. Diese Patentschrift beschreibt das Erzeugen von
rameters für einen Satz von Parametern in dem Positionsanzeigern mit einem zweckbestimmten MikroBlock
und der andere mit dem Ausgang (67) des prozessor. In dem in dieser Patentschrift beschriebenen
Rollsummenaddierers (66) verbunden ist, System wählt der Benutzer eine besondere Positionsanwobei
der Rollsummenaddierer (66) eine Summie- zeigerkonfiguration aus, indem er mit ihm in Dialog
rung des Deltaparameterwertes und seines Aus- 45 tretende Vorrichtungen benutzt wie beispielsweise eigangssignals
für die vorhergehende horizontale Zei- nen Führungskugelcodierer und Schalter. Codierte In-Ie
ausführt und wobei der Summierer (71) das Ergeb- formation, die die Konfiguration, die Größe und die
nis jeder Summierung zu dem x-Stopwert addiert Lage des Positionsanzeigers angibt, wird in einen Spei-
5. Generator nach Anspruch 1 und 2, dadurch ge- eher mit wahlfreiem Zugriff (RAM) eingegeben, der mit
kennzeichnet, daß die Schaltungsanordnung zum 50 einem zweckbestimmten Mikroprozessorbus verbun-Ausführen
von Rechenoperationen und zum Zählen den ist Der Mikroprozessor hat Zugriff auf Befehle in
der Wiederholzahl einen Bit-slice-Prozessor (106) einem Festwertspeicher (ROM) zum Erzeugen der Pos:·
enthält in den die Parameter für einen Block aus tionsanzeigerdaten. Während einer FernsehvertikalausdemFIFO-Speicher(55)
eingegeben werden und aus tastlückc· werden die digitalen Daten zum Bilden und
dem die x-Start- und *-Stopwerte an die Zähler (109, 55 Einstellen eines vollständigen Positionsanzeigers ic ei-110)
abgegeben werden, und ein Folgesteuerteil nem weiteren Speicher mit wahlfreiem Zugriff gespei-
(107) zum Steuern des Steuerteils (56) zum Bewirken chert Wenn der Benutzer den Positionsanzeiger beder
Übertragung von Parameterblöcken in den FI- wegt, indem er die Führungskugel betätigt werden die
FO-Speicher (55), um den Bit-slice-Prozessor (106) Daten zum ErzeUf ^n des Positionsanzeigers in seiner
zu steuern, den Parameterblock an dem Ausgang ω neuen Lage in dem Speicher mit wahlfreiem Zugriff
des FIFO-Speichers zu lesen und die Rechenopera· während des nächsten Vertikalaustastimpulses gespeitionen
auszuführen und das Laden der x-Start- und chert. Daten zum Bilden der erhellten BücMeinente, die
x-Stopwerte in die Zähler (109, 110), während der den Positionsanzeiger für jede Fernsehrasterzeile bil-Horizontalaustastlücken
zu laden. den, müssen gleichzeitig in dem Speicher mit wahlfrei-
65 em Zugriff gespeich.-rt werden. Daher müssen wenig-
stens ebenso viele Speicherplätze in dem Speicher mit
wahlfreiem Zugriff verfügbar sein wie horizontale Rasterzeilen vorhanden sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/336,751 US4454507A (en) | 1982-01-04 | 1982-01-04 | Real-time cursor generator |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3248451A1 DE3248451A1 (de) | 1983-07-14 |
DE3248451C2 true DE3248451C2 (de) | 1986-07-10 |
Family
ID=23317490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3248451A Expired DE3248451C2 (de) | 1982-01-04 | 1982-12-29 | Positionsanzeigergenerator und damit ausgerüstetes Fernsehmonitorsystem |
Country Status (3)
Country | Link |
---|---|
US (1) | US4454507A (de) |
JP (1) | JPS58136091A (de) |
DE (1) | DE3248451C2 (de) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4574358A (en) * | 1982-09-14 | 1986-03-04 | Mobil Oil Corporation | Monitor display control |
EP0112414B1 (de) * | 1982-12-22 | 1987-09-09 | International Business Machines Corporation | Bildtransformationen auf einem interaktiven Rastorabtast- oder Matrixbildschirm |
US4679038A (en) * | 1983-07-18 | 1987-07-07 | International Business Machines Corporation | Band buffer display system |
US4668947A (en) * | 1983-08-11 | 1987-05-26 | Clarke Jr Charles J | Method and apparatus for generating cursors for a raster graphic display |
US4622641A (en) * | 1983-09-13 | 1986-11-11 | International Business Machines Corp. | Geometrical display generator |
US4620288A (en) * | 1983-10-26 | 1986-10-28 | American Semiconductor Equipment Technologies | Data handling system for a pattern generator |
US4839805A (en) * | 1983-11-17 | 1989-06-13 | General Electric Company | Dual control of image level and window parameters of a display and the like |
US4563740A (en) * | 1983-11-17 | 1986-01-07 | General Electric Company | Method and means for automatically variably controlling display parameters |
DE3370706D1 (en) * | 1983-12-22 | 1987-05-07 | Ibm | Raster-scanned cathode ray tube display with cross-hair cursor |
US4663618A (en) * | 1983-12-22 | 1987-05-05 | Rockwell International Corporation | Arbitrary raster blanking circuit |
JPS60211495A (ja) * | 1984-04-05 | 1985-10-23 | 三洋電機株式会社 | Crt表示装置 |
US4660154A (en) * | 1984-04-06 | 1987-04-21 | Tektronix, Inc. | Variable size and position dialog area display system |
JPS60251473A (ja) * | 1984-05-19 | 1985-12-12 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 作表方式 |
US4559557A (en) * | 1984-06-01 | 1985-12-17 | General Electric Company | Region-of-interest digital subtraction angiography |
US4706074A (en) * | 1986-01-17 | 1987-11-10 | International Business Machines Corporation | Cursor circuit for a dual port memory |
JPS6334586A (ja) * | 1986-07-30 | 1988-02-15 | シャープ株式会社 | 文字処理装置 |
US4786967A (en) * | 1986-08-20 | 1988-11-22 | Smith Engineering | Interactive video apparatus with audio and video branching |
US4785399A (en) * | 1987-03-03 | 1988-11-15 | International Business Machines Corporation | Shaping geometric objects by cumulative translational sweeps |
US5019806A (en) * | 1987-03-23 | 1991-05-28 | Information Appliance, Inc. | Method and apparatus for control of an electronic display |
US5185597A (en) * | 1988-06-29 | 1993-02-09 | Digital Equipment Corporation | Sprite cursor with edge extension and clipping |
JPH03105385A (ja) * | 1989-09-20 | 1991-05-02 | Hitachi Ltd | 表示制御装置 |
US5146211A (en) * | 1990-08-10 | 1992-09-08 | Ncr Corporation | Bit mapped color cursor |
US5051816A (en) * | 1990-10-29 | 1991-09-24 | At&T Bell Laboratories | Pixel generator test set |
US5345252A (en) * | 1991-07-19 | 1994-09-06 | Silicon Graphics, Inc. | High speed cursor generation apparatus |
ATE161352T1 (de) * | 1992-09-04 | 1998-01-15 | Canon Kk | Verfahren und einrichtung zur steuerung einer anzeige |
US5586243A (en) * | 1994-04-15 | 1996-12-17 | International Business Machines Corporation | Multiple display pointers for computer graphical user interfaces |
US5473343A (en) * | 1994-06-23 | 1995-12-05 | Microsoft Corporation | Method and apparatus for locating a cursor on a computer screen |
US5877750A (en) * | 1996-09-17 | 1999-03-02 | International Business Machines Corporation | Method and apparatus for in-place line width selection for graphics applications |
US5982397A (en) * | 1997-11-14 | 1999-11-09 | Philips Electronics North America Corporation | Video graphics controller having locked and unlocked modes of operation |
US6337701B1 (en) * | 1999-01-29 | 2002-01-08 | International Business Machines Corp. | Apparatus for hardware support of software color cursors and method therefor |
US7116374B2 (en) * | 2003-08-26 | 2006-10-03 | Koplar Interactive Systems International, L.L.C. | Method and system for enhanced modulation of video signals |
US7664175B1 (en) * | 2004-06-16 | 2010-02-16 | Koplar Interactive Systems International, L.L.C. | Mark-based content modulation and detection |
US8798133B2 (en) * | 2007-11-29 | 2014-08-05 | Koplar Interactive Systems International L.L.C. | Dual channel encoding and detection |
TW201205110A (en) * | 2010-07-27 | 2012-02-01 | Inst Nuclear Energy Res Atomic Energy Council | Method of coincidence detection and tomography system using the same |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3821731A (en) * | 1971-06-07 | 1974-06-28 | Ann Arbor Terminals Inc | Graphics display system and method |
GB1401022A (en) * | 1972-03-10 | 1975-07-16 | Elliott Brothers London Ltd | Display apparatus |
US3870922A (en) * | 1972-05-02 | 1975-03-11 | Nippon Electric Co | Graphic pattern generation for a tv-like scanned-graphic display equipment |
US3891982A (en) * | 1973-05-23 | 1975-06-24 | Adage Inc | Computer display terminal |
US3996585A (en) * | 1974-06-11 | 1976-12-07 | International Business Machines Corporation | Video generator circuit for a dynamic digital television display |
US4205389A (en) * | 1976-09-24 | 1980-05-27 | General Electric Company | Apparatus for generating a raster image from line segments |
US4259725A (en) * | 1979-03-01 | 1981-03-31 | General Electric Company | Cursor generator for use in computerized tomography and other image display systems |
US4241341A (en) * | 1979-03-05 | 1980-12-23 | Thorson Mark R | Apparatus for scan conversion |
US4228432A (en) * | 1979-08-28 | 1980-10-14 | The United States Of America As Represented By The Secretary Of The Navy | Raster scan generator for plan view display |
-
1982
- 1982-01-04 US US06/336,751 patent/US4454507A/en not_active Expired - Fee Related
- 1982-12-28 JP JP57227829A patent/JPS58136091A/ja active Granted
- 1982-12-29 DE DE3248451A patent/DE3248451C2/de not_active Expired
Also Published As
Publication number | Publication date |
---|---|
US4454507A (en) | 1984-06-12 |
JPS58136091A (ja) | 1983-08-12 |
JPS6365150B2 (de) | 1988-12-14 |
DE3248451A1 (de) | 1983-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3248451C2 (de) | Positionsanzeigergenerator und damit ausgerüstetes Fernsehmonitorsystem | |
DE2950712C2 (de) | Einrichtung zur Erzeugung eines elektronischen Hintergrundrasters | |
DE3346458C2 (de) | ||
DE69011002T2 (de) | Bildverschiebung mit variabler Geschwindigkeit. | |
DE2654050C3 (de) | Taktsignalsteuersystem eines Mikrocomputersystems | |
DE3779718T2 (de) | Datendarstellung in aequivalenter zeit. | |
DE2438202B2 (de) | Vorrichtung zur Erzeugung eines vorbestimmten Textes von Zeicheninformation, welche auf dem Bildschirm einer Videowiedergabeeinheit darstellbar ist | |
DE3625390A1 (de) | Graphisches anzeigesystem mit beliebiger rberlappung von bildausschnitten | |
DE2261141C3 (de) | Einrichtung zur graphischen Darstellung von in einem Computer enthaltenen Daten | |
DE2827105B2 (de) | Einrichtung zum kontinuierlichen Verändern der Größe von auf einem Raster-Bildschirm wiedergegebenen Objekten | |
EP0137208A2 (de) | Verfahren zur Umwandlung eines Eingangsbitstromes | |
DE3043100C2 (de) | ||
DE2438203C3 (de) | Anzeigeeinrichtung | |
DE3418624C2 (de) | ||
DE1774682A1 (de) | Einrichtung zur sichtbaren Datenwiedergabe | |
DE2833175A1 (de) | Signalgenerator fuer ein anzeigesystem | |
DE2737354A1 (de) | Einrichtung zur graphischen darstellung von funktionen auf einem aufzeichnungsmedium | |
DE2324063C3 (de) | Pufferspeichereinrichtung | |
DE69215719T2 (de) | Digitaler Generator eines Randes um ein einem Hintergrund überlagertes Objekt | |
DE69031361T2 (de) | Taktsignalgeneratorsystem | |
DE3031964A1 (de) | Rechnersystem, bei dem sich der programmspeicher zum durchlaufen eignet, wobei einem befehl nicht zugeordnete daten einzeln detektiert werden | |
DE2724094B2 (de) | Kathodenstrahl-Anzeigevorrichtung | |
DE4027180C2 (de) | Vorrichtung zum Erzeugen von Vertikalrolladressen | |
DE3305709A1 (de) | Verfahren zur steuerung der lichtemissionsintensitaet in einer kurvenschreibervorrichtung und vorrichtung zur durchfuehrung des verfahrens | |
DE2625840A1 (de) | Radaranzeigesystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |