(57)【特許請求の範囲】
【請求項１】
第1のユーザによって実行される第1のジェスチャを検出するステップと、
前記第1のジェスチャと実質的に同時に取得されたセンサ入力に基づいて、前記第1のユーザの識別情報を決定するステップと、
前記第1のユーザの前記識別情報に基づいて、前記第1のジェスチャが複数のコマンドのうちの少なくとも1つのコマンドに対応すると決定するステップと、
前記少なくとも1つのコマンドを実行するステップと
を備え、
前記実質的に同時に取得されたセンサ入力が、1つまたは複数のセンサの第1のセットによって取得され、
前記第1のジェスチャが、前記第1のセットとは異なる1つまたは複数のセンサの第2のセットによって検出される、方法。
【請求項２】
前記第1のジェスチャが前記第1のユーザによって実行されたとき、第1のコマンドに対応し、
前記第1のジェスチャが前記第1のユーザとは異なる第2のユーザによって実行されたとき、前記第1のコマンドとは異なる第2のコマンドに対応する、請求項1に記載の方法。
【請求項３】
前記第1のジェスチャを検出するステップの前に、
前記第1のユーザの前記識別情報を認証するステップと、
前記第1のジェスチャに対応する第1のユーザ入力を受信するステップと、
前記少なくとも1つのコマンドに対応する第2のユーザ入力を受信するステップと、
前記第1のジェスチャおよび前記第1のユーザの前記識別情報を、前記少なくとも1つのコマンドに関連付けるステップとをさらに備える、請求項1に記載の方法。
【請求項４】
前記第1のジェスチャを検出するステップの前に、前記第1のユーザの前記識別情報に基づいて、前記第1のユーザのジェスチャを検出するために使用するための、複数のセンサのうちの1つまたは複数の特定のセンサを識別するステップをさらに備える、請求項1に記載の方法。
【請求項５】
前記第1のユーザから、前記1つまたは複数の特定のセンサを指定する入力を受信するステップをさらに備える、請求項4に記載の方法。
【請求項６】
前記第1のジェスチャが少なくとも1つのコマンドに対応すると決定するステップが、実行されているアプリケーションにさらに基づく、請求項1に記載の方法。
【請求項７】
第1のアプリケーションが実行されている場合、前記第1のジェスチャが第1のコマンドに対応し、
第2のアプリケーションが実行されている場合、前記第1のジェスチャが第2のコマンドに対応し、
前記第2のコマンドが、前記第1のコマンドとは異なるものであり、前記第2のアプリケーションが前記第1のアプリケーションとは異なるものである、請求項6に記載の方法。
【請求項８】
前記第1のジェスチャが少なくとも1つのコマンドに対応すると決定するステップが、別のデバイスから受信したジェスチャマッピングデータにさらに基づく、請求項1に記載の方法。
【請求項９】
前記第1のジェスチャが少なくとも1つのコマンドに対応すると決定するステップが、前記第1のジェスチャが前記少なくとも1つのコマンドに対応すると決定するステップを備え、検出エンジンが前記第1のユーザで使用するために構成される、請求項1に記載の方法。
【請求項１０】
前記少なくとも1つのコマンドが健康管理機能に関連付けられる、請求項1に記載の方法。
【請求項１１】
1つまたは複数のセンサの前記第1のセットが少なくとも1つのカメラを含み、
1つまたは複数のセンサの前記第2のセットが少なくとも1つのタッチスクリーンを含む、請求項1に記載の方法。
【請求項１２】
前記第1のユーザの前記識別情報が、少なくとも1つのリンクされたデバイスに関連付けられる登録情報に基づいてさらに決定される、請求項1に記載の方法。
【請求項１３】
第2のユーザによって実行される第2のジェスチャを検出するステップであって、前記第2のジェスチャが前記第1のジェスチャと実質的に同時に実行されるステップと、
前記センサ入力に基づいて、前記第2のユーザの識別情報を決定するステップと、
前記第2のユーザの前記識別情報に基づいて、前記第2のジェスチャが前記複数のコマンドのうちの第2のコマンドに対応すると決定するステップと、
前記第2のコマンドを実行するステップとをさらに備える、請求項1に記載の方法。
【請求項１４】
装置であって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサによって実行されると、前記装置に、
ユーザによって実行されるジェスチャを検出させて、
前記検出されたジェスチャと実質的に同時に取得されたセンサ入力に基づいて、前記ユーザの識別情報を決定させて、
前記ユーザの前記識別情報に基づいて、前記検出されたジェスチャが複数のコマンドのうちの少なくとも1つのコマンドに対応すると決定させて、
前記少なくとも1つのコマンドを実行させるコンピュータ可読命令を格納するメモリと、
1つまたは複数のセンサと
を備え、
前記実質的に同時に取得されたセンサ入力が、前記1つまたは複数のセンサの第1のセットによって取得され、
前記ジェスチャが、前記第1のセットとは異なる前記1つまたは複数のセンサの第2のセットによって検出される、装置。
【請求項１５】
前記ジェスチャが第1のユーザによって実行されたとき、第1のコマンドに対応し、
前記ジェスチャが、前記第1のユーザとは異なる第2のユーザによって実行されたとき、前記第1のコマンドとは異なる第2のコマンドに対応する、請求項14に記載の装置。
【請求項１６】
前記メモリがさらなるコンピュータ可読命令を格納し、前記少なくとも1つのプロセッサによって実行されると、さらに前記装置に、
前記ジェスチャを検出するステップの前に、
前記ユーザの前記識別情報を認証させて、
前記ジェスチャに対応する第1のユーザ入力を受信させて、
前記少なくとも1つのコマンドに対応する第2のユーザ入力を受信させて、
前記ジェスチャおよび前記のユーザの前記識別情報を、前記少なくとも1つのコマンドに関連付けさせる、請求項14に記載の装置。
【請求項１７】
前記メモリがさらなるコンピュータ可読命令を格納し、前記少なくとも1つのプロセッサによって実行されると、さらに前記装置に、
前記ジェスチャを検出するステップの前に、前記ユーザの前記識別情報に基づいて、前記ユーザのジェスチャを検出するために使用するための、複数のセンサのうちの1つまたは複数の特定のセンサを識別させる、請求項14に記載の装置。
【請求項１８】
前記メモリがさらなるコンピュータ可読命令を格納し、前記少なくとも1つのプロセッサによって実行されると、さらに前記装置に、前記ユーザから前記1つまたは複数の特定のセンサを指定する入力を受信させる、請求項17に記載の装置。
【請求項１９】
前記検出されたジェスチャが少なくとも1つのコマンドに対応すると決定するステップが、実行されているアプリケーションにさらに基づく、請求項14に記載の装置。
【請求項２０】
別のデバイスからジェスチャマッピングデータを受信するように構成された受信機をさらに備え、前記検出されたジェスチャが少なくとも1つのコマンドに対応すると決定するステップが、前記受信されたジェスチャマッピングデータにさらに基づく、請求項14に記載の装置。
【請求項２１】
前記ユーザのジェスチャマッピングデータを別のデバイスに送信するように構成された送信機をさらに備える、請求項20に記載の装置。
【請求項２２】
前記コンピュータ可読命令が、前記装置に、前記1つまたは複数のセンサを使用して前記ジェスチャを検出させる、請求項14に記載の装置。
【請求項２３】
前記1つまたは複数のセンサが、加速度計、カメラ、ジャイロスコープ、およびタッチスクリーンのうちの少なくとも1つを備える、請求項22に記載の装置。
【請求項２４】
コンピュータ実行可能命令を格納した少なくとも1つの非一時的コンピュータ可読記録媒体であって、実行されると、少なくとも1つのコンピューティングデバイスに、
ユーザによって実行されるジェスチャを検出させて、
前記検出されたジェスチャと実質的に同時に取得されたセンサ入力に基づいて、前記ユーザの識別情報を決定させて、
前記ユーザの前記識別情報に基づいて、前記検出されたジェスチャが複数のコマンドのうちの少なくとも1つのコマンドに対応すると決定させて、
前記少なくとも1つのコマンドを実行させ、
前記実質的に同時に取得されたセンサ入力が、1つまたは複数のセンサの第1のセットによって取得され、
前記ジェスチャが、前記第1のセットとは異なる1つまたは複数のセンサの第2のセットによって検出される、非一時的コンピュータ可読記録媒体。
【請求項２５】
前記ジェスチャが第1のユーザによって実行されたとき、第1のコマンドに対応し、
前記ジェスチャが、前記第1のユーザとは異なる第2のユーザによって実行されたとき、前記第1のコマンドとは異なる第2のコマンドに対応する、請求項24に記載の少なくとも1つの非一時的コンピュータ可読記録媒体。
【請求項２６】
さらなるコンピュータ実行可能命令を格納し、実行されると、さらに前記少なくとも1つのコンピューティングデバイスに、
前記ジェスチャを検出するステップの前に、
前記ユーザの前記識別情報を認証させて、
前記ジェスチャに対応する第1のユーザ入力を受信させて、
前記少なくとも1つのコマンドに対応する第2のユーザ入力を受信させて、
前記ジェスチャおよび前記のユーザの前記識別情報を、前記少なくとも1つのコマンドに関連付けさせる、請求項24に記載の少なくとも1つの非一時的コンピュータ可読記録媒体。
【請求項２７】
さらなるコンピュータ実行可能命令を格納し、実行されると、さらに前記少なくとも1つのコンピューティングデバイスに、
前記ジェスチャを検出するステップの前に、前記ユーザの前記識別情報に基づいて、前記ユーザのジェスチャを検出するために使用するための、複数のセンサのうちの1つまたは複数の特定のセンサを識別させる、請求項24に記載の少なくとも1つの非一時的コンピュータ可読記録媒体。
【請求項２８】
ユーザによって実行されるジェスチャを検出するための手段と、
前記検出されたジェスチャと実質的に同時に取得されたセンサ入力に基づいて、前記ユーザの識別情報を決定するための手段と、
前記ユーザの前記識別情報に基づいて、前記検出されたジェスチャが複数のコマンドのうちの少なくとも1つのコマンドに対応すると決定するための手段と、
前記少なくとも1つのコマンドを実行するための手段と
を備え、
前記実質的に同時に取得されたセンサ入力が、1つまたは複数のセンサの第1のセットによって取得され、
前記ジェスチャが、前記第1のセットとは異なる1つまたは複数のセンサの第2のセットによって検出される、システム。
【請求項２９】
前記ジェスチャが第1のユーザによって実行されたとき、第1のコマンドに対応し、
前記ジェスチャが、前記第1のユーザとは異なる第2のユーザによって実行されたとき、前記第1のコマンドとは異なる第2のコマンドに対応する、請求項28に記載のシステム。
【請求項３０】
前記ジェスチャを検出するステップの前に、
前記ユーザの前記識別情報を認証するための手段と、
前記ジェスチャに対応する第1のユーザ入力を受信するための手段と、
前記少なくとも1つのコマンドに対応する第2のユーザ入力を受信するための手段と、
前記ジェスチャおよび前記のユーザの前記識別情報を、前記少なくとも1つのコマンドに関連付けるための手段とをさらに備える、請求項28に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本特許出願は、2011年10月12日に出願された米国仮特許出願第61/546,531号「Authenticated Gesture Recognition」の便益を主張し、すべての目的のためにその全体を参照により本明細書に組み込む。
【０００２】
本開示の態様は、コンピューティング技術に関する。詳細には、本開示の態様は、ジェスチャ認識を実行するシステム、方法、装置、およびコンピュータ可読媒体などのモバイルコンピューティングデバイス技術に関する。
【背景技術】
【０００３】
スマートフォン、タブレットコンピュータ、携帯情報端末(PDA)などのコンピューティングデバイス、および他のモバイルデバイスは、これらのデバイスが動作および/または他の感知された状態をユーザ入力の形態で取得することを可能にし得るタッチスクリーン、加速度計、カメラ、近接センサ、マイク、および/または他のセンサをますます含むようになっている。いくつかのデバイスでは、たとえば、特定の動きおよび/または出来事が、たとえば特定のコマンドに対応するジェスチャとして認識され得る。たとえば、デバイスは、左スワイプ(たとえば、ユーザがデバイスを横切って左に指をスライドする)などのあるジェスチャを、「前のページ」コマンドに対応するものとして認識することができ、一方、デバイスは、シェイク(たとえば、ユーザがデバイスを振る)などの別のジェスチャを「取消し」コマンドに対応するものとして認識することができる。したがって、この例では、ユーザは対応するジェスチャを実行することによって、デバイスにこれらのコマンドを実行させることができる。本開示の態様は、ジェスチャ認識を実行する、より便利、直観的、かつ機能的な方法を提供する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
認証型ジェスチャ認識を実行するためのシステム、方法、装置、およびコンピュータ可読媒体が提示される。いくつかの現在のコンピューティングシステムは、ジェスチャ認識(たとえば、ユーザによって実行される1つまたは複数のジェスチャを検出して、そのような検出に応答して1つまたは複数の動作を実行することによる)を実装し得るが、これらの現在のシステムは、どのユーザがジェスチャを実行するかに基づいて、特定のジェスチャに応答してどの動作が実行されるかをユーザがカスタマイズすることができない場合がある。さらに、これらの現在のシステムは、ユーザをリアルタイムに(たとえば、ジェスチャがユーザによって実行される時に、および/またはコンピューティングデバイスによって検出される時に)識別することができず、あるいは、複数のユーザが、単一のデバイスで同時にジェスチャを実行することができない、および/または単一のデバイスと同時に対話することができない場合がある。
【０００５】
しかしながら、後述のように、認証型ジェスチャ認識は、ハンドヘルドデバイス、タブレット、スマートフォン、または他のモバイルデバイスなどのコンピューティングデバイスに実装されることがあり、コンピューティングデバイスは、タッチベースの、および/または他のタイプのデバイスによって検出されるユーザ入力(たとえば、1つまたは複数のカメラ、マイク、近接センサ、ジャイロスコープ、加速度計、圧力センサ、グリップセンサ、タッチスクリーンなどを使用して検出されるユーザ入力)を含み得る様々な入力ジェスチャに応答して実行される動作を個別にカスタマイズしたいと望むことがある異なるユーザによって共有される。そのようなジェスチャ認識は、検出されたジェスチャに応答してどのコマンドが実行されるべきかを決定する前に、デバイスがユーザの識別情報(identity)を決定し得る、および/または、他の方法でユーザを認証し得るので、「認証型」と見なすことができる。さらに、異なるユーザの異なるコマンドに対応するために、特定のジェスチャが「オーバーロード」またはカスタマイズされ得るので、どのコマンドが実行されるべきかの決定は、決定されたユーザの識別情報に基づき得る。さらに、特定のジェスチャを実行しているユーザの識別情報がリアルタイムに決定され得る(たとえば、ジェスチャが実行および/または検出される時にデバイスによって実質的に同時に取得されたセンサ入力を使用して)ので、ユーザはデバイスと対話する前にデバイスに「ログイン」する必要がない、および/または複数のユーザが単一のデバイスで同時に対話することができる。
【課題を解決するための手段】
【０００６】
本開示の1つまたは複数の態様によれば、ユーザによって実行されるジェスチャが検出され得る。続いて、検出されたジェスチャと実質的に同時に取得されたセンサ入力に基づいて、ユーザの識別情報が決定され得る。その後、ユーザの識別情報に基づいて、検出されたジェスチャが、複数のコマンドのうちの少なくとも1つのコマンドに対応すると決定され得る。次いで、その少なくとも1つのコマンドが実行され得る。
【０００７】
さらに、上述のように、同じジェスチャが異なる動作に対応することを指定する嗜好を、異なるユーザが設定し得る。したがって、あるさらなる実施形態では、検出されたジェスチャ(たとえば、左スワイプ)が第1のユーザによって実行されたとき、第1のコマンド(たとえば、次のページコマンド)に対応してよく、同じ検出されたジェスチャ(たとえば、左スワイプ)が第1のユーザとは異なる第2のユーザによって実行されたとき、第1のコマンドとは異なる第2のコマンド(たとえば、前のページコマンド)に対応してよい。そのような実施形態は、単一のデバイスが、家族の異なる構成員や、職場における異なる従業員など、複数の人々によって使用されている場合に有益となり得る。たとえば、タブレットまたは他のモバイルデバイスが、病院または他の医療機関の異なる従業者によって使用されてもよい。
【０００８】
他の実施形態によって、ユーザがデバイスの認証型トレーニング(training)を実行することを可能にすることができ、異なるジェスチャの検出に応答して異なる動作を実行するようにデバイスをプログラムすることができる。たとえば、これらの実施形態では、ジェスチャが検出される前に、ユーザの識別情報が認証され得る(たとえば、ユーザログインプロンプトを介して、カメラなどの1つまたは複数のセンサからのユーザ入力を使用して、等)。ユーザの識別情報が認証された後で、ジェスチャに対応する第1のユーザ入力が受信されて、特定のコマンドに対応する第2のユーザ入力が受信され得る。続いて、ユーザのジェスチャおよび識別情報を、特定のコマンドに関連付けることができる(たとえば、ジェスチャマップ、またはジェスチャ情報が格納されている他のデータ表もしくはデータベース内の情報を更新することによって)。いくつかの実施形態では、ユーザを認証するためにジェスチャが使用され得る。認証後、第2の検出されたジェスチャが、ユーザからのコマンドとして感知され得る。別の実施形態では、ジェスチャを一意にユーザに関連付けることと、コマンドに関連付けることの両方が可能でよい。したがって、ジェスチャはユーザを認証するためだけでなく、同時にコマンドを提供するためにも使用され得る。
【０００９】
他の実施形態では、ジェスチャ認識の仕組みは、ユーザの識別情報に基づいて異なってよい。たとえば、異なるユーザからのジェスチャ入力を検出する際に、異なるセンサおよび/またはセンサの組合せが使用されてよい。別の言い方をすれば、少なくとも1つの実施形態では、ジェスチャが検出される前に、ユーザの識別情報に基づいて、1つまたは複数のジェスチャを検出する際に複数のセンサのうちの1つまたは複数の特定のセンサが使用されると決定されてもよい。この実施形態の少なくとも1つの変形形態では、ユーザによって1つまたは複数の特定のセンサが指定され得る(たとえば、第1のユーザは、第1のユーザからのジェスチャ入力を検出する際にカメラセンサだけが使用されるべきであると指定することができ、一方、第2のユーザは、第2のユーザからのジェスチャ入力を検出する際にカメラセンサと加速度計の両方が使用されるべきであると指定することができる)。いくつかの実施形態では、コンピューティングデバイス上で実行しているジェスチャ検出エンジンは、複数のユーザにとって異なるように構成され得る。たとえば、パニング動作を検出する際に、パンの速度のしきい値、および/またはパンの距離のしきい値が、ユーザごとに異なるように定義され得る。したがって、機能またはコマンドへのジェスチャのマッピングが複数のユーザごとに一意であってよいだけでなく、ジェスチャが検出される方法がユーザごとに異なっていてよい。さらに、あるユーザに関連付けられるジェスチャのセットが、第2のユーザに関連付けられるジェスチャのセットとは異なっていてよい。
【００１０】
他の実施形態では、特定のジェスチャに応答して実行される動作は、そのジェスチャを実行しているユーザの識別情報だけでなく、デバイス上で現在実行されている、および/または現在アクセスされているアプリケーション(たとえば、ジェスチャを入力として受信するべき、および/またはジェスチャに応答して何らかの動作を実行するべきソフトウェアアプリケーション)にも依存し得る。たとえば、第1のアプリケーション(たとえば、ワープロアプリケーション)では、「右シェイク」ジェスチャは第1のコマンド(たとえば、消去コマンド)に対応することができ、第2のアプリケーション(たとえば、カーレースのビデオゲーム)では、同じ「右シェイク」ジェスチャは第2のコマンド(たとえば加速コマンド)に対応することができる。
【００１１】
他の実施形態では、特定のジェスチャに応答して実行される動作は、特定のアプリケーションを開くことと、次いで新しく開かれたアプリケーション内の特定のコマンドを実行することの両方を含み得る。そのようなジェスチャは、たとえば、オペレーティングシステムの「ホーム」またはメニュースクリーンが表示されている間に検出されてよく、かつ、さらなる、または代替の構成では、そのようなジェスチャは、別のアプリケーション(たとえば、開かれるべきアプリケーションとは異なる)が現在実行されている、および/またはアクティブに表示されている間に検出されてよい。たとえば、コンピューティングデバイスによってホームスクリーンが表示されている間に、ユーザは、ユーザがデバイスのタッチスクリーン上で封筒の輪郭を描くなどの特定のジェスチャを実行することができ(および、デバイスが検出することができ)、ジェスチャの検出に応答して、デバイスは電子メールアプリケーションを開く、および/または表示することと、ユーザが新しい電子メールメッセージを作成することができるユーザインターフェースを電子メールアプリケーション内にさらに開く、および/または表示することとの両方を行うことができる。別の例として、コンピューティングデバイスによって電子メールアプリケーションが表示されている間に、ユーザは、ユーザがデバイスのタッチスクリーン上で特定の数の輪郭を描くなどの別のジェスチャを実行することができ、ジェスチャの検出に応答して、デバイスは電卓アプリケーションを開く、および/または電卓アプリケーションの表示に切り替えることができる。これらの例に示されるように、いくつかのジェスチャは異なるアプリケーションにわたって認識されてよく、かつ/またはアプリケーション非依存性のコマンドにマッピングされてよい。さらに、または代替で、複数の動作にいくつかのジェスチャをマッピングできるので、そのようなジェスチャの検出に応答して複数のコマンドが実行され得る。
【００１２】
他の実施形態では、デバイス(たとえば、スマートフォン)上のユーザ固有のジェスチャ嗜好設定が、もう1つの別のデバイス(たとえば、タブレットコンピュータ)に転送され得る。これらの実施形態では、検出されたジェスチャが特定のコマンドに対応すると決定するステップは、ユーザの識別情報だけでなく、ユーザがジェスチャに関する嗜好を元々設定した、および/または他の方法でジェスチャマッピングデータ作成したデバイスなどの、別のデバイスから受信したジェスチャマッピングデータにも基づいてよい。したがって、ジェスチャマッピングデータは、あるユーザデバイスから別のユーザデバイスに、直接または通信ネットワークおよび/または中間サーバを通じて送信され得る。一実施形態では、ジェスチャマッピングデータはサーバに格納されて、ユーザデバイスがジェスチャの意味を決定する時にアクセスされるか、またはユーザが認証される時に、ユーザのジェスチャマッピングデータのライブラリがサーバからダウンロードされる。いくつかの態様では、ジェスチャマッピングデータは、ユーザデバイスにローカルに格納される。そのような構成では、ジェスチャデータはユーザおよび/またはアプリケーションによって異なってよいだけでなく、デバイス間でも異なってよい。
【００１３】
一実施形態では、デバイスは、複数のユーザから実質的に同時にジェスチャを検出し得る。たとえば、2人のユーザが単一のデバイスを使用してビデオゲームをすることができ、1人のユーザがデバイスのディスプレイの第1の半分をタッチすることによってゲームを制御して、もう1人のユーザがディスプレイの第2の半分をタッチすることによってゲームを制御することができる。ユーザごとに異なるジェスチャを検出することができ、かつ/または検出された同じジェスチャをユーザごとに異なるコマンドに関連付けることができる。一実施形態では、複数のユーザの各々からのジェスチャを、1つのカメラまたは複数のカメラによって検出することができ、各ユーザのジェスチャを使用して、それぞれのユーザの識別情報に基づいてコマンドを決定することができる。
【００１４】
本開示の態様が例として示される。添付の図面において、同様の参照番号は類似の要素を示す。
【図面の簡単な説明】
【００１５】
【図１】本開示の1つまたは複数の態様を実装することができる例示的デバイスを示す図である。
【図２】本開示の1つまたは複数の例示的態様による、認証型ジェスチャ認識を実行する例示的方法を示す図である。
【図３Ａ】本開示の1つまたは複数の例示的態様による、ユーザがジェスチャを実行できる方法、およびデバイスがジェスチャを検出できる方法の例を示す図である。
【図３Ｂ】本開示の1つまたは複数の例示的態様による、ユーザがジェスチャを実行できる方法、およびデバイスがジェスチャを検出できる方法の別の例を示す図である。
【図４】本開示の1つまたは複数の例示的態様による、複数のユーザがジェスチャを実行できる方法、およびデバイスがジェスチャを検出してユーザを識別できる方法の例を示す図である。
【図５Ａ】本開示の1つまたは複数の例示的態様による、複数のユーザがジェスチャを実行できる方法、およびデバイスがジェスチャを検出してユーザを識別できる方法の別の例を示す図である。
【図５Ｂ】本開示の1つまたは複数の例示的態様による、複数のユーザがジェスチャを実行できる方法、およびデバイスがジェスチャを検出してユーザを識別できる方法の別の例を示す図である。
【図６】本開示の1つまたは複数の態様を実装することができる、例示的コンピューティングシステムの例を示す図である。
【発明を実施するための形態】
【００１６】
次に、いくつかの例示的実施形態を、本明細書の一部を形成する添付の図面に関連して説明する。以下では、本開示の1つまたは複数の態様が実装され得る特定の実施形態を説明するが、他の実施形態が使用されてよく、本開示の範囲、または添付の特許請求の範囲の趣旨から逸脱することなしに、様々な修正が行われてよい。
【００１７】
図1は、本開示の1つまたは複数の態様を実装することができる例示的デバイスを示している。たとえば、コンピューティングデバイス100は、スマートフォン、タブレットコンピュータ、携帯情報端末、またはコンピューティングデバイス100が動作および/または他の感知された状態をユーザ入力の形態で取得することを可能にする1つまたは複数のセンサを備えた他のモバイルデバイスでよい。たとえば、コンピューティングデバイス100は、1つまたは複数のカメラ、マイク、近接センサ、ジャイロスコープ、加速度計、圧力センサ、グリップセンサ、タッチスクリーン、電流センサもしくは容量センサ、および/または他のセンサを備えてもよく、それらと通信可能に連結されてもよく、かつ/または他の方法でそれらを含んでもよい。以下でより詳細に説明するように、コンピューティングデバイス100は、1つまたは複数のセンサを含むことに加えて、1つまたは複数のプロセッサ、メモリユニット、および/または他のハードウェアコンポーネントも含むことができる。
【００１８】
1つまたは複数の構成では、コンピューティングデバイス100は、デバイスの1人または複数のユーザによって実行されるジェスチャを認識するために、これらのセンサのうちのいずれか、および/またはすべてを、単独で、または組み合わせて使用することができる。たとえば、コンピューティングデバイス100は、1つまたは複数のカメラを使用して、他の可能な動きの中でも、手の揺れやスワイプ動作などのユーザによって実行される手および/または腕の動きを取得することができる。さらに、1つまたは複数のカメラ(および/または他のセンサ)によって、ユーザによって実行される体全体の動き(たとえば、歩行、ダンス等)などの、より複雑な、および/またはスケールの大きい動きを同様に取得して、続いて、たとえばコンピューティングデバイス100によって、ジェスチャとして認識することができる。他の例では、コンピューティングデバイス100は、1つまたは複数のタッチスクリーンを使用して、他の可能な動きの中でも、ピンチ、スワイプ、および回転などのユーザによって提供されるタッチベースのユーザ入力を取得することができる。単独でジェスチャと見なされ得る、および/あるいはより複雑なジェスチャを形成するために他の動きまたは動作と結合され得る、これらのサンプルの動きを例として説明したが、他の任意の種類の身ぶり、動き、動作、または他のセンサで取得されるユーザ入力が、コンピューティングデバイス100などの本開示の1つまたは複数の態様を実装するコンピューティングデバイスによって同様にジェスチャ入力として受信されてよく、かつ/またはジェスチャとして認識されてよい。
【００１９】
いくつかの構成では、たとえば、深度カメラなどのカメラを使用して、ジェスチャの認識またはユーザのジェスチャの変化に基づいてコンピュータまたはハブを制御することができる。指紋の有害で曖昧な影響という欠点があるいくつかのタッチスクリーンシステムとは異なり、カメラベースのジェスチャ入力は、ユーザの自然な体の動きまたはポーズに基づいて、写真、ビデオ、または他の画像が明確に表示される、または他の方法で出力されることを可能にする。この利点を念頭において、ジェスチャは、ユーザが画像オブジェクトを閲覧、パン(すなわち、移動)、サイズ変更、回転すること、および画像オブジェクトに他の操作を実行することを可能にするものであると認識され得る。
【００２０】
いくつかの実施形態では、飛行時間型カメラ(time-of-flight camera)として実装され得る深度カメラは、赤外線エミッタおよびセンサを含み得る。深度カメラは、赤外光のパルスを生成して、続いて光がオブジェクトに移動してセンサに戻ってくるのにかかる時間を測定し得る。距離は、移動時間に基づいて計算され得る。さらに、またはその代わりに、たとえばステレオカメラなどの他の深度カメラを使用することができる。いくつかの実施形態では、2次元画像だけを取得するカメラが使用されてもよく、またはカメラ以外のセンサが使用されてもよい。いくつかの実施形態では、ライトフィールドカメラ(light field camera)が使用される。
【００２１】
本明細書で使用されるように、「ジェスチャ」は、人体の一部を使って行われる非言語的コミュニケーションの形態を指すことを意図しており、スピーチなどの言語的コミュニケーションとは対照的である。たとえば、ジェスチャは、第1の位置、ポーズ、または表情と、第2のポーズ、位置、または表情との間の動き、変化、または変質によって定義され得る。日常会話で使用される一般的なジェスチャには、たとえば、「エアクォーツ(air quote)」ジェスチャ、おじぎジェスチャ、膝を曲げる女性のおじぎ(a curtsey)、頬へのキス、指や手の動作、ひざまずくこと、頭を振ることもしくは動き、ハイタッチ、うなずき、悲しい顔、拳を上げること、敬礼、親指を立てる動作、つまむジェスチャ、手または体をねじるジェスチャ、または指さしジェスチャがある。ジェスチャは、カメラを使用してユーザの画像を分析することなどによって、傾斜センサを使用してユーザがデバイスを持っている、または傾けている角度を検出することなどによって、または他の何らかの手法で検出され得る。
【００２２】
体の一部は、体の位置を変えること(すなわち、揺らす動作)によってジェスチャを行う(すなわち「身ぶりで示す」)ことができ、または体の一部は、体の位置を変えずに(すなわち、握りこぶしのジェスチャを作ることによって)身ぶりで示すことができる。ある構成では、カメラ入力を介して機能の制御を行うために手および腕のジェスチャを使用することができ、他の構成では、他のタイプのジェスチャを使用することもできる。さらに、または代替で、1つまたは複数のジェスチャを行う、および/または検出する際に、手および/または他の体の一部(たとえば、腕、頭、胴体、脚、足など)を動かすことができる。たとえば、あるジェスチャは、片方または両方の手を動かすことによって実行することができ、他のジェスチャは、片方または両方の手を、片方または両方の腕、片方または両方の脚などと組み合わせて動かすことによって実行することができる。
【００２３】
1つまたは複数の例示的利用状況では、コンピューティングデバイス100のようなデバイスが、複数のユーザによって使用されてもよく、かつ/または共有されてもよい。たとえば、コンピューティングデバイス100は、父親、母親、息子、および娘などの家族間で共有されるタブレットコンピュータでよい。各ユーザは、異なる目的でデバイスを使用する場合があり、デバイスが各ユーザは、彼らの個々の好み、習慣、および/または嗜好に合わせて、特定の入力ジェスチャに対して異なるように応答することを望む場合がある。たとえば、家族の中の母親などのあるユーザは、電子書籍を読むためにタブレットコンピュータを使用する場合があり、彼女はあるジェスチャ(たとえば、左スワイプジェスチャ)が特定のコマンド(たとえば、表示されている電子書籍などの、表示されているコンテンツ内の次のページに進むことができる、次のページコマンド)に対応することを好む場合がある。しかしながら、息子などの、この例の別のユーザは、インターネットサイトを閲覧するためにタブレットコンピュータを使用する場合があり、彼は同じジェスチャ(たとえば、左スワイプジェスチャ)が彼の母親とは別のコマンド(たとえば、表示されているインターネットサイトなどの表示されているコンテンツ内の以前のページに戻ることができる、前のページコマンド)に対応することを好む場合がある。
【００２４】
従来のジェスチャ認識システムでは、デバイスが彼らのうちの1人の嗜好に合うように構成されている場合、たとえば再構成しないとデバイスはもう1人の嗜好によって機能しない可能性があるので、この例の母親と息子は非常に大きな苛立ちを感じる場合がある。しかしながら、以下で例示的方法に関連して説明するように、認証型ジェスチャ認識を実行することによって、この例の家族間で共有されるコンピューティングデバイスを、それぞれの独自の嗜好によって各ユーザに応答するように構成することができる。
【００２５】
上記の例は、本開示の態様が、コンピューティングデバイスが家族間で共有される状況にどのように関連し得るかを説明しているが、本明細書で説明する技術の他の多くの潜在的な用途がある。たとえば、ジェスチャ認識が可能なデバイスが、医師、看護師、および病院の他の勤務者間で、小売店や倉庫のスタッフ間で、企業の従業員間で、および他の多くの状況で共有される場合、同様の状況が発生する場合がある。たとえば、異なるユーザがそれぞれのジェスチャを使用してゲームを制御することが望ましい場合がある。これらの状況のいずれか、および/またはすべてにおいて、以下で説明するように、認証型ジェスチャ認識を実行することによって、デバイスの各個々のユーザが、特定のデバイスが個々のユーザによって提供されたジェスチャ入力に対してどのように応答するかをカスタマイズすることが可能になる。
【００２６】
図2は、本開示の1つまたは複数の例示的態様による、認証型ジェスチャ認識を実行する例示的方法を示している。1つまたは複数の態様によれば、本明細書で説明する方法および/または方法ステップのうちのいずれか、および/またはすべてを、たとえばコンピューティングデバイス100および/または以下でより詳細に説明するコンピュータシステムなどのコンピューティングデバイスによって実装する、および/またはそれに実装することができる。一実施形態では、図2に関して以下で説明する方法ステップのうちの1つまたは複数が、デバイス100のプロセッサによって実装される。さらに、または代替で、本明細書で説明する方法および/または方法ステップのうちのいずれか、および/またはすべてが、コンピュータ可読媒体に格納されたコンピュータ可読命令などの、コンピュータ可読命令に実装され得る。
【００２７】
ステップ201で、1つまたは複数のジェスチャをユーザ入力として認識することができるコンピューティングデバイス(たとえばコンピューティングデバイス100)などのコンピューティングデバイスが初期化されてもよく、かつ/または1つまたは複数の設定がロードされてもよい。たとえば、コンピューティングデバイスの電源がまず投入されると、デバイス(たとえば、そこに格納された、および/またはそこで実行されるソフトウェアに関連する)は、ジェスチャに関連するユーザ嗜好などの、1つまたは複数の設定をロードすることができる。少なくとも1つの構成では、これらのユーザ嗜好は、特定のジェスチャが特定のユーザ識別子および特定のコマンドによって格納されるジェスチャマッピング情報(たとえば、いくつかの例ではジェスチャマップと呼ばれ得るデータ表)を含み得る。上述のように、異なるユーザは、同じジェスチャの検出に応答して異なるコマンドが実行されるように指定することができ、これは対応するジェスチャマップに反映され得る。以下の表(以下で「表A」とラベル付けされた)は、そのようなジェスチャマップの例を示している。
【００２８】
【表１】
0005837991.tif 000002
【００２９】
上記の例示的な表はジェスチャごとの名称を含むが、いくつかの構成では、そのような表(たとえば、ジェスチャマップ)は、ジェスチャごとの名称の代わりに、またはそれに加えて、各ジェスチャについてのより詳細な情報を含み得る。たとえば、いくつかの構成では、ジェスチャマップは、各ジェスチャが、1つまたは複数の特定のセンサによって特定の順序で受信された動作のパターンおよび/または他のユーザ入力として定義される、複数のジェスチャについての情報を含み得る。上記の表によって表される例示的ジェスチャマップに示された情報の代わりに、および/またはそれに加えて、他の情報が同様に含まれ得る。
【００３０】
たとえば、いくつかの構成では、ジェスチャマッピング情報は、特定のユーザによって実行される特定のジェスチャを特定のコマンドに関連付けるだけでなく、特定のアプリケーション(たとえば、ソフトウェアプログラム)内で特定のユーザによって実行される特定のジェスチャを特定のコマンドに関連付けることもできる。言い換えれば、いくつかの構成では、異なるユーザ(または、たとえ同じユーザであってもよい)は、異なるアプリケーションで実行されたとき、同じジェスチャに応答して異なるコマンドが実行されるべきであると指定することができる。たとえば、ユーザは、「右シェイク」ジェスチャが第1のアプリケーション(たとえば、ワープロアプリケーション)で実行されたとき、第1のコマンド(たとえば、消去コマンド)に対応し、また、同じ「右シェイク」ジェスチャが第2のアプリケーション(たとえば、カーレースビデオゲーム)で実行されたとき、第2のコマンド(たとえば、加速コマンド)に対応すると指定することができる(および、対応するジェスチャマッピング情報は反映することができる)。この関係は、上記の表によって表される例示的ジェスチャマップなどのジェスチャマップに反映されてよく、この構成では、ジェスチャマップは、アプリケーション名または他の識別子が指定される、さらなる列を含み得る。
【００３１】
少なくとも1つの構成では、上記の表で示した例示的ジェスチャマップなどのジェスチャマッピング情報は、ユーザによって1つのデバイス(たとえば、ユーザのスマートフォン)でプログラムおよび/または作成されて、もう1つの別のデバイス(たとえば、ユーザのタブレットコンピュータ)に転送されてよい。たとえば、スマートフォンでジェスチャ認識に関連する様々な嗜好を設定して、および/またはジェスチャマッピング情報を作成して、ユーザは、そのような嗜好および/またはジェスチャマッピング情報を格納することができるデータファイル(たとえば、XMLファイル)を保存することができる(および、実行されるスマートフォンおよび/またはソフトウェアが生成することができる)。続いて、この例では、ユーザは2つのデバイス間でデータファイルを送る、送信する、および/または他の方法で共有することができるので、ユーザのジェスチャ認識嗜好および/またはジェスチャマッピング情報を格納しているデータファイルが、他のデバイスにロードされる。
【００３２】
少なくとも1つのさらなる、または代替の構成では、上記の表で示した例示的ジェスチャマップなどのジェスチャマッピング情報が、サーバ上に格納されて、デバイスがジェスチャの意味を決定する際に(たとえば、デバイスが、ジェスチャを実行した特定のユーザに関連するジェスチャの検出に応答して、どの動作またはコマンドが実行されるべきかを決定する時に)アクセスされ得る。たとえば、そのようなジェスチャマッピング情報は、たとえばユーザが異なるデバイスにわたってジェスチャマッピング情報を共有することを可能にするために、インターネットサーバに格納されてもよく、かつ/または、ユーザによっておよび/またはユーザについて作成および/または維持されたプロファイルに関連付けられてもよい。
【００３３】
任意のステップ202で、ユーザが承認され得る。たとえば、任意のステップ202で、ユーザにユーザ識別子および/またはパスワードの入力を促すことによって、コンピューティングデバイスがユーザを認証することができ、これによって、デバイスが複数のユーザのうちのどのユーザが現在デバイスを使用しているかを決定することを可能にし得る。いくつかの構成では、コンピューティングデバイスは、1つまたは複数のセンサを介してデバイスによって受信された入力に基づいてユーザを認証することができる。言い換えれば、1つまたは複数の構成では、コンピューティングデバイスは、ジェスチャ入力(たとえば、特定のジェスチャに対応する1つまたは複数のセンサから受信した入力)と実質的に同時に取得されるセンサ入力(たとえば、カメラ、マイク、近接センサ、ジャイロスコープ、加速度計、圧力センサ、グリップセンサ、タッチスクリーンなどの、ジェスチャを検出する、および/または他の方法で認識するために使用されるセンサなどの、1つまたは複数のセンサから受信したデータ)に基づいて、ユーザを認証する、および/または他の方法で識別することができる。たとえば、コンピューティングデバイスは、ジェスチャを認識する際にやはり使用され得る1つまたは複数のセンサ(たとえば、タッチスクリーン、カメラ、および/またはグリップセンサ)を介して受信したユーザの指紋に基づいてユーザを識別することができる。したがって、これらの構成では、ユーザ認証はジェスチャ認識と並行して発生し得る。たとえば、ユーザがデバイスのタッチスクリーンをスワイプする(たとえば、それによってスワイプジェスチャを実行する)時、および/またはその間に、ユーザの指紋を読み取ることができる。この例では、ユーザを識別するために、コンピューティングデバイスによってユーザの指紋を使用することができ、またユーザの指紋が、ジェスチャ入力と実質的に同時に取得されたセンサ入力になり、ジェスチャ入力がスワイプ動作自体に対応する。同様に、ユーザによって実行される、特定の表情を備えるジェスチャの検出と並行して特定のユーザを識別するために、顔認識機能を実行することができる。
【００３４】
別の例では、デバイスによって、ジェスチャ入力と実質的に同時に、音(たとえば、心臓の鼓動、声など)および/または匂い(たとえば、個々の独自の匂い)を取得および/または検出することができ、続いてユーザを認証するために使用することができる。たとえば、コンピューティングデバイスは、デバイスの近傍の音を取得するように構成された1つまたは複数のマイクを備えることができる。この例示的構成では、デバイスは、ジェスチャ入力を受信しながらユーザの心臓の鼓動および/または声などのユーザ関連の音も取得することができるので、デバイスはユーザ関連の音に基づいてユーザを認証することができ、続いて、決定された/認証されたユーザの識別情報に基づいて1つまたは複数のコマンドを実行することができる。デバイスは、別の方法を使用して、たとえばユーザの肌を越えて電気信号を測定することによって、心臓の鼓動を測定または識別するセンサを含むことができる。いくつかの実施形態では、ユーザのジェスチャを検出するために超音波が使用され得る。たとえば、ユーザが超音波を放射するデバイスを保持することができ、そのデバイスの動きが複数のマイクによって検出され得る。さらに、または代替で、コンピューティングデバイスは、デバイスの近傍の匂いを取得するように構成された1つまたは複数のセンサ備え得る。そのような例示的構成では、デバイスは、ジェスチャ入力を受信しながら香気や臭気などのユーザ関連の匂いも取得することができるので、デバイスはユーザ関連の匂いに基づいてユーザを認証することができ、続いて、決定された/認証されたユーザの識別情報に基づいて1つまたは複数のコマンドを実行することができる。
【００３５】
別の例では、ユーザは、ユーザによって実行されるジェスチャが、近接センサを介して検出される、および/または他の方法で受信される間に、カメラ入力を介して認証され得る。たとえば、コンピューティングデバイスの近接センサが、ユーザによって実行されるジェスチャ(たとえば、ユーザの手がコンピューティングデバイスに近づいてくる)を取得した、および/または他の方法で検出したのと同時に、コンピューティングデバイスは、コンピューティングデバイスに接続されたカメラからセンサ入力も受信することができ、カメラから受信されたセンサ入力は、コンピューティングデバイスがユーザの識別情報を決定するために、および/または他の方法でユーザを認証するために使用し得るユーザの画像を含む。上述のように、次いでコンピューティングデバイスは、たとえば決定されたユーザの識別情報に基づいて、ジェスチャの検出に応答してどのコマンドを実行するべきかを決定することができる。他の構成では、コンピューティングデバイスは、ジェスチャが認識された後(たとえば、デバイスによってジェスチャが検出された後)までユーザを認証することができない場合があり、したがって、1つまたは複数の構成では、ステップ202でユーザを認証することは任意でよい。
【００３６】
ステップ203で、ジェスチャが検出されたかどうかが決定され得る。たとえば、ステップ203で、コンピューティングデバイスは、ジェスチャとして認識され得る、および/または他の方法でジェスチャに対応する入力を受信したか(たとえば、上記で説明したセンサなどの、デバイスに含まれる1つまたは複数のセンサを介して)どうかを決定することができる。
【００３７】
ステップ203で、ジェスチャが検出されたと決定された場合、次いでステップ204で、ユーザが認証されたかどうかが決定され得る。以下でさらに説明するように、ジェスチャを実行したユーザの識別情報は、ジェスチャの検出に応答してデバイスによってどのコマンドが実行されるかに影響を与え得るので、たとえばステップ204で、コンピューティングデバイスが、ユーザがすでに認証された、および/または他の方法で識別されたか(たとえば、ステップ202で)どうかを決定することができる。いくつかの実施形態では、たとえばユーザを認証するために、検出されたジェスチャ自体、またはジェスチャとともに受信された入力が使用される場合、ステップ204でユーザが認証されたかどうかの決定は、ステップ203のジェスチャの検出と実質的に同時に実行される。いくつかの実施形態では、ステップ204でユーザが認証されたかどうかの決定は、ステップ203のジェスチャの検出の前に実行される。そのような実施形態では、ジェスチャを検出するためにユーザの識別情報が使用され得る。たとえば、以下でさらに詳細に論じるように、利用可能なセンサのサブセットを使用してジェスチャが検出され得る。さらに、ジェスチャ検出エンジンは、ステップ203でジェスチャが検出されたかどうかを決定することができる。エンジンの動作および/またはパラメータは、認証されたユーザに基づいて決定され得る。したがって、ユーザ認証は、ジェスチャのコマンドへのマッピングを決定し得るだけでなく、ジェスチャが検出される方式に影響を与え得る。いくつかの実施形態では、ジェスチャ検出エンジンは、デバイス100に、たとえばデバイス100のメモリまたはプロセッサに格納される。エンジンは、ジェスチャを検出するために、および/または検出されたジェスチャに基づいてアプリケーションまたは機能の動作に影響を与えるために使用され得る、命令またはデータを備え得る。たとえば、ユーザがデバイス100を使用してジェスチャを行うと、エンジンはそのジェスチャを評価して、アプリケーションの実行に対するジェスチャの影響を決定し得る。
【００３８】
ステップ204でユーザが認証されていないと決定されると、ステップ205でユーザが認証され得る。いくつかの構成では、たとえユーザが以前に認証されていても(たとえばステップ202で、またはジェスチャ認識ループの以前の反復で)、ステップ204でユーザは認証されていないと決定される場合があるので、ステップ205の認証が実行される。たとえば、ステップ205で、コンピューティングデバイスは、上記のステップ202でユーザが認証され得る方法と同様に(たとえば、ユーザにユーザ識別子および/またはパスワードの入力を求めるプロンプトをユーザに表示することによって、ユーザの顔、指紋、シルエット、および/または他の識別可能な特性および/または特徴を、カメラデータ、タッチデータ等を使用して認識することなどによる、1つまたは複数のセンサから受信した入力に基づいてユーザを識別することによって、および/または他の方法によって)ユーザを認証することができる。
【００３９】
少なくとも1つの構成では、やはり上述のように、ステップ205の認証は、検出されたジェスチャと実質的に同時に取得されたセンサ入力などの、ステップ203でジェスチャの検出とともに収集されたセンサデータに基づき得る。たとえば、デバイスのタッチスクリーンを使用して特定のジェスチャを実行する際に、特定のジェスチャがステップ203で認識された場合、ユーザは、ステップ205でユーザを識別するためにデバイスがさらに使用し得る、タッチベースの入力(たとえば、ユーザの指紋)も同時に提供している場合がある。この機能は、たとえば、同時に異なるユーザによって入力された、または実行されたジェスチャ(たとえば互いにビデオゲームをしながら、両者ともデバイスと対話している2人のユーザ)の認識を可能にすることができる。さらに、この機能は、同時に入力されたジェスチャに関連して、そのようなユーザの認証を可能にし得る(たとえば、どのユーザがどのジェスチャを入力または実行したかを決定できるようにするために)。
【００４０】
本明細書で使用されるように、「実質的に同時に」という語句は、ジェスチャの直前に、ジェスチャと同時に、および/またはジェスチャの直後にユーザによって提供される、および/または1つまたは複数のセンサによって取得される、ユーザ入力を説明するために使用され得る。多くの例では、これらの時間枠は異なっていてもよく、あるいはジェスチャの時間に依存してもよい。たとえば、1秒または2秒の時間にわたって実行されるシンプルなジェスチャの場合、ジェスチャ入力と実質的に同時に取得されるセンサ入力は、ジェスチャ入力の0.5秒前から始まり、ジェスチャ入力の0.5秒後に終わる時間に取得されたセンサ入力を含み得る。別の例では、4秒から5秒の時間にわたって実行されるより複雑なジェスチャの場合、ジェスチャ入力と実質的に同時に取得されるセンサ入力は、ジェスチャ入力の1秒前から始まり、ジェスチャ入力の1秒後に終わる時間に取得されたセンサ入力を含み得る。当業者は、上記で説明した実質的に同時のセンサ入力の例は、多くの実施形態の中のいくつかの実施形態の単なる例にすぎないことを理解できるであろう。「実質的に同時に」という語句は、上述の時間に加えて、たとえば上記で列挙した時間を超える時間を有する時間を含み得る。
【００４１】
1つまたは複数のさらなる、および/または代替の構成では、ステップ205の認証は、ジェスチャおよび/またはジェスチャに対応するセンサデータの取得に関与するリンクされたデバイスに関連付けられる登録情報にさらに基づき得る。たとえば、いくつかの例では、図2に示される例示的方法を実行するコンピューティングデバイスが、1つまたは複数の他のデバイスにリンクされてよく(たとえば、ワイヤードまたはワイヤレスデータ接続を介して)、これは「リンクされたデバイス」と呼ばれ得る。リンクされたデバイスは、たとえば、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、コントローラ、または他のモバイルデバイスでよい。さらに、または代替で、各リンクされたデバイスは、コンピューティングデバイスの複数のユーザのうちの1人または複数のユーザによって使用されているものとしてコンピューティングデバイスに登録されてよく、特定のリンクされたデバイスについての登録情報は、複数のユーザのうちのどのユーザが特定のリンクされたデバイスを使用しているユーザとして登録されているかを示してよい。例として、そのような構成では、コンピューティングデバイスは、セットトップボックスまたは類似のテレビ受信機でよく、またそれぞれがスマートフォンを所有する2人のユーザは、彼らのスマートフォンをセットトップボックスに登録して、彼らのスマートフォンで、または彼らのスマートフォンを使用して他の方法でジェスチャを実行することによって、セットトップボックスと対話、およびセットトップボックスを制御してよい。この例では、セットトップボックスは、2つのスマートフォンからジェスチャ入力を受信することができ、またさらに、2人のユーザのうちのどちらが各スマートフォンを制御しているか、または他の方法で各スマートフォンと対話しているかを示す登録情報に基づいて(ジェスチャ入力に応答してどの動作が実行されるべきかを決定するために)、ユーザを認証することができる。ある例では、スマートフォンは、ジェスチャ入力に対応する未加工のセンサデータを、処理するためにセットトップボックスに送ることができ(たとえば、個々のスマートフォンのうちのいずれかではなく、セットトップボックスが、どの特定のジェスチャが実行されたかを決定できるようにするために)、他の例では、スマートフォン自体が、どのジェスチャが実行されたかを決定するために未加工のセンサデータを処理して、続いて、セットトップボックスで1つまたは複数の応答コマンドを実行することを容易にするために、どのジェスチャが実行されたかの表示をセットトップボックスに送ることができる。
【００４２】
ステップ206で、認証されたユーザの識別情報に基づいて、実行されるべきコマンドが決定され得る。たとえば、ステップ206で、コンピューティングデバイスは、以前にロードしたジェスチャマッピング情報に基づいて、検出されたジェスチャが特定のユーザの特定のコマンドに対応するかどうかを決定するために、ルックアップ操作を実行することができる。これは、たとえば、上記で説明した例示的ジェスチャマップなどのジェスチャマップを相互参照することを含み得る。たとえば、コンピューティングデバイスが、検出されたジェスチャは特定のユーザの特定のコマンドに対応すると決定すると、次いでコンピューティングデバイスは、特定のコマンドが実行されるべきであると決定することができる。いくつかの構成では、コンピューティングデバイスが、特定のユーザは検出されたジェスチャに応答して実行されるべき特定のコマンドを指定していないと決定すると、次いでコンピューティングデバイスは、ジェスチャのデフォルトコマンドが実行されるべきであると決定することができる。
【００４３】
ステップ207で、コマンドが実行され得る。たとえば、ステップ207で、コンピューティングデバイスは、ステップ206で実行されるべきであると決定された特定のコマンドを実行することができる。
【００４４】
続いて、本方法はステップ208に進み得る。ステップ203でジェスチャが検出されていないと決定されると、ステップ208も図2の例示的方法によって示される処理ループの一部として実行され得る。ステップ208で、ジェスチャ認識機能をトレーニングするための要求が受信されたかどうかが決定され得る。たとえば、ステップ208で、コンピューティングデバイスは、ユーザが、ジェスチャマッピング情報を指定する1人または複数のユーザの嗜好などの、ジェスチャ認識設定の編集を要求したかどうかを決定することができる。
【００４５】
ステップ208で、ジェスチャ認識機能をトレーニングする要求が受信されたと決定されると、次いでステップ209で、ジェスチャトレーニングモードに入ることができる。たとえば、ステップ209で、コンピューティングデバイスは、1つまたは複数のユーザインターフェースを表示することができ、それを介して、ユーザは特定のジェスチャの検出に応答してどのコマンドが実行されるべきかを指定する嗜好を入力、および/または編集することができる(たとえば、特定のユーザについて、および/または他のユーザについて)。いくつかの構成では、コンピューティングデバイスは、上記のステップ202およびステップ205でユーザが認証され得る方法と同様に、ユーザを認証する、および/または他の方法で識別することもできる。ステップ209でユーザを認証することによって、たとえばデバイスは、デバイスを実際に使用していると思われる、および/またはそのような設定の編集を要求していると思われる特定のユーザについてのジェスチャ認識設定を表示する、および/またはユーザがジェスチャ認識設定を編集することを可能にすることができる。
【００４６】
さらに、または代替で、ステップ209でコンピューティングデバイスによって表示されるユーザインターフェースのうちの1つまたは複数によって、ユーザは、たとえば特定のユーザによって入力されたジェスチャを検出する際にどのセンサが使用されるべきかを指定する嗜好を編集することが可能になる。たとえば、ユーザは、ユーザによって実行されるジェスチャを検出する際に、タッチスクリーンまたはカメラを介して受信した入力だけが使用されるべきである(および、たとえばグリップセンサから受信した入力は廃棄されるべきである)と指定することができる。他の例では、ユーザは、ジェスチャを検出する際に、デバイスに含まれるすべてのセンサから受信した入力が考慮されるべきであると指定することができる。他の多くの組合せが可能であり、ユーザによって所望に応じて指定され得る(たとえば、1つまたは複数のユーザインターフェースを介して)。
【００４７】
ステップ210で、ジェスチャ入力が受信され得る。たとえば、ステップ210で、コンピューティングデバイスが特定のジェスチャに対応する1つまたは複数のセンサを介して入力を受信し得る。たとえば、ユーザは左スワイプジェスチャを実行することができ、デバイスは、左スワイプジェスチャを取得する備えられたタッチスクリーンおよび備えられたカメラを介して入力を受信することができる。さらに、または代替で、この例においてそのような入力を受信すると、デバイスはそのような入力を処理して(たとえば、1つまたは複数のジェスチャ認識アルゴリズムを使用して)、これらのセンサを介して取得された動作が、たとえば左スワイプジェスチャに対応すると決定することができる。
【００４８】
ステップ211で、ジェスチャ(たとえば、受信されたジェスチャ入力に対応するジェスチャ)にマッピングされるべきコマンドの選択が受信され得る。たとえば、ステップ211で、コンピューティングデバイスは、ユーザによって実行されるジェスチャ(たとえば、ステップ210でジェスチャ入力として受信されたジェスチャ)に応答して実行されるべきコマンドを選択する(たとえば、利用可能なコマンドのリストから)よう、ユーザに促すことができる。続いて、この例では、コンピューティングデバイスは、たとえば表示されるプロンプトを介して、コマンドがどのジェスチャ(たとえば、受信されたジェスチャ入力に対応するジェスチャ)にマッピングされるかというユーザのコマンドの選択を受信することができる。
【００４９】
続いて、ステップ212で、受信されたジェスチャ(たとえば、受信されたジェスチャ入力に対応するジェスチャ)、およびユーザの識別情報(たとえば、ステップ209で認証されたユーザの識別情報)が格納され得る。たとえば、ステップ212で、コンピューティングデバイスは、ユーザ識別情報に関連して受信されたジェスチャを格納するために、たとえばジェスチャマップを格納するデータ表などの、ジェスチャマッピング情報を更新することができる。
【００５０】
さらに、ステップ213で、ユーザが受信されたジェスチャを特定のアプリケーション内の特定のコマンドにマッピングすることを望む場合、次いで特定のアプリケーションが指定され得るか、かつ/またはそれに関連する情報が格納され得る。たとえば、ステップ213で、コンピューティングデバイスは、特定のアプリケーション内の選択されたコマンドにマッピングするために、受信されたジェスチャを選択するユーザ入力を受信することができ、続いて、コンピューティングデバイスは、受信されたジェスチャおよびユーザ識別情報に関連する特定のアプリケーションについての情報を格納するために、たとえばジェスチャマップを格納するデータ表などの、ジェスチャマッピング情報を更新することができる。
【００５１】
その後、ステップ214で、受信されたジェスチャが選択されたコマンドにマッピングされ得る。たとえば、受信されたジェスチャを選択されたコマンドにマッピングする際に、コンピューティングデバイスは、特定のユーザ(たとえば、トレーニングモードの初めにステップ209で認証されたユーザ)によって実行された場合、特定のジェスチャ(たとえば、ステップ210で受信したジェスチャ入力に対応するジェスチャ)の検出に応答して、選択されたコマンド(たとえば、ステップ211でユーザによって選択されたコマンド)が実行されるべきであると指定するために、たとえばジェスチャマップを格納するデータ表などの、ジェスチャマッピング情報を更新することができる。さらに、または代替で、ジェスチャ-コマンドマッピングのために特定のアプリケーションが指定されると、および/または特定のアプリケーションについての情報が格納されると(たとえば、ステップ213で)、次いで、コンピューティングデバイスは、特定のアプリケーションがアクセスされている間に特定のユーザによって実行されたとき、特定のジェスチャの検出に応答して、選択されたコマンドが実行されるべきであると指定するために、ジェスチャマッピング情報(たとえば、ジェスチャマップを格納するデータ表)を更新することができる。
【００５２】
ある構成では、次いで本方法は終了し得る。しかしながら、他の構成では、本方法はステップ203に戻ってよく、ジェスチャが検出されたかどうかが再び決定され得る。続いて、図2の方法は、デバイスの電源がオフになるまで、ユーザがジェスチャ認識機能を無効にするまで、および/または他の方法でループが停止または切断されるまで、ループ内で(たとえば、whileループなどの処理ループとして)継続し得る。
【００５３】
図3Aは、本開示の1つまたは複数の例示的態様による、ユーザがジェスチャを実行できる方法、およびデバイスがジェスチャを検出できる方法の例を示している。図3Aに示した例では、たとえば、ユーザは、指をポイント301に置いて、次いでデバイス100を横切って指を左に動かすことによって、デバイス100上で左スワイプジェスチャを実行することができ、次に備えられたタッチスクリーンを介してそのようなユーザ入力をジェスチャとして検出することができる。続いて、ジェスチャの検出に応答して、デバイス100は、たとえば、ユーザを認証するステップ、ユーザの識別情報に基づいてジェスチャに応答して実行するべきコマンドを決定するステップ、および/またはコマンドを実行するステップなどの、上記で説明した方法の他のステップを実行することができる。たとえば、1つまたは複数の構成では、デバイス100は、デバイスのタッチスクリーンによってジェスチャが検出されたのと同時に、および/または同時期にデバイスのカメラによって取得されたビデオデータなどの、ジェスチャと実質的に同時にデバイス100によって取得されたセンサ入力を使用してジェスチャを実行した、および/または実行しているユーザを認証する(たとえば、ユーザの識別情報を決定する)ことができる。次いで、上記で説明したように、コマンドがもしあれば、ジェスチャの検出に応答してどのコマンドが実行されるべきかを決定する際に、このリアルタイムのユーザ認証がデバイス100によって使用され得る。
【００５４】
別の例では、いくつかの構成では、デバイス100はタッチスクリーンおよびマイクを含むが、カメラを含まない場合がある。これらの構成では、デバイス100は、デバイスのタッチスクリーンによってジェスチャが検出されたのと同時に、および/または同時期にデバイスのマイクによって取得された音声データを使用してジェスチャを実行した、および/または実行しているユーザを認証する(たとえばユーザの識別情報を決定する)ことができる。そのような音声データはユーザの心臓の鼓動および/または声を含むことができ、また、デバイス100は、これらのタイプの音声データを分析して、そのようなデータに基づいてユーザを識別するように構成され得る。たとえば、2人のユーザがデバイス100を使用してビデオゲームをすることができ、ビデオゲーム内の特定の動作に対応するジェスチャを実行する直前に、ユーザは語句(たとえば、「私の動作」)を言うことができ、デバイス100がジェスチャと実質的に同時にその語句を取得して、ジェスチャを実行しているユーザを認証してユーザによって意図された動作を実行できるようにすることができる。
【００５５】
いくつかの実施形態では、デバイス100は、デバイス上に配置された圧力センサからの入力に基づいて、特定のユーザのグリップを認識するように構成され得る。したがって、デバイス100は、タッチスクリーン上で実行されたジェスチャを、ユーザがデバイス100をどのように保持するかに基づくユーザの識別と実質的に同時に検出することが可能でよい。
【００５６】
図3Bは、本開示の1つまたは複数の例示的態様による、ユーザがジェスチャを実行できる方法、およびデバイスがジェスチャを検出できる方法の別の例を示している。図3Bに示した例では、たとえば、ユーザは、デバイス100の前でポイント351に手を置いて、手をデバイス100に沿って上向きに動かすことによって、デバイス100上で上向きに揺らす(upward wave)ジェスチャを実行することができ、次にデバイス100は、備えられたカメラを介してそのようなユーザ入力をジェスチャとして検出することができる。続いて、ジェスチャの検出に応答して、デバイス100は、ユーザを認証するために上記で説明した例示的方法の1つまたは複数のステップを再び実行して、たとえばユーザの識別情報に基づいてジェスチャに応答して実行するべきコマンドを決定することができる。たとえば、備えられたカメラを使用してジェスチャを検出するステップに加えて、デバイス100は、ジェスチャ自体が検出されるのと同時にカメラから受信した画像および/またはビデオデータに基づいて、ジェスチャを実行しているユーザの識別情報を決定することもできる。
【００５７】
図4は、本開示の1つまたは複数の例示的態様による、複数のユーザがジェスチャを実行できる方法、およびデバイスがジェスチャを検出してユーザを識別できる方法の例を示している。図4に示した例では、たとえば、2人のユーザが2つの異なるジェスチャをデバイス100上で同時に実行することができる。特に、第1のユーザは、ポイント405によって表されるように、デバイス100のタッチスクリーン上で斜めスワイプ(diagonal swipe)ジェスチャを実行することができ、第2のユーザは、ポイント410によって表されるように、デバイス100のタッチスクリーン上で水平スライドジェスチャを同時に実行することができる。コンピューティングデバイス100は、たとえばビデオゲームアプリケーションを実行していてよく、2人のユーザは、彼らのジェスチャごとに、彼らのゲーム内キャラクタまたはアバタを異なる方法で制御することを意図する場合がある。ジェスチャがどのように解釈されるべきかを決定するために、デバイス100は、2人のユーザの識別情報を、検出されたジェスチャ(たとえば、斜めスワイプジェスチャおよび水平スライドジェスチャ)と実質的に同時に取得されたセンサ入力に基づいて、リアルタイムで認証する、および/または他の方法で決定することができる。上述のように、このセンサ入力は、1つまたは複数のカメラ、マイク、近接センサ、ジャイロスコープ、加速度計、圧力センサ、グリップセンサ、タッチスクリーンなどの、1つまたは複数のセンサから受信されたデータを含み得る。したがって、この例では、デバイス100は、ジェスチャと同時に取得されたカメラデータを分析することによって(たとえば、カメラデータに基づいて、どのユーザがどのジェスチャを実行したかを決定するために)、ジェスチャと同時にタッチスクリーンによって取得された指紋データを分析することによって(たとえば、指紋データに基づいて、どのユーザがどのジェスチャを実行したかを決定するために)、ジェスチャと同時にマイクによって取得された音声データを分析することによって(たとえば、特定のユーザの声または心臓の鼓動を含み得る音声データに基づいて、どのユーザがどのジェスチャを実行したかを決定するために)、および/または、デバイス100によって取得された、および/または他の方法で受信された他のセン
サデータを分析することによって、2つのジェスチャを実行しているユーザの識別情報を決定することができる。デバイス100がこのセンサデータに基づいて2人のユーザを識別した後で、デバイス100はジェスチャに応答してどのコマンドが実行されるべきかを決定することができ、続いてこれらのコマンドを実行することができる。この方法では、複数のユーザが、同時に単一のコンピューティングデバイスでジェスチャを実行する、および/または他の方法で単一のコンピューティングデバイスと対話することができ、また、デバイスはジェスチャが実行される時に連続してユーザをリアルタイムで認証することができるので、たとえ異なるユーザ(異なるジェスチャ嗜好を有する)が同時にデバイスと対話していても、ジェスチャを認識して適切なコマンドを実行することができる。
【００５８】
図5Aおよび5Bは、本開示の1つまたは複数の例示的態様による、複数のユーザがジェスチャを実行できる方法、およびデバイスがジェスチャを検出してユーザを識別できる方法の別の例を示している。図5Aに示した例では、たとえば、2人のユーザが2つの異なるジェスチャを同時に実行することができ、システム500は本開示の様々な態様によってジェスチャを検出して解釈することができる。
【００５９】
いくつかの実施形態では、システム500は、デバイス100に関連して上述した特徴と同様の、様々な特徴を含み得る。たとえば、システム500は、カメラ505およびディスプレイスクリーン510を含み得る。図5Aに示した例では、システム500は、様々なソース(たとえば、放送テレビ信号、1つまたは複数のネットワークコンピュータおよび/または記憶装置、インターネット等)からコンテンツを受信して表示するように構成された「スマートテレビ」として機能することができる。さらに、または代替で、システム500は、システム500の異なるユーザによって実行される様々なジェスチャを検出して応答するように構成され得る。
【００６０】
たとえば、システム500の第1のユーザ515は、ユーザの腕520を特定の位置に置くことによって、および/またはユーザの腕520を特定の方法で動かすことによって、システム500によって検出されるための第1のジェスチャを実行することができる。実質的に同時に、システム500の第2のユーザ525は、ユーザの腕530を特定の位置に置くことによって、および/またはユーザの腕530を特定の方法で動かすことによって、システム500によって検出されるための第2のジェスチャを実行することができる。図5Aに示されるように、第1のユーザ515によって実行される第1のジェスチャは、第2のユーザ525によって実行される第2のジェスチャとは異なっていてよい。たとえば、第1のユーザ515の腕、手、および/または指の位置、および/または動きは、第2のユーザ525の腕、手、および/または指の位置、および/または動きとは異なっていてよい。さらに、または代替で、ユーザのジェスチャは、異なるコマンドに対応するものと解釈されてよい。たとえば、システム500は、ディスプレイスクリーン510上にビデオゲームを表示および/または他の方法で提供してよく、ユーザは、システム500上でジェスチャを実行することによってビデオゲームと対話する、および/または他の方法でビデオゲームを制御することができる。当業者は、第1のジェスチャは第2のジェスチャと異なっている必要がないことを理解できるであろう。さらに、ユーザのジェスチャは、異なるコマンドに対応するものと解釈される必要はない。しかしながら、第1のジェスチャおよび第2のジェスチャに対応するコマンドは、それぞれ第1のユーザ515の識別情報および第2のユーザ525の識別情報に基づいて決定され得る。
【００６１】
図5Bは、図5Aに示される例示的シーンにおけるユーザの別のビューを示している。図5Bに見られるように、第1のユーザ515の腕は、第2のユーザ525の腕とは異なる位置にあってよい。システム500がどのように構成されるかによって、第1のユーザ515によって実行される第1のジェスチャ、および第2のユーザ525によって実行される第2のジェスチャが、システム500によって、同じコマンドまたは異なるコマンドに対応するものとして解釈され得る。
【００６２】
再び図5Aを参照すると、図示された例では、ユーザがジェスチャを実行すると、システム500はユーザの画像のシーケンスを取得することができ(たとえば、カメラ505を使用して)、また、実行されているジェスチャを認識して、ジェスチャを実行しているユーザの識別情報を決定するために、画像のシーケンスを分析することができる。たとえば、カメラ505で取得した画像のシーケンスを分析する際、システム500は、取得された画像内の第1のジェスチャおよび第2のジェスチャを検出することができる。続いて、システム500は、どのユーザがどのジェスチャを実行しているかを決定することができる。たとえば、システム500は、顔認識技法、身体認識技法、指紋認識技法、および/または他の方法を使用して、検出されたジェスチャを実行しているユーザを識別することができる。この処理の結果、システム500は、第1のジェスチャは第1のユーザ515によって実行されている、または実行されたと決定することができる。さらに、システム500は、第2のジェスチャは第2のユーザ525によって実行されている、または実行されたと決定することができる。
【００６３】
続いて、この例では、システム500は、検出されたジェスチャの各々に応答して、様々な動作を実行することができる。たとえば、ユーザがシステム500によって提供されているビデオゲームと対話している場合、システム500は、検出されたジェスチャをビデオゲーム内で実行されるべき様々なコマンドとして解釈することができる。これは、たとえば、各ユーザによって実行されるジェスチャに基づいて、ビデオゲーム内のユーザのアバタを制御することを含み得る。上述のように、検出されたジェスチャと実質的に同時に取得されたセンサ入力(たとえば、カメラ505を介して取得されたカメラ入力)に基づいてユーザを認証することによって、様々な実施形態は、異なるユーザによって提供された同様のジェスチャ入力に対して異なる方法で動的に応答することができ、それによってジェスチャ認識システムのカスタマイズ性、利便性、および使いやすさを増強する。
【００６４】
認証型ジェスチャ認識の複数の態様を説明してきたが、次に、図6を参照して、本開示の様々な態様が実装され得るコンピューティングシステムの例を説明する。1つまたは複数の態様によれば、図6に示されるコンピュータシステムは、コンピューティングデバイスの一部として組み込まれてよく、本明細書で説明した特徴、方法、および/または方法ステップのうちのいずれか、および/またはすべてを実装、実施、および/または実行し得る。たとえば、コンピュータシステム600は、ハンドヘルドデバイスのコンポーネントのうちのいくつかを表すことができる。ハンドヘルドデバイスは、カメラおよび/またはディスプレイユニットなどの、入力感覚ユニット(input sensory unit)を備えた任意のコンピューティングデバイスでよい。ハンドヘルドデバイスの例には、これに限定されないが、ビデオゲーム機、タブレット、スマートフォン、およびモバイルデバイスがある。一実施形態では、システム600は、上記で説明したデバイス100を実装するように構成される。図6は、本明細書で説明したように、様々な他の実施形態によって提供される方法を実行することができる、および/またはホストコンピュータシステム、リモートキオスク/端末、販売時点情報管理デバイス、モバイルデバイス、セットトップボックス、および/またはコンピュータシステムの機能を果たすことができる、コンピュータシステム600の一実施形態の概略図を提供する。図6は、様々なコンポーネントの一般化された図を提供することだけを意味するものであり、そのうちのいくつかおよび/またはすべてを必要に応じて利用することができる。したがって、図6は、個々のシステム要素が、比較的分離された方法で、または比較的より統合された方法で、どのように実装され得るかを広範に示している。
【００６５】
バス605を介して電気的に結合され得る(または、必要に応じて他の方法で通信し得る)ハードウェア要素を備えるコンピュータシステム600が示されている。ハードウェア要素は、これに限定されないが、1つまたは複数の汎用プロセッサ、および/または1つまたは複数の専用プロセッサ(デジタル信号処理チップ、グラフィックアクセラレーションプロセッサ、および/または同等の物など)を含む1つまたは複数のプロセッサ610、これに限定されないが、カメラ、マウス、キーボード、および/または同等の物を含み得る1つまたは複数の入力デバイス615、および、これに限定されないが、ディスプレイユニット、プリンタ、および/または同等の物を含み得る1つまたは複数の出力デバイス620を含み得る。ユーザを識別するために、またはユーザのジェスチャを検出するために使用されている上記で説明したセンサのいずれも、入力デバイス615に実装され得る。
【００６６】
コンピュータシステム600は、1つまたは複数の非一時的記憶装置625をさらに含むことができ(および/または、それと通信することができ)、1つまたは複数の非一時的記憶装置625は、これに限定されないが、ローカルおよび/またはネットワークアクセス可能なストレージを備え得る、および/または、これに限定されないが、ディスクドライブ、ドライブアレイ、光記憶装置、ランダムアクセスメモリ(「RAM」)および/またはプログラム可能、フラッシュアップデート可能な読出し専用メモリ(「ROM」) などのソリッドステート記憶装置、および/または同等の物を含むことができる。そのような記憶装置は、これに限定されないが、様々なファイルシステム、データベース構造、および/または同等の物を含む、任意の適切なデータストレージを実装するように構成され得る。
【００６７】
コンピュータシステム600は、これに限定されないが、モデム、ネットワークカード(ワイヤレス、またはワイヤード)、赤外線通信デバイス、ワイヤレス通信デバイスおよび/もしくはチップセット(Bluetooth(登録商標)デバイス、802.11デバイス、Wi-Fi(登録商標)デバイス、WiMAX(登録商標)デバイス、セルラー通信設備等など)ならびに/または同等の物を含み得る、通信サブシステム630も含み得る。通信サブシステム630によって、ネットワーク(一例を挙げると、以下で説明するネットワークなど)、他のコンピュータシステム、および/または本明細書で説明した他の何らかのデバイスとのデータの交換が可能になる。通信サブシステム630は、ジェスチャマッピングデータを送信するように構成された送信機、および/またはそれを受信するように構成された受信機を含み得る。多くの実施形態では、コンピュータシステム600は、上記で説明したようにRAMまたはROMデバイスを含み得る非一時的ワーキングメモリ635をさらに備える。
【００６８】
また、コンピュータシステム600は、オペレーティングシステム640、デバイスドライバ、実行可能ライブラリ、および/または様々な実施形態によって提供された、および/または本明細書で説明したように、他の実施形態によって提供される方法を実装する、および/またはシステムを構成するために設計され得るコンピュータプログラムを備え得る1つまたは複数のアプリケーションプログラム645などの他のコードを含む、ワーキングメモリ635内に現在配置されているものとして示されているソフトウェア要素を備え得る。アプリケーションプログラムおよび機能の様々な例は、上記で明細書を通じて説明される。単に例として、たとえば図2に関して説明したような、上述の方法に関して説明した1つまたは複数の手順は、コンピュータ(および/または、コンピュータ内のプロセッサ)によって実行可能なコードおよび/または命令として実装することができ、次いで、ある態様では、そのようなコードおよび/または命令は、説明した方法による1つまたは複数の動作を実行するために、汎用コンピュータ(または他のデバイス)を構成および/または適合するために使用され得る。プロセッサ610、メモリ635、オペレーティングシステム640、および/またはアプリケーションプログラム645は、上述のジェスチャ検出エンジンを備え得る。
【００６９】
これらの命令および/またはコードのセットは、上記で説明した記憶装置625などのコンピュータ可読記憶媒体に格納され得る。場合によっては、記憶媒体は、コンピュータシステム600などのコンピュータシステム内に組み込まれ得る。他の実施形態では、記憶媒体が、格納された命令/コードで汎用コンピュータをプログラム、構成、および/または適合するために使用され得るようにするために、記憶媒体は、コンピュータシステムとは分離していてもよく(たとえば、コンパクトディスクなどのリムーバブル媒体)、かつ/またはインストールパッケージ内で提供されてもよい。これらの命令は、コンピュータシステム600によって実行可能な実行可能コードの形態をとってもよく、かつ/またはソースおよび/またはインストール可能なコードの形態をとってもよく、コンピュータシステム600上でコンパイルおよび/またはインストールされると(たとえば、任意の様々な一般的に利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティなどを使用して)、実行可能コードの形態をとる。
【００７０】
実質的なバリエーションは、特定の要件に応じて製造され得る。たとえば、カスタマイズされたハードウェアが使用されてもよく、かつ/または特定の要素がハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、またはその両方に実装されてもよい。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続が使用され得る。
【００７１】
いくつかの実施形態は、本開示による方法を実行するために、コンピュータシステム(コンピュータシステム600など)を使用し得る。たとえば、説明した方法の手順のうちのいくつかまたはすべては、ワーキングメモリ635に含まれる1つまたは複数の命令の1つまたは複数のシーケンス(オペレーティングシステム640、および/またはアプリケーションプログラム645などの他のコードに組み込まれ得る)を実行しているプロセッサ610に応答して、コンピュータシステム600によって実行され得る。そのような命令は、記憶装置625のうちの1つまたは複数などの別のコンピュータ可読媒体からワーキングメモリ635に読み込まれ得る。単に例として、ワーキングメモリ635に含まれる命令のシーケンスの実行は、プロセッサ610に本明細書で説明した方法、たとえば図2に関して説明した方法の、1つまたは複数の手順を実行させ得る。
【００７２】
本明細書で使用される「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械を特定の方法で動作させるデータの提供に関与する任意の媒体を指す。コンピュータシステム600を使用して実装されるある実施形態では、様々なコンピュータ可読媒体が、実行のためにプロセッサ610に命令/コードを提供することに関与し得るか、かつ/またはそのような命令/コードを格納および/または実行(たとえば、信号として)するために使用され得る。多くの実装形態では、コンピュータ可読媒体は、物理的および/または有形記憶媒体である。そのような媒体は、これに限定されないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、多くの形態をとり得る。不揮発性媒体は、たとえば、記憶装置625などの光および/または磁気ディスクを含む。揮発性媒体は、これに限定されないが、ワーキングメモリ635などのダイナミックメモリを含む。伝送媒体は、これに限定されないが、同軸ケーブル、バス605を備える線を含む銅線および光ファイバ、ならびに通信サブシステム630の様々なコンポーネント(および/または、通信サブシステム630が他のデバイスとの通信を提供する媒体)を含む。したがって、伝送媒体は、波(これに限定されないが、電波および赤外線データ通信の間に生成される波などの、電波、音響波、および/または光波を含む)の形態もとり得る。
【００７３】
一般的な形態の物理的および/または有形コンピュータ可読媒体には、たとえば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、もしくは他の任意の磁気媒体、CD-ROM、他の任意の光媒体、パンチカード、紙テープ、穴のパターンを有する他の任意の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、他の任意のメモリチップもしくはカートリッジ、後に説明するような搬送波、または、コンピュータが命令および/またはコードを読み出すことが可能な、他の任意の媒体がある。
【００７４】
コンピュータ可読媒体の様々な形態は、実行のために1つまたは複数の命令の1つまたは複数のシーケンスをプロセッサ610に搬送することに関与し得る。単に例として、命令は、リモートコンピュータの磁気ディスクおよび/または光ディスクに最初に搬送され得る。リモートコンピュータは、そのダイナミックメモリに命令をロードして、その命令を、コンピュータシステム600によって受信および/または実行されるために、伝送媒体を介して信号として送ることができる。電磁信号、音響信号、光信号、および/または同様の形態をとり得るこれらの信号は、すべて本発明の様々な実施形態によって命令が符号化され得る搬送波の例である。
【００７５】
一般的に、通信サブシステム630(および/または、その構成要素)が信号を受信して、次いでバス605がワーキングメモリ635に信号(および/または、信号によって搬送されるデータ、命令など)を搬送して、そこからプロセッサ610が命令を取り出して、実行する。ワーキングメモリ635によって受信された命令は、任意で、プロセッサ610による実行の前または後のいずれかに、非一時的記憶装置625に格納され得る。
【００７６】
上述の方法、システム、およびデバイスは例である。様々な実施形態は、必要に応じて様々な手順またはコンポーネントを省略、置換、または追加してよい。たとえば、代替の構成では、説明した方法は、説明した順序とは異なる順序で実行されてよく、および/または様々な段階が追加、省略、および/または結合されてよい。たとえば、図2の210でジェスチャ入力をまず受信して、その後211でコマンドの選択を受信する代わりに、デバイス100はコマンドまたは動作をまず識別して、次いでデバイス100のユーザに、そのコマンドに関連付けるべきジェスチャまたは他の入力を促すことができる。また、ある実施形態に関して説明した特徴が、他の様々な実施形態に結合されてよい。実施形態の異なる態様および要素が、同様の方法で結合されてよい。また、技術は進歩するので、要素の多くは本開示の範囲をそれらの具体例に限定しない例である。
【００７７】
本実施形態の完全な理解を提供するために、特定の詳細が説明に記載されている。しかしながら、実施形態はこれらの特定の詳細なしに実施され得る。たとえば、よく知られた回路、処理、アルゴリズム、構造、および技法は、本実施形態を曖昧にすることを避けるために、不要な詳細なしに示されている。この説明は例示的実施形態を提供するにすぎず、本発明の範囲、適用性、または構成を限定することを意図するものではない。むしろ、本実施形態の前述の説明は、本発明の実施形態を実装するための可能な説明を当業者に提供する。本発明の趣旨および範囲から逸脱することなしに、要素の機能および構成に様々な変更が行われてよい。
【００７８】
また、いくつかの実施形態を、流れ図またはブロック図として示される処理として説明した。それぞれは動作を順次処理として説明し得るが、動作の多くは並行して、または同時に実行され得る。
さらに、動作の順番は並び替えられてもよい。処理は、図に含まれていない追加のステップを有してよい。さらに、本方法の実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実装され得る。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードに実装される場合、関連するタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体などのコンピュータ可読媒体に格納され得る。プロセッサは関連するタスクを実行し得る。
【００７９】
いくつかの実施形態を説明したが、本開示の趣旨から逸脱することなしに、様々な修正形態、代替構成、および均等物を使用することができる。たとえば、上記の要素は単に大きなシステムのコンポーネントであってもよく、他のルールが本発明の適用に優先してもよく、他の方法で本発明の適用を修正してもよい。また、いくつかのステップが、上記の要素が考慮される前、考慮される間、または考慮された後に行われてもよい。したがって、上記の説明は、本開示の範囲を限定するものではない。
【符号の説明】
【００８０】
100  コンピューティングデバイス
301  ポイント
351  ポイント
405  ポイント
410  ポイント
500  システム
505  カメラ
510  ディスプレイスクリーン
515  第1のユーザ
520  腕
525  第2のユーザ
530  腕
600  コンピュータシステム
605  バス
610  プロセッサ
615  入力デバイス
620  出力デバイス
625  非一時的記憶装置
630  通信サブシステム
635  非一時的ワーキングメモリ
640  オペレーティングシステム
645  アプリケーションプログラム
【図１】
0005837991.tif 000003
【図２】
0005837991.tif 000004
【図３Ａ】
0005837991.tif 000005
【図３Ｂ】
0005837991.tif 000006
【図４】
0005837991.tif 000007
【図５Ａ】
0005837991.tif 000008
【図５Ｂ】
0005837991.tif 000009
【図６】
0005837991.tif 000010