DE3844921C2 - Bildverarbeitungsgerät - Google Patents

Bildverarbeitungsgerät

Info

Publication number
DE3844921C2
DE3844921C2 DE3844921A DE3844921A DE3844921C2 DE 3844921 C2 DE3844921 C2 DE 3844921C2 DE 3844921 A DE3844921 A DE 3844921A DE 3844921 A DE3844921 A DE 3844921A DE 3844921 C2 DE3844921 C2 DE 3844921C2
Authority
DE
Germany
Prior art keywords
image
elements
memory
processor
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE3844921A
Other languages
English (en)
Inventor
Yoshinobu Mita
Miyuki Enokida
Yoshihiro Ishida
Naoto Kawamura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP62033174A external-priority patent/JP2647377B2/ja
Priority claimed from JP62033178A external-priority patent/JP2728663B2/ja
Priority claimed from JP62033173A external-priority patent/JP2647376B2/ja
Priority claimed from JP62033182A external-priority patent/JPS63201784A/ja
Priority claimed from JP62033171A external-priority patent/JP2647375B2/ja
Priority claimed from JP62033176A external-priority patent/JP2647379B2/ja
Priority claimed from JP62033172A external-priority patent/JPS63201757A/ja
Priority claimed from JP62033181A external-priority patent/JPS63201783A/ja
Priority claimed from JP62033175A external-priority patent/JP2647378B2/ja
Priority claimed from JP62033177A external-priority patent/JPS63201779A/ja
Priority claimed from JP62033179A external-priority patent/JP2647380B2/ja
Priority claimed from JP62033180A external-priority patent/JPS63201782A/ja
Priority claimed from DE3804938A external-priority patent/DE3804938C2/de
Application filed by Canon Inc filed Critical Canon Inc
Priority to DE3845004A priority Critical patent/DE3845004C2/de
Priority to DE3845005A priority patent/DE3845005C2/de
Application granted granted Critical
Publication of DE3844921C2 publication Critical patent/DE3844921C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)

Description

