図1A~図1Dは、本開示の物品及び技術による、道路標識を有する遮蔽シナリオを示す。図1A~図1Dに示すシナリオは、車両のドライバによって一般的に経験されるシナリオである。本開示の目的の1つは、標識の一部分が遮蔽された場合であっても、交通標識から正確に検出し復号することができる機械可読光学コードを提供することを含む。本開示の機械可読光学コードは、QRコードではなく、本開示から明らかになるであるように、QRコードに対して1つ以上の利点を提供することができる。図1Aは丘114の頂上を超えた位置にある停止標識110を示し、標識110の完全な視野が丘114によって道路112上の車両の視点から部分的に遮断されている。図1Bは木122によって部分的に覆い隠されるか又は遮蔽されうる前方道路工事中の標識120を示し、道路124上の車両は標識120全体を見ることができない。図1Cはカーブ134によって部分的に覆い隠される速度制限標識130を示し、道路132上の車両は標識130全体を見ることができない。図1Dは家144によって部分的に覆い隠される横断歩道標識140を示し、道路142上の車両は標識140全体を見ることができない。いくつかの実施例では、標識110、120、130、及び140のうちの1つ以上は、本開示の技術に従って標識上に符号化された情報を含んでもよい。本開示の物品、システム、及び技術は、交通標識に関して説明されているが、他の部品は、ライセンスプレート、衣類、又はデカールを含んでもよい。
図2Aは視覚的遮蔽に対して耐性があるように構成された行及び列を有する機械可読光学コード200(又は「コード200」)を示し、これにより、図1A~図1Dにて説明するシナリオのようにコード200の一部分が覆い隠された場合でも、コード200内に符号化された情報を正確に読み取るか又は復号することができる。本開示で説明するように、機械可読コードは2値又はn値の情報を表してもよく、この情報は、読み取り可能でなくてもよく、及び/又は、人間にとって意味のある情報を含まなくてもよい。例えば、n値の情報は、n進の文字又は記数法を使用して表すことができる。コード200は、行及び列を含む構成に配置された正方形又は光学素子からなる多次元データマトリックスである。いくつかの実施例では、用語「光学素子」及び「モジュール」は、互換的に使用されることがある。
図2Aに示すように、コード200は、一部の光学素子がデータのビットを表しており、一部の光学素子が、白色及び黒色のいずれかであり、コード内に機械可読情報を符号化するために、白色及び黒色の色が「0」及び「1」にそれぞれ対応している、という意味において、バイナリコードを表している。前述の実施例におけるバイナリなどの、任意の可能な符号化スキームを使用することができる。より一般的には、光学素子は、その外観(例えば、階調度値)に基づいて、符号化された値のセット内の符号化された値を表し、符号化された値のセットのサイズは、特定の光学素子に割り当てることができる、多数の異なる可能階調度値に対応する。アルファベット文字、数字、又は任意の他の記号などの、任意の数の異なる符号化された値のセットが使用されてもよい。図2に示すように、符号化された値は、対応する光学素子の視覚的区別可能性に基づいて区別可能である。例示のために、図2Aに示す正方形は、コード100内の異なる符号化された値をn値の符号化された値として示すために、n値階調の濃淡を含む。
いくつかの実施例では、符号化された値のセットが、N個の符号化された値を含む。光学素子セットが、M個の光学素子を含んでもよく、光学素子セットが、光学素子セットの対応する光学素子に割り当てられた対応する視覚階調度値に少なくとも部分的に基づいて、符号化された値のNMの組み合わせのセットの符号化された値の組み合わせを表す。いくつかの実施例では、対応する階調度値はそれぞれ、M個の視覚的に区別可能な階調度値のセットに含まれる。
いくつかの実施例では、それぞれの対応する光学素子セット(又は「ブロック」)は、複数の光学素子セットのうちの1つ以上が視覚的に遮蔽されている場合に、メッセージを復号するメッセージの少なくとも一部分又は誤り訂正データを表す。例えば、未加工のメッセージから符号化されたメッセージにメッセージが符号化されるときに、本開示で更に説明するように、符号化されたメッセージは、異なる光学素子セットに分割することができ、それにより、未加工のメッセージは、視覚的に遮蔽されたマトリックスの少なくとも1つの完全な縁部内に配置された光学素子なしに、基材から復号可能である。図2Aの光学素子は正方形として示されているが、本開示と一致する光学素子は、任意の形状とすることができる。
いくつかの実施例では、コード200は、3つの一般的なタイプの光学素子であるファインダ光学素子、コンテキスト光学素子、及びコンテンツ光学素子のうちの1つ以上を含んでもよい。図2Aでは、行D及び列4がファインダ光学素子(合計13個の光学素子)である。具体的には、光学素子A4、D1、D4、D7、及びG4は、「0」であり、ファインダ光学素子の残りは、「1」である。ファインダ光学素子は、マシンビジョンシステムが、画像内の2Dバーコードを認識することを可能にする、又はコード200の外縁部を含む画像内の光学コードの位置を特定することを可能にするすることができる。
ファインダコード又は光学素子は、光学コードが空間的に開始及び終了する場所を判定するために、画像に現れる様々な線及び他の視覚的特徴を介して、マシン又はマシンビジョンシステムが分類することを可能にすることができる。ファインダコード又は光学素子は通常所定の位置に固定され、通常は自然界で発生しないような十分な視覚的特徴を有するか、又は複雑である。このようにファインダコード又は光学素子を設計することにより、マシンビジョンが復号すべき2Dコードを識別したという合理的な確実性を有することができる。より視覚的に複雑なファインダコードは、コードを実装するのに必要とするファインダ光学素子の数を増加させ、結果としてより小さい光学素子サイズ(光学素子の遮蔽及び誤読の可能性を増大させることがあり)となる、かつデータ又は情報を符号化するために使用するための残りの光学素子がより少なくなることを必要とすることがある。
いくつかの構成では、ファインダ光学素子によってマシンビジョンシステムが2Dバーコードの向きを判定することが可能となる。しかしながら、他の用途では、2Dバーコードの向きは、(2Dバーコードが標識又は静止物体上にあるときなどの)2Dバーコードの画像を処理するコンピューティングデバイスによって仮定することができる。これらの用途では、コンピューティングデバイスが、符号化するために、向き情報を必要としないので、必要とされるファインダ光学素子(及び情報のビット)がより少なくなる。コード200に示されるようなファインダ光学素子は、ラスタ走査によって迅速に識別されることができる。一例では、本開示と一致する光学コードは、36個未満のファインダ素子を含む。別の例では、本開示と一致する光学コードは、例えば、25、23、21、19、17、15、又は13個未満のファインダ素子を含む。
以下の表は、本開示と一致する様々なサイズの光学コード内に符号化することができる、ファインダ光学素子、コンテキスト光学素子、コンテンツ光学素子、全光学素子、及びデータのビットの数を示す。これらはコードサイズの例であるが、本開示と一致する異なるサイズの他のコードを、以下の光学素子情報を外挿して生成することができる。以下の表では、ファインダ光学素子の数は、ファインダ光学素子に対する交差中心パターンに基づく。使用されるパターンに応じて、ファインダ光学素子がより多くなるか又は少なくなることがあり得る。加えて、列挙されるコンテンツ光学素子の数は、コンテンツ光学素子が標準又はコンテキスト光学素子のエリアの25%であると仮定している。コードは、所望の用途の必要性に依存して応じて、コンテキスト光学素子又はコンテンツ光学素子がより多くなるか又は少なくなるように設計されてもよい。符号化されるデータビットの数は、コンテンツ光学素子とコンテキスト光学素子との間の変動性を補償し、各標準ビットサイズが1ビットのデータを符号化することを仮定している(ファインダ光学素子は除く)。
ファインダ光学素子は、光学コード200内に様々な方法で配置することができる。ファインダ光学素子はコード200内の中心交差パターン内に配置されているが、ファインダ光学素子の他の配置又は構成では、それぞれの角に3つの白色光学素子を配置することを含む。追加の変形例は、隣接する角部の光学素子間の1つ以上の縁部に沿った交互のクロッキング画素(白色、黒色)を含む。本開示と一致するコード内のファインダ光学素子に対する他の位置は、本開示を閲読することにより、当業者には明らかとなるであろう。
コンテキスト光学素子は、コード200によって具現化された、物品若しくは物体に関連する機械可読データ若しくは情報、又は物品若しくは物体の位置若しくは環境を符号化する、ビット又は要素を表すことができる。一例では、コンテキスト光学素子のサイズはファインダ光学素子と同じであり、第1の距離、ファインダ光学素子が検出可能な同じ距離から、マシンビジョンシステムによって検出可能である。そのような距離は、2Dコードのサイズ、2Dコード内の光学素子の数、各光学素子のサイズ、及び2Dコードを検出するマシンビジョンシステムの解像度に依存する。コンテキスト光学素子内に符号化されるデータの例としては、物品又は物体の位置、物品又は物体に関連する製造情報、コードが付いた交通標識の分類、特定のエリア、時間、日付、若しくは気象条件に適用可能な法律又は他の運転制限、標識が適用される車線が挙げられる。他の情報の種類は、本開示を閲読することにより、当業者には明らかとなるであろう。図2Aでは、光学素子A2、A3、B2、B3、B5、B6、B7、C2、C3、C5、C6、C7、E1、E2、E3、E5、E6、F1、F2、F3、F5、F6、G5、及びG6は、全てコンテキスト光学素子である。これらの光学素子のうち、例示のみを目的として、光学素子A2、B2、B5、B6、B7、C2、E6、F1、F2、F3、F6、及びG6は、「1」に対応し、コンテキスト光学素子の残りの部分は、「0」であるが、これは、1に対する階調度の色又は濃淡の間のマッピングを光学素子A2、B2、B5、B6、B7、C2、E6、F1、F2、F3、F6、及びG6に対する階調度の色又は濃淡に対応させるためである。
コード200内に情報を符号化するために、様々な符号化技術を使用することができる。そのような例示的な技術の1つは、当業者には理解され、かつ参照により本明細書に組み込まれる、C.K.P.Clarkeによる「Reed-Solomon Error Correction」(R&D White Paper WHP031、2002年7月、http://downloads.bbc.co.uk/rd/pubs/whp/whp-pdf-files/WHP031.pdfで入手可能)に記載されているようなリードソロモンコードである。本開示と一致する利用可能な他の種類の誤り訂正コードとしては、ゴレイ符号、低密度パリティチェックコード、及びターボ符号が挙げられる。他の種類のコードは、当業者には明らかであろう。コード200では、3進の拡張されたリードソロモンコードを使用して、コンテキスト光学素子は、24個の全コンテキスト光学素子に12ビットの情報を埋め込むことができる。最大2つの光学素子は、遮蔽又は失われてもよく、コンテキスト光学素子内に符号化されたデータは、依然として回復可能である。本明細書で説明するコード200に対する符号化を使用して、コンテキスト光学素子が標識の種類を表す場合、最大4096個の固有の標識を分類することができる。
コード200はまた、36個のコンテンツ光学素子を含み、それぞれのうちの4つは、より大きい光学素子A1、B1、C1、E7、F7、G1、G2、G3、及びG7内にある。いくつかの実施例では、コンテンツ光学素子は、第2の距離からマシンビジョンシステムによって検出可能であり(しかし第1の距離ではマシンビジョンシステムで検出できない)、第2の距離は、第1の距離未満である。例えば、コンテンツ光学素子のサイズに起因して、そのようなコンテンツ光学素子は、コードと画像キャプチャデバイス間の、閾値距離よりも大きい距離で個々に復号できないことがある。コンテンツ光学素子は、ビット又は要素を表すことができ、このビット又は要素は、コード200が具現化された、物品若しくは物体に関連する機械可読データ、若しくは情報又は物品若しくは物体の位置及び環境を符号化している。コンテンツ光学素子を使用して、コンテキスト光学素子内に符号化された情報を拡張することができる。例えば、コンテキスト光学素子が物品が速度制限標識であることを示す場合、コンテンツ光学素子は、標識が位置する区域内での制限速度が時速55マイルであることを示すために使用されてもよい。コンテンツ光学素子がマシンビジョンシステムによって読み取られることができる距離は、コード200のサイズ、コード200内の光学素子の数、各光学素子のサイズ、及びマシンビジョンシステムの解像度に依存し得る。
A1、B1、C1、E7、F7、G1、G2、G3、及びG7内のコンテンツ光学素子は、速度制限、指示情報、GPS座標、又は資産番号などの標識に固有の情報を含む、様々な種類の情報を符号化することができる。コンテンツ光学素子はまた、コンテキスト光学素子に対する更なる誤り訂正として動作するように使用することができる。
データは、様々な方法で、又は様々なアルゴリズムを使用して、コンテンツ光学素子内に符号化することができる。そのようなアルゴリズムの1つが、12ビットのデータをコンテンツ光学素子内に符号化することを可能にする、6進のリードソロモンコードである。コンテンツコードは、通常コンテキストコードよりも小さいため、マシンビジョンシステムの視野からコンテンツ光学素子誤読されるか又は遮蔽される可能性は、他のより大きいサイズの光学素子よりも高くなることがある。6進のリードソロモン符号化スキームを使用することにより、コンテキスト光学素子に対する3進のリードソーモンコードと比較して、追加の冗長性又はエラーチェックを提供することができる。この特定の構成では、隣接するコンテンツ光学素子が最大12個まで遮蔽されてもよく、コンテンツ光学素子からのデータを正確に読み取ることができる。
光学素子A5、A6、及びA7は、設置時にカスタムデータを標識に追加するために使用することができる。一例では、それらは全て白色に見えてもよく、標識が適用される車線などの情報は、所望の光学素子の上にIRブラック材料を追加することで、設置者によって指示することができる。
コード200は7×7のマトリックスとして示されているが、これはファインダ光学素子のサイズによって決定されたものであり、他のコードも本開示の範囲内である。例えば、コードは8×8、9×9、10×10、11×11、12×12、13×13、N×N、又はN×Mであってもよい。いくつかの構成では、本開示と一致するコードは、正方形マトリックスでなくてもよい。光学コードは、円形、三角形、多角形、矩形、又は任意の所望の不規則な形状であってもよい。そのような光学コードのサイズは、単一の光学素子の標準サイズを決定するためのファインダ光学素子のサイズを使用して、標準光学素子の総数を計算することによって決定することができる。
図2Bは、トラック210の形態によって遮蔽された図2Aの機械可読光学コードである。任意の遮蔽は、光源から観察者(人間又は人間以外のもの(例えば、画像キャプチャデバイス)のいずれか)への光の通過を阻止する任意の障害となることができる。上述したように、リードソロモンアルゴリズムを使用した場合、コンテキスト光学素子は12ビットの情報を符号化する。データはコンテキスト光学素子内に符号化され、コンテキスト光学素子が4つの6ビットブロック(又は「光学素子セット」)にグループ化される。具体的には、コンテキスト光学素子は、以下のようにグループ化される。
コンテキスト光学素子ブロック1:A2、A3、B2、B3、C2、C3
コンテキスト光学素子ブロック2:B5、B6、B7、C5、C6、C7
コンテキスト光学素子ブロック3:E1、E2、E3、F1、F2、F3
コンテキスト光学素子ブロック4:E5、E6、F5、F6、G5、G6
コンテキスト光学素子ブロックのうちの2つは、データを符号化するために(又はデータペイロードとして)使用され、2つのブロックは、誤り訂正に使用される。図示したコードでは、最上行、最下行、左列、又は右列のうちのいずれか1つが遮蔽されている場合、マシンビジョンシステムは、コンテンツ光学素子の少なくとも2つの完全なブロックを依然として検出することができ、データペイロード(例えば、符号化されたメッセージ又は符号化されたメッセージを表す符号化された値)専用の少なくとも1つの完全なコンテキスト光学素子ブロック、及び誤り訂正専用の少なくとも1つの完全なコンテキスト光学素子ブロックを残している。この場合、コンテキスト光学素子内に符号化されたデータは、行又は列全体が遮蔽されていても完全に回復可能である。
図2Bに示すように、トラック210は、コンテキスト光学素子B7及びC7を含む列7の大部分を遮蔽する。上述したように、コンテキスト光学素子B7及びC7が遮蔽されているとしても、コンテキスト光学素子ブロック1、3、及び4が遮蔽されておらず、遮蔽されていないブロックは、データペイロードを再構成するための符号化されたデータ及び対応する誤り訂正データを含むため、コンテキスト光学素子のデータペイロードは完全に回復可能である。
図2Bは、正方形のコンテンツ光学素子A1、B1、C1、E7、F7、G1、G2、G3、及びG7を含む。いくつかの実施例では、親光学素子又は「正方形」と呼ばれる光学素子は、1つ以上の子光学素子を含むことができる。例えば、親光学素子は、図1に示すような4つの子光学素子を含んでもよい。コンテンツ光学素子は、6個の6ビットブロックにグループ分けされ、ブロックのうちの2つがデータペイロードに使用され、ブロックのうちの4つが誤り訂正に使用される。
リードソロモン誤り訂正を使用して、読み取りが損なわれたことに起因する回復可能なブロックの数は、2で割った誤り訂正ブロックの総数に等しい。本開示のいくつかの実施形態では、このブロックは、コードの縁部全体が遮蔽された場合でも、遮蔽されるブロックの数を最小数にすることができ、より大きな回復が可能となるように配置される。したがって、コード200では、2つの誤り訂正コンテキストブロックが存在するため、最大1つの損なわれたコンテキストブロックを回復することができる。左列又は最下行のいずれかが完全に遮蔽されている場合であっても、マシンビジョンシステムは、完全なデータペイロードブロック及び完全な誤り訂正ブロックを読み取って、コンテンツ光学素子内に符号化されたデータを完全に回復することができる。いくつかの実施例では、メッセージ及び誤り訂正データのための光学素子セットは、マトリックス内の前記物理的表面に空間的に構成され、これにより、視覚的に遮蔽されたマトリックスの少なくとも1つの完全な縁部内に配置された光学素子なしに、メッセージが基材から復号可能である。
いくつかの実施例では、少なくとも1つの完全な縁部の50%より多くが遮蔽される。いくつかの実施例では、少なくとも1つの完全な縁部の75%より多くが遮蔽される。いくつかの実施例では、少なくとも1つの縁部内で遮蔽される量は、遮蔽された範囲50~100%である。いくつかの実施例では、少なくとも1つの縁部が完全に遮蔽されている。いくつかの実施例では、少なくとも1つの縁部に隣接する追加の縁部が遮蔽される。いくつかの実施例では、隣接する複数の縁部が遮蔽される。いくつかの実施例では、隣接する1つ以上の複数の縁部それぞれが、50%より多く遮蔽されるか、75%より多く遮蔽されるか、又は遮蔽される量が50~100%の範囲内となる。
いくつかの実施例では、少なくとも1つの完全な縁部は、マトリックスの少なくとも水平方向又は垂直方向の、最低順序のインデックスから最高順序のインデックスまでの1次元配列を含む。例えば、図2Aの縁部は、行Aの全ての要素、行Gの全ての要素、列1の全ての要素、又は列7の全ての要素であってもよい。
図3Aは、機械可読光学コード300の一実施例である。光学コード300は、光学コード300の角部に配置された12個のファインダ光学素子A1、A2、A6、A7、B1、B7、F1、F7、G1、G2、G6、及びG7を含む。ファインダ光学素子のグループ又はブロックは、図3Aでは「F」と示される。コンテキスト光学素子は、通常光学コード300の中心付近に配置され、コンテキスト光学素子のブロックには1~5の番号が付けられる。コンテキスト光学素子ブロックは、以下の光学素子を含む。
コンテキストブロック1:A4、B4、C4、D4、E4、
コンテキストブロック2:B5、B6、C5、C6、D5、
コンテキストブロック3:B2、B3、C2、C3、D2、
コンテキストブロック4:D3、E3、E4、F3、F4、及び
コンテキストブロック5:D6、E5、E6、F5、F6。
コンテキストブロックでは、コンテキストブロック1がデータペイロードブロックとして、コンテキストブロック2~5がそれぞれリードソロモン誤り訂正専用として使用される。これにより、最大で2つの誤って読み取られたコンテキストブロックの訂正が可能になる。コンテンツブロック1は、5個の光学素子又はビットを有するため、最大25(又は32)の値又は車両の区分(又は任意の所望の分類セット)を表すことができる。換言すれば、左又は右から最大3つの列(1、2、及び3、又は5、6、及び7)が完全に遮蔽されてもよく、又は底部の最大2つの行(F及びG)が完全に遮蔽されても、コンテキストデータは、更に正しく復号されることができる。遮蔽されたデータの復号及び回復に関連付けられる確実性は、使用される特定のタイプの符号化アルゴリズムに基づく。
図3Aは8個のコンテンツ光学素子ブロックを含み、各ブロックが6個の光学素子を含む。コンテンツ光学素子ブロックは、図3AではD1~D8として示される。例として、光学素子ブロック302はコンテンツ光学素子ブロックD1を表す。例として、光学素子ブロック304はコンテキスト光学素子ブロック1を表す。図3Aに示すように、コンテンツ光学素子ブロックD7及びD8は、光学コード300の1つより多くの隣接領域にわたって分散される。各コンテンツ光学素子ブロック内の光学素子は、以下のとおりである。
コンテンツブロックD1:C1及びD1の上半分
コンテンツブロックD2:D1の下半分及びE1
コンテンツブロックD3:C7及びD7の上半分
コンテンツブロックD4:D7の下半分及びE7
コンテンツブロックD5:G3及G4の左半分
コンテンツブロックD6:G4の右半分及びG5
コンテンツブロックD7:A3の上半分及びF4、及び
コンテンツブロックD8:A3の下半分及びA5。
8つのコンテンツブロックのうち、4つのコンテンツブロック(D1~D4)がデータペイロードに使用され、4つのコンテンツブロック(D5~D8)がリードソロモン誤り訂正に使用されるため、本開示のマシンビジョンシステムは、コード300を読み取る際に最大2つのコンテンツブロックの誤りを訂正することができる。4つのコンテンツブロックがデータペイロードに使用されると、コンテンツブロックは、最大224(又は16,777,216)の固有コードを符号化することができる。
図3Aは、標準光学素子サイズを決定するためにファインダ光学素子のサイズを使用した、7×7の光学素子サイズの光学コードの構成を示す。光学コード300は、12個のファインダ光学素子のみを必要とするが、本明細書で説明するように、実質的な遮蔽に耐えると同時に、コンテキスト光学素子内の32個の固有の値及びコンテキスト光学素子内の16,777,216の固有の値を符号化することができる。
図3Bは、データペイロードを有する機械可読光学コードの一実施例である。図3Bは、図3Aに示す、ファインダ、コンテンツ、及びコンテキスト光学素子の同じ配置を有するが、図3Bでは、(コンテンツ光学素子を除く)各光学素子の数値表現又はビット状態を更に示す。例えば、12個のファインダ光学素子(A1、A2、A6、A7、B1、B7、F1、F7、G1、G2、G6、及びG7)全てが「1」のビット状態を有する(したがって、図3Bでは白色として示される)。図3Bの光学コードは、反射シートの層を有する八角形の停止標識上に配置されるように設計されている。光学コードは、停止標識の再帰反射性基材上において、ビットが「0」又は黒色の領域、及び光学コードの境界の周辺エリアに、黒色赤外線インクを印刷するか、又は別の黒色化材料若しくは黒色化物質を配置することによって形成することができ、これにより、コードの画像がキャプチャされたときに、ファインダ光学素子がコードの周囲の黒色の背景との鋭いコントラストが生成される。
図3Bの光学コードは停止標識に適用されるように設計されているので、コンテキスト光学素子は、停止標識用分類情報を提供するように書かれる。例えば、例示的な分類システムでは、停止標識は「クラス28」標識であり、これを示すために、コンテキストブロック1のビットは数字「28」(又はバイナリで「11100」)と読めるように設定されている。したがって、コンテキスト光学素子ブロック1内のビットは、
光学素子1.0:ビット0、
光学素子1.1:ビット0、
光学素子1.2:ビット1、
光学素子1.3:ビット1、及び
光学素子1.4:ビット1、となる。
コンテキストブロック2~5の残りの部分は、リードソロモン誤り訂正データで符号化される。誤り訂正データは、符号化されたメッセージに符号化される未加工のメッセージへの誤り訂正関数の適用に基づく。リードソロモン誤り訂正及びアルゴリズムが例示のために使用されるが、他のアルゴリズム及び誤り訂正技術も、本開示を閲読することにより当業者には明らかとなるであろう。
図3Cは、図3Aの機械可読光学コード300が(トラック310によって)右から遮蔽された一実施例である。図示した例では、コード300の大部分が遮蔽されており、右上及び右下のファインダ光学素子ブロック、コンテキスト光学素子ブロック2及び5、並びにコンテンツ光学素子ブロックD3、D4、D6、及びD8が含まれている。この例では、遮蔽されたコンテンツ光学素子の数が、コンテンツ光学素子内に符号化された情報の再構成が不可能となる前に遮蔽されてもよいコンテンツ光学素子の数を上回るため、コンテンツ情報は読み取り可能ではないと考えられる。しかしながら、コンテキスト光学素子のうちの2つ(2及び5)のみが遮蔽されているだけなので、コンテキスト光学素子は復号することができる。
図3Dは、図3Aの機械可読光学コード300がトラック310の形態によって右から遮蔽された一例である。図示の例では、コード300の一部分が遮蔽されており、コンテキスト光学素子ブロック2及び5、右上及び右下のファインダ光学素子ブロック、並びにコンテンツ光学素子ブロックD3及びD4の全てが含まれている。2つのコンテキスト光学素子ブロック(2及び5)のみ及び2つのコンテンツ光学素子ブロック(D3及びD4)のみが遮蔽されているので、コンテキストデータ(5ビット)及びコンテンツデータ(24ビット)の両方を復号することができる。
図3Eは、図3Aの機械可読光学コード300がトラック310の形態によって底部から遮蔽された一実施例である。図示の実施例では、コード300の底部の一部分が遮蔽されている。両方の下角部のファインダ光学素子が遮蔽され、コンテキスト光学素子ブロック4及び5が遮蔽され、コンテンツ光学素子ブロックD5、D6、及びD7が遮蔽されている。コンテキストデータは回復可能であり、5つのコンテキストビットは確実に復号することができる。しかしながら、コード300が誤り訂正専用の4つのコンテンツ光学素子ブロックのみを含むためコンテンツデータは損なわれ、これは、損なわれた読み取りの場合では、2つのコンテンツ光学素子ブロックのみしか回復できないことを意味する。2つより多くのコンテンツ光学素子ブロックが損なわれているため、コンテンツデータのいずれも確実に復号することができない。
図3Fは、光学コード200の底部がトラック310の形態によって底部から遮蔽された図3Aの機械可読光学コードの一実施例である。この例では、両方の下角部のファインダ光学素子ブロックが遮蔽される。コンテキスト光学素子は遮蔽されない。コンテンツ光学素子ブロックD5及びD6は、遮蔽されている。コンテキスト光学素子ブロックが遮蔽されていないため、コンテンツデータは、確実に読み取るか又は復号することができる。2つのコンテンツ光学素子ブロックのみが遮蔽されているため、コンテンツ光学素子データは、誤り訂正によって回復することができ、コンテンツデータの24ビット全てもまた、確実に読み取るか又は別の方法で復号することができる。
図3A~図3Fの画像は、様々な遮蔽シナリオを示し、これらのシナリオにおける遮蔽されたデータが回復される可能性を説明しているが、データを回復することに対する限界は、リードソロモン符号化技術に基づく例示的なものである。他の符号化技術又はアルゴリズムは、データ回復の可能性に関して他の結果をもたらし得る。
図4は、本開示と一致する例示的な標識構造400を示す。本開示と一致する光学コードは、可動性又は固定であろうと、任意の物品に適用することができるが、図4は、光学コードが再帰反射シートを有する標識に適用される実施形態を示しており、この標識は、それ自体の上に光学コードが具現化されている。図4は、複数の層、再帰反射シート、及び本明細書で説明するような光学コードを有する標識の断面図である。層410は、基材とすることができる。典型的には、基材410は、金属などの剛性又は非可撓性を備え、かつ耐久性のある材料である。そのような好適な金属の1つは、アルミニウムである。他の実施形態では、基材410は、任意の剛性、半剛性、若しくは可撓性の物理的表面とするか、又はこれらを含むことができる。
再帰反射シート420は、本開示で説明したような再帰反射シートであってもよい。再帰反射シート420と基材410との間に接着剤層(図示せず)を配置して、再帰反射シート420を基材410に接着することができる。本開示と一致する利用可能な再帰反射シートの一例は、ミネソタ州セントポールの3M Company(St.Paul,Minnesota)から入手可能な3M Diamond Grade(商標)DG3 Reflective Sheeting Series 4000である。
層430は、通常層420上に印刷されるメッセージ又は画像を含む。層430は、図1A~図1Dに示す停止標識などの交通標識画像であってもよい。層430は、可視光スペクトル内の任意のメッセージ若しくは画像、又は層440内の光学コード以外の波長で可視化されるメッセージ若しくは画像を含んでもよい。単一の標識、ライセンスプレート、又は他の基材内の異なる波長で可視化される情報又は画像を含める例は、米国特許第8,865,293,号に、より詳細に記載されており、参照によりその全体が本明細書に明示的に組み込まれる。
層440は、図2A~図3Fに示す光学コードなどの、本開示と一致する光学コードを含む。層440内の光学コードは、様々な方法で形成することができる。例えば、光学コード440が可視光スペクトル内で可視化されるように設計されている場合、光学コード440は、暗い色(黒色などの)で明るい(又は白色)基材上に印刷することができる。層440内の光学コードがIRスペクトル(典型的には700~1000nmの範囲内だが、場合によっては、850nm又は900nmなどの波長を使用することができる)内で可視化されるように設計される場合、層440内の光学コードは、様々な方法で生成することができる。具体的には、層440の下にある再帰反射層420により、赤外スペクトル内の再帰反射を吸収、散乱、若しくは別の方法で阻害する材料又は物質で覆われていない層420の任意の部分は、白色か又は明るく見える。したがって、赤外スペクトル内の再帰反射を吸収、散乱、若しくは別の方法で消滅させる材料を適用することを用いて、層440内に黒色光学素子及び光学コードの周囲の境界を生成することができる。
使用することができる材料の例としては、IR吸収黒色インクを使用して黒色又は暗色であることが望ましい標識の印刷部分が挙げられる。別の例では、IR吸収多層光学フィルム(multi-layer optical film)(MOF)は選択的に切断することができ、これにより、白色であることが所望される標識の任意の部分が除去され、フィルムが層430上に重ね合わされる。赤外線スペクトルで見た場合、フィルムは、白色であるように意図される光学コードのエリア内の再帰反射のみを可能にする。赤外線(infrared)(IR)スペクトルを本明細書で説明しているが、近赤外線スペクトル(約950nmの波長を有する光)などの他のスペクトルを使用することもできる。層440内の光学コードが950nm光吸収フィルムで生成される場合、950nmの光を光学コードを照明すると、黒色の印刷区域は光を吸収し、マシンビジョンシステムには黒色に見え、非印刷区域は明るく又は白色に見える。
標識400は、層440の上に形成又は接着されるオーバーラミネート440を任意で含んでもよい。オーバーラミネート450は視覚的に透明な、赤外透過性材料で構成することができるが、多層光学フィルムに限定するものではない。
標識400の構成における再帰反射層の使用は、いくつかの利点を提供することができる。例えば、情報が主に赤外スペクトルでキャプチャされ、画像内唯一の可視エリアが、再帰反射シート420から反射する光によって生成される明るい又は白色の光学素子である場合、光は、画像キャプチャデバイス及び/又はコンピューティングデバイスにとって画像内のIR再帰反射性でない任意の物体を識別することが困難な条件でカメラに戻ってくることができる。これは、標識又は光学コードの周囲の背景、及び個人の顔、画像、又は他の識別情報などの他の個人情報を含む。
更に、光学コードの白色部分又は明るい部分を生成する層440からの再帰反射光は、黒色エリア間の著しいコントラストを有する画像をもたらすことができ、これには光学コードと周囲の画像間の自然な境界又は遷移が含まれる。いくつかの既存のQRコードでは、コードの境界の全体又は一部の周囲に黒色光学素子を用いて、QRコードの開始及び終了を、マシンビジョンシステムに示すことが必要となることがある。対照的に、標識400上の光学コードを囲むエリアは、IRスペクトルで黒色に見えるため、追加の境界光学素子は必要とされず、符号化効率をより大きくすることが可能になる。
図5は、多次元機械可読光学コードを読み取るためのシステムの一実施例である。システム500は、標識520を含む。標識面522は、可視光スペクトルで見ることができる画像、停止画像522、及び可視光スペクトルの外側の可視光スペクトル内で可視化される機械可読光学コード530を含む。標識500は基材を有し、また、光学コード530の背後に再帰反射シートの層を含むことができる。
光学コード530は、パターンに配置された、車両510に搭載されたマシンビジョンシステム512によって第1の距離から検出可能な、複数のファインダ光学素子を含む。光学コード530はまた、コンテキスト情報を表す複数のコンテキスト光学素子を含み、コンテキスト光学素子は、マシンビジョンシステムによって第1の距離から検出可能である。光学コード530はまた、コンテンツ情報を表す複数のコンテンツ光学素子を含み、コンテンツ光学素子は、マシンビジョンシステムによって第1の距離からは検出できないが、マシンビジョンシステムによって第2の距離からは検出可能であり、第2の距離は、第1の距離未満である。
車両510が標識520に近づくと、マシンビジョンシステム512は、機械可読光学コードを検出し、処理する。マシンビジョンシステム512は、図5で可動型として示され車両510に搭載されているが、マシンビジョンシステムは固定であってもよく、又は他の機器若しくはデバイスに取り付けられてもよい。マシンビジョンシステム512は、画像センサ及び光源を含む赤外線カメラとすることができる。場合によっては、マシンビジョンシステムは、IRスペクトルに対する画像センサの感度を増大させるフィルタを含む。マシンビジョンシステムの他の種類は、本開示を閲読することにより、当業者には明らかとなるであろう。
マシンビジョンシステム512はコンピューティングデバイス540を含めることができ、これはネットワークを必要としない有線又は無線接続を介してコンピューティングデバイス540と直接接続される。他の例では、マシンビジョンシステム512は、1つ以上の通信リンク550A、550Bを使用して、コンピューティングデバイス540と通信可能に結合することができる。コンピューティングデバイス540は、ネットワーク552によって車両510に接続されているように図示されているが、他の実施例では、コンピューティングデバイス540は、車両510内又は車両510に直接含まれ、車両と直接通信又は内部ネットワークを介して車両構成要素と通信することができる。
マシンビジョンシステム512は、光学コードの画像をコンピューティングデバイス540に送信することができる。通信リンク550A及び550Bは、有線又は無線接続を表すことができる。例えば、通信リンク550A及び550Bは、WiFiプロトコルを使用する無線イーサネット接続とすることができるか、及び/又はカテゴリー5若しくはカテゴリー6のケーブルを使用して有線イーサネット接続することができる。任意の好適な通信リンクが可能である。いくつかの実施例では、マシンビジョンシステム512は、ネットワーク552によってコンピューティングデバイス540と通信可能に接続される。ネットワーク552は任意の数の1つ以上のネットワーク接続されたデバイスを表し、パケット及び/又はフレームベースのデータの転送を提供するルータ、スイッチ、ハブ、及び相互接続通信リンクを含むが、これらに限定されるものではない。例えば、ネットワーク552は、インターネット、サービスプロバイダのネットワーク、顧客のネットワーク、又は任意の他の好適なネットワークを表することができる。他の実施例では、マシンビジョンシステム512は、ユニバーサルシリアルバス(Universal Serial Bus)(USB)リンクなどの直接接続によりコンピューティングデバイス540と通信可能に接続される。
コンピューティングデバイス540は、1つ以上のデスクトップコンピュータ、ラップトップコンピュータ、メインフレーム、サーバ、クラウドコンピューティングシステムなどの、マシンビジョンシステム512と情報を送受信することができる、マシンビジョンシステム512と一緒か、若しくは離れた、単一のデバイスとなり得る、任意の好適なコンピューティングシステムを表す。いくつかの実施例では、コンピューティングデバイス540は、本開示の技術を実施する。
図5の実施例では、コンピューティングデバイス540は、符号化構成要素542と、データ層626と、サービス構成要素546と、ユーザインターフェース(user interface)(UI)構成要素548とを含む。符号化構成要素542は、必要なデータ符号化スキーム又はアルゴリズムを光学コード530上のデータに適用することによって、光学コード530内に符号化されたデータを検出することができる。符号化構成要素542は、データ層626に問い合わせて、光学コード530から検出されたバイナリコードを機械可読情報に変換することができる。
サービス構成要素546は、1つ以上の動作を実行することによって、様々なサービスを提供することができる。例えば、サービス構成要素546は、光学コードから読み取られたデータを受信すると、車両510上の自動運転構成要素を含む1つ以上の他のコンピューティングデバイスに送信される1つ以上のアラート、レポート、又は他の通信を生成することができる。そのようなアラートには、電子メール、テキストメッセージ、リスト、電話、又は、任意の他の好適な通信が含まれるが、これらに限定されるものではない。いくつかの実施例では、ユーザインターフェース(UI)構成要素548は、入力デバイスによって検出された入力を処理して他の構成要素に送信し、1つ以上の出力デバイスで提示することができる他の構成要素からの出力を生成する、コンピューティングデバイス540の様々な構成要素間の仲介者として機能することができる。例えば、UI構成要素548は、アラート、レポート、若しくは他の通信のデータ及び/又はグラフィック表現を含むことができる、表示用の1つ以上のユーザインターフェースを生成することができる。
構成要素542、626、546、及び548は、コンピューティングデバイス540及び/又は1つ以上の他の遠隔のコンピューティングデバイスに存在し、稼働しているソフトウェア、ハードウェア、ファームウェア、若しくはハードウェア、ソフトウェア、及びファームウェアいずれもの組み合わせを使用して、本明細書で説明する動作を実行することができる。いくつかの実施例では、構成要素542、626、及び546は、ハードウェア、ソフトウェア、及び/又はハードウェア及びソフトウェアの組み合わせとして実装することができる。コンピューティングデバイス540は、1つ以上のプロセッサによって構成要素626、546、及び548を実行することができる。コンピューティングデバイス540は、基礎をなすハードウェア上で動作するバーチャルマシンとして、又はバーチャルマシン内で、構成要素542、626、546、又は548のいずれかを実行することができる。構成要素542、626、546、548は、様々な方法で実装することができる。例えば、構成要素542、626、546、又は548のいずれかは、ダウンロード可能か若しくはプリインストールされているアプリケーション又は「アプリ」として実装してもよい。別の実施例では、構成要素542、626、546、又は548のいずれかは、コンピューティングデバイス540のオペレーティングシステムの一部として実装することができる。
図5では例示的な目的として、マシンビジョンシステムを車両510の一部又は車両510に搭載されているように示されている。車両510は、自動車、オートバイ、航空機、船舶、軍装備品、自転車、列車、又は任意の他の輸送車両とすることができる。他の実施例では、マシンビジョンシステム512は、ほんのいくつかの例を挙げれば、文書、衣類、ウェアラブル器具、建物、固定器具、若しくは任意の他の物体に取り付けられるか、含まれるか、若しくは埋め込まれるか、又は含めることができる。
図5では、光学コード530が標識として組み込まれたように示されているが、光学コードは、ほんのいくつかの例を挙げれば、文書、衣類、ウェアラブル器具、建物、固定器具、若しくは任意の他の物体に実装するか、取り付けるか、含めるか、又は埋め込むことができる。
いくつかの実施例では、光学コード530又は光学コード530が取り付けられた物品は、ベース面に適用された反射性、非反射性、及び/又は再帰反射性のシートを含むことができる。文字、画像、及び/又は任意の他の情報などであるが、これらに限定されない可視メッセージは、光学コード530物品上に印刷するか、形成するか、又は別の方法で具現化することができる。反射、非反射、及び/又は再帰反射のシートは、再帰反射シートをベース面に取り付けるための機械結合、熱結合、化学結合、又はその他の任意の好適な技術を含むが、これらに限定されない1つ以上の技術及び/又は材料を使用して、ベース面に適用することができる。ベース面は、反射、非反射、及び/又は再帰反射のシートを取り付けることができる物体(例えば上述したようなアルミニウム板など)の任意の表面を含むことができる。物品メッセージは、インク、染料、熱転写リボン、着色剤、顔料、及び/又は接着被覆フィルムのうちのいずれか1つ以上を使用して、シート上に印刷するか、形成するか、又は他のやり方で実現することができる。いくつかの実施例では、コンテンツは、多層光学フィルム、光学活性顔料若しくは染料を含む材料、又は光学活性顔料若しくは染料自体から形成されるか、又はこれらを含む。
光学コード530を最初に製造又は作製するために、作製デバイス570を、作製デバイス570の動作を制御するコンピューティングデバイス560と連携して使用することができる。いくつかの実施例では、作製デバイス570は、光学コード530及び/又は標識520を印刷、配置、又は形成する任意のデバイスとすることができる。作製デバイス138の例としては、ニードルダイ、グラビア印刷機、スクリーン印刷機、熱転写印刷機、レーザプリンタ/彫刻機、ラミネータ、フレキソ印刷機、インクジェットプリンタ、赤外線インクプリンタが挙げられるが、これに限定されるものではない。いくつかの実施例では、光学コード530は、作製デバイス570によって作製された再帰反射シート又は赤外吸収若しくは散乱フィルム、及び場合によってはコンピューティングデバイス560とは異なる作業者又は企業により操作される別個の作製プロセス又はデバイスによって有効にすることができ、シートに物品メッセージを、及び/又はベース層(例えばアルミニウムプレート)にシートを適用することができる。
作製デバイス570は、通信リンク550Dによってコンピューティングデバイス560と通信可能に接続することができる。コンピューティングデバイス560は、作製デバイス570の動作を制御することができる。例えば、コンピューティングデバイス560は、1つ以上の印刷仕様を含むことができる。印刷仕様は、可視標識面522及び光学コード530の特性(例えば、位置、形状、サイズ、パターン、構成又は他の空間的特性)を定義するデータを含むことができる。いくつかの実施例では、印刷仕様は、人間の作業者又は機械によって作成することができる。いずれにしても、作製構成要素562は、作製デバイス570にデータを送信して、プリンタ仕様に従って、作製デバイス570に可視画像又はメッセージ及び光学コードを印刷させることができる。
いくつかの実施例では、作製構成要素562は、視覚的に遮蔽される可能性がある標識の1つ以上の推定領域又はエリアを判定することができる。そのような領域又はエリアは、少なくとも潜在的な視覚的遮蔽又は遮蔽の表現を含む1つ以上の画像に基づいて、ユーザによって定義され、ハードコードされるか、又は作製構成要素562によって判定することができる。いくつかの実施例では、作製構成要素562は、視覚的に遮蔽され得る特定の標識の異なる領域又はエリアをユーザが指定することができるグラフィカルユーザインターフェースを出力することができる。視覚的に遮蔽され得る領域又はエリアを判定することに基づいて、作製構成要素562は、物品上のブロック形状、サイズ、及び/又は位置を構成し、視覚的に遮蔽される可能性がある1つ以上の領域又はエリアが遮蔽された場合でも、光学素子セット内に符号化されたメッセージがそのままコンピューティングデバイスによって復号可能となる可能性を向上することができる。一例として、光学コードの右上象限内の領域又はエリアが視覚的に遮蔽される可能性がある場合、作製構成要素562は、メッセージを表す光学素子セットを右上角部以外の位置に配置しながら、右上象限の領域又はエリア内に配置された光学素子セット内に誤り訂正データをそのまま含めることができる。光学素子のサイズ、形状、及び位置の任意の数の他の可能な配分は、機械可読コードにとって既知か、又は推定される視覚的遮蔽エリアに基づいて可能となる。
いくつかの実施例では、機械可読コード内のメッセージを復号するために、符号化構成要素542は、画像内のそれぞれの光学素子セットに対応する既定の位置を示す光学素子セットの位置データに少なくとも部分的に基づいて、光学素子セットを判定することができる。すなわち、光学素子セットの位置データは、異なる光学素子セット及び/又は個々の光学素子にマッピングされる座標又は他の位置値を示すことができる。符号化構成要素542は、光学素子セット内のそれぞれの光学素子に対応する既定の位置を示す光学素子の位置データに少なくとも部分的に基づいて、それぞれの光学素子に対応する階調度値を判定することができる。例えば、画像の既定の位置と光学素子との間の既知のマッピングを所与として、符号化構成要素は、その既定の位置(いくつかの実施例では、画素に対応する単一の点又は点のセットとすることができる)に対する階調度値を測定するか、又は判定することができる。符号化構成要素542は、階調度値と符号化された値との間のマッピングに少なくとも部分的に基づいて、メッセージの少なくとも一部分を判定することができる。例えば、符号化構成要素542は、階調度値と符号化された値との間の1つ以上の記憶されたマッピングにアクセスし、光学素子の検出された階調度値に基づいて、メッセージの一部分を表す復号された値のストリングを再構成する。
図6は、多次元機械可読光学コードを読み取るためのシステムで使用するコンピューティングデバイスの一実施例である。図6は、図5に示したコンピューティングデバイス540の特定の一実施例のみを示す。コンピューティングデバイス540の多くの他の実施例は、他の例において使用することができ、例示的なコンピューティングデバイス540に含まれた構成要素のサブセットを含むことができる、又は図6の例示的なコンピューティングデバイス540に示されていない追加の構成要素を含むことができる。いくつかの実施例では、コンピューティングデバイス540は、サーバ、タブレットコンピューティングデバイス、スマートフォン、手首若しくは頭部装着型コンピューティングデバイス、ラップトップ、デスクトップコンピューティングデバイス、又は任意の他のコンピューティングデバイスとすることができ、これらはアプリケーション620に含まれた機能のセット、サブセット、又はスーパーセットを実行することができる。
図6の実施例に示すように、コンピューティングデバイス540は、ユーザ空間602、カーネル空間604、及びハードウェア606に論理的に分割することができる。ハードウェア606は、ユーザ空間602及びカーネル空間604内で動作する構成要素用の動作環境を提供する1つ以上のハードウェア構成要素を含んでもよい。ユーザ空間602及びカーネル空間604は、メモリの異なる区域又は区分を表してもよく、カーネル空間604は、処理及びスレッドに対して、ユーザ空間602よりも高い権限を提供する。例えば、カーネル空間604は、ユーザ空間602内で動作する構成要素より高い権限を有して動作するオペレーティングシステム620を含むことができる。
図6に示すように、ハードウェア606は、1つ以上のプロセッサ608、入力構成要素610、ストレージデバイス612、通信ユニット614、及び出力構成要素616を含む。プロセッサ608、入力構成要素610、ストレージデバイス612、通信ユニット614、及び出力構成要素616は、それぞれ1つ以上の通信チャネル618によって相互接続することができる。通信チャネル618は、構成要素608、610、612、614、及び616のそれぞれを相互に接続し、構成要素間の通信(物理的に可能な通信及び/又は動作)を行ってもよい。いくつかの実施例では、通信チャネル618は、ハードウェアバス、ネットワーク接続、1つ以上のプロセス間通信データ構造、若しくはハードウェア及び/又はソフトウェア間でデータを通信するための任意の他の構成要素を含むことができる。
1つ以上のプロセッサ608は、コンピューティングデバイス540内の機能の実装及び/又は命令の実行を行うことができる。例えば、コンピューティングデバイス540上のプロセッサ608は、カーネル空間604及びユーザ空間602に含まれる構成要素の機能を提供する、ストレージデバイス612によって記憶された命令を受信して実行することができる。プロセッサ608により実行されるこれらの命令は、プログラムの実行中に、コンピューティングデバイス616にストレージデバイス612内の情報を記憶及び/又は変更させることができる。プロセッサ608は、カーネル空間604及びユーザ空間602内の構成要素の命令を実行して、本開示の技術に従った1つ以上の動作を実行することができる。すなわち、ユーザ空間602及びカーネル空間604に含まれる構成要素は、プロセッサ208を動作させて、本明細書に記載された様々な機能を実行することができる。
コンピューティングデバイス540の1つ以上の入力構成要素642は、入力を受信することができる。入力の例としてほんのいくつかの例を挙げると、触覚入力、音声入力、動的入力、及び光入力がある。一実施例では、コンピューティングデバイス616の入力構成要素642には、マウス、キーボード、音声応答システム、ビデオカメラ、ボタン、制御パッド、マイクロフォン、又は人間若しくは機械からの入力を検出する任意のその他の種類のデバイスが含まれる。いくつかの実施例では、入力構成要素642は、存在感知スクリーン、タッチ感知スクリーンなどを含むことができる存在感知入力構成要素としてもよい。
コンピューティングデバイス616の1つ以上の出力構成要素616は、出力を生成することができる。出力の例としては、触覚出力、音声出力、及びビデオ出力がある。いくつかの実施例では、コンピューティングデバイス540の出力構成要素616は、存在感知スクリーン、音声カード、ビデオグラフィックアダプタカード、スピーカ、陰極線管(cathode ray tube)(CRT)モニタ、液晶ディスプレイ(liquid crystal display)(LCD)、又は人間若しくは機械への出力を生成する任意の他の種類のデバイスを含む。出力要素としては、陰極管(CRT)モニタ、液晶ディスプレイ(LCD)、発光ダイオード(LED)、又は触覚出力、音声出力、及び/若しくは視覚出力を生成する任意のその他の種類のデバイスといった、ディスプレイ構成要素を含めることができる。出力構成要素616は、いくつかの実施例では、コンピューティングデバイス540と統合されてもよい。他の実施例では、出力構成要素616は、コンピューティングデバイス540に対して物理的に外部にあり、別個であってもよいが、有線又は無線通信を介してコンピューティングデバイス540で動作可能なように接続することができる。出力構成要素は、コンピューティングデバイス540の外側パッケージング(例えば携帯電話上のスクリーン)内に配置され、物理的に接続されているコンピューティングデバイス540の組込構成要素とすることができる。別の実施例では、存在感知ディスプレイ602は、コンピューティングデバイス540のパッケージングの外側に配置されて物理的に分離されたコンピューティングデバイス540の外部構成要素(例えば、タブレットコンピュータと有線及び/又は無線データ経路を共有するモニタ、プロジェクタなど)とすることができる。
コンピューティングデバイス540の1つ以上の通信ユニット614は、外部デバイスと通信してデータを送信及び/又は受信することができる。例えば、コンピューティングデバイス540は、通信ユニット614を使用して、セルラー無線ネットワークなどの無線ネットワーク上で無線信号を送信及び/又は受信してもよい。いくつかの実施例では、通信ユニット614は、全地球測位システム(Global Positioning System)(GPS)ネットワークなどの衛星ネットワーク上で衛星信号を送信及び/又は受信してもよい。通信ユニット614の例としては、ネットワークインターフェースカード(例えばイーサネットカードなど)、光送受信機、無線周波数送受信機、GPS受信機、もしくは情報を送信及び/又は受信することができる任意の他の種類のデバイスが挙げられる。通信ユニット614の他の例としては、モバイルデバイスに見られるBluetooth(登録商標)、GPS、3G、4G、及びWi-Fi(登録商標)無線通信、並びにユニバーサルシリアルバス(USB)コントローラなどを挙げることができる。
コンピューティングデバイス540内の1つ以上のストレージデバイス612は、コンピューティングデバイス540の動作中に処理する情報を記憶することができる。いくつかの実施例では、ストレージデバイス612は一時メモリであり、これはストレージデバイス612の主要目的が長期の記憶ではないことを意味する。コンピューティングデバイス540上のストレージデバイス612は、情報の短期記憶用に揮発性メモリとして構成されてもよく、したがって、動作を停止すると、記憶していた内容は保持されない。揮発性メモリの例としては、ランダムアクセスメモリ(random access memories、RAM)、ダイナミックランダムアクセスメモリ(dynamic random access memories、DRAM)、スタティックランダムアクセスメモリ(static random access memories、SRAM)、及び当該技術分野で既知の他の形態の揮発性メモリが挙げられる。
いくつかの実施例では、ストレージデバイス612は、1つ以上のコンピュータ可読記憶媒体も含む。ストレージデバイス612は、揮発性メモリよりも多くの情報を記憶するように構成することができる。更にストレージデバイス612は、不揮発性メモリ空間として、情報の長期記憶用に構成され、アクティブ化/オフのサイクル後に情報を保持することができる。不揮発性メモリの例としては、磁気ハードディスク、光ディスク、フロッピィディスク、フラッシュメモリ、又は電気的プログラマブルメモリ(electrically programmable memories、EPROM)若しくは電気的消去及びプログラム可能メモリ(electrically erasable and programmable memories、EEPROM)の形態が挙げられる。ストレージデバイス212は、ユーザ空間602及び/又はカーネル空間604に含まれる構成要素に関連付けられたプログラム命令及び/又はデータを記憶することができる。
図6に示すように、アプリケーション628はコンピューティングデバイス540のユーザ空間602で動作する。アプリケーション628は、プレゼンテーション層622、アプリケーション層624、及びデータ層626に論理的に分割することができる。プレゼンテーション層622は、アプリケーション628のユーザインターフェースを生成してレンダリングするユーザインターフェース(UI)構成要素548を含むことができる。アプリケーション228は、UI構成要素548、アルゴリズム符号化構成要素542、データ層626、及び1つ以上のサービス構成要素546を含むことができるが、これに限定されるものではない。プレゼンテーション層622は、UI構成要素548を含むことができる。
データ層626は、1つ以上のデータストアを含んでもよい。データストアは、構造形態又は非構造形態のデータを記憶することができる。例示的なデータストアは、リレーショナルデータベース管理システム、オンライン解析処理データベース、テーブル、又はデータを記憶するための任意の他の好適な構造、のうちのいずれか1つ以上であってよい。コンテンツデータストア634は、コンテンツ光学素子からのペイロードからなる一連のビット及びそれらの一連のビットに関連付けられた情報を含んでもよい。いくつかの実施例では、コンテンツデータストア634は、符号化又は復号された形態のメッセージを含んでもよい。コンテキストデータストア636は、コンテキスト光学素子からのペイロードからなる一連のビット及びそれらの一連のビットに関連付けられた情報を含んでもよい。いくつかの実施例では、コンテキストデータストア634は、符号化又は復号された形態のメッセージを含んでもよい。誤り訂正データ632は、コンテンツ光学素子及びコンテキスト光学素子内に見出されたペイロードデータの再構成及び検証を支援する誤り訂正アルゴリズムによって構築されたコードワードを形成する、一連のビットを含むことができる。サービスデータ638は、サービス構成要素546のサービス提供及び/又は提供した結果として得られる任意のデータを含んでもよい。例えば、サービスデータは、光学活性物品に関する情報(例えば、車両登録情報)、ユーザ情報、又は任意の他の情報を含むことができる。
マシンビジョンシステム510は、画像をキャプチャし、ファインダ光学素子を使用して画像内に光学コード530が存在することを判定し、UI構成要素548又は通信チャネル550A及び550Bを介してコンピューティングデバイス540に通信することができる。画像を受信したことに応じて、符号化構成要素542は、画像の特定の画像領域が光学コードを表すかどうかを判定することができる。リードソロモン復号又は誤り検出技術などの1つ以上の復号技術を適用することによって、符号化構成要素542は、コンテンツデータストア636及びコンテキストデータストア634との通信を介して、画像内の光学コードが、速度制限標識が前方にあること及び標識上の速度制限が時速50キロメートルであることを示す一連のデータを表しているか判定することができる。
サービス構成要素546は、UI構成要素548にアラート表示を生成させるデータをUI構成要素548に送信するといった、符号化構成要素542によって生成されたデータに基づいた1つ以上の動作を実行することができる。いくつかの実施例では、サービス構成要素546は、車両の動作を変更することができる。例えば、サービス構成要素546は、車両の速度、加速度、方向、サスペンション、ブレーキ、又は任意の他の機能を変更することができる。UI構成要素548は、出力構成要素616のうちの1つの出力構成要素にデータを送信し、出力構成要素にアラートを表示させてもよい。コンピューティングシステムの1つの特定の実装形態を本明細書で説明しているが、本開示を閲読することにより、本開示の範囲と一致し、かつ本開示の範囲内のコンピューティングシステムの他の構成及び実施形態が、当業者に明らかになるであろう。
いくつかの実施例では、作業区域などの動的環境は、自律型又は半自律型車両により大きな困難をもたらし得る。例えば、強化されたマップ及びGPSに依拠することは、危険又は作業者が分単位又は時間単位で動的に再配置することができるので、強化されたマップ及びGPSに依拠するのに限界があり得る。コンピューティングデバイス540は、自律型、半自律型、又は視覚支援型車両などの車両に実装されると、エリア内の他の物体又は遮蔽物によってコードの一部が視覚的に遮蔽された場合でも、そのような車両に確実に人々及びデバイスの位置を特定させ、そのようなエリアを通ってナビゲートすることを可能にする、本開示で説明するようなコードを有するリアルタイムのナビゲーションマーカーを提供することができる。いくつかの実施例では、本開示で説明するように、コードは、人間の目には見えないが、市販のマシンセンサでは見て取れる光の特定の波長となっている。作業区域デバイスに取り付けることができるこれらの固有の機械可読コードは、精密な物体検出及び高速処理を提供することができ、自律型、半自律型、又は視覚支援型ナビゲーションを可能にする。このように、本開示で説明するコンピューティングデバイス及び画像キャプチャデバイスを含む車両は、1つ以上のコード内に符号化された情報を判定したことに応じて、動作を変更することができる。
いくつかの実施例では、本開示におけるそのようなコードを読み取るための機械可読光学コード及びシステムは、既存の統一交通管制装置便覧(Manual on Uniform Traffic Control Devices)(MUTCD)規則及び/又は従来の作業区域材料との適合性がある。いくつかの実施例では、本開示の機械可読光学コードは、車両をナビゲートするための他の手順(例えばGPS、地図など)よりも、より高速かつ/又はより正確な検出及び処理を行うための情報を車両に提供することができる。いくつかの実施例では、汎用機械可読光学コードは、コードを具現化する物品のそれぞれの特定の種類に対して標準化されるか、又は一定にすることができる。いくつかの実施例では、特定の作業区域又は他の境界領域若しくはエリア内の異なる種類の物品に対して、異なった機械可読コードを使用することができる。いくつかの実施例では、機械可読コードは、人間若しくは作業者を表すように符号化された光学素子及び/又は情報に固有の空間構成を含むことができる。いくつかの実施例では、位置特定データを機械可読コードに符号化することができ、そのような位置特定情報は、物品又は物品の周囲エリアに関する局所的な特定の情報を示し、いくつかの実施例では、コードが位置する動的に変化する環境のためにGPS又はマップで利用できない場合がある。
標識の分類及びデータ品質の改善に加えて、インフラストラクチャ物品は、高解像度マッピングによって提供される位置データを補完する機会を提供することができる。地図作成会社は、ドライバ及び自動運転車両による経路計画を支援し、道路上で車両に適切な位置を取らせるための、極めて詳細かつ動的なマップを作成している。現在の高解像度(high-definition)(HD)マッピングは、位置特定を提供するためのSIFT(Scale Invariant Feature Transform)(スケール不変特徴変換)特徴の連続的解析に依拠している。信頼性のある特徴を開発するために、データの高密度マッピングが行なわれ、参照する車両がアクセス可能な方法で記憶されることがある。場合によっては、これは、時間がかかりかつ(経済的及び計算上の両方の点で)高価である。場合によっては、SIFT特徴として使用されるランドマークが変化し、SLAM(Simultaneous Localization and Mapping)(同時位置特定及びマッピング)を実行しようと試みている車両に困難を与えることもあり得る。
本開示の技術は、標識に情報を埋め込むことによって正確なGPS情報を与えることができ、計算費用を軽減し、並びにSIFT特徴を点群データと照合する際の曖昧さ、又は間違い易いアクションを低減することができる。
いくつかの光学コードは、高精度のGPS座標、並びに標識固有の識別子を含んでいてもよい。光学コード上のファインダ及びタイミングモジュールは、平面姿勢推定技術を用いた正確な読み取り距離ベクトル判定を可能にする。この距離ベクトルと復号されたGPS座標とを組み合わせたコンピューティングデバイスは、(例えば)GPSデータが信頼できない場合がある都市の谷間であっても、現在のGPS座標を比較し、提供し、オフセット/ドリフト/誤り訂正を行い、位置を特定するための基準位置を指定する。
一例として、車両マシンビジョンシステムは、標識の画像を、埋め込まれた光学コードを露出する赤外線光でキャプチャする。ファインダモジュールのサイズ及び傾きによって、コンピューティングデバイスによる正規化が可能となり、画像が正方形に戻される。モジュールのサイズは、分離された2つのファインダモジュール間に広がる多数の画素によって測定することができる。この画素カウントは、距離に比例している画素サイズと相関しており、画像の傾き量を基に、コンピューティングデバイスによるベクトル判定を可能にし、画素サイズは、標識までの特定の距離及び方向を伝える。標識位置の高精度のGPS座標、及びカメラがある場所の正確な投影により、カメラが車両上に配置された場所を車両が知っている限り、車両のGPS位置は、提供された標識GPS及び適切な並進ベクトルからコンピューティングデバイスによって判定することができる。
一意に識別された道路標識又は位置特定のための他の物品を使用することで、標識が座標位置及び標識IDを積極的に確認することができ、不正確か又は誤った照合が生じる可能性が低くなるので、SIFT特徴に関する信頼に対しても好ましいものとなる。点群データ又はスケール不変特徴リストは、実際には、それ自体の形状以外に任意かつ固有の識別子を有していない可能性がある。多くの場合、これでも車両とって合理的かつ確実なものではあるが、地球上の特定の場所に相関する点又は特徴のセットを選択したかは確かではない。つまり、車両はおそらく正しく識別されているが、不正確である可能性もあり、不正確な位置特定によって予想される特徴を車両が見逃し始めるまで分からないことになる。位置特定のために光学コードを使用する本開示の技術は、改善された信頼性及び/又は確実性を提供することができる。
固有のID並びに高精度の位置を有する標識又は他の物品を使用することにより、確認や、又は正しい標識を識別してその位置が検証される追加の信頼できる情報を提供することができる。車両が標識に記憶されたGPS座標を使用する必要がない場合であっても、車両はGPS座標を予測されたSIFT特徴と照合させることができる。これにより、SIFT特徴に対するポジティブIDを提供することができ、関連の信頼レベルを増加させることができる。いくつかの実施例では、セキュリティ要素を導入することで、特定の標識がそのとおりの正確な標識であり、誤っているか又は無効ではないことを証明することができる。
いくつかの実施例では、光学コードをグランドトルースの情報源として使用して、他のシステム又はモデルを訓練することができる。例示的モデルとしては、ニューラルネットワーク、SVM分類子、又は任意の他の指導型学習モデルを挙げられる。光学コードに符号化されたデータをグランドトルース情報として使用することで、そのようなモデルを変換することができる。一例として、位置特定データなどの光学コードからのデータは、任意の他の特徴と共に特徴ベクトル内で構造化され、例えば画像データを分類するために使用されてもよい。例示的な分類には、画像データが特定の道路標識を示すか否かを分類することが含まれ得る。モデルに適用される特徴ベクトルにグランドトルース情報を含めることによって、モデルは、特定の道路標識を含む画像データをより正確に分類することができる。デジタル化された特定のデータ(例えば何らかのECCを有する光学コードデータ)をデジタル化されていない特定のデータ(例えば不完全に解像された画像データ)と併せて使用することで、デジタル化されていない特定のデータの分類を改善することができる。道路標識に関する画像データを分類する文脈で説明しているが、光学コードからのグランドトルースを使用する技術によって、デジタル化されていない特定のデータに対する分類子をより正確にするために、デジタル化された特定のデータを使用するという任意のシナリオを、より幅広く適用することができる。そのような技術は、分類子に追加の信号を提供するか、又は分類子の結果が正しいことを検証するためのチェックとして機能することができる。
いくつかの実施例では、本開示の機械可読コードは、レーダー、光検出及び測距(Light Detection and Ranging)(LIDAR)、近赤外線及び遠赤外線、又は任意の他の好適な技術などの1つ以上のセンサとの適合性があり得る。いくつかの実施例では、本開示の技術を実装する1つ以上の車両は、V2X又は他の好適な無線技術を使用して、本開示の機械可読コードから復号された情報を交換することができる。いくつかの実施例では、本開示の機械可読コードは、物品作製中に物品上に直接具体化されるか、又は後に既存の物品に適用されるデカール又は他の層で後から組み込まれてもよい。
図7Aは、入れ子状のコンテンツ光学素子を有する機械可読光学コード700を示す。いくつかの実施例では、入れ子又は「子」光学素子は、親光学素子内に含めることができる。例えば、親光学素子セット702は、少なくとも1つの親光学素子706を含んでもよく、親光学素子706は、子光学素子セット(例えば、図7Aのセル[A,1]内に含まれる4つの光学素子)を更に含み、子光学素子セットは、子光学素子706などの光学素子のそれぞれのセットを含む。
いくつかの実施例では、親光学素子の少なくとも1つの光学素子に対応する第1の符号化された値は、閾値距離以上の、画像キャプチャデバイスと物品との間の特定の距離で復号可能である。子光学素子セット内の光学素子のセットにそれぞれ対応する子の符号化された値は、画像キャプチャデバイスと物品との間の特定の距離で復号可能でなくてもよい。いくつかの実施例では、特定の距離は、第1の距離であり、子光学素子セット内の光学素子のセットにそれぞれ対応する子の符号化された値は、画像キャプチャデバイスと物品との間の第2の距離で復号可能であり、第2の距離は、第1の距離未満である。いくつかの実施例では、閾値距離は、画像キャプチャデバイスによってキャプチャされた画像の解像度が、視覚的に異なる子光学素子セットの1つ以上の光学素子間で、区別の可能性の閾値を上回り、視覚的に区別されない距離である。いくつかの実施例では、区別の可能性の閾値は、ユーザが定義するか、ハードコードするか、又は機械で生成することができる。
入れ子状のコンテンツ及びコンテキスト光学素子は、前の図に示したコードのうちのいずれか1つに適用することができる。いくつかの実施形態では、光学コードは、コンテンツ光学素子及びコンテキスト光学素子の両方を含むことができる。入れ子状のコンテンツ光学素子は、それぞれがデータのビットとして個別に読み取ることができるか、又は単一のコンテキスト光学素子として一緒に読み取ることができる、4つのコンテンツ光学素子のブロックである。第1の距離から、光学コード700は、行A~B、C~D、E-F、G-H、I-J、K-L、及びM-N、並びに列1~2、3~4、5~6、7~8、9~10、11~12、及び13~14を有する7x7のコードとして見える。図2Aに示す画像と同様に、行G~H及び列7~8の光学素子は、ファインダ光学素子である。図7Aの機械可読光学コードは、図2Aとは異なり、入れ子状のコンテンツ光学素子を可能にするための光学素子内の階調度を使用するように示されている。
図7B~図7Cは、入れ子状のコンテンツ光学素子を有する機械可読光学コードの区域を示す。多くのマシンビジョンシステムでは、システムは、画像内の最も明るい色調及び画像内の最も暗い色調を検出することで、光学素子が「白色」又は「黒色」であるかを判定する。次に、マシンは、検出された白色と黒色との間の中間の色調より暗いあらゆるものは黒色であると判定されていると決定することで、画像を「二値化する」。中間(又は50%)の色調よりも明るいあらゆるものは、白色であると判定される。この同じ原理は、コンテンツ光学素子の複数の層が入れ子状になった場合に適用することができる。
2層コンテンツ光学素子のそのような一例は、列11~2、行C~Dの交点を含むブロックに示されている。コード700を生成する場合、交差する列11~12、行C~Dから構成されるブロック711は、(コンテキスト光学素子として)単一ブロックとして一緒に読み取られると、「0」として累積的に復号される。マシンビジョンシステムは、領域内の最も明るい色としてスケール710に示す濃淡0,0、及び最も暗い色としてスケール710上に示す濃淡1,1を検出するので、光学素子C~D、11~12内の全てのブロックに対して「0」として読み取るためには、711内の4つのブロックのそれぞれの濃淡は、スケール710上の50%ラインを下回っていなければならない。
ブロック711内の4つのコンテンツ光学素子のそれぞれに入れ子にされた情報を読み取るか、又は復号するために、マシンビジョンシステムは、ブロック711を分離し、二値化器でブロック711内の濃淡のみを較正することができる。濃淡はスケール710の50%ライン未満であるため、次に二値化器は、(例えば輝度に基づいて)25%ライン以下の黒レベルを有する任意の領域が「0」であり、かつ25%ライン以上のあらゆるものが「1」であると判定する。したがって、711及び712内の4つのブロックが、単一の光学素子として一緒に読み取られたときに「0」として読み取られたとしても、コンテンツ光学素子として個別に読み取られると、C11及びD12は「0」、C12及びD11は「1」となる。
同様に、ブロック713は、コンテキスト光学素子として第1の距離から読み取られた際に、「1」として読み取られる必要がある。これを実現するために、スケール710上の50%ラインよりも大きい黒色の濃淡のみが使用され、それにより、コンテキスト光学素子713が第1の距離から読み取られると、マシンビジョンシステムは、4つのブロック全てが階調度スケール上の50%ラインの上方にあるため、4つのブロック全てが「暗い」又は「黒色」であると判定する。ブロック714を分離して読み取るとき、マシンビジョンシステムは50%ライン以上の階調度範囲のみを見ていることに基づいて、ブロック714内のコンテンツ光学素子が個別に読み取られるとき、E11は、「0」、E12、F11、及びF12は、「1」となる。
ブロック又は光学素子721~726は、3つのレベルの入れ子状のデータを使用した実装を示す。ブロック721は、第1の距離から読み取られるとき、黒色の全ての濃淡がスケール420上の50%ラインを上回るため、「1」である。しかしながら、第2の、より近い距離から読み取られると、(ブロック722に示されるように)光学素子A11及びA12は、これらの光学素子のそれぞれの内部の濃淡がブロック722を二値化するために使用される分割点となっている75%ラインを下回るため、「0」として読み取られる。光学素子B11及びB12は、1として読み取られる。ブロック723が第3の(かつ最も近い)距離から読み取られると、マシンビジョンシステムは、光学素子A11、A12、B11、及びB12のそれぞれが4つの入れ子状の光学素子からできていることを検出することができる。光学素子A11及びA12において、カラースペクトルは、スケール420上で1,0,0~1,0,1の範囲であるため、A11内の4つの入れ子状の光学素子は、0、0、0、0として読み取られ、A12内の4つの入れ子状の光学素子は1、1、0、1として読み取られる。
光学素子724は、単一のコンテキスト光学素子として第1の距離で読み取られたときに「0」として符号化されているため、光学素子724内で使用される全ての濃淡は、スケール720上の50%の黒色レベルのラインを下回る。ブロック725が第2の距離で4つの別個のコンテンツ光学素子として読み取られるとき、光学素子A11は、「1」であり、A12、B11、及びB12は、それぞれ「0」である。ブロック726は、第1又は第2の距離のいずれかよりも近い第3の距離で読み取ることができ、ブロック725に関して言及した各コンテンツ光学素子は、ここで、4つの別個のコンテンツ光学素子として読み取ることができる。ブロックA11内のコンテンツ光学素子は、1、1、0、0である。ブロックA12内のコンテンツ光学素子は、1、0、1、0である。ブロックB11内のコンテンツ光学素子は、1、0、1、0であり、ブロックB12内のコンテンツ光学素子は1、0、0、1である。50%の黒色レベルラインは、一例として提供されているが、100~1%の間の任意の値が利用可能である。
本開示は、2段階の入れ子及び3段階の入れ子を具体的に説明しているが、画像キャプチャ及び処理技術の制限に基づいて、任意の所望のレベルの入れ子を実現することができる。例えば、5段階の入れ子を有するコードを実装するためには、階調度スケールを25又は32の階調度の色(又は灰色)に分割する必要があることになる。
図8は、本開示の1つ以上の技術に従って、コンピューティングデバイスによって実行される例示的動作を含むフロー図800を示す。例示のみを目的として、図5及び図6のコンピューティングデバイス540によって実行される、例示的な動作を以下に説明する。図8のいくつかの技術は、1つ以上の画像キャプチャデバイス、コンピューティングデバイス、又は他のハードウェアによって実行されてもよい。図8では、コンピューティングデバイス540は、本開示で説明するような機械可読コードに含まれる1つ以上の光学素子セットの画像を受信する(802)。画像は、カメラなどの画像キャプチャデバイスによってキャプチャされる。
コンピューティングデバイス540は、画像が視覚的遮蔽を含むか否かを判定することができる(804)。いくつかの実施例では、コンピューティングデバイス540は、機械可読コードを表すマトリックスの少なくとも1つの縁部で視覚的遮蔽が生じるか否かを判定することができる。機械可読コードを表すマトリックスの少なくとも1つの縁部に視覚的遮蔽が生じない場合(806)、又は視覚的遮蔽が存在しない場合、コンピューティングデバイス540は、少なくとも1つの縁部からの1つ以上の光学素子に少なくとも部分的に基づいて、機械可読コードによって表されるメッセージを復号することができる(810)。いくつかの実施例では、コンピューティングデバイス540は、機械可読コード内に含まれる誤り訂正データを使用することなく、メッセージを復号することができる。視覚的遮蔽が機械可読コードを表すマトリックスの少なくとも1つの縁部に発生する場合(808)、コンピューティングデバイス540は、画像からの誤り訂正データに少なくとも部分的に基づいて、かつ視覚的に遮蔽された縁部内の光学素子を使用することなく、メッセージを復号することができる(812)。
図9は、本開示の技術に従った、再帰反射物品、並びに例示的なヨー、ピッチ、及びロール軸を示す。いくつかの実施例では、再帰反射物品(例えば、速度制限標識)は、本開示の技術に従った光学コードを含んでもよい。いくつかの実施例では、本開示の光学コードは、道路用途などのインフラストラクチャ識別及びコンテキスト通信のために使用することができる。いくつかの実施例では、光学コードは、姿勢正規化の文脈で配置される2次元バーコードのわずかな回転を考慮してもよい。したがって、遮蔽堅牢性は、他の可能な実装の中でも、インフラストラクチャ用途でそのような光学コードを実装する利点又は利益となる。いくつかの実施例では、光学コードは、所定のメッセージにマッピングされた可変ビットペイロードを可能にする。
いくつかの実施例では、本開示の光学コードは、道路インフラストラクチャにおいて利点を提供することができる多数の最適化を含んでおり、これによって多くの他のブロックマトリックスコードと差別化される。本開示の光学コードは、正確な検出、読み取り距離、及びコード破壊の通常メカニズムからの誤り回復の間で最適化することができる。
インフラストラクチャの環境に起因して、標識及びインフラストラクチャ材料は、通常の遮蔽及び変形の特定のセットを有する。本開示の光学コードは、これらのタイプの遮蔽に対して誤り訂正及びデータレイアウトを最適化又は改善することができる。光学コードは、が縁部遮蔽から回復することができるデータは、他の遮蔽形式よりも多い。縁部遮蔽は、典型的なインフラストラクチャ運転シナリオにおいては一般的であり得る。
いくつかの実施例では、本開示の光学コードの読み取り距離を増加させるために、これらの光学コードは、コードの発見及び姿勢推定専用のより少数のモジュールを有することができる。このファインダの詳細は、本開示で更に説明する。
いくつかの実施例では、本開示の光学コードは、メタデータ情報を有さなくてもよく、特定の場合には、クワイエットゾーンを有さなくてもよい。これは、データマトリックス及びQRコードなどの他の一般的なコードから、光学コードを差別化する。メタデータモジュールの低減により、本開示の光学コードは、データ伝送において、より高い空間効率を可能にする。物理的コード寸法が標識のサイズによって制限されている標識の場合、空間効率が重要であり得る。必要とされるモジュールの数を低減することは、コードをより大きくし、データを更に離して復号することができること、又はより多くの誤り訂正を同様のサイズのコード上に配置することができることのいずれかを意味する。
いくつかの実施例では、本開示の光学コードは、インフラストラクチャの一片の典型的な想定される向きを利用する。図9は、標識に関する軸を示すが、任意の物品を使用することができる。いくつかの実施例では、車両は、少量のロール回転、少量のピッチ回転、及び潜在的に著しいヨー回転を最大限有する光学コードを有する標識に遭遇することになる。
いくつかの実施例では、以下のような様々な用語を参照することがある。
いくつかの実施例では、「アライメントパターン」は、マトリックスシンボロジ内の定義された位置の固定基準パターンとすることができ、これにより、復号ソフトウェアが、画像に適度な歪み量がある場合に画像モジュールの座標マッピングを再同期することが可能となる。
いくつかの実施例では、「ブロブ」は、クアッド内に含まれる抽出された画像とすることができる。
いくつかの実施例では、「クロッキングエッジ」は、タイミング情報が符号化されている光学コードの縁部を指すことができる。
いくつかの実施例では、「クロッキングパターン」は、タイミング又はクロッキングモジュールを指すことができる。
いくつかの実施例では、「輪郭抽出」は、可能な限り小さな歪み又は歪みの閾値レベル未満の歪みを有する適切又は有効なモジュール/コードの視点を維持するように作用しながら、湾曲面又は輪郭面を平坦化し、それを2次元の平坦な画像に解像するプロセスとすることができる。
いくつかの実施例では、「符号化領域」は、オーバーヘッドパターンによって占有されず、かつデータ及び誤り訂正コードワードを符号化するために利用可能な、シンボルの領域とすることができる。いくつかの実施態様では、符号化領域にバージョン及びフォーマット情報を含めることができる。
いくつかの実施例では、「ファインダパターン」は、光学コードシンボルの存在を識別/認識するために使用されるモジュールのパターンとすることができる。多重解像度のコードでは、ファインダ及びクロッキングパターンを最大モジュールから作製することができる。
いくつかの実施例では、「固定パターン」は、定位置に固定された光学コードシンボルの一部、部分、又は区域とすることができる。これは、ファインダパターン、タイミングパターン、及び近傍のクワイエットゾーンモジュールを含む。
いくつかの実施例では、「カーネルサイズ」は、ピクセル数又は他の測定値の観点から定義されるサンプルウィンドウのサイズとすることができる。このカーネルは、数学形態演算を実行するために利用することができる。
いくつかの実施例では、「モジュールクリアランス」は、コードの周囲のスペースを指すことができる。モジュールクリアランスは、コードが存在しなくてよい必要なクワイエットゾーンを画定することができる。一部の標識の実装(明色に対して暗色)では、モジュールクリアランスは、明るい画素のスペースとすることができる。
いくつかの実施例では、構造化要素BによるセットAの収縮の「モルフォロジカルオープン」の膨張は、
であり、式中、
は、収縮及び膨張をそれぞれ示す。オープニングは、画像の前景から小さい物体を除去し(通常は明るい画素として取られる)、それらを背景に配置することができる。
いくつかの実施例では、「モルフォロジカルクローズ」は、構造化要素Bによってセット(二値画像)Aがクローズされ、そのセットの膨張が収縮される「モルフォロジカルクローズ」は、
であり、式中、
は、膨張及び収縮をそれぞれ示す。クロージングは、前景の小さな孔を除去し、背景の小さな島を前景に変更することができる。
いくつかの実施例では、「多重解像度」は、単一のコード内に複数のモジュールサイズクラスを有する光学コードシンボルを意味し、これは、単一解像度の光学コードとは異なることができる。
いくつかの実施例では、「遮蔽」は、障害に起因して標識の区域を読み取ることができないことを意味し得る。これは、部分的又は全体的であってもよい。
いくつかの実施例では、「オーバーヘッドパターン」は、シンボルの位置及びサイジング特性に必要なファインダパターン及びタイミングパターンを含むシンボルのオーバーヘッド構成要素とすることができる。
いくつかの実施例では、「クアッド」は、光学コードの位置を定義する平行四辺形の4つの角とすることができる。
いくつかの実施例では、「クワイエットゾーン」は、背景から光学コードを分離するために使用されるバッファエリアとすることができる。クワイエットゾーンのサイズは、バッファ又はモジュールクリアランスを構築するために必要とされるスペースのモジュールの数で指定することができる。
いくつかの実施例では、「Ramer-Douglas-Peuckerアルゴリズム」は、1つ以上の動作を指定し、線分(ポリライン)から構成される曲線を所与として、より少ない点を有する類似の曲線を見つけることができる。アルゴリズムは、元の曲線と簡略化された曲線との間の最大距離に基づいて、「相違」を定義する。簡略化された曲線は、元の曲線を定義した点のサブセットからなる。
いくつかの実施例では、「繰り返しビット」は、ブロック内の区域を冗長に表し、したがって、遮蔽回復を可能にする、配置された又は位置するビットとすることができる。
いくつかの実施例では、「再帰反射性」は、最小限の散乱量で、かつ広範囲の進入角度から、増加された光を光源へと反射し返すように設計された表面又は材料を指すことができる。
いくつかの実施例では、「単一解像度」は、1つのモジュールサイズのみを有する光学コードの実装を指すことができ、これは、多重解像度の光学コードとは異なり得る。
いくつかの実施例では、「タイミングパターン」は、シンボル内のモジュール座標を判定することを可能にする、暗いモジュール及び明るいモジュールの交互の列とすることができる。
いくつかの実施例では、式及び等式で使用される数学記号は、それらの式又は等式が現れた後に定義される。本文書の目的のために、以下の数学的演算が適用される。
図10は、本開示の技術に従った、光学コードの例示的構造を示す。参照を容易にするために、モジュール位置は、(i,j)の形式で、シンボル内のその行及び列座標によって定義され、式中、iは、0で開始する計数を用いて、モジュールが位置する行(上から下に数える)jは、列(左から右に数える)を指定する。したがって、モジュール(0,0)は、シンボルの左上角に位置する。いくつかの実施例では、多重解像度の光学コードには、1つより多くののモジュールサイズが存在する。サイズは、モジュールサイズによって、分類及び参照することができる。したがって、最大モジュールクラスは、1とラベル付けされることがある。サイズ1は、サイズ2よりも大きいモジュールを有することになり、サイズ3よりも大きいモジュールを有することになる。
いくつかの実施例では、バージョン情報は光学コードに符号化されず、その代わりに、全てのファインダテンプレートが候補画像に対してチェックされる。他の実施例では、バージョン情報は光学コードに符号化されてもよい。
いくつかの実施例では、本開示に従って実装される光学コードは、以下の特性を含むことができる。
a)フォーマット:
1)遮蔽回復能力とデータ容量を所定のバランスで有する単一解像度コード。
2)符号化された情報の複数の層、及び各層における遮蔽回復能力とデータ容量とのバランスを有する多重解像度コード。
b)符号化可能なデータ:
1)単一解像度:数値データのみ。有効な数値の範囲は、1~2(データビット数)とすることができる。
2)多重解像度コード:それぞれの層に1つの数値データ。有効な数値の範囲は、その層に対して1~2(データビット数)とすることができる。2層の多重解像度光学コードの一実装形態では、第1の層は、米国標識に関するMUTCD(統一交通管理装置便覧)(連邦道路管理局によって発行された)番号を表す。
c)データの表現:
暗いモジュールは、名目上、二値の「ゼロ」であり、明るいモジュールは、名目上、二値の「1」である。この表現は、特定の用途においては反転させることができる。
d)シンボルサイズ(クワイエットゾーンを含まない):
1)単一解像度コード:少なくとも幅が5つのモジュール及び高さが5つのモジュールであるが、0より大きな任意の数が可能である。いくつかの実施例では、コードに関して上限が存在しないが、例示的な最大サイズは、高さ又は幅が21個のモジュールである。いくつかの実施例では、そのような寸法に使用される最大サイズは、ゼロよりも大きい任意の数であってもよい。
2)多重解像度コード:層が1つのモジュールよって定義される、少なくとも幅が7つのモジュール及び高さが7つのモジュールであるが、0より大きな任意の数が可能である。いくつかの実施例では、定義された上限は存在しない。いくつかの実施例では、そのような寸法に使用される最大サイズは、ゼロよりも大きい任意の数であってもよい。
e)コードタイプ:マトリックス
f)向き独立性:
あり。いくつかの実施例では、光学コードは、向き独立性を有する。他の実施例では、光学コードは、向き依存であってもよい。いくつかの実施例では、向きを固定することで、コード設計及び復号アルゴリズムにおける特定の利点が可能となる。
いくつかの実施例では、光学コードは、反射反転を使用してもよい。シンボルは、マークされると読み取られるように意図されてもよく、そのため、画像は明色に対して暗色、又は暗色に対して明色のいずれかである。いくつかの実施例では、仕様は、明るい背景に対する暗い画像に基づくが、これが当てはまらない場合、明るいモジュールは暗いモジュールとして、及び暗いモジュールは明るいモジュールとして用いてもよい。いくつかの復号技術は、標準的なコード及び反射反転コードの両方を復号することを試みないことがあるが、他の実施例では、同時に両方を復号するように実行することができる。
いくつかの実施例では、繰り返しビットは光学コードと共に使用されてもよい。例えば、遮蔽回復の可能性を更に増加させるために、光学コードは繰り返しビットを利用することができる。
図10に示すように、光学コードは、コードスタイル及びデータペイロードによって規定される規則に従って配置又はレイアウトされた正方形モジュールのセットからなる矩形マトリックスであってもよい。
図11は、本開示の技術に従った、単一解像度光学コードを示す。単一解像度光学コードは、クワイエットゾーンを含まない少なくとも幅が5つのモジュール及び高さが5つのモジュールとすることができるが、0より大きな任意の数が可能である。いくつかの実施例では、コードのサイズに関して、絶対的上限は存在しない。
図12は、本開示の技術に従った、多重解像度光学コードを示す。多重解像度光学コードは、様々なサイズのモジュールで構成することができる。モジュールは、依然として形状が正方形であってもよく、特定の解像度のデータペイロードでは全てのモジュールが同じサイズであるように作成されてもよい。いくつかの実施例では、サイズに関する基準モジュールは、最大モジュールに関するものである。いくつかの実施例では、データペイロードは、モジュールサイズによって分類され、参照される。いくつかの実施例では、データペイロード1は、データペイロード3よりも大きいモジュールを有することになるデータペイロード2よりも大きいモジュールを有することができる。
いくつかの実施例では、多重解像度光学コードに対する最小サイズは、少なくとも幅が7つのモジュール及び高さが7つのモジュールであるが、0より大きい任意の数が可能である。いくつかの実施例では、多重解像度光学コードに対する最大サイズは存在しない。いくつかの実施例では、データペイロードの最大数は存在しない。いくつかの実施例では、コードは、サイズに関して15モジュールよりも大きくなくてもよく、2つのデータペイロードが典型的に使用される。
図12は、2つのペイロードを有する多重解像度コードに対する例示的なレイアウトを示す。図12では、最大モジュール、つまり最大距離から読み取ることができるものは、番号付けされたブロックによって示されている。モジュールの第2の解像度は、小文字のブロックによって示されている。このコードでは、データペイロード1及びデータペイロード2の両方が8ビットのサイズであるが、これは必要な条件ではない。各ペイロードのブロックサイズは、別のペイロードのブロックサイズから独立したものであってもよい。実際には、データペイロード1のブロックサイズは、任意の他のデータペイロードのブロックサイズ以下であってもよい。
いくつかの実施例では、光学コードのためのファインダ及びクロッキングパターンは、コードの発見及び物体の姿勢の正規化の両方に必要とされるモジュールの閾値を下回り、最小化又は低減するように選択されてもよい。いくつかの実施例では、このファインダ及びクロッキングパターンは、データ及び誤り訂正のコードスペースの割合がより高くなるように、サイズが縮小されてもよい。
図13及び図14は、光学コードのためのファインダ及びクロッキングパターンを示す。光学コードのファインダパターン角部は、クワイエットゾーンの反対の色とするか、又は常にクワイエットゾーンの反対の色である。クロッキングパターンは、上縁部に沿って配置することができ、白色及び暗いモジュールとの間で交互になる。この動作の例外は、モジュールの数の中で光学コードの幅が偶数になる場合である。この場合、中間の2つのモジュールが両方とも同じ色となる。いくつかの実施例では、ファインダ及びクロッキングパターン規則は、単一解像度及び多重解像度の光学コードの両方に適用される。多重解像度のコードについては、ファインダ及びクロッキングパターンは最大モジュールから作製することができる。
いくつかの実施例では、クワイエットゾーンは、光学コードの4つの辺全てに対して他のあらゆるマーキングがないようにしなければならない。ファインダパターンの幅は、少なくとも1つのモジュールであってもよいが、0より大きい任意の数が可能である。多重解像度コードに関して、幅は、少なくとも光学コードに含まれる最大モジュールサイズの幅とすることができる。反転されたコードスタイルに関して、コードの全てのモジュールは、クワイエットゾーンを含めて反転させることができ、クワイエットゾーンは、コードの周囲の明るいバンドになり、幅を少なくとも2モジュール増加させるが、0より大きい任意の数が可能である。
光学コードが再帰反射物品(例えば交通標識)に付着されると、背景は十分なファインダパターンとして機能することができる。そのような実施例では、追加のファインダパターンが必要でなくなり得る。光学コードは、再帰反射物品の外縁部上のファインダ及びクロッキングパターンを用いて作成することができる。
いくつかの実施例では、光学コードのための繰り返しビットパターンは、ブロックに冗長性を追加することによって、遮蔽の影響が閾値を下回って最小化するか、又は低減するように実装されてもよい。いくつかの実施例では、繰り返しビットは、特定のブロックに対してより高いレベルの遮蔽を可能にするように配置することができる。
図13~図14は、本開示の技術による、異なるクロッキングパターンを示す。図13は、偶数サイズのクロッキングパターンを示す。図14は、奇数サイズのクロッキングパターンを示す。
図15は、本開示の1つ以上の技術に従って、光学コードに含めることができる繰り返し(repeating)ビット又は反復(repetition)ビットを示す。例えば、図15は、反復ビットを使用する例を示す。図15では、データ及び誤り訂正ブロックからの特定のビットが繰り返され、パディングビットに使用される。これは、復号において、より高い潜在的遮蔽回復を可能にする効果を有する。
いくつかの実施例では、符号化手順は、1つ以上のコンピューティングデバイスによって実施することができる。符号化手順は、データを、光学コードに含まれるパターン又は他の視覚的特徴に変換することができる。以下の動作は、単一解像度の光学コードに関する符号化の一例を提供し、多重解像度は、データの各層に対してこの動作を繰り返すことによって作成することができる。
動作1:コード選択。コンピューティングデバイスは、例えば、データブロック及び誤り訂正ブロックの数などのパラメータ、又は任意の他の好適なパラメータに基づいて、光学コードを選択する。
動作2:データ符号化。コンピューティングデバイスは、数字又は他の値をバイナリビットストリームに変換し、ビットストリームを選択されたブロックサイズに分割する。
動作3:コンピューティングデバイスは、誤り訂正コードを計算することができ、これには、符号化されたデータに対する誤り訂正データブロックを計算することを含むことができる。
動作4:コンピューティングデバイスは、各ブロックからデータ及び誤り訂正コードを付加し、繰り返し又はパディングビットを追加することによって、最終メッセージを構成することができる。
動作5:最終メッセージに基づいて、コンピューティングデバイスは作製デバイスと連携して、マトリックス内にモジュールを配置することができる。コンピューティングデバイスは、作製デバイスに、ファインダ及びクロッキングパターンと共に、コードワードモジュールをマトリックス内に配置させることができる。いくつかの実施例においては、多重解像度の光学コードでは、ファインダ及びクロッキングパターンは最大モジュール上にのみ配置することができる。
いくつかの実施例では、符号化手順は、1つ以上の動作を含むことができる。例えば、コンピューティングデバイスは、所与の光学コードレイアウトに対して意図されたデータペイロードを判定することができる。符号化される数値は、大きなエンディアン2進数に変換することができる。次いで、コンピューティングデバイスは、データビットスペース全体が消費されるまで、この数値を先行するゼロで埋めることができる。
いくつかの実施例では、コンピューティングデバイスは、結果として得られたビットストリームを可変ビットコードワードに分割することができる。コンピューティングデバイスは、バージョンに必要な多数のデータコードワードを満たすように文字を埋めることができる。いくつかの実施例では、コンピューティングデバイスは、入力データ列を分析してそのコンテンツを判定し、本開示で説明するような各シーケンスを符号化するためのデフォルト又は他の適切な拡張チャネル解釈(Extended Channel Interpretation)(ECI)及び適切なモードを選択することができる。
いくつかの実施例では、コンピューティングデバイスは、誤り訂正コードワードを用いて符号化を実行することができる。コンピューティングデバイスは、1つ以上の動作を実行して、単一及び多重解像度の光学コードの両方に対してデータ及び誤り訂正コードワードを生成することができる。例えば、コンピューティングデバイスは、所与の光学コードレイアウトに対して意図されたデータペイロードを判定することができる。符号化される数字又は値は、コンピューティングデバイスによって大きなエンディアン2進数に変換することができる。この数字は、コンピューティングデバイスによって、データビットスペース全体が消費されるまで、先行するゼロで埋めることができる。
シンボル印刷及びマーキングのための様々な技術を本明細書で説明する。単一解像度の光学コードに関してのX寸法、例えばモジュールの幅は、パラメータを指定するユーザ又は機械で生成される入力によって指定することができ、これには読み取られることになる距離、固定物理サイズのシンボルに対して所望されるデータペイロード、使用されるスキャンニング技術、及びシンボルを製造するために使用される技術、又は任意の他の好適なパラメータが含まれるが、これらに限定されるものではない。Y寸法に関して、モジュールの高さは、いくつかの実施例ではX寸法に等しくてもよく、他の実施例では、X及びY寸法は異なっていてもよい。いくつかの実施例では、最小クワイエットゾーンに関して、コンピューティングデバイスは、(暗色に対する白色、及び非可視光スペクトルで)クワイエットゾーンを定義しなくてもよいが、他の場合では、最小1モジュールのかなりのゾーンが使用されてもよく、最小2モジュールのクワイエットゾーン又は1より大きい任意の他の数を使用することもできる。
多重解像度の光学コードに関してのX寸法、例えば最小モジュールの幅は、パラメータを指定するユーザ又は機械で生成される入力によって指定することができ、これには読み取られることになる距離、固定物理サイズのシンボルに対して所望されるデータペイロード、使用されるスキャンニング技術、シンボルを製造するために使用される技術、又は任意の他の好適なパラメータが含まれるが、これらに限定されるものではない。
いくつかの実施例では、それぞれのより大きいモジュールサイズクラスは、最小モジュールサイズの倍数であってもよい。利用されるモジュールサイズクラスの数は、光学コードに符号化されることになるデータの量、及び、より大きい距離で復号することができるより大きいモジュールクラスと、より高いデータ密度を含むことができるより小さいモジュールクラスとのバランスに基づいて生成することができる。いくつかの実施例では、コンピューティングデバイスは、任意の定義されたクラスサイズが可能であっても、2つのモジュールクラスサイズを判定することができる。Y寸法に関して、モジュールの高さは、いくつかの実施例では、所与のモジュールクラスX寸法と等しくてもよく、他の実施例では、X及びY寸法は異なっていてもよい。
いくつかの実施例では、クワイエットゾーンのサイズは、ファインダ、タイミング、及び他のオーバーヘッドモジュールといった、光学コードのコンピューティングデバイスによって利用される最大モジュールサイズに基づく。最小クワイエットゾーンは、1つのクラス1(最大)モジュールであってもよく、いくつかの実施例では、クワイエットゾーンバッファの2つのモジュールがあってもよい。他の実施例では、最小クワイエットゾーン及びクワイエットゾーンバッファのサイズは、ゼロより大きい任意の数であってもよい。
いくつかの実施例では、人間が読み取り可能か又は人間が解釈可能な記述が使用することができる。人間が解釈可能なとは、人間の理解を意図した形態であることを意味し得る。いくつかの実施例では、付随する人間が読み取り可能な記述は、光学コードに付随させることができる。しかしながら、他の実施例では、データ文字の人間が読み取り可能な解釈は、実用的ではない場合がある。代替として、文字通りのテキストではなく記述的テキストを光学コードに付随させることができる。文字サイズ及びフォントは指定されなくてもよく、メッセージは、光学コードを囲むエリア内の任意の場所に印刷することができる。いくつかの実施例では、人間が読み取り可能な解釈は、光学コード自体にもクワイエットゾーンに干渉しないことがあるが、印刷する場合には機能に干渉しない方法で、光学コード又はそのクワイエットゾーンの上又は下に印刷されてもよい。
いくつかの実施例では、シンボル品質パラメータを定義し、使用することができる。グリッド不均一性に関しては、グリッドを本開示で提供されるような基準復号アルゴリズムの使用によって配置される、ファインダパターン及びアラインメントパターンをアンカー点として使用することによって計算することができる。いくつかの実施例では、コンピューティングデバイスは、グリッドの均一性を評価するために、コードが曲面上に巻かれる場合に、画像を平坦化することができる。光学コードが曲面上に具現化される場合、グリッド不均一性の測定は、既に平坦化された画像上のコンピューティングデバイスによって実行されてもよい。
スキャングレードに関して、スキャングレードは、シンボルコントラスト、変調、固定パターン損傷、復号、軸方向不均一性、グリッド不均一性、及びシンボルの個々の画像内の未使用誤り訂正に対する最低のグレード(又は閾値未満)とすべきである。1つ以上の画像が分析される場合、全体のシンボルグレードは、個々のスキャンの平均とすることができる。
いくつかの実施例では、コンピューティングデバイスは、本明細書で説明するような1つ以上の復号動作を実行することができる。例えば、コンピューティングデバイスは、光学コードの画像を取得することができる。コンピューティングデバイスは、画像内の光学コードの位置を特定(例えば識別)し、明るいモジュール及び暗いモジュールを1(明るい)0(暗い)(又は反転されたコードに対してはその逆)に変換することができる。コンピューティングデバイスは、候補コードスタイルに対するファインダを探索することによって、コードサイズ/スタイルを識別することができる。コンピューティングデバイスは、コードレイアウトマップを使用してリードソロモンコードワードを抽出することができる。複数の解像度を含むスタイルに対して、コンピューティングデバイスは、1つ以上の定義された解像度でコードを再サンプリングし、1つ以上の定義されたレイアウトを使用して、追加のコードワードを抽出することができる。いくつかの実施例では、コンピューティングデバイスは、各抽出されたコード解像度に対する適切なコードワードサイズ及び誤り訂正レベルのためのリードソロモンデコーダを構成することができ、次いで、コンピューティングデバイスは、それぞれの誤りを検出し訂正することができる。コンピューティングデバイスは、本開示で説明する1つ以上の動作における更なる処理のために訂正可能であったか、又は訂正を必要としなかったペイロードを生成するか又は提供することができる。
図16は、本開示の技術による、基準復号アルゴリズムを示す。基準復号アルゴリズムは、認識されている光学コードを、周辺環境よりもコードを明るくするのに十分な光強度を有する撮像センサと並置された光源によって照明することができる、再帰反射パラダイムを実施することができる。
図16に示すように、基準復号は、クアッド抽出を含む1つ以上の動作を含むことができる。例えば、コンピューティングデバイスは、画像内の非再帰反射要素(太陽又は他の光源からの周囲照明)より明るい画像に対して、1つ又は複数の閾値(例えば、8ビットの画像に対して80、50、33)を判定することができる。コンピューティングデバイスは、この閾値を使用して、画像を閾値の上及び下の画素の2値画像(又は複数の画像)に変換することができる。反転されたコードの第2のパスに対して、コンピューティングデバイスは、8ビット画像に対する210、230の画素値閾値を使用することができる。
コンピューティングデバイスは、例えば3×3pxの矩形だが、0より大きい任意の数が可能である)小さいカーネルサイズを用いたモルフォロジカルオープンを実行して、画像内の点反射要素及び他の明るいアーチファクトを除去することができる。いくつかの実施例では、この動作は、反転されたコード探索を備えた第1のパスに対してはスキップされてもよい。コンピューティングデバイスは、モルフォロジカルクローズ動作を実行して、光学コードモジュールを単一のブロブに接続するか、又は反転されたコードで周囲の明るいクワイエットゾーン内の穴/欠陥を充填することができる。反転されたコードに対しては、画像が、光学コードが具現化されている物品の周囲の大部分に隣接するクワイエットゾーンを有することができるため、このカーネルサイズは、9×9px(だが0よりも大きい任意の数が可能である)などの小さいものとすることができる。反転されていないコードに対しては、コンピューティングデバイスは、異なるサイズ/スケール(例えば、15×15、45×45、90×90だが、0より大きい任意の数が可能である)で、複数のモルフォロジカルオープンのカーネルハンドルコードを使用することができる。
いくつかの実施例では、コンピューティングデバイスは、Ramer-Douglas-Peuckerアルゴリズムを使用して、輪郭を四辺形に再近似することができる。コンピューティングデバイスは、長い縁部を単一セグメント(例えば、輪郭周辺部の0.2%)に低減することができる近似精度(イプシロン)を使用することができる。いくつかの実施例では、(湾曲した角部を有する標識、クアッドとして良好に表されていない形状などの)4つより多くののセグメントが残っている場合、コンピューティングデバイスは、最も長い4つをそれらの交点の計算と共に使用して、境界クアッドを取り出すことができる。あるいは(又は加えて)、コンピューティングデバイスは、4つのセグメントのみが残る(より変化しやすいクアッド角部の選択をもたらす傾向がある境界ボックスの完了なしに、単独で使用される)まで、イプシロンを調整することができる。いくつかの実施例では、コンピューティングデバイスは、結果として得られた四辺形のアスペクト比(例えば、0.3~3)及び角部の角度(例えば、標準(角度)<10度)をチェックして、矩形と著しく異なる(例えば閾値より大きい)候補を破棄することができる。
いくつかの実施例では、基準復号アルゴリズムは、ブロブ抽出を実行することができる。例えば、コンピューティングデバイスは、四辺形の四辺形領域に対して、標準化されたサイズへのパースペクティブ変換を実行することができる(例えば、様々なコードサイズの縁部長さの公倍数、11×11及び9×9->99×99だが、0より大きい任意の数が可能である。反転されたコードを探索する場合、超過の解像度を提供して、物品上のモジュールに対して2ppmよりも著しく大きいことを確実にすることができる。例えばここでは297×297だが、0より大きい任意の数が可能であり得る)。8x8の近隣にわたるLanczos補間などのより高次の補間の使用により、コード縁部を保存することができる。
いくつかの実施例では、コンピューティングデバイスは、反転されたコードを探索する場合に使用することができる、第2の又は複数の追加のパスを実行してもよい。コンピューティングデバイスは、左縁部から幅の5%、右縁部から幅の5%、上部から高さの5%、底部からの高さの5%を切り取ることができる。現在の例では、5%は一例であるが、1%より大きい任意の他の割合(例えば、1%~25%の範囲)が使用されてもよい。コンピューティングデバイスは、画像からパーセンタイル値を5%減算する(コードを暗くする)ことができる。いくつかの実施例では、コンピューティングデバイスは、最大値及び最小値を0~255に正規化してもよい。コンピューティングデバイスは、1及び4×4のグリッドのクリップ限度を有するコントラスト制限適応ヒストグラム均一化を適用することができる。他の実施例では、クリップ限度及びグリッドサイズは、1より大きい任意の数であってもよい。コンピューティングデバイスは、画像を反転させる(255-(画素値))ことができる。コンピューティングデバイスは、各縁部上の55画素(又は、ゼロよりも大きい任意の他の好適な数)を、平均値(後にモルフォロジカルクローズに使用される最大のカーネルよりも大きい値)で埋めることができる。
コンピューティングデバイスは、クアッド及びブロブ抽出を繰り返して、ファインダ探索の次のフェーズに進むことができる。いくつかの実施例では、コンピューティングデバイスは、ブロブ抽出のために、クアッド抽出における閾値を210及び230の画素値で置き換えることができるが、0より大きい他の例示的な閾値が可能である。コンピューティングデバイスは、3×3のモルフォロジカルオープンのカーネルを使用することができるが、各寸法に対して0より大きい他の寸法が可能である。コンピューティングデバイスは、モルフォロジカルクローズに対するカーネルサイズを25×25、35×24、45×45で置き換えることができるが、サイズのそれぞれが0より大きい任意の他の寸法が可能である。コンピューティングデバイスは、ブロブ抽出のために108×108の出力ブロブサイズを使用することができるが、サイズのそれぞれが1より大きい任意の他の寸法が可能である。コンピューティングデバイスは、40のスペース及び色の両方に対して直径3(だが、0より大きい任意の直径が可能である)及びシグマを有する両面フィルタを適用してもよいが、0より大きい任意のシグマが可能であり得る。いくつかの実施例では、コンピューティングデバイスは、最大値及び最小値を0~255に正規化してもよい。コンピューティングデバイスは、画像を反転させる(例えば255-(画素値))ことができる。コンピューティングデバイスは、反転されたコードのみを探索する場合には、第1のパスからソースブロブを落とすことができる。
いくつかの実施例では、基準復号アルゴリズムは、ファインダ探索を実行することができる。例えば、コンピューティングデバイスによって実施されるファインダ検索は、探索している光学コード形状(例えば、11×11、9×9、N×N、又はN×M)に対してクアッドを補間し、閾値処理し、二値化し、異なる様々な回転のファインダモジュール構成と比較することができる。コンピューティングデバイスは、ファインダ領域に一致するモジュールの数によって候補をスコアリングすることができる。
いくつかの実施例では、基準復号アルゴリズムは、光学コードからデータを復号することができる。例えば、コンピューティングデバイスは、ファインダ探索からの最も高いか又は高いスコアリング候補(単数又は複数)からの2値化された画像を使用し、対応するコードレイアウトに従ってコードワードを抽出することができる。いくつかの実施例では、明るい区域はバイナリの1を反映し、暗い区域はゼロを反映している(反転されたコードでは、これは、元の画像キャプチャの反対である)。コンピューティングデバイスは、元の画像を補間し、存在するコードに任意で追加される解像度に対して2値化し、適切なレイアウトマップを使用してコードワードを抽出することができる。コンピューティングデバイスは、対応するコードスタイルのブロックサイズ(単数又は複数)、訂正可能なブロック(単数又は複数)に対するリードソロモン誤り訂正を構成し、本開示で説明するように誤り訂正を実行することができる。いくつかの実施例では、コンピューティングデバイスは、本開示で説明する1つ以上の動作で使用するための誤り訂正を使用して、正しい又は訂正可能なコードに対するペイロード(単数又は複数)を生成又は提供してもよい。
図17~図18は、本開示の技術に従った、物品上に具現化された光学コードのモジュールクリアランスを示す。図17は、縁部に1モジュールのクリアランスを有するサンプルの光学コードレイアウトを示す。図18は、代替の、ダイヤモンド型の物品形状(例えば、インフラストラクチャ物品)が45度反時計回りに回転したレイアウトを示す。
光学コードは、図17~図18に示すようなコードのクロッキングエッジが標識の上部に向かって向けられる(例えば図17の)ように、物品又は標識上に具現化されてもよい。いくつかの実施例では、これを行うことで、コンピューティングデバイスがシーン内のコードの位置を特定し復号するときに、追加の仮定を行うことができる。いくつかの実施例では、光学コードを標識縁部から最大1モジュール延ばすことができ、クワイエットゾーンを残しながらコード内のモジュールサイズを最大化する。いくつかの実施例では、最大及び/又は最小クワイエットゾーンは存在しない。
反転されたコードスタイルに対して、クワイエットゾーン/エッジクリアランスは、サイズを最低でも2モジュール増加させることができる。この構成では、最大クワイエットゾーンは存在しなくてもよいが、第1のパス中のブロブ抽出は、コードモジュールに対して複合のために十分な解像度(少なくとも2ppmだが潜在的にはより大きい)を残してもよい。
標識サイズに対するコードのサイズを最大にできるように、クロッキングエッジを標識の左上縁部と平行に向けることができるダイヤモンド形状の標識(図18の反時計回りに45度回転させたもの)を用いるなどの、いくつかの変形が可能である。しかしながら、光学コードを、回転されないレイアウトでの少なくとも1つのモジュールのクリアランス(上縁部に沿ったクロッキング)を有する標識上に配置することができる場合、これは、撮像性能を改善及び/又は最大化することができる。
いくつかの実施例では、コンピューティングデバイスは、誤り検出を実行するか、及び/又は訂正原始多項式を使用することができる。リードソロモン誤り訂正は、ガロア域(Galois Field)(gf)下で動作するように、コンピューティングデバイスによって実施することができる。光学コードは、この域をタイプgf(2m)にすることができる。いくつかの実施例では、mの値は、6又は8である。mは、0より大きい任意の値であってもよいが、6又は8などの値が、コード密度/コードサイズと復号偽陽性率との間のトレードオフとして選択されてもよい。いくつかの実施例では、mの値が増加するにつれて、光学コードのサイズがより大きくなり、復号の誤判定率はより低くなる。
表2は、最大gf(2
16)のフィールドサイズに対する原始多項式を提供する。
いくつかの実施例では、コンピューティングデバイスは、gf(2m)下でリードソロモン誤り訂正アルゴリズムを使用して、本開示の光学コードを符号化及び/又は復号することができる。リードソロモンコードを復号するための多数の潜在的アルゴリズムが存在する。以下の動作は、本開示によるコンピューティングデバイスによって使用される動作であるが、多くの他の動作が可能である。コンピューティングデバイスは、受信したコードワードメッセージ及び誤り訂正シンボルの数を所与として、シンドローム多項式を計算することができる。コンピューティングデバイスは、消去が取り扱われないと仮定し、元のシンドロームからForneyシンドロームを計算することができる。コンピューティングデバイスは、Berlekamp-Masseyアルゴリズムを使用して、誤りロケータ多項式を計算することができる。コンピューティングデバイスは、誤りロケータ多項式と共にChien探索アルゴリズムを使用して、誤り位置を計算することができる。誤り位置を所与として、コンピューティングデバイスは、誤りを解決し、結果として得られたデータを返すことができる。
図19は、本開示の技術に従った、固定パターン情報を有する光学コードを示す。光学コードへの固定パターン損傷には、以下の(a)2つのモジュールの左上のファインダパターン及び4つのクワイエットゾーンモジュール(ファインダ1L)、2つのモジュールの右上のファインダパターン及び4つのクワイエットゾーンモジュール(ファインダ1R)、左下の3つのモジュールのファインダパターン及び5つのクワイエットゾーンモジュール(ファインダ2L)、右下の3つのモジュールのファインダパターン及び5つのクワイエットゾーンモジュール(ファインダ2R)を含むファインダパターン、並びに(b)左のファインダと右のファインダとの間のモジュールのパターン化された行(クロッキング)を含むタイミング情報が含まれ、評価されるが、これに限定されるものではない。
固定パターン損傷等級付けに関して、固定パターンの各セグメントへの損傷は、そのセグメント内で不正確にスコアリングされたモジュールの数に基づいて、コンピューティングデバイスによって等級付けすることができる。続いて、全体の固定パターン損傷グレードは、任意の個々のセグメントの最低スコアに基づいて、コンピューティングデバイスによって割り当てることができる。
コンピューティングデバイスは、候補グレースケール画像に対して画像二値化を実行することができる。(最小グレースケール値と最大グレースケール値との間の中点に基づいて閾値を計算する。コンピューティングデバイスは、中点を上回るあらゆるものに対して1をスコアリングし、下回るあらゆるものに対して0をスコアリングすることができる)。
各セグメントに対して、スコアリングする以下の手順に従い、コンピューティングデバイスは、(a)所与のセグメントに対して、結果として得られる二値化されたモジュールを各モジュールに対する期待値と比較し、(b)不一致の数を計数し、(c)以下の表3にスコアリングされたような誤りの数に基づいてセグメントグレードを適用することができる。
いくつかの実施例では、スキャングレードは、ISO/IEC 15415に従って評価された標準パラメータに対するグレード、及び本開示に従って評価された固定パターン損傷に対するグレードのうちの最低のものとすることができる。
いくつかの実施例では、作業区域などの動的環境は、自律型又は半自律的型車両により大きな困難をもたらし得る。例えば、危険又は作業者は分単位又は時間単位で動的に再配置することができるので、強化されたマップ及びGPSに依拠するのにも限界があり得る。コンピューティングデバイス540は、自律型、半自律型、又は視覚支援型車両などの車両に実装されると、エリア内の他の物体又は遮蔽物によってコードの一部が視覚的に遮蔽された場合でも、そのような車両に確実に人々及びデバイスの位置を特定させ、そのようなエリアを通ってナビゲートすることを可能にする、本開示で説明するようなコードを有するリアルタイムのナビゲーションマーカーを提供することができる。いくつかの実施例では、本開示で説明するように、コードは人間の目には見えないが、市販のマシンセンサでは見て取れる光の特定の波長となっている。作業区域デバイスに取り付けることができるこれらの固有の機械可読コードは、精密な物体検出及び高速処理を提供することができ、自律型、半自律型、又は視覚支援型ナビゲーションを可能にする。このように、本開示で説明するコンピューティングデバイス及び画像キャプチャデバイスを含む車両は、1つ以上のコード内に符号化された情報を判定したことに応じて、動作を変更することができる。
いくつかの実施例では、本開示におけるそのようなコードを読み取るための機械可読光学コード及びシステムは、既存の統一交通管制装置便覧(Manual on Uniform Traffic Control Devices)(MUTCD)規則及び/又は従来の作業区域材料との適合性がある。いくつかの実施例では、本開示の機械可読光学コードは、車両をナビゲートするための他の手順(例えばGPS、地図など)よりも、より高速及び/又はより正確な検出及び処理を行うための情報を車両に提供することができる。いくつかの実施例では、汎用機械可読光学コードは、コードを具現化する物品のそれぞれの特定の種類に対して標準化されるか、又は一定にすることができる。いくつかの実施例では、特定の作業区域又は他の境界領域若しくはエリア内の異なる種類の物品に対して、異なった機械可読コードを使用することができる。いくつかの実施例では、機械可読コードは、人間若しくは作業者を表すように符号化された光学素子及び/又は情報に固有の空間構成を含むことができる。
いくつかの実施例では、位置特定データを、機械可読コードに符号化することができ、そのような位置特定情報は、物品又は物品の周囲エリアに関する局所的な特定の情報を示し、いくつかの実施例では、コードが位置する動的に変化する環境のためにGPS又はマップで利用できない場合がある。標識の分類及びデータ品質の改善に加えて、インフラストラクチャ物品は、高解像度マッピングによって提供される位置データを補完する機会を提供することができる。マ地図作成会社は、ドライバ及び自動運転車両による計画経路を支援し、道路上の車両に適切な位置を取らせるための、極めて詳細かつ動的なマップを作成している。現在の高解像度(high-definition)(HD)マッピングは、位置特定を提供するためのSIFT(Scale Invariant Feature Transform)(スケール不変特徴変換)特徴の連続的解析に依拠している。信頼性のある特徴を開発するために、データの高密度のマッピングが行なわれ、参照する車両がアクセス可能な方法で記憶されることがある。場合によっては、これは、時間がかかりかつ(経済的及び計算上の両方の点で)高価となる。場合によっては、SIFT特徴として使用されるランドマークが変化し、車両がそのSLAM(Simultaneous Localization and Mapping)(同時位置特定及びマッピング)を実行しようと試みている車両に困難を与えることもあり得る。
本開示の技術は、標識に情報を埋め込むことによって正確なGPS情報を与えることができ、計算費用を軽減し、並びにSIFT特徴を点群データと照合する際の曖昧さ、又は間違い易いアクションを低減することができる。
いくつかの光学コードは、高精度のGPS座標、並びに標識固有の識別子を含んでいてもよい。光学コード上のファインダ及びタイミングモジュールは、平面姿勢推定技術を用いた正確な読み取り距離ベクトル判定を可能にする。この距離ベクトルと復号されたGPS座標とを組み合わせたコンピューティングデバイスは、(例えば)GPSデータが信頼できない場合がある都市の谷間であっても、現在のGPS座標を比較し、提供し、オフセット/ドリフト/誤り訂正を行い、位置を特定するための基準位置を指定する。
一例として、車両マシンビジョンシステムは、標識の画像を、埋め込まれた光学コードを露出する赤外線光でキャプチャする。ファインダモジュールのサイズ及び傾きによって、コンピューティングデバイスによる正規化が可能となり、画像が正方形に戻される。モジュールのサイズは、分離された2つのファインダモジュール間に広がる多数の画素によって測定することができる。この画素カウントは、距離に比例している画素サイズと相関しており、画像の傾き量を基に、コンピューティングデバイスによるベクトル判定を可能にし、画素サイズは、標識までの特定の距離及び方向を伝える。標識位置の高精度のGPS座標、及びカメラがある場所の正確な投影により、カメラが車両上に配置された場所を車両が知っている限り、車両のGPS位置は、提供された標識GPS及び適切な並進ベクトルからコンピューティングデバイスによって判定することができる。
一意に識別された道路標識又は位置特定のための他の物品を使用することで、標識が座標位置及び標識IDを積極的に確認することができ、不正確か又は誤った照合が生じる可能性が低くなるので、SIFT特徴に関する信頼に対しても好ましいものとなる。点群データ又はスケール不変特徴リストは、実際には、それ自体の形状以外に任意かつ固有の識別子を有していない可能性がある。多くの場合、これでも車両にとって合理的で確実なものではあるが、地球上の特定の場所に相関する点又は特徴のセットを選択したかは確かではない。つまり、車両はおそらく正しく識別されているが、不正確である可能性も残されており、それは不正確な位置特定によって予想される特徴を車両が見逃し始めるまで分からないことになる。位置特定のために光学コードを使用する本開示の技術は、改善された信頼性及び/又は確実性を提供することができる。
固有のID並びに高精度の位置を有する標識又は他の物品を使用することにより、確認や、又は正しい標識を識別して、その位置が検証される追加の信頼できる情報を提供することができる。車両が標識に記憶されたGPS座標を使用する必要がない場合であっても、車両はGPS座標を予測されたSIFT特徴と照合させることができる。これにより、SIFT特徴に対するポジティブIDを提供することができ、関連性の信頼レベルを増加させることができる。いくつかの実施例では、セキュリティ要素を導入することで、特定の標識がそのとおりの正確な標識であり、誤っているか又は無効ではないことを証明することができる。
いくつかの実施例では、光学コードをグランドトルースの情報源として使用して、他のシステム又はモデルを訓練することができる。例示的モデルとしては、ニューラルネットワーク、SVM分類子、又は任意の他の指導型学習モデルが挙げられる。光学コードに符号化されたデータをグランドトルース情報として使用することで、そのようなモデルを変換することができる。一例として、位置特定データなどの光学コードからのデータは、任意の他の特徴と共に特徴ベクトル内で構造化され、例えば画像データを分類するために使用されてもよい。例示的な分類には、画像データが特定の道路標識を示すか否かを分類することが含まれる。モデルに適用される特徴ベクトルにグランドトルース情報を含めることによって、モデルは、特定の道路標識を含む画像データをより正確に分類することができる。デジタル化された特定のデータ(例えば何らかのECCを有する光学コードデータ)をデジタル化されていない特定のデータ(例えば不完全に解像された画像データ)と併せて使用することで、デジタル化されていない特定のデータの分類を改善することができる。道路標識に関する画像データを分類する文脈で説明しているが、光学コードからのグランドトルースを使用する技術によって、デジタル化されていない特定のデータに対する分類子をより正確にするためにデジタル化された特定のデータを使用する任意のシナリオを、より幅広く適用することができる。そのような技術は、分類子に追加の信号を提供するか、又は分類子の結果が正しいことを検証するためのチェックとして機能することができる。
本開示は、既存のバーコード技術に対する様々な利点を提供することができる。例えば、本開示は、バーコードの一部分が遮蔽された場合であっても、マシンビジョンシステムによって情報をバーコードから読み取ることができる。これは、バーコードを含む標識又は物品が損傷していたり、又は標識の視認性が、汚れ、雪、他の干渉物体、若しくは道路の自然な湾曲によって妨げられる状況において利点を提供する。具体的には、本開示は、コードの縁部全体が遮蔽された場合であっても、縁部遮蔽から回復する能力を提供する。これは、コードのエリア全体にわたってランダム又は分散された誤りに対処するように設計された誤り訂正とは対照的である。縁部遮蔽から回復する能力を有することにより、コードが標識上のコード又は交通の文脈で使用され得るように、コードを読み取る際の遮蔽又は誤りがコードの単一のエリアに集中する可能性が最も高い環境における有効な解決策を提供する。
一例では、本開示は、誤り訂正を伴う2次元機械可読光学コードを含む。光学コードは、行及び列を含むマトリックス構成で配置された複数の光学素子を備え、複数の光学素子はデータを符号化する。マトリックスの最上行、最下行、右列、又は左列のいずれか1つが遮蔽されている場合でも、光学素子内に符号化されたデータは正確に復号することができる。
場合によっては、複数の光学素子は、複数のファインダ光学素子を含み、ファインダ光学素子は、マシンビジョンシステムが画像内の光学コードの位置を特定することを可能にする。場合によっては、光学コードは、36個未満のファインダ光学素子を含む。
場合によっては、複数の光学素子は、コンテキスト情報を表す複数のコンテキスト光学素子を更に含み、コンテキスト光学素子は、マシンビジョンシステムによって第1の距離から検出可能である。
場合によっては、複数は、コンテンツ情報を表す複数のコンテンツ光学素子を更に含み、コンテンツ光学素子は、マシンビジョンシステム及び第1の距離では検出できないが、マシンビジョンシステムによって第2の距離から検出可能であり、第2の距離は第1の距離未満である。
場合によっては、コンテキスト光学素子及びコンテンツ光学素子は、リードソロモン誤り訂正を可能にするように配置される。
場合によっては、光学コードは、少なくとも736ビットのデータを表す。
場合によっては、コンテンツ光学素子は、指示情報を含む。
場合によっては、コンテキスト光学素子は、設置、位置、又は製造業者の情報を含む。
別の実施形態では、本開示は、本明細書で説明するような、基材と、フィルム層と、光学コードと、を備える標識を含む。場合によっては、標識は再帰反射層を更に備える。
別の実施形態では、本開示は、2次元機械可読光学コードを読み取るためのシステムを含む。システムは、標識を備える。標識は、基材と、2次元機械可読光学コードと、を含む。光学コードは、行及び列を含むマトリックス構成で配置された複数の光学素子を含み、複数の光学素子は、データを符号化し、マトリックスの最上行、最下行、右列、又は左列のいずれか1つが遮蔽されている場合でも、光学素子内に符号化されたデータは正確に復号することができる。システムは、2次元機械可読光学コードを検出し処理するためのマシンビジョンシステムを更に備える。
別の実施形態では、本開示は、誤り訂正を伴う2次元機械可読光学コードを読み取る方法を含む。方法は、マシンビジョンシステムによって、行及び列を含むマトリックス構成で配置された複数の光学素子を検出し、複数の光学素子がデータを符号化することを含み、複数の光学素子を検出することとでも、光学素子内に符号化されたデータは正確に復号することができ、マトリックスの最上行、最下行、右列、又は左列のいずれか1つが遮蔽されている場合でも、光学素子内に符号化されたデータは正確に復号することができる。
場合によっては、複数の光学素子は、複数のファインダ光学素子を含み、ファインダ光学素子は、マシンビジョンシステムが画像内の光学コードの位置を特定することを可能にする。
場合によっては、光学コードは、36個未満のファインダ光学素子を含む。
場合によっては、複数の光学素子は、コンテキスト情報を表す複数のコンテキスト光学素子であって、コンテキスト光学素子は、第1の距離からマシンビジョンシステムによって検出可能である、複数のコンテキスト光学素子、及びコンテンツ情報を表す複数のコンテンツ光学素子を更に含み、コンテンツ光学素子は、マシンビジョンシステム及び第1の距離では検出できないが、第2の距離からマシンビジョンシステムによって検出可能であり、第2の距離は第1の距離未満である。
場合によっては、コンテキスト光学素子及びコンテンツ光学素子は、リードソロモン誤り訂正を可能にするように配置される。
場合によっては、光学コードは、7x7のサイズを有し、少なくとも63ビットのデータを表す。
場合によっては、コンテンツ光学素子は、指示情報を含む。
場合によっては、コンテキスト光学素子は、設置、位置、又は製造業者の情報を含む。
場合によっては、標識は、再帰反射層を更に備える。
バーコードは、様々な車両用途で使用されてきた。車両用途で使用される場合、バーコードは、ライセンスプレート又は標識上で利用可能である。バーコードはマシンビジョンシステムで読み取ることができ、場合によっては自動車両認識(automatic vehicle recognition)(AVR)システムでも可能となる。そのようなシステムの例示的な使用法は、例えば、自動料金徴収(例えば電子料金徴収システム)、交通法取締り(例えば赤信号通過システム、速度取締りシステム)、輸送インフラストラクチャの交通標識又は他の要素の情報の検出、犯罪に関連する車両の捜査、アクセス制御システム、及び施設アクセス制御である。理想的なマシンビジョンシステムは、高精度な(すなわち100%正確な)結果を提供し、高精度で一定距離からバーコードを読み取ることができる。
ライセンスプレート、標識、又は任意の他の制御されていない環境上のバーコードを読み取ることは、(1)ライセンスプレート材料又は標識の様々な反射特性、(2)マシンビジョンシステムの様々な解像度、(3)バーコードを有する物体と比較したマシンビジョンシステムが搭載された物体の相対速度、(4)周囲照明の幅広い変化、(5)ライセンスプレート又は標識の取り付け位置及び/又は傾斜、(6)例えば他の車両、汚れ、雪、道路上の物品、自然障壁によるライセンスプレート又は標識の遮蔽、(7)道路の垂直又は水平の湾曲など、を含む様々な困難をもたらす。
標識及びライセンスプレート上のバーコードは、多数の特許及び出願に記載されている。いくつかの公報(例えば、欧州特許公開第0416742号、及び米国特許第6,832,728号)では、ナンバープレートの機械可読部分に、所有者情報、シリアル番号、車両タイプ、車両重量、プレート番号、州、プレートタイプ、及び郡のうちの1以上を含めることについて論じている。国際公開第2013/149142号では、フレーミング情報及び可変情報が、2つの相異なる条件の下で得られるバーコードについて論じている。いくつかの実施形態においては、フレーミング情報は、人間により可読な情報によって提供され、可変情報は、機械可読情報によって提供される。欧州特許公開第0416742号、米国特許第6,832,728号、及び国際公開第2013/149142号は全て、その全体が本明細書に組み込まれている。
高コントラストライセンスプレート及び標識を作製するいくつかの従来技術の方法は、赤外波長範囲で吸収され、可視波長範囲で透過する材料を含むことを伴う。例えば、米国特許第6,832,728号には、可視透過、赤外不透明インデイシアムを含むライセンスプレートが記載されている。米国特許第7,387,393号には、ライセンスプレートにコントラストを生み出す赤外遮断材料を含むライセンスプレートが記載されている。米国特許第3,758,193号には、再帰反射性シートにおいて使用される赤外透過、可視吸収の材料が記載されている。米国特許第3,758,193号及び同第7,387,393号の全体は、参照により本明細書に組み込まれる。
それぞれ2017年4月14日に出願された代理人整理番号76350US003及び78874US003によって識別される米国特許仮出願の全体は、参照により本明細書に組み込まれる。
ALPRシステムで使用するための高コントラストライセンスプレートを作製する別の方法が、米国特許出願公開第2010-0151213号に記載されており、この方法は、赤外反射材料を光学活性(例えば、反射性又は再帰反射性)基板に隣接して配置し、それにより、光学活性基板が赤外放射線源によって照明されたときに、赤外反射材料が、赤外センサによって読み取り可能なパターンを形成することを伴う。米国特許出願公開第2010-0151213号の全体は、参照により本明細書に組み込まれる。本開示で説明するように、誤り訂正のレベル及び設計は、バーコード自体を依然として読み取ることができながら、コードのどれくらいが、妨げられた視線で損なわれるか、又は別の方法で不明瞭化若しくは難読化されるかを決定することができる。
コンテンツ光学素子及びコンテキスト光学素子を入れ子にするための特定の方法を本明細書で説明しているが、本開示の範囲内の他の方法は、本開示を閲読することで当業者には明らかになるであろう。
上述した実施形態のいずれかに関連して説明した特徴は、異なる実施形態の間で互換的に適用可能であり得ることは、当業者には明らかであろう。上述した実施形態は、本開示の様々な特徴を例示するための実施例である。
本明細書の説明及び特許請求の範囲の全体を通して、語句「備える/含む(comprise)」及び「含む(contain)」、並びにそれらの変形は、「含むが、これらに限定されない(including but not limited to)」を意味し、それらは、他の部分、添加物、構成要素、整数、又は工程を除外することを意図するものではない(及び除外しない)。本明細書の説明及び特許請求の範囲の全体を通して、単数形は、文脈がそうでないことを必要としない限り、複数を包含する。特に、不定冠詞が使用される場合、本明細書は、文脈がそうでないことを必要としない限り、複数並びに単数を意図するものとして理解されるべきである。
本開示の特定の態様、実施形態、又は実施例に関連して記載される特徴、整数、特性、又は群は、不適合でない限り、本明細書に記載の任意の他の態様、実施形態、又は実施例に適用可能であると理解されるべきである。本明細書(あらゆる添付の特許請求の範囲、要約書及び図面を含む)に開示される特徴の全て、及び/又は、同様に開示される任意の方法若しくはプロセスの工程の全ては、そのような特徴及び/又は工程の少なくとも一部が互いに排他的である組み合わせを除いて、任意の組み合わせで組み合わせることができる。本開示は、あらゆる前述の実施形態の詳細に限定されない。本開示は、本明細書(あらゆる添付の特許請求の範囲、要約書及び図面を含む)に開示される特徴の任意の新規な1つ若しくは任意の新規な組み合わせ、又は、同様に開示される任意の方法若しくはプロセスの工程の任意の新規な1つ若しくは任意の新規な組み合わせ、に及ぶ。
1つ以上の実施例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせにより実現してよい。ソフトウェアで実現された場合、これらの機能は、1つ以上の命令又はコードとして、コンピュータ可読媒体に記憶し、又はそれを介して送信し、ハードウェアベースの処理ユニットによって実行することができる。コンピュータ可読媒体としては、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、又は、例えば、通信プロトコルに従って1つの場所から別の場所へのコンピュータプログラムの伝送を促進する任意の媒体を含む通信媒体を挙げることができる。このようにして、コンピュータ可読媒体は、一般的に(1)非一時的な有形コンピュータ可読記憶媒体、又は(2)信号若しくは搬送波などの通信媒体に対応してよい。データ記憶媒体は、本開示で説明する技術の実現のための命令、コード、及び/又はデータ構造を取得するために、1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスすることができる、任意の利用可能な媒体であってよい。コンピュータプログラム製品は、コンピュータ可読媒体を含んでよい。
例として、このようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROM、若しくはその他の光ディスクストレージ、磁気ディスクストレージ、若しくはその他の磁気ストレージデバイス、フラッシュメモリ、又は、命令若しくはデータ構造の形態で所望のプログラムコードを格納するのに用いることができると共に、コンピュータによってアクセスできる他の任意の媒体を含むことができるが、これに限定されるものではない。また、任意の接続は、コンピュータ可読媒体と適切に呼ばれる。例えば、命令が同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(digital subscriber line)(DSL)、又は、赤外、無線通信、及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、又は、赤外、無線通信、及びマイクロ波などの無線技術は、媒体の定義に含まれる。しかし、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一過性媒体を含まず、代わりに、非一過性の有形記憶媒体を対象としていることを理解されたい。Disk及びdiscは、本明細書で使用する場合、コンパクトディスク(compact disc、CD)、レーザディスク、光ディスク、デジタル多用途ディスク(digital versatile disc、DVD)、フロッピーディスク、及びブルーレイディスクを含み、disksは一般的に、データを磁気的に再生し、またdiscsは、データをレーザによって光学的に再生する。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれなければならない。
命令は、1つ以上のデジタル信号プロセッサ(digital signal processors)(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(application specific integrated circuits)(ASIC)、フィールドプログラマブル論理アレイ(field programmable logic arrays)(FPGA)、又は他の同等な集積若しくはディスクリート論理回路などの、1つ以上のプロセッサによって実行することができる。したがって、使用する場合「プロセッサ」という用語は、前述の構造のうちのいずれか、又は説明した技術の実装に適した任意の他の構造を指してよい。加えて、いくつかの態様では、説明した機能は、専用のハードウェア及び/又はソフトウェアモジュール内に設けられてよい。また、当該技術は、1つ以上の回路又は論理素子に完全に実装することができる。
本開示の技術は、無線ハンドセット、集積回路(integrated circuit、IC)、又はICのセット(例えばチップセット)を含む、多様なデバイス又は装置に実装することができる。開示された技術を実行するように構成されたデバイスの機能的な態様を強調するために、様々なコンポーネント、モジュール、又はユニットを本開示で説明したが、様々なハードウェアユニットによる具現化が必ずしも必要ではない。むしろ、上述したように、様々なユニットは、好適なソフトウェア及び/又はファームウェアと併せて、上述したような1つ以上のプロセッサを含む、ハードウェアユニット内で組み合わされるか、又は相互動作するハードウェアユニットの集合によって提供されてよい。
実施例によっては、本明細書で説明した方法のいずれかの特定の行為又はイベントは、異なる順序で実行することができ、共に加え、結合し、又は省略することができる(例えば、説明した行為又はイベントの全てが方法の実践のために必要ではない)ことを認識されたい。更に、特定の実施例では、行為又はイベントは、順次ではなく、例えば、マルチスレッド処理、割込処理、又は複数のプロセッサにより、同時に実行することができる。
いくつかの実施例では、コンピュータ可読記憶媒体は、非一時的媒体を含む。用語「非一時的」とは、いくつかの実施例では、記憶媒体が搬送波又は伝搬信号で具現化されていないことを示す。特定の実施例では、非一時的記憶媒体は、経時的に変化し得るデータを(例えばRAM又はキャッシュに)記憶する。
様々な実施例を説明してきた。これらの及び他の実施例は、以下の特許請求の範囲内である。 なお、以上の各実施例に加えて以下の態様について付記する。
(付記1)
物理的表面を含む基材と、
前記物理的表面上に具現化された複数の光学素子セットとを備える物品であって、前記複数の光学素子セットのそれぞれの光学素子セットは、複数の光学素子を含み、
それぞれの対応する光学素子は、符号化された値のセット内の符号化された値を表し、前記符号化された値のセットは、前記対応する光学素子の視覚的区別の可能性に基づいて区別可能であり、それぞれの対応する光学素子セットは、前記複数の光学素子セットのうちの1つ以上が視覚的に遮蔽されている場合に、メッセージを復号する前記メッセージの少なくとも一部分又は誤り訂正データを表し、及び
前記メッセージ及び誤り訂正データのための前記光学素子セットは、マトリックス内の前記物理的表面に空間的に構成され、これにより、視覚的に遮蔽された前記マトリックスの少なくとも1つの完全な縁部内に配置された光学素子なしに、前記メッセージが前記基材から復号可能である、
物品。
(付記2)
前記少なくとも1つの完全な縁部は、前記マトリックスの少なくとも水平方向又は垂直方向の、最低順序のインデックスから最高順序のインデックスまでの1次元配列を含む、付記1に記載の物品。
(付記3)
前記複数の光学素子セットが、QRコードに含まれない、付記1に記載の物品。
(付記4)
前記複数の光学素子セットに含まれる親光学素子セットは、少なくとも1つの親光学素子を含み、前記親光学素子は、子光学素子セットを更に含み、前記子光学素子セットは、対応する光学素子のセットを含む、付記1に記載の物品。
(付記5)
前記親光学素子の前記少なくとも1つの光学素子に対応する第1の符号化された値は、閾値距離以上の、画像キャプチャデバイスと前記物品との間の距離で復号可能であり、及び
前記子光学素子セット内の前記光学素子のセットにそれぞれ対応する子の符号化された値は、前記画像キャプチャデバイスと前記物品との間の前記距離で復号可能ではない、付記4に記載の物品。
(付記6)
前記距離は、第1の距離であり、前記子光学素子セット内の前記光学素子のセットにそれぞれ対応する前記子の符号化された値は、前記画像キャプチャデバイスと前記物品との間の第2の距離で復号可能であり、前記第2の距離は、前記第1の距離未満である、付記5に記載の物品。
(付記7)
前記閾値距離は、前記画像キャプチャデバイスによってキャプチャされた画像の解像度が、視覚的に異なる前記子光学素子セットの1つ以上の光学素子間で、区別の可能性の閾値を上回り、視覚的に区別されない距離である、付記5に記載の物品。
(付記8)
前記符号化された値のセットが、N個の符号化された値を含み、光学素子セットが、M個の光学素子を含み、光学素子セットが、前記光学素子セットの対応する光学素子に割り当てられた対応する視覚階調度値に少なくとも部分的に基づいて、符号化された値のNMの組み合わせのセットの符号化された値の組み合わせを表し、前記対応する階調度値はそれぞれ、M個の視覚的に区別可能な階調度値のセットに含まれる、付記1に記載の物品。
(付記9)
前記誤り訂正データが、前記メッセージに対する誤り訂正関数の適用に基づく、付記1に記載の物品。
(付記10)
前記複数の光学素子セットが、第1の複数の光学素子セットであり、
前記複数の光学素子セット内の第1の光学素子セットのそれぞれの光学素子は、第1のサイズであり、
前記複数の光学素子内の第2の光学素子セットの各光学素子は、前記第1のサイズよりも小さい第2のサイズであり、及び
前記第1及び第2の光学素子セットは、重なり合わない、付記1に記載の物品。
(付記11)
前記第1の複数の光学素子が、前記物品を説明するコンテキスト情報を表し、
前記第2の複数の光学素子が、前記コンテキスト情報を説明するコンテンツ情報を表す、付記10に記載の物品。
(付記12)
前記複数の光学素子は、複数のファインダ光学素子を含み、前記ファインダ光学素子は、マシンビジョンシステムが画像内の前記光学コードの位置を特定することを可能にする、付記1に記載の物品。
(付記13)
前記物品が、交通標識、ライセンスプレート、衣類、又はデカールのうちの少なくとも1つを備える、付記1に記載の物品。
(付記14)
コンピューティングデバイスによって、物理的表面を含む基材を有する物品の画像を受信することであって、
複数の光学素子セットが前記物理的表面上に具現化され、前記複数の光学素子セットのそれぞれの光学素子セットは、複数の光学素子を含み、
それぞれの対応する光学素子は、符号化された値のセット内の符号化された値を表し、前記符号化された値のセットは、前記対応する光学素子の視覚的区別の可能性に基づいて区別可能であり、それぞれの対応する光学素子セットは、前記複数の光学素子セットのうちの1つ以上が視覚的に遮蔽されている場合に、メッセージを復号する前記メッセージの少なくとも一部分又は誤り訂正データを表し、
前記メッセージ及び誤り訂正データのための前記光学素子セットは、マトリックス内の前記物理的表面に空間的に構成され、視覚的に遮蔽されたマトリックスの少なくとも1つの完全な縁部内に配置された光学素子なしに、前記メッセージが前記基材から復号可能である、ことと、
前記コンピューティングデバイスによって、前記視覚的に遮蔽されたマトリックスの少なくとも1つの完全な縁部の前記画像からの誤り訂正データに少なくとも部分的に基づいて、前記メッセージを復号することと、
を含む方法。
(付記15)
前記少なくとも1つの完全な縁部は、前記マトリックスの少なくとも水平方向又は垂直方向の、最低順序のインデックスから最高順序のインデックスまでの1次元配列を含む、付記14に記載の方法。
(付記16)
前記複数の光学素子セットが、QRコードに含まれない、付記14に記載の方法。
(付記17)
前記マトリックスの前記少なくとも1つの完全な縁部が視覚的に遮蔽されていることを判定することを更に含み、前記メッセージを復号することが、前記複数の光学素子セットに含まれる少なくとも1つの光学素子セットなしに前記メッセージを復号することを更に含み、前記少なくとも1つの光学素子セットが、前記マトリックスの前記少なくとも1つの完全な縁部に含まれる少なくとも1つの光学素子を有する、付記14に記載の方法。
(付記18)
前記メッセージを復号することが、
前記画像内の対応する光学素子セットの対応する既定の位置を示す光学素子セット位置データに少なくとも部分的に基づいて、光学素子セットを判定することと、
前記光学素子セット内の対応する光学素子の対応する既定の位置を示す光学素子位置データに少なくとも部分的に基づいて、前記対応する光学素子のそれぞれに対する対応する階調度値を判定することと、
階調度値と符号化された値との間のマッピングに少なくとも部分的に基づいて、前記メッセージの少なくとも一部分を判定することと、
を更に含む、付記14に記載の方法。
(付記19)
前記複数の光学素子セットに含まれる親光学素子セットが、少なくとも1つの親光学素子を含み、前記親光学素子が、子光学素子セットを更に含み、前記子光学素子セットが、対応する光学素子のセットを含む、付記14に記載の方法。
(付記20)
前記親光学素子の前記少なくとも1つの光学素子に対応する第1の符号化された値が、閾値距離以上の、画像キャプチャデバイスと前記物品との間の距離で復号可能であり、
前記子光学素子セット内の前記光学素子のセットにそれぞれ対応する子の符号化された値は、前記画像キャプチャデバイスと前記物品との間の前記距離で復号可能ではない、付記19に記載の方法。
(付記21)
前記距離は、第1の距離であり、前記子光学素子セット内の前記光学素子のセットにそれぞれ対応する前記子の符号化された値は、前記画像キャプチャデバイスと前記物品との間の第2の距離で復号可能であり、前記第2の距離は、前記第1の距離未満である、付記20に記載の方法。
(付記22)
前記閾値距離は、前記画像キャプチャデバイスによってキャプチャされた画像の解像度が、視覚的に異なる前記子光学素子セットの1つ以上の光学素子間で、区別可能性の閾値を上回り、視覚的に区別されない距離である、付記20に記載の方法。
(付記23)
前記符号化された値のセットが、N個の符号化された値を含み、光学素子セットが、M個の光学素子を含み、光学素子セットが、前記光学素子セットの対応する光学素子に割り当てられた対応する視覚階調度値に少なくとも部分的に基づいて、符号化された値のNMの組み合わせのセットの符号化された値の組み合わせを表し、前記対応する階調度値はそれぞれ、M個の視覚的に区別可能な階調度値のセットに含まれる、付記14に記載の方法。
(付記24)
誤り訂正データに少なくとも部分的に基づいて前記メッセージを復号することが、複数の光学素子セットの全てよりも少ないものに誤り訂正関数を適用することを含み、前記誤り訂正データが、前記メッセージに対する誤り訂正関数の適用に基づく、付記14に記載の方法。
(付記25)
前記複数の光学素子セットが、第1の複数の光学素子セットであり、
前記複数の光学素子セット内の第1の光学素子セットの各光学素子は、第1のサイズであり、
前記複数の光学素子内の第2の光学素子セットの各光学素子は、前記第1のサイズよりも小さい第2のサイズであり、
前記第1及び第2の光学素子セットは、重なり合わない、付記14に記載の方法。
(付記26)
前記第1の複数の光学素子が、前記物品を説明するコンテキスト情報を表し、及び
前記第2の複数の光学素子が、前記コンテキスト情報を説明するコンテンツ情報を表す、付記25に記載の方法。
(付記27)
前記第1の複数の光学素子が、前記物品を説明するコンテキスト情報を表し、及び
前記第2の複数の光学素子が、前記コンテキスト情報を説明するコンテンツ情報を表す、付記14に記載の方法。
(付記28)
前記物品が、交通標識、ライセンスプレート、衣類、又はデカールのうちの少なくとも1つを備える、付記14に記載の方法。
(付記29)
前記メッセージに少なくとも部分的に基づいて、少なくとも1つの動作を実行することを更に含む、付記14に記載の方法。
(付記30)
前記少なくとも1つの動作が、
出力するためにアラートを生成すること、
出力するためにレポートを生成すること、
前記メッセージを記憶すること、又は、
車両の前記動作を変更すること、
のうちの少なくとも1つを含む、付記29に記載の方法。
(付記31)
前記コンピューティングデバイスが車両内に含まれる、付記14に記載の方法。
(付記32)
1つ以上のコンピュータプロセッサと、
前記1つ以上のコンピュータプロセッサによって実行されると、前記1つ以上のコンピュータプロセッサに付記14~31のいずれかに記載の方法を実行させる命令を含むメモリ、を備えるコンピューティングデバイス。
(付記33)
実行されると、コンピューティングデバイスの少なくとも1つのプロセッサに、付記14~31のいずれか一項に記載の方法を実行させる命令が符号化された、非一時的コンピュータ可読記憶媒体。
(付記34)
付記14~31のいずれか一項に記載の方法を実行する手段を備える装置。
(付記35)
画像キャプチャデバイスと、
前記画像キャプチャデバイスと通信可能に結合されたコンピューティングデバイスと、を備えるシステムであって、前記コンピューティングデバイスは、1つ以上のコンピュータプロセッサと、命令を含むメモリとを含み、前記命令は、前記1つ以上のコンピュータプロセッサによって実行されると、前記1つ以上のコンピュータプロセッサに、
物理的表面を含む基材を有する物品の画像を受信させ、
複数の光学素子セットが前記物理的表面上に具現化され、前記複数の光学素子セットのそれぞれの光学素子セットは、複数の光学素子を含み、
それぞれの対応する光学素子は、符号化された値のセット内の符号化された値を表し、前記符号化された値のセットは、前記対応する光学素子の視覚的区別の可能性に基づいて区別可能であり、それぞれの対応する光学素子セットは、前記複数の光学素子セットのうちの1つ以上が視覚的に遮蔽されている場合にメッセージを復号する前記メッセージ又は誤り訂正データの少なくとも一部分を表し、
前記メッセージ及び誤り訂正データのための前記光学素子セットは、マトリックス内の前記物理的表面に空間的に構成され、視覚的に遮蔽されたマトリックスの少なくとも1つの完全な縁部内に配置された光学素子なしに、前記メッセージが前記基材から復号可能であり、
前記視覚的に遮蔽されたマトリックスの少なくとも1つの完全な縁部が前記画像から誤り訂正データに少なくとも部分的に基づいて、前記メッセージを復号させる、システム。
(付記36)
前記メモリが、前記1つ以上のコンピュータプロセッサによって実行されると、前記1つ以上のコンピュータプロセッサに付記15~31のいずれか一項に記載の方法を実行させる命令を含む、付記35に記載のシステム。
(付記37)
物理的表面を含む基材を有する物品を作製する方法であって、
複数の光学素子セットを規定する印刷仕様を受信することであって、前記複数の光学素子セットの各光学素子セットは、複数の光学素子を含み、それぞれの対応する光学素子は、符号化された値のセット内の符号化された値を表し、前記符号化された値のセットは、前記対応する光学素子の視覚的区別の可能性に基づいて区別可能であり、それぞれの対応する光学素子セットは、前記複数の光学素子セットのうちの1つ以上が視覚的に遮蔽されている場合にメッセージを復号する前記メッセージ又は誤り訂正データの少なくとも一部分を表す、ことと、
前記印刷仕様に少なくとも部分的に基づいて、前記マトリックス内の前記物理的表面において空間的構成内の前記メッセージ及び誤り訂正データを備えた前記光学素子セットを有する前記物品を作製することとを含み、視覚的に遮蔽されたマトリックスの少なくとも1つの完全な縁部内に配置された光学素子なしに、前記メッセージが前記基材から復号可能である、
方法。