JP2017516204A - 美的要素を備える機械読み取り可能な光学式コードの生成および復号化 - Google Patents

美的要素を備える機械読み取り可能な光学式コードの生成および復号化 Download PDF

Info

Publication number
JP2017516204A
JP2017516204A JP2016561332A JP2016561332A JP2017516204A JP 2017516204 A JP2017516204 A JP 2017516204A JP 2016561332 A JP2016561332 A JP 2016561332A JP 2016561332 A JP2016561332 A JP 2016561332A JP 2017516204 A JP2017516204 A JP 2017516204A
Authority
JP
Japan
Prior art keywords
machine
optical code
probe
readable optical
code
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
JP2016561332A
Other languages
English (en)
Inventor
ステイン,アンドリュー
Original Assignee
アンキ,インコーポレイテッド
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 アンキ,インコーポレイテッド filed Critical アンキ,インコーポレイテッド
Publication of JP2017516204A publication Critical patent/JP2017516204A/ja
Pending legal-status Critical Current

Links

Images

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
    • 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
    • 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/06056Constructional details the marking comprising a further embedded marking, e.g. a 1D bar code with the black bars containing a smaller sized 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/06103Constructional details the marking being embedded in a human recognizable image, e.g. a company logo with an embedded two-dimensional code
    • 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/0614Constructional details the marking being selective to wavelength, e.g. color barcode or barcodes only visible under UV or IR
    • 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/12Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using a selected wavelength, e.g. to sense red marks and ignore blue marks
    • 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/1447Methods for optical code recognition including a method step for retrieval of the optical code extracting optical codes from image or text carrying said optical code

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

コード自体に組み込まれる美的要素を有する機械読み取り可能な光学式コードを生成および復号化するための技術が提供される。こうして、上記機械読み取り可能な光学式コードは、美しさを満たすようにデザイン可能であることおよび/または見る人への情報を伝達することが可能であって、機械読み取り可能な光学式コードがまったく現れないように装うことさえも可能である。そうした情報は、情報がコード自体に組み込まれている場合であっても、機械により読み込むための符号化された情報から区別すること(しなくてもよい)が可能である。本明細書に記載した技術は、いずれのタイプの機械読み取り可能な光学式コードに適用することが可能である。【選択図】図5

Description

