(57)【要約】【課題】キーボード入力の代わりにＳＭＳデータを使用する。【解決手段】システム及び方法は、緊急モーションセンサデータを入力デバイス（例えば、キーボード）の入力データとして解釈することによってアプリケーション動作を行う。【選択図】図４
2009003931.tif 000002
【特許請求の範囲】
【請求項１】
デバイスの傾動中に緊急モーションセンサデータを読み取り、
読み取られた前記データを入力デバイスの入力として解釈し、
解釈された前記データに基づいてアプリケーション動作を調節する、
ことを備えることを特徴とする方法。
【請求項２】
前記調節は、読み取られた前記データ値に比例してアプリケーション動作を調節することを特徴とする、請求項１に記載の方法。
【請求項３】
前記読み取りは、ハードドライブのヘッドを停止させるために使用される緊急モーションセンサシステムから前記データを読み取ることを特徴とする、請求項１に記載の方法。
【請求項４】
前記緊急モーションセンサシステムは、三軸加速度計を含むことを特徴とする、請求項３に記載の方法。
【請求項５】
いずれかの軸からの値が閾値を越える場合、前記調節は、アプリケーション動作を調節することを特徴とする、請求項４に記載の方法。
【請求項６】
前記アプリケーションはゲームを含むことを特徴とする、請求項１に記載の方法。
【請求項７】
前記コンピュータは、ＭＡＣＩＮＴＯＳＨ（マッキントッシュ）コンピュータを含むことを特徴とする、請求項１に記載の方法。
【請求項８】
前記入力デバイスはキーボードを含むことを特徴とする、請求項１に記載の方法。
【請求項９】
デバイスの傾動中に緊急モーションセンサデータを読み取るための手段と、
読み取られた前記データを入力デバイスの入力として解釈するための手段と、
解釈された前記データに基づいてアプリケーション動作を調節するための手段と、
を備えることを特徴とするシステム。
【請求項１０】
コンピュータに方法を実行させるための命令が格納されたコンピュータ可読媒体であって、前記方法が、
デバイスの傾動中に緊急モーションセンサデータを読み取り、
読み取られた前記データを入力デバイスの入力として解釈し、
解釈された前記データに基づいてアプリケーション動作を調節する、
ことを備えることを特徴とするコンピュータ可読媒体。
【請求項１１】
デバイスの傾動中に緊急モーションセンサデータを読み取るための緊急モーションセンサエンジンと、
読み取られた前記データを入力デバイスデータとして解釈するために、前記緊急モーションセンサエンジンに通信可能に連結された入力デバイスドライバと、
解釈された前記データに基づいて動作を調節する、前記入力デバイスドライバに通信可能に連結されたアプリケーションと、
を備えることを特徴とするシステム。
【請求項１２】
前記アプリケーションは、読み取られた前記データ値に比例して動作を調節することを特徴とする、請求項１１に記載のシステム。
【請求項１３】
前記緊急モーションセンサエンジンは、ハードドライブのヘッドを停止させるために使用される緊急モーションセンサシステムから前記データを読み取ることを特徴とする、請求項１１に記載のシステム。
【請求項１４】
前記緊急モーションセンサシステムは、三軸加速度計を含むことを特徴とする、請求項１３に記載のシステム。
【請求項１５】
いずれかの軸からの値が閾値を越える場合、前記アプリケーションはその動作を調節することを特徴とする、請求項１４に記載のシステム。
【請求項１６】
前記アプリケーションはゲームを含むことを特徴とする、請求項１１に記載のシステム。
【請求項１７】
前記デバイスは、ＭＡＣＩＮＴＯＳＨ（マッキントッシュ）コンピュータを含むことを特徴とする、請求項１１に記載のシステム。
【請求項１８】
前記入力デバイスはキーボードを含むことを特徴とする、請求項１１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、発明者であるＴｅｒｅｎｃｅ  Ｇｏｇｇｉｎ等によって２００７年６月２０日に出願された、“ＳＭＳ  Ｓｅｎｓｏｒ  Ｋｅｙｂｏａｒｄ  Ｉｎｐｕｔ”と題する米国特許出願第６０／９４５，１０３号の優先権を主張し、同出願を参照として本明細書に引用する。本発明は、一般に、緊急モーションセンサ（ｓｕｄｄｅｎ  ｍｏｔｉｏｎ  ｓｅｎｓｏｒ：ＳＭＳ）データに関し、より詳細には、キーボードや他の入力デバイスの入力を置き換えるための緊急モーションセンサデータを使用するためのシステム及び方法を提供するが、それにのみ限定されない。
【背景技術】
【０００２】
近年、アップル社は、緊急モーションセンサ、即ち、ＳＭＳとして知られる新たなハードウエアを含むラップトップの出荷を始めた。このＳＭＳは、ラップトップの緊急の加速やラップトップとの重大なコリジョンを検出することができる。
【０００３】
明細書執筆時現在のＳＭＳに関するウィキペディア（Ｗｉｋｉｐｅｄｉａ）の記事によれば、
三軸加速度計では、システムは、コンピュータの落下時のような不意の加速を検出し、比較的壊れやすいハードディスクドライブ機構を衝撃に備えさせる。このシステムは、ディスクドライブヘッドをハードディスクプラッターからはずし、データロスとドライブの損傷がディスクヘッドクラッシュするのを防ぐ。コンピュータが安定している時は、ドライブは、再び正常に動作する。
【０００４】
大別して、二つのタイプの緊急モーションセンサがある。Ｇ４ベースのラップトップで使用されるセンサは、重力当り約５２カウントの解像度を示し、現在のインテルベースのラップトップで使用されるセンサは、重力当り約２５０カウントの解像度を示す。アップル社は、インテルベースのラップトップの少なくとも一つのモデルであるＭａｃＢｏｏｋ  Ｐｒｏ  １５では、+/−２ｇのダイナミックレンジと１．５ＫＨｚまでのバンド幅を有するＫｉｏｎｉｘ  ＫＸＭ５２−１０５０三軸加速度計チップを使用している。「…]
２００６年１０月現在、アップル社は、そのデバイスのＡＰＩを文書化せず、その特徴はモデル毎に異なる。[…]
ＩＢＭは、２００３年に始めた幾つかのＴｈｉｎｋｐａｄに見られる類似のシステムであるＡｃｔｉｖｅ  Ｐｒｏｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍを有する。
【０００５】
Ａｃｅｒは、２００６年に製造された幾つかのＴｒａｖｅｌＭａｔｅ−ｓｅｒｉｅｓ  ｎｏｔｅｂｏｏｋに見られるＧｒａｖｉＳｅｎｓｅとして知られる同様のシステムを有する。
【０００６】
ＳＭＳの意図された目的は、例えば、ラップトップが落下したり机にぶつかったりした時にハードドライブを保護することである。一見すると、ＳＭＳは、ソリッドエンジニアリングの概念に入るように思える。しかし、他の目的のためにもＳＭＳを使用している。
【０００７】
マッキントッシュコミュニティは、すでに、ＳＭＳのあまり重要でないユーザ入力使用を試み始めている。これらアークの大部分は、ＳＭＳセンサの目的及び使用を明らかにすることを目指している。
●ＳｉｅｓＭａｃプロジェクトは、ＳＭＳセンサを使用してユーザのＭａｃを一時的な地震計にしている。
●ＭａｃＳａｂｅｒプロジェクトは、Ｍａｃの移動に基づいてＭａｃにＳｔａｒ  Ｗａｒｓ  ｌｉｇｈｔ−ｓａｂｅｒ−ｌｉｋｅ（スターウォーズのライトセイバーのような）サウンドを作らせる。
●Ａｐｐｌｅ社自体は、加速度に基づく安全システムに関する特許（米国特許出願公開第２００５０１９００５９号）を出願した。
●同様に、ＭｕｌｔｉＡｌａｒｍアプリケーションは、安全システムとしてＳＭＳセンサを使用し、Ｍａｃが許可なく移動されると高ピッチのノイズを発生、或いは警告を発する。幾つかのＳＭＳアプリケーションは、大まかにはゲーム指向である。
●Ｂｕｂｂｌｅｇｙｍは、傾動に関連するフィードバックをゲームに提供する手段としてＳＭＳを使用している。即ち、その目的は、ゲームの種々のアイテムをスロットに転がり込ませたりするようにＭａｃを傾動させることである。
●Ａｎａｌｏｇ  Ｌａｐｔｏｐ  Ｅｘｔｅｎｓｉｏｎも、傾動を使用するが、この場合は、仮想マリオネット操り人形を制御する手段として使用する。
●パーカッションのようにＳＭＳセンサデータを扱う製品であるＳｋｉｐＣｈｅｃｋｅｒは、ゲームではない。むしろ、これは、ＡｐｐｌｅのｉＴｕｎｅｓアプリケーションを操作するツールとして使用される。即ち、Ｍａｃを軽く打つたり打ち当てることによりＳｋｉｐ  Ｃｈｅｃｋｅｒアプリケーションを次のトラックにｉＴｕｎｅｓスキップさせる。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
このように、ＳＭＳの従来のアプリケーションのいずれもキーボード入力の代わりにＳＭＳデータを使用することはない。
【課題を解決するための手段】
【０００９】
デバイスの傾動を介してキーボードデータを入力するシステムと方法が提供される。この傾動は、突然の移動中にハードディスクドライブヘッドを停止させるために使用される緊急モーションセンサによって測定される。
【００１０】
一実施形態では、この方法は、デバイスの傾動中に緊急モーションセンサデータを読み取り、読み取られたデータを入力デバイスの入力として解釈し、解釈されたこのデータに基づいてアプリケーション動作を調節する、ことを備える。
【００１１】
一実施形態では、このシステムは、緊急モーションセンサエンジンと、入力デバイスドライバと、アプリケーションとを備える。この緊急モーションセンサエンジンは、デバイスの傾動中に緊急モーションセンサデータを読み取る。緊急モーションセンサエンジンに通信可能に連結される入力デバイスドライバは、読み取られたデータを入力デバイスデータとして解釈する。入力デバイスドライバに通信可能に連結されるアプリケーションは、解釈されたデータに基づいてその動作を調節する。
【００１２】
本発明の非制限的且つ非包括的な実施形態が以下の図を参照して記述され、ここでは、類似の参照番号は、他に特に規定がなければ、種々の図面を通して類似の部品を示す。
【発明を実施するための最良の形態】
【００１３】
以下の記述は、当業者が本発明を作製し使用することを可能とするために提供され、且つ特定の用途とその要求との関連で提供される。実施形態に対する種々の変更が当業者には容易に明らかになり、ここで定義される原理は、本発明の趣旨と範囲から離れることなく他の実施形態と用途に適用することができる。このように、本発明は、図示の実施形態に制限されることは意図せず、ここで開示される原理、特徴及び教示と一致する最も広い範囲に一致する。
【００１４】
図１は、本発明の第１の実施形態に従うシステム１００を示すブロック図である。本発明の一実施形態では、システム１００は、ＭＡＣＩＮＴＯＳＨラップトップコンピュータを含む。本発明の他の実施形態では、システム１００は、ワイヤレス電話機、パーソナルデジタルアシスタント、ＭＰ３プレーヤ等のプロセッサ及びＳＭＳを含む任意のデバイスを含む。
【００１５】
システム１００は、全てがバス１６０を介して互いに通信可能に連結される、中央演算処理装置（ＣＰＵ）１０５、ワーキングメモリ１１０、持続性メモリ１２０、ＳＭＳ１２５、入力／出力（Ｉ／Ｏ）インターフェース１３０、ディスプレイ１４０、入力デバイス１５０、及びスピーカ１５５を含む。ＣＰＵ１０５は、ＩＮＴＥＬ  ＸＥＯＮマイクロプロセッサ、Ｍｏｔｏｒｏｌａ  ＰＯＷＥＲＰＣマイクロプロセッサ又は持続性メモリ１２０に格納されたソフトウエアを実行することができる他のプロセッサを含む。ワーキングメモリ１１０は、ランダムアクセスメモリ（ＲＡＭ）や他のタイプの読み出し／書き込みメモリデバイス或いはメモリデバイスの組み合わせを含む。持続性メモリ１２０は、ハードドライブ、リードオンリメモリ（ＲＯＭ）やシステム１００が停止された後にデータを保持できる他のタイプのメモリデバイスやメモリデバイスの組み合わせを含む。上述のように、ＳＭＳ１２５は、不意の動き（例えば、不意の加速）に関連するデータを生成する加速度計を含む。一実施形態では、１１０インターフェース１３０は、有線又は無線技術を介してインターネットのようなネットワークに通信可能に連結される。ディスプレイ１４０は、フラットパネルディスプレイ、陰極線管ディスプレイ、或いは他のディスプレイデバイスを含む。入力デバイス１５０は、キーボード、マウス、タッチスクリーン又はデータを入力するための他のデバイス、或いはデータを入力するためのデバイスの組み合わせを含む。本発明の他のコンポーネントと同様に任意であるスピーカ１５５は、モノ又はステレオでサウンドを発する。
【００１６】
本発明の他の実施形態では、システム１００は、ネットワークコネクション、追加のメモリ、追加のプロセッサ、ＬＡＮ、情報をハードウエアチャネル、インターネット、又はイントラネット等を介して転送するための入力／出力リンクのような追加のデバイスを含む。当業者は、プログラム及びデータが他の方法でシステム１００によって受信され且つ格納されることを認識するだろう。
【００１７】
システム１００の動作中、ＳＭＳ１２５からのデータは、システム１００に入力される入力デバイス１５０を交換又は追加するために使用される。例えば、テトリスゲームの実施形態では、右側が左側よりも高いようにシステム１００を傾けることは、入力デバイス１５０の左矢印キーを押すこと又は入力デバイス１５０のマウスを左に動かすと解釈され、それによって、ブロックを左に動かす。左側を右側よりも高いようにシステム１００を傾けることは、入力デバイス１５０の右矢印キーを押すと解釈され、それによって、ブロックを右に動かす。
【００１８】
図２は、システム１００の持続性メモリ１２０を示すブロック図である。メモリ１２０は、ＳＭＳエンジン２００、初期化エンジン２１０、初期化データ２２０、アプリケーション２３０、入力デバイスドライバ２４０を含む。ＳＭＳエンジン２００は、ＳＭＳ１２５からデータを読み出し、初期化エンジン２１０及び入力デバイスドライバ２４０のような他のソフトウエアに読み出したデータを送信する。初期化エンジン２１０は、初期化データ２２０として格納される、較正とモーション閾値データをセットアップする。
【００１９】
ＳＭＳ１２５からのデータは、ＳＭＳ１２５が動きを測定する三軸の各々に対する三つの値の形態を取る。他の実施形態では、一軸又は二軸加速度計のための一つだけの又は二つの値があってもよい。ＣＤ−ＲＯＭドライブ、キーボードに対するタイピング等のハードディスク自体からの運動のような、検出されるべき何らかの小さな移動があるため、これら三つの数値を感知する第１のステップは、おそらく、ベースレベルを決定することである。ベースレベルや較正点を決定するために、初期化エンジン２１０は、ラップトップが確実に安定した表面上にあり、次に、ＳＭＳ１２５から値を読み取るようにユーザに依頼することができる。
【００２０】
更に、初期化エンジン２１０は、後でアプリケーションを実行する時に使用するのと同じ力でシステム１００を傾けるようにユーザに依頼できる。“静止”読み取りと“サンプル傾動”読み取りとの差は、入力デバイスドライバ２４０への入力を引き起こすために後からの傾動入力がパスしなければならない閾値である。或いは、デフォルト閾値が初期化エンジン２１０によって測定及び較正とは独立して使用されることができる。閾値は、３つの値（一軸当り一つ）や一つの値（例えば、各軸に対して同一の最小値又は三つの軸の内の一つの測定が超えなければならない最小値）又は二つの値（例えば、ｘとｙ軸値）を含むことができる。
【００２１】
初期化データ２２０は、上述のような閾値（単数又は複数）を含み、一実施形態では、それは、システム１００が停止時からの較正データである。本発明の実施形態では、初期化データ２２０は、更に、ＳＭＳ値が最大値（単数又は複数）を超える場合に、キーボード入力が受け入れられない最大値（単数又は複数）を含む。これは、システム１００への損傷が引き起こされうるようにシステム１００を動かさないようにユーザを仕向ける効果を有する。
【００２２】
アプリケーション２３０は、入力デバイス１５０入力を使用する任意のアプリケーションを含む。アプリケーション２３０は、キーボード入力を許容するゲームを含むことができる。入力デバイスドライバ２４０は、物理的入力をアプリケーション２３０による使用のためのデータへ変換する入力デバイス１５０のためのドライバである。一実施形態では、ＳＭＳエンジン２００は、ＳＭＳデータを入力デバイスドライバ２４０へ送出し、入力デバイスドライバ２４０がアプリケーション２３０による使用のためにＳＭＳデータを解釈する。
【００２３】
アプリケーション２３０の動作中に、ＳＭＳエンジン２００は、ＳＭＳ１２５からのコンスタントに変化するＳＭＳデータを、一実施形態では、一秒の何分の一毎に、連続的に読み取る。次に、ＳＭＳエンジン２００は、ＳＭＳデータを閾値と比較し、ＳＭＳデータが閾値データを超える場合、そのデータを入力デバイスドライバ２４０に送り、それをキーボート入力と解釈する。次に、デバイスドライバ２４０は、そのデータをアプリケーション２３０に送り、アプリケーションは、そのデータを適宜使用する。一実施形態では、ＳＭＳエンジン２００は、最大値をチェックし、ＳＭＳデータがその最大値を超える場合、ＳＭＳエンジン２００は、そのデータを入力デバイスドライバ２４０へ送信しない。
【００２４】
図３は、ＳＭＳ較正とモーション閾値データを生成する方法３００を示すフローチャートである。まず、ＳＭＳデータは、休止中に、例えば、安定した非移動表面上にあるシステム１００で収集される（３１０）。次に、システム１００は、ユーザによって傾動され、その結果としてＳＭＳデータが収集される（３２０）。一実施形態では、収集のために傾動中のＳＭＳデータは、時間フレーム中に一セットのピーク値を選択することによって決定される。他の実施形態では、収集されるべきＳＭＳデータは、時間フレーム中の任意の軸のピーク値を含む。他の実施形態では、収集されるべきＳＭＳデータは、時間フレーム中のピーク値のセットからの最小値を含む。他の実施形態では、次に、モーション閾値データは、システム１００が休止している時のＳＭＳデータを傾動中のＳＭＳデータから減算することによって決定される（３３０）。次に、この決定された閾値データは格納される（３４０）。他の実施形態では、格納された閾値データ（３４０）は、傾動中に測定されたピーク値のセットを含む。他の実施形態では、格納された閾値データ（３４０）は、傾動中のピーク値からあるパーセント（例えば、１０パーセント）を引いて得られる値のセットを含む。他の実施形態では、格納された閾値データ（３４０）は、システム１００が休止している時に収集されたＳＭＳデータである。
【００２５】
図４は、キーボード入力データの代用としてＳＭＳデータを使用する方法４００を示すフローチャートである。まず、ＳＭＳデータが読み取られる（４１０）。次に、読み取られたＳＭＳデータが先に格納された閾値（３４０）を超えるか否かが決定される（４２０）。読み取られたＳＭＳデータが閾値を超えない場合（例えば、任意の軸の測定値のいずれもが閾値を超えない場合、或いは、夫々が独立で又は値の合計であろうと、測定値のセットが一セットの閾値を超えない場合）、次に、方法４００がＳＭＳデータの読み取り（４１０）に戻る。一実施形態では、読み取り（４１０）が特定の間隔で、例えば、約０．２５秒毎に、生じるように読み取り（４１０）に遅延があってもよい。
【００２６】
読み取られたＳＭＳデータが前に格納された閾値（３４０）を超える場合（例えば、いずれかの軸の測定値のいずれかが閾値を超える場合、或いは、夫々が独立で又は値の合計で、測定値のセットが一セットの閾値を超える場合）、次に、ＳＭＳデータは、入力デバイスの入力として解釈される（４３０）。一実施形態では、解釈することは、システム１００がどの方向へ傾いたかを決定することを含む。次に、アプリケーションの動作は、対応して調節される（４４０）。一実施形態では、調節（４４０）は、傾動がなければ成立しないゲームプレイを含む。テトリスの実施形態では、例えば、デバイスの左側上方への傾きが右矢印キーを押すと解釈され、次に、ブロックを右側に移動する。他の実施形態では、傾動は、マウスを右に移動すると解釈され、それにより、ポインタを右側に移動する。右方向への移動の範囲は、一実施形態では、その解釈（４３０）から傾動の範囲に基づく。他の実施形態では、ポインタの調節された移動の範囲は、衝撃の範囲に関係なく一定である。本発明の一実施形態において、傾動の範囲が最大値よりも大きい場合、そのデータは、解釈されない（４３０）。次に、この方法４００は、ＳＭＳデータの読み取り（４１０）に戻る。この方法４００は、アプリケーションの実行が終了するまでループし続ける。
【００２７】
図５は、本発明の実施形態に従うゲーム５００を示す図である。右側が左側よりも高いようなシステム１００の傾動は、左矢印キーボード入力と解釈され、それによりブロックを左に移動する。反対に、左側が右側よりも高いようなシステム１００の傾動は、右矢印キーボード入力と解釈され、それによりブロックを右に移動する。
【００２８】
本発明の実施形態についての前述は、例示に過ぎず、上記の実施形態及び方法の他のバリエーションと変更は、前述の教示に照らして可能である。例えば、本発明の実施形態は、ＭＡＣＩＮＴＯＳＨコンピュータを参照して記述されるが、緊急モーションセンサを有する任意のコンピュータは本発明の実施形態を実施することができる。更に、キーボードについて説明されてきたが、ＳＭＳデータは、任意の入力デバイスのための交換又は追加の入力のために使用することができる。更に、この発明のコンポーネントは、プログラムされた汎用デジタルコンピュータを使用するか、特定用途向け集積回路を使用するか、又は相互接続された従来のコンポーネント及び回路のネットワークを使用するかして実施することができる。接続は、有線でも、無線でも、モデム等でもよい。ここで記述された実施形態は、限定又は制限することを意図していない。本発明は、以下の特許請求の範囲によってのみ制限される。
【図面の簡単な説明】
【００２９】
【図１】本発明の第１の実施形態に従うシステムを示すブロック図である。
【図２】そのシステムの持続性メモリを示すブロック図である。
【図３】ＳＭＳ較正及びモーション閾値データを生成する方法を示すフローチャートである。
【図４】キーボード入力データの代用としてＳＭＳデータを使用する方法を示すフローチャートである。
【図５】本発明の実施形態に従うゲームを示す図である。
【符号の説明】
【００３０】
１００  システム
１０５  中央演算処理装置（ＣＰＵ）
１１０  ワーキングメモリ
１２０  持続性メモリ
１２５  ＳＭＳ
１３０  Ｉ／Ｏインターフェース
１４０  ディスプレイ
１５０  入力デバイス
１５５  スピーカ
１６０  バス
２００  ＳＭＳエンジン
２１０  初期化エンジン
２２０  初期化データ
２３０  アプリケーション
２４０  入力デバイスドライバ
３００  ＳＭＳ較正とモーション閾値データを生成する方法
４００  キーボード入力データの代用としてＳＭＳデータを使用する方法
５００  ゲーム
【図１】
2009003931.tif 000003
【図２】
2009003931.tif 000004
【図３】
2009003931.tif 000005
【図４】
2009003931.tif 000006
【図５】
2009003931.tif 000007