DE602005005230T2 - Vorrichtung und Verfahren zum Zusammenführen von Bildbereichen mit ähnlichen Eigenschaften - Google Patents

Vorrichtung und Verfahren zum Zusammenführen von Bildbereichen mit ähnlichen Eigenschaften Download PDF

Info

Publication number
DE602005005230T2
DE602005005230T2 DE602005005230T DE602005005230T DE602005005230T2 DE 602005005230 T2 DE602005005230 T2 DE 602005005230T2 DE 602005005230 T DE602005005230 T DE 602005005230T DE 602005005230 T DE602005005230 T DE 602005005230T DE 602005005230 T2 DE602005005230 T2 DE 602005005230T2
Authority
DE
Germany
Prior art keywords
stain
temporary
spot
identification
scan
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.)
Active
Application number
DE602005005230T
Other languages
English (en)
Other versions
DE602005005230D1 (de
Inventor
Donald J. Menlo Park Curry
Asghar Menlo Park Nafarieh
Doron San Mateo Kletter
Todd W. Mountain View Thayer
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.)
Xerox Corp
Original Assignee
Xerox Corp
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 Xerox Corp filed Critical Xerox Corp
Publication of DE602005005230D1 publication Critical patent/DE602005005230D1/de
Application granted granted Critical
Publication of DE602005005230T2 publication Critical patent/DE602005005230T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/421Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation by analysing segments intersecting the pattern
    • 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/10004Still image; Photographic image
    • G06T2207/10008Still image; Photographic image from scanner, fax or copier
    • 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/30176Document