関連出願の相互参照
本出願は、2014年4月10日出願の米国仮出願第61/978,113号「美的要素を備える機械読み取り可能な光学式コード(Machine-Readable Optical Codes with Aesthetic Component)」(代理人書類番号ANK005−PROV)の優先権を主張し、その開示はその全体を参照により本明細書に組み入れられたものとする。
本明細書は、機械読み取り可能な光学式コードに関する。
機械読み取り可能な光学式コードは、周知であり、ユビキタスである。そうしたコードは、書類、チケット、IDカード、製品、表示画面、タグおよび他の多くの場所にあり、例えば品目、人物、書類および/または物体等を確認するなど、多くの異なる目的で用いられることが可能である。そうしたコードの例としては、クイックレスポンス(QR)コードおよび統一商品コード(Universal Product Code)(UPC)がある。撮像装置は、光学式コードをスキャンするために用いられ、その後関連データがコード内のパターンから抽出される。そうしたデータは、例えば、さらなる情報を含有する資源(例えばデータベースまたはウェブサイト)へのインデックス、ポインターまたはリンクを含みうる。
ここで図17を参照すると、先行技術による従来の機械読み取り可能な光学式コード1701A、1701B、1701Cのいくつかの例を示している。一般に、そうしたコードは、それらが人にどのように見えるかにかかわらず、機械によって確実に読み取られるようにデザインされる。しかしながら、そうしたコードはしばしば製品の包装、書類および人がそれらを視認できる他の場所にあるため、物体、包装、書類またはそれらがある他の表面の全体的な美しさを損なうことがありうる。加えて、そうした機械読み取り可能な光学式コードは、別の方法で美観目的または人への情報伝達のために用いられうる利用可能な空間のかなりの部分をしばしば占有する。後者の争点は、小さい物体またはカード上に機械読み取り可能な光学コードが配置される場合に特に問題となり、その場合、機械読み取り可能な光学式コードに費やされるエリアの外側の、人が読み取り可能な構成要素のためにさらなる空間を割くことが(たとえできるとしても)ほとんどできない。機械読み取り可能な光学式コードを小さく作成できる場合はあるが、普通、これは可読性および信頼性を減じるという犠牲を払っている。しかしながら、一般に、既存の機械読み取り可能な光学式コードは、機械で読まれることのほかに機能を果たさない。
いくつかの場合では、機械読み取り可能な光学式コードのいくつかの空白または空きエリア内に、人が読み取り可能な文字または図を含むように試みがなされている。例えば、コード1701Cは、コードの空きエリア内に埋め込まれた文字を含む。しかしながら、文字が占有するエリアは、コードそれ自体の部分ではない。そのため、そうした配置では、人が読み取り可能な要素外側の、かなりの空間を機械読み取り可能なコードが占有する必要が依然としてある。
様々な実施形態によれば、コード自体に組み込まれ、かつ、コード自体と同じ空間を占有する美的要素を有する機械読み取り可能な光学式コードを生成および復号化するための技術が提供される。こうして、機械読み取り可能な光学式コード自体が、美しさを満たすようにデザイン可能であることおよび/または見る人への情報を伝達することが可能であって、機械読み取り可能なコードであることがまったく現れないように装うことさえも可能である。そうした情報は、情報がコード自体に組み込まれている場合であっても、機械で読み取るために符号化された情報と区別することが可能である(しかし、しなくてもよい)。
少なくとも1つの実施形態において、光学式コードは、機械読み取り可能な光学式コード内に存在するが普通はコードの復号化に用いられないネガティブスペースを利用することによって構成される。特に、機械読み取り可能な光学式コードの各領域または「セル」は、ある面積を占有するが、しかしながらコードを復号化する場合、「プローブ位置」と称されるその面積の一部分のみが、機械によって正常に読み取られる。セルの残りのエリア(プローブ位置外側)は、普通は機械によって無視されるため、全体の美的な方式に適したあらゆる任意の色を割り当てることが可能である。少なくとも1つの実施形態において、プローブ位置は、各セルのサイズと比べて比較的小さいため、プローブ位置を介して伝達される所望の情報に合う全体の美的デザインの作成において相当な自由度が許可される。
例えば、一実施形態においては、各セルは四角形であり、各プローブ位置はその対応セルの幅の3分の1の直径を有する円である。そうした実施形態においては、プローブ位置外側の面積は、セルの全面積のおよそ91.3%を占有し、この91.3%に、全体の美的な方式に適したあらゆる任意の色を割り当てることが可能である。
本明細書に記載する技術は、例えばQRコード(登録商標)、バーコード、統一商品コード(UPC)等であるあらゆる種類の機械読み取り可能な光学式コードに適用することが可能である。当業者は、例であるこの列挙が網羅的ではないことがわかるであろう。
さらなる詳細および変形を本明細書に記載する。
添付の図面により、いくつかの実施形態を説明する。明細書とともに、実施形態によるシステムおよび方法の原理の説明に図面を用いる。当業者は、図面において説明される特定の実施形態が、単なる例示であり、範囲の限定を意図しないことがわかるであろう。
図1は、一実施形態による、美的要素を有する機械読み取り可能な光学式コードを生成するためのハードウェア構造を表すブロック図である。
図2は、一実施形態による、美的要素を有する機械読み取り可能な光学式コードを読み取り、処理するためのハードウェア構造を表すブロック図である。
図3は、先行技術によるブロック状の美しさを示す従来の機械読み取り可能な光学式コードの様式の例を表す。
図4は、一実施形態による、美的要素を有し、図3と同様の情報を含む機械読み取り可能な光学式コードの説明例を表す。
図5は、一実施形態による、同様の情報を含むが異なる美的外観を含む3つの機械読み取り可能な光学式コードの説明例を表す。
図6は、一実施形態による、同様の情報を含むが異なる美的外観を含む4つの機械読み取り可能な光学式コードの他の説明例を表す。
図7Aおよび7Bは、一実施形態による、同様の情報を含むが異なる美的外観を含む2つの機械読み取り可能な光学式コードの他の説明例を表す。 同上。
図8Aおよび8Bは、一実施形態による、同様の情報を含むが異なる美的外観を含む2つの機械読み取り可能な光学式コードの他の説明例を表す。 同上。
図9Aおよび9Bは、一実施形態による、同様の情報を含むが異なる美的外観を含む2つの機械読み取り可能な光学式コードの他の説明例を表し、2番目のコードは企業ロゴを提示する。 同上。
図9Cは、図9Bに示す同様の機械読み取り可能な光学式コードを表しているが、プローブ位置を表示していない。
図10は、一実施形態による、美的要素を有する機械読み取り可能な光学式コードを生成するための全体的な方法を表すフロー図である。
図11Aは、一実施形態による、美的要素を有する機械読み取り可能な光学式コードの生成に用いるための、見本寸法を含む基準マーカ(基準(fiducial))の説明例を表す。
図11Bは、一実施形態による、見本寸法を含む図11Aの基準内のセルの説明例を表す。
図12A、12Bおよび12Cは、様々な実施形態による、基準の代替となる説明例を表す。 同上。 同上。
図13は、一実施形態による、同様のパターンを異なるマーカで区別する方位指標(orientation indicator)の使用の説明例を表す。
図14は、一実施形態による、ある固定プローブ位置で検出されるパターンが、残りのコードをどのように読み取るべきかを示す説明例を表す。
図15は、一実施形態による、基準を検出するための方法を表すフロー図である。
図16は、一実施形態による、基準検出後のコードの復号化の方法を表すフロー図である。
図17は、先行技術による、従来の機械読み取り可能な光学式コードの例を表す。
図18は、曲線コーナーを有する基準における仮想コーナーの推定の例を表す。
様々な実施形態によれば、本明細書に記載されるシステムおよび方法は、美しさを満たし、柔軟であり、かつ/または人が読み取る場合の付加的な意味を含む機械読み取り可能な光学式コードを生成することが可能である。本明細書に記載の技術は、機械読み取り可能な光学式コード内のネガティブスペースを利用するものであり、コードの一部であるがスキャン装置によって読み取られないそれらのエリアを参照し、そうしたエリアを用いて、機械により読み取られる際のその値に影響することなく、コードに対して美的な改良を提供することが可能である。様々な実施形態では、本明細書に記載される技術は、あらゆる解像度/複雑性のコード(任意の数の符号化ビットまたはセルを含む)ならびに完全にパラメータ化された、スケールに依存しない基準的形状およびコードパターンを支援することが可能である。
以下に論じるように、いくつかの実施形態は、復号化パターンの動的な調節および/または復号化時の解像度を考慮する。
本明細書に記載の技術はまた、効果的で、ロバストな検出および復号化を提供する。ロバストな2値化には、局所スケールを用いて空間的に変化する閾値を動的に決定することが可能である。以下に論じるように、段階的カスケードの次第に複雑になるフィルタを用いて候補を移動させることが可能である。
さらに、様々な実施形態は、正確なプローブ配置に関して、広画角および/またはサブピクセルの調整を行うためにプローブ位置の遠近法ワープ(perspective warping)を提供する。
少なくとも1つの実施形態において、既知の物理的サイズが観測されたコードと関連し、カメラの内部較正が利用可能であれば、コードの基準(または同等に、カメラに関するコードのポーズ)に関して、カメラの三次元ポーズを決定(すなわち、回転および移動)することが可能である。
様々な実施形態によれば、本明細書に記載のシステムおよび方法は、機械読み取り可能な光学式コードを作成および/または読み取るための任意のシステムに関連して実施することが可能である。そうしたコードは、任意の製品、書類、物体、品目、装置等と関係しうる。コードは、例えばタグ、ラベルまたは書類に印刷されることや、画面上に表示されること等を含む、任意の公知の方法または技術に従って記憶、伝送および/または出力されうる。コードは、任意の好適なサイズ、形状または寸法であってよく、任意の好適な色または色の組合せで出力されうる。
システムは、機械読み取り可能な光学式コードの特有のレイアウトおよび配置に関連して本明細書に記載されるが、当業者は、そうした例が単に例示を意図していることおよび本明細書に記載の技術は他の文脈、実際には機械読み取り可能な光学式コードが生成または読み取られるという任意の文脈において実施可能であることがわかるであろう。これらの他の文脈のいくつかの例が以下に記載されるが、そうした記載は限定を意図していない。従って、以下の記載は、範囲を限定するのではなく、例として様々な実施形態を説明することを意図している。
ここで図1を参照すると、一実施形態による、美的要素を有する機械読み取り可能な光学式コードを生成するためのハードウェア構造を表すブロック図を示す。そうした構造は、例えば、1つまたは複数の機械読み取り可能な光学式コード108の形で出力を生成するように構成される演算装置または他の電子装置101において本明細書に記載の技術を実施するために用いられることが可能である。
少なくとも1つの実施形態において、装置101は、当業者に周知のいくつかのハードウェア構成要素を有する。表示画面102は、例えば機械読み取り可能な光学式コード108とそうしたコード108をデザインおよび生成するためのユーザインタフェース制御とを含むことが可能である情報を表示する任意の要素であることが可能である。入力装置103は、例えばタッチスクリーン、キーボード、マウス、ダイアル、ホイール、ボタン、トラックボール、スタイラス等またはそれらの任意の組合せであるユーザ100からの入力を受信する任意の要素であることが可能である。入力装置103はまた、音声入力またはその他の形式の入力を受信することが可能である。入力装置103を経由して受信された入力を、コード108の生成に用いることが可能である。
プロセッサ104は、周知の技術による、ソフトウェアの指示の下でデータ上で動作を行うための従来のマイクロプロセッサでありうる。メモリ105は、ランダムアクセスメモリであることが可能であり、ソフトウェアが実行している間のプロセッサ104による使用のための、この分野において公知の構造および設計を有する。
データ記憶部107は、デジタル形式のデータに関する任意の磁気、光学または電子の記憶装置であることが可能であって、例えばフラッシュメモリ、磁気ディスクドライブ、CD−ROM等を含む。データ記憶部107は、機械読み取り可能な光学式コード108を一時的または永続的のいずれかで記憶するために用いることが可能であり、かつ、機械読み取り可能な光学式コード108の生成に用いられる他の情報を記憶するために用いられることもまた可能である。
装置101は、機械読み取り可能な光学式コード108を出力または伝送するために、出力装置109を含むこともまた可能である。そうした出力装置109は、装置101に組み込まれることが可能であり、またはプリンタなどの独立した構成要素であることも可能である。コード108を記憶、伝送および/または出力するために、任意の好適な機構を用いることが可能である。
システムはまた、クライアント/サーバ環境または分散型コンピューティング環境で実施されることが可能である。そうした環境において、図1に示す構成要素のいずれかまたはすべてが、例えばインターネットなどのネットワークを介して互いに通信する異なる演算装置において実施されることが可能である。公知のプロトコルが、構成要素間のそうした相互作用を実施するために用いられる。例えばインターネットなどの任意の好適なタイプの通信ネットワークを、様々な構成要素間でのデータの伝送のための機構として用いることが可能である。インターネットに加えて、他の例として、セルラー電話ネットワーク、EDGE、3G、4G、ロングタームエボリューション(LTE)、セッション初期化プロトコル(SIP)、ショートメッセージピアツーピアプロトコル(SMPP)、SS7、Wi−Fi、Bluetooth(登録商標)、ZigBee、ハイパーテキスト転送プロトコル(HTTP)、セキュアハイパーテキスト転送プロトコル(SHTTP)および/または転送制御プロトコル/インターネットプロトコル(TCP/IP)等、ならびに/もしくはそれらの任意の組合せを含む。少なくとも1つの実施形態において、システムの構成要素は、電子的ネットワークを経由して他の構成要素と通信することを可能とするためにネットワーク通信インタフェースを含むことが可能である。他の構造もまた可能である。
少なくとも1つの実施形態において、そうしたシステムは、ウェブサーバによって提供されるウェブページと相互に作用するウェブブラウザを経由するシステムの動作をユーザ100が制御するウェブコンテクストで実施可能である。
ここで図2を参照すると、一実施形態による美的要素を有する機械読み取り可能な光学式コードを読み取って処理するためのハードウェア構造を表すブロック図を示す。そうした構造を、例えば、本明細書に記載の技術を用いることによって生成されうる機械読み取り可能な光学式コード108を含有する画像202を撮影またはスキャンするために用いることが可能である。図2の装置101は、図1に表す装置101と同様であってよく、または異なる装置であってもよい。
少なくとも1つの実施形態において、装置101は、当業者に周知のいくつかのハードウェア構成要素を有する。表示画面102は、例えば機械読み取り可能な光学式コード108およびユーザインタフェース制御を含むことが可能である情報を表示する任意の要素であることが可能である。入力装置103は、例えばタッチスクリーン、キーボード、マウス、ダイアル、ホイール、ボタン、トラックボール、スタイラス等、またはそれらの任意の組合せであるユーザ100からの入力を受信する任意の要素であることが可能である。入力装置103は、音声入力またはその他の形式の入力を受信することが可能である。
プロセッサ104は、周知の技術による、ソフトウェアの指示の下でデータ上で動作を行うための従来のマイクロプロセッサでありうる。メモリ105は、ランダムアクセスメモリであることが可能であり、ソフトウェアが実行している間のプロセッサ104による使用のための、この分野において公知の構造および設計を有する。
データ記憶部107は、デジタル形式のデータのための任意の磁気、光学または電子の記憶装置であることが可能であって、例としてはフラッシュメモリ、磁気ディスクドライブ、CD−ROM等を含む。データ記憶部107は、例えば、機械読み取り可能な光学式コード108から抽出されたデータを一時的または永続的のいずれかで記憶するために用いることが可能であり、かつ、他の情報を記憶するために用いられることもまた可能である。
装置101はまた、コード108を含有する画像202を撮影またはスキャンするためのスキャナ201またはその他の画像撮影装置を含むことが可能である。プロセッサ104は、画像202で発見されるコード108を抽出および解読するための動作を実行する。そうした抽出および解読の動作におけるさらなる詳細が以下に提供される。スキャナ202は装置101に組み込まれることが可能であり、または独立した構成要素であることが可能である。
図2に表す構造は、単なる例示である。システムはまた、例えばクライアント/サーバ環境または分散型コンピューティング環境を含む多くの他の構造で実施可能である。
一実施形態において、システムは、独立型であってもクライアント/サーバ設計であっても、任意の好適なコンピュータプログラム言語で書かれたソフトウェアとして実施されることが可能である。あるいは、ハードウェアにおいて実施および/またはハードウェアに埋め込まれてもよい。
ここで図3を参照すると、先行技術による、従来の機械読み取り可能な光学式コード108Aのスタイルの例を示しており、ブロック状の美しさを示す。光学式コードは、9×9の格子内に81個のセル301を含有する。標準の使用において、通常、格子はコード108の一部として表示されるものではなく、セル301をより明確に示すために図3に含まれる。
例えば図3に表す従来の符号化方式では、各セル301は完全に一色で埋められており、例えば黒または白のいずれかである。
一方、本明細書に記載の技術は、各セル301の一部のみを占有するプローブ位置を用いる。ここで図4を参照すると、一実施形態による、美的要素を有し、かつ、図3に表すコード108Aと同様の情報を含有する機械読み取り可能な光学式コード108Bの説明例を示す。図4において、プローブ位置401は、各301の中心に示されている。これらのプローブ位置401は、各セル301内において、機械センサがセル301の色を検出しようと試みることとなるエリアを表現している。ネガティブスペース402(プローブ位置401内でない各セル301の部分)は、機械センサには無視されて、美しさを満たすこと、芸術性および/または他の方法での有意義なデザインを構築するために用いることが可能である。図4においてはプローブ位置401を円として示しているが、任意の形状であることが可能である。プローブ位置401は、それらの各セル301内の中心として示しているが、これは概して好ましい配置でありうるものであって、他の配置が可能である。
機械センサに対して、同様のプローブ位置401がそれぞれにおいて陰がついているため、図3のコード108Aおよび図4のコード108Bは同様の情報を表現する。しかしながら、コード108Bは、従来のアプローチではできない美しさを満たす同心円のパターンとして提示される。
機械読み取り可能な光学式コード108の任意の好適なデザインを、該デザインがプローブ位置401に必要な特定の値に対応している限り含むように本明細書に記載の技術を用いることが可能である。もちろん、ネガティブスペース402の部分が大きいほど(すなわち、その対応セル301と比較して各プローブ位置401が小さいほど)、より柔軟性が与えられて美しさを満たすデザインを生成する。また、プローブ位置401が小さいほど、コード108の読み取りおよび/またはプローブ位置401の発見に、より正確さが必要となる。
様々な実施形態において、コード108のデザインが美しさを満たす必要はないが、人が見る場合の、任意の好適な意味、ブランド価値および/または指示等を保持することが可能である。本明細書に記載の技術は、任意のそうした情報を含有するコード108の生成において有意な柔軟性を提供する。人が読み取り可能なデザインまたは情報は、機械読み取り可能な光学式コード(またはそれらのいくつかの部分)において符号化されるような同様の情報の異なる表現であることが可能であり、または完全に異にすることが可能である。例えば、機械読み取り可能な光学式コードが、データベースに対する特定の製品および価格情報を備えるポインターでありうる一方で、人が読み取り可能なデザインは、アイコンまたは企業ロゴであってよい。
本明細書で提供される他の例と同様に、図3および4に、セル301およびプローブ位置401が例示の目的のためのみに表されていることに留意されたい。概して、そうしたセル301およびプローブ位置401は、本明細書に記載の技術によって生成される実際の機械読み取り可能な光学式コード108には示されないものである。むしろそうしたセル301およびプローブ位置401は、本明細書に記載される技術によって生成されるデザインと、機械によってコード108を読み取る場合に用いられるエリアとの関係を示すためにここに表される。
さらに、記載を明確にするために、本明細書に提供される例は、いくつかのセル301を有する光学式コードを表すものであって、各セル301は、「オン」または「オフ」のいずれかであり、これらの状態は、例えば黒および白の2つの異なる色によって表現することが可能である。しかしながら、当業者は、任意の好適な色(または他の視覚的に差異のある属性)を用いて「オン」および「オフ」状態を表現することが可能であることがわかるであろう。さらに、代替となる実施形態では、各セル301に対して2つ以上の状態を利用することが可能であり、例えば各セル301は、3つまたは4つのうちの一方、または任意の数の異なる色(または他の視覚的に区別される属性)を有することが可能である。
ここで図5を参照すると、一実施形態によって生成され、かつ、同様の情報を含有するが、異なる美的外観である3つの機械読み取り可能な光学式コード108C、108D、108Eの説明例を示す。3つの場合すべてにおいて、プローブ位置401の色付けは同様であるため、3つのコード108は、機械によって読み取る場合に同様の意味を保持する。しかしながら、ネガティブスペース402は、異なる美的特徴を有する異なるデザインを生成するために用いられる。
ここで図6を参照すると、他の説明例である、一実施形態による、同様の情報であるが異なる美的外観を含有する4つの機械読み取り可能な光学式コード108F、108G、108H、108Jを示す。
ここで図7Aおよび7Bを参照すると、他の説明例である、一実施形態による、同様の情報であるが異なる美的外観を含有する2つの機械読み取り可能な光学式コード108K、108Lを示す。
ここで図8Aおよび8Bを参照すると、他の説明例である、一実施形態による、同様の情報であるが異なる美的外観を含有する2つの機械読み取り可能な光学式コード108M、108Nを示す。
図7Aから8Bはまた、本明細書において基準とも称される基準マーカ701を含む。以下により詳細に説明するように、基準701は、さらに大きい画像内の任意の位置に、機械読み取り可能な光学式コード108を配置するために用いられる公知のマーカである。これらの例では、基準701はコード108周囲の太い黒線の四角形であるが、他の形状の基準701を用いることが可能である。
ここで図9Aおよび9Bを参照すると、他の説明例である、一実施形態による、同様の情報であるが異なる美的外観を含有する2つの機械読み取り可能な光学式コード108P、108Qを示すものであり、機械読み取り可能な光学式コードを、定型化された文字で構成される企業ロゴ901として描くことが可能である。また、プローブ位置401に重ねられたロゴ901の黒および白のエリアの配置によれば、図9Bの機械読み取り可能な光学式コード108Qが図9Aの機械読み取り可能な光学式コード108Pと比べて同様の意味を保持することを確実にする。図9Cは、企業ロゴ901として描かれる、図9Bに示すのと同様の機械読み取り可能な光学式コード108Qを、ユーザに対して見えるような状態で表す(すなわち、セル3およびプローブ位置401なしで)。
様々な実施形態において、本明細書に記載の技術によるコード108によって形成される美的デザインは、図、文字またはそれらのいくつかの組合せのいずれかである、任意の好適なタイプまたは形のものであることが可能である。上記したように、美的デザインはコード108に符号化された情報の表現であってよく、またはそうした情報から完全に独立していてもよい。美的デザインは任意の美的、マーク的および/または情報的な目的として、および/またはその他の目的を担ってもよく、またはまったく目的がなくてもよい。

方法
ここで図10を参照すると、一実施形態による、美的要素を有する機械読み取り可能な光学式コード108を生成するための全体的な方法を表すフロー図を示す。図10に表す方法は、任意の好適な演算またはハードウェア装置によって実行されることが可能であり、例えば図1に示すような構造を有しうる。
方法が開始される(1000)。まず、システムは、機械読み取り可能な光学式コード108に関して基準701を決定する(1001)。少なくとも1つの実施形態において、基準701は、機械読み取り可能な光学式コード108の境界を特定する公知のマーカであって、例えば図7Aから9Cに表す黒線の四角形であるが、他の形状の基準701を用いることは可能である。
決定された基準701に基づいて、システムは、プローブ位置401を決定するが(1002)、これらは、そうである必要はないが概してセル301内の中心にある。一実施形態では、プローブ位置401はコード読み取り設備に対する確立された許容誤差に基づいて予め決められたサイズである。例えば、各プローブ位置401は、コード読み取り設備が、各セル301の中心からわずかに外れる位置を読み取ることとなる可能性を理由に十分大きい必要がある。
プローブ位置401について、機械読み取り可能な光学式コード108の予定の値に基づいて、色が設定される(1003)。その後、所望の美的デザインに基づいて、プローブ位置401外側のネガティブスペースが埋められる。美的デザインは、指定されたパラメータに基づいて、機械によって自動的に生成されうる。あるいは美的デザインは、人であるオペレータによって指定されることが可能である。あるいは、これら2つの方法のいくつかの組合せを用いて、例えば自動的に美的デザインを生成するが自動的に生成されたデザインを人であるオペレータが編集することを許可することが可能である。このような方法によってデザインを生成することをユーザに対して許可するために、任意の好適なユーザインタフェースを用いることが可能であり、例えば機械読み取り可能な光学式コードの意図された意味の要求に制約される形状を描くことをユーザに許可するインタフェースを含む。
例えば、少なくとも1つの実施形態においては、基準に対して許容可能な描画エリア(図示される、または図示せず)とプローブ位置がある場所の微弱な表示とを示す描画キャンバスを提示するユーザインタフェースを提供可能である。図示デザインおよびレイアウトのためのコンピュータプログラムに共通する、いくつかの描画ツールのいずれかが、キャンバス周辺のボタンおよび/または他の制御を介して提供されうる。例えばボタンは、例えばコンピュータマウスなどである入力装置を用いてクリックおよびドラッグすることによって直線および/または曲線を描くためのツールを提供しうる。他のボタンは、入力装置を用いてクリックおよびドラッグすることによっても描かれる例えば長方形および円などの基本的形状を提供することができる。少なくとも1つの実施形態において、インタフェースは、任意のプローブ位置を通過するものをユーザが描くことを防止するように構成することが可能であり、代わりに同時に全プローブを完全に除外または含有するようなネガティブスペースおよび任意の閉じた、埋められた形状となる任意の描画線を抑制する。そのため、例えば、ユーザがプローブ内の位置に線または形状のエッジを動かそうとすると、システムは、線または形状のエッジを最近傍のプローブ位置の境界から弾き出すようにすることが可能である。
そして、方法が終了する(1099)。
ここで図11Aを参照すると、一実施形態による、美的要素を有する機械読み取り可能な光学式コード108の生成に用いるための見本寸法を含む、基準マーカ(基準)701の説明例を示す。ここで、基準701は、四角形であり、コーナーマーカ1101を有するが、当業者は、任意の形状、サイズ、またはデザインとすることが可能であることがわかるであろう。もちろん、形状、サイズまたはデザインの選択は、任意の視点からの検出しやすさに影響を与えうる。例えば、図11Aに示すような実質的に四角形の基準701を用いることは、視点が変わるにもかかわらずロバストであるパターン検出のための、計算機的に安価な方法に役立つという理由から有益でありうる。さらに、そうした基準701のシャープなコーナーは、以下に記載するように、画像内のその正確な位置特定と、任意に、三次元空間におけるその位置の正確な予測とに役立つことが可能である。
図11Aの例では、Fは、太い黒線の四角形外側に対応する、基準701の幅を表す。Gは、最外のセル301の外側のエッジと、基準701の内側のエッジとの間の間隙1110を表す。Bは、基準701外側のエリアを表す。
ここで図11Bも参照すると、一実施形態による、基準701内のセル301の説明例を示しており、見本寸法を含む。Sは、四角形幅(SquareWidth)とも称される、セル301の幅を表す。Pは、プローブ位置401の直径を表す(プローブ直径)。プローブ位置401外側であるがセル301内のエリア402もまた示している。
少なくとも1つの実施形態において、すべての寸法は、基準701のサイズに対する尺度とする。そのため、システムが基準701のサイズを一度特定すると、すべてのセル301およびプローブ位置401が決定されうる。また、基準701およびプローブ位置401のレイアウトは、必要に応じてまたは所望により、拡張可能になされ、パラメータ化が可能である。
少なくとも1つの実施形態において、寸法は以下のように関連する。
N×N配列のセル301を有するコード108に関して、
○倍率a:0.0<a≦1.0
○S=F/(N+2+2a)
○G=B=aS
○T=S
○P=S/3
当業者は、上記関係が単なる例示であることがわかるであろう。

基準検出方法
ここで図15を参照すると、一実施形態による、基準701の検出方法を表すフロー図を示す。この方法の目的は、カメラまたは光学スキャナの特定の視点によらず、該カメラまたは光学スキャナによって撮影される画像内の機械読み取り可能な光学式コード108を位置特定する既知の、通常の基準701A(例えば太い黒線の四角形である)を発見することである。いくつかの状況では、図15に表す基準検出方法は、特に、一定の(例えば、フロントパラレル(fronto-parallel))画角をすべての読み取りに対して保証すれば、より単純でありうる。
少なくとも1つの実施形態において、図15に表す方法は、図2に示すような装置によって実行されるものであり、スキャナ201(または他の画像撮影装置)が機械読み取り可能な光学式コード108を含有するスキャン画像202を取得する。処理ステップは、例えばソフトウェアの指示の下で、かつ、他のハードウェア構成に関連するプロセッサ104によって実行可能である。他の実施形態では、図15に表す方法は、他の構造および構成要素を有するハードウェア装置によって実行可能である。
図15のフロー図において、長方形は動作を表し、角丸長方形はそれらの動作の中間産物を表す。
入力画像202は、例えばスキャナ201、カメラまたは他の類似の装置によって撮影またはスキャンされる。少なくとも1つの実施形態において、入力画像202は、2値化される(白黒画像に変わる)。少なくとも1つの実施形態において、この2値化は、画像202のいくつかの部分が、他よりもより明るく光りうる可能性のための機構を提供する。局所スケール1502は、画像202の各部分について決定され、その後、この局所的な平均化画像1503は、閾値1504と比較されるが、画素がオンかオフかを検討されるべきか否かを判定するために、各画素の明るさと、それを囲む画素近傍の平均の明るさとを比較することによる。その結果が2値画像1505である。
少なくとも1つの実施形態において、ステップ1502において用いられる近傍サイズは、特徴スケール予測(characteristic scale estimation)によって各画素で決定される。特徴スケール予測は、画像202における特徴量(feature)の濃度(例えば、与えられたエリア内にどれだけのエッジ/変化があるか)を用いて、検討する近傍サイズを決定する。例えば、より細部の場所には、より小さい近傍を用い、逆に細部でない場所には、大きな近傍を用いる。少なくとも1つの実施形態において、特徴スケール予測は、ラプラシアン画像ピラミッド(Laplacian image Pyramid)を用いて達成される。例えば、Lindeberg, Scale-Space Theory in Computer Vision, Kluwer Academic Publishers/Springer, Dordrecht, Netherlands, 1994を参照のこと。
少なくとも1つの実施形態において、それは大量の細部(かつ、より小さい近傍)を有する内側エリアを、細部がほとんどない(かつ、より大きい近傍)外側エリアから分離するため、基準701A周辺の間隙1110のサイズは、特徴スケール予測に最適であるように選択される。従って間隙1110は、局所スケール決定処理の間に基準701Aを目立たせることに役立つことが可能である。
2値画像1505が一度構成されると、システムはその後、4連結で、または8連結でのいずれかで、画像1505の画素格子において互いに近傍である2値画像1505の範囲内の成分を発見する(1506)。これら連結成分は、互いに連結する同じ値の領域(例えば、黒の領域)を表現する。
その結果が、連結領域の一覧1507である。一覧1507は、その後どの領域が有意義なデータを表現するために十分なサイズ、信頼性等があるかを決定するためにフィルタリングされる(1508)。段階的カスケードフィルタを用いることが可能である。フィルタリング処理で残ったそれらの領域1509について、領域境界を追跡して(1510)、境界の画素一覧1511を得る。
例えば、境界の(x,y)座標をフィルタリングし、湾曲部のピークを探すことによって、境界のコーナーが特定される(1512)。これにより、(4つのコーナーを有しないそれらの形状を除去することによって)四辺形の集合を得る(1513)。
四辺形は、適切なパラメータ(例えば非常に非対称である、高度に歪んでいるなどのそれらの形を除去するために、例えば面積、歪み(skew)、対称等である)を有するものを特定するようにフィルタリングされる(1514)。段階的カスケードフィルタを用いることが可能である。フィルタリング処理で残るそれら四辺形1515は、例えば、それらの小さい摂動を発見することによって、数学的な意味において、四辺形の4つのコーナーのサブピクセル位置を最適化するなどの任意の好適な画像ベースのアライメント方法を用いて任意に調整し(1516)、強い画像階調度を有する四辺形のエッジを最良に配列する。その結果が、検出された基準701Aの集合である。
少なくとも1つの実施形態において、十分なサイズ、信頼性、歪み、対称等の決定は、トレーニングデータおよび機械学習アプローチを用いてなされることが可能である。

復号化アルゴリズム
ここで図16を参照すると、一実施形態による、基準701Aが検出された後のコードの復号化方法を表すフロー図を示す。この方法の目的は、すでに位置特定された基準701A内に含有されるコード108を決定することである。
少なくとも1つの実施形態において、図16に表す方法は、スキャナ201(または他の画像撮影装置)が機械読み取り可能な光学式コード108を含有するスキャン画像202を取得した後で、かつ、図15のステップが実行されて基準701Aが検出された後で、図2に示すような装置によって実行される。処理ステップは、例えばソフトウェアの指示の下で、かつ、他のハードウェア構成に関連するプロセッサ104によって実行可能である。他の実施形態では、図16に表す方法は、他の構造および構成要素を有するハードウェア装置によって実行可能である。
図16のフロー図において、長方形は動作を表し、角丸長方形はそれらの動作の中間産物を表す。
システムは、基準701Aを正規の基準701B(すなわち、透視変換が適用されないもの)と比較することによって検出された基準701Aを適用して、四辺形のコーナーの相対位置を決定する透視変換を(もしあれば)決定する(1601)。この解析の結果は、射影変換1602であり、透視変換の数学的な仕様である。システムはその後、正規のプローブ位置1603の配置を取り、射影変換1602において特定された変換を適用して変換された(歪んだ)プローブ位置401Bを決定する(1604)。
スキャン画像202が、各歪んだプローブ位置401Bにおける1つまたは複数のグレースケールのプローブ値1607を決定するよう処理される(1606)。
少なくとも1つの実施形態において、本明細書に記載のシステムおよび方法は、機械読み取り可能な光学式コード108内のアートワークの配置におけるいくつかの許容誤差度を考慮する。例えば、アートワークの黒のエリアが、プローブ位置401上でわずかに影響するものであれば、プローブ位置401は依然として白として読み取られるはずである(逆の場合も同様)。従って、少なくとも1つの実施形態において、許容誤差は、プローブ位置401B範囲内のいくつかの位置(例えば8つの位置などである)で読み取られること、およびそれらの読み取りの平均値を得ることによって達成される。
これらの平均において閾値処理が実行して、読み取りのための2値プローブ値1609を決定する(1608)。閾値の決定におけるさらなる詳細および局所的な照明条件の変化に関する説明を、以下に説明する。任意に、空間的な方位ビットおよび/またはコーナーマーカを用いて、コードの方位を決定(1610)および/または用いる閾値を決定することが可能である。
最終的な2値プローブ値は、コードライブラリ1611(データ記憶部107またはその他の好適な場所に記憶されうる)に対して比較されて(1612)、合致したコード(matched code)108を発見し、その後出力される。様々な実施形態において、マッチングとは、同一または「最も近い」ものでありうる(いくつかの距離メトリックまたは学習した識別器に基づく)。
マッチングの実行に関して、任意の好適な機構を提供可能である。少なくとも1つの実施形態において、バイナリ列(binary string)間の例えばハミング距離(Hamming distance)である距離メトリックを用いることが可能である。
あるいは、閾値処理されたプローブ値の集合はまた、数値または文字を表現する1つの長いバイナリ配列として解釈されることが可能である。例えば、8×8のコードは64のプローブを含有し、表現対象である64ビットの整数に関する十分なビットまたは浮動小数点値を提供する。あるいは、値は、8ビットのASCII文字にグループ化されることが可能であり、8文字の文字列を得る。その後配列、数値または文字を用いて、マッチングを実行可能である。
少なくとも1つの実施形態において、「学習した識別器(trained classifier)」は、特定のアプリケーションに固有の所望のラベルの例えばプローブ読み取りからマッピングを学習する。例えば、学習時間において、識別器は、プローブ値のそれぞれに対して出力されるはずであるラベルと組み合わせられるすべての期待されるプローブ値(合成変動および/または摂動を含有可能である)で学習することが可能である。学習はまた、システムが無視するべきであるプローブ値に関して「無視」ラベルを含んでよい。識別器は、実行時において測定された値の集合に学習ラベルを返す、または「無視」集合の一部であった観測コードを示す。

変形
コードの三次元ポーズの検出
機械読み取り可能な光学式コード108が実世界の物体又は表面からカメラによって読み取られるものである少なくとも1つの実施形態において、システムは、周知の技術を用いて、物体または表面に対するカメラの三次元ポーズ(位置および方位を含む)を決定することが可能である。これにより、システムは、その上にコードをもった対象となる実世界の物体について、その物体上のコードの場所がわかっていると仮定すると、位置を決定することが可能となる。これは、例えば、その上にコードをもった物体と、例えばそれを直接扱うこと、またはそれ周辺の経路を障害として計画することによって、相互に作用するように構成されているロボットのロボットアプリケーションにおいて有用である。

境界および間隙
少なくとも1つの実施形態において、図11Aの例に示すように、コードの読み取りは、基準701の内側および/または外側の間隙1110を提供することによってよりロバストとすることが可能である。Bは、基準701外側にある境界1111を表し、他からの1つのコード108を分離するように働くことが可能である。Gは、基準701内側であるがプローブ位置401の外側である間隙エリア1110を表す。間隙1110および/または境界1111は、特に、例えば、特徴スケールベースの方法を用いて局所的な閾値を決定する場合に、スキャナ201、プロセッサ104または他の構成要素に対してより容易に基準701の場所を特定しやすいようにしてよい。

