(57)【要約】  コード自体に組み込まれる美的要素を有する機械読み取り可能な光学式コードを生成および復号化するための技術が提供される。こうして、上記機械読み取り可能な光学式コードは、美しさを満たすようにデザイン可能であることおよび／または見る人への情報を伝達することが可能であって、機械読み取り可能な光学式コードがまったく現れないように装うことさえも可能である。そうした情報は、情報がコード自体に組み込まれている場合であっても、機械により読み込むための符号化された情報から区別すること（しなくてもよい）が可能である。本明細書に記載した技術は、いずれのタイプの機械読み取り可能な光学式コードに適用することが可能である。【選択図】図５
2017516204.tif 000002
【特許請求の範囲】
【請求項１】
美的要素を有する機械読み取り可能な光学式コードを生成するためのコンピュータ実施方法であって、
ハードウェア装置のプロセッサにおいて、基準を決定することと、
前記プロセッサにおいて、前記基準内の複数のセルの位置を決定することと、
前記プロセッサにおいて、各決定されたセル内のプローブ位置であって、少なくとも１つは、その対応セルよりも小さいものである前記プローブ位置を決定することと、
前記プロセッサにおいて、前記機械読み取り可能な光学式コード内に符号化されたデータに基づいて、各決定されたプローブ位置について機械読み取り可能な色を設定することと、
前記プロセッサにおいて、所望の美的デザインに基づいて、前記基準内であるがプローブ位置内ではないエリアについての色パターンであって、各決定されたプローブ位置について設定された前記機械読み取り可能な色と一致する前記色パターンを設定することと、
前記プロセッサにおいて、前記設定された色パターンを用いて、前記決定された基準内の機械読み取り可能な光学式コードであって、各プローブ位置において設定された前記機械読み取り可能な色を含有し、前記データを符号化する前記機械読み取り可能な光学式コードを生成することと、
出力装置において、生成された前記機械読み取り可能な光学式コードを出力することとを含む、コンピュータ実施方法。
【請求項２】
各プローブ位置はその対応セルより小さい、請求項１記載のコンピュータ実施方法。
【請求項３】
前記生成された機械読み取り可能な光学式コードの前記美的デザインは、前記機械読み取り可能な光学式コード内に符号化された前記データとは異なるひとまとまりのアートワークを表現する、請求項１記載のコンピュータ実施方法。
【請求項４】
前記生成された機械読み取り可能な光学式コードの前記美的デザインは、前記機械読み取り可能な光学式コード内に符号化された前記データとは異なる、人が読み取り可能な文字を含む、請求項１記載のコンピュータ実施方法。
【請求項５】
前記決定された基準内の機械読み取り可能な光学式コードを生成することは、前記コードの正しい方位を確立する方位マーカを含む機械読み取り可能な光学式コードを生成することを含む、請求項１記載のコンピュータ実施方法。
【請求項６】
前記方位マーカは、コーナーマーカ（corner marker）を含む、請求項５記載のコンピュータ実施方法。
【請求項７】
同様の機械読み取り可能な光学式コードは、その方位に応じて異なる意味を有すると解釈されることが可能である、請求項５記載のコンピュータ実施方法。
【請求項８】
機械読み取り可能な光学式コードを生成することは、前記プローブ位置の少なくともサブセットが、前記プローブ位置の残りについて位置を指定するデータを符号化するものである機械読み取り可能な光学式コードを生成することを含む、請求項１記載のコンピュータ実施方法。
【請求項９】
機械読み取り可能な光学式コードを生成することは、前記プローブ位置の少なくともサブセットが、前記プローブ位置の残りについて位置を指定するデータを符号化するものである機械読み取り可能な光学式コードを生成することを含む、請求項１記載のコンピュータ実施方法。
【請求項１０】
機械読み取り可能な光学式コードを含有する基準を検出するためのコンピュータ実施方法であって、
画像撮影装置において、入力画像を撮影することと、
プロセッサにおいて、前記入力画像から２値画像を生成することと、
前記プロセッサにおいて、前記２値画像内の連結成分を特定することと、
前記プロセッサにおいて、前記連結成分内の領域境界を追跡することと、
前記プロセッサにおいて、該追跡した領域境界から四辺形を特定することと、
前記プロセッサにおいて、該特定された四辺形をフィルタリングし、少なくとも１つの四辺形の集合を生成することと、
出力装置において、機械読み取り可能な光学式コードを含有する少なくとも１つの基準の集合として前記少なくとも１つの四辺形の集合を出力することとを含む、コンピュータ実施方法。
【請求項１１】
前記機械読み取り可能な光学式コードは美的要素を含む、請求項１０記載のコンピュータ実施方法。
【請求項１２】
前記入力画像から２値画像を生成することは、
前記画像内の複数の位置のそれぞれについて局所スケールを決定し、局所的な平均化画像を生成することと、
各位置において、前記局所的な平均化画像を閾値と比較することとを含む、請求項１０記載のコンピュータ実施方法。
【請求項１３】
領域境界を追跡する前に前記連結成分をフィルタリングして、どの領域が閾値メトリックを超えて有意義なデータを表すかを決定することをさらに含む、請求項１０記載のコンピュータ実施方法。
【請求項１４】
前記閾値メトリックは、サイズおよび信頼性（solidity）のうち少なくとも１つを含む、請求項１３記載のコンピュータ実施方法。
【請求項１５】
前記少なくとも１つの四辺形の集合を出力する前に、画像ベースのアライメントを用いて前記少なくとも１つの四辺形を調整することをさらに含む、請求項１０記載のコンピュータ実施方法。
【請求項１６】
検出された基準に含有される機械読み取り可能な光学式コードを復号化するためのコンピュータ実施方法であって、
画像撮影装置において、入力画像を撮影することと、
プロセッサにおいて、前記入力画像内の基準であって、機械読み取り可能な光学式コードを含む前記基準を検出することと、
前記プロセッサにおいて、正規のプローブ位置を含有する正規の基準を取得することと、
前記プロセッサにおいて、前記正規の基準と比較される検出された前記基準の透視変換を決定することと、
前記プロセッサにおいて、前記正規のプローブ位置に対して前記透視変換を適用し、変換されたプローブ位置を取得することと、
前記プロセッサにおいて、各変換されたプローブ位置に対して少なくとも１つのプローブ値を決定することと、
前記プロセッサにおいて、該決定されたプローブ値から２値プローブ値を決定することと、
前記プロセッサにおいて、該決定された２値プローブ値をコードライブラリと比較して合致したコードを特定することと、
出力装置において、前記合致したコードを出力することとを含む、コンピュータ実施方法。
【請求項１７】
各変換されたプローブ位置に関して少なくとも１つのプローブ値を決定することは、各変換されたプローブ位置について、
複数のプローブ値を決定することと、
前記プローブ値を平均することとを含む、請求項１６記載のコンピュータ実施方法。
【請求項１８】
前記決定された２値プローブ値をコードライブラリと比較して合致したコードを特定することは、少なくとも１つの方位マーカに基づいて方位を判定することを含む、請求項１６記載のコンピュータ実施方法。
【請求項１９】
美的要素を有する機械読み取り可能な光学式コードを生成するためのシステムであって、
基準を決定するステップと、
前記基準内の複数のセルの位置を決定するステップと、
各決定されたセル内のプローブ位置であって、少なくとも１つは、その対応セルよりも小さいものである前記プローブ位置を決定するステップと、
前記機械読み取り可能な光学式コード内に符号化されたデータに基づいて、各決定されたプローブ位置について機械読み取り可能な色を設定するステップと、
所望の美的デザインに基づいて、前記基準内であるがプローブ位置内ではないエリアについての色パターンであって、各決定されたプローブ位置について設定された前記機械読み取り可能な色と一致する前記色パターンを設定するステップと、
前記設定された色パターンを用いて、前記決定された基準内の機械読み取り可能な光学式コードであって、各プローブ位置において設定された前記機械読み取り可能な色を含有し、前記データを符号化する前記機械読み取り可能な光学式コードを生成するステップとを実行するように構成されるハードウェアプロセッサと、
前記ハードウェアプロセッサに通信可能に接続され、生成された前記機械読み取り可能な光学式コードを出力するように構成される出力装置とを含む、システム。
【請求項２０】
各プローブ位置はその対応セルより小さい、請求項１９記載のシステム。
【請求項２１】
前記生成された機械読み取り可能な光学式コードの前記美的デザインは、前記機械読み取り可能な光学式コード内に符号化された前記データとは異なるひとまとまりのアートワークを表現する、請求項１９記載のシステム。
【請求項２２】
前記生成された機械読み取り可能な光学式コードの前記美的デザインは、前記機械読み取り可能な光学式コード内に符号化された前記データとは異なる、人が読み取り可能な文字を含む、請求項１９記載のシステム。
【請求項２３】
前記ハードウェアプロセッサが、前記決定された基準内の機械読み取り可能な光学式コードを生成することは、前記コードの正しい方位を確立する方位マーカを含む機械読み取り可能な光学式コードを生成することを含む、請求項１９記載のシステム。
【請求項２４】
前記方位マーカは、コーナーマーカを含む、請求項２３記載のシステム。
【請求項２５】
同様の機械読み取り可能な光学式コードは、その方位に応じて異なる意味を有すると解釈されることが可能である、請求項２３記載のシステム。
【請求項２６】
前記ハードウェアプロセッサが、機械読み取り可能な光学式コードを生成することは、前記プローブ位置の少なくともサブセットが、前記プローブ位置の残りについて位置を指定するデータを符号化するものである機械読み取り可能な光学式コードを生成することを含む、請求項１９記載のシステム。
【請求項２７】
前記ハードウェアプロセッサが、機械読み取り可能な光学式コードを生成することは、前記プローブ位置の少なくともサブセットが、前記プローブ位置の残りについて位置を指定するデータを符号化するものである機械読み取り可能な光学式コードを生成することを含む、請求項１９記載のシステム。
【請求項２８】
機械読み取り可能な光学式コードを含有する基準を検出するためのシステムであって、
入力画像を撮影するように構成される画像撮影装置と、
前記入力画像から２値画像を生成するステップと、
前記２値画像内の連結成分を特定するステップと、
前記連結成分内の領域境界を追跡するステップと、
該追跡した領域境界から四辺形を特定するステップと、
該特定された四辺形をフィルタリングし、少なくとも１つの四辺形の集合を生成するステップとを実行するように構成され、前記画像撮影装置に通信可能に接続されるハードウェアプロセッサと、
前記ハードウェアプロセッサに通信可能に接続され、機械読み取り可能な光学式コードを含有する少なくとも１つの基準の集合として前記少なくとも１つの四辺形の集合を出力するように構成される出力装置とを含む、システム。
【請求項２９】
前記機械読み取り可能な光学式コードは美的要素を含む、請求項２８記載のシステム。
【請求項３０】
前記ハードウェアプロセッサが、前記入力画像から前記２値画像を生成することは、
前記画像内の複数の位置のそれぞれについて局所スケールを決定し、局所的な平均化画像を生成することと、
各位置において、前記局所的な平均化画像を閾値と比較することとを含む、請求項２８記載のシステム。
【請求項３１】
前記ハードウェアプロセッサは、領域境界を追跡する前に前記連結成分をフィルタリングして、どの領域が閾値メトリックを超えて有意義なデータを表すかを決定することをさらに含む、請求項２８記載のシステム。
【請求項３２】
前記閾値メトリックは、サイズおよび信頼性のうち少なくとも１つを含む、請求項３１記載のシステム。
【請求項３３】
前記ハードウェアプロセッサは、前記出力装置が前記少なくとも１つの四辺形の集合を出力する前に、画像ベースのアライメントを用いて前記少なくとも１つの四辺形を調整することをさらに含む、請求項２８記載のシステム。
【請求項３４】
検出された基準に含有される機械読み取り可能な光学式コードを復号化するためのシステムであって、
入力画像を撮影するように構成される画像撮影装置と、
前記入力画像内の基準であって、機械読み取り可能な光学式コードを含む前記基準を検出するステップと、
正規のプローブ位置を含有する正規の基準を取得するステップと、
前記正規の基準と比較される検出された前記基準の透視変換を決定するステップと、
前記正規のプローブ位置に対して前記の透視変換を適用し、変換されたプローブ位置を取得するステップと、
各変換されたプローブ位置に対して少なくとも１つのプローブ値を決定するステップと、
該決定されたプローブ値から２値プローブ値を決定するステップと、
該決定された２値プローブ値をコードライブラリと比較して合致したコードを特定するステップとを実行するように構成され、前記画像撮影装置と通信可能に接続されるハードウェアプロセッサと、
前記ハードウェアプロセッサと通信可能に接続され、前記合致したコードを出力するように構成される出力装置とを含む、システム。
【請求項３５】
前記ハードウェアプロセッサが、各変換されたプローブ位置に関して少なくとも１つのプローブ値を決定することは、各変換されたプローブ位置について、
複数のプローブ値を決定することと、
前記プローブ値を平均することとを含む、請求項３４記載のシステム。
【請求項３６】
前記ハードウェアプロセッサが、前記決定された２値プローブ値をコードライブラリと比較して合致したコードを特定することは、少なくとも１つの方位マーカに基づいて方位を判定することを含む、請求項３４記載のシステム。
【請求項３７】
美的要素を有する機械読み取り可能な光学式コードを生成するための非一時的なコンピュータ読み取り可能な媒体であって、プロセッサ上で実施される場合に、
基準を決定するステップと、
前記基準内の複数のセルの位置を決定するステップと、
各決定されたセル内のプローブ位置であって、少なくとも１つは、その対応セルよりも小さいものである前記プローブ位置を決定するステップと、
前記機械読み取り可能な光学式コード内に符号化されたデータに基づいて、各決定されたプローブ位置について機械読み取り可能な色を設定するステップと、
所望の美的デザインに基づいて、前記基準内であるがプローブ位置内ではないエリアについての色パターンであって、各決定されたプローブ位置について設定された前記機械読み取り可能な色と一致する前記色パターンを設定するステップと、
前記設定された色パターンを用いて、前記決定された基準内の機械読み取り可能な光学式コードであって、各プローブ位置において設定された前記機械読み取り可能な色を含有し、前記データを符号化する前記機械読み取り可能な光学式コードを生成するステップと、
出力装置に対して、生成された前記機械読み取り可能な光学式コードを出力させるステップとを実行するように、そこに記憶される指示を含む、非一時的なコンピュータ読み取り可能な媒体。
【請求項３８】
各プローブ位置はその対応セルより小さい、請求項３７記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項３９】
前記生成された機械読み取り可能な光学式コードの前記美的デザインは、前記機械読み取り可能な光学式コード内に符号化された前記データとは異なるひとまとまりのアートワークを表現する、請求項３７記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項４０】
前記生成された機械読み取り可能な光学式コードの前記美的デザインは、前記機械読み取り可能な光学式コード内に符号化された前記データとは異なる、人が読み取り可能な文字を含む、請求項３７記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項４１】
前記決定された基準内の機械読み取り可能な光学式コードを生成することは、前記コードの正しい方位を確立する方位マーカを含む機械読み取り可能な光学式コードを生成することを含む、請求項３７記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項４２】
前記方位マーカは、コーナーマーカを含む、請求項４１記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項４３】
同様の機械読み取り可能な光学式コードは、その方位に応じて異なる意味を有すると解釈されることが可能である、請求項４１記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項４４】
機械読み取り可能な光学式コードを生成することは、前記プローブ位置の少なくともサブセットが、前記プローブ位置の残りについての位置を指定するデータを符号化するものである機械読み取り可能な光学式コードを生成することを含む、請求項３７記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項４５】
機械読み取り可能な光学式コードを生成することは、前記プローブ位置の少なくともサブセットが、前記プローブ位置の残りについての位置を指定するデータを符号化するものである機械読み取り可能な光学式コードを生成することを含む、請求項３７記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項４６】
機械読み取り可能な光学式コードを含有する基準を検出するための非一時的なコンピュータ読み取り可能な媒体であって、プロセッサ上で実施される場合に、
画像撮影装置に対して入力画像を撮影させるステップと、
前記入力画像から２値画像を生成するステップと、
前記２値画像内の連結成分を特定するステップと、
前記連結成分内の領域境界を追跡するステップと、
該追跡した領域境界から四辺形を特定するステップと、
該特定された四辺形をフィルタリングし、少なくとも１つの四辺形の集合を生成するステップと、
出力装置に対して、機械読み取り可能な光学式コードを含有する少なくとも１つの基準の集合として前記少なくとも１つの四辺形の集合を出力させるステップとを実行するように、そこに記憶される指示を含む、非一時的なコンピュータ読み取り可能な媒体。
【請求項４７】
前記機械読み取り可能な光学式コードは美的要素を含む、請求項４６記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項４８】
前記入力画像から２値画像を生成することは、
前記画像内の複数の位置のそれぞれについて局所スケールを決定し、局所的な平均化画像を生成することと、
各位置において、前記局所的な平均化画像を閾値と比較することとを含む、請求項４６記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項４９】
領域境界を追跡する前に前記連結成分をフィルタリングして、どの領域が閾値メトリックを超えて有意義なデータを表すかを決定することをさらに含む、請求項４６記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項５０】
前記閾値メトリックは、サイズおよび信頼性のうち少なくとも１つを含む、請求項４９記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項５１】
前記非一時的なコンピュータ読み取り可能な媒体は、プロセッサ上で実施される場合に、前記少なくとも１つの四辺形の集合を出力する前に、画像ベースのアライメントを用いて前記少なくとも１つの四辺形を調整するステップを実行するように、そこに記憶される指示をさらに含む、請求項４６記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項５２】
検出された基準に含有される機械読み取り可能な光学式コードを復号化するための非一時的なコンピュータ読み取り可能な媒体であって、プロセッサ上で実施される場合に、
画像撮影装置に対して入力画像を撮影させるステップと、
前記入力画像内の基準であって、機械読み取り可能な光学式コードを含む前記基準を検出するステップと、
正規のプローブ位置を含有する正規の基準を取得するステップと、
前記正規の基準と比較される検出された前記基準の透視変換を決定するステップと、
前記正規のプローブ位置に対して前記の透視変換を適用し、変換されたプローブ位置を取得するステップと、
各変換されたプローブ位置に対して少なくとも１つのプローブ値を決定するステップと、
該決定されたプローブ値から２値プローブ値を決定するステップと、
該決定された２値プローブ値をコードライブラリと比較して合致したコードを特定するステップと、
出力装置に対して前記合致したコードを出力させるステップとを実行するように、そこに記憶される指示を含む、非一時的なコンピュータ読み取り可能な媒体。
【請求項５３】
各変換されたプローブ位置に関して少なくとも１つのプローブ値を決定することは、各変換されたプローブ位置について、
複数のプローブ値を決定することと、
前記プローブ値を平均することとを含む、請求項５２記載の非一時的なコンピュータ読み取り可能な媒体。
【請求項５４】
前記決定された２値プローブ値をコードライブラリと比較して合致したコードを特定することは、少なくとも１つの方位マーカに基づいて方位を判定することを含む、請求項５２記載の非一時的なコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１４年４月１０日出願の米国仮出願第６１／９７８，１１３号「美的要素を備える機械読み取り可能な光学式コード（Machine-Readable Optical Codes with Aesthetic Component）」（代理人書類番号ＡＮＫ００５−ＰＲＯＶ）の優先権を主張し、その開示はその全体を参照により本明細書に組み入れられたものとする。
【０００２】
本明細書は、機械読み取り可能な光学式コードに関する。
【背景技術】
【０００３】
機械読み取り可能な光学式コードは、周知であり、ユビキタスである。そうしたコードは、書類、チケット、ＩＤカード、製品、表示画面、タグおよび他の多くの場所にあり、例えば品目、人物、書類および／または物体等を確認するなど、多くの異なる目的で用いられることが可能である。そうしたコードの例としては、クイックレスポンス（ＱＲ）コードおよび統一商品コード（Universal Product Code）（ＵＰＣ）がある。撮像装置は、光学式コードをスキャンするために用いられ、その後関連データがコード内のパターンから抽出される。そうしたデータは、例えば、さらなる情報を含有する資源（例えばデータベースまたはウェブサイト）へのインデックス、ポインターまたはリンクを含みうる。
【０００４】
ここで図１７を参照すると、先行技術による従来の機械読み取り可能な光学式コード１７０１Ａ、１７０１Ｂ、１７０１Ｃのいくつかの例を示している。一般に、そうしたコードは、それらが人にどのように見えるかにかかわらず、機械によって確実に読み取られるようにデザインされる。しかしながら、そうしたコードはしばしば製品の包装、書類および人がそれらを視認できる他の場所にあるため、物体、包装、書類またはそれらがある他の表面の全体的な美しさを損なうことがありうる。加えて、そうした機械読み取り可能な光学式コードは、別の方法で美観目的または人への情報伝達のために用いられうる利用可能な空間のかなりの部分をしばしば占有する。後者の争点は、小さい物体またはカード上に機械読み取り可能な光学コードが配置される場合に特に問題となり、その場合、機械読み取り可能な光学式コードに費やされるエリアの外側の、人が読み取り可能な構成要素のためにさらなる空間を割くことが（たとえできるとしても）ほとんどできない。機械読み取り可能な光学式コードを小さく作成できる場合はあるが、普通、これは可読性および信頼性を減じるという犠牲を払っている。しかしながら、一般に、既存の機械読み取り可能な光学式コードは、機械で読まれることのほかに機能を果たさない。
【０００５】
いくつかの場合では、機械読み取り可能な光学式コードのいくつかの空白または空きエリア内に、人が読み取り可能な文字または図を含むように試みがなされている。例えば、コード１７０１Ｃは、コードの空きエリア内に埋め込まれた文字を含む。しかしながら、文字が占有するエリアは、コードそれ自体の部分ではない。そのため、そうした配置では、人が読み取り可能な要素外側の、かなりの空間を機械読み取り可能なコードが占有する必要が依然としてある。
【発明の概要】
【０００６】
様々な実施形態によれば、コード自体に組み込まれ、かつ、コード自体と同じ空間を占有する美的要素を有する機械読み取り可能な光学式コードを生成および復号化するための技術が提供される。こうして、機械読み取り可能な光学式コード自体が、美しさを満たすようにデザイン可能であることおよび／または見る人への情報を伝達することが可能であって、機械読み取り可能なコードであることがまったく現れないように装うことさえも可能である。そうした情報は、情報がコード自体に組み込まれている場合であっても、機械で読み取るために符号化された情報と区別することが可能である（しかし、しなくてもよい）。
【０００７】
少なくとも１つの実施形態において、光学式コードは、機械読み取り可能な光学式コード内に存在するが普通はコードの復号化に用いられないネガティブスペースを利用することによって構成される。特に、機械読み取り可能な光学式コードの各領域または「セル」は、ある面積を占有するが、しかしながらコードを復号化する場合、「プローブ位置」と称されるその面積の一部分のみが、機械によって正常に読み取られる。セルの残りのエリア（プローブ位置外側）は、普通は機械によって無視されるため、全体の美的な方式に適したあらゆる任意の色を割り当てることが可能である。少なくとも１つの実施形態において、プローブ位置は、各セルのサイズと比べて比較的小さいため、プローブ位置を介して伝達される所望の情報に合う全体の美的デザインの作成において相当な自由度が許可される。
【０００８】
例えば、一実施形態においては、各セルは四角形であり、各プローブ位置はその対応セルの幅の３分の１の直径を有する円である。そうした実施形態においては、プローブ位置外側の面積は、セルの全面積のおよそ９１．３％を占有し、この９１．３％に、全体の美的な方式に適したあらゆる任意の色を割り当てることが可能である。
【０００９】
本明細書に記載する技術は、例えばＱＲコード(登録商標)、バーコード、統一商品コード（ＵＰＣ）等であるあらゆる種類の機械読み取り可能な光学式コードに適用することが可能である。当業者は、例であるこの列挙が網羅的ではないことがわかるであろう。
【００１０】
さらなる詳細および変形を本明細書に記載する。
【００１１】
添付の図面により、いくつかの実施形態を説明する。明細書とともに、実施形態によるシステムおよび方法の原理の説明に図面を用いる。当業者は、図面において説明される特定の実施形態が、単なる例示であり、範囲の限定を意図しないことがわかるであろう。
【図面の簡単な説明】
【００１２】
【図１】図１は、一実施形態による、美的要素を有する機械読み取り可能な光学式コードを生成するためのハードウェア構造を表すブロック図である。
【００１３】
【図２】図２は、一実施形態による、美的要素を有する機械読み取り可能な光学式コードを読み取り、処理するためのハードウェア構造を表すブロック図である。
【００１４】
【図３】図３は、先行技術によるブロック状の美しさを示す従来の機械読み取り可能な光学式コードの様式の例を表す。
【００１５】
【図４】図４は、一実施形態による、美的要素を有し、図３と同様の情報を含む機械読み取り可能な光学式コードの説明例を表す。
【００１６】
【図５】図５は、一実施形態による、同様の情報を含むが異なる美的外観を含む３つの機械読み取り可能な光学式コードの説明例を表す。
【００１７】
【図６】図６は、一実施形態による、同様の情報を含むが異なる美的外観を含む４つの機械読み取り可能な光学式コードの他の説明例を表す。
【００１８】
【図７Ａ】図７Ａおよび７Ｂは、一実施形態による、同様の情報を含むが異なる美的外観を含む２つの機械読み取り可能な光学式コードの他の説明例を表す。
【図７Ｂ】同上。
【００１９】
【図８Ａ】図８Ａおよび８Ｂは、一実施形態による、同様の情報を含むが異なる美的外観を含む２つの機械読み取り可能な光学式コードの他の説明例を表す。
【図８Ｂ】同上。
【００２０】
【図９Ａ】図９Ａおよび９Ｂは、一実施形態による、同様の情報を含むが異なる美的外観を含む２つの機械読み取り可能な光学式コードの他の説明例を表し、２番目のコードは企業ロゴを提示する。
【図９Ｂ】同上。
【００２１】
【図９Ｃ】図９Ｃは、図９Ｂに示す同様の機械読み取り可能な光学式コードを表しているが、プローブ位置を表示していない。
【００２２】
【図１０】図１０は、一実施形態による、美的要素を有する機械読み取り可能な光学式コードを生成するための全体的な方法を表すフロー図である。
【００２３】
【図１１Ａ】図１１Ａは、一実施形態による、美的要素を有する機械読み取り可能な光学式コードの生成に用いるための、見本寸法を含む基準マーカ（基準（fiducial））の説明例を表す。
【００２４】
【図１１Ｂ】図１１Ｂは、一実施形態による、見本寸法を含む図１１Ａの基準内のセルの説明例を表す。
【００２５】
【図１２Ａ】図１２Ａ、１２Ｂおよび１２Ｃは、様々な実施形態による、基準の代替となる説明例を表す。
【図１２Ｂ】同上。
【図１２Ｃ】同上。
【００２６】
【図１３】図１３は、一実施形態による、同様のパターンを異なるマーカで区別する方位指標（orientation indicator）の使用の説明例を表す。
【００２７】
【図１４】図１４は、一実施形態による、ある固定プローブ位置で検出されるパターンが、残りのコードをどのように読み取るべきかを示す説明例を表す。
【００２８】
【図１５】図１５は、一実施形態による、基準を検出するための方法を表すフロー図である。
【００２９】
【図１６】図１６は、一実施形態による、基準検出後のコードの復号化の方法を表すフロー図である。
【００３０】
【図１７】図１７は、先行技術による、従来の機械読み取り可能な光学式コードの例を表す。
【００３１】
【図１８】図１８は、曲線コーナーを有する基準における仮想コーナーの推定の例を表す。
【発明を実施するための形態】
【００３２】
様々な実施形態によれば、本明細書に記載されるシステムおよび方法は、美しさを満たし、柔軟であり、かつ／または人が読み取る場合の付加的な意味を含む機械読み取り可能な光学式コードを生成することが可能である。本明細書に記載の技術は、機械読み取り可能な光学式コード内のネガティブスペースを利用するものであり、コードの一部であるがスキャン装置によって読み取られないそれらのエリアを参照し、そうしたエリアを用いて、機械により読み取られる際のその値に影響することなく、コードに対して美的な改良を提供することが可能である。様々な実施形態では、本明細書に記載される技術は、あらゆる解像度／複雑性のコード（任意の数の符号化ビットまたはセルを含む）ならびに完全にパラメータ化された、スケールに依存しない基準的形状およびコードパターンを支援することが可能である。
【００３３】
以下に論じるように、いくつかの実施形態は、復号化パターンの動的な調節および／または復号化時の解像度を考慮する。
【００３４】
本明細書に記載の技術はまた、効果的で、ロバストな検出および復号化を提供する。ロバストな２値化には、局所スケールを用いて空間的に変化する閾値を動的に決定することが可能である。以下に論じるように、段階的カスケードの次第に複雑になるフィルタを用いて候補を移動させることが可能である。
【００３５】
さらに、様々な実施形態は、正確なプローブ配置に関して、広画角および／またはサブピクセルの調整を行うためにプローブ位置の遠近法ワープ（perspective warping）を提供する。
【００３６】
少なくとも１つの実施形態において、既知の物理的サイズが観測されたコードと関連し、カメラの内部較正が利用可能であれば、コードの基準（または同等に、カメラに関するコードのポーズ）に関して、カメラの三次元ポーズを決定（すなわち、回転および移動）することが可能である。
【００３７】
様々な実施形態によれば、本明細書に記載のシステムおよび方法は、機械読み取り可能な光学式コードを作成および／または読み取るための任意のシステムに関連して実施することが可能である。そうしたコードは、任意の製品、書類、物体、品目、装置等と関係しうる。コードは、例えばタグ、ラベルまたは書類に印刷されることや、画面上に表示されること等を含む、任意の公知の方法または技術に従って記憶、伝送および／または出力されうる。コードは、任意の好適なサイズ、形状または寸法であってよく、任意の好適な色または色の組合せで出力されうる。
【００３８】
システムは、機械読み取り可能な光学式コードの特有のレイアウトおよび配置に関連して本明細書に記載されるが、当業者は、そうした例が単に例示を意図していることおよび本明細書に記載の技術は他の文脈、実際には機械読み取り可能な光学式コードが生成または読み取られるという任意の文脈において実施可能であることがわかるであろう。これらの他の文脈のいくつかの例が以下に記載されるが、そうした記載は限定を意図していない。従って、以下の記載は、範囲を限定するのではなく、例として様々な実施形態を説明することを意図している。
【００３９】
ここで図１を参照すると、一実施形態による、美的要素を有する機械読み取り可能な光学式コードを生成するためのハードウェア構造を表すブロック図を示す。そうした構造は、例えば、１つまたは複数の機械読み取り可能な光学式コード１０８の形で出力を生成するように構成される演算装置または他の電子装置１０１において本明細書に記載の技術を実施するために用いられることが可能である。
【００４０】
少なくとも１つの実施形態において、装置１０１は、当業者に周知のいくつかのハードウェア構成要素を有する。表示画面１０２は、例えば機械読み取り可能な光学式コード１０８とそうしたコード１０８をデザインおよび生成するためのユーザインタフェース制御とを含むことが可能である情報を表示する任意の要素であることが可能である。入力装置１０３は、例えばタッチスクリーン、キーボード、マウス、ダイアル、ホイール、ボタン、トラックボール、スタイラス等またはそれらの任意の組合せであるユーザ１００からの入力を受信する任意の要素であることが可能である。入力装置１０３はまた、音声入力またはその他の形式の入力を受信することが可能である。入力装置１０３を経由して受信された入力を、コード１０８の生成に用いることが可能である。
【００４１】
プロセッサ１０４は、周知の技術による、ソフトウェアの指示の下でデータ上で動作を行うための従来のマイクロプロセッサでありうる。メモリ１０５は、ランダムアクセスメモリであることが可能であり、ソフトウェアが実行している間のプロセッサ１０４による使用のための、この分野において公知の構造および設計を有する。
【００４２】
データ記憶部１０７は、デジタル形式のデータに関する任意の磁気、光学または電子の記憶装置であることが可能であって、例えばフラッシュメモリ、磁気ディスクドライブ、ＣＤ−ＲＯＭ等を含む。データ記憶部１０７は、機械読み取り可能な光学式コード１０８を一時的または永続的のいずれかで記憶するために用いることが可能であり、かつ、機械読み取り可能な光学式コード１０８の生成に用いられる他の情報を記憶するために用いられることもまた可能である。
【００４３】
装置１０１は、機械読み取り可能な光学式コード１０８を出力または伝送するために、出力装置１０９を含むこともまた可能である。そうした出力装置１０９は、装置１０１に組み込まれることが可能であり、またはプリンタなどの独立した構成要素であることも可能である。コード１０８を記憶、伝送および／または出力するために、任意の好適な機構を用いることが可能である。
【００４４】
システムはまた、クライアント／サーバ環境または分散型コンピューティング環境で実施されることが可能である。そうした環境において、図１に示す構成要素のいずれかまたはすべてが、例えばインターネットなどのネットワークを介して互いに通信する異なる演算装置において実施されることが可能である。公知のプロトコルが、構成要素間のそうした相互作用を実施するために用いられる。例えばインターネットなどの任意の好適なタイプの通信ネットワークを、様々な構成要素間でのデータの伝送のための機構として用いることが可能である。インターネットに加えて、他の例として、セルラー電話ネットワーク、ＥＤＧＥ、３Ｇ、４Ｇ、ロングタームエボリューション（ＬＴＥ）、セッション初期化プロトコル（ＳＩＰ）、ショートメッセージピアツーピアプロトコル（ＳＭＰＰ）、ＳＳ７、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ(登録商標)、ＺｉｇＢｅｅ、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、セキュアハイパーテキスト転送プロトコル（ＳＨＴＴＰ）および／または転送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）等、ならびに／もしくはそれらの任意の組合せを含む。少なくとも１つの実施形態において、システムの構成要素は、電子的ネットワークを経由して他の構成要素と通信することを可能とするためにネットワーク通信インタフェースを含むことが可能である。他の構造もまた可能である。
【００４５】
少なくとも１つの実施形態において、そうしたシステムは、ウェブサーバによって提供されるウェブページと相互に作用するウェブブラウザを経由するシステムの動作をユーザ１００が制御するウェブコンテクストで実施可能である。
【００４６】
ここで図２を参照すると、一実施形態による美的要素を有する機械読み取り可能な光学式コードを読み取って処理するためのハードウェア構造を表すブロック図を示す。そうした構造を、例えば、本明細書に記載の技術を用いることによって生成されうる機械読み取り可能な光学式コード１０８を含有する画像２０２を撮影またはスキャンするために用いることが可能である。図２の装置１０１は、図１に表す装置１０１と同様であってよく、または異なる装置であってもよい。
【００４７】
少なくとも１つの実施形態において、装置１０１は、当業者に周知のいくつかのハードウェア構成要素を有する。表示画面１０２は、例えば機械読み取り可能な光学式コード１０８およびユーザインタフェース制御を含むことが可能である情報を表示する任意の要素であることが可能である。入力装置１０３は、例えばタッチスクリーン、キーボード、マウス、ダイアル、ホイール、ボタン、トラックボール、スタイラス等、またはそれらの任意の組合せであるユーザ１００からの入力を受信する任意の要素であることが可能である。入力装置１０３は、音声入力またはその他の形式の入力を受信することが可能である。
【００４８】
プロセッサ１０４は、周知の技術による、ソフトウェアの指示の下でデータ上で動作を行うための従来のマイクロプロセッサでありうる。メモリ１０５は、ランダムアクセスメモリであることが可能であり、ソフトウェアが実行している間のプロセッサ１０４による使用のための、この分野において公知の構造および設計を有する。
【００４９】
データ記憶部１０７は、デジタル形式のデータのための任意の磁気、光学または電子の記憶装置であることが可能であって、例としてはフラッシュメモリ、磁気ディスクドライブ、ＣＤ−ＲＯＭ等を含む。データ記憶部１０７は、例えば、機械読み取り可能な光学式コード１０８から抽出されたデータを一時的または永続的のいずれかで記憶するために用いることが可能であり、かつ、他の情報を記憶するために用いられることもまた可能である。
【００５０】
装置１０１はまた、コード１０８を含有する画像２０２を撮影またはスキャンするためのスキャナ２０１またはその他の画像撮影装置を含むことが可能である。プロセッサ１０４は、画像２０２で発見されるコード１０８を抽出および解読するための動作を実行する。そうした抽出および解読の動作におけるさらなる詳細が以下に提供される。スキャナ２０２は装置１０１に組み込まれることが可能であり、または独立した構成要素であることが可能である。
【００５１】
図２に表す構造は、単なる例示である。システムはまた、例えばクライアント／サーバ環境または分散型コンピューティング環境を含む多くの他の構造で実施可能である。
【００５２】
一実施形態において、システムは、独立型であってもクライアント／サーバ設計であっても、任意の好適なコンピュータプログラム言語で書かれたソフトウェアとして実施されることが可能である。あるいは、ハードウェアにおいて実施および／またはハードウェアに埋め込まれてもよい。
【００５３】
ここで図３を参照すると、先行技術による、従来の機械読み取り可能な光学式コード１０８Ａのスタイルの例を示しており、ブロック状の美しさを示す。光学式コードは、９×９の格子内に８１個のセル３０１を含有する。標準の使用において、通常、格子はコード１０８の一部として表示されるものではなく、セル３０１をより明確に示すために図３に含まれる。
【００５４】
例えば図３に表す従来の符号化方式では、各セル３０１は完全に一色で埋められており、例えば黒または白のいずれかである。
【００５５】
一方、本明細書に記載の技術は、各セル３０１の一部のみを占有するプローブ位置を用いる。ここで図４を参照すると、一実施形態による、美的要素を有し、かつ、図３に表すコード１０８Ａと同様の情報を含有する機械読み取り可能な光学式コード１０８Ｂの説明例を示す。図４において、プローブ位置４０１は、各３０１の中心に示されている。これらのプローブ位置４０１は、各セル３０１内において、機械センサがセル３０１の色を検出しようと試みることとなるエリアを表現している。ネガティブスペース４０２（プローブ位置４０１内でない各セル３０１の部分）は、機械センサには無視されて、美しさを満たすこと、芸術性および／または他の方法での有意義なデザインを構築するために用いることが可能である。図４においてはプローブ位置４０１を円として示しているが、任意の形状であることが可能である。プローブ位置４０１は、それらの各セル３０１内の中心として示しているが、これは概して好ましい配置でありうるものであって、他の配置が可能である。
【００５６】
機械センサに対して、同様のプローブ位置４０１がそれぞれにおいて陰がついているため、図３のコード１０８Ａおよび図４のコード１０８Ｂは同様の情報を表現する。しかしながら、コード１０８Ｂは、従来のアプローチではできない美しさを満たす同心円のパターンとして提示される。
【００５７】
機械読み取り可能な光学式コード１０８の任意の好適なデザインを、該デザインがプローブ位置４０１に必要な特定の値に対応している限り含むように本明細書に記載の技術を用いることが可能である。もちろん、ネガティブスペース４０２の部分が大きいほど（すなわち、その対応セル３０１と比較して各プローブ位置４０１が小さいほど）、より柔軟性が与えられて美しさを満たすデザインを生成する。また、プローブ位置４０１が小さいほど、コード１０８の読み取りおよび／またはプローブ位置４０１の発見に、より正確さが必要となる。
【００５８】
様々な実施形態において、コード１０８のデザインが美しさを満たす必要はないが、人が見る場合の、任意の好適な意味、ブランド価値および／または指示等を保持することが可能である。本明細書に記載の技術は、任意のそうした情報を含有するコード１０８の生成において有意な柔軟性を提供する。人が読み取り可能なデザインまたは情報は、機械読み取り可能な光学式コード（またはそれらのいくつかの部分）において符号化されるような同様の情報の異なる表現であることが可能であり、または完全に異にすることが可能である。例えば、機械読み取り可能な光学式コードが、データベースに対する特定の製品および価格情報を備えるポインターでありうる一方で、人が読み取り可能なデザインは、アイコンまたは企業ロゴであってよい。
【００５９】
本明細書で提供される他の例と同様に、図３および４に、セル３０１およびプローブ位置４０１が例示の目的のためのみに表されていることに留意されたい。概して、そうしたセル３０１およびプローブ位置４０１は、本明細書に記載の技術によって生成される実際の機械読み取り可能な光学式コード１０８には示されないものである。むしろそうしたセル３０１およびプローブ位置４０１は、本明細書に記載される技術によって生成されるデザインと、機械によってコード１０８を読み取る場合に用いられるエリアとの関係を示すためにここに表される。
【００６０】
さらに、記載を明確にするために、本明細書に提供される例は、いくつかのセル３０１を有する光学式コードを表すものであって、各セル３０１は、「オン」または「オフ」のいずれかであり、これらの状態は、例えば黒および白の２つの異なる色によって表現することが可能である。しかしながら、当業者は、任意の好適な色（または他の視覚的に差異のある属性）を用いて「オン」および「オフ」状態を表現することが可能であることがわかるであろう。さらに、代替となる実施形態では、各セル３０１に対して２つ以上の状態を利用することが可能であり、例えば各セル３０１は、３つまたは４つのうちの一方、または任意の数の異なる色（または他の視覚的に区別される属性）を有することが可能である。
【００６１】
ここで図５を参照すると、一実施形態によって生成され、かつ、同様の情報を含有するが、異なる美的外観である３つの機械読み取り可能な光学式コード１０８Ｃ、１０８Ｄ、１０８Ｅの説明例を示す。３つの場合すべてにおいて、プローブ位置４０１の色付けは同様であるため、３つのコード１０８は、機械によって読み取る場合に同様の意味を保持する。しかしながら、ネガティブスペース４０２は、異なる美的特徴を有する異なるデザインを生成するために用いられる。
【００６２】
ここで図６を参照すると、他の説明例である、一実施形態による、同様の情報であるが異なる美的外観を含有する４つの機械読み取り可能な光学式コード１０８Ｆ、１０８Ｇ、１０８Ｈ、１０８Ｊを示す。
【００６３】
ここで図７Ａおよび７Ｂを参照すると、他の説明例である、一実施形態による、同様の情報であるが異なる美的外観を含有する２つの機械読み取り可能な光学式コード１０８Ｋ、１０８Ｌを示す。
【００６４】
ここで図８Ａおよび８Ｂを参照すると、他の説明例である、一実施形態による、同様の情報であるが異なる美的外観を含有する２つの機械読み取り可能な光学式コード１０８Ｍ、１０８Ｎを示す。
【００６５】
図７Ａから８Ｂはまた、本明細書において基準とも称される基準マーカ７０１を含む。以下により詳細に説明するように、基準７０１は、さらに大きい画像内の任意の位置に、機械読み取り可能な光学式コード１０８を配置するために用いられる公知のマーカである。これらの例では、基準７０１はコード１０８周囲の太い黒線の四角形であるが、他の形状の基準７０１を用いることが可能である。
【００６６】
ここで図９Ａおよび９Ｂを参照すると、他の説明例である、一実施形態による、同様の情報であるが異なる美的外観を含有する２つの機械読み取り可能な光学式コード１０８Ｐ、１０８Ｑを示すものであり、機械読み取り可能な光学式コードを、定型化された文字で構成される企業ロゴ９０１として描くことが可能である。また、プローブ位置４０１に重ねられたロゴ９０１の黒および白のエリアの配置によれば、図９Ｂの機械読み取り可能な光学式コード１０８Ｑが図９Ａの機械読み取り可能な光学式コード１０８Ｐと比べて同様の意味を保持することを確実にする。図９Ｃは、企業ロゴ９０１として描かれる、図９Ｂに示すのと同様の機械読み取り可能な光学式コード１０８Ｑを、ユーザに対して見えるような状態で表す（すなわち、セル３およびプローブ位置４０１なしで）。
【００６７】
様々な実施形態において、本明細書に記載の技術によるコード１０８によって形成される美的デザインは、図、文字またはそれらのいくつかの組合せのいずれかである、任意の好適なタイプまたは形のものであることが可能である。上記したように、美的デザインはコード１０８に符号化された情報の表現であってよく、またはそうした情報から完全に独立していてもよい。美的デザインは任意の美的、マーク的および／または情報的な目的として、および／またはその他の目的を担ってもよく、またはまったく目的がなくてもよい。
方法
【００６８】
ここで図１０を参照すると、一実施形態による、美的要素を有する機械読み取り可能な光学式コード１０８を生成するための全体的な方法を表すフロー図を示す。図１０に表す方法は、任意の好適な演算またはハードウェア装置によって実行されることが可能であり、例えば図１に示すような構造を有しうる。
【００６９】
方法が開始される（１０００）。まず、システムは、機械読み取り可能な光学式コード１０８に関して基準７０１を決定する（１００１）。少なくとも１つの実施形態において、基準７０１は、機械読み取り可能な光学式コード１０８の境界を特定する公知のマーカであって、例えば図７Ａから９Ｃに表す黒線の四角形であるが、他の形状の基準７０１を用いることは可能である。
【００７０】
決定された基準７０１に基づいて、システムは、プローブ位置４０１を決定するが（１００２）、これらは、そうである必要はないが概してセル３０１内の中心にある。一実施形態では、プローブ位置４０１はコード読み取り設備に対する確立された許容誤差に基づいて予め決められたサイズである。例えば、各プローブ位置４０１は、コード読み取り設備が、各セル３０１の中心からわずかに外れる位置を読み取ることとなる可能性を理由に十分大きい必要がある。
【００７１】
プローブ位置４０１について、機械読み取り可能な光学式コード１０８の予定の値に基づいて、色が設定される（１００３）。その後、所望の美的デザインに基づいて、プローブ位置４０１外側のネガティブスペースが埋められる。美的デザインは、指定されたパラメータに基づいて、機械によって自動的に生成されうる。あるいは美的デザインは、人であるオペレータによって指定されることが可能である。あるいは、これら２つの方法のいくつかの組合せを用いて、例えば自動的に美的デザインを生成するが自動的に生成されたデザインを人であるオペレータが編集することを許可することが可能である。このような方法によってデザインを生成することをユーザに対して許可するために、任意の好適なユーザインタフェースを用いることが可能であり、例えば機械読み取り可能な光学式コードの意図された意味の要求に制約される形状を描くことをユーザに許可するインタフェースを含む。
【００７２】
例えば、少なくとも１つの実施形態においては、基準に対して許容可能な描画エリア（図示される、または図示せず）とプローブ位置がある場所の微弱な表示とを示す描画キャンバスを提示するユーザインタフェースを提供可能である。図示デザインおよびレイアウトのためのコンピュータプログラムに共通する、いくつかの描画ツールのいずれかが、キャンバス周辺のボタンおよび／または他の制御を介して提供されうる。例えばボタンは、例えばコンピュータマウスなどである入力装置を用いてクリックおよびドラッグすることによって直線および／または曲線を描くためのツールを提供しうる。他のボタンは、入力装置を用いてクリックおよびドラッグすることによっても描かれる例えば長方形および円などの基本的形状を提供することができる。少なくとも１つの実施形態において、インタフェースは、任意のプローブ位置を通過するものをユーザが描くことを防止するように構成することが可能であり、代わりに同時に全プローブを完全に除外または含有するようなネガティブスペースおよび任意の閉じた、埋められた形状となる任意の描画線を抑制する。そのため、例えば、ユーザがプローブ内の位置に線または形状のエッジを動かそうとすると、システムは、線または形状のエッジを最近傍のプローブ位置の境界から弾き出すようにすることが可能である。
【００７３】
そして、方法が終了する（１０９９）。
【００７４】
ここで図１１Ａを参照すると、一実施形態による、美的要素を有する機械読み取り可能な光学式コード１０８の生成に用いるための見本寸法を含む、基準マーカ(基準)７０１の説明例を示す。ここで、基準７０１は、四角形であり、コーナーマーカ１１０１を有するが、当業者は、任意の形状、サイズ、またはデザインとすることが可能であることがわかるであろう。もちろん、形状、サイズまたはデザインの選択は、任意の視点からの検出しやすさに影響を与えうる。例えば、図１１Ａに示すような実質的に四角形の基準７０１を用いることは、視点が変わるにもかかわらずロバストであるパターン検出のための、計算機的に安価な方法に役立つという理由から有益でありうる。さらに、そうした基準７０１のシャープなコーナーは、以下に記載するように、画像内のその正確な位置特定と、任意に、三次元空間におけるその位置の正確な予測とに役立つことが可能である。
【００７５】
図１１Ａの例では、Ｆは、太い黒線の四角形外側に対応する、基準７０１の幅を表す。Ｇは、最外のセル３０１の外側のエッジと、基準７０１の内側のエッジとの間の間隙１１１０を表す。Ｂは、基準７０１外側のエリアを表す。
【００７６】
ここで図１１Ｂも参照すると、一実施形態による、基準７０１内のセル３０１の説明例を示しており、見本寸法を含む。Ｓは、四角形幅（SquareWidth）とも称される、セル３０１の幅を表す。Ｐは、プローブ位置４０１の直径を表す（プローブ直径）。プローブ位置４０１外側であるがセル３０１内のエリア４０２もまた示している。
【００７７】
少なくとも１つの実施形態において、すべての寸法は、基準７０１のサイズに対する尺度とする。そのため、システムが基準７０１のサイズを一度特定すると、すべてのセル３０１およびプローブ位置４０１が決定されうる。また、基準７０１およびプローブ位置４０１のレイアウトは、必要に応じてまたは所望により、拡張可能になされ、パラメータ化が可能である。
【００７８】
少なくとも１つの実施形態において、寸法は以下のように関連する。
Ｎ×Ｎ配列のセル３０１を有するコード１０８に関して、
○倍率ａ：０．０＜ａ≦１．０
○Ｓ＝Ｆ／（Ｎ＋２＋２ａ）
○Ｇ＝Ｂ＝ａＳ
○Ｔ＝Ｓ
○Ｐ＝Ｓ／３
【００７９】
当業者は、上記関係が単なる例示であることがわかるであろう。
基準検出方法
【００８０】
ここで図１５を参照すると、一実施形態による、基準７０１の検出方法を表すフロー図を示す。この方法の目的は、カメラまたは光学スキャナの特定の視点によらず、該カメラまたは光学スキャナによって撮影される画像内の機械読み取り可能な光学式コード１０８を位置特定する既知の、通常の基準７０１Ａ（例えば太い黒線の四角形である）を発見することである。いくつかの状況では、図１５に表す基準検出方法は、特に、一定の（例えば、フロントパラレル（fronto-parallel））画角をすべての読み取りに対して保証すれば、より単純でありうる。
【００８１】
少なくとも１つの実施形態において、図１５に表す方法は、図２に示すような装置によって実行されるものであり、スキャナ２０１（または他の画像撮影装置）が機械読み取り可能な光学式コード１０８を含有するスキャン画像２０２を取得する。処理ステップは、例えばソフトウェアの指示の下で、かつ、他のハードウェア構成に関連するプロセッサ１０４によって実行可能である。他の実施形態では、図１５に表す方法は、他の構造および構成要素を有するハードウェア装置によって実行可能である。
【００８２】
図１５のフロー図において、長方形は動作を表し、角丸長方形はそれらの動作の中間産物を表す。
【００８３】
入力画像２０２は、例えばスキャナ２０１、カメラまたは他の類似の装置によって撮影またはスキャンされる。少なくとも１つの実施形態において、入力画像２０２は、２値化される（白黒画像に変わる）。少なくとも１つの実施形態において、この２値化は、画像２０２のいくつかの部分が、他よりもより明るく光りうる可能性のための機構を提供する。局所スケール１５０２は、画像２０２の各部分について決定され、その後、この局所的な平均化画像１５０３は、閾値１５０４と比較されるが、画素がオンかオフかを検討されるべきか否かを判定するために、各画素の明るさと、それを囲む画素近傍の平均の明るさとを比較することによる。その結果が２値画像１５０５である。
【００８４】
少なくとも１つの実施形態において、ステップ１５０２において用いられる近傍サイズは、特徴スケール予測（characteristic scale estimation）によって各画素で決定される。特徴スケール予測は、画像２０２における特徴量（feature）の濃度（例えば、与えられたエリア内にどれだけのエッジ／変化があるか）を用いて、検討する近傍サイズを決定する。例えば、より細部の場所には、より小さい近傍を用い、逆に細部でない場所には、大きな近傍を用いる。少なくとも１つの実施形態において、特徴スケール予測は、ラプラシアン画像ピラミッド（Laplacian image Pyramid）を用いて達成される。例えば、Lindeberg, Scale-Space Theory in Computer Vision, Kluwer Academic Publishers/Springer, Dordrecht, Netherlands, 1994を参照のこと。
【００８５】
少なくとも１つの実施形態において、それは大量の細部（かつ、より小さい近傍）を有する内側エリアを、細部がほとんどない（かつ、より大きい近傍）外側エリアから分離するため、基準７０１Ａ周辺の間隙１１１０のサイズは、特徴スケール予測に最適であるように選択される。従って間隙１１１０は、局所スケール決定処理の間に基準７０１Ａを目立たせることに役立つことが可能である。
【００８６】
２値画像１５０５が一度構成されると、システムはその後、４連結で、または８連結でのいずれかで、画像１５０５の画素格子において互いに近傍である２値画像１５０５の範囲内の成分を発見する（１５０６）。これら連結成分は、互いに連結する同じ値の領域（例えば、黒の領域）を表現する。
【００８７】
その結果が、連結領域の一覧１５０７である。一覧１５０７は、その後どの領域が有意義なデータを表現するために十分なサイズ、信頼性等があるかを決定するためにフィルタリングされる（１５０８）。段階的カスケードフィルタを用いることが可能である。フィルタリング処理で残ったそれらの領域１５０９について、領域境界を追跡して（１５１０）、境界の画素一覧１５１１を得る。
【００８８】
例えば、境界の（ｘ，ｙ）座標をフィルタリングし、湾曲部のピークを探すことによって、境界のコーナーが特定される（１５１２）。これにより、（４つのコーナーを有しないそれらの形状を除去することによって）四辺形の集合を得る（１５１３）。
【００８９】
四辺形は、適切なパラメータ（例えば非常に非対称である、高度に歪んでいるなどのそれらの形を除去するために、例えば面積、歪み（skew）、対称等である）を有するものを特定するようにフィルタリングされる（１５１４）。段階的カスケードフィルタを用いることが可能である。フィルタリング処理で残るそれら四辺形１５１５は、例えば、それらの小さい摂動を発見することによって、数学的な意味において、四辺形の４つのコーナーのサブピクセル位置を最適化するなどの任意の好適な画像ベースのアライメント方法を用いて任意に調整し（１５１６）、強い画像階調度を有する四辺形のエッジを最良に配列する。その結果が、検出された基準７０１Ａの集合である。
【００９０】
少なくとも１つの実施形態において、十分なサイズ、信頼性、歪み、対称等の決定は、トレーニングデータおよび機械学習アプローチを用いてなされることが可能である。
復号化アルゴリズム
【００９１】
ここで図１６を参照すると、一実施形態による、基準７０１Ａが検出された後のコードの復号化方法を表すフロー図を示す。この方法の目的は、すでに位置特定された基準７０１Ａ内に含有されるコード１０８を決定することである。
【００９２】
少なくとも１つの実施形態において、図１６に表す方法は、スキャナ２０１（または他の画像撮影装置）が機械読み取り可能な光学式コード１０８を含有するスキャン画像２０２を取得した後で、かつ、図１５のステップが実行されて基準７０１Ａが検出された後で、図２に示すような装置によって実行される。処理ステップは、例えばソフトウェアの指示の下で、かつ、他のハードウェア構成に関連するプロセッサ１０４によって実行可能である。他の実施形態では、図１６に表す方法は、他の構造および構成要素を有するハードウェア装置によって実行可能である。
【００９３】
図１６のフロー図において、長方形は動作を表し、角丸長方形はそれらの動作の中間産物を表す。
【００９４】
システムは、基準７０１Ａを正規の基準７０１Ｂ（すなわち、透視変換が適用されないもの）と比較することによって検出された基準７０１Ａを適用して、四辺形のコーナーの相対位置を決定する透視変換を（もしあれば）決定する（１６０１）。この解析の結果は、射影変換１６０２であり、透視変換の数学的な仕様である。システムはその後、正規のプローブ位置１６０３の配置を取り、射影変換１６０２において特定された変換を適用して変換された（歪んだ）プローブ位置４０１Ｂを決定する（１６０４）。
【００９５】
スキャン画像２０２が、各歪んだプローブ位置４０１Ｂにおける１つまたは複数のグレースケールのプローブ値１６０７を決定するよう処理される（１６０６）。
【００９６】
少なくとも１つの実施形態において、本明細書に記載のシステムおよび方法は、機械読み取り可能な光学式コード１０８内のアートワークの配置におけるいくつかの許容誤差度を考慮する。例えば、アートワークの黒のエリアが、プローブ位置４０１上でわずかに影響するものであれば、プローブ位置４０１は依然として白として読み取られるはずである（逆の場合も同様）。従って、少なくとも１つの実施形態において、許容誤差は、プローブ位置４０１Ｂ範囲内のいくつかの位置（例えば８つの位置などである）で読み取られること、およびそれらの読み取りの平均値を得ることによって達成される。
【００９７】
これらの平均において閾値処理が実行して、読み取りのための２値プローブ値１６０９を決定する（１６０８）。閾値の決定におけるさらなる詳細および局所的な照明条件の変化に関する説明を、以下に説明する。任意に、空間的な方位ビットおよび／またはコーナーマーカを用いて、コードの方位を決定（１６１０）および／または用いる閾値を決定することが可能である。
【００９８】
最終的な２値プローブ値は、コードライブラリ１６１１（データ記憶部１０７またはその他の好適な場所に記憶されうる）に対して比較されて（１６１２）、合致したコード（matched code）１０８を発見し、その後出力される。様々な実施形態において、マッチングとは、同一または「最も近い」ものでありうる（いくつかの距離メトリックまたは学習した識別器に基づく）。
【００９９】
マッチングの実行に関して、任意の好適な機構を提供可能である。少なくとも１つの実施形態において、バイナリ列（binary string）間の例えばハミング距離（Hamming distance）である距離メトリックを用いることが可能である。
【０１００】
あるいは、閾値処理されたプローブ値の集合はまた、数値または文字を表現する１つの長いバイナリ配列として解釈されることが可能である。例えば、８×８のコードは６４のプローブを含有し、表現対象である６４ビットの整数に関する十分なビットまたは浮動小数点値を提供する。あるいは、値は、８ビットのＡＳＣＩＩ文字にグループ化されることが可能であり、８文字の文字列を得る。その後配列、数値または文字を用いて、マッチングを実行可能である。
【０１０１】
少なくとも１つの実施形態において、「学習した識別器（trained classifier）」は、特定のアプリケーションに固有の所望のラベルの例えばプローブ読み取りからマッピングを学習する。例えば、学習時間において、識別器は、プローブ値のそれぞれに対して出力されるはずであるラベルと組み合わせられるすべての期待されるプローブ値（合成変動および／または摂動を含有可能である）で学習することが可能である。学習はまた、システムが無視するべきであるプローブ値に関して「無視」ラベルを含んでよい。識別器は、実行時において測定された値の集合に学習ラベルを返す、または「無視」集合の一部であった観測コードを示す。
変形
コードの三次元ポーズの検出
【０１０２】
機械読み取り可能な光学式コード１０８が実世界の物体又は表面からカメラによって読み取られるものである少なくとも１つの実施形態において、システムは、周知の技術を用いて、物体または表面に対するカメラの三次元ポーズ（位置および方位を含む）を決定することが可能である。これにより、システムは、その上にコードをもった対象となる実世界の物体について、その物体上のコードの場所がわかっていると仮定すると、位置を決定することが可能となる。これは、例えば、その上にコードをもった物体と、例えばそれを直接扱うこと、またはそれ周辺の経路を障害として計画することによって、相互に作用するように構成されているロボットのロボットアプリケーションにおいて有用である。
境界および間隙
【０１０３】
少なくとも１つの実施形態において、図１１Ａの例に示すように、コードの読み取りは、基準７０１の内側および／または外側の間隙１１１０を提供することによってよりロバストとすることが可能である。Ｂは、基準７０１外側にある境界１１１１を表し、他からの１つのコード１０８を分離するように働くことが可能である。Ｇは、基準７０１内側であるがプローブ位置４０１の外側である間隙エリア１１１０を表す。間隙１１１０および／または境界１１１１は、特に、例えば、特徴スケールベースの方法を用いて局所的な閾値を決定する場合に、スキャナ２０１、プロセッサ１０４または他の構成要素に対してより容易に基準７０１の場所を特定しやすいようにしてよい。
方位マーカ
【０１０４】
少なくとも１つの実施形態において、図１１Ａの下部左コーナーに示すように、基準（例えばコーナーマーカ１１０１である）に対して方位特定の修正が提供される。コーナーマーカ１１０１は、スキャナ２０１、プロセッサ１０４または他の構成要素に対して予定の方位のコード１０８を提供し、コード１０８に対して、不明瞭となることなしに、任意の方位でのスキャンを可能とする。しかしながら、そうした特徴は任意であり、代替となる実施形態では、スキャナ２０１、プロセッサ１０４または他の構成要素は、すべての４つの方位においてコード１０８の解読を試行し、そうした解読に基づいてどの方位が意味をなすかを決定することが可能であり、あるいは、そうした構成要素は、他の曖昧性除去技術を用いて予定の方位を確認することができる。少なくとも１つの実施形態において、基準７０１は、あるコーナーのプローブ位置４０１を覆うようにデザインされるため、方位の決定に関してさらなるプローブ位置４０１を必要としない。他の実施形態では、例えば、基準または間隙領域内の既知の位置４０１Ａにおけるさらなるプローブが用いられうる（例えば図１１Ａに表すプローブ位置４０１Ａ）。
【０１０５】
ここで図１２Ａ、１２Ｂおよび１２Ｃを参照すると、様々な実施形態による、基準７０１の代替となる説明例を示す。図９Ａは、内部に曲線を有する基準７０１の例を表す。図９Ｂは、内部および外部に曲線を有する基準７０１の例を表す。これらの基準は、方位指標を有さない。
【０１０６】
少なくとも１つの実施形態において、単純な四角形（または他の形状）が用いられる。図１２Ｃに、そうした基準７０１の例を示す。この例に示すように、追加のプローブ位置４０１を、基準の四角形１２０１内に（プローブ位置４０１Ｂ）、および／または間隙の領域１１１０内に（プローブ位置４０１Ｃ）配置可能である。基準の四角形１２０１は黒であることがわかり、間隙１１１０は白であることがわかるため、そうしたプローブ位置４０１の配置を、閾値処理に関して適切なレベルの決定（すなわち、明るさのレベルが、黒として解読されるべきか、白として解読されるべきかを決定すること）を助けるために用いることが可能である。
【０１０７】
少なくとも１つの実施形態において、同様のコード１０８の異なる方位は、異なる意味を有するものとして解釈することが可能である。本質的に、異なる方向に回転される同様のコード１０８を用いて、異なる情報を符号化することが可能である（もちろん、コード１０８それ自体のデザインは、回転対称でないと仮定する）。
【０１０８】
ここで図１３を参照すると、一実施形態による、１２の異なる意味を潜在的に有する１２の異なるマーカで同様のパターン１３０１を区別するような方位指標（コーナーマーカ１１０１）の使用を表す説明例を示す。この例では、以下の規則を用いて方位を確立する。
・１つのコーナー指標：下方左
・２つのコーナー指標：下方側
・３つのコーナー指標：下方側＋左側
【０１０９】
多くの異なる変形例および規則が考えられ、かつ、図１３に表すコード１０８およびパターン１３０１は単なる例示であることが当業者はわかるであろう。
曲線コーナーを備えた基準
【０１１０】
少なくとも１つの実施形態において、記載のシステムは、そうした基準７０１が、それら自体にコーナーを含まない場合または曲線コーナーを有する場合であっても、基準７０１によって暗示されるコーナー位置を予測することが可能である。これらの暗示される（仮想の）コーナーは、実際のコーナーに関して上記とまったく同様の方法で用いることが可能である。仮想コーナーは、以下に示すように、基準７０１の辺の直線部分を基に決定される。
【０１１１】
ここで図１８を参照すると、曲線コーナーを有する基準７０１における仮想コーナーの予測の例を示している。基準７０１を規定する形状の境界に沿う各ポイントにおいて、標準の方位１８０４が決定される。これらの標準の方位１８０４は、類似の方位１８０４の集合を表現する各クラスタ１８０１に分類される。四辺形形状の基準７０１に関して、それぞれ四辺形の辺のうちの１つに対応する４つのクラスタ１８０１が規定され、例えば、図１８に示す四角形状に関しては、４つのクラスタ１８０１Ａ、１８０１Ｂ、１８０１Ｃ、１８０１Ｄが規定される。線１８０２は、４つのクラスタ１８０１のそれぞれに属するポイントに一致しており、４本の線１８０２を得る。例えば、図１８において、クラスタ１８０１Ａ、１８０１Ｂ、１８０１Ｃ、１８０１Ｄにそれぞれ対応する、４本の線１８０２Ａ、１８０２Ｂ、１８０２Ｃ、１８０２Ｄが生成される。これらの４本の線１８０２の交差点が、基準７０１の仮想コーナー１８０３として規定される。
【０１１２】
上記した技術は単純な四角形状の観点で説明したが、当業者は、例えば曲線コーナーを有する歪んだ四辺形などである他の形状についても同様に、同様の方法を用いることが可能であることがわかるであろう。
帰納的プローブ符号化
【０１１３】
少なくとも１つの実施形態において、システムは、帰納的プローブ符号化技術を用いるものであり、プローブ位置４０１のサブセットを用いて、残りのプローブパターンを示す。すなわち、コード１０８の指定された部分を読み取り、解読し、コード１０８の残る部分をどのように解読すべきかについてのガイダンスを与える。
【０１１４】
図１４に示すように、例えば、固定プローブ位置４０１Ｄの集合を最初に読み取る（この例では、固定プローブ位置４０１Ｄは、コード１０８Ｒまたは１０８Ｓの外側のエッジに沿うそれらのプローブ位置４０１を含む）。それらの固定プローブ位置４０１Ｄで検出されたパターンは、コード１０８Ｒ、１０８Ｓの残りをどのように読み取るべきかを示す（例えば、指定のプローブ位置パターン、解像度および／またはアートワークに費やされる「ブランク」エリア等を含む）。この例では、コード１０８Ｒは、コード１０８Ｒの中心部に低解像度５×５プローブパターン１４０１Ａであるプローブ位置４０１Ｅを示す固定プローブ位置４０１Ｄのパターンを含む。一方、コード１０８Ｓは、コード１０８Ｓの中心部に高解像度のプローブパターン１４０１Ｂであって、機械読み取り可能なデータではなくアートワークに費やされる指定された空間１４０２を中心に備えたプローブ位置４０１Ｅを示す固定プローブ位置４０１Ｄのパターンを含む。いくつかのプローブ位置４０１Ｄは固定されるが他は変更可能で、該固定プローブ位置４０１Ｄが、変更可能なプローブ位置４０１の配置についての指示を提供するような、他の配置が可能である。図１４に示す固定プローブ位置４０１Ｄの特有のパターンは、単なる例である。
【０１１５】
当業者は、本明細書に表し、記載された例は単なる例示であること、ユーザインタフェース要素の他の配置を用いることが可能であることがわかるであろう。さらに、本質的な特徴から逸脱することなく、表した要素のいくつかは省略または変更可能であり、追加の要素が表されうる。
【０１１６】
本システムおよび方法について、可能性のある実施形態に関する特定の詳細を説明した。当業者は、システムおよび方法が他の実施形態で実施されうることがわかるであろう。まず、構成要素の特定の名称、大文字で示した用語、属性、データ構造、またはその他のプログラミングまたは構造的態様は、必須または重要でなく、その機構および／または特徴は、異なる名称、フォーマットまたはプロトコルを有しうる。さらに、システムはハードウェアおよびソフトウェアの組合せ、またはハードウェア要素のみ、またはソフトウェア要素のみで実施されうる。また、本明細書に記載された様々なシステム構成要素間における特定の機能の分離は、単なる例示で必須ではなく、１つのシステム構成要素によって実行された機能を、代わりに複数の構成要素によって実行されてもよく、複数の構成要素によって実行された機能を、代わりに１つの構成要素によって実行されてもよい。
【０１１７】
明細書で「一実施形態」または「実施形態」と称したが、その実施形態に関連して記載される特定の特徴（feature）、構造または特徴（characteristic）が少なくとも１つの実施形態に含まれていることを意味している。明細書の様々な箇所で「一実施形態において」または「少なくとも１つの実施形態において」という表現が現れるが、必ずしもすべて同じ実施形態を指しているものではない。
【０１１８】
様々な実施形態において、上記した技術を実行するためのシステムおよび／または方法が、単一で、または任意の組合せのいずれかで、任意の数含まれうる。その他の実施形態には、演算装置または他の電子装置におけるプロセッサに上記技術を実行させるために、非一時的なコンピュータ読み取り可能な記憶媒体および該媒体上で符号化されたコンピュータプログラムコードを備えるコンピュータプログラム製品が含まれる。
【０１１９】
上記の一部は、演算装置のメモリ内のデータビット上の動作を表現するアルゴリズムおよび記号の観点で提示される。これらのアルゴリズム的な記載および表現は、データ処理分野における当業者によって用いられる、該当業者の業務の実体を他の当業者に対してもっとも効果的に伝達するための手段である。ここでアルゴリズムは、概して、所望の結果を導く首尾一貫したシーケンスのステップ（指示）であると考えられている。ステップは、それらの要求する物理的な量の物理的な操作である。これらの量は、通常、記憶、伝送、組合せ、比較および別の操作を行うことが可能である電子的、磁気的または光学的な信号の形体をとる。主に共通利用の理由から、これらの信号を、ビット、値、要素、記号、文字、用語、数等として称することがときに簡便であることもある。さらに、一般性を失うことなく、物理量の物理的操作を要求するステップの特定の配置をモジュールまたはコード装置と称することもまた、ときに簡便であることもある。
【０１２０】
しかしながら、これらのすべておよび類似の用語は、適切な物理量と関連し、これらの量に適用される単なる便宜上のラベルであることに留意されたい。以下の議論に特に明確に示していない場合、明細書を通して、例えば「処理すること」または「演算すること」または「計算すること」または「表示すること」または「決定すること」等である用語を利用する議論は、コンピュータシステムメモリもしくはレジスタもしくは、例えば情報記憶部、伝送装置または表示装置などのその他における物理的（電子的）量として表現されるデータを操作し、変換するコンピュータシステムまたは同様の電子演算モジュールおよび／または装置の動作および処理に関するものであることが認識される。
【０１２１】
ある態様では、アルゴリズムの形で本明細書に記載される処理ステップおよび指示を含む。処理ステップおよび指示は、ソフトウェア、ファームウェアおよび／またはハードウェアに埋め込まれることが可能であり、ソフトウェアに埋め込まれた場合、多様なオペレーティングシステムによって用いられる様々なプラットフォームに存在し、該プラットフォームから動かされるようにダウンロード可能であることを留意されたい。
【０１２２】
本文書はまた、本明細書における動作を実行するための装置に関する。この装置は、必要な目的のために特別に構築されてもよく、または演算装置に記憶されるコンピュータプログラムによって選択的に活性化もしくは構成変更される汎用演算装置を含んでもよい。そうしたコンピュータプログラムは、限定するものではないが、例えばフロッピーディスク、光ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光磁気ディスク、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、半導体ドライブ（solid state drive）、磁気または光学カード、特定用途向け集積回路（ＡＳＩＣ）を含む任意のタイプのディスクや、もしくは電子的指示を記憶するために好適で、それぞれコンピュータシステムバスに接続される任意のタイプのディスクなどであるコンピュータ読み取り可能な記憶媒体に記憶される。また、本明細書で参照する演算装置は、１つのプロセッサを含んでよく、演算能力の増加のために複数のプロセッサ設計を用いる構造であってよい。
【０１２３】
本明細書で提示されるアルゴリズムおよび表示は、本質的に、特に演算装置、仮想化システムまたは他の装置に関連するものではない。様々な汎用システムはまた、本明細書における教示に応じたプログラムと用いられてよく、それにより、より特別な装置を構成して必要な方法ステップを実行することに簡便であることを証明しうる。様々なこれらのシステムに関する必要な構成は、本明細書で提供する記載から明らかであろう。また、システムおよび方法は、特定のプログラム言語に準拠して記載されていない。各種プログラム言語を用いて本明細書に記載の教示を実施してよく、上記特定の言語への任意の準拠は、実施可能で最良の形態である開示のために提供されることがわかるであろう。
【０１２４】
従って、様々な実施形態は、ソフトウェア、ハードウェアおよび／またはコンピュータシステムや演算装置やその他の電子装置を制御するための他の要素を含み、もしくは任意の組合せやその複数を含む。そうした電子装置には、この分野の周知技術により、例えばプロセッサ、入力装置（例えばキーボード、マウス、タッチパッド、トラックパッド、ジョイスティック、トラックボール、マイクおよび／またはそれらの任意の組合せなど）、出力装置（例えば、画面および／またはスピーカー等）、メモリ、ロングタームストレージ（例えば、磁気ストレージ、および／または光ストレージ等）および／またはネットワーク接続性を含むことが可能である。そうした電子装置は、ポータブルまたは非ポータブルであってよい。記載したシステムおよび方法を実施するために用いられうる電子装置の例としては、携帯電話、携帯情報端末（personal digital assistant）、スマートフォン、キオスク端末、サーバコンピュータ、企業演算装置、デスクトップコンピュータ、ノート型パーソナルコンピュータ、タブレットコンピュータ、家庭用電子装置等を含む。電子装置は、例えば限定するものではないが、Ｌｉｎｕｘ(登録商標)、ワシントン州レドモンドのＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎより入手可能なＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ、カリフォルニア州クパチーノのＡｐｐｌｅ  Ｉｎｃ．より入手可能なＭａｃ  ＯＳ  Ｘ、カリフォルニア州クパチーノのＡｐｐｌｅ  Ｉｎｃ．より入手可能なｉＯＳ、カリフォルニア州マウンテンヴューのＧｏｏｇｌｅ，  Ｉｎｃ．より入手可能なＡｎｄｒｏｉｄおよび／または装置上で使用に適したその他のオペレーティングシステムである任意のオペレーティングシステムを用いうる。
【０１２５】
本明細書では限られた数の実施形態を説明したが、上記明細書の利益を有する当業者は、他の実施形態が案出されうることがわかるであろう。また、明細書において用いられた言語は、主として、読みやすさと指導的な目的のために選択されたのであって、主題を明らかにさせたり範囲を定めたりするために選択されたのではないものでありうる。従って、開示は例示を意図しており、その範囲を限定するものではない。
【図１】
2017516204.tif 000003
【図２】
2017516204.tif 000004
【図３】
2017516204.tif 000005
【図４】
2017516204.tif 000006
【図５】
2017516204.tif 000007
【図６】
2017516204.tif 000008
【図７Ａ】
2017516204.tif 000009
【図７Ｂ】
2017516204.tif 000010
【図８Ａ】
2017516204.tif 000011
【図８Ｂ】
2017516204.tif 000012
【図９Ａ】
2017516204.tif 000013
【図９Ｂ】
2017516204.tif 000014
【図９Ｃ】
2017516204.tif 000015
【図１０】
2017516204.tif 000016
【図１１Ａ】
2017516204.tif 000017
【図１１Ｂ】
2017516204.tif 000018
【図１２Ａ】
2017516204.tif 000019
【図１２Ｂ】
2017516204.tif 000020
【図１２Ｃ】
2017516204.tif 000021
【図１３】
2017516204.tif 000022
【図１４】
2017516204.tif 000023
【図１５】
2017516204.tif 000024
【図１６】
2017516204.tif 000025
【図１７】
2017516204.tif 000026
【図１８】
2017516204.tif 000027
【国際調査報告】
2017516204.tif 000028
2017516204.tif 000029
2017516204.tif 000030