以下、図面を参照し、本出願の様々な特徴の実装形態を実装する装置、システム、及び方法について説明することとする。図面及び関連する説明は、本出願のいくつかの実装形態を例示するべく、提供されるものであり、本出願の範囲を限定するものではない。図面の全体を通じて、参照符号は、参照された要素の間における対応性を示すべく再使用されている。
社会的且つ環境的認識を提供する装用可能なインテリジェントイヤピースは、当技術分野の現時点の状態との比較において、いくつかの利点を提供する。装用可能なイヤピースにおける入力の選択及び配置は、最適化されている。この結果、相対的に正確な出力がユーザーに提供されるという利点が提供される。又、出力の選択及び配置も、相対的に統合されると共に理解が容易な方式によってユーザーに情報を提供するべく、最適化されている。
これに加えて、イヤピースは、ユーザー及びユーザーの環境を連続的に観察することができるのみならず、カレンダー及びスケジュールなどの選好情報を保存することも可能であり、且つ、リモートデータベースにアクセスすることもできる。この観察データに基づいて、イヤピースは、フィードバックをユーザーに対して積極的に提供することができる。積極的な機能は、例えば、ユーザーが位置する必要がある場所についてユーザーにリマインドすることが可能であり、ユーザーが話をしている人物の名前についてユーザーに通知することが可能であり、ユーザーが危険な状況に接近しうる場合にユーザーに警告することが可能であり、以下同様である。これは、従来技術との比較において、有利であり、その理由は、イヤピースのユーザーには、情報を要求する必要性を伴うことなしに、情報が提供されうるからである。この結果、自身が受け取りうることを自身が知りえないフィードバックをユーザーに対して提供することができる。これに加えて、その結果、ユーザーは、余分な時間又は努力を浪費することなしに、フィードバックを受け取ることができる。いくつかの状況においては、この積極的なフィードバックは、ユーザーの潜在的な当惑を防止することができる(例えば、ユーザーは、自身が話をしている人物の名前についてイヤピースに問い合わせる必要がない)。
装置のオンボード立体カメラは、(含まれている際に)有用な深さ及び距離情報を装置に対して提供する。その結果、装置は、ユーザーの周りの社会的且つ環境的要素を相対的に良好に決定するべく、この情報を使用することができる。全地球測位システム(GPS)、慣性計測ユニット(IMU)、及びカメラの組合せは、相対的に正確なフィードバックをユーザーに対して提供することができることから、有利である。
図1Aは、本発明の一実施形態によるインテリジェントイヤピース(イヤピース)100のブロックダイアグラムである。イヤピース100は、オンボード処理アレイ110を含んでおり、これは、センサアレイ120、インターフェイスアレイ130、及びコンポーネントアレイ140と通信している。
アレイ110、120、130、及び140は、図1Aのブロックダイアグラムにおけるイヤピース100のコンポーネントを視覚的に組織化するための例示用のグループ分けであり、且つ、限定を目的としたものではなく、且つ、必ずしも、なんらかの物理的なグループ分けを表すものではない。これに加えて、特定の実施形態は、更に多くの数の又は少ない数の図1Aに示されているコンポーネントを有してもよい。図1B〜図1Gに示されている実施形態は、イヤピース100の例示用の物理設計である。これらのコンポーネントは、設計懸念事項に基づいて、異なる方式によって構成することもできる。図1B〜図1Gには、本明細書において記述されているすべての特徴及びコンポーネントが示されているわけではない。更には、図1B〜図1Gの構造は、変更されてもよく、或いは、本明細書において記述されている更なる特徴を含むように、別のイヤピースを設計することも可能である。
図1Bを参照すれば、イヤピース100は、ユーザーの耳にフィットするように設計されている。従って、設計は、図1B〜図1Gに示されている外形形状を使用することにより、最適化されてもよい。これらの形状によれば、イヤピース100は、ユーザーの耳において、相対的に容易に且つ相対的に快適に、留まることができる。又、設計は、軽量且つ小さなコンポーネントを利用することにより、最適化されてもよい。軽量のコンポーネントによれば、イヤピース100は、ユーザーにとって軽量且つ快適な状態に留まることができる。小さなコンポーネントによれば、イヤピース100は、ユーザーが嵩張っていると感じないように、小さな状態に留まることができる。イヤピース100が、依然として相対的にハイパワーな計算を提供しつつ、軽量な状態に留まることができることから、特定の機能を実行するための別の装置に対する接続性は、有益である。
オンボード処理アレイ110は、プロセッサ111と、メモリ112と、を含む。プロセッサ111は、ARMプロセッサ、DSPプロセッサ、分散プロセッサ、又はその他の形態の中央処理などのコンピュータプロセッサであってもよい。メモリ112は、プロセッサ111によって使用されるRAM又はその他の揮発性又は不揮発性メモリであってもよい。メモリ112は、一時的ではないメモリであってもよく、即ち、ハードディスクドライブ、半導体ディスクドライブ、ハイブリッドディスクドライブ、又はその他の適切なデータストレージなどのデータストレージ装置であってもよく、且つ、機械可読命令を更に保存してもよく、機械可読命令は、プロセッサ111により、読み込まれると共に実行されてもよい。
センサアレイ120は、カメラユニット121、慣性計測ユニット(IMU)123、全地球測位システム(GPS)124、及びセンサ125を含む。
一実施形態においては、カメラユニット121は、立体距離だけオフセットされた少なくとも2つのカメラを有する立体カメラのペア121a及び/又は非立体カメラ121を含む。立体距離は、2つのカメラについて最適化されてもよい。本明細書において記述されている際に、カメラ121は、立体カメラのなんらかのペア121a及び/又は任意の非立体カメラ121を意味しうる。イヤピース100のサイズと、表面積及び重量を小さく維持するという所望と、に起因して、イヤピースが、立体カメラの1つのペア121a又は1つのその他のタイプのカメラ121のみを含むことが最適であろう。
立体カメラは、屋内及び屋外環境の両方において深さ情報を提供する。立体カメラのペア121aは、視野(FOV:Field Of View)を確立するべく、ユーザーの前面において、前方を向いていてもよい。立体カメラのペア121aは、例えば、約90度のFOVを有してもよい。立体カメラのペア121aは、ユーザーの前面の深さなどの3D情報を提供する。立体カメラのペア121aの側部に配置されうるか又は立体カメラのペア121aの代わりに使用されうる広角レンズカメラなどの更なるカメラが、例えば、約120度にFOVを増大させてもよい。カメラ121は、単眼であってもよく、この場合には、深さ又は距離情報を伴っていないが、簡単な認識を提供することはできる。例えば、カメラ121は、ユーザーの周囲において運動する物体を検出することができる。立体カメラ121a及び/又はカメラ121は、環境内の物体を連続的に認識する。センサアレイ120内のその他のセンサとの関連において動作することにより、イヤピース100は、オーディオ及び触覚フィードバックにより、ガイダンス及びナビゲーションコマンドをユーザーに提供する。
例えば、立体カメラのペア121aの代わりに、又はこれに加えて、イヤピース100は、視野を増大させるべく、ワイドレンズカメラを含んでもよい。更なるカメラは、単眼であってもよく、この場合には、深さ又は距離情報を伴ってはいないが、簡単な認識を提供することはできる。例えば、カメラは、ユーザーの周囲において、運動する物体を検出することができる。立体カメラ122a及び更なるカメラは、環境内の物体を連続的に認識する。センサアレイ120内のその他のセンサとの関連において動作することにより、イヤピース100は、オーディオ及び触覚フィードバックにより、ガイダンス及びナビゲーションコマンドをユーザーに提供する。
いくつかの実施形態においては、カメラ121は、複数のカメラを含んでもよい。複数のカメラの追加は、そのカメラが、単一のカメラが利用された場合に装置自体によって妨害されうる視野をキャプチャできることから、有益であろう。例えば、単一のカメラの視野は、イヤピース100の物理コンポーネントによって遮断される場合がある。相対的に大きな視野を得るべく、カメラは、異なる有利な地点において位置決めされてもよい。周囲環境の相対的に幅広の領域をキャプチャするべく、画像処理を介して、複数の画像を1つにフィットすることができる。イヤピース100のサイズに起因して、相対的に多くのカメラを位置決めすることは、困難であろう。但し、イヤピース100上において複数のカメラを位置決めすることは、依然として可能であろう。これに加えて、ユーザーが2つのイヤピース100を利用している場合には、それぞれのイヤピースが、少なくとも1つのカメラ121を有してもよく、或いは、カメラの組合せを有してもよい。
イヤピース100は、リアルタイムフィードバックを通じて、環境的認識、ナビゲーション、社会的やり取り、及び障害物回避において、ユーザーを支援する。イヤピース100は、ユーザーに警告するべく、ユーザーの周りの物体を認識する能力を有する。例えば、イヤピース100は、環境的認識において支援するべく、且つ、障害物の周りを安全にナビゲートするべく、盲目の人物によって使用されてもよい。イヤピース100は、センサアレイ120からのカメラ入力(並びに、マイクロフォン131からのオーディオ入力及び/又は入力装置134からのユーザー入力などの、インターフェイスアレイ130からの入力)に基づいて、スピーカ132及び振動ユニット133を通じて、オーディオ及び触覚フィードバックをユーザーに提供する。
特定の実施形態においては、イヤピース100は、盲目の又は部分的に盲目のユーザーに対応するように設計されている。又、このような実施形態においては、軽量の観察又は暗視カメラ(例えば、赤外線カメラ)が利用されてもよい。例えば、1つのカメラが、通常の照明を対象としてもよく、且つ、別のものが、暗視を対象としてもよい。例えば、盲目のユーザーは、照明をターンオフする可能性が高く、その理由は、盲目ユーザーは、照明に依存していないからである。イヤピース100は、暗視カメラの画像を処理することにより、依然として適切に機能することになろう。処理される画像は、暗視において限定されてもよい。例えば、顔面認識は、実行可能でない場合があるが、別の人物の存在は、検出することができる。この結果、有用な情報をユーザーに付与することができる。
盲目の又は部分的に盲目のユーザーにおける使用に加えて、イヤピース100は、日々の暮らしのその他の使用に適用されてもよい。例えば、イヤピース100は、人生における出来事(即ち、結婚やスポーツイベントなど)を記録するべく使用することができる。又、イヤピース100は、逮捕や交通違反の取締りなどを記録するなどにより、警官を支援するべく利用されてもよい。又、イヤピース100は、例えば、環境内の危険な物品を視覚的に識別し、且つ、作業者に警告することにより、作業者によって使用されてもよい。
IMU123は、加速度計、ジャイロスコープ、磁気計、並びに/或いは、加速度又は位置決めセンサのうちの1つ又は複数を有してもよい。GPS124は、1つ又は複数のGPSユニットであってもよい。IMU123及び/又はGPS124は、ユーザー及び/又はイヤピース100の場所及び/又は位置決めを決定するべく利用されてもよい。
GPS124は、場所情報を提供し、この場所情報は、IMU123によって提供される速度及び向き情報を含む慣性ガイダンス情報と共に、ユーザーの誘導を支援するように機能する。メモリ112は、例えば、ユーザーの特定及びナビゲーションコマンドの提供を支援するべく、マップ情報又はデータを保存してもよい。マップデータは、予め読み込まれてもよく、アンテナ142を通じて無線でダウンロードされてもよく、或いは、建物入口の近傍において掲示された、又は以前の遭遇及び記録から構築された、建物マップをキャプチャするなどにより、視覚的に決定されてもよい。マップデータは、エッジを有するネットワーク図又は特徴を有する一連の座標などのように、抽象的なものであってもよい。マップデータは、ユーザーの目標物を含んでもよく、且つ、ユーザーが歩行するのに伴って、立体カメラ121a及び/又はカメラ121は、更なる目標物を認識してもよく、且つ、それらの目標物がカメラの視野に入るのに伴って、マップデータを更新してもよい。
例えば、ユーザーは、「Yキャンパス内の建物Xまで連れて行け」という音声コマンドを付与してもよい。その結果、イヤピース100は、既に保存されていない場合に、関連するマップをダウンロードしてもよく、或いは、立体カメラ121a及びカメラ121からの知覚された画像に基づいて、ナビゲートしてもよい。ユーザーがイヤピース100からのナビゲーションコマンドに従って移動するのに伴って、ユーザーは、午前中に、コーヒーショップに通りがかってもよく、且つ、イヤピース100は、ユーザーの習慣と共に、コーヒーショップ及び時刻を認識し、且つ、ユーザーに対して適切に警告することになろう。イヤピース100は、スピーカ132を通じて、ユーザーに口頭で警告してもよい。ユーザーは、設定を調節するべく入力装置134を使用してもよく、この設定は、例えば、警告のタイプ、アナウンスするべき詳細、並びに、物体認識又は警告設定に関係しうるその他のパラメータを制御してもよい。ユーザーは、必要に応じて、特定の機能をターンオン又はオフしてもよい。
屋内においてナビゲートする際には、障害物の周りをナビゲートすると共に望ましい場所又は特徴に到達するべく、GPS124が、盲目のユーザーに対して十分な情報を提供しない場合がある。イヤピース100は、例えば、階段、出口、及び洗面所を認識してもよく、且つ、これらをメモリ112内において適切に保存してもよい。
センサ125は、センサアレイ120の残りの部分との関連において環境に関する更なる情報を提供する1つ又は複数のセンサであってもよい。センサ125は、例えば、温度センサ、気圧センサ、湿気又は湿度センサ、ガス検出器又はその他の化学センサ、音響センサ、pHセンサ、煙検出器、金属検出器、光量計、高度計、深さゲージ、コンパス、放射線センサ、動き検出器、又はその他のセンサのうちの1つ又は複数であってもよい。
インターフェイスアレイ130は、マイクロフォン131と、スピーカ132と、振動ユニット133と、入力ユニット134と、ディスプレイ135と、を含む。
マイクロフォン131は、ユーザーから、音声起動/コマンド又はその他の音声動作などの音響を受け取る能力を有するマイクロフォン又はその他の装置であってもよく、且つ、イヤピース100と統合されてもよく、或いは、その外部に位置してもよい。又、マイクロフォン131は、センサアレイ120の一部分として、入力を提供してもよい。
マイクロフォン131は、走行する自動車の音響又はその他の可能な危険などの更なる環境データを提供してもよい。マイクロフォン131は、スピーカ132との関連において機能してもよく、且つ、干渉を防止するべく、スピーカ132から離れるように配置されてもよい。或いは、この代わりに、マイクロフォン131は、オーディオフィードバックをブロードキャストすることなしに、オーディオフィードバックをユーザーに提供するべく、骨伝導装置などの装着されたオーディオ装置との関連において動作してもよい。
スピーカ132は、1つ又は複数のスピーカであってもよく、或いは、音響及び/又は振動を生成する能力を有するその他の装置であってもよい。
振動ユニット133は、触覚及び触感出力を提供する能力を有する振動モーター又はアクチュエータであってもよい。又、特定の実施形態においては、振動ユニット133は、スピーカ132と振動ユニット133が、同一のものとなるか、又は統合されうるように、音響を生成する能力を有してもよい。イヤピース100のサイズに起因して、振動ユニット133は、小さなサイズを有する必要がある。いくつかの実施形態においては、ユーザーは、イヤピース100が相互に協調して動作するように、それぞれの耳の内部においてイヤピース100を装用してもよい。これらの実施形態においては、それぞれのイヤピース100は、イヤピース100が立体振動データを提供しうるように、振動ユニット133を含んでもよい。一方のイヤピース100において、他方のイヤピース100の振動パターンとは異なる振動パターンを出力することができる。その結果、左/右振動パターンの異なる組合せは、有用な情報をユーザーに伝達することができる。例えば、右には欠けている左における特定の振動パターンは、ユーザーが左に曲がる必要があることをユーザーに通知するべく、使用されてもよい。
入力装置134は、タッチセンサ及び/又は1つ又は複数のボタンなどの入力装置であってもよい。例えば、入力装置134は、タッチパッドと同様に、設定を調節するためのスライダとしてのみならず、選択を実行するボタンとしても使用されるタッチセンサであってもよい。
ディスプレイ135は、イヤピース100に無線で接続されるディスプレイであってもよい。例えば、ディスプレイ135は、接続されたセルラー電話機のディスプレイであってもよい。ディスプレイ135は、カメラ121からの視覚データを表示する能力を有しうる。実施形態においては、ディスプレイ135は、1つ又は複数のLED又は類似の光源などの別の視覚警告装置であってもよい。
ディスプレイ135は、記憶保持の難しさに伴って、ユーザーに適切にリマインドすることができる。例えば、ディスプレイ135は、ユーザーにリマインドするべく、ユーザーの活動に関する情報を通知する画像を表示してもよい。例えば、表示される情報は、ユーザーが現時点において実行しているタスクと、ユーザーが向かっている目的地と、に基づいたものであってもよい。表示される情報は、周囲環境に更に対応したものであってもよい。例えば、情報は、現時点におけるユーザーの周りのその他の者の身元、場所、及び運動に対応したものであってもよい。例えば、アルツハイマーを患うユーザーは、ユーザーの周りの人々を認識しない場合がある。プロセッサは、カメラユニット121によって検出されたデータに基づいて、顔面認識を使用して近傍の人物の身元を決定してもよい。ディスプレイ135は、現時点のイベントを更に通知してもよい。
コンポーネントアレイ140は、電池141と、アンテナ142と、入出力(I/O)ポート143と、を含む。電池141は、電池であってもよく、或いは、イヤピース100に電力供給する能力を有するその他の電源であってもよい。電池141は、充電用の接続ポートを有してもよく、或いは、誘導充電などを通じて、無線充電されてもよい。
電池141は、外部電源に接続することも可能であり、或いは、電源コードを介してコンセントに接続することもできる。或いは、この代わりに、又はこれに加えて、電池141は、無線充電を介して充電することもできる。電池のサイズ及び容量は、必要とされている計算などの設計懸念事項に基づいて、異なるものであってもよい。平均動作時間に基づいて、更なる容量が必要とされる場合もある。
アンテナ142は、無線通信を送受信する能力を有する1つ又は複数のアンテナであってもよい。例えば、I/Oポート143は、ヘッドフォンジャックであってもよく、或いは、データポートであってもよい。例えば、アンテナ142は、Bluetooth(登録商標)又はWiFiアンテナであってもよく、高周波識別(RFID:Radio Frequency IDentification)アンテナ又はレーダー、モバイル通信アンテナ(例えば、第3世代(3G))、及び/又は近距離通信(NFC:Near Field Communication)ユニットであってもよい。I/Oポート143は、更なる周辺装置を接続するための1つ又は複数のポートであってもよい。
プロセッサは、アンテナ142を介して、スマートフォン、タブレット、コンピュータ、ラップトップ、その他のコンピュータに基づいた装置、又はクラウドの別のプロセッサに無線接続されてもよい。接続は、例えば、Bluetooth(登録商標)又はWiFiを使用して確立することができる。この接続は、接続された装置の機能の利用に加えて、様々な装置の間におけるデータの共有において、ユーザーを支援することができる。アンテナ142及び/又はI/Oポート143によれば、特定のアプリケーション用の更新又はマップ情報又はその他の関連する情報などのデータダウンロードのために、且つ、状態更新などのデータアップロードのために、イヤピース100は、別の装置又はネットワークに接続することができる。更には、アンテナ142及び/又はI/Oポート143によれば、分散計算又はリソース共有のために、イヤピース100は、その他のインテリジェントイヤピース100と通信することもできる。本明細書において記述されているイヤピース100は、一般に、スタンドアロン装置である。例えば、スマートフォン、タブレット、又はその他のモバイル装置は、共有データ及び処理のために、イヤピース100に無線で接続されてもよい。モバイル装置は、イヤピース100用の更なる又は代替表示ユニットとして機能してもよい。更には、イヤピース100は、モバイル装置又はその他のインテリジェントイヤピース100とやり取りするための特定のプロトコルを有してもよい。
メモリ112は、イヤピース100上において位置決めされてもよく、或いは、例えば、アンテナ142を介して、リモートでアクセスされてもよい。例えば、イヤピース100は、その内部にメモリを有してもよく、且つ、プロセッサ111は、更なる保存容量のためにリモートメモリ100にアクセスしてもよい。リモートメモリ100は、ユーザー専用のメモリを含んでもよく、且つ/又は、共有データベースなどの共有メモリを含みうる。
イヤピース100は、社会的やり取りを改善しうる。例えば、イヤピース100は、潜在的な友人を識別するべく、部屋内の顔面を認識してもよく、且つ、友人を識別するオーディオフィードバックをユーザーに提供してもよい。立体カメラ121a及び/又はカメラ121は、ユーザーに警告するべく、ムード又は表現などの人物に関する更なる詳細を決定可能であってもよく、或いは、彼らが物理的活動に従事しているかどうかを更に決定可能であってもよい。例えば、潜在的な友人が、握手又は「ハイタッチ」のために手を差し伸べる場合があり、従って、イヤピース100は、ユーザーに通知するべく、オーディオ又は触覚フィードバックを使用してもよい。マイクロフォン131は、識別すると共にユーザーに適切に通知するべく、その他の人物の音声を認識してもよく、或いは、将来の識別のために保存するべく新しい音声を認識してもよい。
又、イヤピース100は、更なる安全警告を提供するべく、危険な環境において使用されてもよい。イヤピース100は、アルツハイマー患者などの人物を支援するべく、メモリ装置であってもよい。イヤピース100は、品物の追跡を支援することにより、買物を支援することも可能であり、或いは、さもなければ、在庫のナビゲーションを支援することもできる。アンテナ142は、品物上のRFID又はNFCタグを識別する能力を有するRFID又はNFC読取器であってもよい。
図1Bは、イヤピース100の一実施形態を示している。イヤピース100は、ユーザーの耳においてフィットするように設計されていることから、小さなコンポーネントを利用する必要がある。例えば、大きな汎用プロセッサとの比較において、小さな通信プロセッサの使用及びクラウド処理に対するアクセスが好ましいであろう。これに加えて、コンポーネントの数が制限される場合もある。例えば、いくつかの実施形態においては、立体カメラのペア121a又は別のカメラ121のうちの1つのみが利用されている。
熱を生成するコンポーネントは、そのコンポーネントがユーザーの皮膚との直接的な接触状態とならない場所において位置決めする必要がある。この結果、不快さ及びユーザーに対する危害の可能性が防止されることになる。
図1Bに示されている実施形態においては、広角レンズを有するカメラなどの単一のカメラ121のみが利用されている。イヤピース100は、上部部分150と、下部部分152と、を含む湾曲した装置である。上部部分150に対して実質的に平行なラインは、下部部分152に対して実質的に平行なラインと交差し、且つ、角度A1を生成している。角度A1は、90度であってもよく、或いは、イヤピース100がユーザーの耳を取り囲むように、90度未満であってもよい。この結果、イヤピースは、相対的に容易に、ユーザーの耳において定位置に留まることができる。イヤピース100の前面は、カメラ121を含んでおり、且つ、形状が実質的に正方形である。ボタンなどの入力装置134が、イヤピースの上部部分150において位置決めされてもよい。
この実施形態においては、スピーカ132が、イヤピースの下部部分152近傍のイヤピースの上部部分150の一端において位置決めされている。このスピーカ132は、イヤピース100の外部に位置しており、且つ、スピーカ132からの音響がユーザーによって容易に聴取されるように、位置決めされている。このスピーカの配置の利点は、ユーザーが、自身の外耳道内に、なんらの物体をも有していないという点にある。イヤピースの下部部分152の底部には、電池141が存在している。この電池は、誘導充電用のレシーバであってもよく、或いは、電荷を受け取るためのミニUSBコネクタなどのコネクタであってもよい。
イヤピース100の内部には、回路基板154が存在してもよい。回路基板154は、イヤピース100の大部分を充填していてもよく、或いは、イヤピース100の一部分のみを充填していてもよい。回路基板154は、図1Aの説明において参照されているコンポーネントのうちのいくつかをその上部に構築していてもよく、或いは、それらに装着されていてもよい。
イヤピース100の上部部分150は、下部部分152に最も近接した端部に接近するのに伴って、少なくとも1つの側部においてテーパー化された三次元矩形であってもよい。又、上部部分150は、快適さ及び/又は設計上の利点のために曲がりを含んでもよい。下部部分152は、快適さ及び/又は設計上の利点のために湾曲していてもよい。このイヤピース100の端部において、イヤピース100の少なくとも1つの寸法は、イヤピース100が、ユーザーの頭部から非常に遠くまで突出しないように、低減されてもよい。又、イヤピースの下部部分は、イヤピース100が、ユーザーの頭部から非常に遠くまで突出しないように、その他の2つの寸法よりも小さな1つの寸法を有してもよい。
図1Cは、イヤピース100の別の実施形態を示している。この実施形態は、立体カメラ121を含む。立体カメラ121の2つのレンズは、互いに上下に位置決めされている。ユーザーとは反対側を向いているイヤピースの側部には、入力装置134が存在している。イヤピース100は、上部部分150と、下部部分152と、を含む部分的に湾曲した装置である。上部部分150に対して実質的に平行なラインは、下部部分152に対して実質的に平行なラインと交差し、且つ、角度A2を生成している。角度A2は、90度であってもよく、或いは、イヤピース100がユーザーの耳を取り囲むように、90度未満であってもよい。この結果、イヤピース100は、相対的に容易に、ユーザーの耳において定位置に留まることができる。イヤピース100の前面は、カメラ121を含んでおり、且つ、形状が実質的に矩形又は楕円である。入力は、触覚ストリップ、ボタン、ポテンショメータ、又はこれらに類似したものであってもよい。
イヤピース100は、ユーザーの耳とは反対側を向いた上部部分150及び下部部分152の側部上において、実質的にまっすぐなラインを含んでもよい。ユーザーの耳が位置決めされることになるイヤピース100の中心部分は、ユーザーの耳の周りにおいて、快適に、且つ、コーナーがユーザーの耳に接触することなしに、フィットするように、湾曲していてもよい。スピーカ132が、イヤピース100の中心部分において位置決めされてもよい。このスピーカ132は、例えば、ユーザーの耳の内部において位置決めされるバッド型のスピーカであってもよい。このスピーカ132の配置の利点は、ユーザー以外の人物がスピーカ132の出力を聴取する可能性が小さいという点にある。
イヤピース100の上部部分150は、下部部分152に最も近接した端部に接近するのに伴って、少なくとも1つの側部においてテーパー化された三次元矩形であってもよい。又、上部部分150は、快適さ及び設計上の利点のために、曲がりを含んでいてもよい。このイヤピース100の上部部分の端部において、イヤピース100の少なくとも1つの寸法は、イヤピース100がユーザーの頭部から非常に遠くまで突出しないように、低減されてもよい。イヤピース100の下部部分152は、実質的に三次元矩形であってもよい。又、イヤピースの下部部分152は、イヤピース100がユーザーの頭部から非常に遠くまで突出しないように、その他の2つの寸法よりも小さな1つの寸法を有してもよい。
図1Dは、ユーザーの耳において位置決めされたイヤピース100の一実施形態を示している。図1Dは、ユーザーの耳の上部において位置決めされたイヤピースの上部部分150と、ユーザーの耳の背後において位置決めされた下部部分152と、を示している。図1Dに示されている実施形態においては、立体カメラ121及び/又はカメラは、上部部分150の前端において位置決めされている。
図1Eは、ユーザーの耳において位置決めされたイヤピース100の別の実施形態を示している。この実施形態においては、スピーカ132は、ユーザーの外耳道の外部又は内部において直接的に位置決めされており、且つ、マイクロフォン131が、下部部分152の底部において位置決めされている。立体カメラ121及び/又はカメラ121は、下部部分152の最上部において、且つ、上部部分150の前面において、位置決めされている。この実施形態においては、上部部分150が、下部部分152よりも格段に大きい。これは、コンポーネントの大部分が、イヤピースの上部部分150内において位置決めされなければならないことを意味している。
図1Fは、ユーザーの耳において位置決めされたイヤピース100の別の実施形態を示している。この実施形態においては、立体カメラ121及び/又はカメラ121を収容するイヤピース100の部分が、その他の実施形態よりも大きい。この実施形態においては、立体カメラ121は、下部部分152の最上部において位置決めされており、且つ、カメラ121は、立体カメラ121の下方において位置決めされている。その他の実施形態においては、立体カメラ121及びカメラ121の位置は、交換されてもよい。この立体カメラ121及びカメラ121の組合せは、広角カメラ121のみならず、立体カメラ121に起因した良好な深さ知覚に起因して、相対的に大きな視野を許容するという利点を提供する。
図1Gは、ユーザーの耳において位置決めされたイヤピース100の別の実施形態を示している。この実施形態においては、立体カメラ121及び/又はカメラ121は、下部部分152の前端において、且つ、下部部分152の底部に向かって、位置決めされている。図1Eの実施形態と同様に、上部部分150が、下部部分152よりも格段に大きい。これは、コンポーネントの大部分がイヤピース100の上部部分150内において位置決めされなければならないことを意味している。
次に図2を参照すれば、物体検出パラメータ、物体認識パラメータ、或いは、物体検出パラメータと物体認識パラメータの両方を調節する方法200のフローチャートが概略的に示されている。いくつかの実施形態においては、方法200は、プロセッサ111によって実行された際に、物体検出パラメータ、物体認識パラメータ、或いは、物体検出パラメータ及び物体認識パラメータの両方を自動的に調節する機械可読命令におけるロジックとして実装されてもよい。方法200は、特定のシーケンスを示しているが、本発明の更なる実施形態は、任意の特定のシーケンスに限定されるものではないことに留意されたい。
図2を参照すれば、ブロック210において、イヤピース100は、環境を表す画像データを受信している。上述のように、いくつかの実施形態においては、イヤピース100は、カメラ121(例えば、立体カメラのペア121aを含む)から、ユーザーのFOVの、ビデオフレームであってもよい、ビデオ又は画像データを取得し、且つ、次いで、取得された環境の画像データを保存及び/又は処理のためにプロセッサ111及び/又はメモリ112に送信するように構成されている。いくつかの実施形態においては、イヤピース100は、無線ネットワークを通じて、アンテナ142などを介して、イヤピース100の外部の供給源から、画像データを受信してもよい。
ブロック210において受信された画像データは、限定を伴うことなしに、赤色−緑色−青色(「RGB」)データ、深さ画像データ、三次元(「3D」)ポイントデータ、及びこれらに類似したものなどの様々な形態のデータであってもよい。いくつかの実施形態においては、イヤピース100は、立体カメラのペア121a及び/又はカメラ121と統合された赤外線センサ又は深さセンサなどの赤外線センサ又はその他の深さセンサから、深さ画像データを受信してもよい。深さセンサ(例えば、赤外線センサ)を含むその他の実施形態においては、深さセンサは、立体カメラのペア121a及び/又はカメラ121とは別個のものであってもよい。
更に図2を参照すれば、ブロック220において、メモリ112内において保存されている機械可読命令は、プロセッサ111によって実行された際に、イヤピース100が、ブロック210において受信された画像データに基づいて、オンボード処理アレイ110により、候補物体を検出するようにしている。いくつかの実施形態においては、オンボード処理アレイ110は、高エントロピーを含む画像の領域などの、受信された画像データの候補領域を識別することにより、候補物体を検出してもよい。例えば、オンボード処理アレイ110は、スプレー瓶を含む取得されたターゲット画像データ内において高エントリピー領域を検出してもよい。いくつかの実施形態においては、オンボード処理アレイ110は、受信された画像データの候補領域を識別するべく、スライディングウィンドウアルゴリズムを利用してもよい。実施形態においては、オンボード処理アレイ110は、「SIFT」(Scale−Invariant Feature Transform)、「SURF」(Speeded Up Robust Feature)、「HOG」(Histogram of Oriented Gradients)、「GIST」(Generalized Search Tree)、「FREAK」(Fast Retina Keypoint)、及び「BRISK」(Binary Robust Invariant Scalable Keypoints)、並びに、これに類似したものなどの特徴記述子アルゴリズム又は画像記述子アルゴリズムを使用することにより、候補物体を検出してもよい。いくつかの実施形態においては、オンボード処理アレイ110は、用途、シーン形状、及び/又は以前の情報に基づいて、検出を興味深い1つ又は複数の空間的に配置された領域に合焦させてもよい。
オンボード処理アレイ110は、候補物体の検出を促進するべく、少なくとも1つの物体検出パラメータを含む。いくつかの実施形態においては、少なくとも1つの物体検出パラメータは、ウィンドウサイズ、ノイズフィルタリングパラメータ、推定光量、推定ノイズレベル、特徴記述子パラメータ、画像記述子パラメータ、又はこれらに類似したものである。
更に図2を参照すれば、ブロック230において、メモリ112内において保存されている機械可読命令は、プロセッサ111によって実行された際に、イヤピース100が、ブロック210において受信された画像データに基づいて、オンボード処理アレイ110を使用することにより、物体を認識するようにすることになる。いくつかの実施形態においては、物体認識モジュールは、オンボード処理アレイ110によって識別された候補領域に基づいて物体を認識してもよい。
いくつかの実施形態においては、オンボード処理アレイ110は、「SIFT」(Scale−Invariant Feature Transform)、「SURF」(Speeded Up Robust Feature)、「HOG」(Histogram of Oriented Gradients)、「GIST」(Generalized Search Tree)、「FREAK」(Fast Retina Keypoint)、及び「BRISK」(Binary Robust Invariant Scalable Keypoints)、並びに、これらに類似したものなどの、特徴記述子アルゴリズム又は画像記述子アルゴリズムを利用することにより、候補物体を認識してもよい。オンボード処理アレイ110が特徴記述子又は画像記述子アルゴリズムを利用しているいくつかの実施形態においては、オンボード処理アレイ110は、オンボード処理アレイ110によって識別された候補領域から特徴の組を抽出してもよい。次いで、オンボード処理アレイ110は、メモリ112内において保存されている物体認識データベースからの物体認識基準モデルの特徴の基準セットにアクセスしてもよく、且つ、次いで、抽出された特徴の組を物体認識基準モデルの特徴の基準セットと比較してもよい。
例えば、オンボード処理アレイ110は、瓶を含む取得されたターゲット画像データの高エントロピー領域から特徴の組を抽出してもよく、且つ、抽出された特徴の組を1つ又は複数の基準瓶モデル用の特徴の基準セットと比較してもよい。抽出された特徴の組が、特徴の基準セットとマッチングしている際に、オンボード処理アレイ110は、物体を認識してもよい(例えば、瓶を含む取得されたターゲット画像データの高エントロピー領域からの抽出された特徴の組が、基準瓶モデル用の特徴の基準セットとマッチングしている際に、瓶を認識する)。抽出された特徴の組が、特徴の基準セットとマッチングしていない際には、物体認識エラー(例えば、物体認識基準モデルが候補物体とマッチングしていないことを通知する物体認識エラー)が発生している。物体認識エラーが発生した(例えば、この例を参照すれば、基準瓶モデルがメモリ112内に存在していない)際には、ブロック225を参照して後述するように、物体検出モジュールの精度を改善するべく、少なくとも1つの物体検出パラメータが調節されてもよい。
いくつかの実施形態においては、物体認識モジュールは、認識された物体に対して識別子を割り当ててもよい。例えば、識別子は、物体カテゴリ識別子であってもよく(例えば、抽出された特徴の組が、「瓶カテゴリ」用の特徴の基準セットとマッチングしている際には、「瓶」であり、或いは、抽出された特徴の組が、「カップ」物体カテゴリ用の特徴の基準セットとマッチングしている際には、「カップ」である)、或いは、特定の物体インスタンス識別子であってもよい(例えば、抽出された特徴の組が、特定の「私の瓶」物体インスタンス用の特徴の基準セットとマッチングしている際には、「私の瓶」であり、或いは、抽出された特徴の組が、特定の「私のカップ」物体インスタンス用の特徴の基準セットとマッチングしている際には、「私のカップ」である)。
オンボード処理アレイ110は、物体の認識を促進するべく、少なくとも1つの物体認識パラメータを含む。いくつかの実施形態においては、少なくとも1つの物体認識パラメータは、ウィンドウサイズ、ノイズフィルタリングパラメータ、推定光量、推定ノイズレベル、特徴記述子パラメータ、画像記述子パラメータ、又はこれらに類似したものである。
更に図2を参照すれば、ブロック240において、メモリ112内に保存された機械可読命令は、プロセッサ111によって実行された際に、イヤピース100が、適切な触覚及びオーディオフィードバックをユーザーに提供するべく、制御信号を振動ユニット133及び/又はスピーカ132に送信するようにしている。例えば、認識された物体が、障害物として分類される場合には、振動ユニット133は、インテリジェントイヤピース100がその物体に接近するのに伴って、増大するレートにおいて振動してもよい。物体が危険として分類される場合には、スピーカ132は、警告音を再生してもよい。物体が目標物として分類される場合には、スピーカ132は、適切な通知を再生してもよく、或いは、沈黙状態において留まってもよい。上述のように、物体認識エラーが発生した際には、オンボード処理アレイ110の精度を改善するべく、少なくとも1つの物体検出パラメータが調節されてもよい。
更に図2を参照すれば、ブロック225において、メモリ112内において保存されている機械可読命令は、プロセッサ111によって実行された際に、イヤピース100が、物体認識エラーが発生した際に、検出チューナーモジュールにより、処理アレイ110の少なくとも1つの物体検出パラメータを調節するようにしている。検出チューナーモジュールは、プロセッサ111によって実行される命令及びメモリ112上において保存されているデータとして、実装されてもよい。非限定的な例として、いくつかの実施形態においては、検出チューナーモジュールは、物体認識エラーが発生した際に、オンボード処理アレイ110によって利用されるウィンドウサイズを調節してもよい。いくつかの実施形態においては、検出チューナーモジュールは、検出チューナーモデルを含み、且つ、検出チューナーモデルは、物体認識エラーに基づいて少なくとも1つの物体検出パラメータを調節している。いくつかの実施形態においては、検出チューナーモデルは、物体認識エラーを調節された少なくとも1つの物体検出パラメータに対してマッピングしている。いくつかの実施形態においては、検出チューナーモデルは、「SVM」(サポートベクターマシン、Support Vector Machine)モデルなどの学習型補正モデルである。
更に図2を参照すれば、ブロック235において、メモリ112内に保存されている機械可読命令は、プロセッサ111によって実行された際に、イヤピース100が、物体認識エラーが発生した際に、認識チューナーモジュールにより、オンボード処理アレイ110の少なくとも1つの物体認識パラメータを調節するようにしている。認識チューナーモジュールは、プロセッサ111によって実行される命令及びメモリ112上において保存されているデータとして実装されてもよい。非限定的な例として、いくつかの実施形態においては、認識チューナーモジュールは、物体認識エラーが発生した際に、オンボード処理アレイ110によって利用されるウィンドウサイズを調節してもよい。いくつかの実施形態においては、認識チューナーモジュールは、認識チューナーモデルを含み、且つ、認識チューナーモデルは、物体認識エラーに基づいて少なくとも1つの物体認識パラメータを調節している。いくつかの実施形態においては、認識チューナーモデルは、物体認識エラーを調節された少なくとも1つの物体認識パラメータに対してマッピングしている。いくつかの実施形態においては、認識チューナーモデルは、「SVM」(サポートベクターマシン、Support Vector Machine)モデルなどの学習型補正モデルである。
図3A〜図3Cは、本発明の一実施形態による物体認識の方法の一例を提示している。図3Aにおいて、例えば、第1視覚データ306は、プレーン324(例えば、テーブル)上において位置決めされたターゲット物体310の2D画像に対応している。第2視覚データ308は、プレーン324上において位置決めされたターゲット物体310の3D深さデータに対応している。カテゴリ物体認識が、プロセッサ111及び第1視覚データ306を使用することにより、分析のために実行される。第1視覚データ306は、データベース内において保存されている複数の物体モデルに基づいて分析され、データベースは、メモリ112内において保存されていてもよい。例えば、複数の物体モデルは、プリミティブ形状を定義する対応したパラメータと関連付けられたシリンダ、ボックス、及びこれらに類似したものなどのプリミティブな形状を含んでもよい。例えば、プロセッサ111は、第1視覚データ306のいずれかの部分が、形状、構造において、或いは、その他の姿勢情報の観点において、データベース内において保存されている複数の物体モデルに対応しているかどうかを決定してもよい。複数の物体モデルのそれぞれは、少なくとも1つのパラメータを有してもよい。例えば、物体モデルは、高さ及び半径のパラメータを有するシリンダであってもよい。例えば、物体モデルは、幅、高さ、及び長さの3つのパラメータを有するボックスであってもよい。
プロセッサ111が、複数の物体モデルのうちの1つの物体モデルについてサーチした際には、複数の物体モデルが、形状又は構造において、第1視覚データ306の一部分に類似している場合がある。例えば、瓶(例えば、ターゲット物体310)の本体は、形状又は構造において、シリンダ又はボックスに類似しうる。プロセッサ111は、複数の物体のうちのいずれが、第1視覚データ306の分析部分について、最も近接したフィットを有しているのかを決定するように構成されている。例えば、プロセッサ111は、複数の物体モデルのうちの1つの特定の物体モデルと第1視覚データ306の分析部分の間における類似性の程度に関するスコア(例えば、認識精度百分率)を割り当ててもよい。例えば、プロセッサ111は、最大の関連スコア(例えば、認識精度百分率)と関連付けられた複数の物体モデルのうちの1つの物体モデルを第1視覚データ306の分析部分に対応した物体モデルとして選択してもよい。従って、一実施形態においては、プロセッサ111は、選択された物体モデルのパラメータを決定している。
後述するように、複数の物体モデルは、固定されたものではない。保存されている物体モデル及びその対応するパラメータは、補われてもよく、或いは、変更されてもよい。これに加えて、又はこの代わりに、新しいカテゴリ物体モデルが、学習されてもよく、且つ、認識されたターゲット物体に基づいてデータベース内において保存されてもよい。尚、これに関連する説明は、方法が、初めてターゲット物体310を検出しており、且つ、ターゲット物体310に類似した形状、構造、又は姿勢情報を有する物体が、全体として、まだ遭遇及び保存されていないものと仮定している。
図3Bを参照すれば、方法のカテゴリ物体認識の一例が示されている。例えば、プロセッサ111は、第1視覚データ306によって表されている2D画像の上左隅から始まって、その後、方向314において右に運動することにより、左から右へ、スライディングエンクロージャ312に隣接した、その周囲の、又はその内部の第1視覚データ306を検査してもよい。プロセッサ111は、形状又は構造において、データベース内において保存されている複数の物体モデルのうちの1つの物体モデルに類似している第1視覚データ305内の物体を認識してもよい。その他の実施形態においては、第1視覚データ306のいずれの部分が、データベース内に保存されている物体モデルとマッチングしているのかを決定するべく、スライディングエンクロージャ312の代わりに、視覚データセット304、第1視覚データ306、第2視覚データ308、又はこれらの組合せが、全体として、検査されてもよい。
図3Cは、カテゴリ物体認識の結果を示している。プロセッサ111は、ターゲット物体310が、物体モデルのうちの1つに類似していることを認識しうる。第1エンクロージャ350は、本発明の範囲を限定することなしに、境界画定ボックス、境界画定円、又は任意のその他の形状であってもよい。第1エンクロージャ350は、第1中心点316を有する。第1エンクロージャ350が境界画定ボックスである際には、第1中心点316は、境界画定ボックスのそれぞれの側部からほぼ等しい距離を有する地点である。第1エンクロージャ350が境界画定円である際には、第1中心点316は、境界画定円の中心であってもよい。一実施形態においては、プロセッサ111は、第1中心点316が、ターゲット物体310に対応した視覚データセット304の一部分上において位置決めされるか、これに対応しているか、又はこの内部に含まれるように、第1中心点316を決定してもよい。ターゲット物体310は、例えば、第1エンクロージャ350内において、その周辺において、又はそれに隣接した状態において、位置決めされてもよい。プロセッサ111は、ターゲット物体310を認識するべく、第1ターゲットデータ(これは、第1視覚データ306の一部分である)が、ターゲット物体310に対応していることを決定する。
上述の方法は、瓶を例示用の物体として使用しているが、方法は、階段、空いた座席、又は建物などの目標物及びその他の特徴を認識するべく、使用されてもよい。例えば、物体認識は、人物の存在を伴っていない空いた座席を決定するべく、利用されてもよい。座席は、空いた椅子を構成しているカテゴリ物体の集合体として認識することができる。例えば、座席は、(座席を構成しているプリミティブな形状の集合体として検出される)表面上において位置決めされた背もたれを有するまっすぐな垂直方向ラインによって認識される4本の脚の上部において位置決めされた実質的に水平方向において位置決めされた表面として認識することができる。座席のコンポーネント及びコンポーネントの相対的な位置決めをデータベース内の保存されている物体と比較することにより、座席を認識することができる。
例えば、人間は、その頭部の上部における円形の形状と、胴体を表すまっすぐなラインと、脚を表す2つのその他のセグメントと、によって表すことができよう。カメラ121(例えば、立体カメラのペア121a)は、エッジ特徴、外形、及び深さ情報を決定するべく、利用されてもよい。空いた座席は、椅子の水平方向表面の上部において位置決めされた人間を認識することなしに認識された椅子を有するものとして、認識することができる。
イヤピース100は、ユーザーを空いた座席までナビゲートすることができる。例えば、インテリジェント移動支援イヤピース100は、ユーザーを空いた座席まで誘導してもよく、或いは、離れるようにナビゲートし、且つ、その後に、同一の座席に戻るために、ユーザーの特定の座席を記憶してもよい。
図4は、スライス記述子に基づいて位置又は向きを推定する方法のフローチャート400を示している。オンボード処理アレイ110は、カメラ121から、FOVを表す画像データを受信している。いくつかの実施形態においては、カメラ121は、物理環境内において動作することが可能であり、且つ、広角画像データを取得した後に、取得された物理環境の光学画像データを保存及び/又は処理のためにオンボード処理アレイ110に送信するように、構成されている。いくつかの実施形態においては、オンボード処理アレイ110は、アンテナ142などを介して、インテリジェント移動支援イヤピース100の外部の供給源から、全方向画像データを受信してもよい。取得された全方向画像データは、デジタルビデオ及び/又は1つ又は複数のデジタル写真の形態であってもよい。
オンボード処理アレイ110は、全方向画像データを複数の画像スライスにセグメント化している。例示用の一実施形態においては、受信された全方向画像は、8つのスライス(S1、S2、S3、S4、S5、S6、S7、及びS8)にセグメント化されている。いくつかの実施形態においては、全方向画像は、任意の数のスライスにセグメント化されてもよい。スライスの数は、8〜36であってもよい。但し、スライスの数は、8未満又は36超であってもよいことを理解されたい。
複数のスライスのそれぞれは、全方向画像データのパノラマ視野の少なくとも一部分を表すか、或いは、全方向画像データの部分的パノラマ視野を表している。いくつかの実施形態においては、複数の画像スライスは、中間画像スライス(例えば、スライスS2)の視野が、先行画像スライス(例えば、スライスS1)の先行視野に隣接するか又はこれとオーバーラップし、且つ、中間画像スライス(例えば、スライスS2)の中間視野が、後続画像スライス(例えば、スライスS3)の後続視野に隣接するか又はこれとオーバーラップするように、中間画像スライス(例えば、スライスS2)、先行画像スライス(例えば、スライスS1)、及び後続画像スライス(例えば、S3)を含む。
いくつかの実施形態においては、複数の画像スライスのうちのそれぞれの画像スライスは、全方向画像データのパノラマ視野の等しい部分を表しており、且つ、複数の画像スライスの集合的な視野は、全方向画像データのパノラマ視野と同一である。例えば、8つのスライスのそれぞれは、全方向画像データのフルパノラマ視野の8分の1をキャプチャしており、且つ、8つの画像スライスの集合的な視野は、全方向画像データのパノラマ視野と同一である。いくつかの実施形態においては、複数の視野の第1スライスの視野は、複数のスライスの第2スライスの視野よりも大きくてもよい。いくつかの実施形態においては、複数のスライスの集合的視野は、フルパノラマ視野よりも小さくてもよい。いくつかの実施形態においては、隣接するスライスの視野は、オーバーラップしていてもよい。
オンボード処理アレイ110は、複数の画像スライスのうちのそれぞれの画像スライス用のスライス記述子を算出している。本明細書において使用されている「スライス記述子」は、全方向画像データの特定のスライスの画像データの視覚的特徴(例えば、色、テクスチャ、形状、動きなど)の記述を意味している。例えば、スライス記述子d1が、スライスS1について算出され、スライス記述子d2が、スライスS2について算出され、スライス記述子d3が、スライスS3について算出され、スライス記述子d4が、スライスS4について算出され、スライス記述子d5が、スライスS5について算出され、スライス記述子d6が、スライスS6について算出され、スライス記述子d7が、スライスS7について算出され、且つ、スライス記述子d8が、スライスS8について算出される。
いくつかの実施形態においては、スライス記述子は、「SIFT」(Scale−Invariant Feature Transform)、「SURF」(Speeded Up Robust Feature)、「HOG」(Histogram of Oriented Gradients)、「GIST」(Generalized Search Tree)、「FREAK」(Fast Retina Keypoint)、及び「BRISK」(Binary Robust Invariant Scalable Keypoints)、並びに、これに類似したものなどの、アルゴリズムを使用することにより、算出されてもよい。但し、スライス記述を算出するべく、その他のアルゴリズムが使用されてもよいことを理解されたい。いくつかの実施形態においては、スライス記述子は、10進ベクトルを含んでもよい。いくつかの実施形態においては、スライス記述子は、2進ベクトルを含んでもよい。その他の実施形態においては、スライス記述子は、2進ベクトル又は10進ベクトル以外のフォーマットにおいて表されてもよい。又、スライス記述子を算出するべく、立体アルゴリズムの適用の結果として得られる深さ情報が使用されてもよい。
オンボード処理アレイ110は、受信された全方向画像データのスライス記述子の現時点のシーケンスを生成している。スライス記述子の現時点のシーケンスは、複数の画像スライスのうちのそれぞれの画像スライスについて算出されたスライス記述子を含む。例えば、ノードn1が、スライスS1に対応したスライス記述子d1を含み、ノードn2が、スライスS2に対応したスライス記述子d2を含み、ノードn3が、スライスS3に対応したスライス記述子d3を含み、ノードn8が、スライスS8に対応したスライス記述子d8を含むなどである。
いくつかの実施形態においては、スライス記述子の現時点のシーケンスは、中間ノード(例えば、ノードn2)が中間画像スライス(例えば、スライスS2)に対応し、先行ノード(例えば、ノードn1)が先行画像スライス(例えば、スライスS1)に対応し、且つ、後続ノード(例えば、ノード3)が後続画像スライス(例えば、スライスS3)に対応するように、構造化されてもよい。先行ノード(例えば、ノードn1)は、中間ノード(例えば、ノードn2)にリンクされており、且つ、中間ノード(例えば、ノードn2)は、後続ノード(例えば、ノードn3)にリンクされている。
いくつかの実施形態においては、スライス記述子の現時点のシーケンスは、メモリ112内において保存されている。いくつかの実施形態においては、メモリ112は、スライス記述子の基準シーケンスのデータベースを含んでいてもよく、これらのそれぞれは、オンボード処理アレイ110が遭遇した予め処理された全方向画像に対応している。
いくつかの実施形態においては、スライス記述子の現時点のシーケンスは、スライス記述子の現時点のリンクリストとして、メモリ112内において保存されてもよい。スライス記述子の現時点のシーケンスが、スライス記述子の現時点のリンクリストとしてメモリ内において保存されている実施形態においては、リンクリストのそれぞれのノードは、リンクリストの後続のノードにリンクされていてもよい(例えば、ノードn1がノードn2にリンクされており、ノードn2がノードn3にリンクされている、などである)。いくつかの実施形態においては、スライス記述子の現時点のシーケンスは、第1ノードが第2ノードにリンクされ(例えば、ノードn1がノードn2にリンクされ)、第2ノードが第3ノードにリンクされ(例えば、ノードn2がノードn3にリンクされ)、・・・、且つ、最後のノードが第1ノードにリンクされて戻る(例えば、ノードn8がノードn1にリンクされる)ように、スライス記述子の循環型のリンクリストとして、メモリ112内において保存されてもよい。いくつかの実施形態においては、スライス記述子の現時点のシーケンスは、スライス記述子の現時点の二重リンクリストとして、メモリ112内において保存されてもよい。その他の実施形態おいては、スライス記述子の現時点のシーケンスは、アレイ及びこれに類似したものなどのリンクリスト以外のデータ構造を使用することより、メモリ112内において保存されてもよいことを理解されたい。
受信された全方向画像は、全方向画像のセグメント化の前にアンワーピングされていなかったが、その他の実施形態においては、全方向画像は、セグメント化の前にアンワーピングされてもよい。
図4を再度参照すれば、ブロック402において、メモリ112内に保存されている機械可読命令は、プロセッサ111によって実行された際に、オンボード処理アレイ110が、メモリ112内のスライス記述子の基準シーケンスにアクセスするようにしてもよい。例えば、図4に示されている実施形態においては、スライス記述子の基準シーケンスは、基準ノードr1に対応した基準スライス記述子d3、基準ノードr2に対応した基準スライス記述子d4、基準ノードr3に対応した基準スライス記述子d5、基準ノードr4に対応した基準スライス記述子d6、基準ノードr5に対応した基準スライス記述子d7、基準ノードr6に対応した基準スライス記述子d8、基準ノードr7に対応した基準スライス記述子d1、及び基準ノードr8に対応した基準スライス記述子d2を含む。
更に図4を参照すれば、ブロック404において、メモリ112内において保存されている機械可読命令は、プロセッサ111によって実行された際に、オンボード処理アレイ110が、スライス記述子の現時点のシーケンスが、基準シーケンスとマッチングしているかどうかを決定するようにしてもよい。いくつかの実施形態においては、スライス記述子の現時点のシーケンスが、スライス記述子の基準シーケンスとマッチングしているかどうかは、スライス記述子の現時点の順序を決定し、スライス記述子の基準順序を決定し、且つ、スライス記述子の現時点の順序をスライス記述の基準順序と比較することにより、決定されている。例えば、図4に示されている実施形態におけるスライス記述子の現時点の順序は、{dl、d2、d3、d4、d5、d6、d7、d8}として決定されてもよい。図4に示されている実施形態におけるスライス記述子の基準順序は、{d3、d4、d5、d6、d7、d8、dl、d2}として決定されてもよい。スライス記述子の現時点の順序{dl、d2、d3、d4、d5、d6、d7、d8}をスライス記述子の基準順序{d3、d4、d5、d6、d7、d8、dl、d2}と比較することにより、スライス記述子の現時点の順序が、スライス記述子の基準順序とマッチングしているかどうかを決定してもよい。
いくつかの実施形態においては、スライス記述子の現時点のシーケンスは、スライス記述子の現時点の循環型リンクリストであり、且つ、スライス記述子の基準シーケンスは、スライス記述子の基準循環型リンクリストである。このような実施形態においては、スライス記述子の現時点の順序は、現時点の開始ノードにおいて始まることにより、スライス記述子の現時点の循環型リンクリストを辿ることにより、決定されてもよい(例えば、スライス記述子の現時点の順序は、スライス記述子の現時点の循環型リンクリストのノードn1から始まることにより、現時点の循環型リンクリストを辿ることにより、{dl、d2、d3、d4、d5、d6、d7、d8}であるものと決定されてもよい)。
スライス記述子の基準順序は、基準開始ノードにおいて始まることにより、スライス記述子の基準循環型リンクリストを辿ることにより、決定されてもよい(例えば、スライス記述の基準順序は、スライス記述子の基準循環型リンクリストのノードr7から始まることにより、基準循環型リンクリストを辿ることにより、{dl、d2、d3、d4、d5、d6、d7、d8}であるものと決定されてもよい)。スライス記述子の現時点のシーケンスは、スライス記述子の現時点の順序が、スライス記述子の基準順序と同一である際に、スライス記述子の基準シーケンスとマッチングしている。図4に示されている実施形態においては、スライス記述子の現時点のシーケンスは、スライス記述子の基準シーケンスとマッチングしているものと決定されてもよく、その理由は、ノードr7から始まってスライス記述子の基準循環型リンクリストを辿った際のスライス記述子の基準順序が、ノードn1から始まってスライス記述子の現時点の循環型リンクリストを辿った際のスライス記述子の現時点の順序と同一であるからである。
更に図4を参照すれば、ブロック406において、メモリ112内において保存されている機械可読命令は、プロセッサ111によって実行された際に、オンボード処理アレイ110が、スライス記述子の現時点のシーケンス及びスライス記述子の基準シーケンスに基づいて向き又は位置を推定するようにしてもよい。例えば、スライス記述子の現時点のシーケンスとスライス記述子の基準シーケンスの間の差を使用することにより、スライス記述子の基準シーケンスと関連する既知の位置又は向きを基準とした現時点の位置又は向きを決定してもよい。いくつかの実施形態においては、拡張Kalmanフィルタ、粒子フィルタ、及びこれらに類似したものなどの標準的なフィルタリング技法を使用することにより、スライス記述の現時点のシーケンスとスライス記述子の基準シーケンスの間の比較に基づいて現時点の位置又は向きを決定してもよい。
図5は、イヤピース100を使用した人間のやり取りのための例示用の方法を示している。方法500は、第1検出データ及び/又は第2検出データの検出及び分析又は処理の一例に過ぎない。方法500のブロックは、同時に、或いは、順序の様々な組合せにおいて、実行されてもよい。ブロック502及び504において、カメラ121及び/又はセンサ125を使用することにより、第1データ及び第2データが検出されている。ユーザーの周囲環境及びその内部の事物に関するデータが収集されうる程度は、利用可能なカメラ121及び/又はセンサ125のみならず、プロセッサ111及び/又は外部装置並びに/或いはクラウドの処理制限に依存しうる。従って、方法500は、そのような制限を監視することにより、相応して、リアルタイムで調節されてもよい。
プロセッサ111は、第1検出データ及び/又は第2検出データの収集を改善するべく、カメラ121及び/又はセンサ125と協調して動作してもよい。又、プロセッサ111は、ユーザー又は人物が情報の伝達を要求又は試行しているかどうかを考慮してもよい。例えば、ユーザーが、イヤピース100と通信するべく、発話を伴うことなしに表情をつくっている場合には、プロセッサ111は、検出されたデータを補うか又は明確化するべく、関連質問又は問合せを提示するように、発話者132を誘導することができる。例えば、方法500は、出力発話が生成されるように誘導することにより、表示を明確化するように、ユーザーに対して求めてもよい。次いで、ユーザーは、伝達された情報を明確化する音声コマンドにおいて応答してもよい。その他の実施形態においては、この表情認識セットアップは、ユーザー以外の人物によって実行されてもよい。
ブロック506において、方法500は、動的な物体又は生物を検出している。一実施形態においては、方法500は、検出された動的領域にカメラ121及び/又はセンサ125を合焦するべく、カメラによって観察されているシーン又はその他の動的領域内の運動、変化を検出してもよい。プロセッサ111は、後述するように、検出された動的領域を分類する。
例えば、人物、生物、及び/又は動的物体の検出は、カメラ121及び/又はセンサ125によって検出されたデータ内の変化を探すことにより、実行されてもよい。カメラ121及び/又はセンサ125から受信されたデータの変化は、まず、GPS124、IMU123、或いは、2つのカメラフレームの間の隅又は斑点特徴を追跡することによってカメラの動きの推定を許容する視覚的な走行距離計測法などの技法を使用してイヤピース100の動きを推定することにより、識別されてもよい。従って、イヤピース100は、イヤピース100の動きに対応していないユーザーの周囲環境内の動きを識別しうる。
第1検出データ及び第2検出データ内のシーンの変化する部分を識別した際に、イヤピース100は、人物及び顔面を認識するための「固有顔」及び「骨格認識」などの技法を使用することにより、変化する要素を認識するように試みる。これに加えて、様々な物体/人物クラス用の異なるモデルを学習するべく、サポートベクターマシン、デフォーマブルパートモデル(Deformable Parts Model)、及び動的プログラミングのような標準的な技法を使用することができる。これらの認識タスクにおいて使用されうる特徴のタイプは、SIFT(Scale−Invariant Feature Transform)、SURF(Speeded Up Robust Features)、Gistモデリング、Sobel、Fast、並びに、方法500が人物、物体、生物、又はユーザーの近傍内の場所/環境を識別できるようにするその他の特徴及び/又は技法のような特徴の任意の組合せであってもよい。
従って、動的領域を検出することにより、ブロック512において、ユーザーの近傍の環境に進入した新しい人物が検出されてもよく、且つ、相応して、ブロック506において、動的な物体又は生物をプロセッサ111によって検出及び分類することができる。同時に、或いは、その後に、イヤピース100は、ブロック516において、残っている静的領域を抽出している。一実施形態においては、ブロック516において、更なる第2検出データが、ブロック518における静的な物体から、且つ、ブロック520におけるユーザーの近傍の環境又は場所から、収集されている。
ブロック508において示されているように、マイクロフォン131は、発話、会話、又はやり取りを検出するべく、発話認識モジュールと通信してもよい。イヤピース100は、ブロック510において、有用なデータを含む会話要素を更に抽出してもよい。ブロック522においては、プロセッサ111は、ブロック510からの抽出された会話又は発話要素を検出された人物、物体、生物、場所/環境、又はこれらの組合せに対してマッチングさせている。
ブロック528において、方法500は、コンテキストに基づいて、且つ、人物、物体、生物、場所/環境、又はこれらの組合せに関するブロック522からのマッチングされた会話イベントに基づいて、以前の関連情報又は学習されたデータを調査している。ブロック526において、プロセッサ111は、後で使用するべく、以前の関連情報に基づいて、関連情報をメモリ112内において保存している。例えば、プロセッサ111が、環境に進入する人物の顔面特徴を検出し、且つ、更には、その新しい人物が発話していることを検出した場合に、それらの発話要素を新しい人物とマッチングさせることができる。
人物に関係付けられた発話データは、後で使用するべく、メモリ112内において保存されてもよい。又、音響又は音声の発生源を特定するべく、3Dマイクロフォン又はマイクロフォンアレイが利用されてもよい。イヤピース100は、第1検出データを補うべく、人物に関係するデータを追跡及び記録することができる。方法500は、ブロック350において、ブロック522の対応した人物、場所/環境、生物、又はこれらの組合せに対するマッチングされた会話イベントに基づいて、且つ、更には、ブロック524からの推定されたコンテキスト及びやり取りキーポイントに基づいて、能動的に且つ自動的に、第2出力データを出力してもよい。
データの処理(例えば、ブロック506〜350におけるもの)は、カメラ121及び/又はセンサ125によって収集されたデータをリアルタイムで連続的に分析することにより、実行することができる。メモリ112の情報保存容量に対する制約、プロセッサ111のみを使用した処理と関連するエネルギー容量の問題、及びプロセッサ111の処理パワーの制限に起因して、外部装置及び/又はクラウドが利用されてもよい。但し、一実施形態においては、最小レベルの能力を保証するべくオンボード処理が好ましい(例えば、クラウド通信における接続能力が低い)イベントに備えるために、オンボード及びオフボード処理能力の両方が利用されている。例えば、装置が、方法500のブロックを実行するために十分な容量を有していない場合には、外部装置及び/又はクラウドが、処理負荷の共有における支援を提供することができる。
ブロック530において、プロセッサ111は、スピーカ132を使用することにより、プロセッサ111によって受信された入力/要求に基づいて、或いは、メモリ112内に保存されている既定の又はスケジューリングされたイベントに基づいて、第1出力データを受動的に出力してもよい。
更には、プロセッサ111は、スピーカ132を使用することにより、第1検出データ及び/又は第2検出データ、予め検出され、処理され、且つ、保存された第1及び/又は第2データ、メモリ112内において保存されている予めプログラムされたアルゴリズム、或いは、これらの組合せに基づいて、能動的に且つ自動的に、第2出力データを出力してもよい。
上述のように、インターフェイスアレイ130は、検出されたデータに基づいて、ユーザー又は別の人物と通信する。インターフェイスアレイ130は、プロセッサ111との通信状態にあるディスプレイ135又は投射システムを介して通信してもよい。ディスプレイ135又は投射システムは、イヤピース100に無線で接続されたセルラー電話機などのリモート装置上において位置決めされてもよい。又、インターフェイスアレイは、スピーカ132を介して通信してもよい。
出力画像/ビデオは、LCD、有機発光ディスプレイ、プラズマディスプレイ、発光ダイオード、或いは、出力画像/ビデオを表示するための任意のその他の表示メカニズムを使用することにより、表示されてもよい。
次に、本発明の例示用の方法を示すフローチャートについて開示することとする。イヤピース100は、異なるモードにおいて動作するように構成されてもよい。モードは、例えば、入力装置134を使用することにより、選択されてもよい。モードに応じて、イヤピース100は、本明細書において記述されている機能のすべてを実行してもよく、機能のうちのいくつかを実行してもよく、或いは、いずれの機能をも実行しなくてもよい。様々な機能が、フローチャートを使用することにより、示されている。フローチャートによって表されている機能は、ブロックのすべてを常に必要としているわけではなく、いくつかの更なるブロックが利用されてもよく、且つ、ブロックは、必ずしも任意の所与の順序において実行されるわけでもない。
後述する方法のいずれもが、イヤピース100が、保存されているデータと検出されたデータの間の逸脱の決定に基づいて動作を実行するようにしてもよい。例えば、図7のプロセスは、ユーザーに対する危険を決定し、且つ、これに応答するための方法に関するものである。一例として、ユーザーが転倒した場合には、カメラ121は、ユーザーが上方を向いているというデータを検出しうる。予め検出及び保存されているデータは、ユーザーが、床に対して平行な方向において予め向いていたことを通知しうる。次いで、イヤピース100は、保存されているデータ(前方を向いている)と検出されたデータ(上方を向いている)の間のデータの逸脱に基づいて、動作を実行してもよい。
図6Aは、検出されたデータに基づいて、イヤピース100をナビゲートし、且つ/又は、有用な情報をイヤピース100のユーザーに提供する例示用の方法を示している。
ブロック601は、イヤピース100を使用したデータ収集の様々な方法を示している。
ブロック602において、イヤピース100は、カメラ121を使用して画像データを検出してもよい。画像データは、周囲環境、その内部の物体又は生物、ユーザー、及び/又はその他の周囲要素に対応したものであってもよい。例えば、画像データは、部屋の形状又は部屋の内部の物体と関連したものであってもよい。別の例として、イヤピース100は、顔面認識データを含む画像データを検出してもよい。
ブロック603において、IMU123は、プラットフォームに結合されており、且つ、インテリジェントナビゲーション装置の位置決め、速度、加速度に対応した慣性計測データを検出するように構成されている。GPSユニット(GPS)124は、インテリジェントナビゲーション装置の場所に対応した場所を検出するように構成されている。
ブロック604において、マイクロフォン131を使用することにより、発話データ又はオーディオデータが検出されている。この情報は、ユーザー、環境、その他の人々、動作、イベント、並びに、社会的やり取り及び周囲環境に関する様々なその他の項目と関連する情報であってもよい。例えば、特定の部屋に位置している際に、イヤピース100は、インターフェイスアレイ130を介して、ユーザー又は別の人物から、部屋のタイプなどの情報(即ち、「これは、リビングルームである」)を受信してもよい。別の例として、ユーザーは、特定の人物を名指しするか、又はその人物に関する情報を追加することを所望しうる。この例においては、イヤピース100は、インターフェイスアレイ130を介して、ユーザーから、人物の名前などの情報(即ち、「彼は、ジョニーである」)を受信してもよい。或いは、この代わりに、プロセッサ111は、イヤピース100用のユーザー入力を伴うことなしに、その他の人物との間における会話を解析することにより、この情報を能動的に推定してもよい。
別の例を参照すれば、ユーザーは、自身が昼食のための外出などの特定の動作を実行しているという入力をイヤピース100に提供してもよい。別の例として、ユーザーは、危険が現時点の位置において存在していること及びその危険の説明という入力を装置に提供してもよい。或いは、この代わりに、プロセッサ111は、図5との関係において説明したように、且つ、更に後述するように、会話の解析や検出された画像データの分析などにより、この情報を能動的に推定してもよい。
データは、要求を更に含んでもよい。この要求は、例えば、人物を識別するための、部屋を識別するための、物体を識別するための、任意のその他の場所を識別するための、住所又は建物内の特定の部屋などの特定の場所までナビゲートするための、ユーザーの現時点の動作についてユーザーにリマインドするための、物体の色の、服装がマッチングしているかどうかの、別の人物が指し示している又は注視している場所などの、要求であってもよい。ブロック614(望ましいイベント又は動作の決定)又はブロック616(目的地の決定)の出力は、要求された情報に基づいたものであってもよい。発話データが、ブロック604との関係において記述されているが、情報は、インターフェイスアレイ130及び/又はセンサアレイ120のコンポーネントの任意の組合せを使用することにより、収集することができる。
ブロック605において、プロセッサ111は、インターフェイスアレイ130を介して、且つ/又は、リモート装置との接続を介して、ユーザー以外の人物との通信を確立してもよい。リモート接続は、更に後述するように、無線通信アンテナを介して確立されてもよい。
プロセッサ111は、ユーザー以外の人物との通信が、望ましいか、又は要求されているかを決定してもよい。例えば、検出されたデータが、ユーザーが別の人物の意見を必要としていることを示唆した際に、別の人物の装置との間において、通信チャネルが確立されてもよい。例えば、ユーザーの服装に関する検出された発話、装用するべきものについて決断できない又は迷っているユーザーに関する顔面認識データ、及び/又は、鏡の前のユーザーの知覚された動作が、ユーザーが別の人物からのファッションの助言を必要としていることを通知している際には、ユーザーとユーザーの友人の間のビデオテレビ会議が確立されてもよい。以前の会話/やり取りから、プロセッサ111は、ユーザーの友人の連絡先情報を予め保存していてもよい。プロセッサ111は、ユーザーの友人のタイプを分類してもよく、且つ、この通信が、ユーザーが快適である友人との間のものである必要があることを認識してもよい。プロセッサ111は、データをユーザーに出力することにより、ビデオ会議又はテレビ会議が友人との間において確立されることになることをユーザーに知らしめてもよい。イヤピース100は、ユーザーの友人に対するビデオ接続を提供してもよく、或いは、服装の写真をユーザーの友人に送信してもよい。この例においては、友人は、服装がマッチングしているかどうかに関する応答を提供してもよい。又、友人は、マッチングした代替服装を見出す際にユーザーを支援してもよい。
ブロック606において、ユーザー、環境、及び/又は物体/生物から、インターフェイスアレイ130を介して、データが受信されている。例えば、データは、タッチスクリーンディスプレイ135から、入力装置134のキーボード又はボタンから、又は入力データを受信するべくユーザー又は別の人物とインターフェイスする能力を有するその他の装置から、検出されてもよい。
ブロック607において、センサアレイ120のその他のコンポーネントを使用することにより、データが検出されてもよい。例えば、データは、上述のように、その他のセンサ125から検出されてもよい。この情報は、ユーザー、環境、環境内の物体、及び/又はその他の生物/人々と関連する情報であってもよい。
又、ブロック608において、イヤピース100は、アンテナ142又はI/Oポートを使用することにより、別の装置から、建物のマップに関するデータ又は任意のその他のデータなどのデータを受信してもよい。データは、イヤピース、ユーザーのその他の装置(例えば、スマートフォン又はタブレットなどのユーザーの携帯型電子装置)、リモートサーバー、或いは、接続されると共にアクセスの許可を有するその他の者の装置(例えば、ユーザーの友人の装置)の間において共有されてもよい。
ブロック608において、データが、アンテナ142及び/又はI/Oポート143を介して取得されている。このデータは、ユーザーが動作の特定の組を実行しているはずであることをイヤピース100に通知する情報であってもよい。例えば、ユーザーは、病院にいてもよい。受信された情報は、リアルタイムで処理されてもよく、或いは、後で使用するべく、メモリ112内において保存されてもよい。情報は、ユーザーの食事時間に関係したものであってもよい。この場合には、イヤピース100は、ユーザーが、毎日、午後12時に、カフェテリアにおいて昼食を摂ることを知っていてもよい。別の例として、イヤピース100は、ユーザーのセルラー電話機にアクセスしてもよく、且つ、ユーザーのスケジュールをダウンロードしてもよい。
ブロック611において、プロセッサ111は、ブロック601からの収集されたデータをメモリ内において保存されている関連データに対してマッチングさせている。これには、物体認識が含まれる。プロセッサ111は、保存されている物体データ及び慣性計測データ又は場所データのうちの少なくとも1つに基づいて、検出されたデータを分析することにより、周囲環境内の物体を認識する。メモリ112内において保存されている物体データは、ブロック612から取得することができる。
ブロック612において、メモリ112は、ローカルに且つ/又はリモートに、関連データを保存している。例えば、ローカルに保存されたデータは、イヤピース100に結合されたメモリ内において保存されているデータであってもよい。リモートに保存されたデータは、アンテナ142及び/又はI/Oポート143を介して、リモートサーバー又は別の装置からアクセスされるデータを含みうる。ユーザーのスケジュールは、アンテナ142を介してイヤピース100に定期的に送信されてもよい。
ブロック613において、プロセッサ111は、ブロック601において収集されたデータをメモリ内において保存されている関連データとマッチングさせている。これには、上述の物体認識が含まれる。プロセッサ111は、保存されている物体データ及び慣性計測データ又は場所データのうちの少なくとも1つに基づいて、検出されたデータを分析することにより、周囲環境内の物体を認識する。取得されるデータは、クラウド又はインターネット内において保存されているデータを含みうる。プロセッサ111は、要求を処理するために望ましい情報を決定する。例えば、ユーザーがリビングルームまでのナビゲーションを要求した場合に、イヤピース100は、リビングルームの場所、ユーザーからリビングルームまでのルート全体のレイアウト、及び存在しうるすべての危険について知っている必要があろう。別の例として、ユーザーが、自身の衣服がマッチングしているかどうかを問い合わせた場合に、イヤピース100は、マッチングしている衣服のタイプ、マッチングした色、及びユーザーが装用しているものについて知っている必要があろう。
プロセッサ111は、要求を処理するために望ましい情報を取得するべく、メモリ112にアクセスする。例えば、ユーザーが、リビングルームまでのナビゲーションを要求した場合に、イヤピース100は、リビングルームの場所、ユーザーからリビングルームまでのルートのレイアウト、及びすべての既知の危険を取得してもよい。
プロセッサ111は、メモリ112が、検出されたデータに関する十分な有用情報を有しているかどうかを決定してもよい。例えば、ユーザーが2つの地点の間の歩行方向を要求しており、且つ、ルートのレイアウトがメモリ112内において入手可能ではない際には、イヤピース100は、この不明な情報を取得するべく、アンテナ142及び/又はI/Oポート143を介してインターネット又はクラウドにアクセスしてもよい。
ブロック614において、プロセッサ111は、望ましいイベント又は動作を決定している。プロセッサ111は、認識された物体、予め決定されたユーザーデータ、及び現時点の時刻及び日付に基づいて、望ましいイベント又は動作を決定してもよい。現時点の日付及び時刻は、後述するように、現時点の望ましいイベント、動作、目的地、発話などを決定するべく、必要とされる。
イヤピース100は、ユーザーが、任意の所与の時点において、特定の場所に位置していると共に/又は、特定の動作を実行している必要があるどうかを決定してもよい。例えば、プロセッサ111は、予め保存されている昼食イベントを現時点の日付/時刻(即ち、ヌーン)にマッチングさせてもよい。又、プロセッサ111は、予め保存されている昼食イベントをイベントの前の時点にマッチングさせてもよい。例えば、ユーザーが、正午に、30分だけ離れたところで、昼食を摂る必要がある場合に、プロセッサは、午前11:30におけるマッチングを決定してもよい。別の例として、望ましい動作は、その他のマッチング項目を有する特定の衣服を装用するというものであってもよい。望ましいイベントは、療養施設内にいるユーザーが昼食会合イベントに参加する必要があることを現時点の日付/時刻が通知している場合に、昼食に向かう、というものであってもよい。
ブロック615において、イヤピース100は、インターフェイスアレイ130を介して、推定された現時点の望ましいイベントや動作/目的地などに基づいて、データを出力してもよい。例えば、推定された動作が、マッチングした衣服を見出すことである場合には、プロセッサは、服装がマッチングしているかどうかを決定してもよい。別の例として、目的地が推定される場合に、プロセッサは、ユーザー用の実行可能なナビゲーションルートを決定してもよい。出力は、例えば、スピーカ132を介した一連の口頭フレーズ(即ち、ステップバイステップの歩行方向)であってもよい。又、出力は、例えば、データについてユーザーに通知する振動であってもよい。例えば、左イヤピース100内の振動は、左に曲がることを意味してもよく、右イヤピース100内の振動は、右に曲がることを意味してよく、右及び左の両方のイヤピース100内の振動は、停止することを意味してもよく、右及び左の両方のイヤピース100内の連続的な振動は、減速を意味してもよく、或いは、振動の任意のその他の組合せは、これらのいずれか又は任意のその他のコマンドを通知してもよい。
次に、イヤピース100のナビゲーション特徴について説明する。ユーザーにナビゲーション情報を提供するべく、プロセッサ111は、(I)イヤピース100及び/又はユーザーの位置決め及び/又は場所に関するデータ及び(II)周囲環境、人物、物体、生物などに関するデータという2つのデータの組を少なくとも決定する。
再度ブロック602を参照すれば、カメラ121を使用することにより、イヤピース100の周囲地形に関するデータが検出されている。上述のように、図6Aのブロックは、必ずしも図示の順序において実行されるわけではない。プロセッサ111は、例えば、目的地が決定された後に、地形について学習するべく、更なる画像データが必要であると決定してもよい。屋内においてナビゲートする際には、障害物の周辺をナビゲートすると共に望ましい場所又は特徴に到達するべく、スタンドアロンGPSユニットが、盲目のユーザーに対して十分な情報を提供しない場合がある。インテリジェントイヤピース100は、例えば、階段、出口、及び洗面所を認識してもよく、且つ、これらをメモリ112内において適切に保存してもよい。
例えば、立体カメラ121aは、周囲環境及び障害物の深さ情報を提供してもよい。或いは、この代わりに、又はこれに加えて、1つ又は複数のその他のカメラ121が、周囲環境に関する情報を提供するべく利用されてもよい。
ブロック603を再度参照すれば、GPS124及び/又はIMU123を使用することにより、データが検出されている。このデータをカメラ121から取得されたデータと共に使用することにより、地形の理解を得ることができる。
ブロック617、618a、及び618bにおいて、プロセッサ111は、GPS124及び/又はIMU123から取得されたデータに基づいて、カメラ121を使用して取得されたデータを分析しており、且つ、この逆も又真である。ブロック617において、情報セット(II)を使用することにより、情報セット(I)についての相対的に良好/正確な理解を得ることが可能であり、且つ、この逆も又真である。
ブロック617において、プロセッサは、画像データ、IMU123を使用して取得された慣性計測データ、GPSユニット124を使用して取得された場所データ、及び関連する保存されているデータ(例えば、メモリ112内において保存されているマップデータ)を使用することにより、イヤピース100の場所又は位置決めに関するデータを決定している。
ブロック618aにおいて、プロセッサ111は、カメラ121を使用して収集された画像の特徴を分析してもよく、且つ、物体認識を使用して環境物体を認識してもよい。例えば、IMU123によって収集されたデータを使用して運動の量及び速度を決定することにより、カメラ121によって収集されたデータを使用した検出の精度を改善することができる。これに加えて、IMU123は、収集された情報が配置されている方向を通知しうる。例えば、情報が、イヤピース100aの上方の方向からの物体に関するものであることをIMU123が通知した場合には、プロセッサ111は、表面が、地面ではなく天井である可能性が高いと決定してもよい。
これに加えて、GPS124を使用して収集されたデータは、カメラ121によって収集されたデータの識別を改善することができる。例えば、カメラ121が建物の画像を提供している場合には、プロセッサ111は、この世界におけるユーザーの場所に関するデータを利用することにより、建物が正しく検出されているかどうかを決定することが可能であり、その理由は、建物のタイプが、この世界の異なる部分において異なっているからである。
GPS情報は、不十分なものである場合があり、その理由は、GPS情報が、周囲環境に関する十分に詳細な情報を提供しない場合があるからである。但し、GPS情報は、ユーザーにとって有用な推定を導出するべく、カメラ121からの視覚情報と共に利用することができる。例えば、GPS情報が、イヤピース100が現時点において建物内に位置していることを通知し、且つ、カメラ121が、物体に関する情報を提供している場合には、プロセッサ111は、そのサーチを建物内において合理的に位置している物体に限定することができる。例えば、カメラ121によって提供された画像がトラックのように見える場合に、プロセッサ111は、GPS情報に基づいて、その物体がトラックである可能性を排除することができる。換言すれば、それは、トラックのポスターの画像である可能性が高く、その理由は、ポスターは、合理的に建物内に位置することが可能であり、且つ、トラックは、そうではないからである。GPS124は、場所情報を提供し、これと共に、IMU123によって提供される速度及び向き情報を含む慣性ガイダンス情報により、プロセッサ111は、ユーザーの誘導を支援することができる。
メモリ112は、例えば、ユーザーを見出すと共にユーザーにナビゲーションコマンドを提供することを支援するべく、マップ情報又はデータを保存してもよい。マップデータは、予め読み込まれてもよく、アンテナ142を介して無線でダウンロードされてもよく、或いは、建物の入口の近傍において掲示された、又は以前の遭遇及び記録から構築された、建物マップをキャプチャするなどにより、視覚的に決定されてもよい。マップデータは、エッジを有するネットワーク図又は特徴を有する一連の座標などのように、抽象的なものであってもよい。マップデータは、ユーザーの目標物を含んでもよく、且つ、ユーザーが歩行するのに伴って、カメラ121は、更なる目標物を受動的に認識してもよく、且つ、マップデータを更新してもよい。
ブロック616において、プロセッサ111は、決定された望ましい動作又はイベントに基づいて、望ましい目的地を決定している。
例えば、イヤピース100は、ユーザーを空いた座席に誘導してもよく、或いは、離れるようにユーザーをナビゲートした後に、同一の座席に戻るように、ユーザーの特定の座席を記憶してもよい。その他の目標物は、潜在的な危険、周囲構造の説明、代替ルート、及びその他の場所であってもよい。更なるデータ及び目標物は、Bluetooth(登録商標)又はその他の無線ネットワークを通じて、モバイル装置及びその他の装置、ソーシャルネットワーク、又はクラウドに、ダウンロード及び/又はアップロードすることができる。
ブロック618bにおいて、分析済みのデータに基づいて、操縦性状態/横断不能領域が検出されている。例えば、横断不能領域は、タール坑などのように、ユーザーが安全に移動できない領域であってもよい。
ブロック618において、プロセッサ111は、ユーザーが移動可能な経路を決定している。経路は、ブロック618における検出された横断不能領域を排除している。インテリジェントイヤピース100は、ナビゲーション用の経路を決定してもよく、この経路は、ユーザーのニーズについて更に変更されてもよい。例えば、盲目ユーザーは、壁に沿ったルートを選好する場合がある。IMU123及び/又はGPS124及びその他のセンサを使用することにより、インテリジェントイヤピース100は、ユーザーを経路に沿ってガイドすることによって障害物を回避するべく、ユーザーの場所及び向きを決定することができる。
例えば、経路は、上述のように、望ましい物体(空いた座席)に向かうものであってもよい。イヤピース100は、ユーザーのために障害物又は経路を識別してもよく、且つ、移動者の速度又は移動者の意図する方向に基づいて、重要な障害物又は潜在的な経路を絞り込み可能であってもよい。次いで、イヤピース100は、これらの重要な障害物又は経路に基づいて、ユーザーをガイドしてもよい。ガイダンスは、例えば、経路又は回避するべき物体についての聴覚フィードバック又は振動フィードバックであってもよい。
ブロック622において、インターフェイスアレイ130の様々な出力を使用することにより、ブロック615からの出力データがユーザーに伝達されてもよい。経路上においてユーザーをガイドするべく、複数のフィードバックがユーザーに提供される。又、このフィードバックは、ユーザーを望ましい目的地/物体に向かってガイドするべく、提供され、且つ、発話、振動、機械的なフィードバック、電気的刺激、表示などの組合せを介して提示される。盲目ユーザーの場合には、プロセッサ111は、情報を出力する際に、視界(range of vision)に留意してもよい。盲目の又は部分的に盲目の人物は、杖を使用して0.91m(3フィート)未満にある物の大部分を識別することができる。9.1m(30フィート)超だけ離れた物体及びその他の目標物は、その距離に起因して、最大の重要性を有していない場合がある。
経路に沿って移動している間に、イヤピース100は、経路に沿ったサイン又は危険についてユーザーに通知してもよい。振動ユニット133及び/又はスピーカ132は、経路に沿ったユーザーのガイドを支援するべく、オーディオ及び触覚キューを提供する。例えば、スピーカ132は、規定された距離だけ、前方に移動するためのコマンドを再生してもよい。次いで、ユーザーが中間地点に位置した際に、特別なオーディオトーン又はオーディオパターンを再生することが可能であり、且つ、更なるトーン又はオーディオパターンを提供することにより、曲がるようにユーザーをガイドすることができる。第1トーン、オーディオパターン、又は振動は、旋回の開始についてユーザーに警告することができる。例えば、左インテリジェント移動支援装置からの単一のトーン又は振動は、左旋回を通知してもよい。第2トーン、オーディオパターン、又は振動は、旋回が完了したことをユーザーに警告することができる。例えば、旋回が完了した際に、2つのトーンが提供されてもよく、或いは、左装置が振動を中止するように振動が停止されてもよい。又、45度旋回用の特定のトーン及び90度旋回用の特定のトーンなどのように、異なるトーン又はパターンが異なる程度の旋回を意味してもよい。或いは、トーン及び振動の代わりに、又はこれに加えて、インテリジェントイヤピース100は、自動車のGPSナビゲーションコマンドと同様に、口頭キューを提供してもよい。又、ハイレベルな警告が、オーディオフィードバックを通じて提供されてもよい。例えば、インテリジェントイヤピース100が、障害物又は危険から既定の距離―0.3m(1フィート)、或いは、メモリ112内において保存されうると共に調節されうるその他の値など―に到達するのに伴って、スピーカ132及び/又は振動ユニット133は、可聴警告を提供してもよい。インテリジェントイヤピース100が障害物に接近するのに伴って、可聴警告及び/又は振動の強度又は周波数を増大させてもよい。
図6Aに示されている方法の一例として、ユーザーは、「Yキャンパス内の建物Xまで連れて行け」という音声コマンドを付与してもよい。次いで、インテリジェントイヤピース100は、関連するマップをメモリからダウンロード又は取得してもよく、或いは、カメラ121からの知覚された画像に基づいて、ナビゲートしてもよい。ユーザーがインテリジェントイヤピース100からのナビゲーションコマンドに従って移動するのに伴って、ユーザーは、午前中に、コーヒーショップに通りがかることになり、且つ、インテリジェントイヤピース100は、コーヒーショップを認識することになろう。イヤピース100は、ユーザーの習慣と共に、この認識及び時刻を使用してもよく、これにより、コーヒーショップが近傍に位置していることをユーザーに対して適切に警告してもよい。インテリジェントイヤピース100は、スピーカ132を通じて、口頭で、ユーザーに警告してもよい。ユーザーは、入力装置134を使用して設定を調節してもよく、設定は、例えば、警告のタイプ、アナウンスする詳細、並びに、物体認識又は警告設定に関係しうるその他のパラメータを制御してもよい。ユーザーは、必要に応じて、特定の機能をターンオン又はオフしてもよい。
図6Bは、推定された現時点の望ましいイベント、動作、目的地などに基づいて、イヤピース100のユーザーに支援を提供する例示用の方法を示している。ブロック650において、データが、メモリ112から、且つ/又は、アンテナ142及び/又はI/Oポート143を介して、取得されている。このデータは、ユーザーが特定の動作の組を実行しているはずであることをイヤピース100に通知する情報であってもよい。例えば、ユーザーは、病院内にいてもよい。この例においては、メモリ112が、ユーザーの食事時間に関係する情報を含んでいると仮定しよう。その結果、装置は、ユーザーが、毎日、午後12時に、カフェテリアにおいて昼食を摂る必要があることを知っていてもよい。別の例として、ユーザーは、自身のスケジュールについて、イヤピース100に通知してもよい。例えば、ユーザーは、自分が、今週の金曜日の午後5時に、600 Anton Blvd.において、会合に出席することを装置に通知してもよい。
ブロック652において、イヤピース100は、ユーザーが、任意の所与の時点において、特定の場所に位置していると共に/又は、特定の動作を実行しているかどうかを決定してもよい。そうではない場合に、プロセッサは、ブロック650に戻ってもよい。そうである場合には、プロセスは、ブロック654に進んでもよい。
ブロック654において、ユーザーの現時点の動作に関連するデータが、センサアレイ120によって検出されている。例えば、GPS124及び/又はIMU123は、イヤピース100が、カフェテリアに向かって、或いは、600 Anton Blvd.に向かって、移動していることを検知してもよい。別の例として、マイクロフォン131は、ユーザーが別の人物に対して話しかけていることを通知するデータを検出してもよい。
ブロック656において、ユーザーの現時点の動作が、ブロック650からの特定の動作の組とマッチングしているかどうかが決定されている。例えば、ユーザーがカフェテリアに向かって移動しておらず、且つ、ユーザーが、5分後に昼食を摂るものと推定されている場合には、現時点の動作は、特定の動作とマッチングしていない。現時点の動作が、ブロック650からの特定の動作とマッチングしている場合には、プロセスは、ユーザーが、その特定の動作の実行を継続することを保証するべく、ブロック654に戻る。
ブロック658において、ユーザーは、インターフェイスアレイ130を介して、特定の動作について通知されている。例えば、装置が、カフェテリアから離れるように移動している場合には、イヤピース100は、ユーザーが、いま、昼食に向かっている必要があるというデータをユーザーに提供してもよい。ユーザーが、ブロック650において取得された特定の動作の組を開始しない場合には、イヤピース100は、既定の時間量の後に、再度、ユーザーに通知してもよい。但し、イヤピース100は、ユーザーが、中断されることを所望していない際について学習していてもよい。例えば、ユーザーは、会話の最中に中断されることを所望していない場合がある。マイクロフォン131が、ユーザーが会話を実行していることを検出した場合に、イヤピース100は、会話の後の時点まで、ユーザーへの通知を待ってもよい。
イヤピース100は、インターフェイスアレイ130を介して、ユーザーが更なる情報を必要としているかどうかを決定してもよい。イヤピース100は、ユーザーが前後によろめいているかどうか、ユーザーが案内を必要としているかどうかなどの、ユーザーの好みを予め学習していてもよい。又、イヤピース100は、ナビゲーション情報を要求してもよい。例えば、ユーザーは、カフェテリアまでの案内を要求してもよい。ユーザーは、インターフェイスアレイ130を介して、自身が更なる情報を必要としている又はしていない、というデータをイヤピース100に提供することができる。ユーザーが更なる情報を必要としていない場合には、プロセスは、ブロック664に進む。
ブロック664において、プロセッサ111は、ブロック650からの特定の動作の組が完了状態にあるかどうかを決定している。特定の動作が完了状態にある場合には、プロセスは、終了する。特定の動作が完了状態にない場合には、プロセスは、ブロック654に戻る。
次に、図6Bのプロセスの一例を提供することとする。ユーザーが昼食のためにカフェテリアにいるものと推定されていると仮定しよう。イヤピース100は、ユーザーがカフェテリアにいるものと推定されているが、ユーザーがカフェテリアに向かって移動していないと決定する場合がある。その結果、イヤピース100は、インターフェイスアレイ130を介して、「昼食に向かう時間である」というオーディオフィードバックなどの、フィードバックをユーザーに提供してもよい。次いで、ユーザーは、「まだ準備ができていない」又は「行こう」などの、フィードバックをイヤピース100に返してもよい。ユーザーが、まだ準備できていない場合には、イヤピース100は、既定の時間量の後に、昼食時間である、とユーザーに再度リマインドしてもよい。準備ができている際には、ユーザーは、向かう準備ができている、というデータをイヤピース100に提供してもよい。
次いで、イヤピース100は、案内を必要としているかどうかを決定するべく、ユーザーに対してフィードバックを要求してもよい。ユーザーが、いいえ、と応答した場合には、イヤピース100は、なんらの現時点の情報をも提供しなくてもよい。但し、ユーザーが、はい、と応答した場合には、イヤピース100は、ユーザーをカフェテリアまでナビゲートしてもよい。又、イヤピース100は、別の装置と通信するように構成されていてもよい。例えば、イヤピース100は、ユーザーの食物が準備されうると共に、ユーザーが到着した際にユーザーのために座席が準備された状態となりうるように、ユーザーが昼食のために向かっているというデータをカフェテリア内の端末に提供してもよい。ユーザーが到着するのに伴って、イヤピース100は、ユーザーのテーブルの場所及びユーザーと一緒に着席する人物などの、更なるデータをユーザーに提供してもよい。
いくつかの実施形態においては、イヤピース100は、ユーザーの好みを学習してもよい。例えば、イヤピース100は、ユーザーが、通常、昼食のために着席する椅子について学習してもよい。この例においては、イヤピース100は、ユーザーの通常の昼食時間の椅子の場所を決定してもよい。これを実行するべく、イヤピース100は、カメラ121からの検知された視覚データ、GPS124、IMU123からの位置データ、及び/又は、任意のその他の検出されたデータのみならず、図2との関連において上述した形状分析を使用してもよい。イヤピース100は、椅子の場所を決定したら、ユーザーが椅子に安全に到達すると共に着席しうるように、ユーザーを椅子までガイドしてもよい。
図7は、イヤピース100による危険支援の例示用の方法を示している。ブロック700において、データが、センサアレイ120によって検出されている。このデータは、視覚データ、位置データ、又はセンサアレイが検知しうる任意のデータであってもよい。例えば、IMU123は、ユーザーが転倒していることを通知する又はユーザーが上下逆の位置にあることを通知するデータを検知してもよい。カメラ121は、レンズの非常に近傍の大きな物体などの視覚データを検出してもよい。センサアレイ120は、火災又は洪水を通知するデータなどの、任意のその他の情報を検出してもよい。
ブロック702において、検出されたデータが、メモリ112内において保存されている危険を示すデータと比較されている。このメモリ112内のデータは、例えば、ユーザーの転倒の動きと関連するデータであってもよい。又、データは、例えば、ユーザー上に落下する物体と関連するデータであってもよい。プロセッサ111は、マッチングが存在しているかどうかを決定するべく、メモリ112からの危険を通知するデータを検出されたデータと比較する。例えば、検出されたデータが、大きな物体がユーザー上に落下したことを通知するデータとマッチングしている場合には、マッチングが存在している。
ブロック704において、危険を通知するデータと検出されたデータの間にマッチングが存在していない場合には、プロセスは、ブロック700に戻り、データの検出が継続される。但し、マッチングが存在している場合には、プロセスは、ブロック706に進む。ブロック706において、イヤピース100は、ユーザーが大丈夫であるかどうかなどの情報をユーザーが提供することを要求している。ユーザーは、この情報をインターフェイスアレイ130を介して提供してもよい。この情報は、例えば、発話された「はい、私は大丈夫です」又は「いいえ、私は大丈夫ではありません」であってもよい。
ブロック708において、ユーザーが、自身が支援を必要していると応答したのか、自身が支援を必要としていないと応答したのか、或いは、まったく応答しなかったのか、が決定されている。ユーザーが、自身が支援を必要としていないと応答した場合には、プロセスは、ブロック700に戻る。ユーザーが、自身が支援を必要としていると応答した場合には、或いは、ユーザーが問合せに応答しなかった場合には、プロセスは、ブロック710に進む。
ブロック710において、イヤピース100は、インターフェイスアレイ130を介して、自身が人物と通信することを又はリモート装置が警告されることをユーザーが所望しているかどうかに関する情報をユーザーが提供することを要求してもよい。
ブロック712において、ユーザーが人物と通信することを選択したかどうかが決定されている。ユーザーが、人物との通信を選択している場合には、ブロック714において、通信チャネルが、ユーザーと望ましい人々/人物の間において確立されてもよい。これに加えて、ユーザーは、自身が話をしたい人を選択してもよい。例えば、ユーザーは、自身のかかりつけ医、警察、友人、又は任意のその他の人物又はサービスとコンタクトすることを希望しうる。又、イヤピース100は、通信チャネルを開くべき人物について学習していてもよい。例えば、火災データが検出された場合に、イヤピース100は、消防署又は「911」コールセンタとの通信を開いてもよい。
通信は、例えば、アンテナ142及び/又はI/Oポート143を介してイヤピースをセルラー装置に接続することにより、確立されてもよい。接続が確立された後に、イヤピース100は、セルラー装置が、ビデオ通話又は音声通話を要求された人物又は組織に対して実行するようにしてもよい。イヤピース100のマイクロフォン131は、セルラー装置のマイクロフォンとして機能してもよく、且つ、イヤピース100のスピーカ132は、セルラー装置のスピーカとして機能してもよい。通信が確立されたら、ユーザーは、要求された人物と通信してもよく、且つ、情報を提供してもよい。又、イヤピース100は、危険と関連する任意のデータや任意の場所データなどのような、情報を通信の他端に位置した装置に提供してもよい。又、任意の情報が、イヤピース100のWi−FiやBluetooth(登録商標)などの要素を介して通信されてもよい。例えば、イヤピース100は、Wi−Fiを介してVoIP接続を確立してもよい。
ブロック712において、ユーザーが、人物との通信を選択しなかった場合には、或いは、ユーザーが応答しなかった場合には、プロセスは、ブロック716に進んでもよい。ブロック716において、リモート装置は、アンテナ及び/又はI/Oポートを介して、危険について警告されている。この警告は、出来事の時刻の周辺においてキャプチャされた任意のデータや任意の場所データなどから構成されてもよい。警告は、アンテナ142及び/又はI/Oポート143、Wi−Fi、Bluetooth(登録商標)などを介して、所定の接続によってセルラー装置に伝達されてもよい。
図8Aは、安全監視及び警告用の例示用の方法を示している。プロセスは、ブロック800において、運動がイヤピース100によって検出された際に始まっている。この運動は、例えば、IMU123又はGPS124によって検出されてもよい。プロセスが始まった後に、ブロック802において、センサアレイ120を使用することにより、新しいデータがイヤピースによって検出されている。このデータは、視覚データ(通り、歩道、人々)、位置データ(ユーザーの場所、移動の方向)、オーディオデータ(走行する自動車の音、サイレン、アラームなど)、又は任意のその他のデータなどの、センサアレイ120によって検出される任意のデータを含みうる。ブロック806において、この新しいデータが、メモリ112内において保存されている。
ブロック806において、この新しいデータが、メモリ112内において記録されているデータと比較されている。メモリ112内において記録されているデータは、以前の時点において同一の場所においてキャプチャされたデータを含みうる。又、メモリ112内において記録されているデータは、現時点の時刻の数ミリ秒、数秒、又は数分前などのように、現時点の時刻の前の時点において、同一の場所又は近傍においてキャプチャされたデータを含みうる。プロセッサは、図2の物体認識方法を使用することにより、この比較を実行してもよい。
ブロック808において、新しいデータとメモリ112内において記録されているデータの間において、逸脱が検出されるかどうかが決定されている。この逸脱は、例えば、以前に検出されなかった新しい物体がイヤピース100の視野内に存在していることを通知するデータを含みうる。又、逸脱は、例えば、以前に存在していた物体が、もやは、視野内に存在していないことをも含みうる。又、逸脱は、例えば、警察サイレンなどの新しい音をも含みうる。
ブロック810において、逸脱が新しいデータ内において検出された場合に、この逸脱に基づいて、インターフェイスアレイ130を介して、第2データがユーザーに出力されてもよい。一例として、逸脱が、歩道の中央部に位置した岩石を含んでいると仮定しよう。この例においては、イヤピース100は、逸脱について通知するデータをユーザーに提供してもよい。例えば、イヤピース100は、スピーカ132を使用することにより、岩石の形状にマッチングした物体が、ユーザーの直接前方3m(10フィート)のところに存在していることをユーザーに通知してもよい。或いは、この代わりに、又はこれに加えて、イヤピース100は、逸脱に基づいて、触覚フィードバックをユーザーに対して提供してもよい。
ブロック812において、逸脱がテキストを含んでいるかどうかが決定されている。例えば、逸脱は、テキストを含むサイン又は警察テープであってもよい。プロセッサ111は、なんらかのマッチングが存在しているかどうかを決定するべく、新しい検出データをテキスト文字の形状を通知するデータと比較することにより、この決定を実施してもよい。
ブロック814において、逸脱がテキストを含んでいると決定された場合には、イヤピース100は、逸脱のテキストに基づいて、インターフェイスアレイ130を介して、データをユーザーに出力してもよい。例えば、データは、逸脱のテキストのコンテンツについて通知するオーディオデータを含みうる。
ブロック816において、逸脱が危険を提示しているかどうかが決定されている。メモリ112は、逸脱が危険であるかどうかを決定するべく、検出データと比較されうるデータを保存していてもよい。例えば、メモリ112は、ボブキャットと関連する視覚データと、ボブキャットが危険であるというインジケータと、をその内部に保存していてもよい。別の例として、メモリ112は、注意サインの形状と関連する視覚データと、このデータは危険のインジケータである、という言葉による注意と、をその内部に保存していてもよい。
別の例として、危険な物体を表すデータを有する代わりに、メモリ112は、状況データを保存してもよい。状況データの一例は、ユーザーが歩行している歩道の中央部に大きな物体が存在している場合に、その物体が危険を提示しうるということをイヤピース100が認識しうるというものである。状況データの別の例は、エリアの視覚データが予め検知及び保存されており、且つ、エリアの視覚データが、エリアの現在の検知において、大幅に異なっている場合に、危険が存在しうることをイヤピースが認識しうるというものである。
ブロック818において、逸脱が危険を提示していると決定された場合に、イヤピース100は、インターフェイスアレイ130を介してユーザーに警告してもよい。警告は、例えば、危険が存在していることと、危険の場所と、をユーザーに通知するスピーカ132を介した出力を含みうる。又、イヤピース100は、例えば、危険のタイプを出力してもよい。イヤピース100が、「歩道内に窪みあり」と判読される警告サインを検出した場合に、イヤピース100は、窪みが歩道に存在していることを通知するデータをユーザーに出力してもよい。又、イヤピース100は、これらの情報を検出するのに伴って、窪みの場所についてユーザーに通知してもよい。いくつかの実施形態においては、イヤピース100は、振動ユニット133を介して、振動データをユーザーに提供してもよい。例えば、ユーザーが危険に接近するのに伴って、振動ユニット133は、益々増大する周波数の振動を生成してもよい。
次に、イヤピース100の更なる運動が検出されるかどうかが決定される。更なる運動が検出されない場合には、ユーザーは、立ち止まっており、且つ、プロセスは、終了してもよい。運動が検出された場合には、プロセスは、ブロック802に戻ってもよい。プロセスが、運動の欠如に起因して終了した場合に、プロセスは、イヤピース100の運動の検出により、任意の時点において再開することができる。
図8Bは、請求項8Aの方法の一例を示している。図8Bのフレーム850において、ユーザー856は、歩道に沿って歩行している。ユーザーが、以前に、歩道に沿って歩行しており、且つ、メモリ112が、歩道に沿った以前の移動の際にセンサアレイ120によって検出されたデータをその内部に保存しているものと仮定しよう。
フレーム852において、危険858が、ユーザーの移動方向において、歩道上に存在している。危険は、警告サイン860のみならず、2つの警告コーン862をも含む。危険がイヤピース100の視野に入った際に、イヤピース100は、検出されたデータを保存されているデータと比較してもよい。次いで、プロセッサ111は、この危険が逸脱であると決定してもよく、且つ、この逸脱に基づいて、データをユーザー856に提供してもよい。データは、例えば、2つのコーン862の説明、サインが存在しているという事実、及び任意のその他の大きな変化を含んでもよい。又、イヤピース100は、変化がテキストを含んでいることを検出しうる。イヤピース100は、ユーザーに対してテキストを読み上げるなどのように、テキストに基づいて、ユーザー856にデータを提供してもよい。
イヤピース100は、警告サイン860又は警告コーン862が危険を提示していることを学習していてもよく、且つ、警告サイン860及び/又は警告コーン862が危険を提示していると決定してもよい。又、イヤピース100は、逸脱が重要であることを識別することにより、これを決定してもよい。イヤピース100は、警告サイン860及び/又はコーン862が、ユーザー856の移動の方向において位置決めされているという事実を使用することにより、これらが危険を提示していると決定してもよい。次いで、イヤピース100は、危険858が存在していることを通知するデータをユーザー856に提供してもよい。イヤピース100は、スピーカ132を使用することにより、例えば、危険858のタイプ及び/又は場所をユーザー856に出力してもよい。又、イヤピース100は、ユーザーが危険858に接近するのに伴って、例えば、益々増大する周波数によって振動してもよい。
例えば、フレーム854において、ユーザーは、危険858の周囲をナビゲートするべく、イヤピース100からの出力を利用してもよい。ユーザー856が2つのイヤピース100を装用している場合には、イヤピース100は、危険858の場所を通知するべく、一側において別の側よりも大きく振動してもよい。フレーム854において、危険は、ユーザー856の右側において、左側よりも大きい。従って、ユーザー856の右耳に位置したイヤピース100は、ユーザー856の左耳に位置したイヤピース100よりも振動することにより、危険が右側に位置していることを通知してもよい。この代わりに、右耳に位置したイヤピース100は、左耳に位置したイヤピース100よりも乏しく振動することにより、左側においては、相対的に安全であることを通知してもよい。
図9Aは、ナビゲーション支援をユーザーに提供する例示用の方法を示している。この方法は、例えば、ユーザーが列をなして前方に移動することを要する際にユーザーに通知するべく使用されてもよい。又、この方法は、例えば、ユーザーが、別の歩行者に基づいて、減速又は加速することを要することをユーザーに通知するべく使用されてもよい。又、この方法は、ユーザーが自身の友人と同じペースで歩行できるように、例えば、ユーザーが減速又は加速する必要があることをユーザーに通知するべく、使用されてもよい。
ブロック900において、イヤピース100は、センサアレイ120を使用することにより、イヤピースから、人物などの運動している物体までの距離を検出している。物体は、カメラ121の視野内に位置している限り、ユーザーにとって任意の相対位置に位置してもよい。又、イヤピースは、いくつかの実施形態においては、物体が運動している速度を決定してもよい。
ブロック902において、イヤピース100は、センサアレイ120を使用することにより、ユーザーが移動している速度を決定してもよい。この速度は、歩行又は走行速度を含んでもよく、或いは、ゼロ速度であってもよい。速度データのみならず、その他のデータを使用することにより、プロセッサ111は、ユーザーが実行している動作の組を決定してもよい。例えば、ユーザーは、友人と共に歩行していてもよいであろう。又、ユーザーは、列をなして待機しているか、或いは、会合に参加するべく、通りを急いて歩いていてもよいであろう。プロセッサは、ユーザーの動作を決定するべく、検出されたデータを利用してもよい。
ブロック904において、プロセッサ111は、速度及びその他のデータをメモリ112内のデータと比較している。メモリ112内のデータは、例えば、速度及びその他のデータを物体までのユーザーの好ましい距離に対して関連付けていてもよい。例えば、ユーザーが友人と共に歩行している場合には、好ましい距離は、相対的に短いものであってもよい。別の例として、ユーザーが、会合に出席するべく急いている場合には、好ましい距離は、ユーザーが偶発的に物体と衝突しないように、相対的に長いものであってもよい。
ブロック906において、検出された距離が、好ましい距離未満であるかどうかが決定されている。これは、例えば、ユーザーが別の歩行者よりも高速で通りを歩いているか、或いは、列をなして待機している際に前方への歩行を過剰に早期に開始した際に、有用であろう。
検出された距離が、好ましい距離未満である場合には、方法は、ブロック908に進む。ブロック908において、イヤピース100は、インターフェイスアレイ130を介して、検出された距離が、好ましい距離未満であることを通知するデータをユーザーに出力している。このデータは、例えば、オーディオデータ又は触覚データを含みうる。例えば、イヤピース100は、ユーザーが物体に接近するのに伴って、増大する周波数によって振動してもよい。
ブロック910において、検出された距離が、好ましい距離を上回っているかどうかが決定されている。これは、例えば、ユーザーが友人と共に歩行しており、且つ、相対的に高速のペースで移動している際に、有用であろう。
検出された距離が、好ましい距離を上回っている場合に、プロセスは、ブロック912に進む。ブロック912において、イヤピース100は、インターフェイスアレイ130を介して、検出された距離が、好ましい距離を上回っていることを通知するデータをユーザーに出力している。このデータは、例えば、オーディオデータ又は触覚データを含みうる。例えば、イヤピース100は、ユーザーと物体の間の距離が大きくなるのに伴って、増大する強度によって振動してもよい。いくつかの実施形態においては、距離が、好ましい距離を上回っているとイヤピース100がユーザーに警告することになるのは、特定の状況にのみ限定されている。例えば、ユーザーが独りで歩行している場合には、ユーザーは、自身がその他の歩行者から遠く離れているかどうかに注意を払うことにはならず、且つ、イヤピースは、なんらのデータをも提供しなくてもよい。
図9Bは、図9Aの方法の例示用の使用法を示している。フレーム950において、ユーザー956は、歩道を歩いている。ユーザーは、歩行者958の背後に位置している。当初、ユーザー956及び歩行者958は、同一の速度で移動していてもよい。当初、同一の速度に起因して、ユーザー956から歩行者958までの距離は、好ましい距離であってもよい。
フレーム952に示されているように、最終的に、歩行者958が減速する場合がある。この状況において、ユーザー956から歩行者958までの検出された距離は、好ましい距離未満になりうる。イヤピース100は、検出された距離が、好ましい距離よりも短いという情報を含むデータをユーザー956に提供してもよい。次いで、ユーザー956は、イヤピース100からのデータに基づいて減速してもよい。イヤピース100からのデータを受信することにより、ユーザー956は、フレーム954において示されているように、自身が歩行者958から好ましい距離に位置する時点まで、減速してもよい。
本明細書において使用されている「ネットワーク」という用語は、任意のクラウド、クラウドコンピューティングシステム、或いは、ハードウェア及び/又はソフトウェアコンポーネントを含む電子通信システム又は方法を含む。関係者の間における通信は、例えば、電話ネットワーク、エクストラネット、イントラネット、インターネット、やり取り時点装置(point of interaction device)、販売時点装置(point of sale device)、パーソナルデジタルアシスタント(例えば、Android装置、iPhone(登録商標)、Blackberry(登録商標)、セルラー電話機、キオスクなど)、オンライン通信、衛星通信、オフライン通信、無線通信、トランスポンダ通信、ローカルエリアネットワーク(LAN:local Area Network)、ワイドエリアネットワーク(WAN:Wide Area Network)、仮想プライベートネットワーク(VPN:Virtual Private Network)、ネットワーク接続又はリンクされた装置、キーボード、マウス、及び/又は任意の適切な通信又はデータ入力モードなどの、任意の適切な通信チャネルを通じて実現されてもよい。インターネットとの関連において利用されるプロトコル、規格、アプリケーションソフトウェアに関係する特定の情報は、一般に、当業者には既知であり、且つ、従って、本明細書における詳細な説明は不要である。
「クラウド」又は「クラウドコンピューティング」は、最小限の管理努力又はサービスプロバイダとのやり取りによって迅速に提供及び供与されうる構成可能なコンピューティングリソースの共有プール(例えば、ネットワーク、サーバー、ストレージ、アプリケーション、及びサービス)に対する便利でオンデマンドなネットワークアクセスを可能にするためのモデルを含む。クラウドコンピューティングは、場所独立型のコンピューティングを含んでもよく、これにより、共有サーバーは、リソース、ソフトウェア、及びデータをコンピュータ及びその他の装置にオンデマンドで提供する。
システム、方法、コンピュータプログラムプロダクトが提供されている。「様々な実施形態」、「いくつかの実施形態」、「一実施形態」、「実施形態」、「例示用の実施形態」などに対する参照は、記述されている実施形態が、特定の特徴、構造、又は特性を含みうるが、必ずしも、すべての実施形態が、特定の特徴、構造、又は特性を含む必要はないことを通知している。更には、このようなフレーズは、必ずしも、同一の実施形態を参照しているものではない。更には、特定の特徴、構造、又は特性が一実施形態との関連において記述されている際に、明示的に記述されているかどうかとは無関係に、それらの特徴、構造、又は特性をその他の実施形態との関連において実施することは、当業者の知識に含まれている。当業者には、本明細書を参照した後に、代替実施形態において本開示を実装する方法が明らかとなろう。
本明細書において開示されている例との関連において記述されている方法又はアルゴリズムのステップは、ハードウェアにおいて直接的に実施されてもよく、プロセッサ111によって実行されるソフトウェアモジュールにおいて実施されてもよく、或いは、これら2つの組合せにおいて実施されてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、着脱自在のディスク、CD−ROM、又は当技術分野において既知のストレージ媒体の任意のその他の形態において存在してもよい。メモリ112などの例示用のストレージ媒体は、プロセッサ111が、ストレージ媒体から情報を読み取ることができると共に、これに対して情報を書き込むことができるように、プロセッサ111に結合されている。代替肢においては、ストレージ媒体は、プロセッサ111と一体化されたものであってもよい。プロセッサ111及びストレージ媒体は、特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)内において存在してもよい。
方法/システムは、本明細書においては、機能ブロックコンポーネント、スクリーンショット、任意選択の選択、及び様々な処理ステップの観点において記述されている場合がある。このような機能ブロックは、規定された機能を実行するように構成された任意の数のハードウェア及び/又はソフトウェアコンポーネントによって実現されうることを理解されたい。例えば、方法/システムは、例えば、1つ又は複数のマイクロプロセッサ又はその他の制御装置の制御下において様々な機能を実行しうるメモリ要素、処理要素、ロジック要素、ルックアップテーブル、及びこれらに類似したものなどの様々な集積回路コンポーネントを利用してもよい。同様に、方法/システムのソフトウェア要素は、VPL、C、C++、C#、Java(登録商標)、JavaScript(登録商標)、VBScript、Macromedia Cold Fusion、COBOL、Microsoft Active Server Pages、assembly、PERL、PHP、awk、Python、Visual Basic、SQL Stored Procedures、PL/SQL、任意のUNIX(登録商標)シェルスクリプト、及びXMLのような任意のプログラミング又はスクリプティング言語によって実装されてもよく、様々なアルゴリズムは、データ構造、オブジェクト、プロセス、ルーチン、又はその他のプログラミング要素の任意の組合せによって実装される。更には、方法/システムは、データ送信、シグナリング、データ処理、ネットワーク制御、及びこれらに類似したもの用の任意の数の従来技法を利用しうることに留意されたい。
当業者には理解されるように、方法/システムは、既存のシステムのカスタマイズ、アドオンプロダクト、アップグレードされたソフトウェア、スタンドアロンシステム、分散システム、方法、データ処理システム、データ処理用の装置、及び/又はコンピュータプログラムプロダクトとして、実施されてもよい。更には、方法/システムは、ストレージ媒体内において実施されたコンピュータ可読プログラムコード手段を有する一時的ではないコンピュータ可読ストレージ媒体上におけるコンピュータプログラムプロダクトの形態を有してもよい。ハードディスク、CD−ROM、光学ストレージ装置、磁気ストレージ装置、及び/又はこれらに類似したものを含む任意の適切なコンピュータ可読ストレージ媒体が利用されてもよい。
方法/システムの例示用の実施形態は、例示用のスタイルにおいて開示されている。相応して、全体を通じて利用されている用語は、非限定的な方式によって読解されることを要する。当業者には、本明細書における教示内容に対する多少の変更が想起されることになるが、本明細書に対して付与される特許の範囲内に含まれるべく意図されているものは、本出願によって寄与される当技術分野の進歩の範囲内に合理的に含まれるすべての実施形態であり、且つ、この範囲は、添付の請求項及びその均等物に照らしたものを除いて、限定されるものではないことを理解されたい。