方位マーカ
少なくとも1つの実施形態において、図11Aの下部左コーナーに示すように、基準(例えばコーナーマーカ1101である)に対して方位特定の修正が提供される。コーナーマーカ1101は、スキャナ201、プロセッサ104または他の構成要素に対して予定の方位のコード108を提供し、コード108に対して、不明瞭となることなしに、任意の方位でのスキャンを可能とする。しかしながら、そうした特徴は任意であり、代替となる実施形態では、スキャナ201、プロセッサ104または他の構成要素は、すべての4つの方位においてコード108の解読を試行し、そうした解読に基づいてどの方位が意味をなすかを決定することが可能であり、あるいは、そうした構成要素は、他の曖昧性除去技術を用いて予定の方位を確認することができる。少なくとも1つの実施形態において、基準701は、あるコーナーのプローブ位置401を覆うようにデザインされるため、方位の決定に関してさらなるプローブ位置401を必要としない。他の実施形態では、例えば、基準または間隙領域内の既知の位置401Aにおけるさらなるプローブが用いられうる(例えば図11Aに表すプローブ位置401A)。
ここで図12A、12Bおよび12Cを参照すると、様々な実施形態による、基準701の代替となる説明例を示す。図9Aは、内部に曲線を有する基準701の例を表す。図9Bは、内部および外部に曲線を有する基準701の例を表す。これらの基準は、方位指標を有さない。
少なくとも1つの実施形態において、単純な四角形(または他の形状)が用いられる。図12Cに、そうした基準701の例を示す。この例に示すように、追加のプローブ位置401を、基準の四角形1201内に(プローブ位置401B)、および/または間隙の領域1110内に(プローブ位置401C)配置可能である。基準の四角形1201は黒であることがわかり、間隙1110は白であることがわかるため、そうしたプローブ位置401の配置を、閾値処理に関して適切なレベルの決定(すなわち、明るさのレベルが、黒として解読されるべきか、白として解読されるべきかを決定すること)を助けるために用いることが可能である。
少なくとも1つの実施形態において、同様のコード108の異なる方位は、異なる意味を有するものとして解釈することが可能である。本質的に、異なる方向に回転される同様のコード108を用いて、異なる情報を符号化することが可能である(もちろん、コード108それ自体のデザインは、回転対称でないと仮定する)。
ここで図13を参照すると、一実施形態による、12の異なる意味を潜在的に有する12の異なるマーカで同様のパターン1301を区別するような方位指標(コーナーマーカ1101)の使用を表す説明例を示す。この例では、以下の規則を用いて方位を確立する。
・1つのコーナー指標:下方左
・2つのコーナー指標:下方側
・3つのコーナー指標:下方側+左側
多くの異なる変形例および規則が考えられ、かつ、図13に表すコード108およびパターン1301は単なる例示であることが当業者はわかるであろう。

曲線コーナーを備えた基準
少なくとも1つの実施形態において、記載のシステムは、そうした基準701が、それら自体にコーナーを含まない場合または曲線コーナーを有する場合であっても、基準701によって暗示されるコーナー位置を予測することが可能である。これらの暗示される(仮想の)コーナーは、実際のコーナーに関して上記とまったく同様の方法で用いることが可能である。仮想コーナーは、以下に示すように、基準701の辺の直線部分を基に決定される。
ここで図18を参照すると、曲線コーナーを有する基準701における仮想コーナーの予測の例を示している。基準701を規定する形状の境界に沿う各ポイントにおいて、標準の方位1804が決定される。これらの標準の方位1804は、類似の方位1804の集合を表現する各クラスタ1801に分類される。四辺形形状の基準701に関して、それぞれ四辺形の辺のうちの1つに対応する4つのクラスタ1801が規定され、例えば、図18に示す四角形状に関しては、4つのクラスタ1801A、1801B、1801C、1801Dが規定される。線1802は、4つのクラスタ1801のそれぞれに属するポイントに一致しており、4本の線1802を得る。例えば、図18において、クラスタ1801A、1801B、1801C、1801Dにそれぞれ対応する、4本の線1802A、1802B、1802C、1802Dが生成される。これらの4本の線1802の交差点が、基準701の仮想コーナー1803として規定される。
上記した技術は単純な四角形状の観点で説明したが、当業者は、例えば曲線コーナーを有する歪んだ四辺形などである他の形状についても同様に、同様の方法を用いることが可能であることがわかるであろう。

帰納的プローブ符号化
少なくとも1つの実施形態において、システムは、帰納的プローブ符号化技術を用いるものであり、プローブ位置401のサブセットを用いて、残りのプローブパターンを示す。すなわち、コード108の指定された部分を読み取り、解読し、コード108の残る部分をどのように解読すべきかについてのガイダンスを与える。
図14に示すように、例えば、固定プローブ位置401Dの集合を最初に読み取る(この例では、固定プローブ位置401Dは、コード108Rまたは108Sの外側のエッジに沿うそれらのプローブ位置401を含む)。それらの固定プローブ位置401Dで検出されたパターンは、コード108R、108Sの残りをどのように読み取るべきかを示す(例えば、指定のプローブ位置パターン、解像度および/またはアートワークに費やされる「ブランク」エリア等を含む)。この例では、コード108Rは、コード108Rの中心部に低解像度5×5プローブパターン1401Aであるプローブ位置401Eを示す固定プローブ位置401Dのパターンを含む。一方、コード108Sは、コード108Sの中心部に高解像度のプローブパターン1401Bであって、機械読み取り可能なデータではなくアートワークに費やされる指定された空間1402を中心に備えたプローブ位置401Eを示す固定プローブ位置401Dのパターンを含む。いくつかのプローブ位置401Dは固定されるが他は変更可能で、該固定プローブ位置401Dが、変更可能なプローブ位置401の配置についての指示を提供するような、他の配置が可能である。図14に示す固定プローブ位置401Dの特有のパターンは、単なる例である。
当業者は、本明細書に表し、記載された例は単なる例示であること、ユーザインタフェース要素の他の配置を用いることが可能であることがわかるであろう。さらに、本質的な特徴から逸脱することなく、表した要素のいくつかは省略または変更可能であり、追加の要素が表されうる。
本システムおよび方法について、可能性のある実施形態に関する特定の詳細を説明した。当業者は、システムおよび方法が他の実施形態で実施されうることがわかるであろう。まず、構成要素の特定の名称、大文字で示した用語、属性、データ構造、またはその他のプログラミングまたは構造的態様は、必須または重要でなく、その機構および/または特徴は、異なる名称、フォーマットまたはプロトコルを有しうる。さらに、システムはハードウェアおよびソフトウェアの組合せ、またはハードウェア要素のみ、またはソフトウェア要素のみで実施されうる。また、本明細書に記載された様々なシステム構成要素間における特定の機能の分離は、単なる例示で必須ではなく、1つのシステム構成要素によって実行された機能を、代わりに複数の構成要素によって実行されてもよく、複数の構成要素によって実行された機能を、代わりに1つの構成要素によって実行されてもよい。
明細書で「一実施形態」または「実施形態」と称したが、その実施形態に関連して記載される特定の特徴(feature)、構造または特徴(characteristic)が少なくとも1つの実施形態に含まれていることを意味している。明細書の様々な箇所で「一実施形態において」または「少なくとも1つの実施形態において」という表現が現れるが、必ずしもすべて同じ実施形態を指しているものではない。
様々な実施形態において、上記した技術を実行するためのシステムおよび/または方法が、単一で、または任意の組合せのいずれかで、任意の数含まれうる。その他の実施形態には、演算装置または他の電子装置におけるプロセッサに上記技術を実行させるために、非一時的なコンピュータ読み取り可能な記憶媒体および該媒体上で符号化されたコンピュータプログラムコードを備えるコンピュータプログラム製品が含まれる。
上記の一部は、演算装置のメモリ内のデータビット上の動作を表現するアルゴリズムおよび記号の観点で提示される。これらのアルゴリズム的な記載および表現は、データ処理分野における当業者によって用いられる、該当業者の業務の実体を他の当業者に対してもっとも効果的に伝達するための手段である。ここでアルゴリズムは、概して、所望の結果を導く首尾一貫したシーケンスのステップ(指示)であると考えられている。ステップは、それらの要求する物理的な量の物理的な操作である。これらの量は、通常、記憶、伝送、組合せ、比較および別の操作を行うことが可能である電子的、磁気的または光学的な信号の形体をとる。主に共通利用の理由から、これらの信号を、ビット、値、要素、記号、文字、用語、数等として称することがときに簡便であることもある。さらに、一般性を失うことなく、物理量の物理的操作を要求するステップの特定の配置をモジュールまたはコード装置と称することもまた、ときに簡便であることもある。
しかしながら、これらのすべておよび類似の用語は、適切な物理量と関連し、これらの量に適用される単なる便宜上のラベルであることに留意されたい。以下の議論に特に明確に示していない場合、明細書を通して、例えば「処理すること」または「演算すること」または「計算すること」または「表示すること」または「決定すること」等である用語を利用する議論は、コンピュータシステムメモリもしくはレジスタもしくは、例えば情報記憶部、伝送装置または表示装置などのその他における物理的(電子的)量として表現されるデータを操作し、変換するコンピュータシステムまたは同様の電子演算モジュールおよび/または装置の動作および処理に関するものであることが認識される。
ある態様では、アルゴリズムの形で本明細書に記載される処理ステップおよび指示を含む。処理ステップおよび指示は、ソフトウェア、ファームウェアおよび/またはハードウェアに埋め込まれることが可能であり、ソフトウェアに埋め込まれた場合、多様なオペレーティングシステムによって用いられる様々なプラットフォームに存在し、該プラットフォームから動かされるようにダウンロード可能であることを留意されたい。
本文書はまた、本明細書における動作を実行するための装置に関する。この装置は、必要な目的のために特別に構築されてもよく、または演算装置に記憶されるコンピュータプログラムによって選択的に活性化もしくは構成変更される汎用演算装置を含んでもよい。そうしたコンピュータプログラムは、限定するものではないが、例えばフロッピーディスク、光ディスク、CD−ROM、DVD−ROM、光磁気ディスク、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、フラッシュメモリ、半導体ドライブ(solid state drive)、磁気または光学カード、特定用途向け集積回路(ASIC)を含む任意のタイプのディスクや、もしくは電子的指示を記憶するために好適で、それぞれコンピュータシステムバスに接続される任意のタイプのディスクなどであるコンピュータ読み取り可能な記憶媒体に記憶される。また、本明細書で参照する演算装置は、1つのプロセッサを含んでよく、演算能力の増加のために複数のプロセッサ設計を用いる構造であってよい。
本明細書で提示されるアルゴリズムおよび表示は、本質的に、特に演算装置、仮想化システムまたは他の装置に関連するものではない。様々な汎用システムはまた、本明細書における教示に応じたプログラムと用いられてよく、それにより、より特別な装置を構成して必要な方法ステップを実行することに簡便であることを証明しうる。様々なこれらのシステムに関する必要な構成は、本明細書で提供する記載から明らかであろう。また、システムおよび方法は、特定のプログラム言語に準拠して記載されていない。各種プログラム言語を用いて本明細書に記載の教示を実施してよく、上記特定の言語への任意の準拠は、実施可能で最良の形態である開示のために提供されることがわかるであろう。
従って、様々な実施形態は、ソフトウェア、ハードウェアおよび/またはコンピュータシステムや演算装置やその他の電子装置を制御するための他の要素を含み、もしくは任意の組合せやその複数を含む。そうした電子装置には、この分野の周知技術により、例えばプロセッサ、入力装置(例えばキーボード、マウス、タッチパッド、トラックパッド、ジョイスティック、トラックボール、マイクおよび/またはそれらの任意の組合せなど)、出力装置(例えば、画面および/またはスピーカー等)、メモリ、ロングタームストレージ(例えば、磁気ストレージ、および/または光ストレージ等)および/またはネットワーク接続性を含むことが可能である。そうした電子装置は、ポータブルまたは非ポータブルであってよい。記載したシステムおよび方法を実施するために用いられうる電子装置の例としては、携帯電話、携帯情報端末(personal digital assistant)、スマートフォン、キオスク端末、サーバコンピュータ、企業演算装置、デスクトップコンピュータ、ノート型パーソナルコンピュータ、タブレットコンピュータ、家庭用電子装置等を含む。電子装置は、例えば限定するものではないが、Linux(登録商標)、ワシントン州レドモンドのMicrosoft Corporationより入手可能なMicrosoft Windows、カリフォルニア州クパチーノのApple Inc.より入手可能なMac OS X、カリフォルニア州クパチーノのApple Inc.より入手可能なiOS、カリフォルニア州マウンテンヴューのGoogle, Inc.より入手可能なAndroidおよび/または装置上で使用に適したその他のオペレーティングシステムである任意のオペレーティングシステムを用いうる。
本明細書では限られた数の実施形態を説明したが、上記明細書の利益を有する当業者は、他の実施形態が案出されうることがわかるであろう。また、明細書において用いられた言語は、主として、読みやすさと指導的な目的のために選択されたのであって、主題を明らかにさせたり範囲を定めたりするために選択されたのではないものでありうる。従って、開示は例示を意図しており、その範囲を限定するものではない。

