JP2008519326A - 電子ペン用の内部ロジックの管理 - Google Patents
電子ペン用の内部ロジックの管理 Download PDFInfo
- Publication number
- JP2008519326A JP2008519326A JP2007538866A JP2007538866A JP2008519326A JP 2008519326 A JP2008519326 A JP 2008519326A JP 2007538866 A JP2007538866 A JP 2007538866A JP 2007538866 A JP2007538866 A JP 2007538866A JP 2008519326 A JP2008519326 A JP 2008519326A
- Authority
- JP
- Japan
- Prior art keywords
- pen
- version
- logic
- identifier
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
複数の電子ペンからの情報を管理するシステムにおいて、各電子ペンは、制御ソフトウェアとテンプレートのセットとを保存するように設計されたメモリを含む。各テンプレートは、制御ソフトウェアによって実現される機能にペン位置を関連付ける。電子ペンの動作を制御する方法および構成において、別々のテンプレートバージョンのセットが、制御ソフトウェアの複数の異なるバージョンの各々に対して生成される。ペンには、対応するセットが提供される。ペンは、制御ソフトウェアの所与のバージョンを保存するものであり、すべてのテンプレートバージョンが、ソフトウェアの所与のバージョンによって完全に実現される機能を適切に示す。
Description
本出願は、2004年11月5日に出願された米国仮特許出願第60/625,167号、および2004年11月5日に出願されたスウェーデン国特許出願第0402710−8号の恩典を主張し、両出願は、参照により本明細書に組み込まれる。
本発明は一般に、サブストレート(substrate)上の手書き入力を反映した電子情報を生成することが可能な電子ペンに関する。
電子ペンは、紙、プラスチック、ボール紙などの受動的なサブストレートに筆記するためにペンが使用されているときに、ペンの動きをトレースする測位システムを組み込んでもよい。測位システムは、例えば、サブストレートに接触するローラボール、1つまたは複数の外部送信器からの信号の三角測量(triangulation)、加速度センサ、サブストレートに接触するペン先に関連する歪みセンサ、サブストレート上のパターンの画像、またはそれらの組み合わせから、動きを推測してもよい。
そのような電子ペンは、ペンストロークを位置の並びとして電子的に記録することができる。
サブストレートは、専用情報の入力または選択用の1つまたは複数の入力フィールドを提供されてもよく、または、機能の始動用の1つまたは複数の入力フィールドを提供されてもよい。例えば、1つまたは複数の位置が入力フィールド内において実際に記録されたことをユーザに知らせるために、ペンが、フィールドに関係する(触覚的、聴覚的、または視覚的)ユーザフィードバックを与えることが望ましいことがある。同様に、ペンが、外部装置から独立に動作可能であることが望ましいこともある。
この目的のため、電子ペンは、1つまたは複数のロジック定義テンプレートを使用することができる。このロジック定義テンプレートは、ペンの製造中にペンのメモリに保存される。そのような各テンプレートは、1つまたは複数のサブストレートまたはサブストレートのクラスに関連付けられ、少なくともこれらのサブストレート上の入力フィールドの部分の場所(location)を示す。テンプレートは、そのような各入力フィールドに関する処理ルールも示す。処理ルールは、ユーザフィードバックを与えること、ある種のペンストロークを処理すること、ペンに外部装置にデータを提供させることなどの、ペンの任意の機能に関係してもよい。テンプレートのそのような使用は、出願人の先の米国特許出願公開第2003/0061188号にさらに開示されており、同公開は、参照により本明細書に組み込まれる。
ロジック定義テンプレートの使用は、いくつかの固有の問題を有する。新しいサブストレートが、既存のペン内のテンプレートによってサポートされるべきであるとするならば、そのような新しいサブストレートの開発は、深刻な妨げを受けるであろう。したがって、最初に開発されるテンプレートは、後々開発されるサブストレートを通して提供され得る機能を定義するであろう。
さらに、ペンの新しい世代は、新しい処理ルール、すなわち強化機能を含むソフトウェアを提供されてもよい。そのようなペンの新しい世代は、新しい処理ルールに関連付けられた入力フィールドを有する新しいテンプレートを保存するのが当然である。互換性の理由で、これらの「新しい」ペンは、「旧い」ペン用に開発されたサブストレート上でも動作することが望ましく、反対に、「旧い」ペンは、「新しい」ペン用に開発されたサブストレート上でも動作することが望ましい。これは、ある程度は、新しい入力フィールドを最初に開発されたテンプレートに追加して新しいテンプレートを作成することによって、達成されることができる。
最初に開発されたテンプレートへの依存を緩和するため、製造後に新規または更新テンプレートをメモリに追加することが可能なペンを作成することが考えられる。それによって、旧いペンは、新規または更新テンプレートに関連付けられた新しいサブストレートまたはサブストレートのクラス上で動作するようにすることができる。しかし、旧いペンのソフトウェアは、そのような新規追加テンプレートによって示されるすべての機能をサポートするわけではない。これは、旧いペンの潜在的に制御不能な挙動をもたらす結果となり、新規または更新テンプレートがリリースされるたびに、広範囲にわたる試験を必要とすることになる。
本発明の目的は、従来技術の上記の問題を克服することである。
一般に、本発明の目的は、独立請求項による方法、装置、および構成と、従属請求項によって定義される実施形態とによって、少なくとも部分的に達成される。
一の態様によれば、本発明は、電子ペンと通信するコンピュータシステムにおける方法であって、前記ペンによって保存された処理ルールのセットを示すバージョン識別子を、前記ペンから取得することと、前記バージョン識別子に基づいて、ペン位置を少なくとも1つのルール識別子に関連付けるロジックバージョン(logic version)を取得することであって、それによって、前記少なくとも1つのルール識別子が、前記処理ルールのセットの中の一つの処理ルールを示すことと、前記ロジックバージョンを前記ペンに提供することと、を含む方法に関する。
第2の態様によれば、本発明は、電子ペンと通信するための装置であって、前記ペンと通信するためのインタフェースと、前記ペンによって保存された処理ルールのセットを示すバージョン識別子を、前記インタフェースを介して前記ペンから取得する第1の処理要素と、前記バージョン識別子に基づいて、ペン位置を少なくとも1つのルール識別子に関連付けるロジックバージョンを取得する第2の処理要素であって、それによって、前記少なくとも1つのルール識別子が、前記処理ルールのセットの中の一つの処理ルールを示す第2の処理要素と、前記ロジックバージョンを前記インタフェースを介して前記ペンに提供する第3の処理要素と、を備える装置に関する。
ペンによって保存された処理ルールのセットに基づいて、ロジックバージョンをペンに選択的に提供することによって、ペンを試験する必要を減少させることができる。言い換えると、ロジックバージョンは、各ペンによって提供される機能に多かれ少なかれ適合させることができる。
第1および第2の態様は、コンピュータプログラムによって実装されることができ、コンピュータプログラムは、ペンに接続されたローカルコンピュータ上で、またはペンが接続したネットワークサーバ上で動作する。両方のケースで、ロジックバージョンは、伝播信号としてペンに提供される。
一の実施形態では、前記ロジックバージョン内の各ルール識別子は、前記処理ルールのセットの中の一つの処理ルールを示してもよい。したがって、ロジックバージョンは、各ペンの機能に完全に適合させられ、新規または更新ロジックが導入されるたびに、旧いペンの動作を試験する必要はない。
第3の態様によれば、本発明は、複数の異なる処理ルールのセットの1つを保存する電子ペンのために特定のロジックバージョンを作成するための方法であって、別々のロジックバージョンが、前記セットの中の処理ルールを示す少なくとも1つのルール識別子を含むように、各セットについて作成され、前記方法は、すべての別々のロジックバージョンのルール識別子を含む完全な機能ロジックを取得することと、所与の処理ルールのセットを示すバージョン識別子を取得することと、前記バージョン識別子に基づいて、構築命令を取得することと、前記所与の処理ルールのセットに含まれない処理ルールを示して、少なくとも1つのサポートされないルール識別子を除去することによって、前記構築命令を前記完全な機能ロジックに作用させて、前記特定のロジックバージョンを作成することと、を含む方法に関する。
第4の態様によれば、本発明は、複数の異なる処理ルールのセットの1つを保存する電子ペンのために特定のロジックバージョンを作成するための装置であって、別々のロジックバージョンが、前記セットの中の処理ルールを示す少なくとも1つのルール識別子を含むように、各セットについて作成され、前記装置は、すべての別々のロジックバージョンのルール識別子を含む完全な機能ロジックを取得する第1の処理要素と、所与の処理ルールのセットを示すバージョン識別子を取得する第2の処理要素と、前記バージョン識別子に基づいて、構築命令を取得する第3の処理要素と、前記所与の処理ルールのセットに含まれない処理ルールを示して、少なくとも1つのサポートされないルール識別子を除去することによって、前記構築命令を前記完全な機能ロジックに作用させて、前記特定のロジックバージョンを作成する第4の処理要素と、を備えることを特徴とする装置に関する。
第3および第4の態様は、異なるペン、すなわち、処理ルールの異なるセットを保存するペンのための別々のロジックバージョンの効率的な世代(efficient generation)を可能にする。これらの態様は、要求に応じて1つまたは複数のロジックバージョンを作成するため、上述のローカルコンピュータまたはネットワークサーバによって実装されてもよい。代替として、これらの態様は、独立のコンピュータによって実装されてもよい。このコンピュータは、1つまたは複数の結果として生じたロジックバージョンを、好ましくはそれぞれのバージョン識別子に適切に関連付けて、上述のローカルコンピュータもしくはネットワークサーバにアクセス可能なデータベース内に最終的に保存する。あるいは、上述のローカルコンピュータもしくはネットワークサーバによって使用され得るCD−ROM、フロッピーディスク(登録商標)、USBメモリなどの手動で配布可能であるコンピュータ読取り可能な媒体上に最終的に保存する。
第5の態様によれば、本発明は、情報管理システムにおいて複数の電子ペンの動作を制御する方法であって、各電子ペンは、制御ソフトウェアとロジックバージョンのセットとを保存するように設計されたメモリを含み、そのようなロジックバージョンの各々は、前記制御ソフトウェアによって実現される機能を示しており、前記方法は、前記制御ソフトウェアの複数の異なるバージョンの各々のために、別々のロジックバージョンのセットを生成することと、ペンに、対応するセットを提供することと、を含み、前記ペンは、前記制御ソフトウェアの所与のバージョンを保存するものであり、すべてのロジックバージョンが、前記制御ソフトウェアの前記所与のバージョンによって完全に実現される機能を示す方法に関する。
第6の態様によれば、本発明は、情報管理システムにおいて複数の電子ペンの動作を制御するための構成であって、各電子ペンは、制御ソフトウェアとロジックバージョンのセットとを保存するように設計されたメモリを含み、そのようなロジックバージョンの各々は、前記制御ソフトウェアによって実現される機能を示しており、前記構成は、前記制御ソフトウェアの複数の異なるバージョンの各々のために、別々のロジックバージョンのセットを生成する手段と、ペンに、対応するセットを提供する手段と、を備え、前記ペンは、前記制御ソフトウェアの所与のバージョンを保存するものであり、すべてのロジックバージョンが、前記制御ソフトウェアの前記所与のバージョンによって完全に実現される機能を示す構成に関する。
本発明のまた他の目的、特徴、態様、および利点は、以下の詳細な開示、添付の従属請求項、および図面から明らかになるであろう。
ここで、現時点で好ましい実施形態を例示の目的で示す添付の概要図を参照しながら、本発明がより詳細に説明される。
(概要)
図1は、内部ロジックを有する電子ペン100のいくつかの基本原理を示している。ペン100は、サブストレート102上で筆記するために使用されているとき、サブストレート102上におけるその位置を記録することができる。したがって、手書き(handwriting)は、ペン100によってデジタル化されて、サブストレート102上における絶対位置(absolute locations)の並びになる。ペン100は、サブストレート102を識別することもできる。サブストレート102は、入力フィールド104を示す支援グラフィックスを有し、適切な情報を入力するようユーザに適切に促し/指示を行う。各サブストレート102は、ペンのメモリ108内に保存された電子テンプレート106に関連付けられる。テンプレート106は、サブストレート102上における位置を機能エリア(functional area)110に関連付け、これらの機能エリア110をペン制御システムによって実行される機能に関連付ける。機能エリア110は、必ずしも必要ではないが、グラフィックスで示された入力フィールド104に対応することができる。ペン制御システムは、ペン内に保存され、そこで実行されるソフトウェアによって実装される。
図1は、内部ロジックを有する電子ペン100のいくつかの基本原理を示している。ペン100は、サブストレート102上で筆記するために使用されているとき、サブストレート102上におけるその位置を記録することができる。したがって、手書き(handwriting)は、ペン100によってデジタル化されて、サブストレート102上における絶対位置(absolute locations)の並びになる。ペン100は、サブストレート102を識別することもできる。サブストレート102は、入力フィールド104を示す支援グラフィックスを有し、適切な情報を入力するようユーザに適切に促し/指示を行う。各サブストレート102は、ペンのメモリ108内に保存された電子テンプレート106に関連付けられる。テンプレート106は、サブストレート102上における位置を機能エリア(functional area)110に関連付け、これらの機能エリア110をペン制御システムによって実行される機能に関連付ける。機能エリア110は、必ずしも必要ではないが、グラフィックスで示された入力フィールド104に対応することができる。ペン制御システムは、ペン内に保存され、そこで実行されるソフトウェアによって実装される。
ペン100は、記録された位置を関連するテンプレートに対して連続的にマッピングする。位置が機能エリア110内に含まれると見なされる場合、ペン制御システムは、関連付けられた機能を実行する。
ペン100は、記録されたデータの全部または一部を1つまたは複数の外部装置112、112’に送信または提示する。最終的に、そのように送信/提示されたデータは、ローカル装置112(コンピュータ、電話、携帯情報端末など)またはリモート装置112’(ネットワークサーバ、コンピュータなど)上に配置された処理アプリケーション114によって受信され、評価される。
(抽象パターンおよびテンプレート)
以下の説明は、ページユニットに細分される抽象的な位置符号化パターンの使用に基づいている。そのような抽象パターンの例は、米国特許第6,663,008号および米国特許第6,570,104号で与えられており、両特許は、参照により本明細書に組み込まれる。ページユニットは、例えば、上記の米国特許出願公開第2003/0061188号で開示されているような、下位のサブセット(subordinate subsets)の階層においてアドレス可能である。
以下の説明は、ページユニットに細分される抽象的な位置符号化パターンの使用に基づいている。そのような抽象パターンの例は、米国特許第6,663,008号および米国特許第6,570,104号で与えられており、両特許は、参照により本明細書に組み込まれる。ページユニットは、例えば、上記の米国特許出願公開第2003/0061188号で開示されているような、下位のサブセット(subordinate subsets)の階層においてアドレス可能である。
図2は、一例を示している。この例では、全体パターン206が「セグメント」210を含み、次にセグメントが複数の「シェルフ」211に分割される。各シェルフが複数の「ブック」212を含み、ブックが上記の複数の「ページユニット」213に分割される。このページユニットは、パターンページとも呼ばれる。適切には、すべてのパターンページは、上位のパターン階層の1つのレベル内において同じフォーマットを有する。以下の例示的な実施形態では、パターンページフォーマットは、セグメントレベルにおいて定義される。一例では、各セグメントは、各々が約50×50cm2のサイズの、26,000,000個より多くのパターンページから構成される。例えば、そのようなセグメントは、5,175個のシェルフに分割され、各シェルフは、各々が2,517個のページを有する2個のブックから構成することができる。
抽象パターンにおけるあるパターンページの位置は、多かれ少なかれIPアドレスに類似した「セグメント.シェルフ.ブック.ページ」という形式のページアドレスとして、例えば「46.5000.1.1500」のように書き示すことができる。処理効率の理由で、ページアドレスのペンの内部表現は異なるものでもよく、例えば、64ビットなどの所定の長さの整数として与えられてもよい。
各パターンページは、符号化パターンの実際のサブセットと見なしてもよく、または、サブセットによって符号化された絶対位置と見なしてもよい。そのような各絶対位置は、ペーパー位置(paper position)、すなわち、全体パターンの座標系214におけるグローバル位置として表現されてもよく、または、論理位置(logical position)、すなわち、ページアドレスと、パターンページ内の座標系215におけるローカル位置として表現されてもよい。
以下の説明は、1つまたは複数のパターンページに対応する位置符号を含む各サブストレートに基づいている。しかし、サブストレート上の位置符号は、パターンページに一致する必要がないことに留意されたい。したがって、1つまたは複数のパターンページからの1つまたは複数のサブセットは、サブストレート上に恣意的に配置されてもよい。
適切な電子ペンは、位置符号化されたサブストレート上における自らの動きを、ペーパー位置の並び(すなわちグローバルペンストローク)として表現してもよく、または、対応するパターンページ上におけるローカル位置の並び(すなわちアドレス付きペンストローク)とページアドレスして表現することができる。
ペンの機能は、少なくとも部分的に、位置符号化パターンの特定の部分上でペンを操作するユーザによって制御される。ペンは、異なるテンプレートを保存する。その異なるテンプレートは、位置符号化パターンの異なる部分(機能エリア)から記録された情報がどのように解釈されるべきかを定義する。パターン階層の特定のレベルは、所与のテンプレートに関連付けられ、その結果、所与のテンプレートは、そのレベル内のすべてのパターンページに対して有効になる。例示的な実施形態では、テンプレートは、セグメントレベルにおいて定義される。
テンプレートは、ペンの動作に影響を与え得る機能エリアのサイズ、配置、および機能を定義する。そのような機能エリアは、「ピジェット(pidget)」と呼ばれる。図3は、パターンページ302上にレイアウトされたテンプレート300を図解的に示しており、異なるピジェット304の配置を示している。
テンプレートにおいて、パターンページ内のどのピジェットによっても占められていないすべての位置は、描画エリアに属するとして定義される。したがって、描画エリアは、暗黙のピジェットと見なされることができる。描画エリア内で検出された位置は、ペンストロークとして記録および保存されるために、ペンによって解釈される。
ピジェットは、トリガー機能、サービス選択機能、装置選択機能、ローカルアクション機能、データ選択機能、または解釈機能を示してもよい。トリガー機能は、コンピュータ、電話、ネットワークサーバ、PDAなどの外部装置にデータを提示または送信するために、ペンをトリガリングする。サービス選択機能は、ペンの記録位置の処理に影響を与える文脈情報(例えば、電子メール、ファックス、SMS)、および/または、ペンの処理される位置の選択に影響を与える範囲情報(例えば、ページ、ブック、シェルフ)を伝達することができるサービスを識別する。装置選択機能は、ペン用の接続装置(例えば、PC、モバイル装置、LANアクセスポイント)を識別する。ローカルアクション機能は、ペンのメモリに影響を与えるアクションを始動する。データ選択機能は、記録位置をペン常駐データにマッピングする。例えば、キーボードピジェットは、位置をペンのメモリ内の文字にマッピングしてもよく、または、ショートカットピジェットは、位置をペンのメモリ内の通信アドレスにマッピングしてもよい。解釈機能は、ピジェット内における1つまたは複数のストロークを機械符号化文字に変換するように動作してもよい。
別のタイプのピジェットは、新規インスタンス機能(new instance function)を示し、新規インスタンス機能は、各ペンストロークをインスタンス識別子に関連付けることによって、潜在的にオーバーラップするペンストロークを分離するように動作する。例えば、新規インスタンス機能の各開始は、パターンページまたはブックなどの抽象パターンの関連部分のために生成される新しいインスタンス識別子を結果として生じさせてもよく、また、その後に記録されるペンストロークは、このインスタンス識別子に関連付けられてもよい。インスタンス識別子は、適切には、ページアドレスに関連付けられ、またはページアドレスに組み込まれる。
例示的な実施形態では、テンプレートは、ピジェットIDならびにパターンページ302内のローカル位置におけるサイズおよび配置によって各ピジェット304を定義する。ピジェットIDは、ペン制御システム(以下を参照)によって実行される処理ルールを示すことによって、ピジェット機能を決定する識別子である。
図3はさらに、パターンページ302、テンプレート300、および具体的なサブストレート306の間の相互関係を示している。サブストレート306は、1つまたは複数のパターンページ302内における位置を定義する位置符号Pを含む(図3には1つだけ示されている)。ピジェット304は、パターンページ302内においては所定の配置およびサイズを有するが、サブストレート306上においては任意の配置を有してもよい。したがって、図3で点線の区画によって示されるように、パターンページの部分は、「切り出されて(cut out)」、サブストレート上に任意のやり方で再構成されてもよい。ペンは、サブストレートの符号化部分上に降ろされるたびに、位置を記録し、この位置を関連するテンプレートに関係付け、その位置に関連付けられた機能を識別することができる。サブストレートは、処理アプリケーション(図1の114)に知られるだけの入力フィールド308も含んでもよい。この処理アプリケーションは、処理命令をこれらの入力フィールドに関連付ける。
(ペンハードウェア)
図4は、上述のペン400の一実施形態を示しており、ペン400は、窓または開口404を定めるペン形状のケーシングまたはシェル402を有する。この窓または開口404を通して画像が記録される。ケーシングは、カメラシステムと、電子システムと、電源とを含む。
図4は、上述のペン400の一実施形態を示しており、ペン400は、窓または開口404を定めるペン形状のケーシングまたはシェル402を有する。この窓または開口404を通して画像が記録される。ケーシングは、カメラシステムと、電子システムと、電源とを含む。
カメラシステム406は、少なくとも1つの照明光源と、レンズ配列と、光学イメージリーダ(図には示されず)とを備える。適切には発光ダイオード(LED)またはレーザダイオードである光源は、ウィンドウ404を通して視野に捕らえられ得るエリアの部分を赤外線によって照明する。視野エリアの画像は、レンズ配列によって、イメージリーダ上に投影される。イメージリーダは、2次元CCDまたはCMOS検出器であってよく、2次元CCDまたはCMOSは、典型的には約70〜100Hzの固定または可変レートで画像を取り込むためにトリガリングされる。
ペン用の電源は、バッテリ408であると有利であるが、代替として、バッテリは、主電源(図示されず)によって置換または補助されてもよい。
電子システムは、メモリブロック412に接続される制御ユニット410を備える。制御ユニット410は、電子ペンにおける異なる機能を担当し、CPU(「中央処理装置」)などの市販のマイクロプロセッサや、DSP(「デジタル信号プロセッサ」)によって、あるいは、FPGA(「フィールドプログラマブルゲートアレイ」)もしくは代替的にASIC(「特定用途向け集積回路」)、ディスクリートアナログおよびデジタル構成要素、またはそれらの何らかの組み合わせなどのその他のいくつかのプログラム可能な論理装置によって有利に実装されることができる。メモリブロック412は、好ましくは、作業メモリ(例えばRAM)や、プログラムコードおよび永続記憶メモリ(不揮発性メモリ、例えばフラッシュメモリ)などの異なるタイプのメモリを含む。電子ペンの動作のためのペン制御システムを提供するために、関連するペンソフトウェアは、メモリブロック412に保存され、制御ユニット410によって実行される。
ケーシング402は、ペン先414も備える。このペン先414は、面(surface)の上に置かれる顔料ベースのマーキングインクによって、ユーザが物理的に筆記または描画することを可能にする。ペン先414のマーキングインクは、電子ペンにおける光電子的な検出に対する妨害を回避するため、適切には照明光にとって透明である。接触センサ416は、ペンが押し付けられたとき(ペンダウン)および/または持ち上げられたとき(ペンアップ)を検出するために、また、任意選択で加えた力の決定を可能にするために、ペン先414に動作可能に接続される。接触センサ416の出力に基づいて、カメラシステム406は、ペンダウンとペンアップの間に画像を取り込むように制御される。制御ユニットは、画像の処理を行って、符号化パターンのイメージ化された部分によって符号化された位置を計算する。そのような処理は、例えば、出願人の先の公開であるUS2003/0053699、US2003/0189664、US2003/0118233、US2002/0044138、US6,667,695、US6,732,927、US6,929,183、US2003/0128194、およびそれらの中の文献に従って実行することができる。結果として得られる時間的につながった位置の並びは、ペンストロークの電子的表現を形成する。
電子システムはさらに、通信インタフェース418を備える。この通信インタフェース418は、コンピュータ、モバイル電話、PDA、ネットワークサーバなどの近くまたは遠くの装置にデータを送信または提示するためのものである。したがって、通信インタフェース418は、有線または無線近距離通信(例えば、USB、RS232、無線通信、赤外線通信、超音波通信、誘導結合など)用の構成要素、および/または、一般にコンピュータ、電話、もしくは衛星通信ネットワークを介した有線または無線遠隔通信用の構成要素を提供してもよい。
ペンは、ユーザフィードバック用に選択的に起動されるMMI(マンマシンインタフェース)420も含んでもよい。MMIは、ディスプレイ、インジケータランプ、バイブレータ、スピーカなどを含んでもよい。
またさらに、ペンは、1つまたは複数のボタン422を含んでもよく、それによって、起動および/または制御されることが可能になる。
(プロパティ記憶部)
ペンソフトウェアは、プロパティ記憶処理を実行する。このプロパティ記憶処理は、テンプレートの他に、製造中に設定されるペンパラメータおよび較正パラメータ、ペンの動作中に設定されるペンパラメータ(以下を参照)も含むプロパティを扱うものである。各プロパティは、ペンの不揮発性メモリ内に名前、サイズ、およびデータとともに保存される。プロパティはまた、プロパティが最後に変更されたのがいつであるかを示す少なくとも1つのアップグレードカウンタ(以下を参照)に関連付けられる。
ペンソフトウェアは、プロパティ記憶処理を実行する。このプロパティ記憶処理は、テンプレートの他に、製造中に設定されるペンパラメータおよび較正パラメータ、ペンの動作中に設定されるペンパラメータ(以下を参照)も含むプロパティを扱うものである。各プロパティは、ペンの不揮発性メモリ内に名前、サイズ、およびデータとともに保存される。プロパティはまた、プロパティが最後に変更されたのがいつであるかを示す少なくとも1つのアップグレードカウンタ(以下を参照)に関連付けられる。
プロパティ記憶処理は、プロパティの挿入、検索(retrieval)、および削除のためのインタフェースを提供する。
ペンパラメータの非網羅的リストは、PEN_ID(ペンの固有識別情報)、PEN_SOFTWARE_VERSION(ペンのソフトウェアのバージョン)、PEN_MANUFACTURER_ID(ペン製造業者の識別情報)、OPERATOR_ID(ペンへのネットワークアクセスを提供した操作者の固有識別子)、PEN_OWNER_NAME、PEN_OWNER_ADDRESS、PEN_OWNER_EMAIL、PEN_OWNER_PHONE、およびPEN_OWNER_FAXを含む。
(位置データベース)
図5は、位置データベース510の一例を示している。この例の位置データベース510は、ペンのメモリブロック412(図4)内に常駐しており、通信インタフェース418(図4)を介してプロパティ記憶処理によって編集または更新されることが可能である。位置データベース510は、トランスレータ処理(以下を参照)によって使用され、各セグメントをテンプレートインデックスによって与えられるテンプレートに関連付けるセグメントデータベース510Aを含む。セグメントデータベース510Aは、高速アクセスのため、適切にはRAMメモリ内にキャッシュされる。位置データベース510は、テンプレートインデックスを、ペンの不揮発性メモリ内にプロパティとして保存され得るテンプレートへのポインタに関連付けるテンプレートデータベース510Bも含む。
図5は、位置データベース510の一例を示している。この例の位置データベース510は、ペンのメモリブロック412(図4)内に常駐しており、通信インタフェース418(図4)を介してプロパティ記憶処理によって編集または更新されることが可能である。位置データベース510は、トランスレータ処理(以下を参照)によって使用され、各セグメントをテンプレートインデックスによって与えられるテンプレートに関連付けるセグメントデータベース510Aを含む。セグメントデータベース510Aは、高速アクセスのため、適切にはRAMメモリ内にキャッシュされる。位置データベース510は、テンプレートインデックスを、ペンの不揮発性メモリ内にプロパティとして保存され得るテンプレートへのポインタに関連付けるテンプレートデータベース510Bも含む。
そのようなテンプレートは、以下のものを含んでもよい。
ページのXサイズ(16ビット)
ページのYサイズ(16ビット)
ページの数(16ビット)
ピジェットの数(16ビット)
ピジェットリスト(ピジェット長の数)
ページのXサイズ(16ビット)
ページのYサイズ(16ビット)
ページの数(16ビット)
ピジェットの数(16ビット)
ピジェットリスト(ピジェット長の数)
ピジェットリストは、複数のピジェットから構成される。各ピジェットは、以下によって定義されてもよい。
ピジェットID(16ビット)
左上のX座標(16ビット)
左上のY座標(16ビット)
幅(16ビット)
高さ(16ビット)
ピジェットID(16ビット)
左上のX座標(16ビット)
左上のY座標(16ビット)
幅(16ビット)
高さ(16ビット)
セグメントデータベース510Aは、1つまたは複数の機能的属性(functional attribute)を各セグメントに関連付けることもできる。機能的属性は、以下でさらに説明されるように、セグメントにクラス分けを提供し、セグメントに属するデータの処理を条件付けし、またはセグメントに対する全体的処理ルールを示してもよい。
(トランスレータ)
上述されたトランスレータ処理は、位置符号化パターンの画像から得られたペーパー位置を論理位置に変換する。トランスレータ処理は、符号化パターンのパターンページへの階層的細分を定義するパターンフォーマッティングデータを使用する(図2)。パターンフォーマッティングデータの一部は、ペン内に事前に定義されるが、その他の部分は、位置データベース510から動的に得られる。
上述されたトランスレータ処理は、位置符号化パターンの画像から得られたペーパー位置を論理位置に変換する。トランスレータ処理は、符号化パターンのパターンページへの階層的細分を定義するパターンフォーマッティングデータを使用する(図2)。パターンフォーマッティングデータの一部は、ペン内に事前に定義されるが、その他の部分は、位置データベース510から動的に得られる。
例示的な実施形態では、すべてのセグメントは、トランスレータ処理に知られた所定のサイズを有する。したがって、トランスレータ処理は、画像の復号の結果得られたペーパー位置のための現在のセグメントを識別してもよい。そして、現在のセグメントに基づいて、トランスレータ処理は、位置データベース510内のそのテンプレート定義から、現在のセグメントの細分上のデータを取得してもよい。例示的な実施形態では、トランスレータ処理は、各セグメント内のパターンページの各行がシェルフを定義することも知っている。このパターンフォーマッティングデータに基づいて、トランスレータ処理はさらに、ペーパー位置を処理して、現在のシェルフ、ブック、ページ、およびローカル位置を、すなわち、完全な論理位置を識別してもよい。トランスレータ処理は、セグメントデータベース510A内で現在のセグメントと関連付けられた任意の機能的属性を取得してもよい。
ペンが普通にしばらくの間同一パターンページ上で操作されている場合、現在のパターンページの境界(boundaries)をペーパー位置によってキャッシュし、トランスレータ処理に新しいペーパー位置をこれらの境界に対して照合させることによって、大きなスピードアップが達成されてもよい。新しいペーパー位置が境界内に含まれる限り、ページアドレスを再計算する必要は排除される。
トランスレータ処理は、位置データベース510によって与えられる関連するテンプレートに対してローカル位置をマッピングすることによって、記録された位置が現在のパターンページ上のピジェット内に含まれるかどうかも検出する。ピジェットが識別されない場合、その位置は、描画エリア内に含まれると想定される。
したがって、各ペーパー位置に対して、トランスレータ処理は、少なくともページアドレスおよびローカル位置を提供する。各時間的につながった位置の並び、すなわちストロークに対して、トランスレータ処理は、1つまたは複数のピジェットID、および現在のセグメントに関連付けられた機能的属性を提供することもできる。
(ペン制御システム)
ペン制御システムは、トランスレータ処理の出力上で動作する。論理位置は、時間的につながった位置の並び、すなわちストロークにグループ化される。このストロークは、圧縮および符号化に関する前処理を施され、その後、不揮発性メモリ内に保存されてもよい。
ペン制御システムは、トランスレータ処理の出力上で動作する。論理位置は、時間的につながった位置の並び、すなわちストロークにグループ化される。このストロークは、圧縮および符号化に関する前処理を施され、その後、不揮発性メモリ内に保存されてもよい。
ペン制御システムは、ペンソフトウェアがそれぞれのピジェットIDと関連付けた処理ルールの場所を見つけて、実行する。そのような各処理ルールは、1つまたは複数の処理命令を含んでもよい。処理ルールは、例えば、ピジェットIDが記録されているポジティブ/肯定フィードバックを与えるために、ペンにMMI(図4の420)を動作させてもよい。かつ/または、処理ルールは、(例えば、キーボードピジェット、ショートカットピジェット、もしくはトリガーピジェットの検出に基づいて)ペンにメモリブロックからデータを取り出させてもよい。かつ/または、処理ルールは、(例えば、解釈ピジェットの検出に基づいて)パターンページの所与の部分内で記録されたストロークに対してペンに所与の処理を実行させてもよい。かつ/または、処理ルールは、(例えば、トリガーピジェットの検出に基づいて)ペンに所与のデータのセットを所与の通信チャネルを介して送信もしくは提示させてもよい。
ペン制御システムは、処理ルールを、トランスレータ処理によって識別された機能的属性に関連付けてもよい。上で述べられたように、機能的属性は、テンプレートの上でロジックのレイヤを提供し、ペンによってもたらされる処理を、限定し、条件付けし、または指示するように動作してもよい。以下で、異なるカテゴリの各々について、少数の例が与えられる。
(機能的属性)
・限定属性(Qualifying attribute)
ペン制御システムは、例えば、ペン制御システムが専用ピジェットIDを検出することによって、所与の機能的属性を有するすべてのペンデータに対して動作させられてもよい。したがって、この属性は、ペン制御システムによってもたらされる処理を限定する。
・限定属性(Qualifying attribute)
ペン制御システムは、例えば、ペン制御システムが専用ピジェットIDを検出することによって、所与の機能的属性を有するすべてのペンデータに対して動作させられてもよい。したがって、この属性は、ペン制御システムによってもたらされる処理を限定する。
例えば、利用可能なセグメントの少なくとも一部は、それぞれの機能的属性によって示されるFORMまたはNOTEPAD&ORGANIZERとしてクラス分けされてもよい(図5を参照)。例えば、ペン制御システムは、「Send all forms」トリガーピジェットを識別したとき、FORM属性を有するセグメント内に含まれるすべてのペンストロークをメモリブロックから取り出すであろう。別の例として、「Delete all notepads&organizers」トリガーピジェットは、ペン制御システムに、NOTEPAD&ORGANIZER属性を有するセグメント内に含まれるすべてのペンストロークを識別させ、削除させるであろう。
・条件付け属性(Conditioning attribute)
条件付け属性は、メモリブロック内に保存されたペンデータへの外部装置のアクセスを制御してもよい。例えば、LOCAL_COPY属性は、ペンがローカルPCに接続されたとき、この属性を有するセグメント内に含まれるすべてのペンストロークが転送されること、または転送され得ることを、ペン制御システムに知らせてもよい。LOCAL_DELETE属性は、この属性を有するセグメント内に含まれるペンストロークをメモリブロックから削除するようにローカルPCがペンに命令できることを、ペン制御システムに知らせてもよい。CAN_PERSIST属性は、この属性を有するセグメント内に含まれるペンストロークをメモリブロック内に維持するようにペンに命令することをネットワークサーバが許可されることを、ペン制御システムに知らせてもよい。
条件付け属性は、メモリブロック内に保存されたペンデータへの外部装置のアクセスを制御してもよい。例えば、LOCAL_COPY属性は、ペンがローカルPCに接続されたとき、この属性を有するセグメント内に含まれるすべてのペンストロークが転送されること、または転送され得ることを、ペン制御システムに知らせてもよい。LOCAL_DELETE属性は、この属性を有するセグメント内に含まれるペンストロークをメモリブロックから削除するようにローカルPCがペンに命令できることを、ペン制御システムに知らせてもよい。CAN_PERSIST属性は、この属性を有するセグメント内に含まれるペンストロークをメモリブロック内に維持するようにペンに命令することをネットワークサーバが許可されることを、ペン制御システムに知らせてもよい。
・指示属性(Indicating attribute)
指示属性は、ペン制御システムによって実行される処理ルールを指示する。具体的には、指示属性は、特定のアクションをペンに直接取らせてもよく、または、ピジェットIDに関連付けられた処理ルールをペンに修正させてもよい。例えば、セグメントのSTREAMING属性が、ペンにこのセグメント内に含まれるペンストロークを外部装置にストリーム送信させてもよい。セグメントのDO_NOT_STORE属性が、このセグメント内に含まれる記録されたペンストロークの保存をペンに控えさせてもよい。OUTBOX属性が、ペンにメモリブロック内に含まれるアウトボックス構造(outbox structure)内にイベントを登録させてもよい。任意選択で、イベントは、トリガーピジェットの検出後にだけ登録される。アウトボックス構造は、基本的にイベントのリストであり、その中の各イベントは、ペンメモリ内のある種のペンストロークデータ、例えば、1つまたは複数の所与のパターンページ上で記録されたペンストロークを識別する。アウトボックス構造は、例えば、図1のローカル装置112などの所与の外部装置へのペンの接続時に、まとめて処理されるべきペンストロークデータを識別するために使用されてもよい。例えば、そのような接続時に、アウトボックスリスト(および任意選択で関連ペンストロークデータ)は、処理アプリケーションに伝達される前に、提示および確認/否認のため、この装置に転送されてもよい。
指示属性は、ペン制御システムによって実行される処理ルールを指示する。具体的には、指示属性は、特定のアクションをペンに直接取らせてもよく、または、ピジェットIDに関連付けられた処理ルールをペンに修正させてもよい。例えば、セグメントのSTREAMING属性が、ペンにこのセグメント内に含まれるペンストロークを外部装置にストリーム送信させてもよい。セグメントのDO_NOT_STORE属性が、このセグメント内に含まれる記録されたペンストロークの保存をペンに控えさせてもよい。OUTBOX属性が、ペンにメモリブロック内に含まれるアウトボックス構造(outbox structure)内にイベントを登録させてもよい。任意選択で、イベントは、トリガーピジェットの検出後にだけ登録される。アウトボックス構造は、基本的にイベントのリストであり、その中の各イベントは、ペンメモリ内のある種のペンストロークデータ、例えば、1つまたは複数の所与のパターンページ上で記録されたペンストロークを識別する。アウトボックス構造は、例えば、図1のローカル装置112などの所与の外部装置へのペンの接続時に、まとめて処理されるべきペンストロークデータを識別するために使用されてもよい。例えば、そのような接続時に、アウトボックスリスト(および任意選択で関連ペンストロークデータ)は、処理アプリケーションに伝達される前に、提示および確認/否認のため、この装置に転送されてもよい。
一般的に言えば、機能的属性は、パターンページ階層内の任意のレベルに設定されることができ、テンプレートによって提供されるロジックから包括的なロジックを分離する利点を提供する。したがって、機能的属性は、ロジックの第2のレベルを提供する。このロジックの第2のレベルは、テンプレートロジックとは独立に設けることができ、全範囲のパターンページのためにペン制御システムから利用可能にされる。
したがって、一般的意味において、機能的属性は、座標系におけるペン位置を記録し、この位置を処理するように構成された電子ペンの有利な動作を可能にする。動作は、データを座標系における個々にアドレス可能な位置グループ上に保存するステップと、そのような位置グループのセットをグローバル属性に関連付けるステップとを含んでもよく、位置グループのセットに含まれるどの記録された位置も、少なくとも部分的にグローバル属性に基づいて処理される。そのような各位置グループは、座標系における連接した位置のセットから構成されてもよい。位置グループは、位置グループのセット内では基本的に同一のフォーマットに属してもよい。したがって、位置グループは、上記のパターンページに対応してもよい。一実施形態では、グローバル属性は、位置グループのセット内に含まれる記録された位置のためのカテゴリを示してもよい。別の実施形態では、グローバル属性は、位置グループのセット内に含まれる記録された位置のための処理ルールを示してもよい。この処理ルールは、以下の群から選択されてもよい。すなわち、記録された位置を含む位置グループを識別し、そのように識別された位置グループをリストに追加すること、記録された位置をリアルタイムに外部装置に提供すること、記録された位置を内部メモリに保存することをペンに禁止すること、記録された位置が外部装置に提供されることを許可すること、外部装置が記録された位置をペンの内部メモリから削除することを許可すること、および外部装置が記録された位置のペンの内部メモリからの削除を禁止することを許可することからなる群から選択されてもよい。
(ロジック管理システム)
テンプレートおよび機能的属性は、ペンメモリ内にプロパティとして保存される。各ペン内のプロパティ記憶処理のインタフェースを呼び出すことによって、新規または更新テンプレート、属性などが、ペンメモリに追加されてもよい。この機能は、各ペンのロジック定義、すなわち、その位置データベースの内容を制御するために、ロジック管理システムによって使用される。
テンプレートおよび機能的属性は、ペンメモリ内にプロパティとして保存される。各ペン内のプロパティ記憶処理のインタフェースを呼び出すことによって、新規または更新テンプレート、属性などが、ペンメモリに追加されてもよい。この機能は、各ペンのロジック定義、すなわち、その位置データベースの内容を制御するために、ロジック管理システムによって使用される。
ペンは、ペン制御システムによって提供される機能に基づいて、異なる「世代(generation)」に類別される。同様に、所与のセグメントに関するロジック定義の異なるバージョンは、異なる「ロジックバージョン(logic version)」に類別される。ロジック管理システムは、所与の世代に属するペンが、ペン制御システムによってサポートされるロジックバージョンだけを保存することを確実にするように設計される。そのような「サポートされるロジックバージョン」は、ピジェットIDおよび/または属性を含み、それらのすべては、ペン制御システム内の有効な処理ルールに関連付けられる。以下では、サポートされるロジックバージョンの集まりは、ロジックバージョンの「ファミリ(family)」と呼ばれる。特定のペン世代は、複数の異なるファミリのうちの1つのファミリにだけ関連付けられることができる。
基礎をなす原理が、図6でさらに説明される。セグメント用の位置データベースが、3つの異なるロジックバージョン601〜603で与えられ、この場合、テンプレートの3つのバージョンは、それぞれファミリ1〜3に属する。ペンは、4つの異なる世代にクラス分けされる。世代(ソフトウェアバージョン)AおよびBのペンは、ファミリ1に関連付けられ、世代(ソフトウェアバージョン)CおよびDのペンは、それぞれファミリ2および3に関連付けられる。ロジックバージョン601〜603は、ピジェット610を共通で有し、ロジックバージョン602〜603は、ピジェット612を共通で有する。ピジェット614は、ロジックバージョン603にだけ含まれる。
ペンの位置データベースの内容は、ネットワーク上のロジックサーバに接続されるペンによって管理されてもよく、その場合、ロジックサーバが、位置データベースをアップグレードする。代替として、ペンは、ローカル装置(図1)に接続されてもよく、今度は、ローカル装置が、ロジックサーバから関連ロジックバージョンを検索し、位置データベースをアップグレードする。また別の代替では、ロジックアップグレードキット(logic upgrade kit)が、CD−ROM、フロッピーディスク、USBメモリなどによって、またはインターネットサイトからのダウンロードによって、ペンユーザに提供されてもよい。ペンと通信するローカル装置における適切なインストールの後、ローカル装置は、位置データベースをアップグレードすることができる。
図7は、ペンの位置データベースをアップグレードするための構成を示している。この構成は一般に、ハードウェアと、例えば上述されたローカル装置またはロジックサーバなどのコンピュータ上のソフトウェアとの組み合わせによって実装される。この構成は、ペンからペン世代情報を取得するための入力インタフェース701と、関連アップグレードデータを取得するためのアップグレードプロセッサ702と、そのようにして得られたアップグレードデータの少なくとも部分をペンに伝達するための出力インタフェース703とを有する。
図8は、図7の構成におけるアップグレードプロセスを示している。最初に、入力インタフェース701が、ペンからプロパティPEN_SOFTWARE_VERSIONを取得する(ステップ801)。このプロパティは、ペンの世代を識別し、したがって、関連アップグレードデータを識別する。入力インタフェース701は、ペンからアップグレードカウンタも取得する(ステップ802)。このプロパティは、ペンの位置データベースが最後にアップグレードされたのがいつであるかを示す。アップグレードプロセッサ702は、例えば、データベース704から関連アップグレードデータ用の参照カウンタ(reference counter)を取得し(ステップ803〜804)、ペンのアップグレードカウンタを参照カウンタと比較する(ステップ805)。参照カウンタがアップグレードカウンタを超えた場合、出力インタフェース703は、アップグレードデータまたはその一部でペンの位置データベースをアップグレードするようにされ(ステップ806)、超えない場合は、そうならないようにされている。アップグレードデータは、以下のいずれかを含んでもよい。すなわち、新規または更新テンプレート、新規テンプレートインデックス、新規または更新機能的属性、新規または更新セグメントのいずれかを含んでもよい。最後に、ペンのアップグレードカウンタは、参照カウンタに一致するように更新される(ステップ807)。
参照カウンタは、ファミリのアップグレードデータに変更があるたびにインクリメントされる適切なベースの数としてもよい。したがって、カウンタは、任意の増加数列の一部分としてもよく、または最新アップグレードの時間を定めてもよい。
参照カウンタは、グローバル、かつ、ファミリ特有の、すなわちファミリ用の完全なロジック定義に適用可能としてもよい。したがって、データベース704は、ファミリ用の完全なロジック定義を保持してもよく、各ファミリは、グローバル参照カウンタに関連付けられる。その後、アップグレードプロセッサ702は、ステップ805における比較に基づいて、データベース704からそのような完全なロジック定義を得て、それを出力インタフェース703を介してペンに提供してもよい。
代替として、データベース704内の各プロパティ(すなわち、セグメント、テンプレートインデックス、テンプレート、属性)は、プロパティが最後に変更されたのがいつであるかを示す参照カウンタによってタグ付けされる。したがって、実際に変更されたファミリのちょうどそのようなプロパティが、データベース704から抽出され、ペンの位置データベースをアップグレードするために使用されてもよい。この実施形態では、データベース704は、アップグレードデータへの複数の変更から生じたある範囲の参照カウンタを含んでもよい。その結果として、ペンのアップグレードカウンタは、アップグレードプロセスによって識別された最も高い参照カウンタと一致するように更新される必要がある。
ロジック関係プロパティに加えて、アップグレードデータは、特定のペンに固有であり、ペンのロジック定義に無関係のプロパティを含んでもよい。例えば、この無関係のプロパティの1つは、上述のペンパラメータ(PEN_OWNER_NAME、OPERATOR_IDなど)である。この場合、ペンは、適切には、そのようなペン固有プロパティ用の第2のアップグレードカウンタ(「項目アップグレードカウンタ」)を保存する。同様に、アップグレードデータのペン固有部分は、適切には、項目参照カウンタに関連付けられる。したがって、図8と類似して、アップグレードプロセスは、ペンからペン識別子(PEN_ID)および項目アップグレードカウンタを取得し、PEN_IDに基づいて、データベース704から少なくとも1つのペン固有プロパティおよび関連項目参照カウンタを取得し、項目参照カウンタが項目アップグレードカウンタを超えた場合、ペンのメモリをペン固有プロパティでアップグレードし、ペンの項目アップグレードカウンタを項目参照カウンタに等しく設定してもよい。項目参照カウンタは、ペン固有プロパティのセットに対して、または個々のペン固有プロパティに対して与えられてもよい。後者の場合、ペンの項目アップグレードカウンタは、適切には、アップグレードプロセスによって識別された最も高い項目参照カウンタに等しく設定される。
上で指摘されたように、データベース704は、各ファミリ用の事前に計算されたアップグレードデータを保存してもよい。一実施形態では、プロセッサは、特定のファミリ用のアップグレードルールを取得することによって、このファミリ用のそのようなアップグレードデータを事前に計算する。プロセッサは、完全な機能テンプレート(full functionality templates)のセットも取得する。各完全な機能テンプレートは、ペンの世代に関係なく、特定のセグメントに関係するすべてのピジェットおよび機能的属性を定義する。アップグレードルールは、完全な機能テンプレートからピジェットおよび機能的属性を抽出することによって、特定のファミリ用のアップグレードデータを構築するための、例えばフィルタを含むメカニズムを定義する。したがって、アップグレードルールを各完全な機能テンプレートに適用することによって、プロセッサは、適切なアップグレードデータを計算する。その後、結果のアップグレードデータは、ファミリによってインデックス付けされてデータベース704内に保存されるために提供される。
代替として、アップグレードデータは、事前に計算されず、代わりに、アップグレードデータを計算するための上記の手順を実行するアップグレードプロセッサ702によって、要求に応じて適切に計算される。
上述されたアップグレードルールは、サポートされないピジェットまたは機能的属性を削除することも含む。これは、ペンの位置データベースをペンによって保存されたソフトウェアと完全に互換性があるようにする。しかし、1つまたは複数の削除ピジェットは、テンプレートの動作可能性(operability)にとって必須であるかもしれない。これは、セグメントが元々は特定のペン世代に専用であった場合にその可能性がある。例えば、トリガーピジェット、サービス選択ピジェット、または装置選択ピジェットの削除は、ペンが記録されたデータを送信/提示をできないようにするかもしれない。さらに良くないことに、ペンは、その不能性(inability)をユーザに知らせることもできないかもしれない。
したがって、アップグレードルールは、サポートされないピジェットまたは機能的属性をサポートされるものと交換することも含む。任意の数のサポートされないピジェットが、任意の数のサポートされるピジェットと交換されてもよい。例えば、サポートされないトリガーピジェット(「Send page to network via PC」)は、サポートされるトリガーピジェット(「Send image of pen strokes on page to mobile phone」)と交換されてもよい。これにより上位互換性が保証され、後で開発されたペン世代のペンが、先のペン世代に専用のセグメント上で許容可能な動作を行うことができる。
完全な機能テンプレートは、ピュアフィードバックピジェット、すなわち、ペンにMMIを動作させるだけのピジェットを含むように設計されてもよい。そのようなピジェットの例は、ユーザにピジェット検出を知らせる肯定ピジェット、およびユーザに動作失敗を知らせる否定フィードバックピジェットである。
フィードバックピジェットは、一様なユーザ体験を保証するために、その他のピジェットに置き換えてもよい。例えば、ペンストロークがピジェットに接触するたびに、ペンがMMIを介して肯定フィードバックを与えることが望ましいことがある。したがって、サポートされないピジェットを完全な機能テンプレートから削除する代わりに、このピジェットの機能が、テンプレートのサポートされるピジェットによって提供される機能と相応する場合、サポートされないピジェットは、肯定ピジェットと交換されてもよい。例えば、「Send page」ピジェットが「Send image of pen strokes on page to mobile phone」ピジェットと交換される場合、「Connect via mobile phone」ピジェットは、冗長であるにもかかわらず、肯定ピジェットと交換されてもよい。一方、「Connect via PC」ピジェットは、否定フィードバックピジェットと交換されるべきである。
ユーザ体験における完全な一様性(uniformity)を保証するため、完全な機能テンプレート内のすべてのサポートされないピジェットは、肯定または否定フィードバックピジェットと交換されるべきである。
アップグレードプロセスが、ペン制御システムによってサポートされる機能に依存して、機能的属性を追加、変更、または削除してよいことも、上記のことから明らかであろう。
同様に、セグメントが、追加されてもよく、テンプレートインデックスが、追加または変更されてもよい。
テンプレートインデックスおよびテンプレートが位置データベースに追加されることによって、新しいセグメントが特定のペン世代のために「開かれた(opened)」場合、このセグメントは、先のペン世代においては、パターンページを純粋な描画エリアとして定義する「NULLテンプレート」を割り当ててもよい。このセグメント上でペン制御システムによって開始される任意の機能は、先のペン世代の位置データベースに追加される1つまたは複数の機能的属性によって与えられてもよい。そのような機能的属性は、LOCAL_COPYであり、ローカル装置への接続時に、このセグメント上で記録されたデータをペンに送信/提示させる。それによって、この開かれたセグメントからのデータは、先の世代のペンによって記録されたとしても、ユーザから利用可能にされるであろう。
本発明と矛盾しないようにされ得る多くの変形が存在する。上記の説明は、例示および説明の目的で提示された。それは網羅的ではなく、開示された通りの形態に本発明を限定しない。修正および変形が、上記の教示に照らして可能であり、本発明の実施から獲得されることができる。
一例では、各ペンは、管理システムに関連するファミリを直接識別するファミリ識別子を保存することができる。別の例では、管理システムは、ペンの固有識別子(PEN_ID)からペン世代/ファミリを推定する。
本発明は、上記のタイプの符号読み取りペンに限定されず、サブストレート上のその位置を記録し、記録された位置に基づいて機能を実行する任意のタイプの電子ペンに適用可能である。
例えば、ペンは、米国特許第5,442,147号、第5,652,412号、第5,661,506号、第5,852,434号、第6,310,988号、および第6,797,895号などのいずれか1つに開示されているような、絶対位置を符号化するその他のタイプのパターン上で動作してもよい。さらに、光学的特性に基づく代わりに、符号化パターンは、化学的、音響的、電磁気的、容量的、または誘導的特性を含むことができる。明らかに、ペンは、そのような代替的特性を捕らえるように適合されたセンサを有するべきである。またさらに、ペンは、少なくとも1つの絶対参照位置とこの参照位置に関する相対位置とをペンが記録することによって、絶対および相対測位技法を組み合わせてもよい。絶対参照位置は、サブストレート上の位置符号化パターンから取得されてもよく、または、ペンユーザがペンをサブストレート上の所定の場所へ/から動かすことによって取得されてもよい。相対位置は、例えば、サブストレートに接触するローラボール、1つまたは複数の外部送信器からの信号の三角測量、ペン内部の加速度センサ、サブストレートに接触するペン先に動作可能に接続される歪みセンサ、サブストレート上の面の不規則性もしくは任意のパターンの画像、またはそれらの組み合わせから取得されてもよい。
またさらに、サブストレート上に符号化された位置によって与えられるサブストレート識別情報の代わりに、明示的なサブストレート/ページ識別子が、符号化パターンに埋め込まれてもよい。代替として、サブストレート/ページ識別子は、サブストレート上のバーコードによって与えられ、またはサブストレート上に普通の言葉で印刷されて、ペン内のバーコードリーダまたはテキストスキャナによって記録されてもよい。
ペン制御は、ピジェットIDの検出以外のその他のイベントによって補助されてもよい。そのようなその他のイベントは、ペン上のボタンがユーザによって起動されたことの検出、または、ペン内のマイクロフォンによって記録された音声コマンドの検出を含む。例えば、トリガーピジェットの使用は、そのようなその他のイベントによって置換または補助されてもよい。同様に、範囲(scope)、文脈(context)、装置選択などについての情報は、そのようなその他のイベントによってペン制御システムに示されてもよい。
Claims (44)
- 電子ペンと通信するコンピュータシステムにおける方法であって、
前記ペンによって保存された処理ルールのセットを示すバージョン識別子を、前記ペンから取得することと、
前記バージョン識別子に基づいて、ペン位置を少なくとも1つのルール識別子に関連付けるロジックバージョンを取得することであって、それによって、前記少なくとも1つのルール識別子が、前記処理ルールのセットの中の一つの処理ルールを示すことと、
前記ロジックバージョンを前記ペンに提供することと、
を含むことを特徴とする方法。 - 前記ロジックバージョン内の各ルール識別子は、前記処理ルールのセットの中の一つの処理ルールを示すことを特徴とする請求項1に記載の方法。
- 前記コンピュータシステムに関連付けられたデータベースからアップグレード参照を取得することを含み、
少なくとも、前記ロジックバージョンの提供が、前記アップグレード参照の所与の特性の検出によって条件付けされることをさらに含むことを特徴とする請求項1または2に記載の方法。 - 前記ペンからアップグレード識別子を取得することを含み、
前記所与の特性が、前記アップグレード識別子と前記アップグレード参照との間の関係であることを特徴とする請求項3に記載の方法。 - 前記コンピュータシステムに関連付けられたデータベース内に、前記ロジックバージョンの提供を識別するアップグレード参照を保存することをさらに含むことを特徴とする請求項1または2に記載の方法。
- アップグレード識別子として前記ペン内に保存するために、前記アップグレード参照を前記ペンに提供することをさらに含むことを特徴とする請求項5に記載の方法。
- 前記セットは、複数の異なる処理ルールのセットのうちの1つであり、別々のロジックバージョンが、各セットについて作成され、
そのような別々のロジックバージョンの各々は、
すべてのロジックバージョンのルール識別子を含む完全な機能ロジックを取得することと、
前記バージョン識別子に基づいて、構築命令を取得することと、
前記バージョン識別子によって示される前記セットに含まれない処理ルールを示して、サポートされないルール識別子を除去することによって、前記構築命令を前記完全な機能ロジックに作用させて、前記別々のロジックバージョンを作成することと、
によって作成されることを特徴とする請求項1〜6のいずれか一項に記載の方法。 - 少なくとも1つのサポートされないルール識別子が、省略によって除去されることを特徴とする請求項7に記載の方法。
- 少なくとも1つのサポートされないルール識別子が、前記バージョン識別子によって示される前記セットに含まれる処理ルールを示すサポートされるルール識別子で置き換えられることによって除去されることを特徴とする請求項7または8に記載の方法。
- 前記サポートされるルール識別子が、否定フィードバックを与えるように前記ペンを制御するための処理ルールを示すことを特徴とする請求項9に記載の方法。
- 前記サポートされるルール識別子が、肯定フィードバックを与えるように前記ペンを制御するための処理ルールを示すことを特徴とする請求項9または10に記載の方法。
- 別々のロジックバージョンの各々を、前記バージョン識別子と関連付けてデータベース内に保存することをさらに含むことを特徴とする請求項8〜12のいずれか一項に記載の方法。
- 電子ペンと通信するための装置であって、
前記ペンと通信するためのインタフェースと、
前記ペンによって保存された処理ルールのセットを示すバージョン識別子を、前記インタフェースを介して前記ペンから取得する第1の処理要素と、
前記バージョン識別子に基づいて、ペン位置を少なくとも1つのルール識別子に関連付けるロジックバージョンを取得する第2の処理要素であって、それによって、前記少なくとも1つのルール識別子が、前記処理ルールのセットの中の一つの処理ルールを示す第2の処理要素と、
前記ロジックバージョンを前記インタフェースを介して前記ペンに提供する第3の処理要素と、
を備えることを特徴とする装置。 - 前記ロジックバージョン内の各ルール識別子は、前記処理ルールのセットの中の一つの処理ルールを示すことを特徴とする請求項13に記載の装置。
- 前記第1の処理要素が、前記コンピュータシステムに関連付けられたデータベースからアップグレード参照を取得するように設計されており、
少なくとも、前記ロジックバージョンを提供する前記第3の処理要素の動作が、前記アップグレード参照の所与の特性を検出する前記第1の処理要素によって条件付けされることを特徴とする請求項13または14に記載の装置。 - 前記第1の処理要素が、前記ペンから前記インタフェースを介してアップグレード識別子を取得するように設計されており、
前記所与の特性が、前記アップグレード識別子と前記アップグレード参照との間の関係であることを特徴とする請求項15に記載の装置。 - 前記第3の処理要素が、前記コンピュータシステムに関連付けられたデータベース内に、前記ロジックバージョンを提供する動作を識別するアップグレード参照を保存するように設計されることを特徴とする請求項13または14に記載の装置。
- 前記第3の処理要素が、アップグレード識別子として前記ペン内に保存するために、前記アップグレード参照を前記インタフェースを介して前記ペンに提供するように設計されることを特徴とする請求項17に記載の装置。
- 複数の異なる処理ルールのセットの1つを保存する電子ペンのために特定のロジックバージョンを作成するための方法であって、
別々のロジックバージョンが、前記セットの中の処理ルールを示す少なくとも1つのルール識別子を含むように、各セットについて作成され、
前記方法は、
すべての別々のロジックバージョンのルール識別子を含む完全な機能ロジックを取得することと、
所与の処理ルールのセットを示すバージョン識別子を取得することと、
前記バージョン識別子に基づいて、構築命令を取得することと、
前記所与の処理ルールのセットに含まれない処理ルールを示して、少なくとも1つのサポートされないルール識別子を除去することによって、前記構築命令を前記完全な機能ロジックに作用させて、前記特定のロジックバージョンを作成することと、
を含むことを特徴とする方法。 - 前記バージョン識別子が、前記電子ペンから取得されることを特徴とする請求項19に記載の方法。
- 前記特定のロジックバージョンが、前記バージョン識別子と関連付けてデータベース内に保存されることを特徴とする請求項19または20に記載の方法。
- 前記特定のロジックバージョンが、電子ネットワークを介して伝播信号として前記ペンに提供されることを特徴とする請求項19〜21のいずれか一項に記載の方法。
- 前記特定のロジックバージョンが、手動で配布可能であるコンピュータ読取り可能な記憶媒体上に保存されることを特徴とする請求項19〜21のいずれか一項に記載の方法。
- 複数の異なる処理ルールのセットの1つを保存する電子ペンのために特定のロジックバージョンを作成するための装置であって、
別々のロジックバージョンが、前記セットの中の処理ルールを示す少なくとも1つのルール識別子を含むように、各セットについて作成され、
前記装置は、
すべての別々のロジックバージョンのルール識別子を含む完全な機能ロジックを取得する第1の処理要素と、
所与の処理ルールのセットを示すバージョン識別子を取得する第2の処理要素と、
前記バージョン識別子に基づいて、構築命令を取得する第3の処理要素と、
前記所与の処理ルールのセットに含まれない処理ルールを示して、少なくとも1つのサポートされないルール識別子を除去することによって、前記構築命令を前記完全な機能ロジックに作用させて、前記特定のロジックバージョンを作成する第4の処理要素と、
を備えることを特徴とする装置。 - 前記第2の処理要素が、前記電子ペンから前記バージョン識別子を取得することを特徴とする請求項24に記載の装置。
- 前記特定のロジックバージョンを、前記バージョン識別子と関連付けてデータベース内に保存する第5の処理要素をさらに備えることを特徴とする請求項24または25に記載の装置。
- 前記特定のロジックバージョンを、電子ネットワークを介して伝播信号として前記ペンに提供する第6の処理要素をさらに備えることを特徴とする請求項24〜26のいずれか一項に記載の装置。
- 前記特定のロジックバージョンを、手動で配布可能であるコンピュータ読取り可能な記憶媒体上に保存する第6の処理要素をさらに備えることを特徴とする請求項24〜26のいずれか一項に記載の装置。
- 情報管理システムにおいて複数の電子ペンの動作を制御する方法であって、
各電子ペンは、制御ソフトウェアとロジックバージョンのセットとを保存するように設計されたメモリを含み、そのようなロジックバージョンの各々は、前記制御ソフトウェアによって実現される機能を示しており、
前記方法は、
前記制御ソフトウェアの複数の異なるバージョンの各々のために、別々のロジックバージョンのセットを生成することと、
ペンに、対応するセットを提供することと、を含み、
前記ペンは、前記制御ソフトウェアの所与のバージョンを保存するものであり、すべてのロジックバージョンが、前記制御ソフトウェアの前記所与のバージョンによって完全に実現される機能を示すことを特徴とする方法。 - 前記すべてのロジックバージョンが、処理ルールを示す少なくとも1つのルール識別子を含み、そのような処理ルールの各々は、前記制御ソフトウェアの前記所与のバージョンによって実行されることを特徴とする請求項29に記載の方法。
- 各ロジックバージョンが、ペン位置を前記少なくとも1つのルール識別子に関連付けることを特徴とする請求項30に記載の方法。
- 前記電子ペンが、位置符号化パターンのデジタル表現を生成するセンサ装置と、前記デジタル表現から前記ペン位置を取得する信号処理装置とを含むことを特徴とする請求項31に記載の方法。
- 前記ペン位置が、全体的な座標系における絶対位置であることを特徴とする請求項31または32に記載の方法。
- 前記メモリが、各ロジックバージョンを前記座標系のサブセットと関連付けて保存するように設計されることを特徴とする請求項33に記載の方法。
- 前記ロジックバージョンが、前記サブセット内におけるページユニットのセットと、前記ページユニットの各々の中における少なくとも1つの機能エリアの場所とを定義し、そのような機能エリアの各々は、前記ルール識別子の1つと関連付けられることを特徴とする請求項34に記載の方法。
- 前記ロジックバージョンが、前記サブセット内におけるページユニットのセットを定義し、前記ルール識別子の1つを前記サブセットと関連付けることを特徴とする請求項33または34に記載の方法。
- 情報管理システムにおいて複数の電子ペンの動作を制御するための装置であって、
各電子ペンは、制御ソフトウェアとロジックバージョンのセットとを保存するように設計されたメモリを含み、そのようなロジックバージョンの各々は、前記制御ソフトウェアによって実現される機能を示しており、
前記装置は、
前記制御ソフトウェアの複数の異なるバージョンの各々のために、別々のロジックバージョンのセットを生成する手段と、
ペンに、対応するセットを提供する手段と、を備え、
前記ペンは、前記制御ソフトウェアの所与のバージョンを保存するものであり、すべてのロジックバージョンが、前記制御ソフトウェアの前記所与のバージョンによって完全に実現される機能を示すことを特徴とする装置。 - 前記すべてのロジックバージョンが、処理ルールを示す少なくとも1つのルール識別子を含み、そのような処理ルールの各々は、前記制御ソフトウェアの前記所与のバージョンによって実行されることを特徴とする請求項37に記載の装置。
- 各ロジックバージョンが、ペン位置を前記少なくとも1つのルール識別子に関連付けることを特徴とする請求項38に記載の装置。
- 前記電子ペンが、位置符号化パターンのデジタル表現を生成するセンサ装置と、前記デジタル表現から前記ペン位置を取得する信号処理装置とを含むことを特徴とする請求項39に記載の装置。
- 前記ペン位置が、全体的な座標系における絶対位置であることを特徴とする請求項39または40に記載の装置。
- 前記メモリが、各ロジックバージョンを前記全体的な座標系のサブセットと関連付けて保存するように設計されることを特徴とする請求項41に記載の装置。
- 前記ロジックバージョンが、前記サブセット内におけるページユニットのセットと、前記ページユニットの各々の中における少なくとも1つの機能エリアの場所とを定義し、そのような機能エリアの各々は、前記ルール識別子の1つと関連付けられることを特徴とする請求項42に記載の装置。
- 前記ロジックバージョンが、前記サブセット内におけるページユニットのセットを定義し、前記ルール識別子の1つを前記サブセットと関連付けることを特徴とする請求項42または43に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US62516704P | 2004-11-05 | 2004-11-05 | |
SE0402710A SE0402710D0 (sv) | 2004-11-05 | 2004-11-05 | Management of internal logic for electronic pens |
PCT/SE2005/001664 WO2006049574A1 (en) | 2004-11-05 | 2005-11-07 | Management of internal logic for electronic pens |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008519326A true JP2008519326A (ja) | 2008-06-05 |
JP2008519326A5 JP2008519326A5 (ja) | 2008-12-25 |
Family
ID=39560960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007538866A Pending JP2008519326A (ja) | 2004-11-05 | 2005-11-07 | 電子ペン用の内部ロジックの管理 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008519326A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008077553A (ja) * | 2006-09-25 | 2008-04-03 | Fuji Xerox Co Ltd | 筆記情報処理装置、筆記情報処理方法、及びプログラム |
JP2014075009A (ja) * | 2012-10-03 | 2014-04-24 | Fuji Xerox Co Ltd | 情報処理システム及びプログラム |
JP2015184988A (ja) * | 2014-03-25 | 2015-10-22 | セイコーエプソン株式会社 | 表示装置、プロジェクター、および表示制御方法 |
KR102609677B1 (ko) * | 2023-07-03 | 2023-12-05 | (주)컴버스테크 | 복수의 입력을 독립적으로 처리하는 전자칠판 시스템및 그 구동방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002288066A (ja) * | 2001-03-23 | 2002-10-04 | Ricoh Co Ltd | 画像形成装置管理システム |
JP2003140902A (ja) * | 2001-10-29 | 2003-05-16 | Sony Corp | ホスト装置、クライアント装置、ホームネットワークシステム、クライアント装置のソフトウェア更新方法 |
JP2003519423A (ja) * | 1999-12-23 | 2003-06-17 | アノト・アクティエボラーク | グローバル情報取り扱いシステム |
-
2005
- 2005-11-07 JP JP2007538866A patent/JP2008519326A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003519423A (ja) * | 1999-12-23 | 2003-06-17 | アノト・アクティエボラーク | グローバル情報取り扱いシステム |
JP2002288066A (ja) * | 2001-03-23 | 2002-10-04 | Ricoh Co Ltd | 画像形成装置管理システム |
JP2003140902A (ja) * | 2001-10-29 | 2003-05-16 | Sony Corp | ホスト装置、クライアント装置、ホームネットワークシステム、クライアント装置のソフトウェア更新方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008077553A (ja) * | 2006-09-25 | 2008-04-03 | Fuji Xerox Co Ltd | 筆記情報処理装置、筆記情報処理方法、及びプログラム |
JP2014075009A (ja) * | 2012-10-03 | 2014-04-24 | Fuji Xerox Co Ltd | 情報処理システム及びプログラム |
JP2015184988A (ja) * | 2014-03-25 | 2015-10-22 | セイコーエプソン株式会社 | 表示装置、プロジェクター、および表示制御方法 |
KR102609677B1 (ko) * | 2023-07-03 | 2023-12-05 | (주)컴버스테크 | 복수의 입력을 독립적으로 처리하는 전자칠판 시스템및 그 구동방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080088607A1 (en) | Management of Internal Logic for Electronic Pens | |
CN100390720C (zh) | 交互式设备和方法 | |
JP4781883B2 (ja) | 情報管理方法及び情報管理システム | |
JP6109625B2 (ja) | 電子機器およびデータ処理方法 | |
KR101026630B1 (ko) | 범용 컴퓨팅 장치 | |
US6698660B2 (en) | Electronic recording and communication of information | |
US20090002345A1 (en) | Systems and Methods for Interacting with Position Data Representing Pen Movement on a Product | |
US20100289776A1 (en) | System, software module and methods for creating a response to input by an electronic pen | |
CN101657826B (zh) | 笔记捕获装置 | |
EP1681621A1 (en) | Device with user interface having interactive elements on a writable surface | |
US9207808B2 (en) | Image processing apparatus, image processing method and storage medium | |
KR20100013539A (ko) | 휴대용 단말기에서 패턴 인식을 이용한 사용자 인터페이스장치 및 방법 | |
WO2007136846A2 (en) | Recording and playback of voice messages associated with a surface | |
JP2015522883A (ja) | 手書きイメージ認識を用いたアプリケーションの制御方法及び装置 | |
JP5925957B2 (ja) | 電子機器および手書きデータ処理方法 | |
JP6092462B2 (ja) | 電子機器、方法及びプログラム | |
JP5869179B2 (ja) | 電子機器および手書き文書処理方法 | |
CN104252247A (zh) | 触笔速记 | |
JP4802672B2 (ja) | 電子文書管理装置、電子文書管理プログラム、電子文書管理システム | |
JP2016085512A (ja) | 電子機器、方法及びプログラム | |
US20130321352A1 (en) | Modifying information on a hand writable physical medium with a digital pen | |
US7671269B1 (en) | Methods and systems for graphical actuation of a velocity and directionally sensitive sound generation application | |
JP2008519326A (ja) | 電子ペン用の内部ロジックの管理 | |
JP2008257530A (ja) | 電子ペン入力データ処理システム | |
US7562822B1 (en) | Methods and devices for creating and processing content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081106 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110906 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120612 |