(57)【要約】  モバイルコンピューティングデバイスに好適なモバイルユーザインターフェースが、実空間中でのデバイス位置/配向を使用して、表示されるコンテンツの一部分を選択する。コンテンツ(たとえば、文書、ファイルまたはデスクトップ)は、仮想空間中に固定されていると仮定され、モバイルユーザインターフェースは、カメラまたは拡大鏡を通して閲覧されるかのように、コンテンツの一部分を表示する。表示すべき部分を選択するために、動きセンサ、距離センサまたは位置センサからのデータを使用して、コンテンツに対するデバイスの相対位置/配向を判断する。画面を所望の部分の中心に置くことによってコンテンツ要素を選択することができ、カーソルおよびポインティングデバイス(たとえば、マウスまたはタッチスクリーン)の必要がなくなる。デバイスをユーザから離すか、またはユーザに近づけることによって、倍率を操作することができる。デバイス配向を感知し、3D仮想空間中で画面の上または下にあるコンテンツを表示することによって、3Dコンテンツ閲覧が可能になり得る。
2012514786.tif 000002
【特許請求の範囲】
【請求項１】
モバイルコンピューティングデバイス上でモバイルユーザインターフェースを提供するための方法であって、
前記モバイルコンピューティングデバイスの実空間中での移動を感知するステップと、
前記感知された移動に基づいて前記モバイルコンピューティングデバイスの実空間中での位置の変化を判断するステップと、
前記モバイルコンピューティングデバイスの位置の前記判断された変化に基づいて、仮想空間中に固定されているものとして扱われるコンテンツの閲覧パースペクティブを判断するステップと、
前記判断された閲覧パースペクティブに基づいて前記コンテンツの少なくとも一部分の画面を生成するステップと
を含む、方法。
【請求項２】
前記コンテンツの選択を選択するための信号を受信するステップと、
前記画面の中心の近くに位置する前記コンテンツの一部を判断するステップと、
前記画面の中心の近くに位置する前記コンテンツの前記一部を選択するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記生成された画面内に、選択されることになる前記画面の前記中心と前記画面内の前記コンテンツの前記一部とのうちの1つを示す選択エイドを含めるステップをさらに含む、請求項2に記載の方法。
【請求項４】
前記画面の前記中心の近くに位置する前記コンテンツに応じて前記選択エイドの形態を選択するステップをさらに含み、
前記選択エイドの前記形態が、十字線、円、卵形、ボックス、強調された輝度の領域、強調された鮮明度の領域、およびシェーディングの領域からなるグループから選択される、
請求項3に記載の方法。
【請求項５】
前記コンテンツの選択を選択するための前記信号が、ボタン押下の結果として受信される、請求項2に記載の方法。
【請求項６】
前記生成された画面内に、選択できる前記画面内の前記コンテンツの一部を示す選択エイドを含めるステップと、
前記コンテンツの選択を選択するための信号を受信するステップと、
前記選択エイド内に位置する前記コンテンツの前記一部を判断するステップと、
前記選択エイド内に位置する前記コンテンツの前記一部に対してアクションを実行するステップと
をさらに含む、請求項1に記載の方法。
【請求項７】
実空間中での移動を感知するステップが、加速度計、距離測定センサ、チルトセンサ、カメラ、およびコンパスからなるグループから選択されたセンサから信号を受信するステップを含む、請求項1に記載の方法。
【請求項８】
前記モバイルコンピューティングデバイスとユーザとの間の距離を判断するステップと、
前記判断された距離に基づいて前記コンテンツの前記表示部分に倍率を適用するステップと
をさらに含む、請求項1に記載の方法。
【請求項９】
前記モバイルコンピューティングデバイスのチルトを感知するステップと、
前記感知されたチルトに基づいて仮想空間中で前記コンテンツを再配置するステップと
をさらに含む、請求項1に記載の方法。
【請求項１０】
実空間中での移動を感知するステップが、
カメラからデジタル画像を受信するステップと、
連続画像の変化を識別するために、前記受信したデジタル画像の少なくとも一部分を前のデジタル画像の少なくとも一部分と比較するステップと、
前記連続画像の前記識別された変化に基づいて移動を判断するステップと
を含む、請求項1に記載の方法。
【請求項１１】
仮想空間中に固定されているものとして扱われる前記コンテンツの前記閲覧パースペクティブを判断するステップが、前記モバイルコンピューティングデバイスの位置の前記判断された変化に適用される仮想移動スケーリングファクタにさらに基づく、請求項1に記載の方法。
【請求項１２】
グラフィカルユーザインターフェースモードにある間、ユーザインターフェースモード選択入力を受信するステップと、
前記グラフィカルユーザインターフェースモードにおいて前記コンテンツの画面に基づいて前記コンテンツを仮想空間中に固定するステップと
をさらに含む、請求項1に記載の方法。
【請求項１３】
モバイルユーザインターフェースモードにある間、ユーザインターフェースモード選択入力を受信するステップと、
前記コンテンツをモバイルコンピューティングデバイス画面中に固定するステップと、
前記グラフィカルユーザインターフェースモードを実装するステップと
をさらに含む、請求項11に記載の方法。
【請求項１４】
前記ユーザインターフェースモード選択入力が、ボタン押下の結果として受信される、請求項12に記載の方法。
【請求項１５】
モバイルコンピューティングデバイスであって、
プロセッサと、
前記プロセッサに接続された画面と、
前記プロセッサに接続され、加速度計、距離測定センサ、チルトセンサ、カメラ、およびコンパスからなるグループから選択されたセンサと
を含み、
前記プロセッサが、
前記センサから信号を受信する動作と、
前記受信センサ信号に基づいて前記モバイルコンピューティングデバイスの実空間中での位置の変化を判断する動作と、
前記モバイルコンピューティングデバイスの位置の前記判断された変化に基づいて、仮想空間中に固定されているものとして扱われるコンテンツの閲覧パースペクティブを判断する動作と、
前記判断された閲覧パースペクティブに基づいて前記コンテンツの少なくとも一部分の画像を前記画面上に生成する動作と
を含む動作を実行するためのソフトウェア実行可能命令を用いて構成された、
モバイルコンピューティングデバイス。
【請求項１６】
前記プロセッサが、
前記コンテンツの選択を選択するための信号を受信する動作と、
前記画面の中心の近くに位置する前記コンテンツの一部を判断する動作と、
前記画面の中心の近くに位置する前記コンテンツの前記一部を選択する動作と
をさらに含む動作を実行するためのソフトウェア実行可能命令を用いて構成された、請求項15に記載のモバイルコンピューティングデバイス。
【請求項１７】
前記プロセッサが、前記生成された画面内に、選択されることになる前記画面の前記中心と前記画面内の前記コンテンツの前記一部とのうちの1つを示す選択エイドを含める動作をさらに含む動作を実行するためのソフトウェア実行可能命令を用いて構成された、請求項16に記載のモバイルコンピューティングデバイス。
【請求項１８】
前記プロセッサが、
前記画面の前記中心の近くに位置する前記コンテンツに応じて前記選択エイドの形態を選択する動作をさらに含む動作を実行するためのソフトウェア実行可能命令を用いて構成され、
前記選択エイドの前記形態が、十字線、円、卵形、ボックス、強調された輝度の領域、強調された鮮明度の領域、およびシェーディングの領域からなるグループから選択される、請求項17に記載のモバイルコンピューティングデバイス。
【請求項１９】
前記プロセッサに接続されたボタンをさらに含み、前記コンテンツの選択を選択するための前記信号が、前記ボタンの押下の結果として受信される、請求項16に記載のモバイルコンピューティングデバイス。
【請求項２０】
前記プロセッサが、
前記生成された画面内に、選択できる前記画面内の前記コンテンツの一部を示す選択エイドを含める動作と、
前記コンテンツの選択を選択するための信号を受信する動作と、
前記選択エイド内に位置する前記コンテンツの前記一部を判断する動作と、
前記選択エイド内に位置する前記コンテンツの前記一部に対してアクションを実行する動作と
をさらに含む動作を実行するためのソフトウェア実行可能命令を用いて構成された、請求項15に記載のモバイルコンピューティングデバイス。
【請求項２１】
前記プロセッサが、前記センサから受信した前記信号に基づいて移動を感知する動作をさらに含む動作を実行するためのソフトウェア実行可能命令を用いて構成された、請求項15に記載のモバイルコンピューティングデバイス。
【請求項２２】
前記プロセッサが、
前記モバイルコンピューティングデバイスとユーザとの間の距離を判断する動作と、
前記判断された距離に基づいて前記コンテンツの前記表示部分に倍率を適用する動作と
をさらに含む動作を実行するためのソフトウェア実行可能命令を用いて構成された、請求項15に記載のモバイルコンピューティングデバイス。
【請求項２３】
前記プロセッサに接続されたチルトセンサをさらに含み、前記チルトセンサが、前記モバイルコンピューティングデバイスのチルトを感知するように構成され、
前記プロセッサが、前記感知されたチルトに基づいて仮想空間中で前記コンテンツを再配置する動作をさらに含む動作を実行するためのソフトウェア実行可能命令を用いて構成された、請求項15に記載のモバイルコンピューティングデバイス。
【請求項２４】
前記センサがカメラを含み、
前記プロセッサは、実空間中での移動を感知する動作が、
前記カメラからデジタル画像を受信する動作と、
連続画像の変化を識別するために、前記受信したデジタル画像の少なくとも一部分を前のデジタル画像の少なくとも一部分と比較する動作と、
前記連続画像の前記識別された変化に基づいて移動を判断する動作と
を含むように、動作を実行するためのソフトウェア実行可能命令を用いて構成された、請求項15に記載のモバイルコンピューティングデバイス。
【請求項２５】
前記プロセッサは、仮想空間中に固定されているものとして扱われる前記コンテンツの前記閲覧パースペクティブを判断する動作が、前記モバイルコンピューティングデバイスの位置の前記判断された変化に適用される仮想移動スケーリングファクタにさらに基づくように、動作を実行するためのソフトウェア実行可能命令を用いて構成された、請求項15に記載のモバイルコンピューティングデバイス。
【請求項２６】
前記プロセッサが、
グラフィカルユーザインターフェースモードにある間、ユーザインターフェースモード選択入力を受信する動作と、
前記グラフィカルユーザインターフェースモードにおいて前記コンテンツの画面に基づいて前記コンテンツを仮想空間中に固定する動作と、
モバイルユーザインターフェースモードを実装する動作と
をさらに含む動作を実行するためのソフトウェア実行可能命令を用いて構成された、請求項15に記載のモバイルコンピューティングデバイス。
【請求項２７】
前記プロセッサが、
前記モバイルユーザインターフェースモードにある間、ユーザインターフェースモード選択入力を受信する動作と、
前記コンテンツをモバイルコンピューティングデバイス画面中に固定する動作と、
前記グラフィカルユーザインターフェースモードを実装する動作と
をさらに含む動作を実行するためのソフトウェア実行可能命令を用いて構成された、請求項26に記載のモバイルコンピューティングデバイス。
【請求項２８】
ボタンをさらに含み、前記ユーザインターフェースモード選択入力が、ボタン押下の結果として受信される、請求項27に記載のモバイルコンピューティングデバイス。
【請求項２９】
モバイルコンピューティングデバイスであって、
前記モバイルコンピューティングデバイスの実空間中での移動を感知するための手段と、
前記感知された移動に基づいて前記モバイルコンピューティングデバイスの実空間中での位置の変化を判断するための手段と、
前記モバイルコンピューティングデバイスの位置の前記判断された変化に基づいて、仮想空間中に固定されているものとして扱われるコンテンツの閲覧パースペクティブを判断するための手段と、
前記判断された閲覧パースペクティブに基づいて前記コンテンツの少なくとも一部分の画面を生成するための手段と
を含む、モバイルコンピューティングデバイス。
【請求項３０】
前記コンテンツの選択を選択するための信号を受信するための手段と、
前記画面の中心の近くに位置する前記コンテンツの一部を判断するための手段と、
前記画面の中心の近くに位置する前記コンテンツの前記一部を選択するための手段と
をさらに含む、請求項29に記載のモバイルコンピューティングデバイス。
【請求項３１】
前記生成された画面内に、選択されることになる前記画面の前記中心と前記画面内の前記コンテンツの前記一部とのうちの1つを示す選択エイドを含めるための手段をさらに含む、請求項30に記載のモバイルコンピューティングデバイス。
【請求項３２】
前記画面の前記中心の近くに位置する前記コンテンツに応じて前記選択エイドの形態を選択するための手段をさらに含み、
前記選択エイドの前記形態が、十字線、円、卵形、ボックス、強調された輝度の領域、強調された鮮明度の領域、およびシェーディングの領域からなるグループから選択される、
請求項31に記載のモバイルコンピューティングデバイス。
【請求項３３】
前記コンテンツの選択を選択するための信号を受信するための手段が、ボタン押下の指示のための手段を含む、請求項30に記載のモバイルコンピューティングデバイス。
【請求項３４】
前記生成された画面内に、選択できる前記画面内の前記コンテンツの一部を示す選択エイドを含めるための手段と、
前記コンテンツの選択を選択するための信号を受信するための手段と、
前記選択エイド内に位置する前記コンテンツの前記一部を判断するための手段と、
前記選択エイド内に位置する前記コンテンツの前記一部に対してアクションを実行するための手段と
をさらに含む、請求項29に記載のモバイルコンピューティングデバイス。
【請求項３５】
実空間中での移動を感知するための手段が、
加速度計を感知するための手段と、
距離を測定するための手段と、
チルトを測定するための手段と、
デジタル画像を取得するための手段と、
地磁界に対する配向を測定するための手段と
からなるグループから選択されたセンサから信号を受信するための手段を含む、請求項29に記載のモバイルコンピューティングデバイス。
【請求項３６】
前記モバイルコンピューティングデバイスとユーザとの間の距離を判断するための手段と、
前記判断された距離に基づいて前記コンテンツの前記表示部分に倍率を適用するための手段と
をさらに含む、請求項29に記載のモバイルコンピューティングデバイス。
【請求項３７】
前記モバイルコンピューティングデバイスのチルトを感知するための手段と、
前記感知されたチルトに基づいて仮想空間中で前記コンテンツを再配置するための手段と
をさらに含む、請求項29に記載のモバイルコンピューティングデバイス。
【請求項３８】
実空間中での移動を感知するための手段が、
デジタル画像を取得するための手段と、
連続画像の変化を識別するために、第1のデジタル画像の少なくとも一部分を第2のデジタル画像の少なくとも一部分と比較するための手段と、
前記連続画像の前記識別された変化に基づいて移動を判断するための手段と
を含む、請求項29に記載のモバイルコンピューティングデバイス。
【請求項３９】
仮想空間中に固定されているものとして扱われる前記コンテンツの前記閲覧パースペクティブを判断するための手段が、前記モバイルコンピューティングデバイスの位置の前記判断された変化に適用される仮想移動スケーリングファクタに基づいて前記コンテンツの前記閲覧パースペクティブを判断するための手段を含む、請求項29に記載のモバイルコンピューティングデバイス。
【請求項４０】
グラフィカルユーザインターフェースモードにある間、ユーザインターフェースモード選択入力を受信するための手段と、
前記グラフィカルユーザインターフェースモードにおいて前記コンテンツの画面に基づいて前記コンテンツを仮想空間中に固定するための手段と、
モバイルユーザインターフェースモードを実装するための手段と
をさらに含む、請求項29に記載のモバイルコンピューティングデバイス。
【請求項４１】
前記モバイルユーザインターフェースモードにある間、ユーザインターフェースモード選択入力を受信するための手段と、
前記コンテンツをモバイルコンピューティングデバイス画面中に固定するための手段と、
前記グラフィカルユーザインターフェースモードを実装するための手段と
をさらに含む、請求項40に記載のモバイルコンピューティングデバイス。
【請求項４２】
ユーザインターフェースモード選択入力を受信するための手段が、ボタン押下の指示を受信するための手段を含む、請求項41に記載のモバイルコンピューティングデバイス。
【請求項４３】
加速度計、距離測定センサ、チルトセンサ、カメラ、およびコンパスからなるグループから選択されたセンサから信号を受信するための少なくとも1つの命令と、
前記受信センサ信号に基づいてモバイルコンピューティングデバイスの実空間中での位置の変化を判断するための少なくとも1つの命令と、
前記モバイルコンピューティングデバイスの位置の前記判断された変化に基づいて、仮想空間中に固定されているものとして扱われるコンテンツの閲覧パースペクティブを判断するための少なくとも1つの命令と、
前記判断された閲覧パースペクティブに基づいて前記コンテンツの少なくとも一部分の画像を画面上に生成するための少なくとも1つの命令と
を含む、コンピュータ可読媒体
を含む、コンピュータプログラム製品。
【請求項４４】
前記コンピュータ可読媒体が、
前記コンテンツの選択を選択するための信号を受信するための少なくとも1つの命令と、
前記画面の中心の近くに位置する前記コンテンツの一部を判断するための少なくとも1つの命令と、
前記画面の中心の近くに位置する前記コンテンツの前記一部を選択するための少なくとも1つの命令と
をさらに含む、請求項43に記載のコンピュータプログラム製品。
【請求項４５】
前記コンピュータ可読媒体が、前記生成された画面内に、選択されることになる前記画面の前記中心と前記画面内の前記コンテンツの前記一部とのうちの1つを示す選択エイドを含めるための少なくとも1つの命令をさらに含む、請求項44に記載のコンピュータプログラム製品。
【請求項４６】
前記コンピュータ可読媒体が、
前記画面の前記中心の近くに位置する前記コンテンツに応じて前記選択エイドの形態を選択するための少なくとも1つの命令をさらに含み、
前記選択エイドの前記形態が、十字線、円、卵形、ボックス、強調された輝度の領域、強調された鮮明度の領域、およびシェーディングの領域からなるグループから選択される、請求項45に記載のコンピュータプログラム製品。
【請求項４７】
前記コンピュータ可読媒体が、前記コンテンツの選択を選択するための前記信号をボタン押下の結果として受信するための少なくとも1つの命令をさらに含む、請求項44に記載のコンピュータプログラム製品。
【請求項４８】
前記コンピュータ可読媒体が、
前記生成された画面内に、選択できる前記画面内の前記コンテンツの一部を示す選択エイドを含めるための少なくとも1つの命令と、
前記コンテンツの選択を選択するための信号を受信するための少なくとも1つの命令と、
前記選択エイド内に位置する前記コンテンツの前記一部を判断するための少なくとも1つの命令と、
前記選択エイド内に位置する前記コンテンツの前記一部に対してアクションを実行するための少なくとも1つの命令と
をさらに含む、請求項43に記載のコンピュータプログラム製品。
【請求項４９】
前記コンピュータ可読媒体が、前記センサから受信した前記信号に基づいて移動を感知するための少なくとも1つの命令をさらに含む、請求項43に記載のコンピュータプログラム製品。
【請求項５０】
前記コンピュータ可読媒体が、
前記モバイルコンピューティングデバイスとユーザとの間の距離を判断するための少なくとも1つの命令と、
前記判断された距離に基づいて前記コンテンツの前記表示部分に倍率を適用するための少なくとも1つの命令と
をさらに含む、請求項43に記載のコンピュータプログラム製品。
【請求項５１】
前記コンピュータ可読媒体が、前記感知されたチルトに基づいて仮想空間中で前記コンテンツを再配置するための少なくとも1つの命令をさらに含む、請求項43に記載のコンピュータプログラム製品。
【請求項５２】
前記コンピュータ可読媒体は、実空間中での移動を感知することが、
前記カメラからデジタル画像を受信するための少なくとも1つの命令と、
連続画像の変化を識別するために、前記受信したデジタル画像の少なくとも一部分を前のデジタル画像の少なくとも一部分と比較するための少なくとも1つの命令と、
前記連続画像の前記識別された変化に基づいて移動を判断するための少なくとも1つの命令と
を含むように、少なくとも1つの命令をさらに含む、請求項43に記載のコンピュータプログラム製品。
【請求項５３】
仮想空間中に固定されているものとして扱われる前記コンテンツの前記閲覧パースペクティブを判断するための前記少なくとも1つの命令が、前記モバイルコンピューティングデバイスの位置の前記判断された変化に適用される仮想移動スケーリングファクタにさらに基づいて前記閲覧パースペクティブを判断するための少なくとも1つの命令を含む、請求項43に記載のコンピュータプログラム製品。
【請求項５４】
前記コンピュータ可読媒体が、
グラフィカルユーザインターフェースモードにある間、ユーザインターフェースモード選択入力を受信するための少なくとも1つの命令と、
前記グラフィカルユーザインターフェースモードにおいて前記コンテンツの画面に基づいて前記コンテンツを仮想空間中に固定するための少なくとも1つの命令と、
モバイルユーザインターフェースモードを実装するための少なくとも1つの命令と
をさらに含む、請求項43に記載のコンピュータプログラム製品。
【請求項５５】
前記コンピュータ可読媒体が、
前記モバイルユーザインターフェースモードにある間、ユーザインターフェースモード選択入力を受信するための少なくとも1つの命令と、
前記コンテンツをモバイルコンピューティングデバイス画面中に固定するための少なくとも1つの命令と、
前記グラフィカルユーザインターフェースモードを実装するための少なくとも1つの命令と
をさらに含む、請求項54に記載のコンピュータプログラム製品。
【請求項５６】
前記コンピュータ可読媒体が、前記ユーザインターフェースモード選択入力をボタン押下の結果として受信するための少なくとも1つの命令をさらに含む、請求項55に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その内容全体が参照により本明細書に組み込まれる、2009年1月6日に出願された、「User Interface for Mobile Devices」と題する米国特許仮出願第61/142,806号の優先権の利益を主張する。
【０００２】
本発明は、一般にコンピュータユーザインターフェースシステムに関し、より詳細には、モバイルコンピューティングデバイスのためのユーザインターフェースに関する。
【背景技術】
【０００３】
パーソナル電子デバイス(たとえば、セルフォン、PDA、ラップトップ、ゲーム機)はますます多くの機能およびデータ記憶域をユーザに提供している。ユーザがアプリケーションおよびファイルと対話できるようにするために、パーソナル電子デバイスは、一般に、パーソナルコンピュータ用に開発されたグラフィカルユーザインターフェースと同様であるユーザインターフェースとともに構成される。たとえば、パーソナル電子デバイスの中には、Microsoft Corporationが販売しているオペレーティングシステムのWindows(登録商標)ファミリーのバージョンであるWindows(登録商標) CEを使用するものがある。そのようなグラフィカルユーザインターフェースシステムは、コンピューティングデバイスが空間中に固定され、一方ではコンテンツ(たとえば、画像、オブジェクトおよびファイル)が仮想空間内で移動可能であると仮定する。そのようなグラフィカルユーザインターフェースシステムは、一般に、デバイスの画面の「ウィンドウ」に対してコンテンツを操作するためのツール(たとえば、スクロールバー)を含む。Blackberry Storm(登録商標)上で実装されるユーザインターフェースなど、特に新しいパーソナル電子デバイス用に開発された、最近リリースされたユーザインターフェースでさえも、デバイスが空間中に固定され、コンテンツが仮想空間中で移動可能であると仮定し、また、タッチスクリーン画面上で指を動かすことによってデバイスの画面に対するコンテンツの移動(「ドラッグ」)を可能にする。そのようなユーザインターフェースはコンピュータユーザによく知られているが、一般に固定のパーソナルコンピュータからのそのようなユーザインターフェースの派生物は、モバイルコンピューティングデバイスの機能を損なう。
【発明の概要】
【課題を解決するための手段】
【０００４】
様々な態様が、特にモバイルコンピューティングデバイスに好適なモバイルユーザインターフェースを提供するための方法およびシステムを提供する。一態様では、モバイルコンピューティングデバイス上でモバイルユーザインターフェースを提供するための方法が、モバイルコンピューティングデバイスの実空間中での移動を感知するステップと、感知された移動に基づいてモバイルコンピューティングデバイスの実空間中での位置の変化を判断するステップと、モバイルコンピューティングデバイスの位置の判断された変化に基づいて、仮想空間中に固定されているものとして扱われるコンテンツの閲覧パースペクティブを判断するステップと、判断された閲覧パースペクティブに基づいてコンテンツの少なくとも一部分の画面を生成するステップとを含む。本方法は、コンテンツの選択を選択するための信号を受信するステップと、上記画面の中心の近くに位置するコンテンツの一部を判断するステップと、上記画面の中心の近くに位置するコンテンツの上記一部を選択するステップとをさらに含むことができる。また、上記生成された画面内に、選択されることになる上記画面の中心および/または上記画面内のコンテンツの上記一部を示すための選択エイドを与えることができる。選択エイドの形態およびサイズは、コンテンツに基づいてまたはコンテンツに応じて選択でき、選択エイドの形態は、たとえば、十字線、円、卵形、ボックス、強調された輝度の領域、強調された鮮明度の領域、およびシェーディングの領域のいずれかを含むことができる。コンテンツの選択を選択するための上記信号は、ボタン押下の結果として受信され得る。本方法は、上記生成された画面内に、選択できる上記画面内のコンテンツの一部を示す選択エイドを含めるステップと、コンテンツの選択を選択するための信号を受信するステップと、選択エイド内に位置するコンテンツの上記一部を判断するステップと、選択エイド内に位置するコンテンツの上記一部に対してアクションを実行するステップとをさらを含むことができる。実空間中での移動を感知するステップは、加速度計、距離測定センサ、チルトセンサ、カメラ、およびコンパスのうちの任意の1つまたは複数であり得るセンサから信号を受信するステップを含むことができる。本方法は、モバイルコンピューティングデバイスとユーザとの間の距離を判断するステップと、判断された距離に基づいてコンテンツの表示部分に倍率を適用するステップとをさらに含むことができる。本方法は、モバイルコンピューティングデバイスのチルトを感知するステップと、感知されたチルトに基づいて仮想空間中でコンテンツを再配置するステップとをさらに含むことができる。実空間中での移動を感知するステップは、カメラからデジタル画像を受信するステップと、連続画像の変化を識別するために、受信したデジタル画像の少なくとも一部分を前のデジタル画像の少なくとも一部分と比較するステップと、連続画像の識別された変化に基づいて移動を判断するステップとを含むことができる。仮想空間中に固定されているものとして扱われるコンテンツの閲覧パースペクティブを判断するステップは、モバイルコンピューティングデバイスの位置の判断された変化に適用される仮���移動スケーリングファクタに基づくこともできる。本方法は、グラフィカルユーザインターフェースモードにある間、(ボタン押下の形態であり得る)ユーザインターフェースモード選択入力を受信するステップと、グラフィカルユーザインターフェースモードにおいてコンテンツの画面に基づいてコンテンツを仮想空間中に固定するステップと、本明細書で説明するモバイルユーザインターフェースモードを実装するステップと、ならびに、モバイルユーザインターフェースモードにある間、ユーザインターフェースモード選択入力を受信するステップと、コンテンツをモバイルコンピューティングデバイス画面中に固定するステップと、グラフィカルユーザインターフェースモードを実装するステップとをさらに含むことができる。
【０００５】
別の態様では、モバイルコンピューティングデバイスが、プロセッサまたは専用グラフィックス処理チップと、プロセッサまたは専用グラフィックス処理チップに接続された画面と、プロセッサまたは専用グラフィックス処理チップに接続され、加速度計、距離測定センサ、チルトセンサ、カメラ、およびコンパスのうちの任意の1つまたは複数であり得るセンサとを含む。プロセッサまたは専用グラフィックス処理チップは、上記センサから信号を受信することと、受信センサ信号に基づいてモバイルコンピューティングデバイスの実空間中での位置の変化を判断することと、モバイルコンピューティングデバイスの位置の判断された変化に基づいて、仮想空間中に固定されているものとして扱われるコンテンツの閲覧パースペクティブを判断することと、判断された閲覧パースペクティブに基づいてコンテンツの少なくとも一部分の画像を上記画面上に生成することとを行うためのソフトウェア実行可能命令を用いて構成される。プロセッサまたは専用グラフィックス処理チップは、コンテンツの選択を選択するための信号を受信することと、上記画面の中心の近くに位置するコンテンツの一部を判断することと、上記画面の中心の近くに位置するコンテンツの上記一部を選択することとを行うようにさらに構成できる。また、上記生成された画面内に、選択されることになる上記画面の中心および/または上記画面内のコンテンツの上記一部を示すための選択エイドを与えることができる。選択エイドの形態およびサイズは、コンテンツに基づいてまたはコンテンツに応じて選択でき、選択エイドの形態は、たとえば、十字線、円、卵形、ボックス、強調された輝度の領域、強調された鮮明度の領域、およびシェーディングの領域のいずれかを含むことができる。コンテンツの選択を選択するための上記信号は、ボタン押下の形態であり得る。プロセッサまたは専用グラフィックス処理チップは、上記生成された画面内に、選択できる上記画面内のコンテンツの一部を示す選択エイドを含めることと、コンテンツの選択を選択するための信号を受信することと、選択エイド内に位置するコンテンツの上記一部を判断することと、選択エイド内に位置するコンテンツの上記一部に対してアクションを実行することとを行うようにさらに構成できる。プロセッサまたは専用グラフィックス処理チップは、加速度計、距離測定センサ、チルトセンサ、カメラ、およびコンパスのうちの任意の1つまたは複数であり得る1つまたは複数のセンサから信号を受信するようにさらに構成できる。プロセッサまたは専用グラフィックス処理チップは、モバイルコンピューティングデバイスとユーザとの間の距離を判断することと、判断された距離に基づいてコンテンツの表示部分に倍率を適用することとを行うようにさらに構成できる。プロセッサまたは専用グラフィックス処理チップは、モバイルコンピューティングデバイスのチルトを感知することと、感知されたチルトに基づいて仮想空間中でコンテンツを再配置することとを行うようにさらに構成できる。プロセッサまたは専用グラフィックス処理チップは、カメラからデジタル画像を受信することと、連続画像の変化を識別するために、受信したデジタル画像の少なくとも一部分を前のデ��タル画像の少なくとも一部分と比較することと、連続画像の識別された変化に基づいて移動を判断することとを行うようにさらに構成できる。プロセッサまたは専用グラフィックス処理チップは、仮想空間中に固定されているものとして扱われるコンテンツの閲覧パースペクティブについての判断が、モバイルコンピューティングデバイスの位置の判断された変化に適用される仮想移動スケーリングファクタにも基づくようにさらに構成できる。プロセッサまたは専用グラフィックス処理チップは、グラフィカルユーザインターフェースモードにある間、(ボタン押下の形態であり得る)ユーザインターフェースモード選択入力を受信することと、グラフィカルユーザインターフェースモードにおいてコンテンツの画面に基づいてコンテンツを仮想空間中に固定することと、本明細書で説明するモバイルユーザインターフェースモードを実装することと、ならびに、モバイルユーザインターフェースモードにある間、ユーザインターフェースモード選択入力を受信することと、コンテンツをモバイルコンピューティングデバイス画面中に固定することと、グラフィカルユーザインターフェースモードを実装することとを行うようにさらに構成できる。
【０００６】
別の態様では、モバイルコンピューティングデバイスが、実空間中でのモバイルコンピューティングの移動を感知するための手段と、感知された移動に基づいて実空間中でのモバイルコンピューティングデバイスの位置の変化を判断するための手段と、モバイルコンピューティングデバイスの位置の判断された変化に基づいて、仮想空間中に固定されているものとして扱われるコンテンツの閲覧パースペクティブを判断するための手段と、判断された閲覧パースペクティブに基づいてコンテンツの少なくとも一部分の画面を生成するための手段とを含む。本モバイルコンピューティングデバイスは、コンテンツの選択を選択するための信号を受信するための手段と、上記画面の中心の近くに位置するコンテンツの一部を判断するための手段と、上記画面の中心の近くに位置するコンテンツの上記一部を選択するための手段とをさらに含むことができる。本モバイルコンピューティングデバイスは、上記生成された画面内に、選択されることになる上記画面の中心および/または上記画面内のコンテンツの上記一部を示すための選択エイドを与えるための手段をさらに含むことができる。選択エイドの形態およびサイズは、コンテンツに基づいてまたはコンテンツに応じて選択でき、選択エイドの形態は、たとえば、十字線、円、卵形、ボックス、強調された輝度の領域、強調された鮮明度の領域、およびシェーディングの領域のいずれかを含むことができる。コンテンツの選択を選択するための上記信号は、ボタン押下の結果として受信され得る。本モバイルコンピューティングデバイスは、上記生成された画面内に、選択できる上記画面内のコンテンツの一部を示す選択エイドを含めるための手段と、コンテンツの選択を選択するための信号を受信するための手段と、選択エイド内に位置するコンテンツの上記一部を判断するための手段と、選択エイド内に位置するコンテンツの上記一部に対してアクションを実行するための手段とをさらに含むことができる。実空間中での移動を感知するための上記手段は、加速度を測定するための手段、距離を測定するための手段、チルトを測定するための手段、画像を取得するための手段、およびコンパスのうちの任意の1つまたは複数から信号を受信するための手段を含むことができる。本モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスとユーザとの間の距離を判断するための手段と、判断された距離に基づいてコンテンツの表示部分に倍率を適用するための手段とをさらに含むことができる。本モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスのチルトを感知するための手段と、感知されたチルトに基づいて仮想空間中でコンテンツを再配置するための手段とをさらに含むことができる。実空間中での移動を感知するための上記手段は、カメラからデジタル画像を受信するための手段と、連続画像の変化を識別するために、受信したデジタル画像の少なくとも一部分を前のデジタル画像の少なくとも一部分と比較するための手段と、連続画像の識別された変化に基づいて移動を判断するための手段とを含むことができる。仮想空間中に固定されているものとして扱われるコンテンツの閲覧パースペクティブを判断するための上���手段は、モバイルコンピューティングデバイスの位置の判断された変化に適用される仮想移動スケーリングファクタに基づいて判断を行うこともある。本モバイルコンピューティングデバイスは、グラフィカルユーザインターフェースモードにある間、(ボタン押下の形態であり得る)ユーザインターフェースモード選択入力を受信するための手段と、グラフィカルユーザインターフェースモードにおいてコンテンツの画面に基づいてコンテンツを仮想空間中に固定するための手段と、本明細書で説明するモバイルユーザインターフェースモードを実装するための手段と、ならびに、モバイルユーザインターフェースモードにある間、ユーザインターフェースモード選択入力を受信するための手段と、コンテンツをモバイルコンピューティングデバイス画面中に固定するための手段と、グラフィカルユーザインターフェースモードを実装するための手段とをさらに含むことができる。
【０００７】
別の態様では、コンピュータプログラム製品が、加速度計、距離測定センサ、チルトセンサ、カメラ、およびコンパスのうちの任意の1つまたは複数であり得るセンサから信号を受信するための少なくとも1つの命令と、受信センサ信号に基づいてモバイルコンピューティングデバイスの実空間中での位置の変化を判断するための少なくとも1つの命令と、モバイルコンピューティングデバイスの位置の判断された変化に基づいて、仮想空間中に固定されているものとして扱われるコンテンツの閲覧パースペクティブを判断するための少なくとも1つの命令と、判断された閲覧パースペクティブに基づいてコンテンツの少なくとも一部分の画像を画面上に生成するための少なくとも1つの命令とを含むコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンテンツの選択を選択するための信号を受信するための少なくとも1つの命令と、上記画面の中心の近くに位置するコンテンツの一部を判断するための少なくとも1つの命令と、上記画面の中心の近くに位置するコンテンツの上記一部を選択するための少なくとも1つの命令とをさらに含むことができる。コンピュータ可読媒体は、上記生成された画面内に、選択されることになる上記画面の中心および/または上記画面内のコンテンツの上記一部を示す選択エイドを含めるための少なくとも1つの命令をさらに含むことができる。コンピュータ可読媒体は、上記画面の中心の近くに位置するコンテンツに応じて選択エイドの形態を選択するための少なくとも1つの命令をさらに含むことができ、選択エイドの形態は、たとえば、十字線、円、卵形、ボックス、強調された輝度の領域、強調された鮮明度の領域、およびシェーディングの領域であり得る。コンピュータ可読媒体は、コンテンツの選択を選択するための上記信号をボタン押下の結果として受信するための少なくとも1つの命令をさらに含むことができる。コンピュータ可読媒体は、上記生成された画面内に、選択できる上記画面内のコンテンツの一部を示す選択エイドを含めるための少なくとも1つの命令と、コンテンツの選択を選択するための信号を受信するための少なくとも1つの命令と、選択エイド内に位置するコンテンツの上記一部を判断するための少なくとも1つの命令と、選択エイド内に位置するコンテンツの上記一部に対してアクションを実行するための少なくとも1つの命令とをさらに含むことができる。コンピュータ可読媒体は、上記センサから受信した信号に基づいて移動を感知するための少なくとも1つの命令をさらに含むことができる。コンピュータ可読媒体は、モバイルコンピューティングデバイスとユーザとの間の距離を判断するための少なくとも1つの命令と、判断された距離に基づいてコンテンツの表示部分に倍率を適用するための少なくとも1つの命令とをさらに含むことができる。コンピュータ可読媒体は、感知されたチルトに基づいて仮想空間中でコンテンツを再配置するための少なくとも1つの命令をさらに含むことができる。コンピュータ可読媒体は、カメラからデジタル画像を受信するための少なくとも1つの命令と、連続画像の変化を識別するために、受信したデジタル画像の少なくとも一部分を前のデジタル画像の少なくとも一部分と比較するための少なくとも1つの命令と、連続画像の��別された変化に基づいて移動を判断するための少なくとも1つの命令とをさらに含むことができる。仮想空間中に固定されているものとして扱われるコンテンツの閲覧パースペクティブを判断するための上記少なくとも1つの命令は、モバイルコンピューティングデバイスの位置の判断された変化に適用される仮想移動スケーリングファクタにさらに基づいて閲覧パースペクティブを判断するための少なくとも1つの命令を含むことができる。コンピュータ可読媒体は、グラフィカルユーザインターフェースモードにある間、ユーザインターフェースモード選択入力を受信するための少なくとも1つの命令と、グラフィカルユーザインターフェースモードにおいてコンテンツの画面に基づいてコンテンツを仮想空間中に固定するための少なくとも1つの命令と、モバイルユーザインターフェースモードを実装するための少なくとも1つの命令とをさらに含むことができる。コンピュータ可読媒体は、モバイルユーザインターフェースモードにある間、(ボタン押下の形態であり得る)ユーザインターフェースモード選択入力を受信するための少なくとも1つの命令と、コンテンツをモバイルコンピューティングデバイス画面中に固定するための少なくとも1つの命令と、グラフィカルユーザインターフェースモードを実装するための少なくとも1つの命令とをさらに含むことができる。
【０００８】
本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本発明の例示的な態様を示す。上記の概略的な説明および以下の詳細な説明とともに、図面は本発明の特徴について説明するのに役立つ。
【図面の簡単な説明】
【０００９】
【図１】パーソナルコンピュータとモバイルコンピューティングデバイスとのための従来技術のグラフィカルユーザインターフェースの基本動作を示すプロセスフロー図である。
【図２】本発明の様々な態様による、モバイルコンピューティングデバイスのためのモバイルユーザインターフェースの基本動作の一部を示すプロセスフロー図である。
【図３】実空間中のモバイルコンピューティングデバイスに対して仮想空間中に配置された文書を示す透視図である。
【図４】例示的な画像文書の図である。
【図５Ａ】図4に示す例示的な画像文書を閲覧するためのモバイルユーザインターフェースの動作を示す、モバイルコンピューティングデバイスの正面図である。
【図５Ｂ】図4に示す例示的な画像文書を閲覧するためのモバイルユーザインターフェースの動作を示す、モバイルコンピューティングデバイスの正面図である。
【図６】ユーザに対するモバイルコンピューティングデバイスの位置に基づいて画像サイズまたは倍率を制御するためのモバイルユーザインターフェースの動作を示すプロセスフロー図である。
【図７Ａ】図4に示す例示的な画像文書の異なる倍率を与えるモバイルユーザインターフェースの動作を示す、モバイルコンピューティングデバイスの正面図である。
【図７Ｂ】図4に示す例示的な画像文書の異なる倍率を与えるモバイルユーザインターフェースの動作を示す、モバイルコンピューティングデバイスの正面図である。
【図８】パーソナルコンピュータとモバイルコンピューティングデバイスとのための従来技術のユーザインターフェースにおいてアクションを選択するための動作を示すプロセスフロー図である。
【図９】本発明の様々な態様による、モバイルコンピューティングデバイスのためのモバイルユーザインターフェースにおいてアクションを選択するための動作を示すプロセスフロー図である。
【図１０Ａ】モバイルユーザインターフェースの画面内の例示的な選択エイドを示す、モバイルコンピューティングデバイスの正面図である。
【図１０Ｂ】モバイルユーザインターフェースの画面内の例示的な選択エイドを示す、モバイルコンピューティングデバイスの正面図である。
【図１０Ｃ】モバイルユーザインターフェースの画面内の例示的な選択エイドを示す、モバイルコンピューティングデバイスの正面図である。
【図１０Ｄ】モバイルユーザインターフェースの画面内の例示的な選択エイドを示す、モバイルコンピューティングデバイスの正面図である。
【図１０Ｅ】モバイルユーザインターフェースの画面内の例示的な選択エイドを示す、モバイルコンピューティングデバイスの正面図である。
【図１０Ｆ】モバイルユーザインターフェースの画面内の例示的な選択エイドを示す、モバイルコンピューティングデバイスの正面図である。
【図１１】移動を感知し、加速度計センサから受信した情報に基づいてモバイルコンピューティングデバイスの相対位置の変化を判断するための動作を示すプロセスフロー図である。
【図１２】移動を感知し、距離測定センサから受信した情報に基づいてモバイルコンピューティングデバイスの相対位置の変化を判断するための動作を示すプロセスフロー図である。
【図１３】コンパスセンサから受信した情報に基づいてモバイルコンピューティングデバイスの配向の変化を判断するための動作を示すプロセスフロー図である。
【図１４】移動を感知し、加速度計センサ、距離測定センサ、およびコンパスセンサから受信した情報に基づいてモバイルコンピューティングデバイスの相対位置の変化を判断するための動作を示すプロセスフロー図である。
【図１５】移動を感知し、カメラから受信した情報に基づいてモバイルコンピューティングデバイスの相対位置の変化を判断し、閲覧すべき文書の一部分を判断するための動作を示すプロセスフロー図である。
【図１６】従来のグラフィカルユーザインターフェース機能とモバイルユーザインターフェース機能の両方を含むユーザインターフェースのための動作を示すプロセスフロー図である。
【図１７】1つまたは複数のチルトセンサから受信した情報に基づいて、仮想空間中で文書を操作し、モバイルコンピューティングデバイス上で閲覧すべき文書の一部分を判断するための動作を示すプロセスフロー図である。
【図１８】実空間中のモバイルコンピューティングデバイスに対して仮想空間中に配置された3次元文書を示す透視図である。
【図１９】本発明の様々な態様による代替モバイルコンピューティングデバイス構成の機能/構成要素ブロック図である。
【図２０】本発明の様々な態様による代替モバイルコンピューティングデバイス構成の機能/構成要素ブロック図である。
【図２１】本発明の様々な態様とともに使用するのに好適な例示的なモバイルコンピューティングデバイスの構成要素ブロック図である。
【図２２】本発明の様々な態様とともに使用するのに好適な例示的なノートブックポータブルコンピューティングデバイスの構成要素ブロック図である。
【発明を実施するための形態】
【００１０】
様々な態様について、添付の図面を参照しながら詳細に説明する。可能な場合はいつでも、同じまたは同様の部分を指すために図面全体にわたって同じ参照番号を使用する。特定の例および実装形態になされる言及は、説明のためであり、本発明の範囲または特許請求の範囲を限定するものではない。
【００１１】
本明細書で使用する「モバイルデバイス」または「モバイルコンピューティングデバイス」という用語は、セルラー電話、個人情報端末(PDA)、パームトップコンピュータ、ネットブックコンピュータ、ノートブックコンピュータ、ワイヤレス電子メール受信機およびセルラー受話器(たとえば、Blackberry(登録商標)およびTreo(登録商標)デバイス)、マルチメディアインターネット対応セルラー電話、ならびにプログラマブルプロセッサまたは専用グラフィックス処理チップとメモリと画面とを含む同様のハンドヘルド電子デバイスのうちのいずれか1つまたはすべてを指す。
【００１２】
本明細書で使用する「ユーザインターフェース」という用語は、一連の画像およびメニューをユーザに提示し、コンピューティングデバイスまたはコンピューティングデバイス上のコンテンツと対話するためのユーザ入力を受信するための様々なインターフェースツールを与える、コンピューティングデバイス上で動作するソフトウェアプロセスを指す。様々な態様では、特にモバイルコンピューティングデバイスおよびポータブルコンピュータ(たとえば、ノートブックコンピュータ)に好適なユーザインターフェースを提供する。参照しやすいように、そのようなユーザインターフェースを、「グラフィカルユーザインターフェース」(図面では「GUI」)と呼ぶことがある、元来、固定コンピューティングデバイス(たとえば、Windows(登録商標)およびLeopard(登録商標))用に開発された従来のユーザインターフェースと区別するために、様々な態様を、本明細書または図面において「モバイルユーザインターフェース」(図面では「MUI」)と呼ぶことがある。モバイルユーザインターフェースの様々な実装形態は、グラフィカルフィーチャ、ツール、またはアイコンを含むことができることに留意することが重要である。したがって、「グラフィカルユーザインターフェース」に対する「モバイルユーザインターフェース」への言及は、様々な態様によるモバイルユーザインターフェースがグラフィカル要素を含まないことがあることを要求するものでも暗示するものでもない。
【００１３】
固定パーソナルコンピュータ(たとえば、デスクトップコンピュータ)で使用するために開発された従来のグラフィカルユーザインターフェースでは、コンピューティングデバイス画面は、実空間中に固定されていると仮定され、文書、ファイル、またはデスクトップは、デバイスに対して仮想空間中で移動可能であると仮定される。固定された閲覧ウィンドウの仮定は、CRT画面が一般にデスクトップに固定されていた、歴史的に大型のシステムであったパーソナルコンピュータに適していた。そのような固定画面の場合、グラフィカルユーザインターフェースは、実空間中に固定されたウィンドウ上で(たとえば、壁上で)モデル化されていた。図1に、従来のグラフィカルユーザインターフェースの例示的な処理動作を示す。従来のグラフィカルユーザインターフェースのプロセス100内のブロック2において、画面に対するコンテンツのロケーション、したがって、画面ウィンドウ内で可視である文書、ファイル、またはデスクトップの部分を判断する。プロセス100中のブロック3において、画面ウィンドウ内のカーソルのロケーションを判断する。次いで、ブロック4において、この情報を使用して、カーソルを含む画面を生成する。プロセス100中のブロック5において、キーボードキー、コンピュータマウス、またはタッチパッドなど、ポインティングデバイスからの入力が、画面内でカーソルを再配置するための情報、あるいは開いたコンテンツ内でオブジェクトまたは要素を選択するための情報を、プロセッサまたは専用グラフィックス処理チップに供給する。ポインタデバイスおよび/またはキーパッド押下のユーザ操作によって制御されるそのようなカーソル移動に基づいて、プロセス100中のブロック6において、プロセッサまたは専用グラフィックス処理チップは、スクロールバーの操作など、画面ウィンドウに対するファイルの移動に関する入力を受信する。プロセス100中のブロック8において、コンピュータプロセッサまたは専用グラフィックス処理チップは、そのようなスクロールバー(または同様の)入力を使用して、ウィンドウに対してファイルを再配置し、その後、プロセス100はブロック2に戻ることによって繰り返される。
【００１４】
現今では、パーソナルハンドヘルドコンピューティングおよび通信デバイスは、デスクトップコンピュータの処理能力の大部分を有するが、その画面サイズおよび解像度は基本的な制約のままである。現代のデスクトップコンピュータモニタは、一般に、サイズが解像度1440×900(WXGA+)の17"から解像度1680×1050(WSXGA+)の22"までの範囲である。対照的に、ノートブックコンピュータ画面は、一般に、IBM/Lenono X61などの1024×768(XGA)の10.2"から、Dell D630およびHP 6910pなどの1440×900(WXGA+)の17"までの範囲である。ハンドヘルドモバイルコンピューティングデバイスは、一般にサイズが数インチである、はるかに小さい画面を有する。以下の表1に、現在市場に出ている選択されたハンドヘルドコンピューティングデバイスについての画面サイズおよび解像度のリストを与える。
【００１５】
【表１】
2012514786.tif 000003
【００１６】
コンテンツ(たとえば、ピクチャ)を画面サイズまたは画面解像度により良く適合させるために、モバイルコンピューティングデバイスの中には、画面がコンテンツを縦方向配向または横方向配向のいずれかで提示することができるものがある。ハンドヘルドモバイルコンピューティングデバイスの中には、ユーザがデバイスを回転することに応答して画面配向を検出し、画面配向に一致するようにコンテンツ配向フォーマットを変更するものがある。Blackberry Storm(登録商標)など、最近リリースされたモバイルコンピューティングデバイスは、デバイス配向の変化を感知し、プロセッサまたは専用グラフィックス処理チップがコンテンツ配向を自動的に調整できるようにすることができる内蔵加速度計を有する。このユーティリティは、コンテンツを画面の寸法により良く一致させることができるが、コンテンツウィンドウのサイズを増加させない。
【００１７】
画面サイズの制限を最小限に抑えるために、より大きい画面に適応するようにモバイルコンピューティングデバイスのサイズを増加させることができるが、この手法が採用できるのは、コンピューティングデバイスがもはや「ハンドヘルド」またはモバイルでなくなる前までだけである。画面解像度を増加させることは、より多くのコンテンツを画面内に提示することを可能にするので役立つことがあるが、高精細度の画面上でさえ、平均的な人間の眼が分解することができるピクセルのサイズおよび分離には限界がある。
【００１８】
モバイルコンピューティングデバイス画面のサイズおよび解像度には実際的な限界があるので、従来の手法は、ファイルコンテンツを画面の閲覧ウィンドウよりもはるかに大きくすることを可能にすること、およびファイルコンテンツを画面に対して移動するために操作できる垂直および水平スクロールバーを与えることであった。より最近では、Research In Motion Ltd.が販売しているBlackberry Storm(登録商標)など、ファイルコンテンツを閲覧ウィンドウ(すなわち、画面)よりもはるかに大きくすることができ、ユーザがタッチスクリーン画面上でスタイラスまたは指をドラッグすることによって閲覧ウィンドウ内でファイルを再配置できるようにするモバイルコンピューティングデバイスが販売されている。これらの手法は、ハンドヘルドコンピューティング環境へのデスクトップグラフィカルユーザインターフェースソリューションのほとんど直接的な移植である。結果として、モバイルコンピューティングデバイス上で採用されるグラフィカルユーザインターフェースは、デスクトップの世界とハンドヘルドの世界の両方の制限を受け、小型スクリーン上でのデスクトップ同様のユーザエクスペリエンスを生じることになる。
【００１９】
モバイルコンピューティングデバイス上に実装される知られているグラフィカルユーザインターフェースは、デスクトップコンピュータ使用経験により、たいていのユーザによく知られているが、そのようなソリューションは、ハンドヘルドコンピューティングデバイス用には最適化されておらず、したがって、いくつかのユーザエクスペリエンス問題を生じる。1つの問題として、そのようなソリューションは、両手(デバイスを保持するための一方の手と、グラフィカルユーザインターフェースを操作するための別の手)を必要とする。別の問題として、画面の小さいサイズと、小さいデバイス内でファイルを移動することの反直観的仮定とが相まって、文書全体を理解することが困難になり、ユーザが大きいファイル内で「迷う」ことになり得る。
【００２０】
本発明の様々な態様では、デスクトップコンピュータグラフィカルユーザインターフェースから採用される仮定を排除し、ハンドヘルドデバイスに直観的に適した新しいインターフェースの仮定を実装することによって、ハンドヘルドコンピューティングデバイスユーザインターフェースにおけるこれらのユーザエクスペリエンス問題を解決する。詳細には、モバイルユーザインターフェースは、コンテンツがユーザからある距離のところで空間中に固定されている(本明細書では「仮想空間」中に固定されていると呼ぶ)と仮定する(たとえば、壁上のピクチャまたはデスク上にある文書)。モバイルユーザインターフェースは、さらに、モバイルコンピューティングデバイス画面が、(従来のグラフィカルユーザインターフェースの固定「ウィンドウ」とは対照的に)コンテンツの様々な部分を閲覧するためにあちこちに移動できるカメラの拡大鏡またはビューファインダと同様にして機能すると仮定する。これらの仮定により、ユーザは、モバイルコンピューティングデバイスのハンドヘルド携帯性を利用する自然な方法でコンテンツ(たとえば、アプリケーション、ファイル、画像、および文書)を閲覧し、それと対話することが可能になる。モバイルユーザインターフェースは、ユーザが文書をスキャンするために拡大鏡を使用してデスク上または壁上の文書を閲覧しているかのように、ユーザがテキスト文書を読むことまたは画像を閲覧することを可能にする。テキストを読むためにハンドヘルドデバイスを左から右に移動することは、テキストを読むために文書を右から左にドラッグしなければならない従来のグラフィカルユーザインターフェースの反直観的動作よりも自然である。様々な態様は、ハンドヘルドデバイスユーザを画面サイズおよび解像度の制限から解放するモバイルユーザインターフェースを提供し、ならびにマウス、タッチパッド、タッチスクリーン、または矢印キーなど、ポインティングデバイスの必要をなくす片手操作を可能にする。
【００２１】
様々な態様のモバイルユーザインターフェースを可能にするために、様々な動きセンサ(motion sensor)、距離センサ、および/または配向センサのうちの1つまたは複数を使用して、2次元(2D)または3次元(3D)でのモバイルコンピューティングデバイスの移動を測定または推定する。そのようなセンサは、加速度計、距離測定センサ、チルトセンサ、コンパスセンサ、イメージングセンサ(たとえば、カメラ)などを含むことができる。モバイルコンピューティングデバイス中のプロセッサまたは専用グラフィックス処理チップは、そのようなセンサから受信した情報を使用して、仮想空間中に固定されているものとして扱われる、表示されているコンテンツ(すなわち、文書、ファイル、またはデスクトップ)に対するデバイスの相対移動を判断して、表示されるコンテンツの部分を判断する。そのような部分を画面内の中心に置くことによってコンテンツのオブジェクトまたは部分を選択のために示すことができ、それにより、カーソルの必要、ならびにマウス、タッチスクリーン、またはタッチパッドのようなポインティングデバイスの必要がなくなる。次いで、ボタンを押下するか、あるいはデバイスを移動またはタップすることなどによって、画面内の中心に置かれたオブジェクトを選択することができる。モバイルコンピューティングデバイスをユーザから離すか、またはユーザに近づけることによって、倍率または画像サイズを操作することができる。モバイルコンピューティングデバイスのチルトまたは配向を感知し、3D仮想空間中でモバイルコンピューティングデバイスの下または上にあるコンテンツを提示することによって、3Dでのコンテンツ閲覧が可能になり得る。そのようなモバイルユーザインターフェースによって閲覧または操作されるコンテンツは、ビデオ再生の場合などはローカルストレージから取得でき、あるいは(たとえば)ウェブブラウズまたはビデオストリーミングの場合などはエアインターフェースを介して配信され得る外部ソースから取得できる。
【００２２】
図2に、プロセス200において、本発明の様々な態様において実装され得る基本動作を示す。プロセス200中のブロック12において、文書、ファイル、またはデスクトップなど、コンテンツをモバイルユーザインターフェースにおいて開いたとき、そのコンテンツは、モバイルコンピューティングデバイスに対して仮想空間中に固定されているものとしてプロセッサまたは専用グラフィックス処理チップによって扱われる。この動作では、コンテンツを開いたとき、モバイルコンピューティングデバイスの現実の位置および配向にかかわらず、そのコンテンツは、プリセットされた配向においてモバイルコンピューティングデバイス(したがってユーザ)からプリセットされた距離のところで固定され得る。したがって、文書またはファイルを開いたときはいつでも、その文書またはファイルは、モバイルコンピューティングデバイスおよびユーザに対して同じ相対位置に現れ得る。
【００２３】
プロセス200中のブロック14において、モバイルコンピューティングデバイスのプロセッサは、次いで、実空間中でのデバイスの位置を判断する。実空間中での位置の判断は、(たとえば、ユーザを中心とする)固定座標系座標に対する絶対座標、または初期ロケーション(たとえば、モバイルユーザインターフェースがアクティブにされたときのモバイルコンピューティングデバイスのロケーション)に対する移動の観点から、行うことができる。たとえば、プロセッサまたは専用グラフィックス処理チップは、近くの表面までの距離測定値を受信し、かつ、この情報から、デバイスの位置がその中で3次元で識別され得る、ユーザを中心とするあるいは場所またはボリューム(たとえば、自動車)内の座標系を定義することができる。代替的に、プロセッサまたは専用グラフィックス処理チップは、開始点からのモバイルコンピューティングデバイスの実空間中での移動を追跡し、かつ、その開始点がユーザに対するものであったのか、または場所に対するものであったのかにかかわらず、その開始点からの距離に関して、3D空間中でのその位置を定義することができる。いくつかの実装形態では、モバイルコンピューティングデバイスは、距離測定センサおよび配向測定センサを使用して実空間中でのモバイルコンピューティングデバイスの位置を測定することができる。他の実装形態では、動きまたは加速度のみを測定し、仮想空間中に固定されているファイルを開いたときの(すなわち、プロセス200のブロック12における)デバイスの開始位置に対する位置および配向を推定することができる。
【００２４】
プロセス200中のブロック16において、モバイルコンピューティングデバイス中のプロセッサは、モバイルコンピューティングデバイスの判断されたまたは仮定された開始位置と、開いたコンテンツの仮想空間中での固定位置とに基づいて、画面のビューフィールド内にあるコンテンツの部分を判断する。この動作は、開いたコンテンツの対応する部分を識別するために、画面の閲覧パースペクティブ(viewing perspective)と、コンテンツに適用すべき倍率とを判断することができる。この動作は、様々な知られているグラフィックまたはベクトル処理アルゴリズムのいずれかを使用して達成できる。プロセス200中のブロック18において、モバイルコンピューティングデバイス中のプロセッサは、ビューフィールド内のコンテンツの判断された部分を使用して、画面上に提示される画像を生成する。
【００２５】
プロセス200中のブロック22において、プロセッサが位置センサデータまたは動きセンサデータを受信することによって、モバイルコンピューティングデバイスの閲覧パースペクティブの変化を判断する。そのようなデータを使用して、プロセス200中のブロック24において、モバイルコンピューティングデバイスは、仮想空間中に固定されたコンテンツに対するビューフィールドの変化を判断する。図10〜図14に関して以下でより詳細に説明するように、プロセス200のブロック22において、モバイルコンピューティングデバイスの相対位置または移動を判断するために、様々な位置センサ、動きセンサ、および配向センサを使用する。プロセス200のブロック24において、センサ情報を利用してモバイルコンピューティングデバイスの位置または閲覧角の変化を判断し、次いで、その変化を使用して、実空間中でのモバイルコンピューティングデバイスの新しい位置を判断し、プロセス200のブロック14に戻る。代替的に、ブロック22において受信したセンサデータを使用して、実空間中でのデバイスの新しい位置を判断し、ブロック14に戻ることができる。次いで、判断されたモバイルコンピューティングデバイスの新しい位置を用いて、ブロック16においてコンテンツの閲覧部分を判断するプロセスと、ブロック18においてそのコンテンツを表示するプロセスとを繰り返す。
【００２６】
プロセス200のブロック14〜24(モバイルコンピューティングデバイスの移動または位置を判断すること、およびコンテンツの適切な部分を表示すること)は、連続的に繰り返すことができる。繰返し率は、ビデオカメラビューファインダ画面とほぼ同様に機能するシームレスモバイルユーザインターフェースを与えるために、頻繁な周期を有することができる。実空間中でのモバイルコンピューティングデバイスの移動と、仮想空間中での開いたコンテンツの閲覧パースペクティブの変化との間の相関関係は、より良いユーザエクスペリエンスを提供するために1対1または何らかの他の比率とすることができる。参照しやすいように、実空間中でのモバイルコンピューティングデバイスの移動と閲覧パースペクティブの変化との間のこの相関関係は、本明細書では「仮想移動スケーリングファクタ」と呼ぶ。仮想移動スケーリングファクタは、実空間中での所与の移動に対して仮想空間中で開いたコンテンツ上で画面が移動するように見える距離を判断するために、モバイルコンピューティングデバイスによって適用されるファクタである。仮想移動スケーリングファクタは、実空間中での1フィートの移動が、表示されたコンテンツの1フィートの移動になるように、1対1であるか、実空間中での1フィートの移動が、表示されたコンテンツの1フィートの移動よりも小さくなるように、1対1よりも小さいか、または実空間中での1フィートの移動が、表示されたコンテンツの1フィートの移動よりも大きくなるように、1対1よりも大きくすることができる。たとえば、モバイルコンピューティングデバイスを保持しているユーザの手の通常のジッタおよびランダムな移動は、そのような移動が画面変化として直接実装された場合に、乱れた表示画像を生じることがある。
【００２７】
モバイルコンピューティングデバイスの3インチの水平移動を、開いたコンテンツの閲覧パースペクティブの2インチの変化に相関させるなど、モバイルコンピューティングデバイスの測定された移動よりも小さい(1対1の相関関係よりも小さい)レートで閲覧パースペクティブを変更することによって、より満足のいく画面を生成することができる。一態様では、デジタルイメージングシステム(たとえば、カメラおよびビデオカメラ)に実装されるものと同様のハンドジッタリダクション(HJR)技術またはデジタルイメージスタビリゼーション(DIS)技術を実装することによって、モバイルコンピューティングデバイスの移動を低減することができる。一態様では、閲覧パースペクティブの変化は、モバイルコンピューティングデバイスの感知された移動よりも大きく(すなわち、1対1の移動相関関係よりも大きく)することができ、それにより、ユーザは、モバイルコンピューティングデバイスの比較的適度の移動で(大きい高精細度画像などの)大きいコンテンツを迅速にスキャンできるようになり得る。TV出力を利用してモバイルコンピューティングデバイス中のモバイルUI(MUI)に基づいて外部大型スクリーン上で文書を閲覧するとき、そのスクリーンサイズ/解像度を文書自体よりも大きくすることができるのであれば、その使用は同様となる。
【００２８】
さらなる態様では、モバイルコンピューティングデバイスの現実世界の移動と閲覧パースペクティブの変化との間の相関関係は、ボタン押下またはスライド作動、または実空間中でのデバイスの加速度のレートなどに応答して、ユーザによって調整できる。一態様では、プロセス200のブロック24において、センサデータに基づいて閲覧パースペクティブの変化を判断する動作は、しきい値に対してセンサデータをテストし、その結果、センサ値が現在のしきい値を下回った場合は、閲覧パースペクティブの変化がないと判断される。そのような感度しきい値を採用することによって、モバイルコンピューティングデバイスの意図しないわずかな移動による画面の不快な変化をなくすことができる。したがって、動いている自動車中で画面を閲覧しているとき、その画面は、車両の走行に関連する振動および路面の隆起による影響を受けないことがある。一方、モバイルコンピューティングデバイスがあちこちに迅速に移動するときでさえ、表示画像が仮想空間中で安定し、固定されているように見えるようにするために、モバイルユーザインターフェースは、デバイスの移動に非常に敏感になるように構成できる。この構成は、モバイルコンピューティングデバイスが、自動車または飛行機など、揺れのひどい乗り心地を経験する、動いている乗物中で使用されているときに、より満足のいくユーザエクスペリエンスを提供することができる。さらなる態様では、表示画像を安定化するのを助けるために、追加のツールまたは代替手法としてHJR技術およびDIS技術を採用することができる。
【００２９】
図3に、モバイルユーザインターフェースを支えている仮定を示す。この図は、コンテンツ40が、仮想空間中に固定され、ビデオカメラのビューファインダ画面を通して見ているかのようにモバイルコンピューティングデバイス230の画面30のパースペクティブを通して閲覧されることが、どのように仮定されるかを示している。プロセッサまたは専用グラフィックス処理チップは、モバイルコンピューティングデバイス230中の動きセンサ、位置センサ、および/または配向センサを使用して、ベクトル「X+」33、「X-」34、「Y+」36、「Y-」35、「Z+」37、および「Z-」38によって図3に表される3つの次元で実空間内の位置または動きを判断することができる。デバイスプロセッサまたは専用グラフィックス処理チップは、モバイルコンピューティングデバイス230の位置または移動を使用して、画面30上で提示されるべきコンテンツ40の閲覧部分42を判断する。閲覧部分42は、画面30のサイズと、(Z次元37、38に沿った空間中での位置に基づいて判断され得る)コンテンツ40に適用される倍率と、閲覧角またはX33、34およびY35、36の空間中での位置とに依存する。たとえば、X- 34方向へのモバイルコンピューティングデバイス230の移動は、平行方向44へのコンテンツ40の閲覧部分42の移動に変換できる。上述のように、開いたコンテンツ40内の閲覧部分42の移動は、実空間中でのモバイルコンピューティングデバイスの移動に等しいか、それよりも小さいか、またはそれよりも大きくすることができ、そのような相関関係は、ユーザ調整可能であり、および/またはコンテンツ依存である。
【００３０】
図4、図5A、および図5Bに示す例を参照すると、モバイルユーザインターフェースの動作を理解することができる。図4に、モバイルコンピューティングデバイス画面上に表示すべき、デジタル写真ファイルなどの画像50を示す。画像50の寸法のサイズは、典型的なモバイルコンピューティングデバイス230上の画面239の寸法のサイズよりもはるかに大きいので、画像を表示するには、画面に収まるように画像のサイズを縮小すること、または画面239内に収まる画像50の部分を提示することのいずれかが必要になる。表示すべき画像50の比率を判断するために、モバイルユーザインターフェースは、実空間中でのモバイルコンピューティングデバイス230の位置および/または配向を判断し、この情報から、画面239上に提示すべき画像部分50aを判断する。これを図5Aに示しており、図5Aは、画面239上に提示される画像部分50aが、画像50の左端の近くに中心を置くように、配置または配向されたモバイルコンピューティングデバイス230を示している。ユーザがモバイルコンピューティングデバイス230を横方向に右側に移動すると、実空間中での位置のこの変化は、モバイルユーザインターフェースによって、図5Bに示すようなビューの変化に変換される。この図は、画面239上に提示される画像部分50bが、画像50の中心のわずか右に中心を置くように、配置または配向されたモバイルコンピューティングデバイス230を示している。したがって、図5Aおよび図5Bに示すように、ユーザは、単にモバイルコンピューティングデバイス230を横方向に移動することによって、写真上で拡大鏡を移動するかのように、または遠くの風景にわたって望遠鏡をスキャンするかのように、大きい画像50をスキャンすることが可能である。
【００３１】
また、モバイルコンピューティングデバイス230の移動を使用して、画面239内に提示されるコンテンツに適用されるサイズまたは倍率を制御することができる。図6に示すプロセス600に、これを達成するための例示的な動作を示す。図2に関して上記で説明したように、プロセス600中のブロック12において最初にコンテンツを開いたとき、そのコンテンツは、モバイルコンピューティングデバイス230(したがってユーザ)に対して仮想空間中に固定されていると仮定される。プロセス600のブロック14において、実空間中でのモバイルコンピューティングデバイス230の初期位置を判断するかまたは仮定する。さらに、プロセス600のブロック60において、様々なセンサ(たとえば、カメラまたは距離測定センサ)を使用してモバイルコンピューティングデバイス230とユーザとの間の距離を判断する。この距離は、(フォントサイズなどの)前のコンテンツ情報とともに、コンテンツ倍率の変化を判断するためのベースラインとして使用できる。プロセス600のブロック62において、モバイルコンピューティングデバイス230内のプロセッサまたは専用グラフィックス処理チップは、ブロック60において測定された、モバイルコンピューティングデバイス230からユーザまでの距離を使用して、コンテンツに適用されるべき拡大係数を判断する。最初に、コンテンツを最初に開いたとき、行われる倍率は、モバイルコンピューティングデバイス230とユーザとの間の距離にかかわらず、100%など、プリセットされたデフォルト値であり得る。その後、モバイルコンピューティングデバイス230をユーザに近づけるか、またはユーザから離すと(すなわち、Z軸37、38に沿って)、その距離に基づいて判断される拡大係数は、初期値から変動することになる。
【００３２】
プロセス600のブロック16において、モバイルコンピューティングデバイス230は、実空間中でのモバイルコンピューティングデバイス230の判断された位置と、モバイルコンピューティングデバイス230の配向と、判断された拡大係数と、プロセッサまたは専用グラフィックス処理チップとに基づいて、閲覧部分42内にあるコンテンツの部分を判断する。プロセス600のブロック18において、この情報およびコンテンツデータを使用して、画面を生成する。プロセス600のブロック22において、モバイルコンピューティングデバイス230内のプロセッサまたは専用グラフィックス処理チップは、位置センサデータ、動きセンサデータ、および/または配向センサデータを受信し、そのセンサデータを使用して、実空間中でのモバイルコンピューティングデバイス230の更新された位置を判断し、ブロック14に戻る。また、ブロック22において位置センサ、動きセンサ、および/または配向センサから受信した情報を使用して、ブロック60において、モバイルコンピューティングデバイス230からユーザまでの更新された距離を判断する。頻繁な周期で実行される連続ループでプロセス600を反復することによって、プロセッサまたは専用グラフィックス処理チップは、画面内にコンテンツの一部分をシームレスに提示するモバイルユーザインターフェースを与え、コンテンツに適用される倍率でモバイルコンピューティングデバイス230の前方および後方の(すなわち、Z軸37、38に沿った)移動を反映する。一実装形態では、ユーザがコンテンツを一定の倍率で表示させることを選択することができるように、特定のボタンの押下または表示されたアイコンのアクティベーションなどに応答して、ユーザからデバイスまでの距離に基づいて倍率を調整する動作を、ユーザが選択的にアクティブにするか、または非アクティブにすることができる。
【００３３】
図7Aおよび図7Bに示す例を参照すれば、モバイルユーザインターフェースの倍率動作を理解することができる。これらの図は、図4に示す画像50の閲覧部分がモバイルコンピューティングデバイス230とユーザとの間の(すなわち、Z軸37、38に沿った)相対距離に応じて倍率を調整された、モバイルコンピューティングデバイス230を示している。たとえば、図7Aは、モバイルコンピューティングデバイス230をユーザに(すなわち、Z軸37、38に沿って)近づけたことにより、図5Aに示す画像部分50aと比較して拡大された閲覧画像部分50cが生じた状況を示している。対照的に、図7Bは、モバイルコンピューティングデバイス230をユーザから(すなわち、Z軸37、38に沿って)さらに遠くに押しやったことにより、画像50が画面239の範囲内に収まるように画像50のサイズを縮小する倍率が生じた状況を示している。
【００３４】
画面中にコンテンツを提示することの他に、ユーザインターフェースは、操作のためにオブジェクトまたは画面の部分を選択する機能をも与えるべきである。従来のグラフィカルユーザインターフェースでは、コンテンツとのそのような対話は、マウス、タッチスクリーン、またはタッチパッドなど、ポインティングデバイスによって可能にされ、ユーザは、ポインティングデバイスを操作して、画面ウィンドウ内でカーソルを配置することができる。よく知られているように、従来のグラフィカルユーザインターフェースのユーザは、ポインティングデバイスを使用してカーソルを所望のオブジェクト上に配置し、次いで、ボタン(たとえば、マウスボタン)をクリックするか、またはポインティングデバイス(たとえば、タッチスクリーンまたはタッチパッド)をタップすることによって、表示されたコンテンツのアイテムまたは部分を選択することができる。
【００３５】
図8に示すプロセス800に、従来のグラフィカルユーザインターフェースの動作の概観を示す。図1に関して上記で説明したように、プロセス800のブロック2において、ユーザインターフェースは画面ウィンドウ内のコンテンツ(たとえば、ファイル、文書、またはデスクトップ)の位置を判断する。プロセス800のブロック3において、ユーザインターフェースはウィンドウ内のカーソルの位置を判断する。プロセス800のブロック4において、ユーザインターフェースは、カーソルとともにコンテンツおよびウィンドウの画面を生成する。任意の時点で、ユーザは、マウスボタン(たとえば、左マウスボタン)をクリックするか、あるいはタッチスクリーンまたはタッチパッドをタップすることができ、その場合、ボタン押下は、カーソルの近傍の画面内のアイテムが選択されるべきであることをグラフィカルユーザインターフェースに通知する。プロセス800のブロック82において、グラフィカルユーザインターフェースは、カーソルによって示される画面ウィンドウの部分に対応するコンテンツを判断する。プロセス800のブロック84において、グラフィカルユーザインターフェースは、その特定のコンテンツに対する適切なアクションをアクティブにするか、または場合によってはそのアクションを行う。処理は、そのコンテンツによって判断されたアクションに進むか、またはグラフィカルユーザインターフェースの残りの動作に進む。したがって、従来のグラフィカルユーザインターフェースは、一般に、ポインティングデバイスを用いたカーソルの操作と、選択ボタンの動作とを必要とする。
【００３６】
従来のグラフィカルユーザインターフェースとは対照的に、モバイルユーザインターフェースは、カーソルの操作を必要とせず、したがって、ポインティングデバイス(たとえば、マウスまたはタッチスクリーン)からの入力を必要としない。代わりに、ユーザは、所望のコンテンツまたはオブジェクトが表示フィールド内の中心にくるまで、単に空間中でモバイルコンピューティングデバイスを移動することができる。図9に示すプロセス900に、これを示す。図2に関して上記で説明したように、プロセス900のブロック14において、プロセッサまたは専用グラフィックス処理チップは、位置センサ、動きセンサ、および/または配向センサから信号を受信して、実空間中でのモバイルコンピューティングデバイスの位置を判断する。この情報を使用して、プロセス900のブロック16において、プロセッサまたは専用グラフィックス処理チップは、コンテンツの部分がビューフィールド内に表示されると判断する。プロセス900のブロック18において、プロセッサまたは専用グラフィックス処理チップは、画面上に提示するのに適切な画像を生成する。このプロセスは、ユーザが、モバイルコンピューティングデバイス上のボタンを押すことなどによって、選択が行われるべきであることを示すまで続く。これが起こると、プロセス900のブロック85において、モバイルコンピューティングデバイス中のプロセッサまたは専用グラフィックス処理チップは、選択ボタンが押下されたことを示す信号を受信する。ボタン押下の代わりに、ユーザがモバイルコンピューティングデバイスを振るか、裏返すか、回すか、タップするか、またはモバイルコンピューティングデバイスの何らかの他の認識可能な操作を実行することによって、選択が示され得る。このボタン押下または操作は、本質的に、従来のグラフィカルユーザインターフェースにおけるマウスボタン押下に取って代わる。それに応答して、プロセス900のブロック87において、プロセッサまたは専用グラフィックス処理チップは、ビューフィールドの中心にあるコンテンツ(すなわち、画面の中心または中心の近くにあるコンテンツの部分)の選択を判断する。ビューフィールドの中心は、フィールドの中央の10%など、閲覧フィールドまたは画面のあらかじめ決定された部分であり得る。ビューフィールドのコンテンツ選択部分の形状は、円または正方形の形態などに調整可能であり得る。
【００３７】
画面は、ユーザがモバイルユーザインターフェースを使用して閲覧コンテンツの部分を選択するのを助けるためのビジュアルキュー(cue)またはエイド(aid)を含むことができる。たとえば、フィールドの中心が所望のコンテンツに対応するようにユーザがモバイルコンピューティングデバイスを配置するのを助けるために、十字線、選択ボックスまたは円、あるいは何らかの他の形態の暗示カーソル(implied cursor)を画面上に提示することができる。ビューフィールドの中心にあるコンテンツを判断すると、プロセス900のブロック89において、プロセッサまたは専用グラフィックス処理チップは、そのコンテンツをアクティブにするか、あるいは選択のコンテキストまたは選択されたアイテムに基づいてどんな適切なアクションをも開始する。たとえば、ビューフィールドの中心が、ホームページ中に表示されるアプリケーションをアクティブにするためのアイコンなど、定義された機能があるオブジェクトを含む場合、プロセッサまたは専用グラフィックス処理チップは、ブロック89に示す動作の一部として、そのファイルをアクティブにする。次いで、さらなる処理は、アクティブにされたコンテンツに関連する動作を続けるか、またはモバイルコンピューティングデバイスの新しい位置を判断するためにプロセス900のブロック14に戻ることを含む、モバイルユーザインターフェースの動作を続ける。
【００３８】
画面内に与えられる選択エイド(selection aid)または暗示カーソルは、開いたコンテンツの性質と、利用可能なユーザアクションの性質と、画面内の任意のアイコンまたはすぐに利用できるグラフィックスの性質とに応じて、文字およびサイズが変わり得る。たとえば、暗示カーソルは、(たとえば、電子ゲームでなじみのある)十字線または照準器、選択ボックス、円、または卵形、矢印、ポインティングフィンガー、対照的な解像度(たとえば、より高い解像度またはより高い輝度)の領域などの形態であり得る。さらに、表示されたコンテンツおよび利用可能なユーザアクションに最も適した選択ツールをユーザに与えるために、暗示カーソルまたは選択エイドのタイプ、形状、およびサイズは、モバイルコンピューティングデバイス上で実行中のアプリケーション、または表示されたコンテンツによって定義され得る。たとえば、ユーザが(たとえば、ボタンを押下することによって)選択ツールをアクティブにしたのでない限り、十字線は、画像が表示されているときは提示されないことがある。別の例として、ユーザがワードまたは数字を選択エイドボックス内に適合させることによって(たとえば、編集のために)そのワードまたは数字を選択することができるように、ボックス選択エイドのサイズおよび形状は、画面内に現れるテキスト文書中のワードのサイズに一致するように変形し得る。さらに、選択エイドは、アクションアイコンが画面の中心の近くに現れたときに、そのアイコンをアクティブにすることができることを示すために、1本の指を突き出した手のようなアイコンなどを形成するように変形し得る。たとえば、文書(たとえば、電子メールまたはSMSメッセージ)内にURLが現れた場合、そのURLが画面内の中心にあるときに、1本の指を突き出した手の形態の暗示カーソルが現れて、ユーザが、ボタンを押下するか、モバイルコンピューティングデバイスを裏返すか、または何らかの他のアクティベーションアクションを実行することによって、そのURLアドレスのウェブサイトにアクセスすることができることを示し得る。このようにして、モバイルユーザインターフェースの画面中に与えられる選択エイドは、グラフィカルユーザインターフェース中の従来のカーソルにおいて使用される選択エイドと同様にして挙動することができる。また、そのような暗示カーソルまたは選択エイドは、ユーザの気を散らすことと、画面を乱雑にすることとを回避するために、ユーザによってオフに切り替えられるか、またはいかなる選択も利用可能でないときは表示されないことがある。
【００３９】
図10A〜図10Fに、実装され得る選択エイドまたは暗示カーソルのいくつかの例を示す。図10Aに示すように、選択エイドは、画面239の中心点を識別する十字線2391の形態であり得る。この形態の選択エイドは、ユーザが、コピーまたは削除のために、あるいは線または他の形を描くために、画面の一部分を描くためなどに、画面の正確な部分を選択することができるときに、有用であり得る。図10Bに示すように、選択エイドは、画面239の中心部分を識別する円、卵形、またはボックス2392の形態であり得る。図10Bに示すタイプの選択エイドは、アクティブにすべき、選択ボックス2392内のどこかにあり得るオブジェクトまたはアイコンを選択するのに適していることがある。このタイプの選択エイドはまた、選択ボックス2392内に収まるテキストまたは数字を選択するのに有用であり得る。図10Cに示すように、選択エイドは、画面239の中心ボリュームを識別する強調された解像度または強調された輝度、シェーディング、あるいは他の画像フィーチャ2393の形態であり得る。そのような選択エイドは、グラフィックフィーチャ(たとえば、十字線2391またはボックス2392)が画面を乱雑にする場合に有用になり得る。
【００４０】
上記の説明および図10A〜図10Cでは、画面の中心を示す選択エイドについて説明し、図示したが、そのような選択エイドは、図10Dおよび図10Eに示すように画面の4つのコーナーのうちの1つ、または図10Fに示すように1つのエッジの近くなど、画面内の任意のロケーションに配置され得る。中心部分からずれた画面の部分に選択エイドを与えることは、中心にあるエイドが画像を乱雑にする場合、あるいはメニューアイコンが、開いたコンテンツの1つの辺に沿って、または開いたコンテンツのコーナーの近くに配置されたときなど、一部のアプリケーションまたはコンテンツにおいて有利であり得る。たとえば、図10Dに示すように画面239のコーナーに配置された選択エイドボックス2394は、画面の中心部分を乱雑にならないように保つ。別の例として、中心からはずれたロケーションに選択エイドを配置することによって、選択エイドボックス2395は、図10Eに示すようにコンテンツの上に提示される(すなわち、下にあるコンテンツを覆い隠す)メニューオプション(たとえば、「次へ」)を含むことができる。この実装形態は、画面の中心に現れるコンテンツに適した特定のメニューまたは機能オプション(たとえば、スライドショーにおいてピクチャを提示したときの「次へ」)の画面を可能にし得る。さらに、選択エイドは、画面のコーナーに限定される必要はなく、代わりに、(たとえば、Apple Inc.のLeopard(登録商標)オペレーティングシステムにおいて実装される)コンテンツの下部に沿って配置されたメニューまたはアイコンを選択するための、図10Fに示す、画面の下部に沿った細長い選択エイドボックス2396など、ヒューマンファクタおよびユーザインターフェース機能考慮事項に基づいて他のロケーションに提示され得る。
【００４１】
図9に示すモバイルユーザインターフェースのコンテンツ識別および選択機能は、多くの状況においてユーザエクスペリエンスを改善することができる。操作するために両手(すなわち、モバイルコンピューティングデバイスを保持するための一方の手と、ポインティングデバイスを操作するための別の手)を必要とする従来のグラフィカルユーザインターフェースとは異なり、グラフィカルユーザインターフェースにより、ユーザは、所望のコンテンツがビューフィールド内の中心にくるまで、単に空間中でモバイルコンピューティングデバイスを移動することによって、コンテンツを選択できるようになる。したがって、モバイルユーザインターフェースの操作およびコンテンツの選択は、片手で達成することができる。特にキーがモバイルコンピューティングデバイスの側部に位置するとき、ユーザは、通常、モバイルコンピューティングデバイスを保持しているのと同じ手でそのキーを押下することができるので、画面を所望のオブジェクトの中心に置き、選択ボタンをアクティブにするプロセスは、片手で達成することができる。この簡略化された選択およびアクティベーション操作は、多くのユーザ状況におけるモバイルコンピューティングデバイスにおいて特に有用であり得る。
【００４２】
上述のように、モバイルユーザインターフェースをサポートするために、いくつかの異なる動きセンサ、位置センサ、および/または配向センサをモバイルコンピューティングデバイス内に実装することができる。たとえば、図11に、空間中で何らかの初期開始位置に対するモバイルコンピューティングデバイスの位置を判断するための加速度計を利用するために実装され得るプロセス1100を示す。位置センサデータ/動きセンサデータを受信すること(図2中のブロック22)の一部として、プロセス1100のブロック90において、モバイルコンピューティングデバイスのプロセッサまたは専用グラフィックス処理チップは、モバイルコンピューティングデバイス内の加速度計から加速度計データを受信する。加速度計は、ある軸に沿って加速度を感知し、測定された加速度の大きさを示す信号を出力する、知られている電子構成要素である。(ユーザの手の意図的でない移動などによって生じ得る)モバイルコンピューティングデバイスの軽微な移動を無視することが望ましい場合があるので、プロセス1100の決定ブロック92において、しきい値未満の加速度を無視することができるように、受信した加速度計データをあらかじめ決定されたしきい値と比較することがある。測定された加速度としきい値とのこの随意の比較は、コンテンツが、ユーザの手の軽微なぶれ、またはふらつきに応答して、画面内で位置を変えるように見えることを防ぎ、それにより、眼の焦点が合う安定した画像とデバイスを与えるのに役立ち得る。一方、この随意の比較は、(動いている乗物中で起こり得るように)ユーザの手とモバイルコンピューティングデバイスとが空間中ではね回る間でさえ、表示されたコンテンツが固定されているように見えるように、実装されないか、またはユーザによって非アクティブにされ得る。この機能を非アクティブにすると、モバイルコンピューティングデバイスがあちこちにランダムに移動するときでさえ眼の焦点が合う、より安定した画像を与えることができる。いずれの動作モードのユーザの選好も、コンテンツとユーザの状況とに依存し得る。
【００４３】
加速度計データがしきい値を超えた場合(すなわち、決定ブロック92=「はい」)、プロセス1100のブロック94において、プロセッサまたは専用グラフィックス処理チップは、ある時間間隔にわたるデータを統合する。プロセス1100のブロック96において、プロセッサまたは専用グラフィックス処理チップは、この計算の結果を使用して、実空間中での位置の変化を判断する。基礎物理学により、ある時間間隔にわたる位置の変化ΔXを次式から判断することができることが知られている。
ΔXt=1/2At2+V0t
上式で、
ΔXtは、間隔持続時間t内での位置の変化であり、
Aは、加速度計によって測定された加速度であり、
V0は、持続時間tの開始の前の速度であり、前の間隔において式V0=At+Viから判断することができる。
【００４４】
3つの次元において(すなわち、X軸、Y軸、およびZ軸に沿って)移動を測定するために、モバイルコンピューティングデバイス230は、3つの直交する方向に沿って加速度を測定するように配置され、構成された3つの(またはそれ以上の)加速度計を含むことができる。したがって、プロセッサまたは専用グラフィックス処理チップは、ブロック94において、3つの次元の各々における加速度計示度を統合して、3次元で実空間中での位置の変化を判断する。また、加速度計を使用して、重力を測定することによって重力ベクトルに対するモバイルコンピューティングデバイス230のチルト角を判断することができる。次いで、モバイルユーザインターフェースの処理は、図2および図9に関して上記で説明したように進む。
【００４５】
実空間中での位置情報は、距離測定センサから取得された測定データを使用することによって他の物体までの測定された距離に基づいて判断することができる。図12に、実空間中でのモバイルコンピューティングデバイス230の位置を判断するための距離測定センサを利用するために実装され得るプロセス1200を示す。位置センサデータ/動きセンサデータを受信すること(図2中のブロック22)の一部として、プロセス1200のブロック98において、モバイルコンピューティングデバイス230のプロセッサまたは専用グラフィックス処理チップは、モバイルコンピューティングデバイス230内の距離測定センサから距離測定データを受信する。たとえば、超音波測距センサ、無線周波測距センサ(たとえば、レーダー)、光学センサ、および赤外センサなど、任意の知られている距離測定センサをモバイルコンピューティングデバイス230中で使用することができる。たとえば、多くの新型自動車は、超音波を利用して、放出されたパルスと受信したエコーとの間の時間に基づいて近くの物体までの距離を判断する距離センサをバンパー中に含んでいる。そのような超音波距離測定センサは、不要な大きさまたは重みを追加することなしにモバイルコンピューティングデバイス230の側部に取り付けるのに十分小さくなるように構成できる。同様に、小さいレーダーまたは光学測距センサは、モバイルコンピューティングデバイス上で使用できるサイズおよび形態で利用可能になり得る。
【００４６】
別の形態の距離測定センサは、時間遅延測定または三角測量によって距離を判断するために、モバイルコンピューティングデバイス230中のセンサが追跡することができる、他の物体(たとえば、ユーザの衣服または眼鏡)上に配置され得るマーカー、ビーコン、または信号エミッタを利用する。たとえば、赤外発光ダイオード(LED)などの光エミッタを、ある場所またはボリューム(たとえば、自動車)内の様々なロケーションに、またはユーザ上に(たとえば、肩およびユーザの衣服の襟上に)配置して、光を放出し、その光を、モバイルコンピューティングデバイス230上の光センサによって検出することができる。受光した入射光の角度(または他の幾何学的測定値)を感知することによって、プロセッサまたは専用グラフィックス処理チップは、球面三角測量計算に基づいて、ユーザまでの距離およびユーザに対する配向を判断することができる。
【００４７】
同様に、超音波パルスエミッタを、ある場所またはボリューム内の様々なロケーションに、またはユーザ上に配置して、超音波パルスを放出し、その超音波パルスを、モバイルコンピューティングデバイス230上の超音波センサによって受信することができる。パルス位相または時間遅延(または他の測定値)に留意することによって、プロセッサまたは専用グラフィックス処理チップは、球面三角測量計算に基づいて、ユーザまでの距離およびユーザに対する配向を判断することができる。
【００４８】
一実装形態では、そのような外部エミッタまたはビーコンは、ユーザがモバイルコンピューティングデバイス230から取り外し、モバイルコンピューティングデバイス230が所与のエリア内で動作できるようにするために適宜にユーザの周りに配置することができる、モバイルコンピューティングデバイス230上の着脱可能なアイテムとして与えられ得る。知られているまたは開発されるであろう、いかなる形態の小型距離測定センサも、本明細書で説明する目的のために使用できる。
【００４９】
例示的な一実装形態では、前部、背部、側部、上部、および下部からの距離を含む、すべての方向においての距離を測定するために、6つ以上の距離測定センサがモバイルコンピューティングデバイス230上に実装され得る。そのように配向されると、それらの距離測定センサは、6つの方向の各々においてモバイルコンピューティングデバイス230から近くの表面までの距離を測定することができる。たとえば、モバイルコンピューティングデバイスが自動車中で使用されているとき、位置感知距離測定センサは、モバイルコンピューティングデバイス230から自動車の窓、ルーフ、および床の各々までの距離と、ユーザまでの距離とを測定することができる。同様に、モバイルコンピューティングデバイス230が建築物内で使用されているとき、距離測定センサは、床、天井、および近くの壁までの距離を測定することができる。
【００５０】
近くの表面までの距離を測定することの目的は、周囲の空間内でのモバイルコンピューティングデバイス230の絶対位置を判断することではなく、そのような測定値を使用して、特にコンテンツを開いたときのモバイルコンピューティングデバイス230の位置に対する、モバイルコンピューティングデバイス230の位置の経時的変化を判断することである。したがって、距離測定センサから受信したデータを使用して、プロセス1200のブロック102において、モバイルコンピューティングデバイス230のプロセッサまたは専用グラフィックス処理チップは、測定値の最後のセット以降の時間間隔中の、外部表面までの距離の変化を計算する。たとえば、距離測定センサが、モバイルコンピューティングデバイス230の左側部では近くの表面までの距離が2インチだけ減少し、モバイルコンピューティングデバイス230の右側部では近くの表面までの距離が2インチだけ増加したことを示す場合、プロセッサまたは専用グラフィックス処理チップは、相対空間中でモバイルコンピューティングデバイス230の位置の2インチの変化があったと判断することができる。
【００５１】
ユーザが大勢の人々の中でモバイルコンピューティングデバイス230を使用しているときなど、周囲が独立して移動している状況に適応するために、プロセッサまたは専用グラフィックス処理チップは、対向する距離測定センサの間の示度を平均化して、平均値を取得することができる。また、プロセッサまたは専用グラフィックス処理チップは、あらかじめ決定された範囲外にあり、その場合は不正確になる、距離測定値を無視するように構成できる。たとえば、プロセッサまたは専用グラフィックス処理チップは、数インチ未満である距離測定値を無視することができ、なぜなら、そのような表面は、外部表面とは反対に、ユーザに関連する可能性がより高いからである。また、プロセッサまたは専用グラフィックス処理チップは、モバイルコンピューティングデバイス230が外にあるとき上部距離センサにおいてそうであるように、距離を示さないセンサからの示度を無視するように構成できる。
【００５２】
ユーザの手の通常の意図的でない移動、または動いている自動車からの振動などの環境的移動に適応するために、軽微な移動を無視することができるように、プロセス1200の決定ブロック104において、距離測定値の計算された変化を所定のしきい値と比較する。判断された距離変化がしきい値を超えた場合(すなわち、決定ブロック104=「はい」)、プロセス1200のブロック106において、プロセッサまたは専用グラフィックス処理チップは、計算された距離変化を使用して、実空間中でのコンピューティングデバイス230の位置の変化を判断する。次いで、モバイルユーザインターフェースの処理は、図2および図9に関して上記で説明したように進む。
【００５３】
モバイルユーザインターフェースを実装するモバイルコンピューティングデバイスにおいて有用な適用例を有し得る別のセンサは、電子コンパスである。よく知られているように、電子コンパスは、地磁界に対するモバイルコンピューティングデバイス230の配向を測定し、その結果を磁北に対する角度として出力することができる。このコンパスの配向は、モバイルコンピューティングデバイス230を水平面において回転しているときを検出するのに有用であり得る。図13に、位置センサデータおよび動きセンサデータを受信すること(図2中のブロック22)の一部として実装され得るプロセス1300を示す。詳細には、プロセス1300のブロック108において、プロセッサまたは専用グラフィックス処理チップは、角度データの形態の電子コンパスデータを受信する。プロセス1300のブロック110において、プロセッサまたは専用グラフィックス処理チップは、ブロック110において、地磁界に対するモバイルコンピューティングデバイス230の配向の変化を判断する。次いで、モバイルユーザインターフェースの処理は、図2および図9に関して上記で説明したように進む。
【００５４】
モバイルユーザインターフェースをサポートするためのより良い位置/配向情報を与えるために、複数の種類の動きセンサ、位置センサ、および/または配向センサからのデータを組み合わせることができる。たとえば、図14に、モバイルコンピューティングデバイス230の位置および配向の変化をより良く判断するために、加速度計、距離測定センサ、および電子コンパスからのデータを組み合わせるために実装され得るプロセス1400を示す。プロセス1400のブロック90において、モバイルコンピューティングデバイス230内のプロセッサまたは専用グラフィックス処理チップは、加速度計データを受信する。このデータを使用して、プロセス1400の決定ブロック92において、プロセッサまたは専用グラフィックス処理チップは、そのような加速度を、あらかじめ決定されたしきい値と比較する。測定された加速度がしきい値を超えた場合(すなわち、決定ブロック92=「はい」)、プロセス1400のブロック94において、プロセッサまたは専用グラフィックス処理チップは、その加速度計データを統合して、3つの次元の各々における位置変化を推定する。さらに、プロセス1400のブロック98において、プロセッサまたは専用グラフィックス処理チップは、(たとえば)6つの方向における距離測定センサから距離測定値を受信する。プロセス1400のブロック112において、プロセッサまたは専用グラフィックス処理チップは、そのような距離測定値を使用して、3Dで推定された位置変化を改善する。測定された距離と、統合された加速度計データとの両方を使用することによって、プロセッサまたは専用グラフィックス処理チップは、様々な状態の下でモバイルコンピューティングデバイス230の位置の変化をより良く判断することが可能であり得る。たとえば、距離測定センサは、空気を通る音の速度と、関連する処理とによるずれを経験することがあり、したがってモバイルコンピューティングデバイス230の高速移動に応答しないことがある。対照的に、加速度計は、モバイルコンピューティングデバイス230の高速移動により良く応答することになるが、移動が比較的緩やかな(すなわち、加速度が低い)ときは、あまり正確でなくなる。さらに、プロセス1400のブロック108において、プロセッサまたは専用グラフィックス処理チップは、電子コンパスからコンパスデータを受信し、プロセス1400のブロック114において、プロセッサまたは専用グラフィックス処理チップは、そのコンパス配向情報を、ブロック112において判断された位置情報の変化と組み合わせて、モバイルコンピューティングデバイス230の位置および配向の全体的な変化を判断する。次いで、モバイルユーザインターフェースの処理は、図2および図9に関して上記で説明したように進む。
【００５５】
モバイルコンピューティングデバイス230の位置および/または配向の変化を推定するために使用できる別のセンサは、デジタルカメラである。デジタルカメラは、多くのモバイルコンピューティングデバイスにおいて一般的であり、したがって、モバイルユーザインターフェースをサポートするために使用できる容易に利用可能なセンサを代表する。図15に、モバイルユーザインターフェースをサポートするためのカメラデータを使用するために実装され得るプロセス1500を示す。これらの動作は、位置センサデータ、動きセンサデータ、および/または配向センサデータを受信すること(図2中のブロック22を参照)の一部として実行できる。プロセス1500のブロック116において、モバイルユーザインターフェースがアクティブにされたときはいつでも、カメラによってデジタル画像をキャプチャする。カメラのこの機能は、一般にユーザによって使用される通常のカメラ機能とは別個のものであり得、したがって、通常のピクチャ撮影動作における解像度(すなわち、ピクセル密度)および/またはシャッター速度とは異なる解像度および/またはシャッター速度を実装し得る。カメラ画像は、キャプチャされたとき、その画像の様々な部分に関連する複数のブロックにセグメント化されるか、または分割され得る。したがって、キャプチャされた画像は、4つ、6つ、8つ、またはそれ以上の副画像として分析され得る。次いで、プロセス1500のブロック118において、そのキャプチャされた画像を、前にキャプチャされた画像と比較して、2つの画像間での物体の移動を判断する。これは、プロセス1500のブロック120において、前の画像中の1つのブロックから、キャプチャされた画像中の異なるブロックに移動するように見える、様々な画像ブロック中のパターンを識別することによって、達成される。副画像ブロック内のパターンを認識することと、認識されたパターンが、1つのブロックから別のブロックにシフトするときを検出することとによって、プロセッサまたは専用グラフィックス処理チップは、画像全体にわたってフィーチャが認識され、追跡される場合に必要とされるであろうアルゴリズムよりも複雑でないアルゴリズムを用いて、モバイルコンピューティングデバイス230または背景の物体の移動を推定することができる。たとえば、暗いフィーチャが、前の画像中の1つの画像ブロック中に存在し、同様の暗いパターンが、キャプチャされた画像中の異なるブロック中に現れた場合、プロセッサまたは専用グラフィックス処理チップは、1つのブロックから次のブロックへの暗いパターンの移動が、モバイルコンピューティングデバイス230または画像化されているアイテムの移動によるものであると結論することができる。1つのブロックから別のブロックへのパターンのシフトを認識することに基づいてデジタル画像内での物体の移動を判断するためのアルゴリズムは、画像処理部分においてよく知られており、本発明の様々な態様において利用できる。
【００５６】
キャプチャされた画像を前の画像と比較することによって取得された情報を使用して、プロセス1500のブロック122において、モバイルコンピューティングデバイス230のプロセッサまたは専用グラフィックス処理チップは、実空間中でのデバイスの移動を推定する。この計算を行う際に、プロセッサまたは専用グラフィックス処理チップは、キャプチャされた画像内のすべてのブロックからの結果を評価し、その画像内の様々なブロックによって示されるモバイルコンピューティングデバイス230の移動の差を平均化するか、または場合によってはその差を考慮に入れることができる。たとえば、画像の変化は、モバイルコンピューティングデバイス230の移動、ならびに画像内の物体の独立した動きによって生じ得る。したがって、1つの副画像ブロックから別の副画像ブロックへの特定のパターンの移動は、モバイルコンピューティングデバイス230の動き、背景における物体の移動、または両方の組合せによるものであり得る。モバイルコンピューティングデバイス230に帰因すべき全体的な動きを判断するために、様々な統計的方法を利用することができる。
【００５７】
さらに、図14に示すように、カメラ画像を分析することによる移動の推定を、他のセンサデータの分析と組み合わせて、空間中でのモバイルコンピューティングデバイス230の移動のより正確な推定に達することができる。モバイルコンピューティングデバイス230の移動を推定した後、プロセス1500のブロック124において、プロセッサまたは専用グラフィックス処理チップは、実空間内でのモバイルコンピューティングデバイス230の位置の変化を判断する。この情報を使用して、プロセス1500のブロック16において、プロセッサまたは専用グラフィックス処理チップは、ビューフィールド内のファイルまたはコンテンツの部分を判断する。プロセス1500のブロック18において、プロセッサまたは専用グラフィックス処理チップは、図2に関して上記でより十分に説明したように、適切な画面を生成する。
【００５８】
本明細書で説明するモバイルユーザインターフェースは、従来のグラフィカルユーザインターフェースに適合しないわけではないことを諒解されたい。特定の実装形態では、より高機能なユーザインターフェースを与えるために、両方のタイプのユーザインターフェースを同じモバイルコンピューティングデバイス230中に実装することができる。図16に、そのような組み合わせられたユーザインターフェースに関与する例示的なプロセス1600を示す。グラフィカルユーザインターフェース機能をモバイルユーザインターフェース機能と組み合わせることによって、モバイルコンピューティングデバイス230は、コンテンツを閲覧し、操作するための二者択一のユーザインターフェース間で切り替える能力をユーザに与えることができる。たとえば、従来のグラフィカルユーザインターフェースは、閲覧するコンテンツを選択するためにユーザが使用することができるデフォルトインターフェースとして与えられ、次いで、そのコンテンツを閲覧するためのモバイルユーザインターフェースに切り替わることができる。
【００５９】
ユーザインターフェースモード間での切替えを可能にするために、ユーザが一方のユーザインターフェースモードから他方のユーザインターフェースモードに切り替えるためにアクティブにすることができるボタンまたはメニューオプションをモバイルコンピューティングデバイス230上に与えることができる。モバイルコンピューティングデバイス230が従来のグラフィカルユーザインターフェースモードにおいて動作している間、プロセス1600のブロック2において、モバイルコンピューティングデバイス230のプロセッサまたは専用グラフィックス処理チップは、画面ウィンドウ内のコンテンツの部分を判断する。プロセス1600のブロック4において、プロセッサまたは専用グラフィックス処理チップは適切な画面を生成する。プロセス1600のブロック6において、プロセッサまたは専用グラフィックス処理チップは、ユーザからのスクロールバー入力を受信する。プロセス1600のブロック8において、プロセッサまたは専用グラフィックス処理チップは、図1に関して上記で説明したように、画面ウィンドウ内でコンテンツを再配置する。そのような従来のユーザインターフェース機能は、ユーザがモバイルユーザインターフェースモードをアクティブにするための入力を行う(たとえば、ボタンを押下する)まで続く。たとえば、ユーザは、開くべき特定のアプリケーションまたはファイルを選択するために従来のグラフィカルユーザインターフェースを利用することができる。任意の時点で、プロセス1600の決定ブロック10において、モバイルユーザインターフェースアクティベーション入力を受信する。これは、モバイルコンピューティングデバイス230が、ユーザインターフェースモード間での切替えに専用のボタンを有する場合、ボタン押下から受信した割込みの形態であり得る。
【００６０】
モバイルコンピューティングデバイス230のプロセッサまたは専用グラフィックス処理チップがモバイルユーザインターフェースアクティベーション入力を受信したとき(すなわち、決定ブロック10=「はい」)、プロセス1600のブロック12において、プロセッサまたは専用グラフィックス処理チップは、図2に関して上記でより十分に説明したように、開いたコンテンツ(たとえば、ファイル、文書、またはデスクトップ)をモバイルコンピューティングデバイス230(したがってユーザ)に対して仮想空間内に固定する。一実装形態では、ユーザインターフェースモードが切り替わるときに画面が変化しないように、開いたコンテンツを仮想空間中に固定することができる。言い換えれば、この実装形態では、モードシフトが実装された瞬間にコンテンツがグラフィカルユーザインターフェースモード画面において存在していた明らかなロケーションにおいて、そのコンテンツを仮想空間中に固定する。
【００６１】
プロセス1600のブロック14において、モバイルコンピューティングデバイス230のプロセッサまたは専用グラフィックス処理チップは、実空間中でのモバイルコンピューティングデバイス230の位置を判断する。ユーザインターフェースモードが最初にモバイルユーザインターフェースに切り替えられたとき、プロセッサまたは専用グラフィックス処理チップは、位置センサ、動きセンサ、および配向センサからのデータを受信して、仮想空間中で固定されている開いたコンテンツに対するモバイルコンピューティングデバイス230の初期位置/配向を判断することができる。モバイルコンピューティングデバイス230の判断された位置と、開いたコンテンツの仮想空間中での固定位置とに基づいて、プロセス1600のブロック16において、プロセッサまたは専用グラフィックス処理チップは、画面のビューフィールド内にあるコンテンツの部分を判断する。
【００６２】
ビューフィールド内のコンテンツの判断された部分を使用して、プロセス1600のブロック18において、プロセッサまたは専用グラフィックス処理チップは、画面上に提示される画像を生成する。プロセス1600のブロック22において、プロセッサまたは専用グラフィックス処理チップは、位置センサデータまたは動きセンサデータを受信することによって、モバイルコンピューティングデバイス230の閲覧パースペクティブの変化を判断する。プロセス1600のブロック24において、プロセッサまたは専用グラフィックス処理チップは、そのようなデータから、仮想空間中に固定されているコンテンツに対するビューフィールドの変化を判断する。次いで、プロセス1600の決定ブロック20において、グラフィカルユーザインターフェースモードに切り替え復帰するための入力が受信されたと判断されるまで、ブロック14において実空間または相対空間中でのモバイルコンピューティングデバイス230の位置を判断する動作と、ブロック16においてコンテンツの閲覧部分を判断する動作と、ブロック18においてそのコンテンツを表示する動作とを繰り返す。グラフィカルユーザインターフェースアクティベーション入力が受信されたとき(すなわち、決定ブロック20=「はい」)、プロセッサまたは専用グラフィックス処理チップは、ユーザインターフェースモードを切り替え、プロセス1600のブロック2に戻って、画面ウィンドウ内のファイルの位置を判断する。モバイルユーザインターフェースモードからグラフィカルユーザインターフェースモードに切り替える際に、モード切替えの結果として、表示された画像の変化が生じないように、開いたコンテンツをモバイルコンピューティングデバイス230の画面239に対して固定することができる。代わりに、ユーザが画面に対してファイルを再配置するための機構は、従来のグラフィカルユーザインターフェースツール(すなわち、タッチスクリーンおよび矢印キーなど、ポインティングデバイス)に変化する。
【００６３】
また、上述のように、モバイルユーザインターフェースは、直観的な方法で3次元情報コンテンツ(たとえば、3次元画像ファイル)の閲覧を可能にする方法で実装され得る。したがって、3次元画像ファイルの下を見るために、ユーザは、下を見るためにカメラの向きを変えるかのようにモバイルコンピューティングデバイス230を倒すことができる。同様に、3次元画像ファイルの上を見るために、ユーザは、上を見るためにカメラの向きを変えるかのようにモバイルコンピューティングデバイス230を上に傾けることができる。コンテンツのそのような上または下の閲覧は、モバイルコンピューティングデバイス230内に1つまたは複数のチルトセンサを含めることによってサポートすることができる。そのようなチルトセンサは、重力ベクトルに対するモバイルコンピューティングデバイス230の配向を検出し、チルトの角度を示す信号をプロセッサまたは専用グラフィックス処理チップに供給することができる。モバイルコンピューティングデバイス230のプロセッサまたは専用グラフィックス処理チップは、図2に関して上記で説明したのとまったく同様にして、チルトセンサからの情報を利用して、画面中に提示されるべきである3次元コンテンツの部分を判断することができる。この実装形態は、様々な角度において取られた多数の画像から生成され得る多次元画像ファイルを閲覧するのに有用であり得る。この実装形態はまた、マルチ文書ファイルまたはマルチページ文書など、他の形態の情報をより分けるために使用され得る。たとえば、モバイルユーザインターフェースは、モバイルコンピューティングデバイス230の前方チルトが、マルチページ文書の次のページの画面を促すように構成できる。したがって、ユーザは、ユーザのコンピューティングデバイス230を単に前方に傾けることによって、マルチページ文書をめくり、また、ユーザのコンピューティングデバイス230を後方に(すなわち、ユーザ自身のほうへ)傾けることによって、その文書の前のページに戻ることができる。チルトセンサデータの他の使用法により、ユーザは、コンテンツを論理的な方法で調べることが可能になり得る。
【００６４】
図17に示すプロセス1700に、モバイルユーザインターフェースにおいてコンテンツを調べるためのチルトセンサの使用法の別の例を示す。この実装形態では、横方向チルトセンサ(すなわち、右または左へのモバイルコンピューティングデバイス230のチルトを感知することができるセンサ)を使用して、開いたコンテンツを仮想空間中で移動する。この実装形態では、画面ウィンドウに対してコンテンツを移動するという従来のグラフィカルユーザインターフェースの仮定を、コンテンツに対してデバイス230を移動するというモバイルユーザインターフェースの仮定と組み合わせる。したがって、この組み合わせられた機能は、ユーザの裁量でコンテンツについての両方の認識を実装することを可能にすることによって、ユーザエクスペリエンスをさらに改善することができる。この実装形態では、プロセス1700のブロック12において、デバイス230に対して開いたコンテンツを仮想空間中に固定する。プロセス1700のブロック14において、図2に関して上記でより十分に説明したように、実空間中でのモバイルコンピューティングデバイス230の位置を判断する。プロセス1700のブロック126において、プロセッサまたは専用グラフィックス処理チップは、重力ベクトルに対するチルトの角度、度数、または他の測度を示す信号の形態であり得るデータをチルトセンサから受信する。いくつかの実装形態では、モバイルコンピューティングデバイス230の軽微な意図的でないチルトを無視することができるように、プロセス1700の決定ブロック128において行われるように、チルトセンサデータをあらかじめ決定されたしきい値と比較することが望ましい場合がある。モバイルコンピューティングデバイス230の感知されたチルト角がしきい値未満である場合(すなわち、決定ブロック128=「いいえ」)、プロセス1700のブロック16において、モバイルユーザインターフェースプロセスは、ビューフィールド内にある開いたコンテンツの部分を判断するために進む。プロセス1700のブロック18において、プロセッサまたは専用グラフィックス処理チップは、コンテンツのその部分の画面を生成する。プロセス1700のブロック22において、プロセッサまたは専用グラフィックス処理チップは、図2に関して上記でより十分に説明したように、位置センサ情報、動きセンサ情報、および/または配向センサ情報を受信する。
【００６５】
モバイルコンピューティングデバイス230の感知されたチルト角がしきい値を超えた場合(すなわち、決定ブロック128=「はい」)、プロセス1700のブロック130において、モバイルユーザインターフェースは、開いたコンテンツを仮想空間中でチルト角の方向に移動する。言い換えれば、モバイルユーザインターフェースは、モバイルコンピューティングデバイス230を傾けることを、開いたコンテンツ(すなわち、ファイル、文書、またはデスクトップ)を仮想空間内で再配置するためのユーザ入力として解釈することができる。開いたコンテンツを仮想空間中で移動すると、プロセス1700のブロック16において、モバイルコンピューティングデバイス230のプロセッサまたは専用グラフィックス処理チップは、ビューフィールド内にある開いたコンテンツの部分を判断する。プロセス1700のブロック18において、プロセッサまたは専用グラフィックス処理チップは、コンテンツのその部分の画面を生成する。プロセス1700のブロック22において、プロセッサまたは専用グラフィックス処理チップは、図2に関して上記でより十分に説明したように、位置センサ情報、動きセンサ情報、および/または配向センサ情報を受信する。重力ベクトルに対してある角度においてモバイルコンピューティングデバイス230を保持している限り、開いたコンテンツが仮想空間中で移動し続けるように、図17に示すプロセス1700を頻繁な周期で連続的に実行することができ、それにより、生成された画面(ブロック18)は、スクリーン上で移動するコンテンツを示すようになる。任意の時点で、ユーザは、モバイルコンピューティングデバイス230を直立配向に戻して、仮想空間中での開いたコンテンツの移動を停止し、次いで、図2に関して上記で説明した方法で、モバイルユーザインターフェース機能を使用してコンテンツを調べることができる。
【００６６】
図17に示すプロセス1700によって与えられる機能は、ユーザが、壁または近くの人々などによって特定の方向へのモバイルコンピューティングデバイス230の移動が制限されている環境にいるとき、あるいはユーザがモバイルコンピューティングデバイス230を動かすことができる範囲を超えてコンテンツが延在する場合、有用であり得る。たとえば、開いたコンテンツは、ユーザがユーザの眼の前でモバイルコンピューティングデバイス230を保持しながら360°にわたって枢動することによって閲覧することができる360°パノラマ画像(たとえば、グランドキャニオンのパノラマ画像)であり得る。しかしながら、ユーザが着座し、したがって、360°にわたって枢動することができない場合、図17に示すプロセス1700によって与えられる機能により、ユーザは、コンテンツが画面を通り越して移動することを引き起こすようにモバイルコンピューティングデバイス230を傾けることによって、全コンテンツを閲覧することが可能になり得る。
【００６７】
代替実装形態では、モバイルコンピューティングデバイス230が配置される角度に応じて異なる機能を可能にするために、複数のあらかじめ決定された角度しきい値を実装することができる。たとえば、開いたコンテンツは、モバイルコンピューティングデバイス230の感知されたチルト角が第1のしきい値を超えるが、第2のしきい値未満である場合は、仮想空間中で第1の(たとえば、遅い)レートで移動し、感知されたチルト角が第2のしきい値を超えたときは、第2の(たとえば、より高速な)レートで移動することができる。そのようなチルト角しきい値に、ユーザ定義可能であるおよび/またはコンテンツ依存である他の機能を割り当てることができる。たとえば、仮想空間中でコンテンツを移動する代わりに、感知されたチルト角を、文書中のページをめくるための機能に関連付け、第2のしきい値をページめくりのレートに関連付けることができる。
【００６８】
さらなる態様では、図17に示すプロセスによって与えられる機能を、前方および後方チルトセンサによって与えられる上記で説明したプロセスと組み合わせて、片手での3Dデータセットまたはグラフィックの閲覧を可能にし得るモバイルユーザインターフェースを与えることができる。これを図18に示しており、図18は、3Dコンテンツ150が、仮想空間中に固定され、上および下にパンすることができるビデオカメラのビューファインダ画面を通して見ているかのようにモバイルコンピューティングデバイス230の画面30のパースペクティブを通して閲覧されることが、どのように仮定されるかを示している。図3に関して上記で説明したX軸、Y軸、およびZ軸に加えて、モバイルコンピューティングデバイス230は、プロセッサまたは専用グラフィックス処理チップが、Y軸を中心とする垂直回転152と、X軸を中心とする前方および後方チルト154と、Z軸を中心とする横方向チルト156とに関係する配向情報を受信できるようにするために、チルトセンサおよび配向センサを含むことができる。モバイルコンピューティングデバイス230のプロセッサまたは専用グラフィックス処理チップは、回転152およびチルト154、156に関するセンサ情報を使用して、3Dデータセット150内の閲覧フィールド42の位置および配向を判断することができる。上記で説明したように、X軸を中心にモバイルコンピューティングデバイス230を傾けた場合、閲覧フィールド42は、X軸、Y軸、およびZ軸に沿って測定された、3D空間中でのデバイスの相対位置に応じて、3Dデータセット150内の特定のロケーションにおいてそのデータセット内のいくつかの画像スライスにわたって閲覧するように構成できる。したがって、3Dデータセット150は、仮想空間中に固定されたままであり得るが、閲覧フィールド42(すなわち、画面30中に提示される3Dデータセット150の部分)は、左または右に、上または下に、ならびにそのデータセットのほうへ移動することができる。
【００６９】
図19に、モバイルユーザインターフェースに関連する機能構成要素を示す、モバイルコンピューティングデバイス230、260の一部分の構成要素ブロック図を示す。加速度計160、距離センサ162、およびカメラ164など、動きセンサ、位置センサ、および/または配向センサは、3D移動/位置計算器166に入力を与えるように構成できる。3D移動/位置計算器166は、別個の回路要素であるか、あるいはモバイルコンピューティングデバイス230、260内のプロセッサまたは専用グラフィックス処理チップ232、261中にプログラムされる機能として実装され得る。3D移動/位置計算器166によって計算された位置および配向判断は、別個の回路要素、あるいはプロセッサまたは専用グラフィックス処理チップ232、261中にプログラムされる別の機能であり得る、コンテンツ表示制御装置168に与えられ得る。コンテンツ表示制御装置168は、コンテンツ選択回路または機能170から、画像、文書、またはビデオなど、コンテンツを受信し、モバイルコンピューティングデバイス230、260の計算された位置および配向から、画面239、269に出力される部分を判断することができる。コンテンツ選択回路または機能170は、内部データストレージ172から、または無線チャネル174を介してなど、外部ソースから、コンテンツを受信することができる。コンテンツ表示制御装置168は、画面239、269中に画像を生成するために使用されるピクセル情報を記憶することができる画面メモリ180と協働して動作することができる。また、モバイルコンピューティングデバイス230、260はユーザインターフェースモード有効化ボタン178を含むことができ、ユーザインターフェースモード有効化ボタン178は、押下されると、モバイルユーザインターフェースがアクティブにされるべきであること、あるいは画面内の中心にあるコンテンツが選択されるかまたはアクティブにされるべきであることをプロセッサまたは専用グラフィックス処理チップ232、261に通知する。
【００７０】
図19に示す構成要素ブロック図は、表示画像を生成するための2つの代替手法をサポートする。第1の手法では、コンテンツ全体をコンテンツ選択170からコンテンツ表示制御装置168にダウンロードし、次いで、コンテンツ表示制御装置168は、画面239、269上に提示するのに適切な画像を生成するために使用されるコンテンツの部分を判断する。この第1の手法では、画像情報は、画面239、269に直接送信するか、または画像を生成するために画面239、269によって使用される画面メモリ180に記憶することができる。第2の手法では、コンテンツ選択170によって与えられたコンテンツ全体を画面メモリ180にダウンロードし、コンテンツ表示制御装置168は、表示すべき画像を生成するために使用されるべき画面メモリ180内のデータのサブセットを画面239、269に通知する。
【００７１】
図20に、モバイルユーザインターフェースの代替実装形態によるモバイルコンピューティングデバイス230、260の一部分の構成要素ブロック図を示す。この代替実装形態では、コンテンツ表示168は、画面を生成するために与えられるべき開いたコンテンツの部分をコンテンツ選択170に対して特定する。次いで、コンテンツ選択回路または機能170は、搭載データストレージ172または無線チャネル174などの外部ソースのいずれかと対話して、コンテンツ表示制御装置168に与えられる必要なコンテンツデータを取得する。次いで、コンテンツ表示制御装置168は、受信した情報を使用して、画面239、269に与えられる画像を生成する。
【００７２】
上記で説明した本発明の様々な態様は、様々なモバイルコンピューティングデバイスのいずれかに実装され得る。一般に、そのようなモバイルコンピューティングデバイス230は、図21に示す構成要素を共通に有する。たとえば、モバイルコンピューティングデバイス230は、内部メモリ233と液晶ディスプレイ(LCD)などの画面239とに接続されたプロセッサまたは専用グラフィックス処理チップ232を含むことができ、それらはすべて筐体またはハウジング231内に含まれる。さらに、セルラー電話などのモバイルコンピューティングデバイス230は、プロセッサまたは専用グラフィックス処理チップ232に接続されたワイヤレスデータリンクおよび/またはセルラー電話トランシーバ235に接続される、電磁放射を送信および受信するためのアンテナ234を有することができる。いくつかの実装形態では、セルラー電話通信のために使用されるトランシーバ235ならびにプロセッサまたは専用グラフィックス処理チップ232およびメモリ233の一部分を、ワイヤレスデータリンクを介してデータインターフェースを与えることから、エアインターフェースと呼ぶ。モバイルコンピューティングデバイス230は、一般に、画面239内でカーソルを配置するためのユーザ入力を受信するためのポインティングデバイスとして働くキーパッド236または小型キーボードおよびメニュー選択ボタンまたはロッカースイッチ237をも含む。プロセッサまたは専用グラフィックス処理チップ232はさらに、プロセッサまたは専用グラフィックス処理チップ232を外部ポインティングデバイス(たとえば、マウス)、またはパーソナルコンピュータ260などのコンピューティングデバイス、または外部ローカルエリアネットワークに接続するための、ユニバーサルシリアルバス(USB)またはFireWire(登録商標)コネクタソケットなどのワイヤードネットワークインターフェース238に接続できる。
【００７３】
プロセッサまたは専用グラフィックス処理チップ232は、上記で説明した様々な態様の機能を含む、様々な機能を実行するようにソフトウェア命令(アプリケーション)によって構成できる任意のプログラマブルマイクロプロセッサ、マイクロコンピュータあるいは1つまたは複数の多重プロセッサチップとすることができる。一部のモバイルコンピューティングデバイス230では、1つのプロセッサがワイヤレス通信機能専用であり、1つのプロセッサが他のアプリケーションの実行専用であるような、複数のプロセッサ232を設けることができる。また、プロセッサまたは専用グラフィックス処理チップは、通信チップセットの一部として含めることができる。一般に、ソフトウェアアプリケーションは、アクセスされ、プロセッサまたは専用グラフィックス処理チップ232にロードされる前に内部メモリ233に記憶され得る。一部のモバイルコンピューティングデバイス230では、プロセッサまたは専用グラフィックス処理チップ232は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含むことができる。本明細書では、メモリという用語は、内部メモリ233と、プロセッサまたは専用グラフィックス処理チップ232自体の中のメモリとを含む、プロセッサまたは専用グラフィックス処理チップ232によってアクセス可能なすべてのメモリを指す。アプリケーションデータファイルは一般にメモリ233に記憶される。多くのモバイルコンピューティングデバイス230では、メモリ233は、揮発性メモリ、またはフラッシュメモリなどの不揮発性メモリ、あるいは両方の混合とすることができる。
【００７４】
モバイルコンピューティングデバイス230はまた、適切なユーザインターフェースビューを判断する際に使用するのに好適なロケーションおよび配向情報をプロセッサまたは専用グラフィックス処理チップ232に供給するように構成された動きセンサおよび/または位置センサを含むことができる。そのような動きセンサおよび/または位置センサは、コントローラまたは距離測定回路250と、電子コンパス252と、1つまたは複数の加速度計254と、1つまたは複数のチルトセンサ256と、カメラ258とに接続され得る、1つまたは複数の距離センサ240、242、244、246、248を含むことができる。
【００７５】
不可聴超音波を放出および受信し、放出された音響と受信したエコーとの間の時間を測定することによって、距離を測定する超音波トランスデューサ、ならびに無線周波(RF)エネルギーパルスを放出および受信し、放出されたパルスと受信したパルスとの間の時間を測定することによって、距離を測定するRFトランシーバなどを含む、多種多様な距離センサ240、242、244、246、248を使用することができる。距離センサ240、242、244、246、248に接続されたコントローラまたは測定回路250は、信号情報を、モバイルコンピューティングデバイスのプロセッサまたは専用グラフィックス処理チップ232に供給されるプロセッサ解釈可能な距離測定データに変換するための処理回路とともに、センサによって放出されたパルスを生成するかまたは制御するように構成されたパルス形成および検出回路を含むことができる。代替的に、センサ制御および測定回路は、モバイルコンピューティングデバイスのプロセッサまたは専用グラフィックス処理チップ232に直接データを通信するように構成された各センサ(たとえば、チップベースのセンサ)中にまたは各センサ内に組み込むことができる。3次元で、ユーザを含む、物体までの距離を測定することによって、プロセッサまたは専用グラフィックス処理チップ232は、周囲に対してモバイルコンピューティングデバイス230を移動したときを検出することができる。たとえば、Z+方向37(図3を参照)において距離を測定するために配向された距離センサ248は、モバイルコンピューティングデバイス230からユーザまでの距離をプロセッサまたは専用グラフィックス処理チップ232に通知することができる。この情報は、たとえば、図6に関して上記で説明したように、画面に対するファイルの部分を判断するときに採用する拡大係数を判断するために使用できる。別の例として、モバイルコンピューティングデバイス230の各側部上に配向された距離センサ242、244は、ユーザが、腕を伸ばした距離でモバイルコンピューティングデバイス230を左または右に揺動したときなどに、モバイルコンピューティングデバイス230の横移動をプロセッサまたは専用グラフィックス処理チップ232に通知することができる。別の例として、モバイルコンピューティングデバイス230の底面上に配向された距離センサ246は、床またはテーブルまたはデスクまでの距離の変化を測定することによって、モバイルコンピューティングデバイス230の垂直移動をプロセッサまたは専用グラフィックス処理チップ232に通知することができる。
【００７６】
画面239の方向を感知するために、任意の知られているタイプの電子コンパス252をモバイルコンピューティングデバイス230中に含めることができる。よく知られているように、電子コンパスは、地球の磁界の向きの線を感知し、北に対する度数などの方位角を出力することができる。地磁界に対してモバイルコンピューティングデバイス230を回転したとき、そのような回転は、絶対的なコンパス向首方向または向首方向の相対的な変化として、コンパス252によって感知され、プロセッサまたは専用グラフィックス処理チップ232に中継され得る。プロセッサまたは専用グラフィックス処理チップ232は、この情報を使用して、仮想空間中に固定されている文書に対して画面が配向される方向を判断することができる。したがって、ユーザが、手首を中心にユーザの手を回転するか、またはユーザの腕を前後に揺動することなどによって、モバイルコンピューティングデバイス230を回転したとき、プロセッサまたは専用グラフィックス処理チップ232は、文書またはファイルに対する画面239の閲覧方向を判断し、画面239内の適切な部分のビューを生成することができる。
【００７７】
モバイルコンピューティングデバイス230は、1つまたは複数の加速度計254を搭載することができる。マイクロカンチレバーなどの小さい構造物において誘起された曲がりに基づいて加速度を感知する集積加速度計回路など、任意の知られているタイプの加速度計を使用することができる。加速度計回路は、3次元空間中での動きを感知するために、3つの直交する方向(すなわち、X軸、Y軸、Z軸)の各々のための別々の加速度計を含むことができる。また、ある軸を中心にモバイルコンピューティングデバイス230を回転したときを測定するために、追加の加速度計を採用して、回転運動を感知することができる。短い時間期間にわたって感知された加速度を統合することによって、プロセッサまたは専用グラフィックス処理チップ232は、モバイルコンピューティングデバイス230の位置および配向の変化を計算することができる。加速度計によって判断された位置は、加速度計センサの感度限界および累積した数学的誤りにより、変動する傾向があり得るので、加速度計254は、相対運動の推定値を与えるために使用できる。代替的に、加速度計254は、モバイルコンピューティングデバイス230の迅速な移動に対するユーザインターフェースの応答性を改善するために、他の位置センサ/配向センサからの情報と組み合わせることができる。
【００７８】
モバイルコンピューティングデバイス230は、1つまたは複数のチルトセンサ256を搭載することができる。マイクロカンチレバーなどの小さい構造物において誘起された曲がりに基づいて重力に対する配向を感知する集積加速度計回路、流体ベースのチルトセンサ、および機械(たとえば、振子)ベースのチルトセンサなど、任意の知られているタイプのチルトセンサを使用することができる。横方向(すなわち、ロール)と前後方向(すなわち、ピッチ)の両方においてモバイルコンピューティングデバイス230のチルトを感知することを可能にするために、2つ(またはそれ以上の)チルトセンサを与えることができる。次いで、プロセッサまたは専用グラフィックス処理チップ232は、そのようなチルトセンサ256からのデータを使用して、重力ベクトル(すなわち、地球の中心に向かう方向)に対するモバイルコンピューティングデバイス230の配向を判断することができる。したがって、2つのチルトセンサ256からの情報と電気コンパス252からの情報とを組み合わせることによって、プロセッサまたは専用グラフィックス処理チップ232は、3次元空間内でのモバイルコンピューティングデバイス230の配向(すなわち、画面が向いている方向)を判断することができる。モバイルユーザインターフェースをサポートする、プロセッサまたは専用グラフィックス処理チップ232に情報を供給するためにチルトセンサを使用するためのさらなるプロセスについては、図17に関して上記で説明した。
【００７９】
また、モバイルコンピューティングデバイス230は、任意の形態のデジタルイメージャーであり得るカメラ258を搭載することができる。カメラ258は、モバイルコンピューティングデバイス230がモバイルユーザインターフェースモードにおいて動作しているとき、一連のデジタル画像を取得するように構成できる。デジタルイメージャー技術分野においてよく知られているように、デジタル画像を処理して、画像フィールド内の動きを検出することができる。たとえば、線およびエッジを認識するための知られているアルゴリズムを使用して、デジタル画像を処理し、認識された線および/またはエッジの画像上での移動を追跡して、周囲の構造物に対するモバイルコンピューティングデバイス230の移動を推定することができる。別の例として、画像を副画像ブロックまたは要素のアレイにセグメント化する知られているアルゴリズムを使用して、デジタル画像を処理し、1つの副画像ブロックまたは要素から別の副画像ブロックまたは要素へのフィーチャの移動を使用して、周囲の構造物に対するモバイルコンピューティングデバイス230の移動を推定することができる。プロセッサまたは専用グラフィックス処理チップ232に位置および配向情報を供給するためにカメラ258を使用するためのさらなるプロセスについては、図15に関して上記で説明した。
【００８０】
多次元測定値ならびに相補的な現象に基づく測定値を与えるために、複数のタイプの動きセンサ/位置センサをモバイルコンピューティングデバイス230内に含めることができる。たとえば、上述のように、電子コンパス252をチルトセンサ256と組み合わせて、3次元配向情報を与えることができる。そのようなセンサは、モバイルコンピューティングデバイス230とユーザとの間の距離を測定するために配向された距離センサ248と組み合わせることができる。別の例として、プロセッサまたは専用グラフィックス処理チップ232が、高速移動を感知し、高速移動にすぐに反応できるようにするために、加速度計254を、距離センサ240〜248、コンパスセンサ252、およびチルトセンサ256と組み合わせて使用することができ、それにより、そのようなセンサのずれに適応して、より良く応答するモバイルユーザインターフェースを与える。別の例として、モバイルユーザインターフェースをサポートするのに必要なすべての情報をプロセッサまたは専用グラフィックス処理チップ232に供給するために、カメラ258を電子コンパス252およびチルトセンサ256と組み合わせて使用することができる。
【００８１】
また、上記で説明した態様は、図22に示すノートブックコンピュータ260など、様々なポータブルコンピューティングデバイスのいずれかに実装され得る。そのようなノートブックコンピュータ260は、一般に、揮発性メモリ262と、ディスクドライブ263などの大容量不揮発性メモリとに接続されたプロセッサ261を含んでいるハウジング266を含む。コンピュータ260は、プロセッサ261に接続されたフロッピー(登録商標)ディスクドライブ264およびコンパクトディスク(CD)ドライブ265をも含むことができる。コンピュータハウジング266は、一般に、タッチパッド267と、キーボード268と、画面269とをも含む。
【００８２】
様々な態様は、説明した方法のうちの1つまたは複数を実装するように構成されたソフトウェア命令を実行するコンピュータプロセッサ232、261によって実装され得る。そのようなソフトウェア命令は、別個のアプリケーションとして、または態様の方法を実装するコンパイルされたソフトウェアとして、メモリ262、263に記憶できる。参照データベースを、内部メモリ233、262内に、ハードディスクメモリ263に、有形記憶媒体上に、またはネットワークを介してアクセス可能なサーバ(図示せず)上に、記憶することができる。さらに、ソフトウェア命令およびデータベースは、ランダムアクセスメモリ233、262、ハードディスクメモリ263、(フロッピー(登録商標)ディスクドライブ264で読取り可能な)フロッピー(登録商標)ディスク、(CDドライブ265で読取り可能な)コンパクトディスク、電気的消去可能/プログラマブル読取り専用メモリ(EEPROM)、(FLASHメモリなどの)読取り専用メモリ、および/あるいはUSBネットワークポートに接続された外部メモリチップまたはUSB接続可能な外部メモリ(たとえば、「フラッシュドライブ」)など、コンピューティングデバイス230、260に接続されたメモリモジュール(図示せず)を含む、任意の形態の有形プロセッサ可読メモリ上に記憶できる。
【００８３】
モバイルコンピューティングデバイス230と同様に、ノートブックコンピュータ260は、適切なユーザインターフェースビューを判断する際に使用するのに好適なロケーションおよび配向情報をプロセッサ261に供給するように構成された動きセンサおよび/または位置センサ240〜258をも含むことができる。そのような動きセンサおよび/または位置センサは、図22に関して上記で説明した、距離センサ240、242、244、246、248の各々と、コンパス252と、加速度計254と、チルトセンサ256と、カメラ258とを含むことができ、プロセッサ261は、同様にして、そのようなセンサからの情報を利用する。
【００８４】
本発明の真のハンドヘルドモバイルユーザインターフェースは、いくつかの利益を提供する。モバイルユーザインターフェースにより、コンテンツ(たとえば、文書、ファイル、およびデスクトップ)を本質的に無限とすることができるほどまで、コンテンツを閲覧ウィンドウ(すなわち、画面)よりもはるかに大きくすることができるようになる。モバイルユーザインターフェースは、眼球運動をボタンクリックまたはタッチスクリーン操作に変換する必要を回避する、自然なユーザエクスペリエンスを提供する。さらに、モバイルユーザインターフェースにより、ユーザは、(画面が空間中に固定されていると仮定する従来のグラフィカルユーザインターフェースによって必要とされるように)コンテンツの心像を移動する必要なしに、代わりに、コンテンツを閲覧するために必要に応じてモバイルコンピューティングデバイスをあちこちに移動して、拡張されたコンテンツを閲覧し、ナビゲートすることができるようになる。一態様では、モバイルユーザインターフェースは、ユーザが3Dコンテンツを自然な方法で閲覧することを可能にするように構成できる。また、モバイルユーザインターフェースのこれらの機能は、片手で制御することができ、それは、モバイルコンピューティングデバイスの使用において一般的ないくつかの状況において有利であり得る。さらに、モバイルユーザインターフェースによって与えられるそれらの機能は、マルチメディア、対話型メディア、ゲームなどを含む、ビルディングブロック技術のさらなる進歩をもたらす可能性がある。
【００８５】
一例として、モバイルユーザインターフェースの様々な態様の有用性を示すことができる。従来のグラフィカルユーザインターフェースを使用してハンドヘルドコンピューティングデバイス上でウェブをブラウズするユーザは、ページを移動するためにタッチスクリーンをタップするか、またはタッチスクリーン上で指をドラッグし、テキストを入力するためにオプションまたは選択ポイントを選択することができる。従来のユーザインターフェースを使用して、ユーザは、たとえば、タッチスクリーンをダブルタップすることによって、タッチスクリーン上に表示されたコンテンツにズームインするか、またはそのコンテンツからズームアウトすることができる。タッチスクリーン上で指を繰り返しドラッグすることによって、ユーザは、より多くのコンテンツを閲覧することができる。
【００８６】
任意の時間に、ユーザは、モバイルユーザインターフェースモードに切り替えることを選択することができる。「モード」ボタンをアクティブにすること(タッチスクリーン上のモード選択アイコンをクリックすること、またはデバイス上の物理的モード選択ボタンを押下することなど)によって、ユーザは、モバイルユーザインターフェースモードを開始するようにモバイルコンピューティングデバイスにシグナリングする。モバイルユーザインターフェースが起動されたとき、開いたコンテンツは、画面に示されている現在ロケーションにおいて仮想空間中に本質的に静止させられる。次いで、ユーザは、空間中でモバイルコンピューティングデバイスを水平および垂直に移動して、拡大鏡で新聞を読むかのようにコンテンツの様々な部分を閲覧することによって、開いたコンテンツを精査することができる。ユーザはまた、モバイルコンピュータデバイスをユーザに近づけるか、またはユーザから離すことによって、拡大鏡で新聞の一部分を調べるかのように、開いたコンテンツにズームインし、開いたコンテンツからズームアウトすることができる。ユーザは、「次のページへ」のアイコンまたはリンクを画面内の中心に置くようにモバイルコンピューティングデバイスを水平および/または垂直に移動し、次いで、選択ボタンを押下するか、またはタッチスクリーン上の「次のページへ」アイコンをタップして、開いたコンテンツの次のページを提示することによって、開いたコンテンツ中の次のページに移動することができる。
【００８７】
任意の時間に、ユーザは、開いたコンテンツの残部を従来の方式で閲覧するか、あるいはメニューから別のファイルまたは文書を選択するために、従来のグラフィカルユーザインターフェースに切り替え復帰することを選択することができる。たとえば、ユーザは、徒歩または車でどこかに行く必要があり、そのような移動により画面をシフトすることを回避することを希望することがある。ユーザインターフェースモードアイコンまたはボタンを再びアクティブにすると、従来のグラフィカルユーザインターフェースモードがアクティブにされ、仮想空間中でのコンテンツのロケーションの静止状態が解除され、モバイルコンピューティングデバイスに対してコンテンツのロケーションが固定される。ユーザは、再び静止した後、ユーザインターフェースモードアイコンまたはボタンを再びアクティブにして、モバイルユーザインターフェースモードに入り、本明細書で説明するようにコンテンツを閲覧し続けることができる。
【００８８】
モバイルユーザインターフェースの有用性の別の例は、ユーザが通常のパースペクティブから画像を閲覧できるようにするためのモバイルユーザインターフェースの能力である。たとえば、ユーザは、たとえば、画面を閲覧しながらユーザ自身が360度回転することによって、モバイルコンピューティングデバイス上でグランドキャニオンの360度ピクチャを閲覧することができる。このようにして、ピクチャを閲覧することのエクスペリエンスは、ユーザが、グランドキャニオンに立っているデジタルカメラまたはカムコーダのプレビューウィンドウを通して見ているかのようになる。
【００８９】
モバイルユーザインターフェースの別の例示的な適用例は、モバイルハンドヘルドデバイス上での高精細度ビデオの閲覧に関与する。高精細度ビデオは、ハンドヘルドデバイスの小型スクリーン上に提示され得る視覚情報よりもはるかに多くの視覚情報を含む。モバイルユーザインターフェースを使用して、ユーザは、ビデオカメラで撮影しているか、または望遠鏡を通して見ているかのように、仮想空間中で被写体を追うことによって、スポーツイベントにおける個々のプレーヤなど、ビデオの特定の部分にズームインし、ビデオのその部分を見ることができる。このようにして、高精細度ビデオは、ユーザから固定距離にある大型スクリーンテレビジョンのように、モバイルコンピューティングデバイスを左、右、上、および下に移動することによってスキャンされ得る大きい画像であるように見えることになる。モバイルユーザインターフェースの動作が直観的(望遠鏡またはビデオカメラと同程度に直観的)であるので、ユーザは、プレーヤまたはボールなど、単一の要素がビデオ画像内で動き回るとき、その要素を容易に追うことができる。たとえば、プレーヤが高精細度ビデオ画像上で左から右に走っている場合、ユーザは、モバイルコンピューティングデバイスを左から右にスキャンすることによって、そのプレーヤを閲覧することができる。この直観的な動作は、ビデオ画像中で左から右に移動しているプレーヤを見るために、ユーザがビデオ画像を右から左にドラッグする必要がある、従来のグラフィカルユーザインターフェースにおいて利用可能なユーザエクスペリエンスとは極めて異なる。
【００９０】
多くの実際的および有用な適用例がモバイルユーザインターフェースによって可能になり得る。一例として、全地球測位システム(GPS)受信機を含むモバイルユーザインターフェースは、地理的ロケーション情報を使用して、(たとえば、無線データリンクを介して)内部または外部ストレージからロケーション固有のコンテンツを選択し、ダウンロードすることができ、次いで、そのコンテンツは、モバイルユーザインターフェースを使用して閲覧できる。たとえば、建築物検査官または緊急時対応要員(たとえば、消防士)ユーザは、ユーザのロケーションに対応する2Dまたは3D建築物図面を(たとえば、CADデータベースから)ダウンロードし、次いで、モバイルコンピューティングデバイスをカメラのように使用してその図面を閲覧することができる。このようにして、ユーザは、ユーザのモバイルコンピューティングデバイスを前後にスキャンすることによって、仮想的に壁を通して見ることが可能であり得る。別の例として、緊急時対応要員は、自分が立っているロケーションの画像をダウンロードし、次いで、その画像の前のシーンの更新前画像を閲覧することが可能であり得、それは災害対応の状況などにおいて有用であり得る。
【００９１】
また、モバイルユーザインターフェースは、コンテンツを仮想空間中に固定することのパラダイムによって可能にされる、ハンドヘルドコンピューティングデバイスのためのビルディングブロック技術の進歩をもたらすことが予想される。
【００９２】
本明細書で開示した態様に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者なら諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、ブロック、モジュール、回路、およびステップにおける様々な例示的な構成要素を、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【００９３】
一部のブロックの順序は、本発明と特許請求の範囲との趣旨および範囲から逸脱することなく、本明細書で説明した順序から変更され得るので、上記で説明し、図に示した方法のブロックの順序は、例示のためのものであるにすぎない。
【００９４】
本明細書で開示する態様に関して説明した方法またはアルゴリズムのブロックは、直接ハードウェアで実施するか、プロセッサによって実行されるソフトウェアモジュールで実施するか、またはその2つの組合せで実施することができる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体のいずれかとすることができるプロセッサ可読メモリ中に常駐することができる。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに接続される。代替として、記憶媒体はプロセッサに一体化することができる。プロセッサおよび記憶媒体はASIC中に常駐することができる。ASICはユーザ端末またはモバイルコンピューティングデバイス中に常駐することができる。代替として、プロセッサおよび記憶媒体は、ユーザ端末またはモバイルコンピューティングデバイス中に個別構成要素として常駐することができる。
【００９５】
さらに、いくつかの態様では、方法またはアルゴリズムのブロックおよび/またはアクションは、コンピュータプログラム製品に組み込むことができる、機械可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の1つまたは任意の組合せ、あるいはそのセットとして常駐することができる。
【００９６】
様々な態様の上記の説明は、当業者が本発明を実施または使用できるようにするために提供したものである。これらの態様の様々な修正は、当業者には容易に明らかになるものであり、本明細書で定義した一般原理は、本発明の趣旨または範囲から逸脱することなく他の態様に適用できる。したがって、本発明は、本明細書で示した態様に限定されるものでなく、代わりに、特許請求の範囲は、本明細書で開示した原理および新規の特徴に合致する最も広い範囲を与えられるべきである。
【符号の説明】
【００９７】
30  画面
33  X+
34  X-
35  Y-
36  Y+
37  Z+
38  Z-
40  コンテンツ
42  閲覧部分
42  閲覧フィールド
44  平行方向
50  画像
50a  画像部分
50b  画像部分
50c  拡大された閲覧画像部分
150  3Dデータセット
150  3Dコンテンツ
152  回転
152  垂直回転
154  チルト
154  前方および後方チルト
156  チルト
156  横方向チルト
160  加速度計
162  距離センサ
164  カメラ
166  3D移動/位置計算
166  3D移動/位置計算器
168  コンテンツ表示
168  コンテンツ表示制御装置
170  コンテンツ選択
170  コンテンツ選択回路または機能
172  データストレージ
174  無線チャネル
174  OTAチャネル
178  モード有効化ボタン
178  ユーザインターフェースモード有効化ボタン
180  画面メモリ
230  デバイス
230  コンピューティングデバイス
230  モバイルコンピューティングデバイス
231  ハウジング
232  プロセッサ
232  コンピュータプロセッサ
232  プロセッサまたは専用グラフィックス処理チップ
233  メモリ
233  内部メモリ
233  ランダムアクセスメモリ
234  アンテナ
235  トランシーバ
236  キーパッド
237  メニュー選択ボタン
237  ロッカースイッチ
238  ワイヤードネットワークインターフェース
239  画面
240  距離センサ
242  距離センサ
244  距離センサ
246  距離センサ
248  距離センサ
250  コントローラまたは測定回路
250  コントローラまたは距離測定回路
252  コンパス
252  電気コンパス
252  電子コンパス
252  コンパスセンサ
254  加速度計
256  チルトセンサ
258  カメラ
260  コンピュータ
260  パーソナルコンピュータ
260  ノートブックコンピュータ
260  モバイルコンピューティングデバイス
261  プロセッサ
261  コンピュータプロセッサ
261  プロセッサまたは専用グラフィックス処理チップ
262  メモリ
262  揮発性メモリ
262  ランダムアクセスメモリ
263  メモリ
263  ディスクドライブ
263  ハードディスクメモリ
264  フロッピー(登録商標)ディスクドライブ
265  コンパクトディスク(CD)ドライブ
266  ハウジング
266  コンピュータハウジング
267  タッチパッド
268  キーボード
269  画面
2391  十字線
2392  ボックス
2392  選択ボックス
2393  強調された解像度
2393  強調された輝度
2393  シェーディング
2393  他の画像フィーチャ
2394  選択エイドボックス
2395  選択エイドボックス
2396  選択エイドボックス
【図１】
2012514786.tif 000004
【図２】
2012514786.tif 000005
【図３】
2012514786.tif 000006
【図４】
2012514786.tif 000007
【図５Ａ−５Ｂ】
2012514786.tif 000008
【図６】
2012514786.tif 000009
【図７Ａ】
2012514786.tif 000010
【図７Ｂ】
2012514786.tif 000011
【図８】
2012514786.tif 000012
【図９】
2012514786.tif 000013
【図１０Ａ】
2012514786.tif 000014
【図１０Ｂ】
2012514786.tif 000015
【図１０Ｃ】
2012514786.tif 000016
【図１０Ｅ】
2012514786.tif 000017
【図１０Ｆ】
2012514786.tif 000018
2012514786.tif 000019
【図１１】
2012514786.tif 000020
【図１２】
2012514786.tif 000021
【図１３】
2012514786.tif 000022
【図１４】
2012514786.tif 000023
【図１５】
2012514786.tif 000024
【図１６】
2012514786.tif 000025
【図１７】
2012514786.tif 000026
【図１８】
2012514786.tif 000027
【図１９】
2012514786.tif 000028
【図２０】
2012514786.tif 000029
【図２１】
2012514786.tif 000030
【図２２】
2012514786.tif 000031
【国際調査報告】
2012514786.tif 000032
2012514786.tif 000033
2012514786.tif 000034