DE69924324T2 - Erkennungsverfahren und Erkennungsgerät für eine zweidimensionale Kodierung, und Speichermedium - Google Patents

Erkennungsverfahren und Erkennungsgerät für eine zweidimensionale Kodierung, und Speichermedium Download PDF

Info

Publication number
DE69924324T2
DE69924324T2 DE69924324T DE69924324T DE69924324T2 DE 69924324 T2 DE69924324 T2 DE 69924324T2 DE 69924324 T DE69924324 T DE 69924324T DE 69924324 T DE69924324 T DE 69924324T DE 69924324 T2 DE69924324 T2 DE 69924324T2
Authority
DE
Germany
Prior art keywords
code
binary data
dimensional code
reference cell
data
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
DE69924324T
Other languages
English (en)
Other versions
DE69924324D1 (de
Inventor
Keigo Ihara
Junichi Rekimoto
Shinji Nakajima
Takahiko Sueyoshi
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of DE69924324D1 publication Critical patent/DE69924324D1/de
Application granted granted Critical
Publication of DE69924324T2 publication Critical patent/DE69924324T2/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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06131Constructional details the marking comprising a target pattern, e.g. for indicating the center of the bar code or for helping a bar code reader to properly orient the scanner or to retrieve the bar code inside of an image
    • 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/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • 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/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image

Description

  • Die vorliegende Erfindung betrifft ein Zweidimensionalcode-Erkennungsverarbeitungsverfahren, ein Zweidimensionalcode-Erkennungsverarbeitungsgerät und ein Speichermedium.
  • Das sogenannte Strichcodesystem wird auf verschiedenen industriellen Gebieten extensiv benutzt. Das System umfasst eine Codierung von Arten und Beschaffenheiten von Gütern und Artikeln darstellenden alphanumerischen Zeichen in Strichen und typischerweise ein Anbringen solcher Codes an den Gütern und Produkten, so dass die Codes später zur Wiedergewinnung relevanter Information (beispielsweise über ihre Arten und Beschaffenheiten) abgetastet werden können.
  • 20 zeigt einen sogenannten eindimensionalen Strichcode. Bei diesem Beispiel ist ein Strichcode-Etikett 500 aus einem Codeteil 501 und einem ID-Teil 502 (ID = identification number (Identifikationsnummer)) gebildet. Der Codeteil 501 ist eine Kombination aus verschiedenen Breiten von Strichen (in schwarz) und Strich-zu-Strich-Spalten (Leerräumen). Der ID-Teil 502 zeigt einen im Codeteil 501 enthaltenen Code an. Insbesondere zeigt der ID-Teil 502 lesbare alphanumerische Informationszeichen an, die im Codeteil 501 codiert sind. Diese Art von eindimensionalem Strichcode 500 wird von einem als Strichcode-Abtaster bezeichneten optischen Erkennungsgerät zur Erkennung abgetastet.
  • Ein Weg zum Lesen des oben beschriebenen eindimensionalen Strichcodes 500 führt über die Benutzung einer CCD-Videokamera. Da zur Aufnahme wachsender Mengen codierter Information mehr und mehr Striche angeordnet werden, wird es für die Videokamera jedoch zunehmend schwieriger, solche eindimensionalen Strichcodes 500 richtig zu lesen.
  • Die Schwierigkeit beim Erfassen großer Mengen von Strichcodeinformation mit der Videokamera wird beispielsweise mit einem zweidimensionalen Codesystem umgangen, das zum Ersetzen des eindimensionalen Strichcodes vorgeschlagenen wurde. Wie in der 21 gezeigt, sind verschiedene Arten von zweidimensionalen Codes vorgeschlagen worden, wobei jeder Code einen Codeteil 601 und einen ID-Teil 602 aufweist. Der Codeteil 601 weist mehrere schwarze viereckige Zellen auf, die entsprechend vorbestimmten Anordnungsregeln zweidimensional angeordnet sind. Der ID-Teil 602 zeigt einen Code an, der im Codeteil 601 enthalten ist.
  • Wenn die Information zweidimensional codiert wird, werden größere Mengen von Information dargestellt, als wenn der eindimensionale Code 500 benutzt wird. In anderen Worten ist es für die Videokamera leichter, große Mengen von Information zu lesen, wenn die Information eher zweidimensional als eindimensional codiert ist.
  • Der zweidimensionale Code 600 weist einen Nachteil auf. Das bedeutet, dass, wenn die Videokamera ein Bild eines zweidimensionalen Codes 600 zur Codeerkennung aufnimmt, es oft schwierig ist, den Code von Verschmierung, Schmutz oder anderen verwirrenden Bildern, die in der Nähe sind, zu unterscheiden. Das Resultat ist, dass es oft schwierig ist, Codedaten genau zu erkennen.
  • Wie beim eindimensionalen Strichcode 500 weist der oben erwähnte zweidimensionale Code 600 den ID-Teil 601 auf, der den in Frage stehenden Code in einem durch den Menschen lesbaren Format wie beispielsweise das aus alphanumerischen Zeichen anzeigt. Beim zweidimensionalen Code 600 ist es jedoch nicht möglich, genau zu erkennen, was der Code 600 bedeutet, zu welchem Codesystem der Code 600 möglicherweise gehören kann oder gemäss welchen Anordnungsregeln die den Code bildenden viereckigen Zellen zweidimensional angeordnet sind.
  • Aus dem US-Patent Nr. US-A-4 939 354 geht eine Zweidimensionalcode-Erkennungsverarbeitungstechnik gemäß dem Oberbegriff der Ansprüche 1 und 12 hervor.
  • Die vorliegende Erfindung stellt ein Zweidimensionalcode-Erkennungsverarbeitungsverfahren und -gerät gemäß Anspruch 1 und Anspruch 12 bereit.
  • Ausführungsformen der Erfindung betreffen ein Zweidimensionalcode-Erkennungsverarbeitungsverfahren, ein Zweidimensionalcode-Erkennungsverarbeitungsgerät und ein Speichermedium, das einem Computer ermöglicht, ein Zweidimensionalcode-Erkennungsverarbeitungsprogramm auszuführen, wobei das Verfahren und Gerät eine effiziente und genaue Erkennung von Codedaten auf der Basis von Bilddaten eines geeignet erfassten zweidimensionalen Codes bereitstellt.
  • Ausführungsformen der vorliegenden Erfindung beseitigen die obigen und andere Nachteile des Standes der Technik und stellen ein Gerät und ein Verfahren zur effizienten und genauen Erkennung von Codedaten aus zweidimensionale Codes darstellenden Bilddaten bereit.
  • Wie oben umrissen wurde, werden durch die Benutzung des erfindungsgemäßen Zweidimensionalcode-Erkennungsverarbeitungsverfahrens, Zweidimensionalcode-Erkennungsverarbeitungsgeräts und Speichermediums, das ein Zweidimensionalcode-Erkennungsverarbeitungsprogramm speichert, aus extern gewonnener Bildinformation entsprechend einem vorbestimmten Schwellenwert Binärdaten erzeugt. Von den so erzeugten Binärdaten wird eine Referenzzelle detektiert, wobei die Referenzzelle bei der Erkennung eines zweidimensionalen Codes als eine Referenz dient. Von innerhalb eines vorbestimmten Suchbereichs werden in Bezug auf die Referenzzelle Eckzellen detektiert. Dann werden Codedaten detektiert, die dem zweidimensionalen Code zugeordnet sind, der in einem Bereich eines Codeteils existiert, der von der Referenzzelle und den Eckzellen eingeschlossen ist.
  • Die Erfindung wird nun anhand der beigefügten Zeichnungen beispielhaft beschrieben, in denen durchwegs gleiche Teile mit gleichen Bezugszeichen bezeichnet sind und in denen:
  • 1 eine schematische Darstellung ist, die einen Personalcomputer 1 zeigt, bei dem die Erfindung angewendet ist;
  • 2 eine Erläuterungsdarstellung von Zweidimensionalcodespezifikationen ist;
  • 3 eine andere Erläuterungsdarstellung von Zweidimensionalcodespezifikationen ist;
  • 4 eine andere Erläuterungsdarstellung von Zweidimensionalcodespezifikationen ist;
  • 5A bis 5D Darstellungen sind, die typische zweidimensionale Codes zeigen;
  • 6 eine perspektivische Darstellung eines tragbaren Personalcomputers ist, bei dem die Erfindung angewendet ist, wobei sein Anzeigeteil fort von seinem Körper nach oben geschwenkt ist;
  • 7 eine Draufsicht des Computers nach 1 ist;
  • 8 eine linke Seitenansicht des Computers nach 1 ist, wobei sein Anzeigeteil auf den Körper geschwenkt ist, um ihn zu schließen;
  • 9 eine rechte Seitenansicht des Computers nach 1 ist, wobei sein Anzeigeteil relativ zu seinem Körper um 180 Grad offengeschwenkt ist;
  • 10 eine Vorderansicht des Computers nach 3 ist;
  • 11 eine Ansicht von unten des Computers nach 4 ist;
  • 12 ein Blockschaltbild ist, das eine typische elektrische Schaltungsstruktur des Computers nach 1 zeigt;
  • 13 (gezeichnet als 13A und 13B) ein Flussdiagramm von Schritten ist, das ein Zweidimensionalcode-Erkennungsverfahren bildet;
  • 14 eine Erläuterungsdarstellung ist, die Schwellenwerteinstellungen zeigt;
  • 15 eine schematische Darstellung ist, die zeigt, wie Schwarzpixelaneinandergrenzgebiete etikettiert werden;
  • 16 ein Flussdiagramm von Schritten ist, die ein Logomarkenzellenteil-Detektionsverfahren bilden;
  • 17 eine Erläuterungsdarstellung ist, die zeigt, wie Seiten AT und BT erhalten werden;
  • 18 ein Flussdiagramm von Schritten ist, die ein Codeteil-Detektionsverfahren bilden;
  • 19 ein Flussdiagramm von Schritten ist, die ein Codedaten-Verifikationsverfahren bilden;
  • 20 eine schematische Darstellung eines typischen eindimensionalen Strichcodes ist; und
  • 21 eine schematische Darstellung eines typischen zweidimensionalen Codes ist.
  • Bevorzugte Ausführungsformen dieser Erfindung werden unten beschrieben. Als die Erfindung bildend beanspruchte Einrichtungen und Schritte werden, wo es passend ist, unten unter Benutzung spezieller Beispiele in Klammern beschrieben. Jedoch dienen solche Besonderheiten nur zu Darstellungszwecken und schränken die Erfindung nicht ein.
  • 1 zeigt einen Personalcomputer 1, bei dem die Erfindung angewendet ist. Bei diesem Beispiel ist ein Objekt 100 beispielsweise ein Visitenkarten-ähnliches Objekt. Auf dem Objekt 100 ist ein Zweidimensionalcode-Etikett 100 angebracht (beispielsweise aufgedruckt).
  • Wie in 2 dargestellt, ist das Zweidimensionalcode-Etikett 101 aus mehreren viereckigen Zellen (schwarze Abschnitte) gebildet, die entsprechend vorbestimmten Anordnungsregeln zweidimensional angeordnet sind. Ein solches Anordnungsmuster der Zellen stellt in codierter Form alphanumerische Zeichen wie die Zahl 200 bei diesem Beispiel dar.
  • Der zweidimensionale Code wird nun detaillierter beschrieben. Das Zweidimensionalcode-Etikett 101 weist einen Logomarkenteil 201 und einen Codeteil 202 auf. Die zwei Teile als Ganzes sind in einem Bereich ausgebildet, der aus sieben Blöcken (jeder Block stellt einen rechteckigen Bereich einer einzelnen viereckigen Zelle dar) in der X-Achsenrichtung und 9,5 Blöcke in der Y-Achsenrichtung besteht. Dieser Bereich ist als der 7 × 9,5-Blockbereich definiert, und eine derartige Definition wird auch nachstehend benutzt.
  • Wie in 3 dargestellt, ist der Logomarkenteil 201 aus einem Logomarkenzellenteil 301 und einem Nichtzellenteil 302 gebildet. Der Logomarkenzellenteil 301 bildet einen rechteckigen 7 × 1,5-Blockbereich, der, wenn gedruckt, Leerräume belässt, die eine Logomarke, Buchstaben, Zahlen und andere lesbare Zeicheninformation, die dem zweidimensionalen Code zugeordnet sind, darstellen.
  • Beispielsweise bildet das an das Zweidimensionalcodesystem angebrachte „CyberCode" eine typische Logomarke. Eine solche Information, die angibt, was der in Frage stehende zweidimensionale Code bedeutet, ist in Leerzeichen gegeben, die eine durch Menschen lesbare Marke bilden.
  • Der Logomarkenteil 301 ist nicht nur auf das Ausdrücken von Logomarken beschränkt. Beispielsweise kann der Teil den Namen einer Gesellschaft darstellen, die das Zweidimensionalcodesystem entwickelte und für die diese Anmelderin arbeitet. Der Logomarkenteil kann auch einen URL (Uniform Resource Locator) ausdrücken, der anzeigt, wo Informationsressourcen in Verbindung mit dem Zweidimensionalcodesystem lokalisiert sind. Der URL ist ein Verfahren zur eindeutigen Bezeichnung von Stellen, wo Dateien und andere Informationsressourcen in einer verteilten Weise auf dem Internet gespeichert sind.
  • Wenn wie beschrieben der rechteckige Logomarkenzellenteil 301 in einem typische Logomarkenformat anzeigt, was der zweidimensionale Code bedeutet, können diejenigen, die an der Logomarke interessiert sind, auf Information über die Logomarke bei relevanten Homepages und anderen Orten auf dem Internet Zugriff gewinnen und diese erfassen.
  • Beispielsweise steht zur Zeit der Einreichung dieser Anmeldung die folgende Beschreibung von der von dieser Anmelderin angebotenen Homepage zur Verfügung bei (URL):
    http://www.sony.co.jp/sd/ProductsPark/Consumer/PCOM/PCGC1CAT/cybercode.html.
  • „Was wir „CyberCode" nennen, ist Sony's alleiniges zweidimensionales Codesystem, das etwa 16,77 Millionen verschiedene Muster (in 24 Bits) anbietet. Von diesen Mustern können etwa eine Million Muster (in 20 Bits) als für Programmhochfahrzwecke gewünschte registriert werden. Die verbleibenden Codemuster sind für zukünftige Diensterweiterungen reserviert. „CyberCode" arbeitet als ein Index für das, was durch den in Frage stehenden Code dargestellt ist, wobei der Index ermöglicht, dass relevante Information vom Computerspeicher wiedergewonnen wird. Wenn ein Benutzer ein Programm durch das neue Schnittstellenmerkmal „CyberCode Finder" startet, empfindet der Benutzer, dass die korrespondierende Information von dem das „CyberCode" aufweisenden Objekt auf den Computerschirm springt.
  • Bei dem wie in 3 gezeigten Logomarkenzellenteil 301 weist ein 7 × 1-Blockbereich auf der Seite des Codeteils 202 den keine Zelle enthaltenden Nichtzellenteil 302 auf. Die Hauptachse des Logomarkenzellenteils 301 wird als eine Seite A (in der X-Achsenrichtung in 2) bezeichnet, und ihre kleine Achse wird als eine Seite B (in der Y-Achsenrichtung in 2) bezeichnet.
  • Wie in 4 gezeigt, weist der Codeteil 202 eine obere linke Eckzelle und eine obere rechte Eckzelle auf. Bei dem abwärts orientierten bzw. unten angeordneten Logomarkenzellenteil 301 ist die obere linke Eckzelle sieben Blöcke über dem am weitesten links liegenden Rand des Logomarkenzellenteils 301 angeordnet, die rechte obere Eckzelle befindet sich sieben Blöcke über dem am weitesten rechts liegenden Rand des Logomarkenzellenteils 301. Außerdem ist eine untere linke Eckzelle einen einzelnen Block über dem am weitesten links liegenden Rand des Logomarkenzellenteils 301 angeordnet, und eine untere rechte Eckzelle befindet sich einen einzelnen Block über dem am weitesten rechts liegenden Rand des Logomarkenzellenteils 301. Die obere linke, obere rechte, untere linke und untere rechte Eckzelle werden gemeinsam als die Eckzellen bezeichnet, wenn sie nicht speziell voneinander unterschieden werden müssen.
  • Ein jede Eckzelle angrenzend umgebender Dreiblockbereich weist keine Zellen auf. In anderen Worten sind die Eckzellen als die Zellen definiert, die wie beschrieben, relativ zum Logomarkenzellenteil 301 angeordnet sind, wobei jede Zelle keine Zellen in dem sie umgebenden Dreiblockbereich aufweist.
  • Wenn ein einzelner Block mit einem einzelnen Bit korrespondierend angenommen wird, wird der Codeteil 202 als 49 Bits an Information (7 × 7 Blöcke = 49 Blöcke) in codierter Form darstellend angenommen. Jedoch bilden jede Eckzelle (jeweils 1 Block) und der sie umgebende Dreiblockbereich keine wie oben erwähnten Daten. Das heißt, es wird eine Gesamtsumme von 16 Blöcken im Codeteil 202 nicht dazu benutzt, Daten zu bilden. Von den verbleibenden 33 Blöcken (33 Bits) bilden neun Blöcke (9 Bits) Prüfdaten zu einer Prüfung, um zu sehen, wann gegebene Codedaten korrekt sind. Infolgedessen weist der Codeteil 202 tatsächlich 24 Bits von Information in codierter Form auf.
  • Die 5A bis 5D zeigen typische zweidimensionale Codes. Die Codeteile 202 von Zweidimensionalcode-Etiketten 101 in 5A zeigen Codedaten, die ID-Nummern 200, 201, 202, 203, 1500, 1501, 1502 und 1503 in codierter Form anzeigen. In einem ID-Teil 203 unter jedem Logomarkenzellenteil 301 befindet sich eine mit einer codierte ID-Nummer korrespondierende gedruckte Nummer.
  • Bei 5B weist jeder Logomarkenzellenteil 301 des Zweidimensionalcode-Etikettes 101 eine als Leerzeichen gedruckte Logomarke auf.
  • 5C lässt eine mit der ID-Nummer im ID-Teil 203 jedes Zweidimensionalcode-Etikettes 101 korrespondierende Nummer fort.
  • Bei 5D weist jeder Logomarkenzellenteil 301 eine mit der ID-Nummer korrespondierende Nummer auf, die als Leerzeichen gedruckt ist. Die Logomarke ist im ID-Teil 203 in schwarz gedruckt.
  • Die Codeteile 202 der Zweidimensionalcode-Etiketten 101 nach den 5A bis 5D sind alle entsprechend den gleichen Spezifikationen präpariert.
  • Der oben erwähnte Logomarkenzellenteil 301 ist durch einen rechteckigen Bereich gebildet, der ein vorbestimmtes Aspektverhältnis und ein Schwarzpixelaneinandergrenzgebiet, das aus mehreren aneinandergrenzend angeordneten Schwarzpixeln gebildet ist, aufweist, was später beschrieben wird. Der Logomarkenzellenteil 301 weist außerdem eine durch den Menschen lesbare Information (als Leerräume) auf, die dem zweidimensionalen Code zugeordnet ist.
  • Wenn das Verfharen der zweidimensionalen Codeerkennung als erstes gestartet wird, wird ein rechteckiger Logomarkenzellenteil 301, der ein vorbestimmtes Aspektverhältnis aufweist, detektiert. Der detektierte Logomarkenzellenteil 301 wird als eine Referenz zum Detektieren anderer Zellen benutzt, die in einem vorbestimmten Suchbereich existieren können.
  • Das heißt, der Logomarkenzellenteil 301 ist nicht nur als eine lesbare Logomarkenformatanzeige der Bedeutung des zweidimensionalen Codes bereitgestellt, sondern der Teil 301 bietet auch eine Referenzfunktion zur Benutzung beim Zweidimensionalcode-Erkennungsverfahren.
  • Wie beschrieben weist, wie in den 5B bis 5D gezeigt, der Logomarkenzellenteil 301 nicht nur die Referenzanzeigefunktion, sondern auch die Funktion einer Anzeige von Logomarken und Zeichen auf. Diese Ausbildung macht es auch möglich, sowohl Referenzinformation, die für das Erkennungsverfahren notwendig ist, als auch durch den Menschen lesbare Information im kleinstmöglichen Bereich, der eingenommen wird, auf.
  • Nach 1 wiederum kann der Personalcomputer 1 beispielsweise das Objekt 100 und das Zweidimensionalcode-Etikett 101 unter Verwendung der CCD-Videokamera 23 aufnehmen. Der Computer 1 macht weiter, um die Codedaten des erfassten Zweidimensionalcode-Etikett 101 zu erkennen.
  • Die 6 bis 11 zeigen eine typische Struktur eines tragbaren Personalcomputers, bei dem diese Erfindung angewendet ist. Der Personalcomputer 1 ist ein Personalcomputer vom Mini-Notebook-Typ, der primär einen Körper 2 und ein am Körper 2 schwenkbar angebrachtes Anzeigeteil 3 aufweist. 6 ist eine perspektivische Darstellung des Computers mit dem vom Körper 2 fortgeschwenkten offenen Anzeigeteil 3. 7 ist eine Draufsicht auf den Computer nach 6, 8 ist eine linke Seitenansicht des Computers mit dem auf den Körper 2 geschwenkten geschlossenen Anzeigeteil 3. 9 ist eine rechte Seitenansicht des Computers mit dem relativ zum Körper 2 um 180 Grad geschwenkten offenen Anzeigeteil 3. 10 ist eine Vorderansicht des Computers nach 8. 11 ist eine Ansicht von unten des Computers nach 9.
  • Die obere Fläche des Körpers 2 weist eine Tastatur 4 und eine Stifttyp-Zeigereinrichtung 5 auf. Die Tastatur 4 wird zum Eingeben von Zeichen, Symbolen usw. benutzt, und die Stifttyp-Zeigereinrichtung 5 wird zum Bewegen eines Mauszeigers bzw. -cursors benutzt. Auch ist auf der oberen Körperfläche ein Lautsprecher 8 zur Tonausgabe zusammen mit einem Verschlussknopf bzw. -button 10, der betätigt wird, um unter Benutzung der CCD-Videokamera 23 ein Bild auf das Anzeigeteil 3 zu bringen, eingerichtet.
  • Am oberen Ende des Anzeigeteils 3 ist eine Klinke 13 vorhanden. Wie in 8 gezeigt, hakt bei dem auf den Körper 2 geschlossen geschwenkten Anzeigeteil 3 die Klinke 13 in eine Aussparung 6 im Körper 2 ein. An der Vorderseite des Körpers 2 befindet sich ein in einer quer beweglich Weise eingerichteter Schiebehebel 7. Der Schiebehebel 7 wird zum Ver- und Entriegeln der Klinke 13 so, dass die Klinke 13 in die Aussparung 6 eingerückt und aus dieser ausgerückt wird, benutzt. Bei entriegelter Klinke 13 kann der Anzeigeteil 3 fort vom Körper 2 offengeschwenkt werden. Neben der Klinke 13 befindet sich ein Mikrofon 24, das, wie in 11 gezeigt, Ton sowohl von der Vorder- als auch Rückseite des Körpers 2 aufnehmen kann.
  • Die Vorderseite des Körpers 2 weist außerdem eine programmierbare Energietaste (programmable power key (PPK)) 9 auf. Auf der rechten Seite des Körpers 2 ist, wie in 9 gezeigt, ein Luftauslass 11 vorhanden. Am unteren Ende der Vorderseite des Körpers 2 ist, wie in 10 gezeigt, ein Lufteinlass 14 vorhanden. Rechts vom Luftauslass 11 befindet sich ein Schlitz 12, der eine PCMCIA-Karte (PCMCIA = Personal Computer Memory Card International Association)(als eine PC-Karte bezeichnet) aufnimmt.
  • Auf der Vorderseite des Anzeigeteils 3 ist eine LCD (liquid crystal display (Flüssigkristallanzeige)) 21 zur Anzeige von Bildern vorhanden. Am oberen Ende der LCD 21 ist ein Bildaufnahmeteil 22 vorhanden, das am Anzeigeteil 3 drehbar befestigt ist. Insbesondere ist das Bildaufnahmeteil 22 in jede Position innerhalb eines Bereich von 180 Grad in der gleichen Richtung wie die LCD 21 und in ihrer entgegengesetzten Richtung (das heißt nach hinten) drehbar. Das Bildaufnahmeteil 22 ist mit der CCD-Videokamera 23 ausgerüstet.
  • Am unteren Ende des Anzeigeteils 3 auf der Körperseite ist eine Gruppe von Lampen, die eine Energielampe PL, eine Batterielampe BL, eine Mitteilungslampe ML und andere LEDs aufweist. Das Bezugszeichen 40 in 8 bezeichnet einen auf der linken Seite des Körpers 2 eingerichteten Energieschalter bzw. -stecker, und das Bezugszeichen 25 in 10 stellt einen Einstellring dar, der zum Einstellen des Fokus der CCD-Videokamera 23 benutzt wird. Das Bezugszeichen 26 in 11 steht für eine Abdeckung, die eine Öffnung verdeckt, durch die ein zusätzlicher Speicher im Körper 2 zu installieren ist, und das Bezugszeichen 41 bezeichnet ein Loch, durch das ein Stift zum Entriegeln der Abdeckung 26 einzusetzen ist.
  • 12 stellt eine interne Struktur des Personalcomputers 1 dar. Wie in 12 gezeigt, ist ein interner Bus 51 mit einer CPU (central processing unit (Zentraleinheit)) 52, einer wie benötigt eingesetzten PC-Karte 53, einem RAM (random access memory (Direktzugriffsspeicher)) 54 und einem Grafikchip 81 verbunden. Der interne Bus 51 ist an einen externen Bus 55 gekoppelt. Der externe Bus 55 ist für seinen Teil mit einem Festplattenlaufwerk (hard disc drive (HDD)) 56, einem I/O-Kontroller 57 (I/O = input/output (Eingabe/Ausgabe)), einem Tastaturkontroller 58, einem Stifttyp-Zeigereinrichtungs-Kontroller 59, einem Tonchip 60, einem LCD-Kontroller 81 und einem Modem 50 verbunden.
  • Die CPU 52 ist ein Kontroller, der diverse Computerfunktionen steuert. Die PC-Karte 53 wird wie benötigt installiert, wenn eine optionale Funktion hinzuzufügen ist.
  • Von der CCD-Videokamera 23 erfasste Bilddaten werden an ein Verarbeitungsteil 82 zur Verarbeitung weitergeleitet. Die vom Verarbeitungsteil 82 verarbeiteten Bilddaten werden in den mit dem internen Bus 51 verbundenen Grafikchip 81 eingegeben. Der Grafikchip 81 speichert die eingegebenen Videodaten in einem internen VRAM 81A und gewinnt die Daten vom Speicher wieder, wie sie zur Ausgabe an den LCD-Kontroller 83 benötigt werden. Sind die Bilddaten vom Grafikchip 81 gegeben, gibt der LCD-Kontroller 83 die Daten an die LCD 21 zur Anzeige aus. Zum Beleuchten der LCD 21 von hinten sind hintere Lichter 84 vorhanden.
  • Wenn der Personalcomputer 1 urgeladen wird, werden ein Elektronische-Post-Programm (ein Anwendungsprogramm) 54A, ein Autopilotprogramm (ein anderes Anwendungsprogramm) 54B und das OS (Betriebsprogramm) 54C vom HDD 56 zum RAM 54 übertragen und darin gehalten.
  • Das Elektronische-Post-Programm (electronic mail program) 54A ist ein Programm, das Kommunikationsmeldungen mit einer externen Entität unter Benutzung einer Kommunikationsleitung wie beispielsweise einer Telefonleitung und mittels eines Netzwerks austauscht. Im Elektronische-Post-Programm 54A ist speziell eine Empfangenpost-Erfassungsfunktion enthalten. Die Empfangenpost-Erfassungsfunktion prüft einen Postserver 93, um zu sehen, ob in ihm ein Briefkasten 93A eine an dieses Programm (das heißt an den Benutzer) adressierte Post enthält. Wenn eine solche Post im Briefkasten 93A gefunden wird, führt die Empfangenpost-Erfassungsfunktion ein geeignetes Verfahren zum Erfassen dieser Post aus.
  • Das Autopilotprogramm 54B ist ein Programm, das hochfährt und mehrere vorbestimmte Verfahren (oder Programme) in einer vorbestimmten Reihenfolge ausführt.
  • Das OS (operating system (Betriebssystem)) 54C steuert grundlegende Computerfunktionen. Typische Betriebssysteme sind Windows 95 (registrierte Handelsmarke), Windows 98 (registrierte Handelsmarke) und dgl.
  • Das mit dem externen Bus 55 verbundene Festplattenlaufwerk (HDD) 56 enthält das Elektronische-Post-Programm 56A, das Autopilotprogramm 56B, das OS (Betriebssystem) 56C und ein Zweidimensionalcode-Erkennungsprogramm 56D.
  • Das Zweidimensionalcode-Erkennungsprogramm 56D detektiert beim Betrieb einen Logomarkenzellenteil 301 eines Logomarkenteils 201 und einen Codeteil 202 eines zweidimensionalen Codes von im VRAM 81A des Grafikchips 81 gehaltenen Bilddaten. Das Programm 56D erkennt dann Codedaten des Codeteils 202, um relevante codierte Information daraus wiederzugewinnen.
  • Der I/O-Kontroller 57 weist einen mit einer I/O-Schnittstelle 62 ausgerüsteten Mikrokontroller 61 auf. Der Mikrokontroller 61 besteht aus der I/O-Schnittstelle 62, einer CPU 63, einem RAM 64 und einem ROM 69, die miteinander verbunden sind. Der RAM 64 weist ein Tasteneingabestatusregister 65, ein LED-Steuerregister 66 (LED = light emitting diode (lichtemittierende Diode)), ein Einstellzeitregister 67 und ein Register 68 auf. Das Einstellzeitregister 67 wird zum Starten des Betriebs eines Startsequenzkontrollers 76 benutzt, wenn eine vom Benutzer voreingestellte Zeit (das heißt Startbedingung) erreicht wird. Das Register 68 hält eine Korrespondenz zwischen einer voreingestellten Kombination von Betätigungstasten (Startbedingung) auf der einen Seite und ein zu startendes Anwendungsprogramm auf der anderen Seite. Wenn der Benutzer die voreingestellte Kombination von Betätigungstasten eingibt, wird das korrespondierende Anwendungsprogramm (beispielsweise Elektronische-Post-Programm) gestartet.
  • Wenn die fingerspitzenbetätigte programmierbare Energietaste (programmable power key (PPK)) 9 gedrückt wird, bekommt und hält das Tasteneingabestatusregister 65 ein Betätigungstastenkennzeichen. Das LED-Steuerregister 66 wird zum Steuern der Beleuchtung der Meldungslampe ML benutzt, die den Hochfahrstatus eines im Register 68 gehaltenen Anwendungsprogramms (beispielsweise Elektronische-Post-Programm) anzeigt. Am Einstellzeitregister 67 kann eine gewünschte Tageszeit eingestellt werden.
  • Der Mikrokontroller 61 ist mit einer Sicherungsbatterie 74 verbunden. Die Batterie 74 ermöglicht, dass Inhalte der Register 65, 66 und 67 gehalten werden, wenn die Energie zum Körper 2 abgeschaltet wird.
  • Der ROM 69 im Mikrokontroller 61 enthält im Voraus ein Weckprogramm 70, ein Tasteneingabe-Überwachungsprogramm 71 und ein LED-Steuerungsprogramm 72. Der ROM 69 besteht beispielsweise aus einem EEPROM (electrically erasable and programmable read only memory (elektrisch löschbarer und programmierbarer Nurlesespeicher)). Der EEPROM wird auch als ein Flash-Speicher bezeichnet. Der Mikrokontroller 61 ist mit einem RTC (real-time clock (Realzeittaktgeber)) 75 verbunden, der die laufende Zeit hält.
  • Das Weckprogramm 70 im ROM 69 ist ein Programm, das prüft, um zu sehen, ob auf der Basis der Tageszeitdaten aus dem ETC 75 eine voreingestellte Zeit im Einstellzeitregister 67 erreicht ist. Wenn die voreingestellte Zeit erreicht ist, fährt das Weckprogramm 70 ein vorbestimmtes Verfahren (oder Programm) hoch. Das Tasteneingabeüberwachungsprogramm 71 überwacht kontinuierlich, ob die PPK 9 vom Benutzer gedrückt wird. Das LED-Steuerungsprogramm 72 steuert das Leuchten der Meldungslampe ML.
  • Außerdem weist der ROM 69 ein BIOS (basic input/output system (Basis-Ein-/Ausgabe-System)) 73 auf. Das BIOS ist ein Softwareprogramm, das Datenaustausche (Eingabe und Ausgabe) zwischen dem OS oder einer Anwendungssoftware auf der einen Seite und peripheren Geräten (beispielsweise Anzeigeteil, Tastatur, Festplattenlaufwerk) auf der anderen Seite steuert.
  • Der mit dem externen Bus 55 verbundene Tastaturkontroller 58 steuert eine Eingabe von der Tastatur 4. Der Stifttyp-Zeigereinrichtungs-Kontroller 59 kontrolliert eine Eingabe von der Stifttyp-Zeigereinrichtung 5.
  • Der Tonchip 60 empfängt eine Eingabe vom Mikrofon 24 und führt dem eingebauten Lautsprecher 8 Tonsignale zu.
  • Das Modem 50 ermöglicht eine Verbindung mit einem Kommunikationsnetzwerk 92 wie beispielsweise dem Internet und mit dem Postserver 93 durch eine öffentliche Telefonleitung 90 und einen Internetdienstprovider 91.
  • Der Energieschalter 40 wird betätigt, um die Energieversorgung ein und auszuschalten. Ein Halbdrückschalter 85 wird aktiviert, wenn ein Verschlussknopf bzw. -button 10 halb gedrückt wird. Ein Volldrückschalter 86 wird eingeschaltet, wenn der Verschlussbutton 10 voll gedrückt wird. Ein Umkehrschalter 87 wird eingeschaltet, wenn das Bildaufnahmeteil 22 um 180 Grad gedreht wird (das heißt, wenn die CCD-Videokamera 23 in eine zur Aufnahme eines Bildes auf der entgegengesetzten Seite der LCD 21 geeignete Richtung gedreht wird).
  • Es wird nun anhand eines Flussdiagramms nach 13 ein Verfahren zu Erkennung eines zweidimensionalen Codes beschrieben.
  • Wenn die CCD-Videokamera 23 ein Zweidimensionalcode-Etikett 101 aufnimmt und davon Einzelrahmenbilddaten erfasst, werden die Daten vom Verarbeitungsteil 82 verarbeitet und im VRAM 81A des Grafikchips 81 platziert. In diesem Zustand wird das Zweidimensionalcode-Erkennungsprogramm 56D vom HDD 56 gestartet. Beim Schritt S1 initialisiert die CPU 52 einen Zähler „i", der einen Schwellenwert, der einen Helligkeitspegel darstellt, zählt, auf 1. Bei diesem Beispiel kann, wie in 14 gezeigt, der Schwellenwert auf einen von fünf Pegeln eingestellt werden. Insbesondere kann die Zählereinstellung in gestufter Weise von einem Schwellenwert A, der ein mit der Einstellnummer 1 korrespondierender Maximumwert ist, bis zu einem Schwellenwert E, der ein mit der Einstellnummer 5 korrespondierender Minimumwert ist, reichen.
  • Beim Schritt S2 führt die CPU 52 bei den im VRAM 81A gehaltenen Bilddaten eine Digitalisierung (Binärisierung) entsprechend dem Schwellenwert, der auf dem Zähler „i" eingestellt ist, aus. Jedes Pixel, das in der Helligkeit größer als der Schwellenwert ist, wird als „0" codiert. Das „0"-codierte Pixel wird bei der Anzeige als weiß gezeigt. In der folgenden Beschreibung wird jedes Pixel, dessen Pixelwert als „0" codiert ist, als ein weißes Pixel bezeichnet.
  • Andererseits wird jedes Pixel, das in der Helligkeit kleiner als der Schwellenwert ist, als „1" codiert. Das „1"- codierte Pixel wird bei der Anzeige schwarz gezeigt. In der folgenden Beschreibung wird jedes Pixel, dessen Pixelwert als „1" codiert ist, als ein schwarzes Pixel bezeichnet. Beim Schritt S3 nummeriert (etikettiert) die CPU 52, wie in 15 gezeigt, sukzessive Gebiete, deren jedes aus kontinuierlichen schwarzen Pixel besteht, von oben links nach unten rechts.
  • Beim Schritt S4 erhält die CPU 52 eine Gesamtzahl M aus Schwarzpixelaneinandergrenzgebieten und prüft, um zu sehen, ob die erhaltene Gesamtzahl M wenigstens 257 beträgt. Wenn gefunden wird, dass der Wert M wenigstens 257 beträgt, stellt die CPU 52 fest, dass der gegenwärtig im VRAM 81A gespeicherte Bildrahmen für die nachfolgende Verarbeitung nicht passt. In diesem Fall folgt auf den Schritt S4 der Schritt S5.
  • Für eine nachfolgende Verarbeitung nicht geeignete Bilder sind bestimmbar körnige Bilder, die als Zitterbilder bekannt sind. Versuche, solche Bilder zu erkennen, überlastet die CPU bei der Ausführung der notwendigen Berechnungen zwangsläufig. In solchen Fällen wird die Erkennung der Zitterbilder übersprungen und Schritt S5 erreicht.
  • Beim Schritt S5 prüft die CPU 52, um zu sehen, ob der Wert auf dem Zähler „i" gleich einer Einstellnummer N des Schwellenwertes (beispielsweise i = 5) ist. Wenn festgestellt wird, dass der Zählerwert anders als 5 ist, wird der Schritt S6 erreicht, und der Zähler „i" wird um 1 inkrementiert. Auf den Schritt S6 folgt der Schritt S2. Beim Schritt S2 führt die CPU 52 wieder bei den im VRAM 51A gehaltenen Bilddaten eine Digitalisierung entsprechend dem Schwellenwert, dessen Einstellnummer auf dem Zähler „i" um 1 erhöht worden ist, aus.
  • Wie beschrieben, ist der durch die Einstellnummer 1 dargestellte Schwellenwert A bei diesem Beispiel der Maximumschwellenwert. Wenn der Maximumwert A als der Schwellenwert zur Digitalisierung genommen wird, weist eine große Zahl von die Bilddaten bildenden Pixeln einen Helligkeitspegel relativ niedriger als der Wert A auf. Als Resultat wird der größere Teil der Pixel als schwarze Pixel erkannt, wodurch die Gesamtzahl M von Schwarzpixelaneinandergrenzgebieten zunimmt. Wenn beim Schritt S6 die Einstellnummer auf dem Zähler „i" um 1 inkrementiert wird, kommt für die nächste Digitalisierung der nächsthöhere Schwellenwert als der Schwellenwert zur Anwendung. Dies wiederum reduziert die Zahl von Pixeln, die als schwarze Pixel betrachtet werden.
  • Wie beschrieben, wird, wenn anfangs zur Digitalisierung ein relativ großer Schwellenwert, der einen hohen Pegel einer Referenzhelligkeit darstellt, benutzt wird, das Digitalisierungsverfahren so ausgeführt, dass der Rahmen als Ganzes für ein relativ helles Bild passend wird. Wenn der Schwellenwert fortschreitend reduziert wird, um niedrigere Helligkeitspegel zur Digitalisierung darzustellen, wird das Digitalisierungsverfahren so ausgeführt, dass der ganze Rahmen für relativ dunkle Bilder passend wird. Da fünf alternative Schwellenwertpegel vorhanden sind, und da der Schwellenwert für einen alternativen Pegel zum anderen eingestellt wird, können ungeachtet von Helligkeitsfluktuationen im ganzen Bildrahmen hochgenaue binäre Daten konsistent erzeugt werden.
  • Wenn die CPU 52 feststellt, dass beim Schritt S5 „i = 5" gilt, das heißt, wenn keiner der Schwellenwerte A bis E für die Erzeugung einer geeigneten Gesamtzahl M von Schwarzpixelaneinandergrenzgebieten relevant ist, entscheidet die CPU 52, dass die Pixeldaten des gegenwärtigen Rahmens jeden zweidimensionalen Code ausschließen, und beendet das Verfahren.
  • Wenn die CPU 52 entscheidet, dass die Gesamtzahl von Schwarzpixelaneinandergrenzgebieten kleiner als 257 ist, wird der Schritt S7 erreicht.
  • Beim Schritt S7 prüft die CPU 52, um zu sehen, ob eine gewisse Anzeigestelle auf der LCD 21 des beim vorher ausgeführten Zweidimensionalcode-Erkennungsverfahren erkannten zweidimensionalen Codes, beispielsweise ein Zentrumspunkt des Logomarkenzellenteils 301, im RAM 54 oder in einem anderen geeigneten Speicher gespeichert ist. Wenn gefunden wird, dass eine solche Stelle gespeichert ist, wird der Schritt S8 erreicht, bei dem der gespeicherte Punkt als ein Startpunkt für ein Logomarkenteil-Detektionsverfahren eingestellt wird. Wenn die CPU 52 beim Schritt S7 feststellt, dass keine Stelle des zweidimensionalen Codes gespeichert worden ist, wird der Schritt S9 erreicht. Beim Schritt S9 stellt die CPU 52 einen Anzeigezentrumspunkt von 320 × 240 Pixeln auf der LCD 21 (beispielsweise das Pixel, das als das 160-ste auf der X-Achse und als das 120-ste auf der Y-Achse sitzt) als den Startpunkt ein. Die Einstellung ermöglicht eine effiziente Detektion eines Logomarkenzellenteils 201. Beim Schritt S10 wird das Logomarkenteil-Detektionsverfahren ausgeführt. Den Logomarkenzellenteil-Detektionsabschnitt beim Schritt S10 bildende detaillierte Schritte werden unten anhand eines Flussdiagramms nach 16 beschrieben.
  • Beim Schritt S21 initialisiert die CPU 52 den Zähler „j", der die Gesamtzahl M von Schwarzpixelaneinandergrenzgebieten zählt, auf 1. Beim Schritt S21 durchsucht die CPU 52 den Schirm auf der LCD 21 von dem bei den Schritten S8 und S9 nach 13 hergestellten Startpunkt in spiraliger Weise entgegengesetzt zum Uhrzeigersinn nach Schwarzpixelaneinandergrenzgebieten. Das zuerst detektierte Schwarzpixelaneinandergrenzgebiet wird als ein Logomarkenzellenteil-Kanditatengebiet ausgewählt.
  • Beim Schritt S23 bestimmt die CPU 52 Seiten AT und BT, die mit den Seiten A und B eines beim Schritt als das Logomarkenzellenteil-Kandidatengebiet ausgewählten Logomarkenzellenteils 301 (in 3 gezeigt). Wie in der 17 dargestellt, ist die Seite AT das längere von zwei Liniensegmenten, von denen eines durch Projektion auf die X-Achse des Bildes des Schwarzpixelaneinandergrenzgebiets auf der LCD 21 (X-Achsen-Projektionslinie) gebildet ist, das andere durch eine ähnliche Projektion des gleichen Gebiets auf die Y-Achse (Y-Achsen-Projektionslinie) gebildet ist. Die Seite BT ist die kürzere der beiden Projektionslinien.
  • Beim Schritt S24 prüft die CPU 52, um zu sehen, ob die mit der Nebenachse korrespondierende Seite BT aus weniger als 20 Pixeln gebildet ist. Wenn beispielsweise ein Schwarzpixelaneinandergrenzgebiet, dessen Nebenachse (Seite B) aus weniger als 20 Pixeln besteht, ein Logomarkenzellenteil 301 ist, weist die Seite BT eine noch kleinere Anzahl von Pixeln auf, da, wie in 2 gezeigt, das Verhältnis einer Seite jedes Blocks zur Seite B gleich 1 zu 1,5 ist. In diesem Fall werden die kleinsten Zellen (in einem 1 × 1-Blockbereich) zu klein, um richtig auf der LCD 21 angezeigt zu werden. Wenn infolgedessen beim Schritt S24 festgestellt wird, dass die Seite BT weniger als 20 Pixel aufweist, wird entschieden, dass das beim Schritt S22 zu dieser Zeit ausgewählte Schwarzpixelaneinandergrenzgebiet etwas anderes als ein Logomarkenzellenteil 301 ist. Auf den Schritt S24 folgt der Schritt S25, bei dem die CPU 52 prüft, um zu sehen, ob ein Zähler „j" einen Wert aufweist, der gleich der Gesamtzahl M von Schwarzpixelaneinandergrenzgebieten ist (j = M). Wenn festgestellt wird, dass der Wert auf dem Zähler „j" nicht gleich der Gesamtzahl M ist, wird der Schritt S26 erreicht, bei dem der Zähler „j" um 1 inkrementiert wird. Auf den Schritt S26 folgt der Schritt S22, bei dem CPU 52 das als nächstes detektierte Schwarzpixelaneinandergrenzgebiet als das nächste Logomarkenzellenteil-Kandidatengebiet ansieht und die nachfolgenden Schritt ausführt.
  • Wenn beim Schritt S24 die CPU 52 feststellt, dass die Seite BT des beim Schritt S22 ausgewählten Logomarkenzellenteil-Kandidatengebiets wenigstens 20 Pixel enthält, geht die CPU 52 zum Schritt S27. Beim Schritt S27 prüft die CPU 52, um zu sehen, ob die Seite AT des Logomarkenzellenteil-Kandidatengebiets mehr als 300 Pixel aufweist. Wenn beispielsweise ein Schwarzpixelaneinandergrenzgebiet, dessen Hauptachse (Seite A) mehr als 300 Pixel aufweist, ein Logomarkenzellenteil 301 ist, wird jede Seite eines Blocks zu lange, um richtig angezeigt zu werden, da das Verhältnis einer Seite des Blocks zur Seite A gleich 1 zu 7 ist. Das heißt, es erscheinen, wie in 4 gezeigt, die obere linke und obere rechte Eckzelle, die sieben Blöcke vom Logomarkenzellenteil 301 weg sind, nicht auf der LCD 21. Wenn infolgedessen beim Schritt S27 festgestellt wird, dass die Seite AT mehr als 300 Pixel aufweist, wird entschieden, dass das beim Schritt S22 zu dieser Zeit ausgewählte Schwarzpixelaneinandergrenzgebiet etwas anderes als ein Logomarkenzellenteil 301 ist. In diesem Fall folgt auf den Schritt S24 der Schritt S25.
  • Wenn beim Schritt S27 die CPU 52 feststellt, dass die beim Schritt S22 ausgewählte Seite AT des Logomarkenzellenteil-Kandidatengebiets nicht mehr als 300 Pixel aufweist (das heißt, ein Gebiet besteht aus höchstens 300 Pixel), wird Schritt S28 erreicht. Beim Schritt S28 prüft die CPU 52, um zu sehen, ob die Gesamtzahl schwarzer Pixel im Logomarkenzellenteil-Kandidatengebiet wenigstens 20 und weniger als 1500 beträgt. Wenn das Resultat der Prüfung beim Schritt S28 bejahend ist, wird Schritt S29 erreicht. Wenn beim Schritt S28 festgestellt wird, dass die Gesamtzahl schwarzer Pixel im Logomarkenzellenteil-Kandidatengebiet weniger als 20 oder wenigstens 1500 beträgt, wird Schritt S25 erreicht. Wenn die Gesamtzahl schwarzer Pixel kleiner als 20 ist, tritt das gleiche Problem auf wie das, welches auftritt, wenn beim Schritt S24 die Seite BT weniger als 20 Pixel aufweist. Wenn die Gesamtzahl schwarzer Pixel wenigstens 1500 beträgt, tritt das gleiche Problem auf, wie das, welches auftritt, wenn beim Schritt S27 die Seite AT mehr als 300 Pixel aufweist. In jedem Fall gibt es nur eine begrenzte Möglichkeit dafür, dass das Kandidatengebiet ein Logomarkenzellenteil 301 ist.
  • Beim Schritt S29 stellt die CPU 52 die Eignung des beim Schritt S22 ausgewählten Logomarkenzellenteil-Kandidatengebiets fest. Wenn die Eignung des Gebiets erkannt wird, wird Schritt S30 erreicht. Insbesondere wird entschieden, dass das Logomarkenzellenteil-Kandidatgebiet geeignet ist, wenn der durch Benutzung des Ausdrucks (1) unten berechnete Eignungspegel wenigsten 0,2 beträgt.
  • [Ausdruck 1]
    Figure 00210001
  • Beim obigen Ausdruck (1) werden die Konstanten „a", „c" und „b/2" jeweils aus den Ausdrücken (2), (3) bzw. (4) unten erhalten. Diese Konstanten sind ein zweidimensionales Moment, jede als Teil von momentbezogenen Charakteristiken.
  • [Ausdruck 2]
    • M(2, 0) = Σ(i, j) i2f(i, j) (2)
  • [Ausdruck 3]
    • M(0, 2) = Σ(i, j) j2f(i, j) (3)
  • [Ausdruck 4]
    • M(1, 1) = Σ(i, j) ijf(i, j) (4)
  • Eine Funktion f(i, j) bei den obigen Ausdrücken (2), (3) und (4) erzeugt 1, wenn das durch die X-Koordinate „i" und Y-Koordinate „j" auf der LCD 21 bestimmte Pixel schwarz ist, und erzeugt 0, wenn das in Frage stehende Pixel weiß ist.
  • Beim Schritt S30 berechnet die CPU 52 durch Benutzung des Ausdrucks (5) unten das Verhältnis der Hauptachse zur Nebenachse für das beim Schritt S29 als geeignet entschiedene Logomarkenzellenteil-Kandidatengebiet. Es wird eine Prüfung durchgeführt, um zu sehen, ob das berechnete Verhältnis V wenigsten 2,0 und höchstens 20 ist.
  • [Ausdruck 5]
    Figure 00220001
  • Wenn festgestellt wird, dass das berechnete Verhältnis zwischen 2,0 und 25 einschließlich ist, wird Schritt S31 erreicht. Beim Schritt S31 stellt (nimmt) die CPU 52 das beim Schritt S22 ausgewählten Logomarkenzellenteil-Kandidatengebiet als einen Logomarkenzellenteil 301 her (an). Beispielsweise wird die Nummer, die das Schwarzpixelaneinandergrenzgebiet, welches das Logomarkenzellenteil-Kandidatengebiet bildet, bezeichnet, im RAM 54 platziert. Wenn der Logomarkenzellenteil 301 in der oben beschriebenen Weise detektiert wird, ist das Verfahren beendet.
  • Es wird in den folgenden Fällen entschieden, dass das beim Schritt S22 zu dieser Zeit ausgewählte Logomarkenzellenteil-Kandidatengebiet etwas anderes als ein Logomarkenzellenteil 301 ist: Wenn beim Schritt S28 festgestellt wurde, dass die Gesamtzahl schwarzer Pixel kleiner als 20 oder mindestens 1500 ist; wenn beim Schritt S29 nicht festgestellt wurde, dass das Logomarkenzellenteil-Kandidatengebiet die notwendige Eignung aufweist; oder wenn beim Schritt S30 das Verhältnis der Seite AT zur Seite BT kleiner als 2,0 oder mindestens 25 war. Bei jedem der obigen. Fälle wird Schritt S25 erreicht. Die CPU 52 sieht daraufhin das als nächstes detektierte Schwarzpixelaneinandergrenzgebiet als nächstes Logomarkenzellenteil-Kandidatengebiet an und fährt fort, die nachfolgenden Schritte auszuführen.
  • Wenn beim Schritt S25 festgestellt wird, dass der Wert auf dem Zähler „j" gleich der Gesamtzahl M von Schwarzpixelaneinandergrenzgebieten ist (j = M), wird der Schritt ohne Herstellung eines Logomarkenzellenteils 301 umgangen. Das Verfahren wird dann zu einem Ende gebracht. Das heißt, es wird entschieden, dass die dem gegenwärtigen Zweidimensionalcode-Erkennungsverfahren unterworfenen Bilddaten (eines einzelnen Rahmens) jeden Logomarkenzellenteil 301 ausschließen.
  • Wenn das Logomarkenzellenteil-Detektionsverfahren wie oben beschrieben beendet wird, wird Schritt S11 nach 13 erreicht.
  • Beim Schritt S11 wird eine Prüfung durchgeführt, um zu sehen, ob beim Schritt S10 ein Logomarkenzellenteil 301 detektiert wurde. Wenn festgestellt wird, dass der Logomarkenzellenteil 301 detektiert worden ist, wird Schritt S12 erreicht, bei dem ein Codeteil-Detektionsverfahren ausgeführt wird. Das Codeteil-Detektionsverfahren beim Schritt S12 bildende detaillierte Schritte werden unten anhand des Flussdiagramms nach 18 beschrieben.
  • Beim Schritt S41 initialisiert die CPU 52 den Zähler „j", der die Gesamtzahl von beim Schritt nach 13 detektierten Schwarzpixelaneinandergrenzgebieten zählt, auf 1. Beim Schritt S42 wählt die CPU 52 ein Schwarzpixelaneinandergrenzgebiet, dessen Nummer mit dem Zählerwert korrespondiert, als ein Obenlinkseckzellen-Kandidatengebiet aus.
  • Beim Schritt S43 prüft die CPU 52, um zu sehen, ob das Längenverhältnis der Seite AT zur Seite BT (bestimmt, wie in 17 gezeigt) für das beim Schritt S42 ausgewählte Obenlinkseckzellen-Kandidatengebiet höchstens 3 ist. Wenn das Resultat der Prüfung beim Schritt S43 bejahend ist, wird Schritt S44 erreicht.
  • Beim Schritt S44 prüft die CPU 52, um zu sehen, ob das beim Schritt S42 ausgewählte Obenlinkseckzellen-Kandidatengebiet in einem für den beim Schritt S10 nach 13 detektierten Logomarkenzellenteil 301 eingestellten Suchbereich existiert. Wenn das in Frage stehende Gebiet in dem Bereich gefunden wird, wird Schritt S45 erreicht. Beim Schritt S45 wird das Kandidatengebiet als die obere linke Eckzelle hergestellt (angenommen).
  • Wenn beim Schritt S43 festgestellt wird, dass das Längenverhältnis der Seite AT zur Seite BT größer als 3 ist, oder wenn beim Schritt S44 das Kandidatengebiet nicht im Suchbereich gefunden wird, wird entschieden, dass das beim Schritt S42 ausgewählte Schwarzpixelaneinandergrenzgebiet etwas anderes als die obere linke Eckzelle ist, und es wird Schritt S46 erreicht. Beim Schritt S46 wird eine Prüfung durchgeführt, um zu sehen, ob der Wert auf dem Zähler „j" gleich der Gesamtzahl M von Schwarzpixelaneinandergrenzgebieten ist (j = M). Wenn nicht festgestellt wird, dass der Zählerwert „j" gleich der Gesamtzahl M ist, wird Schritt S47 erreicht, bei dem der Zähler „j" um 1 inkrementiert wird. Auf Schritt S47 folgt Schritt S42. Beim Schritt S42 wird das von der nächsten Zahl bezeichnete Schwarzpixelaneinandergrenzgebiet als das Obenlinkseckzellen-Kandidatengebiet betrachtet, und es werden die nachfolgenden Schritte ausgeführt.
  • Wenn beim Schritt S45 die obere linke Eckzelle hergestellt wird, wird Schritt S48 erreicht. Beim Schritt S48 initialisiert die CPU 52 einen anderen Zähler „k", der die Nummer zählt, welche das gegenwärtige Schwarzpixelaneinandergrenzgebiet bezeichnet, auf 2. Beim Schritt S49 wählt die CPU 52 ein Schwarzpixelaneinandergrenzgebiet, dessen Zahl mit dem Wert des Zählers „k" korrespondiert, als Obenrechtseckzellen-Kandidatengebiet.
  • Beim Schritt S50 berechnet die CPU 52 das Bereichsverhältnis der beim Schritt S45 eingestellten linken oberen Eckzelle (deren Bereich durch die Anzahl von darin enthaltenen Pixeln definiert ist) zu dem beim Schritt S49 ausgewählten Obenrechtseckzellen-Kandidatengebiet (dessen Bereich durch seinen Pixelzählwert definiert ist). Wenn festgestellt wird, dass das Verhältnis (als Bereich ausgedrückt) höchstens 6 ist, wird Schritt S51 erreicht.
  • Beim Schritt S51 prüft die CPU 52, um zu sehen, ob die folgenden Ausdrücke (6) und (7) erfüllt sind: (S1/D2) <= 900 (6) (S2/D2) <= 900, (7)wobei S1 für den Bereich der beim Schritt S45 hergestellten oberen linken Eckzelle (Anzahl von Pixeln), S2 für den beim Schritt S49 ausgewählten Bereich des Obenrechtseckzellen-Kandidatengebiets (Anzahl von Pixeln) und D für den zwischen dem Zentrumspunkt der oberen linken Eckzelle und dem Zentrumspunkt des Obenrechtseckzellen-Kandidatengebiets berechneten Abstand steht.
  • Wenn beim Schritt S51 festgestellt wird, dass die Ausdrücke (6) und (7) erfüllt sind, wird der Schritt S52 erreicht. Beim Schritt S52 stellt (nimmt) die CPU 52 das beim Schritt S49 ausgewählte Obenrechtseckzellen-Kandidatengebiet als die obere rechte Eckzelle her (an).
  • Mit der beim Schritt S52 hergestellten (angenommenen) oberen rechten Eckzelle wird der Schritt S55 erreicht. Beim Schritt S55 führt die CPU 52 eine Affinitätstransformation durch, wodurch das von der beim Schritt S45 eingestellten oberen linken Eckzelle, von der beim Schritt S52 hergestellten obere rechte Eckzelle und von dem beim Schritt S10 nach 13 eingestellten Logomarkenzellenteil 301 gebildete Gebiet in ein in der X-Achsenrichtung sieben Blöcke langes und in der Y-Achsenrichtung 7,5 Blöcke langes Gebiet auf dem Schirm der LCD 21 umgesetzt wird. Die Länge einer Seite bei jedem Block wird auf der Basis der Seite AT oder BT des beim Schritt S10 hergestellten Logomarkenzellenteils 301 berechnet.
  • Beim Schritt S56 löscht die CPU 52 aus dem beim Schritt S55 transformierten Bild den beim Schritt S10 nach 13 eingestellten Logomarkenzellenteil 301 und ein Gebiet, das mit einem mit dem Teil 301 (7 × 2,5 Blockgebiet) gepaarten Nichtzellenteil 302 korrespondiert. Innerhalb des aus der Löschung resultierenden 7 × 7-Blockgebiets werden die Schwarzpixelaneinandergrenzgebiete als Zellen abgebildet, wodurch eine Codeabbildung erzeugt wird.
  • Beim Schritt S57 detektiert die CPU 52 aus den Zellen, welche die beim Schritt S56 präparierte Codeabbildung bilden, eine viereckige Zelle und prüft, um zu sehen, ob ein die detektierte Zelle angrenzend umgebender Dreiblockbereich aus weißen Pixeln besteht. Wenn das Resultat der Prüfung beim Schritt S57 bejahend ist, wird der Schritt S58 erreicht. Beim Schritt S58 stellt (nimmt) die CPU 52 die beim Schritt S56 erzeugte Codeabbildung als einen Codeteil 202 des zweidimensionalen Codes her (an). Wenn der Codeteil 202 in der beschriebenen Weise detektiert wird, kommt das Verfahren zu einem Ende.
  • Wenn beim Schritt S50 festgestellt wird, dass das Bereichverhältnis größer als 6 ist, wenn beim Schritt S51 festgestellt wird, dass die Ausdrücke (6) und (7) nicht erfüllt waren, oder wenn beim Schritt S57 in dem die viereckige Zelle angrenzend umgebenden Dreiblockbereich keine weißen Pixel gefunden wurden, wird der Schritt S53 erreicht. Beim Schritt S53 wird eine Prüfung durchgeführt, um zu sehen, ob der Wert auf dem Zähler „k" gleich der Gesamtzahl M von Schwarzpixelaneinandergrenzgebieten ist (k = M). Wenn festgestellt wird, dass der Wert auf dem Zähler „k" nicht gleich der Gesamtzahl M ist, wird der Schritt S54 erreicht, bei dem der Zähler „k" um 1 inkrementiert wird. Auf den Schritt S54 folgt der Schritt S49, bei dem das nächstnummerierte Schwarzpixelaneinandergrenzgebiet als das nächste Obenrechtseckzellen-Kandidatengebiet ausgewählt wird, und die nachfolgenden Schritte werden wiederholt.
  • Wenn beim Schritt S53 festgestellt wird, dass der Wert auf dem Zähler „k" gleich der Gesamtzahl M von Schwarzpixelaneinandergrenzgebieten ist, wird der Schritt S46 erreicht. Beim Schritt S46 wird eine Prüfung durchgeführt, um zu sehen, ob der Wert auf dem Zähler „j" gleich der Gesamtzahl M ist. Wenn festgestellt wird, dass der Wert auf dem Zähler „j" nicht gleich der Gesamtzahl M ist, wird Schritt S47 erreicht, bei dem der Zähler „j" um 1 inkrementiert wird. Auf den Schritt S47 folgt der Schritt S42, bei dem das nächstnummerierte Schwarzpixelaneinandergrenzgebiet als das nächste Obenlinkseckzellen-Kandidatengebiet ausgewählt wird, und die nachfolgenden Schritte werden wiederholt.
  • Wenn beim Schritt S46 festgestellt wird, dass der Wert auf dem Zähler „j" gleich der Gesamtzahl M ist, wird entschieden, dass das gegenwärtig dem Zweidimensionalcode-Erkennungsverfahren unterworfene Bild jeden zweidimensionalen Code ausschließt. Das Verfahren wird dann beendet.
  • Wenn das Codeteil-Detektionsverfahren wie oben beschrieben vollendet wird, wird der Schritt S13 nach 13 erreicht. Beim Schritt S13 wird eine Prüfung durchgeführt, um zu sehen, ob beim Schritt S12 ein Codeteil 202 detektiert wurde. Wenn festgestellt wird, dass ein Codeteil 202 detektiert worden ist, wird der Schritt S14 erreicht. Beim Schritt S14 wird ein Codedaten-Verifikationsverfahren ausgeführt. Das Codedaten-Verifikationsverfahren beim Schritt S14 bildende detaillierte Schritte werden unten anhand des Flussdiagramms nach 19 beschrieben.
  • Beim Schritt S61 initialisiert die CPU 52 einen Zähler „p", der die bei den Schritten S63 und S65 unten zu berechnende Zahl von Malen eines Referenzwerts zählt, der um ein Bit nach rechts verschoben wird, auf 1.
  • Beim Schritt S62 berechnet die CPU 52 Codedaten und Prüfdaten auf der Basis der Codeabbildung des beim Schritt S12 nach 13 detektierten Codeteils 202.
  • Beim Schritt S63 unterwirft die CPU 52 die beim Schritt S62 berechneten Codedaten (ein Bitstrom) und 0xFFFFFF einem exclusiven ODER und betrachtet den resultierenden Wert (ein anderer Bitstrom) als einen Referenzwert (Referenzbitstrom). Beim Schritt S64 prüft die CPU 52, um zu sehen, ob das LSB (least significant bit (niedrigstwertiges Bit)) des Referenzbitstroms auf 1 eingestellt ist. Wenn festgestellt wird, dass das LSB gleich 1 ist, wird der Schritt S65 erreicht.
  • Beim Schritt S65 unterwirft die CPU 52 den beim Schritt S63 berechneten Referenzwert (Referenzbitstrom) und 0x8408 einem exclusiven ODER und betrachtet den resultierenden Wert (ein anderer Bitstrom) als einen neuen Referenzwert (Referenzbitstrom). Auf den Schritt S65 folgt der Schritt S66.
  • Wenn beim Schritt S54 die CPU 52 feststellt, dass in dem beim Schritt S63 berechneten Referenzwert (Referenzbitstrom) das LSB auf 1 eingestellt ist, erreicht die CPU 52 durch Überspringen des Schritts S65 den Schritt S66.
  • Beim Schritt S66 verschiebt die CPU 52 den beim Schritt S63 oder S65 berechneten Referenzwert (Referenzbitstrom) um ein Bit nach rechts. Auf den Schritt S66 folgt der Schritt S67, bei dem die CPU 52 prüft, um zu sehen, ob der Wert auf dem Zähler „p" gleich 24 ist (p = 24, ein vorbestimmter Verschiebezählwert). Wenn nicht festgestellt wird, dass der Wert auf dem Zähler „p" gleich 24 ist, wird Schritt S68 erreicht, bei dem der Zähler „p" um 1 inkrementiert wird. Auf Schritt S68 folgt Schritt S64, und die nachfolgenden Schritte werden wiederholt, bis beim Schritt S67 festgestellt wird, dass der Wert auf dem Zähler „p" gleich 24 ist (p = 24).
  • Wenn beim Schritt S67 die CPU 52 feststellt, dass der Wert auf dem Zähler „p" gleich 24 ist, wird Schritt S69 erreicht. Beim Schritt S69 unterwirft die CPU 52 den bei den Schritten S64 bis S68 berechneten Bitstrom und 0x1FFH einem UND. Beim Schritt S70 prüft die CPU 52, um zu sehen, ob der durch die UND-Operation beim Schritt S69 erhaltene Wert gleich den beim Schritt S62 berechneten Prüfdaten ist. Wenn gefunden wird, dass beim Schritt S70 die verglichenen Werte gleich sind, wird der beim Schritt S13 nach 13 detektierte Codeteil 202 so angesehen, dass er ein als zweidimensionaler Code geeignetes Codemuster aufweist. Beim Schritt S71 wird der Codeteil 202 des Zweidimensionalcode-Etiketts 101 vollendet. Das Codedaten-Verifikationsverfahren wird dann beendet.
  • Wenn beim Schritt S70 die CPU 52 feststellt, dass der beim Schritt S69 berechnete Wert nicht gleich den beim Schritt S62 berechneten Prüfdaten ist, beendet die CPU 52 das Verfahren durch Überspringen des Schritts S71.
  • Wenn das Codedaten-Verifikationsverfahren wie oben beschrieben vollendet wird, wird Schritt S15 nach 13 erreicht. Beim Schritt S15 wird eine Prüfung durchgeführt, um zu sehen, ob beim Schritt S71 nach 19 der Codeteil 202 vollendet wurde. Wenn festgestellt wird, dass der Codeteil 202 vollendet worden ist, wird Schritt S16 erreicht. Beim Schritt S16 platziert die CPU 52 die beim Schritt S62 nach 19 berechneten Codedaten (das heißt den Wert des Zweidimensionalcode-Etiketts 201) beispielsweise im RAM 54, um sie darin zu speichern. Das Zweidimensionalcode-Erkennungsverfahren wird dann beendet.
  • Wenn beim Schritt S11 festgestellt wird, dass der Logomarkenzellenteil 301 detektiert worden ist, wenn beim Schritt S13 festgestellt wird, dass der Codeteil nicht detektiert worden ist, oder wenn beim Schritt S15 festgestellt wird, dass der Codeteil 202 nicht vollendet worden ist, wird festgestellt, dass die dem Zweidimensional-Codeerkennungsverfahren gegenwärtig unterworfenen Bilddaten jeden zweidimensionalen Code ausschließen, und das Verfahren wird beendet.
  • In der beschriebenen Weise wird der Logomarkenzellenteil 301, der Attribute eines zweidimensionalen Codes wie beispielsweise eine Logomarke darstellt, als die Referenz für das Erkennungsverfahren benutzt, wodurch der Codeteil 202 detektiert wird. Das Merkmal macht es möglich, den vom zweidimensionalen Code eingenommenen Bereich zu minimieren. Da der Logomarkenzellenteil 301 nicht nur die referenzanzeigende Funktion, sondern auch die Funktion zur Anzeige einer Logomarke oder von Zeichen bietet, ist es möglich, sowohl Referenzinformation, die für das Erkennungsverfahren notwendig ist, als auch durch den Menschen lesbare Information im kleinstmöglichen Bereich, der vom Code eingenommen wird, bereitzustellen.
  • Ein zur Ausführung der oben beschriebenen Verfahren ausgebildetes Computerprogramm kann auf solchen Bauteilmedien wie Disketten, CD-ROMs und DVDs, auf Halbleiternspeichern, Magnetplatten und dgl., bei denen das Programm vorübergehend oder permanent gespeichert ist, auf verdrahteten und drahtlosen Kommunikationsmedien wie beispielsweise LANs (= lokal area networks (lokales Datennetz)), das Internet, digitale Satellitenrundfunknetzwerke oder in diversen Kommunikationsschnittstellen wie beispielsweise Routern und Modems zur Übertragung oder zum Empfang des von den vorstehenden Medien gebotenen Programms erhalten werden. Solche Medien, Netzwerke, Schnittstellen und andere Maßnahmen ermöglichen dem Programm, in Computern zur Programmausführung installiert zu werden. Das in dieser Beschreibung erwähnte Speichermedium bezieht sich breit auf alle solchen Medien, Netzwerke, Schnittstellen und Maßnahmen.
  • Durch die Benutzung des erfindungsgemäßen Zweidimensionalencode-Erkennungsverarbeitungsverfahrens, Zweidimensionalencode-Erkennungsverarbeitungsgeräts und des ein Zweidimensionalencode-Erkennungsverarbeitungsprogramm speichernden Speichermediums werden von extern erfasster Bildinformation entsprechend einem vorbestimmten Schwellenwert binäre Daten erzeugt. Von den so erzeugten binären Daten wird eine Referenzzelle detektiert, wobei die Referenzzelle bei der Erkennung eines zweidimensionalen Codes als Referenz dient. In Bezug auf die Referenzzelle werden von innerhalb eines vorbestimmten Suchbereichs Eckzellen detektiert. Dann werden Codedaten detektiert, die dem in einem von der Referenzzelle und von den Eckzellen eingeschlossenen Bereich eines Codeteils existierenden zweidimensionalen Code zugeordnet werden. Die Verbesserungen machen es möglich, von den zweidimensionalen Code darstellenden Bilddaten Codedaten effizient und präzise zu erkennen. Da die Referenzzelle die Funktion einer Anzeige von Attributen eines zweidimensionalen Codes wie beispielsweise einer Logomarke aufweist, ist es möglich, sowohl die für das Erkennungsverfahren notwendige Referenzinformation als auch durch den Menschen lesbare Information im kleinstmöglichen Bereich, der vom Code eingenommen wird, bereitzustellen.
  • Da viele naheliegende unterschiedliche Ausführungsformen dieser Erfindung ohne Verlassen ihres Schutzbereichs gemacht werden können, ist einzusehen, dass die Erfindung, ausgenommen wie in den beigefügten Ansprüchen definiert, nicht auf ihre speziellen Ausführungsformen beschränkt ist.

Claims (17)

  1. Zweidimensionalcode-Erkennungsverarbeitungsverfahren zur Erkennung eines zweidimensionalen Codes, der aus mehreren entsprechend vorbestimmten Anordnungsregeln angeordneten viereckigen Zellen gebildet ist, wobei das Verfahren die Schritte aufweist: Erzeugen (S2) von Binärdaten aus extern gewonnener Bildinformation, Detektieren (S10) einer Referenzzelle (301), die bei der Erkennung des zweidimensionalen Codes auf der Basis der beim Binärdaten-Erzeugungsschritt erzeugten Binärdaten als eine Referenz dient, Detektieren (S12) von Eckzellen, deren jede in einem vorbestimmten Suchbereich in Bezug auf die beim Referenzzellen-Detektionsschritt (S10) detektierten Referenzzelle (301) angeordnet ist, auf der Basis der beim Binärdaten-Erzeugungsschritt (S2) erzeugten Binärdaten, und Detektieren (S14) von Codedaten, die dem zweidimensionalen Code zugeordnet sind, der im Innern eines Bereichs eines von der Referenzzelle (301) und den Eckzellen umgebenen Codeteils (202) existiert, auf der Basis der beim Binärdaten-Erzeugungsschritt erzeugten Binärdaten, dadurch gekennzeichnet, dass der Binärdaten-Erzeugungsschritt eine Erzeugung der Daten entsprechend einem vorbestimmten Schwellenwert (A–E) aufweist, und dass das Verfahren die Schritte eines Zählens (S3) einer Gesamtzahl von Schwarzpixelaneinandergrenzgebieten auf der Basis der beim Binärdaten-Erzeugungsschritt erzeugten Binärdaten und einer Änderung (S6) des vorbestimmten Schwellenwerts (A–E) von einem Kandidatenwert zu einem anderen für den Binärdaten-Erzeugungsschritt in Stufen, bis die Gesamtzahl unter einen vorbestimmten Gebietszählwert fällt (S4), aufweist.
  2. Verfahren nach Anspruch 1, aufweisend den Schritt einer Beendigung (S5) einer Reihe von Erkennungsverarbeitungsschritten, wenn die Gesamtzahl aneinandergrenzender Schwarzpixelgebiete wenigstens gleich dem vorbestimmten Gebietszählwert ist, nachdem der vorbestimmte Schwellenwert auf jeden von allen Kandidatenschwellenwerte in Stufen gesetzt worden ist, wonach andere Reihen von Erkennungsverarbeitungsschritten auf der Basis von extern gewonnener neuer Bildinformation gestartet wird.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Referenzzelle (301) ein rechteckiges Schwarzpixelaneinandergrenzgebiet ist, das ein vorbestimmtes Aspektverhältnis aufweist und das vollständig lesbare Information enthält, und wobei der Referenzzellen-Detektionsschritt (S10) die rechteckige Referenzzelle, die das vorbestimmte Aspektverhältnis aufweist und die lesbare Information enthält, detektiert.
  4. Verfahren nach Anspruch 3, wobei die lesbare Information eine an ein Codeschema des zweidimensionalen Codes angebrachte Logomarke ist.
  5. Verfahren nach Anspruch 3, wobei die lesbare Information ein dem Codeschema des zweidimensionalen Codes zugeordneter Name einer Gesellschaft ist.
  6. Verfahren nach Anspruch 3, wobei die lesbare Information eine dem Codeschema des zweidimensionalen Codes zugeordnete URL (Uniform Resource Location) ist.
  7. Verfahren nach Anspruch 3, wobei der Referenzzellen-Detektionsschritt (S10) die rechteckige Referenzzelle von einem Detektionsstartpunkt aus detektiert, der wie gewünscht und auf der Basis der beim Binärdaten-Erzeugungsschritt erzeugten Binärdaten festgesetzt wird.
  8. Verfahren nach Anspruch 7, wobei der Referenzzellen-Detektionsschritt (S10) einen Startpunkt der zuletzt detektierten Referenzzelle als den Detektionsstartpunkt festsetzt.
  9. Verfahren nach Anspruch 7, wobei, wenn es keinen Startpunkt der zuletzt detektierten Referenzzelle gibt, der Referenzzellen-Detektionsschritt (S10) einen zentralen Punkt der extern gewonnenen Bildinformation als den Detektionsstartpunkt festsetzt.
  10. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Codedaten-Detektionsschritt (S14) die Schritte aufweist: Berechnen (S62) von Codedaten aus dem zweidimensionalen Code, der im Innern des Bereichs des von der Referenzzelle (301) und von den Eckzellen umgebenen Codeteils existiert, auf der Basis der beim Binärdaten-Erzeugungsschritt erzeugten Binärdaten, Berechnen (S62) von Prüfdaten aus dem zweidimensionalen Code, der im Innern des Bereichs des Codeteils existiert, und Verifizieren (S70) der beim Codedaten-Berechnungsschritt berechneten Codedaten auf der Basis der beim Prüfdaten-Berechnungsschritt berechneten Prüfdaten.
  11. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Binärdaten-Erzeugungsschritt außerdem aufweist: Erfassen von Bildinformation, die von einer externen Bildaufnahmeeinrichtung (23) aufgenommen wird, um aus der erfassten Bildinformation Binärdaten entsprechend einem vorbestimmten Schwellenwert zu erzeugen.
  12. Zweidimensionalcode-Erkennungsverarbeitungsgerät zur Erkennung eines zweidimensionalen Codes, der aus mehreren entsprechend vorbestimmten Anordnungsregeln angeordneten viereckigen Zellen gebildet ist, wobei das Gerät aufweist: eine Binärdaten-Erzeugungseinrichtung (80, 52) zur Erzeugung von Binärdaten aus extern gewonnener Bildinformation, eine Referenzzellen-Detektionseinrichtung (52) zum Detektieren einer Referenzzelle (301), die bei der Erkennung des zweidimensionalen Codes auf der Basis der von der Binärdaten-Erzeugungseinrichtung erzeugten Binärdaten als eine Referenz dient, eine Eckzellen-Detektionseinrichtung (52) zum Detektieren von Eckzellen, deren jede in einem vorbestimmten Suchbereich in Bezug auf die von der Referenzzellen-Detektianseinrichtung angeordnet ist, auf der Basis der von der Binärdaten-Erzeugungseinrichtung erzeugten Binärdaten, und eine Codedaten-Detektionseinrichtung (52) zum Detektieren von Codedaten, die dem zweidimensionalen Code zugeordnet sind, der im Innern eines Bereichs eines von der Referenzzelle (301) und von den Eckzellen umgebenen Codeteils existiert, auf der Basis der von der Binärdaten-Erzeugungseinrichtung zugeordneten Binärdaten, dadurch gekennzeichnet, dass die Binärdaten-Erzeugungseinrichtung (82, 52) die Daten entsprechend einem vorbestimmten Schwellenwert (A–E) erzeugt, und dass eine Schwellenwert-Änderungseinrichtung (52) zum Zählen (i) einer Gesamtzahl von Schwarzpixelaneinandergrenzgebieten auf der Basis der von der Binärdaten-Erzeugungseinrichtung erzeugten Binärdaten und zur Änderung des vorbestimmten Schwellenwerts (A–E) von einem Kandidatenwert zu einem anderen für die Binärdaten-Erzeugungseinrichtung in Stufen, bis die Gesamtzahl unter einen vorbestimmten Gebietszählwert abfällt, vorhanden ist.
  13. Gerät nach Anspruch 12, wobei die Referenzzellen-Detektionseinrichtung (52) eine rechteckigen Referenzzelle, die bei der Erkennung des zweidimensionalen Codes als die Referenz dient und die ein vorbestimmtes Aspektverhältnis aufweist, von einem Detektionsstartpunkt aus detektiert, der wie gewünscht und auf der Basis der von der Binärdaten-Erzeugungseinrichtung erzeugten Binärdaten festgesetzt wird.
  14. Gerät nach Anspruch 12 oder 13, wobei die Daten-Detektionseinrichtung (52) aufweist: eine Codedaten-Berechnungseinrichtung zur Berechnung von Codedaten aus dem zweidimensionalen Code, der im Innern des Bereichs des von der Referenzzelle und von den Eckzellen umgebenen Codeteils existiert, auf der Basis der von der Binärdaten-Erzeugungseinrichtung erzeugten Binärdaten, eine Prüfdaten-Berechnungseinrichtung zur Berechnung von Prüfdaten aus dem zweidimensionalen Code, der im Innern des Bereichs des Codeteils existiert, und eine Verifikationseinrichtung zur Verifikation der von der Codedaten-Berechnungseinrichtung auf der Basis der von der Prüfdaten-Berechnungseinrichtung berechneten Prüfdaten.
  15. Gerät nach Anspruch 12, 13 oder 14, wobei die Binärdaten-Erzeugungseinrichtung (82, 52) Bildinformation erfasst, die von einer externen Bildaufnahmeeinrichtung (23) aufgenommen ist, um von der erfassten Bildinformation Binärdaten entsprechend einem vorbestimmten Schwellenwert zu erzeugen.
  16. Speichermedium, das ein Zweidimensionalcode-Erkennungsverarbeitungsprogramm zur Erkennung eines zweidimensionalen Codes aufweist, der aus mehreren entsprechend vorbestimmten Anordnungsregeln angeordneten viereckigen Zellen gebildet ist, wobei das Programm von einem Computer ausführbar wird und Instruktionen zur Ausführung eines Verfahrens nach einem der Ansprüche 1 bis 11 aufweist.
  17. Computerprogramm, das eine Programmcodeeinrichtung zur Ausführung eines Verfahrens nach einem der Ansprüche 1 bis 11 aufweist.
DE69924324T 1998-06-30 1999-06-30 Erkennungsverfahren und Erkennungsgerät für eine zweidimensionale Kodierung, und Speichermedium Expired - Lifetime DE69924324T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP18435098 1998-06-30
JP18435098 1998-06-30

Publications (2)

Publication Number Publication Date
DE69924324D1 DE69924324D1 (de) 2005-04-28
DE69924324T2 true DE69924324T2 (de) 2006-03-09

Family

ID=16151731

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69924324T Expired - Lifetime DE69924324T2 (de) 1998-06-30 1999-06-30 Erkennungsverfahren und Erkennungsgerät für eine zweidimensionale Kodierung, und Speichermedium

Country Status (5)

Country Link
US (3) US6650776B2 (de)
EP (1) EP0969403B1 (de)
KR (1) KR100769836B1 (de)
DE (1) DE69924324T2 (de)
TW (1) TW434520B (de)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4332964B2 (ja) * 1999-12-21 2009-09-16 ソニー株式会社 情報入出力システム及び情報入出力方法
US20060082557A1 (en) * 2000-04-05 2006-04-20 Anoto Ip Lic Hb Combined detection of position-coding pattern and bar codes
EP1143372B1 (de) * 2000-04-06 2006-03-22 Seiko Epson Corporation Verfahren und Vorrichtung zum Lesen von einem zwei-dimensionalen Strichkode und Datenspeichermedium
JP4419269B2 (ja) * 2000-04-18 2010-02-24 富士通株式会社 二次元コード抽出方法
JPWO2003007137A1 (ja) * 2001-07-12 2004-11-04 ソニー株式会社 情報入力・指示方法及び情報入力・指示装置
US7567675B2 (en) * 2002-06-21 2009-07-28 Audyssey Laboratories, Inc. System and method for automatic multiple listener room acoustic correction with low filter orders
WO2004002192A1 (en) * 2002-06-21 2003-12-31 University Of Southern California System and method for automatic room acoustic correction
US7620246B2 (en) * 2002-07-30 2009-11-17 Fujifilm Corporation Method and apparatus for image processing
RU2232419C1 (ru) * 2002-12-17 2004-07-10 Аби Софтвер Лтд. Система автоматизации ввода и контроля документов
WO2004086751A2 (en) 2003-03-27 2004-10-07 Sergei Startchik Method for estimating logo visibility and exposure in video
ES2550835T3 (es) * 2003-05-19 2015-11-12 Vodafone Group Plc Terminal de comunicación móvil
US20050015370A1 (en) * 2003-07-14 2005-01-20 Stavely Donald J. Information management system and method
JP3904562B2 (ja) * 2004-02-18 2007-04-11 株式会社ソニー・コンピュータエンタテインメント 画像表示システム、記録媒体及びプログラム
JP3851907B2 (ja) * 2004-02-18 2006-11-29 株式会社ソニー・コンピュータエンタテインメント 画像表示システム及びビデオゲームシステム
FR2868648B1 (fr) * 2004-03-31 2006-07-07 Wavecom Sa Procede de transmission de donnees numeriques vers un dispositif electronique portable, signal, dispositif et application correspondants
US20060050961A1 (en) * 2004-08-13 2006-03-09 Mohanaraj Thiyagarajah Method and system for locating and verifying a finder pattern in a two-dimensional machine-readable symbol
US7720237B2 (en) * 2004-09-07 2010-05-18 Audyssey Laboratories, Inc. Phase equalization for multi-channel loudspeaker-room responses
US7826626B2 (en) * 2004-09-07 2010-11-02 Audyssey Laboratories, Inc. Cross-over frequency selection and optimization of response around cross-over
GB2424109B (en) * 2005-03-08 2008-02-27 Roke Manor Research Information encoding methods, and sets of graphical codes
US7769236B2 (en) * 2005-10-31 2010-08-03 National Research Council Of Canada Marker and method for detecting said marker
JP2007156879A (ja) * 2005-12-06 2007-06-21 Sony Corp 情報処理装置および方法、並びにプログラム
JP4916167B2 (ja) * 2005-12-15 2012-04-11 キヤノン株式会社 指標識別方法及び指標識別装置
US20070182826A1 (en) * 2006-02-07 2007-08-09 Knowledge Athletes, Inc. Data access, resolution, and delivery method through the use of multi-bit digital icons
US8144922B2 (en) * 2006-04-19 2012-03-27 A T Communications Co., Ltd. Two-dimensional code with a logo
FR2904452B1 (fr) * 2006-07-28 2009-02-27 Alphacode Sarl Procede de codage de l'information au moyen de caracteres mixtes
GB0702090D0 (en) * 2007-02-02 2007-03-14 Fracture Code Corp Aps Virtual code window
US8363853B2 (en) * 2007-02-23 2013-01-29 Audyssey Laboratories, Inc. Room acoustic response modeling and equalization with linear predictive coding and parametric filters
DE102007015514A1 (de) * 2007-03-30 2008-10-09 Iconmobile Gmbh Übermittlungsverfahren
US7780084B2 (en) 2007-06-29 2010-08-24 Microsoft Corporation 2-D barcode recognition
JP4876056B2 (ja) * 2007-11-16 2012-02-15 キヤノン株式会社 画像処理装置、画像処理方法
US8328097B2 (en) * 2010-08-24 2012-12-11 GM Global Technology Operations LLC Multi-purpose appendable marking method
US8705764B2 (en) 2010-10-28 2014-04-22 Audyssey Laboratories, Inc. Audio content enhancement using bandwidth extension techniques
US8634654B2 (en) 2011-04-15 2014-01-21 Yahoo! Inc. Logo or image recognition
EP2891068A4 (de) * 2012-08-31 2016-01-20 Hewlett Packard Development Co Aktive regionen eines bildes mit zugänglichen verbindungen
EP2937817B1 (de) * 2012-12-19 2021-09-01 Denso Wave Incorporated Informationscode, verfahren zur erzeugung von informationscodes, informationscodeleser und system zur verwendung von informationscodes
US9016571B2 (en) * 2013-08-08 2015-04-28 National Tsing Hua University Two dimensional code and method of creating the same
AU2014321165B2 (en) * 2013-09-11 2020-04-09 See-Out Pty Ltd Image searching method and apparatus
US11151630B2 (en) 2014-07-07 2021-10-19 Verizon Media Inc. On-line product related recommendations
CN106446888B (zh) * 2015-08-04 2020-12-18 宁波舜宇光电信息有限公司 摄像模组多标识符识别方法及设备
CN105205522B (zh) * 2015-09-30 2018-06-12 立德高科(昆山)数码科技有限责任公司 带有溯源二维码的单据、及其加工方法与溯源方法
CN105933353B (zh) * 2016-07-05 2019-05-17 北京万维星辰科技有限公司 安全登录的实现方法及系统
WO2020214182A1 (en) * 2019-04-18 2020-10-22 Hewlett-Packard Development Company, L.P. Adjusting camera operation for encoded images
CN112241642B (zh) * 2019-07-19 2024-02-23 杭州海康威视数字技术股份有限公司 二维码的识别方法、装置、设备以及存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4900904A (en) * 1986-11-26 1990-02-13 Wright Technologies, L.P. Automated transaction system with insertable cards for downloading rate or program data
US4939354A (en) 1988-05-05 1990-07-03 Datacode International, Inc. Dynamically variable machine readable binary code and method for reading and producing thereof
US5304786A (en) * 1990-01-05 1994-04-19 Symbol Technologies, Inc. High density two-dimensional bar code symbol
CA2039652C (en) * 1990-05-30 1996-12-24 Frank Zdybel, Jr. Hardcopy lossless data storage and communications for electronic document processing systems
JPH05290197A (ja) 1992-04-06 1993-11-05 Teiriyou Sangyo Kk 二次元コ−ドシンボルマ−クの解読方法
US5288986A (en) 1992-09-17 1994-02-22 Motorola, Inc. Binary code matrix having data and parity bits
JPH06150045A (ja) * 1992-11-13 1994-05-31 Yamatake Honeywell Co Ltd 田型コードの読み取り方法
US5606507A (en) * 1994-01-03 1997-02-25 E-Stamp Corporation System and method for storing, retrieving and automatically printing postage on mail
US5812991A (en) * 1994-01-03 1998-09-22 E-Stamp Corporation System and method for retrieving postage credit contained within a portable memory over a computer network
JP2835274B2 (ja) * 1994-02-24 1998-12-14 株式会社テック 画像認識装置
US5726435A (en) * 1994-03-14 1998-03-10 Nippondenso Co., Ltd. Optically readable two-dimensional code and method and apparatus using the same
JP2867904B2 (ja) * 1994-12-26 1999-03-10 株式会社デンソー 2次元コード読取装置
US5619027A (en) * 1995-05-04 1997-04-08 Intermec Corporation Single width bar code symbology with full character set utilizing robust start/stop characters and error detection scheme
JP2788439B2 (ja) * 1995-10-20 1998-08-20 吉之助 長塩 2次元バーコード及びこれを用いたカード
US5814796A (en) * 1996-01-31 1998-09-29 Mag-Tek, Inc. Terminal for issuing and processing data-bearing documents
US5938727A (en) * 1996-02-01 1999-08-17 Ikeda; Takashi Communication system and method via digital codes
JPH09274636A (ja) * 1996-04-05 1997-10-21 Keyence Corp 光学情報読取装置
JP3209108B2 (ja) * 1996-08-23 2001-09-17 松下電器産業株式会社 2次元コード読み取り装置
WO1998020411A1 (en) * 1996-11-08 1998-05-14 Neomedia Technologies, Inc. Automatic access of electronic information through machine-readable codes on printed documents
US6000614A (en) * 1996-12-20 1999-12-14 Denso Corporation Two-dimensional code reading apparatus
US5781221A (en) * 1997-02-28 1998-07-14 Eastman Kodak Company Method of printing visually readable information on a compact disk
US6036094A (en) * 1997-06-13 2000-03-14 Symbol Technologies, Inc. Hand-held optical scanner for reading two-dimensional bar code symbols and the like
US7738706B2 (en) * 2000-09-22 2010-06-15 Sri International Method and apparatus for recognition of symbols in images of three-dimensional scenes
US7031553B2 (en) * 2000-09-22 2006-04-18 Sri International Method and apparatus for recognizing text in an image sequence of scene imagery

Also Published As

Publication number Publication date
US7142714B2 (en) 2006-11-28
KR20000006573A (ko) 2000-01-25
KR100769836B1 (ko) 2007-10-24
US20040017945A1 (en) 2004-01-29
US20020181772A1 (en) 2002-12-05
DE69924324D1 (de) 2005-04-28
EP0969403A2 (de) 2000-01-05
EP0969403A3 (de) 2002-11-06
EP0969403B1 (de) 2005-03-23
TW434520B (en) 2001-05-16
US6650776B2 (en) 2003-11-18
US20060274942A1 (en) 2006-12-07
US7424155B2 (en) 2008-09-09

Similar Documents

Publication Publication Date Title
DE69924324T2 (de) Erkennungsverfahren und Erkennungsgerät für eine zweidimensionale Kodierung, und Speichermedium
DE69724755T2 (de) Auffinden von Titeln und Photos in abgetasteten Dokumentbildern
DE60217518T2 (de) Gerät und verfahren zur navigation in einem menü
DE60115532T2 (de) Verfahren und Vorrichtung für einen Nachrichtendienst
DE60013101T2 (de) Zweidimensionales codemuster zum speichern biometrischer informationen und vorrichtung zum lesen dieser informationen
DE60212473T2 (de) Codeleser und Unterhaltungssystem
DE69625583T2 (de) Datenformleser
DE60318111T2 (de) Dateispeicherbaustein, dateispeicherprogramm und dateispeicherverfahren
DE69432585T2 (de) Verfahren und Gerät zur Auswahl von Text und/oder Non-Text-Blöcken in einem gespeicherten Dokument
DE60129872T2 (de) Verfahren zur Extrahierung von Titeln aus numerischen Bildern
DE102009036474B4 (de) Bilddaten-Kompressionsverfahren, Mustermodell-Positionierungsverfahren bei Bildverarbeitung, Bildverarbeitungsvorrichtung, Bildverarbeitungsprogramm und computerlesbares Aufzeichnungsmedium
DE10195927B4 (de) Verallgemeinerte Textlokalisation in Bildern
DE10195928B4 (de) Abschätzen der Textfarbe und Segmentieren von Bildern
DE3926327C2 (de) Verfahren und System zum Erkennen von Zeichen auf einem Medium
DE69929572T2 (de) Verfahren zum Lesen eines zweidimensionalen Strichcode ohne Taktsignal und ohne Ränder
DE112017002821T5 (de) Verfahren, System und Computerprogrammprodukt zur interaktiven Identifizierung von gleichen Personen oder Objekten in Videoaufnahmen
DE69724675T2 (de) Datenausgabestruktur, -methode und -endgerät
CH679084A5 (de)
DE69935392T2 (de) Dokumentverarbeitung
DE69920791T2 (de) Vorrichtung und Verfahren zur Interpolation von Bilddaten
DE102009036467A1 (de) Mustermodell-Positionierungsverfahren bei Bildverarbeitung, Bildverarbeitungsvorrichtung, Bildverarbeitsprogamm und computerlesbares Aufzeichnungsmedium
EP2208170A1 (de) Verfahren zur bildanalyse, insbesondere für mobilfunkgerät
DE102011005579A1 (de) Bildverarbeitungsvorrichtung, Bildverarbeitungsverfahren und Speichermedium
EP0984385A2 (de) Erkennungsverarbeitung für eine zweidimensionale Kodierung
DE19530829A1 (de) Verfahren zum elektronischen Wiederauffinden von einem Dokument hinzugefügter Informationen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition