DE60123088T2 - Verahren zur automatischen belichtungssteuerung - Google Patents

Verahren zur automatischen belichtungssteuerung Download PDF

Info

Publication number
DE60123088T2
DE60123088T2 DE60123088T DE60123088T DE60123088T2 DE 60123088 T2 DE60123088 T2 DE 60123088T2 DE 60123088 T DE60123088 T DE 60123088T DE 60123088 T DE60123088 T DE 60123088T DE 60123088 T2 DE60123088 T2 DE 60123088T2
Authority
DE
Germany
Prior art keywords
module
exposure
imaging unit
image
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE60123088T
Other languages
English (en)
Other versions
DE60123088D1 (de
Inventor
D. Jeffrey Charlotte HARPER
M. Robert Camillus HUSSEY
W. Matthew Camillus PANKOW
P. Timothy Camillus MEIER
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.)
Hand Held Products Inc
Original Assignee
Hand Held Products Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26930352&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60123088(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Hand Held Products Inc filed Critical Hand Held Products Inc
Application granted granted Critical
Publication of DE60123088D1 publication Critical patent/DE60123088D1/de
Publication of DE60123088T2 publication Critical patent/DE60123088T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/1092Methods 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 by means of TV-scanning
    • 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/10712Fixed beam scanning
    • G06K7/10722Photodetector array or CCD scanning
    • 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/10712Fixed beam scanning
    • G06K7/10722Photodetector array or CCD scanning
    • G06K7/10752Exposure time control

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Artificial Intelligence (AREA)
  • Toxicology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Studio Devices (AREA)
  • Exposure Control For Cameras (AREA)
  • Exposure Of Semiconductors, Excluding Electron Or Ion Beam Exposure (AREA)
  • Indication In Cameras, And Counting Of Exposures (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf eine Belichtungssteuerung in einem portablen optischen Bildaufnahmegerät und insbesondere auf ein Verfahren zur automatischen Echtzeit-Belichtungssteuerung für eine optische Bildgebungseinheit in einem multidimensionalen optischen Bildaufnahmeapparat.
  • HINTERGRUND DER ERFINDUNG
  • Portable optische Bildaufnahmegeräte, wie Barcode-Leser, optische Zeichen-Leser, Digitalkameras und ähnliche, sind in weiträumigen Gebrauch in grossen Stückzahlen im Einzelhandel, Industrie und medizinischen Anwendungen gekommen. Solche Bildaufnahmegeräte werden benutzt, um Routinedatenaufnahmefunktionen, wie Auspreisung, Inventaraufnahmen usw., mit einer Genauigkeit und Verlässlichkeit, die bei weitem die bei manueller Datenaufnahme übersteigt, auszuführen. Diese und andere Vorteile, wie hohe Datendurchsatzraten und direkte Kompatibilität von Datenverarbeitungsgeräten und – Systemen stellt sicher, dass Bildaufnahmegeräte in der Zukunft immer weiter verbreitet werden. Wie die Benutzung solcher Geräte steigt, werden auch die Anforderungen an die Geräte in gleichem Masse steigen. Diese Anforderungen werden diktieren, dass die portablen Bildaufnahmegeräte der Zukunft ständig steigende Quantitäten und Dichten optisch – kodierter Daten lesen, speichern und decodieren können.
  • Portable Bildaufnahmegeräte, wie Barcode-Leser sind bekannt zum Lesen eindimensionaler (1D) und zweidimensionaler (2D) Barcode-Symbole, wie z.B. Barcode Informationen in Supermärkten usw. Eine Vielfalt verschiedener Barcode-Symbole sind weithin bekannt und werden gegenwärtig in verschiedenen Anwendungen genutzt. In diesen Anwendungen, wo die Anzahl von Daten relativ klein ist, werden die Daten konventionell in einem eindimensionalen Barcode Symbol kodiert. Zum Beispiel, 1D Barcode Symbolsätze, wie Code 49, Code 39, Code 128 und Codebar sind entwickelt worden, um die Kodierung von relativ kleinen Anzahlen von Daten zu erlauben. Siehe zum Beispiel US Patent Nr. 4,794,239 mit dem Titel "Multitrack Bar Code and Associated Decode Method", erteilt am 27. Dezember 1988 im Namen des Erfinders Allais, in welchem der Code 49 Symbolsatz beschrieben ist. Die 1D Symbolsätze nutzen geschichtete Symbole, welche die kodierten Daten in Mehrfachreihen, wobei jede ein entsprechendes 1D Barcode Muster einschliesst, partitionieren. Im Betrieb müssen alle oder die meisten der Symbole gescannt, dekodiert und dann miteinander verbunden werden, um eine komplette Nachricht zu bilden.
  • In Anpassung an das Bedürfnis zum Lesen, Aufzeichnen und Dekodieren wachsender Quantitäten und Dichten von Daten sind 2D Matrix Symbolsätze entwickelt worden, welche eine orientierungsfreies Scannen und grössere Datendichten und Kapazitäten als die 1D Gegenstücke erlauben. 2D Matrix Codes kodieren dunkle oder helle Datenelemente innerhalb einer regelmässigen polygonalen Matrix, begleitet von graphischen Such-, Orientierungs- und Referenzstrukturen. Zum Beispiel sind 2D Symbolsätze, wie etwa PDF 417, MaxiCode und DataMatrix entwickelt worden, um eine Kodierung von grossen Datenvolumen zu erlauben. Siehe zum Beispiel US Patent Nr. 5,304,786 mit dem Titel "High Density Two Dimensional Bar Code Symbol", erteilt am 19. April 1994 im Namen des Erfinders Pavlidis et al., in welchem der PDF 417 Symbolsatz beschrieben ist. PDF 417 nutzt ein "zweidimensionales" Schema, in welchem Reihen von Zeichen vertikal geschichtet sind. Das heisst, es gibt verschiedene Reihen von Bar und Leermustern, anstelle von nur einer Reihe.
  • 2D Festkörperbildsensoren, wie zum Beispiel ladungsgekoppelte Bauelemente (CCD) Bildsensoren, sind befähigt, optisch kodierte Datenbilder aufzunehmen und in elektrische Signale zu konvertieren. Wenn diese Bildsensoren mit optischen Bildaufnahmesystemen, die korrekt belichtete und fokussierte Bilder für das Ziel bereitstellen und mit Signalprozessoren, die eine passende Dekodiersoftware beinhalten, verbunden sind, sind diese Bildsensoren in der Lage, Daten von verschiedenen Typen, Formen und Grössen von Barcodes und anderen Symbolen zu lesen.
  • Wie festgestellt, steht die Fähigkeit, Daten von einem grossen Bereich von Produkten verschieden in Material, Grösse, Form und ähnlichem zu lesen in direktem Zusammenhang mit der Bereitstellung einer korrekten Bildbelichtung des einer Mustererkennung zu unterziehenden oder zu scannenden Objekts. Vorrangig zu diesem Anliegen ist die Fähigkeit, die Belichtungseinstellung in einer Echtzeitart so abzustimmen, dass die Belichtungseinstellungen für das aufzunehmende Bild korrekt sind.
  • Die US-A-5,834,753 offenbart ein Datensammelgerät, wobei Daten eingelesen oder per Hand eingegeben werden. Das Gerät weist einen Basisteil und einen Datensammel- und Kommunikationsteil auf, der an das Basisteil anschliessbar ist. Der Datensammel- und Kommunikationsteil weist eine Hauptschaltplatine, die elektrisch mit einem Mikroprozessor, der sich im Basisteil befindet, mittels einer Schaltungsroutingplatine verbunden ist, auf. Ein Lichtintensitätssensor ist auf einer Seite mit dem Mikroprozessor und auf der anderen Seite mit einem Interruptschaltmittel verbunden. Wenn eine direktes Signal vom Intensitätssensor ausreichend ist, wird das Interruptschaltmittel betätigt und verursacht die Unterbrechung eines Beleuchtungselements, um Energie zu sparen.
  • Die US-A-5,815,200 offenbart ein Datensammelgerät, das einen ersten Prozessor und einen zweiten Prozessor hat, wobei der erste Prozessor ausschliesslich eine Verstärkungssteuerung durch Benutzung eigener Routinen und Aufgaben innerhalb einer eigenen Verstärkersteuerungsschaltung ausführt und wobei der zweite Prozessor ausschliesslich eine Belichtungssteuerung durch Benutzung eigener Routinen und Aufgaben in einer eigenen Belichtungssteuerungsschaltung ausführt.
  • In dem Fall, in welchem das Bildaufnahmegerät Software oder einen anderen Algorithmus zum Dekodieren des Bildes benötigt, wie ein Barcodeleser oder ähnliches, ist es zwingend erforderlich, dass das Bildaufnahmegerät dem Algorithmus korrekt belichtete Bilder bereitstellt. Die Dekodieralgorithmen in solchen Geräten sind typischerweise durch die eingebaute Belichtungssteuerung der Bildgebungseinheit (beispielsweise Kamera) begrenzt. Diese Begrenzung bremst im Allgemeinen den Dekodierprozess und fügt Ineffizienz zur Gesamtbildaufnahme und zu dem Dekodierprozess hinzu. Daher wird es zwingend, einen automatischen Belichtungssteuerungsmechanismus verschieden von der Bildgebungseinheit zu implementieren, so dass die Effizienz des Dekodierprozesses nicht nachteilig beeinflusst wird.
  • In den meisten gegenwärtigen portablen Bildaufnahmegeräten, die mehrere Prozessoren einschliessen, ist die Implementierung von automatischen Bildgebungseinheitsteuermodulen relativ einfach, da ein individueller Prozessor bestimmt werden kann, die automatische Belichtungssteuerungsroutine auszuführen, während andere Prozessoren dazu bestimmt sind, ein Betriebssystem, Anwendungsprogramme und ähnliches auszuführen. Wie auch immer, die Implementierung eines Belichtungssteuerungsmechanismus, der genaue Echtzeitbelichtungseinstellungen (beispielsweise automatische Belichtungssteuerung) bereitstellen wird, kann unter einer Multitaskingbetriebssystemumgebung problematisch sein. In einer typischen Multitaskingumgebung kann eine einzelne Zentralprozessoreinheit (CPU) eingeschlossen sein, die fähig ist, Anwendungsprogramme, wie auch Bildaufnahme und Dekodierprozesse, zu implementieren. In solch einer geteilten Prozessorumgebung ist es notwendig, die zugeteilte Benutzung der CPU für jede Anwendung zu minimieren. Zum Beispiel in dem Bildaufnahme- und Dekodierprozess muss die Belichtung innerhalb eines spezifischen Zeitintervalls in der Bildgebungseinheitsbildperiode in die Bildgebungseinheit geschrieben werden. Dies benötigt eine Echtzeitantwort, um mit dem Status der Bildgebungseinheit Schritt zu halten und auf jegliche Bildsignale von der Bildgebungseinheit zu antworten.
  • Umgekehrt, in einem Multitaskingbetriebssystem, wo es Aufgaben gibt, die sich die Zentralverarbeitungseinheit (CPU) teilen, sollte die Routine, welche die CPU verwaltet, die CPU nicht kontinuierlich mit automatischen Belichtungsberechnungen vorbesetzen. In diesem Zusammenhang ist ein Zweifachzweckmodul wünschenswert, das es erlauben wird, dass intensive CPU-Berechnungen auf einer Aufgabenebene existieren, wo sie von anderen Aufgaben, die CPU-Zeit benötigen vorab abgeschätzt werden können. Zusätzlich wird dem Modul zur Steuerung der Bildgebungseinheit in einer Echtzeitantwort erlaubt, in einer Interrupt-Serviceroutine zu existieren, wo es den Zeitkriterien der Bildgebungseinheit entspricht.
  • Um dieses Anliegen zu behandeln, offenbart das hierin offenbarte erfinderische Konzept eine Implementierung des Codes/der Routinen in zwei verschiedenen Modulen. Das Modul, das die Kamera steuert ist implementiert in einer Interrupt-Serviceroutine. Andere Ausführungsformen können dieses Modul in einer Hochprioritäts- oder Echtzeit Thread- oder Taskroutine implementieren. Das Modul, welches die Berechnungen am Bild zur Bestimmung, welche Belichtungs- und Verstärkungseinstellungen genutzt werden sollten, durchführt, ist in einer Niederpriorität Thread- oder Taskroutine implementiert. Dies erlaubt dem Modul, welches die intensiven CPU-Berechnungen durchführt, auf einer Aufgabenebene (Task Level) zu existieren, während das Modul, welches die Bildgebungseinheit steuert und Echtzeitantworten erfordert, in einer Interrupt-Serviceroutine existiert, wo es strenge Zeitkriterien befriedigen kann.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung ist durch ein Verfahren zur Belichtungssteuerung in einem multidimensionalen Bildaufnahmegerät definiert. Das Verfahren umfasst eine Erzeugung eines Bildende-Signals (end of frame, EOF) in einer Bildgebungseinheit und eine Ausführung eines ersten Moduls in einem Zentralprozessor, das Belichtungs- und Verstärkungseinstellungen in der Bildgebungseinheit in Antwort auf das Bildende-Signal steuert. Das erste Modul erzeugt dann eine aufgenommene Kontrasteinstellung und das zweite Modul führt in einem Zentralprozessor durch Berechnung einer Zielkontrasteinstellung in Antwort auf das Bildende-Signal die aufgenommene Kontrasteinstellung und gespeicherten Bilddaten aus. Eine anschliessende oder neue Belichtungs- und Verstärkungseinstellung wird dann in dem ersten Modul in der Antwort auf die Zielkontrasteinstellung erzeugt. Die nachfolgenden Belichtungs- und Verstärkungseinstellungen werden dann in der Bildgebungseinheit implementiert. Das erste Modul ist typisch in einer Hochprioritätsroutine, die eine Interrupt-Serviceroutine implementiert, und das zweite Modul ist typischerweise in einer Niederpriorität-Routine, wie etwa einer Task Level Routine, implementiert. In einer alternativen Ausführungsform ist der Prozessor, der das erste und zweite Modul ausführt, zusätzlich für die Ausführung mindestens eines Bildaufnahmegerätanwendungsprogramms und/oder eines Bildaufnahmegerät-Betriebssystem verantwortlich.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Blockdiagramm des automatischen Belichtungssteuerungsprozesses, implementiert in einem multidimensionalen Bildaufnahmegerät entsprechend einer Ausführungsform der vorliegenden Erfindung.
  • 2 ist ein Blockdiagram einer alternativen Ausführungsform des automatischen Belichtungssteuerungsprozesses in einem multidimensionalen Bildaufnahmegerät entsprechend der vorliegenden Erfindung.
  • 3A-3C sind Flussdiagramme der Verarbeitung, die innerhalb des ersten Moduls (des Bildgebungseinheitsbelichtungsmoduls) des automatisierten Belichtungssteuerungsprozesses entsprechend einer Ausführungsform der vorliegenden Erfindung ablaufen.
  • 4 ist ein Flussdiagramm der Verarbeitung, die innerhalb des zweiten Moduls (das Histogrammverarbeitungsmodul) des automatisierten Belichtungssteuerungsprozesses entsprechend einer Ausführungsform der vorliegenden Erfindung stattfindet.
  • Detaillierte Beschreibung der Erfindung
  • Die vorliegende Erfindung wird nun nachfolgend mit Bezug auf die beiliegenden Zeichnungen, in welchen bevorzugte Ausführungsformen der Erfindung gezeigt sind, vollständiger beschrieben. Die Erfindung kann, wie auch immer, in vielen verschiedenen Formen ausgeführt sein und sollte nicht als durch die hierin dargelegten Ausführungsformen limitiert ausgelegt werden; vielmehr sind diese Ausführungsformen bereitgestellt, so dass die Offenbarung genau und vollständig ist und vollständig den Bereich der Erfindung für den Fachmann vermittelt. Gleiche Bezugszeichen beziehen sich durchgehend auf gleiche Elemente.
  • 1 ist ein Blockdiagramm, welches die Interaktion zwischen Komponenten in einem Bildaufnahmegerät, das eine automatische Belichtungskontrolle entsprechend der vorliegenden Erfindung beinhaltet, dargestellt. Das Bildaufnahmegerät 10 weist eine Bildgebungseinheit 20, typischerweise eine Kamera, die kontinuierlich Bilddaten für eine Bildaufnahmegerätspeicherkomponente 30, wie etwa einen Schreib-Lese-Speicher (RAM), bereitstellt. Die Bildgebungseinheit wird typischerweise in der Lage sein, wenigstens zweidimensionale Bildsymbolsätze, wie etwa PDF 417, MaxiCode, DataMatrix und andere zu lesen.
  • Die Bildgebungseinheit 20 kommuniziert mit einem Bildgebungseinheitsteuermodul 40 und einem Histogrammverarbeitungsmodul 50, um eine automatisierte Belichtungssteuerung für die Bildgebungseinheit durchzuführen. Das Bildgebungseinheit-Steuermodul steuert die Verstärkungs- und die Belichtungseinstellungen der Bildgebungseinheit durch die Nutzung eines Zielkontrastparameters, der durch das Histogrammverarbeitungsmodul bereitgestellt wird. Zusätzlich verarbeitet das Bildgebungseinheit-Steuermodul ein Bildsignal, um zu bestimmen, wie ein kürzlich aufgenommenes Bild belichtet worden ist und kommuniziert diese Informationen zurück zu dem Histogrammverarbeitungsmodul für die weitere Berechnung des Zielkontrasts. Ähnlich berechnet das Histogrammverarbeitungsmodul einen Zielkontrast basierend auf dem Bildende (EOF) Signal, welches von der Bildgebungseinheit 20 übermittelt wird.
  • Das Bildgebungseinheit-Steuermodul 40 ist typischerweise in einer Interrupt-Serviceroutine implementiert. Andere Ausführungsformen der Erfindung könnten dieses Modul in einer Hochprioritäts- oder Echtzeit Thread- oder Taskroutine implementieren. Das Histogrammverarbeitungsmodul, welches die Berechnungen an dem Bild zur Bestimmung, welche Belichtungs- und Verstärkungseinstellungen benutzt werden sollten, durchführt, ist in einer Taskroutine oder einer anderen Niederprioritätsroutine implementiert. Durch Beinhaltung von zwei einzelnen Modulen ist es dem Modul erlaubt, das intensive CPU Berechnungen (beispielsweise das Histogrammverarbeitungsmodul) auf einer Aufgabenebene existieren, während das Modul, welches die Bildgebungseinheit steuert und Echtzeitantworten verlangt (beispielsweise das Bildgebungseinheit-Steuermodul) in einer Interrupt-Serviceroutine existiert, wo es die Zeitkriterien erfüllt. Daher minimiert der gesamte Belichtungssteuerungsprozess die Nutzung der Prozessorfähigkeiten, so dass andere Anwendungen und/oder Module durch den Prozessor ausgeführt werden können. Auf diese Weise ist der Zweimodulprozess fähig, eine automatische Belichtungssteuerung für ein Bildaufnahmegerät, das in einer Multitaskingumgebung arbeitet, bereit zu stellen.
  • Typischerweise wird das Bildaufnahmegerät einen direkten Speicherzugriff (DMA) Kontroller 60 enthalten, der für die Steuerung des Transfers von Bilddaten von der Bildgebungseinheit zum Speicher verantwortlich ist. Der DMA-Kontroller kann sich in einem Prozessorgerät (in 1 nicht gezeigt) befinden. Es sei hier angemerkt, dass der DMA-Kontroller nicht essenziell für das Funktionieren des automatisierten Belichtungssteuerungsprozesses ist und es in bestimmten Ausführungsformen der Erfindung, in welchen die Bilddaten direkt in den Speicher transferiert werden und der Aufnahmebefehl direkt vom Histogrammverarbeitungsgerät zur Bildgebungseinheit gesendet wird, möglich das Bedürfnis zur Aufnahme eines DMA-Kontrollers eliminiert.
  • 2 zeigt eine alternative Ausführungsform der vorliegenden Erfindung, in welcher ein Logikgerät 70, vorzugsweise ein Feld-programmierbares Logikgerät als eine Schnittstelle zwischen der Bildgebungseinheit 20 und dem Bildgebungseinheit-Steuermodul 40 implementiert ist. In dieser Ausführungsform erzeugt die Bildgebungseinheit ein EOF-Signal, welches zu dem Logikgerät gesendet wird. Das Logikgerät sendet das EOF Signal zum Bildgebungseinheit-Steuermodul und zum Histogrammsteuerungsmodul. Das Bildgebungseinheit-Steuermodul übermittelt dann Belichtungs- und Verstärkungseinstellungen über das Logikgerät zur Bildgebungseinheit.
  • In Anordnungen, in welchen ein DMA Kontroller 60 als Schnittstelle zwischen der Bildgebungseinheit 20 und der Speicherkomponente 30 beinhaltet ist, kann der DMA-Kontroller in die Logikgerätschnittstelle 70 implementiert sein oder in einem anderen passenden Gerät, welches in der Lage ist, DMA Kontroller Aktivitäten zu implementieren Platz finden. In der Ausführungsform, in welcher der DMA-Kontroller in die Logikgerätschnittstelle (2) implementiert ist, wird das Histogrammverarbeitungsmodul Aufnahmebefehle zum DMA Kontroller über das Logikgerät senden, der DMA-Kontroller wird ein Bild dem Speicher bereitstellen und das Histogrammverarbeitungsmodul wird das Bild aus dem Speicher lesen.
  • Um die Verarbeitung, die im Bildgebungseinheit-Steuermodul und im Histogrammsteuerungsmodul durchgeführt wird, abzuschätzen, ist es notwendig, die erforderlichen Belichtungssteuerungsparameter zu definieren. Belichtung ist definiert als die Menge an Zeit, in welcher die Bildgebungseinheit die Bildgebungseinheitszellen dem Licht aussetzt. Die Verstärkung ist definiert als die Umwandlung zwischen der Anzahl von Photonen, die von der Bildgebungseinheit aufgenommen worden sind und der Anzahl von digitalen Einheiten ("counts"), die im Bild enthalten sind. Verstärkung wird typischerweise vor der Digitalisierung des Signals angewendet. Die Verstärkungs- und Belichtungseinstellungen erzeugen beide eine lineare Skalierung der Daten im Bild. Beispielsweise würden wenn man die Belichtung oder die Verstärkung verdoppelt, die Pixelwerte, die man von der Bildgebungseinheit erhält doppelt so gross werden. Kontrast ist in dieser Anwendung definiert als das Produkt der Belichtung mal der Verstärkung (Belichtung × Verstärkung = Kontrast). Um ein Bild zu erhalten, das korrekt belichtet ist, kann entweder die Verstärkung oder die Belichtung so lange eingestellt werden, wie das Produkt der Verstärkung und der Belichtung gleich dem geforderten Zielkontrast entspricht.
  • Das Histogrammverarbeitungsmodul macht Anfragen an das Bildgebungseinheit-Steuermodul für ein Bild mit einem spezifischen Kontrast (beispielsweise dem Zielkontrast). Basierend auf diese Anfrage versucht das Bildgebungseinheit-Steuermodul, die Verstärkung und Belichtungswerte so zu setzen, dass das Produkt der beiden Werte gleich dem Zielkontrast ist. Wie dem Fachmann bekannt ist, haben Änderungen der Belichtungseinstellungen in der Bildgebungseinheit typischerweise nicht sofort eine Auswirkung. Während ein Bild durch den DMA-Kontroller in den RAM transferiert wird, wird das nächste Bild belichtet. Auf diese Weise wird dem Bild, das aufgenommen worden ist der Buchstabe n zugewiesen und eine Belichtungseinstellung unmittelbar vor dem Start des Aufnahmeprozesses für das Bild und solange keine Auswirkung, bis das Bild n + 1 aufgenommen wird. Daher ist das Bildgebungseinheit-Ssteuermodul verantwortlich sich über die derzeitigen Belichtungseinstellung auf dem Laufenden zu halten und zu wissen, welche Bilddaten die von der Bildgebungseinheit kommen, welche spezifische Belichtungseinstellung haben. Umgekehrt, Änderungen in der Verstärkungseinstellung haben sofort einen Effekt, wenn die Verstärkungseinstellung geändert wird, bevor eine Bild aufgenommen worden ist.
  • Da Belichtungseinstellungen nicht sofort stattfinden, benötigt das Histogrammverarbeitungsmodul Daten über den Kontrast eines jeden aufgenommenen Bildes im Hinblick darauf, welcher Kontrast wirklich aufgenommen worden ist. Das Histogrammverarbeitungsmodul nutzt die Rückmeldung, einschliesslich des Kontrastes des aufgenommenen Bildes, um einen Zielkontrast für zukünftige Bilddaten zu berechnen. Das Bildgebungseinheit-Steuermodul koppelt an das Histogrammverarbeitungsmodul, um die Rückmeldungsinformationen, bezogen auf das letzt aufgenommene Bild, dem Histogrammverarbeitungsmodul bereitzustellen. Um die Belichtungs- und Verstärkungseinstellung jedes aufgenommenen Bildes zu verfolgen, wird typischerweise das Bildgebungseinheit-Steuermodul in entweder eine Hochpriorität-Task- oder eine Interrupt-Serviceroutine implementiert sein. Diese Implementationen sind in der Lage sicherzustellen, dass EOF-Signale von der Bildgebungseinheit nicht unbeabsichtigterweise verloren gehen, und dass der Kontrast für jedes Bild korrekt bestimmt wird.
  • Bildgebungseinheit-Steuermodul
  • Das Bildgebungseinheit-Steuermodul arbeitet nur in Antwort auf eine EOF Interrupt-Signal, übermittelt von der Bildgebungseinheit. In einer Ausführungsform der Erfindung kommuniziert das Bildgebungseinheit-Steuermodul mit dem Histogrammverarbeitungsmodul über eine gemeinsame Datenstruktur, in welcher eine Gruppe von in Beziehung zueinander stehenden Variablen existiert, zu welcher beide, das Bildgebungseinheit-Steuermodul und das Histogrammverarbeitungsmodul Zugriff haben. Andere Mittel zur Kommunikation zwischen dem Bildgebungseinheit-Steuermodul und dem Histogrammverarbeitungsmodul sind auch möglich und innerhalb des erfinderischen Konzepts hiermit offenbar. Das Bildgebungseinheit-Steuermodul weist eine EOF Verarbeitungsroutine auf. Diese Routine führt einen Zähler mit einer Bildnummer, der jedes Mal erhöht wird, wenn eine EOF-Signal durch das Bildgebungseinheit- Steuermodul empfangen wird. Das Bildgebungseinheit-Steuermodul greift auf das gemeinsame Speichergebiet zu und liest den Zielkontrast, der vom Histogrammverareitungsmodul erfragt worden ist, aus.
  • 3A-3C stellen ein Flussdiagramm der Verarbeitung innerhalb des Bildgebungseinheit-Steuermoduls entsprechend der vorliegenden Erfindung dar. Bei 200 wird der Zielkontrast, der vom Histogrammverarbeitungsmodul empfangen wurde, implementiert, um eine nachfolgende (beispielsweise neue) Belichtungseinstellung zu berechnen. In Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung wird die nachfolgende Belichtungseinstellung gleich dem Zielkontrast dividiert durch 2 (Zielkontrast/2) gesetzt. Die nachfolgende Belichtung ist als solche in Beziehung zum Medianwert für die Verstärkung definiert. In einer Ausführungsform der Erfindung wird die Bildgebungseinheit Verstärkungen zwischen ein und sieben unterstützen; wie auch immer, wenn die Verstärkung zu hoch gesetzt ist, wird Rauschen zu dem Bild hinzugefügt. Mit dem Rauschfaktor in Gedanken wird die Verstärkung in diesem Fall beschränkt zwischen eins und vier mit dem Mittelpunktswert von zwei.
  • In Anwendungen wirkt sich die Einstellung der nachfolgenden Belichtung nicht sofort aus, aber die Einstellung der Verstärkung hat einen unmittelbaren Effekt. Deshalb wird, bevor die Belichtung einen Einfluss hat, ein neues Bild aufgenommen werden. Wenn das neue Bild verarbeitet wird, kann das Histogrammverarbeitungsmodul entscheiden den Zielkontrast zu verändern. Daher wird durch die Division des Zielkontrastes durch zwei in den Fällen, in welchen der Zielkontrast sich nicht ändert, die Verstärkungseinstellung für das n + 1 Bild gleich 2 sein. Wie auch immer, wenn sich der Zielkontrast leicht verschiebt, kann die Verstärkung, da die Verstärkungseinstellung halbwegs zwischen 1 und 4 ist, in eine von beiden Richtungen zu einem näher passenden Zielkontrast geändert werden. Das Bildgebungseinheit-Steuermodul schreibt eine Belichtung, basierend auf dem Zielkontrast. Das Modul schreibt die Belichtung vor dem Bild n, aber die Belichtung wird keinen Effekt bis zum Bild n + 1 haben. Das Histogrammverarbeitungsmodul kann einen neuen Zielkontrast zwischen Bild n und n + 1 setzen. Wenn dies geschieht ist der einzige Weg, auf welchen das Bildgebungseinheit-Steuermodul in der Lage sein wird, den neuen Zielkontrast für das Bild n + 1 zu erreichen durch Änderung der Verstärkung. Es ist wahrscheinlich, dass der Zielkontrast, der zwischen Bild n und n + 1 gesetzt wird nahe dem Zielkontrast, der vor dem Bild n gesetzt wurde, ist.
  • Daher setzt das Bildgebungseinheit-Steuermodul die neue Belichtung, so dass, wenn der Zielkontrast zwischen Bild n und n + 1 nicht ändert, die Verstärkung, die für Bild n + 1 gesetzt ist, zwei sein wird. Wenn eine neuer Zielkontrast gesetzt wird, kann die Verstärkung aufwärts oder abwärts von zwei abgestimmt werden. Wenn der Zielkontrast, der zwischen Bild n und n + 1 gesetzt wird, sinkt, aber nicht unterhalb der Hälfte des Zielkontrastes, der vor Bild n gesetzt wird ist, wird es möglich sein, die Verstärkung nach unten abzustimmen, so dass wenn Bild n + 1 aufgenommen wird dieses den neuen Zielkontrast haben wird. Desgleichen, wenn der Zielkontrast, gesetzt zwischen n und n + 1, steigt, aber nicht das Zweifache des Zielkontrastes, welches vor Bild n gesetzt wurde, übersteigt, wird es mögliche sein, die Verstärkung nach unten zu justieren, so dass wenn Bild n + 1 aufgenommen wird, es den neuen Zielkontrast haben wird.
  • Wenn einmal eine nachfolgende Belichtungseinstellung vom Zielkontrast bestimmt worden ist, wird der Bereich der nachfolgenden Belichtung verifiziert, um sicher zu stellen, dass die anschliessende Belichtungseinstellung unterhalb der gültigen maximalen Belichtungseinheitstellung und oberhalb der Minimalbelichtungseinstellung liegt. Bei 210 wird die nachfolgende Belichtung mit der maximalen Belichtung verglichen. Wenn die nachfolgende Belichtung den Maximalwert übersteigt, dann wird bei 220 die nachfolgende Belichtungseinstellung auf die maximale Belichtungseinstellung gesetzt. Eine maximale Belichtungseinstellung ist bestimmt, um Unschärfen auf Grund von Bewegung zu eliminieren. Je länger die Belichtungszeit, desto wahrscheinlicher ist, dass Bewegung des Bildes Unschärfe verursachen wird und daher erzwingt das Bildgebungseinheit-Steuermodul, das die Belichtungseinstellung unter der Maximaleinstellung ist. Wenn die nachfolgende Belichtungseinstellung unterhalb des Maximalwertes ist, dann wird bei 230 die nachfolgende Belichtungseinstellung mit der Minimalbelichtungseinstellung verglichen. Wenn die nachfolgende Belichtung unterhalb der Minimalbelichtungseinstellung ist, dann wird bei 240 die nachfolgende Belichtungseinstellung auf die minimale Belichtungseinstellung gesetzt, typischerweise nach Vorgabe auf Null.
  • Bei 250 wird bestimmt, ob die nachfolgende Belichtung gleich der aktuellen Bildgebungseinheit-Belichtung ist. Wenn sie gleich ist, dann ist es nicht nötig, die nachfolgende Belichtung in die Bildgebungseinheit zu schreiben. Wenn es nicht gleich ist, dann wird bei 260 die nachfolgende Belichtungseinstellung in die Bildgebungseinheit geschrieben.
  • Beim Einschreiben der Belichtungs- und Verstärkungseinstellungen existiert ein kleines Zeitfenster zwischen dem Bildende und dem Beginn des nächsten Bildes, in welchem die Einstellungen geschrieben werden können, um sicher zu stellen, dass sie innerhalb der verlangten Zeit in Kraft treten. Um sicher zu stellen, dass die Belichtungs- und Verstärkungseinstellungen innerhalb des verlangten Zeitintervalls geschrieben werden, wird das EOF-Signal von der Bildgebungseinheit kommend synthetisiert. Das synthetisierte EOF-Signal ist ein Puls und wird entweder erklärt oder ein "wahr"-Zustand existiert während einer Zeitperiode, in der es gültig ist, die Belichtungs- und Verstärkungseinstellungen zu schreiben. Auf diese Weise bewirkt die führende Flanke des Pulses, das Bildgebungseinheit-Steuermodul auszuführen und auf das EOF zu antworten und nachdem die Belichtungs- und Verstärkungseinstellungen in die Bildgebungseinheit geschrieben worden sind, dass das Signal geprüft wird, um festzustellen, dass es noch immer wahr ist. Wenn festgestellt wird, dass das Signal wahr ist, dann ist das Bildgebungseinheit-Steuermodul dazu beschaffen, die Belichtungs- und Verstärkungseinstellungen innerhalb des benötigten Zeitabschnitts zu schreiben. Wenn die Feststellung getroffen wird, dass das Signal nicht wahr ist, hat das Bildgebungseinheit-Steuermodul der Wahrscheinlichkeit Rechnung zu tragen, dass es sein Fenster der Möglichkeit, die Belichtungs- und Verstärkungseinstellungen zu schreiben, verpasst hat. In diesem Fall wird das Bildgebungseinheit-Steuermodul Daten in die gemeinsame Datenstruktur, die anzeigt, dass die Belichtung unbekannt ist, schreiben. Das Histogrammverarbeitungsmodul muss wissen, was der aufgenommene Kontrast war, um den Zielkontrast zu berechnen. Daher wird, wenn die Belichtung dem Histogrammverarbeitungsmodul unbekannt ist, das Bild ignorieren, wenn es versucht, den neuen Zielkontrast zu berechnen.
  • Wenn einmal die nachfolgende Belichtung in die Bildgebungseinheit geschrieben worden ist, wird bei 270 eine Bestimmung gemacht, um festzustellen, dass die nachfolgende Belichtungseinstellung in die Kamera geschrieben worden ist, während das EOF-Signal erklärt worden ist. Wenn die nachfolgende Belichtung innerhalb der Durchstellungszeit geschrieben worden ist, wird ein INTIME-Flag 280 gesetzt. Wenn die nachfolgende Belichtung nicht innerhalb der Durchsetzungszeit geschrieben worden ist, dann wird bei 290 das INTIME-Flag gelöscht.
  • Bei 300 wird eine Bestimmung gemacht, um festzustellen, ob die nächste Belichtung auf eine unbekannte Belichtungskonstante gesetzt ist. Die unbekannte Belichtungskonstante besagt, dass die Belichtung zu spät geschrieben worden sein könnte und daher ist es nötig, der Konstante die nächste Belichtung zuzuordnen, um anzuzeigen, dass die Belichtung unbekannt ist. Wenn die nächste Belichtung auf die unbekannte Belichtungskonstante gesetzt ist, dann ist es nicht nötig, eine nachfolgende Verstärkungseinstellung zu berechnen. Wenn die nachfolgende Belichtung nicht auf die unbekannte Belichtungskonstante gesetzt worden ist, wird bei 310 der Zielkontrast (vom Histogrammverarbeitungsmodul) dividiert durch die Belichtung für das nächste aufzunehmende Bild (beispielsweise nächste Belichtungseinstellung) berechnet. Die nachfolgende (beispielsweise neue) Verstärkungseinstellung wird ihre Wirkung auf das nächste Bild, das aufgenommen wird, entfalten. Da die Belichtung bereits für das nächste Bild gesetzt worden ist, muss die neue Verstärkungseinstellung, basierend auf der nächsten Belichtung, berechnet werden. Nachdem die Verstärkungseinstellung abgeleitet ist, wird ihr Bereich überprüft, um sicherzustellen, dass er innerhalb der Maximum- und Minimumverstärkungseinstellungen gesetzt ist. Wie bereits vorhergehend festgestellt, wird der Verstärkungsbereich innerhalb von 1 bis 4 gesetzt. Bei 320 wird die nachfolgende Verstärkung mit der Maximalverstärkung verglichen. Wenn die nachfolgende Verstärkung den Maximalwert überschreitet, dann wird bei 330 die nachfolgende Verstärkungseinstellung auf die Maximumverstärkungseinstellung gesetzt. Wenn die Verstärkung zu hoch ist, wird Rauschen im Analogbildsignal zu stark verstärkt und ein Bild erzeugt, welches die Zeichenerkennungs- und Kodiermodule möglicherweise nicht in der Lage sind zu verarbeiten. Wenn die nachfolgende Verstärkungseinstellung unterhalb des Maximalwertes ist, dann wird bei 340 die nachfolgende Verstärkungseinstellung mit der Minimumverstärkungseinstellung verglichen. Wenn die nachfolgende Verstärkung unterhalb der Minimumverstärkungseinstellung ist, dann wird bei 350 die nachfolgende Verstärkungseinstellung auf die Minimumverstärkungseinstellung gesetzt. Eine Minimumverstärkungseinstellung ist auf den Wert von eins gesetzt. Wenn einmal die Verstärkungseinstellung innerhalb des erforderlichen Bereichs ist, wird bei 360 dieser in die Bildgebungseinheit geschrieben.
  • Wenn einmal die Verstärkung und Belichtung in die Bildgebungseinheit geschrieben sind, dann wird bei 370 die aktuelle Belichtung auf die nächste Belichtung (beispielsweise die Belichtung, die gesetzt worden ist, als das Modul letztmalig ausgeführt wurde) gesetzt. Dann wird bei 380 eine Bestimmung vorgenommen, um festzustellen, ob die aktuelle Belichtung auf die unbekannte Belichtungskonstante gesetzt ist. Wenn die gegenwärtige Belichtung auf die unbekannte Belichtungskonstante gesetzt ist, dann wird bei 390 der gegenwärtige Kontrast auf die unbekannte Belichtungskonstante gesetzt. Wenn die gegenwärtige Belichtung nicht auf die unbekannt Belichtungskonstante gesetzt ist, dann wird bei 400 der gegenwärtige Kontrast auf das Produkt der gegenwärtigen Belichtung und der nachfolgenden Verstärkung gesetzt.
  • Wenn einmal der gegenwärtige Kontrast gesetzt worden ist, dann wird bei 410 eine Überprüfung gemacht, um sicher zu stellen, dass das INTIME-Flag gesetzt ist. Wenn das INTIME-Flag gesetzt ist, dann wird bei 420 die nächste Belichtung auf die Kamerabelichtung (beispielsweise der Belichtungswert, der in der Bildgebungseinheit gesetzt ist) gesetzt. Wenn das INTIME-Flag nicht gesetzt ist, dann wird bei 430 die nächste Belichtung auf die unbekannte Belichtungskonstante gesetzt.
  • Das Modul bestimmt dann bei 440 ob das nächste Bild ein aufgenommenes Bild ist und, wenn dem so ist, wird bei 450 der aufgenommene Kontrast auf den gegenwärtigen Kontrast gesetzt.
  • Histogrammverarbeitungsmodul
  • Das Histogrammverarbeitungsmodul dient dem Einstellen der Bildgebungseinheiteinstellungen und des Kontrasts, so dass der Weissabgleichwert eines aufgenommenen Bildes innerhalb des optimalen Bereichs für eine Zeichenerkennung und Barcode Dekodierung sein wird. Um dies zu tun, erzeugt das Histogrammverarbeitungsmodul ein Histogramm für ein Bild und nutzt den Kontrast des Bildes und das Histogramm, um einen neuen Kontrast (beispielsweise den Zielkontrast) für das nächste Bild zu bestimmen, so dass das nächste Bild einen Weisswert haben wird, der sich nähert oder innerhalb des Bereichs des Zieloptimalweisswertes sein wird.
  • 4 stellt ein Flussdiagramm der Verarbeitung innerhalb des Histogrammverarbeitungsmoduls entsprechend der vorliegenden Erfindung dar. Bei 500 erfragt der Bilddekodierer ein richtig belichtetes Bild und bei 510 veranlasst dies einen Aufnahmebefehl, der vom Histogrammverarbeitungsmodul an die Bildgebungseinheit-Hardware erlassen wird.
  • Das Histogrammverarbeitungsmodul erhält einen Linien-Interrupt, wenn der Bildkodierer jede n-Linien von Daten erhält. In einer Ausführungsform der Erfindung wird der n-Wert auf 24 gesetzt, obwohl jeder andere Wert für n auch gesetzt werden kann. Bei 520 wartet der Histogrammverarbeitungsfluss auf das Auftreten des Linien-Interrupts und während dieser Zeit kann das Betriebssystem der Bildgebungseinheit anderen Threads oder Tasks erlauben, während der Wartezeit zu laufen. Bei 530 erzeugt das Histogrammverarbeitungsmodul ein Histogramm des Bildes wie es aufgenommen ist. In der n = 24 Ausführung erhält einmal nach jeder 24. Bildlinie das Histogrammverarbeitungsmodul einen Interrupt und es fügt die neuen Daten zu einem laufenden Histogramm der Daten zu.
  • Bei 540 wird eine Bestimmung vorgenommen, ob das Bild vollständig erfasst worden ist. Wenn das Bild nicht vollständig erfasst worden ist, dann kehrt die Histogrammverarbeitung zu 520 zurück und wartet auf das Auftreten des Linien-Interrupt, so dass eine weitere Aktualisierung des Histogramms auftreten kann. Wenn das Bild vollständig und das Histogramm akualisiert worden ist, dann bestimmt bei 550 das Histogrammverarbeitungsmodul den Weisswert des Bildes. Das Histogramm wird durchsucht, um einen Weisswert zu finden, so dass 6,25% der Pixel eine höhere Intensität als der Weisswert haben. Der 6,25 Wert bestimmt den Weisswert für das spezielle Bild. Bei 560 wird bestimmt, ob der Weisswert des Bildes innerhalb eines akzeptablen Dekodierbereichs ist. Wenn der Weisswert innerhalb des akzeptablen Dekodierbereichs ist, dann wird das Bild bei 570 an den Dekodierer zurückgegeben.
  • Wenn der Weisswert ausserhalb des akzeptablen Dekodierbereichs liegt, dann nutzt bei 580 der Histogrammverarbeitungscode den Weisswert, um einen neuen Kontrast zu berechnen, so dass der Weisswert nachkommender Bilder innerhalb des optimalen Bereichs sein wird. Unter Berücksichtigung der linearen Eigenschaften der Verstärkungs- und Belichtungseinstellungen kann der neue Kontrast vom Kontrast und dem Weisswert des aufgenommenen Bildes durch Ausführung einer einfachen linearen Skalierung berechnet werden. Die lineare Skalierung wird durch Berechnung eines Offset-Weisswertes, der gleich dem Weisswert des Bildes, vermindert um ein Schwarzniveau, ausgeführt. Das Schwarzniveau ist der Pixelwert, der von der Bildgebungseinheit zurückgegeben wird, wenn das Bild gar keine Belichtung hat. Zusätzlich wird ein Offset-Ziel berechnet, welches der Zielweisswert, definiert als der optimale Weisswert minus dem Schwarzniveau, ist. In dieser Hinsicht ist der neue Zielkontrast für nachkommende Bilder gleich dem Kontrast des aktuellen Bildes multipliziert mit dem Offset-Zielweisswert dividiert durch den Offset-Weisswert des Bildes (Kontrast des aktuellen Bildes × Offset-Zielwert/Offsetweisswert des aktuellen Bildes = neuer Zielkontrast).
  • Im Fall eines überbelichteten Bildes ist es nicht möglich, eine Linearskalierung zur Bestimmung des neuen Zielweisswertes durchzuführen, weil es auf Grund von Sättigung im Digitalisierer der Bildgebungseinheit nicht möglich ist, den Weisswert des aktuellen Bildes genau zu bestimmen. In diesem Fall wird bestimmt, dass das Bild überbelichtet ist, wenn 6,25% der Pixel einen grösseren als ein Maximalwert haben und wenn es einige Pixel gibt, die eine maximale Belichtung haben. Die Anzahl der maximal belichteten Pixel wird als Argument benutzt, um empirisch eine Funktion abzuleiten, die bestimmt, wie stark der Kontrast nachgestellt werden muss, um ein Bild mit einem Weisswert von 255 zu erhalten.
  • Nachdem die Menge der erforderlichen Kontrastanpassung, um ein Bild mit einem Weisswert von 255 zu erzeugen bestimmt ist, wird dann der Kontrast unter Benutzung der hierin beschriebenen linearen Skalierung berechnet, um dadurch den maximalen Weisswert nach unten auf den Zielweisswert zu justieren und das Resultat dieser Anpassung ist ein neuer Zielkontrast, der bei 590 dem Bildgebungseinheit-Steuermodul mitgeteilt wird.
  • Nachdem das Histogrammverarbeitungsmodul festgestellt hat, dass es ein Bild aufgenommen hat, dessen Weisswert innerhalb des optimalen Weisswertbereichs zur Zeichenerkennung und/oder Dekodierung liegt, benachrichtigt es das Zeichenerkennungs- und Dekodiermodul darüber, dass ein gültiges Bild aufgenommen worden ist. An diesem Punkt kann das Zeichenerkennungs- und Dekodiermodul das Bild aus dem RAM abrufen und seine Verarbeitung an dem Bild durchführen.
  • Dieses Dualmodulschema erlaubt es für die Belichtung, diese während eines spezifischen Zeitintervalls in der Bildgebungseinheit-Bildperiode in die Bildgebungseinheit zu schreiben. Eine Echtzeitantwort kann verwirklicht werden, um mit dem Status der Bildgebungseinheit Schritt zu halten und auf jede Bildsignale von der Bildgebungseinheit zu antworten. Das Bildgebungseinheit-Steuermodul, das die Kamera steuert, ist in einer Interrupt-Serviceroutine oder einer andere Hochprioritätsroutine oder einem Echtzeit-Thread implementiert. Das Histogrammverarbeitungsmodul, das die Berechnung an dem Bild zur Bestimmung, welche Belichtung und Verstärkungseinstellungen benutzt werden sollten, ist in einem Task implementiert. Diese Routine erlaubt dem Modul, welches die intensiven CPU Berechnungen durchführt, auf einem Task-Niveau zu existieren, während das Modul, welches die Bildgebungseinheit steuert und eine Echtzeitantwort verlangt, in einer Interrupt-Serviceroutine existiert, wo es strenge Zeitkriterien erfüllen kann. Das Gesamtresultat ist, dass die Belichtung fliegend angepasst werden kann, um Echtzeitbelichtungseinstellungen zu beeinflussen, die das aktuell aufgenommene Bild wiedergibt.
  • Viele Modifikationen und andere Ausführungsformen der Erfindung werden dem Fachmann auf dem Gebiet, zu welchem die Erfindung gehört und welcher den Nutzen aus den Lehren, die in der vorangehenden Beschreibungen und den dazu gehörigen Zeichnungen präsentiert sind, zieht, in den Sinn kommen. Daher ist es so verstanden, dass die Erfindung nicht auf die offenbarten spezifischen Ausführungsformen begrenzt ist, und dass Modifikationen und andere Ausführungsformen vorgesehen sind, innerhalb des Bereichs der abhängigen Ansprüche miteingeschlossen zu sein.

Claims (10)

  1. Ein Verfahren zur Belichtungskontrolle in einem multidimensionalen Bildaufnahmegerät (10); das Verfahren weist auf: Erzeugung eines Bildende-Signals in einer Bildgebungseinheit (20); in einem Zentralprozessor Ausführung eines ersten Moduls (40), welches Belichtungs- und Verstärkungseinstellungen in der Bildgebungseinheit (20) in Reaktion. auf das Bildende-Signal steuert; Erzeugung einer aufgenommenen Kontrasteinstellung im ersten Modul (40), wobei Kontrast als Produkt der Belichtungseinstellung und der Verstärkungseinstellung definiert ist; im Zentralprozessor Ausführung eines zweiten Moduls (50), das eine Zielkontrasteinstellung in Reaktion auf das Bildende-Signal, die aufgenommene Kontrasteinstellung und die gespeicherten Bilddaten berechnet; im ersten Modul (40) Erzeugung einer nachfolgenden Belichtungs- und Verstärkungseinstellung für die Bildgebungseinheit (20) in Antwort auf die Zielkontrasteinstellung; und Implementierung der nachfolgenden Belichtungs- und Verstärkungseinstellung in der Bildgebungseinheit (20).
  2. Das Verfahren nach Anspruch 1, wobei der Zentralprozessor zusätzlich für die Ausführung wenigstens eines Bildaufnahmegerät-Anwendungsprogramms verantwortlich ist.
  3. Das Verfahren nach Anspruch 1, wobei der Zentralprozessor zusätzlich für die Ausführung eines Bildaufnahmegerät-Betriebssystems verantwortlich ist.
  4. Das Verfahren nach Anspruch 1, wobei der Zentralprozessor zusätzlich für die Ausführung wenigstens eines Bildaufnahmegerät-Anwendungsprogramms und eines Bildaufnahmegerät-Betriebssystems verantwortlich ist.
  5. Das Verfahren nach Anspruch 1, wobei in einem Zentralprozessor die Ausführung eines ersten Moduls (40), das die Belichtungs- und Verstärkungseinstellungen in der Bildgebungseinheit (20) in Antwort auf das Bildsignal steuert, weiterhin eine Ausführung des ersten Moduls (40) in einer Hochprioritäts-Threadroutine umfasst.
  6. Das Verfahren nach Anspruch 1, wobei in einem Zentralprozessor die Ausführung eines ersten Moduls (40), das die Belichtungs- und Verstärkungseinstellungen in der Bildgebungseinheit (20) in Antwort auf das Bildsignal steuert, weiterhin eine Ausführung des ersten Moduls (40) in einer Hochprioritäts-Taskroutine umfasst.
  7. Das Verfahren nach Anspruch 1, wobei in einem Zentralprozessor die Ausführung eines ersten Moduls (40), das die Belichtungs- und Verstärkungseinstellungen in der Bildgebungseinheit (20) in Antwort auf das Bildsignal steuert, weiterhin eine Ausführung des ersten Moduls (40) in einer Interrupt-Serviceroutine umfasst.
  8. Das Verfahren nach Anspruch 1, wobei in dem Zentralprozessor die Ausführung eines zweiten Moduls (50), das eine Zielkontrasteinstellung in Antwort auf das Bildsignal und die aufgenommene Kontrasteinstellung berechnet, weiter eine Ausführung des zweiten Moduls (50) in einer Niederprioritäts-Threadroutine umfasst.
  9. Das Verfahren nach Anspruch 1, wobei in dem Zentralprozessor die Ausführung eines zweiten Moduls (50), das eine Zielkontrasteinstellung in Antwort auf das Bildsignal und die aufgenommenen Kontrasteinstellungen berechnet, weiter eine Ausführung des zweiten Moduls (50) in einer Niederprioritäts-Taskroutine umfasst.
  10. Das Verfahren nach Anspruch 1, wobei in dem Zentralprozessor die Ausführung eines zweiten Moduls (50), das eine Zielkontrasteinstellung in Antwort auf das Bildende-Signal und die aufgenommenen Kontrasteinstellungen berechnet, weiterhin eine Implementierung einer Histogrammverarbeitung zur Berechnung einer Zielkontrasteinstellung umfasst.
DE60123088T 2000-09-30 2001-09-28 Verahren zur automatischen belichtungssteuerung Expired - Fee Related DE60123088T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US903300 1986-09-03
US23706300P 2000-09-30 2000-09-30
US237063P 2000-09-30
US09/903,300 US7148923B2 (en) 2000-09-30 2001-07-11 Methods and apparatus for automatic exposure control
PCT/US2001/030605 WO2002029707A2 (en) 2000-09-30 2001-09-28 Methods and apparatus for automatic exposure control

Publications (2)

Publication Number Publication Date
DE60123088D1 DE60123088D1 (de) 2006-10-26
DE60123088T2 true DE60123088T2 (de) 2007-03-08

Family

ID=26930352

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60123088T Expired - Fee Related DE60123088T2 (de) 2000-09-30 2001-09-28 Verahren zur automatischen belichtungssteuerung

Country Status (7)

Country Link
US (1) US7148923B2 (de)
EP (1) EP1323119B1 (de)
JP (1) JP4387668B2 (de)
AT (1) ATE339735T1 (de)
AU (1) AU2001296429A1 (de)
DE (1) DE60123088T2 (de)
WO (1) WO2002029707A2 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7852519B2 (en) 2007-02-05 2010-12-14 Hand Held Products, Inc. Dual-tasking decoder for improved symbol reading
US8628015B2 (en) 2008-10-31 2014-01-14 Hand Held Products, Inc. Indicia reading terminal including frame quality evaluation processing

Families Citing this family (59)

* 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
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
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
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
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
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
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
FI109391B (fi) * 2000-12-08 2002-07-15 Nokia Corp Menetelmä ja laite tiedonsiirtoon
US7271817B2 (en) * 2001-05-11 2007-09-18 Thomson Licensing Aspect ratio conversion for imagers having random row access
GB0216889D0 (en) * 2002-07-20 2002-08-28 Univ Surrey Image control
FI116246B (fi) * 2003-06-30 2005-10-14 Nokia Corp Menetelmä ja järjestelmä digitaalisessa kuvannuksessa valotuksen säätämiseksi ja vastaava laite
US8326084B1 (en) * 2003-11-05 2012-12-04 Cognex Technology And Investment Corporation System and method of auto-exposure control for image acquisition hardware using three dimensional information
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
US20060011724A1 (en) * 2004-07-15 2006-01-19 Eugene Joseph Optical code reading system and method using a variable resolution imaging sensor
US7281659B2 (en) * 2004-11-03 2007-10-16 Psion Teklogix Systems Inc. Self-optimizing symbology reader
US20060100560A1 (en) * 2004-11-05 2006-05-11 Robert Gilmour Adjustable knee brace
FI20045445A0 (fi) * 2004-11-18 2004-11-18 Nokia Corp Menetelmä, laitteisto, ohjelmisto ja järjestely kuvadatan muokkaamiseksi
US7568628B2 (en) 2005-03-11 2009-08-04 Hand Held Products, Inc. Bar code reading device with global electronic shutter control
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
US7611060B2 (en) 2005-03-11 2009-11-03 Hand Held Products, Inc. System and method to automatically focus an image reader
US7770799B2 (en) 2005-06-03 2010-08-10 Hand Held Products, Inc. Optical reader having reduced specular reflection read failures
US20070002163A1 (en) * 2005-06-29 2007-01-04 Dariusz Madej Imager settings
US7546026B2 (en) * 2005-10-25 2009-06-09 Zoran Corporation Camera exposure optimization techniques that take camera and scene motion into account
EP1791074B1 (de) * 2005-11-28 2009-03-18 STMicroelectronics (Research & Development) Limited Belichtungseinstellung in einem Maschinenvisionssystem
US7728829B2 (en) * 2006-01-13 2010-06-01 Hewlett-Packard Development Company, L.P. Display system
US7697836B2 (en) 2006-10-25 2010-04-13 Zoran Corporation Control of artificial lighting of a scene to reduce effects of motion in the scene on an image being acquired
JP2008153737A (ja) * 2006-12-14 2008-07-03 Toshiba Corp 映像信号処理装置および映像信号処理方法
WO2008075136A1 (en) * 2006-12-20 2008-06-26 Nokia Corporation Exposure control based on image sensor cost function
US7775431B2 (en) 2007-01-17 2010-08-17 Metrologic Instruments, Inc. Method of and apparatus for shipping, tracking and delivering a shipment of packages employing the capture of shipping document images and recognition-processing thereof initiated from the point of shipment pickup and completed while the shipment is being transported to its first scanning point to facilitate early customs clearance processing and shorten the delivery time of packages to point of destination
US8794526B2 (en) 2007-06-04 2014-08-05 Hand Held Products, Inc. Indicia reading terminal processing plurality of frames of image data responsively to trigger signal activation
CN101472076B (zh) * 2007-12-28 2010-09-29 鸿富锦精密工业(深圳)有限公司 影像拍摄装置及其拍摄控制方法
US8482620B2 (en) 2008-03-11 2013-07-09 Csr Technology Inc. Image enhancement based on multiple frames and motion estimation
US7926721B2 (en) 2008-03-26 2011-04-19 Hand Held Products, Inc. Processing scheme for an indicia reader
US8083148B2 (en) * 2008-12-16 2011-12-27 Hand Held Products, Inc. Indicia reading terminal including frame processing
US8295601B2 (en) * 2009-08-12 2012-10-23 Hand Held Products, Inc. Indicia reading terminal having multiple exposure periods and methods for same
US8373108B2 (en) * 2009-08-12 2013-02-12 Hand Held Products, Inc. Indicia reading terminal operative for processing of frames having plurality of frame featurizations
US20110080500A1 (en) * 2009-10-05 2011-04-07 Hand Held Products, Inc. Imaging terminal, imaging sensor having multiple reset and/or multiple read mode and methods for operating the same
US8434686B2 (en) 2010-01-11 2013-05-07 Cognex Corporation Swipe scanner employing a vision system
US20110186639A1 (en) * 2010-02-04 2011-08-04 Metrologic Instruments, Inc. Contact aperture for imaging apparatus
CN103201752B (zh) * 2010-11-10 2017-02-08 数据逻辑Adc公司 自适应数据读取器和操作方法
US8387881B2 (en) 2010-12-01 2013-03-05 Hand Held Products, Inc. Terminal with screen reading mode
US10311424B2 (en) 2010-12-09 2019-06-04 Hand Held Products, Inc. Indicia encoding system with integrated purchase and payment information
US8646692B2 (en) 2011-09-30 2014-02-11 Hand Held Products, Inc. Devices and methods employing dual target auto exposure
US8629926B2 (en) 2011-11-04 2014-01-14 Honeywell International, Inc. Imaging apparatus comprising image sensor array having shared global shutter circuitry
US8857719B2 (en) 2012-01-15 2014-10-14 Symbol Technologies, Inc. Decoding barcodes displayed on cell phone
DE102012201798A1 (de) 2012-02-07 2013-08-08 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Planung einer Röntgenbildgebung mit geringer Strahlenbelastung
US8978984B2 (en) 2013-02-28 2015-03-17 Hand Held Products, Inc. Indicia reading terminals and methods for decoding decodable indicia employing light field imaging
US9476823B2 (en) 2013-07-23 2016-10-25 General Electric Company Borescope steering adjustment system and method
US10359620B2 (en) 2013-07-23 2019-07-23 General Electric Company Borescope steering adjustment system and method
CN104519282A (zh) * 2014-12-09 2015-04-15 小米科技有限责任公司 图像拍摄方法及装置
US9723218B2 (en) 2014-12-09 2017-08-01 Xiaomi Inc. Method and device for shooting a picture
US9594936B1 (en) 2015-11-04 2017-03-14 Datalogic Usa, Inc. System and method for improved reading of data from reflective surfaces of electronic devices
US10154234B2 (en) 2016-03-16 2018-12-11 Omnivision Technologies, Inc. Image sensor with peripheral 3A-control sensors and associated imaging system
US10244180B2 (en) 2016-03-29 2019-03-26 Symbol Technologies, Llc Imaging module and reader for, and method of, expeditiously setting imaging parameters of imagers for imaging targets to be read over a range of working distances
US9646188B1 (en) * 2016-06-02 2017-05-09 Symbol Technologies, Llc Imaging module and reader for, and method of, expeditiously setting imaging parameters of an imager based on the imaging parameters previously set for a default imager
US10742866B2 (en) 2016-09-30 2020-08-11 Microsoft Technology Licensing, Llc Universal serial bus (USB) video extension
KR102070745B1 (ko) * 2017-07-05 2020-01-29 선전 구딕스 테크놀로지 컴퍼니, 리미티드 지문 수집 방법, 장치, 다이 및 단말 장치
US10452885B1 (en) * 2018-04-17 2019-10-22 Zebra Technologies Corporation Optimized barcode decoding in multi-imager barcode readers and imaging engines

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4324474A (en) * 1980-05-21 1982-04-13 Terminal Data Corporation Microfilming system
US5892971A (en) * 1986-08-08 1999-04-06 Norand Corporation Portable data processing device having an indicia reader and a multi-tasking operating system capable of executing battery monitoring instructions while concurrently executing application programs
US5834753A (en) 1986-08-08 1998-11-10 Norand Corporation Laser scanner module having integral interface with hand-held data capture terminal proximity and label sensing, and enhanced sensitivity and power efficiency
US5227614A (en) * 1986-08-15 1993-07-13 Norand Corporation Core computer processor module, and peripheral shell module assembled to form a pocket size data capture unit
JP3097146B2 (ja) * 1991-02-28 2000-10-10 ソニー株式会社 露光制御回路
WO1993003455A1 (en) * 1991-08-02 1993-02-18 Intermec Corporation Method and apparatus for scanning symbols
US5702059A (en) * 1994-07-26 1997-12-30 Meta Holding Corp. Extended working range dataform reader including fuzzy logic image control circuitry
US5815200A (en) * 1994-07-26 1998-09-29 Metanetics Corporation Extended working range dataform reader with reduced power consumption
US6019286A (en) 1995-06-26 2000-02-01 Metanetics Corporation Portable data collection device with dataform decoding and image capture capability
US6062475A (en) * 1997-06-25 2000-05-16 Metanetics Corporation Portable data collection device including color imaging dataform reader assembly
US6836288B1 (en) * 1999-02-09 2004-12-28 Linvatec Corporation Automatic exposure control system and method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7852519B2 (en) 2007-02-05 2010-12-14 Hand Held Products, Inc. Dual-tasking decoder for improved symbol reading
US8628015B2 (en) 2008-10-31 2014-01-14 Hand Held Products, Inc. Indicia reading terminal including frame quality evaluation processing
US9323969B2 (en) 2008-10-31 2016-04-26 Hand Held Products, Inc. Indicia reading terminal including frame quality evaluation processing
US9990520B2 (en) 2008-10-31 2018-06-05 Hand Held Products, Inc. Indicia reading terminal including frame quality evaluation processing
US10296770B2 (en) 2008-10-31 2019-05-21 Hand Held Products, Inc. Indicia reading terminal including frame quality evaluation processing

Also Published As

Publication number Publication date
US7148923B2 (en) 2006-12-12
JP4387668B2 (ja) 2009-12-16
EP1323119A2 (de) 2003-07-02
JP2004511015A (ja) 2004-04-08
WO2002029707A3 (en) 2002-06-27
US20020039137A1 (en) 2002-04-04
ATE339735T1 (de) 2006-10-15
WO2002029707A2 (en) 2002-04-11
WO2002029707A9 (en) 2003-02-20
AU2001296429A1 (en) 2002-04-15
EP1323119B1 (de) 2006-09-13
DE60123088D1 (de) 2006-10-26

Similar Documents

Publication Publication Date Title
DE60123088T2 (de) Verahren zur automatischen belichtungssteuerung
DE69524569T2 (de) Datenformleser und -verfahren
DE69834918T2 (de) Anordnung zur automatischen Erfassung und Verarbeitung von optischen Codes
DE69838714T2 (de) Optische abtastvorrichtung und bildleser zum bildlesen und dekodieren optischer informationen mit ein- und zweidimensionalen symbolen bei veränderlicher tiefenschärfe
DE69629930T2 (de) Verfahren zum Festlegen eines auf einem Objekt angebrachten optischen Codes
DE69523277T2 (de) Einzelbilderzeugungssystem mit automatischer belichtungsregelung
DE69932250T2 (de) Optische symbolanzeige
DE60034562T2 (de) Ein System zur automatischen Bildanalyse von DNA Mikroarrays
DE69522863T2 (de) Elektrooptische Abtastvorrichtung und Verfahren zum Lesen von Kennzeichen
DE69834053T2 (de) Ccd-basierter bar-kode-scanner
DE102008060141B4 (de) Verfahren zur Vermessung des Wachstums von Blattscheiben sowie eine dazu geeignete Vorrichtung
DE102019119985A1 (de) System und verfahren zum autofokussieren einer sichtsystemkamera auf barcodes
DE602004011145T2 (de) Vorrichtung und Verfahren zum Lesen von optischen Informationen
DE102017106509A1 (de) Abbildungsmodul und Lesegerät und Verfahren zum zügigen Einstellen von Abbildungsparameters von Abbilden zum Abbilden von über einem Bereich von Arbeitsabständen zu lesenden Zielen
DE3783974T2 (de) Optischer buchstabenleser.
DE202019005888U1 (de) Vorrichtung zur Dekodierung mehrerer Symboltypen
DE102013112040A1 (de) System und Verfahren zum Auffinden von sattelpunktartigen Strukturen in einem Bild und Bestimmen von Informationen daraus
DE2829808A1 (de) Verfahren und vorrichtung zum lesen von zeichen
DE112019003593T5 (de) Verfahren und vorrichtung zur kalibrierung einer client-rechenvorrichtung zur dekodierung von symbolen
DE112019002006T5 (de) Dekodieren eines bestimmten strichcodes im sichtfeld eines strichcodelesers
DE69825090T2 (de) Bilderfassungsverfahren und Vorrichtung
DE69321881T2 (de) Vorrichtung zum Lesen von Strichkoden
DE69901030T2 (de) Bildverarbeitungs-inspektionsgerät
DE112020005390T5 (de) Systeme und verfahren zur benutzerauswahl eines strichcode-scanbereichs
DE102019110076A1 (de) Optimierte strichcode-dekodierung in mehrfachbildgeberstrichcodelesegeräten und bildgebungsmaschinen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee