(57)【要約】  いくつかの実施例では、物品は、基材と、基材上に具現化された複数の光学素子セットと、を含み、各光学素子セットは、複数の光学素子を含み、それぞれの対応する光学素子は、符号化された値のセット内の符号化された値を表し、符号化された値のセットは、対応する光学素子の視覚的な区別の可能性に基づいて区別可能であり、それぞれの対応する光学素子セットは、複数の光学素子セットのうちの１つ以上が視覚的に遮蔽されている場合にメッセージを復号するメッセージ又は誤り訂正データの少なくとも一部分を表し、メッセージ及び誤り訂正データのための光学素子セットは、マトリックス内の物理的表面において空間的に構成され、これにより、視覚的に遮蔽されたマトリックスの少なくとも１つの完全な縁部内に配置された光学素子なしに、メッセージが基材から復号可能となる。
2019537098.tif 000002
【特許請求の範囲】
【請求項１】
物理的表面を含む基材と、
前記物理的表面上に具現化された複数の光学素子セットとを備える物品であって、前記複数の光学素子セットのそれぞれの光学素子セットは、複数の光学素子を含み、
それぞれの対応する光学素子は、符号化された値のセット内の符号化された値を表し、前記符号化された値のセットは、前記対応する光学素子の視覚的区別の可能性に基づいて区別可能であり、それぞれの対応する光学素子セットは、前記複数の光学素子セットのうちの１つ以上が視覚的に遮蔽されている場合に、メッセージを復号する前記メッセージの少なくとも一部分又は誤り訂正データを表し、及び
前記メッセージ及び誤り訂正データのための前記光学素子セットは、マトリックス内の前記物理的表面に空間的に構成され、これにより、視覚的に遮蔽された前記マトリックスの少なくとも１つの完全な縁部内に配置された光学素子なしに、前記メッセージが前記基材から復号可能である、
物品。
【請求項２】
前記少なくとも１つの完全な縁部は、前記マトリックスの少なくとも水平方向又は垂直方向の、最低順序のインデックスから最高順序のインデックスまでの１次元配列を含む、請求項１に記載の物品。
【請求項３】
前記複数の光学素子セットが、ＱＲコードに含まれない、請求項１に記載の物品。
【請求項４】
前記複数の光学素子セットに含まれる親光学素子セットは、少なくとも１つの親光学素子を含み、前記親光学素子は、子光学素子セットを更に含み、前記子光学素子セットは、対応する光学素子のセットを含む、請求項１に記載の物品。
【請求項５】
前記親光学素子の前記少なくとも１つの光学素子に対応する第１の符号化された値は、閾値距離以上の、画像キャプチャデバイスと前記物品との間の距離で復号可能であり、及び
前記子光学素子セット内の前記光学素子のセットにそれぞれ対応する子の符号化された値は、前記画像キャプチャデバイスと前記物品との間の前記距離で復号可能ではない、請求項４に記載の物品。
【請求項６】
前記距離は、第１の距離であり、前記子光学素子セット内の前記光学素子のセットにそれぞれ対応する前記子の符号化された値は、前記画像キャプチャデバイスと前記物品との間の第２の距離で復号可能であり、前記第２の距離は、前記第１の距離未満である、請求項５に記載の物品。
【請求項７】
前記閾値距離は、前記画像キャプチャデバイスによってキャプチャされた画像の解像度が、視覚的に異なる前記子光学素子セットの１つ以上の光学素子間で、区別の可能性の閾値を上回り、視覚的に区別されない距離である、請求項５に記載の物品。
【請求項８】
前記符号化された値のセットが、Ｎ個の符号化された値を含み、光学素子セットが、Ｍ個の光学素子を含み、光学素子セットが、前記光学素子セットの対応する光学素子に割り当てられた対応する視覚階調度値に少なくとも部分的に基づいて、符号化された値のＮＭの組み合わせのセットの符号化された値の組み合わせを表し、前記対応する階調度値はそれぞれ、Ｍ個の視覚的に区別可能な階調度値のセットに含まれる、請求項１に記載の物品。
【請求項９】
前記誤り訂正データが、前記メッセージに対する誤り訂正関数の適用に基づく、請求項１に記載の物品。
【請求項１０】
前記複数の光学素子セットが、第１の複数の光学素子セットであり、
前記複数の光学素子セット内の第１の光学素子セットのそれぞれの光学素子は、第１のサイズであり、
前記複数の光学素子内の第２の光学素子セットの各光学素子は、前記第１のサイズよりも小さい第２のサイズであり、及び
前記第１及び第２の光学素子セットは、重なり合わない、請求項１に記載の物品。
【請求項１１】
前記第１の複数の光学素子が、前記物品を説明するコンテキスト情報を表し、
前記第２の複数の光学素子が、前記コンテキスト情報を説明するコンテンツ情報を表す、請求項１０に記載の物品。
【請求項１２】
前記複数の光学素子は、複数のファインダ光学素子を含み、前記ファインダ光学素子は、マシンビジョンシステムが画像内の前記光学コードの位置を特定することを可能にする、請求項１に記載の物品。
【請求項１３】
前記物品が、交通標識、ライセンスプレート、衣類、又はデカールのうちの少なくとも１つを備える、請求項１に記載の物品。
【請求項１４】
コンピューティングデバイスによって、物理的表面を含む基材を有する物品の画像を受信することであって、
複数の光学素子セットが前記物理的表面上に具現化され、前記複数の光学素子セットのそれぞれの光学素子セットは、複数の光学素子を含み、
それぞれの対応する光学素子は、符号化された値のセット内の符号化された値を表し、前記符号化された値のセットは、前記対応する光学素子の視覚的区別の可能性に基づいて区別可能であり、それぞれの対応する光学素子セットは、前記複数の光学素子セットのうちの１つ以上が視覚的に遮蔽されている場合に、メッセージを復号する前記メッセージの少なくとも一部分又は誤り訂正データを表し、
前記メッセージ及び誤り訂正データのための前記光学素子セットは、マトリックス内の前記物理的表面に空間的に構成され、視覚的に遮蔽されたマトリックスの少なくとも１つの完全な縁部内に配置された光学素子なしに、前記メッセージが前記基材から復号可能である、ことと、
前記コンピューティングデバイスによって、前記視覚的に遮蔽されたマトリックスの少なくとも１つの完全な縁部の前記画像からの誤り訂正データに少なくとも部分的に基づいて、前記メッセージを復号することと、
を含む方法。
【請求項１５】
前記少なくとも１つの完全な縁部は、前記マトリックスの少なくとも水平方向又は垂直方向の、最低順序のインデックスから最高順序のインデックスまでの１次元配列を含む、請求項１４に記載の方法。
【請求項１６】
前記複数の光学素子セットが、ＱＲコードに含まれない、請求項１４に記載の方法。
【請求項１７】
前記マトリックスの前記少なくとも１つの完全な縁部が視覚的に遮蔽されていることを判定することを更に含み、前記メッセージを復号することが、前記複数の光学素子セットに含まれる少なくとも１つの光学素子セットなしに前記メッセージを復号することを更に含み、前記少なくとも１つの光学素子セットが、前記マトリックスの前記少なくとも１つの完全な縁部に含まれる少なくとも１つの光学素子を有する、請求項１４に記載の方法。
【請求項１８】
前記メッセージを復号することが、
前記画像内の対応する光学素子セットの対応する既定の位置を示す光学素子セット位置データに少なくとも部分的に基づいて、光学素子セットを判定することと、
前記光学素子セット内の対応する光学素子の対応する既定の位置を示す光学素子位置データに少なくとも部分的に基づいて、前記対応する光学素子のそれぞれに対する対応する階調度値を判定することと、
階調度値と符号化された値との間のマッピングに少なくとも部分的に基づいて、前記メッセージの少なくとも一部分を判定することと、
を更に含む、請求項１４に記載の方法。
【請求項１９】
前記複数の光学素子セットに含まれる親光学素子セットが、少なくとも１つの親光学素子を含み、前記親光学素子が、子光学素子セットを更に含み、前記子光学素子セットが、対応する光学素子のセットを含む、請求項１４に記載の方法。
【請求項２０】
前記親光学素子の前記少なくとも１つの光学素子に対応する第１の符号化された値が、閾値距離以上の、画像キャプチャデバイスと前記物品との間の距離で復号可能であり、
前記子光学素子セット内の前記光学素子のセットにそれぞれ対応する子の符号化された値は、前記画像キャプチャデバイスと前記物品との間の前記距離で復号可能ではない、請求項１９に記載の方法。
【請求項２１】
前記距離は、第１の距離であり、前記子光学素子セット内の前記光学素子のセットにそれぞれ対応する前記子の符号化された値は、前記画像キャプチャデバイスと前記物品との間の第２の距離で復号可能であり、前記第２の距離は、前記第１の距離未満である、請求項２０に記載の方法。
【請求項２２】
前記閾値距離は、前記画像キャプチャデバイスによってキャプチャされた画像の解像度が、視覚的に異なる前記子光学素子セットの１つ以上の光学素子間で、区別可能性の閾値を上回り、視覚的に区別されない距離である、請求項２０に記載の方法。
【請求項２３】
前記符号化された値のセットが、Ｎ個の符号化された値を含み、光学素子セットが、Ｍ個の光学素子を含み、光学素子セットが、前記光学素子セットの対応する光学素子に割り当てられた対応する視覚階調度値に少なくとも部分的に基づいて、符号化された値のＮＭの組み合わせのセットの符号化された値の組み合わせを表し、前記対応する階調度値はそれぞれ、Ｍ個の視覚的に区別可能な階調度値のセットに含まれる、請求項１４に記載の方法。
【請求項２４】
誤り訂正データに少なくとも部分的に基づいて前記メッセージを復号することが、複数の光学素子セットの全てよりも少ないものに誤り訂正関数を適用することを含み、前記誤り訂正データが、前記メッセージに対する誤り訂正関数の適用に基づく、請求項１４に記載の方法。
【請求項２５】
前記複数の光学素子セットが、第１の複数の光学素子セットであり、
前記複数の光学素子セット内の第１の光学素子セットの各光学素子は、第１のサイズであり、
前記複数の光学素子内の第２の光学素子セットの各光学素子は、前記第１のサイズよりも小さい第２のサイズであり、
前記第１及び第２の光学素子セットは、重なり合わない、請求項１４に記載の方法。
【請求項２６】
前記第１の複数の光学素子が、前記物品を説明するコンテキスト情報を表し、及び
前記第２の複数の光学素子が、前記コンテキスト情報を説明するコンテンツ情報を表す、請求項２５に記載の方法。
【請求項２７】
前記第１の複数の光学素子が、前記物品を説明するコンテキスト情報を表し、及び
前記第２の複数の光学素子が、前記コンテキスト情報を説明するコンテンツ情報を表す、請求項１４に記載の方法。
【請求項２８】
前記物品が、交通標識、ライセンスプレート、衣類、又はデカールのうちの少なくとも１つを備える、請求項１４に記載の方法。
【請求項２９】
前記メッセージに少なくとも部分的に基づいて、少なくとも１つの動作を実行することを更に含む、請求項１４に記載の方法。
【請求項３０】
前記少なくとも１つの動作が、
出力するためにアラートを生成すること、
出力するためにレポートを生成すること、
前記メッセージを記憶すること、又は、
車両の前記動作を変更すること、
のうちの少なくとも１つを含む、請求項２９に記載の方法。
【請求項３１】
前記コンピューティングデバイスが車両内に含まれる、請求項１４に記載の方法。
【請求項３２】
１つ以上のコンピュータプロセッサと、
前記１つ以上のコンピュータプロセッサによって実行されると、前記１つ以上のコンピュータプロセッサに請求項１４〜３１のいずれかに記載の方法を実行させる命令を含むメモリ、を備えるコンピューティングデバイス。
【請求項３３】
実行されると、コンピューティングデバイスの少なくとも１つのプロセッサに、請求項１４〜３１のいずれか一項に記載の方法を実行させる命令が符号化された、非一時的コンピュータ可読記憶媒体。
【請求項３４】
請求項１４〜３１のいずれか一項に記載の方法を実行する手段を備える装置。
【請求項３５】
画像キャプチャデバイスと、
前記画像キャプチャデバイスと通信可能に結合されたコンピューティングデバイスと、を備えるシステムであって、前記コンピューティングデバイスは、１つ以上のコンピュータプロセッサと、命令を含むメモリとを含み、前記命令は、前記１つ以上のコンピュータプロセッサによって実行されると、前記１つ以上のコンピュータプロセッサに、
物理的表面を含む基材を有する物品の画像を受信させ、
複数の光学素子セットが前記物理的表面上に具現化され、前記複数の光学素子セットのそれぞれの光学素子セットは、複数の光学素子を含み、
それぞれの対応する光学素子は、符号化された値のセット内の符号化された値を表し、前記符号化された値のセットは、前記対応する光学素子の視覚的区別の可能性に基づいて区別可能であり、それぞれの対応する光学素子セットは、前記複数の光学素子セットのうちの１つ以上が視覚的に遮蔽されている場合にメッセージを復号する前記メッセージ又は誤り訂正データの少なくとも一部分を表し、
前記メッセージ及び誤り訂正データのための前記光学素子セットは、マトリックス内の前記物理的表面に空間的に構成され、視覚的に遮蔽されたマトリックスの少なくとも１つの完全な縁部内に配置された光学素子なしに、前記メッセージが前記基材から復号可能であり、
前記視覚的に遮蔽されたマトリックスの少なくとも１つの完全な縁部が前記画像から誤り訂正データに少なくとも部分的に基づいて、前記メッセージを復号させる、システム。
【請求項３６】
前記メモリが、前記１つ以上のコンピュータプロセッサによって実行されると、前記１つ以上のコンピュータプロセッサに請求項１５〜３１のいずれか一項に記載の方法を実行させる命令を含む、請求項３５に記載のシステム。
【請求項３７】
物理的表面を含む基材を有する物品を作製する方法であって、
複数の光学素子セットを規定する印刷仕様を受信することであって、前記複数の光学素子セットの各光学素子セットは、複数の光学素子を含み、それぞれの対応する光学素子は、符号化された値のセット内の符号化された値を表し、前記符号化された値のセットは、前記対応する光学素子の視覚的区別の可能性に基づいて区別可能であり、それぞれの対応する光学素子セットは、前記複数の光学素子セットのうちの１つ以上が視覚的に遮蔽されている場合にメッセージを復号する前記メッセージ又は誤り訂正データの少なくとも一部分を表す、ことと、
前記印刷仕様に少なくとも部分的に基づいて、前記マトリックス内の前記物理的表面において空間的構成内の前記メッセージ及び誤り訂正データを備えた前記光学素子セットを有する前記物品を作製することとを含み、視覚的に遮蔽されたマトリックスの少なくとも１つの完全な縁部内に配置された光学素子なしに、前記メッセージが前記基材から復号可能である、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、物品の物理的表面上に情報を符号化すること、並びにそのような情報を符号化及び復号するためのシステムに関する。
【背景技術】
【０００２】
バーコードは、一般的に、データ又は情報の光学的な機械可読表現である。いくつかのバーコードは、平行な線の幅及び間隔を系統的に変化させることによってデータを表していた。これらのタイプのバーコードは、一般に、線形又は１次元（one-dimensional）（１Ｄ）バーコードと呼ばれる。バーコード内に符号化されたデータ又は情報は、バーコードが取り付けられている物体に関連し得る。
【０００３】
後に、２次元（two-dimensional）（２Ｄ）バーコードが開発された。これらのバーコードは、データを符号化するために２次元の幾何学的パターンを用いた。一般的なタイプの２Ｄバーコードは、クイックレスポンス（quick response）（ＱＲ）コードであり、これは、正方形の形状のマトリックス型コードである。ＱＲコードは、多くの場合、角に３つの特徴的な正方形と１つの小さい正方形を含み、この３つの正方形は、コードの境界及び向きを画定し、この４番目の角付近の１つの小さい正方形は、サイズ、向き、及び視野角に関して画像を正規化するために使用される。
【０００４】
情報は、８ビットの文字を使用するＱＲコードに符号化され、各ビットは、白色又は黒色の正方形のいずれかによって表される。ビットは、基本マトリックス又はグリッドパターンに配置され、それぞれのビットは同じサイズの正方形である。マトリックスが生成されると、コードワードは、２画素幅のストリップに従い、この２画素幅のストリップは、右下の角からコードにおいて右から左にジグザグに上下し、コードの他の要素の周囲をナビゲートする。ＱＲコードにおいて、符号化された情報は、通常、復号装置が符号化された情報を確実に取得することを可能になるように、標準化されたレイアウトスキームに従う。ＱＲコード内に符号化されることができる文字数は、各ビットのサイズ、ＱＲコード自体のサイズ、アルファベット文字のサイズ、及び使用される誤り訂正のレベルに依存する。一般的に、誤り訂正レベルが高いほど、記憶容量は小さくなる。バーコードに関連する既存の技術を考慮しても、バーコード及びそのようなバーコードを含む標識又は他の物品には、様々な欠点が存在する。
【発明の概要】
【０００５】
本開示の物品、技術、及びシステムは、メッセージを符号化する、耐遮蔽性の機械可読コードを対象とし、この機械可読コードは、物品上に具現化され、コードの画像を受信するコンピューティングデバイスによって復号可能である。機械可読コードは、光学素子のマトリックスとして構造化することができ、各光学素子は、光学素子の外観に基づいたメッセージの符号化された値（例えば、バイナリ符号化における「１」又は「０」）を表す。ＱＲコードとは異なり、本開示の機械可読コードは、視覚的に遮蔽されたマトリックスの少なくとも１つの完全な縁部内に配置された光学素子に頼ることなく復号可能であるように、マトリックスで空間的に構成することができる。このようにして、機械可読コードは、交通標識の縁部全体が建造物、車両、又は水平線によって視覚的に遮蔽されることがある、交通標識などの物品の縁部遮蔽に対して特に耐性がある。本開示の計算技術は、遮蔽されることになる又は遮蔽される可能性がある、交通標識の既知の領域又はエリアを示すデータに基づいて、マトリックス内に光学素子のセットを空間的に配置することができる。そのような計算技術は、メッセージのための符号化された値を有する１つ以上の光学素子が遮蔽された場合にメッセージを再構成するために、メッセージ及び誤り訂正データに対応する符号化された値を含む、光学素子の異なるセットを空間的に配置することができる。このような方法で、メッセージの符号化された値を表す光学素子を有するマトリックスの縁部が視覚的に遮蔽されている場合、コンピュータ装置は、更に、メッセージの符号化された値を表す他の遮蔽されていない光学素子と共に、誤り訂正データを使用してメッセージを復号することができ得る。
【０００６】
いくつかの実施例では、物品は、物理的表面を有する基材と、物理的表面上に具現化された複数の光学素子セットとを含み、複数の光学素子セットのそれぞれの光学素子セットは、複数の光学素子を含み、それぞれの対応する光学素子は、符号化された値のセット内の符号化された値を表し、符号化された値のセットは、対応する光学素子の視覚的区別の可能性に基づいて区別可能であり、それぞれの対応する光学素子セットは、複数の光学素子セットのうちの１つ以上が視覚的に遮蔽されている場合に、メッセージを復号するメッセージの少なくとも一部分又は誤り訂正データを表し、メッセージ及び誤り訂正データのための光学素子セットは、マトリックス内の前記物理的表面に空間的に構成され、これにより、視覚的に遮蔽されたマトリックスの少なくとも１つの完全な縁部内に配置された光学素子なしに、メッセージが基材から復号可能である。
【０００７】
いくつかの実施例では、方法は、コンピューティングデバイスによって、物理的表面を含む基材を有する物品の画像を受信することであって、複数の光学素子セットが物理的表面上に具現化され、複数の光学素子セットのそれぞれの光学素子セットは、複数の光学素子を含み、それぞれの対応する光学素子は、符号化された値のセット内の符号化された値を表し、符号化された値のセットは、対応する光学素子の視覚的区別の可能性に基づいて区別可能であり、それぞれの対応する光学素子セットは、複数の光学素子セットのうちの１つ以上が視覚的に遮蔽されている場合にメッセージを復号するメッセージの少なくとも一部分又は誤り訂正データを表し、メッセージ及び誤り訂正データのための光学素子セットは、マトリックス内の物理的表面に空間的に構成され、視覚的に遮蔽されたマトリックスの少なくとも１つの完全な縁部内に配置された光学素子なしに、メッセージが基材から復号可能である、ことと、コンピューティングデバイスによって、視覚的に遮蔽されマトリックスの少なくとも１つの完全な縁部の画像から誤り訂正データに少なくとも部分的に基づいて、メッセージを復号することと、を含む。
【０００８】
いくつかの実施例では、システムは、画像キャプチャデバイスと、画像キャプチャデバイスと通信可能に結合されたコンピューティングデバイスと、を含み、コンピューティングデバイスは、１つ以上のコンピュータプロセッサと、命令を含むメモリとを含み、命令は、１つ以上のコンピュータプロセッサによって実行されると、１つ以上のコンピュータプロセッサに、物理的表面を含む基材を有する物品の画像を受信させ、複数の光学素子セットが物理的表面上に具現化され、複数の光学素子セットのそれぞれの光学素子セットは、複数の光学素子を含み、それぞれの対応する光学素子は、符号化された値のセット内の符号化された値を表し、符号化された値のセットは、対応する光学素子の視覚的区別の可能性に基づいて区別可能であり、それぞれの対応する光学素子セットは、複数の光学素子セットのうちの１つ以上が視覚的に遮蔽されている場合にメッセージを復号するメッセージ又は誤り訂正データの少なくとも一部分を表し、メッセージ及び誤り訂正データのための光学素子セットは、マトリックス内の前記物理的表面に空間的に構成され、視覚的に遮蔽されたマトリックスの少なくとも１つの完全な縁部内に配置された光学素子なしに、メッセージが基材から復号可能であり、視覚的に遮蔽されたマトリックスの少なくとも１つの完全な縁部が画像から誤り訂正データに少なくとも部分的に基づいて、メッセージを復号させる。
【０００９】
１つ以上の例の詳細を、添付の図面及び以下の説明で示す。本開示の他の特徴、目的、及び利点は、説明及び図面、並びに特許請求の範囲から明らかとなるであろう。
【図面の簡単な説明】
【００１０】
【図１Ａ】道路標識を有する遮蔽シナリオを示す。
【図１Ｂ】道路標識を有する遮蔽シナリオを示す。
【図１Ｃ】道路標識を有する遮蔽シナリオを示す。
【図１Ｄ】道路標識を有する遮蔽シナリオを示す。
【００１１】
【図２Ａ】遮蔽に対して最適化された行及び列を有する機械可読光学コードである。
【００１２】
【図２Ｂ】遮蔽を有する図２Ａの機械可読光学コードである。
【００１３】
【図３Ａ】機械可読光学コードの一実施例である。
【００１４】
【図３Ｂ】データペイロードを有する機械可読光学コードの一実施例である。
【００１５】
【図３Ｃ】部分的に回復不可能な右からの遮蔽を有する、図３Ａの機械可読光学コードの一実施例である。
【００１６】
【図３Ｄ】回復可能な右からの遮蔽を有する、図３Ａの機械可読光学コードの一実施例である。
【００１７】
【図３Ｅ】部分的に回復不可能な下からの遮蔽を有する、図３Ａの機械可読光学コードの一実施例である。
【００１８】
【図３Ｆ】回復可能な下からの遮蔽を有する、図３Ａの機械可読光学コードの一実施例である。
【００１９】
【図４】本開示と一致する例示的な標識構成である。
【００２０】
【図５】多次元機械可読光学コードを読み取るためのシステムの一実施例である。
【００２１】
【図６】多次元機械可読光学コードを読み取るためのシステム内で使用するためのコンピューティングデバイスの一実施例である。
【００２２】
【図７Ａ】入れ子状のコンテンツ光学素子を有する機械可読光学コードである。
【００２３】
【図７Ｂ】入れ子状のコンテンツ光学素子を有する機械可読光学コードの区域を示す。
【図７Ｃ】入れ子状のコンテンツ光学素子を有する機械可読光学コードの区域を示す。
【００２４】
【図８】本開示の１つ以上の技術による、コンピューティングデバイスによって実行される例示的動作を含むフロー図を示す。
【００２５】
【図９】本開示の技術による、再帰反射物品、並びに例示的なヨー、ピッチ、及びロール軸を示す。
【００２６】
【図１０】本開示の技術による、光学コードの例示的構造を示す。
【００２７】
【図１１】本開示の技術による、単一解像度光学コードを示す。
【００２８】
【図１２】本開示の技術による、多重解像度光学コードを示す。
【００２９】
【図１３】本開示の技術による、異なるクロッキングパターンを示す。
【図１４】本開示の技術による、異なるクロッキングパターンを示す。
【００３０】
【図１５】本開示の１つ以上の技術による、光学コードに含めることができる繰り返し（repeating）ビット又は繰り返し（repetition）ビットを示す。
【００３１】
【図１６】本開示の技術による、基準復号アルゴリズムを示す。
【００３２】
【図１７】本開示の技術による、物品上に具現化された光学コードのモジュールクリアランスを示す。
【図１８】本開示の技術による、物品上に具現化された光学コードのモジュールクリアランスを示す。
【００３３】
【図１９】本開示の技術による、固定パターン情報を有する光学コードを示す。
【発明を実施するための形態】
【００３４】
図１Ａ〜図１Ｄは、本開示の物品及び技術による、道路標識を有する遮蔽シナリオを示す。図１Ａ〜図１Ｄに示すシナリオは、車両のドライバによって一般的に経験されるシナリオである。本開示の目的の１つは、標識の一部分が遮蔽された場合であっても、交通標識から正確に検出し復号することができる機械可読光学コードを提供することを含む。本開示の機械可読光学コードは、ＱＲコードではなく、本開示から明らかになるであるように、ＱＲコードに対して１つ以上の利点を提供することができる。図１Ａは丘１１４の頂上を超えた位置にある停止標識１１０を示し、標識１１０の完全な視野が丘１１４によって道路１１２上の車両の視点から部分的に遮断されている。図１Ｂは木１２２によって部分的に覆い隠されるか又は遮蔽されうる前方道路工事中の標識１２０を示し、道路１２４上の車両は標識１２０全体を見ることができない。図１Ｃはカーブ１３４によって部分的に覆い隠される速度制限標識１３０を示し、道路１３２上の車両は標識１３０全体を見ることができない。図１Ｄは家１４４によって部分的に覆い隠される横断歩道標識１４０を示し、道路１４２上の車両は標識１４０全体を見ることができない。いくつかの実施例では、標識１１０、１２０、１３０、及び１４０のうちの１つ以上は、本開示の技術に従って標識上に符号化された情報を含んでもよい。本開示の物品、システム、及び技術は、交通標識に関して説明されているが、他の部品は、ライセンスプレート、衣類、又はデカールを含んでもよい。
【００３５】
図２Ａは視覚的遮蔽に対して耐性があるように構成された行及び列を有する機械可読光学コード２００（又は「コード２００」）を示し、これにより、図１Ａ〜図１Ｄにて説明するシナリオのようにコード２００の一部分が覆い隠された場合でも、コード２００内に符号化された情報を正確に読み取るか又は復号することができる。本開示で説明するように、機械可読コードは２値又はｎ値の情報を表してもよく、この情報は、読み取り可能でなくてもよく、及び／又は、人間にとって意味のある情報を含まなくてもよい。例えば、ｎ値の情報は、ｎ進の文字又は記数法を使用して表すことができる。コード２００は、行及び列を含む構成に配置された正方形又は光学素子からなる多次元データマトリックスである。いくつかの実施例では、用語「光学素子」及び「モジュール」は、互換的に使用されることがある。
【００３６】
図２Ａに示すように、コード２００は、一部の光学素子がデータのビットを表しており、一部の光学素子が、白色及び黒色のいずれかであり、コード内に機械可読情報を符号化するために、白色及び黒色の色が「０」及び「１」にそれぞれ対応している、という意味において、バイナリコードを表している。前述の実施例におけるバイナリなどの、任意の可能な符号化スキームを使用することができる。より一般的には、光学素子は、その外観（例えば、階調度値）に基づいて、符号化された値のセット内の符号化された値を表し、符号化された値のセットのサイズは、特定の光学素子に割り当てることができる、多数の異なる可能階調度値に対応する。アルファベット文字、数字、又は任意の他の記号などの、任意の数の異なる符号化された値のセットが使用されてもよい。図２に示すように、符号化された値は、対応する光学素子の視覚的区別可能性に基づいて区別可能である。例示のために、図２Ａに示す正方形は、コード１００内の異なる符号化された値をｎ値の符号化された値として示すために、ｎ値階調の濃淡を含む。
【００３７】
いくつかの実施例では、符号化された値のセットが、Ｎ個の符号化された値を含む。光学素子セットが、Ｍ個の光学素子を含んでもよく、光学素子セットが、光学素子セットの対応する光学素子に割り当てられた対応する視覚階調度値に少なくとも部分的に基づいて、符号化された値のＮＭの組み合わせのセットの符号化された値の組み合わせを表す。いくつかの実施例では、対応する階調度値はそれぞれ、Ｍ個の視覚的に区別可能な階調度値のセットに含まれる。
【００３８】
いくつかの実施例では、それぞれの対応する光学素子セット（又は「ブロック」）は、複数の光学素子セットのうちの１つ以上が視覚的に遮蔽されている場合に、メッセージを復号するメッセージの少なくとも一部分又は誤り訂正データを表す。例えば、未加工のメッセージから符号化されたメッセージにメッセージが符号化されるときに、本開示で更に説明するように、符号化されたメッセージは、異なる光学素子セットに分割することができ、それにより、未加工のメッセージは、視覚的に遮蔽されたマトリックスの少なくとも１つの完全な縁部内に配置された光学素子なしに、基材から復号可能である。図２Ａの光学素子は正方形として示されているが、本開示と一致する光学素子は、任意の形状とすることができる。
【００３９】
いくつかの実施例では、コード２００は、３つの一般的なタイプの光学素子であるファインダ光学素子、コンテキスト光学素子、及びコンテンツ光学素子のうちの１つ以上を含んでもよい。図２Ａでは、行Ｄ及び列４がファインダ光学素子（合計１３個の光学素子）である。具体的には、光学素子Ａ４、Ｄ１、Ｄ４、Ｄ７、及びＧ４は、「０」であり、ファインダ光学素子の残りは、「１」である。ファインダ光学素子は、マシンビジョンシステムが、画像内の２Ｄバーコードを認識することを可能にする、又はコード２００の外縁部を含む画像内の光学コードの位置を特定することを可能にするすることができる。
【００４０】
ファインダコード又は光学素子は、光学コードが空間的に開始及び終了する場所を判定するために、画像に現れる様々な線及び他の視覚的特徴を介して、マシン又はマシンビジョンシステムが分類することを可能にすることができる。ファインダコード又は光学素子は通常所定の位置に固定され、通常は自然界で発生しないような十分な視覚的特徴を有するか、又は複雑である。このようにファインダコード又は光学素子を設計することにより、マシンビジョンが復号すべき２Ｄコードを識別したという合理的な確実性を有することができる。より視覚的に複雑なファインダコードは、コードを実装するのに必要とするファインダ光学素子の数を増加させ、結果としてより小さい光学素子サイズ（光学素子の遮蔽及び誤読の可能性を増大させることがあり）となる、かつデータ又は情報を符号化するために使用するための残りの光学素子がより少なくなることを必要とすることがある。
【００４１】
いくつかの構成では、ファインダ光学素子によってマシンビジョンシステムが２Ｄバーコードの向きを判定することが可能となる。しかしながら、他の用途では、２Ｄバーコードの向きは、（２Ｄバーコードが標識又は静止物体上にあるときなどの）２Ｄバーコードの画像を処理するコンピューティングデバイスによって仮定することができる。これらの用途では、コンピューティングデバイスが、符号化するために、向き情報を必要としないので、必要とされるファインダ光学素子（及び情報のビット）がより少なくなる。コード２００に示されるようなファインダ光学素子は、ラスタ走査によって迅速に識別されることができる。一例では、本開示と一致する光学コードは、３６個未満のファインダ素子を含む。別の例では、本開示と一致する光学コードは、例えば、２５、２３、２１、１９、１７、１５、又は１３個未満のファインダ素子を含む。
【００４２】
以下の表は、本開示と一致する様々なサイズの光学コード内に符号化することができる、ファインダ光学素子、コンテキスト光学素子、コンテンツ光学素子、全光学素子、及びデータのビットの数を示す。これらはコードサイズの例であるが、本開示と一致する異なるサイズの他のコードを、以下の光学素子情報を外挿して生成することができる。以下の表では、ファインダ光学素子の数は、ファインダ光学素子に対する交差中心パターンに基づく。使用されるパターンに応じて、ファインダ光学素子がより多くなるか又は少なくなることがあり得る。加えて、列挙されるコンテンツ光学素子の数は、コンテンツ光学素子が標準又はコンテキスト光学素子のエリアの２５％であると仮定している。コードは、所望の用途の必要性に依存して応じて、コンテキスト光学素子又はコンテンツ光学素子がより多くなるか又は少なくなるように設計されてもよい。符号化されるデータビットの数は、コンテンツ光学素子とコンテキスト光学素子との間の変動性を補償し、各標準ビットサイズが１ビットのデータを符号化することを仮定している（ファインダ光学素子は除く）。
【００４３】
【表１】
2019537098.tif 000003
【００４４】
ファインダ光学素子は、光学コード２００内に様々な方法で配置することができる。ファインダ光学素子はコード２００内の中心交差パターン内に配置されているが、ファインダ光学素子の他の配置又は構成では、それぞれの角に３つの白色光学素子を配置することを含む。追加の変形例は、隣接する角部の光学素子間の１つ以上の縁部に沿った交互のクロッキング画素（白色、黒色）を含む。本開示と一致するコード内のファインダ光学素子に対する他の位置は、本開示を閲読することにより、当業者には明らかとなるであろう。
【００４５】
コンテキスト光学素子は、コード２００によって具現化された、物品若しくは物体に関連する機械可読データ若しくは情報、又は物品若しくは物体の位置若しくは環境を符号化する、ビット又は要素を表すことができる。一例では、コンテキスト光学素子のサイズはファインダ光学素子と同じであり、第１の距離、ファインダ光学素子が検出可能な同じ距離から、マシンビジョンシステムによって検出可能である。そのような距離は、２Ｄコードのサイズ、２Ｄコード内の光学素子の数、各光学素子のサイズ、及び２Ｄコードを検出するマシンビジョンシステムの解像度に依存する。コンテキスト光学素子内に符号化されるデータの例としては、物品又は物体の位置、物品又は物体に関連する製造情報、コードが付いた交通標識の分類、特定のエリア、時間、日付、若しくは気象条件に適用可能な法律又は他の運転制限、標識が適用される車線が挙げられる。他の情報の種類は、本開示を閲読することにより、当業者には明らかとなるであろう。図２Ａでは、光学素子Ａ２、Ａ３、Ｂ２、Ｂ３、Ｂ５、Ｂ６、Ｂ７、Ｃ２、Ｃ３、Ｃ５、Ｃ６、Ｃ７、Ｅ１、Ｅ２、Ｅ３、Ｅ５、Ｅ６、Ｆ１、Ｆ２、Ｆ３、Ｆ５、Ｆ６、Ｇ５、及びＧ６は、全てコンテキスト光学素子である。これらの光学素子のうち、例示のみを目的として、光学素子Ａ２、Ｂ２、Ｂ５、Ｂ６、Ｂ７、Ｃ２、Ｅ６、Ｆ１、Ｆ２、Ｆ３、Ｆ６、及びＧ６は、「１」に対応し、コンテキスト光学素子の残りの部分は、「０」であるが、これは、１に対する階調度の色又は濃淡の間のマッピングを光学素子Ａ２、Ｂ２、Ｂ５、Ｂ６、Ｂ７、Ｃ２、Ｅ６、Ｆ１、Ｆ２、Ｆ３、Ｆ６、及びＧ６に対する階調度の色又は濃淡に対応させるためである。
【００４６】
コード２００内に情報を符号化するために、様々な符号化技術を使用することができる。そのような例示的な技術の１つは、当業者には理解され、かつ参照により本明細書に組み込まれる、Ｃ．Ｋ．Ｐ．Ｃｌａｒｋｅによる「Ｒｅｅｄ−Ｓｏｌｏｍｏｎ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ」（Ｒ＆Ｄ  Ｗｈｉｔｅ  Ｐａｐｅｒ  ＷＨＰ０３１、２００２年７月、ｈｔｔｐ：／／ｄｏｗｎｌｏａｄｓ．ｂｂｃ．ｃｏ．ｕｋ／ｒｄ／ｐｕｂｓ／ｗｈｐ／ｗｈｐ−ｐｄｆ−ｆｉｌｅｓ／ＷＨＰ０３１．ｐｄｆで入手可能）に記載されているようなリードソロモンコードである。本開示と一致する利用可能な他の種類の誤り訂正コードとしては、ゴレイ符号、低密度パリティチェックコード、及びターボ符号が挙げられる。他の種類のコードは、当業者には明らかであろう。コード２００では、３進の拡張されたリードソロモンコードを使用して、コンテキスト光学素子は、２４個の全コンテキスト光学素子に１２ビットの情報を埋め込むことができる。最大２つの光学素子は、遮蔽又は失われてもよく、コンテキスト光学素子内に符号化されたデータは、依然として回復可能である。本明細書で説明するコード２００に対する符号化を使用して、コンテキスト光学素子が標識の種類を表す場合、最大４０９６個の固有の標識を分類することができる。
【００４７】
コード２００はまた、３６個のコンテンツ光学素子を含み、それぞれのうちの４つは、より大きい光学素子Ａ１、Ｂ１、Ｃ１、Ｅ７、Ｆ７、Ｇ１、Ｇ２、Ｇ３、及びＧ７内にある。いくつかの実施例では、コンテンツ光学素子は、第２の距離からマシンビジョンシステムによって検出可能であり（しかし第１の距離ではマシンビジョンシステムで検出できない）、第２の距離は、第１の距離未満である。例えば、コンテンツ光学素子のサイズに起因して、そのようなコンテンツ光学素子は、コードと画像キャプチャデバイス間の、閾値距離よりも大きい距離で個々に復号できないことがある。コンテンツ光学素子は、ビット又は要素を表すことができ、このビット又は要素は、コード２００が具現化された、物品若しくは物体に関連する機械可読データ、若しくは情報又は物品若しくは物体の位置及び環境を符号化している。コンテンツ光学素子を使用して、コンテキスト光学素子内に符号化された情報を拡張することができる。例えば、コンテキスト光学素子が物品が速度制限標識であることを示す場合、コンテンツ光学素子は、標識が位置する区域内での制限速度が時速５５マイルであることを示すために使用されてもよい。コンテンツ光学素子がマシンビジョンシステムによって読み取られることができる距離は、コード２００のサイズ、コード２００内の光学素子の数、各光学素子のサイズ、及びマシンビジョンシステムの解像度に依存し得る。
【００４８】
Ａ１、Ｂ１、Ｃ１、Ｅ７、Ｆ７、Ｇ１、Ｇ２、Ｇ３、及びＧ７内のコンテンツ光学素子は、速度制限、指示情報、ＧＰＳ座標、又は資産番号などの標識に固有の情報を含む、様々な種類の情報を符号化することができる。コンテンツ光学素子はまた、コンテキスト光学素子に対する更なる誤り訂正として動作するように使用することができる。
【００４９】
データは、様々な方法で、又は様々なアルゴリズムを使用して、コンテンツ光学素子内に符号化することができる。そのようなアルゴリズムの１つが、１２ビットのデータをコンテンツ光学素子内に符号化することを可能にする、６進のリードソロモンコードである。コンテンツコードは、通常コンテキストコードよりも小さいため、マシンビジョンシステムの視野からコンテンツ光学素子誤読されるか又は遮蔽される可能性は、他のより大きいサイズの光学素子よりも高くなることがある。６進のリードソロモン符号化スキームを使用することにより、コンテキスト光学素子に対する３進のリードソーモンコードと比較して、追加の冗長性又はエラーチェックを提供することができる。この特定の構成では、隣接するコンテンツ光学素子が最大１２個まで遮蔽されてもよく、コンテンツ光学素子からのデータを正確に読み取ることができる。
【００５０】
光学素子Ａ５、Ａ６、及びＡ７は、設置時にカスタムデータを標識に追加するために使用することができる。一例では、それらは全て白色に見えてもよく、標識が適用される車線などの情報は、所望の光学素子の上にＩＲブラック材料を追加することで、設置者によって指示することができる。
【００５１】
コード２００は７×７のマトリックスとして示されているが、これはファインダ光学素子のサイズによって決定されたものであり、他のコードも本開示の範囲内である。例えば、コードは８×８、９×９、１０×１０、１１×１１、１２×１２、１３×１３、Ｎ×Ｎ、又はＮ×Ｍであってもよい。いくつかの構成では、本開示と一致するコードは、正方形マトリックスでなくてもよい。光学コードは、円形、三角形、多角形、矩形、又は任意の所望の不規則な形状であってもよい。そのような光学コードのサイズは、単一の光学素子の標準サイズを決定するためのファインダ光学素子のサイズを使用して、標準光学素子の総数を計算することによって決定することができる。
【００５２】
図２Ｂは、トラック２１０の形態によって遮蔽された図２Ａの機械可読光学コードである。任意の遮蔽は、光源から観察者（人間又は人間以外のもの（例えば、画像キャプチャデバイス）のいずれか）への光の通過を阻止する任意の障害となることができる。上述したように、リードソロモンアルゴリズムを使用した場合、コンテキスト光学素子は１２ビットの情報を符号化する。データはコンテキスト光学素子内に符号化され、コンテキスト光学素子が４つの６ビットブロック（又は「光学素子セット」）にグループ化される。具体的には、コンテキスト光学素子は、以下のようにグループ化される。
【００５３】
コンテキスト光学素子ブロック１：Ａ２、Ａ３、Ｂ２、Ｂ３、Ｃ２、Ｃ３
【００５４】
コンテキスト光学素子ブロック２：Ｂ５、Ｂ６、Ｂ７、Ｃ５、Ｃ６、Ｃ７
【００５５】
コンテキスト光学素子ブロック３：Ｅ１、Ｅ２、Ｅ３、Ｆ１、Ｆ２、Ｆ３
【００５６】
コンテキスト光学素子ブロック４：Ｅ５、Ｅ６、Ｆ５、Ｆ６、Ｇ５、Ｇ６
【００５７】
コンテキスト光学素子ブロックのうちの２つは、データを符号化するために（又はデータペイロードとして）使用され、２つのブロックは、誤り訂正に使用される。図示したコードでは、最上行、最下行、左列、又は右列のうちのいずれか１つが遮蔽されている場合、マシンビジョンシステムは、コンテンツ光学素子の少なくとも２つの完全なブロックを依然として検出することができ、データペイロード（例えば、符号化されたメッセージ又は符号化されたメッセージを表す符号化された値）専用の少なくとも１つの完全なコンテキスト光学素子ブロック、及び誤り訂正専用の少なくとも１つの完全なコンテキスト光学素子ブロックを残している。この場合、コンテキスト光学素子内に符号化されたデータは、行又は列全体が遮蔽されていても完全に回復可能である。
【００５８】
図２Ｂに示すように、トラック２１０は、コンテキスト光学素子Ｂ７及びＣ７を含む列７の大部分を遮蔽する。上述したように、コンテキスト光学素子Ｂ７及びＣ７が遮蔽されているとしても、コンテキスト光学素子ブロック１、３、及び４が遮蔽されておらず、遮蔽されていないブロックは、データペイロードを再構成するための符号化されたデータ及び対応する誤り訂正データを含むため、コンテキスト光学素子のデータペイロードは完全に回復可能である。
【００５９】
図２Ｂは、正方形のコンテンツ光学素子Ａ１、Ｂ１、Ｃ１、Ｅ７、Ｆ７、Ｇ１、Ｇ２、Ｇ３、及びＧ７を含む。いくつかの実施例では、親光学素子又は「正方形」と呼ばれる光学素子は、１つ以上の子光学素子を含むことができる。例えば、親光学素子は、図１に示すような４つの子光学素子を含んでもよい。コンテンツ光学素子は、６個の６ビットブロックにグループ分けされ、ブロックのうちの２つがデータペイロードに使用され、ブロックのうちの４つが誤り訂正に使用される。
【００６０】
リードソロモン誤り訂正を使用して、読み取りが損なわれたことに起因する回復可能なブロックの数は、２で割った誤り訂正ブロックの総数に等しい。本開示のいくつかの実施形態では、このブロックは、コードの縁部全体が遮蔽された場合でも、遮蔽されるブロックの数を最小数にすることができ、より大きな回復が可能となるように配置される。したがって、コード２００では、２つの誤り訂正コンテキストブロックが存在するため、最大１つの損なわれたコンテキストブロックを回復することができる。左列又は最下行のいずれかが完全に遮蔽されている場合であっても、マシンビジョンシステムは、完全なデータペイロードブロック及び完全な誤り訂正ブロックを読み取って、コンテンツ光学素子内に符号化されたデータを完全に回復することができる。いくつかの実施例では、メッセージ及び誤り訂正データのための光学素子セットは、マトリックス内の前記物理的表面に空間的に構成され、これにより、視覚的に遮蔽されたマトリックスの少なくとも１つの完全な縁部内に配置された光学素子なしに、メッセージが基材から復号可能である。
【００６１】
いくつかの実施例では、少なくとも１つの完全な縁部の５０％より多くが遮蔽される。いくつかの実施例では、少なくとも１つの完全な縁部の７５％より多くが遮蔽される。いくつかの実施例では、少なくとも１つの縁部内で遮蔽される量は、遮蔽された範囲５０〜１００％である。いくつかの実施例では、少なくとも１つの縁部が完全に遮蔽されている。いくつかの実施例では、少なくとも１つの縁部に隣接する追加の縁部が遮蔽される。いくつかの実施例では、隣接する複数の縁部が遮蔽される。いくつかの実施例では、隣接する１つ以上の複数の縁部それぞれが、５０％より多く遮蔽されるか、７５％より多く遮蔽されるか、又は遮蔽される量が５０〜１００％の範囲内となる。
【００６２】
いくつかの実施例では、少なくとも１つの完全な縁部は、マトリックスの少なくとも水平方向又は垂直方向の、最低順序のインデックスから最高順序のインデックスまでの１次元配列を含む。例えば、図２Ａの縁部は、行Ａの全ての要素、行Ｇの全ての要素、列１の全ての要素、又は列７の全ての要素であってもよい。
【００６３】
図３Ａは、機械可読光学コード３００の一実施例である。光学コード３００は、光学コード３００の角部に配置された１２個のファインダ光学素子Ａ１、Ａ２、Ａ６、Ａ７、Ｂ１、Ｂ７、Ｆ１、Ｆ７、Ｇ１、Ｇ２、Ｇ６、及びＧ７を含む。ファインダ光学素子のグループ又はブロックは、図３Ａでは「Ｆ」と示される。コンテキスト光学素子は、通常光学コード３００の中心付近に配置され、コンテキスト光学素子のブロックには１〜５の番号が付けられる。コンテキスト光学素子ブロックは、以下の光学素子を含む。
【００６４】
コンテキストブロック１：Ａ４、Ｂ４、Ｃ４、Ｄ４、Ｅ４、
【００６５】
コンテキストブロック２：Ｂ５、Ｂ６、Ｃ５、Ｃ６、Ｄ５、
【００６６】
コンテキストブロック３：Ｂ２、Ｂ３、Ｃ２、Ｃ３、Ｄ２、
【００６７】
コンテキストブロック４：Ｄ３、Ｅ３、Ｅ４、Ｆ３、Ｆ４、及び
【００６８】
コンテキストブロック５：Ｄ６、Ｅ５、Ｅ６、Ｆ５、Ｆ６。
【００６９】
コンテキストブロックでは、コンテキストブロック１がデータペイロードブロックとして、コンテキストブロック２〜５がそれぞれリードソロモン誤り訂正専用として使用される。これにより、最大で２つの誤って読み取られたコンテキストブロックの訂正が可能になる。コンテンツブロック１は、５個の光学素子又はビットを有するため、最大２５（又は３２）の値又は車両の区分（又は任意の所望の分類セット）を表すことができる。換言すれば、左又は右から最大３つの列（１、２、及び３、又は５、６、及び７）が完全に遮蔽されてもよく、又は底部の最大２つの行（Ｆ及びＧ）が完全に遮蔽されても、コンテキストデータは、更に正しく復号されることができる。遮蔽されたデータの復号及び回復に関連付けられる確実性は、使用される特定のタイプの符号化アルゴリズムに基づく。
【００７０】
図３Ａは８個のコンテンツ光学素子ブロックを含み、各ブロックが６個の光学素子を含む。コンテンツ光学素子ブロックは、図３ＡではＤ１〜Ｄ８として示される。例として、光学素子ブロック３０２はコンテンツ光学素子ブロックＤ１を表す。例として、光学素子ブロック３０４はコンテキスト光学素子ブロック１を表す。図３Ａに示すように、コンテンツ光学素子ブロックＤ７及びＤ８は、光学コード３００の１つより多くの隣接領域にわたって分散される。各コンテンツ光学素子ブロック内の光学素子は、以下のとおりである。
【００７１】
コンテンツブロックＤ１：Ｃ１及びＤ１の上半分
【００７２】
コンテンツブロックＤ２：Ｄ１の下半分及びＥ１
【００７３】
コンテンツブロックＤ３：Ｃ７及びＤ７の上半分
【００７４】
コンテンツブロックＤ４：Ｄ７の下半分及びＥ７
【００７５】
コンテンツブロックＤ５：Ｇ３及Ｇ４の左半分
【００７６】
コンテンツブロックＤ６：Ｇ４の右半分及びＧ５
【００７７】
コンテンツブロックＤ７：Ａ３の上半分及びＦ４、及び
【００７８】
コンテンツブロックＤ８：Ａ３の下半分及びＡ５。
【００７９】
８つのコンテンツブロックのうち、４つのコンテンツブロック（Ｄ１〜Ｄ４）がデータペイロードに使用され、４つのコンテンツブロック（Ｄ５〜Ｄ８）がリードソロモン誤り訂正に使用されるため、本開示のマシンビジョンシステムは、コード３００を読み取る際に最大２つのコンテンツブロックの誤りを訂正することができる。４つのコンテンツブロックがデータペイロードに使用されると、コンテンツブロックは、最大２２４（又は１６，７７７，２１６）の固有コードを符号化することができる。
【００８０】
図３Ａは、標準光学素子サイズを決定するためにファインダ光学素子のサイズを使用した、７×７の光学素子サイズの光学コードの構成を示す。光学コード３００は、１２個のファインダ光学素子のみを必要とするが、本明細書で説明するように、実質的な遮蔽に耐えると同時に、コンテキスト光学素子内の３２個の固有の値及びコンテキスト光学素子内の１６，７７７，２１６の固有の値を符号化することができる。
【００８１】
図３Ｂは、データペイロードを有する機械可読光学コードの一実施例である。図３Ｂは、図３Ａに示す、ファインダ、コンテンツ、及びコンテキスト光学素子の同じ配置を有するが、図３Ｂでは、（コンテンツ光学素子を除く）各光学素子の数値表現又はビット状態を更に示す。例えば、１２個のファインダ光学素子（Ａ１、Ａ２、Ａ６、Ａ７、Ｂ１、Ｂ７、Ｆ１、Ｆ７、Ｇ１、Ｇ２、Ｇ６、及びＧ７）全てが「１」のビット状態を有する（したがって、図３Ｂでは白色として示される）。図３Ｂの光学コードは、反射シートの層を有する八角形の停止標識上に配置されるように設計されている。光学コードは、停止標識の再帰反射性基材上において、ビットが「０」又は黒色の領域、及び光学コードの境界の周辺エリアに、黒色赤外線インクを印刷するか、又は別の黒色化材料若しくは黒色化物質を配置することによって形成することができ、これにより、コードの画像がキャプチャされたときに、ファインダ光学素子がコードの周囲の黒色の背景との鋭いコントラストが生成される。
【００８２】
図３Ｂの光学コードは停止標識に適用されるように設計されているので、コンテキスト光学素子は、停止標識用分類情報を提供するように書かれる。例えば、例示的な分類システムでは、停止標識は「クラス２８」標識であり、これを示すために、コンテキストブロック１のビットは数字「２８」（又はバイナリで「１１１００」）と読めるように設定されている。したがって、コンテキスト光学素子ブロック１内のビットは、
【００８３】
光学素子１．０：ビット０、
【００８４】
光学素子１．１：ビット０、
【００８５】
光学素子１．２：ビット１、
【００８６】
光学素子１．３：ビット１、及び
【００８７】
光学素子１．４：ビット１、となる。
【００８８】
コンテキストブロック２〜５の残りの部分は、リードソロモン誤り訂正データで符号化される。誤り訂正データは、符号化されたメッセージに符号化される未加工のメッセージへの誤り訂正関数の適用に基づく。リードソロモン誤り訂正及びアルゴリズムが例示のために使用されるが、他のアルゴリズム及び誤り訂正技術も、本開示を閲読することにより当業者には明らかとなるであろう。
【００８９】
図３Ｃは、図３Ａの機械可読光学コード３００が（トラック３１０によって）右から遮蔽された一実施例である。図示した例では、コード３００の大部分が遮蔽されており、右上及び右下のファインダ光学素子ブロック、コンテキスト光学素子ブロック２及び５、並びにコンテンツ光学素子ブロックＤ３、Ｄ４、Ｄ６、及びＤ８が含まれている。この例では、遮蔽されたコンテンツ光学素子の数が、コンテンツ光学素子内に符号化された情報の再構成が不可能となる前に遮蔽されてもよいコンテンツ光学素子の数を上回るため、コンテンツ情報は読み取り可能ではないと考えられる。しかしながら、コンテキスト光学素子のうちの２つ（２及び５）のみが遮蔽されているだけなので、コンテキスト光学素子は復号することができる。
【００９０】
図３Ｄは、図３Ａの機械可読光学コード３００がトラック３１０の形態によって右から遮蔽された一例である。図示の例では、コード３００の一部分が遮蔽されており、コンテキスト光学素子ブロック２及び５、右上及び右下のファインダ光学素子ブロック、並びにコンテンツ光学素子ブロックＤ３及びＤ４の全てが含まれている。２つのコンテキスト光学素子ブロック（２及び５）のみ及び２つのコンテンツ光学素子ブロック（Ｄ３及びＤ４）のみが遮蔽されているので、コンテキストデータ（５ビット）及びコンテンツデータ（２４ビット）の両方を復号することができる。
【００９１】
図３Ｅは、図３Ａの機械可読光学コード３００がトラック３１０の形態によって底部から遮蔽された一実施例である。図示の実施例では、コード３００の底部の一部分が遮蔽されている。両方の下角部のファインダ光学素子が遮蔽され、コンテキスト光学素子ブロック４及び５が遮蔽され、コンテンツ光学素子ブロックＤ５、Ｄ６、及びＤ７が遮蔽されている。コンテキストデータは回復可能であり、５つのコンテキストビットは確実に復号することができる。しかしながら、コード３００が誤り訂正専用の４つのコンテンツ光学素子ブロックのみを含むためコンテンツデータは損なわれ、これは、損なわれた読み取りの場合では、２つのコンテンツ光学素子ブロックのみしか回復できないことを意味する。２つより多くのコンテンツ光学素子ブロックが損なわれているため、コンテンツデータのいずれも確実に復号することができない。
【００９２】
図３Ｆは、光学コード２００の底部がトラック３１０の形態によって底部から遮蔽された図３Ａの機械可読光学コードの一実施例である。この例では、両方の下角部のファインダ光学素子ブロックが遮蔽される。コンテキスト光学素子は遮蔽されない。コンテンツ光学素子ブロックＤ５及びＤ６は、遮蔽されている。コンテキスト光学素子ブロックが遮蔽されていないため、コンテンツデータは、確実に読み取るか又は復号することができる。２つのコンテンツ光学素子ブロックのみが遮蔽されているため、コンテンツ光学素子データは、誤り訂正によって回復することができ、コンテンツデータの２４ビット全てもまた、確実に読み取るか又は別の方法で復号することができる。
【００９３】
図３Ａ〜図３Ｆの画像は、様々な遮蔽シナリオを示し、これらのシナリオにおける遮蔽されたデータが回復される可能性を説明しているが、データを回復することに対する限界は、リードソロモン符号化技術に基づく例示的なものである。他の符号化技術又はアルゴリズムは、データ回復の可能性に関して他の結果をもたらし得る。
【００９４】
図４は、本開示と一致する例示的な標識構造４００を示す。本開示と一致する光学コードは、可動性又は固定であろうと、任意の物品に適用することができるが、図４は、光学コードが再帰反射シートを有する標識に適用される実施形態を示しており、この標識は、それ自体の上に光学コードが具現化されている。図４は、複数の層、再帰反射シート、及び本明細書で説明するような光学コードを有する標識の断面図である。層４１０は、基材とすることができる。典型的には、基材４１０は、金属などの剛性又は非可撓性を備え、かつ耐久性のある材料である。そのような好適な金属の１つは、アルミニウムである。他の実施形態では、基材４１０は、任意の剛性、半剛性、若しくは可撓性の物理的表面とするか、又はこれらを含むことができる。
【００９５】
再帰反射シート４２０は、本開示で説明したような再帰反射シートであってもよい。再帰反射シート４２０と基材４１０との間に接着剤層（図示せず）を配置して、再帰反射シート４２０を基材４１０に接着することができる。本開示と一致する利用可能な再帰反射シートの一例は、ミネソタ州セントポールの３Ｍ  Ｃｏｍｐａｎｙ（Ｓｔ．Ｐａｕｌ，Ｍｉｎｎｅｓｏｔａ）から入手可能な３Ｍ  Ｄｉａｍｏｎｄ  Ｇｒａｄｅ（商標）ＤＧ３  Ｒｅｆｌｅｃｔｉｖｅ  Ｓｈｅｅｔｉｎｇ  Ｓｅｒｉｅｓ  ４０００である。
【００９６】
層４３０は、通常層４２０上に印刷されるメッセージ又は画像を含む。層４３０は、図１Ａ〜図１Ｄに示す停止標識などの交通標識画像であってもよい。層４３０は、可視光スペクトル内の任意のメッセージ若しくは画像、又は層４４０内の光学コード以外の波長で可視化されるメッセージ若しくは画像を含んでもよい。単一の標識、ライセンスプレート、又は他の基材内の異なる波長で可視化される情報又は画像を含める例は、米国特許第８，８６５，２９３，号に、より詳細に記載されており、参照によりその全体が本明細書に明示的に組み込まれる。
【００９７】
層４４０は、図２Ａ〜図３Ｆに示す光学コードなどの、本開示と一致する光学コードを含む。層４４０内の光学コードは、様々な方法で形成することができる。例えば、光学コード４４０が可視光スペクトル内で可視化されるように設計されている場合、光学コード４４０は、暗い色（黒色などの）で明るい（又は白色）基材上に印刷することができる。層４４０内の光学コードがＩＲスペクトル（典型的には７００〜１０００ｎｍの範囲内だが、場合によっては、８５０ｎｍ又は９００ｎｍなどの波長を使用することができる）内で可視化されるように設計される場合、層４４０内の光学コードは、様々な方法で生成することができる。具体的には、層４４０の下にある再帰反射層４２０により、赤外スペクトル内の再帰反射を吸収、散乱、若しくは別の方法で阻害する材料又は物質で覆われていない層４２０の任意の部分は、白色か又は明るく見える。したがって、赤外スペクトル内の再帰反射を吸収、散乱、若しくは別の方法で消滅させる材料を適用することを用いて、層４４０内に黒色光学素子及び光学コードの周囲の境界を生成することができる。
【００９８】
使用することができる材料の例としては、ＩＲ吸収黒色インクを使用して黒色又は暗色であることが望ましい標識の印刷部分が挙げられる。別の例では、ＩＲ吸収多層光学フィルム（multi-layer optical film）（ＭＯＦ）は選択的に切断することができ、これにより、白色であることが所望される標識の任意の部分が除去され、フィルムが層４３０上に重ね合わされる。赤外線スペクトルで見た場合、フィルムは、白色であるように意図される光学コードのエリア内の再帰反射のみを可能にする。赤外線（infrared）（ＩＲ）スペクトルを本明細書で説明しているが、近赤外線スペクトル（約９５０ｎｍの波長を有する光）などの他のスペクトルを使用することもできる。層４４０内の光学コードが９５０ｎｍ光吸収フィルムで生成される場合、９５０ｎｍの光を光学コードを照明すると、黒色の印刷区域は光を吸収し、マシンビジョンシステムには黒色に見え、非印刷区域は明るく又は白色に見える。
【００９９】
標識４００は、層４４０の上に形成又は接着されるオーバーラミネート４４０を任意で含んでもよい。オーバーラミネート４５０は視覚的に透明な、赤外透過性材料で構成することができるが、多層光学フィルムに限定するものではない。
【０１００】
標識４００の構成における再帰反射層の使用は、いくつかの利点を提供することができる。例えば、情報が主に赤外スペクトルでキャプチャされ、画像内唯一の可視エリアが、再帰反射シート４２０から反射する光によって生成される明るい又は白色の光学素子である場合、光は、画像キャプチャデバイス及び／又はコンピューティングデバイスにとって画像内のＩＲ再帰反射性でない任意の物体を識別することが困難な条件でカメラに戻ってくることができる。これは、標識又は光学コードの周囲の背景、及び個人の顔、画像、又は他の識別情報などの他の個人情報を含む。
【０１０１】
更に、光学コードの白色部分又は明るい部分を生成する層４４０からの再帰反射光は、黒色エリア間の著しいコントラストを有する画像をもたらすことができ、これには光学コードと周囲の画像間の自然な境界又は遷移が含まれる。いくつかの既存のＱＲコードでは、コードの境界の全体又は一部の周囲に黒色光学素子を用いて、ＱＲコードの開始及び終了を、マシンビジョンシステムに示すことが必要となることがある。対照的に、標識４００上の光学コードを囲むエリアは、ＩＲスペクトルで黒色に見えるため、追加の境界光学素子は必要とされず、符号化効率をより大きくすることが可能になる。
【０１０２】
図５は、多次元機械可読光学コードを読み取るためのシステムの一実施例である。システム５００は、標識５２０を含む。標識面５２２は、可視光スペクトルで見ることができる画像、停止画像５２２、及び可視光スペクトルの外側の可視光スペクトル内で可視化される機械可読光学コード５３０を含む。標識５００は基材を有し、また、光学コード５３０の背後に再帰反射シートの層を含むことができる。
【０１０３】
光学コード５３０は、パターンに配置された、車両５１０に搭載されたマシンビジョンシステム５１２によって第１の距離から検出可能な、複数のファインダ光学素子を含む。光学コード５３０はまた、コンテキスト情報を表す複数のコンテキスト光学素子を含み、コンテキスト光学素子は、マシンビジョンシステムによって第１の距離から検出可能である。光学コード５３０はまた、コンテンツ情報を表す複数のコンテンツ光学素子を含み、コンテンツ光学素子は、マシンビジョンシステムによって第１の距離からは検出できないが、マシンビジョンシステムによって第２の距離からは検出可能であり、第２の距離は、第１の距離未満である。
【０１０４】
車両５１０が標識５２０に近づくと、マシンビジョンシステム５１２は、機械可読光学コードを検出し、処理する。マシンビジョンシステム５１２は、図５で可動型として示され車両５１０に搭載されているが、マシンビジョンシステムは固定であってもよく、又は他の機器若しくはデバイスに取り付けられてもよい。マシンビジョンシステム５１２は、画像センサ及び光源を含む赤外線カメラとすることができる。場合によっては、マシンビジョンシステムは、ＩＲスペクトルに対する画像センサの感度を増大させるフィルタを含む。マシンビジョンシステムの他の種類は、本開示を閲読することにより、当業者には明らかとなるであろう。
【０１０５】
マシンビジョンシステム５１２はコンピューティングデバイス５４０を含めることができ、これはネットワークを必要としない有線又は無線接続を介してコンピューティングデバイス５４０と直接接続される。他の例では、マシンビジョンシステム５１２は、１つ以上の通信リンク５５０Ａ、５５０Ｂを使用して、コンピューティングデバイス５４０と通信可能に結合することができる。コンピューティングデバイス５４０は、ネットワーク５５２によって車両５１０に接続されているように図示されているが、他の実施例では、コンピューティングデバイス５４０は、車両５１０内又は車両５１０に直接含まれ、車両と直接通信又は内部ネットワークを介して車両構成要素と通信することができる。
【０１０６】
マシンビジョンシステム５１２は、光学コードの画像をコンピューティングデバイス５４０に送信することができる。通信リンク５５０Ａ及び５５０Ｂは、有線又は無線接続を表すことができる。例えば、通信リンク５５０Ａ及び５５０Ｂは、ＷｉＦｉプロトコルを使用する無線イーサネット接続とすることができるか、及び／又はカテゴリー５若しくはカテゴリー６のケーブルを使用して有線イーサネット接続することができる。任意の好適な通信リンクが可能である。いくつかの実施例では、マシンビジョンシステム５１２は、ネットワーク５５２によってコンピューティングデバイス５４０と通信可能に接続される。ネットワーク５５２は任意の数の１つ以上のネットワーク接続されたデバイスを表し、パケット及び／又はフレームベースのデータの転送を提供するルータ、スイッチ、ハブ、及び相互接続通信リンクを含むが、これらに限定されるものではない。例えば、ネットワーク５５２は、インターネット、サービスプロバイダのネットワーク、顧客のネットワーク、又は任意の他の好適なネットワークを表することができる。他の実施例では、マシンビジョンシステム５１２は、ユニバーサルシリアルバス（Universal Serial Bus）（ＵＳＢ）リンクなどの直接接続によりコンピューティングデバイス５４０と通信可能に接続される。
【０１０７】
コンピューティングデバイス５４０は、１つ以上のデスクトップコンピュータ、ラップトップコンピュータ、メインフレーム、サーバ、クラウドコンピューティングシステムなどの、マシンビジョンシステム５１２と情報を送受信することができる、マシンビジョンシステム５１２と一緒か、若しくは離れた、単一のデバイスとなり得る、任意の好適なコンピューティングシステムを表す。いくつかの実施例では、コンピューティングデバイス５４０は、本開示の技術を実施する。
【０１０８】
図５の実施例では、コンピューティングデバイス５４０は、符号化構成要素５４２と、データ層６２６と、サービス構成要素５４６と、ユーザインターフェース（user interface）（ＵＩ）構成要素５４８とを含む。符号化構成要素５４２は、必要なデータ符号化スキーム又はアルゴリズムを光学コード５３０上のデータに適用することによって、光学コード５３０内に符号化されたデータを検出することができる。符号化構成要素５４２は、データ層６２６に問い合わせて、光学コード５３０から検出されたバイナリコードを機械可読情報に変換することができる。
【０１０９】
サービス構成要素５４６は、１つ以上の動作を実行することによって、様々なサービスを提供することができる。例えば、サービス構成要素５４６は、光学コードから読み取られたデータを受信すると、車両５１０上の自動運転構成要素を含む１つ以上の他のコンピューティングデバイスに送信される１つ以上のアラート、レポート、又は他の通信を生成することができる。そのようなアラートには、電子メール、テキストメッセージ、リスト、電話、又は、任意の他の好適な通信が含まれるが、これらに限定されるものではない。いくつかの実施例では、ユーザインターフェース（ＵＩ）構成要素５４８は、入力デバイスによって検出された入力を処理して他の構成要素に送信し、１つ以上の出力デバイスで提示することができる他の構成要素からの出力を生成する、コンピューティングデバイス５４０の様々な構成要素間の仲介者として機能することができる。例えば、ＵＩ構成要素５４８は、アラート、レポート、若しくは他の通信のデータ及び／又はグラフィック表現を含むことができる、表示用の１つ以上のユーザインターフェースを生成することができる。
【０１１０】
構成要素５４２、６２６、５４６、及び５４８は、コンピューティングデバイス５４０及び／又は１つ以上の他の遠隔のコンピューティングデバイスに存在し、稼働しているソフトウェア、ハードウェア、ファームウェア、若しくはハードウェア、ソフトウェア、及びファームウェアいずれもの組み合わせを使用して、本明細書で説明する動作を実行することができる。いくつかの実施例では、構成要素５４２、６２６、及び５４６は、ハードウェア、ソフトウェア、及び／又はハードウェア及びソフトウェアの組み合わせとして実装することができる。コンピューティングデバイス５４０は、１つ以上のプロセッサによって構成要素６２６、５４６、及び５４８を実行することができる。コンピューティングデバイス５４０は、基礎をなすハードウェア上で動作するバーチャルマシンとして、又はバーチャルマシン内で、構成要素５４２、６２６、５４６、又は５４８のいずれかを実行することができる。構成要素５４２、６２６、５４６、５４８は、様々な方法で実装することができる。例えば、構成要素５４２、６２６、５４６、又は５４８のいずれかは、ダウンロード可能か若しくはプリインストールされているアプリケーション又は「アプリ」として実装してもよい。別の実施例では、構成要素５４２、６２６、５４６、又は５４８のいずれかは、コンピューティングデバイス５４０のオペレーティングシステムの一部として実装することができる。
【０１１１】
図５では例示的な目的として、マシンビジョンシステムを車両５１０の一部又は車両５１０に搭載されているように示されている。車両５１０は、自動車、オートバイ、航空機、船舶、軍装備品、自転車、列車、又は任意の他の輸送車両とすることができる。他の実施例では、マシンビジョンシステム５１２は、ほんのいくつかの例を挙げれば、文書、衣類、ウェアラブル器具、建物、固定器具、若しくは任意の他の物体に取り付けられるか、含まれるか、若しくは埋め込まれるか、又は含めることができる。
【０１１２】
図５では、光学コード５３０が標識として組み込まれたように示されているが、光学コードは、ほんのいくつかの例を挙げれば、文書、衣類、ウェアラブル器具、建物、固定器具、若しくは任意の他の物体に実装するか、取り付けるか、含めるか、又は埋め込むことができる。
【０１１３】
いくつかの実施例では、光学コード５３０又は光学コード５３０が取り付けられた物品は、ベース面に適用された反射性、非反射性、及び／又は再帰反射性のシートを含むことができる。文字、画像、及び／又は任意の他の情報などであるが、これらに限定されない可視メッセージは、光学コード５３０物品上に印刷するか、形成するか、又は別の方法で具現化することができる。反射、非反射、及び／又は再帰反射のシートは、再帰反射シートをベース面に取り付けるための機械結合、熱結合、化学結合、又はその他の任意の好適な技術を含むが、これらに限定されない１つ以上の技術及び／又は材料を使用して、ベース面に適用することができる。ベース面は、反射、非反射、及び／又は再帰反射のシートを取り付けることができる物体（例えば上述したようなアルミニウム板など）の任意の表面を含むことができる。物品メッセージは、インク、染料、熱転写リボン、着色剤、顔料、及び／又は接着被覆フィルムのうちのいずれか１つ以上を使用して、シート上に印刷するか、形成するか、又は他のやり方で実現することができる。いくつかの実施例では、コンテンツは、多層光学フィルム、光学活性顔料若しくは染料を含む材料、又は光学活性顔料若しくは染料自体から形成されるか、又はこれらを含む。
【０１１４】
光学コード５３０を最初に製造又は作製するために、作製デバイス５７０を、作製デバイス５７０の動作を制御するコンピューティングデバイス５６０と連携して使用することができる。いくつかの実施例では、作製デバイス５７０は、光学コード５３０及び／又は標識５２０を印刷、配置、又は形成する任意のデバイスとすることができる。作製デバイス１３８の例としては、ニードルダイ、グラビア印刷機、スクリーン印刷機、熱転写印刷機、レーザプリンタ／彫刻機、ラミネータ、フレキソ印刷機、インクジェットプリンタ、赤外線インクプリンタが挙げられるが、これに限定されるものではない。いくつかの実施例では、光学コード５３０は、作製デバイス５７０によって作製された再帰反射シート又は赤外吸収若しくは散乱フィルム、及び場合によってはコンピューティングデバイス５６０とは異なる作業者又は企業により操作される別個の作製プロセス又はデバイスによって有効にすることができ、シートに物品メッセージを、及び／又はベース層（例えばアルミニウムプレート）にシートを適用することができる。
【０１１５】
作製デバイス５７０は、通信リンク５５０Ｄによってコンピューティングデバイス５６０と通信可能に接続することができる。コンピューティングデバイス５６０は、作製デバイス５７０の動作を制御することができる。例えば、コンピューティングデバイス５６０は、１つ以上の印刷仕様を含むことができる。印刷仕様は、可視標識面５２２及び光学コード５３０の特性（例えば、位置、形状、サイズ、パターン、構成又は他の空間的特性）を定義するデータを含むことができる。いくつかの実施例では、印刷仕様は、人間の作業者又は機械によって作成することができる。いずれにしても、作製構成要素５６２は、作製デバイス５７０にデータを送信して、プリンタ仕様に従って、作製デバイス５７０に可視画像又はメッセージ及び光学コードを印刷させることができる。
【０１１６】
いくつかの実施例では、作製構成要素５６２は、視覚的に遮蔽される可能性がある標識の１つ以上の推定領域又はエリアを判定することができる。そのような領域又はエリアは、少なくとも潜在的な視覚的遮蔽又は遮蔽の表現を含む１つ以上の画像に基づいて、ユーザによって定義され、ハードコードされるか、又は作製構成要素５６２によって判定することができる。いくつかの実施例では、作製構成要素５６２は、視覚的に遮蔽され得る特定の標識の異なる領域又はエリアをユーザが指定することができるグラフィカルユーザインターフェースを出力することができる。視覚的に遮蔽され得る領域又はエリアを判定することに基づいて、作製構成要素５６２は、物品上のブロック形状、サイズ、及び／又は位置を構成し、視覚的に遮蔽される可能性がある１つ以上の領域又はエリアが遮蔽された場合でも、光学素子セット内に符号化されたメッセージがそのままコンピューティングデバイスによって復号可能となる可能性を向上することができる。一例として、光学コードの右上象限内の領域又はエリアが視覚的に遮蔽される可能性がある場合、作製構成要素５６２は、メッセージを表す光学素子セットを右上角部以外の位置に配置しながら、右上象限の領域又はエリア内に配置された光学素子セット内に誤り訂正データをそのまま含めることができる。光学素子のサイズ、形状、及び位置の任意の数の他の可能な配分は、機械可読コードにとって既知か、又は推定される視覚的遮蔽エリアに基づいて可能となる。
【０１１７】
いくつかの実施例では、機械可読コード内のメッセージを復号するために、符号化構成要素５４２は、画像内のそれぞれの光学素子セットに対応する既定の位置を示す光学素子セットの位置データに少なくとも部分的に基づいて、光学素子セットを判定することができる。すなわち、光学素子セットの位置データは、異なる光学素子セット及び／又は個々の光学素子にマッピングされる座標又は他の位置値を示すことができる。符号化構成要素５４２は、光学素子セット内のそれぞれの光学素子に対応する既定の位置を示す光学素子の位置データに少なくとも部分的に基づいて、それぞれの光学素子に対応する階調度値を判定することができる。例えば、画像の既定の位置と光学素子との間の既知のマッピングを所与として、符号化構成要素は、その既定の位置（いくつかの実施例では、画素に対応する単一の点又は点のセットとすることができる）に対する階調度値を測定するか、又は判定することができる。符号化構成要素５４２は、階調度値と符号化された値との間のマッピングに少なくとも部分的に基づいて、メッセージの少なくとも一部分を判定することができる。例えば、符号化構成要素５４２は、階調度値と符号化された値との間の１つ以上の記憶されたマッピングにアクセスし、光学素子の検出された階調度値に基づいて、メッセージの一部分を表す復号された値のストリングを再構成する。
【０１１８】
図６は、多次元機械可読光学コードを読み取るためのシステムで使用するコンピューティングデバイスの一実施例である。図６は、図５に示したコンピューティングデバイス５４０の特定の一実施例のみを示す。コンピューティングデバイス５４０の多くの他の実施例は、他の例において使用することができ、例示的なコンピューティングデバイス５４０に含まれた構成要素のサブセットを含むことができる、又は図６の例示的なコンピューティングデバイス５４０に示されていない追加の構成要素を含むことができる。いくつかの実施例では、コンピューティングデバイス５４０は、サーバ、タブレットコンピューティングデバイス、スマートフォン、手首若しくは頭部装着型コンピューティングデバイス、ラップトップ、デスクトップコンピューティングデバイス、又は任意の他のコンピューティングデバイスとすることができ、これらはアプリケーション６２０に含まれた機能のセット、サブセット、又はスーパーセットを実行することができる。
【０１１９】
図６の実施例に示すように、コンピューティングデバイス５４０は、ユーザ空間６０２、カーネル空間６０４、及びハードウェア６０６に論理的に分割することができる。ハードウェア６０６は、ユーザ空間６０２及びカーネル空間６０４内で動作する構成要素用の動作環境を提供する１つ以上のハードウェア構成要素を含んでもよい。ユーザ空間６０２及びカーネル空間６０４は、メモリの異なる区域又は区分を表してもよく、カーネル空間６０４は、処理及びスレッドに対して、ユーザ空間６０２よりも高い権限を提供する。例えば、カーネル空間６０４は、ユーザ空間６０２内で動作する構成要素より高い権限を有して動作するオペレーティングシステム６２０を含むことができる。
【０１２０】
図６に示すように、ハードウェア６０６は、１つ以上のプロセッサ６０８、入力構成要素６１０、ストレージデバイス６１２、通信ユニット６１４、及び出力構成要素６１６を含む。プロセッサ６０８、入力構成要素６１０、ストレージデバイス６１２、通信ユニット６１４、及び出力構成要素６１６は、それぞれ１つ以上の通信チャネル６１８によって相互接続することができる。通信チャネル６１８は、構成要素６０８、６１０、６１２、６１４、及び６１６のそれぞれを相互に接続し、構成要素間の通信（物理的に可能な通信及び／又は動作）を行ってもよい。いくつかの実施例では、通信チャネル６１８は、ハードウェアバス、ネットワーク接続、１つ以上のプロセス間通信データ構造、若しくはハードウェア及び／又はソフトウェア間でデータを通信するための任意の他の構成要素を含むことができる。
【０１２１】
１つ以上のプロセッサ６０８は、コンピューティングデバイス５４０内の機能の実装及び／又は命令の実行を行うことができる。例えば、コンピューティングデバイス５４０上のプロセッサ６０８は、カーネル空間６０４及びユーザ空間６０２に含まれる構成要素の機能を提供する、ストレージデバイス６１２によって記憶された命令を受信して実行することができる。プロセッサ６０８により実行されるこれらの命令は、プログラムの実行中に、コンピューティングデバイス６１６にストレージデバイス６１２内の情報を記憶及び／又は変更させることができる。プロセッサ６０８は、カーネル空間６０４及びユーザ空間６０２内の構成要素の命令を実行して、本開示の技術に従った１つ以上の動作を実行することができる。すなわち、ユーザ空間６０２及びカーネル空間６０４に含まれる構成要素は、プロセッサ２０８を動作させて、本明細書に記載された様々な機能を実行することができる。
【０１２２】
コンピューティングデバイス５４０の１つ以上の入力構成要素６４２は、入力を受信することができる。入力の例としてほんのいくつかの例を挙げると、触覚入力、音声入力、動的入力、及び光入力がある。一実施例では、コンピューティングデバイス６１６の入力構成要素６４２には、マウス、キーボード、音声応答システム、ビデオカメラ、ボタン、制御パッド、マイクロフォン、又は人間若しくは機械からの入力を検出する任意のその他の種類のデバイスが含まれる。いくつかの実施例では、入力構成要素６４２は、存在感知スクリーン、タッチ感知スクリーンなどを含むことができる存在感知入力構成要素としてもよい。
【０１２３】
コンピューティングデバイス６１６の１つ以上の出力構成要素６１６は、出力を生成することができる。出力の例としては、触覚出力、音声出力、及びビデオ出力がある。いくつかの実施例では、コンピューティングデバイス５４０の出力構成要素６１６は、存在感知スクリーン、音声カード、ビデオグラフィックアダプタカード、スピーカ、陰極線管（cathode ray tube）（ＣＲＴ）モニタ、液晶ディスプレイ（liquid crystal display）（ＬＣＤ）、又は人間若しくは機械への出力を生成する任意の他の種類のデバイスを含む。出力要素としては、陰極管（ＣＲＴ）モニタ、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、又は触覚出力、音声出力、及び／若しくは視覚出力を生成する任意のその他の種類のデバイスといった、ディスプレイ構成要素を含めることができる。出力構成要素６１６は、いくつかの実施例では、コンピューティングデバイス５４０と統合されてもよい。他の実施例では、出力構成要素６１６は、コンピューティングデバイス５４０に対して物理的に外部にあり、別個であってもよいが、有線又は無線通信を介してコンピューティングデバイス５４０で動作可能なように接続することができる。出力構成要素は、コンピューティングデバイス５４０の外側パッケージング（例えば携帯電話上のスクリーン）内に配置され、物理的に接続されているコンピューティングデバイス５４０の組込構成要素とすることができる。別の実施例では、存在感知ディスプレイ６０２は、コンピューティングデバイス５４０のパッケージングの外側に配置されて物理的に分離されたコンピューティングデバイス５４０の外部構成要素（例えば、タブレットコンピュータと有線及び／又は無線データ経路を共有するモニタ、プロジェクタなど）とすることができる。
【０１２４】
コンピューティングデバイス５４０の１つ以上の通信ユニット６１４は、外部デバイスと通信してデータを送信及び／又は受信することができる。例えば、コンピューティングデバイス５４０は、通信ユニット６１４を使用して、セルラー無線ネットワークなどの無線ネットワーク上で無線信号を送信及び／又は受信してもよい。いくつかの実施例では、通信ユニット６１４は、全地球測位システム（Global Positioning System）（ＧＰＳ）ネットワークなどの衛星ネットワーク上で衛星信号を送信及び／又は受信してもよい。通信ユニット６１４の例としては、ネットワークインターフェースカード（例えばイーサネットカードなど）、光送受信機、無線周波数送受信機、ＧＰＳ受信機、もしくは情報を送信及び／又は受信することができる任意の他の種類のデバイスが挙げられる。通信ユニット６１４の他の例としては、モバイルデバイスに見られるＢｌｕｅｔｏｏｔｈ（登録商標）、ＧＰＳ、３Ｇ、４Ｇ、及びＷｉ−Ｆｉ（登録商標）無線通信、並びにユニバーサルシリアルバス（ＵＳＢ）コントローラなどを挙げることができる。
【０１２５】
コンピューティングデバイス５４０内の１つ以上のストレージデバイス６１２は、コンピューティングデバイス５４０の動作中に処理する情報を記憶することができる。いくつかの実施例では、ストレージデバイス６１２は一時メモリであり、これはストレージデバイス６１２の主要目的が長期の記憶ではないことを意味する。コンピューティングデバイス５４０上のストレージデバイス６１２は、情報の短期記憶用に揮発性メモリとして構成されてもよく、したがって、動作を停止すると、記憶していた内容は保持されない。揮発性メモリの例としては、ランダムアクセスメモリ（random access memories、ＲＡＭ）、ダイナミックランダムアクセスメモリ（dynamic random access memories、ＤＲＡＭ）、スタティックランダムアクセスメモリ（static random access memories、ＳＲＡＭ）、及び当該技術分野で既知の他の形態の揮発性メモリが挙げられる。
【０１２６】
いくつかの実施例では、ストレージデバイス６１２は、１つ以上のコンピュータ可読記憶媒体も含む。ストレージデバイス６１２は、揮発性メモリよりも多くの情報を記憶するように構成することができる。更にストレージデバイス６１２は、不揮発性メモリ空間として、情報の長期記憶用に構成され、アクティブ化／オフのサイクル後に情報を保持することができる。不揮発性メモリの例としては、磁気ハードディスク、光ディスク、フロッピィディスク、フラッシュメモリ、又は電気的プログラマブルメモリ（electrically programmable memories、ＥＰＲＯＭ）若しくは電気的消去及びプログラム可能メモリ（electrically erasable and programmable memories、ＥＥＰＲＯＭ）の形態が挙げられる。ストレージデバイス２１２は、ユーザ空間６０２及び／又はカーネル空間６０４に含まれる構成要素に関連付けられたプログラム命令及び／又はデータを記憶することができる。
【０１２７】
図６に示すように、アプリケーション６２８はコンピューティングデバイス５４０のユーザ空間６０２で動作する。アプリケーション６２８は、プレゼンテーション層６２２、アプリケーション層６２４、及びデータ層６２６に論理的に分割することができる。プレゼンテーション層６２２は、アプリケーション６２８のユーザインターフェースを生成してレンダリングするユーザインターフェース（ＵＩ）構成要素５４８を含むことができる。アプリケーション２２８は、ＵＩ構成要素５４８、アルゴリズム符号化構成要素５４２、データ層６２６、及び１つ以上のサービス構成要素５４６を含むことができるが、これに限定されるものではない。プレゼンテーション層６２２は、ＵＩ構成要素５４８を含むことができる。
【０１２８】
データ層６２６は、１つ以上のデータストアを含んでもよい。データストアは、構造形態又は非構造形態のデータを記憶することができる。例示的なデータストアは、リレーショナルデータベース管理システム、オンライン解析処理データベース、テーブル、又はデータを記憶するための任意の他の好適な構造、のうちのいずれか１つ以上であってよい。コンテンツデータストア６３４は、コンテンツ光学素子からのペイロードからなる一連のビット及びそれらの一連のビットに関連付けられた情報を含んでもよい。いくつかの実施例では、コンテンツデータストア６３４は、符号化又は復号された形態のメッセージを含んでもよい。コンテキストデータストア６３６は、コンテキスト光学素子からのペイロードからなる一連のビット及びそれらの一連のビットに関連付けられた情報を含んでもよい。いくつかの実施例では、コンテキストデータストア６３４は、符号化又は復号された形態のメッセージを含んでもよい。誤り訂正データ６３２は、コンテンツ光学素子及びコンテキスト光学素子内に見出されたペイロードデータの再構成及び検証を支援する誤り訂正アルゴリズムによって構築されたコードワードを形成する、一連のビットを含むことができる。サービスデータ６３８は、サービス構成要素５４６のサービス提供及び／又は提供した結果として得られる任意のデータを含んでもよい。例えば、サービスデータは、光学活性物品に関する情報（例えば、車両登録情報）、ユーザ情報、又は任意の他の情報を含むことができる。
【０１２９】
マシンビジョンシステム５１０は、画像をキャプチャし、ファインダ光学素子を使用して画像内に光学コード５３０が存在することを判定し、ＵＩ構成要素５４８又は通信チャネル５５０Ａ及び５５０Ｂを介してコンピューティングデバイス５４０に通信することができる。画像を受信したことに応じて、符号化構成要素５４２は、画像の特定の画像領域が光学コードを表すかどうかを判定することができる。リードソロモン復号又は誤り検出技術などの１つ以上の復号技術を適用することによって、符号化構成要素５４２は、コンテンツデータストア６３６及びコンテキストデータストア６３４との通信を介して、画像内の光学コードが、速度制限標識が前方にあること及び標識上の速度制限が時速５０キロメートルであることを示す一連のデータを表しているか判定することができる。
【０１３０】
サービス構成要素５４６は、ＵＩ構成要素５４８にアラート表示を生成させるデータをＵＩ構成要素５４８に送信するといった、符号化構成要素５４２によって生成されたデータに基づいた１つ以上の動作を実行することができる。いくつかの実施例では、サービス構成要素５４６は、車両の動作を変更することができる。例えば、サービス構成要素５４６は、車両の速度、加速度、方向、サスペンション、ブレーキ、又は任意の他の機能を変更することができる。ＵＩ構成要素５４８は、出力構成要素６１６のうちの１つの出力構成要素にデータを送信し、出力構成要素にアラートを表示させてもよい。コンピューティングシステムの１つの特定の実装形態を本明細書で説明しているが、本開示を閲読することにより、本開示の範囲と一致し、かつ本開示の範囲内のコンピューティングシステムの他の構成及び実施形態が、当業者に明らかになるであろう。
【０１３１】
いくつかの実施例では、作業区域などの動的環境は、自律型又は半自律型車両により大きな困難をもたらし得る。例えば、強化されたマップ及びＧＰＳに依拠することは、危険又は作業者が分単位又は時間単位で動的に再配置することができるので、強化されたマップ及びＧＰＳに依拠するのに限界があり得る。コンピューティングデバイス５４０は、自律型、半自律型、又は視覚支援型車両などの車両に実装されると、エリア内の他の物体又は遮蔽物によってコードの一部が視覚的に遮蔽された場合でも、そのような車両に確実に人々及びデバイスの位置を特定させ、そのようなエリアを通ってナビゲートすることを可能にする、本開示で説明するようなコードを有するリアルタイムのナビゲーションマーカーを提供することができる。いくつかの実施例では、本開示で説明するように、コードは、人間の目には見えないが、市販のマシンセンサでは見て取れる光の特定の波長となっている。作業区域デバイスに取り付けることができるこれらの固有の機械可読コードは、精密な物体検出及び高速処理を提供することができ、自律型、半自律型、又は視覚支援型ナビゲーションを可能にする。このように、本開示で説明するコンピューティングデバイス及び画像キャプチャデバイスを含む車両は、１つ以上のコード内に符号化された情報を判定したことに応じて、動作を変更することができる。
【０１３２】
いくつかの実施例では、本開示におけるそのようなコードを読み取るための機械可読光学コード及びシステムは、既存の統一交通管制装置便覧（Manual on Uniform Traffic Control Devices）（ＭＵＴＣＤ）規則及び／又は従来の作業区域材料との適合性がある。いくつかの実施例では、本開示の機械可読光学コードは、車両をナビゲートするための他の手順（例えばＧＰＳ、地図など）よりも、より高速かつ／又はより正確な検出及び処理を行うための情報を車両に提供することができる。いくつかの実施例では、汎用機械可読光学コードは、コードを具現化する物品のそれぞれの特定の種類に対して標準化されるか、又は一定にすることができる。いくつかの実施例では、特定の作業区域又は他の境界領域若しくはエリア内の異なる種類の物品に対して、異なった機械可読コードを使用することができる。いくつかの実施例では、機械可読コードは、人間若しくは作業者を表すように符号化された光学素子及び／又は情報に固有の空間構成を含むことができる。いくつかの実施例では、位置特定データを機械可読コードに符号化することができ、そのような位置特定情報は、物品又は物品の周囲エリアに関する局所的な特定の情報を示し、いくつかの実施例では、コードが位置する動的に変化する環境のためにＧＰＳ又はマップで利用できない場合がある。
【０１３３】
標識の分類及びデータ品質の改善に加えて、インフラストラクチャ物品は、高解像度マッピングによって提供される位置データを補完する機会を提供することができる。地図作成会社は、ドライバ及び自動運転車両による経路計画を支援し、道路上で車両に適切な位置を取らせるための、極めて詳細かつ動的なマップを作成している。現在の高解像度（high-definition）（ＨＤ）マッピングは、位置特定を提供するためのＳＩＦＴ（Scale Invariant Feature Transform）（スケール不変特徴変換）特徴の連続的解析に依拠している。信頼性のある特徴を開発するために、データの高密度マッピングが行なわれ、参照する車両がアクセス可能な方法で記憶されることがある。場合によっては、これは、時間がかかりかつ（経済的及び計算上の両方の点で）高価である。場合によっては、ＳＩＦＴ特徴として使用されるランドマークが変化し、ＳＬＡＭ（Simultaneous Localization and Mapping）（同時位置特定及びマッピング）を実行しようと試みている車両に困難を与えることもあり得る。
【０１３４】
本開示の技術は、標識に情報を埋め込むことによって正確なＧＰＳ情報を与えることができ、計算費用を軽減し、並びにＳＩＦＴ特徴を点群データと照合する際の曖昧さ、又は間違い易いアクションを低減することができる。
【０１３５】
いくつかの光学コードは、高精度のＧＰＳ座標、並びに標識固有の識別子を含んでいてもよい。光学コード上のファインダ及びタイミングモジュールは、平面姿勢推定技術を用いた正確な読み取り距離ベクトル判定を可能にする。この距離ベクトルと復号されたＧＰＳ座標とを組み合わせたコンピューティングデバイスは、（例えば）ＧＰＳデータが信頼できない場合がある都市の谷間であっても、現在のＧＰＳ座標を比較し、提供し、オフセット／ドリフト／誤り訂正を行い、位置を特定するための基準位置を指定する。
【０１３６】
一例として、車両マシンビジョンシステムは、標識の画像を、埋め込まれた光学コードを露出する赤外線光でキャプチャする。ファインダモジュールのサイズ及び傾きによって、コンピューティングデバイスによる正規化が可能となり、画像が正方形に戻される。モジュールのサイズは、分離された２つのファインダモジュール間に広がる多数の画素によって測定することができる。この画素カウントは、距離に比例している画素サイズと相関しており、画像の傾き量を基に、コンピューティングデバイスによるベクトル判定を可能にし、画素サイズは、標識までの特定の距離及び方向を伝える。標識位置の高精度のＧＰＳ座標、及びカメラがある場所の正確な投影により、カメラが車両上に配置された場所を車両が知っている限り、車両のＧＰＳ位置は、提供された標識ＧＰＳ及び適切な並進ベクトルからコンピューティングデバイスによって判定することができる。
【０１３７】
一意に識別された道路標識又は位置特定のための他の物品を使用することで、標識が座標位置及び標識ＩＤを積極的に確認することができ、不正確か又は誤った照合が生じる可能性が低くなるので、ＳＩＦＴ特徴に関する信頼に対しても好ましいものとなる。点群データ又はスケール不変特徴リストは、実際には、それ自体の形状以外に任意かつ固有の識別子を有していない可能性がある。多くの場合、これでも車両とって合理的かつ確実なものではあるが、地球上の特定の場所に相関する点又は特徴のセットを選択したかは確かではない。つまり、車両はおそらく正しく識別されているが、不正確である可能性もあり、不正確な位置特定によって予想される特徴を車両が見逃し始めるまで分からないことになる。位置特定のために光学コードを使用する本開示の技術は、改善された信頼性及び／又は確実性を提供することができる。
【０１３８】
固有のＩＤ並びに高精度の位置を有する標識又は他の物品を使用することにより、確認や、又は正しい標識を識別してその位置が検証される追加の信頼できる情報を提供することができる。車両が標識に記憶されたＧＰＳ座標を使用する必要がない場合であっても、車両はＧＰＳ座標を予測されたＳＩＦＴ特徴と照合させることができる。これにより、ＳＩＦＴ特徴に対するポジティブＩＤを提供することができ、関連の信頼レベルを増加させることができる。いくつかの実施例では、セキュリティ要素を導入することで、特定の標識がそのとおりの正確な標識であり、誤っているか又は無効ではないことを証明することができる。
【０１３９】
いくつかの実施例では、光学コードをグランドトルースの情報源として使用して、他のシステム又はモデルを訓練することができる。例示的モデルとしては、ニューラルネットワーク、ＳＶＭ分類子、又は任意の他の指導型学習モデルを挙げられる。光学コードに符号化されたデータをグランドトルース情報として使用することで、そのようなモデルを変換することができる。一例として、位置特定データなどの光学コードからのデータは、任意の他の特徴と共に特徴ベクトル内で構造化され、例えば画像データを分類するために使用されてもよい。例示的な分類には、画像データが特定の道路標識を示すか否かを分類することが含まれ得る。モデルに適用される特徴ベクトルにグランドトルース情報を含めることによって、モデルは、特定の道路標識を含む画像データをより正確に分類することができる。デジタル化された特定のデータ（例えば何らかのＥＣＣを有する光学コードデータ）をデジタル化されていない特定のデータ（例えば不完全に解像された画像データ）と併せて使用することで、デジタル化されていない特定のデータの分類を改善することができる。道路標識に関する画像データを分類する文脈で説明しているが、光学コードからのグランドトルースを使用する技術によって、デジタル化されていない特定のデータに対する分類子をより正確にするために、デジタル化された特定のデータを使用するという任意のシナリオを、より幅広く適用することができる。そのような技術は、分類子に追加の信号を提供するか、又は分類子の結果が正しいことを検証するためのチェックとして機能することができる。
【０１４０】
いくつかの実施例では、本開示の機械可読コードは、レーダー、光検出及び測距（Light Detection and Ranging）（ＬＩＤＡＲ）、近赤外線及び遠赤外線、又は任意の他の好適な技術などの１つ以上のセンサとの適合性があり得る。いくつかの実施例では、本開示の技術を実装する１つ以上の車両は、Ｖ２Ｘ又は他の好適な無線技術を使用して、本開示の機械可読コードから復号された情報を交換することができる。いくつかの実施例では、本開示の機械可読コードは、物品作製中に物品上に直接具体化されるか、又は後に既存の物品に適用されるデカール又は他の層で後から組み込まれてもよい。
【０１４１】
図７Ａは、入れ子状のコンテンツ光学素子を有する機械可読光学コード７００を示す。いくつかの実施例では、入れ子又は「子」光学素子は、親光学素子内に含めることができる。例えば、親光学素子セット７０２は、少なくとも１つの親光学素子７０６を含んでもよく、親光学素子７０６は、子光学素子セット（例えば、図７Ａのセル［Ａ，１］内に含まれる４つの光学素子）を更に含み、子光学素子セットは、子光学素子７０６などの光学素子のそれぞれのセットを含む。
【０１４２】
いくつかの実施例では、親光学素子の少なくとも１つの光学素子に対応する第１の符号化された値は、閾値距離以上の、画像キャプチャデバイスと物品との間の特定の距離で復号可能である。子光学素子セット内の光学素子のセットにそれぞれ対応する子の符号化された値は、画像キャプチャデバイスと物品との間の特定の距離で復号可能でなくてもよい。いくつかの実施例では、特定の距離は、第１の距離であり、子光学素子セット内の光学素子のセットにそれぞれ対応する子の符号化された値は、画像キャプチャデバイスと物品との間の第２の距離で復号可能であり、第２の距離は、第１の距離未満である。いくつかの実施例では、閾値距離は、画像キャプチャデバイスによってキャプチャされた画像の解像度が、視覚的に異なる子光学素子セットの１つ以上の光学素子間で、区別の可能性の閾値を上回り、視覚的に区別されない距離である。いくつかの実施例では、区別の可能性の閾値は、ユーザが定義するか、ハードコードするか、又は機械で生成することができる。
【０１４３】
入れ子状のコンテンツ及びコンテキスト光学素子は、前の図に示したコードのうちのいずれか１つに適用することができる。いくつかの実施形態では、光学コードは、コンテンツ光学素子及びコンテキスト光学素子の両方を含むことができる。入れ子状のコンテンツ光学素子は、それぞれがデータのビットとして個別に読み取ることができるか、又は単一のコンテキスト光学素子として一緒に読み取ることができる、４つのコンテンツ光学素子のブロックである。第１の距離から、光学コード７００は、行Ａ〜Ｂ、Ｃ〜Ｄ、Ｅ−Ｆ、Ｇ−Ｈ、Ｉ−Ｊ、Ｋ−Ｌ、及びＭ−Ｎ、並びに列１〜２、３〜４、５〜６、７〜８、９〜１０、１１〜１２、及び１３〜１４を有する７ｘ７のコードとして見える。図２Ａに示す画像と同様に、行Ｇ〜Ｈ及び列７〜８の光学素子は、ファインダ光学素子である。図７Ａの機械可読光学コードは、図２Ａとは異なり、入れ子状のコンテンツ光学素子を可能にするための光学素子内の階調度を使用するように示されている。
【０１４４】
図７Ｂ〜図７Ｃは、入れ子状のコンテンツ光学素子を有する機械可読光学コードの区域を示す。多くのマシンビジョンシステムでは、システムは、画像内の最も明るい色調及び画像内の最も暗い色調を検出することで、光学素子が「白色」又は「黒色」であるかを判定する。次に、マシンは、検出された白色と黒色との間の中間の色調より暗いあらゆるものは黒色であると判定されていると決定することで、画像を「二値化する」。中間（又は５０％）の色調よりも明るいあらゆるものは、白色であると判定される。この同じ原理は、コンテンツ光学素子の複数の層が入れ子状になった場合に適用することができる。
【０１４５】
２層コンテンツ光学素子のそのような一例は、列１１〜２、行Ｃ〜Ｄの交点を含むブロックに示されている。コード７００を生成する場合、交差する列１１〜１２、行Ｃ〜Ｄから構成されるブロック７１１は、（コンテキスト光学素子として）単一ブロックとして一緒に読み取られると、「０」として累積的に復号される。マシンビジョンシステムは、領域内の最も明るい色としてスケール７１０に示す濃淡０，０、及び最も暗い色としてスケール７１０上に示す濃淡１，１を検出するので、光学素子Ｃ〜Ｄ、１１〜１２内の全てのブロックに対して「０」として読み取るためには、７１１内の４つのブロックのそれぞれの濃淡は、スケール７１０上の５０％ラインを下回っていなければならない。
【０１４６】
ブロック７１１内の４つのコンテンツ光学素子のそれぞれに入れ子にされた情報を読み取るか、又は復号するために、マシンビジョンシステムは、ブロック７１１を分離し、二値化器でブロック７１１内の濃淡のみを較正することができる。濃淡はスケール７１０の５０％ライン未満であるため、次に二値化器は、（例えば輝度に基づいて）２５％ライン以下の黒レベルを有する任意の領域が「０」であり、かつ２５％ライン以上のあらゆるものが「１」であると判定する。したがって、７１１及び７１２内の４つのブロックが、単一の光学素子として一緒に読み取られたときに「０」として読み取られたとしても、コンテンツ光学素子として個別に読み取られると、Ｃ１１及びＤ１２は「０」、Ｃ１２及びＤ１１は「１」となる。
【０１４７】
同様に、ブロック７１３は、コンテキスト光学素子として第１の距離から読み取られた際に、「１」として読み取られる必要がある。これを実現するために、スケール７１０上の５０％ラインよりも大きい黒色の濃淡のみが使用され、それにより、コンテキスト光学素子７１３が第１の距離から読み取られると、マシンビジョンシステムは、４つのブロック全てが階調度スケール上の５０％ラインの上方にあるため、４つのブロック全てが「暗い」又は「黒色」であると判定する。ブロック７１４を分離して読み取るとき、マシンビジョンシステムは５０％ライン以上の階調度範囲のみを見ていることに基づいて、ブロック７１４内のコンテンツ光学素子が個別に読み取られるとき、Ｅ１１は、「０」、Ｅ１２、Ｆ１１、及びＦ１２は、「１」となる。
【０１４８】
ブロック又は光学素子７２１〜７２６は、３つのレベルの入れ子状のデータを使用した実装を示す。ブロック７２１は、第１の距離から読み取られるとき、黒色の全ての濃淡がスケール４２０上の５０％ラインを上回るため、「１」である。しかしながら、第２の、より近い距離から読み取られると、（ブロック７２２に示されるように）光学素子Ａ１１及びＡ１２は、これらの光学素子のそれぞれの内部の濃淡がブロック７２２を二値化するために使用される分割点となっている７５％ラインを下回るため、「０」として読み取られる。光学素子Ｂ１１及びＢ１２は、１として読み取られる。ブロック７２３が第３の（かつ最も近い）距離から読み取られると、マシンビジョンシステムは、光学素子Ａ１１、Ａ１２、Ｂ１１、及びＢ１２のそれぞれが４つの入れ子状の光学素子からできていることを検出することができる。光学素子Ａ１１及びＡ１２において、カラースペクトルは、スケール４２０上で１，０，０〜１，０，１の範囲であるため、Ａ１１内の４つの入れ子状の光学素子は、０、０、０、０として読み取られ、Ａ１２内の４つの入れ子状の光学素子は１、１、０、１として読み取られる。
【０１４９】
光学素子７２４は、単一のコンテキスト光学素子として第１の距離で読み取られたときに「０」として符号化されているため、光学素子７２４内で使用される全ての濃淡は、スケール７２０上の５０％の黒色レベルのラインを下回る。ブロック７２５が第２の距離で４つの別個のコンテンツ光学素子として読み取られるとき、光学素子Ａ１１は、「１」であり、Ａ１２、Ｂ１１、及びＢ１２は、それぞれ「０」である。ブロック７２６は、第１又は第２の距離のいずれかよりも近い第３の距離で読み取ることができ、ブロック７２５に関して言及した各コンテンツ光学素子は、ここで、４つの別個のコンテンツ光学素子として読み取ることができる。ブロックＡ１１内のコンテンツ光学素子は、１、１、０、０である。ブロックＡ１２内のコンテンツ光学素子は、１、０、１、０である。ブロックＢ１１内のコンテンツ光学素子は、１、０、１、０であり、ブロックＢ１２内のコンテンツ光学素子は１、０、０、１である。５０％の黒色レベルラインは、一例として提供されているが、１００〜１％の間の任意の値が利用可能である。
【０１５０】
本開示は、２段階の入れ子及び３段階の入れ子を具体的に説明しているが、画像キャプチャ及び処理技術の制限に基づいて、任意の所望のレベルの入れ子を実現することができる。例えば、５段階の入れ子を有するコードを実装するためには、階調度スケールを２５又は３２の階調度の色（又は灰色）に分割する必要があることになる。
【０１５１】
図８は、本開示の１つ以上の技術に従って、コンピューティングデバイスによって実行される例示的動作を含むフロー図８００を示す。例示のみを目的として、図５及び図６のコンピューティングデバイス５４０によって実行される、例示的な動作を以下に説明する。図８のいくつかの技術は、１つ以上の画像キャプチャデバイス、コンピューティングデバイス、又は他のハードウェアによって実行されてもよい。図８では、コンピューティングデバイス５４０は、本開示で説明するような機械可読コードに含まれる１つ以上の光学素子セットの画像を受信する（８０２）。画像は、カメラなどの画像キャプチャデバイスによってキャプチャされる。
【０１５２】
コンピューティングデバイス５４０は、画像が視覚的遮蔽を含むか否かを判定することができる（８０４）。いくつかの実施例では、コンピューティングデバイス５４０は、機械可読コードを表すマトリックスの少なくとも１つの縁部で視覚的遮蔽が生じるか否かを判定することができる。機械可読コードを表すマトリックスの少なくとも１つの縁部に視覚的遮蔽が生じない場合（８０６）、又は視覚的遮蔽が存在しない場合、コンピューティングデバイス５４０は、少なくとも１つの縁部からの１つ以上の光学素子に少なくとも部分的に基づいて、機械可読コードによって表されるメッセージを復号することができる（８１０）。いくつかの実施例では、コンピューティングデバイス５４０は、機械可読コード内に含まれる誤り訂正データを使用することなく、メッセージを復号することができる。視覚的遮蔽が機械可読コードを表すマトリックスの少なくとも１つの縁部に発生する場合（８０８）、コンピューティングデバイス５４０は、画像からの誤り訂正データに少なくとも部分的に基づいて、かつ視覚的に遮蔽された縁部内の光学素子を使用することなく、メッセージを復号することができる（８１２）。
【０１５３】
図９は、本開示の技術に従った、再帰反射物品、並びに例示的なヨー、ピッチ、及びロール軸を示す。いくつかの実施例では、再帰反射物品（例えば、速度制限標識）は、本開示の技術に従った光学コードを含んでもよい。いくつかの実施例では、本開示の光学コードは、道路用途などのインフラストラクチャ識別及びコンテキスト通信のために使用することができる。いくつかの実施例では、光学コードは、姿勢正規化の文脈で配置される２次元バーコードのわずかな回転を考慮してもよい。したがって、遮蔽堅牢性は、他の可能な実装の中でも、インフラストラクチャ用途でそのような光学コードを実装する利点又は利益となる。いくつかの実施例では、光学コードは、所定のメッセージにマッピングされた可変ビットペイロードを可能にする。
【０１５４】
いくつかの実施例では、本開示の光学コードは、道路インフラストラクチャにおいて利点を提供することができる多数の最適化を含んでおり、これによって多くの他のブロックマトリックスコードと差別化される。本開示の光学コードは、正確な検出、読み取り距離、及びコード破壊の通常メカニズムからの誤り回復の間で最適化することができる。
【０１５５】
インフラストラクチャの環境に起因して、標識及びインフラストラクチャ材料は、通常の遮蔽及び変形の特定のセットを有する。本開示の光学コードは、これらのタイプの遮蔽に対して誤り訂正及びデータレイアウトを最適化又は改善することができる。光学コードは、が縁部遮蔽から回復することができるデータは、他の遮蔽形式よりも多い。縁部遮蔽は、典型的なインフラストラクチャ運転シナリオにおいては一般的であり得る。
【０１５６】
いくつかの実施例では、本開示の光学コードの読み取り距離を増加させるために、これらの光学コードは、コードの発見及び姿勢推定専用のより少数のモジュールを有することができる。このファインダの詳細は、本開示で更に説明する。
【０１５７】
いくつかの実施例では、本開示の光学コードは、メタデータ情報を有さなくてもよく、特定の場合には、クワイエットゾーンを有さなくてもよい。これは、データマトリックス及びＱＲコードなどの他の一般的なコードから、光学コードを差別化する。メタデータモジュールの低減により、本開示の光学コードは、データ伝送において、より高い空間効率を可能にする。物理的コード寸法が標識のサイズによって制限されている標識の場合、空間効率が重要であり得る。必要とされるモジュールの数を低減することは、コードをより大きくし、データを更に離して復号することができること、又はより多くの誤り訂正を同様のサイズのコード上に配置することができることのいずれかを意味する。
【０１５８】
いくつかの実施例では、本開示の光学コードは、インフラストラクチャの一片の典型的な想定される向きを利用する。図９は、標識に関する軸を示すが、任意の物品を使用することができる。いくつかの実施例では、車両は、少量のロール回転、少量のピッチ回転、及び潜在的に著しいヨー回転を最大限有する光学コードを有する標識に遭遇することになる。
【０１５９】
いくつかの実施例では、以下のような様々な用語を参照することがある。
【０１６０】
いくつかの実施例では、「アライメントパターン」は、マトリックスシンボロジ内の定義された位置の固定基準パターンとすることができ、これにより、復号ソフトウェアが、画像に適度な歪み量がある場合に画像モジュールの座標マッピングを再同期することが可能となる。
【０１６１】
いくつかの実施例では、「ブロブ」は、クアッド内に含まれる抽出された画像とすることができる。
【０１６２】
いくつかの実施例では、「クロッキングエッジ」は、タイミング情報が符号化されている光学コードの縁部を指すことができる。
【０１６３】
いくつかの実施例では、「クロッキングパターン」は、タイミング又はクロッキングモジュールを指すことができる。
【０１６４】
いくつかの実施例では、「輪郭抽出」は、可能な限り小さな歪み又は歪みの閾値レベル未満の歪みを有する適切又は有効なモジュール／コードの視点を維持するように作用しながら、湾曲面又は輪郭面を平坦化し、それを２次元の平坦な画像に解像するプロセスとすることができる。
【０１６５】
いくつかの実施例では、「符号化領域」は、オーバーヘッドパターンによって占有されず、かつデータ及び誤り訂正コードワードを符号化するために利用可能な、シンボルの領域とすることができる。いくつかの実施態様では、符号化領域にバージョン及びフォーマット情報を含めることができる。
【０１６６】
いくつかの実施例では、「ファインダパターン」は、光学コードシンボルの存在を識別／認識するために使用されるモジュールのパターンとすることができる。多重解像度のコードでは、ファインダ及びクロッキングパターンを最大モジュールから作製することができる。
【０１６７】
いくつかの実施例では、「固定パターン」は、定位置に固定された光学コードシンボルの一部、部分、又は区域とすることができる。これは、ファインダパターン、タイミングパターン、及び近傍のクワイエットゾーンモジュールを含む。
【０１６８】
いくつかの実施例では、「カーネルサイズ」は、ピクセル数又は他の測定値の観点から定義されるサンプルウィンドウのサイズとすることができる。このカーネルは、数学形態演算を実行するために利用することができる。
【０１６９】
いくつかの実施例では、「モジュールクリアランス」は、コードの周囲のスペースを指すことができる。モジュールクリアランスは、コードが存在しなくてよい必要なクワイエットゾーンを画定することができる。一部の標識の実装（明色に対して暗色）では、モジュールクリアランスは、明るい画素のスペースとすることができる。
【０１７０】
いくつかの実施例では、構造化要素ＢによるセットＡの収縮の「モルフォロジカルオープン」の膨張は、
【数１】
2019537098.tif 000004
であり、式中、
【数２】
2019537098.tif 000005
は、収縮及び膨張をそれぞれ示す。オープニングは、画像の前景から小さい物体を除去し（通常は明るい画素として取られる）、それらを背景に配置することができる。
【０１７１】
いくつかの実施例では、「モルフォロジカルクローズ」は、構造化要素Ｂによってセット（二値画像）Ａがクローズされ、そのセットの膨張が収縮される「モルフォロジカルクローズ」は、
【数３】
2019537098.tif 000006
であり、式中、
【数４】
2019537098.tif 000007
は、膨張及び収縮をそれぞれ示す。クロージングは、前景の小さな孔を除去し、背景の小さな島を前景に変更することができる。
【０１７２】
いくつかの実施例では、「多重解像度」は、単一のコード内に複数のモジュールサイズクラスを有する光学コードシンボルを意味し、これは、単一解像度の光学コードとは異なることができる。
【０１７３】
いくつかの実施例では、「遮蔽」は、障害に起因して標識の区域を読み取ることができないことを意味し得る。これは、部分的又は全体的であってもよい。
【０１７４】
いくつかの実施例では、「オーバーヘッドパターン」は、シンボルの位置及びサイジング特性に必要なファインダパターン及びタイミングパターンを含むシンボルのオーバーヘッド構成要素とすることができる。
【０１７５】
いくつかの実施例では、「クアッド」は、光学コードの位置を定義する平行四辺形の４つの角とすることができる。
【０１７６】
いくつかの実施例では、「クワイエットゾーン」は、背景から光学コードを分離するために使用されるバッファエリアとすることができる。クワイエットゾーンのサイズは、バッファ又はモジュールクリアランスを構築するために必要とされるスペースのモジュールの数で指定することができる。
【０１７７】
いくつかの実施例では、「Ｒａｍｅｒ−Ｄｏｕｇｌａｓ−Ｐｅｕｃｋｅｒアルゴリズム」は、１つ以上の動作を指定し、線分（ポリライン）から構成される曲線を所与として、より少ない点を有する類似の曲線を見つけることができる。アルゴリズムは、元の曲線と簡略化された曲線との間の最大距離に基づいて、「相違」を定義する。簡略化された曲線は、元の曲線を定義した点のサブセットからなる。
【０１７８】
いくつかの実施例では、「繰り返しビット」は、ブロック内の区域を冗長に表し、したがって、遮蔽回復を可能にする、配置された又は位置するビットとすることができる。
【０１７９】
いくつかの実施例では、「再帰反射性」は、最小限の散乱量で、かつ広範囲の進入角度から、増加された光を光源へと反射し返すように設計された表面又は材料を指すことができる。
【０１８０】
いくつかの実施例では、「単一解像度」は、１つのモジュールサイズのみを有する光学コードの実装を指すことができ、これは、多重解像度の光学コードとは異なり得る。
【０１８１】
いくつかの実施例では、「タイミングパターン」は、シンボル内のモジュール座標を判定することを可能にする、暗いモジュール及び明るいモジュールの交互の列とすることができる。
【０１８２】
いくつかの実施例では、式及び等式で使用される数学記号は、それらの式又は等式が現れた後に定義される。本文書の目的のために、以下の数学的演算が適用される。
【数５】
2019537098.tif 000008
【０１８３】
図１０は、本開示の技術に従った、光学コードの例示的構造を示す。参照を容易にするために、モジュール位置は、（ｉ，ｊ）の形式で、シンボル内のその行及び列座標によって定義され、式中、ｉは、０で開始する計数を用いて、モジュールが位置する行（上から下に数える）ｊは、列（左から右に数える）を指定する。したがって、モジュール（０，０）は、シンボルの左上角に位置する。いくつかの実施例では、多重解像度の光学コードには、１つより多くののモジュールサイズが存在する。サイズは、モジュールサイズによって、分類及び参照することができる。したがって、最大モジュールクラスは、１とラベル付けされることがある。サイズ１は、サイズ２よりも大きいモジュールを有することになり、サイズ３よりも大きいモジュールを有することになる。
【０１８４】
いくつかの実施例では、バージョン情報は光学コードに符号化されず、その代わりに、全てのファインダテンプレートが候補画像に対してチェックされる。他の実施例では、バージョン情報は光学コードに符号化されてもよい。
【０１８５】
いくつかの実施例では、本開示に従って実装される光学コードは、以下の特性を含むことができる。
【０１８６】
ａ）フォーマット：
【０１８７】
１）遮蔽回復能力とデータ容量を所定のバランスで有する単一解像度コード。
【０１８８】
２）符号化された情報の複数の層、及び各層における遮蔽回復能力とデータ容量とのバランスを有する多重解像度コード。
【０１８９】
ｂ）符号化可能なデータ：
【０１９０】
１）単一解像度：数値データのみ。有効な数値の範囲は、１〜２（データビット数）とすることができる。
【０１９１】
２）多重解像度コード：それぞれの層に１つの数値データ。有効な数値の範囲は、その層に対して１〜２（データビット数）とすることができる。２層の多重解像度光学コードの一実装形態では、第１の層は、米国標識に関するＭＵＴＣＤ（統一交通管理装置便覧）（連邦道路管理局によって発行された）番号を表す。
【０１９２】
ｃ）データの表現：
【０１９３】
暗いモジュールは、名目上、二値の「ゼロ」であり、明るいモジュールは、名目上、二値の「１」である。この表現は、特定の用途においては反転させることができる。
【０１９４】
ｄ）シンボルサイズ（クワイエットゾーンを含まない）：
【０１９５】
１）単一解像度コード：少なくとも幅が５つのモジュール及び高さが５つのモジュールであるが、０より大きな任意の数が可能である。いくつかの実施例では、コードに関して上限が存在しないが、例示的な最大サイズは、高さ又は幅が２１個のモジュールである。いくつかの実施例では、そのような寸法に使用される最大サイズは、ゼロよりも大きい任意の数であってもよい。
【０１９６】
２）多重解像度コード：層が１つのモジュールよって定義される、少なくとも幅が７つのモジュール及び高さが７つのモジュールであるが、０より大きな任意の数が可能である。いくつかの実施例では、定義された上限は存在しない。いくつかの実施例では、そのような寸法に使用される最大サイズは、ゼロよりも大きい任意の数であってもよい。
【０１９７】
ｅ）コードタイプ：マトリックス
【０１９８】
ｆ）向き独立性：
【０１９９】
あり。いくつかの実施例では、光学コードは、向き独立性を有する。他の実施例では、光学コードは、向き依存であってもよい。いくつかの実施例では、向きを固定することで、コード設計及び復号アルゴリズムにおける特定の利点が可能となる。
【０２００】
いくつかの実施例では、光学コードは、反射反転を使用してもよい。シンボルは、マークされると読み取られるように意図されてもよく、そのため、画像は明色に対して暗色、又は暗色に対して明色のいずれかである。いくつかの実施例では、仕様は、明るい背景に対する暗い画像に基づくが、これが当てはまらない場合、明るいモジュールは暗いモジュールとして、及び暗いモジュールは明るいモジュールとして用いてもよい。いくつかの復号技術は、標準的なコード及び反射反転コードの両方を復号することを試みないことがあるが、他の実施例では、同時に両方を復号するように実行することができる。
【０２０１】
いくつかの実施例では、繰り返しビットは光学コードと共に使用されてもよい。例えば、遮蔽回復の可能性を更に増加させるために、光学コードは繰り返しビットを利用することができる。
【０２０２】
図１０に示すように、光学コードは、コードスタイル及びデータペイロードによって規定される規則に従って配置又はレイアウトされた正方形モジュールのセットからなる矩形マトリックスであってもよい。
【０２０３】
図１１は、本開示の技術に従った、単一解像度光学コードを示す。単一解像度光学コードは、クワイエットゾーンを含まない少なくとも幅が５つのモジュール及び高さが５つのモジュールとすることができるが、０より大きな任意の数が可能である。いくつかの実施例では、コードのサイズに関して、絶対的上限は存在しない。
【０２０４】
図１２は、本開示の技術に従った、多重解像度光学コードを示す。多重解像度光学コードは、様々なサイズのモジュールで構成することができる。モジュールは、依然として形状が正方形であってもよく、特定の解像度のデータペイロードでは全てのモジュールが同じサイズであるように作成されてもよい。いくつかの実施例では、サイズに関する基準モジュールは、最大モジュールに関するものである。いくつかの実施例では、データペイロードは、モジュールサイズによって分類され、参照される。いくつかの実施例では、データペイロード１は、データペイロード３よりも大きいモジュールを有することになるデータペイロード２よりも大きいモジュールを有することができる。
【０２０５】
いくつかの実施例では、多重解像度光学コードに対する最小サイズは、少なくとも幅が７つのモジュール及び高さが７つのモジュールであるが、０より大きい任意の数が可能である。いくつかの実施例では、多重解像度光学コードに対する最大サイズは存在しない。いくつかの実施例では、データペイロードの最大数は存在しない。いくつかの実施例では、コードは、サイズに関して１５モジュールよりも大きくなくてもよく、２つのデータペイロードが典型的に使用される。
【０２０６】
図１２は、２つのペイロードを有する多重解像度コードに対する例示的なレイアウトを示す。図１２では、最大モジュール、つまり最大距離から読み取ることができるものは、番号付けされたブロックによって示されている。モジュールの第２の解像度は、小文字のブロックによって示されている。このコードでは、データペイロード１及びデータペイロード２の両方が８ビットのサイズであるが、これは必要な条件ではない。各ペイロードのブロックサイズは、別のペイロードのブロックサイズから独立したものであってもよい。実際には、データペイロード１のブロックサイズは、任意の他のデータペイロードのブロックサイズ以下であってもよい。
【０２０７】
いくつかの実施例では、光学コードのためのファインダ及びクロッキングパターンは、コードの発見及び物体の姿勢の正規化の両方に必要とされるモジュールの閾値を下回り、最小化又は低減するように選択されてもよい。いくつかの実施例では、このファインダ及びクロッキングパターンは、データ及び誤り訂正のコードスペースの割合がより高くなるように、サイズが縮小されてもよい。
【０２０８】
図１３及び図１４は、光学コードのためのファインダ及びクロッキングパターンを示す。光学コードのファインダパターン角部は、クワイエットゾーンの反対の色とするか、又は常にクワイエットゾーンの反対の色である。クロッキングパターンは、上縁部に沿って配置することができ、白色及び暗いモジュールとの間で交互になる。この動作の例外は、モジュールの数の中で光学コードの幅が偶数になる場合である。この場合、中間の２つのモジュールが両方とも同じ色となる。いくつかの実施例では、ファインダ及びクロッキングパターン規則は、単一解像度及び多重解像度の光学コードの両方に適用される。多重解像度のコードについては、ファインダ及びクロッキングパターンは最大モジュールから作製することができる。
【０２０９】
いくつかの実施例では、クワイエットゾーンは、光学コードの４つの辺全てに対して他のあらゆるマーキングがないようにしなければならない。ファインダパターンの幅は、少なくとも１つのモジュールであってもよいが、０より大きい任意の数が可能である。多重解像度コードに関して、幅は、少なくとも光学コードに含まれる最大モジュールサイズの幅とすることができる。反転されたコードスタイルに関して、コードの全てのモジュールは、クワイエットゾーンを含めて反転させることができ、クワイエットゾーンは、コードの周囲の明るいバンドになり、幅を少なくとも２モジュール増加させるが、０より大きい任意の数が可能である。
【０２１０】
光学コードが再帰反射物品（例えば交通標識）に付着されると、背景は十分なファインダパターンとして機能することができる。そのような実施例では、追加のファインダパターンが必要でなくなり得る。光学コードは、再帰反射物品の外縁部上のファインダ及びクロッキングパターンを用いて作成することができる。
【０２１１】
いくつかの実施例では、光学コードのための繰り返しビットパターンは、ブロックに冗長性を追加することによって、遮蔽の影響が閾値を下回って最小化するか、又は低減するように実装されてもよい。いくつかの実施例では、繰り返しビットは、特定のブロックに対してより高いレベルの遮蔽を可能にするように配置することができる。
【０２１２】
図１３〜図１４は、本開示の技術による、異なるクロッキングパターンを示す。図１３は、偶数サイズのクロッキングパターンを示す。図１４は、奇数サイズのクロッキングパターンを示す。
【０２１３】
図１５は、本開示の１つ以上の技術に従って、光学コードに含めることができる繰り返し（repeating）ビット又は反復（repetition）ビットを示す。例えば、図１５は、反復ビットを使用する例を示す。図１５では、データ及び誤り訂正ブロックからの特定のビットが繰り返され、パディングビットに使用される。これは、復号において、より高い潜在的遮蔽回復を可能にする効果を有する。
【０２１４】
いくつかの実施例では、符号化手順は、１つ以上のコンピューティングデバイスによって実施することができる。符号化手順は、データを、光学コードに含まれるパターン又は他の視覚的特徴に変換することができる。以下の動作は、単一解像度の光学コードに関する符号化の一例を提供し、多重解像度は、データの各層に対してこの動作を繰り返すことによって作成することができる。
【０２１５】
動作１：コード選択。コンピューティングデバイスは、例えば、データブロック及び誤り訂正ブロックの数などのパラメータ、又は任意の他の好適なパラメータに基づいて、光学コードを選択する。
【０２１６】
動作２：データ符号化。コンピューティングデバイスは、数字又は他の値をバイナリビットストリームに変換し、ビットストリームを選択されたブロックサイズに分割する。
【０２１７】
動作３：コンピューティングデバイスは、誤り訂正コードを計算することができ、これには、符号化されたデータに対する誤り訂正データブロックを計算することを含むことができる。
【０２１８】
動作４：コンピューティングデバイスは、各ブロックからデータ及び誤り訂正コードを付加し、繰り返し又はパディングビットを追加することによって、最終メッセージを構成することができる。
【０２１９】
動作５：最終メッセージに基づいて、コンピューティングデバイスは作製デバイスと連携して、マトリックス内にモジュールを配置することができる。コンピューティングデバイスは、作製デバイスに、ファインダ及びクロッキングパターンと共に、コードワードモジュールをマトリックス内に配置させることができる。いくつかの実施例においては、多重解像度の光学コードでは、ファインダ及びクロッキングパターンは最大モジュール上にのみ配置することができる。
【０２２０】
いくつかの実施例では、符号化手順は、１つ以上の動作を含むことができる。例えば、コンピューティングデバイスは、所与の光学コードレイアウトに対して意図されたデータペイロードを判定することができる。符号化される数値は、大きなエンディアン２進数に変換することができる。次いで、コンピューティングデバイスは、データビットスペース全体が消費されるまで、この数値を先行するゼロで埋めることができる。
【０２２１】
いくつかの実施例では、コンピューティングデバイスは、結果として得られたビットストリームを可変ビットコードワードに分割することができる。コンピューティングデバイスは、バージョンに必要な多数のデータコードワードを満たすように文字を埋めることができる。いくつかの実施例では、コンピューティングデバイスは、入力データ列を分析してそのコンテンツを判定し、本開示で説明するような各シーケンスを符号化するためのデフォルト又は他の適切な拡張チャネル解釈（Extended Channel Interpretation）（ＥＣＩ）及び適切なモードを選択することができる。
【０２２２】
いくつかの実施例では、コンピューティングデバイスは、誤り訂正コードワードを用いて符号化を実行することができる。コンピューティングデバイスは、１つ以上の動作を実行して、単一及び多重解像度の光学コードの両方に対してデータ及び誤り訂正コードワードを生成することができる。例えば、コンピューティングデバイスは、所与の光学コードレイアウトに対して意図されたデータペイロードを判定することができる。符号化される数字又は値は、コンピューティングデバイスによって大きなエンディアン２進数に変換することができる。この数字は、コンピューティングデバイスによって、データビットスペース全体が消費されるまで、先行するゼロで埋めることができる。
【０２２３】
シンボル印刷及びマーキングのための様々な技術を本明細書で説明する。単一解像度の光学コードに関してのＸ寸法、例えばモジュールの幅は、パラメータを指定するユーザ又は機械で生成される入力によって指定することができ、これには読み取られることになる距離、固定物理サイズのシンボルに対して所望されるデータペイロード、使用されるスキャンニング技術、及びシンボルを製造するために使用される技術、又は任意の他の好適なパラメータが含まれるが、これらに限定されるものではない。Ｙ寸法に関して、モジュールの高さは、いくつかの実施例ではＸ寸法に等しくてもよく、他の実施例では、Ｘ及びＹ寸法は異なっていてもよい。いくつかの実施例では、最小クワイエットゾーンに関して、コンピューティングデバイスは、（暗色に対する白色、及び非可視光スペクトルで）クワイエットゾーンを定義しなくてもよいが、他の場合では、最小１モジュールのかなりのゾーンが使用されてもよく、最小２モジュールのクワイエットゾーン又は１より大きい任意の他の数を使用することもできる。
【０２２４】
多重解像度の光学コードに関してのＸ寸法、例えば最小モジュールの幅は、パラメータを指定するユーザ又は機械で生成される入力によって指定することができ、これには読み取られることになる距離、固定物理サイズのシンボルに対して所望されるデータペイロード、使用されるスキャンニング技術、シンボルを製造するために使用される技術、又は任意の他の好適なパラメータが含まれるが、これらに限定されるものではない。
【０２２５】
いくつかの実施例では、それぞれのより大きいモジュールサイズクラスは、最小モジュールサイズの倍数であってもよい。利用されるモジュールサイズクラスの数は、光学コードに符号化されることになるデータの量、及び、より大きい距離で復号することができるより大きいモジュールクラスと、より高いデータ密度を含むことができるより小さいモジュールクラスとのバランスに基づいて生成することができる。いくつかの実施例では、コンピューティングデバイスは、任意の定義されたクラスサイズが可能であっても、２つのモジュールクラスサイズを判定することができる。Ｙ寸法に関して、モジュールの高さは、いくつかの実施例では、所与のモジュールクラスＸ寸法と等しくてもよく、他の実施例では、Ｘ及びＹ寸法は異なっていてもよい。
【０２２６】
いくつかの実施例では、クワイエットゾーンのサイズは、ファインダ、タイミング、及び他のオーバーヘッドモジュールといった、光学コードのコンピューティングデバイスによって利用される最大モジュールサイズに基づく。最小クワイエットゾーンは、１つのクラス１（最大）モジュールであってもよく、いくつかの実施例では、クワイエットゾーンバッファの２つのモジュールがあってもよい。他の実施例では、最小クワイエットゾーン及びクワイエットゾーンバッファのサイズは、ゼロより大きい任意の数であってもよい。
【０２２７】
いくつかの実施例では、人間が読み取り可能か又は人間が解釈可能な記述が使用することができる。人間が解釈可能なとは、人間の理解を意図した形態であることを意味し得る。いくつかの実施例では、付随する人間が読み取り可能な記述は、光学コードに付随させることができる。しかしながら、他の実施例では、データ文字の人間が読み取り可能な解釈は、実用的ではない場合がある。代替として、文字通りのテキストではなく記述的テキストを光学コードに付随させることができる。文字サイズ及びフォントは指定されなくてもよく、メッセージは、光学コードを囲むエリア内の任意の場所に印刷することができる。いくつかの実施例では、人間が読み取り可能な解釈は、光学コード自体にもクワイエットゾーンに干渉しないことがあるが、印刷する場合には機能に干渉しない方法で、光学コード又はそのクワイエットゾーンの上又は下に印刷されてもよい。
【０２２８】
いくつかの実施例では、シンボル品質パラメータを定義し、使用することができる。グリッド不均一性に関しては、グリッドを本開示で提供されるような基準復号アルゴリズムの使用によって配置される、ファインダパターン及びアラインメントパターンをアンカー点として使用することによって計算することができる。いくつかの実施例では、コンピューティングデバイスは、グリッドの均一性を評価するために、コードが曲面上に巻かれる場合に、画像を平坦化することができる。光学コードが曲面上に具現化される場合、グリッド不均一性の測定は、既に平坦化された画像上のコンピューティングデバイスによって実行されてもよい。
【０２２９】
スキャングレードに関して、スキャングレードは、シンボルコントラスト、変調、固定パターン損傷、復号、軸方向不均一性、グリッド不均一性、及びシンボルの個々の画像内の未使用誤り訂正に対する最低のグレード（又は閾値未満）とすべきである。１つ以上の画像が分析される場合、全体のシンボルグレードは、個々のスキャンの平均とすることができる。
【０２３０】
いくつかの実施例では、コンピューティングデバイスは、本明細書で説明するような１つ以上の復号動作を実行することができる。例えば、コンピューティングデバイスは、光学コードの画像を取得することができる。コンピューティングデバイスは、画像内の光学コードの位置を特定（例えば識別）し、明るいモジュール及び暗いモジュールを１（明るい）０（暗い）（又は反転されたコードに対してはその逆）に変換することができる。コンピューティングデバイスは、候補コードスタイルに対するファインダを探索することによって、コードサイズ／スタイルを識別することができる。コンピューティングデバイスは、コードレイアウトマップを使用してリードソロモンコードワードを抽出することができる。複数の解像度を含むスタイルに対して、コンピューティングデバイスは、１つ以上の定義された解像度でコードを再サンプリングし、１つ以上の定義されたレイアウトを使用して、追加のコードワードを抽出することができる。いくつかの実施例では、コンピューティングデバイスは、各抽出されたコード解像度に対する適切なコードワードサイズ及び誤り訂正レベルのためのリードソロモンデコーダを構成することができ、次いで、コンピューティングデバイスは、それぞれの誤りを検出し訂正することができる。コンピューティングデバイスは、本開示で説明する１つ以上の動作における更なる処理のために訂正可能であったか、又は訂正を必要としなかったペイロードを生成するか又は提供することができる。
【０２３１】
図１６は、本開示の技術による、基準復号アルゴリズムを示す。基準復号アルゴリズムは、認識されている光学コードを、周辺環境よりもコードを明るくするのに十分な光強度を有する撮像センサと並置された光源によって照明することができる、再帰反射パラダイムを実施することができる。
【０２３２】
図１６に示すように、基準復号は、クアッド抽出を含む１つ以上の動作を含むことができる。例えば、コンピューティングデバイスは、画像内の非再帰反射要素（太陽又は他の光源からの周囲照明）より明るい画像に対して、１つ又は複数の閾値（例えば、８ビットの画像に対して８０、５０、３３）を判定することができる。コンピューティングデバイスは、この閾値を使用して、画像を閾値の上及び下の画素の２値画像（又は複数の画像）に変換することができる。反転されたコードの第２のパスに対して、コンピューティングデバイスは、８ビット画像に対する２１０、２３０の画素値閾値を使用することができる。
【０２３３】
コンピューティングデバイスは、例えば３×３ｐｘの矩形だが、０より大きい任意の数が可能である）小さいカーネルサイズを用いたモルフォロジカルオープンを実行して、画像内の点反射要素及び他の明るいアーチファクトを除去することができる。いくつかの実施例では、この動作は、反転されたコード探索を備えた第１のパスに対してはスキップされてもよい。コンピューティングデバイスは、モルフォロジカルクローズ動作を実行して、光学コードモジュールを単一のブロブに接続するか、又は反転されたコードで周囲の明るいクワイエットゾーン内の穴／欠陥を充填することができる。反転されたコードに対しては、画像が、光学コードが具現化されている物品の周囲の大部分に隣接するクワイエットゾーンを有することができるため、このカーネルサイズは、９×９ｐｘ（だが０よりも大きい任意の数が可能である）などの小さいものとすることができる。反転されていないコードに対しては、コンピューティングデバイスは、異なるサイズ／スケール（例えば、１５×１５、４５×４５、９０×９０だが、０より大きい任意の数が可能である）で、複数のモルフォロジカルオープンのカーネルハンドルコードを使用することができる。
【０２３４】
いくつかの実施例では、コンピューティングデバイスは、Ｒａｍｅｒ−Ｄｏｕｇｌａｓ−Ｐｅｕｃｋｅｒアルゴリズムを使用して、輪郭を四辺形に再近似することができる。コンピューティングデバイスは、長い縁部を単一セグメント（例えば、輪郭周辺部の０．２％）に低減することができる近似精度（イプシロン）を使用することができる。いくつかの実施例では、（湾曲した角部を有する標識、クアッドとして良好に表されていない形状などの）４つより多くののセグメントが残っている場合、コンピューティングデバイスは、最も長い４つをそれらの交点の計算と共に使用して、境界クアッドを取り出すことができる。あるいは（又は加えて）、コンピューティングデバイスは、４つのセグメントのみが残る（より変化しやすいクアッド角部の選択をもたらす傾向がある境界ボックスの完了なしに、単独で使用される）まで、イプシロンを調整することができる。いくつかの実施例では、コンピューティングデバイスは、結果として得られた四辺形のアスペクト比（例えば、０．３〜３）及び角部の角度（例えば、標準（角度）＜１０度）をチェックして、矩形と著しく異なる（例えば閾値より大きい）候補を破棄することができる。
【０２３５】
いくつかの実施例では、基準復号アルゴリズムは、ブロブ抽出を実行することができる。例えば、コンピューティングデバイスは、四辺形の四辺形領域に対して、標準化されたサイズへのパースペクティブ変換を実行することができる（例えば、様々なコードサイズの縁部長さの公倍数、１１×１１及び９×９−＞９９×９９だが、０より大きい任意の数が可能である。反転されたコードを探索する場合、超過の解像度を提供して、物品上のモジュールに対して２ｐｐｍよりも著しく大きいことを確実にすることができる。例えばここでは２９７×２９７だが、０より大きい任意の数が可能であり得る）。８ｘ８の近隣にわたるＬａｎｃｚｏｓ補間などのより高次の補間の使用により、コード縁部を保存することができる。
【０２３６】
いくつかの実施例では、コンピューティングデバイスは、反転されたコードを探索する場合に使用することができる、第２の又は複数の追加のパスを実行してもよい。コンピューティングデバイスは、左縁部から幅の５％、右縁部から幅の５％、上部から高さの５％、底部からの高さの５％を切り取ることができる。現在の例では、５％は一例であるが、１％より大きい任意の他の割合（例えば、１％〜２５％の範囲）が使用されてもよい。コンピューティングデバイスは、画像からパーセンタイル値を５％減算する（コードを暗くする）ことができる。いくつかの実施例では、コンピューティングデバイスは、最大値及び最小値を０〜２５５に正規化してもよい。コンピューティングデバイスは、１及び４×４のグリッドのクリップ限度を有するコントラスト制限適応ヒストグラム均一化を適用することができる。他の実施例では、クリップ限度及びグリッドサイズは、１より大きい任意の数であってもよい。コンピューティングデバイスは、画像を反転させる（２５５−（画素値））ことができる。コンピューティングデバイスは、各縁部上の５５画素（又は、ゼロよりも大きい任意の他の好適な数）を、平均値（後にモルフォロジカルクローズに使用される最大のカーネルよりも大きい値）で埋めることができる。
【０２３７】
コンピューティングデバイスは、クアッド及びブロブ抽出を繰り返して、ファインダ探索の次のフェーズに進むことができる。いくつかの実施例では、コンピューティングデバイスは、ブロブ抽出のために、クアッド抽出における閾値を２１０及び２３０の画素値で置き換えることができるが、０より大きい他の例示的な閾値が可能である。コンピューティングデバイスは、３×３のモルフォロジカルオープンのカーネルを使用することができるが、各寸法に対して０より大きい他の寸法が可能である。コンピューティングデバイスは、モルフォロジカルクローズに対するカーネルサイズを２５×２５、３５×２４、４５×４５で置き換えることができるが、サイズのそれぞれが０より大きい任意の他の寸法が可能である。コンピューティングデバイスは、ブロブ抽出のために１０８×１０８の出力ブロブサイズを使用することができるが、サイズのそれぞれが１より大きい任意の他の寸法が可能である。コンピューティングデバイスは、４０のスペース及び色の両方に対して直径３（だが、０より大きい任意の直径が可能である）及びシグマを有する両面フィルタを適用してもよいが、０より大きい任意のシグマが可能であり得る。いくつかの実施例では、コンピューティングデバイスは、最大値及び最小値を０〜２５５に正規化してもよい。コンピューティングデバイスは、画像を反転させる（例えば２５５−（画素値））ことができる。コンピューティングデバイスは、反転されたコードのみを探索する場合には、第１のパスからソースブロブを落とすことができる。
【０２３８】
いくつかの実施例では、基準復号アルゴリズムは、ファインダ探索を実行することができる。例えば、コンピューティングデバイスによって実施されるファインダ検索は、探索している光学コード形状（例えば、１１×１１、９×９、Ｎ×Ｎ、又はＮ×Ｍ）に対してクアッドを補間し、閾値処理し、二値化し、異なる様々な回転のファインダモジュール構成と比較することができる。コンピューティングデバイスは、ファインダ領域に一致するモジュールの数によって候補をスコアリングすることができる。
【０２３９】
いくつかの実施例では、基準復号アルゴリズムは、光学コードからデータを復号することができる。例えば、コンピューティングデバイスは、ファインダ探索からの最も高いか又は高いスコアリング候補（単数又は複数）からの２値化された画像を使用し、対応するコードレイアウトに従ってコードワードを抽出することができる。いくつかの実施例では、明るい区域はバイナリの１を反映し、暗い区域はゼロを反映している（反転されたコードでは、これは、元の画像キャプチャの反対である）。コンピューティングデバイスは、元の画像を補間し、存在するコードに任意で追加される解像度に対して２値化し、適切なレイアウトマップを使用してコードワードを抽出することができる。コンピューティングデバイスは、対応するコードスタイルのブロックサイズ（単数又は複数）、訂正可能なブロック（単数又は複数）に対するリードソロモン誤り訂正を構成し、本開示で説明するように誤り訂正を実行することができる。いくつかの実施例では、コンピューティングデバイスは、本開示で説明する１つ以上の動作で使用するための誤り訂正を使用して、正しい又は訂正可能なコードに対するペイロード（単数又は複数）を生成又は提供してもよい。
【０２４０】
図１７〜図１８は、本開示の技術に従った、物品上に具現化された光学コードのモジュールクリアランスを示す。図１７は、縁部に１モジュールのクリアランスを有するサンプルの光学コードレイアウトを示す。図１８は、代替の、ダイヤモンド型の物品形状（例えば、インフラストラクチャ物品）が４５度反時計回りに回転したレイアウトを示す。
【０２４１】
光学コードは、図１７〜図１８に示すようなコードのクロッキングエッジが標識の上部に向かって向けられる（例えば図１７の）ように、物品又は標識上に具現化されてもよい。いくつかの実施例では、これを行うことで、コンピューティングデバイスがシーン内のコードの位置を特定し復号するときに、追加の仮定を行うことができる。いくつかの実施例では、光学コードを標識縁部から最大１モジュール延ばすことができ、クワイエットゾーンを残しながらコード内のモジュールサイズを最大化する。いくつかの実施例では、最大及び／又は最小クワイエットゾーンは存在しない。
【０２４２】
反転されたコードスタイルに対して、クワイエットゾーン／エッジクリアランスは、サイズを最低でも２モジュール増加させることができる。この構成では、最大クワイエットゾーンは存在しなくてもよいが、第１のパス中のブロブ抽出は、コードモジュールに対して複合のために十分な解像度（少なくとも２ｐｐｍだが潜在的にはより大きい）を残してもよい。
【０２４３】
標識サイズに対するコードのサイズを最大にできるように、クロッキングエッジを標識の左上縁部と平行に向けることができるダイヤモンド形状の標識（図１８の反時計回りに４５度回転させたもの）を用いるなどの、いくつかの変形が可能である。しかしながら、光学コードを、回転されないレイアウトでの少なくとも１つのモジュールのクリアランス（上縁部に沿ったクロッキング）を有する標識上に配置することができる場合、これは、撮像性能を改善及び／又は最大化することができる。
【０２４４】
いくつかの実施例では、コンピューティングデバイスは、誤り検出を実行するか、及び／又は訂正原始多項式を使用することができる。リードソロモン誤り訂正は、ガロア域（Galois Field）（ｇｆ）下で動作するように、コンピューティングデバイスによって実施することができる。光学コードは、この域をタイプｇｆ（２ｍ）にすることができる。いくつかの実施例では、ｍの値は、６又は８である。ｍは、０より大きい任意の値であってもよいが、６又は８などの値が、コード密度／コードサイズと復号偽陽性率との間のトレードオフとして選択されてもよい。いくつかの実施例では、ｍの値が増加するにつれて、光学コードのサイズがより大きくなり、復号の誤判定率はより低くなる。
【０２４５】
表２は、最大ｇｆ（２１６）のフィールドサイズに対する原始多項式を提供する。
【表２】
2019537098.tif 000009
【０２４６】
いくつかの実施例では、コンピューティングデバイスは、ｇｆ（２ｍ）下でリードソロモン誤り訂正アルゴリズムを使用して、本開示の光学コードを符号化及び／又は復号することができる。リードソロモンコードを復号するための多数の潜在的アルゴリズムが存在する。以下の動作は、本開示によるコンピューティングデバイスによって使用される動作であるが、多くの他の動作が可能である。コンピューティングデバイスは、受信したコードワードメッセージ及び誤り訂正シンボルの数を所与として、シンドローム多項式を計算することができる。コンピューティングデバイスは、消去が取り扱われないと仮定し、元のシンドロームからＦｏｒｎｅｙシンドロームを計算することができる。コンピューティングデバイスは、Ｂｅｒｌｅｋａｍｐ−Ｍａｓｓｅｙアルゴリズムを使用して、誤りロケータ多項式を計算することができる。コンピューティングデバイスは、誤りロケータ多項式と共にＣｈｉｅｎ探索アルゴリズムを使用して、誤り位置を計算することができる。誤り位置を所与として、コンピューティングデバイスは、誤りを解決し、結果として得られたデータを返すことができる。
【０２４７】
図１９は、本開示の技術に従った、固定パターン情報を有する光学コードを示す。光学コードへの固定パターン損傷には、以下の（ａ）２つのモジュールの左上のファインダパターン及び４つのクワイエットゾーンモジュール（ファインダ１Ｌ）、２つのモジュールの右上のファインダパターン及び４つのクワイエットゾーンモジュール（ファインダ１Ｒ）、左下の３つのモジュールのファインダパターン及び５つのクワイエットゾーンモジュール（ファインダ２Ｌ）、右下の３つのモジュールのファインダパターン及び５つのクワイエットゾーンモジュール（ファインダ２Ｒ）を含むファインダパターン、並びに（ｂ）左のファインダと右のファインダとの間のモジュールのパターン化された行（クロッキング）を含むタイミング情報が含まれ、評価されるが、これに限定されるものではない。
【０２４８】
固定パターン損傷等級付けに関して、固定パターンの各セグメントへの損傷は、そのセグメント内で不正確にスコアリングされたモジュールの数に基づいて、コンピューティングデバイスによって等級付けすることができる。続いて、全体の固定パターン損傷グレードは、任意の個々のセグメントの最低スコアに基づいて、コンピューティングデバイスによって割り当てることができる。
【０２４９】
コンピューティングデバイスは、候補グレースケール画像に対して画像二値化を実行することができる。（最小グレースケール値と最大グレースケール値との間の中点に基づいて閾値を計算する。コンピューティングデバイスは、中点を上回るあらゆるものに対して１をスコアリングし、下回るあらゆるものに対して０をスコアリングすることができる）。
【０２５０】
各セグメントに対して、スコアリングする以下の手順に従い、コンピューティングデバイスは、（ａ）所与のセグメントに対して、結果として得られる二値化されたモジュールを各モジュールに対する期待値と比較し、（ｂ）不一致の数を計数し、（ｃ）以下の表３にスコアリングされたような誤りの数に基づいてセグメントグレードを適用することができる。
【表３】
2019537098.tif 000010
【０２５１】
いくつかの実施例では、スキャングレードは、ＩＳＯ／ＩＥＣ  １５４１５に従って評価された標準パラメータに対するグレード、及び本開示に従って評価された固定パターン損傷に対するグレードのうちの最低のものとすることができる。
【０２５２】
いくつかの実施例では、作業区域などの動的環境は、自律型又は半自律的型車両により大きな困難をもたらし得る。例えば、危険又は作業者は分単位又は時間単位で動的に再配置することができるので、強化されたマップ及びＧＰＳに依拠するのにも限界があり得る。コンピューティングデバイス５４０は、自律型、半自律型、又は視覚支援型車両などの車両に実装されると、エリア内の他の物体又は遮蔽物によってコードの一部が視覚的に遮蔽された場合でも、そのような車両に確実に人々及びデバイスの位置を特定させ、そのようなエリアを通ってナビゲートすることを可能にする、本開示で説明するようなコードを有するリアルタイムのナビゲーションマーカーを提供することができる。いくつかの実施例では、本開示で説明するように、コードは人間の目には見えないが、市販のマシンセンサでは見て取れる光の特定の波長となっている。作業区域デバイスに取り付けることができるこれらの固有の機械可読コードは、精密な物体検出及び高速処理を提供することができ、自律型、半自律型、又は視覚支援型ナビゲーションを可能にする。このように、本開示で説明するコンピューティングデバイス及び画像キャプチャデバイスを含む車両は、１つ以上のコード内に符号化された情報を判定したことに応じて、動作を変更することができる。
【０２５３】
いくつかの実施例では、本開示におけるそのようなコードを読み取るための機械可読光学コード及びシステムは、既存の統一交通管制装置便覧（Manual on Uniform Traffic Control Devices）（ＭＵＴＣＤ）規則及び／又は従来の作業区域材料との適合性がある。いくつかの実施例では、本開示の機械可読光学コードは、車両をナビゲートするための他の手順（例えばＧＰＳ、地図など）よりも、より高速及び／又はより正確な検出及び処理を行うための情報を車両に提供することができる。いくつかの実施例では、汎用機械可読光学コードは、コードを具現化する物品のそれぞれの特定の種類に対して標準化されるか、又は一定にすることができる。いくつかの実施例では、特定の作業区域又は他の境界領域若しくはエリア内の異なる種類の物品に対して、異なった機械可読コードを使用することができる。いくつかの実施例では、機械可読コードは、人間若しくは作業者を表すように符号化された光学素子及び／又は情報に固有の空間構成を含むことができる。
【０２５４】
いくつかの実施例では、位置特定データを、機械可読コードに符号化することができ、そのような位置特定情報は、物品又は物品の周囲エリアに関する局所的な特定の情報を示し、いくつかの実施例では、コードが位置する動的に変化する環境のためにＧＰＳ又はマップで利用できない場合がある。標識の分類及びデータ品質の改善に加えて、インフラストラクチャ物品は、高解像度マッピングによって提供される位置データを補完する機会を提供することができる。マ地図作成会社は、ドライバ及び自動運転車両による計画経路を支援し、道路上の車両に適切な位置を取らせるための、極めて詳細かつ動的なマップを作成している。現在の高解像度（high-definition）（ＨＤ）マッピングは、位置特定を提供するためのＳＩＦＴ（Scale Invariant Feature Transform）（スケール不変特徴変換）特徴の連続的解析に依拠している。信頼性のある特徴を開発するために、データの高密度のマッピングが行なわれ、参照する車両がアクセス可能な方法で記憶されることがある。場合によっては、これは、時間がかかりかつ（経済的及び計算上の両方の点で）高価となる。場合によっては、ＳＩＦＴ特徴として使用されるランドマークが変化し、車両がそのＳＬＡＭ（Simultaneous Localization and Mapping）（同時位置特定及びマッピング）を実行しようと試みている車両に困難を与えることもあり得る。
【０２５５】
本開示の技術は、標識に情報を埋め込むことによって正確なＧＰＳ情報を与えることができ、計算費用を軽減し、並びにＳＩＦＴ特徴を点群データと照合する際の曖昧さ、又は間違い易いアクションを低減することができる。
【０２５６】
いくつかの光学コードは、高精度のＧＰＳ座標、並びに標識固有の識別子を含んでいてもよい。光学コード上のファインダ及びタイミングモジュールは、平面姿勢推定技術を用いた正確な読み取り距離ベクトル判定を可能にする。この距離ベクトルと復号されたＧＰＳ座標とを組み合わせたコンピューティングデバイスは、（例えば）ＧＰＳデータが信頼できない場合がある都市の谷間であっても、現在のＧＰＳ座標を比較し、提供し、オフセット／ドリフト／誤り訂正を行い、位置を特定するための基準位置を指定する。
【０２５７】
一例として、車両マシンビジョンシステムは、標識の画像を、埋め込まれた光学コードを露出する赤外線光でキャプチャする。ファインダモジュールのサイズ及び傾きによって、コンピューティングデバイスによる正規化が可能となり、画像が正方形に戻される。モジュールのサイズは、分離された２つのファインダモジュール間に広がる多数の画素によって測定することができる。この画素カウントは、距離に比例している画素サイズと相関しており、画像の傾き量を基に、コンピューティングデバイスによるベクトル判定を可能にし、画素サイズは、標識までの特定の距離及び方向を伝える。標識位置の高精度のＧＰＳ座標、及びカメラがある場所の正確な投影により、カメラが車両上に配置された場所を車両が知っている限り、車両のＧＰＳ位置は、提供された標識ＧＰＳ及び適切な並進ベクトルからコンピューティングデバイスによって判定することができる。
【０２５８】
一意に識別された道路標識又は位置特定のための他の物品を使用することで、標識が座標位置及び標識ＩＤを積極的に確認することができ、不正確か又は誤った照合が生じる可能性が低くなるので、ＳＩＦＴ特徴に関する信頼に対しても好ましいものとなる。点群データ又はスケール不変特徴リストは、実際には、それ自体の形状以外に任意かつ固有の識別子を有していない可能性がある。多くの場合、これでも車両にとって合理的で確実なものではあるが、地球上の特定の場所に相関する点又は特徴のセットを選択したかは確かではない。つまり、車両はおそらく正しく識別されているが、不正確である可能性も残されており、それは不正確な位置特定によって予想される特徴を車両が見逃し始めるまで分からないことになる。位置特定のために光学コードを使用する本開示の技術は、改善された信頼性及び／又は確実性を提供することができる。
【０２５９】
固有のＩＤ並びに高精度の位置を有する標識又は他の物品を使用することにより、確認や、又は正しい標識を識別して、その位置が検証される追加の信頼できる情報を提供することができる。車両が標識に記憶されたＧＰＳ座標を使用する必要がない場合であっても、車両はＧＰＳ座標を予測されたＳＩＦＴ特徴と照合させることができる。これにより、ＳＩＦＴ特徴に対するポジティブＩＤを提供することができ、関連性の信頼レベルを増加させることができる。いくつかの実施例では、セキュリティ要素を導入することで、特定の標識がそのとおりの正確な標識であり、誤っているか又は無効ではないことを証明することができる。
【０２６０】
いくつかの実施例では、光学コードをグランドトルースの情報源として使用して、他のシステム又はモデルを訓練することができる。例示的モデルとしては、ニューラルネットワーク、ＳＶＭ分類子、又は任意の他の指導型学習モデルが挙げられる。光学コードに符号化されたデータをグランドトルース情報として使用することで、そのようなモデルを変換することができる。一例として、位置特定データなどの光学コードからのデータは、任意の他の特徴と共に特徴ベクトル内で構造化され、例えば画像データを分類するために使用されてもよい。例示的な分類には、画像データが特定の道路標識を示すか否かを分類することが含まれる。モデルに適用される特徴ベクトルにグランドトルース情報を含めることによって、モデルは、特定の道路標識を含む画像データをより正確に分類することができる。デジタル化された特定のデータ（例えば何らかのＥＣＣを有する光学コードデータ）をデジタル化されていない特定のデータ（例えば不完全に解像された画像データ）と併せて使用することで、デジタル化されていない特定のデータの分類を改善することができる。道路標識に関する画像データを分類する文脈で説明しているが、光学コードからのグランドトルースを使用する技術によって、デジタル化されていない特定のデータに対する分類子をより正確にするためにデジタル化された特定のデータを使用する任意のシナリオを、より幅広く適用することができる。そのような技術は、分類子に追加の信号を提供するか、又は分類子の結果が正しいことを検証するためのチェックとして機能することができる。
【０２６１】
本開示は、既存のバーコード技術に対する様々な利点を提供することができる。例えば、本開示は、バーコードの一部分が遮蔽された場合であっても、マシンビジョンシステムによって情報をバーコードから読み取ることができる。これは、バーコードを含む標識又は物品が損傷していたり、又は標識の視認性が、汚れ、雪、他の干渉物体、若しくは道路の自然な湾曲によって妨げられる状況において利点を提供する。具体的には、本開示は、コードの縁部全体が遮蔽された場合であっても、縁部遮蔽から回復する能力を提供する。これは、コードのエリア全体にわたってランダム又は分散された誤りに対処するように設計された誤り訂正とは対照的である。縁部遮蔽から回復する能力を有することにより、コードが標識上のコード又は交通の文脈で使用され得るように、コードを読み取る際の遮蔽又は誤りがコードの単一のエリアに集中する可能性が最も高い環境における有効な解決策を提供する。
【０２６２】
一例では、本開示は、誤り訂正を伴う２次元機械可読光学コードを含む。光学コードは、行及び列を含むマトリックス構成で配置された複数の光学素子を備え、複数の光学素子はデータを符号化する。マトリックスの最上行、最下行、右列、又は左列のいずれか１つが遮蔽されている場合でも、光学素子内に符号化されたデータは正確に復号することができる。
【０２６３】
場合によっては、複数の光学素子は、複数のファインダ光学素子を含み、ファインダ光学素子は、マシンビジョンシステムが画像内の光学コードの位置を特定することを可能にする。場合によっては、光学コードは、３６個未満のファインダ光学素子を含む。
【０２６４】
場合によっては、複数の光学素子は、コンテキスト情報を表す複数のコンテキスト光学素子を更に含み、コンテキスト光学素子は、マシンビジョンシステムによって第１の距離から検出可能である。
【０２６５】
場合によっては、複数は、コンテンツ情報を表す複数のコンテンツ光学素子を更に含み、コンテンツ光学素子は、マシンビジョンシステム及び第１の距離では検出できないが、マシンビジョンシステムによって第２の距離から検出可能であり、第２の距離は第１の距離未満である。
【０２６６】
場合によっては、コンテキスト光学素子及びコンテンツ光学素子は、リードソロモン誤り訂正を可能にするように配置される。
【０２６７】
場合によっては、光学コードは、少なくとも７３６ビットのデータを表す。
【０２６８】
場合によっては、コンテンツ光学素子は、指示情報を含む。
【０２６９】
場合によっては、コンテキスト光学素子は、設置、位置、又は製造業者の情報を含む。
【０２７０】
別の実施形態では、本開示は、本明細書で説明するような、基材と、フィルム層と、光学コードと、を備える標識を含む。場合によっては、標識は再帰反射層を更に備える。
【０２７１】
別の実施形態では、本開示は、２次元機械可読光学コードを読み取るためのシステムを含む。システムは、標識を備える。標識は、基材と、２次元機械可読光学コードと、を含む。光学コードは、行及び列を含むマトリックス構成で配置された複数の光学素子を含み、複数の光学素子は、データを符号化し、マトリックスの最上行、最下行、右列、又は左列のいずれか１つが遮蔽されている場合でも、光学素子内に符号化されたデータは正確に復号することができる。システムは、２次元機械可読光学コードを検出し処理するためのマシンビジョンシステムを更に備える。
【０２７２】
別の実施形態では、本開示は、誤り訂正を伴う２次元機械可読光学コードを読み取る方法を含む。方法は、マシンビジョンシステムによって、行及び列を含むマトリックス構成で配置された複数の光学素子を検出し、複数の光学素子がデータを符号化することを含み、複数の光学素子を検出することとでも、光学素子内に符号化されたデータは正確に復号することができ、マトリックスの最上行、最下行、右列、又は左列のいずれか１つが遮蔽されている場合でも、光学素子内に符号化されたデータは正確に復号することができる。
【０２７３】
場合によっては、複数の光学素子は、複数のファインダ光学素子を含み、ファインダ光学素子は、マシンビジョンシステムが画像内の光学コードの位置を特定することを可能にする。
【０２７４】
場合によっては、光学コードは、３６個未満のファインダ光学素子を含む。
【０２７５】
場合によっては、複数の光学素子は、コンテキスト情報を表す複数のコンテキスト光学素子であって、コンテキスト光学素子は、第１の距離からマシンビジョンシステムによって検出可能である、複数のコンテキスト光学素子、及びコンテンツ情報を表す複数のコンテンツ光学素子を更に含み、コンテンツ光学素子は、マシンビジョンシステム及び第１の距離では検出できないが、第２の距離からマシンビジョンシステムによって検出可能であり、第２の距離は第１の距離未満である。
【０２７６】
場合によっては、コンテキスト光学素子及びコンテンツ光学素子は、リードソロモン誤り訂正を可能にするように配置される。
【０２７７】
場合によっては、光学コードは、７ｘ７のサイズを有し、少なくとも６３ビットのデータを表す。
【０２７８】
場合によっては、コンテンツ光学素子は、指示情報を含む。
【０２７９】
場合によっては、コンテキスト光学素子は、設置、位置、又は製造業者の情報を含む。
【０２８０】
場合によっては、標識は、再帰反射層を更に備える。
【０２８１】
バーコードは、様々な車両用途で使用されてきた。車両用途で使用される場合、バーコードは、ライセンスプレート又は標識上で利用可能である。バーコードはマシンビジョンシステムで読み取ることができ、場合によっては自動車両認識（automatic vehicle recognition）（ＡＶＲ）システムでも可能となる。そのようなシステムの例示的な使用法は、例えば、自動料金徴収（例えば電子料金徴収システム）、交通法取締り（例えば赤信号通過システム、速度取締りシステム）、輸送インフラストラクチャの交通標識又は他の要素の情報の検出、犯罪に関連する車両の捜査、アクセス制御システム、及び施設アクセス制御である。理想的なマシンビジョンシステムは、高精度な（すなわち１００％正確な）結果を提供し、高精度で一定距離からバーコードを読み取ることができる。
【０２８２】
ライセンスプレート、標識、又は任意の他の制御されていない環境上のバーコードを読み取ることは、（１）ライセンスプレート材料又は標識の様々な反射特性、（２）マシンビジョンシステムの様々な解像度、（３）バーコードを有する物体と比較したマシンビジョンシステムが搭載された物体の相対速度、（４）周囲照明の幅広い変化、（５）ライセンスプレート又は標識の取り付け位置及び／又は傾斜、（６）例えば他の車両、汚れ、雪、道路上の物品、自然障壁によるライセンスプレート又は標識の遮蔽、（７）道路の垂直又は水平の湾曲など、を含む様々な困難をもたらす。
【０２８３】
標識及びライセンスプレート上のバーコードは、多数の特許及び出願に記載されている。いくつかの公報（例えば、欧州特許公開第０４１６７４２号、及び米国特許第６，８３２，７２８号）では、ナンバープレートの機械可読部分に、所有者情報、シリアル番号、車両タイプ、車両重量、プレート番号、州、プレートタイプ、及び郡のうちの１以上を含めることについて論じている。国際公開第２０１３／１４９１４２号では、フレーミング情報及び可変情報が、２つの相異なる条件の下で得られるバーコードについて論じている。いくつかの実施形態においては、フレーミング情報は、人間により可読な情報によって提供され、可変情報は、機械可読情報によって提供される。欧州特許公開第０４１６７４２号、米国特許第６，８３２，７２８号、及び国際公開第２０１３／１４９１４２号は全て、その全体が本明細書に組み込まれている。
【０２８４】
高コントラストライセンスプレート及び標識を作製するいくつかの従来技術の方法は、赤外波長範囲で吸収され、可視波長範囲で透過する材料を含むことを伴う。例えば、米国特許第６，８３２，７２８号には、可視透過、赤外不透明インデイシアムを含むライセンスプレートが記載されている。米国特許第７，３８７，３９３号には、ライセンスプレートにコントラストを生み出す赤外遮断材料を含むライセンスプレートが記載されている。米国特許第３，７５８，１９３号には、再帰反射性シートにおいて使用される赤外透過、可視吸収の材料が記載されている。米国特許第３，７５８，１９３号及び同第７，３８７，３９３号の全体は、参照により本明細書に組み込まれる。
【０２８５】
それぞれ２０１７年４月１４日に出願された代理人整理番号７６３５０ＵＳ００３及び７８８７４ＵＳ００３によって識別される米国特許仮出願の全体は、参照により本明細書に組み込まれる。
【０２８６】
ＡＬＰＲシステムで使用するための高コントラストライセンスプレートを作製する別の方法が、米国特許出願公開第２０１０−０１５１２１３号に記載されており、この方法は、赤外反射材料を光学活性（例えば、反射性又は再帰反射性）基板に隣接して配置し、それにより、光学活性基板が赤外放射線源によって照明されたときに、赤外反射材料が、赤外センサによって読み取り可能なパターンを形成することを伴う。米国特許出願公開第２０１０−０１５１２１３号の全体は、参照により本明細書に組み込まれる。本開示で説明するように、誤り訂正のレベル及び設計は、バーコード自体を依然として読み取ることができながら、コードのどれくらいが、妨げられた視線で損なわれるか、又は別の方法で不明瞭化若しくは難読化されるかを決定することができる。
【０２８７】
コンテンツ光学素子及びコンテキスト光学素子を入れ子にするための特定の方法を本明細書で説明しているが、本開示の範囲内の他の方法は、本開示を閲読することで当業者には明らかになるであろう。
【０２８８】
上述した実施形態のいずれかに関連して説明した特徴は、異なる実施形態の間で互換的に適用可能であり得ることは、当業者には明らかであろう。上述した実施形態は、本開示の様々な特徴を例示するための実施例である。
【０２８９】
本明細書の説明及び特許請求の範囲の全体を通して、語句「備える／含む（comprise）」及び「含む（contain）」、並びにそれらの変形は、「含むが、これらに限定されない（including but not limited to）」を意味し、それらは、他の部分、添加物、構成要素、整数、又は工程を除外することを意図するものではない（及び除外しない）。本明細書の説明及び特許請求の範囲の全体を通して、単数形は、文脈がそうでないことを必要としない限り、複数を包含する。特に、不定冠詞が使用される場合、本明細書は、文脈がそうでないことを必要としない限り、複数並びに単数を意図するものとして理解されるべきである。
【０２９０】
本開示の特定の態様、実施形態、又は実施例に関連して記載される特徴、整数、特性、又は群は、不適合でない限り、本明細書に記載の任意の他の態様、実施形態、又は実施例に適用可能であると理解されるべきである。本明細書（あらゆる添付の特許請求の範囲、要約書及び図面を含む）に開示される特徴の全て、及び／又は、同様に開示される任意の方法若しくはプロセスの工程の全ては、そのような特徴及び／又は工程の少なくとも一部が互いに排他的である組み合わせを除いて、任意の組み合わせで組み合わせることができる。本開示は、あらゆる前述の実施形態の詳細に限定されない。本開示は、本明細書（あらゆる添付の特許請求の範囲、要約書及び図面を含む）に開示される特徴の任意の新規な１つ若しくは任意の新規な組み合わせ、又は、同様に開示される任意の方法若しくはプロセスの工程の任意の新規な１つ若しくは任意の新規な組み合わせ、に及ぶ。
【０２９１】
１つ以上の実施例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせにより実現してよい。ソフトウェアで実現された場合、これらの機能は、１つ以上の命令又はコードとして、コンピュータ可読媒体に記憶し、又はそれを介して送信し、ハードウェアベースの処理ユニットによって実行することができる。コンピュータ可読媒体としては、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体、又は、例えば、通信プロトコルに従って１つの場所から別の場所へのコンピュータプログラムの伝送を促進する任意の媒体を含む通信媒体を挙げることができる。このようにして、コンピュータ可読媒体は、一般的に（１）非一時的な有形コンピュータ可読記憶媒体、又は（２）信号若しくは搬送波などの通信媒体に対応してよい。データ記憶媒体は、本開示で説明する技術の実現のための命令、コード、及び／又はデータ構造を取得するために、１つ以上のコンピュータ又は１つ以上のプロセッサによってアクセスすることができる、任意の利用可能な媒体であってよい。コンピュータプログラム製品は、コンピュータ可読媒体を含んでよい。
【０２９２】
例として、このようなコンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、若しくはその他の光ディスクストレージ、磁気ディスクストレージ、若しくはその他の磁気ストレージデバイス、フラッシュメモリ、又は、命令若しくはデータ構造の形態で所望のプログラムコードを格納するのに用いることができると共に、コンピュータによってアクセスできる他の任意の媒体を含むことができるが、これに限定されるものではない。また、任意の接続は、コンピュータ可読媒体と適切に呼ばれる。例えば、命令が同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線（digital subscriber line）（ＤＳＬ）、又は、赤外、無線通信、及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、ＤＳＬ、又は、赤外、無線通信、及びマイクロ波などの無線技術は、媒体の定義に含まれる。しかし、コンピュータ可読記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一過性媒体を含まず、代わりに、非一過性の有形記憶媒体を対象としていることを理解されたい。Ｄｉｓｋ及びｄｉｓｃは、本明細書で使用する場合、コンパクトディスク（ｃｏｍｐａｃｔ  ｄｉｓｃ、ＣＤ）、レーザディスク、光ディスク、デジタル多用途ディスク（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ、ＤＶＤ）、フロッピーディスク、及びブルーレイディスクを含み、ｄｉｓｋｓは一般的に、データを磁気的に再生し、またｄｉｓｃｓは、データをレーザによって光学的に再生する。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれなければならない。
【０２９３】
命令は、１つ以上のデジタル信号プロセッサ（digital signal processors）（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（application specific integrated circuits）（ＡＳＩＣ）、フィールドプログラマブル論理アレイ（field programmable logic arrays）（ＦＰＧＡ）、又は他の同等な集積若しくはディスクリート論理回路などの、１つ以上のプロセッサによって実行することができる。したがって、使用する場合「プロセッサ」という用語は、前述の構造のうちのいずれか、又は説明した技術の実装に適した任意の他の構造を指してよい。加えて、いくつかの態様では、説明した機能は、専用のハードウェア及び／又はソフトウェアモジュール内に設けられてよい。また、当該技術は、１つ以上の回路又は論理素子に完全に実装することができる。
【０２９４】
本開示の技術は、無線ハンドセット、集積回路（integrated circuit、ＩＣ）、又はＩＣのセット（例えばチップセット）を含む、多様なデバイス又は装置に実装することができる。開示された技術を実行するように構成されたデバイスの機能的な態様を強調するために、様々なコンポーネント、モジュール、又はユニットを本開示で説明したが、様々なハードウェアユニットによる具現化が必ずしも必要ではない。むしろ、上述したように、様々なユニットは、好適なソフトウェア及び／又はファームウェアと併せて、上述したような１つ以上のプロセッサを含む、ハードウェアユニット内で組み合わされるか、又は相互動作するハードウェアユニットの集合によって提供されてよい。
【０２９５】
実施例によっては、本明細書で説明した方法のいずれかの特定の行為又はイベントは、異なる順序で実行することができ、共に加え、結合し、又は省略することができる（例えば、説明した行為又はイベントの全てが方法の実践のために必要ではない）ことを認識されたい。更に、特定の実施例では、行為又はイベントは、順次ではなく、例えば、マルチスレッド処理、割込処理、又は複数のプロセッサにより、同時に実行することができる。
【０２９６】
いくつかの実施例では、コンピュータ可読記憶媒体は、非一時的媒体を含む。用語「非一時的」とは、いくつかの実施例では、記憶媒体が搬送波又は伝搬信号で具現化されていないことを示す。特定の実施例では、非一時的記憶媒体は、経時的に変化し得るデータを（例えばＲＡＭ又はキャッシュに）記憶する。
【０２９７】
様々な実施例を説明してきた。これらの及び他の実施例は、以下の特許請求の範囲内である。
【図１Ａ】
2019537098.tif 000011
【図１Ｂ】
2019537098.tif 000012
【図１Ｃ】
2019537098.tif 000013
【図１Ｄ】
2019537098.tif 000014
【図２Ａ】
2019537098.tif 000015
【図２Ｂ】
2019537098.tif 000016
【図３Ａ】
2019537098.tif 000017
【図３Ｂ】
2019537098.tif 000018
【図３Ｃ】
2019537098.tif 000019
【図３Ｄ】
2019537098.tif 000020
【図３Ｅ】
2019537098.tif 000021
【図３Ｆ】
2019537098.tif 000022
【図４】
2019537098.tif 000023
【図５】
2019537098.tif 000024
【図６】
2019537098.tif 000025
【図７Ａ】
2019537098.tif 000026
【図７Ｂ】
2019537098.tif 000027
【図７Ｃ】
2019537098.tif 000028
【図８】
2019537098.tif 000029
【図９】
2019537098.tif 000030
【図１０】
2019537098.tif 000031
【図１１】
2019537098.tif 000032
【図１２】
2019537098.tif 000033
【図１３】
2019537098.tif 000034
【図１４】
2019537098.tif 000035
【図１５】
2019537098.tif 000036
【図１６】
2019537098.tif 000037
【図１７】
2019537098.tif 000038
【図１８】
2019537098.tif 000039
【図１９】
2019537098.tif 000040
【国際調査報告】
2019537098.tif 000041
2019537098.tif 000042