DE102006004489B4 - Method and device for image processing - Google Patents

Method and device for image processing Download PDF

Info

Publication number
DE102006004489B4
DE102006004489B4 DE102006004489A DE102006004489A DE102006004489B4 DE 102006004489 B4 DE102006004489 B4 DE 102006004489B4 DE 102006004489 A DE102006004489 A DE 102006004489A DE 102006004489 A DE102006004489 A DE 102006004489A DE 102006004489 B4 DE102006004489 B4 DE 102006004489B4
Authority
DE
Germany
Prior art keywords
processor elements
vector
image 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.)
Expired - Fee Related
Application number
DE102006004489A
Other languages
German (de)
Other versions
DE102006004489A1 (en
Inventor
Hubert Schorr
Christian Hoefer
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.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to DE102006004489A priority Critical patent/DE102006004489B4/en
Publication of DE102006004489A1 publication Critical patent/DE102006004489A1/en
Application granted granted Critical
Publication of DE102006004489B4 publication Critical patent/DE102006004489B4/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30144Printing quality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

Verfahren zur Bildverarbeitung mit folgenden Schritten:
– Digitalisierung der von einer Bildsignalquelle (1) bereitgestellten Bilddaten,
– Demultiplexieren der digitalisierten Bilddaten,
– Übergabe der demultiplexierten digitalisierten Bilddaten an ein Prozessorarray (4), welches n hintereinander angeordnete Vektoren (4-0, ..., 4-n) aufweist, wobei jeder Vektor mehrere parallel zueinander angeordnete Prozessorelemente (P00, ...P0e; ...; Pn0 ...Pne) aufweist, und
– zeitgleiches Verarbeiten der übergebenen Bilddaten in den Prozessorelementen eines Vektors, wobei in jedem der Prozessorelemente dieses Vektors derselbe Bildverarbeitungsschritt vorgenommen wird, wobei
– ein Befehlssequenzer (14) den Prozessorelementen der Vektoren den Bildverarbeitungsschritten zugehörige Codesegmente zugeführt und wobei
– der Befehlssequenzer (14) von einem Personal-Computer programmiert wird,
dadurch gekennzeichnet, dass
– die in den Prozessorelementen der Vektoren verarbeiteten Bilddaten über eine Eingabe-/Ausgabeeinheit (5) an einen Speicher (6) ausgegeben werden,
– die aus dem Speicher (6) ausgelesenen Signale vom Personal-Computer ausgewertet werden und
– der Personal-Computer in...
Image processing method with the following steps:
Digitizing the image data provided by an image signal source (1),
Demultiplexing the digitized image data,
- Transferring the demultiplexed digitized image data to a processor array (4), which n n consecutively arranged vectors (4-0, ..., 4-n), each vector having a plurality of parallel arranged processor elements (P00, ... P0e; ..; Pn0 ... Pne), and
Simultaneously processing the transferred image data in the processor elements of a vector, wherein in each of the processor elements of this vector the same image processing step is performed, wherein
- An instruction sequencer (14) supplied to the processor elements of the vectors of the image processing steps associated code segments and wherein
The command sequencer (14) is programmed by a personal computer,
characterized in that
The image data processed in the processor elements of the vectors are output via an input / output unit (5) to a memory (6),
- The signals read from the memory (6) are evaluated by the personal computer and
- the personal computer in ...

Figure 00000001
Figure 00000001

Description

Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Bildverarbeitung. Sie kann beispielsweise angewendet werden im Zusammenhang mit der Erkennung von Buchstaben oder Ziffern in einem Adressfeld bei Brief- oder Postsortieranlagen.The The invention relates to a method and an apparatus for image processing. It can be used for example in connection with the Recognition of letters or numbers in an address field in letter or mail sorting equipment.

Aus der DE 195 07 447 A1 sind ein Verfahren und eine Schaltung zum Erfassen und Weiterleiten von Bilddaten in einem Personalcomputer bekannt. Dabei werden die Daten mit Hilfe einer PCI-Framegrabber-Schaltung erfasst und über den PCI-Bus des Personalcomputers im Wesentlichen in Echtzeit in den Hauptspeicher des Personalcomputers und/oder über eine Grafikschaltung an einen Monitor weitergeleitet. In oder vor der Framegrabber-Schaltung wird der 8 Bit breite digitale Bilddatenstrom auf die doppelte Breite von 16 Bits gebracht. Für die Aufnahme und Übertragung des 16 Bit breiten Datenstromes zum PCI-Bus wird ein Standard SCSI-Controller verwendet. Bei der Aufnahme der Daten durch diesen SCSI-Controller wird nur der synchrone Empfangstakt verwendet. Der Vorteil dieser Vorgehensweise wird darin gesehen, dass ein herkömmlicher Personalcomputer mit PCI-Bus für eine Darstellung von Videobildern in Echtzeit mit relativ hoher Auflösung bei vergleichsweise geringem Kostenaufwand verwendet werden kann.From the DE 195 07 447 A1 For example, a method and a circuit for detecting and relaying image data in a personal computer are known. The data is detected by means of a PCI frame grabber circuit and forwarded via the PCI bus of the personal computer substantially in real time in the main memory of the personal computer and / or a graphics circuit to a monitor. In or before the frame grabber circuit, the 8 bit wide digital image data stream is made twice the width of 16 bits. A standard SCSI controller is used to capture and transmit the 16-bit data stream to the PCI bus. When the data is acquired by this SCSI controller, only the synchronous receive clock is used. The advantage of this approach is that a conventional PCI bus personal computer can be used to display real-time video images with relatively high resolution at a relatively low cost.

Aus der Zeitschrift IEEE Journal of Solid-State Circuits, Vol. 34, No. 6, June 1999, Seiten 831–839 ist bereits ein Bildverarbeitungsprozessor bekannt, der eine Echtzeit-Bildverarbeitung durchführt. Wie aus der 2 dieses Artikels hervorgeht, werden bei dem dort beschrie benen Pixel-parallelen Bildverarbeitungssystem die von einem Bildaufnehmer bereitgestellten Bildsignale über einen Analog-Digital-Wandler und einen Formatkonverter an ein Array von Bildverarbeitungselementen weitergegeben. Jedes dieser Bildverarbeitungselemente ist einem Pixel zugeordnet und weist einen Speicher und eine Logik auf. Die vom Array ausgegebenen, verarbeiteten Bildsignale werden über einen Formatkonverter zur weiteren Verwendung ausgegeben. Die Bildverarbeitungselemente empfangen Befehle von einem Controller, der seinerseits von einem Host-Computer gemanagt wird.From the IEEE Journal of Solid State Circuits, Vol. 6, June 1999, pages 831-839, an image processing processor is already known which performs real-time image processing. Like from the 2 According to this article, in the pixel-parallel image processing system described there, the image signals provided by an imager are passed through an analog-to-digital converter and a format converter to an array of image processing elements. Each of these image processing elements is associated with a pixel and has memory and logic. The processed image signals output from the array are output via a format converter for further use. The image processing elements receive commands from a controller, which in turn is managed by a host computer.

Die Aufgabe der Erfindung besteht darin, bei einem Verfahren und einer Vorrichtung zur Bildverarbeitung die Vorgabe der Bildbearbeitungsschritte zu verbessern.The The object of the invention is in a method and a Device for image processing, the specification of the image processing steps to improve.

Diese Aufgabe wird durch ein Verfahren mit den im Anspruch 1 sowie durch eine Vorrichtung mit den im Anspruch 12 angegebenen Merkmalen gelöst. Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.These The object is achieved by a method with the in claim 1 and by a device having the features specified in claim 12. advantageous Refinements and developments of the invention will become apparent the dependent Claims.

Die Vorteile der Erfindung bestehen insbesondere darin, dass die Verarbeitung der Eingangsbilddaten sehr schnell erfolgt, da die Eingangsbilddaten auf mehrere parallele Prozessorelemente eines Vektors eines Prozessorarrays aufgeteilt werden, wobei in diesen parallelen Prozessorelementen jeweils derselbe Bildverarbeitungsschritt zeitgleich vorgenommen wird. Danach werden die verarbeiteten Bilddaten den parallelen Prozessorelementen eines zweiten, nachgeschalteten Vektors des Prozessorarrays zugeführt. Auch in diesen Prozessorelementen des zweiten Vektors wird jeweils derselbe Bildverarbeitungsschritt vorgenommen, der im Allgemeinen von dem Bildverarbeitungsschritt in den Prozessorelementen des ersten Vektors verschieden ist.The Advantages of the invention are in particular that the processing the input image data is very fast because the input image data to a plurality of parallel processor elements of a vector of a processor array in which these parallel processor elements each time the same image processing step made at the same time becomes. Thereafter, the processed image data becomes the parallel processor elements a second, downstream vector of the processor array supplied. Also in each of these processor elements of the second vector becomes the same Image processing step, which is generally of the Image processing step in the processor elements of the first vector is different.

Danach werden die verarbeiteten Bilddaten solange an die Prozessorelemente eines jeweils nachgeschalteten Vektors des Prozessorarrays weitergeleitet und verarbeitet, bis die Prozessorelemente des n-ten Vektors des Prozessorarrays durchlaufen sind. Die Ausgangssignale der Prozessorelemente des n-ten Vektors werden vorzugsweise über eine Ein-/Ausgabeeinheit, einen Speicher und ein PCI-Bus-Interface an den PCI-Bus einen nachgeschalteten Computers weitergeleitet und dort in jeweils gewünschter Weise verwendet.After that the processed image data are sent to the processor elements a respective downstream vector of the processor array forwarded and process until the processor elements of the nth vector of the Processor arrays are traversed. The output signals of the processor elements of the nth vector are preferably via an input / output unit, a memory and a PCI bus interface forwarded to the PCI bus a downstream computer and there in each desired Used way.

Vorzugsweise können auch Bildverarbeitungsdaten, die am Ausgang des ersten, zweiten oder dritten Vektors zur Verfügung stehen, als Zwischenergebnisse in den Speicher übertragen und beispielsweise im Sinne einer Überprüfung und Weiterleitung der Zwischenergebnisse ausgewertet werden.Preferably can also image processing data, which at the output of the first, second or third vector available stand, transferred as intermediate results in memory and, for example in the sense of a review and Forwarding of interim results are evaluated.

Ein Vorteil der im Anspruch 4 angegebenen Merkmale besteht darin, dass im Speicher abgespeicherte Daten von den Prozessorelementen des Arrays abgerufen werden können, so dass Daten, die ein Vektor in den Speicher geschrieben hat, von jedem beliebigen Vektor gelesen werden können, ohne dass diese Daten in vertikaler Richtung von einem Vektor über den nächsten bis zum Zielvektor durchgereicht werden müssen.One Advantage of the features specified in claim 4 is that stored in memory data from the processor elements of Arrays can be retrieved so that data that a vector has written to memory from any vector can be read without this data in vertical direction passed from a vector over the next to the target vector Need to become.

Die Vorteile der Merkmale des Anspruchs 5 bestehen darin, dass die Bildverarbeitungsschritte, denen die demultiplexierten digitalisierten Bilddaten unterworfen werden, bei Bedarf schnell und flexibel geändert werden können. Insbesondere kann eine geänderte Auswahl an Bildverarbeitungsschritten erfolgen, eine geänderte Anzahl an Bildverarbeitungsschritten gewählt werden oder eine Änderung der Reihenfolge der Bildverarbeitungsschritte erfolgen.The advantages of the features of claim 5 are that the image processing steps to which the demultiplexed digitized image data is subjected can be changed quickly and flexibly as needed. In particular, a changed selection of image processing steps can take place, a ge changed number of image processing steps are selected or change the order of the image processing steps done.

Weitere vorteilhafte Eigenschaften der Erfindung ergeben sich aus deren nachfolgender Erläuterung anhand der Figuren. Es zeigtFurther advantageous properties of the invention will become apparent from the following explanation the figures. It shows

1 eine Blockdarstellung zur Erläuterung eines ersten Ausführungsbeispiels für die Erfindung, 1 a block diagram for explaining a first embodiment of the invention,

2 eine detailliertere Blockdarstellung der Analog/Digital-Wandler-Einheit 2 von 1, 2 a more detailed block diagram of the analog / digital converter unit 2 from 1 .

3 eine detailliertere Blockdarstellung zur Erläuterung eines zweiten Ausführungsbeispiels für die Erfindung, 3 a more detailed block diagram for explaining a second embodiment of the invention,

4 eine Blockdarstellung zur Erläuterung eines dritten Ausführungsbeispiels für die Erfindung und 4 a block diagram for explaining a third embodiment of the invention and

5 Skizzen zur Erläuterung der Arbeitsweise der Erfindung. 5 Sketches for explaining the operation of the invention.

Die 1 zeigt eine Blockdarstellung zur Erläuterung eines ersten Ausführungsbeispiels für die Erfindung.The 1 shows a block diagram for explaining a first embodiment of the invention.

Von einer Bildsignalquelle 1, bei der es sich um eine Kamera handeln kann, werden Bilddaten bereitgestellt und einem Chip 8 zugeführt. Dort gelangen die Bilddaten an eine Analog/Digital-Wandler-Einheit 2, in welcher die von der Bildsignalquelle 1 bereitgestellten Bilddaten digitalisiert werden.From an image signal source 1 , which may be a camera, provides image data and a chip 8th fed. There, the image data to an analog / digital converter unit 2 in which the from the image signal source 1 provided image data are digitized.

Die von der Analog/Digital-Wandler-Einheit 2 digitalisierten Bilddaten werden einem Demultiplexer 3 zugeführt und in diesem demultiplexiert. Der Demultiplexer 3 weist ausgangsseitig e parallele Signalverbindungen 10, ..., 1e auf, an welchen die demultiplexierten digitalisierten Bilddaten bereitgestellt werden.The from the analog / digital converter unit 2 digitized image data becomes a demultiplexer 3 supplied and demultiplexed in this. The demultiplexer 3 has on the output side e parallel signal connections 10 , ..., 1e on which the demultiplexed digitized image data is provided.

Die an den Ausgängen des Demultiplexers 3 bereitgestellten digitalisierten Bilddaten werden entweder zeitlich aufeinanderfolgend oder zeitgleich einem Prozessorarray 4 zugeführt. Dieses Prozessorarray 4 weist n hintereinander angeordnete Vektoren 4-0, ..., 4-n auf. Jeder dieser Vektoren enthält e parallel zueinander angeordnete Prozessorelemente. So weist beispielsweise der Vektor 4-0 Prozessorelemente P00, ..., P0e und der Vektor 4-n Prozessorelemente Pn0, ..., Pne auf. Die Prozessorelemente eines Vektors sind jeweils dazu vorgesehen, die ihnen zugeführten Bilddaten, die unterschiedlich sind, zeitgleich zu verarbeiten. Bei dieser Verarbeitung führt jedes der Prozessorelemente eines Vektors bezüglich der ihm zugeführten Bilddaten ein und denselben Bildverarbeitungsschritt durch. Dieser Bildverarbeitungsschritt ist durch ein Codesegment definiert, welches – wie noch unten anhand der 3 erläutert wird – in einem Programmcodespeicher abgespeichert ist und den Prozessorelementen von einem Befehlssequenzer zugeführt wird, der die Codesegmente aus dem Programmcodespeicher ausliest und an die Prozessorelemente weiterleitet.The at the outputs of the demultiplexer 3 provided digitized image data either temporally successive or at the same time a processor array 4 fed. This processor array 4 has n consecutively arranged vectors 4-0 , ..., 4-n on. Each of these vectors contains e parallel processor elements. For example, the vector points 4-0 Processor elements P00, ..., P0e and the vector 4-n Processor elements Pn0, ..., Pne on. The processor elements of a vector are each provided to process the image data supplied to them, which are different, at the same time. In this processing, each of the processor elements of a vector performs the same image processing step on the image data supplied thereto. This image processing step is defined by a code segment, which - as below on the basis of 3 is explained - stored in a program code memory and the processor elements is supplied from an instruction sequencer, which reads the code segments from the program code memory and forwards to the processor elements.

Bei dem in der 1 gezeigten Ausführungsbeispiel werden die vom Demultiplexer 3 bereitgestellten digitalisierten Bilddaten über die Signalverbindungen 10, ..., 1e den parallel zueinander angeordneten Prozessorelementen P00, ..., P0e des ersten Vektors 4-0 des Prozessorarrays 4 übergeben. In diesen Prozessorelementen des ersten Vektors wird bezüglich der jeweils übergebenen Bilddaten, die voneinander verschieden sind, zeitgleich derselbe erste Bildverarbeitungsschritt vorgenommen. Die von den Prozessorelementen des ersten Vektors 4-0 verarbeiteten Bilddaten werden an die ebenfalls parallel zueinander angeordneten Prozessorelemente P10, ..., P1e des zweiten Vektors 4-1 des Prozessorarrays 4 weitergegeben. In diesen Prozessorelementen des zweiten Vektors wird bezüglich der jeweils weitergegebenen Bilddaten zeitgleich derselbe zweite Bildverarbeitungsschritt vorgenommen.In the in the 1 The embodiment shown by the demultiplexer 3 provided digitized image data via the signal connections 10 , ..., 1e the mutually parallel processor elements P00, ..., P0e of the first vector 4-0 of the processor array 4 to hand over. In these processor elements of the first vector, the same first image processing step is performed at the same time with respect to the respectively transferred image data, which are different from one another. That of the processor elements of the first vector 4-0 processed image data are applied to the likewise parallel to each other arranged processor elements P10, ..., P1e of the second vector 4-1 of the processor array 4 passed. In these processor elements of the second vector, the same second image processing step is carried out simultaneously with respect to the respectively transmitted image data.

Danach erfolgt eine aufeinanderfolgende Weitergabe der in den Prozessorelementen des zweiten Vektors verarbeiteten Bilddaten an die Prozessorelemente eines jeweils nachfolgenden Vektors, wobei in jedem der Prozessorelemente des jeweils nachfolgenden Vektors derselbe Bildverarbeitungsschritt bezüglich der jeweils übergebenen Bilddaten vorgenommen wird. Dies gescheht solange, bis die Bilddaten von den Prozessorelementen Pn0, ..., Pne des n-ten Vektors 4-n des Prozessorarrays 4 verarbeitet wurden. Die in den Prozessorelementen des n-ten Vektors 4-n verarbeiteten Bilddaten werden vom Prozessorarray 4 ausgegeben.Thereafter, the image data processed in the processor elements of the second vector are successively passed on to the processor elements of a respective subsequent vector, wherein the same image processing step is performed in each of the processor elements of the respective subsequent vector with respect to the respectively transferred image data. This continues until the image data from the processor elements Pn0, ..., Pne of the nth vector 4-n of the processor array 4 were processed. Those in the processor elements of the nth vector 4-n processed image data is from the processor array 4 output.

Diese Ausgabe erfolgt bei dem in der 1 gezeigten Ausführungsbeispiel an eine Eingabe/Ausgabeeinheit 5, über welche die verarbeiteten Bilddaten an einen Speicher 6 weitergeleitet werden. Von dort aus werden die verarbeiteten Bilddaten an ein PCI-Bus-Interface 7 ausgelesen und von diesem aus an den PCI-Bus 9 eines Personalcomputers weitergeleitet, in welchem die Daten in jeweils gewünschter Weise umgesetzt werden.This edition takes place at the 1 shown embodiment of an input / output unit 5 over which the processed image data to a memory 6 to get redirected. From there, the processed image data is sent to a PCI bus interface 7 read out and from this to the PCI bus 9 forwarded to a personal computer in which the data is implemented in any desired manner.

Die 2 zeigt eine detailliertere Blockdarstellung der Analog/Digital-Wandler-Einheit 2 von 1. Gemäß dem dargestellten Ausführungsbeispiel weist die Analog/Digital-Wandler-Einheit 2 ein Videofilter 10 auf, dem die von der Bildsignalquelle bereitgestellten Bilddaten zugeführt werden. Bei diesem Videofilter handelt es sich um ein Filter zur Reduzierung des im Eingangssignal enthaltenen Rauschens.The 2 shows a more detailed block diagram of the analog-to-digital converter unit 2 from 1 , According to the illustrated embodiment, the analog / digital converter unit 2 a video filter 10 on which the image data provided by the image signal source is supplied. This video filter is a filter to reduce the noise in the input signal.

Die Ausgangssignale des Videofilters 10 werden einem Analog/Digital-Wandler 11 zugeführt, bei dem es sich beispielsweise um einen 32-Bit-ADC handelt. Dessen Ausgangssignale werden an eine Lookup-Table 12 weitergeleitet, durch welche gewünschte Effekte hervorgerufen werden können, beispielsweise eine Hervorhebung von Kanten im Bild. Die von der Lookup-Table 12 ausgegebenen Daten werden ei nem Zeilen-FIFO 13 zugeführt, dessen Ausgangssignale an den in der 2 nicht gezeigten Demultiplexer 3 weitergeleitet werden.The output signals of the video filter 10 become an analog / digital converter 11 supplied, which is for example a 32-bit ADC. Its output signals are sent to a lookup table 12 passed through which desired effects can be caused, for example, an emphasis of edges in the image. The of the lookup table 12 data output is a line FIFO 13 supplied, whose output signals to those in the 2 not shown demultiplexer 3 to get redirected.

Die 3 zeigt eine detailliertere Blockdarstellung zur Erläuterung eines zweiten Ausführungsbeispiels für die Erfindung. Auch bei diesem Ausführungsbeispiel werden von einer Bildsignalquelle 1 Bilddaten bereitgestellt und über eine Analog/Digital-Wandler-Einheit 2 an einen Demultiplexer 3 weitergeleitet. Dieser weist ausgangsseitig fünf parallele Signalverbindungen 10, 11, 12, 13 und 14 auf, an welche die demultiplexierten digitalisierten Bilddaten ausgegeben werden.The 3 shows a more detailed block diagram for explaining a second embodiment of the invention. Also in this embodiment are from an image signal source 1 Image data provided and via an analog / digital converter unit 2 to a demultiplexer 3 forwarded. This has five parallel signal connections on the output side 10 . 11 . 12 . 13 and 14 to which the demultiplexed digitized image data is output.

Weiterhin ist der Demultiplexer 3 über eine Signalverbindung 1x mit einer Eingabe/Ausgabe-Einheit 5 verbunden. Ferner werden dem Demultiplexer 3 über eine Steuerverbindung 17 Steuersignale zugeführt, die von einem Befehlssequenzer 14 generiert werden.Furthermore, the demultiplexer 3 via a signal connection 1x with an input / output unit 5 connected. Further, the demultiplexer 3 via a control connection 17 Control signals supplied by a command sequencer 14 to be generated.

Die an den Ausgängen des Demultiplexers 3 bereitgestellten digitalisierten Bilddaten werden entweder zeitlich aufeinanderfolgend oder zeitgleich einem Prozessorarray 4 zugeführt. Dieses Prozessorarray 4 weist vier hintereinander angeordnete Vektoren 4-0, 4-1, 4-2 und 4-3 auf. Jeder dieser Vektoren enthält fünf parallel zueinander angeordnete Prozessorelemente. So weist der Vektor 4-0 Prozessorelemente P00, P01, P02, P03 und P04 auf. Dem Vektor 4-1 gehören Prozessorelemente P10, P11, P12, P13 und P14 an. Der Vektor 4-2 hat Prozessorelemente P20, P21, P22, P23 und P24. Der Vektor 4-3 weist Prozessorelemente P30, P31, P32, P33 und P34 auf. Die Prozessorelemente eines Vektors sind jeweils dazu vorgesehen, die ihnen zugeführten Bilddaten, die unterschiedlich sind, zeitgleich zu verarbeiten. Bei dieser Verarbeitung führt jedes der Prozessorelemente eines Vektors bezüglich der ihm zugeführten Bilddaten denselben Bildverarbeitungsschritt durch. Die Prozessorelemente eines anderen Vektors führen bezüg lich der ihnen zugeführten Bilddaten ebenfalls denselben Bearbeitungsschritt durch, der im Allgemeinen jedoch vom Bildverarbeitungsschritt, der von den Prozessorelementen des erstgenannten Vektors durchgeführt wird, verschieden ist.The at the outputs of the demultiplexer 3 provided digitized image data either temporally successive or at the same time a processor array 4 fed. This processor array 4 has four vectors arranged one behind the other 4-0 . 4-1 . 4-2 and 4-3 on. Each of these vectors contains five parallel processor elements. This is how the vector points 4-0 Processor elements P00, P01, P02, P03 and P04. The vector 4-1 include processor elements P10, P11, P12, P13 and P14. The vector 4-2 has processor elements P20, P21, P22, P23 and P24. The vector 4-3 has processor elements P30, P31, P32, P33 and P34. The processor elements of a vector are each provided to process the image data supplied to them, which are different, at the same time. In this processing, each of the processor elements of a vector performs the same image processing step with respect to the image data supplied thereto. The processor elements of another vector also carry out the same processing step with respect to the image data supplied to them, but are generally different from the image processing step performed by the processor elements of the former vector.

Die Bildverarbeitungsschritte sind durch Codesegmente definiert, welche in einem Programmcodespeicher 15 abgespeichert sind. Dieser Programmcodespeicher 15 weist Speicherbereiche 15a, 15b, 15c und 15d auf. Im Speicherbereich 15a ist ein Codesegment 1 abgespeichert, welches den ersten Signalverarbeitungsschritt definierende Daten enthält. Im Speicherbereich 15b ist ein Codesegment 2 abgespeichert, welches den zweiten Signalverarbeitungsschritt definierende Daten enthält. Im Speicherbereich 15c ist ein Codesegment 3 abgespeichert, welches den dritten Signalverarbeitungsschritt definierende Daten enthält. Im Speicherbereich 15d ist ein Codesegment abgespeichert, welches den vierten Signalverarbeitungsschritt definierende Daten enthält.The image processing steps are defined by code segments stored in a program code memory 15 are stored. This program code memory 15 has storage areas 15a . 15b . 15c and 15d on. In the storage area 15a is a code segment 1 stored, which contains the first signal processing step defining data. In the storage area 15b is a code segment 2 stored containing data defining the second signal processing step. In the storage area 15c is a code segment 3 stored, which contains the third signal processing step defining data. In the storage area 15d a code segment is stored which contains data defining the fourth signal processing step.

Die im Programmcodespeicher 15 abgespeicherten Codesegmente werden, sobald sie benötigt werden, vom Befehlssequenzer 14 aus dem jeweiligen Speicherbereich ausgelesen und über einen Bus CMD zeitgleich an die Prozessorelemente des jeweiligen Vektors übertragen.The in the program code memory 15 stored code segments are, as needed, from the command sequencer 14 read from the respective memory area and transmitted via a bus CMD at the same time to the processor elements of the respective vector.

So gelangen die dem Codesegment 1 entsprechenden Daten zeitgleich an die zueinander parallel angeordneten Prozessorelemente P00, P01, P02, P03 und P04 des ersten Vektors 4-0. Diese Prozessorelemente führen daraufhin zeitgleich bezüglich der ihnen zugeführten Bilddaten jeweils denselben ersten Bildverarbeitungsschritt durch, der durch die Daten des Codesegmentes 1 definiert ist. Danach werden die von den Prozessorelementen des ersten Vektors 4-0 verarbeiteten Daten an die Prozessorelemente des zweiten Vektors 4-1 weitergegeben.This will get you to the code segment 1 corresponding data at the same time to the mutually parallel processor elements P00, P01, P02, P03 and P04 of the first vector 4-0 , These processor elements then simultaneously carry out the same first image processing step with respect to the image data supplied to them, which is performed by the data of the code segment 1 is defined. Thereafter, those of the processor elements of the first vector 4-0 processed data to the processor elements of the second vector 4-1 passed.

Die dem Codesegment 2 entsprechenden Daten gelangen ebenfalls zeitgleich an die zueinander parallel angeordneten Prozessorelemente P10, P11, P12, P13 und P14 des zweiten Vektors 4-1. Diese Prozessorelemente führen daraufhin zeitgleich bezüglich der ihnen zugeführten Bilddaten jeweils denselben Bildverarbeitungsschritt durch, welcher durch die Daten des Codesegmentes 2 definiert ist. Danach werden die von den Prozessorelementen des zweiten Vektors 4-1 verarbeiteten Daten an die Prozessorelemente des dritten Vektors 4-2 weitergegeben.The the code segment 2 Corresponding data also arrive at the same time at the mutually parallel processor elements P10, P11, P12, P13 and P14 of the second vector 4-1 , This process At the same time, with respect to the image data supplied to them, the sensor elements each carry out the same image processing step, which is performed by the data of the code segment 2 is defined. Thereafter, those of the processor elements of the second vector 4-1 processed data to the processor elements of the third vector 4-2 passed.

Die dem Codesegment 3 entsprechenden Daten gelangen ebenfalls zeitgleich an die zueinander parallel angeordneten Prozessorelemente P20, P21, P22, P23 und P24 des dritten Vektors 4-2. Diese Prozessorelemente führen daraufhin zeitgleich bezüglich der ihnen zugeführten Bilddaten jeweils denselben Bildverarbeitungsschritt durch, welcher durch die Daten des Codesegmentes 3 definiert ist. Danach werden die von den Prozessorelementen des dritten Vektors 4-2 verarbeiteten Daten an die Prozessorelemente des vierten Vektors 4-3 weitergegeben.The the code segment 3 corresponding data also arrive at the same time to the mutually parallel processor elements P20, P21, P22, P23 and P24 of the third vector 4-2 , These processor elements then simultaneously carry out the same image processing step with respect to the image data supplied to them, which is performed by the data of the code segment 3 is defined. Thereafter, those of the processor elements of the third vector 4-2 processed data to the processor elements of the fourth vector 4-3 passed.

Die dem Codesegment 4 entsprechenden Daten werden ebenfalls zeitgleich an die zueinander parallel angeordneten Prozessorelemente P30, P31, P32, P33 und P34 des vierten Vektors 4-3 angelegt. Diese Prozessorelemente führen daraufhin zeitgleich bezüglich der ihnen zugeführten Bilddaten jeweils denselben Bildverarbeitungsschritt durch, welcher durch die Daten des Codesegmentes 4 definiert ist. Danach werden die von den Prozessorelementen des vierten Vektors 4-3 verarbeiteten Daten ausgegeben und über einen Eingabe/Ausgabe-Bus IO und die Eingabe/Ausgabe-Einheit 5 in den Speicher 6 eingelesen. Von dort aus werden die verarbeiteten Bilddaten an ein PCI-Bus-Interface 7 ausgelesen und von diesem aus an den PCI-Bus eines Personalcomputers weitergeleitet, in welchem die Daten in jeweils gewünschter Weise umgesetzt werden.The the code segment 4 corresponding data are also simultaneously to the mutually parallel processor elements P30, P31, P32, P33 and P34 of the fourth vector 4-3 created. These processor elements then simultaneously carry out the same image processing step with respect to the image data supplied to them, which is performed by the data of the code segment 4 is defined. Thereafter, those of the processor elements of the fourth vector 4-3 processed data and output via an input / output bus IO and the input / output unit 5 in the store 6 read. From there, the processed image data is sent to a PCI bus interface 7 read out and forwarded from this to the PCI bus of a personal computer, in which the data is implemented in any desired manner.

Weiterhin ist bei dem in der 3 gezeigten Ausführungsbeispiel eine Kommunikation zwischen den Prozessoreinheiten des Prozessorarrays 4 vorgesehen. Diese Kommunikation, die sowohl zwischen den Prozessorelementen eines Vektors erfolgen kann als auch zwischen den Prozessorelementen verschiedener Vektoren, erfolgt über einen Bus IPC. Diese Kommunikation zwischen den Prozessorelementen des Prozessorarrays erfolgt beispielsweise zum Zwecke einer Aufsummierung von Einzelergebnissen, die von den Prozessorelementen des jeweiligen Vektors berechnet wurden.Furthermore, in the in the 3 shown embodiment, a communication between the processor units of the processor array 4 intended. This communication, which can take place both between the processor elements of a vector and between the processor elements of different vectors, takes place via a bus IPC. This communication between the processor elements of the processor array is carried out, for example, for the purpose of summing up individual results which were calculated by the processor elements of the respective vector.

Ferner ist bei dem in der 3 gezeigten Ausführungsbeispiel der Ausgang jedes einzelnen Prozessors über den Eingabe/Ausgabe-Bus IO und das Ausgabe/Ausgabe-Einheit 5 mit dem Speicher 6 verbunden. Dies erlaubt ein Abspeichern von Zwischenergebnissen im Speicher 6 und auch eine Auswertung der im Rahmen der einzelnen Bildverarbeitungsschritte erhaltenen Ergebnisse. Bei dieser Auswertung kann beispielsweise vom PC ermittelt werden, ob es notwendig ist, für den folgenden Bildverarbeitungsschritt eines Vektors ein neues Codesegment für diesen Vektor in den Programmspeicher zu laden oder Parameter für die jeweiligen Bildverarbeitungsschritte zu modifizieren.Furthermore, in the in 3 In the embodiment shown, the output of each individual processor is via the input / output bus IO and the output / output unit 5 with the memory 6 connected. This allows a saving of intermediate results in the memory 6 and also an evaluation of the results obtained in the context of the individual image processing steps. In this evaluation, for example, it can be determined by the PC whether it is necessary to load a new code segment for this vector into the program memory or to modify parameters for the respective image processing steps for the following image processing step of a vector.

Über die Signalverbindung 1x und die Eingabe/Ausgabe-Einheit 5 können im Demultiplexer 3 vorliegende Bilddaten unter Umgehung der Prozessorelemente des ersten Vektors 4-0 den Prozessorelementen eines oder mehrerer der nachfolgenden Vektoren 4-1, 4-2 und 4-3 zugeführt und dort in jeweils gewünschter Weise verarbeitet werden. Die dazu notwendigen Steuerbefehle erhält der Multiplexer 3 über die Steuerverbindung 17 vom Befehlssequenzer 14.Via the signal connection 1x and the input / output unit 5 can be in the demultiplexer 3 present image data, bypassing the processor elements of the first vector 4-0 the processor elements of one or more of the following vectors 4-1 . 4-2 and 4-3 fed and processed there in any desired manner. The necessary control commands are given to the multiplexer 3 over the control connection 17 from the command sequencer 14 ,

Der Befehlssequenzer 14 steuert nicht nur den Multiplexer 3 und die zeitrichtige Weitergabe der den Codesegmenten entsprechenden Daten an die Prozessorelemente, sondern stellt den Prozessorelementen über den Bus CMD auch Frei gabesignale und Taktsignale zur Verfügung, so dass die Prozessorelemente des Prozessorarrays in gewünschter Weise arbeiten.The command sequencer 14 not only controls the multiplexer 3 and the time-correct transfer of the code segments corresponding data to the processor elements, but also provides the processor elements via the bus CMD free gabesignale and clock signals, so that the processor elements of the processor array work in the desired manner.

Vorzugsweise ist der Befehlssequenzer 14 vom Personalcomputer aus über den PCI-Bus 9 und das PCI-Bus-Interface 7 programmierbar. Auf diese Weise ist es schnell und einfach möglich, die Signalverarbeitungsschritte, denen die von der Bildsignalquelle 1 bereitgestellten Bildsignale unterworfen werden, zu verändern. Insbesondere kann dabei die Reihenfolge der Signalverarbeitungsschritte umprogrammiert werden, Signalverarbeitungsschritte weggelassen werden, andere Signalverarbeitungsschritte ausgewählt werden, usw.. Um dies zu vereinfachen, ist vorzugsweise eine Vielzahl von Signalverarbeitungsschritte definierenden Codesegmenten im Programmcodespeicher 15 abgespeichert, aus denen die jeweils gewünschten Codesegmente ausgewählt werden.Preferably, the instruction sequencer 14 from the personal computer via the PCI bus 9 and the PCI bus interface 7 programmable. In this way, it is quickly and easily possible, the signal processing steps, that of the image signal source 1 provided image signals are subjected to change. In particular, the order of the signal processing steps may be reprogrammed, signal processing steps omitted, other signal processing steps selected, etc. To simplify this, preferably a plurality of signal processing steps defining code segments in the program code memory 15 stored, from which the respectively desired code segments are selected.

Eine vorteilhafte Weiterbildung besteht darin, unter Verwendung des Personalcomputers über den PCI-Bus 9 und das PCI-Bus-Interface 7 neue, zusätzliche Codesegmente in den Programmcodespeicher 15 einzuschreiben, im Programmcodespeicher abgespeicherte Codesegmente zu modifizieren oder im Programmcodespeicher abgespeicherte Codesegmente zu löschen bzw. durch andere zu ersetzen.An advantageous development is, using the personal computer via the PCI bus 9 and the PCI bus interface 7 new, additional code segments into the program code memory 15 to write code segments to be stored in the program code memory or to delete code segments stored in the program code memory or to replace them with others.

Eine andere vorteilhafte Weiterbildung besteht darin, mittels des Personalcomputers über den PCI-Bus 9 und das PCI-Bus-Interface 7 Daten in den Speicher 6 einzuschreiben oder dort abgespeicherte Daten zu modifizieren. Auf diese Daten kann über die Eingabe/Ausgabe-Einheit 5 von den Prozessorelementen des Prozessorarrays zugegriffen werden, beispielsweise um eine Entscheidung zu treffen, ob die Bildverarbeitungsschritte aufgrund eines bestimmten Ereignisses abgebrochen werden sollen.Another advantageous development is by means of the personal computer via the PCI bus 9 and the PCI bus interface 7 Data in the memory 6 to write or modify data stored there. This data can be accessed through the input / output unit 5 from the processor elements of the processor array, for example, to make a decision as to whether the image processing steps should be aborted due to a particular event.

Auch bei dem in der 3 gezeigten Ausführungsbeispiel sind die Bauteile 2, 3, 4, 5, 6, 7, 14 und 15 vorzugsweise Bestandteile ein und desselben Chips.Also in the in the 3 embodiment shown are the components 2 . 3 . 4 . 5 . 6 . 7 . 14 and 15 preferably components of one and the same chip.

Die 4 zeigt eine Blockdarstellung zur Erläuterung eines dritten Ausführungsbeispiels für die Erfindung. Gemäß diesem dritten Ausführungsbeispiel sind jeweils zwei Vektoren zu einem zweidimensionalen Vektor bzw. einem Vektorarray zusammengefasst. So sind die Prozessorelemente P00, P01, P02, P03 und P04 des ersten Vektors und die Prozessorelemente P10, P11, P12, P13 und P14 zu einem zweidimensionalen Vektor 16a zusammengefasst, während die Prozessorelemente P20, P21, P22, P23 und P24 mit den Prozessorelementen P30, P31, P32, P33 und P34 zu einem zweidimensionalen Vektor 16b zusammengefasst sind. Den Prozessorelementen des ersten zweidimensionalen Vektors 16a werden aus dem Speicherbereich 15a des Programmcodespeichers 15 über den Befehlssequenzer 14 Daten zugeführt, die einem Codesegment 1 entsprechen. Den Prozessorelementen des zweiten zweidimensionalen Vektors 16b werden aus dem Speicherbereich 15b des Programmcodespeichers 15 über den Befehlssequenzer 14 Daten zugeführt, die einem Codesegment 2 entsprechen.The 4 shows a block diagram for explaining a third embodiment of the invention. According to this third exemplary embodiment, in each case two vectors are combined to form a two-dimensional vector or a vector array. Thus, the processor elements P00, P01, P02, P03 and P04 of the first vector and the processor elements P10, P11, P12, P13 and P14 are a two-dimensional vector 16a while the processor elements P20, P21, P22, P23 and P24 with the processor elements P30, P31, P32, P33 and P34 become a two-dimensional vector 16b are summarized. The processor elements of the first two-dimensional vector 16a be out of the memory area 15a the program code memory 15 via the command sequencer 14 Data is fed to a code segment 1 correspond. The processor elements of the second two-dimensional vector 16b be out of the memory area 15b the program code memory 15 via the command sequencer 14 Data is fed to a code segment 2 correspond.

Alternativ zu dem in der 4 gezeigten Ausführungsbeispiel können auch drei oder vier oder eine andere Anzahl von Vektoren zu einem mehrdimensionalen Vektor zusammengefasst werden, so dass die Prozessorelemente von drei, vier oder einer anderen Anzahl von Vektoren Signalverarbeitungsschritte gemäß ein und demselben Codesegment durchführen.Alternatively to that in the 4 In the embodiment shown, three or four or a different number of vectors can also be combined to form a multi-dimensional vector, such that the processor elements of three, four or a different number of vectors carry out signal processing steps according to one and the same code segment.

Die 5 zeigt Skizzen zur Erläuterung der Arbeitsweise der Erfindung anhand eines konkreten Ausführungsbeispiels. Dabei ist eine Bildverarbeitungskette für eine Erkennung von Zeichen, beispielsweise einer Postleitzahl, in einem Text wie folgt definiert:

  • Schritt 1: Hochpassfilterung der eingelesenen Bilddaten;
  • Schritt 2: Binarisierung der gefilterten Bilddaten;
  • Schritt 3: Separierung des Textes in einzelne Zeichen und
  • Schritt 4: Erkennung der einzelnen Zeichen.
The 5 shows sketches to explain the operation of the invention with reference to a concrete embodiment. In this case, an image processing chain for recognizing characters, for example a postal code, in a text is defined as follows:
  • Step 1: high pass filtering of the read image data;
  • Step 2: Binarization of the filtered image data;
  • Step 3: Separation of the text into single characters and
  • Step 4: Detecting each character.

Die folgende Tabelle zeigt die Zuordnung der einzelnen Bildverarbeitungsschritte bzw. -algorithmen zum Prozessorarray: Vektor Algorithmus 4-0 Hochpassfilterung HPF 4-1 Binarisierung BN 4-2 Zeichenseparierung ZS 4-3 Zeichenerkennung ZE The following table shows the assignment of the individual image processing steps or algorithms to the processor array: vector algorithm 4-0 High pass filtering HPF 4-1 Binarization BN 4-2 Character separation ZS 4-3 Character recognition ZE

In der 5 ist die Abarbeitung der Algorithmen je eines eindimensionalen Vektors veranschaulicht. Zum Zeitpunkt T0 empfangen die Prozessorelemente des Vektors 4-0 digitalisierte Bilddaten X1 und führen bezüglich dieser Bilddaten den Algorithmus Hochpassfilterung aus.In the 5 the processing of the algorithms of a one-dimensional vector is illustrated. At time T0, the processor elements of the vector receive 4-0 digitized image data X1 and perform with respect to this image data the algorithm high-pass filtering.

Zum Zeitpunkt T1 werden die hochpassgefilterten Bilddaten X1' an den Nachfolgevektor 4-1 übergeben. Dessen Prozessorelemente führen bezüglich dieser Bilddaten X1' den Algorithmus Binarisierung aus. Zeitgleich dazu führen die Prozessorelemente des Vektors 4-0 den Algorithmus Hochpassfilterung bezüglich neu übergebener Bilddaten X2 aus.At time T1, the high-pass filtered image data X1 'is applied to the successor vector 4-1 to hand over. Its processor elements execute the binarization algorithm with respect to this image data X1 '. At the same time lead the processor elements of the vector 4-0 the algorithm high-pass filtering with respect to newly transferred image data X2.

Zum Zeitpunkt T2 werden die binarisierten Bilddaten X1'' an den Nachfolgevektor 4-2 übergeben. Dessen Prozessorelemente führen bezüglich dieser Bilddaten X1'' den Algorithmus Zeichensegmentierung aus. Zeitgleich dazu führen die Prozessorelemente des Vektors 4-1 den Algorithmus Binarisierung bezüglich der Bilddaten X2' und die Prozessorelemente des Vektors 4-0 den Algorithmus Hochpassfilterung bezüglich neu übergebener Bilddaten X3 aus.At time T2, the binarized image data X1 "is sent to the successor vector 4-2 to hand over. Its processor elements execute the character segmentation algorithm with respect to this image data X1 ". At the same time lead the processor elements of the vector 4-1 the algorithm binarization with respect to the image data X2 'and the processor elements of the vector 4-0 the algorithm high-pass filtering with respect to newly transferred image data X3.

Zum Zeitpunkt T3 werden die segmentierten Bilddaten X1''' an den Nachfolgevektor 4-3 übergeben. Dessen Prozessorelemente führen bezüglich dieser Bilddaten den Algorithmus Zeichenerkennung aus. Zeitgleich dazu führen die Prozessorelemente des Vektors 4-2 den Algorithmus Zeichensegmentierung bezüglich der Bilddaten X2'', die Prozessorelemente des Vektors 4-1 den Algorithmus Binarisierung bezüglich der Bilddaten X1' und die Prozessorelemente des Vektors 4-0 den Algorithmus Hochpassfilterung bezüglich neu übergebener Bilddaten X4 aus, usw..At time T3, the segmented image data X1 '''becomes the successor vector 4-3 to hand over. Its processor elements execute the character recognition algorithm with respect to this image data. At the same time lead the processor elements of the vector 4-2 the algorithm character segmentation with respect to the image data X2 ", the processor elements of the vector 4-1 the algorithm binarization with respect to the image data X1 'and the processor elements of the vector 4-0 the algorithm high-pass filtering with respect to newly transferred image data X4, etc ..

11
BildsignalquelleImage signal source
22
Analog-/Digital-Wandler-EinheitAnalog / digital converter unit
33
Demultiplexerdemultiplexer
44
Prozessorarrayprocessor array
4-0, ..., 4-n4-0, ..., 4-n
Vektoren des Prozessorarraysvectors of the processor array
55
Eingabe-/Ausgabe-EinheitInput / output unit
66
SpeicherStorage
77
PCI-Bus-InterfacePCI bus interface
88th
Chipchip
99
PCI-BusPCI bus
1010
Videofiltervideo filters
1111
Analog-Digital-WandlerAnalog to digital converter
1212
Lookup-TableLookup table
1313
Zeilen-FIFOLine FIFO
1414
Befehlssequenzerinstruction sequencer
1515
ProgrammcodespeicherProgram code storage
15a, ..., 15d15a, ..., 15d
Speicherbereiche des Programmcodespeichersstorage areas the program code memory
16a, 16b16a, 16b
zweidimensionale Vektorentwo-dimensional vectors
1717
Steuerverbindungcontrol connection
CMDCMD
Bus zum Einlesen der den Bildverarbeitungsschritten entsprechenden Programmcobus for reading in the program processing steps corresponding program co
desof
IPCIPC
Inter-Prozessor-KommunikationsbusInter-processor communication bus
IOIO
Ein-/Ausgabe-BusI / O bus
10, ..., 1e10 ..., 1e
Signalverbindungensignal connections
1x1x
Signalverbindungsignal connection
P00, ..., P34P00, ..., P34
Prozessorelementeprocessor elements

Claims (22)

Verfahren zur Bildverarbeitung mit folgenden Schritten: – Digitalisierung der von einer Bildsignalquelle (1) bereitgestellten Bilddaten, – Demultiplexieren der digitalisierten Bilddaten, – Übergabe der demultiplexierten digitalisierten Bilddaten an ein Prozessorarray (4), welches n hintereinander angeordnete Vektoren (4-0, ..., 4-n) aufweist, wobei jeder Vektor mehrere parallel zueinander angeordnete Prozessorelemente (P00, ...P0e; ...; Pn0 ...Pne) aufweist, und – zeitgleiches Verarbeiten der übergebenen Bilddaten in den Prozessorelementen eines Vektors, wobei in jedem der Prozessorelemente dieses Vektors derselbe Bildverarbeitungsschritt vorgenommen wird, wobei – ein Befehlssequenzer (14) den Prozessorelementen der Vektoren den Bildverarbeitungsschritten zugehörige Codesegmente zugeführt und wobei – der Befehlssequenzer (14) von einem Personal-Computer programmiert wird, dadurch gekennzeichnet, dass – die in den Prozessorelementen der Vektoren verarbeiteten Bilddaten über eine Eingabe-/Ausgabeeinheit (5) an einen Speicher (6) ausgegeben werden, – die aus dem Speicher (6) ausgelesenen Signale vom Personal-Computer ausgewertet werden und – der Personal-Computer in Abhängigkeit davon die Bildsignalverarbeitungsschritte, denen die von der Bildsignalquelle (1) bereitgestellten Bildsignale unterworfen werden, verändert.Image processing method comprising the steps of: - digitizing the image signal source ( 1 image data provided, - demultiplexing the digitized image data, - transferring the demultiplexed digitized image data to a processor array ( 4 ), which n consecutively arranged vectors ( 4-0 , ..., 4-n ), each vector having a plurality of processor elements (P00, ... P0e; ...; Pn0 ... Pne) arranged parallel to each other, and - simultaneously processing the transferred image data in the processor elements of a vector, wherein in each of the processor elements The same image processing step is performed, wherein - a command sequencer ( 14 ) the processor elements of the vectors are supplied to the image processing steps associated code segments and wherein - the command sequencer ( 14 ) is programmed by a personal computer, characterized in that - the image data processed in the processor elements of the vectors is input via an input / output unit ( 5 ) to a memory ( 6 ), - those from the memory ( 6 ) signals are evaluated by the personal computer and - the personal computer depending on the image signal processing steps that the of the image signal source ( 1 ) image signals are changed. Verfahren nach Anspruch 1, gekennzeichnet durch folgende Schritte: – Übergabe der demultiplexierten digitalisierten Bilddaten an die parallel zueinander angeordneten Prozessor elemente (P00, ..., P0e) eines ersten Vektors (4-0) des Prozessorarrays (4), – zeitgleiches Verarbeiten der übergebenen Bilddaten in den Prozessorelementen des ersten Vektors, wobei in jedem dieser Prozessorelemente derselbe erste Bildverarbeitungsschritt vorgenommen wird, – Weitergabe der in den Prozessorelementen des ersten Vektors verarbeiteten Bilddaten an die Prozessorelemente (P10, ...P1e) eines zweiten Vektors (4-1) des Prozessorarrays (4), – zeitgleiches Verarbeiten der weitergegebenen Bilddaten in den Prozessorelementen des zweiten Vektors, wobei in jedem dieser Prozessorelemente derselbe zweite Bildverarbeitungsschritt vorgenommen wird, – aufeinanderfolgende Weitergabe der in den Prozessorelementen des zweiten Vektors verarbeiteten Bilddaten an die Prozessorelemente eines jeweils nachfolgenden Vektors, wobei in jedem der Prozessorelemente des jeweils nachfolgenden Vektors jeweils derselbe Bildverarbeitungsschritt vorgenommen wird, – Ausgabe der in den Prozessorelementen des n-ten Vektors verarbeiteten Bilddaten.Method according to Claim 1, characterized by the following steps: transfer of the demultiplexed digitized image data to the processor elements (P00,..., P0e) of a first vector arranged parallel to one another ( 4-0 ) of the processor array ( 4 ), - simultaneous processing of the transferred image data in the processor elements of the first vector, wherein in each of these processor elements the same first image processing step is performed, Transfer of the image data processed in the processor elements of the first vector to the processor elements (P10,... P1e) of a second vector ( 4-1 ) of the processor array ( 4 Concurrently processing the relayed image data in the processor elements of the second vector, wherein the same second image processing step is performed in each of these processor elements, successively passing the image data processed in the processor elements of the second vector to the processor elements of a respective subsequent vector, wherein in each of the Processing elements of the respective subsequent vector is carried out in each case the same image processing step, - output of processed in the processor elements of the nth vector image data. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die verarbeiteten, aus dem Speicher (6) ausgelesenen Bilddaten über ein PCI-Bus-Interface (7) an den PCI-Bus (9) des Personal-Computers weitergeleitet werden.A method according to claim 1 or 2, characterized in that the processed, from the memory ( 6 ) read image data via a PCI bus interface ( 7 ) to the PCI bus ( 9 ) of the personal computer. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im Speicher (6) abgespeicherte Daten von den Prozessorelementen eines Vektors gelesen werden.Method according to one of the preceding claims, characterized in that in the memory ( 6 ) stored data are read from the processor elements of a vector. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Codesegmente, die die Bildverarbeitungsschritte definieren, vom Befehlssequenzer (14) aus einem Programmcodespeicher (15) ausgelesen und an die Prozessorelemente der Vektoren weitergegeben werden.Method according to one of the preceding claims, characterized in that the code segments which define the image processing steps are executed by the command sequencer ( 14 ) from a program code memory ( 15 ) and passed to the processor elements of the vectors. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass ein Codesegment an die Prozessorelemente mehrerer benachbarter Vektoren weitergegeben wird.Method according to claim 5, characterized in that that a code segment to the processor elements of several adjacent Vectors is passed. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die demultiplexierten digitalisierten Bilddaten den Prozessorelementen des ersten Vektors des Prozessorarrays zeitlich aufeinanderfolgend übergeben werden.Method according to one of the preceding claims, characterized in that the demultiplexed digitized image data the processor elements of the first vector of the processor array in time handed over in succession become. Verfahren nach einem der Ansprüche 1–6, dadurch gekennzeichnet, dass die demultiplexierten digitalisierten Bilddaten den Prozessorelementen des ersten Vektors des Prozessorarrays zeitgleich übergeben werden.Method according to one of claims 1-6, characterized in that the demultiplexed digitized image data belongs to the processor elements the first vector of the processor array at the same time passed become. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die demultiplexierten digitalisierten Bilddaten den Prozessorelementen eines Vektors des Prozessorarrays unter Umgehung der Prozessorelemente des ersten Vektors übergeben werden.Method according to one of the preceding claims, characterized in that the demultiplexed digitized image data the processor elements of a vector of the processor array, bypassing the Processor elements of the first vector are transferred. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Befehlssequenzer (14) den Demultiplexer (3) steuert.Method according to one of the preceding claims, characterized in that the command sequencer ( 14 ) the demultiplexer ( 3 ) controls. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Befehlssequenzer (14) den Prozessorelementen Freigabesignale und Taktsignale zur Verfügung stellt.Method according to one of the preceding claims, characterized in that the command sequencer ( 14 ) provides the processor elements enable signals and clock signals. Vorrichtung zur Bildverarbeitung, mit – einer Analog/Digital-Wandler-Einheit (2) zur Digitalisierung der von einer Bildsignalquelle bereitgestellten Bilddaten, – einem Demultiplexer (3) zum Demultiplexieren der digitalisierten Bilddaten, – einem mit dem Demultiplexer verbundenen Prozessorarray (4), welches n hintereinander angeordnete Vektoren (4-0, ..., 4-n) aufweist, wobei jeder Vektor mehrere parallel zueinander angeordnete Prozessorelemente (P00, ..., P0e; ...; Pn0, ...Pne) aufweist, wobei – die Prozessorelemente eines Vektors zur zeitgleichen Verarbeitung übergebener Bilddaten vorgesehen sind, und in jedem der Prozessorelemente dieses Vektors derselbe Bildverarbeitungsschritt vorgenommen wird, und – einem mit den Prozessorelementen der Vektoren verbundenen Befehlssequenzer (14), der den Prozessorelementen den Bildverarbeitungsschritten zugehörige Codesegmente zuführt, und – einem Personal-Computer, der zur Programmierung des Befehlssequenzers vorgesehen ist, dadurch gekennzeichnet, dass – die Prozessorelemente der Vektoren über eine Eingabe/Ausgabeeinheit (5) mit einem Speicher (6) verbunden sind, – der Speicher (6) mit dem Personal-Computer verbunden ist und – der Personal-Computer dazu vorgesehen ist, in Abhängigkeit von aus dem Speicher (6) ausgelesenen Signalen die Bildsignalverarbeitungsschritte, denen die von der Bildsignalquelle (1) bereitgestellten Bildsignale unterworfen werden, zu verändern.Apparatus for image processing, comprising - an analog / digital converter unit ( 2 ) for digitizing the image data provided by an image signal source, - a demultiplexer ( 3 for demultiplexing the digitized image data, - a processor array connected to the demultiplexer ( 4 ), which n consecutively arranged vectors ( 4-0 , ..., 4-n ), each vector having a plurality of processor elements (P00, ..., P0e; ...; Pn0, ... Pne) arranged parallel to each other, wherein - the processor elements of a vector are provided for the simultaneous processing of transferred image data, and in each the processor elements of this vector the same image processing step is made, and - an associated with the processor elements of the vectors command sequencer ( 14 ) which supplies code segments to the processor elements associated with the image processing steps, and - a personal computer provided for programming the command sequencer, characterized in that - the processor elements of the vectors are input via an input / output unit ( 5 ) with a memory ( 6 ), - the memory ( 6 ) is connected to the personal computer and - the personal computer is provided, depending on the memory ( 6 ) read out the image signal processing steps that the image signal source ( 1 ) are subjected to change. Vorrichtung nach Anspruch 12, dadurch gekennzeichnet, dass der Speicher (6) mit einem PCI-Bus-Interface (7) verbunden ist.Apparatus according to claim 12, characterized in that the memory ( 6 ) with a PCI bus interface ( 7 ) connected is. Vorrichtung nach Anspruch 12 oder 13, dadurch gekennzeichnet, dass die Prozessorelemente eines Vektors zum Lesen im Speicher (6) abgespeicherter Daten vorgesehen sind.Apparatus according to claim 12 or 13, characterized in that the processor elements of a vector for reading in the memory ( 6 ) stored data are provided. Vorrichtung nach einem der Ansprüche 12–14, dadurch gekennzeichnet, dass sie einen Programmcodespeicher (15) aufweist, wobei im Programmcodespeicher die Bildverarbeitungsschritte definierende Codesegmente abgespeichert sind und wobei der Befehlssequenzer (14) zum Auslesen der Codesegmente aus dem Programmcodespeicher und zur Weitergabe der ausgelesenen Codesegmente an die Prozessorelemente der Vektoren vorgesehen ist.Device according to one of Claims 12-14, characterized in that it contains a program code memory ( 15 ), wherein in the program code memory the image processing steps defining code segments are stored and wherein the command sequencer ( 14 ) is provided for reading the code segments from the program code memory and for passing the read code segments to the processor elements of the vectors. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, dass der Befehlssequenzer zur Weitergabe eines Codesegmentes an die Prozessorelemente mehrerer benachbarter Vektoren vorgesehen ist.Device according to claim 15, characterized in that that the command sequencer for passing on a code segment the processor elements of several adjacent vectors provided is. Vorrichtung nach einem der Ansprüche 12–16, dadurch gekennzeichnet, dass der Demultiplexer (3) zur zeitlich aufeinanderfolgenden Übergabe der demultiplexierten digitalisierten Bilddaten an die Prozessorelemente des ersten Vektors (4-0) des Prozessorarrays (4) vorgesehen ist.Device according to one of claims 12-16, characterized in that the demultiplexer ( 3 ) for temporally successive transfer of the demultiplexed digitized image data to the processor elements of the first vector ( 4-0 ) of the processor array ( 4 ) is provided. Vorrichtung nach einem der Ansprüche 12–16, dadurch gekennzeichnet, dass der Demultiplexer (3) zur zeitgleichen Übergabe der demultiplexierten digitalisierten Bilddaten an die Prozessorelemente des ersten Vektors (4-0) des Prozessorarrays (4) vorgesehen ist.Device according to one of claims 12-16, characterized in that the demultiplexer ( 3 ) for the simultaneous transfer of the demultiplexed digitized image data to the processor elements of the first vector ( 4-0 ) of the processor array ( 4 ) is provided. Vorrichtung nach einem der Ansprüche 12–18, dadurch gekennzeichnet, dass der Demultiplexer (3) über die Eingabe-/Ausgabe-Einheit (5) mit den Prozessorelementen der Vektoren des Prozessorarrays (4) verbunden ist.Device according to one of claims 12-18, characterized in that the demultiplexer ( 3 ) via the input / output unit ( 5 ) with the processor elements of the vectors of the processor array ( 4 ) connected is. Vorrichtung nach einem der Ansprüche 12–19, dadurch gekennzeichnet, dass sie in Form eines Chips realisiert ist.Device according to one of claims 12-19, characterized that it is realized in the form of a chip. Vorrichtung nach einem der Ansprüche 12–20, dadurch gekennzeichnet, dass der Befehlssequenzer (14) über eine Steuerleitung (17) mit dem Demultiplexer (3) verbunden ist.Device according to one of claims 12-20, characterized in that the command sequencer ( 14 ) via a control line ( 17 ) with the demultiplexer ( 3 ) connected is. Vorrichtung nach einem der Ansprüche 12–21, dadurch gekennzeichnet, dass der Befehlssequenzer (14) dazu vorgesehen ist, den Prozessorelementen Freigabesignale und Taktsignale zur Verfügung zu stellen.Device according to one of claims 12-21, characterized in that the command sequencer ( 14 ) is provided to provide the processor elements enable signals and clock signals.
DE102006004489A 2006-02-01 2006-02-01 Method and device for image processing Expired - Fee Related DE102006004489B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102006004489A DE102006004489B4 (en) 2006-02-01 2006-02-01 Method and device for image processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006004489A DE102006004489B4 (en) 2006-02-01 2006-02-01 Method and device for image processing

Publications (2)

Publication Number Publication Date
DE102006004489A1 DE102006004489A1 (en) 2007-08-09
DE102006004489B4 true DE102006004489B4 (en) 2010-05-27

Family

ID=38282035

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006004489A Expired - Fee Related DE102006004489B4 (en) 2006-02-01 2006-02-01 Method and device for image processing

Country Status (1)

Country Link
DE (1) DE102006004489B4 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008008936B3 (en) 2008-02-08 2009-06-25 Keiper Gmbh & Co. Kg Locking device, in particular for a vehicle seat

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19507447A1 (en) * 1995-03-03 1996-09-05 Vitronic Dr Ing Stein Bildvera Method and circuit for capturing and forwarding video image data in a PC

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19507447A1 (en) * 1995-03-03 1996-09-05 Vitronic Dr Ing Stein Bildvera Method and circuit for capturing and forwarding video image data in a PC

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GEALOW, Jeffrey C. SODINI, Charles G.: >>A Pixel-Parallel Image Processor Using Logic Pitch-Matched to Dynamic Memory<<, June 1999, IEEE Solid-State Circuits, Vol. 34 (6), S. 831-839
GEALOW, Jeffrey C., SODINI, Charles G.: >>A Pixel-Parallel Image Processor Using Logic Pitch-Matched to Dynamic Memory<<, June 1999, IEEE Solid-State Circuits, Vol. 34 (6), S. 831-839 *

Also Published As

Publication number Publication date
DE102006004489A1 (en) 2007-08-09

Similar Documents

Publication Publication Date Title
DE69928765T2 (en) inspection system
DE2909153C2 (en) Device for the digital analysis of image or drawing patterns
DE3117870A1 (en) VIDEO SURVEILLANCE SYSTEM
DE3141196A1 (en) VIDEO IMAGE PROCESSING DEVICE
DE2703158B2 (en) Device for detecting the position of a pattern or character
DE102006023611A1 (en) Camera-based system original image`s image data evaluating method, involves computing variance image and integral image assigned to pixels from image data without intermediate storage during reading of image sensor
DE102008052930A1 (en) Vision sensor for recording image of part to be tested in quality control area during production processes, has image pickup sensor, where image data read from sensor is stored in image storage that is connected to software processing unit
EP2028605A1 (en) Detection method for symmetric patterns
DE112007003069T5 (en) High-speed, fan-out system architecture and non-volatile memory input / output circuits
DE19524862A1 (en) Single-instruction multi-data flow processor
DE102019119746A1 (en) Image signal processor, method for operating the image signal processor and application processor with the image signal processor
DE102006004489B4 (en) Method and device for image processing
DE102013114306A1 (en) System, method and computer program product for distributed processing of overlapping portions of pixels
WO2013072027A1 (en) Graphics processing device, display unit for an airplane cockpit, and method for displaying graphical data
EP1709587B1 (en) Image processing system
DE60306388T2 (en) METHOD AND DEVICE FOR IMAGE DATA PROCESSING USING IMAGE STRIP AND CIRCULAR ADDRESSING ARRANGEMENT
DE3322706A1 (en) CIRCUIT FOR FAST RANKING SELECTION OR SORTING
DE2817341C2 (en) Optical handheld reader for machine character recognition
DE4103880C2 (en) Image processing device and method
DE3436276C2 (en)
DE60106137T2 (en) Remote data processing administration with display capability
DE4407376A1 (en) Real-time image processing system, especially as an additional PC system
DE102015121128B4 (en) Method and device for accelerated access to signals of a programmable logic device
EP3327672B1 (en) Method and device for determining an association between a matrix element of a matrix and a comparison matrix element of a comparison matrix by writing in multiple correspondence tables
EP0207435A2 (en) Circuit arrangement for processing image data

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R084 Declaration of willingness to licence
R082 Change of representative

Representative=s name: ZIMMERMANN & PARTNER PATENTANWAELTE MBB, DE

Representative=s name: ZIMMERMANN & PARTNER, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee