JP2000200321A - 2次元バ―コ―ドを場所検知し及び読取るための方法 - Google Patents

2次元バ―コ―ドを場所検知し及び読取るための方法

Info

Publication number
JP2000200321A
JP2000200321A JP11357901A JP35790199A JP2000200321A JP 2000200321 A JP2000200321 A JP 2000200321A JP 11357901 A JP11357901 A JP 11357901A JP 35790199 A JP35790199 A JP 35790199A JP 2000200321 A JP2000200321 A JP 2000200321A
Authority
JP
Japan
Prior art keywords
bitmap
pixels
pixel
skew
horizontal
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.)
Pending
Application number
JP11357901A
Other languages
English (en)
Inventor
Yue Ma
マ ユゥー
Junichi Kanai
潤一 金井
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of JP2000200321A publication Critical patent/JP2000200321A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/1456Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Character Input (AREA)

Abstract

(57)【要約】 (修正有) 【課題】複雑な背景の存在下で動作し、改善された処理
速度を有し、コーナービットを含まない、印刷媒体上に
印刷された境界がなくクロックのない2次元バーコード
の形式でデジタル的に符号化された情報を復号化する。 【解決手段】印刷媒体を走査し、ステップ的に窓を移動
させることにより、ビットマップを場所検知する。各ス
テップで、窓の囲む部分を試験し、ビットマップの特性
に適合するか判定する。ビットマップのスキューが有れ
ば候補領域を複数の水平領域に分割し、各領域に対して
予備的なスキュー角度を計算し、実際のスキュー角度を
投票のやり方を使用して選択し、スキュー修正し、切り
取り、ランダム化したデジタル情報をビットマップから
読取る。最後に誤りを訂正し記録する過程において、デ
ジタル情報のランダム化を解き、誤り訂正符号を除去
し、オリジナルの符号化されたデジタル情報を再現す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】発明の分野発明は、一般的
に、画像内に印刷された2次元バーコードを場所検知し
(locate)及び読取るための改良された方法に関
する。
【0002】
【従来の技術】発明の背景 いつの日にか我々が「紙のない社会」に暮らすようにな
るという、しばしば耳にする予測に反して、紙や他の印
刷媒体は、廉価で効率が良く便利な通信のための手段と
して、ますます増大する重要な役割を演じている。しか
し紙についての基本的制約は、コンピュータの立場から
は、それが現時点では出力のみのフォーマットであるこ
とである。紙は、人間が使用するための情報を表示する
ための好ましい媒体ではあろうが、それが一旦印刷され
ると、コンピュータにとって、データを信頼性をもって
回復することは不可能でないとしても困難である。光学
的文字認識(OCR:optical charact
er recognition)は、標準フォントを用
いて表現されたテキストのような比較的簡略な範囲でこ
の問題を解決することを企てるが、これまでのところ、
限定的な成功を収めただけである。99%の正確率が多
分達成可能であり、印象的と感じられるであろうが、
3,000文字を有するページは未だ平均で30個のO
CR誤りを抱えており、したがって、費用がかさみ時間
もかかる人手による後処理を必要とする。
【0003】他のアプローチは、紙(又はマイクロフィ
ルムのような他の印刷媒体)の上に直接含まれるかもし
れない、コンピュータで読むことが出来る、バーコード
を使用する。一旦符号化されると、そのようなバーコー
ドは、人間の読み手には明らかであるがコンピュータに
は認識することが困難な情報(例えば印刷されたテキス
ト)、ページの作成に対して黙示するが人間の読み手に
は本質的に見えない情報(例えばスプレッドシート(マ
トリックス清算表。spreadsheet)の式(f
ormulas)、又は、紙上の実際の文字テキストに
依存するか否かにかかわらず他の任意の所望の情報、を
回復するために、コンピュータによって使用されること
が可能である。
【0004】デジタルデータが紙上に直接記録されると
ころの、コンピュータで読むことが出来るバーコードは
知られており、簡略な数字の符号化及び走査の技術を用
いて、決まった値(複数)のセットを付与された文書又
は製品の同定(identification)のため
に、使用されてきている。過去において採用されてきた
文書又は製品の同定システムは、広い範囲の領域で用途
を見い出してきたバーコードマーカーとスキャナーとを
備える。紙の文書に関しては、関連する機器に情報を提
供するために、紙の中の特別のマーク又はパターンが使
用されてきており、例えば、ヒカワ(Hikawa)に
よって米国特許第5,051,779号に教えられるよ
うな画像処理のためのジョブ制御シートである。
【0005】同様に、符号化情報を有する同定マーク
が、ジョンソン(Johnson)及びその他の者に対
する米国特許第5,060,980号に記載されている
ように、事前に印刷された書式(form)の表面の上
に印刷されてきた。ジョンソン及びその他の者のシステ
ムは、利用者が、書式の紙コピー上の領域に手書きの情
報を入れ、それから、コンピュータに電子的に記憶され
る、複製書式の領域への挿入を提供するために、書式を
走査する、ことを提供する。さらに他のシステムが、ブ
ルームバーグ(Bloomberg)及びその他の者の
米国特許第5,091,966号に記載されており、こ
れは絵文字形状の符号(glyph shape co
des)の復号化を教えるものであって、この符号は、
紙上にデジタル的に符号化されたデータである。同定符
号はコンピュータによって読取られることが可能であ
り、それによって、このような文書を同定し、検索し
(retrieving)、伝送するといった、コンピ
ュータの文書の取扱いを容易にする。
【0006】上述のような多様な形状のバーコードの他
に、印刷媒体上にデジタル的に符号化された情報を表す
「データライン」の複数のロウ(行。row)を有する
「データストリップ」と呼ばれる2次元バーコードもま
た、技術において知られている。各データラインのロウ
は、それぞれ2進の「0」と「1」とを表す一連の黒と
白とのピクセルから成る。各ロウのビットの順序が、そ
こに記憶されるデジタルデータを判定する。ロウの全体
の内に記憶されたデータが、2次元バーコードに含まれ
るデータを規定する。典型的には、バーコードを読取る
ために、利用者はハンドスキャナーを通すが、それは、
各データラインのロウにある情報を、バーコードの長さ
に垂直方向に沿って同時に読取って、全てのデータライ
ンのロウを読取る。
【0007】紙媒体にデータラインのロウを有するデー
タストリップ2次元バーコードを使用する先行技術によ
るシステムの例は、ブラス(Brass)及びその他の
者の米国特許第4,692,603号、第4,754,
127号及び第4,782,221号に見出される。こ
のシステムでは、2次元バーコードは、コンピュータプ
ログラム及びデータを紙上に符号化するために使用さ
れ、ハンドスキャナーの使用により走査されるデータラ
インのロウから成る。コンピュータプログラム及びデー
タを符号化することに加えて、これらのデータライン
は、又、追跡(トラッキング。tracking)及び
同期のビットを含むが、以下では「クロックビット」と
呼ばれる。直接に各データラインのロウ内で多数のクロ
ックビットを使用するという要件は、各ロウ内に記憶さ
れ得るデジタルデータの量を著しく減らす。さらに、こ
のようなバーコードが写真複写されたりファクシミリシ
ステムで伝送されるとありふれたことであるが、もし、
クロックビットを有するデータラインのロウが損傷を受
ければ、このようなクロックビットが失われて、バーコ
ードに符号化された情報を復号することが、不可能では
ないにしても、困難になる。
【0008】2次元バーコードの他の例は、(1)ノウ
ルズ(Knowles)に対する米国特許第5,08
3,214号、これは、符号化データ自身内に埋込まれ
たクロックビットを必要とする2次元バーコードシステ
ムを記載する;及び(2)サント アンセルモ(San
t’Anselmo)及びその他の者に対する米国特許
第4,924,078号、これは、方向付け(orie
ntation)及び/又はタイミングのセルの境界
(cell border)がバーコード自身の本体内
に含まれる2次元バーコードシステムを記載する;を含
む。
【0009】加えて、共に係属中の特許出願「クロック
のない2次元バーコード及びこれを印刷し読取るための
方法」(1995年12月8日に出願された、シリアル
(serial)番号08/569,280号)
(「‘280出願」)においては、この内容は言及によ
って明示的にこの中に織り込まれているが、バーコード
の4辺の少なくも1つの上に境界(border)を有
するクロックのない2次元バーコードが記載されてお
り、この境界はバーコード自身の範囲の外側に置かれ
る。この2次元バーコードは時に「パナマークス(Pa
naMarks)」(登録商標)と呼ばれる。この中に
おいて図1Aに描写されるように、2次元バーコード1
0が印刷ページ11の右手下隅に印刷されるが、この位
置は全く任意である。
【0010】図1Aに描写される実施例においては、印
刷ページ11の残余の部分は印刷テキスト12によって
占められている。しかし、技術において熟練する者は理
解するであろうように、いかなる型のコンピュータで生
成された印刷物であっても、例えばスプレッドシート又
はグラフィクスであっても、印刷テキスト12と置き換
えられることができる。ここに図1Bに描写される2次
元バーコード10は、その辺の4つ全ての上に存在する
境界13を備える。‘280出願に十分に記載されるよ
うに、境界13は2次元バーコード10の4辺の1つの
上で必要とされるだけであるが、美的理由によって、典
型的には、それは4辺全ての上に含まれる。
【0011】また、共に係属中の特許出願「境界がなく
クロックのない2次元バーコード及びこれを印刷し及び
読取るための方法」(1998年6月1日に出願され
た、シリアル番号09/088,189号)(「‘18
9出願」)においては、この内容は言及によって明示的
にこの中に織り込まれているが、境界がなくクロックの
ない2次元バーコード(この中の図2に示される)が、
これを印刷し及び読取る方法と共に記載されている。バ
ーコードに関する2つの代替的な記号等による表示(s
ymbologies)、即ち、4つのコーナービット
21が黒であることを必要とする第1の記号等による表
示(白い背景に印刷される場合)と、黒のコーナービッ
ト21が必要とされない第2の記号等による表示と、が
‘189出願に示されている。同様に、図2のバーコー
ドを読取るための2つの代替的な方法、即ち、この中に
おいて図8Aのフローチャート及びそれに関する説明に
によって記載されるように、コーナービットを必要とし
ないバーコード上で動作する第1の方法と、この中にお
いて図8Bのフローチャート及びそれに関する説明にに
よって記載されるように、コーナービットを有すること
を必要とするバーコード上で動作する第2の方法と、が
‘189出願に記載されている。
【0012】
【発明が解決しようとする課題】‘189出願に記載さ
れたバーコードを読取るための2つの方法は満足の行く
結果を与えるが、バーコードが複雑な背景を持ったペー
ジ上に印刷される場合には、‘189出願の図8A及び
8Bの場所検知ステップ70によって与えられる結果
は、それはその中で図9A及び9Bに関連して記載され
ているが、特に単一線のノイズ条件の存在(つまり、バ
ーコード内のビットブロックの幅より狭いか又はこれと
等しい幅を有する、バーコードを任意に横切る線であっ
て、これはファックスされた文書や、保守の良くないプ
リンタで印刷された文書においてしばしば発生し得る)
に際しては、最適より劣るものであることが、見出され
た。加えて、処理速度を増加させるために、‘189出
願の図8A及び8Bのハウ変換(Hough Tran
sform)のスキュー角度(歪曲角度。skew a
ngle)の見積もりステップ71における変更が、さ
れ得ることが見出された。また、バーコードがコーナー
ビットを含むことを必要とし、バーコード内に記憶され
得るビット数を減少させ、最適より劣る処理速度を有す
る、‘189出願の図8Bのテンプレート整合のスキュ
ー角度の見積もりステップは、本発明のハウ変換のスキ
ュー(歪曲。skew)の見積もりステップの処理速度
の増加によって、もはや必須(required)では
ない。
【0013】したがって、複雑な背景の存在下で動作す
ることが出来る、印刷媒体上に印刷された境界がなくク
ロックのない2次元バーコードの形式でデジタル的に符
号化された情報を、復号化する方法を提供することが、
本発明の目的である。改善された処理速度を有する、印
刷媒体上に印刷された境界がなくクロックのない2次元
バーコードの形式でデジタル的に符号化された情報を、
復号化する方法を提供することが本発明の追加の目的で
ある。コーナービットを含まない、印刷媒体上に印刷さ
れた境界がなくクロックのない2次元バーコードの形式
でデジタル的に符号化された情報を、復号化する方法を
提供することが本発明のまた更なる目的である。
【0014】境界を含んでも含まなくても良い、印刷媒
体上に印刷された2次元バーコードの形式でデジタル的
に符号化された情報を、復号化する方法を提供すること
が本発明の他の目的である。本発明の多様な他の目的、
利点及び特徴は、後に続く詳細な説明から容易に明らか
となるであろうし、新規な特徴は添付された請求の範囲
で特に指摘されるであろう。
【0015】
【課題を解決するための手段】発明の要約これらの及び
他の目的が、符号化されたデータビットを表すデータピ
クセルのロウとコラム(列。column)のビットマ
ップの形式で人間が読むことが出来る媒体上に印刷され
た、ランダム化された情報を復号化する方法によって実
現される。データピクセルの各々が第1又は第2の又は
色を有する。ビットマップは、既定のサイズを有し、既
定の実質的に一様な色のピクセルの外部領域によって囲
まれる。対照的な色の境界が、外部領域(outer
region)内に存在しても良い。人間が読むことが
出来る媒体は、ビットマップをデジタイズ(図形を読み
取って数値化する。digitize)するために、最
初に走査され、次いでピクセルベースのグレイスケール
表示(grayscale representati
on)にフォーマットされる。ピクセルベースのグレイ
スケール表示は、グレイスケール表示に基づく閾値強度
レベルを設定して、閾値より大きいか又はこれと等しい
ピクセルを第1のレベル即ち「0」に変換し、閾値より
小さいピクセルを第2のレベル即ち「1」に変換するこ
とにより、ピクセルベースの2進表示(binary
representation)に変換される。
【0016】デジタイズされたビットマップのロウ及び
コラムの境界は、ピクセルベースの2進表示を横切っ
て、窓(window)を既定のパターンでステップ的
な態様(stepwise fashion)で移動さ
せることにより、場所検知される。各ステップで、窓に
よって囲まれる表示の部分が、その部分がビットマップ
の1又はそれ以上の特性に従っているかどうかを判定す
るために試験され、その部分がビットマップの1又はそ
れ以上の特性に従っている場合には、デジタイズされた
ビットマップの境界が窓の境界として設定される。デジ
タイズされたビットマップのスキュー角度が判定され、
もし必要な場合には、スキュー角度が実質的にゼロに減
らされるように、デジタイズされたビットマップのスキ
ューが取り除かれる。デジタイズされたビットマップは
その後に刈り取られ(cropped)、2進データが
デジタイズされたビットマップから読出され、これによ
って、デジタルデータの1次元配列を生成する。最後に
1次元配列がランダム化を解かれ(is derand
omized)、誤り訂正が適用されて、符号化情報の
実質的に誤りのないデジタル表示が生成される。
【0017】1つの実施例では、場所検知ステップ(l
ocating step)で使用される窓は、ビット
マップの既定の大きさに対応するコア領域(core
region)と、外部領域に対応する単調な領域(q
uiet region)と、を具備する。試験は、コ
ア領域と単調な領域とによって囲まれる表示の部分を別
個に試験して、それらの部分がそれぞれビットマップと
外部領域との1又はそれ以上の特性に従うかどうかを判
定することを、具備する。好ましくは、各領域のピクセ
ル分布が試験されて、それが既定の範囲内に入るかどう
かを判定し、ビットマップが画像内に存在することを確
認する(verify)、つまり、コア領域内のビット
マップはおおよそ五分五分の(even)ピクセル分布
を有するであろうし、外部領域は「0」又は「1」のい
ずれかが100%に近いピクセル(複数)を有するピク
セル分布を有するであろう。
【0018】コア領域及び単調な領域によって囲まれる
表示の部分がビットマップの1又はそれ以上の特性に従
う場合には、デジタイズされたビットマップの候補領域
の境界は、コア領域の境界に設定される。加えて、も
し、窓によって囲まれる表示の部分が前の試験を満足す
ることが見出されるならば、コア領域によって囲まれた
部分も刈り取られてその中の候補のビットマップの外部
境界を判定し、外部境界がビットマップの既定の寸法と
比較され、ビットマップが窓内に存在することをさらに
確認する。
【0019】本発明の他の実施例では、場所検知された
候補領域内の全ての水平又は垂直の端を最初に場所検知
することにより、好ましくは有限状態認識器(fini
te−state recognizer)を用いて、
スキュー角度が判定される。水平又は垂直の端を表す、
場所検知された候補領域内の、水平又は垂直の線の座標
は、それからハウ変換を用いて計算される。最後にスキ
ュー角度が、候補領域内の水平又は垂直の線の座標と、
表示内のピクセルのロウを表す水平線又は候補領域内の
ピクセルのコラムを表す垂直線と、の間の角度として、
計算される。オプションとして(optionall
y)、水平及び垂直の端の双方が場所検知されることが
でき、スキュー角度は水平及び垂直の端の双方を用いて
計算されることができる。
【0020】さらに他の実施例においては、候補領域が
複数の水平及び/又は垂直の領域に分割される。予備的
なスキュー角度が複数の水平及び/又は垂直の領域の各
々について計算され、スキュー角度が予備的なスキュー
角度から投票方式で選択される、つまり中央値が選択さ
れる。
【0021】図面の簡潔な説明 以下の詳細な説明は、例示の方法によって与えられ、本
発明をそれだけに制約することを意図されるものではな
いが、付随する図面と関連付けて最良に理解されるであ
ろう。
【0022】
【発明の実施の形態】好適な実施の詳細な説明 双方が「保証可能な光学的文字認識」と題されたロプレ
スチ(Lopresti)及びその他の者に対する米国
特許第5,625,721号及び第5,703,972
号、並びに、「印刷文書の光学的文字認識を良くするた
めの方法及び手段」と題された米国特許第5,748,
807号、に十分に記載されているように、この内容は
言及によって明示的にこの中に織り込まれているが、文
書の、内容、レイアウト、世代及び検索(retrie
val)に関する情報が、文書を最初に作成する際又は
引き続くそれのコンピュータ処理の際に、コンピュータ
によって符号化されることが出来る。符号化された文書
情報が、それから、文書の印刷バージョンの表面上に生
成される2次元バーコードによって、提供されることが
できる。現在利用できる進歩した符号化及び印刷の解像
度能力は、たった1平方インチのスペース(spac
e)に30,000ビットまでの情報を収容できる。し
たがって、上に言及された出願によって教えられるよう
に、理論的には、全部の文書の内容を符号化することが
でき、2次元バーコードのために進んで犠牲にする文書
の表面上のスペースの量、によってのみ制約される。
【0023】光学的ページスキャナーと関連する又はそ
れとは全く別個のバーコードスキャナーが、2次元バー
コードを走査して、適切な認識及び復号化のソフトウエ
アを備えた付随システムに情報を供給することができ
る。復号化された情報は、それから、文書の新たなバー
ジョンを作成し、又は、走査された文書の認識、再現及
び誤り訂正をより良くするために、走査システムによっ
て使用される。以下で図8に関して論じられる有限状態
認識器の好適な実施例については、スキャナーの走査解
像度が、2次元バーコードの各論理ビットについて少な
くも3×3ピクセルマトリクスを確立できるならば、2
次元バーコードを復号化するために、このようなバーコ
ードスキャナー及び走査システムが2次元バーコードの
印刷解像度を知ることは、必須ではない。
【0024】2次元バーコードの形式で符号化された情
報は、紙の文書を作成するために既に使用されているソ
フトウエアツールをより良くするために、使用されるこ
とができる。例は、ワープロ、スプレッドシート、オブ
ジェクト指向グラフィクス、及び、音声記録や写真撮像
のようなマルチメディアの応用を含む。
【0025】図1の2次元バーコード10に使用される
境界13は、‘280出願の中に記載された鍵となる手
順の大部分が、境界が存在するか否かにかかわらず動作
するため、‘280出願において開示された発明の重要
な特徴ではなかった。しかし、境界10は‘280出願
において、スキュー見積もり及びスキュー修正(des
kewing)のステップによって、使用された。
【0026】図2は、‘189出願において導入された
2次元バーコードの記号等による表示の例を示す。2次
元バーコード20は、2次元格子の中にデータビットの
符号化されたセットを具備する。典型的には、符号化さ
れた各データビットは、黒又は白のピクセル23のマト
リクスとして印刷される。好ましくは、1個のデータビ
ットを表すピクセルマトリクスは正方形であり、1×1
マトリクスと小さくても良く、又は6×6マトリクスと
又はそれ以上に大きくても良い。正方形でないマトリク
スも、使用されて良い。2次元バーコード20の記号等
による表示においては、クロック又は境界は必要ではな
く、必須ではない。サイズは柔軟性があること、及び、
サイズに関する唯一の要件は読取り過程が符号化された
配列のサイズを知っていることだけであるということ、
が認められ得るが、好適な実施例においては、2次元バ
ーコード20は、各ビットが9×9ピクセルのマトリク
スに記憶された、20×20のデータビットの配列であ
る。
【0027】バーコードの記号等による表示の2つの異
なる実施例が、‘189出願に記載されている。第1の
実施例では、4個のコーナービット21が常に黒である
(白い背景に印刷される場合)。第1の実施例における
4個のコーナービット21は「アンカー」ビットと呼ば
れる。‘189出願の第1の実施例における残りのデー
タビットは疑似ランダム化されており(are pse
udo−randomized)、所望の情報と誤り訂
正ビットとのいかなる組合せをも保持できる。第1の実
施例の記号等による表示は、スキューが小さく、かつ2
次元バーコード20がいかなる損傷も受けていない場合
に、良いスキュー見積もりを提供する。
【0028】しかし、隅にアンカービット(ancho
r bits)21を置くことが、それらを損傷の影響
を受けやすくしている。そういうわけで‘189出願に
記載される第2の実施例においては、アンカービット2
1の要件がなく、2次元バーコード20は単にN×Mの
データビットの配列であり、好ましくはN=M=20で
あり、この場合には50バイト(400ビット)までの
情報の記憶を提供する。第2の実施例においては、全て
のデータビットが疑似ランダム化されており、所望の情
報と誤り訂正ビットとのいかなる組合せをも保持でき
る。好ましくは、従来の(7,4)ハミング符号が、ラ
ンダムノイズを検知し訂正するための誤り訂正符号とし
て使用され、この場合には2次元バーコードは28バイ
ト(224ビット)までの情報を保持できる。
【0029】図3は、符号化/復号化過程に含まれるス
テップを例示する。本発明の方法に関してこの中で論じ
られる場合を除いて、各ステップは、より詳細に‘28
0出願及び/又は‘189出願において記載されてい
る。符号化過程の間には、1次元の線形のビットストリ
ームの形式の入力データが、最初にステップ30で処理
されて標準のブロックベースの誤り訂正符号(「EC
C」:error correction code)
を加えられ、ステップ31でランダム化され、ステップ
32で1次元ビットストリームから2次元表示すなわち
2次元バーコードへとマップされ、及び、ステップ33
で2次元バーコードが最終的に印刷される。復号化過程
はこれらのステップを逆順で反復し、ステップ34で印
刷された2次元バーコードが読取られ、ステップ35で
2次元から1次元表示へとマップされ、ステップ36で
ランダム化を解かれ、最後にステップ37でECCが適
用されて「生の(row)」線形のビットストリームを
再生成する。特に、本発明の方法は読取りステップ34
において使用される。
【0030】図5は、本発明の読取り手順におけるステ
ップを例示する。最初に、走査されたグレイスケール画
像が、閾値適用ステップ100によって黒白に変換さ
れ、その際、ある強度レベルが動的に選択され(すなわ
ち、ピクセル値の平均値又は中央値)、選択された強度
レベルに等しいか又はそれを越えるレベルを有するピク
セルが黒(又は白)と見なされ、選択された強度レベル
より低い強度レベルを有するピクセルが白(又は黒)と
見なされるであろう。次に、処理を速めるために、以下
でさらに論じられるように、走査された入力画像の解像
度が、オプションとして、ステップ102で落とされる
(reduced)。以下で図4、6、及び7に関して
更に論じられるように、候補の2次元バーコード領域が
本発明のスライド窓法(sliding window
method)によって場所検知され、入力画像から
抽出される。もし、候補領域が2次元バーコードを含む
と判定されるならば、ステップ104で候補領域がオリ
ジナルの画像から抽出される(オリジナルの解像度
で)。それから、この中の図8及び9に関して更に記載
されるように、ステップ106で、候補領域内の2次元
バーコードのスキュー角度が、本発明の方法により見積
もられる。
【0031】‘189出願において更に詳細に記載され
ているように、一旦、スキュー角度が知られれば、それ
はステップ108で必要によって修正される。特に、も
し、スキュー角度φが、これ以上では読取りステップ1
12がもはや信頼性をもってバーコードを読み取ること
ができない、最小閾値αより大きいが、しかし第2の閾
値βより小さい場合には、単純なスキュー修正方法が用
いられる。スキュー角度φが、典型的には7度のスキュ
ーに設定される第2の閾値βより、大きい場合には、単
純なスキュー修正方法より多くの処理時間を必要とする
三角法によるスキュー修正過程が用いられる。単純なス
キュー修正方法は、せん断回転法(shear rot
ation method)を利用しており、‘189
出願において、その中の図16A、16B及び16Cに
関して十分に開示されている。三角法によるスキュー修
正過程もまた、‘189出願において、その中の図17
に関して十分に記載されている。
【0032】以下で更に記載されるように、候補領域
は、オプションとして、ステップ110で刈り取られ、
2次元バーコードの周囲にぴったりした境界を作成す
る。最後に、‘280及び‘189出願において十分に
記載されているように、ステップ112において、2次
元バーコードに符号化された情報が候補領域から読取ら
れる。候補領域は、それが2次元バーコードのある特性
を含むことを確認するために、刈り取りステップ110
及び読取りステップ112の双方において試験されても
良く、候補領域がそのような特性を含んでいない場合に
は、処理が場所検知ステップ104に戻り、候補領域の
探索を再開することができる。
【0033】技術において相応に熟練する者ははっきり
と理解するであろうように、画像の解像度は他の因子で
落とされても良く、処理速度が課題でないならば、この
ステップは実行される必要が全くないが、読取り過程の
第1のステップ102は、好ましくは4の因子で、画像
の解像度を落とし、場所検知ステップ104を速める。
好ましくは,入力画像が単純にサブサンプルされて(s
ub−sampled)、より低解像度の画像を作成す
る。以下の数式が、この方法でどのようにしてオリジナ
ルの入力画像から、落とされた解像度の画像(redu
ced resolution image)が生成さ
れるか、を記載する: R(I,J)=O(row_skip*I,col_skip*J) (1) 範囲は: 0≦I<row_m/row_skip 0≦J<col_m/col_skip ここで、O(x,y)はオリジナルの入力画像を表示
し、R(x,y)は落とされた画像(reduced
image)を表示し、row_m及びcol_mはそ
れぞれ入力画像配列の垂直及び水平のサイズを表示し、
row_skip及びcolumn_skipはそれぞ
れ垂直及び水平方向のサンプリング因子である。好まし
くは、row_skip及びcolumn_skipは
どちらも4に等しい。技術において相応に熟練する者は
はっきりと理解するであろうように、入力画像の解像度
を落とす他の方法が、式(1)によって記載される好適
な方法と置き換えられても良い。
【0034】場所検知ステップ104が、所与の文書画
像内の2次元バーコードの場所を判定する。場所検知の
先行技術の方法は、‘280出願に記載されるような、
画像ピクセルの水平及び垂直の射影のヒストグラムの分
布に基づく単純な場所検知のやり方(scheme)
と、共に係属中の特許出願「画像内の機械読取り可能な
2次元バーコードを場所検知する方法(補正されてい
る)」(1997年3月17日に出願された、シリアル
番号08/822,347号)(「‘347出願」)に
記載される、数学的な形態学(morphology)
ベースのやり方と、を含む。‘280出願の単純な場所
検知のやり方は、画像内の2次元バーコードの場所に無
関係に比較的迅速であるが、しかし2次元バーコード
が、複雑な背景上に印刷されているか、単一の線ノイズ
を含むか、又は5度より大きなスキュー角度を有する
か、の場合は、最適な結果を提供しない。‘347出願
の形態学ベースの場所検知のやり方は、印刷テキストの
ような文書背景を取り扱うことができるが、しかし図4
の暗い背景220のような複雑な背景を取り扱うことが
できず、及び、処理速度の点でそれほど効率的ではな
い。本発明の、以下に記載される方法は、双方の先行技
術の方法の有益な特性を有しており、及び、2次元バー
コードを、それが図4の暗い背景220のような複雑な
背景を有する文書上に印刷されている場合に、場所検知
することができる。
【0035】次に図4を参照すれば、2次元バーコード
210が背景220のような複雑な背景を含む印刷媒体
内に含まれる際に、場所検知過程の正確度を改善するた
め、それ(2次元バーコード)が印刷される場合に、白
いスペースの単調な区域200が、今度は2次元バーコ
ード210の周囲に明示的に作成される。単調な区域2
00は、また、線ノイズ及び2次元バーコードのスキュ
ーの存在下で、場所検知過程の正確度を改善する。図1
Aに示されるように、2次元バーコードが、テキストや
グラフィクスのような文書内容がその中に存在する縁
(margins)の外側の、文書の隅に置かれる場合
には、白いスペースの領域は本来的に存在する。しか
し、文書がこのような縁や他の白いスペースの領域を含
まない場合には、はるかに困難な状況が現われる。した
がって、2次元バーコード210の周囲の単調な区域2
00の存在を明示的に必要とすることによって、2次元
バーコード210は、図4に一般的に示されるように複
雑な背景を有する文書上のいかなる場所に置かれても良
く、それでもなお、本発明の方法によって読取られる。
【0036】図5の場所検知ステップ120は、2次元
バーコードが単調な区域(quiet zone)(白
い領域)の中央で場所検知されるという事実を利用する
が、この組合せは、いかなる種類の文書背景上にも印刷
されることができる。このようにして、2次元バーコー
ドは、図4に示されるように、白い境界領域によって囲
まれる。技術において相応に熟練する者ははっきりと理
解するであろうように、単調な区域はそこにある実質的
に全てのピクセルが同じ色であることを必要とするが、
しかしその特定の色は、黒又は白であって良い(又はカ
ラー文書の場合には他の色でも良く、これは閾値ステッ
プ100で黒又は白に変換される)。場所検知ステップ
120は、例えば印刷や走査の間に単調な区域に導入さ
れ得るあるレベルの「斑点(speckle)」ノイズ
及び線ノイズを許さなければならない。
【0037】場所検知ステップ120は、図6に例示さ
れるスライド窓300を使用して、入力画像内の2次元
バーコードを場所検知する。特に、スライド窓300は
入力画像を横切って移動され、選択された位置におい
て、スライド窓300の範囲内の画像の部分を抽出する
ために、使用される。画像の抽出された部分が、それか
ら試験されて、以下で更に論じられるように、その中に
2次元バーコードの候補領域が存在するかを判定する。
スライド窓300は2つの領域:(1)コア領域310
と、(2)単調な領域320と、を有する。コア領域3
10は2次元バーコードそれ自身に対応し、単調な領域
320は2次元バーコードの単調な区域に対応する。2
つの領域のサイズは主に2次元バーコードの仕様、つま
り図4に示される2次元バーコード210及び単調な区
域200のサイズ、によって決められる。しかし、図6
においてスキューした2次元バーコードによって示され
るように、2次元バーコードがスキューしている場合に
は、2次元バーコードを含むために必要となる矩型の窓
のサイズは増大するので、2次元バーコードがある最大
量までスキューしている状況を受け入れるために、スラ
イド窓300のコア領域のサイズは2次元バーコードの
予期されるサイズより若干大きい。加えて、この特徴は
また、2次元バーコードが印刷及び/又は走査の過程の
間に若干拡大され、それでもなお本発明の方法によって
場所検知される、ことを許す(allow)。
【0038】スライド窓300のための多様な探索パタ
ーンが使用され得る。簡単のためには図7Aに示すよう
に、探索パターンは、画像の上左隅から出発し、1ロウ
ずつ、各ロウを左から右へと走査することができるが、
これは実施することが容易であるが、しかし所与の画像
内の2次元バーコードの場所に関するいかなる先験的知
識(a priori knowledge)をも使用
せず、それゆえに、最も効率的な探索方法ではないであ
ろう。
【0039】実際には2次元バーコードは通常、ページ
内の既定の場所に印刷される。したがって復号化の際に
は、文書画像全体の小さな部分だけが、スライド窓30
0によって走査される必要がある。この小さな領域は、
通常、例えば文書の各隅のような、2次元バーコードの
予期される場所に従って走査する装置によって、得られ
る。一旦小さな領域(単数)(又は領域(複数))が抽
出されれば、2次元バーコードが、その抽出された小領
域の、境界に近いことよりも、中央に近いことの方が、
よりありそうである。
【0040】好適な探索パターンは、図7Bに示される
ように、抽出された小領域の中央から出発し、らせん様
のパターンで外側に広がるが、これは、2次元バーコー
ドの候補領域が、図7Aに関して論じられた単純な方法
よりずっと迅速に、場所検知されることを許す。しか
し、この探索方法の実施はより複雑であり得る。したが
って、図7Bの探索パターンより実施が複雑でなく、し
かし図7Aの探索パターンより速い探索パターンが、図
7Cに示されるように、抽出された小領域上でロウごと
に探索する、ジャンプロウ探索パターン(jump r
ow search pattern)を使用して、代
替に実施されても良い。図7Cに示されるように、ジャ
ンプロウ探索パターンは、中央ロウで探索を開始し、そ
れから中央ロウから1ロウ上及び1ロウ下にジャンプ
し、それから中央ロウから2ロウ上及び2ロウ下にジャ
ンプし、2次元バーコードの候補領域が見出されるか、
又は抽出された小領域の頂(top)及び底(bott
om)に到達するまで、各ロウを探索する。各ロウにつ
いて、ジャンプロウ探索パターンは左から右へと探索す
る。図7Bのらせん様のパターンほど効率的ではない
が、それは、より実施しやすい。
【0041】さらに、もし、改善された効率が必要であ
れば、この中で論じられた各探索パターンは、例えば、
図7A−7Cに示された偶数ナンバーの経路に沿っての
み探索を行なうように、いくつかの走査経路(scan
path)をスキップすることによる探索へと変更さ
れることができる。
【0042】スライド窓が各場所を通過する際に、スラ
イド窓300内の画像領域が、2次元バーコードの、あ
る特性を含んでいるか見るために、チェックされる。上
に示されるように、2次元バーコードの中のビットはラ
ンダム化されており、ビットの一様な分布を含む。加え
て、2次元バーコードの概略のサイズが知られており、
2次元バーコードは、白いスペースの単調な区域で囲ま
れている。本発明の場所検知方法は、各ステップで画像
領域をチェックして、それがこれらの特徴を含んでいる
かどうかを判定し、画像領域が2次元バーコードの候補
領域として選択されるべきかどうかを判定する。
【0043】各位置での最初の試験として、スライド窓
300のコア領域310内の画像のコア領域密度(Co
re Region Density)の値が試験さ
れ、それが既定の範囲内に入るかを判定する。特に、2
次元バーコード内のビットが、ランダム化過程の理由に
より、一様なパターンで分布するので、十分に一様な2
次元バーコードは同数の黒いピクセルと白いピクセルと
を有するであろう。「コア領域密度」は、走査窓300
のコア領域310内部のピクセルの総数に対する黒いピ
クセルの数の比率として、定義される。走査装置の2進
化の過程又は上に論じられた閾値ステップ100が、2
次元バーコード領域を暗過ぎる又は明る過ぎるようにす
るかもしれないので、コア領域密度が若干変化して、
0.5よりいくらか低い又は高いレベルになることがあ
り得る。したがってコア領域密度の値は0.5の近辺の
既定の範囲内であっても良い。
【0044】加えて、もし、復号化されるべき2次元バ
ーコードが境界を含むならば、コア領域密度の値の閾値
と範囲とは、黒境界によって存在する、余分な黒いピク
セルを受け入れることに応じて、調節されねばならない
(例えば、もし黒境界が存在しない場合に閾値が0.5
で範囲が0.45から0.55であるならば、黒境界が
存在する場合には閾値が0.55で範囲が0.50から
0.60であって良い)。もし、コア領域が、2次元バ
ーコードの存在を示すコア領域密度を有すると見出され
るならば、試験は続行し、そうでなければ、スライド窓
がその次の位置に移動されて、コア領域密度を見積も
る。
【0045】各位置における第2の試験として、スライ
ド窓300の単調な領域320内の領域の単調な領域密
度(Quiet Region Density)が見
積もられて、それが既定の範囲内に入るかを判定する。
単調な領域密度は、スライド窓300の単調な領域32
0内部のピクセルの総数に対する黒いピクセルの数の比
率として、定義される。図4に示されるように、単調な
区域200は理想的には黒いピクセルを含まず、したが
って、単調な区域200内にいかなるノイズ(すなわち
黒いピクセル)をも有しない、完璧に走査された2次元
バーコードは、ゼロの単調な領域密度の値を生ずるであ
ろう。何らかの斑点ノイズや単一の描線ノイズを受け入
れるために、ゼロよりいくらか大きい最大密度値が許容
値として事前に選択される。スライド窓300の単調な
領域320内の画像の部分に対する単調な領域密度の値
が見積もられ、もし、事前に選択された値より小さいか
又はこれと等しいことが見い出されるならば、試験は続
行し、そうでなければ、スライド窓がその次の位置に移
動されて、コア領域密度を見積もる。
【0046】最後の試験として、走査窓内の画像領域
が、コア領域密度及び単調な領域密度の双方の許容範囲
内に入る場合には、刈り取り試験がさらに実行されて、
各領域の有効性をチェックする。本発明の刈り取りステ
ップは、2次元バーコードのビットが一様に分布すると
いう事実に依拠する。したがって、20×20ビットの
配列において、いかなる黒ビットをも含まないロウやコ
ラムは、候補領域内に存在しないであろう。刈り取りは
中央から外部に向かって為される。候補領域の中央から
出発して、各画像ロウが、中央から候補領域の頂へと、
黒いピクセルを含まないロウに到達するまで、連続して
走査され、これが2次元バーコードの頂の端であると見
なされる。ロウ走査が、中央から下方に向かって候補領
域の底へと、それからコラム走査が、中央から候補領域
の最も左のコラムへと、及び最後に中央から候補領域の
最も右のコラムへと、続行して、走査過程はさらに3回
繰り返される。単一のロウが2次元バーコードの端を示
す代わりに、2次元バーコードのそれぞれの境界が、走
査過程からの走査線ノイズ、又は明るすぎる画像に適合
するため、黒を含まない既定の連続する数のロウ又はコ
ラムの存在によって、示されることができる。
【0047】候補領域が刈り取られた後に、新たな領域
のサイズが、2次元バーコードの予期されるサイズに対
してチェックされる。もし著しく異なるサイズが見出さ
れれば、候補領域が2次元バーコード領域でないことを
示しており、スライド窓がその次の位置に移動され、コ
ア領域密度を見積もる。刈り取り過程の後にサイズをチ
ェックすることは、最初の2つの試験によって誤って検
知され得る幾つかの領域を除去する上で、有効である。
例えば、それが2次元バーコード内の各ビットのサイズ
に類似するサイズを有するフォントを含み、ある行間隔
(line spacing)と文字間隔(chara
cter spacing)とを有するところの、テキ
スト領域が、密度試験を通過することもあり得る。しか
し、テキスト領域を刈り取ることは、通常、単一の連結
された要素領域、即ち1つの文字に達し、これは、2次
元バーコードに対して予期されるものから著しく異なる
サイズを有する。
【0048】一旦、候補領域が3つ全ての試験に適合す
ることが見出されれば、それは有効な候補領域と見なさ
れる。スライド窓の画像内の現在の場所が記録され、完
全な解像度の画像にマップされ、かつ、対応する領域が
更なる処理のための候補領域として抽出される。もし、
スライド窓内の2次元バーコードが比較的大きなスキュ
ー角度を有するならば、その隅がスライド窓300のコ
ア領域310の境界の外側に残されるかもしれない。2
次元バーコード全体が抽出されることを保証するため、
完全な解像度の画像から候補領域を抽出する際に、コア
領域310のサイズを若干拡大することによって、隅
は、回復されることが出来る。窓のサイズの拡大の理由
により、抽出された領域内に生成されるいかなるノイズ
も、刈り取りステップ110で、場所検知ステップ10
4に関して上に記載したのと同じ、裏返し(insid
e out)の刈り取り手順を使用して、除去されるこ
とが出来る。
【0049】スキューした2次元バーコードを刈り取る
ことは、容易にその隅に損傷を与え得るのに対して、正
しくスキュー修正した2次元バーコードを刈り取ること
は、その隅を維持するだろうから、‘280及び‘18
9出願に記載される場所検知方法とは異なり、本発明の
方法は、スキュー修正の前には、場所検知された候補領
域を刈り取らない。
【0050】‘280出願のスキュー見積もり方法は、
スキュー角度を計算するため、2次元バーコードの上左
及び下左の隅にある2つのアンカービットの場所に依拠
している。その中でさらに論じられたように、隅を場所
検知するためにテンプレートが使用されており、この方
法は、スキュー角度が比較的大きく、約5度のスキュー
より大きい場合には、失敗する。加えて、2次元バーコ
ードの隅は、しばしばノイズによって形を損じられ、そ
の結果、‘280出願の方法によって見積もられるスキ
ュー角度として、不正確な値となる。
【0051】これらの欠点を解決するために、‘189
出願は、ハウ変換ベースのスキュー見積もり技法を開示
した。ハウ変換は、画像内の、直線のような幾何学的特
徴を検知するために使用され得るパラメータ変換(pa
rametric transformation)で
ある。‘189出願の方法は、垂直の黒白マスクを画像
全体を横切って使用することにより、すべての水平の端
のピクセルを抽出する。それから、ハウ変換が、すべて
の同定された水平の端のピクセルに対し実行されて、2
次元バーコードのスキュー角度を表す、最長の端の線の
角度を計算する。この方法は、かなりの量の処理時間を
必要とする、というのは、各々の端のピクセルを検知す
るため、垂直のマスクを画像全体を横切って移動させる
ことが、各画像ピクセルに複数回アクセスする(実際の
アクセス回数はマスクのサイズに依存する)ことを伴う
からであり、また、ハウ変換法が、最長の端の線の角度
を判定するために、全ての端のピクセルに関して、0.
5度の増分で広く多様な、ありうる角度を試験するから
である。
【0052】加えて、ハウ変換によって判定される角度
が、最大数のピクセルを含む線の角度に対応するので、
描線ノイズが2次元バーコードを横切って存在する場合
には、スキュー角度が正確には判定されないであろう。
これは、線ノイズが全ての端の線の間で支配的な線であ
り、スキュー見積もり手順をして線ノイズに対応する角
度を計算せしめるであろうからである。描線の効果が図
9Aに例示されているが、ここで、線400が2次元バ
ーコード410の底に沿って描かれている。水平の端の
画像420の中の支配的な線430が支配的な線である
ため、‘189出願のスキュー角度見積もり方法は、ス
キュー角度を0.5度であると不正確に計算するであろ
う。
【0053】本発明のスキュー見積もり方法も、また、
ハウ変換法に基づくが、この方法をより実際的で信頼性
のあるものにする、2つの重要な変更を伴っている。第
1に、‘189出願において使用された垂直のマスクに
代わって、有限状態認識器が使用され、単一の通過で2
次元バーコードの端のピクセルを検知する。候補領域内
の黒白及び白黒の遷移は、論理的ロウ及びコラムにある
端と関係しているので、図8にダイアグラムの形式で示
される、このための(attributed)有限状態
認識器によって、指定された数の連続する黒いピクセル
の後に指定された数の連続する白いピクセルが続くこと
によって(又はこの逆)、有効な遷移は、判定される。
この方法は、各画像ピクセルに1度だけアクセスし、水
平又は垂直の端のいずれか又は双方を検知するために使
用され得るから、この方法はより効率的である。加え
て、有限状態認識器は、2次元バーコードがどのような
アンカービットをも含むことも、必要とせず、本発明の
スキュー見積もり方法を、走査された2次元バーコード
のどの隅に若干の変形がある場合にも、より強固(ro
bust)にする。
【0054】特に、有限状態認識器は、順次に各ロウ
(又はコラム)にある各ピクセルを検査して垂直(又は
水平)の端を発見する。端の遷移子(transist
or)は、第1の色の少なくもN個のピクセルの第1の
連続の後に続く、反対色の少なくもN個のピクセルの第
2の連続によって、定義される。端の遷移を引き起こす
黒いピクセルの位置が、端の場所として使用される。し
たがって、例えば、4個の連続する白いピクセルと、後
に続く4個の連続する黒いピクセルと、更に続く3個の
連続する白いピクセルと、からなるロウにおいて、N=
4の場合には、ロウの5番目のピクセルのみが、端の遷
移として指定されるであろう。しかし、同じ例において
もしN=3であれば、5番目及び8番目のピクセルが、
端の遷移(端)として指定されるであろう。
【0055】次に状態ダイアグラム図8を参照すれば、
Nが3に等しいかこれより大きい場合に動作する、条件
つき状態機械(conditional state
machine)である、有限状態認識器が示されてい
る。図8において、「B」及び「W」の名称は、処理さ
れているロウ又はコラムの内の特定の位置にあるピクセ
ルの色(すなわち黒(black)又は白(whit
e))を指す。したがって初期状態500では、もし、
第1のピクセルの色が黒であれば、処理が状態500か
ら状態501に移動する。もし、第1のピクセルの色が
白であれば、処理はそれに代わって状態500から状態
502に移動する。処理されている特定のロウ又はコラ
ムの終了を示す特別のしるし(character)が
到達されるまで、以下で更に論じられるように、処理が
状態機械を通して継続し、特別のしるしのところで、次
のロウ又はコラムが初期状態500から処理される。状
態500の先の各状態で、位置インデックスIが増分さ
れて、特定のロウ又はコラム内の検査されているピクセ
ルの位置を追跡する。加えて、表1に示され、以下で更
に記載されるように、他の、ある演算(operati
ons)が種々の状態で実行される。
【0056】 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 表1 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 状態 演算 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 501,502 #pixels=2 503−506,509,510 #pixels=#pixels+1 507 #pixels=2 edge_candidate=I−1 508 #pixels=2 edge_candidate=I 511,512 #pixels=#pixels+1 (edge_candidate)を保存する −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
【0057】状態501では、もし次のピクセルの色が
黒であれば、処理は状態503に移動するが、これに対
して、もし次のピクセルの色が白であれば、処理は状態
502に移動する。同様に、状態502では、もし次の
ピクセルの色が白であれば、処理は状態504に移動す
るが、これに対して、もし次のピクセルの色が黒であれ
ば、処理は状態501に移動する。表1に示されるよう
に、状態501及び502では遭遇した連続するピクセ
ルの数は2に設定される(なぜなら、状態501におい
ては2個の連続の黒いピクセル、そして状態502にお
いては2個の連続の白いピクセルであるから)。状態5
01から、もし次のピクセルが黒であれば、処理は状態
503へ移動し、もし次のピクセルが白であれば、状態
502へ移動する。状態503では、引き続いて遭遇す
る各ピクセルが黒であって、かつ、ピクセルの個数がN
未満である限り、処理は状態503で継続する。状態5
03が通過される(is passed)度ごとに、ピ
クセル計数すなわち表1の#pixelsが増分され
る。N番めの連続する黒いピクセルが到達された場合
に、処理が状態505へ移動する。もしN個の連続する
黒いピクセル以前に白いピクセルが遭遇されるならば、
処理が状態502へ移動する。一連の白いピクセルが最
初に遭遇された場合には、類似の仕方で(in ana
nalogousmanner)、反転したピクセルの
色で、処理が状態502、504及び506を通って移
動する。
【0058】状態505では、連続する黒いピクセルの
各々に対して、処理は状態505で継続し、各通過(e
ach pass)に対してピクセル計数が増分され
て、実際においては、現在のシーケンス(連続)におけ
る最後の黒いピクセルを探す。状態505で白いピクセ
ルが遭遇された場合には、処理が状態507に移動し、
そこでは、ピクセル計数が2に設定され、最後の黒いピ
クセルのインデックスが「edge_candidat
e(端の候補)」として設定される。edge_can
didateは、N個又はそれ以上の連続する黒いピク
セルの連続における、最後の黒いピクセルである。状態
507では、ピクセル計数が2に再び設定される(is
reset)。もしステップ507で遭遇されるピク
セルが黒であれば、処理が状態501に戻って黒いピク
セルを計数し始め、必要条件、すなわち少なくもN個の
連続する黒いピクセルの後に続いて少なくもN個の連続
する白いピクセル、が満たされなかったから、実際にお
いては、edge_candidateを放棄する。も
し状態507で遭遇されるピクセルが白であれば、処理
が状態509に移動し、そこではピクセル計数が増分さ
れる。白いピクセルが遭遇され、かつ、ピクセル計数が
N未満である限り、処理は状態509で継続する。
【0059】もし、N番めの白いピクセルが到達される
前の任意の時点で、黒いピクセルが遭遇されるならば、
処理は状態501に戻り、少なくもN個の連続する白い
ピクセルという必要条件が、到達されていないから、e
dge_candidateを放棄する。もしN番めの
連続する白いピクセルが到達されると、処理が状態51
1に移動し、そこではedge_candidateが
記憶され、ピクセル計数が増分される。状態502、5
06及び506に関して上に述べたように、状態50
8、510及び512を通る処理は、状態507、50
9及び511に関して上で論じられたものと類似であ
り、ピクセルの色が反転している。唯一の例外は、状態
508のedge_candidateがその時点のピ
クセルのインデックスに設定されるが、他方で、状態5
07のedge_candidateが、黒いピクセル
のみが端として指定され得るから、表1に示されるよう
に、その前の時点のピクセルのインデックスに設定され
る、ということである。
【0060】もし状態511で黒いピクセルが次に遭遇
されるならば、処理は状態508に移動し、少なくもN
個の連続する白いピクセルが遭遇されてきているから
(黒いピクセルのみが端となり得る)、その黒いピクセ
ルがedge_candidateとして設定される。
状態508の後に、状態509及び511で生じた処理
と類似の仕方で、処理が状態510及び512を通って
継続し、N個の連続する黒いピクセルが、少なくもN個
の連続する白いピクセルの後に続くかを判定し、もしそ
うであれば、edge_candidateがステップ
512における端として記憶される。もし状態511で
白いピクセルが遭遇されれば、処理が状態506に移動
して現在の連続における最後の白いピクセルを探し、そ
れから、一旦最後の白いピクセルが場所検知されると、
状態508に移動して、少なくもN個の黒いピクセルの
連続が後に続くかを判定する。状態512から状態50
5、507、509及び511を通る処理に関して、類
似のステップが生ずる。
【0061】端の検知過程が、ロウ又はコラムの終了を
示す特別のしるしが到達されるまで、N個の連続する黒
い(又は白い)ピクセルと、その後のN個の連続する第
2の色の白い(又は黒い)ピクセルを探しながら、ピク
セルのロウ又はコラムを通して継続する。N個の連続す
る白い(又は黒い)ピクセルが後に続く、N個の連続す
る黒い(又は白い)ピクセルが見出された各点で、2つ
の連続の間の境界の黒いピクセルが、端として設定され
る。
【0062】一旦、端のピクセル(水平又は垂直のいず
れか一方、又は水平及び垂直の両方)が、有限状態認識
器によって検知されれば、それらは、‘189出願に記
載されるものと同一の過程を使用して、ハウ領域(Ho
ugh domain)にマップされる。
【0063】有限状態認識器は、スキュー見積もりステ
ップの処理速度を改善するが、しかし線ノイズの衝撃に
は影響を及ぼさない。図9Aに示されるように、バーコ
ード410を通って通過する線400が描かれる場合に
は、それは、端の画像420内で支配的な端の線430
となり、そして線がバーコード自身の水平の(又は、垂
直端が検知される場合には、垂直の)軸に平行に描かれ
ていない場合には、スキュー角度に関する不正確な結果
を生ずるであろう。図9Aの線430は、スキュー角度
が0.5度と不正確に見積もられる原因となる。2次元
バーコードのスキュー角度の見積もりにおいて、任意に
描かれたこのような線の衝撃を減らすために、本発明の
方法は、有限状態認識器によって作成された水平の端の
画像を多数の領域に分割する。スキュー角度が各領域に
ついて判定され、投票のやり方(voting sch
eme)が使用されて、実際のスキューを、最も表わし
ていそうなスキュー角度を判定する。
【0064】好適な方法では、水平の端の画像が、図9
Bの水平の端の画像420の上領域440、中間領域4
50、及び下領域460のような、3つの領域に分割さ
れる。スキュー角度が各領域に関して判定され、つま
り、上領域440及び中間領域450については5度で
あり、下領域については0.5度であり(描線400に
起因する端の線430による)、そして、中央値、すな
わち5度が、好ましくは実際のスキュー角度見積もりと
して選択される。技術において相応に熟練する者ははっ
きりと理解するであろうように、投票のやり方を実施す
るための、多数の方法が存在する。
【0065】本発明においては、処理速度の表現で、中
央値が最も少ない諸々の手間(overhead)を提
供するから、中央値が使用される。スキュー角度を判定
する他の方法(複数)は、最も頻繁に発生するスキュー
角度を使用すること(すなわち多数決)、又はもっと複
雑な加重技法(すなわち加重投票)を含む。スキュー見
積もりに影響を与える線ノイズが存在する場合に、図9
Bにおいて線400によって例証したように、それは多
分単一の領域のみに影響するだろうから、この多領域の
スキュー見積もりのやり方は、先行技術の方法より、任
意の線ノイズに対して強固である。もし1以上の領域を
横切る線ノイズが存在するとすれば、それは、水平の端
の画像の端のピクセルに関して、比較的大きな角度をし
ているに違いなく、スキュー角度見積もりに影響を与え
る支配的な線ではないであろう。技術において相応に熟
練する者ははっきりと理解するであろうように、水平及
び垂直の端の双方の検知に基づいて、端の画像が水平及
び垂直の双方の領域に分割されて、投票のやり方のひと
つによって、試験されても良い。
【0066】上で論じられたように、端ピクセルを場所
検知するために有限状態認識器を使用しその後にハウ変
換ベースのスキュー見積もりステップを続けることは、
本発明の方法が、2次元バーコードのアンカービットの
必要性を除去することを許し、このことが、2次元バー
コードの隅の変形の影響を減らす。加えて、多領域の投
票のやり方が、本発明のスキュー見積もり方法の、背景
ノイズ、特に描線に対する免疫性を更に増加させる。
【0067】一旦、スキュー角度が見積もられれば、図
5のステップ108に関して上でさらに論じられ、また
‘189出願に、より詳細に説明されているように、よ
り小さなレベルのスキューに対しては、せん断回転法を
用い、より大きなレベルのスキューに対しては、代替と
して三角法の方法を使用して、候補領域がスキュー修正
される。スキュー角度を修正した後、2次元バーコード
の境界が、オプションとして図5の刈り取りステップ1
10によって判定されるが、これは、スキュー修正が既
に行なわれており、何らかの有効ビットが切り落とされ
ることはありそうにないから、よりきつい(tight
er)閾値が使用されて2次元バーコードの候補領域の
有効性をチェックするが、場所検知ステップ104に関
して上に記載したものと同じ、裏返しの方法を使用す
る。一旦、候補領域が刈り取られれば、その寸法が、2
次元バーコードの予期される寸法と比較される。もし寸
法が大きく異なれば、2次元バーコードは候補領域に存
在せず、図5に示されるように、処理が場所検知ステッ
プ104に戻る。寸法が、2次元バーコードのサイズに
近い範囲内に入れば、処理が読取りステップ112に進
む。
【0068】この時点で、走査された2次元バーコード
が場所検知され、スキュー修正され、しっかりと刈り取
りされている。次のステップはデータビットを読み出す
ことであるが、これは、2次元バーコードを、各ビット
が黒又は白のピクセルの集まりとして表示されている画
像領域から、論理値の、好適な実施例においては20×
20ビットの配列に、変換する。2次元バーコード記号
等による表示はクロック不要なので、読取り過程を方向
づける助けとなる既定の参照パターンがないことに注意
せよ。しかし、2次元バーコードの論理サイズは、事前
に知られており、例えば、好適な実施例においては、各
辺に20ビットある正方形である。
【0069】さらに、マークの中のビットは、符号化過
程の間に疑似ランダム化されている(are pseu
do−randomized)ので、ピクセルのどの特
定のロウ又はコラムも、論理的ロウ及びコラムの端近く
では、黒白及び白黒の遷移のより高い分布を示し、中央
近くでは、より低い分布を示すであろう。この過程は
‘280出願において十分に記載されている。一旦、水
平及び垂直の中心線が‘280出願に記載される過程に
より確立されれば、各水平及び垂直の中心線の交点にあ
るピクセル値を記録することにより(例えば、各「白」
ピクセル値=「0」、各「黒」ピクセル値=「1」と設
定する)、2次元バーコードからビットが読取られる。
‘189出願は、図18A−18Dに関して、2次元バ
ーコードからビットを読み出すための改良されたクロッ
ク方法を記載するのであるが、これは、4つの可能な方
向のおのおのにビットを読取り、それによってデータを
表す4つの異なる配列を作成し、そして、図3のECC
ステップ37が最小の誤り個数を有することを示す出力
の、配列を選択することによって、誤り率を下げる。こ
こで再び、例えばECCによって判定されて、もし読取
りステップが失敗するならば、図5に示すように、処理
が場所検知ステップ104に戻ることができる。
【0070】本発明が、好適な実施例とその多様な観点
とを参照しながら、特に示され記載されてきたのではあ
るが、発明の趣旨と範囲とから離れることなく、多様な
変更と修正とが為され得ることが、技術における通常の
熟練の者には理解されるであろう。添付された請求の範
囲が、この中に記載された実施例、上述の代替、及びす
べてのその等価物を含むものと解釈されることが、意図
される。
【図面の簡単な説明】
【図1A】図1Aは、印刷テキストのページ上に印刷さ
れた‘280出願の2次元バーコードを模式的に例示す
る図であり、
【図1B】図1Bは、‘280出願の2次元バーコード
の例を示す。
【図2】図2は、本発明による2次元バーコードの例を
示す。
【図3】図3は、本発明による印刷媒体上に情報を符号
化し復号化するためのステップを示すフローチャートで
ある。
【図4】図4は、バーコードの周りに設けられた単調な
区域を有する、複雑な背景を有する印刷媒体上に印刷さ
れた2次元バーコードを示す。
【図5】図5は、本発明による、2次元バーコードをい
かに読取るかを記載するフローチャートである。
【図6】図6は、本発明の場所検知方法の一部として用
いられる、スライド窓の配置を示す。
【図7A】図7A、7B及び7Cは、本発明の場所検知
方法の一部として用いられる、探索パターンの3つの代
替的な実施例を示す。
【図7B】図7A、7B及び7Cは、本発明の場所検知
方法の一部として用いられる、探索パターンの3つの代
替的な実施例を示す。
【図7C】図7A、7B及び7Cは、本発明の場所検知
方法の一部として用いられる、探索パターンの3つの代
替的な実施例を示す。
【図8】図8は、本発明のスキュー見積もり方法におい
て、端ピクセルを検知するために使用される有限状態認
識器の図である。
【図9A】図9Aは、端の画像内での単一の線だけの使
用に基づくスキュー角度見積もりの先行技術の方法の図
であり、
【図9B】図9Bは、本発明のスキュー角度見積もりの
方法の一部として用いられる投票のやり方の方法の図で
ある。
【符号の説明】
10 2次元バーコード 11 印刷ページ 12 印刷テキスト 13 境界 20 2次元バーコード 21 コーナービット 23 黒又は白のピクセル 200 単調な区域 210 2次元バーコード 220 背景 300 スライド窓 310 コア領域 320 単調な領域

Claims (21)

    【特許請求の範囲】
  1. 【請求項1】 符号化されたデータビットを表すデータ
    ピクセルのロウ及びコラムのビットマップの形式で、人
    間が読むことが出来る媒体上に印刷された、ランダム化
    された情報をデコードする方法であって、前記データピ
    クセルの各々が第1又は第2の色のいずれかであり、前
    記ビットマップが、既定のサイズを有すると共に、既定
    の実質的に一様な色のピクセルの外部領域によって囲ま
    れており、前記方法が:前記ビットマップをデジタイズ
    するために、前記人間が読むことが出来る媒体を走査す
    るステップ;前記ビットマップをピクセルベースのグレ
    イスケール表示にフォーマットするステップ;前記グレ
    イスケール表示に基づく閾値の強度のレベルを設定し、
    ピクセルを、前記閾値に対する関係に依存する第1のレ
    ベル又は第2のレベルに変換することにより、前記ピク
    セルベースのグレイスケール表示をピクセルベースの2
    進表示に変換するステップ;窓を、前記ピクセルベース
    の2進表示を横切って、既定のパターンで、ステップ的
    な態様で、移動させ、各ステップで、前記窓によって囲
    まれる前記表示の部分を試験して、前記部分が前記ビッ
    トマップの1又はそれ以上の特性に適合するかを判定
    し、かつ、もし前記部分が前記ビットマップの前記1又
    はそれ以上の特性に適合するならば、候補領域の境界を
    前記窓の境界として設定することにより、前記デジタイ
    ズされたビットマップに対する前記候補領域のロウ及び
    コラムの境界を場所検知するステップ;前記候補領域内
    の前記デジタイズされたビットマップのスキュー角度を
    判定するステップ;前記デジタイズされたビットマップ
    をスキュー修正して、スキュー角度を実質的にゼロに減
    らす、スキュー修正するステップ;2進データを前記デ
    ジタイズされたビットマップから読み出して、デジタル
    データの1次元配列を生成する、読み出しステップ;前
    記デジタルデータの1次元配列のランダム化を解くステ
    ップ;及びランダム化を解かれたデジタルデータの1次
    元配列を誤り訂正して、符号化された情報の実質的に誤
    りのないデジタル表示を生成する、ステップ、 を含む、方法。
  2. 【請求項2】 請求項1の方法であって、 前記場所検知するステップの前記窓が、前記ビットマッ
    プの前記既定のサイズに対応するコア領域と、前記外部
    領域に対応する単調な領域と、を備えており、及び、 前記試験することが、前記コア領域及び前記単調な領域
    によって囲まれる前記表示の部分を別個に試験すること
    と、前記部分が前記ビットマップ及び前記外部領域のそ
    れぞれの1又はそれ以上の特性に適合するかを判定する
    ことと、を含み、及び、 前記候補領域の境界が前記コア領域の境界に設定され
    る、方法。
  3. 【請求項3】 請求項2の方法であって、前記コア領域
    を前記試験することが、前記コア領域によって囲まれる
    前記表示の前記部分内における前記第1の色又は前記第
    2の色のピクセルの密度が、既定の範囲内であるかを判
    定することを含む、方法。
  4. 【請求項4】 請求項2の方法であって、前記単調な領
    域を前記試験することが、前記単調な領域によって囲ま
    れる前記表示の前記部分内における第1の色又は第2の
    色のピクセルの密度が既定の範囲内であるかを判定する
    ことを含む、方法。
  5. 【請求項5】 請求項1の方法であって、前記場所検知
    するステップが、さらに、 このステップにおいて、前記候補領域が刈り取られ、前
    記刈り取られた候補領域の寸法が前記ビットマップの前
    記既定のサイズに比較される、追加の試験するステップ
    を含む、方法。
  6. 【請求項6】 請求項1の方法であって、前記印刷され
    た人間が読むことが出来る媒体が更に他の情報を含み、
    また、前記走査するステップ、前記フォーマットするス
    テップ及び前記変換するステップが、前記ビットマップ
    及び前記他の情報を演算する、方法。
  7. 【請求項7】 請求項1の方法であって、前記スキュー
    角度を判定するステップが、 有限状態認識器を使用して、前記ビットマップ内の水平
    又は垂直の端を場所検知すること;ハウ変換を使用し
    て、前記水平又は垂直の端を表す、前記ビットマップ内
    の水平又は垂直の線の座標を計算すること;及び前記ス
    キュー角度を、前記ビットマップ内の前記水平又は垂直
    の線の座標と、前記候補領域内のピクセルのロウを表す
    水平線又は前記候補領域内のピクセルのコラムを表す垂
    直線と、の間の角度として計算すること、を含む、方
    法。
  8. 【請求項8】 請求項7の方法であって、 前記候補領域が複数の水平及び/又は垂直の領域に分割
    され、 予備的なスキュー角度が前記複数の水平及び/又は垂直
    の領域のそれぞれについて計算され、及び、 前記スキュー角度が前記予備的なスキュー角度(複数)
    から、投票のやり方によって選択される、 方法。
  9. 【請求項9】 前記投票のやり方が、前記予備的なスキ
    ュー角度の中央値を選択する、請求項8の方法。
  10. 【請求項10】 前記投票のやり方が、前記予備的なス
    キュー角度の平均値を選択する、請求項8の方法。
  11. 【請求項11】 請求項1の方法であって、更に前記場
    所検知するステップに先だって、既定の因子により、前
    記ピクセルベースの2進表示の解像度を落とすステッ
    プ;及び、前記場所検知するステップが、前記ピクセル
    ベースの2進表示のオリジナルの解像度で、前記候補領
    域を抽出するステップ、 を含む、方法。
  12. 【請求項12】 請求項1の方法であって、前記場所検
    知するステップが、前記変換された表示の少なくも1つ
    の既定の部分を横切る既定のパターンで、前記窓を移動
    する、方法。
  13. 【請求項13】 請求項12の方法であって、前記既定
    のパターンがロウに沿って移動し、前記変換された表示
    の中央のロウを出発し、それから、それぞれ1ロウ上方
    へ、それから1ロウ下方へ反復して移動し、前記変換さ
    れた表示の1番目のロウ及び最終のロウが到達されるま
    で移動する、方法。
  14. 【請求項14】 前記少なくも1つの既定の部分が、前
    記変換された表示の少なくも1つの隅から成る、請求項
    12の方法。
  15. 【請求項15】 前記スキュー修正するステップの後
    に、前記デジタイズされたビットマップを刈り取るステ
    ップを更に含む、請求項1の方法。
  16. 【請求項16】 符号化されたデータビットを表すデー
    タピクセルのロウ及びコラムのビットマップの形式で、
    人間が読むことが出来る媒体上に印刷された、ランダム
    化された情報をデコードする方法であって、前記データ
    ピクセルの各々が第1又は第2の色のいずれかであり、
    前記ビットマップが既定のサイズを有し、及び既定の実
    質的に一様な色のピクセルの外部領域によって囲まれて
    おり、前記方法が、 前記ビットマップをデジタイズするために、前記人間が
    読むことが出来る媒体を走査するステップ;前記ビット
    マップをピクセルベースのグレイスケール表示にフォー
    マットするステップ;前記グレイスケール表示に基づ
    き、閾値の強度レベルを設定して、かつ、前記閾値より
    大きいか又はこれと等しいピクセルを第1のレベルに変
    換し、前記閾値より小さいピクセルを第2のレベルに変
    換することにより、前記ピクセルベースのグレイスケー
    ル表示を、ピクセルベースの2進表示に変換する、ステ
    ップ;前記デジタイズされたビットマップの、候補領域
    のロウ及びコラムの境界を場所検知するステップ;有限
    状態認識器を使用して前記ビットマップ内の水平又は垂
    直の端を場所検知することと、ハウ変換を使用して前記
    水平又は垂直の端を表す前記ビットマップ内の水平又は
    垂直の線の座標を計算することと、及び、前記スキュー
    角度を、前記ビットマップ内の前記水平又は垂直の線の
    座標と、前記候補領域内のピクセルのロウを表す水平線
    又は前記候補領域内のピクセルのコラムを表す垂直線
    と、の間の角度として計算することと、により、前記候
    補領域内の前記デジタイズされたビットマップのスキュ
    ー角度を判定するステップ;スキュー角度が実質的にゼ
    ロに減らされるように、前記デジタイズされたビットマ
    ップをスキュー修正するステップ;デジタルデータの1
    次元配列を生成するために、2進データを前記デジタイ
    ズされたビットマップから読み出すステップ;前記デジ
    タルデータの1次元配列のランダム化を解くステップ;
    及び符号化された情報の実質的に誤りのないデジタル表
    示を生成するために、ランダム化を解かれたデジタルデ
    ータの1次元配列を誤り訂正するステップ、 を含む、方法。
  17. 【請求項17】 請求項16の方法であって、前記場所
    検知するステップが、 窓を、前記ピクセルベースの2進表示を横切って、既定
    のパターンで、ステップ的な態様で、移動させ、 各ステップで、前記窓によって囲まれる前記表示の部分
    を試験して、前記部分が前記ビットマップの1又はそれ
    以上の特性に適合するかを判定し、かつ、 もし前記部分が前記ビットマップの前記1又はそれ以上
    の特性に適合するならば、前記候補領域の境界を前記窓
    の境界として設定する、 ことを含む、方法。
  18. 【請求項18】 請求項16の方法であって、更に、 前記場所検知するステップに先だって、既定の因子によ
    り前記ピクセルベースの2進表示の解像度を落とすステ
    ップを含み;かつ、 前記場所検知するステップが、前記ピクセルベースの2
    進表示のオリジナルの解像度で、前記候補領域を抽出す
    る、 方法。
  19. 【請求項19】 前記スキュー修正するステップの後
    に、前記デジタイズされたビットマップを刈り取るステ
    ップを更に含む、請求項16の方法。
  20. 【請求項20】 走査された2進画像内の2次元バーコ
    ードを場所検知する方法であって、 既定のパターンで、ステップ的な態様で、前記画像を横
    切って、窓を移動させること;各ステップで、前記部分
    が前記2次元バーコードの1又はそれ以上の特性に適合
    するか判定するために、前記窓によって囲まれる前記画
    像の部分を試験するこ;及びもし前記部分が前記2次元
    バーコードの前記1又はそれ以上の特性に適合するなら
    ば、前記デジタイズされたビットマップの境界を前記窓
    の境界として設定すること、 を含む方法。
  21. 【請求項21】 走査された2進画像の候補領域内の2
    次元バーコードのスキュー角度を判定する方法であっ
    て、 有限状態認識器を使用して、前記2次元バーコード内の
    水平又は垂直の端を場所検知するステップ;ハウ変換を
    使用して、前記水平又は垂直の端を表す、前記2次元バ
    ーコード内の水平又は垂直の線の座標を計算するステッ
    プ;及び前記スキュー角度を、前記2次元バーコード内
    の前記水平又は垂直の線の座標と、前記候補領域内のピ
    クセルのロウを表す水平線又は前記候補領域内のピクセ
    ルのコラムを表す垂直線と、の間の角度として計算する
    ステップ、 を含む、方法。
JP11357901A 1998-12-16 1999-12-16 2次元バ―コ―ドを場所検知し及び読取るための方法 Pending JP2000200321A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/212243 1998-12-16
US09/212,243 US6082619A (en) 1998-12-16 1998-12-16 Method for locating and reading a two-dimensional barcode

Publications (1)

Publication Number Publication Date
JP2000200321A true JP2000200321A (ja) 2000-07-18

Family

ID=22790192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11357901A Pending JP2000200321A (ja) 1998-12-16 1999-12-16 2次元バ―コ―ドを場所検知し及び読取るための方法

Country Status (4)

Country Link
US (1) US6082619A (ja)
JP (1) JP2000200321A (ja)
DE (1) DE19960555B4 (ja)
GB (1) GB2344913B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004040506A1 (en) * 2002-10-31 2004-05-13 Iconlab, Inc. Two-dimensional code having superior decoding property which is possible to control the level of error correcting codes, and method for encoding and decoding the same
US7636483B2 (en) 2003-12-05 2009-12-22 Fujitsu Limited Code type determining method and code boundary detecting method
JP2011513809A (ja) * 2008-02-25 2011-04-28 テレフオンアクチーボラゲット エル エム エリクソン(パブル) バーコードに含まれている情報を読み出す方法及び装置
JP2018055304A (ja) * 2016-09-28 2018-04-05 シャープ株式会社 符号読取装置、制御プログラムおよび制御方法

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7387253B1 (en) 1996-09-03 2008-06-17 Hand Held Products, Inc. Optical reader system comprising local host processor and optical reader
US6672511B1 (en) * 1996-06-03 2004-01-06 Symbol Technologies, Inc. Omnidirectional reading of two-dimensional symbols
US7304670B1 (en) 1997-03-28 2007-12-04 Hand Held Products, Inc. Method and apparatus for compensating for fixed pattern noise in an imaging system
US7028899B2 (en) * 1999-06-07 2006-04-18 Metrologic Instruments, Inc. Method of speckle-noise pattern reduction and apparatus therefore based on reducing the temporal-coherence of the planar laser illumination beam before it illuminates the target object by applying temporal phase modulation techniques during the transmission of the plib towards the target
JP3458737B2 (ja) * 1998-11-27 2003-10-20 株式会社デンソー 2次元コードの読取方法及び記録媒体
US6310633B1 (en) * 1999-03-23 2001-10-30 Ricoh Company Limited Method and system for organizing document information
US6371373B1 (en) * 1999-05-25 2002-04-16 Matsushita Electric Industrial Co., Ltd. Method for reading a two-dimensional barcode
US6674919B1 (en) * 1999-09-21 2004-01-06 Matsushita Electric Industrial Co., Ltd. Method for determining the skew angle of a two-dimensional barcode
US7137711B1 (en) 2000-03-21 2006-11-21 Leonard Reiffel Multi-user retro reflector data input
US20060082557A1 (en) * 2000-04-05 2006-04-20 Anoto Ip Lic Hb Combined detection of position-coding pattern and bar codes
US6708885B2 (en) 2000-05-03 2004-03-23 Leonard Reiffel Dual mode data imaging product
US20020016750A1 (en) * 2000-06-20 2002-02-07 Olivier Attia System and method for scan-based input, storage and retrieval of information over an interactive communication network
DE10040614A1 (de) * 2000-08-16 2002-02-28 Gavitec Gmbh Verfahren zur automatischen Erkennung einer gerichteten Struktur
US7034803B1 (en) 2000-08-18 2006-04-25 Leonard Reiffel Cursor display privacy product
DE60134759D1 (de) * 2000-08-18 2008-08-21 Leonard Reiffel Anmerkungs-abbildungs-datenprodukt
EP1350385A4 (en) * 2000-12-15 2004-12-15 Leonard Reiffel IMAGE DATA SOURCE LOCATION PRODUCT
US7099070B2 (en) * 2000-12-15 2006-08-29 Leonard Reiffel Multi-imager multi-source multi-use coded data source data input product
AU2002235191A1 (en) * 2000-12-15 2002-06-24 Leonard Reiffel Imaged coded data source transducer product
US7203361B1 (en) 2001-03-16 2007-04-10 Hand Held Products, Inc. Adaptive digitizer for optical reader
US7411593B2 (en) * 2001-03-28 2008-08-12 International Business Machines Corporation Image rotation with substantially no aliasing error
US20040195327A1 (en) * 2001-04-19 2004-10-07 Leonard Reiffel Combined imaging coded data source data acquisition
US6814289B2 (en) 2001-05-30 2004-11-09 Sandia Corporation Self-registering spread-spectrum barcode method
US6869015B2 (en) 2001-05-30 2005-03-22 Sandia National Laboratories Tamper-indicating barcode and method
US6895116B2 (en) * 2001-06-07 2005-05-17 Hewlett-Packard Development Company, L.P. Automatically extracting graphical bar codes
US7331523B2 (en) 2001-07-13 2008-02-19 Hand Held Products, Inc. Adaptive optical image reader
US20040135766A1 (en) * 2001-08-15 2004-07-15 Leonard Reiffel Imaged toggled data input product
DE10154679A1 (de) * 2001-11-07 2003-05-15 Sick Ag Verfahren zum Betrieb eines Codelesers und Codeleser
JP2003168071A (ja) * 2001-11-30 2003-06-13 Sanyo Electric Co Ltd 2次元バーコードの読み取り方法
US7301667B1 (en) * 2002-05-06 2007-11-27 Electronics For Imaging, Inc. Image tiling in ink jet printing systems
US6802450B2 (en) * 2002-08-07 2004-10-12 Shenzhen Syscan Technology Co. Ltd Guiding a scanning device to decode 2D symbols
US20040134988A1 (en) * 2003-01-09 2004-07-15 Hand Held Products, Inc. Analog-to-digital converter with automatic range and sensitivity adjustment
US20060291797A1 (en) * 2003-05-27 2006-12-28 Leonard Reiffel Multi-imager multi-source multi-use coded data source data input product
TWI267800B (en) * 2003-06-13 2006-12-01 Lite On Technology Corp Automatic correction method of tilted image
US7156311B2 (en) * 2003-07-16 2007-01-02 Scanbuy, Inc. System and method for decoding and analyzing barcodes using a mobile device
US7017816B2 (en) * 2003-09-30 2006-03-28 Hewlett-Packard Development Company, L.P. Extracting graphical bar codes from template-based documents
US7387250B2 (en) * 2003-12-04 2008-06-17 Scanbuy, Inc. System and method for on the spot purchasing by scanning barcodes from screens with a mobile device
US7296747B2 (en) 2004-04-20 2007-11-20 Michael Rohs Visual code system for camera-equipped mobile devices and applications thereof
KR100560330B1 (ko) 2004-04-21 2006-03-30 에이디정보통신 주식회사 색상 보정이 가능한 대용량 2차원 칼라 바코드인코딩/디코딩 시스템 및 그 방법
US20050246196A1 (en) * 2004-04-28 2005-11-03 Didier Frantz Real-time behavior monitoring system
JP4791710B2 (ja) 2004-06-24 2011-10-12 セイコーエプソン株式会社 印刷装置、プログラム、印刷システムおよび印刷制御方法
US8215556B2 (en) * 2004-06-28 2012-07-10 Konica Minolta Laboratory U.S.A., Inc. Color barcode producing, reading and/or reproducing method and apparatus
US7668404B2 (en) * 2004-06-30 2010-02-23 Lexmark International, Inc. Method and system of deskewing an image using monochrome conversion to separate foreground from background
US7309015B2 (en) * 2004-07-14 2007-12-18 Scanbuy, Inc. Mobile device gateway providing access to instant information
US20060027657A1 (en) 2004-08-04 2006-02-09 Laurens Ninnink Method and apparatus for high resolution decoding of encoded symbols
US7533817B2 (en) * 2004-08-09 2009-05-19 Konica Minolta Systems Laboratory, Inc. Color barcode producing method and apparatus, color barcode reading method and apparatus and color barcode reproducing method and apparatus
US7175090B2 (en) * 2004-08-30 2007-02-13 Cognex Technology And Investment Corporation Methods and apparatus for reading bar code identifications
US20060043189A1 (en) * 2004-08-31 2006-03-02 Sachin Agrawal Method and apparatus for determining the vertices of a character in a two-dimensional barcode symbol
US7376285B2 (en) * 2004-12-13 2008-05-20 Primax Electronics Ltd. Method of auto-deskewing a tilted image
US7963448B2 (en) 2004-12-22 2011-06-21 Cognex Technology And Investment Corporation Hand held machine vision method and apparatus
US9552506B1 (en) * 2004-12-23 2017-01-24 Cognex Technology And Investment Llc Method and apparatus for industrial identification mark verification
US7568628B2 (en) 2005-03-11 2009-08-04 Hand Held Products, Inc. Bar code reading device with global electronic shutter control
US7523855B2 (en) * 2005-03-28 2009-04-28 Konica Minolta Systems Laboratory, Inc. Systems and methods for preserving and maintaining document integrity
US7669769B2 (en) * 2005-03-28 2010-03-02 Konica Minolta Systems Laboratory, Inc. Systems and methods for preserving and maintaining document integrity
US7711142B2 (en) * 2005-05-03 2010-05-04 Teselle John Method and system for composing a digital signature graphic appearance and specifying a document display location thereof
JP4859390B2 (ja) * 2005-05-10 2012-01-25 株式会社リコー 画像処理方法及び画像処理装置
US7770799B2 (en) 2005-06-03 2010-08-10 Hand Held Products, Inc. Optical reader having reduced specular reflection read failures
US7558599B2 (en) * 2005-09-19 2009-07-07 Silverbrook Research Pty Ltd Printing a bill using a mobile device
US7855805B2 (en) 2005-09-19 2010-12-21 Silverbrook Research Pty Ltd Printing a competition entry form using a mobile device
US7756526B2 (en) 2005-09-19 2010-07-13 Silverbrook Research Pty Ltd Retrieving a web page via a coded surface
US7621442B2 (en) 2005-09-19 2009-11-24 Silverbrook Research Pty Ltd Printing a subscription using a mobile device
US8016187B2 (en) * 2006-02-21 2011-09-13 Scanbury, Inc. Mobile payment system using barcode capture
US8150163B2 (en) * 2006-04-12 2012-04-03 Scanbuy, Inc. System and method for recovering image detail from multiple image frames in real-time
US8108176B2 (en) 2006-06-29 2012-01-31 Cognex Corporation Method and apparatus for verifying two dimensional mark quality
US7766241B2 (en) * 2006-09-29 2010-08-03 Konica Minolta Systems Laboratory, Inc. Barcode for two-way verification of a document
US7628330B2 (en) * 2006-09-29 2009-12-08 Konica Minolta Systems Laboratory, Inc. Barcode and decreased-resolution reproduction of a document image
US8169478B2 (en) 2006-12-14 2012-05-01 Cognex Corporation Method and apparatus for calibrating a mark verifier
FR2910158A1 (fr) * 2006-12-19 2008-06-20 Eastman Kodak Co Procede de lecture de codes visuels
US7852519B2 (en) 2007-02-05 2010-12-14 Hand Held Products, Inc. Dual-tasking decoder for improved symbol reading
US8496177B2 (en) 2007-06-28 2013-07-30 Hand Held Products, Inc. Bar code reading terminal with video capturing mode
US9734376B2 (en) 2007-11-13 2017-08-15 Cognex Corporation System and method for reading patterns using multiple image frames
US8628015B2 (en) 2008-10-31 2014-01-14 Hand Held Products, Inc. Indicia reading terminal including frame quality evaluation processing
EP2209078A1 (de) * 2009-01-15 2010-07-21 ETH Zürich Verfahren und tragbares Gerät zum Erkennen von Barcodes
WO2011011051A2 (en) * 2009-07-20 2011-01-27 The Regents Of The University Of California, Santa Cruz Image-based barcode reader
US8531401B2 (en) 2009-08-13 2013-09-10 Hewlett-Packard Development Company, L.P. Computer accessory device
US8587595B2 (en) 2009-10-01 2013-11-19 Hand Held Products, Inc. Low power multi-core decoder system and method
US9275467B2 (en) * 2012-03-29 2016-03-01 Analog Devices, Inc. Incremental contour-extraction scheme for binary image segments
US9311549B2 (en) * 2012-08-17 2016-04-12 Evernote Corporation Using surfaces with printed patterns for identification of imaging and data processing activities
US9378405B2 (en) 2013-06-28 2016-06-28 Kodak Alaris Inc. Determining barcode locations in documents
US9607200B2 (en) * 2014-10-09 2017-03-28 Cognex Corporation Decoding barcodes
US10311596B2 (en) * 2015-10-16 2019-06-04 Seiko Epson Corporation Image processing device, robot, robot system, and marker
US9646236B1 (en) 2015-12-14 2017-05-09 International Business Machines Corporation Encoding and decoding data in two-dimensional symbology
CN105975892B (zh) * 2016-05-04 2019-02-01 上海皇和信息科技有限公司 彩色图片二维码解码方法
CN110046528B (zh) * 2018-11-20 2022-10-28 维库(厦门)信息技术有限公司 一种点状DataMatrix二维码识别方法
US11126808B1 (en) 2019-05-30 2021-09-21 Owens-Brockway Glass Container Inc. Methods for dot code image processing on a glass container
CN114548136B (zh) * 2021-11-18 2024-10-29 福建星网天合智能科技有限公司 一种反光二维码图片的解析方法、装置、设备和介质
CN117195928B (zh) * 2023-09-20 2024-04-30 中科微至科技股份有限公司 一种基于深度学习的条码定位检测方法
US12488208B2 (en) 2024-05-16 2025-12-02 Scandit Ag Secure ID scanning using image analysis

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4447903A (en) * 1981-05-22 1984-05-08 Ael Microtel, Ltd. Forward error correction using coding and redundant transmission
US4692603A (en) * 1985-04-01 1987-09-08 Cauzin Systems, Incorporated Optical reader for printed bit-encoded data and method of reading same
US4782221A (en) * 1985-04-01 1988-11-01 Cauzin Systems, Incorporated Printed data strip including bit-encoded information and scanner control
US4754127A (en) * 1985-11-15 1988-06-28 Cauzin Systems, Incorporated Method and apparatus for transforming digitally encoded data into printed data strips
JPS62137974A (ja) * 1985-12-12 1987-06-20 Ricoh Co Ltd 画像処理方式
JPS62219769A (ja) * 1986-03-19 1987-09-28 Canon Inc 電子フアイリングシステム
JPS62219768A (ja) * 1986-03-19 1987-09-28 Canon Inc 電子フアイリングシステム
US4736109A (en) * 1986-08-13 1988-04-05 Bally Manufacturing Company Coded document and document reading system
US4924078A (en) * 1987-11-25 1990-05-08 Sant Anselmo Carl Identification symbol, system and method
US5053609A (en) * 1988-05-05 1991-10-01 International Data Matrix, Inc. Dynamically variable machine readable binary code and method for reading and producing thereof
US5126542A (en) * 1988-05-05 1992-06-30 International Data Matrix, Inc. Dynamically variable machine readable binary code and method for reading and producing thereof
US4939354A (en) * 1988-05-05 1990-07-03 Datacode International, Inc. Dynamically variable machine readable binary code and method for reading and producing thereof
US4988852A (en) * 1988-07-05 1991-01-29 Teknekron Transportation Systems, Inc. Bar code reader
US4948955A (en) * 1988-12-22 1990-08-14 The Boeing Company Barcode location determination
US5073954A (en) * 1989-02-28 1991-12-17 Electrocom Automation, Inc. Bar code location and recognition processing system
US5153928A (en) * 1989-06-09 1992-10-06 Casio Computer Co., Ltd. Method and apparatus for recording/reproducing mesh pattern data
US5065437A (en) * 1989-12-08 1991-11-12 Xerox Corporation Identification and segmentation of finely textured and solid regions of binary images
US5083214A (en) * 1990-05-02 1992-01-21 Eastman Kodak Company Apparatus and methods for extracting data from a scanned bit-mapped data strip
US5060980A (en) * 1990-05-30 1991-10-29 Xerox Corporation Form utilizing encoded indications for form field processing
US5241166A (en) * 1990-07-02 1993-08-31 Chandler Donald G Low resolution target acquisition
US5091966A (en) * 1990-07-31 1992-02-25 Xerox Corporation Adaptive scaling for decoding spatially periodic self-clocking glyph shape codes
US5128525A (en) * 1990-07-31 1992-07-07 Xerox Corporation Convolution filtering for decoding self-clocking glyph shape codes
US5168147A (en) * 1990-07-31 1992-12-01 Xerox Corporation Binary image processing for decoding self-clocking glyph shape codes
US5051779A (en) * 1990-10-10 1991-09-24 Fuji Xerox Co., Ltd. Job control sheet for image processing system
US5189292A (en) * 1990-10-30 1993-02-23 Omniplanar, Inc. Finder pattern for optically encoded machine readable symbols
US5296690A (en) * 1991-03-28 1994-03-22 Omniplanar, Inc. System for locating and determining the orientation of bar codes in a two-dimensional image
US5262623A (en) * 1991-09-04 1993-11-16 Omniplanar, Inc. Method and apparatus for distinguishing a preferred bar code or the like
AU3058292A (en) * 1991-10-30 1993-06-07 Computer Based Controls, Inc. Financial document dispensing apparatus and method
US5221833A (en) * 1991-12-27 1993-06-22 Xerox Corporation Methods and means for reducing bit error rates in reading self-clocking glyph codes
US5245165A (en) * 1991-12-27 1993-09-14 Xerox Corporation Self-clocking glyph code for encoding dual bit digital values robustly
JPH05290197A (ja) * 1992-04-06 1993-11-05 Teiriyou Sangyo Kk 二次元コ−ドシンボルマ−クの解読方法
US5487115A (en) * 1992-05-14 1996-01-23 United Parcel Service Method and apparatus for determining the fine angular orientation of bar code symbols in two-dimensional CCD images
JP3187936B2 (ja) * 1992-05-29 2001-07-16 オリンパス光学工業株式会社 バーコード読取装置
US5801848A (en) * 1993-01-06 1998-09-01 Fontech Ltd. Process for transmitting and/or storing information
US5352878A (en) * 1993-01-29 1994-10-04 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using independent bar and space analysis
US5404003A (en) * 1993-02-01 1995-04-04 United Parcel Service Of America, Inc. Method and apparatus for decoding bar code symbols using byte-based searching
US5337362A (en) * 1993-04-15 1994-08-09 Ricoh Corporation Method and apparatus for placing data onto plain paper
US5304787A (en) * 1993-06-01 1994-04-19 Metamedia Corporation Locating 2-D bar codes
USD377501S (en) 1994-01-14 1997-01-21 Computer Based Controls, Inc. Font of machine readable patterns
JP2835274B2 (ja) * 1994-02-24 1998-12-14 株式会社テック 画像認識装置
US5917945A (en) * 1994-06-15 1999-06-29 Metanetics Corporation Recognizing dataforms in image areas
JP2952170B2 (ja) * 1994-12-16 1999-09-20 オリンパス光学工業株式会社 情報再生システム
US5862270A (en) * 1995-12-08 1999-01-19 Matsushita Electric Industrial Co., Ltd. Clock free two-dimensional barcode and method for printing and reading the same
US6201901B1 (en) * 1998-06-01 2001-03-13 Matsushita Electronic Industrial Co., Ltd. Border-less clock free two-dimensional barcode and method for printing and reading the same

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004040506A1 (en) * 2002-10-31 2004-05-13 Iconlab, Inc. Two-dimensional code having superior decoding property which is possible to control the level of error correcting codes, and method for encoding and decoding the same
US7198194B2 (en) 2002-10-31 2007-04-03 Iconlab Inc. Two-dimensional code having superior decoding properties making it possible to control the level of error correcting codes, and a method for encoding and decoding the same
US7636483B2 (en) 2003-12-05 2009-12-22 Fujitsu Limited Code type determining method and code boundary detecting method
EP2275968A1 (en) 2003-12-05 2011-01-19 Fujitsu Limited Code type determining method and code boundary detecting method
JP2011513809A (ja) * 2008-02-25 2011-04-28 テレフオンアクチーボラゲット エル エム エリクソン(パブル) バーコードに含まれている情報を読み出す方法及び装置
JP2018055304A (ja) * 2016-09-28 2018-04-05 シャープ株式会社 符号読取装置、制御プログラムおよび制御方法

Also Published As

Publication number Publication date
GB2344913B (en) 2003-10-29
DE19960555B4 (de) 2005-05-19
GB2344913A (en) 2000-06-21
US6082619A (en) 2000-07-04
GB9929667D0 (en) 2000-02-09
DE19960555A1 (de) 2000-06-21

Similar Documents

Publication Publication Date Title
JP2000200321A (ja) 2次元バ―コ―ドを場所検知し及び読取るための方法
US6565003B1 (en) Method for locating and reading a two-dimensional barcode
US6201901B1 (en) Border-less clock free two-dimensional barcode and method for printing and reading the same
US6115508A (en) Clock free two-dimensional barcode and method for printing and reading the same
US10949509B2 (en) Watermark embedding and extracting method for protecting documents
US6742708B2 (en) Fiducial mark patterns for graphical bar codes
US6895116B2 (en) Automatically extracting graphical bar codes
US8275168B2 (en) Orientation free watermarking message decoding from document scans
US20110052094A1 (en) Skew Correction for Scanned Japanese/English Document Images
US20050067496A1 (en) Extracting graphical bar codes from template-based documents
US7305131B2 (en) Extracting graphical bar codes from an input image
US20070246542A1 (en) Document element repair
US7911653B2 (en) Device using low visibility encoded image to manage copy history
GB2388230A (en) A method for locating and reading a barcode
JPS6325391B2 (ja)
JP4192909B2 (ja) 改ざん検出装置、改ざん検出方法
DE19964415B4 (de) Verfahren zum Auffinden und Lesen eines zweidimensionalen Strichcodes
Zhu et al. Information encoding into and decoding from dot texture for active forms
HK1024550B (en) Method for reading a border-less clock free two-dimensional barcode
JP2007157076A (ja) 画像処理装置及び画像処理方法
JPH04364593A (ja) 手書き文字切り出し方式

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040622

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050523

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20061129