(57)【要約】【課題】表面上に配置された物体を識別する方法、システム、およびコンピュータ・プログラムを提供すること。【解決手段】物体が表面上に配置されているという表示が受信される。物体に関連する複数の物理的特徴が識別される。複数の物理的特徴を使用して、データ構造が探索され、複数の物理的特徴に合致する物理的特徴を有する単一の物体の存在が判定される。合致に応答して、単一の物体が、関連するプレゼンテーションを有するかどうかに関して判定が行われる。関連するプレゼンテーションの存在に応答して、関連するプレゼンテーションがユーザに提示される。【選択図】図３
2009169951.tif 000002
【特許請求の範囲】
【請求項１】
表面上に配置された物体を識別する方法であって、
物体が前記表面上に配置されているという表示を受け取るステップと、
前記物体に関連する複数の物理的特徴を識別するステップと、
前記複数の物理的特徴を使用して、データ構造を探索し、前記複数の物理的特徴に合致する物理的特徴を有する単一の物体の存在を判定するステップと、
合致に応答して、前記単一の物体が、関連するプレゼンテーションを有するかどうかを判定するステップと、
前記関連するプレゼンテーションの存在に応答して、前記関連するプレゼンテーションをユーザに提示するステップと
を含む方法。
【請求項２】
コンピュータ可読プログラムを有するコンピュータ使用可能媒体を含むコンピュータ・プログラムであって、前記コンピュータ可読プログラムが、データ処理システムで実行されたときに、前記データ処理システムに、
物体が前記表面上に配置されているという表示を受け取り、
前記物体に関連する複数の物理的特徴を識別し、
前記複数の物理的特徴を使用して、データ構造を探索し、前記複数の物理的特徴に合致する物理的特徴を有する単一の物体の存在を判定し、
合致に応答して、前記単一の物体が、関連するプレゼンテーションを有するかどうかを判定し、
前記関連するプレゼンテーションの存在に応答して、前記関連するプレゼンテーションをユーザに提示する
ことをさせるコンピュータ・プログラム。
【請求項３】
プロセッサと、
前記プロセッサに結合されたメモリであって、命令を含み、前記命令が、前記プロセッサで実行されたときに、前記プロセッサに、
物体が前記表面上に配置されているという表示を受け取り、
前記物体に関連する複数の物理的特徴を識別し、
前記複数の物理的特徴を使用して、データ構造を探索し、前記複数の物理的特徴に合致する物理的特徴を有する単一の物体の存在を判定し、
合致に応答して、前記単一の物体が、関連するプレゼンテーションを有するかどうかを判定し、
前記関連するプレゼンテーションの存在に応答して、前記関連するプレゼンテーションをユーザに提示する
ことをさせるメモリと
を備えるシステム。
【請求項４】
前記命令がさらに、前記プロセッサに、
前記単一の物体を識別することに失敗したことに応答して、前記データ構造を探索して、前記複数の物理的特徴の公差以内にある物理的特徴を有する１つまたは複数の物体の存在を判定し、
前記１つまたは複数の物体を識別したことに応答して、前記１つまたは複数の物体のリストから前記物体を識別するように前記ユーザに促し、
前記ユーザが前記物体を識別したことに応答して、前記物体が、関連するプレゼンテーションを有するかどうかを判定し、
前記関連するプレゼンテーションの存在に応答して、前記関連するプレゼンテーションをユーザに提示する
ことをさせる請求項３に記載のシステム。
【請求項５】
前記命令がさらに、前記プロセッサに、
前記１つまたは複数の物体を識別することに失敗したことに応答して、前記物体を識別するように前記ユーザに促し、
前記ユーザが前記物体を識別したことに応答して、前記物体が、関連するプレゼンテーションを有するかどうかを判定し、
前記関連するプレゼンテーションの存在に応答して、前記関連するプレゼンテーションをユーザに提示する
ことをさせる請求項４に記載のシステム。
【請求項６】
前記命令がさらに、前記プロセッサに、
前記物体の識別および前記複数の物理的特徴を前記データ構造に格納させる請求項５に記載のシステム。
【請求項７】
前記命令がさらに、前記プロセッサに、
前記複数の物理的特徴を使用して、前記データ構造を探索し、別の物体に関連する物理的特徴に基づいて前記単一の物体の存在を判定し、
前記別の物体に関連する物理的特徴に基づく前記単一の物体の物理的特徴の合致に応答して、前記単一の物体が、関連するプレゼンテーションを有するかどうかを判定し、
前記関連するプレゼンテーションの存在に応答して、前記関連するプレゼンテーションをユーザに提示する
ことをさせる請求項３に記載のシステム。
【請求項８】
前記命令がさらに、前記プロセッサに、
前記単一の物体の識別および前記複数の物理的特徴を伴う表示を別のユーザに送らせる請求項３に記載のシステム。
【請求項９】
前記複数の物理的特徴が、重量、温度、面積、幾何学的形状、または特徴マーキングのうちの少なくとも１つを含む請求項３に記載のシステム。
【請求項１０】
前記複数の物理的特徴が、重量、温度、面積、幾何学的形状、および特徴マーキングの組のうちの少なくとも２つを含む請求項３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、一般には改良型のデータ処理システムおよび方法に関する。より詳細には、本願は、センサを使用して、表面上に配置された物体を識別することを対象とする。
【背景技術】
【０００２】
現在、表面上に配置された物体を識別することのできる製品が存在する。例えば、食料雑貨店のチェックアウト・システム内の秤は、重量変化を求めることにより、製品が表面上に配置されたことを検出することができる。しかし、ユーザがバーコードをスキャンし、または識別コードを入力することによって物体を識別しない限り、秤は、物体を識別するための手段を有さない。同様に、商品が識別されると、チェックアウト・システムは、合計重量を計算する際に、物体の重量と、ユーザによってスキャンされた他の物体の重量を使用して、ユーザが物体に対する支払いをすることなく店から物体を取り除いていないことを保証する。
【０００３】
１つの周知の識別システムはＭｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＳｕｒｆａｃｅ（ＴＭ）であり、これは、個人または小グループが慣れていると感じる方式で対話することが容易となる表形式のディスプレイである。Ｓｕｒｆａｃｅ（ＴＭ）は、１人または複数のユーザがディスプレイと対話することを可能にするマルチタッチ対話システムである。Ｓｕｒｆａｃｅ（ＴＭ）は、タッチやジェスチャなどの数十の移動を同時に認識することができ、一度に複数の識別を実施することもできる。Ｓｕｒｆａｃｅ（ＴＭ）は、バーコードに類似の識別タグを有する表形式のディスプレイ上に配置された物体を認識することによって複数の識別を行うことができる。Ｓｕｒｆａｃｅ（ＴＭ）が識別タグを使用して商品を識別するとき、表形式のディスプレイは物体に関連する固有のビデオを提示する。別の周知の識別システムはＳａｖａｎｔ  Ｓｙｓｔｅｍｓ（ＴＭ）のＲｏｓｉｅ  Ｃｏｆｆｅｅ  Ｔａｂｌｅであり、これは、Ａｐｐｌｅ（Ｒ）コンピュータを使用して物体の類似の識別を実施する。
【０００４】
Ｓｕｒｆａｃｅ（ＴＭ）などの周知の識別システムは表面上に配置された物体を識別することができるが、こうした周知の識別システムは、識別タグまたはバーコードを使用することによって物体を識別することを必要とする。しかし、典型的な現実世界のシナリオでは、識別システムの表面上に配置される、ユーザによって使用されるすべての物体が、システムがそれと対話する識別タグを有するわけではない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
表面上に配置された物体を識別する方法、システム、およびコンピュータ・プログラムを提供すること。
【課題を解決するための手段】
【０００６】
例示的実施形態は、物体に関連する特徴を識別するセンサを使用することにより、表面上に配置される、識別タグを有さない物体を識別する機構を提供する。重量、面積、温度、幾何学的形状、特徴マーキングなどの特徴を識別することにより、物体を直接的または間接的に識別することができる。物体が識別されると、音声、ビデオ、音声とビデオの組合せ、テキスト、グラフィカル・イメージ、またはピクチャ、あるいはそれらの組合せなど、情報をユーザに対して表示することができる。さらに、物体の特徴の変化に基づいて、他のユーザに変化を通知することができ、それによってそうした他のユーザはアクションを実行することができる。例えば、レストランの顧客が例示的実施形態の表面上に空のグラスを配置した場合、グラスが空であるという通知を待機スタッフ要員に送ることができ、それによって待機スタッフは、顧客に伴う問題に対処することができる。
【０００７】
例示的実施形態は、表面上に配置された物体の識別を実現する。例示的実施形態は、物体が表面上に配置されているという表示を受け取る。例示的実施形態は、物体に関連する複数の物理的特徴を識別する。複数の物理的特徴を使用して、例示的実施形態は、データ構造を探索して、複数の物理的特徴に合致する物理的特徴を有する単一の物体の存在を判定する。合致に応答して、例示的実施形態は、単一の物体が、関連するプレゼンテーションを有するかどうかを判定する。関連するプレゼンテーションの存在に応答して、例示的実施形態は、関連するプレゼンテーションをユーザに提示する。
【０００８】
別の例示的実施形態では、コンピュータ可読プログラムを有するコンピュータ使用可能媒体またはコンピュータ可読媒体を含むコンピュータ・プログラムが提供される。コンピュータ可読プログラムは、コンピューティング装置上で実行されたとき、方法例示的実施形態に関して上記で略述した動作のうちの様々な動作および組合せをコンピューティング装置に実行させる。
【０００９】
さらに別の例示的実施形態では、システム／機器が提供される。システム／機器は、１つまたは複数のプロセッサに結合された１つまたは複数のプロセッサおよびメモリを備えることができる。メモリは命令を含むことができ、命令は、１つまたは複数のプロセッサで実行されたとき、方法例示的実施形態に関して上記で略述した動作のうちの様々な動作および組合せを１つまたは複数のプロセッサに実行させる。
【００１０】
本発明の上記およびその他の特徴および利点を以下の本発明の例示的実施形態の詳細な説明で説明し、または本発明の上記およびその他の特徴および利点が、以下の本発明の例示的実施形態の詳細な説明に鑑みて当業者には明らかとなるであろう。
本発明、ならびに本発明の好ましい使用の形態および別の目的および利点が、添付の図面と共に読むときに以下の例示的実施形態の詳細な説明を参照することによって最良に理解されよう。
【発明を実施するための最良の形態】
【００１１】
例示的実施形態は、物体に関連する特徴を識別するセンサを使用することにより、特性表面上に配置される、識別タグを有さない物体を識別する機構を提供する。したがって、例示的実施形態の機構は、スタンド・アロン・データ処理装置または分散データ処理環境内の実装、およびサーバ、クライアント装置などのデータ処理装置内での実装、あるいはデータ処理装置に関連する実装に特に適している。例示的実施形態の機構をスタンド・アロン装置または分散データ処理環境内で実装することができるが、以下の説明は、例示のために分散データ処理環境を対象とする。例示的実施形態の機構の説明のための状況を提供するために、例示的実施形態の機構をその中に実装することができ、またはそれと共に実装することのできる分散データ処理システム、または環境、およびデータ処理装置の例として、以下で図１〜２を与える。図１〜２は例に過ぎず、本発明の態様または実施形態を実装することのできる環境に関する何らかの制限を主張または示唆することを意図するものではないことを理解されたい。本発明の精神および範囲から逸脱することなく、図示される環境に対して多くの修正を行うことができる。
【００１２】
ここで図を参照すると、図１は、例示的実施形態の態様を実装することのできる例示的分散データ処理システムの絵画表現を示す。分散データ処理システム１００は、例示的実施形態の諸態様を実装することのできるコンピュータのネットワークを含むことができる。分散データ処理システム１００は、分散データ処理システム１００内で互いに接続される様々な装置およびコンピュータ間の通信リンクを提供するのに使用される媒体である、少なくとも１つのネットワーク１０２を含む。ネットワーク１０２は、ワイヤ通信リンク、ワイヤレス通信リンク、光ファイバ・ケーブルなどの接続を含むことができる。
【００１３】
図示される例では、サーバ１０４とサーバ１０６が、記憶装置１０８と共にネットワーク１０２に接続される。さらに、クライアント１１０、１１２、および１１４もネットワーク１０２に接続される。こうしたクライアント１１０、１１２、および１１４は、例えばパーソナル・コンピュータ、ネットワーク・コンピュータなどでよい。図示される例では、サーバ１０４は、ブート・ファイル、オペレーティング・システム・イメージ、アプリケーションなどのデータをクライアント１１０、１１２、および１１４に提供する。図示される例では、クライアント１１０、１１２、および１１４は、サーバ１０４に対するクライアントである。分散データ処理システム１００は、追加のサーバ、クライアント、および図示されていない他の装置を含むことができる。
【００１４】
図示される例では、分散データ処理システム１００は、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）プロトコル群を使用して互いに通信するネットワークおよびゲートウェイの世界的な集合を表すネットワーク１０２を有するインターネットである。インターネットの中心部は、データおよびメッセージをルーティングする数千の民間、政府、教育、およびその他のコンピュータ・システムからなるメジャー・ノードまたはホスト・コンピュータ間の高速データ通信回線のバックボーンである。もちろん、例えばイントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、または広域ネットワーク（ＷＡＮ）などのいくつかの異なるタイプのネットワークを含むように分散データ処理システム１００を実装することもできる。上述のように、図１は一例として意図されるものであり、本発明の様々な実施形態に関するアーキテクチャ上の制限として意図されるものではなく、したがって、図１に示される特定の要素を、本発明の例示的実施形態を実装することのできる環境に関して限定的なものとみなすべきではない。
【００１５】
次に図２を参照すると、例示的実施形態の諸態様を実装することのできる例示的データ処理システムのブロック図が示されている。データ処理システム２００は、本発明の例示的実施形態に関するプロセスを実装するコンピュータ使用可能コードまたは命令を配置することのできる、図１のホスト１１０などのコンピュータの一例である。
【００１６】
図示される例では、データ処理システム２００は、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ）２０２と、サウス・ブリッジおよび入出力（Ｉ／Ｏ）コントローラ・ハブ（ＳＢ／ＩＣＨ）２０４とを含むハブ・アーキテクチャを利用する。処理装置２０６、メイン・メモリ２０８、およびグラフィックス・プロセッサ２１０がＮＢ／ＭＣＨ２０２に接続される。グラフィックス・プロセッサ２１０は、accelerated graphics port (AGP)を介してＮＢ／ＭＣＨ２０２に接続することができる。
【００１７】
図示される例では、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ２１２がＳＢ／ＩＣＨ２０４に接続される。オーディオ・アダプタ２１６、キーボードおよびマウス・アダプタ２２０、モデム２２２、読取り専用メモリ（ＲＯＭ）２２４、ハード・ディスク・ドライブ（ＨＤＤ）２２６、ＣＤ−ＲＯＭドライブ２３０、ユニバーサル・シリアル・バス（ＵＳＢ）ポートおよび他の通信ポート２３２、およびＰＣＩ／ＰＣＩｅ装置２３４が、バス２３８およびバス２４０を介してＳＢ／ＩＣＨ２０４に接続される。ＰＣＩ／ＰＣＩｅ装置は、例えばイーサネット（Ｒ）・アダプタ、アドイン・カード、ノートブック・コンピュータ用のＰＣカードを含むことができる。ＰＣＩはカード・バス・コントローラを使用するが、ＰＣＩｅはカード・バス・コントローラを使用しない。ＲＯＭ２２４は、例えばフラッシュ・バイナリ入出力システム（ＢＩＯＳ）でよい。
【００１８】
ＨＤＤ２２６およびＣＤ−ＲＯＭドライブ２３０は、バス２４０を介してＳＢ／ＩＣＨ２０４に接続される。ＨＤＤ２２６およびＣＤ−ＲＯＭドライブ２３０は、例えばintegrated drive electronics (IDE)インターフェースまたはserial advancedtechnology attachment (SATA)インターフェースを使用することができる。スーパーＩ／Ｏ（ＳＩＯ）装置２３６をＳＢ／ＩＣＨ２０４に接続することができる。
【００１９】
オペレーティング・システムが処理装置２０６上で動作する。オペレーティング・システムは、図２のデータ処理システム２００内の様々な構成要素を調整し、その制御を実現する。クライアントとしては、オペレーティング・システムは、Ｍｉｃｒｏｓｏｆｔ（Ｒ）  Ｗｉｎｄｏｗｓ（Ｒ）  ＸＰ（ＭｉｃｒｏｓｏｆｔおよびＷｉｎｄｏｗｓ（Ｒ）は米国または他の国々あるいはその両方におけるＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎの商標である）などの市販のオペレーティング・システムでよい。Ｊａｖａ（Ｒ）（ＴＭ）プログラミング・システムなどのオブジェクト指向プログラミング・システムがオペレーティング・システムと共に動作することができ、データ処理システム２００上で実行中のＪａｖａ（Ｒ）（ＴＭ）プログラムまたはアプリケーションからオペレーティング・システムへの呼出しを実現する（Ｊａｖａ（Ｒ）はSun Microsystems, Inc.の米国または他の国々あるいはその両方における商標である）。
【００２０】
サーバとしては、データ処理システム２００は、例えば、AdvancedInteractive Executive (AIX(R))オペレーティング・システムまたはＬＩＮＵＸ（Ｒ）オペレーティング・システムを実行するＩＢＭ（Ｒ）ｅＳｅｒｖｅｒ（ＴＭ）Ｓｙｓｔｅｍ  ｐ（Ｒ）コンピュータ・システムでよい（ｅＳｅｒｖｅｒ、Ｓｙｓｔｅｍ  ｐ、およびＡＩＸはインターナショナル・ビジネス・マシーンズ・コーポレーションの米国または他の国々あるいはその両方における商標であり、ＬＩＮＵＸはLinusTorvaldsの米国または他の国々あるいはその両方における商標である）。データ処理システム２００は、処理装置２０６内に複数のプロセッサを含む対称型マルチプロセッサ（ＳＭＰ）システムでよい。あるいは、単一のプロセッサ・システムを利用することもできる。
【００２１】
オペレーティング・システム、オブジェクト指向プログラミング・システムに対する命令、およびアプリケーションまたはプログラムは、ＨＤＤ２２６などの記憶装置上に配置され、処理装置２０６による実行のためにメイン・メモリ２０８にロードすることができる。本発明の例示的実施形態に関するプロセスは、コンピュータ使用可能プログラム・コードを使用して処理装置２０６で実行することができ、コンピュータ使用可能プログラム・コードは、例えばメイン・メモリ２０８、ＲＯＭ２２４などのメモリ、または例えば１つまたは複数の周辺装置２２６および２３０内に配置することができる。
【００２２】
図２に示されるバス２３８やバス２４０などのバス・システムは、１つまたは複数のバスから構成することができる。もちろん、ファブリックまたはアーキテクチャに取り付けられた様々な構成要素または装置間のデータの転送を実現する任意のタイプの通信ファブリックまたはアーキテクチャを使用してバス・システムを実装することができる。図２のモデム２２２またはネットワーク・アダプタ２１２などの通信ユニットは、データを送信および受信するのに使用される１つまたは複数の装置を含むことができる。メモリは例えば、メイン・メモリ２０８、ＲＯＭ２２４、または図２のＮＢ／ＭＣＨ２０２に見られるようなキャッシュでよい。
【００２３】
図１〜２のハードウェアは実装に応じて変化する可能性があることを当業者は理解されよう。フラッシュ・メモリ、同等の不揮発性メモリ、光ディスク・ドライブなどの他の内部ハードウェアまたは周辺装置を、図１〜２に示されるハードウェアの代わりに、またはそれに加えて使用することができる。さらに、本発明の精神および範囲から逸脱することなく、例示的実施形態のプロセスを前述のＳＭＰシステム以外のマルチプロセッサ・データ処理システムに適用することができる。
【００２４】
好ましい実施形態が、Ｍｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＳｕｒｆａｃｅ（ＴＭ）などの表面として実装され、またはその表面に関連して実装される。Ｓｕｒｆａｃｅ（ＴＭ）は、本質的には、クリア・アクリル・フレーム内の３０インチ・タッチスクリーンで覆われたブラック・テーブル・ベース内に収容されたＷｉｎｄｏｗｓ（Ｒ）  Ｖｉｓｔａ（Ｒ）ＰＣである。近くの物体を感知することのできる５つのカメラが画面の下に取り付けられる。ユーザは、画面にわたってユーザの指先およびペイント・ブラシなどの物体をタッチおよびドラッグすることによってマシンと対話することができる。指の動きを認識することに加えて、Ｓｕｒｆａｃｅ（ＴＭ）は、特別なバーコード・ラベルでタグ付けされた現実世界アイテムも識別することができる。例えば、食事をする人が特別なバーコードでタグ付けされたワイン・グラスを置いたとき、Ｓｕｒｆａｃｅ（ＴＭ）は、食されている食事に合わせた追加のワインを自動的に提供することができる。
【００２５】
Ｓｕｒｆａｃｅ（ＴＭ）インターフェースにおいて重要な４つの主要な構成要素は、直接対話、マルチタッチ・コンタクト、マルチユーザ体験、および特別なバーコードを介する物体認識である。装置は、Ｍｉｃｒｏｓｏｆｔ  Ｚｕｎｅ（ＴＭ）、携帯電話、デジタル・カメラなどのＷｉ−Ｆｉ動作可能装置が表面上に配置されたときにデジタル媒体をドラッグ・アンド・ドロップすることも可能にする。Ｓｕｒｆａｃｅ（ＴＭ）技術は、非デジタル物体を入力装置として使用することを可能にする。一実施例では、ソフトウェアでデジタル・ペインティングを作成するのに通常のペイント・ブラシが使用された。視覚のためのカメラを使用することにより、Ｓｕｒｆａｃｅ（ＴＭ）が、使用されるツールのキャパシタンス、電気的抵抗、温度などの従来型タッチスクリーン装置またはタッチパッド装置の必要な限定的特性に依拠しないことが可能となる。
【００２６】
Ｓｕｒｆａｃｅ（ＴＭ）「ビジョン」は、表面に向けられた近赤外線８５０ナノメートル波長ＬＥＤ光源によって生成される。物体がテーブルトップに接触したとき、光が、正味の解像度１２８０×９６０を有する複数の赤外線カメラに対して反射し、赤外線カメラがテーブルトップに接触するアイテムを感知し、それに反応することが可能となる。Ｓｕｒｆａｃｅ（ＴＭ）は表面上に配置された物体を識別することができるが、Ｓｕｒｆａｃｅ（ＴＭ）は、識別タグまたはバーコードを使用することによって物体を識別することを必要とする。しかし、典型的な現実世界シナリオでは、識別システムの表面上に配置される、ユーザによって使用されるすべての物体が、システムがそれと共に動作する識別タグを有するわけではない。
【００２７】
しかし、データ処理システム２００は、クライアント・コンピューティング装置、サーバ・コンピューティング装置、タブレット・コンピュータ、ラップトップ・コンピュータ、電話または他の通信装置などのいくつかの異なるデータ処理システムのいずれの形態も取ることができることを当業者は理解されよう。ある例示的実施例では、データ処理システム２００は、例えばオペレーティング・システム・ファイルまたはユーザ生成データあるいはその両方を格納する不揮発性メモリを提供するためのフラッシュ・メモリと共に構成されるポータブル・コンピューティング装置でよい。本質的に、データ処理システム２００は、アーキテクチャ上の制限なしに、任意の周知のデータ処理システムまたは後に開発されるデータ処理システムでよい。
【００２８】
例示的実施形態は、物体に関連する特徴を識別するセンサを使用することにより、表面上に配置された、識別タグを有さない物体を識別する機構を提供する。重量、面積、温度、幾何学的形状、特徴マーキングなどの特徴を識別することにより、物体を直接的または間接的に識別することができる。物体が認識されると、音声、ビデオ、音声とビデオの組合せ、テキスト、グラフィカル・イメージ、またはピクチャ、あるいはそれらの組合せなど、情報をユーザに対して表示することができる。さらに、物体の特徴の変化に基づいて、他のユーザに変化を通知することができ、それによってそうした他のユーザはアクションを実行することができる。
【００２９】
図３は、例示的実施形態による物体認識システムの例示的機能ブロック図を示す。物体認識システム３００は、図２の処理装置２０６などの処理装置で実行することのできる物体識別アプリケーション３０２、表面３１０、およびストレージ３０８を含む。物体識別アプリケーション３０２、表面３１０、およびストレージ３０８をクライアント装置上に配置することができ、または物体識別アプリケーション３０２は、図１のサーバ１０４などのサーバ内に常駐することができ、図１のネットワーク１０２などのネットワークを介して、図１のクライアント１１０などのクライアント装置に関連する表面３１０と、ストレージ３０８とに通信することができる。物体識別アプリケーション３０２は、特徴モジュール３０４および物体識別モジュール３０６を含むことができる。表面３１０は、様々なセンサが表面３１０の下に配置されるような、構造の一部であるクリア表面、表面３１０の上に様々なセンサを備える固体表面、または表面３１０上に配置された物体に関連する、以下で特徴と呼ぶ物理的特徴をセンサが求めることのできる任意の構造でよい。表面３１０は、Ｍｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＳｕｒｆａｃｅ（ＴＭ）などの表面でよいが、表面上に配置された物体に関連する特徴を識別することのできる任意のタイプの表面を使用して物体識別アプリケーションを実装できることを例示的実施形態は理解している。
【００３０】
この実施例では、物体が表面３１０上に配置されると、重量センサ３１２、イメージ・センサ３１４、温度センサ３１６などのセンサは、物体に関連する特徴を求めることができる。この実施例は重量センサ３１２、イメージ・センサ３１４、および温度センサ３１６を示すが、表面３１０上に配置された物体の特徴を求めるのに他のセンサを使用することができる。さらに、重量センサ３１２、イメージ・センサ３１４、および温度センサ３１６を単一のセンサとして示すが、重量、イメージ、および温度のそれぞれについて複数のセンサを実装することができ、それによって複数の測定値またはイメージを使用して表面３１０に対して課され、または加えられた変化を検出する際の精度を向上させることができることを例示的実施形態は理解している。
【００３１】
重量センサ３１２は圧電センサ、ひずみゲージ・センサ、圧力センサなどでよく、表面３１０に対して課された現重量を検出することができる。例示的実施形態は圧電センサ、ひずみゲージ・センサ、および圧力センサを例として述べるが、物体の実際の重量または表面３１０上の特定の場所の重量の変化を検出するのに他のセンサも使用できることを当業者は理解されよう。重量センサ３１２で検出された重量値を受け取る重量受信モジュール３１８は、物体が表面３１０上に配置される直前の表面３１０に対して課された重量と、物体が表面３１０上に配置された直後の表面３１０に対して課された重量の変化、例えばＷｅｉｇｈｔｃｕｒｒｅｎｔ−Ｗｅｉｇｈｔｐｒｉｏｒ＝ΔＷｅｉｇｈｔを求めることができる。同様に、物体が表面３１０から取り除かれた場合、重量センサ３１２は、表面３１０に対して課された重量の変化を検出することができ、重量受信モジュール３１８は、別の物体が表面３１０上に配置されることを予想して、現重量値をリセットすることができる。
【００３２】
重量センサ３１２は、表面３１０のすべてに対する重量変化を感知する１つのセンサでよく、または重量センサ３１２は、例えば表面３１０をいくつかの区間に分割する圧力感応オーバーレイを使用して、表面３１０の個々の区間に対する重量変化をそれぞれが感知する複数のセンサでよい。さらに、表面３１０が表面３１０に対して加えられたユーザの手、ひじなどを有することがある場合には、ユーザの手、ひじなどが概して配置されるエリア内で重量センサ３１２で検出される重量値は、物体識別アプリケーション３０２で使用されないことがある。将来の重量計算のための開始重量値を求めるために、表面３１０の初期化時に表面３１０の初期重量を重量受信モジュール３１８で較正することもできる。重量値が求められると、直接接続あるいは１つまたは複数のデータ・ネットワークを介して重量値が物体識別モジュール３０６に送られる。
【００３３】
物体が表面３１０上に配置されたことに応答して、温度センサ３１６は、表面３１０の現在温度を検出することができる。温度センサ３１６で検出された温度を受け取る温度受信モジュール３２０は、物体が表面３１０上に配置される直前の物体によって表面３１０に対して加えられる温度と、物体が表面３１０上に配置された直後の表面３１０に対して加えられる温度の変化、例えばＴｅｍｐｃｕｒｒｅｎｔ−Ｔｅｍｐｐｒｉｏｒ＝ΔＴｅｍｐを求めることができる。同様に、物体が表面３１０から取り除かれた場合、温度センサ３１６は、表面３１０に対して課された重量の変化を検出することができ、温度受信モジュール３２０は、別の物体が表面３１０上に配置されることを予想して、現在温度をリセットすることができる。
【００３４】
表面３１０に加えられる温度の変化を計算する際に、温度受信モジュール３２０は、正または負の温度変化を計算することができる。例えば、グラス１杯のアイス・ティーなどの４０°Ｆ（４．４°Ｃ）の冷たい物体が周囲温度７２°Ｆ（２２．２°Ｃ）の表面３１０上に配置された場合、温度センサ３１６は温度低下を検出することができ、温度受信モジュール３２０は、４０°Ｆ（４．４°Ｃ）−７２°Ｆ（２２．２°Ｃ）＝−３２°Ｆ（−１７．８°Ｃ）の温度低下を計算することになる。同様に、カップ１杯のホット・コーヒーなどの１４０°Ｆ（６０°Ｃ）の熱い物体が周囲温度７２°Ｆ（２２．２°Ｃ）の表面３１０上に配置された場合、温度センサ３１６は、温度上昇を検出することができ、温度受信モジュール３２０は、１４０°Ｆ（６０°Ｃ）−７２°Ｆ（２２．２°Ｃ）＝６８°Ｆ（３７．８°Ｃ）の温度上昇を計算することになる。温度変化値が求められると、直接接続あるいは１つまたは複数のデータ・ネットワークを介して温度変化値が物体識別モジュール３０６に送られる。
【００３５】
温度センサ３１６は、表面３１０上に配置される物体の温度特徴を感知することのできる任意のタイプのセンサでよい。１つの例示的なタイプの温度センサは、温度スケールまたは温度表示あるいはその両方を提供する赤外放射（ＩＲ）または赤外線熱撮像カメラでよい。赤外放射（ＩＲ）は、可視光より長いが電波（７５０ｎｍから１ｎｍ）より短い波長である。ＩＲカメラは、温度特徴を放射する物体によって放射された電磁放射を取り込む。しかし、この例示的実施形態は赤外放射（ＩＲ）または赤外線温度撮像カメラについて述べるが、温度変化を検出するのに他のセンサも使用できることを当業者は理解されよう。したがって、温度受信モジュール３２０は、物体によって放射された電磁放射に基づいて温度センサ３１６で取り込まれた温度特徴を受け取ることになる。
【００３６】
イメージ・センサ３１４は、表面３１０に対して加えられた変化を記録するカメラ、カメラのグループ、または他の像検出装置でよい。例えば、表面３１０がクリア表面である場合、イメージ・センサ３１４をクリア表面下に配置することができる。物体が表面３１０上に配置されるとき、イメージ・センサ３１４は、物体が表面３１０上に配置される直前のイメージと、物体が表面３１０上に配置された直後のイメージの変化を検出することができる。イメージが変化した場合、イメージ・センサ３１４は、イメージを物体と共に記録し、イメージをイメージ受信モジュール３２２に送る。イメージ受信モジュール３２２がイメージを受信すると、イメージが、直接接続あるいは１つまたは複数のデータ・ネットワークを介して、面積計算器３２４、光学式文字認識（ＯＣＲ）モジュール３２６、および物体識別モジュール３０６に送られる。
【００３７】
面積計算器３２４はまず、物体の幾何学的形状を求めることができ、それによって、物体に関連する面積を計算することができる。物体の幾何学的形状を計算する際に、面積計算器３２４は、物体の外部境界を識別し、次いで、正確な面積を計算するために物体の形状を複数の幾何学的形状に分割することができる。例えば、鉛筆が表面３１０上に配置された場合、面積計算器３２４は、正確な面積を計算するために、物体の形状を鉛筆の縦方向についての矩形と、鉛筆の先端についての三角形とに分割することができる。面積計算器３２４が物体に関連する幾何学的形状を求めると、面積計算器３２４は、イメージ受信モジュール３２２から受け取ったイメージ内に記録された物体に関連する面積を計算することができる。面積計算器３２４は、イメージ・センサ３１４によって記録されたイメージのサイズに関連する所定の距離を使用して、表面３１０上に配置された物体に関連する面積を求めることができる。例えば、グラスが表面３１０上に配置される場合、面積計算器３２４は、グラスの底部の直径を求めることができる。直径を使用して、面積計算器３２４は、Ａ＝π（ｄ／２）２を使用してグラスの底部の面積を求めることができる。次いで、面積計算器３２４は、直接接続あるいは１つまたは複数のデータ・ネットワークを介して、計算した面積値および幾何学的形状を物体識別モジュール３０６に送ることができる。物体の面積を検出することに加えて、またはその代わりに、物体の幅、半径、長さなどの寸法を識別して物体識別モジュール３０６に送ることもできることを例示的実施形態は理解している。
【００３８】
ＯＣＲモジュール３２６は、イメージ受信モジュール３２２から受信したイメージを解析し、イメージ内の物体の光学式文字認識を実施して、物体を識別する際の助けとなる何らかの特徴マーキングを得ることができる。例えば、ポリスチレン・カップが表面３１０上に配置される場合、ＯＣＲモジュール３２６は、製造業者マーキング、モデル番号マーキング、およびリサイクル可能標識を識別することができる。次いで、ＯＣＲモジュール３２６は、直接接続あるいは１つまたは複数のデータ・ネットワークを介して、識別した情報を物体識別モジュール３０６に送る。
【００３９】
したがって、物体識別モジュール３０６は、表面３１０上に配置された物体に関連する１つまたは複数の特徴を受け取る。物体識別モジュール３０６は、物体に関して、重量値、温度変化値、面積値、幾何学的形状、識別情報、イメージなどを受け取ることができる。物体識別モジュール３０６は、物体に関する特徴のすべてまたは一部を使用して、ストレージ３０８上の物体特徴データ構造３２８に格納された物体に関する類似の特徴に基づいて物体を識別する。物体識別モジュール３０６は、重量受信モジュール３１８、温度受信モジュール３２０、イメージ受信モジュール３２２、面積計算器３２４、またはＯＣＲモジュール３２６、あるいはそれらの組合せから受け取った特徴情報を、物体特徴データ構造３２８に格納された物体に関する特徴情報と比較し、物体特徴データ構造３２８は、認識可能な物体およびその関連する特徴のファイル、データベースなどでよい。
【００４０】
表面３１０上に配置された物体に関する特徴を、物体特徴データ構造３２８に格納された物体に関する特徴と比較する際に、物体識別モジュール３０６は、受信される各特徴を物体特徴データ構造３２８内の物体特徴と次々に突き合わせ、各特徴に対する合致に基づいて、識別したアイテムの数を限定する。例えば、物体が表面３１０上に配置される場合、物体識別モジュール３０６は、８オンス（０．２３ｋｇ）、温度変化値−６°Ｆ（−３．３°Ｃ）、円形の幾何学的形状、面積３．９２５平方インチ（２５．３２ｃｍ２）などの特徴と、製造業者、モジュール番号、リサイクル・シンボルなどの特徴マーキングとを受け取ることができる。次いで、物体識別モジュール３０６は、物体特徴データ構造３２８を探索して、円形の幾何学的形状を有するすべてのアイテムを識別する。こうしたアイテムが識別されると、物体識別モジュール３０６は、識別したアイテムを重量、次いで温度変化値、次いで面積、次いで特徴マーキングで限定することができ、その度ごとに、識別したアイテムの数を限定し、願わくば１つのアイテムのみが合致する。重量、温度変化、および面積で識別されるアイテムを、ある所定の公差以内にすることができる。この実施例は、物体識別モジュール３０６が特定の順序で識別することを示すが、物体特徴データ構造３２８を任意の順序で探索できることを例示的実施形態は理解している。
【００４１】
比較した特徴において厳密な合致があった場合、または特徴がある所定の公差以内で満たされた場合物体識別モジュール３０６は、ユーザに提示することのできる識別した物体に関連するストレージ３０８上のプレゼンテーション・ファイル３３０内の関連するプレゼンテーションがあるかどうかを判定する。プレゼンテーション・ファイル３３０内の関連するプレゼンテーションは、音声プレゼンテーション、ビデオ・プレゼンテーション、音声プレゼンテーションとビデオ・プレゼンテーションの組合せ、テキスト、グラフィカル・イメージ、またはピクチャ、あるいはそれらの組合せでよい。例えば、ＯＣＲモジュール３２６が、表面３１０上に配置される図書に関連する国際標準図書番号（ＩＳＢＮ）バーコードなどの特徴マーキングを識別した場合、物体識別モジュール３０６は、識別したＩＳＢＮバーコードを物体特徴データ構造３２８内に位置するバーコードと突き合わせることができる。物体識別モジュール３０６は、プレゼンテーション・ファイル３３０内のビデオ・プレゼンテーションを識別することができ、ビデオ・プレゼンテーションを音声／ビデオ装置３３２に出力することができる。音声／ビデオ装置３３２によって提示される、識別されたプレゼンテーションは、「この書籍は３か月間ベスト・セラー・リストにとどまりました」をユーザに示すことができる。しかし、識別された物体に関連する、それから選ぶための関連するプレゼンテーションのリストを用いて、音声／ビデオ装置３３２を介してユーザに促すこともできる。
【００４２】
別の実施形態では、物体識別モジュール３０６が物体の特徴を物体特徴データ構造３２８内の物体と厳密に合致させることができなかった場合、物体識別モジュール３０６は、類似の特徴を有する物体が以前に識別されたかどうかを判定することができる。例えば、以前に識別された、液体が満たされたグラスが表面３１０から取り除かれ、ある量の液体がグラスから取り除かれ、グラスが表面３１０に戻る場合、物体識別モジュール３０６によって特徴の厳密な合致を行うことはできない。しかし、物体識別モジュール３０６は、グラスの重量が同じではなくても、他の特徴が合致しており、重量が以前に識別された重量と類似しているがある値だけ軽いことを判定することができる。次いで、物体識別モジュール３０６は、物体をグラスと識別し、音声／ビデオ装置３３２に出力することのできる、プレゼンテーション・ファイル３３０内のグラスに関連するビデオ・プレゼンテーションを識別することができる。物体に関連するプレゼンテーションがプレゼンテーション・ファイル３３０内に存在する場合、物体識別モジュール３０６は、音声／ビデオ装置３３２を使用してプレゼンテーションをユーザに提示することができる。
【００４３】
物体識別モジュール３０６が音声／ビデオ装置３３２を使用してプレゼンテーションをユーザに提示することに加えて、物体識別モジュール３０６は、以前に識別した物体に関連する特徴の変化に基づいて警報を生成することもできる。例示的一実施形態では、表面３１０をレストランのテーブルに結合することができる。そのような実施形態では、グラスをレストランの顧客に関連付けることができる。グラスが表面３１０上に以前に配置されたのと同じ物体であるが、グラスの重量が変化していると判定する際に、それによってグラスが、グラスに補充する必要があることを示す重量であると判定される場合、物体識別モジュール３０６は、顧客のグラスが、グラスに補充する必要があることを示す重量であるという表示を、レストランの待機スタッフに信号を送ることができる。この表示を、待機スタッフに対して、直接接続あるいは１つまたは複数のデータ・ネットワークを介して、待機スタッフが容易に認識することのできる出力装置３３６に送ることができる。この実施例はグラスを対象とするが、皿、ボウルなどのレストランに関連する他の容器への拡張を例示的実施形態は理解している。
【００４４】
別の実施形態では、物体識別モジュール３０６が物体に関して受け取った特徴を物体特徴データ構造３２８内の物体に関する特徴と合致させることができない場合、または物体識別モジュール３０６が物体に関して受け取った特徴を、物体特徴データ構造３２８内の複数の物体に対する特徴と合致させる場合、物体識別モジュール３０６は、物体を識別するようにユーザに促すことができる。例えば、リモート・コントロールが表面３１０上に配置される場合、リモート・コントロールの特徴は、矩形の物体、物体の面積が１２平方インチ（７７．４２ｃｍ２）であること、重量３オンス（８５ｇ）、「MADE IN COUNTRY」識別子を示すことができる。そのような特徴は、リモート・コントロールだけでなくペンの箱とも関連付けることができる。
【００４５】
したがって、物体識別モジュール３０６は、音声／ビデオ装置３３２を使用して、可能な物体のリストでユーザに促すことができる。ユーザは、ユーザ入力インターフェース３３４を使用して、物体を識別するためにリストから選択することができる。しかし、音声／ビデオ装置３３２を使用してユーザに提示されたリスト上に物体がない場合、ユーザは、ユーザ入力インターフェース３３４を使用して物体の識別を与えることができる。ユーザは、例えば表面３１０上に表示されるキーボードを介して、入力を与えることができる。ユーザが物体を識別すると、物体識別モジュール３０６は、後で使用するために、物体の識別を特徴と共に物体特徴データ構造３２８に格納することができる。物体の識別を使用して、物体識別モジュール３０６は、類似の特徴を有する別の物体が物体特徴データ構造３２８と共に存在するかどうかを判定することができる。類似の物体が存在する場合、物体識別モジュール３０６は、新しい物体をマークして、他の物体が使用するのと同一の、プレゼンテーション・ファイル３３０内のプレゼンテーションを使用することができる。この物体のマーキングを使用して、物体識別モジュール３０６は、物体に関連するビデオ・プレゼンテーションが、音声／ビデオ装置３３２に出力することのできるプレゼンテーション・ファイル３３０内に存在するかどうかを判定することができる。物体に関連するプレゼンテーションがプレゼンテーション・ファイル３３０内に存在する場合、物体識別モジュール３０６は、音声／ビデオ装置３３２を使用してプレゼンテーションをユーザに提示することができる。
【００４６】
ユーザが物体を識別しない場合、物体識別モジュール３０６は、物体に関連する特徴を識別「ｕｎｋｎｏｗｎ」と共に物体特徴データ構造３２８に格納することができる。同一または類似の特徴を有する物体に後で遭遇した場合、物体識別モジュール３０６は、音声／ビデオ装置３３２を使用してユーザに促し、最後にこの物体に遭遇したときに識別なし（ｎｏ  ｉｎｄｅｎｔｉｆｉｃａｔｉｏｎ）が与えられたことを示すことができる。この時点で、ユーザは、物体を識別することがあり、または物体を識別することに再び失敗することがある。ユーザが物体を識別することに再び失敗した場合、物体識別モジュール３０６は、物体に遭遇する次の所定の時間量の間、物体識別アプリケーション３０２が再初期化されるまで、ある所定の時間枠などまで、次回に物体に遭遇したことをユーザに促すことをやめる。
【００４７】
別の実施形態では、物体のグループを同時に表面３１０上に配置することができ、物体識別モジュール３０６は、物体特徴データ構造３２８内のカテゴリ・フィールドを使用して、ある物体を、物体のグループ内の別の物体の識別に基づいて識別することができる。例えば、イヤリング、ネックレス、およびブレスレットが表面３１０上に配置される場合、物体識別モジュール３０６は、イヤリングおよびネックレスを識別することができ、物体識別モジュール３０６は、ブレスレットを容易には識別することができない。しかし、イヤリングおよびネックレスの識別に基づいて、物体識別モジュール３０６は、グループ・カテゴリを「宝飾品」と識別することができ、識別を、宝飾品のカテゴリを有する円形の物体に狭めることができる。次いで、物体識別モジュール３０６は、まだ識別されていない物体に関連する特徴を使用する。例えば、物体識別モジュール３０６は、重量１オンス（２８ｇ）、温度変化なし、円形の幾何学的形状、面積１．７７平方インチ（１１．４ｃｍ２）、特徴マーキングなしなどの未確認物体に関連する特徴を受け取ることができる。次いで、物体識別モジュール３０６は、物体特徴データ構造３２８内の宝飾品のカテゴリを有する物体のみを探索し、円形の幾何学的形状を有するすべてのアイテムを識別することができる。こうしたアイテムが識別されると、物体識別モジュール３０６は、識別したアイテムを重量、次いで面積で限定することができ、その度ごとに、識別したアイテムの数を限定し、願わくば物体識別モジュール３０６はブレスレットを識別する。
【００４８】
したがって、例示的実施形態は、物体に関連する特徴を識別するセンサを使用することにより、表面上に配置される、識別タグを有さない物体を識別する機構を提供する。識別される特徴は、重量値、温度変化値、面積値、幾何学的形状、識別情報、イメージなどを含むことができる。特徴を使用して、物体を識別することができ、識別した物体に関連するプレゼンテーションをユーザに提示することができる。
【００４９】
図４は、例示的実施形態による物体識別アプリケーションを使用して識別することのできるいくつかの例示的物体を示す。物体４０２〜４０８のそれぞれが図３の表面３１０などの表面上に配置されるとき、図３の物体識別アプリケーション３０２などの物体識別アプリケーションは、物体４０２〜４０８のそれぞれに関連する特徴を識別することができる。物体４０２について、例えば、重量受信モジュールは重量値１８オンス（０．５１ｋｇ）を計算することができ、温度受信モジュールは温度変化値０度を求めることができる。さらに、面積計算器は、例えば、矩形の幾何学的形状と面積５×７＝３５平方インチ（２２５ｃｍ２）を求めることができる。最終的に、光学式文字認識（ＯＣＲ）モジュールは、バーコード４１０、出版社４１２、および追加のテキスト４１４を識別することができる。こうした特徴を使用して、物体識別アプリケーションは、上述の物体特徴データ構造内の物体の連続的限定を使用して、物体を書籍と識別することができる。
【００５０】
物体４０４について、例えば、重量受信モジュールは重量値３２オンス（０．９１ｋｇ）を計算することができ、温度受信モジュールは温度変化値−６°Ｆ（−３．３°Ｃ）を求めることができる。さらに、面積計算器は、例えば、円形の幾何学的形状と、面積（２．５／２）×３．１４＝３．９２５平方インチ（２５．３２ｃｍ２）を求めることができる。最終的に、ＯＣＲモジュールは、製造業者４１６、リサイクル・イメージ４１８、およびモデル番号４２０を識別することができる。こうした特徴を使用して、物体識別アプリケーションは、上述の物体特徴データ構造内の物体の連続的限定を使用して、物体を冷たい液体の入ったポリスチレン・カップと識別することができる。
【００５１】
物体４０６について、例えば、重量受信モジュールは重量値０．５オンス（１４ｇ）を計算することができ、温度受信モジュールは温度変化値０°度を求めることができる。さらに、面積計算器は、例えば、円形の幾何学的形状と、面積（４．７５／２）×３．１４＝５．４５６平方インチ（３５．２０ｃｍ２）を求めることができる。最終的に、光学式文字認識（ＯＣＲ）モジュールは、文字を識別することに失敗する可能性があるが、撮像受信モジュールは反射性の性質を求めることができる。こうした特徴を使用して、物体識別アプリケーションは、上述の物体特徴データ構造内の物体の連続的限定を使用して、物体をコンパクト・ディスク（ＣＤ）またはデジタル・ビデオ・ディスク（ＤＶＤ）と識別することができる。
【００５２】
物体４０８について、例えば、重量受信モジュールは重量値１オンス（２８ｇ）を計算することができ、温度受信モジュールは温度変化値０°度を求めることができる。さらに、面積計算器は、例えば、矩形および三角形の幾何学的形状と、面積（５／０．５）＋（１／２×（０．２５×０．５））＋（１／２×（０．２５×０．５））＝２．６２５平方インチ（１６．９４ｃｍ２）を求めることができる。光学式文字認識（ＯＣＲ）モジュールは、文字を識別することに失敗する可能性がある。こうした特徴を使用して、物体識別アプリケーションは、上述の物体特徴データ構造内の物体の連続的限定を使用して、物体をペンまたは鉛筆と識別することができる。
【００５３】
前述のように、物体４０６および４０８などの物体について、物体識別アプリケーションは物体４０６および４０８のそれぞれについて複数の物体を識別している可能性があるので、物体識別アプリケーションは、物体を正確に識別するようにユーザに促すことができる。すなわち、物体４０６について、物体識別アプリケーションは、ＣＤ、ＤＶＤ、および「その他」からなるリストから選択するようにユーザに促すことができる。ユーザが「その他」を選択した場合、物体識別アプリケーションは、物体の名前を入力するようにユーザに促すことができる。
【００５４】
したがって、例示的実施形態は、物体に関連する、重量値、温度変化値、面積値、幾何学的形状、識別情報、イメージなどの特徴を識別するセンサを使用して、表面上に配置される物体を識別する機構を提供する。
【００５５】
図５は、本発明による例示的オペレーションを略述する流れ図である。流れ図の各ブロックおよび流れ図のブロックの組合せをコンピュータ・プログラム命令で実装できることを理解されよう。こうしたコンピュータ・プログラム命令をプロセッサまたは他のプログラム可能データ処理機器に提供してマシンを生成することができ、それによって、プロセッサまたは他のプログラム可能データ処理機器上で実行される命令が、流れ図のブロックで指定される機能を実装する手段を生成する。こうしたコンピュータ・プログラム命令を、プロセッサまたは他のプログラム可能データ処理機器に特定の方式で機能するように指示することのできるコンピュータ可読メモリまたは記憶媒体に格納することもでき、それによって、コンピュータ可読メモリまたは記憶媒体に格納された命令が、流れ図のブロックで指定される機能を実装する命令手段を含む製品を生成する。
【００５６】
したがって、流れ図のブロックは、指定の機能を実施する手段の組合せ、指定の機能を実施するステップの組合せ、および指定の機能を実施するプログラム命令手段をサポートする。流れ図の各ブロック、および流れ図のブロックの組合せを、指定の機能またはステップを実行する専用ハードウェア・ベースのコンピュータ・システム、あるいは専用ハードウェアとコンピュータ命令の組合せで実装できることも理解されよう。
【００５７】
さらに、例示的実施形態内で実施されるオペレーションを実演するために流れ図が与えられる。流れ図は、特定のオペレーションに関する制限、またはより具体的には、オペレーションの順番に関する制限を記述または示唆するものではない。本発明の精神および範囲から逸脱することなく、特定の実装に適合するように流れ図のオペレーションを修正することができる。
【００５８】
図５は、例示的実施形態による物体識別アプリケーションの例示的初期オペレーションを示す。オペレーションが開始したとき、物体識別アプリケーションが初期化され、初期化は、表面に関連するセンサのすべてを初期化することを含む（ステップ５０２）。この時点では、表面に関連するセンサのすべては即時測定を行い、それが、物体が物体識別アプリケーションに関連する表面上に配置されたときに計算を行う際に使用される。表面に関連するセンサを使用して、物体識別アプリケーションは、物体が表面上に配置されているかどうかを判定することができる（ステップ５０４）。
【００５９】
ステップ５０４で物体が表面上に配置されていない場合、オペレーションはステップ５０４に戻る。ステップ５０４で物体が表面上に配置されている場合、物体識別アプリケーションは、物体に関連する特徴を受け取る（ステップ５０６）。特徴は、重量値、温度変化値、面積値、幾何学的形状、特徴マーキング、イメージなどのうちの１つまたは複数でよい。物体識別モジュールは、物体がバーコードなどの識別タグを有するかどうかを判定する（ステップ５０８）。ステップ５０８で物体が識別タグを有する場合、物体識別モジュールは、データ構造内に、識別した物体に関連するプレゼンテーションがあるかどうかを判定する（ステップ５１０）。ステップ５１０で物体に関連するプレゼンテーションがデータ構造内に存在する場合、物体識別モジュールは、音声／ビデオ・プレゼンテーション装置を介してユーザへのプレゼンテーションを開始し（ステップ５１２）、その後でオペレーションはステップ５０４に戻る。関連するプレゼンテーションは、音声、ビデオ、音声とビデオの組合せ、テキスト、グラフィカル・イメージ、またはピクチャ、あるいはそれらの組合せでよい。ステップ５１０で物体に関連するプレゼンテーションがデータ構造内に存在しない場合、オペレーションはステップ５０４に戻る。
【００６０】
ステップ５０８で物体が識別タグを有さない場合、物体識別モジュールは、受け取った特徴のすべてまたは一部を使用して、物体特徴データ構造に格納された物体に関する類似の特徴に基づいて物体を識別する（ステップ５１４）。物体識別モジュールは、受け取った特徴を有する物体が以前に識別されているかどうかを判定する（ステップ５１６）。物体識別モジュールは、物体を識別するために、重量受信モジュール、温度受信モジュール、イメージ受信モジュール、面積計算器、またはＯＣＲモジュール、あるいはそれらの組合せから受け取った特徴情報を使用して、物体特徴データ構造内の物体に関連する特徴を探索する。
【００６１】
ステップ５１６で物体識別モジュールが受け取った特徴に厳密に合致する物体を識別した場合、または特徴がある所定の公差以内で満たされる場合、オペレーションはステップ５１０に進む。ステップ５１６で物体識別モジュールが比較される特徴において厳密に合致する物体を識別することに失敗する場合、または特徴がある所定の公差以内で満たされない場合、物体識別モジュールは、類似の特徴を有する少なくとも１つの物体が以前に識別されているかどうかを判定する（ステップ５１８）。ステップ５１８で物体識別モジュールが少なくとも１つの物体を識別することができる場合、物体識別モジュールは、ユーザが物体を識別することができるように、識別された物体のリストを用いてユーザに促す（ステップ５２０）。ステップ５１８で物体識別モジュールが少なくとも１つの物体を識別することができない場合、物体識別モジュールは、物体を識別するようにユーザに促す（ステップ５２２）。
【００６２】
ステップ５２０または５２２から、物体識別モジュールは、ユーザが物体を識別したかどうかを判定する（ステップ５２４）。ステップ５２４でユーザが物体を識別した場合、物体識別モジュールは、物体識別を含むパラメータを物体の特徴と共に物体特徴データ構造に格納し（ステップ５２６）、その後でオペレーションはステップ５１０に進む。ステップ５２４でユーザが物体を識別することに失敗した場合、物体識別モジュールは、ユーザに対するプロンプトがキャンセルされているかどうかを判定する（ステップ５２８）。ステップ５２８でプロンプトがキャンセルされていない場合、オペレーションはステップ５２４に戻る。ステップ５２８でプロンプトがキャンセルされている場合、オペレーションはステップ５０４に戻る。
【００６３】
したがって、例示的実施形態は、物体に関連する特徴を識別するセンサを使用することにより、表面上に配置される、識別タグを有さない物体を識別する機構を提供する。重量、面積、温度、幾何学的形状、特徴マーキングなどの特徴を識別することにより、物体を直接的または間接的に識別することができる。物体が識別されると、音声、ビデオ、音声とビデオの組合せ、テキスト、グラフィカル・イメージ、またはピクチャ、あるいはそれらの組合せなど、情報をユーザに対して表示することができる。さらに、物体の特徴の変化に基づいて、他のユーザに変化を通知することができ、それによってそうした他のユーザはアクションを実行することができる。
【００６４】
例示的実施形態は、専用ハードウェア実施形態、一般処理ハードウェアを有するコンピュータ・システム上で実行されるソフトウェア実施形態、または専用ハードウェアと、一般処理ハードウェアを有するコンピュータ・システム上で実行されるソフトウェア要素とを共に含む実施形態の形態を取ることができることを理解されたい。例示的一実施形態では、例示的実施形態の機構が、ソフトウェア製品として実装され、ソフトウェア製品は、限定はしないがファームウェア、常駐ソフトウェア、マイクロコードなどを含むことができる。
【００６５】
さらに、例示的実施形態は、コンピュータまたは任意の命令実行システムによって使用するための、またはコンピュータまたは任意の命令実行システムと共に使用するためのプログラム・コードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータ・プログラムの形態を取ることができる。この説明では、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、機器、または装置によって使用され、またはそれと共に使用されるプログラムを含むことができ、格納することができ、通信することができ、伝播することができ、または移送することのできる任意の機器でよい。
【００６６】
媒体は、電子的、磁気的、光学的、電磁的、または半導体のシステム、機器、または装置でよい。コンピュータ可読媒体の例は、半導体または固体メモリ、磁気テープ、取外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、硬質磁気ディスク、および光ディスクを含む。光ディスクの現在の例は、コンパクト・ディスク−読取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク−読取り／書込み（ＣＤ−Ｒ／Ｗ）、およびＤＶＤを含む。
【００６７】
コンピュータ・プログラムのプログラム・コードは、クライアントまたはサーバ・データ処理システム内のコンピュータ可読記憶媒体に格納される命令を含む。クライアント・データ処理システム実施形態では、サーバ・データ処理システム、クライアント・データ処理システム、ピアツーピア通信方法を使用する複数のクライアント・データ処理システムなどの１つまたは複数のリモート・データ処理システムからネットワークを介して命令をダウンロードされていることがある。サーバ・データ処理システム実施形態では、リモート・データ処理システムと共にコンピュータ可読記憶媒体で使用するために、ネットワークを介してリモート・データ処理システム、例えばクライアント・データ処理システムにダウンロードするように命令を構成することができ、または実際に命令をダウンロードすることができる。
【００６８】
プログラム・コードを格納または実行し、あるいはその両方を行うのに適したデータ処理システムは、システム・バスを介してメモリ要素に直接的または間接的に結合された少なくとも１つのプロセッサを含む。メモリ要素は、プログラム・コードの実際の実行中に使用されるローカル・メモリと、バルク・ストレージと、実行中にバルク・ストレージからコードを取り出さなければならない回数を削減するために少なくとも一部のプログラム・コードの一時記憶を実現するキャッシュ・メモリとを含むことができる。
【００６９】
入出力装置すなわちＩ／Ｏ装置（限定はしないが、キーボード、ディスプレイ、ポインティング・デバイスなどを含む）を、直接的に、または介入Ｉ／Ｏコントローラを介してシステムに結合することができる。ネットワーク・アダプタをシステムに結合し、介入プライベートネットワークまたは公衆ネットワークを介してデータ処理システムを他のデータ処理システムまたはリモート・プリンタまたは記憶装置に結合することを可能にすることもできる。モデム、ケーブル・モデム、およびイーサネット（Ｒ）・カードは、現在入手可能なタイプのネットワーク・アダプタのほんの一部である。
【００７０】
本発明の説明を例示および説明のために提示したが、本発明の説明は網羅的なものではなく、開示の形態の発明に限定されないものとする。多数の修正形態および変形形態が当業者には明らかであろう。本発明の原理、実際的な応用例を最も良く説明するため、および企図される特定の使用法に適する様々な修正を伴う様々な実施形態に関して当業者が本発明を理解することが可能となるように実施形態を選び、説明した。
【図面の簡単な説明】
【００７１】
【図１】例示的実施形態の諸態様を実装することのできる例示的分散データ処理システムの例示的表現である。
【図２】例示的実施形態の諸態様を実装することのできる例示的データ処理システムのブロック図である。
【図３】例示的実施形態による物体認識システムの例示的機能ブロック図である。
【図４】例示的実施形態による物体識別アプリケーションを使用して識別することのできるいくつかの例示的物体を示す図である。
【図５】例示的実施形態による物体識別アプリケーションの例示的初期オペレーションを示す図である。
【符号の説明】
【００７２】
１００  分散データ処理システム
１０２  ネットワーク
１０４  サーバ
１０６  サーバ
１０８  記憶装置
１１０  クライアント
１１２  クライアント
１１４  クライアント
２００  データ処理システム
２０２  ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ）
２０４  サウス・ブリッジおよび入出力（Ｉ／Ｏ）コントローラ・ハブ（ＳＢ／ＩＣＨ）
２０６  処理装置
２０８  メイン・メモリ
２１０  グラフィックス・プロセッサ
２１２  ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ
２１６  オーディオ・アダプタ
２２０  キーボードおよびマウス・アダプタ
２２２  モデム
２２４  読取り専用メモリ（ＲＯＭ）
２２６  ハード・ディスク・ドライブ（ＨＤＤ）
２３０  ＣＤ−ＲＯＭドライブ
２３２  ユニバーサル・シリアル・バス（ＵＳＢ）ポートおよび他の通信ポート
２３４  ＰＣＩ／ＰＣＩｅ装置
２３６  スーパーＩ／Ｏ（ＳＩＯ）装置
２３８  バス
２４０  バス
３００  物体認識システム
３０２  物体識別アプリケーション
３０４  特徴モジュール
３０６  物体識別モジュール
３０８  ストレージ
３１０  表面
３１２  重量センサ
３１４  イメージ・センサ
３１６  温度センサ
３１８  重量受信モジュール
３２０  温度受信モジュール
３２２  イメージ受信モジュール
３２４  面積計算器
３２６  光学式文字認識（ＯＣＲ）モジュール
３２８  物体特徴データ構造
３３０  プレゼンテーション・ファイル
３３２  音声／ビデオ装置
３３４  ユーザ入力インターフェース
３３６  出力装置
４０２  物体
４０４  物体
４０６  物体
４０８  物体
４１０  バーコード
４１２  出版社
４１４  追加のテキスト
４１６  製造業者
４１８  リサイクル・イメージ
４２０  モデル番号
【図１】
2009169951.tif 000003
【図２】
2009169951.tif 000004
【図３】
2009169951.tif 000005
【図４】
2009169951.tif 000006
【図５】
2009169951.tif 000007