DE3804938A1 - Bildverarbeitungseinrichtung - Google Patents

Bildverarbeitungseinrichtung

Info

Publication number
DE3804938A1
DE3804938A1 DE3804938A DE3804938A DE3804938A1 DE 3804938 A1 DE3804938 A1 DE 3804938A1 DE 3804938 A DE3804938 A DE 3804938A DE 3804938 A DE3804938 A DE 3804938A DE 3804938 A1 DE3804938 A1 DE 3804938A1
Authority
DE
Germany
Prior art keywords
image
elements
data
processor
memory
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.)
Granted
Application number
DE3804938A
Other languages
English (en)
Other versions
DE3804938C2 (de
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 JP62033173A external-priority patent/JP2647376B2/ja
Priority claimed from JP62033177A external-priority patent/JPS63201779A/ja
Priority claimed from JP62033181A external-priority patent/JPS63201783A/ja
Priority claimed from JP62033172A external-priority patent/JPS63201757A/ja
Priority claimed from JP62033175A external-priority patent/JP2647378B2/ja
Priority claimed from JP62033174A external-priority patent/JP2647377B2/ja
Priority claimed from JP62033178A external-priority patent/JP2728663B2/ja
Priority claimed from JP62033182A external-priority patent/JPS63201784A/ja
Priority claimed from JP62033176A external-priority patent/JP2647379B2/ja
Priority claimed from JP62033171A external-priority patent/JP2647375B2/ja
Priority claimed from JP62033179A external-priority patent/JP2647380B2/ja
Priority claimed from JP62033180A external-priority patent/JPS63201782A/ja
Application filed by Canon Inc filed Critical Canon Inc
Priority to DE3844921A priority Critical patent/DE3844921C2/de
Publication of DE3804938A1 publication Critical patent/DE3804938A1/de
Application granted granted Critical
Publication of DE3804938C2 publication Critical patent/DE3804938C2/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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)

Description

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

Claims (64)

