DE69625583T2 - Datenformleser - Google Patents

Datenformleser Download PDF

Info

Publication number
DE69625583T2
DE69625583T2 DE69625583T DE69625583T DE69625583T2 DE 69625583 T2 DE69625583 T2 DE 69625583T2 DE 69625583 T DE69625583 T DE 69625583T DE 69625583 T DE69625583 T DE 69625583T DE 69625583 T2 DE69625583 T2 DE 69625583T2
Authority
DE
Germany
Prior art keywords
grayscale values
data
data form
mentioned
noise
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69625583T
Other languages
English (en)
Other versions
DE69625583D1 (de
Inventor
P. Ynjiun WANG
Angi Ye
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.)
Symbol Technologies LLC
Original Assignee
Symbol Technologies LLC
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 Symbol Technologies LLC filed Critical Symbol Technologies LLC
Application granted granted Critical
Publication of DE69625583D1 publication Critical patent/DE69625583D1/de
Publication of DE69625583T2 publication Critical patent/DE69625583T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/1093Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing, after transfer of the image of the data-field to an intermediate store, e.g. storage with cathode ray tube
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1452Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges

Description

  • Die vorliegende Erfindung bezieht sich auf ein Verfahren und einen Datenformleser zum Lokalisieren von Datenformzellenkanten in einem reflektierten Bild einer Datenform, wie beispielsweise eines Strichcodes und eines Matrixcodes. Die Erfindung bezieht auch auf Verfahren zur Bestimmung, ob ein Übergangssegment eine gültige Datenformzellenkante darstellt.
  • Hintergrund der Erfindung
  • Die Anwendungen und Anwender von Strichcodes und Matrixcodes sind wohl bekannt und nehmen zu. Strichcodes und Matrixcodes sind Formen von "Datenformen", die für die Zwecke der Erfindung so definiert sind, daß sie alle Anordnungen aufweisen, durch die Daten in einer gewissen Form einer maschinenlesbaren Kopie festgehalten werden. Somit weisen Datenformen ein- und zweidimensionale Strichcodes, Matrixcodes und grafische Codes auf, genauso wie Worte und Zahlen und andere Symbole, die auf irgend ein geeignetes Medium gedruckt oder darin eingeätzt werden können. Datenformen werden verwendet, um Informationen zu codieren, die zur weiteren Anwendung in einer Vielzahl von Arten wiederaufgerufen werden können. Beispielsweise kann ein gedruckter Strichcode optisch abgetastet werden, um Reflektionswerte abzuleiten, die digitalisiert werden, die in einem Pufferspeicher gespeichert werden und darauf folgend decodiert werden, um die Daten wiederzugewinnen, die in dem Strichcode codiert sind.
  • Ungeachtet der speziellen Art der Datenformen wird ein Bild typischerweise als Pixelwerte zur weiteren Verarbeitung aufgenommen und gespeichert. Ein Bild eines Strichcodes oder einer anderen Datenform, die als ein grafisches Bild existiert, kann durch Anwendung eines CCD-Scanners, eines Laserscanners, einer Sensoranordnung oder irgend einer anderen geeigneten Anordnung aufgenommen werden, die eine Unterscheidung zwischen unterschiedlichen Beleuchtungspegeln ausführen kann, die von der Datenform reflektiert wurde. Bei einem Strichcode weist beispielsweise das grafische Bild im allgemeinen Zellen von in Kontrast stehender Reflektivität auf (beispielsweise Elemente in der Art eines schwarzen Striches, der auf einem weißen Hintergrund aufgedruckt ist, und zwar mit Freiräumen zwischen den Strichen). Bei dem gespeicherten Bild stellen die Pixelwerte somit Beleuchtungspegelveränderungen des reflektierten Lichtes dar (wobei "Licht" so definiert ist, daß dies das gesamte elektromagnetische Spektrum für die vorliegenden Zwecke umfaßt). Die Beleuchtungspegelveränderungen können typischerweise als Pixelwerte in einem Bildpufferspeicher oder in einem anderen Speichermedium in Bit-Map-Form oder in einer anderen Form gespeichert werden, die irgend ein geeignetes Datenspeicherformat verwenden kann, während sie Pixelwerte für ein Bild darstellen.
  • Für Datenformleser hängen die Auflösungsfähigkeit, und dadurch die Kosten der Abtastungsvorrichtung oder eines anderen Sensors genauso wie des Datenspeichermediums, direkt von der Auflösung ab, die bei dem gesamten Decodierungsprozeß erforderlich ist. Auf grundlegendem Niveau muß die Auflösung, die sowohl die Pixeldatenbildaufnahme als auch die Speicherung charakterisiert, adäquat sein, um eine Detektion der Position des kleinsten Bildelementes zu gestatten, welches in der Datenform von Interesse ist. Für die vorliegenden Zwecke werden die Striche oder die anderen Elemente, die bei der Codierung einer Datenform verwendet werden, "Zellen" genannt, und das kleinste interessante Bildelement wird "Modul" genannt. Die schmalste Zelle oder der schmalste Strich eines Strichcodes wird somit ein Modul breit sein. Wenn beispielsweise die Breite des Moduls vielmals größer ist als die Größe eines Pixels innerhalb des aufgenommenen Pixelbildes, wird klar sein, daß eine solche Modulbreite durch viele Pixel dargestellt werden wird, und daß diese Position entsprechend leicht zu detektieren ist. Somit wird die Auflösung, die in Pixeln pro Modul gemessen werden kann, mit der minimalen Zellenbreite in Beziehung stehen. Folglich sei auch bemerkt, daß wenn eine Modulabmessung kleiner ist als die Größe eines Pixels in dem Pixeldatenbild, es nicht möglich sein wird, alle Zellenpositionen mit der Genauigkeit zu detektieren, die adäquat ist, um eine zuverlässige Aufnahme von Daten zu ermöglichen, die in der Datenform codiert sind. Da die Größe des kleinsten Bildelementes oder der kleinsten interessanten Zelle sehr klein innerhalb komplexer Datenformen sein kann, wie beispielsweise bei 2D- Strichcodes und Matrixcodes, gibt es eine Notwendigkeit, die präzise Lage der Zellenkantenübergänge mit einer adäquaten Genauigkeit zu detektieren, um eine zuverlässige Wiedergewinnung von allen Daten zu ermöglichen, die in der Datenform codiert sind. Gleichzeitig gibt es eine damit in Konflikt stehende Notwendigkeit, die Kosten, die Größe und die Leistungsanforderungen von Abbildungsvorrichtungen, Speichervorrichtungen usw. mit höherer Auflösung zu vermeiden.
  • Beim gegenwärtigen Stand der Technik gibt es typischerweise eine Anforderung, daß die Breite einer Zelle nicht kleiner als die Abmessung sein darf, die von zwei Seite an Seite liegenden Pixeln in dem Pixelbild dargestellt wird. Dies ist ein weiterer Weg zum Ausdrücken eines Standards des gegenwärtigen Standes der Technik für die Strichcodedecodierung, der besagt, daß das Detektieren eines Strichcodes oder von anderen Datenformen zumindest wenigstens zwei Pixel pro Zelle entlang einer Achse erfordert. Diese minimale Anforderung des Standes der Technik wird weiterbesprochen und veranschaulicht in US-A-6 129 278. 1A zeigt Strichcodezellen und die Pixelgrößenbeziehung für einige wenige Pixel innerhalb eines gesamten Bildes. Die einzelnen Pixel können in irgend einer Beziehung mit seitlicher Positionierung mit den Strichcodezellen sein, und das Vorsehen von mindestens zwei Pixeln pro Zelle ermöglicht die Bestimmung der relativen Zellenpositionen in adäquater Weise zur Decodierung. Für den zweidimensionalen Fall (wie beispielsweise bei Zellen einer Matrixcodedatenform, wo sowohl eine seitliche als auch eine vertikale Positionierung von quadratischen Zellen zur Datendecodierung eingesetzt wird) erfordert das Detektieren typischerweise auf konsistenter Basis einer Auflösung von mindestens zwei Pixeln pro Zelle entlang zwei senkrechter Achsen, was vier Pixeln pro Zelle gleichkommt, wie in 1B veranschaulicht. Um die erwünschte Decodierungsauflösung zu erreichen, muß der Speicher oder das Speichermedium zumindest die gleiche Auflösungsfähigkeit zur Speicherung von mindestens zwei Pixeln pro Zelle für eine Achse und vier Pixeln pro Zelle für den zweidimensionalen Fall haben. Diese Standards zusammen mit der Gesamtgröße und dem Bildzellengehalt einer vollständigen zu decodierenden Datenform, be stimmen die Gesamtgröße, die Auflösung und die Kosten der Sensoreinheit und des Speichermediums, die nötig sind, um das Pixeldatenbild aufzunehmen und zu speichern. Wenn als eine Folge die Datenform bezüglich der Komplexität zunimmt, sind noch größere Sensor- und Speicherkapazitäten erforderlich. Es gibt somit eine Notwendigkeit für zuverlässige Verfahren zur Lokalisierung von Datenformzellenkanten, die mit Bildauflösungen anzuwenden sind, die besser als zwei Pixel pro Zelle entlang einer Achse in der Datenform sind. Solche Verfahren können sowohl Sensor- als auch Speicheikosten und -kapazität einsparen.
  • Ein wichtiger Betrachtungspunkt ist der Effekt des Rauschens auf die verfügbare Auflösung beim Lesen und Decodieren von Datenformen. Wie bekannt ist, leiten flüchtige Effekte, die sich auf das Drucken oder auf Obertlächenveränderungen in einer Datenform oder auf die Linse, den Sensor oder andere optische Veränderungen beziehen, genauso wie elektrische Signalveränderungen typischerweise Veränderungen bei den aufgezeichneten Graustufenwerten ein. Tatsächlich kann in Anwesenheit von Rauschen jeder Graustufenwert verzerrt werden, so daß er zu einem höheren oder niedrigeren Wert verändert wird. Wenn Bilddaten, die in dem Speicher für eine spezielle Datenform gespeichert sind, bekanntennreise Rauschveränderungen aufweisen, und zwar auf eine spezifische maximale Größe, könnten flüchtige Ergebnisse durch Ignorieren von allen Graustufenwertveränderungen ausgeschlossen werden, die kleiner sind, als eine Rauschschwelle oder ein Rauschrahmen, der im Hinblick auf eine solche spezifische maximale Größe bestimmt wurde. Jedoch können die gespeicherten Bilddaten auch gültige Datenforminformationen aufweisen, die durch kleine Graustufenwertdifferentiale dargestellt werden. Durch Einstellen eines Rauschrahmens, der adäquat ist, um die Effekte des Rauschens zu vermeiden, würden gültige Datenforminformationen daher bei dem Rauschen verlorengehen. Ein solcher Verlust von Datenforminformationen wird als ein Verlust der Auflösung wiedergespiegelt, was die Verarbeitung von feinen Details in der Datenformanslesung und Datenformdecodierung begrenzt. Somit gibt es eine Notwendig keit für eine verbesserte Datenformverarbeitung, um die erreichbare Auflösung in Anwesenheit von Rauschen zu verbessern.
  • Existierende Kantendetektionsverfahren, die zur Anwendung bei Datenformlesevorrichtungen verfügbar sind, beruhen auf einer Vielzahl von Ansätzen zur Lokalisierung der Kantenübergänge der Zellen innerhalb der Datenform. Gewöhnlicherweise verwendete Verfahren setzen Algorithmen mit fester Schwelle, Residualalgorithmen (Originalsignal abzüglich einer tiefpaßgefilterten Version des Signals) oder auch andere Algorithmen, wie beispielsweise Laplace-Algorithmen oder Gauß-Algorithmen, um die Signalübergänge zu lokalisieren. Die Technik mit fester Schwelle ist bei der Detektion von Kanten eingeschränkt, wenn der Kontrast des schmalen Strichcodemusters durch Faltungs- und Tast- bzw. Aufnahmeeffekte reduziert wird, die während der Bildaufnahme eingeleitet werden. Andere Algorithmen sind in ähnlicher Weise nicht effizient, wenn sie digital eingerichtet werden und können auf die Anforderung von einer Auflösung von mindestens zwei Pixeln pro Zelle entlang einer Achse eingeschränkt sein. Die anderen Techniken erfordern im allgemeinen Filterungsoperationen, die wiederum eine exzessive Multiplikation oder andere Verarbeitungsoperationen erfordern. Es kann auch Einschränkungen bezüglich des zulässigen Bereiches der Zellenbreitenveränderungen geben, und zwar teilweise aufgrund der Anwendung eines festen Satzes von Filterparametern, die nicht leicht verändert werden können. Das Ergebnis ist, daß die erreichbare Auflösung und/oder der Wirkungsgraddes Betriebes und/oder die Flexibilität der Leistung von verfügbaren Datenformdecodern eingeschränkt werden.
  • Im Hinblick auf das Vorangegangene sind die Ziele der vorliegenden Erfindung, verbesserte Verfahren zur Lokalisierung von Datenformzellenkantenübergängen vorzusehen, die durch eine oder mehrere der folgenden Fähigkeiten gekennzeichnet werden:
    • – Leistung mit höherer Auflösung in Anwesenheit von Rauschen;
    • – verbesserte Sub-Pixelauflösung für die Lokalisierung von Datenformzellenkantenübergängen mit verringerten Anforderungen bei der Abbildung und der Speicherauflösung;
    • – selektive Anwendung eines Rauschrahmens auf Bilddaten, die innenhalb unterschiedlicher Graustufenbereiche dargestellt werden;
    • – automatische Bestimmung eines Rauschrahmens;
    • – automatische Auswahl einer Sub-Pixelbildverarbeitung auf einer Vorspannung, wie es erforderlich ist; und
    • – Anwendung einer Voll-Pixelbildverarbeitung, wenn die Sub-Pixelverarbeitung nicht zur Datenformdecodierung erforderlich ist.
  • In Applied Optics, Dezember 1984, New York, USA, Seiten 4280–4284, XP002026287, bei Wai-Hon Lee, "Signal processing techniques for CCD image sensors", werden Kantenübergänge, wenn es weniger als zwei Pixel pro minimale Zellenbreite gibt, durch Anwendung einer Strichcoderedundanz basierend auf der Anwesenheit von "1" Bits und "0" Bits in Paaren bestimmt. Der Signalpegel wird binär gemacht, und wenn die Lauflänge ungerade ist, wird eine binäre ganze Zahl (integer) entfernt.
  • Eine Datenform weist Regionen mit hoher Reflektivität und Regionen mit niedrigerer Reflektivität auf. Wenn daher auf einer Fotosensoranordnung abgebildet wird, sollte der Graustufenwert von jedem Pixel im Grunde genommen sehr hoch oder sehr niedrig sein. Wenn jedoch das Pixel auf einer Grenze zwischen einem Gebiet mit hoher Reflektivität und einem Gebiet mit niedriger Reflektivität ist, wird der Graustufenwert grau sein oder ein Zwischenwert, und zwar aufgrund von Faltungseffekten.
  • Ein erster Aspekt der Erfindung sieht ein Verfahren zum Lokalisieren von Datenformzellenkanten in einem reflektierten Bild einer Datenform vor, die Regionen mit hoher und niedriger Reflektivität aufweist, und zwar unter Verwendung eines Datenformlesers, wobei das Verfahren folgende Schritte aufweist:
    • (a) Aufnahme einer Sequenz von Graustufenwerten für Pixel, die eine erste Sampling- bzw. Aufnahmelinie darstellen, die über eine erste Zellenkante des reflektierten Bildes läuft, und wobei die Regionen mit hoher und niedriger Reflektivität innerhalb eines hohen Bereiches bzw. eines niedrigen Bereiches von Graustufenwerten dargestellt sind;
    • (b) Auswahl eines Übergangssegmentes mit einer Segmentgröße zwischen lokalen maximalen und lokalen minimalen Graustufenwerten der Sequenz;
    • (c) Bestimmung, ob das Übergangssegment eines der folgenden Kriterien erfüllt: (i) die Segmentgröße überschreitet einen Rauschrahmen und (ii) mindestens einer der erwähnten lokalen maximalen und lokalen minimalen Graustufenwerte liegt innerhalb eines mittleren Bereiches zwischen den erwähnten hohen und niedrigen Bereichen von Graustufenwerten; und
    • (d) wenn das Übergangssegment mindestens ein Kriterium des Schrittes (c) erfüllt, Lokalisierung der ersten Zellenkante entlang der ersten Tast- bzw. Aufnahmelinie durch Anwendung des Übergangssegmentes.
  • Ein zweiter Aspekt der Erfindung sieht ein Verfahren zur Bestimmung vor, ob ein Übergangssegment eine gültige Datenformzellenkante darstellt, und zwar unter Verwendung einer Datenformlesevorrichtung, wobei das Übergangssegment eine Segmentgröße zwischen lokalen maximalen und lokalen minimalen Graustufenwerten mit einer Sequenz von Graustufenwerten besitzt, die Regionen der erwähnten Datenform mit hoher und niedriger Reflektivität darstellt, wobei das Verfahren folgende Schritte aufweist:
    • (aa) Aufteilung der Graustufenwerte in einen hohen Bereich von Graustufenwerten, die die Regionen mit hoher Reflektivität darstellen, in einen niedrigen Bereich von Graustufenwerten, die die Regionen mit niedriger Reflektivität darstellen, und in einen mittleren Bereich von Graustufenwerten zwischen dem hohen Bereich und dem niedrigen Bereich; und
    • (bb) Bestimmung, daß das Übergangssegment eine gültige Zellenkante darstellt, wenn mindestens eines der folgenden Kriterien erfüllt wird:
    • (i) die erwähnte Segmentgröße ist größer als ein Rauschrahmen; und
    • (ii) mindestens einer der erwähnten lokalen maximalen und lokalen minimalen Graustufenwerte liegt innerhalb des mittleren Bereiches von Graustufenwerten.
  • Ein dritter Aspekt der Erfindung sieht ein Verfahren zur Bestimmung vor, ob ein Übergangssegment eine gültige Datenformzellenkante darstellt, und zwar unter Verwendung einer Datenformlesevorrichtung, wobei das Übergangssegment eine Segmentgröße zwischen lokalen maximalen und lokalen minimalen Graustufenwerten besitzt, wobei eine Abfolge von Graustufenwerten Regionen mit hoher und niedriger Reflektivität der Datenform darstellt, wobei das Verfahren folgende Schritte aufweist:
    • (a) Aufteilung der Graustufenwerte in einen hohen Bereich von Graustufenwerten, der die Regionen mit hoher Reflektivität darstellt, und in einen niedrigen Bereich von Graustufenwerten, der die Regionen mit niedriger Reflektivität darstellt, und einen mittleren Bereich von Graustufenwerten zwischen dem hohen Bereich und dem niedrigen Bereich; und
    • (b) Bestimmung, daß der Segmentübergang ein Rauschen darstellt und nicht eine gültige Datenformzellenkante, wenn beide der folgenden Kriterien erfüllt sind:
    • (i) die Segmentgröße ist kleiner als ein Rauschrahmen; und
    • (ii) sowohl die lokalen maximalen als auch die lokalen minimalen Graustufenwerte liegen innerhalb des hohen Bereiches oder des niedrigen Bereiches von Graustufenwerten.
  • Ein Rauschrahmen bzw. Rauschbereich wird basierend auf dem Pegel des Rauschens bestimmt, der in den gespeicherten Bilddaten vorhanden ist.
  • Wenn dann die Differenz der Graustufenwerte zwischen zwei benachbarten Spitzen- und Durchgangspixeln kleiner ist als der Rauschrahmen, und beide Werte hoch sind oder beide Werte niedrig sind, dann wird die Differenz dem Rauschen zugeordnet. Wenn jedoch die Differenz klein ist, jedoch mindestens einer der Werte ein Graustufenwert aus dem mittleren Bereich ist (was anzeigt, daß ein Pixel auf einer Zellenkante ist), wird die kleine Differenz so angesehen, daß sie einen gültigen Übergang darstellt. Ob eine Sub-Pixelverarbeitung erforderlich ist, kann auf der Grundlage der Anwesenheit von Datenformzellendimensionen in dem reflektierten Bild bestimmt werden, die bei weniger als zwei Pixeln pro Zelle Nennauflösung dargestellt werden.
  • Ein anwendbarer Rauschrahmen kann durch Anwendung einer Histogrammanalyse bestimmt werden, um die Größe des Rauschens abzuschätzen, welches in einer Abfolge von Graustufenbilddaten vorhanden ist, und durch Einstellung des Rauschrahmens auf einem Pegel mindestens gleich der abgeschätzten Rauschgröße.
  • Grenzen von hohen und niedrigen Graustufenbereichen können so bestimmt werden, daß der hohe Bereich alle Graustufenwerte einschließt, die eine Beleuchtung darstellen, die von weißen Teilen der Datenform reflektiert wurde (beispielsweise die höchsten Graustufenwerte, die in der reflektierten Beleuchtung dargestellt werden), und der niedrige Bereich weist alle Graustufenwertdarstellungen von einer Reflektion von schwarzen Teilen auf (beispielsweise die niedrigsten vorhandenen Graustufenwerte).
  • Die Erfindung wird weiter beispielhaft mit Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • 1A und 1B sind Veranschaulichungen, die bei der Beschreibung von Anforderungen der Auflösung des Standes der Technik nützlich sind.
  • 2A, 2B und 2C sind jeweils perspektivische Vorderansichten, Seitenansichten und Draufsichten einer in der Hand gehaltenen Datenform, die ein Ausführungsbeispiel der Erfindung verwendet.
  • 3 ist ein Blockdiagramm von Teilen der Datenformlesevorrichtung, wie in 2 gezeigt.
  • 4 ist eine Ansicht eines Pixeldatenbildes einer Datenform.
  • 5 ist ein Blockdiagramm einer Verarbeitungseinheit.
  • 6 zeigt Pixelelemente einer Sensoranordnung entlang einer Tast- bzw. Aufnahmelinie.
  • 7 ist ein Flußdiagramm, welches sich auf das Verfahren zum Identifizieren von Pixellagen entlang einer Tast- bzw. Aufnahmelinie bezieht.
  • 8 ist ein Flußdiagramm zur Einstellung eines Tast- bzw. Aufnahmemusters.
  • 9 veranschaulicht eine einfache Abfolge von Strichelementen mit konzeptionell positionierten Sensoranordnungselementen, die Pixel darstellen.
  • 10 zeigt eine Aufzeichnung von Graustufenwerten zur Reflektion von den Strichelementen der 9 in Abwesenheit von Rauschen.
  • Fig. 11 veranschaulicht die Addition eines Zufallsrauschens zu den Graustufenwerten der 10.
  • 12 ist eine Aufzeichnung der Graustufenwerte für Pixel entlang einer Tast- bzw. Aufnahmelinie, die die Zellenkantenübergänge einer Datenform überkreuzen.
  • 13 ist eine Darstellung eines Teils von den Graustufenpixel-Wertsignalen, die in 12 gezeigt sind.
  • 14 zeigt den Lauflängencode, der für den Teil des in Figur 13 gezeigten Signals erzeugt wird.
  • 15 zeigt eine Darstellung von Graustufenpixelwerten, die sich auf eine Abtastung eines Bildes einer komplexen zu verarbeitenden Datenform beziehen.
  • 16 ist ein Flußdiagramm, welches Schritte eines Sub-Pixelverfahrens zur Lokalisierung von Zellenkantenübergängen veranschaulicht.
  • 17–19 sind Graustufenabfolgediagramme, die bei der Beschreibung von Schritten des Verfahrens der 16 nützlich sind.
  • 20 ist einflußdiagramm zur Auswahl eines Verarbeitungsverfahrens.
  • 21 ist ein Flußdiagramm eines Vollpixelverfahrens zur Lokalisierung von Zellenkantenübergängen.
  • 22 zeigt Graustufenpixelwerte entlang einer Tast- bzw. Aufnahmelinie für eine Datenform mit einer relativ breiten Modulbreite.
  • 23 zeigt den entsprechenden Lauflängencode, der durch die gesamte Pixelabtastung für das in 22 gezeigte Beispiel erhalten wurde.
  • 24 veranschaulicht eine Strichcodedatenform, die sowohl Strichelemente als auch Zeichen aufweist.
  • Spezielle Ausführungsbeispiele der Erfindung werden in der folgenden Gesamtbeschreibung einer Konfiguration einer in der Hand zu haltenden Datenformlesevorrichtung Geschrieben.
  • Eine in der Hand gehaltene Datenformlesevorrichtung, die ein Ausführungsbeispiel der Erfindung verwendet, ist in den 2A, B und C veranschaulicht. 2A ist eine konzeptionelle Vorderansicht der Datenformlesevorrichtung 10, und die 2B und 2C sind entsprechende perspektivartige Seitenansichten bzw. Draufsichten. Ein Teil des oberen Gehäuses ist in 2B entfernt, um eine vereinfachte Ansicht von inneren Komponenten zu bieten. Wie gezeigt, weist die Lesevorrichtung ein geeignetes stoßbeständiges Plastikgehäuse oder eine Umhüllung 11 mit einem Handgriffteil 12 auf, weiter eine Auslösevorrichtung 14 und ein Batterieabteil 16. Die Datenformlesevorrichtung weist auch einen oberen Gehäuse- bzw. Umschließungsteil 18 auf, der, wie in vereinfachter Form in 2B veranschaulicht, ein optisches Abbildungssystem 20 und ein Beleuchtungssystem 22 aufweisen kann, wobei verschiedene Ausführungsbeispiele davon genauer beschrieben werden.
  • 2B bildet auch eine Prozessor- und Anzeigeeinheit 30 und eine Eingabe/Ausgabe-(I/O)-Einheit 32 ab, die die Form einer einsteckbaren Leiterplatte annehmen können, die in Schlitze von der Rückseite der Lesevorrichtung 10 eingeführt werden können. Zusätzliche Schlitze bzw. Slots können verwendet werden, um zusätzliche oder erweiterte Betriebseigenschaften vorzusehen, und zwar durch das Ermöglichen eines Einsetzens von PCMCIA-Karten usw. Wie veranschaulicht, sind die beschriebenen Komponenten mit gedruckten Schaltungsträgern 34 und 36 gekoppelt, die durch flexible Verdrahtungen 38 gekoppelt sind, die für eine effiziente Produktmontage angeordnet sind. Wie weiter in den 2B und 2C abgebildet, kann die Datenformlesevorrichtung 10 eine Dateneingabetastatur 40 aufweisen, weiter eine Anzeige 42 und eine Antenne, die bei 44 gezeigt ist. Die Lesevorrichtung 10 ist so konfiguriert, daß sie eine Datenform (wie beispielsweise einen zweidimensionalen Strichcode) liest, der in einem Zielgebiet vorhanden ist, welches in einer Entfernung von der Datenformlesevorrichtung positioniert ist. Somit kann beispielsweise ein Strichcode auf ein Etikett gedruckt wer den, welches an einem Paket, einer Komponente oder ähnlichem angebracht ist, und die Datenformlesevorrichtung wird von einem Bediener gehabten, wobei der Vorderteil der Lesevorrichtung in einer Entfernung vom Strichcode gelegen ist.
  • Wie in 2A gezeigt, weist die Lesevorrichtung 10 im allgemeinen eine Anordnung von Beleuchtungsquellen auf, die ein Beleuchtungssystem 22 aufweisen. Zielbeleuchtungsvorrichtungen, wie beispielsweise bei 50 gezeigt, sind vorzugsweise in Verbindung mit einem getrennten Gehäuse ausgebildet, welches auch eine Anordnung von Belichtungsbeleuchtungsvorrichtungen 52 trägt, um hell ein Zielgebiet zu beleuchten, in dem eine Datenform positioniert ist. Die Belichtungsbeleuchtungsvorrichtungen 52 sind ausgelegt, um ein im wesentlichen gleichförmiges Beleuchtungsniveau in dem gesam ten Zielgebiet vorzusehen, wenn sie während einer Beleuchtungsperiode angeschaltet sind, und zwar zum Zweck der Aufnahme eines Bildes der Datenform in der Sensoranordnung. Das Beleuchtungssystem 22 beleuchtet das Zielgebiet, um eine Reflektion des Lichtes von dem Zielgebiet zu bewirken, welches von dem optischen Abbildungssystem 20 aufgenommen wird. Das optische Abbildungssystem ist ausgelegt, um reflektiertes Licht von dem Zielgebiet aufzunehmen, und irgend eine darin eingeschlossene Datenform, und dieses auf einer Sensoranordnung 21 zu fokussieren, welche einen Teil des Systems 20 bildet. Das System 20 und die damit in Beziehung stehenden Komponenten werden weiter mit Bezug auf 3 beschrieben.
  • Mit Bezug auf 3 ist dort nun ein vereinfachtes Blockdiagramm von Teilen der Datenformlesevorrichtung gezeigt, die die Erfindung verwendet. Eine konzeptionelle Querschnittsansicht des optischen Abbildungssystems 20 und der flexibel damit verbundenen Schaltungssubstrate bzw. Schaltungsträger 23, 24 und 25 ist vorgesehen. Sowohl das optische Abbildungssystem 20 als auch das Beleuchtungssystem 22 können somit als getrennte Komponenten gebildet werden, die eingesteckt werden können oder in einer existierenden Datenformlesevorrichtung nachgerüstet werden können, um eine andere Bauart oder andere Bauarten von Beleuchtungs- und Sensorvorrichtungen zu ersetzen. Beispielsweise kann das optische Abbildungssystem 20 ein Ausgangsbildsignal erzeugen, welches das Bildsignal eines Laserscanners emuliert, um zu gestatten, daß das System 20 einfach in ein Laserscannergehäuse gesteckt wird, um als eine Lesevorrichtung für zweidimensionale Datenformen zu wirken. Wie veranschaulicht, ist das Beleuchtungssystem 22 außerhalb des Gehäuses angeordnet, welches andere Komponenten der Lesevorrichtung 10 trägt, und überträgt kein Licht durch das optische Abbildungssystem 20. Das optische Abbildungssystem 20 weist eine Linsenanordnung 56 mit mindestens einer optischen Linse auf. Die Linsenanordnung 58 ist ausgelegt, um Lichtstrahlen aufzunehmen, die von dem Zielgebiet bei reflektiert werden, um ein Bild der Datenform auf einer Sensoranordnung 21 zu bilden. Ein optischer Filter 26 kann verwendet werden, um unerwünschte Teile des Umgebungslichtspektrums zu filtern, um die Effekte des Umge bungslichtes während der Belichtungsperiode zu reduzieren. Eine Sensoranordnungssteuereinheit 28 und eine assoziierte Clock- bzw. Taktvorrichtung 29 oder andere Schaltungen, die mit den Substraten bzw. Trägern 23/25 gekoppelt sind, werden verwendet, um ein Ausgangsbildsignal aus. dem System 20 zu bilden. Ein bevorzugtes optisches System, welches zur Anwendung bei der Erfindung geeignet ist, wird gezeigt und beschrieben in US-A-5 811 784.
  • Die Sensoranordnung 21 kann eine zweidimensionale Anordnung von Sensorzellen aufweisen (die jeweils eine Fotodiode verwenden und auf einfallendes reflektiertes Licht ansprechen). Die Sensoranordnungssteuereinheit 28 kann typischerweise eine Ausleseschaltung aufweisen, weiter Vorrichtungen zum Abfühlen einer Ladung oder einer Spannung, die an einzelnen Sensorzellen anliegt bzw. erscheint, und eine Ausgangsverstärkervorrichtung mit einer einstellbaren Verstärkung (gain) zum Koppeln von Bildsignalen von der Sensoranordnung 21. Die Taktvorrichtung 29 kann eine Zeitsteuerung der Auslesung der Bildsignale aus den ausgewählten Sensorelementen vorsehen. Das bevorzugte Ausführungsbeispiel kann eine zweidimensionale CCD-Sensoranordnung verwenden, um ein Bild der Datenform aufzunehmen.
  • Im Gebrauch ist die Datenformlesevorrichtung relativ zum Zielgebiet 58 bei einer Distanz 59 positioniert, wobei die optische Linsenanordnung 56 Licht fokussiert, welches von dem Zielgebiet 58 reflektiert wird, und zwar auf die Sensoranordnung 21. Die Lesevorrichtung 10 kann optional eine In-Fokus-Abfühlanordnung (Anordnung zum Abfühlen des Fokuspunktes) aufweisen, die auf vorbestimmte Bildsignale anspricht, um automatisch eine Datenformauslesesitzung zu initialisieren, und zwar wie weiter beschrieben in US-A-5 572 006 und US-A-5 521 366. Eine Belichtungssteuervorrichtung 64, die auf Bildsignale von einem oder mehreren ausgewählten Sensorelementen der Sensoranordnung 21 anspricht, kann angeordnet sein, um "Start-" und "Stop-Signale" vorzusehen, die verwendbar sind, um eine Belichtungsperiode zu beginnen und zu beenden. Eine Gain- bzw. Verstärkungssteuervor richtung 60 kann vorgesehen werden, um auf Bildsignale anzusprechen, die von einem oder mehreren der Sensorelemente einer Anordnung 21 geliefert werden, und insbesondere auf den Pegel des reflektierten Lichtes, welches durch solche Bildsignale dargestellt wird, um eine Bildsignalverstärkung zu steuern. Die Verstärkungssteuervorrichtung 60 ist somit wirksam, um die Amplitude der Bildsignale aufrecht zu erhalten, die von der Sensoranordnung 21 innerhalb eines vorbestimmten Bereiches geliefert werden, und zwar im wesentlichen unabhängig von der reflektierten Umgebungsbeleuchtung, wie durch die Amplitudenpegel der ausgewählten Bildsignale dargestellt.
  • Wie veranschaulicht, weist die Lesevorrichtung 10 eine Verarbeitungseinheit 80 auf, weiter eine Speichereinheit 82 und ein Eingabe/Ausgabe-(I/O)-Modul 84. Die Verarbeitungseinheit 80, die eine Digitalisierungsvorrichtung 86, eine CPU 88 und ein Leistungsregelungsmodul 90 aufweisen kann, nimmt Bildsignale von der Sensorfeldanordnung 20 über das Schaltungssubstrat bzw. den Schaltungsträger 25 auf und liefert Bilddaten in digitalisierter Form zur Speicherung in der Speichereinheit 82. Die Einheit 80 spricht auf Signale von den Einheiten 60 und 64 an, um die Belichtungsperiode zu steuern. Eine Betriebssequenz kann durch die Verarbeitungseinheit 80 gesteuert werden, um Batterieleistung über das Leistungsregelungsmodul 90 mit dem Schaltungsträger 25 zu koppeln, um selektiv die Zielbeleuchtungsvorrichtungen und das Belichtungsbeleuchtungssystem anzuschalten, und den Betrieb der Sensoranordnung 21 und der assoziierten Schaltungen zu selektiven Zeitpunkten zu steuern, um Batterieleistung einzusparen. Die Verarbeitungseinheit 80 kann auch angeordnet sein, um eine Decodierung einer Datenform unter Verwendung von Bilddaten einzurichten, die in der Speichereinheit 82 gespeichert sind. Auf eine erfolgreiche Decodierung der Datenform hin sieht die Einheit 80 auch ein Endzyklussignal vor, welches dahingehend wirksam ist, das es einen Decodierungsvorgang beendet, und auch das Auslesen der Sensorelemente beendet, die die Bildsignale liefern. In dieser Konfiguration werden decodierte Datenforminformationen zu einer Ausgabevorrichtung 92 über das I/O-Modul 84 geliefert. Das I/O-Modul 84 kann angeordnet sein, um mit PCMCIA-Karten in Schnittstellenschlitzen (interface slots) zu arbeiten, wie mit Bezug auf 2B besprochen, und kann angeordnet sein, um eine Übertragung über Funkwellen, Infrarotlicht oder über eine Verkabelung oder eine andere Signalübertragung und Empfangsfähigkeiten vorzusehen. Eine Ausgabevorrichtung 92 kann entsprechend ein Ausgangsanschluß sein um Ausgangssignale über einen Leiter, eine Antenne oder eine optische Vorrichtung zur Funkübertragung oder Infrarotübertragung oder durch irgend eine andere geeignete Vorrichtung mit der I/O-Einheit 84 zu koppeln, die angeordnet ist, um decodierte Datenforminformationen in geeigneter Form zur Anwendung mit der speziellen Form der Ausgabevorrichtung zu liefern. Ein Modem, eine Spracherkennung, eine Handschrifterkennung, ein Speicher und andere Arten von zusätzlichen Eigenschaften oder Peripheriekarten können auch in die PCMCIA-Schlitze zum Betrieb in Zusammenarbeit mit der Verarbeitungseinheit 80 und dem I/O-Modul 84 eingeführt werden, um andere Merkmale vorzusehen.
  • Eine Datenformlesevorrichtung, die im allgemeinen ähnlich jener in den 2A, B und C und der 3 ist, und ihr Betrieb wird genauer beschrieben in US-A-5 572 006 und US-A-5 521 366, die oben erwähnt wurden.
  • Mit Bezug auf 4 wird ein Bild, welches in einer Sensoranordnung gespeichert ist, bei 92 dargestellt, wobei ein mit eingeschlossenes Bild einer Datenform bei 93 ist. Für eine sehr weit gefaßte komplexe Form von Datenformen, wie gezeigt, haben einzelne Elemente der Datenform sehr kleine Abmessungen, wenn die gesamte Datenform auf die Sensorelemente einen Sensoranordnung abgebildet wird, wie gezeigt. Wie erwähnt, haben frühere Lesevorrichtungen im allgemeinen eine Auflösung erfordert, die durch die kleinste Zellenabmessung der Datenform gekennzeichnet wird (d. h. durch ein Modul), die zumindest zwei Pixel breit ist (beispielsweise nicht kleiner als die Breite von zwei Seite an Seite liegenden Sensorelementen), um eine Lokalisierung der Zellenkanten ausreichend genau für eine erfolgreiche Datenformdecodierung zu ermöglichen. Auf dieser Grundlage würde für eine typische CCD-Sensoranordnung, die 256 Sensorelemente breit ist, die maxima le Breite eines decodierbaren Strichcodes auf 128 Module begrenzt sein Einzelne Zellen des Strichcodes werden ein oder mehr Module breit sein so daß die frühere praktische Grenze für einen Strichcode beträchtlich kleiner als 128 Strich- und Freiraumelemente für eine CCD-Anordnung dieser Größe sein wird. Wie beschrieben wird, bietet die Erfindung eine Sub-Pixelverarbeitung, die effektiv die Auflösung einer CCD-Anordnung der gegebenen Größe durch Verringerung der minimalen Anforderung für Pixel pro Zelle von mindestens zwei auf zwischen ein und zwei Pixel pro minimale Zellenbreite (pro Modul) reduziert.
  • Sobald das Bild 92 durch die Datenformlesevorrichtung der 3 gespeichert wurde, arbeitet die CPU 88 dahingehend, daß sie Lauflängendaten für die Datenform zur Decodierung verarbeitet, wie beschrieben wird. "Lauflängendaten" sind definiert als eine Darstellung einer Abfolge von Zellenkantenübergängen oder Abmessungen von allen Zellen einer Datenform oder eines erwünschten Teils der Zellen einer Datenform in einer Form, die für eine Datenformdecodierung anzuwenden ist (wie weiter mit Bezugnahme auf 23 besprochen wird). Das Datenformbild wird durch eine Analyse einer Vielzahl von Tast- bzw. Aufnahmelinien verarbeitet, die jeweils durch eine Abfolge von Graustufenwerken für Pixel entlang einer Linie dargestellt werden, die die Zellenkantenübergänge des Datenformbildes darstellen. Während Laserscanner und andere Vorrichtungen (genauso wie gegenwärtig bevorzugte CCD-Sensoranordnungen) verwendet werden können, um Bilddaten vorzusehen, wird Bezug genommen auf "rast " bzw. "Aufnahmelinien" zur Auswahl einer solchen Abfolge von Graustufenwerten. Eine Aufnahmelinie ist in 4 bei 94 gezeigt. In einem bevorzugten Ausführungsbeispiel ist das Verfahren zur Lokalisierung von Datenformzellenkantenübergängen anwendbar in einem Bereich von Datenformzellenbreiten von einer Sub-Pixelbreite bis zu viel breiteren Breiten, und zwar mit einer automatischen Auswahl zwischen den Alternativen der Sub-Pixelverarbeitung oder der Vollpixelverarbeitung. Eine gesteigerte Fähigkeit beim Auslesen von Datenformen resultiert aus dem Vorsehen einer Sub-Pixelgenauigkeit oder Sub-Pixelauflösung bei des Lokalisierung von Zellenkantenübergängen. Der Be trieb eignet sich auch für einen großen Bereich von Rauschzuständen, die Pixeldaten beeinflussen. Es wird vorgesehen, daß Pixel identifiziert werden; die eine Tast- bzw. Aufnahmelinie definieren, so daß eine Abfolge von Graustufenwerten entlang einer ausgewählten Linie aufgenommen werden können. 12 zeigt eine Abfolge von Graustufenwerten entlang einer Aufnahmelinie, die eine Datenform überkreuzt (beispielsweise Linie 94 der 4).
  • Mit Bezug auf 12 wird offensichtlich sein, daß während die veranschaulichten Graustufenwerte eine Abfolge von Zellenkantenübergängen darstellen, die große Anzahl und die kleine Breite von einzelnen Zellen in Anwesenheit von Rauscheffekten die Schwierigkeiten der genauen Lokalisierung von den tatsächlichen Zellenkantenübergängen vergrößert. Somit kann die Datenform ein zweidimensionaler Strichcode sein, der auf eine Oberfläche gedruckt wird, und zwar als grafisches Abbild von schwarzen (niedrige Reflektivität) und weißen (höhere Reflektivität) vertikalen Strichelementen. Jeder Strich, ob schwarz oder weiß, kann die Breite von einem oder von einer Vielzahl von Grundmodulen oder Elementbreiten haben (wobei ein einzelnes Modul oder eine einzelne Zellenbreite somit die kleinste interessante Abmessung darstellt). Daten werden in den Strichcode codiert, wie durch das grafische Bild dargestellt, und zwar durch Auswahl der Breiten von aufeinanderfolgenden schwarzen und weißen Elementen, und Rauscheffekfe werden durch den Druck, durch Tinte und durch Oberflächenunregelmäßigkeiten eingeleitet, genauso wie durch die Natur und die Charakteristiken der reflektierten Beleuchtung und der Fokussierungs- und Beleuchtungsdetektionsvorrichtungen.
  • Wie genauer beschrieben wird, wandelt die Datenformlesevorrichtung die Abfolge von Graustufenwerten, die Pixel entlang einer Aufnahmelinie darstellen, in Läuflängendaten um, die verwendbar sind, um Zellen der Datenform zu decodieren. Durch Anwendung von dynamischen Rauschrahmen und einer Datenauswahl, die zugeordneten Rauschrahmen unterworfen ist, wird eine verbesserte Datenformzellenkantenlokalisierung auch in Anwesenheit des Rauschens erreicht.
  • Anfänglich werden Bilddaten, die eine Darstellung einer Datenform aufwesen, in den Speicher 82 der Datenformlesevorrichtung der 3 Bespeichert, und zwar basierend auf einem reflektierten Bild, welches auf der Sensoranordnung 21 fokussiert wird, wie oben beschrieben. Es ist dann wünschenswert, die gespeicherten Bilddaten zu verwenden, um Graustufenwerte für Pixel aufzunehmen, die eine erwünschte Tast- bzw. Aufnahmelinie darstellen, die das Datenformbild überkreuzt. Im allgemeinen werden die gespeicherten Daten nicht eine Datenform darstellen, deren horizontale Achse horizontal innerhalb des Bildgebietes ausgerichtet ist, welches von den gespeicherten Bilddaten dargestellt wird. Im Grunde genommen kann die Datenformlesevorrichtung verwendet werden, um eine Datenform mit einer willkürlichen Orientierung innerhalb eines Zielgebietes zu lesen und das Datenformbild kann somit irgend eine Orientierung innerhalb des Bildes haben, welches auf die Sensoranordnung fokussiert ist. Wünschenswerterweise würde jedoch eine Aufnahmelinie für die vorliegenden Zwecke so ausgerichtet sein, daß sie alle (öder mindestens eine Vielzahl) der Striche einer speziellen Zeile überkreuzt, die beispielsweise in einem zweidimensionalen Strichcode vorgesehen ist.
  • Mit Bezug auf 5 ist dort ein vereinfachtes Blockdiagramm eines Teils der Lesevorrichtung der 3 gezeigt, die zusätzlich eine Adreßeinheit 98 aufweist. Die Konfiguration der 5 sieht die Fähigkeit vor, auf Bilddaten zuzugreifen, die in dem Frame- bzw. Bildspeicher 82 für eine Aufnahmelinie gespeichert sind, die in irgend einem Winkel ausgerichtet ist, so daß sie die Zellen einer Datenform überkreuzt, um eine Abfolge von Graustufenwerten vorzusehen, wie oben erwähnt. Wie in 5 dargestellt, ist die CPU 88 angeordnet, um mit einer Vielzahl von Arten der Software-Programmierung zu arbeiten. Eine solche Software kann (a) Programme aufweisen, die geeignet sind, um Strichcodes zu lokalisieren (b) Lauflinienprogramme zur Identifikation von Start- und Stoppunkten einer schrägen Linienkomponente, des Startpunktes und eines Neigungswinkels oder eine Steigung einer schrägen Linienkomponente oder Kombinationen von Punkten und Neigungen, und (c) eines oder mehrere Programme zur Decodierung von Strichcodes oder von anderen Arten von Datenformen aus den Bilddaten die diese darstellen.
  • Eine Strichcodelage, die vorgesehen wird, wie in US-A-5 304 787 beschrieben, kann somit angeordnet werden, um Lagesignale für die vier Ecken eines Strichcodes zu liefern, der innerhalb eines Bildes gelegen ist, das in dem Frame- bzw. Bildspeicher 82 gespeichert ist, und zwar zusammen mit Informationen bezüglich der aktuellen Orientierung des Strichcodes innerhalb seines Umgrenzungskastens. In 5 ist die CPU 88 so angeordnet, daß sie Signale liefert, die Aufnahmelinien identifizieren, für die Bilddaten zu lesen sind, um eine Abfolge von Graustufenwerten vorzusehen. Diese Signale können Daten aufweisen, die die Start- und Stoppunkte von schrägen Linien identifizieren, weiter die Steigung von solchen schrägen Linien oder Kombiinationen von solchen Punkten und Steigungen. Für die gegenwärtigen Zwecke sind "schräge" Linien als Linien definiert, die schräg zu den Zeilen und Spalten der Sensorelemente einer Anordnung positioniert sind. Die Adreßeinheit 98 spricht auf solche Daten von der CPU 88 an, um Adreßsignale zu erzeugen, die sequentiell jedes Pixel oder jede Sensorzellenposition ansprechen, die die schräge Linienkomponente definiert, wie von der CPU 88 identifiziert. Wie weiter mit Bezug auf 6 beschrieben wird, sind solche Adreßsignale wirksam, ein gestuftes Pixelmuster der Sensorzellen zu identifizieren, die die schräge Linienkomponente darstellen. Diese Fähigkeit zur Anwendung von gestuften Pixelmustern ermöglicht, daß Bilddaten entlang schräger Linienkomponenten ausgelesen werden, die ausgewählt werden, so daß sie sich entlang von Zeilen der Elemente einer Datenform erstrecken, die die Elemente in einer Richtung im wesentlichen senkrecht zu den Elementen überkreuzen. Die Adreßsignale können die Form von Speicheradreßsignalen haben, die anwendbar sind, um auf gespeicherte Bilddaten zuzugreifen, die aus Sensorzellen herrühren, die ein gestuftes Pixelmuster aufweisen. Solche Signale werden von der Adreßeinheit 98 zum Frame- bzw. Bildspeicher 82 gekoppelt, um sequentiell auf die Speicherstelle der gespeicherten Bilddaten zuzugreifen, die von den Sensorzellen herrühren; die jedes Pixel des gestuften Pixelmusters für die erwünschte schräge Linienkomponente des gespeicherten Bildes darstellen. Die Bilddaten von den ausgewählten Speicherstellen werden dann zur CPU 88 zur weiteren Verarbeitung geliefert, die eine Decodierung des Strichcodes aufweisen kann.
  • Im Betrieb des Systems der 5 werden Start- und Stoppunkte einer schrägen Linienkomponente eines Bildteilabschnittes anfänglich basierend auf Daten von einer Strichcodeanordnungsvorrichtung oder einer anderen Quelle geliefert. Das System wird gleichfalls für schräge Linien genauso wie für Linien arbeiten, die nicht schräg sind (d. h. horizontale oder vertikale Linien, die mit Zeilen oder Spalten von Sensorzellen in einer Anordnung zusammenfallen). Die Adreßeinheit 98 kann die Form einer Hardware-Zustandsmaschine haben, die unter Verwendung von bekannten Techniken konfiguriert ist, um automatisch Adreßsignale für Pixelpositionen entlang einer schrägen Linienkomponente der gespeicherten Bilddaten zu erzeugen, wenn sie mit geeignete Linienidentifikationsdaten oder -werten beliefert wird. Eine solche Zustandsmaschine kann eine Halbleitervorrichtung aufweisen, die konfiguriert ist, um die Funktion des Ausgebens der Speicheradressen oder der Anordnungsadressen bzw. Tabellenadressen der Bilddaten für ein vollständiges Pixelmuster ansprechend auf Anordnungs- bzw. Lagesignale auszuführen, die die Endpunktkoordinaten und die Steigung von beispielsweise einer schrägen Linienkomponente darstellen. Die Adreßeinheit 98 arbeitet in bekannter Weise, indem sie konzeptionell zuerst die X1-, Y1-Koordinaten anspricht, und dann ohne irgend eine weitere Eingabe von der CPU sequentiell jede X-Koordinate und die entsprechende Y-Koordinate anspricht (und zwar basierend auf der Liniensteigung) bis sie X2, Y2 anspricht, wo sie stoppt. 6 zeigt grafisch sowohl ein Beispiel eines gestuften Pixelmusters für eine aufgenommene schräge Linienkomponente als auch die Reihenfolge, in der die Pixel für diese schräge Linienkomponente angesprochen werden.
  • 7 ist eine Flußdiagrammdarstellung des Betriebs der Adreßeinheit 89. Im Schritt 96 ist eine Variable n ein Zähler, der die Anzahl der Zyklen zählt, die notwendig sind, um jedes Pixel auf der Linie zu adressieren. Wenn der Zähler Null im Schritt 96 erreicht, sind alle Pixel adressiert worden, und die Zustandsmaschine stoppt. Wenn n ≠ 0 ist, dann wird im Schritt 97 X auf den nächsten folgenden X-Wert inkrementiert. Im Schritt 98 ist die Variable d ein Steigungszähler. Mit jedem Inkrement des Wertes X1 bestimmt die Zustandsmaschine, ob der Wert von Y auch inkrementiert bzw. weitergeschaltet werden muß oder der Gleiche bleibt. Wenn die Pixel von unendlicher Auflösung wären, würde Y bei jedem X-Inkrement in Proportion zu der Neigung der Linie inkrementiert. Wie jedoch in 6 gezeigt, wird ohne unendliche Auflösung der Y-Wert nicht mit jedem X-Inkrement weitergeschaltet. Wie beschrieben erzeugt diese Zustandsmaschine keine Linie, in der der Y-Wert um mehr als einmal inkrementiert wird, ohne den X-Wert zu inkrementieren. In dem Fall, wo die Linie eine Neigung von mehr als 45 Grad hat, werden die X- und Y-Koordinaten daher einfach zur Verarbeitung umgekehrt. Wenn d kleiner als Null im Schritt 98 ist, wird der Y-Wert nicht inkrementiert, sondern d wird für den nächsten Zyklus im Schritt 99 aktualisiert. Wenn d nicht kleiner als Null ist, dann wird Y im Schritt 100 inkrementiert, und d wird für den nächsten Zyklus im Schritt 101 aktualisiert. Nach dem Inkrementieren von X und, falls nötig, dem Inkrementieren von Y, ist die Adresse X + Y, was zur Sensoranordnung 16 im Schritt 102 gesandt wird. Im Schritt 103 wird der Zykluszähler n aktualisiert.
  • Die Adreßeinheit kann angeordnet werden, um Adreßsignale zu liefern, um gestufte Pixelmuster für einen vollständigen Satz von parallelen schrägen Linienkomponenten ansprechend auf eine einzige Neigung oder eine Eingabe von Neigung und Endpunkt von der CPU zu vollenden. 8 ist ein Flußdiagramm, welches kurz den Betrieb der Lauflinienprogrammierung für die Stoppunkte für eine Vielzahl von Aufnahmelinien veranschaulicht. Im Schritt 104 wird das Lauflinienprogramm verwendet, um die Menge der nötigen Aufnahmelinien zu bestimmen. Diese Bestimmung kann auf einer Abschätzung der Auflösung der Datenform basieren, und zwar unter Verwen dung von Daten, die erhalten wurden, während der Strichcode lokalisiert wurde. Im Schritt 105 berechnet das System vier Sprungfaktoren basierend auf der Menge der Aufnahmelinien, die als geeignet bestimmt wurden. Im Schritt 106 erzeugt das System jeden Startpunkt (X1, Y1) und jeden Endpunkt (X2, Y2), wie für eine einzige Aufnahmelinie in 6 dargestellt.
  • Die Parameter, die von der Zustandsmaschine benötigt werden, um die Pixel zu identifizieren, die die schräge Linienkomponente bilden, die aufgenommen bzw. gesampelt werden soll, werden dann im Schritt 107 berechnet. Das System der 5 und sein Betrieb, der die Aufnahme von Sequenzen von Graustufenwerten für Pixel ermöglicht, die Aufnahmelinien darstellen, die die Zellenkantenübergänge von einem Datenformbild übekreuzen, werden genauer mit alternativen Anordnungen beschrieben in der US-Anmeldungsseriennummer 08/438889.
  • Zellenkantenlage
  • Zum Zwecke der Verdeutlichung zeigt 9 eine einfache Abfolge von Strichzellen einer Datenform und einer benachbarten Darstellung von einer Linie von Pixelpositionen oder CCD-Sensorelementen, auf die ein reflektiertes Bild der Strichzellen fokussiert wird. Es wird somit offensichtlich sein, daß die Pixelposition 108 eine Beleuchtung aufnimmt, die von einer weißen Region mit hoher Reflektivität der Datenform reflektiert wurde, daß die Pixelposition 109 eine Beleuchtung aufnimmt, die von einer schwarzen Region mit niedriger Reflektivität reflektiert wurde, und daß ein Pixel 110 einen Zwischenbeleuchtungspegel von einer schwarzen/weißen Region aufnimmt die einen Zellenkantenübergang darstellt. Wenn sie digitalisiert und im dem Speicher als Graustufenwerte gespeichert wird, wird die Pixelposition 108 somit als ein hoher Graustufenwert dargestellt, die Pixelposition 109 wird als ein niedriger Graustufenwert dargestellt, und die Pixelposition 110 wird als ein dazwischen liegender Graustufenwert dargestellt.
  • 10 zeigt eine ideale Graustufendarstellung der Abfolge der 9 der Strichzellen einer Datenform. Die Graustufendarstellung der 10 erfordert eine Sub-Pixelverarbeitung, da, wie gezeigt, die kleinsten Zellen viel schmaler als zwei Pixel breit sind. In 10 ist kein Rauschen eingeleitet worden.
  • In 9 stellt jeder Zellenkantenübergang einen Übergang von schwarz zu weiß oder von weiß zu schwarz dar. In 10 wird jeder Zellenkantenübergang durch ein Übergangssegment dargestellt (veranschaulicht als ein Liniensegment), welches von einem höheren Graustufenwert (beispielsweise weiß) zu einem niedrigerem Graustufenwert (beispielsweise schwarz) oder umgekehrt übergeht. Zusätzlich zu Übergängen von schwarz zu weiß und von weiß zu schwarz sind Übergänge zwischen höheren und niedrigeren dazwischen liegenden Graustufenwerten mit eingeschlossen (beispielsweise grau zu grau), und die Übergänge zwischen den grauen und weißen und grauen und schwarzen Graustufenwerten.
  • Für die vorliegenden Zwecke kann jedes Übergangssegment so angesehen werden, daß es sich zwischen einem lokalen Maximum und einem lokalen Minimum erstreckt ("lokal" weil das Maximum für ein gegebenes Segment einen dazwischen liegenden Graustufenwert von beispielsweise weniger als weiß darstellen kann). Das lokale Maximum und das lokale Minimum stellen somit benachbarte Spitzen und Durchgangsgraustufenwerte dar und können in einer Spitzen-Durchgangs-Abfolge oder umgekehrt sein. In 9 gibt es 10 Zellenkantenübergänge. In 10 stellt in Abwesenheit von Rauschen jedes der 10 Übergangssegmente einen gültigen Zellenkantenübergang dar. Wie veranschaulicht, stellt sich jeder Raum mit hoher Reflektivität als Spitze dar, und jeder Strich mit niedriger Reflektivität stellt sich als Durchgang dar.
  • Gemäß der Erfindung werden gewisse Charakteristiken der Graustufenspitzen und Durchgänge (maximale und minimale Graustufenwerte) als speziell signifikant identifiziert. Wenn ein Freiraum breit genug ist, um mehrere Pixelpositionen abzudecken, ist die Spitze breit und verflacht sich an den weißen Graustufenwerten. In ähnlicher Weise wird ein breiter Strich durch einen breiten Durchgang mit flachem Boden bei dem Graustufenwert in 10 dargestellt. Wenn der Freiraum schmaler ist als zwei Pixel breit, dann wird die Spitze schmaler als zwei Pixel sein. Insbesondere kann für schmalere Freiräume die Höhe der Spitze nur einen Zwischengraustufenwert und nicht einen weißen Wert erreichen, wie bemerkt.
  • In 41 ist zufälliges Rauschen in die Darstellung der 10 eingeleitet worden, was eine Graustufendarstellung erzeugt, die 19 Übergangssegmente mit einschließt. Da 9 nur 10 Zellenkantenübergänge aufweist, sind die Übergangssegmente der 11 über dieser Anzahl falsche Übergangssegmente. Daraus resultierende Charakteristiken, die gemäß der Erfindung identifiziert werden, sind Folgende. Erstens, wenn eine Spitze (oder ein Durchgang) mehr als zwei Pixel breit ist, gibt es Pixelpositionen entlang des Oberteils der Spitze (oder entlang des Unterteils des Durchgangs) deren Graustufenwert durch Rauschen verändert werden kann, um eine Einleitung von falschen Spitzen oder Durchgängen bzw. Einsenkungen oder von beidem zur Folge hat. Eine falsche Spitze ist somit bei 111 eingeleitet worden, und ein falscher Durchgang bei 112. Zweitens, wenn eine Spitze (oder ein Durchgang) zwei Pixel oder weniger breit ist, kann das Rauschen den maximalen (oder minimalen) Graustufenwert verzerren, kann jedoch nicht eine neue Spitze oder einen neuen Durchgang hinzufügen. Drittens, da Übergangssegmente, die Zellenkantenübergänge darstellen, durch Liniensegmente zwischen aufeinander folgenden lokalen maximalen und lokalen minimalen Graustufenwerten (oder umgekehrt) dargestellt werden, können für Spitzen oder Durchgänge von zwei Pixeln oder weniger in der Breite Rauschanteile nicht das Hinzufügen eines neuen Übergangssegmentes zur Folge haben. Wenn es ebenfalls eine Abfolge von Strichen und Freiräumen gibt, die jeweils ein bis zwei Pixel breit sind, wird jeder Strich und Freiraum sich als eine einzige Spitze oder eine Einsenkung bzw. ein Durchgang darstellen, und zwar ungeachtet der Anwesenheit von Rauschen oder der Größe eines solchen Rauschens.
  • Zusammengefaßt stellen sich breite Datenformzellen als breite Spitzen und Durchgänge dar. Für eine breite weiße Region der Datenform wird sich die Spitze zu dem rein weißen Bereich der Grauskala erstrecken, aufgrund von Graustufenwertveränderungen über die weiße Spitze während des Rauschens. In ähnlicher Weise wird sich für eine breite schwarze Region einer Datenform der Durchgangsboden zu dem rein schwarzen Graustufenbereich erstrecken, und zwar aufgrund von mit Rauschen in Beziehung stehenden Variationen entlang des Durchgangsbodens. Da Zellenkantenübergänge durch Übergangssegmente zwischen lokalen maximalen und lokalen minimalen Graustufenwerten dargestellt werden, können solche mit Rauschen in Beziehung stehende Variationen falsche Übergangssegmente in einer breiten Spitze oder einem Durchgang einleiten. Gemäß der Erfindung sei jedoch bemerkt, daß schmale Datenformregionen sich als Spitzen oder Durchgänge mit einer Breite von zwei oder weniger Pixeln darstellen, zu denen Rauschen keine Verzerrungen hinfügen kann, was irgend welche falschen Übergangssegmente zur Folge hat. Diese schmalen Spitzen oder Durchgänge können auf dazwischen liegende Graustufenwerte fallen, was kleine Übergangssegmente erzeugt, die trotzdem tatsächliche Zellenkantenübergänge darstellen.
  • Somit sei bemerkt, daß falsche Übergangssegmente, die durch Rauschen erzeugt werden, sich nur innerhalb von hohen und niedrigen Bereichen von Graustufenwerten zeigen können. Entsprechend wird ein Rauschrahmen aufgebracht, so daß kleine Übergangssegmente, die in solchen hohen und niedrigen Graustufenbereichen vorhanden sind, so behandelt werden, wie wenn sie nicht tatsächliche Zellenkantenübergänge darstellen. Der Rauschrahmen wird nicht auf kleine Übergangssegmente angewandt, wo eine Spitze oder ein Durchgang in der dazwischen liegenden Graustufenregion vorhanden ist (d. h. zwischen den hohen und niedrigen Bereichen). Da Rauschen keine falschen Übergangssegmente außerhalb der hohen und niedrigen Graustufenbereiche erzeugen kann, wird jedes Übergangssegment in der dazwischen liegenden Graustufenregion als eine Information angesehen, die einen Übergang trägt, der einen Zellenkantenübergang darstellt. Hohe und niedrige Graustufenwerte für diesen Zweck können auf einer vorbe stimmten Basis oder auf Grundlage von Versuch und Irrtum ausgelegt werden, und zwar zur Anwendung bei Datenformen von einer speziellen Art (beispielsweise mit bekannten Charakteristiken). Die Bereiche können auch aktiv durch eine Histogrammanalyse bestimmt werden, wie später beschrieben wird. In 11 kann der hohe Bereich derart gesehen werden, daß er sich von reinweiß bis zu dem Graustufenwert erstreckt, der von der Linie 113 dargestellt wird, wobei der niedrige Bereich von schwarz bis zur Linie 114 des Graustufenwertes seicht. Bei diesen Bereichen ist ein Rauschrahmen wirksam, um zu bewirken, daß die Übergangssegmente, die von den rauschmodifizierten Graustufenwerten 111 und 112 herrühren (als jeweilige falsche lokale minimale und maximale Werte) als falsche Segmente behandelt werden, ohne einzuschränken, daß das Übergangssegment 115 so verarbeitet wird, daß es einen tatsächlichen Zellenkantenübergang darstellt. Mit Bezug auf 12 ist dort eine Abfolge von Graustufenwerten für Pixel veranschaulicht, die eine Aufnahmelinie darstellen (beispielsweise Linie 94 der 4), die die Zellenkantenübergänge von dem Datenformbild 93 der
  • 4 überkreuzen. In 15 sind Graustufenwerte dargestellt, die von reflektierten Beleuchtungspegeln auf einzelnen Sensorelementen herrühren, die eine Abtastlinie aufweisen, wie beschrieben. Während die tatsächliche Datenform ein zweidimensionaler Strichcode sein kann, der aus diskreten schwarzen Strichen und weißen Strichen aufgebaut ist, haben reflektive, abfühlende, verarbeitende und andere Effekte eine "verrauschte" Wellenform zur Folge, wie gezeigt, die gemäß der Erfindung verarbeitet wird, um Datenformzellenübergänge zu lokalisieren, wie zur Datenfonmdecodierung nötig. Typischerweise können die Graustufenwerte eine Skala von 0 bis 255 aufweisen, wobei 0 die niedrigste Reflektivität (beispielsweise schwarzes Element) darstellt, und wobei 255 die höchste Reflektivität (beispielsweise ein weißes Element) darstellt. Wie beschrieben stellt 12 die Graustufenwerte entlang einer einzigen Aufnahmelinie dar. Es wird somit klar sein, daß Lauflängendaten, die zur Decodierung eines vollständigen zweidimensionalen Strichcodes geeignet sind, beispielsweise eine Aufnahmelinie aufweisen müssen, die die Zellenkantenübergänge von jeder Linie von Strich codeelementen darstellt. In Fig. 12 sind Ruhezonen 116 gezeigt, die dem Beginn des Strichcodebildes bei 117 voranschreiten, und die dem Ende des Strichcodebildes bei 118 folgen. 13 zeigt einen vergrößerten Teil der Graustufensequenz der 12, und 14 zeigt einen entsprechenden Teil der Lauflängendaten. Wie gezeigt, sieht 14 eine Darstellung von spezifischen Elementkantenpositionen vor, und dadurch die relativen Breiten der Elemente in einer Form, die zur Anwendung bei der Decodierung geeignet ist.
  • In Vorbereitung für die Zellenkantenlokalisation werden Parameter abgeschätzt, die für die spezielle Aufnahmelinie relevant sind, vorzugsweise durch eine Analyse von einer oder mehreren Aufnahmelinien in unterschiedlichen Orientierungen in der Nachbarschaft der Mitte des interessanten Datenformbildes. Diese Parameter können Rauschpegel mit einschließen, die in der Graustufensequenz vorhanden sind, anfängliche obere und untere Signalumhüllungsgrenzen und eine Datenformmodulbreite (d. h. Pixel pro Modul). Obere und untere Umhüllungsgrenzen sind als Linien bestimmt die jeweils auf einer angenäherten Basis einer Umhüllung der maximalen Wertsignalausschläge und der minimalen Wertsignalausschläge folgen, wie bei 119 und 120 in 15 dargestellt.
  • Die Notwendigkeit für eine Kantenlokalisierungsgenauigkeit von unter einem Pixel (Sub-Pixellokalisierungsgenauigkeit) kann bewertet werden durch Bestimmung eines Wertes, der das Verhältnis der Größe des kleinsten Datenformelementes in dem Bildrelativ zur Größe eines Fotosensorpixels darstellt. Wenn ein solcher Wert unter einer vorbestimmten Zahl ist (beispielsweise 2 oder 2,1) wird eine Sub-Pixelverarbeitung eingesetzt. Eine Histogrammanalyse von gesampelten bzw. aufgenommenen Bilddaten kann verwendet werden, um die Notwendigkeit für eine Sub-Pixelkantenlokalisierungsgenauigkeit basierend auf Histogrammwertgleichförmigkeitscharakteristiken zu bestimmen. Wie weiter beschrieben wird, wird eine Sub-Pixelkantenlokalisierung im allgemeinen erforderlich, wenn die Breite eines Datenformmoduls, wie es in dem gespeicherten Bild dargestellt ist, kleiner als zwei Pixel ist oder kleiner als die optische Systempunktgröße in der Bild(sensor)ebene. Für Breiten von zwei Pixeln pro Modul oder mehr ist die zusätzliche Verarbeitung, die für eine Sub-Pixelgenauigkeit der Zellenkantenlokalisierung nötig ist, nicht erforderlich, und die Vollpixelverarbeitung kann verwendet werden. Es sei bemerkt, daß die Datenformmodulbreite nicht nur durch ursprüngliche Datenformabmessungen bestimmt wird, sondern auch durch Faltungs- und Tast- bzw. Aufnahmeeffekte, die von einer Bildaufnahme und Bildverarbeitung herrühren. Zur Bestimmung der Notwendigkeit für eine Sub-Pixelkantenlokalisierungsverarbeitung werden Histogramme des Graustufengradienten zwischen aufeinander folgenden Graustufenwerten (maximale zu minimale Gradienten und minimale zu maximalen Gradienten) entwickelt. Typischerweise werden für eine verbesserte Zuverlässigkeit der Ergebnisse ein paar Punkte des oberen Endes des Histogramms abgelegt oder ignoriert. Die restlichen Histogrammberge werden dann in vier Gruppen aufgeteilt, und die Bestimmung, daß eine Sub-Pixelkantenlokalisierungsgenauigkeit benötigt wird, wird vorgenommen, wenn das Histogramm relativ gleichförmig ist, und nicht eine Spitze am hohen Ende hat. Bekannte Techniken der Histogrammanalyse können somit eingesetzt werden und eine automatisierte Abfühlung der Histogrammgleichförmigkeit, gegenüber Spitzenwerten am oberen Ende, kann auf eine erwünschte Leistung im Hinblick auf die Ergebnisse eingestellt werden, die während der anfänglichen Zustände oder der Testzustände erhalten wurden. Der Rauschrahmen wird auch basierend auf Statistiken ausgewählt, und zwar bezüglich des Histogramms der aufeinander folgenden Graustufengradienten. Eine Analyse der Größe des Rauschens oder von flüchtigen Effekten wird relativ zu den Größen der repräsentativen Signalgradienten für eine Grauskala bewertet, die eine oder mehrere anfängliche Aufnahmelinien darstellt.
  • Nach einer anfänglichen Einschätzung dieser ausgewählten Parameter wird entweder eine Sub-Pixelverarbeitung oder eine Vollpixelverarbeitung eingeleitet. 16 ist ein Flußdiagramm, das nützlich bei der Beschreibung der Zellenkantenübergangslokalisierungsverfahren gemäß der Erfindung ist, und welches insbesondere die Sub-Pixelverarbeitung veranschaulicht. Folgend auf eine Bestimmung, daß eine Sub-Pixelverarbeitung benötigt wird, wird ein Bild, welches eine Datenform aufweist, im Schritt 128 gespeichert, und der Rauschrahmen (und andere Anfangsparameter) werden im Schritt 130 bestimmt. Eine Aufnahmelinie von Graustufenwerten, wie mit Bezugnahme auf 15 besprochen, wird dann aus den gespeicherten Bilddaten im Schritt 132 extrahiert. In 16 sind die Schritte 134 bis 142, wie sie in dem gestrichelten Kasten 135 eingeschlossen sind, insbesondere auf die Sub-Pixelverarbeitung anwendbar. Eine Vollpixelverarbeitung wird unten mit Bezugnahme auf die 20 bis 21 beschrieben.
  • Im Schritt 134 werden die oberen und unteren Umhüllungsgrenzen wiederum abgeschätzt und bezüglich eines relevanten Teils der Abfolge von Graustufenwerten für die spezielle Aufnahmelinie aktualisiert, die gerade extrahiert wurde. 17 stellt einen Teil der Graustufenwertsequenz der 15 in einem horizontal ausgedehnten Maßstab dar. In diesem Beispiel ist der Teil einer von einer Abfolge von Fensterteilen, die die vollständige Sequenz der 15 aufweisen. Wie gezeigt, sind die oberen und unteren Umhüllungsgrenzen bei 119 und 120 angezeigt. Vorzugsweise wird ein Fensterteil ausgewählt, so daß er Graustufenwerte für eine begrenzte Anzahl von Datenformzellen aufweist. In dieser Weise wird die Tast- bzw. Aufnahmelinie eine Abfolge von Fensterteilen mit Umhüllungsgrenzen aufweisen, die einzeln für jeden Fensterteil bestimmt wurden. Als eine Folge werden die Umhüllungsgrenzen dynamisch für aufeinander folgende Fenster bestimmt, was einen Betrieb mit höherer Auflösung gemäß des Zellenkantenlokalisierungsverfahrens vorsieht.
  • Es wird offensichtlich sein, daß eine Veränderung des Pegels der reflektierten Beleuchtung, die eine von schwarz auf weiß übergehende oder eine von weiß auf schwarz übergehende Datenformzellenkante darstellt, eine Veränderung der Graustufenwerte entlang einer Aufnahmelinie zur Folge haben wird. 17 zeigt eine Abfolge von Graustufenwerten, die durch Übergangssegmente verbunden sind, wobei repräsentative Beispiele davon bei 121, 122, 123 und 124 liegen. Wie schon besprochen, ist herausgefunden worden, daß für Datenformzellen von kleinen Abmessungen in Anwesenheit von Rauschen kleine Übergangssegmente entweder tatsächliche Zellenkantenübergänge oder flüchtige Graustufenveränderungen darstellen können, die Rauscheffekten zuzuordnen sind. Somit ist das Übergangssegment 122 groß genug, um nicht einem Rauschen zuordenbar zu sein. Jedoch gilt bei Übergangssegmenten von kleinerer Größe, wie beispielsweise bei jenen, die bei 121, 123 und 124 gezeigt sind, daß ihre Größe mit der Größe von flüchtigen Effekten vergleichbar ist, die einem Rauschen zuzuordnen sind. Gemäß der Erfindung kann eine Decodierung mit hoher Auflösung gemäß der Erfindung durch Anwendung eines Rauschrahmens erreicht werden, um kleine Übergangssegmente, die bei relativ hohen oder niedrigen Graustufenwerten auftreten, als einem Rauschen zuordenbar zu charakterisieren. Der Rauschrahmen wird jedoch selektiv so verwendet, daß während Übergangssegmente, wie beispielsweise 121 und 124, als falsch behandelt werden, Übergangssegmente wie beispielsweise 122 und 123, als gültig behandelt werden und verarbeitet werden, um Zellenkantenübergänge zu lokalisieren.
  • Insbesondere wird für den einzelnen Fensterteil der 17 im Schritt 136 der 16 der Rauschrahmen eingerichtet durch Aufteilung des Graustufenbereiches zwischen den oberen und unteren Umhüllungsgrenzen in drei Bänder. Beispielsweise kann einn Verhältnis von 2 zu 1 mit jedem der äußeren Bänder 150 verwendet werden, und zwar zweimal so breit wie das mittlere Band 152. Bei diesem Verhältnis wird die Breite der Bänder 150 40 Prozent sein, und das Band 152 wird 20 Prozent der Gesamtbreite zwischen den oberen und unteren Umhüllungsgrenzen 119 und 120 sein. Als eine Folge werden die Breiten der Bänder 150 und 152 dynamisch für jeden Fensterabschnitt während der Sub-Pixelverarbeitung eingestellt, wenn die Breite (d. h. der Bereich der Greustufenwerte) zwischen den Umhüllungsgrenzen sich für unterschiedliche Fensterteile einer Tast- bzw. Aufnahmelinie verändert. Somit werden im Schritt 136 im Betrieb des Datenformzellenkantenlokalisierungsverfahrens die Übergangssegmente wie beispielsweise 121 und 124, die in die oberen oder unteren Bänder 150 fallen, dem Rauschrahmen unterworfen und werden als flüchtige Effekte abgelegt oder nicht beachtet, wenn die Übergangssegmentgröße unter den Rauschrahmen fällt. Die Übergangssegmente, wie beispielsweise 122, die eine größere Größe haben als der Rauschrahmen, werden als repräsentativ für tatsächliche Zellenkantenübergänge behandelt, wie es Segmente wie beispielsweise 123 werden, die innerhalb des mittleren Bandes 152 enthalten sind. Somit werden Übergangssegmente, die in eines der äußeren Bänder 150 fallen, als flüchtig behandelt, wenn sie unter den Rauschrahmen fallen, jedoch werden Übergangssegmente, die in das mittlere Band 152 fallen, ungeachtet der Größe verarbeitet.
  • Im Schritt 138 wird ein erstes Übergangssegment, welches sich zwischen zwei aufeinander folgenden Graustufenwerten erstreckt, ausgewählt, und wird dem Rauschrahmen des Schrittes 136 unterworfen, wie er im Zusammenhang mit den äußeren Bändern 150 eingerichtet wird, wie besprochen. Somit kann das Übergangssegment 122 für die Zwecke des Schrittes 138 ausgewählt werden. Wie gezeigt, erstreckt sich das Übergangssegment 122 zwischen Graustufenendpunktwerten 154 und 156, die jeweils als lokale maximale und lokale minimale Werte bezeichnet werden können.
  • Im Schritt 140 wird ein adaptiver Übergangspunkt entlang des Übergangssegmentes 122 bestimmt, und zwar als eine Funktion seiner Endpunktgraustufenmaximal- und -minimalwerte 154 und 156. Der adaptive Übergangspunkt stellt die Lokalisierung des relevanten Zellenkantenübergangs relativ zur geneigten Länge des Übergangssegmentes dar. Während einer Sub-Pixelverarbeitung wird ein adaptiver Übergangspunkt für jedes Übergangssegment berechnet, welches als repräsentativ für einen Zellenkantenübergang ausgewählt wurde. In einem gegenwärtig bevorzugten Ausführungsbeispiel wird der adaptive Übergangspunkt für jeden Zellenkantenübergang basierend auf einem Gaußschen Faltungsmodell berechnet. Die Graustufenpixelwerte entlang einer Aufnahmelinie können als die Aufnahmen bzw. Samples eines Eingangssignals mit Stufenkanten modelliert werden, die durch ein lineares System mit einem Gaußschen Impulsansprechen laufen. In 18 ist ein Beispiel des Eingangs und des Ausgangs einer speziellen Tast- bzw. Aufnahmelinie veranschaulicht, wobei die Gaußsche Faltungskernbreite (typischerweise als σ bezeichnet) auf 1,1 Pixel eingestellt ist, und wobei die Datenformmodulbreite (minimale Zellenbreite) auf 1,5 Pixel eingestellt ist. Das Eingangssignal 160 (gestrichelte Linien) hat die Ausgangsgröße 162 (durch gezogene Linie) nach einer Anwendung des Gaußschen Faltungsmodells unter Verwendung von bekannten Techniken zur Folge. Die Anwendung des Gaußschen Faltungsmodells kann auch integrierte oder Punktaufnahmetechniken verwenden, um die Ausgangsgröße in einer ähnlichen Form zu erhalten, wie in 18 gezeigt. Das Gaußsche Faltungsmodell trägt einer Faltung des optischen Systems und des Sensors Rechnung, wobei das Modell diese Komponenten in eine Verarbeitung der Graustufenpixelwerte entlang der Aufnahmelinie mit einbezieht. Für ein Übergangssegment, welches einen gültigen Kantenübergang darstellt, kann der adaptive Übergangspunkt in einem bevorzugten Ausführungsbeispiel unter Verwendung der folgenden Gleichung berechnet werden, die zudem Gaußschen Modell paßt:
    a = 8 + 10*((MAX + MIN) – (U + L))/(U – L)
    T = a*MIN + (16 – a)*MAX
  • Wobei MAX der lokale maximale Wert ist, wobei MIN der lokale minimale Wert ist, wobei U (upper) der obere Umhüllungsgrenzenwert ist, wobei L (lower) der untere Umhüllungsgrenzenwert ist, und wobei T der Übergangspunkt ist.
  • Mit Bezug auf 17 werden die lokalen maximalen und minimalen Werte für das Übergangssegment 122 bei 154 und 156 angezeigt, wobei der adaptive Übergangspunkt bei 158 gezeigt ist. Für einen Bereich von interessanten Faltungskernbreiten und Datenformmodulbreiten kann dieser Übergangspunkt in eine lineare Funktion des lokalen Maximums 154 und des lokalen Minimums 156 für eine einzelne Kante und das Minimum und das Maximum der Ausgangsgröße der Datenformelemente mit der größten Breite passen. Im allgemeinen ist die Trennungsbreite zwischen einem paar von steigenden und fallenden Übergangssegmenten, die Kanten in breiteren Datenformmustern darstellen, viel größer als die Faltungskernbreite. Das Minimum und das Maximum des Ansprechens relativ zu den breiten Datenformmustern werden somit die oberen und unteren Umhüllungsgrenzen der Signalwellenform der Abfolge von Graustufenwerten.
  • Das Gaußsche Faltungsmodell verwendet den Mittelpunkt zwischen den relevanten oberen Land unteren Umhüllungsgrenzen der Signalumhüllung und den minimalen/maximalen Graustufenwerten (156 und 154 für das Übergangssegment 122) als Eingangsparameter. Wie bemerkt, wird in 17 der Übergangspunkt, wie er für das Übergangssegment 122 bestimmt wird, an der Position 158 entlang des Segmentes zwischen den Punkten 154 und 156 dargestellt. Wie somit bestimmt, wird die Schwelle 158 typischerweise nicht auf dem Mittelpunkt zwischen den Punkten 154 und 156 sein. In diesen Weise wird die dynamische Übergangspunktbestimmung durch eine Berechnung eines Übergangspunktes für jedes Übergangssegment vorgesehen, welches als einen Datenformzellenkantenübergang repräsentierend ausgewählt wurde.
  • Nach einer Bestimmung des adaptiven Übergangspunktes für das Übergangssegment 122 wird im Schritt 142 die relevante Zellenkante lokalisiert. Eine lineare Interpolation wird verwendet, wie in 19 dargestellt. Somit wird der erste Zellenkantenübergang in diesem Beispiel entlang der Aufnahmelinie (durch die Linie 164 in 19 dargestellt) an einer Position 166 lokalisiert, die dem Schnittpunkt der vertikalen Projektion des Übergangspunktes 158 auf der Linie 164 entspricht. Wie besprochen stellen 154 und 156 zwei Pixelpositionen entlang der Abfolge von Graustufenwerten der 15 dar, was eine Tast- bzw. Aufnahmelinie über dem Datenformbild darstellt. Der Punkt 166 zeigt somit die Lage des ersten Zellenkantenübergangs, der in diesem Beispiel verarbeitet wird.
  • Im Schritt 146 wird dann eine Bestimmung vorgenommen, ob es zusätzliche Zellenkantenübergänge gibt, die entlang der ersten Aufnahmelinie zu lokali sieren sind. Wenn dies so ist, werden die Schritte 138 bis 142 (durch eine Aktivierung über dem Pfad 145) für jeden restlichen Zellenkantenübergang wiederholt, der entlang dieser Aufnahmelinie zu lokalisieren ist. Wenn zusätzliche Zellenkantenübergänge zu lokalisieren bleiben, wird es aus der Beschreibung oben offensichtlich sein, daß der nächste solche Zellenkantenübergang durch ein Übergangssegment zwischen Graustufenwerten dargestellt werden kann, die entlang der Aufnahmelinie an Pixelpositionen liegen; die jenseits des speziellen in 17 dargestellten Fensterabschnittes liegen. Wenn dies so ist, wird wenn man zum nächsten Fensterabschnitt geht, eine Handlung über dem Pfad 147 eingerichtet, um erneut die Umhüllungsgrenzen zu bestimmen und Graustufenbänder für Zwecke der Rauschrahmeneinrichtung in der Schritten 134 und 136 zu bezeichnen, bevor man mit der Lokalisierung von zusätzlichen Zellenkantenübergängen über die Schritte 138, 140 und 142 voranschreitet, wie beschrieben. Es wird klar sein; daß es in manchen Anwendungen geeignet sein mag, Umhüllungsgrenzen einmal für eine vollständige Aufnahmelinie zu bestimmen, und zwar ohne die Einrichtung einer Abfolge von Fensterabschnitten.
  • Im Schritt 148 wird eine Bestimmung dahingehend vorgenommen, ob Zellenkantenübergänge mit Bezug auf eine zweite Aufnahmelinie über das Datenformbild zu lokalisieren sind. Wenn dies so ist, werden die Schritte 132 bis 146 (durch Aktivierung über den Pfad 149) für jede restliche Aufnahmelinie wiederholt.
  • Im Schritt 150 werden Lauflängendaten so konstruiert, daß sie Zellenkaptenübergänge der Datenform darstellen. Lauflängendaten sind in 14 veranschaulicht. Die Lauflängendaten können die Form einer Darstellung von Strichen und Freiräumen der 14 von beispielsweise einer Zeile von Elementen eines zweidimensionalen Strichcode annehmen, oder sie können die Datenart der 14 aufweisen, die alle Elemente eines mehrzeiligen zweidimensionalen Strichcodes darstellen sollen.
  • Im Schritt 152 werden die Lauflängendaten verwendet, um die gesamte Datenform oder einen Teil davon zu decodieren. Eine Decodierung kann in bekannter Weise ausgeführt werden, wie zuvor mit Bezug auf die Datenformlesevorrichtung der Fig. 3, besprochen.
  • Es wird somit klar sein, daß durch Anwendung des Verfahrens, wie es mit Bezug auf Fig. 16 beschrieben wurde, gespeicherte Pixeldaten, die Licht darstellen, welches beispielsweise von einem zweidimensionalen Strichcode reflektiert wurde, mit einer Sub-Pixelauflösung verarbeitet werden können, um alle (oder eine adäquate Anzahl der) Zellenkantenübergänge zu lokalisieren, um eine Decodierung des Strichcodes zu ermöglichen. Als eine Folge wird die Fähigkeit zur Decodierung von Datenformen mit einer gesteigerten Anzahl von Zellen bzw. einer verringerten minimalen Zellengröße für eine Sensoranordnung mit einer gegebenen Anzahl von Sensorelementen verbessert. Diese verbesserte Fähigkeit vermeidet die Notwendigkeit, eine Sensoranordnung mit einer höheren Pixeldichte vorzusehen, oder die Komplexität von Datenformen einzuschränken, die mit einer gegebenen Datenformlesevorrichtung zu lesen sind. Wie bemerkt wird eine Vollpixelverarbeitung auf vereinfachter Basis vorgesehen, wenn eine Komplexität der Datenform bzw. eine minimale Zellengröße nicht so ist, daß sie eine Sub-Pixelverarbeitung erfordern. Signale, die die decodierten Daten darstellen, können dann beim Ausgangsanschluß 92 in Fig. 3 verfügbar gemacht werden, und zwar zur Koppelung oder Übertragung zu einer geeigneten Anwendungsvorrichtung.
  • Während Verfahren mit Schritten beschrieben werden, die in einer speziellen Reihenfolge ausgeführt werden, wird es dem Fachmann klar sein, daß in anderen Ausführungsbeispielen die Reihenfolge der Schritte und die Anzahl und Auswahl der speziellen verwendeten Schritte variiert werden kann. In dem beschriebenen Ausführungsbeispiel wird eine Auflösungsanforderung von zwei Pixeln pro Modul des Standes der Technik auf eine Auflösungsanforderung von ungefähr 1,2 bis 1,5 Pixeln pro Modul durch Anwendung der Erfindung reduziert. Dies stellt eine bis zu 40 prozentige Reduzierung der erforderlichen Sensoranordnungsauflösung und eine entsprechende 40 pro zentige Reduzierung der Bilddatenspeicherkapazität dar, und zwar ohne eine signifikante Verringerung der Gesamtgenauigkeit der Zellenkantendetektion. Für eine entsprechende zweidimensionale Anordnung werden Sensor- und Speicherverringerungen von bis zu 64 Prozent vorgesehen, was eine Auflösung von 1,2 × 1,2 Pixeln gegenüber einer minimalen Auflösung von 2 × 2 Pixeln beim Stand der Technik darstellt.
  • Obwohl die vorangegangene Besprechung auf ein bevorzugtes Ausführungsbeispiel des beschriebenen Verfahrens fokussiert ist, um eine Sub-Pixelauflösung zu erreichen und Datenformen zu decodieren, können Pixeldatenbilder Elemente aufweisen, die irgend eine Form eines Bildes darstellen. Die Anwendung der Erfindung gestattet das Aufnehmen und Speichern eines Bildes mit einer niedrigeren Auflösung, während immer noch eine genaue Detektion der Position der Elemente des Bildes ermöglicht wird.
  • Mit Bezug auf 20 ist die Datenformlesevorrichtung geeignet, um einen großen Bereich von Strichcodemodulbreiten und Rauschveränderungen mit verbessertem Wirkungsgrad zu behandeln, und zwar durch Auswahl einer geeigneten Verarbeitungsauflösung. Die bei dem Verfahren der 16 beschriebene Sub-Pixelverarbeitung kann zusätzliche Verarbeitungsschritte erfordern, und eine Zeit, die nicht für eine spezielle Datenform nötig ist. Wie beispielsweise in 22 veranschaulicht, kann die minimale Zellenabmessung für eine spezielle Datenform so sein, daß Zellenkanten leicht bestimmt werden können, ohne eine Sub-Pixelverarbeitung zu erfordern. Für solche Datenformen ist es wünschenswert, zu bestimmen, ob eine Sub-Pixelverarbeitung benötigt wird, wie oben beschrieben. In 20 weist das Verfahren, wie es gezeigt ist, die Schritte auf, das Bild bei 128 aufzunehmen und den Rauschrahmen bei 130 zu bestimmen. Im Schritt 180 kann eine Anzahl von anfänglichen Aufnahmen bei unterschiedlichen Orientierungen in der Mitte des Bildes verwendet werden, um Bilddaten vorzusehen, die verwendet werden, um Parameter abzuschätzen, wie beispielsweise den Rauschrahmen, und anfänglich die oberen und unteren Umhüllungen der Signale im Schritt 130 zu bestimmen, wie zuvor mit Bezug auf das Sub-Pixelverfahren der 16 beschrieben.
  • An diesem Punkt sieht der Schritt 186 eine Bestimmung vor, ob eine Sub-Pixelverarbeitung nötig ist, und zwar basierend auf den Charakteristiken des Bildes, die von den Histogrammeigenschaften dargestellt werden, wie beschrieben. Ein Histogramm wird somit abgeleitet, und zwar basierend auf einer Abfolge von Graustufenwerten, und eine Entscheidung, ob eine Sub-Pixelkantendetektion anzuwenden ist, wird basierend darauf gefällt, ob die Histogrammeigenschaften relativ gleichförmig sind und nicht eine Spitze bei dem hohen Endwert haben. Für ein Bild ähnlich wie in 12 gezeigt, würde das Histogramm relativ gleichförmig sein, was anzeigt, daß eine Sub-Pixelverarbeitung erforderlich wäre, während das Histogramm, welches mit einem Bild assoziiert ist, wie beispielsweise in Fig. 22, eine Spitze mit dem hohen Endwert erzeugen würde, was anzeigt, daß die gesamte Pixelverarbeitung adäquat sein sollte. Die Bestimmung, ob eine Sub-Pixelverarbeitung erforderlich ist, kann sehr schnell durch Anwendung des Histogramms vorgenommen werden, jedoch kann irgend ein Verfahren eingesetzt werden, welches geeignet ist um zu bestimmen, ob die Anzahl der Pixel pro Datenformmodul kleiner als 2 Pixel ist, oder kleiner als die optische Systempunktgröße. In manchen Fällen kann die ausgewählte Verarbeitungsauflösung nicht optimal die Bilddaten verarbeiten. In solchen Fällen kann die Lesevorrichtung angeordnet werden, um zu überprüfen, daß entweder Decodierungsfehler aus der Nicht-Anwendung der Sub-Pixelverarbeitung resultieren, oder daß Pixel pro Modul so sind, daß eine Sub-Pixelverarbeitung beispielsweise nicht erforderlich ist, und um automatisch zu dem wirkungsvollsten Verarbeitungsniveau umzuschalten. Auch können Testauslesungen vorgenommen werden, wo eine Abfolge von ähnlichen Datenformen auszulesen ist, um zu überprüfen, ob die Vollpixelverarbeitung adäquate Ergebnisse liefern wird. Wenn dies so ist, kann die Abfolge von Datenformen einfach bei einem Vollpixelniveau verarbeitet werden. Eine adaptive Auswahl der Verarbeitung sorgt für die kostengünstigsten/zeitsparendsten Ergebnisse und eine am besten geeignete Genauigkeitsleistung unter einer Vielzahl von Betriebsbedingungen.
  • Wenn im Schritt 186 eine Sub-Pixelverarbeitung als geeignet bestimmt wird, schreitet das Verfahren der 20 zum Schritt 188 voran. Der Schritt 188 kann so angesehen werden, daß er die Schritte 132 bis 148 der Fig. 16 aufweist. Wie mit Bezug auf 16 beschrieben, führt das Verfahren der 20 somit eine Sub-Pixelverarbeitung aus, um Zellenkantenübergänge zu lokalisieren, und zwar während es durch die Schritte 150 weiter läuft, wie zuvor beschrieben.
  • Wenn im Schritt 186 bestimmt wird, daß eine Vollpixelverarbeitung für eine gegebene Datenform adäquat ist, schreitet das Verfahren der 20 zum Schritt 190 voran. Der Schritt 190 kann so angesehen werden, daß er die Schritte 192 bis 196 und zusätzlich die Schritte 146 und 148 aufweist, wie in 21 gezeigt. In 21 entspricht der Schritt 192 dem Schritt 132, der mit Bezug auf 16 beschrieben wurde. Folgend auf eine Extraktion einer Abfolge von Graustufenwerten für eine erste Aufnahmelinie im Schritt 192 wird im Schritt 194 ein erstes Übergangssegment zwischen zwei Graustufenwerten der Abfolge ausgewählt. Die Kriterien zur Auswahl von Übergangssegmenten in einem bevorzugten Ausführungsbeispiel des Vollpixelverarbeitungsverfahrens sind einfach, daß die Größe des Übergangssegmentes zwischen seinen Graustufenendwerten (zwischen seinen lokalen maximalen und lokalen minimalen Werten) den Rauschrahmen übersteigt. Der für diesen Zweck verwendete Rauschrahmen kann so sein, wie im Schritt 130 bestimmt, oder so wie von der Histogrammanalyse bestimmt, oder durch eine andere geeignete Technik für die erste Aufnahmelinie, wenn sie gerade verarbeitet wird.
  • Im Schritt 196 wird der Zellenkantenübergang lokalisiert, der durch das erste Übergangssegment dargestellt wird, wie ausgewählt. Die Zellenkantenposition wird als der Mittelpunkt entlang des Übergangssegmentes genommen (d. h. zur Hälfte zwischen den lokalen maximalen und minimalen Graustu fenwerten für dieses Übergangssegment). Die Lage des ersten Zellenkantenübergangs ist somit der Punkt entlang der ersten Aufnahmelinie entsprechend der vertikalen Projektion des ersten Übergangssegmentmittelpunktes.
  • In 21 entsprechen die Schritte 146 und 148 den ähnlich nummerierten Schritten der 16. Wenn zusätzliche Zellenkantenübergänge der ersten Aufnahmelinie zu lokalisieren bleiben, geht im Schritt 146 die Verarbeitung zurück zum Schritt 194 über den Pfad 145. Wenn dann zusätzliche Zeilen von Datenformelementen zu verarbeiten bleiben, geht im Schritt 148 die Verarbeitung zum Schritt 192 über den Pfad 149 zurück. Zusätzliche spezifische Dinge der Aspekte des Vollpixelverarbeitungsverfahrens werden aus der obigen detaillierteren Beschreibung von entsprechenden Teilen des Sub-Pixelverarbeitungsverfahrens offensichtlich, welches in 16 veranschaulicht wird. Es wird somit zu sehen sein, daß wenn eine Sub-Pixelverarbeitung nicht erforderlich ist, die Vollpixelverarbeitung etwas schneller mit weniger erforderlichen Verarbeitungsschritten ausgeführt werden kann.
  • Folgend auf den Schritt 148 der 21 wird das Vollpixelverarbeitungsverfahren durch eine Einrichtung der Schritte 150 und 152 vollendet, wie in 20 dargestellt. 22 zeigt eine Abfolge von Graustufenwerten, die ein Strichcodeetikett mit einer relativ breiten Modulbreite darstellen. 23 zeigt die entsprechenden Lauflängendaten, die aus der Anwendung der Vollpixelverarbeitung resultieren. Basierend auf dem Vorangegangenen wird klar sein, daß der Vollpixelalgorithmus, wie er beschrieben wurde, dahingehend wirkt, die Effekte von willkürlichen Graustufenwerten zu eliminieren oder zu minimieren, die aus einem Rauschen herrühren. Dies wird erreicht durch Anwendung des Rauschrahmens, um alle Übergangssegmente einer Größe zwischen lokalen maximalen und minimalen Werten als falsch zu kategoresieren, die kleiner ist als der Rauschrahmen. Im Gegensatz zu dem Sub-Pixelverfahren wird hier der gesamte Rauschrahmen verwendet, und zwar ungeachtet der Graustufenwerte der Übergangssegmentendpunkte. Ein größerer Rauschrahmen gestattet einen erfolgreichen Betrieb mit Graustufenpixeldaten mit niedrigerem Signal/Rausch-Verhältnis. Da die Rauschef fekte, die für die gegenwärtigen Betrachtungen relevant sind, prinzipiell durch Charakteristiken der Beleuchtung und der Sensorempfindlichkeit bestimmt werden, wird in einem gegenwärtig bevorzugten Ausführungsbeispiel ein einzelner Rauschrahmen bestimmt, und dann bei der Verarbeitung des gesamten Bildes verwendet. Als eine Folge kann der Vollpixelauflösungskantendetektionsalgorithmus genaue Lauflängendaten in Anwesenheit von starkem Rauschen erzeugen. Dies wird erreicht ungeachtet der Datenformelementabmessungen (beispielsweise Strichcodeelementbreiten) solange diese Abmessungen größer sind als die Schwelle, die zur Auswahl des Sub-Pixelverarbeitungsalgorithmus eingestellt wurde, wie schon besprochen. In anderen Ausführungsbeispielen kann es wünschenswert sein, periodisch den Rauschrahmen erneut zu berechnen oder die Sub-Pixelauswahlschwellenbedingung zu überprüfen, oder beides, und zwar während der Verarbeitung der Auslesung einer vollständigen Datenform oder einer Reihe von ähnlichen Datenformen.
  • Ein grundlegendes Verfahren zum Lokalisieren von Datenformzellenkantenübergängen kann somit folgende Schritte aufweisen:
    • (a) Aufnahme einer Abfolge von Graustufenwerten für Pixel, die eine erste Tast- bzw. Aufnahmelinie darstellen, die eine erste Zellenkante eines reflektierten Bildes überkreuzt, und wobei hohe und niedrige Reflektivitätswerte jeweils innerhalb von hohen und niedrigen Bereichen von Graustufenwerten dargestellt sind;
    • (b) Auswahl eines Übergangssegmentes mit einer Segmentgröße zwischen lokalen maximalen und lokalen minimalen Graustufenwerten der Abfolge;
    • (c) Bestimmung, ob das Übergangssegment eines der folgenden Kriterien erfüllt: (i) die Segmentgröße überschreitet einen Rauschrahmen; und (ii) zumindest einer der lokalen maximalen und minimalen Graustufenwerte liegt innerhalb eines Mittelbereiches zwischen den hohen und niedrigen Bereichen der. Graustufenwerte; und
    • (d) wenn das Übergangssegment mindestens einen Schritt des Kriteriums (c) erfüllt, Lokalisierung der ersten Zellenkante entlang der ersten Aufnahmelinie durch Anwendung des Übergangssegmentes.
  • Dieses grundlegende Verfahren kann durch einen oder mehrere der oben beschriebenen Schritte verbessert werden, die auf Folgendes gerichtet sind: Anwendung von Gaußschen Fältungsberechnungen zur adaptiven Auswahl von Übergangspunkten; automatische Auswahl einer Sub-Pixelverarbeitung oder einer Vollpixelverarbeitung; Anwendung einer Histogrammanalyse, um einen Rauschrahmen einzustellen; Einstellung von hohen und niedrigen Graustufenbereichen zur Anwendung des Rauschrahmens gemäß der Erfindung; usw..
  • Der Pixelscanner bzw. die Pixelabtastvorrichtung, egal ob eine Sub-Pixelverarbeitung oder eine Vollpixelverarbeitung ausgeführt wird, kann in vorteilhaftet Weise ebenfalls für die optische Zeichenerkennung verwendet werden. In einem bevorzugten Ausführungsbeispiel weist das optische System einen Abbildungssystem in Verbindung mit der Sensoranordnung auf, die bei der Ausführung einer optischen Zeichenerkennung von Datenzeichenelementen in dem Zielfeld verwendet werden kann. In vielen Situationen weisen Datenformen Zeichen wie beispielsweise Zahlen ebenfalls in der Datenform auf, die der Strichcodeinformation entsprechen. Das optische Bildsystem gestattet, daß solche Zeichen gelesen werden und unter Verwendung von Techniken der optischen Zeichenerkennung decodiert werden, was somit gestattet, daß auch ein beschädigter Strichcode ordnungsgemäß decodiert werden kann. In einem einfachen Beispiel kann ein eindimensionaler Strichcode, wie beispielsweise in 24 gezeigt, beschädigt werden, so daß ein Teil der Abfolge von Strichcodeelementen beschädigt wurde. Zusätzlich können verschiedene Zahlzeichen ebenfalls beschädigt sein, so daß sie nicht lesbar sind. Die Wahrscheinlichkeit, solche Datenformen genau zu decodieren, kann verbessert werden durch Kombinieren von decodierten Strichcodeinformationen mit decodierten Zeichenerkennungsinformationen, wodurch die beschädigten Gebiete ausgefüllt werden können, um ordnungs gemäß den Strichcode zu decodieren. Die Lesevorrichtung gestattet, daß die Lokalisierung von Zeicheninformationen präzise bestimmt wird, um eine Verarbeitung der optischen Zeichenerkennung der Zeichen mit reduzierten Verarbeitungszeiten zu erleichtern. Die Verfahren zur optischen Zeichenerkennung können somit nur an dem Teil der Datenform ausgeführt werden; der benötigt wird, um beispielsweise Fehlstellen in der Strichcodeinformation aufzufüllen. Es gibt sehr viel Flexibilität zur Anwendung bei einer Vielzahl von Datenformen.
  • Das Detektieren der Position einer Zelle wird in erster Linie eingerichtet durch Anwendung einer Computerprogrammierung im Betrieb, die durch die CPU 88 ausgeführt wird, wie in 3 gezeigt. Da vorzugsweise Fließkommaoperationen zeitaufwendiger sind, kann eine Integer-Verarbeitung bzw. Festkommaverarbeitung bei allen Berechnungen verwendet werden. Beispielsweise können ganze Zahlen mit einer Potenz von zwei verwendet werden, wo es immer möglich ist, um eine Festkomma- bzw. Integer-Multiplikation und -division in geteilten Operationen zu reduzieren. Als Beispiel kann die Distanz zwischen zwei benachbarten Übergangspixeln so ausgewählt werden, daß sie eine ganze Zahl von zwei ist, was eine Detektion der Sub-Pixelkante vereinfacht.

