(57)【要約】  本方法は、ロボットを用いて人物とのテレプレゼンスセッションを開始するために使用される。本方法は、ロボットにおいてホストに対するテレプレゼンスセッションのリクエストを受信し、ロボットによるテレプレゼンスセッションの目的の人物の指定を受け付ける。そして、ロボットは現在の位置で人物を探す。人物が発見された場合、人物が目的の人物であるか否かが判断される。発見された人物が目的の人物でなかった場合、目的の人物について、人物の場所を探索者に督促する。督促に応じて探索者から示された場所にロボットは移動する。
2014522053.tif 000002
【特許請求の範囲】
【請求項１】
ロボットを有する環境において人物とのテレプレゼンスセッションを実行するためのシステムであって、
前記環境において前記ロボットを動かすように形成されたモータと、
カメラ及びマイクロフォンを有するセンサシステムと、
ロボットに関するモジュールを実行するように形成されたプロセッサと
を有し、前記モジュールは、
前記環境において前記ロボットを動かすためのナビゲーションモジュールと、
前記カメラからの画像に顔が存在することを確認するための顔認識モジュールと、
目的の人物の指定を受け付け、前記環境の中で目的の人物を特定するように組み合わせられたモジュール、前記ナビゲーションモジュール又は前記顔認識モジュールからのデータを利用する、顔特定モジュールと
を有する、システム。
【請求項２】
前記カメラにより検出された動きを特定する動き検出システムを有する請求項１に記載のシステム。
【請求項３】
前記マイクロフォンにより検出された音を特定するように形成された音源特定モジュールを有する請求項１に記載のシステム。
【請求項４】
前記顔特定モジュールが、離れているユーザにサーチの状態を通知する、請求項１に記載のシステム。
【請求項５】
自動ロボットを用いて目的の人物を特定し、目的の人物とのテレプレゼンスセッションを開始するための方法であって、
前記ロボットにおいてホストに対するテレプレゼンスセッションのリクエストを受信するステップと、
前記ロボットによる前記テレプレゼンスセッションの目的の人物の指定を受け付けるステップと、
現在の場所で人物を探し、人物が発見された場合、該人物が前記目的の人物であるか否かを判断し、発見された人物が前記目的の人物でなかった場合、前記目的の人物について、人物の場所を督促するステップと、
督促に応じて与えられた回答に示されている場所に移動するステップと
を有する方法。
【請求項６】
顔認識ソフトウェアを利用して、画像の中で人物を特定するステップを有する請求項５に記載の方法。
【請求項７】
位置を動かす際に、顔の探索、音の監視、又は顔の探索と音の監視の双方を行うステップを有する請求項５に記載の方法。
【請求項８】
環境の中で動きを特定するステップと、
前記動きのある場所に向けて前記ロボットを動かすステップと、
前記動きのある場所における顔をスキャンするステップと
を有する請求項５に記載の方法。
【請求項９】
音がする場所を特定するステップと、
前記音がする方をカメラがとらえるように小塔を回すステップと、
前記音がする場所で顔をスキャンするステップと
を有する請求項５に記載の方法。
【請求項１０】
コンピュータで読み取ることが可能な命令を格納する、コンピュータで読み取ることが可能な１つ以上の不揮発性の記憶媒体であって、前記コンピュータで読み取ることが可能な命令は、１つ以上の処理装置で実行された場合に、目的の人物を探す手順をシステムに実行させ、前記手順は、
特定の場所における人物をロボットに探索させる声のコマンドを受信するステップと、
前記ロボットを前記特定の場所に合わせて動かすステップと
を有する不揮発性の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
開示される実施の形態は、テレプレゼンスセッションを実行するためのシステム、方法及び記憶媒体等に関連する。
【背景技術】
【０００２】
本願で言及されている「ロボット」は、コンピュータハードウェアを含みかつロボットが自動的に機能を実行することを可能にするソフトウェアを含む電気機械装置に関連する。ロボットの具体例は、遠隔的に誘導することなく、特定の目的地まで飛行することが可能な巡航ミサイルである。巡航ミサイルに搭載されているセンサは、巡航ミサイルが自信の飛行パターンを調整できるように、内部データベースと比較されるデータを出力することが可能であり、巡航ミサイルが意図されている目的地に到達することを保証する。
【０００３】
巡航ミサイルは軍事的なロボットであるが、大衆消費者用のロボットが市場に出回りつつある。例えば、掃除機がモータ及びセンサを備え、モータ及びセンサは、掃除機が特定の領域を自動的に清掃しかつ充電場所に戻ってくることを可能にする。別の例として、ロボット芝刈り機が登場しており、ロボット芝刈り機のユーザは或る範囲を指定し、ロボット芝刈り機は指定された範囲内で自動的に芝生を刈り取るように動作する。
【０００４】
遠隔的な場所からロボットに命令を与えることができるようにする技術も開発されつつある。すなわち、ロボットはロボットから離れているコンピュータ装置と例えばネットワークを介して通信を行うことが可能であり、ロボットは指示された命令に基づいて処理を実行することが可能である。この場合、ロボットが存在している環境にリモートユーザが参入して来るので、「ロボティックテレプレゼンス(robotic  telepresence)」と言及されてもよい。ある種のロボティックプレゼンスでは、遠隔的なユーザは、ロボットの環境の中にいる人物と通信することを希望するかもしれない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２００６−０１２６９１８号明細書
【特許文献２】米国特許出願公開第２００６−００３９５８７号明細書
【特許文献３】米国特許出願公開第２００４−００１７９３０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
実施の形態の課題は、ロボティックプレゼンスセッションを適切に実行できるようにすることである。
【課題を解決するための手段】
【０００７】
実施の形態によるシステムは、
ロボットを有する環境において人物とのテレプレゼンスセッションを実行するためのシステムであって、
前記環境において前記ロボットを動かすように形成されたモータと、
カメラ及びマイクロフォンを有するセンサシステムと、
ロボットに関するモジュールを実行するように形成されたプロセッサと
を有し、前記モジュールは、
前記環境において前記ロボットを動かすためのナビゲーションモジュールと、
前記カメラからの画像に顔が存在することを確認するための顔認識モジュールと、
目的の人物の指定を受け付け、前記環境の中で目的の人物を特定するように組み合わせられたモジュール、前記ナビゲーションモジュール又は前記顔認識モジュールからのデータを利用する、顔特定モジュールと
を有する、システムである。
【図面の簡単な説明】
【０００８】
【図１】ロボティックテレプレゼンスセッションに使用可能なロボットの概略的なブロック図。
【図２】ローカルユーザ及びリモートユーザ間のロボティックテレプレゼンスセッションを示す図。
【図３】ロボットの環境に存在する人物を特定し、通信を行うためにロボティックテレプレゼンスセッションを設定するための方法の概要を示す図。
【図４Ａ】ロボットの環境の中で人物を特定し、通信を行うためにロボティックテレプレゼンスセッションを要求する方法の具体的な詳細を例示するブロック図。
【図４Ｂ】ロボットの環境の中で人物を特定し、通信を行うためにロボティックテレプレゼンスセッションを要求する方法の具体的な詳細を例示するブロック図。
【図５】測位機能を実行するために使用されてよいモジュールを示すロボットのブロック図。
【発明を実施するための形態】
【０００９】
＜実施の形態の概要＞
以下、本願で説明される実施の形態の基本的な理解を促すために、本発明に関する簡略化された概要が示される。この概要は特許請求の範囲に記載されている事項を説明しようとしているわけではない。この概要は特許請求の範囲に記載された主要な要素や本質的な要素を説明しようとするものではなく、本発明の範囲の外延を明確に規定しようとするものでもない。概要は、以下の詳細な説明に対する予備知識として、簡易な形式で発明の内容に関する概念を与えようとしているに過ぎない。
【００１０】
開示されるシステム及び方法は、ロボットを有する環境において人物を特定し、ロボティックテレプレゼンスによる通信を開始することに関連する。実施の形態は、ロボットを用いて環境の中で人物とのテレプレゼンスセッションを行うシステムを提供する。本システムは、環境においてロボットを動かすように形成されたモータと、カメラ及びマイクロフォンを有するセンサシステムとを有する。ロボットに関するモジュールを実行するようにプロセッサが形成され、モジュールは、環境においてロボットを動かすためのナビゲーションモジュールと、環境の中で動きを検出するように形成された動き検出システムと、マイクロフォンにより検出された音を特定するように形成された音源特定モジュールとを含む。カメラからの画像に顔が存在することを確認するように、顔認識モジュールが形成されている。目的の人物の指定を受け付け、前記環境の中で目的の人物を特定するように組み合わせられたモジュール、前記ナビゲーションモジュール又は前記顔認識モジュールからのデータを利用するように、顔特定モジュールが形成されている。
【００１１】
別の実施の形態は、自動ロボットを用いて目的の人物を特定し、目的の人物とのテレプレゼンスセッションを開始するための方法を提供する。本方法は、前記ロボットにおいてホストに対するテレプレゼンスセッションのリクエストを受信するステップと、前記ロボットによる前記テレプレゼンスセッションの目的の人物の指定を受け付けるステップとを有する。ロボットは現在の場所で人物を探す。人物が発見された場合、ロボットは、その人物が前記目的の人物であるか否かを判断し、そうでなかった場合、ロボットは目的の人物についての場所を人(探索者)に督促する。そして、ロボットは督促に応じて与えられた回答に示されている場所に移動する。
【００１２】
別の実施の形態は、コンピュータで読み取ることが可能な命令を格納する、コンピュータで読み取ることが可能な１つ以上の不揮発性の記憶媒体を提供し、前記コンピュータで読み取ることが可能な命令又はコードは、１つ以上の処理装置で実行された場合に、目的の人物を探す手順をシステムに実行させる。コンピュータで読み取ることが可能な命令又はコードは、特定の場所における人物をロボットに探索させる声のコマンドを受信するためのコードと、前記ロボットを前記特定の場所に合わせて動かすためのコードとをを有する。
【００１３】
この概要の欄は、以下の詳細な説明で更に説明される概念について、簡易な形態の観点から選択された概念を示しているに過ぎない。この概要の欄は特許請求の範囲に示されている主要な事項や本質的な事項を特定するようには意図されておらず、特許請求の範囲を限定するために使用されることも意図されていない。
【００１４】
＜実施の形態の詳細な説明＞
以下、図面を参照しながら特許請求の範囲に記載された事項を詳細に説明するが、図中、同様な参照番号が同様な要素を指すために使用されている。以下の説明では、説明の便宜上、開示される内容の十分な理解を促すために、多くの具体的な詳細が説明されている。しかしながら、特許請求の範囲に記載された事項はこれらの具体的な詳細な事項によらずに実施されてもよいことは明らかである。また、従来の構造及び装置は開示内容の説明を促す等の観点からブロック図等により説明されている。
【００１５】
本願で使用されているように、「コンポーネント」、「要素」、「素子」、「システム」、「クライアント」等の用語は、ハードウェア、ソフトウェア(例えば、実行の際)、及び/又はファームウェア、或いはそれらの組み合わせに関連するように意図されている。例えば、コンポーネントは、プロセッサ、オブジェクト、実行可能ファイル、プログラム、ファンクション、ライブラリ、サブルーチン、及び/又はコンピュータ又はソフトウェア及びハードウェアの組み合わせにおいて動作するプロセスとすることが可能である。
【００１６】
場合によっては、サーバにおいて動作するアプリケーション及びサーバの双方が、コンポーネントであってもよい。1つ以上のコンポーネントは、プロセスの中に存在することが可能であるし、コンポーネントは、1つのコンピュータ上に局在していてもよいし及び/又は2つ以上のコンピュータに分散されていてもよい。「プロセッサ」という用語は、一般に、コンピュータシステムの処理ユニットのようなハードウェアコンポーネントを指すように理解される。
【００１７】
更に、開示される事項を実行するようにコンピュータを制御するソフトウェア、ファームウェア、ハードウェア又はそれらの任意の組み合わせを提供する標準的なプログラミング及び/又はエンジニアリング技術を利用して、特許請求の範囲に記載された事項が方法、装置又は製品として実現されてもよい。「製品(article  of  manufacture)」という用語は、本願では、コンピュータで読み取ることが可能な、一時的でない任意の(又は有形の)装置又は媒体からアクセスすることが可能なコンピュータプログラムを包含するように意図されている。
【００１８】
一時的でないコンピュータ読み取り可能な記憶媒体は、例えば、磁気記憶装置(例えば、ハードディスク、フロッピディスク、磁気ストリップ等)、光ディスク(例えば、コンパクトディスク(CD)、ディジタル多用途ディスク(DVD)等)、スマートカード、フラッシュメモリ装置(例えば、カード、スティック、キードライブ等)を含んでよいが、これらに限定されない。これに対して、コンピュータ読み取り可能な媒体という用語は、一般的には(すなわち、記憶媒体であるとは限らない)、更に、無線信号等のような伝送媒体のような通信媒体を含む余地がある。
【００１９】
当然に、当業者は特許請求の範囲に記載された内容及び精神から逸脱することなく、説明された例に対して多くの変形を施してよいことを認めるであろう。更に、「例」という言葉は本願において具体例、可能な場合又は例示等を示すように使用されている。本願において「例」として言及されている任意の形態及び設計例は、他の例又は設計例より優れた又は上回るように必ずしも解釈される必要はない。
【００２０】
本願に示されているように、ロボティティックテレプレゼンスセッション(robotic  telepresence  session)により提供される通信では、遠隔ユーザがリモートコンピュータ装置のアプリケーションを利用して、ロボットを通じて目的の人物との通信を行う機能により、ロボットのビデオ、オーディオ及びセンサデータにアクセスする。本願で使用されているように、リモートユーザ又は遠隔ユーザは、ロボットのネットワークから隔たった(例えばインターネットにより隔てられている、或いはローカルネットワーク内に存在していてもよい)異なる場所に位置することが可能である。リモートコンピュータ装置は、特に、パーソナルコンピュータ、モバイル装置、移動装置、ゲームコンソール等を含んでいてもよい。アプリケーションは、リモートコンピュータ装置における標準的なアプリケーションであってもよいし、或いはウェブブラウザを介してアクセスできるものであってもよい。
【００２１】
ロボティックテレプレゼンスセッションは、ロボットの環境の画像(目的の人物を含む画像)をリモートユーザに提供することができる。これは通信の現実味又はリアリティ(reality)を向上させ、より効果的でより楽しめる通信の体感をもたらす。通信のツール又は手段として、ロボティックテレプレゼンスセッションは業務用の有意義な手段を提供するだけでなく、宇宙飛行士、潜水艦乗組員及び兵士等のような家族や友人から遠く隔たっている者が、あたかも家庭の近くに存在しているかの臨場感をもたらすことを促す。
【００２２】
しかしながら、目的の人物(target  person)はロボットを視覚的又は聴覚的にとらえる又はアクセスできなかったことに起因して、目的の人物又は通信相手がテレプレゼンスの要求に応じないかもしれない。目的の人物がロボットの近くにいない限り、環境の中でロボットを動かして目的の人物を探すために貴重な時間が費やされてしまうことが懸念される。
【００２３】
更に、環境の中で通信相手がロボットを動かすことを許容しない(dis-allow)ことが有益かもしれない。例えば、通信が実際に受け入れられる前に、発呼者が被呼者の近辺又は環境を覗くことを、被呼者が希望しないかもしれない。更に、被呼者又は通信相手は、被呼者が呼を実際に受けることができるか否かを発呼者に知られたくないかもしれない。
【００２４】
これらの問題に対処するため、本願で開示される実施の形態は、環境の中で人物を自動的に探索する手段を説明している。この手段の場合、ロボットは、例えば、テレプレゼンスリクエストを通知する処理と、目的の人物の環境(特定されていてもいなくてもよい)を探索する処理と、その環境に属する人物から支援(assistance)を要求する処理とを実行することで、ロボットは被呼者(通信相手)に近付こうとする。ロボットは、顔の特定、顔認識、音声入力及び発声された問い合わせ等のようなセンサデータとの組み合わせにより、環境の中で自動化されたナビゲーションを行い、環境の中にいる人物を特定する。テレプレゼンスセッションを開始した者は、ロボットと絶え間なく連絡を取り続ける必要はなく、ロボットが人物を探している間に別の処理を実行してもよい。
【００２５】
ロボットが目的の人物を発見すると、ロボットは発呼者に通知を行い、かつ彼らが通信を受け入れることを希望するか否かを目的の人物に問い合わせ、この段階で通信を開始した者に通知がなされ、通信チャネルが開設される。ロボットが特定の人物を発見するように依頼されていない場合、ロボットは最初に発見した者を「目的の人物」とし、かれらが通信セッションを受け入れることを希望するか否かをその人に問い合わせる。何れにせよ、その人物が通信の受け入れを拒否した場合、ロボットはリモートユーザにその旨を通知し、ロボティックテレプレゼンスセッションを終了する。
【００２６】
図1はロボティックテレプレゼンスセッションで使用可能なロボットの概略図を示す。ロボット100はヘッド102及びボディ104を含み、ヘッド102はボディ104に対して回転できる。ロボット100はヘッド回転モジュール106を含むことが可能であり、ヘッド回転モジュール106はボディ104に対してヘッド102を回転させる１つ以上のモータを含むことが可能である。例えば、ヘッド回転モジュール106は、ボディ104に対して何れの方向にも高々45度までヘッド102を回転させることができる。別の例では、ヘッド回転モジュール106はボディ104に対してヘッド102を90度回転させることができる。別の例では、ヘッド回転モジュール106はボディ104に対してヘッド102を180度回転させることができる。
【００２７】
ヘッド102はアンテナ108を含むことが可能であり、アンテナ108は無線信号を受信及び送信するように形成されている。例えば、アンテナ108は、Wi-Fi(登録商標)信号、ブルートゥース(登録商標)信号、赤外線(IR)信号、太陽光信号、無線周波数(RF)信号、又は他の適切な任意の信号を送受信できるように形成されている。更に別の例では、アンテナ108はセルラタワーからの信号を受信する及びセルラタワーへの信号を送信するように形成されていてもよい。ロボット100は、アンテナ108を介して、距離を隔てた位置にあるコンピュータ装置と通信する信号を送受信することができる。
【００２８】
ロボット100のヘッド102は、ロボットの近くにいる者にデータを表示するためのディスプレイ110を含むことも可能である。例えば、ディスプレイは、ロボットが探そうとしている人物の名前又は画像を表示するように形成されていてもよい。別の例において、ディスプレイ110は、ロボティックテレプレゼンスセッションの最中にリモートユーザの画像を表示するように形成されていてもよい。ディスプレイは、「セッション開始」又は「セッション終了」等のようなテレプレゼンスセッションの現在の状態を表示してもよい。一実施形態において、ロボット100はプロジェクタ112を含み、リモートユーザの画像を投影し、目的の人物のテレプレゼンスセッションの臨場感を向上させる。
【００２９】
ロボット100のヘッド102はカメラ114を含むことが可能であり、カメラ114は、ロボットの環境の連続的な画像、例えばテレプレゼンスセッションの最中の通信相手の一連の画像を撮影するように形成されている。カメラ114はシステムの設計対象に応じて任意の様々なタイプのカメラとしてよい。使用されてよいカメラの具体例は、静止画カメラ、動画像カメラ、ビデオカメラ、赤外線カメラ、立体像カメラ又は様々な他のタイプの光学センサ配列を含んでよい。リモートユーザのテレプレゼンスセッションの臨場感又はリアリティを増進させるため、カメラ114は、例えば720pフォーマット、720iフォーマット、1080dフォーマット、1080iフォーマット又はその他の適切な高解像度ビデオフォーマット等のようなビデオデータを撮影する高解像ビデオカメラとすることが可能である。ヘッド102は相対的に低い解像度のデータを取得するカメラ114を含んでいてもよい。ｆこれは、移動電話のビデオディスプレイ等のような限られた帯域幅の接続におけるビデオ接続を可能にする。カメラ114がロボット100のヘッド102に搭載されているので、ヘッド回転モジュール106は、ロボット100の比較的大部分の環境のビデオデータをカメラ114が撮影できるようにし、目的の人物の探索をいっそう効率的にする。
【００３０】
ロボット100のヘッド102は、ロボット100が自動ナビゲーションを実行することに寄与するセンサ116を含んでいてもよい。センサ116は適切な如何なるタイプであってもよい。例えば、センサ116は、ロボットと対象との間の距離を特定するように形成された震度センサ、赤外線センサ、カメラ、ロボット100の近傍の崖、淵又は溝を検出するように形成された断崖センサ(cliff  sensor)、GPSセンサ、加速時計、ジャイロスコープ、又はその他のタイプのセンサ等であってもよい。
【００３１】
ロボット100のボディ104は、ロボット100内の他のモジュールに電力を与えるように動作するバッテリ118を含んでいてもよい。バッテリ118は、例えば、鉛酸バッテリ(lead-acid  battery)、ゲル鉛バッテリ(gelled  lead  battery)、リチウムイオンバッテリ、ニッケルカドミウムバッテリ等のような再充電可能なバッテリであってもよい。バッテリ118が再充電可能である場合、ロボット100はロボット100を電源に結合できるようにするインタフェースを含み、バッテリ118に比較的容易に電力を与えることができるようにする。
【００３２】
ロボット100のボディ104はストレージ120及びプロセッサ122を含むことが可能である。ストレージ120は、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、フラッシュメモリ、ハードドライブ、フラッシュドライブ又は光ドライブ等の任意の組み合わせを含んでよい。図5を参照しながら説明するように、ストレージ120はプロセッサ122により実行可能な複数のモジュールを保存することが可能であり、モジュールはロボットの動作を制御することが可能である。プロセッサ122は例えば様々な機能に指定された様々なコアと共に、コンピュータクラスタ、マルチコアプロセッサ、シングルコアプロセッサ等とすることが可能である。プロセッサ122は、マザーボードに収容されたバスのような適切な任意のインタフェースによりロボット100の他のユニットと通信することが可能である。プロセッサ122は、リモートコンピュータ及びロボット100内の他のユニットから受信したデータを処理するように使用され、ロボットのリモートユーザが意図した方法でロボット100を実行させ、例えば目的の人物を特定しかつロボティックテレプレゼンスセッションを実行する処理を行う。一実施形態において、ロボティックテレプレゼンスセッションを実行するのに使用されるプロセッサ及びモジュールは、無線ネットワークを介してロボットに接続されたリモートコンピュータ内に存在してもよい。
【００３３】
ロボット100のヘッド102にあるセンサ116に加えて、ボディ104は、自動的又は半自動的なナビゲーション(autonomous  or  semi-autonomous  navigation)による接続で使用可能なセンサ124を含むことも可能である。例えば、センサ124は、太陽センサ又はソーラーセンサ、赤外線センサ、カメラ及び/又は断崖センサ等を含むことが可能である。センサ116及び124により取得されるデータは、プロセッサ122により使用可能であり、ロボット100を自動的にナビゲートする、例えば目的の人物を探し及びロボティックテレプレゼンスセッションを実行するためにプロセッサ122により使用可能である。
【００３４】
ロボット100のボディ104は、ロボット100の1つ以上の車輪又はホイール128、130を駆動するように動作する駆動モータ126を含んでいてもよい。例えば、大きな車輪128は並進車輪であり、小さな車輪130はロボット100の方向を変えるステアリング車輪(方向転換車輪)とすることが可能である。一実施形態において、車輪128、130の各々がステアリング手段を有することが可能であり、ロボットの向きを変えるためにそれらが一緒に使用されてもよい。更に、車輪128、130の双方を駆動するように1つの駆動モータ126が示されているが、車輪130及び128を個々に駆動する別々の駆動モータが利用されてもよい。センサ116、124からデータを受信した場合又はリモートコンピュータ装置からコマンドを受信した場合、プロセッサ122は、ボディ104に対してヘッド102の向きを制御するための信号をヘッド回転モジュール106へ送信し、かつロボット100の向き及び位置を制御するための信号を駆動モータ126に送信することが可能である。
【００３５】
ロボット100のボディ104はスピーカ132及びマイクロフォン134を含むことが可能である。マイクロフォン134により取得されたオーディオデータは、アンテナ108によりリモートコンピュータ装置に送信されることが可能である。従って、リモートユーザは、リアルタイムのオーディオ/ビデオ信号供給を受けることが可能であり、ロボティックテレプレゼンスセッションの最中にロボット100の環境を体験することが可能である。スピーカ132はロボット100の近くにいる1人以上の人物にオーディオデータを出力するために使用可能である。このオーディオデータは、目的の人物の場所を求めるリクエスト、テレプレゼンスセッションを開始するための目的の人物へのリクエスト、テレプレゼンスセッションの最中にリモートユーザから供給される音声、又はその他の任意の音源とすることが可能である。
【００３６】
ロボット100は上記の構成及び機能の処理部に限定されず、様々な手段で形成されることが可能である。例えば、ヘッド回転モジュール106はチルトモータ(tilt  motor)を含むことが可能であり、ロボット100のヘッド102が、ボディ104及び垂直方向の傾斜の双方に対して回る又は傾くことを可能にする。一実施形態において、ロボット100は個別的なヘッド102及びボディ104を含んでいなくてもよく、１つの一体化されたボディを有していてもよい。その実施形態の場合、ロボットのボディは、カメラ114によるビデオデータの取得を可能にするように回転可能である。別の実施形態において、ロボット100は一体化されたボディ構造を有するが、カメラ114が関連するモータを有し、カメラ114が環境の様々な画像を取得できるようにすることが可能である。更に、図1のボディ104に存在するように示されている機能部は、ロボット100のヘッド102に設けられてもよいし、逆にボディに存在するように示されている要素がヘッドに設けられてもよい。
【００３７】
図2は、ローカルユーザ202及びリモートユーザ204間のロボティックテレプレゼンスセッションを行う様子を示す。図1に関して説明したのと同様な番号が使用されている。ロボット100は無線によりデータ206を受信及び送信するように形成されたアンテナ108を含むことが可能である。一実施形態において、ロボット100が電源投入されると、ロボット100はアクセスポイント208とのプレゼンスを設定するように無線アクセスポイント208と通信する。アクセスポイント208を介して、ロボット100は例えば環境の中でローカルなコンピュータ装置210と接続することが可能である。ロボット100は、直接的に又はローカルコンピュータ装置210を介して間接的にネットワーク212に接続することが可能である。例えば、ネットワーク212はセルラネットワーク、インターネット、プロプリエタリネットワーク(proprietary  network)(例えば、イントラネット又は仮想プライベートネットワーク等)、或いはその他の適切な任意のネットワークであってよい。ロボット100は機能の全部を自ら実行してもよいので、通信セッションはローカルコンピュータ装置210を利用することに限定されない。
【００３８】
リモートユーザ204はリモートコンピュータ装置214においてテレプレゼンスアプリケーションを開始することができる。臨場感を強めるため、リモートコンピュータ装置214は、大画面モニタ、仮想現実ディスプレイ或いはテレビ会議室等と共にあるコンピュータとすることが可能である。別の実施の形態において、リモートコンピュータ装置214は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ゲームシステム又は移動電話機等のような小型装置とすることも可能である。リモートコンピュータ装置214は、ローカルコンピュータ装置210に又は直接的にロボット100にネットワーク212を介して接続する。そして、リモートコンピュータ装置214はテレプレゼンスセッションを要求することができる。
【００３９】
テレプレゼンスセッションを制御するモジュールはロボット100のストレージ120に保存されていてもよく、例えばテレプレゼンスセッションが要求された場合にロードされてロボットのプロセッサ122により実行されてもよい。一実施形態において、モジュールはローカルコンピュータ装置210のプロセッサ216により実行されてもよく、プロセッサ216はローカルコンピュータ装置210のストレージ装置218からのコードを実行することができる。図示してはいないが、リモートコンピュータ装置214は表示画面又はディスプレイスクリーンを含み、表示画面は、ロボット100のナビゲーションに参加するリモートユーザにデータを提示することが可能なことに加えて、例えばテレプレゼンスセッションの相手(目的の人物)であるローカルユーザ202を発見する際のステータスレポート又は状況報告を提供する。例えば、探索の最中に、ロボット100はネットワーク212により現在の又は生のオーディオ/ビデオ供給信号をリモートコンピュータ装置214に送信してもよい。更に、リモートユーザ204はリモートコンピュータ装置214によりネットワーク212を介してナビゲーション及びテレプレゼンスコマンドをロボット100に送信してもよい。
【００４０】
一実施形態において、リモートユーザ204は、ロボット100の環境の中でテレプレゼンスセッションのためのローカルユーザ202を自動的に見出すようにロボット100を利用してもよい。ローカルユーザ202が発見されかつ通信を受け入れた場合に、テレプレゼンスセッションが開始されてもよい。ハンドシェークや認証等のような様々な手順を経てネットワーク212によりリモートコンピュータ装置214とロボット100との間にテレプレゼンスセッションの通信チャネルを設定することが可能である。一実施形態では、H.264SVC(スケーラブルビデオコーディング)標準仕様等のような標準的なプロトコルを利用して、テレビ電話接続が設定される。任意の多数の同様な符号化方式が実施の形態において使用されてよい。そして、リモートユーザ204及びローカルユーザ202はテレプレゼンスセッションにより通信を行う。
【００４１】
図3は、ロボットの環境の中にいる人物を探し、通信を行うためにロボティックテレプレゼンスセッションを設定するための方法300の概要を示す。本方法300は、更なる処理を含めることが可能であるので、図示の処理に限定されない。例えば図2に関連して説明したように、リモートユーザがリモートコンピュータ装置でテレプレゼンスアプリケーションを開始すると、本方法はブロック302から始まる。ブロック304において、リモートコンピュータ装置はロボットに至るコネクション又は接続を設定する。上述したように、コネクションは、ロボットと共に直接的に設定されてもよいし、或いはロボットの環境にローカルに存在するコンピュータを介して設定されてもよい(例えば、基地局として機能している装置を介して設定されてもよい)。コネクションが設定されると、ロボットはテレプレゼンスセッションを実行するためのソフトウェアをロードしてもよい。ブロック306において、特定の人物が意図されているか、或いはロボットが遭遇した最初の人物が目的の人物となるのかを、リモートユーザが指定する。
【００４２】
リモートユーザがセッションを開始した後、ロボットは処理を開始してもよい。ブロック308において、例えば、音声通知又は連絡音により聴覚的に、或いは光や画面による警告により視覚的に、ロボットはテレプレゼンスセッションのリクエスト又は要求を知らせてもよい。通知方法の選択は、例えば、動作又は機能する警報を制限する夜間設定又は個人設定を指定することで、ローカルユーザにより設定されてもよい。一実施形態において、例えばテレプレゼンスセッションを期待している場合に、音量の大きな又は目立つ警告を要求してもよい。
【００４３】
ブロック310において、ロボットは、ロボットの環境の中で人物を探索又はスキャンする。例えば、ロボットは、画像の中で顔を特定又は認識してもよいし、或いは「こちらへ来て下さい(over  here)」というような音声コマンドを聴いてもよい。ブロック312において、直近の環境の中に人物を見い出せなかった場合、フローはブロック314に進む。ブロック314において、ロボットは新たな場所(例えば、目的地)に移動し、移動しながら人物を探索してコマンドを監視する(又は待機する)。ロボットが或る場所から別の場所へ移動している最中に何らかの対象がロボットの前で動いた場合、例えば探索に有効な顔を探すことで、人物又は対象による偶発的な経路中断(unexpected  interruption)を生じさせるか否かを判断する。人物に起因して中断を生じさせた場合、ロボットはその人物に関わることが可能になる。対象に起因して中断を生じさせた場合、ロボットはその対象の近くに移動し、新たな場所に移動し続ける。そして、フローはブロック310に戻り、ロボットは新たな場所で人物を探す。
【００４４】
ブロック312において、ロボットが現在の環境の中で人物を発見した場合、処理フローはブロック316に進む。ブロック316において、ロボットは、発見した人物が目的の人物であるか否かを判断する。この判断は、例えば画像の目録(カタログ)による顔認識により、例えばその人物が目的の人物であることの確認のような音声入力により、或いはそれら双方により行われてもよい。ブロック316において、発見された人物が目的の人物でないと判断された場合、ブロック318においてロボットは目的の人物の場所を人(例えば、リモートユーザ)に問い合わせることが可能である。ロボットは応答又はレスポンスを分析することが可能であり、例えば、「彼はオフィスの外にいる」、「彼女は自身のオフィスの中にいる」、「左側の角の近く」及び類似する表現等のような語句の音声ストリームを分析することが可能である。「そこにはいない」、「そこじゃない」、「オフィス」、「事務所」、「職場」、「台所」等のような更に簡易な語句が使用されてもよい。ロボットが「オフィス」等のような場所の語句を受信すると、新たな場所がナビゲーション目的地に設定され、処理フローはブロック314に戻り、ロボットは新たな場所又は目的地に移動し、動きながら人物を探しかつコマンドを監視する。音声コマンドが適切に解釈されたことを保証するため、ロボットは入力の確認を問い合わせてもよい。
【００４５】
ブロック316において、発見された人物は「目的の人物」であるとロボットが判断した場合、或いは「目的の人物」が最初に発見された人物に設定されていた場合、処理フローはブロック320に進む。ブロック320において、例えば「あなたはテレプレゼンスセッションを受け入れますか？」ということを目的の人物に問い合わせることで、ロボットはテレプレゼンスセッションの開始を求める。ブロック322において、ローカルユーザがテレプレゼンスセッションを許可したか否かを、ロボットが判断する。例えば、ローカルユーザは、「ロボット許可(robot  accept)」、「ロボット拒否(robot  decline)」等のような語句を述べてもよいし、或いは移動電話機のようなリモート装置又はペンダント制御部(pendant  control)を介してコマンドを送ってもよい。ブロック322において、テレプレゼンスセッションが許可されたとロボットが判断した場合、ブロック324において、ロボットはセッションを開始し、例えば「ロボット終話(robot  end  call)」のような音声コマンドを与える又はボタンを押すことで通信者がリンクを終了するまで、通信リンクを維持する。
【００４６】
ブロック322において、ローカルユーザがテレプレゼンスセッションを拒否した場合、処理フローはブロック326において終了し、ロボットは、リモートユーザにその旨を通知し、通信リンクを切断する。ロボットがセッションを終了すると、ロボットはテレプレゼンスセッションを行うためのモジュールをRAMから削除し、例えば、そのようなモジュールは将来的なプレゼンスセッションに備えてディスクに保存されている。
【００４７】
図4A及び図4Bは、ロボットの環境の中で人物を特定し、通信を行うためにロボティックテレプレゼンスセッションを要求する方法例400の具体的な詳細を示すブロック図である。方法400は誰が(何が)機能を実行するかを示すように3つの部分に分割され、図4Aはリモートユーザ402及びリモートコンピュータ装置404により実行される機能を示し、図4Bはロボット406により実行される機能を示している。
【００４８】
ブロック408において、パーソナルコンピュータ、タブレットコンピュータ、モバイルフォン、移動電話機、ゲームシステム等のようなリモートコンピュータ装置404において、リモートユーザ402はテレプレゼンスアプリケーションを開始する。ブロック410において、リモートユーザ402は、特定の人物が目的とされているか否かを指定する。例えば、リモートユーザ402は、目的の人物の画像を伴うアイコンをクリックしてもよいし、或いは、リモートユーザがロボット406の場所にいる特定の人物又はロボット406の場所にいる任意の人物(不特定の人物)を目的としているかを、アプリケーションがリモートユーザに尋ねてもよい。
【００４９】
ブロック412において、リモートコンピュータ装置404は、上述したようなインターネット、モバイルキャリアネットワーク又はその他の何らかの通信ネットワークを介してロボットに接続する。ブロック414において、テレプレゼンスアプリケーションがロボット406又はローカルコンピュータにロードされて起動される。ブロック416において、リモートコンピュータ装置404は、ロボット406が具体的な目的の人物を探すべきか否か、或いは最初に遭遇した者がテレプレゼンスリクエストを許可できるか否かを、ロボット406に指定し対して指定する。
【００５０】
ブロック418において、ロボット406は、スピーカ、スクリーン、画面、プロジェクタ、光、振動等によるテレプレゼンスリクエストを、出力装置を用いて通知する。ブロック420において、ロボット406は、居室を現在位置から探索し、例えば、移動を検出することで、顔を探すことで、又は「ロボット許可」、「ロボット拒否」又は「こちらに来てください」等のような特定の音声コマンドを聴くことで、人物を探そうとする。適切な人物の顔は、ロボットの顔検出アルゴリズムにより検出された人物の顔である。
【００５１】
ブロック422においてロボット406が人物に関する音又はコマンドを確認した場合、ブロック424においてロボットは音の方を向くようにヘッド(又はタレット又は小塔)を回し、顔を探す。一実施形態において、ロボット406は音がする方向に移動してもよい。プロセスはブロック420に戻り、部屋を探索し続ける。
【００５２】
ブロック422においてロボット406が現在の場所(又は領域)で顔も音も検出できなかった場合、プロセスはブロック426に進む。ブロック426では、ロボット406が部屋を探索し終えたか否かの判断がなされる。終了していなかった場合、処理フローはブロック420に進み、有効な顔又は音声コマンドを探索し続ける。
【００５３】
ブロック422においてロボット406が有効な顔を発見した場合、ブロック428において、例えばRGB画像データや深度データから導出された位置座標、又は音声や音声コマンドの音源定位(sound  source  localization：SSL)方式から導出された位置座標を利用することで、ロボットはその顔の方に移動する。更に、SSLは別の部屋(例えば、隣の部屋)又は他の場所に人が存在することを判定するために使用されてもよい。被呼者の探索はSSLにより指定された場所に対してなされてもよい。ロボット406は彼又は彼女に対面してその人物に関わる。ブロック430においてロボット406が特定の人物を探索しないことが確認された場合、すなわち最初に発見された人物が「目的の人物」となるようにリモートユーザがロボット406を指定していた場合、処理フローはブロック432に進む。
【００５４】
ブロック432において、ロボット406は、彼らがテレプレゼンスセッションを許可するか否かを人物に尋ねる。ブロック434においてその人物がリクエストを許可したと判断された場合、処理フローはブロック436に進み、テレプレゼンスセッションを開始する。層でなかった場合、処理プロセスはブロック438に進み、テレプレゼンスセッションの要求処理は終了する。
【００５５】
ブロック430において、ロボット406が特定の人物を探していると判断された場合、ブロック440においてロボット406が関わっている人物がその「目的の人物」であるか否かをロボット406が判断する。これは、人物の顔とその環境の中に存在していそうな人物のデータベースとを比較する顔認識アルゴリズムにより人物の身元(又は識別子)を確認することで実行されてもよい。目的の人物が確認された場合、処理フローは上述したブロック432に進む。特定の人物がブロック440で確認されなかった場合、処理フローはブロック442に進む。
【００５６】
ブロック442において、ロボット406は、ロボット406に関わっている人に、目的の人物の場所を尋ねる。ブロック444において、新たな場所が提供されなかったとロボット406が判断した場合、処理フローはブロック446に進む。ロボット406が顔を特定することなく部屋を探索し終えた場合も、処理フローはブロック446に進む。ブロック446において、新たな探索場所が決定される。
【００５７】
例えばリストに載っている次の部屋に移動するような簡易な移動アルゴリズムを利用することで、或いは近くの部屋に移動するような近接性を利用することで、新たな場所が決定されてもよい。目的の人物のオフィスに移動することや、日時に基づいて特定の場所で人と会う確率が高い場合にその場所に移動すること等のようなより複雑なアルゴリズムが使用されてもよい。後者の例の場合、ロボットは、場所及び日時に基づいて人々に関わる頻度を追跡するデータベースを必要とするかもしれない。目的の人物に遭遇した最後の場所を特定し、その場所を探し始めるために、ロボットはデータベース又は情報源を利用してもよい。
【００５８】
被呼者を発見する別の方法は、テレプレゼンスセッション又は電話を開始しようとしている人物からロボットに提供される情報を利用することを含んでもよい。例えば、誰かが電話する場合に彼／彼女がどこかの場所に行く前に誰かがロボットに明示的に教えておいてもよい。そして、電話又はテレプレゼンスセッションのリクエストが受信された場合に、ロボットはその場所でその人物を探し始めてもよい。被呼者を発見する更に他の方法は、特定の人々に最も遭遇しやすい場所についてのヒートマップ(又は色分け地図)を利用してもよい。被呼者を探す場所の決定は、ヒートマップからデータを取得することを含んでもよい。
【００５９】
ブロック446の後、又はブロック444で新たな探索場所が提供された場合、処理フローはブロック448に進む。ブロック448において、ロボット406は新たな場所に進む又はナビゲートする。ブロック450に示されているように、ロボットは、新たな場所に動きながら、顔を探索し、音声コマンドを聴き取る。有効な顔又は音声コマンドが検出された場合、ロボット406は停止し、処理フローはブロック422に進み、新たな入力を処理する。ブロック452において、ロボットは新たな場所に到着し、処理フローはブロック418に進み、探索処理を改めて実行する。ロボットは、所定の期間の間にわたって又は人物が実際に検出されるまで、探索手順を反復する。更に、目的の人物がテレプレゼンスセッションを許可することを希望しなかった場合、又はその人が目的の人物でなかった場合、彼らはロボット406を別の場所又は別の時間にし向け、或いはロボット406を別の人の所へ送る。
【００６０】
図5は、測位機能を実行するために使用されてよいモジュールを示すロボット100のブロック図を示す。図1に関連して説明したように、ロボット100はストレージ120及びプロセッサ122を含む。図1に関連して説明したように、ストレージ120はプロセッサ122により実行可能なモジュールを含む不揮発性ストレージ装置を含むことが可能である。ストレージ120は有向グラフ(directed  graph)のような環境のマップ502を含んでもよく、有向グラフにおいてノードの各々は部屋を表しかつエッジの各々は2つの部屋を結ぶ縁又はエッジを表す。マップ502は、格子又はグリッド、3次元点群、又は環境に関する任意の他の表現等のようなメトリック詳細情報(metric  accurate  information)を含んでもよい。マップ502は、ユーザにより生成されてもよいし、或いは環境の探索によりロボットにより自動的に生成されてもよく、例えば、同時位置マッピング(simultaneous  location  and  mapping：SLAM)機能により又は環境内のユーザの徒歩による測位(user  directed  walk  navigation)等により生成されてもよい。
【００６１】
ナビゲーションモジュール504はマップ502からの情報を利用してロボット100の位置を特定し(測位を行い)、ロボット100を新たな場所にし向ける。例えば、目的地は人が発した音声コマンドにより決定されてもよく、ナビゲーションモジュール504はロボット100を目的地に動かすようにモータを駆動してもよい。ナビゲーションモジュール504は目的地をノードとして取り扱い、ロボットの現在地からそのノードへの経路を算出することができる。例えば、マップ502は複数の様々なノードとしてロボット100により解釈され、ロケーションディレクションコンポーネント(location  direction  component)304はロボット100の現在地からノードへの経路を算出することが可能であり、その様な経路は複数のノードを経由する。
【００６２】
別の実施形態において、ナビゲーションモジュール504は目的地とマップ502とを比較し、例えばマップ502が床面の座標を含んでいた場合、ロボット100の環境に対応する座標に対して、目的地に対応する座標が何処であるかを特定することが可能である。ナビゲーションモジュール504は、ロボット100を、選択された場所に移動させる。例えば、ナビゲーションモジュール504は、マップ502の中でタグが付された場所又はタグが付されていない場所である目的地(を発音した声)を含む音声コマンドを人から受信することができる。ナビゲーションモジュール504は、プロセッサ120により実行される場合に、環境内の現在地から、マップ502内の選択された場所に対応する環境内の場所へ、ロボット100を移動させることが可能である。
【００６３】
ロボット100が選択された場所に向かって移動している場合に、ロボット100と選択された場所との間の経路の途中に障害物があるかもしれない。障害物又は遮る対象は、継続的に存在するかもしれないし、或いはロボットの前で人がオフィスから出て行く場合のように一時的であるかもしれない。障害物検出モジュール506は、障害物を回り込むようにロボット100を誘導し、例えば、ロボットが人物や他の障害物に衝突しないようにする、或いはロボットが階段から落ちないようにする。ストレージ120は障害物検出モジュール506を含み、障害物検出モジュール506はプロセッサ122により実行される場合にセンサ116又は124から受信したデータを分析しかつ障害物を検出するように形成されている。ロボット100の現在地と選択された場所との間のロボット100の経路の途中に障害物が検出された場合、障害物検出モジュール506は、障害物が存在することを示す通知だけでなく、ロボット100の現在地に対する障害物の大凡の位置も出力できる。例えばナビゲーションモジュール504内の軌道修正部は、障害物を避けるようにロボット100の進路を変更することが可能である。ナビゲーションモジュール504は、例えばテレプレゼンスセッションの目的の人物を探すために、環境内の場所にロボット100を自動的に誘導するように使用できる。
【００６４】
ストレージ120は、テレプレゼンスモジュール508のようなテレプレゼンスセッションを行うためにロードされる多数のモジュールを含んでもよい。テレプレゼンスモジュール508は、テレプレゼンスセッションを要求しているリモートコンピュータ装置との通信が始まった場合にロードされる。テレプレゼンスモジュール508は、テレプレゼンスセッションを管理することに加えて、ロボット100とリモートコンピュータ装置との間の通信を管理する。テレプレゼンスモジュール508は、他のモジュールを起動して、図3及び図4と共に説明したような具体的な機能を実行してもよい。
【００６５】
例えば、テレプレゼンスモジュール508は、人物特定モジュール510を起動して、ロボット100の環境の中で人を探してもよい。人物特定モジュール510は顔認識モジュール512を利用して、カメラによる画像の中で適切な顔を特定し、その顔をデータベース比較することで特定の人物を確認してもよい。従来の多数の任意の顔認識アルゴリズムを使用することが可能であり、例えば顔認識アルゴリズムは、顔のうち区別できる特徴とデータベースに保存されているものとを比較する幾何学的アルゴリズムや、画像を表す番号又は一連の番号とデータベース内の値とを比較する統計的アルゴリズムを使用する光分析アルゴリズム等を含む。実施の形態で使用されてよい様々な認識アルゴリズムは、主成分分析(principal  component  analysis：PCA)、線形判別分析(linear  discriminate  analysis)、弾性束グラフマッチング(elastic  bunch  graph  matching)、隠れマルコフモデル、ニューラルネットワーク等を含んでよい。
【００６６】
人物特定モジュール510は、音源定位(SSL)モジュール514を呼び出して、検出した音声コマンドの方向や位置を特定してもよい。一実施形態において、SSLモジュール514はロボット100内のいくつものマイクロフォンを利用して、音源の三角測位を行う。別の実施形態では、様々な音源方向測定アルゴリズムの組み合わせと共に2つのマイクロフォンが使用され、例えば、マイクロフォン同士の間の時間差、レベル差及び位相差、スペクトル情報、タイミング分析、相関分析、パターンマッチング等が利用される。他の多くの任意の方式が利用されてよいので、SSLモジュール514はこれらのアルゴリズムには限定されない。
【００６７】
人物特定モジュール510は、音声コマンドモジュール516を呼び出して、ロボットに話されたコマンドを特定してもよい。音声コマンドモジュール516は、コマンドを特定する従来の多数の任意の会話認識アルゴリズムを利用してよい。例えば、音声コマンドモジュール516に使用されてよいアルゴリズムの一例は、隠れマルコフアルゴリズムを利用してコマンドを認識する。隠れマルコフモデルは、例えば約10msの短期間の間の頻度分布又は周波数分布に基づいて、個々の言葉を認識するために使用できる。隠れマルコフモデルによる演算結果は、例えば文脈依存性(context  dependency)等を利用する様々な技法により改善できる。音声コマンドモジュール516により音声認識に使用されてよい別のアルゴリズムは、2つのシーケンスの間の類似度を測定する動的時間伸縮法(dynamic  time  warping)に基づくものである。
【００６８】
多数の他の任意のモジュールが上記の機能を実行又は実現するためにストレージ120内に存在してもよい。例えば、動き検出モジュールが含まれていてもよい。動き検出モジュールは、カメラ供給信号、サウンド供給信号又はその他のセンサ供給信号を利用して環境内の動きを特定することが可能である。この場合、ロボットは音又はコマンド入力と同じ方向に移動位置の向きを動かす。移動位置に到達すると、ロボットは顔を探すことができる。ロボット100をリモートユーザにより直接的に動かす他の任意のモジュールが存在してもよい。
【００６９】
以上の説明は開示される内容の具体例を含む。当然に、特許請求の範囲に記載されている事項を説明する目的で要素又は方法の全ての可能な組み合わせを説明することは不可能であり、当業者は開示内容に対する多くの他の組み合わせや置換例が可能であることを認めるであろう。従って特許請求の範囲はそのような代替例、修正例及び変形例の全てを包含するように意図されており、それらは全て添付の特許請求の範囲及び精神に属する。
【００７０】
上述したコンポーネント、素子、要素、装置、回路、システム等により実行される様々な機能に関し、そのようなコンポーネント等を説明するために使用される用語(「手段」を指す用語を含む)は、特に断りがない限り、説明された構造とたとえ構造的には等価でなかったとしても、特許請求の範囲に記載された事項に関する具体的な形態の機能を実行する説明されたコンポーネントの具体的な機能を実行する任意のコンポーネント(例えば、機能的に等価なもの)に対応するように意図されている。この点に関し、開示内容はシステムだけでなくコンピュータ読み取り可能媒体をも含むことが認められるであろう(その媒体は、特許請求の範囲に記載された様々な方法の処理及び/又は手順を実行するコンピュータ読み取り可能な命令を有する)。
【００７１】
例えば適切なAPI、ツールキット、ドライバコード、オペレーティングシステム、制御部、スタンドアローン又はダウンロード可能なソフトウェアオブジェクト等のような開示内容を実現する多数の方法が存在し、それらはアプリケーション及びサービスが本願で説明された技法を利用できるようにする。特許請求の範囲に記載される事項は、API(又はその他のソフトウェアオブジェクト)の観点から利用する形態だけでなく、本願で説明された技法に従って動作するソフトウェアやハードウェアオブジェクト等の観点からの形態をも想定している。すなわち、本願で説明されている開示内容の様々な実施形態は、完全にハードウェアであってもよいし、部分的にハードウェアであり部分的にソフトウェアであってもよいし、完全にソフトウェアであってもよい。
【００７２】
上記のシステムはいくつものコンポーネント間のやり取りに関連して説明されてきた。そのようなシステム及びコンポーネントは、複数のコンポーネント又は更に細かいサブコンポーネント、いくつかの更に細かいサブコンポーネント又は複数のサブコンポーネント、及び/又は追加的なコンポーネント、それらの任意の組み合わせを包含してよいことが理解されるであろう。サブコンポーネントは親のコンポーネントの中に包含される例(階層的な場合)以外の他のコンポーネントに通信可能に結合されたコンポーネントとして実現されてもよい。
【００７３】
更に、1つ以上のコンポーネントは、機能を統合した１つのコンポーネントに組み合わせられてもよいし、或いは幾つかの個別のサブコンポーネントに分割されてもよく、管理レイヤのような1つ以上の任意のミドルレイヤが、統合された機能をもたらすようにそのようなサブコンポーネントに通信可能に結合されていてもよいことに、留意すべきである。本願で説明される任意のコンポーネントは、本願で具体的には説明されていないが当該技術分野で一般的に知られている1つ以上の他のコンポーネントとやり取りを行ってもよい。
【００７４】
更に、開示内容の特定の特徴がいくつかの実施形態のうちの1つのみにより説明されたかもしれないが、望まれる場合及び何らかの所与の又は特定のアプリケーションに関して有利である場合、その様な特徴は他の実施形態の1つ以上の他の特徴と組み合わせられてもよい。更に、「含む」、「包含する」、「有する」及びそれらに類似する用語が明細書及び/又は特許請求の範囲で使用されているが、これらの用語は、任意の追加的又は他の要素を排除しない開放的な言葉として「有する」という用語と同様に他を包含してよいように意図されている。
【図１】
2014522053.tif 000003
【図２】
2014522053.tif 000004
【図３】
2014522053.tif 000005
【図４Ａ】
2014522053.tif 000006
【図４Ｂ】
2014522053.tif 000007
【図５】
2014522053.tif 000008
【国際調査報告】
2014522053.tif 000009
2014522053.tif 000010