(58)【調査した分野】(Int.Cl.,DB名)
前記ソフトウェアが実行されたとき、ノイズを低減するために1以上のローパス・フィルタによって前記センサ・データを処理する工程をさらに行わせる、請求項12に記載の媒体。
前記ソフトウェアが実行されたとき、前記運動トリガ信号が事前定義された前記しきい値内から事前定義された前記しきい値帯域の外への遷移を有する確率を計算する工程をさらに行わせ、
前記アクション開始工程は、前記確率が所定の値を超えた場合、事前定義された前記アクションを部分的にのみ開始する、部分アクション開始工程を含む、請求項12に記載の媒体。
【発明を実施するための形態】
【0004】
特定の実施形態では、モバイル・コンピューティング・デバイスは、デバイス内の1つまたは複数のモーション・センサからのデータに基づいて、デバイスが物理的な動きを受けていると決定することができる。モーション・センサは、加速度計、ジャイロスコープ、もしくは磁力計、またはそれらの任意の好適な組合せを含むことができる。センサ・データが特定の基準を満たす場合、モバイル・コンピューティング・デバイスは、事前定義されたアクションを開始することができる。たとえば、モバイル・コンピューティング・デバイスは、画像をそのディスプレイ画面上に表示するスマートフォンであってもよく、スマートフォンのある物理的な動きが感知されたとき、事前定義されたアクションは、画像のズーム・インまたはズーム・アウトを含むことができる。物理的な動きは、スマートフォンがユーザの手中に保持され、ユーザに向かって、またはユーザから遠ざかるように素早い揺動運動で「振られ」得る運動を含むことができ、この素早く振る動き(フリック動)は、スマートフォンの垂直軸または長手方向軸に沿った並進運動、またはスマートフ
ォンのピッチ回転運動を含むことができる。物理的な動きは、ジャイロスコープまたは加速度計からのデータを組み込み、物理的な動きの特性に従ってデータを加重することによって認識することができる。さらに、ローパス・フィルタをセンサ・データに適用し、手の震え、または偽の機械の動きもしくは振動によって引き起こされるノイズを低減することができる。
【0005】
特定の実施形態では、意図せずにアクションを開始するのを回避するために、モバイル・コンピューティング・デバイスは、ある種の他の物理的な動きが感知された場合、アクションの開始を「ロック・アウト(制限)」してもよい。たとえば、フリック動は、(1)デバイスの垂直軸または長手方向軸に沿った並進運動、またはピッチ回転運動、および(2)比較的小さな量のローリングまたはヨーイング動があるとき認識され得る。過度の量のロールまたはヨーが感知されたとき、デバイスは、アクションの開始を防止またはロック・アウトしてもよい。
【0006】
特定の実施形態では、モバイル・コンピューティング・デバイスは、センサ・データを監視し、センサ・データに基づいて物理的な動きの完了の可能性を予測し、次いで、予測が完了のしきい値可能性に達したとき対応するアクションを部分的に開始してもよい。対応するアクションの完了は、物理的な動きが完了した後で行われてもよい。物理的な動きがしきい値期間内に完了しない場合、対応するアクションが取り消されてもよい。たとえば、モバイル・コンピューティング・デバイスがセンサ・データを監視しながらフリック動である可能性51%を検出した場合、デバイスは、画面上に表示された画像を50%だけズーム・インするようにスケールの変更が行われ始めてもよい。その手を素早く振るジェスチャが、300ミリ秒などの事前定義された期間内に完了した場合、ズーム・イン・アクションは100%になり完了することになるが、そうでない場合、画像はその元のサイズにスケールの変更が行われて戻ることになる。
【0007】
上記で開示されている実施形態は例示的なものにすぎず、本開示の範囲は、それらに限定されない。特定の実施形態は、上記で開示されている実施形態の構成要素、要素、特徴、機能、動作、または工程のすべて、または一部を含んでも、それらを含まなくてもよい。
【0008】
図1は、正面110を有する例示的なモバイル・コンピューティング・デバイス100を示す。特定の実施形態では、モバイル・コンピューティング・デバイス100は、シングルボード・コンピュータ(SBC)(たとえば、コンピュータ・オン・モジュール(COM)またはシステム・オン・モジュール(SOM)など)、ラップトップもしくはノートブック・コンピュータ、モバイル電話、スマートフォン、携帯情報端末(PDA)、タブレット・コンピュータ・システム、もしくはそれらの2つ以上の組合せであってよい。モバイル・コンピューティング・デバイス100は、1つもしくは複数の一体型ディスプレイ画面、または1つもしくは複数の外部ディスプレイ画面に対するインタフェースを含むことができる。モバイル・コンピューティング・デバイス100の正面110は、ディスプレイ画面を含むことができる。本開示は、任意の好適な物理形態をとる任意の好適なモバイル・コンピューティング・デバイス100を企図する。
【0009】
図1は、モバイル・コンピューティング・デバイス100の並進動を特徴付けるための例示的な並進軸120と、モバイル・コンピューティング・デバイス100の回転動を特徴付けるための例示的な回転軸130とを示す。モバイル・コンピューティング・デバイス100の物理的な動きは、回転変位もしくは並進変位、速度、加速度、または運動の任意の他の好適なより高次の特性、あるいはそれらの任意の好適な組合せを含むことができる。横軸と呼ばれることがあるX軸120aと、長手方向軸と呼ばれることがあるY軸120bとが、互いに直交し、正面110の平面内に延在し得る。垂直軸と呼ばれることが
あるZ軸120cは、正面110に対して直交し得る。ピッチ軸と呼ばれることがあるΘ
x軸130aは、ピッチング、すなわちX軸120aに対するモバイル・コンピューティング・デバイス100の回転動を特徴付けるために使用され得る。ロール軸と呼ばれることがあるΘ
y軸130bは、ローリング、すなわちY軸120bに対するモバイル・コンピューティング・デバイス100の回転動を特徴付けるために使用され得る。ヨー軸と呼ばれることがあるΘ
z軸130cは、ヨーイング、すなわちZ軸120cに対するモバイル・コンピューティング・デバイス100の回転動を特徴付けるために使用され得る。本開示は、モバイル・コンピューティング・デバイス100の位置、方向、または動きについて述べるために特定の軸について述べ、または示しているが、本開示は、任意の好適な方向を有する任意の好適な軸を企図する。本開示は、回転変位もしくは並進変位、速度、または加速度を含めて、モバイル・コンピューティング・デバイス100の特定の物理的な動きについて述べ、または示しているが、本開示は、ガタガタとした、または激しい上下動など運動の任意の好適なより高次の特性を含めて、任意の好適な動きまたは好適な動きの組合せを企図する。
【0010】
特定の実施形態では、モバイル・コンピューティング・デバイス100は、モバイル・コンピューティング・デバイス100の位置、方向、並進動、または回転動を検出するために1つまたは複数のタイプのセンサを含むことができる。これらのモーション・センサは、加速度計、ジャイロスコープ、もしくは磁力計、またはそれらの任意の好適な組合せを含むことができる。また、モバイル・コンピューティング・デバイス100は、位置または動きを検出するために1つまたは複数の外部センサに対するインタフェースを含むことができる。本開示は、モバイル・コンピューティング・デバイス100の位置、方向、または動きを検出するための特定のセンサについて述べているが、本開示は、位置、方向、または動きを検出するための任意の好適なセンサを企図する。
【0011】
特定の実施形態では、加速度計を使用し、並進軸120のいずれかに沿ったモバイル・コンピューティング・デバイス100の並進動を決定することができる。たとえば、加速度計のセンサ・データを使用し、軸120に沿ったモバイル・コンピューティング・デバイス100の線形加速度を決定することができる。さらに、特定の時間間隔にわたって加速度計データを積分する(または平均する)ことを使用し、軸120に沿ったモバイル・コンピューティング・デバイス100の速度を決定することができる。軸120に沿ったモバイル・コンピューティング・デバイス100の並進運動の他のより高次の特性は、加速度計データの時間に対する1つまたは複数の導関数を求めることによって決定され得る。特定の実施形態では、2つの異なる時間に得られたセンサ・データ間の差を計算することによって、導関数信号を得ることができる。
【0012】
特定の実施形態では、ジャイロスコープを使用し、回転軸130のいずれかに沿ったモバイル・コンピューティング・デバイス100の方向または回転動を決定することができる。たとえば、ジャイロスコープのセンサ・データを使用し、軸130に沿ったモバイル・コンピューティング・デバイス100の角方向を決定することができる。ジャイロスコープ・データの時間に対する第1導関数を求めることによって、軸130に沿ったモバイル・コンピューティング・デバイス100の回転(または角)速度を決定することができる。ジャイロスコープ・データの第2導関数を使用し、軸130に沿ったモバイル・コンピューティング・デバイス100の回転(または角)加速度を決定することができる。追加のより高次の導関数を求めることを使用し、軸130に沿ったモバイル・コンピュート・デバイス100の回転運動のより高次の特性を決定することができる。
【0013】
特定の実施形態では、磁力計(たとえば、磁界センサ)を使用し、回転軸130のいずれかに沿ったモバイル・コンピューティング・デバイス100の方向または回転動を測定することができる。磁力計は、地磁気または任意の他の好適な、実質的に静的な磁界を感
知し、モバイル・コンピューティング・デバイス100の角方向を決定することができる。磁力計データの時間に対する第1導関数を求めることによって、軸130に沿ったモバイル・コンピューティング・デバイス100の回転速度を決定することができる。磁力計の第2導関数を使用し、軸130に沿ったモバイル・コンピューティング・デバイス100の回転加速度を決定することができる。
【0014】
図2A〜
図2Bは、例示的な物理的な動きを受ける例示的なモバイル・コンピューティング・デバイス100を示す。
図2Aは、実質的に直立の位置で配向されたモバイル・コンピューティング・デバイス100を示す。
図2Bは、矢印によって示されている物理的な動きを受けた後のモバイル・コンピューティング・デバイス100を示し、この動きは、並進動または回転動を含み得る。
図2Aからのモバイル・コンピューティング・デバイス100の元の位置が、
図2Bでは破線輪郭で示されている。特定の実施形態では、モバイル・コンピューティング・デバイス100は、
図2Aおよび
図2Bに示されている物理的な動きを受けている間、ユーザの手中に保持されていてもよい。特定の実施形態では、物理的な動きは、モバイル・コンピューティング・デバイス100がユーザの手中に保持され、ユーザから遠ざかるように素早い揺動運動で「振られる」運動を含むことができる。フリック動は、Z軸120cに沿った(たとえば、正面110に対して垂直な)変位、速度、もしくは加速度、Y軸120b(長手方向軸)に沿った変位、速度、もしくは加速度、またはΘ
x軸130aに沿ったピッチ回転変位、速度、もしくは加速度を含むことができる。さらに、前述の動きに対して、フリック動は、X軸120a(横断方向軸)に沿った変位、速度、もしくは加速度、Θ
y軸130bに沿ったローリング回転変位、速度、もしくは加速度、またはΘ
z軸130cに沿ったヨー回転変位、速度、もしくは加速度のうちの小さな要素だけを含むことができる。
【0015】
特定の実施形態では、物理的な動きは、モバイル・コンピューティング・デバイス100がユーザの手中に保持され、ユーザに向かって振られる運動を含むことができる。特定の実施形態では、物理的な動きは、モバイル・コンピューティング・デバイス100が横に動かされるX軸120aに沿った横方向運動を含むことができる。特定の実施形態では、物理的な動きは、モバイル・コンピューティング・デバイス100がΘ
y軸130bに沿ったローリング回転運動、またはΘ
z軸130cに沿ったヨー回転を受けるねじれ運動を含むことができる。特定の実施形態では、物理的な動きは、軸120のいずれかに沿った並進動もしくは軸130のいずれかに沿った回転動、または任意の好適な軸に沿った動きの任意の好適な組合せを含むことができる。本開示は、特定の軸に沿った特定の物理的な動きについて述べ、または示しているが、本開示は、任意の好適な軸に沿った任意の好適な物理的な動きまたは物理的な動きの任意の好適な組合せを企図する。
【0016】
図3は、モバイル・コンピューティング・デバイス100上の1つまたは複数のセンサのセンサ・データから計算された例示的な信号300、310を示す。例示的なセンサ信号300、310は、時間が水平軸320によって示され、センサ信号の大きさが垂直軸330によって示される、経時変化に対する大きさを示す形態のものです。事前定義されたしきい値帯域340が水平破線340a、340bによって表されることがあり、線340aは、しきい値帯域340の下限を示し、線340bは上限を示す。特定の実施形態では、センサ信号300は、運動トリガ信号として定義されてもよく、センサ信号310は、運動確認信号として定義されてもよい。
【0017】
運動トリガ信号300は、ユーザによってアクションをトリガすることが意図されたユーザ入力を潜在的に示すモバイル・コンピューティング・デバイス100の第1の物理的な動きの尺度であり、1つまたは複数のセンサからの未処理のセンサ・データ、1つまたは複数のセンサからのセンサ・データにスケール係数または重み係数を掛けたもの、ローパス・フィルタによって処理されたセンサ・データ、または他の好適な処理済みもしくは
未処理のセンサ・データを含むことができる。運動確認信号310は、運動トリガ信号300のコントラ・インジケーションを提供することができる。たとえば、運動確認信号310は、ユーザがアクションをトリガすることを意図しなかったことを潜在的に示すモバイル・コンピューティング・デバイス100の第2の物理的な動きの尺度であり、運動トリガ信号と同様に、1つまたは複数のセンサからの未処理のセンサ・データ、1つまたは複数のセンサからのセンサ・データにスケール係数または重み係数を掛けたもの、ローパス・フィルタによって処理されたセンサ・データ、または他の好適な処理済みもしくは未処理のセンサ・データを含むことができる。たとえば、モバイル・コンピューティング・デバイス100の特定の物理的な動きについて、運動トリガ信号300は、物理的な動きの1つの特性に対応することができ、運動確認信号310は、物理的な動きの第2の特性に対応することができる。たとえば、運動トリガ信号300は、特定の物理的な動きの間、発生することが予想される動きに対応することができ、運動確認信号310は、著しい量の発生が予想されない動きに対応することができる。
【0018】
特定の実施形態では、上述のように、物理的な動きは、モバイル・コンピューティング・デバイス100がユーザの手中に保持され、ユーザから遠ざかるように振られる運動を含むことができる。フリック動の例では、運動トリガ信号300は、1つまたは複数のセンサのデータから計算することができ、限定するものではなく例として、Z軸120cに沿った(すなわち、正面110に対して垂直な)変位、速度、もしくは加速度、Y軸120b(長手方向軸)に沿った変位、速度、もしくは加速度、またはΘ
x軸130aに沿ったピッチ回転変位、速度、もしくは加速度を含む。さらに、運動トリガ信号300は、物理的な動きの予想される第1の特性と運動トリガ信号300を密接に合致させるために、1つまたは複数のセンサからのデータを重み付けすることによって計算され得る。たとえば、特定の実施形態では、運動トリガ信号300は、MTS=a・A
z+b・A
yのように計算され、式中、MTSは、運動トリガ信号300であり、aおよびbは、重み係数(またはスケール係数)であり、A
zおよびA
yは、それぞれZ軸120cおよびY軸120bに沿った加速度である。フリック動の例では、運動確認信号310は、1つまたは複数のセンサのデータから計算され、限定するものではなく例として、X軸120a(横断方向軸)に沿った変位、速度、もしくは加速度、Θ
y軸130bに沿ったローリング回転変位、速度、もしくは加速度、またはΘ
z軸130cに沿ったヨー回転変位、速度、もしくは加速度を含む。さらに、運動確認信号310は、物理的な動きの予想される第2の特性と運動トリガ信号310を密接に合致させるために、1つまたは複数のセンサからのデータを重み付けすることによって計算され得る。たとえば、特定の実施形態では、運動確認信号310は、MCS=c・β
y+d・β
zのように計算され、式中、MCSは、運動確認信号310であり、cおよびdは、重み係数(またはスケール係数)であり、β
yおよびβ
zは、それぞれΘ
y軸130bおよびΘ
z軸130cに沿った角方向である。特定の実施形態では、ローパス・フィルタをセンサ・データ、運動トリガ信号300、または運動確認信号310に適用し、手の震え、または偽の機械の動きもしくは振動によって引き起こされるノイズを低減することができる。本開示は、特定の運動トリガ信号300および運動確認信号310について述べているが、本開示は、任意の好適な運動トリガ信号および運動確認信号を企図する。
【0019】
特定の実施形態では、モバイル・コンピューティング・デバイス100は、運動トリガ信号300および運動確認信号310に基づいて、デバイスが特定の物理的な動きを受けていると決定することができる。運動トリガ信号300および運動確認信号310がある基準を満たす場合、モバイル・コンピューティング・デバイス100は、事前定義されたアクションを開始することができる。モバイル・コンピューティング・デバイス100の事前定義されたアクションは、適切な場合、モバイル・コンピューティング・デバイス100が実施するように構成されている任意の好適な機能、タスク、または動作であってよい。たとえば、モバイル・コンピューティング・デバイス100は、画像をそのディスプ
レイ画面上に表示するスマートフォンであってもよく、スマートフォンがユーザから遠ざかるように振られたとき、スマートフォンは、画像をズーム・インすることができる。スマートフォンが再びユーザから遠ざかるように振られたとき、スマートフォンは、画像をズーム・アウトし、その元のサイズで表示することができる。この例示的な実施形態では、モバイル・コンピューティング・デバイス100によって開始される事前定義されたアクションは、画像のズーム・インまたはズーム・アウトを含むことができる。特定の物理的な動きに応答してモバイル・コンピューティング・デバイス100によって開始され得る他の例示的なアクションは、限定するものではなく例として、電話呼に答える、もしくは終了すること、スピーカのボリュームを上げる、または下げること、アプリケーション間で切り替えること、ディスプレイの明るさを上げる、または下げること、モバイル・コンピューティング・デバイス100をスリープ状態から復帰させること、またはモバイル・デバイス100をスリープ状態にすることを含むことができる。本開示は、物理的な動きに応答してモバイル・コンピューティング・デバイス100によって開始され得る特定の事前定義されたアクションについて述べ、または示しているが、本開示は、任意の好適な事前定義されたアクションを企図する。
【0020】
特定の実施形態では、事前定義されたアクションをトリガまたは開始するか否かモバイル・コンピューティング・デバイス100が決定する基準は、運動トリガ信号300がしきい値帯域340内からしきい値帯域340の外へ1回または複数回遷移することを含むことができる。フリック動の例では、モバイル・コンピューティング・デバイス100は、素早い並進加速と、それに続く素早い並進減速を受けることがあり、運動トリガ信号300は、正のピークへの対応する素早い増大と、それに続く負のピークへの素早い減少を示すことができる。そのような例示的なフリック動が、
図3における信号部分350aによって示されている。特定の実施形態では、意図せずにアクションを開始するのを回避するために、モバイル・コンピューティング・デバイス100は、運動確認信号310によって表されるある種の他の物理的な動きが感知された場合、アクションの開始を「ロック・アウト」してもよい。たとえば、事前定義されたアクションを開始するか否かをモバイル・コンピューティング・デバイス100が決定する基準は、運動確認信号310がしきい値帯域340内に位置することも含むことができる。上記で論じたように、運動確認信号310は、Θ
y軸130b(たとえば、ロール)およびΘz軸130c(たとえば、ヨー)に沿った角方向に依存し得る。ローリング運動またはヨー運動が感知されたとき、運動確認信号310は増大または減少してもよく、過度の量のロールまたはヨーが感知された場合、運動確認信号310は、しきい値帯域340の限界を超え得る。運動確認信号310がしきい値帯域340の限界を超えた場合、モバイル・コンピューティング・デバイス100は、アクションの開始を防止またはロック・アウトすることができる。
【0021】
図3では、信号部分350aは、しきい値帯域340内からしきい値帯域340の外への遷移を含む正のピークと、しきい値帯域340内から外への遷移を含む負のピークとを示す運動トリガ信号300を示す。さらに、信号部分350aは、例示的な運動確認信号310がしきい値帯域340内にあることを示す。この例では、信号部分350aは、過度の量のロールまたはヨー運動のないフリック動に対応し、その結果、モバイル・コンピューティング・デバイス100は、信号部分350aを明示するチェック・マークによって示されているように、事前定義されたアクションを開始することができる。
図3における信号部分350b、350c、350dは、「X」マークで明示され、モバイル・コンピューティング・デバイス100が事前定義されたアクションを開始することができないロック・アウト条件を示す。信号部分350bでは、運動トリガ信号300は、正のピークと負のピークを示すが、しきい値帯域340内から外へ遷移せず、フリック・タイプの動きが発生した可能性があるが、アクションをトリガするのに十分強くなかったことを示す。信号部分350cでは、運動トリガ信号300は、フリック動が発生したことを示すが、運動トリガ信号310がしきい値帯域340の外に位置し、過度の量の他の物理的な
動きを示す。その結果、信号部分350cでは、モバイル・コンピューティング・デバイス100は、事前定義されたアクションを開始することができない。信号部分350dでは、運動トリガ信号300は何らかの物理的な動きを示すが、運動トリガ信号300の大きさおよび形状は、アクションをトリガする事前定義された、予想された動きに対応しない。その結果、信号部分350dについては、モバイル・コンピューティング・デバイス100によってアクションはトリガされ得ない。
【0022】
特定の実施形態では、モバイル・コンピューティング・デバイス100は、ピーク保持機能を運動確認信号310に適用することができ、運動確認信号310の最大値が、事前定義された期間、持続される。たとえば、デバイスを落とすなど、モバイル・コンピューティング・デバイス100の突然の、または偽の物理的な動きが発生した場合、運動確認信号310は、しきい値帯域340の外の高い値まで突然スパイク状に上昇し、次いでしきい値帯域340内の値に回復することがある。運動確認信号310に適用されたピーク保持機能は、突然の物理的な動きが止まった後、200ミリ秒などのある期間、運動確認信号310をその高い値で保つことができる。この期間にわたって、アクション・ロックアウト条件が持続することになり、その結果、アクションを開始することができない。ピーク保持機能を運動確認信号310に適用することにより、ある意図しない、または偽の物理的な動きによるアクションのトリガを防止することができる。
【0023】
特定の実施形態では、モバイル・コンピューティング・デバイス100は、センサ信号300、310を監視し、物理的な動きの完了の可能性(または確率)を予測し、次いで、予測が完了のしきい値可能性に達したとき対応するアクションを部分的に開始してもよい。対応するアクションの完了は、物理的な動きが完了した後で行われてもよい。物理的な動きがある期間内に完了しない場合、対応するアクションが取り消されてもよい。たとえば、モバイル・コンピューティング・デバイス100がセンサ信号を監視しながら可能性51%のフリック動を検出した場合、デバイス100は、画面上に表示された画像を50%だけズーム・インするようにスケールの変更を行うなど、アクションを部分的に開始してもよい。フリック動が、300ミリ秒などの事前定義された期間内に完了した場合、ズーム・イン・アクションは100%になり完了することになるが、そうでない場合、画像はその元のサイズにスケールの変更が行われて戻ることになる。
【0024】
特定の実施形態では、アクションがモバイル・コンピューティング・デバイス100によって実施される速さは、運動トリガ信号300のサイズ(または振幅)によって影響を受ける可能性がある。物理的な運動により画像のズーム・インまたはズーム・アウトが開始される例示的なアクションについては、画像ズーム・アクションが行われる速さは、運動トリガ信号300のサイズに比例してもよい。たとえば、ユーザが比較的ゆっくり発生するフリック動を起こした場合、画像は、比較的低速でズーム・インされてもよい。あるいは、ユーザが比較的急速に発生するフリック動を起こした場合、画像のズーム・インもまた、比較的急速に行われてもよい。他の例示的な実施形態では、モバイル・コンピューティング・デバイス100によって実施されるアクションの量が、運動トリガ信号300のサイズによって影響を受ける可能性がある。物理的な動きがモバイル・コンピューティング・デバイス100のオーディオ・ボリューム調整をトリガする例については、ユーザがゆっくりしたフリック動を起こした場合、ボリュームは、比較的小さな増分だけ下げられ、または上げられてもよい。また、ユーザが急速なフリック動を起こした場合、ボリュームは、比較的大きな増分だけ下げられ、または上げられてもよい。
【0025】
特定の実施形態では、1つまたは複数の異なる物理的な動きにより、1つまたは複数の対応する異なるアクションがモバイル・コンピューティング・デバイス100によって開始されてもよい。たとえば、フリック動は、画像のズーム・インまたはズーム・アウトなどあるアクションを開始し、ローリング動は、オーディオ・ボリューム調整など何らかの
他のアクションを開始してもよい。本開示は、任意の好適な数の対応するアクションをモバイル・コンピューティング・デバイス100によって開始するために使用され得る任意の好適な数の好適な物理的な動きを企図する。
【0026】
図4は、モバイル・コンピューティング・デバイス100の物理的な動きを決定し、モバイル・コンピューティング・デバイス100のアクションを開始するための例示的な方法400を示す。この方法は、工程410で始まることができ、モバイル・コンピューティング・デバイス100上のセンサからのデータを受け取ることができ、そのデータは、モバイル・コンピューティング・デバイス100の物理的な動きを示し得る。工程420で、物理的な動きの第1の特性に対応する運動トリガ信号300を決定することができる。工程430で、物理的な動きの第2の特性に対応する運動確認信号310を決定することができる。工程440で、運動トリガ信号300が事前定義されたしきい値帯域340内から外への遷移を有するか否か、また運動確認信号310が事前定義されたしきい値帯域340内に存在するか否かを決定することができる。工程450で、モバイル・コンピューティング・デバイス100の事前定義されたアクションを開始することができ、この時点で、この方法は終了する。特定の実施形態は、適切な場合、
図4の方法の1つまたは複数の工程を繰り返すことができる。本開示は、
図4の方法の特定の工程について特定の順序で行われるものとして述べ、示しているが、本開示は、任意の好適な順序で行われる
図4の方法の任意の好適な工程を企図する。さらに、本開示は、
図4の方法の特定の工程を含む、モバイル・コンピューティング・デバイス100の物理的な動きを決定し、モバイル・コンピューティング・デバイス100のアクションを開始するための例示的な方法について述べ、示しているが、本開示は、適切な場合、
図4の方法の工程のすべて、または一部を含んでも、それらを含まなくてもよい任意の好適な工程を含む、モバイル・コンピューティング・デバイス100の物理的な動きを決定し、モバイル・コンピューティング・デバイス100のアクションを開始するための任意の好適な方法を企図する。さらに、本開示は、
図4の方法の特定の工程を実施する特定の構成要素、デバイス、またはシステムについて述べ、示しているが、本開示は、
図4の方法の任意の好適な工程を実施する任意の好適な構成要素、デバイス、またはシステムの任意の好適な組合せを企図する。
【0027】
図5A〜
図5Bは、画像をズーム・インする例示的なアクションを開始する例示的なフリック動を受ける例示的なモバイル・コンピューティング・デバイス100を示す。
図5Aでは、モバイル・コンピューティング・デバイス100は、実質的に直立の位置で配向され、ディスプレイ画面がその正面110上に含まれている。ディスプレイ画面上に画像を表示することができ、特定の実施形態では、モバイル・コンピューティング・デバイスのフリック動により、画像をズーム・インするアクションが開始され得る。
図5Bは、フリック動を受けた後のモバイル・コンピューティング・デバイス100を示し、
図5Aからの画像のズーム・インされた部分が画面上に表示されている。
【0028】
図6は、例示的なコンピュータ・システム600を示している。特定の実施形態においては、1つまたは複数のコンピュータ・システム600が、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を実行する。特定の実施形態においては、1つまたは複数のコンピュータ・システム600が、本明細書において記述されているまたは示されている機能を提供する。特定の実施形態においては、1つまたは複数のコンピュータ・システム600上で稼働するソフトウェアが、本明細書において記述されているもしくは示されている1つもしくは複数の方法の1つもしくは複数の工程を実行し、または本明細書において記述されているもしくは示されている機能を提供する。特定の実施形態は、1つまたは複数のコンピュータ・システム600の1つまたは複数の部分を含む。本明細書においては、コンピュータ・システムへの言及は、適切な場合には、コンピューティング・デバイスを、またはその逆を包含することができる。その上、コンピュータ・システムへの言及は、適切な場合には、1つまたは複数のコンピ
ュータ・システムを包含することができる。
【0029】
本開示は、任意の適切な数のコンピュータ・システム600を想定している。本開示は、任意の適切な物理的な形態を取るコンピュータ・システム600を想定している。限定ではなく、例として、コンピュータ・システム600は、組み込みコンピュータ・システム、システムオンチップ(SOC)、シングルボード・コンピュータ・システム(SBC)(たとえば、コンピュータオンモジュール(COM)もしくはシステムオンモジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、インタラクティブ・キオスク、メインフレーム、コンピュータ・システムのメッシュ、モバイル電話、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらのうちの複数の組合せであることが可能である。適切な場合には、コンピュータ・システム600は、1つもしくは複数のコンピュータ・システム600を含むこと、単一型もしくは分散型であること、複数のロケーションにわたること、複数のマシンにわたること、複数のデータセンターにわたること、または、クラウド(1つもしくは複数のネットワーク内の1つもしくは複数のクラウド・コンポーネントを含むことができる)内に常駐することが可能である。適切な場合には、1つまたは複数のコンピュータ・システム600は、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を、実質的な空間上のまたは時間上の制限を伴わずに実行することができる。限定ではなく、例として、1つまたは複数のコンピュータ・システム600は、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程をリアル・タイムで、またはバッチ・モードで実行することができる。1つまたは複数のコンピュータ・システム600は、適切な場合には、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を別々の時点で、または別々のロケーションで実行することができる。
【0030】
特定の実施形態においては、コンピュータ・システム600は、プロセッサ602、メモリ604、ストレージ606、入力/出力(I/O)インタフェース608、通信インタフェース610、およびバス612を含む。本開示は、特定の数の特定の構成要素を特定の構成で有する特定のコンピュータ・システムについて記述し、示しているが、本開示は、任意の適切な数の任意の適切な構成要素を任意の適切な構成で有する任意の適切なコンピュータ・システムを想定している。
【0031】
特定の実施形態においては、プロセッサ602は、コンピュータ・プログラムを構成している命令などの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ602は、内部レジスタ、内部キャッシュ、メモリ604、またはストレージ606から命令を取り出し(またはフェッチし)、それらの命令をデコードして実行し、次いで、1つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ604、またはストレージ606に書き込むことができる。特定の実施形態においては、プロセッサ602は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ602を想定している。限定ではなく、例として、プロセッサ602は、1つまたは複数の命令キャッシュ、1つまたは複数のデータ・キャッシュ、および1つまたは複数の変換ルックアサイド・バッファ(TLB)を含むことができる。命令キャッシュ内の命令は、メモリ604またはストレージ606内の命令のコピーであることが可能であり、命令キャッシュは、プロセッサ602によるそれらの命令の取り出しをスピードアップすることができる。データ・キャッシュ内のデータは、プロセッサ602において実行される命令が機能する際に基づくメモリ604もしくはストレージ606内のデータのコピー、プロセッサ602において実行される後続の命令によるアクセスのための、もしくはメモリ604もしくはストレージ606への書き込みの
ためのプロセッサ602において実行された以前の命令の結果、またはその他の適切なデータであることが可能である。データ・キャッシュは、プロセッサ602による読み取りオペレーションまたは書き込みオペレーションをスピードアップすることができる。TLBは、プロセッサ602のための仮想アドレス変換をスピードアップすることができる。特定の実施形態においては、プロセッサ602は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ602を想定している。適切な場合には、プロセッサ602は、1つまたは複数の演算ロジック・ユニット(ALU)を含むこと、マルチコア・プロセッサであること、または1つもしくは複数のプロセッサ602を含むことが可能である。本開示は、特定のプロセッサについて記述し、示しているが、本開示は、任意の適切なプロセッサを想定している。
【0032】
特定の実施形態においては、メモリ604は、プロセッサ602が実行するための命令、またはプロセッサ602が機能する際に基づくデータを格納するためのメイン・メモリを含む。限定ではなく、例として、コンピュータ・システム600は、命令をストレージ606または別のソース(たとえば、別のコンピュータ・システム600など)からメモリ604にロードすることができる。次いでプロセッサ602は、命令をメモリ604から内部レジスタまたは内部キャッシュにロードすることができる。命令を実行するために、プロセッサ602は、命令を内部レジスタまたは内部キャッシュから取り出し、それらの命令をデコードすることができる。命令の実行中または実行後に、プロセッサ602は、1つまたは複数の結果(それらは、中間の結果または最終的な結果である場合がある)を内部レジスタまたは内部キャッシュに書き込むことができる。次いでプロセッサ602は、それらの結果のうちの1つまたは複数をメモリ604に書き込むことができる。特定の実施形態においては、プロセッサ602は、(ストレージ606またはその他の場所ではなく)1つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ604内の命令のみを実行し、(ストレージ606またはその他の場所ではなく)1つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ604内のデータ上でのみ機能する。1つまたは複数のメモリ・バス(それらはそれぞれ、アドレス・バスおよびデータ・バスを含むことができる)は、プロセッサ602をメモリ604に結合することができる。バス612は、以降で記述されているような1つまたは複数のメモリ・バスを含むことができる。特定の実施形態においては、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ602とメモリ604との間に常駐し、プロセッサ602によって要求されるメモリ604へのアクセスを容易にする。特定の実施形態においては、メモリ604は、ランダム・アクセス・メモリ(RAM)を含む。このRAMは、適切な場合には、揮発性メモリであることが可能である。適切な場合には、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であることが可能である。その上、適切な場合には、このRAMは、シングルポートRAMまたはマルチポートRAMであることが可能である。本開示は、任意の適切なRAMを想定している。メモリ604は、適切な場合には、1つまたは複数のメモリ604を含むことができる。本開示は、特定のメモリについて記述し、示しているが、本開示は、任意の適切なメモリを想定している。
【0033】
特定の実施形態においては、ストレージ606は、データまたは命令のためのマス・ストレージを含む。限定ではなく、例として、ストレージ606は、ハード・ディスク・ドライブ(HDD)、フロッピー(登録商標)・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス(USB)ドライブ、またはこれらのうちの複数の組合せを含むことができる。ストレージ606は、適切な場合には、取り外し可能なまたは取り外し不能な(すなわち、固定された)媒体を含むことができる。ストレージ606は、適切な場合には、コンピュータ・システム600の内部または外部に存在することが可能である。特定の実施形態においては、
ストレージ606は、不揮発性のソリッドステート・メモリである。特定の実施形態においては、ストレージ606は、読み取り専用メモリ(ROM)を含む。適切な場合には、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書替え可能ROM(EAROM)、またはフラッシュ・メモリ、またはこれらのうちの複数の組合せであることが可能である。本開示は、任意の適切な物理的な形態を取るマス・ストレージ606を想定している。ストレージ606は、適切な場合には、プロセッサ602とストレージ606との間における通信を容易にする1つまたは複数のストレージ・コントロール・ユニットを含むことができる。適切な場合には、ストレージ606は、1つまたは複数のストレージ606を含むことができる。本開示は、特定のストレージについて記述し、示しているが、本開示は、任意の適切なストレージを想定している。
【0034】
特定の実施形態においては、I/Oインタフェース608は、コンピュータ・システム600と1つまたは複数のI/Oデバイスとの間における通信のための1つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム600は、適切な場合には、これらのI/Oデバイスのうちの1つまたは複数を含むことができる。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータ・システム600との間における通信を可能にすることができる。限定ではなく、例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の適切なI/Oデバイス、またはこれらのうちの複数の組合せを含むことができる。I/Oデバイスは、1つまたは複数のセンサを含むことができる。本開示は、任意の適切なI/Oデバイス、およびそれらのI/Oデバイスのための任意の適切なI/Oインタフェース608を想定している。適切な場合には、I/Oインタフェース608は、プロセッサ602がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイス・ドライバまたはソフトウェア・ドライバを含むことができる。I/Oインタフェース608は、適切な場合には、1つまたは複数のI/Oインタフェース608を含むことができる。本開示は、特定のI/Oインタフェースについて記述し、示しているが、本開示は、任意の適切なI/Oインタフェースを想定している。
【0035】
特定の実施形態においては、通信インタフェース610は、コンピュータ・システム600と、1つもしくは複数のその他のコンピュータ・システム600または1つもしくは複数のネットワークとの間における通信(たとえば、パケットベースの通信など)のための1つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、通信インタフェース610は、イーサネット(登録商標)もしくはその他の有線ベースのネットワークと通信するためのネットワーク・インタフェース・コントローラ(NIC)もしくはネットワーク・アダプタ、またはWI−FIネットワークなどの無線ネットワークと通信するための無線NIC(WNIC)もしくは無線アダプタを含むことができる。本開示は、任意の適切なネットワーク、およびそのネットワークのための任意の適切な通信インタフェース610を想定している。限定ではなく、例として、コンピュータ・システム600は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、またはインターネットの1つまたは複数の部分、またはこれらのうちの複数の組合せと通信することができる。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、有線または無線であることが可能である。例として、コンピュータ・システム600は、無線PAN(WPAN)(たとえば、ブルートゥースWPANなど)、WI−FIネットワーク、WI−MAXネットワーク、セルラー電話ネットワーク(たとえば、グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM(
登録商標))ネットワークなど)、またはその他の適切な無線ネットワーク、またはこれらのうちの複数の組合せと通信することができる。コンピュータ・システム600は、適切な場合には、これらのネットワークのうちの任意のネットワークのための任意の適切な通信インタフェース610を含むことができる。通信インタフェース610は、適切な場合には、1つまたは複数の通信インタフェース610を含むことができる。本開示は、特定の通信インタフェースについて記述し、示しているが、本開示は、任意の適切な通信インタフェースを想定している。
【0036】
特定の実施形態においては、バス612は、コンピュータ・システム600の構成要素同士を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、バス612は、アクセラレイティッド・グラフィックス・ポート(AGP)もしくはその他のグラフィックス・バス、エンハンスト・インダストリー・スタンダード・アーキテクチャ(EISA)バス、フロントサイド・バス(FSB)、ハイパートランスポート(HT)インターコネクト、インダストリー・スタンダード・アーキテクチャ(ISA)バス、インフィニバンド・インターコネクト、ローピンカウント(LPC)バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、ペリフェラル・コンポーネント・インターコネクト(PCI)バス、PCIエクスプレス(PCIe)バス、シリアル・アドバンスト・テクノロジー・アタッチメント(SATA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル(VLB)バス、または別の適切なバス、またはこれらのうちの複数の組合せを含むことができる。バス612は、適切な場合には、1つまたは複数のバス612を含むことができる。本開示は、特定のバスについて記述し、示しているが、本開示は、任意の適切なバスまたはインターコネクトを想定している。
【0037】
本明細書においては、1つまたは複数の非一時的なコンピュータ可読記憶媒体は、適切な場合には、1つもしくは複数の半導体ベースのもしくはその他の集積回路(IC)(たとえば、フィールドプログラマブル・ゲート・アレイ(FPGA)もしくは特定用途向け集積回路(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)・ディスケット、フロッピー(登録商標)・ディスク・ドライブ(FDD)、磁気テープ、ソリッドステート・ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、その他の任意の適切な非一時的なコンピュータ可読記憶媒体、またはこれらのうちの複数の組合せを含むことができる。非一時的なコンピュータ可読記憶媒体は、適切な場合には、揮発性、不揮発性、または揮発性と不揮発性の組合せであることが可能である。
【0038】
本明細書においては、「または(もしくは)」は、包含的であり、排他的ではない(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AまたはB」は、「A、B、またはその両方」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。その上、「および(ならびに)」は、包括的および個別的の両方である(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AおよびB」は、「まとめて、または個別に、AおよびB」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。
【0039】
本開示の範囲は、当技術分野における標準的な技術者が理解するであろう、本明細書において記述されているまたは示されている例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書において記述されてい
るまたは示されている例示的な実施形態に限定されない。その上、本開示は、本明細書におけるそれぞれの実施形態を、特定の構成要素、要素、特徴、機能、オペレーション、または工程を含むものとして記述し、示しているが、これらの実施形態のいずれも、当技術分野における標準的な技術者が理解するであろう、本明細書の任意の箇所において記述されているまたは示されている構成要素、要素、特徴、機能、オペレーション、または工程のうちの任意のものの任意の組合せまたは順列を含むことができる。さらに、特定の機能を実行するように適合されている、実行するようにアレンジされている、実行することができる、実行するように構成されている、実行することを可能にされている、実行するように機能できる、または実行するように機能する装置もしくはシステム、または装置もしくはシステムの構成要素への添付の特許請求の範囲における言及は、その装置、システム、構成要素、またはその特定の機能が、有効化されているか否か、オンにされているか否か、またはロック解除されているか否かを問わず、その装置、システム、または構成要素が、そうするように適合されている、そうするようにアレンジされている、そうすることができる、そうするように構成されている、そうすることを可能にされている、そうするように機能できる、またはそうするように機能する限り、その装置、システム、構成要素を包含する。
一実施形態では、方法は、コンピューティング・デバイスが、コンピューティング・デバイスの物理的な動きを示すコンピューティング・デバイス上のセンサからのセンサ・データを受け取る工程を含む。また、この方法は、コンピューティング・デバイスの物理的な動きの第1の特性に対応するセンサ・データの運動トリガ信号、およびコンピューティング・デバイスの物理的な動きの第2の特性に対応するセンサ・データの運動確認信号を決定する工程を含む。この方法は、運動トリガ信号が、事前定義されたしきい値帯域内から事前定義されたしきい値帯域の外への遷移を含むか否か、および、運動確認信号が、事前定義されたしきい値帯域内にあるか否かを決定する工程をさらに含む。また、この方法は、運動トリガ信号が事前定義されたしきい値帯域内から事前定義されたしきい値帯域の外への遷移を有し、運動確認信号が事前定義されたしきい値帯域内にあるとき、コンピューティング・デバイスの事前定義されたアクションを開始する工程を含む。