Claims (34)

  1. Verfahren zum Lokalisieren von Datenformzellenkanten in einem reflektierten Bild einer Datenform, die Regionen bzw. Zonen mit hoher und niedriger Reflektion aufweist, und zwar unter Verwendung eines Datenformlesers, wobei das Verfahren die folgenden Schritte vorsieht: a) Erfassen (128) einer Folge oder Sequenz von Graustufenwerten für Pixel, die eine erste Aufnahmelinie darstellen, welche mindestens eine erste Zellenkante des reflektierten Bildes kreuzt, und wobei die Zonen mit hoher und niedriger Reflektion innerhalb eines niederen Bereichs (150) von Graustufenwerten repräsentiert werden; b) Auswahl (138) eines Übergangssegments mit einer Segmentgröße zwischen lokalen maximalen und lokalen minimalen Graustufenwerten der Sequenz; c) Bestimmen, ob die Übergangssegmente eines der folgenden Kriterien erfüllen: i) Die Segmentgröße übersteigt einen Rauschrahmen bzw Rauschbereich; und ii) mindestens einer der erwähnten lokalen maximalen und lokalen minimalen Graustufenwerte liegt innerhalb eines Mittelbereichs (152) zwischen den erwähnten hohen und niedrigen Zonen der Graustufenwerte und; d) wenn das Übergangssegment mindestens eine der Kriterien des Schrittes c) erfüllt, Lokalisieren (140, 142) erwähnten ersten Zellenkante entlang der erwähnten ersten Aufnahmelinie durch Verwendung des erwähnten Übergangssegmentes.
  2. Verfahren nach Anspruch 1, wobei der Schritt d) Folgendes aufweist: (d)(1) Bestimmung (140) eines Übergangspunktes (158) entlang des Übergangssegmentes als eine Funktion der erwähnten lokalen maximalen und lokalen minimalen Graustufenwerte und; (d)(2) Anordnen (142) der erwähnten ersten Zellenkanten (166) ent lang einer ersten Aufnahmelinie an einem Punkt entsprechend dem Übergangspunkt.
  3. Verfahren nach Anspruch 2, wobei der Schritt (d)(2) die Berechnung dieses Übergangspunktes durch Anwendung eines Gauss'schen Faltungsmodells umfasst.
  4. Verfahren nach Anspruch 1, 2 oder 3, wobei zusätzlich der folgende Schritt vorgesehen ist: (e) Wiederholung der Schritte (b) bis (d) für die zweiten und weitere Zellenkanten entlang der ersten Aufnahmelinie.
  5. Verfahren nach Anspruch 4, wobei zusätzlich der folgende Schritt vorgesehen ist: (f) Wiederholung der Schritte (a) bis (e) für eine zweite Aufnahmelinie.
  6. Verfahren nach Anspruch 5, wobei zusätzlich der folgende Schritt vorgesehen ist: (g) Konstruktion (150) von Lauflängendaten, die die Zellenkanten repräsentieren entlang der Aufnahmelinien.
  7. Verfahren nach Anspruch 6, wobei zusätzlich der folgende Schritt vorgesehen ist: (h) Verwendung der erwähnten Lauflängendaten zum Decodieren (152) von mindestens einem Teil der erwähnten Datenform.
  8. Verfahren nach Anspruch 4, wobei zusätzlich der folgende Schritt vorgesehen ist: (f) Verwendung der Zellenkantenortsdaten zum Decodieren von mindestens einem Teil der erwähnten Datenform.
  9. 9. Verfahren nach einem der Ansprüche 1 bis 8, wobei zwischen den Schritten (a) und (b) der folgende zusätzliche Schritt vorgesehen ist: (x) Bestimmung (186), dass das erwähnte reflektierte Bild Datenformzellendimensionen aufweist, dargestellt bei weniger als zwei Pixeln pro Zelle nominaler Auflösung, und zwar vor den Implementierungsschritten (b) bis (d).
  10. Verfahren nach einem der Ansprüche 1 bis 9, wobei vor dem Schritt (c) der folgende zusätzliche Schritt vorgesehen ist: (y) Bestimmen (130) zur Verwendung im Schritt (c) eines Rauschbereiches bzw. Rauschrahmens basierend auf einer Schätzung der Größe des in der erwähnten Sequenz oder Folge von Graustufenwerten vorhandenen Rauschens.
  11. Verfahren nach Anspruch 10, wobei im Schritt (y) der Rauschbereich durch Analyse von Histogrammdaten bestimmt wird.
  12. Verfahren nach Anspruch 1, wobei ferner der folgende Schritt vorgesehen ist: (e) Auswahl eines ersten Fensterteils der Folge; und (f) Auswahl von Grenzen der erwähnten hohen und niedrigen Graustufenbereiche für den ersten Fensterabschnitt und Ausführung der Schritte (b) bis (d).
  13. Verfahren nach Anspruch 12, wobei die Grenzen der hohen und niedrigen Graustufenbereiche derart bestimmt werden, dass der hohe Graustufenbreich sämtliche Graustufenwerte enthält, die repräsentativ sind für Beleuchtung, reflektiert von einem weißen Teil der erwähnten Datenform, und dass ferner der niedrige Graustufenbereich alle Graustufenwerte umfasst, die repräsentativ sind für eine Beleuchtung reflektiert von einem schwarzen Teil der erwähnten Datenform.
  14. Verfahren nach Anspruch 12, wobei die Grenzen der hohen und niedrigen Graustufenbereiche derart bestimmt werden, dass der hohe Graustufenbereich die höchsten Graustufenwerte enthält, und zwar repräsentiert durch Beleuchtung, reflektiert von irgendeinem Teil der Datenform, und dass der niedrige Graustufenbereich die niedrigsten Graustufenwerte umfasst, repräsentiert durch Beleuchtung reflektiert von irgendeinem Teil der Datenform.
  15. Verfahren nach Anspruch 12, 13 oder 14, wobei der erste Fensterteil eines der Folgenden aufweist: einen Teil der erwähnten Folge; und die gesamte Folge.
  16. Verfahren nach Anspruch 12, 13, 14 oder 15, wobei zusätzlich der folgende Schritt vorgesehen ist: Wiederholung der Schritte (b) bis (d) für ein zweites Übergangssegment innerhalb des ersten Fensterteils.
  17. Verfahren nach Anspruch 16, wobei zusätzlich der folgende Schritt vorgesehen ist: (h) Auswähl eines zweiten Fensterteils der erwähnten Folge und Wiederholung der Schritte (f) und (b) bis (d) für den zweiten Fensterteil.
  18. Verfahren nach Anspruch 17, wobei zusätzlich die folgenden Schritte vorgesehen sind: (j) Konstruktion (150) der Lauflängendaten, die Zellenkantenorte repräsentieren, und zwar für mindestens einen Teil der erwähnten Datenform; und (k) Verwendung (152) der Lauflängendaten zur Decodierung der Datenform.
  19. Verfahren nach einem der vorhergehenden Ansprüche, wobei der folgende Schritt vorgesehen ist: (l) Verwendung (130) einer Histogrammanalyse von getasteten bzw. aufgenommenen Bilddaten zur Bestimmung eines Rauschbereichs und zur Bestimmung eines Erfordernisses für die Verarbeitung gemäß der Schritte (b) bis (d) und (m) wenn im Schritt (n bestimmt wird, dass diese Verarbeitung notwendig ist, Implementieren der Schritte folgend dem Schritt (a).
  20. Verfahren nach einem der vorhergehenden Ansprüche, wobei die folgenden Schritte vorgesehen sind: (n) Verwendung (130) der Histogrammanalyse von getasteten Bilddaten zur Auswertung des durchschnittlichen Kontrastes der ausgewählten Pixel zur Bestimmung einer Erfordernis zur Bearbeitung gemäß den Schritten (b) bis (d); (o) wenn diese Verarbeitung im Schritt (n) als notwendig bestimmt wird, Implementierung der Schritte folgend dem Schritt (a).
  21. Verfahren nach einem der vorhergehenden Ansprüche, wobei die folgenden Schritte vorgesehen sind: (p) Bestimmung (186) eines Wertes repräsentativ für das Verhältnis der Größe des kleinsten Datenformelements in dem Bild zur Größe eines Fotosensor-Pixels, (q) Lokalisieren einer Zellenkante gemäß den Schritten folgend dem Schritt (a), wenn der erwähnte Wert unterhalb einer vorbestimmten Zahl liegt; und (r) Erzeugen (150) von Lauflängendaten repräsentativ für die Reflektionsregionen- oder Zonenübergänge entlang der Aufnahmelinie zur Verwendung beim Decodieren der Datenform.
  22. Verfahren nach Anspruch 21, wobei dann, wenn der erwähnte Wert gleich oder oberhalb der erwähnten vorbestimmten Zahl ist, die Zellenkante lokalisiert wird durch Lokalisieren des Mittelpunktes eines Übergangssegmentes zwischen lokalen oder örtlichen maximalen und lokalen oder örtlichen minimalen Graustufenwerten, wobei der erwähnte Mittelpunkt dem Ort der erwähnten Zellenkante entspricht.
  23. Verfahren nach Anspruch 1, wobei die folgenden Schritte vorgesehen sind: (s) Verwendung der Histogrammanalyse von getasteten Bilddaten zur Bestimmung, ob die Verarbeitung gemäß der Schritte (b) bis (d) notwendig ist; und ansonsten Ausführung der Schritte (t)(1) bis (t)(3), und zwar wie folgt: (t)(1) Auswahl (194) eines Übergangssegmentes mit einer Segmentgröße zwischen lokalen maximalen und lokalen minimalen Graustufenwerten der Sequenz oder Folge; (t)(2) Bestimmen, ob die Segmentgröße einen Rauschbereich übersteigt; und (t)(3) wenn die erwähnte Segmentgröße den Rauschbereich übersteigt, Anordnen (196) der erwähnten ersten Zellenkanten entlang der ersten Aufnahmelinie basierend auf dem Ort des Mittelpunktes des Übergangssegmentes zwischen den lokalen maximalen und den lokalen minimalen Graustufenwerten.
  24. Verfahren nach einem der vorhergehenden Ansprüche, wobei der folgende Schritt vorgesehen ist: (u) Bestimmen (130) eines Rauschbereichs durch Analyse von Histogrammdaten zum Abschätzen der Größe des Rauschens, welches in der erwähnten Sequenz oder Folge der Graustufenwerte vorhanden ist, und Einstellendes Rauschbereichs auf einen Pegel oder ein Niveau mindestens gleich der erwähnten geschätzten Rauschgröße.
  25. Verfahren nach Anspruch 24, wobei die Verarbeitung gemäß den Schritten (b) bis (d) als notwendig bestimmt wird, wenn das erwähnte Datenformbild Datenformzellendimensionen bei weniger als zwei Pixeln pro Modul Nominalauflösung repräsentiert.
  26. Verfahren zur Bestimmung, ob ein Übergangssegment eine gültige Datenformzellenkante repräsentiert, und zwar unter Verwendung eines Datenformlesers, wobei das Übergangssegment eine Segment größe besitzt, zwischen lokalen maximalen und lokalen minimalen Graustufenwerten, wobei eine Folge von Graustufenwerten repräsentativ ist für eine hohe und niedrige Reflektion aufweisende Region der Datenform und wobei das Verfahren die folgenden Schritte vorsieht: (aa) Aufteilen der Graustufenwerte in einen hohen Bereich (150) von Graustufenwerten repräsentativ für die Zonen hoher Reflektion, einen niedrigen Bereich (150) von Graustufenwerten repräsentativ für die Zonen niedriger Reflektion und einen Mittelbereich (150) von Graustufenwerten zwischen dem hohen Bereich und dem niedrigen Bereich; und (bb) Bestimmen, dass das erwähnte Übergangssegment eine gültige Zellenkante repräsentiert, wenn mindestens eines der folgenden Kriterien erfüllt ist: (i) Die Segmentgröße ist größer als ein Rauschbereich; und (ii) die lokalen maximalen und/oder lokalen minimalen Graustufenwerte liegen in dem erwähnten Mittelbereich der Graustufenwerte.
  27. Verfahren zur Bestimmung, ob ein Übergangssegment eine gültige Datenformzellenkante repräsentiert unter Verwendung eines Datenformlesers, wobei das Übergangssegment eine Segmentgröße besitzt zwischen lokalen maximalen und lokalen minimalen Graustufenwerten mit einer Folge von Graustufenwerten repräsentativ für eine hohe und eine niedrige Reflektion aufweisende Regionen der erwähnten Datenform, wobei das Verfahren die folgenden Schritte vorsieht: (ee) Unterteilung der Graustufenwerte in einen hohen Bereich (150) von Graustufenwerten repräsentativ für die eine hohe Reflektion besitzenden Zonen, einen niedrigen Bereich (150) von Graustufenwerten repräsentativ für die eine niedrige Reflektion besitzenden Zonen und einen mittleren Bereich (152) von Graustufenwerten zwischen dem hohen Bereich und dem niedrigen Bereich; und (ff) Bestimmung, dass das erwähnte Übergangssegment Rauschen respräsentiert und nicht eine gültige Datenformzellenkante, wenn beide der folgenden Kriterien erfüllt sind: (i) Die Segmentgröße ist kleiner als der Rauschbereich; und (ii) sowohl die lokalen maximalen als auch die lokalen minimalen Graustufenwerte sind innerhalb des hohen Bereichs oder des niedrigen Bereichs der Graustufenwerte.
  28. Verfahren nach Anspruch 26, wobei zusätzlich die folgenden Schritte vorgesehen sind (cc) wenn das erwähnte Übergangssegment mindestens eines der Kriterien des Schrittes (bb) erfüllt, Lokalisieren (140, 142) der Zellenkante entlang der erwähnten Folge von Graustufenwerten unter Verwendung des Übergangssegments.
  29. Verfahren nach Anspruch 28, wobei der Schritt (cc) Folgendes aufweist: (cc)(1) Bestimmung eines Übergangspunktes (158) entlang des erwähnten Übergangssegmentes als eine Funktion der lokalen maximalen und lokalen minimalen Graustufenwerte; und (cc)(2) Lokalisieren der ersten Zellenkante (166) entlang der erwähnten folge von Gauskalenwerten an einen Punkt entsprechend dem Übergangspunkt.
  30. Verfahren nach Anspruch 29, wobei der Schritt (cc)(2) die Berechnung des Übergangspunktes durch Anwendung eines Gauss'schen Faltungsmodells anpasst.
  31. Verfahren nach einem der Ansprüche 26, 28 bis 30, wobei zusätzlich der folgende Schritt vorgesehen ist: (dd) Verwendung der Zellenkantenortsdaten zur Decodierung von mindestens einem Teil der erwähnten Datenform.
  32. Verfahren nach einem der Ansprüche 26, 28 bis 31 einschließlich des zusätzlichen Schrittes zwischen den Schritten (a) und (b) wie folgt: (xx) Bestimmung, dass die erwähnte Folge von Graustufenwerten die Datenformzellendimensionen repräsentiert, und zwar bei weniger als zwei Pixeln pro Zelle Nominalauflösung vor dem Implementierungsschritt (bb).
  33. Verfahren nach einem der Ansprüche 26, 28 bis 32 einschließlich des folgenden Schrittes vor dem Schritt (bb): (yy) Bestimmung für die Verwendung im Schritt (bb) eines Rauschbereiches bzw. Rauschrahmens basierend auf einer Schätzung der Größe des Rauschens, vorhanden in der Folge der Graustufenwerte.
  34. Ein Datenformleser zum Lokalisieren von Datenformzellenkanten in einem reflektierten Bild einer Datenform, die Zonen hoher und niedriger Reflektion aufweist, wobei Folgendes vorgesehen ist: (a) Mittel zur Erfassung einer Folge von Graustufenwerten für Pixel, die eine erste Aufnahmelinie repräsentieren, die mindestens eine erste Zellenkante des reflektierten Bildes kreuzt, wobei die hohe und niedrige Reflektion aufweisenden Zonen repräsentiert werden innerhalb eines hohen Bereichs (150) bzw. eines niedrigen Bereichs (150) von Graustufenwerten; (b) Mittel zur Auswahl eines Übergangssegmentes mit einer Segmentgröße zwischen lokalen maximalen und lokalen minimalen Graustufenwerten der Folge; (c) Mittel zur Bestimmung, ob das Übergangssegment eines der folgenden Kriterien erfüllt: (i) Die Segmentgröße übersteigt einen Rauschbereich; und (ii) mindestens eine der erwähnten lokalen maximalen und lokalen minimalen Graustufenwerte liegt innerhalb eines Mittelbereichs (152) zwischen den hohen und niedrigen Bereichen von Graustufenwerten; und (d) Mittel zum Lokalisieren der ersten Zellenkante entlang der ersten Aufnahmelinie unter Verwendung des erwähnten Übergangssegmentes, wenn das Übergangssegment mindestens eines der Kriterien des Schritts (c) erfüllt.
DE69625583T 1995-10-13 1996-10-10 Datenformleser Expired - Lifetime DE69625583T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/543,122 US5979763A (en) 1995-10-13 1995-10-13 Sub-pixel dataform reader with dynamic noise margins
US543122 1995-10-13
PCT/US1996/016401 WO1997014110A1 (en) 1995-10-13 1996-10-10 Sub-pixel dataform reader

Publications (2)

Publication Number Publication Date
DE69625583D1 DE69625583D1 (de) 2003-02-06
DE69625583T2 true DE69625583T2 (de) 2004-02-19

Family

ID=24166664

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69625583T Expired - Lifetime DE69625583T2 (de) 1995-10-13 1996-10-10 Datenformleser

Country Status (8)

Country Link
US (1) US5979763A (de)
EP (1) EP0797812B1 (de)
JP (1) JP2000501209A (de)
AU (1) AU710610B2 (de)
CA (1) CA2206166C (de)
DE (1) DE69625583T2 (de)
MX (1) MX9704437A (de)
WO (1) WO1997014110A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011082415A1 (de) * 2011-09-09 2013-03-14 Siemens Aktiengesellschaft Technisches Gerät und System zum Bereitstellen von technischen Informationen für ein technisches Gerät

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6631842B1 (en) 2000-06-07 2003-10-14 Metrologic Instruments, Inc. Method of and system for producing images of objects using planar laser illumination beams and image detection arrays
US7387253B1 (en) 1996-09-03 2008-06-17 Hand Held Products, Inc. Optical reader system comprising local host processor and optical reader
US6343741B1 (en) * 1995-10-26 2002-02-05 Psc Scanning, Inc. Method and apparatus for detecting transitions in an input signal
US6254003B1 (en) * 1995-12-18 2001-07-03 Welch Allyn Data Collection, Inc. Optical reader exposure control apparatus comprising illumination level detection circuitry
US7304670B1 (en) 1997-03-28 2007-12-04 Hand Held Products, Inc. Method and apparatus for compensating for fixed pattern noise in an imaging system
US6738527B2 (en) 1997-06-09 2004-05-18 Seiko Epson Corporation Image processing apparatus, an image processing method, a medium on which an image processing control program is recorded, an image evaluation device, and image evaluation method and a medium on which an image evaluation program is recorded
EP0921491A1 (de) * 1997-12-05 1999-06-09 Datalogic S.P.A. Verfahren zum Abschätzen der Mittelpunkte von Strichcode-Elementen
US6205255B1 (en) * 1998-01-06 2001-03-20 Intel Corporation Method and apparatus for run-length encoding of multi-colored images
US7584893B2 (en) 1998-03-24 2009-09-08 Metrologic Instruments, Inc. Tunnel-type digital imaging system for use within retail shopping environments such as supermarkets
JP3508836B2 (ja) * 1999-06-22 2004-03-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 2次元コードの概略位置検出装置及び検出方法
US6631843B2 (en) * 2000-02-18 2003-10-14 Symbol Technologies, Inc. Composite code symbology
US20060082557A1 (en) * 2000-04-05 2006-04-20 Anoto Ip Lic Hb Combined detection of position-coding pattern and bar codes
SE519145C2 (sv) * 2000-06-02 2003-01-21 C Technologies Ab Förfarande och anordning för registrering av information
US7128266B2 (en) 2003-11-13 2006-10-31 Metrologic Instruments. Inc. Hand-supportable digital imaging-based bar code symbol reader supporting narrow-area and wide-area modes of illumination and image capture
US7540424B2 (en) 2000-11-24 2009-06-02 Metrologic Instruments, Inc. Compact bar code symbol reading system employing a complex of coplanar illumination and imaging stations for omni-directional imaging of objects within a 3D imaging volume
US7464877B2 (en) 2003-11-13 2008-12-16 Metrologic Instruments, Inc. Digital imaging-based bar code symbol reading system employing image cropping pattern generator and automatic cropped image processor
US7490774B2 (en) 2003-11-13 2009-02-17 Metrologic Instruments, Inc. Hand-supportable imaging based bar code symbol reader employing automatic light exposure measurement and illumination control subsystem integrated therein
US7708205B2 (en) 2003-11-13 2010-05-04 Metrologic Instruments, Inc. Digital image capture and processing system employing multi-layer software-based system architecture permitting modification and/or extension of system features and functions by way of third party code plug-ins
US8042740B2 (en) 2000-11-24 2011-10-25 Metrologic Instruments, Inc. Method of reading bar code symbols on objects at a point-of-sale station by passing said objects through a complex of stationary coplanar illumination and imaging planes projected into a 3D imaging volume
US7954719B2 (en) 2000-11-24 2011-06-07 Metrologic Instruments, Inc. Tunnel-type digital imaging-based self-checkout system for use in retail point-of-sale environments
US8682077B1 (en) 2000-11-28 2014-03-25 Hand Held Products, Inc. Method for omnidirectional processing of 2D images including recognizable characters
US6478224B1 (en) * 2001-03-02 2002-11-12 Psc Scanning, Inc. Symbology-independent method and apparatus for identifying potential bar code data
US7203361B1 (en) 2001-03-16 2007-04-10 Hand Held Products, Inc. Adaptive digitizer for optical reader
US7331523B2 (en) 2001-07-13 2008-02-19 Hand Held Products, Inc. Adaptive optical image reader
US6961481B2 (en) * 2002-07-05 2005-11-01 Lockheed Martin Corporation Method and apparatus for image processing using sub-pixel differencing
US20040134988A1 (en) * 2003-01-09 2004-07-15 Hand Held Products, Inc. Analog-to-digital converter with automatic range and sensitivity adjustment
US6845914B2 (en) * 2003-03-06 2005-01-25 Sick Auto Ident, Inc. Method and system for verifying transitions between contrasting elements
US7080787B2 (en) 2003-07-03 2006-07-25 Symbol Technologies, Inc. Insert molded antenna
US7347376B1 (en) 2003-09-17 2008-03-25 Hand Held Products, Inc. Apparatus and method for verifying print quality of an encoded indicium
US7823783B2 (en) 2003-10-24 2010-11-02 Cognex Technology And Investment Corporation Light pipe illumination system and method
US7874487B2 (en) * 2005-10-24 2011-01-25 Cognex Technology And Investment Corporation Integrated illumination assembly for symbology reader
US9070031B2 (en) 2003-10-24 2015-06-30 Cognex Technology And Investment Llc Integrated illumination assembly for symbology reader
US7604174B2 (en) 2003-10-24 2009-10-20 Cognex Technology And Investment Corporation Method and apparatus for providing omnidirectional lighting in a scanning device
US7823789B2 (en) 2004-12-21 2010-11-02 Cognex Technology And Investment Corporation Low profile illumination for direct part mark readers
US9536124B1 (en) 2003-10-24 2017-01-03 Cognex Corporation Integrated illumination assembly for symbology reader
US7270272B2 (en) 2003-11-13 2007-09-18 Metrologic Instruments, Inc. Digital image-based bar code symbol reading system employing a multi-mode image-processing symbol reading subsystem
US7841533B2 (en) 2003-11-13 2010-11-30 Metrologic Instruments, Inc. Method of capturing and processing digital images of an object within the field of view (FOV) of a hand-supportable digitial image capture and processing system
US7364081B2 (en) * 2003-12-02 2008-04-29 Hand Held Products, Inc. Method and apparatus for reading under sampled bar code symbols
US7219841B2 (en) * 2004-11-05 2007-05-22 Hand Held Products, Inc. Device and system for verifying quality of bar codes
KR100667778B1 (ko) * 2004-11-20 2007-01-11 삼성전자주식회사 바코드 판독 방법 및 장치
US9292724B1 (en) 2004-12-16 2016-03-22 Cognex Corporation Hand held symbology reader illumination diffuser with aimer optics
US7617984B2 (en) 2004-12-16 2009-11-17 Cognex Technology And Investment Corporation Hand held symbology reader illumination diffuser
US7780089B2 (en) 2005-06-03 2010-08-24 Hand Held Products, Inc. Digital picture taking optical reader having hybrid monochrome and color image sensor array
US7568628B2 (en) 2005-03-11 2009-08-04 Hand Held Products, Inc. Bar code reading device with global electronic shutter control
US7611060B2 (en) 2005-03-11 2009-11-03 Hand Held Products, Inc. System and method to automatically focus an image reader
US7213761B2 (en) * 2005-03-23 2007-05-08 Microscan Systems Incorporated Apparatus and process for two-stage decoding of high-density optical symbols
US7770799B2 (en) 2005-06-03 2010-08-10 Hand Held Products, Inc. Optical reader having reduced specular reflection read failures
US20070084931A1 (en) * 2005-10-18 2007-04-19 Hitoshi Watanabe Handheld barcode reader
US7784696B2 (en) 2006-06-09 2010-08-31 Hand Held Products, Inc. Indicia reading apparatus having image sensing and processing circuit
US7740176B2 (en) 2006-06-09 2010-06-22 Hand Held Products, Inc. Indicia reading apparatus having reduced trigger-to-read time
US7946491B2 (en) 2006-08-03 2011-05-24 Nokia Corporation Method, apparatus, and computer program product for providing a camera barcode reader
US7969449B2 (en) * 2006-10-18 2011-06-28 Tamiras Per Pte. Ltd., Llc Systems and methods for color control of display devices
US7314175B1 (en) * 2006-12-20 2008-01-01 Ncr Corporation Methods and apparatus for improved use of partial bar code information to decode a complete bar code
US7852519B2 (en) 2007-02-05 2010-12-14 Hand Held Products, Inc. Dual-tasking decoder for improved symbol reading
US20080290171A1 (en) * 2007-05-21 2008-11-27 Symbol Technologies, Inc. Illumination apparatus for an imaging-based bar code reader
US8496177B2 (en) 2007-06-28 2013-07-30 Hand Held Products, Inc. Bar code reading terminal with video capturing mode
US8628015B2 (en) 2008-10-31 2014-01-14 Hand Held Products, Inc. Indicia reading terminal including frame quality evaluation processing
US8587595B2 (en) 2009-10-01 2013-11-19 Hand Held Products, Inc. Low power multi-core decoder system and method
US8600167B2 (en) 2010-05-21 2013-12-03 Hand Held Products, Inc. System for capturing a document in an image signal
US9047531B2 (en) 2010-05-21 2015-06-02 Hand Held Products, Inc. Interactive user interface for capturing a document in an image signal
KR101860569B1 (ko) * 2011-09-08 2018-07-03 삼성전자주식회사 문자 및 바코드를 동시에 인식하는 문자 및 바코드 인식 장치 및 그 제어 방법
US8629926B2 (en) 2011-11-04 2014-01-14 Honeywell International, Inc. Imaging apparatus comprising image sensor array having shared global shutter circuitry
US9251392B2 (en) 2012-06-01 2016-02-02 Honeywell International, Inc. Indicia reading apparatus
US8978983B2 (en) 2012-06-01 2015-03-17 Honeywell International, Inc. Indicia reading apparatus having sequential row exposure termination times
DE102022000147A1 (de) 2022-01-17 2022-03-24 Daimler Ag Elektrischer Energiespeicher für ein Kraftfahrzeug sowie Verfahren zum Herstellen eines solchen elektrischen Energiespeichers
DE102022001471A1 (de) 2022-05-02 2023-11-02 Baumer Optronic Gmbh Optische Bilderfassungseinheit und Verfahren zum Bestimmen einer Größenreserve

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4360798A (en) * 1978-05-31 1982-11-23 Symbol Technologies, Inc. Portable laser scanning arrangement for and method of evaluating and validating bar code symbols
US4219152A (en) * 1979-02-21 1980-08-26 International Business Machines Corporation Dual threshold comparator circuit
US4351004A (en) * 1980-01-31 1982-09-21 Texas Instruments Incorporated CCD Imager
US4720745A (en) * 1983-06-22 1988-01-19 Digivision, Inc. Method and apparatus for enhancing video displays
US4798943A (en) * 1986-09-30 1989-01-17 Spectra-Physics, Inc. Method and system for control of a bar code scanner threshold
EP0287913B1 (de) * 1987-04-22 1993-03-03 Abbott Laboratories Abtaster und Format eines optischen Codes
US5319181A (en) * 1992-03-16 1994-06-07 Symbol Technologies, Inc. Method and apparatus for decoding two-dimensional bar code using CCD/CMD camera
US4908875A (en) * 1989-03-21 1990-03-13 Hughes Aircraft Company Adaptive thresholding technique
DE4035396A1 (de) * 1990-11-07 1992-05-14 F & O Elektronic Systems Gmbh Verfahren und vorrichtung zum lesen und identifizieren der information einer zeichen-vorlage, insbesondere barcode, innerhalb eines zwei- oder dreidimensionalen feldes mittels einer videokamera, die ein binaeres videosignal des bildes erzeugt
US5196684A (en) * 1991-03-25 1993-03-23 Opticon, Inc. Method and apparatus for improving the throughput of a CCD bar code scanner/decoder
US5296690A (en) * 1991-03-28 1994-03-22 Omniplanar, Inc. System for locating and determining the orientation of bar codes in a two-dimensional image
SG44615A1 (en) * 1991-05-31 1997-12-19 Gtech Corp From reader with linear cod scanner and drum feed
US5378883A (en) * 1991-07-19 1995-01-03 Omniplanar Inc. Omnidirectional wide range hand held bar code reader
US5245677A (en) * 1991-08-08 1993-09-14 Hughes Aircraft Company Directional running average segmentation
US5286960A (en) * 1991-11-04 1994-02-15 Welch Allyn, Inc. Method of programmable digitization and bar code scanning apparatus employing same
FR2684830B1 (fr) * 1991-12-10 1998-06-12 Gen Electric Cgr Procede d'analyse d'images.
US5449893A (en) * 1992-04-02 1995-09-12 Symbol Technologies, Inc. Digitizer for bar code reader
US5329105A (en) * 1992-08-10 1994-07-12 United Parcel Service Of America, Inc. Method and apparatus for determining the width of elements of bar code symbols
JPH0687270B2 (ja) * 1992-09-16 1994-11-02 インターナショナル・ビジネス・マシーンズ・コーポレイション 線分の方向検出装置及びその方法
US5617484A (en) * 1992-09-25 1997-04-01 Olympus Optical Co., Ltd. Image binarizing apparatus
AU6167694A (en) * 1993-01-27 1994-08-15 United Parcel Service Of America, Inc. Method and apparatus for thresholding images
US5384451A (en) * 1993-01-29 1995-01-24 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using composite signals
US5583659A (en) * 1994-11-10 1996-12-10 Eastman Kodak Company Multi-windowing technique for thresholding an image using local image properties
US5694493A (en) * 1995-07-11 1997-12-02 Tuli; Raja Singh Thresholding method for scanned images

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011082415A1 (de) * 2011-09-09 2013-03-14 Siemens Aktiengesellschaft Technisches Gerät und System zum Bereitstellen von technischen Informationen für ein technisches Gerät

Also Published As

Publication number Publication date
WO1997014110A1 (en) 1997-04-17
EP0797812B1 (de) 2003-01-02
AU7444296A (en) 1997-04-30
DE69625583D1 (de) 2003-02-06
AU710610B2 (en) 1999-09-23
EP0797812A1 (de) 1997-10-01
MX9704437A (es) 1998-07-31
CA2206166C (en) 2006-03-07
US5979763A (en) 1999-11-09
JP2000501209A (ja) 2000-02-02
CA2206166A1 (en) 1997-04-17

Similar Documents

Publication Publication Date Title
DE69625583T2 (de) Datenformleser
DE60222722T2 (de) Verfahren und Vorrichtung zur Korrektur von perspektivischen Verzerrungen in Dokumentbildern und zur Summierung von Bildzeilen
DE19960555B4 (de) Verfahren zum Auffinden und Lesen eines zweidimensionalen Strichcodes
DE69930536T2 (de) Schräglage-verarbeitung für raster-abtast-bilder
DE69728482T2 (de) Zweidimensionaler Codeleser
DE69838714T2 (de) Optische abtastvorrichtung und bildleser zum bildlesen und dekodieren optischer informationen mit ein- und zweidimensionalen symbolen bei veränderlicher tiefenschärfe
DE60114469T2 (de) Methode und Gerät zur Bestimmung von interessanten Bildern und zur Bildübermittlung
DE69432585T2 (de) Verfahren und Gerät zur Auswahl von Text und/oder Non-Text-Blöcken in einem gespeicherten Dokument
DE69629930T2 (de) Verfahren zum Festlegen eines auf einem Objekt angebrachten optischen Codes
DE10036110B4 (de) Verfahren zur Bestimmung des Schrägwinkels eines zweidimensionalen Barcodes
DE69633908T2 (de) Anti-handzitter datenformatleser und verfahren
DE19814075B4 (de) Verfahren zum Abtasten und Erkennen mehrerer Fotografien und zum Beseitigen von Randfehlern
DE69929572T2 (de) Verfahren zum Lesen eines zweidimensionalen Strichcode ohne Taktsignal und ohne Ränder
DE69727320T2 (de) Aufnahmeverfahren und gerät
DE69433492T2 (de) Verfahren und Vorrichtung zum Dekodieren von Streifencodes durch unabhängige Analyse von Streifen und Zwischenräumen
DE60132315T2 (de) Verbessertes verfahren zur bildbinarisierung
DE69629888T2 (de) Bildverarbeitungsverfahren und Bilderkennungs- und Pixelverarbeitungssystem
DE2831582C2 (de) Verfahren zur Identifizierung einer Person und Vorrichtung zur Durchführung des Verfahrens
DE69834918T2 (de) Anordnung zur automatischen Erfassung und Verarbeitung von optischen Codes
DE10195928B4 (de) Abschätzen der Textfarbe und Segmentieren von Bildern
DE69932250T2 (de) Optische symbolanzeige
DE102007035884B4 (de) Linienrauschunterdrückungsvorrichtung, -verfahren und -programm
DE69822608T2 (de) Binarisierungsverfahren in einem Zeichenerkennungssystem
DE602004011145T2 (de) Vorrichtung und Verfahren zum Lesen von optischen Informationen
DE19722439A1 (de) Verfahren und Vorrichtung zur Auffindung und Dekodierung maschinenlesbarer Symbole einschließlich Datenmatrixsymbolen

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: SYMBOL TECHNOLOGIES, INC., HOLTSVILLE, N.Y., US

8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 797812

Country of ref document: EP

Representative=s name: SCHUMACHER & WILLSAU PATENTANWALTSGESELLSCHAFT, DE