Landscapes

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

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Feld der Erfindung
  • Die Erfindung ist auf ein Organisieren bzw. Zuordnen von Bilddaten in Regionen, die ähnliche Farbcharakteristiken haben, gerichtet.
  • 2. Verwandter Stand der Technik
  • Auf hohen Auflösungen gescannte Dokumente erfordern typischerweise große Mengen von Speicherplatz. Darüber hinaus erfordern große Mengen von Bilddaten wesentlich mehr Zeit und Bandbreite zur Manipulation bzw. Handhabung, so wie zum Transfer über ein lokales oder großräumiges Netzwerk, über ein Intranet, ein Extranet oder das Internet oder andere verteilte Netzwerke.
  • Dokumente werden auf ein Scannen unter Verwendung eines Scanners hin typischerweise durch eine Verwendung eines RGB-Farbraumes definiert, d. h. in einem rohen RGB-Format. Allerdings werden Dokumentbilddaten eher typischerweise einer Form der Datenkompression unterworfen, um deren Umfang bzw. Volumen zu reduzieren, als in diesem rohen gescannten RGB-Format gespeichert zu werden, wodurch die hohen Kosten des Speicherns von solchen gescannten RGB-Dokumentenbilddaten vermieden werden.
  • Verlustlose Lauflängen-Kompressionsschemata, so wie Lempel-Ziv (LZ) oder Lempel-Ziv-Welch (LZW), funktionieren nicht besonders gut bei gescannten Bilddaten oder im Generellen mit Bilddaten, die sanft variierende kleinräumige Frequenzen haben, so wie Gradienten und/oder natürliche, bildhafte Daten, während verlustreiche Methoden, so wie als JPEG, ziemlich gut bei sanft variierenden Bilddaten kontinuierlicher Töne arbeiten. Allerdings funktionieren verlustbehaftete Verfahren generell nicht besonders gut bei binärem Text und/oder linien- bzw. zeilenartigen Bilddaten oder im Generellen, bei jeglichen räumlich hochfrequenten Bilddaten, die zum Beispiel scharfe Kanten oder Farbübergänge haben.
  • Die WO 02/056255 A2 beschreibt Verfahren und eine Vorrichtung zum Analysieren eines Bildes. Ein Verfahren analysiert ein Bild, das zu scannen ist, und analysiert wenigstens einen Teil des Bildes Bildpunkt für Bildpunkt.
  • Elemente in dem Bild werden gemäß einer erkannten Charakteristik charakterisiert und jedes Bildelement, das eine gegebene Charakteristik hat, das ein angrenzendes oder ähnliches oder identisches Bildelement ist, wird identifiziert. In einer Form sind vorzugsweise wenigstens drei verschiedene Charakteristiken, so wie schwarz, Hintergrund und Kante, durch welche die Bildelemente charakterisiert werden können. In einer anderen Form werden Bildelemente, die nahe genug beieinander an einem physikalischen Ort und nahe genug beieinander in einer Bildcharakteristik sind, zusammen gruppiert oder in einen Klecks bzw. Fleck (blob) einbezogen bzw. eingefügt. Unterflecke (sub-blobs) können als Teile eines vorherrschenderen Fleckes vorkommen.
  • In ZUGAJ D. et al.: „Eine neue Herangehensweise der Farbbildsegmentation, basierend auf dem Verschmelzen der Ausgaben von Regionen und Kanten-Segmentation" („A new approach of color images segmentation based an fusing region and edge segmentations outputs") PATTERN RECOGNITION, ELSEVIER, KIDLINGTON, GB, vol. 31, no. 2, Februar 1998 (1998–02), Seiten 105 bis 113, XP4101082, ISSN: 0031-3203 – Wird eine kooperative Strategie innerhalb einer Farbbildsegmentation mit mehrfachen Auflösungen (multi-resolution color image segmentation) vorgestellt, die versucht, die bedeutenden Informationen (Regionen und Grenzen) zu extrahieren und diese zwei Herangehensweisen dann zu verschmelzen, um eine akkurate, robuste und passende Segmentation zu erreichen. Ein Colorierungsalgorithmus zum Füllen von Flecken erlaubt es, aus dem segmentierten Bild ein synthetisiertes Bild zu entwickeln, das als eine vereinfachte, aber getreue Kopie mit einer ausgewählten Auflösung des originalen Bildes erscheint.
  • Die US 4,718,090 beschreibt ein Verfahren und eine Vorrichtung zur Hochgeschwindigkeitsverarbeitung von Videobildern. Jeder Bildpunkt, in Linien bzw. Zeilen von zweifarbigen Bildpunkten eines rastergescannten Videobildes, das wenigstens ein Objekt beinhaltet, wird hinsichtlich des Objektes, zu dem der Bildpunkt gehört, identifiziert. Angrenzende zweifarbige Bildpunkte der gleichen Farbe über eine Zeile werden in entsprechend nummerierten Bildpunktgruppen gruppiert. Bildpunktgruppen der gleichen Farbe werden in nummerierte Flecken von Bildpunktgruppen nach unten gruppiert. Wenn eine nächste Pixelliniengruppe auftritt, welche die gleiche Farbe wie mehr als eine vorangegangene Pixelgruppe einer Zeile hat, wird die nächste Zeilenpixelgruppe als ein Teil des zuerst auftretenden vorangegangenen Zeilenflecks gruppiert. Zusätzliche Pixelgruppenübereinstimmungen bzw. -abgleichungen, die zwischen Pixelgruppen einer vorangegangenen und nächsten Zeile auftreten, werden aufsteigend gruppiert, um eine gemeinsame Vorfahrenflecknummer für jeden Fleck der Punktgruppe in dem zusätzlichen Bildpunktgruppenabgleich zur Verfügung zu stellen. Flecken, die gemeinsame Vorfahrflecknummern haben, werden in nummerierte Objekte mit jedem Fleck gruppiert, der zu einem Objekt gehört, so dass jeder Bildpunkt durch eine Nummer des Flecks zu einer Objektnummer gehört.
  • In LAMBERT P. et al.: „Symbolische Verschmelzung von Farbdichte-Farbton-Sättigungs-Merkmalen für eine Bereichssegmentation" („Symbolic fusion of luminence-hue-chroma features for region segmentation") PATTERN RECOGINITON, ELSEVIER, KIDLINGTON, GB, vol. 32, no. 11, November 1999 (1999–11), Seiten 1857 bis 1872, XP004173548, ISSN: 0031-3203 – Wird ein Ursprungssegmentationsverfahren (original segmentation method) auf Farbbilder angewendet. Die beiden Schlüsselelemente dieses Verfahrens sind die Verwendung eines Farbraumes, wobei der Farbton explizit definiert und entsprechend seiner Relevanz verarbeitet wird, die mit einer Sättigung (chroma) verbunden sein kann, und die Verwendung von symbolischen Darstellungen und regelbasierten Systemen, die Farb- und Leuchtdichtemerkmale kombinieren, um eine Homogenität zwischen Bildpunkten zu definieren.
  • ZUSAMMENFASSUNG DER OFFENBARUNG
  • Es ist das Ziel der vorliegenden Erfindung, Verfahren und Vorrichtungen zum Organisieren bzw. Zuordnen von Bilddaten in Regionen, die ähnliche Farbcharakteristiken haben, zu verbessern. Dieses Ziel wird durch ein Zurverfügungstellen eines Verfahrens zum Identifizieren von Bereichen von Bildpunkten bzw. Bildelementen in Bilddaten gemäß Anspruch 1 und einer Vorrichtung zum Identifizieren von Bereichen von Bildpunkten in Bilddaten gemäß Anspruch 5 erreicht. Ausführungsformen der Erfindung werden in den abhängigen Ansprüchen dargelegt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Verschiedene beispielhafte Ausführungsformen der Systeme und Verfahren dieser Erfindung werden im Detail mit Bezug auf die folgenden Figuren beschrieben, worin:
  • 1 ein beispielhaftes Bilddokument darstellt, das in multiple binäre Vordergrundebenen und eine Hintergrundebene zerlegt ist;
  • 2 stellt ein beispielhaftes System dar, in welchem das Fleckidentifizierungsmodul arbeiten kann;
  • 3 stellt eine beispielhafte Ausführungsform eines Fleckidentifizierungsmoduls detailreicher dar;
  • 4 stellt eine beispielhafte Ausführungsform eines Unten-nach-Oben-Moduls detailreicher dar;
  • 5 stellt ein beispielhaftes Fleckidentifikationsbild dar, in welchem die angezeigten Regionen auf die Scantabellen Bezug nehmen;
  • 6 zeigt eine beispielhafte Scantabellenstruktur;
  • 7 zeigt einen beispielhaften Scantabelleneintrag;
  • 8 zeigt eine beispielhafte temporäre Flecktabellen-Identifikationsstapel-Zuordnungsstruktur;
  • 9 zeigt einen beispielhaften Flecktabelleneintrag;
  • 10 stellt ein beispielhaftes Datenflussdiagramm für die in 5 gezeigten Unten-nach-Oben-Module dar;
  • 11 stellt dar, wie Scantabelleneinträge vertikal verbunden werden; und
  • 12 stellt ein beispielhaftes Fleckidentifikationsbild dar, in welchem die angezeigten Regionen auf die temporären Fleckidentifikationen Bezug nehmen und
  • 13 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Generieren einer globalen Tabelle von Flecken und eines Fleckidentifikationsbildes umreißt.
  • 14 stellt die Struktur von zwei Umsetzungstabellen dar;
  • 15 ist ein Flussdiagramm, das weitere Details des ausgewählten nächsten Scantabellenschrittes von 13 umreißt;
  • 16 ist ein Flussdiagramm, das weitere Details des Scantabellenumsetzungsschrittes von 13 umreißt.
  • DETAILIERTE BESCHREIBUNG
  • Verschiedene beispielhafte Ausführungsformen von Systemen und Verfahren werden offenbart, die automatisch gescannte und/oder gedruckte Farbdokumente verarbeiten, um kleine, hochkomprimierte Bilddatendateien zu erzeugen, welche den originalen Dokumenteninhalt akkurat festhalten. Dateien bzw. Dateiordner werden durch das Einscannen von Dokumenten und Analysieren der Daten in einer gegebenen Scanlinie bzw. -zeile erzeugt, um zu bestimmen, welche Bildpunkte bzw. Bildelemente (pixel) des Bildes zusammen gruppiert werden können, weil sie ähnliche Farb- und Kanteneigenschaften bzw. -charakteristiken haben. Die Scanzeilen werden gemäß den Informationen in einem Verbindungsfeld verbunden, um zweidimensionale Regionen von Bildpunkten ähnlicher Farbe zu erzeugen, und werden durch eine geschlossene Kurvengrenze bzw. Abgrenzungslinie definiert. Diese Bereiche bzw. Regionen, Flecke oder „blobs" werden dann durch ein Kombinieren von Bereichen mit ähnlichen Farben, die sich räumlich überlappen, zusammen gruppiert bzw. angehäuft. Die kombinierten Bereiche (angehäufte Bereiche – clustered regions) werden dann in einer aus einer Vielzahl von binären Vordergrundebenen platziert und können für eine Ausgabe, zum Beispiel als eine PDF-Datei, komprimiert werden.
  • 1 zeigt Bilddaten eines Dokumentes, das in Hintergrundebenen kontinuierlichen Tons oder Graustufen 210 und N binäre Vordergrundebenen zerlegt ist. In diesem Beispiel gibt es sechs (N = 6) binäre Vordergrundebenen 220270. Die Bilddaten enthalten Farbdaten geringer räumlicher Frequenz (low spatial frequency color data), die in sechs verschiedene Farbwerte unterteilt werden. Jeder dieser sechs Farbwerte ist mit einer bestimmten aus der Vielzahl von binären Vordergrundebenen 220270 assoziiert, welche Raumbereiche 220'270' beinhalten, die eine der sechs Farben enthalten. Nicht in einem dieser Bereiche 220'270' enthaltene Daten verbleiben auf der Hintergrundebene 210. Systeme und Verfahren werden beschrieben, um die räumlichen Bereiche 220'270' zu erzeugen, die jeweils in binäre Vordergrundebenen zusammengefasst bzw. angehäuft werden.
  • Ein eingegebener Bildpunkt bzw. Eingabebildpunkt kann nur einer der Vielzahl von Vordergrundebenen bzw. -flächen zugewiesen werden oder in der Hintergrundebene belassen werden. Somit überlappt sich der Bilddatenabschnitt in jeder der Vielzahl binärer Vordergrundebenen 220270 nicht mit anderen Bilddatenabschnitten in einer der anderen vielen binären Vordergrundebenen 220270. Als ein Ergebnis kann jede der binären Vordergrundebenen 220270 individuell mit der Hintergrundebenen 210 kombiniert werden, ohne eine Abfolge oder Reihenfolge bzw. Sequenz zu beachten. Wenn alle der Vielfachen binären Vordergrundebenen 220270 mit der Hintergrundebene 210 kombiniert werden, erhält man das rekonstruierte Bild 280.
  • Systeme und Verfahren werden beschrieben zum Identifizieren der Flecke, welche in den Bereichen 220'270' zusammengefasst bzw. angehäuft werden, die jeder der binären Bildebenen zuzuweisen sind.
  • 2 zeigt ein beispielhaftes System zum Erzeugen der N binären Vordergrundebenen aus einem gescannten Bilddokument. 2 zeigt ein Dokument 300, das durch einen Scanner 400 gescannt wird, um Bilddaten in zum Beispiel einem RGB-Farbraum zu erzeugen, und die Bilddaten sind in das System 1000 zur Erzeugung der Bilddaten in N-Ebenen eingegeben. Die durch das N-Ebenen-Bilddaten-Erzeugungssystem 1000 produzierten N-Ebenen werden dann durch ein Kompressionsmodul 800 komprimiert und zum Beispiel als eine PDF-Datei ausgegeben.
  • Das erste Modul in dem N-Ebenen-Bilddaten-Erzeugungssystem 1000 ist ein Farbumwandlungsmodul 500. Das Farbumwandlungsmodul 500 kann die RGB-Daten zum Beispiel in ein YCC-Farbraum umwandeln. Wie es wohl bekannt ist, beinhaltet der YCC-Farbraum eine Leuchtdichtekomponente (Y) und zwei Farbsättigungskomponenten (CC). Die Farbsättigungskomponenten können als Teilproben (subsamples) in einem Verhältnis von 2:1 entnommen werden, wenigstens in einer Richtung, wenn nicht in beiden, so dass es halb so viele Datenpunkte in den Farbsättigungskomponenten gibt, als es in der Leuchtdichtekomponente gibt. Andere Farbräume, so wie „Lab" können auch verwendet werden.
  • Das Bild in dem YCC-Farbraum kann dann in ein Fleckidentifikationsmodul 600 eingegeben werden, das eine Liste von Bereichen oder Flecken erzeugt, die in dem Bild auftreten bzw. erscheinen. Die Flecken werden basierend auf Farb- und Kanteneigenschaften identifiziert. Flecke sind Regionen bzw. Bereiche, die eine kontinuierliche Grenze bzw.
  • Abgrenzung haben, welche Bildpunkte umschließt, die ähnliche Farbwerte haben. Das Fleckidentifikationsmodul 600 weist eine Fleckidentifikation (blob ID) jedem Bildpunkt in dem Bild zu, die anzeigt, zu welchem Fleck (blob), wenn es welche gibt, der Bildpunkt gehört. Bildpunkte, die nicht zu einem Fleck gehören, werden einer der Hintergrundebenen zugewiesen. Eine Karte der Fleckidentifikationen für jeden Ort der Bildpunkte ist ein Fleckidentifikationsbild (blob identification(blob ID)image) und wird durch das Fleckidentifizierungsmodul 600 erzeugt.
  • Das Fleckidentifikationsmodul 600 erzeugt auch eine globale Tabelle von Flecken (global table of blobs – GTB), die eine Liste von allen in dem Bilddokument 280 gefundenen Flecken ist. Systeme und Verfahren, die hierin beschrieben werden, dienen der Erzeugung des Fleckidentifikationsbildes (blob ID image) und der GTB. Das Fleckidentifikationsbild und die GTB werden weiter unten gemeinsam mit Beispielen in Bezug auf das Fleckidentifikationsmodul 600 beschrieben.
  • Die Fleckidentifikationsdaten und die GTB werden dann in das Fleckanhäufungsverarbeitungsmodul (blob cluster processing module) 700 eingegeben. Das Fleckanhäufungsverarbeitungsmodul 700 ordnet bzw. organisiert dann die Flecken in der globalen Tabelle von Flecken, wobei Flecken, die eine ähnliche Farbe haben und die sich räumlich überlagern, in Anhäufungen (clusters) assoziiert werden. Das Fleckanhäufungsverarbeitungsmodul 700 weist die zusammengefassten bzw. angehäuften Bereiche einer der N Vordergrundebenen zu, abhängig von den Farbwerten des kombinierten Bereiches.
  • Das Fleckanhäufungsverarbeitungsmodul 700 gibt die binären Daten für jede der binären Vordergrundebenen und die Hintergrundebene an das Kompressionsmodul 800 aus. Das Kompressionsmodul 800 kann jede der binären Vordergrundebenen und Hintergrundebenen verschieden komprimieren, wobei eine Kompressionsroutine verwendet wird, die für den bestimmten Typ von komprimierten Daten geeignet ist, um komprimierte Bilddaten für die binären Vordergrundebenen und die Hintergrundebene zu erzeugen. Das Kompressionsmodul 800 kann dann die komprimierten binären Vordergrund- und Hintergrundebenen in einem geeigneten Format, so wie ein PDF-Format, an einen nachgeschalteten Prozess (downstream process) ausgeben.
  • 3 zeigt weitere Details eines beispielhaften Fleckidentifikationsmoduls 600. Das Fleckidentifikationsmodul beinhaltet ein Oben-nach-Unten-Modul 610 und ein Unten-nach-Oben-Modul 620. Das Oben-nach-Unten-Modul 610 untersucht jeden Bildpunkt in einer Scanzeile gemeinsam mit einer Anzahl Kontextbildpunkten (context Pixels) und identifiziert, zu welchem Fleck die Bildpunkte gehören, die von Interesse sind. Das Oben-nach-Unten-Modul 610 gibt dann eine Scantabelle für jede Scanlinie oder -zeile (Abtastzeile bzw. -linie) aus, die eine Identifikation von bis zu 255 Flecken oder einer anderen zufriedenstellenden Anzahl beinhaltet, die in jeder einzelnen Scanzeile des Bildes auftreten kann. Da die durch das Oben-nach-Unten-Modul 610 identifizierten Flecken in einer einzelnen Scanzeile enthalten sind, sind die Flecken in dieser Situation eindimensionale, „lineare" Flecke. Das Oben-nach-Unten-Modul 610 erzeugt auch ein Fleckidentifikationsbild, das jedem gescannten Bildpunkt in dem Bild die Identifikation der in der Scantabelle aufgelisteten Flecke zuweist, zu der die einzelnen Bildpunkte gehören. Der Betrieb des Oben-nach-Unten-Moduls 610 und die Erzeugung der Scantabelle wird im Detail in dem parallelen US-Patent US 2005/180628 A1 beschrieben, das an dem gleichen Datum wie das vorliegende eingereicht und am 18. August 2005 veröffentlicht wurde.
  • Ein Beispiel eines anfänglichen Fleckidentifikationsbildes (initial blob ID image) ist in 5 gezeigt. Das Fleckidentifikationsbild hat einen Fleckidentifizierer für jeden Bildpunkt des Bildes. Das Fleckidentifikationsbild, das in 5 gezeigt ist, hat einen Fleck, der grob die Form eines Buchstabens „A" hat, dessen Ausmaß und Identität unter Verwendung der Systeme und Verfahren gemäß dieser Erfindung bestimmt werden.
  • 4 zeigt Details des Unten-nach-Oben-Moduls 620. Das Unten-nach-Oben-Modul 620 beinhaltet eine CPU 655 und einen Ein-/Ausgabeanschluss 660, einen Speicher 665, einen Scantabellenumsetzter 670, einen Fleckinhaltsaktualisierer 675 und einen Erzeuger 680 für die globale Tabelle der Flecken. Die obigen Komponenten 655680 können über eine Datenleitung bzw. einen Bus 685 verbunden sein. Währen das Unten-nach-Oben-Modul 620 unter Verwendung eines Busarchitekturdiagramms dargestellt wird, können andere Typen von Hardwarekonfigurationen verwendet werden, so wie die Verwendung eines anwendungsspezifischen integrierten Schaltkreises (application specific integrated circuits – ASICs), um eine oder mehrere der Komponenten zu implementieren oder ein Computerprogramm zu schreiben, das in der CPU 655 ausgeführt wird, um all die Funktionen des Unten-nach-Oben-Moduls durchzuführen.
  • Das Unten-nach-Oben-Modul 620 gibt das anfängliche Fleckidentifikationsbild, die aktuelle Scantabelle für die aktuelle Scanzeile und die vorangegangene Scantabelle für die vorangegangenen Scanzeilen durch den Ein-/Ausgabeanschluss 660 von dem Oben-nach-Unten-Modul 610 ein und speichert die Daten in dem Speicher 665. Das Unten-nach-Oben-Modul kann die Daten für eine Scanzeile und eine vorangegangene Scanzeile gleichzeitig empfangen oder es kann die Daten für ein gesamtes Bild empfangen und die Daten im Speicher 665 abspeichern.
  • Jede Linie in dem Fleckidentifikationsbild von 5 ist mit einer Scantabelle assoziiert, welche die mit den in jeder Scanzeile identifizierten Flecken in Beziehung stehenden Informationen speichert. Die Scantabelle für die mit „Beispiel" markierte Zeile ist in 6 gezeigt. Die mit „Beispiel" markierte Linie in 5 hat eine Anzahl von Bildpunkten, die zusammengehörig bzw. miteinander assoziiert sind. Die Scantabelle für diese Linie hat vier Tabelleneinträge, einen für einen Fleck Nr. 4, einen für einen Fleck Nr. 3, einen für einen Fleck Nr. 2 und einen für einen Fleck Nr. 1, so wie in dem Fleckidentifikationsbild identifiziert (mit „0" gekennzeichnete Flecke werden der Hintergrundebenen zugewiesen). Die zu dem Fleck gehörenden Bildpunkte müssen nicht zusammenhängend bzw. angrenzend sein und in der Tat sind sie es nicht für die Beispiellinie. Die Fleckidentifikationen (blob IDs) in dem anfänglichen Fleckidentifikationsbild beziehen sich auf die Fleckidentifikationen in der aktuellen Scantabelle.
  • Eine Scantabelle kann bis zu 255 Einträge oder eine andere zufriedenstellende Anzahl aufnehmen, wobei jeder Eintrag zwei Bytes des Speichers für eine Scantabelle von 255 Einträgen verwendet. Ein Beispiel eines Scantabelleneintrags ist in 7 gezeigt. Dieser Scantabelleneintrag gehört zu dem als Nr. 4 in dem Fleckidentifikationsbild identifizierten Fleck. Die zwei Bytes des Scantabelleneintrags beinhalten das x-Verbindungsfeld (xlink field) und das y-Verbindungsfeld (ylink field) Das x-Verbindungsfeld verbindet jeden Fleck mit Bildpunkten auf der gleichen Linie, die zu dem gleichen Fleck gehört. Die x-Verbindungsverknüpfungen (xlink connections) können als eine rundum laufende Liste verwaltet werden, so dass ein nicht horizontal mit einem anderen Fleck verbundener Fleck mit sich selber verbunden sein kann, d. h., die Verbindung (link) zeigt auf sich selber. Das y-Verbindungsfeld verbindet auf der aktuellen Scanzeile identifizierte Flecke mit zuvor auf der unteren Scanzeile identifizierten Flecken. Somit hat der Scantabelleneintrag für den Fleck Nr. 4 der Beispielzeile einen x-Verbindungseintrag, welcher auf die zweite Erscheinung des Fleckes Nr. 4 auf der gleichen Scanzeile zeigt, und einen y-Verbindungseintrag, der den Fleck Nr. 4 mit dem Fleck Nr. 3 auf der gleichen Scanzeile unten verbindet.
  • Jeder Scaneintrag hat eine Größe von 2 Bytes und jede Scantabelle enthält bis zu 255 gültige Einträge. Deswegen benötigt die Scantabelle für jede Scanzeile 256 Einträge *2 Bytes = 512 Bytes des Speichers.
  • Das Unten-nach-Oben-Modul 620 wird die Scantabelleneinträge aufnehmen und die Flecke vertikal verbinden, indem es den Flecken eine weitere temporäre Identifikation (temporary ID) gibt, während das Modul den Inhalt des Flecks zusammensetzt. Wie die Scantabelle werden die temporären Identifikationen in einer Tabelle gespeichert, die bis zu 255 temporäre Fleckidentifikationen enthält. Ein Beispiel der temporären Fleckidentifikationstabelle ist in 6 gezeigt.
  • Ein Beispiel eines temporären Fleckidentifikationseintrags (temporary blob ID entry) ist in 9 gezeigt. Wie mit dem Scantabellen-Identifikationseintrag verglichen, beinhaltet der temporäre Identifikationseintrag zusätzliche Informationen, die sich auf die zweidimensionalen Aspekte der temporären Identifikation beziehen. Insbesondere enthält der temporäre Identifikationseintrag vier zusätzliche Felder, min_x 735, max_x 740, min_y 744 und max_y 750, welche die x- und y-Ausmaße des Rahmens („bounding box") sind, der den temporären Fleck umgibt. Der Rahmen ist das kleinste Rechteck, das alle dem Fleck zugewiesenen Bildpunkte umschließt. Da zusätzliche Bildpunkte durch das Unten-nach-Oben-Modul hinzugefügt werden, wird der Rahmen kontinuierlich aktualisiert, um die neuen Grenzen wiederzugeben, nachdem die zusätzlichen Bildpunkte hinzugefügt wurden.
  • Wie die Scantabelleneinträge können die temporären Fleckidentifikationsinformationen über die Farbwerte des Flecks verwalten. Diese Informationen können zum Beispiel die Farbsummen Summe Y 755, Summe Cb 760 und Summe Cr 765 beinhalten. Schließlich speichern die temporären Fleckidentifikationseinträge wie die Scantabelleneinträgen eine Bildpunktzählung 770 und Varianzdaten 775. Der temporäre Fleckidentifikationseintrag identifiziert auch eine Fleckidentifikation 780 und weist diese zu, um den Fleck zu verfolgen.
  • Jeder temporäre Fleckidentifikationseintrag wird mit den folgenden Werten initialisiert:
    • (i) max_x und max_y werden zu –1 gesetzt (keine maximale Position),
    • (ii) min_x wird zur Bildbreite +1 gesetzt (kein Minimum),
    • (iii) min_y wird zur Bildhöhe +1 gesetzt (kein Minimum).
  • Zähler (count), Varianz (var), Summe Y (sum Y), Summe Cb (sum Cb) und Summe Cr (sum Cr) werden mit Null initialisiert. Die Fleckidentifikationen werden in sequenzieller Reihenfolge von einem Fleckidentifikationsstapel zugewiesen.
  • Wenn das Oben-nach-Unten-Modul erstmalig einen neuen Fleck antrifft, weist es eine temporäre Identifikation zu diesem neuen Fleck zu. Die temporäre Identifikation (temporary ID) wird von einer Fleckidentifikationsstapeltabelle (blob ID stack table) genommen, die die Liste der in Gebrauch befindlichen Identifikationen verwaltet. Die Struktur dieser Fleckidentifikationsstapeltabelle ist in 8 gezeigt. Die Fleckidentifikationsstapeltabelle kann bis zu 256 temporäre Fleckidentifikationseinträge aufnehmen. Ein Eintrag, so wie der erste Eintrag zum Beispiel, ist für die Hintergrundebenen reserviert. Der Hauptzweck der Fleckidentifikationsstapeltabelle ist es, die temporären Fleckidentifikationen wiederzuverwerten. Sobald ein Fleck abgeschlossen ist, wird er an einen nachgelagerten Prozess ausgegeben und die mit dem Fleck assoziierte temporäre Identifikation wird freigegeben und für eine Zuweisung zu einem neuen Fleck durch den Fleckidentifikationsstapelalgorithmus nutzbar gemacht.
  • Wenn das Oben-nach-Unten-Modul 620 bestimmt, dass der Fleck vollständig ist, d. h. er ist von einer kontinuierlichen Abgrenzung umschlossen und keine weiteren zusätzlichen Bildpunkte werden hinzugefügt, wird das Unten-nach-Oben-Modul 620 den Inhalt der temporären Fleckidentifikation an die globale Tabelle von Flecken (Global Table of Blobs – GTB) ausgeben. Das Unten-nach-Oben-Modul 620 aktualisiert auch inkrementell das Fleckidentifikationsbild, um sich eher auf neue Fleckidentifizierer zu beziehen als auf die, die in der lokalen Scantabelle verwendet werden. Das aktualisierte Fleckidentifikationsbild und die GTB werden dann zur weiteren Verarbeitung durch das Fleckanhäufungsverarbeitungsmodul 700 ausgegeben.
  • Das Unten-nach-Oben-Modul 620 kann im Wesentlichen vier Schritte in der Scantabelle und den Fleckidentifikationsbildeingaben ausführen:
    • 1) Setze die Scantabelleneinträge in temporäre Fleckidentifikationen in einer Umsetzungstabelle unter Verwendung der vorangegangen Umsetzungstabelle auf die untere Zeile um.
    • 2) Ein zweiter Durchlauf über den Umsetzungstabelleninhalt kann ausgeführt werden, wenn ein oder mehrere Einträge entdeckt werden, die einen abschließenden x-Verbindungswert enthalten, der nicht in einer kreisförmige Weise auf sich selbst zeigt.
    • 3) Aktualisiere das Fleckidentifikationsbild zum temporären Flecktabelleninhalt, um zusätzliche Bildpunkte auf der aktuellen Scanzeile wiederzuspiegeln, die mit diesen temporären Fleckeinträgen assoziiert sind.
    • 4) Exportiere jegliche geschlossene temporäre Fleckidentifikationen in die GTB und gebe die Ressourcen frei, die einem geschlossenen Fleck zugewiesen sind, und mache sie für die Zuweisung zu einem neuen temporären Fleck nutzbar, so wie benötigt.
  • Der Fluss von Daten innerhalb des Unten-nach-Oben-Moduls 620 ist durch 10 dargestellt. Wie in 10 gezeigt ist, werden die Scantabelleneinträge für die aktuelle Zeile durch den Scantabellenumsetzer 670 eingegeben. Der Scantabellenumsetzer 670 setzt die Scantabelleneinträge zu temporären Fleckidentifikationen um, wobei er die vorangegangene Umsetzungstabelle der darunterliegenden bzw. unteren Zeile verwendet. Das Fleckidentifikationsbild und ein verbessertes Farbbild (enhanced color image – ENH) wird in den Fleckinhaltsaktualisierer 675 eingegeben, der die temporäre Flecktabelleninformation und das Fleckidentifikationsbild für alle Scantabelleneinträge auf der aktuellen Linie aktualisiert. Der GTB-Erzeuger 680 bestimmt dann, ob irgendwelche Flecke geschlossen werden können und wenn dies so ist, schließt er die Flecke durch ein Ausgeben der Fleckinformationen an die GTB. Die geschlossene Fleckinformation wird der aktuellen GTB angehängt und die aktuelle temporäre Fleckidentifikation wird durch den nächsten nutzbaren GTB-Eintrag in sequenzieller Reihenfolge ersetzt. Jeder dieser Schritte wird unten im Detail beschrieben.
  • Auf einen Erhalt der aktuellen Scantabelle von dem Oben-nach-Unten-Modul 610 und mit dem Bewahren der vorangegangenen Umsetzungstabelle der unteren Zeile hin bewertet das Unten-nach-Oben-Modul 620 jeden Eintrag in der aktuellen Scantabelle von 1 bis 255, um zu überprüfen, ob er ein gültiges (nicht Null) x-Verbindungsfeld ist.
  • Zu diesem Zeitpunkt hat das Unten-nach-Oben-Modul 620 schon die vorangegangene Scantabelle der darunterliegenden Zeile verarbeitet, weil das Modul nach oben fortschreitet.
  • Dementsprechend haben die vorangegangenen Scantabellen Einträge schon in temporäre Fleckidentifikationen umgesetzt und die gleichen Identifikationen werden zur aktuellen Zeile mitgeführt, wenn sie vertikal verbunden werden. Da die allererste Scanzeile (die untere Zeile des Bildes) keine vorangegangene Scanzeile hat, mit der sie verbunden werden kann, sind alle y-Verbindungswerte für diese erste Scanzeile Null und jedem gültigen Fleckeintrag für die erste Scanzeile wird eine anfängliche temporäre Fleckidentifikation (initial temporary blob ID) gegeben. Während dieser Prozess von einer Zeile von einem Zeitpunkt von unten nach oben fortschreitet, „entwirrt" er die vertikalen y-Verbindungsverknüpfungen und weist einzigartige temporäre Fleckidentifikationen neu zu, welche von einer Zeile zur nächsten konsistent sind.
  • Das Unten-nach-Oben-Modul 620 verwaltet die Zuweisungen der temporären Fleckidentifikationen mit Hilfe einer Umsetzungstabelle. Das Unten-nach-Oben-Modul 620 verwendet zwei Umsetzungstabellen, einen für die aktuelle Zeile und einen, um die vorangegangene Umsetzungstabelle von der darunterliegenden Zeile zu verwalten. 14 zeigt die Struktur der zwei Umsetzungstabellen. Die zwei Umsetzungstabellen werden bei jeder Zeile abgewechselt. An dem Ende der aktuellen Zeile wird die aktuelle Umsetzungstabelle die vorangegangene Umsetzungstabelle für die nächst Zeile und die Umsetzungstabelle für die darunterliegende Zeile wird zerstört, indem sie durch die Umsetzungstabellendaten der nächsten Zeile überschrieben wird, da sie nicht länger gebraucht wird.
  • 14 zeigt ein Beispiel eines gültigen Fleckeintrags 27 in der Scantabelle für die darunterliegende Zeile, welche vertikal mit einem gültigen Fleckeintrag 21 in der Scantabelle der aktuellen Zeile verbunden ist. Als die darunterliegende Zeile durch das Unten-nach-Oben-Modul 620 verarbeitet wurde, wurde der Scantabelleneintrag 27 umgesetzt, um zum Beispiel der temporären Identifikation 33 zugewiesen zu werden. Da der aktuelle Zei leneintrag 21 vertikal mit 27 auf der darunterliegenden Zeile verbunden ist, wird die temporäre Identifikation 33 kopiert und dem Eintrag 21 in der Umsetzungstabelle mit der aktuellen Linie zugewiesen. Dies zeigt an, dass die beiden anscheinend nicht miteinander in Bezug stehenden Scantabelleneinträge zu dem gleichen temporären Fleck gehören und daher der gleichen temporären Fleckidentifikation 33 zugewiesen werden.
  • Alle nachfolgenden Scanzeilen, die sich über die y-Verbindungsfelder auf einen Fleck oder eine höhere Scanzeile beziehen, werden die temporären Fleckidentifikationen von dem Fleck auf der früheren Scanzeile miteinander teilen. Deswegen ist die Funktion des Unten-nach-Oben-Moduls, die vertikalen Assoziationen zwischen den identifizierten Flecken herzustellen, wobei die im Wesentlichen eindimensionalen Flecken von den Scantabellen in zweidimensionale Flecken transformiert werden, die in der temporären Tabelle der Flecke aufgelistet sind.
  • Der aktuelle Fleckeintrag in der Scantabelle wird als gültig betrachtet, wenn das x-Verbindungsfeld (xlink) nicht Null ist. Andererseits, wenn xlink = 0 ist, zeigt dies an, dass der aktuelle Fleck mit der Hintergrundebene verbunden ist (id = 0).
  • Für jeden gültigen Fleckeintrag wird das y-Verbindungsfeld (ylink) untersucht. Wenn die y-Verbindung nicht Null ist, ist der aktuelle Fleck vertikal mit einem anderen Fleck auf der darunterliegenden Zeile verbunden. Die y-Verbindung wird zu der vorangegangenen Umsetzungstabelle für die darunterliegende Zeile verfolgt und der temporäre Fleckidentifikationsinhalt wird abgerufen und in den Umsetzungstabellenfleckeintrag für die aktuelle Linie kopiert.
  • Wenn allerdings andererseits der aktuelle Fleck keine vertikale Verbindung hat zu einem vorangegangenen Fleck (z. B. ylink = 0), dann kann es ein neuer Fleck sein, der zum ersten Mal angetroffen wird. Es wird zuerst eine Überprüfung vorgenommen, um zu sehen, ob der aktuelle Scantabelleneintrag horizontal mit einem anderen Scantabelleneintrag auf der aktuellen Zeile verbunden ist. Ein gültiger Fleck, der nicht horizontal mit einem anderen Fleck verbunden ist, hat einen x-Verbindungswert, der auf seinen eigenen Fleckeintrag zurückverweist, wie durch die zirkuläre bzw. kreisförmige x-Verbindungsliste impliziert. Wenn der aktuelle Fleck dazu bestimmt wird, horizontal mit anderen Flecken verbunden zu sein, wird der Fleckeintrag in der Umsetzungstabelle zu Null gesetzt und eine Markierung (flag) „Hat-Anschluss-X" („HasTerminalX") angeschaltet, um diesen aufgetretenen Zustand anzu zeigen. In einem nachfolgenden Schritt kann das Unten-nach-Oben-Modul 620 solche horizontal verbundenen Umsetzungstabellen-Fleckeinträge weiter untersuchen, um zu bestimmen, ob ihnen neue temporäre Fleckidentifikationen zuzuweisen sind oder nicht.
  • Wenn der aktuelle Fleck gültig ist, eine y-Verbindung von Null hat und einen x-Verbindungswert hat, der zurück auf sich selber in einer kreisförmigen Weise zeigt, dann kann angenommen werden, dass er ein gültiger neuer Fleck ist, der zum ersten Mal angetroffen wird. Die nächste nutzbare temporäre Identifikation wird ihm von dem Identifikationsstapel zugewiesen und in die aktuelle Umsetzungstabelle eingetragen, um anzuzeigen, dass der aktuelle Scantabelleneintrag nun mit dieser neuen temporären Identifikation assoziiert wird. Gleichzeitig wird der Identifikationsstapelzähler (ID Stack counter) um Eins verringert bzw. dekrementiert und zeigt nun auf die nächste nutzbare freie temporäre Identifikation. Die aktuelle temporäre Identifikation wird in Gebrauch bleiben, bis sie durch den GTB-Erzeuger 680 freigesetzt wird, wie unten beschrieben werden wird. Das Unten-nach-Oben-Modul verwaltet die temporären Fleckidentifikationen und aktualisiert die temporäre Fleckidentifikation, während es fortschreitet, die Scantabelleneinträge den temporären Flecken zuzuweisen.
  • Schließlich wird, wenn das aktuelle x-Verbindungsfeld des Fleckes Null ist, angenommen, dass er mit der Hintergrundebenen verbunden ist. Der dazugehörige Umsetzungstabelleneintrag wird zu Null gesetzt.
  • Wenn der Scantabellenumsetzungsprozess einen ersten Durchlauf durch die Scantabelleneinträge abgeschlossen hat, um eine Anfangsumsetzungstabelle zu erschaffen, kann ein neuer Durchlauf durchgeführt werden, wenn die Markierung „Hat-Anschluss-X" („HasTerminalX") angestellt ist, was anzeigt, dass wenigstens ein Fleck dazu bestimmt wurde, mit einem anderen Fleck auf der aktuellen Zeile horizontal verbunden zu sein. In diesem zweiten Durchlauf werden nur Fleckeinträge in der Umsetzungstabelle untersucht, die zuvor zu Null gesetzt wurden. Für jeden solchen Fleckeintrag in der aktuellen Umsetzungstabelle werden die x-Verbindungs- und y-Verbindungswerte erneut aus der aktuellen Scantabelle abgerufen. Wenn ylink = 0 ist und die x-Verbindung nicht Null ist, wird eine neue temporäre Identifikation von dem Identifikationsstapel, wie oben beschrieben, erhalten und dem aktuellen Eintrag in der Umsetzungstabelle zugewiesen. Zusätzlich wird dem x-Verbindungsfeld zu dem nächsten horizontal verbundenen Fleckeintrag gefolgt, wenn vorhanden, und dem dazugehörigen Umsetzungstabelleneintrag für diesen Fleck wird auch die gleiche neue temporäre Identifikationsnummer zugewiesen. Dieser Prozess wiederholt sich durch alle horizontal verbundene Flecke, bis er einen nächsten x-Verbindungswert erreicht, der zurück zu der allerersten beginnenden Fleckidentifikation verweist. Dieser Prozess stellt sicher, dass der gesamten Kette von horizontal verbundenen Flecken konsistent die gleiche temporäre Identifikationsnummer zugewiesen wird.
  • Wenn der Scantabellenumsetzer 670 seiner Aufgabe mit bis zu zwei Durchgängen pro Zeile durchführt, werden alle Flecke in der aktuellen Scantabelle gültige temporäre Identifikationsnummern in den Umsetzungstabelleneinträgen haben. Diese Werte werden als die temporären Fleckidentifikationsnummern bezeichnet (temporary blob ID numbers), da sie nur verwendet werden, bis der Fleck geschlossen ist und durch den GTB-Erzeuger 680 in die GTB exportiert wird.
  • Zurückkehrend zu dem durch 5 dargestellten Beispiel ist der vierte Scantabelleneintrag für die in der Figur gezeigte Beispielzeile in 7 gezeigt. Das x-Verbindungsfeld ist gültig (4.xlink > 0) und ist vertikal mit dem Fleck 3 auf der darunterliegenden Zeile verbunden. Wenn dem y-Verbindungsfeld (ylink) nach unten bis zur Scantabelle auf der darunterliegenden Zeile gefolgt wird, wird gefunden, dass 3.ylink = 1 ist, das heißt, dass die temporäre Fleckidentifikation (blob ID) Nummer 1 in der ersten (unteren) Zeile des Fleckes vertikal mit der Scantabellenfleckidentifikation Nummer 3 verbunden ist. Der neue y-Verbindungswert von 1 wird in den aktuellen Umsetzungstabelleneintrag der aktuellen Fleckidentifikation Nummer 4 in der Scantabelle kopiert, so dass nun 4.ylink = 1 ist (temporäre Identifikation bzw. ID). Da die beiden Scantabellenflecke in diesem Beispiel vertikal verbunden sind, wird die temporäre Fleckidentifikationszuweisung von der Umsetzungstabelle der darunterliegenden Zeile in den aktuellen Umsetzungstabelleneintrag kopiert. Indem dieser Prozess nach oben erweitert wird, wird die erste mit dieser einen Fleck bildenden Gruppe von Bildpunkten assoziierte temporäre Fleckidentifikation (als dem untersten Scantabellenfleck) nach oben verbreitet und wird die gleiche für alle der vertikal verbundenen Flecken sein.
  • 11 stellt die vorher und nachher Werte der Umsetzungstabelle für das in 5 gezeigte Beispiel dar. Wie durch den Vergleich der vorher und nachher Werte gesehen werden kann, ist der Effekt jener, dass die temporäre Blobidentifikation (#1), die mit der Verbindung auf der darunterliegenden Zeile assoziiert ist, wie in der Umsetzungstabelle auf der darunterliegenden Zeile angezeigt, als der aktuelle Umsetzungstabelleneintrag einge fügt. Dieser Prozess wird sich für alle vertikal verbundenen Flecke auf den darüberliegenden Zeilen wiederholen, wodurch ihnen allen die gleiche temporäre Identifikation in ihren entsprechenden Umsetzungstabellen zugewiesen wird.
  • Dementsprechend ist die Aufgabe des Unten-nach-Oben-Moduls 620, zweidimensionale Flecke aus den im Wesentlichen eindimensionalen Scantabelleninformationen zu erzeugen, die durch das Oben-nach-Unten-Modul 610 erzeugt werden, indem die eindimensionalen Flecke zusammen entweder vertikal oder horizontal verbunden werden, wobei die Umsetzungstabelleneinträge verwendet werden. Die zweidimensionalen Flecke werde jeweils durch die temporäre Fleckidentifikation identifiziert, welche die temporäre Liste von zweidimensionalen Flecken ist, die durch das Unten-nach-Oben-Modul zusammengestellt wird. Jedes Mal, wenn ein neuer Fleck auf einer Scanzeile angetroffen wird, der nicht schon vertikal verbunden ist, wird ihm eine neue temporäre Fleckidentifikation gegeben. Wenn es ein neuer Fleck ist, der horizontal mit anderen Flecken auf der aktuellen Zeile verbunden ist, wird die gleiche temporäre Fleckidentifikation konsistent allen solchen horizontal verbundenen Flecken zugewiesen. Da auf diese Identifikation (ID) von aufeinanderfolgenden Scanzeilen Bezug genommen wird, werden die neuen Bildpunkte mit der gleichen temporären Fleckidentifikation assoziiert.
  • Der Prozess des Fleckinhaltsaktualisierers 675 beginnt, nach dem die Scantabellenumsetzung 640 die Verarbeitung der aktuellen Zeile abgeschlossen hat. Der Fleckinhaltsaktualisierer 675 verwaltet eine Fleckstruktur mit einer Vielzahl von Feldern für jede temporäre Fleckidentifikation (BID). An dem Ende jeder Zeile aktualisiert der Fleckinhaltsaktualisierer 675 die Fleckstrukturen für jede aktive temporäre Fleckidentifikation, um die Informationen der neuen Bildpunkte aus der aktuellen Zeile mit einzuschließen, die mit jeder offenen Identifikation verbunden ist. Für jeden gültigen Fleckeintrag in der aktuellen Scantabelle schaut der Fleckinhaltsaktualisierer 675 in der Umsetzungstabelle nach, um die entsprechende temporäre Fleckidentifikationsnummer (temorary blob ID number) festzulegen. Der Fleckinhaltsaktualisierer 675 aktualisiert dann die verschiedenen mit den bestimmten temporären Blobidentifikationseinträgen assoziierten Felder in der Flecktabelle.
  • Der Fleckinhaltsaktualisierer 675 scannt dann das BID-Bild von links nach rechts (in einer Rasterreihenfolge) für die aktuelle Scanzeile, einen Bildpunkt zu einer Zeit. Für jeden Bildpunkt zeigt der anfängliche BID-Wert (initial BID value) die lokale Scantabellenfleckidentifikation an, die mit dem aktuellen Bildpunkt assoziiert ist. Dieser Scantabellenidenti fikationseintrag wird in der aktuellen Scantabelle nachgeschlagen (für die aktuelle Zeile) und ihm wird bis zur entsprechenden temporären Fleckidentifikation gefolgt, indem in dem aktuellen Umsetzungstabelleneintrag nachgeschlagen wird.
  • Die zu den temporären Fleckidentifikationen gehörenden Fleckstruktureinträge werden aktualisiert, um jegliche neue Bildpunkte mit einzubeziehen, die mit dieser temporären Fleckidentifikation auf der aktuellen Zeile assoziiert sind. Näher spezifiziert werden die Felder in dem temporären Flecktabelleneintrag, die wie folgt aktualisiert:
    • (i) min_y wird zur aktuellen Zeile gesetzt (wenn die Zeilennummer < min_y ist)
    • (ii) max_y wird zur aktuellen Zeile gesetzt (wenn die Zeilennummer > max_y ist)
    • (iii) min_x wird zum aktuellen Bildpunkt gesetzt (wenn der Bildpunkt < min_x ist)
    • (iv) max_x wird zum aktuellen Bildpunkt gesetzt (wenn der Bildpunkt > max_x ist)
    • (v) Die Anzahl von Bildpunkten in dem lokalen Scantabellenfleck wird zum Zähler (count) hinzugefügt
    • (vi) Die Varianz im lokalen Scantabellenfleck wird zu var hinzugefügt
    • (vii) Die Farbsummen im lokalen Scantabellenfleck werden jeweils zu sum Y, sum Cb und sum Cr hinzugefügt.
  • Dies fügt praktisch den Inhalt der Bildpunkte, die mit dem lokalen Scantabellenfleck assoziiert sind, den dazugehörigen temporären Fleckfeldern hinzu und aktualisiert das temporäre Fleckrahmenkästchen (temporary blob bounding-box) unter Bezug auf den Ort des aktuellen Bildpunktes.
  • Um eine Überlaufen der YCC-Summenfelder (sum Y, sum Cb, sum Cr) von jedem gültigen (nicht im Hintergrund liegenden) Fleckeintrag in der temporären Flecktabelle zu verhindern, können diese Felder jedes Mal neu normalisiert werden, wenn der Wert von einem von ihnen zu groß wird. Dies kann dadurch erreicht werden, indem die YCC-Summenfelder durch 2 geteilt werden und auch die Zählernummer von Bildpunkten durch 2 geteilt wird, um zum Beispiel die gleichen Verhältnisse beizubehalten.
  • Schließlich aktualisiert der Fleckinhaltsaktualisierer die Fleckidentifikationen der aktuellen Bildpunkte, um den temporären Fleck zu verweisen (der gerade aktualisiert wurde), anstatt des ursprünglichen lokalen Scantabellenfleckes. Dieser Prozess aktualisiert das BID-Bild, damit es sich auf die temporären Fleckidentifikationsnummern anstatt auf die ursprünglichen Scantabellenflecksegmente bezieht. 12 ist das Fleckidentifikationsbild von 4, worin die Fleckidentifikationen für alle in dem Fleck den Buchstaben „A" bildenden Bildpunkte durch die temporäre Fleckidentifikation #1 aus der temporären Fleckidentifikationstabelle ausgetauscht wurden, gemäß der temporären Fleckidentifikationsinformation von jeder der Scanzeilen, welche einen Teil des Buchstabens „A" bilden. Die min_x, max_x, min_y und max_y sind die Koordinaten des Rahmenkästchens, das den Fleck #1 wie in 12 gezeigt umgibt. Der Fleck #1 kann nun geschlossen werden, weil die nächste Zeile darüber keine weiteren Bildpunkte enthält, die mit dem Fleck #1 assoziiert sind.
  • Die temporäre Fleckidentifikation wird effektiv belassen, bis eine Festlegung vorgenommen wurde, dass der Fleck „geschlossen" werden kann, d. h., dass keine weiteren Bildpunkte auf einer aktuellen Scanzeile mit dem temporären Fleck assoziiert werden. Eine temporäre Fleckidentifikation kann geschlossen werden, wenn (1) der Fleck die aktuelle Scanzeile nicht erreicht (min_y > aktuelle Zeile); und (2) der Fleck einen Zähler hat, der nicht Null ist (non-zero count) (absolute Anzahl von Bildpunkten). Zusätzlich, wenn die aktuelle Zeile die letzte Scanzeile ist (Zeile = 0), werden die Flecke geschlossen, weil es keine weiteren zu verarbeitenden Zeilen gibt. Da das Unten-nach-Oben-Modul 620 von der Unterseite der Zeile zur Oberseite arbeitet, ist die letzte Scanzeile die erste Zeile des Bildes.
  • Für jeden Fleck, der den obigen Bedingungen genügt, kann der GTB-Erzeuger 680 die temporäre Fleckinformation normalisieren, indem er die YCC-Summen durch den Zähler teilt usw. Da der Fleckeintrag in die finale GTB exportiert wird, wird der Fleckinformationsinhalt der GTB angehängt und die temporäre Fleckidentifikation wird durch die nächst verfügbare Identifikation aus der GTB ersetzt die finale Fleckidentifikationszuweisung). Danach werden der temporäre Fleckeintrag und die assoziierten Informationen aus der temporären Flecktabelle entfernt. Der Exportprozess kann die folgenden Schritte beinhalten:
    • 1) Teile die drei temporären Fleckfarbensummen (sumY/Cb/Cr) durch den Fleckbildpunktzähler und runde das Ergebnis zu dem nächsten ganzzahligen Wert (integer value) ab. Dieser Vorgang erzeugt eine mittlere Fleckfarbe. Um zeitauf wändige Operationen zu vermeiden, kann die Teilungsoperation dadurch implementiert werden, dass eine Zuweisungstabellen-Multiplikation (lookup table multiply) und Nach-Rechts-Versetzungsoperation (shift-right) verwendet wird.
    • 2) Überprüfe, um sicherzugehen, dass es keinen Platz für weitere Flecke in der GTB gibt. Wenn da kein Platz ist, weise eine neue GTB zu, die zweimal so viele Flecke aufweisen kann, kopiere den alten Tabelleninhalt in die neue Tabelle und lösche dann die alte Tabelle. Benutze die neue GTB von diesem Punkt an. Dieser Schritt kann notwendig werden, da die Größe der GTB variabel ist, aufgrund dessen, dass der Seiteninhalt und die Anzahl von Flecken im Voraus nicht bekannt sind. Der Schritt 2 lässt zu, dass die Größe der GTB dynamisch wächst (durch Potenzen von 2 in diesem Beispiel), während die GTB erzeugt wird.
    • 3) Füge einen neuen Fleck zur GTB hinzu, indem der Zähler der GTB durch 1 inkrementiert bzw. erhöht wird.
    • 4) Kopiere den Inhalt aller Felder des temporären Fleckeintrags von der temporären Flecktabelle in die GTB unter dem letzten neuen Eintrag.
  • Wenn die GTB exportiert wird, wird ihm eine neue sequenzielle Fleckidentifikationsnummer in der GTB zugewiesen. Im Unterschied zur temporären Flecktabelle, die auf maximal 256 Einträge beschränkt ist, ist die Anzahl in der GTB nicht eingeschränkt und kann tausende von Flecke für eine komplexe Seite beinhalten.
  • Nachdem der Inhalt des aktuellen temporären Fleckes in die GTB eingetragen wurde, kann der temporäre Fleck aus der temporären Flecktabelle entfernt werden. Der Entfernungsprozess kann beinhalten, dass die verschiedenen Fleckfelder auf ihre Ursprungswerte (default bzw. initial values) zurückgesetzt werden. Nach der Initialisierung wird die aktuelle temporäre Fleckidentifikation auf den temporären Fleckidentifikationsstapel zurückgeschoben. Dies veranlasst die temporäre Fleckidentifikation dazu, als letzter Stapeleintrag hinzugefügt zu werden und der Stapelzähler wird durch Eins inkrementiert bzw. erhöht. Als ein Ergebnis ist die Fleckidentifikation für eine Neuverwendung nutzbar. Wenn keine weiteren Fleckidentifikationen freigesetzt werden, bevor ein neuer Fleck gefunden wird, kann die Fleckidentifikation unverzüglich einem neu gefundenen Fleck neu zugewiesen werden.
  • Folglich wird der geschlossene temporäre Fleck in die GTB übertragen, indem der Inhalt des assoziierten temporären Fleckeintrags kopiert wird. Die GTB speichert die abschließende Liste von Flecken ab, so wie sie durch das Fleckidentifikationsmodul 600 identifiziert wurden, gemeinsam mit der assoziierten Fleckinformation für jeden Fleck in der GTB.
  • Die GTB und das Fleckidentifikationsbild-BID werden nachfolgend durch das Fleckanhäufungsverarbeitungsmodul 700 verwendet, welches die Flecke in der GTB gemäß Farbähnlichkeiten und räumlichen Überlappungen anhäuft. Die Anhäufungen (clusters) werden dann den binäre Vordergrundebenen zugewiesen, die dann an das Kompressionsmodul 800 ausgegeben werden und zur weiteren Manipulation bzw. Verarbeitung in ein PDF-Dokument zusammengepackt werden können.
  • Obwohl die vorangegangene Beschreibung mit Bezug auf eine Hardwareausführungsform gegeben wurde, kann der Fleckanhäufungsprozess auch als eine auf einem Mikroprozessor ausgeführte Software implementiert werden. In diesem Falle wird jeder Schritt des Verfahrens durch einen geeignet programmierten Mikroprozessor oder durch eine Kombination von Hardware und Software ausgeführt.
  • 13 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Verbinden von Flecken umreißt, die in einer Zeilenscanvorrichtung identifiziert werden. Das Verfahren beginnt in einem Schritt S100, worin ein erster oder nächster Zeilenscan ausgewählt wird. Der Prozess fährt zum Schritt S200 fort, worin die Scantabelle umgesetzt wird. Der Prozess fährt dann bei einem Schritt S300 fort, worin eine Festlegung gemacht wird, ob „Hat-Anschluss-X" („HasTerminalX") zu 1 gesetzt wurde. Wenn dies so ist, fährt der Prozess bei einem Schritt S400 fort, worin eine neue Identifikation (ID) allen horizontal verbundenen Flecken zugewiesen wird. Wenn nicht, fährt der Prozess bei einem Schritt S500 fort, worin eine Festlegung gemacht wird, ob die x-Verbindung (xlink) größer als Null ist. Wenn dies so ist, fährt der Prozess bei einem Schritt S600 fort. Im Schritt S600 wird das y-Verbindungsfeld (ylink field) aus der Scantabelle erneuert und zu der vorangegangenen Zeile gefolgt. Der Prozess schreitet dann zu einem Schritt S700 fort, worin die y-Verbindung von dazwischenkommenden Zeilen gefolgt wird, bis die unterste Zeile erreicht wird, von wo aus die temporäre Fleckidentifikation erneuert wird. Der Prozess fährt dann zu einem Schritt S800 fort, worin das Fleckidentifikationsbild durch die temporäre Fleckidentifikation anstelle der Scantabellenfleckidentifikation ausgetauscht wird. Der Prozess fährt zu einem Schritt S900 fort, worin der temporäre Fleckidentifikationseintrag aktualisiert wird, um die zusätzlichen Bildpunkte wiederzugeben, die dem Fleck aus der aktuellen Scanzeile hinzugefügt wurden. In einem Schritt S1000 wird die temporäre Flecktabelle bewertet, um zu sehen, ob irgendwelche Flecke geschlossen werden können. Wenn dies so ist, werden die temporären Fleckidentifikationseinträge normalisiert, indem ihre Farbsummen durch den Pixelzähler in einem Schritt S1100 normalisiert werden. Dieser Prozess macht bei einem Schritt S1200 weiter, worin der temporäre Fleckeintrag in die GTB kopiert wird. In einem Schritt S1300 wird die temporäre Fleckidentifikation initialisiert und an die temporäre Fleckidentifikationstabelle zur weiteren Verwendung zurückgegeben. Der Prozess fährt zu einem Schritt S1400 fort, worin eine Festlegung gemacht wird, ob die vorliegende Scanzeile die letzte Scanzeile ist. Wenn nicht, springt der Prozess zurück zum Schritt S100. Wenn dies so ist, endet der Prozess.
  • 15 ist ein Flussdiagramm, das weitere Details des Schritts S200 aus 13 umreißt. Der Prozess beginnt in einem Schritt S210, in welchem die Markierung „Hat-Anschluss-X" („HasTerminalX") zu Null gesetzt wird. Dieser Prozess schreitet dann zu einem Schritt S215 fort, worin der nächste Fleckeintrag in der Scantabelle ausgewählt wird. In einem Schritt S220 wird eine Festlegung gemacht, ob die x-Verbindung (xlink) gleich Null ist. Wenn dies so ist, fährt der Prozess zu einem Schritt S240 fort, worin die aktuelle Umsetzungstabelle zu Null gesetzt wird. Wenn nicht, wird einem Schritt S225 eine Festlegung gemacht, ob die y-Verbindung (ylink) gleich Null ist. Wenn nicht, wird der aktuelle Eintrag aus der Umsetzungstabelle der darunterliegenden Zeile in das y-Verbindungsfeld kopiert. Wenn die y-Verbindung im Schritt S225 nicht gleich Null ist, dann wird in einem Schritt S230 eine Festlegung gemacht, ob die x-Verbindung gleich dem aktuellen Fleckeintrag ist. Wenn nicht, fährt der Prozess zu einem Schritt S250 fort, worin die aktuelle Umsetzungstabelle zu Null gesetzt wird und „Hat-Anschluss-X" („HasTerminalX") zu Eins gesetzt wird. Wenn die x-Verbindung nicht dem aktuellen Flecktabelleneintrag in Schritt S230 gleich ist, dann wird eine neue Identifikation (ID) in einem Schritt S235 zugewiesen. Der Prozess fährt bei einem Schritt S255 fort, worin eine Festlegung gemacht wird, ob der Eintrag der letzte Fleckeintrag in der Scantabelle ist. Wenn nicht, springt der Prozess zurück zum Schritt S215. Wenn dies so ist, endet der Prozess in einem Schritt S260.
  • 16 ist ein Flussdiagramm, das weiter Details des Schrittes S100 aus 13 umreißt. Der Prozess beginnt in einem Schritt S110, worin der nächste Scantabelleneintrag ausgewählt wird. Der Prozess fährt zu einem Schritt S215 fort, worin die x-Verbindung und y-Verbindung in der Scantabelle nachgeschlagen werden. In einem Schritt S120 wird eine Festlegung gemacht, ob die x-Verbindung gleich Null ist. Wenn nicht, fährt der Prozess bei einem Schritt S125 fort, worin eine Festlegung gemacht wird, ob die y-Verbindung gleich Null ist. Wenn dies so ist, fährt der Prozess bei einem Schritt S130 fort, worin eine Festlegung gemacht wird, ob der Umsetzungstabelleneintrag gleich Null ist. Wenn dies so ist, wird eine neue Identifikation von den Identifikationsstapel zugewiesen. Dieser Prozess fährt dann zu einem Schritt S140 fort, worin der x-Verbindung zu dem nächsten Fleckeintrag gefolgt wird. In einem Schritt S145 wird die gleiche neue Identifikation dem Fleckeintrag zugewiesen. In einem Schritt S150 wird eine Festlegung gemacht, ob die letzte x-Verbindung bewertet wurde. Wenn nicht, springt der Prozess zum Schritt S140, worin der x-Verbindung zu dem nächsten Fleckeintrag gefolgt wird. Wenn dies so ist, fährt der Prozess zu einem Schritt S155 fort, worin eine Festlegung gemacht wird, ob der letzte Scantabelleneintrag bewertet wurde. Wenn nicht, springt der Prozess zum Schritt S110, worin der nächste Scantabelleneintrag ausgewählt wird. Wenn der letzte Scantabelleneintrag bewertet wurde, endet der Prozess in einem Schritt S160.

