JP2005310169A - 光学デバイスおよび準備された表面に関するコーディングされたパターン - Google Patents

光学デバイスおよび準備された表面に関するコーディングされたパターン Download PDF

Info

Publication number
JP2005310169A
JP2005310169A JP2005125695A JP2005125695A JP2005310169A JP 2005310169 A JP2005310169 A JP 2005310169A JP 2005125695 A JP2005125695 A JP 2005125695A JP 2005125695 A JP2005125695 A JP 2005125695A JP 2005310169 A JP2005310169 A JP 2005310169A
Authority
JP
Japan
Prior art keywords
window
pattern
symbol
digits
symbols
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
Application number
JP2005125695A
Other languages
English (en)
Other versions
JP3983774B2 (ja
JP2005310169A5 (ja
Inventor
Corey Ladas
ラダス コリー
Glen Larsen
ラーセン グレン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005310169A publication Critical patent/JP2005310169A/ja
Publication of JP2005310169A5 publication Critical patent/JP2005310169A5/ja
Application granted granted Critical
Publication of JP3983774B2 publication Critical patent/JP3983774B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
    • G06F3/0321Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface by optically sensing the absolute position with respect to a regularly patterned surface forming a passive digitiser, e.g. pen optically detecting position indicative tags printed on a paper sheet

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Character Input (AREA)

Abstract

【課題】 表面のシンボルのパターンでデータをエンコードすること。
【解決手段】 プロセッサが、エンコードされたデータを表すデジットの順序付きシーケンスを、複数のシーケンシャルウィンドウに分離する。シーケンシャルウィンドウのそれぞれに、デジットの順序付きシーケンスの部分的シーケンスが含まれる。プロセッサは、さらに、各シーケンシャルウィンドウに含まれる部分的シーケンスを一連のデジットに変換する。シンボルが、表面の複数の表面ウィンドウ内で配置される。各表面ウィンドウは、シーケンシャルウィンドウの1つに対応する。シンボルは、変換された一連のデジットの1つに基づいて、各表面ウィンドウ内で位置決めされる。表面ウィンドウ内のシンボルの位置は、エンコードされたデータを示す。
【選択図】 図5

Description

本発明の実施形態は、表面のエンコードされた情報を判定するために表面と相互作用する光学デバイスに関する。具体的に言うと、本発明の実施形態は、ウィンドウに分割されるデジットの順序付きシーケンスに基づき、エンコードされた情報を示す、シンボルを含むパターンを有する表面に関する。
コンピュータユーザは、パーソナルコンピュータと対話する形としてのマウスまたはキーボードの使用に慣れている。マウスまたはキーボードを介する情報の入力は、多数の長所を提供するが、ほとんどのユーザは、手書き文書(たとえば紙またはホワイトボード上の)の作成によってある種の機能を実行し続ける。電子文書に対する手書き文書の長所の一部に、その可読性および可搬性が含まれる。他の長所に、手書き文書の保管が簡単であることが含まれる。しかし、手書き文書作成に関する問題の1つが、手書き文書を電子形式に変換する必要があることである。これは、最初のユーザまたは別のユーザが、文書に書かれた情報をパーソナルコンピュータに手作業で入力することを必要とする。いくつかの場合に、ユーザは、手書き文書をスキャンし、これによって新しい電子文書を作成する。これらの複数のステップが、オリジナル文書とその文書の電子形式の間の相互作用を、繰り返しベースで扱うことを困難にする。さらに、スキャンされたイメージは、しばしば、変更不能である。これによって、ユーザが、電子形式の情報を変更することが難しくなる。
同様の問題が、既存文書に対する注釈の作成にも存在する。手書き注釈を電子形式に変換する時に、頻繁に、ユーザが、注釈を手作業でパーソナルコンピュータに入力するか、注釈をスキャンすることが必要になる。スキャンされたイメージは、しばしば変更不能なので、注釈を既存文書のオリジナル情報から分離することは困難である。したがって、手書き情報を電子形式に変換する改善された方法が必要である。
表面にエンコードされたパターンを分析して、表面での光学デバイスの位置を判定する方法およびシステムが開発された。しかし、一部の既存パターンは、効率的なインク使用を有しない。すなわち、既存の方法およびシステムは、しばしば、表面にパターンを組み込むために大量のインクまたは他の手段を必要とする。さらに、一部の既存の方法およびシステムは、パターンをエンコードされた表面で機能を実行する(たとえば、表面に書き込む)時に、効果的にユーザがそのようなパターンによって気をそらされないようにするのに十分に視覚的に滑らかなパターンを提供しない。また、既存の方法およびシステムは、可変情報密度を有するパターンを提供できない。したがって、既存の方法およびシステムは、通常、エンコードが望まれるデータによるインク密度のスケーリングができない。さらに、既存のパターンの一部は、製造、デコード、および/またはさまざまなペイロードデータの効果的なエンコードが簡単でない。
したがって、シンボルのパターンでデータを効率的にエンコードし、シンボルのパターンをデコードして、パターンに対応するデータを判定する解決策が、1つまたは複数の上記および他の短所に対処するのに望ましい。
本発明の実施形態は、とりわけ、紙またはコンピュータディスプレイなどの表面でシンボルのパターンをエンコードし、デコードするシステムおよび方法を提供することによって、従来技術の1つまたは複数の欠陥を克服する。シンボルのパターンは、位置データ、マルチメディア(たとえば、オーディオ、ビデオ、イメージなど)、セキュリティアプリケーション、バイオメトリックス(biometrics)、識別管理、他のバルクデータ、または他のデータへのリンクなどのエンコードされたデータを表すことができる。一実施形態で、本発明は、表面に関する位置を一意に識別する。本発明の1つまたは複数の実施形態によれば、ディジタルペンまたはスタイラスなどの光学デバイスが、表面にエンコードされた位置データに対応するシンボルを検出することによって、準備された表面での絶対位置を有利に追跡する。本発明の1つまたは複数の他の実施形態では、表面が、レーザプリンタまたはインクジェットプリンタなどの印刷プロセスによって組み込まれたパターンによって、位置データを示すシンボルをエンコードされる。光学デバイスのセンサは、シンボルを検出し、シンボルのパターンが表すデータをデコードすることができる。さらに、本明細書で説明する本発明の実施形態の特徴は、経済的に実行可能であり、商業的に実用的であり、現在使用可能な技法より簡単に実施される。
短く説明すると、本発明の諸態様を使用する方法は、表面のシンボルのパターンでデータをエンコードする。この方法には、エンコードされたデータを表すデジットの順序付きシーケンスを複数のシーケンシャルウィンドウに分割することが含まれる。シーケンシャルウィンドウのそれぞれに、デジットの順序付きシーケンスの部分的シーケンスが含まれる。この方法には、各シーケンシャルウィンドウに含まれる部分的シーケンスを一連のデジットに変換することも含まれる。この方法には、さらに、表面の複数の表面ウィンドウ内でシンボルを配置することが含まれる。各表面ウィンドウは、シーケンシャルウィンドウの1つに対応する。各表面ウィンドウ内のシンボルの位置は、変換された一連のデジットの1つに基づく。また、表面ウィンドウ内のシンボルの位置は、エンコードされたデータを表す。
本発明のもう1つの実施形態では、本発明の諸態様を実施する方法が、表面のシンボルのパターンをデコードして、そのパターンに対応するデータを判定する。パターンは、表面の複数のウィンドウに分割される。この方法には、表面のシンボルを検出して、そのパターンを判定することが含まれる。この方法には、判定されたパターンのウィンドウ境界を判定することも含まれる。ウィンドウ境界は、少なくとも1つのウィンドウを定義する。各定義されたウィンドウに、それに関連する少なくとも1つの検出されたシンボルが含まれる。この方法には、さらに、関連するウィンドウ内で検出されたシンボルの位置を判定することが含まれる。検出されたシンボルの関連するウィンドウ内での判定された位置は、そのパターンに対応するデータを示す。
本発明のもう1つの実施形態では、本発明の諸態様を実施する物品に、表面と表面上のパターンが含まれる。パターンは、表面上のシンボルを有する。各シンボルは、エンコードされたデータを表すデジットの順序付きシーケンスに基づく表面上の位置を有し、複数のウィンドウに分割される。各ウィンドウに、少なくとも1つのシンボルが含まれる。ウィンドウ内のシンボルの位置は、エンコードされたデータを示す。
本発明のもう1つの実施形態では、本発明の諸態様を使用するシステムが、表面上のシンボルのパターンでデータをエンコードするように適合される。このシステムに、エンコードされたデータを表すデジットの順序付きシーケンスを複数のシーケンシャルウィンドウに分離するコンピュータ実行可能命令を実行するように構成されたプロセッサが含まれる。シーケンシャルウィンドウのそれぞれに、デジットの順序付きシーケンスの部分的シーケンスが含まれる。プロセッサは、各シーケンシャルウィンドウに含まれる部分シーケンスを一連のデジットに変換するコンピュータ実行可能命令を実行するようにも構成される。このシステムには、表面の複数の表面ウィンドウ内のシンボルを配置する手段も含まれる。各表面ウィンドウは、シーケンシャルウィンドウの1つに対応する。各表面ウィンドウ内のシンボルの位置は、変換された一連のデジットの1つに基づく。表面ウィンドウ内のシンボルの位置は、エンコードされたデータを示す。
本発明のもう1つの実施形態では、本発明の諸態様を使用するシステムが、パターンに対応するデータを判定するために表面上のシンボルのパターンをデコードするように適合される。パターンは、表面上の複数のウィンドウに分割される。このシステムに、パターンを判定するために表面上のシンボルを検出するセンサが含まれる。このシステムに、判定されたパターンのウィンドウ境界を判定するコンピュータ実行可能命令を実行するように構成されたプロセッサも含まれる。ウィンドウ境界によって、少なくとも1つのウィンドウが定義される。各定義されたウィンドウは、それに関連する少なくとも1つの検出されたシンボルを含む。プロセッサは、パターンに対応するデータを判定するために、関連するウィンドウ内の検出されたシンボルの位置を識別するコンピュータ実行可能命令を実行するようにも構成される。
表面上のシンボルのパターンをエンコードし、デコードする方法を実行するコンピュータ実行可能命令を有するコンピュータ読み取り可能な媒体が、本発明のさらなる態様を実施する。
その代わりに、本発明の実施形態に、さまざまな他の方法および装置を含めることができる。
他の特徴は、一部は明白であり、一部は下で指摘する。
対応する符号は、すべての図面を通じて対応する部分を示す。
例示的光学デバイス
本発明の実施形態は、表面にエンコードされた情報を判定するために、表面と相互作用する光学デバイス(たとえば、光学イメージングセンサまたは光学読み取りデバイス)に関する。本発明の一実施形態で、光学デバイスは、マルチファンクションペンまたはマルチファンクションスタイラスとして実施することができる。本発明の態様に、ディスプレイフォーム(display form)内にシンボルのパターンを置くことも含まれる。シンボルのパターンは、位置データ、マルチメディア(たとえば、オーディオ、ビデオ、イメージなど)、セキュリティアプリケーション、バイオメトリックス、識別管理、他のバルクデータ、または他のデータへのリンクなどのエンコードされたデータを表すことができる。一実施形態で、ディスプレイフォームは、印刷された紙(または他の物理媒体)または、別のイメージもしくはイメージのセットに関するシンボルのエンコードされたパターンを投影するか含むディスプレイである。たとえば、シンボルのエンコードされたパターンを、紙の上の物理的イメージ、別の表示されたイメージの上または下にあるイメージ、あるいはディスプレイスクリーンと組み合わされるかその上にある(光学デバイスによって検出されるイメージをディスプレイスクリーン上で突き止められるように)物理的にエンコードされたパターン(たとえば、変更不能なパターン)として表すことができる。
本発明の一実施形態で、光学デバイスは、紙に書くインクペンとして実施される。本発明のもう1つの実施形態で、光学デバイスは、コンピュータディスプレイの表面に書くスタイラスとして実施される。ある時間期間にわたって表面上での光学デバイスの位置を繰り返して検出することによって、システムは、表面の書き込みに関連する光学デバイスの移動および位置を追跡することができる。したがって、この移動は、「ディジタルインク」を表すことができる。
図1Aに、本発明の一実施形態による、カメラ104または他の検出器を有するペン102として実施された例示的光学デバイスを示す。ペン102に、インクだめを含むか含まないものとすることができるペン先106が含まれる。カメラ104は、表面110の位置108からのイメージを検出し、キャプチャする。ペン102に、さらに、破線の箱112によって表されるように、追加のセンサおよび/またはプロセッサを含めることができる。これらのセンサおよび/またはプロセッサ112に、検出されたイメージに関する情報を別のペン102および/またはパーソナルコンピュータ、携帯情報端末(PDA)、電話機などの別のデバイスに(たとえばBluetoothまたは他の無線プロトコルを介して)送信する能力が含まれる。ペン102が、センサおよび/またはプロセッサ112を含まない場合に、ペン102は、検出されたイメージに関する情報を、ワイヤを介して(すなわち、無線送信器なし)、別のペン102および/またはパーソナルコンピュータに送信することができる。
図1Bに、本発明の一実施形態によるカメラ104によって見られる例示的イメージの構成を示す。この図示のイメージでは、カメラ104の視野が、32×32ピクセルである(N=32)。したがって、図1Bは、長さ32ピクセル、幅32ピクセルの視野を示す。Nのサイズは、所望のイメージ分解能の度合に基づいて指定される。また、カメラ104の視野が、図1Bでは例示のために正方形として示されているが、視野に、他の形状も含めることができる。
カメラ104からペン102への入力は、イメージフレームのシーケンス{li}、I=1、2、…、Aと定義され、ここで、イメージフレームliは、サンプリング時刻tiにペン102によって検出される。サンプリングレートは、表面にエンコードされたシンボルのパターンのサイズを含む複数の要因に基づいて、固定または可変とすることができる。検出されるイメージフレームのサイズは、シンボルのエンコードされたパターンのサイズおよび所望の検出精度の度合などの要因に応じて、大きくまたは小さくすることができる。また、カメライメージサイズは、検出されるシンボルのエンコードされたパターンのサイズに基づいて決定することができる。
カメラ104によって検出されるイメージは、処理システムによって直接に使用することができ、あるいは、事前フィルタリングプロセス(pre−filtering process)を受けることができる。この事前フィルタリングプロセスは、ペン102内でまたはペン102の外で(たとえば、パーソナルコンピュータ内で)行うことができる。
図1Bのイメージサイズは、32×32ピクセルである。各エンコーディング単位サイズが3×3ピクセルである場合に、検出されるエンコードされた単位の個数は、約100個である。エンコーディング単位サイズが5×5ピクセルの場合に、検出されるエンコードされた単位の個数は、約36個である。
図1Aには、位置108からのシンボルのパターンのイメージ116がそこに形成される像平面114も示されている。レンズ118が、表面110のシンボルのパターンから受け取られる光を集光する。レンズ118は、単一レンズまたは複数部分レンズ系(multi−part lens system)とすることができるが、図を単純にするために、この図では単一レンズとして図示されている。画像キャプチャセンサ122が、イメージ116を検出し、キャプチャする。本発明の一実施形態で、画像キャプチャセンサ122は、イメージ116を検出するのに十分に大きい。代替案では、画像キャプチャセンサ122が、位置126でのペン先106のイメージ124をキャプチャするのに十分な大きさである。参照のために、位置126のイメージ124を仮想ペン先と呼ぶ。画像キャプチャセンサ122に関する仮想ペン先位置が、ペン先106、レンズ118、および画像キャプチャセンサ122の間の一定の関係のゆえに固定されていることに留意されたい。仮想ペン先の位置(Lvirtual−pentipによって表される)から実際のペン先の位置(Lpentipによって表される)への変換に基づいて、検出されたイメージ116に関する実際のペン先の位置を判定することができる。
次の変換Fs→pによって、カメラによって検出されたイメージが、表面上の実際のイメージに変換される。
surface=Fs→p(Lsensor
表面で書く時に、ペン先と表面が、同一平面にある。したがって、仮想ペン先から実際のペン先への変換も、Fs→pになる。
pentip=Fs→p(Lvirtual−pentip
変換Fs→pを、透視変換と称する。したがって、Fs→pは、
Figure 2005310169
として推定される。この式では、θが、位置108で検出されたパターンの回転(rotation)であり、sおよびsは、検出されたパターンの2つの回転方位(rotational orientation)のスケールである。さらに、F’s→pは、検出されたイメージを表面上の対応する背景イメージと突き合わせることによって、Fs→pにリファイン(refine)される。すなわち、より正確な透視行列Fs→p(8パラメータ)が、再帰法と称する最適化アルゴリズムの一種によって得られる。再帰法では、行列F’s→pを初期値として扱う。Fs→pは、SとPの間の変換をF’s→pより正確に記述する。
較正によって仮想ペン先の位置を判定するために、ユーザは、表面上の既知の位置Lpentipにペン先106を置く。次に、ユーザは、ペン102を傾け、カメラ104が、異なるペンポーズ(pen poses)で一連のイメージを検出できるようにする。検出されたイメージごとに、変換Fs→pが受け取られる。この変換から、仮想ペン先106の位置(すなわちLvirtual−pentip)を得ることができる。
virtual−pentip=Fp→s(Lpentip
また、
p→s=[Fs→p−1
である。
イメージから受け取られるLvirtual−pentipの平均をとることによって、仮想ペン先106の正確な位置(すなわちLvirtual−pentip)を判定することができる。
仮想ペン先106の位置がわかったので、検出されたイメージから変換Fs→pを得ることができる。次いで、この情報が、実際のペン先106の位置(すなわちLpentip)を判定するのに使用される。
pentip=Fs→p(Lvirtual−pentip
パターンのエンコード
表面のシンボルのパターンとしてエンコードされるデータは、2進数{0,1}のシーケンスなど、デジット(digits)のシーケンスとして表現することができる。さまざまな種類のビットストリームを、このデジットのシーケンスとして使用することができる。たとえば、デジットのランダムシーケンスまたは擬似ランダムシーケンスを使用することができる。このランダムシーケンスまたは擬似ランダムシーケンスは、幅mのウィンドウ(たとえばシーケンシャルウィンドウ)が、シーケンスSに沿ってスライドされる場合に、2−1個の非0のm−タプルのそれぞれが1回見られるという特性を有する。言い換えると、デジットのシーケンスは、所定の長さの部分的シーケンスのデジットのシーケンス内の位置が曖昧さなしに決定されるという特性を有する。本発明の一実施形態で、シンボルのパターンとしてエンコードされるデータは、表面の幾何形状(geometry)を使用する形で表面に分布する。たとえば、デジットのシーケンスを、長方形表面でのエンコードのために長方形の行列または配列として配置することができる。図2に、本発明の実施形態によるデジットの例示的な長方形の配列/行列を示す。
図2に示された長方形の配列/行列は、行で、列で、斜めに、または任意の他の定型的な順序付けに従って配置することができる。たとえば、図2の配列/行列は、左から右に進んだ後に下に進む場合に、以下のビットストリームによって形成することができる。
0100 0111 0111 0100 1000 1110 0111 0100 1100
図2の配列/行列は、上から下に進んだ後に右に進む場合に、次のビットストリームによって形成することができる。
0101 1100 0111 0010 0110 1001 1001 1110 0010
もう1つの例で、図2の配列/行列は、ビットストリームが斜めに順序付けられ、ラップされる場合に、次のビットストリームによって形成することができる。
0110 0000 0101 0101 1000 0011 1111 1010 1110
デジットのシーケンスを長方形の配列/行列に配置する代わりに、シーケンスを、密にパックされた円または他の平面充てん関数(plane−filling function)として配置することもできる。デジットのシーケンスが、長方形の配列/行列として表面に分布する場合に、このシーケンスを、行および列の順序付きシーケンスとみなすことができる。本発明の一実施形態は、表面のシンボルのパターンとしてデジットの長方形の配列/行列をエンコードし、デコードする方法に関する。しかし、本発明の実施形態は、他の平面充てん関数として配置されたデジットに適用可能である。
本発明の一実施形態によれば、nをkによって割り切れる(すなわちn mod k=0である)場合に、長さnのデジットの行を、長さk(イメージキャプチャシステムのサイズおよび分解能に基づいて変更可能である)のm個のオーバーラップしないシーケンシャルウィンドウ(Wseq)に分割することができる。したがって、特定の長方形の配列/行列(または他の平面充てん関数)のデジットの例示的な行:
1001 1000 1101 1111 1010 0010 0001 0110 0101
について、k=3かつm=12の場合に、オーバーラップしないシーケンシャルウィンドウは
100|110|001|101|111|110|100|010|000|101|100|101
になる。これを図3Aに示す。
Xが、長さkのm個のオーバーラップしないシーケンシャルウィンドウの集合であるものとする。すなわち、X=(x,x,…,xm−1)である。したがって、上で示したデジットの例示的な行について、次の集合Xが形成される。
(100,110,001,101,111,110,100,010,000,101,100,101)
これは、10進数などの別の記数法で、
(4,6,1,5,7,6,4,2,0,5,4,5)
になる。
Yが、m個の値(y,y,…,ym−1)の集合であり、y=2xi、0≦i<mであり、xが、集合Xのi番目の要素であるものとする。したがって、次の集合Yが、上で示した集合Xについて形成される。
(2,2,2,2,2,2,2,2,2,2,2,2
これは、2進数などの別の記数法で、
(00010000,01000000,00000010,00100000,10000000,01000000,00010000,00000100,00000001,00100000,00010000,00100000)
になる。
本発明の一実施形態で、Y集合(たとえば2進数の形)が、パターンを形成するために、表面の1つまたは複数の表面ウィンドウ(Wsurface)内でシンボル(またはピクセル)の1×(2m)配列/行列として視覚的に表される。上で示した例示的なY集合に対応するシンボルの例示的な配列/行列を、図3Aに示す。具体的に言うと、ドットなどのシンボルが、表面のm個のオーバーラップしない表面ウィンドウのそれぞれの中に配置される。各シンボルは、表面のそれに関連する表面ウィンドウ内で、Y集合の各要素内の選択されたデジットタイプの位置に基づいて位置決めされる。したがって、2進形式のY集合について、各シンボルは、それに関連する表面ウィンドウ内で、Y集合の各要素内の2進数「1」の位置に基づいて位置決めされる。たとえば、デジット「1」は、上で示したY集合の要素00010000内で左から4番目の位置に位置する。したがって、シンボルは、関連する表面ウィンドウ内で、左から4番目の位置に位置するように配置される。したがって、シンボルのこのパターンに、オーバーラップしない等しいサイズの表面ウィンドウを確立するための1つまたは複数の「仮想」ウィンドウ境界が含まれることに留意されたい。表面の関連する表面ウィンドウ内の複数のシンボルの位置(たとえば、2つの隣接する表面ウィンドウ内の2つのシンボルの位置)は、表面上の一意の位置などのデータを示す。したがって、表面のシンボルのパターン全体が、表面に関する複数の位置をエンコードする。さらに、任意の色を使用して各シンボルを表すことができることを理解されたい。また、シンボルは、任意の種類の形状とすることができる。本発明の実施形態では、シンボルの色および形状が、イメージキャプチャシステムによって区別される、表面の背景とのコントラストをもたらす。
図3Bに、特定の長方形の配列/行列の行のオリジナルシーケンスを表すベクトルのシーケンスによって形成されたシンボルの例示的パターンを示す。図3Cに、さらに、図3Bより高い情報内容またはエントロピを有するベクトルのシーケンスによって形成されたシンボルのもう1つの例示的パターンを示す。図3Cの箱302内のパターンは、図3Bに示されたシンボルのパターンに対応するが、より低い解像度を有する。図3Cからわかるように、シンボルのパターンとしてエンコードされたデータが、高い情報内容またはエントロピを有する場合に、表面上のシンボルのパターンは、知覚可能な構造を有しておらず、人間の観察者には背景ノイズに見える。黒のシンボル(またはピクセル)が、白い表面背景に対して使用される場合に、背景の平均色強度は、12.5%であり、これは、観察者には適度に読みやすい。本発明の一実施形態では、エンコーディング密度に比例するコストを犠牲に、表面のシンボルの連続する行の間にスペースを追加することによって、表面背景を明るくすることができる。イメージ処理がより堅牢でなくなることを犠牲にして、シンボルのサイズを減らして、表面背景に対するパターンコントラストを下げることもできる。
パターンのデコード
図3Bおよび3Cに示されたシンボルのパターンは、人間の観察者にはランダムに見えるが、デコードシステムは、それがランダムなプロセスによって生成されたのではないことを知っている。シンボルのパターンが、上のプロセスでk=3およびm=6を用いてエンコードされた場合に、表面のシンボルの各行を、サイズ2のm個のオーバーラップしない表面ウィンドウに分割することができる。たとえば、Y集合が、2進数の形であり、m個のオーバーラップしない表面ウィンドウのそれぞれに、1つの着色されたシンボル(またはピクセル)が含まれる。というのは、2の形の2進数が、「1」の値を有する1つのデジットを有し、残りのデジットが「0」の値を有するからである。役に立つ例に、表面で2位置より近くに見つかる2つの着色されたシンボルが含まれる。この場合に、共有される表面ウィンドウ境界が、図4Aに示されているように、表面上のシンボルの間の比較的少数の可能な位置にある。しかし、単一の表面ウィンドウ境界は、2つのシンボルが互いに2を超える位置だけ離れている場合であっても、2つの着色されたシンボルの間にある可能性がある。さらに、表面の各連続する潜在的な表面ウィンドウは、図4Bに示されているように、表面の他の潜在的な表面ウィンドウ境界の可能な範囲または位置を制限する傾向がある。図4Bでは、山括弧<>の中のスペースが、潜在的な表面ウィンドウ境界の可能な範囲を表し、記号|が、確立された表面ウィンドウ境界を表す。
表面のシンボルの連続する行が検出される時に、表面の潜在的な表面ウィンドウ境界の可能な位置は、少数の選択肢に収束する。表面で十分な行数のシンボルが与えられれば、表面の表面ウィンドウ境界の位置の一意の選択肢が、図4Cに示されているように現れる。
図4Dに、表面で少なくとも1つの一意の表面ウィンドウ境界が判定される場合に、シンボルのパターンによって表されるデータ値をデコードできることを示す。具体的に言うと、関連する表面ウィンドウ内の少なくとも1つのシンボルの位置がわかった後に、2の長さを有する数の列(たとえば2進数の列)を判定することができる。この数の列は、関連する表面ウィンドウ内のシンボルの位置に対応する位置に置かれた1つの選択されたデジットタイプ(たとえば、2進数「1」)を有し、残りのデジットは、別のデジットタイプ(たとえば、2進数「0」)を有する。この判定された数の列に基づいて、表面でシンボルのパターンをエンコードするのに使用されたデジットのオリジナルの順序付きシーケンスの部分的シーケンスを、上で説明したエンコード処理を逆転することによって判定することができる。一例で、00000010という判定された数の列について、y値(Y集合内の)は、2になる。したがって、X集合が10進数の形である場合に、対応するx値は1になる。このx値を2進数の形などの別の記数法に変換することによって、001などの部分的シーケンスを判定することができる。表面上の他の確立された表面ウィンドウについてこの処理を繰り返すことによって、シンボルのパターンをデコードして、デジットのオリジナルの順序付きシーケンス(たとえば、長方形の配列/行列として配置された)を判定することができる。
ある種の情況で、シンボルのパターンを用いてエンコードされた表面のある区域について、表面ウィンドウ境界が曖昧になる場合がある。この場合に、表面でシンボルのパターンとしてエンコードされたデータの既知の意味に基づいて、表面ウィンドウ境界の曖昧さをなくすることができる。たとえば、シンボルのパターンが、表面の複数の絶対位置を表す場合に、シンボルのパターンの隣接してデコードされる値は、表面の隣接する位置を表す。デコードされた値が、隣接する位置を表さない場合に、潜在的な表面ウィンドウ境界の少なくとも1つが、おそらく誤っており、この潜在的な表面ウィンドウ境界の次の可能な位置を評価することができる。この処理は、潜在的な表面ウィンドウ境界の正しい位置が見つかるまで繰り返すことができる。その代わりに、光学デバイスの最近の軌跡のヒストリを、メモリエリアに保管することができる。表面でのシンボルのパターンが、直接のランダムなデコードを可能にするが、ペンまたはスタイラスなどの光学デバイスの多くの応用例が、表面でのデバイスの最近の位置のヒストリを与えられて光学デバイスのありそうな現在位置を予測するのに使用できる特有の動きを有する。
他の情況で、光学デバイスが、表面の長方形の軸に整列していない場合がある(たとえば、ユーザが、表面に注釈を書くためにデバイスを使用する時)。ユーザは、表面の座標軸に関してデバイスが回転するように光学デバイスを持つことができる。この状況は、マスク機能として表面のシンボルの連続する行の間の連続的なスペースを使用することによって補償することができる。表面の所与の位置のシンボルのパターンのサンプリングされたイメージを、スペースマスクにデータをエンコードしたシンボルがなくなるまで、サンプリングされたイメージの中心の回りに回転することができる。その後、サンプリングされたイメージは、デコード処理が表面のシンボルのパターンをデコードするのに正しい角度アライメントになる。
図4Eに、本発明の一実施形態による検出されたイメージ部分の回転を示す。イメージキャプチャシステムによって検出されたイメージ402を分析して、その回転方位を判定することができ、したがって、デコードシステムが、イメージ402によって実際に表されるデータを解釈することができる。図4Eからわかるように、イメージ402のいくつかのマスク機能(たとえば、破線の矢印によって表される)に、データをエンコードするシンボルが含まれる(たとえば、破線の矢印403がいくつかのシンボルにオーバーラップする)。したがって、イメージ402が、イメージ402を回転する角度θを判定するために分析され、その結果、マスク機能に、データをエンコードするシンボルが含まれなくなる。イメージ402を角度θだけ回転した後に、イメージ404が確立され、このイメージ404は、正しい角度方位にあり、表面の軸に整列されている。
本発明の一実施形態によれば、この方位調整を行った後に、イメージ404が、出力され、シンボルのパターンを作成するのに使用されたデジットのオリジナルシーケンスと相関される。相関(correlation)は、さまざまな形で実行することができる。たとえば、回復された部分的シーケンスをデジットのオリジナルシーケンス内の他の部分的シーケンスと比較する、再帰的手法によってこれを実行することができる。さらに、回復された部分的シーケンスとデジットのオリジナルシーケンスの間で、たとえばこの2つのシーケンスの間のハミング距離を使用することによって、統計分析を実行することができる。さまざまな手法を使用して、デジットのオリジナルシーケンス内の回復された部分的シーケンスの位置を判定できることを理解されたい。
位置判定
図5に、本発明の一実施形態による、光学デバイスの位置を判定する例示的な処理を示す。入力は、光学デバイスによって検出されたイメージであり、出力は、イメージ全体と比較した、検出されたイメージの位置座標とすることができる。また、出力に、検出されたイメージの回転角度を含めることができる。
502で、イメージを検出し、光学デバイスのセンサ(たとえばカメラ)から受け取る。受け取ったイメージを、504で任意選択として前処理して、検出されたイメージの回転角度θを検出する試みなどで、シンボル(またはピクセル)と表面の間のコントラストを調整することができる。
506で、受け取ったイメージを分析して、このイメージによって表されるデジットのシーケンスを判定する。具体的に言うと、表面の各「仮想」表面ウィンドウの既知の長さに基づいて、表面で多くとも既知の長さだけ離れて位置する2つのシンボルの間に位置する潜在的な表面ウィンドウ境界を判定することができる。この潜在的な表面ウィンドウ境界に基づいて、受け取ったイメージの第1方向に沿った他の潜在的な表面ウィンドウ境界を、増分式に識別することができる。さらに、受け取ったイメージの第2方向に沿った表面ウィンドウ境界を、増分式に確立することができる。表面ウィンドウ境界を確立した後に、数の列を、表面の確立された表面ウィンドウ内のシンボルの位置の関数として判定することができる。この数の列をデコードして、表面でシンボルのパターンをエンコードするのに使用されたデジットのオリジナルの順序付きシーケンスの部分的シーケンスを入手することができる。
508で、入手した部分的シーケンスを、デジットのオリジナルシーケンスと比較し、入手した部分的シーケンスの、デジットのオリジナルシーケンス内の位置を判定する。この比較は、デジットのオリジナルシーケンスが、表面のシンボルのパターン(たとえば図3Bに示されている)を作成するためにどのように順序付けられ、エンコードされたかをシステムが知っている時に行うことができる。508で検出されたイメージの位置を判定した後に、510で、光学デバイスの位置を判定することができる。
データストリームのエンコード
図6に、2進数の順序付きシーケンスなどのデジットの順序付きシーケンスをエンコードする例示的な処理を示す。602で、デジットの順序付きシーケンスを、プロセッサによって定義するか受け取る。604で、デジットの順序付きシーケンスを、シンボルのパターンとしてエンコードする。具体的に言うと、デジットの順序付きシーケンスを、1つまたは複数のシーケンシャルウィンドウに分割し(たとえば表面の幾何学的形状に基づいて)、ここで、各シーケンシャルウィンドウには、デジットの順序付きシーケンスの部分的シーケンスが含まれる。この部分的シーケンスは、別の記数法に変換される(たとえば、8進、10進、16進など)。たとえば、部分的シーケンスを、10進数として表すことができる。変換された部分的シーケンスに数学関数を適用する。本発明の一実施形態では、部分的シーケンスが10進数として表される場合に、数学関数に、10進数の値だけ所定の数(たとえば2)を累乗することが含まれる。次に、数学関数を適用された10進数を、所定の長さの2進数表現などの別の記数法に変換する。次に、2進数表現の長さの中での選択されたデジットタイプ(たとえば2進数の「1」)の位置に基づいて、表面の1つまたは複数の表面ウィンドウ内でシンボル(たとえば、ドットまたはピクセル)を配置する。表面の各表面ウィンドウが、シーケンシャルウィンドウの1つに対応する。したがって、表面の対応する表面ウィンドウ内のシンボルの位置は、データ(たとえば表面の一意の位置)を示す。
606で、プロセッサが、デジットの順序付きシーケンスから作成されたシンボルのパターンを含むイメージを出力する。次に、出力を、任意選択として608で紙などの媒体に印刷することができ、あるいは、任意選択として610でディスプレイに表示することができる。608で印刷される媒体に関連付けるために、出力イメージを、印刷され、別のイメージまたは文書内容の上に置かれ、またはその下に置かれるイメージとして、グラフィックの形でレンダリングし、プリンタ(たとえば、レーザプリンタまたはインクジェットプリンタ)に送ることができる。同様に、610で、出力イメージを、他の情報と組み合わせ、ディスプレイ用にレンダリングすることができる。他の内容との出力イメージのレンダリングされた形の関連付けの処理を、一般に、ウォーターマーキングと呼ぶことができる。たとえば、イメージを、ディスプレイ上でウォーターマークとして表示することができ、あるいは、ディスプレイ自体に組み込むことができる(たとえば、ディスプレイの形成処理中に、または人間には視覚的に透明であるが光学デバイスによって検出可能(たとえば、赤外線波長を介して)な層として後で付ける)。本発明の一実施形態で、プリンタおよびディスプレイ(または出力イメージをレンダリングする他の技法)は、表面の表面ウィンドウ内でシンボルを配置する手段を構成する。
応用例
本明細書に記載のシンボルのパターンは、複数の形で使用することができる。本発明の一実施形態では、シンボルのパターンが、既存のイメージと組み合わされるイメージとして、または紙に印刷されるイメージとして、印刷された紙に組み込まれる。シンボルのパターンを表すイメージは、空白の紙に印刷することができ、あるいは、既に他の情報を含む紙(たとえばスプレッドシート)に印刷することができる。イメージに組み込み情報を追加する処理に、文書またはページのウォーターマーキングが含まれる。これに、さらに、イメージにウォーターマークを埋め込むこと、埋め込まれたウォーターマークを紙に印刷すること、ウォーターマークを別のイメージと組み合わせ、印刷すること、およびこれらのさまざまな組み合わせを含めることができる。たとえば、シンボルのパターンを、人間の読者による解釈のためのテキストおよびグラフィックスを含む紙の文書の背景に印刷することができる。しかし、このシンボルのパターンは、文書の可読性を劣化させず、少量のプリンタインクを使用してプリンタによって作ることができる。
本発明のもう1つの実施形態で、シンボルのパターンを表すイメージが、デバイスまたはシステムのディスプレイスクリーンの上に置かれる透明シートに組み込まれ、あるいは、保護フィルムを含む、ディスプレイと組み合わせて使用される表面に組み込まれる。一例で、シンボルのパターンが、液晶ディスプレイ(LCD)に埋め込まれる。LCDの各ピクセルピッチは、そのフレームを有し、LCD全体のピクセルのフレームが、グリッドを形成するためにつながれる。本発明の実施形態は、そのグリッドへのシンボルのパターンの追加を可能にする。たとえば、シンボルのパターンを含むフィルムを、グリッドに付けることができる。このフィルムは、可視光でシンボルのパターンを提供するように調整することができる。その代わりに、フィルムが、赤外線(IR)光を選択的に吸収するか、ある光波長の下で蛍光を発することができる。さらに、LCDを制御して、光を発するか吸収し、ペンまたはカメラにシンボルのパターンを投影することができる。シンボルのパターンは、LCDのカバーガラスまたはカバー材料に適用することもできる。
もう1つの例で、シンボルのパターンをエンコードされ、800から900nmなどの固有のスペクトルを有するIR反射フィルムが、LCDグリッドに置かれる。IR発光ダイオード(IR LED)およびカメラ(IRフィルタを有することができる)を有する光学デバイスが、LCD表面を移動する時にIRイメージを検出する。この例では、LCDグリッド上でエンコードされたシンボルのパターンが、800から900nmなど、特定のIR光を反射する。したがって、IRイメージ内のシンボルのパターンは、フィルムの他の区域からは見分けられない。IRイメージを処理し、デコードして、光学デバイスの位置を判定することができる。IRフィルムは、表示されるイメージの遮られない透過を可能にする。
シンボルのパターンのサイズは、レンズ設計パラメータおよび分解能要件に従って選択することができる。たとえば、カメラの0.213mm×0.213mmピクセルピッチおよび5mm×5mmレンズ視野を達成するために、パターンサイズに、2×2ピクセルをセットすることができる。
シンボルのパターンを、ラップトップ機のディスプレイ、タブレット/スタイラスベース入力のコンピュータ、携帯情報端末、電話機、またはすべての他のデバイスに組み込むこともできる。
シンボルのパターンのもう1つの応用例に、文書識別子を文書に関連付けることが含まれる。一般に、ユーザは、文書の題名または参照番号を文書に印刷することができる。本発明の一実施形態では、文書にエンコードされたシンボルのパターンが、文書の参照番号または他の情報(一般に文書識別子と称する)を表すことができる。ユーザは、文書上のシンボルのパターンを含むイメージを検出し、検出されたイメージをデコードして、シンボルのパターンによって表される文書識別子を入手し、文書に書かれた注釈を、入手した文書識別子に関連付けることができる。文書識別子は、コンピュータネットワークを介してアクセスされるものとすることができる、離れた位置にある文書へのリンクまたは参照とすることもできる。
例示的オペレーティング環境
図7に、コンピュータ130の形の汎用コンピューティングデバイスの一例を示す。本発明の一実施形態で、コンピュータ130などのコンピュータは、ペン102または他の図に示され本明細書で説明したものなどの光学デバイスでの使用に適するものとすることができる。コンピュータ130は、1つまたは複数のプロセッサまたは処理ユニット132およびシステムメモリ134を有する。図示の実施形態では、システムバス136が、システムメモリ134を含むさまざまなシステムコンポーネントをプロセッサ132に結合する。バス136は、メモリバス、メモリコントローラ、周辺バス、AGP(accelerated graphics port)、およびさまざまなバスアーキテクチャのいずれかを使用するプロセッサバスまたはローカルバスを含む、任意の複数のタイプのバス構造のうちの1つまたは複数を表す。制限ではなく例として、そのようなアーキテクチャに、ISA(Industry Standard Architecture)バス、MCA(マイクロチャネルアーキテクチャ)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、およびメザニンバスとも称するPCI(Peripheral Component Interconnect)バスが含まれる。
コンピュータ130は、通常は、少なくともいくつかの形のコンピュータ読み取り可能な媒体を有する。揮発性媒体と不揮発性媒体、取外し可能媒体と固定媒体の両方を含むコンピュータ読み取り可能な媒体は、コンピュータ130によってアクセスできるすべての使用可能な媒体とすることができる。制限ではなく例として、コンピュータ読み取り可能な媒体に、コンピュータ記憶媒体と通信媒体が含まれる。コンピュータ記憶媒体に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報のストレージに関するすべての方法またはテクノロジで実施された、揮発性および不揮発性の、取外し可能および固定の媒体が含まれる。たとえば、コンピュータ記憶媒体に、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリテクノロジ、CD−ROM、ディジタル多用途ディスク(DVD)、または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージデバイス、あるいは所望の情報を保管するのに使用でき、コンピュータ130によってアクセスできるすべての他の媒体が含まれる。通信媒体は、通常は、搬送波または他のトランスポートメカニズムなどの変調されたデータ信号内でコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを具現化し、すべての情報伝達媒体が含まれる。当業者は、変調されたデータ信号に精通しているが、変調されたデータ信号は、信号内で情報をエンコードする形でその特性の1つまたは複数を設定または変更される。有線ネットワークまたは直接配線接続などの有線媒体と、音響、RF、赤外線、および他の無線媒体などの無線媒体が、通信媒体の例である。上記のいずれかの組合せも、コンピュータ読み取り可能な媒体の範囲に含まれる。
システムメモリ134に、取外し可能および/または固定の揮発性および/または不揮発性のメモリの形のコンピュータ記憶媒体が含まれる。図示の例では、システムメモリ134に、読取専用メモリ(ROM)138およびランダムアクセスメモリ(RAM)140が含まれる。スタートアップ中などにコンピュータ130内の要素の間での情報の転送を助ける基本ルーチンを含む基本入出力システム142(BIOS)が、通常はROM138に保管される。RAM140に、通常は、処理ユニット132によって即座にアクセス可能および/または処理ユニット132によって現在操作されつつあるデータおよび/またはプログラムモジュールが含まれる。制限ではなく例として、図7に、オペレーティングシステム144、アプリケーションプログラム146、他のプログラムモジュール148、およびプログラムデータ150を示す。
コンピュータ130に、他の取外し可能/固定の揮発性/不揮発性のコンピュータ記憶媒体も含めることができる。たとえば、図7に、固定の不揮発性磁気媒体から読み取り、これに書き込むハードディスクドライブ154を示す。図7に、取外し可能不揮発性磁気ディスク158から読み取り、これに書き込む磁気ディスクドライブ156と、CD−ROMまたは他の光学メディアなどの取外し可能不揮発性光学ディスク162から読み取るかこれに書き込む光学ディスクドライブ160も示されている。例示的オペレーティング環境で使用できる他の取外し可能/固定、揮発性/不揮発性コンピュータ記憶媒体に、磁気テープカセット、フラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ、ソリッドステートRAM、ソリッドステートROMなどが含まれるが、これに制限はされない。ハードディスクドライブ154、磁気ディスクドライブ156、および光学ディスクドライブ160は、通常は、インターフェース166などの不揮発性メモリインターフェースによってシステムバス136に接続される。
上で述べ、図7に示したドライブまたは他のマスストレージデバイスおよびそれに関連するコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータのストレージをコンピュータ130に提供する。図7では、たとえば、ハードディスクドライブ154が、オペレーティングシステム170、アプリケーションプログラム172、他のプログラムモジュール174、およびプログラムデータ176を保管するものとして図示されている。これらのコンポーネントを、オペレーティングシステム144、アプリケーションプログラム146、他のプログラムモジュール148、およびプログラムデータ150と同一のまたは異なるもののいずれかとすることができることに留意されたい。オペレーティングシステム170、アプリケーションプログラム172、他のプログラムモジュール174、およびプログラムデータ176は、最低限でも異なるコピーであることを示すために異なる符号を与えられている。
ユーザは、キーボード180およびポインティングデバイス182(たとえば、マウス、トラックボール、ペン、またはタッチパッド)などの入力デバイスまたはユーザインターフェース選択デバイスを介して、コンピュータ130にコマンドおよび情報を入力することができる。他の入力デバイス(図示せず)に、マイクロホン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどを含めることができる。上記および他の入力デバイスは、システムバス136に接続されたユーザ入力インターフェース184を介して処理ユニット132に接続されるが、パラレルポート、ゲームポート、またはUniversal Serial Bus(USB)などの他のインターフェースおよびバス構造によって接続することができる。モニタ188または他の種類のディスプレイデバイスも、ビデオインターフェース190などのインターフェースを介してシステムバス136に接続される。モニタ188の他に、コンピュータに、しばしば、プリンタおよびスピーカなど、出力周辺インターフェース(図示せず)を介して接続できる他の周辺出力デバイス(図示せず)が含まれる。
コンピュータ130は、リモートコンピュータ194などの1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境で動作することができる。リモートコンピュータ194は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードとすることができ、通常は、上でコンピュータ130に関して説明した要素の多くまたはすべてが含まれる。図7に示された論理接続に、ローカルエリアネットワーク(LAN)196および広域ネットワーク(WAN)198が含まれるが、他のネットワークも含めることができる。LAN136および/またはWAN138は、有線ネットワーク、無線ネットワーク、その組合せなどとすることができる。そのようなネットワーキング環境は、オフィス、会社全体のコンピュータネットワーク、イントラネット、およびグローバルコンピュータネットワーク(たとえば、インターネット)でありふれたものである。
ローカルエリアネットワーキング環境で使用される時に、コンピュータ130は、ネットワークインターフェースまたはネットワークアダプタ186を介してLAN196に接続される。広域ネットワーキング環境で使用される時に、コンピュータ130に、通常は、インターネットなどのWAN 198を介する通信を確立する、モデム178または他の手段が含まれる。モデム178は、内蔵または外付けとすることができるが、ユーザ入力インターフェース184または他の適当な手段を介してシステムバス136に接続される。ネットワーク化された環境では、コンピュータ130に関して図示されたプログラムモジュールまたはその一部を、リモートメモリストレージデバイス(図示せず)に保管することができる。制限ではなく例として、図7に、メモリデバイスに常駐するものとしてリモートアプリケーションプログラム192を示す。図示のネットワーク接続が例示的であり、コンピュータの間の通信リンクを確立する他の手段を使用できることを理解されたい。
一般に、コンピュータ130のデータプロセッサは、異なる時にコンピュータのさまざまなコンピュータ読み取り可能な記憶媒体に保管される命令によってプログラムされる。プログラムおよびオペレーティングシステムは、通常は、たとえばフロッピディスクまたはCD−ROMで配布される。それから、プログラムおよびオペレーティングシステムが、コンピュータの副メモリにインストールまたはロードされる。実行時に、プログラムおよびオペレーティングシステムは、少なくとも部分的にコンピュータの主電子メモリにロードされる。本明細書に記載の発明の実施形態に、マイクロプロセッサまたは他のデータプロセッサと共に、下で説明するステップを実施する命令またはプログラムを含む時の、上記および他のさまざまなタイプのコンピュータ読み取り可能な記憶媒体が含まれる。本発明の一実施形態に、本明細書で説明する方法および技法に従ってプログラムされる時のコンピュータ自体も含まれる。
例示のために、オペレーティングシステムなどのプログラムおよび他の実行可能プログラムコンポーネントを、本明細書では別個のブロックとして示す。しかし、そのようなプログラムおよびコンポーネントが、さまざまな時にコンピュータの異なるストレージコンポーネントに常駐し、コンピュータのデータプロセッサによって実行されることを理解されたい。
コンピュータ130を含む例示的コンピューティングシステム環境に関して説明したが、本発明の一実施形態は、多数の他の汎用のまたは特殊目的のコンピューティングシステム環境またはコンピューティングシステム構成と共に動作する。コンピューティングシステム環境は、本発明の実施形態の使用の範囲または機能性に関する制限を提案することを意図されたものではない。さらに、コンピューティングシステム環境は、例示的オペレーティング環境に示されたコンポーネントのいずれかまたはその組合せに関する依存性または要件を有するものと解釈してはならない。本発明の実施形態と共に使用するのに適する可能性がある既知のコンピューティングシステム、コンピューティング環境、および/またはコンピューティング構成の例に、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイス、ラップトップデバイス、ペン、マウス、キーボード、電話機、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブルな家庭用電化製品、携帯電話機、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、これに制限はされない。
本発明の実施形態を、プログラムモジュールなど、1つまたは複数のコンピュータまたは他のデバイスによって実行される、コンピュータ実行可能命令の一般的なコンテキストで説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するか特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造が含まれるが、これに制限はされない。本発明の実施形態は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される分散コンピューティング環境でも実践することができる。分散コンピューティング環境では、プログラムモジュールを、メモリストレージデバイスを含むローカルおよびリモートの両方のコンピュータ記憶媒体に配置することができる。
動作時に、コンピュータ130は、本明細書に記載のものなどのコンピュータ実行可能命令を実行して、表面のシンボルのパターンでデータをエンコードする。コンピュータ実行可能命令は、エンコードされたデータを表すデジットの順序付きシーケンスを複数のシーケンシャルウィンドウに分割するように適合される。シーケンシャルウィンドウのそれぞれに、デジットの順序付きシーケンスの部分的シーケンスが含まれる。コンピュータ実行可能命令は、各シーケンシャルウィンドウに含まれる部分的シーケンスを一連のデジットに変換するようにも適合される。コンピュータ実行可能命令は、さらに、表面の複数の表面ウィンドウ内でシンボルを配置するように適合される。各表面ウィンドウは、シーケンシャルウィンドウの1つに対応する。各表面ウィンドウ内のシンボルの位置は、変換された一連のデジットの1つに基づく。表面ウィンドウ内のシンボルの位置は、エンコードされたデータを表す。
コンピュータ130は、本明細書に記載のものなどのコンピュータ実行可能命令を実行し、表面のシンボルのパターンをデコードして、パターンに対応するデータを判定する。パターンは、表面の複数のウィンドウに分割される。コンピュータ実行可能命令は、そのパターンを判定するために表面のシンボルを検出するように適合される。コンピュータ実行可能命令は、判定されたパターンのウィンドウ境界を判定するようにも適合される。ウィンドウ境界は、少なくとも1つのウィンドウを定義する。各定義されたウィンドウに、それに関連する少なくとも1つの検出されたシンボルが含まれる。コンピュータ実行可能命令は、さらに、関連するウィンドウ内での検出されたシンボルの位置を判定するように適合される。検出されたシンボルの、関連するウィンドウ内の判定された位置は、そのパターンに対応するデータを示す。
図示され、本明細書で説明された方法の実行の順序は、特に指定されない限り本質にかかわらない。すなわち、本発明人は、この方法の要素を、特に指定されない限り任意の順序で実行でき、この方法に、本明細書で開示したものより多数または少数の要素を含めることができることが意図されている。
本発明またはその実施形態を導入する時に、冠詞「ある(1つの)」(“a”、“an”)、「該」および「前記」(“the”、“said”)は、1つまたは複数の要素があることを意味することが意図されている。語「備える」、「含む」(“comprising”、“including”)、および「有する」(“having”)は、包括的であり、リストされた要素以外の追加要素が存在し得ることを意味することが意図されている。
上記に鑑みて、本発明の複数の目的が達成され、他の長所が達成されることがわかる。
本発明の実施形態の範囲から逸脱せずに、上の構成および方法でさまざまな変更を行うことができるので、上の説明に含まれ、添付図面に図示されたもののすべてが例として解釈されること、および制限的な意味でないことが意図されている。
本発明の一実施形態による例示的光学デバイスを示すブロック図である。 本発明の一実施形態による光学デバイスによって検出される例示的イメージの構成を示すブロック図である。 本発明の一実施形態による、長方形の配列/行列として配置された数の例示的シーケンスを示すブロック図である。 本発明の一実施形態による、数のシーケンスを表面上のシンボルのパターンにエンコードする例示的処理のステップを示す図である。 本発明の一実施形態による、数のシーケンスを表面上のシンボルのパターンにエンコードする例示的処理のステップを示す図である。 本発明の一実施形態による、数のシーケンスを表面上のシンボルのパターンにエンコードする例示的処理のステップを示す図である。 本発明の一実施形態による、表面上のシンボルのパターンをデコードする例示的処理のステップを示す図である。 本発明の一実施形態による、表面上のシンボルのパターンをデコードする例示的処理のステップを示す図である。 本発明の一実施形態による、表面上のシンボルのパターンをデコードする例示的処理のステップを示す図である。 本発明の一実施形態による、表面上のシンボルのパターンをデコードする例示的処理のステップを示す図である。 本発明の一実施形態による、表面上のシンボルのパターンをデコードする例示的処理のステップを示す図である。 本発明の一実施形態による、検出されたイメージの位置を判定する処理フローを示す例示的な流れ図である。 本発明の一実施形態による、数の順序付きシーケンスをエンコードする処理フローを示す例示的な流れ図である。 本発明の実施形態を実施できる適切なコンピューティングシステム環境の例示的実施形態を示すブロック図である。
符号の説明
132 処理ユニット
134 システムメモリ
136 システムバス
138 ROM
140 RAM
142 BIOS
144 オペレーティングシステム
146 アプリケーションプログラム
148 他のプログラムモジュール
150 プログラムデータ
166 不揮発性メモリインターフェース
184 ユーザ入力インターフェース
186 ネットワークインターフェース
170 オペレーティングシステム
172 アプリケーションプログラム
174 他のプログラムモジュール
176 プログラムデータ
190 ビデオインターフェース
192 リモートアプリケーションプログラム
196 ローカルエリアネットワーク
198 広域ネットワーク

Claims (40)

  1. 表面のシンボルのパターンでデータをエンコードする方法であって、
    前記エンコードされたデータを表すデジットの順序付きシーケンスを複数のシーケンシャルウィンドウに分割することであって、前記シーケンシャルウィンドウのそれぞれは、デジットの前記順序付きシーケンスの部分的シーケンスを含む、分割することと、
    各シーケンシャルウィンドウに含まれる前記部分的シーケンスを一連のデジットに変換することと、
    前記表面上の複数の表面ウィンドウ内でシンボルを配置することであって、各表面ウィンドウは、前記シーケンシャルウィンドウの1つに対応し、各表面ウィンドウ内の前記シンボルの位置は、前記変換された一連のデジットの1つに基づき、前記表面ウィンドウ内の前記シンボルの位置は、前記エンコードされたデータを示す、配置することと
    を備えることを特徴とする方法。
  2. 前記エンコードされたデータは、前記表面上の一意の位置を示し、その結果、各表面ウィンドウ内の前記シンボルの位置は、前記表面上の前記一意の位置を示すことを特徴とする請求項1に記載の方法。
  3. デジットの前記順序付きシーケンスの前記分割は、デジットの前記順序付きシーケンスを複数のオーバーラップしない等しいサイズのシーケンシャルウィンドウに分割することを含むことを特徴とする請求項1に記載の方法。
  4. デジットの前記順序付きシーケンスは、2進数の順序付きシーケンスであり、前記部分的シーケンスの前記一連のデジットへの前記変換は、
    各シーケンシャルウィンドウに含まれる前記部分的シーケンスを10進数で表現することと、
    前記10進数に数学関数を適用することと、
    前記数学関数を適用された前記10進数を2進表現に変換することと
    を含み、前記2進表現は、前記一連のデジットを示す
    ことを特徴とする請求項1に記載の方法。
  5. 前記数学関数の前記10進数への前記適用は、前記10進数の値の累乗を所定の数に適用することを含むことを特徴とする請求項4に記載の方法。
  6. 前記所定の数は2であることを特徴とする請求項5に記載の方法。
  7. 前記10進数の前記変換は、前記数学関数を適用された前記10進数を所定の長さを有する2進表現に変換することを含み、前記表面上の前記表面ウィンドウ内での前記シンボルの前記配置は、前記2進表現の前記長さ内での選択された2進数タイプの位置を判定することと、前記選択された2進数タイプの前記判定された位置に基づいて前記表面ウィンドウ内で前記シンボルを配置することとを含むことを特徴とする請求項5に記載の方法。
  8. 前記選択された2進タイプは「1」であることを特徴とする請求項7に記載の方法。
  9. 前記表面の幾何形状の関数としてデジットの前記順序付きシーケンスを配置することをさらに備え、デジットの前記順序付きシーケンスの前記分割は、前記表面の前記幾何形状に基づいてデジットの前記順序付きシーケンスを前記複数のシーケンシャルウィンドウに分割することを含むことを特徴とする請求項1に記載の方法。
  10. 前記表面の前記幾何形状は長方形であり、デジットの前記順序付きシーケンスの前記配置は長方形配列としてデジットの前記順序付きシーケンスを配置することを含むことを特徴とする請求項9に記載の方法。
  11. デジットの前記順序付きシーケンスは、所定の長さの各部分的シーケンスのデジットの前記順序付きシーケンス内の位置は曖昧さなしに決定されるようになる特性を有することを特徴とする請求項1に記載の方法。
  12. 1つまたは複数のコンピュータ読み取り可能な媒体は請求項1に記載の方法を実行するコンピュータ実行可能命令を有することを特徴とする請求項1に記載の方法。
  13. 表面上のシンボルのパターンに対応するデータを判定するために前記パターンをデコードする方法であって、前記パターンは、前記表面上の複数のウィンドウに分割され、前記方法は、
    前記シンボルのパターンを判定するために前記表面上の前記パターンを検出することと、
    前記判定されたパターンのウィンドウ境界を判定することであって、前記ウィンドウ境界は、前記ウィンドウの少なくとも1つを定義し、各定義されたウィンドウは、それに関連する少なくとも1つの前記検出されたシンボルを含む、判定することと、
    前記関連するウィンドウ内の前記検出されたシンボルの位置を判定することであって、前記関連するウィンドウ内の前記検出されたシンボルの前記判定された位置は前記パターンに対応する前記データを示す、判定することと
    を含むことを特徴とする方法。
  14. 前記パターンに対応する前記データは、前記表面上の一意の位置を示し、その結果、前記関連するウィンドウ内の前記検出されたシンボルの前記判定された位置は、前記表面上の前記一意の位置を示すことを特徴とする請求項13に記載の方法。
  15. 前記パターンは、複数のオーバーラップしない等しいサイズのウィンドウに分割され、前記判定されたウィンドウ境界は、少なくとも1つの前記オーバーラップしない等しいサイズのウィンドウを定義することを特徴とする請求項13に記載の方法。
  16. 少なくとも2つの隣接するウィンドウの前記関連するウィンドウ内の前記検出されたシンボルの前記判定された位置は、前記パターンに対応する前記データを示し、前記表面上の前記シンボルの前記検出は、前記2つの隣接するウィンドウに含まれるシンボルを検出することを含むことを特徴とする請求項13に記載の方法。
  17. 前記ウィンドウ境界の前記判定は、
    各ウィンドウの長さを判定することと、
    潜在的なウィンドウ境界を識別することであって、前記潜在的ウィンドウ境界は、前記表面上の2つのシンボルの間に位置し、前記2つのシンボルは、お互いから多くとも所定の長さだけ離れて前記表面上に位置する、識別することと、
    前記識別された潜在的ウィンドウ境界に基づいて他のウィンドウ境界を確立することと
    を含むことを特徴とする請求項13に記載の方法。
  18. 前記潜在的ウィンドウ境界の前記識別は、前記表面の第1方向に沿って増分式に前記潜在的ウィンドウ境界を識別することを含み、前記他のウィンドウ境界の前記確立は、前記識別された潜在的ウィンドウ境界に基づいて前記表面の第2方向に沿って前記他のウィンドウ境界を増分式に確立することを含むことを特徴とする請求項17に記載の方法。
  19. 前記関連するウィンドウ内の前記検出されたシンボルの前記判定された位置の関数として数の列を判定することをさらに含み、前記数の列は、前記パターンに対応する前記データを示すことを特徴とする請求項13に記載の方法。
  20. 前記検出されたシンボルを前記表面の軸に整列させるためにマスク機能を介して前記検出されたシンボルを回転することをさらに備え、前記マスク機能は前記表面上の連続するスペースに基づくことを特徴とする請求項13に記載の方法。
  21. 1つまたは複数のコンピュータ読み取り可能な媒体は請求項13に記載の方法を実行するコンピュータ実行可能命令を有することを特徴とする請求項13に記載の方法。
  22. 表面および前記表面上のパターンを含む物品であって、前記パターンは、前記表面上のシンボルを有し、各シンボルは、エンコードされたデータを表すデジットの順序付きシーケンスに基づく前記表面上の位置を有し、複数のウィンドウに分割され、各ウィンドウは、少なくとも1つの前記シンボルを含み、前記ウィンドウ内の前記シンボルの位置は、前記エンコードされたデータを示すことを特徴とする物品。
  23. 前記エンコードされたデータは、前記表面上の一意の位置を示し、その結果、前記ウィンドウ内の前記シンボルの位置は、前記表面上の前記一意の位置を示すことを特徴とする請求項22に記載の物品。
  24. 少なくとも2つの隣接するウィンドウのウィンドウ内の前記シンボルの位置は、前記エンコードされたデータを示すことを特徴とする請求項22に記載の物品。
  25. デジットの前記順序付きシーケンスは、2進数の順序付きシーケンスであり、2進数の前記順序付きシーケンスは、所定の長さの各部分的シーケンスの2進数の前記順序付きシーケンス内の位置が曖昧さなしに決定されるようになる特性を有することを特徴とする請求項22に記載の物品。
  26. 前記ウィンドウは、複数のウィンドウ境界によって定義され、前記ウィンドウのそれぞれは、所定の長さを有し、前記ウィンドウ境界のそれぞれは、前記表面上の2つのシンボルの間に位置し、前記2つのシンボルは、お互いから多くとも所定の長さだけ離れて前記表面上に位置することを特徴とする請求項22に記載の物品。
  27. 前記ウィンドウ内の前記シンボルの位置は、一連のデジットを示し、前記一連のデジットは、前記エンコードされたデータを表すデジットの前記順序付きシーケンスの部分的シーケンスを示すことを特徴とする請求項22に記載の物品。
  28. 表面上のシンボルのパターンでデータをエンコードするシステムであって、
    前記エンコードされたデータを表すデジットの順序付きシーケンスを複数のシーケンシャルウィンドウに分離することであって、前記シーケンシャルウィンドウのそれぞれは、デジットの前記順序付きシーケンスの部分的シーケンスを含む、分離することと、
    各シーケンシャルウィンドウに含まれる前記部分的シーケンスを一連のデジットに変換することと
    を実行するコンピュータ実行可能命令を実行するように構成されたプロセッサと、
    前記表面上の複数の表面ウィンドウ内でシンボルを配置する手段であって、各表面ウィンドウは、前記シーケンシャルウィンドウの1つに対応し、各表面ウィンドウ内の前記シンボルの位置は、前記変換された一連のデジットの1つに基づき、前記表面ウィンドウ内の前記シンボルの位置は、前記エンコードされたデータを示す、配置する手段と
    を備えることを特徴とするシステム。
  29. 前記エンコードされたデータは、前記表面上の一意の位置を示し、その結果、各表面ウィンドウ内の前記シンボルの位置は、前記表面上の前記一意の位置を示すことを特徴とする請求項28に記載のシステム。
  30. デジットの前記順序付きシーケンスは、2進数の順序付きシーケンスであり、各シーケンシャルウィンドウに含まれる前記部分的シーケンスを変換する前記コンピュータ実行可能命令は、
    各シーケンシャルウィンドウに含まれる前記部分的シーケンスを10進数で表現し、
    前記10進数に数学関数を適用し、
    前記数学関数を適用された前記10進数を2進表現に変換する
    コンピュータ実行可能命令を含み、前記2進表現は、前記一連のデジットを構成する
    ことを特徴とする請求項28に記載のシステム。
  31. 前記数学関数を適用する前記コンピュータ実行可能命令は、前記10進数の値の累乗を所定の数に適用するコンピュータ実行可能命令を含むことを特徴とする請求項30に記載のシステム。
  32. 前記所定の数は2であることを特徴とする請求項31に記載のシステム。
  33. 前記2進表現は、所定の長さを有し、前記シンボルは、前記2進表現の前記長さ内での選択された2進数タイプの位置を判定し、前記選択された2進数タイプの前記判定された位置に基づいて前記表面ウィンドウ内で前記シンボルを置くことによって、各表面ウィンドウ内で配置されることを特徴とする請求項31に記載のシステム。
  34. 前記選択された2進数タイプは「1」であることを特徴とする請求項33に記載のシステム。
  35. 表面上のシンボルのパターンに対応するデータを判定するために前記パターンをデコードするシステムであって、前記パターンは、前記表面上の複数のウィンドウに分割され、前記システムは、
    前記表面上の前記シンボルのパターンを判定するために前記シンボルを検出するセンサと、
    プロセッサと
    を備え、前記プロセッサは、
    前記判定されたパターンのウィンドウ境界を判定することであって、前記ウィンドウ境界が、少なくとも1つの前記ウィンドウを定義し、各定義されたウィンドウが、それに関連する少なくとも1つの前記検出されたシンボルを含む、判定することと、
    前記パターンに対応する前記データを判定するために前記関連するウィンドウ内での前記検出されたシンボルの位置を識別することと
    を実行するコンピュータ実行可能命令を実行するように構成される
    ことを特徴とするシステム。
  36. 前記パターンに対応する前記データは、前記表面上の一意の位置を示し、その結果、前記関連するウィンドウ内の前記検出されたシンボルの前記識別された位置は前記表面上の前記一意の位置を示すことを特徴とする請求項35に記載のシステム。
  37. 前記センサは、少なくとも2つの隣接するウィンドウに含まれるシンボルを検出するように構成されることを特徴とする請求項35に記載のシステム。
  38. 前記ウィンドウ境界を判定する前記コンピュータ実行可能命令は、
    各ウィンドウの長さを判定することと、
    潜在的なウィンドウ境界を識別することであって、前記潜在的なウィンドウ境界は、前記表面上の2つのシンボルの間に位置し、前記2つのシンボルは、お互いから多くとも所定の長さだけ離れて前記表面上に位置する、識別することと、
    前記識別された潜在的ウィンドウ境界に基づいて他のウィンドウ境界を確立することと
    を実行するコンピュータ実行可能命令を含むことを特徴とする請求項35に記載のシステム。
  39. 前記プロセッサは、前記表面上の前記センサの軌跡の関数として前記判定されたパターンに関する前記ウィンドウ境界を判定するコンピュータ実行可能命令を実行するように構成されることを特徴とする請求項35に記載のシステム。
  40. 前記検出されたシンボルの前記位置を識別する前記コンピュータ実行可能命令は、前記関連するウィンドウ内の前記検出されたシンボルの前記識別された位置の関数として数の列を判定するコンピュータ実行可能命令を含み、前記数の列は、前記パターンに対応する前記データを表すことを特徴とする請求項35に記載のシステム。
JP2005125695A 2004-04-22 2005-04-22 光学デバイスおよび準備された表面に関するコーディングされたパターン Expired - Fee Related JP3983774B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/829,632 US7048198B2 (en) 2004-04-22 2004-04-22 Coded pattern for an optical device and a prepared surface

Publications (3)

Publication Number Publication Date
JP2005310169A true JP2005310169A (ja) 2005-11-04
JP2005310169A5 JP2005310169A5 (ja) 2006-11-16
JP3983774B2 JP3983774B2 (ja) 2007-09-26

Family

ID=35094419

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005125695A Expired - Fee Related JP3983774B2 (ja) 2004-04-22 2005-04-22 光学デバイスおよび準備された表面に関するコーディングされたパターン

Country Status (4)

Country Link
US (2) US7048198B2 (ja)
EP (1) EP1605341B1 (ja)
JP (1) JP3983774B2 (ja)
CN (1) CN100433044C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014067398A (ja) * 2012-09-04 2014-04-17 Panasonic Corp 手書き入力システム

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7133563B2 (en) 2002-10-31 2006-11-07 Microsoft Corporation Passive embedded interaction code
US7048198B2 (en) * 2004-04-22 2006-05-23 Microsoft Corporation Coded pattern for an optical device and a prepared surface
US7826074B1 (en) 2005-02-25 2010-11-02 Microsoft Corporation Fast embedded interaction code printing with custom postscript commands
US7571855B2 (en) * 2005-03-29 2009-08-11 Hewlett-Packard Development Company, L.P. Display with symbology
JP4569359B2 (ja) * 2005-04-05 2010-10-27 富士ゼロックス株式会社 電子文書管理システム、画像形成装置、印刷媒体、電子文書管理方法およびプログラム
US7403943B2 (en) * 2005-04-15 2008-07-22 E. I. Du Pont De Nemours And Company Pattern discovery using PINA and PIBA arrays
US20060235845A1 (en) * 2005-04-15 2006-10-19 Argentar David R Identifying patterns of symbols in sequences of symbols using a binary array representation of the sequence
US7421439B2 (en) 2005-04-22 2008-09-02 Microsoft Corporation Global metadata embedding and decoding
US7400777B2 (en) 2005-05-25 2008-07-15 Microsoft Corporation Preprocessing for information pattern analysis
US7729539B2 (en) 2005-05-31 2010-06-01 Microsoft Corporation Fast error-correcting of embedded interaction codes
US7580576B2 (en) * 2005-06-02 2009-08-25 Microsoft Corporation Stroke localization and binding to electronic document
GB2428952B (en) * 2005-07-30 2010-10-06 Hewlett Packard Development Co Digital pen and paper system
US7817816B2 (en) 2005-08-17 2010-10-19 Microsoft Corporation Embedded interaction code enabled surface type identification
US7756526B2 (en) 2005-09-19 2010-07-13 Silverbrook Research Pty Ltd Retrieving a web page via a coded surface
US7738862B2 (en) * 2005-09-19 2010-06-15 Silverbrook Research Pty Ltd Retrieve information via card on mobile device
US7558597B2 (en) 2005-09-19 2009-07-07 Silverbrook Research Pty Ltd. Retrieving a ringtone via a coded surface
US7621442B2 (en) 2005-09-19 2009-11-24 Silverbrook Research Pty Ltd Printing a subscription using a mobile device
GB2432233B (en) * 2005-10-29 2011-04-20 Hewlett Packard Development Co User-interface system, method & apparatus
AU2006252239B2 (en) * 2006-12-22 2010-04-01 Canon Kabushiki Kaisha Barcode pattern
CA2675689A1 (en) * 2007-02-08 2008-08-14 Silverbrook Research Pty Ltd Bar code reading method
GB2457018B (en) * 2008-01-29 2012-04-04 Hewlett Packard Development Co Pattern for identifying a location on a surface
US20090309854A1 (en) * 2008-06-13 2009-12-17 Polyvision Corporation Input devices with multiple operating modes
JP2011523146A (ja) * 2008-06-13 2011-08-04 ユニヴェルシテ ドゥ モンス 製品を保護するための認証方法及び装置
US8300252B2 (en) * 2008-06-18 2012-10-30 Livescribe, Inc. Managing objects with varying and repeated printed positioning information
AU2008255212A1 (en) * 2008-12-10 2010-06-24 Canon Kabushiki Kaisha Page mark-up using printed dot barcodes
US9576230B2 (en) 2010-07-06 2017-02-21 Marcelo Amaral Rezende Dot code pattern for absolute position and other information using an optical pen, process of printing the dot code, process of reading the dot code
AU2010257220B2 (en) 2010-12-15 2014-03-06 Canon Kabushiki Kaisha Data block offset encoding method for coordinates
CN102063206A (zh) * 2010-12-31 2011-05-18 黄天麒 一种光电输入设备
US8619065B2 (en) * 2011-02-11 2013-12-31 Microsoft Corporation Universal stylus device
TWI492162B (zh) * 2011-05-25 2015-07-11 Generalplus Technology Inc 等灰度二維光學辨識碼裝置
US9068845B2 (en) * 2011-12-16 2015-06-30 3M Innovative Properties Company Optical digitizer system with position-unique photoluminescent indicia
US9958954B2 (en) 2012-12-13 2018-05-01 3M Innovative Properties Company System and methods for calibrating a digitizer system
US20140267016A1 (en) * 2013-03-18 2014-09-18 James Michael Stavoe Digital interface media
US9442185B2 (en) 2014-05-01 2016-09-13 Raytheon Company Non-contacting electro-magnetic spherical planar motor providing 3-axis control of a ball joint gimbal mounted electro-optic system
US9372340B2 (en) 2014-05-01 2016-06-21 Raytheon Company Ball joint gimbal imaging system with an off-gimbal directional electro-optic component
CN105224543A (zh) * 2014-05-30 2016-01-06 国际商业机器公司 用于处理时间序列的方法和装置
TW201604722A (zh) * 2014-07-31 2016-02-01 佳世達科技股份有限公司 手寫輸入系統及手寫輸入方法
DE112015005883T5 (de) 2015-01-30 2017-09-28 Hewlett-Packard Development Company, L.P. M-äre zyklische codierung
US10289875B2 (en) 2015-07-31 2019-05-14 Portland State University Embedding data on objects using surface modulation
CN107016428A (zh) 2016-01-28 2017-08-04 阿里巴巴集团控股有限公司 一种二维码的初始化方法及装置
US11429201B2 (en) 2018-04-13 2022-08-30 Hewlett-Packard Development Company, L.P. Surfaces with information marks

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US85868A (en) * 1869-01-12 Improvement in steam water-elevators
US95098A (en) * 1869-09-21 Improvement in carriage-wheels
US29919A (en) * 1860-09-04 Improved method of converting iron into steel
US128194A (en) * 1872-06-18 Improvement in machines for cutting cloth
US128196A (en) * 1872-06-18 Improvement in pump-pistons
US95725A (en) * 1869-10-12 And drying-stove
US95726A (en) * 1869-10-12 Improvement in reversible axle for carriages
AUPQ055999A0 (en) 1999-05-25 1999-06-17 Silverbrook Research Pty Ltd A method and apparatus (npage01)
US4499374A (en) 1981-06-01 1985-02-12 Mitutoyo Mfg. Co., Ltd. Photoelectrical encoder employing an optical grating
GB8616470D0 (en) 1985-11-05 1986-08-13 Hilton C Optical scanner
EP0299383B1 (en) * 1987-07-11 1994-11-23 Hirokazu Yoshida Method of reading identification code sheets
CN1026632C (zh) * 1988-09-05 1994-11-16 富冈信 信息代码片及其代码的识别方法
US5051736A (en) 1989-06-28 1991-09-24 International Business Machines Corporation Optical stylus and passive digitizing tablet data input system
US5410620A (en) * 1989-08-02 1995-04-25 Teiryo Sangyo Co., Ltd. Digital data reader of digital data recording sheet
CN1043015A (zh) * 1989-11-02 1990-06-13 林宇威 汉字音形兼容二用信息交换码编码方案
JPH06506080A (ja) 1991-04-03 1994-07-07 ヒューレット・パッカード・カンパニー 位置検知装置
US5155355A (en) 1991-04-25 1992-10-13 Mitutoyo Corporation Photoelectric encoder having a grating substrate with integral light emitting elements
US5852434A (en) 1992-04-03 1998-12-22 Sekendur; Oral F. Absolute optical position determination
US5758574A (en) 1992-04-15 1998-06-02 Bernardo; Joseph A. Manually written, machine readable code system
ATE195030T1 (de) * 1992-09-28 2000-08-15 Olympus Optical Co Aufzeichnungsmedium für punktcode und informations-aufzeichnungssystem
JPH08137980A (ja) * 1994-11-15 1996-05-31 Olympus Optical Co Ltd ドットコードの記録方法及びドットコードの記録再生装置
JP2695623B2 (ja) 1994-11-25 1998-01-14 株式会社ミツトヨ 光学式エンコーダ
JPH08250151A (ja) * 1995-03-14 1996-09-27 Matsushita Electric Ind Co Ltd 密閉形アルカリ蓄電池の単位電池
US5937110A (en) 1996-12-20 1999-08-10 Xerox Corporation Parallel propagating embedded binary sequences for characterizing objects in N-dimensional address space
JPH10326323A (ja) * 1997-03-24 1998-12-08 Olympus Optical Co Ltd コードパターンイメージ記録装置
JPH10320497A (ja) * 1997-05-16 1998-12-04 Olympus Optical Co Ltd コード読取記録装置
JP4093618B2 (ja) * 1997-10-08 2008-06-04 富士通株式会社 デジタルコード信号を記録した記録担体の発行/読取装置および記録担体
US6832717B1 (en) 1999-05-25 2004-12-21 Silverbrook Research Pty Ltd Computer system interface surface
JP4785310B2 (ja) 1999-05-28 2011-10-05 アノト アクティエボラーク 情報の記録に用いられる製品
SE516522C2 (sv) 1999-05-28 2002-01-22 Anoto Ab Positionsbestämning
BR0011036A (pt) 1999-05-28 2002-02-26 Anoto Ab Agenda
SE517445C2 (sv) * 1999-10-01 2002-06-04 Anoto Ab Positionsbestämning på en yta försedd med ett positionskodningsmönster
MXPA02004128A (es) 1999-10-25 2004-04-02 Silverbrook Res Pty Ltd Pluma electronicamente controlable.
US7143952B2 (en) * 2000-03-21 2006-12-05 Anoto Ab Apparatus and methods relating to image coding
SE0000949L (sv) 2000-03-21 2001-09-22 Anoto Ab Positionsinformation
US6586688B2 (en) 2000-04-05 2003-07-01 Anoto Ab Information-related devices and methods
US6686579B2 (en) 2000-04-22 2004-02-03 International Business Machines Corporation Digital pen using speckle tracking
JP3589621B2 (ja) 2000-07-03 2004-11-17 株式会社ミツトヨ 光電式エンコーダ及びそのセンサヘッドの製造方法
US6650320B1 (en) 2000-08-16 2003-11-18 International Business Machines Corporation Digital pen using visible image and autocorrelation of substrate pattern
US6592039B1 (en) 2000-08-23 2003-07-15 International Business Machines Corporation Digital pen using interferometry for relative and absolute pen position
US6667695B2 (en) 2001-06-25 2003-12-23 Anoto Ab Position code
US6966495B2 (en) 2001-06-26 2005-11-22 Anoto Ab Devices method and computer program for position determination
US7175095B2 (en) * 2001-09-13 2007-02-13 Anoto Ab Coding pattern
US7145556B2 (en) 2001-10-29 2006-12-05 Anoto Ab Method and device for decoding a position-coding pattern
SE520682C2 (sv) * 2001-12-06 2003-08-12 Anoto Ab Rekonstruering av ett virtuellt raster
US6715687B2 (en) * 2002-02-01 2004-04-06 William Berson Pen and system for writing encoded lines
JP3622960B2 (ja) 2002-02-20 2005-02-23 株式会社ハーモニック・ドライブ・システムズ 投影型エンコーダ
US6959866B2 (en) * 2002-05-30 2005-11-01 Ricoh Company, Ltd. 2-Dimensional code pattern, 2-dimensional code pattern supporting medium, 2-dimensional code pattern generating method, and 2-dimensional code reading apparatus and method
US7293697B2 (en) * 2002-06-05 2007-11-13 Anoto Ab Method for managing information
US6781694B2 (en) * 2002-07-16 2004-08-24 Mitutoyo Corporation Two-dimensional scale structures and method usable in an absolute position transducer
US7134606B2 (en) * 2003-12-24 2006-11-14 Kt International, Inc. Identifier for use with digital paper
US7048198B2 (en) * 2004-04-22 2006-05-23 Microsoft Corporation Coded pattern for an optical device and a prepared surface

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014067398A (ja) * 2012-09-04 2014-04-17 Panasonic Corp 手書き入力システム

Also Published As

Publication number Publication date
EP1605341A2 (en) 2005-12-14
CN1691052A (zh) 2005-11-02
EP1605341A3 (en) 2012-03-07
US7290719B2 (en) 2007-11-06
US20060151621A1 (en) 2006-07-13
US7048198B2 (en) 2006-05-23
EP1605341B1 (en) 2015-06-17
CN100433044C (zh) 2008-11-12
US20050236492A1 (en) 2005-10-27
JP3983774B2 (ja) 2007-09-26

Similar Documents

Publication Publication Date Title
JP3983774B2 (ja) 光学デバイスおよび準備された表面に関するコーディングされたパターン
JP2005310169A5 (ja)
EP1416433B1 (en) Active embedded interaction coding
KR100984402B1 (ko) 2차원 배열에서의 디코딩 및 에러 교정
RU2360303C2 (ru) Анализ изображения позиционно кодированного документа и нанесение метки
US7421439B2 (en) Global metadata embedding and decoding
KR101122822B1 (ko) m-어레이 디코딩 및 오류 정정에 대한 향상된 접근
CA2491843C (en) Global localization by fast image matching
RU2375740C2 (ru) ОПРЕДЕЛЕНИЕ РАСПОЛОЖЕНИЯ ШТРИХОВ ПОСРЕДСТВОМ ДЕКОДИРОВАНИЯ m-МАССИВА И БЫСТРОГО СРАВНЕНИЯ ИЗОБРАЖЕНИЙ
US7542976B2 (en) Local metadata embedding and decoding
US7729539B2 (en) Fast error-correcting of embedded interaction codes
KR20130139225A (ko) 광학 펜을 이용한 절대 위치와 기타 정보용 도트 코드 패턴, 도트 코드 프린팅 방법, 및 도트 코드 읽는 방법

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060928

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060928

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20060928

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20061101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070316

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070518

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070615

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070704

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130713

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees