-
Datenverarbeitungsanlage zur Verarbeitung von Bilddaten.
-
Die Erfindung betrifft eine Datenverarbeitungsanlage zur Verarbeitung
von Daten, die die Helligkeitsinformation der Bildelemente von Bildern darstellen,
mit einem diese Daten aufnehmenden Arbeitsspeicher.
-
In der digitalen Informationsverarbeitung spielen in zunehmendem Maße
Bilder eine wichtige Rolle. Bildinformation wird im einfachsten Falle dargestellt
durch eine Anzahl von Datenwörtern, die die kodierten Grauwerte eines Bildes darstellen.
Diese Datenwörter bilden beispielsweise in einem Speicher eine zweidimensionale
Datenmatrix aus einigen Tausenden bis zu mehreren Millionen Matrixelementen. Die
Grundfunktionen der Verarbeitung von Bildinformationen sind Erfassung und Speicherung
von Bildern, Anwendung mathematischer Operationen auf Bilder (z.B. zur Synthese
von Bildern aus nicht-bildhafter Primärinformation, zur Filterung von Bildern oder
zur Analyse des Bildinhaltes) sowie die Wiedergabe von Bildern. Für die Durchführung
der verschiedenartigen Verarbeitungsschritte bei der Realisierung dieser Grundfunktionen
sind Rechengeräte notwendig, die die Datenmatrizen der angegebenen Größe genügend
schnell verarbeiten können. Insbesondere ist in vielen Fällen eine Verarbeitungsgeschwindigkeit
erwünscht, bei der die Anzahl der verarbeiteten Bildelemente pro Zeiteinheit gleich
ist der Anzahl Bildelemente,
die in der gleichen Zeit mittels einer
handelsüblichen Fernsehkamera aufgenommen oder auf einem handelsüblichen Bildschirm
dargestellt werden.
-
Zur Verarbeitung von Bilddaten ist es einerseits üblich, allgemeine
Vielzweckrechner einzusetzen. Diese können leicht auf die unterschiedlichsten Aufgabenbzw
Bildoperationen programmiert werden. Dies hat jedoch der Nachteil, daß die Verarbeitungsgeschwindigkeit
bei den ersten #ten tnlgen zu gering ist, so daß verhältnismäßig lar;ls;e MTartezeiten
erforderlich werden und eine Echtzeit-Bildverarbeitung nicht möglich ist, sofern
nicht außergewöhnlich große Anlagen verwendet werden, die jedoch für die meisten
Anwendungsfälle der Bildverarbeitung viel zu teuer sind. Die Rechengeschwindigkeit
von kleineren Vielzweckrechnern läßt sich zwar durch zusätzliche spezielle Rechenelemente
erhöhen, jedoch wird dann auch der Aufwand wesentlich größer. Eine andere Möglichkeit
besteht darin, wenn besonders kostengünstige Lösungen gefordert werden, problemangepasste
Spezialrechner zu entwickeln, die jedoch einerseits einen hohen Entwicklungsaufwand
erfordern und andererseits nicht anpassungsfähig an veränderte Aufgabenstellungen,
d.h. an modifizierte oder grundsätzlich unterschiedliche Bildoperationen, sind.
-
Aufgabe der Erfindung ist es daher, eine Datenverarbeitungsanlage
zur Verarbeitung von Bilddaten anzugeben, die eine sehr hohe Rechengeschwindigkeit
ermöglicht und. andererseits an unterschiedliche Aufgaben leicht anpassbar ist und
ein günstiges Verhältnis von Aufwand zu Leistung bietet.
-
Diese Aufgabe wird erfindungsgemäß bei der eingangs genannten Datenverarbeitungsanlage
gelöst durch - einen Arbeitsspeicher, der die Daten aller Bildelemente mindestens
eines Bildes gleichzeitig speichert, - mehrere Recheneinheiten, die über einen gemeinsamen
Datenbus und einen gemeinsamen Adressenbus mit dem Ar-
beitsspeicher
verbunden sind und von denen jede Recheneinheit eine andere festgelegte Verarbeitung
von Daten des Bildes bzw. der Bilder (Bildoperation) selbstständig durchführt und
einen eigenen Adressengenerator enthält, der die durch die Bildoperation bestimmte
Folge der Adressen des Arbeitsspeichers erzeugt und diesem über den Adressenbus
zuführt, und eine Steuereinheit 9 die mit den Recheneinheiten über Steuerleitungen
verbunden ist und durch darauf übertragene Steuersignale mindestens den Start und
da Ende der Durchführung der Bildoperation in den Recheneinheiten steuert und durch
darauf übertragene Zustandssignale-Zustandsmeldungen der Recheneinheiten empfängt.
-
Ein wesentliches Element der erfindungsgemäßen Datenverarbeitungsanlage
ist der Arbeitsspeicher, auf den alle Recheneinheiten zugreifen können und der die
Daten aller Bildelemente mindestens eines Bildes gleichzeitig speichert, während
bei bekannten Anlagen stets kleinere Speicher verwendet werden, die jeweils nur
einen Teil der Daten eines Bildes enthalten, wobei der Rest der Bilddaten bzw. die
gesamten Bilddaten auf einem Großraumspeicher wie z.B. eine Magnetplatte gespeichert
sind und nach Bedarf in den Arbeitsspeicher eingelesen werden. Dies erfordert einen
erheblichen Zeitaufwand, wodurch die Verarbeitungsgeschwindigkeit bekannter Anlagen
stark reduziert wird. Ferner sind für die unterschiedlichen Bildoperationen jeweils
spezielle, optimal angepasste Recheneinheiten vorgesehen, die nur solche Elemente
enthalten, die für die Durchführung der Bildoperation unbedingt notwendig sind.
Dazu gehört erfindungsgemäß auch ein Adressengenerator. Da bei verschiedenen Bildoperationen
die Daten der Bildelemente eines Bildes bzw. mehrerer Bilder in sehr unterschiedlicher
Reihenfolge verarbeitet werden, jedoch innerhalb einer Bildoperation in einer sehr
konstanten Folge, die insbesondere bei homogenen Bildoperationen sehr einfachen
Gesetzen gehorcht, kann der Adressengenerator in den entsprechenden Rechenein-
heiten
sehr einfach aufgebaut sein. Dadurch erübrigt sich eine zentrale Adressenberechnung,
die sonst sehr flexibel und somit aufwendig sein müsste und zeitaufwendig wäre,
so daß bei üblichen Vielzweckrechnern die Adressenberechnung einen wesentlichen
Anteil der Gesamtrechenzeit ausmacht.
-
Daher kann die Steuereinheit, die die zentrale Steuerung aller Recheneinheiten
versorgt, sehr einfach aufgebaut sein, so daß der Grundaufwand für die erfindungsgemäße
Datenverarn beitungsanlage im Falle von nur wenigen verschiedenen Bild operationen
entsprechend gering ist.
-
Da die Ubertragungsgeschwindigkeit von Daten auf einem Datenbus allgemein
merklich größer ist als die Arbeitsgeschwindigkeit besonders von großen Speichern,
die für den Arbeitsspeicher hauptsächlich in Betracht kommen, ist es zweckmäßig,
daß der Datenbus aus einem ersten Datenbus, der Daten zum Arbeitsspeicher überträgt,
und aus einem zweiten Datenbus besteht, der Daten vom Arbeitsspeicher zu den Recheneinheiten
überträgt, wobei beide Datenbusse unabhängig voneinander Daten übertragen. Dadurch
wird der Datenbus optimal ausgenutzt, und es ist auf diese Weise leichter eine gewisse
Parallelarbeit im Zeitmultiplex mehrerer Recheneinheiten möglich, wie später erläutert
wird.
-
Da bei manchen Bildoperationen, wie bereits erwähnt, die Adressenfolge
beim Zugriff auf Bilddaten einfachen Gesetzen gehorcht, insbesondere der natürlichen
Adressenfolge entspricht, ist es zweckmäßig, daß der Adressengenerator Zähler enthält.
Bei etwas komplizierteren Folgen ist es dagegen zweckmäßig, daß der Adressengenerator
eine Verarbeitungseinheit mit einem Akkumulator enthält. Da die Folge der Adressen
fast immer zyklisch mit einem kurzen Zyklus ist, ist eine solche Verarbeitungseinheit
für die Adressenberechnung und insbesondere deren Steuerung einfach.
-
Bei der Zusammenarbeit von Arbeitsspeicher und Recheneinheiten besteht
ferner die Möglichkeit, innerhalb eines Arbeitstaktzyklus gleichzeitig eine oder
mehrere Rechenoperationen
an Bilddaten in einer Recheneinheit durchzuführen,
die Bilddaten für die in dem folgenden Taktzyklus durchzuführenden Rechenoperationen
aus dem Arbeitsspeicher in das Rechenelement zu übertragen und die mit der Rechenoperation
in dem vorangegangenen Taktzyklus erzeugten Ergebnis-Bilddaten in den Arbeitsspeicher
zu übertragen. Diese Arbeitsweise ermöglicht eine erhebliche Steigerung der Rechengeschwindigkeit,
da kein zusätzlicher Zeitaufwand für die Datentransportoperation notwendig ist.
Die Adresse für das Auslesen und die Adresse für das Rücz--ehreiben weisen dann
einem konstanten Abstand auf, der von der Bildoperation und gegebenenfalls Modifikationen
der Bildoperation abhängt, so daß es nach einer weiteren Ausgestaltung der Erfindung
zweckmäßig ist, daß der Adressengenerator eine Verzögerungseinheit enthält, die
von einer Adressiereinheit aufeinanderfolgend erzeugte Adressen am Eingang erhält
und eine Anzahl Perioden eines Taktsignals verzögert am Ausgang abgibt, wobei der
Eingang und der Ausgang der Verzögerungseinheit mit dem Adressenbus verbunden ist.
Diese Maßnahme ist besonders dann zweckmäßig, wenn der Datenbus aus zwei getrennten
Datenbussen für die beiden Übertragungsrichtungen besteht. Falls auch der Adressenbus
aus zwei getrennten Adressenbussen besteht, die die Adressen für die einzuschreibenden
und auszulesenden Daten gleichzeitig zum Arbeitsspeicher übertragen, können Eingang
und Ausgang der Verzögerungseinheit direkt mit dem Adressenbus verbunden sein. Falls
jedoch nur eine Adresse übertragen werden kann, ist es zweckmäßig, daß eine Umschalteinheit
periodisch abwechselnd den Eingang und den Ausgang der Verzögerungseinheit mit dem
Adressenbus verbindet. Diese Periode entspricht zweckmäßig einer Taktperiode bzw.
einem Arbeitszyklus des Arbeitsspeichers. Um insbesondere bei Modifikationen von
Bildoperationen verschiedene Unterschiede zwischen Auslese- und Einschreibadresse
einstellen zu können, ist es zweckmäßig, daß die Verzögerungszeit der Verzögerungseinheit
umschaltbar ist.
-
Es ist zweckmäßig, wenn zumindest ein Teil der Steuerlei-
tungen
einen allen Recheneinheiten gemeinsamen Steuerbus bildet. Dies ergibt einen einfachen
Aufbau der erfindungsgemäßen Datenverarbeitungsanlage sowie eine einfache und flexible
Erweiterungsmöglichkeit durch nachträgliches Zufügen zusätzlicher Recheneinheiten.
Dabei können einzelne Steuerleitungen vorhanden sein, die von der Steuereinheit
direkt zu nur jeweils einer Recheneinheit führend Aucj der artige Leitungen können
mit dem Steuerbus zusammengefas:t sein.
-
Um die Recheneinheit möglichst optimal auszunutzen, ist es zweckmäßig,
daß weitere Steuersignale der Steuereinheit die Durchführung der Bildoperationen
zumindest in einigen Recheneinheiten modifiziert. Diese weiteren Steuersignale entsprechen
zum Teil dem Befehlskode in den Befehlen üblicher Rechenanlagen, wobei der Befehlskode
hier jedoch nicht grundsätzlich unterschiedliche Operationen. steuert, sondern die
Bildoperation in einer RecheneinheitZim wesentlichen festgelegt und wird durch die
weiteren Steuersignale nur an verschiedene Bedingungen oder Aufgaben angepasst.
Dabei ist es zweckmäßig, daß die Recheneinheiten für modifizierbare Bildoperationen
Speicher für mindestens einen Teil der weiteren Steuersignale enthalten. In diesem
Falle muß die Steuereinheit diese weiteren Steuersignale nur kurzzeitig insbesondere
vor Beginn der Bildoperation aussenden.
-
Manche Operationen, beispielsweise eine nichtlineare Grauwertverschiebung,
benötigen eine Anzahl Hilfsdaten, die Parameter für die betreffende Bildoperation
darstellen, beispielsweise eine Zuordnungstabelle. Um die gleiche Recheneinheit
für Bildoperationen mit verschiedenen Parametern verwenden zu können, ist es zweckmäßig,
daß zumindest einige Recheneinheiten über die Steuerleitungen Steuerdaten von der
Steuereinheit empfangen und in einem Steuerspeicher zwischenspeichern, wobei die
Steuerdaten Parameter für Bildoperationen sind. Dadurch können solche Recheneinheiten
optimal ausgenutzt werden.
-
Manche Bildoperationen, beispielsweise eine Histogrammaufnahme eines
Bildes, liefern als Ergebnis keine neuen Bilddaten, sondern Ergebnisdaten, die vorzugsweise
außerhalb der Recheneinheiten weiterverarbeitet werden. Es ist daher zweckmäßig,
daß mindestens einige Recheneinheiten die Ergebnisdaten von Bildoperationen über
die Steuerleitungen zur Steuereinheit übertragen. Andererseits ist es auch zweckmäßig,
daß mindestens einige Recheneinheiten #rgebnis speicher enthalten, die bei der Bildoperation
elltstehende Ergebnisdaten aufnehmen. Diese Ergebnisdaten können dann möglicherweise
für spätere Bildoperationen verwendet werden. Falls eine Übertragung der Ergebnisdaten
zur weiteren Verarbeitung in der Steuereinheit erforderlich ist, ist es zweckmäßig,
daß die Recheneinheiten mit Ergebnisspeichern deren Inhalt nach Abschluß der betreffenden
Bildoperation zur Steuereinheit übertragen. Auf diese Weise wird die Übertragungszeit
der Ergebnisdaten kurz, und die Steuereinheit wird wenig dadurch belastet.
-
Um bei einigen Bildoperationen die Anzahl von Datenübertragungen zu
verringern bzw. benötigte Daten nur einmal zu übertragen, ist es zweckmäßig, daß
mindestens einige Recheneinheiten Pufferspeicher für einen Teil der jeweils als
nächstes zu verarbeitenden Bilddaten enthalten. Durch die Verringerung der Anzahl
von Datenübertragungen kann die gesamte Verarbeitungsgeschwindigkeit dadurch gesteigert
werden.
-
Bei der bisherigen Beschreibung wurde angenommen, daß die Bilddaten
bereits in der Datenverarbeitungsanlage vorhanden sind. Um die Bilddaten jedoch
dort hineinzubringen bzw.
-
daraus abzuführen, ist es zweckmäßig, daß mindestens eine Eingabe-Recheneinheit
vorgesehen ist,die Bilddaten von außerhalb der Datenverarbeitungsanlage empfängt
und die nur ausgangsseitig an den Datenbus bzw. an den ersten Datenbus angeschlossen
ist, und daß mindestens eine Ausgabe-Recheneinheit vorgesehen ist, die Bilddaten
nach außerhalb der Datenverarbeitungsanlage abgibt und die nur eingangsseitig
an
den Datenbus bzw. an den zweiten Datenbus angeschlossen ist. Dadurch ergibt sich
ein sehr übersichtlicher Aufbau der gesamten Datenverarbeitungsanlage, der deren
Modularität nicht stört. Der Anschluß und die Steuerung dieser Eingabe- und Ausgabe-Recheneinheiten
erfolgt also in glei cher Weise wie auch bei den anderen Recheneinheiten. Es können
auch mehrere Eingabe- und Ausgabe-Recheneinhe.'ten vorhanden sein, die Bilddaten
aus verschiedenen Quellen erhalten bzw. zu verschiedenen Stellen außerhalb der An
lage weiterleiten, beispielsweise Massenspeicher.
-
Auf die vorstehend beschriebene Weise wird also eine Datenverarbeitungsanlage
erhalten, die alle vorkommenden Bildoperationen durchführen kann. Es ist jedoch
möglich, daß in besonderen Anwendungsfällen Bildoperationen auftreten, die nur sehr
selten benötigt werden. Hierfür ist die Verwendung jeweils einer speziellen Recheneinheit,
auch wenn diese einfach aufgebaut ist, unter Umständen nicht ganz kostengünstig.
Es ist daher zweckmäßig, daß mindestens eine Recheneinheit eine programmgesteuerte
Verarbeitungseinheit mit einem Programmspeicher enthält, dessen Inhalt über die
Steuerleitungen einschreibbar ist. Eine solche programmgesteuerte Verarbeitungseinheit
kann eine universelle Rechenanlage oder im einfachsten Falle ein entsprechender
Mikroprozessor sein. Damit lassen sich dann Bildoperationen durchführen, die nur
sehr selten vorkommen und bei denen die insbesondere die Verarbeitungsgeschwindigkeit
nicht entscheidend ist. Da bei solchen besonderen Bildoperationen die Folge der
Adressen beim Auslesen und Rückschreiben jeweils unterschiedlich ist, muß daher
auch die Adressenberechnung programmgesteuert erfolgen. Dafür ist es zweckmäßig,
daß die Verarbeitungseinheit zwei Prozessoreinheiten umfasst, von denen die eine
nur mit dem Datenbus und die andere nur mit dem Adressenbus verbunden ist, wobei
beide Prozessoreinheiten über interne Steuerleitungen zur gegenseitigen, insbesondere
abwechselnden Steuerung verbunden sind. Da diese beiden Prozessoren zumindest teilweise
für ihren Verwendungszweck vorpro -
grammiert sein können, können
sowohl Adressen wie auch Daten mit optimaler Geschwindigkeit verarbeitet werden,
so daß sich trotz Verwendung von nicht sehr schnellen Prozessoren eine relativ kurze
Durchführungszeit einer Bildoperation für ein gesamtes Bild ergibt. Ferner wird
die Steuereinheit auch bei Verwendung programmgesteuerter Recheneinheiten wenig
belastet, da diese Recheneinheiten sich für die Steuereinheit ebenso wie die festprogrammierten
Recheneinheiten verhalten.
-
Manchmal ist es erwünscht, insbesondere bei einem auszugebenden Bild
zusätzliche Information anzubringen, beispielsweise Textinformation zu überlagern.
Hierfür ist es zweckmäßig, daß parallel zum Arbeitsspeicher mindestens ein Zeichenspeicher
an den Adressenbus sowie eingangsseitig an Steuerleitungen zur Aufnahme kodierter
graphischer Zeichen und ausgangsseitig über einen Generator zur Erzeugung graphischer
Zeichen an den Datenbus angeschlossen ist, wobei der Zeichengenerator ebenfalls
an den Adressenbus angeschlossen ist. Der Adressenbereich des Zeichenspeichers kann
teilweise mit dem Adressenbereich des Arbeitsspeichers übereinstimmen, so daß die
Zeichen dem Bild unmittelbar überlagert werden, oder es kann ein anderer, über dem
Adressenbereich des Arbeitsspeichers liegender Adressenbereich gewählt werden, oder
Adressenspeicher und Zeichenspeicher können durch zusätzliche Steuersignale ein-
und ausgeschaltet werden. Im übrigen verhält sich dieser Zeichenspeicher ebenso
wie der Arbeitsspeicher, so daß insbesondere von der Steuereinheit keine wesentlichen
Steuerfunktionen notwendig sind. Es können auch mehrere Zeichenspeicher vorgesehen
sein, wobei einer dieser Zeichenspeicher auch graphische Symbole in Form von Vektoren
erzeugen kann.
-
Um eine-Eingriffsmöffllichkeit in den Ablauf von Bildoperationen,
insbesondere in deren Aufeinanderfolge, zu ermöglichen, ist es zweckmäßig, daß mit
der Steuereinheit eine Bedienungseinheit verbunden ist, über die Kommandos in die
Steuereinheit
eingebbar sind. Auf diese Weise können auch einzelne Bildoperationen von Hand gestartet
werden.
-
Ausführungsbeispiele der Erfindung werden nachstehend an Hand der
Zeichnung näher erläutert. Es zeigen: Fig. 1 ein Blockschaltbild der gesamten Datenverarbeitungsanlage,
Fig. 2 ein Zeitdiagramm für die Erläuterung zeit verschachtelter Parallelarbeit,
Fig. 3 den grundsätzlichen Aufbau einer Eingabe-Recheneinheit, Fig. 4 den grundsätzlichen
Aufbau einer Recheneinheit zur Grauwertverschiebung, Fig. 5 den grundsätzlichen
Aufbau einer Recheneinheit für eine lokale Bildoperation an jeweils mehreren Bildpunkten
gleichzeitig, Fig. 6 den grundsätzlichen Aufbau einer Recheneinheit zur Verarbeitung
von Bilddaten mehrerer Bilder gleichzeitig, Fig. 7 den grundsätzlichen Aufbau einer
Recheneinheit zur Histogrammermittlung, Fig. 8 den grundsätzlichen Aufbau eines
Adressengenerators mit konstantem bzw. einstellbarem Unterschied zwischen Leseadresse
und Rückschreibadresse, Fig. 9 den grundsätzlichen Aufbau einer programmierbaren
Recheneinheit mit zwei Prozessoren, Fig.10 den grundsätzlichen Aufbau eines Zeichenspeichers.
-
In Fig. 1 ist ein Blockschaltbild einer #Datenverarbeitungsanlage
zur Verarbeitung von Bilddaten dargestellt. Diese umfasst einen Arbeitsspeicher
21 sowie eine Anzahl Recheneinheiten, von denen hier die Recheneinheiten 1, 3, 5
und 7
beispielsweise dargestellt sind. Je nach Anwendungsfall,
wenn noch weitere Bildoperationen erforderlich sind, können noch weitere Recheneinheiten
vorgesehen werden.
-
Alle Recheneinheiten sind mit dem Arbeitsspeicher 21 über einen gemeinsamen
Datenbus 11 verbunden, der aus zwei getrennten, voneinander unabhängigen Datenbussen
13 und 15 besteht, wobei der Datenbus 13 Bilddaten von den Recheneinheiten zum Arbeitsspeicher
21 und der Datenbus 15 Bild daten vom Arbeitsspeicher 21 zu den Recheneinheiten
über trägt.
-
Alle Recheneinheiten 1, 3, usw. sind außerdem über einen gemeinsamen
Adressenbus 17 mit dem Arbeitsspeicher 21 verbunden. Darüber werden von den jeweils
aktiven Recheneinheiten die Adressen der aus dem Arbeitsspeicher 21 auszulesenden
oder dorthin rückzuschreibenden Bilddaten gesteuert. Dieser Adressenbus hat somit
nur eine Ubertragungsrichtung.
-
Ferner sind alle Recheneinheiten 1, 3, usw. sowie der Arbeitsspeicher
21 über einen gemeinsamen Steuerbus 19 mit der zentralen Steuereinheit 23 verbunden.
Uber diesen Steuerbus überträgt die Steuereinheit 23 Befehlssteuersignale zu den
Recheneinheiten, insbesondere um in einer Recheneinheit eine Bildoperation zu starten
oder zu beenden, und die Recheneinheiten übertragen über den Steuerbus 19 Zustandssignale,
beispielsweise die Meldung einer vollständigen Durchführung einer Bildoperation,
an die Steuereinheit 23. Der Steuerbus 19 kann auch einzelne Leitungen, die direkt
von der Steuereinheit 23 zu nur jeweils einer Recheneinheit führen, enthalten, über
die die betreffende Recheneinheit adressiert wird, um die auf den anderen Leitungen
von der Steuereinheit 23 ausgesandten Steuersignale aufzunehmen bzw. selbst Zustandssignale
abzugeben, sofern nicht über die allen Recheneinheiten gemeinsamen Steuerleitungen
Adressensignale zur Adressierung der Recheneinheiten übertragen werden. Wesentlich
ist, daß die Steuereinheit 23 nur über den Steuerbus mit
den weiteren
Elementen verbunden ist, so daß die Steuereinheit 23 weder Bilddaten noch deren
Adressen empfängt oder verarbeitet. Die Steuereinheit 23 steuert vielmehr ausschließlich
das Zusammenarbeiten der Recheneinheiten untereinander und mit dem Arbeitsspeicher
und verarbeitet höchstens Ergebnisdaten von bestimmten Recheneinheiten.
-
Mit der Steuereinheit 23 ist ferner eine Bedienungseinheit 25 verbunden,
über die Kommandos zur oder Melde signale von der Steuereinheit 23 übertragen werden
Dadurch kann vol einer Bedienungsperson beispielsweise in den Ablauf einer Folge
von Bildoperationen eingegriffen werden, oder es können bestimmte Bildoperationen
gezielt gestartet werden.
-
Außerdem ist über die Bedienungseinheit 25 eine Anzeige der momentan
ablaufenden Bildoperation bzw. der momentan arbeitenden Recheneinheit oder Recheneinheiten
möglich.
-
Die Steuereinheit 23 ist im einfachsten Falle im wesentlichen eine
Ablaufsteuerung, die eine Folge von Bildoperationen steuert. Solche Ablaufsteuerungen
sind allgemein bekannt und enthalten im wesentlichen Zähler für die Steuerung von
Folgen von Funktionen. Da die Steuereinheit 23 aber auch beispielsweise Zustandsmeldungen
der Recheneinheiten verarbeiten muß, ist es zweckmäßiger, hierfür einen der handelsüblichen
Mikroprozessoren einzusetzen, die entsprechend fest programmiert sind. Bei anderen
Anwendungsfällen, insbesondere wenn viele Ergebnisdaten von einigen.
-
Recheneinheiten zu verarbeiten sind, ist es zweckmäßig, für die Steuereinheit
23 eine übliche Vielzweck-Rechenanlage zu verwenden. Darin ist allgemein eine Bedienungseinheit
vorhanden, so daß in diesen Fällen die zusätzliche Bedienungseinheit 25 wegfallen
kann.
-
In Fig. 1 ist außerdem noch ein Zeichenspeicher 27 dargestellt, dessen
Dateneingang an den Steuerbus 19 und dessen Adresseneingang parallel zu dem Arbeitsspeicher
21 an den Adressenbus 17 angeschlossen ist. Der Datenausgang des Zeichenspeichers
ist über einen Zeichengenerator 39
mit dem Datenbus 15 verbunden,
über den Daten zu den Recheneinheiten übertragen werden. Außerdem ist der Zeichenspeicher
27 mit dem Zeichengenerator 39 ebenso wie der Arbeitsspeicher 21 an den Steuerbus
19 angeschlossen, über den beispielsweise das abwechselnde oder gleichzeitige Arbeiten
beider Speicher oder das Umschalten von Einschrei ben auf Auslesen gesteuert werden
kann. Abgesehen vor) dem Dateneingang des Zeichenspeicbers 27 sind somit beide SpeX
cher 21 und 27 parallel geschaltet, so daß der Zeichenspeicher 27 eine Erweiterung
des Arbeitsspeichers 21 für die Darstellung von Zeichen und graphischen Symbolen
darstellt.
-
In Fig. 1 sind die Busse 13 bis 19 jeweils als eine einfache Verbindung
dargestellt. Tatsächlich bestehen diese Busse jedoch zweckmäßig aus einer Anzahl
paralleler Leitungen, wie für den Steuerbus 19 bereits angedeutet wurde, so daß
insbesondere auf den Datenbussen 13 und 15 jeweils ein vollständiges Datenwort und
auf dem Adressenbus 17 jeweils eine vollständige Adresse parallel übertragen werden
kann, um die Ubertragungsgeschwindigkeit zu erhöhen.
-
Die Busse sind daher lediglich zur besseren uebersicht in Fig. 1 sowie
auch in den folgenden Figuren als einzelne Verbindung dargestellt.
-
Die einzelnen Recheneinheiten 1, 3, 5, 7 usw. in Fig. 1 weisen, obwohl
sie für unterschiedliche Bildoperationen ausgelegt sind, in mindestens einer Hinsicht
stets den gleichen prinzipiellen Aufbau auf, nämlich aus einem Adressengenerator
31n und der eigentlichen Verarbeitungseinheit 38n für die Bilddaten, wobei n die
Nummer der Recheneinheit angibt. Diese beiden grundsätzlichen Elemente, die in verschiedenen
Recheneinheiten selbstverständlich allgemein unterschiedlich aufgebaut sind, arbeiten
weitgehend getrennt voneinander, wie später an Hand von Beispielen für bestimmte
Rechenelemente noch näher erläutert wird.
-
Die Recheneinheit 5 in Fig. 1 ist für das Eingeben von Bilddaten von
außerhalb der dargestellten Datenverarbeitungsanlage vorgesehen, und zwar hier für
die Eingabe der von einer Fernsehkamera erzeugten Daten. Diese in analoger Form
erzeugten Daten werden über die Leitung 52 in die Verarbeitungseinheit 385 eingegeben,
dort mindestens in eine digitale Darstellung umgewandelt und dann über den Datenbus
13 dem Arbeitsspeicher 21 zugef~uhri.O GLeichzei tig erzeugt der Adrèssengenerator
315 eine Folge von Adressen, so daß die zugeführten Bilddaten aufeirìanderf folgend
im Arbeitsspeicher 21 abgespeichert werden. Um eine eindeutige Zuordnung von Bildpositionexl
zu Adressen zu erhalten, erzeugt der Adressengenerator 315 außerdem Synchronisiersignale
bzw. empfängt solche von der Fernsehkamera über die Leitungen 54. Bei einer Recheneinheit,
die beispielsweise die Verbindung zu einem externen Massenspeicher für Bilddaten
herstellt, können über der Leitung 54 entsprechende Leitungen Taktsignale übertragen
werden.
-
In entsprechender Weise ist die Recheneinheit 7 für die Ausgabe von
Bilddaten nach außerhalb aufgebaut. Die Verarbeitungseinheit 387 empfängt die aus
dem Arbeitsspeicher 21 über den Datenbus 15 ausgelesenen digitalen Bilddaten und
wandelt diese in analoge Bildinformation um, die über die Leitung 56 einem externen
Monitor zugeführt wird. Dabei erzeugt der Adressengenerator 317 die aufeinanderfolgenden
Adressen der aus dem Arbeitsspeicher 21 auszulesenden Bilddaten sowie Synchronisiersignale,
die über die Leitungen 58 übertragen werden. Diese Synchronisiersignale können jedoch
auch in der Verarbeitungseinheit 387 in bekannter Weise mit den analogen Bilddaten
zu einem vollständigen Fernsehsignal verarbeitet werden, so daß dann nur die Leitung
56 zu dem Monitor führt.
-
In Fig. 2 sind zwei Möglichkeiten für die Durchführung eines Komplexes
von mehreren Bildoperationen an einem Bild dargestellt. In Zeile a der Fig. 2 ist
angedeutet, wie die Bildinformationen von außen in den Arbeitsspeicher 21
übertragen
werden. Da eine Feriisehkamera als Quelle der Bilddaten angenommen ist, werden die
Daten jeweils einer Bildzeile unmittelbar aufeinanderfolgend eingeschrieben, was
durch die kurzen waagerechten Striche angedeutet ist, während zwischen den Zeilen
eine titertragungspause während des Zeilenrücklaufes in der Fernsehkamera eintritt.
-
Nach der vollständigen Eingcthe eines Bildes wird an den Bilddaten
eine y --Korl-ektur der Bilddaten vorgenommen, wofür die gesamten Bilddaten unmittelbar
auSeinanderfolgene ausgelesen, jeweils einzeln umgesetzt und danach wieder zurückgeschrieben
werden. Dabei tritt keine Pause auf, wie in der Zeile b angedeutet ist.
-
Danach erfolgt eine zweidimensionale Filterung der Bilddaten, wobei
jeweils die Daten einer Gruppe von Bildelementen ausgelesen und dann einer Verarbeitung
unterworfen werden, die hier wesentlich länger dauert als eine Datenübertragung,
so daß der Arbeitsspeicher jeweils nur verhältnismäßig kurz mit dazwischenliegenden
längeren Pausen belegt ist, wie durch die senkrechten Striche in der Zeile c angedeutet
ist.
-
Die Verarbeitungszeit für diese Folge von Bildoperationen kann wesentlich
verkürzt werden, wenn die Bildoperationen zeitverschachtelt ablaufen. Zunächst wird
eine Zeile bzw.
-
eine Mindestanzahl von Bildzeilen eingelesen, was gegenüber den Zeilen
a bis c in vergrößertem Maßstab in Zeile d dargestellt ist. Da der Vorgang der Bildabtastung
in der Fernsehkamera von außen praktisch nicht beeinflußbar ist, erhält diese Bildoperation
die höchste Priorität. In der Pause während des Zeilenrücklaufes, wenn keine Datenübertragung
von der Kamera erfolgt, können die beiden anderen Bildoperationen durchgeführt werden.
Da bei der vorher erwähnten v -Korrektur eine kontinuierliche Belegung des Arbeitsspeichers
erfolgt, ist es zweckmäßig, der zweidimensionalen Filterung die zweite Prioritätsebene
zuzuordnen, so daß zu Beginn der Zeilenrücklaufpause zunächst die
Daten
für einen Verarbeitungsschritt der digitalen zweidimensionalen Filterung übertragen
werden was an die Steuereinheit 23 in Fig.lzurückgemeldet wird, und diese startet
danach die in der untersten Prioritatsebene arbeitende v -Korrektur. Diese Bildopeiation
wird jedoch unterbrochen, sobald ein Verarbeitungsschritt der Filterung beendet
ist und für den nächsten [erarbeitungsschritt der Arbeitsspeicher wieder belegt
werden muß Danach kann wieder die v -Korrektur be.gj#rnien# bis die Kamera mit der
Übertragung der nächsten B dze:ile beginnt. Dies ist in den Zeilen e und f der Fig
da:rgeste]lt, wobei die Zeile e die v -Korrektur und die Zeile f die Filterung
darstellt. Wenn der Beginn der Übertragung einer neuen Zeile in die Datenübertragung
für einen Verarbeitungsschritt der digitalen Filterung fallen würde, würde letztere
auch unterbrochen, da die Übertragung von der Fernsehkamera die höchste Priorität
hat. Durch diese verschachtelte Verarbeitung ist es jedoch möglich, daß die verarbeiteten
Bilddaten eines Bildes nur kurze Zeit nach der Beendigung der Eingabe dieses Bildes
bereits vollständig vorliegen und beispielsweise zu einem Monitor zur Darstellung
übertragen werden können. Hierfür ist nur eine einfache Prioritätssteuerung durch
die Steuereinheit 23 erforderlich.
-
In Fig. 3 ist der Aufbau einer Recheneinheit für die Eingabe von Bilddaten
über eine Fernsehkamera mehr im einzelnen dargestellt. Die über die Leitung 52 zugeführten
analogen Daten werden in einem Verstärker 51 gegebenenfalls verstärkt und dann einem
Analog-Digitalwandler 53 zugeführt, der die analogen Daten im Takte eines Taktsignals
CL abtastet und in digitaler Form gegebenenfalls über eine Anpassungseinheit 55
dem Datenbus 13 zuführt. Parallel zu der Abtastung der analogen Daten wird auch
der Taktgenerator 31, der hier durch einen Zähler realisiert ist, durch das Taktsignal
CL jeweils um einen Schritt weitergeschaltet, so daß auf dem Datenbus 17 die jeweils
nächste
Adresse erscheint. Über die Leitungen 54 wird der Zähler
31 mit der zeilenweisen Abtastung synchronisiert, beispielsweise durch Rücksetzen
jeweils der Zählerstufen niedrigster Wertigkeit, so daß im Arbeitsspeicher schließlich
eine matrixartige Anordnung der Bilddaten entsprechend dem abgetasteten Bild vorhanden
ist. Das Taktsignal CL kann beispielsweise über den Steuerbus 19 von der zentralen
Steuereinheit 23 übertragen werden.
-
In Fig. 4 ist der interne AuSbau einer Recheneimlieit für eine sogenannte
Punktcperation von Bilddaten mehr im einzelnen dargestellt Damit werden also die
Daten der Bildpunkte einzeln unabhängig voneinander verarbeitet, beispielsweise
um die Grauwerte so zu verschieben, daß alle Grauwerte im Bild gleich häufig auftreten,
oder um die bereits erwähnte v -Korrektur durchzuführen, oder um eine Pseudo-Farbdarstellung
eines an sich schwarz-weißen Bildes zu erzeugen, wobei den verschiedenen Helligkeitsstufen
zur besseren Erkennbarkeit verschiedene Farben zugeordnet werden.
-
Da die Bilddaten einzeln und unmittelbar verarbeitet werden, besteht
der Adressengenerator 31 hier wieder aus einem Zähler, der das Taktsignal CL von
dem Datenbus 19 erhält und dem Datenbus 17 die aufeinanderfolgenden Adressen zum
Auslesen und Rückschreiben der Bilddaten aus dem Arbeitsspeicher zuführt. Die aus
dem Arbeitsspeicher ausgelesenen und über den Datenbus 15 abgegebenen Daten werden
einem Demultiplexer 63 zugeführt, der gegebenenfalls einen Pufferspeicher für ein
Datenwort enthalten kann. Dieser Demultiplexer 63 führt die Bilddaten entweder dem
Adresseneingang eines Schreib-Lese-Speichers 34, eines Festwertspeichers 61 oder
dem Dateneingang einer arithmetisch-logischen Einheit 67 zu, und zwar gesteuert
durch einen Befehlsspeicher 33, der vor Beginn der Bildoperation einen kodierten
Steuerbefehl über den Steuerbus 19 erhält und diesen dekodiert abgibt, wie durch
die mehreren-Ausgänge des Befehlsspeichers 33 angedeutet ist.
-
Dadurch wird auch der Multiplexer 65 gesteuert, der in entsprechender
Weise wie der Demultiplexer 63 den Datenausgang der Einheit 34, 61 oder 67 dem Datenbus
13 zur Übertragung zum Arbeitsspeicher zuführt.
-
Für eine y-Korrektur wird der über den Datenbus 15 vom Arbeitsspeicher
zugeflihrte Bildpunktwert dem Adresseneingang des Festwertspeichers 61 zugeführt,
der a,l jedem Speicherplatz den dem adressierenden Datenwort zugeordneten korrigierten
Helligkeitswert enthält und diesen dem Mtilei~# plexer 65 zuführt.
-
Falls jedoch eine variable Verschiebung dei Helligkeitswerte der Bildpunkte
erforderlich ist, werden die aus dem Arbeitsspeicher ausgelesenen Bilddaten dem
Adresseneingang eines Parameterspeichers 34 zugeführt, dessen Inhalt vor Beginn
der Bildoperation über den Steuerbus 19 aus der Steuereinheit 23 eingeschrieben
worden ist. Da diese eingeschriebenen Werte eine variable Korrektur der ursprünglichen
Bilddaten ermöglichen, können sie als Parameter der Bildoperation aufgefasst werden.
-
In der arithmetisch-logischen Einheit 67 können die Bilddaten schließlich
entsprechend dem Inhalt eines Speichers 69 verändert oder maskiert werden.
-
In Fig. 5 sind zwei Ausführungen einer Recheneinheit für sogenannte
lokale Bildoperationen wie beispielsweise eine digitale zweidimensionale Filterung
sowie die dafür erforderliche Adressenfolge schematisch dargestellt. Für eine solche
Bildoperation müssen jeweils die Bilddaten einer Untermatrix der Bildmatrix gewichtet
miteinander verknüpft werden, wobei diese Untermatrix schrittweise über das gesamte
Bild verschoben wird. In Fig. 5 a ist die Adressenfolge für eine solche Untermatrix
von neun Bildpunkten dargestellt. Ausgehend von dem linken oberen Punkt der Untermatrix
werden zunächst die beiden folgenden Punkte der Zeile ausgelesen, danach erfolgt
ein Sprung auf den
dem ersten Punkt entsijrechenden Punkt der nächsten
Zeile, wonach die darauf folgenden beiden Punkte übertragen werden, und dann erfolgt
schließlich ein Sprung auf den entsprechenden Punkt der übernächsten Zeile und die
beiden darauf folgenden ne. Nach einem abgeschlossenen Verarbeitungsschritt erfolgt
von der letzten Adresse ein Sprung auf den zweiten Punkt der ersten Zeile, und danach
folgt wieder die gleiche Adressenfolge, wodurch also eine um einen Punkt ~rerschobErte
Un-U.ermatrix ausgelesen wird. Dabei muß lediglich da #:r:i, werLYl die Untermatrix
am rechten Bildrand angekommen ist 9 nach einem Verarbeitungsschritt ein Sprung
auf den ersten Punkt der zweiten Zeile erfolgen.
-
Diese Adressenfolge wird durch die Elemente 71 bis 77 in Fig. 5 erzeugt.
Dabei ist der Block 71 ein Zähler, der das Taktsignal CL als Zähltakt erhält und
dessen Zählerausgänge mit dem Adresseneingang eines Festwertspeichers 73 verbunden
sind. Dieser Zähler 71 durchläuft einen Zyklus von neun Schritten, und der Festwertspeicher
73 enthält bei jeder Zählerstellung einen der zugehörigen Adressendifferenz entsprechenden
Wert, der dem einen Eingang eines Addierers 75 zugeführt wird. Der Ausgang des Addierers
ist mit dem Eingang eines Speicherregisters 77 verbunden, dessen Ausgang mit dem
Adressenbus 17 und dem anderen Eingang des Addierers 75 verbunden ist. Mit jedem
Taktsignal CL übernimmt das Register 77 die Summe aus der vorhergehenden Adresse
und der Differenz zur nächsten Adresse, so daß auf dem Adressenbus 17 eine Adressenfolge
entsprechend der Fig. 5 a erscheint. Am Ende dieser Adressenfolge wird die Erzeugung
neuer Adressen unterbrochen, beispielsweise durch Sperren des Taktsignals CL zum
Zähler 71 und zum Register 77, oder der Zähler 71 durchläuft noch eine der Verarbeitungszeit
der adressierten Daten entsprechende Anzahl Stellungen, bei denen der Festwertspeicher
73 den Wert 0 abgibt, so daß die Adresse nicht verändert wird.
-
Die aus dem Arbeitsspeicher über den Datenbus 15 zuge-
führten
Daten der adressierten Bildpunkte werden in einem Pufferspeicher 37 eingelesen,
und zwar unter Steuerung einer Ablauf-Steueranordnung 38', die selbst wieder durch
das Taktsignal CL gesteuert wird Nach dem Einlesen werden diese Daten in entsprechender
Kombinalion der arithmetischen Einheit 38 zugeführt und dort nach einem der Filterung
entsprechenden Rechens chema ve #-#nü1i% und über den Datenbus 13 dem Arbeitsspeicher
angeführt und iJi in diesen zurückgeschrieben.
-
Aus der in Fig. 5 a dargestellten Adressenfolge ist zu erkennen, daß
jeder Bildpunkt mehrmals im Mteitsspeicher adressiert wird, wobei der Pufferspeicher
37 die Daten von neun Bildpunkten aufnehmen muß. Dies erfordert eine große Anzahl
von Datenübertragungen, die die Verarbeitungsgeschwindigkeit herabsetzt. Eine andere
Möglichkeit, die gleiche Bildoperation durchzuführen, wobei jedoch jeder Bildpunkt
nur einmal übertragen werden muß, ist in Fig. 5c dargestellt. Dort ist der Pufferspeicher
für die aus dem Arbeitsspeicher ausgelesenen Daten ein Schieberegister mit einer
Gesamtkapazität von zwei vollen Bildzeilen zuzüglich drei Bildpunkten. Diese Schieberegister
37 sind in Serie geschaltet und erhalten parallel das Taktsignal CL als Schiebetakt,
das gleichzeitig auch dem hier als einfachen Zähler ausgeführten Adressengenerator
31 zugeführt wird.
-
Die Ausgänge jeweils der ersten drei Schieberegisterelemente der beiden
oberen Schieberegister sowie die Ausgänge der unteren drei Elemente sind mit der
Verarbeitungseinheit 38-- verbunden.
-
Der Zähler 31 erzeugt auf dem Adressenbus 17 aufeinanderfolgende Adressen,
die das im Arbeitsspeicher enthaltene Bild zeilenweise auslesen. Die ausgelesenen
Bilddaten werden über den Datenbus dem Eingang des oberen Schieberegisters 37 zugeführt,
durchlaufen dieses mit den folgenden Taktsignalen, bis sie an dessen Ausgang erscheinen
und dem Eingang des zweiten Schieberegisters zugeführt werden, das sie ebenfalls
durchlauienund schließlich den letzten drei
Speicherelementen 37
zugeführt wird. Dies geschieht aufeinanderfolgend mitfaus dem Arbeitsspeicher ausgelesenen
Bildpunkten, so daß nach dem Auslesen von vollständigen zwei Zeilen sowie den ersten
drei Punkten der dritten Zeile die Verarbeitungseinhei 38 gerade die Bildpunkte
der ersten Untermatrix zugeführt erhält. Deren Daten werden nun verarbeitet und
über den Datenbus 13 zum Arbeit speicher zurückübertragen, und mit dem nächsten
Taktsignal CL werden die Daten der Bildpunkte der um einen Bild punkt verschobenen
Untermatrix der Verarbeitungseinheit 38 zugeführt, usw. Dadurch wird mit jedem Taktsignal
CL eine vollständige Untermatrix verarbeitet, wobei für die Verarbeitungseinheit
38 ein entsprechender Aufbau angenommen ist, beispielsweise aus einem Netzwerk von
mehreren Addierern, so daß die Verarbeitung mit maximaler Geschwindigkeit und somit
wesentlich schneller als bei der Ausführung nach Fig. 5 d erfolgt. Es ist allerdings
ein größerer Pufferspeicher 37 erforderlich, andererseits ist dafür der Adressengenerator
31 wieder einfacher aufgebaut.
-
Eine Anordnung zur Verarbeitung von zwei Bildern miteinander ist in
Fig. 6 dargestellt, wobei die Bilder beispielsweise vom selben Objekt zu verschiedenen
Zeiten stammen können und voneinander subtrahiert werden, so daß lediglich die Veränderung
des Objektes zwischen diesen beiden Zeitpunkten übrig bleibt. Dafür wird beispielsweise
der Arbeitsspeicher 21 in zwei Bereiche 21a und 21b eingeteilt, wie in Fig. 6a dargestellt
ist, von denen jeder ein anderes der beiden Bilder in untereinander übereinstimmender
Weise aufnimmt. Die Adressen entsprechender Bildpunkte beider Bilder mögen sich
dabei nur in den höchstwertigen Adressenbit unterscheiden. Die beiden Bilder können
dann ohne weiteres nacheinander in den Arbeitsspeicher 21 über den Datenbus 13 eingespeichert
werden, wobei beispielsweise der in Fig. 3 dargestellte Zähler 31 lediglich nach
dem Einschreiben des ersten Bildes nicht von vorn zu zählen beginnen darf, sondern
bei entsprechender Länge weiter zählen muß. Wenn dann beim Auslesen der
Bilddaten
die Adressenbits niedrigerer Wertigkeit auf dem Adressenbus 17 jeweils erst dann
weiterschalten, wenn das höchstwertige Adressenbit nacheinander beide Werte angenommen
hat, werden die Bildpunkte beider Bilder quasi parallel, d.h. mit einem Schrittabstand,
ausgelesen und über den Datenbus 15 der entsprechenden Verarbeitungseinheit zugeführt.
-
Diese Verarbeitungseinheit j..st. in Figo 6b dargestellt. Der Adressengenerator
31 besteht hier wieder aus einem Zähler, der das Taktsignal CL als Zähltakt erhält.
Der Ausgang niedrigster Wertigkeit dieses Zählers 31 wird einmal als Adressenbit
höchster Wertigkeit dem Adressenbus 17 und andererseits einem Demultiplexer 30 zugeführt,
so daß auf diese Weise einerseits entsprechende Bildpunkte beider Bilder unmittelbar
aufeinanderfolgend im Arbeitsspeicher 21 adressiert und die über den Datenbus 15
ankommenden Daten abwechselnd dem Pufferspeicher 37a und 37b zugeführt werden, so
daß nach jeweils zwei Taktsignalen CL diese beiden Pufferspeicher entsprechende
Bildpunkte beider Bilder enthalten. Die Ausgänge der Pufferspeicher 37a und 37b
sind mit einem Subtrahierer 38 verbunden, der die Differenz zwischen beiden Bildpunkten
bildet und über den Datenbus 13 zum Arbeitsspeicher 21 zurücküberträgt, wo sie beispielsweise
das eine der beiden Ursprungsbilder überschreiben.
-
Fig. 7 zeigt eine Recheneinheit zur Auswertung von Bilddaten, und
zwar in diesem Falle zum Erstellen eines Grauwert-Histogramms, d.h. es wird für
jeden möglichen Grauwert festgestellt, wie häufig er vorkommt. Dafür werden die
Daten aller Bildpunkte eines Bildes nacheinander ausgelesen, wofür als Adressengenerator
31 wieder ein Zähler vorgesehen ist, der durch das Taktsignal CL nacheinander durch
alle Stellungen schaltet und somit nacheinander alle Adressen dem Adressenbus 17
zuführt. Die ausgelesenen und über den Datenbus 15 zugeführten Bilddaten werden
dem Adresseneingang ei einesinpeichers 35 zugeführt, der für je-
den
Grauwert einen Speicherplatz für eine mehrstellige Dualzahl aufweist. Diese Speicherplätze
enthalten zu Anfang der Bildoperation den Wert 0, und der Inhalt eines adressierten
Speicherplatzes wird einem Addierer 38 zugeführt, dort um den Wert ~1' erhöht und
in den gleichen Speicherplatz zurückgeschrieben Auf diese Weise werden die Anzahlen
der Grauwerte jeweils getrennt aufsummiert.
-
Wenn die Daten aller BildiJunkte eines Bildes zugeführt worden sind,
wird der 4#Cressengenerator 31 abgeschaltet 19 und über den Steueibu.s/ein Zähler
40 gestartet, der ebenfalls das Taktsignal CL eIs %ähltakt erhält und dessen Zählerausgänge
ebenfalls m den Adresseneigängen des Speichers 35 verbunden id. Dieser Zähler 40
adressiert nun nacheinander alle Speicherplätze des Speichers 35, und deren Inhalt
wird über den Steuerbus 19 der Steuereinheit 23 in Fig. 1 zugeführt. Diese Recheneinheit
erzeugt somit keine neuen Bilddaten und ist daher auch nicht mit dem Datenbus 13
zum Zuführen von Daten zum Arbeitsspeicher 21 verbunden. Die über den Steuerbus
19 ausgelesene Häufigkeitsverteilung der Grauwerte des Bildes kann in der Steuereinheit
23 dafür verwendet werden, um Parameterwerte, beispielsweise 34 in Fig. 4 eingegebenen
Parameterwerte, für eine nachfolgende Bildoperation zu erzeugen, durch die die Helligkeitswerte
der Bildpunkte so verschoben werden, daß sich eine etwa gleichmäßige Verteilung
aller Helligkeitswerte ergibt.
-
Bei verschiedenen Bildoperationen werden die erzeugten Bilddaten an
einer Adresse im Arbeitsspeicher 21 zurückgeschrieben, die einen festen Abstand
zur ausgelesenen Adresse bzw. zur zuletzt ausgelesenen Adresse aufweisen.
-
Dies gilt beispielsweise für die Recheneinheit nach Fig. 5, insbesondere
nach Fig. 5c,oder für Recheneinheiten, in denen die Bilddaten eine mehrstufige Verarbeitungseinheit
ohne Schleife durchlaufen, so daß die nächsten Bilddaten bereits darin eingegeben
werden können, bevor die vorhergehenden Bilddaten vollständig verarbeitet am Ausgang
er-
scheinen. Dafür können zwei Adressengeneratoren vorgesehen
werden, von denen einer die auszulesenden und der andere die rückzuschreibenden
Adressen erzeug-Us wenn nicht der gleiche Adressengenerator beide Adressen erzeugen
kann, wie dies beispielsweise bei der Anc.xd.nt##ig nach Fig 5b durch entsprechende
Auslegung des Zåh:lels 71 und des Speichers 73 möglich ist. Bei einem einfachen
Adressengenerator, insbesondere in Form eines e:in~sokleI Zählers, und einem konstanten
Abstand zwischen auszulesender uiid rück zuschreibender Adresse ist dagegen eillc
Är.J.ordi#ng nach Fig 8 zweckmäßiger. Darin besteht der Adi--.e#sengenerator aus
den Elementen 81, 83, 85 und 87, wobei die Adressiereinheit 81 vom Taktsignal CL
gesteuert die Folge der Lese- bzw. Rückschreibadressen erzeugt und im einfachsten
Falle aus einem Zähler besteht. Diese Adressenfolge wird einmal einer Umschalteinheit
87 sowie auch einer Verzögerungseinheit 83 zugeführt, die aus einem mehrstufigen
Schieberegister besteht, dessen Inhalt ebenfalls durch das Taktsignal CL oder einen
durch Taktuntersetzung davon abgeleiteten Schiebetakt jeweils um eine Stufe weitergeschoben
wird, wobei der Inhalt der letzten Stufe jeweils gelöscht wird. Die Ausgänge der
Schieberegisterstufen sind über Umschalter, die über den Dekoder 85 durch Signale
auf dem Steuerbus 19 gesteuert werden, mit dem anderen Eingang der Umschalteinheit
87 verbunden. Falls die betreffende Bildoperation keine Modifikation zulässt oder
bei allen Modifikationen derselbe Adressenabstand zwischen Lese- und Schreibadresse
besteht, können die Umschalter auch weggelassen und der Ausgang der letzten Stufe
des entsprechend lang gewählten Schieberegisters direkt mit der Umschalteinheit
87 verbunden sein. Diese Umschalteinheit 87 wird ebenfalls durch das Taktsignal
CL gesteuert und führt abwechselnd die am Eingang oder am Ausgang der Verzögerungseinheit
83 vorhandene Adresse dem Adressenbus 17 zu, und zwar jeweils nach einer Adresse
oder nach einer Anzahl von Adressen der einen Art, wie dies beispielsweise bei der
Anordnung nach Fig. 5 erforderlich ist. Wenn der Adressenbus 17 so ausgelegt ist,
daß gleichzeitig zwei
Adressen übertragen werden können, beispielsweise
weil ein Arbeitsspeicher verwendet wird, der gleichzeitig eine Adresse auslesen
und eine andere Adresse einschreiben kann, kann die Umschalteinheit 87 auch entfallen.
-
Für bestimmte Bildoperationen kann es zweckmäßig sein, eine programmierbare
Recheneinheit . zusehen Ein Beispiel für eine solche programmierbare Rec:heneirlheit
ist in Fig. 9 dargestellt. Diese enthält zwei Prozessoren 43 und 45, die jeweils
einen Mikroprozessor enthalten können Im unteren Teil der Prozessoren ist jeweils
der Programmspeicher 43? bzw. 45' enthalten, der über den Steuerbus 19 von der Steuereinheit
23 in Fig. 1 geladen werden kann. Der untere Prozessor 43 dient hier zur Verarbeitung
der Bilddaten, die über den Datenbus 15 zugeführt und über den anderen Datenbus
13 wieder zum Arbeitsspeicher 21 in Fig. 1 zurückgebracht werden. Der Prozessor
45 dient zur Erzeugung der Adressenfolge und weist nur einen Datenausgang auf, der
mit dem Adressenbus 17 verbunden ist. Diese beiden Prozessoren 43 und 45 sind über
interne Steuerleitungen 49 miteinander verbunden, die insbesondere eine gegenseitige
Synchronisation der beiden Prozessoren gewährleisten, so daß der Prozessor 45 jeweils
erst dann eine neue Adresse erzeugt, wenn der Prozessor 43 die Daten des jeweils
nächsten Bildpunktes ermittelt hat, oder umgekehrt, abhängig davon, welcher von
beiden Vorgängen schneller abläuft. Mit einer solchen programmierbaren Steuereinheit
können auch sehr komplizierte und unterschiedliche Bildoperationen durchgeführt-werden,
jedoch allgemein auf Kosten der Verarbeitungsgeschwindigkeit. In besonderen Fällen
kann die programmierbare Recheneinheit auch aus einem vollständigen universellen
Vielzweckrechner bestehen.
-
An Hand der Fig. 10 sollen Aufbau und Funktion des Zeichenspeichers
27 mit Zeichengenerator 39 näher erläutert werden. Der Zeichenspeicher 27 ist ein
Schreib-Lese-Speicher, der über den Adressenbus 17 adressiert wird und über den
Steuerbus 19 die kodierten Zeichen aufeinanderfolgend er-
hält.
Über weitere Leitungen des Steuerbus 19 wird das Einschreiben bzw. Auslesen für
den Zeichenspeicher 27 sowie das Einschalten des Zeichengenerators 39 gesteuert.
-
Der Zeichenspeicher 27 enthält dabei nicht für jeden Bildpunkt, sondern
jeweils nur für eine Zeiciienmatrix einen Speicherplatz, so daß er weselltlich kleiner
ist als der Arbeitsspeicher 21.
-
Beim Auslesen werden die kodierten Zeichen dem 7eichengenerator 39
zugeführt, wobei Vuil den-Actressen auf dem Adressenbus 17 die höheren Adiessenbfts
dem Zeichenspeicher 27 und die niedrigeren AdressenbiLss die die Position innerhalb
der Zeichenmatrix angeben, dem Zeichengenerator 39 zugeführt werden. Die Ausgangssignale
des Zeichengenerators 39, die vorzugsweise nur zwei verschiedene Werte entsprechend
maximaler und minimaler Helligkeit aufweisen, werden über den Datenbus 15 insbesondere
direkt der Recheneinheit für die Ausgabe von Bilddaten, d.h. der Recheneinheit 7
in Fig. 1, zugeführt. In ähnlicher Weise kann auch ein Zeichengenerator für Vektorendarstellung
aufgebaut sein.
-
Die vorstehend beschriebenen Elemente der Datenverarbeitungsanlage
zur Verarbeitung von Bilddaten stellen nur Ausführungsbeispiele dar, wobei für weitere
Bildoperationen noch andere, insbesondere zusätzliche Recheneinheiten vorgesehen
werden können.