Claims (5)

  1. Ein Verfahren zur Identifizierung von Bereichen von Bildelementen in Bilddaten, umfassend: Bereitstellen der Bilddaten in mehreren Abtastzeilen, die eine oberste Abtastzeile und eine unterste Abtastzeile aufweisen; a) Identifizieren eines Fleckes, der Bildelemente in einer laufenden Abtastzeile der Bilddaten enthält, die sich in Farbeigenschaften um weniger als einen vorher festgelegten Betrag unterscheiden; b) Verknüpfen des Fleckes mit einem temporären Fleckidentifikator; c) Identifizieren zusätzlicher Flecken, die Bildelemente in benachbarten Abtastzeilen der Bilddaten enthalten, die sich in Farbeigenschaften um weniger als den vorher festgelegten Betrag unterscheiden; d) Verknüpfen der zusätzlichen Flecken mit dem temporären Fleckidentifikator, wenn die zusätzlichen Flecken mit dem Fleck verbunden sind, wobei das Verbinden gemäß Information in einem Verbindungsfeld durchgeführt wird, das in einem Abtasttabellenzugang eingeschlossen ist, gekennzeichnet durch Durchführen der Schritte a) bis c) in einem Oben-nach-Unten-Modul (610), das die Fleckidentifizierung an der obersten Abtastzeile startet, und Durchführen des Schrittes d) in einem Unten-nach-Oben-Modul (620), das die Fleckidentifizierung an der untersten Abtastzeile startet.
  2. Das Verfahren gemäß Anspruch 1, weiterhin umfassend: Zählen einer Gesamtanzahl von Bildelementen in den Flecken, die mit dem temporären Fleckidentifikator verknüpft sind.
  3. Das Verfahren gemäß Anspruch 2, weiterhin umfassend: Berechnen eines normierten Farbwerts für den temporären Fleckidentifikator, basierend auf einer Summation der Bildelementfarbwerte und der Gesamtanzahl der Bildelemente in den Flecken, die mit dem temporären Fleckidentifikator verknüpft sind.
  4. Das Verfahren gemäß Anspruch 1, weiterhin umfassend: Speichern des temporären Fleckidentifikators als einen permanenten Fleck, wenn festgestellt wird, dass keine zusätzlichen Flecken dem temporären Fleckidentifikator zugeordnet werden.
  5. Eine Vorrichtung zum Identifizieren von Bereichen von Bildelementen in Bilddaten, umfassend: Einrichtung zum Bereitstellen der Bilddaten in mehreren Abtastzeilen, die eine oberste Abtastzeile und eine unterste Abtastzeile aufweisen; a) Einrichtung zum Identifizieren eines Fleckes, der Bildelemente in einer laufenden Abtastzeile der Bilddaten enthält, die sich in Farbeigenschaften um weniger als einen vorher festgelegten Betrag unterscheiden; b) Einrichtung zum Verknüpfen des Fleckes mit einem temporären Fleckidentifikator; c) Einrichtung zum Identifizieren zusätzlicher Flecken, die Bildelemente in benachbarten Abtastzeilen der Bilddaten enthalten, die sich in Farbeigenschaften um weniger als den vorher festgelegten Betrag unterscheiden; d) Einrichtung zum Verknüpfen der zusätzlichen Flecken mit dem temporären Fleckidentifikator, wenn die zusätzlichen Flecken mit dem Fleck verbunden sind, wobei das Verbinden gemäß Information in einem Verbindungsfeld durchgeführt wird, das in einem Abtasttabellenzugang eingeschlossen ist, dadurch gekennzeichnet, dass die Einrichtungen a) bis c) in einem Oben-nach-Unten-Modul (610) eingeschlossen sind, das die Fleckidentifizierung an der obersten Abtastzeile startet, und die Einrichtung d) in einem Unten-nach-Oben-Modul (620) eingeschlossen ist, das die Fleckidentifizierung an der untersten Abtastzeile startet.
