(57)【要約】  携帯装置は、空間的に区別可能なコントロールをアプリケーションプログラムに通知する方法を提供する。空間検出ユニットは、携帯装置の空間的移動を検出するとともに、検出された空間的移動に対して応答する出力を供給する。データプロセッサは、実行可能コードのためのプラットフォームを提供するとともに、通信チャネルへの出力を監視および供給する。実行可能コードは、データプロセッサのプラットフォーム上で実行される。実行可能コードは、通信チャンネルに動作可能に接続されるとともに、インタプリタライブラリを含んでいる。インタプリタは、インタプリタライブラリに関してイベントを生成する。プラグインは、インタプリタライブラリに協働的に接続されたインターフェースを有している。生成イベントは、プラグインのスクリプトインターフェースに出力される。ブラウジングプログラムは、プラグインに協働的に接続されている。
2009524331.tif 000002
【特許請求の範囲】
【請求項１】
携帯装置のアプリケーションプログラムにコントロールを通知する方法であって、
前記携帯装置のディスプレイにアプリケーションプログラムのグラフィカルユーザインターフェース（ＧＵＩ）を表示するステップと、
前記携帯装置の所定の空間的移動の発生を判定するステップと、
前記発生に対する応答において、対応するコントロール信号を生成するステップと、
前記アプリケーションプログラムのプラグインプログラムにコントロール信号を出力するステップと、
前記アプリケーションプログラムにプラグインのコントロール信号を出力するステップと、
前記携帯装置の空間的移動に従ってコントロールを通知するため、アプリケーションプログラムによって支援されるスクリプト環境において、スクリプト処理を実行するステップと
を具備することを特徴とする方法。
【請求項２】
前記コントロール信号は、前記アプリケーションプログラムを実行可能に接続するプラグインによって出力されることを特徴する請求項１に記載の方法。
【請求項３】
前記判定ステップは、携帯装置の状態マシンを用いて行われることを特徴する請求項１に記載の方法。
【請求項４】
さらに、前記携帯装置のさらなる移動を監視するとともに、ハンドヘルド携帯装置の移動が実質的に静止状態にあることを判定するステップと、
さらに、前記静止状態の判定に対する応答において、別の所定の移動に関して判定するステップと、生成するステップと、出力するステップとを繰り返すステップと
をさらに具備することを特徴とする請求項１に記載の方法。
【請求項５】
前記判定ステップは、装置内の加速度出力のノイズおよび直流成分のフィルタリングを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記生成ステップは、プラグインアプリケーションによってコントロール信号を生成し、
前記コントロール信号は、ウェブブラウジングアプリケーションプログラムのスクリプト環境を通して処理されることを特徴とする請求項１に記載の方法。
【請求項７】
グラフィカルユーザインターフェース（ＧＵＩ）を表示するように構成されたディスプレイと、
携帯装置の空間的移動を検出するように構成され、かつ応答する出力を供給する空間検出ユニットと、
ソフトウェアプラットフォームを提供するとともに、通信チャネルへの出力を監視および供給するように構成されたデータプロセッサと、
プラットフォーム上で実行する適切な実行可能コードと
を具備し、
前記実行可能コードは、
通信チャネルに動作可能に接続されているとともに、出力を受信するためにデータプロセッサと通信を行うように構成されたインタプリタライブラリと、
対応する生成イベントを受信するため、インタプリタライブラリに協働的に接続されたインターフェースを有するプラグインと、
ＧＵＩを出力するとともに、生成イベントを受信するため、協動的にプラグインを接続するように構成されたブラウジングプログラムと
を含み、
前記インタプリタは、インタプリタライブラリに関してイベントを生成し、
前記生成イベントは、スクリプトインターフェースに出力され、
前記スクリプトインターフェースは、ブラウジングプログラムが携帯装置の空間的移動に対する応答においてコントロールされるように、スクリプト環境を支援することを特徴とする携帯装置。
【請求項８】
前記出力のデータ点を格納するように構成されたメモリをさらに具備することを特徴とする請求項７に記載の携帯装置。
【請求項９】
前記空間検出ユニットは、先の移動の判定との比較によって空間的移動を判定するように構成された状態マシンをさらに具備することを特徴する請求項７に記載の携帯装置。
【請求項１０】
アプリケーションプログラムにコントロールを通知するシステムであって、
ハンドヘルド装置と、
ホスト装置と
を具備し、
前記ハンドヘルド装置は、
ハンドヘルド装置の空間的移動を検出するように構成され、かつ応答する出力を供給する空間検出ユニットと、
通信チャネルへの出力を監視および供給するように構成されたデータプロセッサと
を有し、
前記ホスト装置は、
グラフィカルユーザインターフェース（ＧＵＩ）を表示するように構成されたディスプレイと、
ホスト装置のプラットフォーム上で実行する適切な実行可能コードと
を有し、
前記実行可能コードは、
通信チャネルに動作可能に接続され、かつ前記出力を受信するためデータプロセッサとの通信を行うように構成されたインタプリタライブラリと、
対応する生成イベントを受信するためインタプリタライブラリに協働的に接続されたインターフェースを有するプラグインと、
ＧＵＩを表示し、かつ生成イベントを受信するためプラグインに協働的に接続されたブラウジングプログラムと
を含み、
前記インタプリタは、インタプリタライブラリに関してイベントを生成し、
前記生成イベントは、スクリプトインターフェースに出力され、
前記スクリプトインターフェースは、ブラウジングプログラムがハンドヘルド装置の空間的移動に対する応答においてコントロールされるように、スクリプト環境を支援することを特徴とするシステム。
【請求項１１】
コンピュータの空間的移動に対する応答において、アプリケーションプログラムをコントロールする方法を実行するコンピュータによるコンピュータプログラム命令を含むコンピュータ読み取り可能なキャリアであって、
携帯装置のディスプレイにアプリケーションプログラムのグラフィカルユーザインターフェース（ＧＵＩ）を表示するステップと、
前記携帯装置の所定の空間的移動の発生を判定するステップと、
前記発生に対する応答において、対応するコントロール信号を生成するステップと、
アプリケーションプログラムのプラグインプログラムにコントロール信号を出力するステップと、
アプリケーションプログラムにプラグインのコントロール信号を出力するステップと、
携帯装置の空間的移動に従って、コントロールを通知するため、アプリケーションプログラムによって支援されたスクリプト環境のスクリプトを実行するステップと
を具備することを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空間的に区別可能なコントロールインターフェースに関し、さらに詳細には、装置の空間的移動が、アプリケーションプログラムのスクリプタブルな環境にコントロールイベントを通知するアプリケーションフレームワークに関する。
【背景技術】
【０００２】
本明細書に提供された“背景技術”の記載は、本発明の背景を大まかに記載することを目的としている。本明細書に記載され、ここで言及された発明者の成果は、そうでなければ出願時点での先行技術としてみなされない本明細書の態様と同様に、本発明に対する先行技術として、はっきりとも、暗黙にも認められるものではない。
【０００３】
携帯電話、ＭＰ３プレイヤ、ＰＤＡなどのような携帯装置は、機能の追加、ならびに従来のキーボートおよびコントロールの小型化により、その操作がますます複雑になっている。たとえば、多様な機能が単一の装置に統合されるように、携帯装置の機能は、装置全般で非常に増加している。これらの多機能は、テキストメッセージ、電子メール、マルチメディア再生、ウェブブラウジングなどを含んでいる。より機能的であることへの要求と矛盾して、同時に、そのような携帯装置の物理的サイズおよび重量をさらに低減させることへの強い要求が存在する。
【０００４】
要求される小型化に関して、ディスプレイは、より鮮明になることによって、小型化がより容易になっているとともに、電子回路およびデータ記録装置などの内部構成要素は、非常に速い速度で小型になっている。これにより、多様な機能に対するユーザコントロールまたはインターフェースを小型化することへの多大な要求が、設計者に課されている。
【０００５】
携帯装置のユーザインターフェースは、より小型化されているとともに、増加する機能の集合を支援するように要求されているため、小さな物理的コントロールを操作する難しさによって、装置の全機能を利用することは、未経験ユーザ、通勤者、および熟年者にとって困難である。
【０００６】
したがって、前記した携帯装置の小型化または多機能化によって制限されない、よりシンプルなユーザインターフェースに対する要求が存在する。
【発明の開示】
【課題を解決するための手段】
【０００７】
本発明は、携帯装置のアプリケーションプログラムにコントロールを通知する方法を提供する。前記方法は、携帯装置のディスプレイにアプリケーションプログラムのグラフィカルユーザインターフェース（ＧＵＩ）を表示することを含んでいる。所定の空間的移動の発生は、携帯装置の空間プラットフォームによって判定される。前記発生に対する応答において、対応するコントロール信号が、携帯装置によって生成される。コントロール信号は、アプリケーションフレームワークのプラグインプログラムに出力される。プラグインのコントロール信号は、アプリケーションプログラムに出力される。アプリケーションプログラムによって支援されたスクリプト環境におけるスクリプト動作は、携帯装置の空間的移動に従って、そこにコントロールを通知するために実行される。
【０００８】
本発明のさらなる態様では、携帯装置は、グラフィカルユーザインターフェース（ＧＵＩ）を表示するように構成されたディスプレイを含んでいる。空間検出ユニットは、携帯装置の空間的移動を検出するとともに、応答する出力を供給するように構成されている。データプロセッサは、ソフトウェアプラットフォームを提供するとともに、通信チャネルへの出力を監視および供給するように構成されている。プラットフォーム上で実行するのに適切な実行可能コードは、通信チャネルに対して動作可能に接続されたインタプリタライブラリを含んでいる。インタプリタライブラリは、前記出力を受信するため、データプロセッサとの通信を行うように構成されている。インタプリタは、インタプリタライブラリに関してイベントを生成する。プラグインは、対応する生成イベントを受信するようにインタプリタライブラリと協働的に接続されたインターフェースを有している。生成イベントは、プラグインのスクリプトインターフェースに出力される。ディスプレイにＧＵＩを表示するブラウジングプログラムは、そこから生成イベントを受信するように構成されたプラグインに協働的に接続されている。スクリプトインターフェースは、ブラウジングプログラムが、携帯装置の空間的移動に対する応答においてコントロールされるような、スクリプト環境を支援する。
【０００９】
本発明のさらに他の態様では、アプリケーションプログラムにコントロールを通知するシステムを提供する。前記システムのハンドヘルド装置は、ハンドヘルド装置の空間的移動を検出するように構成された空間検出ユニットを有しているとともに、空間的移動に対して応答する出力を供給する。データプロセッサは、通信チャネルへの出力を監視および供給するように構成されている。システムのホスト装置は、グラフィカルユーザインタフェース（ＧＵＩ）を表示するように構成されたディスプレイを有している。実行可能コードは、ホスト装置のプラットフォーム上で実行するのに適しているとともに、通信チャネルに対して動作可能に接続されたインタプリタライブラリを有している。インタプリタライブラリは、前記出力を受信するために、データプロセッサとの通信を行うように構成されている。インタプリタは、インタプリタライブラリに関してイベントを生成する。プラグインは、対応する生成イベントを受信するため、インタプリタライブラリに対して協働的に接続されたインターフェースを有している。生成イベントは、プラグインのスクリプトインターフェースに出力される。ブラウジングプログラムは、ＧＵＩを表示するとともに、生成イベントを受信するように構成されたプラグインに対して協働的に接続されている。スクリプトインターフェースは、ブラウジングプログラムが、ハンドヘルド装置の空間的移動に対する応答においてコントロールされるようなスクリプト環境を支援する。
【００１０】
本発明の以上の大まかな記載および以下の詳細な記載の両方は、典型的なものであって、本発明を限定するものでないことは自明である。
【発明を実施するための最良の形態】
【００１１】
本発明およびそれに付随した多くの利点に対するより完全な理解は、添付図面とともに考慮された場合、以下の詳細な記載に対する参照によってより理解されるものとして、容易に得られる。
【００１２】
図１は、本発明の典型的な携帯装置の透視図である。
【００１３】
図２は、図１の典型的な携帯装置のアーキテクチャの上位レベルのブロック図である。
【００１４】
図３は、図１の携帯装置の典型的な過程の流れを図示したフローチャートである。
【００１５】
図４は、図１の携帯装置に対するユーザ入力アクションの流れ図である。
【００１６】
以下の記載で使用した幾つかの技術は、単に便宜上のものであって、限定するものではない。本明細書で使用される“区別可能（articulable）”および“空間的移動（spatial movement）”という用語は、装置に関する三次元空間における全範囲の運動を指す。この範囲の運動は、任意の軸に沿った全回転、部分回転、および／または“跳ね返る（flick）”または“振る（shake）”といった非回転的移動を含んでいる。本明細書で使用される“跳ね返る”という用語は、一次元における（期間内に予め決められた）素早い運動で、その後元の開始点に戻るものとして定義する。本明細書で使用される“振る”という用語は、連続して“跳ね返る”ことを含んでいる。同様に、本明細書で使用される“区別可能”および／または“空間的移動”という用語は、任意の方向において傾きを持った移動および／または線形移動であり、元の開始点に戻る必要のないものを含んでいる。前記図面では、幾つかの図面を通して同一の要素を示すために同一の参照符号を使用している。
【００１７】
本発明は、装置の空間的移動検出に基づいたスクリプトインターフェースのための入力機構に関するものである。任意の方向において、手首を“跳ね返す”のと同様に、“握手する（hand shake）”、“傾ける（tilt）”、“捩じる（twist）”、“回転する（rotate）”といった運動は、スクリプト環境によって処理されるイベントに変換される。
【００１８】
本発明は、スクリプト環境を支援するアプリケーションプログラムを有し、典型的な実施形態ではワールドワイドウェブブラウザを利用する携帯装置を提供する。ウェブブラウザは、ウィンドウズ（登録商標）ベースのオペレーティングシステムで典型的に提供されるような、アイコン、メニュー、ラジオボタンなどの形式のオンスクリーンオプションのディスプレイを表示または支援するコンピュータ環境を供給するグラフィカルユーザインターフェース（ＧＵＩ）を提供する。そのようなブラウザは、携帯装置のオペレーティングシステムであるシンビアン（登録商標）、リナックス（登録商標）、および／またはウィンドウズ（登録商標）ＣＥによって支援される、モジラミニモ（登録商標）、オペラ（登録商標）、サンダーホーク（登録商標）ブラウザを含んでもよい。当然、典型的な実施形態では、ユニックス、ウィンドウズ（登録商標）ビスタおよびその類似物といった非携帯プラットフォームと、ネットスケープナビゲータ、マイクロソフトインターネットエクスプローラ、およびファイアフォックスといったブラウジング技術とを利用してもよいことは、当業者にとって自明である。
【００１９】
図１は、典型的な入力携帯装置２０１を示している。空間的運動または握手のような手の移動（たとえば、図示したように“傾ける（tilt）”（“縦に揺らす（pitch）”こととして同様に知られている）、および手首を“左右に跳ね返す（flick）”）は、自動的にイベントに変換される（ここでは、“上に揺らす（pitch up）”、“左に揺らす（yaw left）”、および“右に揺らす（yaw right）”を矢印で図示した）。当然、上記したように矢印は、可能性のある移動を網羅したものではなく、例示的なものである。
【００２０】
次に図２を参照すると、典型的な実施形態は、所定のイベントをこれに対応する携帯装置２０１の所定の手の移動から得る携帯装置２０１を提供する。これらのイベントは、そのようなイベントに対する応答において、またはこれに基づいた、ユーザインタラクションを提供するウェブブラウザを使用するホスト２０２に出力される。
【００２１】
さらに詳細には、図２は典型的な携帯装置のアーキテクチャの上位レベルのブロック図を示している。携帯装置２０１は、加速度計２０４、デジタルデータ変換２０５、およびプロセッサ２０６を有するハードウェアプラットフォーム２０１ａを具備している。ホストまたはソフトウェア２０２は、ブラウザ２０７、スクリプト２０８、プラグイン２０９、およびインタプリタ２１０を具備している。携帯装置２０１は、通信インターフェース２０３を経由してホスト２０２と通信する。
【００２２】
携帯装置２０１は、運動検出器（たとえば、多方向加速度計２０４）を含む、ハードウェアおよび／またはソフトウェア、あるいはそれらの組み合わせである。典型的な加速度計は、三次元空間内における装置２０１の移動を認識するためのアナログデータを出力する。次に、このアナログデータは、Ａ／Ｄ（アナログ−デジタル）変換器として機能するデジタルデータ変換ユニット２０５によってデジタルデータに変換される。加速度計２０４が、プロセッサ２０６に適合したデジタル位置データを出力する場合、デジタルデータ変換ユニット２０５を省いてもよい。
【００２３】
アクションは、携帯装置２０１のユーザ駆動運動または移動として定義される（たとえば、図１の水平な矢印で示した左または右への突然の運動は、そのような２つのアクションである）。アクションは、左または右に限定されないが、例示目的のため、記載した検出アルゴリズムでは、これら２つの特定アクションのみを使用する。
【００２４】
前記装置２０１の検出された所定の運動は、装置が基準面に対してなす角度を表した測定値である、“傾き”または“揺れ”であり得る。典型的な実施形態の目的のため、基準面は水平（すなわち、いかなる静止状態位置であっても地面に対して平行）である。基準面は、静止状態位置（閾値検出レベル以下であり、そのため不当な入力として扱われる小さな移動を伴う）であり得る。基準面をなすＸ軸およびＹ軸と、基準面に対して垂直であるＺ軸とを伴うデカルト座標を使用して、上下移動は、Ｚ軸に沿って検出され、左右移動はＸ軸に沿って検出されるとともに、前後移動は、Ｙ軸に沿って検出される。“傾き”、または“縦の揺れ”は、Ｚ軸およびＹ軸に沿って検出され、“左右の揺れ”は、Ｘ軸およびＹ軸に沿って検出されるともに、回転は、Ｚ軸およびＸ軸に沿って検出される。移動の閾値は、入力として意図しない携帯装置の小さな移動を排除するとともに、加速度の閾値は、意味のない入力として判定される長い時間にわたって発生したような、距離の閾値よりも大きい移動を排除する。
【００２５】
上記６種類の各移動は、方向によってさらに区別することができるため（たとえば、“縦の揺れ”は、上に対しては正、または下に対しては負）、１２種類の異なる入力を含んでいる。３軸全てに沿った同時移動は、１３番目の特有な入力であり、変更として、デカルト座標の代わりに極座標としてもよい。
【００２６】
典型的な実施形態の空間的移動インターフェースは、１つまたは複数の加速度計（通常は、加速度計２０４）からの情報を解釈する。加速度計２０４は、デジタルデータ変換ユニット２０５によってデジタル形式に取り込まれる、アナログまたはパルス幅変調（ＰＷＭ）信号を出力する。次に、生の加速度データは、マイクロプロセッサ２０６によって処理される。マイクロプロセッサ２０６は、所定のイベントが発生したかどうかを判定するため、加速度データを解釈する命令セットとして機能する。装置２０１のモードに依存して、装置２０１の位置または過去の位置に関する情報が、ホスト２０２に送信される。ホスト２０２は、典型的にウェブブラウザ２０７を含む命令セットである。
【００２７】
今日存在し、本実施形態に使用することができる小型の装置運動センサ、データ変換、およびプロセッサは、様々ある（たとえば、全開示が本明細書に組み込まれる、１９９１年１月２９日にZimmermanらに発行された米国特許第4,988,981号明細書と、全開示が本明細書に組み込まれる、２００１年４月１９日に公開された国際公開第WO 01/27735 A1号パンフレットとに開示されているように）。
【００２８】
たとえば、前記プロセッサ２０６は、ソフトウェア、ミドルウェア、またはファームウェアとして具現してもよい。同様に、プロセッサ２０６は、プログラマブルロジック、アプリケーション特定統合化回路（ＡＳＩＣ：Application Specific Integrated Circuit）、マイクロコントローラ、マイクロプロセッサ、または汎用コンピュータとして具現してもよい。プロセッサ２０６は、位置検出器または移動検出器２０４（たとえば、加速度計）からの位置データをホスト２０２が解釈できる所定のイベントに変換する。
【００２９】
前記プロセッサ２０６からの所定のイベント出力は、信号を表す所定のイベントとして、装置２０１から通信インターフェース２０３を通してホスト２０２に通信される。
【００３０】
前記通信インターフェース２０３は、信号（たとえば、装置２０１からホスト２０２へのイベント表現信号、ホスト２０２から装置２０１へのコントロール、および他のデータ）を交換する双方向通信のために、携帯装置２０１とホスト２０２とを適切に接続する。通信インターフェース２０３は、いずれのタイプの送信ラインを使用してもよく、本実施形態では、通信インターフェース２０３は、スタンドアロン構成用のハードワイヤードデータ経路である。当然、代替実施形態では、通信インターフェース２０３は、無線技術（たとえば、セルラー、ブルートゥース、ワイハイ、ワイマックス、狭域無線周波数、ハードワイヤリング、光学、赤外線、および人工衛星）と、好ましいほどではないがケーブリングとによって具現してもよいことは、当業者にとって自明である。そのような実施形態では、携帯装置は、ホスト２０２のソフトウェアから分離したハンドヘルドコントロールである。
【００３１】
次に、前記通信インターフェース２０３によって通信されたイベントは、ブラウザによって、たとえば、スクリプト環境（たとえば、ホスト２０２のブラウザ２０７のスクリプト２０８）を使用して、ハンドルされる。
【００３２】
前記インタプリタ２１０は、通信を行うとともに、ホスト２０２のために装置の指定をコントロールするライブラリを有している。通信手段は独立しているが、通信インターフェース２０３を通して通信を行うようにホスト２０２のソフトウェアを使用してもよい。インタプリタ２１０は、イベントベースであり、完全なデータメッセージを装置２０１から受信したらすぐに、ゼロまたはより適切に記録されたイベントリスナに対して、イベントを送信する。装置２０１のモードは、通信インターフェース２０３を通してインタプリタ２１０から装置２０１へコントロールメッセージを送信することと、これらのコントロールメッセージを確認するために装置２０１を待つこととによって処理される。これらの機能は、好ましくはソフトウェアを用いて実行する。
【００３３】
前記ブラウザ２０７は、ブラウザのプラグインインターフェース２０９を通して、インタプリタ２１０を認識する。プラグインコードは、イベントリスナとしてインタプリタの要求に対してそれ自体を記録するとともに、装置２０１から受信されたとき、イベントは送信される。プラグイン２０９は、通信インターフェース２０３を通して送信されるイベント表現信号に対して、応答してもしなくてもよい。特に、プラグイン２０９は、イベント信号をスクリプト２０８に出力するか、またはブラウザを直接コントロールするためにイベント信号を使用してもよい。プラグイン２０９は、インタプリタ２１０のコントロール機能（同様に、スクリプトに出力される）に対するアクセスを有している。これらの機能は、好ましくはソフトウェアを用いて実行する。
【００３４】
図２の前記ホスト２０２のスクリプト２０８は、装置２０１からの入力に基づいて、これらのウェブサイトのコンテンツを直接変更することをウェブ開発者に許可する。たとえば、装置からの“縦への揺れ”データは、ウェブベースマップ、またはこれらが発生する度にコンテンツを突然変化させるための装置２０１の信号によって認識されたジェスチャーをコントロールする。スクリプトインターフェース２０８は、装置からの大量の情報を出力しても出力しなくてもよい、プラグイン２０９の実行によって定義される。これらの機能は、好ましくはソフトウェアを用いて実行する。サーバー側またはクライアント側のどちらで実行されるにしても、ジャバ、ジャバスクリプト、ＰＨＰ、ＡＳＰ、ＣＧＩ、およびパールの実行によって具現されるような、実行可能に定義されたコンテンツプロバイダとしてのスクリプトであることは、当業者にとって自明である。
【００３５】
フローチャートのいずれの過程の記載またはブロックは、過程内のステップまたは特定の論理機能を実行するための１つまたは複数の実行可能命令を含む、モジュール、セグメント、コードの一部を表現しているものとして理解されるべきものである。変形例は、当業者には自明であるように、十分に同時に、または逆の順番で関連機能に依存するステップを具備し、その機能は、本発明の典型的な実施形態の範囲内に含まれるその機能は、図示または記載されたもの以外のものであってよい。
【００３６】
図３のフローチャートに関連して開示されたように、前記ソフトウェアは、加速度計２０４からの加速度データを解釈するのに使用されるアルゴリムに加えて、プロセッサ２０６上で実行されるとともに、通信インターフェース２０３を通してホスト２０２と通信する。ホスト２０２と装置２０１との間の通信は、状態マシンによって装置側でハンドルされる。ホスト２０２が、装置２０１にコマンドを送信することにより、装置２０１の状態が更新される。この更新された状態は、ホスト２０１にどのような情報が送信されたかどうかを判定する。装置２０１は、処理されていてもいなくともよいデータストリームを送信するのと同様に、装置２０１の位置における変化が、所定のイベントとなる所定のアクションとして解釈された場合に、情報を送信する。
【００３７】
アクションは、突然の運動（たとえば、左または右への）である。アクションは、装置を使用している間に発生しうる他の運動（ノイズ、たとえば、ユーザが、移動する車内の乗客であるときに押された場合）から区別される。
【００３８】
検出システムは、装置がアクション駆動モードに置かれた場合に入るループ内で、動作する。図３は、通信インターフェース２０３を用いて実行される通信ステップ４０７による、図２の加速度計２０４からホスト２０２へのデータ４００の流れを示している。このループは、図２のプロセッサ２０６に含まれており、デジタルデータ変換２０５（たとえば、アナログ−デジタル変換器（ＡＤＣ）であってよい）からのバイナリデータは、プロセッサ２０６（たとえば、汎用コンピュータプロセッサおよびソフトウェアであってよい）への入力である。インタプリタ２１０は、イベントコントロール信号をブラウザ特定コントロールに変換するための、テーブルルックアップであってよい。プラグイン２０９は、ブラウザ２０７と直接接続するとともに、ハンドヘルド携帯装置に関係する追加的機能を標準ブラウザ２０７に与えるプログラムモジュールであってもよい。
【００３９】
ステップ４０２によって判定されるようにデータの新規部分が利用できる度に、ステップ４０３で新規イベントデータは、先行するＮ個のデータ点を含む、装置２０１の小型メモリアレイ（図示せず）に格納される。
【００４０】
この時点で、前記データは、たとえば、新規の各データ点に対して、アレイ内の全データの平均をとるローパスフィルタ（図示せず）を用いて、好ましくは除去されるノイズを通常含んでいる。そのようなフィルタリングは、プロセッサ２０６を用いて行ってもよい。
【００４１】
前記生じた信号は、信号の直列成分を除去する他のフィルタ（図示せず）に通される。直列成分は、示してはいないデジタルデータ変換器からのデータストリームの結果であり得る。前記フィルタは、第１差分（離散時間微分、ステップ４０４）をとることによって、この直列成分を除去する。そのようなフィルタリングは、プロセッサ２０６を用いて行ってもよい。
【００４２】
次に、図３の加速度信号処理３００、さらに詳細には、好ましくはプロセッサ２０６を用いて行われる、図４のステップ４００，４０１，４０２，４０３，および４０４から生じるフィルタリングされたデータストリームは、ステップ４０６で所定のアクションが発生したかどうかを判定する、状態マシン４０５に出力される。所定のイベントとして判定される、所定のアクションが発生した場合、ステップ４０７に従って、イベント信号が、通信インターフェース２０３を通してホスト２０２に送信される。
【００４３】
図３の状態マシンフローチャートは、マシンの先行状態と、ステップ３００から入力されるデータとを考慮する、単純な決定構造に基づいてその状態を移す。
【００４４】
前記ステップ３０１によってマシンが静止状態にあると判定され、かつステップ３０４によってアクションまたはイベント信号閾値を超えたと判定された場合、状態マシンは、特定の閾値を越えたことに対応するアクション状態３０５に遷移する。明瞭さのため、１つの所定イベントに、ステップ３０４，３０５の１セットのみを図示したが、好ましくは別個のセットが、所定の各イベントに提供される。装置２０１の主処理ループ３１３が、マシンの状態を検査した結果、マシンがアクション状態にある場合、ステップ３１２で適切な情報が、通信チャネルまたはインターフェース２０３を通してホストに送信される。
【００４５】
突然のアクションから生じる信号は、１方向における素早い加速よりもはるかに複雑である。初期信号が確認された後に、信号が多くの閾値を越えることは、稀ではない。このため、ステップ３０１で信号が静止状態にないと判定され、かつステップ３０２で所定の移動ではないと判定された場合、状態マシンは、さらなるアクションを確認する前に、信号が静止状態に戻るまで待つ（ステップ３０３−３１１）。これを実現するために、前記マシンは、ゼロ待ち状態に置かれる。前記マシンが一旦この状態になったら、ゼロがＸ個続くのを待つ（ステップ３０６で、信号の絶対値が閾値以下の場合、ゼロが発生し、次いでステップ３０８でＸカウントを加算する。信号の絶対値が閾値以下でない場合、ステップ３０７でゼロカウントをリセットし、ループ３１３でステップ３００に処理を返す。）。ゼロがＸ個続いた後（ステップ３０９）、前記マシンは、ステップ３１０で静止状態に戻り、ステップ３００に処理を返すループ３１３によって、アクションを再び確認することができる。
【００４６】
通信インターフェース２０３の通信は、上記したようにいずれのタイプの手段を用いてもよい。ホスト２０２と装置２０１との間の通信は、ポーリングまたはイベント駆動（たとえば、ホストによって判定される）でもよい。特に、ホストは、装置の位置に関する情報を要求してもよく（ポーリング）、装置はホストに情報を独立して送信してもよい（イベント駆動）。
【００４７】
実施形態の変形として、前記装置２０１は、ホスト２０２からのコマンドにより特定のモードに置くことができるので、装置２０１は、突然の左または右への運動（“左右の揺れ”）に対応する情報のみを送信する。他の実施例として、前記装置は、地面に対してなす装置の角度に対応する“傾き”（“縦の揺れ”）データのストリームを送信してもよい。同様に、回転データを送信してもよい。
【００４８】
明らかに、容易に理解できる本発明の変更および変形は、上記説明の観点において可能である。したがって、添付の特許請求の範囲内で、本発明は、本明細書で具体的に記載したもののほかに、別の方法で実施してもよいことが分かる。たとえば、相互に協働するソフトウェアおよびハードウェアコンポーネントの片方または両方で記載した一方で、本明細書に記載したシステムは、全てソフトウェアで実施してもよいことを想定している。前記ソフトウェアは、磁気または光学ディスク、あるいは無線周波数または可聴周波数搬送波のようなキャリアに具現してもよい。
【００４９】
したがって、上述の説明は、単に本発明の典型的な実施形態を開示および記載したものである。当業者には自明であるように、本発明は、それらの趣旨又は本質的な特徴から逸脱せずに、他の特定の形式で実施してもよい。したがって、本発明の開示は、例示を意図したものであり、他の請求項と同様に、本発明の範囲を限定するものではない。本明細書の説明の容易に理解できる変形を含む本開示は、発明性のある要旨は公開されないが、先の請求項の用語の範囲の一部分を定義する。
【図面の簡単な説明】
【００５０】
【図１】本発明の典型的な携帯装置の透視図である。
【図２】図１の典型的な携帯装置のアーキテクチャの上位レベルのブロック図である。
【図３】図１の携帯装置の典型的な過程の流れを図示したフローチャートである。
【図４】図１の携帯装置に対するユーザ入力動作の流れ図である。
【符号の説明】
【００５１】
２０１  携帯装置
２０１ａ  ハードウェアプラットフォーム
２０２  ホスト
２０３  通信インターフェース
２０４  加速度計
２０５  デジタルデータ変換ユニット
２０６  マイクロプロセッサ
２０７  ブラウザ
２０８  スクリプト
２０９  プラグインインターフェース
２１０  インタプリタ
【図１】
2009524331.tif 000003
【図２】
2009524331.tif 000004
【図３】
2009524331.tif 000005
【図４】
2009524331.tif 000006
【手続補正書】
【提出日】平成20年9月19日(2008.9.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
携帯装置のアプリケーションプログラムにコントロールを通知する方法であって、
前記携帯装置のディスプレイにアプリケーションプログラムのグラフィカルユーザインターフェース（ＧＵＩ）を表示するステップと、
前記携帯装置の所定の空間的移動の発生を判定するステップと、
前記発生に対する応答において、対応するコントロール信号を生成するステップと、
前記アプリケーションプログラムのプラグインプログラムにコントロール信号を出力するステップと、
前記アプリケーションプログラムにプラグインのコントロール信号を出力するステップと、
前記携帯装置の空間的移動に従ってアプリケーションプログラムにコントロールを通知するコントロール信号を実行するステップと
を具備し、
前記コントロール信号は、アプリケーションプログラムによって解釈される、予め定義されたイベントであることを特徴とする方法。
【請求項２】
前記コントロール信号は、前記アプリケーションプログラムを実行可能に接続するプラグインによって出力されることを特徴する請求項１に記載の方法。
【請求項３】
前記判定ステップは、携帯装置の状態マシンを用いて行われることを特徴する請求項１に記載の方法。
【請求項４】
さらに、前記携帯装置のさらなる移動を監視するとともに、ハンドヘルド携帯装置の移動が実質的に静止状態にあることを判定するステップと、
さらに、前記静止状態の判定に対する応答において、別の所定の移動に関して判定するステップと、生成するステップと、出力するステップとを繰り返すステップと
をさらに具備することを特徴とする請求項１に記載の方法。
【請求項５】
前記判定ステップは、装置内の加速度出力のノイズおよび直流成分のフィルタリングを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記生成ステップは、プラグインアプリケーションによってコントロール信号を生成し、
前記コントロール信号は、ウェブブラウジングアプリケーションプログラムのスクリプト環境を通して処理されることを特徴とする請求項１に記載の方法。
【請求項７】
グラフィカルユーザインターフェース（ＧＵＩ）を表示するように構成されたディスプレイと、
携帯装置の空間的移動を検出するように構成され、かつ応答する出力を供給する空間検出ユニットと、
ソフトウェアプラットフォームを提供するとともに、通信チャネルへの出力を監視および供給するように構成されたデータプロセッサと、
プラットフォーム上で実行する適切な実行可能コードと
を具備し、
前記実行可能コードは、
ＧＵＩを表示するように構成されたアプリケーションプログラムと、
通信チャネルに動作可能に接続されているとともに、出力を受信するためにデータプロセッサと通信を行うように構成されたインタプリタライブラリと、
対応する生成イベントを受信するため、インタプリタライブラリに協働的に接続されたインターフェースを有するプラグインと、
ＧＵＩを表示するとともに、生成イベントを受信するため、協動的にプラグインを接続するように構成されたブラウジングプログラムと
を含み、
前記インタプリタは、インタプリタライブラリに関してイベントを生成し、
前記生成イベントは、携帯装置の空間的移動に対する応答においてコントロールを通知するアプリケーションプログラムに出力されるとともに、アプリケーションプログラムによって解釈される、予め定義されたイベントであることを特徴とする携帯装置。
【請求項８】
前記空間検出ユニットは、先の移動の判定との比較によって空間的移動を判定するように構成された状態マシンをさらに具備することを特徴する請求項７に記載の携帯装置。
【請求項９】
アプリケーションプログラムにコントロールを通知するシステムであって、
ハンドヘルド装置と、
ホスト装置と
を具備し、
前記ハンドヘルド装置は、
ハンドヘルド装置の空間的移動を検出するように構成され、かつ応答する出力を供給する空間検出ユニットと、
通信チャネルへの出力を監視および供給するように構成されたデータプロセッサと
を有し、
前記ホスト装置は、
グラフィカルユーザインターフェース（ＧＵＩ）を表示するように構成されたディスプレイと、
ホスト装置のプラットフォーム上で実行する適切な実行可能コードと
を有し、
前記実行可能コードは、
通信チャネルに動作可能に接続され、かつ前記出力を受信するためデータプロセッサとの通信を行うように構成されたインタプリタライブラリと、
対応する生成イベントを受信するためインタプリタライブラリに協働的に接続されたインターフェースを有するプラグインと、
を含み、
前記インタプリタは、インタプリタライブラリに関してイベントを生成し、
前記生成イベントは、ハンドヘルド装置の空間的移動に対する応答においてコントロールを通知するアプリケーションプログラムに出力されるとともに、アプリケーションプログラムによって解釈される、予め定義されたイベントであることを特徴とするシステム。
【請求項１０】
携帯装置のアプリケーションプログラムをコントロールする方法を実行するプロセッサによるコンピュータプログラム命令を含むコンピュータ読み取りキャリアであって、
携帯装置のディスプレイにアプリケーションプログラムのグラフィカルユーザインターフェース（ＧＵＩ）を表示する命令と、
前記携帯装置の所定の空間的移動の発生を判定する命令と、
前記発生に対する応答において、対応するコントロール信号を生成する命令と、
アプリケーションプログラムのプラグインプログラムにコントロール信号を出力する命令と、
アプリケーションプログラムにプラグインのコントロール信号を出力する命令と、
携帯装置の空間的移動に従って、コントロールを通知するコントロール信号を実行する命令と
を具備し、
前記コントロール信号は、アプリケーションプログラムによって解釈される、予め定義されたイベントであることを特徴とするキャリア。
【国際調査報告】
2009524331.tif 000007
2009524331.tif 000008
2009524331.tif 000009