Die Erfindung bezieht sich auf ein Bildverarbeitungsgerät ge­ mäß dem Oberbegriff des Patentanspruchs 1.
Aus der DE 35 38 639 A1 ist ein Bildverarbeitungsgerät be­ kannt, das neben zwei Speichereinrichtungen auch eine Ein­ richtung zum Unterteilen von Bilddaten in eine vorbestimmte Anzahl von Bereichen, sowie eine Prozessoreinheit aufweist. Darüber hinaus wird dort auch grundsätzlich eine Verarbeitung der Bilddaten beispielsweise durch Komprimierung und Codie­ rung vorgeschlagen. Auch eine Unterteilung einer Speicherein­ richtung in eine Vielzahl von Speicherelementen, die vonein­ ander unabhängig adressier- und abrufbar sind, läßt sich die­ ser Druckschrift entnehmen. Das Ergebnis der dort durchge­ führten Verarbeitung wird einer Speichereinrichtung zuge­ führt.
J. L. Potter: "Image Processing on the Massively Parallel Processor" in "Computer", Januar 1983, Seiten 62 bis 67 schlägt ein Bildverarbeitungsgerät vor, das mit Hilfe einer Mehrzahl von gleichzeitig arbeitenden Prozessoren zu einer sehr schnellen Bildverarbeitung in der Lage ist. Selbstver­ ständlich wird auch dort eine Adressensteuerung durchgeführt. Von einer Verarbeitung von Teilbereichen ist dort keine Rede.
In der US 4 786 820 ist ein Verfahren für eine Parallelverarbeitung vorge­ schlagen, das die Unterteilung der Bilddaten in eine Vielzahl von Blöcken aus jeweils mehreren Bilddaten­ posten und das Verarbeiten der Bilddaten in einen jeden Block durch jeweils eine von einer Vielzahl von Zen­ traleinheiten vorsieht. Die Anordnung ist derart getrof­ fen, daß jede Zentraleinheit die Bilddaten des entspre­ chenden Blocks sowie die Bilddaten der benachbarten Blöcke aufnimmt und daß die Zentraleinheit die Bilddaten des entsprechenden Blocks verarbeitet.
Der Erfindung liegt die Aufgabe zugrunde, ein Bildverarbei­ tungsgerät zu schaffen, das derart ausgebildet ist, daß bei der parallelen Verarbeitung von Bildinformationen mittels ei­ ner Vielzahl von Prozessoren eine komplizierte Verarbeitung auf einfache Weise durchgeführt werden kann.
Diese Aufgabe wird durch das Bildverarbeitungsgerät mit den im Patentanspruch 1 angegebenen Merkmalen auf besonders vor­ teilhafte Art und Weise gelöst.
Vorteilhafte Weiterbildungen der Erfindung sind Gegenstand der Unteransprüche.
Die Erfindung wird nachstehend anhand von Ausführungsbeispie­ len unter Bezugnahme auf die Zeichnungen näher erläutert.
Fig. 1 ist eine Blockdarstellung, die eine Bildverarbei­ tungseinrichtung gemäß einem Ausführungsbeispiel zeigt.
Fig. 2 ist eine Darstellung, die den Zusammenhang zwischen einem Einzelbild und Adressen von Speicherelementen veran­ schaulicht.
Fig. 3 ist eine Darstellung, die einen Speicher mit 4 × 4 Speicherelementen als Ganzen zeigt.
Fig. 4 zeigt einen Speicher mit zugeordneten Adressengenera­ toren.
Fig. 5 zeigt einen Teil eines Bildes.
Fig. 6 zeigt eine Zuordnung eines Speichers für einen Teil eines Bildes.
Fig. 7 ist ein Blockschaltbild einer Speicheradressen-Steuer­ schaltung.
Fig. 8 ist ein Blockschaltbild einer Bildelementda­ ten-Steuerschaltung.
Fig. 9(a) und (b) sind Blockdarstellungen, die den Aufbau der Bildverarbeitungseinrichtung gemäß anderen Ausfüh­ rungsbeispielen zeigen.
Fig. 10 ist eine Darstellung eines Einzelbilds.
Fig. 11 zeigt k × ℓ Speicherelemente.
Fig. 12 und 13 zeigen eine einzelne Speicherein­ heit.
Fig. 14 und 15 sind Blockschaltbilder von Speicher­ elementabruf-Steuerschaltungen.
Fig. 16 zeigt ein Einzelbild.
Fig. 17 zeigt k × ℓ Speicherelemente.
Fig. 18 ist ein Blockschaltbild einer Adressenum­ setzschaltung.
Fig. 19(a) ist ein Blockschaltbild, das das Konzept der Gestaltung eines Prozessorelements veranschaulicht.
Fig. 19(b) ist ein Blockschaltbild eines Prozes­ sorelements, in welchem eine logische Recheneinheit nach Fig. 19(a) durch einen Mikroprozessor gebildet ist.
Fig. 20 ist eine grafische Darstellung zur Erläute­ rung 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 Bildelementeblock-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 Bildelemente­ block-Einheiten.
Fig. 29 zeigt die Anordnung der Bildelemente in den Blöcken nach der Drehung innerhalb der Bildelementeblö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 Adressenum­ setzschaltung für das Umsetzen von Adressen innerhalb von Blöcken.
Fig. 33 zeigt eine Schaltung zum Erzeugen von Ad­ ressen 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 Abtastun­ gen in bezug auf ein Bild.
Fig. 36 zeigt Teilbereiche, die nicht einer Orts­ frequenzfilterung unterzogen werden.
Fig. 37 ist eine Blockdarstellung einer Bildverar­ beitungseinrichtung 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 Ortsfre­ quenzfilterung zeigt.
Fig. 40 zeigt eine Datensteuerschaltung.
Fig. 41 ist eine Blockdarstellung eines Prozessor­ elements.
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 zwi­ schen 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 Adressen­ generatorteils 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ählschal­ tung.
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ührungsbei­ spiel.
Fig. 55 zeigt das Format von bei dem Ausführungs­ beispiel 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 Aus­ führungsbeispiel der Bildverarbeitungseinrichtung.
Fig. 58 und 59 veranschaulichen schematisch die Funktion eines jeden Prozessorelements bei dem Ausführungs­ beispiel.
Fig. 60 zeigt die Zusammenhänge zwischen einem Eingangsbildspeicher, einer Prozessoreinheit und einem Aus­ gangsbildspeicher bei dem Ausführen einer Vergrößerung mit der Bildverarbeitungseinrichtung gemäß einem Ausführungsbei­ spiel.
Fig. 61 zeigt die Zusammenhänge zwischen Bildspei­ chern 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 Bildverarbeitungseinrich­ tung.
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 Aus­ gabe-Bildspeicher 317.
Fig. 68 zeigt den Aufbau jeweiliger Digital-Inte­ gratoren nach Fig. 66.
Anhand der Fig. 1 wird nun ein erstes Ausführungsbeispiel der Bildverarbeitungseinrichtung beschrieben.
Die Bildverarbeitungseinrichtung gemäß diesem Ausführungsbei­ spiel 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 veran­ schaulicht 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 zu der Prozessor­ einheit 2 übertragen, die aus einer n × m-Matrix von Prozes­ sorelementen 2a gebildet ist, in denen die Daten mit hoher Geschwindigkeit verarbeitet werden, wonach sie in den Bild­ speicher 1 zurückgeleitet werden. Die n × m Prozessorelemente 2a 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 ent­ hält, in denen eine Vielzahl von Bildelementen der vorge­ schriebenen parallelen Verarbeitung unterzogen werden, wonach die sich ergebenden Bilddaten in einen ausgangsseitigen Bild­ speicher 93 eingespeichert werden. Dies erfolgt unter Steue­ rung 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 Prozessor­ einheit 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, also insgesamt 16 Prozes­ sorelementen 2a 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 64k (= 65536) Blöcke aufgeteilt. Dies kann gemäß Fig. 3 dargestellt werden, in welcher 64k 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 × 64k. Falls einem einzelnen Speicherbaustein 64k Bildelemente für eine Bildelementestelle aus der 4 × 4-Matrix der Bildelemente gemäß der Darstellung in Fig. 3 zugeordnet sind, ist ein Speicherbaustein erforder­ lich, in dem für die 64k 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 64k × 4 Bit verwendet und in der Form 64k × 8 Bit eingesetzt. Diese beiden Speicherbausteine werden als ein Speicherelement 1a bezeichnet. Nachstehend wird eine Prozessoreinheit als "PU", ein Prozessorelement als "PE" und ein Speicherelement als "ME" bezeichnet.
Der Bildspeicher 1 ist aus 16 Bildelementen 1a entsprechend einer Matrix von 4 × 4 Bildelementen zusammengesetzt. Die Fig. 4 zeigt die Anordnung dieser 4 × 4 Speicherelemente 1a. Für jedes Speicherelement 1a wird dessen Zeilenadresse und dessen Spaltenadresse bestimmt, so daß Bilddaten für die 64k Adres­ senstellen für ein einzelnes Bildelement aus den 4 × 4 Bildele­ menten in ein jedes Speicherelement eingegeben bzw. aus diesem ausgegeben werden können. An jedes der 4 × 4 Speicher­ elemente 1a werden die Adressen von einem Zeilenadressengene­ rator 4 und einem Spaltenadressengenerator 5 angelegt. Es ist anzumerken, daß ein einziger Adressengenerator ausreichend ist, wenn die Speicherelemente 1a dynamische Speicher sind und die Zeilen- und Spaltenadressen im Zeitmultiplex angelegt werden. Wenn dies der Fall ist, ist eine Umschaltsteuerung für die Zeitmultiplex-Verschachtelung der Zeilen- und Spal­ tenadressen erforderlich. Die Zeilen- und Spaltenadressen entsprechen jeweils A bzw. B für einen jeweils mit (A1, B1) bezeichneten Block in einem jeweiligen Einzelbild gemäß Fig. 2.
Durch das Anlegen der Adressen aus den jeweiligen Adressenge­ neratoren 4 und 5 kann in die Speicherelemente 1a für die 4 × 4 Bildelemente eingeschrieben bzw. aus diesen ausgelesen wer­ den. D. h., durch eine einzige Adressenbestimmung können 4 × 4 Speicherelemente gleichzeitig betrieben werden. Es sei ange­ nommen, daß zu diesem Zweck Datenleitungen für acht Bit direkt von jedem der Speicherelemente 1a wegführen.
Falls Daten mit der Zeilenadresse A (0 ≦ A ≦ 255) und der Spaltenadresse B (0 ≦ B ≦ 255) aus dem Bildspeicher 1 abgeru­ fen werden, werden die der Adresse (A, B) nach Fig. 2 ent­ sprechenden 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 × ℓ Bildelementen unterteilt. Gemäß der Darstellung in Fig. 11 sind die k × ℓ Bildelemente in einen jeden Block mit k × ℓ Speicherelementen 1a in Beziehung gesetzt bzw. diesen zuge­ ordnet. Die aus diesen k × ℓ 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 × ℓ Speicherelementen 1a 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 × ℓ Bildelementen. Daher werden auch bei dem Abruf eines Blocks R aus k × ℓ Bildelementen in beliebiger Lage in der Speichereinheit 1 alle k × ℓ Speicher­ elemente 1a abgerufen. Darüberhinaus wird je Speicherelement 1a eine Adresse abgerufen. Demgemäß werden k × ℓ Bildelemente zum gleichen Zeitpunkt herausgegriffen.
Auf diese Weise werden Bilddaten aus k × ℓ benachbarten Bild­ elementen an beliebigen Stellen in dem Bild gleichzeitig abgerufen und ausgelesen, wonach diese Bilddaten mittels der Prozessoreinheit 2 verarbeitet werden. Die mittels der Pro­ zessoreinheit 2 verarbeiteten Bilddaten können durch Zugriff zu beliebigen Stellen der Speichereinheit 1 wieder in einen Block H aus k' × ℓ' Bildelementen der Speichereinheit 1 einge­ schrieben werden. Die nachfolgende Beschreibung beruht auf der Annahme, daß k' = k und ℓ' = ℓ gilt.
Der Zugriff zu einem Speicher für nur k' × ℓ' Bildelemente wird nun ergänzend erläutert. Falls die von der Prozessoreinheit 2 ausgeführte Verarbeitung eine Raum- bzw. Ortsfrequenzfilte­ rung gemäß einem Rechenvorgang unter Verwendung eines Ziel- Bildelements und der dieses umgebenden Bildelemente ist, ist das schreibseitige Blockformat k' × ℓ' kleiner als das lesesei­ tige Blockformat k × ℓ . Im allgemeinen erfolgt daher eine Ver­ arbeitung in der Weise, daß das schreibseitige Blockformat k' × ℓ' 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' × ℓ' kleiner als das an der Leseseite abgerufene Blockformat k × ℓ .
Allgemein sind hinsichtlich des schreibseitigen Blockformats k' × ℓ' die Werte k' und ℓ' die kleinsten ganzen Zahlen, die den Bedingungen k' ≧ αk und ℓ' < βℓ genügen, wobei α und β jeweils das Längsreduktionsverhältnis bzw. das Querreduk­ tionsverhältnis sind. Falls bei der Ausführung der Verarbei­ tungen gemäß den vorstehend genannten beiden Beispielen der Lesespeicher und der Schreibspeicher identisch sind bzw. die gleiche k × ℓ-Speicheranordnung verwendet wird, muß schreibsei­ tig das Einschreiben in einem Format k' × ℓ' erfolgen, das kleiner als das Format k × ℓ der Speichereinheit 1 ist. In einem solchen Fall erfolgt der Zugriff zu nicht allen k × ℓ Speicherelementen 1a. Stattdessen muß die Gestaltung derart getroffen werden, daß die nicht für den Schreibvorgang benö­ tigten Speicherelemente 1a maskiert und nicht abgerufen wer­ den. Das Maskieren der nicht für den Schreibvorgang benötig­ ten Speicherelemente und der gleichzeitige Zugriff zu nur k' × ℓ' Speicherelementen können auf einfache Weise dadurch bewerkstelligt werden, daß Freigabesignale nur an die k' × ℓ' Elemente aus den Bausteinen der k × ℓ Speicherelemente 1a und nicht an die restlichen (k × ℓ) - (k' × ℓ') Speicherelemente angelegt werden.
Im Hinblick auf ein Ausführungsbeispiel, bei dem vorgeschrie­ bene Bildelemente an beliebigen Stellen abgerufen werden, werden nun ein Fall, bei dem die Speichereinheit 4 × 4-Anord­ nung hat, sowie ein Fall beschrieben, bei dem die Speicher­ einheit k × ℓ-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 beschrie­ ben, daß das Blockformat k × ℓ 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ß Bildda­ ten aus irgendeinem 4 × 4-Block S in dem Bildspeicher 1 ausge­ lesen werden, die Daten mittels der Prozessoreinheit 2 verar­ beitet 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 Speicherele­ mente 1a ab. Es sei angenommen, daß diese 16 Speicherelemente 1a 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 1a 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 Spaltenadressenge­ nerator 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. Es 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 Informationen m und n in Nach­ schlagetabellen 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 Nachschlageta­ belle n oder m einzugeben, in Abhängigkeit von dem eingegebe­ nen 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 72a bis 72p gemäß Fig. 7 Adressen aus den Adressen­ generatoren 4 und 5 an die 4 × 4-Matrix der 16 Speicherelemente 1a 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 Speicherelemen­ ten Aa bis Dd übertragen werden. Falls der 4 × 4-Bildelemente- Speicherblock S nach Fig. 5 in den 4 × 4-Bildelemente-Speicher­ block 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 Spei­ cherelemente 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' = 4P + p (p = 0, 1, 2, 3)
X' = 4Q + 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)
p - 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 Zeilen­ reihen 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 Glei­ chungen (1) und (2): y' = -1, y = 3, x' = -1, x = 2. Infolge­ dessen wird gemäß der vorstehenden Beschreibung folgende Matrix erreicht:
Wenn eine zweimalige zyklische Vertauschung nach rechts vor­ genommen 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. Ur­ sprungsmatrix (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 ausgele­ senen Daten in die vierte Zeile und dritte Spalte einge­ schrieben 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 äqui­ valent einem Übergang von der Ortsadresse u zu der Ortsadres­ se v. Da ferner die Speicherelemente 1a 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 Ortsadres­ sen u und 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 Spei­ cherelement eingeschrieben werden.
Die Ausführung der vorstehenden Verarbeitung durch Schal­ tungsausstattung wird nun kurz beschrieben. Die Fig. 8 ist eine Blockdarstellung, gemäß der gleichzeitig aus der Spei­ chereinheit 1 mit der 4 × 4-Matrix aus 16 Speicherelementen 1a ausgelesene Daten mittels der Prozessoreinheit 2 verarbeitet werden. Diese Daten werden zu vier Elementen gleichzeitig durch zyklische Vertauschung in x-Versetzungs-Umlauftauschern 81a bis 81d x-malig versetzt. Die Ergebnisse werden dann mittels eines y-Versetzungs-Umlauftauschers 82 durch zykli­ sche Vertauschung y-malig versetzt und jeweils in die Spei­ cherelemente 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 81a bis 81d sind. Selbstverständlich müssen die Umlauftauscher die glei­ che Bit-Anzahl-Tiefe wie die Speicherdatentiefe haben und die Anzahl der eingesetzten Umlauftauscher muß gleich der Tiefe der Speicherdaten sein. Als Umlauftauscher können Schiebere­ gister oder Bläschenspeicher verwendet werden.
Das vorstehende wird nun in allgemeinerer Hinsicht betrach­ tet.
Falls ein Speicherblock das Format k × ℓ hat, erhält die Spei­ chereinheit 1 eine k × ℓ-Anordnung. Wenn in diesem Fall der Speicherblock S aus k × ℓ Bildelementen an beliebigen Stellen mittels der Prozessoreinheit 2 verarbeitet wird und die Er­ gebnisse in den Speicherblock T aus k × ℓ 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 = ℓM + m (m = 0, 1, ..., ℓ - 1)
(N, M, P, Q = 1, 2, 3, ...)
Y' = kP + p (p = 0, 1, ..., k - 1)
X' = ℓQ + q (q - 0, 1, ..., ℓ - 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 = ℓx' + x (x' = 1, 0, x = 0, 1, 2, 3, ..., ℓ - 1) ...(11)
ist es ausreichend, zum Ausführen der Verarbeitung die x- Versetzungs-Umlauftauscher 81a bis 81d und den y-Versetzungs- Umlauftauscher 82 der in Fig. 8 gezeigten Art zu verwenden. In diesem Fall hat der x-Versetzungs-Umlauftauscher ℓ Eingän­ ge und ermöglicht eine Versetzung von 0 bis ℓ - 1. Der y- Versetzungs-Umlauftauscher hat k Eingänge und ermöglicht eine Versetzung von 0 bis k - 1. Da darüberhinaus die k Eingangssig­ nale des y-Versetzungs-Umlauftauschers 82 jeweils ℓ Elemente haben, werden ℓ Umlauftauscher für eine Eingabe von k Elemen­ ten angeordnet.
Als nächstes wird die Speicherelemente-Zugriffsteuerung für den gleichzeitigen Zugriff zu dem vorangehend genannten k' × ℓ'-Block gemäß Fig. 10 beschrieben.
Es sei angenommen, daß die Ortsadresse eines Eckpunkts i des k' × ℓ'-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 × ℓ verallgemeinerte Anordnung angewandt wer­ den.
Hierbei werden nur die Bausteine für die k' × ℓ' Speicherele­ mente aus den k × ℓ Speicherelementen eingeschaltet bzw. frei­ gegeben. Falls für die Bausteinfreigabe die Ortsadresse (f, g) des Eckpunktes i des k' × ℓ'-Blocks festgelegt worden ist, sind durch die Gleichung (10) die Werte n, m oder p, q ein­ deutig bestimmt, so daß auch der Zugriff zu den k' × ℓ' Spei­ cherelementen eindeutig bestimmt ist.
Bei einer Speicheranordnung aus k × ℓ Speicherelementen gemäß der bisherigen Beschreibung kann ein Fall in Betracht gezogen werden, bei dem ein k' × ℓ'-Block gleichzeitig für das Lesen und ein k" × ℓ"-Block gleichzeitig für das Schreiben ausgelesen wird (wobei 0 ≦ k" ≦ k und 0 ≦ ℓ" ≦ ℓ gilt). Die vorstehende Beschreibung gilt auch in diesem Fall. Ein Ausführungsbei­ spiel für die in diesem Fall an den Speicherelementen auszu­ führende Bausteinfreigabe-Steuerung ist in der Fig. 14 darge­ stellt.
Falls die Ortsadressen der Eckpunkte der Blöcke k' × ℓ' und k" × ℓ" 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 141a angelegt. An den Wähler wird als Wählsteuersignal ein Spei­ cherzugriff-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' × ℓ' und k" × ℓ" in einen Wähler 141b eingegeben, an dem das Signal R/W als Wählsteuersignal dient. Wenn die Daten gelesen werden, werden selektiv k' und ℓ' ausgegeben, während bei dem Schrei­ ben der Daten selektiv k" und ℓ" ausgegeben werden. Es ist offensichtlich, daß dann, wenn für das Lesen die Werte n, m, k' und ℓ' bzw. für das Schreiben k", ℓ", p und q festgelegt worden sind, die Speicherelemente 1a für den Zugriff eindeu­ tig bestimmt sind. Daher werden die von diesen Wählern 141a und 141b ausgegebenen Daten in eine Nachschlagetabelle 142 eingegeben, die Signale zur Steuerung der abzurufenden Spei­ cherelemente 1a aus den k × ℓ 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 Speiche­ rung nach der Verarbeitung verschieden ist und die Speicher­ anordnungen jeweils k × ℓ bzw. K × L sind, zwei Nachschlagetabel­ len 151 und 152 gemäß Fig. 15 verwendet werden müssen. In diesem Fall haben die Nachschlagetabellen 151 und 152 vonein­ ander verschiedenen Inhalt.
Es treten auch dann keine Probleme auf, wenn k = K und ℓ = L gilt. Falls die vorstehend beschriebene Anordnung verwendet wird, müssen die abzurufenden Speicherelemente nicht alle k × ℓ Speicherelemente sein und es ist eine teilweise Maskierung möglich. Es ist ausreichend, wenn die Anordnung der k × ℓ Speicherelemente auf das Format k × ℓ 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 Ortsadresse des Anfangs- bzw. Eckpunktes u des Blocks aus aneinander angren­ zenden k × ℓ 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 aufeinanderfol­ genden Zählung von 0 an in der horizontalen Richtung ausge­ hend 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 Bildda­ ten für den Abruf von k × ℓ Speicherelementen dadurch abgefragt werden, daß die Werte um ein ganzzahliges Vielfaches von k bzw. ℓ aufgestuft oder abgestuft werden. Beispielsweise wer­ den Y und X anfänglich auf "0" eingestellt und X wird aufein­ anderfolgend in Stufen ℓ erhöht. Wenn X bis zu dem Endwert in der horizontalen Richtung erhöht worden ist, wird X auf "0" rückgesetzt, Y um k erhöht und X in Stufen ℓ erhöht. Dies wird aufeinanderfolgend wiederholt, um das ganze Bild oder einen Teil hiervon abzutasten. Dieses Verfahren wird als erstes Folgeabfrageverfahren bezeichnet.
Beispiel 2: Erstes Zufallsabfrageverfahren
X und Y werden nicht gemäß der vorstehenden Beschreibung aufeinanderfolgend erhöht oder vermindert. Stattdessen werden hier und da in dem Vollbild gelegene aufeinanderfolgende k × ℓ- Blöcke unter Zufallsverteilung abgerufen, wobei die zum Zeit­ punkt des Abrufs geltenden Werte X und Y Versetzungen sind, die ganzzahlige Vielfache von k und ℓ sind. Dieses Verfahren wird als erstes Zufallsabfrageverfahren bezeichnet.
Beispiel 3: Zweites Folgeabfrageverfahren
Bei diesem Verfahren werden die Ortsadressen X, Y der Bildda­ ten für den Zugriff zu den k × ℓ Speicherelementen durch Auf­ stufen oder Abstufen um eine ganze Zahl abgefragt. Beispiels­ weise 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 be­ zeichnet. In diesem Fall wird der gleiche Speicherdatenbe­ reich 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 × ℓ-Blöcke unter Zu­ fallsverteilung abgerufen, was für alle Werte X und Y ausge­ führt wird. Alternativ kann diese Verarbeitung für die Werte X und Y von aufeinanderfolgenden Teilbereichen in dem Voll­ bild ausgeführt werden. Wenn dies zufallsbedingt erfolgt, wird das Verfahren als zweites Zufallsabfrageverfahren be­ zeichnet.
Beispiel 5: Block-Folgeabfrageverfahren
Wenn ein abzurufender Speicherblock ein k' × ℓ'-Speicherblock in einer Speicheranordnung mit k × ℓ Speicherelementen ist, werden Ortsadressen Y, X (1 ≦ k' ≦ k, 1 ≦ ℓ' ≦ ℓ") um ganzzahlige Vielfache von k' und ℓ' erhöht oder vermindert, was aufeinan­ derfolgend zum Abtasten eines Vollbilds wiederholt wird. Dieses Verfahren wird zur Unterscheidung von dem ersten Fol­ geabfrageverfahren als Block-Folgeabfrageverfahren bezeich­ net.
Beispiel 6: Block-Zufallsabfrageverfahren
X und Y werden nicht gemäß der vorstehenden Beschreibung des Beispiels 5 aufeinanderfolgend erhöht oder vermindert. Statt­ dessen werden hier und da in dem Vollbild liegende aufeinan­ derfolgende k' × ℓ'-Blöcke unter Zufallsverteilung abgerufen, wobei X und Y Versetzungen sind, die ganzzahlige Vielfache von k' und ℓ' sind. Dieses Verfahren wird als Block-Zufalls­ abfrageverfahren bezeichnet.
Beispiel 7: Sequentielles Abfrageverfahren
Die Abfrage erfolgt sequentiell ohne Zusammenhang mit der Speicheranordnung der k × ℓ 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 zu­ fallsbedingte Abfrage bezeichnet.
Gemäß den vorstehenden Ausführungen können einige Abfragever­ fahren in Betracht gezogen werden und es ist der Speicherzu­ griff an dem leseseitigen Speicher und dem schreibseitigen Speicher möglich, wobei das Abfrageverfahren für den Lese­ speicher 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 be­ stimmt. Es kann auch zuerst das schreibseitige Abfrageverfah­ ren festgelegt werden, wobei in diesem Fall dann das lesesei­ tige Abfrageverfahren durch den Inhalt der von der Prozessor­ einheit 2 ausgeführten Verarbeitung bestimmt ist.
Falls auch die Blockformate k × ℓ der in dem Lesespeicher und dem Schreibspeicher abzurufenden Blöcke voneinander verschie­ den sind, unterscheiden sich auch die Formate der Speicher­ elemente-Anordnung k × ℓ.
Die Fig. 19(a) ist ein Schaltbild, das das Konzept des Auf­ baus eines Prozessorelements PE veranschaulicht. Eine logi­ sche und arithmetische Recheneinheit 12, die über eine Daten­ eingabeeinheit 11 Daten aus einem oder mehreren Speicherele­ menten 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 Sendezwischen­ speicher bzw. Sendepuffer 14 zu einer oder mehreren Prozes­ soreinheiten.
Die Fig. 19(b) ist ein Blockschaltbild, gemäß dem die logi­ sche und arithmetische Recheneinheit 12 durch einen Mikropro­ zessor gebildet ist.
An eine interne Sammelleitung 10 sind eine Zentraleinheit (CPU) 12a, ein Festspeicher (ROM) 12b zum Speichern eines Steuerprogramms und ein Schreib/Lesespeicher (RAM) 12c als Hilfsspeicher angeschlossen, die zusammen die logische und arithmetische Recheneinheit 12 bilden. Ferner sind an die Sammelleitung 10 die Dateneingabeeinheit 11, die Datenausga­ beeinheit 15, der Empfangspuffer 13 und der Sendepuffer 14 angeschlossen, die in Fig. 19(a) gezeigt sind.
Die einzelnen Prozessorelemente führen die gleiche oder je­ weils ein 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 Prozes­ soreinheit 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 lese­ seitig 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 Farbin­ formationen in andere vorbestimmte Farbinformationen umge­ setzt 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 2a in der Prozessoreinheit 2 gemäß dem Ab­ laufdiagramm in Fig. 22. Hierbei ist ein einem Eingangswert Vin entsprechender Ausgangswert Vout (nach Fig. 20) durch folgende Gleichung bestimmt:
Vout = Vin2/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 Adres­ se (A, B) nach Fig. 2 entsprechenden 4 × 4 Datenposten mit 8 Bit Länge eingegeben. Die Prozessorelemente 2a arbeiten pa­ rallel 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ög­ licht.
Die Prozessorelemente 2a führen Verarbeitungen wie eine Dich­ teumsetzung, eine Farbumsetzung und ein Maskieren aus.
Gemäß der vorstehenden Beschreibung umfaßt die Dichteumset­ zung das Verändern eines Eingangswerts in einen entsprechen­ den 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 Rechen­ vorgang gemäß Gleichung (12) ausgeführt wird.
Für eine Farbumsetzung arbeitet beispielsweise ein jedes Prozessorelement 2a in der Prozessoreinheit 2 gemäß dem in Fig. 23 gezeigten Ablaufdiagramm. Hierbei wird eine Farbin­ formation 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 vorange­ hend genannte Bildspeicher vorgesehen ist und jeder Bildspei­ cher für das Speichern von Daten mit einer Länge von 8 Bit ausgelegt ist. Die einzelnen identischen Prozessorelemente sind entsprechenden Bildspeicherzellen für R, G und B zuge­ ordnet. 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 vorge­ speichert ist. Es können natürlich mehrere bestimmte Farben gespeichert sein.
Für ein Maskieren arbeitet beispielsweise jedes Prozessorele­ ment in der Prozessoreinheit gemäß dem in Fig. 24 gezeigten Ablaufdiagramm. Hierbei betrifft das Maskieren Bitdaten in einem Speicher, der durch einen Bit-Verzeichnisspeicher ge­ bildet 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 ent­ sprechenden Zellen des Maskierspeichers und des Bildspeichers zugeordnet.
Falls die Gestaltung derart getroffen ist, daß eine Daten­ übertragung zwischen den Prozessorelementen 2a der beschrie­ benen Prozessoreinheit 2 ermöglicht ist, kann in der Prozes­ soreinheit 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 × ℓ Datenposten k × ℓ Speicherelementen zugeordnet sind. Die Fig. 16 veran­ schaulicht einen Zustand, der sich dann ergibt, wenn die Informationen für ein Einzelbild durch Daten ersetzt sind. Die Informationen sind horizontal in ℓ gleiche Abschnitte und vertikal in k gleiche Abschnitte unterteilt. Zur Beschreibung der sich durch diese Unterteilung ergebenden k × ℓ-Bereiche sind diese mit (0, 0), (0,1), ...(0, ℓ ), ...(k, ℓ) bezeich­ net, wobei gemäß der Darstellung in Fig. 17 einem jeden einzelnen Bereich ein einzelnes eigenes Speicherelement 1b zugeordnet ist. D. h., die Anzahl der Speicherelemente 1b ist gleich der Anzahl der in Fig. 16 gezeigten Unterteilungen. Bei der Zuordnung der Bereiche ist jeder schattierte Teilbe­ reich nach Fig. 16 der Adresse 0 des entsprechenden Speicher­ elements 1b 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 er­ folgt 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 Spaltenadres­ sengenerator 5 nach Fig. 4 an alle k × ℓ Speicherelemente 1b 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 Adres­ se 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 ergebenden Daten ohne Änderung der Adresse in die k × ℓ Speicherelemente 1b 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 be­ treffenden Komponenten wie des Zeilenadressengenerators 4 und des Spaltenadressengenerators 5 beträchtlich vermindert.
Die Verarbeitung für das Bewegen oder Übertragen wird von der Prozessoreinheit 2 ausgeführt. Die Prozessoreinheit 2 emp­ fängt eine Eingabe von k × ℓ Bilddatenposten gemäß der Darstel­ lung 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 × ℓ Datenposten ausgetauscht bzw. bewegt und übertragen, wobei die Verarbei­ tung 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 × ℓ- oder k x 1-Anordnung für die k × ℓ-Spei­ cherzusammensetzung und durch Zuordnen einer horizontalen oder einer vertikalen Linie in einem Einzelbild zu jedem der Speicherelemente die in der Prozessoreinheit 2 ausgeführte Verarbeitung für verschiedenartige Bildverarbeitungen anzu­ wenden, wie für eine Histogramm- bzw. Häufigkeitsverteilungs- Aufbereitung für eine einzelne Linie eines Bilds oder für eine eindimensionale Fourier-Transformation. Darüberhinaus besteht bei dem gleichzeitigen Zugriff zu einer Vielzahl von Bildelementen keinerlei Einschränkung darauf, welche Adressen welcher Speicherelemente den Daten in einem Einzelbild zuge­ wiesen 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 Vereinfa­ chung sei angenommen, daß für die k × ℓ Unterteilungen einer k × ℓ-Speicherelementeanordnung k = ℓ gilt, so daß sich eine ℓ × ℓ-Anordnung ergibt. Ferner sei für einen Bereich mit K x L Bildelementedaten 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 ℓ × ℓ 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 Einzel­ bild um 90° gedreht. Infolgedessen wird für das Drehen des ganzen Einzelbilds die vorstehend genannte Schwenkung ℓ2/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 ℓ2/2-malig. Auf diese Weise wird mit diesem Vorgang ein Einzelbild einer Grob-Drehung unterzogen. Dies entspricht einer Drehung von den ℓ × ℓ Bereichen nach Fig. 25 auf die ℓ × ℓ Bereiche nach Fig. 26. Tatsächlich müssen die Drehungen um +90°, -90°, +180° und dergleichen auf gleichartige Weise auch innerhalb der glei­ chen 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 Speicher­ elements geltende Adresse zu einer bei dem Einschreiben in ein Speicherelement geltenden Adresse umgesetzt wird. Die Adressenumsetzung erfolgt auf die in der nachstehenden Tabel­ le 1 dargestellte Weise.
Tabelle 1
Eine Schaltung für diese Verarbeitung ist in Fig. 18 ausführ­ lich als Blockschaltbild dargestellt, gemäß dem ein Wählsig­ nal 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 Ausgangssig­ nale des Zeilenadressengenerators 4 und des Spaltenadressen­ generators 5 jeweils direkt über die Wähler 181 und 183 bzw. 182 und 184 den Zeilen- und Spaltenadressen der Speicherele­ mente zugeführt. Wenn der Drehwinkel +90° oder -90° beträgt, werden den Spalten- und Zeilenadressen jeweils Ausgangssig­ nale a und b der Wähler 181 bzw. 182 zugeführt.
Wenn der Drehwinkel 0° oder 180° beträgt, ergeben die Aus­ gangssignale 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 Rechen­ einheit 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 einge­ gebenen Daten von der Länge L einer Seite eines Bereichs subtrahiert und Signale für das Ergebnis ausgegeben. Mit einer derartigen Anordnung wird die in der Tabelle 1 darge­ stellte 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 Spei­ cherdaten.
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 × ℓ-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 ℓ × ℓ Abschnitte erhaltenen Bereiche entsprechen den jeweiligen Speicherelementen. Daher werden zum Abtasten eines Einzelbilds die gleichen Adressen an alle Speicherele­ mente 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. Danach wird die Zeilenadres­ se 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 konkreteres 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°, 90°, 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 Bildelemen­ teeinheiten 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 ur­ sprünglichen Bilds bzw. des in Fig. 27 gezeigten gedrehten Bilds. In den Bildern gemäß Fig. 25 und 26 sind die Relativ­ lagen 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 gezeig­ ten 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 Verarbeitungsschal­ tung vorgesehen, so daß die Daten aus den Blöcken jeweils in eine entsprechende der Verarbeitungsschaltungen eingegeben werden, wonach die verarbeiteten Daten an jeweils entspre­ chende 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 "Innenblock­ adressen" die abzurufenden Stellen in den Blöcken des Einga­ be-Bildspeichers bestimmen (Eingabeadressengenerator). Mit 1606 ist eine Schaltung für die Ausgabe von Adressen bezeich­ net, 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, 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 Steuer­ schaltung 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 Uhrzei­ gersinn (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 1606. Wenn ein Block n × n Bildelemente enthält und eine Aus­ gabe an ein Bildelement an einer Stelle (k, ℓ) 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, ℓ) gesteuert. Auf gleichartige Weise wird die Adresse für eine Drehung um 90° auf (ℓ, n - k + 1), für eine Drehung um 180° auf (n - k + 1, n - ℓ + 1) und für eine Drehung um 270° auf (n - ℓ + 1, k) gesteuert. Bei dem beschriebenen Ausführungsbeispiel gilt n = 4. Dies kann beispielsweise dadurch erfolgen, daß als Schal­ tung 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 der Fig. 30 ist ersichtlich, daß gemäß Fig. 34 die Block­ datenwählschaltung natürlich auch an dem Ausgang der Rechen­ schaltung angeordnet werden kann. In diesem Fall wird das Ausgangssignal einer jeden Verarbeitungsschaltung der Rechen­ schaltung in jeden der vier Wähler der Blockdatenwählschal­ tung 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 Verar­ beitung möglich wird und die Drehung des Bilds mittels einer klein ausgelegten Schaltung bewerkstelligt werden kann.
Nachstehend wird nun ein Ausführungsbeispiel ergänzend be­ schrieben.
Wenn die den k × ℓ Speicherelementen zugeordneten Adressen in der Aufeinanderfolge von der Adresse 0 bis zu einer Endadres­ se auf die vorstehend beschriebene Weise abgerufen werden, werden aus den jeweiligen k × ℓ Speicherelementen die Bilddaten aus jedem der Bereiche ausgegeben, die jeweils 1/(k × ℓ) des Vollbilds entsprechen. Betrachtet man nur ein einziges Bild­ element, so wird das Bild eines einem einzelnen Bereich entsprechenden Teilbereichs aufeinanderfolgend in horizonta­ ler und vertikaler Richtung abgefragt und ausgelesen. Falls dies bei der herkömmlichen Verarbeitung eines Bilds angewandt wird, das aufeinanderfolgend über ein Einzelbild hinweg hori­ zontal und vertikal abgetastet wird, kann eine Verarbeitungs­ geschwindigkeit erreicht werden, die k × ℓ-mal so groß wie die herkömmliche ist. Da darüberhinaus der behandelte Bildbe­ reich kleiner wird, werden auch die Zeilenpuffer und derglei­ chen 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 × ℓ Speicherelementen 1b aufeinanderfolgend in die Pro­ zessoreinheit 2 eingegeben, die während des aufeinanderfol­ genden Abfragens für das Auslesen des Speichers die Raum- bzw. Ortsfrequenzfilterung ausführt. Obgleich dies erst nach­ folgend 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 × ℓ Bereiche entsprechen. Nach der zweidimensiona­ len Raum- bzw. Ortsfrequenzfilterung werden die sich ergeben­ den Daten ausgangsseitig aufeinanderfolgend durch einen Abruf eingeschrieben, der mit dem eingangsseitigen Abruf zum Lesen identisch ist. Dieses Ausführungsbeispiel wird nun ausführ­ lich beschrieben.
Gemäß den Fig. 35 bis 38 ist ein Einzelbild in 2 × 2 Bereiche unterteilt, während die Speicherelemente 1b, nämlich insge­ samt vier Speicherelemente als 2 × 2-Matrix angeordnet sind. In diesem Fall wird der leseseitige Bildspeicher derart ausgele­ sen, daß gemäß Fig. 35 die Bereiche gleichzeitig in horizon­ taler 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 wieder­ holt wird.
Speicherelemente R1, R2, R3 und R4 nach Fig. 37, die den leseseitigen Bildspeicher bilden, speichern bei diesem Aus­ führungsbeispiel jeweils die Bilder von Bereichen 1, 2, 3 bzw. 4 nach Fig. 35.
Von einem durch eine Steuerschaltung gesteuerten Adressenge­ nerator werden als an den leseseitigen Bildspeicher angelegte Adressen an die Speicherelemente R1 bis R4 die gleichen Adressen angelegt. Diese Adressen werden auf die vorangehend beschriebene Weise abgetastet bzw. abgerufen. Die aus den Speicherelementen R1 bis R4 ausgelesenen Bilddaten werden jeweils in Prozessorelemente PE1 bis PE4 eingegeben. Die Prozessorelemente PE1 bis PE4 nehmen als Eingangssignale aus der Steuerschaltung erforderliche Steuersignale auf, die den Inhalt der Verarbeitung bestimmen. Mittels der Prozessorele­ mente PE1 bis PE4 wird die Raum- bzw. Ortsfrequenzfilterung ausgeführt. Da jedoch die Prozessorelemente PE1 bis PE4 je­ weils Zeilenpuffer enthalten, werden von dem Adressengenera­ tor Horizontaladressen zugeführt. Alternativ können die Hori­ zontaladressen in den Prozessorelementen PE1 bis PE4 erzeugt werden.
Die durch die Prozessorelemente PE1 bis PE4 der Ortsfrequenz­ filterung unterzogenen Ausgangsdaten werden in jeweilige Speicherelemente W1 bis W4 eingeschrieben, die den schreib­ seitigen Bildspeicher bilden. Dabei werden an die Speicher­ elemente W1 bis W4 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 Ortsfre­ quenzfilterung hinsichtlich nahezu des ganzen Raums in dem Vollbild ausgeführt werden. Da jedoch die in Fig. 36 durch Schräglinien sowie durch Schattierung dargestellten Teilbe­ reiche die Umfangsränder der Bereiche sind, bleiben diese Teilbereiche unverarbeitet, da die zweidimensionale Maske für die Ortsfrequenzfilterung übersteht. Zum Auffüllen der unbe­ arbeiteten Bereiche bewirkt die Steuerschaltung an dem Adres­ sengenerator das Erzeugen von Adressen für die durch die Schräglinien dargestellten Teilbereiche, die schattierten Teilbereiche und den den Umfang entsprechenden Speicherbe­ reich. Die Bilddaten werden aufeinanderfolgend aus dem lese­ seitigen Bildspeicher aufgenommen, wonach mittels einer Zen­ traleinheit 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 Verarbei­ tungszeit infolge des Umstands benötigt, daß die Ortsfre­ quenzfilterung unter Verwendung der in Fig. 36 durch die Schräglinien dargestellten Teilbereiche von der Zentralein­ heit 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 Einzel­ bild in 3 × 3 Bereiche unterteilt ist und daß eine Datensteuer­ schaltung 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 Berei­ che unterteiltes 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 jewei­ liges 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 Be­ reichen (1,1), (1,2), (2,1) und (2,2) im Hinblick auf den Bereich (1,1). Ferner wird auch hinsichtlich eines beliebigen Bereichs (k, ℓ) (mit 1 ≦ k ≦ m und 1 ≦ ℓ ≦ n) der Bereich derart vergrößert, daß die unbearbeiteten Teilbereiche an den Grenzen des Bereichs (k, ℓ) zu den Bereichen (k, ℓ + 1), (k + 1, ℓ) und (k + 1, ℓ + 1) bei der Ortsfrequenzfilterung mit erfaßt werden.
Im Falle einer 3 × 3-Glättungsverarbeitung mittels der Prozes­ soreinheit bleibt beispielsweise ein Bildelement an dem rech­ ten Rand eines jeden Bereichs (k, ℓ) unverarbeitet. In dem angrenzenden Bereich (k, ℓ + 1) bleibt ein Bildelement an dem linken Rand unverarbeitet. Daher wird der Bereich (k, ℓ) um insgesamt zwei Bildelemente nach rechts erweitert. Gleicher­ maßen ist eine Vergrößerung um zwei Bildelemente nach unten erforderlich.
Die vergrößerten Bereiche (1,1) bis (3,3) werden unter Abta­ stung gemäß der Darstellung in Fig. 38(a) und (b) in die Prozessorelemente (1,1) bis (3,3) eingegeben. Es wird nun kürz die Adressierung der Speicherelemente beschrieben. Die Steuerschaltung steuert den Adressengenerator in der Weise, daß die Horizontaladresse 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 rechts 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 aufge­ stuft und die Abtastung der Horizontaladresse wiederholt. Dann wird die Vertikaladresse erneut aufgestuft und die Abta­ stung der Horizontaladresse wiederholt. Nach der Wiederholung dieser Vorgänge ist die Vertikaladresse die maximale Adresse und die Abtastung der Horizontaladresse abgeschlossen, wo­ raufhin 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 übermittels die Datensteuerschaltung die Daten in einer derartigen Auf­ einanderfolge, 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 Datensteuerschal­ tung beschrieben. Im allgemein 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, ℓ) an den Wählern anliegenden Eingangssignale kommen aus den Speicherelementen (k, ℓ), (k, ℓ + 1), (k + 1, ℓ) und (k + 1, ℓ + 1). Falls jedoch hinsicht­ lich der Bereichsunterteilungen m und n für beliebige Werte k und ℓ die Werte k + 1 und ℓ + 1 die entsprechenden Werte m und n überschreiten, werden dementsprechend an dem Eingang keine oder Leerdaten eingegeben.
Es wird nun das von der Steuerschaltung abgegebene Wähl­ steuersignal für die Wähler beschrieben. Während der Zeit, während die Steuerschaltung den Adressengenerator zur Aufstu­ fung der Horizontaladresse von 0 bis zu der Endadresse und danach zu der Abtastung von 0 bis zu der Adresse des ver­ größerten Bereichs steuert, wie es vorstehend beschrieben ist, nämlich der Bereich (k, ℓ + 1) überdeckt wird, wird das Ausgangssignal (k, ℓ + 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 bei­ spielsweise bei der 3 × 3-Ortsfrequenzfilterung "1" ist), näm­ lich bei der Überlappung des Bereichs (k, ℓ) mit dem Bereich (k + 1, ℓ) das Ausgangssignal (k + 1, ℓ) gewählt und ausgegeben. Wenn beides der Fall ist, nämlich der vergrößerte Bereich den Bereich (k + 1, ℓ + 1) überlappt, wird mittels der Steuerschaltung das Ausgangssignal des Speicherelements (k + 1, ℓ + 1) gewählt. Dies wird ergänzend hinsichtlich einer Datensteuerschaltung zwischen der Prozessoreinheit und dem schreibseitigen Bild­ speicher erläutert. Die Schaltungsanordnung ist derjenigen nach Fig. 40 gleichartig. Die Eingangssignale für die Aus­ gabe des Ausgangssignals eines Wählers an ein Speicherelement (k, ℓ) sind jedoch in diesem Fall die Signale (k, ℓ), (k, ℓ - 1), (k - 1, ℓ) und (k - 1, ℓ - 1). Falls die vergrößerten Bereiche der in Fig. 38(a) gezeigten Art nicht die unbearbeiteten Teilberei­ che der drei Bereiche links, unterhalb und unten links in bezug auf den Bereich (k, ℓ) überdecken, sondern die Bereiche in der Weise vergrößert sind, daß nur die oberen, unteren, rechten und linken unbearbeiteten Teilbereiche innerhalb des Bereichs (k, ℓ) erfaßt sind, ist eine Datensteuerschaltung zwischen der Prozessoreinheit und dem schreibseitigen Bild­ speicher nicht erforderlich. In diesem Fall müssen für das Wähler-Ausgangssignal (k, ℓ) die Eingangssignale der Daten­ steuerschaltung zwischen dem leseseitigen Bildspeicher und der Prozessoreinheit die Signale (k, ℓ), (k - 1, ℓ - 1), (k - 1, ℓ), (k - 1, ℓ + 1), (k, ℓ - 1), (k, ℓ + 1), (k + 1, ℓ - 1), (k + 1, ℓ) und (k + 1, ℓ + 1) sein. Dies ist leicht aus der Fig. 38(b) zu ersehen. Ergän­ zend 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, ℓ) der Prozessoreinheit eingeben müssen. Es ist eine Datensteuerschaltung für die Steuerung von k × ℓ Wählern erforderlich.
Als nächstes werden die von der Datensteuerschaltung abgege­ benen Daten in die jeweiligen Prozessorelemente eingegeben, die die Prozessoreinheit bilden. Die Prozessorelemente (1,1) bis (3,3) enthalten Zeilenpuffer für mehrere Zeilen der er­ weiterten Bereiche. Nach der Ortsfrequenzfilterung werden die Daten über die in Fig. 39 nicht dargestellte Datensteuer­ schaltung an die Speicherelemente (1,1) bis (3,3) abgegeben, die den schreibseitigen Bildspeicher bilden. Die Datensteuer­ schaltung korrigiert auch die Ergebnisse der Ortsfrequenzfil­ terung, wenn ein Bereich ein vergrößerter Teilbereich ist. Hierbei sind die an die jeweiligen Speicherelemente des schreibseitigen Bildspeichers von dem Adressengenerator ange­ legten Adressen identisch. In bezug auf die an den leseseiti­ gen Bildspeicher angelegten Adressen sind jedoch die an den schreibseitigen Bildspeicher angelegten Adressen um eine Zeitspanne verzögert, die einer Verzögerung in den Prozessor­ elementen 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 gleichzei­ tig nach links, nach rechts, nach oben und nach unten kleiner als die vergrößerten Bereiche. Der schreibseitige Bildspei­ cher wird nur dann eingeschaltet, wenn Daten für einen Be­ reich ausgegeben werden, der der Ortsfrequenzfilterung unter­ zogen wurde.
Wenn bei der Ortsfrequenzfilterung mittels eines Prozessor­ elements die Breite des Ausgabebereichs oben, unten, links und rechts verringert wird, wird der Bereich auf das gleiche Format wie dasjenige des Bereichs (k, ℓ) zurückgeführt, wel­ cher dem Speicherelement (k, ℓ) des schreibseitigen Bildspei­ chers entspricht. Daher ist keine Datensteuerschaltung zwi­ schen der Prozessoreinheit und dem schreibseitigen Bildspei­ cher erforderlich.
Die bei diesem Ausführungsbeispiel die Prozessoreinheit bil­ denden 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 Speicherele­ ment ü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 Ad­ resse 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 gleich­ zeitige Lesen von Eingangssignalen und Schreiben von Aus­ gangssignalen ausgebildet.
Als Ergebnis dieser Funktion werden Bilddaten von bestimmten Stellen auf drei zusammenhängenden horizontalen Linien in die Zwischenspeicher 2604, 2607 und 2610 eingegeben. Zwischen­ speicher 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 auf­ einanderfolgend 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 Ad­ dierer 2613 angelegt, der die gesamte Anzahl der Bildelemente berechnet bzw. zusammenfaßt. Das Ergebnis wird in einen Divi­ dierer 2614 eingegeben, der das Eingangssignal mit 1/9 multi­ pliziert, 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 schreibseiti­ gen Speicherelement verbundene Datensteuerschaltung abgege­ ben.
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 Einzel­ bilds, nämlich der in Fig. 36 gezeigte schattierte bzw. graue Teilbereich bei beiden Ortsfrequenzfilterungs-Prozessen 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 Pro­ zessor kann eine Zentraleinheit (CPU) oder eine Zentralein­ heit mit einem internen Schreib/Lesespeicher (RAM) bzw. Ar­ beitsspeicher eingesetzt werden. Da m × n Bereiche gleichzeitig der Ortsfrequenzfilterung unterzogen werden, ist die Verar­ beitungszeit beträchtlich verkürzt.
Bei den vorstehend beschriebenen Ausführungsbeispielen wird eine Anordnung aus m × n Speicherelementen verwendet, was das gleichzeitige Abrufen und Verarbeiten von m × n Bildelementen ermöglicht, so daß eine schnelle Bildverarbeitung erreicht wird.
Ferner ist durch das Verwenden einer Anordnung für ein Sys­ tem, in dem m × n zusammenhängende Bildelemente in einem Ein­ zelbild 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än­ gender 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ührungsbei­ spielen infolge der k × ℓ-Speicherelemente-Anordnung anstelle des Abrufens aller Speicherelemente das Maskieren ermöglicht. D. h., bei der Ausführung einer Verarbeitung wie der Ortsfre­ quenzfilterung 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ührungsbei­ spielen das Format der Speicherelementeanordnung und das Format des abgerufenen Bilds voneinander verschieden sind.
Auf diese Weise wird mit den Ausführungsbeispielen eine Bild­ verarbeitungseinrichtung 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 Verarbeitung 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 Matrixprozessorein­ heit aus m × n Prozessorelementen aufgenommen werden, von denen jedes einem entsprechenden Bildelement zugeordnet wird, durch die Matrixprozessoreinheit die Ortsfrequenzfilterung ausge­ führt wird und die Ergebnisse ausgegeben werden.
Die Fig. 42 zeigt die Zuordnungen zwischen einem einem ur­ sprünglichen Bild entsprechenden Eingabeblock 281, Bildele­ menten 281a in dem Eingabeblock, einer Matrixprozessoreinheit 282, Prozessorelementen 282a in der Matrixprozessoreinheit, einem Ausgabeblock 283 und Bildelementen 283a in dem Ausgabe­ block. Hierbei gilt m = n = 4. Infolgedessen werden 16 Bild­ elementedaten 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 aus­ gangsseitigen 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 vonein­ ander 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 ent­ sprechende 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 Ortsfrequenz­ filterung 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 Addie­ rern 221 bis 227 addiert und dann mittels einer Schiebeschal­ tung bzw. eines Schieberegisters 228 mit 1/8 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 einge­ geben 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 Ortsfre­ quenzfilterung für einen p × q-Bildelementebereich mit m ≧ k + p und n ≧ ℓ + q mit einer Eingabe eines m × n-Bildelementebereichs und einer Ausgabe eines k × ℓ-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 Prozessor­ element mit einer Verarbeitungsschaltung eingesetzt werden, die einer Koeffizientenmatrix entspricht.
Während nach dem Stand der Technik die Verarbeitung für ein jedes einzelne Ausgangsbildelement 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 Verarbeitungsge­ schwindigkeit erreicht werden kann.
Durch die gleichzeitige Eingabe zusammenhängender, eng be­ nachbarter Bildelemente an dem Eingang kann die Ortsfrequenz­ filterung in einem Zyklus ausgeführt werden, so daß es mög­ lich ist, die Ergebnisse der Ortsfrequenzfilterung für eine Vielzahl von Ausgabebildelementen gleichzeitig auszugeben.
Durch das gleichzeitige Abrufen und Verarbeiten einer Viel­ zahl eingegebener Daten ist die Verarbeitungsgeschwindigkeit im Vergleich zu dem jeweils einzelnen Abrufen der Daten erhöht. Darüberhinaus kann eine Verarbeitung (Ortsfrequenz­ filterung, Farbverarbeitung usw.), bei der der Zusammenhang zwischen gleichzeitig abgerufenen Daten durch einen Datenaus­ tausch 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 × ℓ oder K × L der Speicherelemente, die den leseseitigen Bildspeicher und den schreibseitigen Bildspeicher bilden. Obwohl bei diesem Aus­ führungsbeispiel nur die Erweiterung bzw. Vergrößerung be­ schrieben ist, wird auf gleiche Weise eine Reduktion bzw. Verkleinerung erzielt. Weiterhin besteht keine Einschränkung hinsichtlich der Blockformate k' × ℓ' 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' × ℓ' erhaltene Format den Bedingungen K' < αk' und L' < βℓ' genügen muß, wobei α und β 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 Adressengenera­ tor 313 erzeugt eine Anfangsadresse für einen eingangsseiti­ gen Bildspeicher 316, der für die Berechnung erforderliche Eingangsbilddaten enthält. Ein jeweiliges Prozessorelement in der Rechenschaltung 315 berechnet aus den eingegebenen Bild­ daten Ausgangsbilddaten für die Ausgabe an einen ausgangssei­ tigen 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 ausgangs­ seitigen Bildspeicher 317 entsprechenden Eingangsbilddaten für die Ausgabe der Verarbeitungsergebnisse aus, führt eine zweidimensionale Interpolation aus und gibt di 58433 00070 552 001000280000000200012000285915832200040 0002003844921 00004 58314e Ergebnisse ab.
Dies wird etwas ausführlicher beschrieben. Für die Beschrei­ bung sei angenommen, daß die Prozessoreinheit 312 mit Prozes­ sorelementen für vier Spalten in einer Hauptabtastrichtung und vier Zeilen in einer Unterabtastrichtung, 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 ausgegeben werden, wird durch den Adressen­ generator 313 bestimmt. Der Aufbau und die Funktion des Adressengenerators 313 werden nun anhand der Fig. 47 be­ schrieben. Der Adressengenerator 313 ist mit einer Hauptab­ tastrichtungs-Schaltung, die nachstehend als Hauptabtast­ schaltung 1 bezeichnet wird und die eine die Hauptabtastrich­ tung bestimmende Adresse aus den Adressen eines vorbestimmten 5 × 5-Bildelementebereichs abgibt, und mit einer Unterabtast­ richtungs-Schaltung aufgebaut, die nachstehend als Unterab­ tastschaltung 1 bezeichnet wird und die eine die Unterabtast­ richtung bestimmende Adresse aus den Adressen des vorbestimm­ ten 5 × 5-Bildelementebereichs abgibt. In einem Register 321 wird durch die Steuerschaltung 311 ein Wert voreingestellt, der das Vierfache des Kehrwerts des Vergrößerungsfaktors für die Hauptabtastrichtung ist. In einem Register 322 wird durch die Steuerschaltung 311 ein Wert voreingestellt, der das Vierfache des Kehrwerts des Vergrößerungsfaktors für die Unterabtastrichtung ist. Ein Zwischenspeicher 325 wird durch ein Betriebssynchronisierungssignal für die Unterabtastrich­ tung auf "0" gelöscht, wonach der Zwischenspeicher auf ein Betriebssynchronisierungssignal 327 für die Hauptabtastrich­ tung hin das Ausgangssignal eines Addierers 323 aufnimmt. Auf das Betriebssynchronisierungssignal 327 für die Hauptabtast­ richtung 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. In­ folgedessen wird durch die Synchronisierung der Funktion für die Hauptabtastrichtung der von dem Zwischenspeicher 325 abgegebene Wert stufenweise um einen Wert erhöht, der dem Vierfachen des Kehrwerts des Vergrößerungsfaktors für die Hauptabtastrichtung entspricht, wonach der Zwischenspeicher auf "0" gelöscht wird, sobald die Synchronisierung für die Unterabtastrichtung erfolgt. Das Register 322, ein Addierer 324 und ein Zwischenspeicher 326 arbeiten auf genau die gleiche Weise dann, wenn an die Stelle der Hauptabtastungs- 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 Bestim­ mungssignal gibt der eingangsseitige Bildspeicher 316 die 25 Bildelementedaten für einen Bereich mit fünf Bildelementen in der Hauptabtastrichtung und fünf Bildelementen in der Unter­ abtastrichtung beginnend mit der vorangehend genannten Adres­ se aus. Hinsichtlich der Adressen für den ausgangsseitigen Bildspeicher 317 werden in der Hauptabtastrichtung die Adres­ sen 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 Unterabtastungssyn­ chronisierung erhöht.
Von einem Adressenkorrekturteil 314 in der Prozessoreinheit 312 werden aus den eingegebenen 25 Bildelementedaten geeigne­ te vier Bildelementedaten gewählt und Adressenkorrektursig­ nale für das Anlegen eines Interpolationskoeffizienten für die Interpolation an die 16 Prozessorelemente in der Rechen­ schaltung 315 erzeugt.
Die Fig. 48 zeigt den Aufbau der Prozessoreinheit 2 bzw. 312, in welcher mit 331 der anhand der Fig. 47 beschriebene Adres­ sengenerator 313 bezeichnet ist. Der Adressenkorrekturteil 314 enthält Abschnitte 332 und 332' aus Hauptabtastschaltun­ gen 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 Hauptab­ tastschaltungen 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 Hauptabtastrichtung 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 3 einen größeren Wert als das Register in der Hauptabtastschaltung 2 und das Register in der Hauptabtastschaltung 4 einen größeren Wert als das Register in der Hauptabtastschaltung 3. Anderer­ seits sind die Werte in den Unterabtastungsregistern 322 in den Unterabtastschaltungen 2 bis 4 jeweils um den Kehrwert des Vergrößerungsfaktors für die Unterabtastrichtung 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 Unterab­ tastschaltung 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 Hauptabtastrichtung und ein Vergrößerungsfaktor 1,5 für die Unterabtastrichtung vorgesehen sind. Die Hauptab­ tastschaltung 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ähl­ stände in der Hauptabtastschaltung 1 und der Unterabtast­ schaltung 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 Prozes­ sorelemente (1,1), (2,1), (3,1) und (4,1) nach Fig. 48 einge­ setzt. Der Dezimalbruchteil aus der Unterabtastschaltung 1 wird als Hilfskoeffizient-Datenwert für die Unterabtastrich­ tung 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 Hauptabtastschaltungen 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 ganzzah­ ligen Teile gelöscht, während sie dagegen die Dezimalbruch­ teile aufaddieren. Die Hauptabtastschaltungen 2 bis 4 geben die ganzzahligen Teile und die Dezimalbruchteile an die Pro­ zessorelemente in der zweiten bis vierten Spalte der Prozes­ sormatrix ab, während die Unterabtastschaltungen 2 bis 4 die ganzzahligen Teile und die Dezimalbruchteile an die Prozes­ sorelemente in der zweiten bis vierten Zeile der Prozessor­ matrix abgeben. Eine jede Prozessormatrix wählt vier Bildele­ mente aus den 25 Bildelementedaten aus dem eingangsseitigen Bildspeicher 316 in Abhängigkeit von den ganzzahligen Teilen der Daten, die in den entsprechenden Hauptabtastungs-Zwi­ schenspeichern 325 und den entsprechenden Unterabtastungs- Zwischenspeichern 326 gespeichert sind, führen dann die zwei­ dimensionale Interpolation mit einem von dem Dezimalbruchteil abhängigen Interpolationskoeffizienten aus und geben die Interpolationsergebnisse an den entsprechenden ausgangsseiti­ gen Bildspeicher 317 ab. Der ausgangsseitige Bildspeicher 317 wird immer unter Einsetzen eines 16-Bildelemente-Bereichs aus 4 × 4 Bildelementen als Einheit adressiert, wobei jeder Prozes­ soreinheit 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 Schal­ tung für das Wählen von vier Bildelementen aus 25 Bildelemen­ ten. Die Fig. 50 zeigt ein Beispiel für den Aufbau einer in Fig. 49 gezeigten Wählschaltung 720, die dabei aus Hauptab­ tastungs-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 Hauptabtastschal­ tung 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 Unterabtast­ schaltung j. Dadurch werden von dem Prozessorelement (i, j) als vier Bildelemente aus den 25 Bildelementen die Bildele­ mente (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 Interpolier­ schaltung 740 zur zweidimensionalen linearen Interpolation angenommen, daß die eingegebenen Werte für die vier Bildele­ mente 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 Hauptabtastrichtung und für die Unterabtastrichtung jeweils α und β sind. Diese werden als Dezimalbruchteile aus den entsprechenden Hauptab­ tastschaltungen 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 + 1, J + 1)} ausgeführt, wo­ nach die Interpolationsergebnisse ausgegeben werden, wobei 0 ≦ α und β < 1 gilt.
Vorstehend ist die Funktion der Prozessoreinheit 312 be­ schrieben. Der Zusammenhang zwischen den Bildelementeberei­ chen des eingangsseitigen Bildspeichers 316, der Prozessor­ einheit 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 zur Verarbei­ tung herangezogenen Bildbereich in dem eingangsseitigen Bild­ speicher 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, wer­ den bei dem vorstehend beschriebenen Ausführungsbeispiel die Verarbeitungsergebnisse für eine Vielzahl von Ausgangsbild­ elementen 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 Prozes­ soreinheit 2 bzw. 312 werden nun ergänzend unter Bezugnahme auf die Fig. 66 bis 68 beschrieben.
Die Fig. 66 zeigt den Aufbau des eingangsseitigen Bildspei­ chers 316 und der Prozessoreinheit 312. Die Prozessoreinheit 312 ist gemäß Fig. 66 mit einer Gruppe digitaler Differenz­ analysatoren bzw. Integratoren (DDA) aus Hauptabtastschaltun­ gen 1 bis 4 für die Hauptabtastrichtung, einer Gruppe digita­ ler 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 Prozessorelemente­ gruppe aus Prozessorelementen für die jeweiligen Wähler der Wählergruppe aufgebaut.
Die Fig. 67 zeigt die Zusammenhänge zwischen den Prozessor­ elementen der Prozessorelementegruppe 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 Inte­ grators, 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 Haupt­ abtastschaltungen 1 bis 4 und die Unterabtastschaltungen 1 bis 4 als Aufstufungswerte alle die Werte, die das Vierfache des Kehrwerts des Vergrößerungsfaktors sind. Falls die Pro­ zessorelementegruppe 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 Integra­ tor aus Unterabtastschaltungen 1 bis n einen Aufstufungswert erhält, der das n-fache des Kehrwerts des Vergrößerungsfak­ tors ist. Falls beispielsweise der Vergrößerungsfaktor 8 ist, ist der Aufstufungswert 4 × 1/8 = 1/2. 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-Syn­ chronisiersignal. 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-Takt­ signal 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 Bildele­ menten in dem ausgangsseitigen Bildspeicher 317 abgegeben und in den Speicher eingeschrieben. Danach werden die Bildele­ mentewerte aufeinanderfolgend in der Hauptabtastrichtung in Einheiten von Blöcken aus 4 × 4 Bildelementen ausgegeben. Diese Bildelementewerte werden ausgegeben und in den ausgangsseiti­ gen Bildspeicher 317 bis zu dessen rechten Rand hin einge­ schrieben, woraufhin die Hauptabtastung zu dem Ausgangspunkt zurückkehrt und die Unterabtastung zu einem Block fortschrei­ tet, 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 Unterabta­ stungs-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 ausgegebenen Werten und den Bildelementen des Bildelementeblocks in dem ausgangs­ seitigen 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 Hauptabta­ stungs-Integrators und des digitalen Unterabtastungs-Integra­ tors (wobei für die Prozessorelement-Stelle (i, j) der Haupt­ abtastungs-Integrator der Hauptabtastschaltung i und der Unterabtastungs-Integrator der Unterabtastschaltung j ent­ spricht). 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-Bildelemen­ ten, deren Werte von den Prozessorelementen ausgegeben wer­ den, und den Adressen der Bildelemente in dem Eingangsbild­ speicher 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 1/8 benachbarte Stelle). Diese Stelle soll als "Imaginärstel­ le" bezeichnet werden. Infolgedessen ist zum Erzielen von Daten für diese Imaginärstelle die Interpolation erforder­ lich. 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äch­ lich ein Eingabebildelement vorhanden ist, während der Dezi­ malbruchteil eine Versetzung von der Stelle des tatsächlich vorhandenen Eingabebildelements zu der Imaginärstelle dar­ stellt. 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 beschrie­ bene Interpolation auszuführen. Die ganzzahligen Teile aus der Hauptabtastschaltung 1 und der Unterabtastschaltung 1 sind Adressen der Stelle in der oberen linken Ecke des 5 × 5- Bildelementebereichs, der in den 16 Prozessorelementen verar­ beitet 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 Prozes­ sorelemente 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 Hauptabtast­ schaltung 1 und der Unterabtastschaltung 1 die 25 Bildelemen­ tedaten für die an den Stellen am oberen linken Rand gelege­ nen 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) ent­ spricht. Gemäß den mittels Subtrahierern 710 und 712 berech­ neten Differenzen zwischen den ganzzahligen Teilen der ent­ sprechenden digitalen Integratoren für die Hauptabtastung und Unterabtastung und den ganzzahligen Teilen aus der Hauptab­ tastschaltung 1 und der Unterabtastschaltung 1 wählt das entsprechende Prozessorelement, welche vier Bildelemente aus den 5 × 5 bzw. 25 Bildelementen die erforderlichen Eingangs­ bilddaten 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 Prozes­ sorelemente der ersten Zeile immer die Bildelemente der ersten und zweiten Zeile der eingegebenen 5 × 5-Bildelemente­ gruppe. Daher zeigt die Fig. 66, daß in die Wähler der ersten Spalte statt der ganzzahligen Werte aus den digitalen Haupt­ abtastungs-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 Interpola­ tionsverfahren ist gleichartig der in Fig. 52 gezeigten In­ terpolierschaltung 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 × ℓ oder K × L von Speicherelementen, die den leseseitigen oder schreibseitigen Bildspeicher bilden.
Ferner besteht hinsichtlich der Blockformate k' × ℓ' und K' × L' der in den Speichern abgerufenen Bildelemente keine Ein­ schränkung auf das nachstehend beschriebene Beispiel. Es sind jedoch die Bedingungen 1 ≦ k' ≦ k, 1 ≦ ℓ' ≦ ℓ, 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 den vorangehenden Ausführungen (hinsichtlich des ersten Bei­ spiels) ist zu entnehmen, daß ohne Beschränkung auf die Leseseite oder die Schreibseite dann, wenn das abgerufene Bildelementeformat gleich dem Format der den jeweiligen Bild­ speicher 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 Bild­ speicher ein Bildelementeformat abgerufen werden soll, das kleiner als das Format der den Speicher bildenden Speicher­ elemente ist, kann die Abtastung nach dem vorangehend be­ schriebenen Block-Folgeabfrageverfahren vorgenommen werden (5. Beispiel).
Es wird nun ein Prozeß beschrieben, bei dem aus einem Bild­ speicher gleichzeitig Bilddaten abgerufen werden, die recht­ eckigen Bereichen aus m × n Bildelementen eines ursprünglichen Bilds entsprechen, die Bilddaten gleichzeitig von einer Pro­ zessoreinheit aus Prozessorelementen in einer Anzahl aufge­ nommen werden, die kleiner als das Blockformat m × n des recht­ eckigen Bereichs in dem Bildspeicher ist, die Bilddaten dann als Informationen von den jeweiligen Prozessorelementen unter Informationsaustausch zwischen den Prozessorelementen verar­ beitet werden, wodurch die eingegebenen Bilddaten komprimiert werden, und die Ergebnisse in den ausgangsseitigen Bildspei­ cher 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 Bild­ daten 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 561a, einer Prozessoreinheit 562, Prozessorelementen 563a und 563b und Ausgabe-Bildelementen 564a in einem ausgangsseitigen Bild­ speicher 564 für die Ausgabe komprimierter Daten. Aus einer Steuereinheit 565 wird in die Prozessoreinheit 562 und den eingangsseitigen Bildspeicher 560 ein Steuersignal eingege­ ben, wodurch die Bilddaten aus dem Bildelementeblock 561 aus 16 zugehörigen Bildelementen in dem eingangsseitigen Bild­ speicher 560 gleichzeitig abgerufen werden und die benötigten Bilddaten von dem entsprechenden Prozessorelement 563a und 563b in der Prozessoreinheit 562 aufgenommen werden. Die 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 564a zu den entsprechenden Stellen in dem ausgangsseitigen Bildspeicher 564 aus.
Von den beiden Prozessorelementen 563a und 563b in der Pro­ zessoreinheit 562 ist eines, nämlich das Prozessorelement 563a 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 563b zum Berechnen der Detailinformation 572 dient, welche auf einer Bildinfor­ mation 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 zusam­ mengefaßt die Einrichtung und der Prozessablauf für das Kom­ primieren eingegebener ursprünglicher Bilddaten beschrieben. Es werden nun die Einzelheiten der von den Prozessorelementen 563a und 563b ausgeführten Verarbeitung beschrieben.
Das ausschließlich für das Berechnen der typischen Dichtein­ formation 571 vorgesehene Prozessorelement 563a weist gemäß Fig. 56 einen Puffer 581 für das vorübergehende Speichern der Bilddaten für die 16 Bildelemente und eine arithmetische bzw. Recheneinheit 582 auf. Das Prozessorelement 563a bildet aus den Bilddaten für die 16 Bildelemente einen mittleren Dichte­ wert und gibt diesen Wert als typische Dichteinformation an den ausgangsseitigen Bildspeicher 564 ab. Das ausschließlich zum Zusammenstellen der Detailinformation 572 dienende Pro­ zessorelement 563b weist gleichfalls einen 16-Bildelemente- Puffer 581 und eine Recheneinheit 582 gemäß Fig. 56 auf. Entsprechend den Eigenschaften des eingegebenen ursprüngli­ chen Bilds wird die Detailinformation 572, die eine Block­ innenmuster-Information, welche durch das binäre Codieren der Tönungsinformationen 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 563a und 563b zu parallelem Arbeiten ausgebildet, so daß die Komprimierung mit hoher Geschwindigkeit ausgeführt wird.
Bei dem vorstehend beschriebenen Komprimieren wird der ein­ gangsseitige Bildspeicher aufeinanderfolgend in Speicher­ blockeinheiten 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 das ursprüngliche Bild einer Seite kompri­ miert.
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 563a abgegebenen mittleren Dichte entspricht. Ferner kann in der Prozessoreinheit 562 ein einziges Prozessorelement einge­ setzt 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 Bildele­ menten, 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 Bild­ elemente gleichzeitig abgerufen. Hierdurch wird es möglich, die Bilddaten unter deren Komprimierung mit hoher Geschwin­ digkeit 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 ver­ einfacht. Ferner können dadurch, daß in der Prozessoreinheit Prozessorelemente in einer Anzahl m' x n' vorgesehen werden, die kleiner als die Anzahl m × n der Bildelemente in dem eingangsseitigen Speicherblock ist, und daß an jedem Prozes­ sorelement das gesonderte Verarbeiten herbeigeführt wird, die Kosten für die Prozessoreinheit verringert werden, wobei durch das parallele Verarbeiten die Verarbeitungsgeschwindig­ keit zum Komprimieren gesteigert werden kann.
Es wird nun ein weiteres Ausführungsbeispiel für einen Kom­ primiervorgang beschrieben.
Im folgenden wird ein Prozeß beschrieben, bei dem aus einem Bildspeicher Bilddaten für rechteckige Bereiche aus m × n Bild­ elementen 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 Bildelemen­ te zugeordnet ist, die Bilddaten mittels der jeweiligen Pro­ zessorelemente 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 591a, einer Prozessoreinheit 592, Prozessorelementen 592a und Ausgangs­ bilddaten 593a in einem ausgangsseitigen Bildspeicher 593. Entsprechend einem Steuersignal aus einer Steuereinheit 594 werden die Bilddaten des Bildelementeblocks 591 mit 16 geeig­ neten Bildelementen aus dem eingangsseitigen Bildspeicher 590 gleichzeitig abgerufen und von den jeweiligen Prozessorele­ menten 592a in der Prozessoreinheit 592 aufgenommen. Die Prozessoreinheit 592 berechnet aus den Bilddaten für die 16 Bildelemente die typische Dichteinformation 571 und die De­ tailinformation 572 gemäß Fig. 55 und gibt die Ergebnisse an den ausgangsseitigen Bildspeicher 593 aus.
Die Prozessorelemente 592a der Prozessoreinheit 592 stehen in 1 : 1-Zuordnung zu den 4 × 4 Bildelementen und sind gitter- bzw. rasterförmig in einer 4 × 4-Matrix aus 16 Elementen angeordnet.
Vorstehend ist die Verarbeitung zur Bilddatenkomprimierung zusammengefaßt beschrieben. Es werden nun die Einzelheiten der von den Prozessorelementen 592a ausgeführten Verarbeitung erläutert.
Die Prozessorelemente 592a 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 Dichtein­ formation aus den Bilddaten für die 16 Bildelemente beschrie­ ben. Es sei angenommen, daß die in Fig. 58 gezeigten 16 Prozessorelemente 592a die entsprechenden Bilddaten aufgenom­ men haben. Ein jedes der parallel arbeitenden Prozessorele­ mente (1,1), ...(4,4) errechnet 1/16 der Dichtedaten für ein jedes Bildelement, wonach alle Rechenergebnisse gleichzeitig von dem Prozessorelement (1,1) addiert werden, aus den Dich­ teinformationen für die 16 Bildelemente ein Mittelwert gebil­ det wird und dieser Wert als Wert der in Fig. 55 gezeigten typischen Dichteinformation 571 über die typische Dichte der komprimierten Daten an den ausgangsseitigen Bildspeicher abgegeben wird.
Nachstehend wird nun das Ermitteln der in Fig. 55 gezeigten Detailinformation 572 über die Details in den Komprimierungs­ daten 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önungsinforma­ tion eines jeden Bildelements in den 16 Prozessorelementen 592a mit der von dem Prozessorelement (1,1) nach Fig. 58 abgegebenen Durchschnittsdichteinformation erhalten wird, sowie der Durchschnittsdichteinformation und der Verteilungs­ information aus jedem Posten der Bildelementedaten 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 Musterinforma­ tionen 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 Verarbei­ tung wird dann im mittigen Block aus 2 × 2 Prozessorelementen ausgeführt, wonach in dem Prozessorelement (2,2) das Ender­ gebnis gebildet wird und dieser Wert als Detailinformation 572 über die betreffenden 16 Bildelemente an den ausgangssei­ tigen Bildspeicher ausgegeben wird.
Durch das Wiederholen der vorstehend beschriebenen Verarbei­ tung 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 kompri­ mierte Daten erhalten, die dem ursprünglichen Bild einer Seite äquivalent sind.
Bei dem vorstehend beschriebenen Ausführungsbeispiel werden die Rohdaten des eingegebenen ursprünglichen Bilds aufeinan­ derfolgend in Speicherblöcken aus m × n Bildelementen, wie z. B. aus 4 × 4 Bildelementen abgerufen. Daher können statt des mehr­ maligen Abrufens eines jeden Bildelements in dem eingangssei­ tigen Bildspeicher die Bilddaten für m × n Bildelemente gleich­ zeitig abgerufen werden. Dies ermöglicht eine schnelle Kom­ primierung 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 Verarbei­ tung 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 Bild­ elementen entsprechen, wonach die Bilddaten von den Prozes­ sorelementen der Prozessoreinheit aufgenommen werden, die Bilddaten komprimiert werden und die Ergebnisse aufeinander­ folgend an entsprechende Stellen in dem ausgangsseitigen Bildspeicher in einem Format m' × n' ausgegeben werden, das kleiner als das Blockformat bei der Eingabe ist (m < m', n < n'). Im Gegensatz dazu werden gleichzeitig Bildelemente in einem Blockformat m' × n' aus dem eingangsseitigen Bildspeicher abge­ rufen, 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 ausgegeben, das größer als das Blockformat bei der Eingabe ist (m < m', n < n'). Dabei werden jeweils die Speicherblockformate m × n und m' × n' 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' × n' oder umgekehrt eingangsseitig das Format m' × n' und ausgangsseitig das Format m × n gewählt (wobei m < m' und n < n' gilt). Nachstehend wird der Ablauf der Verarbeitung zum Kom­ primieren und Expandieren beschrieben. Zur Vereinfachung sei angenommen, daß m = n = 4 und m' = n' = 1 gilt und daß die Prozes­ soreinheit zwei Prozessorelemente enthält.
Zunächst wird gemäß der Darstellung in Fig. 54 bei dem Kom­ primieren aus einer Steuereinheit 544 an eine Prozessorein­ heit 541 ein Steuersignal abgegeben, das eingangsseitige Blockformat auf 4 × 4 Bildelemente festgelegt und das ausgangs­ seitige Blockformat auf 1 Bildelement 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 je­ weiligen Prozessorelementen 541a und 541b in der Prozessor­ einheit 541 aufgenommen. Von der Prozessoreinheit 541 werden aus den Bilddaten für die 16 Bildelemente die typische Dich­ teinformation 571 und die Detailinformation 572 gemäß Fig. 55 berechnet und die komprimierten Bilddaten an entsprechende Stellen in einem ausgangsseitigen Bildspeicher 542 ausgege­ ben.
Nachstehend wird nun eine Verarbeitung für das Expandieren der komprimierten codierten Daten beschrieben.
Die Fig. 60 zeigt die Zusammenhänge zwischen codierten Daten 540a in dem eingangsseitigen Bildspeicher 540, der Prozessor­ einheit 541 mit den Prozessorelementen 541a und 541b, einem Ausgabe-Bildelementeblock 543 für den ausgangsseitigen Wie­ dergabe-Bildspeicher 542 und Ausgabe-Bildelementen 543a. 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 Bildspei­ cher werden in die Prozessoreinheit 541 eingegeben, mit den Prozessorelementen 541a und 541b 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 541a und 541b der Prozessoreinheit 541 führt eine Verarbeitung aus, die zu derjenigen bei dem Komprimieren entgegengesetzt ist. Bei­ spielsweise 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 arbei­ ten die mehreren Prozessorelemente 541a und 541b parallel, so daß die Verarbeitung für die Expansion mit hoher Geschwindig­ keit ausgeführt werden kann.
Bei dieser Verarbeitung für die Expansion werden die ein­ gangsseitigen 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 Detail­ information 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 Durch­ schnittsdichtewert entspricht. Ferner kann in der Prozessor­ einheit ein einziges Prozessorelement vorgesehen werden.
Weiterhin können bei dem vorstehend beschriebenen Ausfüh­ rungsbeispiel, bei dem das eingangsseitige oder ausgangssei­ tige Blockformat groß ist, die Prozessorelemente als raster­ förmige 4 × 4-Matrix angeordnet werden. Bei dem beschriebenen Ausführungsbeispiel sind zwar die Blockformate 4 × 4 Bildele­ mente und ein Bildelement genannt, jedoch können diese For­ mate 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 bei­ spielsweise 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 Geschwin­ digkeit.
Da ferner die Blockformate der Bildspeicher an der Eingangs­ seite 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 vorgese­ hen 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überhinaus die eingangsseitigen Blockformate als geson­ derte Blockformate gewählt werden können, kann eine Maskie­ rungsverarbeitung entfallen, bei welcher erforderliche Bild­ daten nicht gelesen oder nicht wieder eingeschrieben werden.
Da auch die Prozessorelemente in der Prozessoreinheit die Verarbeitung parallel ausführen, wird dadurch die Verarbei­ tungsgeschwindigkeit der Prozessoreinheit erhöht.
Bei dem vorstehend beschriebenen Ausführungsbeispiel erfolgt eine parallele Verarbeitung zur Bildkomprimierung und Bildex­ pandierung 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 ge­ nannten Weise gespeicherten Farbinformationen wird eine der­ artige Anordnung gewählt, daß jeweils entsprechende Prozes­ sorelemente in 1 : 1-Übereinstimmung entsprechenden Bildspei­ cherzellen für R, G und B zugeordnet werden, die Verarbeitung für R, für G und B parallel ausgeführt wird und ein Infor­ mationsaustausch zwischen den jeweiligen Prozessorelementen ermöglicht ist. Die Fig. 61 zeigt die Gestaltung eines Bild­ speichers 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 Ver­ bindung stehen, während Prozessorelemente an gleichen Stellen in bezug auf die Prozessoreinheiten auch miteinander in Ver­ bindung kommen können. Es wird nun das Funktionsprinzip be­ schrieben.
Farbumsetzung
Es sei nun eine Verarbeitung zur Farbumsetzung betrachtet. Die Farbumsetzung ist eine Verarbeitung, bei der an Bilddaten mit Farbinformation die Farbinformation in eine andere vorbe­ stimmte besondere Farbinformation umgesetzt wird. Gemäß dem in Fig. 23 gezeigten und schon beschriebenen Ablaufdiagramm führen die Prozessorelemente der Prozessoreinheit die Farbum­ setzung parallel für 16 Bildelemente aus, wobei die jeweils an den gleichen Stellen gelegenen Prozessorelemente für R, G und B Informationen austauschen.
Die Verarbeitungsvorgänge zwischen einem jeweiligen Speicher und der Prozessoreinheit werden nun ausführlich anhand der Fig. 61 und 62 beschrieben.
Als erstes wird die Farbinformation vor und nach einer Ände­ rung festgelegt und die Information an einer Speicherstelle wie einem Register für die Speicherung eines Werts gespei­ chert. Danach werden entsprechend Steuersignalen 411 aus einer in Fig. 62 gezeigten Steuereinheit 410 jeweils entspre­ chende 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 Pro­ zessoreinheiten 412R, 412G und 412B 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 glei­ chen 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 den 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 vor der Änderung natürlich ein Bereich bestimmt werden kann oder mehrere Farbinformationen gewählt werden können.
Farbkorrektur
Es sei nun eine Verarbeitung zur Farbkorrektur betrachtet. Die Farbkorrektur ist eine Verarbeitung, bei der dann, wenn Bilddaten eine bestimmte Farbinformation enthalten, die Farb­ information 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 + γ . B
G' = α' . R + β' . G + γ' . B
B" = α" . R + β" . G + γ " . B ... (20)
wobei R, G und B die Eingangsbilddaten sind, R', G' und B' die Ausgangsbilddaten sind und α, β, ..., β", γ " Koeffizien­ ten 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 α, β, ... 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 Speicherstel­ len 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 nachste­ hend beschriebene Weise aus.
Auf die Adressierung durch das Steuersignal 411 hin werden die 4 × 4 Speicherelemente abgerufen, die entsprechenden Bild­ daten 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 Datenverbindung stehen. Wenn diese von den Prozessoreinheiten ausgeführte Verarbeitung beendet ist, werden die verarbeiteten Bilddaten in den Bildspeicher zu­ rückgebracht. Es genügt, die vorstehend beschriebene Verar­ beitung 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 bei dem beschriebenen Ausführungsbeispiel die Verarbeitungs­ ergebnisse 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 zusam­ menhängenden, eng benachbarten Bildelementen kann die Orts­ frequenzfilterung 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 Viel­ zahl von Eingabedaten ist im Vergleich zu dem einzelnen Abruf der Daten zu einem jeweiligen Zeitpunkt die Verarbeitungsge­ schwindigkeit erhöht. Darüberhinaus kann durch einen einzel­ nen Abruf von Eingangsdaten durch einen Datenaustausch zwi­ schen 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 Bildele­ ments aus dem eingangsseitigen Bildspeicher jeweils gleich­ zeitig Bilddaten für m × n Bildelemente für die drei Farben abgerufen werden. Dies ermöglicht eine Bilddatenübertragung mit hoher Geschwindigkeit.
Darüberhinaus besteht an den Prozessorelementen in den Pro­ zessoreinheiten eine Informationsverbindung nicht nur zwi­ schen den Elementen für die gleiche Farbe, sondern auch zwischen 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 Ge­ schwindigkeit ausgeführt werden kann. Da ferner die Prozes­ soreinheiten aus Prozessorelementen in einer Anzahl zusammen­ gesetzt 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 Verarbei­ tungsgeschwindigkeit 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 × ℓ Speicherelementen 1b werden bei dem Anlegen einer einzelnen Adresse aus jedem von k × ℓ Teilbereichen Daten für entsprechende Stellen in einem Posten zu einem Zeitpunkt ausgelesen. Wenn alle k × ℓ Daten durch die Prozessoreinheit 2 umgeordnet und in die gleiche Adresse eingeschrieben sind, ist ein einzelner Verarbeitungsschritt zur Übertragung zwi­ schen den k × ℓ-Bereichen abgeschlossen. Wenn die Prozessorein­ heit 2 diesen Vorgang im Hinblick auf alle Adressen der Speicherelemente 1b ausführt, ist damit die Verarbeitung des ganzen Bilds abgeschlossen.
Die Prozessoreinheit 2 muß jedoch die Daten zu den k × ℓ Spei­ cherelementen 1b zurückbringen. Tatsächlich wird jedoch die Belastung der Prozessoreinheit 2 erleichtert, wenn die Pro­ zessoreinheit 2 nur eine Anzahl von Bereichen in einem Be­ reich A aufnimmt und nur die Anzahl der Bereiche in einen Bereich B ausgibt. Die Anzahl der Bereiche im Bereich A und im Bereich B müssen nicht unbedingt gleich sein. Beispiels­ weise ist es möglich, daß der Bereich A 3 × 3 Bereiche enthält, an denen die Prozessoreinheit 2 eine Reduktion bzw. Verklei­ nerung auf 2/3 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 1b immer erforderlich ist, die Bausteinfreigabe aller Speicherelemente 1b unter Benut­ zung 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 ein­ gangsseitige Daten in zwei Nachschlagetabellen die Informa­ tionen 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 Prozessor­ einheit 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 Spei­ cherelementen 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 Bild­ verkleinerung, eine Bilddrehung, eine Bildkomprimierung, eine Bildexpandierung und eine Farbkorrektur. Es wird auch eine Bildverarbeitungseinrichtung für Farbbilder mit einer Viel­ zahl von Bildspeichern und einer Vielzahl von Prozessorein­ heiten sowie eine allgemein anwendbare, multifunktionelle Verarbeitungseinrichtung zur parallelen Verarbeitung einer großen Datenmenge mit hoher Geschwindigkeit beschrieben.

