-
Die vorliegende Erfindung bezieht sich auf ein
Bildverarbeitungssystem in einem Bildverarbeitungsgerät, das
wirksam logisch lauflängencodierte Binärbilddaten
ausfiltern kann.
-
Lauflängencodierrauschverarbeiten und Decodieren von
Binärbilddaten ist beispielsweise bekannt aus Patent
Abstracts of Japan, Band 12 (Seite 656), JP-A-
62172 485, N.T.T., was auch eine Einrichtung zum
Bestimmen, ob Muster in zweidimensionalen Bilddaten mit
bestimmten Binärmustern übereinstimmen, offenbart. Eine
spezifische logische Schaltungsanordnung ist
erforderlich.
-
In einem Bildverarbeitungsgerät, wie beispielsweise
einem OCR (optischer Zeichenleser) und einem optischen
Zeichnungsleser werden zu verarbeitende Bilddaten
allgemein als ein Binärbild mittels zwei Typen von Daten,
das heißt 0 und 1, ausgedrückt. Wenn ein so
ausgedrücktes Binärbild einem logischen Filterprozeß unterworfen
wird, wie beispielsweise einer Merkmalserfassung und
Verdünnung (Verarbeitung, um ein dickes Liniensegment
in ein dünnes Liniensegment umzusetzen) ist es
gewöhnlich einer TV-Rasterabtastung unterworfen, um ein
Muster von N × M Pixels mit einem interessierenden Pixel
als eine Mitte auszusieben, und es wird dann einer
vorbestimmten Verarbeitung gemäß dem ausgesiebten Muster
unterworfen. Um jedoch eine derartige Verarbeitung zum
Aussieben des N × M Musters auszuführen, muß auf einen
Speicher, der das Binärbild speichert, oft zugegriffen
werden. Da die Anzahl der Zugriffszeiten groß ist, wird
die Verarbeitungsgeschwindigkeit niedrig.
-
Wenn die zu verarbeitenden Bilddaten als Binärdaten in
Einheiten von Pixels ausgedrückt werden, wird die
Datenmenge der Bilddaten sehr groß. Aus diesem Grund sind
die Bilddaten einem Lauflängencodieren in Einheiten von
Reihen oder Zeilen unterworfen, so daß die Bilddaten in
einer gepreßten Datenform ausgedrückt werden. Wenn
lauflängencodierte, zu verarbeitende Bilddaten dem oben
erwähnten logischen Filterprozeß unterworfen werden,
müssen jedoch die gepreßten Bilddaten zu den
ursprünglichen Bilddaten, ausgedrückt in Einheiten von Pixels,
gedehnt werden. Wenn die ursprünglichen Bilddaten einer
vorbestimmten logischen Filterverarbeitung unterworfen
sind, müssen sie dann wieder einem Lauflängencodieren
ausgesetzt werden. Wenn auf diese Weise
lauflängencodierte, zu verarbeitende Bilddaten der logischen
Filterverarbeitung unterworfen sind, wird das gesamte
Bildverarbeiten sehr kompliziert.
-
Wenn, wie oben beschrieben, gewöhnlich Binärbilddaten
der logischen Filterverarbeitung unterworfen sind, muß
auf den Speicher, der die Binärbilddaten speichert, oft
zugegriffen werden, um das N × M Pixelmuster als das
Einheitsmuster der zu verarbeitenden Bilddaten zu
erhalten, was zu einer niedrigen
Verarbeitungsgeschwindigkeit führt. Wenn zusätzlich die zu verarbeitenden
Bilddaten in der Form von lauflängencodierten Daten
vorliegen, müssen die lauflängencodierten Daten zu den
ursprünglichen Binärbilddaten wiederhergestellt werden,
was zu einem logischen Filtern von einer sehr niedrigen
Verarbeitungswirksamkeit führt.
-
Es ist eine Aufgabe der vorliegenden Erfindung, ein
Bildverarbeitungssystem vorzusehen, das ein wirksames
logisches Filterverarbeiten von zu verarbeitenden
Bilddaten, die durch Lauflängencodieren gepreßt sind, mit
hoher Geschwindigkeit durchführen kann.
-
Gemäß der vorliegenden Erfindung sind ein
Bildverarbeitungssystem gemäß Patentanspruch 1 und ein
Verarbeitungsverfahren gemäß Patentanspruch 6 vorgesehen.
-
In einem Bildverarbeitungsgerät, wie beispielsweise
einem OCR, und einem optischen Zeichnungsleser kann, wenn
zu verarbeitende Bilddaten, die gemäß einem
Lauflängencodieren gepreßt sind, einem vorbestimmten logischen
Filterverarbeiten unterworfen sind, ein zu N × M Pixel
codiertes Muster als das Fundamentalobjekt für das
logische Filterverarbeiten sehr einfach und wirksam
erhalten werden, ohne die zu verarbeitenden Bilddaten zu
dem ursprünglichen Binärbild durch Datendehnung
wiederherzustellen. Dann können die lauflängencodierten
verarbeiteten Bilddaten, die logisch gemäß den zu N × M
Pixel codierten Muster gefiltert sind, erhalten werden.
Als ein Ergebnis ist eine Dehnung der Bilddaten nicht
erforderlich, und auf Pixeldaten braucht nicht
unabhängig zugegriffen zu werden, was zu einem sehr schnellen,
wirksamen logischen Filterverarbeiten führt.
-
Diese Erfindung kann vollständiger aus der folgenden
Detailbeschreibung im Zusammenhang mit den begleitenden
Zeichnungen verstanden werden, in welchen:
-
Fig. 1 ein Blockdiagramm eines
Bildverarbeitungsgerätes ist, das zum Ausführen
eines Bildverarbeitungssystems gemäß
einem Ausführungsbeispiel der
vorliegenden Erfindung verwendet wird,
-
Fig. 2 ein Flußdiagramm ist, das
Grundverarbeitungsschritte zum Betreiben des
Bildverarbeitungssystems nach dem
Ausführungsbeispiel der vorliegenden
Erfindung zeigt,
-
Fig. 3 ein Binärbildmuster eines zu
verarbeitenden Bildes zeigt,
-
Fig. 4 lauf längencodierte Daten mit dem in
Fig. 3 dargestellten Binärbildmuster
zeigt,
-
Fig. 5 zu 1 × 3 Pixel codierte Musterdaten der
sechsten bis achten Zeilen zeigt, die
aus den lauflängencodierten Daten von
Fig. 4 erhalten sind,
-
Fig. 6 ein zu 3 × 3 Pixel codiertes Muster der
siebenten Reihe oder Zeile zeigt, das
aus dem in Fig. 5 dargestellten zu
1 × 3 Pixel codierten Muster enthalten
ist,
-
Fig. 7 logisch gefilterte lauf längencodierte
Daten zeigt, und
-
Fig. 8 ein Flußdiagramm ist, das die Schritte
des logischen Filterprozesses zeigt,
der wiederholt ausgeführt ist.
-
Gemäß einem in Fig. 1 gezeigten Bildverarbeitungsgerät
tastet ein Abtaster 11 optisch ein Bild ab und gibt
Binärbilddaten aus. Der Ausgangsanschluß des Abtasters 11
ist mit dem Eingangsanschluß eines Lauflängencodierers
12 verbunden. Der Codierer 12 führt ein
Lauflängencodieren der von dem Abtaster 11 ausgegebenen
Binärbilddaten durch und liefert weiter unten beschriebene
lauflängencodierte Daten. Der Ausgangsanschluß des
Codierers 12 ist mit dem Eingangsanschluß einer 1 × M
(1 × 3 in diesem
Ausführungsbeispiel)-Musterbildungsschaltung 13 verbunden. Die 1 × M
Musterbildungsschaltung 13 setzt die lauflängencodierten Daten in 1 × M
(1 × 3) pixelcodierte Musterdaten gemäß einem weiter
unten beschriebenen Verfahren um. Der Ausgangsanschluß
der Musterformierschaltung 13 ist mit dem
Schreibanschluß eines Pufferspeichers 14 verbunden. Der
Pufferspeicher 14 speichert die 1 × M pixelcodierten
Musterdaten. Der Ausleseanschluß des Pufferspeichers 14
ist mit dem Eingangsanschluß einer N × M (3 × 3 in
diesem Ausführungsbeispiel) pixelcodierten
Musterbildungsschaltung 15 verbunden. Die Musterbildungsschaltung 15
setzt die 1 × M Musterdaten in N × M pixelcodierte
Musterdaten gemäß einem unten beschriebenen Verfahren um.
Der Ausgangsanschluß der N × M Musterbildungsschaltung
15 ist mit dem Schreibanschluß eines Speichers 16 zum
Speichern der N × M pixelcodierten Musterdaten
verbunden. Der Ausleseanschluß des Speichers 16 ist an einen
Eingangsanschluß einer Filterschaltung 17
angeschlossen.
Die Filterschaltung 17 filtert die N × M
pixelcodierten Musterdaten mittels eines Filterkoeffizienten,
der von einer Filtertabelle 18 geliefert ist, gemäß dem
Dateninhalt. Der Ausgangsanschluß der Filterschaltung
17 ist an den Eingangsanschluß einer Ausgangsschaltung
19 angeschlossen. Die Ausgangsschaltung 19 liefert die
gefilterten N × M pixelcodierten Musterdaten direkt
oder nach Wiederherstellen von diesen zu
Bitmusterdaten, d.h. Binärbilddaten.
-
Ein Bildverarbeitungssystem gemäß dem
Ausführungsbeispiel der vorliegenden Erfindung wird anhand der Fig. 2
erläutert.
-
Zunächst wird ein logisches Filterverarbeiten für
Merkmalsaussiebung oder Verdünnung eines zu verarbeitenden
Bildes, ausgedrückt als Binärdaten, beschrieben. Wenn
gemäß diesem logischen Filterverarbeiten angenommen
wird, daß die Bildgröße eines zu verarbeitenden Bildes
X × Y beträgt und daß Binärbilddaten, ausgedrückt
mittels zwei Werten von "0" und "1" durch Iij (i = 1, 2,
..., Y, j = 1, 2, ..., X) gegeben sind, so kann ein
Verarbeitungsergebnis Jij, das durch Filtern von
Bilddaten erhalten ist, ausgedrückt werden als eine
Funktion von f:
-
Iij = f[P(Iij)]
-
wobei P(Iij) ein Wert ist, der ein N × M pixelcodiertes
Muster mit einem zu verarbeitenden Pixel Iij als der
Mitte ausdrückt.
-
Wenn das N × M zweidimensionale Muster als Daten einer
eindimensionalen Anordnung von N × M Bits ausgedrückt
ist, so entspricht dessen (1 × N × k)-tes Bit dem Wert
von Ii - [N/2]+k,j-[M/2]+l (dargestellt durch 1 und 0),
wobei [N] eine maximale ganze Zahl ist, die nicht N
überschreitet.
-
Das heißt, wenn das N × M pixelcodierte Muster ein
3 × 3 pixelcodiertes Muster ist (N = M = 3), so wird
P(Iij) als Bitfolgedaten ausgedrückt:
-
[Ii-1, j-1, Ii, j-1, Ii+1, j-1,
Ii-1, j, Ii, j, Ii+1, j
Ii-1, j+1, Ii, j+1, Ii+1, j+1]
-
Da P(Iij) der N × M pixelcodierten Daten ein N × M
Bitwert ist, kann die Filterfunktion f als eine Funktion
mit N × M-Bit ganzzahligen Daten als ein Eingang
ausgedrückt werden. Die eingegebenen Daten, d.h. die N × M
pixelcodierten Musterdaten werden als eine begrenzte
ganze Zahl ausgedrückt. Damit kann die Filterfunktion f
erhalten werden, indem beispielsweise auf die
Filtertabelle 18 Bezug genommen wird.
-
Demgemäß kann für ein Verarbeiten zum Gewinnen von
Merkmalen, beispielsweise einem Verzweigungspunkt und
einem Anschlußpunkt in einem Binärbild, ein
Verarbeiten, das typisch ein logisches Filterverarbeiten von
Binärdaten ist, die Funktion f bezüglich eines
interessierenden Pixels durch den Wert des N × M
pixelcodierten Musters bestimmt werden, so daß die oben
beschriebene Filterfunktion f erhalten werden kann, indem auf
eine Tabelle mit einem 9-Bit-Eintrag Bezug genommen
wird. Die vorliegende Erfindung zeichnet sich dadurch
aus, daß gemäß der Untersuchung betreffend des
logischen Filterverarbeitens lauflängencodierte, zu
verarbeitende Bilddaten direkt der logischen
Filterverarbeitung unterworfen sind, indem auf eine Tabelle ohne
Wiederherstellung zu den ursprünglichen Bilddaten durch
Datendehnung Bezug genommen ist.
-
Die Schritte der Bildverarbeitung gemäß dem
Ausführungsbeispiel der vorliegenden Erfindung werden anhand
des Flußdiagrammes von Fig. 2 beschrieben.
-
Die Binärbilddaten, die von dem Abtaster 11 ausgegeben
sind, werden durch den Codierer 12 lauflängencodiert,
um lauflängencodierte Bilddaten zu erhalten (Schritt
a1). Wenn beim Lauflängencodierverarbeiten
beispielsweise 16 × 16 Pixel-Binärbilddaten zu dem
Lauflängencodierer 12 als das zu verarbeitende Bild von dem
Abtaster 11 gespeist werden, wie dies in Fig. 3 gezeigt
ist, so erhält der Lauflängencodierer 12 die
Wiederholungszahlen jeweils der Schwarz- und Weiß-Pixels in
Einheiten von Reihen oder Zeilen und drückt diese als
Binärbilddaten in dem in Fig. 4 gezeigten Datenformat
aus. Bezüglich Fig. 4 sei bemerkt, daß Bezugssymbole Wk
und Bk eine lauf längencodierte Datenfolge darstellen.
Bk ist eine Weiß-Verkettungskomponente mit einer Länge
von k Bits. Bk ist eine Schwarz-Verkettungskomponente
mit einer Länge von k Bits. Beispielsweise stellen W7,
B1 und W8 der 7-ten Zeile oder Reihe 7 sich
wiederholende Weiß-Pixels bzw. 1 Schwarzpixel und 8 sich
wiederholende Weiß-Pixels dar.
-
Die Bilddaten, die auf diese Weise lauflängencodiert
sind, werden der logischen Filterverarbeitung durch die
1 × N Musterbildungsschaltung 13 in der folgenden Weise
unterworfen. In diesem Fall wird zuerst der Wert des
Reihen- oder Zeilenzahlzählers, der eine Reihe oder
Zeile der lauflängencodierten Bilddaten angibt, zu [1]
initialisiert (Schritt a2). Dann werden das 1 × M
pixelcodierte Muster der I-ten Reihe oder Zeile, die
durch den Zählerstand des Zählers bezeichnet ist, und
die Wiederholungszahl des 1 × M pixelcodierten Musters,
das identisch zu dem pixelcodierten Muster der I-ten
Reihe oder Zeile ist, erhalten (Schritt a3). Wenn
beispielsweise ein 3 × 3 pixelcodiertes Muster der
logischen Filterverarbeitung unterworfen ist, werden ein
1 × 3 pixelcodiertes Muster und die Wiederholungszahl
des hiermit identischen 1 × 3 pixelcodierten Musters
erhalten. Es gibt 8 Mustertypen Pk, die durch 3 Bits
wie folgt dargestellt sind:
-
[000] [001] [010] [011] [100] [101] [110] [111]
-
Diese Mustertypen Pk werden sequentiell mittels
Adressen [0] bis [7] ausgedrückt. Es sei angenommen, daß
eine Musterstartposition als [x] bezeichnet ist und die
Musterwiederholungszahl als L bezeichnet ist. Von den
in Fig. 4 gezeigten, oben beschriebenen
lauflängencodierten Bilddaten werden beispielsweise die 1 × 3
pixelcodierten Musterdaten von 3 Reihen oder Zeilen mit
der 7-ten Reihe oder Zeile als der Mitte, d.h. die
Musterdaten der 6-ten, 7-ten und 8-ten Reihe oder Zeile,
durch die 1 × M Musterformierschaltung 13 in das Format
(X, Pk, L), wie in Fig. 5 gezeigt, umgesetzt. In
Einzelheiten zeigt beispielsweise (1, 0, 7) der 7-ten
Reihe
oder Zeile in Fig. 5 an, daß die Musterstartposition
die erste Spalte ist, daß der Mustertyp durch eine
Adresse [0], d.h. [000] wiedergegeben ist, und daß die
Musterwiederholungszahl durch 7 gegeben ist.
-
Dann wird gemäß den 1 × 3 pixelcodierten Musterdaten,
die auf diese Weise erhalten sind, das 3 × 3
pixelcodierte Muster der I-ten Reihe oder Zeile aus den drei
1 × 3 pixelcodierten Mustern der (I-1)-ten, I-ten und
(I+1)-ten Reihen oder Zeilen (Muster der 6-ten, 7-ten
und 8-ten Reihen oder Zeilen in diesem
Ausführungsbeispiel) erhalten (Schritt a4). Dieses Verarbeiten wird
durch die N × M Musterformierschaltung 15 durchgeführt,
indem ein maximales Segment unter Segmenten [Xa, Xb]
erhalten wird, in welchen die drei 1 × 3 pixelcodierten
Muster der (I-1)-ten, I-ten und (I+1)-ten Reihen oder
Zeilen identisch sind. Als ein Ergebnis dieser
Verarbeitung werden die in Fig. 6 gezeigten 3 × 3
pixelcodierten Musterdaten in Entsprechung zu der 7-ten Reihe
oder Zeile des zu verarbeitenden Bildes erhalten, wie
dies in Fig. 3 gezeigt ist. Dieses 3 × 3 pixelcodierte
Muster wird in dem Datenformat (X, Pk, L) ebenfalls
ausgedrückt. Als die Mustertypen Pk für das 3 × 3
pixelcodierte Muster gibt es einen Gesamtwert von 512
Typen einschließlich
-
000 100 111
-
000 000 . . . 111
-
000 000 111
-
Diese Mustertypen Pk werden mittels Adressen [0] bis
[511] ausgedrückt. Filterkoeffizienten entsprechend den
einzelnen Mustertypen sind diesen Adressen zugewiesen,
um
die Filtertabelle 18 zu bilden. Wenn daher Adressen
entsprechend den einzelnen Mustertypen in die
Filtertabelle 18 eingegeben werden, werden Filterkoeffizienten
für die einzelnen Mustertypen in die Filterschaltung 17
eingespeist.
-
Die Filterschaltung 17 führt die logische
Filterverarbeitung durch Erhalten eines Ausgangswertes
entsprechend der Funktion f (Filterkoeffizient) von (X, f(Pk),
L) gemäß den Daten (X, Pk, L) des 3 × 3 pixelcodierten
Musters durch (Schritt a5).
-
In den 3 × 3 pixelcodierten Musterdaten von Fig. 6
zeigt beispielsweise (9, 305, 1) an, daß die
Musterstartposition [9] ist, daß der Mustertyp des 3 × 3
Musters eine Adresse [305] entsprechend dem folgenden
Muster:
-
100
-
011
-
001
-
ist, und daß die Zahl der Muster dieses Mustertyps 1
beträgt.
-
Wenn die Ausgangswerte der Funktion f durch 0 und 1
ausgedrückt werden, kann das
Filterverarbeitungsergebnis auch mittels Wk und Bk ausgedrückt werden, die
lauflängencodierte Ausdrücke sind. Wenn demgemäß die
Filterschaltung 17 die 3 × 3 pixelcodierten Musterdaten
filtert, indem auf die Filtertabelle 18 Bezug genommen
wird, wie dies oben beschrieben ist, können logisch
gefilterte lauflängencodierte Daten erhalten werden, wie
dies in Fig. 7 gezeigt ist.
-
Die logische Filterverarbeitung für die
lauflängencodierten Daten gemäß den oben beschriebenen Schritten
wird durch Inkrementieren oder Fortschalten des
Zeilenzahlzählers (Schritt a6) und Wiederholen der oben
beschriebenen Verarbeitungsschritte bis zur letzten Zeile
oder Reihe (Schritt a7) durchgeführt. Schließlich
können gemäß diesem Bildverarbeitungssystem Bilddaten
logisch gefiltert werden, indem direkt lauf längencodierte
Daten verwendet werden, d.h. ohne Wiederherstellung von
diesen zu den ursprünglichen Bilddaten. Zusätzlich
werden die 1 × 3 pixelcodierten Muster sequentiell
erhalten, das 3 × 3 pixelcodierte Muster wird gemäß den
gewonnenen 1 × 3 pixelcodierten Mustern erhalten, und die
Tabelle wird gemäß dem erhaltenen 3 × 3 pixelcodierten
Muster gesucht, um so die logisch gefilterten
lauflängencodierten Daten zu erhalten. Daher kann im Vergleich
zu einem herkömmlichen System&sub1; bei dem eine
Bildverarbeitung durch häufiges Zugreifen auf einen Bilddaten
speichernden Speicher erfolgt, eine Bildverarbeitung
wirksam mit sehr hoher Geschwindigkeit ausgeführt
werden, indem beträchtlich praktische Effekte erhalten
werden.
-
Ein Verdünnen beispielsweise als das typische logische
Filterverarbeiten eines Bildverarbeitens kann durch
wiederholtes Durchführen des oben beschriebenen
Filterverarbeitens f für das zu verarbeitende Bild
durchgeführt werden, bis eine bestimmte Stopbedingung erfüllt
ist, beispielsweise das verarbeitete Ergebnis aufhört
sich zu verändern.
-
Es sei angenommen, daß ein Prozeß für ein einziges
Rahmen- bzw. Vollbild als Unterzyklus bezeichnet ist. Ein
Fall wird beschrieben, in welchem ein logisches
Filterverarbeiten mit verschiedenen Prozessen f für dessen
Unterzyklen von geraden Zahlen und diejenigen für
ungerade Zahlen durchzuführen ist. Es sei darauf
hingewiesen, daß jeder Unterzyklus in vollständig gleicher
Weise wie der zuvor beschriebene Prozeß vorgenommen werden
kann, um das Merkmal zu erhalten.
-
Bei diesem Verarbeiten werden die 1 × 3 pixelcodierten
Musterdaten der jeweiligen Reihen oder Zeilen, wie oben
beschrieben, aus der lauflängencodierten Codefolge des
zu verarbeitenden Bildes gebildet. Dann werden die
3 × 3 pixelcodierten Musterdaten, wie oben beschrieben,
aus den 1 × 3 pixelcodierten Mustern der jeweiligen
einzelnen Reihen oder Zeilen der drei Reihen oder
Zeilen einschließlich der Ziel- oder interessierenden
Reihe oder Zeile in der Mitte gebildet. Die erzeugten
3 × 3 pixelcodierten Musterdaten werden einer logischen
Filterverarbeitung unterworfen, wie oben beschrieben,
um die lauf längencodierten Daten für die jeweiligen
Reihen oder Zeilen zu erhalten.
-
In dem folgenden Unterzyklus werden die
lauflängencodierten Daten, die durch das Filterverarbeiten erzeugt
sind, der gleichen Verarbeitung wie die zu
verarbeitenden Daten unterworfen. Insbesondere wird der folgende
Unterzyklus in der gleichen Weise gestartet, indem die
lauflängencodierten Daten, die in dem vorangehenden
Unterzyklus erhalten sind, als die zu verarbeitenden
Daten verwendet werden. Diese Prozedur wird wiederholt,
bis dieser Unterzyklus eine vorbestimmte Stopbedingung
erreicht.
-
Wenn keine Änderung in irgendeinem der zu
verarbeitenden Bilder auftritt, so ist diese Tatsache die
Unterzyklus-Stopbedingung für ein Verdünnen. Alternativ können
vorbestimmte Unterzyklus-Wiederholungszeiten die
Stopbedingung sein. Die erstere Stopbedingung kann
umformuliert werden, so daß keine Änderung in den
Lauflängencodes der jeweiligen Reihen oder Zeilen von jedem
Unterzyklus aufgetreten ist.
-
Ein Verarbeiten für jede Reihe oder Zeile wird durch
die Codefolge der vorangehenden drei Reihen oder Zeilen
bestimmt. Beim Verdünnen werden zwei Typen eines
Unterzyklusverarbeitens für jede Reihe durchgeführt. Von
dieser Operation ist es möglich zu bestimmen, daß, wenn
keine Änderung in den lauflängencodierten Daten der
(y-1)-ten, y-ten und (y+1)-ten Reihen oder Zeilen
bezüglich einer bestimmten Reihe oder Zeile y in dem
früheren Unterzyklus und einem diesen vorangehenden
Unterzyklus aufgetreten ist, offenbar keine Anderung in
diesen in den Unterzyklen der Reihe y auftreten wird. In
diesem Fall braucht demgemäß das oben beschriebene
Filterverarbeiten nicht für die y-te Reihe durchgeführt zu
werden, sondern lediglich die lauflängencodierten Daten
müssen kopiert werden, um das Filterergebnis zu
erhalten. Wenn dieses System verwendet wird, kann das sich
wiederholende Filterverarbeiten bei einer hohen
Geschwindigkeit durchgeführt werden.
-
Fig. 8 zeigt die Verarbeitungsstufen, wenn dieses sich
wiederholende logische Filterverarbeiten durchzuführen
ist. Wenn, wie in dem Flußdiagramm von Fig. 8 gezeigt
ist, das logische Filterverarbeiten durchzuführen ist,
so wird der Zählerstand eines Zählers J, der den
Filtertyp festlegt, zuerst [1] initialisiert (Schritt b1),
und dann wird der Zählerstand des Zeilen- oder
Reihenzahlzählers I auf [1] initialisiert (Schritt b2). In
diesem Zustand werden die lauflängencodierten Daten der
ersten Reihe oder Zeile dem logischen Filterverarbeiten
unterworfen, um zu prüfen, ob irgendeine Änderung in
den Daten nach einem Verarbeiten aufgetreten ist oder
nicht (Schritt b3). Wenn NEIN in Schritt b3 vorliegt,
werden die Daten der I-ten Reihe oder Zeile so wie in
dem Verarbeitungsergebnis kopiert (Schritt b4). Wenn JA
in Schritt b3 vorliegt, werden die Daten der I-ten
Reihe oder Zeile dem logischen Filterverarbeiten
unterworfen, das zuvor beschrieben ist (Schritt b5).
-
Die Schritte b3 bis b5 werden wiederholt, während der
Reihen- oder Zeilenzahlzähler 1 inkrementiert wird, bis
alle Zeilen verarbeitet sind (Schritt b6 und b7). Wenn
dann ein anderer Unterzyklus abgeschlossen ist, wird
der Zählerstand des Zählers J, der den logischen
Filtertyp festlegt, fortgeschrieben (Schritt b8) . Diese
Schritte werden wiederholt, bis eine vorbestimmte
Endbedingung erfüllt ist (Schritt b9).
-
Wenn das Unterzyklus-Verarbeiten auf diese Weise
wiederholt wird, kann das logische Filterverarbeiten, wie
beispielsweise eine Merkmalserfassung und Verdünnung,
die in einem Bildverarbeiten typisch sind, wirksam mit
hoher Geschwindigkeit durchgeführt werden.
-
Die vorliegende Erfindung ist nicht auf das oben
beschriebene Ausführungsbeispiel begrenzt. In dem
Ausführungsbeispiel beträgt die Anzahl der Unterzyklustypen
2. Jedoch kann die vorliegende Erfindung in ähnlicher
Weise durchgeführt werden, selbst wenn die Anzahl der
Unterzyklustypen 3 oder mehr ist. In dem obigen
Ausführungsbeispiel werden das 1 × M pixelcodierte Muster und
das N × M pixelcodierte Muster als ein Satz von drei
Daten einschließlich der Position ausgedrückt. Jedoch
kann die Musterposition aus einer Information über die
Wiederholungszahl eines pixelcodierten Musters
berechnet werden. Daher können die oben beschriebenen
pixelcodierten Musterdaten einer ähnlichen und einfachen
logischen Filterverarbeitung unterworfen werden, indem
diese als ein Satz von zwei Daten einschließlich Daten
über den Mustertyp und Daten über die Wiederholungszahl
ausgedrückt werden.
-
Wie oben beschrieben ist, kann gemäß der vorliegenden
Erfindung ein zu verarbeitendes Bild, das durch
Lauflängencodieren datengepreßt ist, direkt logisch
gefiltert werden. Daher kann das erforderliche logische
Filterverarbeiten wirksam mit einer sehr kleinen
Speicherkapazität ausgeführt werden. Zusätzlich kann das
Grundverarbeiten des logischen Filterverarbeitens zum
Gewinnen des N × M pixelcodierten Musters direkt für die
lauflängencodierten Daten durchgeführt werden. Somit
kann die Verarbeitungszeit stark verringert werden, und
ein filterverarbeitetes Bild kann wirksam innerhalb
einer kurzen Zeitdauer erhalten werden, was zu
zahlreichen praktischen Effekten führt.