1. Bildverarbeitungseinrichtung, gekennzeichnet durch
einen Bildspeicher (1) aus einer Vielzahl von Speicherelementen (1 a; 1 b), die voneinander unabhängig adressierbar und abrufbar sind, wobei Bildelementdaten in einem jeden Bereich von durch das Aufteilen eines Bilds in eine Vielzahl von Bereichen erhaltenen Bereichen eine übereinstimmende Adresse zugewiesen ist und einander entsprechende Bildelementdaten an übereinstimmenden Stellen in den Bereichen einem übereinstimmenden Speicherelement zugeordnet sind, und
eine Prozessoreinheit (2) aus einer Vielzahl den Speicherelementen entsprechenden Prozessorelementen (2 a) für das gleichzeitige Verarbeiten der Daten für eine Vielzahl der Bildelemente in dem Bildspeicher.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß jedes der Prozessorelemente (2 a) eine Dichteumsetzungseinrichtung für das Umsetzen der Dichte der Bildelementdaten aufweist, wodurch die Prozessoreinheit (2) eine Dichteumsetzung des Bildes ausführt [Fig. 20; Fig. 22).
3. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß jedes der Prozessorelemente (2 a) eine Farbunterscheidungseinrichtung für das Erkennen einer Farbe aus den Bildelementdaten und eine Farbumsetzungseinrichtung aufweist, mit der die Bildelementdaten in eine vorbestimmte Farbe umsetzbar sind, wenn durch die Farbunterscheidungseinrichtung ermittelt wird, daß die Bildelementdaten eine vorgewählte Farbe anzeigen, wodurch die Prozessoreinheit (2) ein Farbumsetzung des Bildes ausführt (Fig. 23).
4. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß jedes der Prozessorelemente (2 a) eine Lageunterscheidungseinrichtung für das Erkennen einer Stelle auf dem Bild gemäß eingegebenen Bildelementdaten und eine Datenumsetzungseinrichtung aufweist, mit der die Bildelementdaten in vorgewählte Daten umsetzbar sind, wenn durch die Lageunterscheidungseinrichtung ermittelt wird, daß die Stelle eine vorgewählte Stelle ist, wodurch die Prozessoreinheit (2) eine Maskierung des Bildes ausführt (Fig. 21; Fig. 24).
5. Bildverarbeitungseinrichtung, gekennzeichnet durch
einen Bildspeicher (1) aus einer Vielzahl von Speicherelementen (1 a; 1 b), die voneinander unabhängig adressierbar und abrufbar sind, wobei Bildelementdaten in einem jeden Bereich von durch das Aufteilen eines Bilds in eine Vielzahl von Bereichen erhaltenen Bereichen eine übereinstimmende Adresse zugewiesen ist und einander entsprechende Bildelementdaten an übereinstimmenden Stellen in den Bereichen einem übereinstimmenden Speicherelement zugeordnet sind, und
eine Prozessoreinheit (2) aus einer Vielzahl den Speicherelementen entsprechenden Prozessorelementen (2 a) für das gleichzeitige Verarbeiten der Daten für eine Vielzahl der Bildelemente in dem Bildspeicher, wobei die Prozessoreinheit eine Einrichtung (71, 72; 81, 82) zum zyklischen Vertauschen der Bildelementdaten in den Bereichen in Längsrichtung und/ oder Querrichtung gemäß einem Austausch der Bildelementdaten zwischen den Prozessorelementen enthält.
6. Einrichtung nach Anspruch 5, dadurch gekennzeichnet, daß jedes der Prozessorelemente (2a) eine Dichteumsetzungseinrichtung für das Umsetzen der Dichte der Bildelementdaten aufweist, wodurch die Prozessoreinheit (2) eine Dichteumsetzung des Bildes ausführt (Fig. 20; Fig. 22).
7. Einrichtung nach Anspruch 5, dadurch gekennzeichnet, daß jedes der Prozessorelemente (2 a) eine Farbunterscheidungseinrichtung für das Erkennen einer Farbe aus den Bildelementdaten und eine Farbumsetzungseinrichtung aufweist, mit der die Bildelementdaten in eine vorbestimmte Farbe umsetzbar sind, wenn durch die Farbunterscheidungseinrichtung ermittelt wird, daß die Bildelementdaten eine vorgewählte Farbe anzeigen, wodurch die Prozessoreinheit (2) eine Farbumsetzung des Bildes ausführt (Fig. 23).
8. Einrichtung nach Anspruch 5, dadurch gekennzeichnet, daß jedes der Prozessorelemente (2 a) eine Lageunterscheidungseinrichtung für das Erkennen einer Stelle auf dem Bild gemäß eingegebenen Bildelementdaten und eine Datenumsetzeinrichtung aufweist, mit der die Bildelementdaten in vorgewählte Daten umsetzbar sind, wenn durch die Lageunterscheidungseinrichtung ermittelt wird, daß die Stelle eine vorgewählte Stelle ist, wodurch die Prozessoreinheit (2) ein Maskierung des Bildes ausführt (Fig. 21; Fig. 24).
9. Einrichtung nach einem der Ansprüche 5 bis 8, dadurch gekennzeichnet, daß die Einrichtung (71, 72; 81, 82) für das zyklische Vertauschen eine Einrichtung für das zyklische Vertauschen der Bildelementdaten in Längsrichtung (81) und Querrichtung (82) aufweist.
10. Einrichtung nach Anspruch 9, dadurch gekennzeichnet, daß die Einrichtung (71, 72) für das zyklische Vertauschen eine Einrichtung für das Versetzen der Lage der Bildelementdaten aufweist.
11. Bildverarbeitungseinrichtung, gekennzeichnet durch
einen Bildspeicher (1) aus einer Vielzahl von Speicherelementen (1 a; 1 b), die voneinander unabhängig adressierbar und abrufbar sind, wobei Bildelementdaten in einem jeden Bereich von durch das Aufteilen eines Bilds in eine Vielzahl von Bereichen erhaltenen Bereichen eine übereinstimmende Adresse zugewiesen ist und einander entsprechende Bildelementdaten an übereinstimmenden Stellen in den Bereichen einem übereinstimmenden Speicherelement zugeordnet sind,
eine Prozessoreinheit (2) aus einer Vielzahl den Speicherelementen entsprechenden Prozessorelementen (2 a) für das gleichzeitige Verarbeiten der Daten für eine Vielzahl der Bildelemente in dem Bildspeicher, und
eine Freigabesteuereinrichtung für das Steuern der Bausteinfreigabe der Speicherelemente (Fig. 14; Fig. 15).
12. Einrichtung nach Anspruch 11, dadurch gekennzeichnet, daß jedes der Prozessorelemente (2 a) eine Dichteumsetzungseinrichtung für das Umsetzen der Dichte der Bildelementdaten aufweist, wodurch die Prozessoreinheit (2) eine Dichteumsetzung des Bildes ausführt (Fig. 20; Fig. 22).
13. Einrichtung nach Anspruch 11, dadurch gekennzeichnet, daß jedes der Prozessorelemente (2 a) eine Farbunterscheidungseinrichtung für das Erkennen einer Farbe aus den Bildelementdaten und eine Farbumsetzungseinrichtung aufweist, mit der die Bildelementdaten in eine vorbestimmte Farbe umsetzbar sind, wenn durch die Farbunterscheidungseinrichtung ermittelt wird, daß die Bildelementdaten eine vorgewählte Farbe anzeigen, wodurch die Prozessoreinheit (2) eine Farbumsetzung des Bildes ausführt (Fig. 23).
14. Einrichtung nach Anspruch 11, dadurch gekennzeichnet, daß jedes der Prozessorelemente (2 a) eine Lageunterscheidungseinrichtung für das Erkennen einer Stelle auf dem Bild gemäß eingegebenen Bildelementdaten und eine Datenumsetzeinrichtung aufweist, mit der die Bildelementdaten in vorgewählte Daten umsetzbar sind, wenn durch die Lageunterscheidungseinrichtung ermittelt wird, daß die Stelle eine vorgewählte Stelle ist, wodurch die Prozessoreinheit (2) eine Maskierung des Bildes ausführt (Fig. 21; Fig. 24).
15. Einrichtung nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, daß mit der Freigabesteuereinrichtung (Fig. 14; Fig. 15) die Speicherelemente (1 a; 1 b) unabhängig voneinander abrufbar sind.
16. Bildverarbeitungseinrichtung, gekennzeichnet durch
eine Unterteilungseinrichtung für das Unterteilen von Bilddaten in eine vorbestimmte Anzahl von Bereichen und
eine Vielzahl von Prozessoren für das Verarbeiten der Bilddaten in den durch die Unterteilung erzielten Bereichen, wobei mit den Prozessoren eine Pegelumsetzung der Bilddaten in den Bereichen ausführbar ist.
17. Einrichtung nach Anspruch 16, dadurch gekennzeichnet, daß die Unterteilungseinrichtung eine Einrichtung für das Unterteilen der Bilddaten in Bereiche aus einer Vielzahl benachbarter Bildelemente aufweist.
18. Einrichtung nach Anspruch 17, dadurch gekennzeichnet, daß jeder der Bereiche rechteckig ist.
19. Einrichtung nach Anspruch 16, dadurch gekennzeichnet, daß die Unterteilungseinrichtung eine Einrichtung zum Unterteilen der Bilddaten in Bereiche aus einer Vielzahl nicht benachbarter Bildelemente aufweist.
20. Einrichtung nach Anspruch 19, dadurch gekennzeichnet, daß jeder der Bereiche aus Bildelementen ist, die in vorbestimmten Zwischenabständen angeordnet sind.
21. Einrichtung nach einem der Ansprüche 16 bis 20, dadurch gekennzeichnet, daß bei der von den Prozessoren ausgeführten Pegelumsetzung eingegebene Bilddaten gemäß einem vorbestimmten Rechenvorgang umgesetzt werden.
22. Bildverarbeitungseinrichtung, gekennzeichnet durch
eine Unterteilungseinrichtung für das Unterteilen von Bilddaten in eine vorbestimmte Anzahl von Bereichen und
eine Vielzahl von Prozessoren für das Verarbeiten der Bilddaten in den durch die Unterteilung erzielten Bereichen, wobei mit den Prozessoren eine Lagesteuerung der Bilddaten in den Bereichen ausführbar ist.
23. Einrichtung nach Anspruch 22, dadurch gekennzeichnet, daß die Unterteilungseinrichtung eine Einrichtung für das Unterteilen der Bilddaten in Bereiche aus einer Vielzahl benachbarter Bildelemente aufweist.
24. Einrichtung nach Anspruch 23, dadurch gekennzeichnet, daß jeder der Bereiche rechteckig ist.
25. Einrichtung nach Anspruch 22, dadurch gekennzeichnet, daß die Unterteilungseinrichtung eine Einrichtung zum Unterteilen der Bilddaten in Bereiche aus einer Vielzahl nicht benachbarter Bildelemente aufweist.
26. Einrichtung nach Anspruch 25, dadurch gekennzeichnet, daß jeder der Bereiche ein Bereich aus Bildelementen ist, die in vorbestimmten Zwischenabständen angeordnet sind.
27. Einrichtung nach einem der Ansprüche 22 bis 26, dadurch gekennzeichnet, daß den Bilddaten in einem vorbestimmten Bereich eine übereinstimmende Adresse zugeordnet ist und daß die Prozessoren die Lagesteuerung durch Ändern der den Bilddaten eines entsprechenden Bereichs zugeordneten Adresse ausführt.
28. Bildverarbeitungseinrichtung, gekennzeichnet durch
eine Unterteilungseinrichtung (591) zum Unterteilen von Bilddaten in eine vorbestimmte Anzahl von Bereichen und
eine Vielzahl von Prozessoren (592) für das Verarbeiten der Bilddaten in den durch die Unterteilung erzielten Bereichen, wobei mit den Prozessoren eine Komprimierung der Bilddaten in den Bereichen ausführbar ist.
29. Einrichtung nach Anspruch 28, dadurch gekennzeichnet, daß die Unterteilungseinrichtung eine Einrichtung für das Unterteilen der Bilddaten in Bereiche aus einer Vielzahl benachbarter Bildelemente aufweist.
30. Einrichtung nach Anspruch 28, dadurch gekennzeichnet, daß die Unterteilungseinrichtung eine Einrichtung zum Unterteilen der Bilddaten in Bereiche aus einer Vielzahl nicht benachbarter Bildelemente aufweist.
31. Einrichtung nach einem der Ansprüche 28 bis 30, dadurch gekennzeichnet, daß die Prozessoren (592) typische Dichtedaten (571) für einen vorbestimmten Bereich der Bilddaten ausgeben.
32. Einrichtung nach einem der Ansprüche 28 bis 31, dadurch gekennzeichnet, daß die Prozessoren (592) Verteilungsdaten (572) für einen vorbestimmten Bereich der Bilddaten ausgeben.
33. Einrichtung nach einem der Ansprüche 28 bis 32, gekennzeichnet durch einen Bildspeicher (593) zum Speichern der mittels der Prozessoren (592) komprimierten Bilddaten.
34. Bildverarbeitungseinrichtung, gekennzeichnet durch
einen ersten Bildspeicher (560) mit in eine Vielzahl von Bereichen unterteilten Speicherelementen, die voneinander unabhängig adressierbar und abrufbar sind,
eine Prozessoreinheit (562) aus einer den Verarbeitungsergebnissen entsprechenden Vielzahl von Prozessorelementen für das gleichzeitige Verarbeiten einer Vielzahl von Bildelementen aus dem ersten Bildspeicher und das Komprimieren der Bilddaten und
einen zweiten Bildspeicher (564) für das Speichern der Verarbeitungsergebnisse aus der Prozessoreinheit.
35. Einrichtung nach Anspruch 34, dadurch gekennzeichnet, daß die Prozessorelemente jeweils voneinander verschiedene Verarbeitungen ausführen.
36. Einrichtung nach Anspruch 34 oder 35, dadurch gekennzeichnet, daß eines der Prozessorelemente einen Mittelwert aus mehreren Datenposten berechnet.
37. Einrichtung nach einem der Ansprüche 34 bis 36, gekennzeichnet durch eine Wähleinrichtung (564) für das Wählen einiger der Vielzahl gleichzeitig mittels der Vielzahl von Prozessorelementen verarbeiteten Bildelemente.
38. Bildverarbeitungseinrichtung, gekennzeichnet durch
einen Bildspeicher (91), der in eine Vielzahl von Bereichen unterteilt ist, die jeweils unabhängig voneinander adressierbar und abrufbar sind,
eine Prozessoreinheit (92) aus Prozessorelementen in einer Anzahl, die kleiner als die Anzahl der Bereiche ist, für das gleichzeitige Verarbeiten einer Vielzahl von Bildelementen aus dem Bildspeicher und
eine Adressensteuereinrichtung (94) für das Steuern von Adressen entsprechend dem Format einer Verarbeitungsbereichseinheit in dem Bildspeicher.
39. Einrichtung nach Anspruch 38, dadurch gekennzeichnet, daß jeder der Bereiche aus einer Vielzahl benachbarter Bildelemente zusammengesetzt ist.
40. Einrichtung nach Anspruch 38, dadurch gekennzeichnet, daß jeder der Bereiche aus einer Vielzahl nicht benachbarter Bildelemente zusammengesetzt ist.
41. Einrichtung nach einem der Ansprüche 38 bis 40, dadurch gekennzeichnet, daß jedes Prozessorelement (92) eine Einrichtung zum Tauschen von Bildelementdaten mit anderen Prozessorelementen aufweist, wodurch mit den Prozessorelementen ein Bild in dem Bildspeicher versetzbar ist.
42. Einrichtung nach einem der Ansprüche 38 bis 41, dadurch gekennzeichnet, daß jedes Prozessorelement (92) eine Einrichtung für das Umwandeln von Bilddaten aufweist, wodurch mit den Prozessorelementen ein Bild in dem Bildspeicher veränderbar ist.
43. Bildverarbeitungseinrichtung, gekennzeichnet durch
einen ersten Bildspeicher für die kontinuierliche Ausgabe von Bilddaten einer Vielzahl benachbarter Bildelemente in einem vorbestimmten Bereich des ersten Bildspeichers,
eine Wähleinrichtung für das Wählen vorbestimmter Bildelemente aus den von dem ersten Bildspeicher abgegebenen Bilddaten für die Vielzahl der Bildelemente und
eine Prozessoreinheit aus einer den mittels der Wähleinrichtung gewählten Bildelementen entsprechenden Anzahl von Prozessorelementen (2601 bis 2614) für das gleichzeitige Verarbeiten einer Vielzahl von Bildelementen.
44. Einrichtung nach Anspruch 43, gekennzeichnet durch einen zweiten Bildspeicher für das Speichern der Verarbeitungsergebnisse aus den Prozessorelementen.
45. Einrichtung nach Anspruch 43 oder 44, dadurch gekennzeichnet, daß jeder der Bereiche aus einer Vielzahl benachbarter Bildelemente zusammengesetzt ist.
46. Einrichtung nach Anspruch 43 oder 44, dadurch gekennzeichnet, daß jeder der Bereiche aus einer Vielzahl nicht benachbarter Bildelemente zusammengesetzt ist.
47. Einrichtung nach einem der Ansprüche 43 bis 46, dadurch gekennzeichnet, daß der erste Bildspeicher die Bilddaten für jeden einzelnen Bereich ausgibt.
48. Einrichtung nach einem der Ansprüche 43 bis 47, dadurch gekennzeichnet, daß die Prozessorelemente (2601 bis 2614) durch Interpolation von Bildelementen aus mittels der Wähleinrichtung gewählten vorbestimmten Bildelementen Daten berechnen und die Daten ausgeben.
49. Einrichtung nach Anspruch 48, dadurch gekennzeichnet, daß die Prozessorelemente eine Einrichtung für das Multiplizieren von mittels der Wähleinrichtung gewählten vorbestimmten Bildelementdaten mit vorbestimmten Koeffizienten und eine Einrichtung für das Addieren der Ergebnisse aufweisen.
50. Bildverarbeitungseinrichtung, gekennzeichnet durch
eine Bildspeichergruppe (402) mit mehreren Bildspeichern aus jeweils einer Vielzahl von Speicherelementen, die voneinander unabhängig adressierbar und abrufbar sind, wobei die Bildspeicher jeweils Arten von eingegebenen Bildinformationen zugeordnet sind, und
eine Prozessoreinheitengruppe (401) mit mehreren Prozessoreinheiten (412) aus jeweils einer der Anzahl der Speicherelemente entsprechenden Vielzahl von Prozessorelementen, wobei die Prozessoreinheiten jeweils den Bildspeichern entsprechen.
51. Einrichtung nach Anspruch 50, dadurch gekennzeichnet, daß die eingegebenen Bildinformationen Farbbildinformationen sind.
52. Einrichtung nach Anspruch 51, dadurch gekennzeichnet, daß die Farbbildinformationen mehrere Farbkomponenten enthalten.
53. Einrichtung nach Anspruch 52, dadurch gekennzeichnet, daß die Bildspeichergruppe (402) den Farbkomponenten entsprechend ausgebildet ist.
54. Einrichtung nach einem der Ansprüche 50 bis 53, dadurch gekennzeichnet, daß jedes der Prozessorelemente (415 bis 417) eine Dichteumsetzeinrichtung für das Verändern der Dichte der Bildelementdaten aufweist, wodurch die Prozessoreinheit (412) eine Dichteumsetzung eines Bildes ausführt.
55. Einrichtung nach einem der Ansprüche 50 bis 54, dadurch gekennzeichnet, daß jedes der Prozessorelemente (415 bis 417) eine Farbunterscheidungseinrichtung zum Erkennen einer Farbe aus den Bildelementdaten und eine Farbumsetzeinrichtung aufweist, die die Bildelementdaten in eine vorbestimmte Farbe umsetzt, wenn die Farbunterscheidungseinrichtung ermittelt, daß die Bildelementdaten eine vorgewählte Farbe anzeigen, wodurch die Prozessoreinheit (412) eine Farbumsetzung des Bildes ausführt.
56. Einrichtung nach einem der Ansprüche 50 bis 55, dadurch gekennzeichnet, daß jedes der Prozessorelemente (415 bis 417) eine Lageunterscheidungseinrichtung für das Erkennen der Lage in dem Bild aus den eingegebenen Bildelementdaten und eine Datenumsetzeinrichtung aufweist, die die Bildelementdaten in vorgewählte Daten umsetzt, wenn die Lageunterscheidungseinrichtung ermittelt, daß die Lage eine vorgewählte Lage ist, wodurch die Prozessoreinheit (412) ein Maskieren des Bildes ausführt.
57. Bildverarbeitungseinrichtung, gekennzeichnet durch
eine Unterteilungseinrichtung (591) für das Unterteilen von Bilddaten in vorbestimmte Bereiche mit einer vorbestimmten Anzahl von Bildelementen und
eine der Anzahl der Unterteilungen durch die Unterteilungseinrichtung entsprechende Anzahl von Prozessoren (592), von denen jeder eine den Verarbeitungsergebnissen entsprechende Anzahl von Prozessorelementen aufweist.
58. Einrichtung nach Anspruch 57, dadurch gekennzeichnet, daß die Prozessorelemente (592) jeweils voneinander verschiedene Verarbeitungen ausführen.
59. Einrichtung nach Anspruch 57 oder 58, dadurch gekennzeichnet, daß eines der Prozessorelemente Detailinformationen (572) über die Bereiche abgibt und ein anderes der Prozessorelemente typische Dichteinformationen (571) abgibt.
60. Einrichtung zur parallelen Datenverarbeitung, gekennzeichnet durch eine Unterteilungseinrichtung für das Zuführen von in eine Vielzahl von Bereichen unterteilten Daten und eine Vielzahl von Prozessoren für das Verarbeiten der mittels der Unterteilungseinrichtung zugeführten Daten, wobei mindestens einer der Prozessoren ein erstes Prozessorelement für eine vorbestimmte Verarbeitung der unterteilten Daten und ein zweites Prozessorelement für das von der Verarbeitung durch das erste Prozessorelement verschiedene Verarbeiten der unterteilten Daten aufweist.
61. Einrichtung nach Anspruch 60, dadurch gekennzeichnet, daß das erste und das zweite Prozessorelement die Verarbeitung parallel ausführen.
62. Einrichtung nach Anspruch 60 oder 61, dadurch gekennzeichnet, daß die Unterteilungseinrichtung eine Einrichtung für das Zuführen von in eine Vielzahl von Bereichen unterteilten Bilddaten aufweist.
63. Einrichtung nach Anspruch 62, dadurch gekennzeichnet, daß die Unterteilungseinrichtung einen Bildspeicher für das Speichern der Bilddaten aufweist.
64. Einrichtung nach einem der Ansprüche 60 bis 63, dadurch gekennzeichnet, daß in der Vielzahl der Prozessoren die Verarbeitung parallel abläuft.
DE3804938A 1987-02-18 1988-02-17 Bildverarbeitungseinrichtung Expired - Fee Related DE3804938C2 (de)

