JP2008505387A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2008505387A5 JP2008505387A5 JP2007519162A JP2007519162A JP2008505387A5 JP 2008505387 A5 JP2008505387 A5 JP 2008505387A5 JP 2007519162 A JP2007519162 A JP 2007519162A JP 2007519162 A JP2007519162 A JP 2007519162A JP 2008505387 A5 JP2008505387 A5 JP 2008505387A5
- Authority
- JP
- Japan
- Prior art keywords
- data
- pen
- electronic pen
- file object
- location
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims description 38
- 238000004891 communication Methods 0.000 claims description 27
- 238000000034 method Methods 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 19
- 230000000875 corresponding Effects 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 7
- 230000001427 coherent Effects 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 230000001755 vocal Effects 0.000 claims description 2
- KBPHJBAIARWVSC-RGZFRNHPSA-N (1R)-4-[(1E,3E,5E,7E,9E,11E,13E,15E,17E)-18-[(1R,4R)-4-hydroxy-2,6,6-trimethylcyclohex-2-en-1-yl]-3,7,12,16-tetramethyloctadeca-1,3,5,7,9,11,13,15,17-nonaenyl]-3,5,5-trimethylcyclohex-3-en-1-ol Chemical compound C([C@H](O)CC=1C)C(C)(C)C=1\C=C\C(\C)=C\C=C\C(\C)=C\C=C\C=C(/C)\C=C\C=C(/C)\C=C\[C@H]1C(C)=C[C@H](O)CC1(C)C KBPHJBAIARWVSC-RGZFRNHPSA-N 0.000 claims 1
- 229960005375 Lutein Drugs 0.000 claims 1
- KBPHJBAIARWVSC-NRHWGSPPSA-N Lutein Natural products O[C@H]1C=C(C)[C@H](/C=C/C(=C\C=C\C(=C/C=C/C=C(\C=C\C=C(/C=C/C=2C(C)(C)C[C@H](O)CC=2C)\C)/C)\C)/C)C(C)(C)C1 KBPHJBAIARWVSC-NRHWGSPPSA-N 0.000 claims 1
- 229960001716 benzalkonium Drugs 0.000 claims 1
- CYDRXTMLKJDRQH-UHFFFAOYSA-N benzyl-dodecyl-dimethylazanium Chemical compound CCCCCCCCCCCC[N+](C)(C)CC1=CC=CC=C1 CYDRXTMLKJDRQH-UHFFFAOYSA-N 0.000 claims 1
- 238000010348 incorporation Methods 0.000 claims 1
- 235000012680 lutein Nutrition 0.000 claims 1
- 239000001656 lutein Substances 0.000 claims 1
- 230000000007 visual effect Effects 0.000 claims 1
- ORMNNUPLFAPCFD-MPQOODJTSA-M potassium;(2S,5R,6R)-3,3-dimethyl-7-oxo-6-[[(2R)-2-phenoxypropanoyl]amino]-4-thia-1-azabicyclo[3.2.0]heptane-2-carboxylate Chemical compound [K+].O([C@H](C)C(=O)N[C@@H]1C(N2[C@H](C(C)(C)S[C@@H]21)C([O-])=O)=O)C1=CC=CC=C1 ORMNNUPLFAPCFD-MPQOODJTSA-M 0.000 description 11
- 239000000203 mixture Substances 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000001419 dependent Effects 0.000 description 3
- 230000001960 triggered Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000003287 optical Effects 0.000 description 2
- 238000001454 recorded image Methods 0.000 description 2
- 230000001360 synchronised Effects 0.000 description 2
- 208000001613 Gambling Diseases 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001808 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000002708 enhancing Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000000153 supplemental Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Description
本発明は、概してデジタルで記録されたデータの管理に関し、詳細には電子ペンでのこのデータの管理に関する。
電子ペンは、書き込み面を有する製品上での手書きの入力を電子的に表現する情報の生成のために使用できる。電子情報がさらなる処理のために異なる宛先装置に効率的に伝達できるように、情報管理システムにこのような電子ペンを組み込むことが望ましいであろう。
参照としてここに組み込まれている米国第2003/0061188号、米国第2003/0046256号、および米国第2002/0091711号では、本出願人は、製品上で複数の絶対位置をコーディングするために各製品に位置コードが適用される情報管理システムを提案している。電子ペンは、位置コードを読み取ることにより製品上でのペンの動きを反映する位置の並びを電子的に記録できる。
各製品上での位置コードは、はるかに大きな抽象的な位置コーディングパターンの部分集合である。このような抽象的なパターンの例は、参照としてここに組み込まれている米国第6,570,104号、米国第6,330,976号、および米国第6,667,695号に開示されている。
抽象パターンは、所与のサイズの部分集合に分割され、各部分集合は、システム内で一意の識別子に関連付けられている。各部分集合が、各々の物理的なページ向けである場合には、それはパターンページで示され、一意のページアドレスにより表現される。このようなケースでは、各々の絶対位置は、ページアドレスと、関連付けられたパターンページ内のローカルな位置で表現されてよい。
電子ペンは、例えば出願人の公報である米国第2003/0061188号に記載されているように、いわゆるテンプレートを介して抽象位置コーディングパターンの知識を有することができる。テンプレートは、ペンに事前に記憶され、パターンの中に特定の機能領域を定義する。ペンは、テンプレートにより示される機能に基づいて、記録されている位置を処理する、および/または、例えば特定の機能領域内に位置を記録するときに振動することによってペンユーザにフィードバックを行うことができる。
抽象的なパターンの異なる部分を異なる宛先装置に指定することによって、電子情報を、ペンから処理のための正しい宛先装置に自動的に向けることができる。例えば、システムは、中継サーバを含んでもよい。中継サーバは、ペンから一つ以上の絶対位置を受信すると、正しい動作主(アクタ)の関連付けられたネットワークアドレスを特定し、このアドレスへのデータの流れに向ける。
このようなシステムは、出願人の従前の公開、米国第2003/0055865号に開示されている。そのシステムでは、電子ペンが、第一の往復(ラウンドトリップ)でいわゆるペーパールックアップサーバ(PLS)と接続し、位置コード化されたされた製品からペンが引き出した位置データに基づいて情報をルーティングするためにそれを照会する。次に、PLSからのルーティング情報を受信すると、第二の往復(ラウンドトリップ)で、電子ペンが、ルーティング情報によって示されるように、アプリケーションサーバと接続する。それからアプリケーションサーバは、ペンから関連位置データを要求する。
システムは、トランスペアレントで合理化されたデータの流れを提供することにより恩恵を受けるが、エンドツーエンド装置であるという不都合もある。具体的には、システムは、データが転送されなければならないときは常に、各々の通信経路のみではなく、ペン、PLSおよび各々のアプリケーションに、アクセス可能となることを必要とする。通信の連鎖のいずれかでの障害により、おそらくペンのユーザがそれについて適切に知らされないまま、データが失われる可能性がある。
別の不利な点は、製品を情報管理システムの他のコンポーネントと無関係に生成できないという点である。例えば、ペンはその製品のためのテンプレートを記憶しなければならず、中継サーバは特定の製品から記録された情報をいずれに向けるのかを知らなければならず、アプリケーションサーバはこの情報をどのように処理するのかを知らなければならない。
米国第2003/0061188号
米国第2003/0046256号
米国第2002/0091711号
米国第6,570,104号
米国第6,330,976号
米国第6,667,695号
米国第2003/0055865号
本発明の目的は、従来の技術の前記の問題を克服することにある。
一般に、本発明の目的は、独立クレームによる方法、電子ペン、コンピュータプログラム製品、および情報管理システムによって少なくとも部分的に達成され、好適実施形態は従属クレームにより定義されている。
本発明の一つの態様は、電子ペンにおいてデジタルで記録された位置データを管理する方法であって、位置データをファイルシステムでの記憶に適したデータファイルオブジェクトの中に組み込むことと、ファイルオブジェクトを外部データハンドラに露呈することとを備える方法である。
本発明の別の態様は製品上に書き込むための電子ペンである。電子ペンは、書き込み中に製品の少なくとも一つの画像を記録する画像読取装置と、少なくとも一つの画像に基づいて、書き込みを示す位置データを決定する画像プロセッサと、ファイルシステムでの記憶に適したデータファイルオブジェクトに位置データを組み込むファイルアセンブラと、ファイルオブジェクトを外部データハンドラに露呈する露呈器とを備える。
これらの態様の一般的な利点は、ペンによって記録される位置データが、情報管理システム内で非同期で処理できるという点である。情報管理システムのペンと他のコンポーネントと間で、往復(ラウンドトリップ)通信をする必要はない。記録される位置データが、自律的なデータファイルオブジェクトとしてペンにより露呈されてよいからである。したがって、データファイルオブジェクトは、転送の順次連鎖でシステム内で送ることができ、各転送は、他の転送とは無関係である。連鎖の特定の部分は、位置データがシステム内で失われることなく一時的に動作不能となることがある。本発明は、外部データハンドラと転送動作に関与する他のコンポーネントを適切に設計することによって、トランスペアレントで合理化されたデータの流れを可能とする。
データの露呈は、データファイルオブジェクトが外部データハンドラに対してプッシュされること、または、データファイルオブジェクトが外部データハンドラによって、適切にはペンのメモリ内のファイルシステムから、取り出される(プルされる)ために使用できるようにされること、を含んでよい。プッシュによる露呈は、外部データハンドラがアクティブであることが必要であるが、システムの他の任意のコンポーネントはオフラインであってよい。取り出し(プル)のための露呈は、システムの他のコンポーネントすべてがオフラインであるときに達成されてよい。
方法の一実施形態では、方法は、製品上の第一のコードの記録を座標系の少なくとも一つの絶対位置に変換することと、第二のコードの記録を入力データに変換することと、入力データに基づいて少なくとも一つの絶対位置を処理することと、をさらに含んでいる。入力データは座標系で少なくとも一つの機能領域を定義してよい。この方法は、少なくとも一つの絶対位置が少なくとも一つの機能領域の範囲に入るか否かを特定するために入力データに対して少なくとも一つの絶対位置をマッピングすることをさらに含んでよい。
電子ペンの一実施形態では、画像プロセッサは、製品上の第一のコードの少なくとも一つの画像に基づいて位置データを決定するために動作可能であり、位置データは、座標系の少なくとも一つの絶対位置を備え、画像プロセッサは、第二のコードの少なくとも一つの画像に基づいて入力データを決定するためにも動作可能である。さらに、ペンの処理論理回路は、入力データに基づいて少なくとも一つの絶対位置を処理するために動作可能であり、入力データは座標系の少なくとも一つの機能領域を定義してよく、処理論理回路は、少なくとも一つの絶対位置が少なくとも一つの機能領域の範囲に入るか否かを特定するために入力データに対して少なくとも一つの絶対位置をマッピングしてよい。
これらの実施形態の一般的な利点は、ペンが、製品の機能レイアウトの完全な記述(ディスクリプション)、または、部分的な記述を、動的に与えられてよいという点である。記述は、ペンメモリに事前に記憶されていた任意の説明を、補足または置換するために使用されてもよい。ペンは、製品すべてのためのこのような記述を事前に記憶する必要はない。新しい記述および製品は、製品またはペンのプロバイダがペンの中の対応する記述を更新する必要なく、導入されてよい。
ペンは、機能レイアウトの完全な記述にアクセスできる場合、例えばペンのMMIを介して、製品上の任意の機能領域に関する高度なユーザフィードバックを行うことができる。さらに、ペンは、このような完全な記述を鑑みて記録された位置を処理するため、さらに高い精緻化レベル(リファインメントレベル)でデータを出力できる。例えば、精緻化は、記録された位置を機能領域に割り当てることと、および/または、機能領域と関連付けられる規則が第二のコードによって示されているか、あるいは、第二のコードに含まれている場合には、記録された位置をその規則に従って処理すること、を含んでよい。製品の機能レイアウトに関するペンの知識を増やすと、情報管理システムの他の部分での事前の記憶のために機能レイアウトデータを分配する必要性も低減できる。データがペンデータ出力から直接的に推論されてよいからである。
データファイルオブジェクトの中の記録されている位置データを出力するという態様を、機能レイアウトデータをコーディングするという態様と結合することにより、情報管理システムに対するペンの依存性、および、ペンに対する情報管理システムの依存性を、さらに緩和することが可能になる。
本発明のさらに他の目的、特徴、態様および利点は、図面からだけではなく、以下の詳細な開示、添付される従属クレームから示されるであろう。
添付の概略図を参照して、本発明をさらに詳細に説明する。
<抽象パターン>
以下の説明は、複数のページユニットに分割される抽象的な位置コーディングパターンの使用に基づいている。複数のページユニットは、ページユニットグループの階層の中でそれぞれ個別にアドレス指定できる。図1には、一つの例が示される。この例では、パターン106が、複数の「セグメント」110を含んでおり、「セグメント」が複数の「シェルフ」111に分割され、「シェルフ」111が複数の「ブック」112を含んでおり、「ブック」112が複数の「ページユニット」113に分割される。「ページユニット」は、「パターンページ」とも呼ばれる。適切には、すべてのパターンページは、パターン階層の一つのレベルの中で、同じフォーマットを有する。例えば、あるシェルフは、A4フォーマットのパターンページから成り、他のシェルフは、A5フォーマットのパターンページから成る。抽象的なパターンの特定のパターンページの位置は、幾分、IPアドレスのような、例えば「99.5000.1.1500」などの「セグメント.シェルフ.ブック.ページ」形式で書くことができる。処理の効率の理由から、ページアドレスの内部の表現は異なってもよく、例えば64ビット等の所定の長さの整数として示されてよい。
以下の説明は、複数のページユニットに分割される抽象的な位置コーディングパターンの使用に基づいている。複数のページユニットは、ページユニットグループの階層の中でそれぞれ個別にアドレス指定できる。図1には、一つの例が示される。この例では、パターン106が、複数の「セグメント」110を含んでおり、「セグメント」が複数の「シェルフ」111に分割され、「シェルフ」111が複数の「ブック」112を含んでおり、「ブック」112が複数の「ページユニット」113に分割される。「ページユニット」は、「パターンページ」とも呼ばれる。適切には、すべてのパターンページは、パターン階層の一つのレベルの中で、同じフォーマットを有する。例えば、あるシェルフは、A4フォーマットのパターンページから成り、他のシェルフは、A5フォーマットのパターンページから成る。抽象的なパターンの特定のパターンページの位置は、幾分、IPアドレスのような、例えば「99.5000.1.1500」などの「セグメント.シェルフ.ブック.ページ」形式で書くことができる。処理の効率の理由から、ページアドレスの内部の表現は異なってもよく、例えば64ビット等の所定の長さの整数として示されてよい。
一例では、各セグメントは、26,000,000を超えるパターンページから成り、パターンページの各々は、約50×50cm2のサイズを持つ。ある実施形態では、少なくとも一つのセグメントが、5,175のシェルフに分割され、各シェルフは、2,517ページの2冊のブックから成る。
各パターンページは、コーディングパターンの実際の部分集合として、又は、部分集合によってコード化される絶対位置として見なされてよい。このような絶対位置は、全体的なパターンの座標系114の中のグローバルな位置として表現されてよく、又は、論理位置、すなわちパターンページの中の座標系115のローカルな位置として表現されてよい。
電子ペンは、その動きを位置コード化された製品上で、グローバルな位置の並び(つまり、グローバルペンストローク)、または、ページアドレスおよび対応するパターンページ上のローカルな位置(つまりアドレス指定されたペンストローク)のいずれかとして記録してよい。
以下の説明も、一つ以上のパターンページに対応する位置コードを含む各製品に基づいている。しかしながら、製品上の位置コードがパターンページに準拠する必要がないことが留意されなければならない。一つ以上のパターンページからの一つ以上の部分集合は、製品上に任意に配列されてよい。製品は、埋め込まれた機能性を有しており、製品上の位置コードは、特定の位置を含む電子ペンストロークに選択的に作用する、一つ以上の機能と関連付けられている。
ペンの機能性は、位置コーディングパターンの特定部分でペンを操作するユーザによって、少なくとも部分的に制御される。この目的のため、ペンは、一つ以上のテンプレートを記憶する。テンプレートは、位置コーディングパターンの異なる部分(機能領域)から記録される情報にペンがどのように作用すべきかを定義する。ある実施形態では、例えばセグメントまたはシェルフ等のページ階層の中の特定のページユニットグループが、その特定の部分集合の中のパターンページすべてに有効である、所与のテンプレート定義と関連付けられている。テンプレートは、ペンの動作に影響を及ぼしてよい任意の機能領域のサイズ、配置、および機能を定義する。このような機能領域は「ピジェット」として示されている。図4は、パターンページ402の上にレイアウトされるようなテンプレート400を描いており、様々なピジェット404の配置を示している。
テンプレートでは、パターンページの中のピジェットによって占有されていない全ての位置が、描画領域に属すると定義される。描画領域は、黙示的なピジェットと見なされてよい。描画領域内で検出される位置は、ペンによって解釈され、ペンストロークとして記録される。
ピジェットは、トリガ機能、サービス選択機能、デバイス選択機能、ローカルアクション機能、データ選択機能、解釈機能またはフィードバック機能を示してよい。トリガ機能は、後述するようにデータを露呈するためにペンをトリガする。サービス選択機能は、サービスを特定する。サービスは、ペンによる処理(記録位置の処理)に影響を及ぼすコンテキスト情報(例えば、eメール、ファックス、SMS)を伝達するものでもよく、および/または、ペンによる選択(処理される位置の選択)に影響を及ぼすコンテンツ情報(例えば、ページ、ブック、シェルフ)を伝達するものでもよい。デバイス選択機能は、ペンのための接続装置(例えば、PC、モバイル機器、LANアクセスポイント)を特定する。ローカルアクション機能は、ペンメモリに影響を及ぼすアクションを開始する。データ選択機能は、記録された位置をペン常駐データにマッピングする。例えば、キーボードピジェットは、ペンメモリ内の文字に位置をマッピングしてよく、また、ショートカットピジェットは、ペンメモリ内の通信アドレスに位置をマッピングしてよい。解釈機能は、ピジェット内の一つ以上のストロークを機械コーディング文字に変換するために動作してよい。フィードバック機能は、ペンに、バイブレータ、ディスプレイまたはスピーカ等の内部MMIをアクティブ化させてよい。
別のタイプのピジェットは、新しいインスタンス機能を示す。新しいインスタンス機能は、各ペンストロークをインスタンス識別子に関連付けることによって、潜在的に重複するペンストロークを分離するために動作する。例えば、新しいインスタンス機能が開始されると、新しいインスタンス識別子が、パターンページまたはブック等の抽象的なパターンの関連性のある部分について生成されることになり、その結果、それ以後に記録される任意のペンストロークは、そのインスタンス識別子と関連付けられてよい。インスタンス識別子は、ページアドレスと適切に関連付けられるか、または、ページアドレスに組み込まれる。
一実施形態では、テンプレートが、ピジェットIDによって各ピジェットを定義し、パターンページ402内のローカルな位置のサイズと配置を定義する(図4)。ピジェットIDは、ピジェット機能を決定する16ビットの識別子である。ピジェットIDは、ピジェットタイプ(ビット8〜15)とピジェット番号(ビット0〜7)から成る。ピジェットタイプは、前述の機能を特定し、ピジェット番号は、サブ機能を特定してよい。
前述のトリガピジェットは、特定のものまたは一般のものとなり得る。特定のトリガピジェットは、ピジェット番号を介して特定の接続装置と特定のサービスの両方を特定するピジェットIDを有する。ペンは、このような特定のトリガピジェット内の位置を記録する場合は、必ず、データの露呈を達成できる。一般のトリガピジェットは、特定の接続装置および/または特定のサービスを特定しないピジェットIDを有する。データの露呈をトリガするために、一般のトリガピジェットは、ペンが対応する位置を記録し、有効なサービスと有効な接続装置の両方を特定するトリガピジェットIDを形成することにより、デバイス選択ピジェットおよび/またはサービス選択ピジェットと組み合わせて使用しなければならない。
<電子ペン>
図2は、ペン200の実施形態を描いている。ペン200は、ウィンドウまたは開口部204を定める、ペン状の筺体またはシェル202を有している。そのウィンドウまたは開口部204を通して、画像が記録される。筺体は、カメラシステム、電子システムおよび電源を含んでいる。
図2は、ペン200の実施形態を描いている。ペン200は、ウィンドウまたは開口部204を定める、ペン状の筺体またはシェル202を有している。そのウィンドウまたは開口部204を通して、画像が記録される。筺体は、カメラシステム、電子システムおよび電源を含んでいる。
カメラシステム206は、少なくとも一つの照明光源、レンズ装置、および光画像読取装置(図1では図示せず)を備える。光源、適切には発光ダイオード(LED)またはレーザダイオードは、赤外線照射によってウィンドウ204を通して見られる領域の一部を照明する。見られる領域の画像は、レンズ装置によって画像読取装置に投影される。画像読取装置は、通常、約70Hzから100Hzの固定された速度で画像を捕捉するためにトリガされる二次元CCDまたはCMOS検出器であってよい。
センサデバイス用の電源は、代替的に主電源(図示せず)によって置き換える、または補足することができる電池208である。
電子システムは、メモリブロック212に接続される制御装置210を備える。制御装置210は、電子ペンの様々な機能に関与し、CPU(中央演算処理装置)等の市販されているマイクロプロセッサ、DSP(デジタル信号プロセッサ)、FPGA(フィールドプログラマブルゲートアレイ)、または、代替的にASIC(特定用途向け集積回路)等のいくつかの他のプログラマブルロジックデバイス、個別のアナログコンポーネントとデジタルコンポーネント、あるいは上記のいくつかの組み合わせによって実現できる。メモリブロック212は、好ましくは、ワーキングメモリ(例えば、RAM)とプログラムコード、および固定記憶メモリ(フラッシュメモリ等の不揮発性メモリ)等の様々なタイプのメモリを含む。関連ソフトウェアは、電子ペンの動作のためのペン制御システムを提供するために、メモリブロック212に記憶され、制御装置210によって実行される。
また、筺体202は、ユーザが、その上に置かれている通常の色素ベースのマーキングインクによって表面に物理的に書き込み、描画することを可能にするペン先214も持つ。ペン先214の中のマーキングインクは、適切には、電子ペンでの光電子検出との干渉を回避するために照射光に対して透明である。接触センサ216は、何時ペンが下ろされるのか(ペンダウン)、および/または持ち上げられるのか(ペンアップ)を検出するために、および、場合により動作力の決定を可能とするためにペン先214に動作可能に接続される。接触センサ216の出力に基づき、カメラシステム206は、ペンダウンとペンアップの間で画像を捕捉するために制御される。制御装置210は、ペンストロークを電子的に表す時間的にコヒーレントな位置の並びを生成するために、これらの画像を処理する。
電子システムは、さらに後述するように、コンピュータ、携帯電話、PA、ネットワークサーバ等の近傍の装置または遠隔装置にデータを露呈するための通信インタフェース218をさらに備える。通信インタフェース218は、このようにして有線または無線の短距離通信(例えば、USB、RS232、無線、赤外線送信、超音波送信、誘導結合等)にコンポーネント、および/または、通常はコンピュータ、電話、または衛星通信ネットワークを介して有線または無線の遠隔通信にコンポーネントを提供してよい。
ペンは、ユーザフィードバックのために選択的にアクティブ化されるMMI(マンマシンインタフェース)も含んでよい。MMIは、ディスプレイ、インジケータランプ、バイブレータ、スピーカ等を含んでよい。
さらに、ペンは、それをアクティブ化および/または制御可能にする一つ以上のボタンを含んでよい。
<情報管理システム>
図3は、本発明が使用されてよい情報管理システムの概要である。後述するように、ペン200は、システムの他のコンポーネントに露呈されるファイルオブジェクト300にペンストロークデータを取り込む。一実施形態では、ファイルオブジェクト300は、図3の経路300A〜300Cによって示されるように、所与のローカル受信側デバイス302または遠隔受信側デバイス304にプッシュされる。経路300Aは、通信ネットワーク310を介してペン200と遠隔装置304の間で直接的にセットアップされる。経路300Bは、ペン200からローカル装置302を通って、ネットワーク310を介して遠隔装置304にセットアップされる。経路300Cは、ペン200とローカル装置302の間にセットアップされる。別の実施形態では、ファイルオブジェクト300は、経路300A〜300Cのいずれか一つに沿って、受信側デバイス302、304によってペン200からプルされるために露呈される。
図3は、本発明が使用されてよい情報管理システムの概要である。後述するように、ペン200は、システムの他のコンポーネントに露呈されるファイルオブジェクト300にペンストロークデータを取り込む。一実施形態では、ファイルオブジェクト300は、図3の経路300A〜300Cによって示されるように、所与のローカル受信側デバイス302または遠隔受信側デバイス304にプッシュされる。経路300Aは、通信ネットワーク310を介してペン200と遠隔装置304の間で直接的にセットアップされる。経路300Bは、ペン200からローカル装置302を通って、ネットワーク310を介して遠隔装置304にセットアップされる。経路300Cは、ペン200とローカル装置302の間にセットアップされる。別の実施形態では、ファイルオブジェクト300は、経路300A〜300Cのいずれか一つに沿って、受信側デバイス302、304によってペン200からプルされるために露呈される。
ローカル受信側デバイスまたは遠隔受信側装置は、フローコントローラ306を含んでよい。フローコントローラ306は、経路300C1、300C2によって例証されるように、ファイルオブジェクト300、または、ファイルオブジェクト300から引き出されるデータを、ローカルに受信側デバイス上、または遠隔装置上のいずれかに常駐するアプリケーションプログラム308に中継する。このようなフローコントローラの例は、前述の米国第2003/0047256号および国際公開第03/056420号パンフレットと国際公開第03/105064号パンフレットに開示されている。複数のフローコントローラが、ペンからアプリケーションプログラムへのデータ転送に関与してよい。
フローコントローラ306は、例えばHTTP(ハイパーテキスト転送プロトコル)ポスト、SMTP(簡易メール転送プロトコル)、X.400、MMS(マルチメディアメッセージングサービス)、SMS(ショートメッセージサービス)、データベース同期等を介して、適切なデータを宛先アドレスに中継するように構成されてよい。宛先アドレスは、フローコントローラ306がファイルオブジェクト300から抽出する中継データによって直接的にまたは間接的に与えられてよい。一実施形態では、フローコントローラは、明示的な宛先アドレスをファイルオブジェクトから抽出する。別の実施形態では、フローコントローラ306は、ファイルオブジェクトからアドレスインジケータを抽出し、該アドレスインジケータに基づいて宛先アドレスを引き出すためにルックアップテーブルにアクセスする。例えば、アドレスインジケータは、ページアドレス、グローバルポジション、ピジェットID、ペン常駐パラメータ値等であってよい。また、中継される適切なデータは、中継データによって直接的にまたは間接的に与えられてよい。ファイルオブジェクト300を中継する代替策として、フローコントローラ306は、ファイルオブジェクト300が取り出しのために使用可能である宛先アドレスに通知を送信してよい。
ファイルオブジェクト300、または、ファイルオブジェクト300から引き出されるデータを受信すると、アプリケーションプログラム308は、送信側の物理的な製品、つまりファイルオブジェクト300の中の位置データがそこから発生する製品(図3では、符号Pで示されている)を定義するページ記述にアクセスしてよい。ページ記述は、送信側製品Pのレイアウトを定義する。レイアウトは、製品の物理的レイアウトと機能レイアウトの両方を含む。物理的レイアウトは、サポートグラフィックス、つまりユーザに指示すること、ユーザを制御すること、および/または、ユーザに知らせることを目的とした人間が理解できる情報を含む。機能レイアウトは、関連するパターンページ上のいわゆるユーザ領域の配置とサイズを定義する。ユーザ領域は、アプリケーションに特化した機能領域であり、配置、サイズおよび機能は特定のアプリケーションプログラム308に一意であってよい。ページ記述では、各ユーザ領域に、アプリケーションプログラムがアクセスできる専用の処理命令の識別子が割り当てられてよい。代替的に、各処理命令はページ記述に含まれてよい。また、物理的なレイアウトは、物理的レイアウトの生成のための明示的な指示、または、物理的レイアウトを定義するコンピュータファイルの記憶装置アドレスのインジケータのいずれかとして、ページ記述に含まれてよい。
ページ記述の構造、機能性および用途は、米国第2002/0040816号と国際公開第03/105064号パンフレットに記載されている。
図4は、パターンページ402、テンプレート400、ページ記述410および物理的な製品420の間の相互関係を描いている。物理的な製品420は、一つ以上のパターンページ402(図4では一つのみ図示)の中で位置を定義する位置コード(図示せず)を含む。これらの位置は、システム(ピジェット404用)内で事前に定義されたもの、あるいは、アプリケーションに特化したもの(ユーザ領域414用)のいずれかの一つ以上の機能と関連付けられている。ピジェット404は、パターンページ402の中で事前に定義された配置とサイズを有するが、物理的な製品402上に任意に配置されてよい。ページ記述410は、製品420の物理的なレイアウトのみではなく、パターンページ402上の任意な追加のユーザ領域414の配置、サイズおよび機能をも定義する。製品420は、テンプレート400によって与えられる一つの機能レイアウト部分400’と、ページ記述410によって与えられる一つの機能レイアウト部分410’とを含む。
ファイルオブジェクト300(図3)のペンストロークデータは、自立している。つまり、受信側アプリケーションプログラム308は、データを作成したペン200とのいかなる通信も必要とせずに、データにアクセスして処理することができる。したがって、従来の技術とは対照的に、ペン200は、非同期で、つまり情報管理システム内での往復(ラウンドトリップ)なしに、データを出力する。
ファイルオブジェクト300は、様々な精緻化レベルで、ペン200によって生成されてよい。例えば、ファイルオブジェクト300は、以下の内のいずれか一つ、あるいはその組み合わせを含んでよい。
(1)未処理のペンストロークデータ、つまり、ペンストロークを構成するグローバル、または論理的な位置の時間的にコヒーレントな並び。
(2)ペンストロークのピクチャ、つまり、記録されている位置を直接的に表す画像。
(3)精緻化されたペンストロークデータ、典型的には、ペンストロークによって接触された任意のピジェットのID、および/または、ピジェットと関連付けられた機能の結果等のテンプレート関連情報。
(4)例えば、情報管理システムのペン生成データの未承認の処理または分配を妨げるために、スクランブルされた、および/または暗号化されたペンストローク。一例では、ページアドレスは、所定のアルゴリズムに従って扱われ、あるいは、ペンストロークから排除されてよい。
(5)ペンストロークにより接触されるすべてのユーザ領域の表示、および/または、ユーザ領域と関連付けられた機能の結果。
(1)未処理のペンストロークデータ、つまり、ペンストロークを構成するグローバル、または論理的な位置の時間的にコヒーレントな並び。
(2)ペンストロークのピクチャ、つまり、記録されている位置を直接的に表す画像。
(3)精緻化されたペンストロークデータ、典型的には、ペンストロークによって接触された任意のピジェットのID、および/または、ピジェットと関連付けられた機能の結果等のテンプレート関連情報。
(4)例えば、情報管理システムのペン生成データの未承認の処理または分配を妨げるために、スクランブルされた、および/または暗号化されたペンストローク。一例では、ページアドレスは、所定のアルゴリズムに従って扱われ、あるいは、ペンストロークから排除されてよい。
(5)ペンストロークにより接触されるすべてのユーザ領域の表示、および/または、ユーザ領域と関連付けられた機能の結果。
ファイルオブジェクト300は、様々な精緻化レベルで、追加のペンの関連データ、または、ストロークの関連データを含んでよい。精緻化レベルは、例えば、ペンストロークの位置および任意のピジェットのタイムスタンプ、ペンストロークの位置の力の値(力値)、および、任意のペン常駐パラメータ等のいずれか一つである。タイムスタンプによって、アプリケーションプログラムまたはフローコントローラは、それらの相互の記録時間に基づいてストロークおよび/またはピジェットを結合できる。各タイムスタンプは、位置/ピジェットの送信側画像がペンカメラシステム206(図2)によって捕捉された時刻を反映する。力値によって、アプリケーションプログラムは、力に依存する線幅のストロークの画像をレンダリングできる。
ペン常駐パラメータは、ペン自体の特徴、あるいは、ペンの所有者/ユーザの特徴を特定するためにメモリブロック212(図2)に記憶されている。これらのパラメータは、受信側アプリケーションプログラム308(図3)によって使用されてよく、したがってファイルオブジェクト300に少なくとも選択的に含まれてよい。ペン常駐パラメータを含めることは、ファイルオブジェクトの中のストロークのページアドレスによって、および/または、前述のコンテキスト情報またはコンテンツ情報によって決定されてよい。ペン常駐パラメータは、ペンの一意の識別子、言語識別子、名称、番地所在地、電子メールアドレス、電話番号、ポケベル番号、ファックス番号、クレジットカード番号等を含んでよい。
ファイルオブジェクト300は、文字符号化または非文字符号化(例えばバイナリ)されてよく、任意の適切なフォーマットであってよい。ファイルフォーマットは、独自の仕様であってよく、あるいは、例えばXML(拡張マークアップ言語)、HTML(ハイパーテキストマークアップ言語)、XForms、PDF(ポータブルドキュメントフォーマット)等に標準化されてよい。
<ペン制御システム>
ペン200は、制御装置210(図2)で実行されているソフトウェアによって動作する。全体的なソフトウェアアーキテクチャを、図5を参照して説明する。図5には、いくつかの主要なソフトウェアコンポーネントが描かれている。
ペン200は、制御装置210(図2)で実行されているソフトウェアによって動作する。全体的なソフトウェアアーキテクチャを、図5を参照して説明する。図5には、いくつかの主要なソフトウェアコンポーネントが描かれている。
ペンシステムソフトウェアは、モジュールに基づいている。モジュールは、クリーンインタフェースを有するソフトウェア内の個別のエンティティである。モジュールは、少なくとも一つのプロセスを含むことによってアクティブであるか、または、プロセスを含まないことによってパッシブであるか、のいずれかである。モジュールは、関数呼び出しを実行する関数インタフェース、または、メッセージを受信するメッセージインタフェースを有してよい。アクティブなモジュールとパッシブなモジュールは、基本的に、モジュールにとっての親がそのすべての子供を起動し、停止することに関与するツリーとして構造化される。
また、ペンシステムソフトウェアは、モジュール間の依存性を低減するためにイベントフレームワークを実現する。各モジュールは、信号で知らせることができる事前に定義したイベントセットを露呈してよい。ある特定のイベントの通知を取得するには、モジュールは、イベントレジスタに登録されなければならない。イベントレジスタは、通知がメッセージをポスティングすることによって行われなければならないのか、あるいはコールバック関数として行われなければならないのか、を示してよい。
ペンシステムソフトウェアは、次の二つの基本的な機能を有する。
ペンが書き込む内容を記憶すること、および、記録された情報を要求時に露呈すること。露呈の前に精緻化のステップが実行されてもよく、あるいは、実行されなくてもよい。
ソフトウェアモジュールの組み合わせは、いわゆる座標パイプライン502を実現する。座標パイプライン502は、ストロークの記憶のためのイベントのフローである。画像処理モジュール504からのグローバル位置の文字列は、グローバル位置を論理位置に変換するトランスレータモジュール506によって受け取られる。トランスレータモジュール506がピジェットを通過するストロークを検出すると、対応するピジェットイベントがトリガされる。ピジェットイベントは、ピジェットイベントの各々の関連性を決定するイベントリスナーを含むこれらのモジュールによって、他のソフトウェアモジュールで適切なアクションを引き起こす。アドレス指定されたペンストロークは、座標マネージャモジュール508によって受信される。座標マネージャモジュール508は、それらを、コンパクトな表現で符号化されメモリブロック212(図2)に記憶されるアドレス指定されたペンストロークにアセンブルする。
<1.スーパバイザ>
図5に示されているように、ペンシステムソフトウェアは、他のすべてのモジュールを直接的にまたは間接的に起動するスーパバイザモジュール509を含む。スーパバイザモジュール509は、イベントレジスタに対するインタフェースを含み、モジュールは、自らが受け取ることを希望するイベントに自身を登録できる。また、スーパバイザモジュール509は、他のソフトウェアモジュールでリスナーが使用可能である制御イベントを生成する。
図5に示されているように、ペンシステムソフトウェアは、他のすべてのモジュールを直接的にまたは間接的に起動するスーパバイザモジュール509を含む。スーパバイザモジュール509は、イベントレジスタに対するインタフェースを含み、モジュールは、自らが受け取ることを希望するイベントに自身を登録できる。また、スーパバイザモジュール509は、他のソフトウェアモジュールでリスナーが使用可能である制御イベントを生成する。
<2.サーバ>
サーバモジュール510は、ペンにおけるイベントのコーディネータとして提供される。サーバモジュール510は、システムの状態と次期のイベントに基づいてペンが何をするべきなのかを判断する。
サーバモジュール510は、ペンにおけるイベントのコーディネータとして提供される。サーバモジュール510は、システムの状態と次期のイベントに基づいてペンが何をするべきなのかを判断する。
<3.画像処理>
画像処理モジュール504は、ここでは詳しく説明しない。画像処理モジュール504は、例えば以下の出願人の従前の公開に従って実現できる。
画像処理モジュール504は、ここでは詳しく説明しない。画像処理モジュール504は、例えば以下の出願人の従前の公開に従って実現できる。
米国特許第2003/0053699号、米国特許第2003/0189664号、米国特許第2003/0118233号、米国特許第2002/0044138号、米国特許第6,667,695号、米国特許第6,732,927号、米国特許第2003/0122855号、米国特許第2003/0128194号、およびその中の参考資料。
<4.位置データベース>
ペンは、位置データベース511を含む。位置データベース511は、ペンのメモリブロック212(図2)に常駐し、通信インタフェース218(図2)を介して編集または更新できる。位置データベース511は、トランスレータモジュール506によって使用され、セグメントデータベース511Aを含む。セグメントデータベース511Aは、各セグメントをテンプレートインデックスにより示されるテンプレートと関連付ける。セグメントデータベース511Aは、高速アクセスのためにRAMメモリのキャッシュの中に入れられる。また、位置データベース511は、テンプレートデータベース511Bを含む。テンプレートデータベース511Bは、テンプレートインデックスを、ペンの中の不揮発性メモリのパラメータとして記憶されてよいテンプレート定義に対するポインタと関連付ける。テンプレート定義は、ページXサイズ(16ビット)、ページYサイズ(16ビット)、ページ数(16ビット)、ピジェット数(16ビット)、ピジェットリスト(ピジェット長の数)を含んでよい。ピジェットリストは、複数のピジェットから成る。各ピジェットは、ピジェットID(16ビット、最上位の8はタイプ、最下位の8は番号である)、X左上座標(16ビット)、Y左上座標(16ビット)、幅(16ビット)、高さ(16ビット)により定められる。
ペンは、位置データベース511を含む。位置データベース511は、ペンのメモリブロック212(図2)に常駐し、通信インタフェース218(図2)を介して編集または更新できる。位置データベース511は、トランスレータモジュール506によって使用され、セグメントデータベース511Aを含む。セグメントデータベース511Aは、各セグメントをテンプレートインデックスにより示されるテンプレートと関連付ける。セグメントデータベース511Aは、高速アクセスのためにRAMメモリのキャッシュの中に入れられる。また、位置データベース511は、テンプレートデータベース511Bを含む。テンプレートデータベース511Bは、テンプレートインデックスを、ペンの中の不揮発性メモリのパラメータとして記憶されてよいテンプレート定義に対するポインタと関連付ける。テンプレート定義は、ページXサイズ(16ビット)、ページYサイズ(16ビット)、ページ数(16ビット)、ピジェット数(16ビット)、ピジェットリスト(ピジェット長の数)を含んでよい。ピジェットリストは、複数のピジェットから成る。各ピジェットは、ピジェットID(16ビット、最上位の8はタイプ、最下位の8は番号である)、X左上座標(16ビット)、Y左上座標(16ビット)、幅(16ビット)、高さ(16ビット)により定められる。
<5.トランスレータ>
トランスレータモジュール506は、公知のパターンフォーマットデータに基づくアルゴリズムを使用して、グローバル位置を論理位置に翻訳する。パターンフォーマットデータは、コーディングパターンのパターンページ(図1)への階層上の分割を定義する。他の部分は、ペンの位置データベース511から動的に引き出されてよいが、パターンフォーマットデータの部分は、ペンに動的に記憶されてよい。例えば、すべてのセグメントが所定のサイズを有する場合、グローバル位置は、そのグローバル位置のカレントセグメントを特定するために処理されてよい。カレントセグメントを知っていると、その分割のデータは、位置データベース511のそのテンプレート定義から引き出されてよく、その結果、グローバル位置は、さらに処理されて、カレントシェルフ、ブック、ページ、およびローカル位置、つまり完全論理位置を特定する。ペンがしばらくの間一つの同じパターンページ上で動作する場合には、グローバル位置のカレントパターンページの境界をキャッシュに入れ、これらの境界に対して任意の新しいグローバル位置をチェックすることによって、大きなスピードアップが達成されてよい。新しいグローバル位置が境界範囲内にある限り、ページアドレスの再計算に対するニーズは排除される。
トランスレータモジュール506は、公知のパターンフォーマットデータに基づくアルゴリズムを使用して、グローバル位置を論理位置に翻訳する。パターンフォーマットデータは、コーディングパターンのパターンページ(図1)への階層上の分割を定義する。他の部分は、ペンの位置データベース511から動的に引き出されてよいが、パターンフォーマットデータの部分は、ペンに動的に記憶されてよい。例えば、すべてのセグメントが所定のサイズを有する場合、グローバル位置は、そのグローバル位置のカレントセグメントを特定するために処理されてよい。カレントセグメントを知っていると、その分割のデータは、位置データベース511のそのテンプレート定義から引き出されてよく、その結果、グローバル位置は、さらに処理されて、カレントシェルフ、ブック、ページ、およびローカル位置、つまり完全論理位置を特定する。ペンがしばらくの間一つの同じパターンページ上で動作する場合には、グローバル位置のカレントパターンページの境界をキャッシュに入れ、これらの境界に対して任意の新しいグローバル位置をチェックすることによって、大きなスピードアップが達成されてよい。新しいグローバル位置が境界範囲内にある限り、ページアドレスの再計算に対するニーズは排除される。
また、トランスレータモジュール506は、位置データベース511によって与えられる関連性のあるテンプレート定義にローカル位置をマッピングすることによって、任意の記録された位置がカレントパターンページ上のピジェットの範囲に入るか否かを検出する。一実施形態では、ストロークごとに一つのピジェットだけしか特定できない。つまり、複数のピジェットが特定されると、最後のピジェットのみが考慮される。対応するピジェットイベントは、次に他のソフトウェアに対する通知のために生成される。ピジェットが特定されない場合、位置が描画領域の範囲に入ると仮定される。
各グローバル位置について、トランスレータモジュール506が、少なくともページアドレスとローカル位置を提供する。各時間的にコヒーレントな位置の並び、つまりストロークの場合、トランスレータモジュール506は、ピジェットIDを提供してもよい。また、各論理位置は、制御装置210(図2)のタイミング回路によって与えられるタイムスタンプ、および接触センサ216によって与えられる力値と関連付けられる。各ピジェットIDは、タイムスタンプと関連付けられる。また、トランスレータモジュール506は、他のモジュールがテンプレートとピジェットについて位置データベース511の中で情報を調べることができるようにするインタフェースを有してよい。
<6.座標マネージャ>
座標マネージャモジュール508は、トランスレータモジュール506から論理位置を受け取る。記憶される前に、論理位置は、時間的にコヒーレントな並び、つまりストロークにグループ化される。これは、代替的にトランスレータモジュール506によって行われてもよい。座標マネージャモジュール508は、次に圧縮のために各ストロークを前処理し、不揮発性メモリに結果を記憶する。このような圧縮と記憶の例は、米国第2003/0123745号および米国第2003/0122802号に示されている。
座標マネージャモジュール508は、トランスレータモジュール506から論理位置を受け取る。記憶される前に、論理位置は、時間的にコヒーレントな並び、つまりストロークにグループ化される。これは、代替的にトランスレータモジュール506によって行われてもよい。座標マネージャモジュール508は、次に圧縮のために各ストロークを前処理し、不揮発性メモリに結果を記憶する。このような圧縮と記憶の例は、米国第2003/0123745号および米国第2003/0122802号に示されている。
また、座標マネージャモジュール508は、他のモジュールのためのインターフェースを含んでいる。このインターフェースは、例えばページアドレスに基づいて記憶されているストロークを検索するため、および、トランスポートフォーマットでストロークを取り出すためのものである。一実施形態では、トランスポートフォーマットは、バイナリであり、セッション識別子、各ストロークの開始時刻、各ストロークでのローカル位置、および各々の位置の力値を含む。場合により、トランスポートフォーマットは、位置の記録中のペンの三次元方位を示すために捕捉された画像から計算される方位データを含んでよい。
セッション識別子は、ペンストロークの異なるセットが入力されるペンワーキングセッションを示す。例えば、セッション識別子は、ペンがオンに切り替えられるたびに増分される32ビットの符号付き整数値であってよい。セッション識別子は、さらに後述するように先行するワーキングセッションの間に選択された任意の特性をリセットするためにアプリケーションプログラム308(図3)によって使用されてよい。
<7.パラメータ記憶>
ペンシステムは、パラメータ記憶モジュール512も含む。ペン停止後の状態を保持する必要性のある他のすべてのモジュールは、それらの状態パラメータを記憶するためにこのモジュールを呼び出す。また、パラメータ記憶モジュール512は、テンプレート定義のみではなく一意のペンパラメータ(ペン識別子等)または校正パラメータ等の生成で設定されるペン常駐パラメータを処理する。各パラメータは、不揮発性メモリに、名前、サイズおよびデータとともに記憶される。モジュール512は、パラメータの挿入、取り出しおよび削除のためのインタフェース512’を提供する。
ペンシステムは、パラメータ記憶モジュール512も含む。ペン停止後の状態を保持する必要性のある他のすべてのモジュールは、それらの状態パラメータを記憶するためにこのモジュールを呼び出す。また、パラメータ記憶モジュール512は、テンプレート定義のみではなく一意のペンパラメータ(ペン識別子等)または校正パラメータ等の生成で設定されるペン常駐パラメータを処理する。各パラメータは、不揮発性メモリに、名前、サイズおよびデータとともに記憶される。モジュール512は、パラメータの挿入、取り出しおよび削除のためのインタフェース512’を提供する。
<8.キーボード>
キーボードモジュール514は、ペンに対するテキスト入力を使用可能とするために備えられる。テンプレートデータベース511Bは、キーボードピジェットを含む特定の制御テンプレートを含む。制御テンプレートは、一連のパターンページ(例えば、セグメント、シェルフ、またはブック)について定義され、異なるページのキーボードピジェットには異なる言語が割り当てられる。メモリの効率上の理由から、各キーボードキーの特定の文字に対するマッピングは不揮発性メモリに常駐し、異なる言語が一連のパターンページの中の異なるページアドレスに割り当てられる。キーボードモジュールは、ペーパーイベントを傾聴(リスン)し、キーボードピジェットイベント時に、どのキーが叩かれたのかを計算し、カレントページアドレスに基づいてメモリからの適切な文字をロードする。インタフェース514’により、他のモジュールが、結果として生じる文字にアクセスできる。
キーボードモジュール514は、ペンに対するテキスト入力を使用可能とするために備えられる。テンプレートデータベース511Bは、キーボードピジェットを含む特定の制御テンプレートを含む。制御テンプレートは、一連のパターンページ(例えば、セグメント、シェルフ、またはブック)について定義され、異なるページのキーボードピジェットには異なる言語が割り当てられる。メモリの効率上の理由から、各キーボードキーの特定の文字に対するマッピングは不揮発性メモリに常駐し、異なる言語が一連のパターンページの中の異なるページアドレスに割り当てられる。キーボードモジュールは、ペーパーイベントを傾聴(リスン)し、キーボードピジェットイベント時に、どのキーが叩かれたのかを計算し、カレントページアドレスに基づいてメモリからの適切な文字をロードする。インタフェース514’により、他のモジュールが、結果として生じる文字にアクセスできる。
<9.項目選択>
項目選択モジュール516は、ペンユーザがペンを用いてペンメモリから項目を選択可能にするために実装される。テンプレートデータベース511Bは、ペンメモリの中の項目と関連付けられている一つ以上の専用ピジェットを含む。このような項目は、例えばペン常駐アドレスブックのアドレスレコードであり得る。項目を選択するために、ユーザは、対応するピジェットにチェックマークを付ける。項目選択モジュール516は、関連するピジェットイベントについて傾聴(リスン)するために実装される。イベントの検出時、項目選択モジュール516は、関連付けられた項目を抽出し、ビットベクトルの中で内部的に管理する。他のモジュールは、インタフェース516’を通して項目にアクセスできる。
項目選択モジュール516は、ペンユーザがペンを用いてペンメモリから項目を選択可能にするために実装される。テンプレートデータベース511Bは、ペンメモリの中の項目と関連付けられている一つ以上の専用ピジェットを含む。このような項目は、例えばペン常駐アドレスブックのアドレスレコードであり得る。項目を選択するために、ユーザは、対応するピジェットにチェックマークを付ける。項目選択モジュール516は、関連するピジェットイベントについて傾聴(リスン)するために実装される。イベントの検出時、項目選択モジュール516は、関連付けられた項目を抽出し、ビットベクトルの中で内部的に管理する。他のモジュールは、インタフェース516’を通して項目にアクセスできる。
<10.解釈>
解釈モジュール520は、ペンストロークを解釈するために提供される。解釈モジュール520は、関連するピジェットイベントを傾聴(リスン)するために実装される。イベントの検出時、解釈モジュール520は、出力項目を生成するためにイベントと関連付けられるストロークで解釈関数を実行する。場合により、複数のストロークが、例えばピジェットに対するそれらの位置に基づいて、解釈プロセスの前にグループ化されてよい。解釈関数は、例えばストロークを機械コード化された文字に変換してよい。解釈は、前述のサービス識別子によって与えられる特定のコンテキスト(例えば、eメール、ファックス、SMS)で実行されてよい。さらに、解釈関数は、前述のアドレスブック等のペン常駐ディクショナリによってサポートされてよい。インタフェース520’によって、他のモジュールが、解釈の結果にアクセス可能になる。
解釈モジュール520は、ペンストロークを解釈するために提供される。解釈モジュール520は、関連するピジェットイベントを傾聴(リスン)するために実装される。イベントの検出時、解釈モジュール520は、出力項目を生成するためにイベントと関連付けられるストロークで解釈関数を実行する。場合により、複数のストロークが、例えばピジェットに対するそれらの位置に基づいて、解釈プロセスの前にグループ化されてよい。解釈関数は、例えばストロークを機械コード化された文字に変換してよい。解釈は、前述のサービス識別子によって与えられる特定のコンテキスト(例えば、eメール、ファックス、SMS)で実行されてよい。さらに、解釈関数は、前述のアドレスブック等のペン常駐ディクショナリによってサポートされてよい。インタフェース520’によって、他のモジュールが、解釈の結果にアクセス可能になる。
<11.プロパティ割り当て>
プロパティ割り当てモジュール518は、プロパティテーブルを作成するために提供される。プロパティテーブルは、ユーザによって、適切にはペンを一つ以上のプロパティ選択ピジェットに接触させるユーザによって、ペンストロークに割り当てられるプロパティを含むサポートデータ構造である。このようなプロパティは、インプリメンテーションに応じて、プロパティ選択イベントに時間的に隣接するストローク、つまり先行するストロークおよび/または後続のストロークに作用してよい。プロパティテーブルは、関連するタイムスタンプのみではなく、チェックマークが付けられたプロパティ選択ピジェットによって与えられるすべてのプロパティ値の表示を含んでよい。
プロパティ割り当てモジュール518は、プロパティテーブルを作成するために提供される。プロパティテーブルは、ユーザによって、適切にはペンを一つ以上のプロパティ選択ピジェットに接触させるユーザによって、ペンストロークに割り当てられるプロパティを含むサポートデータ構造である。このようなプロパティは、インプリメンテーションに応じて、プロパティ選択イベントに時間的に隣接するストローク、つまり先行するストロークおよび/または後続のストロークに作用してよい。プロパティテーブルは、関連するタイムスタンプのみではなく、チェックマークが付けられたプロパティ選択ピジェットによって与えられるすべてのプロパティ値の表示を含んでよい。
このようにして、プロパティ割り当てモジュール518は、関連するピジェットイベントについて傾聴(リスン)するために実装される。イベントの検出時、プロパティ割り当てモジュール518は、関連するピジェット値をテンプレートデータベース511Bから引き出し、ピジェット値をプロパティテーブルに追加する。
プロパティは、通常、ストロークの処理のために、または処理手順自体のために、命令に関連してよい。プロパティ値は、色、線の太さ、行文字、時間分解能、または空間分解能等の表示品質を示してよい。さらに、プロパティ値は、所望の解釈コンテキスト(文字、数字、小文字、大文字、eメールアドレス、ファックス番号、銀行口座番号等)を示してよい。さらに別の代替策では、プロパティ値は、改ページ、ページ列、またはページマージン等のページフォーマットパラメータを示す。さらに、プロパティ値は、外部に記憶されている様々な個人データ(例えば、社会保障番号または個人に関する番号、電話番号、銀行口座番号)が、ペンストロークの特定のセットを処理するときに入力データとして使用されてよいことを宣言するために「アクセス許可」インジケータとしての機能を果たしてよい。
プロパティテーブルは、アプリケーションプログラム308(図3)が特定されたプロパティ値を容易に引き出して、ペンストロークに適用可能にする。このようにして、アプリケーションプログラムは、選択されたプロパティ値を引き出すためにテンプレート定義にペンストロークをマッチングさせる必要はない。代わりに、アプリケーションプログラムは、各々のタイムスタンプに基づき、プロパティ値をペンストロークにマッチングさせることによって、プロパティテーブルの中のプロパティ値を直接に適用してよい。このマッチングは、前述のトランスポートフォーマットで表現されるようなストロークに含まれる、前述のセッション識別子も考慮に入れてよい。したがって、セッション識別子がストロークデータの中で変化するたびに、すべてのプロパティは、それらのデフォルト値にリセットされる。ストロークデータに含まれる代替策または補足として、セッション識別子が、プロパティテーブル内のタイムスタンプが押された項目として含まれてよい。
<12.ファイルアセンブリ>
ファイルアセンブリモジュール522は、ペン外部のデータハンドラに露呈されるファイルオブジェクト300(図3)を生成するために実装される。該モジュール522は、トリガピジェットイベント等の専用イベントについて傾聴(リスン)するために実装される。専用イベントの検出時、ファイルアセンブリモジュール522は、座標マネージャモジュールから、バイナリトランスポートフォーマットでトリガピジェットと関連するストロークを取り出す。
ファイルアセンブリモジュール522は、ペン外部のデータハンドラに露呈されるファイルオブジェクト300(図3)を生成するために実装される。該モジュール522は、トリガピジェットイベント等の専用イベントについて傾聴(リスン)するために実装される。専用イベントの検出時、ファイルアセンブリモジュール522は、座標マネージャモジュールから、バイナリトランスポートフォーマットでトリガピジェットと関連するストロークを取り出す。
ファイルアセンブリモジュール522の機能性は、精緻化のレベルに依存する。上記のステップは、上記に定義されるようにレベル1の精緻化にとって十分である。
レベル3の精緻化の場合、モジュール522は、他のモジュールからデータ項目を取り出してよい。他のモジュールは、トリガピジェットと関連付けられる他のピジェットによって示される。このようなデータ項目は、キーボードモジュール514、項目選択モジュール516、プロパティ割り当てモジュール518、および解釈モジュール520から取り出されてよい。また、必要な場合、モジュール522は、このようなデータ項目、例えばキーボードモジュール514からの文字、または解釈モジュール520からの出力項目を結合する。最後に、このモジュールは、インタフェース522’を介して他のモジュールが使用可能になるファイルオブジェクト300(図3)を生成する。
このようなファイルオブジェクトは、例えば以下の構造を有してよい。
ファイルヘッダ(トリガピジェットID、ページアドレス、ページ数、プロパティ数)
ページデータヘッダ(ページアドレス、ピジェット数)
ページデータ(トランスポートフォーマットのストロークデータ)
ピジェットデータ(ピジェットID、タイムスタンプ)
プロパティデータ(ペン常駐パラメータ値、キーボードからの出力項目、項目選択からの出力項目、解釈からの出力項目、プロパティ割り当てからのプロパティテーブル)
ファイルヘッダ(トリガピジェットID、ページアドレス、ページ数、プロパティ数)
ページデータヘッダ(ページアドレス、ピジェット数)
ページデータ(トランスポートフォーマットのストロークデータ)
ピジェットデータ(ピジェットID、タイムスタンプ)
プロパティデータ(ペン常駐パラメータ値、キーボードからの出力項目、項目選択からの出力項目、解釈からの出力項目、プロパティ割り当てからのプロパティテーブル)
ファイルオブジェクトにより、アプリケーションプログラム308(図3)、および、場合により、フローコントローラ306は、そのすべての部分または選択された部分を特定し、抽出することができる。
精緻化レベル2、4および5でのファイルオブジェクトの生成は、<14.ストロークコンバータ>、<15.エンクリプタ>、および、<16.インポータ>の項において、それぞれ後述する。
ファイルオブジェクトに含まれるストロークの選択は、トリガピジェットIDに含まれるコンテンツ情報から決定されてよい。このようなコンテンツ情報は、例えばカレントパターンページまたはブックを示してよい。つまり、選択されたストロークは、トリガピジェットと同じページユニットグループに属する必要がある。ストロークを選択する代替の方法があるのは明らかである。例えば、ストロークは、専用ペンストロークによって定義される境界領域内から選択されてよい(つまり、ペンに対して何を露呈するべきかを示すために、ペンは製品上で移動される)。別の例では、ペンメモリ内のすべてのストロークは、露呈のために自動的に選択され、適切には一つのファイルオブジェクトがパターンページまたはブックごとに作成される。場合により、ストロークは、例えばデータの前回の露呈のための時間等の時間基準に関して選択されてよい。
すべてのこのようにして選択されたストロークは、ファイルオブジェクトにストロークとして組み込まれてよい。代替的に、ピジェットおよび/またはプロパティデータとして表現されていないそれらのストロークのみが、ファイルオブジェクトの中に実際のストロークとして組み込まれる。
ファイルアセンブリモジュール522は、ファイルオブジェクトに独立データを挿入するために実装されてもよい。独立データは、ペンによって記録されるペンストロークにも、ペン自体にも関連していない。独立データは、挿入される代わりに、例えば、このようなデータのある別のファイルオブジェクトに対するポインタを含むファイルオブジェクトによってファイルオブジェクトと関連付けられてよい。
独立データは、任意の種類の非位置データを含んでよい。非位置データは、ペンの中のセンサによって引き出されてよい、あるいは、通信インタフェース218(図2)を介してペンによって受信されてよい。一例では、独立データは、位置決定のために使用される画像を捕捉する同じ画像センサによって入力される。別の例では、独立データは、ペンの中の補助画像センサによって入力される。このような独立データは、一つ以上の画像(つまり静止画像または動画)の形を取ってよく、あるいは、このような画像から抽出されるデータ(例えば、バーコードから復号されたデータまたは任意の他の機械読取可能コード、または光学式文字認識(OCR)処理から生じる機械コーディングされたテキスト)の形を取ってよい。さらに別の例では、独立データは、ペンの中の音声センサによって記録される音声データであってよい。
ファイルアセンブリモジュール522は、座標のストリームの中で専用ピジェットを特定するトランスレータモジュール506によって、あるいは、専用コマンドを形成する一つ以上のペンストロークを検出する解釈モジュール520によって生成されてよいイベントによって、独立データをファイルオブジェクトに接続するためにトリガされてよい。代替的に、イベントは、押されているペン上のボタン222(図2)を検出するペンシステムによって生成されてよく、(例えばペンの中のマイクを介して)専用音声コマンドを検出するペンシステムによって生成されてよく、あるいは、通信インタフェース218(図2)で受信されるデータ内での特定のパラメータ値、専用フラグビット(複数の場合がある)等の受信を検出するペンシステムによって生成されてよい。
あるユーザシナリオでは、ユーザは、製品上のバーコードを横切ってペンを移動してよい。ペンの中のソフトモジュールは、EANまたはUPC等の適切な外来の規格に従ってバーコードを特定し、例えば製品識別番号に復号する。次に、ユーザは、製品識別番号と該製品または別の製品に記録されている任意の位置データを含むファイルオブジェクトを作成し、露呈するように、ペンに命令してよい。ファイルオブジェクトは、例えば、情報管理システムを介して発注、購入、または情報取り出しのために製品識別番号を通信するために使用されてよい。さらに別の代替策では、製品識別番号は、情報管理システムの位置コーディングされた製品を特定するために、つまり前述のページアドレスを置き換えるまたは補足するために使用される。
別のユーザシナリオでは、ユーザは、場合によりペンを用いて位置コーディングされた製品上に書き込むのと同期して、ペンの中またはペンに対する付属品の中のマイクを介して音声の記録を命令する。ユーザは、次に、該音声記録と製品に記録されている位置データを含むファイルオブジェクトを作成し、露呈するように、ペンに命令する。ファイルオブジェクトは、例えば、音声を増強したメモレコードを形成するために使用されてよく、あるいは、情報管理システムを介して受取人に通信される音声メッセージと文書メッセージが結合されたメッセージを形成するために使用されてよい。
さらに別のユーザシナリオでは、ユーザは、ペンの中またはペンに対する付属品の中の画像センサによるデジタル写真またはビデオシーケンスの記録を命令する。ユーザは、写真またはビデオ録画、および製品上に記録された位置データを含むファイルオブジェクトを作成し、露呈するように、ペンに命令してよい。ファイルオブジェクトは、例えば、情報管理システムを介して受取人に通信されるマルチメディアメッセージまたは電子葉書を作成するために使用されてよい。
さらに別の変形では、独立データは、前述の中継データの少なくとも一部を含む。中継データは、好ましくは、関連するアプリケーションプログラム308(図3を参照)のホストとなる受信側デバイス304等の、情報管理システムの意図された受取人の明示アドレスの形を取る。
<13.露呈>
露呈モジュール524は、ペンの外部でデータハンドラに収集されたデータを露呈するために提供される。このモジュールは、トリガピジェットイベント等の専用イベントについて傾聴(リスン)するように実装される。専用イベントの検出時、露呈モジュール524は、ファイルアセンブリモジュール522からファイルオブジェクトを取り出し、デバイス識別子で示される特定のデバイス/ポートにファイルをプッシュすることによって、または、外部データハンドラがペンからファイルオブジェクトをプルすることを可能にすることのいずれかによって、そのデータファイルオブジェクトを露呈する。例えば、ファイルオブジェクトは、ペンメモリ内のファイルシステムに記憶されてよく、ファイルシステムは、外部データハンドラに露呈される。例えば、ファイルシステムは、USB(ユニバーサルシリアルバス)、FTP(ファイル転送プロトコル)、HTTP(ハイパーテキスト転送プロトコル)または任意の他の適切なプロトコルを介してブラウジングのために露呈されてよい。
露呈モジュール524は、ペンの外部でデータハンドラに収集されたデータを露呈するために提供される。このモジュールは、トリガピジェットイベント等の専用イベントについて傾聴(リスン)するように実装される。専用イベントの検出時、露呈モジュール524は、ファイルアセンブリモジュール522からファイルオブジェクトを取り出し、デバイス識別子で示される特定のデバイス/ポートにファイルをプッシュすることによって、または、外部データハンドラがペンからファイルオブジェクトをプルすることを可能にすることのいずれかによって、そのデータファイルオブジェクトを露呈する。例えば、ファイルオブジェクトは、ペンメモリ内のファイルシステムに記憶されてよく、ファイルシステムは、外部データハンドラに露呈される。例えば、ファイルシステムは、USB(ユニバーサルシリアルバス)、FTP(ファイル転送プロトコル)、HTTP(ハイパーテキスト転送プロトコル)または任意の他の適切なプロトコルを介してブラウジングのために露呈されてよい。
露呈モジュール524は、すべての必要なプロトコルスタックを含む。また、露呈モジュール524は、個別のモジュールに割り当てられるリンクをセットアップする責任により、また、デバイス抽象(デバイスアブストラクション)と作業することにより、送信手段と無関係になるように設計される。リンクをセットアップする責任は、リンク選択モジュール(図示せず)に割り当てられている。リンク選択モジュールは、例えばペンがデータファイルオブジェクトの露呈を実行するためであるときに、通信リンクの選択とセットアップを扱う。
一実施形態では、露呈モジュールが、自律ファイルオブジェクトの露呈を行う非同期モードと、データのオンラインエンドツーエンド通信を行う従来の同期モードの間で切り替わってよい。このモードは、露呈をトリガするイベントによって示されてよい。
<14.ストロークコンバータ>
レベル2の精緻化の場合、ペンシステムは、ストロークコンバータモジュール526とピクチャエンコーダを含んでよい。ストロークコンバータモジュール526は、ストロークの所定のセットをメモリブロック212(図2)の中のピクチャバッファに転送するものである。ピクチャエンコーダは、ピクチャバッファを所定のタイプの画像、例えばビットマップフォーマットまたはベクトルグラフィックスフォーマットに符号化するものである。ストロークコンバータモジュールは、画像変換手順の間に、プロパティ割り当てモジュール518によって割り当てられる任意のプロパティをストロークに適用するために実装されてもよい。例えば、ストロークコンバータモジュールは、プロパティ割り当てモジュール518によって検出されたすべての表示品質の変化を含んだタイムスタンプが押されたテーブルを構築してもよく、ピクチャバッファにストロークを転送する一方で該変化をストロークに適用してよい。
レベル2の精緻化の場合、ペンシステムは、ストロークコンバータモジュール526とピクチャエンコーダを含んでよい。ストロークコンバータモジュール526は、ストロークの所定のセットをメモリブロック212(図2)の中のピクチャバッファに転送するものである。ピクチャエンコーダは、ピクチャバッファを所定のタイプの画像、例えばビットマップフォーマットまたはベクトルグラフィックスフォーマットに符号化するものである。ストロークコンバータモジュールは、画像変換手順の間に、プロパティ割り当てモジュール518によって割り当てられる任意のプロパティをストロークに適用するために実装されてもよい。例えば、ストロークコンバータモジュールは、プロパティ割り当てモジュール518によって検出されたすべての表示品質の変化を含んだタイムスタンプが押されたテーブルを構築してもよく、ピクチャバッファにストロークを転送する一方で該変化をストロークに適用してよい。
<15.エンクリプタ>
レベル4の精緻化の場合、ペンシステムは、エンクリプタモジュール528を含んでよい。エンクリプタモジュール528は、暗号化されたファイルオブジェクトを生成するために所定の暗号化アルゴリズムに従ってファイルオブジェクトのすべてまたは選択された部分を処理する。代替的に、または追加的に、エンクリプタモジュールは、ストロークのすべてまたは部分集合のページアドレスを排除またはスクランブルしてよい。例えば、排除/スクランブル動作は、特定のページアドレスからのストロークのみに適用されてよい。
レベル4の精緻化の場合、ペンシステムは、エンクリプタモジュール528を含んでよい。エンクリプタモジュール528は、暗号化されたファイルオブジェクトを生成するために所定の暗号化アルゴリズムに従ってファイルオブジェクトのすべてまたは選択された部分を処理する。代替的に、または追加的に、エンクリプタモジュールは、ストロークのすべてまたは部分集合のページアドレスを排除またはスクランブルしてよい。例えば、排除/スクランブル動作は、特定のページアドレスからのストロークのみに適用されてよい。
<16.インポータ>
前述のように、非位置データは、ペンの中のセンサを介して、あるいは、通信インタフェース(図2の218)を介して、ペンの中にインポートされてよい。例えば、センサは、マイク等の音声センサであってよく、あるいは、位置決定のために画像を生成する一次センサまたは補助センサのいずれかである画像センサであってよい。
前述のように、非位置データは、ペンの中のセンサを介して、あるいは、通信インタフェース(図2の218)を介して、ペンの中にインポートされてよい。例えば、センサは、マイク等の音声センサであってよく、あるいは、位置決定のために画像を生成する一次センサまたは補助センサのいずれかである画像センサであってよい。
ペンシステムは、一つ以上のインポータモジュール530を含んでよい。インポータモジュールは、画像センサデータ、音声データまたは通信インタフェースデータ等の特定のインポート手段専用であってよい。代替的にまたは追加的に、インポータモジュールは、機械コード化されたテキスト、バーコードと関連付けられたデータ、または別の特定のタイプの機械読取可能コード、写真データ、ビデオシーケンスデータ等のデータの特定のタイプの処理に専用であってよい。
以下に、特定のタイプのインポータモジュール、つまり定義インポータモジュールを、より詳細に説明する。
定義インポータモジュールは、ペンシステムの中に、一つ以上の特定のパターンページ上ですべてのまたはいくつかの機能領域を定義する定義データをインポートできる。定義データは、前述のテンプレート定義に相当してよい、あるいは、パターンページ上のユーザ領域あるいはその任意の組み合わせまたは部分集合でユーザ領域を特定する前述のページ定義であってよい。
後述するように、定義データによって、ペンは、精緻化レベル5でファイルオブジェクトを提供するのみではなく、さらに高度なユーザフィードバック/制御で操作可能になる。
定義インポータモジュールは、ペンの通信インタフェース(図2の218)を介して自動的に、または命令で定義データをインポートするように構成されてよい。例えば、ペンは、内部メモリからまたは専用のネットワークサーバから定義データを取り出し、この定義データをペンに提供するローカル装置(図3の302)に接続してよい。代替的に、定義データキットが、CD−ROM、フロッピー(登録商標)ディスク、USBメモリ等上で、あるいはインターネットのサイトからダウンロードを介して、ペンユーザに提供されてよい。ペンと通信するローカル装置内に適切に設置された後、ローカル装置は、定義データキット、またはその選択された部分をペンに提供できる。さらに別の代替策では、ペンは、通信ネットワーク上の専用サーバに接続してよい。インポータモジュールは、そこから定義データを引き出す。定義データが、インポータモジュールによってアクセスされるペンに取り外し自在に設置される記憶装置の中で提供されることも考えられる。記憶装置は、SDカード、CFカード、SmartMedia(登録商標)カード、MMC、メモリスティック等の任意の公知のタイプのカードまたはカートリッジの形をとってよい。これらの実施形態のすべてにおいて、定義データは、典型的には、定義データをペンメモリに記憶させる結果となる特定のアップグレードセッションでインポートされる。その結果、ペンはインポートされ、記憶された定義データによってサポートされるすべてのパターンページで動作可能である。
しかしながら、一つの特定な実施形態では、ペンは、記録された画像からこのような定義データを推測できる。
図6に示されているように、製品600には、位置コード602(602Aで拡大されている)と定義コード604(604Aで拡大されている)の両方が設けられてよい。定義コード604は、特定のパターンページまたは一連のこのようなページ、例えばブックまたはシェルフに当てはまる可能性のある定義データをコーディングする。定義データは、適切には、例えば一つ以上のページアドレスの形を取るアプリケーションパターンページの識別子を含む。
典型的なユーザシナリオでは、ユーザは、特定の製品のための関連するテンプレート定義またはページ記述を入力するために定義コードを横切ってペンを移動する。定義コードは、製品と統合されるものとして、あるいは製品とは個別なものとして提供されてよく、製品からの位置データの読み取りの前、間、または後のいずれかにおいて、ペンに入力されてよい。
定義コードを使用すると、テンプレート定義またはページ記述を、ペンのテンプレートデータベース(図5の511B)に追加できる。ペンは、位置データベースに、セグメント、シェルフ、ブックまたはページ等の抽象パターンの特定の部分集合のサイズと位置を定義するパターンフォーマットデータを、事前に記憶しさえすればよい。この部分集合内のパターンページ上のピジェットおよびユーザ領域の配置と機能についてのすべての情報は、インポートされる定義データに含まれてよい。
ユーザ領域の認識が高まると、ペンは、さらに高度な制御および/またはユーザフィードバックで操作できる。例えば、ペンは、MMI(図2の220)のアクティブ化を介して、位置が特定のユーザ領域の範囲に入ることを信号で知らせてよい。さらに、ペンは、適切には定義データの中の指示によって、ペンがパターンページ上のユーザ領域の所定のセットにペンストロークを記録するまで、パターンページ上のペンストロークの出力を遮断するように指示されてよい。ペンは、例えば単一または複数ページ書式の製品が適切に記入されたことを検証することも可能である。
多くの異なる大容量のコードが、二次元バーコードまたは行列コード等の不連続定義データをコーディングするために使用できる。適切なコードの追加の例、およびそれらの復号化のための方法は、2004年6月28日に出願された出願人の米国特許仮出願第60/582,861号や、出願人の従前の公開、米国第2001/0038349号、米国第2002/0000981号に示されている。
定義コードを処理するために、ペンシステムは、図7に例示されるように修正されてよい。画像処理モジュール704は、記録された画像を、位置のストリームまたは非位置データのストリームに処理することができる。非位置データのストリームは、トランスレータモジュール706によって分析される。トランスレータモジュール706は、定義データとして非位置データを特定し、定義データイベントを発行してよい。インポータモジュールは、イベントを検出すると、定義データからテンプレート定義またはページ記述を構築し、結果を記憶するために実装されてよい。テンプレートデータベース(図5の511B)の中で、またはページ記述の記憶に専用の位置データベース(図5の511)の一部であるページ記述データベースの中で、関連するページアドレス(複数の場合がある)によってインデックスが付けられる。インポータモジュールは、使用頻度、前回使用以降の時間等に基づいてレコードを排除することによって、メモリ容量を解放するためにテンプレートデータベース/ページ記述データベースを間欠処理するように構成されてよい。
トランスレータモジュール706は、テンプレートデータベースとページ記述データベースの両方に記録された位置をマッチングさせるために実装されてよい。トランスレータモジュール706は、ピジェットに加えてユーザ領域を示すイベントを出力してよい。
ここでレベル5の精緻化に戻ると、ファイルアセンブリモジュール(図5の552)は、ファイルオブジェクトの中に、一つ以上のパターンページ上のペンストロークによってヒットされる各ユーザ領域の識別子を含んでよい。インポートされた定義データがユーザ領域と関連する関数を詳述する場合、ペンシステムはインポートされた定義データに従ってペンストロークを処理するように設計されてよい。このようなケースでは、ファイルアセンブリモジュールは、このような処理の結果をファイルオブジェクトに組み込んでよい。
また、ファイルアセンブリモジュールは、物理的レイアウトの定義、またはその一部をファイルオブジェクトに含んでよい。このような定義は、物理的レイアウトの電子表現、つまり、電子表現が使用できる情報管理システム内での記憶場所に対するポインタを含んでよい。
特定の実施形態では、ファイルオブジェクトをさらにプラットホームと無関係にするために、ペンシステムが、ペンストロークの集合として物理的レイアウトをレンダリングし、ファイルオブジェクトの中で物理的レイアウトを表現するために、これらの架空のペンストロークを組み込むように構成されてよい。一つの同じアルゴリズムが、ファイルオブジェクトからペンストロークと物理的レイアウトを抽出し、作成し直すために使用できる。
追加的に、または代替的に、ファイルアセンブリモジュールは、ファイルオブジェクトの中に完全にまたは部分的に含まれる、あるいはファイルオブジェクトに添付される独立データとして、定義データを処理してよい。
定義データと定義コードを使用することにより、非同期情報管理システムでコード化された基板または製品を簡略且つ便宜的に生成し、使用することが可能になる。ユーザは、適切な製品を作成するために、出願人の従前の公開米国第2002/0040816号に開示されているようなコンピュータベースの生成ツールを活用してよい。図8に示されているように、ツールは、製品の物理的レイアウトと機能レイアウトの両方ともを定義するために使用されてよい(ステップ800、802)。次に、ツールは、製品の少なくとも機能レイアウトを表す定義データを生成し(ステップ804)、製品の上に印刷される位置コードを定義する(ステップ806)。以後、位置コード、定義コードおよび物理的レイアウトは、プリンタのプリントエンジンによって基板に適用する(ステップ814)ためにレンダリングされる(ステップ808から812)。レンダリングのすべてまたは一部は、ツール内でまたはプリンタ内で達成されてよい。
印刷された定義データは、背景ピクチャとして、またはワープロ文書、プレゼンテーション用文書、電子メール等のサポートグラフィックスの完全/オリジナル電子表現としてのいずれかで製品の物理的レイアウトを表してよい。別の代替策として、物理的レイアウトは、物理的レイアウトがいくつかの形式で使用できる情報管理システムの記憶位置に対するポインタの形で定義されてよい。後者のケースでは、生成ツールは、ユーザに、印刷の前に記憶場所を選択または特定するようにプロンプトを出す。
代替的にまたは追加的に、ペンシステムは、中継データを、自動的にまたは命令によりインポートするように構成されるインポータモジュールを含んでよい。インポートされた中継データは、情報システムにおける対象となる受取人、例えば関連するアプリケーションプログラム(図3の308)のホストとなる受信側デバイス(図3の304)の宛先アドレスを明示的に特定してよい。宛先アドレスは、URL(ユニフォームリソースロケータ)等のネットワークアドレス、電子メールアドレス、IP(インターネットプロトコル)アドレス等として示されてよい。
ペンシステムが明示的な宛先アドレスをインポート可能にすることによって、情報システムにおけるフロー制御は簡略化されてよい。ある例では、ペンシステムは、対象となる受信側デバイスまたはアプリケーションプログラムに直接的にファイルオブジェクトをプッシュしてよい。別の例では、ペンシステムは、任意の遮断側フローコントローラ(例えば、図3の306)がアドレスに直接的に作用し、適切なデータを対象となる受取人に中継可能にするために、ファイルオブジェクトの中に明示的な宛先アドレスを含んでいる。したがって、フローコントローラがルックアップテーブルにアクセスする必要性は、低減される。
代替的にまたは追加的に、ペンシステムは、使用制限データのためにインポータモジュールを含んでよい。このデータは、ペンシステムによって記録される特定の位置データの使用についてペンシステムに制限を設定する。例えば、データは、位置データが製品から記録されてよい最大回数、または記録された位置データがペンから送信されてよい最大回数を定義してよい。代替的に、データは、ペンシステムがその後に製品から位置データを記録すること、あるいは記録された位置データを送信することを禁止される有効期限を定義してよい。有効期限を使用するには、ペンのタイミング回路が情報システムの中の共通の時間基準と同期していることが必要となる可能性がある。
使用制限データを提供すると、情報システムでコーディングされた製品の使用を制御可能になる。このような制御は、小切手、証拠書類、商品券、チケット等の金額を表す製品にとっては重要である可能性がある。使用制御は、調査、テスト、世論調査、調査、投票、ゲームおよびギャンブル等の、期限付き応用例においても重要となる場合がある。またさらに、製品の使用を制限することにより、ユーザは期限切れの製品を置き換えるために、あるいは、期限切れの製品を再度使用可能にするために、新しい製品を獲得しなければならないため、システムのプロバイダは将来の収益を確実なものにすることができる。
代替的にまたは追加的に、ペンシステムは、セキュリティデータのためのインポータモジュールを含んでもよい。インポータモジュールは、ペンから受信側デバイスに安全なデータ転送を実現するためにペンシステムにより使用されてよい。
セキュリティデータは、ペンシステムに対し、データが暗号化されなければならないことを信号で知らせてよい。さらにエンクリプタモジュール(図5の528)が異なる暗号化方法をサポートする場合、セキュリティデータは、エンクリプタモジュールによるデータの暗号化に使用される特定の暗号化方法を特定する識別子を含んでよい。
ファイルオブジェクト内のすべてのデータが暗号化される必要はない。ファイルオブジェクトがフローコントローラ(図3の306)によって中継される必要がある場合には、少なくとも中継データがフローコントローラにアクセスできるために非暗号化されなければならない。同様に、受信側デバイスでの暗号解読のために必要とされるファイルオブジェクト内の他のデータは、後述するように、非暗号化されなければならない。一実施形態では、インポートされたセキュリティデータが、暗号化されるデータを少なくとも部分的に定義する。
エンクリプタモジュールは、少なくとも機密性(情報が送信される間は秘密のままである)を、好ましくは送信された情報の認証(情報の送信者のアイデンティティが偽ではないことを受信者に保証する)および/または否認防止(情報の送信者も受取人も送信を否定することができない)も保証するために、対称暗号化または非対称暗号化のいずれか、あるいはその組み合わせを使用できる。情報の完全性(情報が送信される間に改変されていない)も、適切には、所定のハッシュ関数を使用することにより保証されてよい。
トリプルデータ暗号化規格(3−DES)アルゴリズム、高度暗号化規格(AES)アルゴリズム、国際データ暗号化アルゴリズム(IDEA)、ディッフィー−ヘルマン(DH)アルゴリズムおよびリベスト−シャミア−エイドルマン(RSA)アルゴリズム等の、使用されてよい多くの入手可能な標準暗号化アルゴリズムがある。追加の適切な暗号化アルゴリズムおよび関連する方法は、参照としてここに組み込まれる出願人の公開米国第2002/0034300号、米国第2003/0021419号、および米国第2003/0074562号に開示されている。
以下に、説明の目的のためにのみ、ペンにおける暗号化プロセスのいくつかの実施形態を説明している。
第一の実施形態では、ペンシステムは、インポートされたセキュリティデータからキーを抽出するか、または、所定の入力項目で所定のアルゴリズムを動作するか、のいずれかによって暗号キーを引き出す。ハッシュ関数等の所定のアルゴリズムは、セキュリティデータによってペンシステムに事前に設定される、または示されてよい。同様に、所定の入力項目は、セキュリティデータによってペンシステムに事前に設定される、または示されてよい。つまり、一つの特殊な実施形態では、ペンシステムは、事前に設定されたアルゴリズムを事前に設定された入力項目で動作することによって、セキュリティデータを使わずに暗号キーを引き出すことができる。前述の定義データまたはその一部は、このような入力項目を形成してよい。
第一の実施形態では、ペンシステムは、インポートされたセキュリティデータからキーを抽出するか、または、所定の入力項目で所定のアルゴリズムを動作するか、のいずれかによって暗号キーを引き出す。ハッシュ関数等の所定のアルゴリズムは、セキュリティデータによってペンシステムに事前に設定される、または示されてよい。同様に、所定の入力項目は、セキュリティデータによってペンシステムに事前に設定される、または示されてよい。つまり、一つの特殊な実施形態では、ペンシステムは、事前に設定されたアルゴリズムを事前に設定された入力項目で動作することによって、セキュリティデータを使わずに暗号キーを引き出すことができる。前述の定義データまたはその一部は、このような入力項目を形成してよい。
次に、ファイルオブジェクトの露呈の前に、ペンシステムはファイルオブジェクトの中のデータの部分を暗号化するために暗号キーを使用する。ファイルオブジェクトの完全性は、暗号化の前にファイルオブジェクトのコンテンツ全体のハッシュ値を計算することによって、および、そのハッシュ値をファイルオブジェクトの非暗号化された部分に含めることによって保証されてよい。
第一の実施形態では、受信側デバイスは、ファイルオブジェクトの暗号化された部分を復号できるためには暗号キーにアクセスできなければならない。したがって、キーは受信側デバイスに記憶されてよい。代替的に、受信側デバイスは、暗号キーをページアドレスと関連付けるデータベースにアクセスしてよい。前述の生成ツールは、次にこのデータベースと対話し、その結果適切な関連が、生成されるコーディングされた製品ごとにその中に作成される。このようにして、ファイルオブジェクトを受信すると、受信側デバイスは(ファイルオブジェクトの非暗号化部分から)ページアドレスを抽出し、このページアドレスに基づいてデータベースから適切な暗号キーを引き出し、ファイルオブジェクトの暗号化された部分を復号するために暗号キーを使用してよい。セキュリティを強化するために、暗号キーは、ペンパラメータにより指定される特定のペンまたは特定のタイプのペンから受信されるデータの暗号解読のためにのみ使用できなければならない。さらに、認証および機密性のための任意の周知の手段が、受信側デバイスとデータベースとの間の通信において提供されてよい。
第二の実施形態では、ペンシステムは、対象となる受信側デバイスの公開キーをインポートされたセキュリティデータから抽出し、ペンの中の乱数発生器から乱数を引き出し、乱数を暗号化するために公開キーを使用し、このようにして暗号化された乱数をファイルオブジェクトに含める。さらに、ペンシステムは、第一の所定のアルゴリズムに基づいて乱数のハッシュ値を計算し、このハッシュ値をファイルオブジェクトの中のデータの暗号化部分の暗号キーとして使用する。ファイルオブジェクトの完全性は、第二の所定のアルゴリズムに基づいて、暗号化の前のファイルオブジェクトのコンテンツ全体に対するハッシュ値を計算することによって、および、ファイルオブジェクトの非暗号化部分にこのハッシュ値を含めることによって保証されてよい。
ファイルオブジェクトを受信すると、受信側デバイスは、暗号化された乱数をファイルオブジェクトから抽出し、暗号化された乱数を復号するためにそのプライベートキーを使用し、第一の所定のアルゴリズムを使用することによって乱数のハッシュ値を計算し、ファイルオブジェクトの暗号化された部分を復号するための暗号キーとしてハッシュ値を使用してよい。
ある実施形態では、中継データおよび/または使用制限データおよび/またはセキュリティデータが、通常は、準備アップグレードセッションで、ペンの通信インタフェースを介して、またはペンの中に差し込まれた記憶装置からインポートされる。別の実施形態では、この入力データは、ペンの一次画像センサによって録画される一つ以上の画像の中で機械読取可能コードを特定し、復号するペンシステムによってインポートされる。
このようにして、中継データ、使用制限データおよびセキュリティデータは、図6の定義コード604と同様に、一つ以上の機械読取可能コードとして製品上に埋め込まれてよい。このような製品は、前記定義コーディング製品と同様に、ユーザ入力に基づいてコンピュータベースの生成ツールによって生成されてよい。ユーザは、製品に中継データとして符号化される受信側デバイスまたはアプリケーションプログラムの宛先アドレスを入力できる。同様に、ユーザは前述の最大回数または有効期限を入力してよい。同様に、ユーザは、情報システムで露呈されるデータの少なくとも一部を暗号化する際に、ペンシステムのエンクリプタモジュールによって使用するためのセキュリティデータを入力してよい。
中継データ、使用制限データ、およびセキュリティデータは、特定のパターンページまたは一連のこのようなページに適用してよい。したがって、この入力データは、適切には、例えば一つ以上のページアドレスの形を取る該当するパターンページの識別子を含む。
定義データ、中継データ、使用制限データおよびセキュリティデータが、一個の同じ機械読取可能コードで符号化されていても、あるいは通信インタフェース上で、アップグレードセッションにおいてインポートされるとしても、各々ページユニット階層の異なるレベルに適用できることが明らかでなければならない。
一実施形態では、インポータモジュールはインポートされた入力データ(定義データ、中継データ、使用制限データ、およびセキュリティデータ)をペンメモリの階層データ構造の中に記憶し、データ構造の一つのレベルで記憶されたデータは、このレベルと任意の従属レベルの両方に適用可能である。データ構造は、通常、ページユニット階層(図1)を反映し、その結果、各々の従属レベルはその上位レベルと関連するページユニットグループの部分集合を表す。このようにして、インポータモジュールは、その関連ページアドレスに基づいて、階層のその適切なレベルに入力データの任意の項目を記憶する。ペンシステムは、階層の各レベルで関連するページユニットグループについて記憶される入力データを、一番上のレベルと特定のページユニットの間に蓄積してよいにすぎない。そのため、このような記憶は、特定のページユニットからの位置データの処理で使用されるすべてのインポートされた入力データを見つけ出す際の効率性を与える。例えば、特定のセグメントと関連するセキュリティデータは、特定のセグメントと関連するセグメントレベルに記憶され、このセグメントの特定のシェルフと関連する使用制限データは、特定のシェルフに関連するシェルフレベルに記憶され、このシェルフの特定のブックに関連する中継データは、特定のブックと関連するブックレベルに記憶され、このブックの特定のページと関連する定義データは、特定のページと関連するページレベルに記憶される。この例では、ペンシステムが、特定のページユニットに属する位置を処理すると、ページレベルで関連する定義データを見つけ出し、ブックレベルで関連する中継データを見つけ出し、シェルフレベルで関連する使用制限データを見つけ出し、そして、セグメントレベルで関連するセキュリティデータを見つけ出す。
本発明は、主にいくつかの実施形態を参照して前述してきた。しかしながら、当業者によって容易に理解されるように、前記に開示されているもの以外の実施形態は、添付特許請求項によってのみ定義され、制限される本発明の範囲および精神の中で等しく可能である。
例えば、イベントは、ペン上のボタンを押す、あるいはペンの中のマイクによって録音される口頭のコマンドを発するユーザによって、ペンシステムで生成されてよい。トリガピジェットイベントは、このようなイベントによって置き換えまたは補足されてよい。同様に、コンテンツおよび/またはコンテキスト情報は、このような代替イベントによってペンシステムに示されてよい。
ペンストロークが記録されるたびに、ペンシステムがファイルオブジェクトを自動的に作成することが考えられる。各々のファイルオブジェクトは、各々のパターンページまたはブックのためのストロークを含むために作成されてよい。ファイルオブジェクトは、次に、命令により、または自動的でのいずれかで外部データハンドラに露呈されてよい。自動的な露呈は、通信インタフェースを介してペンメモリ内のファイルシステムを露呈することを含む場合がある。
前記の実施形態では、抽象的なパターンの分割は、論理位置がペンの中の位置データベースに基づいて計算されるという点で動的である。代替の実施形態では、抽象的なパターンは、パターンの中で符号化されることによって静的であってよい。例えば、米国第6,330,976号は、コーディングセルが製品表面上でタイル表示され、各々のセルがローカル位置とページ識別子の両方をコーディングするコーディングパターンを開示している。パターンを復号することにより、ペンはこのようにしてその論理位置を直接的に検出できる。
また、ペンは、加速度計、ローラボール、三角測量装置等の相対的な位置決めのための補足装置を含んでよい。このようにして、ペンは、位置コードから引き出される絶対位置を、補足装置によって示される相対位置で補足することができる。この場合は、位置コードは、製品上のいくつかの絶対位置をコーディングすることしか必要としない。
さらに、ペンシステムは、異なるソフトウェアモジュールの間での機能性の分配に基づいてよい。つまり、ペンシステムソフトウェアは、個別のモジュールから構成される必要はない。
またさらに、本発明の特定の態様は、ここに説明するようにファイルオブジェクトともに使用するために制限されない。特に、<16.インポータ>のインポータ機能性は、導入部において説明するように、ルックアップサーバおよびアプリケーションサーバとのエンドツーエンド通信のために設計されるペンシステムにも組み込まれてよい。
Claims (63)
- 電子ペンにおいて、デジタルに記録された位置データを管理する方法であって、
前記方法は、
ファイルシステムでの保存に適したファイルオブジェクトに、前記位置データを組み込むことと、
前記ファイルオブジェクトを、外部データハンドラへプッシュすること又は外部データハンドラからのプルで利用できる状態にすることにより、前記位置データを外部データハンドラへ提示することと、
を含むことを特徴とする方法。 - 前記電子ペンにおいて、前記位置データを位置データベースにマッピングすること、をさらに含み、
前記位置データベースは、位置データを処理規則に関連付けるものである請求項1に記載の方法。 - 前記位置データを組み込むことは、前記記録されている位置データに基づいて専用の処理規則が前記位置データベース内で特定されたときに開始される請求項2に記載の方法。
- 前記専用の処理規則を示す規則識別子を、前記ファイルオブジェクトに組み込むこと、をさらに含む請求項3に記載の方法。
- 前記マッピングの間に特定された各処理規則を示す規則識別子を、前記ファイルオブジェクトに組み込むこと、をさらに含む請求項2または3に記載の方法。
- 規則識別子ごとの時間識別子を、前記ファイルオブジェクトに含めること、をさらに含む請求項4または5に記載の方法。
- 前記位置データの中で、少なくとも一つのページユニット識別子と、一組の位置項目を特定することと、
少なくとも一部の前記位置項目を時間的にコヒーレントなストローク項目にグループ化し、各ストローク項目をそのページユニット識別子と関連付けることと、
前記ストローク項目と前記ページユニット識別子を、前記ファイルオフジェクトに組み込むことと、
をさらに含む請求項1〜6のいずれか一項に記載の方法。 - 各ストローク項目についての時間識別子と、前記電子ペンの特徴を示すペン常駐パラメータの値と、前記電子ペン所有者の特徴を示すペン常駐パラメータの値とのうち、少なくとも一つを、前記ファイルオブジェクトに組み込むこと、をさらに含む請求項7に記載の方法。
- 前記ストローク項目を組み込むことが、ページユニット識別子により前記ストローク項目をグループ化することを含む、請求項7または8に記載の方法。
- 前記位置データを組み込むことが、前記記録されている位置データに基づいて専用の処理規則が前記位置データベース内で特定されたときに開始され、
前記方法は、
前記専用の処理規則から少なくとも一つのページユニット識別子を特定することと、
特定されたページユニット識別子と関連付けられているストローク項目を、前記ファイルオブジェクトに組み込むこと、をさらに含む請求項7〜9のいずれか一項に記載の方法。 - 各ページユニット識別子が、コーディングパターン内でのその特定のページユニットに対するグローバルアドレスである請求項7〜10のいずれか一項に記載の方法。
- 前記位置項目が、前記特定のページユニット内のローカル位置である請求項11に記載の方法。
- 前記位置データが、前記コーディングパターンから前記電子ペンによって記録されるものである請求項11または12に記載の方法。
- 前記電子ペンにおいて、前記位置データを位置データベースにマッピングすること、をさらに含み、前記位置データベースは、位置データを処理規則に関連付けるものであり、
前記位置データベースは、各ページユニットを、そのページユニットにおける機能領域を定義するテンプレートと関連付け、各機能領域は、複数の前記処理規則のうちの一つを示すものであり、
前記マッピングすることが、
前記位置データに基づいて複数の前記ページユニットのうちの一つを特定することと、
前記特定されたページユニットに関連付けられた前記テンプレートを特定することと、
前記特定されたテンプレートに前記位置項目をマッピングすることにより、少なくとも一つの機能領域を特定することと、
を含む、請求項11〜13のいずれか一項に記載の方法。 - 前記位置データベースから、前記位置データに基づいて、処理規則を取り出すことと、
前記取り出された処理規則を少なくとも一部の前記位置データに適用して、動的パラメータ値を生成すること、
をさらに含む請求項2〜6のいずれか一項に記載の方法。 - 前記動的パラメータを、前記ファイルオブジェクトに組み込むこと、をさらに含む請求項15に記載の方法。
- 前記処理規則が、文字認識プロセスの命令を含み、前記動的パラメータ値が、テキスト項目である請求項15または16に記載の方法。
- 前記ファイルオブジェクトが、処理命令も処理命令に対する呼び出しも持たないデータ記憶オブジェクトである請求項1〜17のいずれか一項に記載の方法。
- 前記電子ペンのワーキングセッションが変化したことを検出することと、
現在のワーキングセッションに一意なセッション識別子を割り当てることと、
をさらに含む請求項1〜18のいずれか一項に記載の方法。 - 前記セッション識別子を、前記ファイルオブジェクトに組み込むこと、をさらに含む請求項19に記載の方法。
- テキストデータベースから、前記位置データに基づいて、前記電子ペンのメモリに記憶されているテキスト項目を取り出すこと、をさらに含む請求項1〜20のいずれか一項に記載の方法。
- 前記テキスト項目を、前記ファイルオブジェクトに組み込むこと、をさらに含む請求項21に記載の方法。
- 前記テキスト項目が、電子通信のためのアドレスである請求項21または22に記載の方法。
- 前記テキストデータベースが、位置データの複数のセットを複数の文字にそれぞれ関連付けるキーボード定義を含み、前記テキスト項目が、前記複数の文字のうちの少なくとも一つを含む請求項21または22に記載の方法。
- 前記位置データが、前記電子ペンの移動を反映するグラフィック情報を表す第一のタイプの位置データと、前記電子ペンの外部で前記第一のタイプの位置データに適用される処理規則を表す第二タイプの位置データと、を含み、
前記方法は、
前記第一のタイプの位置データを、時間的にコヒーレントなストローク項目として前記ファイルオブジェクトに組み込むことと、
ストローク項目ごとの時間識別子を、前記ファイルオブジェクトに組み込むことと、
前記第二のタイプの位置データから特定される処理規則ごとに、規則識別子を前記ファイルオブジェクトに組み込むことと、
規則識別子ごとに、時間識別子を前記ファイルオブジェクトに組み込むことと、
をさらに含む請求項1〜24のいずれか一項に記載の方法。 - 前記処理規則が、視覚的なグラフィック特性、時間分解能または空間分解能、背景画像、解釈コンテキスト、もしくは制限されているアクセスの表示、に適用される請求項25に記載の方法。
- 非位置データを前記ファイルオブジェクトに組み込むこと、をさらに含む請求項1〜26のいずれか一項に記載の方法。
- 前記非位置データが、前記電子ペンにより記録されるバーコードデータ、前記電子ペンにより記録される音声データ、前記電子ペンにより記録される画像データ、前記電子ペンにより外部通信のためのインタフェース上で受信される画像データ、前記電子ペンにより取り出される文字データ、あるいは、前記電子ペンにより外部通信のためのインタフェース上で受信される文字データ、を含む請求項27に記載の方法。
- 外部通信のためのインタフェース上で文字データを受信することと、
前記文字データを位置データに変換することと、
前記変換された文字データを前記ファイルオブジェクトに組み込むことと、
をさらに含む請求項1〜28のいずれか一項に記載の方法。 - 前記位置データを前記外部データハンドラへ提示することが、前記ファイルオブジェクトを前記外部データハンドラに送信することを含む請求項1〜29の内のいずれか一項に記載の方法。
- 前記位置データを前記外部データハンドラへ提示することが、前記ファイルオブジェクトを前記電子ペンの中のファイルシステムに記憶することを含み、
前記ファイルシステムが、前記外部データハンドラにアクセス可能である請求項1〜29のいずれか一項に記載の方法。 - 提示されるべき位置データの選択を特定することと、
前記選択に従って、前記電子ペンのメモリから以前に記録されていた位置データを抽出することと、
をさらに含み、
前記抽出された位置データが、前記ファイルオブジェクトに組み込まれている請求項1〜31のいずれか一項に記載の方法。 - 製品上の第一のコードの記録を、座標系における少なくとも一つの絶対位置に変換することと、
第二のコードの記録を、入力データに変換することと、
前記入力データに基づいて、前記少なくとも一つの絶対位置を処理することと、
をさらに含む請求項1〜32のいずれか一項に記載の方法。 - 前記第一のコードの記録には、前記製品の表面部分の画像が含まれる請求項33に記載の方法。
- 前記入力データが、前記座標系における少なくとも一つの機能領域を定めるものであり、
前記方法は、
前記入力データに前記少なくとも一つの絶対位置をマッピングして、前記少なくとも一つの絶対位置が前記少なくとも一つの機能領域の範囲に入るか否かを特定することをさらに含む請求項33または34に記載の方法。 - 前記少なくとも一つの機能領域のための処理規則を、前記入力データに基づいて取り出すことをさらに含む請求項35に記載の方法。
- 前記機能領域の範囲に含まれる前記少なくとも一つの絶対位置に、前記処理規則を適用すること、をさらに含む請求項36に記載の方法。
- 前記少なくとも一つの機能領域の範囲に含まれる前記少なくとも一つの絶対位置の特定に基づいて、前記電子ペンのMMIを動作させることをさらに含む請求項35〜37のいずれか一項に記載の方法。
- 前記第一のコードが、前記製品の一意な識別子を定義するものであり、
前記方法は、
前記第一のコードの記録から前記一意な識別子を取り出すことと、
前記取り出された識別子を前記入力データに含まれている対応する識別子と比較することと、
を含む請求項33〜38のいずれか一項に記載の方法。 - 前記入力データが、使用制限データを含み、
前記方法が、前記使用制限データに基づいて、前記少なくとも一つの絶対位置の処理を制限すること、をさらに含む請求項33〜39のいずれか一項に記載の方法。 - 前記使用制限データが、それ以後に前記処理が禁止される期限、前記処理の最大許容起動数を定義する第一のイベント制限、前記第一のコードの記録を変換することの最大許容起動数を定義する第二のイベント期限、のうちの少なくとも一つを示すものである請求項40に記載の方法。
- 前記入力データが、前記少なくとも一つの絶対位置を暗号化するときに使用されるセキュリティデータを含む請求項33〜41のいずれか一項に記載の方法。
- 前記セキュリティデータが、暗号キーと暗号化方法のうちの少なくとも一つを示す請求項42に記載の方法。
- プロセッサが有するメモリにロードすることができ、請求項1〜43のいずれか一項に記載の方法を実行するためのプログラムコードを含むコンピュータプログラム製品。
- 請求項1〜43のいずれか一つの方法を実行するように構成されたプロセッサを備える電子ペン。
- 製品上での書き込みに用いられる電子ペンであって、
前記書き込みの間、前記製品の少なくとも一つの画像を記録する手段と、
前記少なくとも一つの画像に基づいて、前記書き込みを示す位置データを求める手段と、
ファイルシステムでの保存に適したファイルオブジェクトに、前記位置データを組み込む手段と、
前記ファイルオブジェクトを、外部データハンドラへプッシュすること又は外部データハンドラからのプルで利用できる状態にすることにより、前記位置データを前記外部データハンドラへ提示する手段と、
を備えることを特徴とする電子ペン。 - 前記製品には、二次元座標系における位置の連続的な並びをコード化する位置コーディングパターンの少なくとも一つの部分集合が設けられ、前記位置データが、前記位置コーディングパターンから取り出し可能なものである請求項46に記載の電子ペン。
- 前記二次元座標系における複数のページユニットを定義する位置データベースを記憶するメモリと、
前記位置データベースに前記位置データをマッピングする処理手段と、
をさらに備える請求項47に記載の電子ペン。 - 前記処理手段が、前記位置データを前記位置データベースにマッピングすることによって、前記複数のページユニットのうちの一つを示すページユニット識別子を特定し、
前記位置データを組み込む手段が、前記ページユニット識別子を前記ファイルオブジェクトに組み込むために制御される請求項48に記載の電子ペン。 - 前記処理手段が、前記位置データベースに基づき、前記一つのページユニットに属する一組の位置項目を特定し、
前記位置データを組み込む手段が、前記一組の位置項目を前記ページユニット識別子と関連付けて前記ファイルオブジェクトに組み込むように、制御される請求項49に記載の電子ペン。 - 前記位置データベースが、各ページユニットを、そのページユニットにおける機能領域を定義するテンプレートと関連付け、各機能領域が、処理規則を示すものであり、
前記処理手段が、前記位置データに基づいて前記複数のページユニットのうちの一つを特定し、前記特定されたページユニットに関連付けられた前記テンプレートを特定し、前記特定されたテンプレートに前記位置項目をマッピングすることにより少なくとも一つの機能領域を特定する請求項50に記載の電子ペン。 - 前記位置データを求める手段が、前記製品上の第一のコードの少なくとも一つの画像に基づいて前記位置データを求めるために動作可能であり、
前記位置データが、座標系の少なくとも一つの絶対位置を含み、
前記位置データを求める手段が、第二のコードの少なくとも一つの画像に基づいて入力データを求めるために動作可能であり、
前記処理手段が、前記入力データに基づいて前記少なくとも一つの絶対位置を処理するために動作可能である請求項46〜51のいずれか一項に記載の電子ペン。 - 前記入力データが、前記座標系における少なくとも一つの機能領域を定めるものであり、
前記処理手段が、前記入力データに前記少なくとも一つの絶対位置をマッピングして、前記少なくとも一つの絶対位置が前記少なくとも一つの機能領域の範囲に含まれるか否かを特定する請求項52に記載の電子ペン。 - 前記処理手段が、前記入力データに基づいて前記少なくとも一つの機能領域のための処理規則を取り出す請求項53に記載の電子ペン。
- 前記処理手段が、前記機能領域の範囲に含まれる前記少なくとも一つの絶対値に前記処理規則を適用する請求項54に記載の電子ペン。
- 前記入力データが、使用制限データを含み、
前記処理手段が、前記使用制限データに基づいて、前記少なくとも一つの絶対位置の処理を制限する請求項52〜55のいずれか一項に記載の電子ペン。 - 前記入力データが、セキュリティデータを含み、
前記電子ペンが、前記セキュリティデータに基づいて、前記少なくとも一つの絶対位置を暗号化するために動作可能であるエンクリプタをさらに備える請求項52〜56のいずれか一項に記載の電子ペン。 - 前記位置データを組み込む手段が、トリガイベントの受信時に前記ファイルオブジェクトへの前記位置データの組み込みを開始するイベントリスナーを含む請求項46〜57のいずれか一項に記載の電子ペン。
- 前記位置データを前記外部データハンドラへ提示する手段が、トリガイベントの受信時に、前記位置データの提示を開始するイベントリスナーを含む請求項46〜58のいずれか一項に記載の電子ペン。
- 前記処理手段が、前記位置データに基づいて前記トリガイベントを生成する請求項58または59に記載の電子ペン。
- 前記処理手段に動作可能に接続される音声センサをさらに備え、
前記処理手段が、前記音声センサによって記録される口頭のコマンドに基づいて、前記トリガイベントを生成する請求項58または59に記載の電子ペン。 - 前記処理手段に動作可能に接続されるトリガボタンをさらに備え、
前記処理手段が、前記トリガボタンの状態変化の検出に基づいて、前記トリガイベントを生成する請求項58または59に記載の電子ペン。 - 位置コーディングパターンの少なくとも一つの部分集合を備える製品と、
請求項45〜62のいずれか一項に記載の電子ペンと、
前記外部データハンドラから前記ファイルオブジェクトを取得し、前記位置データを処理するアプリケーションプロセッサと、
を備える情報管理システム。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58361804P | 2004-06-30 | 2004-06-30 | |
SE0401687-9 | 2004-06-30 | ||
SE0401687A SE0401687D0 (sv) | 2004-06-30 | 2004-06-30 | Information management |
US60/583,618 | 2004-06-30 | ||
US61719304P | 2004-10-12 | 2004-10-12 | |
US60/617,193 | 2004-10-12 | ||
PCT/SE2005/001025 WO2006004505A1 (en) | 2004-06-30 | 2005-06-29 | Data management in an electronic pen |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2008505387A JP2008505387A (ja) | 2008-02-21 |
JP2008505387A5 true JP2008505387A5 (ja) | 2012-01-19 |
JP5244386B2 JP5244386B2 (ja) | 2013-07-24 |
Family
ID=35783175
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007519163A Pending JP2008505388A (ja) | 2004-06-30 | 2005-06-29 | 電子ペンにおけるデータ処理 |
JP2007519162A Active JP5244386B2 (ja) | 2004-06-30 | 2005-06-29 | 電子ペンでのデータ管理 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007519163A Pending JP2008505388A (ja) | 2004-06-30 | 2005-06-29 | 電子ペンにおけるデータ処理 |
Country Status (5)
Country | Link |
---|---|
EP (2) | EP1782172A1 (ja) |
JP (2) | JP2008505388A (ja) |
KR (2) | KR20070034613A (ja) |
TW (1) | TW200725351A (ja) |
WO (2) | WO2006004506A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008532139A (ja) | 2005-02-23 | 2008-08-14 | アノト アクティエボラーク | 電子ペンにおける方法、コンピュータプログラム製品、および電子ペン |
US7329860B2 (en) | 2005-11-23 | 2008-02-12 | Illumina, Inc. | Confocal imaging methods and apparatus |
US8411071B2 (en) | 2006-02-22 | 2013-04-02 | Anoto Ab | Electronic pen |
JP4752565B2 (ja) * | 2006-03-27 | 2011-08-17 | 大日本印刷株式会社 | 電子ペン用帳票製造方法 |
JP5439358B2 (ja) * | 2007-03-23 | 2014-03-12 | アノト アクティエボラーク | 位置符号化パターンの印刷 |
JP2010533337A (ja) * | 2007-07-10 | 2010-10-21 | アノト アクティエボラーク | 電子ペンによる入力への応答を作成するシステム、ソフトウェアモジュールおよび方法 |
US8271864B2 (en) | 2007-07-10 | 2012-09-18 | Anoto Ab | Electronic representations of position-coded products in digital pen systems |
US10620754B2 (en) | 2010-11-22 | 2020-04-14 | 3M Innovative Properties Company | Touch-sensitive device with electrodes having location pattern included therein |
JP2014021689A (ja) * | 2012-07-18 | 2014-02-03 | Dainippon Printing Co Ltd | 広告表示装置、広告表示システム、コンピュータおよびそのプログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPQ131399A0 (en) * | 1999-06-30 | 1999-07-22 | Silverbrook Research Pty Ltd | A method and apparatus (NPAGE02) |
JPH0944591A (ja) * | 1995-08-03 | 1997-02-14 | Olympus Optical Co Ltd | コードシート及び情報再生装置 |
WO1999050787A1 (en) * | 1998-04-01 | 1999-10-07 | Xerox Corporation | Cross-network functions via linked hardcopy and electronic documents |
US6502756B1 (en) * | 1999-05-28 | 2003-01-07 | Anoto Ab | Recording of information |
CA2381980C (en) * | 1999-08-30 | 2011-10-11 | Anoto Ab | Notepad |
US20030061188A1 (en) * | 1999-12-23 | 2003-03-27 | Linus Wiebe | General information management system |
SE0000949L (sv) * | 2000-03-21 | 2001-09-22 | Anoto Ab | Positionsinformation |
DE10034881C2 (de) * | 2000-07-18 | 2002-10-31 | Schwan Stabilo Schwanhaeusser | Stift, Schreibeinheit und Vorrichtung zum Halten einer Schreibeinheit |
SE521368C2 (sv) * | 2001-03-21 | 2003-10-28 | Anoto Ab | Infrastruktur för informationsöverföring, innefattande digitala pennor, positionskod, server, databas, kommunikationsnätverk och webbsida |
SE520748C2 (sv) * | 2001-12-27 | 2003-08-19 | Anoto Ab | Aktivering av produkter med inbäddad funktionalitet i ett informationshanteringssystem |
SE0201724L (sv) * | 2002-06-05 | 2003-12-06 | Anoto Ab | Sätt att hantera information |
JP2004145408A (ja) * | 2002-10-22 | 2004-05-20 | Hitachi Ltd | デジタルペンおよびデジタルペーパを利用した計算システム |
SE523931C2 (sv) * | 2002-10-24 | 2004-06-01 | Anoto Ab | Arrangemang och sätt i ett informations hanteringssystem som omfattar behovsstyrd generering av positionskodade underlag |
-
2005
- 2005-06-29 WO PCT/SE2005/001026 patent/WO2006004506A1/en active Application Filing
- 2005-06-29 KR KR1020077002401A patent/KR20070034613A/ko active IP Right Grant
- 2005-06-29 KR KR1020077002402A patent/KR20070040380A/ko not_active Application Discontinuation
- 2005-06-29 JP JP2007519163A patent/JP2008505388A/ja active Pending
- 2005-06-29 EP EP05755052A patent/EP1782172A1/en not_active Withdrawn
- 2005-06-29 WO PCT/SE2005/001025 patent/WO2006004505A1/en active Application Filing
- 2005-06-29 JP JP2007519162A patent/JP5244386B2/ja active Active
- 2005-06-29 EP EP05754974A patent/EP1782171A1/en not_active Withdrawn
- 2005-12-23 TW TW094146125A patent/TW200725351A/zh unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5244386B2 (ja) | 電子ペンでのデータ管理 | |
US8982057B2 (en) | Methods and systems for processing digitally recorded data in an electronic pen | |
US20080296074A1 (en) | Data Management in an Electric Pen | |
JP2008505387A5 (ja) | ||
TWI740907B (zh) | 用於手寫裝置在文件中的輸入區域之方法及系統 | |
JP5439358B2 (ja) | 位置符号化パターンの印刷 | |
US8504907B2 (en) | Generating page and document logs for electronic documents | |
JP5122291B2 (ja) | 電子ペンからの情報の安全な管理のための方法およびシステム | |
US20160171357A1 (en) | Method of providing content transmission service by using printed matter | |
JP2007506185A (ja) | リアルタイム可変デジタル・ペーパー | |
CN102789576B (zh) | 签名特征提取系统及方法 | |
CN102801525A (zh) | 电子设备、签名认证系统及其签名认证方法 | |
JP2008547079A (ja) | 位置および情報の符号を組み合わせるための方法およびシステム | |
US20180359511A1 (en) | Content management system and content management method | |
US20070246539A1 (en) | Data Processing in an Electric Pen | |
KR20130010593A (ko) | 광학코드 암복호화 방법, 이를 수행하기 위한 전자장치와, 광학코드용 공개키 처리 방법 및 시스템 | |
JP2007096663A (ja) | 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
KR20130074853A (ko) | 바코드 문서의 생성 및 획득 방법 | |
JP2009151508A (ja) | 会議メモ記録装置および会議メモ記録プログラム | |
JP2007219952A (ja) | デジタルペンを用いたメッセージ処理システムとそれに用いるデータ処理装置 | |
JP2017027330A (ja) | 情報処理システム、制御装置、情報処理方法及びプログラム | |
JP2014225095A (ja) | サーバ装置及びプログラム | |
JP7407625B2 (ja) | メッセージ提供方法、メッセージ提供装置、メッセージ提供プログラムおよび記録媒体 | |
JP2009211601A (ja) | ネットワーク配信型文書閲覧システム、文書配信サーバ、文書配信方法および文書配信プログラム | |
JP2007116646A (ja) | Urlアドレス入力不要の携帯電話への映像配信システム |