JP2005327246A - 高速画像マッチを用いた局所的な位置特定 - Google Patents

高速画像マッチを用いた局所的な位置特定 Download PDF

Info

Publication number
JP2005327246A
JP2005327246A JP2005002847A JP2005002847A JP2005327246A JP 2005327246 A JP2005327246 A JP 2005327246A JP 2005002847 A JP2005002847 A JP 2005002847A JP 2005002847 A JP2005002847 A JP 2005002847A JP 2005327246 A JP2005327246 A JP 2005327246A
Authority
JP
Japan
Prior art keywords
image
document
segment
pen
images
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
JP2005002847A
Other languages
English (en)
Other versions
JP4652823B2 (ja
Inventor
Jian Wang
ワン ジャン
Liyong Chen
チェン リヨン
Qiang Wang
ワン チエン
Xiaoxu Ma
マ シャオシュ
Yingnong Dang
ダン インノン
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 JP2005327246A publication Critical patent/JP2005327246A/ja
Application granted granted Critical
Publication of JP4652823B2 publication Critical patent/JP4652823B2/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
    • 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
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Character Input (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Discrimination (AREA)
  • Image Input (AREA)

Abstract

【課題】 取り込まれた画像に対応する文書部分を決定するための効率的な技法を提供すること。
【解決手段】 ユーザがペンにより文書中にストロークを生み出すとき、ペンに搭載されたカメラによって文書の画像が取り込まれる。いくつかの画像の位置は、例えば、画像によって取り込まれた文書上のパターンを分析する等して決定されるが、他の画像の位置は、画像のシーケンスをストロークの形状に対応するグループにセグメント化することによって決定される。次いで、セグメント中の位置決定済みの画像に関する情報を利用して、そのセグメント中の位置未決定の画像の位置を決定する。位置未決定の画像の回転、スケールを使用して位置未決定の画像を歪ませる。次いで、歪ませた位置未決定の画像と文書探索領域との間でピクセル単位の比較を行う。さらに、歪ませた位置未決定の画像がうまくマッチした場合、画像の変換パラメータをさらに精緻にする。
【選択図】 図9

Description

本発明は、画像中に取り込まれた文書の一部の位置を決定することに関する。本発明の様々な態様は特に、文書の画像を取り込むことによって文書上のマークの位置を識別することに適用可能である。
コンピュータに記憶された電子文書は、書面による文書に勝るいくつかの利点をもたらすが、多くのユーザは、電子文書の印刷バージョンを使用していくつかの作業を実施し続けている。これらの作業には、例えば文書を読むことや文書に注釈を付けることが含まれる。通常、注釈はユーザによって印刷文書に直接書き込まれるので、注釈が付けられると文書の紙バージョンは特に重要性を帯びる。しかし、文書の印刷バージョンに直接注釈を付けることに伴う問題の1つは、後で注釈を電子形式に変換するのが難しいことである。理想的には、手書きの注釈が文書の紙バージョンに対応するのと同様にして、電子的に記憶された注釈が文書の電子バージョンに対応すべきである。
この対応付けは通常、元のユーザまたは別のユーザが注釈に目を通し、それらを自分でコンピュータに入力することを必要とする。場合によっては、ユーザは、紙の文書に書き込まれた注釈を電子的にスキャンし、それによって新しい電子文書を作成することもある。これらの複数のステップのせいで、文書の印刷バージョンと文書の電子バージョンとの間で一致を図ることは、繰り返し処理するために困難なものになる。さらに、スキャンされた画像は編集できないことが多い。そのため、文書の元のテキストから注釈を分離する方法がない場合がある。これにより、注釈の使用は困難になる。
この問題に対処するために、印刷文書にペンで書き込まれた注釈を取り込むためのペンが開発された。このタイプのペンはカメラを備えており、カメラは、ユーザが注釈を書き込むのに伴って印刷文書の画像を取り込む。しかし、このタイプのペンのいくつかの例では、カメラに見えないインクを採用する場合がある。例えばペンは、カメラに対してノンカーボンインクおよび赤外線照明を採用する場合があり、それによりカメラは、このインクで書き込まれた注釈を「見る」ことができない。このタイプのペンでは、ペンは、注釈が書き込まれる間にペンが取り込んだ画像から、文書上に注釈を形成するペンチップの動きを推測することになる。しかし、画像を元の電子文書に関連付けるには、文書に対して相対的な画像の位置を決定しなければならない。そのため、このタイプのペンはしばしば、紙の上の様々な位置を一意に識別するパターンを含む紙と共に利用される。画像を受け取ったコンピュータは、このパターンを分析することによって、紙のどの部分が(したがって印刷文書のどの部分が)画像中に取り込まれたかを決定することができる。
Heung-Yeung Shun and Richard Szeliski, "Panoramic Image Mosaics," Microsoft Research Technical Report MSR-TR-97-23, 1997年9月1日発行、2001年10月更新
このようなパターン付きの紙またはその他の媒体を使用することにより、紙の文書上の書き込まれた注釈を電子形式に変換して、文書の電子バージョンに正しく関連付けることができるが、この技法は常に信頼できるとは限らない。例えば、紙の上のテキストを含む文書は、パターンの領域を不明瞭にすることがある。これらの領域のうちの1つの画像をペンが取り込んだ場合、コンピュータはこのパターンを使用しても、画像によって取り込まれた文書部分の位置を正確に決定できないことがある。そうではなくコンピュータは、画像中に取り込まれた文書部分の位置を識別するための代替技法を採用しなければならない。例えばコンピュータは、取り込まれた画像を電子文書とピクセル単位で比較する。
ピクセル単位の比較によって通常、取り込まれた画像中の文書部分が識別されるが、この技法は処理オーバーヘッドが大きい。例えば、この技法を実施するには通常、取り込まれた画像を歪ませて(warp)文書画像とピクセル単位でマッチさせることができるように、取り込まれた画像と文書画像との間の変形(例えば回転)およびスケールを最初に推定しなければならない。変形が未知である場合は、可能なすべての回転およびスケールを考慮しなければならない。さらに、画像中の基準ピクセルを選択する。次いで、画像基準ピクセルが電子文書中の第1の位置と比較されるように、歪ませた画像中のあらゆるピクセルを電子文書中の対応するピクセルと比較する。次いで、この比較を繰り返し、最終的に基準ピクセルを電子文書中の各位置と比較しなければならない。画像ピクセルと電子文書とが最高の対応を有する比較によって、電子文書に対して相対的な基準ピクセルの位置が識別され、それにより、画像中に取り込まれた文書部分が識別される。したがって、画像を文書全体とピクセル単位で比較する必要なしに、取り込まれた画像中の文書部分の位置をコンピュータが決定できるようにする技法を提供することが望ましいであろう。
有利なことに、本発明の様々な実施形態は、取り込まれた画像に対応する文書部分を決定するための効率的な技法を提供する。
本発明の様々な実施形態によれば、ユーザがペンを利用して文書中にストロークを生み出すとき、ペンに搭載されたカメラが一連の画像を取り込む。いくつかの画像の位置は、例えば、画像によって取り込まれた文書上のパターンを分析することから、または画像を文書とピクセル単位で比較することから決定される。しかし、他の画像の位置は、他の技法を使用して決定する必要がある。
これらの位置未決定の画像の位置を効率的に決定するために、画像のシーケンス全体を、ストロークの形状に対応するグループにセグメント化する。このようにすることで、ストロークの相対的に線形のセクションに対応する画像が共にグループ化されることになる。また、1つのセグメント中の画像はすべて通常は近接しているので、セグメント中の位置決定済みの画像に関する情報を利用して、そのセグメント中の位置未決定の画像の位置を決定することができる。例えば、前の位置決定済み画像の位置と、ペンの最大速度または実際速度とに基づいて、位置未決定の画像に対する文書探索領域を確立することができる。さらに、ペンの姿勢は短時間で大きく変化するとは予想されないので、位置決定済み画像の回転およびスケール(アフィン変換。これは透視変換として精緻にすることができる)を、位置未決定の画像の回転およびスケールの推定値として使用することができる。この推定された回転およびスケールを使用して、位置未決定の画像を歪ませて文書画像の配向およびスケールにマッチさせることができる。次いで、歪ませた位置未決定の画像と文書探索領域との間でピクセル単位の比較を実施することができる。
動作環境
図1に、本発明の様々な態様を実施するのに使用できる従来型の汎用ディジタルコンピューティング環境の機能ブロック図の一例を示す。図1で、コンピュータ100は、処理ユニット110と、システムメモリ120と、システムメモリを含めた様々なシステムコンポーネントを処理ユニット110に結合するシステムバス130とを備える。システムバス130は、様々なバスアーキテクチャのいずれかを用いた、メモリバスまたはメモリコントローラ、周辺バス、ローカルバスを含めて、いくつかのタイプのバス構造のいずれかとすることができる。システムメモリ120は、読取り専用メモリ(ROM)140およびランダムアクセスメモリ(RAM)150を含む。
ROM140には、起動中などにコンピュータ100内の要素間で情報を転送するのを助ける基本ルーチンを含むBIOS(basic input/output system)160が記憶されている。コンピュータ100はまた、ハードディスク(図示せず)に対して読み書きするためのハードディスクドライブ170と、取外し可能な磁気ディスク190に対して読み書きするための磁気ディスクドライブ180と、CD ROMやその他の光媒体など取外し可能な光ディスク192に対して読み書きするための光ディスクドライブ191も備える。ハードディスクドライブ170、磁気ディスクドライブ180、光ディスクドライブ191は、それぞれハードディスクドライブインタフェース192、磁気ディスクドライブインタフェース193、光ディスクドライブインタフェース194によってシステムバス130に接続される。これらのドライブおよび関連するコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータの不揮発性記憶域をパーソナルコンピュータ100に提供する。磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)など、コンピュータからアクセス可能なデータを記憶することのできるその他のタイプのコンピュータ可読媒体をこの例示的な動作環境で使用することもできることは、当業者には理解されるであろう。
ハードディスクドライブ170、磁気ディスク190、光ディスク192、ROM140、またはRAM150には、いくつかのプログラムモジュールを記憶することができる。これらには、オペレーティングシステム195、1つまたは複数のアプリケーションプログラム196、その他のプログラムモジュール197、プログラムデータ198が含まれる。ユーザは、キーボード101やポインティングデバイス102などの入力デバイスを介して、コンピュータ100にコマンドおよび情報を入力することができる。その他の入力デバイス(図示せず)には、マイクロホン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナなどを含めることができる。これらおよび他の入力デバイスは、システムバスに結合されたシリアルポートインタフェース106を介して処理ユニット110に接続されることが多いが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)など、その他のインタフェースで接続されてもよい。さらに、これらのデバイスは、適したインタフェース(図示せず)を介してシステムバス130に直接に結合することもできる。モニタ107または他のタイプの表示デバイスも、ビデオアダプタ108などのインタフェースを介してシステムバス130に接続される。モニタに加えて、パーソナルコンピュータは通常、スピーカやプリンタなど、その他の周辺出力デバイス(図示せず)も備える。好ましい一実施形態では、フリーハンド入力をディジタルに取り込むために、ペンディジタイザ165および付属のペンまたはスタイラス166が提供される。ペンディジタイザ165とシリアルポートとの間の直接接続が示されているが、実際には、ペンディジタイザ165は、当技術分野で知られているようにパラレルポートまたは他のインタフェースとシステムバス130とを介して、処理ユニット110に直接に結合されてもよい。さらに、ディジタイザ165はモニタ107とは別に示されているが、ディジタイザ165の使用可能な入力領域がモニタ107の表示領域と同じ領域を占めることが好ましい。さらに、ディジタイザ165はモニタ107に統合されてもよく、あるいはモニタ107の上に置かれるかそうでなければ付加される別個のデバイスとして存在してもよい。
コンピュータ100は、リモートコンピュータ109など1つまたは複数のリモートコンピュータへの論理接続を用いて、ネットワーク化された環境で動作することができる。リモートコンピュータ109は、サーバ、ルータ、ネットワークPC、ピアデバイス、またはその他の一般的なネットワークノードとすることができ、通常はコンピュータ100に関して上述した要素の多くまたはすべてを備える。ただし図1にはメモリ記憶デバイス111だけが示してある。図1に示す論理接続は、ローカルエリアネットワーク(LAN)112およびワイドエリアネットワーク(WAN)113を含む。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、インターネットでよくみられる。
LANネットワーキング環境で使用されるときは、コンピュータ100は、ネットワークインタフェースまたはアダプタ114を介してローカルエリアネットワーク112に接続される。WANネットワーキング環境で使用されるときは、パーソナルコンピュータ100は通常、インターネットなどのワイドエリアネットワーク113を介した通信を確立するためのモデム115または他の手段を備える。モデム115は内蔵でも外付けでもよく、シリアルポートインタフェース106を介してシステムバス130に接続される。ネットワーク化された環境では、パーソナルコンピュータ100に関して示したプログラムモジュールまたはその一部をリモートのメモリ記憶デバイスに記憶することができる。
図示のネットワーク接続は例示的なものであり、コンピュータ間で通信リンクを確立するためのその他の技法を使用することもできることは理解されるであろう。TCP/IP、Ethernet(登録商標)、FTP、HTTP、Bluetooth、IEEE802.11xなど、様々な周知のプロトコルのいずれかがあることが想定され、システムをクライアント‐サーバ構成で動作させて、ユーザがウェブベースのサーバからウェブページを取り出せるようにすることができる。様々な従来型のウェブブラウザのいずれかを使用して、ウェブページ上でデータを表示および操作することができる。
画像取込みデバイス
本発明の様々な実施形態を利用して、一連の画像によって取り込まれた文書部分の位置を決定することができる。前述のように、画像中に取り込まれた文書部分の位置の決定を用いて、紙、表示画面、または文書を表示しているその他の媒体とのユーザ対話の位置を突き止めることができる。本発明のいくつかの実施形態によれば、画像は、紙の上にインクで書くのに使用されるインクペンによって得ることができる。本発明の他の実施形態では、ペンは、文書を表示しているディジタイザの表面に電子インクで「書く」のに使用されるスタイラスとすることができる。
図2Aおよび2Bに、本発明の様々な実施形態により採用することのできるペン201の説明となる例を示す。ペン201は、チップ202およびカメラ203を備える。チップ202は、インク筒を備えるものでもよく、そうでなくてもよい。カメラ203は、表面207から画像204を取り込む。ペン201はさらに、破線のボックス206中に表すように追加のセンサおよび/またはプロセッサを備えてもよい。これらのセンサおよび/またはプロセッサ206はまた、別のペン201および/またはパーソナルコンピュータに(例えばBluetoothや他の無線プロトコルを介して)情報を送信する機能を備えることができる。
図2Bは、カメラ203によって見られる画像を表す。例示的な一例では、カメラ203によって取り込まれる画像の解像度はN×Nピクセルである(N=32)。したがって図2Bは、縦32ピクセル×横32ピクセルの例示的な画像を示す。Nのサイズは調整可能であり、Nの値が高いほど画像解像度は高い。また、ここでは例示のために、カメラ203によって取り込まれる画像を正方形として示しているが、カメラの視野には、当技術分野で知られている他の形状を含めることもできる。
カメラ203によって取り込まれる画像は、画像フレームのシーケンス{I}として定義することができ、Iはサンプリング時間tでペン201によって取り込まれる。サンプリングレートは、システム構成および性能要件に応じて高くすることも低くすることもできる。取り込まれる画像フレームのサイズは、システム構成および性能用件に応じて大きくすることも小さくすることもできる。また、カメラ203によって取り込まれた画像は、処理システムが直接使用してもよく、あるいは事前フィルタリング(pre−filtering)にかけてもよいことを理解されたい。事前フィルタリングは、ペン201中で行ってもよく、ペン201の外(例えばパーソナルコンピュータ中)で行ってもよい。
図2Aには、位置204からのパターンの画像210が形成される画像面209も示してある。対象面207上のパターンから受け取られた光が、レンズ208によって集束される。本発明の様々な実施形態によれば、レンズ208は単一レンズでもマルチパートレンズシステムでもよいが、ここではわかりやすくするために単一レンズとして表してある。画像取込みセンサ211が画像210を取り込む。
画像センサ211は、画像210を取り込むのに十分な大きさとすることができる。あるいは画像センサ211は、位置212でペンチップ202の画像を取り込むのに十分な大きさとすることができる。参照のために、位置212における画像を仮想ペンチップ(virtual pen tip)と呼ぶ。ペンチップとレンズ208と画像センサ211との関係は一定なので、画像センサ211に対する仮想ペンチップの位置は固定であることに留意されたい。
前述のように、ペン201は通常、紙に印刷された文書など、媒体上の位置を識別するためのパターンを表示する媒体と共に使用される。有利にも、このパターンを使用して、カメラ203によって取り込まれた画像210を媒体の体裁に対応する形式に変換することができる。例えば、以下の変換FS→Pは、カメラ203によって取り込まれた画像210を紙上の実際の画像に変換する。
paper=FS→P(LSensor
筆記中、ペンチップと紙は同じ面上にある。したがって、仮想ペンチップから実際のペンチップへの変換もまたFS→Pであり、以下のとおりである。
pentip=FS→P(Lvirtual−pentip
変換FS→Pは、アフィン変換として推定することができる。これは、以下のようにFS→Pの推定値として単純化される。
Figure 2005327246
上式で、θ、θ、s、sは、位置204で取り込まれたパターンの2つの配向の回転およびスケールである。さらに、取り込まれた画像を紙上の対応する実際の画像とマッチさせることによって、F’S→Pを精緻にすることができる。「精緻にする」とは、再帰法(recursive method)と呼ばれる一種の最適化アルゴリズムによって、変換FS→Pのより正確な推定値を得ることを意味する。再帰法では、行列F’S→Pを初期値として扱う。精緻にされた推定値は、SとPの間の変換をより正確に表す。
較正によって、仮想ペンチップの位置をさらに正確に決定することができる。仮想ペンチップの位置を較正するために、ユーザは、ペンチップ202を紙上の既知の位置Lpentipに配置する。次に、ユーザはペンを傾けて、カメラ203が種々のペン姿勢で一連の画像を取り込めるようにする。取り込まれた各画像につき、変換FS→Pが得られる。この変換から、以下のように仮想ペンチップの位置Lvirtual−pentipを得ることができる。
virtual−pentip=FP→S(Lpentip
pentipは(0,0)に初期化され、以下のようになる。
P→S=(FS→P−1
各画像につき得られたLvirtual−pentipを平均することによって、仮想ペンチップの位置Lvirtual−pentipを決定することができる。Lvirtual−pentipを使用して、Lpentipのより正確な推定値を得ることができる。何回か繰り返した後、正確な仮想ペンチップの位置Lvirtual−pentipを決定することができる。
媒体上の位置を識別するためのパターン
前述のように、本発明の様々な実施形態を利用して、取り込まれた画像に対応する文書部分が決定されるが、文書を表示する媒体はまた、媒体上の様々な位置を識別するためのパターンを備える。したがってこのパターンは、表示された形の符号化済みデータストリームと考えることができる。パターンを表示する媒体は、印刷された紙(またはその他の物理媒体)でもよく、あるいは、符号化済みデータストリームを別の画像または画像セットと共に投影する表示装置でもよい。例えば、符号化済みデータストリームは、紙の上の物理的画像として、または表示画像の上に重なる画像として表されてもよく、あるいは、表示画面と結合しているかまたは表示画面の上に重なる物理的な符号化済みパターン(すなわち修正不可能なパターン)でもよい(したがって、ペンによって取り込まれたどんな画像部分も表示画面上で位置決定可能である)。
図3Aに、媒体上の位置を識別するためのパターン中に第1ビットおよび第2ビットを符号化する符号化技法の一例を示す。第1ビット301(例えば値「1」)が、黒いインクの列で表されている。第2ビット302(例えば値「0」)が、黒いインクの行で表されている。ただし、任意の色のインクを使用して様々なビットを表すことができることを理解されたい。選択されるインク色の要件は、画像取込みシステムによって区別可能なように媒体の背景と強い対比をなすことだけである。この例では、図3Aのビットは3×3のドット行列で表されている。行列のサイズは、媒体の画像を取り込むのに使用される画像取込みシステムのサイズおよび解像度に基づいて、望ましい任意のサイズに修正することができる。
図3C〜3Eに、値0と1のビットの代替表現を示す。図3A〜3Eのサンプル符号化に関する1または0の表現は、影響なく交換できることを理解されたい。図3Cには、インタリーブ構成で2つの行または列を占めるビット表現を示す。図3Dには、断続形式の行および列の代替ピクセル構成を示す。最後に図3Eには、不規則な間隔のフォーマットの列および行のピクセル表現を示す(例えば2つの黒いドットの後に1つの空白ドットが続く)。
基礎をなすグリッドを水平および垂直でない構成に回転させること(例えば正しいパターン配向が45度である場合)を含めて、代替のグリッド整列も可能であることに留意されたい。ユーザは他のパターンよりも先に水平および垂直のパターンに気付く傾向があるので、水平および垂直でない構成を用いることで、ユーザの視覚的混乱をなくすという利点をおそらくもたらすことができる。ただし話を簡単にするために、グリッドの配向(基礎をなすグリッドの水平と垂直の配向、ならびにその他の望ましい任意の回転)を、事前定義済みのグリッド配向と総称する。
再び図3Aを参照するが、1ビットが3×3の要素行列で表される場合であって、撮像システムが3×3領域で1つの黒い行と2つの白い行を検出した場合は、この領域は値0(または値1)として検出される。1つの黒い列と2つの白い列を含む3×3領域が検出された場合は、この領域は値1(または値0)として検出される。したがって、図2B中の画像210のサイズが32×32ピクセルであって、各符号化ユニットサイズが3×3ピクセルである場合は、取り込まれる符号化済みユニットの数は約100ユニットになるはずである。符号化ユニットサイズが5×5である場合は、取り込まれる符号化済みユニットの数は約36個になるはずである。
図3Aに示すように、複数のピクセルまたはドットを使用して1ビットを表すことができる。単一のピクセル(またはドット)を使用して1ビットを表すのは脆弱である。埃、紙の折り目、平らでない表面などにより、データユニットの単一要素表現を読み取る際に困難が生じる。ただし、複数の要素を使用してビットを表す場合でも、文書中のタイプ入力テキストなど、パターン付き媒体上に表示された他のテキストが、やはりパターン中の1つまたは複数のビットを不明瞭にすることもある。
ビットストリームを使用して、図3Bのグラフィカルパターン303が生み出される。グラフィカルパターン303は、12行と18列を含む。より具体的には、これらの行と列は、ビット表現301および302を使用してビットストリームをグラフィカルパターン303に変換することによって形成される。したがって、図3Bのパターン303は、以下のビット表現を有するものと見なすことができる。
Figure 2005327246
様々なビットストリームを使用して、図3Bに示す画像303を生み出すことができる。例えば、1と0のランダムシーケンスまたは擬似ランダムシーケンスを使用することができる。ビットシーケンスは、行、列、対角線で構成することができ、あるいはその他の任意の定式的な順序付けに従うこともできる。例えば、上記の行列は、左から右に進んで下に移る場合、以下のビットストリームによって形成することができる。
010001110110010010001110011101001100
上から下に進んで右に移る場合、上記の行列は、以下のビットストリームによって形成することができる。
010111000011001001101001100111100010
斜めに進んで折り返す場合、上記の行列は、以下のビットストリームを表することができる。
011000000101010110000011111110101010
図3Bは、画像303からのピクセルブロックの拡大も含む。拡大304〜211は、5×5のピクセルブロックを示す。ピクセルブロック304は、白い行の間の1つの黒い行を示す。ピクセルブロック305は、白い列の間の1つの黒い列を示す。ピクセルブロック306は左下のコーナを示す。ピクセルブロック307は右上のコーナを示す。ピクセルブロック308は、左側に半分の黒い行が付いた黒い列を示す。ピクセルブロック309は、上に半分の黒い列が付いた黒い行を示す。ピクセルブロック310は半分の黒い行を示す。ピクセルブロック311は半分の黒い列を示す。ピクセルブロックの組合せを分析すると、ピクセルの組合せはすべて、ピクセルブロック304〜311にみられる画像セグメントで形成できることが理解されるはずである。図3Bに示すパターンタイプは、四方すべてが完全に囲まれる領域のない迷路を線セグメントが形成するように見えるので、「迷路」パターンと呼ぶことができる。
さらに、図3F〜3Iに示すピクセルの4つの「コーナ」の組合せもそれぞれ、画像303中に示す迷路パターンに見出されることが予想されるであろう。しかし、図3Bからわかるように、8つのピクセルブロック304〜311には、実際には3つのタイプのコーナしかない。この例では、図3Fに示すピクセルの組合せのコーナはない。このようにして特定のタイプのコーナを除去するように画像セグメント301および302を選択することにより、不足しているコーナタイプに基づいて、取り込まれた画像の配向を決定することができる。
例えば図4に示すように、カメラ203によって取り込まれた画像401を分析し、その配向を、画像401で実際に表される位置に対して解釈可能なように決定することができる。まず、画像401をよく調べ、画像401のどのピクセルが迷路パターンを形成するか、ならびに、パターンのピクセルが水平および垂直に整列するよう画像を回転させるのに必要な角度θを決定する。前に論じたように、本発明の様々な実施形態では、基礎をなすグリッドを水平および垂直でない構成に回転させること(例えば正しいパターンの配向が45度の場合)を含めて、代替のグリッド整列も可能であることに留意されたい。
次に、画像401を分析して、どのコーナが不足しているかを決定する。画像401を復号準備のできた画像403まで回転させるのに必要な回転量oは、o=(θ+回転量{どの角が不足しているかによって定義される})として示される。この回転量を図5の式で示す。再び図4を参照するが、まず、水平および垂直(または他の事前定義済みグリッド配向)の構成のピクセルに達するように角度θをピクセルレイアウトによって決定し、画像を402に示すように回転させる。次いで、分析を行って不足のコーナを決定し、画像602を画像603まで回転させ、画像を復号に向けて準備する。ここでは、画像を反時計回りに90度回転させており、それにより画像603は正しい配向を有し、これを復号に使用することができる。
回転角度θは、不足のコーナを反映するよう画像601を回転させる前に適用しても後に適用してもよいことを理解されたい。また、取り込まれた画像中の雑音を考慮して、すべての4つのコーナタイプがあるものとしてもよいことを理解されたい。したがって、本発明の様々な実施形態では、各タイプのコーナの数を数えることができ、最も少ないコーナの数を有するタイプを不足のコーナタイプとして決定することができる。
最後に、画像403中の符号を読み出し、画像303を生み出すのに使用された元のビットストリームと相関させる。相関はいくつかの方法で実施することができる。例えば再帰的手法で行うことができ、その場合、回復されたビットストリームを、元のビットストリーム内にある他のすべてのビットストリームフラグメントと比較する。第2に、回復されたビットストリームと元のビットストリームとの間で、例えばこの2つのビットストリーム間のハミング距離を使用して統計分析を行うことができる。様々な手法を使用して、回復されたビットストリームの位置を元のビットストリーム内で決定できることを理解されたい。
以上のことから、前述の迷路パターンを使用して、紙やディジタイザ表示装置などの媒体の表面に情報を符号化することができることが理解されるであろう。次いでこの情報を、ペン201のカメラ203で1つまたは複数の画像中に取り込み、復号することができる。媒体の表面上に符号化することのできる情報のうち、特に有用なタイプの情報は、位置情報である。ビットストリームの各部分が媒体上で繰り返されない場合、コンピュータ101は、特定のビットストリームを含む文書部分を決定することができる。
パターンの完全な部分が画像中に取り込まれた場合、コンピュータ101は、前述のように、画像中に取り込まれた文書部分を決定することができる。しかし場合によっては、パターンの一部が不明瞭なことがある。例えば、媒体が例えばタイプ入力テキストを含む文書である場合、このテキストはパターン中の1つまたは複数のビットを部分的に不明瞭にすることがある。前の例(各ビットが3×3のピクセル行列で構成され、カメラ203の解像度が32×32ピクセルの例)では、コンピュータ101は、60個以上のビットを画像から識別することができる場合、画像中に取り込まれた文書部分の位置を決定できる可能性が非常に高い。しかし、36から60個のビットしか画像中で識別できない場合、コンピュータ101はなお、画像中に取り込まれた文書部分の位置を決定することができる。さらに、画像から識別できるビットが35個以下である場合、コンピュータ101は、画像中に取り込まれた文書部分を決定することはできない。
ストロークで取り込まれる画像
例示した本発明の実施形態では、前に詳細に述べたように、文書上でストロークを形成するインクはカメラ203に見えない。そうではなくカメラ203は、ペンが動いてストロークを形成するのに伴って、文書の画像を取り込むだけである。実際のペンチップの位置、したがってストロークの位置は、較正パラメータを使用して画像の中心の位置をずらすことによって推測される。例えば図6に、ペン201を使用して文書上に形成することのできるストロークに対応するストロークパス601の例を示す。ストロークパス601は、ストロークの形状を辿ってはいるが、ストロークからずれている。ユーザがペン201を動かしてストロークを形成するのに伴って、カメラ203は、ストロークパス601に沿って文書の画像を周期的に取り込む。それにより、図7に示すように、カメラ203は文書の一連の画像701A〜701Xを取り込むことになり、各画像の中心はストロークパス601上にくる。そのため、各画像701A〜701Xの中心は、実際のストロークパス601上にくる。例えば図8に、それぞれ画像701A〜701Xの中心である一連の点801A〜801Xを示す。ただし、本発明の他の実施形態では、異なる構成を採用してもよいことを理解されたい。例えば、本発明の代替実施形態では、取り込まれる画像の中心はペン201の実際のチップ202に対応するものとすることもできる。
前述のように、文書は、文書の様々な位置を識別するビット情報を含むパターンを備えることになる。したがって、各画像701A〜701Xは、このパターンの一部を含むことができる。場合によっては、取り込まれた画像は、コンピュータ101などのコンピュータが画像の位置を決定するのに(すなわち画像中に取り込まれた文書部分の位置を決定するのに)十分なパターンを含む。あるいは、1つまたは複数の画像の位置は、例えば画像を文書とまたは文書の選択部分とピクセル単位で比較することによって得ることができる。
一方、前述のように、画像から識別されるビットの数が不十分な場合は、コンピュータ101は、どの文書部分が画像中に取り込まれたかを決定することができない。そうではなくコンピュータ101は、代替技法を利用して、どの文書部分が画像中に取り込まれたかを決定しなければならない。文書が電子形式で記憶されており、この文書画像に対する取り込まれた画像の回転およびスケールを推定することができる場合、コンピュータ101は、回転されスケールされた画像中のあらゆるピクセルを電子文書中のあらゆる位置とピクセル単位で比較することができる。この技法は、非常に多くの比較プロセスを必要とすることがある。例えば、電子文書のページ1つが1410×2019ピクセルを含む場合があり、したがって2889090(1410×2019)回の比較が必要である。加えて、各比較プロセスでは非常に多くのピクセルを比較する。例えば、取り込まれた画像が32×32ピクセルを含む場合があり、したがって各比較では1024(32×32)個のピクセルを比較する。さらに、取り込まれた画像の回転およびスケールを推定することができない場合は、すべての可能な回転およびスケールを考慮しなければならない。したがってこの技法は、非常に大きなプロセッサオーバーヘッドを要し、また時間がかかる。そうではなくコンピュータ101は、後でより詳細に論じるように、本発明の様々な実施形態により局所的な高速画像マッチを実施することによって、画像の位置をより効率的に素早く決定することができる。
図9に、本発明の様々な実施形態により高速画像マッチを実施するために利用できるツール901を示す。ツール901は、画像受領モジュール903、セグメント化モジュール905、セグメント完了モジュール907、結果切捨てモジュール909を備える。後でより詳細に論じるように、画像受領モジュール903が、物理媒体上に表示された文書の一部の画像を受け取る。各画像の中心は、実際のインクストロークからずれてストロークパス601上にくる。次いで、セグメント化モジュール905が各画像を分析して、ストロークの形状に対応する画像のシーケンスをセグメント化する。セグメントが決定されると、セグメント完了モジュール907が、各セグメント中の各画像の位置を決定することによって、各セグメントを「完了」させる。次いで、結果切捨てモジュール909が、セグメント完了モジュール907によって誤って決定された位置結果を切り捨てる。位置未決定の画像に対応する文書部分を決定する方法の1つを、図10A〜10Cに示すフローチャートに述べるが、これについても後でより詳細に述べる。
画像のセグメント化
ストロークパスに沿って取り込まれた画像を分析するとき、コンピュータ201はまず、例えば前に詳細に述べた迷路パターンなど、文書中に提供されたパターンを使用して、各画像を位置決定することを試みる。パターンを復号することによって画像をうまく位置決定することができない場合は、第1の画像と文書とをピクセル単位で比較する(または、文書中で公算の高い対応領域を識別することができれば、それらの公算の高い対応領域と比較する)。このような比較によって第1の画像をうまく位置決定することができた場合は、後でより詳細に論じる局所的な位置特定プロセスを使用して、残りのフレームを分析する。第1の画像をうまく位置決定することができない場合は、ピクセル単位の比較を用いて次のフレームを分析する。このプロセスを、画像がうまく位置決定できるまで、またはどの画像も位置決定できないと判定されるまで継続する。どの画像も位置決定できない場合は、このストロークは失われる(すなわちこのストロークの位置を決定することはできない)。位置決定された画像の中心を、以下では「開始」点と呼ぶ。というのは、これらの点は、ストロークパス601に沿った位置未決定の画像の位置を決定するためのベースラインとして使用されることになるからである。したがって、パターンの使用によって、またはピクセル単位の比較によってうまく位置決定された各フレームの中心は、開始点である。
再び図8を参照すると、この図には様々な点801A〜801Xが示してあり、各点はそれぞれ画像701A〜701Xの中心である。この図では、円で表された点は開始点である。したがって、点801A、801C、801F、801I、801K、801O、801Q、801T、801Xは開始点である。星で表された点は、まだ位置決定されていない画像(すなわち識別されない文書部分を取り込んだ画像)の中心である。したがって、点801B、801D、801E、801G、801H、801J、801L、801M、801N、801P、801R、801S、801U、801V、801W、801Xは、位置未決定の点である。
次に図10Aに移るが、ステップ1001で、画像(またはフレーム)のシーケンスをセグメント化する。より具体的には、各グループがストロークパス601の相対的に線形の部分に対応するように、画像のシーケンスをグループに分割する。後でより詳細に述べるように、このセグメント化により、セグメント中の位置決定済み画像の位置から、そのセグメント中の位置未決定の画像の位置を正確に補間することができる。ストロークのセグメントを決定するために、セグメント化モジュール903は、ストロークのピボット開始点を識別する。ピボット開始点は、ストロークが方向を変える位置に、またはその近くに生じる点である。さらに、ストローク中の最初と最後の開始点はピボット開始点と考える。
図11および12に、ストロークパス601の画像701A〜701Xのシーケンスをセグメント化するプロセスの1つを図式的に示す。前述のように、最初の開始点801Aと最後の開始点801Xは両方とも、ピボット開始点と考える。したがって、ピボット開始点801Aと801Xは、それらの間でストロークパス601の単一セグメントを定義する。ストロークパス601の追加のピボット開始点を定義するために、セグメント化モジュール905は、図11に示すように最初のピボット開始点801Aと最後の開始点801Xとの間に線1101を生成する。次いで、線1101から最も遠い開始点801O(後述するように0.5ピクセルなどのしきい値よりも遠い距離にある)をピボット開始点として識別する。それにより、セグメント化モジュール903は、線1101から距離dに位置する開始点801Oをピボット開始点として指定する。開始点801Oを定義すると、画像701A〜701Xのシーケンスは2つのセグメントに分割される。第1のセグメントSEG1は、ストロークパス601のピボット開始点801Aとピボット開始点801Oとの間の部分に対応し、第2のセグメントSEG2は、ストロークパス601のピボット開始点801Oとピボット開始点801Xとの間の部分に対応する。
セグメント化モジュール903は、各セグメントが相対的に直線のストローク部分に対応するようになるまで、各セグメントをより小さいセグメントに分割し続ける。例えば、ストロークパス601で、セグメント化モジュール903は、第1のセグメントSEG1をより小さいセグメントに分割する。より具体的には、セグメント化モジュールは、セグメントSEG1の端点間(すなわちピボット開始点801Aとピボット開始点801Oとの間)にライン1201を生成する。次いでセグメント化モジュール903は、線1201から最も遠い開始点を識別する。それにより、セグメント化モジュール903は、線1201から距離dに位置する開始点801Fをピボット開始点として指定する。開始点801Fを定義すると、画像701A〜701Oのセグメントは2つのセグメントに分割される。第1のセグメントSEG1Aは、ストロークパス601のピボット開始点801Aとピボット開始点801Fとの間の部分に対応し、第2のセグメントSEG1Bは、ストロークパス601のピボット開始点801Fとピボット開始点801Oとの間の部分に対応する。
セグメント化モジュール903は、画像の各セグメントがほぼ線形のストローク部分に対応するようになるまで、画像の各セグメントを分割し続ける。例えば、セグメント化モジュール903が、セグメントを形成する2つの開始点の間で線を生成し、この線からしきい値距離よりも遠い開始点がない場合は、セグメント化モジュールはそれ以上セグメントを分割しない。本発明のいくつかの実施形態では、しきい値は、文書中の個々の位置を(例えばデカルト座標系を使用して)定義するために採用される例えば0.5ユニット(例えばピクセル)の距離とすることができる。当然、より高いしきい値を使用することもでき、それにより、画像のセグメントがより線形でないストローク部分に対応できるようにしてもよい。より低いしきい値を使用することもでき、それにより、画像のセグメントがより線形なストローク部分に対応する必要があるようにしてもよい。
セグメント化モジュール903は、ストローク中のすべてのピボット開始点を識別すると、ピボット開始点の位置および透視変換(perspective transform)を精緻にする。より具体的には、セグメント化モジュール903は、ピボット開始点801の位置および透視変換をより正確に決定するために、ピボット開始点801に対応する各画像701を文書の電子バージョンと比較する。この比較プロセスは、知られている所望の技法を用いて利用することができる(例えば、非特許文献1参照。)ピボット開始点を精緻にすると、画像のシーケンスをセグメントに分割するプロセスが完了する。
ピボット開始点801(および関連する画像701)の位置をより正確に決定することに加えて、ピボット開始点801を精緻にすることにより、セグメント化モジュール903は、画像をそれに対応する文書部分とマッチさせるのに使用される変換パラメータの精度を高めることができる。前に詳細に論じたように、ペン201を傾斜および回転させるせいで、カメラによって撮られる画像は、文書の実際の体裁に対して相対的に回転およびスケールされている。画像を文書の一部と正確に比較するために、画像を歪ませて、ペン201の傾斜および回転によって生じた回転およびスケールの変化を補償しなければならない。例えば図13に、元の画像1301を示す。次いで図14に、歪み変換パラメータに従って歪ませた後の同じ画像1401を示す。
ピボット開始点を文書の電子バージョンとより正確に比較することによって、セグメント化モジュール903は、画像をより正確に歪ませて文書とマッチさせるために、変換パラメータを修正することができる。本発明の様々な実施形態では、セグメント化モジュール903は、シーケンス中の取り込まれた画像すべてに適用される単一の変換パラメータセットを修正することができる。しかし、本発明の他の実施形態では、セグメント化モジュール903は、各ピボット開始点ごとの特定の変換パラメータセットを生み出す。後でより詳細に論じるが、各ピボット開始点ごとに特定の変換パラメータセットがある場合、隣接する位置未決定の点をより正確に補間することができる。ペン201の傾斜および回転は、ストローク全体の距離にわたって大きく変動することはあるが、通常、ストロークの単一セグメントの短い距離ではそれほど変動しない。そのため、各ピボット開始点ごとの変換パラメータを使用して、そのピボット開始点に対応する画像の直前または直後に取り込まれた画像をより正確に歪ませることができる。
セグメント化モジュール903が画像701A〜701Xをセグメント化した後、セグメント完了モジュール905は、各画像セグメントを処理して、各セグメント中の位置未決定の画像の位置を決定する。したがってステップ1005で、セグメント完了モジュール905は、第1のセグメント中の画像を受け取る。次にステップ1005で、セグメント完了モジュール905は、このセグメントが完了しているかどうかを判定する。セグメント完了モジュール905は、ピボット開始点でない少なくとも1つの開始点をセグメントが含む場合に、セグメントが完了していると判定する。すなわち、セグメント中のピボット開始点以外の少なくとも1つの点の位置が、画像中に取り込まれたパターンからまたは別の技法によってすでに決定されている場合は、セグメントは完了している。この状況で、セグメントは、セグメント中のすべての画像を線形補間によって決定できるほど十分に線形である。加えて、セグメント完了モジュール905は、セグメント中のあらゆる位置未決定画像が文書の対応部分とマッチされた後にも、セグメントが完了していると判定する。
セグメントが完了していない場合は、ステップ1007で、セグメント完了モジュール905は、セグメント中の第1の未処理(すなわち位置未決定)の画像を受け取る。(各セグメント中の第1の画像は、既知の位置のピボット開始点である。)ステップ1008で、セグメント完了モジュールは、後でより詳細に論じるように、文書と比較するために画像を歪ませる。次いでステップ1009で、セグメント完了モジュール905は、未処理画像に対する探索領域を決定する。セグメント中の第1の未処理画像に対する探索領域は、ペン201の最大推定速度に基づいて決定する。当業者には理解されるであろうが、ペン201を使用して筆記しているユーザは、文書を表示している物理媒体に応じた最大速度でしかペン201を動かすことはできない。特定のタイプのペン201および物理媒体の場合の最大速度は、例えば実験によって決定することができる。
したがって、第1の未処理画像に対する探索領域の中心は、セグメント中の第1のピボット開始点とすることができ、探索領域の半径は、ペン201の最大速度に、セグメント中の第1のピボット開始点に対応する画像の取込みと、セグメント中の第1の未処理画像の取込みとの間の時間間隔を掛けた値に制限される。本発明の様々な実施形態では、未処理画像を、前述のようにセグメント中の第1のピボット開始点の変換パラメータを使用して比較のために歪ませる。しかし、本発明の他の実施形態では、未処理画像は、前の画像がピボット開始点であるかどうかにかかわらず、セグメント中のすでに位置決定された画像の変換パラメータを使用して比較のために歪ませることができる。未処理画像を歪ませた後、次いでセグメント完了モジュール905は、歪ませた第1の未処理画像を文書の探索領域とピクセル単位で比較して、第1の未処理画像中に取り込まれた文書部分を決定する。ピクセル単位の比較は、例えば、第1の未処理画像と探索領域中の各文書部分との間の相関値を決定する。
セグメント完了モジュール905は、未処理画像が、最高の相関値を生み出す文書部分に対応すると決定する。未処理画像をこのようにして正確に位置決定することにより、セグメント完了モジュール905はまた、未処理画像に対応する点の位置も決定する。第1の未処理画像について位置決定された点と、第1のピボット開始点との間の距離は、ペン201が実際に動かされた速度を示す。決定された未処理画像の位置に基づき、セグメント完了モジュール905はまた、取り込まれた画像を精緻にすることによって(すなわち取り込まれた画像を文書画像とマッチさせて透視変換を得ることによって)変換パラメータを更新して、前述のように次の未処理画像を歪ませる際に使用することができる。ペン201の実際の動く速度が決定され、変換パラメータが更新されると、未処理画像は処理されたと見なされる。
ステップ1015で、セグメント完了モジュール905は、セグメント中に未処理画像が他にもあるかどうかを判定する。他にもある場合は、セグメント完了モジュール905は、現在未処理画像を受け取ってステップ1007を繰り返す。次いでステップ1009で、セグメント完了モジュール905は、現在未処理画像に対する探索領域を決定する。セグメント中の第2の未処理画像および後続の各未処理画像で、前の未処理画像を位置決定することから決定されたペン201の実際速度に基づいて、探索領域を決定する。例えば、探索領域の中心は、前の未処理画像に対応する中心点とすることができる。次いでセグメント完了モジュール905は、前の未処理画像に対する点の位置から計算した実際のペン速度に基づいて、探索領域の半径を決定することができる。より具体的には、探索領域の半径は、前の未処理画像の位置から計算された実際のペン速度に、取り込まれた画像間の時間間隔を掛けることによって決定することができる。
当業者には理解されるであろうが、ペン201を使用して筆記しているユーザは、ペン201の速度を最大加速値で変更することしかできない。この最大加速値は、例えば実験によって計算することもでき、あるいは前に位置決定された画像間の実際の加速度に基づくこともできる。したがって、本発明のいくつかの実施形態では、第2および後続の未処理画像に対する探索領域の半径は、最大加速値によって修正することができる。例えば、時間t1、t2、t3で取り込まれ、点p1、p2、p3を中心とする3つの画像f1、f2、f3が、ストローク中にあるとする。点p1およびp2の位置を決定することができれば、これらの画像の取込みと取込みの間のペン速度Vは、V=(p2−p1)/(t2−t1)である。加速値が−AとAの間の値であるとすると、点p3に対する探索領域は、位置P=p2+V*(t3−t2)の辺りを中心とし、探索領域の範囲は[P−A*(t3−t2)*(t3−t2)/2,P+A*(t3−t2)*(t3−t2)/2]である。
セグメント完了モジュール905は、現在未処理画像に対する探索領域を決定すると、ステップ1011で、未処理画像を前の処理済み画像からの透視変換で歪ませ、歪ませた未処理画像を文書の探索領域とピクセル単位で比較する。この場合もやはり、最高の相関値を生み出す文書部分を現在未処理画像の位置として選択する。次いでセグメント完了モジュール905は、現在未処理画像の点と、前の未処理画像の点との間の距離に基づいて、ペン201の新しい速度を計算する。また、識別された現在未処理画像の位置に基づいて変換パラメータも更新し、それにより画像を処理する。次いでセグメント完了モジュール905は、ステップ1015を繰り返して、現在セグメント中に位置未決定の画像が残っているかどうかを判定する。
セグメント完了モジュール905は、位置未決定の画像が現在セグメント中になくなるまで、ステップ1007および1015を繰り返す。次にステップ1017で、セグメント完了モジュール905は、画像シーケンス中にセグメントが他にもあるかどうかを判定する。セグメントが他にもある場合は、セグメント完了モジュール905は、画像シーケンス中のすべてのセグメントが完了するまで、ステップ1003から1015を繰り返す。
すべてのセグメントが完了した後、ストローク中の各画像を文書中で位置決定する。いくつかの要因、例えば誤った初期変換パラメータやモーションブラーなどは、1つまたは複数の位置決定済み画像についての誤った位置結果につながる恐れがある。そのため、本発明の様々な実施形態では、ステップ1019で、結果切捨てモジュール609を利用して、誤った位置を結果から切り捨てる。
結果切捨てモジュール609は、例えば、画像シーケンスの各開始点の位置を維持することができる。次に、結果切捨てモジュール609は、ストロークパス全体にわたる各点を進み、最初の点から最後の点への順に各点を分析することができる。より具体的には、前の点から現在点まで、および現在点から次の点までの速度を計算する。この2つの速度値から、加速度も計算する。速度値と加速度のどちらかが最大値を超える場合は、現在点の位置を誤りと見なし、結果から切り捨てる。
本発明の様々な実施形態では、結果切捨てモジュール609は各点の分析を繰り返すことができるが、そうではなく最後の点から最初の点へ逆の順に各点を分析することもできる。したがって、次の点から現在点まで、および現在点から前の点への速度を計算する。この2つの速度値から、加速度も計算する。速度値と加速度のどちらかが最大値を超える場合は、現在点の位置を誤りと見なし、結果から切り捨てる。すべての誤った点を切り捨てた後、補間を用いて、切り捨てた点の位置を決定することができる。
結び
現時点で好ましい本発明の実施モードを含めて特定の例に関して本発明を述べたが、前述のシステムおよび技法には、添付の特許請求の範囲に示す本発明の趣旨および範囲に含まれる多くの変形および置換があることは、当業者なら理解するであろう。
本発明の実施形態に関して使用することのできるコンピュータの一般的な記述を示す図である。 本発明の様々な実施形態によるペンの例を示す図である。 本発明の様々な実施形態によって得られる画像の解像度を示す図である。 本発明の実施形態による符号化システムの例を示す図である。 本発明の実施形態による符号化システムの例を示す図である。 本発明の実施形態による符号化システムの例を示す図である。 本発明の実施形態による符号化システムの例を示す図である。 本発明の実施形態による符号化システムの例を示す図である。 本発明の実施形態による符号化システムの例を示す図である。 本発明の実施形態による符号化システムの例を示す図である。 本発明の実施形態による符号化システムの例を示す図である。 本発明の実施形態による符号化システムの例を示す図である。 どのように符号化パターンを利用して、文書の一部から取り込まれた画像の回転を決定することができるかを図式的に示す図である。 文書の一部から取り込まれた画像の回転を決定するのに使用することのできる式を示す図である。 文書中に生み出されたストロークを示す図である。 図6に示す文書中にストロークが生み出されたときの、取り込まれた画像を示す図である。 図7に示す取り込まれた画像それぞれの基準点を示す図である。 本発明の様々な実施形態による、取り込まれた画像を文書の一部とマッチさせるのに使用することのできるツールを示す図である。 本発明の様々な実施形態による、取り込まれた画像を文書の一部とマッチさせる方法を記述するフローチャートを示す図である。 本発明の様々な実施形態による、取り込まれた画像を文書の一部とマッチさせる方法を記述するフローチャートを示す図である。 本発明の様々な実施形態による、取り込まれた画像を文書の一部とマッチさせる方法を記述するフローチャートを示す図である。 図6に示すストロークのピボット基準点の決定を示す図である。 図6に示すストロークのピボット基準点の決定を示す図である。 取り込まれた画像をどのようにして歪ませることができるかについての例を示す図である。 取り込まれた画像をどのようにして歪ませることができるかについての例を示す図である。
符号の説明
101 キーボード
102 マウス
106 シリアルポートインタフェース
107 モニタ
108 ビデオアダプタ
109 リモートコンピュータ
110 処理ユニット
111 メモリ
112 ローカルエリアネットワーク
113 ワイドエリアネットワーク
114 ネットワークインタフェース
115 モデム
120 システムメモリ
130 システムバス
165 ディジタイザ
192 ハードディスクインタフェース
193 磁気ディスクドライブインタフェース
194 光学ドライブインタフェース
195 オペレーティングシステム
196 アプリケーションプログラム
197 その他のプログラムモジュール
198 プログラムデータ
903 画像受領モジュール
905 セグメント化モジュール
907 セグメント完了モジュール
909 結果切捨てモジュール

Claims (10)

  1. ストロークの画像の位置を決定する方法であって、
    文書中のストロークの複数の画像を1つまたは複数のセグメントにグループ化し、それにより各セグメントが、前記文書中の第1の既知の位置に対応する最初の位置決定済み画像と、前記文書中の第2の既知の位置に対応する最後の位置決定済み画像とを有するようにするステップと、
    各セグメントが完了しているか未完了かを判定するステップであって、完了している各セグメントは、前記文書中の第3の既知の位置に対応する第3の位置決定済み画像を少なくとも含むステップと、
    未完了の各セグメントを完了させるステップと
    を含むことを特徴とする方法。
  2. セグメントが前記文書中の第3の既知の位置に対応する第3の位置決定済み画像を少なくとも含む場合に、前記セグメントが完了していると判定するステップをさらに含み、前記第3の既知の位置は、前記複数の画像を1つまたは複数のセグメントにグループ化する前に既知であったことを特徴とする請求項1に記載の方法。
  3. 未完了の各セグメントを完了させるステップは、少なくとも1つの未完了セグメント中の各画像に対応する前記文書中の位置を識別するステップを含むことを特徴とする請求項1に記載の方法。
  4. 現在画像に対応する前記文書中の位置を識別するステップは、
    前記ストロークを形成するのに利用されたペンの動きと、前の画像に対応する前記文書中の位置とに基づいて前記文書中の探索領域を決定するステップと、
    前記現在画像を前記文書中の前記探索領域と比較するステップとを含むことを特徴とする請求項3に記載の方法。
  5. 前記ペンの動きは前記ペンの最大速度であることを特徴とする請求項4に記載の方法。
  6. 前記ペンの動きは、2つ以上の前の画像に対応する前記文書中の位置から決定された、前記ペンの実際速度であることを特徴とする請求項4に記載の方法。
  7. 前記ペンの動きは前記ペンの最大加速度であることを特徴とする請求項4に記載の方法。
  8. 各セグメントは前記ストロークの相対的に線形の部分に対応することを特徴とする請求項1に記載の方法。
  9. 前記複数の画像それぞれに対応する前記文書中の位置を分析するステップと、
    1つまたは複数の誤った位置を切り捨てるステップとをさらに含むことを特徴とする請求項1に記載の方法。
  10. 前記複数の画像それぞれに対応する前記文書中の位置を分析するステップは、前記複数の画像がセグメントにグループ化される前に識別された位置が誤っていないことを示すことを含むことを特徴とする請求項9に記載の方法。

JP2005002847A 2004-01-07 2005-01-07 高速画像マッチを用いた局所的な位置特定 Expired - Fee Related JP4652823B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/752,081 US7529410B2 (en) 2004-01-07 2004-01-07 Local localization using fast image match

Publications (2)

Publication Number Publication Date
JP2005327246A true JP2005327246A (ja) 2005-11-24
JP4652823B2 JP4652823B2 (ja) 2011-03-16

Family

ID=34592556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005002847A Expired - Fee Related JP4652823B2 (ja) 2004-01-07 2005-01-07 高速画像マッチを用いた局所的な位置特定

Country Status (13)

Country Link
US (1) US7529410B2 (ja)
EP (1) EP1553522A3 (ja)
JP (1) JP4652823B2 (ja)
KR (1) KR100942122B1 (ja)
CN (1) CN100576234C (ja)
AU (1) AU2004242566B2 (ja)
BR (1) BRPI0500014A (ja)
CA (1) CA2491770A1 (ja)
MX (1) MXPA05000419A (ja)
MY (1) MY144958A (ja)
RU (1) RU2369901C2 (ja)
TW (1) TWI355614B (ja)
ZA (1) ZA200500094B (ja)

Families Citing this family (27)

* 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
US7797369B2 (en) * 2003-12-16 2010-09-14 Seiko Epson Corporation System and method for controlling a transmission of image data to a display device
GB0417075D0 (en) * 2004-07-30 2004-09-01 Hewlett Packard Development Co Calibrating digital pens
US7826074B1 (en) 2005-02-25 2010-11-02 Microsoft Corporation Fast embedded interaction code printing with custom postscript commands
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
US7817816B2 (en) 2005-08-17 2010-10-19 Microsoft Corporation Embedded interaction code enabled surface type identification
US20070216711A1 (en) * 2006-03-14 2007-09-20 Microsoft Corporation Microsoft Patent Group Abstracting transform representations in a graphics API
US8096584B2 (en) * 2006-07-24 2012-01-17 3M Innovative Properties Company Document authentication using template matching with fast masked normalized cross-correlation
JP4989308B2 (ja) * 2007-05-16 2012-08-01 キヤノン株式会社 画像処理装置及び画像検索方法
TWI403940B (zh) * 2008-12-03 2013-08-01 Au Optronics Corp 光感式觸控板之觸碰偵測方法及運用此方法之觸控式電子裝置
US8483518B2 (en) 2010-02-19 2013-07-09 Microsoft Corporation Image-based CAPTCHA exploiting context in object recognition
JP2012103776A (ja) * 2010-11-08 2012-05-31 Fuji Xerox Co Ltd 軌跡情報処理装置、軌跡情報処理システム及びプログラム
US20120272302A1 (en) * 2011-04-21 2012-10-25 Microsoft Corporation Human User Verification
WO2013090494A1 (en) 2011-12-16 2013-06-20 3M Innovative Properties Company Optical digitizer system with position-unique photoluminescent indicia
CN103377471B (zh) * 2012-04-16 2016-08-03 株式会社理光 物体定位方法和装置、最优摄像机对确定方法和装置
RU2582853C2 (ru) * 2012-06-29 2016-04-27 Общество с ограниченной ответственностью "Системы Компьютерного зрения" Устройство для определения расстояния и скоростей объектов на основе стереоподхода
JP6064211B2 (ja) * 2012-09-04 2017-01-25 パナソニックIpマネジメント株式会社 手書き入力システム
US8692212B1 (en) 2012-10-29 2014-04-08 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
JP6125333B2 (ja) * 2013-05-31 2017-05-10 株式会社東芝 検索装置、方法及びプログラム
EP3056524B1 (en) * 2014-10-13 2021-09-22 LG Chem, Ltd. Ethylene/1-butene copolymer having excellent processibility and environmental stress cracking resistance
CN106056605B (zh) * 2016-05-26 2018-09-18 西安空间无线电技术研究所 一种基于图像匹配的在轨高精度图像定位方法
CN108525304B (zh) * 2018-04-16 2021-06-22 网易(杭州)网络有限公司 一种图像分析方法、装置、存储介质及电子装置
CN110119216A (zh) * 2019-06-12 2019-08-13 卓阅科技(深圳)有限公司 智能笔及教学设备
CN113434715B (zh) 2020-03-23 2024-06-21 瑞昱半导体股份有限公司 用于针对图像进行搜索的方法以及图像处理电路

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6472293A (en) * 1987-09-14 1989-03-17 Sanyo Electric Co Handwritten character and graphic recognizing method
JPH06290301A (ja) * 1993-04-01 1994-10-18 Olympus Optical Co Ltd 文字/図形認識装置
JPH07182454A (ja) * 1993-12-22 1995-07-21 Toshiba Corp 図形認識方法及び装置
JP2002222425A (ja) * 2001-01-29 2002-08-09 Canon Inc 情報処理装置及び方法
JP2003528509A (ja) * 2000-03-21 2003-09-24 アノト・アクティエボラーク 通信のための装置および方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577135A (en) * 1994-03-01 1996-11-19 Apple Computer, Inc. Handwriting signal processing front-end for handwriting recognizers
JP2939119B2 (ja) * 1994-05-16 1999-08-25 シャープ株式会社 手書き文字入力表示装置および方法
TW397951B (en) * 1995-06-05 2000-07-11 Motorola Inc Method and microprocessor for preprocessing handwriting having characters composed of a preponderance of straight line segments
US6686910B2 (en) * 1996-04-22 2004-02-03 O'donnell, Jr. Francis E. Combined writing instrument and digital documentor apparatus and method of use
AU2351299A (en) * 1998-01-28 1999-08-16 California Institute Of Technology Camera-based handwriting tracking
US6864880B2 (en) * 2000-03-21 2005-03-08 Anoto Ab Device and method for communication
US20020163511A1 (en) * 2000-11-29 2002-11-07 Sekendur Oral Faith Optical position determination on any surface

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6472293A (en) * 1987-09-14 1989-03-17 Sanyo Electric Co Handwritten character and graphic recognizing method
JPH06290301A (ja) * 1993-04-01 1994-10-18 Olympus Optical Co Ltd 文字/図形認識装置
JPH07182454A (ja) * 1993-12-22 1995-07-21 Toshiba Corp 図形認識方法及び装置
JP2003528509A (ja) * 2000-03-21 2003-09-24 アノト・アクティエボラーク 通信のための装置および方法
JP2002222425A (ja) * 2001-01-29 2002-08-09 Canon Inc 情報処理装置及び方法

Also Published As

Publication number Publication date
BRPI0500014A (pt) 2005-08-09
TWI355614B (en) 2012-01-01
EP1553522A2 (en) 2005-07-13
JP4652823B2 (ja) 2011-03-16
US7529410B2 (en) 2009-05-05
RU2369901C2 (ru) 2009-10-10
KR20050072705A (ko) 2005-07-12
MY144958A (en) 2011-11-30
TW200532585A (en) 2005-10-01
EP1553522A3 (en) 2011-09-28
MXPA05000419A (es) 2006-02-08
AU2004242566B2 (en) 2010-03-04
CN1655178A (zh) 2005-08-17
US20050147281A1 (en) 2005-07-07
KR100942122B1 (ko) 2010-02-16
CA2491770A1 (en) 2005-07-07
AU2004242566A1 (en) 2005-07-21
CN100576234C (zh) 2009-12-30
ZA200500094B (en) 2006-09-27
RU2004139199A (ru) 2006-06-10

Similar Documents

Publication Publication Date Title
JP4652823B2 (ja) 高速画像マッチを用いた局所的な位置特定
KR101114196B1 (ko) 고속 이미지 매칭에 의한 글로벌 국소화
KR101026580B1 (ko) 문서의 이미지를 인코딩하기 위한 시스템 및 데이터 스트림을 패턴으로서 인코딩하기 위한 방법
RU2375740C2 (ru) ОПРЕДЕЛЕНИЕ РАСПОЛОЖЕНИЯ ШТРИХОВ ПОСРЕДСТВОМ ДЕКОДИРОВАНИЯ m-МАССИВА И БЫСТРОГО СРАВНЕНИЯ ИЗОБРАЖЕНИЙ
RU2360303C2 (ru) Анализ изображения позиционно кодированного документа и нанесение метки
JP4750425B2 (ja) カメラ−ペン先のマッピングおよび較正
KR100984402B1 (ko) 2차원 배열에서의 디코딩 및 에러 교정
CN100377049C (zh) 一种确定带有捕捉信息的摄像机的笔的路径的方法和系统
JP4217577B2 (ja) 受動的な埋め込み対話符号化

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101110

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: 20101210

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101216

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: 20131224

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees