-
Die
vorliegende Erfindung betrifft ein Verfahren nach dem Oberbegriff
des Anspruchs 1 zur Bildverarbeitung, bei dem während einer Abfolge von Übertragungsphasen
Bilddaten eines zu verarbeitenden Bildes und zugehörige Steuerdaten
zwischen einer Bildaufnahmeeinheit und einer einer Bildverarbeitungsvorrichtung
vorgeschalteten Auswerteeinheit übertragen
werden und bei dem Übertragungsstörungen anhand
der Steuerdaten durch die Auswerteeinheit erkannt werden.
-
Weiterhin
betrifft die Erfindung eine Auswertevorrichtung nach dem Oberbegriff
des Anspruchs 4 mit einer zum Empfangen von Bilddaten eines zu verarbeitenden
Bildes und von zugehörigen
Steuerdaten von einer Bildaufnahmevorrichtung ausgebildeten Schnittstelle,
mit einem zum Speichern der Bilddaten ausgebildeten Bildspeicher,
mit einem zum Auswerten der gespeicherten Bilddaten ausgebildeten
Auswertemodul und mit einer zum Erkennen von Störungen der Datenübertragung
von der Bildaufnahmevorrichtung ausgebildeten Steuerungseinheit.
-
Die
vorliegende Erfindung betrifft darüber hinaus ein Bildverarbeitungssystem,
bei dem eine Bildaufnahmeeinheit, eine Auswertevorrichtung und eine Bildverarbeitungsvorrichtung
hintereinander geschaltet sind, sowie ein Computerprogrammprodukt zur
Durchführung
eines Bildverarbeitungsverfahrens der eingangs genannten Art.
-
In
verteilten Bildverarbeitungssystemen werden Bild- und zugehörige Steuerdaten
zwischen einzelnen Komponenten des Systems übertragen, beispielsweise von
prozessnahen CCD-Kameraköpfen zu
räumlich
abgesetzten Auswerteeinheiten. Dabei kann die Datenübertragung
durch EMV-Einflüsse
auf die verwendeten Übertragungseinrichtungen
(Kabel) und/oder auf Komponenten des Bildverarbeitungssystems selbst
gestört
werden. Dies kann dazu führen,
dass die Auswerteeinheit verfälschte oder
unvollständige
Bilder falsch oder gar nicht auswertet. Wenn ein derartiges Bildverarbeitungssystem
für eine
Teileerkennung in der industriellen Fertigung, in Codelesern für Datamatrix-Codes
oder dergleichen eingesetzt wird, können sich auf diese Weise verlängerte Prozesszeiten
ergeben oder Benutzereingriffe erforderlich werden, was zu entsprechenden
Kostennachteilen führt.
-
Bei
vorbekannten Bildverarbeitungssystemen bzw. -verfahren werden die
Daten eines Bildes jeweils wortweise übertragen und in einem Bildspeicher
gespeichert. In den Wörtern
sind den eigentlichen Bilddaten (Pixel) in einem so genannten Header enthaltene
zusätzliche
Steuerdaten zum Anzeigen von Bildanfang und Bildende, zum Ein- und
Ausschalten eines Blitzlichts, zur Leerlaufanzeige, zum Einfügen eines
Zeilentrenners oder dergleichen vorangestellt. Erkennt nun eine
Auswerteeinheit des Bildverarbeitungssystems einen aufgrund von Übertragungsstörungen ungültigen Header,
warten vorbekannte Bildverarbeitungssysteme so lange, bis wieder
ein gültiger
Header erkannt wird. Die bereits im Bildspeicher vorhandenen Daten
werden gelöscht, was
heißt,
dass das betreffende gestörte
Bild verworfen wird, wodurch auch korrekt empfangene Bildteile nicht
ausgewertet werden. Es entstehen somit die bereits angesprochenen
Nachteile hinsichtlich der Prozessdauer und der entsprechenden Prozesskosten.
-
Der
Erfindung liegt die Aufgabe zugrunde, ein eingangs genanntes Verfahren
zur Bildverarbeitung sowie eine eingangs genannte Bildverarbeitungsvorrichtung
bzw. ein Bildverarbeitungssystem anzugeben, mit denen unter Vermeidung
der vorstehend genannten Nachteile eine Verringerung der Prozessdauer
und eine entsprechende Senkung von Prozesskosten erreichbar ist.
-
Die
Aufgabe wird bei einem Verfahren der eingangs genannten Art durch
die kennzeichnenden Merkmale des Patentanspruchs 1 gelöst, wobei
vorgesehen ist, dass in der Auswertevorrichtung für jede Übertragungsphase
eines Bildes ein Zähler
gestartet wird und dass zu Zeiten gestörter Übertragung von Bilddaten ein
vorbestimmter Bildwert an einen dem entsprechenden Wert des Zählers zugeordneten Bildspeicherort
eines Bildspeichers geschrieben wird.
-
Bei
einer Auswertevorrichtung der eingangs genannten Art wird die Aufgabe
durch die kennzeichnenden Merkmale des Patentanspruchs 4 gelöst. Zu diesem
Zweck weist die Auswertevorrichtung einen Zähler auf, der zum Bestimmen
einer seit Beginn einer Übertragungsphase
vergangenen Zeit ausgebildet ist, wobei die Steuerungseinheit zum
Abspeichern eines vorbestimmten Bildwerts an einem dem entsprechenden
Wert des Zählers
zugeordneten Speicherort ausgebildet ist.
-
Weiterhin
wird die Aufgabe auch durch ein Bildverarbeitungssystem der eingangs
genannten Art durch die kennzeichnenden Merkmale des Patentanspruchs
8 gelöst,
wonach die Bildaufnahmevorrichtung über eine Datenübertragungseinrichtung
mit einer erfindungsgemäßen Auswertevorrichtung
verbunden ist. Schließlich
wird die Aufgabe bei einem Computerprogrammprodukt der eingangs
genannten Art durch die kennzeichnenden Merkmale des Patentanspruchs
9 gelöst,
indem dieses Programmcode-Sequenzen aufweist, bei deren Ausführung mittels
der Auswertevorrichtung ein erfindungsgemäßes Verfahren zur Bildverarbeitung
durchgeführt
wird.
-
Gemäß der Erfindung
ist ein Verfahren zur Bildverarbeitung, bei dem während einer
Abfolge von Übertragungsphasen
Bilddaten eines zu verarbeitenden Bildes und zugehörige Steuerdaten
zwischen einer Bildaufnahmevorrichtung und einer einer Bildverarbeitungsvorrichtung
vorgeschalteten Auswertevorrichtung übertragen werden und bei dem Übertragungsstörungen anhand
der Steuerdaten durch die Auswertevorrichtung erkannt werden, dadurch
gekennzeichnet, dass in der Auswerteeinheit für jede Übertragungsphase eines Bildes
ein Zähler
gestartet wird und dass zu Zeiten gestörter Übertragung von Bilddaten ein
vorbestimmter Bildwert an einen dem entsprechenden Wert des Zählers zugeordneten Bildspeicherort
eines Bildspeichers geschrieben wird.
-
Des
Weiteren ist gemäß der Erfindung
eine Auswertevorrichtung mit einer zum Empfangen von Bilddaten eines
zu verarbeitenden Bildes und von zugehörigen Steuerdaten von einer
Bildaufnahmevorrichtung ausgebildeten Schnittstelle, mit einem zum Speichern
der Bilddaten ausgebildeten Bildspeicher, mit einem zum Auswerten
der gespeicherten Bilddaten ausgebildeten Auswertemodul und mit
einer zum Erkennen von Störungen
der Datenübertragung
von der Bildaufnahmevorrichtung ausgebildeten Steuerungseinheit
gekennzeichnet durch einen Zähler,
der zum Bestimmen einer seit Beginn einer Übertragungsphase vergangenen
Zeit ausgebildet ist, wobei die Steuerungseinheit zum Abspeichern
eines vorbestimmten Bildwerts an einem dem entsprechenden Wert des
Zählers
zugeordneten Speicherort ausgebildet ist.
-
Gemäß einer
grundlegenden Idee der vorliegenden Erfindung wird somit auch bei
nachhaltig gestörten
Bildern ein kompletter Bilddatensatz erzeugt und in den Bildspeicher
geschrieben, der aus den korrekt empfangenen Bilddaten/Pixel und
während gestörter Übertragungsphasen
eingetragener, vorbestimmter Bildwerte, so genannte „Dummypixel", besteht. Aufgrund
des erfindungsgemäßen Einsatzes eines
Zählers
ist es hierbei möglich,
dass im Anschluss an eine Störung
insbesondere die dann wieder ungestört empfangenen Pixel jeweils
an der richtigen, d. h. der zu einer jeweiligen Zeile und Spalte des
aufgenommenen Bildes gehörenden
Stelle im Bildspeicher stehen, sodass grundsätzlich immer, d. h. auch nach
einer gestörten Übertragung,
eine vollständige
Bildauswertung möglich
ist.
-
In
Weiterbildung des erfindungsgemäßen Verfahrens
ist vorgesehen, dass die Auswertevorrichtung Speicherorte des vorbestimmten
Bildwerts mit wenigstens einem vorbestimmten Bildbereich des zu
verarbeitenden Bildes vergleicht, wobei in Abhängigkeit von dem Vergleichsergebnis
ein entsprechendes Steuersignal ausgegeben wird. Eine entsprechende
Weiterbildung der erfindungsgemäßen Auswertevorrichtung
sieht vor, dass die Auswerteeinheit eine Vergleichseinrichtung aufweist,
die zum Vergleichen von Speicherorten des vorbestimmten Bildwerts
mit wenigstens einem entsprechenden Bildbereich des zu verarbeitenden
Bildes ausgebildet ist.
-
Auf
diese Weise ist es erfindungsgemäß möglich festzustellen,
ob trotz der festgestellten Übertragungsstörung eine
korrekte Auswertung des Bildes möglich
ist. Sind beispielsweise nur solche Bildbereiche gestört, welche
für die
korrekte Auswertung des Bildes nicht relevant sind, so wird dies
im Zuge des vorstehend genannten Vergleichs festgestellt und ein
entsprechendes Steuersignal ausgegeben. Erfindungsgemäß kann der
vorstehend genannte Vergleich beispielsweise dadurch vorgenommen werden,
dass die Auswertevorrichtung den Bildspeicher explizit nach einem
Auftreten des bestimmten Bildwerts (Dummypixel) durchsucht. Zusätzlich oder alternativ
kann jedoch die Steuerungseinheit beim Abspeichern des vorbestimmten
Bildwerts entsprechende Informationen an die Auswertevorrichtung übertragen,
sodass diese bereits „vorab" bezüglich des
Auftretens gestörter
Bilddaten beziehungsweise entsprechender Dummypixel unterrichtet
ist.
-
Gemäß einer
entsprechenden Weiterbildung der erfindungsgemäßen Auswertevorrichtung ist dementsprechend
vorgesehen, dass das Auswertemodul zum Ausgeben eines Steuersignals
in Abhängigkeit
von dem Vergleichsergebnis ausgebildet ist.
-
Vorteilhafterweise
ist in Weiterbildung der erfindungsgemäßen Auswertevorrichtung auch
vorgesehen, dass diese eine mit dem Auswertemodul in Wirkverbindung
stehende Speichereinrichtung aufweist, in der Parameter des für den Vergleich
benötigten
Bildbereichs abgelegt sind. Derartige Parameter, bei denen es sich
vorzugsweise um geometrische Definitionen einer Anzahl von Bildausschnitten
handelt, die – je
nach Ausgestaltung – für eine korrekte Bildauswertung
entweder unabdingbar oder entbehrlich sind, können erfindungsgemäß beispielsweise durch einen
Benutzer der Vorrichtung mittels einer geeigneten Eingabeeinrichtung,
wie einer Tastatur oder eines Lesegeräts für entsprechende Datenträger, vorgegeben
werden.
-
Beispielsweise
sind bei einem Einsatz der erfindungsgemäßen Vorrichtung zur Teileerkennung die
zu erkennenden Teile regelmäßig kleiner
als das zur Verfügung
stehende Bildfenster. In diesem Fall kann eine in der Auswertevorrichtung
vorhandene Auswertesoftware auch automatisch beim Einlernen des
Gegenstands denjenigen Bildbereich bestimmen, der für die Bildauswertung
im späteren
Betrieb genutzt werden soll (so genannte „Region of Interest"), und dessen Definition
entsprechend in der oben genannten Speichereinrichtung ablegen.
-
Gemäß einer
Weiterbildung des erfindungsgemäßen Verfahrens
ist vorgesehen, dass für
einen dem vorbestimmten Bildbereich entsprechenden Speicherort das
ausgegebene Steuersignal ein negatives Ergebnis der Bildverarbeitung
anzeigt. Mit anderen Worten: Wenn erfindungsgemäß Speicherorte von Dummypixeln
dem entsprechenden vorbestimmten Bildbereich zuzuordnen sind, wird
dem System ein negatives Ergebnis der Bildverarbeitung angezeigt.
Entsprechend kann gemäß einer
anderen Weiterbildung des erfindungsgemäßen Verfahrens vorgesehen sein,
dass für
Speicherorte außerhalb des
vorbestimmten Bildbereichs das Steuersignal ein positives Ergebnis
der Bildverarbeitung anzeigt. Allerdings ist erfindungsgemäß auch eine
umgekehrte Vorgehensweise möglich,
wobei der vorbestimmte Bildbereich gerade solche Bereiche des zu
untersuchenden Bildes definiert, die für eine erfolgreiche Bildauswertung
nicht benötigt
werden, sodass sich auch die vorstehend beschriebene Ausgabe von Steuersignalen
entsprechend umkehrt.
-
Es
ist jedoch auch möglich,
dass alle Bilddaten eines vollständigen
Bildes, welches auch Dummypixel enthält, an eine nachgeordnete Bildverarbeitungsvorrichtung
abgegeben werden und diese dann entscheidet, ob die Bilddaten beziehungsweise
das Bild zu verwenden ist.
-
Weitere
Eigenschaften und Vorteile der Erfindung ergeben sich aus der nachfolgenden
Beschreibung von Ausführungsbeispielen
anhand der Zeichnung. Es zeigen:
-
1 ein
detailliertes Blockschaltbild eines erfindungsgemäßen Bildverarbeitungssystems;
-
2 ein
schematisches Ablaufphasen-Diagramm zur Darstellung einer Steuerdatenübertragung
(Header) von der Bildaufnahmevorrichtung zur Auswerteeinheit;
-
3 den
zeitlichen Ablauf einer Datenübertragung
am Beispiel eines gestörten
Bildes mit einer Auflösung
von zehn Zeilen;
-
4 in
einer schematisch-tabellarischen Ansicht den Speicherzustand des
Bildspeichers nach Übertragung
des Bildes aus 3 und
-
5 ein
Ablaufdiagramm eines erfindungsgemäßen Verfahrens.
-
1 zeigt
anhand eines detaillierten Blockschaltbilds ein erfindungsgemäßes Bildverarbeitungssystem 1.
Im Rahmen des vorliegenden Ausführungsbeispiels
ist das Bildverarbeitungssystem 1 als verteiltes Bildverarbeitungssystem
mit einer Bildaufnahmevorrichtung oder Kameraeinheit 2 und
einer räumlich
von der Kameraeinheit 2 getrennten Auswertevorrichtung 3 ausgebildet.
Zwischen der Bildaufnahmevorrichtung 2 und der Auswertevorrichtung 3 ist
eine Datenübertragungseinrichtung 4,
vorzugsweise in Form eines Datenkabels, vorgesehen. Der Auswertevorrichtung
ist eine Bildverarbeitungsvorrichtung 3a nachgeschaltet.
-
Die
Bildaufnahmevorrichtung 2 weist zunächst einen Sensorchip (CCD-Chip) 5 auf,
der über eine
Kamera-Steuerungseinheit 6 mit einem Parallel-/Seriell-Wandler 7 verbunden
ist. Die Ausgänge des
Parallel-/Seriell-Wandlers 7 sind mit einer ersten Verstärkereinheit 8 verbunden,
deren Ausgang mit der bereits erwähnten Datenübertragungseinrichtung 4 in
Wirkverbindung steht. Auf Seiten der Auswertevorrichtung 3 ist
die Datenübertragungseinrichtung 4 zunächst mit
einer Kamera-Schnittstelle (Kamerainterface) 9 verbunden,
welche weitere Bestandteile aufweist. Die Datenübertragungseinrichtung 4 mündet in
eine weitere Verstärkereinheit 10,
deren Ausgänge
mit einem Seriell-/Parallel-Wandler 11 verbunden sind.
Die Ausgänge
des Seriell-/Parallel-Wandlers 11 sind mit den Eingängen eines
FIFO-Datenregisters 12 verbunden. Weiterhin weist das Kamerainterface 9 eine
eigene Steuerungseinheit 13 auf.
-
Das
Kamerainterface 9 steht mit einem Bildspeicher 14 in
signaltechnischer Wirkverbindung. Darüber hinaus weist die Auswertevorrichtung 3 ein – vorzugsweise
softwaretechnisch eingerichtetes – Auswertemodul 15 sowie
eine mit dem Auswertemodul 15 verbundene erste Speichereinrichtung 16 auf. Zudem
besitzt die Auswertevorrichtung 3 eine Systemschnittstelle
(Systeminterface) 17, in der weitere Verstärkereinheiten 18, 19 enthalten
sind. In Wirkverbindung mit der Auswertevorrichtung 3 besitzt
das erfindungsgemäße Bildverarbeitungssystem
weiterhin noch eine Dateneingabevorrichtung 20, die insbesondere
als Keyboard oder als Lesegerät
für Datenträger, wie
z. B. CD-ROMs, ausgebildet sein kann.
-
Wie
weiterhin aus der Darstellung der 1 zu entnehmen
ist, sind zumindest der Sensorchip 5, die Steuerungseinheit 6 und
der Parallel-/Seriell-Wandler 7 der Kameraeinheit 2 durch
einen ersten Taktgeber 21 („Pixel-CLK") gesteuert, während zumindest die Steuerungseinheit 13,
der Bildspeicher 14 und das Auswertemodul 15 der
Auswertevorrichtung 3 von einem zweiten Taktgeber 22 („System-CLK") gesteuert sind.
Der serielle Sendetakt SEC wird über
die Datenübertragungseinrichtung 4 auch
an den Seriell-/Parallel-Wandler 11 sowie das FIFO-Datenregister 12 gelegt.
Die Steuerungseinheit 13 der Auswertevorrichtung 3 weist
erfindungsgemäß weiterhin
noch einen Zähler 23 auf,
der insbesondere als Zeitzähler
ausgebildet sein kann und auf dessen erfindungsgemäße Funk tion
später
noch detailliert eingegangen wird. Des Weiteren steht die Steuerungseinheit 13 mit
einer zweiten Speichereinrichtung 24 in Wirkverbindung,
auf deren erfindungsgemäße Funktion
ebenfalls weiter unten noch eingegangen wird. In dem Auswertemodul 15 ist
zudem eine – vorzugsweise
softwaretechnisch implementierte – Vergleichseinrichtung 25 enthalten.
-
Im
Betrieb des vorstehend beschriebenen Bildverarbeitungssystems 1 nimmt
der Sensorchip 5 Bilder eines zu untersuchenden Objekts
(nicht gezeigt) auf und erzeugt eine Anzahl von Pixeln, deren Anzahl,
Größe, geometrische
Anordnung usw. von der Art des verwendeten Sensorchips 5 abhängt. Für das vorliegende
Ausführungsbeispiel
sei angenommen, dass sich jedes Pixel aus dem Sensorchip 5 als ein
8-Bit-Datenwort darstellen lässt.
Die Pixel werden im Takt des ersten Taktgebers 21 aus dem
Sensorchip 5 ausgelesen und in der Steuerungseinheit 6 mit Steuerdaten
(Header) versehen, wobei sich im Falle des vorliegenden Ausführungsbeispiels
dieser Header als ein 6-Bit-Wort darstellen lässt, sodass die Pixeldaten
und Headerdaten sich insgesamt als ein 14-Bit-Wort darstellen lassen.
Anschließend
werden die Steuer-/Bilddaten in dem Parallel-/Seriell-Wandler 7 in
serielle Daten SD umgewandelt.
-
Außerdem generiert
der Parallel-/Seriell-Wandler 7 aus dem Pixeltakt (Pixel-CLK)
einen seriellen Sendetakt SEC, der im vorliegenden Ausführungsbeispiel
vierzehnmal schneller als der Pixeltakt ist, um jedes 14-Bit-Wort
aus Bild- und Steuerdaten seriell über die Datenübertragungseinrichtung 4 von
der Kameraeinheit 2 zu der Auswertevorrichtung 3 übertragen
zu können.
Der serielle Sendetakt SEC wird über
die Datenübertragungseinrichtung 4 auch an
den Seriell-/Parallel-Wandler 11 sowie
das FIFO-Datenregister 12 gelegt.
-
Der
Seriell-/Parallel-Wandler 11 der Auswertevorrichtung 3 wandelt
die ankommenden seriellen Daten SD in parallele Daten PD um, wobei
er zugleich auch aus dem seriellen Sendetakt SEC einen um den Faktor
Vierzehn geringeren Pixeltakt PC generiert. Anschließend werden
Header und Pixel, d. h. Steuer- und
Bilddaten, in das als Empfangs-FIFO fungierende FIFO-Datenregister 12 geschrieben.
Die Steuerungseinheit 13 der Auswertevorrichtung 3 liest anschließend das
FIFO 12 asynchron zum Schreibtakt (Pixeltakt PC) in einem
durch den zweiten Taktgeber 22 („System-CLK") vorgegebenen Systemtakt SYC,
d. h. dem internen Arbeitstakt der Auswertevorrichtung 3 wieder
aus. Somit findet an dieser Stelle der Übergang vom Pixeltakt der Kameraeinheit 2 zum
Arbeitstakt der Auswertevorrichtung 3 statt.
-
Die
Bilddaten BD werden anschließend – ebenfalls
im Systemtakt SYC – anhand
ihres Headers (ihrer zugehörigen
Steuerdaten) aus dem FIFO 12 aussortiert (ausgelesen; READ-Befehl
in 1) und mittels eines Schreibbefehls (WRITE) unter
einer vorbestimmten Adresse (ADD) in den Bildspeicher 14 geschrieben.
Dessen Inhalt wird anschließend durch
das Auswertemodul 15 ausgewertet, welches anschließend über das
Systeminterface 17 in Abhängigkeit von dem Vergleichsergebnis
entweder über die
Verstärkereinheit 18 oder über die
Verstärkereinheit 19 ein
entsprechendes Steuersignal („ok"/„nok") an weitere Komponenten des Bildverarbeitungssystems 1,
wie die Bildverarbeitungsvorrichtung 3a, sendet.
-
Wie
in 1 anhand eines Blitz-Symbols B dargestellt, ist
insbesondere die Datenübertragungseinrichtung 4 gegenüber externen
EMV-Einflüssen störanfällig. Ein
Gleiches trifft jedoch auch im Rahmen einer ESD-Problematik (ESD:
Electrostatic Discharge) auf die weiteren an der Datenübertragung beteiligten
Komponenten des Bildverarbeitungssystems 1 zu. Mit anderen
Worten: Es kann vorkommen, dass in der Auswertevorrichtung 3,
insbesondere im FIFO-Datenregister 12, fehlerhafte 14-Bit-Wörter vorliegen.
-
2 zeigt
schematisch eine Abfolge von Steuerdaten (Header), die im Rahmen
der Übertragung
eines vollständigen
Bildes (nachfolgend auch als „Übertragungsphase" bezeichnet) von
der Kameraeinheit 2 an die Auswertevorrichtung 3 übertragen werden.
Aus Anschauungsgründen
wurde eine bildähnliche Blockdarstellung
gewählt,
wobei das Bild nicht maßstabsgerecht
ist. Jedes Kästchen
der Abbildung symbolisiert ein (seriell zu übertragendes) 14-Bit-Wort,
wobei in den Kästchen
nur die Header dargestellt sind und der eigentliche, durch die Ausgestaltung
des Sensorchips 5 vorgegebene Bildbereich durch die schraffierte
rechteckförmige
Fläche
dargestellt ist.
-
Die Übertragung
der einzelnen Datenwörter beginnt
in der 2 unten links und schreitet in jeder Zeile von
links nach rechts fort. Das Header-Kürzel „ab" symbolisiert eine Phase, in der keine
Bildaktivität stattfindet
(Leerlauf-/Ruhephase), während
in der mit „hl" bezeichneten Phase
die Bildaktivität
begonnen hat. In dieser Phase wird das Objekt beleuchtet. Header-Kürzel mit
dem Symbol „h" werden bei allen
Sensoroperationen, ausgenommen die Übertragung von Nutzdaten, gesendet.
Mit dem Header-Kürzel „p" sind die eigentlichen
Bildpixel bezeichnet. Bildpixel („p") enthaltende einzelne Nutzzeilen sind
untereinander durch „h"-codierte Wörter voneinander
getrennt.
-
Bei
einem ungestörten Übertragungsverlauf der
in 2 dargestellten Abfolge von der Kameraeinheit 2 zur
Auswertevorrichtung 3 (1) erhält die Steuerungseinrichtung 13 Steuerdaten
(Header), welche sich in folgende Phasen unterteilen lassen: Auf
einen anfänglichen
Leerlauf („ab"), welcher einen Bildwechsel
symbolisiert, folgen so genannte Zeilentrenner während der Schwarzzeilen am
Bildanfang (Codes „hl", „h"). Daran schließen sich
die Pixelbytes der ersten Bildzeile (Code „p") an, gefolgt vom Zeilentrenner (Code „h") zwischen den ersten
und zweiten Bildzeilen. Dann folgen die Pixelbytes der zweiten Bildzeile
usw., bis nach dem Zeilentrenner während der Schwarzzeilen am
Bildende der Übertragungsablauf
mit einem erneuten Leerlauf endet.
-
Unter
erneuter Bezugnahme auf die 1 speichert
die Steuerungseinheit 13 im Kamerainterface 9 bei
jedem ungestört
empfangenen Bild (vgl. 2) die Abfolge, Anzahl und Dauer
der einzelnen Übertragungsphasen
(„h", „p", usw.) in der Speichereinrichtung 24 ab.
Bei jedem neuen Bild, d. h. zu Beginn einer neuen Gesamt-Übertragungsphase,
wird in der Steuerungseinheit 13 der als Überwachungstimer
fungierende (Zeit)-Zähler 23 zurückgesetzt
und gestartet, wobei als Endwert des Zählers 23 diejenige Zeit
eingestellt wird, welche beim letzten ungestörten Bild (vgl. 2)
durch die Steuerungseinheit 13 in der Speichereinrichtung 24 gespeichert
wurde. Anschließend
untersucht die Steuerungseinheit 13 während der Übertragungsphase die in jedem übertragenen
14-Bit-Wort enthaltenen Steuerdaten, um aufgrund von Störungen ungültig gewordene
oder falsche Header zu identifizieren, was beispielsweise durch
einen Vergleich mit in der Speichereinrichtung 24 abgelegten
Referenzwerten geschehen kann.
-
Werden
auf diese Weise während
einer Übertragungsphase
aufgrund von Störungen
ungültig
gewordene Header erkannt, so reagiert die Steuerungseinrichtung
erfindungsgemäß wie folgt:
Die Steuerungseinheit 13 wartet ab, bis der Zähler 23 seinen
aktuell eingestellten Endwert erreicht hat. Dies entspricht nach
dem Vorstehenden dem tatsächlichen
Ende einer ungestörten Übertragungsphase und
bedeutet zugleich das simulierte Ende der vorliegenden gestörten Übertragungsphase.
Anschließend wird
der Zähler 23 zurückgesetzt,
d. h., die Zeit für
die nächste Übertragungsphase
wird geladen. Anschließend
wird erneut so lange gezählt,
d. h. gewartet, bis der Zähler 23 wiederum
seinen Endwert erreicht hat. Dies entspricht dem simulierten Ende
der nächsten gestörten Übertragungsphase
usw. Dieses Verfahren kann fortgesetzt werden, bis erneut ungestörte Daten mit
gültigen,
d. h. zu der durch den aktuellen Zählerstand angezeigten Phase
passenden Steuerdaten (Header) empfangen werden.
-
Es
sei angemerkt, dass erfindungsgemäß grundsätzlich quasi beliebige Endwerte
für den Überwachungstimer
eingestellt werden können.
Beispielsweise ist es möglich,
den Endwert des Überwachungstimers
mit demjenigen Zeitpunkt zu synchronisieren, in dem bei ungestörter Bildübertragung
das letzte Steuer-/Bilddaten-Wort empfangen würde (Kästchen ganz oben rechts in 2).
Eine alternative Lösungsmöglichkeit
besteht darin, den in der 2 gezeigten
Ablauf in mehrere gleich oder unterschiedlich lange Teilabläufe mit
entsprechenden Timer-Endwerten zu unterteilen. In diesem Fall wird das
erfindungsgemäße Verfahren
bis zum simulierten Bildende oder wiederum bis zum Empfang ungestörter Daten
mit gültigem
und zur aktuellen Phase passendem Header fortgesetzt.
-
Entscheidend
ist dabei, dass über
den fortlaufend weitergezählten Überwachungstimer
(Zähler 23)
in Verbindung mit den in der Speichereinrichtung 24 gespeicherten
Informationen bezüglich
der Abfolge, Anzahl und Dauer einzelner Übertragungsphasen bei einem
ungestört
empfangenen Bild eine Zuordnungsmöglichkeit zwischen Phasen,
d. h. Zeitpunkten, in denen ohne Störung Pixel einer Zeile übertragen
würden,
und den entsprechenden Speicherorten im Bildspeicher 14 gegeben
ist.
-
Mit
anderen Worten: Über
den aktuellen Zählerstand
des Zählers 23 ist
eine Möglichkeit
geschaffen, auch während
einer gestörten
Datenübertragung zu
bestimmten Zeiten, die den Übertragungszeitpunkten
von Bild-/Nutzdaten eines ungestörten
Bildes entsprechen, direkt auf den entsprechenden Speicherort im
Bildspeicher zuzugreifen, wobei erfindungsgemäß bei Vorliegen einer Störung, d.
h. eines identifizierten ungültigen
oder falschen Headers während
derjenigen Phasen, in denen ohne Störung Pixel (beispielsweise
einer Zeile) übertragen
würden, durch
die Steuerungseinheit 13 ein vorbestimmter Bildwert (Default-Pixel,
beispielsweise Weiß)
an die entsprechende Stelle im Bildspeicher geschrieben wird. Ein
derartiger Default-Pixel wird vorliegend – wie erwähnt – auch als „Dummypixel" bezeichnet.
-
3 zeigt
in vereinfachter Form in Anlehnung an die Darstellung der 2 den
zeitlichen Ablauf der Datenübertragung
eines gestörten
Bildes bei einer beispielhaften Auflösung von zehn Zeilen, wobei
hier die Abbildung wie beim gewöhnlichen
Lesen von links oben nach rechts unten zu be trachten ist, während die
Zeit t in Betrachtungsrichtung fortschreitet. Nach dem Vorstehenden
entspricht das Fortschreiten der Zeit t einem Hochzählen des
als Überwachungstimer
fungierenden (Zeit-)Zählers 23 (1).
-
Gemäß der Darstellung
in 3 wird der Zähler 23 zu
einem Anfangs-Zeitpunkt t0 zurückgesetzt
und nimmt zu einem End-Zeitpunkt
te seinen hier nicht genauer spezifizierten
Endwert an, was vorliegend der vollständigen Übertragung eines ungestörten fünf mal zehn
Pixel großen
Bildes einschließlich
einer Übertragung
der Schwarzzeilen am Bildanfang und Bildende sowie der Übertragung
von Zeilentrennern zwischen den einzelnen Bildzeilen entspricht.
Diejenigen Zeitpunkte t, in denen gemäß der 3 Bild-/Nutzdaten übertragen
werden, sind mit 1 bis 50 beziffert, wobei – wie angegeben – die Ziffern
1 bis 5 den Pixeln der ersten Bildzeile, die Ziffern 6 bis 10 den
Pixeln der zweiten Bildzeile, die Ziffern 11 bis 15 der dritten
Bildzeile usw. entsprechen.
-
Es
sei darauf hingewiesen, dass die angegebenen Ziffern 1 bis 50 im
Allgemeinen nicht den entsprechenden Zählerwerten des Zählers 23 (1) entsprechen,
da dieser insbesondere auch während der
Zeitintervalle x, y und z fortlaufend weiterzählt, welche einer Übertragungsdauer
der Schwarzzeilen am Bildanfang, der jeweiligen Zeilentrenner bzw.
der Schwarzzeilen am Bildende entsprechen, wie aus der 3 ersichtlich
ist.
-
Allerdings
lässt sich
erfindungsgemäß aus dem
beispielsweise der Ziffer 35 in 3 zugeordneten
(nicht gezeigten) Zählerwert
des Zählers 23 (1)
ein Speicherort für
den entsprechenden Bildpunkt in Zeile 7, Spalte 5 des
zu verarbeitenden Bildes anhand der in der Speichereinrichtung 24 (1)
abgelegten Daten identifizieren, sodass gegebenenfalls, d. h. bei
erkannter Übertragungsstörung ein
vorbestimmter Bildwert an genau diesen Speicherort geschrieben werden
kann. Dies ist nachfolgend in der 4 beispielhaft
unter der Annahme dargestellt, dass zu den in der 3 mit den
Ziffern 40 bis 48 bezeichneten Zeitpunkten ein Zeitraum mit gestörter Datenübertragung
vorlag (schraffierter Bereich in 3), wobei
in dem gezeigten Ausführungsbeispiel
auch zwei Zeiträume
mit Übertragung
eines Zeilentrenners y mit in den gestörten Zeitbereich fallen.
-
4 zeigt
schematisch-tabellarisch die nach Übertragung des gestörten Bildes
gemäß der 3 im
Bildspeicher 14 der erfindungsgemäßen Auswertevorrichtung 3 nach 1 abgelegten
Daten. Die linke Spalte der Tabelle in 4 gibt schematisch
den Speicherort/die Speicheradresse für jedes Pixel an, wobei zu
dem angegebenen Wert jeweils noch die aus der tabellarischen Anordnung
zu entnehmende jeweilige Spaltennummer zu addieren ist. Wenn man
nun die in der 3 angegebenen Ziffernwerte mit
den jeweiligen Bilddaten eines jeweiligen Pixels identifiziert,
ergibt sich die in der 4 dargestellte Belegung des
Bildspeichers 14, wobei anstelle der gestörten Pixel,
d. h. an den entsprechenden Speicherplätzen erfindungsgemäß Dummywerte
abgelegt wurden. Vorzugsweise handelt es sich bei diesen Dummywerten
jeweils um den Bildwert für
die Farbe Weiß.
-
Durch
das vorstehend beschriebene Verfahren wird vom Kamerainterface 9 auch
bei nachhaltig gestörten
Bildern ein kompletter Bilddatensatz in den Bildspeicher geschrieben,
wie vorstehend anhand der 4 erläutert. Dieser
besteht demnach aus den korrekt empfangenen Pixeln und den während gestörter Übertragungsphasen
eingetragenen Dummywerten/Dummypixeln. Entscheidend ist hierbei,
dass aufgrund des erfindungsgemäßen Einsatzes
des Zählers 23 (1)
insbesondere die vorhandenen ungestörten Pixel jeweils an der richtigen,
zu einer entsprechenden Zeile und Spalte des Bildes gehörenden Stelle
im Bildspeicher 14 stehen. Das Auswertemodul 15 (1)
kann also in jedem Fall auf einem kompletten Bilddatensatz operieren,
sodass grundsätzlich
auch während
stark gestörter Übertragungsphasen
eine Bildauswertung durch die Bildverarbeitungsvorrichtung 1a (1)
möglich
ist. Erfindungsgemäß wird im
Rahmen des vorliegenden Ausführungs beispiels
jedoch vorzugsweise durch in der Speichereinrichtung 16 abgelegte
Informationen ein Bildbereich des in dem Bildspeicher 14 enthaltenen Bildes
definiert, der für
eine korrekte Auswertung des (gestörten) Bildes relevant ist.
-
Auf
diese Weise kann das Auswertemodul 15 durch den Einsatz
der Vergleichseinrichtung 25 durch einen Vergleich der
in dem Bildspeicher 14 enthaltenen Bilddaten mit den in
der Speichereinrichtung 16 enthaltenen Informationen feststellen,
ob für eine
korrekte Auswertung des (gestörten)
Bildes relevante Bereiche mit betroffen sind oder nicht. Kommt das
Auswertemodul 15 zu dem Ergebnis, dass nur solche Bildbereiche
gestört
sind, d. h. Dummywerte aufweisen, welche für die korrekte Auswertung des Bildes
nicht relevant sind, so wird gemäß dem gezeigten
Ausführungsbeispiel über die
Verstärkereinheit 18 ein
entsprechend positives Ergebnis („ok") an die weiteren Komponenten des erfindungsgemäßen Bildverarbeitungssystems 1 ausgegeben.
Sind jedoch auch auswertungsrelevante Bildbereiche betroffen, so
wird entsprechend ein negatives Ergebnis („nok") über
die Verstärkereinheit 19 ausgegeben. Dabei
wird durch die konkrete Ausgestaltung des Auswertemoduls 15,
d. h. vorzugsweise durch entsprechende Software sichergestellt,
dass ein Bild, welches bei ungestörter Übertragung als „nok" ausgewertet würde, bei
gestörter Übertragung
nicht als „ok" durch die Bildverarbeitungsvorrichtung 3a ausgewertet
wird.
-
Abweichend
von der oben gegebenen Beschreibung des bevorzugten Ausführungsbeispiels können auch
andere, für
die Auswertung der Bilddaten durch das Auswertemodul 15 benötigte Informationen
in der Speichereinrichtung 16 abgespeichert sein. Beispielsweise
kann dort eine Anzahl von Bildbereichen definiert sein, die für eine korrekte
Bildauswertung gerade nicht erforderlich sind. Insbesondere derartige
Informationen können über die
Eingabeeinrichtung 20 durch einen Benutzer an das System übermittelt
werden, beispielsweise unter Verwendung eines geeignet lesbaren
Datenträgers,
wie einer CD-ROM. In gleicher Weise lässt sich die Eingabeeinrichtung 20 auch dazu
verwenden, Programmcode-Sequenzen zur softwaretechnischen Einrichtung
bestimmter Systemkomponenten und zur Durchführung des erfindungsgemäßen Verfahrens zu
implementieren, wie insbesondere das Auswertemodul 15 mit
Vergleichseinrichtung 25 sowie der Steuerungseinheit 13 mitsamt
dem Zähler 23.
-
Des
Weiteren ist es zusätzlich
oder alternativ zu der weiter oben beschriebenen Ausführungsform, bei
der das Auswertemodul 15 die gestörten Bildbereiche durch explizites
Inspizieren des Bildspeicher-Inhalts identifiziert, auch möglich, dass
die Steuerungseinheit 13 gleichzeitig mit dem Schreiben eines
Dummywerts in den Bildspeicher 14 eine entsprechende Information
an das Auswertemodul 15 sendet, wie in der 1 mit
Pfeil I dargestellt. Auf diese Weise erkennt das Auswertemodul 15 gestörte Bildbereiche
des in dem Bildspeicher 14 enthaltenen Bildes, ohne dessen
Inhalt selbst inspizieren zu müssen.
-
Auf
diese Weise ist es erfindungsgemäß möglich, unmittelbar
das oben erwähnte „nok"-Steuersignal auszugeben,
wenn das Auswertemodul 15 erkennt, dass eine bestimmte
Anzahl gestörter
Pixel gemäß Mitteilung
durch die Steuerungseinheit 13 (Pfeil I) in einen Bereich
fallen, der gemäß den in
der Speichereinrichtung 16 enthaltenen Informationen zur
Auswertung des Bildes unbedingt erforderlich ist. Erfindungsgemäß kann ein
derartig gestörtes
Bild grundsätzlich
dennoch vollständig
ausgewertet werden, wobei jedoch die weiteren Systemkomponenten,
wie die Bildverarbeitungsvorrichtung 1a, aufgrund des entsprechenden
Steuersignals („nok") über den
entsprechenden Störungszustand
des Bildes informiert sind.
-
Abschließend zeigt
die 5 ein Ablaufdiagramm einer Ausgestaltung des erfindungsgemäßen Verfahrens.
Das Verfahren startet in Schritt 500. Anschließend wird
in Schritt 502 zunächst
zumindest ein ungestörtes
Bild durch das erfindungsgemäße Bildverarbeitungssystem
empfangen, d. h. durch die Kameraeinheit aufgenommen und entsprechend
ungestört
an die Auswertevorrichtung übertragen.
Danach werden in Schritt 504 für das ungestörte empfangene
Bild die Abfolge, Anzahl und Dauer der einzelnen Übertragungsphasen
abgespeichert. In Schritt 506 wird dann der entsprechende Überwachungstimer
eingerichtet, insbesondere dessen aktueller Endwert eingestellt.
-
In
Schritt 508 wird anschließend mit dem Empfang von Bild-/Steuerdaten
eines neuen Bildes begonnen (Schritt 508a), wobei gleichzeitig
der Überwachungstimer
in Schritt 508b gestartet wird, der bei einer ungestörten Übertragung
seinen zuvor eingestellten Endwert gerade mit dem Abschluss der
letzten Übertragungsphase
bzw. dem Ende der einzigen Übertragungsphase
erreicht. Im folgenden Schritt 510 erfolgt eine Abfrage
dahingehend, ob ein jeweiliges Header-Datum der Übertragung korrekt empfangen
wurde und ob dem gegenwärtigen Übertragungsdatum über den
aktuellen Zählerstand
ein Pixel zugeordnet ist oder nicht.
-
Eine
einfache Nachweismöglichkeit
für Header-Störungen ergibt
sich im Rahmen der vorliegenden Erfindung aufgrund der hohen Redundanz
der Steuerdaten, da ein 6-Bit-Wort zur Darstellung von vorliegend
lediglich vier unterschiedlichen Headern (vgl. 2)
verwendet wird, sodass störungsbedingte
Header-Veränderungen
mit hoher Wahrscheinlichkeit nachweisbar sind. Werden die beiden
Abfragen in Schritt 510 bejaht (j), so handelt es sich
um einen ungestörten
Bildpunkt/Pixel, der in einem anschließenden Schritt 512 an
seinem Speicherort im Bildspeicher abgelegt wird, wie weiter oben
detailliert beschrieben wurde. Wird dagegen in Schritt 510 nur
die Abfrage hinsichtlich des Vorliegens eines ungestörten Headers
verneint (n), so wird anstelle des ungestörten Bildpunkts in Schritt 514 ein
Dummywert eingetragen, wie ebenfalls weiter oben detailliert beschrieben
wurde.
-
Der
weitere Fall zweier verneinter Abfragen in Schritt 510 (gestörte Übertragung,
kein Bildpunkt) ist in der vorliegenden 5 nicht
explizit behandelt. An den vorstehend beschriebenen Schritt 514 kann sich
im Rahmen einer besonderen Ausgestaltung der vorliegenden Erfindung
ein weiterer Schritt 514' (gestrichelt
gezeichnet) anschließen,
in welchem die Steuerungseinheit 13 (1)
Informationen I (1) an das Auswertemodul 15 (1)
sendet, um diese bezüglich
des Vorhandenseins bzw. der Position eines gestörten Bildpunkts zu unterrichten,
wie ebenfalls weiter oben bereits ausführlich beschrieben wurde. Sowohl
im Falle einer bejahten Abfrage in Schritt 510 als auch
im Falle einer verneinten Abfrage in Schritt 510 erfolgt
anschließend
in Schritt 516 eine weitere Abfrage dahin gehend, ob noch
Daten (Bild-/Steuerdaten) zur Verarbeitung durch die Steuerungseinheit 13 (1)
anstehen.
-
Ist
dies der Fall (j), so wird im Schritt 518 das entsprechend
nächste
Daten-Wort aus dem FIFO-Datenregister ausgelesen (Pfeil READ in 1)
und das Verfahren kehrt nach Schritt 510 zurück. Anderenfalls
(n) ist der Bildspeicher voll und es erfolgt anschließend in
Schritt 520 der weiter oben bereits detailliert erläuterte Vergleich
des Bildspeicher-Inhalts bzw. der in Schritt 514' gesendeten
Informationen mit dem Inhalt der Speichereinrichtung 16 (1),
wobei festgestellt wird, ob die in dem Bildspeicher 14 (1)
enthaltenen Bilddaten auswertbar sind oder nicht. Wird dementsprechend
in Schritt 520 festgestellt, dass die Bilddaten – gegebenenfalls trotz
Störung – auswertbar
sind (j), so wird dies weiteren Systemkomponenten in Schritt 522 mitgeteilt („ok" in 1).
-
Anderenfalls
(n) werden die übrigen
Systemkomponenten, wie die Bildverarbeitungsvorrichtung, darüber in Kenntnis
gesetzt, dass zu starke Störungen
eine Auswertung des Bildes verhindern („nok" in 1) (Schritt 524).
An den Verfahrensschritt 522 schließt sich mit Schritt 526 noch
eine weitere Abfrage an, mit der festgestellt wird, ob es sich bei
der Bildübertragung
ab Schritt 508 um eine vollständig ungestörte Bildübertragung gehandelt hat oder
nicht. Ist dies der Fall (j), so kehrt das Verfahren nach Schritt 504 zurück und speichert
die entsprechenden Werte (Abfolge, Anzahl und Dauer der Übertragungsphasen)
vor dem Empfang des nächsten
Bildes, wie oben ausgeführt.
Handelt es sich jedoch um eine gestörte Bildübertragung (n), so kehrt das
Verfahren nach Schritt 508 zurück.
-
Das
erfindungsgemäße Verfahren,
die erfindungsgemäße Vorrichtung
sowie das erfindungsgemäße System
kommen vorzugsweise bei solchen Bildverarbeitungsaufgaben zum Einsatz,
bei welchen kein vollständiges
Bild für
eine korrekte Bildauswertung benötigt
wird. Ein Beispiel hierfür
ist die Teileerkennung, bei der zu erkennende Teile kleiner als
das insgesamt zur Verfügung
stehende Bildfenster des Speicherchips sind. Die Auswertesoftware
(zur Realisierung des Auswertemoduls 15; 1)
bestimmt beim Einlernen des Gegenstands den Bildbereich, der für die Auswertung
im späteren
Betrieb benutzt wird („Region
of Interest") und
der entsprechend in der Speichereinrichtung 16 (1)
hinterlegt ist. Ein weiteres derartiges Beispiel sind Datamatrix-Codeleser-Anwendungen,
bei denen oftmals redundante Codes verwendet werden, sodass zur
Auswertung die Erfassung eines Teils des gesamten Codes genügt.