Claims (54)

  1. 美的要素を有する機械読み取り可能な光学式コードを生成するためのコンピュータ実施方法であって、
    ハードウェア装置のプロセッサにおいて、基準を決定することと、
    前記プロセッサにおいて、前記基準内の複数のセルの位置を決定することと、
    前記プロセッサにおいて、各決定されたセル内のプローブ位置であって、少なくとも1つは、その対応セルよりも小さいものである前記プローブ位置を決定することと、
    前記プロセッサにおいて、前記機械読み取り可能な光学式コード内に符号化されたデータに基づいて、各決定されたプローブ位置について機械読み取り可能な色を設定することと、
    前記プロセッサにおいて、所望の美的デザインに基づいて、前記基準内であるがプローブ位置内ではないエリアについての色パターンであって、各決定されたプローブ位置について設定された前記機械読み取り可能な色と一致する前記色パターンを設定することと、
    前記プロセッサにおいて、前記設定された色パターンを用いて、前記決定された基準内の機械読み取り可能な光学式コードであって、各プローブ位置において設定された前記機械読み取り可能な色を含有し、前記データを符号化する前記機械読み取り可能な光学式コードを生成することと、
    出力装置において、生成された前記機械読み取り可能な光学式コードを出力することとを含む、コンピュータ実施方法。
  2. 各プローブ位置はその対応セルより小さい、請求項1記載のコンピュータ実施方法。
  3. 前記生成された機械読み取り可能な光学式コードの前記美的デザインは、前記機械読み取り可能な光学式コード内に符号化された前記データとは異なるひとまとまりのアートワークを表現する、請求項1記載のコンピュータ実施方法。
  4. 前記生成された機械読み取り可能な光学式コードの前記美的デザインは、前記機械読み取り可能な光学式コード内に符号化された前記データとは異なる、人が読み取り可能な文字を含む、請求項1記載のコンピュータ実施方法。
  5. 前記決定された基準内の機械読み取り可能な光学式コードを生成することは、前記コードの正しい方位を確立する方位マーカを含む機械読み取り可能な光学式コードを生成することを含む、請求項1記載のコンピュータ実施方法。
  6. 前記方位マーカは、コーナーマーカ(corner marker)を含む、請求項5記載のコンピュータ実施方法。
  7. 同様の機械読み取り可能な光学式コードは、その方位に応じて異なる意味を有すると解釈されることが可能である、請求項5記載のコンピュータ実施方法。
  8. 機械読み取り可能な光学式コードを生成することは、前記プローブ位置の少なくともサブセットが、前記プローブ位置の残りについて位置を指定するデータを符号化するものである機械読み取り可能な光学式コードを生成することを含む、請求項1記載のコンピュータ実施方法。
  9. 機械読み取り可能な光学式コードを生成することは、前記プローブ位置の少なくともサブセットが、前記プローブ位置の残りについて位置を指定するデータを符号化するものである機械読み取り可能な光学式コードを生成することを含む、請求項1記載のコンピュータ実施方法。
  10. 機械読み取り可能な光学式コードを含有する基準を検出するためのコンピュータ実施方法であって、
    画像撮影装置において、入力画像を撮影することと、
    プロセッサにおいて、前記入力画像から2値画像を生成することと、
    前記プロセッサにおいて、前記2値画像内の連結成分を特定することと、
    前記プロセッサにおいて、前記連結成分内の領域境界を追跡することと、
    前記プロセッサにおいて、該追跡した領域境界から四辺形を特定することと、
    前記プロセッサにおいて、該特定された四辺形をフィルタリングし、少なくとも1つの四辺形の集合を生成することと、
    出力装置において、機械読み取り可能な光学式コードを含有する少なくとも1つの基準の集合として前記少なくとも1つの四辺形の集合を出力することとを含む、コンピュータ実施方法。
  11. 前記機械読み取り可能な光学式コードは美的要素を含む、請求項10記載のコンピュータ実施方法。
  12. 前記入力画像から2値画像を生成することは、
    前記画像内の複数の位置のそれぞれについて局所スケールを決定し、局所的な平均化画像を生成することと、
    各位置において、前記局所的な平均化画像を閾値と比較することとを含む、請求項10記載のコンピュータ実施方法。
  13. 領域境界を追跡する前に前記連結成分をフィルタリングして、どの領域が閾値メトリックを超えて有意義なデータを表すかを決定することをさらに含む、請求項10記載のコンピュータ実施方法。
  14. 前記閾値メトリックは、サイズおよび信頼性(solidity)のうち少なくとも1つを含む、請求項13記載のコンピュータ実施方法。
  15. 前記少なくとも1つの四辺形の集合を出力する前に、画像ベースのアライメントを用いて前記少なくとも1つの四辺形を調整することをさらに含む、請求項10記載のコンピュータ実施方法。
  16. 検出された基準に含有される機械読み取り可能な光学式コードを復号化するためのコンピュータ実施方法であって、
    画像撮影装置において、入力画像を撮影することと、
    プロセッサにおいて、前記入力画像内の基準であって、機械読み取り可能な光学式コードを含む前記基準を検出することと、
    前記プロセッサにおいて、正規のプローブ位置を含有する正規の基準を取得することと、
    前記プロセッサにおいて、前記正規の基準と比較される検出された前記基準の透視変換を決定することと、
    前記プロセッサにおいて、前記正規のプローブ位置に対して前記透視変換を適用し、変換されたプローブ位置を取得することと、
    前記プロセッサにおいて、各変換されたプローブ位置に対して少なくとも1つのプローブ値を決定することと、
    前記プロセッサにおいて、該決定されたプローブ値から2値プローブ値を決定することと、
    前記プロセッサにおいて、該決定された2値プローブ値をコードライブラリと比較して合致したコードを特定することと、
    出力装置において、前記合致したコードを出力することとを含む、コンピュータ実施方法。
  17. 各変換されたプローブ位置に関して少なくとも1つのプローブ値を決定することは、各変換されたプローブ位置について、
    複数のプローブ値を決定することと、
    前記プローブ値を平均することとを含む、請求項16記載のコンピュータ実施方法。
  18. 前記決定された2値プローブ値をコードライブラリと比較して合致したコードを特定することは、少なくとも1つの方位マーカに基づいて方位を判定することを含む、請求項16記載のコンピュータ実施方法。
  19. 美的要素を有する機械読み取り可能な光学式コードを生成するためのシステムであって、
    基準を決定するステップと、
    前記基準内の複数のセルの位置を決定するステップと、
    各決定されたセル内のプローブ位置であって、少なくとも1つは、その対応セルよりも小さいものである前記プローブ位置を決定するステップと、
    前記機械読み取り可能な光学式コード内に符号化されたデータに基づいて、各決定されたプローブ位置について機械読み取り可能な色を設定するステップと、
    所望の美的デザインに基づいて、前記基準内であるがプローブ位置内ではないエリアについての色パターンであって、各決定されたプローブ位置について設定された前記機械読み取り可能な色と一致する前記色パターンを設定するステップと、
    前記設定された色パターンを用いて、前記決定された基準内の機械読み取り可能な光学式コードであって、各プローブ位置において設定された前記機械読み取り可能な色を含有し、前記データを符号化する前記機械読み取り可能な光学式コードを生成するステップとを実行するように構成されるハードウェアプロセッサと、
    前記ハードウェアプロセッサに通信可能に接続され、生成された前記機械読み取り可能な光学式コードを出力するように構成される出力装置とを含む、システム。
  20. 各プローブ位置はその対応セルより小さい、請求項19記載のシステム。
  21. 前記生成された機械読み取り可能な光学式コードの前記美的デザインは、前記機械読み取り可能な光学式コード内に符号化された前記データとは異なるひとまとまりのアートワークを表現する、請求項19記載のシステム。
  22. 前記生成された機械読み取り可能な光学式コードの前記美的デザインは、前記機械読み取り可能な光学式コード内に符号化された前記データとは異なる、人が読み取り可能な文字を含む、請求項19記載のシステム。
  23. 前記ハードウェアプロセッサが、前記決定された基準内の機械読み取り可能な光学式コードを生成することは、前記コードの正しい方位を確立する方位マーカを含む機械読み取り可能な光学式コードを生成することを含む、請求項19記載のシステム。
  24. 前記方位マーカは、コーナーマーカを含む、請求項23記載のシステム。
  25. 同様の機械読み取り可能な光学式コードは、その方位に応じて異なる意味を有すると解釈されることが可能である、請求項23記載のシステム。
  26. 前記ハードウェアプロセッサが、機械読み取り可能な光学式コードを生成することは、前記プローブ位置の少なくともサブセットが、前記プローブ位置の残りについて位置を指定するデータを符号化するものである機械読み取り可能な光学式コードを生成することを含む、請求項19記載のシステム。
  27. 前記ハードウェアプロセッサが、機械読み取り可能な光学式コードを生成することは、前記プローブ位置の少なくともサブセットが、前記プローブ位置の残りについて位置を指定するデータを符号化するものである機械読み取り可能な光学式コードを生成することを含む、請求項19記載のシステム。
  28. 機械読み取り可能な光学式コードを含有する基準を検出するためのシステムであって、
    入力画像を撮影するように構成される画像撮影装置と、
    前記入力画像から2値画像を生成するステップと、
    前記2値画像内の連結成分を特定するステップと、
    前記連結成分内の領域境界を追跡するステップと、
    該追跡した領域境界から四辺形を特定するステップと、
    該特定された四辺形をフィルタリングし、少なくとも1つの四辺形の集合を生成するステップとを実行するように構成され、前記画像撮影装置に通信可能に接続されるハードウェアプロセッサと、
    前記ハードウェアプロセッサに通信可能に接続され、機械読み取り可能な光学式コードを含有する少なくとも1つの基準の集合として前記少なくとも1つの四辺形の集合を出力するように構成される出力装置とを含む、システム。
  29. 前記機械読み取り可能な光学式コードは美的要素を含む、請求項28記載のシステム。
  30. 前記ハードウェアプロセッサが、前記入力画像から前記2値画像を生成することは、
    前記画像内の複数の位置のそれぞれについて局所スケールを決定し、局所的な平均化画像を生成することと、
    各位置において、前記局所的な平均化画像を閾値と比較することとを含む、請求項28記載のシステム。
  31. 前記ハードウェアプロセッサは、領域境界を追跡する前に前記連結成分をフィルタリングして、どの領域が閾値メトリックを超えて有意義なデータを表すかを決定することをさらに含む、請求項28記載のシステム。
  32. 前記閾値メトリックは、サイズおよび信頼性のうち少なくとも1つを含む、請求項31記載のシステム。
  33. 前記ハードウェアプロセッサは、前記出力装置が前記少なくとも1つの四辺形の集合を出力する前に、画像ベースのアライメントを用いて前記少なくとも1つの四辺形を調整することをさらに含む、請求項28記載のシステム。
  34. 検出された基準に含有される機械読み取り可能な光学式コードを復号化するためのシステムであって、
    入力画像を撮影するように構成される画像撮影装置と、
    前記入力画像内の基準であって、機械読み取り可能な光学式コードを含む前記基準を検出するステップと、
    正規のプローブ位置を含有する正規の基準を取得するステップと、
    前記正規の基準と比較される検出された前記基準の透視変換を決定するステップと、
    前記正規のプローブ位置に対して前記の透視変換を適用し、変換されたプローブ位置を取得するステップと、
    各変換されたプローブ位置に対して少なくとも1つのプローブ値を決定するステップと、
    該決定されたプローブ値から2値プローブ値を決定するステップと、
    該決定された2値プローブ値をコードライブラリと比較して合致したコードを特定するステップとを実行するように構成され、前記画像撮影装置と通信可能に接続されるハードウェアプロセッサと、
    前記ハードウェアプロセッサと通信可能に接続され、前記合致したコードを出力するように構成される出力装置とを含む、システム。
  35. 前記ハードウェアプロセッサが、各変換されたプローブ位置に関して少なくとも1つのプローブ値を決定することは、各変換されたプローブ位置について、
    複数のプローブ値を決定することと、
    前記プローブ値を平均することとを含む、請求項34記載のシステム。
  36. 前記ハードウェアプロセッサが、前記決定された2値プローブ値をコードライブラリと比較して合致したコードを特定することは、少なくとも1つの方位マーカに基づいて方位を判定することを含む、請求項34記載のシステム。
  37. 美的要素を有する機械読み取り可能な光学式コードを生成するための非一時的なコンピュータ読み取り可能な媒体であって、プロセッサ上で実施される場合に、
    基準を決定するステップと、
    前記基準内の複数のセルの位置を決定するステップと、
    各決定されたセル内のプローブ位置であって、少なくとも1つは、その対応セルよりも小さいものである前記プローブ位置を決定するステップと、
    前記機械読み取り可能な光学式コード内に符号化されたデータに基づいて、各決定されたプローブ位置について機械読み取り可能な色を設定するステップと、
    所望の美的デザインに基づいて、前記基準内であるがプローブ位置内ではないエリアについての色パターンであって、各決定されたプローブ位置について設定された前記機械読み取り可能な色と一致する前記色パターンを設定するステップと、
    前記設定された色パターンを用いて、前記決定された基準内の機械読み取り可能な光学式コードであって、各プローブ位置において設定された前記機械読み取り可能な色を含有し、前記データを符号化する前記機械読み取り可能な光学式コードを生成するステップと、
    出力装置に対して、生成された前記機械読み取り可能な光学式コードを出力させるステップとを実行するように、そこに記憶される指示を含む、非一時的なコンピュータ読み取り可能な媒体。
  38. 各プローブ位置はその対応セルより小さい、請求項37記載の非一時的なコンピュータ読み取り可能な媒体。
  39. 前記生成された機械読み取り可能な光学式コードの前記美的デザインは、前記機械読み取り可能な光学式コード内に符号化された前記データとは異なるひとまとまりのアートワークを表現する、請求項37記載の非一時的なコンピュータ読み取り可能な媒体。
  40. 前記生成された機械読み取り可能な光学式コードの前記美的デザインは、前記機械読み取り可能な光学式コード内に符号化された前記データとは異なる、人が読み取り可能な文字を含む、請求項37記載の非一時的なコンピュータ読み取り可能な媒体。
  41. 前記決定された基準内の機械読み取り可能な光学式コードを生成することは、前記コードの正しい方位を確立する方位マーカを含む機械読み取り可能な光学式コードを生成することを含む、請求項37記載の非一時的なコンピュータ読み取り可能な媒体。
  42. 前記方位マーカは、コーナーマーカを含む、請求項41記載の非一時的なコンピュータ読み取り可能な媒体。
  43. 同様の機械読み取り可能な光学式コードは、その方位に応じて異なる意味を有すると解釈されることが可能である、請求項41記載の非一時的なコンピュータ読み取り可能な媒体。
  44. 機械読み取り可能な光学式コードを生成することは、前記プローブ位置の少なくともサブセットが、前記プローブ位置の残りについての位置を指定するデータを符号化するものである機械読み取り可能な光学式コードを生成することを含む、請求項37記載の非一時的なコンピュータ読み取り可能な媒体。
  45. 機械読み取り可能な光学式コードを生成することは、前記プローブ位置の少なくともサブセットが、前記プローブ位置の残りについての位置を指定するデータを符号化するものである機械読み取り可能な光学式コードを生成することを含む、請求項37記載の非一時的なコンピュータ読み取り可能な媒体。
  46. 機械読み取り可能な光学式コードを含有する基準を検出するための非一時的なコンピュータ読み取り可能な媒体であって、プロセッサ上で実施される場合に、
    画像撮影装置に対して入力画像を撮影させるステップと、
    前記入力画像から2値画像を生成するステップと、
    前記2値画像内の連結成分を特定するステップと、
    前記連結成分内の領域境界を追跡するステップと、
    該追跡した領域境界から四辺形を特定するステップと、
    該特定された四辺形をフィルタリングし、少なくとも1つの四辺形の集合を生成するステップと、
    出力装置に対して、機械読み取り可能な光学式コードを含有する少なくとも1つの基準の集合として前記少なくとも1つの四辺形の集合を出力させるステップとを実行するように、そこに記憶される指示を含む、非一時的なコンピュータ読み取り可能な媒体。
  47. 前記機械読み取り可能な光学式コードは美的要素を含む、請求項46記載の非一時的なコンピュータ読み取り可能な媒体。
  48. 前記入力画像から2値画像を生成することは、
    前記画像内の複数の位置のそれぞれについて局所スケールを決定し、局所的な平均化画像を生成することと、
    各位置において、前記局所的な平均化画像を閾値と比較することとを含む、請求項46記載の非一時的なコンピュータ読み取り可能な媒体。
  49. 領域境界を追跡する前に前記連結成分をフィルタリングして、どの領域が閾値メトリックを超えて有意義なデータを表すかを決定することをさらに含む、請求項46記載の非一時的なコンピュータ読み取り可能な媒体。
  50. 前記閾値メトリックは、サイズおよび信頼性のうち少なくとも1つを含む、請求項49記載の非一時的なコンピュータ読み取り可能な媒体。
  51. 前記非一時的なコンピュータ読み取り可能な媒体は、プロセッサ上で実施される場合に、前記少なくとも1つの四辺形の集合を出力する前に、画像ベースのアライメントを用いて前記少なくとも1つの四辺形を調整するステップを実行するように、そこに記憶される指示をさらに含む、請求項46記載の非一時的なコンピュータ読み取り可能な媒体。
  52. 検出された基準に含有される機械読み取り可能な光学式コードを復号化するための非一時的なコンピュータ読み取り可能な媒体であって、プロセッサ上で実施される場合に、
    画像撮影装置に対して入力画像を撮影させるステップと、
    前記入力画像内の基準であって、機械読み取り可能な光学式コードを含む前記基準を検出するステップと、
    正規のプローブ位置を含有する正規の基準を取得するステップと、
    前記正規の基準と比較される検出された前記基準の透視変換を決定するステップと、
    前記正規のプローブ位置に対して前記の透視変換を適用し、変換されたプローブ位置を取得するステップと、
    各変換されたプローブ位置に対して少なくとも1つのプローブ値を決定するステップと、
    該決定されたプローブ値から2値プローブ値を決定するステップと、
    該決定された2値プローブ値をコードライブラリと比較して合致したコードを特定するステップと、
    出力装置に対して前記合致したコードを出力させるステップとを実行するように、そこに記憶される指示を含む、非一時的なコンピュータ読み取り可能な媒体。
  53. 各変換されたプローブ位置に関して少なくとも1つのプローブ値を決定することは、各変換されたプローブ位置について、
    複数のプローブ値を決定することと、
    前記プローブ値を平均することとを含む、請求項52記載の非一時的なコンピュータ読み取り可能な媒体。
  54. 前記決定された2値プローブ値をコードライブラリと比較して合致したコードを特定することは、少なくとも1つの方位マーカに基づいて方位を判定することを含む、請求項52記載の非一時的なコンピュータ読み取り可能な媒体。