Priority Applications (1)

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

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
JP62033174A JP2647377B2 (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033178A JP2728663B2 (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033182A JPS63201784A (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033181A JPS63201783A (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033172A JPS63201757A (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033180A JPS63201782A (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 画像処理装置
JP62033177A JPS63201779A (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033171A JP2647375B2 (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033176A JP2647379B2 (ja) 1987-02-18 1987-02-18 画像処理装置
JP62033175A JP2647378B2 (ja) 1987-02-18 1987-02-18 画像処理装置

Publications (2)

Publication Number Publication Date
DE3804938A1 true DE3804938A1 (de) 1988-09-01
DE3804938C2 DE3804938C2 (de) 1994-07-28

Family

ID=27583273

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3804938A Expired - Fee Related DE3804938C2 (de) 1987-02-18 1988-02-17 Bildverarbeitungseinrichtung

Country Status (2)

Country Link
US (2) US5692210A (de)
DE (1) DE3804938C2 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0353090A2 (de) * 1988-07-29 1990-01-31 Canon Kabushiki Kaisha Bildverarbeitungssystem
WO1990016031A1 (en) * 1989-06-21 1990-12-27 Amber Engineering, Inc. Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
DE3936334A1 (de) * 1989-10-30 1991-05-02 Siemens Ag Datentransfer-verfahren
EP0450893A2 (de) * 1990-04-02 1991-10-09 Questech Limited Datenverarbeitungssystem
DE4116870A1 (de) * 1990-05-23 1991-11-28 Fuji Xerox Co Ltd Bildredigiervorrichtung

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317819B1 (en) 1996-01-11 2001-11-13 Steven G. Morton Digital signal processor containing scalar processor and a plurality of vector processors operating from a single instruction
US6226016B1 (en) 1996-02-05 2001-05-01 Seiko Epson Corporation Display apparatus and method capable of rotating an image by 180 degrees
EP0967792B1 (de) * 1998-06-26 2011-08-03 Sony Corporation Drucker mit Bildkorrekturfähigkeit
US6262751B1 (en) 1998-10-26 2001-07-17 Seiko Epson Corporation Hardware rotation of an image on a computer display
JP2000148997A (ja) * 1998-11-13 2000-05-30 Minolta Co Ltd 画像処理装置
US6724497B1 (en) * 1999-02-01 2004-04-20 Ricoh Company, Ltd. Image processing device which can perform a plurality of types of image processing at high speed
WO2001009717A1 (en) * 1999-08-02 2001-02-08 Morton Steven G Video digital signal processor chip
US6961084B1 (en) * 1999-10-07 2005-11-01 Ess Technology, Inc. Programmable image transform processor
JP2001134539A (ja) * 1999-11-01 2001-05-18 Sony Computer Entertainment Inc 面計算機及び面計算機における演算処理方法
JP2001134753A (ja) * 1999-11-08 2001-05-18 Sony Corp 補間処理装置、補間処理方法及び画像表示装置
US6806884B2 (en) * 2001-09-25 2004-10-19 Hewlett-Packard Development Company, L.P. Technique for filling a region of memory using multiple region fill processors
US20040051030A1 (en) * 2002-09-17 2004-03-18 Artur Olszak Method and apparatus for acquiring images from a multiple axis imaging system
US7365743B1 (en) * 2002-10-08 2008-04-29 Adobe Systems Incorporated Assignments for parallel rasterization
JP4261886B2 (ja) * 2002-11-28 2009-04-30 キヤノン株式会社 情報処理装置及び情報処理方法
US20050065263A1 (en) * 2003-09-22 2005-03-24 Chung James Y.J. Polycarbonate composition
US20050285947A1 (en) * 2004-06-21 2005-12-29 Grindstaff Gene A Real-time stabilization
JP4810090B2 (ja) * 2004-12-20 2011-11-09 キヤノン株式会社 データ処理装置
JP4694269B2 (ja) * 2005-06-03 2011-06-08 富士ゼロックス株式会社 画像処理装置、方法及びプログラム
JP4694270B2 (ja) * 2005-06-03 2011-06-08 富士ゼロックス株式会社 画像処理装置、方法及びプログラム
JP4694268B2 (ja) * 2005-06-03 2011-06-08 富士ゼロックス株式会社 画像処理装置、方法及びプログラム
JP4694265B2 (ja) * 2005-06-03 2011-06-08 富士ゼロックス株式会社 画像処理装置、方法及びプログラム
JP4694266B2 (ja) * 2005-06-03 2011-06-08 富士ゼロックス株式会社 画像処理装置、方法及びプログラム
JP4619868B2 (ja) * 2005-06-03 2011-01-26 富士ゼロックス株式会社 画像処理装置、方法及びプログラム
JP4694264B2 (ja) * 2005-06-03 2011-06-08 富士ゼロックス株式会社 画像処理装置、方法及びプログラム
JP4694267B2 (ja) * 2005-06-03 2011-06-08 富士ゼロックス株式会社 画像処理装置、方法及びプログラム
GB2436377B (en) * 2006-03-23 2011-02-23 Cambridge Display Tech Ltd Data processing hardware
JP2007287084A (ja) * 2006-04-20 2007-11-01 Fuji Xerox Co Ltd 画像処理装置及びプログラム
JP2007287085A (ja) * 2006-04-20 2007-11-01 Fuji Xerox Co Ltd 画像処理装置及びプログラム
JP4795138B2 (ja) * 2006-06-29 2011-10-19 富士ゼロックス株式会社 画像処理装置及びプログラム
JP4979287B2 (ja) * 2006-07-14 2012-07-18 富士ゼロックス株式会社 画像処理装置及びプログラム
US20080106603A1 (en) * 2006-10-18 2008-05-08 Southern Vision Systems, Inc. System and method for high-speed image-cued triggering
US20080094476A1 (en) * 2006-10-18 2008-04-24 Southern Vision Systems, Inc. System and Method of High-Speed Image-Cued Triggering
US20080195843A1 (en) * 2007-02-08 2008-08-14 Jaya 3D Llc Method and system for processing a volume visualization dataset
US8156364B2 (en) * 2007-06-12 2012-04-10 International Business Machines Corporation Synchronized parallel processing of rows of data with dependencies by determining start time for processors
US9451142B2 (en) * 2007-11-30 2016-09-20 Cognex Corporation Vision sensors, systems, and methods
US8570393B2 (en) * 2007-11-30 2013-10-29 Cognex Corporation System and method for processing image data relative to a focus of attention within the overall image
US20100097444A1 (en) * 2008-10-16 2010-04-22 Peter Lablans Camera System for Creating an Image From a Plurality of Images
US9189670B2 (en) 2009-02-11 2015-11-17 Cognex Corporation System and method for capturing and detecting symbology features and parameters
KR101673186B1 (ko) * 2010-06-09 2016-11-07 삼성전자주식회사 매크로블록의 연관관계를 고려하여 영상 데이터의 부호화 및 복호화를 병렬 처리하는 장치 및 방법
KR101698797B1 (ko) * 2010-07-27 2017-01-23 삼성전자주식회사 영상 데이터를 분할하여 부호화 및 복호화를 병렬 처리하는 장치 및 상기 장치의 동작 방법
JP2013004036A (ja) * 2011-06-21 2013-01-07 Fuji Xerox Co Ltd 情報処理装置および画像形成装置
US20130027416A1 (en) * 2011-07-25 2013-01-31 Karthikeyan Vaithianathan Gather method and apparatus for media processing accelerators
US9754342B2 (en) * 2014-05-30 2017-09-05 Intel Corporation Method and apparatus for parallel pixel shading
EP2991031A1 (de) * 2014-08-27 2016-03-02 Thomson Licensing Verfahren und Vorrichtung zur beschleunigten, pixelrekursiven Verarbeitung eines Bildsignals

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4209852A (en) * 1974-11-11 1980-06-24 Hyatt Gilbert P Signal processing and memory arrangement
US4060713A (en) * 1971-06-23 1977-11-29 The Perkin-Elmer Corporation Analysis of images
US3800071A (en) * 1972-04-10 1974-03-26 Hazeltine Corp Graphic arts process simultation system
JPS5243326A (en) * 1975-10-02 1977-04-05 Mitsui Eng & Shipbuild Co Ltd Advance processing device of visual information for recognition of pat tern
GB1532275A (en) * 1976-01-28 1978-11-15 Nat Res Dev Apparatus for controlling raster-scan displays
US4174514A (en) * 1976-11-15 1979-11-13 Environmental Research Institute Of Michigan Parallel partitioned serial neighborhood processors
US4135247A (en) * 1977-08-15 1979-01-16 Siemens Aktiengesellschaft Tomography signal processing system
US4380046A (en) * 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
CA1175557A (en) * 1981-06-01 1984-10-02 Akira Hirano Predictive coding system for television signals
JPS588348A (ja) * 1981-07-07 1983-01-18 Sony Corp 出力表示用メモリの制御回路
JPS58181171A (ja) 1982-04-16 1983-10-22 Hitachi Ltd 並列画像処理プロセツサ
US4622632A (en) * 1982-08-18 1986-11-11 Board Of Regents, University Of Washington Data processing system having a pyramidal array of processors
JPS5953964A (ja) 1982-09-22 1984-03-28 Hitachi Ltd 並列画像プロセツサ
FR2539262B1 (fr) * 1983-01-06 1987-06-26 Matra Perfectionnements au codage numerique d'une image, notamment de television
US4739474A (en) * 1983-03-10 1988-04-19 Martin Marietta Corporation Geometric-arithmetic parallel processor
JPS59172064A (ja) 1983-03-18 1984-09-28 Fujitsu Ltd ビデオ・システムにおける並列処理方式
US4602285A (en) * 1983-04-08 1986-07-22 Ampex Corporation System and method for transforming and filtering a video image
JPS6021092A (ja) * 1983-07-15 1985-02-02 株式会社東芝 カラ−インデツクス変換方式
US4620186A (en) * 1983-08-30 1986-10-28 Zenith Electronics Corporation Multi-bit write feature for video RAM
JPS6067989A (ja) * 1983-09-26 1985-04-18 株式会社日立製作所 画像表示装置
US4742552A (en) * 1983-09-27 1988-05-03 The Boeing Company Vector image processing system
JPS60151789A (ja) * 1984-01-19 1985-08-09 Hitachi Ltd 多機能画像処理プロセツサ
JPS60185987A (ja) * 1984-03-05 1985-09-21 御手洗 毅 画像デ−タ圧縮方法
JPS60262253A (ja) * 1984-06-07 1985-12-25 Agency Of Ind Science & Technol メモリデ−タ処理回路
JPS619763A (ja) 1984-06-26 1986-01-17 Agency Of Ind Science & Technol 画像処理方式
JPS6116369A (ja) * 1984-07-03 1986-01-24 Masaki Esashi 画像処理装置
JPS6152074A (ja) * 1984-08-22 1986-03-14 Hitachi Ltd 画像情報の符号化処理方法
JP2502495B2 (ja) * 1984-08-27 1996-05-29 松下電器産業株式会社 画像処理装置
JPS61107475A (ja) * 1984-10-30 1986-05-26 Fuji Xerox Co Ltd 画像拡大縮小装置
DE3538639A1 (de) 1984-10-31 1986-04-30 Canon K.K., Tokio/Tokyo Bildverarbeitungssystem
US4679077A (en) * 1984-11-10 1987-07-07 Matsushita Electric Works, Ltd. Visual Image sensor system
JPS61141264A (ja) 1984-12-14 1986-06-28 Canon Inc 画像処理装置
JPS62988A (ja) * 1985-02-27 1987-01-06 大日本スクリ−ン製造株式会社 画像デ−タの表示方法
JPS61199170A (ja) * 1985-03-01 1986-09-03 Nec Corp グラフイツクス生成装置
JPS61278961A (ja) 1985-06-03 1986-12-09 Nippon Telegr & Teleph Corp <Ntt> デ−タ処理装置
JPS61294970A (ja) * 1985-06-21 1986-12-25 Canon Inc カラ−画像デ−タの復号装置
JPS628664A (ja) * 1985-07-04 1987-01-16 Minolta Camera Co Ltd デ−タ復元回路
JPS6213165A (ja) * 1985-07-11 1987-01-21 Nippon Telegr & Teleph Corp <Ntt> 画信号符号化方式
JPS6232494A (ja) * 1985-08-06 1987-02-12 三洋電機株式会社 グラフイツクデコ−ダ回路
US4791677A (en) * 1985-12-16 1988-12-13 Matsushita Electric Industrial Co., Ltd. Image signal processor
US4665436A (en) * 1985-12-20 1987-05-12 Osborne Joseph A Narrow bandwidth signal transmission
US4851988A (en) * 1986-03-31 1989-07-25 Wang Laboratories, Inc. Loosely-coupled computer system using global identifiers to identify mailboxes and volumes
US4809347A (en) * 1986-07-18 1989-02-28 Hughes Aircraft Company Computer vision architecture
JPS6365787A (ja) 1986-09-05 1988-03-24 Ricoh Co Ltd 擬似内挿dpcm方式による動画像デ−タ圧縮方式
US4773044A (en) * 1986-11-21 1988-09-20 Advanced Micro Devices, Inc Array-word-organized display memory and address generator with time-multiplexed address bus
JPS63201757A (ja) * 1987-02-18 1988-08-19 Canon Inc 画像処理装置
US4985848A (en) * 1987-09-14 1991-01-15 Visual Information Technologies, Inc. High speed image processing system using separate data processor and address generator
US4949389A (en) * 1987-10-09 1990-08-14 The United States Of America As Represented By The United States Department Of Energy Optical ranked-order filtering using threshold decomposition
US4908751A (en) * 1987-10-15 1990-03-13 Smith Harry F Parallel data processor
US5101445A (en) * 1989-03-16 1992-03-31 Unisys Corporation Method and apparatus for filtering digital data by concatenating preprocessed overlapping groups of the data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
J.L. POTTER: "Image Processing on the Massively Parallel Processor" in Computer, Januar 1983, S. 62-67 *
M. KIDODE: "Image Processing Machines in Japan" in Computer, Januar 1983, S.65-80 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0353090A2 (de) * 1988-07-29 1990-01-31 Canon Kabushiki Kaisha Bildverarbeitungssystem
EP0353090A3 (de) * 1988-07-29 1990-09-26 Canon Kabushiki Kaisha Bildverarbeitungssystem
US5714985A (en) * 1988-07-29 1998-02-03 Canon Kabushiki Kaisha Image processing system capable of high-speed and high-resolution image synthesis
WO1990016031A1 (en) * 1989-06-21 1990-12-27 Amber Engineering, Inc. Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing
DE3936334A1 (de) * 1989-10-30 1991-05-02 Siemens Ag Datentransfer-verfahren
EP0450893A2 (de) * 1990-04-02 1991-10-09 Questech Limited Datenverarbeitungssystem
EP0450893A3 (en) * 1990-04-02 1993-03-17 Questech Limited Data processing system
DE4116870A1 (de) * 1990-05-23 1991-11-28 Fuji Xerox Co Ltd Bildredigiervorrichtung

Also Published As

Publication number Publication date
US6477281B2 (en) 2002-11-05
US5692210A (en) 1997-11-25
DE3804938C2 (de) 1994-07-28
US20020067861A1 (en) 2002-06-06

Similar Documents

Publication Publication Date Title
DE3804938A1 (de) Bildverarbeitungseinrichtung
DE3114643C2 (de)
DE69838630T2 (de) Prädiktive Digitalvideosignalkodierung- und Dekodierungsmethode unter Verwendung von Blockinterpolation
DE69333103T2 (de) Vorrichtung zur Umsetzung von digitalen Daten
DE2525155C2 (de) Anordnung zur computergesteuerten Rasterpunktdarstellung von codierter, Liniensegmente bezeichnender Vektorinformation als eine Folge von X/Y Koordinatenwerten
DE69433031T2 (de) Bildprozessor
DE69933496T2 (de) Bildverarbeitungsvorrichtung und -verfahren
DE69937785T2 (de) Verfahren zur Selektion von Farbblockpunkten für die Blockkodierung
DE4231158C2 (de) Verfahren und Einrichtung für die Zusammensetzung und Anzeige von Bildern
DE3687211T2 (de) Verfahren und vorrichtung zur datenuebertragung.
DE3789750T2 (de) Speicher zur Bildtransformation.
DE3629984C2 (de)
DE3141196A1 (de) Videobildverarbeitungsvorrichtung
DE2835689A1 (de) Anordnung zur veraenderung der aufloesung bei der bild-datenerfassung und -uebertragung
DE2636093A1 (de) Vorrichtung zum umsetzen von eingangsdaten in daten mit ausgeglichener haeufigkeitsverteilung ihrer intensitaet
DE2825930A1 (de) Sichtanzeigegeraet mit komprimierter bildwiederholung
DE3222662A1 (de) Verfahren und einrichtung zur linearen interpolation fuer signale in einem speicher
DE3144822A1 (de) Anordnung und verfahren zum speichern und wiedergewinnen von daten in einem ultraschallabtastsystem
DE10261373A1 (de) Apparat und Verfahren für die Umwandlung von Bildelementen von dem YUV-Format zu dem RGB-Format unter Verwendung von Farbumwertetabellen
DE4234985C2 (de) Verfahren zum Transformieren von Farbsignalen und Vorrichtung zur Durchführung des Verfahrens
DE3788925T2 (de) Interpolator für Fernsehtricksystem.
DE3689277T2 (de) Verfahren und vorrichtung zum adaptieren der auflösung von vorlagen.
DE69635368T2 (de) Hochgeschwindigkeitssystem zur Ausrichtung und Verlegung von Schwellenmatrizen während der Erzeugung von binären Halbtonbildern
DE69633716T2 (de) Hochgeschwindigkeitssystem zur Skalierung von Bildern
DE4408522C2 (de) Vorrichtung zur Bilddatenverarbeitung und Verfahren zur Verarbeitung von Bilddaten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8128 New person/name/address of the agent

Representative=s name: TIEDTKE, H., DIPL.-ING. BUEHLING, G., DIPL.-CHEM.

8172 Supplementary division/partition in:

Ref country code: DE

Ref document number: 3844921

Format of ref document f/p: P

Q171 Divided out to:

Ref country code: DE

Ref document number: 3844921

AH Division in

Ref country code: DE

Ref document number: 3844921

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: 3844921

Format of ref document f/p: P

AH Division in

Ref country code: DE

Ref document number: 3844921

Format of ref document f/p: P

8339 Ceased/non-payment of the annual fee