Die Erfindung bezieht sich auf eine Einrichtung zur parallelen
Datenverarbeitung und insbesondere auf eine Einrichtung
zur Anwendung in einem Bildverarbeitungssystem, in dem durch
Steuerung eines Bildspeichers Bilddaten mit hoher Geschwindigkeit
und parallel verarbeitet werden.
Wenn ein Bild mit hoher Geschwindigkeit verarbeitet wird,
besteht das übliche Vorgehen darin, sich auf die Computerverarbeitung
unter Anwendung von Programmen zu stützen. Zur
Behandlung größerer Bilddatenmengen sind jedoch höhere Verarbeitungsgeschwindigkeiten
erforderlich. Zur Steigerung der
Verarbeitungsgeschwindigkeit können zweierlei Verfahren angewandt
werden: das eine besteht darin, eine Schaltungsausstattung
zur sequentiellen Verarbeitung oder ein sog. "Pipeline"-
System zu benutzen. Bei dem anderen Verfahren wird ein
Parallelverarbeitungssystem benutzt, in dem viele Prozessoren
parallel angeordnet sind. Bei dem ersteren System besteht
eine Einschränkung hinsichtlich der erzielbaren Bildverarbeitungsgeschwindigkeit,
da die für die Verarbeitung erforderliche
Taktfrequenz mit einem Anstieg der Geschwindigkeit ansteigt,
mit der die Bilddaten verarbeitet werden. Andererseits
kann bei dem letztgenannten System die Verarbeitungsgeschwindigkeit
nach Wunsch dadurch gesteigert werden, daß die
Anzahl der parallel betriebenen Prozessoren erhöht wird.
Letztlich kann eine maximale Geschwindigkeit dadurch erreicht
werden, daß Prozessoren in einer Anzahl vorgesehen werden,
die gleich der Anzahl von Bildelementen ist. Aus diesem Grund
ist das Verfahren mit dem letzteren System nun in den Mittelpunkt
vieler Interessen gerückt.
Hierbei ist eine Verarbeitung für die Verbindung zwischen
Bildelementen von Bedeutung, wobei es notwendig ist, daß die
Verarbeitung während einer solchen Querverbindung fortschreitet.
Bei dem genannten Parallelverarbeitungssystem ist es bei
der Behandlung von Daten für hohe Auflösung unmöglich, Prozessoren
in einer der Anzahl der Bildelemente äquivalenten
Anzahl vorzusehen. Beispielsweise beträgt bei einem Bild, das
von einem Blatt im Format A4 mit 16 Bildelementen je mm
gelesen wird, die Anzahl der Bildelemente ungefähr 16 M, so
daß daher das gleichzeitige Ausstatten des Systems mit derart
vielen Prozessoren undenkbar wäre.
Infolgedessen ist es erforderlich, eine Parallelverarbeitung
unter Benutzung einer endlichen kleinen Anzahl von Prozessoren
auszuführen. In der am 11. Dezember 1985 eingereichten
US-Patenmeldung Seriennr. 807 662 ist ein Verfahren für
eine derartige Parallelverarbeitung vorgeschlagen, das die
Unterteilung der Bilddaten in eine Vielzahl von Blöcken aus
jeweils mehreren Bilddatenposten und das Verarbeiten der
Bilddaten in einen jeden Block durch jeweils eine von einer
Vielzahl von Zentraleinheiten vorsieht. Die Anordnung ist
derart getroffen, daß jede Zentraleinheit die Bilddaten des
entsprechenden Blocks sowie die Bilddaten der benachbarten
Blöcke aufnimmt und daß die Zentraleinheit die Bilddaten des
entsprechenden Blocks verarbeitet.
Das vorgeschlagene System läßt jedoch noch viel Spielraum zur
Verbesserung hinsichtlich der Leistungsfähigkeit und des
Aufbaus offen.
Der Erfindung liegt die Aufgabe zugrunde, eine Bildverarbeitungseinrichtung
zu schaffen, mit der bei der Verarbeitung
von Bildinformationen mittels einer Vielzahl von Prozessoren
die Bildverarbeitung mit hoher Geschwindigkeit ausführbar
ist, wobei eine hervorragende Ortsfrequenzfilterung, eine
hervorragende Farbverarbeitung und/oder eine hervorragende
Verarbeitung zur Vergrößerung, Verkleinerung und Drehung
ermöglicht ist.
Die Aufgabe wird erfindungsgemäß mittels einer Bildverarbeitungseinrichtung
mit einem Bildspeicher und einer Prozessoreinheit
gelöst. Der Bildspeicher weist eine Vielzahl von
Speicherelementen auf, die jeweils unabhängig von den anderen
Speicherelementen adressiert und abgerufen werden können,
wobei Bildelementdaten in einen jeweiligen Bereich von einer
Vielzahl von Bereichen, die durch das Unterteilen eines Bilds
in die Vielzahl der Bereiche gebildet werden, eine identische
Adresse zugeordnet wird und einander entsprechende Bildelementdaten
an übereinstimmenden Stellen in den Bereichen einem
identischen Speicherelement der Speicherelemente zugewiesen
werden. Die Prozessoreinheit enthält eine den Speicherelementen
entsprechende Vielzahl von Prozessorelementen für das
gleichzeitige Verarbeiten der Daten für eine Vielzahl von
Bildelementen in dem Bildspeicher. Die Prozessoreinheit führt
beispielsweise eine Verarbeitung zur Farbumsetzung, Bildversetzung
oder Bilddrehung aus.
Ferner soll mit der Erfindung ein neuartiges wirkungsvolles
Verfahren für das Zuordnen von Bilddaten geschaffen werden,
die in dem Fall, daß Bildinformationen mittels einer Vielzahl
von Prozessoren parallel verarbeitet werden, von einem jeweiligen
Prozessor zu verarbeiten sind.
Zu diesem Zweck weist die Bildverarbeitungseinrichtung gemäß
einem Ausführungsbeispiel einen Bildspeicher und eine Prozessoreinheit
auf. Der Bildspeicher enthält eine Vielzahl von
Speicherelementen, die unabhängig voneinander adressiert und
abgerufen werden können, wobei Bildelementdaten in einem
jeden Bereich aus einer Vielzahl durch das Unterteilen eines
Bilds gebildeten Bereichen eine identische Adresse zugewiesen
wird und einander entsprechende Bildelementdaten an identischen
Stellen in den Bereichen dem gleichen Speicherelement
zugewiesen werden. Die Prozessoreinheit enthält eine den
Speicherelementen entsprechende Vielzahl von Prozessorelementen
für das gleichzeitige Verarbeiten von Daten für eine
Vielzahl von Bildelementen in dem Bildspeicher. Auf diese
Weise können die Bildelementdaten in einem jeden Bereich mit
hoher Geschwindigkeit verarbeitet werden.
Weiterhin soll mit der Erfindung eine Bildverarbeitungseinrichtung
geschaffen werden, die derart ausgebildet ist, daß
bei der parallelen Verarbeitung von Bildinformationen mittels
einer Vielzahl von Prozessoren eine komplizierte Verarbeitung
auf einfache Weise ausgeführt werden kann.
Hierzu weist gemäß einem weiteren Ausführungsbeispiel eine
erfindungsgemäße Bildverarbeitungseinrichtung eine Unterteilungseinrichtung
für das Unterteilen von Bilddaten in eine
vorbestimmte Anzahl vorbestimmter Bereiche und eine Vielzahl
von Prozessoren auf, deren Anzahl gleich der Anzahl der
unterteilten Bereiche ist und von denen jeder Prozessorelemente
entsprechend den Arten der Verarbeitungsergebnisse hat.
Weiterhin soll mit der Erfindung eine Bildverarbeitungseinrichtung
geschaffen werden, die derart ausgebildet ist, daß
eingegebene Bildinformationen in vielerlei Arten auf hervorragende
Weise behandelt werden können.
Mit der Erfindung soll eine Einrichtung zur parallelen Datenverarbeitung
geschaffen werden, die das Verarbeiten einer
großen Datenmenge mit hoher Geschwindigkeit in mehrfacher
Funktion ermöglicht.
Die Erfindung wird nachstehend anhand von Ausführungsbeispielen
unter Bezugnahme auf die Zeichnung näher erläutert, in
deren Figuren durchgehend gleiche Bezugszeichen die gleichen
oder gleichartige Teile bezeichnen.
Fig. 1 ist ein Blockdarstellung, die eine Bildverarbeitungseinrichtung
gemäß einem Ausführungsbeispiel zeigt.
Fig. 2 ist eine Darstellung, die den Zusammenhang
zwischen einem Einzelbild und Adressen von Speicherelementen
veranschaulicht.
Fig. 3 ist eine Darstellung, die einen Speicher mit
4 × 4 Speicherelementen als Ganzen zeigt.
Fig. 4 zeigt einen Speicher mit zugeordneten Adressengeneratoren.
Fig. 5 zeigt einen Teil eines Bildes.
Fig. 6 zeigt die Zuordnung eines Speichers für
einen Teil eines Bildes.
Fig. 7 ist ein Blockschaltbild einer Speicheradressen-
Steuerschaltung.
Fig. 8 ist ein Blockschaltbild einer Bildelementdaten-
Steuerschaltung.
Fig. 9(a) und (b) sind Blockdarstellungen, die den
Aufbau der Bildverarbeitungseinrichtung gemäß anderen Ausführungsbeispielen
zeigen.
Fig. 10 ist eine Darstelllung eines Einzelbilds.
Fig. 11 zeigt k × l Speicherelemente.
Fig. 12 und 13 zeigen eine einzelne Speichereinheit.
Fig. 14 und 15 sind Blockschaltbilder von Speicherelementabruf-
Steuerschaltungen.
Fig. 16 zeigt ein Einzelbild.
Fig. 17 zeigt k × l Speicherelemente.
Fig. 18 ist ein Blockschaltbild einer Adressenumschaltung.
Fig. 19(a) ist ein Blockschaltbild, das das Konzept
der Gestaltung eines Prozessorelements veranschaulicht.
Fig. 19(b) ist ein Blockschaltbild eines Prozessorelements,
in welchem eine logische Recheneinheit nach Fig. 19(a)
durch einen Mikroprozessor gebildet ist.
Fig. 20 ist eine grafische Darstellung zur Erläuterung
einer Dichteumsetzung.
Fig. 21 veranschaulicht einen Maskiervorgang.
Fig. 22 ist ein Ablaufdiagramm eines Verfahrens zur
Dichteumsetzung.
Fig. 23 ist ein Ablaufdiagramm eines Verfahrens zur
Farbumsetzung.
Fig. 24 ist ein Ablaufdiagramm eines Verfahrens zum
Maskieren.
Fig. 25 zeigt eine Bilddatenanordnung vor einer
Drehung.
Fig. 26 zeigt einen Zustand, der sich ergibt, wenn
eine Drehung in Bildelementblock-Einheiten ausgeführt wurde.
Fig. 27 zeigt einen Zustand, der sich ergibt, wenn
die Drehung in Bildelementeinheiten innerhalb der Blöcke
ausgeführt wurde.
Fig. 28 zeigt die Anordnung von Bildelementen in
Blöcken vor der Drehung und nach der Drehung in Bildelementblock-
Einheiten.
Fig. 29 zeigt die Anordnung der Bildelemente in den
Blöcken nach der Drehung innerhalb der Bildelementblöcke.
Fig. 30 ist ein Blockschaltbild einer Schaltung für
das Ausführen einer Drehung.
Fig. 31 zeigt eine Blockdaten-Wählschaltung.
Fig. 32 zeigt ein Beispiel für eine Adressenumsetzschaltung
für das Umsetzen von Adressen innerhalb von
Blöcken.
Fig. 33 zeigt eine Schaltung zum Erzeugen von Adressen
innerhalb von Blöcken vor einer Umsetzung.
Fig. 34 ist ein Blockschaltbild einer weiteren
Schaltung für das Ausführen einer Drehung.
Fig. 35 zeigt Bereichsunterteilungen und Abtastungen
in bezug auf ein Bild.
Fig. 36 zeigt Teilbereiche, die nicht einer Ortsfrequenzfilterung
unterzogen werden.
Fig. 37 ist eine Blockdarstellung einer Bildverarbeitungseinrichtung
zur Ortsfrequenzfilterung.
Fig. 38(a) veranschaulicht die Vergrößerung und
Abtastung von Bereichen, die durch das Unterteilen eines
Einzelbilds gebildet werden.
Fig. 38(b) zeigt einen Teil eines Bereiches.
Fig. 39 ist eine Blockdarstellung, die eine andere
Anordnung einer Bildverarbeitungseinrichtung zur Ortsfrequenzfilterung
zeigt.
Fig. 40 zeigt eine Datensteuerschaltung.
Fig. 41 ist ein Blockdarstellung eines Prozessorelements.
Fig. 42 zeigt die Zusammenhänge zwischen dem Format
eines Eingangs-Bildelementebereichs eines eingangsseitigen
Speichers, dem Format eines Ausgangs-Bildelementebereichs
eines ausgangsseitigen Speichers und dem Matrixformat einer
Prozessoreinheit.
Fig. 43 veranschaulicht die Datenübertragung zwischen
Prozessorelementen einer Prozessoreinheit.
Fig. 44 zeigt eine Koeffizientenmatrix für eine
Ortsfrequenzfilterung mittels der Prozessoreinheit.
Fig. 45 ist ein Blockschaltbild einer Schaltung zur
Ortsfrequenzfilterung.
Fig. 46 ist eine Blockdarstellung, die das Konzept
für eine Vergrößerung veranschaulicht.
Fig. 47 ist eine Blockdarstellung eines Adressengeneratorteils
einer Prozessoreinheit.
Fig. 48 ist eine Blockdarstellung, die das Konzept
für den Innenaufbau der Prozessoreinheit veranschaulicht.
Fig. 49 zeigt schematisch eine Datenwählschaltung
in einem jeweiligen Prozessorelement.
Fig. 50 ist ein Blockschaltbild der Datenwählschaltung.
Fig. 51 ist ein Blockschaltbild, das Einzelheiten
eines Hauptabtastungswählers und eines Unterabtastungswählers
nach Fig. 50 zeigt.
Fig. 52 ist eine schematische Darstellung einer
Schaltung zur zweidimensionalen linearen Interpolation.
Fig. 53 veranschaulicht die Zusammenhänge zwischen
Formaten von Eingabe/Ausgabe-Bildelementebereichen und dem
Matrixformat einer Prozessoreinheit.
Fig. 54 zeigt die Zusammenhänge zwischen einem
eingangsseitigen Bildspeicher, einer Prozessoreinheit und
einem ausgangsseitigen Bildspeicher bei einem Ausführungsbeispiel.
Fig. 55 zeigt das Format von bei dem Ausführungsbeispiel
verwendeten Bildreduktionsdaten.
Fig. 56 ist eine Darstellung der Funktion eines
jeden Prozessorelements bei dem Ausführungsbeispiel.
Fig. 57 zeigt die Zusammenhänge zwischen einem
eingangsseitigen Bildspeicher, einer Prozessoreinheit und
einem ausgangsseitigen Bildspeicher bei einem weiteren Ausführungsbeispiel
der Bildverarbeitungseinrichtung.
Fig. 58 und 59 veranschaulichen schematisch die
Funktion eines jeden Prozessorelements bei dem Ausführungsbeispiel.
Fig. 60 zeigt die Zusammenhänge zwischen einem
Eingangsbildspeicher, einer Prozessoreinheit und einem Ausgangsbildspeicher
bei dem Ausführen einer Vergrößerung mit
der Bildverarbeitungseinrichtung gemäß einem Ausführungsbeispiel.
Fig. 61 zeigt die Zusammenhänge zwischen Bildspeichern
und Prozessoreinheiten bei einem Ausführungsbeispiel
der Bildverarbeitungseinrichtung.
Fig. 62 zeigt Einzelheiten einer Prozessoreinheit
bei dem Ausführungsbeispiel.
Fig. 63 ist ein Ablaufdiagramm einer Farbsteuerung
bei einem Ausführungsbeispiel der Bildverarbeitungseinrichtung.
Fig. 64 veranschaulicht einen Datenaustausch bei
einer Farbkorrektur.
Fig. 65 veranschaulicht eine Bildversetzung.
Fig. 66 zeigt den Aufbau einer Prozessoreinheit 312
nach Fig. 46 sowie einen mittels der Prozessoreinheit 312 in
einem Eingabe-Bildspeicher 316 abgerufenen Bereich.
Fig. 67 veranschaulicht die Zusammenhänge zwischen
jeweiligen Prozessorelementen PE nach Fig. 65 und einem Ausgabe-
Bildspeicher 317.
Fig. 68 zeigt den Aufbau jeweiliger Digital-Integratoren
nach Fig. 66.
Anhand der Fig. 1 wird nun ein erstes Ausführungsbeispiel der
Bildverarbeitungseinrichtung beschrieben.
Die Bildverarbeitungseinrichtung gemäß diesem Ausführungsbeispiel
hat einen Bildspeicher 1 für das Speichern des Bilds
einer Seite, eine Prozessoreinheit 2 und einen peripheren
Teil 3 wie eine Eingabe/Ausgabe-Einheit. Die Fig. 1 veranschaulicht
nur die Anordnung dieser Grundkomponenten und
zeigt, daß die Prozessoreinheit 2 mit dem Bildspeicher 1
verbunden ist. Nach Fig. 1 werden n × m Bilddatenposten an
irgendwelchen Stellen in dem Bildspeicher 1 zur der Prozessoreinheit
2 übertragen, die aus einer n × m-Matrix von Prozessorelementen
2 a gebildet ist, in denen die Daten mit hoher
Geschwindigkeit verarbeitet werden, wonach sie in den Bildspeicher
1 zurückgeleitet werden. Die n × m Prozessorelemente
2 a in der Matrix führen die Verarbeitung gleichzeitig aus.
Damit ist die Gesamtausstattung eine solche für die sog.
Parallelverarbeitung. Die Fig. 9(a) und (b) zeigen andere
mögliche Anordnungen. Nach Fig. 9(a) werden Bilddaten aus
einem eingangsseitigen Bildspeicher 91 einer Prozessoreinheit
92 zugeführt, die eine Vielzahl von Prozessorelementen enthält,
in denen eine Vielzahl von Bildelementen der vorgeschriebenen
parallelen Verarbeitung unterzogen werden, wonach
die sich ergebenden Bilddaten in einen ausgangsseitigen Bildspeicher
93 eingespeichert werden. Dies erfolgt unter Steuerung
durch eine Steuerschaltung 94, die mit den Bildspeichern
91 und 93 und mit der Prozessoreinheit 92 verbunden ist. Nach
Fig. 9(b) ist der Bildspeicher 91 oder 93 mit der Prozessoreinheit
92, einer Eingabeeinheit 95 und einer Ausgabeeinheit
96 über eine gemeinsame Sammelleitung verbunden.
Es wird nun der Bildspeicher 1 ausführlich beschrieben.
Zur Vereinfachung sei angenommen, daß ein Bild das Format
1024 × 1024 Bildelemente hat und daß der Bildspeicher Daten in
Form von acht Bit je Bildelement speichert. Eine Änderung des
Bildformats wird lediglich durch Ändern der Architektur des
Ausführungsbeispiels bewerkstelligt. Ferner sei angenommen,
daß die Prozessoreinheit 2 aus 4 × 4 m, also insgesamt 16 Prozessorelementen
2 a gebildet ist.
Die Fig. 2 veranschaulicht die Gestaltung des Bildspeichers
1. Nimmt man an, daß gemäß der Darstellung ein Bild aus
1024 × 1024 Bildelementen zusammengesetzt ist und das Bild in
Einheiten aus 4 × 4 Bildelementen unterteilt wird, so wird das
Bild auf 256 × 256 Blöcke, also insgesamt 64 k (=65536) Blöcke
aufgeteilt. Dies kann gemäß Fig. 3 dargestellt werden, in
welcher 64 k Einheiten aus 4 × 4 Bildelementen angenommen sind,
von denen jedes die Länge von 8 Bit hat. Hinsichtlich der
Adressenbereiche des Speichers erfolgt daher die Adressierung
in drei Dimensionen mit 4 × 4 × 64 k. Falls einem einzelnen
Speicherbaustein 64 k Bildelemente für eine Bildelementstelle
aus der 4 × 4-Matrix der Bildelemente gemäß der Darstellung in
Fig. 3 zugeordnet sind, ist ein Speicherbaustein erforderlich,
in dem für die 64 k Adressenstellen eine jede Adresse
eine Tiefe von 8 Bit hat. Dies würde einen Speicherbaustein
mit einer Kapazität von 512 kBit (= 64 kByte) erforderlich
machen. Bei dem beschriebenen Ausführungsbeispiel werden zwei
dynamische Schreib/Lesespeicher (DRAM) für jeweils 256 kBit
in Kombination verwendet. D. h., es werden zwei dynamische 256 kBit-
Speicher für jeweils 64 k × 4 Bit verwendet und in der
Form 64 k × 8 Bit eingesetzt. Diese beiden Speicherbausteine
werden als ein Speicherelement 1 a bezeichnet. Nachstehend
wird eine Prozessoreinheit als "PU", ein Prozessorelement als
"PE" und ein Speicherelement als "ME" bezeichnet.
Der Bildspeicher 1 ist aus 16 Bildelementen 1 a entsprechend
einer Matrix von 4 × 4 Bildelementen zusammengesetzt. Die Fig. 4
zeigt die Anordnung dieser 4 × 4 Speicherelemente 1 a. Für
jedes Speicherelement 1 a wird dessen Zeilenadresse und dessen
Spaltenadresse bestimmt, so daß Bilddaten für die 64 k Adressenstellen
für ein einzelnes Bildelement aus den 4 × 4 Bildelementen
in ein jedes Speicherelement eingegeben bzw. aus
diesem ausgegeben werden können. An jedes der 4 × 4 Speicherelemente
1 a werden die Adressen von einem Zeilenadressengenerator
4 und einem Spaltenadressengenerator 5 angelegt. Es ist
anzumerken, daß ein einziger Adressengenerator ausreichend
ist, wenn die Speicherelemente 1 a dynamische Speicher sind
und die Zeilen- und Spaltenadressen im Zeitmultiplex angelegt
werden. Wenn dies der Fall ist, ist eine Umschaltsteuerung
für die Zeilenmultiplex-Verschachtelung der Zeilen- und Spaltenadressen
erforderlich. Die Zeilen- und Spaltenadressen
entsprechen jeweils A bzw. B für einen jeweils mit (A 1, B 1)
bezeichneten Block in einem jeweiligen Einzelbild gemäß Fig.
2.
Durch das Anlegen der Adressen aus den jeweiligen Adressengeneratoren
4 und 5 kann in die Speicherelemente 1 a für die 4 × 4
Bildelemente eingeschrieben bzw. aus diesen ausgelesen werden.
D. h., durch eine einzige Adressenbestimmung können 4 × 4
Speicherelemente gleichzeitig betrieben werden. Es sei angenommen,
daß zu diesem Zweck Datenleitungen für acht Bit
direkt von jedem der Speicherelemente 1 a wegführen.
Falls Daten mit der Zeilenadresse A (0 ≦ A ≦ 255) und der
Spaltenadresse B (0 ≦ B ≦ 255) aus dem Bildspeicher 1 abgerufen
werden, werden die der Adresse (A, B) nach Fig. 2 entsprechenden
Bilddaten aus 4 × 4 Bildelementen ausgelesen, von
denen jedes die Länge von acht Bit hat.
Der gleichzeitige Zugriff zu einer Vielzahl von Bildelementen
wird nun in allgemeiner Form beschrieben.
Die Fig. 10 zeigt eine Bildseite. Gemäß der Darstellung sind
die Bilddaten in aneinander angrenzende Blöcke aus jeweils
k × l Bildelementen unterteilt. Gemäß der Darstellung in Fig. 11
sind die k × l Bildelemente in einen jeden Block mit k × l
Speicherelementen 1 a in Beziehung gesetzt bzw. diesen zugeordnet.
Die aus diesen k × l Bildelementen gebildeten Blöcke
sind von einem Rand her mit (0, 0), (0, 1) (0, 2) (0,
3),. . . numeriert und entsprechen der Speichereinheit 1 aus
den k × l Speicherelementen 1 a gemäß Fig. 12. In der Fig. 13
ist die Speichereinheit 1 zweidimensional dargestellt. Das
Speicherformat bei dem Abruf der Speichereinheit 1 sind
Einheiten im Blockformat aus k × l Bildelementen. Daher werden
auch bei dem Abruf eines Blocks R aus k × l Bildelementen in
beliebiger Lage in der Speichereinheit 1 alle k × l Speicherelemente
1 a abgerufen. Darüber hinaus wird je ein Speicherelement
1 a eine Adresse abgerufen. Demgemäß werden k × l Bildelemente
zum gleichen Zeitpunkt herausgegriffen.
Auf diese Weise werden Bilddaten aus k × l benachbarten Bildelementen
an beliebigen Stellen in dem Bild gleichzeitig
abgerufen und ausgelesen, wonach diese Bilddaten mittels der
Prozessoreinheit 2 verarbeitet werden. Die mittels der Prozessoreinheit
2 verarbeiteten Bilddaten können durch Zugriff
zu beliebigen Stellen der Speichereinheit 1 wieder in einen
Block H aus k′ × l′ Bildelementen der Speichereinheit 1 eingeschrieben
werden. Die nachfolgende Beschreibung beruht auf
der Annahme, daß k′ = k und l′ = l gilt.
Der Zugriff zu einem Speicher für nur k′ × l′ Bildelemente wird
nun ergänzend erläutert. Falls die von der Prozessoreinheit 2
ausgeführte Verarbeitung eine Raum- bzw. Ortsfrequenzfilterung
gemäß einem Rechenvorgang unter Verwendung eines Ziel-
Bildelements und der dieses umgebenden Bildelemente ist, ist
das schreibseitige Blockformat k′ × l′ kleiner als das leseseitige
Blockformat k × l. Im allgemeinen erfolgt daher eine Verarbeitung
in der Weise, daß das schreibseitige Blockformat
k′ × l′ zu 1 × 1 wird. Auch wenn die von der Prozessoreinheit 2
ausgeführte Verarbeitung nicht eine Ortsfrequenzfilterung,
sondern eine Bildreduktion ist, wird das an der Schreibseite
abgerufene Blockformat k′ × l′ kleiner als das an der Leseseite
abgerufene Blockformat k × l.
Allgemein sind hinsichtlich des schreibseitigen Blockformats
k′ × l′ die Werte k′ und l′ die kleinsten ganzen Zahlen, die
den Bedingungen k′ ≧ α k und l′ < β l genügen, wobei α und β
jeweils das Längsreduktionsverhältnis bzw. das Querreduktionsverhältnis
sind. Falls bei der Ausführung der Verarbeitungen
gemäß den vorstehend genannten beiden Beispielen der
Lesespeicher und der Schreibspeicher identisch sind bzw. die
gleiche k × l-Speicheranordnung verwendet wird, muß schreibseitig
das Einschreiben in einem Format k′ × l′ erfolgen, das
kleiner als das Format k × l der Speichereinheit 1 ist. In
einem solchen Fall erfolgt der Zugriff zu nicht allen k × l
Speicherelementen 1 a. Statt dessen muß die Gestaltung derart
getroffen werden, daß die nicht für den Schreibvorgang benötigten
Speicherelemente 1 a maskiert und nicht abgerufen werden.
Das Maskieren der nicht für den Schreibvorgang benötigten
Speicherelemente und der gleichzeitige Zugriff zu nur
k′ × l′ Speicherelementen können auf einfache Weise dadurch
bewerkstelligt werden, daß Freigabesignale nur an die k′ × l′
Elemente aus den Bausteinen der k × l Speicherelemente 1 a und
nicht an die restlichen (k × l) - (k′ × l′) Speicherelemente
angelegt werden.
Im Hinblick auf ein Ausführungsbeispiel, bei dem vorgeschriebene
Bildelemente an beliebigen Stellen abgerufen werden,
werden nun ein Fall, bei dem die Speichereinheit 4 × 4-Anordnung
hat, sowie ein Fall beschrieben, bei dem die Speichereinheit
k × l-Anordnung hat. Ferner wird auch die Baustein-
Freigabesteuerung für das vorangehend genannte Maskieren
beschrieben.
Zunächst wird das Ausführungsbeispiel für den Fall beschrieben,
daß das Blockformat k × l das Format 4 × 4 ist.
In der Fig. 5 ist ein Teil der Fig. 2 vergrößert dargestellt.
Die Verarbeitung wird für einen Fall beschrieben, daß Bilddaten
aus irgendeinem 4 × 4-Block S in dem Bildspeicher 1 ausgelesen
werden, die Daten mittels der Prozessoreinheit 2 verarbeitet
werden und die Ergebnisse in irgendeinen beliebigen
4 × 4-Block T übertragen werden. (Gemäß Fig. 5 kann der Block S
mehrere in Fig. 2 gezeigte Blöcke überlappen). Die in Fig. 5
und 6 gezeigten 4 × 4-Zellen grenzen 4 × 4 bzw. 16 Speicherelemente
1 a ab. Es sei angenommen, daß diese 16 Speicherelemente
1 a mit Aa, Ab, . . ., Ba, Bb, . . ., Ca, . . . DC, Dd bezeichnet
sind. Falls zuerst der 4 × 4-Block S ausgelesen wird, werden
(N, M) als Zeilen- und Spaltenadresse an das Speicherelement
Dd aus den 16 Speicherelementen 1 a angelegt. Ferner werden
(N, M + 1) an die Speicherelemente Da, Db und Dc, (N + 1, M) an
die Speicherelemente Ad, Bd und Cd sowie (N + 1, M + 1) an die
restlichen Speicherelemente angelegt. Diese Adressen werden
von dem Zeilenadressengenerator 4 und dem Spaltenadressengenerator
5 erzeugt. Es ist offensichtlich, daß dann, wenn der
Ort eines Eckpunktes u des 4 × 4-Blocks S bestimmt wurde, die
Ortsadressen in horizontaler und vertikaler Richtung durch
vier dividiert werden und die Zeilen- und Spaltenadressen für
die Speicherelemente Aa bis Dd eindeutig durch Reste n und m
bestimmt sind. Für den Eckpunkt u sei die Ortsadresse u (Y,
X) angenommen. Er ergibt sich dann folgendes:
Y = 4N + n (n = 0, 1, 2, 3)
X = 4M + m (m = 0, 1, 2, 3)
Es ist beispielsweise eine Anordnung denkbar, bei der die
Informationen M und N und die Information m und n in Nachschlagetabellen
eingegeben werden und die Adressen mittels
der Adressengeneratoren 4 und 5 an die Speicherelemente Aa
bis Dd ausgegeben werden. Aus der vorstehenden Beschreibung
ist ersichtlich, daß der ausgegebene Wert zu diesem Zeitpunkt
irgendeiner der Werte M, N, N + 1 oder M + 1 ist. Unter Nutzung
dieser Eigenschaft ist es ausreichend, in eine Nachschlagetabelle
n oder m einzugeben, in Abhängigkeit von dem eingegebenen
Wert "0" oder "1" auszugeben und eine Steuerung zu der
Ermittlung auszuführen, ob die an die Speicherelemente Aa bis
Dd anzulegende Adresse N oder M aufzustufen ist oder nicht,
wie es in Fig. 7 dargestellt ist. Hierbei werden die Werte n
und N an dem Zeilenadressengenerator 4 und die Werte m und M
an dem Spaltenadressengenerator 5 eingesetzt.
Auf diese Weise werden über eine Nachschlagetabelle 71 und
Addierer 72 a bis 72 p gemäß Fig. 7 Adressen aus den Adressengeneratoren
4 und 5 an die 4 × 4-Matrix der 16 Speicherelemente
1 a angelegt, so daß gleichzeitig 16 Datenposten erhalten
werden können.
Diese 16 Datenposten werden nach irgendeiner Verarbeitung in
der Prozessoreinheit 2 oder ohne Verarbeitung in den in Fig.
5 gezeigten Block T für 4 × 4 Bildelemente übertragen. Die aus
den 16 Speicherelementen Aa bis Dd ausgelesenen Bilddaten
müssen jedoch nicht unbedingt zu den gleichen Speicherelementen
Aa bis Dd übertragen werden. Falls der 4 × 4-Bildelemente-
Speicherblock S nach Fig. 5 in den 4 × 4-Bildelemente-Speicherblock
T übertragen wird, müssen die aus dem Speicherelement
Aa des 4 × 4-Bildelemente-Speicherblocks S ausgelesenen Daten
zu dem Speicherelement Dc übertragen werden.
Es wird nun beschrieben, in welche Speicherelemente der Speicherelemente
Aa bis Dd die aus den Speicherelementen Aa bis
Dd ausgelesenen 16 Datenposten einzuschreiben sind, wenn
Anfangs- bzw. Eckpunkte u und v der 4 × 4-Speicherblöcke S bzw.
T beliebige Ortsadressen (Y, X) und (Y′, X′) haben.
Wenn Y, X, Y′ und X′ folgendermaßen ausgedrückt sind:
Y = 4N + n (n = 0, 1, 2, 3)
X = 4M + m (m = 0, 1, 2, 3)
Y′ = 4 P + p (p = 0, 1, 2, 3)
X′ = 4 Q + q (q = 0, 1, 2, 3)
ergeben sich x und y aus:
p - n = 4y′ + y (y′ = -1, 0; y = 0, 1, 2, 3) (1)
q - m = 4x′ + x (x′ = -1, 0; x = 0, 1, 2, 3) (2)
Zuerst wird die Zeilenreihe A aus den Speicherelementen Aa,
Ab, Ac und Ad unter zyklischer Vertauschung x-malig nach
rechts versetzt. Dadurch ergibt sich eine Zeilenreihe A′. Auf
gleichartige Weise werden Zeilenreihen B, C und D unter
zyklischer Vertauschung nach rechts versetzt, wodurch sich
mit B′, C′ und D′ bezeichnete Zeilenreihen ergeben.
Als nächstes werden die Spaltenreihen (ABCD)′ aus den Zeilenreihen
A′, B′, C′ und D′ unter zyklischer Vertauschung y-
malig nach unten versetzt.
Aus der Fig. 5 ist ersichtlich, daß n, m, p und q jeweils die
Werte 3, 3, 2 bzw. 1 haben. Daher ergibt sich aus den Gleichungen
(1) und (2): y′ = -1, y = 3, x′ = -1, x = 2. Infolgedessen
wird gemäß der vorstehenden Beschreibung folgende
Matrix erreicht:
Wenn eine zweimalige zyklische Vertauschung nach rechts vorgenommen,
ist, ergibt sich:
A′ = (Ac, Ad, Aa, Ab)
B′ = (Bc, Bd, Ba, Bb)
C′ = (Cc, Cd, Ca, Cb)
D′ = (Dc, Dd, Da, Db)
Wenn dann eine dreimalige zyklische Vertauschung nach unten
vorgenommen ist, ergibt sich die Matrix:
(Bc, Bd, Ba, Bb)
(Cc, Cd, Ca, Cb)
(Dc, Dd, Da, Db)
(Ac, Ad, Aa, Ab) (3)
Es wird nun die Matrix (3) mit folgender Grund bzw. Ursprungsmatrix
(4) verglichen:
Aa, Ab, Ac, Ad
Ba, Bb, Bc, Bd
Ca, Cb, Cc, Cd
Da, Db, Dc, Dd (4)
Die Ursprungsmatrix (4) wird einfach durch zweidimensionales
Anordnen der aus den Speicherelementen Aa bis Dd ausgelesenen
Daten in der Aufeinanderfolge von links nach rechts und von
oben nach unten gebildet. Die Matrix (3) entspricht einer
Matrix, die durch Anordnen der in die Speicherelemente Aa bis
Dd einzuschreibenden Daten auf zweidimensionale Weise in der
Aufeinanderfolge erzielt wird. Im einzelnen zeigt die Matrix
(3) als Beispiel, daß die aus dem Speicherelement Aa ausgelesenen
Daten in die vierte Zeile und dritte Spalte eingeschrieben
werden. Die Ursprungsmatrix (4) zeigt, daß die
vierte Zeile, dritte Spalte Dc ist. Infolgedessen ist es
ersichtlich, daß die aus dem Speicherelement Aa ausgelesenen
Daten in das Speicherelement Dc einzuschreiben sind.
Da es leicht ersichtlich ist, daß die aus dem Speicherelement
Aa in Fig. 5 ausgelesenen Daten in den Ort Dc eingeschrieben
werden sollen, ist die Versetzung von Aa zu dem Ort Dc äquivalent
einem Übergang von der Ortsadresse u zu der Ortsadresse
v. Da ferner die Speicherelemente 1 a die 4 × 4-Anordnung
haben, können die durch das Dividieren der Ortsadressen in
der horizontalen und vertikalen Richtung durch "4" erhaltenen
Reste als Versetzungen x und y der Speicherelemente angesehen
werden. Falls beispielsweise die Versetzungen der Ortsadressen
u unv v Vielfache von "4" sind, werden die Versetzungen x
und y zu "0", so daß die aus einem bestimmten Speicherelement
ausgelesenen Daten nach der Verarbeitung in das gleiche Speicherelement
eingeschrieben werden.
Die Ausführung der vorstehenden Verarbeitung durch Schaltungsausstattung
wird nun kurz beschrieben. Die Fig. 8 ist
eine Blockdarstellung, gemäß der gleichzeitig aus der Speichereinheit
1 mit der 4 × 4-Matrix aus 16 Speicherelementen 1 a
ausgelesenen Daten mittels der Prozessoreinheit 2 verarbeitet
werden. Diese Daten werden zu vier Elementen gleichzeitig
durch zyklische Vertauschung in x-Versetzungs-Umlauftauschern
81 a bis 81 d x-malig versetzt. Die Ergebnisse werden dann
mittels eines y-Versetzungs-Umlauftauschers 82 durch zyklische
Vertauschung y-malig versetzt und jeweils in die Speicherelemente
Aa bis Ad, Ba bis Bd, Ca bis Cd bzw. Da bis Dd
eingeschrieben.
Die jeweils in den y-Versetzungs-Umlauftauscher (Rotator) 82
eingegebenen Daten sind die Daten für vier Elemente, so daß
daher selbstverständlich der y-Versetzungs-Umlauftauscher 82
aus vier Umlauftauschern gebildet sein kann, die genau die
gleichen wie die x-Versetzungs-Umlauftauscher 81 a bis 81 d
sind. Selbstverständlich müssen die Umlauftauscher die gleiche
Bit-Anzahl-Tiefe wie die Speicherdatentiefe haben und die
Anzahl der eingesetzten Umlauftauscher muß gleich der Tiefe
der Speicherdaten sein. Als Umlauftauscher können Schieberegister
oder Bläschenspeicher verwendet werden.
Das vorstehende wird nun in allgemeiner Hinsicht betrachtet.
Falls ein Speicherblock das Format k × l hat, erhält die Speichereinheit
1 eine k × l-Anordnung. Wenn in diesem Fall der
Speicherblock S aus k × l Bildelementen an beliebigen Stellen
mittels der Prozessoreinheit 2 verarbeitet wird und die Ergebnissse
in den Speicherblock T aus k × l Bildelementen an
beliebigen Stellen übertragen werden, erhält man die Werte n,
m, p und q aus folgenden Gleichungen:
Y = kN + n (n = 0, 1, . . ., k-1)
X = lM + m (n = 0, 1, . . ., l-1)
(N, M, P, Q = 1, 2, 3, . . .)
Y′ = kP + p (p = 0, 1, . . ., k-1)
X′ = lQ = q (q = 0, 1, . . ., l-1) (10)
wobei die Ortsadresse des Eckpunkts des Blocks S (Y, X) ist
und die Ortsadresse des Eckpunkts des Blocks T (Y′, X′) ist.
Unter Einsetzen von x und y in
p - n = Ky′ + y (y′ = 1,0, y = 0, 1, 2, 3, . . ., k-1)
q - m = lx′ + x (x′ = 1,0, x = 0, 1, 2, 3, . . ., l-1) (11)
ist es ausreichend, zum Ausführen der Verarbeitung die x-
Versetzungs-Umlauftauscher 81 a bis 81 d und den y-Versetzungs-
Umlauftauscher 82 der in Fig. 8 gezeigten Art zu verwenden.
In diesem Fall hat der x-Versetzungs-Umlauftauscher l Eingänge
und ermöglicht eine Versetzung von 0 bis l-1. Der y-
Versetzungs-Umlauftauscher hat k Eingänge und ermöglicht eine
Versetzung von 0 bis k-1. Da darüber hinaus die k Eingangssignale
des y-Versetzungs-Umlauftauschers 82 jeweils l Elemente
haben, werden l Umlauftauscher für eine Eingabe von k Elementen
angeordnet.
Als nächstes wird die Speicherelemente-Zugriffsteuerung für
den gleichzeitigen Zugriff zu dem vorangehend genannten
k′ × l′-Block gemäß Fig. 10 beschrieben.
Es sei angenommen, daß die Ortsadresse eines Eckpunkts i des
k′ × l′-Blocks (f, g) ist. Falls der entsprechend der Gleichung
(10) abgerufene Speicher gelesen wird, wird f, g in Y, X
eingesetzt. Falls in den Speicher entsprechend dem Zugriff
gemäß der Gleichung (10) eingeschrieben wird, wird f, g in
Y′, X′ eingesetzt. Wenn das Ergebnis in die Gleichung (11)
eingesetzt wird, um y, x zu erhalten, kann die Schaltung
gemäß dem in den Fig. 7 und 8 gezeigten Ausführungsbeispiel
direkt als für k × l verallgemeinerte Anordnung angewandt werden.
Hierbei werden nur die Bausteine für die k′ × l′ Speicherelemente
aus den k × l Speicherelementen eingeschaltet bzw. freigegeben.
Falls die Bausteinfreigabe die Ortsadresse (f,
g) des Eckpunktes i des k′ × l′-Blocks festgestellt worden ist,
sind durch die Gleichung (10) die Werte n, m oder p, q eindeutig
bestimmt, so daß auch der Zugriff zu den k′ × l′ Speicherelementen
eindeutig bestimmt ist.
Bei einer Speicheranordnung aus k × l Speicherelementen gemäß
der bisherigen Beschreibung kann ein Fall in Betracht gezogen
werden, bei dem ein k′ × l′-Block gleichzeitig für das Lesen
und ein k′′ × l′′-Block gleichzeitig für das Schreiben ausgelesen
wird (wobei 0 ≦ k′′ ≦ k und 0 ≦ l′′≦l gilt). Die vorstehende
Beschreibung gilt auch in diesem Fall. Ein Ausführungsbeispiel
für die in diesem Fall an den Speicherelementen auszuführende
Bausteinfreigabe-Steuerung ist in der Fig. 14 dargestellt.
Falls die Ortsadressen der Eckpunkte der Blöcke k′ × l′ und
k′′ × l′′ jeweils (Y, X) und (Y′, X′) sind, werden die Werte n, m
und p, q aus der Gleichung (10) erhalten. Diese Werte n, m
und p, q werden an die Dateneingänge eines Wählers 141 a
angelegt. An den Wähler wird als Wählsteuersignal ein Speicherzugriff-
Lese/Schreib-Signal R/W angelegt. Für das Lesen
der Daten werden selektiv n und m ausgegeben, während für das
Schreiben der Daten selektiv p und q ausgegeben werden.
Auf gleichartige Weise werden die Blockformate k′ × l′ und
k′′ × l′′ in einen Wähler 141 b eingegeben, an dem das Signal R/W
als Wählsteuersignal dient. Wenn die Daten gelesen werden,
werden selektiv k′ und l′ ausgegeben, während bei dem Schreiben
der Daten selektiv k′′ und l′′ ausgegeben werden. Es ist
offensichtlich, daß dann, wenn für das Lesen die Werte n, m,
k′ und l′ bzw. für das Schreiben k′′, l′′, p und q festgelegt
worden sind, die Speicherelemente 1 a für den Zugriff eindeutig
bestimmt sind. Daher werden die von diesen Wählern 141 a
und 141 b ausgegebenen Daten in eine Nachschlagtabelle 142
eingegeben, die Signale zur Steuerung der abzurufenden Speicherelemente
1 a aus den k × l Speicherelementen abgibt.
Es ist ersichtlich, daß dann, wenn der Bildspeicher zur
Speicherung vor der Verarbeitung durch die Prozessoreinheit
92 gemäß Fig. 9(a) und (b) von dem Bildspeicher zur Speicherung
nach der Verarbeitung verschieden ist und die Speicheranordnungen
jeweils k × l bzw. K × L sind, zwei Nachschlagetabellen
151 und 152 gemäß Fig. 15 verwendet werden müssen. In
diesem Fall haben die Nachschlagtabellen 151 und 152 voneinander
verschieden Inhalt.
Es treten auch dann keine Probleme auf, wenn k = K und l = L
gilt. Falls die vorstehend beschriebene Anordnung verwendet
wird, müssen die abzurufenden Speicherelemente nicht alle k × l
Speicherelemente sein und es ist eine teilweise Maskierung
möglich. Es ist ausreichend, wenn die Anordnung der k × l
Speicherelemente auf das Format k × l gewählt ist, welches das
größte erforderliche Format ist.
Es wird nun der Zugriff zu den Speicherelementen für die
Verarbeitung aller Bilddaten eines Vollbilds beschrieben.
D. h., die folgende Beschreibung betrifft ein Abtast- bzw.
Abfrageverfahren für den Abruf aller Speicherdaten.
Anhand der Fig. 5 und 6 wurde schon der Zugriff zu einem
Speicher in dem Fall beschrieben, daß die Ortskasse des
Anfangs- bzw. Eckpunktes u des Blocks aus aneinander angrenzenden
k × l Bildelementen schon festgelegt wurde, nämlich Y, X
festgelegt wurden, wobei Y die bei der aufeinanderfolgenden
Zählung von 0 an in der vertikalen Richtung ausgehend von dem
Eckpunkt erhaltene Zahl ist und X die bei der aufeinanderfolgenden
Zählung von 0 an in der horizontalen Richtung ausgehend
von dem Eckpunkt erhaltene Zahl ist. Anhand folgender
Beispiele wird nun beschrieben, in welcher Aufeinanderfolge X
und Y für das Verarbeiten des Vollbilds abzufragen sind.
Beispiel 1
Erstes Folgeabfrageverfahren
Dies ist ein Verfahren, bei dem Ortsadressen X, Y von Bilddaten
für den Abruf von k × l Speicherelementen dadurch abgefragt
werden, daß die Werte um ein ganzzahliges Vielfaches von k
bzw. l aufgestuft oder abgestuft werden. Beispielsweise werden
Y und X anfänglich auf "0" eingestellt und X wird aufeinanderfolgend
in Stufen l erhöht. Wenn X bis zu dem Endwert in
der horizontalen Richtung erhöht worden ist, wird X auf "0"
rückgesetzt, Y und k erhöht und X in Stufen l erhöht. Dies
wird aufeinanderfolgend wiederholt, um das ganze Bild oder
einen Teil hiervor abzutasten. Dieses Verfahren wird als
erste Folgeabfrageverfahren bezeichnet.
Beispiel 2
Erstes Zufallsabfrageverfahren
X und Y werden nicht gemäß der vorstehenden Beschreibung
aufeinanderfolgend erhöht oder vermindert. Statt dessen werden
hier und da in dem Vollbild gelegene aufeinanderfolgende k × l-
Blöcke unter Zufallsverteilung abgerufen, wobei die zum Zeitpunkt
des Abrufs geltenden Werte X und Y Versetzungen sind,
die ganzzahlige Vielfache von k und l sind. Dieses Verfahren
wird als erstes Zufallsabfrageverfahren bezeichnet.
Beispiel
Zweites Folgeabfrageverfahren
Bei diesem Verfahren werden die Ortsadressen X, Y der Bilddaten
für den Zugriff zu den k × l Speicherelementen durch Aufstufen
oder Abstufen um eine ganze Zahl abgefragt. Beispielsweise
werden Y und X anfänglich auf "0" eingestellt, wonach X
aufeinanderfolgend in Stufen "1" erhöht wird. Wenn X bis zu
dem Endwert in der horizontalen Richtung erhöht worden ist,
wird dann X auf "0" rückgesetzt, Y um "1" aufgestuft und X in
Stufen "1" erhöht. Dies wird aufeinanderfolgend wiederholt,
um ein Einzelbild vollständig oder zum Teil abzutasten.
Dieses Verfahren wird als zweites Folgeabfrageverfahren bezeichnet.
In diesem Fall wird der gleiche Speicherdatenbereich
mehrmalig abgefragt.
Beispiel 4
Zweites Zufallsabfrageverfahren
X und Y werden nicht auf die vorstehend beschriebene Weise
aufeinanderfolgend erhöht oder vermindert. Stattdessen werden
hier und da in dem Vollbild liegende k × l-Blöcke unter Zufallsverteilung
abgerufen, was für alle Werte KX und Y ausgeführt
wird. Alternativ kann diese Verarbeitung für die Werte
X und Y von aufeinanderfolgenden Teilbereichen in dem Vollbild
ausgeführt werden. Wenn dies zufallsbedingt erfolgt,
wird das Verfahren als zweites Zufallsabfrageverfahren bezeichnet.
Beispiel 5
Block-Folgeabfrageverfahren
Wenn ein abzurufender Speicherblock ein k′ × l′-Speicherblock
in einer Speicheranordnung mit k × l Speicherelementen ist,
werden Ortsadressen Y, X (1 ≦ k′ ≦ k, 1≦l′≦l) um ganzzahlige
Vielfahce von k′ und l′ erhöht oder vermindert, was aufeinanderfolgend
zum Abtasten eines Vollbilds wiederholt wird.
Dieses Verfahren wird zur Unterscheidung von dem ersten Folgeabfrageverfahren
als Block-Folgeabfrageverfahren bezeichnet.
Beispiel 6
Block-Zufallsabfrageverfahren
X und Y werden nicht gemäß der vorstehenden Beschreibung des
Beispiels 5 aufeinanderfolgend erhöht oder vermindert. Stattdessen
werden hier und da in dem Vollbild liegende aufeinanderfolgende
k′ × l′-Blöcke unter Zufallsverteilung abgerufen,
wobei X und Y Versetzungen sind, die ganzzahlige Vielfache
von k′ und l′ sind. Dieses Verfahren wird als Block-Zufallsabfrageverfahren
bezeichnet.
Beispiel 7
Sequentielles Abfrageverfahren
Die Abfrage erfolgt sequentiell ohne Zusammenhang mit der
Speicheranordnung der k × l Speicherelemente. Beispielsweise
erfolgt die Abfrage durch das Verändern von X, Y um jede
zweite beliebig gewählte Zahl d′, f′. Dies wird einfach als
sequentielle Abfrage bezeichnet.
Beispiel 8
Zufallsbedingtes Abfrageverfahren
Falls die Speicherabfrage nicht im Falle der Zufallsabfrage
gemäß Beispiel 7 oder 4 bezüglich aller Kombinationen aus X
und Y ausgeführt wird, wird das Verfahren einfach als zufallsbedingte
Abfrage bezeichnet.
Gemäß den vorstehenden Ausführungen können einige Abfrageverfahren
in Betracht gezogen werden und es ist der Speicherzugriff
an dem leseseitigen Speicher und dem schreibseitigen
Speicher möglich, wobei das Abfrageverfahren für den Lesespeicher
nicht unbedingt mit dem Abfrageverfahren für den
Schreibspeicher übereinstimmen muß.
Wenn das leseseitige Abfrageverfahren festgelegt worden ist,
werden schreibseitig die Werte X′ und Y′ durch den Inhalt der
von der Prozessoreinheit 2 ausgeführten Verarbeitung bestimmt.
Es kann auch zuerst das schreibseitige Abfrageverfahren
festgelegt werden, wobei in diesem Fall dann das leseseitige
Abfrageverfahren durch den Inhalt der von der Prozessoreinheit
2 ausgeführten Verarbeitung bestimmt ist.
Falls auch die Blockformate k × l der in dem Lesespeicher und
dem Schreibspeicher abzurufenden Blöcke voneinander verschieden
sind, unterscheiden sich auch die Formate der Speicherelemente-
Anordnung k × l.
Die Fig. 19(a) ist ein Schaltbild, das das Konzept des Aufbaus
eines Prozessorelements PE veranschaulicht. Eine logische
und arithmetische Recheneinheit 12, die über eine Dateneingabeeinheit
11 Daten aus einem oder mehreren Speicherelementen
sowie über einen Empfangspuffer 13 Daten aus einem
oder mehreren Prozessorelementen aufnimmt, führt gemäß diesen
Daten vorbestimmte logische und arithmetische Rechenvorgänge
aus und gibt die Ergebnisse über eine Datenausgabeeinheit 15
an ein oder mehrere Speicherelemente ab. Die logische und
arithmetische Recheneinheit 12 sendet ferner die Daten aus
der Dateneingabeeinheit 11 oder die Ergebnisse der logischen
und arithmetischen Rechenvorgänge über einen Sendezwischenspeicher
bzw. Sendepuffer 14 zu einer oder mehreren Prozessoreinheiten.
Fig. 19(b) ist ein Blockschaltbild, gemäß dem die logische
und arithmetische Recheneinheit 12 durch einen Mikroprozessor
gebildet ist.
An eine interne Sammelleitung 10 sind eine Zentraleinheit
(CPU) 12 a, ein Festspeicher (ROM) 12 b zum Speichern eines
Steuerprogramms und ein Schreib/Lesespeicher (RAM) 12 c als
Hilfsspeicher angeschlossen, die zusammen die logische und
arithmetische Recheneinheit 12 bilden. Ferner sind an die
Sammelleitung 10 die Dateneingabeeinheit 11, die Datenausgabeeinheit
15, der Empfangspuffer 13 und der Sendepuffer 14
angeschlossen, die in Fig. 19(a) gezeigt sind.
Die einzelnen Prozessorelemente führen die gleiche oder jeweils
eine eigene Verarbeitung und den Datenaustausch mit den
anderen Prozessorelementen aus. Unter der Steuerung gemäß
einem zuvor in dem jeweiligen Prozessorelement gespeicherten
Steuerprogramm oder unter der Steuerung durch eine externe
Steuerschaltung oder einen Verarbeitungsrechner führt die
ganze, aus dieser Prozessorelementegruppe gebildete Prozessoreinheit
die vorbestimmte Verarbeitung parallel aus.
Dichteumsetzung, Farbumsetzung und Maskierung von Bilddaten.
Die Dichteumsetzung, die Farbumsetzung und dergleichen kann
mittels eines Systems vorgenommen werden, in dem sowohl leseseitig
als auch schreibseitig das erste Folgeabfrageverfahren
angewandt wird. Dies wird nun ausführlich beschrieben.
Die Farbumsetzung ist eine Verarbeitung, bei der dann, wenn
Bilddaten bestimmte Farbinformationen enthalten, die Farbinformationen
in andere vorbestimmte Farbinformationen umgesetzt
werden.
Bei einem Maskieren wird gemäß der Darstellung in Fig. 21(a)
bis 21(c) nur ein bestimmter Teil der Bilddaten unverändert
ausgegeben, während der Rest der Bilddaten als Untergrund,
wie beispielsweise weißer Untergrund ausgegeben wird. Als
Untergrund können auch andere Daten beispielsweise für
"Grau", "Farblos" oder dergleichen ausgegeben werden. Die
Fig. 21(a) zeigt Daten, die einen zu maskierenden Bereich
angeben, die Fig. 21(b) zeigt ein zu maskierendes Bild und
die Fig. 21(c) zeigt die ausgegebenen Ergebnisse.
Für die Dichteumsetzung arbeitet beispielsweise ein jedes
Prozessorelement 2 a in der Prozessoreinheit 2 gemäß dem Ablaufdiagramm
in Fig. 22. Hierbei ist ein einem Eingangswert
Vin entsprechender Ausgangswert Vout (nach Fig. 20) durch
folgende Gleichung bestimmt:
Vout = Vin²/64 (12)
Die Prozessoreinheit enthält 16 Prozessorelemente, von denen
jedes jeweils 4 × 4 Bildelementen mit einer Länge von 8 Bit
entspricht. In diese Prozessoreinheit 2 werden die der Adresse
(A, B) nach Fig. 2 entsprechenden 4 × 4 Datenposten mit 8
Bit Länge eingegeben. Die Prozessorelemente 2 a arbeiten parallel
und geben jeweils Daten ab. Infolgedessen werden die
gleichzeitig abgerufenen 4 × 4 Datenposten mit 8 Bit Länge in
der Prozessoreinheit 2 gleichzeitig verarbeitet, wonach die
Ergebnisse gleichzeitig ausgegeben werden. Auf diese Weise
ist eine Bildverarbeitung mit hoher Geschwindigkeit ermöglicht.
Die Prozessorelemente 2 a führen Verarbeitungen wie eine Dichteumsetzung,
eine Farbumsetzung und ein Maskieren aus.
Gemäß der vorstehenden Beschreibung umfaßt die Dichteumsetzung
das Verändern eines Eingangswerts in einen entsprechenden
Ausgangswert in Übereinstimmung mit einer vorbestimmten
Eingabedichte/Ausgabedichte-Wechselbeziehung und die Abgabe
des Ausgangswerts. Auf diese Weise kann der Kontrast eines
Bilds erhöht und dessen Helligkeit geändert werden. Die Fig.
20 veranschaulicht eine Dichteumsetzung, bei der der Rechenvorgang
gemäß Gleichung (12) ausgeführt wird.
Für eine Farbumsetzung arbeitet beispielsweise ein jedes
Prozessorelement 2 a in der Prozessoreinheit 2 gemäß dem in
Fig. 23 gezeigten Ablaufdiagramm. Hierbei wird eine Farbinformation
als Kombination aus beispielsweise Rot R, Grün G und
Blau B ausgedrückt, wobei für R, für G und für B der vorangehend
genannte Bildspeicher vorgesehen ist und jeder Bildspeicher
für das Speichern von Daten mit einer Länge von 8 Bit
ausgelegt ist. Die einzelnen identischen Prozessorelemente
sind entsprechend Bildspeicherzellen für R, G und B zugeordnet.
Eine Kombination aus bestimmten R-, G- und B-Werten
ist im voraus als eine bestimmte Farbe gespeichert, während
gleichermaßen die Farbinformation nach einer Änderung als
eine Kombination aus bestimmten R-, G- und B-Werten vorgespeichert
ist. Es können natürlich mehrere bestimmte Farben
gespeichert sein.
Für ein Maskieren arbeitet beispielsweise jedes Prozessorelement
in der Prozessoreinheit gemäß dem in Fig. 24 gezeigten
Ablaufdiagramm. Hierbei betrifft das Maskieren Bitdaten in
einem Speicher, der durch einen Bit-Verzeichnisspeicher gebildet
ist, dessen Bits den jeweiligen Zellen des vorangehend
genannten Bildspeichers entsprechen. Diese Daten zeigen an,
ob sie innerhalb einer Maske liegen oder nicht. In diesem
Fall ist ein einzelnes Prozessorelement gleichfalls den entsprechenden
Zellen des Maskierspeichers und des Bildspeichers
zugeordnet.
Falls die Gestaltung derart getroffen ist, daß eine Datenübertragung
zwischen den Prozessorelementen 2 a der beschriebenen
Prozessoreinheit 2 ermöglicht ist, kann in der Prozessoreinheit
2 sowohl eine Raum- bzw. Ortsfrequenzfilterung als
auch eine Zeichenerkennung, Komprimierung und Decodierung
ausgeführt werden.
Es wird nun ein zweites Ausführungsbeispiel beschrieben, bei
dem Bilddaten zum gleichzeitigen Abruf von k × l Datenposten
k × l Speicherelementen zugeordnet sind. Die 16 veranschaulicht
einen Zustand, der sich dann ergibt, wenn die
Informationen für ein Einzelbild durch Daten ersetzt sind.
Die Informationen sind horizontal in l gleiche Abschnitte und
vertikal in k gleiche Abschnitte unterteilt. Zur Beschreibung
der sich durch diese Unterteilung ergebenden k × l-Bereiche
sind diese mit (0, 0), (0, 1), . . . (0, l), . . . (k, l) bezeichnet,
wobei gemäß der Darstellung in Fig. 17 einem jeden
einzelnen Bereich ein einzelnes eigenes Speicherelement 1 b
zugeordnet ist. D. h., die Anzahl der Speicherelemente 1 B ist
gleich der Anzahl der in Fig. 16 gezeigten Unterteilungen.
Bei der Zuordnung der Bereiche ist jeder schattierte Teilbereich
nach Fig. 16 der Adresse 0 des entsprechenden Speicherelements
1 b zugeordnet, während die benachbarten Bilddaten
der Adresse 1 des entsprechenden Speicherelements zugeordnet
sind usw., bis alle Daten einer einzelnen Zeile in einem
jeweiligen Bereich vollständig zugeordnet sind. Danach erfolgt
die Zuweisung auf gleichartige Weise für die zweite
Zeile von links nach rechts. Dies wird wiederholt, bis alle
Bilddaten zugeordnet sind. Wenn alle Adressen identisch sind,
die von dem Zeilenadressengenerator 4 und dem Spaltenadressengenerator
5 nach Fig. 4 an alle k × l Speicherelemente 1 b
angelegt werden, können beliebige Bilddaten gleichzeitig
abgerufen werden, wie es durch die schattierten Teilbereiche
in Fig. 16 dargestellt ist.
Mit dieser Anordnung ist es ermöglicht, eine bestimmte Adresse
zu wählen, aus dem Bildspeicher 1 die Daten an dieser
Adresse auszulesen, die Daten in der Prozessoreinheit 2 zu
verarbeiten und dann die sich ergebenenden Daten ohne Änderung
der Adresse in die k × l Speicherelemente 1 b einzuschreiben.
Falls beispielsweise jeder der Bereiche gemäß Fig. 16 aus K × L
Bilddaten zusammengesetzt ist, ist es ohne Belang, wenn die
Leseadresse und die Schreibadresse identisch sind, falls eine
Verarbeitung zum Bewegen oder Übertragen eines Teilbereichs
eines Einzelbilds um eine Versetzung ausgeführt wird, die ein
ganzzahliges Vielfaches von L in horizontaler Richtung und
ein ganzzahliges Vielfaches von K in vertikaler Richtung ist.
Hierdurch wird die Belastung der die Adressensteuerung betreffenden
Komponenten wie des Zeilenadressengenerator 4 und
des Spaltenadressengenerator 5 beträchtlich vermindert.
Die Verarbeitung für das Bewegen oder Übertragen wird von der
Prozessoreinheit 2 ausgeführt. Die Prozessoreinheit 2 empfängt
eine Eingabe von k × l Bilddatenposten gemäß der Darstellung
durch die strichlierten Teilbereiche in Fig. 16 und eine
Eingabe aus Bilddaten über das ganze Einzelbild. Da die
einzelnen dieser Datenposten um ein ganzzahliges Vielfaches
von L und K in horizontaler bzw. vertikaler Richtung versetzt
werden, werden in der Prozessoreinheit 2 die k × l Datenposten
ausgetauscht bzw. bewegt und übertragen, wobei die Verarbeitung
aufeinanderfolgend in der Reihenfolge von 0 an bezüglich
aller Adressen der Speicherelemente ausgeführt werden kann.
Infolgedessen kann das ganze Einzelbild verarbeitet werden.
Bei diesem Ausführungsbeispiel kann erwogen werden, durch
Verwendung einer 1 × l- oder k × l-Anordnung für die k × l-Speicherzusammensetzung
und durch Zuordnen einer horizonatalen
oder einer vertikalen Linie in einem Einzelbild zu jedem der
Speicherelemente die in der Prozessoreinheit 2 ausgeführte
Verarbeitung für verschiedenartige Bildverarbeitungen anzuwenden,
wie für eine Histogramm- bzw. Häufigkeitsverteilungs-
Aufbereitung für eine einzelne Linie eines Bilds oder für
eine eindimensionale Fourier-Transformation. Darüber hinaus
besteht bei dem gleichzeitigen Zugriff zu einer Vielzahl von
Bildelementen keinerlei Einschränkung darauf, welche Adressen
welcher Speicherelemente den Daten in einem Einzelbild zugewiesen
werden.
Bilddatendrehung
Es wird nun ein Beispiel für die Anwendung einer derartigen
Speicheranordnung beschrieben. Da vorstehend eine Übertragung
bzw. Versetzung der Daten beschrieben wurde, wird nun eine
Drehung bzw. Verschwenkung der Daten erläutert. Zur Vereinfachung
sei angenommen, daß für die k × l Unterteilungen einer
k × l-Speicherelementenanordnung k = l gilt, so daß sich eine
l × l-Anordnung ergibt. Ferner sei für einen Bereich mit K × L
Bildelementdaten angenommen, daß K = L gilt. Wenn in diesem
Fall ein Einzelbild um +90° oder -90° mit der Bildmitte als
Achse geschwenkt werden soll, werden von der Prozessoreinheit
vier Datenposten aus den l × l Bilddatenposten vertauscht,
nämlich vier voneinander um 90° versetzte Datenposten in
bezug auf die Mitte geschwenkt. Wenn dies hinsichtlich des
ganzen Einzelbilds wiederholt wird, wird dadurch das Einzelbild
um 90° gedreht. Infolgedessen wird für das Drehen des
ganzen Einzelbilds die vorstehend genannte Schwenkung l²/4-
malig ausgeführt. Im Falle einer 180°-Drehung genügt es, zwei
gegeneinander um 180° versetzte Datenposten in bezug auf die
Mitte zu schwenken bzw. zu vertauschen. Zur Drehung des
ganzen Einzelbilds um 180° erfolgt das Schwenken l²/2-malig.
Auf diese Weise wird mit diesem Vorgang ein Einzelbild einer
Grob-Drehung unterzogen. Dies entspricht einer Drehung von
den l × l Bereichen nach Fig. 25 auf die l × l Bereiche nach Fig. 26.
Tatsächlich müssen die Drehungen um +90°C, -90°C, +180° und
dergleichen auf gleichartige Weise auch innerhalb der gleichen
Bereiche ausgeführt werden.
Die Drehung innerhalb eines Einzelbilds wäre ohne die Drehung
innerhalb der Bereiche unvollständig. Es wird nun die Drehung
innerhalb eines Bereichs beschrieben. Dieser Vorgang umfaßt
eine Verarbeitung, bei dem eine beim Auslesen eines Speicherelements
geltende Adresse zu einer bei dem Einschreiben in
ein Speicherelement geltenden Adresse umgesetzt wird. Die
Adressenumsetzung erfolgt auf die in der nachstehenden Tabelle
1 dargestellte Weise.
Eine Schaltung für diese Verarbeitung ist in Fig. 18 ausführlich
als Blockschaltbild dargestellt, gemäß dem ein Wählsignal
in Abhängigkeit von dem Drehwinkel verändert wird und als
Wählsteuersignal in Wähler 181, 182, 183 und 184 eingegeben
wird.
Normalerweise werden bei dem Drehwinkel 0° die Ausgangssignale
des Zeilengenerators 4 und des Spaltenadressengenerators
5 jeweils direkt über die Wähler 181 und 183 bzw.
182 und 184 den Zeilen- und Spaltenadressen der Speicherelemente
zugeführt. Wenn der Drehwinkel +90° oder -90° beträgt,
werden den Spalten- und Zeilenadressen jeweils Ausgangssignale
a und b der Wähler 181 bzw. 182 zugeführt.
Wenn der Drehwinkel 0° oder 180° beträgt, ergeben die Ausgangssignale
a und b der Wähler 181 bzw. 182 jeweils die
Zeilen- bzw. Spaltenadressen. Bei den Drehwinkeln 90° und
180° wird von dem Wähler 184 das Ausgangssignal einer Recheneinheit
186 gewählt. Bei den Drehwinkeln -90° und 180° wird
von dem Wähler 184 das Ausgangssignal einer Recheneinheit 185
gewählt. In den Recheneinheiten 185 und 186 werden die eingegebenen
Daten von der Länge L einer Seite einer Bereichs
subtrahiert und Signale für das Ergebnis ausgegeben. Mit
einer derartigen Anordnung wird die in der Tabelle 1 dargestellte
Verarbeitung zur Drehung eines ganzen Einzelbilds
ausgeführt.
Es wird nun der Zugriff zu den Speicherelementen für die
Verarbeitung aller Bilddaten über ein ganzes Vollbild hinweg
beschrieben. D. h., die folgende Beschreibung betrifft ein
Abtast- bzw. Abfrageverfahren für den Zugriff zu allen Speicherdaten.
Es wurde vorstehend schon der Zugriff zu einem Speicher in
dem Fall beschrieben, daß die Ortsadresse des Anfangs- bzw.
Eckpunkts u von abzurufenden aneinandergrenzenden k × l-Blöcken
festgelegt worden ist, nämlich Y, X festgelegt wurden, wobei
Y die durch das Zählen in Aufeinanderfolge von "0" an in
vertikaler Richtung von dem Eckpunkt ausgehend erhaltene Zahl
ist und X die durch das Zählen in Aufeinanderfolge von "0" an
in horizontaler Richtung von dem Eckpunkt ausgehend erhaltene
Zahl ist. Anhand eines Beispiels wird nun beschrieben, in
welcher Reihenfolge die Werte X und Y abzurufen sind, um das
Vollbild zu verarbeiten.
Es wird ein Beispiel für an die Speicherelemente anzulegende
Abfrageadressen erläutert. Die durch das Unterteilen eines
Einzelbilds in l × l Abschnitte erhaltenen Bereiche entsprechen
den jeweiligen Speicherelementen. Daher werden zum Abtasten
eines Einzelbilds die gleichen Adressen an alle Speicherelemente
angelegt und die Adressen aufeinanderfolgend von "0" an
aufgestuft. Da die Adressen der Speicherelemente die Spalten-
und Zeilenadressen sind, werden diese zuerst beide auf "0"
gesetzt, wonach dann die Spaltenadresse von "0" an bis zu der
letzten Adresse aufgestuft wird. Dann wird die Zeilenadresse,
aufgestuft, wonach dann wieder die Spaltenadresse von "0"
an bis zu der letzten Adresse aufgestuft wird. Dies wird für
den Zugriff zu allen Speicherelementen wiederholt.
Es wird nun ein konkretes Beispiel für die Verarbeitung zur
Drehung eines Bilds beschrieben.
Es wird nachstehend ein Verfahren erläutert, nach welchem bei
dem gleichzeitigen Abruf einer Vielzahl von Blöcken eines
ursprünglichen Bilds die Daten aus diesen Blöcken parallel
eingegeben, parallel verarbeitet und parallel ausgegeben
werden, wobei die Ausgabe nach einer Verarbeitung zur Drehung
um Winkel von 0°C, 90°C, 180° und 270° erfolgt.
Die Fig. 25 zeigt das in Blöcke unterteilte ursprüngliche
Bild in einem Zustand, der erreicht wird, wenn ein Bereich
von 256 × 256 Bildelementen in Blöcke aus jeweils 4 × 4
Bildelementen unterteilt ist.
Die Fig. 26 zeigt einen Zustand, der erreicht wird, wenn das
ursprüngliche Bild in Blockeinheiten um 90° entgegen dem
Uhrzeigersinn gedreht wird. Die Fig. 27 zeigt einen Zustand,
der erreicht wird, wenn das ursprüngliche Bild in Bildelementeinheiten
innerhalb eines jeden Blocks um 90° entgegen dem
Uhrzeigersinn gedreht wird.
Die Fig. 28 und 29 zeigen die Relativlagen der Bildelemente
in den jeweiligen Blöcken des in Fig. 25 dargestellten ursprünglichen
Bilds bzw. des in Fig. 27 gezeigten gedrehten
Bilds. In den Bildern gemäß Fig. 25 und 26 sind die Relativlagen
der Bildelemente in den jeweiligen Blöcken gleich. Wenn
dies in der in Fig. 28 gezeigten Form dargestellt wird,
ergibt sich durch das Schwenken der jeweiligen Bildelemente
in einem jeden Block um 90° entgegen dem Uhrzeigersinn der in
Fig. 29 dargestellte Zustand.
Zum Erzielen eines durch Drehen des ursprünglichen Bilds um
90° entgegen dem Uhrzeigersinn erzeugten Bilds wird das in
Fig. 25 dargestellte ursprüngliche Bild hinsichtlich der
Zusammenhänge zwischen den Blöcken zu der in Fig. 26 gezeigten
Anordnung aufbereitet, wonach dann die Bildelemente in
den jeweiligen Blöcken von der in Fig. 28 gezeigten relativen
Anordnung auf die in Fig. 29 gezeigte Anordnung verändert
werden.
Die Fig. 30 ist eine Blockdarstellung eines Beispiels für
eine Schaltungsanordnung für das Ausführen einer Folge der
vorstehend beschriebenen Verarbeitungen. Mit 1601 und 1602
sind Bildspeicher für das Speichern aller in den Fig. 25 bis
29 gezeigten Bildelemente ursprünglicher Bilder bezeichnet,
wobei der Bildspeicher 1601 zur Eingabe und der Bildspeicher
1602 zur Ausgabe dient. Mit 1603 ist eine arithmetische bzw.
Rechenschaltung mit einer Verarbeitungsschaltung für das
Verarbeiten jeweils parallel ausgelesener Bildelementedaten-
Posten. Es ist für einen jeden Block eine Verarbeitungsschaltung
vorgesehen, so daß die Daten aus den Blöcken jeweils in
eine entsprechende der Verarbeitungsschaltungen eingegeben
werden, wonach die verarbeiteten Daten an jeweils entsprechende
ausgangsseitige Blöcke abgegeben werden. Mit 1604 ist
eine Blockdatenwählschaltung bezeichnet, deren Einzelheiten
in der Fig. 31 dargestellt sind. Mit 1605 ist eine Schaltung
für die Ausgabe von Adressen bezeichnet, die als "Innenblockadressen"
die abzurufenden Stellen in den Blöcken des Eingabe-
Bildspeichers bestimmen (Eingabeadressengenerator). Mit
1606 ist eine Schaltung für die Ausgabe von Adressen bezeichnet,
die als Innenblockadressen die anzuwählenden Stellen in
den Blöcken des Ausgabe-Bildspeichers bestimmen. Mit 1607 ist
eine Steuerschaltung für das Steuern der Schaltungen 1604,
1605 und 1606 in Abhängigkeit von dem Drehwinkel bezeichnet.
Die Blockdatenwählschaltung 1604 ist gemäß Fig. 31 durch
Wähler gebildet, deren Anzahl gleich der Anzahl der Blöcke,
nämlich bei diesem Ausführungsbeispiel 64 ist. Ein jeder
Wähler entspricht einem jeweiligen Block des ausgangsseitigen
Speichers. Ein Wähler, der einem nachstehend als Block (i, j)
bezeichneten Block in der i-ten Zeile und j-ten Spalte des
ausgangsseitigen Speichers entspricht, empfängt Daten aus
vier Blöcken (i, j), (m - j + 1, i), (m - j + 1) und (j, m -
j + 1) des eingangsseitigen Speichers. Hierbei bedeutet m, daß
der eingangsseitige Speicher und der ausgangsseitige Speicher
beide aus m × m Blöcken bestehen. Dieses Ausführungsbeispiel
wird unter der Annahme beschrieben, daß m = 8 gilt. Ferner
gilt 1 ≦ i ≦ m und 1 ≦ j ≦ m.
Wenn das ursprüngliche Bild um 0° entgegen dem Uhrzeigersinn
gedreht werden soll, steuert die Steuerschaltung 1607 die
Blockdatenwählschaltung 1604 in der Weise, daß jeder Wähler
(i, j) abgibt. Auf gleichartige Weise steuert die Steuerschaltung
1607 die Blockdatenwählschaltung 1604 derart, daß
für eine Drehung um 90° entgegen dem Uhrzeigersinn (j, m - j + 1)
gewählt wird, für eine Drehung um 180° entgegen dem Uhrzeigersinn
(m - j + 1, m - j + 1) gewählt wird und für eine Drehung um
270° entgegen dem Uhrzeigersinn (m - j + 1, i) gewählt wird. Auf
diese Weise wird eine der Darstellung in den Fig. 25 bis 27
entsprechende Umsetzung bzw. Drehung herbeigeführt.
Die Steuerschaltung 1607 steuert die Innenblockadressen der
Adressenausgabeschaltungen bzw. Adressengeneratoren 1605 und
1605. Wenn ein Block n × n Bildelemente enthält und eine Ausgabe
an ein Bildelement an einer Stelle (k, l) in diesem
Block erfolgen soll, wird für die Ausgabe bei einer Drehung
des ursprünglichen Bilds um 0° entgegen dem Uhrzeigersinn die
Innenblockadresse für den eingangsseitigen Block auf (k, l)
gesteuert. Auf gleichartige Weise wird die Adresse für eine
Drehung um 90° auf (l, n-k + 1), für eine Drehung um 180° auf
(n - k + 1, n - l + 1) und für eine Drehung um 270° auf (n - l + 1, k)
gesteuert. Bei dem beschriebenen Ausführungsbeispiel gilt n =
4. Dies kann beispielsweise dadurch erfolgen, daß als Schaltung
1605 eine Nachschlagetabelle gemäß Fig. 32 und als
Schaltung 1606 ein Aufwärtszähler gemäß Fig. 33 verwendet
wird. Umgekehrt ist es natürlich auch möglich, den Zähler
nach Fig. 33 als Schaltung 1605 und die Nachschlagetabelle
nach Fig. 32 als Schaltung 1606 zu verwenden. Auf diese Weise
kann eine Umsetzung bzw. Drehung bewerkstelligt werden, die
einer solchen von Fig. 25 auf Fig. 27 (oder von Fig. 28 auf
Fig. 29) entspricht.
Aus 95501 00070 552 001000280000000200012000285919539000040 0002003804938 00004 95382 der Fig. 30 ist ersichtlich, daß gemäß Fig. 34 die Blockdatenwählschaltung
natürlich auch an dem Ausgang der Rechenschaltung
angeordnet werden kann. In diesem Fall wird das
Ausgangssignal einer jeden Verarbeitungsschaltung der Rechenschaltung
in jeden der vier Wähler der Blockdatenwählschaltung
eingegeben. In anderer Hinsicht ist die Anordnung völlig
gleich der in Fig. 30 gezeigten.
Bei dem vorstehend beschriebenen Ausführungsbeispiel werden
mehrere Posten von Bilddaten an der Drehung entsprechenden
Stellen gleichzeitig aufgenommen, wodurch eine schnelle Verarbeitung
möglich wird und die Drehung des Bilds mittels einer
klein ausgelegten Schaltung bewerkstelligt werden kann.
Nachstehend wird nun ein Ausführungsbeispiel ergänzend beschrieben.
Wenn die den k × l Speicherelementen zugeordneten Adressen in
der Aufeinanderfolge von der Adresse 0 bis zu einer Endadresse
auf die vorstehend beschriebene Weise abgerufen werden,
werden aus den jeweiligen k × l Speicherelementen die Bilddaten
aus jedem der Bereiche ausgegeben, die jeweils 1/(k × l) des
Vollbilds entsprechen. Betrachtet man nur ein einziges Bildelement,
so wird das Bild eines einem einzelnen Bereich
entsprechenden Teilbereichs aufeinanderfolgend in horizontaler
und vertikaler Richtung abgefragt und ausgelesen. Falls
dies bei der herkömmlichen Verarbeitung eines Bilds angewandt
wird, das aufeinanderfolgend über ein Einzelbild hinweg horizontal
und vertikal abgetastet wird, kann eine Verarbeitungsgeschwindigkeit
erreicht werden, die k × l-mal so groß wie die
herkömmliche ist. Da darüber hinaus der behandelte Bildbereich
kleiner wird, werden auch die Zeilenpuffer und dergleichen
kleiner. Infolgedessen kann die Prozessoreinheit 2 auf
einfache Weise als Matrixprozessor aufgebaut sein. Dies wird
nachstehend ausführlich beschrieben.
Ortsfrequenzfilterung
Gemäß den vorangehenden Ausführungen werden die Bilddaten aus
den k × l Speicherelementen 1 b aufeinanderfolgend in die Prozessoreinheit
2 eingegeben, die während des aufeinanderfolgenden
Abfragens für das Auslesen des Speichers die Raum-
bzw. Ortsfrequenzfilterung ausführt. Obgleich dies erst nachfolgend
beschrieben wird, enthält die Prozessoreinheit 2
Puffer für eine Vielzahl von horizontalen Linien mit einer
Kapazität für einen rechteckigen Bereich, in welchem einzelne
Prozessorelemente, die die Bestandteile der Prozessoreinheit
sind, jeweils einem einzelnen der durch die Unterteilung
gebildeten k × l Bereiche entsprechen. Nach der zweidimensionalen
Raum- bzw. Ortsfrequenzfilterung werden die sich ergebenden
Daten ausgangsseitig aufeinanderfolgend durch einen Abruf
eingeschrieben, der mit dem eingangsseitigen Abruf zum Lesen
identisch ist. Dieses Ausführungsbeispiel wird nun ausführlich
beschrieben.
Gemäß den Fig. 35 bis 38 ist ein Einzelbild in 2 × 2 Bereiche
unterteilt, während die Speicherelemente 1 b, nämlich insgesamt
vier Speicherelemente als 2 × 2-Matrix angeordnet sind. In
diesem Fall wird der leseseitige Bildspeicher derart ausgelesen,
daß gemäß Fig. 35 die Bereiche gleichzeitig in horizontaler
und vertikaler Richtung abgetastet werden. Da jedoch
das Bild dem Speicher auf die vorangehend angeführte Weise
zugeordnet ist, werden dabei die Speicheradressen in der
Weise abgerufen, daß die Vertikaladresse von 0 bis zu der
Endadresse jedesmal dann um "1" aufgestuft wird, wenn die
Horizontaladresse von 0 bis zu der Endadresse aufgestuft
worden ist, was im Hinblick auf alle Speicheradressen wiederholt
wird.
Speicherelemente R 1, R 2, R 3 und R 4 nach Fig. 37, die den
leseseitigen Bildspeicher bilden, speichern bei diesem Ausführungsbeispiel
jeweils die Bilder von Bereichen 1, 2, 3
bzw. 4 nach Fig. 35.
Von einem durch eine Steuerschaltung gesteuerten Adressengenerator
werden als an den leseseitigen Bildspeicher angelegte
Adressen an die Speicherelemente R 1 bis R 4 die gleichen
Adressen angelegt. Diese Adressen werden auf die vorangehend
beschriebene Weise abgetastet bzw. abgerufen. Die aus den
Speicherelementen R 1 bis R 4 ausgelesenen Bilddaten werden
jeweils in Prozessorelemente PE 1 bis PE 4 eingegeben. Die
Prozessorelemente PE 1 bis PE 4 nehmen als Eingangssignale aus
der Steuerschaltung erforderliche Steuersignale auf, die den
Inhalt der Verarbeitung bestimmen. Mittels der Prozessorelemente
PE 1 bis PE 4 wird die Raum- bzw. Ortsfrequenzfilterung
ausgeführt. Da jedoch die Prozessorelemente PE 1 bis PE 4 jeweils
Zeilenpuffer enthalten, werden von dem Adressengenerator
Horizontaladressen zugeführt. Alternativ können die Horizontaladressen
in den Prozessorelementen PE 1 bis PE 4 erzeugt
werden.
Die durch die Prozessorelemente PE 1 bis PE 4 der Ortsfrequenzfilterung
unterzogenen Ausgangsdaten werden in jeweilige
Speicherelemente W 1 bis W 4 eingeschrieben, die den schreibseitigen
Bildspeicher bilden. Dabei werden an die Speicherelemente
W 1 bis W 4 des schreibseitigen Bildspeichers die
gleichen Adressen angelegt. Die angelegten Adressen werden
jedoch durch das Verzögern der an den leseseitigen Speicher
angelegten Adressen gebildet. Das Ausmaß der Verzögerung
entspricht dem Ausmaß der Verzögerung der Ziel-Bildelemente
in den Zeilenpuffern, die in der Prozessoreinheit für die
Ortsfrequenzfilterung vorgesehen sind.
Mit der vorstehend beschriebenen Anordnung kann die Ortsfrequenzfilterung
hinsichtlich nahezu des ganzen Raums in dem
Vollbild ausgeführt werden. Da jedoch die in Fig. 36 durch
Schräglinien sowie durch Schattierung dargestellten Teilbereiche
die Umfangsränder der Bereiche sind, bleiben diese
Teilbereiche unverarbeitet, da die zweidimensionale Maske für
die Ortsfrequenzfilterung übersteht. Zum Auffüllen der unbearbeiteten
Bereiche bewirkt die Steuerschaltung an dem Adressengenerator
das Erzeugen von Adressen für die durch die
Schräglinien dargestellten Teilbereiche, die schattierten
Teilbereiche und den den Umfang entsprechenden Speicherbereich.
Die Bilddaten werden aufeinanderfolgend aus dem leseseitigen
Bildspeicher aufgenommen, wonach mittels einer Zentraleinheit
in der Steuerschaltung die Ortsfrequenzfilterung
ausgeführt wird. Die Ergebnisse der Filterung werden in den
schreibseitigen Bildspeicher eingeschrieben. Hinsichtlich der
Adressen steuert die Steuerschaltung den Adressengenerator in
der Weise, daß der schreibseitige Bildspeicher genau wie der
leseseitige Bildspeicher adressiert wird. Bei dem vorstehend
beschriebenen Ausführungsbeispiel wird eine gewisse Verarbeitungszeit
infolge des Umstands benötigt, daß die Ortsfrequenzfilterung
unter Verwendung der in Fig. 36 durch die
Schräglinien dargestellten Teilbereiche von der Zentraleinheit
in der Steuerschaltung ausgeführt wird. Da jedoch das
Verhältnis der Schräglinien-Teilbereiche und der schattierten
Teilbereiche in Fig. 36 zu dem ganzen Vollbild sehr klein
ist, ist die Einwirkung auf die Verarbeitungszeit nahezu
vernachlässigbar.
Es wird nun ein Ausführungsbeispiel beschrieben, bei dem
diese Zentraleinheit-Verarbeitung nicht ausgeführt wird.
Die Fig. 39 ist eine vereinfachte Blockdarstellung dieses
Ausführungsbeispiels. Mit der Ausnahme, daß das ganze Einzelbild
in 3 × 3 Bereiche unterteilt ist und daß eine Datensteuerschaltung
vorgesehen ist, ist dieses Ausführungsbeispiel mit
dem vorangehend beschriebenen Ausführungsbeispiel identisch.
Daher wird das Ausführungsbeispiel nur unter Betrachtung der
Unterschiede ausführlich beschrieben.
Bei dem Ausführungsbeispiel ist zwar ein Einzelbild in 3 × 3
Bereiche unterteilt, jedoch wird auch als allgemein gültiger
Fall ein Fall beschrieben, bei dem ein Einzelbild in m × n
Bereiche unterteilt ist, wobei m und n ganze Zahlen sind.
Die Fig. 38(a) und (b) zeigen, wie ein ganzes, in 3 × 3 Bereiche
unterteilt Einzelbild abgetastet wird.
Für einen jeden durch die Unterteilung eines Einzelbilds
erhaltenen Bereich wird ein vergrößerter Bereich gemäß der
Darstellung durch die gestrichelten Linien gebildet, wobei
das Ausgangssignal für den vergrößerten Bereich in ein jeweiliges
Prozessorelement (1, 1) bis (3, 3) eingegeben wird. Ein
vergrößerter Bereich erhält ein Format, mit dem die nach Fig. 35
nach der Ortsfrequenzfilterung unbearbeitet verbliebenen
Teilbereiche überdeckt sind, nämlich insbesondere z. B. die
unbearbeiteten Teilbereiche an den Grenzen zwischen den Bereichen
(1, 1), (1, 2), (2, 1) und (2, 2) im Hinblick auf den
Bereich (1, 1). Ferner wird auch hinsichtlich eines beliebigen
Bereichs (k, l) (mit 1 ≦ k ≦ m und 1 ≦ l ≦ n) der Bereich
derart vergrößert, daß die unbearbeiteten Teilbereiche an den
Grenzen des Bereichs (k, l) zu den Bereichen (k, l + 1), (k + 1,
l) und (k + 1, l + 1) bei der Ortsfrequenzfilterung mit erfaßt
werden.
Im Falle einer 3 × 3-Glättungsverarbeitung mittels der Prozessoreinheit
bleibt beispielsweise ein Bildelement an dem rechten
Rand eines jeden Bereichs (k, l) unverarbeitet. In dem
angrenzenden Bereich (k, l + 1) bleibt ein Bildelement an dem
linken Rand unverarbeitet. Daher wird der Bereich (k, l) um
insgesamt zwei Bildelemente nach rechts erweitert. Gleichermaßen
ist eine Vergrößerung um zwei Bildelemente nach unten
erforderlich.
Die vergrößerten Bereiche (1, 1) bis (3, 3) werden unter Abtastung
gemäß der Darstellung in Fig. 38(a) und (b) in die
Prozessorelemente (1, 1) bis (3, 3) eingegeben. Es wird nun
kurz die Adressierung der Speicherelemente beschrieben. Die
Steuerschaltung steuert den Adressengenerator in der Weise,
daß die Horizontaldresse aufeinanderfolgend von 0 bis zu der
Maximaladresse aufgestuft wird. Danach wird die Adresse von 0
bis zu der Adresse des nach rechts vergrößerten Bereichs
aufgestuft. Falls die Erweiterung um zwei Bildelemente nach
recht erfolgt, werden die Adressen 0 und 1 ausgegeben,
wonach als Horizontaladresse die Adresse 0 ausgegeben wird.
Als nächstes wird die Vertikaladresse von 0 ausgehend aufgestuft
und die Abtastung der Horizontaladresse wiederholt.
Dann wird die Vertikaladresse erneut aufgestuft und die Abtastung
der Horizontaladresse wiederholt. Nach der Wiederholung
dieser Vorgänge ist die Vertikaladresse die maximale Adresse
und die Abtastung der Horizontaladresse abgeschlossen, woraufhin
die Vertikaladresse dann auf 0 gebracht wird und die
vorstehenden Vorgänge bis zu der Adresse des nach unten
vergrößerten Bereichs wiederholt werden. Hierbei übermittelt
die Datensteuerschaltung die Daten in einer derartigen Aufeinanderfolge,
daß die Ausgangssignale aus den vergrößerten
Bereichen (1, 1) bis (3, 3) den Prozessorelementen (1, 1) bis
(3, 3) zugeordnet werden.
Als nächstes wird die in Fig. 40 gezeigte Datensteuerschaltung
beschrieben. Im allgemeinen gültigen Fall ist die k-te
Schaltung aus m × n 4 : 1-Wählern gebildet.
Das an ein Prozessorelement (1, 1) abgegebene Ausgangssignal
eines Wählers (1, 1) ist eines der aus den Speicherelementen
(1, 1), (1, 2) (2, 1) und (2, 2) eingegebenen Signale. Auf ein
Wählsteuersignal aus der Steuerschaltung hin gibt ein jeder
Wähler eines der angelegten vier Eingangssignale ab. Die bei
der Ausgabe an die Prozessorelemente (k, l) an den Wählern
anliegenden Eingangssignale kommen aus den Speicherelementen
(k, l), (k, l + 1), (k + 1, l) und (k + 1, l + 1). Falls jedoch hinsichtlich
der Bereichsunterteilungen m und n für beliebige Werte k
und l die Werte k + 1 und l + 1 die entsprechenden Werte m und m
überschreiten, werden dementsprechend an dem Eingang keine
oder Leerdaten eingegeben.
Es wird nund das von der Steuerschaltung abgegebene Wählsteuersignal
für die Wähler beschrieben. Während der Zeit,
während die Steuerschaltung den Adressengenerator zur Aufstufung
der Horizontaladresse von 0 bis zu der Endadresse und
danach zu der Abtastung von 0 bis zu der Adresse des vergrößerten
Bereichs steuert, wie es vorstehend beschrieben
ist, nämlich der Bereich (k, l + 1) überdeckt wird, wird das
Ausgangssignal (k, l + 1) gewählt und ausgegeben. Ferner wird
während der Zeit, während der die Vertikaladresse von 0 bis
zu der Endadresse aufgestuft wird und danach von 0 bis zu der Adresse
des vergrößerten Bereichs abgetastet wird (die beispielsweise
bei der 3 × 3-Ortsfrequenzfilterung "1" ist), nämlich
bei der Überlappung des Bereichs (k, l) mit dem Bereich
(k, l + 1) das Ausgangssignal (k + 1, l) gewählt und ausgegeben.
Wenn beides der Fall ist, nämlich der vergrößerte Bereich den
Bereich (k + 1, l + 1) überlappt, wird mittels der Steuerschaltung
das Ausgangssignal des Speicherelements (k + 1, l + 1) gewählt.
Dies wird ergänzend hinsichtlich einer Datensteuerschaltung
zwischen der Prozessoreinheit und dem schreibseitigen Bildspeicher
erläutert. Die Schaltungsanordnung ist derjenigen
nach Fig. 40 gleichartig. Die Eingangssignale für die Ausgabe
des Ausgangssignals eines Wählers an ein Speicherelement
(k, l) sind jedoch in diesem Fall die Signale (k, l), (k, l - 1),
(k - 1, l) und (k - 1, l - 1). Falls die vergrößerten Bereiche der in
Fig. 38(a) gezeigten Art nicht die unbearbeiteten Teilbereiche
der drei Bereiche links, unterhalb und unten links in
bezug auf den Bereich (k, l) überdecken, sondern die Bereiche
in der Weise vergrößert sind, daß nur die oberen, unteren,
rechten und linken unbearbeiteten Teilbereiche innerhalb des
Bereichs (k, l) erfaßt sind, ist eine Datensteuerschaltung
zwischen der Prozessoreinheit und dem schreibseitigen Bildspeicher
nicht erforderlich. In diesem Fall müssen für das
Wähler-Ausgangssignal (k, l) die Eingangssignale der Datensteuerschaltung
zwischen dem leseseitigen Bildspeicher und
der Prozessoreinheit die Signale (k, l), (k - 1, l -1), (k - 1, l),
(k - 1, l + 1), (k, l - 1), (k, l + 1), (k + 1, l - 1), (k + 1, l) und (k + 1, l + 1)
sein. Dies ist leicht aus der Fig. 38(b) zu ersehen. Ergänzend
ist hinzuzufügen, daß die Wähler die Daten aus neun in
den vergrößerten Bereichen enthaltenen Bereichen, nämlich
neun Speicherelementen wählen müssen und diese Daten in das
Prozessorelement (k, l) der Prozessoreinheit eingeben müssen.
Es ist eine Datensteuerschaltung für die Steuerschaltung von k × l
Wählern erforderlich.
Als nächstes werden die von der Datensteuerschaltung abgegebenen
Daten in die jeweiligen Prozessorelemente eingegeben,
die die Prozessoreinheit bilden. Die Prozessorelemente (1, 1)
bis (3, 3) enthalten Zeilenpuffer für mehrere Zeilen der erweiterten
Bereiche. Nach der Ortsfrequenzfilterung werden die
Daten über die in Fig. 39 nicht dargestellte Datensteuerschaltung
an die Speicherelemente (1, 1) bis (3, 3) abgegeben,
die den schreibseitigen Bildspeicher bilden. Die Datensteuerschaltung
korrigiert auch die Ergebnisse der Ortsfrequenzfilterung,
wenn ein Bereich ein vergrößerter Teilbereich ist.
Hierbei sind die an die jeweiligen Speicherelemente des
schreibseitigen Bildspeichers von dem Adressengenerator angelegten
Adressen identisch. In bezug auf die an den leseseitigen
Bildspeicher angelegten Adressen sind jedoch die an den
schreibseitigen Bildspeicher angelegten Adressen um eine
Zeitspanne verzögert, die einer Verzögerung in den Prozessorelementen
entspricht. Selbst wenn dabei in den vergrößerten
Bereichen die Ortsfrequenzfilterung vorgenommen wird, werden
die Ränder der vergrößerten Bereiche im wesentlichen keiner
Ortsfrequenzfilterung unterzogen. Beispielsweise werden bei
einer Verarbeitung zur 3 × 3-Glättung oder dergleichen die
Ausgangsbereiche um die Breite eines Bildelements gleichzeitig
nach links, nach rechts, nach oben und nach unten kleiner
als die vergrößerten Bereiche. Der schreibseitige Bildspeicher
wird nur dann eingeschaltet, wenn Daten für einen Bereich
ausgegeben werden, der der Ortsfrequenzfilterung unterzogen
wurde.
Wenn bei der Ortsfrequenzfilterung mittels eines Prozessorelements
die Breite des Ausgabebereichs oben, unten, links
und rechts verringert wird, wird der Bereich auf das gleiche
Format wie dasjenige des Bereichs (k, l) zurückgeführt, welcher
dem Speicherelement (k, l) des schreibseitigen Bildspeichers
entspricht. Daher ist keine Datensteuerschaltung zwischen
der Prozessoreinheit und dem schreibseitigen Bildspeicher
erforderlich.
Die bei diesem Ausführungsbeispiel die Prozessoreinheit bildenden
Prozessorelemente werden nun ausführlich beschrieben.
Die Fig. 41 ist ein Blockschaltbild, das den Aufbau eines
3 × 3-Glättungs-Raumfilters bzw. Ortsfrequenzfilters gemäß
einem Beispiel zeigt. Die aus einem leseseitigen Speicherelement
über die Datensteuerschaltung an ein Prozessorelement
angelegten Bilddaten werden in einen Zwischenspeicher 2604
und einen Zeilenpuffer 2601 eingegeben. Die Ausgangssignale
des Zeilenpuffers 2601 werden in einen Zwischenspeicher 2607
und einen Zeilenpuffer 2602 eingegeben. Die Ausgangssignale
des Zeilenpuffers 2602 werden in einen Zwischenspeicher 2610
eingegeben. Den Zeilenpuffern 2601 und 2602 werden eine Adresse
aus eine Zähler 2603 und eine Adresse aus einem (nicht
gezeigten) Adressenzähler gemäß der Darstellung in Fig. 39
zugeführt. Der Zähler 2603 erhält aus der Steuerschaltung ein
Bildübertragungstaktsignal bei jedem zweiten horizontalen
Bildelement des vergrößerten Bereichs, um damit die Adresse
aufzustufen, sowie als Eingangssignal aus der Steuerschaltung
ein Löschsignal bei jeder horizontalen Zeile, wodurch die
Adresse gelöscht wird. Die Zeilenpuffer sind für das gleichzeitige
Lesen von Eingangssignalen und Schreiben von Ausgangssignalen
ausgebildet.
Als Ergebnis dieser Funktion werden Bilddaten von bestimmten
Stellen auf drei zusammenhängenden horizontalen Linien in die
Zwischenspeicher 2604, 2607 und 2610 eingegeben. Zwischenspeicher
2604 bis 2612 sind durch D-Flip-Flops gebildet.
Durch die Bildübertragungstaktsignale aus der Steuerschaltung
werden die Ausgangssignale der Zwischenspeicher 2604, 2607
und 2610 über die Zwischenspeicher 2605, 2608 und 2611 aufeinanderfolgend
an die Zwischenspeicher 2606, 2609 und 2612
abgegeben.
Die Ausgangssignale der Zwischenspeicher 2604 bis 2612 sind
zu diesem Zeitpunkt 3 × 3 zusammenhängende Bildelemente in
einem Einzelbild. Diese Ausgangssignale werden an einen Addierer
2613 angelegt, der die gesamte Anzahl der Bildelemente
berechnet bzw. zusammengefaßt. Das Ergebnis wird in einen Dividierer
2614 eingegeben, der das Eingangssignal mit ¹/₉ multipliziert,
um damit die 3 × 3-Glättung auszuführen. Das sich
ergebende Ausgangssignal des Dividierers 2614 wird an das
schreibseitige Speicherelement oder die mit dem schreibseitigen
Speicherelement verbundene Datensteuerschaltung abgegeben.
Es wurde zwar der Ortsfrequenzfilterungsvorgang beschrieben,
jedoch können selbstverständlich die die Prozessoreinheit
bildenden Prozessorelemente jeweils durch Prozessoren wie
Zentraleinheiten gebildet sein.
Ferner kann selbstverständlich der Randbereich eines Einzelbilds,
nämlich der in Fig. 36 gezeigte schattierte bzw. graue
Teilbereich bei beiden Ortsfrequenzfilterungs-Prozessoren nicht
der Ortsfrequenzfilterung unterzogen werden.
Da gemäß den vorangehenden Ausführungen ein Einzelbild in m × n
Bereiche unterteilt ist, ist der Bildbereich verkleinert, der
einem einzelnen Speicherelement zugeordnet ist. Der dieser
Erfordernis entsprechende Ortsfrequenzfilter-Prozessor hat
nur einen Zeilenpuffer für einen kleinen Bereich. Hierdurch
wird es möglich, einen Prozessor mit hohem Integrationsgrad
einzusetzen, der eine Vielzahl von Puffern enthält. Als Prozessor
kann eine Zentraleinheit (CPU) oder eine Zentraleinheit
mit einem internen Schreib/Lesespeicher (RAM) bzw. Arbeitsspeicher
eingesetzt werden. Da m × n Bereiche gleichzeitig
der Ortsfrequenzfilterung unterzogen werden, ist die Verarbeitungszeit
beträchtlich verkürzt.
Bei den vorstehend beschriebenen Ausführungsbeispielen wird
eine Anordnung aus m × b Speicherelementen verwendet, was das
gleichzeitige Abrufen und Verarbeiten von m × n Bildelementdaten
ermöglicht, so daß eine schnelle Bildverarbeitung erreicht
wird.
Ferner ist durch das Verwenden einer Anordnung für ein System,
in dem m × n zusammenhängende Bildelemente in einem Einzelbild
m × n Speicherelementen derart zugeordnet sind, daß die
Bildelemente gleichzeitig abgerufen werden können, oder für
ein System, in dem m × n zufallsverteilte Bildelemente in einem
Einzelbild m × n Speicherelementen in der Weise zugeordnet
sind, daß diese Bildelemente gleichzeitig abgerufen werden
können, die zweidimensionale Filterung kleiner zusammenhängender
Räume in ersterem Fall und eine Verarbeitung zum
Bewegen bzw. Versetzen in letzterem Fall erleichtert. Auf
diese Weise ist der Speicherzugriff für das Ausführen der für
die Bildverarbeitung geeigneten Prozesse ermöglicht.
Ferner ist bei den vorstehend beschriebenen Ausführungsbeispielen
infolge der k × l-Speicherelemente-Anordnung anstelle
des Abrufens aller Speicherelemente das Maskieren ermöglicht.
D. h., bei der Ausführung einer Verarbeitung wie der Ortsfrequenzfilterung
läuft die Verarbeitung häufig derart ab, daß
die Verarbeitungsergebnisse Blöcke kleinen Formats wie des
Formats 1 × 1 werden. Es wird jedoch eine Verarbeitung möglich,
bei der wie bei den vorstehend beschriebenen Ausführungsbeispielen
das Format der Speicherelementeanordnung und das
Format des abgerufenen Bilds voneinander verschieden sind.
Auf diese Weise wird mit den Ausführungsbeispielen eine Bildverarbeitungseinrichtung
geschaffen, die die Bildverarbeitung
durch die parallele Verarbeitung in einer endlichen kleinen
Anzahl von Prozessoren mit hoher Geschwindigkeit ausführt.
Anhand der Zeichnung wird nun die Verteilung zur Raum- bzw.
Ortsfrequenzfilterung weiter beschrieben. Im folgenden wird
ein Prozeß beschrieben, bei dem die jeweils rechteckigen
Bereichen von m × n Bildelementen eines ursprünglichen Bilds
entsprechenden Bilddaten in einem Bildspeicher gleichzeitig
abgerufen werden, die Bilddaten von einer Matrixprozessoreinheit
aus m × n Prozessorelementen aufgenommen werden, von denen
jedes einem entsprechenden Bildelement zugeordnet wird, durch
die Matrixprozessoreinheit die Ortsfrequenzfilterung ausgeführt
wird und die Ergebnisse ausgegeben werden.
Die Fig. 42 zeigt die Zuordnungen zwischen einem einem ursprünglichen
Bild entsprechenden Eingabeblock 281, Bildelementen
281 a in dem Eingabeblock, einer Matrixprozessoreinheit
282, Prozessorelemten 282 a in der Matrixprozessoreinheit,
einem Ausgabeblock 283 und Bildelementen 283 a in dem Ausgabeblock.
Hierbei gilt m = n = 4. Infolgedessen werden 16 Bildelementedaten
des eingangsseitigen Speichers gleichzeitig
abgerufen und von der Matrixprozessoreinheit aufgenommen. Die
Matrixprozessoreinheit besteht aus 16 Prozessorelementen. Die
Matrixprozessoreinheit führt die Ortsfrequenzfilterung in
einem Gebiet von 3 Bildelemente × 3 Bildelemente aus und gibt
die Ergebnisse an einen aus 2 Bildelemente × 2 Bildelemente,
nämlich insgesamt 4 Bildelementen gebildeten Block des ausgangsseitigen
Speichers ab.
Die Prozessorelemente in der Matrixprozessoreinheit sind
entsprechend den 4 × 4 Bildelementen zu einer quadratischen
gitterartigen 4 × 4-Matrix angeordnet. Die Prozessorelemente
sind aufeinanderfolgend in Zeilenrichtung und Spaltenrichtung
numeriert. Gemäß Fig. 43 können die Prozessorelemente voneinander
durch ihre Bezeichnung mit der Zeilennummer und der
Spaltennummer unterschieden werden.
Die Ortsfrequenzfilterung besteht darin, daß unter Verwendung
einer Koeffizienten-Matrix der beispielsweise in Fig. 44
gezeigten Art das Produkt von Koeffizienten für jeweils entsprechende
Bildelemente gebildet wird und die Summe in eine
einer mittigen Stelle entsprechende Speicherstelle ausgegeben
wird. Dies wird anhand der Fig. 42 beschrieben. Im einzelnen
wird der durch die Prozessorelemente (1, 1), (1, 2), (1, 3),
(2, 1), (2, 2), (2, 3), (3, 1), (3, 2) und (3, 3) gebildete 3 × 3-
Bereich einem Rechenvorgang mittels des Prozessorelements
(2, 2) unterzogen. Aus den anderen Prozessorelementen werden
die Daten aufgenommen und es wird die Ortsfrequenzfilterung
ausgeführt. Auf gleichartige Weise erfolgt die Ortsfrequenzfilterung
an dem durch die Prozessorelemente (1, 2), (1, 3),
(1, 4), (2, 2), (2, 3), (2, 4), (3, 2), (3, 3) und (3, 4) gebildeten
3 × 3-Bereich durch das Prozessorelement (2, 3) und an dem durch
die Prozessorelemente (2, 1), (2, 2), (2, 3) (3, 1), (3, 2),
(3, 3), (4, 1), (4, 2) und (4, 3) durch das Prozessorelement
(3, 2). Ferner wird der durch die Prozessorelemente (2, 2),
(2, 3), (2, 4), (3, 2), (3, 3), (3, 4), (4, 2), (4, 3) und (4, 4)
gebildete 3 × 3-Bereich der Ortsfrequenzfilterung durch das
Prozessorelement (3, 3) unterzogen.
Die Prozessorelemente (2, 2), (2, 3), (3, 2) und (3, 3) für die
Ortsfrequenzfilterung enthalten eine Schaltung der in Fig. 45
gezeigten Art, durch die die Ortsfrequenzfilterung ausgeführt
wird. In der Schaltung nach Fig. 45 werden die Daten aus den
jeweils acht angrenzenden Prozessorelementen mittels Addierern
221 bis 227 addiert und dann mittels einer Schiebeschaltung
bzw. eines Schieberegisters 228 mit ⅛ multipliziert.
Ein Subtrahierer 229 berechnet die Differenz zwischen dem
Ausgangssignal des Schieberegisters 228 und einem Wert für
das Ziel-Bildelement, der von dem Prozessorelement mit dieser
Schaltung für sich bzw. direkt aufgenommen und zuerst mittels
einer Verzögerungsschaltung 231 verzögert wird. Ein Addierer
230 addiert die von dem Subtrahierer 229 abgegebene Differenz
mit dem von dem Prozessorelement direkt aufgenommenen Wert
nach dessen Verzögerung mittels einer Verzögerungsschaltung
232. Auf diese Weise wird ein 4 × 4-Bildelementebereich eingegeben
und ein Ausgangssignal in einen 2 × 2-Bildelementebereich
ausgegeben.
Bei dieser Beschreibung ist die Ortsfrequenzfilterung eines
3 × 3-Bildelementebereichs mit einem 4 × 4-Bildelementebereich
als Eingabe und einem 2 × 2-Bildelementebereich als Ausgabe
erläutert. Es besteht jedoch keine Einschränkung auf diese
Anordnung. Vielmehr ist es offensichtlich, daß die Ortsfrequenzfilterung
für einen p × q-Bildelementebereich mit m ≧ k + p
und n ≧ l + q mit einer Eingabe eines m × n-Bildelementebereichs
und einer Ausgabe eines k × l-Bildelementebereichs vorgenommen
werden kann. Außerdem besteht hinsichtlich der Koeffizienten
für die Raum- bzw. Ortsfrequenzfilterung keine Einschränkung
auf die in der Fig. 44 gezeigten. Es muß nur ein Prozessorelement
mit einer Verarbeitungsschaltung eingesetzt werden,
die einer Koeffizientenmatrix entspricht.
Während nach dem Stand der Technik die Verarbeitung für ein
jedes einzelne Ausgangselement wiederholt wird, werden
bei dem beschriebenen Ausführungsbeispiel die Ergebnisse der
Verarbeitung für mehrere Ausgangsbildelemente im gleichen
Zyklus ausgegeben, so daß eine sehr hohe Verarbeitungsgeschwindigkeit
erreicht werden kann.
Durch die gleichzeitige Eingabe zusammenhängender, eng benachbarter
Bildelemente an dem Eingang kann die Ortsfrequenzfilterung
in einem Zyklus ausgeführt werden, so daß es möglich
ist, die Ergebnisse der Ortsfrequenzfilterung für eine
Vielzahl von Ausgabebildelementen gleichzeitig auszugeben.
Durch das gleichzeitige Abrufen und Verarbeiten einer Vielzahl
eingegebener Daten ist die Verarbeitungsgeschwindigkeit
im Vergleich zu dem jeweils einzelnen Abrufen der Daten
erhöht. Darüber hinaus kann eine Verarbeitung (Ortsfrequenzfilterung,
Farbverarbeitung usw.), bei der der Zusammenhang
zwischen gleichzeitig abgerufenene Daten durch einen Datenaustausch
zwischen Prozessorelementen in Rechnung zu ziehen ist,
durch einen einzigen Eingangsdatenabruf ausgeführt werden.
Bilddaten-Erweiterung und -Reduktion
Bei nachstehend beschriebenen weiteren Ausführungsbeispielen
der Bildverarbeitungseinrichtung wird in der Prozessoreinheit
2 eine Bildvergrößerung vorgenommen. Es besteht jedoch keine
Einschränkung hinsichtlich der Anzahl k × l oder K × L der
Speicherelemente, die den leseseitigen Bildspeicher und den
schreibseitigen Bildspeicher bilden. Obwohl bei diesem Ausführungsbeispiel
nur die Erweiterung bzw. Vergrößerung beschrieben
ist, wird auf gleiche Weise eine Reduktion bzw.
Verkleinerung erzielt. Weiterhin besteht keine Einschränkung
hinsichtlich der Blockformate k′ × l′ oder K′ × L′ der leseseitig
und schreibseitig abgerufenen Bildelemente. Es ist jedoch
vorauszusetzen, daß bei einer Bildvergrößerung mittels der
Prozessoreinheit 2 das durch die Vergrößerung des leseseitig
abgerufenen Formats k′ × l′ erhaltene Format den Bedingungen
K′ < α k′ und L′ < β l′ genügen muß, wobei α und b die maximalen
Faktoren der Vergrößerung in Längsrichtung und Querrichtung
sind.
Als nächstes wird die Vergrößerung beschrieben. Gemäß Fig. 46
enthält eine Prozessoreinheit 312 einen Adressengenerator 313
und eine Rechenschaltung 315 und wird unter der Steuerung
durch eine Steuerschaltung 311 betrieben. Der Adressengenerator
313 erzeugt eine Anfangsadresse für einen eingangsseitigen
Bildspeicher 316, der für die Berechnung erforderliche
Eingangsbilddaten enthält. Ein jeweiliges Prozessorelement in
der Rechenschaltung 315 berechnet aus den eingegebenen Bilddaten
Ausgangsbilddaten für die Ausgabe an einen ausgangsseitigen
Bildspeicher 317. Die Rechenschaltung 315 nimmt alle
Bilddaten eines Datenbereichs mit der Anfangsadresse als ein
Rand des Bildbereichs auf. Ein jedes Prozessorelement wählt
aus den aufgenommenen Daten die der Stelle in dem ausgangsseitigen
Bildspeicher 317 entsprechenden Eingangsbilddaten
für die Aufgabe der Verarbeitungsergebnisse aus, führt eine
zweidimensionale Interpolatrion aus und gibt die Ergebnisse
ab.
Dies wird etwas ausführlicher beschrieben. Für die Beschreibung
sei angenommen, daß die Prozessoreinheit 312 mit Prozessorelementen
für vier Spalten in einer Hauptabtasteinrichtung
und vier Zeilen in einer Unterabtasteinrichtung, nämlich mit 16
Prozessorelementen ausgestattet ist. Der eingangsseitige
Bildspeicher 316 gibt gleichzeitig an die Prozessoreinheit
Daten für fünf Spalten in der Hauptabtastrichtung und fünf
Zeilen in der Unterabtastrichtung, nämlich einen Datenbereich
aus 25 Bildelementen ab. Welche Daten in dem Datenbereich aus
5 × 5 Bildelementen ausgeben werden, wird durch den Adressengenerator
313 bestimmt. Der Aufbau und die Funktion des
Adressengenerators 313 werden nun anhand der Fig. 47 beschrieben.
Der Adressengenerator 313 ist mit einer Hauptabtastrichtungs-
Schaltung, die nachstehend als Hauptabtastschaltung
1 bezeichnet wird und die eine die Hauptabtasteinrichtung
bestimmende Adresse aus den Adressen eines vorbestimmten
5 × 5-Bildelementebereichs abgibt, und mit einer Unterabtasteinrichtungs-
Schaltung aufgebaut, die nachstehend als Unterabtastschaltung
1 bezeichnet wird und die eine die Unterabtasteinrichtung
bestimmende Adresse aus den Adressen des vorbestimmten
5 × 5-Bildelementebereichs abgibt. In einem Register 321
wird durch die Steuerschaltung 311 ein Wert voreingestellt,
der das Vielfache des Kehrwerts des Vergrößerungsfaktors für
die Hauptabtasteinrichtung ist. In einem Register 322 wird durch
die Steuerschaltung 311 ein Wert voreingestellt, der das
Vierfache des Kehrwerts des Vergrößerungsfaktors für die
Unterabtasteinrichtung ist. Ein Zwischenspeicher 325 wird durch
ein Betriebssynchronisierungssignal für die Unterabtastrichtung
auf "0" gelöscht, wonach der Zwischenspeicher auf ein
Betriebssynchronisierungssignal 327 für die Hauptabtastrichtung
hin das Ausgangssignal eines Addierers 323 aufnimmt. Auf
das Betriebssynchronisierungssignal 327 für die Hauptabtastrichtung
hin wird von dem Addierer 323 der in dem Register
321 eingestellte Wert mit einem in dem Zwischenspeicher 325
gespeicherten Wert addiert und das Ergebnis ausgegeben. Infolgedessen
wird durch die Synchronisierung der Funktion für
die Hauptabtasteinrichtung der von dem Zwischenspeicher 325
abgegebene Wert stufenweise um einen Wert erhöht, der dem
Vierfachen des Kehrwerts des Vergrößerungsfaktors für die
Hauptabtasteinrichtung entspricht, wonach der Zwischenspeicher
auf "0" gelöscht wird, sobald die Synchronisierung für die
Unterabtasteinrichtung erfolgt. Das Register 322, ein Addierer
324 und ein Zwischenspeicher 326 arbeiten auf genau die
gleiche Weise dann, wenn an die Stelle der Hauptabtasteinrichtungs-
Synchronisierung die Unterabtastungs-Synchronisierung sowie
an die Stelle der Unterabtastungs-Synchronisierung eine
Seitensynchronisierung tritt. Bei diesem Ausführungsbeispiel
wird ein Signal, das einen 5 × 5-Bildelementebereich in dem
eingangsseitigen Bildspeicher 316 bestimmt, in Abhängigkeit
von den in den Zwischenspeichern 325 und 326 gespeicherten
ganzzahligen Teilen gebildet. Entsprechend diesem Bestimmungssignal
gibt der eingangsseitige Bildspeicher 316 die 25
Bildelementdaten für einen Bereich mit fünf Bildelementdaten in
der Hauptabtasteinrichtung und fünf Bildelementen in der Unterabtasteinrichtung
beginnend mit der vorangehend genannten Adresse
aus. Hinsichtlich der Adressen für den ausgangsseitigen
Bildspeicher 317 werden in der Hauptabtasteinrichtung die Adressen
für vier Bildelemente des ausgangsseitigen Bildspeichers
317 entsprechend der Hauptabtastungssynchronisierung und in
der Unterabtastrichtung die Adressen für vier Bildelemente
des Bildspeichers 317 entsprechend der Unterabtastungssynchronisierung
erhöht.
Von einem Adressenkorrekturteil 314 in der Prozessoreinheit
312 werden aus den eingegebenen 25 Bildelementedaten geeignete
vier Bildelementedaten gewählt und Adressenkorrektursignale
für das Anlegen eines Interpolationskoeffizienten für
die Interpolation an die 16 Prozessorelemente in der Rechenschaltung
315 erzeugt.
Die Fig. 48 zeigt den Aufbau der Prozessoreinheit 2 bzw. 312,
in welcher mit 331 der anhand der Fig. 47 beschriebene Adressengenerator
313 bezeichnet ist. Der Adressenkorrekturteil
314 enthält Abschnitte 332 und 332′ aus Hauptabtastschaltungen
2, 3 und 4 bzw. Unterabtastschaltungen 2, 3 und 4, die
der Hauptabtastschaltung 1 bzw. der Unterabtastschaltung 1
gleichartig sind, die in Zusammenhang mit Fig. 47 beschrieben
sind. Von den Hauptabtastungs-Registern 321 in den Hauptabtastschaltungen
2 bis 4 enthält das Register 321 in der
Hauptabtastschaltung 2 einen Wert, der stets um den Kehrwert
des Vergrößerungsfaktors für die Hauptabtasteinrichtung größer
als der Wert in dem Register 321 der Hauptabtastschaltung 1
ist. Gleichermaßen enthält von den Registern 321 in den
Schaltungen das Register in der Hauptabtastschaltung 2
und das Register in der Hauptabtastschaltung 4 einen größeren
Wert als das Register in der Hauptabtastschaltung 3. Andererseits
sind die Werte in den Unterabtastungsregistern 322 in
den Unterabtastschaltungen 2 bis 4 jeweils um den Kehrwert
des Vergrößerungsfaktors für die Unterabtasteinrichtung größer,
wobei der Wert in der Unterabtastschaltung 4 größer als
derjenige in der Unterabtastschaltung 3 ist, der Wert in der
Unterabtastschaltung 3 größer als derjenige in der Unterabtastschaltung
2 ist und der Wert in der Unterabtastschaltung
2 größer als derjenige in der Unterabtastschaltung 1 ist. Die
Ausgangssignale der Hauptabtastschaltungen 2 bis 4 und der
Unterabtastschaltungen 2 bis 4 werden jeweils als Signale
herangezogen, die bestimmen, welche vier Bildelemente der 25
Bildelemente in dem eingegebenen Bereich zu wählen sind. Als
Beispiel sei der Fall betrachtet, daß ein Vergrößerungsfaktor
2,5 für die Hauptabtasteinrichtung und ein Vergrößerungsfaktor
1,5 für die Unterabtasteinrichtung vorgesehen sind. Die Hauptabtastschaltung
1 zählt jedesmal bis 1,600 (= 4 × 1/2,5) hoch,
während die Unterabtastschaltung 1 jeweils bis 2,666 (=
4 × 1/1,5) hochzählt, wobei die ganzzahligen Teile der Zählstände
in der Hauptabtasteinrichtung 1 und der Unterabtastschaltung
1 herangezogen werden und als Anfangsadressen für
den Bereich aus 25 Bildelementen in den eingangsseitigen
Bildspeicher 316 eingesetzt werden. Ferner wird der von der
Hauptabtastschaltung 1 ausgegebene Dezimalbruchteil als
Hilfskoeffizienten-Datenwert für die Hauptabtastrichtung für
eine Spalte der Prozessormatrix, nämlich für die vier Prozessorelemente
(1, 1), (2, 1), (3, 1) und (4, 1) nach Fig. 48 eingesetzt.
Der Dezimalbruchteil aus der Unterabtastschaltung 1
wird als Hilfskoeffizient-Datenwert für die Unterabtastrichtung
für eine Zeile der Prozessormatrix, nämlich für die vier
Prozessorelemente (1, 1), (1, 2), (1, 3) und (1, 4) nach Fig. 48
eingesetzt. Die von den Hauptabtasteinrichtungen 2, 3 und 4
gezählten Größen unterscheiden sich voneinander jeweils um
0,4 (=1/2,5), während sich die von den Unterabtastschaltungen
2, 3 und 4 gezählten Größen voneinander um jeweils 0,666
(=1/1,5) unterscheiden. Die diese Zählstände speichernden
Zwischenspeicher werden jedesmal hinsichtlich ihrer ganzzahligen
Teile gelöscht, während die dagegen die Dezimalbruchteile
aufaddieren. Die Hauptabtastschaltungen 2 bis 4 geben
die ganzzahligen Teile und die Dezimalbruchteile an die Prozessorelemente
in der zweiten bis vierten Spalte der Prozessormatrix
ab, während die Unterabtastschaltungen 2 bis 4 die
ganzzahligen Teile und die Dezimalbruchteile an die Prozessorelemente
in der zweiten bis vierten Zeile der Prozessormatrix
abgegeben. Eine jede Prozessormatrix wählt vier Bildelemente
aus den 25 Bildelementdaten aus dem eingangsseitigen
Bildspeicher 316 in Abhängigkeit von den ganzzahligen Teilen
der Daten, die in den entsprechenden Hauptabtastungs-Zwischenspeichern
325 und den entsprechenden Unterabtastungs-
Zwischenspeichern 326 gespeichert sind, führen dann die zweidimensionale
Interpolation mit einem von dem Dezimalbruchteil
abhängigen Interpolationskoeffizienten aus und geben die
Interpolationsergebnisse an den entsprechenden ausgangsseitigen
Bildspeicher 317 ab. Der ausgangsseitige Bildspeicher 317
wird immer unter Einsetzen eines 16-Bildelemente-Bereichs aus
4 × 4 Bildelementen als Einheit adressiert, wobei jeder Prozessoreinheit
eines der 16 Bildelemente zugeordnet ist.
Die Fig. 49 zeigt eine Wählschaltung, von denen jeweils eine
in jedem Prozessorelement enthalten ist, nämlich eine Schaltung
für das Wählen von vier Bildelementen aus 25 Bildelementen.
Die Fig. 50 zeigt ein Beispiel für den Aufbau einer in
Fig. 49 gezeigten Wählschaltung 720, die dabei aus Hauptabtastungs-
Wählern 351 bis 355 und Unterabtastungs-Wählern 356
und 357 bestehend dargestellt ist. Die Fig. 51 zeigt ein
Beispiel für den Aufbau eines jeweiligen Hauptabtastungs-
oder Unterabtastungs-Wählers. Ein jeder Hauptabtastungs- oder
Unterabtastungs-Wähler kann aus zwei Wählern 361 und 362 mit
jeweils vier Eingängen und einem Ausgang aufgebaut sein.
Hinsichtlich der ganzzahligen Teile aus der Hauptabtastschaltung
1 und der Unterabtastschaltung 1 werden immer an die
Prozessorelemente einer jeden einzelnen Spalte und einer
jeden einzelnen Zeile die Werte "0" ausgegeben. Infolgedessen
wählt ein jedes Prozessorelement (i, j) ein I-tes, ein (I + 1)-
tes, ein J-tes und ein (J + 1)-tes der vier Eingangssignale
entsprechend einem Ausgangssignal (I, J) für die ganzzahligen
Teile einer Hauptabtastschaltung i und einer Unterabtastschaltung
j. Dadurch werden von dem Prozessorelement (i, j)
als vier Bildelemente aus den 25 Bildelementen die Bildelemente
(I, J), (I + 1, J), (I, J + 1) und (I + 1, J + 1) gewählt.
Als nächstes sei bei einer in Fig. 52 gezeigten Interpolierschaltung
740 zur zweidimensionalen linearen Interpolation
angenommen, daß die eingegebenen Werte für die vier Bildelemente
V(I, J), V(I, J + 1), V(I + 1, J) und V(I + 1, J + 1) sind und daß
die Interpolationskoeffizienten für die Hauptabtasteinrichtung
und für die Unterabtasteinrichtung jeweils α und β sind. Diese
werden als Dezimalbruchteile aus den entsprechenden Hauptabtastschaltungen
1 bis 4 und den Unterabtastschaltungen 1 bis
4 angelegt. Dann wird die Berechnung (1-β){(1-α)V(I, J) +
α V(I + 1, J)} + β{(1-α)V(I, J + 1)) + V(I + 1m, J + 1)} ausgeführt, wonach
die Interpolationsergebnisse ausgegeben werden, wobei
0 α und β < 1 gilt.
Vorstehend ist die Funktion der Prozessoreinheit 312 beschrieben.
Der Zusammenhang zwischen den Bildelementebereichen
des eingangsseitigen Bildspeichers 316, der Prozessoreinheit
312 und des ausgangsseitigen Bildspeichers 317 ist in
der Fig. 53 dargestellt. Im einzelnen ist die Anzahl der
Prozessorelemente in der Prozessoreinheit 312 gleich der
Anzahl der Bildelemente in dem ausgangsseitigen Bildspeicher
317, während die Anzahl der Bildelemente in dem zu Verarbeitung
herangezogenen Bildbereich in dem eingangsseitigen Bildspeicher
kleiner als die Anzahl der Prozessorelemente in der
Prozessoreinheit 312 ist.
Während bei dem Stand der Technik die Verarbeitung für ein
jedes einzelne ausgegebene Bildelement wiederholt wird, werden
bei dem vorstehend beschriebenen Ausführungsbeispiel die
Verarbeitungsergebnisse für eine Vielzahl von Ausgangsbildelementen
im gleichen Zyklus ausgegeben, so daß eine sehr
hohe Verarbeitungsgeschwindigkeit erreicht werden kann.
Ferner ist es möglich, die Interpolation unter gleichzeitiger
Eingabe zusammenhängender, eng benachbarter Bildelemente aus
dem eingangsseitigen Speicher auszuführen.
Der Aufbau und die Funktion der in Fig. 46 gezeigten Prozessoreinheit
2 bzw. 312 werden nun ergänzend unter Bezugnahme
auf die Fig. 66 bis 68 beschrieben.
Die Fig. 66 zeigt den Aufbau des eingangsseitigen Bildspeichers
316 und der Prozessoreinheit 312. Die Prozessoreinheit
312 ist gemäß Fig. 66 mit einer Gruppe digitaler Differenzanalysatoren
bzw. Integratoren (DDA) aus Hauptabtastschaltungen
1 bis 4 für die Hauptabtastrichtung, einer Gruppe digitaler
Integratoren aus Unterabtastschaltungen 1 bis 4 für die
Unterabtastrichtung, einer Gruppe von Wählern für das Wählen
von vier aus 25 Bildelementen und einer Prozessorelementegruppe
aus Prozessorelementen für die jeweiligen Wähler der
Wählergruppe aufgebaut.
Die Fig. 67 zeigt die Zusammenhänge zwischen den Prozessorelementen
der Prozessorelementengruppe und den Bildelementen
in einem Bildelementeblock des ausgangsseitigen Bildspeichers
317.
Die Fig. 68 ist eine die Fig. 47 ergänzende Darstellung und
dient zur Beschreibung des Hauptteils eines digitalen Integrators,
der in Fig. 66 als Hauptabtastschaltungen 1 bis 4
und Unterabtastschaltungen 1 bis 4 dargestellt ist.
Gemäß Fig. 68 erhält der als Hauptabtastschaltungen 1 bis 4
und Unterabtastschaltungen 1 bis 4 dargestellte digitale
Integrator als Aufstufungswert einen Wert, der das Vierfache
des Kehrwerts des zu verändernden Vergrößerungsfaktors ist.
Da bei diesem Ausführungsbeispiel die Prozessorelementegruppe
aus 4 × 4 bzw. 16 Prozessorelementen besteht, haben die Hauptabtastschaltungen
1 bis 4 und die Unterabtastschaltungen 1
bis 4 als Abstufungswerte alle die Werte, die das Vierfache
des Kehrwerts des Vergrößerungsfaktors sind. Falls die Prozessorelementegruppe
aus m × n Prozessorelementen gebildet ist,
erhält ein digitaler Integrator aus Hauptabtastschaltungen 1
bis m einen Aufstufungswert, der das m-fache des Kehrwerts
des Vergrößerungsfaktors ist, während ein digitaler Integrator
aus Unterabtastschaltungen 1 bis n einen Aufstufungswert
erhält, der das n-fache des Kehrwerts des Vergrößerungsfaktors
ist. Falls beispielsweise der Vergrößerungsfaktor 8 ist,
ist der Aufstufungswert 4 × ⅛ = ½. Dementsprechend arbeiten
in dem digitalen Integrator für die Hauptabtastrichtung,
nämlich in den Hauptabtastschaltungen 1 bis 4 die Addierer
und Zwischenspeicher synchron mit dem Hauptabtastungs-Synchronisiersignal.
Auf dieses Synchronisiersignal hin gibt
jedes Prozessorelement einen Wert ab, der einem einzelnen
Bildelement des Ausgabebilds entspricht. Diese Werte werden
unter Zeitsteuerung durch ein einzelnes Synchronisier-Taktsignal
an den Block des Bildspeichers 317 für die Ausgabe
eines Bilds aus 4 × 4 bzw. 16 Bildelementen abgegeben. Zum
Zeitpunkt des nächsten Synchronisiertaktsignals werden die
Bildelementewerte für den benachbarten Block aus 4 × 4 Bildelementen
in dem ausgangsseitigen Bildspeicher 317 abgegeben und
in den Speicher eingeschrieben. Danach werden die Bildelementewerte
aufeinanderfolgend in der Hauptabtastrichtung in
Einheiten von Blöcken aus 4 × 4 Bildelementen ausgegeben. Diese
Bildelementewerte werden ausgegeben und in den ausgangsseitigen
Bildspeicher 317 bis zu dessen rechten Rand hin eingeschrieben,
woraufhin die Hauptabtastung zu dem Ausgangspunkt
zurückkehrt und die Unterabtastung zu einem Block fortschreitet,
der (in bezug auf den Bildbereich nach unten) um einen
Block versetzt ist. Dies wird dadurch erreicht, daß das
Speicherausgangssignal in dem digitalen Integrator mit den
Unterabtastschaltungen 1 bis 4 synchron mit dem Unterabtastungs-
Synchronisiersignal um den Aufstufungswert erhöht wird
und der Zwischenspeicher des digitalen Integrators mit den
Hauptabtastschaltungen 1 bis 4 durch das Unterabtastungs-
Synchronisiersignal rückgesetzt wird. Die Übereinstimmung
zwischen den von den Prozessorelementen angegebenen Werten
und den Bildelementen des Bildelementeblocks in dem ausgangsseitigen
Bildspeicher ist in Fig. 67 dargestellt.
Jedes Prozessorelement erhält zum Bilden der Wechselbeziehung
bzw. Korrelation einen Interpolationskoeffizienten durch das
Heranziehen der Dezimalbruchteile des digitalen Hauptabtastungs-
Integrators und des digitalen Unterabtastungs-Integrators
(wobei für die Prozessorelement-Stelle (i, j) der Hauptabtastungs-
Integrator der Hauptabschaltung i und der
Unterabtastungs-Integrator der Unterabtastschaltung j entspricht).
D. h., als Interpolationskoeffizienten werden die
Dezimalbruchteile selbst herangezogen. Die von dem digitalen
Hauptabtastungs-Integrator und dem digitalen Unterabtastungs-
Integrator (DDA) abgegebenen ganzzahligen Teile drücken die
Zuordnung zwischen den einzuschreibenden Ausgangs-Bildelementen,
deren Werte von den Prozessorelementen ausgegeben werden,
und den Adressen der Bildelemente in dem Eingangsbildspeicher
aus. "Um ein einzelnes Bildelement benachbart" in
dem Speicher für das Ausgangsbild hat die Bedeutung einer
Stelle, die um eine Strecke benachbart ist, welche in dem
Eingabebildspeicher dem Kehrwert des Vergrößerungsfaktors
äquivalent ist (nämlich bei dem Vergrößerungsfaktor 8 die um
⅛ benachbarte Stelle). Diese Stelle soll als "Imaginärstelle"
bezeichnet werden. Infolgedessen ist zum Erzielen von
Daten für die Imaginärstelle die Interpolation erforderlich.
Von dem Ausgangssignal des digitalen Integrators gibt
der ganzzahlige Teil eine Adresse in dem Eingabebildspeicher
an, an der am nächsten an der Imaginärstelle liegend tatsächlich
ein Eingabebildelement vorhanden ist, während der Dezimalbruchteil
eine Versetzung von der Stelle des tatsächlich
vorhandenen Eingabebildelements zu der Imaginärstelle darstellt.
Infolgedessen wird der Dezimalbruchteil zum Bilden
des Interpolationskoeffizienten herangezogen. Der ganzzahlige
Teil wird als Adresse in dem Eingabebildspeicher für die
Eingangsbilddaten herangezogen, um die vorangehend beschriebene
Interpolation auszuführen. Die ganzzahligen Teile aus
der Hauptabschaltung 1 und der Unterabtastschaltung 1
sind Adressen der Stelle in der oberen linken Ecke des 5 × 5-
Bildelementebereichs, der in den 16 Prozessorelementen verarbeitet
werden kann. Dies ist in Fig. 66 dargestellt. Wenn der
Vergrößerungsfaktor "1" ist (Maßstab 1 : 1), werden alle 5 × 5
Bildelemente zumindest einmal in irgendeinem der 16 Prozessorelemente
benutzt. Sobald der Vergrößerungsfaktor größer
ist, werden nur die Bildelemente in einem kleinen Bereich von
dem oberen linken Abschnitt des 5 × 5-Bildelementebereichs weg
benutzt. Infolgedessen werden bei einem Vergrößerungsfaktor
über "1" durch die ganzzahligen Teile aus der Hauptabtastschaltung
1 und der Unterabtastschaltung 1 die 25 Bildelementedaten
für die an den Stellen am oberen linken Rand gelegenen
5 × 5 Bildelemente in alle 16 Wähler eingegeben. Die Wähler
SEL sind jeweils einem der Prozessorelemente zugeordnet, so
daß ein Prozessorelement PE(i, j) einem Wähler SEL(i, j) entspricht.
Gemäß den mittels Subtrahieren 710 und 712 berechneten
Differenzen zwischen den ganzzahligen Teilen der entsprechenden
digitalen Integratoren für die Hauptabtastung und
Unterabtastung und den ganzzahligen Teilen aus der Hauptabtastschaltung
1 und der Unterabtastschaltung 1 wählt das
entsprechende Prozessorelement, welche vier Bildelemente aus
den 5 × 5 bzw. 25 Bildelementen die erforderlichen Eingangsbilddaten
sind. Diese Zuordnung ist in Fig. 66 dargestellt.
Die Prozessorelemente der ersten Spalte verarbeiten immer
Bildelemente der ersten und zweiten Spalte der eingegebenen
5 × 5-Bildelementegruppe. Gleichermaßen verarbeiten die Prozessorelemente
der ersten Zeile immer die Bildelemente der
ersten und zweiten Zeile der eingegebenen 5 × 5-Bildelementegruppe.
Daher zeigt die Fig. 66, daß in die Wähler der ersten
Spalte statt der ganzzahligen Werte aus den digitalen Hauptabtastungs-
Integratoren eine Konstante eingegeben wird und in
die Wähler der ersten Zeile statt der ganzzahligen Werte aus
den digitalen Unterabtastungs-Integratoren gleichfalls eine
Konstante eingegeben wird.
Das von einem jeden Prozessorelement ausgeführte Interpolationsverfahren
ist gleichartig der in Fig. 52 gezeigten Interpolierschaltung
740 zur zweidimensionalen Interpolation
ausgeführten Verarbeitung und muß daher nicht noch einmal
beschrieben werden.
Bilddatenkomprimierung
Bei einem nachstehend beschriebenen Ausführungsbeispiel der
Bildverarbeitungseinrichtung ist die von der Prozessoreinheit
2 ausgeführte Verarbeitung eine Bildkomprimierung. Es besteht
keine bestimmte Einschränkung hinsichtlich der Anzahl k × l
oder K × L von Speicherelementen, die den leseseitigen oder
schreibseitigen Bildspeicher bilden.
Ferner besteht hinsichtlich der Blockformate k′ × l′ und K′ × L′
der in den Speichern abgerufenen Bildelemente keine Einschränkung
auf das nachstehend beschriebene Beispiel. Es sind
jedoch die Bedingungen 1 ≦ k′ ≦k, 1 ≦ l′ ≦l, 1 ≦ K′ ≦K und 1 ≦ L′ ≦L
einzuhalten.
Es wird nun die Abtastung für den Speicherzugriff bei dem
nachfolgend beschriebenen Ausführungsbeispiel erläutert. Aus
der vorangehenden Ausführungen (hinsichtlich des ersten Beispiels)
ist zu entnehmen, daß ohne Beschränkung auf die
Leseseite oder die Schreibseite dann, wenn das abgerufene
Bildelementeformat gleich dem Format der den jeweiligen Bildspeicher
bildenden Speicherelemente ist, die Abtastung in
jedem der Bildspeicher nach dem vorangehend beschriebenen
ersten Folgeabfrageverfahren vorgenommen werden kann. Falls
andererseits in dem leseseitigen und schreibseitigen Bildspeicher
ein Bildelementeformat abgerufen werden soll, das
kleiner als das Format der den Speicher bildenden Speicherelemente
ist, kann die Abtastung nach dem vorangehend beschriebenen
Block-Folgeabfrageverfahren vorgenommen werden
(5. Beispiel).
Es wird nun ein Prozeß beschrieben, bei dem aus einem Bildspeicher
gleichzeitig Bilddaten abgerufen werden, die rechteckigen
Bereichen aus m × n Bildelementen eines ursprünglichen
Bilds entsprechen, die Bilddaten gleichzeitig von einer Prozessoreinheit
werden, die kleiner als das Blockformat m × n des rechteckigen
Bereichs in dem Bildspeicher ist, die Bilddaten dann
als Informationen von den jeweiligen Prozessorelementen unter
Informationsaustausch zwischen den Prozessorelementen verarbeitet
werden, wodurch die eingegebenen Bilddaten komprimiert
werden, und die Ergebnisse in den ausgangsseitigen Bildspeicher,
in einen rechteckigen Bereich ausgegeben werden, der
kleiner als das Blockformat m × n des rechteckigen Bereichs im
eingangsseitigen Bildspeicher für das ursprüngliche Bild
ist, so daß dadurch die eingangsseitigen ursprünglichen Bilddaten
komprimiert sind. Zur Vereinfachung der Beschreibung
sei angenommen, daß das Blockformat des rechteckigen Bereichs
im eingangsseitigen Bildspeicher m = n = 4 ist, daß die Anzahl
der Prozessorelemente "2" ist und daß das Blockformat des
rechteckigen Bereichs im ausgangsseitigen Bildspeicher 1 × 1 = 1
ist.
Die Fig. 54 zeigt die Zusammenhänge zwischen einem Eingabe-
Bildelementeblock 561 in einem eingangsseitigen Bildspeicher
560 für das ursprüngliche Bild, Bildelementen 561 a, einer
Prozessoreinheit 562, Prozessorelementen 563 a und 563 b und
Ausgabe-Bildelementen 564 a in einem ausgangsseitigen Bildspeicher
564 für die Ausgabe komprimierter Daten. Aus einer
Steuereinheit 565 wird in die Prozessoreinheit 562 und den
eingangsseitigen Bildspeicher 560 ein Steuersignal eingegeben,
wodurch die Bilddaten aus dem Bildelementeblock 561 aus
16 zugehörigen Bildelementen in dem eingangsseitigen Bildspeicher
560 gleichzeitig abgerufen werden und die benötigten
Bilddaten von dem entsprechenden Prozessorelement 563 a und
563 b in der Prozessoreinheit 562 berechnet aus den Bilddaten für die 16
Bildelemente eine typische Dichteinformation 571 und eine
Detailinformation 572 gemäß der Darstellung in Fig. 55 und
gibt die komprimierten Bilddaten als Ausgabe-Bildelemente
564 a zu den entsprechenden Stellen in dem ausgangsseitigen
Bildspeicher 564 aus.
Von den beiden Prozessorelementen 563 a und 563 b in der Prozessoreinheit
562 ist eines, nämlich das Prozessorelement
563 für die Berechnung der typischen Dichteinformation 571
aus den Bilddaten für die 16 Bildelemente bestimmt, während
das andere, nämlich das Prozessorelement 563 b zum Berechnen
der Detailinformationen 572 dient, welche auf einer Bildinformation
beruhend berechnet wird, die mittels eines festen
Schwellenwerts binär codiert ist, der der Charakteristik des
eingegebenen Bilds entspricht. Die Detailinformationen sind
beispielsweise Daten, die durch Vektorquantisierung der binär
codierten Bildinformationen gewonnen werden, und Daten über
die Verteilung der Bildinformationen. Vorstehend sind zusammengefaßt
die Einrichtung und der Prozeßablauf für das Komprimieren
eingegebener ursprünglicher Bilddaten beschrieben.
Es werden nun die Einzelheiten der von den Prozessorelementen
563 a und 563 b ausgeführten Verarbeitung beschrieben.
Das ausschließlich für das Berechnen der typischen Dichteinformation
571 vorgesehene Prozessorelement 563 a weist gemäß
Fig. 56 einen Puffer 581 für das vorübergehende Speichern der
Bilddaten für die 16 Bildelemente über eine arithmetische bzw.
Recheneinheit 582 auf. Das Prozessorelement 563 a bildet aus
den Bilddaten für die 16 Bildelemente einen mittleren Dichtewert
und gibt diesen Wert als typische Dichteinformation an
den ausgangsseitigen Bildspeicher 564 ab. Das ausschließlich
zum Zusammenstellen der Detailinformation 572 dienende Prozessorelement
563 b weist gleichfalls einen 16-Bildelemente-
Puffer 581 und eine Recheneinheit 582 gemäß Fig. 56 auf.
Entsprechend den Eigenschaften des eingegebenen ursprünglichen
Bilds wird die Detailinformation 572, die eine Blockinnenmuster-
Information, welche durch das binäre Codieren der
Tönungsinformation für die 16 Bildelemente mit einem von
einer nicht gezeigten Einrichtung vorbestimmten Schwellenwert
ermittelt wird, und eine aus dem Schwellenwert und einem
jeweiligen Bildelement der Bilddaten in dem Block ermittelte
Verteilungsinformation enthält, zusammen mit der typischen
Dichteinformation 571 an den ausgangsseitigen Bildspeicher
564 ausgegeben.
Dabei sind die beiden Prozessorelemente 563 a und 563 b zu
parallelem Arbeiten ausgebildet, so daß die Komprimierung mit
hoher Geschwindigkeit ausgeführt wird.
Bei dem vorstehend beschriebenen Komprimieren wird der eingangsseitige
Bildspeicher aufeinanderfolgend in Speicherblockeinheiten
aus 4 × 4 Bildelementen abgefragt. Durch das
Wiederholen dieses Vorgangs bis zum Abschluß der Verarbeitung
des letzten Speicherblocks aus 4 × 4 Bildelementen in dem
Bildspeicher wird ds ursprüngliche Bild einer Seite komprimiert.
Gemäß der vorstehenden Beschreibung wird für das Berechnen
der Detailinformation aus den komprimierten Daten der durch
Vorgabe eines Schwellenwerts erhaltene feste Schwellenwert
benutzt. Es ist jedoch ersichtlich, daß dieser Schwellenwert
auch ein Wert sein kann, der der von dem Prozessorelement
563 a abgegebenen mittleren Dichte entspricht. Ferner kann in
der Prozessoreinheit 562 ein einziges Prozessorelement eingesetzt
sein.
Bei dem vorstehend beschriebenen Ausführungsbeispiel werden
die Rohdaten für das eingegebene ursprüngliche Bild während
des aufeinanderfolgenden Abrufens in Blöcken aus m × n Bildelementen,
nämlich 4 × 4 Bildelementen komprimiert. Daher werden
statt des mehrmaligen Abrufens eines jeden Bildelements in
dem eingangsseitigen Bildspeicher die Bilddaten für m × n Bildelemente
gleichzeitig abgerufen. Hierdurch wird es möglich,
die Bilddaten unter deren Komprimierung mit hoher Geschwindigkeit
zu übertragen.
Wenn die Bilddaten in Blockeinheiten aus m × n Bildelementen
codiert werden, kann ein einzelner Codierprozeß durch einen
einzelnen Speicherabruf dadurch ausgeführt werden, daß das
Format des eingangsseitigen Speicherblocks auf die gleichen
m × n Bildelemente festgelegt wird. Hierdurch wird das schnelle
Verarbeiten ermöglicht und der Aufbau der Einrichtung vereinfacht.
Ferner können dadurch, daß in der Prozessoreinheit
Prozessorelemente in einer Anzahl m′ × n′ vorgesehen werden,
die kleiner als die Anzahl m × n der Bildelemente in dem
eingangsseitigen Speicherblock ist, und daß an jedem Prozessorelement
das gesonderte Verarbeiten herbeigeführt wird, die
Kosten für die Prozessoreinheit verringert werden, wobei
durch das parallele Verarbeiten die Verarbeitungsgeschwindigkeit
zum Komprimieren gesteigert werden kann.
Es wird nun ein weiteres Ausführungsbeispiel für einen Komprimiervorgang
beschrieben.
Im folgenden wird ein Prozeß beschrieben, bei dem aus einem
Bildspeicher Bilddaten für rechteckige Bereiche aus m × n Bildelementdaten
eines ursprünglichen Bilds gleichzeitig abgerufen
werden, die Bilddaten von einer Prozessoreinheit mit m × n
Prozessorelementen aufgenommen werden, von denen jedes einem
entsprechenden Speicherelement für die jeweiligen Bildelemente
zugeordnet ist, die Bilddaten mittels der jeweiligen Prozessorelemente
komprimiert werden und die Ergebnisse in einem
Bildspeicher ausgegeben werden. Bei dieser Beschreibung ist
es zur Vereinfachung angenommen, daß m = n = 4 gilt.
Die Fig. 57 zeigt die Zusammenhänge zwischen einem Eingabe-
Bildelementeblock 591 in einem eingangsseitigen Bildspeicher
590 für ein ursprüngliches Bild, Bildelementen 591 a, einer
Prozessoreinheit 592, Prozessorelementen 592 a und Ausgangsbilddaten
593 a in einem ausgangsseitigen Bildspeicher 593.
Entsprechend einem Steuersignal aus einer Steuereinheit 594
werden die Bilddaten des Bildelementeblocks 591 mit 16 geeigneten
Bildelementen aus dem eingangsseitigen Bildspeicher 590
gleichzeitig abgerufen und von den jeweiligen Prozessorelementen
592 a in der Prozessoreinheit 592 aufgenommen. Die
Prozessoreinheit 592 berechnet aus den Bilddaten für die 16
Bildelemente die typische Dichteinformation 571 und die Detailinformation
572 gemäß Fig. 55 und gibt die Ergebnisse an
den ausgangsseitigen Bildspeicher 593 aus.
Die Prozessorelemente 592 a der Prozessoreinheit 592 stehen in
1 : 1-Zuordnung zu den 4 × 4 Bildelementen und sind gitter- bzw.
rasterförmig ist die Verarbeitung zur Bilddatenkomprimierung
zusammengefaßt beschrieben. Es werden nun die Einzelheiten
der von den Prozessorelementen 592 a ausgeführten Verarbeitung
erläutert.
Die Prozessorelemente 592 a in der Prozessoreinheit 592 werden
in Zeilen- und Spaltenrichtung numeriert, so daß sie gemäß
Fig. 58 und 59 voneinander durch die Kombination dieser
Nummern unterschieden werden.
Es wird nun der Prozeß für das Bilden der typischen Dichteinformation
aus den Bilddaten für die 16 Bildelemente beschrieben.
Es sei angenommen, daß die in Fig. 58 gezeigten 16
Prozessorelemente 592 a die entsprechenden Bilddaten aufgenommen
haben. Ein jedes der parallel arbeitenden Prozessorelemente
(1, 1), . . .(4, 4) erreichnet ¹/₁₆ der Dichtedaten für ein
jedes Bildelement, wonach alle Rechenergebnisse gleichzeitig
von dem Prozessorelement (1, 1) addiert werden, aus den Dichteinformationen
für die 16 Bildelemente ein Mittelwert gebildet
wird und dieser Wert als Wert der in Fig. 55 gezeigten
typischen Dichteinformation 571 über die tpyische Dichte der
komprimierten Daten an den ausgangsseitigen Bildspeicher
angegeben wird.
Nachstehend wird nund das Ermitteln der in Fig. 55 gezeigten
Detailinformation 572 über die Details in den Komprimierungsdaten
beschrieben. Die in Fig. 59 gezeigten Prozessorelemente
sind die gleichen wie die in Fig. 58 gezeigten.
Zum schnellen Ermitteln der Musterinformation eines jeden
Bildelements, die durch binäres Codieren der Tönungsinformation
eines jeden Bildelements in den 16 Prozessorelementen
592 a mit der von dem Prozessorelement (1, 1) nach Fig. 58
abgegebenen Durchschnittsdichteinformation erhalten wird,
sowie der Durchschnittsdichteinformation und der Verteilungsinformation
aus jedem Posten der Bildelementdaten in dem
Block werden die 4 × 4 Prozessorelemente in vier Blöcke aus
jeweils 2 × 2 Prozessorelementen gemäß der Darstellung durch
die ausgezogenen Linien in Fig. 59 unterteilt; in den vier
Blöcken aus 2 × 2 Prozessorelementen werden die Musterinformationen
und die Verteilungsinformationen parallel verarbeitet,
wonach die Ergebnisse als Zwischenergebnisse in die vier
mittigen Prozessorelemente (2, 2), (2, 3), (3, 2) und (3, 3)
eingespeichert werden; die vorstehend beschriebene Verarbeitung
wird dann im mittigen Block aus 2 × 2 Prozessorelementen
ausgeführt, wonach in dem Prozessorelement (2, 2) das Endergebnis
gebildet wird und dieser Wert als Detailinformation
572 über die betreffenden 16 Bildelemente an den ausgangsseitigen
Bildspeicher ausgegeben wird.
Durch das Wiederholen der vorstehend beschriebenen Verarbeitung
unter aufeinanderfolgendem Abrufen des eingangsseitigen
Bildspeichers in Blockeinheiten aus 4 × 4 Bildelementen bis zum
Abschluß der Komprimierungsverarbeitung des letzten 4 × 4-
Bildelementeblocks des ursprünglichen Bilds werden komprimierte
Daten erhalten, die dem ursprünglichen Bild einer
Seite äquivalent sind.
Bei dem vorstehend beschriebenen Ausführungsbeispiel werden
die Rohdaten des eingegebenen ursprünglichen Bils aufeinanderfolgend
in Speicherblöcken aus m × n Bildelementen, wie z. B.
aus 4 × 4 Bildelementen abgerufen. Daher können statt des mehrmaligen
Abrufens eines jeden Bildelements in dem eingangsseitigen
Bildspeicher die Bilddaten für m × n Bildelemente gleichzeitig
abgerufen werden. Dies ermöglicht eine schnelle Komprimierung
und Übertragung der Bilddaten.
Bei der Codierung der Bilddaten in Blockeinheiten aus m × n
Bildelementen kann ein einzelner Codierprozeß durch einen
einzelnen Speicherabruf dadurch ausgeführt werden, daß das
Format des eingangsseitigen Speicherblocks die gleichen m × n
Bildelemente erhält. Hierdurch wird eine schnelle Verarbeitung
ermöglicht und der Aufbau der Einrichtung vereinfacht.
Da ferner in der Prozessoreinheit die m × n Prozessorelemente
mit dem gleichen Format wie die eingangsseitigen Speicher
blöcke zum parallelen Codieren ausgebildet sind, wird dadurch
die Verarbeitungsgeschwindigkeit der Prozessoreinheit erhöht.
Bilddatenkomprimierung und -Expandierung
Es wird nun ein weiteres Ausführungsbeispiel beschrieben. Bei
diesem werden aus einem eingangsseitigen Bildspeicher für ein
ursprüngliches Bild gleichzeitig mehrere Bilddatenposten
abgerufen, die jeweils rechteckigen Bereichen aus m × n Bildelementen
entsprechen, wonach die Bilddaten von den Prozessorelementen
der Prozessoreinheit aufgenommen werden, die
Bilddaten komprimiert werden und die Ergebnisse aufeinanderfolgend
an entsprechende Stellen in dem ausgangsseitigen
Bildspeicher in einem Format m′xn′ ausgegeben werden, das
kleiner als das Blockformat bei der Eingabe ist (m < m′, n < n < n′).
In Gegensatz dazu werden gleichzeitig Bildelemente in einem
Blockformat x′xn′ aus dem eingangsseitigen Bildspeicher abgerufen,
die Bilddaten von der Prozessoreinheit aufgenommen,
eine Expansions- bzw. Erweiterungsverarbeitung ausgeführt und
danach gleichzeitig an den ausgangsseitigen Bildspeicher die
Bilddaten für alle Bildelemente im Format m × n ausgeben, das
größer als das Blockformat bei der Eingabe ist (m < m′, n < n′).
Dabei werden jeweils die Speicherblockformate m × n und m′xn′
festgelegt. Abhängig von dem Inhalt der Verarbeitung, nämlich
einer Verarbeitung zum Komprimieren oder Expandieren wird
eingangsseitig das Format m × n und ausgangsseitig das Format
m′xn′ oder umgekehrt eingangsseitig das Format m′xn′ und
ausgangsseitig das Format m × n gewählt (wobei m < m′ und n < n′
gilt). Nachstehend wird der Ablauf der Verarbeitung zum Komprimieren
und Expandieren beschrieben. Zur Vereinfachung sei
angenommen, daß m = n = 4 und m′ = n′ = 1 gilt und daß die Prozessoreinheit
zwei Prozessorelemente enthält.
Zunächst wird gemäß der Darstellung in Fig. 54 bei dem Komprimieren
aus einer Steuereinheit 544 an eine Prozessoreinheit
541 ein Steuersignal abgegeben, das eingangsseitige
Blockformat auf 4 × 4 Bildelemente festgelegt; dann werden
die Bilddaten für entsprechende 16 Bildelemente aus einem
eingangsseitigen Bildspeicher 540 für das ursprüngliche Bild
gleichzeitig abgerufen und die benötigten Bilddaten von jeweiligen
Prozessorelementen 541 a und 541 b in der Prozessoreinheit
541 aufgenommen. Von der Prozessoreinheit 541 werden
aus den Bilddaten für die 16 Bildelemente die typische Dichteinformation
571 und die Detailinformation 572 gemäß Fig. 55
berechnet und die komprimierten Bilddaten an entsprechende
Stellen in einem ausgangsseitigen Bildspeicher 542 ausgegeben.
Nachstehend wird nun eine Verarbeitung für das Expandieren
der komprimierten codierten Daten beschrieben.
Die Fig. 60 zeigt die Zusammenhänge zwischen codierten Daten
540 a in dem eingangsseitigen Bildspeicher 540, der Prozessoreinheit
541 mit den Prozessorelementen 541 a und 541 b, einem
Ausgabe-Bildelementblock 543 für den ausgangsseitigen Wiedergabe-
Bildspeicher 542 und Ausgabe-Bildelementen 543 a. Aus
einer Steuereinheit 544 wird in die Prozessoreinheit 541 ein
Steuersignal eingegeben, das eingangsseitige Blockformat wird
auf 4 × 4 Bildelemente festgelegt, die codierten Daten gemäß
der Darstellung in Fig. 55 aus dem eingangsseitigen Bildspeicher
werden in die Prozessoreinheit 541 eingegeben, mit den
Prozessorelementen 541 a und 541 b wird die jeweils betreffende
Verarbeitung ausgeführt und die reproduzierten Bilddaten für
16 Bildelemente werden gleichzeitig an einen entsprechenden
4 × 4-Rechteckbereich in dem ausgangsseitigen Bildspeicher 542
ausgegeben. Ein jedes der Prozessorelemente 541 a und 541 b der
Prozessoreinheit 541 führt eine Verarbeitung aus, die zu
derjenigen bei dem Komprimieren entgegengesetzt ist. Beispielsweise
wird die Dichteinformation für die Bilddaten der
16 Bildelemente aus der typischen Dichteinformation 571 in
den codierten Daten sowie der Verteilungsinformation in der
Detailinformation 572 ermittelt. Die Bilddaten für die 16
Bildelemente werden gleichzeitig reproduziert. Hierbei arbeiten
die mehreren Prozessorelemente 541 a und 541 b parallel, so
daß die Verarbeitung für die Expansion mit hoher Geschwindigkeit
ausgeführt werden kann.
Bei dieser Verarbeitung für die Expansion werden die eingangsseitigen
codierten Daten aufeinanderfolgend abgerufen
und es wird hinsichtlich der ausgangsseitigen Bilddaten die
Verarbeitung der aufeinanderfolgenden Daten in Blockeinheiten
aus 4 × 4 Bildelementen ausgeführt, bis eingangsseitig keine
codierten Daten mehr vorliegen. Auf diese Weise werden aus
den Bilddaten für eine Seite codierter Daten reproduzierte
Bilddaten geformt.
Gemäß dieser Beschreibung wird für die Berechnung der Detailinformation
bei dem Komprimieren der Daten ein durch Vorgabe
eines Schwellenwerts bestimmter fester Schwellenwert benutzt.
Dieser Schwellenwert kann jedoch auch ein Wert sein, der dem
von einem weiteren Prozessorelement ausgegebenen Durchschnittsdichtewert
entspricht. Ferner kann in der Prozessoreinheit
ein einziges Prozessorelement vorgesehen werden.
Weiterhin können bei dem vorstehend beschriebenen Ausführungsbeispiel,
bei dem das eingangsseitige oder ausgangsseitige
Blockformat groß ist, die Prozessorelemente als rasterförmige
4 × 4-Matrix angeordnet werden. Bei dem beschriebenen
Ausführungsbeispiel sind zwar die Blockformate 4 × 4 Bildelemente
und ein Bildelement genannt, jedoch können dieser Formate
beliebig gewählt werden.
Bei dem vorstehend beschriebenen Ausführungsbeispiel werden
die Rohdaten für das eingegebene ursprüngliche Bild oder die
ausgangsseitig reproduzierten Bilddaten aufeinanderfolgend in
jeweiligen Speicherblöcken aus m × n Bildelementen, wie beispielsweise
4 × 4 Bildelementen abgerufen. Daher können statt
des mehrmaligen Abrufens eines jeden Bildelements in dem
eingangsseitigen Bildspeicher gleichzeitig Bilddaten für m × n
Bildelemente abgerufen werden. Dies ermöglicht das Übertragen
der Bilddaten unter deren Komprimierung mit hoher Geschwindigkeit.
Da ferner die Blockformate der Bildspeicher an der Eingangsseite
und der Ausgangsseite gewechselt werden können, wie
beispielsweise von 4 × 4 Bildelemente und 1 Bildelement auf 1
Bildelement und 4 × 4 Bildelemente, müssen nicht gesondert eine
Komprimiereinrichtung und eine Expandiereinrichtung vorgesehen
werden, so daß eine einzige Einrichtung ausreichend ist.
Auf diese Weise kann die Anzahl erforderlicher Komponenten
der Einrichtung auf ein Mindestmaß herabgesetzt werden.
Da darüber hinaus die eingangsseitigen Blockformate als gesonderte
Blockformate gewählt werden können, kann eine Maskierungsverarbeitung
entfallen, bei welcher erforderliche Bilddaten
nicht gelesen oder nicht wieder eingeschrieben werden.
Da auch die Prozessorelemente in der Prozessoreinheit die
Verarbeitung parallel ausführen, wird dadurch die Verarbeitungsgeschwindigkeit
der Prozessoreinheit erhöht.
Bei dem vorstehend beschriebenen Ausführungsbeispiel erfolgt
eine parallele Verarbeitung zur Bildkomprimierung und Bildexpandierung
mit hoher Geschwindigkeit. Bei dem Komprimieren
und Expandieren eines Bilds ist es ausreichend, die Adressen
gemäß der vorangehenden Beschreibung anhand der Fig. 16 und
17 zuzuweisen.
Farbbildverarbeitung
Es wird nun eine Bildverarbeitung eines digitalen Farbbilds
beschrieben. Die Farbinformation in einem digitalen Farbbild
ist als Kombination beispielsweise aus Rot R, Grün G und Blau
B ausgedrückt. Daher werden Bildspeicher für R, G und B
vorgesehen, von denen jeder eine Kapazität zum Speichern von
Daten mit einer Tiefe von 8 Bit für eine jeweilige Farbe hat.
Zu einer schnellen Verarbeitung der auf die vorstehend genannten
Weise gespeicherten Farbinformationen wird eine derartige
Anordnung gewählt, daß jeweils entsprechende Prozessorelemente
in 1 : 1-Übereinstimmung entsprechenden Bildspeicherzellen
für R, G und B zugeordnet werden, die Verarbeitung
für R, für G und B parallel ausgeführt wird und ein Informationsaustausch
zwischen den jeweiligen Prozessorelementen
ermöglicht ist. Die Fig. 61 zeigt die Gestaltung eines Bildspeichers
402 für eine Seite und eine n × n-Prozessoreinheit
401, wie beispielsweise eine 4 × 4-Prozessoreinheit.
Die Fig. 61 veranschaulicht nur die theoretische Anordnung
der Grundkomponenten und zeigt, daß an den Bildspeicher 402
für R, G und B die Prozessoreinheit 401 angeschlossen ist.
Nach Fig. 61 werden n × n Bilddatenposten für jeweils R, G und
B an irgendwelchen Bildelementestellen in dem Bildspeicher
402 zu der Prozessoreinheit 401 übertragen, die aus n × n
Prozessorelementen für eine jede Farbe zusammengesetzt ist,
in denen die Daten mit hoher Geschwindigkeit verarbeitet und
dann in den Bildspeicher 402 zurückgeführt werden. Der Aufbau
der Prozessoreinheit 401 für die jeweilige Farbe ist in der
Fig. 62 ausführlich dargestellt. Eine jede Prozessoreinheit
besteht aus n × n, wie z. B. 4 × 4 Prozessorelementen, von denen
aneinander angrenzende Prozessorelemente miteinander in Verbindung
stehen, während Prozessorelemente an gleichen Stellen
in bezug auf die Prozessoreinheiten auch miteinander in Verbindung
kommen können. Es wird nun das Funktionsprinzip beschrieben.
Farbumsetzung
Es sein nun eine Verarbeitung zur Farbumsetzung betrachtet.
Die Farbumsetzung ist eine Verarbeitung, bei der an Bilddaten
mit Farbinformation die Farbinformation in eine andere vorbestimmte
besondere Farbinformation umgesetzt wird. Gemäß dem
in Fig. 23 gezeigten und schon beschriebenen Ablaufdiagramm
führen die Prozessorelemente der Prozessoreinheit die Farbumsetzung
parallel für 16 Bildelemente aus, wobei die jeweils
an den gleichen Stellen gelegenen Prozessorelemente für R, G
und B Informationen auszutauschen.
Die Verarbeitungsvorgänge zwischen einem jeweiligen Speicher
und der Prozessoreinheit werden nun ausführlich anhand der
Fig. 61 und Fig. 62 beschrieben.
Als erstes wird die Farbinformation vor und nach einer Änderung
festgelegt und die Information an einer Speicherstelle
wie einem Register für die Speicherung eines Werts gespeichert.
Danach werden entsprechend Steuersignalen 411 aus
einer in Fig. 62 gezeigten Steuereinheit 410 jeweils entsprechende
Bilddaten aus 4 × 4 Speicherelementen des Bildspeichers
für die drei Farben R, G und B gleichzeitig ausgelesen und zu
entsprechenden Prozessorelementen 417, 416 und 415 von Prozessoreinheiten
412 R, 412 G und 412 B für Rot, Grün und Blau
übertragen. Danach führen entsprechend dem Ablaufdiagramm in
Fig. 23 die 4 × 4 Prozessorelemente parallel die Verarbeitung
aus, wobei die Prozessorelemente für R, G und B an den gleichen
Stellen, nämlich die Prozessorelemente 415, 416 und 417
miteinander in Verbindung stehen. Wenn die Verarbeitung durch
die Prozessoreinheiten beendet ist, werden die Bilddaten in
die Bildspeicher zurückgeleitet. Dann werden die Bilddaten
aus den nächsten 4 × 4 Speicherelementen ausgelesen. Es genügt,
die vorstehend beschriebene Verarbeitung hinsichtlich der
Bilddaten für eine Seite auszuführen. Die gewählte Farbe oder
die gewählten Farben können ein Farbwert oder drei Farbwerte
aus den Farben R, G und B sein, wobei für die Farbinformation
von der Änderung natürlich ein Bereich bestimmt werden kann
oder mehrere Farbinformationen gewählt werden können.
Farbkorrektur
Es sein nun eine Verarbeitung zur Farbkorrektur betrachtet.
Die Farbkorrektur ist eine Verarbeitung, bei der dann, wenn
Bilddaten eine bestimmte Farbinformation enthalten, die Farbinformation
entsprechend den Eigenschaften der Einheit für
die Bildeingabe oder die Bildausgabe korrigiert wird.
Diese Verarbeitung kann allgemein durch folgende Gleichungen
ausgedrückt werden:
R′ = α < R + β < G + q < B
G′ = α′ < R + β′ < G + γ′ < B
B′′ = a′′ < , R + β′′ < G + γ′′ < B (20)
wobei R, G und B die Eingangsbilddaten sind, R′, G′ und B′
die Ausgangsbilddaten sind und α, β, . . ., β′′, γ′′ Koeffizienten
sind.
Als Koeffizienten α, β, . . , β′′, γ′′ in der Gleichung (20)
werden numerische Werte eingesetzt, die den Eigenschaften der
Bildeingabeeinheit oder Bildausgabeeinheit entsprechen. Gemäß
dem Ablaufdiagramm in Fig. 63 wird die Verarbeitung von den
Prozessorelementen in den Prozessoreinheiten parallel für 16
Bildelemente ausgeführt, wobei zwischen den den gleichen
Bildelementen entsprechenden Prozessorelementen für R, G und
B ein Informationsaustausch stattfindet.
Diese Verarbeitung wird nun ausführlich beschrieben. Als
erstes werden als Koeffizienten α, b, . . . in der Gleichung
(20) numerische Werte bestimmt, die den Bildeingabe- und
Bildausgabeeinheiten entsprechen, wie beispielsweise α = 0,8,
β = 0,3 und γ = 0,2; diese Koeffizienten werden an Speicherstellen
wie beispielsweise in Registern für das Festhalten der
Werte gespeichert. Danach führen entsprechend den von der
Steuereinheit 410 nach Fig. 62 abgegebenen Steuersignalen 411
die 4 × 4 Prozessorelemente die Verarbeitung auf die nachstehend
beschriebene Weise aus.
Auf die Adressierung durch das Steuersignal 411 hin werden
die 4 × 4 Speicherelemente abgerufen, die entsprechenden Bilddaten
für die drei Farben R, G und B aus dem Bildspeicher
mittels einer (nicht gezeigten) Einrichtung gleichzeitig
ausgelesen und die Bilddaten gleichzeitig in die zugeordneten
Prozessorelemente der jeweiligen Prozessoreinheit übertragen.
Danach führen gemäß dem Ablaufdiagramm in Fig. 63 die 4 × 4
Prozessorelemente parallel die Verarbeitung aus, wobei die an
den gleichen Stellen gelegenen Prozessorelemente für R, G und
B, wie beispielsweise die Prozessorelemente 415, 416 und 417
miteinander in Datenverarbeitung stehen. Wenn diese von den
Prozessoreinheiten ausgeführte Verarbeitung beendet ist,
werden die verarbeiteten Bilddaten in den Bildspeicher zurückgebracht.
Es genügt, die vorstehend beschriebene Verarbeitung
hinsichtlich einer Seite von Bilddaten auszuführen.
Während nach dem Stand der Technik die Verarbeitung für ein
jedes einzelne Ausgangsbildelement wiederholt wird, werden
mit dem beschriebenen Ausführungsbeispiel die Verarbeitungsergebnisse
für eine Vielzahl von Ausgangsbildelementen in dem
gleichen Zyklus ausgegeben, so daß eine sehr hohe Farbbild-
Verarbeitungsgeschwindigkeit erzielt werden kann.
Durch das gleichzeitige Eingeben von eingangsseitigen zusammenhängenden,
eng benachbarten Bildelementen kann die Ortsfrequenzfilterung
in einem Zyklus ausgeführt werden, so daß
gleichzeitig die Ergebnisse der Ortsfrequenzfilterung an eine
Vielzahl von Ausgangsbildelementen ausgegeben werden können.
Durch das gleichzeitige Abrufen und Verarbeiten einer Vielzahl
von Eingabedaten ist im Vergleich zu dem einzelnen Abruf
der Daten zu einem jeweiligen Zeitpunkt die Verarbeitungsgeschwindigkeit
erhöht. Darüber hinaus kann durch einen einzelnen
Abruf von Eingangsdaten durch einen Datenaustausch zwischen
Prozessoreinheiten eine Verarbeitung ausgeführt werden,
bei der der gegenseitige Zusammenhang zwischen gleichzeitig
abgerufenen Daten zu berücksichtigen ist, wie beispielsweise
eine Raum- bzw. Ortsfrequenzfilterung, eine Farbverarbeitung
und dergleichen.
Aus jedem m × n-, z. B. 4 × 4-Speicherblock werden die durch die
eingegebene Farbinformation (z. B. R, G und B) ausgedrückten
Rohdaten des ursprünglichen Bilds aufeinanderfolgend und für
die drei Farben R, G und B gleichzeitig abgerufen. Daher
können statt des mehrmaligen Abrufens eines jeden Bildelements
aus dem eingangsseitigen Bildspeicher jeweils gleichzeitig
Bilddaten für m × n Bildelemente für die drei Farben
abgerufen werden. Dies ermöglicht eine Bilddatenübertragung
mit hoher Geschwindigkeit.
Darüber hinaus besteht an den Prozessorelementen in den Prozessoreinheiten
eine Informationsverarbeitung nicht nur zwischen
den Elementen für die gleiche Farbe, sondern auch
zwischen den Elementen für verschiedene Farben. Infolgedessen
können die Farbinformationen für die drei Farben R, G und B
gleichzeitig verarbeitet werden, so daß eine Verarbeitung zur
Farbumsetzung, Farbkorrektur und dergleichen mit hoher Geschwindigkeit
ausgeführt werden kann. Da ferner die Prozessoreinheiten
aus Prozessorelementen in einer Anzahl zusammengesetzt
sind, die gleich der Anzahl m × n der Bildelemente in
den eingangsseitigen und ausgangsseitigen Speicherblöcken
ist, können gleichzeitig in Blockeinheiten m × n Bilddaten
eingegeben und ausgegeben werden. Ferner ermöglichen die m × n
Prozessorelemente ebensogut eine Parallelverarbeitung für
Berechnungen, so daß eine zufriedenstellend hohe Verarbeitungsgeschwindigkeit
erreicht wird.
Bewegungsverarbeitung bei dem zweiten Ausführungsbeispiel
Es wird nun ein Fall beschrieben, bei dem bei Zuweisung von
Adressen gemäß Fig. 16 und 17 eine Versetzung der in Fig. 65
dargestellten Art vorgenommen wird.
In k × l Speicherelementen 1 b werden bei dem Anlegen einer
einzelnen Adresse aus jedem von k × l Teilbereichen Daten für
entsprechende Stellen in einem Posten zu einem Zeitpunkt
ausgelesen. Wenn alle k × l Daten durch die Prozessoreinheit 2
umgeordnet und in die gleiche Adresse eingeschrieben sind,
ist ein einzelner Verarbeitungsschritt zur Übertragung zwischen
den k × l-Bereichen abgeschlossen. Wenn die Prozessoreinheit
2 diesen Vorgang im Hinblick auf alle Adressen der
Speicherelemente 1 b ausführt, ist damit die Verarbeitung des
ganzen Bilds abgeschlossen.
Die Prozessoreinheit 2 muß jedoch die Daten zu den k × l Speicherelement
1 b zurückbringen. Tatsächlich wird jedoch die
Belastung der Prozessoreinheit 2 erleichtert, wenn die Prozessoreinheit
2 nur eine Anzahl von Bereichen in einem Bereich
A aufnimmt und nur die Anzahl der Bereiche in einen
Bereich B ausgibt. Die Anzahl der Bereich im Bereich A und
im Bereich B müssen nicht unbedingt gleich sein. Beispielsweise
ist es möglich, daß der Bereich A 3 × 3 Bereiche enthält,
an denen die Prozessoreinheit 2 eine Reduktion bzw. Verkleinerung
auf ²/₃ ausführt, wonach die Ergebnisse in den Bereich
B übertragen werden, der aus 2 × 2 Bereichen besteht.
Daher genügt es, in dem Fall, daß das Lesen und Schreiben
nicht an allen Speicherelementen 1 b immer erforderlich ist,
die Bausteinfreigabe aller Speicherelemente 1 b unter Benutzung
einer Anordnung gemäß der Fig. 15 zu steuern, nämlich
diejenigen Speicherelemente zu maskieren, in die keine Daten
eingeschrieben werden sollen. In diesem Fall werden als eingangsseitige
Daten in zwei Nachschlagetabellen die Informationen
hinsichtlich der Längsformate und Querformate der
Bereiche A und B sowie hinsichtlich der Lagen dieser Bereiche
eingegeben.
Eine Bildverarbeitungseinrichtung enthält einen Bildspeicher
aus einer Vielzahl von Speicherelementen und eine Prozessoreinheit
aus einer Vielzahl von Prozessorelementen. Durch
geeignetes Gestalten der Anordnung des Bildspeichers aus den
Speicherelementen, der Anordnung der Prozessoreinheit aus den
Prozessorelementen und der Verbindungen zwischen den Speicherelementen
und den Prozessorelementen ist es möglich, mit
einfachem Aufbau eine schnelle Bildverarbeitung zu erreichen,
wie eine Dichteumsetzung, eine Farbumsetzung, ein Maskieren,
eine Ortsfrequenzfilterung, eine Bildvergrößerung, eine Bildverkleinerung,
eine Bilddrehung, eine Bildkomprimierung, eine
Bildexpandierung und eine Farbkorrektur. Es wird auch eine
Bildverarbeitungseinrichtung für Farbbilder mit einer Vielzahl
von Bildspeichern und einer Vielzahl von Prozessoreinheiten
sowie eine allgemein anwendbare, multifunktionelle
Verarbeitungseinrichtung zur parallelen Verarbeitung einer
großen Datenmenge mit hoher Geschwindigkeit beschrieben.