(57)【特許請求の範囲】
【請求項１】
知覚的な識別子と埋め込みデータコードとを表示するユーザインターフェース、並びに前記ユーザインターフェースのある部分を選択して前記部分に対応するイメージ情報を獲得するイメージ獲得装置と共に使用される装置であって、
前記知覚的な識別子の選択に応答して前記イメージ獲得装置により獲得された、前記ユーザインターフェースのうち前記選択された知覚的な識別子に対応する部分のイメージ情報を受け、当該イメージ情報に含まれる埋め込みデータコードをイメージ獲得コードに復号するイメージプロセッサと、
前記イメージ獲得コードを前記選択された知覚的な識別子を示す選択コードにマッピングする解読器と、
前記解読器により得られた一連の複数の選択コードを分析して、当該一連の複数の選択コードが特定の操作を示す特定の選択コードの組合せであると判定した場合に、当該特定の操作を実行するようにコンピュータシステムに指示するシンタックスプロセッサと、
を備え、
前記解読器は、前記イメージ獲得コードを前記選択コードにマッピングする単一または選択的に使用される複数のマッピングモジュールを含み、
前記シンタックスプロセッサは、前記一連の複数の選択コードを分析する単一または選択的に使用される複数のシンタックス処理モジュールを含み、
前記埋め込みデータコードは、前記ユーザインターフェース上の位置を示すアドレスコードと共にコンテクストコードを含み、
前記装置は、前記イメージ獲得装置により獲得された、前記ユーザインターフェースのうち選択された部分のイメージ情報を受けると、当該イメージ情報に含まれる埋め込みデータコードを復号して、前記選択された部分の位置を示す前記選択コードを得るための前記イメージ獲得コードと共にコンテクストを取得し、当該コンテクストに基づき、前記複数のマッピングモジュールまたは前記複数のシンタックス処理モジュールを選択的に使用する、
装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子ディスプレイの典型的なディメンジョンによって束縛されず、且つディスプレイ装置とユーザ入力装置との間の電子的な調和を要求しないコンピュータインターフェースに関する。
【０００２】
【従来の技術】
従来のユーザインターフェースによれば、ユーザは、コンピュータシステムの操作を選択的に始動することができる。コンピュータは、電子ディスプレイとキーボードのようなユーザ入力装置とを整合させる（ｃｏｏｒｄｉｎａｔｅ）。コマンドラインインターフェースは、例えばユーザに、コンピュータに特定の操作を実行するように指令するコマンドのタイプ入力（タイプイン）を要求する。グラフィックユーザインターフェースは、コンピュータシステムエンティティ（ｅｎｔｉｔｉｅｓ）及びコンピュータシステム操作のグラフィックによる（グラフィックな）選択を可能にすることによって、ユーザを、コマンドをタイプする負担から解放する。例えば、ユーザがマウスを使用してスクリーン上のファイルアイコンを選択すると、コンピュータは、そのアイコンに関連付けられたファイルにアクセスする。グラフィックユーザインターフェースが特に好都合であるのは、これらが直観的であり、したがって使い易いからである。
【０００３】
【発明が解決しようとする課題】
以前は、従来のグラフィックユーザインターフェースは、コンピュータモニタのスクリーンのようなコンピュータＩ／Ｏ装置に表示されたグラフィック要素を、電子的に（Ｘ，Ｙ）アドレッシングすることを可能にするように構成されていた。任意の所与の時点でアクセス可能なアドレス空間は、ディスプレイ空間によって束縛されている。より大きなアドレス空間を、そのディスプレイの制約内で実現することができるが、これによれば、ユーザは、ディスプレイのディメンジョン（ｄｉｍｅｎｓｉｏｎｓ）内のそのより大きな空間を通って順に進んでいく（ナビゲートする；ｎａｖｉｇａｔｅ）必要がある。
【０００４】
従来のグラフィックユーザインターフェースは、コンピュータシステムがユーザ入力装置からの電気信号をディスプレイ上のユーザインターフェースグラフィックスに調和させなければならないという要件にも、束縛される。これはフレキシビリティを制限するが、それは、コンピュータがユーザインターフェースをディスプレイ上に生成して、入力装置から受領した入力に調和させなければならないからである。
【０００５】
そこで必要とされるものは、電子ディスプレイの典型的なディメンジョンによって束縛されず、且つディスプレイ装置とユーザ入力装置との間の電子的な調和を要求しないコンピュータインターフェースである。
【０００６】
【課題を解決するための手段】
本発明の原理に合致した装置及び方法は、多レベルのイメージ獲得及びコンテクスト識別を利用するユーザインターフェースを提供する。本発明に合致する装置は、知覚的な識別子（ｓｅｎｓｏｒｙ  ｉｎｄｉｃｉａ）と埋め込まれたデータコードとを有するユーザインターフェース、並びにユーザインターフェースのある部分を選択してその部分に対応するイメージ情報を送るイメージ獲得装置と共に使用されるものであって、第１のイメージ情報を第１のイメージ獲得コードに復号するイメージプロセッサと、第１のイメージ獲得コードを第１の選択コードにマッピングする解読器と、第１の選択コードを第２の選択コードで分析するシンタックスプロセッサとを備えている。
【０００７】
本発明に合致する方法は、知覚的な識別子と埋め込まれたデータコードとを有するユーザインターフェース、並びにユーザインターフェースのある部分を選択してその部分に対応するイメージ情報を送るイメージ獲得装置と共に使用されるものであって、第１のイメージ情報を第１のイメージ獲得コードに復号するステップと、第１のイメージ獲得コードを第１の選択コードにマッピングするステップと、第１の選択コードを第２の選択コードで分析するステップと、を含んでいる。
【０００８】
コンピュータシステムのエンティティ及び操作の文字表示、グラフィック表示、及び文字とグラフィックとの混合表示のような人間の知覚情報は、このユーザインターフェースを使用して選択することができる。この知覚情報が、この埋め込まれたデータアドレス空間の各空間アドレスに対して重ねて又は並べて空間的に記録される。これらの空間アドレスが、今度は、各コンピュータシステム操作及びエンティティについてのコンピュータにより認識可能な記載と共に、ルックアップテーブルあるいは同様の機構に記録される。
【０００９】
本発明のさらに他の目的は、添付の図面と共に以下の詳細な説明がを読めば、明らかになるであろう。
【００１０】
【発明の実施の形態】
ここで図面において、特にこの時点では図１において、従来どおりのセルフクロッキンググリフコードパターン２１を示す。このコードパターン２１は、延長されたスラッシュに似た印、又は「グリフ」２２及び２３を含み、適切な記録媒体２４上の中心の概して規則的な長方形の格子に書かれる。適切には、グリフ２２及び２３はプリンタ（図示せず）によって印刷され、このプリンタは３００ｄ．ｐ．ｉ．から６００ｄ．ｐ．ｉ．で動作し、４画素×４画素から７画素×７画素のグリフの表示を、規則的に間隔を開けられた中心に印刷する。この中心は、記録媒体２４の横方向と縦方向に分配され、長方形のコードパターン２１を形成する。標準の照明条件下で、通常の読書距離において、これらの細粒グリフコードパターンのグリフを、補助を受けない人間の目で解像することは容易ではない。このため、コードパターン２１は典型的には概して均一のグレイスケールの見かけをもつが、それでもグリフコードは、機械読込み可能なデジタル情報を効果的に通信する能力がある。この機能を実行するために、２５に示すように、グリフ２２及び２３はそれぞれ、通常は、左と右に、記録媒体２４の長手方向から＋４５°及び−４５°傾き、２進数の「１」と「０」とを符号化する。
【００１１】
図２は、グリフアドレスカーペットを使って設定されたグラフィックユーザインターフェースの例を示す図である。このインターフェースは二つの構成部分を含む。（１）知覚的な識別子、と（２）グリフアドレスカーペット１６１２を含む背景と、である。図２の知覚的な識別子は、好適には視覚的な識別子で、特にアイコン１６１０などのグラフィック要素である。グリフアドレスカーペット１６１２は、グラフィック要素の背景の壁紙として使われる。背景を形成するグリフパターンは、「アドレスカーペット」と呼ばれる。これは、グリフが復号されて、各場所に特有のアドレス情報を提供できるからである。
【００１２】
図２に示すように、グリフアドレスカーペットの一部であるグリフによって、アイコンが部分的に形成されてもよい。グリフトーン（ｇｌｙｐｈｔｏｎｅ）（例えば、トウ（Ｔｏｗ）に与えられた米国特許第５，３１５，０９８号を参照）の場合や、サーペントーン（ｓｅｒｐｅｎｔｏｎｅ）（カレー（Ｃｕｒｒｙ）に与えられた米国特許第５，７０６，０９９号を参照）の場合では、識別子が、実質上グリフそのものを含んでもよい。グリフは、アドレス情報を符号化するので、グリフの一部を光学的に読み込み、復号してローカル位置特有のアドレスを決定することができる。
【００１３】
グリフアドレスカーペットを使って設定されたグラフィックユーザインターフェースは、そのインターフェースの構成部分を表示できるどの媒体でも設定できる。よって、インターフェースは、紙、ラベル、物理的な対象、写真術媒体などのハードコピー上に設定されてもよく、陰極線管（ＣＲＴ）ディスプレイや液晶（ＬＣＤ）ディスプレイなどの動的なディスプレイ上に設定されてもよく、又は、スライド映写機やテレビなどの、固定又は動的な媒体から映写するディスプレイ上に設定されてもよい。
【００１４】
ここで説明する実施形態では、グリフを用いるが、その他の方法として、グリフは、どのようなシステムに置き換えられてもよく、このシステムは、可視及び不可視のシステムを含み、データアドレスコードを提供する。ここで説明する実施形態では、視覚的な識別子を用いるが、その他の方法として視覚的な識別子を知覚的な識別子に置き換えることもでき、この知覚的な識別子は、機械読込み可能なデータアドレスコードが、アドレスの論理的な参照を提供する間に、ユーザ又は機械を導き場所を選択するように働くことができる。ここで説明する実施形態では、紙の基板を用いるが、この紙の基板はどのような媒体によって置き換えられてもよく、この媒体は、データアドレスコードを埋め込むことができ、機械によって読込み可能である。
【００１５】
知覚的な識別子は、データアドレスコードと同じ媒体に埋め込まれてもよいし、又は他の媒体に埋め込まれてもよい。その他の方法として、知覚的な識別子は、グリフに投影されてもよく、又はグリフが知覚的な識別子に投影されてもよい。
【００１６】
図３は、イメージ獲得システムのブロック図であり、このイメージ獲得システムを使い、グリフアドレスカーペット１７３２などのグラフィックユーザインターフェースのユーザが選択した一部を獲得し、獲得された部分のグリフを復号できる。一つの実施形態では、コンピュータシステム１７１２は、例えば従来のパーソナルコンピュータ又はラップトップコンピュータなどの汎用コンピュータシステムであり、メインメモリ１７１６、読出し専用記憶装置（ＲＯＭ）１７１８、記憶装置１７２０、プロセッサ１７２２、通信インターフェース１７２４を有し、この全てがバス１７２６によって相互連結されている。バス１７２６はまた、ディスプレイ１７３０、カーソルコントロール１７１４、フレームキャプチャ１７２８にも接続されている。
【００１７】
イメージ獲得装置１７１０、この場合はカメラペン（ｃａｍｅｒａｐｅｎ）は、フレームキャプチャ１７２８及びマウス１７３１に接続されている。カメラペン１７１０は、イメージの情報をフレームキャプチャ１７２８に送信する。一つの実施形態では、カメラペン１７１０のボタン１７１５がマウス１７３１に有線で接続され、ユーザがボタン１７１５を押した時に、信号がマウスの回路であるフレームキャプチャ１７２８を通りカーソルコントロール１７１４に送られる。この信号によって、プロセッサ１７２２は、フレームキャプチャ１７２８に指示を出すプログラムを開始しカメラペン１７１０からイメージを獲得する。もう一つの実施形態では、カメラペン１７１０からのイメージライン及び信号ラインの両方が、フレームキャプチャカード１７２８に直接入力される。カメラペン１７１０とコンピュータ１７１２との間のラインは、カメラペン１７１０からイメージの獲得を提供する有線のいずれの方法で接続してもよい。
【００１８】
ユーザは、グリフアドレスカーペット１７３２上の視覚的な識別子上又は識別子の近くにカメラペン１７１０を配置し、ボタン１７１５を押すことによって、選択をする。ボタン１７１５を押すことによってカメラペン１７１０は、カメラペン１７１０の先端の下にあるアドレスカーペットの部分を獲得し、フレームキャプチャ１７２８を介して、分析のためにコンピュータ１７１２にイメージを送信する。ボタン又は複数のボタンは、ダブルクリックや維持動作などの追加の信号のために使うことができる。
【００１９】
図４は、ホットゾーン（ｈｏｔｚｏｎｅ）を設定するユーザインターフェースの実施形態を示す。ホットゾーンとは、視覚的な識別子上又はその近くの領域で、この領域が選択された時に、その視覚的な識別子を選択した場合と同じ効果を持つ場所である。好適な実施形態では、ホットゾーンは、視覚的な識別子を取り囲んでもよい。例えば、図４では、アイコン「Ｄａｖｉｄ’ｓＤＯＣ２」は、破線で示すホットゾーンをもつ。もしユーザがこのホットゾーン内を選択すれば、アイコン「Ｄａｖｉｄ’ｓＤＯＣ２」が選択される。これにより、ユーザが視覚的な識別子上又はその近くで選択することが可能になる。この選択は、システムによって、まるで視覚的な識別子が選択されたように扱われる。ホットゾーンは、アドレスカーペット上での視覚的に違う色合いなどを含む視覚的な識別子によって明示されてもよく、又は暗に適当な接近を示すものでもよい。
【００２０】
図４はまた、グリフアドレスカーペットコーディング組織の好適な実施形態も示す。各グリフは、前方スラッシュ又は後方スラッシュのどちらかである。グリフの行と列の方向及び間隔はそれぞれ、ＯGX及びＯGYで示されている。図にＡとＢとで示すように、Ａコードは一行おきにあり、その間にＢコードが混ぜ合わされている。右下に向かっての対角線に沿っては、全てのＡの値が好適には同一である。同様に、左下に向かっての対角線に沿っては、全てのＢの値が好適には同一である。
【００２１】
図５は、カメラペン１７１０を使った選択処理を示すブロック図である。各アイコンは、破線のホットゾーン１９１０で示される実際の選択範囲をもつ。カメラペン１７１０の先端は１９１４で示される範囲を覆う。カメラペン１７１０の先端の方向は、ＹC軸及びＸC軸によって示される。選択するためには、ユーザがカメラペン１７１０の先端を、選択する範囲の上に配置する。ユーザがボタン１７１５を押すと、範囲１９１４内のイメージが獲得される。コンピュータ１７１２が獲得されたイメージを分析し、選択範囲１９１４の中心１９１２の位置を決定する。中心１９１２の位置の決定後、中心１９１２の位置を使い、中心１９１２に対応する機能を調べる。
【００２２】
図６は、第２の種類の選択処理を示す図であり、この処理は本発明の原理に基づくグラフィックユーザフェースを実行するために使ってもよい。この実施形態では、カメラペン１７１０は、指示装置を先端に取付けられて備え、したがって、カメラペンのイメージ獲得範囲をユーザが指した場所からずれさせる。例えば、図６では、ユーザはアイコン「Ｄａｖｉｄ’ｓＤＯＣ」を指して選択するが、カメラペン１７１０のイメージ獲得範囲２０１４はアイコンからずれ、その中心は２０１２にある。この場合、コンピュータ１７１２が実際の選択を、（１）イメージ範囲２０１４と（２）選択された範囲の方向と（３）イメージ獲得範囲からのずれの距離及び方向とに基づき、中心２０１２から決定する必要がある。ずれは、以下に説明する獲得イメージ復号処理からのグリフ格子パラメータを用いて計算される。
【００２３】
図３に戻り、一つの実施形態では、メインメモリ１７１６は、ランダムアクセスメモリ（ＲＡＭ）又は、プロセッサ１７２２が実行した命令を保存する動的な記憶装置である。メインメモリ１７１６はまた、命令を実行するために使われる情報を保存していてもよい。ＲＯＭ１７１８は、プロセッサ１７２２によって使われる静的な情報及び命令を保存するために使われる。記憶装置１７２０は、例えば磁気又は光学ディスクであり、これもまた、コンピュータシステム１７１２の動作に使われる命令及びデータを保存する。
【００２４】
ディスプレイ１７３０は、ＣＲＴ又は他の種類のディスプレイ装置であってもよい。カーソルコントロール１７１４は、ディスプレイ１７３０上のカーソルの動きを制御する。カーソルコントロール１７１４は、例えばマウス、トラックボール又はカーソル方向キーであってもよい。
【００２５】
図３に示すシステムを使い、以下に示すグリフアドレスカーペット獲得及び変換システムを実行することができる。ここで説明する装置及び方法は、コンピュータシステム１７１２によって、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組合わせを使うことによって設置できる。例えば、ここで説明する装置及び方法は、メインメモリ１７１６、ＲＯＭ１７１８、又は記憶装置１７２０の一つ又はそれ以上の中のプログラムとして実行してもよい。一つの実施形態では、プロセッサ１７２２がプログラムを実行し、グリフアドレスカーペットの獲得された部分を分析し、グリフに符号化されたアドレス情報を決定する。
【００２６】
このようなプログラムは、メインメモリ１７１６に他のコンピュータ読込み可能な媒体、例えば記憶装置１７２０から読み込まれてもよい。メインメモリ１７１６に含まれた一連の命令の実行によって、プロセッサ１７２２が、ここで説明する本発明に基づく処理ステップを実行する。また、メインメモリ１７１６に含まれた一連の命令の実行によって、処理ステップを実行するための装置構成部分をプロセッサが設置する。配線された回路を、ソフトウェア命令の代わりに又はソフトウェア命令と組み合わせて使い、本発明を実施してもよい。よって、本発明の実施形態は、ハードウェア回路とソフトウェアとの特定の組合わせに限定されるものではない。
【００２７】
ここで使われる用語「コンピュータによって読込み可能な媒体」とは、命令を実行のためにプロセッサ１７２２に提供する作業に参加するいずれかの媒体を意味する。このような媒体には多数の形式があり、これに制限されないが、不揮発性記憶媒体、揮発性記憶媒体、及び送信媒体を含む。不揮発性記憶媒体は、例えば記憶装置１７２０などの光学又は磁気ディスクを含む。揮発性記憶媒体は、メインメモリ１７１６などのＲＡＭを含む。送信媒体は、同軸ケーブル、銅線、及び光ファイバを含み、バス１７２６を形成する配線を含む。送信媒体はまた、電波及び赤外線データ通信の過程で発生するような音響又は光の波の形を取ることもある。
【００２８】
コンピュータによって読込み可能な媒体の一般的な形は、例えば、フロッピディスク、フレキシブルディスク、ハードディスク、磁気テープ又は他の磁気記憶媒体、ＣＤ−ＲＯＭ、他の光学媒体、穿孔カード、紙テープ、穴のパターンを有する他の物理的な媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、他のメモリチップ又はカートリッジ、以下に説明されるような搬送波、又はコンピュータが読み込み、使うことのできる他の媒体を含む。
【００２９】
様々な形の、コンピュータが読込み可能な媒体が、命令の実行のために一以上の一連の命令をプロセッサ１７２２に運ぶことに関連する場合がある。例えば命令は、最初に磁気ディスク又は遠隔のコンピュータによって運ばれてもよい。遠隔のコンピュータは、その動的なメモリに命令をロードし、モデムを使って電話回線上に命令を送信できる。コンピュータシステム１７１２に限られるモデムが、電話回線上でデータを受信し、赤外線送信機を使ってデータを赤外線信号に変換できる。適切な回路に結合された赤外線検出器が、赤外線信号内で運ばれたデータを受信し、このデータをバス１７２６に配置できる。バス１７２６はデータをメインメモリ１７１６に運び、このメインメモリ１７１６からプロセッサ１７２２が命令を引き出し実行する。メインメモリ１７１６で受信された命令は、プロセッサ１７２２での実行の前又は後に、記憶装置１７２０に任意に保存してもよい。
【００３０】
コンピュータシステム１７１２はまた、通信インターフェース１７２４をバス１７２６に結合して備える。通信インターフェース１７２４は、他のシステムへの双方向通信を提供する。例えば、通信インターフェース１７２４は統合サービスデジタル通信網（ＩＳＤＮ）カード又はモデムであって、データ通信接続を対応する種類の電話回線に提供してもよい。通信はまた、例えば構内ネットワーク（ＬＡＮ）カードであって、ＬＡＮに通信を提供してもよい。通信インターフェース１７２４はまた、無線カードであって、コンピュータシステム１７１２と無線システムとの間に無線通信を設定してもよい。このような設定のいずれであっても、通信インターフェース１７２４は電子、電磁、又は光学信号を送信及び受信し、この信号は、様々な種類の情報を表すデータストリームを運ぶ。
【００３１】
通信インターフェース１７２４と外部の装置及びシステムとの間のリンクは、典型的には一以上のネットワーク又は他の装置を通じてデータ通信を提供する。例えば、リンクは、ホストコンピュータ又は、インターネットサービスプロバイダ（ＩＳＰ）によって動作するデータ装置への構内ネットワーク（図示せず）への接続を提供してもよい。ＩＳＰは、現在一般的には「インターネット」として知られる世界的なパケットデータ通信ネットワークを通じてデータ通信サービスを提供する。構内ネットワーク及びインターネットは両方、デジタルデータストリームを運ぶ電子、電磁、又は光学信号を使う。デジタルデータをコンピュータシステム１７１２へ又はコンピュータシステム１７１２から運ぶ、様々なネットワークを通じての信号及びネットワークと通信インターフェース１７２４との間の信号は、情報を運ぶ搬送波の形式の例である。
【００３２】
コンピュータシステム１７１２は、ネットワークを通じ、通信インターフェース１７２４と外部システム又は装置との間のリンクを介して、メッセージを送信し、プログラムコードを含むデータを受信することができる。インターネット上では、例えばサーバが、アプリケーションプログラムのために要求されたコードをインターネット、ＩＳＰ、構内ネットワーク、通信インターフェース１７２４を通じて送信する場合もある。
【００３３】
ネットワークから受信したプログラムコードは、プロセッサ１７２２によって受信と同時に実行してもよく、後に実行するために記憶装置１７２０などのメモリに保存してもよく、又はこの両方を行ってもよい。この方法によって、コンピュータシステム１７１２は、搬送波の形でアプリケーションコードを取得できる。
【００３４】
図７は、グリフアドレスカーペット１７３２に符号化されたアドレスコードの実施形態を示す。より詳しくは、図７はグリフアドレスカーペットの一部２１１０を示す。アドレスは、行に「Ａ」アドレスコードのシーケンスと「Ｂ」アドレスコードのシーケンスとを交互に配置し符号化される。各行の各シーケンスに沿った位置は、所定の長さの副シーケンスから明白に決定できるべきである。例えば、Ｎビットのシフトレジスタの最大の長さのコードは、Ｎビットの副シーケンスからその位置を特定できる。各アドレスコードシーケンスは１５ビットのシーケンスであり、Ａシーケンスは左から右に、Ｂシーケンスは逆の方向に右から左へと索引をつけられる。Ａコードシーケンスの各行は、Ａアドレスの一つ前又は次の行からグリフの位置にして二つずれる。同様に、Ｂコードシーケンスの各行は、逆の方向に二つの位置ずれる。よって、符号化組織は、二つの特徴をもつ。一つは、一次元の特有のアドレスコードの二つの集合を含む平行な行であり、もう一つは、二つの集合からの各ペア間のずれが特有になるような、二つの集合の構成員内での相対的なずれである。これによって、二次元の特有のアドレス位置が確立される。
【００３５】
コンピュータ１７１２は、獲得されたイメージの範囲を分析し、グリフに符号化されたアドレス情報を二つのステップで復号する。理想的には、ユーザがカメラペン１７１０をグリフアドレスカーペット１７３２上の一部に配置し、図７に示すようなビットのパターンに示されるように角度を整列してイメージを獲得する。しかし現実では、ユーザがカメラペン１７１０を興味対象の範囲の上で様々な方向に向け、このため、パターンは０°から３６０°のどの角度にも方向付けられる場合がある。したがって、コンピュータ１７１２は、アドレス情報を復号し解釈するための第一のステップとして、イメージの方向を決定する必要がある。
【００３６】
イメージの方向は、獲得されたイメージを分析することで決定される。この処理は、明確化と呼ばれる（例えばハットら（Ｈａｃｈｔｅｔａｌ．）に与えられた米国特許第５，５２１，３７２号を参照）。イメージの適切な方向を決定した後、コンピュータ１７１２は、アドレスカーペット上で選択された位置のアドレスを復号する。コンピュータ１７１２によって実行される明確化及びアドレス復号処理を、ここから、より詳しく説明する。
【００３７】
図８及び図９は、獲得したイメージ領域に関してコンピュータ１７１２が行う明確化（ｄｉｓａｍｂｉｇｕａｔｉｏｎ）及びアドレス復号処理を示すフローチャートである。コンピュータ１７１２は明確化処理を始めるにあたり、アドレスカーペットの獲得部分をイメージ処理してグリフシードを見つける。グリフシードは最初に確認されたグリフであり、その周りには可読グリフが有る。一旦グリフシードを見つけると、その周辺部を処理することでグリフ格子を検出できる。次に、グリフを復号して１または０で示し、グリフ格子列に対応する列と行とを有するバイナリデータマトリクスに埋める。９０°及び１８０°の回転に関する配向は、まだ曖昧かもしれない。
【００３８】
図１０は、カメラペン１７１０によって獲得したグリフ格子を元に作成したバイナリデータマトリクス（ＢＤＭ）を示す。ＢＤＭはグリフ格子に対応する場所を有する。したがって、ＢＤＭの大きさはグリフ格子の大きさに密接に対応する。
【００３９】
グリフ格子の各位置を分析し、ＢＤＭの対応位置にどの値を配置するかを決定する。まず、ＢＤＭにΦ等の値を埋める。これは、グリフを読む試みがまだなされていないことを示す。特定位置に対応するグリフを分析した後、その位置のΦをそのグリフ分析結果で置き換える。
【００４０】
図１０では、Ｂは境界位置を示す。Ｘはグリフ格子の対応場所に翻訳可能グリフが見つからなかったことを示す。Ｅは獲得メージ部分の端部にあるグリフを示す。０はバックスラッシュグリフを示す。１はフォワードスラッシュグリフを示す。獲得イメージに対応するマトリクス領域は、０及び１で埋められる。端部にはＥがあり、Ｘは可読グリフがない位置に対応する。しかし現実には、一般的にＢＤＭは類似パターンを有するようになるが、値は同様に均一には配置されない場合が多々ある。例えば、獲得イメージ内のグリフ位置にＸがくることがある。これは、グリフが消去されると生じる。丸や四角で囲んだいくつかの値は、２本の別個のコード列を示す。これらの列は逆方向に互い違いに配列されている。
【００４１】
ユーザが選択を行う場合、ユーザはユーザインターフェイス上でカメラペンを任意の方向に向けるので、獲得されたイメージは、任意の角度に配向されている可能性がある。したがって、ステップ２２１０においてコンピュータ１７１２が獲得イメージを元にした０及び１をＢＤＭから引き出すことができたとしても、そのイメージを獲得する元になったグリフアドレスカーペットのオリジナルコードパターンに対してＢＤＭが０°（つまり正確な配向）、９０°、１８０°または２７０°のいずれに配向されているかは不確かである。獲得イメージの配向が決定されるまで、ＢＤＭから正確なアドレスコードを引き出すことはできない。配向は、物理的システム制約（ｐｈｙｓｉｃａｌ  ｓｙｓｔｅｍ  ｃｏｎｓｔｒａｉｎｔｓ）等の予備情報を用いて示すことができるが、アドレスコードから直接、独自に決定することもできる。
【００４２】
グリフを０及び１に変換した後、基準グリフ格子を選択する（ステップ２２１１）。この位置は多様な方法で選択してもよいが、一般的に、関連の選択を示す位置である。例えば、基準グリフ格子はＢＤＭの中心である得る。
【００４３】
イメージをＢＤＭに変換した後、コンピュータ１７１２によって処理する（ステップ２２１２）。獲得したイメージから作成したオリジナルＢＤＭをＢＤＭ１とよぶ。コンピュータ１７１２はＢＤＭ１のコピーを作成し、コピーを時計方向に９０°回転させて第２バイナリデータマトリクスＢＤＭ２を作成する（ステップ２２１４）。ＢＤＭ１を９０°回転させることにより、ＢＤＭ１の列がＢＤＭ２の行に、ＢＤＭ１の行がＢＤＭ２の列になる。さらに、ＢＤＭ２の全ビット値を０から１に、１から０にひっくり返す。これは、４５°スラッシュグリフを９０°回転させると、回転していない状態でのグリフの逆になるからである。
【００４４】
次にコンピュータ１７１２は、ＢＤＭ１の奇数列と偶数列に対して別々に相関処理を行い（ステップ２２１６）、どのコード列が前方あるいは後方にずれているか（ｓｔａｇｇｅｒｅｄ）を検出する。相関処理は、ＢＤＭ２の奇数及び偶数列に対しても行う（ステップ２２１８）。各ＢＤＭの全列に対して相関処理を行う。この結果、ＢＤＭ１に対して相関値Ｃ１が、ＢＤＭ２に対して相関値Ｃ２が、それぞれ得られる。
【００４５】
図１１は、図９の相関ステップ２２１６、２２１８の実施の形態を示すフローチャートである。この処理により、ＢＤＭにおける各方向の対角線に沿った一行おきの相関値を検出し、列相関値を合計して、奇数または偶数列の最終的な相関値を形成する。この処理を、ＢＤＭ１の奇数列に対して行いＢＤＭ１の相関値Ｃ１ODDを、ＢＤＭ１の偶数列に対して行いＢＤＭ１の相関値Ｃ１EVENを、ＢＤＭ２の奇数列に対して行いＢＤＭ２の相関値Ｃ２ODDを、ＢＤＭ２の偶数列に対して行いＢＤＭ２の相関値Ｃ２EVENを、それぞれ形成する。ＢＤＭが０°または１８０°に配向されていれば、他の配向のＤＢＭより大きなＣODD＋ＣEVENを有することになる。
【００４６】
コンピュータ１７１２は、最初にＢＤＭを入力し（ステップ２４１０）、次に一列おきに仮マトリクスにコピーする（ステップ２４１２）。同様の処理を右向及び左向の斜線に対して行う。ステップ２４１４、２４１６、２４１８、２４２０、２４２２及び２４２４では、右向斜線に対して処理を行う。例えば、図１２では、これらのステップにおいて、左上から右下にかけての斜線に沿って相関関係を算定する。最初に、列カウントＮと相関値Ｃ＿ＲＩＧＨＴとを初期化してゼロにする（ステップ２４１４）。列Ｎを２位置分右に移動して、次の列に相関させる（ステップ２４１６）。次に、Ｃ＿Ｎをこの値に設定する（ステップ２４１８）。続いて、Ｃ＿ＲＩＧＨＴをＣ＿ＲＩＧＨＴ＋Ｃ＿Ｎに設定し（ステップ２４２０）、Ｎを増加する（ステップ２４２２）。列カウントＮがＮｍａｘ以上であれば、この処理後にステップ２４２６に進む。この時、ＮはＢＤＭ中の奇数または偶数列の数である。ＮがＮｍａｘ未満であれば、この処理後にステップ２４１６に進む。したがって、この処理によって各隣接列を相関させた後では、相関値Ｃ＿ＲＩＧＨＴは、右向斜線に沿った相関の強さを示す。
【００４７】
図１１の右側に示すステップは、ステップ２４１４、２４１６、２４１８、２４２０、２４２２、２４２４に類似し、右上から左下にかけた斜線を処理して、Ｃ＿ＬＥＦＴを求める。左右の斜線を相関させてＣ＿ＲＩＧＨＴとＣ＿ＬＥＦＴとを決定した後、最終相関値Ｄを決定する。これは、Ｃ＿ＲＩＧＨＴからＣ＿ＬＥＦＴを減じて行う。例えば、ＢＤＭ１の奇数列を処理した場合、Ｃ値はＢＤＭ１のＣ１ODDとなる。
【００４８】
図１１の処理ステップを、ＢＤＭ１の奇数及び偶数列と、ＢＤＭ２の奇数及び偶数列に対して行う。この情報から、ＢＤＭ１の相関値Ｃ１はＣ１EVEN＋Ｃ１ODDに設定され（ＢＤＭ１の列に対して図１１で決定した通り）、ＢＤＭ２の相関値Ｃ２はＣ２EVEN＋Ｃ２ODDに設定される（ＢＤＭ１の列に対して図１１で決定した通り）。
【００４９】
図１２は、一列おきのコードのシフト方向が相関関係から決定できる理由を示す。例えば、右向斜線に沿った円で囲まれたＡ１で示すように、第２列の最初の位置のＡ１から始まる斜線に沿ったコードは、消去や誤差でない限り、この斜線に沿って一列おきに同じ値を有するべきである。同様に、四角で囲まれたＢ１で示すように、右上隅から始まる斜線に沿ったコードは、消去や誤差でない限り、この斜線に沿って一列おきに同じ値を有するべきである。これは、それぞれＢ２、Ｂ３・・・から始まる奇数列での斜線に沿った値に対しても同様である。したがって、奇数列での左下向斜線に沿って強い相関があり、偶数列での右下向斜線に沿って強い相関があることは、偶数列上のコードは右に、奇数列上のコードは左に、それぞれシフトしていることを示唆する。
【００５０】
したがって、各ＢＤＭに対して４個の相関値が求められる。１）奇数列右から左、２）奇数列左から右、３）偶数列右から左、４）偶数列左から右、に対する相関値である。これらの相関値から、偶数列、奇数列のそれぞれに対する最も強い相関値を選択して、ＢＤＭのＣEVEN及びＣODDとする（ステップ２２１６及び２２１８）。次にＣEVENとＣODDとを加算して、そのＢＤＭの最終Ｃ相関値を形成する。ステップ２２２０に関してこれまでに説明したように、最強の相関値を有するＢＤＭが、０°または１８０°に配向されたＢＤＭである。これは、奇数列及び偶数列におけるコードの相対的配向のためである。つまり、選択されたＢＤＭに対して２つの局面が分かった。つまり、一行おきのコード列がどの方向にずれているかと、ＢＤＭが水平方向に０°または１８０°に配向しているということである。別の相関処理ステップ２２３０を行って、各列のコードが（ずれている方向に対して）伸びている方向を検出する。
【００５１】
奇数列のコードは一方向にずれており、偶数列のコードは別の方向にずれている。奇数列及び遇数列に伸びるそれぞれのコードが分かれば、これに関連させてこのコードのずれ特性から、ＢＤＭの適切な０°配向を検出できる。
【００５２】
図８において、Ｃ１がＣ２よりも大きければ（ステップ２２２０）、ＢＤＭ１を選択してさらに処理する。Ｃ１がＣ２よりも大きいということは、ＢＤＭ１の一次元コードは非常に強く相関しており、したがって０°または１８０°の配向であることを示す（ステップ２２２４）。もし、Ｃ２がＣ１よりも大きければ、その時はＢＤＭ２を選択してさらに処理する。これは、相関が高いということは、ＢＤＭ２が０°または１８０°の配向にあることを示すからである（ステップ２２２４）。こうして、正確なＢＤＭを見つける。しかし、獲得したイメージのアドレス位置を決定する前に、コンピュータ１７１２はまず、選択されたＢＤＭが０°である（つまり、正確な配向）か、１８０°回転されているのかを検出する。
【００５３】
図９は、コンピュータ１７１２が、グリフカーペットの獲得領域のアドレスを決定するステップを示すフローチャートである。ＢＤＭが０°に配向されている場合、ＢＤＭの斜線に沿ったビット位置は、一列おきに同じ値を有することが好適である。しかし、イメージ獲得処理や、視覚的な識別子からの干渉（インターフェアレンス）により、ＢＤＭデータに誤差や消去が生じるかもしれない。こうした誤差や消去の影響を減らすために、コンピュータ１７１２は、奇数列がずれる方向の斜線に沿って多数票（ｍａｊｏｒｉｔｙ  ｖｏｔｅ）をとり、さらに、偶数列がずれる方向の各斜線に沿った偶数列に対して多数票処理を繰り返す（ステップ２２２５）。この結果、奇数列に対しては第１コード列が、また偶数列に対しては第２コード列が、それぞれ得られる。多数票によって各ビット位置を正確に求められる範囲において、第１及び第２コード列は、それぞれ奇数または偶数列セットに対応するオリジナル疑似ノイズアドレス列の副シーケンス（ｓｕｂｓｅｑｕｅｎｃｅ）と一致すべきである。
【００５４】
次にコンピュータ１７１２は、前方にずれた列に対してオリジナル疑似ノイズアドレスコード（ゲットコード１）を引き出し（ステップ２２２６）、後方にずれた列に対してオリジナル疑似ノイズアドレスコード（ゲットコード２）を引き出す（ステップ２２２８）。各コードセットＡ及びＢに対するオリジナル疑似ノイズアドレスコードと、多数票によって得られたコードとを使用して、コンピュータ１７１２は４つのクロス相関を行い（ステップ２２３０）、奇数及び偶数列に対して、グリフ列とＰＮ列位置とのベストマッチを確立する。
【００５５】
特に、ＢＤＭにおいてステップ２２１１で選択した基準要素に最も近い隣接した２列を、オリジナルアドレスカーペットを構成するそれぞれの完結ＰＮ列（ｃｏｍｐｌｅｔｅ  ＰＮ  ｓｅｑｕｅｎｃｅｓ）と相関させる。ＰＮ列は同一であり得る。前方及び後方相関を各列に対して行う。４つの相関から、４つのピーク相関値と位置値の対を求める。
【００５６】
１）  Ｐ１とＶ１。完結ＰＮ列と後向きに相関したコード１に対するピーク相関値及び対応位置をそれぞれ示す。
【００５７】
２）  Ｑ１とＵ１。完結ＰＮ列と前向きに相関したコード２に対するピーク相関値及び対応位置をそれぞれ示す。
【００５８】
３）  Ｐ２とＶ２。完結ＰＮ列と前向きに相関したコード１に対するピーク相関値及び対応位置をそれぞれ示す。
【００５９】
４）  Ｑ２とＵ２。完結ＰＮ列と後向きに相関したコード２に対するピーク相関値及び対応位置をそれぞれ示す。
【００６０】
ピークの大きさに対応するＵi及びＶi位置値（ｉは１または２）を使用して、ステップ２２１１で選択した基準要素に対応するＸ値及びＹ値を決定する。つまり、（Ｐ１＋Ｑ１）＞（Ｐ２＋Ｑ２）であれば（ステップ２２３２）、Ｕ１とＶ１を使用して、ステップ２２１１で選択した基準グリフ位置のＸ及びＹ位置を計算する（ステップ２２３６）。（Ｐ１＋Ｑ１）≦（Ｐ２＋Ｑ２）であれば（ステップ２２３２）、Ｕ２とＶ２を使用して、ステップ２２１１で選択した基準グリフ位置のＸ及びＹ位置を計算する（ステップ２２３４）。次の式にしたがってアドレス情報を求める。
【００６１】
Ｘ＝（Ｖi−Ｕi＋全コード長）／２
Ｙ＝（Ｖi＋Ｕi−全コード長）／２
算出されたＸ及びＹ位置を戻す（ステップ２２３８）。斜線はＵ及びＶの定数値にそれぞれ対応し、列及び行はＸ及びＹに対応する。Ｕ及びＶを、アドレスパラメータとして直接使用することもできる。
【００６２】
このようにして、ステップ２２１１で選択した基準点に関連したＸ及びＹ値を決定する。コンピュータ１７１２はこの情報を使用して、論理基準を有するＸ及びＹ座標、つまり論理基準と制御信号との組み合わせ（例えば、ボタンクリック）を、これから行う特定動作に関連させる。例えば、Ｘ及びＹ座標をインデックスとして使用し、コンピュータ１７１２または、コンピュータ１７１２の監督下で他の装置が実行可能な動作のテーブルを参照する。Ｘ及びＹ座標をファイルオープンコマンドと関連させることができる。ファイルオープンコマンドは、アドレス空間でＸ及びＹ座標の近くに位置するアイコンと関連づけられたファイルを開く。実際、コンピュータ１７１２が行う任意動作を、特定のＸ及びＹ座標、つまりＸ及びＹ座標の範囲と関連させることができる。
【００６３】
図１３は、ユーザインターフェイスの実施の形態を示す。このユーザインターフェイスでは、アドレスカーペット１２は複数のホットゾーンに分割される。各ホットゾーンはアドレス範囲を有する。このアドレス範囲はグラフィック目的物に対応し、グラフィック目的物はシステムの目的や機能に対応する。コンピュータ１７１２は、イメージ獲得によって決定されたＸ及びＹアドレスを使用して、ユーザがアドレスカーペット１２のどの領域を選択したかを検出する。例えば、アドレスがＸ＝１０５２及びＹ＝３２であれば、これはアドレスカーペット１２の左上部分にあるので、ユーザは、ＣｌｏｓｅＷｉｎ．ａｖｉを選択したことになる。コンピュータ１７１２はテーブルを使用して、Ｘ及びＹ座標を、これらの座標を元にして実行される１個以上の機能に関連させる。例えば、上記の例では、Ｘ＝１０５２及びＹ＝３２を、ユーザがＣｌｏｓｅＷｉｎ．ａｖｉを選択した時に実行される１個以上の機能に関連させる。ボタン１７１５によって（一回以上のクリック等）、コンピュータ１７１２に始動の信号が送られる。あるいは、イメージ獲得台（ｉｍａｇｅ  ｃａｐｔｕｒｅ  ｓｔｅａｄｙ）をある時間保持する事によって、始動信号がコンピュータ１７１２に伝えられる。位置選択の正確さは１グリフ単位であり、区別された選択の最小識別距離（ｒｅｓｏｌｕｔｉｏｎ  ｏｆ  ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  ｓｅｌｅｃｔｉｏｎ）は１グリフ単位と同じ程細かい。獲得選択装置がアドレスカーペットをグリフ間隔の一部以内まで照会できれば、最小識別距離をグリフ単位の部分にまですることができる。たとえば、カメラピクセルは、一般的にグリフ間隔の一部である。
【００６４】
図１４は、ユーザがカメラペン１７１０を使用して個別に選択することができるいくつかのアイコンを有するユーザインターフェース３２１０を示す。ユーザインタフェース３２１０は、数値アイコン３２３８、音量制御バー３２５０、Ｕｎｄｏアイコン３２４６、Ｃｏｎｆｉｒｍアイコン３２４０、Ｄｕｐｌｉｃａｔｅアイコン３２３６、Ｒｅｓｅｔアイコン３２４４、Ｄａｖｅ’ｓＤｏｃアイコン３２１４、Ｔｏｍ’ｓＤｏｃアイコン３２１６、Ｊａｙ’ｓＤｏｃアイコン３２１８、ＦｉｌｅＴアイコン３２３２、ＦｏｌｄｅｒＡアイコン３２３０、Ｏｕｔｂａｓｋｅｔアイコン３２２８、３．５Ｆｌｏｐｐｙアイコン３２４８、ＰＡＲＣＰｒｉｎｔｅｒアイコン３２２２、及びＴｏｋｙｏＰｒｉｎｔｅｒアイコン３２２４を含む。ユーザインターフェース３２１０のハッチングされた背景は、グリフのような埋め込みデータコードを示す。図１４では、埋め込みデータコードはアドレスコードである。あるいは、埋め込みデータコードはラベルとして実現されることができる。
【００６５】
選択を行うために、ユーザはイメージ獲得装置を使用して、グラフィックエンティティの一つを選択して埋め込みコードを獲得する。このときには、（先に説明した）グラフィック読み取り装置の構成に依存して、グラフィックエンティティを指したり、イメージ獲得装置をグラフィックエンティティの上に配置したりする動作を伴うことがある。次にユーザは、ボタンを押すことによって選択を活性化する。ボタンが押されたことに応答して、イメージ獲得装置は、埋め込みコードを含む獲得されたイメージを、図１７のコンピュータ１７１２のようなコンピュータにさらなる処理のために送る。
【００６６】
ユーザインターフェース３２１０は、カメラペンのようなイメージ獲得装置によって埋め込みデータを担持するイメージをそこから獲得することができる媒体であれば、どのような媒体に対しても実行することができる。例えば、ユーザインターフェース３２１０は、コンピュータディスプレイスクリーン、１枚の紙の上に実現されたり、あるいは壁に投射されたりすることができる。獲得装置は、例えば、携帯型カメラ、リモートカメラ、デジタルコピー機のプラテン、あるいはイメージを獲得することができる他の装置を含む。
【００６７】
各グラフィックエンティティの周囲の破線は、そのグラフィックエンティティに対するホットゾーンを示す。このホットゾーンは、特定のグラフィックエンティティが選択されたという有効な読みとりをコンピュータ１７１２が得るために、ユーザがその内部で選択を行わなければならない領域である。これは、通常はアイコンの周囲を含む。ホットゾーンは、典型的にはユーザに明示的に示されないが、図１４では図面への描写の目的で示している。
【００６８】
図１５は、埋め込みコードに重なったアイコンを示している。図１５の埋め込みコードはグリフである。この配置は、（図１６に示される実施形態と同様に）ユーザインターフェース３２１０を実現するために使用されることがある。イメージ獲得は、コンピュータ１７１２による復号が可能な十分な埋め込みコードを含むように、十分に大きくなければならない。
【００６９】
図１６は、ユーザ選択及びそのユーザ選択の処理を実現するコンピュータ１７１２の処理を示す、簡略化されたブロック図である。より具体的には、図１６は、イメージの獲得、イメージの復号、コードの解読、及びインターフェース３２１０からのユーザ選択のシンタックス復号を示す。
【００７０】
ユーザインターフェース３４１６からグラフィックエンティティを活性化するために、ユーザはカメラペン３４１８を使用してグラフィックエンティティを選択し、カメラペンボタン３４２２を押す。ある実施形態では、カメラペン３４１８は２つのボタン３４２０及び３４２２を有しており、これらのボタンは、従来のコンピュータマウスにおける複数のマウスボタンと同様の方法で、使用されることができる。コンピュータ１７１２は、ボタン３４２０及び３４２２からのクリックに応答して、そのクリックをユーザによる一つ以上のグラフィックエンティティの選択と共に解釈する。
【００７１】
ユーザがカメラペン３４１８のボタンを押したことに応答して、カメラペン３４１８はユーザインターフェース３４１６からイメージを獲得して、そのイメージをイメージプロセッサ３４１０に送る。このプロセスは、フレームキャプチャ１７２８（図１６には示されていない）の使用を含む。各選択によって、埋め込みデータのイメージ、及び恐らくは選択されたアイコンあるいはそのアイコンの一部が、処理のためにイメージプロセッサ３４１０に送られる。
【００７２】
選択を他のユーザインターフェースから行ってもよい。例えば、ユーザは、ディスプレイモニタ３４２４から、ユーザインターフェース３４２６からのグラフィックエンティティの選択を行ってもよい。これより、ユーザは、グラフィックエンティティを紙のユーザインターフェース３４１６、電子ディスプレイユーザインターフェース３４２６、あるいは他のユーザインターフェースから選択して、その選択をコンピュータ１７１２によって統合的に処理させてもよい。
【００７３】
イメージプロセッサ３４１０は、イメージを２段階で処理する。最初に、イメージプロセッサ３４１０は、そのイメージの埋め込みデータをバイナリ値に変換する。第２に、イメージプロセッサ３４１０は、そのバイナリ値を分析して、獲得されたイメージを示すイメージ獲得コードを生成する。そのイメージ獲得コードが、特定のグラフィックエンティティのホットゾーン内の領域を示している限りは、コンピュータ１７１２は、そのイメージ獲得コードを、ホットゾーン内の選択されたコンピュータエンティティあるいは操作を示す対応する選択コードに解読することができるであろう。イメージ獲得コードの決定後に、イメージプロセッサ３４１０は、そのイメージ獲得コードをコード解読器３４１２に送る。
【００７４】
コード解読器３４１２は、ユーザによって選択されたグラフィックエンティティによって示されるコンピュータシステムエンティティあるいは操作に対応する選択コードに、そのイメージ獲得コードを解読する。どのグラフィックエンティティが選択されたかを決定するために、コード解読器３４１２は、イメージ獲得コードを選択されたグラフィックエンティティを示す選択コードに相関させるマッピングテーブル（図示されていない）を使用する。例えば、図１４のユーザインターフェース３２１０に関して、マッピングテーブルは、Ｄａｖｅ’ｓＤｏｃアイコン３２１４に対するホットゾーン内の全てのイメージ獲得コードを、Ｄａｖｅ’ｓＤｏｃアイコン３２１４を示す選択コードにマッピングする。同様に、マッピングテーブルは、Ｕｎｄｏアイコン３２４６に対するホットゾーン内の全てのイメージ獲得コードをＵｎｄｏ操作を示す選択コードにマッピングする。これにより、コード解読器３４１２は、どのコンピュータシステムエンティティあるいは操作がイメージ獲得コードに対応するかを、図１６に関して前述した処理と同様にマッピングテーブルを使用することによって決定する。コード解読器３４１２は次に、選択されたグラフィックエンティティを示す選択コードをシンタックスプロセッサ３４１４に伝達する。
【００７５】
ある実施形態では、アドレスコードの代わりにラベルが使用される。ラベルシステムでは、ホットゾーン内のイメージ部分は、選択されたグラフィックエンティティに対応する特定のラベル（すなわちイメージ獲得コード）に常に復号される。コード解読器３４１２がマッピングステップを実行する必要がないようにラベルを実現することも可能である。そのようなシステムでは、ラベル自身が、コンピュータシステムエンティティあるいは操作を十分に識別する。
【００７６】
シンタックスプロセッサ３４１４は、コード解読器３４１２から選択コードを受領して、特定のシンタックスを有する選択コードの特定の組合せが受領されたときには、コンピュータ１７１２に操作コードを出力する。ユーザによる特定のグラフィックエンティティの選択あるいは複数のグラフィックエンティティの選択の組合せを示す特定の選択コードあるいは選択コードの組合せが受領されたら、シンタックスプロセッサはコンピュータ１７１２に、その選択コードあるいは選択コードの組合せに対応する操作を実行するように指示する。
【００７７】
イメージプロセッサ３４１０、コード解読器３４１２、及びシンタックスプロセッサは、ハードウエアとして実現されても、ソフトウエアとして実現されても、あるいはハードウエアとソフトウエアとの組合せとして実現されてもよい。全体的にあるいは部分的にソフトウエア要素として実現されるならば、それらのソフトウエア要素はディスク上に記憶されてもよく、信号としてネットワークを転送されてもよい。ここに説明されている本発明に合致する装置及び方法の全部あるいは一部を実現するソフトウエア要素は、コンピュータ読み取り可能及び使用可能な媒体上にプログラム部品あるいはモジュールとして記憶されてもよい。
【００７８】
コンピュータ１７１２は、ユーザによる選択の処理中に適切なタイミングで、ユーザへのフィードバックを提供してもよい（図示していない）。このフィードバックは、従来のシステムと同様に、音響的、視覚的、あるいは触覚的などのような、どのタイプの感覚的フィードバックであってもよい。例えば、コンピュータスクリーンがコンピュータ１７１２に接続されていたら、フィードバックは、ハイライト化あるいはアニメーションのような視覚的なものであってもよい。フィードバックは、例えばシンタックス処理の一部として使用されて、特定の選択が行われたことや特定の一連の選択が行われたことをユーザに知らせてもよい。
【００７９】
多レベル選択では、一連のグラフィックエンティティのユーザによる選択を伴い、これらは、コンピュータ１７１２によって一緒に解釈されると、コンピュータ１７１２に操作を実行させたりコンピュータシステムエンティティを選択させたりする。多レベル選択を使用すると、ユーザがコンピュータ１７１２にある操作を実行させたいとき、ユーザは、カメラペン３４１８を順に位置させてインターフェースの個別のグラフィックエンティティを選択し、ボタン３４２２を押して各エンティティを選択することによって、ユーザインターフェース３２１０の上の一連のグラフィックエンティティを選択する。ボタン３４２２が押される毎に、カメラペン３４１８の先端の下のイメージがコンピュータ１７１２に送られる。イメージプロセッサ３４１０は各イメージを受領し、そのイメージの中の埋め込みデータを復号して、その獲得に対応しているイメージ獲得コードを形成する。コード解読器３４１２はイメージ獲得コードを選択コードにマッピングし、シンタックスプロセッサ３４１４は、受領した選択コードをその受領時に分析して、受領されたコードの特定の組合せが適切なシンタックス及び値を有していれば、操作を実行する。
【００８０】
例えば、ユーザが第１にＤａｖｉｄ’ｓＤｏｃアイコン３２１４を選択し、次にＰＡＲＣＰｒｉｎｔｅｒアイコン３２２２を選択したら、コンピュータ１７１２は、Ｄａｖｉｄ’ｓＤｏｃアイコン３２１４に関連した文書を、ＰＡＲＣＰｒｉｎｔｅｒアイコン３２２２に関連したプリンタに印刷する。グラフィックエンティティの他の選択に応答して、他の操作が実行される。例えば、Ｏｕｔｂａｓｋｅｔアイコン３２２８の選択に続いて文書アイコンが選択されて、その文書を、コンピュータ１７１２のＯｕｔｂａｓｋｅｔアイコン３２２８に関連した電子アウトバスケットファイルに置いてもよい。文書アイコンの選択に続いてＦｏｌｄｅｒＡアイコン３２３０を選択して、その文書をコンピュータ１７１２のＦｏｌｄｅｒＡアイコン３２３０に関連した電子フォルダにコピーしてもよい。あるいは、文書アイコンの選択後にＦｉｌｅＴアイコン３２３２を選択して、その文書をコンピュータ１７１２のＦｉｌｅＴアイコン３２３２に関連した電子ファイルにコピーしてもよい。
【００８１】
ユーザインターフェース３２１０のあるグラフィックエンティティの選択は、ユーザインターフェース３２１０の機能性を増加あるいは援助する。例えば、コンピュータ１７１２は、従来のグラフィックユーザインターフェース上の典型的なメニューアイテムであるグラフィックエンティティの選択に応答するようにプログラムされることができる。これより、Ｕｎｄｏアイコン３２４６の選択によって、ユーザは、選択あるいは操作の一つ以上のレベルを取り消すことができる。Ｃｏｎｆｉｒｍアイコン３２４０の選択によって、ユーザは、そのように要求されたら情報を確認することができる。例えば、コンピュータ１７１２は、確認を要求する音声をスピーカに出力することによって、要求された操作の確認を求めるかもしれない。Ｒｅｓｅｔアイコン３２４４の選択によって、ユーザは、以前の選択を全て消去することができる。文書アイコンの選択に続いてＤｕｐｌｉｃａｔｅアイコン３２６６を選択すれば、選択された文書が複製される。
【００８２】
数字アイコン３２３８によって、ユーザは、コンピュータ１７１２によって実行されるべき操作に関連した数値情報を入力することができる。例えば、「２２」と入力するためには、ユーザは「２」、「２」、及び「＃」を選択する（「＃」の選択は選択の終了を示す）。これにより、ユーザがＪａｙ’ｓＤｏｃのコピーを２２部Ｔｏｋｙｏプリンタに印刷したいときには、ユーザは「２」、「２」、「＃」、Ｊａｙ’ｓＤｏｃアイコン３２１８、及びＴｏｋｙｏＰｒｉｎｔｅｒアイコン３２３４を選択する。コンピュータ１７１２は、各選択に対するイメージを受領して、そのイメージで獲得された埋め込みデータを、「２」、「２」、「＃」、Ｊａｙ’ｓＤｏｃアイコン３２１８、及びＴｏｋｙｏＰｒｉｎｔｅｒアイコン３２３４の選択を示す選択コードに復号する。コンピュータ１７１２は、この一連の選択コードを、ユーザがＪａｙ’ｓＤｏｃのコピーを２２部Ｔｏｋｙｏプリンタに印刷したがっていることを意味すると解釈して、それらのコピーをＴｏｋｙｏプリンタに印刷する。他の実施形態では、キーボード全体あるいは代替キーボードが、印刷されたグラフィックユーザインターフェースとして提供されることができる。
【００８３】
音量制御バー３２５０に沿ってある位置を選択することによって、ユーザは、コンピュータ１７１２に対するスピーカ音量のレベルを選択してもよい。音量制御バー３２５０のようなグラフィックエンティティは、埋め込みコードと共に利用可能な位置選択の微細レベルを利用する。例えば、グリフアドレスカーペットが使用されれば、アドレスカーペットの各グリフは、それ自身の特有のアドレスを有している。これより、音量バー３２５０は、ディテールのこの微細レベルを利用して、垂直方向に沿ってＨｉからＬｏまで実用的に無限の範囲の音量レベル値を提供することができる。
【００８４】
コンピュータ１７１２は、単一のユーザ選択あるいは一連のユーザ選択に応答して操作を実行する。操作はまた、同じグラフィックエンティティの複数の選択に応答して、単独で又は他の選択との組合せとして実行される。
【００８５】
要約すると、コンピュータ１７１２は、個別のグラフィックエンティティの選択あるいはグラフィックエンティティの選択の組合せに応答して、コンピュータによって実行可能な対応する機能を実行するようにプログラムされることができる。加えて、コンピュータ１７１２は、カメラペン３４１８からの一つ以上のボタン信号、あるいは他のユーザ入力装置からの信号に応答して、操作を実行するようにプログラムされることができる。カメラペン３４１８を含む各入力装置は一つ以上のボタンを有していてもよく、各ボタンは別個の信号によって別個に解釈されてもよい。
【００８６】
図１７は、ユーザからの選択の受領時に、コード解読器３４１２によって実行される処理を示すフローチャートである。コード解読器３４１２はまず、カメラペン３４１８の上のボタン３４２２が押されたことを示す信号を待つ（ステップ３５１０）。その信号に応答して、コード解読器３４１２は、カメラペン３４１８からイメージを獲得して、イメージ獲得コードに復号する（ステップ３５１２）。イメージが復号可能でなければ（ステップ３５１４）、コード解読器３４１２は、その選択が復号可能ではないことをユーザにシグナルしてもよく、処理は継続されて、カメラペン３４１８の上のボタン３４２２が押されたことを示す次の信号を待つ（ステップ３５１０）。
【００８７】
イメージが復号可能であれば（ステップ３５１４）、好ましくはユーザに対して選択が確認されて（ステップ３５１８）、イメージ獲得コードが選択コードにマッピングされ、選択コードはシンタックスプロセッサ３４１４に送られて、必要であれば他の未解読のペンディング中の選択コードと共に記憶される（ステップ３５２０）。シンタックスプロセッサ３４１４は、ペンディング中の選択コードが実行されるべき操作を示すまで、選択コードをバッファする。
【００８８】
図１８は、シンタックスプロセッサ３４１４によって実行される処理を示すフローチャートである。シンタックスプロセッサ３４１４はまず、新しい選択コードがコード解読器３４１２から受領されるまで待つ（ステップ３６１０）。新しいコードが受領されたら、シンタックスプロセッサ３４１４は、その新しい選択コードを、以前の選択にペンディング中の選択コードがあればそれと一緒に、受領した順に記憶する。シンタックスプロセッサ３４１４は次に、ペンディング中の選択コードを分析して文法的関係を解釈し（パースし；ｐａｒｓｅ）、ペンディング中の選択コードがどの操作が実行されるべきであるかを総称的にあるいは個別に示すかを決定する（ステップ３６１２）。シンタックスプロセッサ３４１４は、ある操作が実行されるべきであることを示す所定の基準（クライテリア；ｃｒｉｔｅｒｉａ）に合う選択コードのシーケンスあるいは組合せを求めて、ペンディング中の選択コードを分析する。
【００８９】
シンタックスプロセッサ３４１４はまた、ペンディング中の選択コードを分析して、それらのコードが再構築されるべきかどうかを決定する（ステップ３６１４）。再構築は、ペンディング中の選択コードの順序の変更や、ペンディング中の選択コードの削除を伴うことがある。選択コードが、シンタックスに基づいてコードの除去を要求するある選択シーケンスあるいは組合せを示すときには、一つ以上のペンディング中の選択コードが除去されることがある。例えば、システムが実行されて、ユーザがカメラペン３４１８を使用して第１の文書アイコンを選択し、次に、第２の文書アイコンを選択してカメラボタン３４２２をダブルクリックすることによって、第２の文書アイコンの包括的な選択を実行することがある。この場合、コードのシーケンスは包括的な選択として認知され、シンタックスプロセッサ３４１４は両方のコードをペンディング中に維持するであろう。しかし、第１の文書アイコンの選択に続いて第２の文書アイコンの非包括的な選択が行われたら、再構築ステップ３６１４は、その選択が非包括的であるので、第１の文書アイコンに対応するコードをドロップするであろう。これは、ある従来のシステムにおける非包括的な選択に対して、第１のアイコンをクリックし、次に第２のアイコンをクリックすることと同等である。
【００９０】
シンタックスプロセッサ３４１４がステップ３６１２で、ペンディング中の選択コードがある操作を示さないと判定したら、シンタックスプロセッサ３４１４は、新しい選択コードの待機状態に戻る（ステップ３６１６）。シンタックスプロセッサ３４１４がステップ３６１２で、ペンディング中の選択コードがある操作を示すと判定したら（ステップ３６１６）、その操作が実行されて（ステップ３６１８）、シンタックスプロセッサ３４１４は、再び新しい選択コードの待機を開始する（ステップ３６１０）。
【００９１】
図１９は、図１８のフローチャートの実行時にシンタックスプロセッサ３４１４によって実現され得る状態ダイアグラムのブロック図である。シンタックスプロセッサ３４１４は、ＷＡＩＴ状態３７１０から開始する。選択コードが何も受領されない限りは、シンタックスプロセッサ３４１４はＷＡＩＴ状態３７１０に留まる。シンタックスプロセッサ３４１４が文書選択コードを受領したら、シンタックスプロセッサ３４１４はＤＯＣ状態３７１２に移動する。数またはプリンタ選択コード以外の選択コードが受領されたら、シンタックスプロセッサ３４１４はＷＡＩＴ状態３７１０に戻る。しかし、数選択コードが受領されたら、シンタックスプロセッサ３４１４は、文書選択コード及び数選択コードが受領されたことを示すＤＯＣ，ＮＢＲ状態３７１６に移動する。プリンタ選択コードが受領されたら、シンタックスプロセッサ３４１４はＰＲＩＮＴ状態３７１８に移動して、選択された文書を印刷する。印刷の終了後に、シンタックスプロセッサ３４１４はＷＡＩＴ状態３７１０に戻る。
【００９２】
シンタックスプロセッサ３４１４がＷＡＩＴ状態３７１０にあって数選択コードが受領されたら、シンタックスプロセッサ３４１４はＮＢＲ状態３７１４に移動する。文書選択コード以外の選択コードが受領されたら、シンタックスプロセッサ３４１４はＷＡＩＴ状態３７１０に戻る。しかし、文書選択コードが受領されたら、シンタックスプロセッサ３４１４はＤＯＣ，ＮＢＲ状態３７１６に移動する。
【００９３】
ＤＯＣ，ＮＢＲ状態３７１６から、プリンタ選択コード以外の選択コードが受領されたら、シンタックスプロセッサ３４１４はＷＡＩＴ状態３７１０へ移動する。しかし、プリンタ選択コードが受領されたら、シンタックスプロセッサ３４１４はＰＲＩＮＴ状態３７１８へ移動して、その文書を特定のプリンタに特定された回数だけ印刷する。印刷の終了後に、シンタックスプロセッサ３４１４はＷＡＩＴ状態３７１０に戻る。
【００９４】
図１９の状態図は、入力されてくる選択コード信号を処理するためにシンタックスプロセッサ３４１４によって使用されることができる状態図のみを示している。複合性（ｃｏｍｐｌｅｘｉｔｙ）及び特定のシンタックス処理は、システム毎に変わるであろう。実施形態は、選択コードに加えて装置ボタンあるいは他のユーザ選択に基づく状態間での移動を含むことがある。
【００９５】
図２０及び図２１はユーザインターフェース３８１０及び３８１２を示す。ユーザインターフェース３８１０及び３８１２はユーザインターフェース３２１０と同様であるが、コンテクストアイコンを含む。コンテクストアイコンは、コンピュータ１７１２に、ユーザインターフェース３８１０あるいは３８１２を処理するときにそれぞれ異なるコンテクストで操作するように指示する。ユーザインターフェース３８１０に対するコンテクストはＤａｖｅ’ｓＤｅｓｋｔｏｐ＃３アイコン３８２０を使用して選択され、ユーザインターフェース３８１２に対するコンテクストはＤａｖｅ’ｓＤｅｓｋｔｏｐ＃４アイコン３８２２を使用して選択される。選択されると、各コンテクストアイコンは、コンピュータ１７１２にそれぞれのマッピングとシンタックス処理モジュールとの組合せを使用させる。コンテクストアイコンは、コンテクストコードを提供するために実質的に獲得されなければならない埋め込みデータコードを含んでいる見かけの領域に、グラフィック的に関連されている。誤り訂正符号によって、部分的な獲得が行われてもよい。例えば、図２０及び図２１のコンテクストアイコン上の可視境界マークが、見かけの領域の例である。
【００９６】
Ｄａｖｅ’ｓＤｅｓｋｔｏｐ＃３アイコン３８２０を選択するために、ユーザはカメラペン３４１８を使用して、図１４のグラフィックエンティティに関連して先述したようにＤａｖｅ’ｓＤｅｓｋｔｏｐ＃３アイコン３８２０を選択する。Ｄａｖｅ’ｓＤｅｓｋｔｏｐ＃３アイコン３８２０の選択後に、ユーザインターフェース３８１０からの残りの選択がマッピングされて、Ｄａｖｅ’ｓＤｅｓｋｔｏｐ＃３アイコン３８２０から導かれたコンテクストコードに基づいてシンタックス的に処理されるであろう。同様に、Ｄａｖｅ’ｓＤｅｓｋｔｏｐ＃４アイコン３８２２の選択後に、ユーザインターフェース３８１２からの残りの選択がマッピングされて、Ｄａｖｅ’ｓＤｅｓｋｔｏｐ＃４アイコン３８２２から導かれたコンテクストコードに基づいてシンタックス的に処理されるであろう。
【００９７】
図２２、２３、２４及び２５は、コード解読器３４１２及びシンタックスプロセッサ３４１４の実施形態の各論理表示を示す。図２２の実施形態では、コード解読器３４１２は、各コンテクストに対応する複数のマッピングモジュール３９１０及び複数のシンタックス処理モジュール３９１２を含む。これより、ユーザがコンテクストグラフィックエンティティを選択すると、コード解読器３４１２の対応するコンテクストマッピングモジュールとシンタックスプロセッサ３４１４のシンタックス処理モジュールとが、その時点から、そのコンテクストがシステムあるいはユーザによって変えられるまで使用される。例えば、コンテクストアイコンＡが選択されると、その時点から、コンテクストＡマッピングモジュール及びコンテクストＡシンタックス処理モジュールが使用される。
【００９８】
図２３は、図２２の変形を示す。図２３では、マッピングモジュール３９１０及びシンタックス処理モジュール３９１６は独立して選択される。例えば、ユーザは、コンテクストＡマッピングモジュールとコンテクストＥシンタックス処理モジュールとを選択してもよい。この実施形態は、マッピングモジュール及びシンタックス処理モジュールのセットが単一のコンテクストコードによって選択される図２２の実施形態とは、対照的である。
【００９９】
図２４は、コード解読器３４１２及びシンタックスプロセッサ３４１４の他の実施形態を示す。この実施形態では、マッピングは、コンテクストにかかわらず、常にマッピングモジュール３９１８によって実行される。しかし、シンタックスプロセッサ３４１４は、ユーザあるいはシステムによって選択されるときにシンタックス処理モジュール３９１２の一つによるシンタックス処理を提供する、選択可能なコンテクストである。
【０１００】
図２５が示すコード解読器３４１２及びシンタックスプロセッサ３４１４の他の実施形態では、マッピングコンテクストはユーザあるいはシステムによって選択可能であるが、シンタックス処理は、コンテクストとにかかわらず、シンタックス処理３９２０によって同様に実行される。
【０１０１】
図１４に示された実施形態は、固定コンテクストシステムを示す。この実施形態は、コード解読器３４１２の単一のマッピングモジュールとシンタックスプロセッサ３４１４（図示せず）の単一のシンタックス処理モジュールとを備える。
【０１０２】
コンテクストの変更によって、さらに広範囲の機能性及びフレキシビリティが可能になり、コンテクスト毎に異なるグラフィックエンティティの特定の選択に応答して実行される操作を可能にする。例えば、複数のユーザインターフェースが各々、同じ埋め込みコードアドレス空間を利用してもよいが、各々が特有のコンテクストを持つことによって、各々の各ユーザインターフェースのマッピングを全く異ならせることができる。
【０１０３】
さらに、コンテクストは、実質的にどんな形態のユーザ入力によって又はシステムによって選択されてもよい。例えば、埋め込みコードユーザインターフェースをウエブページと共に使用することができる。ウエブページは、ユーザインターフェースに対して、マッピングあるいはシンタックス、またはその両方のためのコンテクストを提供するであろう。
【０１０４】
図２６は、図２０及び２１に示されたような、コンテクストに基づいたユーザインターフェースを実現するために使用され得る状態図の例を示している。状態図の上半分は第１のコンテクストＡを示し、状態図の下半分は第２のコンテクストＢを示す。状態図要素ＷＡＩＴ状態３７１０、ＤＯＣ状態３７１２、ＮＢＲ状態３７１４、ＤＯＣ，ＮＢＲ状態３７１６、及びＰＲＩＮＴ状態３７１８は、図１９に示されているものと同じ状態である。
【０１０５】
ＷＡＩＴ状態４０２０から始まって、シンタックスプロセッサ３４１４は、ユーザからのコンテクスト選択コードを待つ。ユーザがＤａｖｅ’ｓＤｅｓｋｔｏｐ＃３アイコン３８２０のようなコンテクストＡを示すコンテクストアイコンを選択すると、シンタックスプロセッサ３４１４は、ＷＡＩＴ状態４０２０からＷＡＩＴ状態３７１０へ移動する。図１９に関連して先に述べたように処理は続く。これより、図１９におけるように、コンテクストＡに対して要求されるシンタックスは、文書／数／プリンタの組合せ、数／文書／プリンタの組合せ、あるいは文書／プリンタの組合せが選択されるというものである。
【０１０６】
ＷＡＩＴ状態４０２０あるいはＷＡＩＴ状態３７１０にいる間に、ユーザがコンテクストＢを示すコンテクストアイコンを選択すると、シンタックスプロセッサ３４１４は、ＷＡＩＴ状態４０２２へ移動する。コンテクストＢでは、ユーザ入力は、ＷＡＩＴ状態４０２２、ＤＯＣ状態４０２８、ＮＢＲ状態４０２４、及びＰＲＩＮＴ状態４０２６によって要求されるシンタックスにしたがって処理される。ＷＡＩＴ状態４０２２から、ユーザが数を選択すれば、シンタックスプロセッサ３４１４はＮＢＲ状態４０２４に移動する。文書選択コードが受領されたら、シンタックスプロセッサ３４１４はＤＯＣ状態４０２８に移動する。ユーザが次に数を選択すると、シンタックスプロセッサ３４１４はＰＲＩＮＴ状態４０２６に移動して、コンピュータ１７１２にその文書を印刷させて、ＷＡＩＴ状態４０２２に戻る。
【０１０７】
シンタックスプロセッサ３４１４がＷＡＩＴ状態４０２２にあり且つ数が受領されたら、シンタックスプロセッサ３４１４はＮＢＲ状態４０２４に移動する。文書選択コードが次に受領されると、シンタックスプロセッサ３４１４はＰＲＩＮＴ状態４０２６に移動してその文書が印刷され、シンタックスプロセッサ３４１４はＷＡＩＴ状態４０２２に戻る。ＷＡＩＴ状態４０２２から、コンテクストＡ選択コードが受領されると、プロセッサ１７１２はＷＡＩＴ状態３７１０に戻る。
【０１０８】
要約すると、コンテクストＡは、文書／数／プリンタの組合せ、数／文書／プリンタの組合せ、あるいは文書／プリンタの組合せの選択を要求する。コンテクストＢは、文書／数の組合せ、あるいは数／文書の組合せの選択を要求する。これより、コンテクストＢでは、プリンタは既に選択されて、コンピュータ１７１２は文書及び数の受領のみの後に、その文書を印刷するであろう。しかし、コンテクストＡでは、プリンタが選択されなければならない。
【０１０９】
図１９及び図２６の状態図は、単純化されたシンタックス処理を示している。システムは、典型的には、ユーザ選択の如何なる組合せに対しても実行されることができるもっと複雑な状態図を有して、結果としてコンピュータ機能が選択されるであろう。
【０１１０】
図２７は、図１４、２０及び２１に示されたインターフェースと同様のユーザインターフェースの実施形態を示しているが、可視ではない暗黙的なホットゾーンの代わりに、グラフィックエンティティの周囲に視覚的な境界ブロックを使用して実現されている。ユーザがカメラペン３４１８の先端を境界の内部に置くと、ボタンが押されたときに埋め込みコードのイメージが獲得されて、そのブロック内のグラフィックエンティティに対応する選択コードを選択させる。
【０１１１】
図２０、２１のコンテクストに基づくシステムは、埋め込みコンテクストコードを使用して実現されてもよく、これにより、明示的な局在化されたコンテクストアイコンに対する必要性を軽減する。ある実施形態では、コンテクストは、コンテクストコードを位置コードと共に埋め込みデータに埋め込むコーディングシステムによって実現される。これより、コンピュータ１７１２が獲得された画像を復号すると、この復号化によって位置及びコンテクストの両方が提供される。そのようなコーディングシステムは、分散型ラベルコードと呼ばれることがある。例えば、図１０、１１及び１２を参照されたい。図２７に示されるものと同様のユーザインターフェースの実施形態は、一つ以上のコンテクストコードをコーディングシステムに埋め込むことによって、コンテクストアイコンなしに実現されることもある。コンテクストコード及びアドレスコードは、図５に示したものと同様のアプローチを使用してインターリーブされてもよい。
【０１１２】
図２８は、ユーザインターフェースの複数のセクションを、それぞれ別個の基材上で使用することを示すブロック図である。この実施形態は、関連したグラフィックエンティティによるアイコンのグループ化も示している。ユーザインターフェース４２１０は、選択プロセスを増大させるグラフィックエンティティを含み、ユーザインターフェース４２１２は文書グラフィックエンティティを示し、ユーザインターフェース４２１４は文書記憶グラフィックエンティティを含み、ユーザインターフェース４２１６は入力／出力装置グラフィックエンティティを備えており、ユーザインターフェース４２１８はコンテクストＡアイコン４２２０及びコンテクストＢアイコン４２２２を含む。ユーザは、図２８に示されるユーザインターフェースのどのセクションからも選択を行うことができて、コンピュータ１７１２に操作を実行させることができる。これより、図２８は、ここに説明されているイメージ獲得ユーザインターフェースのフレキシブルな性質を示している。物理的には、ユーザインターフェースのセクションは、紙プリント、電子スクリーン、及び壁又はスクリーン上へのイメージ投射のような異なるタイプの基材であることができる。
【０１１３】
さらに、ユーザインターフェースの各部分は、異なるタイプの埋め込みコードを使用して実現することができる。例えば、ある部分はラベルコードを使用して実現することができ、別の部分がアドレスカーペットを使用して実現されてもよい。加えて、ユーザインターフェースの単一の部分が、複数のタイプの埋め込みデータコードを組み込んでいることもできる。
【０１１４】
インターフェースの各部分は、多色印刷、プリント上へのイメージ投射、あるいは複数の投射イメージの重畳のような、埋め込みデータプリント及びグラフィック要素プリントの重畳を含んでもよい。重畳されたイメージの論理的及び空間的な記載を確立及び維持するように、注意を払わなければならない。
【０１１５】
図２９は、文書処理環境での多レベル選択を示すブロック図である。文書４３１４は、背景のグレイ領域によって示されているように、埋め込みデータに重なるテキストを含む。ユーザは、まず関心興味のある選択の始まり（「１」によって示されている）で選択を行い、次に、その関心のある選択の終わり、この場合には文の終わり（「２」によって示されている）で第２の選択を行うことによって、テキストを選択する。印刷のために、ユーザは次にＰＡＲＣＰｒｉｎｔｅｒアイコン３２２２あるいはＴｏｋｙｏＰｒｉｎｔｅｒアイコン３２３４のいずれかを選択して、これにより、選択されたテキストを選択されたプリンタにプリントアウトさせる。図２９に示されたこの一般的な多レベル選択スキームは、他のテキスト及び文書処理操作のために使用されてもよい。
【０１１６】
文書処理は、アドレスカーペット及び他の埋め込みデータによって提供される選択の微細レベルを利用することもできる。各位置が異なるコードに復号されるので、ユーザはディテールの微細レベル、グリフアドレスカーペットの場合には典型的には一つのグリフを、選択することができる。３００ｄｐｉのプリントでは、グリフ間隔は、例えば６０／インチ（約２３．６／ｃｍ）であってもよく、これは従来のスクリーンの解像度と互換性を有している。これより、テキストの選択は、従来のマウス及び電子ユーザインターフェースによって実行される操作を模擬するカメラペン３４１８を使用して実行されることができる。さらに、グリフ間の補間によって、選択の解像度を拡大することができる。
【０１１７】
図３０は、ローカル埋め込みデータコードラベルを使用するｅ−メールシステムを示すユーザインターフェース例を示す。示されている実施形態では、ある会社の組織構造が、ローカル埋め込みデータコードによって選択可能なノードと共に与えられている。例えば、ノード４４１０はスーパバイザ５を示し、これは埋め込みデータラベル４４１２によって選択され得る。ユーザインターフェースは、ｅ−メール文書に対する受領者を選択する機構を提供する。ユーザは、図１４からＤａｖｅ’ｓＤｏｃアイコン３２１４を選択し、次に埋め込みデータラベル４４１２を使用してノード４４１０を選択して、文書Ｄａｖｅ’ｓＤｏｃをノード４４１０に関連付けられたスーパバイザに向ける。アイコン４４１４は、ユーザインターフェースに関連付けられたコンテクストを選択するために使用される。ローカル埋め込みデータコードの代替として、あるいはそれらに加えて、図３０のユーザインターフェースを、背景としてのアドレスカーペットを使用して実現してもよい。
【図面の簡単な説明】
【図１】  セルフクロッキンググリフコードパターン及びその２進解釈（ｂｉｎａｒｙ  ｉｎｔｅｒｐｒｅｔａｔｉｏｎ）の一部を示す図である。
【図２】  グリフアドレスカーペットを用いて実施されたユーザインターフェースの例を示す図である。
【図３】  グリフアドレスカーペットのユーザ選択部分を獲得し、この獲得部分のグリフを復号化するイメージ獲得システムのブロック図である。
【図４】  ホットゾーンを実行するユーザインタフェースの実施形態を示す図である。
【図５】  カメラペン１７１０を用いる選択プロセスを示す図である。
【図６】  本発明の原理に一致する、グラフィックユーザインターフェースを実施するために用いられる第２のタイプの選択プロセスを示す図である。
【図７】  グリフアドレスカーペット１７３２の符号化されたアドレスコードの実施形態を示す図である。
【図８】  コンピュータ１７１２により、獲得イメージ領域に実行される明確化及びアドレス復号化プロセスを示すフローチャートである。
【図９】  コンピュータ１７１２により、獲得イメージ領域に実行される明確化及びアドレス復号化プロセスを示すフローチャートである。
【図１０】  カメラペン１７１０によって獲得されたグリフ格子から形成された２進データマトリクス２３１０を示す図である。
【図１１】  相関ステップ２１１６及び２１１８を実行するためのプロセスを示すフローチャートである。
【図１２】  獲得されたイメージのグリフによって符号化されたアドレスを決定するための、コンピュータ１７１２により実行される分析を示す図である。
【図１３】  アドレスカーペット１６１２が、それぞれのアドレス範囲を有する領域にどのように分割されるかを示す図である。
【図１４】  ユーザがカメラペン１７１０を使用して個別に選択することができるいくつかのアイコンを有するユーザインターフェース３２１０を示す図である。
【図１５】  埋め込みコードに重なっているアイコンを示す図である。
【図１６】  イメージ獲得、埋め込みコードの復号、コード解読、及びシンタックス復号を実行するコンピュータ１７１２のプロセスを示すブロック図である。
【図１７】  ユーザからの選択を受領したときにコンピュータ１７１２によって実行されるプロセスを示すフローチャートである。
【図１８】  復号された埋め込みデータ情報に応答してコンピュータ１７１２によって実行されるプロセスを示すフローチャートである。
【図１９】  ペンディング中のコードが実行されるべき操作を総称的に示すかどうかを決定するときに、コンピュータ１７１２によって使用される要素のブロック図である。
【図２０】  各々がそれぞれ異なるコンテクストを有するユーザインターフェース３８１０及び３８１２を示す図である。
【図２１】  各々がそれぞれ異なるコンテクストを有するユーザインターフェース３８１０及び３８１２を示す図である。
【図２２】  コード解読器３４１２及びシンタックスプロセッサ３４１４の実施形態の論理的表示を示す図である。
【図２３】  コード解読器３４１２及びシンタックスプロセッサ３４１４の実施形態の論理的表示を示す図である。
【図２４】  コード解読器３４１２及びシンタックスプロセッサ３４１４の実施形態の論理的表示を示す図である。
【図２５】  コード解読器３４１２及びシンタックスプロセッサ３４１４の実施形態の論理的表示を示す図である。
【図２６】  コンテクストに基づくシンタックス処理を使用した、入力されてくるコードの処理を示す状態図である。
【図２７】  図１４に示されたインターフェースと同様であるが、グラフィックエンティティの周囲に明示的にマークされたホットゾーンを使用して実行されるユーザインターフェースの実施形態を示す図である。
【図２８】  様々なコンピュータシステムエンティティ及び機能を選択するために使用可能な様々な異なるユーザインターフェースを示すブロック図である。
【図２９】  テキスト文書を含む文書処理環境における本発明の原理を示す図である。
【図３０】  ローカル埋め込みデータコードラベルを使用するｅ−メールシステムを示すユーザインタフェース例を示す図である。
【符号の説明】
３２１０  ユーザインターフェース、３２１４  Ｄａｖｅ’ｓＤｏｃアイコン、３２１６  Ｔｏｍ’ｓＤｏｃアイコン、３２１８  Ｊａｙ’ｓＤｏｃアイコン、３２２２  ＰＡＲＣＰｒｉｎｔｅｒアイコン、３２２４  ＴｏｋｙｏＰｒｉｎｔｅｒアイコン、３２２８  Ｏｕｔｂａｓｋｅｔアイコン、３２３０  ＦｏｌｄｅｒＡアイコン、３２３２  ＦｉｌｅＴアイコン、３２３６  Ｄｕｐｌｉｃａｔｅアイコン、３２３８  数値アイコン、３２４０  Ｃｏｎｆｉｒｍアイコン、３２４４  Ｒｅｓｅｔアイコン、３２４６  Ｕｎｄｏアイコン、３２５０  音量制御バー。
【図１】
0004611479.tif 000002
【図２】
0004611479.tif 000003
【図３】
0004611479.tif 000004
【図４】
0004611479.tif 000005
【図５】
0004611479.tif 000006
【図６】
0004611479.tif 000007
【図７】
0004611479.tif 000008
【図８】
0004611479.tif 000009
【図９】
0004611479.tif 000010
【図１０】
0004611479.tif 000011
【図１１】
0004611479.tif 000012
【図１２】
0004611479.tif 000013
【図１３】
0004611479.tif 000014
【図１４】
0004611479.tif 000015
【図１５】
0004611479.tif 000016
【図１６】
0004611479.tif 000017
【図１７】
0004611479.tif 000018
【図１８】
0004611479.tif 000019
【図１９】
0004611479.tif 000020
【図２０】
0004611479.tif 000021
【図２１】
0004611479.tif 000022
【図２２】
0004611479.tif 000023
【図２３】
0004611479.tif 000024
【図２４】
0004611479.tif 000025
【図２５】
0004611479.tif 000026
【図２６】
0004611479.tif 000027
【図２７】
0004611479.tif 000028
【図２８】
0004611479.tif 000029
【図２９】
0004611479.tif 000030
【図３０】
0004611479.tif 000031