JP2016561332A 2014-04-10 2015-04-09 美的要素を備える機械読み取り可能な光学式コードの生成および復号化 Pending JP2017516204A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461978113P 2014-04-10 2014-04-10
US61/978,113 2014-04-10
PCT/US2015/025108 WO2015157517A1 (en) 2014-04-10 2015-04-09 Generating and decoding machine-readable optical codes with aesthetic component

Publications (1)

Publication Number Publication Date
JP2017516204A true JP2017516204A (ja) 2017-06-15

Family

ID=54265306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016561332A Pending JP2017516204A (ja) 2014-04-10 2015-04-09 美的要素を備える機械読み取り可能な光学式コードの生成および復号化

Country Status (8)

Country Link
US (3) US9177239B1 (ja)
EP (1) EP3129917A1 (ja)
JP (1) JP2017516204A (ja)
KR (1) KR20160143664A (ja)
CN (1) CN106462783A (ja)
AU (1) AU2015243488A1 (ja)
CA (1) CA2944783A1 (ja)
WO (1) WO2015157517A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9155961B2 (en) 2009-05-28 2015-10-13 Anki, Inc. Mobile agents for manipulating, moving, and/or reorienting components
WO2014145193A1 (en) * 2013-03-15 2014-09-18 Nexref Technologies, Llc Marker-based augmented reality (ar) display with inventory management
AU2015243488A1 (en) * 2014-04-10 2016-10-27 Anki, Inc. Generating and decoding machine-readable optical codes with aesthetic component
WO2017132634A1 (en) * 2016-01-28 2017-08-03 Ptc Inc. User-designed machine-readable target codes
JP2019534507A (ja) * 2016-09-28 2019-11-28 スリーエム イノベイティブ プロパティズ カンパニー 静的データ及び動的ルックアップデータ光学要素セットを含む多次元光コード
KR102427514B1 (ko) 2016-09-28 2022-08-01 쓰리엠 이노베이티브 프로퍼티즈 캄파니 머신 판독 물품들을 위한 폐색 탄성 광학 코드들
CN109791623B (zh) 2016-09-28 2022-06-28 3M创新有限公司 具有包括物理表面的基底的制品及其构造方法
CN106570548B (zh) * 2016-10-21 2019-02-26 金维度信息科技(北京)有限公司 一种基于多层次信息加密的混合二维码
US10402707B2 (en) * 2017-01-04 2019-09-03 Justin Garak Interactive optical code creation
WO2018129051A1 (en) 2017-01-04 2018-07-12 Advanced Functional Fabrics Of America Uniquely identifiable articles of fabric and social networks employing them
TWI775777B (zh) 2017-02-20 2022-09-01 美商3M新設資產公司 光學物品及與其交互作用之系統
AU2018306826A1 (en) 2017-07-28 2020-02-20 The Coca-Cola Company Method and apparatus for encoding and decoding circular symbolic codes
GB201714405D0 (en) * 2017-09-07 2017-10-25 Zappar Ltd Optically readable markers
US10616473B2 (en) 2017-09-14 2020-04-07 Neural Analytics, Inc. Systems and methods for registering headset system
WO2019191235A1 (en) 2018-03-27 2019-10-03 3M Innovative Properties Company Identifier allocation for optical element sets in machine-read articles
US10997448B2 (en) 2019-05-15 2021-05-04 Matterport, Inc. Arbitrary visual features as fiducial elements
US11093809B2 (en) 2019-08-05 2021-08-17 Advanced Functional Fabrics Of America Machine-readable tape
DE102021122087A1 (de) * 2021-08-26 2023-03-02 Murrplastik Systemtechnik Gmbh Verfahren zur Kennzeichnung von Bauteilen
CN116822548B (zh) * 2023-08-29 2023-12-19 宁波邻家网络科技有限公司 生成高识别率ai二维码的方法及计算机可读存储介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4924078A (en) * 1987-11-25 1990-05-08 Sant Anselmo Carl Identification symbol, system and method
US6563875B2 (en) 1987-12-30 2003-05-13 Thomson Licensing S.A. Adaptive method of encoding and decoding a series of pictures by transformation, and devices for implementing this method
EP1360637A1 (en) * 2001-02-09 2003-11-12 Enseal Systems Limited Document printed with graphical symbols which encode information
US6742708B2 (en) 2001-06-07 2004-06-01 Hewlett-Packard Development Company, L.P. Fiducial mark patterns for graphical bar codes
US7207491B2 (en) * 2001-11-09 2007-04-24 International Barcode Corporation System and method for generating a combined bar code image
US6886863B1 (en) 2002-12-19 2005-05-03 The Standard Register Company Secure document with self-authenticating, encryptable font
US8488889B2 (en) 2005-07-22 2013-07-16 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US8144922B2 (en) * 2006-04-19 2012-03-27 A T Communications Co., Ltd. Two-dimensional code with a logo
US8718139B2 (en) * 2007-01-12 2014-05-06 Mitsubishi Electric Corporation Image decoding device and image decoding method
US7900847B2 (en) * 2007-01-18 2011-03-08 Target Brands, Inc. Barcodes with graphical elements
US8194976B2 (en) * 2007-10-22 2012-06-05 Hewlett-Packard Development Company, L.P. Machine readable documents and reading methods
WO2010029553A1 (en) * 2008-09-11 2010-03-18 Netanel Hagbi Method and system for compositing an augmented reality scene
ES2781572T3 (es) 2009-04-14 2020-09-03 Univ California Procedimiento de creación de materiales coloreados fijando estructuras ordenadas de nanopartículas de magnetita dentro de un medio sólido
US8100330B2 (en) 2009-05-06 2012-01-24 Xerox Corporation Method for encoding and decoding data in a color barcode pattern
US8882560B2 (en) 2009-05-28 2014-11-11 Anki, Inc. Integration of a robotic system with one or more mobile computing devices
US8261988B2 (en) * 2009-11-30 2012-09-11 Xerox Corporation Phase locked IR encoding for peened 2D barcodes
US9152903B2 (en) 2011-11-04 2015-10-06 Ebay Inc. Automated generation of QR codes with embedded images
US8830533B2 (en) 2012-02-16 2014-09-09 Xerox Corporation System and method for creating machine-readable codes in combination with other images such as logos
US9591149B2 (en) 2012-04-30 2017-03-07 Qualcomm Incorporated Generation of a combined image of a presentation surface
US8978991B2 (en) 2013-03-15 2015-03-17 Christopher Prince Generating a decorative image bar code using filter patterns
US9014473B2 (en) * 2013-03-15 2015-04-21 Pictech Management Limited Frame of color space encoded image for distortion correction
US9311584B2 (en) 2013-05-24 2016-04-12 King Abdulaziz City for Science and Technology (KACST) Multidimensional color barcode
AU2015243488A1 (en) * 2014-04-10 2016-10-27 Anki, Inc. Generating and decoding machine-readable optical codes with aesthetic component

