DE3248451C2 - Positionsanzeigergenerator und damit ausgerüstetes Fernsehmonitorsystem - Google Patents

Positionsanzeigergenerator und damit ausgerüstetes Fernsehmonitorsystem

Info

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
Application number
DE3248451A
Other languages
English (en)
Other versions
DE3248451A1 (de
Inventor
Arthur Kenneth Waukesha Wis. Collins
Robert Ray Milwaukee Wis. Lijewski
Royal Ray Wales Wis. Morse III
Nallaswamy Waukesha Wis. Srinivasan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
General Electric Co
Original Assignee
General Electric Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by General Electric Co filed Critical General Electric Co
Publication of DE3248451A1 publication Critical patent/DE3248451A1/de
Application granted granted Critical
Publication of DE3248451C2 publication Critical patent/DE3248451C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/42Control 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/08Cursor 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-
GiuigüratiGn aüSniSv.ii£n. uZT X-otOpZofii£T ο λ ιιαΐ
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
Hierzu 4 Blatt Zeichnungen
20
25
30
35
40
45
50
55
60
65

Claims (5)

Patentansprüche:
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
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.
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.
DE3248451A 1982-01-04 1982-12-29 Positionsanzeigergenerator und damit ausgerüstetes Fernsehmonitorsystem Expired DE3248451C2 (de)

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)

* Cited by examiner, † Cited by third party
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
US4563740A (en) * 1983-11-17 1986-01-07 General Electric Company Method and means for automatically variably controlling display parameters
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
EP0146657B1 (de) * 1983-12-22 1987-04-01 International Business Machines Corporation Nach dem Rasterverfahren arbeitende Kathodenstrahlanzeigeeinrichtung mit einem Fadenkreuzcursor
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
DE69315794T2 (de) * 1992-09-04 1998-05-07 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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
DE3248451A1 (de) 1983-07-14
JPS6365150B2 (de) 1988-12-14
US4454507A (en) 1984-06-12
JPS58136091A (ja) 1983-08-12

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
DE2503851A1 (de) Vorrichtung zur herstellung einer gerasterten reproduktion eines bildes
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
DE4027180C2 (de) Vorrichtung zum Erzeugen von Vertikalrolladressen
DE2724094A1 (de) Kathodenstrahl-anzeigevorrichtung
DE3305709A1 (de) Verfahren zur steuerung der lichtemissionsintensitaet in einer kurvenschreibervorrichtung und vorrichtung zur durchfuehrung des verfahrens

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