Claims (9)

1. Bildverarbeitungsgerät mit
  • a) einem ersten Bildspeicher zum Speichern einzugeben­ der Bilddaten der zum Lesen und Schreiben aus bzw. in jedem eine Mehrzahl von Pixel umfassenden Bereich ausgebildet ist,
  • b) einer Prozessoreinheit, die eine Vielzahl von Pro­ zessorelementen umfaßt, die den unterschiedlichen Arten von Verarbeitungsergebnissen entsprechen, zur simultanen Verar­ beitung einer Vielzahl von in der ersten Speichereinrichtung abgelegter Pixel und zur Komprimierung der Bilddaten und
  • c) einer zweiten Bildspeichereinrichtung zur Speiche­ rung des Resultats der mit der Prozessoreinheit durchgeführ­ ten Verarbeitung,
gekennzeichnet durch
  • a) eine Adressenerzeugungseinrichtung zur Erzeugung von Lese- und Schreibadressen für die erste Speichereinrich­ tung, die Adressen für Pixel umfassende Bereiche entsprechend einer Information erzeugt, die die Bereiche bestimmt.
2. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß sich die mittels den Prozessorelementen durchgeführten Verarbei­ tungen von Prozessorelement zu Prozessorelement unterschei­ den.
3. Gerät nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß eine Mehrzahl der Prozessorelemente den Durchschnittswert ei­ ner Vielzahl von Bilddaten bestimmt.
4. Gerät nach einem der vorhergehenden Ansprüche, gekenn­ zeichnet durch eine Wähleinrichtung zur Bestimmung einer Mehrzahl von Pixelmengen, die simultan mittels einer Mehrzahl von Prozessorelementen verarbeitet werden.
5. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß der ge­ nannte Bereich aus einer Vielzahl von zusammenhängenden Pi­ xeln besteht.
6. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß die ge­ nannten Bereiche aus einer Vielzahl von nicht zusammenhängen­ den Pixeln bestehen.
7. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß die Vielzahl der Prozessorelemente zur Ausgabe von typischen Dichtedaten eines vorbestimmten Bereiches der Bilddaten vor­ gesehen sind.
8. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß die Vielzahl der Prozessorelemente zur Ausgabe von Verteilungsda­ ten eines vorbestimmten Bereiches der Bilddaten vorgesehen sind.
9. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß in der zweiten Bildspeichereinrichtung eine Vielzahl von mittels der Verarbeitungseinrichtung komprimierten Bilddaten gespeichert sind.
DE3844921A 1987-02-18 1988-02-17 Bildverarbeitungsgerät Expired - Fee Related DE3844921C2 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE3845005A DE3845005C2 (de) 1987-02-18 1988-02-17 Bildverarbeitungseinrichtung
DE3845004A DE3845004C2 (de) 1987-02-18 1988-02-17 Bildverarbeitungseinrichtung

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
JP62033176A JP2647379B2 (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033172A JPS63201757A (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033179A JP2647380B2 (ja) 1987-02-18 1987-02-18 カラー画像処理装置
JP62033173A JP2647376B2 (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033182A JPS63201784A (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033174A JP2647377B2 (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033180A JPS63201782A (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033177A JPS63201779A (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033178A JP2728663B2 (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033175A JP2647378B2 (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033181A JPS63201783A (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033171A JP2647375B2 (ja) 1987-02-18 1987-02-18 画像処理装置
DE3804938A DE3804938C2 (de) 1987-02-18 1988-02-17 Bildverarbeitungseinrichtung

Publications (1)

Publication Number Publication Date
DE3844921C2 true DE3844921C2 (de) 1999-01-21

Family

ID=27583967

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3844921A Expired - Fee Related DE3844921C2 (de) 1987-02-18 1988-02-17 Bildverarbeitungsgerät

Country Status (1)

Country Link
DE (1) DE3844921C2 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3538639A1 (de) * 1984-10-31 1986-04-30 Canon K.K., Tokio/Tokyo Bildverarbeitungssystem
US4786820A (en) * 1984-12-14 1988-11-22 Canon Kabushiki Kaisha Apparatus for parallel-processing image data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3538639A1 (de) * 1984-10-31 1986-04-30 Canon K.K., Tokio/Tokyo Bildverarbeitungssystem
US4786820A (en) * 1984-12-14 1988-11-22 Canon Kabushiki Kaisha Apparatus for parallel-processing image data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PLOTTER, J.L.: "Image Processing on the Massively Parallel Processor", in Computer, Januar 1983, S. 62-67 *

Similar Documents

Publication Publication Date Title
DE3804938A1 (de) Bildverarbeitungseinrichtung
DE69433031T2 (de) Bildprozessor
DE69333103T2 (de) Vorrichtung zur Umsetzung von digitalen Daten
DE68926094T2 (de) Hochgeschwindigkeits-Verarbeitungssystem für Rechnergraphik
DE69937785T2 (de) Verfahren zur Selektion von Farbblockpunkten für die Blockkodierung
DE69933496T2 (de) Bildverarbeitungsvorrichtung und -verfahren
DE4231158C2 (de) Verfahren und Einrichtung für die Zusammensetzung und Anzeige von Bildern
DE3141196A1 (de) Videobildverarbeitungsvorrichtung
DE2835689A1 (de) Anordnung zur veraenderung der aufloesung bei der bild-datenerfassung und -uebertragung
DE2825930A1 (de) Sichtanzeigegeraet mit komprimierter bildwiederholung
DE2636093A1 (de) Vorrichtung zum umsetzen von eingangsdaten in daten mit ausgeglichener haeufigkeitsverteilung ihrer intensitaet
DE2340597A1 (de) Bildverarbeitungsanordnung
DE3202365A1 (de) Datenspeicher mit fensterabtastung
DE2816609C2 (de) Anordnung zur Bildverarbeitung
DE3486126T2 (de) Expansions- und/oder ziehungsverfahren und -geraet fuer bilddaten.
DE3210814A1 (de) Verfahren zum bestimmen einer optimalen schwelle, um ein binaeres abbildungssignal zur verwendung in einem mustererkennungssystem zu erhalten
DE3218815C2 (de)
DE2252556A1 (de) Vorrichtung zum erzeugen eines videosignals zur eingabe in ein rasterabgetastetes sichtgeraet
DE69711781T2 (de) Vorrichtung zum Erzeugen von Eingangsdaten für einen Interpolator
DE4234985C2 (de) Verfahren zum Transformieren von Farbsignalen und Vorrichtung zur Durchführung des Verfahrens
DE4408522C2 (de) Vorrichtung zur Bilddatenverarbeitung und Verfahren zur Verarbeitung von Bilddaten
DE3888891T2 (de) Steuersystem zum Umdrehen von Seiten mit grosser Geschwindigkeit.
DE10334627B4 (de) Zeilenpuffer und Verfahren zur Bereitstellung von Zeilendaten für eine Farbinterpolation
DE69802269T2 (de) Vorrichtung und verfahren zum vergleichen von pixelblöcken
DE69516494T2 (de) Vorrichtung zum Umsetzen des Formats eines Videosignals

Legal Events

Date Code Title Description
Q172 Divided out of (supplement):

Ref country code: DE

Ref document number: 3804938

8110 Request for examination paragraph 44
AC Divided out of

Ref country code: DE

Ref document number: 3804938

Format of ref document f/p: P

AC Divided out of

Ref country code: DE

Ref document number: 3804938

Format of ref document f/p: P

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 3845004

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 3845004

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 3845005

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 3845005

AC Divided out of

Ref country code: DE

Ref document number: 3804938

Format of ref document f/p: P

AH Division in

Ref country code: DE

Ref document number: 3845004

Format of ref document f/p: P

Ref country code: DE

Ref document number: 3845005

Format of ref document f/p: P

D2 Grant after examination
8364 No opposition during term of opposition
AH Division in

Ref country code: DE

Ref document number: 3845004

Format of ref document f/p: P

Ref country code: DE

Ref document number: 3845005

Format of ref document f/p: P

8339 Ceased/non-payment of the annual fee