(57)【特許請求の範囲】
【請求項１】
仮想現実シナリオに基づいた入力のための方法であって、
入力有効化命令を受信するステップと、
前記仮想現実シナリオにおける入力開始点およびいくつかの仮想キーを提示するステップであって、ある位置関係が、前記入力開始点と前記いくつかの仮想キーとの間の関連性を定義し、前記位置関係は、他の仮想キーと干渉しない前記入力開始点と各仮想キーとの間の1つまたは複数の利用可能な移動経路を示す、ステップと、
注目の焦点が前記入力開始点に達したかどうかを決定するステップと、
第1の色をデフォルトとする前記注目の焦点が前記入力開始点に達したと決定したことに応答して、仮想キー入力検出を始動し、前記注目の焦点の色を前記第1の色とは別の第2の色に調整するステップと、
前記注目の焦点が前記入力開始点から第1の仮想キーへと移動している場合には、前記仮想キーがユーザによって入力されたと決定するステップと、
前記仮想キー入力検出を終了し、前記注目の焦点の色を前記第1の色に調整するステップと
を含む、方法。
【請求項２】
いずれかの仮想キーが位置する領域に達する前に前記入力開始点から離れその後移動を停止または移動方向を変えた場合には、前記仮想キー入力検出の間の前記注目の焦点の移動経路を収集するステップと、
前記注目の焦点の前記移動経路が複数の条件を満たしている場合には、ターゲット仮想キーが前記ユーザによって入力されたと決定して前記仮想キー入力検出を終了するステップとをさらに含む、請求項1に記載の方法。
【請求項３】
前記複数の条件は、
前記注目の焦点の前記移動経路上の任意の点Pから事前設定された線分OAが位置する直線への距離が第1の所定の閾値区間内にあり、
【数１】
0006896853.tif 000020
への
【数２】
0006896853.tif 000021
の射影の第1の長さが第2の所定の閾値区間内にあり、
【数３】
0006896853.tif 000022
への
【数４】
0006896853.tif 000023
の射影の第2の長さが第3の所定の閾値区間内にあり、
Oは、前記入力開始点であり、Aは、前記ターゲット仮想キーが位置する領域からの事前選択された点であり、Bは、前記注目の焦点が移動を停止したまたは逆方向に移動したと決定した場合に前記注目の焦点が存在する点である、請求項2に記載の方法。
【請求項４】
前記いくつかの仮想キーが直線の形状に配置されている場合には、前記入力開始点は前記いくつかの仮想キーによって形成される細長いエリアにとってのどちらかのサイドに位置する、請求項1に記載の方法。
【請求項５】
前記いくつかの仮想キーが円弧の形状に配置されている場合には、前記入力開始点は前記いくつかの仮想キーによって形成される円弧領域の内側に位置する、請求項1に記載の方法。
【請求項６】
前記いくつかの仮想キーは環状に沿って配置され、前記入力開始点は前記いくつかの仮想キーによって形成される前記環の内円の内側に位置する、請求項1に記載の方法。
【請求項７】
どのようにして仮想キーを入力するかを前記ユーザに促すために、前記入力有効化命令が受信されると、前記仮想現実シナリオにおいてアニメーションまたは補助線を提示するステップをさらに含む、請求項1に記載の方法。
【請求項８】
前記仮想キー入力検出を始動すると前記注目の焦点の提示エフェクトを変更するステップをさらに含む、請求項1に記載の方法。
【請求項９】
前記いくつかの仮想キーの各2つの近接している仮想キー間に間隙が存在する、請求項1に記載の方法。
【請求項１０】
仮想現実シナリオに基づいた入力のための装置であって、前記装置は、請求項1から9のいずれか一項に記載の方法を行うように構成される複数のモジュールを含む、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権主張
本願特は、その全体が参照により組み込まれている、2016年10月27日に出願した中国特許出願第201610958077.9号、および2017年10月26日に出願した米国特許出願第15/794,814号に対する優先権を主張する。
【背景技術】
【０００２】
仮想現実(VR)技術は、コンピュータ処理、グラフィックス、および様々なタイプのユーザインターフェース(例えば、視覚ディスプレイゴーグルおよび1つまたは複数の手に把持されるインタラクティブコントローラ)を使用して、インタラクティブ性能を有する没入型ユーザ知覚3次元(3D)環境(「仮想世界」)を生成する。VRシナリオにおいて、様々な操作可能な仮想キーがユーザに提供され得る。ユーザは、VRシナリオとやりとりするためにこれらの操作可能なキーを選択することによって、対応する入力をトリガし得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示は、仮想現実(VR)環境における情報入力を説明している。
【０００４】
ある実施形態においては、入力開始の指示を受信したことに応答して、入力開始点および複数の仮想キーが仮想現実シナリオにおいて提示される。複数の仮想キーの各々は、入力開始点から各仮想キーへの少なくとも1つの非干渉経路を有する。非干渉経路は、任意の他の仮想キーによる干渉を受けない。注目の焦点の変位データは、センシングハードウェアから受信される。変位データに基づいて注目の焦点が入力開始点に達したと決定したことに応答して、仮想キー入力の検出を始動する。注目の焦点が入力開始点から第1の仮想キーへと移動していることを検出したことに応答して、第1の仮想キーが入力されたと決定して仮想キー入力の検出を終了する。
【０００５】
上記で説明した実施形態を含む、説明した発明特定事項の実施形態は、コンピュータ実施方法と、コンピュータ実施方法を行うコンピュータ可読命令を記憶している非一時的コンピュータ可読媒体と、1つまたは複数のコンピュータと相互運用可能なように結合されるとともに、1つまたは複数のコンピュータによって実行されると非一時的コンピュータ可読媒体上に記憶されているコンピュータ実施方法/コンピュータ可読命令を行う命令を記憶している有形非一時的機械可読媒体を有する、1つまたは複数のコンピュータメモリデバイスを含む、コンピュータ実施システムとを使用して実施され得る。
【０００６】
本明細書において説明した発明特定事項は、以下の利点のうちの1つまたは複数を実現するように特定の実施形態において実施され得る。第一に、説明した情報入力技法は、VR環境における情報入力の容易性および速度を増大する。第二に、説明した情報入力技法は、VR環境における誤検出の可能性を低減するとともに情報入力の検出精度を増大する。第三に、説明した情報入力技法は、VR技術を用いたユーザエクスペリエンスを改善する。第四に、VR技術情報入力によるユーザエクスペリエンス対する改良は、追加の使用シナリオに対するVR技術の適用を拡張するのに役立ち得る。他の利点も当業者とって明らかであろう。
【０００７】
本明細書の発明特定事項についての1つまたは複数の実施形態の詳細を、発明の詳細な説明、特許請求の範囲、および添付の図面に記載している。発明特定事項の他の特徴、態様、および利点も、発明の詳細な説明、特許請求の範囲、および添付の図面から明白となるであろう。
【図面の簡単な説明】
【０００８】
【図１】仮想現実における従来技術の仮想キーボード(VR)環境を図示している図である。
【図２】本開示の実施形態による、VR環境における情報入力のための方法の例を図示しているフローチャートである。
【図３】本開示の実施形態による、VR環境における情報入力のための例示的な仮想キーボードレイアウトを図示している図である。
【図４】本開示の実施形態による、VR環境における情報入力のための別の例示的な仮想キーボードレイアウトを図示している図である。
【図５】本開示の実施形態による、VR環境における情報入力のための別の例示的な仮想キーボードレイアウトを図示している図である。
【図６】本開示の実施形態による、注目の焦点の例示的な経路を図示しているブロック図である。
【図７】本開示の実施形態による、VRシナリオにおけるハードウェア入力装置の例示的な機構を図示しているブロック図である。
【図８】本開示の実施形態による、VRシナリオにおける例示的なハードウェア入力装置を図示しているブロック図である。
【図９】本開示の実施形態による、説明したアルゴリズム、方法、関数、プロセス、フロー、および手順に関連する計算機能性を提供するために使用される、コンピュータ実施システムの例を図示しているブロック図である。
【発明を実施するための形態】
【０００９】
様々な図面における類似の参照番号および記号は、類似の要素を示す。
【００１０】
以下の詳細な説明は、仮想現実(VR)環境における情報入力を説明しており、任意の当業者が1つまたは複数の特定の実施形態に即して開示した発明特定事項を作成または使用することができるように提示している。開示した実施形態の様々な修正、変更、および置換が、なされ得るとともに、当業者に容易に明らかとなるであろう、そして、定義されている一般的な原理は、本開示の範囲から逸脱しない限り、他の実施形態および応用に適用可能であり得る。いくつかの事例においては、説明した発明特定事項についての理解を得る必要のない詳細は、そのような詳細が当業者の技術内にあるために、不要な詳細により1つまたは複数の説明した実施形態を曖昧なものにしないように省略され得る。本開示は、説明または図示した実施形態に限定されることを意図しておらず、説明した原理および特徴と矛盾しない最大の範囲として扱われるべきである。
【００１１】
VR技術は、コンピュータ処理、グラフィックス、および様々なタイプのユーザインターフェース(例えば、視覚ディスプレイゴーグルおよび1つまたは複数の手に把持されるインタラクティブコントローラ)を使用して、インタラクティブ性能を有する没入型ユーザ知覚3次元(3D)環境(「仮想世界」)を生成する。VR技術の適用(例えば、教育、ビデオゲーム、ビジネス、科学、および医療において)は、VR技術において使用されるコンピューティングハードウェアおよびソフトウェアにおける絶え間ない改良とともに増大している。VR技術は仮想世界の説得力のある実物そっくりな視覚経験ユーザに提供し得る一方で、特に情報入力(例えば、英数字のテキスト形式データ)に関しては、3D環境中のシナリオとの従来のユーザインタラクションが困難なものとなっているまたは扱いにくいものとなっていることが判明している。VR技術を用いた総合的なユーザエクスペリエンスを改善するためには情報入力の容易性および速度を増大させることが必要である。
【００１２】
VRシナリオにおける情報入力の容易性、速度、および精度を増大し得る情報入力技法を説明する。いくつかの実施形態においては、VR端末は、ユーザがVR技術とやりとりするためのユーザインターフェースを提供し得る。例えば、VR端末は、グラフィックスおよび他のデータを表示する視覚ディスプレイを提供するとともに、3D没入型エクスペリエンスをユーザに(例えば、VRベースのアプリケーションを使用して)提供する、ユーザの頭部に装着したVRヘッドセットを含み得る。
【００１３】
グラフィックスおよび他のデータは、VR端末と通信可能なように結合されているVRクライアント端末(例えば、ソフトウェアアプリケーション)によって提供される。VRクライアント端末は、VR環境におけるVRシナリオとしてデベロッパーによって開発されたVRモデルを出力する。例として、VR端末は、視覚タイプの表示および他のコンピューティング機能性(例えば、ユーザ入力、視覚入力、空間的定位、移動検出、オーディオ生成、ネットワーク接続性、および他のユーザインターフェースデバイスのためのアタッチメント)を提供するためにモバイルコンピューティングデバイス(スマートフォンまたはタブレットなど)が挿入され得る、スライド式タイプのVRヘッドセットであり得る。この例においては、モバイルコンピューティングデバイスは、VRクライアント端末として、または別個のVRクライアント端末(例えば、モバイルコンピューティングデバイスに接続されているPCタイプのコンピュータ)のためのインターフェースとして、全体的または部分的に振舞い得る。
【００１４】
情報入力を支援するために、複数の仮想キーを含む仮想キーボードがVRシナリオにおいてユーザに提示され得る。端末(例えば、VRメガネ)は、仮想キーを選択するために、ユーザが頭部の動きまたは運動視によって注目の焦点の変位を制御することができるように、ユーザの頭部の動きまたは視覚焦点をモニタリングすることによってユーザの注目の焦点を決定し得る。
【００１５】
関連技術においては、ユーザは、物理的な入力デバイス(例えば、マウス)を使用することによってカーソルの移動を制御することおよびコンピュータ上の仮想キーボードのキーをクリックすることができ、マウスカーソルは、表示ページにおけるユーザの注目の焦点に相当する。ユーザ焦点が注目の焦点を移動させることによって選択され得る仮想キーがクリックされその制御を完了する。別の例としては、ユーザは、タッチフォン上の仮想キーボードの1つまたは複数のキーを指定し得る。タッチ入力機構においては、入力すべき仮想キー決定した後に、ユーザは、指で仮想キーをタッチしてその制御を完了し得る。
【００１６】
しかしながら、VRシナリオでは、いくつかの事例においては、ユーザは空間内を移動する必要があり得るため、安定したマウス操作プラットフォームを提供することができない。したがって、マウスはVR環境に適用され得ない。一方、VRメガネを装着しているユーザは、彼/彼女の手を見ることができなくなり得るため、したがって、直接指で仮想キーボードの仮想キーを選択および指定することができなくなり得る。
【００１７】
これまでは、VRシナリオにおいて、入力制御は、「移動」および「指定」の2つのステージを経て実施され得る。主な原理は、次の通りである。頭部または視覚焦点が動いている状態であれば、操作が「移動」ステージであると決定し得る。動いていない期間が所定の期間に達するまたは超過すると、操作が「指定」ステージであると決定し得る。そのような実施形態は、ユーザの操作熟練度に関して比較的高い要求を有する。2つのステージ間の区別は、容易に見分けられるものではなく、そのため、「移動」および「指定」に対する誤った判断または誤検出に容易くつながり得る。
【００１８】
仮想キーを入力するためにユーザが入力開始点から入力しようとしている仮想キーが位置する領域へと移動させるように注目の焦点を制御することを可能にする情報入力技法を説明する。この方法では、ユーザに長い間仮想キー上に注目の焦点を置くことを要求することなく、ユーザの意図した入力を正確に決定し得る。いくつかの実施形態においては、操作が容易であり、入力速度が高速であり、認識精度が高い、そのため、VRシナリオにおけるユーザエクスペリエンスを改善している。
【００１９】
いくつかの実施形態においては、説明した情報入力技法は、VRシナリオモデルの作成、注目の焦点の変位追跡、および仮想キーの入力といった3つのステージを含む。
【００２０】
1. VRシナリオモデルの作成
【００２１】
いくつかの実施形態においては、VRデベロッパーは、モデリングツール(例えば、UNITY、3DSMAX、またはPHOTOSHOP(登録商標))を使用して、VRシナリオモデルの作成を完了し得る。モデリングツールは、例えば、独自仕様、商用、オープンソース、またはこれらのタイプのモデリングツールの組合せであり得る。
【００２２】
いくつかの事例においては、VRシナリオに関連付けられたVRシナリオモデルおよびテクスチャマップが現実世界シナリオから取得され得る。例えば、現時シナリオの材料および平面モデルのテクスチャマップが詳細な撮影によって取得され得る。モデリングツールを使用して、テクスチャを処理し得るし、現実シナリオの3Dモデルが確立される。いくつかの実施形態においては、処理されたテクスチャおよび3DモデルがUNITY3Dプラットフォームにインポートされ得るし、画像レンダリングが複数の態様(UNITY3Dプラットフォームにおけるサウンドエフェクト、グラフィックユーザインターフェース(GUI)または他のユーザインターフェース(UI)、プラグイン、および照明など)において実行され得る。インタラクションソフトウェアコードがVRシナリオモデル用に書かれ得る。
【００２３】
いくつかの実施形態においては、デベロッパーは、VRシナリオモデルに加えて、ユーザがVRシナリオとより良くやりとりできるように、モデリングツールを使用して入力開始点および複数の仮想キーをさらに作成し得る。仮想キーは、例えば、数字を入力するための数字キー、文字を入力するための文字キー、シンボルを入力するための句読点キーなどを含み得る。仮想キーの形状または形式は、制限されることはなく、ユーザプリファレンスに基づいてカスタマイズされ得る。いくつかの実施形態においては、入力仮想キーの誤検出を回避するために仮想キー間に適切な間隙が存在し得る。例えば、ユーザに提示される複数の仮想キーの各2つの近接している仮想キー間に適切な間隙が存在し得る。
【００２４】
いくつかの実施形態においては、デベロッパーがVRシナリオモデルならびに仮想キーのモデリングおよび入力開始点を完了した後に、VRクライアント端末は、ユーザに、VRクライアント端末に接続されているVR端末(例えば、VRヘッドセット)を使用してVRシナリオモデルを出力し得る。ユーザからの入力開始の指示の受信時に、入力開始点および仮想キーがVRシナリオに提示され得る。
【００２５】
2. 注目の焦点の変位追跡
【００２６】
いくつかの実施形態においては、デフォルトでは、注目の焦点(視覚焦点または操作可能焦点とも称する)は、VRクライアント端末によって出力されるVRシナリオにおけるユーザビューに表示され得る。ユーザが(例えば、VR端末を身に付けることによって)VRシナリオに関連する没入型エクスペリエンス中に情報を入力する必要がある場合には、ユーザは、VRシナリオとやりとりするために、例えば、頭位またはハンドジェスチャによって、VRシナリオにおける注目の焦点の変位を制御し得る。
【００２７】
VRクライアント端末は、VR端末に搭載されたセンシングハードウェアを使用してユーザの頭部または手の変位を追跡し得るし、センシングハードウェアは、例えば、ユーザがVR端末を身に付けている場合にはリアルタイムに頭部または手の変位データを検出および収集し得る。センシングハードウェアは、例えば、角速度センサ、加速度センサ、重力センサなどを含み得る。
【００２８】
ユーザの頭部または手の変位データを受信すると、センシングハードウェアは、例えばアルタイムで、VRクライアント端末に収集された変位データを返信し得る。センシングハードウェアによって返信された変位データを受信すると、VRクライアント端末は、同期した変位を有するようにVRシナリオにおいて出力される注目の焦点を変位データに従って制御し得る。
【００２９】
例えば、いくつかの実施形態においては、VR端末は、受信した変位データに基づいて、VRシナリオにおけるX軸およびY軸に対するユーザの頭部または手のオフセットを計算し、その後、計算したオフセットに基づいてリアルタイムに注目の焦点の変位を制御し得る。
【００３０】
いくつかの実施形態においては、ユーザの頭部または手の変位は、VR端末に搭載されたセンシングハードウェアを使用して追跡され得るし、注目の焦点は、ユーザの頭部または手に同期した変位を有するようにVRクライアント端末を使用して制御され得る。いくつかの実施形態においては、VRクライアント端末は、同期した変位を有するように注目の焦点を制御する処理において、リアルタイムに注目の焦点の変位をさらに追跡し、リアルタイムにVRシナリオにおける注目の焦点の座標位置を記録し、その後、リアルタイムに記録される注目の焦点の座標位置に従って、VRシナリオにおける注目の焦点の変位追跡記録または経路を生成し得る。
【００３１】
3. 仮想キーの入力
【００３２】
いくつかの実施形態においては、ユーザは、仮想キーの入力をトリガするために、VRシナリオにおいて入力開始点から非干渉経路を経て非干渉経路に対応する仮想キーが位置する領域へと移動されるように注目の焦点の経路を制御し得る。
【００３３】
いくつかの実施形態においては、入力開始点および複数の仮想キーを提示した後に、VRクライアント端末は、リアルタイムに注目の焦点の変位を追跡し、注目の焦点が入力開始点に達したと決定したことに応答して仮想キー入力検出を始動し、注目の焦点が入力開始点から第1の仮想キーが位置する領域へと移動していることを検出すると、仮想キーがユーザによって選択されたと決定し、その後、現在の仮想キー入力検出を終了し得る。
【００３４】
いくつかの実施形態においては、仮想キー入力検出が始動されていなければ、ユーザが仮想キーへと移動されるように注目の焦点を制御していたとしても、この仮想キーの入力をトリガし得ない。換言すれば、この場合には、注目の焦点の変位は、リアルタイムに追跡され、仮想キー入力検出は、リアルタイムに行われるのではなく、トリガ機構を有する。例えば、ユーザが入力開始点から仮想キー0へと移動させるように注目の焦点を制御しているならば、0を入力していると決定する。ユーザが継続して0から1へと移動させるように注目の焦点を制御しているならば、0が選択された後に仮想キー入力検出は完了しているため、1の入力はトリガされない。ユーザが入力開始点に戻すように移動させるように注目の焦点を制御している場合にのみ仮想キー入力検出が始動される。注目の焦点が継続して入力開始点から1の仮想キーへと再び移動するならば、1がユーザによって入力されたと決定し得る。
【００３５】
いくつかの実施形態においては、ユーザは、仮想キーを入力するために、直線、曲線、または他の経路に沿って、入力開始点から仮想キーへと移動させるように注目の焦点を制御し得る。すなわち、非干渉経路は、直線、曲線、または別の形状であり得る。
【００３６】
いくつかの実施形態においては、アニメーションまたは補助線が、どのようにして仮想キーを入力するかについてユーザを促すまたは誘導するために、例えば、入力開始の指示を受信したとの決定に応答して、VRシナリオにおいて提示され得る。いくつかの実施形態においては、線分は2点間の最短であるため、アニメーションまたは補助線は、直線に沿って入力開始点から仮想キーへと移動させて注目の焦点を制御するようにユーザを促し得る。いくつかの実施形態においては、VRシナリオでは、入力開始点から複数の仮想キーの各々への距離は、一般的に離れすぎてはいない。ユーザは、仮想キーを入力するために、入力開始点から仮想キーが位置する領域へと移動させるように、直線に沿ってまたはほぼ直線に沿って、僅かな身体移動によって、注目の焦点を制御し得る。アニメーションおよび補助線はまた、VRシナリオモデルの前述の作成に関連して作成されてもよいが、詳細を本開示において列挙することはしない。
【００３７】
いくつかの実施形態においては、注目の焦点が入力開始点に達すると、注目の焦点が入力開始点に既に達しているかどうかをユーザが知ることができるように、提示エフェクト(例えば、注目の焦点の色、形状、またはサイズ)が変化し得る。例えば、注目の焦点は、デフォルトでは黒であり、入力開始点に達すると、仮想キーを入力するようにユーザに促すために、その色は緑に調整され得る。さらに、仮想キーを入力するのに成功すると、注目の焦点の色は黒に戻るように調整され得る。注目の焦点の形状などといった、追加のまたは異なる提示エフェクトが変化し得る。
【００３８】
図1は、VR環境における従来技術の仮想キーボード100を図示している図である。仮想キーボード100は、10個の数字仮想キー「1」102a、「2」102b、「3」102c、「4」102d、「5」102e、「6」102f、「7」102g、「8」102h、「9」102i、および「0」102jを含む。例として、ユーザが「1938」を入力することを望む場合には、注目の焦点の移動経路は、次のように、経路(1)110→経路(2)120→経路(3)130となる。しかしながら、仮想キーボード100においては、経路(1)120では、仮想キー「1」102a、「5」102e、および「9」102iを通るまたは通過することになる。ユーザの移動が減速した場合または円滑な動きでなくなった場合には、例えば、仮想キー「5」102eを通る際にユーザが短期間停止した場合には、ユーザが5の入力を「承認した」とVRデバイスによって認識され得るし、結果、不適切な判断となる。同様に、経路(2)120では、仮想キー「6」102fを通過し、経路(3)130では、仮想キー「5」102e、および「6」102fを通過することになる。経路110、120、130は、互いに干渉するまたは他の仮想キーを通過することになる。仮想キーボード100のそのようなレイアウトは、情報入力の誤検出をもたらし得る。
【００３９】
本開示は、誤検出の可能性を回避または低減するためのVRシナリオにおける入力ソリューションを提供している。いくつかの実施形態においては、仮想キーボードの仮想キーに加えて、入力開始点がVRシナリオに提示され得る。入力開始点と仮想キーとの間にはある望ましい位置関係が存在する。ユーザは、入力開始点から離れるように注目の焦点を制御するように誘導され得る。注目の焦点が入力開始点から第1の仮想キーへと移動していることを検出すると、仮想キーがユーザによって入力されたと決定し得る。いくつかの実施形態においては、開示した入力技法は、簡易なユーザオペレーションを可能にし、誤検出を防止または回避し、精度の高い入力認識または検出を提供しており、そのため、VRシナリオにおけるユーザエクスペリエンスを改善している。
【００４０】
図2は、本開示の実施形態による、VR環境における情報入力のための方法200の例を図示しているフローチャートである。提示を明確にするために、以下の説明は、本説明における他の図に即して方法200を一般的に説明している。しかしながら、方法200が、例えば、任意のシステム、環境、ソフトウェア、およびハードウェアによって、または、必要に応じて、システムと、環境と、ソフトウェアと、ハードウェアとの組合せによって、行われ得ることは理解されよう。いくつかの実施形態においては、方法200の様々なステップは、並行して、組み合わせて、ループして、または任意の順序で動作され得る。
【００４１】
いくつかの実施形態においては、方法200は、VRシナリオにおけるVRクライアント端末の入力方法であり得る。いくつかの実施形態においては、VRクライアント端末は、VR技術に基づいて開発されたものであるとともに3次元没入型ユーザエクスペリエンス、例えばVRベースのアプリ、を提供するクライアント端末ソフトウェアを指し得る。VRクライアント端末は、VR端末を装着しているユーザがVRシナリオにおける3次元没入型エクスペリエンスを有し得るように、ユーザに、VRクライアント端末に接続されているVR端末(例えば、VRヘッドセットまたはVRゴーグル)を使用して、デベロッパーによって開発されたVRシナリオモデルを出力し得る。
【００４２】
202において、入力開始の指示を受信したことに応答して、入力開始点および複数の仮想キーがVRシナリオに提示される。入力開始の指示は、VR端末への入力が、開始されようとしていること、使用可にされようとしていること、有効化されようとしていること、またさもなければ、始動されようとしていることを示している。いくつかの実施形態においては、入力開始は、VR端末のユーザによってトリガされる。例えば、ユーザは、所定の物理キーにタッチすること、身体移動を行うこと、音声制御を使用すること、または入力が始動されようとしていることをVR端末に命令する任意の他のアクティビティを行うことによって、入力開始をトリガし得る。
【００４３】
入力開始の指示の受信時に、入力開始点および多数の仮想キーが、現在のVRシナリオにおいて、例えば仮想キーボードとして、提示され得る。仮想キーボードは、追加のまたは異なるボタン、アイコン、または制御モジュールを含み得る。
【００４４】
入力開始点および複数の仮想キーは、それらがあるレイアウトまたはある位置関係を有するように提示され、誤検出の可能性を低減し得る。いくつかの実施形態においては、複数の仮想キーの各々は、入力開始点から複数の仮想キーの各々への少なくとも1つの非干渉経路を有し、入力開始点から複数の仮想キーの各々への非干渉経路は、複数の仮想キーのうちの任意の他の1つによる干渉を受けない。例として、入力開始点から複数の仮想キーの各々への非干渉経路は、複数の仮想キーの任意の他の仮想キーを通るまたは通過することはない。換言すれば、入力開始点と目的仮想キーとを結ぶ非干渉経路上に仮想キーが存在して干渉することはない。
【００４５】
いくつかの実施形態においては、複数の仮想キーの各々は、入力開始点から複数の仮想キーの各々への少なくとも1つの非干渉経路を有する、ここで、入力開始点から複数の仮想キーの各々への非干渉経路は、入力開始点から複数の仮想キーの別の1つへの別の非干渉経路と干渉することはない。
【００４６】
入力開始点および仮想キーの形状、サイズ、または他の提示属性は、例えばデベロッパーまたはユーザによって、設定され得る。例として、入力開始点は、直線、点線、または円形領域であり得るし、仮想キーは、円、正方形、または菱形であり得る。いくつかの実施形態においては、入力開始点が円形または別の形状の領域またはエリアであるケースでは、領域内の任意の点は、誤検出を低減または回避するために仮想キーとの位置関係を満足する必要がある。図3から図5は、入力開始点と仮想キーとの間の位置関係を満足する例示的な仮想キーボードレイアウトを示している。いくつかの実施形態においては、複数の仮想キーは直線に沿って並べられ、入力開始点は、例えば、図3に示しているように、複数の仮想キーによって形成される細長いエリアにとってのどちらかのサイドに位置する。いくつかの実施形態においては、複数の仮想キーは円弧などの曲線に沿って配置され、入力開始点は、例えば、図4に示しているように、円弧の内側に位置する。いくつかの実施形態においては、複数の仮想キーは円に沿って配置され、入力開始点は、例えば、図5に示しているように、円の内部に位置する。
【００４７】
図3は、本開示の実施形態による、VR環境における情報入力のための例示的な仮想キーボードレイアウト300を図示している図である。仮想キーボードレイアウト300は、入力開始点310と仮想キー「1」302a、「2」302b、「3」302c、「4」302d、「5」302e、「6」302f、「7」302g、「8」302h、「9」302i、および「0」302jとの間の第1の例示的な位置関係を示している。仮想キー302a〜jは、直線に沿って並べられる。入力開始点310は、仮想キー302a〜jの各々が他の仮想キーによる干渉を受けない1つまたは複数の非干渉経路を有していることを保証するために、仮想キー302a〜jによって形成されるロケーションエリアにとってのどちらかのサイド305または315に位置し得る。例えば、図3に示しているように、経路(1)320は、入力開始点310から仮想キー「1」302aへの非干渉経路であり、経路(2)330は、入力開始点310から仮想キー「9」302iへの非干渉経路であり、経路(3)340は、入力開始点310から仮想キー「3」302cへの非干渉経路であり、経路(4)350は、入力開始点310から仮想キー「8」302hへの非干渉経路である。ユーザが1を入力することを望む場合には、ユーザは、経路(1)320に沿って入力開始点310から仮想キー「1」302aへと移動させるように注目の焦点を制御し得る。
【００４８】
図4は、本開示の実施形態による、VR環境における情報入力のための別の例示的な仮想キーボードレイアウト400を図示している図である。仮想キーボードレイアウト400は、入力開始点410と仮想キー「1」402a、「2」402b、「3」402c、「4」402d、「5」402e、「6」402f、「7」402g、「8」402h、「9」402i、および「0」402jとの間の第1の例示的な位置関係を示している。仮想キー402a〜jは、円弧(例えば、円または楕円の一部)に沿って配置される。入力開始点410は、仮想キー402a〜jによって形成される円弧エリアの内側405に位置し得る。内側405は、対応する円または楕円の中心が存在する側であり得る。いくつかの実施形態においては、入力開始点410は、入力開始点410から目的仮想キーへの1つまたは複数の非干渉経路が仮想キー402a〜jのうちの他の仮想キーによる干渉を受けないのであれば、仮想キー402a〜jによって形成される円弧エリアの外側415に位置していてもよい。例えば、図4に示しているように、経路(1)420は、入力開始点410から仮想キー「1」402aへの非干渉経路であり、経路(2)430は、入力開始点410から仮想キー「9」402iへの非干渉経路であり、経路(3)440は、入力開始点410から仮想キー「4」402cへの非干渉経路であり、経路(4)450は、入力開始点410から仮想キー「8」402hへの非干渉経路である。ユーザが1を入力することを望む場合には、ユーザは、経路(1)420に沿って入力開始点410から仮想キー「1」402aへと移動させるように注目の焦点を制御し得る。
【００４９】
図5は、本開示の実施形態による、VR環境における情報入力のための別の例示的な仮想キーボードレイアウト500を図示している図である。仮想キーボードレイアウト500は、入力開始点510と仮想キー「1」502a、「2」502b、「3」502c、「4」502d、「5」502e、「6」502f、「7」502g、「8」502h、「9」502i、および「0」502jとの間の第1の例示的な位置関係を示している。仮想キー502a〜jは、環状にまたは円に沿って配置される。入力開始点510は、入力開始点510から目的仮想キーへの1つまたは複数の非干渉経路が仮想キー502a〜jのうちの他の仮想キーによる干渉を受けないことを保証するために、仮想キー502a〜jによって形成される円の内側に位置する。例えば、図5に示しているように、経路(1)520は、入力開始点510から仮想キー「1」502aへの非干渉経路であり、経路(2)530は、入力開始点510から仮想キー「9」502iへの非干渉経路であり、経路(3)540は、入力開始点510から仮想キー「3」502cへの非干渉経路であり、経路(4)550は、入力開始点510から仮想キー「8」502hへの非干渉経路である。ユーザが1を入力することを望む場合には、ユーザは、経路(1)520に沿って入力開始点510から仮想キー「1」502aへと移動させるように注目の焦点を制御し得る。
【００５０】
図2に戻って参照すれば、202から、方法200は204に進む。204において、注目の焦点の変位データは、センシングハードウェアから受信される。204から、方法200は206に進む。206において、変位データに基づいて注目の焦点が入力開始点に達したと決定したことに応答して、仮想キー入力の検出を始動する。206から、方法200は208に進む。208において、注目の焦点が入力開始点から複数の仮想キーの第1の仮想キーへと移動していることを検出したことに応答して、第1の仮想キーが入力されたと決定して仮想キー入力の検出を終了する。208の後に、方法200は終了する。
【００５１】
いくつかの実施形態においては、VRシナリオにおけるユーザのインタラクション中に、ある操作誤差が生じる可能性がある。開示した技法は、ユーザのある操作誤差を許容または修正し得る。例として、開示した技法は、ターゲット仮想キーが位置する領域までユーザの注目の焦点が(例えば、一時停止に起因して)移動していないことに対して、ターゲット仮想キーの入力が既に完了しているという他の誤った決定を許容または修正し得る。
【００５２】
いくつかの実施形態においては、入力開始点を発端とする注目の焦点が複数の仮想キーのいずれかに達する前に停止したまたは方向を変えたことを検出したことに応答して、仮想キー入力の検出の間の注目の焦点の経路が、例えば、VRクライアント端末によって、収集され得る。いくつかの実施形態においては、注目の焦点の経路が1つまたは複数の所定の条件を満たしている場合には、ユーザによってターゲット仮想キーが入力されたと決定して現在の仮想キー入力検出を終了し得る。
【００５３】
いくつかの実施形態においては、各仮想キーについて、仮想キーが位置する領域から基準点が事前選択され得る。基準点は、説明を簡潔にするために点Aとして示し得る。点Aは、仮想キーが位置する領域内の中心または別の点であり得る。加えて、入力開始点を点Oと称し得る。注目の焦点の経路上の任意の点を点Pと称し、逆方向に移動させた際に注目の焦点が存在する点をBと称する。
【００５４】
例えば、注目の焦点の経路が、注目の焦点の経路上の任意の点Pから線分OAが存在する直線への距離が第1の所定の閾値範囲内にあり、
【数１】
0006896853.tif 000002
への
【数２】
0006896853.tif 000003
の射影の長さが所定の第2の閾値範囲内にあり、
【数３】
0006896853.tif 000004
への
【数４】
0006896853.tif 000005
の射影の長さが第3の所定の閾値範囲内にあり、Oが入力開始点であり、Aがターゲット仮想キーが位置する領域からの事前選択された点であり、Bが注目の焦点が停止したまたは方向を変えた点であるという条件を満たしていると決定したことに応答して、ターゲット仮想キーが入力されたと決定して仮想キー入力の検出を終了し得る。
【００５５】
図6は、本開示の実施形態による、注目の焦点の例示的な経路600を図示しているブロック図である。点O610は、入力開始点である。正方形領域は、仮想キー650を示す。点A655は、仮想キー650から事前設定された基準点である。線分OB625は、注目の焦点の実際の経路を表す。点B630は、注目の焦点が入力開始点O610から離れた後に停止した場所の点である。点P620は、注目の焦点の経路625上の任意の点である。
【００５６】
例として、所定の条件は以下を含み得る。
【００５７】
(1)点P620から所定の線分OAが位置する直線615への距離が第1の所定の閾値範囲(または区間)内にある。第1の閾値区間は、線分OAが位置する直線615から点P620が離れすぎていないことを保証するために、デベロッパーによって設定され得る。
【００５８】
いくつかの実施形態においては、点P620から所定の線分OAが位置する直線615への距離を計算する際に、線分OAが位置する直線615への垂線(図示せず)が点P620を介して引かれる。垂線が点M(図示せず)において線分OAが位置する直線615と交差するならば、線分PMの長さは、点Pから所定の線分OAが位置する直線615への距離に等しい。
【００５９】
(2)
【数５】
0006896853.tif 000006
への
【数６】
0006896853.tif 000007
の射影の長さが第2の所定の閾値区間内にある。
【００６０】
いくつかの実施形態においては、射影の長さは、線分OMの長さに等しい。第2の閾値区間も、デベロッパーによって、例えば、[0, (1+d)×|OA|]に設定され得る、ここで、|OA|は線分OAの長さを示し、dの値は0.1または別の値であり得る。
【００６１】
(3)
【数７】
0006896853.tif 000008
への
【数８】
0006896853.tif 000009
の射影の長さが第3の所定の閾値区間内にある。
【００６２】
いくつかの実施形態においては、図6を参照すれば、
【数９】
0006896853.tif 000010
への
【数１０】
0006896853.tif 000011
の射影の長さは、線分ONの長さに等しい。第3の閾値区間も、デベロッパーによって、例えば、[k×|OA|, (1+d)×|OA|]に設定され得る、ここで、kの値は0.8であり得るし、dの値は0.1または別の値であり得る。
【００６３】
いくつかの実施形態においては、注目の焦点の経路が前述の3つの条件を満たしている場合には、ユーザによって仮想キー650が入力されたと決定して現在の仮想キー入力検出を終了する。いくつかの実施形態においては、計算を経て、注目の焦点の経路と各仮想キーに対する基準点とが前述の条件を満たしているかどうかを決定し得るし、条件を満たしている仮想キーをユーザによって入力されたターゲット仮想キーとみなし得る。いくつかの実施形態においては、そのような決定は、円形に配置された仮想キーボードにとって重要となり得るし、誤検出の可能性を効率的に回避または低減することができる。
【００６４】
いくつかの実施形態においては、前述の所定の条件はまた、ユーザの注目の焦点が入力開始点から仮想キーへと移動しているかどうかを検出するために使用され得る。すなわち、仮想キー入力検出を始動した後に、注目の焦点の経路を制御し得るし、経路および各仮想キーが前述の所定の条件を満たしているかどうかをリアルタイムにさらに決定し得る。経路および仮想キーが前述の所定の条件を満たしている場合には、この仮想キーがユーザによって入力されていると決定し得る。
【００６５】
いくつかの実施形態においては、説明した情報入力技法は、VRシナリオにおけるコンピューティング装置において実施され得る。コンピューティング装置は、VRクライアント端末が取り付けられた端末デバイスに適用され得る。コンピューティング装置は、ソフトウェアまたはハードウェアによって実装され得る、または、ソフトウェアとハードウェアとを組み合わせた方式でも実装され得る。例として、ソフトウェア実施形態を使用して、論理的な装置として、装置は、端末デバイスのプロセッサが対応するコンピュータプログラム命令を不揮発性ストレージデバイスからメモリに読み出して命令を実行した後に、形成され得る。
【００６６】
図7は、本開示の実施形態による、VRシナリオにおけるハードウェアコンピューティング装置755の例示的な機構を図示しているブロック図である。いくつかの実施形態においては、ハードウェアコンピューティング装置755は、本開示の実施形態による、VRシナリオにおける入力装置700が位置する端末デバイスであり得る。ハードウェアコンピューティング装置755は、プロセッサ710、内部バス715、メモリ720、ネットワークインターフェース730、および不揮発性ストレージデバイス740を含み得る。いくつかの実施形態においては、ハードウェアコンピューティング装置755はまた、端末デバイスの機能に準じた他のハードウェアを含み得るが、詳細については本明細書に記載しない。
【００６７】
図8は、本開示の実施形態による、VRシナリオにおける例示的なハードウェア入力装置700を図示しているブロック図である。入力装置700は、図7に示しているような端末デバイス755に取り付けられたVRクライアント端末に適用され得る。入力装置700は、キー提示ユニット701、検出始動ユニット702、キー入力ユニット703、軌跡収集ユニット704、補助提示ユニット705、およびエフェクト変更ユニット706を含み得る。
【００６８】
キー提示ユニット701は、入力開始の指示を受信したことに応答して、入力開始点およびVRシナリオにおける複数の仮想キーを提示するように構成される。複数の仮想キーの各々は、入力開始点から複数の仮想キーの各々への少なくとも1つの非干渉経路を有し、入力開始点から複数の仮想キーの各々への非干渉経路は、複数の仮想キーのうちの任意の他の1つによる干渉を受けない。
【００６９】
軌跡収集ユニット704は、センシングハードウェアから注目の焦点の変位データを受信するように構成される。
【００７０】
検出始動ユニット702は、変位データに基づいて注目の焦点が入力開始点に達したと決定したことに応答して、仮想キー入力検出を始動するように構成される。
【００７１】
キー入力ユニット703は、注目の焦点が入力開始点から複数の仮想キーの第1の仮想キーへと移動していることを検出したことに応答して、第1の仮想キーが入力されたと決定して仮想キー入力の検出を終了するように構成される。
【００７２】
軌跡収集ユニット704は、入力開始点を発端とする注目の焦点が複数の仮想キーのいずれかに達する前に停止したまたは方向を変えたことを検出したことに応答して、仮想キー入力の検出の間の注目の焦点の経路を収集するようにさらに構成される。
【００７３】
キー入力ユニット703は、注目の焦点の経路が、Oが入力開始点であり、Aがターゲット仮想キーが位置する領域からの事前選択された点であり、Bが注目の焦点が停止したまたは方向を変えた点であり、注目の焦点の経路上の任意の点Pから線分OAが存在する直線への距離が第1の所定の閾値範囲内にあり、
【数１１】
0006896853.tif 000012
への
【数１２】
0006896853.tif 000013
の射影の長さが第2の所定の閾値範囲内にあり、
【数１３】
0006896853.tif 000014
への
【数１４】
0006896853.tif 000015
の射影の長さが第3の所定の閾値範囲内にあるという条件を満たしていると決定したことに応答して、ターゲット仮想キーが入力されたと決定して仮想キー入力の検出を終了するようにさらに構成される。
【００７４】
いくつかの実施形態においては、複数の仮想キーは直線に沿って並べられ、入力開始点は複数の仮想キーによって形成される細長いエリアにとってのどちらかのサイドに位置する。
【００７５】
いくつかの実施形態においては、複数の仮想キーは円弧に沿って配置され、入力開始点は円弧の内側に位置する。
【００７６】
いくつかの実施形態においては、複数の仮想キーは円に沿って配置され、入力開始点は円の内部に位置する。
【００７７】
補助提示ユニット705は、入力開始の指示を受信したことに応答して、仮想キーを入力するようにユーザに促すためにVRシナリオにおいてアニメーションまたは補助線を提示するように構成される。
【００７８】
エフェクト変更ユニット706は、仮想キー入力検出を始動すると注目の焦点の提示エフェクトを変更するように構成される。
【００７９】
いくつかの実施形態においては、複数の仮想キーの各2つの近接している仮想キー間に間隙が存在する。
【００８０】
当業者は、開示した発明特定事項についての簡単な仕様および実施についての検討の後に、本開示の他の実施形態を想到することができるであろう。本開示は、本開示の一般的な原理と矛盾しない変形、使用、または適合を含むとともに、従来技術における共通の知識または非開示の従来の技術手段を含む、説明した発明特定事項の任意の変形、使用、または適合をカバーすることを意図している。提供した例は、説明した概念についての理解を深めることを意図したものであり、決して開示の適用可能性を限定することを意図したものではない。
【００８１】
本開示が説明した実施形態のみにまたは添付の図面において図示したように限定されないとも理解すべきである。本出願の範囲から逸脱しない限り様々な修正および変更がなされてもよい。本出願の範囲は同梱の特許請求の範囲によってのみ限定される。本開示の精神および原理内でなされる任意の修正、均等物との置換、または改良も本開示の範囲および保護範囲内にあるものとみなす。
【００８２】
図9は、本開示の実施形態による、説明したアルゴリズム、方法、関数、プロセス、フロー、および手順に関連する計算機能性を提供するために使用される、コンピュータ実施システム900の例を図示しているブロック図である。図示した実施形態においては、システム900は、コンピュータ902およびネットワーク930を含む。
【００８３】
図示したコンピュータ902は、コンピューティングデバイスの物理もしくは仮想インスタンス、またはコンピューティングデバイスの物理もしくは仮想インスタンスの組合せを含む、サーバ、デスクトップコンピュータ、ラップトップ/ノードブックコンピュータ、無線データポート、スマートフォン、携帯情報端末(PDA)、タブレットコンピューティングデバイス、これらのデバイス内の1つまたは複数のプロセッサ、別のコンピューティングデバイス、またはコンピューティングデバイスの組合せなどといった、任意のコンピューティングデバイスを含むことを意図している。加えて、コンピュータ902は、ユーザ情報を受け取ることができる、キーパッド、キーボード、タッチスクリーン、別の入力デバイス、または入力デバイスの組合せなどの入力デバイスと、GUIまたは他のUI上に、デジタルデータ、視覚、オーディオ、別のタイプの情報、または複数のタイプの情報の組合せを含む、コンピュータ902の動作に関連する情報を伝達する出力デバイスとを含む、コンピュータを含み得る。
【００８４】
コンピュータ902は、本開示において説明した発明特定事項を行うためのクライアント、ネットワークコンポーネント、サーバ、データベースもしくは別の持続性手段、別の役割、または役割の組合せとして分散コンピューティングシステムにおける役割を果たし得る。図示したコンピュータ902は、ネットワーク930と通信可能なように結合される。いくつかの実施形態においては、コンピュータ902の1つまたは複数のコンポーネントは、クラウドコンピューティングベース、ローカル、グローバル、別の環境、または環境の組合せを含む、環境内で動作するように構成され得る。
【００８５】
高次においては、コンピュータ902は、説明した発明特定事項に関連するデータおよび情報を受信、送信、処理、記憶、または管理するように動作可能な電子コンピューティングデバイスである。いくつかの実施形態によれば、コンピュータ902はまた、アプリケーションサーバ、電子メールサーバ、ウェブサーバ、キャッシュサーバ、ストリーミングデータサーバ、別のサーバ、またはサーバの組合せを含む、サーバを含み得るまたはそのようなサーバと通信可能なように結合され得る。
【００８６】
コンピュータ902は、(例えば、別のコンピュータ902上で動作しているクライアントソフトウェアアプリケーションから)ネットワーク930を介して要求を受信し、ソフトウェアアプリケーションまたはソフトウェアアプリケーションの組合せを使用して受信した要求を処理することによって受信した要求に応答する。加えて、要求はまた、内部ユーザから(例えば、コマンドコンソールからまたは別の内部アクセス方法によって)、外部もしくはサードパーティ、または他のエンティティ、個人、システム、もしくはコンピュータからコンピュータ902に送信され得る。
【００８７】
コンピュータ902のコンポーネントの各々は、システムバス903を使用して通信し得る。いくつかの実施形態においては、ハードウェア、ソフトウェア、またはハードウェアの組合せおよびソフトウェアを含む、コンピュータ902のコンポーネントのいずれかまたはすべては、アプリケーションプログラミングインターフェース(API)912、サービスレイヤ913、またはAPI912とサービスレイヤ913との組合せを使用してシステムバス903を介したインターフェースで接続している。API912は、ルーチン、データ構造、およびオブジェクトクラスのための仕様を含み得る。API912は、コンピュータ言語的に独立したものか依存したもののいずれかであり得るし、インターフェース全体、単一の機能、またはAPIのセットさえも指し得る。サービスレイヤ913は、コンピュータ902またはコンピュータ902に通信可能なように結合されている他のコンポーネント(図示していてもいなくても)にソフトウェアサービスを提供する。コンピュータ902の機能性は、このサービスレイヤを使用してすべてのサービス顧客に対してアクセス可能となり得る。サービスレイヤ913によって提供されているものなどといった、ソフトウェアサービスは、所定のインターフェースを介して再利用可能な所定の機能性を提供している。例えば、インターフェースは、拡張マークアップ言語(XML)フォーマット、別のフォーマット、またはフォーマットの組合せでデータを提供する、JAVA(登録商標)、C++、別のコンピューティング言語、またはコンピューティング言語の組合せで書かれたソフトウェアであり得る。コンピュータ902の統合されたコンポーネントとして図示しているが、代替の実施形態では、コンピュータ902の他のコンポーネントまたはコンピュータ902に通信可能なように結合されている他のコンポーネント(図示していてもいなくても)に関連するスタンドアロンコンポーネントとしてAPI912またはサービスレイヤ913を図示することもできる。さらに、API912またはサービスレイヤ913の任意またはすべてのパーツを、本開示の範囲から逸脱しない限り、別のソフトウェアモジュールの子モジュールまたはサブモジュール、企業アプリケーション、またはハードウェアモジュールとして実装し得る。
【００８８】
コンピュータ902は、インターフェース904を含む。図9では単一のインターフェース904として図示しているが、2つ以上のインターフェース904が、特定のニーズ、要望、またはコンピュータ902の特定の実施形態に従って使用され得る。インターフェース904は、分散環境におけるネットワーク930と通信可能なようにリンクしている別のコンピューティングシステム(図示していてもいなくても)と通信するためにコンピュータ902によって使用される。一般的に、インターフェース904は、ネットワーク930と通信するように動作可能であり、ソフトウェアで符号化されたロジック、ハードウェア、またはソフトウェアとハードウェアとの組合せを含む。より詳細には、インターフェース904は、ネットワーク930またはインターフェースのハードウェアが図示したコンピュータ902の内部および外部の物理信号を通信するように動作可能となるように、通信に関連する1つまたは複数の通信プロトコルをサポートするソフトウェアを含み得る。
【００８９】
コンピュータ902は、プロセッサ905を含む。図9では単一のプロセッサ905として図示しているが、2つ以上のプロセッサが、特定のニーズ、要望、またはコンピュータ902の特定の実施形態に従って使用され得る。一般的に、プロセッサ905は、命令を実行し、データを操作してコンピュータ902の動作および本開示において説明したような任意のアルゴリズム、方法、関数、プロセス、フロー、および手順を行う。
【００９０】
コンピュータ902はまた、コンピュータ902のためのデータ、ネットワーク930(図示していてもいなくても)と通信可能なようにリンクされた別のコンポーネント、またはコンピュータ902と別のコンポーネントとの組合せを保持し得る、データベース906を含む。例えば、データベース906は、本開示と矛盾しない、データを記憶しているインメモリ、従来型、または別のタイプのデータベースであり得る。いくつかの実施形態においては、データベース906は、特定のニーズ、要望、またはコンピュータ902の特定の実施形態およびその説明した機能性による、2つ以上の異なるデータベースタイプ(例えば、インメモリおよび従来型データベースのハイブリッド)の組合せであり得る。図9では単一のデータベース906として図示しているが、同一または異なるタイプの2つ以上のデータベースが、特定のニーズ、要望、またはコンピュータ902の特定の実施形態およびその説明した機能性に従って使用され得る。データベース906をコンピュータ902の統合コンポーネントとして図示しているが、代替の実施形態においては、データベース906はコンピュータ902の外部に存在し得る。
【００９１】
コンピュータ902はまた、コンピュータ902のためのデータ、ネットワーク930(図示していてもいなくても)と通信可能なようにリンクされた別のコンポーネントもしくはコンポーネント、またはコンピュータ902と別のコンポーネントとの組合せを保持し得る、メモリ909を含む。メモリ909は、本開示と矛盾しない任意のデータを記憶し得る。いくつかの実施形態においては、メモリ909は、特定のニーズ、要望、またはコンピュータ902の特定の実施形態およびその説明した機能性による、2つ以上の異なるタイプのメモリ(例えば、半導体と磁気ストレージとの組合せ)の組合せであり得る。図9では単一のメモリ909として図示しているが、同一もしくは異なるタイプの2つ以上のメモリ909が、特定のニーズ、要望、またはコンピュータ902の特定の実施形態およびその説明した機能性に従って使用され得る。メモリ909をコンピュータ902の統合コンポーネントとして図示しているが、代替の実施形態においては、メモリ909はコンピュータ902の外部に存在し得る。
【００９２】
アプリケーション908は、本開示において説明した機能性に特に関連する、特定のニーズ、要望、またはコンピュータ902の特定の実施形態に従って機能性を提供する、アルゴリズムに関するソフトウェアエンジンである。例えば、アプリケーション908は、1つまたは複数のコンポーネント、モジュール、またはアプリケーションとして機能を果たし得る。さらに、単一のアプリケーション908として図示しているが、アプリケーション908は、コンピュータ902上の複数のアプリケーション908として実装され得る。加えて、コンピュータ902に統合されているものとして図示しているが、代替の実施形態においては、アプリケーション908は、コンピュータ902の外部に存在し得る。
【００９３】
コンピュータ902はまた、電源914を含み得る。電源914は、ユーザ交換可能または非ユーザ交換可能のいずれかとなるように構成され得る、再充電可能または非再充電可能バッテリを含み得る。いくつかの実施形態においては、電源914は、(再充電、スタンバイ、または別の電力管理機能性を含む)電力変換または管理回路を含み得る。いくつかの実施形態においては、電源914は、例えば、コンピュータ902に電力供給するまたは再充電可能バッテリを再充電するために、コンピュータ902が壁のソケットまたは別の電源に差し込むことを可能にする電源プラグを含み得る。
【００９４】
各コンピュータ902がネットワーク930を介して通信する、コンピュータ902を含むコンピュータシステムに関連するまたは外部にある任意の数のコンピュータ902が存在する。さらに、「クライアント」、「ユーザ」という用語、または他の適切な専門用語が、本開示の範囲から逸脱しない限り、必要に応じて、相互交換可能に使用され得る。さらに、本開示は、多くのユーザが1つのコンピュータ902を使用し得ること、または、1人のユーザが複数のコンピュータ902を使用し得ることを考慮している。
【００９５】
発明特定事項の説明した実施形態は、単独または組合せで1つまたは複数の特徴を含み得る。
【００９６】
例えば、第1の実施形態においては、コンピュータ実施方法は、入力開始の指示を受信したことに応答して、仮想現実シナリオにおける入力開始点および複数の仮想キーを提示するステップであって、複数の仮想キーの各々は、入力開始点から複数の仮想キーの各々への少なくとも1つの非干渉経路を有し、入力開始点から複数の仮想キーの各々への非干渉経路は、複数の仮想キーのうちの任意の他の1つによる干渉を受けない、ステップと、センシングハードウェアから注目の焦点の変位データを受信するステップと、変位データに基づいて注目の焦点が入力開始点に達したと決定したことに応答して、仮想キー入力の検出を始動するステップと、注目の焦点が入力開始点から複数の仮想キーの第1の仮想キーへと移動していることを検出したことに応答して、第1の仮想キーが入力されたと決定して仮想キー入力の検出を終了するステップとを含む。
【００９７】
第2の実施形態においては、非一時的コンピュータ可読媒体は、入力開始の指示を受信したことに応答して、仮想現実シナリオにおける入力開始点および複数の仮想キーを提示するステップであって、複数の仮想キーの各々は、入力開始点から複数の仮想キーの各々への少なくとも1つの非干渉経路を有し、入力開始点から複数の仮想キーの各々への非干渉経路は、複数の仮想キーのうちの任意の他の1つによる干渉を受けない、ステップと、センシングハードウェアから注目の焦点の変位データを受信するステップと、変位データに基づいて注目の焦点が入力開始点に達したと決定したことに応答して、仮想キー入力の検出を始動するステップと、注目の焦点が入力開始点から複数の仮想キーの第1の仮想キーへと移動していることを検出したことに応答して、第1の仮想キーが入力されたと決定して仮想キー入力の検出を終了するステップとを含む動作を行うようにコンピュータシステムによって実行可能な1つまたは複数の命令を記憶している。
【００９８】
第3の実施形態においては、コンピュータ実施システムは、1つまたは複数のコンピュータと、1つまたは複数のコンピュータと相互運用可能なように結合されるとともに、1つまたは複数の命令を記憶している有形非一時的機械可読媒体を有する、1つまたは複数のコンピュータメモリデバイスとを含み、命令は、1つまたは複数のコンピュータによって実行されると、入力開始の指示を受信したことに応答して、仮想現実シナリオにおける入力開始点および複数の仮想キーを提示するステップであって、複数の仮想キーの各々は、入力開始点から複数の仮想キーの各々への少なくとも1つの非干渉経路を有し、入力開始点から複数の仮想キーの各々への非干渉経路は、複数の仮想キーのうちの任意の他の1つによる干渉を受けない、ステップと、センシングハードウェアから注目の焦点の変位データを受信するステップと、変位データに基づいて注目の焦点が入力開始点に達したと決定したことに応答して、仮想キー入力の検出を始動するステップと、注目の焦点が入力開始点から複数の仮想キーの第1の仮想キーへと移動していることを検出したことに応答して、第1の仮想キーが入力されたと決定して仮想キー入力の検出を終了するステップとを含む動作を行う。
【００９９】
前述および他の説明した実施形態は各々、必要に応じて、以下の特徴の1つまたは複数を含み得る。
【０１００】
下記の特徴のいずれかと組み合わせることが可能な第1の特徴としては、方法または動作は、入力開始点を発端とする注目の焦点が複数の仮想キーのいずれかに達する前に停止したまたは方向を変えたことを検出したことに応答して、仮想キー入力の検出の間の注目の焦点の経路を収集するステップと、注目の焦点の経路が、Oが入力開始点であり、Aがターゲット仮想キーが位置する領域からの事前選択された点であり、Bが注目の焦点が停止したまたは方向を変えた点であり、注目の焦点の経路上の任意の点Pから線分OAが存在する直線への距離が第1の所定の閾値範囲内にあり、
【数１５】
0006896853.tif 000016
への
【数１６】
0006896853.tif 000017
の射影の長さが第2の所定の閾値範囲内にあり、
【数１７】
0006896853.tif 000018
への
【数１８】
0006896853.tif 000019
の射影の長さが第3の所定の閾値範囲内にあるという条件を満たしていると決定したことに応答して、ターゲット仮想キーが入力されたと決定して仮想キー入力の検出を終了するステップとをさらに含む。
【０１０１】
上記または下記の特徴のいずれかと組み合わせることが可能な第2の特徴としては、複数の仮想キーは直線に沿って並べられ、入力開始点は複数の仮想キーによって形成される細長いエリアにとってのどちらかのサイドに位置する。
【０１０２】
上記または下記の特徴のいずれかと組み合わせることが可能な第3の特徴としては、複数の仮想キーは円弧に沿って配置され、入力開始点は円弧の内側に位置する。
【０１０３】
上記または下記の特徴のいずれかと組み合わせることが可能な第4の特徴としては、複数の仮想キーは円に沿って配置され、入力開始点は円の内部に位置する。
【０１０４】
上記または下記の特徴のいずれかと組み合わせることが可能な第5の特徴としては、方法または動作は、入力開始の指示を受信したことに応答して、どのようにして仮想キーを入力するかをユーザに促すためにVRシナリオにおいてアニメーションまたは補助線を提示するステップをさらに含む。
【０１０５】
上記または下記の特徴のいずれかと組み合わせることが可能な第6の特徴としては、方法または動作は、仮想キー入力の検出の始動に応答して、仮想キー入力検出を始動すると注目の焦点の提示エフェクトを変更するステップをさらに含む。
【０１０６】
上記または下記の特徴のいずれかと組み合わせることが可能な第7の特徴としては、複数の仮想キーの各2つの近接している仮想キー間に間隙が存在する。
【０１０７】
本明細書において説明した発明特定事項および機能動作の実施形態は、本明細書において開示した構造およびそれらの構造的均等物を含む、デジタル電子回路の形で、有形に具現化されたコンピュータソフトウェアまたはファームウェアの形で、コンピュータハードウェアの形で、またはそれらの組合せのうちの1つまたは複数で実装され得る。説明した発明特定事項のソフトウェア実施形態は、1つまたは複数のコンピュータプログラムとして実装され得る、すなわち、データ処理装置による実行のためにまたはデータ処理装置の動作を制御する実行のために有形非一時的コンピュータ可読コンピュータ記憶媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。あるいは、または加えて、プログラム命令は、データ処理装置による実行のために受信機装置への伝送のための情報を符号化するために生成された、例えば、機械生成された電気、光学、または電磁気信号といった、人為的に生成した伝搬信号内に/上に符号化され得る。コンピュータ記憶媒体は、機械可読ストレージデバイス、機械可読ストレージ回路基板、ランダムもしくはシリアルアクセスメモリデバイス、またはコンピュータ記憶媒体の組合せであり得る。1つまたは複数のコンピュータを構成するということは、ソフトウェアが1つまたは複数のコンピュータによって実行される際に、特定のコンピューティング動作が行われるように、1つまたは複数のコンピュータがハードウェア、ファームウェア、もしくはソフトウェア(またはハードウェア、ファームウェア、およびソフトウェアの組合せ)を導入済みであることを意味する。
【０１０８】
「リアルタイム」、「実時間」、「即時」、「リアル(ファスト)タイム(RFT)」、「ニアリアルタイム(NRT)」、「擬似リアルタイム」という用語、または(当業者によって理解されているような)同様の用語は、アクションとレスポンスとが実質的に同時に生じたと個人が知覚するようにアクションとレスポンスとが時間的にほぼ同時となっていることを意味している。例えば、データにアクセスする個人のアクションを受けてのデータの表示に対するレスポンスについての(または表示の開始についての)時間差は、1ミリ秒(ms)未満、1秒未満、または5秒未満であり得る。要求されたデータを、即座に表示する(または表示について開始する)必要はないが、説明したコンピューティングシステムの処理限界と、例えば、データを、収集、正確に評価、分析、処理、記憶、または送信するのに必要な時間とを考慮しつつも、いかなる意図的な遅延もなく表示する(または表示について開始する)。
【０１０９】
「データ処理装置」、「コンピュータ」、または「電子コンピュータデバイス」という用語(または当業者によって理解されるような均等物)は、データ処理ハードウェアを指し、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む、あらゆる種類のデータを処理するための装置、デバイス、およびマシンを含む。装置はまた、特殊用途ロジック回路、例えば、中央処理ユニット(CPU)、FPGA(フィールドプログラマブルゲートアレイ)、またはASIC(特定用途向け集積回路)であり得るまたはさらに含み得る。いくつかの実施形態においては、データ処理装置もしくは特殊用途ロジック回路(またはデータ処理装置もしくは特殊用途ロジック回路の組合せ)は、ハードウェアベースまたはソフトウェアベース(またはハードウェアベースおよびソフトウェアベースの両方の組合せ)であり得る。装置は、必要に応じて、コンピュータプログラムのための実行環境を作成するコード、例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、または実行環境の組合せを構成するコードを含み得る。本開示は、例えば、LINUX、UNIX(登録商標)、WINDOWS(登録商標)、MAC OS、ANDROID(登録商標)、IOS、別のオペレーティングシステム、またはオペレーティングシステムの組合せといった、いくつかのタイプのオペレーティングシステムを有するデータ処理装置の使用を考慮している。
【０１１０】
プログラム、ソフトウェア、ソフトウェアアプリケーション、ユニット、モジュール、ソフトウェアモジュール、スクリプト、コード、または他のコンポーネントとも称し得るまたは記載され得る、コンピュータプログラムは、コンパイル型もしくはインタプリタ型言語、または宣言型もしくは手続き型言語を含む、任意の形式のプログラミング言語で書かれ得るし、コンピューティング環境において使用するために、例えば、スタンドアロンプログラム、モジュール、コンポーネント、またはサブルーチンとして、といったことを含む任意の形式で、デプロイされ得る。コンピュータプログラムは、ファイルシステム内のファイルに対応し得るが、必ずしも必要ではない。プログラムは、例えば、マークアップ言語ドキュメントに記憶されている1つまたは複数のスクリプトといった、他のプログラムまたはデータを保持するファイルの一部に、当該のプログラム専用の単一のファイルに、または、例えば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイルといった、複数の協調ファイルに、記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または、1つのサイトに位置しもしくは複数のサイトわたって分散され、通信ネットワークによって相互接続された、複数のコンピュータ上で、実行されるようにデプロイされ得る。
【０１１１】
様々な図に示したプログラムの部分は、様々なオブジェクト、方法、または他のプロセスを使用して説明した特徴および機能性を実施する、ユニットまたはモジュールなどの、個々のコンポーネントであり得る一方で、プログラムは、必要に応じて、代わりに、多数のサブユニット、サブモジュール、サードパーティサービス、コンポーネント、ライブラリ、および他のコンポーネントを含み得る。反対に、様々なコンポーネントの特徴および機能性は、必要に応じて、単一のコンポーネントに組合され得る。計算による決定を行うために使用される閾値は、静的に、動的に、または静的および動的の両方で決定され得る。
【０１１２】
説明した方法、プロセス、またはロジックフローは、本開示と矛盾しない機能性の1つまたは複数の例を表し、開示を説明または図示した実施形態に限定することを意図しておらず、説明した原理および特徴と矛盾しない最大の範囲として扱われるべきである。説明した方法、プロセス、またはロジックフローは、入力データを操作して出力データを生成することによって機能を行うように1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルコンピュータによって行われ得る。方法、プロセス、またはロジックフローはまた、例えば、CPU、FPGA、またはASICといった、特殊用途ロジック回路によって行われ得るし、装置はまた、そのような特殊用途ロジック回路として実装され得る。
【０１１３】
コンピュータプログラムの実行のためのコンピュータは、汎用または特殊用途マイクロプロセッサ、その両方、または別のタイプのCPUに基づき得る。一般的に、CPUは、命令およびデータをメモリから受信しメモリに書き込むことになる。コンピュータの必須の要素は、命令を行うまたは実行するためのCPUと、命令およびデータを記憶するための1つまたは複数のメモリデバイスとである。一般的に、コンピュータはまた、例えば、磁気、光磁気ディスク、または光ディスクといった、データを記憶するための1つまたは複数のマスストレージデバイスを含むことになる、または、そのようなマスストレージデバイスからデータを受信もしくはそのようなマスストレージデバイスにデータを送信もしくはその両方を行うことが動作可能なように結合されることになる。ただし、コンピュータは、そのようなデバイスを必ずしも有する必要はない。さらに、コンピュータは、例えば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルメモリストレージデバイスといった、別のデバイスに組み込まれ得る。
【０１１４】
コンピュータプログラム命令およびデータを記憶するための非一時的コンピュータ可読媒体は、例として、例えば、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、消去可能プログラマブルリードオンリーメモリ(EPROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、およびフラッシュメモリデバイスといった、半導体メモリデバイスと、例えば、テープ、カートリッジ、カセット、内部/リムーバブルディスクといった、磁気デバイスと、光磁気ディスクと、例えば、デジタルビデオディスク(DVD)、CD ROM、DVD+/-R、DVD-RAM、DVD-ROM、HD-DVD、およびBLURAYといった、光学メモリデバイスと、他の光学メモリ技術とを含む、すべての形式の永続的/非永続的または揮発性/不揮発性メモリ、メディア、およびメモリデバイスを含み得る。メモリは、キャッシュ、クラス、フレームワーク、アプリケーション、モジュール、バックアップデータ、ジョブ、ウェブページ、ウェブページテンプレート、データ構造、データベーステーブル、動的情報を記憶するリポジトリ、または、任意のパラメータ、変数、アルゴリズム、命令、ルール、制約、もしくは参照を含む、他の適切な情報を含む、様々なオブジェクトまたはデータを記憶し得る。加えて、メモリは、ログ、ポリシー、セキュリティもしくはアクセスデータ、または報告ファイルなどといった、他の適切なデータを含み得る。プロセッサおよびメモリは、特殊用途ロジック回路によって補完され得る、またはそれに組み込まれ得る。
【０１１５】
ユーザとのインタラクションを提供するために、本明細書において説明した発明特定事項の実施形態は、ユーザに情報を表示するための、例えば、CRT(陰極線管)、LCD(液晶ディスプレイ)、LED(発光ダイオード)、またはプラズマモニタといった、表示デバイスと、ユーザがコンピュータに入力を提供することを可能にする、例えば、マウス、トラックボール、またはトラックパッドといった、キーボードおよびポインティングデバイスとを有するコンピュータ上で実施され得る。入力はまた、感圧性のタブレットコンピュータサーフェスなどのタッチスクリーン、静電容量式もしくは電気式センシングを使用するマルチタッチスクリーン、または別のタイプのタッチスクリーンを使用して、コンピュータに提供され得る。他のタイプのデバイスは、ユーザとやりとりするために使用され得る。例えば、ユーザに提供されるフィードバックは、任意の形式の感覚フィードバック(視覚、聴覚、触覚、またはフィードバックタイプの組合せなど)であり得る。ユーザからの入力は、音響、音声、または触覚入力を含む任意の形式で受信され得る。加えて、コンピュータは、ユーザによって使用されるクライアントコンピューティングデバイスにドキュメントを送信することおよびそのようなクライアントコンピューティングデバイスからドキュメントを受信することによって(例えば、ユーザのモバイルコンピューティングデバイス上のウェブブラウザから受信した要求に応答してウェブブラウザにウェブページを送信することによって)、ユーザとやりとりし得る。
【０１１６】
「グラフィックユーザインターフェース」または「GUI」という用語は、1つまたは複数のグラフィックユーザインターフェースおよび特定のグラフィックユーザインターフェースのディスプレイの各々を説明するために単数形または複数形で使用され得る。したがって、GUIは、情報を処理してユーザにその情報の結果を効率的に提示する、ウェブブラウザ、タッチスクリーン、またはコマンドラインインターフェース(CLI)を含むがそれらに限定されない、任意のグラフィックユーザインターフェースを表し得る。一般に、GUIは、複数のユーザインターフェース(UI)要素を含み得るし、その一部またはすべては、インタラクティブフィールド、プルダウンリスト、およびボタンなどといった、ウェブブラウザに関連付けられる。これらのおよび他のUI要素は、ウェブブラウザの機能に関連し得るまたは表し得る。
【０１１７】
本明細書において説明した発明特定事項の実施形態は、例えば、データサーバのような、バックエンドコンポーネントを含む、または、例えば、アプリケーションサーバといった、ミドルウェアコンポーネントを含む、または、例えば、ユーザが本明細書において説明した発明特定事項の実施形態とやり取りすることを可能にするグラフィックユーザインターフェースまたはWebブラウザを有するクライアントコンピュータといった、フロントエンドコンポーネントを含む、または、1つまたは複数のそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合せを含む、コンピューティングシステムの形式で実装され得る。システムのコンポーネントは、例えば、通信ネットワークといった、任意の形式または媒体の有線もしくは無線デジタルデータ通信(またはデータ通信の組合せ)によって相互接続され得る。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、無線アクセスネットワーク(RAN)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス(WIMAX)、例えば、802.11a/b/g/nもしくは802.20(または、802.11xと802.20との組合せもしくは本開示と矛盾しない他のプロトコル)を使用する無線ローカルエリアネットワーク(WLAN)、インターネット、別の通信ネットワーク、または通信ネットワークの組合せのすべてまたは一部を含む。通信ネットワークは、ネットワークノード間で、例えば、インターネットプロトコル(IP)のパケット、フレームリレーのフレーム、非同期転送モード(ATM)のセル、音声、ビデオ、データ、または他の情報を用いて通信し得る。
【０１１８】
コンピューティングシステムは、クライアントとサーバとを含み得る。クライアントとサーバとは、一般的に互いにリモートにあり、通常は通信ネットワークを介してやりとりする。クライアントとサーバとの関係は、それぞれのコンピュータ上で動作し互いにクライアントサーバ関係を有するコンピュータプログラムによって生まれる。
【０１１９】
本明細書は多くの特定の実施形態詳細を含んでいるが、これらを、任意の発明の範囲または主張することができる範囲に対する制限として解釈すべきではなく、むしろ特定の発明の特定の実施形態に固有のものであり得る特徴の説明として解釈すべきである。別個の実施形態に即して本明細書において説明したある特徴もまた、組み合わせてまたは単一の実施形態で実施され得る。反対に、単一の実施形態に即して説明した様々な特徴もまた、複数の実施形態で、別々に、または任意のサブコンビネーションで実施され得る。さらに、上記で説明した特徴をある組合せで動作するものとして説明することはできるが、たとえ最初はそのように主張していたとしても、いくつかのケースにおいては、主張した組合せのうちの1つまたは複数の特徴を組合せから削除し得るし、主張した組合せをサブコンビネーションまたはサブコンビネーションの変形とし得る。
【０１２０】
発明特定事項の特定の実施形態を説明してきた。説明した実施形態の他の実施、変更、および置換も、当業者には明らかなように、以下の特許請求の範囲の範囲内にある。動作を特定の順序で図面または特許請求の範囲を説明しているが、このことを、示した特定の順序でもしくは一連の順序でそのような動作を行う必要があると理解すべきではないし、または、望ましい結果を得るために図示した動作のすべてを行う必要があると理解すべきではない(一部の動作はオプションとみなし得る)。ある環境においては、マルチタスク処理または並列処理(またはマルチタスク処理と並列処理との組合せ)が、有利であり得るし、適切とみなされる場合には行われ得る。
【０１２１】
さらに、上記で説明した実施形態における様々なシステムモジュールおよびコンポーネントの分離または集積が、すべての実施形態においてそのような分離または集積を必要とすると理解すべきではなく、説明したプログラムコンポーネントおよびシステムは一般的に単一のソフトウェア製品に一緒に統合され得るまたは複数のソフトウェア製品にパッケージ化され得ると理解されたい。
【０１２２】
それゆえ、上記で説明した例示的な実施形態は、本開示を定義または制約するものではない。他の変化、置換、および変更もまた、本開示の精神および範囲から逸脱しない限り可能である。
【０１２３】
さらに、任意の主張した実施形態は、少なくともコンピュータ実施方法と、コンピュータ実施方法を行うコンピュータ可読命令を記憶している非一時的コンピュータ可読媒体と、コンピュータ実施方法または非一時的コンピュータ可読媒体に記憶された命令を行うように構成されるハードウェアプロセッサと相互運用可能なように結合されたコンピュータメモリを含む、コンピュータシステムとに適用可能となるとみなす。
【符号の説明】
【０１２４】
700  入力装置
701  キー提示ユニット
702  検出始動ユニット
703  キー入力ユニット
704  軌跡収集ユニット
705  補助提示ユニット
706  エフェクト変更ユニット
710  プロセッサ
715  内部バス
720  メモリ
730  ネットワークインターフェース
740  不揮発性ストレージデバイス
755  端末デバイス
900  システム
902  コンピュータ
904  インターフェース
905  プロセッサ
906  データベース
908  アプリケーション
909  メモリ
913  サービスレイヤ
914  電源
930  ネットワーク
【図１】
0006896853.tif 000024
【図２】
0006896853.tif 000025
【図３】
0006896853.tif 000026
【図４】
0006896853.tif 000027
【図５】
0006896853.tif 000028
【図６】
0006896853.tif 000029
【図７】
0006896853.tif 000030
【図８】
0006896853.tif 000031
【図９】
0006896853.tif 000032