DE602005005230T 2004-02-12 2005-02-07 Vorrichtung und Verfahren zum Zusammenführen von Bildbereichen mit ähnlichen Eigenschaften Active DE602005005230T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US776608 2004-02-12
US10/776,608 US7386166B2 (en) 2004-02-12 2004-02-12 Systems and methods for connecting regions image data having similar characteristics

Publications (2)

Publication Number Publication Date
DE602005005230D1 DE602005005230D1 (de) 2008-04-24
DE602005005230T2 true DE602005005230T2 (de) 2009-03-12

Family

ID=34701362

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602005005230T Active DE602005005230T2 (de) 2004-02-12 2005-02-07 Vorrichtung und Verfahren zum Zusammenführen von Bildbereichen mit ähnlichen Eigenschaften

Country Status (6)

Country Link
US (1) US7386166B2 (de)
EP (1) EP1564683B1 (de)
JP (1) JP2005228331A (de)
CN (1) CN100469099C (de)
DE (1) DE602005005230T2 (de)
TW (1) TWI364212B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109191473A (zh) * 2018-08-31 2019-01-11 安徽三联学院 一种基于对称分析的车辆粘连分割方法

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343046B2 (en) * 2004-02-12 2008-03-11 Xerox Corporation Systems and methods for organizing image data into regions
US7907309B2 (en) * 2006-10-22 2011-03-15 Hewlett-Packard Development Company, L.P. Image scanning without directly detecting all color channel color space values for each image line
US8707167B2 (en) * 2006-11-15 2014-04-22 Ebay Inc. High precision data extraction
JP4766030B2 (ja) * 2007-10-11 2011-09-07 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
JP4600491B2 (ja) * 2008-02-26 2010-12-15 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
US9514103B2 (en) * 2010-02-05 2016-12-06 Palo Alto Research Center Incorporated Effective system and method for visual document comparison using localized two-dimensional visual fingerprints
US8113046B2 (en) 2010-03-22 2012-02-14 Honeywell International Inc. Sensor assembly with hydrophobic filter
US8656772B2 (en) 2010-03-22 2014-02-25 Honeywell International Inc. Flow sensor with pressure output signal
US8397586B2 (en) * 2010-03-22 2013-03-19 Honeywell International Inc. Flow sensor assembly with porous insert
US8756990B2 (en) 2010-04-09 2014-06-24 Honeywell International Inc. Molded flow restrictor
US9003877B2 (en) 2010-06-15 2015-04-14 Honeywell International Inc. Flow sensor assembly
US8418549B2 (en) 2011-01-31 2013-04-16 Honeywell International Inc. Flow sensor assembly with integral bypass channel
US8695417B2 (en) 2011-01-31 2014-04-15 Honeywell International Inc. Flow sensor with enhanced flow range capability
JP5970970B2 (ja) * 2012-06-13 2016-08-17 富士通株式会社 画像処理装置、方法及びプログラム
JP5968098B2 (ja) * 2012-06-14 2016-08-10 キヤノン株式会社 画像処理装置、画像処理方法、プログラム、及び記憶媒体
US9460497B2 (en) * 2012-09-21 2016-10-04 Htc Corporation Image enhancement methods and systems using the same
JP5945487B2 (ja) * 2012-09-27 2016-07-05 株式会社沖データ 画像処理装置、プログラム及び方法
US9052217B2 (en) 2012-11-09 2015-06-09 Honeywell International Inc. Variable scale sensor
JP5697649B2 (ja) 2012-11-27 2015-04-08 京セラドキュメントソリューションズ株式会社 画像処理装置
US9292763B2 (en) 2013-07-25 2016-03-22 Analog Devices Global System, method, and medium for image object and contour feature extraction
US20150269207A1 (en) * 2014-03-18 2015-09-24 Cong Deng Simple and efficient method for recycling device identifiers
US9952079B2 (en) 2015-07-15 2018-04-24 Honeywell International Inc. Flow sensor
CN105891140A (zh) * 2016-04-29 2016-08-24 山东玲珑轮胎股份有限公司 一种橡胶中卤化丁基胶与天然胶并用比的测定方法
CN106327499B (zh) * 2016-08-30 2017-09-26 南京鑫和汇通电子科技有限公司 基于边缘点自相似性的油污图像的识别及teds系统
CN108900843B (zh) * 2018-07-31 2021-08-13 高创(苏州)电子有限公司 单色图像压缩方法、装置、介质及电子设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4718090A (en) * 1986-04-14 1988-01-05 Cooper Jr James E Method and apparatus for high-speed processing of video images
US4849914A (en) 1987-09-22 1989-07-18 Opti-Copy, Inc. Method and apparatus for registering color separation film
CA1259082A (en) * 1988-12-02 1989-09-05 David S. Fenton System for replacing feedroll inserts
EP0385009A1 (de) * 1989-03-03 1990-09-05 Hewlett-Packard Limited Gerät und Verfahren zur Anwendung bei der Bildverarbeitung
US4972890A (en) * 1989-10-25 1990-11-27 Isley Reggald E Log feed roller mechanism
DE69318055T2 (de) * 1992-02-25 1998-08-13 Sony Corp Modulations-/Demodulationsvorrichtung und Informationsverarbeitungsvorrichtung
JPH06121588A (ja) * 1992-10-07 1994-04-28 Fanuc Ltd 可変リラクタンス型モータの駆動方式
US5515452A (en) 1992-12-31 1996-05-07 Electroglas, Inc. Optical character recognition illumination method and system
US5583659A (en) 1994-11-10 1996-12-10 Eastman Kodak Company Multi-windowing technique for thresholding an image using local image properties
US5745596A (en) 1995-05-01 1998-04-28 Xerox Corporation Method and apparatus for performing text/image segmentation
US5900953A (en) 1997-06-17 1999-05-04 At&T Corp Method and apparatus for extracting a foreground image and a background image from a color document image
US6058214A (en) 1998-01-20 2000-05-02 At&T Corp. Compression of partially masked still images
US6400844B1 (en) 1998-12-02 2002-06-04 Xerox Corporation Method and apparatus for segmenting data to create mixed raster content planes
US6324305B1 (en) 1998-12-22 2001-11-27 Xerox Corporation Method and apparatus for segmenting a composite image into mixed raster content planes
JP4531897B2 (ja) * 1999-12-27 2010-08-25 パナソニック株式会社 人物追跡装置、人物追跡方法及びそのプログラムを記録した記録媒体
US6633670B1 (en) 2000-03-31 2003-10-14 Sharp Laboratories Of America, Inc. Mask generation for multi-layer image decomposition
US7672022B1 (en) 2000-04-07 2010-03-02 Hewlett-Packard Development Company, L.P. Methods and apparatus for analyzing an image
US7006244B2 (en) * 2000-12-06 2006-02-28 Xerox Corporation Image rendering method and system using negative signals

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109191473A (zh) * 2018-08-31 2019-01-11 安徽三联学院 一种基于对称分析的车辆粘连分割方法
CN109191473B (zh) * 2018-08-31 2020-10-02 安徽三联学院 一种基于对称分析的车辆粘连分割方法