Also Published As

Publication number Publication date
CN106462783A (zh) 2017-02-22
US9280694B2 (en) 2016-03-08
US9177239B1 (en) 2015-11-03
EP3129917A1 (en) 2017-02-15
US9607199B2 (en) 2017-03-28
AU2015243488A1 (en) 2016-10-27
KR20160143664A (ko) 2016-12-14
CA2944783A1 (en) 2015-10-15
WO2015157517A1 (en) 2015-10-15
US20160162720A1 (en) 2016-06-09
US20150294207A1 (en) 2015-10-15
US20150294130A1 (en) 2015-10-15

Similar Documents

Publication Publication Date Title
JP2017516204A (ja) 美的要素を備える機械読み取り可能な光学式コードの生成および復号化
US12073542B2 (en) Image processing method, image processing apparatus, and non-transitory storage medium
JP4694613B2 (ja) 原稿方向判定装置、原稿方向判定方法、プログラムおよびその記録媒体
US10198661B2 (en) System for determining alignment of a user-marked document and method thereof
CN111435438A (zh) 适于增强现实、虚拟现实和机器人的图形基准标记识别
AU2011250829B2 (en) Image processing apparatus, image processing method, and program
JP6045752B2 (ja) 二次元コード、二次元コードの解析システム及び二次元コードの作成システム
US11551388B2 (en) Image modification using detected symmetry
AU2011250827B2 (en) Image processing apparatus, image processing method, and program
CN110222641B (zh) 用于识别图像的方法和装置
CN103946865B (zh) 用于有助于检测图像内的文本的方法和装置
JP2021157537A (ja) 二次元マーカの認識装置、方法、プログラム及びシステム
Beglov Object information based on marker recognition
Han et al. L-split marker for augmented reality in aircraft assembly
JP2011186595A (ja) 情報生成装置、物体検出装置、情報生成方法、物体検出方法、およびプログラム
CN114495105A (zh) 图像的倾斜校正方法、装置、存储介质及计算机设备
CN114612647A (zh) 图像处理方法、装置、电子设备及存储介质
WO2022125127A1 (en) Detection of image space suitable for overlaying media content
CN118135552B (zh) 识别无标签商品信息方法、装置、设备及存储介质
Rodríguez-Rodríguez et al. A character segmentation proposal for high-speed visual monitoring of expiration codes on beverage cans
AU2014277851A1 (en) Detecting a gap between text columns from text line fragments
JP2015072586A (ja) 識別コード読取システム及び方法
JP7034823B2 (ja) 画像処理プログラム、画像処理方法、及び画像処理装置
Chhajed Barcode detection from barcode images captured by mobile phones: an android application
Xu ADVANCES IN IMAGE-BASED DATA HIDING, FEATURE DETECTION, GRID ALIGNMENT, AND DOCUMENT CLASSIFICATION