Also Published As

Publication number Publication date
CN100469099C (zh) 2009-03-11
CN1655582A (zh) 2005-08-17
EP1564683A1 (de) 2005-08-17
TWI364212B (en) 2012-05-11
JP2005228331A (ja) 2005-08-25
DE602005005230D1 (de) 2008-04-24
US20050180649A1 (en) 2005-08-18
US7386166B2 (en) 2008-06-10
TW200536375A (en) 2005-11-01
EP1564683B1 (de) 2008-03-12

Similar Documents

Publication Publication Date Title
DE602005005230T2 (de) Vorrichtung und Verfahren zum Zusammenführen von Bildbereichen mit ähnlichen Eigenschaften
DE69937785T2 (de) Verfahren zur Selektion von Farbblockpunkten für die Blockkodierung
DE69631257T2 (de) Bildverarbeitungssystem
DE68927903T2 (de) Bildsignalverarbeitungsgerät zur Verwendung in einem Farbbildwiedergabesystem
DE69817029T2 (de) Mischung von komprimierten rasterbildern in einem drucksystem
TWI406180B (zh) 用於產生具有多重前景平面之高度壓縮影像資料檔案的系統及方法
DE60118240T2 (de) Methode zur bildanalyse
DE69015235T2 (de) Vorrichtung und Methode zur Umwandlung eines punktorganisierten einfarbigen Bildes in ein Grauwertbild mittels Operationen in einer Suchtabelle.
DE69211809T2 (de) Bilddatenverarbeitungsverfahren und -gerät
DE60305573T2 (de) Verfahren zur Darstellung von gemischten Bildrasterinhaltsebenen
DE69822545T2 (de) Bildverbesserung unter Benutzung einer Flächeninterpolation
DE69831133T2 (de) Konfiguriation einer Datenverarbeitungspipeline
DE69831385T2 (de) Verfahren und Anordnung zum Mischen von graphischen Objekten mit Planarkarten
DE69022469T2 (de) Zitter-Bildverarbeitungsmethode.
EP0764310B1 (de) Verfahren zur generierung einer contone-map
DE69529500T2 (de) Verwendung von abgetasteten Bildern in einem Bildzusammensetzungssystem
DE60003032T2 (de) Verfahren zur bildsegmentation
DE69938486T2 (de) Bildverarbeitungsverfahren, -system und -gerät, und Speichermedium
DE102013203884A1 (de) Bildkomprimierung
DE10204751B4 (de) Verfahren zur Konvertierung eines Linework Datenformats in das Format einer Seitenbeschreibungssprache
DE10137164A1 (de) Graustufen-Halbton-Bearbeitung
DE10295968T5 (de) Verbunddokumentbildkompression unter Verwendung eines Mehrfachregion-Zweischichtformats
DE69117100T2 (de) Verfahren und Gerät zur Erzeugung von ein integriertes Bild darstellenden Bilddaten
DE60033716T2 (de) Verfahren und Vorrichtung zur Bilddatenkompression
EP1842361B1 (de) Verfahren, computerprogramm, computer und drucksystem zum trapping von bilddaten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition